JP2009044557A - Certificate verification server, method, and program - Google Patents

Certificate verification server, method, and program Download PDF

Info

Publication number
JP2009044557A
JP2009044557A JP2007208403A JP2007208403A JP2009044557A JP 2009044557 A JP2009044557 A JP 2009044557A JP 2007208403 A JP2007208403 A JP 2007208403A JP 2007208403 A JP2007208403 A JP 2007208403A JP 2009044557 A JP2009044557 A JP 2009044557A
Authority
JP
Japan
Prior art keywords
secret key
certificate verification
certificate
signature
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.)
Granted
Application number
JP2007208403A
Other languages
Japanese (ja)
Other versions
JP5053756B2 (en
Inventor
Masami Uzawa
政美 鵜澤
Masahiko Furuya
昌彦 古屋
Yoko Hashimoto
洋子 橋本
Takahiro Fujishiro
孝宏 藤城
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/en
Publication of JP2009044557A publication Critical patent/JP2009044557A/en
Application granted granted Critical
Publication of JP5053756B2 publication Critical patent/JP5053756B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To ensure prescribed response performance by preventing performance deterioration of certificate verification treatment even when secret key of a number of certificate verification servers is stored in a hardware encryption module. <P>SOLUTION: A certificate verification server 100 is constituted of a verification part 110 which forms response data by carrying out verification for a certificate as object of certificate verification request, a handle specifying part 111 which obtains an ID of secret key from a certificate as object of certificate verification request and specifies the handle value by checking the ID of the secret key against a secret key information table 125 and a signature part 112 which notifies signature request wherein the specified handle value is a key to a hardware encryption module 200, obtains a signature value from the hardware encryption module 200 and gives signature to response data by using the signature value. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、証明書検証サーバ、証明書検証方法、および証明書検証プログラムに関し、具体的には、公開鍵暗号通信において証明書の有効性を検証する証明書検証サーバの処理を高速化する技術に関する。   The present invention relates to a certificate verification server, a certificate verification method, and a certificate verification program, and more specifically, a technique for speeding up the processing of a certificate verification server that verifies the validity of a certificate in public key encryption communication. About.

今日、情報セキュリティに対する関心が高まっており、公共・民間分野共に情報セキュリティに配慮したインフラ整備が進められている。こうした情報セキュリティ技術の一つとして公開鍵認証基盤(以下PKI ; Public Key Infrastructure)がある。本発明で扱う証明書検証サーバとは、PKIにおいてクライアントの代わりに証明書の信頼性または有効性を検証し、その検証結果を応答するサーバである。また証明書検証サーバは、前記検証結果を応答する際に、認証局(CA)から発行された証明書に対応する秘密鍵を用いて、結果情報に署名付与を行い返信する。   Today, there is a growing interest in information security, and infrastructure development in consideration of information security is underway in both the public and private sectors. One of such information security technologies is public key infrastructure (PKI). The certificate verification server used in the present invention is a server that verifies the reliability or validity of a certificate instead of a client in PKI and responds with the verification result. Further, when responding with the verification result, the certificate verification server uses the private key corresponding to the certificate issued from the certificate authority (CA) to give a signature to the result information and send it back.

現在、企業間における証明書の検証処理に関するトランザクションは増加の傾向にある。これを受けて証明書検証サーバは、複数の秘密鍵に対応する検証処理を実施することに加え、高い応答性能が要求されている。PKIにおいては、公開鍵を公開し、ペアになる秘密鍵は他人に知られないように管理することで暗号の秘密性を保っており、すなわち証明書検証サーバで保管する上記秘密鍵は非常に重要なものであるため、第三者に流出しないよう厳重に管理する必要がある。   Currently, transactions related to certificate verification processing between companies are increasing. In response to this, the certificate verification server is required to have high response performance in addition to performing verification processing corresponding to a plurality of secret keys. In PKI, the public key is made public, and the secret key to be paired is managed so as not to be known to others, so that the confidentiality of the encryption is maintained, that is, the above private key stored in the certificate verification server is very Since it is important, it is necessary to strictly manage it so that it does not leak to a third party.

このため、証明書検証サーバでは、秘密鍵をハードウェア暗号モジュールで保管・管理するのが一般的である。このハードウェア暗号モジュールを利用した場合、秘密鍵の生成はハードウェア暗号モジュール内部で実行され、また、秘密鍵による署名付与といった秘密鍵を利用する演算処理もハードウェア暗号モジュール内部で処理される。したがって前記秘密鍵がハードウェア暗号モジュール外に出ることがないため、秘密鍵の漏洩等のセキュリティ上の脅威を防ぐことができる。   For this reason, the certificate verification server generally stores and manages the private key with a hardware cryptographic module. When this hardware cryptographic module is used, generation of a secret key is executed inside the hardware cryptographic module, and arithmetic processing using the secret key such as signature addition by the secret key is also processed inside the hardware cryptographic module. Therefore, since the secret key does not go out of the hardware cryptographic module, security threats such as leakage of the secret key can be prevented.

前記証明書検証サーバは、クライアントから証明書検証要求を受けると、図8に示すように以下の手順で検証処理を行う。
(a)クライアントから受け取った証明書が信頼できるかどうかを検証する。
(b)上記検証結果に従ってレスポンスデータを生成する。
(c)ハードウェア暗号モジュールと通信を行い、ハードウェア暗号モジュールに保持されている証明書検証サーバの秘密鍵を用いて署名値を生成する。
(d)証明書検証サーバの署名、証明書を添付したものを、前記クライアントへ応答する。
Upon receiving a certificate verification request from the client, the certificate verification server performs verification processing according to the following procedure as shown in FIG.
(a) Verify whether the certificate received from the client can be trusted.
(b) Generate response data according to the verification result.
(c) Communicate with the hardware cryptographic module, and generate a signature value using the private key of the certificate verification server held in the hardware cryptographic module.
(d) A certificate verification server signature and a certificate attached are returned to the client.

上記(c)の処理における証明書検証サーバとハードウェア暗号モジュールとの間の通信には、非特許文献1にて示されるように、標準のインタフェースであるPKCS#11ライブラリが用いられる。証明書検証サーバが既に起動している場合において、この標準インタフェースを用いた場合の証明書検証サーバとハードウェア暗号モジュールとの間の処理を図3に示す。   As shown in Non-Patent Document 1, a PKCS # 11 library which is a standard interface is used for communication between the certificate verification server and the hardware cryptographic module in the process (c). FIG. 3 shows the processing between the certificate verification server and the hardware cryptographic module when this standard interface is used when the certificate verification server is already activated.

この処理において、証明書検証サーバの起動状態では、既にハードウェア暗号モジュールとのセッションが確立されているため、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:ステップs41)し、(2)C_CloseSession(証明書検証サーバのサービスを切断する:ステップs42)し、(3)C_Finalize(PKCS#11ライブラリを終了する:ステップs43)までの処理が必要となる。図3に示す手順に従い、まず証明書検証サーバは、(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)する。
PKCS#11:Cryptographic Token Interface Standard(http://www.rsa.com/rsalabs/node.asp?id=2133、RSA Laboratories, "PKCS #11: Cryptographic Token Interface Standard",2007/1/11)
In this process, since the session with the hardware cryptographic module is already established in the activated state of the certificate verification server, (1) C_Logout (logout from the hardware cryptographic module: step s41) and (2) C_CloseSession (The service of the certificate verification server is disconnected: step s42), and the processing up to (3) C_Finalize (end the PKCS # 11 library: step s43) is required. According to the procedure shown in FIG. 3, the certificate verification server first (1) C_Logout (logs out of the hardware cryptographic module: step s41) and (2) C_CloseSession (disconnects the service of the certificate verification server: s42). (3) C_Finalize (end the PKCS # 11 library: s43). Next, (4) C_Initialize (Initialize the PKCS # 11 library: Step s44), (5) C_OpenSession (Start the certificate verification server service: Step s45), (6) C_Login (Hardware encryption) Log in to the module: Step s46). Further, (7) C_FindObjectInit (starts retrieval of secret key information for applying a signature: step s47), (8) C_FindObject (retrieves secret key information: step s48), and (9) C_FindObjectFinal (secret) After obtaining the key information, the search for the secret key information is terminated: Step s49). Finally, (10) C_SignInit (initializes the signature process: step s50) and (11) C_Sign (signs the data: step s51).
PKCS # 11: Cryptographic Token Interface Standard (http://www.rsa.com/rsalabs/node.asp?id=2133, RSA Laboratories, "PKCS # 11: Cryptographic Token Interface Standard", 2007/1/11)

例えばコンテンツ保証システムとして証明書検証サーバを設置し、この証明書検証サーバがコンテンツの署名検証のための証明書を検証する場合、当該証明書検証サーバの性能として約19件/秒、500ミリ秒/件の顧客要求が想定される。上記従来の証明書検証方法において、前記顧客要求を満たす性能を達成することが難しくなる場合がある。   For example, when a certificate verification server is installed as a content assurance system and this certificate verification server verifies a certificate for content signature verification, the performance of the certificate verification server is about 19 cases / second, 500 milliseconds. / Customer requests are assumed. In the conventional certificate verification method, it may be difficult to achieve performance that satisfies the customer requirements.

これは、ハードウェア暗号モジュールへの秘密鍵の追加・削除を検知すると、証明書検証サーバが検証結果情報に署名をする度にハードウェア暗号モジュールに保管・管理されている秘密鍵を前記ハードウェア暗号モジュールからロードしなければならないこと、かつ署名の度にロードした秘密鍵から該当する秘密鍵の検索を行わなければならないことによる。   This is because when the addition / deletion of the private key to the hardware cryptographic module is detected, each time the certificate verification server signs the verification result information, the private key stored / managed in the hardware cryptographic module is This is because it must be loaded from the cryptographic module, and the corresponding private key must be searched from the private key loaded each time it is signed.

ここで、ハードウェア暗号モジュールへの秘密鍵の追加・削除は、上述のPKIにおいて、証明書検証サーバ運用者によって行われる。証明書検証サーバ運用者の操作する端末は、ネットワークを介して証明書検証サーバと通信を行う。証明書検証サーバの秘密鍵の作成は、前記証明書検証サーバ運用者が、証明書検証サーバからハードウェア暗号モジュールに秘密鍵の作成要求を出すことで、前記ハードウェア暗号モジュール内で実行される。一方、証明書検証サーバの秘密鍵の削除は、上記証明書検証サーバ運用者が、証明書検証サーバからハードウェア暗号モジュールに秘密鍵の削除要求を出すことで、前記ハードウェア暗号モジュールで実行される。   Here, addition / deletion of the private key to / from the hardware cryptographic module is performed by the certificate verification server operator in the above PKI. The terminal operated by the certificate verification server operator communicates with the certificate verification server via the network. The creation of the private key of the certificate verification server is executed in the hardware cryptographic module when the certificate verification server operator issues a private key creation request from the certificate verification server to the hardware cryptographic module. . On the other hand, the deletion of the private key of the certificate verification server is executed by the hardware cryptographic module when the certificate verification server operator issues a private key deletion request from the certificate verification server to the hardware cryptographic module. The

こうした証明書検証サーバは、検証結果に前述の証明書検証サーバの署名を付与する際、上述のステップs41〜s46までの処理を、署名をする度に毎回行う必要があり、かつハードウェア暗号モジュールで保管・管理されている秘密鍵の数が多いほど、前記ステップs47〜s49までの処理に時間がかかることになる。   Such a certificate verification server needs to perform the processing from the above steps s41 to s46 every time it signs a signature when adding the signature of the certificate verification server to the verification result. As the number of secret keys stored and managed in (2) increases, the processing from step s47 to s49 takes longer.

そこで、本発明は上記課題を鑑みてなされたものであり、多数の証明書検証サーバの秘密鍵をハードウェア暗号モジュールに保管する場合にも、証明書検証処理の性能低下を防止し、所定のレスポンス性能を保証することができる技術の提供を目的とする。   Therefore, the present invention has been made in view of the above problems, and even when storing the secret keys of a large number of certificate verification servers in a hardware cryptographic module, it prevents the performance degradation of the certificate verification process, The purpose is to provide technology that can guarantee response performance.

本発明の証明書検証サーバは、クライアントからの証明書検証要求に応じて証明書検証と署名付与を行う証明書検証サーバであって、当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、ハードウェア暗号モジュールで前記秘密鍵に対応付けされたハンドル値とを対応付けて格納する秘密鍵情報テーブルを格納する記憶装置と、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して該当ハンドル値を特定するハンドル特定処理と、前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行う署名処理と、を実行する演算装置と、を備える。   The certificate verification server of the present invention is a certificate verification server that performs certificate verification and signature assignment in response to a certificate verification request from a client, and stores a hardware encryption module that stores the private key of the certificate verification server A communication device that communicates with a secret key ID table, and a storage device that stores a secret key information table that associates and stores a handle value associated with the secret key by a hardware cryptographic module, and the certificate verification A verification process for generating a response data by performing verification on the certificate that is the target of the request, and obtaining a secret key ID from the certificate that is the target of the certificate verification request, and obtaining the secret key ID as the secret key A hardware identification module that performs a handle identification process for identifying a corresponding handle value by collating with the key information table and a signature request using the identified handle value as a key. Notify Le acquires the signature value from the hardware cryptographic module, and a calculation unit for executing a signature process for signing to the response data using the signature value.

また、本発明の証明書検証サーバは、ハードウェア暗号モジュールに対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュールの保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバの秘密鍵のIDとを対応付けて前記秘密鍵情報テーブルに格納する鍵情報取得処理を実行するとしてもよい。   Further, the certificate verification server of the present invention makes a request for searching for the secret key information to the hardware cryptographic module, acquires the secret key information held by the hardware cryptographic module, and handles the handle value included in the secret key information. It is also possible to execute a key information acquisition process in which the ID of the private key of the certificate verification server is associated and stored in the private key information table.

また、本発明の証明書検証サーバにおいて、前記鍵情報取得処理は、前記証明書検証サーバの起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュールへ秘密鍵が追加・削除されたことを検知し、実行するとしてもよい。   Further, in the certificate verification server of the present invention, the key information acquisition process is performed by adding / deleting a secret key to the hardware cryptographic module when starting the certificate verification server or by an instruction via the certificate verification server. This may be detected and executed.

また、本発明の証明書検証方法は、クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うコンピュータが、当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、ハードウェア暗号モジュールで前記秘密鍵に対応付けされたハンドル値とを対応付けて格納する秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えて、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して該当ハンドル値を特定するハンドル特定処理と、前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行う署名処理と、を行うことを特徴とする。   In the certificate verification method of the present invention, a computer that performs certificate verification and signature assignment in response to a certificate verification request from a client communicates with a hardware cryptographic module that stores the private key of the certificate verification server. A storage device for storing a communication device, a secret key ID table, and a secret key information table for storing a handle value associated with the secret key in a hardware cryptographic module, and an arithmetic device; A verification process for generating a response data by verifying a certificate that is a target of the certificate verification request; and obtaining a private key ID from the certificate that is a target of the certificate verification request. A hardware identification process for identifying the corresponding handle value by comparing the ID with the secret key information table and a signature request using the identified handle value as a key are performed by hardware. Notify A cryptographic module obtains the signature value from the hardware cryptographic module, and performs a signature process for signing to the response data using the signature value.

また、本発明の証明書検証プログラムは、クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うべく、当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、ハードウェア暗号モジュールで前記秘密鍵に対応付けされたハンドル値とを対応付けて格納する秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えコンピュータに、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成するステップと、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して該当ハンドル値を特定するステップと、前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行うステップと、を実行させるプログラムである。   In addition, the certificate verification program of the present invention is a communication that communicates with a hardware cryptographic module that stores a private key of the certificate verification server in order to perform certificate verification and signature assignment in response to a certificate verification request from a client. A computer comprising: a device, a secret key ID table, a storage device storing a secret key information table in which a hardware cryptographic module associates and stores a handle value associated with the secret key, and an arithmetic device; Verifying the certificate that is the subject of the certificate validation request and generating response data; obtaining a private key ID from the certificate that is the subject of the certificate validation request; and The corresponding secret key information table to identify the corresponding handle value, and a signature request using the identified handle value as a key is Notify A cryptographic module obtains the signature value from the hardware cryptographic module, a program for executing and performing the signing to the response data using the signature value.

その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。   In addition, the problems disclosed by the present application and the solutions thereof will be clarified by the embodiments of the present invention and the drawings.

本発明によれば、多数の証明書検証サーバの秘密鍵をハードウェア暗号モジュールに保管する場合にも、証明書検証処理の性能低下を防止し、所定のレスポンス性能を保証することができる。   According to the present invention, even when the secret keys of a large number of certificate verification servers are stored in the hardware cryptographic module, it is possible to prevent a decrease in the performance of the certificate verification process and to guarantee a predetermined response performance.

−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態における証明書検証サーバ100を含むネットワーク構成図である。本実施形態における証明書検証サーバ100は、クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うものである。図1におけるネットワーク構成では、前記証明書検証サーバ100に証明書検証要求を行うクライアント1と、クライアント1から送付された証明書の有効性および信頼性確認を行う前記証明書検証サーバ100と、それら接続するインターネット等のネットワーク140、証明書検証サーバ100の秘密鍵を保管・管理するハードウェア暗号モジュール200とからなる。
--- System configuration ---
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a network configuration diagram including a certificate verification server 100 according to this embodiment. The certificate verification server 100 in the present embodiment performs certificate verification and signature assignment in response to a certificate verification request from a client. In the network configuration in FIG. 1, the client 1 that makes a certificate verification request to the certificate verification server 100, the certificate verification server 100 that checks the validity and reliability of the certificate sent from the client 1, and these It consists of a network 140 such as the Internet to be connected and a hardware cryptographic module 200 for storing and managing the private key of the certificate verification server 100.

こうした前記証明書検証サーバ100(以下、サーバ100)は、本発明の証明書検証方法を実行する機能を実現すべくハードディスクドライブなどの記憶装置101に格納されているプログラム102を、揮発性メモリなどの一次保存領域(以下、メモリ)103に読み出して演算装置たるCPU104により実行する。また、前記サーバ100は、前記クライアント1やハードウェア暗号モジュール200との間のデータ授受を担う通信手段107などを有している。   The certificate verification server 100 (hereinafter referred to as server 100) stores a program 102 stored in a storage device 101 such as a hard disk drive in order to realize a function for executing the certificate verification method of the present invention. Are stored in a primary storage area (hereinafter referred to as a memory) 103 and executed by the CPU 104 serving as an arithmetic unit. In addition, the server 100 includes a communication unit 107 that performs data exchange with the client 1 and the hardware cryptographic module 200.

続いて、前記サーバ100が例えばプログラム102に基づき構成・保持する機能部につき説明を行う。なお、前記サーバ100は、記憶装置101において、前記秘密鍵情報テーブル125を利用可能である。また、前記ハードウェア暗号モジュール200は前記秘密鍵テーブル225を備えている。   Next, functional units that are configured and held by the server 100 based on the program 102 will be described. The server 100 can use the secret key information table 125 in the storage device 101. The hardware cryptographic module 200 includes the secret key table 225.

こうした前記サーバ100は、前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証部110を備える。   The server 100 includes a verification unit 110 that verifies a certificate that is a target of the certificate verification request and generates response data.

また、前記サーバ100は、前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブル125に照合して該当ハンドル値を特定するハンドル特定部111を備える。   Further, the server 100 obtains a private key ID from the certificate that is the target of the certificate verification request, and compares the private key ID with the private key information table 125 to identify the corresponding handle value. The specifying unit 111 is provided.

また、前記サーバ100は、前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュール200に通知し、当該ハードウェア暗号モジュール200から署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行う署名部112を備える。   Further, the server 100 notifies the hardware cryptographic module 200 of a signature request using the specified handle value as a key, acquires a signature value from the hardware cryptographic module 200, and uses the signature value to execute the response. A signature unit 112 that assigns a signature to data is provided.

また、前記サーバ100は、ハードウェア暗号モジュール200に対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュール200の保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバ100の秘密鍵のIDとを対応付けて前記秘密鍵情報テーブル125に格納する鍵情報取得部113を備えると出来る。   Further, the server 100 requests the hardware cryptographic module 200 to search for the private key information, acquires the private key information held by the hardware cryptographic module 200, and handles the handle value and certificate included in the private key information. A key information acquisition unit 113 that stores the ID of the secret key of the verification server 100 in association with the ID of the secret key information table 125 can be provided.

なお、前記鍵情報取得部113は、前記証明書検証サーバ100の起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュール200へ秘密鍵が追加・削除されたことを検知し、前記秘密鍵情報の検索要求、秘密鍵情報の取得、ハンドル値と秘密鍵のIDとを対応付けて秘密鍵情報テーブル125へ格納、の各処理を実行するとしてもよい。   The key information acquisition unit 113 detects that a private key has been added to or deleted from the hardware cryptographic module 200 upon activation of the certificate verification server 100 or by an instruction via the certificate verification server. The following processes may be executed: a search request for secret key information, acquisition of secret key information, and a handle value and a secret key ID associated with each other and stored in the secret key information table 125.

また、前記サーバ100は、秘密鍵生成・削除命令部114を備えるとできる。この秘密鍵生成・削除命令部114は、ハードウェア暗号モジュール200が保持する証明書検証サーバ100の秘密鍵の更新処理を担う機能ブロックである。例えば、証明書検証サーバの管理者が適宜な端末を介して前記サーバ100にアクセスし、秘密鍵生成・削除命令を指示してきたとする。この時、前記秘密鍵生成・削除命令部114は、ハードウェア暗号モジュール200に対して、秘密鍵生成または削除の司令を転送する。ハードウェア暗号モジュール200の秘密鍵生成部210または秘密鍵削除部211は、前記司令を受け取って秘密鍵を生成または削除することとなる。こうしたサーバ100を経由した秘密鍵の生成・削除の司令がハードウェア暗号モジュール200に通知されることにより、ハードウェア暗号モジュール200の秘密鍵テーブル2251において、秘密鍵が追加または削除されたという秘密鍵の更新事象を前記サーバ100は自ずと検知することができる(自分自身を経由して前記司令が流れるからサーバ100自身で当然認識可能)。   The server 100 may include a secret key generation / deletion command unit 114. The secret key generation / deletion command unit 114 is a functional block responsible for updating the secret key of the certificate verification server 100 held by the hardware cryptographic module 200. For example, it is assumed that the administrator of the certificate verification server accesses the server 100 via an appropriate terminal and instructs a secret key generation / deletion command. At this time, the secret key generation / deletion command unit 114 transfers a secret key generation / deletion command to the hardware cryptographic module 200. The secret key generation unit 210 or the secret key deletion unit 211 of the hardware cryptographic module 200 receives the command and generates or deletes the secret key. By notifying the hardware cryptographic module 200 of a command for generating / deleting a secret key via the server 100, the secret key indicating that the secret key has been added or deleted in the secret key table 2251 of the hardware cryptographic module 200. The server 100 can naturally detect the update event (the server 100 itself can recognize the command because the command flows through itself).

なお、これまで示した サーバ100における各機能部110〜114は、ハードウェアとして実現してもよいし、各種の不揮発性メモリなど適宜な記憶装置に格納したプログラムとして実現するとしてもよい。この場合、サーバ100のCPUがプログラム実行に合わせて記憶装置より該当プログラムをメモリに読み出して、これを実行することとなる。   Note that each of the functional units 110 to 114 in the server 100 described so far may be realized as hardware, or may be realized as a program stored in an appropriate storage device such as various nonvolatile memories. In this case, the CPU of the server 100 reads the corresponding program from the storage device into the memory in accordance with the execution of the program and executes it.

また、前記ネットワーク140に関しては、インターネットやLANの他、携帯電話網、ATM回線や専用回線、WAN(Wide Area Network)、電灯線ネットワーク、公衆回線網など様々なネットワークを採用することも出来る。また、インターネットを採用した場合、VPN(Virtual Private Network)など仮想専用ネットワーク技術を用いれば、セキュリティ性を高めた通信が確立され好適である。   As the network 140, various networks such as a mobile phone network, an ATM line, a dedicated line, a WAN (Wide Area Network), a power line network, and a public line network can be adopted in addition to the Internet and LAN. Further, when the Internet is adopted, communication with improved security is preferably established by using a virtual private network technology such as VPN (Virtual Private Network).

−−−テーブル構造例−−−
次に、本実施形態におけるサーバ100が利用するテーブル類の構造について説明する。図2は本実施形態における、(a)秘密鍵情報テーブル125、(b)秘密鍵テーブル225の各データ構造例を示す図である。
前記秘密鍵情報テーブル125は、秘密鍵のラベル名(秘密鍵のID)とハードウェア暗号モジュール内での秘密鍵のハンドル値とを対にして格納したテーブルである。
また、前記秘密鍵テーブル225は、ハンドル値に秘密鍵を対応づけて格納しておくテーブルである。
--- Example of table structure ---
Next, the structure of the tables used by the server 100 in this embodiment will be described. FIG. 2 is a diagram showing examples of data structures of (a) the secret key information table 125 and (b) the secret key table 225 in the present embodiment.
The secret key information table 125 is a table that stores a secret key label name (secret key ID) and a secret key handle value in the hardware cryptographic module in pairs.
The secret key table 225 is a table that stores a handle value in association with a secret key.

−−−処理フロー例1−−−
以下、本実施形態における証明書検証方法の実際手順について、図に基づき説明する。なお、以下で説明する証明書検証方法に対応する各種動作のうち前記サーバ100に関するものは、前記サーバ100が記憶装置101からメモリ103に読み出して実行するプログラム102によって実現される。そして、これらのプログラム102らは、以下に説明される各種の動作を行うためのコードから構成されている。
--- Processing flow example 1 ---
Hereinafter, the actual procedure of the certificate verification method according to the present embodiment will be described with reference to the drawings. Of the various operations corresponding to the certificate verification method described below, those related to the server 100 are realized by the program 102 that the server 100 reads from the storage device 101 to the memory 103 and executes. These programs 102 are composed of codes for performing various operations described below.

図3は、本実施形態の証明書検証方法の処理手順例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)する。   FIG. 3 is a diagram showing a processing procedure example 1 of the certificate verification method of the present embodiment. This processing procedure example shows a flow of processing according to a conventional method in communication between the server 100 and the hardware cryptographic module 200. Here, when adding the signature of the server 100 to the certificate verification result (response data), the server 100 performs (1) C_Logout (logout from the hardware cryptographic module: s41), and (2) C_CloseSession (certificate). (3) C_Finalize (end PKCS # 11 library: s43), (4) C_Initialize (initialize PKCS # 11 library: s44), (5) C_OpenSession (Start the service: s45), (6) C_Login (log in to the hardware cryptographic module: s46), (7) C_FindObjectsInit (start the search for secret key information: s47), (8) C_FindObject (key (9) C_FindObjectFinal (end search of secret key information: s49), (10) C_SingnInit (initialize signature processing: s50), and (11) C_Sign (data) In To the name: s51) to.

−−−処理フロー例2−−−
図4は、本実施形態の証明書検証方法の処理手順例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)を行えばよい。
--- Processing flow example 2 ---
FIG. 4 is a diagram illustrating a processing procedure example 2 of the certificate verification method according to the present embodiment. This processing procedure example shows a processing flow when the server 100 omits the process of loading the secret key from the hardware cryptographic module 200 for each signature. Here, according to the optional function of the hardware cryptographic module 200, the processing from (1) C_Logout (logout from the hardware cryptographic module: s41) to (6) C_Login (login to the hardware cryptographic module: s46) Can be omitted. As a result, the server 100 (7) C_FindObjectsInit (starts retrieval of private key information: s47) and (8) C_FindObject (retrieval of key information) when adding the signature of the server 100 to the certificate verification result. (9) C_FindObjectFinal (end search of secret key information: s49), (10) C_SingnInit (initialize signature processing: s50), and (11) C_Sign (sign signature on data) Yes: s51) may be performed.

