証明書の有効性確認方法、検証サーバ、プログラム及び記憶媒体
【課題】証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供する。
【解決手段】検証サーバは、証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部を有し、端末装置からの有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断し、また、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断する。
【解決手段】検証サーバは、証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部を有し、端末装置からの有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断し、また、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、公開鍵認証基盤(Public Key Infrastructure;以下、「PKI」と記述する)において、証明書の有効性を確認するのに好適な技術に関する。
【背景技術】
【0002】
政府認証基盤(GPKI)をはじめとして、電子文書の作成者を明らかにし、かつ、当該電子文書が改ざんされていないことを保証するために、公開鍵認証基盤(Public Key Infrastructure;以下、「PKI」と記載する)を利用したシステムが普及してきている。PKIを利用したシステムでは、電子文書に対して、電子署名を行う者(以下、署名者、と記載する)のみが保有する、秘密鍵(Private Key)と呼ばれる鍵によって、一定の処理手順(以下、「暗号アルゴリズム」と記載する)に従い、電子署名が施される。電子署名が施された電子文書を受信した場合には、署名者の秘密鍵とペアであり、また、他人に公開しても良い、公開鍵(Public Key)と呼ばれる鍵によって、上記電子署名を検証することで、電子文書の作成者と、当該電子文書が改ざんされていないことと、を確認する。高い信頼が要求される用途では、署名者と公開鍵の結びつきを保証するために、認証局(Certificate Authority;以下、「CA」と記載する)が、上記署名者の公開鍵証明書(以下、「証明書」と記載する)を発行する。証明書には、CAの名前、有効期限、所有者の名前、所有者の公開鍵に関する情報など、また、オプションとして、鍵使用目的、証明書ポリシなどが含まれる。証明書ポリシとは、各CAが証明書を発行する際に定める証明書の利用目的やセキュリティレベルなどを規定するものであり、証明書ポリシには、この証明書ポリシを一意に示すIDが付与されている。さらに、証明書の記載内容を保証するために、CAは、CAの秘密鍵を利用し、定められた暗号アルゴリズムに従って、該証明書に対する電子署名を生成し、証明書に付与する。証明書の記載内容は、非特許文献1の「 4. Certificate and Certificate Extensions Profile」に詳細に記載されている。
【0003】
より厳密な電子署名の検証を行うためには、CAが発行した、上記署名者の証明書に含まれている、公開鍵と呼ばれる鍵によって、当該電子署名を検証するだけではなく、上記署名者の証明書が電子署名を検証する者(以下、「検証者」と記載する)にとって利用目的等やセキュリティレベルを満足する有効な証明書であるか否か、を確認する必要がある。上記署名者の証明書が上記検証者にとって有効であるか否か、を検証するには、(1)認証パスの構築、(2)認証パスの検証、という、処理が必要である。
【0004】
(1)認証パスの構築の処理において、検証者の信頼するCA(トラストアンカ、以下、「トラストアンカ」は「TA」と記載する)から署名者の証明書までの信頼の連鎖である証明書チェーンを構築する。証明書チェーンは、複数の証明書の連なったものであり、ある証明書の主体者名が次の証明書の発行者名に一致し、また、証明書の主体者の鍵識別子が次の証明書の発行者の鍵識別子に一致している関係が、連鎖する証明書の列である。検証者は、各CAのリポジトリにアクセスして、上記の証明書チェーンを構成する証明書を取得し、上記連鎖の確認を行う。特に、認証局の運用主体が異なるような、異なるドメインのCA同士が接続したPKIモデルにおいては、CA同士がお互いに相互認証証明書と呼ばれる証明書を発行し合う。一般に、この、相互認証証明書には、異なるドメイン間で証明書ポリシなどの調整を行い相互運用するための情報が記載されていることが多い。このため、複数の異なるドメインに渡る認証パスを構築する場合、証明書チェーンに相互認証証明書が含まれることになる。認証パスを構築する方法については、非特許文献2に詳細に記載されている。
【0005】
(2)認証パスの検証の処理において、(1)の処理で構築した認証パスを構成する証明書チェーンの証明書が全て有効であることを確かめる。具体的には、CAが発行する証明書失効リスト(Certificate Revocation List;以下、「CRL」と記載する)やOCSP(Online Certificate Status Protocol)レスポンダを利用して、証明書が有効か否かを判定する。また、検証者が受け入れ可能な証明書ポリシと、署名者の証明書に含まれる証明書ポリシが一致することを確かめる。認証パスを検証する方法については、非特許文献1の「 6. Certification Path Validation」に詳細に記載されている。
【0006】
証明書の有効性を検証するモデルには、検証者自身が証明書の有効性を確認するエンドエンティティモデルと、検証者に代わってオンラインで証明書の有効性を確認する機能を提供する証明書検証サーバ(以下、「検証サーバ」と記載する)を利用する検証サーバモデルがある。検証サーバモデルの仕様は非特許文献3に記載されている。
【0007】
上記検証サーバモデルは、上記エンドエンティティモデルに比べて、次のような利点がある。まず、上記検証サーバモデルでは、上記認証パスを構築する認証パス構築機能をクライアントに実装する必要がないため、クライアントの証明書検証プログラムを小さくすることができる。また、クライアントは上記検証サーバの判定結果を信頼するため、上記検証サーバの設定を変更するだけで、システム構成の変化に柔軟に対応できる。
【0008】
証明書の有効性確認を行う毎に、検証サーバが認証パスを構築し、また、CAからCRLを取得すると、有効性確認処理にかかる時間が長くなるため、特許文献1では、検証サーバが有効性確認処理を行った上記CRLや上記認証パスを登録することにより次回からの証明書の有効性確認処理を高速化する方式が開示されている。
【0009】
一方で、電子文書に対する電子署名生成やCAによる証明書の電子署名生成において、署名者やCAは、電子署名に利用する暗号アルゴリズム、パラメータ、並びに公開鍵の鍵長に関して、複数の選択肢の中から利用するものを選択しているが、近年の暗号解読技術の進歩や電子計算機能力の向上により、一部の暗号アルゴリズム、また、鍵長の短い公開鍵は、安全性に問題があることが指摘されている。米国連邦政府の標準暗号を制定する米国立標準技術研究所では、2010年までに、米国政府での情報システムにおいて、電子署名に利用するハッシュ関数を、SHA−1からSHA-2へ移行することを強く推奨している。SHA−1の安全性に関するコメントは、非特許文献4に詳細に記載されている。
【0010】
非特許文献4のコメントを受け、各国の認証局は、現行の暗号アルゴリズムを利用している情報システムとの互換性を保ちつつ、利用者の公開鍵や、証明書の電子署名に利用する暗号アルゴリズムを、より安全性の高いものに移行することとしている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2002−72876号公報
【非特許文献】
【0012】
【非特許文献1】Internet X.509 Public Key Infrastructure, Certificate and Certificate Revocation List (CRL) Profile (RFC5280), 2008年5月, [online], [平成21年11月17日検索], インターネット<URL:http://www.ietf.org/rfc/rfc5280.txt>
【非特許文献2】Internet X.509 Public Key Infrastructure Certification Path Building (RFC4158), 「 2. Certification Path Building」, 2005年9月, [online], [平成21年11月17日検索], インターネット<URL:http://www.ietf.org/rfc/rfc4158.txt>
【非特許文献3】Delegated Path Validation and Delegated Path Discovery Protocol Requirements (RFC3379), 2002年9月, [online], [平成21年11月17日検索], インターネット<URL:http://www.ietf.org/rfc/rfc3379.txt>
【非特許文献4】NIST Comments on Cryptanalytic Attacks on SHA-1, 2006年4月, [online], [平成21年11月17日検索], インターネット<URL:http://csrc.nist.gov/groups/ST/hash/statement.html>
【発明の概要】
【発明が解決しようとする課題】
【0013】
認証局が暗号アルゴリズムを移行している時期(以下、「暗号移行期」と記載する)では、暗号移行前に現行の暗号アルゴリズムで電子署名した証明書と、暗号移行後に、より安全性の高い暗号アルゴリズムで電子署名した証明書が混在することとなる。そのため、検証者が明示的に特定の暗号アルゴリズムで電子署名した証明書を受け入れたくない場合や、現行の暗号アルゴリズムの安全性が著しく低下し、暗号アルゴリズム危殆化と判断された場合には、その暗号アルゴリズムを利用する証明書の検証を失敗とする必要がある。
【0014】
また、上記非特許文献1では、検証者が、有効性確認依頼時に、明示的に受け入れる証明書ポリシを指定することで、検証者自身が、有効性確認の制約を設ける手法が記載されている。しかし、暗号移行期では、複数の情報システムの相互運用性確保のために、暗号移行中のCAが、まだ暗号移行を行っていないCAと相互認証を行うことで、暗号強度の高い証明書ポリシを、暗号強度の低い証明書ポリシに、マッピングし、ポリシーマッピングの情報を相互認証証明書に記載する場合がある。このような場合において、暗号移行を行ったCAを信頼点とする検証者が、暗号移行を行っていないCAから発行された証明書に対して有効性確認処理を行うと、上記相互認証証明書から、暗号強度の高い証明書ポリシが暗号強度の低い証明書と同等と判断され、有効性確認処理の結果が有効となる可能性がある。検証者は、暗号強度の高い証明書ポリシを指定しても、暗号強度の低い暗号アルゴリズムで電子署名した証明書を除外することができないため、有効性確認処理結果の信頼性が失われてしまう。
【0015】
さらに、上記非特許文献1や上記特許文献1に記載の技術では、CAの電子署名が付与された証明書、CRLやOCSPレスポンスをCAから取得して、認証パスの検証を行っているが、暗号移行期に、暗号アルゴリズム危殆化が発生し、該当する暗号アルゴリズムの使用停止の通達が政府機関等から出た場合においては、認証パスの検証で次に述べる課題が発生する。
【0016】
CAが暗号移行を行う前や、暗号移行を行っている途中に、現行の暗号アルゴリズムの危殆化が発生した場合に、CAは、電子署名に利用する暗号アルゴリズムをより安全性の高いものへ移行した後、危殆化した暗号アルゴリズムを利用した証明書を失効し、さらに、新しい暗号アルゴリズムで証明書失効リストや証明書を発行する必要がある。しかし、上記は対応するのに時間を要する処置であるため、CAが迅速に対応できない可能性が高い。したがって、このような場合は、CAから提供される、危殆化した暗号アルゴリズムで電子署名された情報を、認証パスの検証で利用することになるため、有効性確認処理結果の信頼性が失われてしまう。
【0017】
本発明は上記事項に鑑みてなされたものであり、証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供することを課題とする。
【課題を解決するための手段】
【0018】
上記課題を解決するための一手段を説明する。本発明では、複数の端末装置及び複数の認証局とネットワークに接続された検証サーバにより、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する、証明書の有効性確認処理において、前記検証サーバが、以下に示す構成を有することを特徴とする。
【0019】
前記検証サーバは、前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部を有することを特徴とする。
【0020】
前記検証サーバは、前記有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断することを特徴とする。
【0021】
また、前記検証サーバは、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断することを特徴とする。
【発明の効果】
【0022】
本発明によれば、証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施形態に係る検証システムの構成を示す図である。
【図2】端末装置11の構成を示す図である。
【図3】CRLを利用して失効情報を提供するCA装置12の構成を示す図である。
【図4】OCSPレスポンダを利用して失効情報を提供するCA装置12の構成を示す図である。
【図5】検証サーバ13の構成を示す図である。
【図6】図2〜4に示す端末装置11、CA装置12、検証サーバ13の各々のハードウェア構成例を示す図である。
【図7】検証サーバ13において、設定情報保持部48に記憶されている、検証者が受け入れない暗号方式とこの暗号方式を例外的に有効とする認証局の情報を示す図である。
【図8】検証サーバ13において、設定情報保持部48に記憶されている、検証者が受け入れる暗号方式とこの暗号方式を例外的に無効とする認証局の情報を示す図である。
【図9】検証サーバ13において、設定情報保持部48に記憶されている、検証者が受け入れない証明書ポリシに関する情報を示す図である。
【図10】検証サーバ13において、証明書有効性確認処理を示すフローチャートである。
【図11】検証サーバ13において、図10の有効性確認依頼の暗号方式チェック処理を示すフローチャートである。
【図12】検証サーバ13において、図10の認証パス検証処理を示すフローチャートである。
【図13】検証サーバ13において、図7を利用した、図11及び図12の暗号方式のチェック処理を示すフローチャートである。
【図14】検証サーバ13において、図8を利用した、図11及び図12の暗号方式のチェック処理を示すフローチャートである。
【発明を実施するための形態】
【0024】
以下に、本発明の実施形態について、図面を参照して、詳細に説明する。
【0025】
図1は、本発明の実施形態に係る検証システムの構成を示す図である。
【0026】
本実施形態では、電子的に手続を行う複数の端末装置111〜端末装置11M(「端末装置11」と総称する)と、証明書発行及び失効業務を行うCA装置121〜CA装置12N(「CA装置12」と総称する)と、証明書の失効情報を提供する検証サーバ13と、それぞれを接続するインターネット等のネットワーク14からなる。
【0027】
次に、図1の検証システムを構成する各装置について説明する。
【0028】
まず、図2を用いて、端末装置11を説明する。
【0029】
端末装置11は、処理部20aと記憶部20bと、ネットワーク14を介して他装置と通信を行うための通信部20cと、端末装置11のユーザが作成した電子文書や他の端末装置11から受け取った電子文書の入出力やユーザからの指示の受付を行う入出力部20dと、を有する。
【0030】
処理部20aは、電子文書に対して署名を付与し、署名付き文書を作成する署名付き文書作成部21と、署名付き電子文書の署名及び証明書の検証を行う署名・証明書検証部22と、端末装置の各部を統括的に制御する制御部23と、を有する。
【0031】
記憶部20bは、ユーザが作成した電子文書を保持する電子文書保持部24と、署名を生成するための秘密鍵と、これと対になる公開鍵の証明書と、当該端末装置11を利用するユーザが信頼するCAのCA証明書を保持する鍵保持部25と、他の端末装置11から受け取った署名付き電子文書と証明書を保持する検証対象保持部26と、を有する。
【0032】
このような構成において、制御部23は、入出力部20dを介してユーザから、電子文書保持部24に保持してある電子文書を他のユーザに送信すべき旨の指示を受け付けると、当該電子文書を電子文書保持部24から読み出し、これを署名付き文書作成部21に渡す。署名付き文書作成部21は、鍵保持部25に保持されている秘密鍵を用いて、渡された当該電子文書に対する署名を生成する。そして、渡された電子文書に生成した署名を付与して署名付き電子文書を作成する。制御部23は、署名付き文書作成部21で作成された署名付き電子文書と、鍵保持部25に保持されている証明書とを、通信部20cを介して、ユーザから指示された送信先の端末装置11へ送信する。
【0033】
また、制御部23は、通信部20cを介して、他の端末装置11から署名付き電子文書と証明書を受け取ると、これらを関連づけて検証対象保持部26に保持させると共に、これらの検証要求を署名・証明書検証部22に通知する。
【0034】
これを受けて、署名・証明書検証部22は、検証対象保持部26に保持されている署名付き電子文書の署名を、同時に受け取った証明書を用いて検証する。そして、署名・証明書検証部22は、署名付き電子文書の署名検証に使用した当該証明書を検証対象証明書として、鍵保持部25に保持するユーザが信頼するCAのCA証明書を用いて検証する。署名・証明書検証部22は、当該検証対象証明書の検証処理において、当該検証対象証明書の署名の検証や、有効期間が切れていない事の確認や、その他制限事項の検証や、当該検証対象証明書が失効しているかどうかを確認する。
【0035】
署名・証明書検証部22は、当該検証対象証明書が失効しているかどうかの確認を行うために、検証サーバ13に対して検証要求を送信する。そして、全ての検証が成功し、かつ、検証サーバ13から当該証明書が失効されていない旨の検証結果を受信した場合に、当該検証対象証明書が有効であり、署名付き電子文書が正当なものと扱い、必要に応じて入出力部20dから署名付き文書の署名及び証明書の検証結果を出力する。
【0036】
次に、図3と図4を用いてCA装置12を説明する。CA装置12はCRLを利用して失効情報を提供する場合、図3の構成をとり、OCSPレスポンダを利用して失効情報を提供する場合、図4の構成をとる。
【0037】
CA装置12は、処理部30aと、記憶部30bと、ネットワーク14を介して他装置と通信を行うための通信部30cと、証明書等の入出力や当該CA装置の操作者からの指示の受付や処理結果の出力を行う入出力部30dと、を有する。
【0038】
処理部30aは、証明書を発行する発行部31と、発行部31が発行した証明書の管理を行う管理部32と、CA装置12の各部を統括的に制御する制御部33と、を有する。なお、図4の構成をとるCA装置12は証明書有効性確認部37も有する。
【0039】
記憶部30bは、発行部31が発行した証明書を保持する証明書データベース(DB)34と、証明書データベース34に保持されている各証明書の発行先が記載されていた発行先管理リストを保持する発行先管理リスト保持部35と、CRL保持部36と、を有する。なお、図4の構成をとるCA装置12はCRL保持部36を保持しない。
【0040】
このような構成において、制御部33は、入出力部30dあるいは通信部30cを介して証明書の発行依頼を受け付けると、その旨を発行部31に伝える。これを受けて、発行部31は、これに対する証明書を作成する。この際、CAの秘密鍵で証明書に署名をする。そして、作成した証明書を入出力部30dあるいは通信部30cを介して、郵送あるいは通信により、発行依頼元に渡す。また、この証明書を証明書データベース34に登録すると共に、その発行先(つまり発行依頼元)の情報を、発行先管理リスト保持部35に保持されている発行先管理リストに記載する。
【0041】
また、制御部33は、入出力部30dあるいは通信部30cを介して、証明書の失効依頼を受け付けると、その旨を管理部32に伝える。これを受けて、管理部32は、失効対象の証明書を証明書データベース34から削除すると共に、発行先管理リスト保持部35に保持されている当該証明書の情報に失効状態と失効理由を追記する。
【0042】
そして、図3の構成をとるCA装置12の管理部32は、失効依頼により証明書データベース34から削除した証明書のシリアルナンバーを記載した失効証明書リスト(CRL)を、定期的に作成し、これをCRL保持部36に保持させる。なお、作成したCRLには、当該CA装置が発行した証明書のうち、有効期限内にもかかわらず失効した証明書のシリアルナンバーと、当該証明書が失効した日時と、当該証明書が失効した理由がリストとして記載される。さらに、CRLには、次回のCRL作成予定時刻が記載され、当該CA装置の秘密鍵を用いて署名が付与される。
【0043】
また、図3の構成をとるCA装置12の制御部33は、通信部30cを介して、他装置からCRL取得要求を受け取ると、CRL保持部36に保持されているCRLを、通信部30cを介して、問い合わせをした他装置に送信する。
【0044】
あるいは、図4の構成をとるCA装置12の制御部33は、通信部30cを介して、他装置から証明書の失効情報を問い合わせするためのOCSPリクエストを受け取ると、証明書有効性確認部37が証明書データベース34に保持されている証明書の情報から当該証明書が有効か否かを表すOCSPレスポンスを作成し、通信部30cを介して、問い合わせをした他装置に送信する。なお、OCSPレスポンスには、当該証明書の状態が記載され、当該CA装置の秘密鍵あるいはOCSPレスポンダの秘密鍵を用いて署名が付与される。
【0045】
次に、図5を用いて、検証サーバ13を説明する。
【0046】
検証サーバ13は、処理部40aと、記憶部40bと、ネットワーク14を介して他装置と通信を行うための通信部40cと、証明書等の入出力や検証サーバ13の操作員からの指示の受付けを行う入出力部40dと、を有する。
【0047】
処理部40aは、定期自動更新部41と、証明書失効情報更新部42と、証明書更新部43と、証明書検証部44と、を有する。
【0048】
記憶部40bは、認証パス保持部45と、証明書失効情報保持部46と、証明書保持部47と、設定情報保持部48と、を有する。
【0049】
定期自動更新部41は、証明書失効情報保持部46に記憶されている証明書失効情報を定期的に更新する時間や次回更新日時に達すると証明書失効情報更新部42に通知する。ここで証明書失効情報とは、CRLとOCSPレスポンスを表す。また、証明書保持部47に記憶されている証明書を定期的に更新する時間に達すると、証明書更新部43に通知する。証明書失効情報と証明書の定期更新時間は設定情報保持部48に記憶されている。
【0050】
証明書失効情報更新部42は、定期自動更新部41から通知を受けると、当該証明書失効情報の発行元から最新の証明書失効情報を取得し、証明書失効情報保持部46に記憶されている証明書失効情報を更新する。また、証明書失効情報更新部42は、証明書更新部43からの証明書失効情報更新通知を受けて、証明書失効情報保持部46に記憶されている証明書失効情報を更新する。
【0051】
証明書更新部43は、定時自動更新部41から通知を受けると、当該証明書を発行しているCA装置12の証明書データベース34から取得する。なお、当該証明書が更新されている場合は、証明書更新部43は、証明書保持部47に記憶されている証明書を更新する。また、当該証明書の有効期間が切れている場合や失効している場合は、証明書更新部43は、証明書保持部47に記憶されている証明書を削除する。また、証明書更新部43は、証明書検証部44からの証明書更新通知を受けて、証明書保持部47に記憶されている証明書を更新し、更に証明書失効情報更新通知を証明書更新部44へ通知する。
【0052】
証明書検証部44は、通信部40cを介して、端末装置11から有効性確認依頼を受け付けると、認証パス保持部45に記憶されている認証パスや証明書失効情報保持部46に記憶されている証明書失効情報や証明書保持部47に記憶されている証明書を利用して、有効性確認対象の証明書から検証者のトラストアンカまでの認証パスを構築し、認証パス中の証明書の有効性を順に検証する。また、検証者が受け入れ可能な証明書ポリシと、署名者の証明書に含まれる証明書ポリシが一致することを認証パスの証明書を順に利用して確かめる。また、検証サーバ13の署名を付与した有効性確認結果を、通信部40cを介して、端末装置11に送付する。
【0053】
なお、図2〜図5に示す端末装置11、CA装置12、検証サーバ13の各々は、例えば、図6に示すような、CPU51と、メモリ52と、ハードディスク等の外部記憶装置53と、CD−ROM等の可搬性を有する記憶媒体59から情報を読み取る読取装置54と、ネットワーク14を介して他装置と通信を行うための通信装置55と、キーボードやマウス等の入力装置56と、モニタやプリンタ等の出力装置57と、これらの各装置間のデータ送受を行う内部通信線50とを備えた、一般的な電子計算機(コンピュータ)上に構築できる。
【0054】
そして、CPU51が外部記憶装置53からメモリ52上にロードされた所定のプログラムを実行することにより、上述の各処理部を実現できる。すなわち、通信部20c、30c、40cは、CPU51が通信装置55を利用することにより、入出力部20d、30d、40dは、CPU51が入力装置56や出力装置57や読取装置54を利用することにより、そして、記憶部20b、30b、40bは、CPU51がメモリ52や外部記憶装置53を利用することにより実現される。また、処理部20a、30a、40aは、CPU51のプロセスとして実現される。
【0055】
上記所定のプログラムは、予め外部記憶装置53に格納されていても良いし、上記電子計算機が利用可能な記憶媒体59に格納されており、読み取り装置54を介して、必要に応じて読み出され、あるいは、上記電子計算機が利用可能な通信媒体であるネットワークまたはネットワーク上を伝搬する搬送波を利用する通信装置56と接続された他の装置から、必要に応じてダウンロードされて、外部記憶装置53に導入されるものであっても良い。
【0056】
次に図8を用いて、設定情報保持部48に記憶されている、検証者が受け入れる暗号方式を設定したテーブルと、例外的に検証者が受け入れる暗号方式を無効にする認証局と暗号方式の関係を設定したテーブルについて説明する。なお、本実施形態において、暗号方式は、電子署名に利用する暗号アルゴリズム、公開鍵の鍵長、及び公開鍵のパラメータを表す。
【0057】
テーブルの行の順にフィルタ番号71の列にフィルタ番号を記載し、フィルタ番号72の列に「署名アルゴリズム」あるいは「公開鍵アルゴリズム」のどちらかを記載する。また、検証者が受け入れる暗号アルゴリズムの名称を暗号アルゴリズム73の列に記載し、さらに、その暗号アルゴリズムのOID(Object IDentifier)を暗号アルゴリズムOID74の列に記載する。フィルタ種別72が公開鍵アルゴリズムである場合、受け入れる公開鍵の鍵長を鍵長75の列に記載する。該当する暗号アルゴリズムにおいて、全ての鍵長を受け入れる場合は、鍵長75の列に何も記載しない。また、受け入れる公開鍵のパラメータをパラメータ76の列に記載し、さらにそのパラメータのOIDをパラメータOID77に記載する。該当する暗号アルゴリズムにおいて、全てのパラメータを受け入れる場合は、パラメータ76とパラメータOID77の列に何も記載しない。フィルタ種別72が署名アルゴリズムである場合、鍵長75の列、パラメータ76の列、パラメータOID77の列には何も記載しない。
【0058】
例外的に特定の暗号アルゴリズムを特定の認証局から発行された証明書に対してのみ無効とする場合は、認証局の名称を認証局名78の列に記載する。また、暗号アルゴリズムを指定するために、フィルタ番号71に記されるフィルタ番号を例外的に無効とするフィルタ番号79に記載する。例外的に検証者が受け入れる暗号方式を無効としない場合は、認証局78の列と例外的に無効とするフィルタ番号79の列に何も記載しない。
【0059】
次に図9を用いて、設定情報保持部48に記憶されている、検証者が受け入れない証明書ポリシに関する情報を設定したテーブルを説明する。
【0060】
検証者が受け入れない証明書ポリシの名称を証明書ポリシ81の列に記載し、さらに、その証明書ポリシのOIDをOID82に記載する。また、CAが公開しているCPSからCAが証明書の電子署名に利用する暗号アルゴリズムを抜粋し、暗号アルゴリズム83に記載する。
【0061】
次に図10を用いて、証明書検証部44における証明書の有効性確認処理を説明する。
【0062】
証明書検証部44は、任意の端末装置11からの証明書の有効性確認依頼を、通信部40cを介して受信する(ステップS1001)と、有効性確認依頼に含まれているEE(End Entity)証明書、トラストアンカ証明書や中間証明書の証明書の暗号方式チェックを行う(ステップS1002)。なお、本実施形態では、EE証明書は、公開鍵の利用者に発行する証明書であり、署名者が署名に利用する証明書を表している。また、トラストアンカ証明書は、検証者が信頼するルートCAの証明書を表している。また、中間証明書は、EE証明書を発行し、かつ、EEの信頼するルートCAの下位に位置するCAの証明書を表している。EE証明書、トラストアンカ証明書や中間証明書の証明書の暗号方式チェックに失敗した場合、認証パス構築(ステップS1005)並びに認証パス検証(ステップS1007)を実施する前に、証明書検証応答作成(ステップS1004)ができるため、ステップS1002により、証明書検証応答を迅速に端末装置11に送信することが可能である。図11において、有効性確認依頼の暗号方式チェック処理の詳細について述べる。有効性確認依頼の暗号方式チェックに失敗した場合(ステップS1003でNo)、証明書検証部44は、暗号方式チェックで判定したエラーコードを付与して、有効性確認結果を無効とする証明書検証応答を作成する(ステップS1004)。
【0063】
有効性確認依頼の暗号方式チェックに成功した場合(ステップS1003でYes)、証明書検証部44は、トラストアンカからEE証明書の発行者までの認証パスを構築する(ステップS1005)。
【0064】
認証パス構築に失敗した場合(ステップS1006でNo)、証明書検証部44は、認証パス構築時に判定したエラーコードを付与して、ステップS1004へ進む。
【0065】
認証パス構築に成功した場合(ステップS1006でYes)、ステップS1005で構築した認証パスの検証を行う(ステップS1007)。ステップS1007においても、暗号方式のチェックを実施することにより、認証パス中の全ての証明書の暗号方式のチェックを実施することが可能である。なお、図12において、認証パス検証処理の詳細について述べる。
【0066】
認証パス検証に失敗した場合(ステップS1008でNo)、証明書検証部44は、認証パス検証で作成したエラー通知から、EE証明書の失効や、EE証明書の署名不正などのEE証明書のエラーを原因とする認証パス検証失敗であるかどうか判断する(ステップS1009)。EE証明書のエラーが原因ではない場合(ステップS1009でNo)、同一のトラストアンカからEE証明書の発行者について、新たな認証パス構築を行うためにステップS1005に戻る。EE証明書のエラーが原因の場合(ステップS1009でYes)、ステップS1004へ進む。
【0067】
認証パス検証に成功した場合(ステップS1008でYes)、証明書検証部44は、有効性確認結果を有効とする証明書検証応答を作成する(ステップS1010)。
【0068】
次に図11を用いて、証明書検証部44における、有効性確認依頼に含まれる証明書のの暗号方式のチェックの処理(図10、ステップS1002)の詳細について述べる。
【0069】
証明書検証部44は、ステップS1001で受信したEE証明書を読み込み(ステップS2001)、EE証明書の電子署名に利用されている暗号方式のチェックを行う(ステップS2002)。EE証明書の暗号方式が有効ではないと判定した場合(ステップS2003でNo)、証明書検証部44は、有効性確認処理のエラーの原因を無効な暗号方式を含むとするエラー通知を作成する(ステップS2004)。
【0070】
EE証明書の暗号方式が有効であると判定した場合(ステップS2003でYes)、証明書検証部44は、ステップS1001で受信したトラストアンカ証明書を読み込む(ステップS2005)。次に、証明書検証部44は、トラストアンカ証明書の電子署名に利用されている暗号方式のチェックを行う(ステップS2006)。トラストアンカ証明書の暗号方式が有効ではないと判定した場合(ステップS2007でNo)、証明書検証部44は、S2004へ進む。
【0071】
トラストアンカ証明書の暗号方式が有効である場合(ステップS2007でYes)、証明書検証部44は、有効性確認依頼に中間証明書が含まれているかどうか判定する(ステップS2008)。中間証明書が含まれていない場合(ステップS2008でNo)、証明書検証部44は、有効性確認依頼の暗号方式チェックの処理を成功として終了し、図10のステップS1005へ進む。
【0072】
中間証明書が含まれている場合(ステップS2008でYes)、証明書検証部44は、ステップS1001で受信した中間証明書を読み込む(ステップS2009)。次に、証明書検証部44は、中間証明書の電子署名に利用されている暗号方式のチェックを行う(ステップS2010)。中間証明書の暗号方式が有効ではないと判定した場合(ステップS2011でNo)、証明書検証部44は、ステップS2004へ進む。
【0073】
中間証明書の暗号方式が有効であると判定した場合(ステップS2011でYes)、証明書検証部44は、有効性確認依頼の暗号方式チェックの処理を成功として終了し、図10のステップS1003へ進む。
【0074】
なお、図14において、ステップS2002、ステップS2006、ステップS2010の暗号方式チェックの処理の詳細について述べる。
【0075】
次に図12を用いて、証明書検証部44における、図10の認証パス検証処理(ステップS1007)の詳細について述べる。
【0076】
図10のステップS1005で構築した認証パスの全ての証明書(トラストアンカが発行した証明書からEE証明書の順番)の中から次の証明書を選択する(ステップS3001)。ただし、1回目は最初の証明書を選択する。
【0077】
証明書検証部44は、ステップS3001で選択した証明書、の電子署名に利用されている暗号方式のチェックを行う(ステップS3002)。選択した証明書の暗号方式が有効ではないと判定した場合(ステップS3003でNo)、証明書検証部44は、有効性確認処理のエラーの原因を無効な暗号方式を含むとするエラー通知を作成する(ステップS3004)。
【0078】
なお、図14において、ステップS3002の暗号方式チェックの処理の詳細について述べる。
【0079】
選択した証明書の暗号方式が有効であると判定した場合(ステップS3003でYes)、証明書検証部44は、選択した証明書を認証パス中の一つ前の証明書で署名検証を行う(ステップS3005)。ただし、1回目は、ステップS1001(図10)で取得したトラストアンカの証明書で署名検証を行う。
【0080】
署名検証に失敗した場合(ステップS3006でNo)、証明書検証部44は、エラーとなった証明書の種類と有効性確認処理のエラーの原因を署名不正とするエラー通知を作成する(ステップS3007)。署名検証に成功した場合(ステップS3006でYes)、証明書検証部44は、ステップS3008へ進む。
【0081】
ステップS3001で選択した証明書、の証明書失効情報(CRL、あるいは、OCSPレスポンス)が、証明書失効情報保持部46にあるか確認し、証明書失効情報保持部46にある場合、証明書検証部44は、対応する証明書失効情報を取得する。また、証明書失効情報保持部46にない場合、証明書検証部44は、証明書失効情報を提供するCAにアクセスし、最新の証明書失効情報を取得する(ステップS3008)。
【0082】
次に、証明書検証部44は、ステップS3008で取得した証明書失効情報の電子署名を、すでに認証パスの検証で有効と判定された証明書を利用して検証する(ステップS3009)。証明書失効情報が有効ではないと判定した場合(ステップS3010でNo)、証明書検証部44は、エラーとなった証明書の種類と有効性確認処理のエラーの原因を失効した証明書を含むとするエラー通知を作成する(ステップS3011)。
【0083】
証明書失効情報の検証処理に成功した場合(ステップS3010でYes)、証明書検証部44は、証明書失効情報に記載されている内容を確認し、ステップS3001で選択した証明書が有効であるかどうか判定する(ステップS3012)。選択した証明書が有効ではないと判定した場合(ステップS3012でNo)、証明書検証部44は、ステップS3011へ進み、また選択した証明書が有効であると判定した場合(ステップS3012でYes)、ステップS3013へ進む。
【0084】
証明書検証部44は、相互認証しているCA間で有効と定義された証明書ポリシを認証パス中の証明書から、順次、解析することで、認証パス中で有効な証明書ポリシを導出し、かつ、検証者が有効性確認依頼に指定した証明書ポリシと一致しているか確認する、といったポリシ制御を行う。ステップS3001で選択した証明書に有効な証明書ポリシが存在してない場合(ステップS3013でNo)、証明書検証部44は、有効性確認処理のエラーの原因を無効な証明書ポリシ含むとするエラー通知を作成する(ステップS3014)。
【0085】
ポリシ制御を行い、ステップS3001で選択した証明書、に有効な証明書ポリシが存在している場合(ステップS3013でYes)、証明書検証部44は、選択した証明書ポリシが、設定情報保持部48の、検証者が受け入れない(無効とする)証明書ポリシを設定したテーブル(図9)に含まれているか判定する(ステップS3015)。
【0086】
検証者が無効とする証明書ポリシが含まれる場合(ステップS3015でYes)、証明書検証部44は、ステップS3014へ進む。検証者が無効とする証明書ポリシが含まれない場合(ステップS3015でNo)、証明書検証部44は、ステップS3016へ進む。
【0087】
選択した証明書がEE証明書でない場合(ステップS3016でNo)、証明書検証部44は、ステップS3001へ戻る。選択した証明書がEE証明書である場合(ステップS3016でYes)、証明書検証部44は、有効性確認処理結果を有効とする正常終了通知を作成する(ステップS3017)。
【0088】
次に図14を用いて、証明書証部44における、図11の暗号方式チェックの処理(ステップS2002、ステップS2006、ステップS2010)と、図12の暗号方式チェックの処理(ステップS3002)の詳細について述べる。図14では、図8の検証者が受け入れる暗号方式を設定したテーブルを利用する。
【0089】
証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書に記載の署名アルゴリズム(signature Algorithm)の項目から署名アルゴリズムのOIDを、また、所有者公開鍵情報(subjctPublicKeyInfo)から公開鍵のアルゴリズムのOID、鍵長、パラメータのOIDを取得する(ステップS5001)。
【0090】
ステップS5001で取得した暗号方式が、図8の検証者が受け入れる暗号方式を設定したテーブルに含まれていない場合(ステップS5002でNo)、証明書検証部44は、暗号方式が無効と通知して(ステップS5003)処理を終了する。
【0091】
ステップS5001で取得した暗号方式が、図8の検証者が受け入れる暗号方式を設定したテーブルに含まれる場合(ステップS5002でYes)、証明書検証部44は、ステップS5001で取得した暗号方式に該当するフィルタ番号を図8のフィルタ番号81から取得する(ステップS5004)。次に、証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書の発行者名(issuer)の項目からCA装置の情報(例えば、認証局名)を取得する(ステップS5005)。
【0092】
ステップ5004で取得したフィルタ番号とステップS5005で取得した認証局名の組み合わせが、図8の認証局名77と例外的に無効とするフィルタ番号78に存在する場合(ステップS5006でYes)、証明書検証部44は、ステップS5003へ進む。
【0093】
ステップ5004で取得したフィルタ番号とステップS5005で取得した認証局名の組み合わせが、図8の認証局名77と例外的に無効とするフィルタ番号78に存在しない場合(ステップS5006でNo)、証明書検証部44は、暗号方式が有効と通知して(ステップS5007)処理を終了する。
【0094】
(他の実施形態)
上記実施形態では、図8に示す、検証者が受け入れる暗号方式とこの暗号方式を例外的に無効とする認証局の情報を利用して、図14に示す暗号方式のチェック処理を行う場合を例にとり説明したが、図7に示す、検証者が受け入れる暗号方式とこの暗号方式を例外的に有効とする認証局の情報を利用して、図3に示す暗号方式のチェック処理を行うようにしても良い。
【0095】
図7を用いて、設定情報保持部48に記憶されている、検証者が受け入れない暗号方式を設定したテーブルと、例外的に検証者が受け入れない暗号方式を有効にする認証局と暗号方式の関係を設定したテーブルについて説明する。
【0096】
テーブルの行の順にフィルタ番号61の列にフィルタ番号を記載し、フィルタ番号62の列に「署名アルゴリズム」あるいは「公開鍵アルゴリズム」のどちらかを記載する。また、検証者が受け入れない暗号アルゴリズムの名称を暗号アルゴリズム63の列に記載し、さらに、その暗号アルゴリズムのOID(Object IDentifier)を暗号アルゴリズムOID64の列に記載する。フィルタ種別62が公開鍵アルゴリズムである場合、受け入れない公開鍵の鍵長を鍵長65の列に記載する。該当する暗号アルゴリズムにおいて、全ての鍵長を受け入れない場合は、鍵長65の列に何も記載しない。また、受け入れない公開鍵のパラメータをパラメータ66の列に記載し、さらにそのパラメータのOIDをパラメータOID67に記載する。該当する暗号アルゴリズムにおいて、全てのパラメータを受け入れない場合は、パラメータ66とパラメータOID67の列に何も記載しない。フィルタ種別62が署名アルゴリズムである場合、鍵長65の列、パラメータ66の列、パラメータOID67の列には何も記載しない。
【0097】
例外的に特定の暗号アルゴリズムを特定の認証局から発行された証明書に対してのみ有効とする場合は、認証局の名称を認証局名68の列に記載する。また、暗号アルゴリズムを指定するために、フィルタ番号61に記されるフィルタ番号を例外的に有効とするフィルタ番号69に記載する。例外的に検証者が受け入れない暗号方式を有効としない場合は、認証局68の列と例外的に有効とするフィルタ番号69の列に何も記載しない。
【0098】
次に図13を用いて、証明書検証部44における、図11の暗号方式チェックの処理(ステップS2002、ステップS2006、ステップS2010)と、図12の暗号方式チェックの処理(ステップS3002)の詳細について述べる。図13では、図7の検証者が受け入れない暗号方式を設定したテーブルを利用する。
【0099】
証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書の署名アルゴリズム(signature Algorithm)の項目から署名アルゴリズムのOIDを、また、所有者公開鍵情報(subjctPublicKeyInfo)から公開鍵のアルゴリズムのOID、鍵長、パラメータのOIDを取得する(ステップS4001)。
【0100】
ステップS4001で取得した暗号方式が、図7の検証者が受け入れない暗号方式を設定したテーブルに含まれない場合(ステップS4002でNo)、証明書検証部44は、暗号方式が有効と通知して(ステップS4003)、処理を終了する。
【0101】
ステップS4001で取得した暗号方式が、図7の検証者が受け入れない暗号方式を設定したテーブルに含まれる場合(ステップS4002でYes)、証明書検証部44は、ステップS4001で取得した暗号方式に該当するフィルタ番号を図7のフィルタ番号61から取得する(ステップS4004)。次に、証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書の発行者名(issuer)の項目から認証局名を取得する(ステップS4005)。
【0102】
ステップ4004で取得したフィルタ番号61とステップS4005で取得した認証局名の組み合わせが、図7の認証局名67と例外的に有効とするフィルタ番号68に存在する場合(ステップS4006でYes)、ステップS4003へ進む。
【0103】
ステップ4003で取得したフィルタ番号とステップS4004で取得した認証局名の組み合わせが、図7の認証局名67と例外的に有効とするフィルタ番号68に存在しない場合(ステップS4006でNo)、証明書検証部44は、暗号方式が無効と通知して(ステップS4007)、処理を終了する。
【0104】
また、上記実施形態では、認証パス検証前の証明書の有効性確認依頼を受信した時と認証パス検証時に、証明書の電子署名に利用されている暗号方式をチェックする処理を例にとり説明したが、何れか一方を実施する形態であっても良い。
【0105】
また、上記実施形態では、暗号方式を、電子署名に利用する暗号アルゴリズム、公開鍵の鍵長、及び公開鍵のパラメータとして定義して、証明書の有効性確認処理を説明したが、暗号方式は何れか一つかあるいは二つを実施する形態であっても良い。
【0106】
以上本発明の実施形態について詳述したが、上記実施形態によれば、証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供することができる。また、証明書の有効性確認処理における、認証パスの構築や認証パスの検証を安全かつ迅速に行うことができる。
【0107】
また、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0108】
11:端末装置、12:CA装置、13:検証サーバ、14:ネットワーク、20a、30a、40a:処理部、20b、30b、40b:記憶部、20c、30c、40c:通信部、20d、30d、40d:入出力部、21:署名付き文書作成部、22:署名・証明書検証部、23、33:制御部、24:電子文書保持部、25:鍵保持部、26:検証対象保持部、31:発行部、32:管理部、34:証明書DB、35:発行先管理リスト保持部、36:CRL保持部、37:証明書有効性確認部、41:定期自動更新部、42:証明書失効情報更新部、43:証明書更新部、44:証明書検証部、45:認証パス保持部、46:証明書失効保持部、47:証明書保持部、48:設定情報保持部、50:内部通信線、51:CPU、52:メモリ、53:外部記憶装置、54:読取装置、55:通信装置、56:入力装置、57:出力装置、59:可搬性を有する記憶媒体。
【技術分野】
【0001】
本発明は、公開鍵認証基盤(Public Key Infrastructure;以下、「PKI」と記述する)において、証明書の有効性を確認するのに好適な技術に関する。
【背景技術】
【0002】
政府認証基盤(GPKI)をはじめとして、電子文書の作成者を明らかにし、かつ、当該電子文書が改ざんされていないことを保証するために、公開鍵認証基盤(Public Key Infrastructure;以下、「PKI」と記載する)を利用したシステムが普及してきている。PKIを利用したシステムでは、電子文書に対して、電子署名を行う者(以下、署名者、と記載する)のみが保有する、秘密鍵(Private Key)と呼ばれる鍵によって、一定の処理手順(以下、「暗号アルゴリズム」と記載する)に従い、電子署名が施される。電子署名が施された電子文書を受信した場合には、署名者の秘密鍵とペアであり、また、他人に公開しても良い、公開鍵(Public Key)と呼ばれる鍵によって、上記電子署名を検証することで、電子文書の作成者と、当該電子文書が改ざんされていないことと、を確認する。高い信頼が要求される用途では、署名者と公開鍵の結びつきを保証するために、認証局(Certificate Authority;以下、「CA」と記載する)が、上記署名者の公開鍵証明書(以下、「証明書」と記載する)を発行する。証明書には、CAの名前、有効期限、所有者の名前、所有者の公開鍵に関する情報など、また、オプションとして、鍵使用目的、証明書ポリシなどが含まれる。証明書ポリシとは、各CAが証明書を発行する際に定める証明書の利用目的やセキュリティレベルなどを規定するものであり、証明書ポリシには、この証明書ポリシを一意に示すIDが付与されている。さらに、証明書の記載内容を保証するために、CAは、CAの秘密鍵を利用し、定められた暗号アルゴリズムに従って、該証明書に対する電子署名を生成し、証明書に付与する。証明書の記載内容は、非特許文献1の「 4. Certificate and Certificate Extensions Profile」に詳細に記載されている。
【0003】
より厳密な電子署名の検証を行うためには、CAが発行した、上記署名者の証明書に含まれている、公開鍵と呼ばれる鍵によって、当該電子署名を検証するだけではなく、上記署名者の証明書が電子署名を検証する者(以下、「検証者」と記載する)にとって利用目的等やセキュリティレベルを満足する有効な証明書であるか否か、を確認する必要がある。上記署名者の証明書が上記検証者にとって有効であるか否か、を検証するには、(1)認証パスの構築、(2)認証パスの検証、という、処理が必要である。
【0004】
(1)認証パスの構築の処理において、検証者の信頼するCA(トラストアンカ、以下、「トラストアンカ」は「TA」と記載する)から署名者の証明書までの信頼の連鎖である証明書チェーンを構築する。証明書チェーンは、複数の証明書の連なったものであり、ある証明書の主体者名が次の証明書の発行者名に一致し、また、証明書の主体者の鍵識別子が次の証明書の発行者の鍵識別子に一致している関係が、連鎖する証明書の列である。検証者は、各CAのリポジトリにアクセスして、上記の証明書チェーンを構成する証明書を取得し、上記連鎖の確認を行う。特に、認証局の運用主体が異なるような、異なるドメインのCA同士が接続したPKIモデルにおいては、CA同士がお互いに相互認証証明書と呼ばれる証明書を発行し合う。一般に、この、相互認証証明書には、異なるドメイン間で証明書ポリシなどの調整を行い相互運用するための情報が記載されていることが多い。このため、複数の異なるドメインに渡る認証パスを構築する場合、証明書チェーンに相互認証証明書が含まれることになる。認証パスを構築する方法については、非特許文献2に詳細に記載されている。
【0005】
(2)認証パスの検証の処理において、(1)の処理で構築した認証パスを構成する証明書チェーンの証明書が全て有効であることを確かめる。具体的には、CAが発行する証明書失効リスト(Certificate Revocation List;以下、「CRL」と記載する)やOCSP(Online Certificate Status Protocol)レスポンダを利用して、証明書が有効か否かを判定する。また、検証者が受け入れ可能な証明書ポリシと、署名者の証明書に含まれる証明書ポリシが一致することを確かめる。認証パスを検証する方法については、非特許文献1の「 6. Certification Path Validation」に詳細に記載されている。
【0006】
証明書の有効性を検証するモデルには、検証者自身が証明書の有効性を確認するエンドエンティティモデルと、検証者に代わってオンラインで証明書の有効性を確認する機能を提供する証明書検証サーバ(以下、「検証サーバ」と記載する)を利用する検証サーバモデルがある。検証サーバモデルの仕様は非特許文献3に記載されている。
【0007】
上記検証サーバモデルは、上記エンドエンティティモデルに比べて、次のような利点がある。まず、上記検証サーバモデルでは、上記認証パスを構築する認証パス構築機能をクライアントに実装する必要がないため、クライアントの証明書検証プログラムを小さくすることができる。また、クライアントは上記検証サーバの判定結果を信頼するため、上記検証サーバの設定を変更するだけで、システム構成の変化に柔軟に対応できる。
【0008】
証明書の有効性確認を行う毎に、検証サーバが認証パスを構築し、また、CAからCRLを取得すると、有効性確認処理にかかる時間が長くなるため、特許文献1では、検証サーバが有効性確認処理を行った上記CRLや上記認証パスを登録することにより次回からの証明書の有効性確認処理を高速化する方式が開示されている。
【0009】
一方で、電子文書に対する電子署名生成やCAによる証明書の電子署名生成において、署名者やCAは、電子署名に利用する暗号アルゴリズム、パラメータ、並びに公開鍵の鍵長に関して、複数の選択肢の中から利用するものを選択しているが、近年の暗号解読技術の進歩や電子計算機能力の向上により、一部の暗号アルゴリズム、また、鍵長の短い公開鍵は、安全性に問題があることが指摘されている。米国連邦政府の標準暗号を制定する米国立標準技術研究所では、2010年までに、米国政府での情報システムにおいて、電子署名に利用するハッシュ関数を、SHA−1からSHA-2へ移行することを強く推奨している。SHA−1の安全性に関するコメントは、非特許文献4に詳細に記載されている。
【0010】
非特許文献4のコメントを受け、各国の認証局は、現行の暗号アルゴリズムを利用している情報システムとの互換性を保ちつつ、利用者の公開鍵や、証明書の電子署名に利用する暗号アルゴリズムを、より安全性の高いものに移行することとしている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2002−72876号公報
【非特許文献】
【0012】
【非特許文献1】Internet X.509 Public Key Infrastructure, Certificate and Certificate Revocation List (CRL) Profile (RFC5280), 2008年5月, [online], [平成21年11月17日検索], インターネット<URL:http://www.ietf.org/rfc/rfc5280.txt>
【非特許文献2】Internet X.509 Public Key Infrastructure Certification Path Building (RFC4158), 「 2. Certification Path Building」, 2005年9月, [online], [平成21年11月17日検索], インターネット<URL:http://www.ietf.org/rfc/rfc4158.txt>
【非特許文献3】Delegated Path Validation and Delegated Path Discovery Protocol Requirements (RFC3379), 2002年9月, [online], [平成21年11月17日検索], インターネット<URL:http://www.ietf.org/rfc/rfc3379.txt>
【非特許文献4】NIST Comments on Cryptanalytic Attacks on SHA-1, 2006年4月, [online], [平成21年11月17日検索], インターネット<URL:http://csrc.nist.gov/groups/ST/hash/statement.html>
【発明の概要】
【発明が解決しようとする課題】
【0013】
認証局が暗号アルゴリズムを移行している時期(以下、「暗号移行期」と記載する)では、暗号移行前に現行の暗号アルゴリズムで電子署名した証明書と、暗号移行後に、より安全性の高い暗号アルゴリズムで電子署名した証明書が混在することとなる。そのため、検証者が明示的に特定の暗号アルゴリズムで電子署名した証明書を受け入れたくない場合や、現行の暗号アルゴリズムの安全性が著しく低下し、暗号アルゴリズム危殆化と判断された場合には、その暗号アルゴリズムを利用する証明書の検証を失敗とする必要がある。
【0014】
また、上記非特許文献1では、検証者が、有効性確認依頼時に、明示的に受け入れる証明書ポリシを指定することで、検証者自身が、有効性確認の制約を設ける手法が記載されている。しかし、暗号移行期では、複数の情報システムの相互運用性確保のために、暗号移行中のCAが、まだ暗号移行を行っていないCAと相互認証を行うことで、暗号強度の高い証明書ポリシを、暗号強度の低い証明書ポリシに、マッピングし、ポリシーマッピングの情報を相互認証証明書に記載する場合がある。このような場合において、暗号移行を行ったCAを信頼点とする検証者が、暗号移行を行っていないCAから発行された証明書に対して有効性確認処理を行うと、上記相互認証証明書から、暗号強度の高い証明書ポリシが暗号強度の低い証明書と同等と判断され、有効性確認処理の結果が有効となる可能性がある。検証者は、暗号強度の高い証明書ポリシを指定しても、暗号強度の低い暗号アルゴリズムで電子署名した証明書を除外することができないため、有効性確認処理結果の信頼性が失われてしまう。
【0015】
さらに、上記非特許文献1や上記特許文献1に記載の技術では、CAの電子署名が付与された証明書、CRLやOCSPレスポンスをCAから取得して、認証パスの検証を行っているが、暗号移行期に、暗号アルゴリズム危殆化が発生し、該当する暗号アルゴリズムの使用停止の通達が政府機関等から出た場合においては、認証パスの検証で次に述べる課題が発生する。
【0016】
CAが暗号移行を行う前や、暗号移行を行っている途中に、現行の暗号アルゴリズムの危殆化が発生した場合に、CAは、電子署名に利用する暗号アルゴリズムをより安全性の高いものへ移行した後、危殆化した暗号アルゴリズムを利用した証明書を失効し、さらに、新しい暗号アルゴリズムで証明書失効リストや証明書を発行する必要がある。しかし、上記は対応するのに時間を要する処置であるため、CAが迅速に対応できない可能性が高い。したがって、このような場合は、CAから提供される、危殆化した暗号アルゴリズムで電子署名された情報を、認証パスの検証で利用することになるため、有効性確認処理結果の信頼性が失われてしまう。
【0017】
本発明は上記事項に鑑みてなされたものであり、証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供することを課題とする。
【課題を解決するための手段】
【0018】
上記課題を解決するための一手段を説明する。本発明では、複数の端末装置及び複数の認証局とネットワークに接続された検証サーバにより、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する、証明書の有効性確認処理において、前記検証サーバが、以下に示す構成を有することを特徴とする。
【0019】
前記検証サーバは、前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部を有することを特徴とする。
【0020】
前記検証サーバは、前記有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断することを特徴とする。
【0021】
また、前記検証サーバは、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断することを特徴とする。
【発明の効果】
【0022】
本発明によれば、証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施形態に係る検証システムの構成を示す図である。
【図2】端末装置11の構成を示す図である。
【図3】CRLを利用して失効情報を提供するCA装置12の構成を示す図である。
【図4】OCSPレスポンダを利用して失効情報を提供するCA装置12の構成を示す図である。
【図5】検証サーバ13の構成を示す図である。
【図6】図2〜4に示す端末装置11、CA装置12、検証サーバ13の各々のハードウェア構成例を示す図である。
【図7】検証サーバ13において、設定情報保持部48に記憶されている、検証者が受け入れない暗号方式とこの暗号方式を例外的に有効とする認証局の情報を示す図である。
【図8】検証サーバ13において、設定情報保持部48に記憶されている、検証者が受け入れる暗号方式とこの暗号方式を例外的に無効とする認証局の情報を示す図である。
【図9】検証サーバ13において、設定情報保持部48に記憶されている、検証者が受け入れない証明書ポリシに関する情報を示す図である。
【図10】検証サーバ13において、証明書有効性確認処理を示すフローチャートである。
【図11】検証サーバ13において、図10の有効性確認依頼の暗号方式チェック処理を示すフローチャートである。
【図12】検証サーバ13において、図10の認証パス検証処理を示すフローチャートである。
【図13】検証サーバ13において、図7を利用した、図11及び図12の暗号方式のチェック処理を示すフローチャートである。
【図14】検証サーバ13において、図8を利用した、図11及び図12の暗号方式のチェック処理を示すフローチャートである。
【発明を実施するための形態】
【0024】
以下に、本発明の実施形態について、図面を参照して、詳細に説明する。
【0025】
図1は、本発明の実施形態に係る検証システムの構成を示す図である。
【0026】
本実施形態では、電子的に手続を行う複数の端末装置111〜端末装置11M(「端末装置11」と総称する)と、証明書発行及び失効業務を行うCA装置121〜CA装置12N(「CA装置12」と総称する)と、証明書の失効情報を提供する検証サーバ13と、それぞれを接続するインターネット等のネットワーク14からなる。
【0027】
次に、図1の検証システムを構成する各装置について説明する。
【0028】
まず、図2を用いて、端末装置11を説明する。
【0029】
端末装置11は、処理部20aと記憶部20bと、ネットワーク14を介して他装置と通信を行うための通信部20cと、端末装置11のユーザが作成した電子文書や他の端末装置11から受け取った電子文書の入出力やユーザからの指示の受付を行う入出力部20dと、を有する。
【0030】
処理部20aは、電子文書に対して署名を付与し、署名付き文書を作成する署名付き文書作成部21と、署名付き電子文書の署名及び証明書の検証を行う署名・証明書検証部22と、端末装置の各部を統括的に制御する制御部23と、を有する。
【0031】
記憶部20bは、ユーザが作成した電子文書を保持する電子文書保持部24と、署名を生成するための秘密鍵と、これと対になる公開鍵の証明書と、当該端末装置11を利用するユーザが信頼するCAのCA証明書を保持する鍵保持部25と、他の端末装置11から受け取った署名付き電子文書と証明書を保持する検証対象保持部26と、を有する。
【0032】
このような構成において、制御部23は、入出力部20dを介してユーザから、電子文書保持部24に保持してある電子文書を他のユーザに送信すべき旨の指示を受け付けると、当該電子文書を電子文書保持部24から読み出し、これを署名付き文書作成部21に渡す。署名付き文書作成部21は、鍵保持部25に保持されている秘密鍵を用いて、渡された当該電子文書に対する署名を生成する。そして、渡された電子文書に生成した署名を付与して署名付き電子文書を作成する。制御部23は、署名付き文書作成部21で作成された署名付き電子文書と、鍵保持部25に保持されている証明書とを、通信部20cを介して、ユーザから指示された送信先の端末装置11へ送信する。
【0033】
また、制御部23は、通信部20cを介して、他の端末装置11から署名付き電子文書と証明書を受け取ると、これらを関連づけて検証対象保持部26に保持させると共に、これらの検証要求を署名・証明書検証部22に通知する。
【0034】
これを受けて、署名・証明書検証部22は、検証対象保持部26に保持されている署名付き電子文書の署名を、同時に受け取った証明書を用いて検証する。そして、署名・証明書検証部22は、署名付き電子文書の署名検証に使用した当該証明書を検証対象証明書として、鍵保持部25に保持するユーザが信頼するCAのCA証明書を用いて検証する。署名・証明書検証部22は、当該検証対象証明書の検証処理において、当該検証対象証明書の署名の検証や、有効期間が切れていない事の確認や、その他制限事項の検証や、当該検証対象証明書が失効しているかどうかを確認する。
【0035】
署名・証明書検証部22は、当該検証対象証明書が失効しているかどうかの確認を行うために、検証サーバ13に対して検証要求を送信する。そして、全ての検証が成功し、かつ、検証サーバ13から当該証明書が失効されていない旨の検証結果を受信した場合に、当該検証対象証明書が有効であり、署名付き電子文書が正当なものと扱い、必要に応じて入出力部20dから署名付き文書の署名及び証明書の検証結果を出力する。
【0036】
次に、図3と図4を用いてCA装置12を説明する。CA装置12はCRLを利用して失効情報を提供する場合、図3の構成をとり、OCSPレスポンダを利用して失効情報を提供する場合、図4の構成をとる。
【0037】
CA装置12は、処理部30aと、記憶部30bと、ネットワーク14を介して他装置と通信を行うための通信部30cと、証明書等の入出力や当該CA装置の操作者からの指示の受付や処理結果の出力を行う入出力部30dと、を有する。
【0038】
処理部30aは、証明書を発行する発行部31と、発行部31が発行した証明書の管理を行う管理部32と、CA装置12の各部を統括的に制御する制御部33と、を有する。なお、図4の構成をとるCA装置12は証明書有効性確認部37も有する。
【0039】
記憶部30bは、発行部31が発行した証明書を保持する証明書データベース(DB)34と、証明書データベース34に保持されている各証明書の発行先が記載されていた発行先管理リストを保持する発行先管理リスト保持部35と、CRL保持部36と、を有する。なお、図4の構成をとるCA装置12はCRL保持部36を保持しない。
【0040】
このような構成において、制御部33は、入出力部30dあるいは通信部30cを介して証明書の発行依頼を受け付けると、その旨を発行部31に伝える。これを受けて、発行部31は、これに対する証明書を作成する。この際、CAの秘密鍵で証明書に署名をする。そして、作成した証明書を入出力部30dあるいは通信部30cを介して、郵送あるいは通信により、発行依頼元に渡す。また、この証明書を証明書データベース34に登録すると共に、その発行先(つまり発行依頼元)の情報を、発行先管理リスト保持部35に保持されている発行先管理リストに記載する。
【0041】
また、制御部33は、入出力部30dあるいは通信部30cを介して、証明書の失効依頼を受け付けると、その旨を管理部32に伝える。これを受けて、管理部32は、失効対象の証明書を証明書データベース34から削除すると共に、発行先管理リスト保持部35に保持されている当該証明書の情報に失効状態と失効理由を追記する。
【0042】
そして、図3の構成をとるCA装置12の管理部32は、失効依頼により証明書データベース34から削除した証明書のシリアルナンバーを記載した失効証明書リスト(CRL)を、定期的に作成し、これをCRL保持部36に保持させる。なお、作成したCRLには、当該CA装置が発行した証明書のうち、有効期限内にもかかわらず失効した証明書のシリアルナンバーと、当該証明書が失効した日時と、当該証明書が失効した理由がリストとして記載される。さらに、CRLには、次回のCRL作成予定時刻が記載され、当該CA装置の秘密鍵を用いて署名が付与される。
【0043】
また、図3の構成をとるCA装置12の制御部33は、通信部30cを介して、他装置からCRL取得要求を受け取ると、CRL保持部36に保持されているCRLを、通信部30cを介して、問い合わせをした他装置に送信する。
【0044】
あるいは、図4の構成をとるCA装置12の制御部33は、通信部30cを介して、他装置から証明書の失効情報を問い合わせするためのOCSPリクエストを受け取ると、証明書有効性確認部37が証明書データベース34に保持されている証明書の情報から当該証明書が有効か否かを表すOCSPレスポンスを作成し、通信部30cを介して、問い合わせをした他装置に送信する。なお、OCSPレスポンスには、当該証明書の状態が記載され、当該CA装置の秘密鍵あるいはOCSPレスポンダの秘密鍵を用いて署名が付与される。
【0045】
次に、図5を用いて、検証サーバ13を説明する。
【0046】
検証サーバ13は、処理部40aと、記憶部40bと、ネットワーク14を介して他装置と通信を行うための通信部40cと、証明書等の入出力や検証サーバ13の操作員からの指示の受付けを行う入出力部40dと、を有する。
【0047】
処理部40aは、定期自動更新部41と、証明書失効情報更新部42と、証明書更新部43と、証明書検証部44と、を有する。
【0048】
記憶部40bは、認証パス保持部45と、証明書失効情報保持部46と、証明書保持部47と、設定情報保持部48と、を有する。
【0049】
定期自動更新部41は、証明書失効情報保持部46に記憶されている証明書失効情報を定期的に更新する時間や次回更新日時に達すると証明書失効情報更新部42に通知する。ここで証明書失効情報とは、CRLとOCSPレスポンスを表す。また、証明書保持部47に記憶されている証明書を定期的に更新する時間に達すると、証明書更新部43に通知する。証明書失効情報と証明書の定期更新時間は設定情報保持部48に記憶されている。
【0050】
証明書失効情報更新部42は、定期自動更新部41から通知を受けると、当該証明書失効情報の発行元から最新の証明書失効情報を取得し、証明書失効情報保持部46に記憶されている証明書失効情報を更新する。また、証明書失効情報更新部42は、証明書更新部43からの証明書失効情報更新通知を受けて、証明書失効情報保持部46に記憶されている証明書失効情報を更新する。
【0051】
証明書更新部43は、定時自動更新部41から通知を受けると、当該証明書を発行しているCA装置12の証明書データベース34から取得する。なお、当該証明書が更新されている場合は、証明書更新部43は、証明書保持部47に記憶されている証明書を更新する。また、当該証明書の有効期間が切れている場合や失効している場合は、証明書更新部43は、証明書保持部47に記憶されている証明書を削除する。また、証明書更新部43は、証明書検証部44からの証明書更新通知を受けて、証明書保持部47に記憶されている証明書を更新し、更に証明書失効情報更新通知を証明書更新部44へ通知する。
【0052】
証明書検証部44は、通信部40cを介して、端末装置11から有効性確認依頼を受け付けると、認証パス保持部45に記憶されている認証パスや証明書失効情報保持部46に記憶されている証明書失効情報や証明書保持部47に記憶されている証明書を利用して、有効性確認対象の証明書から検証者のトラストアンカまでの認証パスを構築し、認証パス中の証明書の有効性を順に検証する。また、検証者が受け入れ可能な証明書ポリシと、署名者の証明書に含まれる証明書ポリシが一致することを認証パスの証明書を順に利用して確かめる。また、検証サーバ13の署名を付与した有効性確認結果を、通信部40cを介して、端末装置11に送付する。
【0053】
なお、図2〜図5に示す端末装置11、CA装置12、検証サーバ13の各々は、例えば、図6に示すような、CPU51と、メモリ52と、ハードディスク等の外部記憶装置53と、CD−ROM等の可搬性を有する記憶媒体59から情報を読み取る読取装置54と、ネットワーク14を介して他装置と通信を行うための通信装置55と、キーボードやマウス等の入力装置56と、モニタやプリンタ等の出力装置57と、これらの各装置間のデータ送受を行う内部通信線50とを備えた、一般的な電子計算機(コンピュータ)上に構築できる。
【0054】
そして、CPU51が外部記憶装置53からメモリ52上にロードされた所定のプログラムを実行することにより、上述の各処理部を実現できる。すなわち、通信部20c、30c、40cは、CPU51が通信装置55を利用することにより、入出力部20d、30d、40dは、CPU51が入力装置56や出力装置57や読取装置54を利用することにより、そして、記憶部20b、30b、40bは、CPU51がメモリ52や外部記憶装置53を利用することにより実現される。また、処理部20a、30a、40aは、CPU51のプロセスとして実現される。
【0055】
上記所定のプログラムは、予め外部記憶装置53に格納されていても良いし、上記電子計算機が利用可能な記憶媒体59に格納されており、読み取り装置54を介して、必要に応じて読み出され、あるいは、上記電子計算機が利用可能な通信媒体であるネットワークまたはネットワーク上を伝搬する搬送波を利用する通信装置56と接続された他の装置から、必要に応じてダウンロードされて、外部記憶装置53に導入されるものであっても良い。
【0056】
次に図8を用いて、設定情報保持部48に記憶されている、検証者が受け入れる暗号方式を設定したテーブルと、例外的に検証者が受け入れる暗号方式を無効にする認証局と暗号方式の関係を設定したテーブルについて説明する。なお、本実施形態において、暗号方式は、電子署名に利用する暗号アルゴリズム、公開鍵の鍵長、及び公開鍵のパラメータを表す。
【0057】
テーブルの行の順にフィルタ番号71の列にフィルタ番号を記載し、フィルタ番号72の列に「署名アルゴリズム」あるいは「公開鍵アルゴリズム」のどちらかを記載する。また、検証者が受け入れる暗号アルゴリズムの名称を暗号アルゴリズム73の列に記載し、さらに、その暗号アルゴリズムのOID(Object IDentifier)を暗号アルゴリズムOID74の列に記載する。フィルタ種別72が公開鍵アルゴリズムである場合、受け入れる公開鍵の鍵長を鍵長75の列に記載する。該当する暗号アルゴリズムにおいて、全ての鍵長を受け入れる場合は、鍵長75の列に何も記載しない。また、受け入れる公開鍵のパラメータをパラメータ76の列に記載し、さらにそのパラメータのOIDをパラメータOID77に記載する。該当する暗号アルゴリズムにおいて、全てのパラメータを受け入れる場合は、パラメータ76とパラメータOID77の列に何も記載しない。フィルタ種別72が署名アルゴリズムである場合、鍵長75の列、パラメータ76の列、パラメータOID77の列には何も記載しない。
【0058】
例外的に特定の暗号アルゴリズムを特定の認証局から発行された証明書に対してのみ無効とする場合は、認証局の名称を認証局名78の列に記載する。また、暗号アルゴリズムを指定するために、フィルタ番号71に記されるフィルタ番号を例外的に無効とするフィルタ番号79に記載する。例外的に検証者が受け入れる暗号方式を無効としない場合は、認証局78の列と例外的に無効とするフィルタ番号79の列に何も記載しない。
【0059】
次に図9を用いて、設定情報保持部48に記憶されている、検証者が受け入れない証明書ポリシに関する情報を設定したテーブルを説明する。
【0060】
検証者が受け入れない証明書ポリシの名称を証明書ポリシ81の列に記載し、さらに、その証明書ポリシのOIDをOID82に記載する。また、CAが公開しているCPSからCAが証明書の電子署名に利用する暗号アルゴリズムを抜粋し、暗号アルゴリズム83に記載する。
【0061】
次に図10を用いて、証明書検証部44における証明書の有効性確認処理を説明する。
【0062】
証明書検証部44は、任意の端末装置11からの証明書の有効性確認依頼を、通信部40cを介して受信する(ステップS1001)と、有効性確認依頼に含まれているEE(End Entity)証明書、トラストアンカ証明書や中間証明書の証明書の暗号方式チェックを行う(ステップS1002)。なお、本実施形態では、EE証明書は、公開鍵の利用者に発行する証明書であり、署名者が署名に利用する証明書を表している。また、トラストアンカ証明書は、検証者が信頼するルートCAの証明書を表している。また、中間証明書は、EE証明書を発行し、かつ、EEの信頼するルートCAの下位に位置するCAの証明書を表している。EE証明書、トラストアンカ証明書や中間証明書の証明書の暗号方式チェックに失敗した場合、認証パス構築(ステップS1005)並びに認証パス検証(ステップS1007)を実施する前に、証明書検証応答作成(ステップS1004)ができるため、ステップS1002により、証明書検証応答を迅速に端末装置11に送信することが可能である。図11において、有効性確認依頼の暗号方式チェック処理の詳細について述べる。有効性確認依頼の暗号方式チェックに失敗した場合(ステップS1003でNo)、証明書検証部44は、暗号方式チェックで判定したエラーコードを付与して、有効性確認結果を無効とする証明書検証応答を作成する(ステップS1004)。
【0063】
有効性確認依頼の暗号方式チェックに成功した場合(ステップS1003でYes)、証明書検証部44は、トラストアンカからEE証明書の発行者までの認証パスを構築する(ステップS1005)。
【0064】
認証パス構築に失敗した場合(ステップS1006でNo)、証明書検証部44は、認証パス構築時に判定したエラーコードを付与して、ステップS1004へ進む。
【0065】
認証パス構築に成功した場合(ステップS1006でYes)、ステップS1005で構築した認証パスの検証を行う(ステップS1007)。ステップS1007においても、暗号方式のチェックを実施することにより、認証パス中の全ての証明書の暗号方式のチェックを実施することが可能である。なお、図12において、認証パス検証処理の詳細について述べる。
【0066】
認証パス検証に失敗した場合(ステップS1008でNo)、証明書検証部44は、認証パス検証で作成したエラー通知から、EE証明書の失効や、EE証明書の署名不正などのEE証明書のエラーを原因とする認証パス検証失敗であるかどうか判断する(ステップS1009)。EE証明書のエラーが原因ではない場合(ステップS1009でNo)、同一のトラストアンカからEE証明書の発行者について、新たな認証パス構築を行うためにステップS1005に戻る。EE証明書のエラーが原因の場合(ステップS1009でYes)、ステップS1004へ進む。
【0067】
認証パス検証に成功した場合(ステップS1008でYes)、証明書検証部44は、有効性確認結果を有効とする証明書検証応答を作成する(ステップS1010)。
【0068】
次に図11を用いて、証明書検証部44における、有効性確認依頼に含まれる証明書のの暗号方式のチェックの処理(図10、ステップS1002)の詳細について述べる。
【0069】
証明書検証部44は、ステップS1001で受信したEE証明書を読み込み(ステップS2001)、EE証明書の電子署名に利用されている暗号方式のチェックを行う(ステップS2002)。EE証明書の暗号方式が有効ではないと判定した場合(ステップS2003でNo)、証明書検証部44は、有効性確認処理のエラーの原因を無効な暗号方式を含むとするエラー通知を作成する(ステップS2004)。
【0070】
EE証明書の暗号方式が有効であると判定した場合(ステップS2003でYes)、証明書検証部44は、ステップS1001で受信したトラストアンカ証明書を読み込む(ステップS2005)。次に、証明書検証部44は、トラストアンカ証明書の電子署名に利用されている暗号方式のチェックを行う(ステップS2006)。トラストアンカ証明書の暗号方式が有効ではないと判定した場合(ステップS2007でNo)、証明書検証部44は、S2004へ進む。
【0071】
トラストアンカ証明書の暗号方式が有効である場合(ステップS2007でYes)、証明書検証部44は、有効性確認依頼に中間証明書が含まれているかどうか判定する(ステップS2008)。中間証明書が含まれていない場合(ステップS2008でNo)、証明書検証部44は、有効性確認依頼の暗号方式チェックの処理を成功として終了し、図10のステップS1005へ進む。
【0072】
中間証明書が含まれている場合(ステップS2008でYes)、証明書検証部44は、ステップS1001で受信した中間証明書を読み込む(ステップS2009)。次に、証明書検証部44は、中間証明書の電子署名に利用されている暗号方式のチェックを行う(ステップS2010)。中間証明書の暗号方式が有効ではないと判定した場合(ステップS2011でNo)、証明書検証部44は、ステップS2004へ進む。
【0073】
中間証明書の暗号方式が有効であると判定した場合(ステップS2011でYes)、証明書検証部44は、有効性確認依頼の暗号方式チェックの処理を成功として終了し、図10のステップS1003へ進む。
【0074】
なお、図14において、ステップS2002、ステップS2006、ステップS2010の暗号方式チェックの処理の詳細について述べる。
【0075】
次に図12を用いて、証明書検証部44における、図10の認証パス検証処理(ステップS1007)の詳細について述べる。
【0076】
図10のステップS1005で構築した認証パスの全ての証明書(トラストアンカが発行した証明書からEE証明書の順番)の中から次の証明書を選択する(ステップS3001)。ただし、1回目は最初の証明書を選択する。
【0077】
証明書検証部44は、ステップS3001で選択した証明書、の電子署名に利用されている暗号方式のチェックを行う(ステップS3002)。選択した証明書の暗号方式が有効ではないと判定した場合(ステップS3003でNo)、証明書検証部44は、有効性確認処理のエラーの原因を無効な暗号方式を含むとするエラー通知を作成する(ステップS3004)。
【0078】
なお、図14において、ステップS3002の暗号方式チェックの処理の詳細について述べる。
【0079】
選択した証明書の暗号方式が有効であると判定した場合(ステップS3003でYes)、証明書検証部44は、選択した証明書を認証パス中の一つ前の証明書で署名検証を行う(ステップS3005)。ただし、1回目は、ステップS1001(図10)で取得したトラストアンカの証明書で署名検証を行う。
【0080】
署名検証に失敗した場合(ステップS3006でNo)、証明書検証部44は、エラーとなった証明書の種類と有効性確認処理のエラーの原因を署名不正とするエラー通知を作成する(ステップS3007)。署名検証に成功した場合(ステップS3006でYes)、証明書検証部44は、ステップS3008へ進む。
【0081】
ステップS3001で選択した証明書、の証明書失効情報(CRL、あるいは、OCSPレスポンス)が、証明書失効情報保持部46にあるか確認し、証明書失効情報保持部46にある場合、証明書検証部44は、対応する証明書失効情報を取得する。また、証明書失効情報保持部46にない場合、証明書検証部44は、証明書失効情報を提供するCAにアクセスし、最新の証明書失効情報を取得する(ステップS3008)。
【0082】
次に、証明書検証部44は、ステップS3008で取得した証明書失効情報の電子署名を、すでに認証パスの検証で有効と判定された証明書を利用して検証する(ステップS3009)。証明書失効情報が有効ではないと判定した場合(ステップS3010でNo)、証明書検証部44は、エラーとなった証明書の種類と有効性確認処理のエラーの原因を失効した証明書を含むとするエラー通知を作成する(ステップS3011)。
【0083】
証明書失効情報の検証処理に成功した場合(ステップS3010でYes)、証明書検証部44は、証明書失効情報に記載されている内容を確認し、ステップS3001で選択した証明書が有効であるかどうか判定する(ステップS3012)。選択した証明書が有効ではないと判定した場合(ステップS3012でNo)、証明書検証部44は、ステップS3011へ進み、また選択した証明書が有効であると判定した場合(ステップS3012でYes)、ステップS3013へ進む。
【0084】
証明書検証部44は、相互認証しているCA間で有効と定義された証明書ポリシを認証パス中の証明書から、順次、解析することで、認証パス中で有効な証明書ポリシを導出し、かつ、検証者が有効性確認依頼に指定した証明書ポリシと一致しているか確認する、といったポリシ制御を行う。ステップS3001で選択した証明書に有効な証明書ポリシが存在してない場合(ステップS3013でNo)、証明書検証部44は、有効性確認処理のエラーの原因を無効な証明書ポリシ含むとするエラー通知を作成する(ステップS3014)。
【0085】
ポリシ制御を行い、ステップS3001で選択した証明書、に有効な証明書ポリシが存在している場合(ステップS3013でYes)、証明書検証部44は、選択した証明書ポリシが、設定情報保持部48の、検証者が受け入れない(無効とする)証明書ポリシを設定したテーブル(図9)に含まれているか判定する(ステップS3015)。
【0086】
検証者が無効とする証明書ポリシが含まれる場合(ステップS3015でYes)、証明書検証部44は、ステップS3014へ進む。検証者が無効とする証明書ポリシが含まれない場合(ステップS3015でNo)、証明書検証部44は、ステップS3016へ進む。
【0087】
選択した証明書がEE証明書でない場合(ステップS3016でNo)、証明書検証部44は、ステップS3001へ戻る。選択した証明書がEE証明書である場合(ステップS3016でYes)、証明書検証部44は、有効性確認処理結果を有効とする正常終了通知を作成する(ステップS3017)。
【0088】
次に図14を用いて、証明書証部44における、図11の暗号方式チェックの処理(ステップS2002、ステップS2006、ステップS2010)と、図12の暗号方式チェックの処理(ステップS3002)の詳細について述べる。図14では、図8の検証者が受け入れる暗号方式を設定したテーブルを利用する。
【0089】
証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書に記載の署名アルゴリズム(signature Algorithm)の項目から署名アルゴリズムのOIDを、また、所有者公開鍵情報(subjctPublicKeyInfo)から公開鍵のアルゴリズムのOID、鍵長、パラメータのOIDを取得する(ステップS5001)。
【0090】
ステップS5001で取得した暗号方式が、図8の検証者が受け入れる暗号方式を設定したテーブルに含まれていない場合(ステップS5002でNo)、証明書検証部44は、暗号方式が無効と通知して(ステップS5003)処理を終了する。
【0091】
ステップS5001で取得した暗号方式が、図8の検証者が受け入れる暗号方式を設定したテーブルに含まれる場合(ステップS5002でYes)、証明書検証部44は、ステップS5001で取得した暗号方式に該当するフィルタ番号を図8のフィルタ番号81から取得する(ステップS5004)。次に、証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書の発行者名(issuer)の項目からCA装置の情報(例えば、認証局名)を取得する(ステップS5005)。
【0092】
ステップ5004で取得したフィルタ番号とステップS5005で取得した認証局名の組み合わせが、図8の認証局名77と例外的に無効とするフィルタ番号78に存在する場合(ステップS5006でYes)、証明書検証部44は、ステップS5003へ進む。
【0093】
ステップ5004で取得したフィルタ番号とステップS5005で取得した認証局名の組み合わせが、図8の認証局名77と例外的に無効とするフィルタ番号78に存在しない場合(ステップS5006でNo)、証明書検証部44は、暗号方式が有効と通知して(ステップS5007)処理を終了する。
【0094】
(他の実施形態)
上記実施形態では、図8に示す、検証者が受け入れる暗号方式とこの暗号方式を例外的に無効とする認証局の情報を利用して、図14に示す暗号方式のチェック処理を行う場合を例にとり説明したが、図7に示す、検証者が受け入れる暗号方式とこの暗号方式を例外的に有効とする認証局の情報を利用して、図3に示す暗号方式のチェック処理を行うようにしても良い。
【0095】
図7を用いて、設定情報保持部48に記憶されている、検証者が受け入れない暗号方式を設定したテーブルと、例外的に検証者が受け入れない暗号方式を有効にする認証局と暗号方式の関係を設定したテーブルについて説明する。
【0096】
テーブルの行の順にフィルタ番号61の列にフィルタ番号を記載し、フィルタ番号62の列に「署名アルゴリズム」あるいは「公開鍵アルゴリズム」のどちらかを記載する。また、検証者が受け入れない暗号アルゴリズムの名称を暗号アルゴリズム63の列に記載し、さらに、その暗号アルゴリズムのOID(Object IDentifier)を暗号アルゴリズムOID64の列に記載する。フィルタ種別62が公開鍵アルゴリズムである場合、受け入れない公開鍵の鍵長を鍵長65の列に記載する。該当する暗号アルゴリズムにおいて、全ての鍵長を受け入れない場合は、鍵長65の列に何も記載しない。また、受け入れない公開鍵のパラメータをパラメータ66の列に記載し、さらにそのパラメータのOIDをパラメータOID67に記載する。該当する暗号アルゴリズムにおいて、全てのパラメータを受け入れない場合は、パラメータ66とパラメータOID67の列に何も記載しない。フィルタ種別62が署名アルゴリズムである場合、鍵長65の列、パラメータ66の列、パラメータOID67の列には何も記載しない。
【0097】
例外的に特定の暗号アルゴリズムを特定の認証局から発行された証明書に対してのみ有効とする場合は、認証局の名称を認証局名68の列に記載する。また、暗号アルゴリズムを指定するために、フィルタ番号61に記されるフィルタ番号を例外的に有効とするフィルタ番号69に記載する。例外的に検証者が受け入れない暗号方式を有効としない場合は、認証局68の列と例外的に有効とするフィルタ番号69の列に何も記載しない。
【0098】
次に図13を用いて、証明書検証部44における、図11の暗号方式チェックの処理(ステップS2002、ステップS2006、ステップS2010)と、図12の暗号方式チェックの処理(ステップS3002)の詳細について述べる。図13では、図7の検証者が受け入れない暗号方式を設定したテーブルを利用する。
【0099】
証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書の署名アルゴリズム(signature Algorithm)の項目から署名アルゴリズムのOIDを、また、所有者公開鍵情報(subjctPublicKeyInfo)から公開鍵のアルゴリズムのOID、鍵長、パラメータのOIDを取得する(ステップS4001)。
【0100】
ステップS4001で取得した暗号方式が、図7の検証者が受け入れない暗号方式を設定したテーブルに含まれない場合(ステップS4002でNo)、証明書検証部44は、暗号方式が有効と通知して(ステップS4003)、処理を終了する。
【0101】
ステップS4001で取得した暗号方式が、図7の検証者が受け入れない暗号方式を設定したテーブルに含まれる場合(ステップS4002でYes)、証明書検証部44は、ステップS4001で取得した暗号方式に該当するフィルタ番号を図7のフィルタ番号61から取得する(ステップS4004)。次に、証明書検証部44は、ステップS2001、ステップS2005あるいはステップS2009で読み込んだ証明書の発行者名(issuer)の項目から認証局名を取得する(ステップS4005)。
【0102】
ステップ4004で取得したフィルタ番号61とステップS4005で取得した認証局名の組み合わせが、図7の認証局名67と例外的に有効とするフィルタ番号68に存在する場合(ステップS4006でYes)、ステップS4003へ進む。
【0103】
ステップ4003で取得したフィルタ番号とステップS4004で取得した認証局名の組み合わせが、図7の認証局名67と例外的に有効とするフィルタ番号68に存在しない場合(ステップS4006でNo)、証明書検証部44は、暗号方式が無効と通知して(ステップS4007)、処理を終了する。
【0104】
また、上記実施形態では、認証パス検証前の証明書の有効性確認依頼を受信した時と認証パス検証時に、証明書の電子署名に利用されている暗号方式をチェックする処理を例にとり説明したが、何れか一方を実施する形態であっても良い。
【0105】
また、上記実施形態では、暗号方式を、電子署名に利用する暗号アルゴリズム、公開鍵の鍵長、及び公開鍵のパラメータとして定義して、証明書の有効性確認処理を説明したが、暗号方式は何れか一つかあるいは二つを実施する形態であっても良い。
【0106】
以上本発明の実施形態について詳述したが、上記実施形態によれば、証明書の有効性確認処理を安全にかつ迅速に行うことができる証明書の有効性確認方法、これを実施する検証サーバ、プログラム及び記憶媒体を提供することができる。また、証明書の有効性確認処理における、認証パスの構築や認証パスの検証を安全かつ迅速に行うことができる。
【0107】
また、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0108】
11:端末装置、12:CA装置、13:検証サーバ、14:ネットワーク、20a、30a、40a:処理部、20b、30b、40b:記憶部、20c、30c、40c:通信部、20d、30d、40d:入出力部、21:署名付き文書作成部、22:署名・証明書検証部、23、33:制御部、24:電子文書保持部、25:鍵保持部、26:検証対象保持部、31:発行部、32:管理部、34:証明書DB、35:発行先管理リスト保持部、36:CRL保持部、37:証明書有効性確認部、41:定期自動更新部、42:証明書失効情報更新部、43:証明書更新部、44:証明書検証部、45:認証パス保持部、46:証明書失効保持部、47:証明書保持部、48:設定情報保持部、50:内部通信線、51:CPU、52:メモリ、53:外部記憶装置、54:読取装置、55:通信装置、56:入力装置、57:出力装置、59:可搬性を有する記憶媒体。
【特許請求の範囲】
【請求項1】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバにより、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する、証明書の有効性確認方法において、
前記検証サーバは、前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部を有し、
前記検証サーバにより、
前記有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、
前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断する、
ことを特徴とする証明書の有効性確認方法。
【請求項2】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバにより、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する、証明書の有効性確認方法において、
前記検証サーバは、前記証明書の電子署名に利用されている暗号方式に関する情報を有効な情報として記憶する記憶部を有し、
前記検証サーバにより、
前記認証パスの検証時に、前記認証パス中の前記証明書に記載の暗号方式に関する情報が前記記憶部に記憶されていない場合に、前記暗号方式に関する情報を無効と判断する、
ことを特徴とする証明書の有効性確認方法。
【請求項3】
前記検証サーバにより、
前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断する、
ことを特徴とする請求項1に記載の証明書の有効性確認方法。
【請求項4】
前記検証サーバにより、
前記第一、第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項3に記載の証明書の有効性確認方法。
【請求項5】
前記検証サーバにより、
前記第一、第二の暗号方式に関する情報が、無効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項3に記載の証明書の有効性確認方法。
【請求項6】
前記記憶部には、前記証明書の証明書ポリシに関する情報が記憶されており、
前記検証サーバにより、
前記認証パスの検証時に、前記記憶部の前記証明書の証明書ポリシの情報に基づいて、前記認証パス中の前記証明書の証明書ポリシが有効か否かを判定する、
ことを特徴とする請求項1乃至5の何れか1項に記載の証明書の有効性確認方法。
【請求項7】
前記証明書は、EE(End Entity)証明書、トラストアンカ証明書及び中間証明書であり、
前記暗号方式に関する情報は、前記証明書の電子署名に利用される暗号アルゴリズム、パラメータ及び公開鍵の鍵長の何れかである、
ことを特徴とする請求項1乃至6の何れか1項に記載の証明書の有効性確認方法。
【請求項8】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバであって、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する前記検証サーバにおいて、
前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部と、
前記有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断する処理部と、を有する、
ことを特徴とする検証サーバ。
【請求項9】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバであって、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する前記検証サーバにおいて、
前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部と、
前記認証パスの検証時に、前記認証パス中の前記証明書に記載の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記暗号方式に関する情報を無効と判断する、
ことを特徴とする検証サーバ。
【請求項10】
前記処理部は、
前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断する、
ことを特徴とする請求項8に記載の検証サーバ。
【請求項11】
前記処理部は、
前記第一、第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項10に記載の検証サーバ。
【請求項12】
前記処理部は、
前記第一、第二の暗号方式に関する情報が、無効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項10に記載の検証サーバ。
【請求項13】
前記記憶部には、前記証明書の証明書ポリシに関する情報が記憶されており、
前記処理部は、
前記認証パスの検証時に、前記記憶部の前記証明書の証明書ポリシの情報に基づいて、前記認証パス中の前記証明書の証明書ポリシが有効か否かを判定する、
ことを特徴とする請求項8乃至12の何れか1項に記載の検証サーバ。
【請求項14】
前記証明書は、EE(End Entity)証明書、トラストアンカ証明書および中間証明書であり、
前記暗号方式に関する情報は、前記証明書の電子署名に利用される暗号アルゴリズム、パラメータおよび公開鍵に鍵長の何れかである、
ことを特徴とする請求項8乃至13の何れか1項に記載の検証サーバ。
【請求項15】
コンピュータに、請求項1乃至7の何れか1項に記載の証明書の有効性確認方法を実行させるためのプログラム。
【請求項16】
コンピュータにより読み出し可能なプログラムを格納した記憶媒体であって、請求項15に記載のプログラムを格納した、
ことを特徴とする記憶媒体。
【請求項1】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバにより、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する、証明書の有効性確認方法において、
前記検証サーバは、前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部を有し、
前記検証サーバにより、
前記有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、
前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断する、
ことを特徴とする証明書の有効性確認方法。
【請求項2】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバにより、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する、証明書の有効性確認方法において、
前記検証サーバは、前記証明書の電子署名に利用されている暗号方式に関する情報を有効な情報として記憶する記憶部を有し、
前記検証サーバにより、
前記認証パスの検証時に、前記認証パス中の前記証明書に記載の暗号方式に関する情報が前記記憶部に記憶されていない場合に、前記暗号方式に関する情報を無効と判断する、
ことを特徴とする証明書の有効性確認方法。
【請求項3】
前記検証サーバにより、
前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断する、
ことを特徴とする請求項1に記載の証明書の有効性確認方法。
【請求項4】
前記検証サーバにより、
前記第一、第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項3に記載の証明書の有効性確認方法。
【請求項5】
前記検証サーバにより、
前記第一、第二の暗号方式に関する情報が、無効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項3に記載の証明書の有効性確認方法。
【請求項6】
前記記憶部には、前記証明書の証明書ポリシに関する情報が記憶されており、
前記検証サーバにより、
前記認証パスの検証時に、前記記憶部の前記証明書の証明書ポリシの情報に基づいて、前記認証パス中の前記証明書の証明書ポリシが有効か否かを判定する、
ことを特徴とする請求項1乃至5の何れか1項に記載の証明書の有効性確認方法。
【請求項7】
前記証明書は、EE(End Entity)証明書、トラストアンカ証明書及び中間証明書であり、
前記暗号方式に関する情報は、前記証明書の電子署名に利用される暗号アルゴリズム、パラメータ及び公開鍵の鍵長の何れかである、
ことを特徴とする請求項1乃至6の何れか1項に記載の証明書の有効性確認方法。
【請求項8】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバであって、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する前記検証サーバにおいて、
前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部と、
前記有効性確認依頼に含まれる証明書から第一の暗号方式に関する情報を取得し、前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第一の暗号方式に関する情報を無効と判断する処理部と、を有する、
ことを特徴とする検証サーバ。
【請求項9】
複数の端末装置及び複数の認証局とネットワークに接続された検証サーバであって、任意の端末装置からネットワークを介して証明書の有効性確認依頼を受信し、第一の認証局から第二の認証局までの認証パスを構築し、該認証パスの検証を行い、該検証結果を前記証明書の有効性確認依頼元の端末装置へ前記ネットワークを介して送信する前記検証サーバにおいて、
前記証明書の電子署名に利用されている暗号方式に関する情報を記憶する記憶部と、
前記認証パスの検証時に、前記認証パス中の前記証明書に記載の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記暗号方式に関する情報を無効と判断する、
ことを特徴とする検証サーバ。
【請求項10】
前記処理部は、
前記第一の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記認証パスの検証時に、前記認証パス中の前記証明書に記載の第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されていない場合に、前記第二の暗号方式に関する情報を無効と判断する、
ことを特徴とする請求項8に記載の検証サーバ。
【請求項11】
前記処理部は、
前記第一、第二の暗号方式に関する情報が、有効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項10に記載の検証サーバ。
【請求項12】
前記処理部は、
前記第一、第二の暗号方式に関する情報が、無効な情報として、前記記憶部に記憶されており、かつ、前記証明書が、前記第一、第二の暗号方式を有効とする認証局から発行されていない場合に、前記第一、第二の暗号方式を無効と判断する、
ことを特徴とする請求項10に記載の検証サーバ。
【請求項13】
前記記憶部には、前記証明書の証明書ポリシに関する情報が記憶されており、
前記処理部は、
前記認証パスの検証時に、前記記憶部の前記証明書の証明書ポリシの情報に基づいて、前記認証パス中の前記証明書の証明書ポリシが有効か否かを判定する、
ことを特徴とする請求項8乃至12の何れか1項に記載の検証サーバ。
【請求項14】
前記証明書は、EE(End Entity)証明書、トラストアンカ証明書および中間証明書であり、
前記暗号方式に関する情報は、前記証明書の電子署名に利用される暗号アルゴリズム、パラメータおよび公開鍵に鍵長の何れかである、
ことを特徴とする請求項8乃至13の何れか1項に記載の検証サーバ。
【請求項15】
コンピュータに、請求項1乃至7の何れか1項に記載の証明書の有効性確認方法を実行させるためのプログラム。
【請求項16】
コンピュータにより読み出し可能なプログラムを格納した記憶媒体であって、請求項15に記載のプログラムを格納した、
ことを特徴とする記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−193416(P2011−193416A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−60124(P2010−60124)
【出願日】平成22年3月17日(2010.3.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願日】平成22年3月17日(2010.3.17)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]