Аутентификация

Аутентификация (англ. authentication) — в общих чертах, это акт или процесс подтверждения истинности информации, заявленной конкретной сущностью. В то время как идентификация — это акт или процесс подтверждения личности человека или предмета, который осуществляется посредством аутентификации[1].

Описание

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

В информатике аутентификацией называется процесс, с помощью которого информационная система, компьютер, программное обеспечение или пользователь проверяет правильность или по меньшей мере предположительную идентичность другого компьютера, программы либо пользователя, желающего наладить связь по соединению и получить доступ к соответствующим сервисам[2]. Именно аутентификация подтверждает, что индивид есть тот, за кого себя выдаёт.

Аутентификация отличается от идентификации и от авторизации[3].

Принцип работы

При установлении соединения/общении через интернет, либо при доступе к различным веб-сервисам пользователю важно однозначно указать свою личность, быть распознанным и получить доступ к своим сервисам. Аналогично, важно знать личность собеседника и быть уверенным, что оппонент действительно тот, за кого себя выдаёт, а не самозванец.

В современных условиях применяются новые методы аутентификации, постепенно вытесняющие традиционные пароли, поскольку последние уязвимы с точки зрения безопасности. Классическая онлайн-аутентификация опирается на знание чего-либо, например, пароля. Однако это несовершенный метод: пароль — это секретная информация, которую приходится сообщать проверяющей стороне. Часто невозможно убедиться, что пароль хранится надёжно, и его легко перехватить во время ввода или с помощью программ, например кейлоггер[4].

Аутентификация основывается на предъявлении учётных данных, состоящих обычно из публичных элементов, например, имя пользователя или идентификатор сервиса, и секретных элементов.

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

При отсутствии процедуры аутентификации отсутствуют логи входа/выхода, а остальные журналы есть, но без привязки к конкретному пользователю.

Существуют три основных класса методов аутентификации для человека:[5]

  • что-то, что знает пользователь (например, пароль, ключевая фраза или ПИН-код), то есть секретное слово, характеризующее доступ;
  • что-то, что есть у пользователя (например, идентификационная карта/токен), чаще всего — токен, установленный на мобильном устройстве; токены бывают:
    • для онлайн-использования (challenge/response),
    • для офлайн-использования (на основе времени, последовательности или одноразового пароля);
  • что-то, чем является пользователь (например, отпечаток пальца, голосовой отпечаток, рисунок сетчатки, последовательность ДНК, почерк или другие биометрические признаки) (см. биометрическая система распознавания).

Выбор способов аутентификации определяется такими факторами, как удобство, ценность защищаемой информации и стоимость системы. Распространена взаимная аутентификация, когда каждая сторона должна удостоверить личность для другой.

Часто используется комбинация методов, например карта+ПИН, что существенно повышает безопасность. Такой подход носит название надёжная аутентификация клиента (англ. strong customer authentication), пример — двухфакторная аутентификация.

Содержание информации

Аутентификация информации может быть затруднена в электронной коммуникации из-за возможности атак, при которых злоумышленник перехватывает поток, встаёт между сторонами и перехватывает трафик. В таких случаях могут требоваться дополнительные факторы идентификации.

Имитация стиля известного автора может привести к подделке. Если имеется оригинал рукописи, машинописи или записи, то сам носитель (или упаковка — например, e-mail-заголовки) может подтвердить или опровергнуть подлинность.

Тем не менее, текст, аудио, видео могут быть скопированы на новые носители — в этом случае для аутентификации остаётся только само содержимое.

Для надёжной аутентификации сообщений разработаны разнообразные системы, среди которых:

  • Трудновоспроизводимые физические артефакты;
  • Общий секрет (например, фраза) внутри сообщения;
  • Электронная подпись; инфраструктура с открытым ключом часто позволяет криптографически гарантировать, что сообщение подписано владельцем определённого закрытого ключа;
  • Противоположная задача — обнаружение плагиата: информация, принадлежащая другому автору, выдаётся за свою. Распространённая методика — обнаружение другой копии текста, приписанной другому лицу. В отдельных случаях очень высокая художественная ценность либо отличия в стиле вызывают подозрения в плагиате.

