JP5053756B2 - 証明書検証サーバ、証明書検証方法、および証明書検証プログラム - Google Patents

証明書検証サーバ、証明書検証方法、および証明書検証プログラム Download PDF

Info

Publication number
JP5053756B2
JP5053756B2 JP2007208403A JP2007208403A JP5053756B2 JP 5053756 B2 JP5053756 B2 JP 5053756B2 JP 2007208403 A JP2007208403 A JP 2007208403A JP 2007208403 A JP2007208403 A JP 2007208403A JP 5053756 B2 JP5053756 B2 JP 5053756B2
Authority
JP
Japan
Prior art keywords
certificate
certificate verification
signature
secret key
cryptographic module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007208403A
Other languages
English (en)
Other versions
JP2009044557A (ja
Inventor
政美 鵜澤
昌彦 古屋
洋子 橋本
孝宏 藤城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007208403A priority Critical patent/JP5053756B2/ja
Publication of JP2009044557A publication Critical patent/JP2009044557A/ja
Application granted granted Critical
Publication of JP5053756B2 publication Critical patent/JP5053756B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、証明書検証サーバ、証明書検証方法、および証明書検証プログラムに関し、具体的には、公開鍵暗号通信において証明書の有効性を検証する証明書検証サーバの処理を高速化する技術に関する。
今日、情報セキュリティに対する関心が高まっており、公共・民間分野共に情報セキュリティに配慮したインフラ整備が進められている。こうした情報セキュリティ技術の一つとして公開鍵認証基盤(以下PKI ; Public Key Infrastructure)がある。本発明で扱う証明書検証サーバとは、PKIにおいてクライアントの代わりに証明書の信頼性または有効性を検証し、その検証結果を応答するサーバである。また証明書検証サーバは、前記検証結果を応答する際に、認証局(CA)から発行された証明書に対応する秘密鍵を用いて、結果情報に署名付与を行い返信する。
現在、企業間における証明書の検証処理に関するトランザクションは増加の傾向にある。これを受けて証明書検証サーバは、複数の秘密鍵に対応する検証処理を実施することに加え、高い応答性能が要求されている。PKIにおいては、公開鍵を公開し、ペアになる秘密鍵は他人に知られないように管理することで暗号の秘密性を保っており、すなわち証明書検証サーバで保管する上記秘密鍵は非常に重要なものであるため、第三者に流出しないよう厳重に管理する必要がある。
このため、証明書検証サーバでは、秘密鍵をハードウェア暗号モジュールで保管・管理するのが一般的である。このハードウェア暗号モジュールを利用した場合、秘密鍵の生成はハードウェア暗号モジュール内部で実行され、また、秘密鍵による署名付与といった秘密鍵を利用する演算処理もハードウェア暗号モジュール内部で処理される。したがって前記秘密鍵がハードウェア暗号モジュール外に出ることがないため、秘密鍵の漏洩等のセキュリティ上の脅威を防ぐことができる。
前記証明書検証サーバは、クライアントから証明書検証要求を受けると、図に示すように以下の手順で検証処理を行う。
(a)クライアントから受け取った証明書が信頼できるかどうかを検証する。
(b)上記検証結果に従ってレスポンスデータを生成する。
(c)ハードウェア暗号モジュールと通信を行い、ハードウェア暗号モジュールに保持されている証明書検証サーバの秘密鍵を用いて署名値を生成する。
(d)証明書検証サーバの署名、証明書を添付したものを、前記クライアントへ応答する。
上記(c)の処理における証明書検証サーバとハードウェア暗号モジュールとの間の通信には、非特許文献1にて示されるように、標準のインタフェースであるPKCS#11ライブラリが用いられる。証明書検証サーバが既に起動している場合において、この標準インタフェースを用いた場合の証明書検証サーバとハードウェア暗号モジュールとの間の処理を図に示す。
この処理において、証明書検証サーバの起動状態では、既にハードウェア暗号モジュールとのセッションが確立されているため、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:ステップs41)し、(2)C_CloseSession(証明書検証サーバのサービスを切断する:ステップs42)し、(3)C_Finalize(PKCS#11ライブラリを終了する:ステップs43)までの処理が必要となる。図に示す手順に従い、まず証明書検証サーバは、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:ステップs41)し、(2)C_CloseSession(証明書検証サーバのサービスを切断する:s42)し、(3)C_Finalize(PKCS#11ライブラリを終了する:s43)する。次に、(4)C_Initialize(PKCS#11ライブラリを初期化する:ステップs44)し、(5)C_OpenSession(証明書検証サーバのサービスを起動する:ステップs45)し、(6)C_Login(ハードウェア暗号モジュールにログインする:ステップs46)する。さらに、(7)C_FindObjectInit(署名を施すための秘密鍵情報の検索を開始する:ステップs47)し、(8)C_FindObject(秘密鍵情報の検索を行う:ステップs48)し、(9)C_FindObjectFinal(秘密鍵情報を取得した後、秘密鍵情報の検索を終了する:ステップs49)する。最後に、(10)C_SignInit(署名処理を初期化する:ステップs50)し、(11)C_Sign(データに署名をする:ステップs51)する。
例えばコンテンツ保証システムとして証明書検証サーバを設置し、この証明書検証サーバがコンテンツの署名検証のための証明書を検証する場合、当該証明書検証サーバの性能として約19件/秒、500ミリ秒/件の顧客要求が想定される。上記従来の証明書検証方法において、前記顧客要求を満たす性能を達成することが難しくなる場合がある。
これは、ハードウェア暗号モジュールへの秘密鍵の追加・削除を検知すると、証明書検証サーバが検証結果情報に署名をする度にハードウェア暗号モジュールに保管・管理されている秘密鍵を前記ハードウェア暗号モジュールからロードしなければならないこと、かつ署名の度にロードした秘密鍵から該当する秘密鍵の検索を行わなければならないことによる。
ここで、ハードウェア暗号モジュールへの秘密鍵の追加・削除は、上述のPKIにおいて、証明書検証サーバ運用者によって行われる。証明書検証サーバ運用者の操作する端末は、ネットワークを介して証明書検証サーバと通信を行う。証明書検証サーバの秘密鍵の作成は、前記証明書検証サーバ運用者が、証明書検証サーバからハードウェア暗号モジュールに秘密鍵の作成要求を出すことで、前記ハードウェア暗号モジュール内で実行される。一方、証明書検証サーバの秘密鍵の削除は、上記証明書検証サーバ運用者が、証明書検証サーバからハードウェア暗号モジュールに秘密鍵の削除要求を出すことで、前記ハードウェア暗号モジュールで実行される。
こうした証明書検証サーバは、検証結果に前述の証明書検証サーバの署名を付与する際、上述のステップs41〜s46までの処理を、署名をする度に毎回行う必要があり、かつハードウェア暗号モジュールで保管・管理されている秘密鍵の数が多いほど、前記ステップs47〜s49までの処理に時間がかかることになる。
そこで、本発明は上記課題を鑑みてなされたものであり、多数の証明書検証サーバの秘密鍵をハードウェア暗号モジュールに保管する場合にも、証明書検証処理の性能低下を防止し、所定のレスポンス性能を保証することができる技術の提供を目的とする。
上記課題を解決する本発明の証明書検証サーバは、クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行う証明書検証サーバであって、当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごと一意に対応付けされたハンドル値とを対応付け秘密鍵情報テーブルを格納する記憶装置と、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定するハンドル特定処理と、前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う署名処理と、を実行する演算装置と、を備えることを特徴とする。
また、前記証明書検証サーバにおいて、前記証明書検証要求の受付前に、ハードウェア暗号モジュールに対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュールの保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバの秘密鍵のIDとを対応付けて前記秘密鍵情報テーブルに格納する鍵情報取得処理を実行し、前記検証処理、ハンドル特定処理及び署名処理を前記証明書検証要求の受付後に実行する、としてもよい。
また、前記証明書検証サーバにおいて、前記鍵情報取得処理は、前記証明書検証サーバの起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュールへ秘密鍵が追加・削除されたことを検知したときに、実行されるとしてもよい。
また、本発明の証明書検証方法は、クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行うコンピュータが、当該コンピュータの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごと一意に対応付けされたハンドル値とを対応付け秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えて、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する処理と、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定する処理と、前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う処理と、を行うことを特徴とする。
また、本発明の証明書検証プログラムは、クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行うべく、当該コンピュータの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごと一意に対応付けされたハンドル値とを対応付け秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えたコンピュータに、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する処理と、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定する処理と、前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う処理とを実行させることを特徴とする。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
本発明によれば、多数の証明書検証サーバの秘密鍵をハードウェア暗号モジュールに保管する場合にも、証明書検証処理の性能低下を防止し、所定のレスポンス性能を保証することができる。
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態における証明書検証サーバ100を含むネットワーク構成図である。本実施形態における証明書検証サーバ100は、クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うものである。図1におけるネットワーク構成では、前記証明書検証サーバ100に証明書検証要求を行うクライアント1と、クライアント1から送付された証明書の有効性および信頼性確認を行う前記証明書検証サーバ100と、それら接続するインターネット等のネットワーク140、証明書検証サーバ100の秘密鍵を保管・管理するハードウェア暗号モジュール200とからなる。
こうした前記証明書検証サーバ100(以下、サーバ100)は、本発明の証明書検証方法を実行する機能を実現すべくハードディスクドライブなどの記憶装置101に格納されているプログラム102を、揮発性メモリなどの一次保存領域(以下、メモリ)103に読み出して演算装置たるCPU104により実行する。また、前記サーバ100は、前記クライアント1やハードウェア暗号モジュール200との間のデータ授受を担う通信手段107などを有している。
続いて、前記サーバ100が例えばプログラム102に基づき構成・保持する機能部につき説明を行う。なお、前記サーバ100は、記憶装置101において、前記秘密鍵情報テーブル125を利用可能である。また、前記ハードウェア暗号モジュール200は前記秘密鍵テーブル225を備えている。
こうした前記サーバ100は、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証部110を備える。
また、前記サーバ100は、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブル125に照合して該当ハンドル値を特定するハンドル特定部111を備える。
また、前記サーバ100は、前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュール200に通知し、当該ハードウェア暗号モジュール200から署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行う署名部112を備える。
また、前記サーバ100は、ハードウェア暗号モジュール200に対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュール200の保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバ100の秘密鍵のIDとを対応付けて前記秘密鍵情報テーブル125に格納する鍵情報取得部113を備えると出来る。
なお、前記鍵情報取得部113は、前記証明書検証サーバ100の起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュール200へ秘密鍵が追加・削除されたことを検知し、前記秘密鍵情報の検索要求、秘密鍵情報の取得、ハンドル値と秘密鍵のIDとを対応付けて秘密鍵情報テーブル125へ格納、の各処理を実行するとしてもよい。
また、前記サーバ100は、秘密鍵生成・削除命令部114を備えるとできる。この秘密鍵生成・削除命令部114は、ハードウェア暗号モジュール200が保持する証明書検証サーバ100の秘密鍵の更新処理を担う機能ブロックである。例えば、証明書検証サーバの管理者が適宜な端末を介して前記サーバ100にアクセスし、秘密鍵生成・削除命令を指示してきたとする。この時、前記秘密鍵生成・削除命令部114は、ハードウェア暗号モジュール200に対して、秘密鍵生成または削除の司令を転送する。ハードウェア暗号モジュール200の秘密鍵生成部210または秘密鍵削除部211は、前記司令を受け取って秘密鍵を生成または削除することとなる。こうしたサーバ100を経由した秘密鍵の生成・削除の司令がハードウェア暗号モジュール200に通知されることにより、ハードウェア暗号モジュール200の秘密鍵テーブル2251において、秘密鍵が追加または削除されたという秘密鍵の更新事象を前記サーバ100は自ずと検知することができる(自分自身を経由して前記司令が流れるからサーバ100自身で当然認識可能)。
なお、これまで示した サーバ100における各機能部110〜114は、ハードウェアとして実現してもよいし、各種の不揮発性メモリなど適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、サーバ100のCPUがプログラム実行に合わせて記憶装置より該当プログラムをメモリに読み出して、これを実行することとなる。
また、前記ネットワーク140に関しては、インターネットやLANの他、携帯電話網、ATM回線や専用回線、WAN(Wide Area Network)、電灯線ネットワーク、公衆回線網など様々なネットワークを採用することも出来る。また、インターネットを採用した場合、VPN(Virtual Private Network)など仮想専用ネットワーク技術を用いれば、セキュリティ性を高めた通信が確立され好適である。
−−−テーブル構造例−−−
次に、本実施形態におけるサーバ100が利用するテーブル類の構造について説明する。図2は本実施形態における、(a)秘密鍵情報テーブル125、(b)秘密鍵テーブル225の各データ構造例を示す図である。
前記秘密鍵情報テーブル125は、秘密鍵のラベル名(秘密鍵のID)とハードウェア暗号モジュール内での秘密鍵のハンドル値とを対にして格納したテーブルである。
また、前記秘密鍵テーブル225は、ハンドル値に秘密鍵を対応づけて格納しておくテーブルである。
−−−処理フロー例1−−−
以下、本実施形態における証明書検証方法の実際手順について、図に基づき説明する。なお、以下で説明する証明書検証方法に対応する各種動作のうち前記サーバ100に関するものは、前記サーバ100が記憶装置101からメモリ103に読み出して実行するプログラム102によって実現される。そして、これらのプログラム102らは、以下に説明される各種の動作を行うためのコードから構成されている。
は、本実施形態の証明書検証方法の処理手順例1を示す図である。この処理手順例は前記サーバ100とハードウェア暗号モジュール200との通信において、従来の方法による処理の流れを示す。ここで前記サーバ100は、証明書の検証結果(レスポンスデータ)にサーバ100の署名を付与する際、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:s41)し、(2)C_CloseSession(証明書検証サーバのサービスを切断:s42)し、(3)C_Finalize(PKCS#11ライブラリを終了する:s43)し、(4)C_Initialize(PKCS#11ライブラリを初期化する:s44)し、(5)C_OpenSession(サービスを起動:s45)し、(6)C_Login(ハードウェア暗号モジュールにログインする:s46)し、(7)C_FindObjectsInit(秘密鍵情報の検索を開始する:s47)し、(8)C_FindObject(鍵情報の検索を行う:s48)し、(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)し、(10)C_SingnInit(署名処理を初期化する:s50)し、(11)C_Sign(データに署名をする:s51)する。
−−−処理フロー例2−−−
は、本実施形態の証明書検証方法の処理手順例2を示す図である。この処理手順例は、前記サーバ100において、署名の度に秘密鍵をハードウェア暗号モジュール200からロードする処理を省略した場合の処理の流れを示す。ここで、ハードウェア暗号モジュール200の備えるオプション機能によれば、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:s41)から(6)C_Login(ハードウェア暗号モジュールにログインする:s46)までの処理は省略できる。これにより、前記サーバ100は、証明書の検証結果にサーバ100の署名を付与する際、(7)C_FindObjectsInit(秘密鍵情報の検索を開始する:s47)し、(8)C_FindObject(鍵情報の検索を行う:s48)し、(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)し、(10)C_SingnInit(署名処理を初期化する:s50)し、(11)C_Sign(データに署名をする:s51)を行えばよい。
−−−処理フロー例3−−−
は、本実施形態の証明書検証方法の処理手順例3を示す図である。この処理手順例は、秘密鍵情報を検索する処理の流れを示す。ここで前記サーバ100は、サーバ自身の起動時と、ハードウェア暗号モジュール200へ秘密鍵が追加・削除された際にこれを検知し、ハードウェア暗号モジュール200の保持する秘密鍵の情報を全て取得して更新する。すなわち、(7)C_FindObjectsInit(秘密鍵情報の検索を開始する:s47)し、(8)C_FindObject(鍵情報の検索を行う:s48)し、(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)の処理を、ハードウェア暗号モジュール200の保持する秘密鍵数だけ繰り返す。これにより、サーバ100内に最新の秘密鍵情報を秘密鍵情報テーブル125として保持することができる。前記サーバ100は、ハードウェア暗号モジュール200内に保持する鍵情報を全て読み込むまで、(7)C_FindObjectsInit(秘密鍵情報の検索を開始する:s47)し、(8)C_FindObject(鍵情報の検索を行う:s48)し、(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)する。これらの処理は、新しい鍵情報がハードウェア暗号モジュール200にないと判断された時、終了する。
−−−処理フロー例4−−−
は、本実施形態の証明書検証方法の処理手順例4を示す図である。この処理手順例は、前記サーバ100の署名処理の流れを示した図である。図にて示した全体処理から、上記図および図における処理により、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:s41)から(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)までの処理は、署名処理に際しては省略することができる。つまり、サーバ100は、(10)C_SignInit(署名処理を初期化する:s50)し、(11)C_Sign(データに署名をする:s51)することによって、検証結果(レスポンスデータ)に署名を行うのである。
−−−処理フロー例5−−−
は、本実施形態の証明書検証方法の処理手順例5を示す図である。次に、前記サーバ100が前記秘密鍵情報テーブル125を保持している場合、前記サーバ100がクライアント1から証明書検証要求を受けた際に行う処理について説明する。この場合、前記サーバ100は、クライアント1から証明書検証要求を受けて(s61)、ここで受信した証明書検証要求に含まれる証明書が信頼できるかどうかを検証する(s62)。そして、この検証結果に従ってレスポンスデータを生成する(s63)。
また、前記受信した証明書から秘密鍵のIDたるラベル名を取得し(s64)、前記秘密鍵情報テーブル125より、図2(a)に示した証明書のラベル名に対応したハンドル値を特定する(s65)。そして、前記特定したハンドル値をキーにして秘密鍵の特定要求をハードウェア暗号モジュール200に行って、前記秘密鍵テーブル225において特定された秘密鍵の情報をハードウェア暗号モジュール200より得る(s66)。
続いて、前記サーバ100は、前記特定された秘密鍵による署名依頼をハードウェア暗号モジュール200に通知し、当該ハードウェア暗号モジュール200から署名値を取得して、この署名値を用いてレスポンスデータへの署名付与を行う(s67)。そして、このレスポンスデータにサーバ100の証明書を付与し(s68)し、検証結果として前記クライアント1へ応答する(s69)。
以上、本実施形態によれば、従来システムで証明書検証サーバの署名処理に関して、ハードウェア暗号モジュールとの通信で繰り返し処理を実施していた処理部分を省略し署名処理ができるため、処理時間の大幅短縮が図れる。従来技術での処理形態と比較すると、本実施形態における署名処理時間は従来の約10分の1になる。秘密鍵の情報テーブル作成後の初めの検証時を例にとると、ハードウェア暗号モジュールのオプション機能と本実施形態の技術を適用することで1トランザクション当たりの性能は、従来システムの性能では760msであったのに対し、18msが実現できる。
したがって、多数の証明書検証サーバの秘密鍵をハードウェア暗号モジュールに保管する場合にも、証明書検証処理の性能低下を防止し、所定のレスポンス性能を保証することができる。
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本実施形態における証明書検証サーバを含むネットワーク構成図である。 本実施形態における、(a)秘密鍵情報テーブル、(b)秘密鍵テーブルの各データ構造例を示す図である。 クライアントから証明書検証要求があった際の証明書検証サーバとハードウェア暗号モジュール間の処理手順例を示す図である。 本実施形態の証明書検証方法の処理手順例1を示す図である。 本実施形態の証明書検証方法の処理手順例2を示す図である。 本実施形態の証明書検証方法の処理手順例3を示す図である。 本実施形態の証明書検証方法の処理手順例4を示す図である。 本実施形態の証明書検証方法の処理手順例5を示す図である。
符号の説明
1 クライアント
100 証明書検証サーバ
101、201 記憶装置
102、202 プログラム
103、203 メモリ
104、204 CPU
105、205 入力インターフェイス
106、206 出力インターフェイス
107、207 通信手段
110 検証部
111 特定部
112 署名部
113 鍵情報取得部
114 秘密鍵生成・削除命令部
125 秘密鍵情報テーブル
140 ネットワーク
200 ハードウェア暗号モジュール
210 秘密鍵生成部
211 秘密鍵削除部
225 秘密鍵テーブル

