SecureString и IIS? - PullRequest
       24

SecureString и IIS?

0 голосов
/ 18 марта 2012
  • у пользователя есть страница ASPX.

  • у него есть textox вход (для пароля).

  • пользователь заполняет свой пароль.

  • страница передается в IIS.

  • сначала она переходит в iis.

  • на этом этапе пароль находится в памяти в виде обычного текста.

  • теперь Asp.net поместил свой пароль в защищенную строку.

  • после выполнения некоторых вычислений страница отправляется клиенту.


из IIS POV:

он все еще видит пароль как обычный текст ... не так ли?

Ответы [ 2 ]

3 голосов
/ 18 марта 2012

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

В этих ситуациях лучше защищать связь сервер-клиент (т.е. с помощью SSL), а не пытаться защититьсистема от злоумышленников, которые получат доступ к компьютеру, проанализируют память и извлекут пароли (!).

1 голос
/ 18 марта 2012

Считать SecureString сложнее. Не существует простого метода ToString, который также предназначен для обеспечения безопасности данных. Для чтения данных разработчики C # должны обращаться к данным в памяти напрямую. К счастью .NET Framework делает это довольно просто. Используйте соответствующие члены класса System.Runtime.InteropServices.Marshal, например, метод SecureStringToBSTR, для манипулирования значением объекта SecureString.

            IntPtr stringPointer = Marshal.SecureStringToBSTR(objSecureString);
            string normalString = Marshal.PtrToStringBSTR(stringPointer);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...