−−−処理フロー例3−−−
図5は、本実施形態の証明書検証方法の処理手順例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にないと判断された時、終了する。
--- Processing flow example 3 ---
FIG. 5 is a diagram showing a processing procedure example 3 of the certificate verification method of the present embodiment. This processing procedure example shows a flow of processing for searching for secret key information. Here, the server 100 detects this when the server itself is started up and when the secret key is added to or deleted from the hardware cryptographic module 200, and acquires all the secret key information held by the hardware cryptographic module 200. And update. That is, (7) C_FindObjectsInit (starts search of secret key information: s47), (8) C_FindObject (searches key information: s48), and (9) C_FindObjectFinal (ends search of secret key information: The process of s49) is repeated for the number of secret keys held by the hardware cryptographic module 200. Accordingly, the latest secret key information can be held in the server 100 as the secret key information table 125. The server 100 performs (7) C_FindObjectsInit (starts retrieval of secret key information: s47) and (8) C_FindObject (retrieves key information) until all the key information held in the hardware cryptographic module 200 is read. (9) C_FindObjectFinal (end the search for secret key information: s49). These processes are terminated when it is determined that the new key information is not in the hardware cryptographic module 200.

−−−処理フロー例4−−−
図6は、本実施形態の証明書検証方法の処理手順例4を示す図である。この処理手順例は、前記サーバ100の署名処理の流れを示した図である。図3にて示した全体処理から、上記図4および図5における処理により、(1)C_Logout(ハードウェア暗号モジュールからログアウトする:s41)から(9)C_FindObjectFinal(秘密鍵情報の検索を終了する:s49)までの処理は、署名処理に際しては省略することができる。つまり、サーバ100は、(10)C_SignInit(署名処理を初期化する:s50)し、(11)C_Sign(データに署名をする:s51)することによって、検証結果(レスポンスデータ)に署名を行うのである。
--- Processing flow example 4 ---
FIG. 6 is a diagram illustrating a processing procedure example 4 of the certificate verification method according to the present embodiment. This processing procedure example is a diagram showing a flow of signature processing of the server 100. From the overall processing shown in FIG. 3, by the processing in FIGS. 4 and 5 above, (1) C_Logout (logout from the hardware cryptographic module: s41) to (9) C_FindObjectFinal (retrieval of secret key information ends: The processing up to s49) can be omitted in the signature processing. That is, the server 100 signs the verification result (response data) by (10) C_SignInit (initializing the signature process: s50) and (11) C_Sign (signing the data: s51). is there.

