Аутентификация на основе одноразовых паролей в Active Directory. Теоретические основы.
Безопасность сети – важнейшая задача, стоящая перед ИТ. Решение формируется из многих составляющих, одна из них – безопасная аутентификация. OTP- технологии позволят уменьшить риски, с которыми сталкиваются компании при использовании долговременных запоминаемых паролей.
Как уже неоднократно упоминалось, вопросы безопасной аутентификации по-прежнему остаются актуальными. Очевидно, что любые попытки ограничения полномочий и предоставления доступа к ресурсам и функциям системы только тогда имеют смысл, когда мы можем быть уверены, что имеем дело с легальным пользователем. Следовательно, защита информационных систем начинается с проверки легитимности пользователя, который пытается получить доступ.
Привычный, ставший стандартным метод – использование долговременных, запоминаемых паролей. Этот способ проверки «правильности» пользователя в рамках современных ИТ-решений должен уйти в прошлое, хотя и имеет место в огромном числе компаний, в силу простоты использования и реализации.
Тем не менее использование такой аутентификации скорее должно свидетельствовать о незрелости ИТ-инфраструктуры с точки зрения безопасности или об отсутствии потребности бизнеса в построении защищенной информационной системы. Парольная аутентификация потенциально уязвима ввиду использования социотехники, внедрения клавиатурных шпионов, возможности перехвата и т.п. Я специально не касаюсь методов защиты, предлагаемых в рамках операционных систем, поскольку, во-первых, они не обеспечат решение вышеупомянутых проблем, во-вторых, эта тема подробно рассматривалась в статье «Active Directory Domain Services. Двухфакторная аутентификация. Теоретические основы» [1]
Итак, эффективным методом, с технической точки зрения, будет применение двухфакторной аутентификации, которая в свою очередь позволит минимизировать риски, связанные с использованием долговременных паролей.
Говоря о двухфакторной аутентификации, чаще подразумевают использование смарт-карт и USB-ключей, работа с которыми построена на технологиях асимметричной криптографии. Кроме того, нередко эти устройства также позволяют применять RFID-метки, тем самым ограничивая доступ к различным помещениям внутри организации.
Тенденции консьюмеризации, по сути своей уже ставшие в последнее время реальным положением вещей, приводят к тому, что сотрудникам требуется использовать разные типы устройств для доступа к ресурсам корпоративной сети. При работе в офисе используется стационарный или мобильный компьютер, в поездках проще обойтись планшетом или смартфоном. Разумеется, не всегда использование смарт-карт или USB-ключей возможно, у нас просто может не быть USB-разъема для подключения, тем не менее потребность в строгой аутентификации только возрастает с увеличением разновидностей применяемых устройств, которые далеко не всегда управляются и контролируются ИТ-службами компании.
Здесь существенную помощь окажет технология одноразовых паролей (OTP), которая, с одной стороны, может помочь реализовать строгую двухфакторную аутентификацию, а с другой, не потребует существенных затрат на внедрение и поддержку.
Одноразовые пароли (OTP, One-Time Passwords) – динамическая аутентификационная информация, генерируемая различными способами для однократного использования. Применение одноразового пароля возможно лишь один раз либо в некоторых реализациях в течение незначительного промежутка времени.
OTP-токен – мобильное персональное устройство, принадлежащее определенному пользователю, генерирующее одноразовые пароли, используемые для аутентификации данного пользователя.
Одноразовый пароль (OTP) практически неуязвим для атаки сетевого анализа пакетов, что является существенным преимуществом перед обычными долговременными паролями. Даже если одноразовый пароль будет перехвачен, вероятность того, что им смогут воспользоваться, весьма сомнительна, чтобы ее рассматривать всерьез.
Еще одним важным преимуществом использования OTP-токенов является то, что они дополнительно требуют от пользователя ввода PIN-кода, например, при активации, генерации OTP, для предъявления аутентифицирующему серверу совместно с OTP. Следовательно, у нас возникает еще один фактор аутентификации, и мы говорим о двухфакторной аутентификации пользователя в системе на основе обладания чем-либо (Authentication by Ownership) и на основе знания чего-либо (Authentication by Knowledge).
Существуют различные варианты подобных устройств. Это может быть карманный OTP-калькулятор, брелок, смарт-карты, устройство, обеспечивающее двойную функциональность (USB-ключ + OTP), например, SafeNet eToken NG-OTP. Кроме того, может использоваться программное обеспечение, скажем, выполняемое на смартфоне пользователя. Существует целый ряд компаний, выпускающих подобные средства, как программные, так и аппаратные, например, SafeNet, RSA, Gemalto.
Токены, использующие симметричную криптографию, могут работать в асинхронном и синхронном режимах. Асинхронный режим – технология «запрос-ответ», синхронный режим – «только ответ» (в этом варианте синхронизация может быть по времени или по событию).

