Достаточно ли безопасен билет для проверки подлинности с помощью форм? - PullRequest
9 голосов
/ 26 марта 2012

Когда пользователь входит в систему на основе метода проверки подлинности с помощью форм по умолчанию, сервер создает файл cookie, содержащий зашифрованные данные (используя ключ компьютера в качестве ключа для шифрования).

Это означает, что если кто-то найдет / угадает / получит доступ к компьютеруКлюч для сервера, он войдет в веб-приложение.

Я разработал несколько приложений, которые находятся на 4 серверах.Итак, я жестко запрограммировал один и тот же ключ компьютера для всех серверов в machine.config, и я не могу использовать режим автоматической генерации.

  1. Возможно ли грубое применение ключа компьютера?
  2. Есть ли другие методы?(Я не хочу использовать Windows и паспорт)
  3. И достаточно ли безопасен билет проверки подлинности с помощью форм?(т.е. приемлемо для приложений электронного банкинга)

Ответы [ 2 ]

19 голосов
/ 26 марта 2012

Аутентификационные билеты ASP.NET форм шифруются с использованием алгоритма Rijndael.Rijndael был создан в качестве замены для DES (Стандарт шифрования данных), который предлагал неограниченные способы шифрования данных, а также был подвержен атакам методом перебора.В конце 90-х годов RSA Security организовал ряд соревнований DES Challenge, чтобы бросить вызов командам взломать DES, чтобы осветить присущие им уязвимости: http://en.wikipedia.org/wiki/DES_Challenges

Для сравнения, Райндаэль (также известный как AES) используетболее длинные ключи - 256 бит и алгоритм двойного шифрования.Для взлома 256-битного ключа Rijndael (такого как машинный ключ ASP.NET) потребовалось бы 2 ^ 200 операций (около 10 ^ 60 - десять с 60 нулями), почти невозможно взломать грубую силу.Объедините это с тем фактом, что билет ASP.NET регулярно меняется, и когда расшифровка в основном выглядит как случайная последовательность букв и цифр (поэтому невозможно определить, является ли то, что вы расшифровали грубо, правильно или нет), вы можете быть уверены, что никто не будет уверенв ближайшее время взломает ваш файл cookie для проверки подлинности с помощью форм.

Подробнее о Рийндаэле и его возможных атаках здесь:

http://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks

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

Первое правило шифрования заключается в том, что сообщение является таким же безопасным, как и ключ. Если у кого-то есть доступ к вашему ключу, то нет надежного метода.

  1. Я сомневаюсь, что в любой разумный срок можно грубо взломать Ключ машины.
  2. Я считаю, что Fomrs Authentication - единственное настоящее веб-решение, которое поставляется в ASP.NET. Вы можете реализовать свои собственные, но я сомневаюсь, что это будет более безопасным.
  3. Достаточно безопасно для чего? Он может быть взломан человеком посередине в незашифрованном соединении и уязвим для атак XSRF, если вы отключите проверку событий (в веб-формах) или не используете маркеры безопасности (MVC). В противном случае он безопасен для эксплойтов, которые постоянно обнаруживаются и исправляются во всех технологиях.
...