previous up next index search
Previous: 6.4.8 Алгоритм шифрования SAFER    UP: 6.4 Системы шифрования
    Next: 6.4.10 Протокол аутентификации Нидхэма-Шредера в случаях симметричной и асимметричной системы шифрования

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

Семенов Ю.А. (ИТЭФ-МФТИ)
Yu. Semenov (ITEP-MIPT)

Терминология
Аутентификационные технологии
Технология LDAP
Криптография
Аутентификация пользователя на ЭВМ
Раздача ключей и управление
Аутентификация сетевых услуг
Будущие направления
WEB-сервисы с контролем идентификации
Сопоставление разных видов аутентификации
Аутентификация с помощью SMS
Аутентификация и авторизация
Ссылки

1. Введение

Аутентификационные требования вычислительных систем и сетевых протоколов варьируются в весьма широких пределах. Пароли, которые уязвимы для атак пассивного типа, не могут удовлетворить требованиям современного Интернет [CERT94]. А помимо пассивных атак в сетевой среде сплошь и рядом предпринимаются активные методы [Bellovin89, Bellovin92, Bellovin93, CB94, Stoll90]. Смотри Essential Guide to Identity & Access Management. Так как масштаб сетевых угроз нарастает лавинообразно, приходится разрабатывать все более изощренные алгоритмы аутентификации (идентификации) людей, машин и процессов. Вектор развития этой технологий направлен на многопараметрические методы аутентификации.

2. Определения и терминология, используемые в данном документе

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

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

Аутентификация. Идентификация источника информации.

Авторизация. Предоставление прав доступа на основе аутентификации.

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

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

Целостность. Защита информации от неавторизованной модификации.

Сертификат ключа. Информационная структура, состоящая из общедоступного ключа, идентификатора лица, системы и информации, аутентифицирующей ключ и ассоциацию общедоступного ключа с идентификатором. Ключи, используемые PEM, являются примером сертификата ключа [Kent93].

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

Исходный текст (Plain-text). Незашифрованный текст.

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

Симметричная криптография. Система шифрования, которая использует один и тот же ключ для шифрования и дешифрования. Иногда называется криптографией с секретным ключом.

3. Аутентификационные технологии

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

3.1. Отсутствие аутентификации

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

3.2. Аутентификационные механизмы, уязвимые для пассивных атак

Простая проверка пароля является наиболее общей формой аутентификации. Простые аутентификационные проверки имеют различные формы: ключ может быть паролем, запомненным пользователем, он может быть физическим или электронным объектом, принадлежащим пользователю, он может быть уникальной биологической характеристикой. Простые аутентификационные системы считаются "раскрывающими", так как, если ключ передается по сети, он может быть перехвачен злоумышленником. Имеются сообщения об успешных пассивных атаках в Интернет с помощью “расколотых” уже ЭВМ [CERT94]. Механизмы раскрывающей аутентификации уязвимы для атак “воспроизведения”. Ключи доступа могут быть запомнены в атакуемой машине и при наличии бреши в системе безопасности можно получить доступ ко всем паролям. Обычно форма хранения паролей допускает их сверку, но не чтение.

3.3. Аутентификационные механизмы, уязвимые для активных атак

Не раскрывающие парольные системы созданы для предотвращения атак воспроизведения. Разработано несколько систем для генерации не раскрываемых паролей. Система аутентификации S/Key (TM), разработанная в Bellcore, генерирует много одноразовых паролей из одного секретного ключа [Haller94]. В системах одноразовых паролей они могут меняться один раз в минуту или даже чаще, такие системы часто используют аппаратные средства. Bellcore не использует физических объектов (token), поэтому удобна для аутентификации машина-машина. Аутентификация S/Key не требует запоминания секретного ключа пользователя, что является преимуществом при работе с ненадежными вычислительными системами. В ее сегодняшнем виде система S/Key уязвима для переборных атак со словарем в случае неудачного выбора пароля. Система CHAP протокола PPP не является раскрывающей, но применима только локально [LS92, Simpson93].

3.4. Аутентификационные механизмы, не уязвимые для пассивных атак

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

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

Технология LDAP

Популярность технологии каталожных сервисов LDAP продолжает расти. LDAP была разработана в 1993 году в университете Мичигана (смотри RFC-2849, -2891, -3062, -3296, -3671-74, -3687, -3703, -3727, -3866, -3876, -3909, -3928,-4510-33 и -5020). Данный список включает только основные документы RFC, посвященные LDAP. Смотри также Протокол LDAP (Lightweight Directory Access Protocol).