Рассмотрим принципы работы (см. рис. 2).


В режиме «синхронизация по событию» (см. рис. 4) токен и сервер ведут количественный отсчет прохождения аутентификаций пользователем и на основе этого числа генерируют OTP.

В этом варианте проблему представляет ситуация, когда устройство аутентификации «обгонит» сервер, например, при многократном повторном нажатии кнопки генерации OTP на устройстве.
«Человек посередине»
Этот вариант атаки подразумевает, что злоумышленник перехватывает одноразовый пароль, посланный законным пользователем, блокирует пользователя, использует перехваченный пароль для собственной аутентификации в системе. Решением данной проблемы будет использование технологии «запрос-ответ» и отказ от использования одноразовых паролей, имеющих легитимность в течение периода времени, либо использование синхронизации по событию. То есть проводить аутентификацию потребуется каждый раз при новом соединении.
Кража, утеря токена
Это типичная ситуация, и решением в этом случае будет использование не только одноразовых паролей для аутентификации в системе, но и обязательное применение PIN-кода, то есть переход к двухфакторной аутентификации.
Подбор PIN-кода
Такой вид атаки трудно воспринимать всерьез, поскольку решение проблемы лежит на поверхности – блокировка токена при многократном неправильном вводе PIN-кода.
Извлечение значения секретного ключа из программного аутентификационного токена
Наряду с аппаратными реализациями OTP-токенов, существуют также и программные варианты. В этом случае возможен вариант атаки, когда злоумышленник копирует программное обеспечение и пытается отыскать хранящийся в нем секретный ключ, чтобы в дальнейшем использовать для аутентификации под видом легального пользователя. Решение указанной проблемы достигается тем, что PIN-код является частью ключа, без знания которого не удастся генерировать OTP, даже зная часть секретного ключа, хранимого в самом программном токене.
Нечестный администратор безопасности
Встречается ситуация, когда злоумышленником является сам администратор, отвечающий за выдачу средств аутентификации. Следовательно, на первый взгляд он может обладать возможностью создания дубликатов аутентификационных средств, посредством которых легко получить доступ к системе от имени другого пользователя. Для решения вышеназванной проблемы следует обеспечить разделение функций, то есть в процессе активирования токена должно участвовать не менее двух человек, каждый из которых обязан выполнять строго определенный набор задач.
Итак, мы видим, что внедрение одноразовых паролей позволит снизить риски, возникающие при обычной парольной аутентификации. Появляется возможность решения проблемы мобильных пользователей, для которых применение внешних подключаемых устройств (смарт-карт, USB-ключей) нередко представляет сложности, при этом мы можем говорить о двух факторах, поскольку OTP и PIN используются совместно в процессе аутентификации. При внедрении решений в корпоративной среде имеет смысл рассмотреть комбинированные устройства, совмещающие в себе функционал генерации одноразовых паролей со смарт-картой и RFID- устройством.
В одной из следующих статей мы рассмотрим, как осуществляется внедрение одноразовых паролей на практике, и поговорим о внедрении OTP-технологий для аутентификации в службе каталога Active Directory Domain Services.
[2] Аутентификация, теория и практика обеспечения безопасного доступа к информационным ресурсам. – М., 2009, ISBN 978-5-9912-0110-0.
[3] technet.microsoft.com/ru-ru/library/jj134229.
[4] technet.microsoft.com/en-us/library/ee809064.aspx.
[5] technet.microsoft.com/en-us/library/hh831379.aspx.
[6] www.aladdin-rd.ru/catalog/etoken/.
[7] NCSC-TG-017 – «A Guide to Understanding Identification and Authentication in Trusted Systems», опубликованный U.S. National Computer Security Center.
Статья опубликована в журнале «Системный Администратор».
Как уже неоднократно упоминалось, вопросы безопасной аутентификации по-прежнему остаются актуальными. Очевидно, что любые попытки ограничения полномочий и предоставления доступа к ресурсам и функциям системы только тогда имеют смысл, когда мы можем быть уверены, что имеем дело с легальным пользователем. Следовательно, защита информационных систем начинается с проверки легитимности пользователя, который пытается получить доступ.
Привычный, ставший стандартным метод – использование долговременных, запоминаемых паролей. Этот способ проверки «правильности» пользователя в рамках современных ИТ-решений должен уйти в прошлое, хотя и имеет место в огромном числе компаний, в силу простоты использования и реализации.
Тем не менее использование такой аутентификации скорее должно свидетельствовать о незрелости ИТ-инфраструктуры с точки зрения безопасности или об отсутствии потребности бизнеса в построении защищенной информационной системы. Парольная аутентификация потенциально уязвима ввиду использования социотехники, внедрения клавиатурных шпионов, возможности перехвата и т.п. Я специально не касаюсь методов защиты, предлагаемых в рамках операционных систем, поскольку, во-первых, они не обеспечат решение вышеупомянутых проблем, во-вторых, эта тема подробно рассматривалась в статье «Active Directory Domain Services. Двухфакторная аутентификация. Теоретические основы» [1]
Итак, эффективным методом, с технической точки зрения, будет применение двухфакторной аутентификации, которая в свою очередь позволит минимизировать риски, связанные с использованием долговременных паролей.
Говоря о двухфакторной аутентификации, чаще подразумевают использование смарт-карт и USB-ключей, работа с которыми построена на технологиях асимметричной криптографии. Кроме того, нередко эти устройства также позволяют применять RFID-метки, тем самым ограничивая доступ к различным помещениям внутри организации.
Тенденции консьюмеризации, по сути своей уже ставшие в последнее время реальным положением вещей, приводят к тому, что сотрудникам требуется использовать разные типы устройств для доступа к ресурсам корпоративной сети. При работе в офисе используется стационарный или мобильный компьютер, в поездках проще обойтись планшетом или смартфоном. Разумеется, не всегда использование смарт-карт или USB-ключей возможно, у нас просто может не быть USB-разъема для подключения, тем не менее потребность в строгой аутентификации только возрастает с увеличением разновидностей применяемых устройств, которые далеко не всегда управляются и контролируются ИТ-службами компании.
Здесь существенную помощь окажет технология одноразовых паролей (OTP), которая, с одной стороны, может помочь реализовать строгую двухфакторную аутентификацию, а с другой, не потребует существенных затрат на внедрение и поддержку.
Одноразовые пароли. Терминология. Форм-факторы
Итак, начнем с определений.Одноразовые пароли (OTP, One-Time Passwords) – динамическая аутентификационная информация, генерируемая различными способами для однократного использования. Применение одноразового пароля возможно лишь один раз либо в некоторых реализациях в течение незначительного промежутка времени.
OTP-токен – мобильное персональное устройство, принадлежащее определенному пользователю, генерирующее одноразовые пароли, используемые для аутентификации данного пользователя.
Одноразовый пароль (OTP) практически неуязвим для атаки сетевого анализа пакетов, что является существенным преимуществом перед обычными долговременными паролями. Даже если одноразовый пароль будет перехвачен, вероятность того, что им смогут воспользоваться, весьма сомнительна, чтобы ее рассматривать всерьез.
Еще одним важным преимуществом использования OTP-токенов является то, что они дополнительно требуют от пользователя ввода PIN-кода, например, при активации, генерации OTP, для предъявления аутентифицирующему серверу совместно с OTP. Следовательно, у нас возникает еще один фактор аутентификации, и мы говорим о двухфакторной аутентификации пользователя в системе на основе обладания чем-либо (Authentication by Ownership) и на основе знания чего-либо (Authentication by Knowledge).
Существуют различные варианты подобных устройств. Это может быть карманный OTP-калькулятор, брелок, смарт-карты, устройство, обеспечивающее двойную функциональность (USB-ключ + OTP), например, SafeNet eToken NG-OTP. Кроме того, может использоваться программное обеспечение, скажем, выполняемое на смартфоне пользователя. Существует целый ряд компаний, выпускающих подобные средства, как программные, так и аппаратные, например, SafeNet, RSA, Gemalto.
Принципы работы
Для генерации одноразовых паролей OTP-токены используют криптографические алгоритмы:- симметричная криптография – в этом случае пользователь и сервер аутентификации используют один и тот же секретный ключ;
- асимметричная криптография – в этом случае в устройстве хранится закрытый ключ, а сервер аутентификации использует соответствующий открытый ключ.
Токены, использующие симметричную криптографию, могут работать в асинхронном и синхронном режимах. Асинхронный режим – технология «запрос-ответ», синхронный режим – «только ответ» (в этом варианте синхронизация может быть по времени или по событию).
«Запрос-Ответ» (Challenge-Response)
Рассмотрим принципы работы метода «запрос-ответ» (см. рис. 1):
- Пользователь вводит свое имя на рабочей станции. Имя пользователя передается серверу по сети в открытом виде.
- Сервер генерирует случайный запрос.
- Этот запрос передается по сети в открытом виде.
- Пользователь вводит полученные данные в свой OTP-токен.
- OTP-токен шифрует запрос с помощью секретного ключа пользователя, и формируется ответное значение, которое отображается на экране токена.
- Пользователь вводит это значение на своей рабочей станции.
- Затем ответ передается по сети в открытом виде.
- Сервер осуществляет поиск записи пользователя в аутентификационной БД, используя секретный ключ пользователя, шифрует тот же запрос.
- Далее сравниваются два значения: полученное от пользователя и вычисленное сервером. При их совпадении аутентификация считается успешной.
- Нетрудно заметить, что такой метод предполагает большое количество шагов и несколько большую вовлеченность пользователя в процесс аутентификации, добавляется необходимость еще одного дополнительного ввода данных, что создает неудобства.
«Только ответ» (Response only)
В методе «только ответ» OTP-устройство и сервер аутентификации генерируют скрытый запрос, используя значение предыдущего запроса. На первоначальной стадии используется уникальное случайное начальное значение, формируемое при инициализации токена.Рассмотрим принципы работы (см. рис. 2).

