FirstPass証明書を 利用した認証基盤の開発 - NTTドコモ

FirstPass 証明書を
利用した認証基盤の開発
FirstPass 証明書を用いたユーザ認証のための新たな方式
として認証基盤を開発した.
この開発により,FirstPass 証明書を用いてユーザ認証を
行う社内システムからの問合せに対し,証明書の有効性情
報ならびに証明書所有者の情報をリアルタイムに提供する
ことが可能となった.
あつのり
き は ら ふみのり
久保田 敦紀
く
ぼ
た
木原 文典
しばさき あきら
ふ じ い のぶあき
柴崎 章
藤井 伸旭
1. まえがき
ドコモ電子認証局(CA : Certification Authority)
(以下,
ドコモ CA)から FOMA(Freedom Of Mobile multimedia
Access)端末へ発行する FirstPass 証明書は,クライアント
証明書として移動端末がコンテンツ提供事業者(CP :
Contents Provider)と通信する際の認証に利用されている.
また,FirstPass 証明書は FOMA 端末での利用の他にパソコ
ンにおける利用も可能であるため[1],ユーザは FirstPass 証
明書を CP との通信回線種別によらず,ユーザ認証に利用
できる.これにより,パソコン上で「なりすまし」が懸念
されるユーザ ID,パスワードよりもセキュリティの高いユ
ーザ認証が可能となる.
今回新たに,FirstPass 証明書をユーザ認証に利用するサ
ービスを実現するために,証明書内の情報をキーとした問
合せに対し,証明書の有効性情報ならびに証明書所有者の
ユーザ情報をリアルタイムに提供する認証基盤を実現し
た.本稿では,この認証基盤の実現方式とこれを実装した
ドコモ CAのシステムについて述べる.
2. 開発の背景
FirstPass 証明書を用いた認証では,CP において証明書の
有効性を検証する必要があり,この際,ドコモCAから発行
された証明書失効者情報(CRL:Certificate Revocation List)
を利用する[2].CRL は,FOMA 端末の解約などにより失効
された証明書の情報を格納しており,これを参照すること
で証明書の有効性の確認が可能である.しかしながら,CRL
は,ドコモ CA で周期的に生成され,CP から周期的に取得
されるので,リアルタイムな失効情報の入手が課題となっ
48
NTT DoCoMo テクニカル・ジャーナル Vol. 13 No.1
ている.また,失効者数が増加すると CRL のファイルサイ
ィレベルを確保する.
ズが大きくなり,CP 側でのダウンロード時のネットワーク
f ソフトウェアの柔軟性
認証クライアントの追加や提供する所有者情報の種別
負荷や検索処理の負荷に影響を与える場合がある.
一方,ユーザ認証においては,証明書内に存在する証明
書所有者の識別名(CN:Common Name)を基に所有者を
特定することにより,その所有者の認証対象サービスにお
ける契約状態などの判別を行う場合がある.そのためには,
追加に対応できるソフトウェアの柔軟性を具備する.
4. FirstPass 証明書を利用した
ユーザ認証
CN と所有者を関連づけるデータベースを構築し,CN を基
本項では,FirstPass をユーザ認証に利用する社内サービ
にそれを参照する必要がある.しかしながら,CN は証明
スを例に,ユーザ認証の全体の流れを示し,認証基盤の位
書内にあるため,その登録には手間もかかる上,データの
置づけを示す.
維持管理にも負担がかかる.
まず,社内サービス利用ユーザは,FirstPass 証明書をダ
ウンロードした FOMA 端末を USB(Universal Serial Bus)
3. 認証基盤の実現方針
ケーブルなどでパソコンに接続し UIM(User Identity
前項の課題を解決するために,ユーザ認証を行うシステ
Module)に格納されているFirstPass証明書をパソコンに読
ム(以下,認証クライント)に対して,ドコモCAが管理す
み出す.そして,SSL(Secure Sockets Layer)のハンドシ
る最新の証明書状態を提供する機能(証明書有効性検索機
ェイク時に社内システムとの通信において,FirstPass 証明
能)と,認証クライアントが証明書から得た CN を基に,
書がパソコンから社内システムのサーバに送付され,サー
所有者を特定する情報を提供する機能(ユーザ情報検索機
バからパソコンへサーバ証明書が送付される.社内システ
能)を開発した.
ムのサーバでは,あらかじめドコモ CA から取得したルー
これら機能を実現するにあたっては,以下の点を考慮し
ト証明書を基にパソコンから受信した FirstPass 証明書のパ
開発した.
ス検証を行う.一方,パソコンではサーバ証明書を基にサ
a 既存サービスとの独立性の確保
ーバ認証が行われる.パソコンとサーバ双方における相互
認証基盤の提供する機能は,既存の FirstPass サービス
への影響を避けるため,サービスの独立性を考慮した機
認証に基づき SSL通信が確立される(図 1)
.
その後,認証クライアントの社内システムは,認証基盤
の証明書有効性検索機能に対して証明書の有効性の問合せ
能構成とする.
s 高負荷要求への対応
を行う.証明書が有効の場合,認証クライアントはユーザ
直接問合せを受けることから瞬間的に大量の要求を受
情報検索機能に対して,サービスの利用を許可する上で必
信する可能性があるため,効率的な分散方式を実装する.
要となるユーザ情報の問合せを行う.これらの結果,
d セキュリティの確保
FirstPass 証明書が有効で,ユーザ情報が社内サービスの契
認証基盤は,ドコモ CA の秘密鍵や顧客情報を保持し
たドコモ CA 内に位置付けられるため,高いセキュリテ
約状態にあると確認できれば,ユーザのサービス利用を許
可する.
あらかじめ
ダウンロード
FirstPass証明書
の読出し
登録機能部
RA
移動端末
ドコモCA発行の
ルートCA証明書
WLAN
FirstPass証明書の
有効性確認
FOMA網
UIM
インターネット
社内サービス
利用者
固定網
サーバ証明書
認証クライアント
(社内システム)
情報検索
認証基盤
FirstPass証明書
所有者のユーザ情報の提供
SSL通信(ハンドシェイク)
発行機能部
IA
ドコモCA
FirstPass証明書
サーバ証明書およびクライアント証明書の相互認証に基づくセキュアなSSL通信
WLAN:Wireless Local Area Network(無線LAN)
図 1 FirstPass 証明書を用いたユーザ認証
49
を FOMA 端末ユーザと CP に提供し,公開鍵暗号基盤
5. ドコモ CA および認証基盤の
システム概要
(PKI : Public Key Infrastructure)を実現している.
AP(APplication)は,顧客情報管理および保守機能を実
本章では,ドコモ CA の全体システム構成と,新たに構
現している.顧客管理システム(ALADIN : ALl Around
DoCoMo INformation systems)とインタフェースを持ち,
築した認証基盤の構成について述べる.
FOMA 端末および CP の SO(Service Order)情報の受信と
管理を行っている.装置監視は OPS − ME(OPeration
ドコモ CA は,FOMA 網においてコアネットワークの外
System−Management Equipment)で行っている.
側に位置し,FOMA 端末およびビジネスユーザに対し,電
子認証局としてのサービスを提供している.図 2 にドコモ
DB(DataBase)は,ユーザ情報と証明書状態を管理して
いる.
CAのシステム構成を示す.
WWW−MU(Mobile User)は,WPCG(Wireless Protocol
Conversion Gateway)経由で FOMA 端末からの証明書操作
認証クライアントからの問合せに対し証明書関連情報を
の受付を行う Web サーバである.FirstPass 証明書の発行や
オンラインで応答する今回開発の機能は,他の機能との独
失効など,操作画面の生成などを行っている.
立性も高く,トラフィックモデルも異なる.そのため,本
WWW−DMZ(DeMilitarized Zone)は,インターネット
機能を有する装置として VA(Validation Authority)を新た
経由で CP 向けに CRL を提供するためのWeb サーバである.
に構築した.VAはDB と接続され,ロードバランサ(LB :
インターネットに接続されているため,ファイアウォール
Load Balancer)およびファイアウォールを介して認証クラ
に囲まれた DMZ のセグメントに設置し,セキュリティの
イアントと接続される.図 3 に認証基盤のシステム構成を
強度を上げている.
示し,以下に特徴を述べる.
RA(Register Authority)および IA(Issuing Authority)
a 負荷分散
は,FirstPass 証明書の発行,失効および CRL 提供などの業
認証クライアントから VA へのアクセスが突発的に集
務内容を実装している.利用者の証明書発行申請は RA に
中することが考えられるため,LB により負荷分散を行
登録され,IA にて証明書の発行処理が行われる.これらは
う.LB は優先的にコネクション数が最小の VA に対して
WWW−MU と WWW−DMZ と合わせて,FirstPassサービス
呼を振り分ける.また,LB では,コネクション数に応じ
OPS−ME
ALADIN
認証基盤
ドコモCA
IA
DB
RA
AP
FW
WWW−MU
VA
有効性検証
WPCG
FW
FW
インターネット
証明書操作
(発行・失効・
ダウンロード)
社内サービス
利用
CRLダウンロード
FOMA端末
FOMA端末
UIM
パソコン
図 2 ドコモ CA システム構成と認証基盤の位置付け
50
DMZ
認証クライアント
コア網
UIM
WWW−DMZ
FW:ファイアウォール
CP
NTT DoCoMo テクニカル・ジャーナル Vol. 13 No.1
認証基盤
6. 認証基盤の実現方式
DB
ACT/SBY構成
FirstPass 証明書を用いたユーザ認証は,証明書有効性検
索機能とユーザ情報検索機能からなる.
VA
VA
n−ACT構成
証明書有効性検索機能では,証明書のシリアル番号を入
力し,証明書状態(有効/無効)を出力する.また,ユー
LB
ACT/SBY構成
FW
ザ情報検索機能では,その証明書の CN が入力となり,回
線契約番号などのユーザ情報が出力となる.
VA と認証クライアント間の接続プロトコルは RFC
DMZ
(Request For Comments)2616 のHTTP(HyperText Transfer
Protocol)のバージョン 1.1 を採用しており,2 つの機能は
認証クライアント
FW
URI(Uniform Resource Identifier)により区別している.正
常系のシーケンスを図 4 に示す.
証明書有効性検索およびユーザ情報検索は単独で実施さ
インターネット
れることは無く,正常系シーケンスでは 2 つの検索は常に
ペアで実行される.証明書が失効している場合など,準正
FW:ファイアウォール
図 3 認証基盤システム構成
常シーケンスでは証明書有効性検索のみの問合せで終了す
る場合もある.VA側では両機能は独立しており,実行順序
の管理は行っていない.
た輻輳制御を行っており,しきい値以上の要求を VA に
転送しない.
s システムの信頼性
インタフェースの柔軟な拡張を可能とするため,データ
VA は他のサーバと独立しており,認証基盤以外の業務
フォーマットは HTTP メッセージボディに XML(eXtensible
(FirstPass 発行や CRL 提供など)に影響を与えず計画停
Markup Language)形式で定義している.これにより,ユ
止が可能である.また VA 自体の計画停止時も n − ACT
ーザ情報検索機能におけるユーザ情報の種別の追加など
(ACTive)構成により,サービスを提供した状態でのソ
は,既存の認証クライアントに影響することなく拡張が可
フトウェアやハードウェアのアップグレードが可能であ
り,サービスへの影響の最小化を図っている.また,故
能である.
以下に,主な入出力パラメータの定義について述べる.
障など計画外のサービス停止においても LB により迅速
入出力パラメータは,表 1 に示すとおり,個別部と共通部
なサーバの切離しや復旧後の組込みが行われる.さらに
からなる.個別部は,入出力メッセージ中,機能や接続ク
LB は,ACT/SBY(StandBY)構成を採用しており,LB
ライアントによって定義される部分であり,機能とバージ
自体の故障時には自律的に系切替えが行われる.
ョンによって可変的に定義可能である.
d 拡張性
VA は n−ACT 構成のため,需要増や認証クライアント
の増加に合わせてサーバ増設が可能である.
f セキュリティ
ドコモCAは,インターネットと接続する場合,インタ
共通部は,入出力メッセージの共通ヘッダ部であり,サ
ービスやサービスバージョンごとには変更されないデータ
部である.共通部には,主に以下のようなパラメータがあ
る.
①メソッド(入出力)
ーネット/ DMZ /ドコモ CA 内部ネットワークの 3 階層
サーバが提供する以下のメソッド名を指定する.
構成をとっている.よって,インターネットからアクセ
・証明書有効性検索:“ValidateCert”
スされる認証クライアントと VA の間にはファイアウォ
・属性情報検索:“GetAttribute”
ールを設け,IP(Internet Protocol)フィルタリングによ
②バージョン(入出力)
るアクセスコントロールを行い,内部のセキュリティを
バージョン情報を設定する.初期バージョンは“1.0”
確保している.
である.
51
認証クライアント
VA
DB
TCP コネクション確立
証明書有効性検索
HTTP/1.1 POST…<REQUEST METHOD=“ValidateCert”VERSION=“1.0”>…
シリアル番号
HTTP/1.1 200 OK…<RESPONSE METHOD=“ValidateCert”VERSION=“1.0”>…
<RETURN_CODE>00<RETURN_CODE>…
証明書状態
ユーザ情報検索
HTTP/1.1 POST…<REQUEST METHOD=“GetAttribute”VERSION=“1.0”>…
CN 番号
HTTP/1.1 200 OK…<RESPONSE METHOD=“GetAttribute”VERSION=“1.0”>…
<RETURN_CODE>00<RETURN_CODE>…
回線契約番号など
TCP コネクション切断
TCP:Transmission Control Protocol
図4
処理シーケンス
表 1 入出力パラメータ
入力
出力
メソッド
ら構成されている.VA のソフトウェア構成を図 5 に示す.
バージョン
共通部
VA は,サービスアプリケーション部と保守基盤の 2 つか
サービスアプリケーション部は,VA IF(InterFace)管理
接続種別
部,FirstPass 認証管理部(証明書有効性検索,ユーザ情報
要求通番
処理結果
検索)
,データ部からなる.VA IF 管理部は,HTTP+XML 形
*1
証明書有効性検索
個
別
部
ユーザ情報検索
シリアル番号
証明書状態
CN 番号
回線契約番号など
式で受信したメッセージのパース処理 と FirstPass 認証管
理部の呼び出し,フォーマットチェック,FirstPass 認証管
理部から受け取ったデータの HTML+XML コードへの生成
*2
を行うサーブレット である.FirstPass 認証管理部は,ソ
®*3
フトウェアの開発効率を高めるため JavaBeans
③接続種別(入出力)
で構成さ
れている.ここでは,VA IF 管理部からの入出力パラメー
認証クライアントを識別する情報を指定するパラメー
タの範囲チェックと解釈を行う.また,データのアクセス
タである.今回は 1 つの社内サービスのみ定義してい
結果を VA IF 管理部へ応答し,検索結果を生成する.デー
るが,クライアントを追加することは容易に実現可能
タ部も,JavaBeans で構成されており,FirstPass 認証管理
である.
部からの要求を受けてデータベースにアクセスし,
④要求通番(入出力)
®
FirstPass 認証管理部に検索結果を返す.
要求単位を識別するための要求通番であり認証クライ
保守基盤は,ドコモ CA の全サーバに共通して存在する
アントが指定する.VA は入力と出力を同値で返すた
機能である.NTP(Network Time Protocol)サーバと同期
め,認証クライアントは入力と出力のマッチングが可
を取る時刻管理,サーバの動作状態を監視する系構成管理,
能である.
異常が発生した場合に警報通知を行う故障監視,システム
⑤処理結果(出力)
「正常」
,
「フォーマット異常」
,
「輻輳中」
,
「検索キー
なし」などを返送する.異常時の出力パラメータには
タグのみを設定し返送する.
52
* 1 パース処理: XML 文書をアプリケーションソフトが解釈できる形式に変換する処理
®
* 2 サーブレット:サーバサイドで動作する Java プログラム
* 3 JavaBeans : Java 言語を用いて開発され,部品化されたプログラムを組み合わせてアプ
リケーションソフトを構築する手法.Java, JavaBeans および Java 関連の商標およびロゴは,米
国およびその他の国における米国 Sun Microsystems, Inc.の商標または登録商標である.
NTT DoCoMo テクニカル・ジャーナル Vol. 13 No.1
VA
サービスアプリケーション部
Java Beans®
サーブレット
DB
証明書有
効性検索部
LB
HTTP
Web
サーバ
FirstPass
認証管理部
VA IF 管理部
データ部
ユーザ情報
検索部
保守基盤
ログ管理
運用データ管理
ログ
SG
図 5 VA ソフトウェア構成
内のリソ−ス情報(CPU(Central Processing Unit)使用率,
今回,移動端末所有者の実際の変動にさらに適合させる
メモリ使用率)監視,運用データを SG(System Gene-
ため,ALADIN からの「名義変更」
,
「承継」の SO とも連動
ration)ファイルとして管理する運用データ管理,サービス
させて証明書を自動的に失効させると同時に,CN の自動
履歴やデバッグログを出力するログ管理,ミドルウェアに
変更を行う機能を実現した.
この機能の実現により,ドコモ CA は,認証クライアン
異常が発生した場合に自律的に警報を通知するシステムロ
トがユーザ情報検索機能を利用して証明書所有者のユーザ
グ管理がある.
情報を検索する際に,詳細なユーザ情報を提供することが
7. 証明書の CN 変更への対応
可能となった.
本開発では,認証基盤の構築に加え,証明書の所有者の
また,これら一連の CN 変更の過程は,運用の履歴を残
識別名である CN と実際の移動端末所有者との関連付けの
すこととし,監査ログを記録する.図 6 および以下に CN 変
さらなる強化を図った.
更処理の概要を示す.
① ALADIN から SO を受信する.
ドコモCAでは,回線契約番号から可逆不可の数値を算出
し CN として発行,回線契約番号とCN はくくりつけて管理
② SO の受付部である AP は,
「名義変更」
,
「承継」の SO
している.そして回線契約番号が消滅する「解約」の場合に
であると,当該証明書の CN の変更を行い,同時に RA
は,証明書を失効させ,CNを消滅させることとしている.
に対して失効登録を行う.
失効処理
IA
DB
失効依頼
RA
CN変更
失効登録
AP
「名義変更」,
「承継」のSO
ALADIN
出力
監査ログ
ドコモCA
図6
ALADIN
FirstPass 証明書の CN 変更フロー
53
③その失効登録により,RA は監査ログに記録した上で,
(Simple Certificate Validation Protocol)
,DPD(Delegated
Path Discovery)
+DPV(Delegated Path Validation)
)が挙げ
IAに失効処理の依頼を行う.
④RAはIAでの失効処理完了後,発行抑止を解除する.
られる.
また,認証情報の提供については,XML をベースとした
8. あとがき
標準技術の SAML(Security Assertion Markup Language)を
2003 年 6 月に,国内初の移動通信における PKI サービス
採用することで,Web 上の分散オブジェクトをプラットフ
としてスタートした FirstPass は,今回の開発により証明書
ォームの壁を越えて利用する柔軟で拡張性のあるシステム
の有効性情報やユーザ情報をオンラインで取得可能な機能
構成が可能となる.これにより,シングルサインオン・フ
を認証基盤として実現し,社内サービス利用者の認証に利
レームワークの技術要素としても期待できる.
用されることとなった.この認証基盤の今後の拡張として
は,証明書有効性検証への標準化プロトコルの適用が考え
今後,これら標準化技術の適用を積極的に検討し,認証
基盤のさらなる拡張に努めたい.
られる.この標準化プロトコルの候補としては,RFC2560
文 献
に準拠した証明書の有効性検証を行うオンライン証明書状
態プロトコル(OCSP : Online Certificate Status Protocol)
や現在 IETF の PKIX(Public − Key Infrastructure X.509)
Working Group で検討中である 2 種類のドラフト(SCVP
[1] 山本,ほか:“FirstPass PC 対応機能の開発”,本誌,Vol.12,
No.3,pp.42−50,Oct.2004.
[2] 関野,ほか:“電子認証局システム構築技術”,本誌,Vol.11,
No.3,pp.12−17,Oct.2003.
用 語 一 覧
ALADIN : ALl Around DoCoMo INformation systems(顧客管理システム)
CA : Certification Authority(認証局)
CN : Common Name(識別名)
CP : Contents Provider(コンテンツ提供事業者)
CPU : Central Processing Unit
CRL : Certificate Revocation List(証明書失効者情報)
DMZ : DeMilitarized Zone
DPD : Delegated Path Discovery
DPV : Delegated Path Validation
FOMA : Freedom Of Mobile multimedia Access
HTTP : HyperText Transfer Protocol
IA : Issuing Authority
IP : Internet Protocol
LB : Load Balancer(ロードバランサ)
MU : Mobile User
NTP : Network Time Protocol
OCSP : Online Certificate Status Protocol
(オンライン証明書状態プロトコル)
54
OPS−ME : OPeration System−Management Equipment
PKI : Public Key Infrastructure(公開鍵暗号基盤)
PKIX : Public−Key Infrastructure X.509
RA : Register Authority
RFC : Request For Comments
SAML : Security Assertion Markup Language
SCVP : Simple Certificate Validation Protocol
SG : System Generation
SO : Service Order
SSL : Secure Sockets Layer
TCP : Transmission Control Protocol
UIM : User Identity Module
URI : Uniform Resource Identifier
USB : Universal Serial Bus
VA : Validation Authority
WLAN : Wireless Local Area Network(無線 LAN)
WPCG : Wireless Protocol Conversion Gateway
XML : eXtensible Markup Language