[IT-Security-1] 認證機制 Certificates and Public Key Infrastructures

Certificates and Public Key Infrastructures


Notes from RWTH Aachen University course 
“IT security 1” Wintersemester 2019/20
professor: Meyer, Ulrike Michaela


  • Trusted Third Parties
    • 假設Alice和Bob有trusted thrid party的public key
    • trusted third party對發行的key做簽章(包含可以擁有key的人的名字)
    • Bob可以驗證是不是由trusted third party發行的key
    • 稱為Certification Authority
  • certificate至少包含:
    • public key
    • owner的名字
    • 發行者的名字
    • 對剩下的內容的hash的簽章

Public Key Infrastructures

  • CA發行certificate
  • 檢索certificate的資料庫(repository)
  • 撤銷certificate的方法
  • 衡量certificate的"chain"的方法
  • RA(registration authority)與CA並用
    • 同意certificate的請求

Certificate Revocation List (CRL)

  • 被CA簽署過的list,其中的certificate都未到期(expired)

Online Certificate Status Protocol(OCSP)

  • OCSP允許certificate未過期的query
    • OCSP回傳list中的certificate的狀態
  • CRL和OCSP的比較
    • CRL
      • :negative_squared_cross_mark: CRL會過長,難以搜尋
      • :negative_squared_cross_mark: 撤銷具有週期性
      • :white_check_mark: query哪個certificate不會被CA知道
    • OCSP
      • :white_check_mark: 可隨時撤銷
      • :negative_squared_cross_mark: CA會知道哪個certificate被查詢
      • :negative_squared_cross_mark: 若query太多會是CA的流量負擔
      • 雞蛋問題:如果網路連線前要網站的secure access(要去OCSP retrieval)
      • 可以用OCSP stapling解決:用最近的OCSP的結果,也解決流量問題

Using Certificates to Protect Diffie-Hellman

  1. First try
    • 流程:
      1. Alice送 hA,sigA,certA
      2. Bob用pubA驗算sigA,用pubCA驗算certA
    • Problem:
      • Signature沒有跟此protocal結合
      • 攻擊者可以記錄Alice的訊息並且再重傳給Bob(replay)


  1. Second try
    • 流程:
      1. Alice送 hA
      2. Bob用 hA跟 hB做簽章 sigB:=gensig(privB,hB||hA)
      3. Bob傳送 hB,sigB,certB
      4. Alice驗證 sigB 是否包含 hA,則可以知道Bob收到的 hA 有沒有被竄改過
      5. Alice也用上列的方法簽章 sigA:=gensig(privA,hA||hB)
      6. Alice傳送 sigA,certA
      7. Bob驗證


    • Problem:
      • 攻擊者仍竄改Bob的public key,傳送自己的signature
  1. Secure Authentic Diffie-Hellman
    • 流程:
      1. Alice傳送 hA
      2. Bob傳送 hB
      3. Alice用haB作為對稱式key k
        用 k 加密 cA:=enc(k,sigA||certA) (sigA如上定義)
      4. Alice傳送 cA
      5. Bob也計算對稱式key k=hbA
        用 k 解密 sigA||certA:=dec(k,cA)
      6. Bob也傳算 cB


Readings
Kaufmann et al., Chapter 15
RFC 5280: X.509 Certificates and CRLs
RFC 2560: Online Certificate Revocation Protocol
RFC 2559: X.509 Public Key Infrastructure Operational Protocols - LDAPv2
RFC 4210: Certificate Management Protocol (CMP)

留言

這個網誌中的熱門文章