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

Аутентификация по ключам

Аутентификация по ключам — это метод проверки подлинности субъекта (пользователя, устройства или программы), основанный на предъявлении и проверке секретного ключа, который может быть симметричным (один и тот же ключ для шифрования и проверки) или асимметричным (пара «закрытый — открытый ключ»). В отличие от парольной аутентификации, где секрет передаётся по каналу связи, ключевая аутентификация обычно использует криптографические протоколы, что делает её более устойчивой к перехвату, подбору и фишингу. Метод широко применяется в системах информационной безопасности, электронной подписи, VPN, SSH, а также в аппаратных токенах и смарт-картах.

История

Первые теоретические основы аутентификации по ключам были заложены в 1976 году Уитфилдом Диффи и Мартином Хеллманом, которые предложили концепцию криптосистемы с открытым ключом. В 1977 году Рон Ривест, Ади Шамир и Леонард Адлеман разработали алгоритм RSA, который стал основой для многих современных схем аутентификации. В 1980-х годах появились первые реализации протоколов аутентификации на основе асимметричных ключей, такие как протоколы Needham-Schroeder и Kerberos (последний использует симметричные ключи). С развитием интернета в 1990-х годах ключевая аутентификация стала стандартом для защищённого доступа к серверам (SSH, TLS/SSL). В 2010-х годах, в связи с ростом кибератак, началось активное внедрение аппаратных ключей (например, YubiKey) и стандарта FIDO (Fast IDentity Online), который позволяет использовать криптографические ключи для веб-аутентификации без передачи паролей.

Основные принципы

Симметричная аутентификация

При симметричной аутентификации обе стороны (проверяющая и проверяемая) владеют одним и тем же секретным ключом. Процесс обычно включает:

Недостаток — необходимость безопасного распространения ключей между сторонами. Применяется в локальных системах, протоколах Kerberos, некоторых VPN.

Асимметричная аутентификация

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

Этот метод лежит в основе цифровых подписей, TLS/SSL, SSH и стандарта FIDO2. Его преимущество — отсутствие необходимости передавать секрет по каналу связи.

Типы ключей и носителей

Программные ключи

Аппаратные ключи

Биометрические ключи

Современные системы (например, FIDO2) могут привязывать ключи к биометрическим данным (отпечаток пальца, лицо), что объединяет фактор владения (ключ) и фактор наследия (биометрия). При этом биометрический шаблон не хранится на сервере, а используется только для локального доступа к закрытому ключу.

Протоколы и стандарты

SSH (Secure Shell)

SSH использует асимметричную аутентификацию для входа на удалённые серверы. Пользователь генерирует пару ключей (обычно RSA, ECDSA или Ed25519), открытый ключ помещается на сервер, а закрытый остаётся у пользователя. При подключении сервер проверяет подпись, созданную закрытым ключом. Это стандартный метод для администрирования Linux-серверов.

TLS/SSL (Transport Layer Security)

TLS использует аутентификацию по ключам для установления защищённого соединения между клиентом и сервером. Сервер предъявляет сертификат, содержащий открытый ключ, подписанный удостоверяющим центром (CA). Клиент проверяет подпись и цепочку сертификатов. Также возможна взаимная аутентификация (mutual TLS), когда клиент также предъявляет сертификат.

FIDO2/WebAuthn

Стандарт FIDO2, разработанный консорциумом FIDO Alliance, позволяет аутентифицировать пользователей на веб-сайтах с помощью криптографических ключей без передачи пароля. Пользователь регистрирует устройство (например, USB-токен или встроенный в смартфон модуль), которое генерирует пару ключей. При входе сайт отправляет вызов, устройство подписывает его закрытым ключом. Поддержка FIDO2 реализована в браузерах Chrome, Firefox, Edge и в операционных системах Windows, macOS, Android.

Kerberos

Kerberos использует симметричные ключи и центр распределения ключей (KDC). Пользователь получает билет, зашифрованный ключом сервера, и предъявляет его для доступа к ресурсам. Kerberos широко применяется в корпоративных сетях Windows (Active Directory) и Unix-системах.

Преимущества и недостатки

Преимущества

Недостатки

Применение

Корпоративные системы

Аутентификация по ключам используется для входа в VPN, управления серверами (SSH), доступа к базам данных и облачным сервисам. В России ключевая аутентификация применяется в государственных информационных системах, таких как ЕСИА (Единая система идентификации и аутентификации), где используются сертификаты электронной подписи.

Финансовый сектор

Банки используют аппаратные токены и смарт-карты для аутентификации клиентов при проведении операций. Например, система «СберБизнес» требует использования USB-токенов или смарт-карт для подписания документов.

Интернет вещей (IoT)

В устройствах IoT аутентификация по ключам обеспечивает защиту от несанкционированного доступа к датчикам, контроллерам и шлюзам. Используются лёгкие криптографические алгоритмы (например, на основе эллиптических кривых).

Персональное использование

Пользователи могут применять аппаратные ключи для защиты аккаунтов в социальных сетях, почтовых сервисах и облачных хранилищах. Например, Google, Facebook (продукт Meta, признанной экстремистской и запрещённой в РФ), Twitter и Microsoft поддерживают FIDO2-аутентификацию.

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

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

Источники

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

На главную BFOmetr →