Методы и виды

Логин

undefined

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

Обычный пример — процедура аутентификации логин, присутствующая во многих сервисах: на форумах, онлайн-банкинге, электронной коммерции, сетях Wi-Fi, мобильных телефонах и так далее. Система, предназначенная исключительно для разрешённых пользователей, должна уметь выявлять и блокировать неразрешённых. Доступ возможен только после успешной аутентификации, обычно с помощью имени пользователя и/или пароля.

Аппаратный ключ

undefined

Логин/пароли часто хранятся на аппаратном ключе, который представляет собой устройство с внутренней памятью, позволяющее хранить пароли, коды, цифровые подписи. Безопасность привязана к владельцу: если ключ оставлен без присмотра, защита теряется. Пример — смарт-карты. Распространённые сценарии применения:

Существуют и другие типы ключей, позволяющие аутентифицироваться в определённых сервисах, на серверных системах или в индивидуальном программном обеспечении. Обычно реализуется схема обмена ключами с сервером, который идентифицирует ключ и генерирует уникальные пароли на каждый вход, делая пользователя уникально распознаваемым. В случае утери возможно отключение ключа через сервер. Такая система зачастую предпочтительнее классического 20-символьного пароля, который трудно запомнить и часто записывают на бумажках, что сводит на нет меры безопасности[6]. Такие ключи используются с OpenSSH, PhpMyAdmin, WordPress и др.

Офлайновые токены

undefined

Токены функционируют out-of-band, то есть не имеют прямого подключения к инициатору аутентификации, обычно работает с помощью общего секретного ключа.

  • time-based токены оснащены батареей, хэшируют текущее количество секунд с 1 января 1969 года и отображают часть результата — как правило, шестизначное число. Хэш-функция использует общий секрет между участником и токеном, что позволяет сверить вводимый код с отображаемым.
  • sequence-based токен основан на списке заранее определённых чисел — one-time pad. Даже при перехвате обмена предсказать следующий валидный номер невозможно.
  • pad on-demand, одноразовые, неуязвимы при корректном использовании: одноразовый код присылается по SMS или через звонок по запросу пользователя.

Биометрические системы

undefined

Биометрические системы — инструменты аутентификации, основанные на уникальных физических характеристиках человека (отпечатки пальцев, голос, рисунок вен, сетчатка и др.).

Проблема биометрии — нестабильность признаков (рана на руке, простуда, расширенные зрачки и т.п.). При высокой детализации отпечаток может не распознаваться из-за холодных рук или мозолей; распознавание по радужке или лицу слишком просто обходится. Подобные методы скорее интересны для "игры", чем для ответственной безопасности — их легко обмануть[4]. На конференции "Chaos Computer Club" было показано, как можно подделать отпечатки пальцев даже по фотографии министра обороны Германии[7]. Кроме того, в отличие от пароля, украденный отпечаток или скан сетчатки нельзя сменить. Однако вероятность комбинированной кражи токена и биометрического признака крайне мала и во многом зависит от защищённости конкретного приложения.

CAPTCHA

undefined

CAPTCHA применяется в IT и представляет тест с вопросами и ответами для подтверждения, что пользователь — человек (а не бот). Обычно — это искажённая/затуманенная последовательность букв/цифр, которую нужно ввести с картинки.

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

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

Пример: Алиса подписывает сообщение приватным ключом и отправляет его Бобу. Боб аутентифицирует Алису с помощью её публичного ключа. Для конфиденциальности Алиса может ещё зашифровать послание публичным ключом Боба, а он — расшифровать приватным, после чего проверить аутентификацию публичным ключом Алисы.