−−−処理フロー例5−−−
図7は、本実施形態の証明書検証方法の処理手順例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)。
--- Processing flow example 5 ---
FIG. 7 is a diagram showing a processing procedure example 5 of the certificate verification method of the present embodiment. Next, processing performed when the server 100 receives the certificate verification request from the client 1 when the server 100 holds the secret key information table 125 will be described. In this case, the server 100 receives a certificate verification request from the client 1 (s61), and verifies whether the certificate included in the received certificate verification request is reliable (s62). Then, response data is generated according to the verification result (s63).
Further, a label name as a private key ID is acquired from the received certificate (s64), and a handle value corresponding to the label name of the certificate shown in FIG. 2A is specified from the private key information table 125. (S65). Then, a request for specifying a secret key is sent to the hardware cryptographic module 200 using the specified handle value as a key, and information on the secret key specified in the secret key table 225 is obtained from the hardware cryptographic module 200 (s66). .
Subsequently, the server 100 notifies the hardware cryptographic module 200 of a signature request with the specified secret key, obtains a signature value from the hardware cryptographic module 200, and uses this signature value as response data. Is added (s67). Then, the certificate of the server 100 is added to the response data (s68), and a response is made to the client 1 as a verification result (s69).

以上、本実施形態によれば、従来システムで証明書検証サーバの署名処理に関して、ハードウェア暗号モジュールとの通信で繰り返し処理を実施していた処理部分を省略し署名処理ができるため、処理時間の大幅短縮が図れる。従来技術での処理形態と比較すると、本実施形態における署名処理時間は従来の約10分の1になる。秘密鍵の情報テーブル作成後の初めの検証時を例にとると、ハードウェア暗号モジュールのオプション機能と本実施形態の技術を適用することで1トランザクション当たりの性能は、従来システムの性能では760msであったのに対し、18msが実現できる。   As described above, according to the present embodiment, the signature processing of the certificate verification server in the conventional system can be performed by omitting the processing portion that has been repeatedly performed in communication with the hardware cryptographic module, so that the processing time can be reduced. Significant reduction can be achieved. Compared with the processing mode in the prior art, the signature processing time in the present embodiment is about 1/10 of the conventional processing mode. Taking the initial verification after the creation of the private key information table as an example, the performance per transaction is 760 ms in the performance of the conventional system by applying the optional function of the hardware cryptographic module and the technology of this embodiment. In contrast, 18 ms can be realized.

