RFC: 4306
Оригинал: Internet Key Exchange (IKEv2) Protocol
Другие версии: RFC 2407, RFC 2408, RFC 2409, RFC 5996
Категория: Предложенный стандарт
Дата публикации:
Автор:
Перевод: Николай Малых

3.6. Сертификат

Элемент данных Certificate (CERT) обеспечивает способ передачи сертификатов или другой, связанной с идентификацией информации через IKE. Элементы Certificate следует включать в обмен, если сертификаты доступны отправителю до того, как партнер указал возможность получения идентификационной информации иным путем с использованием элемента Notify типа HTTP_CERT_LOOKUP_SUPPORTED. Отметим, что термин «Certificate Payload» может вводить в заблуждение, поскольку не все механизмы идентификации используют сертификаты и в этом элементе могут передаваться иные данные.

Элемент данных Certificate имеет следующие поля:

                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload  !C!  RESERVED   !         Payload Length        !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Cert Encoding !                                               !
+-+-+-+-+-+-+-+-+                                               !
~                       Certificate Data                        ~
!                                                               !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Рисунок 12: Формат сертификата
  • Certificate Encoding (1 октет) — это поле показывает тип представления сертификата или иной информации, содержащейся в поле Certificate Data (см. таблицу).
    Кодирование сертификатаЗначение
    Резерв0
    Сертификат X.509 с PKCS #71
    Сертификат PGP2
    Подписанный ключ DNS3
    Сертификат X.509 — подпись4
    Маркер Kerberos6
    CRL7
    ARL8
    Сертификат SPKI9
    Сертификат X.509 — атрибут10
    Неразобранный ключ RSA11
    Хэш и URL сертификата X.50912
    Хэш и URL связки (bundle) X.50913
    Резерв IANA14 — 200
    Для частного применения201 — 255
  • Certificate Data (переменный размер) — представление данных сертификата. Тип сертификата указывается в поле Certificate Encoding.

Идентификатор типа элемента данных Certificate имеет значение 37.

Конкретный синтаксис ряда перечисленных типов сертификатов в этом документе не определяется. К числу сертификатов, синтаксис которых определен здесь относятся:

  • Сертификат X.509 — подпись (4) содержит сертификат X.509 (в представлении DER), открытый ключ которого используется для проверки элемента данных AUTH отправителя.

    Список отозванных сертификатов (7) содержит представление DER для списка отозванных сертификатов X.509.

    Неразобранный ключ RSA (11) содержит ключ RSA в представлении PKCS #1 (см. [RSA] и [PKCS1]).

    Хэш и URL (12-13) позволяют включать в сообщения IKE замену больших структур данных с 20-октетным хэшем SHA-1 (см.[SHA]) значением URL переменной длины, которое преобразуется в структуру данных (в представлении DER). Это повышает эффективность в тех случаях, когда конечные точки имеют хэшированные сертификаты и снижает эффект воздействия на IKE атак на отказ служб, которые становились бы проще в реализации при использовании достаточно больших сообщений IKE, требующих фрагментации на уровне IP [KPS03].

    Ниже приведено представление сборки X.509 в формате ASN.1.

     CertBundle
       { iso(1) identified-organization(3) dod(6) internet(1)
         security(5) mechanisms(5) pkix(7) id-mod(0)
         id-mod-cert-bundle(34) }
    
     DEFINITIONS EXPLICIT TAGS ::=
     BEGIN
    
     IMPORTS
       Certificate, CertificateList
       FROM PKIX1Explicit88
          { iso(1) identified-organization(3) dod(6)
            internet(1) security(5) mechanisms(5) pkix(7)
            id-mod(0) id-pkix1-explicit(18) } ;
    
    CertificateOrCRL ::= CHOICE {
      cert [0] Certificate,
      crl  [1] CertificateList }
    
    CertificateBundle ::= SEQUENCE OF CertificateOrCRL
    
    END

Реализации должны обеспечивать возможность настройки передачи и восприятия до четырех сертификатов X.509 в поддержку идентификации, а также должны обеспечивать возможность настройки передачи и восприятия двух первых форматов «Hash and URL» (с HTTP URL). Реализациям следует обеспечивать возможность настройки передачи и восприятия ключей Raw RSA. При передаче множества сертификатов первый из них должен содержать открытый ключ, используемый для подписывания элемента AUTH. Остальные сертификаты можно передавать в любом порядке.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.