Как хранить ключ от AES-шифрования?Как хранить ключ от AES?
SceAES secaes = new SceAES("pomboSenha", "G567EF33WQ19PL1S",12,45,256, "SHA1", "systemSCE");
"pomboSenha" - секретный секрет выше. Безопасно ли его жестко закодировать в классе?
Как хранить ключ от AES-шифрования?Как хранить ключ от AES?
SceAES secaes = new SceAES("pomboSenha", "G567EF33WQ19PL1S",12,45,256, "SHA1", "systemSCE");
"pomboSenha" - секретный секрет выше. Безопасно ли его жестко закодировать в классе?
Хотя это может быть достаточно безопасным для этого, ключ будет находиться в памяти в процессе, используя его. Если это серверный процесс, такой как w3wp.exe или какая-либо другая служба, доступная извне, вы просто ставите его на один шаг ближе к рукам противника. Храните ключ в файловой системе или в базе данных, где перед ним есть еще один уровень аутентификации/авторизации.
Я считаю, что официальный правильный ответ заключается в том, чтобы хранить ключ в контейнере CSP, чтобы сама учетная запись защищала его.
http://msdn.microsoft.com/en-us/library/aa387043(v=VS.85).aspx
Вы можете использовать SecureString: When would I need a SecureString in .NET?.
Не помогает, чтобы ключ просто сидел на равнине. Обычный способ - получить его как массив байтов, а затем уничтожить этот массив в блоке 'finally'. –
+1 Стивен Судит –