9

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

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

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

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

Не забудьте отметить ответ, который помог наиболее :-) – reach4thelasers

ответ

18

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

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

Более подробная информация о Rijndael и его возможных атаках здесь:

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

1

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

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

Почему бы перебирая ключ машины требует, чтобы сервера сбиты? Грубая сила в основном проверяет каждую возможную комбинацию, чтобы попытаться угадать машинный ключ. – reach4thelasers

+0

Я считаю, что для этого потребуется отправить файл cookie на сервер? Или нет? Во всяком случае, машинный ключ действительно длинный и не может быть грубо принудительным. – Stilgar

+0

Rijndael - это всего лишь алгоритм, его можно запустить на любой машине.Если вы можете УВАЖИТЕ машинный ключ, проверив все возможные комбинации для машинного ключа, вы можете взломать билет на любом компьютере. Сервер уже знает машинный ключ, поэтому ему не нужно угадывать его, когда билет отправляется обратно. – reach4thelasers

Смежные вопросы