JP2014053754A - 証明書の有効性検証方法、証明書検証サーバおよびプログラム - Google Patents

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

Info

Publication number
JP2014053754A
JP2014053754A JP2012196766A JP2012196766A JP2014053754A JP 2014053754 A JP2014053754 A JP 2014053754A JP 2012196766 A JP2012196766 A JP 2012196766A JP 2012196766 A JP2012196766 A JP 2012196766A JP 2014053754 A JP2014053754 A JP 2014053754A
Authority
JP
Japan
Prior art keywords
certificate
verification server
certificate verification
signature
response
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.)
Pending
Application number
JP2012196766A
Other languages
English (en)
Inventor
Akane Suzuki
茜 鈴木
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 JP2012196766A priority Critical patent/JP2014053754A/ja
Publication of JP2014053754A publication Critical patent/JP2014053754A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】検出できない種類の暗号装置の異常を検出して、証明書の有効性検証処理の継続と正常な証明書検証応答を可能とするとと共に、検証者から依頼された有効性検証処理中に暗号装置の異常が検出された場合にも、証明書検証応答を正常に応答することを可能とする。
【解決手段】証明書検証サーバ111は、第一の暗号装置121への第一の署名生成依頼時に、第一の暗号装置121の異常を検出し、証明書検証サーバ111にて管理する暗号装置122、123の稼動状態に基づき第二の暗号装置122を選択し、第二の暗号装置122と接続されている第二の証明書検証サーバ112へ第二の署名生成依頼80を行い、第二の証明書検証サーバ112から署名値を受信し、その受信した署名値を含むレスポンスを生成し端末装置へ応答する。
【選択図】 図5

Description

