説明

証明書検証システム、経路制約情報生成装置、証明書検証装置および証明書検証方法

【課題】最適な証明書パスを効率良く特定し、最適な証明書パスに基づいて検証対象証明書を検証できるようにすることを目的とする。
【解決手段】パス情報生成装置200は、多数存在する証明書パスを検証して正当な証明書パスを特定する(S110)。そして、パス情報生成装置200は、正当な証明書パス毎に経路情報および制約情報を生成する(S120)。経路情報は正当な証明書パスを構成する複数の証明書を示し、制約情報は正当な証明書パスの制約条件を示す。パス検証装置300は、多数の経路情報のうち検証対象証明書103が制約条件を満たす経路情報を制約情報に基づいて特定する(S140)。パス検証装置300は、特定した経路情報に示される最下位の証明書を用いて検証対象証明書103を検証する(S150)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、公開鍵証明書の検証に用いる証明書検証システム、経路制約情報生成装置、証明書検証装置および証明書検証方法に関するものである。
【背景技術】
【0002】
Public Key Infrastructure(PKI)を利用したシステムにおいては、公開鍵と持ち主の結びつきを証明する公開鍵証明書を検証して公開鍵証明書が正しいことを確認し、その公開鍵証明書に含まれている公開鍵を使用する。
【0003】
例えば、PKIを利用するシステムとして、署名付き電子メールを送受信するメールシステムが挙げられる。
以下、メールシステムを例にして公開鍵証明書の検証について説明する。
【0004】
署名付き電子メールを受信した受信者は、受信した署名付き電子メールが偽造されていない正当なメールであることを確認するため、署名付き電子メールの署名をメール送信者の公開鍵を使用して検証する。
公開鍵を使用するためには、公開鍵の持ち主とメールの送信者を名乗る人物とが同一人物であることを確認する必要がある。つまり、送信者の公開鍵と送信者の名前との結びつきを確認する必要がある。この結びつきを証明するものが公開鍵証明書と呼ばれるものである。例えば、公開鍵証明書は署名付き電子メールと共に送信される。
公開鍵証明書が正しければ、送信者の名前と公開鍵との結びつきが保障されため、公開鍵を利用して署名付き電子メールの署名を検証し、メールの正当性を確認することができる。
以下、公開鍵証明書を「証明書」という。
【0005】
メールの送信者は、認証局(Certification Authority:CA)と呼ばれる信頼される機関に対して公開鍵と名前とを含む申請情報を提出し、認証局の署名が付与された証明書を取得する。
【0006】
証明書に含まれる認証局の署名が正しければ、証明書は正しい証明書である。
証明書に含まれる署名を検証するには、証明書を発行した認証局の公開鍵を使用する。
このため、認証局の公開鍵と認証局を名乗る者との結びつきを確認する必要が生じる。
そこで、メールの送信者に対して証明書を発行した認証局の名前とその認証局の公開鍵との結びつきを証明する証明書を別の認証局が発行する。
【0007】
複数の認証局は、典型的な例として階層構造を構成する。そして、上位の認証局から下位の認証局へ段階的に証明書が発行される。
階層構造の頂点に位置する認証局は自分自身に証明書を発行する。自分自身に発行する証明書は自己発行(Self−Issued)証明書と呼ばれる。特に、署名とその署名の検証に使用する公開鍵とを含む自己発行証明書は自己署名(Self−Signed)証明書と呼ばれる。
【0008】
例えば、以下のように証明書が発行されたとする。
「Cert_TA⇒Cert_CA2⇒Cert_CA1⇒Cert_EE」(後述する証明書パス)
【0009】
「Cert_xx」は「xx」に対して発行された証明書を表す。特に「Cert_TA」は自己署名証明書を表す。
「Cert_xx→Cert_yy」は証明書「Cert_xx」により証明書「Cert_yy」が証明されることを表す。
「TA」は階層構造の頂点に位置する認証局を表す。認証局「TA」は、証明書「Cert_EE」を検証する利用者(例えば、メールの受信者)に信頼される認証局(トラストアンカー)である。
「CAx」は「TA」以外の認証局を表し、「EE」は証明書の利用者(エンドエンティティ、例えば、メールの送信者)を表す。
【0010】
つまり、証明書「Cert_EE」の署名は証明書「Cert_CA1」に含まれる公開鍵を用いて検証され、証明書「Cert_CA1」の署名は証明書「Cert_CA2」に含まれる公開鍵を用いて検証され、証明書「Cert_CA2」の署名は証明書「Cert_TA」に含まれる公開鍵を用いて検証される。
【0011】
このような証明書の連鎖を「証明書パス」と呼ぶ。
【0012】
証明書「Cert_EE」の署名を検証する場合は、上記のように証明書「Cert_TA」にたどり着く証明書パスを構築する必要がある。
証明書パス上の全ての証明書の署名が正しいことを条件に、証明書「Cert_EE」に含まれる公開鍵の持ち主が「EE」であることが証明される。
【0013】
証明書「Cert_EE」の検証者(例えば、メールの受信者)は、認証局「TA」の自己署名証明書「Cert_TA」を信頼する。さらに、検証者は、証明書「Cert_TA」に含まれる公開鍵に基づいて正当性が確認された証明書「Cert_CA2」を信頼する。さらに、検証者は、証明書「Cert_CA2」に含まれる公開鍵に基づいて正当性が確認された証明書「Cert_CA1」を信頼する。そして、検証者は、証明書「Cert_CA1」に含まれる公開鍵を用いて証明書「Cert_EE」を検証する。この信頼の連鎖に基づいて証明書「Cert_EE」の正しさが最終的に確認される。
【0014】
検証者により信頼される認証局「TA(トラストアンカー)」が発行する証明書(例えば、自己署名証明書)は「トラストアンカー証明書」と呼ばれる。
例えば、トラストアンカー証明書は、OS(オペレーションシステム)やブラウザなどのアプリケーションプログラムに信頼できる情報として予め設定される。
【0015】
証明書には、その証明書の持ち主(Subject)や発行者(Issuer)などが設定される。
例えば、上記の証明書パスにおいて、証明書「Cert_EE」のSubjectは「EE」であり、Issuerは「CA1」である。また、証明書「Cert_CA1」のSubjectは「CA1」であり、Issuerは「CA2」である。また、証明書「Cert_TA」のSubjectは「TA」であり、Issuerも「TA」である。
つまり、証明書パスにおいて、下位の証明書のIssuerがその直接上位の証明書のSubjectになる。
【0016】
例えば、署名付き電子メール用の証明書「Cert_EE」にはSubjectとしてメールの送信者(EE)のメールアドレスが設定される。
【0017】
署名付き電子メールの受信者は、証明書パスを例えば以下のように取得する。
・証明書パスはメールの送信者によりメールと共に送信される。
・証明書パスに含まれる証明書のうちメールの送信者に対する証明書「Cert_EE」はメールと共に送信される。証明書パスに含まれるその他の証明書は証明書を提供するディレクトリシステムなどから受信者により取得される。
【0018】
送信者と受信者が同一のドメイン(ネットワーク)に所属し、当該ドメインに属する同一のトラストアンカーを信頼する場合、証明書パスは当該ドメインに属する認証局の証明書で構成されるため、証明書パスの数は一つまたは少数となる。
【0019】
しかし、送信者と受信者が異なるドメインに所属する場合、送信者と受信者は自身が所属するドメインのトラストアンカーを信頼するため、送信者と受信者とでトラストアンカーが異なる。
この場合、証明書パスは、受信者のドメインのトラストアンカー証明書「Cert_TA」、送信者のドメインのエンドエンティティ証明書「Cert_EE」および受信者のドメイン内の認証局から送信者のドメイン内の認証局に対して発行された証明書を含む必要がある。受信者のドメイン内の認証局から送信者のドメイン内の認証局に対して発行された証明書のように、他のドメイン内の認証局に対して発行される証明書を「相互認証証明書」という。
相互認証証明書を用いることにより複数のドメインを中継して証明書パスを構築することができるため、トラストアンカー証明書「Cert_TA」とエンドエンティティ証明書「Cert_EE」とを繋ぐ証明書パスは多数存在することになる。
【0020】
特許文献1は、証明書パスの構築および検証を効率化する公開鍵暗号運用システムを開示している。
この公開鍵暗号運用システムは、証明書収集情報生成装置と証明書検証装置とを備える。証明書収集情報生成装置は、証明書パスを構築する複数の証明書それぞれの識別子を並べて証明書収集情報を生成する。証明書検証装置は、証明書収集情報を利用して証明書パスの構築および検証を実施する。証明書収集情報を利用することにより、証明書パスの構築および検証を効率良く行うことができる。
【0021】
特許文献1では、証明書パスの構築を効率化するため、パスオーソリティと呼ばれる機関が証明書収集情報を提供し、証明書検証装置が証明書収集情報を取り込む。証明書検証装置は証明書収集情報を参照して最適な証明書パスを構築する。証明書を含む証明書パスそのものではなく、証明書を含まずに証明書を識別子で表す証明書収集情報構築情報を管理することにより管理データサイズを小さくするという効果もある。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特許第3801782号公報
【発明の概要】
【発明が解決しようとする課題】
【0023】
近年、認証局間の階層関係はドメインを跨って複雑化し、同一のトラストアンカーとエンドエンティティとの組み合わせに対して多数の証明書パスが存在する。
以下のように、認証局間の階層関係(IssuerとSubjectの関係)が証明書収集情報によってわかっても最適な証明書パスを選択できるとは限らない。
【0024】
証明書には拡張項目(Extension)があり、拡張項目には制約条件が設定される。
証明書パスは、検証対象の証明書の拡張項目に設定されている制約条件を満たす必要がある。
また、認証局の経路が同じであるが証明書の拡張項目に設定された制約条件が異なる複数の証明書パスはそれぞれ異なる証明書パスとして扱われる。証明書パスに含まれる証明書が異なる目的(制約条件)で発行されたからである。したがって、経路が同一である複数の証明書パスには検証対象の制約条件を満たす証明書パスと検証対象の制約条件を満たさない証明書パスとが含まれる可能性がある。
トラストアンカーとエンドエンティティとが該当する証明書パスは多数存在する可能性があるため、検証対象の制約条件を満たす証明書パスを最適な証明書パスとして絞り込む必要がある。
【0025】
証明書パスが検証対象証明書の制約条件を満たすか否かは認証局間の階層関係からは分からない。つまり、証明書パスが検証対象証明書の制約条件を満たすか否かを証明書収集情報で判定することはできない。
【0026】
証明書パスが検証対象証明書の制約条件を満たすか否かを判定するには、証明書パスに含まれる複数の証明書それぞれに設定されている制約条件と検証対象証明書の制約条件とを比較する必要がある。
【0027】
特許文献1に基づいて最適な証明書パスを構築する場合、証明書収集情報に基づいて複数の証明書パス候補を生成することに加えて、複数の証明書パス候補それぞれの制約条件を検証しなければならない可能性がある。
【0028】
本発明は、例えば、最適な証明書パスを効率良く特定し、最適な証明書パスに基づいて検証対象証明書を検証できるようにすることを目的とする。
【課題を解決するための手段】
【0029】
本発明の証明書検証システムは、
特定の認証局に対して発行された上位の電子証明書と前記特定の認証局によって発行された下位の電子証明書として関係する複数の電子証明書を示す情報であって最上位の電子証明書を発行した認証局と最下位の電子証明書を発行された認証局とを含んだ情報を経路情報として複数記憶する経路情報記憶部と、
特定の制約条件が設定された複数の電子証明書を記憶する情報生成側証明書記憶部と、
前記経路情報記憶部に記憶された経路情報毎に経路情報に示される複数の電子証明書を前記情報生成側証明書記憶部から取得する経路証明書取得部と、
前記経路証明書取得部により経路情報毎に取得された複数の電子証明書それぞれの制約条件に基づいて、経路情報の制約条件を示す経路制約情報を経路情報毎に生成する経路制約情報生成部と
を備える経路制約情報生成装置と、
複数の電子証明書を記憶する検証側証明書記憶部と、
検証対象の電子証明書を検証対象証明書として入力すると共に複数の経路情報と複数の経路情報それぞれの経路制約情報とを入力し、所定の認証局によって発行された電子証明書を最上位の電子証明書として示すと共に前記検証対象証明書を発行した認証局に対して発行された電子証明書を最下位の電子証明書として示す経路情報であって前記検証対象証明書に対応する制約条件を当該経路制約情報に示す経路情報を特定経路情報として特定する経路情報特定部と、
前記経路情報特定部により特定された特定経路情報に最下位の電子証明書として示される電子証明書を前記検証側証明書記憶部から特定証明書として取得する特定証明書取得部と、
前記特定証明書取得部により取得された特定証明書に基づいて、前記検証対象証明書が正当な電子証明書であるか否かを検証する証明書検証部と
を備える証明書検証装置とを有する。
【発明の効果】
【0030】
本発明によれば、例えば、最適な証明書パス(特定経路情報)を効率良く特定し、最適な証明書パスに基づいて検証対象証明書を検証できる。
【図面の簡単な説明】
【0031】
【図1】実施の形態1における証明書検証システム100の概要図。
【図2】実施の形態1における証明書パス、経路情報および証明書を説明する図。
【図3】実施の形態1においてドメインを跨る証明書パスを説明する図。
【図4】実施の形態1における多数の証明書パスの一例を示す図。
【図5】実施の形態1におけるパス情報生成装置200の機能構成図。
【図6】実施の形態1におけるパス検証装置300の機能構成図。
【図7】実施の形態1におけるパス情報生成装置200のパス情報生成方法を示すフローチャート。
【図8】実施の形態1における証明書294の発行関係の具体例を表す図。
【図9】実施の形態1における経路情報293の具体例を示す図。
【図10】実施の形態1における経路情報293の具体例を示す図。
【図11】実施の形態1における経路情報293の詳細例を示す図。
【図12】実施の形態1におけるパス情報生成方法(S210、S211)の概要図。
【図13】実施の形態1におけるパス情報生成方法(S220、S230)の概要図。
【図14】実施の形態1におけるパス情報生成方法(S240、S241)の概要図。
【図15】実施の形態1におけるパス検証装置300のパス検証方法を示すフローチャート。
【図16】実施の形態1におけるパス検証方法(S320、S321)の概要図。
【図17】実施の形態1におけるパス検証方法(S322〜S324)の概要図。
【図18】実施の形態1におけるパス検証方法(S330、S340)の概要図。
【図19】実施の形態1におけるパス情報生成装置200、パス検証装置300のハードウェア資源の一例を示す図。
【図20】実施の形態4におけるパス検証装置300の機能構成図。
【図21】実施の形態4におけるパス検証装置300のパス検証方法を示すフローチャート。
【発明を実施するための形態】
【0032】
実施の形態1.
証明書パスを構成する複数の公開鍵証明書(電子証明書の一例)を示す経路情報と経路情報の制約条件を示す制約情報とを予め生成することにより、公開鍵証明書の検証を容易にする証明書検証システム100について説明する。
以下、公開鍵証明書を「証明書」という。
【0033】
図1は、実施の形態1における証明書検証システム100の概要図である。
実施の形態1における証明書検証システム100の概要について、図1に基づいて以下に説明する。
【0034】
図1において、証明書検証システム100はパスオーソリティ101とユーザ端末102とを有する。パスオーソリティ101は後述するパス情報生成装置200の一例であり、ユーザ端末102は後述するパス検証装置300の一例である。
【0035】
パスオーソリティ101は、多数存在する証明書パスを検証して正当な証明書パスを特定する(S110)。そして、パスオーソリティ101は、正当な証明書パス毎に経路情報(後述する検証済み経路情報204)および制約情報(後述する拡張制約情報205)を生成する(S120)。
【0036】
パスオーソリティ101により生成された多数の経路情報および制約情報がユーザ端末102に提供される(S130)。
【0037】
ユーザ端末102は、多数の経路情報のうち検証対象証明書103が制約条件を満たす経路情報を制約情報に基づいて特定する(S140)。
ユーザ端末102は、特定した経路情報に示される最下位の証明書を用いて検証対象証明書103を検証する(S150)。
【0038】
以下に、証明書パスについて説明する。
【0039】
図2は、実施の形態1における証明書パス、経路情報および証明書を説明する図である。
図3は、実施の形態1においてドメインを跨る証明書パスを説明する図である。
図4は、実施の形態1における多数の証明書パスの一例を示す図である。
【0040】
図2において、「CA1」「CA2」「CA3」は証明書を発行する認証局を表す。
認証局CA1〜3は、CA1を最上位(最上流、最上層)の認証局、CA3を最下位(最下流、最下層)の認証局として、「CA1→CA2→CA3」という階層関係にある。
【0041】
「Cert_X(Y)」は、認証局Yによって認証局X(または、自身やエンドエンティティ)に対して発行された証明書を表す。
認証局Yは証明書Cert_X(Y)を発行した発行者であり、認証局Xは証明書Cert_X(Y)を発行された被発行者である。
【0042】
証明書Cert_CA1(CA1)は、最上位の認証局CA1によって自身に対して発行される。
証明書Cert_CA2(CA1)は、最上位の認証局CA1によって一つ下位の認証局CA2に対して発行される。
証明書Cert_CA3(CA2)は、認証局CA2によって一つ下位(最下位)の認証局CA3に対して発行される。
証明書Cert_EE1(CA3)は、最下位の認証局CA3によって証明書の利用者EE1(エンドエンティティ)に対して発行される。
【0043】
上記の4つの証明書Cert_CA1(CA1)、Cert_CA2(CA1)、Cert_CA3(CA2)、Cert_EE1(CA3)は証明書パスを構成する。
【0044】
証明書パスは、上記の4つの証明書のように下位の証明書の発行者が上位の証明書の被発行者である複数の証明書で構成される。
上位の証明書は、下位の証明書の持ち主(発行者)を証明する。
実施の形態において、証明書Xの発行者が証明書Yの被発行者である場合、証明書Yを上位の証明書、証明書Xを下位の証明書とする。
【0045】
また、利用者が信用する認証局(図2では「CA1」)を「トラストアンカー104」といい、トラストアンカー104が自身に対して発行した証明書「Cert_CA1(CA1)」を自己発行証明書または自己署名証明書という。
以下、トラストアンカー104の自己発行証明書(または自己署名証明書)を「トラストアンカー証明書105」という。
【0046】
利用者EE1は証明書パスの最下位の証明書Cert_EE1(CA3)を含む電子メール(電子文書の一例)を利用者EE2に送信する。利用者EE2は認証局CA1をトラストアンカー104として信頼するものとする。
電子メールに含まれる証明書Cert_EE1(CA3)は証明書パスを遡って最終的にトラストアンカー証明書「Cert_CA1(CA1)」(最上位の証明書)により証明されるため、利用者EE2は電子メールの生成者が利用者EE1であることを確認できる。
【0047】
また、各証明書は基本フィールドと拡張部とを有する。
基本フィールドには「発行者(Issuer)」「被発行者(Subject)」「被発行者の公開鍵」「発行者の署名」「有効期間」などの基本項目が設定される。
拡張部には制約条件(例えば、名前制約、ポリシー制約)などの拡張項目が設定される。
【0048】
図2は特定のネットワーク(ドメイン)内における証明書パスを示しているが、証明書パスはネットワークを跨る場合がある。
【0049】
例えば、図3のように、ドメインBに属する利用者BEEがドメインAに属する利用者AEEに電子メールを送信する場合、電子メールに含まれる証明書Cert_BEE(B3)の証明書パスはドメインAとドメインBとに跨る。
【0050】
ドメインAとドメインBとを跨いで証明書パスを構築するため、ドメインAに属する認証局A2はドメインBに属する認証局B2に対して証明書Cert_B2(A2)を発行する。
このように、ドメインを跨って発行される証明書Cert_B2(A2)を「相互認証証明書」という。
【0051】
証明書Cert_BEE(B3)は証明書パスを遡って最終的に利用者AEEのトラストアンカー証明書「Cert_A1(A1)」により証明される。
このため、利用者AEEは証明書Cert_BEE(B3)を含む電子メールの生成者が利用者BEEであることを確認できる。
【0052】
証明書パスはドメインを跨いで構築することができるため、一組のトラストアンカー104(最上位の認証局)とエンドエンティティ(利用者)とに対して複数の証明書パスが存在し得る。
【0053】
認証局間の関係は、図2に示すような同一ドメイン内の階層関係に限らない。例えば、、認証局間には図3に示すような異なるドメイン間の相互発行の関係もある。
【0054】
図4に複数の証明書パスが存在する例を示す。
図4において「Issuer」は証明書の発行者を示し、「Subject」は証明書の被発行者を示す。
図4は、一組のトラストアンカー証明書105と検証対象証明書103とに対して以下の6つの証明書パス(1)〜(6)が存在することを示している。
【0055】
証明書パス(1):「トラストアンカー証明書105→パスa→パスd」、
証明書パス(2):「トラストアンカー証明書105→パスa→パスe」、
証明書パス(3):「トラストアンカー証明書105→パスb→パスd」、
証明書パス(4):「トラストアンカー証明書105→パスb→パスe」、
証明書パス(5):「トラストアンカー証明書105→パスc→パスd」、
証明書パス(6):「トラストアンカー証明書105→パスc→パスe」
【0056】
なお、証明書や電子文書(例えば、電子メール)の送受信は、ネットワーク(例えば、インターネット)を介してコンピュータ(計算機、装置)間で行われる。
【0057】
以下に、パスオーソリティ101(図1参照)として機能するパス情報生成装置200の詳細およびユーザ端末102(図1参照)として機能するパス検証装置300の詳細について説明する。
【0058】
図5は、実施の形態1におけるパス情報生成装置200の機能構成図である。
実施の形態1におけるパス情報生成装置200の機能構成について、図5に基づいて以下に説明する。
【0059】
パス情報生成装置200(経路制約情報生成装置の一例)は、経路情報解析部210(経路情報連結部の一例)、パス構築部220(情報生成側経路証明書取得部の一例)、パス検証部230(証明書パス検証部の一例)およびパス制約情報生成部240(経路制約情報生成部の一例)を備える。各「〜部」は以下に説明する処理をCPU(Central Processing Unit)を用いて実行する。
さらに、パス情報生成装置200は生成装置記憶部290(経路情報記憶部、情報生成側証明書記憶部の一例)を備える。
【0060】
生成装置記憶部290はパス情報生成装置200で使用されるデータを記憶する。
始点認証局リスト291、終点認証局リスト292、経路情報293、証明書294、検証パラメータ295および拡張項目リスト296は生成装置記憶部290に記憶されるデータの一例である。
また、選択経路情報201、証明書パス202、検証済み経路情報204および拡張制約情報205も生成装置記憶部290に記憶されるデータの一例である。
【0061】
始点認証局リスト291は、エンドエンティティに対して証明書を発行する複数の認証局を示す情報である。
以下、エンドエンティティに対して証明書を発行する認証局を「始点認証局」という。
【0062】
終点認証局リスト292は、トラストアンカー証明書を発行する複数の認証局(トラストアンカー)を示す情報である。
以下、トラストアンカー証明書を発行する認証局を「終点認証局」という。
【0063】
経路情報293は、特定の認証局に対して発行された上位の証明書と前記特定の認証局によって発行された下位の証明書として関係する複数の証明書を示す情報である。また、経路情報293は、最上位の証明書を発行した認証局と最下位の電子証明書を発行された認証局とを含んだ情報である。
生成装置記憶部290には複数の経路情報293が予め記憶されているものとする。
【0064】
また、生成装置記憶部290には複数の証明書294が予め記憶されているものとする。
【0065】
検証パラメータ295は、証明書294に対して予め指定された検証事項を示す情報である。
【0066】
拡張項目リスト296は、証明書294に対して予め指定された拡張項目を示す情報である。
【0067】
経路情報解析部210は、始点認証局と終点認証局との各組み合わせに対応する複数の経路情報293を特定する。
また、経路情報解析部210は、生成装置記憶部290に記憶された複数の経路情報293のうちN個の経路情報293を特定の順番で連結させた連結経路情報を新たな経路情報293として生成する。つまり、経路情報解析部210は、n(1≦n≦N−1)番目の経路情報の最上位の電子証明書を発行した認証局(終点認証局)とn+1番目の経路情報の最下位の電子証明書を発行された認証局(始点認証局)とが一致する連結経路情報を新たに経路情報293として生成する。
【0068】
パス構築部220は、生成装置記憶部290に記憶された経路情報293毎に経路情報293に示される複数の証明書294(証明書パス202)を生成装置記憶部290から取得する。
【0069】
パス検証部230は、パス構築部220により取得された全ての証明書294が有効であるか否かを経路情報293毎に検証する。そして、パス検証部230は、全ての証明書294が有効である経路情報293を検証済み経路情報204として特定する。
【0070】
パス制約情報生成部240は、パス構築部220により経路情報毎に取得された複数の証明書294それぞれの制約条件に基づいて、経路情報293の制約条件を示す拡張制約情報205(経路制約情報)を経路情報293毎に生成する。
例えば、パス制約情報生成部240は、パス検証部230により特定された検証済み経路情報204の拡張制約情報205を生成する。
【0071】
図6は、実施の形態1におけるパス検証装置300の機能構成図である。
実施の形態1におけるパス検証装置300の機能構成について、図6に基づいて以下に説明する。
【0072】
パス検証装置300(証明書検証装置の一例)は、検証対象証明書入力部310、経路情報特定部320、始点証明書取得部330(特定証明書取得部の一例)および検証対象証明書検証部340(証明書検証部の一例)を備える。各「〜部」は以下に説明する処理をCPUを用いて実行する。
さらに、パス検証装置300は検証装置記憶部390(検証側証明書記憶部の一例)を備える。
【0073】
検証装置記憶部390はパス検証装置300で使用されるデータを記憶する。
検証済み経路情報204、拡張制約情報205、証明書391および検証パラメータ392は検証装置記憶部390に記憶されるデータの一例である。
また、検証対象証明書301、トラストアンカー証明書302、候補経路情報303、候補制約情報304、探索済み制約情報305(符号「303」〜「305」図示省略)、探索済み経路情報306、探索済み始点証明書307および検証結果308も検証装置記憶部390に記憶されるデータの一例である。
【0074】
検証対象証明書301は、エンドエンティティに対して発行された証明書であり、検証対象となる証明書である。
【0075】
トラストアンカー証明書302は、利用者が信頼するトラストアンカーにより発行された自己署名証明書である。
【0076】
検証済み経路情報204および拡張制約情報205はパス情報生成装置200により生成された情報である。
パス検証装置300はパス情報生成装置200により生成された複数の検証済み経路情報204と複数の拡張制約情報205とを取得する。検証装置記憶部390には取得した複数の検証済み経路情報204と複数の拡張制約情報205が予め記憶されているものとする。
検証済み経路情報204と拡張制約情報205とは一対一で対応している。
【0077】
また、検証装置記憶部390には複数の証明書391が予め記憶されているものとする。
【0078】
検証パラメータ392は、検証対象証明書301に対して予め指定された検証事項を示す情報である。
【0079】
検証対象証明書入力部310は、検証対象証明書301を入力する。
また、検証対象証明書入力部310はトラストアンカー証明書302を入力する。
【0080】
経路情報特定部320は、トラストアンカー証明書302を最上位の証明書として示すと共に検証対象証明書301を発行した認証局に対して発行された証明書を最下位の証明書として示す検証済み経路情報204であって検証対象証明書301に対応する制約条件を当該拡張制約情報205に示す検証済み経路情報204を探索済み経路情報306(特定経路情報)として特定する。
【0081】
始点証明書取得部330は、経路情報特定部320により特定された探索済み経路情報306に最下位の証明書として示される証明書391を検証装置記憶部390から探索済み始点証明書307(特定証明書)として取得する。
【0082】
検証対象証明書検証部340は、始点証明書取得部330により取得された探索済み始点証明書307に基づいて、検証対象証明書301が正当な証明書であるか否かを検証する。
【0083】
図7は、実施の形態1におけるパス情報生成装置200のパス情報生成方法を示すフローチャートである。
実施の形態1においてパス情報生成装置200が実行するパス情報生成方法について、図7に基づいて以下に説明する。
【0084】
パス情報生成方法により複数の検証済み経路情報204が特定され、検証済み経路情報204に対応する拡張制約情報205が検証済み経路情報204毎に生成される。
パス情報生成装置200の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
【0085】
まず、パス情報生成方法の概要について説明する。
【0086】
経路情報解析部210は、始点認証局および終点認証局を選択し(S210)、始点認証局と終点認証局とに対応する複数の経路情報293(選択経路情報201)を特定する(S211)。
パス構築部220は、複数の選択経路情報201に対応する複数の証明書パス202を生成する(S220)。
パス検証部230は、複数の証明書パス202それぞれを検証し(S230)、正当な証明書パス202に対応する選択経路情報201(204)を特定する(S231)。
パス制約情報生成部240は、正当な証明書パス202に含まれる複数の証明書294それぞれから拡張制約(拡張項目に設定された制約条件)を取得し(S240)、複数の証明書294それぞれの拡張制約を含んだ拡張制約情報205を生成する(S241)。
S210〜S241は、始点認証局と終点認証局の全ての組み合わせに対して実行される(S219)。
【0087】
図8は、実施の形態1における証明書294の発行関係の具体例を表す図である。
図9、図10は、実施の形態1における経路情報293の具体例を示す図である。
図11は、実施の形態1における経路情報293の詳細例を示す図である。
【0088】
証明書294の発行関係が図8のような関係である場合、図9に示す経路情報293(293_1〜6)が生成装置記憶部290に予め記憶される。
図9に示す経路情報293は二つの証明書294の関係を表している。但し、図10に示す経路情報293(293_7〜9)のように、経路情報293は三つ以上の証明書294の関係を表しても構わない。
図8や図9に示す経路情報293の表記はRFC4158で使用されているものである。
【0089】
図11に示すように、経路情報293は、証明書294毎に識別情報として「発行者(Issuer)」「シリアルナンバー(SN)」「被発行者(Subject)」を示す。証明書294は「発行者」と「シリアルナンバー」とにより一意に区別される。つまり、「発行者」と「シリアルナンバー」との組み合わせはユニークである。
経路情報293には証明書294の実体は含まれない。
証明書294は識別情報(発行者、シリアルナンバー)を用いて検索する。
【0090】
例えば、経路情報293は各認証局または特定の認証局から提供される。
【0091】
次に、図8〜図11に示した例を使って、パス情報生成方法(図7)の詳細を説明する。
【0092】
<S210>
経路情報解析部210は、始点認証局リスト291から始点認証局を一つ選択し、終点認証局リスト292から終点認証局を一つ選択する。
S210の後、処理はS211に進む。
【0093】
<S211>
経路情報解析部210は、S210において選択した始点認証局および終点認証局に対応する複数の経路情報293を特定または生成する。
【0094】
図12は、実施の形態1におけるパス情報生成方法(S210、S211)の概要図である。
図12に示すように、経路情報解析部210は、S210において始点認証局CAy2および終点認証局CAx1を選択したものとする。
S211において、経路情報解析部210は、図10に示した経路情報293のうち最下位の証明書294の被発行者が始点認証局CAy2であり、最上位の証明書294の発行者が終点認証局CAx1である3つの経路情報293_7〜9を特定する。
【0095】
経路情報解析部210は、図9のように始点認証局CAy2および終点認証局CAx1に対応する経路情報293が無い場合、複数の経路情報293を連結させて当該経路情報293を生成する。
【0096】
例えば、経路情報解析部210は以下の連結規則(a)および(b)に従って当該経路情報293を生成する。N個の経路情報293を経路情報N、経路情報N−1、・・・、経路情報1の並びで組み合わせて当該経路情報293を生成したものとする。
連結規則(a):「経路情報Nの最上位の証明書294の発行者は終点認証局CAx1であり、経路情報1の最下位の証明書の被発行者は始点認証局CAy2である」。
連結規則(b):「経路情報n+1(n=1〜N−1)の最下位の証明書294の被発行者と経路情報nの最上位の証明書の発行者とが同一である」。
【0097】
例えば、経路情報解析部210は最上位の証明書の発行者が終点認証局CAx1である経路情報Nを選択し、経路情報Nに対して連結規則(b)を満たす経路情報N−1を特定する。
さらに、経路情報解析部210は経路情報N−1に対して連結規則(b)を満たす経路情報N−2を特定する。
以後、経路情報解析部210は、最下位の証明書の被発行者が始点認証局CAy2である経路情報1が特定されるまで、連結規則(b)を満たす経路情報の特定を繰り返す。
【0098】
例えば、経路情報解析部210は、図9に示す経路情報293_2、3を連結させて経路情報293_7(図12参照)を生成する。
さらに、経路情報解析部210は、経路情報293_2、4を連結させて経路情報293_8を生成し、経路情報293_2、5を連結させて経路情報293_9を生成する。
【0099】
図7に戻り、パス情報生成方法の説明を続ける。
【0100】
以下、S211において経路情報解析部210が特定または生成した経路情報293を選択経路情報201という。
S211の後、処理はS220に進む。
【0101】
<S220>
パス構築部220は、選択経路情報201に示される複数の証明書294を生成装置記憶部290から取得し、取得した複数の証明書294を含んだ証明書パス202を生成する。パス構築部220は、選択経路情報201毎に証明書パス202を生成する。
【0102】
該当する証明書294が生成装置記憶部290に記憶されていない場合、パス構築部220は証明書294を提供するディレクトリシステム(外部の記憶装置)などから該当する証明書294を取得する。
【0103】
S220の後、処理はS230に進む。
【0104】
<S230>
パス検証部230は、証明書パス202毎に、証明書パス202に含まれる複数の証明書294を検証パラメータ295に基づいて検証する。検証はRFC5280、X.509などの標準規格に従って行われる。
パス検証部230は、証明書パス202に含まれる複数の証明書294が全て正当である証明書パス202を正当な証明書パス202として特定する。
S230の後、処理はS231に進む。
【0105】
図13は、実施の形態1におけるパス情報生成方法(S220、S230)の概要図である。
実施の形態1におけるパス情報生成方法(S220、S230)の具体例について、図13に基づいて以下に説明する。
【0106】
S230において、パス構築部220は経路情報293_7に対して4つの証明書「Cert_CAx1(CAX1)」「Cert_CABr(CAx1)」「Cert_CAy1(CABr)」「Cert_CAy2(CAy1)」を取得する。そして、パス構築部220は取得した4つの証明書294で証明書パス202_7を生成する。
【0107】
S230において、パス検証部230は、以下のように4つの証明書294それぞれの有効期間および署名を検証する。
【0108】
検証パラメータ295には、特定の日時を指定する情報が「検証日時」として設定されているものとする。例えば、現在日時、過去の特定日時、未来の特定日時が検証日時として検証パラメータ295に設定される。これにより、検証日時の時点における証明書パス202の状態を確認できる。
【0109】
パス検証部230は、検証パラメータ295に設定された検証日時と4つの証明書294それぞれの有効期間とを比較する。有効期間が切れていない証明書294が有効な証明書294であり、有効期間が切れている証明書294が無効な証明書294である。
パス検証部230は、無効な証明書294が含まれない場合、証明書パス202_7を有効な証明書パス202と判定し、無効な証明書294が含まれる場合、証明書パス202_7を不当(無効)な証明書パス202と判定する。
パス検証部230は、証明書パス202が有効である場合、上位の証明書294の公開鍵を用いて下位の証明書294の署名を検証する。最上位の自己署名証明書Cert_CAx1(CAx1)の署名は自身に含まれる公開鍵により検証される。
パス検証部230は、署名が不正である証明書294が含まれない場合、証明書パス202_7を正当な証明書パスと判定し、署名が不正である証明書294が含まれる場合、証明書パス202_7を不当な証明書パス202と判定する。
【0110】
パス検証部230は、証明書294が有効であるか否かを有効期間以外の情報に基づいて判定してもよい。
例えば、検証パラメータ295には失効状態の検証を指定するパラメータが設定される。また、生成装置記憶部290にはCRL(Certificate Revocation List)が記憶される。CRLは、有効期間内に失効した証明書294の一覧であり、認証局から定期的に提供される。パス検証部230は、CRLに示される証明書294を無効な証明書294と判定する。
また、パス検証部230は、証明書294が有効であるか否かをOCSPサーバ(OCSP:Online Certificate Status Protocol)に問い合わせてもよい。OCSPサーバは証明書294の失効状態を管理する装置である。
【0111】
パス検証部230は、証明書294の有効性のみを判定し、無効な証明書294を含まない証明書パス202_7を正当な証明書パス202と判定してもよい。つまり、パス検証部230は証明書294の署名を検証しなくても構わない。
但し、各証明書294の署名は予め検証され、署名の正しい証明書294のみが生成装置記憶部290に記憶され、またディレクトリシステムなどから提供されるものとする。
【0112】
図7に戻り、パス情報生成方法の説明を続ける。
【0113】
<S231>
パス検証部230は、正当な証明書パス202に対して、証明書パス202に対応する選択経路情報201を特定する。
以下、S231で特定された選択経路情報201を「検証済み経路情報204」という。
【0114】
例えば、図13において証明書パス202_7が正当である場合、証明書パス202_7に対応する経路情報293_7を検証済み経路情報204として特定する。
【0115】
S231の後、処理はS240に進む。
【0116】
<S240>
パス制約情報生成部240は、正当な証明書パス毎に以下の処理を行う。
パス制約情報生成部240は、証明書パス202に含まれる複数の証明書294から各証明書294の拡張項目のうち拡張項目リスト296に指定されている拡張項目を取得する。
【0117】
証明書294の拡張項目には、証明書ポリシー(CertificatePolicy)、名前制約(NameConstraints)、基本制約(BasicConstraints)、ポリシーマッピング(PolicyMapping)、ポリシー制約(PolicyConstraints)などの制約条件が含まれる。証明書294の拡張項目はRFC5280やX.509などの標準規格で定められる。但し、標準規格で定められた項目以外の拡張項目(プライベート項目)が証明書294に含まれても構わない。
拡張項目リスト296には、証明書294の拡張項目のうち、予め定められた特定の拡張項目の識別情報が設定されている。
【0118】
例えば、拡張項目リスト296に「CertificatePolicy」と「NameConstraints」が設定されている場合、証明書294は各証明書294から「CertificatePolicy」の設定値と「NameConstraints」の設定値とを取得する。
【0119】
以下、証明書294の拡張項目に設定された設定値を「拡張制約」という。
S240の後、処理はS241に進む。
【0120】
<S241>
パス制約情報生成部240は、正当な証明書パス毎に以下の処理を行う。
パス制約情報生成部240は、証明書パス202に含まれる複数の証明書294から取得した複数の拡張制約を拡張項目毎に統合し、拡張制約情報205を生成する。
例えば、パス制約情報生成部240は、複数の拡張制約をAND条件やOR条件などで結合して拡張制約情報205を生成する。
拡張制約情報205は、統合(結合)させた拡張制約(拡張制約の統合結果)を示す情報である。
S241の後、処理はS219に進む。
【0121】
図14は、実施の形態1におけるパス情報生成方法(S240、S241)の概要図である。
実施の形態1におけるパス情報生成方法(S240、S241)の具体例について、図14に基づいて以下に説明する。
【0122】
S240において、拡張項目リスト296には「証明書ポリシー」「名前制約」が設定されているものとする。
パス制約情報生成部240は、有効な証明書パス202_7に含まれる4つの証明書294それぞれから、拡張項目に設定されている証明書ポリシー「Pol:1,2」「Pol:1,3」「Pol:1,2」「Pol:1」を取得する。
また、パス制約情報生成部240は、有効な証明書パス202_7に含まれる4つの証明書294それぞれから、拡張項目に設定されている名前制約「許容Name:A,B/除外Name:C」「許容Name:A,C」「許容Name:A/除外Name:B」「許容Name:A,B,C」を取得する。
【0123】
許容Nameとは「permittedSubtrees」で識別される項目のことであり、除外Nameとは「excludedSubtrees」で識別される項目のことである。
【0124】
S241において、パス制約情報生成部240は、4つの証明書ポリシーのANDを取り、4つの証明書ポリシーに共通する「Pol:1」を得る。
また、パス制約情報生成部240は、4つの名前制約(許容Name)のANDを取り、4つの名前制約(許容Name)に共通する「許容Name:A」を得る。
また、パス制約情報生成部240は、4つの名前制約(除外Name)のORを取り、4つの名前制約(除外Name)いずれかに含まれる「除外Name:B,C」を得る。
パス制約情報生成部240は、「Pol:1」「許容Name:A」「除外Name:B,C」を含む拡張制約情報205を生成する。
【0125】
図7に戻り、パス情報生成方法の説明を続ける。
【0126】
<S219>
経路情報解析部210は、S210において始点認証局と終点認証局の全ての組み合わせを選択済みか判定する。
始点認証局と終点認証局の全ての組み合わせを選択済みである場合(YES)、パス情報生成方法は終了する。
始点認証局と終点認証局の組み合わせに選択していない組み合わせが残っている場合(NO)、処理はS210に戻る。S210において経路情報解析部210は始点認証局と終点認証局の未選択の組み合わせを新たに選択する。
【0127】
パス情報生成方法(図7)により、検証済み経路情報204と拡張制約情報205との組み合わせが複数生成される。
【0128】
図15は、実施の形態1におけるパス検証装置300のパス検証方法を示すフローチャートである。
実施の形態1においてパス検証装置300が実行するパス検証方法について、図15に基づいて以下に説明する。
【0129】
パス検証方法により検証済み経路情報204および拡張制約情報205に基づいて検証対象証明書301を容易に検証することができる。
パス検証装置300は、パス情報生成装置200により生成された検証済み経路情報204および拡張制約情報205を取得し、予め検証装置記憶部390に記憶する。検証済み経路情報204と拡張制約情報205とは互いに対応付けて記憶される。
パス検証装置300の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
【0130】
まず、パス検証方法の概要について説明する。
【0131】
検証対象証明書入力部310は、検証対象証明書301とトラストアンカー証明書302とを入力する(S310)。
経路情報特定部320は、検証対象証明書301とトラストアンカー証明書302とに対応する始点認証局および終点認証局を特定し(S320)、始点認証局と終点認証局とに対応する複数の検証済み経路情報204(候補経路情報303)を特定する(S321)。
経路情報特定部320は、複数の候補経路情報303に対応する複数の拡張制約情報205(候補制約情報304)を特定し(S322)、検証対象証明書301が拡張制約を満たす候補制約情報304(探索済み制約情報305)を特定する(S323)。
経路情報特定部320は、探索済み制約情報305に対応する候補経路情報303(探索済み経路情報306)を特定する(S324)。
始点証明書取得部330は、探索済み経路情報306に示される最下位の証明書391(探索済み始点証明書307)を取得する(S330)。
検証対象証明書検証部340は、探索済み始点証明書307を用いて検証対象証明書301を検証する(S340)。
【0132】
次に、パス検証方法の詳細について説明する。
【0133】
<S310>
検証対象証明書入力部310は、検証対象証明書301およびトラストアンカー証明書302を入力する。検証対象証明書入力部310はトラストアンカー証明書302の代わりにトラストアンカー(認証局)の識別情報を入力しても構わない。
例えば、検証対象証明書入力部310は、検証対象証明書301を含んだ電子メールを受信したメールプログラムから検証対象証明書301およびトラストアンカー証明書302を入力する。
S310の後、処理はS320に進む。
【0134】
<S320>
経路情報特定部320は、検証対象証明書301の発行者である認証局を始点認証局として特定し、トラストアンカー証明書302の発行者である認証局を終点認証局として特定する。
S320の後、処理はS321に進む。
【0135】
<S321>
経路情報特定部320は、検証装置記憶部390に記憶されている複数の検証済み経路情報204のうち、S320で特定した始点認証局および終点認証局に対応する検証済み経路情報204を特定する。
以下、S321で特定された検証済み経路情報204を「候補経路情報303」という。
S321の後、処理はS322に進む。
【0136】
図16は、実施の形態1におけるパス検証方法(S320、S321)の概要図である。
実施の形態1におけるパス検証方法(S320、S321)の具体例について、図16に基づいて以下に説明する。
【0137】
S320において、経路情報特定部320は検証対象証明書301の発行者「CAy2」を始点認証局として特定し、トラストアンカー証明書302の発行者「CAx1」を終点認証局として特定する。
【0138】
S321において、経路情報特定部320は、5つの検証済み経路情報204のうち、最下位の証明書の被発行者が始点認証局CAy2であり、最上位の証明書の発行者が終点認証局CAx1である3つの検証済み経路情報204_7〜9を候補経路情報303として特定する。
【0139】
図15に戻り、パス検証方法の説明を続ける。
【0140】
<S322>
経路情報特定部320は、検証装置記憶部390に記憶されている複数の拡張制約情報205のうち、候補経路情報303に対応付けて記憶されている拡張制約情報205を候補経路情報303毎に特定する。
以下、S322で特定された拡張制約情報205を「候補制約情報304」という。
S322の後、処理はS323に進む。
【0141】
<S323>
経路情報特定部320は、複数の候補制約情報304のうち、検証対象証明書301が拡張制約を満たす候補制約情報304を特定する。候補制約情報304が複数特定された場合、経路情報特定部320は特定した複数の候補制約情報304から一つを選択する。
以下、S323で特定(および選択)された候補制約情報304を「探索済み制約情報305」という。
S323の後、処理はS324に進む。
【0142】
<S324>
経路情報特定部320は、複数の候補経路情報303のうち、探索済み制約情報305に対応する候補経路情報303を特定する。
以下、S324で特定された候補経路情報303を「探索済み経路情報306」という。
S324の後、処理はS330に進む。
【0143】
図17は、実施の形態1におけるパス検証方法(S322〜S324)の概要図である。
実施の形態1におけるパス検証方法(S322〜S324)の具体例について、図17に基づいて以下に説明する。
【0144】
S321において、検証済み経路情報204_7〜9が候補経路情報303として特定されたものとする。
また、検証対象証明書301には被発行者として「Subject(Name):C=JP,O=ABC Inc,OU=TokyoBranch,OU=Account,CN=Yamada Taro」が設定されているものとする。
また、検証対象証明書301には証明書ポリシーとして「CertPolices:pol1」が設定されているものとする。
【0145】
経路情報特定部320は、検証済み経路情報204_7に対応する拡張制約情報205_7、検証済み経路情報204_8に対応する拡張制約情報205_8および検証済み経路情報204_9に対応する拡張制約情報205_9を候補制約情報304として特定する(S322)。
経路情報特定部320は、拡張制約情報205_7〜9(候補制約情報304)のうち、証明書ポリシー「CertPolices」に検証対象証明書301と同じ「pol1」を含み、名前制約「許容Name」に検証対象証明書301のSubject(Name)を含む拡張制約情報205_7を探索済み制約情報305として特定する。但し、拡張制約情報205_7の名前制約「除外Name」(図示省略)には検証対象証明書301のSubject(Name)が含まれていないものとする(S323)。
経路情報特定部320は、拡張制約情報205_7(探索済み制約情報305)に対応する検証済み経路情報204_7を探索済み経路情報306として特定する(S324)。
【0146】
図15に戻り、パス検証方法の説明を続ける。
【0147】
<S330>
始点証明書取得部330は、探索済み経路情報306に示される最下位の証明書391を検証装置記憶部390から取得する。該当する証明書391が検証装置記憶部390に記憶されていない場合、始点証明書取得部330は証明書391を提供するディレクトリシステムなどから該当する始点証明書を取得する。
以下、S330で取得された始点証明書を「探索済み始点証明書307」という。
S330の後、処理はS340に進む。
【0148】
<S340>
検証対象証明書検証部340は、検証パラメータ392に基づいて検証対象証明書301を検証すると共に、探索済み始点証明書307を用いて検証対象証明書301を検証する。
そして、検証対象証明書検証部340は、検証対象証明書301およびトラストアンカー証明書302の入力元(例えば、メールプログラム)に検証結果308を出力する。
S340により、パス検証方法は終了する。
【0149】
図18は、実施の形態1におけるパス検証方法(S330、S340)の概要図である。
実施の形態1におけるパス検証方法(S330、S340)の具体例について、図18に基づいて以下に説明する。
【0150】
「Cert_CAx1(CAx1)→Cert_CABr(CAx1)→Cert_CAy1(CABr)→Cert_CAy2(CAy1)」を探索済み経路情報306とする。
また、検証パラメータ392には「検証日時」が設定されているものとする。
【0151】
S330において、始点証明書取得部330は、探索済み経路情報306の最下位の証明書391「Cert_CAy2(CAy1)」を探索済み始点証明書307として取得する。
【0152】
S340において、検証対象証明書検証部340は、検証対象証明書301の「有効期間」を検証パラメータ392の「検証日時」と比較し、検証対象証明書301が有効であるか判定する。検証パラメータ392に「失効状態の検証」が指定されている場合、検証対象証明書検証部340はCRLやOCSPサーバを用いて検証対象証明書301が有効であるか否かを判定する。
検証対象証明書301が無効である場合、検証対象証明書301は不当な証明書である。
検証対象証明書301が有効な場合、検証対象証明書検証部340は、探索済み始点証明書307に含まれる公開鍵を用いて検証対象証明書301の署名を検証する。
検証対象証明書301の署名が正しい場合、検証対象証明書301は正当な証明書であり、検証対象証明書301の署名が正しくない場合、検証対象証明書301は不当な証明書である。
検証対象証明書検証部340は、検証対象証明書301が正当な証明書であるか、または不当な証明書であるかを示す情報を検証結果308として出力する。
【0153】
図19は、実施の形態1におけるパス情報生成装置200、パス検証装置300のハードウェア資源の一例を示す図である。
図19において、パス情報生成装置200、パス検証装置300は、CPU911(マイクロプロセッサ、マイクロコンピュータともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、表示装置901、キーボード902、マウス903、ドライブ装置904、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。ドライブ装置904は、FD(Flexible・Disk・Drive)、CD(Compact Disc)、DVD(Digital・Versatile・Disc)などの記憶媒体を読み書きする装置である。
【0154】
通信ボード915は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
【0155】
磁気ディスク装置920には、OS921(オペレーティングシステム)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
【0156】
プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラムは、CPU911により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【0157】
ファイル群924には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
【0158】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
【0159】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【0160】
証明書検証システム100は、以下のような形態であっても構わない。
【0161】
パス情報生成装置200とパス検証装置300とは、同一の筐体(例えば、サーバ装置またはユーザ端末装置)に備わっていても構わない。
【0162】
検証対象証明書301は、エンドエンティティに対して発行された証明書に限られず、認証局に対して発行された証明書であっても構わない。
この場合は、パス情報生成装置の経路情報解析部210が参照する始点認証局リスト291において、始点認証局は、「エンドエンティティに対して証明書を発行する認証局」ではなく、「ある認証局について証明書を発行する認証局」と読み替えて動作する。
【0163】
名前制約(NameConstraints)は、上記のような名前の識別情報でなく、名前の形式(Rfc822、DistinguishedNameなど)であっても構わない。
【0164】
経路情報特定部320は、以下のように、基本制約(BasicConstraints)(拡張制約の一例)に基づいて候補制約情報304を限定し、限定した候補制約情報304から探索済み制約情報305を特定しても構わない。
基本制約は、当該証明書より下位の証明書について上限数を指定する項目である。候補制約情報304には当該証明書の識別情報に対応付けて基本制約が設定されるものとする。
経路情報特定部320は、候補制約情報304に基本制約が設定されている場合、当該証明書より下位の認証局の証明書の数が基本制約として設定されている上限数より大きい候補制約情報304を除外する。経路情報特定部320は残りの候補制約情報304から探索済み制約情報305を特定する。
【0165】
または、パス検証部230が基本制約を満たさない証明書パス202を不当な証明書パス202として除外しても構わない。
これにより、基本制約を満たさない証明書パス202に対応する経路情報293は検証済み経路情報204に含まれず、パス検証装置300において探索済み制約情報305は効率良く特定される。
【0166】
パス制約に関しては、上記したCertificatePolicies、NameConstraints、BasicConstraintsに限定されない。例えば、規格や独自の運用で決められた項目を対象としても構わない。
【0167】
実施の形態1において、例えば、以下のような証明書検証システム100について説明した。
【0168】
公開鍵証明書の検証を行う際に、認証局の運用によって複雑な証明書パスの構築および検証が必要となる。
証明書検証システム100は、パス構築の経路を示す情報(検証済み経路情報204)と、パスにおける検証項目の検証結果(拡張制約情報205)とを利用することで証明書パスの構築を効率化し、証明書パスの構築および検証の高速化を実現する。
【0169】
パス情報生成装置200は、以下の特徴を有する。
・Subject間の証明書パスを構築する証明書の識別子の並びである経路情報を生成する。
・証明書パス上の証明書のパス制約(拡張制約)に関わる拡張項目を検証する。
・証明書パスの経路情報とパス制約に関わる拡張項目の検証結果(拡張制約情報205)とを合わせて出力する。
・エンドエンティティに証明書を発行している認証局のSubjectをリスト指定する(始点認証局リスト291)。
・ルート認証局(トラストアンカー)のSubjectをリスト指定する(終点認証局リスト292)。
・リスト(始点認証局リスト291)に指定された開始Subject(始点認証局)とリスト(終点認証局リスト292)に指定された終了Subject(終点認証局)とに対して存在しうる全ての証明書パスについて、証明書パスを構築し、経路情報(検証済み経路情報204、拡張制約情報205)を生成する。
・構築した証明書パスについて、指定した検証日時(検証パラメータ295)に対して有効期限や失効状態を確認する。
【0170】
パス検証装置300は、以下の特徴を有する。
・検証対象の証明書と信用する証明書(トラストアンカー証明書302)との間を構成する証明書パスを構築および検証する際に、パス情報生成装置200が出力した「証明書パスの経路情報」および「パス制約に関わる拡張項目の検証結果」を参照する。これにより、複数の証明書パスの候補に対して絞り込みを行い、証明書パスを効率良く構築および検証する。
・検証対象の証明書と直接上位の証明書のみの証明書パスを検証する。
【0171】
本実施の形態では、パス情報生成装置200において、複数の証明書パスの検証結果から検証済み経路情報204を出力する。また、これに加えてその証明書パスのパス制約に関わる拡張項目を検証した結果である拡張制約情報205も出力するようにした。
さらに、パス検証装置300において、検証済み経路情報204と拡張制約情報205とを使用することにより、複数の証明書パスの候補それぞれに対して検証対象証明書301を検証することなく、適切な証明書パスを選択することが可能である。
さらに、パス検証装置300において、選択した証明書パスについてパス上の証明書と拡張項目は既に検証済であるため、検証対象証明書301とその直接上位の証明書(探索済み始点証明書307)とのみから構成される証明書パスを構築し、検証すればよい。
【0172】
これらの装置の運用方法の例と効果を示す。
【0173】
エンドユーザが証明書の検証を行う場合においては、特許文献1のパスオーソリティに相当する機関が定期的にパス情報生成装置200を稼動させ、検証済み経路情報204と拡張制約情報205とを公開する。
エンドユーザは、パス検証装置300を保持し、公開された検証済み経路情報204および拡張制約情報205を予め取得しておく。エンドユーザは、証明書の検証が必要になった場合にパス検証装置300を稼動させることで、複数の証明書パスから適切な証明書パスを効率良く選択する。そして、パス検証装置300は、検証対象証明書とその直接上位の証明書とのみから構成される証明書パスを構築および検証することで、従来よりも高速に証明書パスの構築および検証を行える。
【0174】
また、証明書の検証をエンドユーザに代わって証明書検証サーバが行う場合、証明書検証サーバにおいてパス情報生成装置200を稼動させ、予め、検証済み経路情報204と拡張制約情報205を出力しておく。そして、証明書検証サーバは、エンドユーザから証明書の検証依頼を受けた場合に、パス検証装置300を稼動させ、出力済みの検証済み経路情報204および拡張制約情報205を使用して証明書パスの検証を実施する。
従来技術のように、複数の証明書パス候補が存在した場合に各々の証明書パスについて構築および検証することなく、適切な証明書パスを選択可能である。さらに、証明書パスの検証処理においても、検証対象の証明書と直接上位の証明書とのみから構成される証明書パスを構築および検証すればよいため、証明書パスの構築および検証が高速化される効果がある。
【0175】
実施の形態2.
パス情報生成方法(図7参照)の証明書パス検証処理(S230)において、有効でない証明書294を更新する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
【0176】
パス検証部230は、選択経路情報201に対応する全ての証明書294のうち有効でない電子証明書を当該電子証明書に対応する有効な電子証明書に置き換える。
【0177】
具体的に、パス検証部230は、構築した証明書パスについて、証明書パス上の証明書の有効期限を確認する。パス検証部230は、証明書の有効期限が切れていた場合、有効期限が切れた証明書の代わりになる(Issuer/Subjectが同じである)証明書を生成装置記憶部290やディレクトリシステムなどから取得する。そして、パス検証部230は、代わりの証明書を用いて証明書パスを構築し直す。
また、パス検証部230は、構築した証明書パスについて、証明書パス上の証明書の失効状態を確認する。パス検証部230は、証明書が失効していた場合、失効していた証明書の代わりになる(Issuer/Subjectが同じである)証明書を生成装置記憶部290やディレクトリシステムなどから取得する。そして、パス検証部230は、代わりの証明書を用いて証明書パスを構築し直す。
【0178】
これにより、パス情報生成装置200が検証済み経路情報204および拡張制約情報205を漏れなく提供できる。
【0179】
実施の形態3.
パス情報生成装置200が最新の検証済み経路情報204および拡張制約情報205を提供する形態について説明する。
以下、実施の形態1〜2と異なる事項について主に説明する。説明を省略する事項については実施の形態1〜2と同様である。
【0180】
パス情報生成装置200は、パス情報生成方法(図7参照)を定期的に実行する。すなわち、所定の時間間隔で、パス検証部230は証明書パス202を検証し直し(S230)、パス検証部230は検証済み経路情報204を特定し直し(S231)、パス制約情報生成部240は拡張制約情報205を生成し直す(S241)。
【0181】
また、証明書294の拡張項目が時間の経過に伴って変更されないのであれば、検証済み経路情報204に対してのみ定期的にS220〜S231を実行してもよい。すなわち、拡張制約情報205は生成し直さなくてもよい。
【0182】
実施の形態3において、パス情報生成装置200は、一度構築および検証した証明書パスについて、定期的に有効期限や失効状態を確認し、最新の「証明書パスの経路情報(検証済み経路情報204)」および「パス制約に関わる拡張項目の検証結果(拡張制約情報205)」を提供する。
【0183】
現在日時を「検証日時」(検証パラメータ295)として証明書パスを構築および検証し直せば(また、その頻度を上げれば)、検証済み経路情報204および拡張制約情報205を最新の状態に維持することができる。
【0184】
パス検証装置300は、定期的に又はパス情報生成装置200と同期して又はパス検証方法(図15参照)の実行時に検証済み経路情報204および拡張制約情報205を新たに取得する。そして、パス検証装置300は、新たに取得した検証済み経路情報204および拡張制約情報205に基づいてパス検証方法を実行する。
【0185】
実施の形態4.
パス検証装置300が探索済み経路情報306に対応する証明書パスを検証する形態について説明する。
以下、実施の形態1〜3と異なる事項について主に説明する。説明を省略する事項については実施の形態1〜3と同様である。
【0186】
図20は、実施の形態4におけるパス検証装置300の機能構成図である。
実施の形態4におけるパス検証装置300の機能構成について、図20に基づいて以下に説明する。
【0187】
パス検証装置300は、実施の形態1(図6参照)で説明した始点証明書取得部330の代わりにパス構築部331(検証側経路証明書取得部の一例)およびパス検証部332(特定経路証明書検証部の一例)を備える。
【0188】
パス構築部331は、経路情報特定部320により特定された探索済み経路情報306毎に探索済み経路情報306に示される複数の証明書391(探索済み証明書パス306B)を検証装置記憶部390から取得する。
【0189】
パス検証部332は、パス構築部331により取得された全ての証明書391が有効であるか否かを探索済み経路情報306毎に検証する。そして、パス検証部332は、全ての証明書391が有効である探索済み経路情報306を特定する。
検証対象証明書検証部340は、パス検証部332により特定された探索済み経路情報306に最下位の証明書として示される証明書391に基づいて、検証対象証明書301が正当な証明書であるか否かを検証する。
【0190】
図21は、実施の形態4におけるパス検証装置300のパス検証方法を示すフローチャートである。
実施の形態4においてパス検証装置300が実行するパス検証方法について、図21に基づいて以下に説明する。
【0191】
パス検証装置300は、実施の形態1(図15)で説明したS330の代わりに、S330B、S331Bを実行する。
以下に、S330BおよびS331Bについて説明する。
【0192】
<S330B>
パス構築部331は、探索済み経路情報306に示される複数の証明書391を検証装置記憶部390から取得し、取得した複数の証明書391を含んだ証明書パスを生成する。探索済み経路情報306が複数有る場合、パス構築部331は、証明書パスを探索済み経路情報306毎に生成する。
該当する証明書391が検証装置記憶部390に記憶されていない場合、パス構築部331は、証明書391を提供するディレクトリシステムなどから該当する証明書391を取得する。
以下、S330Bで生成された証明書パスを「探索済み証明書パス306B」という。
S330Bの後、処理はS331Bに進む。
【0193】
<S331B>
パス検証部332は、パス情報生成方法(図7参照)の証明書パス検証処理(S230)と同様に、探索済み証明書パス306Bに含まれる複数の証明書391それぞれが有効であるか否かを探索済み証明書パス306B毎に検証する。例えば、パス検証部332は、現在日時と証明書391の有効期間とを比較し、証明書391が有効であるか否かを判定する。また、パス検証部332は、証明書391が有効であるか否かをCRLやOCSPサーバに基づいて判定する。
パス検証部332は、無効な証明書391を含まない探索済み証明書パス306Bを特定する。パス検証部332は、複数の探索済み証明書パス306Bを特定した場合、特定した複数の探索済み証明書パス306Bから一つを選択する。
以下、S331Bで特定(および選択)された探索済み証明書パス306Bに含まれる最下位の証明書391を「探索済み始点証明書307」という。
S331Bの後、処理はS340に進む。
【0194】
S340において、検証対象証明書301は探索済み始点証明書307を用いて検証される。
【0195】
パス検証部332は、実施の形態2と同様に、無効な証明書391を更新し、全ての探索済み証明書パス306Bを有効にしてもよい。
【0196】
実施の形態4において、例えば、以下のような証明書検証システム100について説明した。
【0197】
パス検証装置300は、証明書パス(探索済み証明書パス306B)上の全ての証明書について有効期限や失効状態を確認する。
【0198】
この場合、検証対象証明書301とその直接上位の証明書(探索済み始点証明書307)のみから構成される短い証明書パスを構築および検証することによる効率化の効果は実施の形態1に比べて低下する。
しかし、複数の証明書パスに対して証明書パスを効率良く選択できるという実施の形態1の効果に加えて、有効期限や失効状態について証明書パスの最新の状態を確認してから検証対象証明書301を検証できるという効果を有する。
【0199】
実施の形態5.
パス検証方法(図15参照)の探索済み制約情報特定処理(S323)において、候補制約情報304に設定されている複数の拡張制約を所定の優先度順に検証対象証明書301と比較して、探索済み制約情報305を特定する形態について説明する。
以下、実施の形態1〜4と異なる事項について主に説明する。説明を省略する事項については実施の形態1〜4と同様である。
【0200】
パス検証装置300の経路情報特定部320は、複数の制約条件それぞれの優先度が設定された制約優先情報(後述する拡張項目リスト)を入力する。そして、経路情報特定部320は、検証対象証明書301が経路情報の経路制約情報(候補制約情報304)に含まれる制約条件(拡張制約)を満たすか否かを制約優先情報に設定された優先度の順に判定する。
【0201】
例えば、パス検証装置300の検証装置記憶部390には、拡張項目毎に優先度を示す拡張項目リストを予め記憶する。
ここで、拡張項目リストには、証明書ポリシー(CertificatePolicies)の優先度「1」、名前制約(NameConstraints)の優先度「2」が設定されているものとする。
経路情報特定部320は、拡張項目リストに従って以下の手順で探索済み制約情報305を特定する。
【0202】
手順1:複数の候補制約情報304のうち検証対象証明書301が証明書ポリシーを満たす候補制約情報304を特定する。
手順2:手順1で特定された候補制約情報304のうち検証対象証明書301が名前制約を満たす候補制約情報304を特定する。
【0203】
経路情報特定部320は手順2で特定した候補制約情報304を探索済み制約情報305とする。
【0204】
これにより、より早い段階(例えば、上記の手順1)で適切ではない候補制約情報304を排除し、効率良く探索済み制約情報305を特定できる。
【0205】
実施の形態5では、経路情報特定部320が指定された拡張項目の優先度に従った順番で拡張項目を検証する形態について説明した。
【符号の説明】
【0206】
100 証明書検証システム、101 パスオーソリティ、102 ユーザ端末、103 検証対象証明書、104 トラストアンカー、105 トラストアンカー証明書、200 パス情報生成装置、201 選択経路情報、202 証明書パス、204 検証済み経路情報、205 拡張制約情報、210 経路情報解析部、220 パス構築部、230 パス検証部、240 パス制約情報生成部、290 生成装置記憶部、291 始点認証局リスト、292 終点認証局リスト、293 経路情報、294 証明書、295 検証パラメータ、296 拡張項目リスト、300 パス検証装置、301 検証対象証明書、302 トラストアンカー証明書、303 候補経路情報、304 候補制約情報、305 探索済み制約情報、306 探索済み経路情報、306B 探索済み証明書パス、307 探索済み始点証明書、308 検証結果、310 検証対象証明書入力部、320 経路情報特定部、330 始点証明書取得部、331 パス構築部、332 パス検証部、340 検証対象証明書検証部、390 検証装置記憶部、391 証明書、392 検証パラメータ、901 表示装置、902 キーボード、903 マウス、904 ドライブ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群。

【特許請求の範囲】
【請求項1】
特定の認証局に対して発行された上位の電子証明書と前記特定の認証局によって発行された下位の電子証明書として関係する複数の電子証明書を示す情報であって最上位の電子証明書を発行した認証局と最下位の電子証明書を発行された認証局とを含んだ情報を経路情報として複数記憶する経路情報記憶部と、
特定の制約条件が設定された複数の電子証明書を記憶する情報生成側証明書記憶部と、
前記経路情報記憶部に記憶された経路情報毎に経路情報に示される複数の電子証明書を前記情報生成側証明書記憶部から取得する経路証明書取得部と、
前記経路証明書取得部により経路情報毎に取得された複数の電子証明書それぞれの制約条件に基づいて、経路情報の制約条件を示す経路制約情報を経路情報毎に生成する経路制約情報生成部と
を備える経路制約情報生成装置と、
複数の電子証明書を記憶する検証側証明書記憶部と、
検証対象の電子証明書を検証対象証明書として入力すると共に複数の経路情報と複数の経路情報それぞれの経路制約情報とを入力し、所定の認証局によって発行された電子証明書を最上位の電子証明書として示すと共に前記検証対象証明書を発行した認証局に対して発行された電子証明書を最下位の電子証明書として示す経路情報であって前記検証対象証明書に対応する制約条件を当該経路制約情報に示す経路情報を特定経路情報として特定する経路情報特定部と、
前記経路情報特定部により特定された特定経路情報に最下位の電子証明書として示される電子証明書を前記検証側証明書記憶部から特定証明書として取得する特定証明書取得部と、
前記特定証明書取得部により取得された特定証明書に基づいて、前記検証対象証明書が正当な電子証明書であるか否かを検証する証明書検証部と
を備える証明書検証装置と
を有することを特徴とする証明書検証システム。
【請求項2】
前記経路制約情報生成装置は、さらに、
前記経路情報記憶部に記憶された複数の経路情報のうちN個の経路情報を特定の順番で連結させた連結経路情報であり、n(1≦n≦N−1)番目の経路情報の最上位の電子証明書を発行した認証局とn+1番目の経路情報の最下位の電子証明書を発行された認証局とが一致する連結経路情報を新たに経路情報として生成する経路情報連結部を
備えたことを特徴とする請求項1記載の証明書検証システム。
【請求項3】
前記経路制約情報生成装置は、さらに、
前記経路証明書取得部により取得された全ての電子証明書が有効であるか否かを経路情報毎に検証し、全ての電子証明書が有効である経路情報を検証済み経路情報として特定する証明書パス検証部を備え、
前記経路制約情報生成装置の経路制約情報生成部は、
前記証明書パス検証部により特定された検証済み経路情報の経路制約情報を生成し、
前記証明書検証装置の経路情報特定部は、
前記検証済み経路情報と前記検証済み経路情報の経路制約情報とを入力する
ことを特徴とする請求項1または請求項2いずれかに記載の証明書検証システム。
【請求項4】
前記証明書パス検証部は、有効でない電子証明書を当該電子証明書に対応する有効な電子証明書に置き換える
ことを特徴とする請求項3記載の証明書検証システム。
【請求項5】
前記証明書パス検証部が所定の時間間隔で検証済み経路情報を検証し直すことを特徴とする請求項3または請求項4記載の証明書検証システム。
【請求項6】
前記経路制約情報生成装置は、前記経路証明書取得部として情報生成側経路証明書取得部を備え、
前記証明書検証装置の経路情報特定部は、特定経路情報を複数特定し、
前記証明書検証装置は、前記特定証明書取得部の代わりに、
前記経路情報特定部により特定された特定経路情報毎に特定経路情報に示される複数の電子証明書を前記検証側証明書記憶部から取得する検証側経路証明書取得部と、
前記検証側経路証明書取得部により取得された全ての電子証明書が有効であるか否かを特定経路情報毎に検証し、全ての電子証明書が有効である特定経路情報を特定する特定経路証明書検証部とを備え、
前記証明書検証装置の証明書検証部は、前記特定経路証明書検証部により特定された特定経路情報に最下位の電子証明書として示される電子証明書に基づいて、前記検証対象証明書が正当な電子証明書であるか否かを検証する
ことを特徴とする請求項1〜請求項5いずれかに記載の証明書検証システム。
【請求項7】
前記証明書検証装置の経路情報特定部は、複数の制約条件それぞれの優先度が設定された制約優先情報を入力し、経路情報の経路制約情報に含まれる制約条件が前記検証対象証明書に対応するか否かを前記制約優先情報に設定された優先度の順に判定する
ことを特徴とする請求項1〜請求項6いずれかに記載の証明書検証システム。
【請求項8】
特定の認証局に対して発行された上位の電子証明書と前記特定の認証局によって発行された下位の電子証明書として関係する複数の電子証明書を示す情報であって最上位の電子証明書を発行した認証局と最下位の電子証明書を発行された認証局とを含んだ情報を経路情報として複数記憶する経路情報記憶部と、
特定の制約条件が設定された複数の電子証明書を記憶する情報生成側証明書記憶部と、
前記経路情報記憶部に記憶された経路情報毎に経路情報に示される複数の電子証明書を前記情報生成側証明書記憶部から取得する経路証明書取得部と、
前記経路証明書取得部により経路情報毎に取得された複数の電子証明書それぞれの制約条件に基づいて、経路情報の制約条件を示す経路制約情報を経路情報毎に生成する経路制約情報生成部とを備える
ことを特徴とする経路制約情報生成装置。
【請求項9】
複数の電子証明書を記憶する検証側証明書記憶部と、
特定の認証局に対して発行された上位の電子証明書と前記特定の認証局によって発行された下位の電子証明書として関係する複数の電子証明書を示す情報であって最上位の電子証明書を発行した認証局と最下位の電子証明書を発行された認証局とを含んだ情報を経路情報として複数記憶すると共に、経路情報の制約条件を表す経路制約情報を経路情報毎に記憶する経路制約情報記憶部と、
検証対象の電子証明書を検証対象証明書として入力すると共に複数の経路情報と複数の経路情報それぞれの経路制約情報とを前記経路制約情報記憶部から入力し、所定の認証局によって発行された電子証明書を最上位の電子証明書として示すと共に前記検証対象証明書を発行した認証局に対して発行された電子証明書を最下位の電子証明書として示す経路情報であって前記検証対象証明書に対応する制約条件を当該経路制約情報に示す経路情報を特定経路情報として特定する経路情報特定部と、
前記経路情報特定部により特定された特定経路情報に最下位の電子証明書として示される電子証明書を前記検証側証明書記憶部から特定証明書として取得する特定証明書取得部と、
前記特定証明書取得部により取得された特定証明書に基づいて、前記検証対象証明書が正当な電子証明書であるか否かを検証する証明書検証部と
を備えることを特徴とする証明書検証装置。
【請求項10】
特定の認証局に対して発行された上位の電子証明書と前記特定の認証局によって発行された下位の電子証明書として関係する複数の電子証明書を示す情報であって最上位の電子証明書を発行した認証局と最下位の電子証明書を発行された認証局とを含んだ情報を経路情報として複数記憶する経路情報記憶部と、特定の制約条件が設定された複数の電子証明書を記憶する情報生成側証明書記憶部とを備える経路制約情報生成装置で、
経路証明書取得部が、前記経路情報記憶部に記憶された経路情報毎に経路情報に示される複数の電子証明書を前記情報生成側証明書記憶部から取得し、
経路制約情報生成部が、前記経路証明書取得部により経路情報毎に取得された複数の電子証明書それぞれの制約条件に基づいて、経路情報の制約条件を示す経路制約情報を経路情報毎に生成し、
複数の電子証明書を記憶する検証側証明書記憶部を備える証明書検証装置で、
経路情報特定部が、検証対象の電子証明書を検証対象証明書として入力すると共に複数の経路情報と複数の経路情報それぞれの経路制約情報とを入力し、所定の認証局によって発行された電子証明書を最上位の電子証明書として示すと共に前記検証対象証明書を発行した認証局に対して発行された電子証明書を最下位の電子証明書として示す経路情報であって前記検証対象証明書に対応する制約条件を当該経路制約情報に示す経路情報を特定経路情報として特定し、
特定証明書取得部が、前記経路情報特定部により特定された特定経路情報に最下位の電子証明書として示される電子証明書を前記検証側証明書記憶部から特定証明書として取得し、
証明書検証部が、前記特定証明書取得部により取得された特定証明書に基づいて、前記検証対象証明書が正当な電子証明書であるか否かを検証する
ことを特徴とする証明書検証方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2011−160361(P2011−160361A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−22519(P2010−22519)
【出願日】平成22年2月3日(2010.2.3)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】