20.09.2006

Обзор технологий идентификации и аутентификации

АДЭ №7, сентябрь/2006, Алексей Сабанов

Согласно данным ежегодного обзора компьютерной преступности CSI/FBI за 2005 г. на втором и третьем местах по размеру ущерба предприятий в США находятся неавторизованный доступ к данным и кража конфиденциальных данных. Чтобы снизить подобные потери, необходимо уделять больше внимания решению задач аутентификации и управления доступом пользователей.

Задачи аутентификации, авторизации и администрирования (управление первыми двумя функциями) тесно связаны между собой. Для краткости их взаимосвязанное решение называют решением задач AAA.

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

Идентификация - процедура распознавания субъекта по его уникальному идентификатору, присвоенному данному субъекту ранее и занесенному в базу данных в момент регистрации субъекта в качестве легального пользователя системы.

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

Именно от корректности решения этих двух задач (распознавания и проверки подлинности)  зависит, можно ли разрешить доступ к ресурсам системы конкретному пользователю, т.е. будет ли он авторизован.

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

Администрирование - процесс управления доступом субъектов к ресурсам системы. Данный процесс включает в себя:

  • создание идентификатора субъекта (создание учётной записи пользователя) в системе;
  • управление данными субъекта, используемыми для его аутентификации (смена пароля, издание сертификата и т. п.);
  • управление правами доступасубъекта к ресурсам системы.

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

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

Штрих - кодовая идентификация

Штрих-коды в основном используются производителями товаров для автоматизации товародвижения. В настоящее время штриховые коды EAN/UPC лежат в основе всемирной многоотраслевой коммуникационной системы, развитие которой обеспечивается двумя крупнейшими специализированными международными организациями -EAN International и AIM International. Наиболее широко распространен тринадцатиразрядный код EAN-13, разработанный в 1976г. для удовлетворения требований пищевой промышленности на базе кода UPC (Universal Product Code), введенного в США еще в 1973г.

К достоинствам применения штрих-кодовой идентификации относятся:

  • максимальное снижение бумажного документооборота и количества ошибок при вводе информации;
  • повышение скорости обслуживания клиентов;
  • автоматизация основных технологических процессов товародвижения на всех этапах от производителя до конечного покупателя.

Основные недостаткам штрих-кодовой идентификации:

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

В настоящее время штрих-кодовая идентификация начинает вытесняться технологией радиочастотной идентификации.

Радиочастотная идентификация

В средствах радиочастотной идентификации (RFID - Radio Frequency Identification Device) разработчики постарались развить все достоинства штрих-кодовой идентификации и преодолеть практически все недостатки и ограничения. В настоящее время данная технология интенсивно внедряется во многие отрасли мирового хозяйства. RFID позволяет получать информацию о предмете без прямого контакта. Дистанции, на которых может происходить считывание и запись информации, могут варьироваться от нескольких миллиметров до нескольких метров в зависимости от используемых технологий (главным образом, от несущей частоты, находящейся в пределах от 125 кГц до 5,8 ГГц). Большинство применяемых для идентификации сотрудников корпораций смарт-карт с применением компонент производства Ангстрем, HID, Atmel, Mifare, EM Microelectronic Marin, Microchip и др. чаще всего используют несущие частоты 125 кГц или 13,56МГц.

Биометрическая идентификация

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

  1. Физиологические биометрические характеристики (называемые физическими или статическими) - характеристики, основанные на данных, полученных путём измерения анатомических данных человека(отпечатки пальцев, форма лица, кисти, структура сетчатки глаза и др.).
  2. Поведенческие биометрические характеристики (также называемые динамическими биометрическими характеристиками) - биометрические характеристики, основанные на данных, полученных путём измерения действий человека. Характерной чертой для поведенческих характеристик является их протяжённость во времени (типичные примеры - голос, подпись).

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

Идентификации на основе карт с магнитной полосой

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

Существенным преимуществом магнитных карт является их низкая стоимость.
К основным недостаткам данной технологии можно отнести:

  • ограничение по объему информации, которая может быть записана на магнитную полосу;
  • незащищенность от копирования;
  • чувствительность к загрязнению, механическим повреждениям (например, царапинам, изломам), воздействию влаги;
  • короткий срок службы (не более 1-1,5 лет).

Технологии аутентификации