Claims (5)

  1. クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行う証明書検証サーバであって、
    当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、
    秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごと一意に対応付けされたハンドル値とを対応付け秘密鍵情報テーブルを格納する記憶装置と、
    前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、
    前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定するハンドル特定処理と、
    前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う署名処理と、を実行する演算装置と、
    を備えることを特徴とする証明書検証サーバ。
  2. 前記証明書検証要求の受付前に、ハードウェア暗号モジュールに対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュールの保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバの秘密鍵のIDとを対応付けて前記秘密鍵情報テーブルに格納する鍵情報取得処理を実行し、
    前記検証処理、ハンドル特定処理及び署名処理を前記証明書検証要求の受付後に実行することを特徴とする請求項1に記載の証明書検証サーバ。
  3. 前記鍵情報取得処理は、前記証明書検証サーバの起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュールへ秘密鍵が追加・削除されたことを検知したときに、実行されることを特徴とする請求項2に記載の証明書検証サーバ。
  4. クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行うコンピュータが、
    当該コンピュータの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごと一意に対応付けされたハンドル値とを対応付け秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えて、
    前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する処理と、
    前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定する処理と、
    前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う処理と、
    を行うことを特徴とする証明書検証方法。
  5. クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行うべく、当該コンピュータの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごと一意に対応付けされたハンドル値とを対応付け秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えたコンピュータに、
    前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する処理と、
    前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定する処理と、
    前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う処理と、
    を実行させる証明書検証プログラム。