したがって、多数の証明書検証サーバの秘密鍵をハードウェア暗号モジュールに保管する場合にも、証明書検証処理の性能低下を防止し、所定のレスポンス性能を保証することができる。   Therefore, even when the secret keys of a large number of certificate verification servers are stored in the hardware cryptographic module, it is possible to prevent the performance degradation of the certificate verification process and to guarantee a predetermined response performance.

以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。   As mentioned above, although embodiment of this invention was described concretely based on the embodiment, it is not limited to this and can be variously changed in the range which does not deviate from the summary.

本実施形態における証明書検証サーバを含むネットワーク構成図である。It is a network block diagram containing the certificate verification server in this embodiment. 本実施形態における、(a)秘密鍵情報テーブル、(b)秘密鍵テーブルの各データ構造例を示す図である。It is a figure which shows each data structure example of (a) private key information table and (b) private key table in this embodiment. 本実施形態の証明書検証方法の処理手順例1を示す図である。It is a figure which shows process sequence example 1 of the certificate verification method of this embodiment. 本実施形態の証明書検証方法の処理手順例2を示す図である。It is a figure which shows process sequence example 2 of the certificate verification method of this embodiment. 本実施形態の証明書検証方法の処理手順例3を示す図である。It is a figure which shows process sequence example 3 of the certificate verification method of this embodiment. 本実施形態の証明書検証方法の処理手順例4を示す図である。It is a figure which shows process sequence example 4 of the certificate verification method of this embodiment. 本実施形態の証明書検証方法の処理手順例5を示す図である。It is a figure which shows the process sequence example 5 of the certificate verification method of this embodiment. クライアントから証明書検証要求があった際の証明書検証サーバとハードウェア暗号モジュール間の処理手順例を示す図である。It is a figure which shows the example of a process sequence between a certificate verification server and a hardware encryption module at the time of a certificate verification request | requirement from a client.