Протокол 802.1x Доступ к корпоративным системам и сетям (интранет) часто организован через протоколы клиент-сервер типа AAA (например: RADIUS, DIAMETER, Kerberos), где сервер аутентификации осуществляет проверку с помощью описанных выше методов.

Для защиты Ethernet применяется протокол IEEE 802.1x, дающий портовый контроль доступа, ставший стандартом для аутентификации в беспроводных LAN. Работает на 2 уровне модели OSI (внедряется в коммутаторы). Распространённость обусловлена наличием зрелого стандарта EAP (Extensible Authentication Protocol). "Port-based" security разрешает подключение к сети только после успешной аутентификации, применяется в составе проводных и беспроводных сетей.

Контроль доступа к сети (NAC) Network Access Control (NAC) — технология для контроля и обеспечения политик безопасности конечных устройств при доступе к сети. Она проверяет состояние клиентских устройств, что помогает снизить риск даже новых ("zero-day") атак[8].

VPN

undefined

VPN — сочетание аппаратных и программных средств для создания защищённого канала передачи по публичным сетям (интернет). Прежде чем передавать данные между сторонами, проводится их аутентификация (например, через файервол). Это обеспечивает внутреннюю аутентификацию и повышает защищённость виртуальной сети.

Пример — OpenVPN, где хосты аутентифицируют друг друга через приватные ключи, цифровые сертификаты или комбинацию логин/пароль. Используются протоколы туннелирования, например, IPsec, реализующий безопасную передачу через аутентификацию и шифрование пакетов IP.

VPN применяется и для облачных сервисов: инфраструктура провайдера выделяет каждому клиенту защищённое пространство, доступ к которому осуществляется по индивидуальной VPN с криптографией и аутентификацией через учётные данные.

Cookies

undefined

Технология cookie испольуется в веб-коммуникации между клиентом и сервером для поддержания сессии, так как HTTP — протокол без состояния. При первом обращении пользователя сайт присваивает уникальный непредсказуемый cookie и сохраняет его в базе, отправляя в ответе браузеру, который сохраняет cookie локально. Далее во всех запросах/ответах этот cookie используется для аутентификации сессии — таким образом сервер узнаёт браузер и пользователя, отслеживает его действия.

Выделяют несколько видов cookie:

  • Authentication cookie
  • Tracking cookie

Authentication cookie применяются для упрощения доступа, чтобы не вводить логин и пароль при каждом входе. Часто они хранятся недолго; опция "запомнить меня" порождает cookie с более долгим сроком службы. Они также используются в e-commerce для удобства повторных покупок.

Tracking cookie служат для анализа посещённых сайтов, а также в e-commerce — для функционирования корзины, создания быстрых покупок в пару кликов.

Следует учитывать: authentication cookies могут быть украдены злоумышленниками, если соединение не защищено HTTPS , что позволяет осуществить сессионное спуфирование и получить несанкционированный доступ.

Контроль доступа Обычное сочетание аутентификации и авторизации реализуется в контроле доступа. Системы должны предоставлять ресурсы только разрешённым пользователям, для чего применяют аутентификацию для установления личности, после чего выдают права, соответствующие данной идентичности. Иногда используется "восьмой слой" — человеческий фактор, при котором администраторы следят за пользователями, регулируют политику доступа и ведут отчётность по именам.

Примеры процедур:

  • использование CAPTCHA для подтверждения, что пользователь — человек;
  • применение одноразового пароля (OTP), присылаемого на телефон, для двухфакторной аутентификации;
  • простой вход в IT-систему;
  • подтверждение владения email через ссылку;
  • онлайн-банкинг;
  • снятие наличных в банкомате.

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

  • Какова цель аутентификации?
  • Кто выигрывает/проигрывает от ошибок?
  • Каковы возможные последствия неверной аутентификации?
  • Насколько аутентификация эффективна вообще?

Физическая безопасность

undefined