本発明は、証明書の有効性を検証する技術に関する。
公開鍵認証基盤(Public Key Infrastructure;以下「PKI」という)において、電子文書などの電子データを送付する際に、対象となる電子データに、送信者の保有する秘密鍵(Private Key)を用いて電子署名(以下「署名」という)を付与し、認証局(Certification Authority;以下「CA」という)が発行する送信者の公開鍵証明書を添付する。受信者は、受信データに添付された署名と公開鍵証明書の有効性を確認することにより、送付された電子データが改ざんされていないことと、確かに送信者本人から送られた電子データであることを確認する。以下、電子データの送信者を「署名者」、電子データの受信者を「検証者」という。
公開鍵証明書の有効性の確認処理には、検証者が信頼するCAから署名者の公開鍵証明書までの証明書の繋がりを構築する処理(以下、「認証パスの構築」という)と、さらに、認証パスに含まれる全ての公開鍵証明書が有効であることを確認する処理(以下、「認証パスの検証」という)が含まれる。なお、認証パスの構築や検証は、複数の認証局が、証明書を発行し合って、相互接続する環境において、特に複雑な処理となる。
認証パスの構築や検証のモデルとして、検証者自身が公開鍵証明書の有効性を確認するエンドエンティティモデルと、検証者に代わって、CAが発行した公開鍵証明書を検証する機関(以下、「証明書検証サーバ」という)が公開鍵証明書の有効性を確認するサーバモデルがある。
エンドエンティティモデルの場合には、検証者が、認証パスの構築を実施した後に、認証パスの検証処理において、認証パスに含まれる公開鍵証明書が失効しているか否かを確認する。失効確認を行う方法の一つとして、オンラインで、認証パスに含まれる公開鍵証明書を検証する証明書検証サーバに、公開鍵証明書の状態が有効か失効であるかを問合せする方法がある。非特許文献1に、問合せやその応答に関するプロトコル、OCSP(Online Certificate Status Protocol)が開示されている。
一方、サーバモデルの場合には、オンラインで、検証者が信頼するCAの証明書検証サーバに、検証対象とする署名者の公開鍵証明書の有効性確認を依頼すると、証明書検証サーバが認証パスの構築と認証パスの検証を実施し、検証者サーバが有効性確認結果を応答する。
エンドエンティティモデルとサーバモデルのいずれの場合においても、証明書検証サーバは、オンラインで公開鍵証明書の状態の確認、あるいは、公開鍵証明書の有効性確認(以下、「公開鍵証明書の有効性検証」と総称する)を実施して検証者に応答する。その際に、確かに証明書検証サーバが応答電文を生成したことを担保するために、応答電文に、電子署名と証明書検証サーバの公開鍵証明書を添付する。より信頼性の高い証明書検証サービスを提供するために、耐タンパ性を備えた暗号演算専用の暗号装置を利用して、電子署名を生成するための秘密鍵の管理や、電子署名の演算を行っている。なお、暗号装置を利用する証明書検証サーバには、暗号装置へ、秘密鍵の管理や電子署名の演算等に関する命令を送付するためのアプリケーション・プログラム(以下、暗号装置のアプリケーション・プログラム)が、備わっている。証明書検証応答への電子署名処理や、証明書検証サーバの鍵管理処理を、実施する証明書検証サーバのアプリケーション・プログラムが、暗号装置のアプリケーション・プログラムを呼び出すことにより、証明書検証サーバが暗号装置の機能を利用することができる。
仮に、証明書検証サーバが公開鍵証明書の有効性検証中に暗号装置の障害が発生した場合には、応答電文に電子署名を付与できなくなるため、応答結果をエラーとして、検証者に返却しなければならない。そこで、証明書検証サーバといった、暗号装置を利用するサービスでは、暗号装置障害の本サービスへの影響を減らすために、暗号装置に備わる障害対策機能を活用している(例えば、非特許文献2参照)。非特許文献2によれば、クライアント端末が備える、暗号装置の監視機能が、暗号装置の電源、温度、ネットワーク等のシステム稼動状態をリモート監視し、暗号装置の障害を検出すると、この暗号装置から正常な暗号装置へと切り換えて秘密鍵の管理や、電子署名の演算を行わせることが可能である。
一方、一般的なアプリケーション・プログラムの障害対策として、特許文献1に開示される方法がある。特許文献1は、監視プログラムによって、アプリケーション・プログラムの動作状況を監視し、アプリケーション・プログラムの異常を検出する技術である。アプリケーション・プログラムの異常を検出したときに、監視プログラムによって、アプリケーション・プログラムを再起動し、さらに、異常を検出した場合には、他の計算機上で自動的に、同一のアプリケーション・プログラムを起動し、アプリケーション・プログラムの継続実行を可能とする技術である。監視方法として、アプリケーション・プログラムのプロセスが存在しているかを確認する方法や、また、アプリケーション・プログラムのAPI(Application Program Interface)を呼び出して、エラー返却するか、あるいは、リターンを返却しないかを判定する方法が記載されている。
特許文献1の技術を、暗号装置を利用する証明書検証サーバに活用した場合には、証明書検証サーバに、暗号装置のアプリケーション・プログラムのAPIを呼び出し、APIの呼出結果を確認するような暗号装置監視機能を備えることになる。その結果、非特許文献2に記載されるシステム稼動状態の監視に加えて、暗号装置の個々の機能の動作状況の監視を行うなど可能である。また、異常を検出した場合には、暗号装置の再起動を行い、それでも異常が続く場合には、暗号装置を切り替えることが可能となる。
特開2001−22709号公報
"X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP(RFC2560)",page 2"2.1 Request" "2.2 Response",[online],1999年6月、The Internet Engineering Task Force(IETF),[平成24年6月7日検索]インターネット<URL:http://ietf.org/rfc/rfc2560.txt> "Hardware Security Module Thales nShield Connect",[online],2011年7月、Thales,[平成24年6月7日検索]インターネット<URL:http://www.thales-esecurity.com/~/media/Files/Data%20Sheets/nShield%20Connect%20Datasheet.ashx>
特許文献1の技術を、暗号装置を利用する証明書検証サーバに活用した場合には、鍵が見つからない、電子署名の演算を実行できないといった暗号装置の異常を、後述する方法で検出することができる。証明書検証サーバが備える暗号装置監視機能から、暗号装置の電子署名に利用する鍵の検索機能や、電子署名の演算機能を実行するためのアプリケーション・プログラムのAPIを呼び出し、APIの呼出結果がエラーであるかどうかを確認する。しかしながら、電子署名の演算機能のAPIを呼び出して、APIの呼出結果が正常と証明書検証サーバの暗号装置監視機能に返却されながら、呼出結果に含まれる署名値が不正であるといった異常が発生することが考えられる。これは、暗号装置の署名演算機能に何らかの異常が発生したことにより、署名演算機能の処理を実行可能であっても、正しい署名値を生成できないという障害である。その場合には、特許文献1の方法だけでは、異常を検出することができない。つまり、APIの呼び出し結果のエラーを判定するだけでは、機能の処理によって生成したデータの異常を検出することができないといった問題がある。
また、証明書検証サーバが備える、暗号装置監視機能は、証明書検証サーバのアプリケーション・プログラムとは独立して、暗号装置のアプリケーション・プログラムを監視することになる。しかしながら、証明書検証サーバのアプリケーション・プログラムが、暗号装置のアプリケーション・プログラムのAPIを呼び出して、暗号装置の起動や、暗号装置の格納データ更新を行う際など、暗号装置に異常が発生しやすいタイミングが存在する。そのため、上記のタイミングに暗号装置監視機能の動作を合わせるには、証明書検証サーバのアプリケーション・プログラムと、連動し、暗号装置に異常が発生しやすい処理が実施されたときに、監視機能を実行する必要がある。
以上の様に、特許文献1の技術では、検出できない種類の異常や、検出するタイミングに課題がある。したがって、その後の証明書の有効性検証処理の継続と正常な証明書検証応答ができない。
さらに、特許文献1の技術を、暗号装置を利用する証明書検証サーバに活用した場合には、暗号装置に異常が発生すると、異常が発生した暗号装置の再起動や、また、切り替える暗号装置の起動が発生する。そのため、一時的に、暗号装置の利用が不可能になることから、証明書検証サーバが、検証者から依頼を受け、有効性検証処理を実施しているタイミングで異常が発生した場合には、証明書検証応答に対する署名を生成できずに、その依頼に対する応答をエラーとして返却しなければならない。
このように、特許文献1の技術では、検証者から依頼された証明書の有効性検証処理中に、暗号装置の障害が発生した場合には、証明書検証応答を正常に応答できないという課題がある。
本発明は、上記課題を鑑みてなされたものであり、検出できない種類の暗号装置の異常を検出して、証明書の有効性検証処理の継続と正常な証明書検証応答を可能とすると共に、検証者から依頼された有効性検証処理中に暗号装置の異常が検出された場合にも、証明書検証応答を正常に応答することを可能とする技術を提供することを目的とする。
本発明の代表的な一例は、以下の通りである。すなわち、本発明は、端末装置の証明書検証要求に応じて、任意の認証局が発行した証明書の有効性を検証する第一の証明書検証サーバにおける証明書の有効性検証方法である。前記第一の証明書検証サーバは、複数の他の証明書検証サーバと接続されており、前記第一の証明書検証サーバは、証明書検証サーバ毎に、該証明書検証サーバの依頼に応じて、前記証明書に対する署名を生成する暗号装置と、該暗号装置の稼動状態とを関連付けて記憶する記憶部を具備する。前記第一の証明書検証サーバにより、第一の暗号装置への第一の署名生成依頼時に、前記第一の暗号装置の異常を検出し、前記暗号装置の稼動状態に基づき第二の暗号装置を選択し、前記第二の暗号装置と接続されている第二の証明書検証サーバへ第二の署名生成依頼を行い、前記第二の証明書検証サーバから署名値を受信し、前記受信した署名値を含むレスポンスを生成し前記端末装置へ応答する。
本発明によれば、検出できない種類の暗号装置の異常を検出して、証明書の有効性検証処理の継続と正常な証明書検証応答を可能とすると共に、検証者から依頼された有効性検証処理中に暗号装置の異常が検出された場合にも、証明書の検証応答を正常に応答することを可能とする。
本発明の実施形態における検証システムの構成を示す図である。 図3に示す証明書検証サーバ11および端末装置13の各々のハードウェア構成例を示す図である。 証明書検証サーバ11の構成を示す図である。 暗号装置12の障害を検出する際の処理フローを示す図である。 証明書検証サーバ11間で、レスポンス署名生成を連携する際のメッセージフローを示す図である。 証明書検証サーバ11間で、暗号装置12の障害発生情報を連携する際のメッセージフローを示す図である。 証明書検証サーバ11間で、暗号装置12の障害復旧情報を連携する際のメッセージフローを示す図である。 レスポンス署名連携依頼電文80の設定項目を示す図である。 レスポンス署名連携応答電文90の設定項目を示す図である。 暗号装置管理テーブル100の設定項目を示す図である。 暗号装置監視部設定ファイル110の設定項目を示す図である。 レスポンス生成時の障害検出処理のフローチャートである。 監視時の障害検出処理のフローチャートである。 暗号装置管理部35による署名処理のフローチャートである。 暗号装置管理部35によるリトライ処理のフローチャートである。 暗号装置管理部35によるレスポンス署名連携依頼処理のフローチャートである。 暗号装置管理部35によるレスポンス署名連携応答処理のフローチャートである。
以下に、本発明の第一の実施形態について、図1〜図17を用いて説明する。まずは、図1は、本発明の実施の第一の実施形態である検証システムの構成を示す図である。
本実施形態では、公開鍵証明書の有効性を検証する複数の証明書検証サーバ証明書検証サーバ111〜証明書検証サーバ11l(「証明書検証サーバ11」と総称する)と、鍵管理や暗号演算を行う複数の暗号装置121〜暗号装置12m(「暗号装置12」と総称する)と、電子データの送受信を行う複数の端末装置131〜端末装置13n(「端末装置13」と総称する)と、それぞれを接続するインターネット等のネットワーク14からなる。なお、図1では、証明書検証サーバ11と暗号装置12が、1対1の構成で接続されているが、構成が限定されるものではない。証明書検証サーバ11と暗号装置12が、多対多の接続構成であっても良い。
図2は、証明書検証サーバ11と端末装置13の各々のハードウェア構成例を示す図である。証明書検証サーバ11および端末装置13は、各種処理や演算、装置全体の制御等を行うCPU(Central Processing Unit)21と、メモリ22と、各種プログラム及びデータを記憶するハードディスク等の外部記憶装置23と、ネットワーク14を介して他装置と通信を行うための通信装置24と、キーボードやボタン等の入力装置25と、モニタやプリンタ等の出力装置26と、CD−ROMやUSB等の可搬性を有する記憶媒体28から情報を読み取る読取装置27と、これらの各装置間のデータ送受を行う内部通信線(例えば、BUS)20と、を備えた、一般的なコンピュータ(電子計算機)である。CPU21は、外部記憶装置23から各種プログラムをメモリ22にロードし、実行する。各種プログラムは、予め外部記憶装置23に格納されていても良いし、電子計算機が利用可能な可搬性を有する記憶媒体28に格納されており読取装置27を介して必要に応じて読み出されても良いし、あるいは、電子計算機が利用可能な通信媒体であるネットワークまたはネットワーク上を伝搬する搬送波を利用する通信装置24と接続された他の装置から必要に応じてダウンロードされて外部記憶装置23に格納されるものであっても良い。
図3は、証明書検証サーバ11の構成を示す図である。証明書検証サーバ11は、処理部30aと、記憶部30bと、ネットワーク14を介して他の装置と通信するための通信部30cと、各種証明書等の入出力や、証明書検証サーバ11の管理者からの指示を受け付ける入出力部30dとを有する。
処理部30aは、制御部31と、検証部32と、レスポンス生成部33と、暗号装置監視部34と、暗号装置管理部35と、暗号装置アクセス部36と、管理部37とを有する。
制御部31は、端末装置13から、通信部30cを介して、証明書検証要求(以下、「リクエスト」という)を受付けると、リクエストから、検証者が信頼するCAの情報や、検証対象とする公開鍵証明書を抽出し、さらに、検証部32に、有効性検証処理を命令する。また、検証部32の処理結果に対して、レスポンス生成部33に証明書検証応答(以下、「レスポンス」という)の生成処理を命令する。さらに、通信部30cを介して、レスポンス生成部33が生成したレスポンスを、端末装置13へ応答する。
検証部32は、制御部31から、有効性検証処理の命令を受けると、検証対象証明書に加えて、認証局の公開鍵証明書や、認証局が発行する失効情報を用いて、有効性検証処理を行い、その結果を制御部31に返却する。なお、有効性検証処理で、必要となる、公開鍵証明書や、失効情報は、記憶部30bに格納されているデータを用いても良いし、該当する認証局から、ネットワーク14を介して、問い合わせて、取得しても良い。
レスポンス生成部33は、制御部31から、レスポンス生成処理の命令を受けると、検証部32が生成した有効性検証結果に、証明書検証サーバ11の証明書や、暗号装置12が生成した署名を付与して、レスポンスを生成する。さらに、生成したレスポンスを、制御部31に返却する。なお、レスポンス生成部33は、有効性検証結果に対する署名を、暗号装置管理部35および暗号装置アクセス部36を介して、暗号装置12が管理する証明書検証サーバ11の秘密鍵での署名生成を命令することによって、取得する。
暗号装置監視部34は、予め、管理者によって設定された間隔で、あるいは、管理部37からのイベント通知を受けたタイミングで、暗号装置管理部35および暗号装置アクセス部36を介して、暗号装置12の稼動状態を監視する。なお、稼動状態の確認とは、暗号装置12が管理する証明書検証サーバ11の全ての秘密鍵で、署名生成を命令して、正常に応答されることを確認することである。
暗号装置管理部35は、レスポンス生成部33および暗号装置監視部34からの署名生成依頼を、暗号装置アクセス部36へ中継する署名処理中継機能351と、暗号装置アクセス部36から返却された署名値を検証する署名値検証機能352と、暗号装置12の異常時に他の証明書検証サーバ11と連携する暗号装置連携機能353とを有する。
署名処理中継機能351は、レスポンス生成部33と暗号装置監視部34からの署名生成依頼を、暗号装置アクセス部36へ中継する。また、レスポンス生成部33からの署名生成依頼処理において、暗号装置アクセス部36から得られた結果が異常である場合、また、署名値検証機能352から得られた署名検証結果が不正である場合には、暗号装置連携機能353に、連携を依頼する。なお、他の証明書検証サーバ11に接続された暗号装置12に異常が発生した場合には、暗号装置連携機能353からの依頼を受けて、同様に、暗号装置アクセス部36へ署名生成依頼を中継する。
署名値検証機能352は、署名処理中継機能351が暗号装置12から得た署名値を証明書保持部39に保持されている、証明書検証サーバ11の証明書を用いて、検証し、その結果を、署名処理中継機能351に返却する。
暗号装置連携機能353は、自身の証明書検証サーバ11に接続された暗号装置12が異常である場合には、設定情報保持部38に保持されている、暗号装置管理テーブル100を参照し、稼動状態が正常な暗号装置12と接続する証明書検証サーバ11に、レスポンス署名の連携を依頼する。また、他の証明書検証サーバ11に、暗号装置12の異常を通知する。一方、他の証明書検証サーバ11から、レスポンス署名の連携依頼を受けた場合には、自身の証明書検証サーバ11に接続された暗号装置12でレスポンス署名を生成するために、署名処理中継機能351へ署名生成を依頼することもできる。
暗号装置アクセス部36は、暗号装置管理部35から中継された署名生成依頼を、暗号装置12が処理可能なコマンドに変換して、暗号装置12へアクセスし、処理結果を得る。
管理部37は、管理者による入力を契機に、証明書検証サーバ11の起動/停止情報や各種設定情報の変更を行う。例えば、起動/停止機能371は、証明書検証サーバ11の制御部31、暗号装置監視部34の機能の起動/停止を実施する。また、鍵管理機能372は、暗号装置12で管理している、鍵情報の変更を行う。証明書検証サーバ11の鍵の有効期間が限定され、定期的に更新を行う必要がある場合には、鍵情報の変更を行う必要がある。
記憶部30bは、証明書検証サーバ11の各種設定を保持する設定情報保持部38と、証明書検証サーバ11の証明書を保持する証明書保持部39とを有する。例えば、設定情報保持部38には、各証明書検証サーバ11が接続する暗号装置12の稼動状態を管理するための暗号装置管理テーブル100や、暗号装置監視部34が、暗号装置12の稼動状態を監視する際に利用する、設定情報暗号装置監視設定ファイル110が記憶されている。設定情報保持部38に格納される設定情報は、入出力部30dを介して管理者によって、編集されても良いし、暗号装置管理部35や管理部37によって、編集されても良い。また、その他に、記憶部30bには、認証局の公開鍵証明書、認証パス、失効情報などのデータが、処理部aによって、記憶されるものとする。
図2と図3の構成要素を関連付けると、処理部30aは、CPU21の処理プロセスとして実現され、記憶部30bは、CPU21がメモリ22や外部記憶装置23を利用することにより実現される。また、通信部30cは、CPU21が通信装置24を利用することにより実現され、入出力部30dは、CPU21が入力装置25や出力装置26や読取装置27を利用することにより実現される。
次に図4を用いて、証明書検証サーバ11が、暗号装置12の障害を検出する際の、処理フローを説明する。
証明書検証サーバ11の暗号装置管理部35は、2つのタイミングで、暗号装置12の障害を検出する。
1つ目は、端末装置11から受付けたリクエストに対するレスポンス生成中である。具体的には、証明書検証サーバ11のレスポンス生成部33が、制御部31が端末装置13から受付けた検証要求に対して、有効性確認結果と証明書と署名を含むレスポンスの生成を行うために、暗号装置管理部35へレスポンス署名を依頼するタイミングである。
また、2つ目は、暗号装置監視部34による暗号装置12の監視処理中である。具体的には、暗号装置監視部34が、管理部37の起動/停止機能371から制御部31や暗号装置監視部34の起動/停止情報や、鍵管理機能372から鍵更新情報など、暗号装置12に障害が発生しやすいイベントに関する通知を受けた時や、暗号装置監視設定ファイル110で設定した間隔で作動する、定期タイマー通知を受けた時である。前記のタイミングで、暗号装置12の稼働状態の確認を目的に、暗号装置管理部35へ署名を依頼する。
1つ目および2つ目のタイミングで、暗号装置管理部35は、レスポンス生成部33および暗号装置監視部34からの署名依頼を受けて、暗号装置アクセス部36を介して、暗号装置12へアクセスし、暗号装置アクセス部36からの結果を判定して、暗号装置12に異常が起きているかを検出する。具体的な検出方法については、図12、図13、図14、図15に記述する。
次に図5を用いて、証明書検証サーバ11の暗号装置管理部35間で、レスポンス署名を連携する時のメッセージフローを説明する。
図4で示した、1つ目のタイミングである、レスポンス生成時に、暗号装置12の障害が発生した場合には、端末装置13に、検証応答をエラーで返却することを防ぐために、他の証明書検証サーバ11の暗号装置管理部35に、レスポンス署名の処理を依頼する。
例えば、図5に示すように、証明書検証サーバ111に接続された暗号装置121で障害が発生し、証明書検証サーバ111の暗号装置管理部35でその障害が検出されたものとし、また、証明書検証サーバ112に接続された暗号装置122で障害が発生したが、証明書検証サーバ112の暗号装置管理部35ではその障害が検出されていないものと想定する。一方、証明書検証サーバ113に接続された暗号装置123は、正常に稼動しているものと想定する。
上述した想定において、レスポンス署名生成時に障害を検出した証明書検証サーバ111の暗号装置管理部35は、証明書検証サーバ112にレスポンス署名連携依頼電文80を送付する。レスポンス署名連携依頼電文80を受信した、証明書検証サーバ112の暗号装置管理部35は、暗号装置122にアクセスして、レスポンス署名の生成を試みる。その際に障害が発生していることを検出する。レスポンス署名の生成に失敗したことから、証明書検証サーバ112の暗号装置管理部35は、証明書検証サーバ111の暗号装置管理部35から受信したレスポンス署名連携依頼電文80を、証明書検証サーバ113 の暗号装置管理部35に中継する。証明書検証サーバ113の暗号装置管理部35は正常に、レスポンス署名を生成し、最初のレスポンス署名連携依頼電文80の送信元である、証明書検証サーバ111の暗号装置管理部35にレスポンス署名連携応答電文90を送信する。
このように、証明書検証サーバ11間で連携して、暗号装置12の障害対策を実施し、暗号装置12の障害発生時の検証応答エラーを防ぐ。
なお、レスポンス署名連携依頼電文80の詳細に関しては、図8に、レスポンス署名連携応答電文90の詳細に関しては、図9に、記述する。また、証明書検証サーバ11の暗号装置管理部35が、設定情報保持部38に記憶された暗号装置管理テーブル100に基づいて、レスポンス署名処理を連携する証明書検証サーバ11を選択する詳細な処理フローについては、図16、図17に記述する。
次に、図6を用いて、図4で示した、1つ目および2つ目のタイミングで、証明書検証サーバ11の暗号装置管理部35が暗号装置12の障害を検出した場合に、証明書検証サーバ11の暗号装置管理部35間で障害発生情報を連携するためのメッセージフローを示す。
例えば、図6に示すように、証明書検証サーバ111に接続された暗号装置121で障害が発生し、証明書検証サーバ111の暗号装置管理部35でその障害が検出されたものと想定する。
署名生成時に障害を検出した証明書検証サーバ111の暗号装置管理部35は、証明書検証サーバ111の管理部37に障害発生警報依頼を送信し、証明書検証サーバ111の管理者に、検証サービスを停止する必要があることを促す。さらに、暗号装置管理部35は、暗号装置管理テーブル100を編集して、暗号装置121の稼動状態を異常に変更する。また、暗号装置管理テーブル100の証明書検証サーバ名101に設定された証明書検証サーバから自身を抜いた、証明書検証サーバ112から証明書検証サーバ11nに、暗号装置121の障害発生情報通知を送信する。障害発生情報通知を受信した、証明書検証サーバ112から証明書検証サーバ11nは、それぞれの暗号装置管理テーブル100を編集して、暗号装置121の稼動状態を異常に変更する。
さらに、図7を用いて、証明書検証サーバ11の暗号装置管理部35が障害を検出後、障害が復旧した場合に、証明書検証サーバ11の暗号装置管理部35間で障害復旧情報を連携するためのメッセージフローを説明する。
証明書検証サーバ111では、暗号装置121で発生した障害が、暗号装置121の部品の交換や、暗号装置121の交換など、管理者による作業によって、復旧したものと想定する。
証明書検証サーバ111の管理者による入力を契機に、管理部37は、暗号装置管理部35へ障害復旧通知依頼を送信する。障害復旧通知依頼を受けた暗号装置管理部35は、暗号装置管理テーブル100を編集して、暗号装置121の稼動状態を正常に変更する。また、暗号装置管理テーブル100の証明書検証サーバ名101に設定された証明書検証サーバから自身を抜いた、証明書検証サーバ112から証明書検証サーバ11nに、暗号装置121の障害復旧情報通知を送信する。障害復旧情報通知を受信した、証明書検証サーバ112から証明書検証サーバ11nは、それぞれの暗号装置管理テーブル100を編集して、暗号装置121の稼動状態を正常に変更する。
次に、図8、図9を用いて、証明書検証サーバ11の暗号装置管理部35間で送受信される、レスポンス署名連携依頼電文80とレスポンス署名連携応答電文90の設定項目ついて述べる。
図8に示すレスポンス署名連携依頼電文80は、証明書検証サーバ11が、他の証明書検証サーバ11にレスポンス署名を依頼する際に、暗号装置管理部35の暗号装置連携機能353によって、生成される。また、レスポンス署名連携依頼電文80は、宛先81、中継情報82、送信元83、鍵情報84、署名アルゴリズム85、署名対象データ86から構成されている。それぞれに対して、フィールド名、設定値、必須の項目が存在する。
宛先81には、送信元あるいは送信元のレスポンス署名連携依頼電文80を中継する証明書検証サーバ11がレスポンス署名を依頼する、証明書検証サーバ11のIPアドレス/ホスト名が設定される。例えば、図5で示した証明書検証サーバ112から証明書検証サーバ113へ送信されるレスポンス署名連携依頼電文80の宛先81には、証明書検証サーバ113のホスト名であるcvs11-3が設定される。
中継情報82には、送信元のレスポンス署名連携依頼電文80を中継した証明書検証サーバ11のIPアドレス/ホスト名は設定される。例えば、図5で示した証明書検証サーバ112から証明書検証サーバ113へ送信されるレスポンス署名連携依頼電文80の中継情報82には、証明書検証サーバ112のホスト名であるcvs11-2が設定される。なお、中継する証明書検証サーバ11が複数存在する場合には、中継情報82には複数の値が設定される。
送信元83には、最初にレスポンス署名連携依頼電文80を送信する証明書検証サーバ11のIPアドレス/ホスト名が設定される。例えば、図5で示した証明書検証サーバ112から証明書検証サーバ113へ送信されるレスポンス署名連携依頼電文80の中継情報82には、証明書検証サーバ111のホスト名であるcvs11-1が設定される。
また、暗号装置管理部35は、宛先81、中継情報82、および送信元83に設定するための情報を、暗号装置管理テーブル100の証明書検証サーバのIPアドレス/ホスト名102の項目から取得する。
続けて、鍵情報84には、署名演算で指定する秘密鍵の鍵ID(IDentifier)が、署名アルゴリズム85には、署名演算で指定する署名アルゴリズムのOID(Object IDentifier)が、署名対象データ86には、送信元の証明書検証サーバが生成したレスポンスデータが設定される。
鍵情報84、署名アルゴリズム85、署名対象データ86の設定値に関して、最初に生成されるレスポンス署名連携依頼電文80であれば、暗号装置管理部35は、送信元の証明書検証サーバ11のレスポンス生成部33が指定した値を設定する。また、中継する証明書検証サーバ11が生成するレスポンス署名連携依頼電文80であれば、中継する証明書検証サーバ11に送信された、1つ前のレスポンス署名連携依頼電文80に設定された値と同一の値を設定する。
なお、図1で構成する、複数の暗号装置12には、同一の鍵IDが割り振られた秘密鍵が格納されていることを想定する。
図9に示すレスポンス署名連携応答電文90は、証明書検証サーバ11が、レスポンス署名連携依頼電文80の送信元83に記載された証明書検証サーバ11に対して、レスポンス署名を応答する際に、暗号装置管理部35の暗号装置連携機能353によって、生成される。また、宛先91、中継情報92、送信元93、結果コード94、署名値95、証明書96から構成されている。それぞれに対して、フィールド名、設定値、必須の項目が存在する。
宛先91には、レスポンス署名連携依頼電文80の送信元に設定された証明書検証サーバ11のIPアドレス/ホスト名が設定される。例えば、図5で示した証明書検証サーバ113から証明書検証サーバ111へ送信されるレスポンス署名連携応答電文90の宛先91には、証明書検証サーバ111のホスト名であるcvs11-1が設定される。
中継情報92には、レスポンス署名連携依頼電文80の中継情報に設定された証明書検証サーバ11のIPアドレス/ホスト名が設定される。例えば、図5で示した証明書検証サーバ113から証明書検証サーバ111へ送信されるレスポンス署名連携応答電文90の中継情報92には、証明書検証サーバ112のホスト名であるcvs11-2が設定される。なお、中継する証明書検証サーバ11が複数存在する場合には、中継情報92には複数の値が設定される。
送信元93には、レスポンス署名処理を実行してレスポンス署名連携応答電文90を送信する証明書検証サーバ11のIPアドレス/ホスト名が設定される。例えば、図5で示した証明書検証サーバ113から証明書検証サーバ111へ送信されるレスポンス署名連携応答電文90の中送信元93には、証明書検証サーバ113のホスト名であるcvs11-3が設定される。
暗号装置管理部35は、宛先91、中継情報92、および送信元93に設定するための情報を、暗号装置管理テーブル100の証明書検証サーバのIPアドレス/ホスト名102の項目から取得する。
続けて、結果コード94には、レスポンス署名処理の結果コードが記載される。レスポンス署名処理が正常に終了した場合には「0」を、レスポンス署名処理に失敗し、レスポンス署名を連携可能な証明書検証サーバ11が存在しないときなど、異常に終了した場合には「1」を設定する。
署名値95には、連携した暗号装置12によって生成されたレスポンス署名値が記載される。なお、結果コード94の設定値が「1」の場合には、署名値95の設定値は、省略される。
証明書96には、レスポンス署名に利用した秘密鍵に対応する公開鍵証明書のデータが設定される。暗号装置管理部35は、証明書保持部39から、レスポンス署名に利用した秘密鍵に対応する公開鍵証明書を取得する。なお、結果コード94の設定値が「1」の場合には、証明書96の設定値は、省略される。
次には、図10を用いて、レスポンス署名を連携する証明書検証サーバ11の情報や、証明書検証サーバ11に接続する暗号装置12の稼動情報を管理するための暗号装置管理テーブル100を説明する。
暗号装置管理テーブル100は、入出力部30dを介して管理者によって、編集されても良いし、また、暗号装置管理部35や管理部37によって、編集されても良い。
証明書検証サーバ名101の列には、図1の検証システムを構成する証明書検証サーバ11を識別するための名前が記載される。なお、自身の証明書検証サーバ11に関しては、証明書検証サーバ名101の列の1行目に記載したり、フラグを記載したりするなど、自身の証明書検証サーバ11であることを明確にする。
証明書検証サーバのIPアドレス/ホスト名102の列には、証明書検証サーバ名101の列に記載した証明書検証サーバ11に対応するIPアドレス/ホスト名が記載される。
暗号装置名103の列には、証明書検証サーバ名101の列に記載した証明書検証サーバ11に接続された暗号装置12を識別するための名前が記載される。一つの証明書検証サーバ11に対して、複数の暗号装置12が接続されていた場合には、該当する暗号装置名103の列に、複数の値が設定される。
稼動状態104の列には、暗号装置名103の列に記載した、暗号装置12の稼動状態(正常、あるいは、異常)が記載される。
次に、図11を用いて、暗号装置監視部34による暗号装置12の監視や、暗号装置管理部35による暗号装置12の障害検出を実施するために必要な情報が記載された暗号装置監視設定ファイル110を説明する。
暗号装置監視設定ファイル110は、入出力部30dを介して管理者によって、編集されても良い、管理部37によって、編集されても良い。
間隔111には、暗号装置監視部34が暗号装置を監視する間隔が設定される。設定された間隔で、管理部37から暗号装置監視部34へ定期タイマーが通知され、暗号装置監視部34を実行する。
API112には、監視対象となる、暗号装置12のAPI(Application Program Interface)が設定される。例えば、暗号装置12へのアクセスを開始するための初期処理、暗号装置12が管理する鍵を検索するための鍵検索処理、指定した秘密鍵で署名演算を行うための署名処理、暗号装置12へのアクセスを終了するための終了処理、に関するAPIが設定される。なお、設定値は、署名生成に必要なAPIに限定されず、暗号装置12が装備する機能の中から、管理者が監視する必要があると判断した機能を選択して、API112に設定する。
鍵情報113には、暗号装置12が管理する秘密鍵の鍵IDが設定される。
署名値検証ライブラリ114には、暗号装置管理部35が暗号装置アクセス部36から受け取った署名値を検証するために必要なライブラリのファイルパスが設定される。
次に、図12、図13、図14、図15、図16、図17を用いて、暗号装置12の障害検出およびその対策を行う処理について説明する。
図12は、暗号装置管理部35が、レスポンス生成部33から依頼されたレスポンス署名の生成中に、暗号装置12の障害検出を実施する際の処理を示す。
レスポンス生成部33は、制御部31からレスポンス生成依頼を受信すると(ステップS1201)、検証部32が生成した有効性検証結果を含むレスポンスデータを生成する(ステップS1202)。さらに、レスポンス生成部33は、レスポンスデータに対するレスポンス署名依頼を暗号装置管理部35へ送信する(ステップS1203)。レスポンス署名依頼の中には、署名対象であるレスポンスデータと、署名に利用する秘密鍵の鍵IDと、署名アルゴリズムを含む。
暗号装置管理部35の署名処理中継機能351は、レスポンス署名依頼を受信すると(ステップS1204)、レスポンス署名を生成するための処理(AからB)を実行する。なお、詳細については、図14で述べる。
AからBの処理の結果、レスポンス署名に失敗した場合には(ステップS1205でNo)、署名処理中継機能351は、暗号装置連携機能353へ暗号装置連携依頼を、送信する(ステップS1206)。なお、暗号装置連携依頼には、ステップS1203のレスポンス署名依頼と同様の内容を含む。暗号装置連携機能353は、暗号装置連携依頼を受信すると(ステップS1207)、連携するための処理(CからD)を実行する。なお、詳細については、図16および図17で述べる。
暗号装置連携機能353は、CからDの処理の結果を、暗号装置連携応答として、署名処理中継機能351に送信する(ステップS1208)。署名処理中継機能351は、暗号装置連携応答を受信して内容を解析する(ステップS1209)。そして、暗号装置連携に成功した場合(ステップS1210でYes)、署名処理中継機能351は、ステップS1212へ進む。失敗した場合(ステップS1210でNo)には、署名処理中継機能351は、エラーメッセージを作成する(ステップS1211)。自身の証明書検証サーバ11に接続する暗号装置12あるいは、連携した暗号装置12によって、レスポンス署名生成に成功した場合(ステップS1205でYes、およびステップS1210でYes)には、署名処理中継機能351は、暗号装置連携応答から、レスポンス署名値と証明書を取得する(ステップS1212)。署名処理中継機能351は、ステップS1211やステップS1212で生成したメッセージをレスポンス署名応答として、レスポンス生成部33へ送信する(ステップS1213)。レスポンス生成部33は、レスポンス署名応答を受信し、処理を終了する(ステップS1214)。
図13は、暗号装置監視部34が、暗号装置12の監視処理中に暗号装置12の障害検出を実施する際の処理を示す。
暗号装置監視部34は、前回暗号装置監視部34が暗号装置12の監視を実行した時刻から、暗号装置監視設定ファイル110に設定した間隔111の時間が経過した場合あるいは、管理部37より、起動/停止や鍵情報変更等のイベントの通知を受信した場合(ステップS1301でYes)には、ステップS1302以降の処理を実施する。設定間隔の時間を経過していない場合あるいは、イベント通知を受信していない場合(ステップS1301でNo)には、暗号装置監視部34は、待機する。
監視処理の最初に、暗号装置監視部34は、暗号装置12へアクセスするための初期処理を行う(ステップS1302)。具体的には、図15で示すステップS1505からステップS1508までの処理と同一である。さらに、暗号装置監視部34は、暗号装置監視設定ファイル110の鍵情報113から、1つ目の秘密鍵の情報を取得し(ステップS1303)、ステップS1303で選択した秘密鍵による署名依頼を暗号装置管理部35へ送信する。なお、署名対象データは、予め、暗号装置監視部34で設定しておく。
暗号装置管理部35は、暗号装置監視部34から署名依頼を受信すると(ステップS1305)、署名を生成するための処理(AからB)を実行する。なお、詳細については、図14で述べる。
AからBの処理の結果、署名生成に失敗した場合には(ステップS1306でNo)、署名処理中継機能351は、暗号装置監視部34が監視している暗号装置12に異常が発生していることを、他の証明書検証サーバ11に通知するために、署名値検証機能352へ暗号装置連携依頼を、送信する(ステップS1307)。
暗号装置連携機能353は、暗号装置連携依頼を受信すると(ステップS1308)、暗号装置管理テーブル100の証明書検証サーバ名101に記載された証明書検証サーバ11に障害発生情報通知を送信する(ステップS1309)。送信するための情報は、暗号装置管理テーブル100の証明書検証サーバ名101から取得する。このとき、暗号装置管理テーブル100の証明書検証サーバ名101から自身の証明書検証サーバ11は除外する。暗号装置連携機能353は、障害発生情報を通知した旨を暗号装置連携応答として、署名処理中継機能351に送信する(ステップS1310)。暗号装置中継機能351は暗号装置連携応答を受信し、内容を解析する(ステップS1311)。
次に、署名処理中継機能351は、ステップS1306で署名生成に成功した場合(ステップS1306でYes)は、署名生成に成功した旨を、失敗した場合には(ステップS1306でNo)署名生成に失敗した旨を暗号装置監視部34へ送信する(ステップS1312)。
暗号装置監視部34は、暗号装置管理部35から、署名応答を受信すると(ステップS1313)、内容を解析し、署名に成功しているか確認する。署名処理に成功している場合には(ステップS1314でYes)、暗号装置監視部34は、暗号装置監視設定ファイル110の鍵情報113を参照し、鍵情報112の最後の設定値に達しているか判定する。その結果、最後に達している場合(ステップS1315でYes)には、暗号装置監視部34は、ステップS1316に進む。また、署名生成に失敗している場合(ステップS1314でNo)にも、暗号装置監視部34は、ステップS1316へ進む。ステップS1316では、暗号装置監視部34は、暗号装置12へのアクセスを終了するための終了処理を実施する。具体的には、図15で示すステップS1501からステップS1504までの処理を同一である。
また、暗号装置監視設定ファイル110の鍵情報113の最後に達していない場合(ステップS1315でNo)には、暗号装置監視部34は、暗号装置監視設定ファイル110の鍵情報113の次の行の鍵情報を選択し(ステップS1317)、選択した秘密鍵による署名を依頼するため、ステップS1304へ戻る。
次に、図12や図13で省略した、署名処理中継機能351による署名処理および障害検出処理(AからB)について、図14で詳細を述べる。
署名処理中継機能351は、レスポンス生成部33や暗号装置監視部34から、署名依頼を受信する(ステップS1204およびステップS1305)と、署名依頼に指定された秘密鍵を検索するために、暗号装置アクセス部36へ、鍵検索処理を命令する(ステップS1401)。暗号装置アクセス部36は、鍵検索処理の命令を署名処理中継機能351から受けると、暗号装置12が処理可能なコマンドに変換して、暗号装置12へ鍵検索処理を命令する(ステップS1402)。さらに、暗号装置アクセス部36は、暗号装置12から得られた鍵検索処理結果を署名処理中継機能351に応答する(ステップS1403)。
署名処理中継機能351は、暗号装置アクセス部36から、鍵検索処理結果を受信すると(ステップS1404)、鍵検索処理結果に含まれるリターンコードなどを解析し、正常に処理が完了しているか、確認する。その結果、正常に完了していない場合(ステップS1405でNo)は、署名処理中継機能351は、鍵検索処理が1回目であるか判定し、1回目であれば(ステップS1406でYes)、ステップS1413へ進んで、リトライ処理を実施する。一方、すでにリトライ処理を実施している場合には(ステップS1406でNo)、署名処理中継機能351は、ステップS1417へ進む。
ステップS1405で、鍵検索処理が正常に完了している場合は(ステップS1405でYes)、署名処理中継機能351は、ステップS1401で得られた秘密鍵を利用した署名処理を命令する(ステップS1407)。ステップS1407で指定する、署名対象データや署名アルゴリズムは、ステップS1204およびステップS1305で、レスポンス生成部33や暗号装置監視部34から受信したメッセージに含まれている。
暗号装置アクセス部36は、署名処理の命令を署名処理中継機能351から受けると、暗号装置12が処理可能なコマンドに変換して、暗号装置12へ署名処理を命令する(ステップS1408)。さらに、暗号装置アクセス部36は、暗号装置12から得られた署名処理結果を署名処理中継機能351に応答する(ステップS1409)。
署名処理中継機能351は、暗号装置アクセス部36から、署名処理結果を受信すると(ステップS1410)、署名処理結果に含まれるリターンコードなどを解析し、正常に処理が完了しているか、確認する。その結果、正常に完了していない場合(ステップS1411でNo)は、 署名処理中継機能351は、署名処理が1回目であるか判定し、1回目であれば(ステップS1412でYes)、ステップS1413へ進み、リトライ処理を実施する。一方、すでにリトライ処理を実施している場合には(ステップS1412でNo)、署名処理中継機能351は、ステップS1417へ進む。
ステップS1411で、署名処理が正常に完了している場合は(ステップS1411でYes)、署名処理中継機能351は、署名値検証機能352へ、ステップS1410で得られた署名値の検証を署名値検証機能352へ依頼する(ステップS1414)。署名値検証機能352は、署名処理中継機能351から受付けた署名値を、暗号装置監視設定ファイル110の署名値検証ライブラリ114に設定された署名値検証ライブラリで検証し、その結果を署名処理中継機能351に返却する(ステップS1415)。
署名処理中継機能351は、署名値検証機能352から、署名値検証結果を受信すると、検証に成功しているか確認する。検証に成功している場合(ステップS1415でYes)には、署名処理中継機能351は、Bへ進み、ステップS1205およびステップS1306に戻る。
一方、ステップS1413のリトライ処理後も鍵検索処理や署名処理に失敗する場合(ステップS1406およびステップS1412でNo)や、署名検証に失敗する場合(ステップS1416でNo)は、署名処理中継機能351は、管理部37に暗号装置12の異常を通知する(ステップS1417)。さらに、署名処理中継機能351は、暗号装置管理テーブル100にアクセスし、異常を検出した暗号装置12に該当する暗号装置名103を検索して、稼動状態104を「異常」に変更する(ステップS1418)。
以上のように、図12、図13、図14の処理によって、暗号装置12の障害を検出することができる。
次に、図15で、図13で実施するリトライ処理(ステップS1413)について、詳細を述べる。
署名処理中継機能351は、鍵検索処理や、署名処理に失敗すると、ステップS1501からステップS1508を実施する。最初に、署名処理中継機能351は、暗号装置アクセス部36へ、暗号装置12のアクセスを終了するための終了処理命令する(ステップS1501)。
暗号装置管理部35から終了処理命令を受けた暗号装置アクセス部36は、暗号装置12が処理可能なコマンドに変換して、暗号装置12へ終了処理を命令し(ステップS1502)、その結果を暗号装置管理部35へ応答する(ステップS1503)。
暗号装置管理部35の署名処理中継機能351は、暗号装置アクセス部36から終了処理結果を受信すると、正常に処理が終了していることを確認する(ステップS1504)。正常に処理が完了している場合には、署名処理中継機能351は、暗号装置アクセス部36へ、暗号装置12のアクセスを再び開始するための初期処理命令する(ステップS1505)。
暗号装置管理部35から初期処理命令を受けた暗号装置アクセス部36は、暗号装置12が処理可能なコマンドに変換して、暗号装置12へ初期処理を命令し(ステップS1506)、その結果を暗号装置管理部35へ応答する(ステップS1507)。
暗号装置管理部35の署名処理中継機能351は、暗号装置アクセス部36から初期処理結果を受信すると、正常に処理が終了していることを確認する(ステップS1508)。
なお、図15では、正常系のみを記載している。初期処理や終了処理においても異常が発生した場合は、ステップS1417やステップS1418と同様に、管理部37へ異常を通知し、さらに、該当する暗号装置12について、暗号装置管理テーブル100の稼動状態104を、「異常」に変更する。
次に、図16、図17を用いて、レスポンス生成中に発生した暗号装置12の異常に対策するために、暗号装置連携機能353が実施する署名連携処理(CからD)について、詳細を述べる。
暗号装置連携機能353は、図12のステップS1207で署名処理中継機能351から暗号装置連携依頼を受信すると、暗号装置管理テーブル100の証明書検証サーバ名101から、自身の証明書検証サーバ11を除いた、証明書検証サーバ11を、上から順に選択する。暗号装置管理テーブル100の証明書検証サーバ名101は、優先度あるいは、証明書検証サーバ名101の名前順など、管理者の定めた基準に従って、ソートされているものとする。
次に、暗号装置連携機能353は、ステップS1601で選択した証明書検証サーバ名101の行に対応する稼動状態104の設定値を取得し、ステップS1601で選択した証明書検証サーバ11に接続された暗号装置12の稼動状態が正常であるかを判定する。その結果、正常である場合(ステップS1602でYes)には、暗号装置連携機能353は、レスポンス署名連携依頼電文80を、ネットワーク14を介して、ステップS1601で選択した証明書検証サーバ11に送信し、連携結果をレスポンス署名連携応答電文90として受信する(ステップS1604)。さらに、暗号装置連携機能353は、レスポンス署名連携応答電文90を解析して、暗号装置連携応答を作成し、図12のステップS1208へ進む。なお、レスポンス署名連携依頼電文80を受けた証明書検証サーバ11の連携処理(EからF)については、図17で詳しく述べる。
一方、ステップS1602で、選択した証明書検証サーバ名101に接続する暗号装置名103の稼動状態104が「異常」の場合(ステップS1602でNo)には、選択した証明書検証サーバ11が、証明書検証サーバ名101の最後の行でないことを確認する。最後の行でなければ(ステップS1605でNo)、暗号装置連携機能353は、ステップS1601に戻り、証明書検証サーバ名101から、次の行の証明書検証サーバ11を選択する。
最後に到達していた場合(ステップS1605でYes)には、暗号装置連携機能353は、暗号装置連携応答をエラーとして作成し、図12のステップS1208へ進む。
次に、図17を用いて、図16のレスポンス署名連携依頼電文80を受けた証明書検証サーバ11がレスポンス署名連携応答電文90を応答するまでの処理(EからF)について、詳細を述べる。なお、レスポンス署名連携依頼電文80およびレスポンス署名連携応答電文90の詳細については、図8や図9に示している。
暗号装置連携機能353は、レスポンス署名連携依頼電文80を受信すると(ステップS1701)、レスポンス署名連携依頼電文80を解析して、署名に利用する鍵情報、署名アルゴリズム、署名対象データを取得する(ステップS1702)。暗号装置連携機能353は、ステップS1702で取得した情報を含む署名依頼を、署名処理中継機能351に送信する。署名依頼を受信(ステップS1704)した署名処理中継機能351は、図14で示した署名処理(AからB)を実施し、その結果を、暗号装置連携機能353へ送信する(ステップS1705)。
暗号装置連携機能353は、署名処理中継機能351から署名応答を受信(ステップS1706)すると、署名応答を解析し、レスポンス署名処理に成功しているか判定する。その結果、成功している場合には、暗号装置連携機能353は、レスポンス署名連携応答電文90を作成し、宛先91にステップS1701で受信した送信元の情報を、送信元93に自身の証明書検証サーバ11の情報を、結果コード94に正常である「0」を、署名値95や証明書96にステップS1705から取得した情報を設定する(ステップS1708)。
失敗している場合(ステップS1707でNo)は、レスポンス署名連携依頼電文80を受信した証明書検証サーバ11においても暗号装置12に異常が発生していることから、暗号装置連携機能353は、さらに他の証明書検証サーバ11に連携を依頼する。具体的には、暗号装置連携機能353は、ステップS1601、ステップS1602と同様の処理を行い、暗号装置管理テーブル100の証明書検証サーバ名101から、稼動状態104が正常と設定されている証明書検証サーバ11を選択する(ステップS1709)。さらに、暗号装置連携機能353は、ステップS1709で選択した証明書検証サーバ11が、ステップS1701で受信したレスポンス署名連携依頼電文80の送信元と中継情報に存在していなか確認する。存在しない場合(ステップS1710)には、暗号装置連携機能353は、ステップS1701で受信したレスポンス署名連携依頼電文80の中継情報82に、自身の証明書検証サーバ11の情報を追記し、また、宛先81をステップS1709で選択した証明書検証サーバ11の情報に変更して、新たなレスポンス署名連携依頼電文80を生成する。そして、暗号装置連携機能353は、ネットワーク14を介して、レスポンス署名連携依頼電文80を、選択した証明書検証サーバ11へ送信する(ステップS1711)。
選択した証明書検証サーバ11が、ステップS1701から受信したレスポンス署名連携依頼電文80の送信元と中継情報に存在している場合(ステップS1710でYes)には、選択した証明書検証サーバ11の暗号装置12に障害が発生していることになる。そのため、ステップS1709で選択した証明書検証サーバ11が、証明書検証サーバ名101の最後の行でなければ(ステップS1712でNo)、暗号装置連携機能353は、ステップS1709へ戻り、証明書検証サーバ名101から、次の行の証明書検証サーバ11を選択する。
一方、証明書検証サーバ名101の最後の行であれば(ステップS1712でYes)、レスポンス署名を連携可能な証明書検証サーバ11が存在しないことになるので、暗号装置連携機能353は、レスポンス署名連携応答電文90を作成し、結果コード94に異常であることを示す「1」を設定する(ステップS1713)。
そして、暗号装置連携機能353は、ステップS1708やステップS1713で生成したレスポンス署名連携応答電文90を、ネットワーク14を介して、ステップS1709で選択した証明書検証サーバ11へ送信する(ステップS1714)。
以上、図16、図17の処理によって、証明書検証サーバ11がレスポンス生成中に暗号装置12の障害を検出した場合でも、他の証明書検証サーバ11の連携によって、レスポンス署名を取得し、端末装置13に、電子署名付きの検証応答を返却することが可能である。
以上、本発明の実施例を説明した。本実施例によれば、検出できない種類の暗号装置の異常を検出して、証明書の有効性検証処理の継続と正常な証明書検証応答を可能とすると共に、検証者から依頼された有効性検証処理中に暗号装置の異常が検出された場合にも、証明書の検証応答を正常に応答することを可能とする。これにより、検証者に有効性確認処理結果をエラーで返却することを防止できる。
11・・・証明書検証サーバ、12・・・暗号装置、13・・・端末装置、14・・・ネットワーク、20・・・内部通信線、21・・・CPU、22・・・メモリ、23・・・外部記憶装置、24・・・通信装置、25・・・入力装置、26・・出力装置、27・・・読取装置、28・・・可搬性を有する記憶媒体。