Эта техника явилась исходной моделью для разработки Microsoft Active Directory и MSDN (Microsoft Developer Network), она поддерживает современные технологии аутентификации, такие как карты доступа и биометрирческие устройства контроля. LDAP является стандартным Интернет протоколом для каталогов, где хранятся данные об аккаунте пользователя. Первоначально эта разработка служила для взаимодействия со стандартом каталогов Х.500 (ITU - Международный Телекоммуникационный союз)). Но к 1997 году, когда появились уже версии LDAPv2 и v3, функциональность была существенно расширена (были включены сервисы аутентификации и безопасности TLS и SSL). LDAP работает как в среде LINUX, так и в Windows. В рамках LDAP каждому пользователю присваивается уникальное имя DN. Каждое DN имеет несколько атрибутов, которые детально определяют доступ пользователя к дереву каталогов. DN является объектом, который может быть использован при написании программы управления на объектно ориентированных языках. DN может быть встраиваться в URL и доступен через DNS-сервисы. На его основе были созданы Интернет протоколы XED (XML Enabled Directory) и DSML (Directory Service Markup Language). LDAP поддерживает сервисы динамических каталогов. Последние улучшения были связаны в основном с разработкой разнообразных GUI.

4. Криптография

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

4.1. Симметричная криптография

Симметричная криптография включает в себя все системы, которые используют один и тот же ключ для шифрования и дешифрования. Таким образом, если кто-либо получит ключ, он сможет дешифровать и читать информацию, зашифрованную с его помощью. Такое лицо сможет шифровать и посылать любые данные, выдавая их за информацию, посланную легальным владельцем этого секретного ключа. Это означает, что знание ключа нежелательным третьим лицом полностью компрометирует конфиденциальность системы. Следовательно, используемые ключи должны доставляться безопасным способом, либо курьером, либо с применением специального протокола пересылки ключей, лучшим из которых является алгоритм Нидхэма-Шрёдера [NS78, NS87]. Широко используется алгоритм DES (Data Encryption Standard), который был стандартизован для защиты правительственной информации в США. Он представляет собой один из лучших симметричных алгоритмов шифрования [NBS77].

Хорошо известной системой, работающей в открытых сетях, является система аутентификации Kerberos (TM), которая была разработана в рамках проекта Athena в MIT [SNS88, BM91, KN93]. Система Kerberos базируется на алгоритме DES и использует специальный сервер, который хранит секретные ключи всех пользователей и услуг. Он может генерировать коды, которые позволяют пользователям и процессам идентифицировать себя в других системах. Как в любой схеме с распределенной аутентификацией, эти верительные коды работают в пределах местного административного домена. Следовательно, если пароль пользователя раскрыт, злоумышленник будет способен маскироваться под этого пользователя и проникнуть в любую систему, обслуживаемую Kerberos. Так как сервер Kerberos знает все секретные ключи, он должен быть достаточно безопасным. Ключи сессии Kerberos могут использоваться для обеспечения конфиденциальности при обмене между любыми объектами в пределах зоны действия сервера.


Репродукция с фотографии, сделанной Гераклом во время его служебной командировки в Аид.
Kerberos-Википедиа

Kerberos: The Network Authentication Protocol

Kerberos5

Протокол сетевой аутентификации Kerberos 5 (Русское описание)

Kerberos в Windows-2000

The Kerberos Network Authentication Service (V5). RFC-1510.

4.2. Асимметричная криптография

В конце 1970, главным прорывом в криптографии стала разработка асимметричной криптографии. Здесь для шифрования и дешифрования используются разные ключи, которые генерируются совместно. Наилучшая асимметричная система базируется на алгоритме, предложенном Rivest, Shamir и Adleman, и называется по инициалам авторов RSA [RSA78].

SPX представляет собой экспериментальную систему, которая преодолевает ограничения системы Kerberos путем применения криптографии с общедоступным ключом RSA [TA91]. SPX предполагает глобальную иерархию сертифицирующих узлов по одному или более для каждого из партнеров. Она использует цифровую подпись, которая состоит из строки кодов, зашифрованных секретным ключом отправителя, и которая может быть проверена с помощью соответствующего общедоступного ключа. Общедоступные ключи предполагаются правильными, так как получены с сертифицирующей подписью. Критические секции аутентификационного обмена шифруются посредством общедоступных ключей получателя, что препятствует атаке воспроизведения.

4.3. Криптографические контрольные суммы

Криптографические контрольные суммы являются одним из наиболее важных средств разработчиков криптографических протоколов. Криптографическая контрольная сумма или MIC (Message Integrity Checksum) служат для контроля целостности сообщений и аутентификации. Например, Secure SNMP и SNMPv2 вычисляют криптографическую контрольную сумму MD5 для совместного секретного блока данных и информации, которая должна быть аутентифицирована [Rivest92, GM93]. Это служит для того, чтобы аутентифицировать источник данных при этом предполагается, что эту сумму крайне трудно фальсифицировать. Она не указывает на то, что сами посланные данные корректны, а лишь на то, что они посланы именно данным отправителем. Криптографические контрольные суммы могут использоваться для получения относительно эффективной аутентификации, и особенно полезны при обмене ЭВМ-ЭВМ. Главная трудность реализации - передача ключей.