Без физических мер (допуск к помещению, серверным и т.п.) логические средства (мониторинг, аудит) малоэффективны. Для повышения безопасности нужно ограничить физический доступ с привязкой к привилегиям: использовать бейджи, ключи, биометрические системы и др.

Упаковка

undefined

Упаковка и маркировка могут быть спроектированы для противодействия подделке и хищениям. Некоторые конструкции затрудняют копирование; на упаковке нередко размещаются защитные знаки (голограммы, микропечать, серийные штрихкоды, RFID и др.), что не гарантирует абсолютной защиты, но усложняет подделки и выявляет несанкционированные факты.

Технологии:

  • Taggant fingerprinting (микрообозначения, верифицируемые с помощью БД);
  • Голограммы — визуальные защитные знаки на пломбах/этикетках;
  • Микропечать — второй рубеж подлинности (часто используется на валютах);
  • Серийные штрихкоды;
  • Ультрафиолетовая печать;
  • RFID-чипы.

Видеоаутентификация В ряде случаев требуется удостоверять подлинность видеозаписей для судебных разбирательств. Формальное соблюдение процедур хранения и регистрации цепочки перемещений позволяет повысить достоверность материалов.

Аутентификация товара

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

В потребительской электронике, сетевом оборудовании и пр. применяются устройства для хранения ключей, которые должны проходить аутентификацию с помощью проводной/беспроводной связи; иногда — механические защищённые чипы, подключаемые к хосту через разъём. Такие решения (аппаратные coprocessor'ы) существенно усложняют подделку.

Стандарты ISO

  • Уровень гарантии 1 (LoA1): практически нет аутентификации. Используется при низких рисках, без криптографии.
  • Уровень гарантии 2 (LoA2): однофакторная аутентификация; применим при умеренных рисках ошибок.
  • Уровень гарантии 3 (LoA3): двухфакторная аутентификация (необязательно с цифровыми сертификатами); для существенных рисков.
  • Уровень гарантии 4 (LoA4): двухфакторная аутентификация с использованием цифровых сертификатов и хранением приватных ключей на устройствах, отвечающих требованиям директивы 1999/93/EC, включая физическую идентификацию (для людей). Применяется при высоких рисках[9].

Проблемы и ограничения

Кибератаки

Кибератаки совершают злоумышленники для хищения информации с целью извлечения выгоды. Это действия, нарушающие конфиденциальность, доступность и целостность данных систем и информации.

Интернет-мошенничества

Мошенники используют уловки для кражи учётных данных через социальные сети и другие каналы:

  • спам c вредоносными ссылками,
  • фальшивые акции,
  • вредоносные приложения.

Типовой сценарий: пользователю предлагается "развлекательное" приложение, однако для продолжения требуется ввод логина и пароля, тем самым происходит кража данных и дальнейшее несанкционированное использование.

Фишинг

Фишинг — разновидность интернет-мошенничества, когда злоумышленник убеждает жертву раскрыть личные данные, логины, финансы или доступные коды. Типовой процесс:

  1. Мошенник (phisher) отправляет email, визуально и содержательно копирующий сообщение известного учреждения.
  2. Сообщение содержит "срочное" предупреждение или предложение.
  3. Пользователя просят пройти по ссылке для устранения "проблемы".
  4. Ссылка ведёт на поддельный сайт, где мошенники получают введённые данные.
  5. Получив доступ, phisher распоряжается деньгами либо использует аккаунт для дальнейших атак.

Пример: "Ваш аккаунт заблокирован, нажмите для восстановления".

Лучшая защита — внимательность: проверяйте подлинность сайтов.

В случае сомнительных писем с просьбой о данных лучше переслать их компетентным органам и уведомить причастные банки/службы.

Технологические ограничения

Не существует компьютеров, ПО или пользователей, которые могут с полной гарантией удостоверить личность других субъектов.

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

Примечания

Ссылки