JP2007208403A 2007-08-09 2007-08-09 証明書検証サーバ、証明書検証方法、および証明書検証プログラム Expired - Fee Related JP5053756B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007208403A JP5053756B2 (ja) 2007-08-09 2007-08-09 証明書検証サーバ、証明書検証方法、および証明書検証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007208403A JP5053756B2 (ja) 2007-08-09 2007-08-09 証明書検証サーバ、証明書検証方法、および証明書検証プログラム

Publications (2)

Publication Number Publication Date
JP2009044557A JP2009044557A (ja) 2009-02-26
JP5053756B2 true JP5053756B2 (ja) 2012-10-17

Family

ID=40444793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007208403A Expired - Fee Related JP5053756B2 (ja) 2007-08-09 2007-08-09 証明書検証サーバ、証明書検証方法、および証明書検証プログラム

Country Status (1)

Country Link
JP (1) JP5053756B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837634B (zh) * 2019-10-24 2023-10-27 杭州安存网络科技有限公司 基于硬件加密机的电子签章方法
CN113810412A (zh) * 2021-09-17 2021-12-17 国家工业信息安全发展研究中心 一种无证书的标识解析身份信任管控方法、系统及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3971890B2 (ja) * 2000-11-01 2007-09-05 日本電信電話株式会社 署名検証支援装置、署名検証支援方法、及び電子署名検証方法
JP2002163395A (ja) * 2000-11-27 2002-06-07 Hitachi Software Eng Co Ltd 電子証明書有効性確認支援方法とそれを用いる情報処理装置
JP2002207426A (ja) * 2001-01-10 2002-07-26 Sony Corp 公開鍵証明書発行システム、公開鍵証明書発行方法、および電子認証装置、並びにプログラム記憶媒体
JP4667921B2 (ja) * 2005-03-24 2011-04-13 三菱電機株式会社 検証装置及び通信システム及びトラストストア管理装置及びトラストストア監視装置
US7634816B2 (en) * 2005-08-11 2009-12-15 Microsoft Corporation Revocation information management