Для того, чтобы понять, что такое AAA и, в частности, аутентификация, обратимся к простому примеру: Ваш сотовый телефон. Телефон -это устройство, куда для начала работы Вы вкладываете SIM-карту. Когда Вы включаете телефон, на дисплее появляется надпись: "введите PIN-код". После правильного ввода PIN-кода (как правило, это 4 легко запоминаемые цифры) телефон начинает работать.

Налицо так называемая двухфакторная аутентификация. Вам надо иметь персональный носитель (SIM-карту) и знать личный PIN-код. Они связаны между собой. Причем эта связь закладывается администратором оператора сотовой связи при предпродажной подготовке контрактов с определенным тарифом и самих SIM-карт. Сам телефонный аппарат по аналогии с корпоративными информационными системами играет роль компьютера. Аналогом SIM-карты может являться микропроцессорная смарт-карта или устройство eToken, к которому привязан личный PIN-код. Только в отличие от сотового телефона PIN-код для доступа к информационной системе предприятия содержит, как правило, не менее 5-7 символов различных регистров (не только цифр). Да и алгоритмы аутентификации и шифрования там намного сложнее, чем используемые в сотовой связи A3 (алгоритм аутентификации), А8 (алгоритм генерации криптоключа), А5/2 (алгоритм шифрования оцифрованной речи для обеспечения конфиденциальности переговоров).
Рассмотрим основные методы аутентификации по принципу нарастающей сложности. Начнем с самого простого и общеизвестного метода - аутентификация по паролю. Поскольку данная технология, как правило, используется без изменения параметров в течение длительного времени (неделя, месяц, год - в зависимости от политик безопасности предприятия), то она получила название "аутентификация по многоразовым паролям".

Аутентификация по многоразовым паролям

Учетные записи пользователей современных операционных систем включают в себя службу аутентификации, которая может хранить простейший идентификатор (login) и пароль (password) пользователя в своей базе данных. При попытке логического входа в сеть пользователь набирает свой пароль, который поступает в службу аутентификации. По итогам сравнения пары login/password с эталонным значением из базы данных учетных записей пользователей пользователь может успешно пройти процедуру простейшей аутентификации и авторизоваться в информационной системе. В зависимости от степени защищенности в рамках эволюционного развития операционных систем Windows компанией Microsoft использовались протоколы LAN Manager (LM), NT LAN Manager (NTLM), NT LAN Manager версии 2 (NTLM v2) и Kerberos. В качестве примера кратко рассмотрим Kerberos, как наиболее распространенный и защищенный на сегодняшний день протокол аутентификации в локальных сетях.

Протокол аутентификации Kerberos

Протокол Kerberos' был разработан специально для того, чтобы обеспечить надежную аутентификацию пользователей. Данный протокол использует централизованное хранение аутентификационных данных и является основой для построения механизмов Single Sign-On (возможность одноразовой аутентификации в нескольких приложениях). Протокол Kerberos предлагает механизм взаимной аутентификации клиента и сервера перед установлением связи между ними с учетом того, что начальный обмен информацией между клиентом и сервером может происходить в незащищённой среде, а передаваемые пакеты - перехвачены и модифицированы. Протокол использует понятие Ticket (билет, удостоверение). Ticket является зашифрованным пакетом данных, выданным выделенным доверенным центром аутентификации, в терминах протокола Kerberos -KDC (Key Distribution Center, центр распределения ключей). Когда пользователь выполняет первичную аутентификацию, после успешного подтверждения его подлинности KDC выдаёт первичное удостоверение пользователя для доступа к сетевым ресурсам - TGT (Ticket Granting Ticket). В дальнейшем при обращении к отдельным сетевым ресурсам пользователь, предъявляя TGT, получает от KDC удостоверение для доступа к конкретному сетевому ресурсу - Service Ticket.

Одним из преимуществ протокола Kerberos, обеспечивающих очень высокий уровень сетевой безопасности, является то, что во всех сетевых взаимодействиях в открытом виде не передаются ни пароли, ни хэши паролей. Все удостоверения являются зашифрованными пакетами данных. В качестве примера реализации протокола Kerberos следует отметить доменную аутентификацию пользователей в операционных системах компании Microsoft, начиная с Windows 2000.

Протоколы аутентификации для удалённого доступа