4.4. Цифровые подписи (сигнатуры)

Цифровая подпись представляет собой криптографический механизм, который является аналогом рукописной подписи. Она служит для аутентификации блока данных и подтверждает то, что она получена от отправителя. Цифровая подпись, использующая асимметричную криптографию (общедоступные ключи) может быть полезной для определения источника сообщения даже в случае, когда отправитель отрицает свое авторство. Цифровая подпись обеспечивает аутентификацию без конфиденциальности, так как текст самого сообщения не шифруется. Цифровая подпись использована в системе конфиденциальной почты PEM (Privacy Enhanced Mail) [Linn93, Kent93, Balenson93, Kaliski93].

5. Аутентификация пользователя на ЭВМ

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

В настоящее время большинство систем используют открытый текст для передачи паролей по сетевым каналам, что сильно упрощает их перехват [Anderson84, Kantor91]. Такая система не обеспечивает адекватной защиты от атак воспроизведения, когда злоумышленник сумел заполучить идентификатор и пароль удаленного пользователя.

Современные системы аутентификации часто являются многофакторными:

Сегодня формируются базы данных отпечатков пальцев и радужек глаз. Только в Индии сформирована такая БД на 200 млн. людей.

Смотри также:

Идентификатор доступа к сети,
Протокол аутентификации Нидхема-Шредера,
Протокол SSH,
Протокол SSL,
Технические средства безоапасности,
Сетевая безопасность,
Протокол TLS,
Технология IpSec,
Справочник по безопасности сетевого узла,
Система аутентификации удаленных пользователей,
Протокол электронных платежей.

5.1. Защита против пассивной атаки является необходимой

Отсутствие, по крайней мере, не раскрывающей парольной системы, означает предоставление неограниченного доступа любому, кто имеет физический доступ к сети. Например, всякий кто имеет доступ к кабелю Ethernet, может имитировать работу любого пользователя данного сегмента сети. Таким образом, когда кто-то имеет пароль, передаваемый по Ethernet открытым текстом, реализуется первичная система безопасности. Когда размер локальной системы невелик (а это справедливо не только для Ethernet, но и для FDDI или Token-Ring LAN), данная система может еще рассматриваться как приемлемая, но это совершенно не так для сетей Интернет [CERT94].

Минимальной защитой против пассивных атак, таких как прослушивание сети, является применение не раскрывающей системы паролей. Такая система может функционировать на пассивном терминале или в качестве коммуникационной программы (напр., Crosstalk или PROCOMM), которая эмулирует пассивный терминал на персональной ЭВМ. Использование более строгой аутентификационной системы защитит против пассивных атак со стороны удаленных систем за счет ограничения использования простых терминалов. Разумно ожидать, что производители коммуникационных программ и не программируемых пользователем терминалов (таких как Х-терминалы) встроят систему не раскрываемых паролей или более строгие аутентификационные системы. Одним из преимуществ Kerberos является то, что при правильном использовании пароль пользователя никогда не покидает пределов рабочей станции. Вместо этого они используются для расшифровки билетов пользователя Kerberos.

5.2. Защита периметра

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

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

Частой формой защиты периметра является передача приложений. Так как эти передачи являются протокольно зависимыми, IP-коннективность ЭВМ в пределах периметра с внешним миром оказывается нарушенной и часть преимуществ Интернет пропадает.

Административное преимущество защиты периметра заключается в том, что число ЭВМ, которые могут быть подвергнуты атаке, достаточно мало. Эти машины могут быть тщательно проверены с точки зрения угроз безопасности. Но достаточно трудно или даже невозможно создать достаточно "герметичную" систему. Безопасность системы защиты периметра достаточно сложна, так как шлюз должен пропускать некоторые типы трафика, например, электронную почту. Другие сетевые услуги, такие как NTP (Network Time Protocol) и FTP могут также оказаться желательными [Mills92, PR85, Bishop]. Более того, шлюзовая система периметра должна быть способна пропускать весь трафик всего домен, заключенного в данный периметр.

5.3. Защита от активных атак является крайне желательной

