Офлайн-авторизация
Офлайн-авторизация — это процесс проверки подлинности и прав доступа пользователя или устройства к ресурсам, системе или данным, который выполняется без постоянного подключения к центральному серверу аутентификации (например, к удалённой базе данных или облачному сервису). В отличие от онлайн-авторизации, где каждый запрос требует сетевого обмена с сервером, офлайн-авторизация полагается на локально хранимые учётные данные, сертификаты, токены или криптографические ключи, позволяя принимать решения о доступе автономно.
Принцип работы
Основой офлайн-авторизации является предварительная загрузка и синхронизация данных, необходимых для проверки прав. В момент, когда устройство находится в сети, оно получает от сервера аутентификации цифровой «паспорт» — обычно это токен (например, JSON Web Token, JWT) или сертификат, подписанный доверенным центром. Этот токен содержит информацию о пользователе, его ролях, правах и сроке действия, а также криптографическую подпись, удостоверяющую его подлинность.
При попытке доступа в офлайн-режиме устройство:
- Проверяет целостность и подлинность локально сохранённого токена с помощью открытого ключа сервера (асимметричное шифрование) или симметричного ключа.
- Проверяет срок действия токена (expiration time). Если токен истёк, доступ блокируется.
- Извлекает из токена информацию о правах (роли, разрешения) и сравнивает её с запрашиваемым ресурсом.
- Принимает решение — разрешить или запретить доступ.
В более сложных системах (например, в корпоративных сетях) может использоваться локальная репликация базы данных прав или кэширование политик доступа (например, через Active Directory в режиме кэширования учётных записей).
История
Концепция офлайн-авторизации возникла задолго до повсеместного распространения интернета. Первые компьютерные системы (например, мейнфреймы 1960–1970-х годов) работали автономно, и авторизация проводилась на основе локальных списков пользователей и паролей, хранящихся на магнитных дисках или перфокартах. С развитием сетей (ARPANET, а затем интернета) авторизация стала централизованной — появились серверы аутентификации (Kerberos, LDAP). Однако с ростом мобильных устройств, встроенных систем и удалённых объектов (например, банкоматов, автомобилей, дронов) возникла потребность в работе без постоянного соединения. В 2000-х годах стандарты OAuth 2.0 и OpenID Connect начали поддерживать офлайн-режим через механизмы refresh-токенов. В 2010-х годах с развитием IoT и edge-вычислений офлайн-авторизация стала обязательным требованием для многих промышленных и потребительских решений.
Классификация
Офлайн-авторизацию можно классифицировать по способу хранения и проверки данных:
По типу хранимых учётных данных
- На основе токенов (Token-based) — используются JWT, SAML-ассерции или собственные форматы токенов. Токен содержит подписанные утверждения о правах.
- На основе сертификатов (Certificate-based) — применяются X.509-сертификаты, которые устанавливаются на устройство и проверяются через цепочку доверия.
- На основе локальной базы данных — на устройстве хранится реплика базы учётных записей и прав (например, локальная копия Active Directory на контроллере домена в изолированной сети).
- На основе криптографических ключей — используется асимметричная пара ключей: приватный ключ хранится на устройстве, публичный — на сервере. Авторизация доказывается подписью запроса.
По степени автономности
- Полная офлайн-авторизация — устройство может работать неограниченное время без сети, пока не истечёт срок действия токена или не изменится политика доступа.
- Ограниченная офлайн-авторизация — устройство может работать только определённое время (например, 24 часа) после последней синхронизации, после чего блокируется до восстановления соединения.
- Гибридная (офлайн с возможностью отзыва) — устройство периодически проверяет списки отзыва (CRL) или получает обновления политик при подключении к сети.
По области применения
- Пользовательская — авторизация человека на устройстве (например, вход в мобильное приложение, разблокировка смартфона по отпечатку пальца, работа с офлайн-картами).
- Системная (машина-машина) — авторизация устройств IoT, промышленных контроллеров, автомобильных систем, банкоматов.
- Прикладная — авторизация внутри приложения (например, офлайн-доступ к документам в корпоративном файловом менеджере).
Устройство и характеристики
Типовая система офлайн-авторизации включает следующие компоненты:
- Клиентское устройство — смартфон, ноутбук, банкомат, контроллер, на котором хранятся локальные данные авторизации.
- Локальное хранилище — защищённая область памяти (Trusted Execution Environment, TEE), аппаратный модуль безопасности (HSM, TPM) или зашифрованный файл.
- Механизм проверки — программный модуль, который верифицирует подпись токена, проверяет срок действия и извлекает права.
- Политика доступа — локально кэшированные правила (например, «роль администратора имеет доступ ко всем файлам»).
- Интерфейс синхронизации — модуль, который при подключении к сети обновляет токены, сертификаты и списки отзыва.
Ключевые характеристики:
- Время автономной работы — период, в течение которого система может принимать решения без сети.
- Надёжность проверки — устойчивость к подделке токенов (использование криптографии с открытым ключом).
- Возможность отзыва — способность аннулировать права после синхронизации (например, через CRL или чёрные списки).
- Производительность — скорость проверки токена (обычно миллисекунды для JWT).
Применение
Офлайн-авторизация широко используется в различных сферах:
- Мобильные приложения и сервисы — например, офлайн-карты (Яндекс.Карты, Google Maps), где пользователь может просматривать загруженные области без интернета. Доступ к скачанным картам контролируется через токен, полученный при покупке или подписке.
- Корпоративные системы — ноутбуки сотрудников, которые могут работать в командировках без доступа к корпоративной сети. Используется кэширование учётных записей Active Directory (кэширование последних 10–100 входов).
- Банковские терминалы и банкоматы — авторизация карт и PIN-кодов может проводиться локально на основе эмбоссированных данных или чипа (EMV), если связь с процессинговым центром временно отсутствует.
- Системы «умный дом» и IoT — например, дверной замок, который открывается по отпечатку пальца или коду, хранящемуся локально, без облачного сервера.
- Автомобильные системы — доступ к функциям автомобиля (запуск двигателя, навигация) на основе ключа-метки или смартфона, работающего в офлайн-режиме.
- Промышленные контроллеры и SCADA — авторизация операторов на локальных панелях управления в удалённых цехах или на нефтяных платформах, где связь нестабильна.
Преимущества и недостатки
Преимущества
- Надёжность и доступность — система работает даже при полном отсутствии сети, что критично для удалённых или изолированных объектов.
- Низкая задержка — решение принимается локально, без сетевых запросов, что важно для реального времени (например, в промышленности).
- Экономия трафика — не требуется постоянный обмен данными с сервером.
- Безопасность при атаках на сеть — злоумышленник не может перехватить запрос авторизации, так как он не передаётся.
Недостатки
- Сложность отзыва прав — если токен или сертификат скомпрометирован, его невозможно аннулировать до следующей синхронизации.
- Уязвимость к локальным атакам — если злоумышленник получает физический доступ к устройству, он может извлечь токен или ключ.
- Ограниченный срок действия — токены имеют срок жизни, после которого требуется подключение к сети для обновления.
- Риск рассинхронизации политик — если на сервере изменились права пользователя, устройство узнает об этом только при следующем соединении.
Интересные факты
- В операционной системе Windows офлайн-авторизация реализована через механизм кэширования учётных записей (Cached Credentials). По умолчанию Windows хранит хэши паролей последних 10 входов, что позволяет войти в систему без контроллера домена.
- В стандарте OAuth 2.0 для офлайн-доступа используется специальный тип токена — refresh token, который позволяет получить новый access token без повторного ввода пароля. Refresh token может жить неделями или месяцами.
- В системах EMV (банковские карты) офлайн-авторизация возможна благодаря чипу, который хранит список последних транзакций и лимиты. Терминал может авторизовать платёж локально, если сумма ниже порога.
- В России, согласно требованиям законодательства (например, 152-ФЗ «О персональных данных»), обработка биометрических данных для авторизации (отпечатки пальцев, лицо) должна проводиться с использованием локальных, а не облачных систем, что стимулирует развитие офлайн-решений.
Источники
- Спецификация OAuth 2.0 (RFC 6749), раздел «Refresh Token».
- Документация Microsoft: «Cached and Stored Credentials in Windows».
- Стандарт EMV 4.3: «Offline Data Authentication».
- Федеральный закон Российской Федерации от 27 июля 2006 года № 152-ФЗ «О персональных данных».
- Статья «Offline Authorization: Concepts and Challenges» (IEEE Access, 2021).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →