Читайте нашу статью, если хотите разобраться, что такое SRP и как он работает. Мы расскажем о преимуществах протокола парольной аутентификации и рассмотрим, как и зачем его применяют.
Что такое аутентификация
Аутентификация — это процедура, при которой сервер проверяет пользователя на подлинность. При парольной аутентификации пароль, который ввёл пользователь, сверяется с паролем из базы данных. Существует два варианта проверки:
- односторонняя, когда проверку проходит только пользователь;
- двусторонняя, когда проверку проходят и пользователь и сервер.
Любая аутентификация срабатывает благодаря работе того или иного интернет-протокола. Рассмотрим один из них — SRP.
Протокол парольной аутентификации SRP – что это такое
SRP – что это такое? Secure Remote Password Protocol, он же SRP – это протокол парольной аутентификации. Он устойчив к MITM-атакам и подбору пароля по словарю. SRP позволяет идентифицировать пользователя по знанию пароля. Особенность протокола SRP в том, что пользователь подтверждает знание пароля, но не открывает его при подключении.
Достоинства протокола SRP
SRP хранит пароли в зашифрованном виде и реализует доказательство с нулевым разглашением — сервер может принять данные без дополнительной информации от клиента. Если третье лицо получит доступ к данным, то не сможет их расшифровать, так как не имеет закрытого ключа. Эта особенность позволяет выделить следующие преимущества:
- Устойчивость к взлому пароля. При атаке с полным перебором паролей злоумышленник использует специальный словарь. В этом словаре хранятся популярные и скомпрометированные сочетания символов, но большая их часть указана без шифра. SRP защищает данные с помощью уникального шифра, поэтому подобрать пароль практически невозможно.
- Защита сессий и введённых паролей с помощью шифрования.
- Возможность работы по незащищённому каналу. Так как сам протокол SRP шифрует данные, дополнительная защита не обязательна.
- Возможность работы без дополнительных каналов связи.
Принцип работы SRP
Протокол SRP основан на технологии PAKE.
Что такое PAKE
PAKE (Password Authenticated Key Exchange) — обмен ключами с проверкой подлинности пароля. Это особый протокол обмена ключами, который позволяет серверу и клиент договориться об общем открытом ключе. PAKE включает в себя следующие методы:
- Сбалансированный, при котором и клиент и сервер используют один и тот же закрытый ключ. На основе сбалансированного PAKE созданы протоколы EKE, SPEKE, Dragonfly, SPAKE1, SPAKE2, SESPAKE, J-PAKE и ITU-T.
- Расширенный, при котором сервер не хранит данные о пароле. На основе расширенного PAKE создан SRP, а также AMP, дополненный EKE, B-SPEKE, PACS, AugPAKE и SPAKE2+.
SRPP использует асимметричное шифрование. При таком шифровании задействуются два ключа: открытый и закрытый. Причем открытый ключ можно распространять свободно — через него невозможно вычислить закрытый. Закрытый ключ необходимо хранить в секрете, так как с его помощью можно расшифровать данные. Асимметричное шифрование работает по следующему алгоритму:
-
1.
Сервер генерирует пару ключей: открытый и закрытый.
-
2.
Сервер передает открытый ключ клиенту.
-
3.
Клиент шифрует данные с помощью открытого ключа и передает их серверу.
-
4.
Сервер расшифровывает данные с помощью закрытого ключа.
При асимметричном шифровании ключевую пару может сгенерировать и сервер и клиент.
Где применяется SRP
Протокол SRP применяется в следующих библиотеках:
- SRP 6 Variables,
- OpenSSL, начиная с версии 1.0.1,
- Botan,
- TLS-SRP,
- JavaScript Crypto,
- Gnu Crypto,
- Nimbus SRP,
- DragonSRP,
- Json2Ldap,
- Crypt-SRP,
- Stanford JavaScript Crypto Library (SJCL),
- go-srp,
- SRP-Hermetic,
- Legion of the Bounce Castle,
- Метеор,
- tssrp6a,
- ALOSRPAuth,
- srplibcpp,
- pysrp,
- py3srp,
- srptools,
- thinbus-srp-js,
- falkmueller.
Проверка подлинности через SRP встроена в следующие приложения:
- EAP — это платформа аутентификации, которая используется в беспроводных сетях.
- SAML — это язык разметки на базе XML.
Также аутентификация по SRP стала частью протоколов SSL и TLS, на основе которых работают SSL-сертификаты.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