ASP.NET CORE 2.2 и Azure KeyVault для обработки Fallback Server и зашифрованного ключа в покое - PullRequest
0 голосов
/ 31 января 2019

Я новичок в .net core 2.2 и мне нужно создать рабочий процесс, который следует передовым методам обеспечения безопасности с использованием asp.net core 2.2 и Azure Key Vault.Мы будем размещать это как службу приложений в Azure.Нужен ключ для шифрования в состоянии покоя, однако нам также необходимо иметь возможность восстановить зашифрованные данные позже, если это необходимо (перенести в другую среду или хостинг-провайдер (например, IIS) и т. Д., И при этом иметь возможность доступа к зашифрованным данным.пройтись по всем ссылкам, касающимся расширений Azure, DPAPI и т. д., но я не могу собрать все это вместе в своей голове и соединить все эти элементы с работоспособным решением. Любые полные рабочие процессы или рекомендации, которыми кто-то может поделитьсяприветствуется.

Стандартное шифрование DPAPI в .net core 2.2 меняет ключи каждые 90 дней. Это означает, что со временем разные записи будут расшифровываться с использованием разных ключей.

Я бы лучше использовалсертификат x.509 для дешифрования ключей DPAPI использует расширения DPADPI .net core 2.2, но что делать, если срок действия сертификата истекает? Смогу ли я использовать его для расшифровки ключа? Означает ли это, что при каждом истечении срока действия сертификата янужно было бы как-то вручную расшифроватьt все ключи хранилища сохранены, затем зашифруйте их, используя новый сертификат x.509, поскольку хэш будет другим?

Что мы позже перенесем на другой сервер приложений Azure или даже в IIS из Azure.Будет ли достаточным использование Windows DPAPI и указание на сертификат x.509, чтобы продолжать использовать существующие ключи, пока хранилище ключей Azure остается прежним?

Будут ли ключи генерироваться бесконечно, а старые ключи будутпродолжать существовать, а?Означает ли это, что размер секрета, хранящегося в хранилище ключей, будет увеличиваться бесконечно?Обязательно ли мы в конечном итоге достигнем определенного предела при хранении этих ключей в хранилище?

Я уже просмотрел следующие ссылки: Хранение и получение симметричных ключей в Azure keyvault

https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/implementation/key-encryption-at-rest?view=aspnetcore-2.2

https://github.com/aspnet/DataProtection/issues/92

https://github.com/aspnet/DataProtection/issues/197

Большое спасибо!

...