Хранение конфиденциальных данных, зашифрованных с использованием API защиты данных с PersistKeysToFileSystem - PullRequest
0 голосов
/ 28 августа 2018

Folks, Мне нужно зашифровать некоторые строковые данные в базу данных SQL из приложения MVC Core 2.0. Я подумываю об использовании API защиты данных с PersistKeysToFileSystem, чтобы я мог восстановить данные на другом сервере и расшифровать данные с помощью того же файла ключей. Я впечатлен производительностью DPAPI в ядре Net и не хочу искать какое-либо специальное криптографическое решение, поскольку оно слишком рискованно. Я буду хранить массовые загрузки данных в SQL. Строки до шифрования будут составлять 200 символов или менее.

Я считаю, что DPAPI считается более подходящим для шифрования небольших фрагментов данных, например, пароли в отличие от массовых операций sql. Считают ли люди использование DPAPI для шифрования данных в базе данных хорошим вариантом использования?

1 Ответ

0 голосов
/ 28 августа 2018

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

Согласно документам :

API-интерфейсы защиты данных ASP.NET Core не предназначены в первую очередь для неограниченного хранения конфиденциальных данных. Другие технологии, такие как Windows CNG DPAPI и Azure Rights Management, больше подходят для сценария неопределенного хранения и обладают соответственно мощными возможностями управления ключами.

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

...