(57)【要約】【課題】利用者端末が申請ごとにＣＡの署名アルゴリズムを切り替え、異なる署名アルゴリズムにより署名された公開鍵証明書を所持する利用者端末間で証明書パスを構築できる方法を提供する。【解決手段】利用者端末は、申請の際、希望署名アルゴリズム設定部２により、ＣＡの署名アルゴリズムを設定する。ＣＡは、希望署名アルゴリズム抽出部３により、利用者端末が設定した署名アルゴリズムを抽出し、対応ＣＡ署名鍵抽出部４により、この署名アルゴリズムに対応する署名鍵を抽出し、署名部５により署名を行う。また、ＣＡは、署名アルゴリズム間相互証明書発行部１により、実装している署名アルゴリズムに対応する公開鍵を、実装している別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成し、利用者端末は、これを用いて、証明書パス構築部６により、異なる署名アルゴリズムの証明書間のパスを構築する。【選択図】  図１
2004248184.tif 000002
【特許請求の範囲】
【請求項１】
複数の署名アルゴリズムを有する認証局を利用した相手認証方法において、
利用者端末が、認証局への申請において署名アルゴリズムを指定するステップと、
前記認証局が、前記利用者端末からの前記申請に指定された署名アルゴリズムを抽出するステップと、
前記認証局が、抽出した署名アルゴリズムに対応する署名鍵を抽出するステップと、
前記認証局が、該署名鍵を用いて、前記利用者端末への証明書またはサービス結果に署名を行うステップを有することを特徴とする方法。
【請求項２】
複数の署名アルゴリズムを有する認証局を利用した相手認証方法において、
認証局が、該認証局が有する署名アルゴリズムに対応する公開鍵を、該認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成するステップと、
前記利用者端末が、前記署名アルゴリズム間相互証明書を取得するステップと、
前記利用者端末が、前記署名アルゴリズム間相互証明書を用いて、異なる署名アルゴリズム間で証明書パスを構築するステップを有することを特徴とする方法。
【請求項３】
複数の署名アルゴリズムを有する認証局に、
利用者端末からの申請に指定された署名アルゴリズムを抽出するステップと、
抽出した署名アルゴリズムに対応する署名鍵を抽出するステップと、
該署名鍵を用いて、前記利用者端末への証明書またはサービス結果に署名を行うステップを実行させるプログラム。
【請求項４】
複数の署名アルゴリズムを有する認証局に、
前記認証局が有する署名アルゴリズムに対応する公開鍵を、前記認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成するステップを実行させるプログラム。
【請求項５】
複数の署名アルゴリズムを有する認証局からサービスを受ける利用者端末に、
認証局への申請において署名アルゴリズムを指定するステップを実行させるプログラム。
【請求項６】
複数の署名アルゴリズムを有する認証局からサービスを受ける利用者端末に、
前記認証局が有する署名アルゴリズムに対応する公開鍵を、前記認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を取得するステップと、
前記署名アルゴリズム間相互証明書を用いて、異なる署名アルゴリズム間で証明書パスを構築するステップを実行させるプログラム。
【請求項７】
請求項３に記載のプログラムが記録された、コンピュータ読取りが可能な記録媒体。
【請求項８】
請求項４に記載のプログラムが記録された、コンピュータ読取りが可能な記録媒体。
【請求項９】
請求項５に記載のプログラムが記録された、コンピュータ読取りが可能な記録媒体。
【請求項１０】
請求項６に記載のプログラムが記録された、コンピュータ読取りが可能な記録媒体。
【請求項１１】
複数の署名アルゴリズムを有する認証局において、
利用者端末からの申請に指定された署名アルゴリズムを抽出する手段と、
抽出した署名アルゴリズムに対応する署名鍵を抽出する手段と、
該署名鍵を用いて、前記利用者端末への証明書またはサービス結果に署名を行う手段を有することを特徴とする認証局。
【請求項１２】
複数の署名アルゴリズムを有する認証局において、
当該認証局が有する署名アルゴリズムに対応する公開鍵を、当該認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成する手段を有することを特徴とする認証局。
【請求項１３】
複数の署名アルゴリズムを有する認証局において、
利用者端末からの申請に指定された署名アルゴリズムを抽出する手段と、
抽出した署名アルゴリズムに対応する署名鍵を抽出する手段と、
該署名鍵を用いて、前記利用者端末への証明書またはサービス結果に署名を行う手段と、
当該認証局が有する署名アルゴリズムに対応する公開鍵を、当該認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成する手段を有することを特徴とする認証局。
【請求項１４】
複数の署名アルゴリズムを有する認証局からサービスを受ける利用者端末において、
前記認証局への申請において署名アルゴリズムを指定する手段を有することを特徴とする利用者端末。
【請求項１５】
複数の署名アルゴリズムを有する認証局からサービスを受ける利用者端末において、
前記認証局が有する署名アルゴリズムに対応する公開鍵を、前記認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を取得する手段と、
前記署名アルゴリズム間相互証明書を用いて、異なる署名アルゴリズム間で証明書パスを構築する手段を有することを特徴とする利用者端末。
【請求項１６】
複数の署名アルゴリズムを有する認証局からサービスを受ける利用者端末において、
前記認証局への申請において署名アルゴリズムを指定する手段と、
前記認証局が有する署名アルゴリズムに対応する公開鍵を、前記認証局が有する、該署名アルゴリズムとは別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を取得する手段と、
前記署名アルゴリズム間相互証明書を用いて、異なる署名アルゴリズム間で証明書パスを構築する手段を有することを特徴とする利用者端末。
【請求項１７】
複数の署名アルゴリズムを有する認証局を利用した相手認証システムにおいて、
請求項１１から１３のいずれか１項に記載の認証局と、
請求項１４から１６のいずれか１項に記載の利用者端末を有することを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、認証局（Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ、以下ＣＡと略す）を利用した認証に関する。
【０００２】
【従来の技術】
ＣＡを利用した認証においては、署名鍵が漏洩した、または、署名アルゴリズムそのものが危殆化したという場合に備え、他の署名アルゴリズムを有する署名鍵への移行が速やかに行えるように、異なる署名アルゴリズムを有する複数の署名鍵をＣＡに実装することが提案されている。
【０００３】
異なる署名アルゴリズムを有する複数の署名鍵を実装する方法としては、以下の方法が存在する。
【０００４】
ＣＡから利用者端末に返却する証明書またはサービス結果に付される署名に使用する署名鍵は、ＣＡが実装している、異なる署名アルゴリズムを有する複数の署名鍵の中から、ＣＡが一意に指定し、その署名鍵で署名を行う。
【０００５】
しかし、この方法は以下の問題点を有する。
【０００６】
Ｗｅｂブラウザなど、検証可能な署名アルゴリズムが限定されている環境（アプリケーションなど）において、ＣＡが署名鍵として使用している鍵の署名アルゴリズムを利用者端末が検証できない場合が存在する。例えば、ＣＡがＤＳＡ鍵を署名鍵としている場合、ＲＳＡ公開鍵を登録申請してきた、ＲＳＡしか検証できない利用者端末に対して、ＤＳＡ署名鍵で証明書に署名をしてしまうことになる。この場合、証明書を受け取った利用者端末は、検証を行うことができなくなる。
【０００７】
そこで、上記問題点を解決するために、以下の方法が提案されている。
【０００８】
異なる署名アルゴリズムを有する複数の署名鍵を実装するＣＡが、利用者端末とＣＡの署名アルゴリズムとの対応を管理することにより、利用者端末ごとにＣＡの署名アルゴリズムを切り替える（例えば、特許文献１参照）。
【０００９】
【特許文献１】
特開２００２−２０７４２６号公報
【００１０】
【発明が解決しようとする課題】
しかし、特許文献１で開示されている、異なる署名アルゴリズムを有する複数の署名鍵を実装する方法は、以下の問題点を有する。
【００１１】
利用者端末ごとにＣＡの署名アルゴリズムを切り替えるため、ＣＡが、利用者端末とＣＡの署名アルゴリズムとの対応を管理する必要がある。このため、利用者端末がＣＡの署名アルゴリズムを変更して欲しい場合には、利用者端末は、なんらかの方法でＣＡに対して、ＣＡで管理している、利用者端末とＣＡの署名アルゴリズムとの対応を変更してもらわなければならない。このため、利用者端末が申請ごとにＣＡの署名アルゴリズムを切り替えることは不可能である。
【００１２】
また、ＣＡは利用者端末ごとにＣＡの署名アルゴリズムを切り替えるため、異なる署名アルゴリズムにより発行された公開鍵証明書を所持する利用者端末間では、証明書のパスを構築することができなくなる。このため、このような利用者端末間では、ＣＡを用いた認証に失敗する。例えば、ＣＡがＲＳＡとＤＳＡを実装している環境においては、ＲＳＡ署名鍵とＤＳＡ署名鍵により公開鍵証明書を発行するが、ＣＡのＲＳＡ公開鍵証明書とＤＳＡ公開鍵証明書の証明書パスが存在しないため、ＲＳＡ署名鍵により発行された公開鍵証明書を所持する利用者端末とＤＳＡ鍵により発行された公開鍵証明書を所持する利用者端末間において、証明書パスを構築することができず、認証に失敗する。
【００１３】
本発明の目的は、利用者端末が申請ごとに、ＣＡの署名アルゴリズムを切り替えることができ、異なる署名アルゴリズムにより発行された公開鍵証明書を所持する利用者端末間での証明書パスを構築できる方法を提供することにある。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ＣＡが、利用者端末からの申請を受付けると、利用者端末が申請書に設定した署名アルゴリズムを申請書から抽出し、この署名アルゴリズムに対応するＣＡの署名鍵で、ＣＡから利用者端末に返却する証明書またはサービス結果に署名を行う。また、ＣＡが実装している署名アルゴリズムに対応する公開鍵を、ＣＡが実装している別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成する。
【００１５】
【発明の実施の形態】
次に、本発明の実施の形態について、図１を参照して詳細に説明する。
【００１６】
本発明の一実施形態の、異なる署名アルゴリズムを有する複数の署名鍵を実装したＣＡを利用した相手認証システムは、▲１▼利用者端末に設けられる希望署名アルゴリズム設定部２と、ＣＡに設けられる希望署名アルゴリズム抽出部３と、対応ＣＡ署名鍵抽出部４と、署名部５により、ＣＡが、利用者端末が申請書に設定した署名アルゴリズムを申請書から抽出し、この署名アルゴリズムに対応するＣＡの署名鍵で、ＣＡから利用者端末に返却する証明書またはサービス結果に署名を行う。また、▲２▼ＣＡに設けられる署名アルゴリズム間相互証明書発行部１と、利用者端末に設けられる証明書パス構築部６と、署名アルゴリズム間相互証明書取得部７により、ＣＡが実装している署名アルゴリズムに対応する公開鍵を、ＣＡが実装している別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成し、異なる署名アルゴリズムにより発行された公開鍵証明書を所持する利用者端末間での証明書パスを構築する。
【００１７】
次に、本実施形態のシステムにおける処理を各部に分けて説明する。
【００１８】
（１）署名アルゴリズム間相互証明書発行部１における処理
ＣＡは、署名アルゴリズム間相互証明書発行部１用い、ＣＡが実装している署名アルゴリズムに対応する公開鍵を、ＣＡが実装している別の署名アルゴリズムに対応する署名鍵で認証した署名アルゴリズム間相互証明書を作成し、保有する署名アルゴリズムすべてについて本処理を繰り返す。
【００１９】
（２）希望署名アルゴリズム設定部２における処理
利用者端末は、ＣＡに対する各種サービス申請書作成を契機として、希望署名アルゴリズム設定部２を用い、申請書に署名アルゴリズムを設定する。
【００２０】
（３）希望署名アルゴリズム抽出部３における処理
この申請書を受け取ったＣＡは、希望署名アルゴリズム抽出部３を用い、申請書から利用者端末が設定した署名アルゴリズムを抽出する。
【００２１】
（４）対応ＣＡ署名鍵抽出部４における処理
ＣＡは、対応ＣＡ署名鍵抽出部４を用い、希望署名アルゴリズム抽出部３により抽出した署名アルゴリズムに対応するＣＡ署名鍵が存在するか否かをＣＡ署名鍵管理ファイル（またはデータベース）８をもとに判定し、存在すれば、ＣＡの署名鍵を抽出する。
【００２２】
（５）署名部５における処理
ＣＡは、対応ＣＡ署名鍵部４により抽出したＣＡの署名鍵により、署名部５を用い、利用者端末に返却する証明書またはサービス結果に署名を行う。
【００２３】
（６）証明書パス構築部６と署名アルゴリズム間相互証明書取得部７における処理
利用者端末は、通信相手の認証を行う際、証明書パス構築部６を用いて証明書パス検証を実施する。証明書パス検証における失敗すると、署名アルゴリズム間相互証明書取得部７を用い、署名アルゴリズム間相互証明書発行部１により作成された署名アルゴリズム間相互証明書を、ＣＡやディレクトリ（外部データベースなど）などから取得する。署名アルゴリズム間相互証明書と証明書パス構築部６を用いて再度証明書パス検証を行う。
【００２４】
【実施例】
次に、本実施形態の実施例について、図２および図３を参照して詳細に説明する。
【００２５】
本実施形態の一実施例は、ＣＡがＤＳＡを既に使用しており、新規にＥＳＩＧＮ署名鍵を使用する。また、申請書に含まれる、利用者端末が指定する署名アルゴリズムとして、申請書のＳｉｇｎａｔｕｒｅ要素のＡｌｇｏｒｉｔｈｍ  Ｉｄｅｎｔｉｆｉｅｒ要素に格納された署名アルゴリズムを使用し、利用者端末は署名アルゴリズムにＤＳＡを指定する場合を例にとって説明する。なお、本実施例では、申請書のＳｉｇｎａｔｕｒｅ要素のＡｌｇｏｒｉｔｈｍ  Ｉｄｅｎｔｉｆｉｅｒ要素を使用しているが、申請書に含まれる、利用者端末が指定した署名アルゴリズムとしては、申請書に別途そのための項目を設けるなど、さまざまな方法が考えられる。
【００２６】
（１）署名アルゴリズム間相互証明書発行部１における処理
ＣＡは、新規にＥＳＩＧＮ公開鍵証明書を作成する際、署名アルゴリズム間相互証明書発行部１を用い、新規に登録しようとしているＥＳＩＧＮ公開鍵を、このＣＡが既に実装している別の署名アルゴリズムであるＤＳＡ署名鍵で認証した署名アルゴリズム間相互証明書を作成する。また逆に、新規に登録しようとしているＥＳＩＧＮ署名鍵により、このＣＡが既に実装している別の署名アルゴリズムであるＤＳＡ公開鍵を認証した署名アルゴリズム間相互証明書を作成する。
【００２７】
（２）希望署名アルゴリズム設定部２における処理
利用者端末は、公開鍵登録申請や公開鍵証明書無効化申請などＣＡに対する各種サービス申請書作成を契機として、希望署名アルゴリズム設定部２を用い、申請書のＳｉｇｎａｔｕｒｅ要素のＡｌｇｏｒｉｔｈｍ  Ｉｄｅｎｔｉｆｉｅｒ要素の署名アルゴリズムとして、ＤＳＡの署名アルゴリズムを設定する。
【００２８】
（３）希望署名アルゴリズム抽出部３における処理
ＣＡは、利用者端末からの申請書の受信を契機として、希望署名アルゴリズム抽出部３を用い、受信した申請書内Ｓｉｇｎａｔｕｒｅ要素のＡｌｇｏｒｉｔｈｍ  Ｉｄｅｎｔｉｆｉｅｒ要素の署名アルゴリズムから利用者端末が指定した署名アルゴリズムであるＤＳＡの署名アルゴリズムを抽出する。
【００２９】
（４）対応ＣＡ署名鍵抽出部４における処理
ＣＡは、希望署名アルゴリズム抽出部３により抽出した、利用者端末が指定した署名アルゴリズム（ＤＳＡの署名アルゴリズム）を入力として、対応ＣＡ署名鍵抽出部４を用い、利用者端末が指定した署名アルゴリズム（ＤＳＡの署名アルゴリズム）に対応するＣＡの署名鍵が存在するか否かをＣＡ署名鍵管理ファイル（またはデータベース）８をもとに判定し、存在していた場合は、対応するＣＡの署名鍵を抽出する。本実施例では、ＤＳＡ署名鍵が存在していることにより、ＤＳＡ署名鍵が抽出される。
【００３０】
なお、存在していなかった場合は、システム設定値により、以下の２つのどちらかが適用される。
（ア）デフォルトとして指定したＣＡ署名鍵を抽出する。
（イ）対応するＣＡ署名鍵を存在しないというエラーを返却する。
【００３１】
（５）署名部５における処理
ＣＡは、対応ＣＡ署名鍵抽出部４により抽出されたＣＡの署名鍵（ＤＳＡ署名鍵）の入力を契機に、署名部５を用い、この署名鍵により利用者端末に返却する証明書またはサービス結果に署名を行う。
【００３２】
（６）証明書パス構築部６と署名アルゴリズム間相互証明書取得部７における処理
このＤＳＡ署名鍵により署名された証明書を発行してもらった利用者端末は、同じＣＡのＥＳＩＧＮ署名鍵により発行された公開鍵証明書を所持する利用者端末の認証を行う際、証明書パス構築部６が呼ばれ、通信相手のＥＳＩＧＮ公開鍵証明書→ＣＡのＥＳＩＧＮ公開鍵証明書と証明書パスが構築されるが、ＣＡのＥＳＩＧＮ公開鍵証明書とＣＡのＤＳＡ公開鍵証明書との証明書パスをつなぐ署名アルゴリズム間相互証明書が、このＤＳＡ署名鍵により署名された証明書を発行してもらった利用者端末のもとに存在しないため、証明書パス構築はエラーとなる。この証明書パス構築における失敗を契機に、署名アルゴリズム間相互証明書取得部７を用い、署名アルゴリズム間相互証明書発行部１により作成された、ＥＳＩＧＮ公開鍵に対してＤＳＡ署名鍵により認証された署名アルゴリズム間相互証明書をＣＡやディレクトリなどから取得する。その後、再度、この署名アルゴリズム間相互証明書と証明書パス構築部６を用いて再度証明書パス検証を行う。
【００３３】
なお、認証局および利用者端末は、専用のハードウェアにより実現する以外に、その機能を実現するためのプログラムを、コンピュータ読取りが可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読込ませ、実行するものであってもよい。コンピュータ読取りが可能な記録媒体とは、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読取りが可能な記録媒体とは、インターネットを介してプログラムを送信する場合のように、短時間の間に、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバまたは端末となるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含む。
【００３４】
【発明の効果】
以上説明したように、本発明によれば、利用者端末が申請ごとに、ＣＡの署名アルゴリズムを切り替えることが可能になる。さらに、異なるアルゴリズムで発行された公開鍵証明書を持つ利用者端末間での証明書パスを構築することが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態の、異なる署名アルゴリズムを有する複数の署名鍵を実装した認証局を利用した相手認証システムの構成を示す図である。
【図２】ＣＡが署名アルゴリズム間相互証明書を作成し、利用者端末がそれを用いて、証明書パスを再構築する処理を示すフローチャートである。
【図３】利用者端末が署名アルゴリズムを設定し、ＣＡがこれを抽出して対応する署名鍵を抽出し、これを用いて署名を行う処理を示すフローチャートである。
【符号の説明】
１  署名アルゴリズム間相互証明書発行部
２  希望署名アルゴリズム設定部
３  希望署名アルゴリズム抽出部
４  対応ＣＡ署名鍵抽出部
５  署名部
６  証明書パス構築部
７  署名アルゴリズム間相互証明書取得部
８  ＣＡ署名鍵管理ファイルまたはデータベース
【図１】
2004248184.tif 000003
【図２】
2004248184.tif 000004
【図３】
2004248184.tif 000005