Interested Article - SPKI

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 из четырёх объектов

В SPKI для связывания локального имени и открытого ключа пользователя используется кортеж SPKI из четырёх объектов

  (Создатель, Имя, Объект, Период действия)

На практике же сертификат состоит из 5 объектов:

  • открытый ключ создателя
  • имя субъекта
  • открытый ключ субъекта
  • период действия
  • подпись создателя сертификата на тройке (Имя, Объект, Период действия)

Любой пользователь может создать такой сертификат и, как следствие, стать ЦС .

Кортеж SPKI из пяти объектов

Кортеж SPKI из пяти объектов применяется для авторизации ключей и состоит из:

  (Создатель, Объект, Делегирование, Авторизация, Период действия)

В реальности сертификат насчитывает шесть полей:

  • имя субъекта
  • открытый ключ субъекта
  • делегирование , то есть знак «Да» или «Нет», означающий, может ли субъект делегировать полномочия или нет
  • авторизация: что, собственно, может делегировать субъект
  • период действия авторизации
  • подпись создателя сертификата на четвёрке (Объект, Делегирование,Авторизация, Период действия)

Комбинация сертификатов

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

Комбинация сертификатов производится при помощи следующего правила редукции :

  

Где — создатель, — объект, — делегирование, — авторизация, — срок действия.

Равенство достигается тогда и только тогда, когда и = Да.

Делегирование полномочий при помощи комбинации двух кортежей

Реквизиты сертификата Алисы:

  • = Алиса
  • = Боб
  • = Да
  • = Снять со счёта Алисы 100 евро
  • = Неограничено

Это означает, что Алиса разрешает Бобу снять со счёта 100 евро и позволяет делегировать это действие любому человеку, которого Боб сочтёт нужным.

Реквизиты сертификата Боба:

  • = Боб
  • = Чарли
  • = Нет
  • = Снять со счёта Алисы сумму от 50 евро до 100 евро.
  • = До завтрашнего дня

Это значит Чарли позволено снять сумму в диапазоне от 50 евро до 100 евро со счёта Алисы в течение сегодняшнего дня.

Сцепка двух сертификатов при помощи правила редукции:

  • = Алиса
  • = Чарли
  • = Нет
  • = Снять со счёта Алисы сумму от 50 евро до 100 евро.
  • = До завтрашнего дня

Таким образом Алиса разрешила Бобу делегировать полномочия и, как следствие, разрешила снять Чарли деньги с её счёта до завтрашнего утра.

Период действия и CRL

SPKI-сертификат, как и остальные сертификаты , должен иметь период действия: период, в течение которого он является действительным. Также имеет место быть онлайн уточнение валидности, что достигается через список отзыва сертификатов — . Минимальный CRL содержит список аннулированных сертификатов, порядковый номер и подпись . Если обнаруживается, что некоторый сертификат находится в этом списке, то этот сертификат уничтожается. Если он сталкивается с предыдущим , то он удаляет предыдущий CRL. Такие CRL приводят к недетерменированному поведению программы. В результате процесс авторизации зависит от времени, что является уязвимостью . То есть, это ведёт к возможности защиты от аннулирования сертификата при помощи предотвращения доставки новых CRL. Это не удовлетворяет криптографическим требованиям. SPKI исключила данный подход для своих сертификатов, и сделала процесс детерменированным при помощи временных CRL, которые подчиняются трём правилам:

  1. Сертификат должен содержать ключ (или его хеш-значение ), которым подписан CRL и может показать одно или несколько мест, где этот CRL может быть извлечён.
  2. CRL должен содержать срок действия.
  3. Диапазоны сроков действия CRL не должны пересекаться. То есть новый CRL не может вступить в силу до истечения срока действующего CRL.

Согласно этим правилам, сертификаты, которые используют CRL, не могут быть обработаны без действующего CRL.

X.509 и SPKI

Основные поля сертификата X.509

Для наглядности приведены основные поля сертификата X.509 .

  • серийный номер сертификата — уникальный серийный номер
  • идентификатор алгоритма подписи — тип ЭЦП , который использовался создателем сертификата
  • имя создателя — отличительное имя (формата X.500 ) третьей доверенной стороны
  • период действия — указывание даты начала и окончания периода действия сертификата
  • открытый ключ субъекта
  • имя субъекта сертификата — отличительное имя субъекта

Различия SPKI и Х.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-выражений .

См. также

Примечания

  1. .
  2. .
  3. .

Литература

  • C. Ellison, B. Frantz, B. Lampson, R. Rivest, B. Thomas, T. Ylonen. SPKI Certificate Theory // IETF : статья. — 1999.
  • C. Ellison. // IETF : статья. — 1999. 1 августа 2015 года.
  • Смарт, Н. Криптография. — Техносфера, 2005. — 528 с.
  • C. Ellison, Bill Frantz, Butler Lampson, Ron Rivest, Brian M. Thomas, Tatu Ylonen. // IETF : статья. — 1999.
Источник —

Same as SPKI