JP5053756B2 - 証明書検証サーバ、証明書検証方法、および証明書検証プログラム - Google Patents
証明書検証サーバ、証明書検証方法、および証明書検証プログラム Download PDFInfo
- 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
Links
Images
Description
(a)クライアントから受け取った証明書が信頼できるかどうかを検証する。
(b)上記検証結果に従ってレスポンスデータを生成する。
(c)ハードウェア暗号モジュールと通信を行い、ハードウェア暗号モジュールに保持されている証明書検証サーバの秘密鍵を用いて署名値を生成する。
(d)証明書検証サーバの署名、証明書を添付したものを、前記クライアントへ応答する。
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態における証明書検証サーバ100を含むネットワーク構成図である。本実施形態における証明書検証サーバ100は、クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うものである。図1におけるネットワーク構成では、前記証明書検証サーバ100に証明書検証要求を行うクライアント1と、クライアント1から送付された証明書の有効性および信頼性確認を行う前記証明書検証サーバ100と、それら接続するインターネット等のネットワーク140、証明書検証サーバ100の秘密鍵を保管・管理するハードウェア暗号モジュール200とからなる。
次に、本実施形態におけるサーバ100が利用するテーブル類の構造について説明する。図2は本実施形態における、(a)秘密鍵情報テーブル125、(b)秘密鍵テーブル225の各データ構造例を示す図である。
前記秘密鍵情報テーブル125は、秘密鍵のラベル名(秘密鍵のID)とハードウェア暗号モジュール内での秘密鍵のハンドル値とを対にして格納したテーブルである。
また、前記秘密鍵テーブル225は、ハンドル値に秘密鍵を対応づけて格納しておくテーブルである。
以下、本実施形態における証明書検証方法の実際手順について、図に基づき説明する。なお、以下で説明する証明書検証方法に対応する各種動作のうち前記サーバ100に関するものは、前記サーバ100が記憶装置101からメモリ103に読み出して実行するプログラム102によって実現される。そして、これらのプログラム102らは、以下に説明される各種の動作を行うためのコードから構成されている。
図5は、本実施形態の証明書検証方法の処理手順例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)を行えばよい。
図6は、本実施形態の証明書検証方法の処理手順例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にないと判断された時、終了する。
図7は、本実施形態の証明書検証方法の処理手順例4を示す図である。この処理手順例は、前記サーバ100の署名処理の流れを示した図である。図4にて示した全体処理から、上記図5および図6における処理により、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:s41)から(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)までの処理は、署名処理に際しては省略することができる。つまり、サーバ100は、(10)C_SignInit(署名処理を初期化する:s50)し、(11)C_Sign(データに署名をする:s51)することによって、検証結果(レスポンスデータ)に署名を行うのである。
図8は、本実施形態の証明書検証方法の処理手順例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)。
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)
- クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行う証明書検証サーバであって、
当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、
秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごとに一意に対応付けされたハンドル値と、を対応付ける秘密鍵情報テーブルを格納する記憶装置と、
前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、
前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定するハンドル特定処理と、
前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う署名処理と、を実行する演算装置と、
を備えることを特徴とする証明書検証サーバ。 - 前記証明書検証要求の受付前に、ハードウェア暗号モジュールに対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュールの保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバの秘密鍵のIDとを対応付けて前記秘密鍵情報テーブルに格納する鍵情報取得処理を実行し、
前記検証処理、ハンドル特定処理及び署名処理を前記証明書検証要求の受付後に実行することを特徴とする請求項1に記載の証明書検証サーバ。 - 前記鍵情報取得処理は、前記証明書検証サーバの起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュールへ秘密鍵が追加・削除されたことを検知したときに、実行されることを特徴とする請求項2に記載の証明書検証サーバ。
- クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行うコンピュータが、
当該コンピュータの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごとに一意に対応付けされたハンドル値と、を対応付ける秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えて、
前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する処理と、
前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定する処理と、
前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う処理と、
を行うことを特徴とする証明書検証方法。 - クライアントからの証明書検証要求を受付け、証明書検証と署名付与を行うべく、当該コンピュータの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、前記ハードウェア暗号モジュールに保管された前記秘密鍵ごとに一意に対応付けされたハンドル値と、を対応付ける秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えたコンピュータに、
前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する処理と、
前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して前記秘密鍵を一意に特定するハンドル値を特定する処理と、
前記秘密鍵を一意に特定するハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから当該署名依頼にかかる署名値を取得して、この署名値を用いて前記生成したレスポンスデータへの署名付与を行う処理と、
を実行させる証明書検証プログラム。
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)
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)
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 |
-
2007
- 2007-08-09 JP JP2007208403A patent/JP5053756B2/ja not_active Expired - Fee Related
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 |