(57)【要約】【課題】ＩＣカード保有者本人による認証か、代行者による認証かを識別することを可能とするカード認証システムを提供する。【解決手段】ＩＣカード保有者以外が認証を代行した場合は、サーバ装置から送信された認証用の情報（例えば乱数からなるチャレンジコード）をカード内で秘密鍵を利用して複数回以上の暗号化処理を行うか、又は秘密鍵を活性化した代行者に対応した代行者コードをサーバ装置より送付された乱数と合わせて暗号化処理（例えば代行者コードを鍵とする鍵付きハッシュ化）してレスポンスコードとして返信することで、カード保有者本人が認証したか、又は代行者が認証したかをサーバ装置側が識別する。【選択図】図５
2011087284.tif 000002
【特許請求の範囲】
【請求項１】
保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記ＩＣカード利用者端末は、前記認証情報の入力手段、前記ＩＣカードの読み書き手段、及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が前記保有者本人の認証情報に基づくものか、前記代行者のいずれかの認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記ＩＣカード利用者端末から送られた前記認証情報と、前記ＩＣカード内に格納されている前記認証情報とを照合し、一致した場合には、一致した認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数から成るチャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記保有者の秘密鍵を用いて前記認証者に対応して予め決められた回数だけ前記チャレンジコードを暗号化し、該暗号化されたチャレンジコードと前記公開鍵証明書を含むレスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記レスポンスコードに含まれる前記暗号化されたチャレンジコードを前記保有者の公開鍵によって復号化処理を行い、正しく復号化できたときの復号化回数によって前記認証者を特定することを特徴とするＩＣカードシステムにおけるカード認証システム。
【請求項２】
保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報及び代行者コード、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記ＩＣカード利用者端末は、前記認証情報の入力手段、前記ＩＣカードの読み書き手段、及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が前記保有者本人の認証情報に基づくものか、前記代行者のいずれかの認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記ＩＣカード利用者端末から送られた前記認証情報と、前記ＩＣカード内に格納されている前記認証情報とを照合し、一致した場合には、一致した認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数を含むチャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記認証者が保有者である場合は前記チャレンジコードを前記保有者の秘密鍵を用いて暗号化し、前記認証者が代行者である場合は前記チャレンジコードを前記代行者コードを鍵として鍵付きハッシュ化するとともに前記秘密鍵を用いて前記ハッシュ化チャレンジコードを暗号化し、前記暗号化されたチャレンジコード若しくはハッシュ化チャレンジコードと前記公開鍵証明書を含むレスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記レスポンスコードに含まれる前記暗号化されたチャレンジコード若しくはハッシュ化チャレンジコードを前記保有者の公開鍵によって復号化処理を行い、復号化された結果が前記チャレンジコードと等しい場合は前記認証者を前記保有者と特定し、復号化された結果が前記チャレンジコードと等しくない場合は、前記サーバ装置内に記憶している前記チャレンジコードを前記サーバ装置内に格納されているいずれかの代行者コードを用いて鍵付きハッシュ化し、前記レスポンスコードに含まれている前記ハッシュ化チャレンジコードと比較し、その結果一致した方に使用された代行者コードによって前記認証者を特定することを特徴とするＩＣカードシステムにおけるカード認証システム。
【請求項３】
保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、前記代行者の認証を行うための代行者認証装置と、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記代行者認証装置は、前記代行者用の認証情報と、該代行者認証情報を鍵として暗号化を行う暗号化手段とを備え、
前記ＩＣカード利用者端末は、前記ＩＣカードの読み書き手段、並びに前記代行者認証装置及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が、いずれの前記代行者の認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記代行者認証装置からの認証トリガ信号を受けて前記代行者認証装置に乱数１を含む第１チャレンジコードを送信し、
前記代行者認証装置は、受信した前記第１チャレンジコードを前記暗号化手段で前記代行者認証情報を鍵として暗号化を行い、該暗号化された第１チャレンジコードを含む第１レスポンスコードを前記ＩＣカードの前記認証処理手段に送信し、
前記認証処理手段は、前記代行者認証装置から送られた前記第１レスポンスコードをいずれかの前記代行者の認証情報を鍵として復号化し、前記送信した第１チャレンジコードと照合し、一致した場合には、復号化の鍵に使用した前記認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数２を含む第２チャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記保有者の秘密鍵を用いて前記認証者に対応して予め決められた回数だけ前記第２チャレンジコードを暗号化し、該暗号化された第２チャレンジコードと前記公開鍵証明書を含む第２レスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記第２レスポンスコードに含まれる前記暗号化された第２チャレンジコードを前記保有者の公開鍵によって復号化処理を行い、正しく復号化できたときの復号化回数によって前記認証者を特定することを特徴とするＩＣカードシステムにおけるカード認証システム。
【請求項４】
保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報及び代行者コード、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、前記代行者の認証を行うための代行者認証装置と、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記代行者認証装置は、前記代行者用の認証情報と、該代行者認証情報を鍵として暗号化を行う暗号化手段とを備え、
前記ＩＣカード利用者端末は、前記ＩＣカードの読み書き手段、並びに前記代行者認証装置及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が、いずれの前記代行者の認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記代行者認証装置からの認証トリガ信号を受けて前記代行者認証装置に乱数１を含む第１チャレンジコードを送信し、
前記代行者認証装置は、受信した前記第１チャレンジコードを前記暗号化手段で前記代行者認証情報を鍵として暗号化を行い、該暗号化された第１チャレンジコードを含む第１レスポンスコードを前記ＩＣカードの前記認証処理手段に送信し、
前記認証処理手段は、前記代行者認証装置から送られた前記第１レスポンスコードをいずれかの前記代行者の認証情報を鍵として復号化し、前記送信した第１チャレンジコードと照合し、一致した場合には、復号化の鍵に使用した前記認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数２を含む第２チャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記第２チャレンジコードを前記代行者コードを鍵として鍵付きハッシュ化するとともに前記保有者の秘密鍵を用いて前記ハッシュ化第２チャレンジコードを暗号化し、前記暗号化されたハッシュ化第２チャレンジコードと前記公開鍵証明書を含む第２レスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記第２レスポンスコードに含まれる前記暗号化されたハッシュ化第２チャレンジコードを前記保有者の公開鍵によって復号化処理を行うとともに、前記サーバ装置内に記憶している前記第２チャレンジコードを前記サーバ装置内に格納されているいずれかの代行者コードを用いて鍵付きハッシュ化し、前記復号化された前記ハッシュ化第２チャレンジコードと照合し、その結果、一致した方に使用された代行者コードによって前記認証者である代行者を特定することを特徴とするＩＣカードシステムにおけるカード認証システム。
【請求項５】
保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報及び代行者コード、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記ＩＣカード利用者端末は、前記ＩＣカードの読み書き手段及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記代行者用の認証情報と、該代行者の認証情報を鍵として暗号化を行う暗号化手段と、前記ＩＣカードの認証がいずれの前記代行者の認証情報に基づくものかの識別を行って認証者である代行者を特定する認証者識別手段とを備えるとともに、
前記認証処理手段は、前記ＩＣカード利用者端末から送られた、または前記サーバ装置で生成され前記ＩＣカード利用者端末を介して送られた認証トリガ信号を受けて前記ＩＣカード利用者端末を介して前記サーバ装置に乱数１を含む第１チャレンジコードを送信し、
前記サーバ装置は、受信した前記第１チャレンジコードを前記暗号化手段で前記代行者認証情報を鍵として暗号化を行い、該暗号化された第１チャレンジコードを含む第１レスポンスコードを前記ＩＣカードの前記認証処理手段に送信し、
前記認証処理手段は、前記サーバ装置から送られた前記第１レスポンスコードをいずれかの前記代行者の認証情報を鍵として復号化し、前記送信した第１チャレンジコードと照合し、一致した場合には、復号化の鍵に使用した前記認証情報を前記代行者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数２を含む第２チャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記第２チャレンジコードを前記代行者の代行者コードを鍵として鍵付きハッシュ化するとともに前記保有者の秘密鍵を用いて前記ハッシュ化第２チャレンジコードを暗号化し、前記暗号化されたハッシュ化第２チャレンジコードと前記公開鍵証明書を含む第２レスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記第２レスポンスコードに含まれる前記暗号化されたハッシュ化第２チャレンジコードを前記保有者の公開鍵によって復号化処理を行うとともに、前記サーバ装置内に記憶している前記第２チャレンジコードを前記サーバ装置内に格納されているいずれかの代行者コードを用いて鍵付きハッシュ化し、前記復号化された前記ハッシュ化第２チャレンジコードと照合し、その結果、一致した方に使用された代行者コードによって前記認証者である代行者を特定することを特徴とするＩＣカードシステムにおけるカード認証システム。
【請求項６】
前記ハッシュ化チャレンジコードが、前記乱数及び前記代行者コードを用いて新たに生成されたチャレンジコードのハッシュ値である、請求項２に記載のＩＣカードシステムにおけるカード認証システム。
【請求項７】
前記ハッシュ化チャレンジコードが、前記乱数のハッシュ値である、請求項２に記載のＩＣカードシステムにおけるカード認証システム。
【請求項８】
前記ハッシュ化第２チャレンジコードが、前記乱数２及び前記代行者コードを用いて新たに生成されたチャレンジコードのハッシュ値である、請求項４又は５に記載のＩＣカードシステムにおけるカード認証システム。
【請求項９】
前記ハッシュ化第２チャレンジコードが、前記乱数２のハッシュ値である、請求項４又は５に記載のＩＣカードシステムにおけるカード認証システム。
【請求項１０】
前記ハッシュ化第２チャレンジコードが、前記乱数１及び乱数２を用いて新たに生成されたチャレンジコードのハッシュ値である、請求項４又は５に記載のＩＣカードシステムにおけるカード認証システム。
【請求項１１】
前記読み書き手段が、前記代行者認証装置に内蔵されていることを特徴とする請求項３又は４に記載のＩＣカードシステムにおけるカード認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード内に格納された単一の認証用ＡＰおよび単一の認証用秘密鍵を利用して、ＩＣカード保有者本人による認証か、代行者による認証かを識別するカード認証システムを提供するものである。
【背景技術】
【０００２】
従来のネットワーク上のシステムサーバ装置によるＩＣカードを利用した本人認証時には、通常、サーバ装置より認証用の乱数を含むチャレンジコードを送信し、当該信号をカード保有者の個人識別番号（ＰＩＮ）の入力によって活性化（秘密鍵を用いた演算が可能になる状態をいう。）されたＩＣカード上で秘密鍵によって暗号化処理（署名処理ともいう）してレスポンスコードとしてサーバ装置へ返信することによって実行されるが、これは、カード保有者本人によるＰＩＮ入力により活性化されることのみを想定したものである（例えば特許文献１参照）。
しかし、政府が従来の健康保険証に代わるものとして２０１１年度から導入を予定している社会保障カードでは、カード保有者が医療機関で受診する際に、保有者本人が意識不明や危篤状態等の際には、保有者本人に代わって医療従事者が医療従事者である旨の認証を別途行うことにより保有者に代わって保有者のカードを活性化し、カード保有者の医療保険の資格確認を行うことが想定されている。このような運用を想定する場合、従来のカード認証方法ではカード保有者本人による認証か、代行者による認証かを識別できないため、セキュリティ上で問題が生じ得る。
【０００３】
一方、かかる問題に対して、保有者以外がＰＩＮ入力以外の異なる外部認証方式をとることによりＩＣカードを活性化させ、それをサーバ装置側が検知可能にする等の、従来とは異なるカード内アプリケーションを用意するか、予め本人からＩＣカード利用を許可された者の生体情報（指紋）を記憶させておいて、それを利用してカード認証を行うなどの方法が提案されている（例えば特許文献２参照）。
しかし、ＩＣカード内に別のアプリケーションや代行者の生体情報を導入するためには、カード内記憶容量の増加などにより、カード開発及びその維持に新たなコストが発生する。さらには、これらアプリケーションの利用及び異なる秘密鍵の利用には、さらに大きなコストが発生する。例えば、現在住民基本台帳カードの公的個人認証サービスで利用されている公開鍵証明書および秘密鍵の発行手数料は、１件あたりその運用費用を含め千円程度であり、仮に代行者用に異なる鍵を導入し、日本国民すべてに配布した場合には、１，２００億円程度のコスト増になると想定される。
従って、保有者に代わって保有者のカードを認証して活性化し、かつ、その認証がカード保有者本人による認証か代行者による認証かをサーバ装置側で判別できるようなシステムを、既存のＩＣカードの機能やＩＣカード上のアプリケーションに大きな改変を与えずに、できるだけ導入コストを抑えて実現することが求められている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２５８８７８号公報
【特許文献２】特開２００１−２０２４９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は上述のような事情に鑑み為されたものであり、ＩＣカード内に格納された単一の認証用ＡＰおよび単一の認証用秘密鍵を利用して、ＩＣカード保有者本人による認証か、代行者による認証かを識別することを可能とするカード認証システムを提供するものである。
【課題を解決するための手段】
【０００６】
本発明の第１発明は、保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムに関し、本発明の上記目的は、
前記ＩＣカード利用者端末は、前記認証情報の入力手段、前記ＩＣカードの読み書き手段、及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が前記保有者本人の認証情報に基づくものか、前記代行者のいずれかの認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記ＩＣカード利用者端末から送られた前記認証情報と、前記ＩＣカード内に格納されている前記認証情報とを照合し、一致した場合には、一致した認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数から成るチャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記保有者の秘密鍵を用いて前記認証者に対応して予め決められた回数だけ前記チャレンジコードを暗号化し、該暗号化されたチャレンジコードと前記公開鍵証明書を含むレスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記レスポンスコードに含まれる前記暗号化されたチャレンジコードを前記保有者の公開鍵によって復号化処理を行い、正しく復号化できたときの復号化回数によって前記認証者を特定することを特徴とするＩＣカードシステムにおけるカード認証システムによって達成される。
【０００７】
また、本発明の第２発明は、保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報及び代行者コード、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムに関し、本発明の上記目的は、
前記ＩＣカード利用者端末は、前記認証情報の入力手段、前記ＩＣカードの読み書き手段、及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が前記保有者本人の認証情報に基づくものか、前記代行者のいずれかの認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記ＩＣカード利用者端末から送られた前記認証情報と、前記ＩＣカード内に格納されている前記認証情報とを照合し、一致した場合には、一致した認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数を含むチャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記認証者が保有者である場合は前記チャレンジコードを前記保有者の秘密鍵を用いて暗号化し、前記認証者が代行者である場合は前記チャレンジコードを前記代行者コードを鍵として鍵付きハッシュ化するとともに前記秘密鍵を用いて前記ハッシュ化チャレンジコードを暗号化し、前記暗号化されたチャレンジコード若しくはハッシュ化チャレンジコードと前記公開鍵証明書を含むレスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記レスポンスコードに含まれる前記暗号化されたチャレンジコード若しくはハッシュ化チャレンジコードを前記保有者の公開鍵によって復号化処理を行い、復号化された結果が前記チャレンジコードと等しい場合は前記認証者を前記保有者と特定し、復号化された結果が前記チャレンジコードと等しくない場合は、前記サーバ装置内に記憶している前記チャレンジコードを前記サーバ装置内に格納されているいずれかの代行者コードを用いて鍵付きハッシュ化し、前記レスポンスコードに含まれている前記ハッシュ化チャレンジコードと比較し、その結果一致した方に使用された代行者コードによって前記認証者を特定することを特徴とするＩＣカードシステムにおけるカード認証システムによって達成される。
【０００８】
さらに、本発明の第３発明は、保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、前記代行者の認証を行うための代行者認証装置と、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムに関し、本発明の上記目的は、
前記代行者認証装置は、前記代行者用の認証情報と、該代行者認証情報を鍵として暗号化を行う暗号化手段とを備え、
前記ＩＣカード利用者端末は、前記ＩＣカードの読み書き手段、並びに前記代行者認証装置及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が、いずれの前記代行者の認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記代行者認証装置からの認証トリガ信号を受けて前記前記代行者認証装置に乱数１を含む第１チャレンジコードを送信し、
前記代行者認証装置は、受信した前記第１チャレンジコードを前記暗号化手段で前記代行者認証情報を鍵として暗号化を行い、該暗号化された第１チャレンジコードを含む第１レスポンスコードを前記ＩＣカードの前記認証処理手段に送信し、
前記認証処理手段は、前記代行者認証装置から送られた前記第１レスポンスコードをいずれかの前記代行者の認証情報を鍵として復号化し、前記送信した第１チャレンジコードと照合し、一致した場合には、復号化の鍵に使用した前記認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数２を含む第２チャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記保有者の秘密鍵を用いて前記認証者に対応して予め決められた回数だけ前記第２チャレンジコードを暗号化し、該暗号化された第２チャレンジコードと前記公開鍵証明書を含む第２レスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記第２レスポンスコードに含まれる前記暗号化された第２チャレンジコードを前記保有者の公開鍵によって復号化処理を行い、正しく復号化できたときの復号化回数によって前記認証者を特定することを特徴とするＩＣカードシステムにおけるカード認証システムによって効果的に達成される。
【０００９】
またさらに、本発明の第４発明は、保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報及び代行者コード、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、前記代行者の認証を行うための代行者認証装置と、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記代行者認証装置は、前記代行者用の認証情報と、該代行者認証情報を鍵として暗号化を行う暗号化手段とを備え、
前記ＩＣカード利用者端末は、前記ＩＣカードの読み書き手段、並びに前記代行者認証装置及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記ＩＣカードの認証が、いずれの前記代行者の認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段を備えるとともに、
前記認証処理手段は、前記代行者認証装置からの認証トリガ信号を受けて前記代行者認証装置に乱数１を含む第１チャレンジコードを送信し、
前記代行者認証装置は、受信した前記第１チャレンジコードを前記暗号化手段で前記代行者認証情報を鍵として暗号化を行い、該暗号化された第１チャレンジコードを含む第１レスポンスコードを前記ＩＣカードの前記認証処理手段に送信し、
前記認証処理手段は、前記代行者認証装置から送られた前記第１レスポンスコードをいずれかの前記代行者の認証情報を鍵として復号化し、前記送信した第１チャレンジコードと照合し、一致した場合には、復号化の鍵に使用した前記認証情報を前記認証者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数２を含む第２チャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記第２チャレンジコードを前記代行者コードを鍵として鍵付きハッシュ化するとともに前記保有者の秘密鍵を用いて前記ハッシュ化第２チャレンジコードを暗号化し、前記暗号化されたハッシュ化第２チャレンジコードと前記公開鍵証明書を含む第２レスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記第２レスポンスコードに含まれる前記暗号化されたハッシュ化第２チャレンジコードを前記保有者の公開鍵によって復号化処理を行うとともに、前記サーバ装置内に記憶している前記第２チャレンジコードを前記サーバ装置内に格納されているいずれかの代行者コードを用いて鍵付きハッシュ化し、前記復号化された前記ハッシュ化第２チャレンジコードと照合し、その結果、一致した方に使用された代行者コードによって前記認証者である代行者を特定することを特徴とするＩＣカードシステムにおけるカード認証システムによって効果的に達成される。
【００１０】
またさらに、本発明の第５発明は、保有者本人の認証情報、前記保有者の秘密鍵及び公開鍵証明書、少なくとも一つの代行者用の認証情報及び代行者コード、並びにカードの認証処理を行う認証処理手段を備えたＩＣカードと、ネットワークを介して相互に通信が可能なＩＣカード利用者端末と、ＩＣカード発行者の管理するサーバ装置とを含むＩＣカードシステムにおけるカード認証システムであって、
前記ＩＣカード利用者端末は、前記ＩＣカードの読み書き手段及び前記サーバ装置への送受信手段を備え、
前記サーバ装置は、前記代行者用の認証情報と、該代行者の認証情報を鍵として暗号化を行う暗号化手段と、前記ＩＣカードの認証がいずれの前記代行者の認証情報に基づくものかの識別を行って認証者である代行者を特定する認証者識別手段とを備えるとともに、
前記認証処理手段は、前記ＩＣカード利用者端末から送られた、または前記サーバ装置で生成され前記ＩＣカード利用者端末を介して送られた認証トリガ信号を受けて前記ＩＣカード利用者端末を介して前記サーバ装置に乱数１を含む第１チャレンジコードを送信し、
前記サーバ装置は、受信した前記第１チャレンジコードを前記暗号化手段で前記代行者認証情報を鍵として暗号化を行い、該暗号化された第１チャレンジコードを含む第１レスポンスコードを前記ＩＣカードの前記認証処理手段に送信し、
前記認証処理手段は、前記サーバ装置から送られた前記第１レスポンスコードをいずれかの前記代行者の認証情報を鍵として復号化し、前記送信した第１チャレンジコードと照合し、一致した場合には、復号化の鍵に使用した前記認証情報を前記代行者の認証情報と特定し、前記ＩＣカードを活性化するとともに、前記サーバ装置に対して認証要求を送信し、
前記認証者識別手段は、前記認証要求を受信すると、前記ＩＣカード利用者端末を介して乱数２を含む第２チャレンジコードを前記ＩＣカードに送信し、
前記認証処理手段は、前記第２チャレンジコードを前記代行者の代行者コードを鍵として鍵付きハッシュ化するとともに前記保有者の秘密鍵を用いて前記ハッシュ化第２チャレンジコードを暗号化し、前記暗号化されたハッシュ化第２チャレンジコードと前記公開鍵証明書を含む第２レスポンスコードを前記ＩＣカード利用者端末を介して前記サーバ装置に送信し、
前記認証者識別手段は、前記第２レスポンスコードに含まれる前記暗号化されたハッシュ化第２チャレンジコードを前記保有者の公開鍵によって復号化処理を行うとともに、前記サーバ装置内に記憶している前記第２チャレンジコードを前記サーバ装置内に格納されているいずれかの代行者コードを用いて鍵付きハッシュ化し、前記復号化された前記ハッシュ化第２チャレンジコードと照合し、その結果、一致した方に使用された代行者コードによって前記認証者である代行者を特定することを特徴とするＩＣカードシステムにおけるカード認証システムによって効果的に達成される。
【発明の効果】
【００１１】
本発明に係るＩＣカードシステムにおけるカード認証システムによれば、代行者が保有者に代わってカードを認証して活性化し、かつ、その認証がカード保有者本人による認証か代行者による認証かをサーバ装置側で判別できるので、既存のＩＣカードの機能やＩＣカード上のアプリケーションに大きな改変を与えずに、できるだけ導入コストを抑えて実現することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係るＩＣカードシステムにおけるカード認証システムの構成を示すブロック図である。
【図２】認証者によって暗号化処理の回数を変える場合のＩＣカード内機能、データ構造例を示す図である。
【図３】代行者コードを利用する場合のＩＣカード内機能、データ構造例を示す図である。
【図４】暗号化処理の回数を変える場合の処理の流れを示す図である（保有者本人による認証の場合）。
【図５】暗号化処理の回数を変える場合の処理の流れを示す図である（代行者による認証の場合）。
【図６】代行者コードを利用する場合の処理の流れを示す図である（保有者本人による認証の場合）。
【図７】代行者コードを利用する場合の処理の流れを示す図である（代行者による認証の場合）。
【図８】代行者認証装置を用いてカードを活性化し、暗号化処理の回数を変える場合の処理の流れを示す図である（代行者による認証の場合）。
【図９】代行者認証装置を用いてカードを活性化し、代行者コードを利用する場合の処理の流れを示す図である（代行者による認証の場合）。
【図１０】サーバ装置を用いてカードを活性化し、代行者コードを利用する場合の処理の流れを示す図である（代行者による認証の場合）。
【発明を実施するための形態】
【００１３】
本発明は、ＩＣカード（以下「カード」という。）保有者以外が認証を代行した場合は、サーバ装置（以下「サーバ」という。）から送信された認証用の情報（例えば乱数からなるチャレンジコード）をカード内で秘密鍵を利用して複数回以上の暗号化処理を行うか、又は秘密鍵を活性化した代行者に対応した代行者コードをサーバより送付された乱数と合わせて暗号化処理（例えば代行者コードを鍵とする鍵付きハッシュ化）してレスポンスコードとして返信することで、カード保有者本人が認証したか（秘密鍵Ａを活性化したか）、又は代行者が認証したかをサーバ側が識別するものである。
具体的には、サーバより認証用の乱数を含む信号（チャレンジコード）が送信された場合、カード保有者本人が個人識別情報（ＰＩＮ）入力を行った場合はカード上の秘密鍵によって１回の暗号化を行い、サーバにレスポンスコードを返信する一方、代行者によりカード上の秘密鍵が活性化された場合には、チャレンジコードの暗号化を複数回行ってサーバにレスポンスコードを返信する。サーバは、正しいチャレンジコードを確認することができた復号化の回数により、カード保有者個人がＰＩＮ入力したか、どの代行者が秘密鍵を活性化したかをサーバ側で識別することができる。
また、他の方法としては、代行者ごとに代行者コードをＩＣカード内に保持し、代行者コードを鍵とする鍵付きハッシュ演算をサーバより送付されたチャレンジコードに対して実行し、そのハッシュ値に対して秘密鍵で暗号化処理を行うことでレスポンスコードを生成する。このレスポンスコード（公開鍵証明書を含む。）をサーバに返信し、サーバ側で公開鍵で復号化し、そのハッシュ値がどの代行者コードで鍵付きハッシュ演算されたものであるかを、サーバ内にあるいずれかの代行者コードを用いてチャレンジコードを再ハッシュ化したものと照合することによって特定する。なお、保有者本人の場合はハッシュ化されていないので、復号化されたレスポンスコードを元のチャレンジコードと照合することによって識別できる。
以下、図面を参照しつつ詳細に説明する。
【００１４】
図１は本発明に係るＩＣカードシステムにおけるカード認証システムの構成を示すブロック図であり、ＩＣカード利用者端末（以下「利用者端末」という。）とカード発行者が管理するサーバとがネットワークを介して相互に通信可能に接続されている。利用者端末には図示しないカード読み書き手段（外付けも可）、入力手段（例えばキーボード等）及び送受信手段を備えている。
また、サーバは、カードの認証が保有者本人の認証情報に基づくものか、代行者の認証情報に基づくものかの識別を行って認証者を特定する認証者識別手段（図示せず。）を備えている。認証者識別手段は、具体的には、暗号化手段（例えば公開鍵暗号方式、鍵付きハッシュ関数）、暗号化回数対応情報（例えば、保有者は１回、代行者１は２回、代行者２は３回、…等）、代行者別の代行者コード、乱数発生回路、送受信手段等を含んでいる。
【００１５】
図２は、認証者ごとに暗号化処理の回数を変えることによって、認証者の識別を行う場合のカード内機能、データ構造例を示す図である。カード内にある認証用アプリケーションソフト（ＡＰ）の中に、認証処理手段（認証情報照合手段、暗号化手段、暗号化モード切換手段を含む。）、保有者Ａの認証情報（ＰＩＮ）、代行者１の認証情報（ＰＩＮ１又は秘密鍵１）、代行者２の認証情報（ＰＩＮ２又は秘密鍵２）、保有者Ａの秘密鍵Ａ、公開鍵証明書等が含まれている。代行者の認証情報については、カード発行時にカードに格納される。
保有者本人の認証に利用する暗号化方式は、ＲＳＡや楕円暗号などの公開鍵暗号方式が利用可能である。また、代行者の認証については、公開鍵暗号方式、共通鍵暗号方式のいずれを利用することも可能である。
【００１６】
図３は、代行者コードを利用して認証者を識別する場合のＩＣカード内機能、データ構造例を示す図である。
図２の場合と異なる点は、代行者別の代行者コードを含む点と、暗号化手段に鍵付きハッシュ関数を含む点である。
【００１７】
図４は、暗号化処理の回数を変えることにより、認証者が誰であるのかを識別する場合の処理の流れを示す図であり、これはカード保有者本人（名義人のこと）による認証の場合を示している。
まず、保有者Ａは、利用者端末の読み書き手段（リーダライタ：Ｒ／Ｗ）に自己のカードを挿入し、利用者端末の入力手段（例えばキーボード）から保有者Ａの認証情報（たとえばＰＩＮ）を入力する（ステップ１）。利用者端末は、カードに保有者ＡのＰＩＮを伝送する（ステップ２）。カード内の認証処理手段は、伝送された保有者ＡのＰＩＮと認証用アプリケーション（以下「認証用ＡＰ」という。）内部に格納された保有者ＡのＰＩＮと照合し（ステップ３）、照合に成功すれば、暗号化モード切換手段が保有者モードで暗号化手段を活性化する。次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含むチャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。認証処理手段は、乱数Ｎに秘密鍵Ａを用いて公開鍵暗号方式で暗号化処理（電子署名ともいう。）を保有者モードで予め決められた回数（ここでは１回のみ）行い、暗号処理データＢを生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＢを利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＢを基にレスポンスコードを生成し、サーバに送信する（ステップ８）。サーバはレスポンスコードから暗号処理データＢを取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して、暗号処理データＢを乱数Ｎが復号化されるまで、復号化処理を繰り返す（ステップ９）。復号化に要した回数に基づいて暗号化回数対応情報を参照し、（ここでは１回で復号化されるので）保有者Ａ本人により認証用ＡＰが活性化されたことが確認される（ステップ１０）。
【００１８】
図５は暗号化処理の回数を変えることにより、認証者が誰であるのかを識別する場合の処理の流れを示す図であり、これは代行者１による認証の場合を示している。
まず、代行者１は、利用者端末のＲ／Ｗに保有者Ａのカードを挿入し、利用者端末の入力手段から代行者１の認証情報（たとえばＰＩＮ）を入力する（ステップ１）。利用者端末は、カードに代行者１のＰＩＮを伝送する（ステップ２）。カード内の認証処理手段は、伝送された代行者１のＰＩＮと認証用ＡＰ内部に格納された代行者１のＰＩＮと照合し（ステップ３）、照合に成功すれば、暗号化モード切換手段が代行者１モードで暗号化手段を活性化する。次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含むチャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。認証処理手段は、乱数Ｎに秘密鍵Ａを用いて公開鍵暗号方式で暗号化処理（電子署名ともいう。）を代行者１モードで予め決められた回数（ここでは２回）行い、暗号処理データＣを生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＣを利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＣを基にレスポンスコードを生成し、サーバに送信する（ステップ８）。サーバはレスポンスコードから暗号処理データＣを取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して、暗号処理データＣを乱数Ｎが復号化されるまで、復号化処理を繰り返す（ステップ９）。復号化に要した回数に基づいて暗号化回数対応情報を参照し、（ここでは２回で復号化されるので）代行者１により認証用ＡＰが活性化されたことが確認される（ステップ１０）。
【００１９】
図６は、代行者コードを利用する場合の処理の流れを示す図であり、保有者本人による認証の場合を示している。ただし、保有者本人による認証の場合は代行者コードを使用しないため、実質的な処理の流れは、図４の場合と同一となる。しかし、以下に述べるように、暗号化処理の回数は認証者の別によって変わらず、１回のみであるので、サーバ側に暗号化回数対応情報は不要である。
まず、保有者Ａは、利用者端末のＲ／Ｗに自己のカードを挿入し、利用者端末の入力手段から保有者ＡのＰＩＮを入力する（ステップ１）。利用者端末は、カードに保有者ＡのＰＩＮを伝送する（ステップ２）。カード内の認証処理手段は、伝送された保有者ＡのＰＩＮと認証用ＡＰ内部に格納された保有者ＡのＰＩＮと照合し（ステップ３）、照合に成功すれば、暗号化モード切換手段が保有者モード（秘密鍵Ａで暗号化を１回行うモード）で暗号化手段を活性化する。次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含むチャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。認証処理手段は、乱数Ｎに秘密鍵Ａを用いて公開鍵暗号方式で暗号化処理を１回行い、暗号処理データＢを生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＢを利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＢを基にレスポンスコードを生成し、サーバに送信する（ステップ８）。サーバはレスポンスコードから暗号処理データＢを取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して、暗号処理データＢを復号化する（ステップ９）。ここでは、保有者Ａ本人により認証が行われるので、復号化によって生成されたデータは、元の乱数Ｎと等しくなるはずであるが、復号化されたデータと元の乱数Ｎとの照合を行ってこれを確認する処理が行われる。この結果、一致すれば保有者Ａ本人により認証用ＡＰが活性化されたことが確認される（ステップ１０）。
【００２０】
図７は、代行者コードを利用する場合の処理の流れを示す図であり、代行者１による認証の場合を示している。
まず、代行者１は、利用者端末のＲ／Ｗに保有者Ａのカードを挿入し、利用者端末の入力手段から代行者１の認証情報（たとえばＰＩＮ）を入力する（ステップ１）。利用者端末は、カードに代行者１のＰＩＮを伝送する（ステップ２）。カード内の認証処理手段は、伝送された代行者１のＰＩＮと認証用ＡＰ内部に格納された代行者１のＰＩＮと照合し（ステップ３）、照合に成功すれば、暗号化モード切換手段が代行者１モード（例えば代行者１の代行者コードで鍵付きハッシュ演算を行うこと。）で暗号化手段を活性化する。次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含むチャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。暗号化手段は、乱数Ｎに対して代行者１の代行者コードを鍵として鍵付きハッシュ演算を行い、署名用コードＢ’を生成し、さらに、秘密鍵Ａを用いて公開鍵暗号方式で暗号化を１回行い、暗号処理データＣ’を生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＣ’を利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＣ’を基にレスポンスコードを生成し、サーバに送信する（ステップ８）。サーバの認証者識別手段は、レスポンスコードから暗号処理データＣ’を取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して暗号処理データＣ’を復号化し、署名用コードＢ’を復元する（ステップ９）。これを元の乱数Ｎと比較する。当然ながら一致しないので、サーバは認証者が代行者であることを認識するが、この段階ではまだ代行者１か代行者２かの区別ができない。そこで、乱数Ｎをサーバ内にある代行者１の代行者コードで鍵付きハッシュ演算を行いハッシュ値を求め、このハッシュ値と署名用コードＢ’を照合し、一致すれば認証者を代行者１と特定する（ステップ１０）。一致しなければ、乱数Ｎを代行者２の代行者コードで鍵付きハッシュ演算を行い、求めたハッシュ値と署名用コードＢ’を照合して、一致すれば認証者を代行者２と特定することになる。
【００２１】
以上の４つのケースは、いずれも利用者端末への秘密の認証情報の入力を保有者本人または代行者が自ら行う場合を想定したものであるが、代行者が団体（たとえばある特定の救急病院）である場合、患者である保有者本人からカードを受け取った病院の一般職員が秘密の認証情報を知らなければ認証情報を入力できず、カードを活性化できないという問題がある。このような場合、人間に代わってカードに認証情報を送り込む専用装置（代行者認証装置）があれば、秘密の認証情報を知らない一般職員でも認証を行うことができる。
図８は、代行者認証装置を用いてカードを活性化し、暗号化処理の回数を変えることにより、認証者が誰であるのかを識別する場合の処理の流れを示す図であり、図は代行者１による認証の場合を示している。
まず、代行者認証装置を利用者端末に接続すると、カードに対して認証要求のトリガ信号が送られ、カードから代行者認証装置に対して乱数Ｎ’を含む第１チャレンジコードが送られる（ステップ１）。代行者認証装置内部には代行者１の認証情報と、代行者１の認証情報を鍵として暗号化を行う暗号化手段（共通鍵暗号方式又は公開鍵暗号方式）が格納されている。なお、公開鍵暗号方式を採用する場合は、代行者認証装置内の認証情報は代行者１の秘密鍵、カード内にある代行者１の認証情報は公開鍵となる。
次に、代行者認証装置内の暗号化手段により、乱数Ｎ’が暗号化され、第１レスポンスコードとしてカードに送られる（ステップ２）。カード内の認証処理手段は代行者１の認証情報を鍵として第１レスポンスコードを復号化する。復号化データと第１チャレンジコードを照合し、一致すれば暗号化モード切換手段が代行者１モードで暗号化手段を活性化する（ステップ３）。一致しない場合は、代行者２用の代行者認証装置が接続されていることになるので、代行者２の認証情報を鍵として復号化を行い、同様に照合を行う。
次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含む第２チャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。認証処理手段は、乱数Ｎに秘密鍵Ａを用いて公開鍵暗号方式で暗号化処理を代行者１モードで予め決められた回数（ここでは２回）行い、暗号処理データＣを生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＣを利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＣを基に第２レスポンスコードを生成し、サーバに送信する（ステップ８）。サーバは第２レスポンスコードから暗号処理データＣを取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して、暗号処理データＣを乱数Ｎが復号化されるまで、復号化処理を繰り返す（ステップ９）。復号化に要した回数に基づいて暗号化回数対応情報を参照し、（ここでは２回で復号化されるので）代行者１により認証用ＡＰが活性化されたことが確認される（ステップ１０）。
【００２２】
図９は、代行者認証装置を用いてカードを活性化し、代行者コードを利用する場合の処理の流れを示す図であり、図は代行者１による認証の場合を示している。
まず、代行者認証装置を利用者端末に接続すると、カードに対して認証要求のトリガ信号が送られ、カードから代行者認証装置に対して乱数Ｎ’を含む第１チャレンジコードが送られる（ステップ１）。
次に、代行者認証装置内の暗号化手段により、乱数Ｎ’が暗号化され、第１レスポンスコードとしてカードに送られる（ステップ２）。カード内の認証処理手段は代行者１の認証情報を鍵として第１レスポンスコードを復号化する。復号化データと第１チャレンジコードを照合し、一致すれば暗号化モード切換手段が代行者１モード（例えば代行者１の代行者コードで鍵付きハッシュ演算を行うこと。）で暗号化手段を活性化する（ステップ３）。一致しない場合は、代行者２用の代行者認証装置が接続されていることになるので、代行者２の認証情報を鍵として復号化を行い、同様に照合を行うことになる。
次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含む第２チャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。暗号化手段は、乱数Ｎに対して代行者１の代行者コードを鍵として鍵付きハッシュ演算を行い、署名用コードＢ’を生成し、さらに、秘密鍵Ａを用いて公開鍵暗号方式で暗号化を１回行い、暗号処理データＣ’を生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＣ’を利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＣ’を基に第２レスポンスコードを生成し、サーバに送信する（ステップ８）。サーバの認証者識別手段は、第２レスポンスコードから暗号処理データＣ’を取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して暗号処理データＣ’を復号化し、署名用コードＢ’を復元する（ステップ９）。これを元の第２チャレンジコードと比較する。当然ながら一致しないので、サーバは認証者が代行者であることを認識するが、この段階ではまだ代行者１か代行者２かの区別ができない。そこで、第２チャレンジコードをサーバ内にある代行者１の代行者コードで鍵付きハッシュ演算を行いハッシュ値を求め、このハッシュ値と署名用コードＢ’を照合し、一致すれば認証者を代行者１と特定する（ステップ１０）。一致しなければ、第２チャレンジコードを代行者２の代行者コードで鍵付きハッシュ演算を行い、求めたハッシュ値と署名用コードＢ’を照合して、一致すれば認証者を代行者２と特定することになる。
【００２３】
図８及び図９において、代行者認証装置側にカード読み書き手段（Ｒ／Ｗ）を設けてもよい。
【００２４】
第１０図は、第９図における代行者１の認証装置の機能をサーバ内に持たせた場合の処理の流れを示す図である。
まず、保有者Ａ又は代行者１が、利用者端末に保有者ＡのＩＣカードを挿入すると、利用者端末に対してＩＣカードより第１チャレンジコード（乱数Ｎ’を含む）が送付され、利用者端末を介してサーバに第１チャレンジコードが送信される（ステップ１）。
次に、サーバ内の暗号化手段により、代行者１の認証情報を鍵として用いて乱数Ｎ’が暗号化され、第１レスポンスコードとしてＩＣカードに送られる（ステップ２）。代行者１の認証情報を用いた暗号化は、公開鍵暗号方式の場合には、サーバ内の代行者１の認証情報が秘密鍵になり、カード内の代行者１の認証情報が公開鍵となる。また、共通鍵暗号方式の場合には、両方とも秘密鍵になる。
カード内の認証処理手段は代行者１の認証情報を鍵として第１レスポンスコードを復号化する。復号化データと第１チャレンジコードを照合し、一致すれば暗号化モード切換手段が代行者１モード（例えば代行者１の代行者コードで鍵付きハッシュ演算を行うこと。）で暗号化手段を活性化する（ステップ３）。
次に、カードからサーバに対して認証要求信号が送られると、サーバは、利用者端末に乱数Ｎを含む第２チャレンジコードを送信する（ステップ４）。利用者端末はカード内の認証用ＡＰに乱数Ｎを伝送する（ステップ５）。暗号化手段は、乱数Ｎに対して代行者１の代行者コードを鍵として鍵付きハッシュ演算を行い、署名用コードＢ’を生成し、さらに、秘密鍵Ａを用いて公開鍵暗号方式で暗号化（電子署名）を１回行い、暗号処理データＣ’を生成する（ステップ６）。認証処理手段が公開鍵証明書Ａとともに暗号処理データＣ’を利用者端末に送付する（ステップ７）。利用者端末は公開鍵証明書Ａと共に暗号処理データＣ’を基に第２レスポンスコードを生成し、サーバに送信する（ステップ８）。サーバの認証者識別手段は、第２レスポンスコードから暗号処理データＣ’を取り出し、公開鍵証明書Ａを検証後、これに含まれる公開鍵Ａを利用して暗号処理データＣ’を復号化し、署名用コードＢ’を復元する（ステップ９）。次に、乱数Ｎをサーバ内にある代行者１の代行者コードで鍵付きハッシュ演算を行いハッシュ値を求め、このハッシュ値と復元した署名用コードＢ’を照合し、一致すれば代行者１によってＩＣカードが活性化されたことが確認される（ステップ１０）。
なお、言うまでもないが、図８〜図１０の場合は、実際にＩＣカードを利用者端末に挿入して認証を行う者が誰であっても構わない。利用者端末から認証者の認証情報を手入力する必要がないからである。ＩＣカードが正規のものであり、ＩＣカード内の代行者認証情報と、代行者認証装置又はサーバ装置に格納されている代行者認証情報とが対応していればよい。
【００２５】
上述の通り、本発明では、認証者を区別するのに、予め認証者別に決めた暗号化回数を用いて判定する方法と、サーバから送られた乱数を含むチャレンジコードをＩＣカード内での代行者コードで鍵付きハッシュ化したものに電子署名をしてレスポンスコードを作成し、このレスポンスコードをサーバ内で認証することによって認証者を判定する方法とを採用している。
しかしながら、前者の方法は利用者端末とサーバ間の通信の安全性が確保されていることが前提であるが、ＩＣカード（利用者端末）とサーバ間に悪意を持った攻撃者が存在した場合には、サーバからのチャレンジコード及びＩＣカードから出力されたレスポンスコードを利用して、サーバ側に保有者本人の認証であると誤って認識させてしまう可能性がある。すなわち、攻撃者が、取得したレスポンスコード（複数回暗号化されている。）を公開鍵を用いて復号化し、１回のみの暗号化コード（レスポンスコード）に変えてサーバに送れば、サーバ側は保有者本人の認証であると誤って認識してしまうからである。
従って、通信の安全性が確保されていない場合は、チャレンジコードをＩＣカード内でハッシュ化したものに電子署名をしてサーバに送る、後者の方法が好ましい。
【００２６】
ハッシュ化チャレンジコード〔署名用コードＢ’〕の生成法については、上述のような、代行者コードを利用して鍵付ハッシュ値を計算する方法の他、以下のような方法が考えられる。
（１）代行者コードと乱数を連結しハッシュ値を計算する方法
サーバからＩＣカードに送られた乱数Ｎと代行者コードを利用して、２つの数値の連結（例えば、単なるビット連結や、１ビットずつ交互に連結する方法等）や排他的論理和演算を利用することで新たなコードを生成し、これのハッシュ値を計算する。そして、計算された値を署名用コードＢ’とする。
（２）乱数のみのハッシュ値を計算する方法
サーバからＩＣカードに送られた乱数Ｎのハッシュ値を計算し、計算されたハッシュ値を署名用コードＢ’とする。代行者コードを使用しない（すなわち、代行者を区別しない。）ので、正規のカードであれば、代行者による認証であることをサーバが確実に判断することができる。
（３）代行者を認証する際にＩＣカードが生成した乱数を利用する方法
代行者を認証する際にＩＣカード内で生成した第１チャレンジコードに含まれる乱数Ｎ’（乱数１）と、サーバからＩＣカードに送られた乱数Ｎ（乱数２）とを利用して、２つの乱数の連結（例えば、単なるビット連結や、１ビットずつ交互に連結する方法等）や排他的論理和演算、一方の乱数を鍵として用いて他方の乱数を鍵付ハッシュ化したものを利用することで新たなコードを生成し、これらのハッシュ値を計算する。そして、計算されたハッシュ値を署名用コードＢ’とする。代行者コードを使用しない（すなわち、代行者を区別しない。）ので、正規のカードであれば、代行者による認証であることをサーバが確実に判断することができる。
【図１】
2011087284.tif 000003
【図２】
2011087284.tif 000004
【図３】
2011087284.tif 000005
【図４】
2011087284.tif 000006
【図５】
2011087284.tif 000007
【図６】
2011087284.tif 000008
【図７】
2011087284.tif 000009
【図８】
2011087284.tif 000010
【図９】
2011087284.tif 000011
【図１０】
2011087284.tif 000012