Comments
Description
Transcript
1.3MB
PKI 基礎編 セコムトラストネット株式会社 松本 泰 [email protected] 1 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKI 基礎編 • • • • • • • • 公開鍵暗号 PKIの信頼モデル X.509 公開鍵証明書 LADPによるリポジトリ ハードウェアトークン 証明書失効検証( CRL, OCSP) PKIアプリケーションの基本的な要件 証明書発行 2 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 1 PKIの基本コンポーネント リポジトリ (LDAPサーバ) 各種の証明書 CRL/ARL、証明書 などの取得 証明書などの登録 EndEntityの ハードウェア トークン End Entity 証明書発行要求、証 明書更新要求、証明 書失効要求など RA Registration Authority CRL ARL CRL/ARL、証明書 などの登録 CA Certificate Authority HSM CAの鍵を管 理するハー ドウェア・セ キュリティ・ モジュール 3 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 共通鍵暗号と公開鍵暗号 共通鍵暗号 共通鍵 Internet Week 暗号 共通鍵 &%8*HYh h+@a 復号 Internet Week 公開鍵暗号 公開鍵 Internet Week 暗号 私有鍵 9i&t%Bd1KlKjI UHGbI( 復号 Internet Week 4 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 2 署名の仕組み ALICE の文書 ハッシュ関数 SHA-1 ALICE の文書 ALICE の署名 ハッシュ値 のエンコード アリスの 私有鍵 ハッシュ関数 SHA-1 ALICE の署名 ネットワーク アリスの 公開鍵 ALICEの文書 のハッシュ値 署名値の デコード ALICEの文書 のハッシュ値 ALICEの文書 のハッシュ値 比較 SHA-1の場合160 bit 5 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. TTPよる認証 (アリスの公開鍵を信じるのか) • TTP(Trusted Third Party) とは – 信頼できる第三者機関 – TTPによって署名された データは信用できるもの とする – 代表的な例はCA (Certificate Authority) – CAは印鑑証明を発行 してくれる役所のイメー ジ アリスの 公開鍵証明書 認証局 アリスの 署名文書 6 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 3 PKIの基本的な信頼モデル CAの ボブ(とアリス)の ボブ(とアリス)の 信頼のアンカー(Trust Anccker) 自己署名証明書 信頼ポイント(Trust Point) CA (RootCA証明書) Relying Party Subscriber 署名検証者 Verifier 署名者 Signer Aliceの 公開鍵 証明書 Bobの 公開鍵 証明書 ALICEの 署名文書 アリス ボブの信頼ポイント ボブ アリスの私有鍵 ALICEの 署名文書 暗号クレデンシャル Aliceの 公開鍵 証明書 CAの 自己署名証明書 (RootCA証明書) 7 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 階層型CAモデル ボブ(とアリス)の ボブ(とアリス)の 信頼ポイント CA CAの 自己署名証明書 (RootCA証明書) CA-Aへの 2 CA証明書 証明書パス 中の中間CA 3 アリスの 公開鍵証明書 アリスの 私有鍵 CA-Bヘの CA証明書 CA-A 1 CA-B 下位CA Subordinate CA ボブの 公開鍵証明書 ALICEの 署名文書 8 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 4 相互認証モデル(Cross certificate) CA-BがCA-Aに対して 発行する相互認証証明 書 (CA証明書) CA-Aの 自己署名証明書 CA-Bの 自己署名証明書 1 2 アリスの 信頼ポイント 3 CA-A CA-AがCA-Bに対して 発行する相互認証証明書 アリスの 公開鍵証明書 ボブの 信頼ポイン ト CA-B ボブの 公開鍵証明書 ALICEの 署名文書 アリスの私有 鍵 9 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 認証パスとは何か? •ボブ ボブ(RP)はアリス はアリス(SC)からのメッセージを受け取った。 からのメッセージを受け取った。 ボブ はアリス •ボブは、アリスからのメッセージの署名を検証したい ボブは、アリスからのメッセージの署名を検証したい ボブのRootCA)からの からの認証パスを検 •自分 自分(ボブ ボブの 自分 ボブ)の ボブ の“信頼のポイント”(ボブの 証する •検証は署名のチェーンの検証だけでなく、各証明書の失効チェック、そ 検証は署名のチェーンの検証だけでなく、各証明書の失効チェック、そ してX.509証明書拡張に関する検証が行われる。 証明書拡張に関する検証が行われる。 して 証明書パス(Certificate Path) ) 証明書パス(Certificate Path RootCAの証明書 自己署名証明書 (ボブの信頼ポイント) 発行者: CA-B 主体者: CA-B Key:xxxx CA-Bの署名 中間CAの証明書 (相互認証証明書 or 下位CA証明書) 発行者: CA-B 主体者: CA-A Key:yyyy CAの署名 認証パス(Certification 認証パス(Certification Path) EEの証明書 (アリスの証明書) 発行者: CA-A 主体者: ALICE Key:zzzz CA-Aの署名 認証パス 10 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 5 X.509証明書 証明書バージョン番号(V3) 証明書シリアル番号 デジタル署名アルゴリズム識別子 発行者名の識別名 有効期間 主体者(ユーザ)の識別名 主体者の公開鍵 アルゴリズム識別子 公開鍵値 V3の拡張 拡張フィールド(タイプ、フラグ、値) 拡張フィールド(タイプ、フラグ、値) . CAのデジタル署名 アルゴリズム識別子 署名 • • 代表的な公開鍵証明書 – 主体者(アリス 主体者 アリス)と、主体者 アリス と、主体者(アリス と、主体者 アリス) アリス の公開鍵や、その他の属性を CA鍵 鍵(アリスの証明書を発行し アリスの証明書を発行し たCAの署名鍵 の署名鍵)の署名でバイン の署名鍵 の署名でバイン ドする。 – この時、主体者(アリス この時、主体者 アリス)の公開 アリス の公開 鍵に対応した私有鍵は、主体者 (アリス アリス)しか使用できないことが アリス しか使用できないことが 理想。 1997年版 年版 X.509 3rd Edition – X.509v3証明書フォーマット • X.509V3拡張 – 14の標準拡張フィールド * GPKIなどでは、 GPKIなどでは、X.509v3 などでは、X.509v3証明書フォーマットが使用されており、かつ拡張が、重要な意味を持つ。 X.509v3証明書フォーマットが使用されており、かつ拡張が、重要な意味を持つ。 11 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. X.509証明書拡張(v3拡張) No 標準拡張(X.509v3) 説明 1 発行者鍵識別子 発行者の鍵の識別に使用されCA鍵の更新に必要 2 主体者鍵識別子 主体者の鍵の識別に使用されCA鍵の更新に必要 3 鍵使用方法 私有鍵の使用方法。例えば署名用鍵で、暗号化を禁止する 4 私有鍵有効期間 証明書の有効期間に対して、私有鍵の有効期間。 5 証明書ポリシ 証明書ポリシIDなどが格納される。ポリシによる制御などに使用 6 ポリシマッピング 信頼ドメイン間のポリシのマッピングを行う 7 主体者別名 主体者の別名が格納される。例えばVPN装置の場合のIPaddress 8 発行者別名 発行者の別名が格納される。 9 証明書の主体者のためのディレクトリ属性 主体者ディレクトリ属性 10 基本制約 証明書の種類(CAorEE)。CAだった場合パス数の制限 11 名前制約 CA証明書で、相手のCAが発行する名前による制約 12 ポリシ制約 CA証明書で、相手のCAが発行するポリシ関係制約 13 拡張鍵使用方法 "鍵使用方法"以外の鍵使用方法のOIDが格納される。 14 CRL配布点 失効情報リストの配布点のDNやURLが格納される。 12 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 6 X.509 の証明書フォーマット 証明書フォーマット X.509 Edition 1st Edtion 1988 2nd Edtion 1994 3rd Edtion 1997 4th Edtion 2000 証明書 フォーマット CRL フォーマット V1 V1 古いrootCAの証明書にV1 フォ-マットのものがある V2 V1 ほとんど使用されていない?? V3 V2 14個の(v3)標準拡張フィールド V3 V2 標準拡張フィールドがひとつ追 加された 備考 13 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. X.509v3証明書の基本拡張基本制約拡張 2 Basic Constrain (基本制約拡張) Critical クリチカルにマーク CA True CAへの証明書 PathLength = 0 CAへのパス数 CAの 自己署名証明書 (RootCA証明書) CA 1 ボブの 信頼ポイント CA-A CA-C 上位のCAより、下位のCAへの証 明書の発行を禁止されている。 3 CA-B アリスの証 明書を発行 した認証局 は違反だ ね!! 署名検証者としては、自分の信頼ポイント 署名検証者としては、自分の 信頼ポイント からの、証明書のパス検証を行い、結果と して、アリスの署名を拒否しなければならな い。 ALICEの 署名文書 NG ** GPKIでは、 GPKIでは、CA では、CA証明書でクリチカルな基本制約拡張を必須としている。 CA証明書でクリチカルな基本制約拡張を必須としている。 14 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 7 鍵使用目的拡張(Key Usage) 相互認証証明書 KeyUsage(Critical) cRLSign keyCertSign CA署名鍵 CA-A CRL EE証明書 KeyUsage(Critical) nonRepudiation digitalSignature ボブの 信頼 ポイント CA-B GPKIにおいて Keyusageはクリ チカルにマークさ れている。また、 EE証明書の nonRepudiation は非常に大きな 意味がある CA証明書 EE証明書 アリスの 署名文書 アリスの 私有鍵 アリス ボブ ** 例えば、GPKI 例えば、GPKIでは、 GPKIでは、CA では、CA証明書、 CA証明書、EE 証明書、EE証明書で、クリチカルな鍵使用目的拡張を必須 EE証明書で、クリチカルな鍵使用目的拡張を必須 15 としている Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 8 鍵使用目的拡張(Key Usage) • • 鍵使用目的拡張 – 証明書に対応した私有鍵が使用目的をビット列で指定 – デジタル署名、否認防止、鍵暗号化、データ暗号化、鍵交換、証 明書署名、CRL 明書署名、CRL署名、暗号化 CRL署名、暗号化/ 署名、暗号化/複合化の指定。 EEの私有鍵による署名と EEの私有鍵による署名と key Usage の関係 – 否認防止 - Non Repudiation( Repudiation(NRビット) NRビット) • 文書へのデジタル署名 – デジタル署名 - Digital Signature( Signature(DSビット) DSビット) • Nonce( Nonce(乱数) 乱数)へのデジタル署名 • 認証(Authentication) 認証(Authentication)用途 Authentication)用途 1 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 認証と署名 WWW サーバ アクセスログ TLS 署名された 発注データ アリス ハードウェアトークン PIN 入力 CA証明書 否認防止 の署名 否認防止用 証明書 鍵ペア 署名された データ 発注データ クライアント認証 のための署名 アリスの署名が 付いた発注デー タが保存される ことが重要。 鍵ペア 認証用 証明書 銀行を中心としたPKI 銀行を中心としたPKIである PKIであるIdentrus であるIdentrusや、フィンランドの市民カードでのある Identrusや、フィンランドの市民カードでのあるFINEID や、フィンランドの市民カードでのあるFINEIDでは、 FINEIDでは、 この例のように2つの証明書を発行している。 2 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 1 FinEIDの2つの保有者証明書と私有鍵 証明書の 使用目的 私有鍵を使用する ための認証方法 X.509証明書拡張 鍵使用目的 認証や暗号化で使用す る。 利便性が優先させる目 的に使用される。 SingleSingOnなどにも使 用される。 法的な意味を持つ否認 防止の署名のために使 用される。 この私有鍵を使用するには、 トークンの中のグローバル PINによる認証を行う。 グローバルPINは他のアプリ ケーションと共有される。 digitalSignature keyEncipherment dataEncipherment この私有鍵を使用するには、 この私有鍵だけのためのロー カルPINによる認証を行う。こ の認証は、私有鍵での署名操 作でリセットされる。(毎回 PINが要求される) *1 nonRepudiation No 1 2 *1 こういった機能の実装のため、PKCS#15 こういった機能の実装のため、PKCS#15には、 PKCS#15には、 userConsent、 userConsent、PKCS#11には、 PKCS#11には、CKA_SECONDARY_AUTH には、CKA_SECONDARY_AUTH 属性などといった新しい仕様がある。 3 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 鍵使用目的拡張と証明書発行の関係 (セコムトラストネットの証明書発行サービスの例) Identrus Identity 証明書 Identrus utility 証明書 Identrus アウトソース 受託CA B2B対応 GPKI対応 SECOM パスポート For GID *1 受託CA 企業内など SECOM パスポート For member 受託CA&SI アウトソース インソース セコムブランド 証明書発行 サービス 法的な否認防 止や、高額な 商取引を行うレ ベルの証明書 専用の アプリケー ションが必 nonRepudiation 要な場合が 多い 簡易な署名 認証 S/MIME 人の認証 デバイス認証 クライアント認証 Encipherment VPN認証 無線LAN認証 digitalSignature data- 証明書の レベル アプリケーション Keyusage *1 SECOMパスポート SECOMパスポートfor パスポートfor GIDは、電子署名法特定業務認定取得済み、 GIDは、電子署名法特定業務認定取得済み、GPKI は、電子署名法特定業務認定取得済み、GPKI相互認証を申請中 GPKI相互認証を申請中 4 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 2 RFC3280(証明書プロファイルとは何か?) • RFC3280( ( RFC2459 RFC2459 ) RFC3280 ( • プロファイルとはなにか?? プロファイルとはなにか?? – 汎用的なX.509 汎用的なX.509証明書に対して、使用方法を限定することで、アプリケーション X.509証明書に対して、使用方法を限定することで、アプリケーション の実装を容易にする。 – #それでも、RFC3280 #それでも、RFC3280は、汎用的な証明書プロファイル RFC3280は、汎用的な証明書プロファイル 証明書プロファイルとして記述されること – 各証明書における、各証明書拡張の存在や使用方法 • 存在がMUST 存在がMUSTなのか、 MUSTなのか、SHOULD なのか、SHOULDなのか、 SHOULDなのか、MAY なのか、MAYなのか MAYなのか?? なのか?? • フラグがクリチカルなのか? フラグがクリチカルなのか?、ノンクリチカルなのか? ノンクリチカルなのか? 各証明書拡張のクリチカルフラグの扱い – 証明書拡張がクリチカルの場合処理が強制させる X.509標準証明書拡張にない証明書拡張の定義 X.509標準証明書拡張にない証明書拡張の定義 – AIA(Authority Information Access)。 Access)。OCSPなどで使用される。 OCSPなどで使用される。 – Internet X.509 Public Key Infrastructure Certificate and CRL Profile Profile • • • 5 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 証明書のプロファイルの関係 X.509以外の 公開鍵証明書 ISO/ITU X.509 (標準拡張) PKIX RFC3280 特化したサービスの プロファイル (機器組み込みなど) T 相互運用が必要な、比較的、 汎用的なサービスや製品 のプロファイル 例えば、 GPKIの プロファイル RFC3280(RFC2459 RFC3280(RFC2459) RFC2459)準拠の意味するもの T証明書発行そのものよりも、そのプロファイルを解釈するアプリ ケーションの実装が格段に難しい。アプリケーションにおいて、 100% RFC3280サポートは、まずない。 サポートは、まずない。 6 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 3 X.509とRFC3280 X.509 3rd Edition 1997 X.509 4th Edition 2000 RFC2459 1999 Son of 2459 IETF Internet Engineering Task Force ITU International Telecommunication Union RFC3280 2002.5 Son of 3280 RFC3279 2002.5 7 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 証明書ポリシとは何か? • 証明書ポリシの 証明書ポリシのX.509での定義 X.509での定義 – 特定のコミュニティ又はアプリケーションのクラスに共通のセキュリティ要求をもっ て、証明書の適用性を指定する規則の名前付けした集合 • RFC2527 – インターネット X.509 PKI 証明書ポリシー( 証明書ポリシー(CP)と認証実施 CP)と認証実施 フレームワーク • 一般的な証明書ポリシの内容 – 認証局の発行者。署名者の義務。証明書の正しい用途や署名確認に関 するリライングパティへの要求事項 • 証明書ポリシ( 証明書ポリシ(CP)と CP)とCPS(Certificate Practice Statement) – CPは、 CPは、“何を は、 何を( 何を(what)サポート what)サポート” サポート” 。CPSは、 CPSは、“ は、“どのよう( どのよう(how)にサポート how)にサポート” にサポート • X.509証明書の X.509証明書の証明書ポリシ拡張 証明書の証明書ポリシ拡張 – ポリシー識別子などが格納される • GPKIでは、証明書ポリシ GPKIでは、証明書ポリシ( では、証明書ポリシ(CP)は存在が CP)は存在がMUST は存在がMUSTでクリチカル MUSTでクリチカル – ポリシ制約拡張の設定と合わせて証明書ポリシの処理を強制している。 8 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 4 証明書ポリシとX.509v3証明書の証明書ポリシ拡張 ABC 証明書ポリシ ◆ABC High証明書 (1) OID ABC.4 (2) 本人確認の方法 対面で手渡す ◆ABC Medium証明書 (1) OID ABC.3 (2) 本人確認の方法 郵送で行う . アリスの証明書 主体者: ALICE ABC CA CP: Critical OID=ABC.3 証明書拡張が Critical Criticalにマーク されている場合、 証明書検証のソ フトウェアに、そ の処理を強制し ている(*1)。 ALICEの 署名文書 *1 実際にはポリシ制約拡張も関係する。 これは、高額な取引だから、High証 明書の署名じゃなきゃだめ!! 受け入れポリシOID = ABC.4 NG 9 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 証明書ポリシと保証レベル 米国防総省PKI PKIドメイン 米連邦PKI PKIドメイン カナダ政府PKI PKIドメイン DoD Class4 CP Federal High CP GOC High DoD Class3 Federal medium GOC medium DoD Class2 Federal Basic GOC Basic Federal rudimentary GOC rudimentary DoD Class5 ISO Banking CP ドイツの 署名法 PKI ドメイン 間の関係 基本保証レベル Verisign Class 1 10 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 5 PKIドメインとは?? • • PKIドメイン(PKIにおけるドメイン) PKI ドメイン(PKIにおけるドメイン) – ひとつのポリシ管理機関などの管理下運用されるPKI PKIの単位。 の単位。 ひとつのポリシ管理機関などの管理下運用されるPKI – 典型的には、ひとつの組織のPKI PKIなど。 など。 典型的には、ひとつの組織のPKI – 各ドメインは、少なくとも、ひとつのCP 各ドメインは、少なくとも、ひとつのCP、 CP、ドメイン・ディレクトリを持つ。 – ひとつのドメインで、階層型CA ひとつのドメインで、階層型CAや、メッシュ型 CAや、メッシュ型CA や、メッシュ型CAを持つ場合がある。 CAを持つ場合がある。 – 信頼ドメイン、CA 信頼ドメイン、CAドメイン、ポリシドメインなど、ほぼ同義 CAドメイン、ポリシドメインなど、ほぼ同義??? ドメイン、ポリシドメインなど、ほぼ同義??? ポリシドメイン( ポリシドメイン(X.509 4th Editionに記述されている説明 Editionに記述されている説明) に記述されている説明) – 証明書は、ひとつ以上のポリシに従って発行されるかもしれない。ポリシの定 義、及び、識別子の割当は、ポリシ管理機関 義、及び、識別子の割当は、ポリシ管理機関( ポリシ管理機関(PMA)によって行われる。ポリ PMA)によって行われる。ポリ シ管理機関によって管理されたポリシの集合は、ポリシドメインと呼ばれる。 11 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKIドメイン間の相互認証 ふたつのドメイン間の相互認証。ふたつの組織の間で ポリシを揃えるもの。実社会における契約。 CA-Aの CPS (認証局 運用規定) CA-A CA-B アリスに発行された証 明書の証明書ポリシ CA-Aの CP (証明書 ポリシ) CA-Bの CP (証明書 ポリシ) ALICEの 署名文書 PKIドメイン A CA-Bの CPS (認証局 運用規定) PKIドメイン B 異なるポリシ なるポリシ 12 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 6 X.509v3証明書のポリシマッピング拡張 CA-A CA-BがCA-Aに発行する 相互認証証明書 CP:PB.Class4 CP:P B.Class3 CP: PB. Class3 PM PB.Class4 PB.Class4= =PA.High PM PB. PB.Class3= Class3=PA.Med Class3=PA.Med CA-B 受け入れポリシ PB.Class4 NG アリスのCPに 適合しない PB.Class3 OK PB.Class2 NG ポリシマッピング されない アリスの証明書 PA.Med Med CP: PA. CP: PA.Basic ALICEの 署名文書 PKIドメインA ボブの 信頼ポイント PKIドメインB 13 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. ブリッジモデル CA-C アリスの 信頼ポイント CA-A BCA ボブの 信頼ポイント CA-B ALICEの 署名文書 14 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 7 ブリッジモデル • • • • • • ブリッジCA ブリッジCA – 各PKI PKIドメインの ドメインのPrincipal ドメインのPrincipal CAは、ブリッジ CAは、ブリッジCA は、ブリッジCAと相互認証 CAと相互認証 別名ハブモデル – 認証局(PKI PKIドメイン)のハブ ドメイン)のハブ 認証局(PKI ブリッジCA ブリッジCAは、 CAは、“ は、“信頼の橋” 信頼の橋”となる ブリッジCA ブリッジCAは、証明書ユーザの信頼のアンカ(信頼ポイント)ではない CAは、証明書ユーザの信頼のアンカ(信頼ポイント)ではない – 署名検証者から見ると証明書パス中の中間CA 署名検証者から見ると証明書パス中の中間CA ブリッジCA ブリッジCAは、 CAは、Root は、Root CAではない CAではない ブリッジCA ブリッジCAとビジネスモデル CAとビジネスモデル – RoorCAから始まるトップダウンなモデルの階層型CA RoorCAから始まるトップダウンなモデルの階層型CAに対して、 CAに対して、 – ボトッムアップに構築するブリッジモデル – 特定業界むけの垂直統合サイトに対応した階層型CA 特定業界むけの垂直統合サイトに対応した階層型CA • Identrusなどが典型的 Identrusなどが典型的 – 水平統合モデルのB2B 水平統合モデルのB2Bには、ブリッジモデル B2Bには、ブリッジモデル?? には、ブリッジモデル?? 15 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 8 階層モデルとブリッジモデルの認証パス 階層モデルの認証パス 署名検証 者からは 中間CA Root CA ブリッジモデルの認証パス 署名検証 者の信頼 ポイント 下位 CA 下位 CA 署名者 署名検証者 署名検証 者からは 中間CA 署名検 証者か らは中 間CA ブリッジ CA 署名検証 者の信頼 ポイント 署名者側 CA 署名検証 者側CA 署名者 署名検証者 RFC3280などに記述されている認証パス検証は、信頼モデルに依存しない。しかし、ブ などに記述されている認証パス検証は、信頼モデルに依存しない。しかし、ブ リッジモデルでは、その性格から、RFC3280の仕様の多くの部分の実装が要求され、高 リッジモデルでは、その性格から、 の仕様の多くの部分の実装が要求され、高 度なPKI相互運用技術が要求される。 相互運用技術が要求される。 度な 1 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. ブリッジモデルにおける信頼ポイントの扱い 署名検証 者からは中 間CA ブリッジ CA 署名者側 CA 署名検証者の 信頼ポイント 署名検証 者側CA 証明書の発行 署名者 ボブの 私有鍵 署名検証者 ボブの 証明書 ハードウェアートークン ボブが信頼する CAの証明書 ボブが保持す PKI対応のハード ウェアトークンな ど。 CAが、信頼ポイン トである自分の自 己署名証明書を セキュアに証明書 ユーザに渡すこと も重要。 CAは証明書ユー ザに不利益になら ない相互認証を 行う。 2 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 1 証明書信頼リストによる方法(Webモデル) Trusted CA List CA-D CA-A CA-B ボブは新たな CAを信頼する 時、信頼する 証明書を追加 する。 EE EE CA-C CA-B2 CA-B3 CA-C2 EE EE EE ボブの 信頼する CAのリスト PKIドメインB アリスの 署名文書 3 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. マルチドメインPKIと課題 • • • マルチドメインPKI マルチドメインPKIの要求 PKIの要求 – 色々なドメインの中で、色々なポリシの証明書が発行される中、必要なポリシ の証明書の署名を検証できることが必要。 ブリッジモデルの問題点 – 署名のチェーンの検証だけでなく、各種の制約拡張の解釈が重要になり、多く のX.509v3証明書拡張の対応のための実装が要求される。また、実装例が X.509v3証明書拡張の対応のための実装が要求される。また、実装例が 少ない。このため、高度な相互運用が要求される Webモデル(信頼する認証局リスト)の問題点 Webモデル(信頼する認証局リスト)の問題点 – 信頼リスト自体の信頼を維持するこが難しい • 実際には、単なるポリシの異なる認証局のリストでしかない場合が多い – 標準化の動きがない ( 下記しか見たことがない ^_^; ) 下記しか見たことがない • http://csrc.nist.gov/pki/twg/presentations/twghttp://csrc.nist.gov/pki/twg/presentations/twg-9999-76.pdf – ポリシ付き信頼認証局リストの提案などもある • ニュージランドの S.E.E. PKI • http://www.e http://www.e-government.govt.nz/docs/see government.govt.nz/docs/see-pkipaper-4/chapter3.html pki-paper 4 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 2 リポジトリ(LDAP) • • • • • • • LDAPとは(超安直な説明) LDAPとは(超安直な説明) PKIにおける PKIにおけるLDAP におけるLDAP PKIで使用するLDAPの標準と実装 PKIで使用するLDAPの標準と実装 相互認証とLDAP 相互認証とLDAP DIT(Directory Information Tree) リポジトリに格納されるもの(認証局のエントリ) LDAPサーバを使用したネットワーク構成例 LDAPサーバを使用したネットワーク構成例 5 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKIの基本コンポーネントとリポジトリ リポジトリ (LDAPサーバ) 各種の証明書 CRL/ARL、証明書 などの取得 証明書などの登録 EndEntityの ハードウェア トークン End Entity RA Registration Authority 証明書発行要求、証 明書更新要求、証明 書失効要求など CRL ARL CRL/ARL、証明書 などの登録 CA Certificate Authority HSM CAの鍵を管 理するハー ドウェア・セ キュリティ・ モジュール 6 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 3 LDAPとは(超安直な説明) • • • クライアントサーバモデル – 例えば、ブラウザ-Webサーバ、 サーバ、DBクライアント サーバ 例えば、ブラウザ サーバ、 クライアント/DBサーバ クライアント – LDAPのモデルは、上記の二つを足して割ったようなもの のモデルは、上記の二つを足して割ったようなもの?? のモデルは、上記の二つを足して割ったようなもの LDAP( (Lightweight Directory Access Protocol) ) – 元になっているX.500の簡易版 の簡易版 #しかし はLightweight?? 元になっている の簡易版 しかしVer3は しかし – 狭義には、プロトコル(HTTPなどと同じ) などと同じ) 狭義には、プロトコル( – 広義には、LDAPプロトコルを使用したクライアントサーバモデル プロトコルを使用したクライアントサーバモデル 広義には、 全体のアークテクチャ?? 全体のアークテクチャ プロトコル以外も数々の標準が作成されている – 多くの標準的なスキーマ • PKIが利用するスキーマもある( が利用するスキーマもある(RFC 2587、 、X.509) ) が利用するスキーマもある( – 標準的なLDAPサーバアクセス サーバアクセスAPI 標準的な サーバアクセス – 標準的なローディング形式( LDIF RFC2849 ) – #期待されながらも、ちっとも進まない複製プロトコルの 期待されながらも、ちっとも進まない複製プロトコルのLDUP 期待されながらも、ちっとも進まない複製プロトコルの 7 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. LDAPのクライアントサーバモデル LDAPサーバ (PKIのリポジトリ) PKIクライアント PKIクライアント PKIアプリケーション 要求 応答 相互認証 証明書ペア LDAP API CRL LDAPアクセスモジュール TCP/IP TCP/IP 応答メッセージ 要求メッセージ 8 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 4 PKIにおけるLDAPの役割 • • PKIのリポジトリの役割 PKIのリポジトリの役割 – 主にRelying 主にRelying Party側からアクセス Party側からアクセス – 署名検証 • 相手の証明書の検証も行う。この証明書の検証が非常に重 要。 Relying Party側にとって、証明書パス構築、証明書 Party側にとって、証明書パス構築、証明書 パス検証が重要 LDAPサーバへのアクセス LDAPサーバへのアクセス – 相互認証証明書ペアの取得 • 証明書パス構築時に行う – 証明書失効リスト( 証明書失効リスト(CRL/ARL)の取得 CRL/ARL)の取得 • 証明書パス検証時に行う 9 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKIにおけるLDAPの役割 CAからは、定期的、非定期的 にCRL/ARLがリポジトリに登 録される。また、証明書も必要 に応じて登録される。PKI的に 重要なことは、登録されるもの は、CAの署名 は、CAの署名がなされること CAの署名がなされること CA FW リポジトリは、証明書ユーザから アクセス可能な場所に置かれる。 PKIを利用するアプリケーションか ら常にアクセスされるため、一般 に耐障害性が要求される。 (Relying Partyの)ボブは、証明 書検証のため、リポジトリ (LDAPサーバ)をアクセスする。 ボブは、リポジトリに格納された データの内容を無条件に信用 するわけではなく、自分が信頼 するCAの証明書の公開鍵から の署名チェーンをチェックする。 署名チェーンをチェックする。 CRL/ARL CAルーム 相互認証証明書 リポジトリ ペア LDAPサーバ ボブ ボブの信頼する CAの証明書 10 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 5 PKIで使用するLDAPの標準と実装 OpenLDAP SDK Netscape SDK Java JNDI etc.. LDAP API RFC 1823 ldap_open() ldap_simple_bind() ldap_search() ldap_unbind() etc... PKI クライアント LDAPアクセス モジュール OpenLDAP iPlanet LDAPサーバ NEC EDS ノベル NDS 富士通 infoDirectory etc... RFC 2587、X.509 PkiCA、PkiUserなどオブジェク トクラス cACertificate、 crossCertificatePair、 certificateRevocationList などの属性 Lightweight Directory Access Protocol ( LDAP ) LDAP Ver3 RFC2251からRFC2256 ASN.1の転送構文 TCP/IP port 389 LDAP Server LDAP スキーマ CAの自己署名証明書(自己 発行証明書)、相互認証証 明書ペア、暗号用証明書、 CRL/ARL、その他 LDAP DB 11 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 相互認証とLDAP CRL ABC CA ABC認証局が発行し たアリスへの証明書 の失効をチェックする ためCRL ためCRLを取得す CRL を取得す る。 CRLには、ABC CRL には、ABC CAの署名が付けら れている。 ARL XYZ CA ALICEの 署名文書 ALICEの 公開鍵証明書 ARLは、 Authority Revocation List (認証局失 効リスト)。 ボブの トラストポイント XYZ認証局が発 行した、ABC認 証局への相互認 証証明書の失効 をチェックするた めARLを取得す ARL を取得す る。 ARLには、XYZ ARLには、XYZ CAの署名が付 けられている。 12 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 6 DIT(Directory Information Tree) C=JP O=ABC OU=Member O=XYZ OU=Med CA CN=ALICE OU=Person OU=CA3 CN=Bob 相互認証 証明書ペア 自己署名 証明書 アリスの (暗号用) 証明書 CRL ARL ABC PKIドメイン(アリスのドメイン) 相互認証 証明書ペア 自己署名 証明書 ボブの (暗号用) 証明書 CRL ARL XYZ PKIドメイン(ボブのドメイン) 13 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. リポジトリに格納されるもの(認証局のエントリ) AuthorityRevocationL ist 属性 (ARLが 格納される) CertificateRevocationL ist 属性(CRL が 格納される) cr ossCer tificatePair 属性 caCertificate 属性 C=JP,O=XYZ,OU=CA3 発行者 ABC認証局 主体者 XYZ認証局 発行者 XYZ認証局 主体者 ABC認証局 相互認証証明書 (X.509の証明書) 相互認証証明書 (X.509の証明書) issuedToThisCA issuedByThisCA 相互認証証明書ペア 他の認証局との 相互認証 証明書ペア caCertificate 属性 XYZ認証局の古い 自己署名証明書 OldWithNew 自己発行証明書 ABC認証局との 相互認証 証明書ペア NewWithOld 自己発行証明書 cr ossCertificatePair 属性 XYZ認証局の新しい 自己署名証明書 14 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 7 証明書の失効 定期的 に更新 リポジトリ CA CRL CAの 自己署名証明書 CRLは、Certificate CRL は、Certificate Revocation List(証明書失効リ スト)。 一般的なデータフォーマットは、 X.509 CRL v2フォーマット。CA は、失効した証明書のリスト を、一定期間でCAの署名を付 けて リポジトリ で公開する。 CRLの取得 Aliceの 公開鍵 証明書 ALICEの 署名文書 Aliceの 公開鍵証明書 アリスの証 明書は、取り 消されてい るね!! 15 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 8 CRL(証明書失効リスト) CRLバージョン番号(v2) デジタル署名アルゴリズム識別子 発行者(CA)の識別名 今回の更新 次回の更新 T 証明書シリアル番号 証明書シリアル番号 証明書シリアル番号 失効日時 失効日時 失効日時 エントリ拡張(CRLv2の拡張) エントリ拡張(CRLv2の拡張) エントリ拡張(CRLv2の拡張) CRLv2の拡張 拡張フィールド(タイプ、フラグ、値) 拡張フィールド(タイプ、フラグ、値) . 発行者(CA)のデジタル署名 アルゴリズム識別子 署名 T CRL T あるCAが発行した証明書の有 ある が発行した証明書の有 効期限内に証明書を失効したい 場合、このCRLに、失効したい に、失効したい 場合、この 証明書のシリアル番号を入れて リポジトリ(LDAPサーバなど) リポジトリ( サーバなど)で 公開する。 T CRLは一定期間毎に は一定期間毎にCAの署名 は一定期間毎に の署名 を付けて発行される。 1997年版 年版 X.509 3rd Edition T CRLv2フォーマット T X.509v3証明書と同じく拡張が ある 1 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 相互認証とLDAP CRL ABC CA ABC認証局が発行し たアリスへの証明書 の失効をチェックする ためCRL ためCRLを取得す CRL を取得す る。 CRLには、ABC CRL には、ABC CAの署名が付けら れている。 ARL XYZ CA ALICEの 署名文書 ALICEの 公開鍵証明書 ARLは、 Authority Revocation List (認証局失 効リスト)。 ボブの トラストポイント XYZ認証局が発 行した、ABC認 証局への相互認 証証明書の失効 をチェックするた めARLを取得す ARL を取得す る。 ARLには、XYZ ARLには、XYZ CAの署名が付 けられている。 2 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 1 アリスの署名文書の検証 (ボブが検証) ボブの信頼ポイント ボブの信頼ポイント。 信頼ポイント。 ボブの保持するハード ウェアトークンなどに ウェアトークンなどに 保管される。 相互認証証明書。 自ドメインのリポジト リから取得する。 アリスの公開鍵証明 書。通常は、アリスの アリスの 書。通常は、 署名文書と共に送ら 署名文書と共に送ら れてくる。 発行者 XYZ CA 主体者 ABC CA ABC CAの公開鍵 XYZ CAの署名 発行者 ABC CA 主体者 ALICE アリスの公開鍵 ABC CAの署名 発行者 XYZ CA 主体者 XYZ CA XYZ CAの公開鍵 XYZ CAの署名 XYZ CAの 自己署名証明書 XYZ CAが発行する ABC CAへの 相互認証証明書 XYZ CAが発行する CA証明書の失効リ スト。 自ドメインのリポジト リから取得する。 アリスの 公開鍵証明書 ARL CRL XYZ CAの署名 ABC CAの署名 アリスから送られて きた署名文書。 きた署名文書。 アリスの文書 アリスの署名 アリスの 署名文書 ABC CAが発行する EE証明書の失効リス ト。アリスのドメインの ト。アリスのドメインの リポジトリから取得す リポジトリから取得す る。 3 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. LDAPサーバを使用した ネットワーク構成例 インターネット ファイアウォール 社外に公表する情報のためのリ ポジトリの役目。証明書の失効 情報や、相互認証のための相 互認証証明書ペアなど DMZセグメント 外部公開 LDAPサーバ 企業内LAN 内部公開 LDAPサーバ FW CRL/ARL などの定期発行 WWWサーバなど 外部に公開する情報 (ARL/ARL)などを複製する CA CAルーム 企業内で共有すべき情報を格納するリポジトリの役目。 PKI関係以外の情報も格納する。 4 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 2 OCSP • RFCRFC-2560 – Online Certificate Status Protocol - OCSP – RFCになったのは、 RFCになったのは、99 になったのは、99年 99年6月 • Identrus Identrusでの でのOCSP でのOCSP – Identrusは、 Identrusは、OCSP は、OCSPを利用して証明書の失効情報を取得している。 OCSPを利用して証明書の失効情報を取得している。 – Identrusの Identrusの4コーナモデルでかなり込入った使い方をしている。 • 商業登記CA 商業登記CAでの CAでのOCSP でのOCSP – 商業登記CA OCSPレスポンダを用意している訳ではなく、 レスポンダを用意している訳ではなく、 商業登記CAは、 CAは、CA は、CAとは別に CAとは別にOCSP とは別にOCSP CA自体が、 OCSPの応答を返す。 の応答を返す。 CA自体が、CA 自体が、CAの署名鍵で署名して CAの署名鍵で署名してOCSP の署名鍵で署名してOCSP OCSPレスポンダ CA OCSP要求 失効情報 失効情報DB OCSP応答(署名付き) 5 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. OCSPの仕組み 失効情報 失効情報DB OCSPの 署名鍵 OCSPレスポンダへの 公開鍵証明書 XYZ CA OCSPレスポンダー Aliceの 公開鍵 証明書 X.509証明書の AIA拡張 AIA拡張で、 拡張で、 OCSPの問い合わ せとURLが指定 CAが発行する失効情報 は、OCSPレスポンダー に伝えられる。 OCSPレスポンダーは、 CAがOCSPレスポンダー に発行した証明書の公 開鍵と対の署名鍵で署 名して応答を返す。 OCSPによる 問い合わせ ALICEの 署名文書 Aliceの 公開鍵証明書 アリスの証明 書の失効は OCSPレスポン ダーに問い合 わせればいい だね。 6 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 3 CRLとOCSPの検証の違い アリスの 公開鍵証明書 ボブの信頼ポイント XYZ CAの自己署名証明書 アリスの 公開鍵証明書 発行者 XYZCA 主体者 ALICE アリスの公開鍵 XYZ CAの署名 発行者 XYZCA 主体者 XYZCA XYZ CAの公開鍵 XYZ CAの署名 発行者 XYZCA 主体者 ALICE アリスの公開鍵 XYZ CAの署名 発行者 XYZCA 発行者 XYZCA 主体者 OCSP OCSPの公開鍵 XYZ CAの署名 ボブの信頼ポイント XYZ CAの自己署名証明書 発行者 XYZCA 主体者 XYZCA XYZ CAの公開鍵 XYZ CAの署名 XYZ CAの署名 アリスの公開鍵証明書の 失効をチェックするためのCRL OCSPの応答 OCSPの署名 OCSPの応答 アリスの公開鍵証明書の 失効をチェックするための OCSPレスポンダの証明書 OCSPレスポンダの証明書を失効の問題が面倒。OCSPでの応答にするとで は、OCSP自体の署名になってしまう。 7 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. LDAP,CRLとOCSPの比較 高いクラスのCAのHSMには、 FIPS140-1レベル3といった非 常に高価なものが使用される。 CRLには、CAの署名がなされ る。このCAの署名鍵は、 HSMなどを使用して高度なセ キュリティ管理がなされる。 リポジトリ(LDAPサーバ)は、EEか らアクセスできる場所の置かれる 必要がある。耐障害性、性能など が要求される。 HSM CA LDAP LDAP CAの署名鍵 CRL HSM OCSPレスポンダ CA CAの署名鍵 失効情報DB OCSPレスポダーは、署名鍵のセキィリ ティが重要になる。また、署名の性能も重 要な用件になる。FIPS140-1レベル2の HSMなどが使用される。 HSM OCSPレスポンダ の署名鍵 OCSP OCSPレスポンダは、EEから アクセスできる場所の置かれ る必要がある。耐障害性、性 能、そして、署名鍵のセキュリ ティが要求される。 8 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 4 ハードウェアトークン (暗号トークン)とは?? • 主体者( 主体者(アリス) アリス)の公開鍵に対応した私有鍵は、主体者( の公開鍵に対応した私有鍵は、主体者(アリス) アリス) しか使用できないことが理想。 • そのためには、ハードウェアトークンの使用が有効になる。また、 ハードウェアトークンは、色々なPKI PKIアプリケーションで使用できる アプリケーションで使用できる ハードウェアトークンは、色々なPKI べき • ハードウェアトークン – 所有者を識別するための暗号クレデンシャル (Cryptographic Credential) を格納することが可能で、かつ 携帯性のあるデバイス • “暗号クレデンシャル( credentials)” ”ってなに? 暗号クレデンシャル(Cryptographic credentials) ってなに? – 鍵と証明書(群) 9 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKIの基本コンポーネントとハードウェアトークン リポジトリ (LDAPサーバ) 各種の証明書 CRL/ARL、証明書 などの取得 証明書などの登録 EndEntityの ハードウェア トークン End Entity RA Registration Authority 証明書発行要求、証 明書更新要求、証明 書失効要求など CRL ARL CRL/ARL、証明書 などの登録 CA Certificate Authority HSM CAの鍵を管 理するハー ドウェア・セ キュリティ・ モジュール 10 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 5 ハードウェアトークンの例 – – – スマートカード( スマートカード(ICカード ICカード) カード) USB Token Token (Dongle) Dongle) 生体認証と組み合わせたトークン • Sonyの Puppy(FIU-710)など SonyのPuppy(FIU 710)など – PCに内蔵されたセキュリティチップ PCに内蔵されたセキュリティチップ • TCPA TPM (Trusted Platform Module) • 正確にはハードウェアトークンではないかもしれないが機能的に は同じ – MOPASS MOPASS( ( Mo ( Mobile Mobile Passport Passport ) • フラッシュメモリカード用のモバイルコマース拡張規格 • SDカードなど SDカードなど • http://www.mopass.info http://www.mopass.info/ www.mopass.info/ 11 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. なぜハードウェアトークン • • • • • 署名で使用する私有鍵(Private Key)を守る仕組みが可能 私有鍵のコピーを防ぐ。私有鍵がハードウェアートークンから外に出ない 私有鍵がハードウェアトークンのOS 私有鍵がハードウェアトークンのOSレベルで保護される OSレベルで保護される ハードウェアトークンが盗難にあった場合を想定した耐タンパ性が重要 Number)の入力や、指紋照合といった手段で の入力や、指紋照合といった手段で PIN (Personal Identification Number) ハードウェアトークンにログインする。 PKI アプリケーション S/MIME IPsec XML署名 etc.. インターフェース モジュール PKCS#11 MS CSP ハードウェアトークン I/O CPU メモリ 署名要求など 署名の計算結果などを返す 私有鍵 12 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 6 ハードウェアトークンを使用した認証の例 • アリスの秘密情報(私有鍵)はハードウェアトークンから出ない – もちろんネットワークにも流れない • アリスの秘密情報は、サーバには、格納されない – サーバは、アリスの秘密情報(例えばパスワード)を預かる必要がない – これは、アリスとっても、サーバの運用者にとってもメリット クライアント 認証要求 アリスの私有鍵 公開鍵 CPU I/O 署名要求 メモリ サーバ ネットワーク NONCE(乱数) 署名の計算結果 乱数発生 署名の検証 13 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. ハードウェアトークンとのI/F • スマートカードリーダとのI/F スマートカードリーダとの – PC/SC • スマートカードリーダを仮想化する – USB、 、RS232C、 、PCMCIA、 、etc.. • 主にWin32環境 環境 主に • トークンとのAPI (PKCS#11、 、MS CryptoAPI) ) トークンとの – PKIアプリケーションとハードウェアトークンとの アプリケーションとハードウェアトークンとのAPI アプリケーションとハードウェアトークンとの – 私有鍵などのトークンオブジェクトを保護するメカニズムを 持っている – スマートカード以外のUSB Token などでも同じ スマートカード以外の 14 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 7 ハードウェアトークンとのI/F PKI アプリケ-ション PKI Tool KIT など/ MS CryptoAPI PKCS#11 or MS CSP PC/SC カードドライバ RS232C 依存 依存 カードドライバ USB RS232C ドライバ PKCS#11 or MS CSP カードドライバ USB PKCS#11 or MS CSP (指紋認証装置 のための) USB ドライバ RS232C カードリーダ 依存 USB カードリーダ 15 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 8 PKIアプリケーションの基本的な要件 • Subscriber側(アリス)の要件 Subscriber側(アリス)の要件 – セキュアな署名 • なりすましをいかに防ぐか • 署名に使用する私有鍵をいかに保護するか?? するか?? • セキュアなハードウェアトークンが有効 • Relying Party側(ボブ)の要件 Party側(ボブ)の要件 – 署名検証、証明書検証をいかに行うか • リポジトリ( リポジトリ(LDAPサーバ LDAPサーバ) サーバ)から必要な情報を取得 – CRL、 CRL、ARL、 ARL、相互認証証明書ペアなど • ハードウェアトークン等に格納された信頼ポイントの公開鍵からのリポ ジトリなどから読み出した情報を元に証明書チェーンを構築、そして パス検証を行う 1 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. BCA 府省 府省 CA CA LDAP OCSP レスポンダ リフェラル 統合 民間 リポジトリ リポジトリ 複製 府省 リポジトリ LDAP OCSP 民間 クライアント アプリケーション 間通信 府省 クライアント アプリケーションについて 商業登記 商業登記 CrossCert CA 民間 民間 認証局について GPKIにおける認証局とアプリケーション 2 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 1 PKIアプリケーション環境の例 LDAPサーバ などのリポジ トリ。 暗号用 証明書 CAの 相互認証証明書 CRL/ARL 自己署名証明書 ペア CRL/ARLの 定期発行 LDAPアクセスモジュール PKI アプリケーション CA/ RA PKIカーネルモジュール PKCS#11モジュール/MS CSP PKIの端末(PC、携帯端末etc.) アリス PIN アリスが保持する社 員証、PKI対応のク レジットカードなどの スマートカード 証明書発行 アリスが信頼する アリスの私有鍵 アリスの証明書 ハードウェアートークン CAの証明書 3 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 証明書発行 証明書発行のメカニズムとPKCS( PublicKey Cryptography Standards)の説明 4 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 2 PKIの基本コンポーネントと証明書発行 リポジトリ (LDAPサーバ) 各種の証明書 CRL/ARL、証明書 などの取得 証明書などの登録 EndEntityの ハードウェア トークン End Entity RA Registration Authority 証明書発行要求、証 明書更新要求、証明 書失効要求など CRL ARL CRL/ARL、証明書 などの登録 CA Certificate Authority HSM CAの鍵を管 理するハー ドウェア・セ キュリティ・ モジュール 5 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 証明書の管理 • • • • 鍵ペアの生成 – EEでの生成と EEでの生成とCA/RA での生成とCA/RA側での生成 CA/RA側での生成 証明書の要求 – PKCS#10 PKCS#10などの証明書要求のフォーマット などの証明書要求のフォーマット 証明書の配布 – オンラインでの配布 • PKIXPKIX-CMP, SCEPなど SCEPなど – オフラインでの配布 • FDや FDやSmartCardによる配布 SmartCardによる配布 • PKCS#12, PKCS#7 その他 – 証明書の失効、証明書の更新、証明書の再発行とリカバリ 6 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 3 X.509証明書 証明書バージョン番号(V3) 証明書シリアル番号 デジタル署名アルゴリズム識別子 発行者名の識別名 有効期間 主体者(ユーザ)の識別名 主体者の公開鍵 アルゴリズム識別子 公開鍵値 V3の拡張 拡張フィールド(タイプ、フラグ、値) 拡張フィールド(タイプ、フラグ、値) . CAのデジタル署名 アルゴリズム識別子 署名 • • 代表的な公開鍵証明書 – 主体者(アリス)と、主体者(アリス) の公開鍵や、その他の属性を CA鍵(アリスの証明書を発行し たCAの署名鍵)の署名でバイン ドする。 – この時、主体者(アリス)の公開 鍵に対応した私有鍵は、主体者 (アリス)しか使用できないことが 理想。 1997年版 年版 X.509 3rd Edition – X.509v3証明書フォーマット • X.509V3拡張 – 14の標準拡張フィールド 7 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 鍵ペアの生成と証明書発行 • • EE側での鍵ペアの生成 EE側での鍵ペアの生成 – SECOMパスポート SECOMパスポートforMember パスポートforMemberなど forMemberなど – 鍵とPC 鍵とPC上で生成 PC上で生成 – PKCS#10などで証明書要求を生成 PKCS#10などで証明書要求を生成 – CAで証明書を発行 CAで証明書を発行 – CAから CAからPKCS#7 からPKCS#7などで証明書を配布 PKCS#7などで証明書を配布 CA/RA側での鍵ペアの生成 CA/RA側での鍵ペアの生成 – SECOMパスポート SECOMパスポートfor パスポートfor GG-IDなど IDなど – CAで鍵ペアを生成 CAで鍵ペアを生成 – PKCS#12などで私有鍵、証明書を配布 PKCS#12などで私有鍵、証明書を配布 • PINなどを別途配布(別経路) 8 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 4 証明書発行(EE側の鍵ペア生成) PCやVPN装置など CA/RA CA 署名鍵 証明書の情報 主体者名など 鍵ペア生成 署名 私有鍵 公開鍵 PKCS#10 証明書発行 証明書発行要求 PKCS#7 など 暗号 クレデンシャル EE証明書 CA証明書 9 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKCS#10(RFC2413) • 証明書要求のための特別なシンタックス • PKIの製品で広く使用されている の製品で広く使用されている • バージョン1.0 は、1993年にリリースされた現在までのバージョン 年にリリースされた現在までのバージョン バージョン は、 • X.509証明書の変更の適応に十分に柔軟であることが証明された 証明書の変更の適応に十分に柔軟であることが証明された • RSA ラボラトリは、PKCS #10の新バージョンの計画がある の新バージョンの計画がある ラボラトリは、 • 現在のバージョン – http://www.rsasecurity.com/rsalabs/pkcs 10 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 5 PKCS#10による証明書発行要求 PKCS#10 証明書の 発行ポリシ CertificationRequest CA CertificationRequestInfo version X.509証明書 subjectName 鍵ペア生成 subjectPublicKeyInfo クライアント attributes signatureAlgorithm signature 証明書バージョン番号(V3) 証明書シリアル番号 デジタル署名アルゴリズム識別子 発行者名の識別名 有効期間 主体者(ユーザ)の識別名 主体者の公開鍵 アルゴリズム識別子 公開鍵値 V3の拡張 拡張フィールド(タイプ、フラグ、値) 拡張フィールド(タイプ、フラグ、値) . CAのデジタル署名 アルゴリズム識別子 署名 11 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. SCEP (Simple Certificate Enrollment Protocol) ) T T T T T SCEP T CISCOが仕様を作成。 VPN装置などへの証明書発行が目的 装置などへの証明書発行が目的 CISCOが仕様を作成。VPN が仕様を作成。VPN HTTPベース HTTPベース T SCEPデバイス側が SCEPデバイス側がHTTP デバイス側がHTTPのクライアトとして動作する HTTPのクライアトとして動作する メッセージに共通のデータ T メッセージには、トランザクションを一意に管理するための TransactionIDと、 TransactionIDと、Dos と、Dos攻撃を防ぐための Dos攻撃を防ぐためのCons 攻撃を防ぐためのConsが含まれる Consが含まれる PKCS#10,PKCS#7などを使用した証明書要求 PKCS#10,PKCS#7などを使用した証明書要求 T 通常の証明書要求であるPKCS#10 通常の証明書要求であるPKCS#10を PKCS#10をPKCS#7で暗号化して、他のメッ PKCS#7で暗号化して、他のメッ セージも合わせて証明書要求メッセージを作っている 生成した証明書 T PKCS#7で PKCS#7でRAの署名がついて RAの署名がついてSCEP の署名がついてSCEPデバイスに返される SCEPデバイスに返される 12 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 6 SCEP PKCS#7 私有鍵 鍵生成 T=N 公開鍵 証明書 要求 PKCS#10 T=N T=N 公開鍵 公開鍵 T=N T=N Polling T=NPending応答 RA承認 T=N 証明書 Polling 公開鍵 PKCS#7 T=N CAの署名 証明書 VPN装置 RAの署名 RA/CA 13 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 証明書発行(CA側の鍵ペア生成) PCやVPN装置など インポート 暗号 CA証明書 クレデンシャル CA 署名鍵 署名 私有鍵 CA/RA 鍵ペア生成 証明書発行 私有鍵 EE証明書 公開鍵 PKCS#12 PKCS#12 FDなど EE証明書 CA証明書 14 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 7 PKCS#12 • PKCS#12 – 秘密鍵や公開鍵証明書のバックアップや他のマシンへの移行するため に適した規格 – RSA暗号のみサポート RSA暗号のみサポート • サポートされるアプリケーション – インポート/ インポート/エクスポート – NetscapeCommunicator 4.04 以降 – InternetExplorer 4.0 以降 15 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. PKCS (Public-Key Cryptography Standards) • • • • • • PKCS – PKCSは、 PKCSは、RSA は、RSA Data Security Inc.が定めた規格 Inc.が定めた規格 PKCS #1:RSA Encryption Standard – RSA暗号を使った暗号化方法および署名方法。 RSA暗号を使った暗号化方法および署名方法。 PKCS #7:Cryptographic Message Syntax Standard – 暗号化や署名を施したデータの構文。S/MIME 暗号化や署名を施したデータの構文。S/MIMEなどで使用されている。 S/MIMEなどで使用されている。 PKCS #10:Certification Request Syntax Standard – CA(Certificate Authority)に対する証明書発行要求メッセージの構文。 Authority)に対する証明書発行要求メッセージの構文。 PKCS #11:Cryptographic Token Interface Standard – ハードウェアトークンをアクセスするためのAPI ハードウェアトークンをアクセスするためのAPI PKCS #12:Personal Information Exchange Syntax Standard – 暗号クレデンシャルの交換を行うためのフォーマット 16 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 8 PKI 基礎編 END 17 Copyright © 2002 SECOM Trust.net Co., Ltd. All rights reserved. 9