Часть протоколов сетевой аутентификации были разработаны специально для обеспечения удаленного доступа к информационным ресурсам посредством открытых каналов связи (к примеру, телефонные линии, Internet). В качестве примера можно привести протоколы PAP, CHAP, EAP, RADIUS, TACACS и другие. В качестве примера кратко рассмотрим работу протокола RADIUS.

Протокол аутентификации RADIUS

Протокол аутентификации Remote Authentication Dial-in User Service (RADIUS)2 рассматривается как механизм аутентификации и авторизации удалённых пользователей в условиях распределённой сетевой инфраструктуры, предоставляющий централизованные услуги по проверке подлинности и учёту для служб удалённого доступа.

В рамках стандарта выделяются следующие роли:

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

Поддержка протокола RADIUS реализована на многих современных платформах, что позволяет использовать его в межплатформенных решениях.

В качестве примера сервера и посредника RADIUS можно привести реализованную в Windows Server 2003 службу проверки подлинности в Интернете (Internet Authentication Service, IAS). Эта служба позиционируется как механизм централизованной аутентификации и авторизации пользователей, использующих различные способы подключений к сети. Служба IAS интегрирована с другими сетевыми службами Windows Server 2003, такими, как служба маршрутизации и удалённого доступа и служба каталога Active Directory.

Аутентификация на основе одноразовых паролей
Данная технология рассмотрена в данном сборнике в статье B.C. Ляпера.

Аутентификация по предъявлению цифрового сертификата

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

  • получение открытого ключа СА (одноразовый процесс),
  • получение по некоторому незащищенному каналу от этого пользователя его сертификата открытого ключа.

Аутентификация с открытым ключом используется как защищенный механизм аутентификации в таких протоколах как SSL, а также может использоваться как один из методов аутентификации в рамках рассмотренных протоколов Kerberos и RADIUS.

Использование смарт-карт и USB-ключей

Несмотря на то, что криптография с открытым ключом согласно спецификации Х.509 может обеспечивать строгую аутентификацию пользователя, сам по себе незащищенный закрытый ключ подобен паспорту без фотографии. Закрытый ключ, хранящийся на жёстком диске компьютера владельца, уязвим по отношению к прямым и сетевым атакам. Достаточно подготовленный злоумышленник может похитить персональный ключ пользователя и с помощью этого ключа представляться этим пользователем. Защита ключа с помощью пароля помогает, но недостаточно эффективно -пароли уязвимы по отношению ко мно¬гим атакам. Несомненно, требуется более безопасное хранилище.

Смарт-карты

Смарт-карты - пластиковые карты стандартного размера банковской карты, имеющие встроенную микросхему. Они находят всё более широкое применение в различных областях, от систем накопительных скидок до кредитных и дебетовых карт, студенческих билетов и телефонов стандарта GSM.

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

USB-ключи

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

Аутентификацию на основе смарт-карт и USB-ключей сложнее всего обойти, так как используется уникальный физический объект, которым должен обладать человек, чтобы войти в систему. В отличие от паролей, владелец быстро узнаёт о краже и может сразу принять необходимые меры для предотвращения её негативных последствий. Кроме того, реализуется двухфакторная аутентификация. Микропроцессорные смарт-карты и USB-ключи могут повысить надёжность служб PKI: смарт-карта может использоваться для безопасного хранения закрытых ключей пользователя, а также для безопасного выполнения криптографических преобразований. Безусловно, данные устройства аутентификации не обеспечивают абсолютную безопасность, но надёжность их защиты намного превосходит возможности обычного настольного компьютера.

Для хранения и использования закрытого ключа разработчики используют различные подходы. Наиболее простой из них - использование устройства аутентификации в качестве защищенного носителя аутентификационной информации:
при необходимости карта экспортирует закрытый ключ, и криптографические операции осуществляются на рабочей станции. Этот подход является не самым совершенным с точки зрения безопасности, зато относительно легко реализуемым и предъявляющим невысокие требования к устройству аутентификации. Два других подхода более безопасны, поскольку предполагают выполнение устройством аутентификации криптографические операций. При первом пользователь генерирует ключи на рабочей станции и сохраняет их в памяти устройства. При втором пользователь генерирует ключи при помощи устройства. В обоих случаях, после того как закрытый ключ сохранён, его нельзя извлечь из устройства и получить любым другим способом.

Генерация ключевой пары вне устройства

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

Генерация ключевой пары с помощью устройства

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