- Пользователь активирует токен, который отображает ответ на скрытый запрос.
- Пользователь вводит свое имя и этот ответ на рабочей станции.
- Имя пользователя и ответ передаются по сети в открытом виде.
- Сервер находит запись пользователя и генерирует такой же скрытый запрос, шифруя его с помощью секретного ключа пользователя.
- Сервер сравнивает ответ, полученный от пользователя, с вычисленным.
- При совпадении результатов аутентификация считается успешной.
Синхронизация по времени (Time synchronous)
При таком способе сервер аутентификации и OTP-устройство генерируют пароль, базируясь на показании внутренних часов. При этом возможность применения данного пароля ограничена определенным интервалом времени. Одним из примеров такого аутентификационного устройства является RSA SecurID. Посмотрим, как работает этот механизм (см. рис. 3).
- Пользователь активизирует свой токен, который генерирует OTP, зашифровывая показания часов с помощью своего секретного ключа.
- Пользователь вводит свое имя и этот OTP на своей рабочей станции. Имя пользователя и OTP передаются по сети в открытом виде.
- Сервер находит запись пользователя и шифрует показания своих часов с помощью хранимого им секретного ключа, получая в результате OTP.
- Далее сравниваются вычисленный и полученные OTP. При совпадении значений аутентификация считается успешной.
Синхронизация по событию
В режиме «синхронизация по событию» (см. рис. 4) токен и сервер ведут количественный отсчет прохождения аутентификаций пользователем и на основе этого числа генерируют OTP.
- Пользователь активирует токен, который генерирует OTP, зашифровывая количество прохождений аутентификаций данного пользователя с помощью своего секретного ключа.
- Пользователь вводит свое имя и OTP на рабочей станции.
- Эти данные передаются по сети в открытом виде.
- Аутентификационный сервер находит запись пользователя и шифрует значения количества прохождений аутентификаций данного пользователя с помощью хранимого секретного ключа, получая в результате OTP.
- Далее сравниваются полученные значения, и при совпадении аутентификация считается успешной.