Claims (11)

  1. 端末装置の証明書検証要求に応じて、任意の認証局が発行した証明書の有効性を検証する第一の証明書検証サーバにおける証明書の有効性検証方法であって、
    前記第一の証明書検証サーバは、複数の他の証明書検証サーバと接続されており、前記第一の証明書検証サーバは、証明書検証サーバ毎に、該証明書検証サーバの依頼に応じて、前記証明書に対する署名を生成する暗号装置と、該暗号装置の稼動状態とを関連付けて記憶する記憶部を具備しており、
    前記第一の証明書検証サーバにより、
    第一の暗号装置への第一の署名生成依頼時に、前記第一の暗号装置の異常を検出し、
    前記暗号装置の稼動状態に基づき第二の暗号装置を選択し、
    前記第二の暗号装置と接続されている第二の証明書検証サーバへ第二の署名生成依頼を行い、
    前記第二の証明書検証サーバから署名値を受信し、
    前記受信した署名値を含むレスポンスを生成し前記端末装置へ応答する、
    ことを特徴とする証明書の有効性検証方法。
  2. 前記第一の証明書検証サーバにより、
    前記証明書検証要求に対するレスポンス生成中に前記第一の暗号装置への前記第一の署名生成依頼を行い、前記第一の暗号装置の異常を検出する、
    ことを特徴とする請求項1に記載の証明書の有効性検証方法。
  3. 前記第一の証明書検証サーバにより、
    所定のタイミングで前記第一の暗号装置を監視し、該監視とともに前記第一の暗号装置への前記第一の署名生成依頼を行い、前記第一の暗号装置の異常を検出する、
    ことを特徴とする請求項1に記載の証明書の有効性検証方法。
  4. 前記第一の証明書検証サーバにより、
    前記第一の暗号装置の異常を検出すると、警報を出力し、前記第一の暗号装置の稼動状態を異常に変更し、前記他の証明書検証サーバに前記第一の証明書検証サーバに障害が発生したことを通知する、
    ことを特徴とする請求項1に記載の証明書の有効性検証方法。
  5. 前記第一の証明書検証サーバにより、
    前記第一の暗号装置の復旧を検出すると、前記第一の暗号装置の稼動状態を正常に変更し、前記他の証明書検証サーバに前記第一の暗号装置が復旧したことを通知する、
    ことを特徴とする請求項4に記載の証明書の有効性検証方法。
  6. 端末装置の証明書検証要求に応じて、任意の認証局が発行した証明書の有効性を検証する第一の証明書検証サーバであって、
    前記第一の証明書検証サーバは、複数の他の証明書検証サーバと接続されており、
    証明書検証サーバ毎に、該証明書検証サーバの依頼に応じて、前記証明書に対する署名を生成する暗号装置と、該暗号装置の稼動状態とを関連付けて記憶する記憶部と、
    第一の暗号装置への第一の署名生成依頼時に、前記第一の暗号装置の異常を検出し、前記暗号装置の稼動状態に基づき第二の暗号装置を選択し、前記第二の暗号装置と接続されている第二の証明書検証サーバへ第二の署名生成依頼を行い、前記第二の証明書検証サーバから署名値を受信し、前記受信した署名値を含むレスポンスを生成し前記端末装置へ応答する制御部と、を有する、
    ことを特徴とする証明書検証サーバ。
  7. 前記制御部は、
    前記証明書検証要求に対するレスポンス生成中に前記第一の暗号装置への前記第一の署名生成依頼を行い、前記第一の暗号装置の異常を検出する、
    ことを特徴とする請求項6に記載の証明書検証サーバ。
  8. 前記制御部は、
    所定のタイミングで前記第一の暗号装置を監視し、該監視とともに前記第一の暗号装置への前記第一の署名生成依頼を行い、前記第一の暗号装置の異常を検出する、
    ことを特徴とする請求項6に記載の証明書検証サーバ。
  9. 前記制御部は、
    前記第一の暗号装置の異常を検出すると、警報を出力し、前記第一の暗号装置の稼動状態を異常に変更し、前記他の証明書検証サーバに前記第一の証明書検証サーバに障害が発生したことを通知する、
    ことを特徴とする請求項6に記載の証明書検証サーバ。
  10. 前記制御部は、
    前記第一の暗号装置の復旧を検出すると、前記第一の暗号装置の稼動状態を正常に変更し、前記他の証明書検証サーバに前記第一の暗号装置が復旧したことを通知する、
    ことを特徴とする請求項9に記載の証明書検証サーバ。
  11. コンピュータに、請求項1乃至請求項5の何れか1項に記載の証明書の有効性検証方法を実行させるプログラム。
