В схемах цифровой подписи применяются три основных алгоритма: RSA, алгоритм цифровой подписи DSA (Digital Signature Algorithm) и его вариант с использованием эллиптических кривых - EСDSA (Elliptic Curve Digital Signature Algorithm).
Сравнение криптографических механизмов безопасности
Криптографические механизмы необходимы для поддержания основных сервисов безопасности. Каждый класс алгоритмов имеет свои сильные и слабые стороны (см. табл. 4.1) [84].
Алгоритмы хэширования и коды аутентификации сообщения - основа обеспечения целостности данных в электронных коммуникациях. Но они не позволяют обеспечить конфиденциальность, аутентификацию, неотказуемость и распределение ключей. Алгоритмы цифровой подписи, такие как RSA и DSA, по эффективности превосходят алгоритмы хэширования. Если управление ключами возлагается на третью доверенную сторону, цифровые подписи могут использоваться для обеспечения неотказуемости.
Для обеспечения конфиденциальности должны применяться симметричные криптографические алгоритмы. В некоторой мере они также могут обеспечить целостность и аутентификацию, но не позволяют предотвратить отказ от участия в информационном обмене.
Самое слабое звено этих алгоритмов - распространение (распределение) ключей. Для решения проблемы распространения ключей широко используются алгоритм RSA, алгоритм Диффи-Хэллмана - Diffie-Hellman (DH) и алгоритм эллиптических кривых Диффи-Хэллмана - Elliptic Curve Diffie-Hellman (ECDH). Распространение ключей может выполняться тремя способами: прямым обменом между сторонами при помощи симметричного шифрования; посредством симметричного шифрования и доверенной третьей стороны или при помощи управления открытыми ключами доверенной третьей стороной.
|Механизм безопасности | Целостность данных | Конфиденциальность | Идентификация и аутентификация | Неотказуемость | Распределение ключей |
|Симметричная криптография | Шифрование | - | + | - | - | - |
|Коды аутентификации сообщения | + | - | - | - | - |
|Транспортировка ключей | - | - | - | - | + |
|Хэш-функции | Хэш-код сообщения | + | - | - | - | - |
|HMAC | + | - | - | - | - |
|Асимметричная криптография | Цифровые подписи | + | - | + | + | - |
|Транспортировка ключей | - | - | - | - | + |
|Согласование ключей | - | - | - | - | + |
Таблица 4.1.Сравнение криптографических механизмов безопасности
Первый способ подходит для небольших закрытых сообществ с числом пользователей не более 4 - 5 человек. Это решение плохо масштабируется при росте сообщества. Если число участников обмена ключами достигает 10 - 12 человек, то возникает необходимость в доверенной третьей стороне. Второй способ позволяет существенно расширить сообщество пользователей, но не обеспечивает в должной мере аутентификацию партнеров и неотказуемость. Только третий способ решает проблему комплексно. Если доверенная третья сторона связывает открытый ключ с пользователем или системой, то есть подтверждает подлинность стороны, владеющей соответствующим секретным ключом, то поддерживаются все сервисы безопасности.
Итак, аутентификация (как аутентификация субъекта, так и аутентификация источника данных), целостность и конфиденциальность являются главными сервисами безопасности, обеспечиваемыми PKI. Эти сервисы дают возможность субъектам подтверждать, что они действительно те, за кого себя выдают, получать гарантии, что передаваемые данные не были изменены каким-либо способом, и иметь уверенность, что данные, отправленные другому субъекту, будут прочитаны только им.
Лекция 5. Модели и механизмы доверия
Рассматриваются модели строгой и нестрогой иерархии удостоверяющих центров, иерархии на базе политик, модель распределенного доверия, четырехсторонняя модель доверия, web-модель доверия, модель доверия, сконцентрированного вокруг пользователя; объясняются принципы именования субъектов PKI и понятие идентичности субъекта, описываются сетевая и мостовая конфигурации PKI, обсуждается механизм кросс-сертификации и виды кросс-сертификатов.
Концепция доверия в PKI
При развертывании PKI необходимо иметь представление о распространенных моделях доверия, таких как:
* строгая иерархия удостоверяющих центров;
* нестрогая иерархия удостоверяющих центров;
* иерархия на базе политик;
* модель распределенного доверия;
* четырехсторонняя модель доверия;
* Web-модель доверия;
* модель доверия, сконцентрированного вокруг пользователя.
На практике редко используются модели доверия, которые считаются новыми в этой области. Рассмотрим перечисленные модели вместе с механизмом ( кросс-сертификацией ), который может играть важную роль в расширении доверия и управлении им.
Прежде чем перейти к описанию моделей доверия, важно внести ясность, что понимается под доверием в данном контексте. Наиболее точно смысл "доверия", по мнению авторов, передает формулировка рекомендаций X.509 ITU-T [78]: можно сказать, что один субъект "доверяет" другому субъекту, когда предполагает, что второй субъект будет вести себя точно так, как ожидает от него первый субъект. Таким образом, доверие имеет дело с предположениями, ожиданиями и поведением. Очевидно, это означает, что доверие не может быть измерено количественно, существует риск, связанный с доверием, и установление доверия не всегда происходит автоматически (например, когда субъектами в упомянутом выше определении являются люди). Концепция доверия раскрывает:
* где и как инициируется доверие в PKI;
* каким сертификатам может доверять субъект;
* как может быть подтверждено такое доверие;
* при каких обстоятельствах это доверие может быть ограничено или может контролироваться в данной среде.
В частности, в контексте PKI приведенное выше определение может быть использовано следующим образом: конечный субъект доверяет УЦ, когда предполагает, что последний будет устанавливать и поддерживать точное связывание атрибутов каждого субъекта с его открытым ключом (например, будет точно представлять идентичность субъекта, для которого он выпускает сертификат).
Термин "доверие" часто используется и по-другому: в литературе о PKI бывают ссылки на так называемый доверенный открытый ключ. Смысл термина "доверенный" в данном случае не связан с предположениями и ожиданиями одного субъекта относительно поведения другого субъекта. Можно сказать, что открытый ключ является "доверенным" для субъекта, когда тот уверен, что данный открытый ключ соответствует секретному ключу, который действительно легитимно принадлежит определенному поименованному субъекту. Обычно имя (или информация, идентифицирующая субъекта) появляется в сертификате вместе с открытым ключом. В лекции термин "доверие" используется в обоих смыслах.
Именование субъектов
Сертификатом называют подписанную, то есть заверенную цифровой подписью, структуру данных, связывающую пару ключей (явным образом открытый ключ и неявно секретный ключ) с идентичностью. Рассмотрим, что такое идентичность.