Через облака можно приобретать экономически эффективные онлайн-сервисы по мере надобности, без необходимости самостоятельно покупать и сопровождать соответствующее оборудование и программное обеспечение. Наиболее популярными облачными моделями сегодня являются предоставление в виде сервиса ПО, платформы и инфраструктуры (SaaS, PaaS и IaaS). Еще одна модель, данные в виде сервиса (Data as a Service, DaaS), появилась благодаря возможности перемещать огромные объемы информации во внешние облака по надежным широкополосным соединениям.
Облачная парадигма формирует обширный рынок — появилось большое число крупных провайдеров облачных сервисов, включая Amazon, Google, Microsoft, Salesforce и Yahoo, а ведущие производители СУБД, например IBM и Oracle, обеспечивают поддержку облаков в своих продуктах, что не может не привлечь интерес широкого круга исследователей. Рост популярности облачных сервисов будет зависеть от того, смогут ли провайдеры обеспечить защиту информации и контроль доступа, а также способны ли они минимизировать риски, связанные с использованием различных облачных приложений.
Хранение данных
Перенесенное в облако приложение лишается защиты, которую ему обеспечивала частная сеть организации, а когда пользовательские данные попадают в распоряжение третьей стороны, заказчик может столкнуться c нехваткой прозрачности и потерей контроля над информацией. К тому же у заказчика может не быть сведений об особенностях размещаемых облачных приложений. Как следствие, во многих организациях пока еще воздерживаются от масштабных облачных внедрений, прежде всего по соображениям безопасности. В частности, заказчики могут сомневаться в том, что провайдеры надежно защищают и распределяют хранимые ими данные. Немалое беспокойство вызывают и юридические трудности, связанные с различиями в законах о защите и обработке данных в разных странах, где провайдеры хранят информацию.
Пользователей волнует, будет ли гарантирована целостность хранимых в облаке данных и можно ли восстановить информацию, утраченную при сбое оборудования или из-за других инцидентов. Потеря информации может произойти, например, если провайдер ради снижения затрат на хранение удаляет редко используемые данные.
Поэтому заказчику нужна возможность периодически удостоверяться в том, что облачные серверы обеспечивают целостность данных и хранят информацию согласно заключенным соглашениям об уровне обслуживания (Service Level Agreement, SLA), а также в том, что провайдеры не скрывают фактов утраты данных из-за недоработок в управлении, аппаратных сбоев или кибератак.
Доказуемое обладание данными
Метод доказуемого обладания данными (Provable Data Possession, PDP) позволяет удостовериться в целостности данных, хранимых на облачных серверах. Согласно типичной модели PDP, показанной на рисунке, владелец данных генерирует метаданные и метки, применяемые для верификации целостности зашифрованных файлов. Владелец данных отправляет зашифрованный файл и метки в облако и удаляет локальную копию. Для верификации целостности владелец генерирует запрос и отправляет его в облако. Облачная система защиты данных после проведения соответствующих расчетов выдает ответ, подтверждающий целостность информации.
При верификации, выполняемой, например, по методу дерева Меркла, используются различные криптографические алгоритмы, но большинство таких верификационных схем рассчитано на работу только со статичными файлами и проверку только одной копии данных в одном облаке. Авторизованные пользователи имеют доступ к данным, хранимым в облаке, но владелец не может их обновлять или масштабировать. Более новые схемы, например Identity-Based Distributed PDP [1, 2], дают возможность осуществлять ограниченное динамическое масштабирование данных, размещенных в нескольких облаках, без необходимости управлять сертификатами. Предложен также протокол удаленной загрузки данных в облако и проверки целостности с использованием идентификации и прокси ID-PUIC [2], рассчитанный на работу как с фиксированными, так и с мобильными платформами.
Тиражирование и проверка целостности данных
Геотиражирование — размещение данных в географически распределенных сетях — позволяет улучшить доступность информации в облачных средах. Облако клонирует данные и хранит копии на нескольких физически удаленных друг от друга серверах. Это ценно для владельцев, когда у них нет локальной копии данных или нужна доступность нескольких копий на случай, если одна из них будет удалена, повреждена или скомпрометирована.
Провайдер может легко обмануть владельца данных, если будет хранить только одну копию, а не несколько, тем самым экономя емкость и получая доход без предоставления сервиса. Поэтому владельцу нужна возможность регулярной проверки, действительно ли в облаке находятся несколько копий данных, как это было зафиксировано в SLA. Это можно делать, например, путем создания нескольких копий файла с использованием криптосистемы Пэйе [3] и генерации меток с подписями для данных по схеме Боне-Линна-Шахема, что позволяет удостоверяться в целостности информации.
В рамках некоторых схем верификации целостности [3] владельцы данных делятся ключом шифрования с авторизованными пользователями, поэтому от провайдера не требуется предоставлять им доступ к файлам. Благодаря гомоморфизму таких схем обновление файлов происходит проще. Владельцу данных нужно лишь зашифровать обновление файла, хранимого в облаке, и отправить его — все копии при этом обновляются автоматически посредством гомоморфного сложения. Такая схема допускает использование заверенных структур данных, например деревьев Меркла и списков пропуска, для нужд верификации целостности файловых блоков. Однако гомоморфные механизмы работают медленно, в связи с чем существует потребность в более эффективных схемах.
Защищенная обработка запросов и контроль доступа
Защищенная обработка запросов (Secure Query Processing, SQP) к зашифрованным данным — метод, гарантирующий, что результат увидят только авторизованные пользователи, — активно применяется в связи с ростом популярности сервисов аутсорсинга баз данных. Идет работа и над облачными реализациями SQP, в том числе над эффективными протоколами работы с зашифрованными данными.
Сервисы DaaS предоставляют доступ к информации в облаке пользователям, которых владелец данных наделил соответствующими правами. При этом уровень прав доступа может варьироваться. Обеспечение мелкодисперсного контроля доступа в облаке — задача первостепенной важности как для DaaS, так и для SaaS. Обычно для ее решения применяется шифрование. Но при этом возникают сложности, связанные с опросом зашифрованных данных и предотвращением неправомерного доступа к атрибутам данных, с отзывом пользовательских привилегий (например, при увольнении сотрудников) без повторного шифрования огромных объемов информации и выдачи новых ключей авторизованным пользователям, а также с исключением сговоров между пользователями и провайдерами и изменением прав доступа.
Мелкодисперсный контроль доступа можно реализовать с использованием повторного шифрования. В частности, предлагается применять шифрование на основе атрибутов в сочетании с повторным шифрованием через прокси, а также аддитивное гомоморфное шифрование.
Авторы большинства исследований в сфере облачной безопасности исходят из предположения о том, что облако будет предоставлять данные и результаты выполнения запросов без вмешательства в них и что при этом отсутствует сговор между провайдером и потребителем данных, а также между пользователями и между провайдерами. Но поскольку соответствующих гарантий нет, владельцам данных необходима возможность предотвращать их утечку в случае подобных сговоров.
Кроме того, нужны способы эффективно и защищенно работать с правами доступа, отзывать их и выдавать такие же либо иные пользователю при возвращении; предотвращать тайный сбор хранимой информации провайдерами; предотвращать сговоры между пользователями; опрашивать зашифрованные данные, распределенные между несколькими облаками; развивать сервисы, пользующиеся ресурсами нескольких операторов.
Инструменты для решения перечисленных задач могут быть созданы на базе концепции доверенных вычислений и методов прикладной криптографии. В любом случае нужно больше исследований в области оптимальных алгоритмов, которые позволили бы развеять страхи по поводу безопасности облачных сервисов.
***
Владельцы данных нередко не располагают достаточной информацией о применяемых провайдером механизмах обеспечения конфиденциальности и безопасности, чтобы определить, насколько надежно защищены их данные, что может препятствовать полноценному переходу в облако. Пользователь вправе иметь следующую информацию: принял ли провайдер все необходимые меры по обеспечению безопасности; возможен ли аудит системы; выполняет ли провайдер обязательства по SLA; есть ли гарантии защищенности от шпионажа со стороны самого провайдера; осуществима ли переносимость данных. А также — сохранит ли он полный контроль над данными в объединенных облаках, обслуживаемых несколькими провайдерами. Чтобы устранить опасения, касающиеся безопасности облаков, нужны дополнительные исследования.
Организации могли бы нанимать сторонних поставщиков услуг по оценке защищенности облачных сервисов или же проводить эту оценку самостоятельно, руководствуясь строгими стандартами, но это не всегда выход — для выбора подходящего провайдера требуется система анализа соответствующих рисков. Она должна иметь средства для определения защищенности сервисов провайдера и предоставлять перечень надежных провайдеров с учетом выявленных угроз для конкретного бизнес-приложения.
Выбранный провайдер должен располагать надежной облачной инфраструктурой, обеспечивающей защищенный перенос приложений, защиту данных, мелкодисперсный контроль доступа и безопасное извлечение информации. Чтобы устранить опасения, связанные с облачной безопасностью, и стимулировать активное освоение облачных сервисов во многих отраслях, необходимы дальнейшие исследования и взаимодействие между провайдерами, исследователями, пользователями и регуляторами.
Литература
- H. Wang. Identity-Based Distributed Provable Data Possession in Multicloud Storage // IEEE Trans. Services Computing. — 2015. Vol. 3, № 2. — P. 328–340.
- H. Wang, D. He, S. Tang. Identity-Based Proxy-Oriented Data Uploading and Remote Data Integrity Checking in Public Cloud // IEEE Trans. Information Forensics and Security. — 2015. Vol. 11, № 6. — P. 1165–1176.
- R. Mukundan, S. Madria, M. Linderman. Efficient Integrity Verification of Replicated Data in Cloud Using Homomorphic Encryption // Distributed and Parallel Databases. — 2014. Vol. 32, № 4. — P. 507–534.
Санджай Мадриа (madrias@mst.edu) — профессор, Миссурийский университет науки и технологий.