В обозримом будущем потребуются достаточно мощные системы, способные противостоять активным атакам. Многие корпоративные сети, базирующиеся на широковещательной технологии, такой как Ethernet, вероятно нуждаются в такой методике. Чтобы защититься от активных атак, или обеспечить конфиденциальность, необходимо использовать протокол с шифрованием сессии, например, Kerberos, возможно использование аутентификационного механизма, который защищает от атаки воспроизведения. В системе Kerberos, пользователи получают коды доступа от сервера Kerberos и используют их для аутентификации, чтобы осуществить доступ к услугам других ЭВМ сети. Вычислительная мощность локальной рабочей станции может быть использована для дешифрования кодов доступа (используя ключ, извлеченный из пароля, введенного пользователем) и запоминания на время пока это требуется. Если протокол безопасности базируется на синхронизации часов, тогда может быть полезен протокол NTPv3, так как он распространяет временные метки для большого числа ЭВМ и является одним из немногих протоколов Интернет, которые содержат механизмы аутентификации [Bishop, Mills92].

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

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

6. Раздача ключей и управление

Управление доступом для ключей является самой тяжелой проблемой, с которой приходится сталкиваться при обеспечении аутентификации в больших сетях Интернет. Протокол Нидхема-Шрёдера [NS78, NS87], который используется в системе Kerberos, базируется на централизованном сервере ключей. В больших корпоративных сетях требуется значительное число таких ключевых серверов, по крайней мере, один ключевой сервер на каждый административный домен. Существует также нужда в механизмах для отдельных ключевых серверов, необходимых для координирования генерации ключей сессий участников в различных административных доменах.

Большинство алгоритмов шифрования с использованием общедоступных ключей требуют достаточно больших вычислительных мощностей и по этой причине они неидеальны для шифрования пакетов в сети. Однако асимметричное свойство делает их очень полезными в начале сессии для получения симметричных ключей сессии. На практике, коммерческий сектор, вероятно, использует асимметричный алгоритм для цифровых подписей и пересылки ключей, но не для массового шифрования данных. Для целей пересылки ключей можно использовать алгоритмы RSA и Диффи-Хелмана [DH76]. Преимуществом асимметричной методики является отсутствие необходимости иметь центральный сервер для хранения и рассылки ключей. Система PEM использует цифровые подписи для аутентификации общедоступных ключей пользователей [Kent93]. Результатом этой операции является сертификат, который содержит общедоступный ключ партнера. Сертификаты ключей могут рассылаться различными способами. В одном из вариантов рассылка ключей встраивается в существующие службы каталогов. Это может быть сделано, например, путем расширения возможностей DNS и включения ключа ЭВМ в ресурсную запись нового типа.

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

7. Аутентификация сетевых услуг

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

Наиболее общий случай в настоящее время - это отсутствие поддержки в протоколе какой-либо аутентификации. Bellovin и другие документировали многие случаи, когда существующие протоколы могут использоваться для атаки удаленной ЭВМ, так как там не существует встроенной процедуры аутентификации [Bellovin89].

Некоторые протоколы предоставляют возможность передачи незащищенных паролей совместно с протокольной информацией. Исходные протоколы SNMP использовали этот метод, многие маршрутные протоколы продолжают его использовать и сейчас [Moy91, LR91, CFSD88]. Этот метод полезен, так как несколько повышает безопасность передачи.

Существует много протоколов, которые нуждаются в поддержке более строгих аутентификационных механизмов. Например, известно, что протокол SNMP нуждается в существенном усилении аутентификации. Это вызвало разработку протоколов Secure SNMP, которые поддерживают опционную аутентификацию, используя цифровую подпись и опционное шифрование с привлечением алгоритма DES. Цифровые подписи, используемые в Secure SNMP, базируются на добавлении криптографической контрольной суммы к SNMP-информации. Криптографическая контрольная сумма вычисляется с использованием алгоритма MD5 и секретного кода, используемого совместно обоими партнерами обмена.

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

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

В некоторых случаях, возможно включающих электронную почту, может оказаться желательным обеспечить безопасность в пределах приложения на уровне пользователь-пользователь, а не ЭВМ-ЭВМ. Безопасная почта PEM использует именно этот подход [Linn93, Kent93, Balenson93, Kaliski93].

8. Будущие направления

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

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

Если рассматривать существующие симметричные алгоритмы как одно-ключевые, а асимметричные, такие как RSA в качестве двухключевых систем, можно предположить появление в будущем N-ключевых методик (где N больше 2). Если бы такая N-ключевая технология существовала, она могла бы использоваться для реализации масштабируемых протоколов для рассылки ключей в случае мультикастинга. В настоящее время ведется разработка технологии CBT (Core Based Tree), предназначенной для решения подобной задачи [BFC93].

WEB-сервисы с контролем идентификации

