Открыть сервис

LIPKEY

LIPKEY — это протокол аутентификации и обмена ключами, основанный на использовании одноразовых паролей (OTP) и криптографии с открытым ключом. Разработан как альтернатива традиционным методам аутентификации, таким как пароли или сертификаты X.509, и предназначен для повышения безопасности в сетях с низкой вычислительной мощностью клиентских устройств (например, встраиваемые системы, IoT-устройства) или в условиях, где требуется защита от атак типа «человек посередине» (MITM) и фишинга. Название является аббревиатурой от «Lightweight Internet Key Exchange Protocol» (облегчённый протокол обмена ключами для Интернета).

История и предпосылки создания

Протокол LIPKEY был предложен в 2000 году в рамках деятельности Рабочей группы по безопасности (Security Area) Инженерного совета Интернета (IETF). Основной целью разработки было создание протокола, который бы сочетал простоту использования одноразовых паролей (например, в виде SMS-кодов или аппаратных токенов) с криптографической стойкостью асимметричного шифрования. В то время существующие решения, такие как протоколы семейства IPsec (IKE) или SSL/TLS, требовали либо наличия предварительно распределённых секретов (паролей), либо развёртывания инфраструктуры открытых ключей (PKI), что было сложно и дорого для массового применения. LIPKEY был призван устранить этот разрыв, предложив механизм, где клиент использует одноразовый пароль для аутентификации, а сервер — сертификат открытого ключа.

Архитектура и принцип работы

LIPKEY реализует двухфакторную аутентификацию, но с нестандартным распределением ролей. В отличие от классических схем, где и клиент, и сервер имеют сертификаты, в LIPKEY сервер аутентифицируется перед клиентом с помощью сертификата X.509, а клиент — с помощью одноразового пароля, который передаётся по защищённому каналу, установленному на основе сертификата сервера.

Основные этапы сеанса LIPKEY:

  1. Инициализация соединения: Клиент инициирует соединение с сервером, отправляя запрос на установление защищённого канала.
  2. Аутентификация сервера: Сервер предъявляет клиенту свой сертификат открытого ключа (X.509). Клиент проверяет подлинность сертификата (например, по цепочке доверия к корневому центру сертификации). Если сертификат действителен, клиент убеждается, что он общается с легитимным сервером, а не с атакующим.
  3. Установление защищённого канала: После успешной аутентификации сервера стороны договариваются о сеансовом ключе (например, с помощью протокола Диффи — Хеллмана). Этот ключ используется для шифрования дальнейшего трафика.
  4. Аутентификация клиента (одноразовый пароль): Клиент отправляет серверу свой идентификатор (например, логин) и одноразовый пароль. Передача происходит уже по зашифрованному каналу, что предотвращает перехват пароля.
  5. Верификация сервером: Сервер проверяет полученный одноразовый пароль. Для этого он может использовать синхронизированный по времени токен (TOTP), счётчик событий (HOTP) или сверять с базой данных ранее выданных паролей. Если пароль корректен, аутентификация клиента считается успешной.
  6. Завершение сеанса: После успешной аутентификации обеих сторон устанавливается защищённое соединение (например, туннель IPsec), которое может использоваться для передачи данных.

Классификация и место среди других протоколов

LIPKEY относится к классу протоколов аутентификации с использованием одноразовых паролей (OTP-протоколы). Его можно классифицировать как гибридный протокол, сочетающий:

  • Асимметричную криптографию (сертификаты сервера) — для защиты от MITM-атак.
  • Симметричную криптографию (сеансовые ключи) — для шифрования трафика.
  • Одноразовые пароли — для аутентификации клиента.

Сравнение с другими протоколами:

ПротоколАутентификация сервераАутентификация клиентаОсновной недостаток
LIPKEYСертификат X.509Одноразовый пароль (OTP)Требует PKI для серверов
IKE (IPsec)Сертификат X.509 / Pre-shared keyСертификат X.509 / Pre-shared keyСложность настройки PKI
TLS/SSLСертификат X.509Пароль / Сертификат / OTPЗависимость от браузера
EAP (Wi-Fi)Различные методыРазличные методыЗависимость от типа сети

Применение

LIPKEY не получил широкого коммерческого распространения, но его идеи и архитектура повлияли на развитие более поздних протоколов, таких как EAP-FAST (Flexible Authentication via Secure Tunneling) и различные реализации VPN с двухфакторной аутентификацией. Основные потенциальные области применения:

  • Корпоративные VPN: Обеспечение удалённого доступа сотрудников, где у клиента нет сертификата, но есть одноразовый пароль (например, с токена RSA SecurID).
  • Управление IoT-устройствами: Аутентификация встроенных систем с ограниченными ресурсами, где хранение сертификата на устройстве затруднено, но возможна генерация OTP.
  • Банковские системы: Подтверждение транзакций в системах «клиент-банк» с использованием одноразовых кодов, отправляемых по SMS.

Критика и ограничения

Несмотря на концептуальную простоту, LIPKEY имеет ряд недостатков, которые ограничили его практическое использование:

  1. Зависимость от PKI на стороне сервера: Для аутентификации сервера требуется развёрнутая инфраструктура открытых ключей (центры сертификации, цепочки доверия). Это усложняет развёртывание для небольших организаций.
  2. Уязвимость к атакам на одноразовые пароли: Если злоумышленник перехватит OTP до его использования (например, через фишинг или вредоносное ПО на клиенте), он может аутентифицироваться, пока пароль не истёк.
  3. Отсутствие поддержки в массовых продуктах: LIPKEY не был включён в стандартные реализации операционных систем (Windows, Linux, macOS) и сетевого оборудования, что сделало его нишевым решением.
  4. Сложность синхронизации OTP: Для корректной работы требуется синхронизация времени (для TOTP) или состояния счётчика (для HOTP) между клиентом и сервером, что может быть проблематично в распределённых системах.

Интересные факты

  • Протокол LIPKEY был описан в RFC 2847 (2000 год), но так и не перешёл в статус «Стандарт Интернета» (Internet Standard), оставшись на уровне «Экспериментальный» (Experimental).
  • Идея LIPKEY легла в основу некоторых коммерческих решений для двухфакторной аутентификации, где клиент использует одноразовый код, а сервер — сертификат, но под другими названиями (например, «OTP over TLS»).
  • В отличие от более популярных протоколов (например, RADIUS с EAP), LIPKEY не требует отдельного сервера аутентификации — его можно реализовать непосредственно на шлюзе VPN или веб-сервере.

Источники

  • RFC 2847 — LIPKEY: A Low Infrastructure Public Key Mechanism Using SPKM (2000).
  • RFC 2025 — The Simple Public-Key GSS-API Mechanism (SPKM) (1996).
  • Menezes, A. J., van Oorschot, P. C., & Vanstone, S. A. (1996). Handbook of Applied Cryptography. CRC Press.
  • Stallings, W. (2013). Cryptography and Network Security: Principles and Practice (6th ed.). Pearson.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →