Зашифрованы ли большие двоичные объекты Azure при хранении в Microsoft?

Я разрабатываю сайт, на котором текст хранится в хранилище BLOB-объектов Azure. Текст может быть конфиденциальным (не обязательно пароли, но личная информация). Я пытаюсь решить, следует ли мне зашифровать текст перед сохранением его в хранилище BLOB-объектов Azure. Насколько я понимаю, это может снизить риск раскрытия данных, если ключ Azure и имя учетной записи станут известны, а злонамеренный пользователь загрузит большой двоичный объект. Мои вопросы:

  • Шифруются ли уже большие двоичные объекты Azure, когда они попадают на диск в Microsoft? Используется ли ключ учетной записи в качестве ключа шифрования или просто токен доступа?
  • ЕСЛИ я должен был сделать это на веб-сайтах Azure с использованием алгоритма .NET AES, где я должен хранить ключ (и) шифрования или парольную фразу / соль, используемые для генерации ключа? (т.е. подходит ли для этого web.config?)

person Daniel    schedule 12.06.2013    source источник


Ответы (2)


Контент BLOB-объектов не зашифрован; этот шаг полностью зависит от вас. Доступ к BLOB-объектам строго контролируется ключом доступа (и есть два ключа: первичный и вторичный, оба работают одинаково). Вот мои мысли по этому поводу:

  • Если доступ к хранилищу является эксклюзивным для вашего уровня приложения (то есть ключ никогда не отображается за пределами вашего приложения), риск довольно низок (по сравнению с встраиванием ключа в настольное или мобильное приложение или с использованием его с веб-службами браузера онлайн-хранилища) . Кому-то нужно будет каким-то образом украсть у вас ключ (например, украсть исходные / конфигурационные файлы). Вы упомянули использование веб-сайтов, которые не предоставляют доступ по протоколу RDP, что дополнительно защищает ваш работающий код.
  • Если каким-то образом ваш ключ был скомпрометирован, вы можете сделать его недействительным, сгенерировав новый. Это немедленно закрывает доступ всем, у кого есть старый ключ. Как правило, когда я использую внешние инструменты (такие как инструмент Cerebrata), я всегда использую свой вторичный ключ, резервируя свой первичный ключ для своего приложения. Таким образом, я всегда могу аннулировать свой вторичный ключ так часто, как захочу, предотвращая доступ этих инструментов к моему хранилищу, но не мешая моим работающим приложениям.
  • Если вам нужно предоставить клиентам определенные BLOB-объекты, у вас есть два способа сделать это. Сначала вы можете загрузить большой двоичный объект на свой веб-сервер, а затем выполнить потоковую передачу содержимого. Во-вторых: вы можете сгенерировать общую подпись доступа (SAS) для конкретного большого двоичного объекта, а затем передать полученный URI пользователю (например, как href из тега <a>). Используя SAS, вы разрешаете доступ к частному BLOB-объекту на определенный период времени, например 10–20 минут. Даже если кто-то взял URL-адрес SAS и разместил его в Интернете, он будет действителен только для указанного вами временного окна (он хеширован, предотвращая модификацию).
  • Рассмотрите возможность использования нескольких учетных записей хранения для нескольких приложений (или даже для каждого приложения). Таким образом, если было нарушение безопасности, ущерб ограничивается конкретной взломанной учетной записью хранения.

ИЗМЕНИТЬ апрель 2016 г.

Только что было объявлено, что шифрование в службе хранилища Azure для данных в состоянии покоя находится в предварительной версии и доступно для любой учетной записи хранения, созданной с помощью Azure Resource Manager (ARM). Он недоступен для «классических» учетных записей хранения (остальная часть моего ответа, приведенная выше, все еще применима). Вы можете включить / отключить шифрование через портал для своей учетной записи хранения:

шифрование хранилища на портале

Служба доступна для больших двоичных объектов как в стандартных, так и в расширенных учетных записях хранения. Более подробная информация представлена ​​в этом сообщении.

person David Makogon    schedule 18.06.2013
comment
Вероятно, нам следует обновить этот ответ, включив в него новые функции шифрования службы хранилища Azure, которые не были доступны на момент публикации. azure.microsoft.com/en-us/documentation/articles / - person Daniel; 05.04.2016
comment
Поскольку этот ответ к настоящему времени очень устарел (даже с обновлением, касающимся шифрования в предварительном просмотре), следует ли переписать весь ответ? Эта ветка занимает довольно высокое место в поиске Google, и многие люди все равно попадут сюда. Он должен включать информацию о таких вещах, как шифрование в состоянии покоя, которое включено по умолчанию, и в наши дни вы также можете использовать свои собственные ключи (BYOK) - person silent; 18.04.2019

Ответ Дэвида точен, но для людей, которые хотят реализовать шифрование, о котором спрашивал плакат, я собрал несколько образцов и библиотек по адресу Расширения шифрования Azure.

person StefanGordon    schedule 30.07.2014
comment
+1 Есть ли недостатки у шифрования на лету при выгрузке / скачивании из хранилища BLOB-объектов? Например. Время передачи занимает больше времени? - person GFoley83; 16.04.2015