Данный подраздел подготовлен на основе Identity-Enabled Web Services. Standards-based Identity for WEB 2.0 (Ping Identity Corporation). Появление SAML (Security Assertion Markup Language) сделало возможным обеспечение безопасности приложений WEB 2.0 для сервис провайдеров, которые используют протокол SOAP (Simple Object Access Protocol). SAML предоставляет механизм, который позволяет транспортировать параметры идентификации на всех уровнях.

Сервис STS (WS-Trust Security Token Service) позволяет преобразовывать параметры безопасности (token) из формата SAML в формат, специфический для домена, и наоборот. STS упрощает предоставление WEB-сервисов с контролем идентификации.

WEB-сервисы являются шлюзом, который обеспечивает совместимость самых разных программных технологий. В последнее время стала популярной технология SOA (Service Oriented Architecture), которая часто совмещается с SOAP и REST (Representational State Transfer).

Базовым принципом такой архитектуры является обеспечение совместимости базовых стандартов (XML, SOAP, WS-Security и HTTP). Когда источник запроса WEB-сервиса взаимодействует с WEB-сервис провайдером, они не должны зависеть от деталей, скрытых внутри конкретных программных реализаций. Взаимодействие между ними происходит посредством стандартных сообщений.

До последнего времени большинство WEB-сервисов базировалось на аутентификации пользователя системного или прикладного уровня. В результате WEB-сервис провайдер проверяет идентичность источника WEB-запроса (приложения, выдавшего SOAP-запрос), анализируя, содержатся ли параметры идентификации в теле сообщения. Эта модель не вполне безопасна.

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

Существует три открытых стандарта - WSS (Web Services Security), SAML (Security Assertion Markup Language) и WS-Trust (Web Services Trust), которые способны гарантировать идентификацию пользователя путем включения нужной информации в SOAP-запрос.

Создатель системы может располагать следующими сервисами безопасности:

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

WS-Security является стандартом безопасности WEB-сервисов, широко используемым практически во всех SOAP-системах, таких как IBM WebSphere, Microsofy .Net и Apache Axis. WS-Security не определяет нового механизма безопасности, он описывает, как использовать существующие стандарты безопасности для обеспечения конфиденциальности, целостности сообщений, аутентификации в рамках SOAP-сообщений.

Конфиденциальность и целостность сообщений реализуются за счет криптования XML и XML-подписи (стандарты W3C). WS-Security определяет технику использования электронной подписи и криптозащиты в SOAP.

Аутентификация и авторизация используют разные профайлы для передачи маркеров (token) безопасности в заголовках сообщений WS-Security. Такие маркеры могут содержать идентификационные данные пользователя. Решение об авторизации принимаются на основании этой информации. Повторная аутентификация для предоставления определенного сервиса уже не требуется - работает принцип SSO (Single Sign-On). Появляются специальные токены в виде USB-модулей.

WS-Security определяет профайлы для различных типов маркеров безопасности. Сюда входят профайлы для Kerberos ticket'ов, сертификатов Х.509, пар имя/пароль, утверждений SAML и лицензий XRML.

WS-Trust является стандартом OASIS (Organization for the Advancement of Structured Information Standards), который определяет протокол сообщений для получения или проверки маркеров безопасности, генерируемых службой STS.

Рис. 1. Безопасность WS передает идентификационные данные с помощью Security Token, созданного STS

Маркеры безопасности могут быть затем переслан в заголовках WS-Security запросов SOAP c использованием профайла маркеров WS-Security. WS-Trust обеспечивает возможность передавать сообщения безопасности сервисам через неоднородную среду.

Стандарт SAML также является продуктом OASIS. Этот стандарт определяет протоколы и профайлы для объединения различных прикладных требований. Наиболее известным примером этих приложений является реализауия безопасности браузера на основе технологии SSO.

Спецификация SAML определяет также маркер безопасности, вызванный утверждением SAML. Утверждение SAML является безопасным предложением идентичности, которое может использоваться совместно с WS-Security для реализации аутентификации, SSO и авторизации между источником запроса сервиса и WEB-сервис провайдером.

SAML хорошо приспособлен для реализации SSO, базирующейся на браузере. WS-Security и WS-Trust образуют опорную магистраль для передачи маркеров безопасности внутри системы.

Источник запроса WEB-услуги взаимодействует с STS (служба маркеров), которая формирует утверждение SAML, которое характеризует идентичность пользователя. Источник запроса помещает утверждение SAML в WSS-заголовок каждого SAML-запроса. STS становится агрегатором и арбитром безопасности.

Провайдер WEB-услуг должен доверять STS, которая сформировала утверждение SAML. В противном случает провайдер может использовать STS, чтобы проверить утверждение SAML самостоятельно. Утверждение SAML содержит данные, которые позволяют сервис провайдеру принять правильные решения в отношении аутентификации и авторизации.

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

Рис. 2. Web-сервис провайдер должен неявно доверять приложению

Такое установление доверия может быть реализовано разными путями. Web-сервис провайдер может решить доверять приложению, которое прислало сообщение SOAP. В этом случае Web-сервис провайдер верит, что приложение источника запроса имеет право послать запрос и идентичность пользователя как-то проверена. По существу, провайдер доверяет всем сообщениям, пришедшим от источника запросов.

Рис. 3. Идеальная ситуация. Web-сервис провайдер доверяет пользователю, обеспечивая безопасность end-to-end

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

Утверждение SAML может предоставить данные, идентифицирующие приложение (или пользователя) источник запроса, пославшее сообщение SAML. В любом случае отправитель запроса должен позаботиться о маркере безопасности, чтобы получить доступ к WEB-сервисам из различных доменов безопасности. Существует несколько способов решить эту проблему:

Практика последнего времени склоняется к третьему, более дешевому и гибкому варианту.

SAML является стандартом OASIS, который определяет XML-протоколы и профайлы для целей идентификации. Утверждение SAML является безопасным предложением, характеризующим идентичность, которое может быть использовано WS-Security для выполнения аутентификации, SSO и авторизации между источником запроса и Web-сервис провайдером. WS-Security определяет специфический профайл, который описывает то, как использовать утверждение SAML с WS-Security. Этот профайл называется SAML Token profile.

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

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

Kerberos Tickets. Kerberos является открытым стандартом, но он не предназначался для междоменного использования. Достаточно трудно сделать так, чтобы тикит, сформированный в одном домене безопасности, мог быть применен для доступа к ресурсам в другом домене.

Сертификаты X.509. Модель инфраструктуры с открытым ключом PKI и сопряженные с ней сертификаты Х.509, становится проблематичной при попытке использовать ее для идентификации людей. Генерация большого числа сертификатов Х.509 для идентификации пользователей в пределах домена безопасности достаточно сложное дело.

Технология утверждений SAML базируется на сертификатах X.509 и на модели PKI. Для организации междоменной схемы SSO требуется лишь ограниченного числа сертификатов и сопряженных с ними ключей. Сертификат Х.509, сформированный сертификационным центром Y и заявление "I am Security Domain A" используется для подписи утверждений SAML, которые транспортируют идентичность пользователя, которая гласит "I am User X from Security Domain A".

Утверждение SAML станет универсальным языком для WEB-сервисов с контролем идентичности. Его можно рассматривать как универсальный формат маркеров безопасности.

STS является функцией, определенной спецификацией WS-Trust. Отправитель запроса взаимодействует с STS для получения маркера безопасности для работы с сообщениями SOAP. WEB-сервис провайдер взаимодействует с STS, чтобы проверить маркеры безопасности, которые получены в сообщении SOAP. STS является арбитром между различными форматами маркеров, такими что сообщение SOAP может быть исполнено с полным учетом контекста безопасности запроса.

Рис. 4. Арбитраж безопасности нескольких доменах в рамках SAML

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

Рис. 5. Сервисы маркеров безопасности транслируют их в утверждения SAML

В качестве примера источник запроса WEB-услуги может попросить STS генерировать утверждение SAML, которое характеризует идентичность пользователя или приложения, которое ссылается на тело сообщения SOAP. Отправитель запроса должен доказать, что он действительно авторизован посылать запроc утверждения SAML для данного пользователя. В случае более сложного приложения это может быть тикит Kerberos, сформированный активным каталогом Microsoft. В случае WEB-портала это может быть Cookie сессии, сформированное программой управления WEB-доступом. WEB-сервис провайдер может обрабатывать запросы SOAP от любых источников запроса, которые предоставляют идентификационные данные о пользователе в соответствии со стандартом.

Рис. 6. Сервисы маркеров безопасности транслируют их в утверждения SAML

В принципе должен быть реализован вариант автономной системы контроля идентичности сервер/STS. Такая архитектура делает возможным:

Автономная система идентификации сервер/STS позволяет сконцентрировать обработку и администрирование в одном месте.

Сопоставление разных видов аутентификации

Разные виды аутентификации обеспечивают различную мобильность пользователя и надежность. Мобильность пользователей сама по себе существенно усложняет их аутентификацию (переменный IP-адрес, дополнительные возможности атак типа MITM). Смотри рис. 7.

Рис. 7. Соотношение мобильности и эффективности аутентификации для разных технологий

OTP - одноразовые пароли; OOB - Out of Band Authentication; TPM -Trusted Platform Module.(Смотри The Future Authentication Online Services).

