Ольга Полянская - Инфраструктуры открытых ключей
1 Трудно защитить систему аутентификации, которая получает секретную информацию, идентифицирующую субъекта (например, пароль или отпечатки пальцев), и передает ее на расстояние по незащищенным каналам, где она может быть скопирована с мошенническими целями недобросовестной стороной.
2 Пользователям неудобно вводить аутентифицирующую информацию всякий раз, когда они желают получить доступ к удаленной сети.
Таким образом, более рациональным решением является передача на расстояние результата процесса локальной аутентификации без передачи самой фактической информации, аутентифицирующей субъекта. Субъект может получить доступ к удаленной среде на основании положительного результата его аутентификации в локальной среде, если между локальной и удаленной средами установлена защищенная связь. В этом случае нет необходимости передавать на расстояние пароль, PIN-код или биометрические характеристики. Отметим, что такое решение может использоваться для последующей аутентификации (после успешно завершившейся начальной аутентификации) для работы с другими приложениями в локальной среде, то есть для защищенной однократной регистрации (см. лекцию 2).
Существует много способов доказательства идентичности субъекта, но любой способ предусматривает предъявление одного из четырех возможных идентифицирующих признаков:
1 того, что субъект имеет (например, смарт-карты или аппаратного ключа);
2 того, что субъект знает (например, пароля или PIN-кода);
3 того, чем субъект является (например, отпечатков пальцев, параметров ладони или рисунка радужной оболочки глаза);
4 того, что субъект делает (например, клавиатурного почерка).
При однофакторной идентификации используется только один из перечисленных методов, при многофакторной идентификации - более одного метода (двухфакторная идентификация использует два метода, трехфакторная - три и т.д.). Известным примером двухфакторной аутентификации является процесс однократной регистрации при пользовании банкоматом, когда пользователь вставляет карту со встроенным чипом (то, что пользователь имеет) и вводит PIN-код (то, что пользователь знает), чтобы получить доступ к своему банковскому счету. Очевидно, что системы многофакторной идентификации требуют больших затрат усилий от пользователя, но более эффективны в смысле безопасности и практически лишают злоумышленника возможности выдать себя за легитимного пользователя.
Сервисы PKI обычно не используются для начальной (безразлично - однофакторной или многофакторной) аутентификации в локальной среде, но необходимы для аутентификации в удаленной среде (или последующей аутентификации в локальной среде), которая выполняется на базе сложных протоколов запроса-подтверждения и подписанных цифровой подписью сообщений. Важным преимуществом удаленной аутентификации на базе открытых ключей перед механизмами, которые имитируют аутентификацию в локальной среде, является то, что секретная информация, идентифицирующая субъекта, никогда не передается по сети [10]. Если пользователь А хранит копию пароля или отпечатка пальца пользователя В, то пользователь В должен пройти аутентификацию, доказывая, что он знает или имеет эту информацию; это обычно выполняется путем передачи этой информации пользователю А в процессе регистрации. Если пользователь А владеет копией открытого ключа подписи пользователя В, то может попросить пользователя В подписать сообщение-запрос своим секретным ключом подписи (который известен только В ). Если подписанный запрос возвращается, то пользователь В аутентифицировал себя без раскрытия какой-либо секретной информации. По сети не передается та информация, которая может быть использована злоумышленником для маскировки под пользователя В. Более того, пользователям А и В нет необходимости участвовать в дорогом и неудобном процессе предварительного создания разделяемого секрета (например, в передаче пользователю А копии пароля или отпечатка пальца пользователя В ). Пользователь А может просто воспользоваться опубликованной в репозитории УЦ или присланной по электронной почте самим пользователем В копией его открытого ключа.
Преимуществом сервиса аутентификации PKI является возможность однократной регистрации через PKI-совместимые устройства (и возможно, через серверы шлюзов локальной сети к другим устройствам тоже) [44]. Пользователь сначала однократно регистрируется в локальной сети (используя однофакторную или многофакторную аутентификацию), после чего получает локальный доступ к своим секретным ключам. Затем секретный ключ подписи может быть использован для автоматической и прозрачной аутентификации пользователя другими серверами и устройствами сети независимо от того, желает ли пользователь использовать их для коммуникации. Пользователь может свободно использовать локальную и удаленную среды без необходимости каждый раз вводить пароль или предъявлять для считывания отпечаток пальца.
Целостность
Сервис целостности данных гарантирует то, что данные (передаваемые или хранимые) не были незаметно изменены. Очевидно, что такая гарантия существенна для любого вида электронного бизнеса, а также желательна во многих других средах. Целостность данных может быть достигнута при помощи таких механизмов, как биты контроля четности и циклический избыточный код [10], но они эффективны только для обнаружения случайных ошибок и бессильны противостоять преднамеренному манипулированию данными и модификации их содержания в корыстных целях. Для защиты данных от этого вида атак требуются криптографические методы. Необходимо, чтобы субъект, желающий обеспечить целостность данных, и субъект, желающий быть гарантированно уверенным в целостности данных, понимали и правильно использовали соответствующие алгоритмы и ключи. Преимуществом сервиса целостности, предоставляемого PKI, является возможность участников коммуникации выбирать алгоритмы и согласовывать ключи, причем делать это способом, полностью прозрачным для этих субъектов.
Конфиденциальность
Сервис конфиденциальности гарантирует секретность данных: никто не может прочесть данные, за исключением определенного субъекта, которому они предназначены. Требование конфиденциальности предъявляется к информации, которая:
* хранится на носителе (например, на жестком диске компьютера), откуда она может быть прочитана или скопирована субъектом, не имеющим полномочий;
* представляет собой резервную копию на носителе (типа магнитной ленты), который может попасть в руки стороннего субъекта;
* передается по незащищенным каналам.
Сервис конфиденциальности - это основа достижения понимания между субъектами прозрачным для них способом. Для обеспечения конфиденциальности, с учетом опыта и современных возможностей компьютерных правонарушителей, криптографические методы должны применяться ко всем секретным данным. Как и в случае обеспечения целостности, это требует правильного применения субъектами соответствующих алгоритмов и ключей.
Базовые криптографические механизмы сервисов безопасности PKI
Криптография - область прикладной математики, занимающаяся проблемами преобразования данных для обеспечения информационной безопасности. С помощью криптографии отправитель преобразует незащищенную информацию ( открытый текст ) в непонятный для стороннего наблюдателя, закодированный вид ( шифртекст ). Получатель использует криптографические средства, чтобы преобразовать шифртекст в открытый текст, то есть расшифровать его, проверить подлинность отправителя, целостность данных или реализовать некоторые комбинации перечисленного.
Современная криптография предлагает большой набор механизмов обеспечения информационной безопасности: от "классического" шифрования до алгоритмов хэширования, схем аутентификации, цифровой подписи и других криптографических протоколов [212]. Кратко остановимся на трех классах криптографических механизмов - симметричных алгоритмах, алгоритмах хэширования и асимметричных алгоритмах.
Симметричные алгоритмы
Использование симметричных криптографических алгоритмов предполагает наличие взаимного доверия сторон, участвующих в обмене электронными документами или сообщениями, так как для шифрования и расшифрования применяется известный им один и тот же общий ключ. В этом случае нет никаких гарантий, что секретный ключ не будет скомпрометирован, поэтому применение симметричных алгоритмов требует очень надежных механизмов распределения ключей. Кроме того, необходимость обмена единым ключом между отправителем сообщения и каждым из получателей многократно увеличивает количество ключей в системе и затрудняет ее масштабируемость. Для 10 пользователей нужно 45 ключей, а для 1000 - уже 499 500 ключей [213].