srptools
Библиотека позволит вам в приложениях на Питоне реализовать аутентификацию на основе протокола SRP.
Репозиторий: https://github.com/idlesign/srptools
Автор:
Игорь Стариков
Данный протокол, являясь представителем семейства PAKE (password-authenticated key agreement), позволяет одной стороне получить представление о том, обладает ли сторона противоположная знанием пароля (при этом сам пароль не пересылается). Такой способ аутентификации обладает достаточно высокой надёжностью, если сообщение производится с использованием TLS.
Приложение обладает большой гибкостью программного интерфейса, и включает в поставку консольную утилиту, позволяющую производить базовые действия из командной строки.
Читайте также:
* srptools — аутентификация при помощи SRP
from srptools import SRPContext, SRPServerSession, SRPClientSession
# На основе логина и пароля
# формируем набор (логин, сверка_пароля, соль).
# Этого набора достаточно серверу для получения
# представления о том, знает ли клиент пароль.
context = SRPContext('alice', 'password123')
username, password_verifier, salt = context.get_user_data_triplet()
# Сервер получает от клиента имя пользователя
# и, обладая сверкой_пароля, вычисляет публичный ключ.
server_session = SRPServerSession(SRPContext(username), password_verifier)
server_public = server_session.public
# Клиент получает от сервера публичный ключ и соль,
# осуществляет их обработку,
client_session = SRPClientSession(SRPContext('alice', 'password123')
client_session.process(server_public, salt)
# генерирует свой публичный ключ и ключ сессии.
client_public = client_session.public
client_session_key = client_session.key
# Сервер получает публичный ключ клиента,
# обрабатывает его
server_session.process(client_public, salt)
# и осуществляет сверку ключей сессий.
assert server_session.key == client_session_key
Приложение обладает большой гибкостью программного интерфейса, и включает в поставку консольную утилиту, позволяющую производить базовые действия из командной строки.
Читайте также:
* srptools — аутентификация при помощи SRP
На заметку
У нас есть представительство во ВКонтакте. Ссылка в самом низу страницы.