Also Published As

Publication number Publication date
JP2009044557A (ja) 2009-02-26

Similar Documents

Publication Publication Date Title
US11683187B2 (en) User authentication with self-signed certificate and identity verification and migration
US10708771B2 (en) Transfering soft tokens from one mobile device to another
JP4410821B2 (ja) 保護された処理システムへの初期トラステッド・デバイスのバインディングの検証
EP3171315A1 (en) Payment verification system, method and apparatus, computer program and recording medium
CN107124431A (zh) 鉴权方法、装置、计算机可读存储介质和鉴权系统
CN109218260B (zh) 一种基于可信任环境的认证保护系统及方法
CN109325342A (zh) 身份信息管理方法、装置、计算机设备和存储介质
CN111447245A (zh) 一种认证方法、装置、电子设备和服务端
US11363009B2 (en) System and method for providing secure cloud-based single sign-on connections using a security service provider having zero-knowledge architecture
WO2020140914A1 (zh) 一种客户端认证方法、装置和计算机可读存储介质
US11777942B2 (en) Transfer of trust between authentication devices
CN115001766B (zh) 一种高效的多节点批量远程证明方法
CN111200593A (zh) 应用登录方法、装置和电子设备
CN109150811B (zh) 一种实现可信会话的方法及装置、计算设备
US8176533B1 (en) Complementary client and user authentication scheme
JP2008539482A (ja) クライアントをネットワークに接続する方法、システム、及びプログラム製品
US20220100862A1 (en) Boot-specific key access in a virtual device platform
US8732456B2 (en) Enterprise environment disk encryption
JP5053756B2 (ja) 証明書検証サーバ、証明書検証方法、および証明書検証プログラム
CN113271207A (zh) 基于移动电子签名的托管密钥使用方法、系统、计算机设备及存储介质
JP4018450B2 (ja) 文書管理システム、文書管理装置、認証方法、コンピュータ読み取り可能なプログラム、及び記憶媒体
US10972455B2 (en) Secure authentication in TLS sessions
US20230079795A1 (en) Device to device migration in a unified endpoint management system
CN115941217A (zh) 用于安全通信的方法和其相关产品
CN106534275B (zh) 一种通用的安全可靠的数据交换方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120726

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees