2015-09-01 4 views
0

Я разрабатываю приложение .NET, которое загружает файлы в Azure Storage. Я использую шифрование на стороне клиента, как это сделано в учебнике по адресу https://azure.microsoft.com/en-us/documentation/articles/storage-encrypt-decrypt-blobs-key-vault/Доступ к разрешениям доступа и безопасности ключа Azure Key Vault

Приложение работает, то есть я могу успешно загрузить зашифрованный блокнот в выбранную учетную запись и контейнер хранения.

Однако у меня есть некоторые сомнения относительно безопасности ключа RSA. Если клиентское приложение получает ключ от Key Vault для использования в BlobEncryptionPolicy, этот ключ может быть скомпрометирован? Единственное, что действительно нужно приложению - это открытый ключ пары RSA, закрытый ключ должен оставаться на сервере (дешифрование происходит только через доверенное веб-приложение).

Другая проблема, которую я испытываю, заключается в том, что для информации об интеграции AAD можно получить из app.config. Как можно обойти это?

(примечание: рабочие станции, на которых приложение загрузки будет работать не обязательно доверенными)

ответ

0

Некоторое дополнительное чтение пошагового документа Azure Storage и Key Vault в https://azure.microsoft.com/en-us/documentation/articles/storage-encrypt-decrypt-blobs-key-vault/ предоставило ответ:

« Сам клиент хранилища никогда не имеет доступа к KEK ».

KEK - это «Ключ ключа шифрования», который шифрует действительный одноразовый симметричный ключ шифрования, используемый для шифрования фактического блоба.