PKI( Public Key Infrastructure:公開鍵基盤)は、安心してインターネットを使うための仕組みです。
インターネットの普及は社会をデジタル化しました。ビジネスでもプライベートでもインターネットの恩恵を受けない日はありません。しかし、一方で迷惑メールや情報漏洩といったデジタル社会ならではの弊害も生じています。
PKIはインターネットの安心・安全を確保するために考案された通信の暗号化と電子的な身分証明の仕組みです。 電子証明書を用いることで、ネットワークを通じた顔の見えない相手でも、誰であるかをはっきりと確認することができます。また、公開鍵暗号という強力かつ利便性の高い暗号方式でインターネット上の通信を暗号化することができます。電子証明書も公開鍵暗号もPKI(公開鍵基盤)に含まれる技術です。PKIとは公開鍵に関連した技術の基盤(インフラ)をさす言葉です。
PKIでは認証局、電子証明書が信頼の要となります。
電子証明書は、リアルな世界の印鑑証明書に例えられます。
印鑑証明書は、ご存じのとおり、印鑑の印影と印鑑の持ち主の情報が記載された書類です。印鑑証明書は自治体が本人確認を行ったうえで発行しています。
私たちは、発行元である自治体を信頼することと印鑑証明書の偽造が難しいという事実から、この印鑑証明書を信頼し、ひいては、印鑑証明書に登録されている印鑑の持ち主が証明書に記載された本人であることを疑わずにすみ、これによって、取引がスムーズに行われることになります。
電子証明書の場合、自治体の役割を果たしているのが認証局です。認証局が信頼できれば、その認証局が発行する電子証明書も信頼することができます。また、電子証明書には、認証局のデジタル署名がされていますので、第三者が改ざんすることは不可能です。
ユーザーは、認証局を信頼することと、電子証明書の改ざんはできないという事実に基づいて、電子証明書に記載されている情報を信頼することができます。電子証明書を信頼できれば、インターネット越しであっても、相手を特定することができ、安全に取引を行うことができます。
このように、PKIにおいて、信頼の基盤となっているのが、認証局であり、その認証局が発行した電子証明書です。
PKIは「公開鍵暗号」、「一方向ハッシュ関数」、「デジタル署名」という三つのテクノロジーによって支えられています。
安心・安全な通信のためには、「他人に傍受されない暗号化技術」、「通信経路上での改ざんを防止する技術」、「これらを確実に検証する技術」が必要です。
「公開鍵暗号」とは?
PKIでは、データ通信の暗号化のために、「公開鍵」と「秘密鍵」という対のデジタル鍵(これを鍵ペアと呼びます)を利用します。
いずれの鍵も暗号化はできますが、暗号文を平文に復号することはできません。「公開鍵」で暗号化したなら「秘密鍵」でしか復号できず、「秘密鍵」で暗号化した場合は、「公開鍵」でのみ復号が可能です。 「公開鍵」はその名の通り外部に公開し、自分宛の通信を「公開鍵」で暗号化してもらうのに使います。「秘密鍵」は利用者だけが秘匿しておき、「公開鍵」で 暗号化されたデータを復号するのに使います。
一方向ハッシュ関数とは?
この関数にデータを与えると、異なる一定の値を生成します。一方向ハッシュ関数の値なのでハッシュ値と呼ばれており、次の特徴を有しています。
- 与えたデータが異なれば、生成されるハッシュ値は異なる。
- 生成されたハッシュ値から元の値を求めることはできない(一方向)。
- 与えたデータの長さに関わらず、生成されるハッシュ値は一定の長さを持つ。
たとえば、文庫本1冊分のデータの中で1文字だけ異なる2つのデータのハッシュ値はまったく違った値になります。このような性質のため、ハッシュ値は拇印とも呼ばれます。この拇印、ハッシュ値を比較すれば改ざんの有無を検知することができます。
デジタル署名とは?
「公開鍵暗号」と一方向ハッシュ関数を組み合わせることで、通信経路での第三者による改ざん防止することができます。これをデジタル署名と呼んでいます。デジタル署名について簡単に説明しましょう。
- 送信者は、送りたいデータのハッシュ値(拇印)をハッシュ関数で得る。
- ハッシュ値(拇印)を自分の「秘密鍵」で暗号化し、データに添えて受信者に送信する。
- 受信者は、受信したデータをハッシュ関数で計算して、ハッシュ値を得る。
- メールに添付されてきた暗号化されたハッシュ値を送信者の「公開鍵」で復号し、3で計算したハッシュ値と比較する。
- データがオリジナルと異なればハッシュ値も異なるので、比較して値が同じなら改ざんはされていないことがわかる。
送信者の「秘密鍵」で暗号化されたデータは送信者の「公開鍵」でしか復号できません。つまり、送信者の「公開鍵」で復号できたということは、このデータが間違いなく送信者本人から送られてきたことを証明していることになります。
つまり、デジタル署名はデータのハッシュ値(拇印)を送信者の秘密鍵で暗号化することで、なりすましと改ざんの両方を防いでいることになります。
電子証明書とは?
通信経路上の改ざんはデジタル署名で防ぐことはできます。しかし、暗号化した秘密鍵がはたして本当に本人のものであるかを受信者は知ることができません。電子証明書はこのような問題を解決するために考案された技術です。
電子証明書には、本人の名前やメールアドレスとともに公開鍵(データ)が記載され、これに認証局がデジタル署名しています。電子証明書を発行する際には、認証局によって必ず本人確認が行われています。
電子証明書の失効
万一、自分の「秘密鍵」が盗難や紛失によって第三者に入手されるようなことがあれば、自分あてに届いた暗号文を解読されてしまう可能性がでてきます。そこで、認証局は電子証明書の利用者の申請に基づいて証明書のシリアル番号を失効リスト(CRL:Cert Revocation List)に加え、失効させることができます。
電子証明書には失効リストの参照先のURLが記述されており、送信者はこのURLを確認してその電子証明書が失効していないかを知ることができます。