Я новичок в .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
Большое спасибо!