符号の説明Explanation of symbols

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 秘密鍵テーブル
1 Client 100 Certificate verification server 101, 201 Storage device 102, 202 Program 103, 203 Memory 104, 204 CPU
105, 205 Input interface 106, 206 Output interface 107, 207 Communication means 110 Verification unit 111 Identification unit 112 Signature unit 113 Key information acquisition unit 114 Private key generation / deletion instruction unit 125 Private key information table 140 Network 200 Hardware cryptographic module 210 Secret key generation unit 211 Secret key deletion unit 225 Secret key table

Claims (5)

クライアントからの証明書検証要求に応じて証明書検証と署名付与を行う証明書検証サーバであって、
当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、
秘密鍵のIDと、ハードウェア暗号モジュールで前記秘密鍵に対応付けされたハンドル値とを対応付けて格納する秘密鍵情報テーブルを格納する記憶装置と、
前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、
前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して該当ハンドル値を特定するハンドル特定処理と、
前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行う署名処理と、を実行する演算装置と、
を備える証明書検証サーバ。
A certificate verification server that performs certificate verification and signature assignment in response to a certificate verification request from a client,
A communication device that communicates with the hardware cryptographic module that stores the private key of the certificate verification server;
A storage device for storing a secret key information table for storing a secret key ID and a handle value associated with the secret key in a hardware cryptographic module;
A verification process for generating response data by verifying the certificate that is the target of the certificate verification request;
A handle specifying process for acquiring a secret key ID from the certificate that is the target of the certificate verification request, and checking the secret key ID against the secret key information table to specify a corresponding handle value;
A signature process for notifying a hardware cryptographic module of a signature request using the specified handle value as a key, obtaining a signature value from the hardware cryptographic module, and applying a signature to the response data using the signature value And an arithmetic device that executes
A certificate validation server comprising:
ハードウェア暗号モジュールに対して秘密鍵情報の検索要求を行い、ハードウェア暗号モジュールの保持する秘密鍵情報を取得し、当該秘密鍵情報の含むハンドル値と証明書検証サーバの秘密鍵のIDとを対応付けて前記秘密鍵情報テーブルに格納する鍵情報取得処理を実行することを特徴とする請求項1に記載の証明書検証サーバ。   A request for searching the private key information is made to the hardware cryptographic module, the private key information held by the hardware cryptographic module is obtained, and the handle value included in the private key information and the private key ID of the certificate verification server are obtained. The certificate verification server according to claim 1, wherein key information acquisition processing is performed in association with each other and stored in the secret key information table. 前記鍵情報取得処理は、前記証明書検証サーバの起動時、または当該証明書検証サーバ経由の指示でハードウェア暗号モジュールへ秘密鍵が追加・削除されたことを検知し、実行することを特徴とする請求項2に記載の証明書検証サーバ。   The key information acquisition process is performed by detecting that a private key has been added to or deleted from the hardware cryptographic module when the certificate verification server is started or by an instruction via the certificate verification server. The certificate verification server according to claim 2. クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うコンピュータが、
当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、ハードウェア暗号モジュールで前記秘密鍵に対応付けされたハンドル値とを対応付けて格納する秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えて、
前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成する検証処理と、
前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して該当ハンドル値を特定するハンドル特定処理と、
前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行う署名処理と、
を行うことを特徴とする証明書検証方法。
A computer that performs certificate verification and signature assignment in response to a certificate verification request from a client
A communication device that communicates with a hardware cryptographic module that stores a secret key of the certificate verification server, a secret key ID, and a handle value associated with the secret key in the hardware cryptographic module are stored in association with each other. A storage device for storing the secret key information table, and an arithmetic device;
A verification process for generating response data by verifying the certificate that is the target of the certificate verification request;
A handle specifying process for acquiring a secret key ID from the certificate that is the target of the certificate verification request, and checking the secret key ID against the secret key information table to specify a corresponding handle value;
A signature process for notifying a hardware cryptographic module of a signature request using the specified handle value as a key, obtaining a signature value from the hardware cryptographic module, and applying a signature to the response data using the signature value When,
A certificate verification method characterized by:
クライアントからの証明書検証要求に応じて証明書検証と署名付与を行うべく、当該証明書検証サーバの秘密鍵を保管するハードウェア暗号モジュールと通信する通信装置と、秘密鍵のIDと、ハードウェア暗号モジュールで前記秘密鍵に対応付けされたハンドル値とを対応付けて格納する秘密鍵情報テーブルを格納する記憶装置と、演算装置とを備えコンピュータに、
前記証明書検証要求の対象である証明書についての検証を行ってレスポンスデータを生成するステップと、
前記証明書検証要求の対象である証明書から秘密鍵のIDを取得し、この秘密鍵のIDを前記秘密鍵情報テーブルに照合して該当ハンドル値を特定するステップと、
前記特定したハンドル値をキーにした署名依頼をハードウェア暗号モジュールに通知し、当該ハードウェア暗号モジュールから署名値を取得して、この署名値を用いて前記レスポンスデータへの署名付与を行うステップと、
を実行させる証明書検証プログラム。
A communication device that communicates with a hardware cryptographic module that stores a secret key of the certificate verification server, a secret key ID, and hardware in order to perform certificate verification and signature assignment in response to a certificate verification request from a client A computer comprising a storage device for storing a secret key information table for storing a handle value associated with the secret key in an encryption module, and a computing device.
Verifying the certificate that is the subject of the certificate verification request and generating response data;
Obtaining a secret key ID from the certificate that is the subject of the certificate verification request, and checking the secret key ID against the secret key information table to identify a corresponding handle value;
A step of notifying a hardware cryptographic module of a signature request using the specified handle value as a key, obtaining a signature value from the hardware cryptographic module, and applying a signature to the response data using the signature value; ,
Certificate validation program that runs
JP2007208403A 2007-08-09 2007-08-09 Certificate verification server, certificate verification method, and certificate verification program Expired - Fee Related JP5053756B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007208403A JP5053756B2 (en) 2007-08-09 2007-08-09 Certificate verification server, certificate verification method, and certificate verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007208403A JP5053756B2 (en) 2007-08-09 2007-08-09 Certificate verification server, certificate verification method, and certificate verification program

