Моя компания собирается хранить конфиденциальные данные для наших клиентов и будет шифровать данные с использованием одного из классов алгоритмов шифрования .NET. Большая часть работы выполняется, но мы не выяснили, как/где хранить ключ. Я сделал легкий поиск и чтение, и похоже, что аппаратное решение может быть самым безопасным. Кто-нибудь имеет рекомендации по ключевому решению или методу хранения данных?
Спасибо за ваши ответы, все.
spoulson, проблема на самом деле является как "областями", которые вы упомянули. Полагаю, я должен был быть более ясным.
Собственные данные, а также логика, которая шифрует его и расшифровывает, абстрагируется от поставщика профиля ASP.NET. Этот поставщик профилей позволяет использовать как зашифрованные свойства профиля, так и простые текстовые. Зашифрованные значения свойств хранятся точно так же, как и простые текстовые - с очевидным исключением, что они были зашифрованы.
Тем не менее, ключ должен быть вызван по одной из трех причин:
- Авторизованное веб-приложение, работающее на авторизованном сервере, должно шифровать данные.
- То же, что и # 1, но для дешифрования данных.
- Уполномоченным членам нашей бизнес-группы необходимо просмотреть зашифрованные данные.
То, как я представляю себе, что никто никогда не будет знать ключ, - это будет часть программного обеспечения, контролирующего фактическое шифрование и дешифрование данных. Тем не менее, ключ все еще должен прибыть откуда-то.
Полное раскрытие информации - если вы уже не могли сказать, я никогда раньше ничего подобного не делал, поэтому, если я полностью не в состоянии понять, как это должно работать, дайте мне знать.