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