Аутентификация OOB (внеканальная - Out of Band) базируется на использовании двухфакторной модели с программной аутентификацией и является еще одной разновидностью идентификации, которая предполагает наличие отдельных каналов для аутентификации и передачи данных. В одной из версий ООВ предполагается применение SMS, посылаемых на мобильный телефон с последующим голосовым вызовом для аутентификации. Этот вид идентификации недостаточно безопасен, но в сочетании с другими может оказаться достаточно надежным. В последнее время появвились новые виды USB-аутентификаторов.

Аутентификация с помощью SMS

Актуальность обеспечения безопасности мобильных средств коммуникации, например ip-phone, стимулирует новые разработки в этой области. Среди них можно назвать аутентификация с помощью SMS-сообщений. Процедура такой аутентификации включает в себя следующие шаги:

  1. Ввод имени пользователя и пароля
  2. Сразу после этого PhoneFactor (служба безопасности) присылает одноразовый аутентификационный ключ в виде текстового SMS-сообщения.
  3. Полученный ключ используется для аутентификации

Привлекательность данного метода заключается в том, что ключ получается не по тому каналу, по которому производится аутентификация (out-of-band), что практически исключает атаку типа "человек-по-середине". Дополнительный уровень безопасности может дать требование ввода PIN-кода мобильного средства.

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

Очень часто пользователи не различают авторизацию и аутентификацию, хотя эти две процедуры имеют разное назначение. Авторизация (процедура Logon/Logoff) требует ввода имени и пароля. Пароль и имя могут передаваться открытым текстом или зашифрованным. Аутентификация предполагает проверку идентификацию клиента. Аутентификация может производиться не на том компьютере, где производится авторизация. Аутентификация может включать процедуру сертификации или проверку IP-адреса, откуда производится попытка аутентификации. Организовать проверку IP-адреса можно, поместив список разрешенных адресов в файл /etc/hosts_allow (ОС Linux).

Тип LogonОписание
2Интерактивный (с консоли)
3Сетевой (т.е.соединение с разделяемым ресурсом откудо-то через сеть)
4Batch (запуск задания по времени)
5Сервис (запуск сервиса)
10Удаленный интерактивный (терминальный сервис, использование удаленного компьютера в качестве услуги или удаленная помощь)

Современные системы управления доступом к ресурсам используют комплексную модель AAA (Authentication, Authorization, and Accounting). В эту схему часто входит и контроль принадлежности того или иного ресурса. Смотри The technology of trust. A short course in authentication, authorization, and accounting — the security mechanisms that keeps modern Internet-connected computing humming.

Одним из источников угрозы является также ненадлежащий уровень доступа (привилегий) при выполнении тех или иных приложений. 88% из почти 12000 инцидентов в 2013 году были связаны неправильно выбранным уровнем доступа инсайдеров ("Privileged Identity Management", GEMALTO.COM. Security to be free). Иллюстрацией этой проблемы может быть случай с Э.Сноуденом. Дифференциация уровней доступа инсайдеров является одной из основ безопасности. Важным средством обеспечения безопасности является многофакторная аутентификация. Оптимальным путем решения проблемы можно считать использование смарткарт. Схема реализации применения смарткарты и сертификатов для аутентификации показана на рис. 8. RDP - Remote Desktop Protocol.

Рис. 8. использование смарткарт и сертификатов для доступа к облачным ресурсам

Ссылки

