<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    附錄C(規范性附錄) 可選的PKI管理消息結構

    本附錄包含了遵循本標準的實現可以支持的PKI消息的詳細描述(必須要支持的消息 ——見第8章和附錄B)。

    在以下PKI管理操作中使用的PKIMessage的結構大綱如下:

    —— 根CA密鑰更新;

    —— 信息請求/響應;

    —— 交叉認證請求/響應;

    —— 使用外部實體證書的帶內初始化;

    —— 撤銷請求;

    —— 證書發布;

    —— CRL發布。

    C.1 結構解釋的通用規則

    (與第B.1章相同。)

    C.2 算法使用參數

    (與第B.2章相同。)

    C.3 自簽名證書

    自簽名證書結構用于分發“根”CA的公鑰。采用以下三種方式中的一種(2.4中有這些結構的用法描述):

    類型 功能

    newWithNew 真正的自簽名證書;所包含的公鑰必須能用于驗證

     簽名(盡管這只提供了完整性,并且沒有任何認證)

    oldWithNew 用新的私鑰對以前的根CA公鑰簽名

    newWithOld 用以前的私鑰對新的根CA公鑰簽名

    C.4 根CA密鑰更新

    根CA更新密鑰對。而后它將產生(通過某些傳輸機制)相關終端實體能夠獲得的CA密鑰更新聲明消息。并且不需要從終端實體那里獲得確認消息。

    ckuann message:

    字段        值                         注釋

    sender CA name CA名稱

    body         ckuann(CAKeyUpdAnnContent)
    
    oldWithNew   必須存在                見第C.3章
    
    newWithOld   必須存在              見第C.3章
    
    newWithNew   必須存在              見第C.3

    extraCerts 可選 用于發布證書(例如使用新私鑰簽發的證書)

    C.5 PKI信息請求/響應

    終端實體發送general通用消息給PKI,以請求隨后的PKI管理操作中所需要的細節。RA/CA用general通用通常的響應消息來響應。如果RA產生響應,那么它將簡單地將從CA那里收到的消息向前傳轉發,可能還會在PKIMessage中的extraCerts字段中加上證書。本消息不需要從終端實體處獲得確認消息。

    消息流:

    步驟 終端實體 PKI

    1 format genm

    2 -> genm ->

    3 handle genm

    4 produce genp

    5 <- genp <-

    6 handle genp

    genM:

    字段 值

    recipient CA name

    – 證書中issuerAltName擴展或issuer字段包含的CA 的名字

    protectionAlg MSG_MAC_ALG or MSG_SIG_ALG

    – 任何一種鑒別保護算法

    SenderKID present if required

    – 在需要驗證消息保護的情況下必須存在

    freeText any valid value

    body genr (GenReqContent)

    GenMsgContent empty SEQUENCE

    – 所有請求的相關信息

    protection present

    – 使用MSG_MAC_ALG 或 MSG_SIG_ALG計算比特位

    genP:

    字段 值

    sender CA name

    – 產生消息的 CA的名字

    protectionAlg MSG_MAC_ALG or MSG_SIG_ALG

    – 任何一種鑒別保護算法

    senderKID present if required

    – 在需要驗證消息保護的情況下必須存在

    body genp (GenRepContent)

    CAProtEncCert present (object identifier one

                       of PROT_ENC_ALG), with relevant value

    – 在終端實體為CA加密信息時使用(例如, 用于私鑰恢復)

    SignKeyPairTypes present, with relevant value

    – CA為對象公鑰驗證的簽名算法標識符集合

    EncKeyPairTypes present, with relevant value

    – CA為對象公鑰驗證的加密/密鑰一致算法標識符集合

    PreferredSymmAlg present(object identifier one

                       of PROT_SYM_ALG) , with relevant value

    – CA希望在隨后的PKI消息(為了加密)中使用的對稱算法

    CAKeyUpdateInfo optionally present, with relevant value

    – CA使用這個字段提供關于相關根CA密鑰對的信息

    – (注意這并不表示響應的CA為所討論的根CA)

    CurrentCRL optionally present, with relevant value

    – CA提供CRL的完整拷貝 (例如,最可能完整)

    protection present

    – 使用MSG_MAC_ALG或MSG_SIG_ALG計算比特位

    extraCerts optionally present

    – 可用于給終端實體發送證書

    – RA可以把它的證書加在這里

    C.6 交叉認證請求/響應(單向)

    單個交叉證書的產生(例如:不要立刻產生兩個不同時產生兩個)。請求CA可以通過使用PKIPublicationInfo控制來選擇由誰來負責發布響應CA產生的交叉證書。

    前提:

    —— 響應CA在處理請求之前能夠驗證請求的來源(可能請求要求帶外方法);

    —— 請求CA在處理響應之前可以鑒別響應源的真實性(可能請求要求帶外方法)。

    PKIHeader中的generalInfo字段決定是否使用證書確認和相應的服務器確認(見3.1.1)。以下流程不要求支持任何一種確認。

    消息流:

    步驟 請求發起CA 請求響應CA

    1 format ccr

    2 -> ccr ->

    3 handle ccr

    4 produce ccp

    5 <- ccp <-

    6 handle ccp

    ccr:

    字段 值

    sender Requesting CA name請求CA

    – 產生消息的CA的名字

    recipient Responding CA name響應CA

    – 被要求產生證書的CA的名字

    messageTime time of production of message產生消息的時間

    – 請求CA的當前時間

    protectionAlg MSG_SIG_ALG

    – 這個請求只允許簽名保護

    senderKID present if required

    – 如果在要求對消息保護進行驗證時需要則必須存在

    recipKID present if required

    – 如果在要求對消息保護進行驗證時需要則必須存在

    transactionID present

    – 執行特定與實現相關的值, 對請求CA有意義

    – (如果已經在響應CA中使用,那么響應CA產生的一個拒絕消息)

    senderNonce present

    – 128比特 (偽)隨機 比特數

    freeText 任何有效值

    body ccr (CertReqMessages)

                        只允許一個CertReqMsg

    – 如果請求多重交叉證書,那么就必須打包在不同的PKIMessage

    certTemplate present

    – 后面是細節如下

    version v1 or v3

    –建議v3

    signingAlg present

    – 請求CA必須事先知道用什么算法來對證書簽名

    subject present

    – 僅在提議使用subjectAltNames擴展項時可以為NULL-DN

    validity present

    – 必須完全指定(例如兩個字段都存在)

    issuer present

    – 僅在提議使用issuerAltNames擴展項時可以為NULL-DN

    publicKey present

    – 需要鑒定認證的密鑰 (用于必須是一種簽名算法的密鑰)

    extensions optionally present

    – 請求CA必須為要求出現在交叉證書中請求的所有擴展建議取值

    POPOSigningKey present

    – 見第B.3章

    protection present

    – 使用MSG_SIG_ALG計算比特位

    extraCerts optionally present

    – 可以包含請求者想要包括的任何額外證書

    ccp:

    字段 值

    sender 響應CA的名字

    – 產生消息的CA的名字

    recipient 發起請求CA的名字

    – 被要求產生證書的CA的名字

    messageTime 產生消息的時間

    – 響應CA的當前時間

    protectionAlg MSG_SIG_ALG

    – 這個消息只允許簽名保護

    senderKID present if required

    –如果在要求對消息保護進行驗證的情況下時需要則必須存在

    recipKID present if required

    transactionID present

    – 相應ccr消息中的值

    senderNonce present

    – 128 比特(偽)隨機數 比特

    recipNonce present

    – 相應ccr消息中的senderNonce

    freeText 任何有效值

    body ccp (CertRepMessage)

                        只允許一個CertResponse

    – 如果請求多個交叉證書,那么就要就必須打包在不同的PKIMessage中

    response present

    status present

    PKIStatusInfo.status present

    – 如果PKIStatusInfo.status為下面兩種情況之一

    – accepted,或grantedWithMods

    – 那么 certifiedKeyPair必須存在,同時failInfo缺省

    failInfo present depending on

                       PKIStatusInfo.status

    – 如果PKIStatusInfo.status為

    – rejection

    – 那么certifiedKeyPair缺省,同時 failInfo必須存在

    – 而且設置了相應的比特位

    certifiedKeyPair present depending on

                        PKIStatusInfo.status

    certificate present depending on

                        certifiedKeyPair

    – 在發布之前由請求CA必須檢查的實際證書的內容

    protection present

    – 使用MSG_SIG_ALG計算的比特位

    extraCerts optionally present

    – 可以包含響應者想要包括的任何額外證書

    C.7 使用外部身份證書進行帶內初始化

    (未初始化的)終端實體希望初始化為CA/PKI的一員。為了鑒別身份,它使用原來一個已經存在的由另一個(外部)CA,CA-X發布簽發的身份證書。在CA-1和CA-X之間必須已經建立信任關系,這樣CA-1才能使驗證EE的由CA-X簽名的證書生效。另外,在EE的個人安全環境(PSE)中必須建立一些機制,以便允許終端實體可以鑒別和驗證由CA-1簽名的PKIMessage(例如,PSE包含為CA-1公鑰發布簽發的證書,這個證書由終端實體信任的另一個CA在帶外驗證技術基礎上簽名,這種信任建立在帶外認證技術基礎上)。

    終端實體發送初始化請求來啟動交易。當CA-1用包含新證書的消息響應時,終端實體返回證書確認。CA-1發送PKIConfirm來結束交易。所有的消息都經過簽名(EE消息使用與外部身份證書中的公鑰相對應的私鑰來簽名;CA-1消息用與EE的PSE中信任的另一個證書公鑰相對應的私鑰來簽名)。

    消息交互流程與B.4中的一樣,但是有以下不同:

    —— EE和CA-1不共享對稱MACing密鑰(在這些實體之間沒有帶外共享的秘密信息);

    —— ir中發送者sender名字必須存在(并且與外部身份證書中對象subject名字一樣);

    —— 在所有消息的protectionAlg中必須使用MSG_SIG_ALG的protectionAlg;

    —— 在ir的extraCerts字段中必須攜帶外部身份證書;

    —— 不使用senderKID和recipKID;

    —— body為ir或ip;

    —— 保護比特數根據protectionAlg字段來計算。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类