JP3791758B2 - 相互認証パス構築方法及びその利用者装置と認証局の処理プログラム - Google Patents
相互認証パス構築方法及びその利用者装置と認証局の処理プログラム Download PDFInfo
- Publication number
- JP3791758B2 JP3791758B2 JP2001013438A JP2001013438A JP3791758B2 JP 3791758 B2 JP3791758 B2 JP 3791758B2 JP 2001013438 A JP2001013438 A JP 2001013438A JP 2001013438 A JP2001013438 A JP 2001013438A JP 3791758 B2 JP3791758 B2 JP 3791758B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- certificate
- public key
- mutual
- hash value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ネットワーク上で階層認証に用いる鍵と相互認証に用いる鍵で異なる鍵を使用する認証局(Certification Authority : CA と略す)、及びそのCAに登録する利用者装置と通信を行う利用者装置における階層認証で使用した公開鍵証明書から相互証明書への相互認証パスの構築方法及びその利用者装置と認証局の処理プログラムに関する発明である。
【0002】
【従来の技術】
現実社会の企業構造、企業間取引構造、対消費者取引を観察してみると、現実社会の取引範囲は非常に大きなものであり、この幅広い取引範囲を電子社会に置き換えた時、1つのCAにすべての利用者が登録している状況というのは考えにくい。そのため、CAを利用した電子認証を実現するためには、各CAがお互いの公開鍵を認証し合う相互認証、あるいは、上位CAが下位CAを認証し、この上位CAが下位CAを認証する認証プロセスが集まることにより階層構造を形成する階層認証を用いて、自分の信頼するアンカーまで認証パスと呼ばれる信頼チェーンを構築することにより異なるCAに登録する利用者間において公開鍵証明書を相互流通させることが必要になる。
【0003】
この階層認証及び相互認証における認証パスを構築する方法として、階層認証用の鍵と相互認証用の鍵で同じものを使用する場合には、署名(鍵)による認証パス構築が用いられている。
しかし、この階層認証用の鍵と相互認証用の鍵で異なる鍵を使用する場合、署名(鍵)による相互認証パスを構築することはできないという問題点が発生する。これは階層内で使用している公開鍵証明書内の署名を検証するための公開鍵を含む公開鍵証明書が階層で使用している公開鍵証明書しか存在しない、つまり、階層認証で使用している公開鍵証明書から相互証明書への認証パスがないために起こる。
【0004】
以下に図6A,6Bを用いて具体的に説明する。利用者Aは公開鍵Apと秘密鍵Asのペアを有し、利用者Bは公開鍵Bpと秘密鍵Bsのペアを有しているものとする。
認証局CAα,CAβはそれぞれ以下の公開鍵と秘密鍵のペアを有しているものとする。
また、利用者Aは自分の公開鍵Apに対する認証局CAαの階層認証用秘密鍵α1sによる署名を公開鍵証明書C11として有している。この証明書C11を[Ap/α1s]と表す。利用者Bは自分の公開鍵Bpに対する認証局CAβの階層認証用秘密鍵β1sによる署名を公開鍵証明書C21として有している。この証明書を[Bp/β1s]と表す。認証局CAαは自分の階層認証用公開鍵α1pに対する階層認証用秘密鍵α1sによる署名を階層認証用公開鍵証明書([α1p/α1s]と表す)C12として有し、自分の相互認証用公開鍵α2pに対する階層認証用秘密鍵α1sによる署名を相互認証用公開鍵証明書([α2p/α1s]と表す)C13として有している。認証局CAαは更に、認証局CAβの相互認証用公開鍵β2pに対する自分の相互認証用秘密鍵α2sによる署名を相互証明書([β2p/α2s]と表す)C14として有している。
【0005】
認証局CAβは自分の相互認証用公開鍵β2pに対する自分の階層認証用秘密鍵β1sによる署名を相互認証用公開鍵証明書([β2p/β1s]と表す)C22として有し、自分の階層認証用公開鍵β1pに対する自分の階層認証用秘密鍵β1sによる署名を階層認証用公開鍵証明書([β1p/β1s]と表す)C23として有し、更に、認証局CAαの相互認証用公開鍵α2pに対する自分の相互認証用秘密鍵β2sによる署名を相互証明書([α2p/β2s]と表す)C24として有している。
今、利用者Bが利用者Aの公開鍵証明書[Ap/α1s]C11の正当性を検証するものとする。利用者Bは利用者Aの公開鍵証明書C11を得て、その公開鍵証明書C11を検証するための認証局CAαの公開鍵α1pの公開鍵証明書[α1p/α1s]C12とを認証局CAαから得て、認証局CAαの相互認証用公開鍵α2pに対する認証局CAβの公開鍵証明書[α2p/β2s]C24と、認証局CAβの相互認証用公開鍵β2pに対する公開鍵証明書[β2p/β1s]C22と、認証局CAβの階層認証用公開鍵β1pに対する公開鍵証明書[β1p/β1s]C23を認証局CAβから得る。
【0006】
図6Bに示すように、利用者Aの公開鍵Apに対する証明書C11の秘密鍵α1sによる署名は、証明書C12によって認証されている認証局CAαの階層認証用公開鍵α1pを使って検証することができる。相互認証用公開鍵α2pに対する証明書C24の秘密鍵β2sによる署名は、証明書C22によって認証されている相互認証用公開鍵β2pを使って検証することができる。ところが、証明書C12の秘密鍵による署名を検証するための公開鍵を認証局が認証した証明書は存在しない。そのため、図6Bで示すように、認証パスは証明書C12とC24の間で断絶している。これは、利用者Aの公開鍵Apを認証する公開鍵証明書C11に認証局CAαが階層認証用秘密鍵α1sを用いて作成した署名を検証するための公開鍵証明書は、認証局CAαの自己認証公開鍵証明書[α1p/α1s]C12しか存在しないため、相互証明書への認証パスを署名(鍵)により構築することができないために起きる問題である。
【0007】
この問題点を解決するために一般に用いられる手段として、相手の階層内CAに対して発行した公開鍵証明書から検証者の保持する相互証明書への認証パスをDN(DistinguishedName)と呼ばれるネットワーク上における対象者の名前により検索することにより、階層認証で使用した公開鍵証明書から相互証明書への相互認証パスを構築する方式であるDNによる相互認証パス構築方式がある。この方法を説明するために、まず、ITU Rec.X.509, ISO/IEC9594-8で規定されている認証書のフォーマットを図7を参照して説明する。
【0008】
図7に示すように、公開鍵証明書100は必須項目として認証番号(SerialNumber)101、発行者名(issuer)102、有効期限(validty)103、被認証者名(subject)104、被認証者の公開鍵情報(SubjectPublicKeyInfo)105などを含み、拡張項目として認証局鍵識別子(AuthorityKey Identifier)106、被認証者鍵識別子(SubjectKeyIdentifier)107などを含む。これらの項目全体に対し、発行者の秘密鍵を使ってディジタル署名が付けられる。発行者名102及び被認証者名104はそれぞれDistinguishedName (以下DNと呼ぶ)と呼ばれる互いに重複するものがない唯一の識別名でそれぞれ表される。被認証者の公開鍵情報105はこの公開鍵証明書100が認証を与える対象である被認証者の公開鍵であり、鍵を表すアルゴリズム情報と鍵自体(ビット列)からなる。AuthorityKeyIdentifier (以下AKIと呼ぶ)106には、鍵識別子(KeyIdentifier, 以下KeyIDと表す)として公開鍵証明書100に対する署名を検証するための、発行者の公開鍵のハッシュ値がポインタとして記録される。更に、AKIにはAuthorityCertIssuer(以下ACIと呼ぶ)として、発行者名が記録され、AuthorityCertSerialNumber(以下ACSNと呼ぶ) としてその公開鍵証明書の署名を検証する公開鍵証明書の認証番号が記録される。SubjectKeyIdentifier (以下SKIと呼ぶ)107には被認証公開鍵のハッシュ値が記録される。
【0009】
図6Bの認証パスにおける証明書C12は認証局CAαが自分の階層認証用公開鍵α1pに対し認証を与えるものであり、図7のフォーマットの発行者名102と被認証者名104には認証局CAαの同じDNが記録されている。これをDN(CAα)と表すことにする。一方、証明書C24は、認証局CAβが認証局CAαの相互認証用公開鍵α2pに対し認証を与えるものであり、従って、その証明書C24の発行者名102には認証局CAβのDN(CAβ)が、また被認証者名104には認証局CAαのDA(CAα)が書き込まれている。そこで、DNを利用した相互認証パスの構築は、証明書C12の発行者名DNと証明書C24の被認証者名DNが同じDN(CAα)であることに着目して証明書CA12とCA24間の認証パスを構築している。
【0010】
【発明が解決しようとする課題】
しかし、DNによる認証パス構築方式は図6Aにおいて、階層認証で使用している公開鍵証明書C12から相互証明書C24へのパスを同じ認証局CAαのDNにより構築し、その相互認証パス構築内において鍵の違いは意識しないするため、次の2つの問題点をもつ。
(1) 悪意をもつ第3の認証局CAγが、相互認証しているDN(CA)を語ることによりなりすましが可能になる。
【0011】
例えば、認証局CAαとCAβが相互認証しているとすると、認証局CAγがCAαのDN(CAα)を語った場合に、CAγのDN(CA)とCAαのDN(CA)が同じDN(CAα)になるため、CAγがCAαになりすましていることを認証局CAβに登録している利用者Bは検証することができない。
(2) 署名(鍵)による認証パス構築において可能であった“同じDNに属する鍵を使用目的に応じて使い分ける”ことがDNによる相互認証パス構築方式ではできない。
【0012】
例えば、同じDN配下で鍵A(人事部社員に対して使用している鍵)、鍵B(営業部社員に対して使用している鍵)、鍵C(他企業CAとの相互認証に使用している鍵)を使用している時、営業部社員のみ他企業に登録するユーザとのやりとりができるといった鍵の使い分けができない。
以上を踏まえ、本発明は、従来のDNによる相互認証パス構築方式における課題である“なりすましの発生”、“同じDNに属する鍵の使用目的に応じた使い分け不可能”を解決する相互認証パス構築方法を提供するところに目的がある。
【0013】
【課題を解決するための手段】
この発明によれば、互いに異なる階層にあり、それぞれ階層認証で使用する鍵と相互認証で使用する鍵が異なる第1認証局及び第2認証局と、上記第1認証局に登録された利用者とを含む認証システムにおける上記第1及び第2認証局間の相互認証パスを構築する方法において、
上記第2認証局内で相互認証用に使用している鍵により上記第2認証局内で上記階層認証用に使用している鍵を認証した公開鍵証明書である認証連鎖変換証明書を生成し、それにより、階層認証で使用している公開鍵証明書から相互証明書への相互認証パスを構築することにより相互認証パスを構築する。
【0014】
上記認証パスを構築する方法を実施する認証システムにおける利用者装置は、上記第1認証局から、上記第2認証局の相互認証用公開鍵に対し上記第1認証局の相互認証用秘密鍵で認証を与えた相互証明書と、上記第2認証局から、上記第2認証局の階層認証用公開鍵に対し、階層認証用秘密鍵で認証を与えた階層認証用公開鍵証明書と、上記第2認証局の階層認証用公開鍵に対し相互認証用秘密鍵により認証を与えた認証連鎖変換証明書とを受信し、上記公開鍵証明書のAKI中のハッシュ値と、上記認証連鎖変換証明書のSKI中のハッシュ値との一致を検証し、上記認証連鎖変換証明書のAKI中のハッシュ値と上記相互証明書のSKI中のハッシュ値との一致を検証するAKI一致証明書検索手段と、
上記階層認証用公開鍵証明書の署名を、上記認証連鎖変換証明書で認証された上記階層認証用公開鍵により検証し、上記認証連鎖変換証明書の署名を、上記相互証明書で認証された上記相互認証用公開鍵で検証する署名検証手段、
とを含むように構成される。
【0015】
上記相互認証パス構築方法において、上記第2認証局が実行する処理のプログラムは、
AKIのKeyID要素に自局の相互認証用公開鍵のハッシュ値を記録するステップと、
SKIに自局の階層認証用公開鍵のハッシュ値を記録するステップと、
自局の相互認証用秘密鍵で上記階層認証用公開鍵に対し自局の上記相互認証用秘密鍵を使って認証することにより認証連鎖変換証明書を生成するステップ、
とを含むように構成される。
【0016】
このように、この発明では、階層認証において使用している公開鍵証明書から相互証明書への相互認証パスを構築する際、相互認証用に使用している鍵により自CA内で階層認証用に使用している鍵を認証した公関鍵証明書である認証連鎖変換証明書により認証パス構築を行うことを最も主要な特徴とする。
従来の技術では、階層認証において使用している公関鍵証明書から相互証明書への相互認証パスを構築する際、DNにより相互認証パスを構築していたが、本発明では、公関鍵証明書を用いることにより、階層認証用の鍵と相互認証用の鍵が同じ場合における認証パス構築と同じく、署名(鍵)による認証パス構築が可能となる点が異なる。
【0017】
【発明の実施の形態】
この発明による相互認証パス構築方法の原理を図1A、1Bを参照して説明する。ただし、この例においても利用者Bが利用者Aの公開鍵証明書[Ap/α1s]C11を検証する場合を示す。図1Bに示すように、この発明では、図6A,6Bの従来方法による認証パスにおいてパスが断絶する階層認証用公開鍵証明書[α1p/α1s]C12と相互証明書[α2p/β2s]C24との間に、新たに被検証側認証局CAαの相互認証用秘密鍵α2sにより同じ被検証側認証局CAαの階層認証用公開鍵α1pを認証した(署名した)公開鍵証明書[α1p/α2s]C25を設けている。これにより、階層認証用公開鍵証明書C12の秘密鍵α1sによる署名を、公開鍵証明書C25で認証された公開鍵α1pによって検証することができ、公開鍵証明書C25の秘密鍵α2sによる署名を、相互証明書C24で認証された公開鍵α2pによって検証することができるので、公開鍵証明書C12とC24間に認証パスが構築されたことになる。従って、異なる階層にある利用者Aの公開鍵証明書C11に対する認証パスを検証者(利用者B)と同じ階層の公開鍵証明書C23にまで接続することができる。
【0018】
この発明の原理による相互認証パス構築を実施するシステムの構成例を図2を参照して以下に説明する。この発明を実施する基本システムは、相互証明書発行側の認証局装置CAβと、相互証明書の発行を受ける側の認証局装置CAαと、相互証明書発行側の認証局CAβの階層に属する利用者Bの利用者装置50Bとを含む。この例では、利用者Bは検証者であり、従って認証パス構築者でもある。認証局CAα側の階層には被検証者である利用者Aの利用者装置が属するが、図示していない。
【0019】
認証局装置CAβは、認証パスの構築を行う事前作業として、認証局CAαの相互証明用公開鍵α2pに対する認証書である相互証明書[α2p/β2s]C24を発行する際、相互証明書発行時SKI挿入手段11を用いて、相互証明書内拡張要素であるSKI107(図7参照)にその相互証明書が認証する公開鍵α2pのハッシュ値h(α2p)を挿入する。
相互証明書C24が発行された後、認証局装置CAαは認証連鎖変換証明書作成手段12を用いて、相互認証用に使用している秘密鍵α2sを用いて、自CAα内で階層認証用に使用している公開鍵α1pを認証した公開鍵証明書[α1p/α2s]である認証連鎖変換証明書C25を作成する。なお、その認証連鎖変換証明書拡張要素にはAKI106(図7)内要素であるKeyIDに本公開鍵証明書C25の署名を検証するための公開鍵である相互認証用公開鍵α2pのハッシュ値h(α2p)を挿入する。
【0020】
検証者装置50BのAKI抽出手段13は、相互認証パスを構築する際、署名検証対象の公開鍵証明書[Ap/α1s],[α1p/α1s]である階層認証書(即ち公開鍵証明書C11,C12)の検証に使用され、正しく認証パスが構築できている全ての公開鍵証明書の拡張要素からAKI106内要素であるKeyIDに格納されている公開鍵のハッシュ値h(α1p)を抽出する。
AKI一致証明書検索手段14は、署名検証用の証明書として入力された公開鍵証明書C25から、その公開鍵証明書の拡張要素であるSKIに設定されているハッシュ値がAKI抽出手段13で抽出した鍵ハッシュ値h(α1p)に一致する公開鍵証明書を検索/抽出する。
【0021】
署名検証手段15は、AKI一致証明書検索手段14により抽出した公開鍵証明書内公開鍵により、署名検証対象の公開鍵証明書の署名の署名検証を行う。
パス構築手段16は、署名検証手段15において署名検証用に使用した公開鍵証明書の識別情報を認証パス管理テーブル18に書き込む。
相互証明書到達確認手段17は、パス構築手段16において用いた署名検証用に使用した公開鍵証明書が、検証者自身が登録する認証局CAβから発行された相互証明書であるかをチェックし、検証者自身が登録する認証局CAβから発行された相互証明書であった場合には、本相互認証パス構築を終了し、そうでなかった場合には、署名検証手段15において署名認証用に使用した公開鍵証明書を署名検証対象の公開鍵証明書、相互証明書を署名検証用の証明書とみなして、AKI抽出手段13から同様のことを繰り返す。
【0022】
具体的には、証明書C25のAKIをAKI抽出手段13で抽出し、AKI一致証明書検索手段14によりAKIと証明書C24のSKIにそれぞれ記録されているハッシュ値が一致することを確認し、これらの証明書C24,C25の署名を署名検証手段15で検証し、正しければパス構築手段16の後、相互証明書到達確認手段17により認証パスを構築する。このように、連続する証明書のAKIとSKIに記録されているハッシュ値の一致を検証することにより、証明書の署名の検証に使用すべき公開鍵を短時間で識別することができる。
【0023】
本発明による相互認証パスの構築処理の具体的な実施例を、図1を例にとり、図4、5、6を参照して説明する。
図3は認証局CAβの処理を示す。
ステップS1β: 認証局CAαからの相互認証用鍵登録申請のトリガーにより、認証局CAβにおいて認証局CAαの相互認証用公開鍵α2pに対して相互認証用秘密鍵β2sにより署名した相互証明書[α2p/β2s]C24を作成するが、その処理過程において相互証明書C24とその認証局CAαの相互証明書用公開鍵α2pを入力として相互証明書発行時SKI挿入手段11(図2)により、相互証明書C24の拡張要素であるSKIにその相互証明書の公開鍵α2pのハッシュ値h(α2p)が挿入される。
【0024】
なお、相互証明書拡張要素内SKIに相互認証用公開鍵のハッシュ値を挿入する方法については、既存のASN.1コンパイラソフトウェア及びコンピュータなどで一般的に使用されているC言語コーディング方法により実現可能である。
図4は認証局CAαの処理を示す。
ステップS1α: 認証局CAβに対する相互認証用鍵登録申請に対して認証局CAβから返却されてきた報告書内の相互証明書[α2p/β2s]C24を認証局CAαのデータベース(図示せず)に登録すると共に、認証連鎖変換証明書作成手段12(図2)は、認証局CAβに登録した相互認証用公開鍵α2pを含む鍵対と、自身の認証局CAαに登録してある階層認証用公開鍵α1pを入力として、自身の認証局CAαに登録してある階層認証用公開鍵α1pに対して認証局CAβに登録した相互認証用公開鍵α2pに対する秘密鍵α2sにより署名した認証連鎖変換証明書[α1p/α2s]C25を作成すると同時に、その処理過程において認証連鎖変換証明書C25内の拡張要素AKIのKeyIDに、認証局CAβに登録した相互認証用公開鍵α2pのハッシュ値h(α2p)が挿入される。また、SKIに被認証公開鍵α1pのハッシュ値h(α1p)が記録される。
【0025】
なお、認証連鎖変換証明書を作成する方法については、既存の公開鍵証明書作成において用いられている方法を用いて容易に実現可能である。
図5は検証者(利用者B)の処理を示す。
ステップS1: 検証に必要な証明書C12,C24,C25を収集する。
ステップS2: 実際の認証パス構築において、証明書中のAKIの認証発行者(ACI)と認証番号(ACSN)を用いた署名(鍵)による認証パス構築、あるいは AKIのKeyID及びSKIを用いた署名(鍵) による認証パス構築により、利用者B(検証者)は利用者Aの署名から公開鍵証明書[Ap/α1s]C11→公開鍵証明書[α1p/α1s]C12と、階層のルート認証局CAの公開鍵証明書[α1p/α1s]C12までは認証パスを構築できるが、利用者Bの信頼のアンカーである公開鍵証明書[β1p/β1s]C23までたどりつかないため、階層認証の検証で用いた公開鍵証明書[Ap/α1p]C11→公開鍵証明書[α1p/α1s]C12を入力し、これを署名検証対象の公開鍵証明書とみなしてAKI抽出手段13が呼ばれ、入力された公開鍵証明書C11及びC12の拡張要素であるAKIのKeyID要素からその公開鍵証明書を検証するための公開鍵α1pのハッシュ値h(α1p)が抽出される。
【0026】
なお、階層認証の検証で用いた公開鍵証明書拡張要素AKIから公開鍵のハッシュ値を抽出する方法は、既存のASN.1コンパイラソフトウェア及びコンピュータなどで一般的に使用されているC言語コーディング方法により実現可能である。ステップS3: AKI抽出手段13で抽出された公開鍵ハッシュ値h(α1p)をトリガーに、AKI一致証明書検索手段14が呼ばれる。署名検証用の公開鍵証明書として入力した認証連鎖変換証明書[α1p/α2s]C25のSKIからハッシュ値h(α1p)を抽出した後、AKI抽出手段13で公開鍵証明書C12から抽出された公開鍵ハッシュ値h(α1p)と、認証連鎖変換証明書[α1p/α2s]C25のSKIに記録されている公開鍵ハッシュ値h(α1p)とを比較し、一致すれば署名検証手段15を呼び、一致する公開鍵証明書が存在しない時にはエラーで処理を終了する。
【0027】
本実施例の場合には認証連鎖変換証明書[α1p/α2s]C25のSKIと、階層認証用公開鍵証明書C12のAKIが一致すると、署名検証手段15が呼ばれて次のステップS4に移る。なお、AKI抽出手段13で抽出された公開鍵ハッシュ値と認証連鎖変換証明書などの公開鍵証明書内SKIのハッシュ値を比較する方法は、既存のコンピユータで使用されている比較アルゴリズムを用いて容易に実現可能である。
ステップS4: AKI抽出手段13で抽出された公開鍵ハッシュ値h(α1p)を含み、かつその公開鍵ハッシュ値がAKI一致証明書検索手段14でSKIと一致した公開鍵証明書、及びAKI一致証明書検索手段14で抽出した公開鍵証明書を入力として、署名検証手段15が呼ばれ、認証連鎖変換証明書[α1p/α2s]C25内の認証局CAαの公開鍵α1pにより公開鍵証明書[Ap/α1s]C11、または公開鍵証明書[α1p/α1s]C12の署名を検証する。本署名検証OKの場合、認証パス構築手段16を呼びステップS5に移り、署名検証NGの場合はエラーで処理を終了する。
【0028】
なお、署名検証を行う方法については、既存の暗号アルゴリズムにおいて行っている署名検証アルゴリズムを用いて容易に実現可能である。
ステップS5: 署名検証ステップS4における署名検証OKをトリガーに、パス構築手段16が呼ばれ、階層認証の検証に用いた認証パス管理テーブルに署名検証手段において署名検証に用いた公開鍵を含む認証連鎖変換証明書[α1p/α2s]の識別情報が書き込まれる。書き込む情報としては公開鍵証明書を一意に識別可能な情報であれば、どんな情報でもよい。
【0029】
なお、公開鍵証明書からの識別情報の抽出方法及び認証パス管理テープルヘの書き込み方法については、一般的に使用されるASN.1コンパイラソフトウェアやコンピュータの世界において用いられる検索/抽出アルゴリズム及びテーブルヘの書き込みアルゴリズムを用いて実現可能である。
ステップS6: パス構築手段16の処理過程終了後、相互証明書到達確認手段17が呼ばれ、署名検証手段15において署名検証に用いた公開鍵証明書の発行者DNを抽出する。
【0030】
ステップS7: 抽出したその発行者DNが利用者B(検証者)自身の登録する階層CAの発行者DNが記載された入力31に示される検証者が登録する階層CA-DNテーブルに記載されているかをチェックする。そのテーブル上に一致する発行者DNがない場合にはステップS8に移る。
ステップS8: 署名検証手段15において署名検証に用いた公開鍵証明書である認証連鎖変換証明書C25を署名検証対象の公開鍵証明書に、署名検証用の公開鍵証明書を相互証明書C24に置き換え、ステップS2からS7の処理を繰り返す。
【0031】
なお、署名検証に用いた公開鍵証明書から発行者DNを抽出する方法及びその発行者DNが、検証者が登録する階層CA-DNテーブルに記載されているかをチェックする方法については、一般的に使用されるASN.1コンパイラソフトウェアや既存のコンピユータが所持している比較アルゴリズムを用いて容易に実現可能である。
上述したこの発明の相互認証パス構築方法を実施する認証局及び利用者の処理はプログラムに従ってコンピュータにより実施することができる。
【0032】
【発明の効果】
この発明による方法を用いることにより、階層認証で使用している鍵と異なる鍵を用いて他認証局CAと相互認証する際、自認証局CA内で相互認証用に使用している鍵により自CA内で階層認証用に使用している鍵を認証した公開鍵証明書である認証連鎖変換証明書により、階層認証において使用している公開鍵証明書から相互証明書への相互認証パスを構築することが可能となる。これにより、署名(鍵)による認証パス構築が可能となり、以下のような効果を発揮することができる。
【0033】
(1) 悪意を持つCAが相互認証しているCA-DNを語ることによるなりすましを行うことができない。
(2) 同じDNに属する鍵を使用目的に応じて使い分けることができる。
この結果から明らかなように、本稿で述べた提案方式は、X.509及びRFC2459における認証パス構築方式の考え方を引き継いだ非常に利便性の高い方式である。
【図面の簡単な説明】
【図1】本発明の相互認証構築方法の原理を説明するための図であり、Aは認証システム全体の構成を示し、Bは認証パスを示す。
【図2】この発明による実施例の処理を示すフロー図を示す。
【図3】認証局CAβの処理を示すフロー図を示す。
【図4】認証局CAαの処理を示すフロー図。
【図5】検証者の処理を示すフロー図。
【図6】従来の相互認証構築方法を説明するための図であり、Aは認証システム全体の構成を示し、Bは認証パスを示す。
【図7】従来の標準化された認証書のフォーマットを示す図。
Claims (7)
- 互いに異なる階層にあり、それぞれ階層認証で使用する公開鍵暗号方式の階層認証用鍵と相互認証で使用する公開鍵暗号方式の相互認証用鍵が異なる第1認証局装置及び第2認証局装置と、上記第1認証局に登録された第1認証局の利用者装置とを含む認証システムの上記第1及び第2認証局装置間の相互認証パスを構築する方法において、
上記第1認証局装置は自分の相互認証用秘密鍵で上記第2認証局装置の相互認証用公開鍵を認証する相互証明書を生成し、
上記第2認証局装置は自分の相互認証用秘密鍵で自分の階層認証用公開鍵を認証した公開鍵証明である認証連鎖変換証明書を生成し、
更に、自分の階層認証用公開鍵を自分の階層認証用秘密鍵で認証した階層認証用公開鍵証明書を生成し、
上記第1認証局装置の利用者装置は、上記認証連鎖変換証明書を使って上記階層認証用公開鍵証明書の署名を検証し、
上記相互証明書を使って上記認証連鎖変換証明書の署名を検証することを特徴とする相互認証パス構築方法。 - 請求項1記載の相互認証パス構築方法において、
上記各証明書は予め決めたフォーマットに従って少なくとも発行者名と、被認証者名と、その証明書に与えた署名を検証するための公開鍵のハッシュ値を含むAuthorityKeyIdentifierと、被認証公開鍵のハッシュ値を含むSubjectKeyIdentifierとを有し、
上記第1認証局装置は、上記相互認証用公開鍵のハッシュ値を上記相互証明書のSubjectKeyIdentifierに記録し、
上記第2認証局装置は、上記認証連鎖変換証明書のAuthorityKeyIdentifierに自分の相互認証用公開鍵のハッシュ値を記録し、更にSubjectKeyIdentifierに自分の階層認証用公開鍵のハッシュ値を記録し、
上記第1認証局装置の利用者装置は更に上記第2認証局装置の上記階層認証用公開鍵証明書のAuthorityKeyIdentifier中のハッシュ値と上記認証連鎖変換証明書のSubjectKeyIdentifier中のハッシュ値の一致を検証し、
上記認証連鎖変換証明書のAuthorityKeyIdentifier中のハッシュ値と上記相互証明書のSubjectKeyIdentifier中のハッシュ値の一致を検証するステップとを有することを特徴とする相互認証パス構築方法。 - 各証明書は予め決めたフォーマットに従って少なくとも発行者名と、被認証者名と、その証明書に与えた署名を検証するための公開鍵のハッシュ値を含むAuthorityKeyIdentifierと、被認証公開鍵のハッシュ値を含むSubjectKeyIdentifierとを有し、互いに異なる階層にあり、それぞれ階層認証で使用する公開鍵暗号方式の階層認証用鍵と相互認証で使用する公開鍵暗号方式の相互認証用鍵が異なる第1認証局装置及び第2認証局装置と、上記第1認証局装置に登録された利用者装置とを含む認証システムにおける上記第1及び第2認証局装置間の相互認証パスを構築する上記利用者装置であり、
上記第1認証局装置から、上記第2認証局装置の相互認証用公開鍵に対し上記第1認証局装置の相互認証用秘密鍵で認証を与えた相互証明書と、上記第2認証局装置から、上記第2認証局装置の階層認証用公開鍵に対し、階層認証用秘密鍵で認証を与えた階層認証用公開鍵証明書と、上記第2認証局装置の階層認証用公開鍵に対し相互認証用秘密鍵により認証を与えた認証連鎖変換証明書とを受信し、上記階層認証用公開鍵証明書のAuthorityKeyIdentifier中のハッシュ値と、上記認証連鎖変換証明書のSubjectKeyIdentifier中のハッシュ値との一致を検証し、上記認証連鎖変換証明書のAuthorityKeyIdentifier中のハッシュ値と上記相互証明書のSubjectKeyIdentifier中のハッシュ値との一致を検証するAuthorityKeyIdentifier一致証明書検索手段と、
上記一致証明書検索手段により一致が検証された上記階層認証用公開鍵証明書の署名を、上記認証連鎖変換証明書で認証された上記階層認証用公開鍵により検証し、上記認証連鎖変換証明書の署名を、上記相互証明書で認証された上記相互認証用公開鍵で検証する署名検証手段、
とを含むことを特徴とする利用者装置。 - 各証明書は予め決めたフォーマットに従って少なくとも発行者名と、被認証者名と、その証明書に与えた署名を検証するための公開鍵のハッシュ値を含むAuthorityKeyIdentifierと、被認証公開鍵のハッシュ値を含むSubjectKeyIdentifierとを有し、互いに異なる階層にあり、それぞれ階層認証で使用する公開鍵暗号方式の階層認証用鍵と相互認証で使用する公開鍵暗号方式の相互認証用鍵が異なる第1認証局装置及び第2認証局装置と、上記第1認証局装置に登録された利用者装置とを含む認証システムにおける上記利用者装置での上記第1及び第2認証局装置間の相互認証パスを構築する方法であり、上記利用者装置は、
上記第1認証局装置から、上記第2認証局装置の相互認証用公開鍵に対し上記第1認証局装置の相互認証用秘密鍵で認証を与えた相互証明書を受信し、
上記第2認証局装置から、上記第2認証局装置の階層認証用公開鍵に対し、階層認証用秘密鍵で認証を与えた階層認証用公開鍵証明書と、上記第2認証局装置の階層認証用公開鍵に対し相互認証用秘密鍵により認証を与えた認証連鎖変換証明書とを受信し、
上記公開鍵証明書のAuthorityKeyIdentifier中のハッシュ値と、上記認証連鎖変換証明書のSubjectKeyIdentifier中のハッシュ値との一致をAKI一致証明書検索手段で検証し、一致すれば、
上記階層認証用公開鍵証明書の署名を、上記認証連鎖変換証明書で署名検証手段により認証された上記階層認証用公開鍵により検証し、合格すれば、
上記認証連鎖変換証明書のAuthorityKeyIdentifier中のハッシュ値と上記相互証明書のSubjectKeyIdentifier中のハッシュ値との一致をAKI一致証明書検索手段で検証し、一致すれば、
上記認証連鎖変換証明書の署名を、上記相互証明書で認証された上記相互認証用公開鍵で署名検証手段により検証する、
ことを特徴とする利用者装置の相互認証パス構築方法。 - 請求項4に記載の方法をコンピュータで実施するプログラム。
- 各証明書は予め決めたフォーマットに従って少なくとも発行者名と、被認証者名と、その証明書に与えた署名を検証するための公開鍵のハッシュ値を含むAuthorityKeyIdentifierと、被認証公開鍵のハッシュ値を含むSubjectKeyIdentifierとを有し、利用者装置が登録された第1認証局装置と、上記第1認証局装置と互いに異なる階層にあり、それぞれ階層認証で使用する公開鍵暗号方式の階層認証用鍵と相互認証で使用する公開鍵暗号方式の相互認証用鍵が異なる第2認証局装置との間に相互認証パスを構築するシステムにおける上記第2認証局装置は、
自局の相互認証用公開鍵が入力され、そのハッシュ値を作成する手段と、
自局の階層認証用公開鍵が入力され、そのハッシュ値を作成する手段と、
認証番号と、発行者名と、発行期限と、被認証者名と、上記自局の階層認証用公開鍵と、上記自局の相互認証用公開鍵のハッシュ値と、上記自局の階層認証用公開鍵のハッシュ値とが入力され、上記相互認証用公開鍵を上記 AuthorityKeyIdentifier の KeyIdentifier 要素とし、上記階層認証用公開鍵のハッシュ値を上記 AuthorityKeyIdentifier の KeyIdentifier 要素として非署名公開鍵証明書に記録する手段と、
上記非署名公開鍵証明書及び上記相互認証用公開鍵と対をなす相互認証用秘密鍵が入力され、その相互認証用秘密鍵で上記非署名公開鍵証明書に記録された情報を署名して認証連鎖変換証明書を作成する手段とを、
を有することを特徴とする。 - 請求項6に記載した第2認証装置として、コンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001013438A JP3791758B2 (ja) | 2001-01-22 | 2001-01-22 | 相互認証パス構築方法及びその利用者装置と認証局の処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001013438A JP3791758B2 (ja) | 2001-01-22 | 2001-01-22 | 相互認証パス構築方法及びその利用者装置と認証局の処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002217901A JP2002217901A (ja) | 2002-08-02 |
JP3791758B2 true JP3791758B2 (ja) | 2006-06-28 |
Family
ID=18880290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001013438A Expired - Fee Related JP3791758B2 (ja) | 2001-01-22 | 2001-01-22 | 相互認証パス構築方法及びその利用者装置と認証局の処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3791758B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4427227B2 (ja) * | 2002-02-28 | 2010-03-03 | 株式会社東芝 | 序列的認証システム、装置、プログラム及び方法 |
US7509120B2 (en) | 2004-09-07 | 2009-03-24 | Research In Motion Limited | System and method for updating message trust status |
EP2157759B1 (en) * | 2004-09-07 | 2013-01-09 | Research In Motion Limited | System and method for updating message trust status |
JP2006287455A (ja) * | 2005-03-31 | 2006-10-19 | Nec Corp | 証明書検証装置及び方法並びに証明書検証サーバ |
JP4753819B2 (ja) * | 2006-09-19 | 2011-08-24 | 日本電信電話株式会社 | 電磁的記録の証拠能力及び/又は証拠価値を高める情報処理方法、プログラム及び装置 |
JP2012100188A (ja) * | 2010-11-05 | 2012-05-24 | Tokai Rika Co Ltd | 認証システム |
-
2001
- 2001-01-22 JP JP2001013438A patent/JP3791758B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002217901A (ja) | 2002-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
US20220052852A1 (en) | Secure biometric authentication using electronic identity | |
US20200013026A1 (en) | Systems and methods for blockchain addresses and owner verification | |
JP4736744B2 (ja) | 処理装置、補助情報生成装置、端末装置、認証装置及び生体認証システム | |
JP4624099B2 (ja) | 電子署名のチェック方法およびシステムと、該方法で使用する超小型回路付カード | |
US20060155985A1 (en) | Method and system with authentication, revocable anonymity and non-repudiation | |
CN101136749B (zh) | 加密密钥生成和复原方法以及个人认证系统 | |
US7620213B2 (en) | Authentication device using anatomical information and method thereof | |
GB2317983A (en) | Authenticating user | |
JP2007515890A (ja) | デジタル証明書を生成するためのシステムおよび方法 | |
EP2184888B1 (en) | Verifying device and program | |
CN103119598A (zh) | 服务提供系统以及单元装置 | |
WO2003007527A2 (en) | Biometrically enhanced digital certificates and system and method for making and using | |
WO2003077082A2 (en) | A biometric authentication system and method | |
US20190294762A1 (en) | Computer implemented method and a system for tracking of certified documents lifecycle and computer programs thereof | |
CN109768983A (zh) | 基于区块链的多维动态身份识别方法、装置及系统 | |
Ahamad et al. | A secure NFC mobile payment protocol based on biometrics with formal verification | |
CN109242666A (zh) | 基于区块链获取个人征信方法、装置及计算机设备 | |
CN112567706A (zh) | 用于跨计算机网络任务分配的基于累加器协议的计算机实现的系统和方法 | |
CN101194463A (zh) | 认证系统、认证装置、终端装置以及验证装置 | |
JP3791758B2 (ja) | 相互認証パス構築方法及びその利用者装置と認証局の処理プログラム | |
JP2001331646A (ja) | 指紋照合を利用した金融取引システムおよび金融取引方法 | |
CN114036485A (zh) | 公用网络下人脸特征协同保护安全认证系统 | |
CN115955345A (zh) | 一种结合生物特征的安全管理认证方法及装置 | |
JPH11110464A (ja) | 電子証券の発行、移転、証明、消去のための処理システム及びその処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051208 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051208 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060330 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |