2016-01-24 5 views
1

Я хотел бы получить разъяснения и советы по следующим вопросам:Возможно ли симметричное шифрование с помощью Microsoft Azure Key Vault?

Мой проект требует, чтобы я использовал симметричное шифрование данных (используя AES) в среде Nodejs для защиты данных в базе данных (mongodb). В идеале я хотел бы сделать это следующим образом:

Храните симметричный ключ в замке ключа Azure в виде ключа, затем выполните «шифрование» вызовов в хранилище для выполнения шифрования AES с данными с помощью ключа. Зашифрованные данные отправляются в ответ на мое приложение, а затем сохраняются в базе данных в зашифрованном виде.

Я смущен после прочтения документации MS Azure и связанных с ней сообщений в блоге, где некоторые источники утверждают, что шифрование с симметричным ключом поддерживается, но официальной документации по этому вопросу нет.

Может ли кто-нибудь сообщить, является ли этот исчерпывающий список всех типов ключей и алгоритмов для Key Vault для Azure? https://msdn.microsoft.com/en-us/library/azure/dn903623.aspx#BKMK_KeyTypes

Возможно, это вариант (http://www.nuget.org/packages/Microsoft.Azure.KeyVault.extensions), но только для сред .NET. Любая любовь к Нодеям?

Так - то, что я спрашиваю «Есть ли MS Azure в Key Vault поддержка симметричный (AES) ключ/шифрование, и если да, то где это официально задокументирован

Если действительно симметричные ключи/шифрования не поддерживается , может кто-нибудь предложить альтернативные средства для моего подхода, описанного выше?

Спасибо и высоко ценится.

+0

ли вы имеете в виду, что вы хотите Azure Key Vault для сохранения открытого текста ключа в хранилище, и только Ответные ключи AES, когда вы делаете «зашифровать» ключи? –

+0

@ ryd3r Был ли мой ответ на то, что вы искали, или я не понял ваш вопрос? –

ответ

1

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

Этот article рассказывает о таком. См. Раздел, где заголовок Использование ключей секретного ключа

Я понимаю, что вы используете node.js, и этот пример находится в powershell, просто пытаясь проиллюстрировать пример симметричного шифрования секретом. Очевидно, криптографические операции происходят за пределами хранилища. Таким образом, в состоянии покоя ключи более безопасны, но становятся доступными в памяти в любое время, когда происходит операция.

Надеюсь, что это поможет.

Вот пример в PowerShell создания секретного ключа в Key Vault, который может использоваться как SymmetricKey.

SymmetricKey sec = (SymmetricKey) cloudResolver.ResolveKeyAsync(
"https://contosokeyvault.vault.azure.net/secrets/TestSecret2/", 
CancellationToken.None).GetAwaiter().GetResult(); 
Смежные вопросы