В этом варианте проблему представляет ситуация, когда устройство аутентификации «обгонит» сервер, например, при многократном повторном нажатии кнопки генерации OTP на устройстве.
Типичные атаки и методы борьбы с ними
Для того чтобы понимать, как противостоять типовым уязвимостям системы при использовании одноразовых паролей, посмотрим существующие варианты атак, которые может осуществить «взломщик» системы.«Человек посередине»
Этот вариант атаки подразумевает, что злоумышленник перехватывает одноразовый пароль, посланный законным пользователем, блокирует пользователя, использует перехваченный пароль для собственной аутентификации в системе. Решением данной проблемы будет использование технологии «запрос-ответ» и отказ от использования одноразовых паролей, имеющих легитимность в течение периода времени, либо использование синхронизации по событию. То есть проводить аутентификацию потребуется каждый раз при новом соединении.
Кража, утеря токена
Это типичная ситуация, и решением в этом случае будет использование не только одноразовых паролей для аутентификации в системе, но и обязательное применение PIN-кода, то есть переход к двухфакторной аутентификации.
Подбор PIN-кода
Такой вид атаки трудно воспринимать всерьез, поскольку решение проблемы лежит на поверхности – блокировка токена при многократном неправильном вводе PIN-кода.
Извлечение значения секретного ключа из программного аутентификационного токена
Наряду с аппаратными реализациями OTP-токенов, существуют также и программные варианты. В этом случае возможен вариант атаки, когда злоумышленник копирует программное обеспечение и пытается отыскать хранящийся в нем секретный ключ, чтобы в дальнейшем использовать для аутентификации под видом легального пользователя. Решение указанной проблемы достигается тем, что PIN-код является частью ключа, без знания которого не удастся генерировать OTP, даже зная часть секретного ключа, хранимого в самом программном токене.
Нечестный администратор безопасности
Встречается ситуация, когда злоумышленником является сам администратор, отвечающий за выдачу средств аутентификации. Следовательно, на первый взгляд он может обладать возможностью создания дубликатов аутентификационных средств, посредством которых легко получить доступ к системе от имени другого пользователя. Для решения вышеназванной проблемы следует обеспечить разделение функций, то есть в процессе активирования токена должно участвовать не менее двух человек, каждый из которых обязан выполнять строго определенный набор задач.
Итак, мы видим, что внедрение одноразовых паролей позволит снизить риски, возникающие при обычной парольной аутентификации. Появляется возможность решения проблемы мобильных пользователей, для которых применение внешних подключаемых устройств (смарт-карт, USB-ключей) нередко представляет сложности, при этом мы можем говорить о двух факторах, поскольку OTP и PIN используются совместно в процессе аутентификации. При внедрении решений в корпоративной среде имеет смысл рассмотреть комбинированные устройства, совмещающие в себе функционал генерации одноразовых паролей со смарт-картой и RFID- устройством.
В одной из следующих статей мы рассмотрим, как осуществляется внедрение одноразовых паролей на практике, и поговорим о внедрении OTP-технологий для аутентификации в службе каталога Active Directory Domain Services.
Список литературы.
[1] Шапиро Л. В. Active Directory Domain Services. Двухфакторная аутентификация. Теоретические основы. //«Системный администратор», №7-8, 2010 г. – С. 100-105.[2] Аутентификация, теория и практика обеспечения безопасного доступа к информационным ресурсам. – М., 2009, ISBN 978-5-9912-0110-0.
[3] technet.microsoft.com/ru-ru/library/jj134229.
[4] technet.microsoft.com/en-us/library/ee809064.aspx.
[5] technet.microsoft.com/en-us/library/hh831379.aspx.
[6] www.aladdin-rd.ru/catalog/etoken/.
[7] NCSC-TG-017 – «A Guide to Understanding Identification and Authentication in Trusted Systems», опубликованный U.S. National Computer Security Center.
Статья опубликована в журнале «Системный Администратор».
0 комментариев