Квинт Эмилий Барбула
- 1 year ago
- 0
- 0
Simple public key infrastructure ( рус. простая инфраструктура открытых ключей, SPKI, произносится как spoo-key ) — инфраструктура открытых ключей , созданная IETF Simple Public Key Infrastructure Working Group для устранения некоторых недостатков стандарта X.509 . Существует две IETF Request For Comments спецификации — и IETF SPKI working group.
SPKI — инфраструктура открытых ключей , предназначенная для обеспечения механизмов поддержки защиты в широком диапазоне Интернет приложений, включающих IPSEC протоколы, зашифрованную электронную почту и WWW -документы, платёжные протоколы и другие приложения, запрашивающие использование сертификатов открытых ключей и возможность доступа к ним. SPKI была предложена для того, чтобы заменить X.509 в связи с недостатками данной системы. SPKI создана для решение проблем авторизации и идентификации . Также данная система имеет возможность делегирования полномочий. В SPKI не существует глобальной иерархической структуры центров сертификации , вместо этого SPKI использует более детализированный подход перераспределению доверия, «снизу-вверх», схожий с PGP . Для написания сертификатов используется LISP -подобные структуры — S-выражения . Существует два типа SPKI-сертификатов: кортеж SPKI из четырёх объектов и кортеж SPKI из пяти объектов, служащих для аутентификации и авторизации соответственно. При всём этом SPKI не получила широкого распространения.
Для перераспределения доверия SPKI пользуется сетью доверия. Пользователи сами осуществляют управление открытыми ключами по принципу «снизу-вверх». Каждый пользователь является ЦC , подписывая открытые ключи других пользователей. Алиса, подписывая открытый ключ Боба, исполняет роль ЦC для Боба, затем Боб передаёт подписанный Алисой сертификат Чарли. Если Алиса для Чарли является доверенным, то он будет уверен в том, что данный открытый ключ, подписанный Алисой, действительно принадлежит Бобу. Из-за постоянных перекрёстных свидетельств данная сеть доверия растёт сверху вниз, отсюда и название.
Одно из преимуществ сертификата авторизации SPKI — это делегирование полномочий от одной персоны к другой без привлечения владельца ресурса. Можно выдать простое разрешение (например, считать какой-либо файл), или выдать разрешение на дальнейшее делегирование. Если рассматривать делегирование полномочий, то появляются два вопроса: желание ограничить глубину делегирования и разделение потенциальных делегаторов на тех, кто может исполнять делегирование полномочий и на тех, кто не может. Регулирование этих процессов производится при помощи логического (булевого) контроля. Его преимущество в том, что при булевом контроле можно указать невозможность делегировать полномочия. Представим, что торговый департамент США имеет ключ, который разрешает объявлять криптографический модуль программного обеспечения экспортируемым и также делегировать разрешение другим. Имеет смысл предположить, что торговый департамент не будет выдавать разрешение делегировать дальше.
Возможность делегирования в SPKI оказывается полезной для сделок в Интернете . Например, когда отдельные менеджеры уходят в отпуск, они могут делегировать свои полномочия относительно определённых действий своим подчинённым.
SPKI-сертификаты включают в себя открытые ключи (или их хеш -значения) центра, создающего сертификат , и объекта сертифицирования. Имена в SPKI-сертификат не входят, поскольку авторы SPKI считают, что только ключ имеет значение. Акцентирование внимания на ключи означает, что в данной системе уделяется большое внимание функциональности. Существует два типа SPKI-сертификатов: кортеж SPKI из четырёх объектов и кортеж SPKI из пяти объектов, созданные аутентификации и авторизации ключей соответственно.
В SPKI для связывания локального имени и открытого ключа пользователя используется кортеж SPKI из четырёх объектов
(Создатель, Имя, Объект, Период действия)
На практике же сертификат состоит из 5 объектов:
Любой пользователь может создать такой сертификат и, как следствие, стать ЦС .
Кортеж SPKI из пяти объектов применяется для авторизации ключей и состоит из:
(Создатель, Объект, Делегирование, Авторизация, Период действия)
В реальности сертификат насчитывает шесть полей:
Для получения контрольного следа можно комбинировать сертификаты аутентификации и авторизации. Сертификат авторизации даёт возможность совершать какие-либо действия с ключом, но ничего не сообщает о владельце ключа. Привязка же ключа происходит при помощи сертификата аутентификации. Поэтому возникает потребность в использовании их комбинации.
Комбинация сертификатов производится при помощи следующего правила редукции :
Где — создатель, — объект, — делегирование, — авторизация, — срок действия.
Равенство достигается тогда и только тогда, когда и = Да.
Реквизиты сертификата Алисы:
Это означает, что Алиса разрешает Бобу снять со счёта 100 евро и позволяет делегировать это действие любому человеку, которого Боб сочтёт нужным.
Реквизиты сертификата Боба:
Это значит Чарли позволено снять сумму в диапазоне от 50 евро до 100 евро со счёта Алисы в течение сегодняшнего дня.
Сцепка двух сертификатов при помощи правила редукции:
Таким образом Алиса разрешила Бобу делегировать полномочия и, как следствие, разрешила снять Чарли деньги с её счёта до завтрашнего утра.
SPKI-сертификат, как и остальные сертификаты , должен иметь период действия: период, в течение которого он является действительным. Также имеет место быть онлайн уточнение валидности, что достигается через список отзыва сертификатов — . Минимальный CRL содержит список аннулированных сертификатов, порядковый номер и подпись . Если обнаруживается, что некоторый сертификат находится в этом списке, то этот сертификат уничтожается. Если он сталкивается с предыдущим , то он удаляет предыдущий CRL. Такие CRL приводят к недетерменированному поведению программы. В результате процесс авторизации зависит от времени, что является уязвимостью . То есть, это ведёт к возможности защиты от аннулирования сертификата при помощи предотвращения доставки новых CRL. Это не удовлетворяет криптографическим требованиям. SPKI исключила данный подход для своих сертификатов, и сделала процесс детерменированным при помощи временных CRL, которые подчиняются трём правилам:
Согласно этим правилам, сертификаты, которые используют CRL, не могут быть обработаны без действующего CRL.
Для наглядности приведены основные поля сертификата X.509 .
Проблема X.509 в том, что имена глобальны (что не соответствует действительности) и используются для идентификации сертификатов. Поэтому для того, чтобы авторизировать владельца ключа, необходимо аутентифицировать его. Поэтому авторизация без аутентификации в стандарте X.509 невозможна, что, в частности, означает, что данный стандарт не поддерживает анонимную авторизацию. В SPKI данные проблемы решаются тем, что ключи, которые сами по себе уникальны, являются индентификаторами (что позволяет проводить анонимную авторизацию). Так как человеку трудно трактовать ключи, в SPKI предусмотрены локальные имена. Локальное имя — это имя в некотором пространстве имен. Из этого следует, что поле «Имя субъекта» имеют кардинально разные значения. Ещё одно отличие SPKI и X.509 — поле «Делегирование» отсутствующее в X.509. Схожими же между собой полями в обоих сертификатах являются поля «Открытый ключ», «Имя создателя» и «Период действия».
Также отличиями SPKI от X.509 является то, что в SPKI нет иерархии ЦС , и место языка ASN.1 , используемого в написании сертификатов X.509, для написания SPKI сертификатов используются S-выражения , лёгкие и простые для понимания, в отличие от сертификатов X.509 , предназначенных для компьютерного разбора. Также предусмотрен интерфейс для облегчённого восприятия S-выражений .