Publications (2)

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

Family

ID=40444793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007208403A Expired - Fee Related JP5053756B2 (en) 2007-08-09 2007-08-09 Certificate verification server, certificate verification method, and certificate verification program

Country Status (1)

Country Link
JP (1) JP5053756B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837634A (en) * 2019-10-24 2020-02-25 杭州安存网络科技有限公司 Electronic signature method based on hardware encryption machine
CN113810412A (en) * 2021-09-17 2021-12-17 国家工业信息安全发展研究中心 Certificateless identification resolution identity trust control method, system and equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002139996A (en) * 2000-11-01 2002-05-17 Nippon Telegr & Teleph Corp <Ntt> Signature verification supporting device, method for confirming certificate and validity of public key, digital signature verifying method, and digital signature generating method
JP2002163395A (en) * 2000-11-27 2002-06-07 Hitachi Software Eng Co Ltd Method for supporting confirmation of electronic certificate validity and information processor used for the same
JP2002207426A (en) * 2001-01-10 2002-07-26 Sony Corp System and method for issuing public key certificate, electronic certification device, and program storage medium
JP2006270504A (en) * 2005-03-24 2006-10-05 Mitsubishi Electric Corp Verification apparatus and communications system
WO2007022039A1 (en) * 2005-08-11 2007-02-22 Microsoft Corporation Revocation information management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002139996A (en) * 2000-11-01 2002-05-17 Nippon Telegr & Teleph Corp <Ntt> Signature verification supporting device, method for confirming certificate and validity of public key, digital signature verifying method, and digital signature generating method
JP2002163395A (en) * 2000-11-27 2002-06-07 Hitachi Software Eng Co Ltd Method for supporting confirmation of electronic certificate validity and information processor used for the same
JP2002207426A (en) * 2001-01-10 2002-07-26 Sony Corp System and method for issuing public key certificate, electronic certification device, and program storage medium
JP2006270504A (en) * 2005-03-24 2006-10-05 Mitsubishi Electric Corp Verification apparatus and communications system
WO2007022039A1 (en) * 2005-08-11 2007-02-22 Microsoft Corporation Revocation information management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837634A (en) * 2019-10-24 2020-02-25 杭州安存网络科技有限公司 Electronic signature method based on hardware encryption machine
CN110837634B (en) * 2019-10-24 2023-10-27 杭州安存网络科技有限公司 Electronic signature method based on hardware encryption machine
CN113810412A (en) * 2021-09-17 2021-12-17 国家工业信息安全发展研究中心 Certificateless identification resolution identity trust control method, system and equipment