JP2012196766A 2012-09-07 2012-09-07 証明書の有効性検証方法、証明書検証サーバおよびプログラム Pending JP2014053754A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012196766A JP2014053754A (ja) 2012-09-07 2012-09-07 証明書の有効性検証方法、証明書検証サーバおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012196766A JP2014053754A (ja) 2012-09-07 2012-09-07 証明書の有効性検証方法、証明書検証サーバおよびプログラム

Publications (1)

Publication Number Publication Date
JP2014053754A true JP2014053754A (ja) 2014-03-20

Family

ID=50611832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012196766A Pending JP2014053754A (ja) 2012-09-07 2012-09-07 証明書の有効性検証方法、証明書検証サーバおよびプログラム

Country Status (1)

Country Link
JP (1) JP2014053754A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111149324A (zh) * 2017-09-21 2020-05-12 Lg电子株式会社 用于管理具有链接值的数字证书的密码学方法和系统
WO2023171298A1 (ja) * 2022-03-10 2023-09-14 コベルコ建機株式会社 認証システム、認証方法、および認証プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111149324A (zh) * 2017-09-21 2020-05-12 Lg电子株式会社 用于管理具有链接值的数字证书的密码学方法和系统
CN111149324B (zh) * 2017-09-21 2023-12-29 Lg电子株式会社 用于管理具有链接值的数字证书的密码学方法和系统
WO2023171298A1 (ja) * 2022-03-10 2023-09-14 コベルコ建機株式会社 認証システム、認証方法、および認証プログラム

