Я разрабатываю приложение .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. Как можно обойти это?
(примечание: рабочие станции, на которых приложение загрузки будет работать не обязательно доверенными)