Also Published As

Publication number Publication date
JP5053756B2 (en) 2012-10-17

Similar Documents

Publication Publication Date Title
US11683187B2 (en) User authentication with self-signed certificate and identity verification and migration
US12010248B2 (en) Systems and methods for providing authentication to a plurality of devices
KR101000191B1 (en) Secure software updates
US11539690B2 (en) Authentication system, authentication method, and application providing method
CN110770695A (en) Internet of things (IOT) device management
KR20210133985A (en) Systems and methods for assuring new authenticators
US10721076B2 (en) Method, device, terminal, and server for a security check
WO2019165667A1 (en) Account migration method, apparatus, terminal device, and storage medium
US11050560B2 (en) Secure reusable access tokens
US20220029808A1 (en) System, Product and Method for Providing Secured Access to Data
US11868476B2 (en) Boot-specific key access in a virtual device platform
US11777942B2 (en) Transfer of trust between authentication devices
CN111200593A (en) Application login method and device and electronic equipment
CN109150811B (en) Method and device for realizing trusted session and computing equipment
JP2008539482A (en) Method, system, and program product for connecting client to network
JP6581611B2 (en) Authentication key sharing system and authentication key sharing method
CN115001766A (en) Efficient multi-node batch remote certification method
US8732456B2 (en) Enterprise environment disk encryption
JP5053756B2 (en) Certificate verification server, certificate verification method, and certificate verification program
JP4018450B2 (en) Document management system, document management apparatus, authentication method, computer readable program, and storage medium
US10972455B2 (en) Secure authentication in TLS sessions
JP2024510461A (en) Multi-factor authentication with connection resilience
KR102048534B1 (en) Apparatus and method of authentication
CN113987461A (en) Identity authentication method and device and electronic equipment
CN116781283A (en) Signature method and device

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