...

1.3MB

by user

on
Category: Documents
15

views

Report

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
Fly UP