Протоколы безопасного сетевого взаимодействия

Металлические конструкции - слесарь металлоконструкций в Санкт-Петербурге и пригороде на заказ.

Example.18.7


ProofOfPossession ::= CHOICE { raVerified [0] NULL, -- используется, если RA уже убедился, что -- запрашивающий обладает закрытым ключом signature [1] POPOSigningKey, keyEncipherment [2] POPOPrivKey, keyAgreement [3] POPOPrivKey } POPOSigningKey ::= SEQUENCE { poposkInput [0] POPOSigningKeyInput OPTIONAL, algorithmIdentifier AlgorithmIdentifier, signature BIT STRING -- Подпись (используя "algorithmIdentifier") является -- значением в DER-представлении poposkInput. -- Замечание: если CertReqMsg certReq CertTemplate -- содержит значения subject и publicKey, то poposkInput -- должно быть опущено и подпись должна быть вычислена -- для DER-представления значения CertReqMsg certReq. -- Если CertReqMsg certReq CertTemplate не содержит -- значения открытого ключа и субъекта, то poposkInput -- должно присутствовать и должно быть подписано. Данная -- стратегия гарантирует, что открытый ключ не -- присутствует в полях poposkInput и CertReqMsg certReq -- CertTemplate. } POPOSigningKeyInput ::= SEQUENCE { authInfo CHOICE { sender [0] GeneralName, -- используется только если установлена -- аутентифицированная идентификация для отправителя -- (т.е. DN из ранее выпущенного или действительного -- в настоящий момент сертификата) publicKeyMAC PKMACValue }, -- используется, если в настоящий момент нет -- аутентифицированного GeneralName отправителя; -- publicKeyMAC содержит MAC, основанный на пароле, -- в DER-представлении значения publicKey publicKey SubjectPublicKeyInfo -- из CertTemplate } PKMACValue ::= SEQUENCE { algId AlgorithmIdentifier, -- значение алгоритма должно быть PasswordBasedMac -- {1 2 840 113533 7 66 13}, значение параметра есть -- значение PBMParameter BIT STRING } POPOPrivKey ::= CHOICE { thisMessage [0] BIT STRING, -- доказательство, представленное в данном сообщении -- (содержит сам закрытый ключ, зашифрованный для СА) subsequentMessage [1] SubsequentMessage, -- доказательство приведено в следующем сообщении dhMAC [2] BIT STRING -- для keyAgreement (только) доказательство -- приведено в данном сообщении, которое содержит -- MAC (для значения DER-представления параметра -- certReq в CertReqMsg, которое должно включать и -- subject, и publicKey), основываясь на ключе, -- полученном из закрытого ключа DH конечного -- участника и открытого ключа DH СА. } SubsequentMessage ::= INTEGER { encrCert (0), -- запросы, при которых результирующий сертификат -- зашифрован для конечного участника (при этом POP -- будет выполнен в подтверждающем сообщении) challengeResp (1) -- запросы, при которых CA/RA обязан выполнить обмен -- вызов-ответ с конечным участником, чтобы доказать, -- что ему известен закрытый ключ }

Листинг 18.7. Синтаксис доказательства обладания

Закрыть окно






- Начало -  - Назад -  - Вперед -



Книжный магазин