[Anderson84] Anderson, B., "TACACS User Identification Telnet Option", RFC 927, BBN, December 1984.
[Balenson93] Balenson, D., "Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identifiers", RFC 1423, TIS, IAB IRTF PSRG, IETF PEM WG, February 1993.
[BFC93] Ballardie, A., Francis, P., and J. Crowcroft, "Core Based Trees (CBT) An Architecture for Scalable Inter-Domain Multicast Routing", Proceedings of ACM SIGCOMM93, ACM, San Franciso, CA, September 1993, pp. 85-95.
[Bellovin89] Bellovin, S., "Security Problems in the TCP/IP Protocol Suite", ACM Computer Communications Review, Vol. 19, No. 2, March 1989.
[Bellovin92] Bellovin, S., "There Be Dragons", Proceedings of the 3rd Usenix UNIX Security Symposium, Baltimore, MD, September 1992.
[Bellovin93] Bellovin, S., "Packets Found on an Internet", ACM Computer Communications Review, Vol. 23, No. 3, July 1993, pp. 26-31.
[BM91] Bellovin S., and M. Merritt, "Limitations of the Kerberos Аутентификация System", ACM Computer Communications Review, October 1990.
[Bishop] Bishop, M., "A Security Analysis of Version 2 of the Network Time Protocol NTP: A report to the Privacy & Security Research Group", Technical Report PCS-TR91-154, Department of Mathematics & Computer Science, Dartmouth College, Hanover, New Hampshire.
[CB94] Cheswick W., and S. Bellovin, "Chapter 10: An Evening with Berferd", Firewalls & Internet Security, Addison-Wesley, Reading, Massachusetts, 1994. ISBN 0-201-63357-4.
[CERT94] Computer Emergency Response Team, "Ongoing Network Monitoring Attacks", CERT Advisory CA-94:01, available by anonymous ftp from cert.sei.cmu.edu, 3 February 1994.
[CFSD88] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1067, University of Tennessee at Knoxville, NYSERNet, Inc., Rensselaer Polytechnic Institute, Proteon, Inc., August 1988.
[DH76] Diffie W., and M. Hellman, "New Directions in Cryptography", IEEE Transactions on Information Theory, Volume IT-11, November 1976, pp. 644-654.
[GM93] Galvin, J., and K. McCloghrie, "Security Protocols for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1446, Trusted Information Systems, Hughes LAN Systems, April 1993.
[Haller94] Haller, N., "The S/Key One-time Password System", Proceedings of the Symposium on Network & Distributed Systems Security, Internet Society, San Diego, CA, February 1994.
[Kaufman93] Kaufman, C., "Distributed Аутентификация Security Service (DASS)", RFC 1507, Digital Equipment Corporation, September 1993.
[Kaliski93] Kaliski, B., "Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certification and Related Services", RFC 1424, RSA Laboratories, February 1993.
[Kantor91] Kantor, B., "BSD Rlogin", RFC 1258, Univ. of Calif San Diego, September 1991.
[Kent93]

Kent, S., "Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management", RFC 1422, BBN, IAB IRTF PSRG, IETF PEM, February 1993.

[KN93] Kohl, J., and C. Neuman, "The Kerberos Network Аутентификация Service (V5)", RFC 1510, Digital Equipment Corporation, USC/Information Sciences Institute, September 1993.
[Linn93] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Аутентификация Procedures", RFC 1421, IAB IRTF PSRG, IETF PEM WG, February 1993.
[Linn93a] Linn, J., "Common Аутентификация Technology Overview", RFC 1511, Geer Zolot Associate, September 1993.
[LS92] Lloyd B., and W. Simpson, "PPP Аутентификация Protocols", RFC 1334, L&A, Daydreamer, October 1992.
[LR91] Lougheed K., and Y. Rekhter, "A Border Gateway protocol 3 (BGP-3)", RFC 1267, cisco Systems, T.J. Watson Research Center, IBM Corp., October 1991.
[Mills92] Mills, D., "Network Time Protocol (Version 3) - Specification, Implementation, and Analysis", RFC 1305, UDEL, March 1992.
[NBS77] National Bureau of Standards, "Data Encryption Standard", Federal Information Processing Standards Publication 46, Government Printing Office, Washington, DC, 1977.
[NS78] Needham, R., and M. Schroeder, "Using Encryption for Аутентификация in Large Networks of Computers", Communications of the ACM, Vol. 21, No. 12, December 1978.
[NS87] Needham, R., and M. Schroeder, " Аутентификация Revisited", ACM Operating Systems Review, Vol. 21, No. 1, 1987.
[PR85] Postel J., and J. Reynolds, "File Transfer Protocol", STD 9, RFC 959, USC/Information Sciences Institute, October 1985.
[Moy91] Moy, J., "OSPF Routing Protocol, Version 2", RFC 1247, Proteon, Inc., July 1991.
[RSA78] Rivest, R., Shamir, A., and L. Adleman, "A Method for Obtaining Digital Signatures and Public Key Crypto-systems", Communications of the ACM, Vol. 21, No. 2, February 1978.
[Rivest92] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT Laboratory for Computer Science and RSA Data Security, Inc., April 1992.
[Simpson93] Simpson, W., "The Point to Point Protocol", RFC 1548, Daydreamer, December 1993.
[SNS88] Steiner, J., Neuman, C., and J. Schiller, "Kerberos: "An Аутентификация Service for Open Network Systems", USENIX Conference Proceedings, Dallas, Texas, February 1988.
[Stoll90] Stoll, C., "The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage", Pocket Books, New York, NY, 1990.
[TA91] Tardo J., and K. Alagappan, "SPX: Global Аутентификация Using Public Key Certificates", Proceedings of the 1991 Symposium on Research in Security & Privacy, IEEE Computer Society, Los Amitos, California, 1991. pp.232-244.

Previous: 6.4.8 Алгоритм шифрования SAFER    UP: 6.4 Системы шифрования
    Next: 6.4.10 Протокол аутентификации Нидхэма-Шредера в случаях симметричной и асимметричной системы шифрования