(57)【特許請求の範囲】
【請求項１】
ＩＣカード発行者によってカード発行時に設定された共通鍵、認証局が発行し、サービス提供者からサービス提供を受ける際に、前記サービス提供者が保管する前記認証局が発行した公開鍵証明書を用いて署名を検証するための、親ＩＣカードの公開鍵証明書、前記親ＩＣカードの第1の秘密鍵を用いて署名され、前記サービス提供者から前記サービス提供を受ける際に、前記サービス提供者から受信する乱数に対する署名値の正しさを前記サービス提供者が検証するための署名付公開鍵、および第２の秘密鍵を保管する鍵保管部、少なくとも前記公開鍵証明書および前記署名付公開鍵を前記親ＩＣカードから受信するデータ送受信部、前記データ送受信部により前記親ＩＣカードから受信したユーザの暗号化された生体情報を前記共通鍵を用いて復号化し、前記第２の秘密鍵を用いて前記署名値を計算する暗号演算部、及び前記復号された前記第１の生体情報を保管する生体情報保管部を有することを特徴とするＩＣカード。
【請求項２】
前記署名付公開鍵は、前記親ＩＣカードによって生成された第１の公開鍵と第３の秘密鍵とのペアの前記第1の公開鍵に前記親ＩＣカードの前記第1の秘密鍵を用いて署名した鍵であり、前記鍵保管部に保管されている前記第２の秘密鍵は、前記ペアの前記第３の秘密鍵が前記第１の生体情報を用いて暗号化された鍵であることを特徴とする請求項１記載のＩＣカード。
【請求項３】
前記サービス提供者からサービス提供を受ける際に、前記データ送受信部による第２の生体情報及び前記サービス提供者からの前記乱数の受信に応答して、前記第１の生体情報と前記第２の生体情報とが同じであるならば、前記暗号演算部は、前記第２の秘密鍵を前記第１及び前記第２の生体情報のいずれか一方を用いて復号化し、前記復号化した秘密鍵を用いて前記乱数の前記署名値を求め、前記データ送受信部は、前記鍵保管部に保管している前記公開鍵証明書と前記署名付公開鍵、及び前記乱数の前記署名値を前記サービス提供者へ送信することを特徴とする請求項２記載のＩＣカード。
【請求項４】
前記サービス提供者からサービス提供を受ける際に、前記データ送受信部による第２の生体情報及び前記サービス提供者からの前記乱数の受信に応答して、前記第１の生体情報と前記第２の生体情報とが同じであるならば、前記第２の秘密鍵を用いて前記乱数の署名値を求め、前記データ送受信部は、前記鍵保管部に保管している前記公開鍵証明書と前記署名付公開鍵、及び前記乱数の署名値を前記サービス提供者へ送信することを特徴とする請求項２記載のＩＣカード。
【請求項５】
第１の公開鍵と第４の秘密鍵とのペアを生成する鍵生成部を有し、前記署名付公開鍵は、前記鍵生成部によって生成された前記第１の公開鍵に、前記親ＩＣカードが前記親ＩＣカードの前記第１の秘密鍵を用いて署名した鍵であり、前記鍵保管部に保管されている前記第２の秘密鍵は、前記鍵生成部によって生成された前記第４の秘密鍵であることを特徴とする請求項１記載のＩＣカード。
【請求項６】
孫ＩＣカード作成の要求に応答して、前記鍵生成部によって生成された前記第１の公開鍵に前記第４の秘密鍵を用いて署名した他の署名付公開鍵を生成する証明書生成部をさらに設けたことを特徴とする請求項５記載のＩＣカード。
【請求項７】
前記サービス提供者からサービス提供を受ける際に、前記データ送受信部による前記サービス提供者からの前記乱数の受信に応答して、前記暗号演算部は、前記鍵保管部に保管されている前記第４の秘密鍵を用いて前記乱数の署名値を求め、前記データ送受信部は、前記鍵保管部に保管している前記公開鍵証明書と前記署名付公開鍵、及び前記乱数の署名値を前記サービス提供者へ送信することを特徴とする請求項５記載のＩＣカード。
【請求項８】
親ＩＣカードと子ＩＣカードとによるＩＣカードシステムであって，前記親ＩＣカードは、ＩＣカード発行者によって設定された第１の共通鍵と認証局が発行した前記親ＩＣカードの公開鍵証明書と、第１の秘密鍵を保管する第１の鍵保管部、前記第１の秘密鍵を用いて署名した署名付公開鍵を生成し、前記共通鍵を用いてユーザの第１の生体情報を暗号化する第１の暗号演算部、および少なくとも前記公開鍵証明書、前記署名付公開鍵および前記暗号化した第１の生体情報を前記子ＩＣカードに向けて送信する第１のデータ送受信部を有し、前記子ＩＣカードは、前記ＩＣカード発行者によって設定された第２の共通鍵、サービス提供者からサービス提供を受ける際に、前記サービス提供者が保管する前記認証局が発行した公開鍵証明書を用いて署名を検証するための前記公開鍵証明書、前記サービス提供者から前記サービス提供を受ける際に、前記サービス提供者から受信する乱数に対する署名値の正しさを前記サービス提供者が検証するための前記署名付公開鍵、および第２の秘密鍵を保管する第２の鍵保管部、少なくとも前記公開鍵証明書、前記署名付公開鍵および前記暗号化された第１の生体情報を前記親ＩＣカードから受信する第２のデータ送受信部、前記データ送受信部により受信した前記暗号化された第１の生体情報を前記第２の共通鍵を用いて復号化し、前記第２の秘密鍵を用いて前記署名値を計算する第２の暗号演算部、および前記復号された第１の生体情報を保管する生体情報保管部を有することを特徴とするＩＣカードシステム。
【請求項９】
前記署名付公開鍵は、前記親ＩＣカードによって生成された第１の公開鍵と前記第３の秘密鍵とのペアの前記第１の公開鍵に前記第１の秘密鍵を用いて署名した鍵であり、前記第２の鍵保管部に保管されている前記第２の秘密鍵は、前記ペアの前記第３の秘密鍵が前記第１の生体情報を用いて暗号化された鍵であることを特徴とする請求項８記載のＩＣカードシステム。
【請求項１０】
前記子ＩＣカードは、第１の公開鍵と前記第４の秘密鍵とのペアを生成する第２の鍵生成部を有し、前記第２のデータ送受信部は、前記第１の公開鍵を前記親ＩＣカードに向けて送信し、前記親ＩＣカードの前記第１の暗号演算部は、前記第１のデータ送受信部により受信した前記第１の公開鍵に前記第１の秘密鍵を用いて署名した前記署名付公開鍵を生成し、前記第２の鍵保管部に保管されている前記第２の秘密鍵は、前記第２の鍵生成部によって生成された前記第４の秘密鍵であることを特徴とする請求項８記載のＩＣカードシステム。
【請求項１１】
孫ＩＣカード作成の要求に応答して、前記第２の鍵生成部によって生成された前記第２の公開鍵に前記第４の秘密鍵を用いて署名した他の署名付公開鍵を生成する証明書生成部をさらに設けたことを特徴とする請求項１０記載のＩＣカード。
【請求項１２】
ＩＣカードとサービス提供装置とによるＩＣカードシステムであって，前記ＩＣカードは、第１の生体情報を保管する生体情報保管部、認証局が発行した親ＩＣカードの公開鍵証明書、前記親ＩＣカードの秘密鍵を用いて署名された署名付公開鍵、および前記第１の生体情報を用いて暗号化された秘密鍵を保管する鍵保管部、第２の生体情報及び乱数の受信に応答して、前記第１の生体情報と前記第２の生体情報とが同じであるならば、前記暗号化された秘密鍵を前記第１及び前記第２の生体情報のいずれか一方の生体情報を用いて復号化し、前記復号化した秘密鍵を用いて前記乱数の署名値を求める暗号演算部、及び前記第２の生体情報及び前記乱数を受信し、前記鍵保管部に保管している前記公開鍵証明書、前記署名付公開鍵及び前記乱数の署名値を前記サービス提供装置へ向けて送信するデータ送受信部を有し、前記サービス提供装置は、前記ＩＣカードから送信された前記公開鍵証明書、前記署名付公開鍵及び前記乱数の署名値を検証、サービスを提供することを特徴とするＩＣカードシステム。
【請求項１３】
前記サービス提供装置は、前記ＩＣカードから送信された前記署名付公開鍵の数に応じて、前記提供するサービスを変えることを特徴とする請求項１２記載のＩＣカードシステム。
【請求項１４】
親ＩＣカードから子ＩＣカードを生成するＩＣカード生成方法であって，前記親ＩＣカードは、ＩＣカード発行者によって設定された第１の共通鍵と認証局が発行した前記親ＩＣカードの公開鍵証明書と、第１の秘密鍵を保管し、前記第１の秘密鍵を用いて署名した署名付公開鍵を生成し、前記共通鍵を用いてユーザの第１の生体情報を暗号化し、少なくとも前記公開鍵証明書、前記署名付公開鍵および前記暗号化した第１の生体情報を前記子ＩＣカードに向けて送信し、前記子ＩＣカードは、前記ＩＣカード発行者によって設定された第２の共通鍵、サービス提供者からサービス提供を受ける際に、前記サービス提供者が保管する前記認証局が発行した公開鍵証明書を用いて署名を検証するための前記公開鍵証明書、前記サービス提供者から前記サービス提供を受ける際に、前記サービス提供者から受信する乱数に対する署名値の正しさを前記サービス提供者が検証するための前記署名付公開鍵、および第２の秘密鍵を保管し、少なくとも前記公開鍵証明書、前記署名付公開鍵および前記暗号化された第１の生体情報を前記親ＩＣカードから受信し、前記暗号化された第１の生体情報を前記第２の共通鍵を用いて復号化し、前記第２の秘密鍵を用いて前記署名値を計算し、前記復号化した第１の生体情報を保管することを特徴とするＩＣカード生成方法。
【請求項１５】
前記署名付公開鍵は、前記親ＩＣカードによって生成された第１の公開鍵と前記第３１の秘密鍵とのペアの前記第１の公開鍵に前記第１の秘密鍵を用いて署名した鍵であり、前記第２の鍵保管部に保管されている前記第２の秘密鍵は、前記ペアの前記第３の秘密鍵が前記第１の生体情報を用いて暗号化された鍵であることを特徴とする請求項１４記載のＩＣカード生成方法。
【請求項１６】
前記子ＩＣカードは、第２の公開鍵と前記第２の秘密鍵とのペアを生成し、前記第２の公開鍵を前記親ＩＣカードに向けて送信し、前記親ＩＣカードは、受信した前記第２の公開鍵に前記第１の秘密鍵を用いて署名した前記署名付公開鍵を生成することを特徴とする請求項１４記載のＩＣカード生成方法。
【請求項１７】
ＩＣカードを用いたサービス提供装置によるＩＣカード利用方法であって，前記ＩＣカードは、第１の生体情報を保管し、認証局が発行した親ＩＣカードの公開鍵証明書、前記親ＩＣカードの秘密鍵を用いて署名された署名付公開鍵、および前記第１の生体情報を用いて暗号化された秘密鍵を保管し、第２の生体情報及び乱数の受信に応答して、前記第１の生体情報と前記第２の生体情報とが同じであるならば、前記暗号化された秘密鍵を前記第１及び前記第２の生体情報のいずれか一方の生体情報を用いて復号化し、前記復号化した秘密鍵を用いて前記乱数の署名値を求め、前記公開鍵証明書、前記署名付公開鍵及び前記乱数の署名値を前記サービス提供装置へ向けて送信し、前記サービス提供装置は、前記ＩＣカードから送信された前記公開鍵証明書、前記署名付公開鍵及び前記乱数の署名値を検証し、サービスを提供することを特徴とするＩＣカード利用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＩＣカードシステムに関し，さらに詳しくは，親ＩＣカードから子ＩＣカードを生成し利用する子ＩＣカード、ＩＣカード、システムおよびその方法に関する。
【背景技術】
【０００２】
公開鍵，秘密鍵のペアから，秘密鍵を用いて，臨時的に，新たな公開鍵，秘密鍵のペアを作成し，臨時証明書を発行し，利用する方式が知られている（例えば，特許文献１）。また，本人の生体情報を用いて秘密鍵を活性化する方法が知られている（例えば，特許文献２）。また，生体認証機能を持つＩＣカードの更新方法が知られている（例えば，特許文献３）。さらに，旧カードから新カードへデータを移行し，旧カードからは移行済みデータを正しく削除する方式が知られている（例えば，特許文献４）。
【０００３】
【特許文献１】特許第３９０５９６１号
【特許文献２】特開２００６−７３０２１号
【特許文献３】特開２００６−１９５５９１号
【特許文献４】特開２００６−３０９４７５号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
住民基本台帳カードなどのように公的個人認証証明書を搭載したＩＣカードが使われるようになってきている。一方，携帯電話の利用者は著しく増加している。住民基本台帳カードは実世界の実印のようなものであり，気軽に持ち歩くことは躊躇される。それに対して携帯電話は常に持ち歩くデバイスである。このような携帯電話機が，住民基本台帳カードのサブカードの機能を有することで，公的サービスの利用者（ユーザ）が増え，ユーザの利便性も向上することが予想される。このようなサブカード機能を誰でも複製できることは利便性の観点で有効であるが，利用時にはユーザ本人しか利用できないという制限を与えることは重要なことである。
【０００５】
上述のとおり，ひとつのＩＣカードを親ＩＣカードとして，ユーザが大切に保存し，この親ＩＣカードから子ＩＣカードを生成し利用することができれば利便性および安全性が高まる。その際には，安全に子ＩＣカードを作成すること，作成した子ＩＣカードがユーザ本人しか利用できないように制限すること，利用するカードが親ＩＣカードなのか，子ＩＣカードなのか区別できるようにすることが重要である。
【０００６】
特許文献１では，親ＩＣカードの秘密鍵を用いて子ＩＣカードの鍵を生成していること，および，利用時に子ＩＣカードの有効期限や使用目的などの確認を伴う有効性確認を行っている。親ＩＣカードに対する子ＩＣカードを認証する場合，親ＩＣカードの有効期限や使用目的などを確認すれば十分である。また，子ＩＣカードの鍵ペアを生成する場合，親ＩＣカードの秘密鍵を用いる必要はない。さらに，子ＩＣカードの作成および利用が自由に可能となってしまうため，利用をユーザ本人に限定することができない。
【０００７】
特許文献３では，生体認証機能を持つＩＣカードの更新方法が示されているが，安全な端末装置が必要な方法になっている。さらに，特許文献４では，旧カードのデータを削除する必要があるので両カードに専用アプリケーションを必要としているが，子ＩＣカードを作成する場合，親ＩＣカードのデータを削除する必要はない。
【０００８】
なお、携帯電話機がサブカード機能を持つようにと前述した。本明細書では、他に呼称がないのでＩＣカードと呼ぶが、そのＩＣカードは本明細書で説明する機能を持つデバイスであればよく、形状がカード状であることに捉われない。携帯電話機などの小型通信機器や端末機器も、本明細書で説明するＩＣカードの機能を持つならば、本発明のＩＣカードの一形態である。
【課題を解決するための手段】
【０００９】
本発明は，上記事情に鑑みてなされたものであり，親ＩＣカードから生成された子ＩＣカード、その子ＩＣカードを生成し利用するシステムおよびその方法を提供する。
【００１０】
本発明の態様は、ＩＣカード発行者によってカード発行時に設定された共通鍵、認証局が発行した親ＩＣカードの公開鍵証明書、親ＩＣカードの秘密鍵を用いて署名された署名付公開鍵、および秘密鍵を保管する鍵保管部、少なくとも公開鍵証明書および署名付公開鍵を親ＩＣカードから受信するデータ送受信部、親ＩＣカードから受信したユーザの暗号化された生体情報を共通鍵を用いて復号化する暗号演算部、及び復号された第１の生体情報を保管する生体情報保管部を有するＩＣカードである。
【００１１】
本発明の望ましい他の態様は、署名付公開鍵は、親ＩＣカードによって生成された公開鍵と秘密鍵とのペアの公開鍵に親ＩＣカードの秘密鍵を用いて署名した鍵であり、鍵保管部に保管されている秘密鍵は、公開鍵と秘密鍵とのペアの秘密鍵が第１の生体情報を用いて暗号化された鍵であるＩＣカードである。
【００１２】
本発明の望ましいさらに他の態様は、公開鍵と秘密鍵とのペアを生成する鍵生成部を有し、署名付公開鍵は、鍵生成部によって生成された公開鍵に親ＩＣカードの秘密鍵を用いて署名した鍵であり、鍵保管部に保管されている秘密鍵は、鍵生成部によって生成された秘密鍵であるＩＣカードである。
【００１３】
本発明の望ましいさらに他の態様は、孫ＩＣカード作成の要求に応答して、鍵生成部によって生成された公開鍵に秘密鍵を用いて署名した他の署名付公開鍵を生成する証明書生成部をさらに設けたＩＣカードである。
【００１４】
本発明の他の態様は、親ＩＣカードと子ＩＣカードとによるＩＣカードシステムであって，親ＩＣカードは、ＩＣカード発行者によって設定された第１の共通鍵と認証局が発行した親ＩＣカードの公開鍵証明書と、第１の秘密鍵を保管する第１の鍵保管部、前記第１の秘密鍵を用いて署名した署名付公開鍵を生成し、共通鍵を用いてユーザの第１の生体情報を暗号化する第１の暗号演算部、および少なくとも公開鍵証明書、署名付公開鍵および暗号化した第１の生体情報を子ＩＣカードに向けて送信する第１のデータ送受信部を有し、子ＩＣカードは、ＩＣカード発行者によって設定された第２の共通鍵、公開鍵証明書、署名付公開鍵、および第２の秘密鍵を保管する第２の鍵保管部、少なくとも公開鍵証明書、署名付公開鍵および暗号化された第１の生体情報を親ＩＣカードから受信する第２のデータ送受信部、データ送受信部により受信した暗号化された第１の生体情報を第２の共通鍵を用いて復号化する第２の暗号演算部、および復号された第１の生体情報を保管する生体情報保管部を有するＩＣカードシステムである。
【００１５】
本発明の望ましい他の態様は、署名付公開鍵は、親ＩＣカードによって生成された第１の公開鍵と第１の秘密鍵とのペアの第１の公開鍵に前記第１の秘密鍵を用いて署名した鍵であり、第２の鍵保管部に保管されている第２の秘密鍵は、第１の公開鍵と第１の秘密鍵とのペアの第１の秘密鍵が第１の生体情報を用いて暗号化された鍵であるＩＣカードシステムである。
【００１６】
本発明のさらに他の態様は、ＩＣカードとサービス提供装置とによるＩＣカードシステムであって，ＩＣカードは、第１の生体情報を保管する生体情報保管部、ＩＣカード発行者によってカード発行時に設定された共通鍵、認証局が発行した親ＩＣカードの公開鍵証明書、親ＩＣカードの秘密鍵を用いて署名された署名付公開鍵、および第１の生体情報を用いて暗号化された秘密鍵を保管する鍵保管部、第２の生体情報及び乱数の受信に応答して、第１の生体情報と第２の生体情報とが同じであるならば、暗号化された秘密鍵を第１及び第２の生体情報のいずれか一方の生体情報を用いて復号化し、復号化した秘密鍵を用いて乱数の署名値を求める暗号演算部、及び第２の生体情報及び乱数を受信し、鍵保管部に保管している鍵証明書、前記署名付公開鍵及び乱数の署名値をサービス提供装置へ向けて送信するデータ送受信部を有し、サービス提供装置は、ＩＣカードから送信された公開鍵証明書、署名付公開鍵及び前記乱数の署名値を検証、サービスを提供するＩＣカードシステムである。
【００１７】
本発明のさらに他の態様は、親ＩＣカードから子ＩＣカードを生成するＩＣカード生成方法であって，親ＩＣカードは、ＩＣカード発行者によって設定された第１の共通鍵と認証局が発行した親ＩＣカードの公開鍵証明書と、第１の秘密鍵を保管し、第１の秘密鍵を用いて署名した署名付公開鍵を生成し、共通鍵を用いてユーザの第１の生体情報を暗号化し、少なくとも公開鍵証明書、署名付公開鍵および暗号化した第１の生体情報を子ＩＣカードに向けて送信し、子ＩＣカードは、ＩＣカード発行者によって設定された第２の共通鍵、公開鍵証明書、署名付公開鍵、および第２の秘密鍵を保管し、少なくとも公開鍵証明書、署名付公開鍵および暗号化された第１の生体情報を親ＩＣカードから受信し、暗号化された第１の生体情報を第２の共通鍵を用いて復号し、復号した第１の生体情報を保管するＩＣカード生成方法である。
【００１８】
本発明のさらに他の態様は、ＩＣカードを用いたサービス提供装置によるＩＣカード利用方法であって，ＩＣカードは、第１の生体情報を保管し、ＩＣカード発行者によってカード発行時に設定された共通鍵、認証局が発行した親ＩＣカードの公開鍵証明書、親ＩＣカードの秘密鍵を用いて署名された署名付公開鍵、および第１の生体情報を用いて暗号化された秘密鍵を保管し、第２の生体情報及び乱数の受信に応答して、第１の生体情報と第２の生体情報とが同じであるならば、暗号化された秘密鍵を第第１及び第２の生体情報のいずれか一方の生体情報を用いて復号化し、復号化した秘密鍵を用いて乱数の署名値を求め、公開鍵証明書、署名付公開鍵及び乱数の署名値をサービス提供装置へ向けて送信し、サービス提供装置は、ＩＣカードから送信された公開鍵証明書、署名付公開鍵及び乱数の署名値を検証し、サービスを提供するＩＣカード利用方法である。
【発明の効果】
【００１９】
本発明によれば，親ＩＣカードから作成された子ＩＣカードは、このＩＣカードの正当なユーザ本人しか利用できないという制限を与えることが可能となる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態について説明する。なお，これにより本発明が限定されるものではない。
【実施例１】
【００２１】
図１は，本実施例のＩＣカードシステムの構成図である。本実施例のＩＣカードシステムは，図１に示すように，親ＩＣカード１０と子ＩＣカード２０とが端末装置３０に接続され，端末装置３０とサービス提供者装置５０とがインターネットや携帯電話網などの１つまたは複数のネットワーク４０を介して互いに接続されている。
【００２２】
端末装置３０に親ＩＣカード１０と新しい（子ＩＣカード２０として動作しない）ＩＣカードとを接続し，それらのカードの間でデータを送受信することにより、子ＩＣカード２０を作成する。作成された子ＩＣカード２０を利用して利用者(ユーザ)がサービスを受ける際には，端末装置３０は，端末装置３０のＩＣカードアクセス部３０１に接続された子ＩＣカードを用いて，ネットワーク４０を経由して，サービス提供者装置５０からサービスをユーザに提供する。
【００２３】
親ＩＣカード１０は，端末装置３０とデータを送受信するデータ送受信部１０１と，子ＩＣカード２０用の公開鍵と秘密鍵とのペアを生成する鍵生成部１０２と，署名や暗号化の処理を実行する暗号演算部１０３と，子ＩＣカード２０用の公開鍵に対して署名値を生成する証明書生成部と，ユーザの指紋、静脈情報，顔写真などの生体情報（生態情報の特徴量情報）を保管する生体情報保管部１０５と，ＩＣカード発行者によってカード発行時に設定された共通鍵，認証に用いる秘密鍵，及び公開鍵証明書を保管する鍵保管部１０６とを含む。
【００２４】
子ＩＣカード１０は，端末装置３０とデータを送受信するデータ送受信部２０１と，子ＩＣカード２０用の公開鍵と秘密鍵とのペアを生成する鍵生成部２０２と，署名や暗号化の処理を実行する暗号演算部３０３と，ユーザの指紋、静脈情報，顔写真などの生体情報を保管する生体情報保管部１０５と，ＩＣカード発行者によってカード発行時に設定された共通鍵，認証に用いる秘密鍵，公開鍵，公開鍵の署名値，及び親ＩＣカード10の公開鍵証明書を保管する鍵保管部206とを含む。
【００２５】
端末装置３０は，ネットワーク４０を介して，サービス提供者装置５０とデータを送受信するデータ送受信部３０２と，親及び/又は子のＩＣカードへのコマンドの生成や解析を実行するコマンド制御部３０３と，親及び/又は子のＩＣカードとの間でＩＣカードコマンドを送受信するＩＣカードアクセス部３０１とを含む。
【００２６】
サービス提供者装置５０は，ネットワーク４０を介して，データを送受信する通信部５０１と，ＩＣカードを利用したサービスを提供するサービス提供部５０２と，親ＩＣカード１０の公開鍵証明書を発行した認証局の公開鍵証明書を保管する鍵保管部５０３とを含む。
【００２７】
なお、後述の内容からも明らかになるように、端末装置３０の構成を親ＩＣカード１０に含み、端末装置３０の処理を実行することが可能である。
【００２８】
図２は、サービス提供者装置５０のハードウェア構成図である。サービス提供者装置５０は，ＣＰＵ２１，主記憶装置２２，生体情報読取装置２３，補助記憶装置２４，通信装置２５，入出力装置２６，記憶媒体２８の読取装置２７などがバスなどの内部通信線２９で接続された構成である。
【００２９】
図示を省略するが、端末装置３０も，規模や性能の違いは有るが、端末装置３０と同様のハードウェア構成である。
【００３０】
図３はＩＣカード（親ＩＣカード１０，子ＩＣカード２０）のハードウェア構成図である。ＩＣカード１０は，ＣＰＵ１２，入出力装置１１，耐タンパメモリ１４，耐タンパ記憶装置１３などがバスなどの内部通信線１５で接続された構成である。前述の端末装置３０の構成を親ＩＣカード１０に含む場合は、ＣＰＵ１２とＣＰＵ２１のように、同じ機能の装置は一つでよい。また、記憶媒体２８の読取装置２７などは、親ＩＣカード１０が携帯電話機のような小型通信機器や端末機器の場合はあってもよいが、カード状の親ＩＣカード１０の場合はなくても良い。
【００３１】
本実施例の証明書検証処理について説明する。各装置の補助記憶装置２４に格納された処理プログラムが主記憶装置２２にロードされ，ＣＰＵにより実行されることにより，各処理部の処理が実行される。また，各プログラムは予め補助記憶装置２４に格納されても良いし，他の記憶媒体または通信媒体（ネットワーク，またはネットワークを伝搬する搬送波またはディジタル信号）を介して，必要なときにロードされても良い。
【００３２】
図４は，端末装置３０を介して，親ＩＣカード１０から子ＩＣカード２０を作成する際の処理フロー図である。まず，端末装置３０は，親ＩＣカード１０に対して，子ＩＣカードを生成するためのデータを要求する（Ｓ３０１）。
【００３３】
要求に応答して、親ＩＣカード１０の鍵生成部１０２は，子ＩＣカード用の公開鍵と秘密鍵とのペアを生成する（Ｓ１０１）。親ＩＣカード１０の暗号演算部１０３は，鍵保管部１０６に保管されている，自身の秘密鍵を用いて，Ｓ１０１で生成した公開鍵に対する署名値を計算し，署名付公開鍵を生成する（Ｓ１０２）。親ＩＣカード１０の暗号演算部１０３は，生体情報保管部１０５に保管されている生体情報を用いて，Ｓ１０１で生成した秘密鍵を暗号化し，非活性化する（Ｓ１０３）。さらに，親ＩＣカード１０の暗号演算部１０３は，発行時から鍵保管部１０６に保管されている共通鍵を用いて，生体情報保管部１０５に保管されている生体情報を暗号化する（Ｓ１０４）。親ＩＣカード１０は，データ送受信部１０１を介して，鍵保管部に保管されている，親ＩＣカードの公開鍵証明書Ａ１０１，Ｓ１０３で生成した非活性化された秘密鍵Ａ１０２，Ｓ１０２で生成した署名付公開鍵Ａ１０３，及びＳ１０４で生成した暗号化された生体情報Ａ１０４を端末装置３０へ送信する。
【００３４】
端末装置３０は，親ＩＣカードの公開鍵証明書Ａ１０１，非活性化された秘密鍵Ａ１０２，署名付公開鍵Ａ１０３，及び暗号化された生体情報Ａ１０４を子ＩＣカード２０へ転送する（Ｓ３０２）。
【００３５】
子ＩＣカード２０は，データ送受信部２０１を介して受信した，親ＩＣカード１０の公開鍵証明書Ａ１０１，非活性化された秘密鍵Ａ１０２，及び署名付公開鍵Ａ１０３を鍵保管部２０６へ保管する。さらに，子ＩＣカード２０の暗号演算部２０３は，発行時から鍵保管部２０６に保管されている共通鍵を用いて，暗号化された生体情報Ａ１０４を復号し，生体情報保管部２０５に保管する。
【００３６】
図５は，作成された子ＩＣカード２０を用いて，ユーザがサービス提供者装置５０からサービスを受ける際の処理フロー図である。まず，端末装置３０は，サービス提供者装置５０に対してサービス要求（Ａ３０２）を送信する（Ｓ３０３）。子ＩＣカード２０が携帯電話機のような場合、子ＩＣカード２０がサービス提供者装置５０に向けてサービス要求（Ａ３０２）を送信してもよい。サービス提供者装置５０は，乱数Ａ５０１を生成し（Ｓ５０１），端末装置３０へ送信する。
【００３７】
端末装置３０は，サービス提供者装置５０から乱数Ａ５０１を受信し，生体情報読取装置２３を用いて子ＩＣカード利用者の生体情報を読み取る（Ｓ３０４）。端末装置３０は，ＩＣカードアクセス部３０１を介して，生体情報Ａ３０３と乱数Ａ５０１とを子ＩＣカード２０に送信する。
【００３８】
子ＩＣカード２０は，図示を省略しているが、端末装置３０から送信された生体情報Ａ３０３と生体情報保管部２０５に保管している生体情報とを比較し、異なれば処理を中断する（この子ＩＣカード２０を用いたサービス提供が受けられない）。比較結果が一致すれば、鍵保管部２０６に保管されている非活性化されている秘密鍵Ａ１０２を，生体情報Ａ３０３を用いて復号し，活性化する（Ｓ２０２）。子ＩＣカード２０の暗号演算部２０３は，Ｓ２０２で活性化した秘密鍵Ａ１０２を用いて，サービス提供者５０が生成した乱数Ａ５０１に対して署名値を計算する（Ｓ２０３）。子ＩＣカード２０は，データ送受信部２０１によって，自身の鍵保管部２０６に保管されている親ＩＣカード１０の公開鍵証明書Ａ１０１および署名付公開鍵Ａ１０３と，生成した乱数Ａ５０１の署名値Ａ２０１とを端末装置３０へ送信する。
【００３９】
端末装置３０は，親ＩＣカード１０の公開鍵証明書Ａ１０１，署名付公開鍵Ａ１０３，および乱数Ａ５０１の署名値Ａ２０１をサービス提供者装置５０へ転送する（Ｓ３０５）。
【００４０】
サービス提供者装置５０は，端末装置３０から受信した，署名付公開鍵Ａ１０３の公開鍵を用いて，端末装置３０から受信した乱数の署名値Ａ２０１が正しいことを検証する（Ｓ５０２），親ＩＣカード１０の公開鍵証明書Ａ１０１を用いて，署名付公開鍵Ａ１０３の署名を検証する（Ｓ５０３）。サービス提供者装置５０の鍵保管部５０３に保管されている，親ＩＣカード１０の公開鍵証明書Ａ１０１を発行した認証局の公開鍵証明書を用いて親ＩＣカード１０の公開鍵証明書Ａ１０１の署名を検証する（Ｓ５０４）。親ＩＣカード１０の公開鍵証明書Ａ１０１の有効期限や使用目的などが，正しいことを確認する（Ｓ５０５）。Ｓ５０２からＳ５０５までの検証が成功したら、サービス提供者装置５０は所定のサービスを提供する（Ｓ５０６）。
【実施例２】
【００４１】
図６は，本実施例のＩＣカードシステムの構成図である。
子ＩＣカード２０の作成は，実施例１と同様に，端末装置３０に接続された，親ＩＣカード１０と子ＩＣカード２０との間でデータを送受信することにより、子ＩＣカード２０を作成する。作成された子ＩＣカード２０を利用して、ユーザがサービスを受ける際には，実施例１とは異なり，端末装置３０を介さずに，子ＩＣカード２０をサービス提供者装置５０のＩＣカードアクセス部５０４と直接接続する構成となる。実施例１との違いは，サービス提供者装置５０が，子ＩＣカード２０とデータを送受信するＩＣカードアクセス部５０４を含むことである。
【００４２】
図７は，実施例２で子ＩＣカード２０を作成する際の端末装置３０を中心とした処理フロー図である。図４の実施例1で利用する子ＩＣカード２０の作成処理と異なる点は，ユーザによる子ＩＣカード２０の利用時に、サービス提供者装置５０は、ユーザと対面でのサービス提供を想定していることである。したがって、ユーザから提示される生体情報，例えば顔写真等をし，サービス提供者装置５０は対面で確認できるので，子ＩＣカード２０の秘密鍵Ａ１０２を生体情報によって非活性化する必要がない。
【００４３】
端末装置３０は，子ＩＣカード２０に対して，鍵生成を要求する（Ｓ３０６）。子ＩＣカード２０の鍵生成部２０２は，公開鍵と秘密鍵とのペアを生成する（Ｓ２０４）。子ＩＣカードは，生成した公開鍵Ａ２０２を端末装置３０へ送信する。
【００４４】
端末装置３０は，受信した公開鍵Ａ２０２を親ＩＣカード１０へ転送する（Ｓ３０７）。親ＩＣカード１０の暗号演算部１０３は，鍵保管部１０６に保管している秘密鍵を用いて，公開鍵Ａ２０２に対する署名値を計算し，署名付公開鍵を生成する（Ｓ１０２）。親ＩＣカード１０の暗号演算部１０３は，鍵保管部１０６に保管されている共通鍵を用いて，生体情報保管部１０５に保管されている生体情報を暗号化する（Ｓ１０４）。親ＩＣカード１０は，データ送受信部１０１を介して，鍵保管部１０６に保管されている親ＩＣカードの公開鍵証明書Ａ１０１と，生成した署名付公開鍵Ａ１０３および暗号化された生体情報Ａ１０４とを端末装置３０へ送信する。
【００４５】
端末装置３０は，親ＩＣカード１０の公開鍵証明書Ａ１０１と署名付公開鍵Ａ１０３と暗号化された生体情報Ａ１０４とを子ＩＣカード２０へ転送する（Ｓ３０８）。子ＩＣカード２０は，データ送受信部２０１により受信した親ＩＣカードの公開鍵証明書Ａ１０１と署名付公開鍵Ａ１０３とを鍵保管部２０６へ保管する。さらに，子ＩＣカード２０の暗号演算部２０３は，鍵保管部２０６に保管している，共通鍵を用いて，暗号化された生体情報Ａ１０４を復号し，生体情報保管部２０５に保管する（Ｓ２０１）。
【００４６】
図８は，作成された子ＩＣカード２０を用いて，ユーザが対面でサービス提供者装置５０からサービスを受ける際の処理フロー図である。サービス提供者装置５０は，乱数Ａ５０１を生成し（Ｓ５０１），子ＩＣカード２０へ送信する。子ＩＣカード２０の暗号演算部２０３は，鍵保管部２０６に保管されているＳ２０４で生成された秘密鍵を用いて，サービス提供者５０が生成した乱数Ａ５０１に対して署名値を計算する（Ｓ２０５）。子ＩＣカード２０は，データ送受信部２０１により，鍵保管部２０６に保管されている，親ＩＣカード１０の公開鍵証明書Ａ１０１と署名付公開鍵Ａ１０３と乱数Ａ５０１の署名値Ａ２０１と生体情報保管部２０５に保管されている生体情報Ａ２０３とをサービス提供者装置５０へ送信する。
【００４７】
サービス提供者装置５０は，子ＩＣカード２０から受信した，生体情報Ａ２０３を確認し，対面でサービスを受けようとしている人物像と比較し，本人確認を行う（Ｓ５０７）。子ＩＣカード２０から受信した，署名付公開鍵Ａ１０３の公開鍵を用いて，端末装置３０から受信した，乱数の署名値Ａ２０１が正しいことを検証する（Ｓ５０２），親ＩＣカード１０の公開鍵証明書Ａ１０１を用いて，署名付公開鍵Ａ１０３の署名を検証する（Ｓ５０３）。サービス提供者装置５０の鍵保管部５０３に保管されている，親ＩＣカード１０の公開鍵証明書Ａ１０１を発行した認証局の公開鍵証明書を用いて親ＩＣカード１０の公開鍵証明書Ａ１０１の署名を検証する（Ｓ５０４）。親ＩＣカード１０の公開鍵証明書Ａ１０１の有効期限や使用目的などが正しいことを確認する（Ｓ５０５）。ステップＳ５０７，およびＳ５０２〜Ｓ５０５の検証が成功したら、サービス提供者装置５０は所定のサービスを提供する（ステップＳ５０６）。
【００４８】
親ＩＣカードに対して，子ＩＣカードを作成し，該子ＩＣカードを利用するシステム及び方法を示したが，子ＩＣカードに図１に示した親ＩＣカードの証明書生成部１０４を搭載することで，子ＩＣカードを用いて孫ＩＣカードを作成および利用することができる。図１に示すように、親ＩＣカード１０と子ＩＣカード２０との構成の差異は、親ＩＣカード１０の証明書生成部１０４に対応する要件が子ＩＣカード２０にない点である。したがって、子ＩＣカード２０に証明書生成部を設けることによって、子ＩＣカード２０を親ＩＣカード１０と同等に機能させることができる。すなわち、子ＩＣカード２０が孫ＩＣカードを作成することができる。
【００４９】
ただし、動作は次の点が異なる。図４において、親ＩＣカード１０は証明書生成部１０４で、子ＩＣカード２０用の公開鍵に対して署名値を生成し、子ＩＣカード２０は署名付公開鍵Ａ１０３として保管している。子ＩＣカード２０が孫ＩＣカードを作成するときには、子ＩＣカード２０が孫ＩＣカード用の署名付公開鍵を作成し、それを孫ＩＣカードに送信する際に、親ＩＣカード１０から送信され保管している親ＩＣカード１０の公開鍵証明書Ａ１０１と子ＩＣカード２０用の署名付公開鍵Ａ１０３とを併せて送信する。
【００５０】
孫ＩＣカードをユーザが利用する際は、孫ＩＣカードから、親ＩＣカード１０の公開鍵証明書Ａ１０１、子ＩＣカード２０用の署名付公開鍵Ａ１０３、孫ＩＣカード用の署名付公開鍵および乱数の署名値Ａ２０１を、端末装置３０を介して、サービス提供装置５０に送信することになる。すなわち、親ＩＣカード１０から見て二世代後の孫ＩＣカードは２種の署名付公開鍵を送信することになる。以上のようにすることにより、二世代に限らず、世代をチェーンさせたＩＣカードを作成し、利用することができる。
【００５１】
また，カード利用の利便性を高くするために、１つの親ＩＣカードから複数の子ＩＣカードを作成するようにしても良い。
【００５２】
さらに，親ＩＣカードは子ＩＣカードに対して，署名付公開鍵を作成するようにしているが，公開鍵の所持者が正当であることを証明する公開鍵証明書の形式にしても良い。
【００５３】
さらに，子ＩＣカード、孫ＩＣカードなどの世代数によって，利用時に使われる証明書（署名付公開鍵または公開鍵証明書）チェーンの数が変わることになるが，利用する子ＩＣカードや孫ＩＣカードの世代数によって受けられるサービスを変えても良い。世代数によって受けられるサービスを変えることは、サービス提供装置５０が世代数に応じたサービス種別、サービス数などのテーブルを持ち、それを参照することで実現する。
【００５４】
なお，本発明は，上記の本実施形態に限定されるものではなく，その要旨の範囲内で様々な変形が可能である。
【図面の簡単な説明】
【００５５】
【図１】実施例１のＩＣカードシステムの構成図である。
【図２】端末装置のハードウェア構成図である。
【図３】ＩＣカードのハードウェア構成図である。
【図４】実施例１の子ＩＣカードを作成する際の処理フロー図である。
【図５】実施例１の子ＩＣカードを利用する際の処理フロー図である。
【図６】実施例２のＩＣカードシステムの構成図である。
【図７】実施例２の子ＩＣカードを作成する際の処理フロー図である。
【図８】実施例２の子ＩＣカードを利用する際の処理フロー図である。
【符号の説明】
【００５６】
１０：親ＩＣカード，１１：入出力装置，１２：ＣＰＵ，１３：耐タンパ記憶装置，１４：耐タンパメモリ，１５：内部信号線，２０：子ＩＣカード，２１：ＣＰＵ，２２：主記憶装置，２３：生体情報読取装置，２４：補助記憶装置，２５：通信装置，２６：入出力装置，２７：読取装置，２８：記憶媒体，２９：内部信号線，３０：端末装置，４０：ネットワーク，５０：サービス提供者装置，Ａ１０１：親ＩＣカードの公開鍵証明書，Ａ１０２：非活性化秘密鍵，Ａ１０３：署名付公開鍵，Ａ１０４：暗号化生体情報，Ａ２０１：乱数の署名値，Ａ２０２：公開鍵：Ａ２０３：生体情報，Ａ３０１：子ＩＣカード生成用データ要求，Ａ３０２：サービス要求，Ａ３０３：生体情報，Ａ３０４：鍵生成要求，Ａ５０１：乱数。
【図１】
0005180678.tif 000002
【図２】
0005180678.tif 000003
【図３】
0005180678.tif 000004
【図４】
0005180678.tif 000005
【図５】
0005180678.tif 000006
【図６】
0005180678.tif 000007
【図７】
0005180678.tif 000008
【図８】
0005180678.tif 000009