PKIとは
PKIとは?
プライベートから仕事上の場面にいたるまで、日常生活の上でインターネットはいまやあらゆる場面で活躍し、無くてはならない存在』となっています。
現在ではインターネット上でBtoBやBtoCといったあらゆるビジネスが行われていますが、『ガラス張り』と表現されるインターネットは、機密情報を扱うビジネス活動において商取引に重大な被害を与える可能性のある、次のような脅威を生み出しています。
インターネット上で情報交換を行うときに、「10個注文」したという情報が「1000個注文」に自分が知らぬ間に情報を書き換えられたり、当事者以外に漏れてはならない機密情報が盗聴され、情報を悪用されるなどの危険性があります。
これらビジネスに重大な被害をもたらす脅威をあらかじめ防ぎ、インターネット上で『安全に通信を行う』ために、ここでご紹介する『PKI(公開鍵暗号基盤)』が用いられています。
データを暗号化し、意図しない第三者に読まれることから保護します。
データに対し、そのデータの作成者を特定するための署名を付与します。 データの受取り手は、署名を検証することで作成者を確認することが可能になります。
データの暗号化とデジタル署名によってPKIは「守秘性」、「完全性」、「認証」、「否認防止」といったセキュリティサービスを提供します。 これらのセキュリティサービスによって、自分が知らぬ間に情報を書き換えられるような事態や、機密情報が盗聴されるといった脅威を防ぐことできます。 そしてPKIとビジネスで利用される様々なアプリケーションを組みあわせることにより、そのアプリケーションに対してセキュリティインフラを提供することができます。
PKIを実現している技術
暗号化とは「ある秘密の情報を特定の人だけに解読できるように難読化する」ことを意味します。 暗号の歴史は古く、古典的な暗号として「換字式暗号」があります。
平文(暗号化する前の文章) | INTEC |
---|---|
暗文(暗号化した文章)平文を3文字ずらして作成。 | LQWHF |
情報を伝えたい相手には、あらかじめ「元の文を読むには、3文字ずらす」と伝えておきます。暗号文を受け取ったときに受け取った相手はルールに従って暗文を平文に戻して文を読むことができます。
この暗号方法は古代ローマのシーザーが用いたことから「シーザー暗号」とも呼ばれます。
現代で用いられる暗号は、シーザー暗号のような「3文字ずらす」という簡単なものではなく、数学的に計算して処理する暗号を用います。
暗号は「暗号化アルゴリズム」と「鍵」に分割されます。
平文を暗号化するための計算方法(もしくは、暗号文を平文に戻すための計算方法)を指します。
暗号化アルゴリズムにはさまざまな種類が開発されています。
暗号化を行うためのパラメータとなるデータ(数値)です。
同じ「平文」、同じ「暗号化アルゴリズム」を使っても、使用する「鍵」が異なれば違う「暗号文」が得られます。 このことから、鍵の候補が多い(=数値の桁数が大きい)ほど、暗号は強力になるとされます。
「暗号化アルゴリズム」と「鍵」を使って図のように暗号/復号を行いますが、 その方法として大きく分けて『共通鍵暗号方式』と『公開鍵暗号方式』の2種類があります。
まずはじめに、共通鍵暗号方式について説明します。 共通鍵暗号方式では、「暗号化に使用する鍵」と「復号に使用する鍵」が同一のものを使用します。 暗号化の処理に使用した「鍵」を、通信をしたい相手にあらかじめ渡しておきます。
アルゴリズムが単純になるので暗号化と復号の処理が比較的早くなるのが特徴ですが、問題点があります。
- 第三者に知られること無く安全に、通信したい相手に「鍵」を渡さなくてはならない。
- 機密情報をやり取りしたい相手が多く、またそれぞれ違う情報をやり取りする場合には、相手ごとに「鍵」を作る必要があるため、「鍵」の管理が煩雑になる。
ネットワークを通じて、不特定多数の人とデータの送受信をする場合には、あまり効率の良い仕組みとはいえません。 不特定多数の相手と、情報の秘密を守って通信する方法として考案されたのが次にご紹介する公開鍵暗号方式です。
次に、公開鍵暗号方式についてご紹介します。 公開鍵暗号方式では、「公開鍵」と「秘密鍵」という、2つの鍵(これを鍵ペアといいます)を用います。 この2つの鍵には数学的に結びついた、次のような特徴があります。
- 公開鍵で暗号化したものは、秘密鍵でのみ復号できる
- 秘密鍵で暗号化したものは、公開鍵でのみ復号できる
この特徴を用い、次のようにデータの暗号・復号をすることができます。
- Bさんは、公開鍵と秘密鍵の鍵ペアを作成する。公開鍵はWebサイトなどで一般に公開し、秘密鍵はBさんの手元で厳重に管理する。
- データの作成者Aさんは、データの受信者Bさんの公開鍵を入手し、Bさんの公開鍵でデータを暗号化する。
- Bさんの公開鍵で暗号化されたデータは、Bさんの秘密鍵でのみでしか復号できない。秘密鍵を持っているのはBさんしかいないので、データを復号できるのはBさんのみである。
Bさんに対してデータを暗号化したい場合は、Bさんの公開鍵を入手すればよいので、 共通鍵暗号方式のように通信をする相手ごとに鍵を管理する必要がなくなります。
PKIを実現している仕組み
公開鍵暗号方式で使う公開鍵は、WebサーバやLDAPなどで公開する場合や、CD-ROMなどの電子媒体を用いて配布することもありますが、 鍵そのものだけでは、鍵の所有者が正確に確認できない場合があります。 このため、「公開鍵」と「公開鍵の所有者の情報」を含んだ『証明書』と呼ばれる電子データにして配布します。
証明書は、「認証局」(CA:Certificate Authority)と呼ばれる信頼された第三者機関から発行(生成)されます。 証明書には認証局の電子署名も付与されています。 証明書の受け取り手は証明書に記載されている発行元である「認証局」の名前をみて、かつ、認証局の電子署名が正しいことを検証し、 証明書に含まれる公開鍵が信頼できるものかどうかを判断することができます。
PKIの仕組みは、実社会の仕組みとよく比較されます。
実社会 | PKI |
---|---|
役所 | 認証局(CA) |
印鑑 | 秘密鍵 |
印影 | 公開鍵 |
印鑑証明書 | 公開鍵証明書 |
PKIは、実社会と同様に、公開鍵証明書を用いた認証基盤を構築することができます。
証明書・秘密鍵のデータが壊れてしまった場合や、証明書・秘密鍵を格納しておいた媒体(USBトークン)などを紛失してしまうと、 第三者に鍵をつかって暗号化や電子署名をされる危険性がまし、「なりすまし」や「改ざん検知」など、本来PKIによって提供されていたセキュリティが維持できなくなってしまいます。 このように鍵のセキュリティレベルが著しく低下した状態のことを「危殆化(きたいか)」と呼びます。 このような場合に、認証局はその証明書の「失効」し、失効したことをWebサイトなどで広く公開する機能を持っています。 証明書を受け取ったユーザは、認証局が公開している失効情報を参照し、その証明書を信用してもよいかどうかをチェックすることができます。 このように、認証局はPKIの運用において重要な役割を担う機関です。
電子署名による改ざん防止
公開鍵暗号方式では、暗号化するときは相手の公開鍵を利用して暗号化し、 復号には鍵ペアの対である秘密鍵を利用します。 秘密鍵を持っているのは、受信者のみであるため、暗号文を復号できるのは受信者のみに限定することができます。 これとは逆に、データを秘密鍵で暗号化して公開鍵で復号することもできます。 秘密鍵で暗号化したデータのことを『電子署名』と呼びます。 電子署名を説明するにあたり、まず、実社会における公的な書類(文書)をイメージしてみてください。 公的な文書では、誰がその書類を作成、または承認したのかを明確に証明するために、署名や印鑑の押印をします。 書類を受け取った側は、文書に署名や押印されていることを確認することで、その文書の作成者や承認者を確認することができます。
PKIでは、実社会における署名・押印の代わりに『電子署名』を使うことが出来ます。 『電子署名』を作成するのに必要な秘密鍵を持っているのはデータ作成者のみであるため、 『電子署名』を作成した人=データを作成した人 と特定することが可能になるからです。 かつ、その『電子署名』を復号するために必要な公開鍵を、認証局が発行した「公開鍵証明書」として入手できれば、 第三者である認証局によって公開鍵・秘密鍵の所有者を特定することが可能となり、「電子署名」の作成者の確認がより確実となります。
実社会とPKIを比較すると、次のようになります。 実社会で書類に押印する場合、次のような認証が行われます。
- 利用者は「印鑑(印影)」を作成し、「役所」に対して「印鑑証明書」の発行申請を行います。
- 「役所」は利用者の身元を確認し、「印鑑証明書」を発行します。
- 利用者は契約書などの書類に押印し、「印鑑証明書」とともに提出します。
- 書類を受け取った側は、「印鑑証明書」から利用者の実在性と、「印鑑」の所有者を確認することができます。また、「印影」と「印鑑証明書」を比較することで書類に押印した利用者の本人性を確認することができます。
PKIでは、データに電子署名をする場合、次のような認証が行われます。
- 利用者は「秘密鍵・公開鍵の鍵ペア」を作成し、「認証局」に対して「公開鍵証明書」の発行申請を行います。
- 「認証局」は利用者の身元を確認し、「公開鍵証明書」を発行します。
- 利用者はデータに「電子署名」を付与し、「公開鍵証明書」とともに提出します。
- データを受け取った側は、「公開鍵証明書」から利用者の実在性と、「秘密鍵」の所有者を確認することができます。また、「電子署名」を「公開鍵証明書」に含まれる「公開鍵」で復号可能かどうか検証することで、データに電子署名した利用者の本人性を確認することができます。
電子署名が指定された公開鍵で復号できない場合、送られてきたデータが途中で改ざれている可能性を示すことになり、電子署名は「改ざん検知」にも利用されています。
パブリック証明書とプライベート証明書
パブリック証明書は、主にインターネットを介したWebサーバへのアクセスや電子メールの送受信など、グローバルな環境で不特定多数の利用者が相互に通信する場合に必要となる証明書です。
EINS/PKI パブリック証明書は、「Security Communication RootCA2」をルート認証局としたWebサーバ証明書を発行します。
「Security Communication RootCA2」ルート認証局は、Microsoft Edgeなどの代表的なブラウザ等に信頼された認証局として登録されていますので、そのルート認証局からチェーンされているEINS/PKI パブリック証明書は、全世界において信頼される証明書として使用することができます。
プライベート証明書は、企業内や特定の企業間など、パブリック証明書に比べて比較的狭い範囲でのみに使うことができる証明書です。 EINS/PKIでは、EDIや、IPsec・SSL-VPNでの認証などの、お客さまの利用目的に応じた専用のプライベート認証局を構築してご提供いたします。