(57)【特許請求の範囲】
【請求項１】
複数の認証先と、
鍵生成手段と、
鍵管理手段と、
認証手段と
を有し、
前記複数の認証先で共用される第１の鍵データと前記複数の認証先それぞれに固有の第２の鍵データを用いて各認証先と前記認証手段との間で認証を行う、
データ処理装置であって、
前記鍵生成手段は、前記複数の認証先の各々から受けた当該各認証先に固有の固有データを基に、各認証先でアクセスする記憶領域を識別するデータに基づいて決定される所定の複数の鍵生成アルゴリズムのうち１つの鍵生成アルゴリズムを用いて、当該各認証先に固有の第２の鍵データを生成し、
前記鍵管理手段は、前記複数の認証先で共用される前記第１の鍵データを保持し、前記複数の認証先で共用される前記第１の鍵データを用いた認証を行うこと、並びに前記複数の認証先それぞれに固有の前記第２の鍵データを用いた認証を行うことを示す鍵特性データを基に前記鍵生成手段に前記第２の鍵データを生成させるか否かを決定し、
前記認証手段は、
前記鍵生成手段に前記第２の鍵データを生成させない場合は、前記鍵管理手段が保持する前記第１の鍵データを用いて前記各認証先との間で第１の認証を行い、
前記鍵生成手段に前記所定の複数の鍵生成アルゴリズムのうちの１つの鍵生成アルゴリズムを用いて各認証先に固有の前記第２の鍵データを生成させる場合は、前記第１の鍵データを用いて前記各認証先との間で前記第１の認証を行うことなしに前記鍵生成手段が生成した第２の前記鍵データを用いて前記各認証先との間で第２の認証を行い、
前記鍵生成手段は、前記第２の認証の後に行われる複数の処理内容のそれぞれに対応して規定された前記複数の鍵生成アルゴリズムのうち指定された処理内容に対応した１つの鍵生成アルゴリズムを選択し、当該選択した鍵生成アルゴリズムを基に、各認証先に固有の前記第２の鍵データを生成する、
ことを特徴とする、データ処理装置。
【請求項２】
前記認証手段は、前記第２の鍵データを基に前記各認証先との間の認証を行い、前記各認証先との間で互いの正当性を認めると、前記第２の鍵データに対応付けられた処理を前記各認証先と連携して行う、
請求項１に記載のデータ処理装置。
【請求項３】
前記認証手段は、
前記第１の認証により前記各認証先の正当性を確認した後に前記各認証先と連携して前記第１の鍵データに対応付けられた第１の処理を行い、
前記第２の認証により前記各認証先の正当性を確認した後に前記各認証先と連携して前記第２の鍵データに対応付けられた第２の処理を行う、
請求項１に記載のデータ処理装置。
【請求項４】
前記鍵管理手段は、前記第２の認証に関連付けられた第３の鍵データを保持し、
前記鍵生成手段は、前記各認証先から受けた前記固有データと前記鍵管理手段が保持する前記第３の鍵データとを基に、前記第２の鍵データを生成する、
請求項１に記載のデータ処理装置。
【請求項５】
前記鍵管理手段は、
前記各認証先との間で行われる処理の識別データを、前記第３の鍵データと対応付けて保持し、
前記処理の前記識別データに対応付けられた前記第３の鍵データを前記鍵生成手段に提供する、
請求項４に記載のデータ処理理装置。
【請求項６】
前記認証手段は、前記各認証先が保持するファイルデータに対応した処理に関する権限の有無を、前記鍵生成手段が生成した前記第２の鍵データを基に前記各認証先との間で認証する、
請求項１に記載のデータ処理装置。
【請求項７】
前記各認証先が、所定の階層構造を有するフォルダ内に前記ファイルデータを保持している場合に、前記認証手段は、前記各認証先の前記フォルダおよび前記ファイルデータの少なくとも一方に関するアクセス権限の有無を、前記鍵生成手段が生成した前記第２の鍵データを基に前記各認証先との間で認証する、
請求項６に記載のデータ処理装置。
【請求項８】
複数の認証先と、鍵生成手段と、鍵管理手段と、認証手段とを有し、前記複数の認証先で共用される第１の鍵データと前記複数の認証先それぞれに固有の第２の鍵データを用いて各認証先と前記認証手段との間で認証を行う、データ処理装置におけるデータ処理方法であって、
前記鍵生成手段が、前記複数の認証先の各々から受けた当該各認証先に固有の固有データを基に、各認証先でアクセスする記憶領域を識別するデータに基づいて決定される所定の複数の鍵生成アルゴリズムのうち１つの鍵生成アルゴリズムを用いて、当該各認証先に固有の第２の鍵データを生成する、第２の鍵データ生成工程と、
前記鍵管理手段が、前記複数の認証先で共用される前記第１の鍵データを保持し、前記複数の認証先で共用される前記第１の鍵データを用いた認証を行うこと、並びに前記複数の認証先それぞれに固有の前記第２の鍵データを用いた認証を行うことを示す鍵特性データを基に前記鍵生成手段に前記第２の鍵データを生成させるか否かを決定する、第２の鍵データ生成決定工程と、
前記認証手段が、前記鍵生成手段において前記第２の鍵データを生成させない場合は、前記鍵管理手段が保持する前記第１の鍵データを用いて前記各認証先との間で第１の認証を行う、第１の認証工程と、
前記認証手段が、前記鍵生成手段に前記所定の複数の鍵生成アルゴリズムのうちの１つの鍵生成アルゴリズムを用いて各認証先に固有の前記第２の鍵データを生成させる場合は、前記第１の鍵データを用いて前記各認証先との間で前記第１の認証を行うことなしに前記鍵生成手段が生成した第２の前記鍵データを用いて前記各認証先との間で第２の認証を行う、第２の認証工程と
を有し、
前記第２の鍵データ生成工程において、前記鍵生成手段が、前記第２の認証の後に行われる複数の処理内容のそれぞれに対応して規定された複数の鍵生成アルゴリズムのうち指定された処理内容に対応した１つの鍵生成アルゴリズムを選択し、当該選択した鍵生成アルゴリズムを基に、各認証先に固有の前記第２の鍵データを生成する、
ことを特徴とする、データ処理方法。
【請求項９】
前記第２の認証工程において、前記認証手段が、前記第２の鍵データを基に前記各認証先との間の認証を行い、前記各認証先との間で互いの正当性を認めると、前記第２の鍵データに対応付けられた処理を前記各認証先と連携して行う、
請求項８に記載のデータ処理方法。
【請求項１０】
前記第１の認証工程において前記認証手段が、前記第１の認証により前記各認証先の正当性を確認した後に前記各認証先と連携して前記第１の鍵データに対応付けられた第１の処理を行い、
前記第２の認証工程において前記認証手段が、前記第２の認証により前記各認証先の正当性を確認した後に前記各認証先と連携して前記第２の鍵データに対応付けられた第２の処理を行う、
請求項８に記載のデータ処理方法。
【請求項１１】
前記鍵管理手段が、前記第２の認証に関連付けられた第３の鍵データを保持する、第３の鍵データ保持工程をさらに有し、
前記第２の鍵生成工程において、前記鍵生成手段は、前記各認証先から受けた前記固有データと前記鍵管理手段が保持する前記第３の鍵データとを基に、前記第２の鍵データを生成する、
請求項８に記載のデータ処理方法。
【請求項１２】
前記第３の鍵データ保持工程において、前記鍵管理手段が、
前記各認証先との間で行われる処理の識別データを、前記第３の鍵データと対応付けて保持し、
前記各認証先との間で行われる処理の前記識別データに対応付けられた前記第３の鍵データを前記鍵生成手段に提供する、
請求項１２に記載のデータ処理方法。
【請求項１３】
前記第２の認証工程において、
前記認証手段が、前記各認証先が保持するファイルデータに対応した処理に関する権限の有無を、前記鍵生成手段が生成した前記第２の鍵データを基に前記各認証先との間で認証し、
前記各認証先が、所定の階層構造を有するフォルダ内に前記ファイルデータを保持している場合に、前記認証手段は、前記各認証先の前記フォルダおよび前記ファイルデータの少なくとも一方に関するアクセス権限の有無を、前記鍵生成手段が生成した前記第２の鍵データを基に前記各認証先との間で認証する、
請求項１２に記載のデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、認証先との間で鍵データを用いた認証を行うデータ処理装置、および、その方法に関する。
【０００２】
【従来の技術】
例えば、ＩＣ(Integrated Circuit)カードなどを用いて種々のサービスを提供する場合に、ＩＣカードと認証装置との間で共通の鍵データを保持し、その鍵データを用いて認証を行うシステムがある。
このようなシステムでは、従来では、サービス提供元が発行する複数のＩＣカードの各々に当該複数のＩＣカード間で共通の（同じ）鍵データを記憶している。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述した従来のシステムでは、一部のＩＣカードにおいて当該ＩＣカードに記憶された鍵データの秘匿性が失われると、全てのＩＣカードでセキュリティが保てなくなるという問題がある。
また、その対応策として、複数のＩＣカードの全てについて、外部に漏れた鍵データを新たな鍵データで構成する必要が生じ、手間がかかるという問題もある。
【０００４】
本発明はかかる事情に鑑みてなされたものであり、その目的は、複数の認証先（ＩＣカード）との間で鍵データを基に認証を行う場合に、一部の認証先が保持する鍵データの秘匿性が失われた場合でも、それ以外の認証先で認証のセキュリティを保つことができるデータ処理装置、その方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明によれば、複数の認証先と、鍵生成手段と、鍵管理手段と、認証手段とを有し、前記複数の認証先で共用される第１の鍵データと前記複数の認証先それぞれに固有の第２の鍵データを用いて各認証先と前記認証手段との間で認証を行う、データ処理装置であって、
前記鍵生成手段は、前記複数の認証先の各々から受けた当該各認証先に固有の固有データを基に、各認証先でアクセスする記憶領域を識別するデータに基づいて決定される所定の複数の鍵生成アルゴリズムのうち１つの鍵生成アルゴリズムを用いて、当該各認証先に固有の第２の鍵データを生成し、
前記鍵管理手段は、前記複数の認証先で共用される前記第１の鍵データを保持し、前記複数の認証先で共用される前記第１の鍵データを用いた認証を行うこと、並びに前記複数の認証先それぞれに固有の前記第２の鍵データを用いた認証を行うことを示す鍵特性データを基に前記鍵生成手段に前記第２の鍵データを生成させるか否かを決定し、
前記認証手段は、前記鍵生成手段に前記第２の鍵データを生成させない場合は、前記鍵管理手段が保持する前記第１の鍵データを用いて前記各認証先との間で第１の認証を行い、前記鍵生成手段に前記所定の複数の鍵生成アルゴリズムのうちの１つの鍵生成アルゴリズムを用いて各認証先に固有の前記第２の鍵データを生成させる場合は、前記第１の鍵データを用いて前記各認証先との間で前記第１の認証を行うことなしに前記鍵生成手段が生成した第２の前記鍵データを用いて前記各認証先との間で第２の認証を行い、
前記鍵生成手段は、前記第２の認証の後に行われる複数の処理内容のそれぞれに対応して規定された前記複数の鍵生成アルゴリズムのうち指定された処理内容に対応した１つの鍵生成アルゴリズムを選択し、当該選択した鍵生成アルゴリズムを基に、各認証先に固有の前記第２の鍵データを生成する、
ことを特徴とする、データ処理装置が提供される。
【０００７】
好ましくは、前記認証手段は、前記第２の鍵データを基に前記各認証先との間の認証を行い、前記各認証先との間で互いの正当性を認めると、前記第２の鍵データに対応付けられた処理を前記各認証先と連携して行う。
また好ましくは、前記認証手段は、前記第１の認証により前記各認証先の正当性を確認した後に前記各認証先と連携して前記第１の鍵データに対応付けられた第１の処理を行い、前記第２の認証により前記各認証先の正当性を確認した後に前記各認証先と連携して前記第２の鍵データに対応付けられた第２の処理を行う。
【０００８】
好ましくは、前記鍵管理手段は、前記第２の認証に関連付けられた第３の鍵データを保持し、前記鍵生成手段は、前記各認証先から受けた固有データと前記鍵管理手段が保持する前記第３の鍵データとを基に、前記第２の鍵データを生成する。
また好ましくは、前記鍵管理手段は、前記各認証先との間で行われる処理の識別データを、前記第３の鍵データと対応付けて保持し、前記鍵管理手段は、前記処理の前記識別データに対応付けられた前記第３の鍵データを前記鍵生成手段に提供する。
【０００９】
好ましくは、前記認証手段は、前記各認証先が保持するファイルデータに対応した処理に関する権限の有無を、前記鍵生成手段が生成した前記第２の鍵データを基に前記各認証先との間で認証する。
【００１０】
好ましくは、前記各認証先が、所定の階層構造を有するフォルダ内に前記ファイルデータを保持している場合に、前記認証手段は、前記各認証先の前記フォルダおよび前記ファイルデータの少なくとも一方に関するアクセス権限の有無を、前記鍵生成手段が生成した前記鍵データを基に前記各認証先との間で認証する。
【００１１】
また本発明によれば、複数の認証先と、鍵生成手段と、鍵管理手段と、認証手段とを有し、前記複数の認証先で共用される第１の鍵データと前記複数の認証先それぞれに固有の第２の鍵データを用いて各認証先と前記認証手段との間で認証を行う、データ処理装置におけるデータ処理方法であって、
前記鍵生成手段が、前記複数の認証先の各々から受けた当該各認証先に固有の固有データを基に、各認証先でアクセスする記憶領域を識別するデータに基づいて決定される所定の複数の鍵生成アルゴリズムのうち１つの鍵生成アルゴリズムを用いて、当該各認証先に固有の第２の鍵データを生成する、第２の鍵データ生成工程と、
前記鍵管理手段が、前記複数の認証先で共用される前記第１の鍵データを保持し、前記複数の認証先で共用される前記第１の鍵データを用いた認証を行うこと、並びに前記複数の認証先それぞれに固有の前記第２の鍵データを用いた認証を行うことを示す鍵特性データを基に前記鍵生成手段に前記第２の鍵データを生成させるか否かを決定する、第２の鍵データ生成決定工程と、
前記認証手段が、前記鍵生成手段において前記第２の鍵データを生成させない場合は、前記鍵管理手段が保持する前記第１の鍵データを用いて前記各認証先との間で第１の認証を行う、第１の認証工程と、
前記認証手段が、前記鍵生成手段に前記所定の複数の鍵生成アルゴリズムのうちの１つの鍵生成アルゴリズムを用いて各認証先に固有の前記第２の鍵データを生成させる場合は、前記第１の鍵データを用いて前記各認証先との間で前記第１の認証を行うことなしに前記鍵生成手段が生成した第２の前記鍵データを用いて前記各認証先との間で第２の認証を行う、第２の認証工程と
を有し、
前記第２の鍵データ生成工程において、前記鍵生成手段が、前記第２の認証の後に行われる複数の処理内容のそれぞれに対応して規定された複数の鍵生成アルゴリズムのうち指定された処理内容に対応した１つの鍵生成アルゴリズムを選択し、当該選択した鍵生成アルゴリズムを基に、各認証先に固有の前記第２の鍵データを生成する、
ことを特徴とする、データ処理方法が提供される。
【００１２】
【発明の実施の形態】
以下、本発明の実施形態に係わるカードシステムについて説明する。
図１は、本実施形態のカードシステム１の構成図である。
図１に示すように、カードシステム１は、例えば、Ｒ／Ｗ(Reader/Writer) １１を介してＩＣ(Integrated Circuit)カード１０のＩＣ１５とＳＡＭ(Secure Application Module) １２とが認証を行った後に、ＩＣ１５とＳＡＭ１２とが連携して所定のサービスに関する処理を行う。
ここで、ＳＡＭ１２が本発明のデータ処理装置に対応し、ＩＣカード１０のＩＣ１５が本発明の認証先に対応している。
また、管理装置１３は、ＳＡＭ１２とＩＣカード１０のＩＣ１５の間の相互認証に用いられる鍵データ等を格納した鍵パッケージデータＫＰをＳＡＭ１２に登録する。
また、ＳＡＭ１２の管理者、例えば、ＩＣカード１０を利用した所定のサービスの提供者は、複数のユーザの各々にＩＣカード１０を発行する。
【００１３】
ＩＣカード１０のＩＣ１５は、後述するように、ＳＡＭ１２を利用してＩＣ１５のユーザが受ける種々のサービスに関するデータおよびプログラムのファイルデータを記憶しており、当該ファイルデータを用いたサービスに利用権限が設定されている。具体的には、ＩＣ１５とＳＡＭ１２とが指定されたサービスに対応付けられた鍵データを基に相互認証を行い、お互いの正当性を確認したことを条件に、ＩＣ１５とＳＡＭ１２とが連携して上記サービスに係わる処理を行う。
本実施形態では、上記複数のユーザの各々に発行されたＩＣカード１０には、上記認証に用いられる鍵データの一部として、個々のＩＣカード１０に固有の鍵データ（本発明の鍵データまたは個別鍵データ）が割り当てられている。
そして、ＳＡＭ１２は、ＩＣカード１０のＩＣ１５から当該ＩＣカード１０の固有データ、例えば、製造時にＩＣカード１０に固有に割り当てられたシリアル番号などのＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭを入力し、この識別データＩＤＭを基に所定のアルゴリズムで認証に用いる上記鍵データ（個別鍵データ）を生成する。
【００１４】
以下、図１に示す各構成要素について説明する。
〔ＩＣ１５〕
図２は、図１に示すＩＣカード１０に内蔵されたＩＣ１５の構成図である。
図２に示すように、ＩＣ１５は、例えば、インタフェース２１、メモリ２２およびＣＰＵ２３を有し、これらが内部バス２０を介して接続されている。
インタフェース２１は、Ｒ／Ｗ１１を介してＳＡＭ１２との間でデータの授受を行う。
メモリ２２は、ＳＡＭ１２を利用してＩＣ１５（ＩＣカード１０）のユーザが受ける種々のサービスに関する処理に用いられるデータおよびプログラムのファイルデータを記憶している。
また、メモリ２２は、上記サービスに関する処理を行う前にＳＡＭ１２との間の認証に用いられる種々の鍵データを記憶している。
また、メモリ２２は、個々のＩＣカード１０に固有の識別データＩＤＭを記憶している。
【００１５】
なお、ＳＡＭ１２は、例えば、同じ機種のＳＡＭ１２に共通して割り当てられたシステムコードに対応付けられた鍵データを基にＩＣカード１０内のＩＣ１５を介してＩＣカード１０と相互認証を行い、当該相互認証により互いの正当性が認められたことを条件に、当該認証されたＩＣカード１０内のＩＣ１５に対してのアクセスが許可される。
さらに、ＩＣ１５内のメモリ２２内で種々のサービスのファイルデータは、それぞれ階層構造を有するフォルダであるエリア内に格納されている。
ＳＡＭ１２は、ＩＣ１５内のメモリ２２内のエリアのエリアコードに対応付けられた鍵データを基にＩＣカード１０内のＩＣ１５を介してＩＣカード１０と相互認証を行い、当該相互認証により互いの正当性が認められたことを条件に、当該認証されたＩＣカード１０内のＩＣ１５のメモリ２２の当該エリアに対してのアクセスが許可される。
さらに、ＳＡＭ１２は、認証されたＩＣカード１０内のＩＣ１５のメモリ２２のエリア内に記憶されたファイルデータのサービスコードに対応付けられた鍵データを基にＩＣカード１０内のＩＣ１５を介してＩＣカード１０と相互認証を行い、当該相互認証により互いの正当性が認められたことを条件に、当該ＩＣ１５のメモリ２２のエリア内に記憶された当該ファイルデータに対してのアクセスが許可される。
【００１６】
本実施形態では、図３に示すように、ＩＣカード１０のＩＣ１５に関して上述したように規定された鍵データの種類には、固定鍵データと個別鍵データとが規定されている。
固定鍵データは、例えば、複数のＩＣカード１０の複数のＩＣ１５の間で、ファイルシステム上の位置が同一であれば、その値が同じである鍵データである。すなわち、固定鍵データは、複数のＩＣカード１０の複数のＩＣ１５で共用される鍵データである。
個別鍵データは、複数のＩＣカード１０の複数のＩＣ１５の間で、ファイルシステム上の位置が同一であっても、その値が異なる鍵データである。すなわち、個別鍵データは、複数のＩＣカード１０の複数のＩＣ１５の各々で固有の鍵データである。
なお、ＩＣカード１０のＩＣ１５は、上記鍵データが固定鍵データおよび個別鍵データのいずれであるかを特定することなく処理を行う。
【００１７】
各ＩＣカード１０内の各ＩＣ１５内のＣＰＵ２３は、ＩＣ１５内のメモリ２２から読み出したプログラム、並びに鍵データを基に、インタフェース２１およびＲ／Ｗ１１を介して、ＳＡＭ１２とデータの授受を行ってＳＡＭ１２と相互認証を行う。
また、各ＩＣ１５内のＣＰＵ２３は、上記相互認証で互いの正当性を確認すると、ＳＡＭ１２と連携して、相互認証で用いた鍵データに対応付けられたサービスに関する処理を実行する。
また、各ＩＣカード１０内の各ＩＣ１５内のＣＰＵ２３は、例えば、ＩＣカード１０の発行時に、所定の権限が認証された管理者の操作に応じて、インタフェース２１を介して、管理装置１３によってＳＡＭ１２に登録された鍵パッケージデータＫＰをＳＡＭ１２内において暗号化した鍵パッケージデータを受信して、当該受信した暗号化された鍵パッケージデータを復号し、当該復号した鍵パッケージデータ内の上記鍵データをメモリ２２に書き込む。
【００１８】
〔ＳＡＭ１２〕
図４は、図１に示すＳＡＭ１２の機能ブロック図である。
図４に示すように、ＳＡＭ１２は、例えば、インタフェース３１、カード処理部３２、鍵管理部３３および鍵生成部３４を有し、これらが内部バス３０を介して接続されている。
ここで、カード処理部３２が本発明の認証手段に対応し、鍵管理部３３が本発明の鍵管理手段に対応し、鍵生成部３４が本発明の鍵生成手段に対応している。
図４に示すカード処理部３２、鍵管理部３３および鍵生成部３４の全てあるいは一部は、回路などのハードウェアで実現してもよいし、プログラム（本発明のプログラム）をＣＰＵ（本発明のデータ処理装置）で実行して実現してもよい。
【００１９】
インタフェース３１は、図１に示すＲ／Ｗ１１を介してＩＣカード１０内のＩＣ１５のインタフェース２１との間でデータ授受を行う。
鍵管理部３３は、後述するＩＣカード１０との相互認証等に用いる鍵データＫを管理するための鍵管理データＫＭＤを保持している。
カード処理部３２は、鍵管理部３３から入力した鍵データＫ（鍵管理データＫＭＤ）を基に、インタフェース３１を介してＩＣカード１０のＩＣ１５と相互認証を行い、当該相互認証により互いの正当性を確認すると、指定されたサービスに関する処理をＩＣ１５と連携して行う。カード処理部３２は、アプリケーションプログラムを実行することで種々の機能を実現する。
カード処理部３２は、鍵管理部３３から入力した鍵データを基にＩＣカード１０のＩＣ１５との間で相互認証を行う。
【００２０】
鍵管理部３３は、上記相互認証等に用いる鍵データを管理するための鍵管理データＫＭＤを保持している。
鍵管理データＫＭＤは、図５に示すように、サービス等を識別する識別データＳＩＤと、鍵データＫと、鍵特性データＫＰＤとを対応付けて示している。
サービス等を識別する識別データＳＩＤは、ＳＡＭ１２がＩＣカード１０のＩＣ１５と連携して行うサービス（ファイルデータ）および当該サービスに伴ってＩＣカード１０のＩＣ１５にアクセスする記憶領域（フォルダ）等を識別するデータである。サービス等を識別する識別データＳＩＤは、例えば、ＩＣカード１０のＩＣ１５から入力したシステムコード、エリアコードあるいはサービスコードである。
鍵データＫは、上記サービスに先立って行うＩＣカード１０のＩＣ１５との間の相互認証に用いる鍵データである。
鍵特性データＫＰＤは、鍵データＫが前述した固定鍵データまたは個別鍵データの何れであるかを示すデータである。
【００２１】
鍵管理部３３は、鍵管理データＫＭＤの鍵特性データＫＰＤを基に、カード処理部３２からの鍵要求ＫＲＥＱ内のサービス等を識別するため識別データＳＩＤが固定鍵データに対応付けられている場合には、鍵管理データＫＭＤから当該識別データＳＩＤに対応する鍵データ（固定鍵データ）Ｋを読み出してカード処理部３２に出力する。
一方、鍵管理部３３は、鍵管理データＫＭＤの鍵特性データＫＰＤを基に、カード処理部３２からの鍵要求ＫＲＥＱ内のサービス等を識別する識別データＳＩＤが個別鍵データに対応付けられている場合には、カード処理部３２にＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭの読み出しを要求し（図５中の要求ＩＤＭ＿ＲＥＱ）、それに応じて入力した当該識別データＩＤＭと、サービス等を識別する識別データＳＩＤと、鍵管理データＫＭＤから取り出した当該識別データＳＩＤに対応する鍵データＫ（図５中の鍵データＫＯ）とを鍵生成部３４に出力する。
【００２２】
鍵管理部３３への鍵管理データＫＭＤの設定は、例えば、以下のように行われる。
すなわち、図１に示す管理装置１３が、図６に示すように、鍵管理データＫＭＤを設定用マスター鍵データＫＰＭで暗号化した鍵パッケージデータＫＰを生成し、これをＳＡＭ１２に出力する。
ＳＡＭ１２は、インタフェース３１を介して入力した鍵パッケージデータＫＰを、図４に示す鍵管理部３３あるいは図示しない復号部において、設定用マスター鍵データＫＰＭを用いて復号して、鍵管理データＫＭＤを生成し（管理装置１３において暗号化した鍵管理データＫＭＤを復号し）、これを保持する。
ここで、鍵管理部３３への鍵管理データＫＭＤの設定をＳＡＭ１２を用いたサービスを提供する事業者が行うようにすることで、当該事業者が鍵管理をセキュアな状態で、しかも高い自由度で行うことができる。
なお、鍵管理データＫＭＤ内に格納された個別鍵の生成原となる鍵データＫＯは、個別鍵データＫＩそのものではないので、鍵管理データＫＭＤの秘匿性が失われた場合でも、個別鍵データＫＩ自体の秘匿性は失われない。
【００２３】
鍵生成部３４は、マスター鍵データＫＭと、鍵管理部３３から入力したＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭと、カード処理部３２からの鍵要求ＫＲＥＱ内のサービス等を識別する識別データＳＩＤと、鍵管理データＫＭＤ内に格納された鍵データＫ（ＫＯ）とを基に、個別鍵生成プログラムＫＰＲＧを実行して鍵データ（個別鍵データ）ＫＩを生成し、これを鍵管理部３３に出力する。
鍵管理部３３は、鍵生成部３４から入力した鍵データ（個別鍵データ）ＫＩをカード処理部３２に出力する。
鍵生成部３４は、例えば、図７に示す手順で鍵データ（個別鍵データ）ＫＩを生成する。
図７に示す各手順は、個別鍵生成プログラムＫＰＲＧに記述されている。
以下、図７に示す各ステップを説明する。
ステップＳＴ１１：
鍵生成部３４は、鍵管理部３３から、鍵管理部３３から入力したＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭと、カード処理部３２からの鍵要求ＫＲＥＱ内のサービス等を識別する識別データＳＩＤと、鍵管理データＫＭＤ内に格納された鍵データＫ（ＫＯ）とを入力する。
ステップＳＴ１２：
鍵生成部３４は、サービス等を識別する識別データＳＩＤと、ＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭと、マスター鍵データＫＭとを加算してデータＸを生成する。
ステップＳＴ１３：
鍵生成部３４は、鍵データＫ（ＫＯ）を、データＸの値分だけ右をローテートシフトして個別鍵データＫＩを生成する。
ステップＳＴ１４：
鍵生成部３４は、ステップＳＴ１３で生成した個別鍵データＫＩを鍵管理部３３に出力する。
【００２４】
なお、鍵生成部３４が鍵データ（個別鍵データ）ＫＩの生成に用いる個別鍵生成プログラムＫＰＲＧとして、例えば、ＩＣカード１０のＩＣ１５との間の処理内容毎、例えば処理対象のファイルシステム上での位置毎、例えばエリアコード毎に異なるアルゴリズムのプログラムを用意し、指定された鍵要求ＫＲＥＱ内のサービス等を識別する識別データＳＩＤに対応するプログラムを選択して実行してもよい。
また、鍵生成部３４は、マスター鍵データＫＭを用いずに個別鍵データＫＩを生成してもよい。
また、個別鍵データの図７に示す生成手順は一例であり、本発明はこれに限定されるものではない。
【００２５】
このように、鍵生成部３４では、マスター鍵データＫＭの他に、鍵管理部３３から入力したＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭと、鍵要求ＫＲＥＱ内のサービス等を識別する識別データＳＩＤと、鍵管理データＫＭＤ内に格納された鍵データＫ（ＫＯ）とを用いて個別鍵データＫＩを生成することで、これらのデータに鍵生成に関してマスター鍵データと同等の役割を持たせることができる。そのため、鍵管理データＫＭＤの設定に関する権限を有する事業者等が認証に用いる鍵データに関する設定を自由に変更させることができる。
また、上述したように、ファイルシステム上での位置等を基に、個別鍵生成プログラムＫＰＲＧが異なるアルゴリズムを基に個別鍵データを生成することで、よりセキュリティを高めることができる。すなわち、一部のエリア・サービス用のロジックが漏洩した場合でも、他のエリア・サービスのセキュリティを保つことができる。
【００２６】
以下、図１に示すカードシステム１の動作例を説明する。
〔第１の動作例〕
当該動作例では、ＳＡＭ１２に鍵管理データＫＭＤを設定（登録）する場合を説明する。
図８は、当該動作例を説明するためのフローチャートである。
ステップＳＴ２１：
図１に示す管理装置１３が、図６に示すように、鍵管理データＫＭＤを設定用マスター鍵データＫＰＭで暗号化した鍵パッケージデータＫＰを生成し、これをＳＡＭ１２に出力する。
ステップＳＴ２２：
ＳＡＭ１２は、インタフェース３１を介して入力した鍵パッケージデータＫＰを、図４に示す鍵管理部３３あるいは図示しない復号部において、設定用マスター鍵データＫＰＭを用いて復号して、鍵管理データＫＭＤを生成する（管理装置１３において暗号化した鍵管理データＫＭＤを復号する）。
ステップＳＴ２３：
鍵管理部３３は、ステップＳＴ２２で生成した鍵管理データＫＭＤを保持する。
【００２７】
〔第２の動作例〕
当該動作例では、図５を基にＩＣカード１０ｂのＩＣ１５と、ＳＡＭ１２との間でサービスに関する処理を行う場合の動作例を説明する。
図９および図１０は、当該動作例を説明するためのフローチャートである。
ステップＳＴ３１：
ユーザが図１に示すＲ／Ｗ１１にＩＣカード１０ｂを装着し、例えば、Ｒ／Ｗ１１に設けられた操作部を用いてユーザ自らが希望するサービスを指定する。なお、当該サービスの指定は、ＩＣカード１０ｂのＩＣ１５あるいはＳＡＭ１２が自動的に行ってもよい。
これにより、ＩＣカード１０ｂのＩＣ１５からＳＡＭ１２に、指定されたサービスの識別データＳＩＤと、ＩＣ１５のメモリ２２から読み出されたＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭとがＳＡＭ１２に出力される。
【００２８】
ステップＳＴ３２：
カード処理部３２は、ステップＳＴ３１で入力したサービス等を識別する識別データＳＩＤを含む鍵要求ＫＲＥＱを鍵管理部３３に出力する。
ステップＳＴ３３：
鍵管理部３３は、鍵管理データＫＭＤを参照し、ステップＳＴ２２で入力した鍵要求ＫＲＥＱに含まれるサービス等を識別する識別データＳＩＤに対応付けられた鍵データＫが、個別鍵または固定鍵の何れであるかを特定する。
ステップＳＴ３４：
鍵管理部３３は、鍵データＫがステップＳＴ３３で固定鍵であると特定した場合にステップＳＴ３５に進み、鍵データＫが個別鍵であると特定した場合にステップＳＴ３８に進む。
【００２９】
ステップＳＴ３５：
鍵管理部３３は、鍵管理データＫＭＤを参照して、ステップＳＴ３２で入力した鍵要求ＫＲＥＱに含まれるサービス等を識別する識別データＳＩＤに対応する鍵データ（固定鍵データ）を得る。
ステップＳＴ３６：
鍵管理部３３は、ステップＳＴ３５で得た鍵データ（固定鍵データ）、あるいは後述するステップＳＴ４２で鍵生成部３４から入力した鍵データ（個別鍵データＫＩ）をカード処理部３２に出力する。
【００３０】
ステップＳＴ３７：
カード処理部３２は、ステップＳＴ３６で入力した鍵データを基に、ＩＣカード１０ｂのＩＣ１５との間で相互認証を行い、互いの正当性を確認すると、ステップＳＴ３１で入力したサービス等を識別する識別データＳＩＤに対応するサービス処理をＩＣ１５と連携して行う。
【００３１】
ステップＳＴ３８：
鍵管理部３３は、ステップＳＴ３４で個別鍵であると特定された場合に、カード処理部３２にＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭを要求する要求ＩＤＭ＿ＲＥＱを出力する。
ステップＳＴ３９：
カード処理部３２は、ステップＳＴ３８で入力した要求ＩＤＭ＿ＲＥＱに応じて、ステップＳＴ３１でＩＣカード１０のＩＣ１５から入力したＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭを鍵管理部３３に出力する。
ステップＳＴ４０：
鍵管理部３３は、鍵管理データＫＭＤから鍵要求ＫＲＥＱに含まれるサービス等を識別する識別データＳＩＤに対応する鍵データＫＯを読み出す。
そして、鍵管理部３３は、鍵データＫＯと、ステップＳＴ３９で入力した識別データＩＤＭと、ステップＳＴ３２で入力した鍵要求ＫＲＥＱに含まれる識別データＳＩＤとを鍵生成部３４に出力する。
【００３２】
ステップＳＴ４１：
鍵生成部３４は、図７を用いて説明した手順で、ステップＳＴ３３で入力した鍵データ等を用いて、個別鍵データＫＩを生成する。
ステップＳＴ４２：
鍵生成部３４は、ステップＳＴ４１で入力した個別鍵データＫＩを鍵管理部３３に出力する。
【００３３】
図９および図１０を基に説明した上述したカードシステム１の動作は、例えば、個別鍵データに対応付けられて規定された発券サービスに適用される。
ユーザがＲ／Ｗ１１を操作して発券サービスを指定すると、当該発券サービスに対応した識別データＳＩＤがＳＡＭ１２に出力される。
ＳＡＭ１２では、鍵管理データＫＭＤにおいて当該発券サービスの識別データＳＩＤが例えば個別鍵を示す鍵特性データＫＰＤと対応付けられているので、鍵管理部３３は鍵生成部３４に個別鍵データＫＩを生成させる。
そして、カード処理部３２は、当該生成された個別鍵データＫＩを基にＩＣカード１０のＩＣ１５との間で相互認証を行う。
そして、カード処理部３２は、相互認証でＩＣ１５の正当性を確認すると、必要に応じて鍵管理データＫＭＤ内の固定鍵データを用いて発券データを暗号化してＩＣ１５に出力する。
【００３４】
以上説明したように、カードシステム１では、ＳＡＭ１２は、ＩＣカード１０のＩＣ１５との間でのサービス処理に先立って、ＩＣ１５から受けたＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭを基に、当該ＩＣ１５に固有の個別鍵データＫＩを生成し、当該生成した個別鍵データＫＩを基にＩＣ１５との間で相互認証を行う。
そのため、複数のＩＣカード１０のうち一部のＩＣカード１０の個別鍵データＫＩの秘匿性が失われた場合でも、他のＩＣカード１０の個別鍵データの秘匿性は失われず、セキュリティを高めることができる。
【００３５】
また、カードシステム１によれば、サービス等を識別する識別データＳＩＤをＩＣカード１０のＩＣ１５からＳＡＭ１２に出力し、ＳＡＭ１２において識別データＳＩＤを基に個別鍵生成のアルゴリズムを切り換えるため、一部のアルゴリズムの秘匿性が失われた場合での、その他のアルゴリズムを基にした個別鍵データの秘匿性を保つことができる。
【００３６】
また、カードシステム１によれば、サービス等を識別する識別データＳＩＤをＩＣカード１０のＩＣ１５からＳＡＭ１２に出力し、ＳＡＭ１２において識別データＳＩＤを基に認証に用いる鍵データが個別鍵および固定鍵のいずれであるかを判断するため、ＩＣ１５では、認証に用いる鍵データが個別鍵および固定鍵のいずれであるかを意識せずに処理を行うことができる。
【００３７】
また、カードシステム１によれば、個別鍵および固定鍵に対応した処理の切り換えを鍵管理部３３が行うため、カード処理部３２は、認証に用いる鍵データが個別鍵および固定鍵のいずれであるかを特定せずに処理を行うことができる。そのため、カード処理部３２の開発に伴う負担を軽減できると共に、個別鍵を用いた認証に関する情報がカード処理部３２の開発者に漏れることを防止できる。
【００３８】
また、カードシステム１によれば、鍵管理データＫＭＤの鍵特性データＫＰＤにおいて、全ての鍵データについてその特性を固定鍵とすることで、固定鍵のみを用いるシステムと互換性をとることができる。
【００３９】
また、カードシステム１によれば、カード処理部３２の動作とは独立して、鍵管理部３３において鍵管理データＫＭＤを基に個別鍵データに係わる処理を行うため、個別鍵データに関する情報を、カード処理部３２のアプリケーションプログラムの開発者に知られないようにすることができる。すなわち、個別鍵データに関する情報を、鍵管理データＫＭＤ、並びに個別鍵生成プログラムＫＰＲＧの設定・開発者のみに閉じることができ、高いセキュリティを実現できる。
【００４０】
カードシステム１によれば、ＳＡＭ１２は、上述したようにＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭを基に個別鍵データを生成することで、全てのＩＣカード１０の個別鍵データを記憶している必要がないため、小規模なメモリを用いて構成できる。
【００４１】
本発明は上述した実施形態には限定されない。
例えば、本発明は、図１１に示すように、カード処理部３２ａおよび鍵生成部３４ａを用い、鍵管理部３３を用いないでＳＡＭ１２ａを構成してもよい。
この場合には、カード処理部３２ａは、ＩＣカード１０ｂのＩＣ１５からＩＣカード１０（ＩＣ１５）に固有の識別データＩＤＭ，サービス等を識別する識別データＳＩＤを入力し、これを鍵生成部３４ａに出力する。
鍵生成部３４ａは、カード処理部３２ａから入力した識別データＩＤＭ，ＳＩＤを用いて個別鍵データＫＩを生成し、これをカード処理部３２ａに出力する。
そして、カード処理部３２ａは、鍵生成部３４ａから入力した個別鍵データＫＩを基にＩＣ１５との間で相互認証を行う。
【００４２】
また、上述した実施形態では、本発明の認証先としてＩＣカード１０のＩＣ１５を例示したが、認証先はコンピュータなどであってもよい。
【００４３】
【発明の効果】
本発明によれば、複数の認証先との間で認証を行う場合に、一部の認証先が保持する鍵データの秘匿性が失われた場合でも、それ以外の認証先で認証のセキュリティを保つことができるデータ処理装置、その方法およびそのプログラムを提供することができる。
【図面の簡単な説明】
【図１】  図１は、本発明の実施形態のカードシステムの構成図である。
【図２】  図２は、図１に示すＩＣカードに内蔵されたＩＣの構成図である。
【図３】  図３は、図１に示すＩＣ内に規定された各種の鍵データを説明するための図である。
【図４】  図４は、図１に示すＳＡＭの機能ブロック図である。
【図５】  図５は、図４に示すＳＡＭの処理を説明するための図である。
【図６】  図６は、図５に示すＳＡＭへの鍵管理データの登録を説明するための図である。
【図７】  図７は、図５に示す鍵生成部における個別鍵データの生成手順を説明するためのフローチャートである。
【図８】  図８は、図５に示すＳＡＭへの鍵管理データの登録の手順を説明するためのフローチャートである。
【図９】  図９は、図５に示すＩＣカードのＩＣと、ＳＡＭとの間でサービスに関する処理を行う場合の動作例を説明するためのフローチャートである。
【図１０】  図１０は、図５に示すＩＣカードのＩＣと、ＳＡＭとの間でサービスに関する処理を行う場合の動作例を説明するための図９の続きのフローチャートである。
【図１１】  図１１は、本発明のカードシステムのＳＡＭの変形例を説明するための図である。
【符号の説明】
１…カードシステム、１０…ＩＣカード、１１…Ｒ／Ｗ、１２…ＳＡＭ、１３円管理装置、１５…ＩＣ、２０…内部バス、２１…インタフェース、２２…メモリ、２３…ＣＰＵ、３０…内部バス、３１…インタフェース、３２…カード処理部、３３…鍵管理部
【図１】
0004536330.tif 000002
【図２】
0004536330.tif 000003
【図３】
0004536330.tif 000004
【図４】
0004536330.tif 000005
【図５】
0004536330.tif 000006
【図６】
0004536330.tif 000007
【図７】
0004536330.tif 000008
【図８】
0004536330.tif 000009
【図９】
0004536330.tif 000010
【図１０】
0004536330.tif 000011
【図１１】
0004536330.tif 000012