Similar Documents

Publication Publication Date Title
US10129427B2 (en) System for establishing communication between a plurality of terminals, method of controlling the same, and storage medium
US10708385B2 (en) Information processing apparatus, system, information processing method, and program
CN109471865A (zh) 一种离线数据管理方法、系统、服务器及存储介质
CN102082733A (zh) 一种Portal系统的接入方法和Portal系统
US20150095651A1 (en) Network system, management server system, control method, and storage medium
CN109818742B (zh) 一种设备调试方法、装置及存储介质
JP2009258917A (ja) プロキシサーバ、認証サーバおよび通信システム
KR20160143863A (ko) 기기 제어 시스템, 기기 제어 장치, 기기 제어 방법 및 컴퓨터 판독 가능한 비일시적 기록 매체
CN101682511A (zh) 用于离线装置的验证在线证书的设备和方法
CN111104282A (zh) 一种基于区块链的节点处理方法和装置
JP2014021726A (ja) 配信装置、画像形成装置、システム、制御方法およびコンピュータプログラム
JP5785875B2 (ja) 公開鍵証明書の検証方法、検証サーバ、中継サーバおよびプログラム
JP2009245268A (ja) 業務管理システム
CN113377784B (zh) 一种基于中间件的数据处理方法、系统和存储介质
JP2021106323A (ja) 異常検知システム及び異常検知方法
JP2014053754A (ja) 証明書の有効性検証方法、証明書検証サーバおよびプログラム
CN113014640A (zh) 请求处理方法、装置、电子设备及存储介质
KR20150102378A (ko) 이중화시스템에서의 마스터 선정 장치
JP2010009462A (ja) サーバクライアントシステムとそのサーバ切替方法
JP2011215688A (ja) データベースアクセスシステム及び方法
WO2014110994A1 (zh) 一种针对it系统灾难恢复的集成平台
KR20080054792A (ko) 하드웨어 보안 모듈 다중화 장치 및 그 방법
JP5152539B2 (ja) ユーザ認証システム
JP4664089B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2008310395A (ja) 情報収集システム、ログ情報収集方法、リムーバブル媒体、及びリムーバブル媒体制御プログラム