デジタル証明書について
公開キー暗号は、1 つのキー ペアを多くの人々が使用できるようにしてキー管理を簡略化しますが、ユーザーが公開キーを見つけ、その有効性を確認できるように公開キーを配布する方法が問題になります。
S/MIME では、デジタル証明書の使用によってこの問題を解決します。デジタル証明書は、S/MIME を多くの競合するメッセージ セキュリティ ソリューションと差別化します。
デジタル証明書と公開キー暗号について
デジタル証明書は、デジタル形式の ID で、パスポートや運転免許証に似ています。デジタル証明書は、エンティティの ID に関する情報および識別を裏付ける他の情報を提供するデジタル資格情報です。デジタル証明書は、証明機関 (CA) と呼ばれる機関によって発行されます。このため、その機関が証明書の情報の正当性を保証します。また、デジタル証明書は特定の期間のみ有効です。
デジタル証明書には証明書で識別されるエンティティの公開キーが含まれるため、公開キー暗号をサポートしています。デジタル証明書は、公開キーを特定の個人に対応付け、その証明書の内容の真正は発行者によって保証されるため、ユーザーの公開キーを見つけ、その有効性を確認する方法に関する問題を解決します。これらの問題は、ユーザーが別のユーザーの公開キーをデジタル証明書から取得することによって解決されます。信頼された証明機関によって証明書が発行されているため、ユーザーはその有効性を確認できます。
さらに、デジタル証明書は、独自の認証に対して公開キー暗号を使用します。デジタル証明書が発行されるとき、発行者の証明機関は証明書に独自の秘密キーで署名します。デジタル証明書の内容の真正を検証するために、ユーザーはその証明機関の公開キーを取得し、それを証明書に対して使用して、証明書が証明機関によって署名されたかどうかを判断できます。
デジタル証明書の構築方法について
デジタル証明書が実用的になるためには、理解および読み取り可能な方法で構築されており、証明書内の情報を簡単に取得および理解できる必要があります。たとえば、各国のパスポートは似たような構造をしていて、これまで見たことがない可能性がある国のパスポートでも情報を簡単に理解できるようになっています。同じように、デジタル証明書が標準化されている限り、証明書の発行者がだれであろうと、読み取りおよび理解が可能です。
S/MIME 標準では、S/MIME に使用されるデジタル証明書は ITU (国際電気通信連合) X.509 標準に従うことが規定されています。S/MIME Version 3 では、デジタル証明書は X.509 Version 3 に従う必要があります。S/MIME はデジタル証明書の構造について規定された公認の標準を使用するため、S/MIME 標準はその標準の普及をさらに進め、その結果広く受け入れられています。
X.509 標準では、デジタル証明書には標準化された情報が含まれることが規定されています。具体的に、X.509 Version 3 証明書には以下のフィールドが含まれます。
- バージョン番号 証明書が従う X.509 標準のバージョン。
- シリアル番号 証明書を一意に識別し、証明機関によって発行される番号。
- 証明書アルゴリズムの ID 証明機関がデジタル証明書に署名するために使用した特定の公開キー アルゴリズムの名前。
- 発行者名 証明書を実際に発行した証明機関の ID。
- 有効期間 デジタル証明書が有効な期間で、開始日と満了日の両方が含まれます。
- サブジェクト名 デジタル証明書の所有者の名前。
- サブジェクトの公開キー情報 デジタル証明書の所有者と関連付けられている公開キー、および公開キーと関連付けられている特定の公開キー アルゴリズム。
- 発行者の一意な ID デジタル証明書の発行者を一意に識別するために使用できる情報。
- サブジェクトの一意な ID デジタル証明書の所有者を一意に識別するために使用できる情報。
- 拡張 証明書の使用と処理に関するその他の情報。
- 証明機関のデジタル署名 証明書アルゴリズムの ID フィールドで指定されたアルゴリズムを使用して、証明機関の秘密キーで行われた実際のデジタル署名。
S/MIME は X.509 V3 証明書を必要とするため、この情報には、S/MIME が特定の証明書に対して使用する特性も記述されています。
重要 : |
---|
X.509v3 標準は、デジタル証明書を全般的に規定する標準です。S/MIME 証明書に固有の証明書標準を提供するものではありません。S/MIME に固有のデジタル証明書に関する情報は、S/MIME RFC で説明されています。 |
デジタル証明書は電子的なものですが、標準化されているため、パーソナル コンピュータだけでなく、多数のデバイスで使用できます。デジタル証明書は、ハンドヘルド デバイス、携帯電話、およびスマート カードと呼ばれるポータブル カードで使用できます。スマート カードは、さまざまなデバイスで使用でき、場合によっては、デジタル証明書の理想的な使用方法となります。スマート カードを使用すると、デジタル証明書がこれまでの運転免許証やパスポートと同じぐらいポータブルで便利なものになります。
S/MIME RFC や X.509 Version 3 標準による S/MIME 証明書の標準化は、デジタル証明書をこの標準に従うすべてのアプリケーションが理解できるようにするため、S/MIME が成功するための重要な要素です。
デジタル証明書と公開キー基盤
公開キー暗号の利点の 1 つは、1 つのキー ペアが多数の対称キーに代わるため、キー管理が軽減されることです。この利点は、公開キーの配布と管理を可能にするデジタル証明書によってさらに拡張されます。ただし、デジタル証明書は自己管理型ではありません。仕様により、デジタル証明書は広く配布されるため、これらの証明書の管理はデジタル証明書の分散性に対応する必要があります。デジタル証明書は、使用される予定の環境内で証明書を管理するように機能するインフラストラクチャを必要とします。公開キー基盤 (PKI) はデジタル証明書と切り離せません。PKI は、証明書の発行、これらの証明書のディレクトリを介した配布、および証明書の検証を行います。PKI は、デジタル証明書をサポートし、S/MIME などのサービスが使用する機能の提供を可能にする基盤の役割を果たします。
説明すると長く複雑になるため、本書では PKI について説明しません。ここでは、PKI とデジタル証明書がメッセージ セキュリティとどのように連携して動作するかに焦点を合わせて説明します。PKI について説明している優れたリソースは多数あります。PKI に関する詳細は、PKI ベンダのドキュメントおよび他の PKI 固有のソースから得ることができます。
PKI とメッセージ セキュリティの連携
PKI は、証明書を発行し、ディレクトリを介してアクセス可能にして、デジタル証明書を使用するための手段を提供します。また、証明書の内容の真正、証明書の正当性、および証明書が信頼できるものであることを確認して、デジタル証明書を検証します。デジタル証明書はサード パーティの証明機関を使用することにより分散モードに依存するため、これらのサービスはデジタル証明書にとって不可欠です。
デジタル証明書が発行され、ディレクトリに公開される方法は、PKI 製品およびその実装によって異なります。一般に、PKI はデジタル証明書を発行し、他のアプリケーションからアクセス可能なディレクトリにこれらの証明書に関する情報を公開します。この情報の一部は、デジタル証明書の検証に使用されます。「公開キー暗号について」の「公開キー暗号とメッセージ セキュリティの統合」で説明したように、メッセージ セキュリティ操作では送信者と受信者両方の公開キーへアクセスする必要があります。デジタル証明書はこの情報を提供するため、ユーザーのデジタル証明書へのアクセスはメッセージ セキュリティ システムにとって不可欠です。デジタル証明書へのアクセスを提供することにより、PKI は、公開キー暗号がキーの手動交換の必要性をなくしてキー管理を簡略化することによって提供される利点を強化します。それだけでなく、PKI は、デジタル証明書をディレクトリを介して利用できるようにして、必要に応じてアプリケーションから取得できるようにします。
PKI が証明書を検証する方法を理解するには、証明機関がデジタル証明書の発行において担う役割に注意してください。前の「デジタル証明書と公開キー暗号について」で説明したように、発行者の証明機関は ID の正当性を保証し、公開キーを使用してデジタル証明書に署名することでこれを示します。証明書の内容の真正を確認することは、証明機関のデジタル署名が検証される必要があることを意味します。PKI は、発行者の証明機関の署名を検証できる手段を提供して、証明書を検証します。署名を検証できない場合、証明書は信頼できないものであるとわかります。
最初に説明したように、どのセキュリティ方法も完全ではありません。デジタル証明書のセキュリティは、一般に秘密キーの損失によって侵害される可能性があります。デジタル証明書が信頼できるものであるためには、盗難されたクレジット カードを使用中止にできるのと同じように、有効期限が切れる前のデジタル証明書を使用中止、つまり "失効" する方法が必要になります。証明書の失効は、デジタル証明書をサポートするために PKI が提供する別の重要なサービスで、デジタル証明書の検証プロセスの別の部分です。
PKI によってデジタル証明書が信頼できるものであることが保証されるため、PKI はデジタル証明書に不可欠な要素です。PKI なしでデジタル署名を使用することはできません。Exchange Server 2003 は X.509 V3 証明書をサポートするため、Exchange のインストールをサポートする特定の PKI は、Exchange と共に使用されるデジタル証明書によって異なります。ただし、メッセージ セキュリティの観点から見ると、PKI はすべて、デジタル証明書のサポートにおいてこれらの基盤サービスを提供します。特定の PKI 間の違いは、実装と設計に関連するもので、PKI 展開ごとに固有です。
デジタル証明書とメッセージ セキュリティの統合
デジタル証明書、およびデジタル証明書での公開キー暗号のサポートについて理解したので、次に、この情報をメッセージ セキュリティに適用します。次のセクションでは、デジタル証明書が、デジタル署名とメッセージの暗号化を構成する中心的なセキュリティ サービスをどのようにサポートするかについて説明します。
デジタル署名に対するデジタル証明書の使用
「公開キー暗号について」の「公開キー暗号とデジタル署名」で説明したように、公開キーとユーザーの秘密キーとの関係により、受信者は送信者のメッセージを認証および検証できます。デジタル証明書は、公開キーの配布およびアクセスのための信頼できる手段を提供して、公開キー暗号をサポートします。送信者がメッセージに署名する際、送信者はデジタル証明書で利用可能な公開キーと関連付けられている秘密キーを提供します。次に、受信者がメッセージのデジタル署名を検証する際、受信者は送信者のデジタル証明書からその操作を実行するための公開キーを取得します。次の図は、署名の手順にデジタル証明書をサポートする要素を追加した手順を示しています。
- メッセージが取得されます。
- メッセージのハッシュ値が計算されます。
- 送信者の秘密キーが送信者のデジタル証明書から取得されます。
- ハッシュ値が送信者の秘密キーで暗号化されます。
- 暗号化されたハッシュ値がデジタル署名としてメッセージに付加されます。
- メッセージが送信されます。
次の図は、検証の手順にデジタル証明書をサポートする要素を追加した手順を示しています。
- メッセージが受信されます。
- 暗号化されたハッシュ値を含むデジタル署名がメッセージから取得されます。
- メッセージが取得されます。
- メッセージのハッシュ値が計算されます。
- 送信者の公開キーが送信者のデジタル証明書から取得されます。
- 暗号化されたハッシュ値が送信者の公開キーで解読されます。
- 解読されたハッシュ値が、受信時に生成されたハッシュ値と比較されます。
- 値が一致した場合、メッセージは有効です。
これらの手順に示すように、デジタル証明書は、デジタル署名の検証に使用される公開キーへのアクセスを提供します。
メッセージの暗号化に対するデジタル証明書の使用
検証プロセスで公開キーを利用可能にしてデジタル署名をサポートするのと同じように、デジタル証明書は公開キーを利用可能にしてメッセージの暗号化もサポートし、暗号化プロセスにキーを使用できるようにします。「公開キー暗号について」の「公開キー暗号とメッセージの暗号化」で説明したように、送信者は受信者の公開キーにアクセスし、この公開キーを使用してメッセージを暗号化し、受信者だけがメッセージを解読できることを確認できます。ここでは、暗号化を可能にするのは受信者のデジタル証明書です。デジタル署名と同様、デジタル証明書からの公開キーにより操作が可能になります。次の図は、暗号化の手順にデジタル証明書をサポートする要素を含めた手順を示しています。
- メッセージが取得されます。
- 公開キーが受信者のデジタル証明書から取得されます。
- 1 回限りの対称セッション キーが生成されます。
- セッション キーを使用して、メッセージに対して暗号化操作が実行されます。
- 受信者の公開キーを使用してセッション キーが暗号化されます。
- 暗号化されたセッション キーが暗号化されたメッセージに含まれます。
- メッセージが送信されます。
次の図は、解読の手順にデジタル証明書をサポートする要素を追加した手順を示しています。
- メッセージが受信されます。
- 暗号化されたメッセージおよび暗号化されたセッション キーがメッセージから取得されます。
- 受信者の秘密キーが受信者のデジタル証明書から取得されます。
- セッション キーが受信者のデジタル証明書からの受信者の秘密キーで解読されます。
- 解読されたセッション キーでメッセージが解読されます。
- 暗号化を解除されたメッセージが受信者に返されます。
デジタル署名とメッセージの暗号化に対するデジタル証明書の使用
デジタル署名とメッセージの暗号化は、互いに補い合います。次の図は、署名と暗号化の手順にデジタル署名をサポートする要素を追加した手順を示しています。
- メッセージが取得されます。
- メッセージのハッシュ値が計算されます。
- 送信者の秘密キーが送信者のデジタル証明書から取得されます。
- 受信者の公開キーが受信者のデジタル証明書から取得されます。
- ハッシュ値が送信者の秘密キーで暗号化されます。
- 暗号化されたハッシュ値がデジタル署名としてメッセージに付加されます。
- 1 回限りの対称セッション キーが生成されます。
- セッション キーを使用して、メッセージに対して暗号化操作が実行されます。
- 受信者の公開キーを使用してセッション キーが暗号化されます。
- 暗号化されたセッション キーが暗号化されたメッセージに含まれます。
- メッセージが送信されます。
次の図は、デジタル署名の解読と検証の手順に公開キー暗号をサポートする要素を追加した手順を示しています。
- メッセージが受信されます。
- 暗号化されたメッセージおよび暗号化されたセッション キーがメッセージから取得されます。
- 受信者の秘密キーが受信者のデジタル証明書から取得されます。
- セッション キーが受信者のデジタル証明書からの受信者の秘密キーで解読されます。
- 解読されたセッション キーでメッセージが解読されます。
- 暗号化されたハッシュ値を含むデジタル署名がメッセージから取得されます。
- メッセージのハッシュ値が計算されます。
- 送信者の公開キーが送信者のデジタル証明書から取得されます。
- 暗号化されたハッシュ値が送信者の公開キーで解読されます。
- 解読されたハッシュ値が、受信時に生成されたハッシュ値と比較されます。
- 値が一致した場合、メッセージは有効です。
- 暗号化を解除されたメッセージが受信者に返されます。
デジタル証明書がどのようにして公開キー暗号を可能にし、公開キー暗号がどのように動作してデジタル署名とメッセージの暗号化のための基本セキュリティ サービスを提供するかを理解することにより、S/MIME メッセージ セキュリティがどのように動作するかを理解できます。これらの概念が一緒になって、メッセージ セキュリティの中心となる基盤が形成されます。