Skip to main content Link Menu Expand (external link) Copy Copied

PKI(Public Key Infrastructure)

PKIとは、ディジタル署名の鍵配送問題を解決する技術である。
つまり、「署名の検証に用いる公開鍵が、本当に署名者の公開鍵か」という問題を、PKIは解決する。

PKIでは、CA(Certificate Authority)と呼ばれる信頼できる第三者が、公開鍵公開鍵の持ち主 の関係について証明する。
なお、このような証明の情報はディジタル証明書 と呼ばれ、CAによって発行される。

ディジタル証明書は、「公開鍵とその持ち主の情報」に対するCAの署名を含み、これらの関係を証明する。
署名 = Sign(送信者の公開鍵 || 送信者の情報, CAの秘密鍵)

PKIを使えば、一つCAの公開鍵を持っているだけで、複数送信者の公開鍵を信用できる。
結局は、事前に一個CAの公開鍵を安全に入手する必要がある。

なお、実運用上、CAの負荷を分散するためCAはいくつか存在する。
入手しなければいけないCAの公開鍵を減らすため、 多くのCAは上位のCAによってディジタル証明書を発行してもらう。

このようなCAの関係は、効率のため木構造になっており、頂点のCAをRoot CAと呼ぶ。

実際のPKI

  • WebPKI
    • Webサイトの暗号化で用いる公開鍵用のディジタル証明書を提供する。
    • ドメイン(例:google.com)とWebサイトの関係や、会社との関係を証明する。
    • 多くのブラウザには、一番上位のCA(Root CA)の公開鍵がプリインストールされている。
  • JPKI(公的個人認証サービス)
    • マイナンバーカードに積まれたディジタル証明書を発行する。