(57)【要約】【課題】以前の発行の段階で携帯記憶媒体と情報処理装置との間で使用された暗号鍵を保有していなくとも、携帯記憶媒体が記憶する暗号鍵の正当性を正しく判定することのできる情報処理システム及び情報処理方法を提供する。【解決手段】相互に通信を行う携帯記憶媒体と情報処理装置とを備える情報処理システムとして、情報処理装置に備えられ、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得部と、情報処理装置または携帯記憶媒体に備えられ、携帯記憶媒体が管理する検証データであって携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定部とを備えて構成する。【選択図】図４
2015109554.tif 000002
【特許請求の範囲】
【請求項１】
携帯記憶媒体と、前記携帯記憶媒体と通信を行う情報処理装置とを備える情報処理システムであって、
前記情報処理装置に備えられ、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得部と、
前記情報処理装置または前記携帯記憶媒体に備えられ、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定部と
を備える情報処理システム。
【請求項２】
前記外部検証データ取得部は、
前記外部検証データを記憶する外部の検証データ管理装置との通信を介して、前記検証データ管理装置から前記外部検証データを取得する
請求項１に記載の情報処理システム。
【請求項３】
前記正否判定部は、
前記情報処理装置に備えられ、前記携帯記憶媒体から取得した内部検証データと、前記外部検証データ取得部が取得した前記外部検証データとを比較した結果に基づいて、暗号鍵が正当であるか否かを判定する
請求項１または２に記載の情報処理システム。
【請求項４】
前記正否判定部は、
前記携帯記憶媒体に備えられ、前記携帯記憶媒体が管理する内部検証データと、前記外部検証データ取得部が取得して前記情報処理装置から受信した前記外部検証データとを比較した結果に基づいて、暗号鍵が正当であるか否かを判定する
請求項１または２に記載の情報処理システム。
【請求項５】
前記外部検証データ取得部は、
複数の暗号鍵ごとに対応する複数の外部検証データを取得し、
前記正否判定部は、
前記内部検証データと前記複数の外部検証データとを比較した結果として、前記外部検証データ取得部が取得した複数の外部検証データのうち前記内部検証データと一致する外部検証データが有る場合には、前記携帯記憶媒体が記憶する暗号鍵が正当であると判定するとともに、正当であると判定した前記暗号鍵を特定する情報を出力し、前記外部検証データ取得部が取得した複数の外部検証データのうち前記内部検証データと一致する外部検証データが無い場合には、前記携帯記憶媒体が記憶する暗号鍵が正当でないと判定する
請求項１から４のいずれか一項に記載の情報処理システム。
【請求項６】
携帯記憶媒体と通信を実行する携帯記憶媒体対応通信部と、
１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得部と、
前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定部と
を備える情報処理装置。
【請求項７】
情報処理装置と通信を実行する通信部と、
１つの暗号鍵と一意に対応する検証データとして、自己が記憶する暗号鍵と一意に対応し自己が管理する内部検証データと、前記情報処理装置が外部から取得し前記情報処理装置から受信した検証データである外部検証データとを比較した結果に基づいて、自己が記憶する暗号鍵が正当であるか否かを判定する正否判定部と
を備える携帯記憶媒体。
【請求項８】
携帯記憶媒体と、前記携帯記憶媒体と通信を行う情報処理装置とを備える情報処理システムにおける情報処理方法であって、
前記情報処理装置において、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得ステップと、
前記情報処理装置または前記携帯記憶媒体において、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得ステップが取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップと
を備える情報処理方法。
【請求項９】
携帯記憶媒体と通信を実行する携帯記憶媒体対応通信ステップと、
１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得ステップと、
前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップと
を備える情報処理方法。
【請求項１０】
情報処理装置と通信を実行する通信ステップと、
１つの暗号鍵と一意に対応する検証データとして、自己が記憶する暗号鍵と一意に対応し自己が管理する内部検証データと、前記情報処理装置が外部から取得し前記情報処理装置から受信した検証データである外部検証データとを比較した結果に基づいて、自己が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップと
を備える情報処理方法。
【請求項１１】
コンピュータに、
携帯記憶媒体と通信を実行する携帯記憶媒体対応通信ステップと、
１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得ステップと、
前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップと
を実行させるためのプログラム。
【請求項１２】
コンピュータに、
情報処理装置と通信を実行する通信ステップと、
１つの暗号鍵と一意に対応する検証データとして、自己が記憶する暗号鍵と一意に対応し自己が管理する内部検証データと、前記情報処理装置が外部から取得し前記情報処理装置から受信した検証データである外部検証データとを比較した結果に基づいて、自己が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、携帯記憶媒体、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
クレジットカード、キャッシュカード、プリペイドカードなどを始めとする各種用途のＩＣ（Integrated Circuit）カードが普及している。
ＩＣカードの発行にあたっては、例えば、複数段階に分けて発行が行われる（例えば、特許文献１参照）。
一例として、一次発行と二次発行との２段階による発行が行われることによってＩＣカードの運用が可能となるような場合、一次発行では、記憶領域の初期化や用途に応じたプログラムなどをはじめとする複数のカードに対して共通に記憶させるべき情報を記憶させる処理が行われる。また、二次発行では、例えばカード番号やユーザの個人情報などのようにカードごとに固有な情報を記憶させる処理が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平２−１２５８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、上記のように段階的にＩＣカードの発行処理が行われる場合においては、セキュリティの保全などを目的として、発行処理を行う工場などの場所を発行処理の段階ごとに異ならせるということが行われる。
また、発行処理にあたっては、ＩＣカードとＩＣカードの発行処理を実行する情報処理装置との間で共通鍵暗号方式に対応する共通鍵としての暗号鍵を使用する場合がある。このような場合において、暗号鍵は、セキュリティの保全を目的として発行処理の段階ごとに異なるものが使用される。
このように発行処理ごとに異なる暗号鍵を使用する場合において、１つの発行処理段階で使用される暗号鍵は、外部に決して漏洩することがないように、対応の発行処理を行う工場にて厳重に管理される。従って、１つの工場にて発行処理のために使用された暗号鍵は、たとえ同じＩＣカードについて発行を行う場合であっても、異なる段階の発行処理を行う工場にて所有されることはない。
【０００５】
例えば、或る段階においてＩＣカードの発行処理を行うにあたり、前の発行処理段階にて使用されてＩＣカードに記憶されている暗号鍵が、今回の発行処理の対象であるべきＩＣカードに記憶されているべき正しいものであるかどうかについて確認したい場合がある。
上記のようにＩＣカードに記憶された暗号鍵の正当性を判定するには、例えばＩＣカードに記憶されているのと同じ暗号鍵を入手してＩＣカードに対する認証処理を実行すればよい。
【０００６】
しかし、前述のように、発行処理にて使用される暗号鍵は、発行処理が行われた工場から漏洩しないように管理されるので、他の工場が入手することができない。従って、上記のように前の発行処理段階にて使用された暗号鍵の正当性を以降の段階の発行処理にあたって判定することはできない。
ＩＣカードの発行処理自体は、前の発行処理段階にて使用された暗号鍵が正当であるか否かにかかわらず行うことができてしまう場合がある。このために、前の発行処理段階において使用された暗号鍵の正当性を判定できない場合には、本来とは異なる種類のＩＣカードに発行処理を行ってしまうような不都合が生じる可能性がある。
【０００７】
上記事情に鑑み、本発明は、以前の発行の段階で携帯記憶媒体と情報処理装置との間で使用された暗号鍵を保有していなくとも、携帯記憶媒体が記憶する暗号鍵の正当性を正しく判定できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の一態様は、携帯記憶媒体と、前記携帯記憶媒体と通信を行う情報処理装置とを備える情報処理システムであって、前記情報処理装置に備えられ、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得部と、前記情報処理装置または前記携帯記憶媒体に備えられ、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定部とを備える情報処理システムである。
【０００９】
本発明は、上記の情報処理システムであって、前記外部検証データ取得部は、前記外部検証データを記憶する外部の検証データ管理装置との通信を介して、前記検証データ管理装置から前記外部検証データを取得してもよい。
【００１０】
本発明は、上記の情報処理システムであって、前記正否判定部は、前記情報処理装置に備えられ、前記携帯記憶媒体から取得した内部検証データと、前記外部検証データ取得部が取得した前記外部検証データとを比較した結果に基づいて、暗号鍵が正当であるか否かを判定してもよい。
【００１１】
本発明は、上記の情報処理システムであって、前記正否判定部は、前記携帯記憶媒体に備えられ、前記携帯記憶媒体が管理する内部検証データと、前記外部検証データ取得部が取得して前記情報処理装置から受信した前記外部検証データとを比較した結果に基づいて、暗号鍵が正当であるか否かを判定してもよい。
【００１２】
本発明は、上記の情報処理システムであって、前記外部検証データ取得部は、複数の暗号鍵ごとに対応する複数の外部検証データを取得し、前記正否判定部は、前記内部検証データと前記複数の外部検証データとを比較した結果として、前記外部検証データ取得部が取得した複数の外部検証データのうち前記内部検証データと一致する外部検証データが有る場合には、前記携帯記憶媒体が記憶する暗号鍵が正当であると判定するとともに、正当であると判定した前記暗号鍵を特定する情報を出力し、前記外部検証データ取得部が取得した複数の外部検証データのうち前記内部検証データと一致する外部検証データが無い場合には、前記携帯記憶媒体が記憶する暗号鍵が正当でないと判定してもよい。
【００１３】
本発明は、携帯記憶媒体と通信を実行する携帯記憶媒体対応通信部と、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得部と、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定部とを備える情報処理装置である。
【００１４】
本発明は、情報処理装置と通信を実行する通信部と、１つの暗号鍵と一意に対応する検証データとして、自己が記憶する暗号鍵と一意に対応し自己が管理する内部検証データと、前記情報処理装置が外部から取得し前記情報処理装置から受信した検証データである外部検証データとを比較した結果に基づいて、自己が記憶する暗号鍵が正当であるか否かを判定する正否判定部とを備える携帯記憶媒体である。
【００１５】
本発明は、携帯記憶媒体と、前記携帯記憶媒体と通信を行う情報処理装置とを備える情報処理システムにおける情報処理方法であって、前記情報処理装置において、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得ステップと、前記情報処理装置または前記携帯記憶媒体において、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得ステップが取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップとを備える情報処理方法である。
【００１６】
本発明は、携帯記憶媒体と通信を実行する携帯記憶媒体対応通信ステップと、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得ステップと、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップとを備える情報処理方法である。
【００１７】
本発明は、情報処理装置と通信を実行する通信ステップと、１つの暗号鍵と一意に対応する検証データとして、自己が記憶する暗号鍵と一意に対応し自己が管理する内部検証データと、前記情報処理装置が外部から取得し前記情報処理装置から受信した検証データである外部検証データとを比較した結果に基づいて、自己が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップとを備える情報処理方法である。
【００１８】
本発明は、コンピュータに、携帯記憶媒体と通信を実行する携帯記憶媒体対応通信ステップと、１つの暗号鍵と一意に対応する検証データとして外部から提供される外部検証データを取得する外部検証データ取得ステップと、前記携帯記憶媒体が管理する前記検証データであって前記携帯記憶媒体が記憶する暗号鍵と一意に対応する内部検証データと、前記外部検証データ取得部が取得した外部検証データとを比較した結果に基づいて、前記携帯記憶媒体が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップとを実行させるためのプログラムである。
【００１９】
本発明は、コンピュータに、コンピュータに、情報処理装置と通信を実行する通信ステップと、１つの暗号鍵と一意に対応する検証データとして、自己が記憶する暗号鍵と一意に対応し自己が管理する内部検証データと、前記情報処理装置が外部から取得し前記情報処理装置から受信した検証データである外部検証データとを比較した結果に基づいて、自己が記憶する暗号鍵が正当であるか否かを判定する正否判定ステップとを実行させるためのプログラムである。
【発明の効果】
【００２０】
以上説明したように、本発明によれば、以前の発行の段階で携帯記憶媒体と情報処理装置との間で使用された暗号鍵を保有していなくとも、携帯記憶媒体が記憶する暗号鍵の正当性を正しく判定することが可能になるという効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態におけるＩＣカードの発行に関する作業の流れを模式的に示す図である。
【図２】一次発行の段階におけるＩＣカード対応情報処理装置とＩＣカードとが外部認証による認証処理を実行する場合の処理手順例を示すフローチャートである。
【図３】一次発行の段階におけるＩＣカード対応情報処理装置とＩＣカードとが内部認証による認証処理を実行する場合の処理手順例を示すフローチャートである。
【図４】第１実施形態におけるＩＣカードとＩＣカード対応情報処理装置との構成例を示す図である。
【図５】第１実施形態におけるＩＣカードとＩＣカード対応情報処理装置が、ＩＣカードに記憶された一次発行鍵の正当性を判定するために実行する処理手順例を示すフローチャートである。
【図６】第２実施形態におけるＩＣカードとＩＣカード対応情報処理装置との構成例を示す図である。
【図７】第２実施形態におけるＩＣカードとＩＣカード対応情報処理装置が、ＩＣカードに記憶された一次発行鍵の正当性を判定するために実行する処理手順例を示すフローチャートである。
【図８】第３実施形態におけるＩＣカードの構成例を示す図である。
【図９】第３実施形態におけるＩＣカードが、ＩＣカードに記憶された一次発行鍵の正当性を判定するために実行する処理手順例を示すフローチャートである。
【図１０】第４実施形態におけるＩＣカードとＩＣカード対応情報処理装置との構成例を示す図である。
【図１１】第４実施形態におけるＩＣカードとＩＣカード対応情報処理装置が、ＩＣカードに記憶された一次発行鍵の正当性を判定するために実行する処理手順例を示すフローチャートである。
【図１２】第５実施形態におけるＩＣカードとＩＣカード対応情報処理装置が、ＩＣカードに記憶された一次発行鍵の正当性を判定するために実行する処理手順例を示すフローチャートである。
【図１３】第５実施形態において外部検証データ管理装置が送信する、複数の外部検証データと外部検証データごとの一次発行鍵特定情報とを含む送信データの構造例を示す図である。
【図１４】第６実施形態におけるＩＣカードとＩＣカード対応情報処理装置が、ＩＣカードに記憶された一次発行鍵の正当性を判定するために実行する処理手順例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
＜第１実施形態＞
［ＩＣカードの発行作業の流れ］
図１は、本実施形態におけるＩＣ（Integrated Circuit）カード１００の発行に関する作業の流れを模式的に示している。ＩＣカードは、集積回路を備え、情報記録や情報処理を外部との通信に応じて実行するカード形式の携帯記憶媒体である。
なお、以降の説明にあたり、本実施形態のＩＣカード１００は、一次発行と、一次発行に続く二次発行との二段階による発行を経て運用可能となるものである場合を例に挙げる。
【００２３】
本実施形態において、一次発行は、第１工場１にて行われ、二次発行は第２工場２にて行われる。このように、一次発行と二次発行は、セキュリティの保全などのために、同じ場所では行われずにそれぞれ異なる場所にて行われる。
【００２４】
ＩＣカード１００に対する一次発行は、第１工場１にて備えられるＩＣカード対応情報処理装置１０がＩＣカード１００と通信を実行することによって行われる。
なお、同図では、第１工場１において１つのＩＣカードのみが示されているが、第１工場１においては、例えば多数のＩＣカード１００に対して一次発行が行われる。
【００２５】
上記のように一次発行を行う際、本実施形態のＩＣカード対応情報処理装置１０とＩＣカード１００は、共通鍵暗号方式による通信を実行する。このために、ＩＣカード対応情報処理装置１０とＩＣカード１００は、それぞれ、共通の暗号鍵である一次発行鍵Ｋを記憶する。ＩＣカード対応情報処理装置１０は、一次発行鍵Ｋを利用した暗号化や復号を伴う通信をＩＣカード１００と実行することによって、ＩＣカード１００を対象とする一次発行のための処理を実行する。
【００２６】
また、第１工場１においては、外部検証データ管理装置２０が備えられる。外部検証データ管理装置２０は外部検証データβを記憶する。外部検証データβは、第２工場２におけるＩＣカード対応情報処理装置２００がＩＣカード１００に記憶されている一次発行鍵Ｋについての正当性を判定するのに利用される。
【００２７】
第１工場１において一次発行が完了したＩＣカード１００は、例えば、第２工場２に運搬される。ここで、第２工場２に運搬されるＩＣカード１００には、一次発行に使用した一次発行鍵Ｋでそのまま記憶されている。
【００２８】
第２工場２においては、第１工場１から運搬されたＩＣカード１００を対象として二次発行を行う。二次発行は、第２工場２に備えられるＩＣカード対応情報処理装置２００がＩＣカード１００と通信を実行することによって行われる。
なお、ＩＣカード対応情報処理装置１０、２００は、それぞれ、リーダライタなどとも呼ばれる。
【００２９】
［一般的な認証処理］
一次発行の段階において、第１工場１におけるＩＣカード対応情報処理装置１０とＩＣカード１００は、互いに記憶する一次発行鍵Ｋを利用して認証処理を実行することができる。認証処理としては外部認証（External Authenticate）と内部認証（Internal Authenticate）とを挙げることができる。
【００３０】
図２のフローチャートは、ＩＣカード対応情報処理装置１０とＩＣカード１００とが外部認証による認証処理を実行する場合の処理手順例を示している。
外部認証にあたり、ＩＣカード対応情報処理装置１０は、乱数要求をＩＣカード１００に送信する（ステップＳ１０１）。
ＩＣカード対応情報処理装置１０は、ステップＳ１０１により送信した乱数要求に応答してＩＣカード１００が送信してきた内部乱数Ｒｉｎを受信する（ステップＳ１０２）。
ＩＣカード対応情報処理装置１０は、ステップＳ１０２により受信した内部乱数Ｒｉｎを、自己が記憶している一次発行鍵Ｋで暗号化して暗号文を生成する（ステップＳ１０３）。
ＩＣカード対応情報処理装置１０は、ステップＳ１０３により生成した暗号文をＩＣカード１００に送信する（ステップＳ１０４）。
【００３１】
ＩＣカード１００は、ステップＳ１０４により送信した暗号文に応答してＩＣカード１００から送信された応答（正常応答またはエラー応答）を受信する（ステップＳ１０５）。ステップＳ１０５にて正常応答が受信されれば認証は成立であり、エラー応答が受信されれば認証は不成立である。
【００３２】
同じ図２において、ＩＣカード１００は、ステップＳ１０１によりＩＣカード対応情報処理装置１０から送信された乱数要求を受信する（ステップＳ２０１）。
ＩＣカード１００は、ステップＳ２０１にて乱数要求を受信するのに応じて乱数を発生させる（ステップＳ２０２）。このようにＩＣカード１００が生成する乱数を、ここでは内部乱数Ｒｉｎと称する。
ＩＣカード１００は、ステップＳ２０２にて生成した内部乱数ＲｉｎをＩＣカード対応情報処理装置１０に対して送信する（ステップＳ２０３）。
【００３３】
次に、ＩＣカード１００は、ステップＳ１０４によりＩＣカード対応情報処理装置１０が送信した暗号文を受信する（ステップＳ２０４）。
ステップＳ２０４にて受信した暗号文は、ＩＣカード対応情報処理装置１０がステップＳ１０３により一次発行鍵Ｋにより暗号化して得られたものである。
そこで、ＩＣカード１００は、ステップＳ２０４にて受信した暗号文を、自己が記憶する一次発行鍵Ｋで復号することにより乱数を復元する。このように復号によって取得される乱数は、ＩＣカード対応情報処理装置１０が生成した暗号文に基づいて得られるものであるため、ここでは外部乱数Ｒｅｘと称する。
【００３４】
ＩＣカード１００は、ステップＳ２０２で生成した内部乱数Ｒｉｎと、ステップＳ２０５により取得した外部乱数Ｒｅｘとを比較する（ステップＳ２０６）。
ＩＣカード１００は、ステップＳ２０６による比較結果として、内部乱数Ｒｉｎと外部乱数Ｒｅｘとが一致したか否かについて判定する（ステップＳ２０７）。
内部乱数Ｒｉｎと外部乱数Ｒｅｘとが一致した場合には（ステップＳ２０７−ＹＥＳ）、ＩＣカード１００とＩＣカード対応情報処理装置１０とは同じ一次発行鍵Ｋを使用していることになる。そこで、この場合ＩＣカード１００は認証が成立したものと判定し、認証成立の判定に応じて、正常であることを示す応答（正常応答）をＩＣカード対応情報処理装置１０に送信する（ステップＳ２０８）。
一方、内部乱数Ｒｉｎと外部乱数Ｒｅｘとが一致しなかった場合（ステップＳ２０７−ＮＯ）、ＩＣカード１００とＩＣカード対応情報処理装置１０とは異なる一次発行鍵を使用していることになる。この場合、ＩＣカード１００は、認証不成立であると判定し、認証不成立の判定に応じて、エラーであることを示す応答（エラー応答）をＩＣカード対応情報処理装置１０に送信する（ステップＳ２０９）。
【００３５】
また、図３のフローチャートは、ＩＣカード対応情報処理装置１０とＩＣカード１００とが外部認証による認証処理を実行する場合の処理手順例を示している。
先ず、ＩＣカード対応情報処理装置１０は、乱数を生成する（ステップＳ３０１）。図３では、このようにＩＣカード対応情報処理装置１０が生成する乱数を外部乱数Ｒｅｘと称する
ＩＣカード対応情報処理装置１０は、ステップＳ３０１にて生成した外部乱数ＲｅｘをＩＣカード１００に送信する（ステップＳ３０２）。
【００３６】
次に、ＩＣカード対応情報処理装置１０は、ステップＳ３０２による外部乱数Ｒｅｘの送信に応答してＩＣカード１００が送信してきた暗号文を受信する（ステップＳ３０３）。
ＩＣカード対応情報処理装置１０は、ステップＳ３０３により受信した暗号文を、自己が記憶する一次発行鍵Ｋで復号して乱数を復元する（ステップＳ３０４）。このようにＩＣカード１００側で生成した暗号文に基づいて得られる乱数をここでは内部乱数Ｒｉｎと称する。
【００３７】
ＩＣカード対応情報処理装置１０は、ステップＳ３０１にて生成した外部乱数Ｒｅｘと、ステップＳ３０４にて取得した内部乱数Ｒｉｎとを比較する（ステップＳ３０５）。
ＩＣカード対応情報処理装置１０は、ステップＳ３０５による比較結果として、内部乱数Ｒｉｎと外部乱数Ｒｅｘとが一致したか否かについて判定する（ステップＳ３０６）。
【００３８】
内部乱数Ｒｉｎと外部乱数Ｒｅｘとが一致した場合には（ステップＳ３０６−ＹＥＳ）、ＩＣカード対応情報処理装置１０とＩＣカード１００とは同じ一次発行鍵Ｋを使用している。そこで、この場合ＩＣカード対応情報処理装置１０は、ＩＣカードが記憶する一次発行鍵Ｋは正当であると判定する（ステップＳ３０７）。即ち、この場合には認証が成立する。
一方、内部乱数Ｒｉｎと外部乱数Ｒｅｘとが一致しなかった場合（ステップＳ３０６−ＮＯ）、ＩＣカード対応情報処理装置１０とＩＣカード１００とは異なる一次発行鍵を使用している。この場合、ＩＣカード対応情報処理装置１０が記憶する一次発行鍵Ｋは不正であると判定する（ステップＳ３０８）。即ち、この場合には認証は不成立となる。
【００３９】
また、同じ図３においてＩＣカード１００は、ステップＳ３０２によりＩＣカード対応情報処理装置１０から送信された外部乱数Ｒｅｘを受信する（ステップＳ４０１）。
次に、ＩＣカード１００は、ステップＳ４０１にて受信した外部乱数Ｒｅｘを、自己が記憶する一次発行鍵Ｋで暗号化して暗号文を生成する（ステップＳ４０２）。ＩＣカード１００は、生成した暗号文をＩＣカード対応情報処理装置１０に送信する（ステップＳ４０３）。
【００４０】
このように、一次発行の段階においては、一次発行のための暗号鍵である一次発行鍵ＫをＩＣカード対応情報処理装置１０とＩＣカード１００とがともに記憶している。このように一次発行鍵Ｋが共有されることで、ＩＣカード対応情報処理装置１０とＩＣカード１００とは適正に認証処理を実行できる。なお、二次発行の段階においても、二次発行に対応した共通鍵暗号方式による暗号鍵をＩＣカード対応情報処理装置１０とＩＣカード１００とが共有することによって、同様に認証処理を実行できる。
【００４１】
例えばセキュリティ保全などのために、一次発行鍵は、ＩＣカードの種類によって異なる。さらには、ＩＣカードの種類が同じであっても時期などに応じてＩＣカードのバージョンが異なれば、一次発行鍵もバージョンに応じて異なるものが使用される。
その一方で、第２工場２には、例えば多様な種類、バージョンのＩＣカード１００が運搬され、在庫として管理される。
このような状況において、第２工場２において、一次発行鍵Ｋ１を使用して一次発行が行われた種類のＩＣカードの二次発行を行うべき場合に、二次発行の対象とされた在庫のＩＣカードが、一次発行鍵Ｋ１により一次発行の行われたもので間違いがないかどうかを確認する必要が生じる場合がある。このような場合には、例えばＩＣカード１００に記憶された一次発行鍵が一次発行鍵Ｋ１であるか否かについて確認すればよい。
【００４２】
しかし、一次発行完了後のＩＣカード１００が第２工場２に運搬された段階では、ＩＣカード１００には一次発行鍵が記憶されているが、第２工場２のＩＣカード対応情報処理装置２００には一次発行鍵は記憶されていない。このため、例えば図２あるいは図３の認証処理よって一次発行鍵の正当性を確認することはできない。
例えば、第１工場１から一次発行鍵を入手し、第２工場２のＩＣカード対応情報処理装置２００に記憶させれば、図２あるいは図３の認証処理よって一次発行鍵の正当性を確認できる。しかし、前述のように、一次発行鍵は、第１工場１から漏洩することがないように、第１工場１内で厳重に管理されている。このために、第２工場２側が一次発行鍵を入手することはできず、従って、第２工場２では、ＩＣカード１００が記憶する一次発行鍵の正当性について一次発行鍵を使用して判定することはできない。
【００４３】
そこで、本実施形態においては、二次発行にあたって一次発行鍵を保有しなくともＩＣカード１００に記憶される一次発行鍵の正当性を正しく判定できるように構成される。以下、この点について説明を行っていく。
【００４４】
［ＩＣカード対応情報処理装置の構成例］
図４は、第２工場２にて二次発行を行う情報処理システムであるＩＣカード対応情報処理装置２００とＩＣカード１００との構成例を示している。先に、同図を参照してＩＣカード対応情報処理装置２００の構成から説明する。
【００４５】
同図に示すＩＣカード対応情報処理装置２００は、ＩＣカード対応通信部２０１、制御部２０２、データインターフェース２０３及び表示部２０４を備える。
ＩＣカード対応通信部２０１は、ＩＣカード１００と通信を実行する。本実施形態において、ＩＣカード対応情報処理装置２００とＩＣカード１００との通信は接触式（有線）であってもよいし非接触式（無線）であってもよい。
また、ＩＣカード対応情報処理装置２００とＩＣカード１００との間の通信プロトコルとしては特に限定されない。一例として、接触式としては、ＩＳＯ７８１６に準拠した通信プロトコルを挙げることができる。また、非接触式としては、ＩＳＯ１４４４３に準拠した通信プロトコルを挙げることができる。
【００４６】
制御部２０２は、ＩＣカード対応情報処理装置２００としての機能を実現するための各種制御を実行する。
データインターフェース２０３は、ＩＣカード対応情報処理装置２００と外部の情報処理装置などとの間で所定のデータインターフェース規格に従って通信を実行する。
表示部２０４は、制御部２０２の制御に従って所定の表示を行う。
【００４７】
同図に示す制御部２０２は、ＩＣカード１００が記憶する一次発行鍵の正当性の判定（検証）に対応して、コマンド送信部２２１、外部検証データ取得部２２２及び正否判定部２２３の各機能部を備える。これらの機能部は、例えば制御部２０２におけるＣＰＵ（Central Processing Unit）がプログラムを実行することによって実現される。
【００４８】
コマンド送信部２２１は、ＩＣカード１００に対して正当性判定コマンドを送信する。第１実施形態における正当性判定コマンドは、ＩＣカード１００が記憶する一次発行鍵の正当性の判定に応じた処理をＩＣカード１００に指示するコマンドである。
【００４９】
外部検証データ取得部２２２は、外部検証データを取得する。外部検証データは、ＩＣカード対応情報処理装置２００の外部から提供される検証データである。検証データは、ＩＣカード１００が記憶する一次発行鍵の正当性の判定のために正否判定部２２３が利用する情報であって、一次発行鍵と一意に対応する。
具体例として、第１実施形態における外部検証データは、例えば、第１工場１にて管理される一次発行鍵Ｋのハッシュ値あるいは一次発行鍵ＫのＣＲＣ（Cyclic Redundancy Check）値などとして求められる。このように求められるハッシュ値やＣＲＣ値は、一次発行鍵Ｋと一意に対応する。そのうえで、これらのハッシュ値やＣＲＣ値を求める演算は非可逆的である。即ち、ハッシュ値あるいはＣＲＣ値からは生成元の一次発行鍵Ｋを復元、推定することはできない。このように、本実施形態における検証データは、一次発行鍵と一意に対応するが、検証データから一次発行鍵を特定することはできないデータである。
【００５０】
第１実施形態においては、第１工場１における外部検証データ管理装置２０が管理する外部検証データβを例えば記憶媒体などに記憶させ、外部検証データβが記憶された記憶媒体を第２工場まで運搬する。
第２工場２においては、例えば運搬された記憶媒体をＩＣカード対応情報処理装置２００のデータインターフェース２０３に接続する。外部検証データ取得部２２２は、データインターフェース２０３に接続された記憶媒体から外部検証データβを読み出し、読み出した外部検証データβを取得することができる。
このように、外部検証データβは第１工場１から受け渡される。但し、前述のように、外部検証データβは、一次発行鍵と一意に対応するが、外部検証データβから一次発行鍵を特定したり推定したりすることはできない。従って、外部検証データβが第１工場１の外部に提供されたとしても、一次発行鍵が第１工場１の外部に漏洩したことにはならず、問題とはならない。
第１実施形態において、外部検証データ取得部２２２は、取得した外部検証データを記憶する。
【００５１】
正否判定部２２３は、内部検証データと外部検証データ取得部２２２が取得した外部検証データとを比較する。内部検証データとは、ＩＣカード１００が管理する検証データであってＩＣカードが記憶する一次発行鍵（暗号鍵の一例）と一意に対応する内部検証データである。本実施形態において、ＩＣカード１００は、内部検証データを記憶することにより内部検証データを管理する。
【００５２】
第１工場１には、一次発行の処理の過程において一次発行鍵Ｋを利用して内部検証データが生成され、生成された内部検証データがＩＣカード１００に記憶される。
内部検証データは、例えば、外部検証データと同じ生成方法によって生成される。例えば外部検証データが所定のハッシュ関数を用いたハッシュ演算によるハッシュ値として求められるのであれば、内部検証データも、ハッシュ関数を用いたハッシュ演算によるハッシュ値として求められる。従って、内部検証データと外部検証データは、それぞれ同じ一次発行鍵を利用して生成された場合には同じ値で一致する。
なお、第１工場において内部検証データを生成するための演算は、ＩＣカード対応情報処理装置１０とＩＣカード１００の何れが行ってもよい。
【００５３】
そして正否判定部２２３は、内部検証データと外部検証データとの比較結果に基づいてＩＣカード１００が記憶する一次発行鍵が正当であるか否かを判定する。
具体的に、正否判定部２２３は、内部検証データと外部検証データとが一致しているとの比較結果が得られた場合に、ＩＣカード１００が記憶する一次発行鍵が正当であると判定する。
一方、正否判定部２２３は、内部検証データと外部検証データとが一致していないとの比較結果が得られた場合に、ＩＣカード１００が記憶する一次発行鍵は正当でないと判定する。
【００５４】
正否判定部２２３は、例えばデータインターフェース２０３経由で外部情報処理装置などに判定結果を送信することで、判定結果を出力することができる。
また、正否判定部２２３は、表示部２０４にて所定の態様によって判定結果が表示されるように出力することができる。
【００５５】
［ＩＣカードの構成例］
続いて、同じ図４を参照して、第１実施形態におけるＩＣカード１００の構成例について説明する。
同図に示すＩＣカード１００は、通信部１０１、制御部１０２、一次発行鍵記憶部１０３及び内部検証データ記憶部１０４を備える。
【００５６】
通信部１０１は、ＩＣカード対応情報処理装置２００と通信を実行する。通信部１０１は、ＩＣカード対応情報処理装置２００におけるＩＣカード対応通信部２０１が対応するのと同じ通信プロトコルに従って通信を実行する。
制御部１０２は、ＩＣカード１００としての機能を実現するための各種制御を実行する。
【００５７】
一次発行鍵記憶部１０３は、ＩＣカード１００に対して一次発行が行われる際にＩＣカード対応情報処理装置１０との通信に利用した一次発行鍵を記憶する。
内部検証データ記憶部１０４は、一次発行鍵記憶部１０３が記憶する一次発行鍵と一意に対応する内部検証データを記憶する。即ち、内部検証データ記憶部１０４が記憶する内部検証データは、例えば一次発行鍵記憶部１０３が記憶する一次発行鍵を利用して求められたハッシュ演算あるいはＣＲＣ値などである。
【００５８】
［処理手順例］
続いて、図５のフローチャートを参照して、ＩＣカード１００が記憶する一次発行鍵の正当性を判定するために第１の実施形態におけるＩＣカード対応情報処理装置２００とＩＣカード１００とが実行する処理手順例について説明する。
【００５９】
ＩＣカード１００が記憶する一次発行鍵の正当性判定にあたり、ＩＣカード対応情報処理装置２００のコマンド送信部２２１は、正当性判定コマンドをＩＣカード対応通信部２０１からＩＣカード１００に対して送信させる（ステップＳ５０１）。
【００６０】
次に、ＩＣカード対応情報処理装置２００の正否判定部２２３は、ステップＳ５０１により送信した正当性判定コマンドに応答してＩＣカード１００が送信した内部検証データαを受信する（ステップＳ５０２）。
また、正否判定部２２３は、外部検証データ取得部２２２が外部から取得した外部検証データβを、外部検証データ取得部２２２から読み出す（ステップＳ５０３）。
そして、正否判定部２２３は、ステップＳ５０２にて受信した内部検証データαと、ステップＳ５０３により読み出した外部検証データβとを比較する（ステップＳ５０４）。
【００６１】
正否判定部２２３は、ステップＳ５０４による比較結果として、内部検証データαと外部検証データβとが一致しているか否かについて判定する（ステップＳ５０５）。
内部検証データαと外部検証データβとが一致している場合（ステップＳ５０５−ＹＥＳ）、正否判定部２２３は、ＩＣカード１００が記憶する一次発行鍵は正当であると判定する（ステップＳ５０６）。
これに対して、内部検証データαと外部検証データβとが一致していない場合（ステップＳ５０５−ＮＯ）、正否判定部２２３は、ＩＣカード１００が記憶する一次発行鍵は正当ではないと判定する（ステップＳ５０７）。
【００６２】
なお、図５においては省略しているが、正否判定部２２３は、前述のように、ＩＣカード１００が記憶する一次発行鍵が正当であるか否かの判定結果を、データインターフェース２０３経由で外部に送信したり、表示部２０４に表示させたりするなどして出力することができる。
【００６３】
次に、同じ図５を参照して、ＩＣカード１００の処理手順について説明する。ＩＣカード１００における制御部１０２は、ステップＳ５０１によりＩＣカード対応情報処理装置２００から送信された正当性判定コマンドを通信部１０１経由で受信する（ステップＳ６０１）。
ステップＳ６０１による正当性判定コマンドの受信に応じて、制御部１０２は、内部検証データ記憶部１０４が記憶する内部検証データαを読み出す（ステップＳ６０２）。制御部１０２は、読み出した内部検証データαを通信部１０１経由でＩＣカード対応情報処理装置２００に送信する（ステップＳ６０３）。
【００６４】
このような処理が実行されることにより、第１実施形態においては、二次発行の段階において、一次発行鍵を所有していなくともＩＣカード１００が記憶する一次発行鍵についての正当性をしく判定できる。
【００６５】
＜第２実施形態＞
［ＩＣカード対応情報処理装置の構成例］
続いて、第２実施形態について説明する。図６は、第２実施形態に対応するＩＣカード対応情報処理装置２００とＩＣカード１００の構成例を示している。なお、図６において、図４と同一部分には同一符号を付して説明を省略する。
図６に示すＩＣカード対応情報処理装置２００は、図４に示したＩＣカード対応情報処理装置２００の構成に対して外部装置対応通信部２０５をさらに備える。
外部装置対応通信部２０５は、外部装置として、図１に示したように第１工場１に備えられる外部検証データ管理装置２０と通信を実行する。外部装置対応通信部２０５は、例えばネットワークまたは専用線などを経由して外部検証データ管理装置２０と通信可能なように構成されればよい。
【００６６】
そのうえで、第２実施形態の外部検証データ取得部２２２は、外部装置対応通信部２０５経由での外部検証データ管理装置２０との通信を介して、外部検証データ管理装置２０が記憶する外部検証データβを取得する。外部検証データ取得部２２２は、外部検証データ管理装置２０から取得したデータを記憶する。
【００６７】
なお、図６における第２実施形態のＩＣカード１００の構成例は、第１実施形態における図４と同様である。
【００６８】
［処理手順例］
次に、図７のフローチャートを参照して、ＩＣカード１００が記憶する一次発行鍵の正当性を判定するために第２の実施形態におけるＩＣカード対応情報処理装置２００とＩＣカード１００とが実行する処理手順例について説明する。
なお、図７において、図５に示した処理と同様のステップについては、同一符号を付して説明を省略する。
【００６９】
ＩＣカード対応情報処理装置２００は、ステップＳ５０１により正当性判定コマンドをＩＣカード１００に送信し、ステップＳ５０２によりＩＣカード１００から内部検証データαを受信すると、以下の処理を実行する。
つまり、ＩＣカード対応情報処理装置２００における外部検証データ取得部２２２は、外部検証データを要求するための外部検証データ要求を、外部装置対応通信部２０５経由で外部検証データ管理装置２０に送信する（ステップＳ５０３−１）。
次に、外部検証データ取得部２２２は、ステップＳ５０３−１により送信された外部検証データ要求に応答して外部検証データ管理装置２０から送信された外部検証データβを外部装置対応通信部２０５経由で受信する（ステップＳ５０３−２）。外部検証データ取得部２２２は、受信した外部検証データβを記憶する。
以降のＩＣカード対応情報処理装置２００におけるステップＳ５０４〜Ｓ５０７の処理は、図５と同様である。
なお、ステップＳ５０３−１、Ｓ５０３−２による外部検証データβの取得のための処理は、例えばステップＳ５０１、Ｓ５０２による内部検証データαの取得のための処理に先立って実行されてもよい。
【００７０】
また、外部検証データ管理装置２０は、ステップＳ５０３−１により送信された外部検証データ要求を受信する（ステップＳ７０１）。外部検証データ管理装置２０は、ステップＳ７０１による外部検証データ要求の受信に応答して、自己が記憶している外部検証データβをＩＣカード対応情報処理装置２００に送信する（ステップＳ７０２）。
【００７１】
上記のような処理によって、第２実施形態におけるカード対応情報処理装置２００は、ＩＣカード１００が記憶する一次発行鍵の正当性判定にあたり、外部検証データ管理装置２０との通信によって外部検証データ要求を取得することができる。
このように、外部との通信によって外部検証データを取得することで、外部検証データβを記憶させた記憶媒体を第２工場まで運搬し、ＩＣカード対応情報処理装置２００に記憶媒体を接続して外部検証データβを記憶させるといった人的作業を省くことができる。
【００７２】
＜第３実施形態＞
［ＩＣカードの構成例］
続いて、第３実施形態について説明する。第３実施形態においては、ＩＣカード１００が内部検証データを記憶するのに代えて、自己が記憶する一次発行鍵を利用して内部検証データを生成するように構成される。即ち、第３実施形態におけるＩＣカード１００は、内部検証データの管理として、内部検証データの生成を実行する。
なお、第３実施形態におけるＩＣカード対応情報処理装置２００の構成は、第１実施形態における図４または第２実施形態における図６に示した構成と同様でよい。
【００７３】
図８は、第３実施形態におけるＩＣカード１００の構成例を示している。なお、図８において、図４と同一部分には同一符号を付して説明を省略する。
同図に示す第３実施形態のＩＣカード１００は、制御部１０２における機能部として内部検証データ生成部１２１を備える。
内部検証データ生成部１２１は、一次発行鍵記憶部１０３が記憶する一次発行鍵を利用して内部検証データαを生成する。具体的に、内部検証データ生成部１２１は、前述のように、一次発行鍵についてハッシュ演算やＣＲＣ値を求める演算を行うことにより、内部検証データを生成することができる。この場合において、内部検証データ生成部１２１が内部検証データを生成する際の演算は、一次発行鍵から外部検証データを生成する際の演算と同じである。
【００７４】
また、上記のように内部検証データ生成部１２１が備えられるのに応じて、第３実施形態のＩＣカード１００は、内部検証データ記憶部１０４が省略される。
【００７５】
［処理手順例］
図９のフローチャートを参照して、第３実施形態におけるＩＣカード１００が一次発行鍵の正当性判定にあたって実行する処理手順例について説明する。また、第３実施形態におけるＩＣカード対応情報処理装置２００の処理手順は、例えば第１実施形態または第２実施形態に対応する図５または図７と同様でよい。
【００７６】
ＩＣカード１００における内部検証データ生成部１２１は、ステップＳ６０１によりＩＣカード対応情報処理装置２００から送信された正当性判定要求コマンドが受信されるのに応じて、以下の処理を実行する。
つまり、内部検証データ生成部１２１は、一次発行鍵記憶部１０３が記憶する一次発行鍵を読み出す（ステップＳ６０２−１）。内部検証データ生成部１２１は、ステップＳ６０２−１により読み出した一次発行鍵を利用した所定の演算によって内部検証データαを生成する（ステップＳ６０２−２）。
内部検証データ生成部１２１は、ステップＳ６０２−２により生成された内部検証データαを通信部１０１経由でＩＣカード対応情報処理装置２００に対して送信させる（ステップＳ６０３）。
【００７７】
上記した構成により、ＩＣカード１００は、内部検証データを記憶していなくとも、自己が記憶する一次発行鍵と一意に対応する内部検証データαを生成し、ＩＣカード対応情報処理装置２００に受け渡すことができる。
このように、第３実施形態においては、ＩＣカード１００が図４、図６などに示した内部検証データ記憶部１０４を備える必要がないことから、ＩＣカード１００が記憶すべきデータ量を削減することが可能になる。
一方、第１実施形態あるいは第２実施形態のＩＣカード１００のように内部検証データを記憶する構成では、内部検証データを生成するための演算を実行する必要がないことから、ＩＣカード１００における処理負荷の軽減や処理時間の短縮を図ることができる。
【００７８】
＜第４実施形態＞
［ＩＣカード対応情報処理装置の構成］
続いて、第４実施形態について説明する。先の第１実施形態から第３実施形態においては、ＩＣカード１００が記憶する一次発行鍵についての正当性判定をＩＣカード対応情報処理装置２００側で実行していた。これに対して、第４実施形態においては、ＩＣカード１００が記憶する一次発行鍵についての正当性判定を、ＩＣカード１００側で実行するように構成される。
【００７９】
図１０は、第４実施形態におけるＩＣカード１００とＩＣカード対応情報処理装置２００の構成例を示している。なお、図１０において、図６と同一部分には同一符号を付して説明を省略する。
図１０に示す第４実施形態のＩＣカード対応情報処理装置２００は、先に図６に示したＩＣカード対応情報処理装置２００から正否判定部２２３が省略される。また、図１０のＩＣカード対応情報処理装置２００の制御部２０２は、判定結果対応処理部２２４を備える。
【００８０】
第４実施形態におけるＩＣカード１００は、ＩＣカード１００が記憶する一次発行鍵の正当性判定を行い、判定結果をＩＣカード対応情報処理装置２００に通知する。そこで、ＩＣカード対応情報処理装置２００における判定結果対応処理部２２４は、ＩＣカード１００から通知された正当性判定についての判定結果に対応した処理を実行する。
一例として、判定結果対応処理部２２４は、ＩＣカード１００から通知された判定結果をデータインターフェース２０３経由で外部の情報処理装置などに送信することができる。また、判定結果対応処理部２２４は、通知された判定結果を所定の態様によって表示部２０４にて表示させることができる。
【００８１】
また、第４実施形態のＩＣカード対応情報処理装置２００におけるコマンド送信部２２１は、外部検証データβを含む正当性判定コマンドをＩＣカード１００に送信するように構成される。
例えば、コマンド送信部２２１は、外部検証データ取得部２２２が取得した外部検証データβを入力し、入力した外部検証データβを正当性判定コマンドのオペランドに格納する。このような処理によって、コマンド送信部２２１は、外部検証データβを含む正当性判定コマンドを生成することができる。
【００８２】
なお、図示は省略するが、第４実施形態においても、第１実施形態と同様に、外部検証データ取得部２２２がデータインターフェース２０３経由で外部装置や外部の記憶媒体から外部検証データを取得できるような構成が採られてよい。
【００８３】
［ＩＣカードの構成例］
次に、同じ図１０を参照して、第４実施形態におけるＩＣカード１００の構成例について説明する。図１０に示すＩＣカード１００は、制御部１０２において正否判定部１２２を備える。
正否判定部１２２は、一次発行鍵記憶部１０３が記憶する一次発行鍵が正当であるか否かについて判定する。この際、正否判定部１２２は、ＩＣカード対応情報処理装置２００から受信した外部検証データβと、内部検証データ記憶部１０４が記憶する内部検証データαとを比較した結果に基づいて正当性判定を行う。
なお、図示は省略するが、第４実施形態においても、第３実施形態のように、内部検証データ記憶部１０４を省略し、制御部１０２における内部検証データ生成部１２１が内部検証データαを生成するように構成してもよい。
【００８４】
［処理手順例］
図１１のフローチャートを参照して、ＩＣカード１００が記憶する一次発行鍵の正当性を判定するために第４の実施形態におけるＩＣカード対応情報処理装置２００とＩＣカード１００とが実行する処理手順例について説明する。
ＩＣカード対応情報処理装置２００における外部検証データ取得部２２２は、外部装置対応通信部２０５経由で外部検証データ管理装置２０に対して外部検証データ要求を送信する（ステップＳ５１１）。また、外部検証データ取得部２２２は、ステップＳ５１１により送信された外部検証データ要求に応答して外部検証データ管理装置２０から送信された外部検証データβを外部装置対応通信部２０５経由で受信する（ステップＳ５１２）。
ここで、上記のステップＳ５１１、Ｓ５１２は、それぞれ、図７におけるステップＳ５０３−１、Ｓ５０３−２の各処理と同様である。
また、図１１における外部検証データ管理装置２０が実行するステップＳ７０１、Ｓ７０２の処理も、図７におけるステップＳ７０１、Ｓ７０２の各処理と同様である。
【００８５】
次に、ＩＣカード対応情報処理装置２００におけるコマンド送信部２２１は、ステップＳ５１２により受信された外部検証データβを含む正当性判定コマンドを生成し、生成した正当性判定コマンドを送信する（ステップＳ５１３）。
【００８６】
ＩＣカード対応情報処理装置２００における判定結果対応処理部２２４は、ステップＳ５１３により送信された正当性判定コマンドに応答してＩＣカード１００が送信した応答を、ＩＣカード対応通信部２０１経由で受信する（ステップＳ５１４）。ステップＳ５１４にて受信される応答は、ＩＣカード１００が記憶する一次発行鍵の正当性についての判定結果を示している。
【００８７】
判定結果対応処理部２２４は、受信した応答が示す判定結果に対応した処理（判定結果対応処理）を実行する（ステップＳ５１５）。
判定結果対応処理部２２４が実行する判定結果対応処理は、例えば前述のように、データインターフェース２０３経由での判定結果の外部への出力や表示部２０４に対する判定結果の表示などである。
【００８８】
また、ＩＣカード１００において、制御部１０２の正否判定部１２２は、ステップＳ５１３によりＩＣカード対応情報処理装置２００から送信された正当性判定コマンドを通信部１０１経由で受信する（ステップＳ６１１）。
前述のように、ステップＳ６１１にて受信される正当性判定コマンドには、外部検証データβが含まれている。つまり、正否判定部２２３は、ステップＳ６１１により正当性判定コマンドを受信することによって、外部検証データβを取得する。
【００８９】
また、正否判定部１２２は、ステップＳ６１１にて正当性判定コマンドを受信するのに応じて、内部検証データ生成部１２１にて記憶されている内部検証データαを読み出す（ステップＳ６１２）。
【００９０】
そして、正否判定部１２２は、ステップＳ６１２により読み出した内部検証データαと、ステップＳ６１１による正当性判定コマンドの受信に応じて取得した外部検証データβとを比較する（ステップＳ６１３）。
正否判定部１２２は、ステップＳ６１３による比較結果に基づいて、内部検証データαと外部検証データβが一致しているか否かについて判定する（ステップＳ６１４）。
【００９１】
内部検証データαと外部検証データβが一致している場合（ステップＳ６１４−ＹＥＳ）、正否判定部１２２は、ＩＣカード１００が記憶する一次発行鍵が正当であると判定する。そのうえで、正当であるとの判定結果を示す応答を、通信部１０１経由でＩＣカード対応情報処理装置２００に対して送信する（ステップＳ６１５）。
一方、内部検証データαと外部検証データβが一致していない場合（ステップＳ６１４−ＮＯ）、正否判定部１２２は、ＩＣカード１００が記憶する一次発行鍵は正当ではないと判定する。そのうえで、正当ではないとの判定結果を示す応答を、通信部１０１経由でＩＣカード対応情報処理装置２００に対して送信する（ステップＳ６１６）。
【００９２】
上記のような処理によって、第４実施形態においては、ＩＣカード１００が記憶する一次発行鍵の正当性判定をＩＣカード１００側で行うことが可能になる。
【００９３】
＜第５実施形態＞
［概要］
続いて、第５実施形態について説明する。第５実施形態におけるＩＣカード１００とＩＣカード対応情報処理装置２００の構成は、図４または図６と同様でよい。
そのうえで、第５実施形態においては、ＩＣカード対応情報処理装置２００が複数の外部検証データβ１〜βｎを取得し、内部検証データαと取得した外部検証データβ１〜βｎとを比較する。
【００９４】
そして、ＩＣカード対応情報処理装置２００は、内部検証データαと外部検証データβ１〜βｎとを比較した結果に基づく正当性判定を以下のように実行する。
つまり、外部検証データβ１〜βｎのうちで、内部検証データαと一致するものが有った場合、ＩＣカード対応情報処理装置２００は、ＩＣカード１００が記憶する一次発行鍵が正当であると判定するとともに、正当であると判定した一次発行鍵を特定する情報を出力する。この場合において、正当であると判定した一次発行鍵を示す情報は、複数の外部検証データβ１〜βｎに対応する一次発行鍵のうちのいずれか１つを示す。
一方、外部検証データβ１〜βｎのうちで、内部検証データαと一致するものが無かった場合、ＩＣカード対応情報処理装置２００は、ＩＣカード１００が記憶する一次発行鍵が正当ではないと判定する。
【００９５】
前述のように、一次発行鍵は、ＩＣカード１００の種類の相違や同じ種類におけるバージョンの相違などに応じて複数が存在する。このために、第２工場２においては、複数種類のＩＣカード１００や、異なるバージョンのＩＣカード１００などが在庫として管理されているような状況となる場合がある。このような状況の下で、例えば１つの外部検証データと内部検証データとを比較して正当性判定を行った結果、正当でないとの判定結果が得られた場合には、他の外部検証データを利用して再び同じ正当性判定のシーケンスを実行させる必要がある。
そこで、例えば第５実施形態のように、はじめから第２工場２で在庫管理しているＩＣカード１００ごとに対応する複数の外部検証データを利用して正当性判定を行うようにすれば、１回の正当性判定のシーケンスによって、正当性のある一次発行鍵を特定することができる。
【００９６】
［処理手順例］
図１２のフローチャートは、第５実施形態におけるＩＣカード１００とＩＣカード対応情報処理装置２００が、ＩＣカード１００に記憶される一次発行鍵の正当性判定のために実行する処理手順例を示している。
なお、同図に示す処理は、図６に示した第２実施形態と同様に、ＩＣカード対応情報処理装置２００が外部検証データ管理装置２０との通信を介して、外部検証データ管理装置２０から外部検証データを取得する構成を採る場合に対応して実行される。
また、図１２において、図７と同様の処理となるステップについては同一符号を付している。
【００９７】
図１２において、ＩＣカード対応情報処理装置２００が内部検証データαを取得するために実行するステップＳ５０１、Ｓ５０２、Ｓ５０３−１の処理は図７と同様である。また、図１２においてＩＣカード１００が実行するステップＳ６０１〜Ｓ６０３の処理も、図７と同様である。
【００９８】
第５実施形態において、外部検証データ管理装置２０は、ステップＳ５０３−１によりＩＣカード対応情報処理装置２００が送信した外部検証データ要求を受信するのに応じて（ステップＳ７０１）、以下のように処理を実行する。
つまり、この場合の外部検証データ管理装置２０は、複数（ｎ個）の外部検証データβ１〜βｎを記憶しており、外部検証データ管理装置２０は、外部検証データβ１〜βｎをＩＣカード対応情報処理装置２００に対して送信する（ステップＳ７０２Ａ）。
【００９９】
ＩＣカード対応情報処理装置２００における外部検証データ取得部２２２は、ステップＳ７０２Ａにより送信された外部検証データβ１〜βｎを、外部装置対応通信部２０５経由で受信する（ステップＳ５０３−２Ａ）。
【０１００】
そのうえで、ＩＣカード対応情報処理装置２００における正否判定部２２３は、外部検証データβ１〜βｎに付した番号に対応する変数ｉに初期値である１を代入する（ステップＳ５０３−３）。
【０１０１】
正否判定部２２３は、ステップＳ５０２にて受信した内部検証データαと、ステップＳ５０３−２Ａにて受信した外部検証データβ１〜βｎにおけるｉ番目の外部検証データβｉとを比較する（ステップＳ５０４）。正否判定部２２３は、ステップＳ５０４による比較結果に基づいて、内部検証データαと外部検証データβｉとが一致しているか否かについて判定する（ステップＳ５０５）。
【０１０２】
内部検証データαと外部検証データβｉとが一致していないと判定された場合（ステップＳ５０５−ＮＯ）、正否判定部２２３は、変数ｉをインクリメントしたうえで（ステップＳ５０７−１）、変数ｉが外部検証データの数に対応するｎより大きいか否かについて判定する（ステップＳ５０７−２）。
変数ｉがｎ以下である場合（ステップＳ５０７−２（ＮＯ））、正否判定部２２３は、ステップＳ５０４に処理を戻すことによって、次の外部検証データβｉを利用した正否判定に移行する。
【０１０３】
これに対して、変数ｉがｎより大きい場合（ステップＳ５０７−２（ＹＥＳ））、外部検証データβ１〜βｎのいずれもが内部検証データαと一致していないことになる。この場合、正否判定部２２３は、ＩＣカード１００が記憶する一次発行鍵は正当ではないと判定する（ステップＳ５０７−３）。
【０１０４】
また、内部検証データαと外部検証データβｉとが一致している場合（ステップＳ５０５−ＹＥＳ）、正否判定部２２３は、ＩＣカードが記憶する一次発行鍵は正当であると判定する（ステップＳ５０６−１）。
また、正否判定部２２３は、ステップＳ５０６−１により正当であるとの判定を行うとともに、ＩＣカードが記憶する一次発行鍵を特定する情報（一次発行鍵特定情報）を出力する（ステップＳ５０６−２）。一次発行鍵を特定する情報とは、一次発行鍵そのものではなく、一次発行鍵に一意に対応付けられた識別子などである。あるいは、一次発行鍵を特定する情報は、対応の一次発行鍵を使用して一次発行が行われたＩＣカード１００の種別、バージョンを示す情報などのように、対応の一次発行鍵を記憶するＩＣカード１００を特定する情報であってもよい。
【０１０５】
ステップＳ５０６−２によりＩＣカード１００が記憶する一次発行鍵についての一次発行鍵特定情報を出力するにあたっては、以下のような一連の処理が実行されればよい。
先ず、外部検証データ管理装置２０が外部検証データβ１〜βｎを送信するにあたっては、外部検証データβ１〜βｎのそれぞれに、対応の一次発行鍵特定情報を付加した送信データを生成する。図１３は、ステップＳ５０６−２により送信される送信データの構造例を示している。
このように、一次発行鍵特定情報が付加された外部検証データβ１〜βｎが送信されることで、正否判定部２２３は、外部検証データβ１〜βｎの受信とともに、外部検証データβ１〜βｎごとに対応する一次発行鍵特定情報を取得できる。
そして、正否判定部２２３は、ステップＳ５０６−２において、最後のステップＳ５０５により内部検証データαと一致していると判定された外部検証データβｉに対応する一次発行鍵特定情報を出力すればよい。
【０１０６】
＜第６実施形態＞
［概要］
続いて、第６実施形態について説明する。第６実施形態に対応するＩＣカード１００とＩＣカード対応情報処理装置２００は、図１０に示した第４実施形態と同様でよい。つまり、第６実施形態は、ＩＣカード１００側にてＩＣカード１００が記憶する一次発行鍵についての正否判定を行う構成である。
そのうえで、第６実施形態においては、第５実施形態のように、ＩＣカード１００が複数の外部検証データβ１〜βｎと内部検証データαとを比較した結果に基づいて正否判定を行うように構成される。
【０１０７】
［処理手順例］
図１４のフローチャートは、第６実施形態におけるＩＣカード１００とＩＣカード対応情報処理装置２００が、ＩＣカード１００に記憶される一次発行鍵の正当性判定のために実行する処理手順例を示している。図１４において、図１１及び図１２と同様の処理となるステップについては同一符号を付している。
【０１０８】
ＩＣカード対応情報処理装置２００における外部検証データ取得部２２２は、外部検証データ要求を外部検証データ管理装置２０に送信する（ステップＳ５１１）。
第６実施形態における外部検証データ管理装置２０は、第５実施形態と同様に、複数の外部検証データβ１〜βｎを記憶している。外部検証データ管理装置２０は、外部検証データ要求の受信に応じて（ステップＳ７０１）、外部検証データβ１〜βｎをＩＣカード対応情報処理装置２００に対して送信する（ステップＳ７０２Ａ）。
ＩＣカード対応情報処理装置２００における外部検証データ取得部２２２は、ＩＣカード対応通信部２０１経由で、ステップＳ７０２Ａにより送信された外部検証データβ１〜βｎを受信する（ステップＳ５１２Ａ）。
【０１０９】
ここで、外部検証データ管理装置２０が送信する外部検証データβ１〜βｎの各々には、第５実施形態と同様に、図１３に例示したように一次発行鍵特定情報が付加されている。
これにより、外部検証データ取得部２２２は、ステップＳ５１２Ａによる外部検証データβ１〜βｎの受信とともに、外部検証データβ１〜βｎごとの一次発行鍵特定情報を取得する。
【０１１０】
ＩＣカード対応情報処理装置２００におけるコマンド送信部２２１は、ステップＳ５１２Ａにて受信した外部検証データβ１〜βｎを含めた正当性判定コマンドをＩＣカード１００に送信する（ステップＳ５１３Ａ）。なお、同図に示す処理の場合、ステップＳ５１２Ａによっては外部検証データβ１〜βｎとともに、外部検証データβ１〜βｎごとの一次発行鍵特定情報が取得される。しかし、コマンド送信部２２１は、正当性判定コマンドに外部検証データβ１〜βｎのみを含めればよく、外部検証データβ１〜βｎごとに対応する一次発行鍵特定情報については含めなくともよい。
【０１１１】
ＩＣカード対応情報処理装置２００における判定結果対応処理部２２４は、ステップＳ５１３Ａによる正当性判定コマンドの送信に応じてＩＣカード１００から送信される応答を受信する（ステップＳ５１４）。
判定結果対応処理部２２４は、ステップＳ５１４にて受信した応答が示す正否判定についての判定結果に対応した処理を実行する（ステップＳ５１５）。
【０１１２】
また、ＩＣカード１００における正否判定部１２２は、ステップＳ５１３ＡによりＩＣカード対応情報処理装置２００から送信された正当性判定コマンドを通信部１０１経由で受信する（ステップＳ６１１）。正否判定部１２２は、ステップＳ６１１による受信に応じて、内部検証データ記憶部１０４から内部検証データαを読み出す（ステップＳ６１２）。
【０１１３】
そのうえで、正否判定部２２３は、外部検証データβ１〜βｎに付した番号に対応する変数ｉに初期値である１を代入する（ステップＳ６１２−１）。
【０１１４】
正否判定部２２３は、ステップＳ６１２にて読み出した内部検証データαと、ステップＳ６１１にて正当性判定コマンドの受信とともに取得した外部検証データβ１〜βｎにおけるｉ番目の外部検証データβｉとを比較する（ステップＳ６１３Ａ）。正否判定部２２３は、ステップＳ６１３Ａによる比較結果に基づいて、内部検証データαと外部検証データβｉとが一致しているか否かについて判定する（ステップＳ６１４）。
【０１１５】
内部検証データαと外部検証データβｉとが一致していないと判定された場合（ステップＳ６１４（ＮＯ））、正否判定部２２３は、変数ｉをインクリメントしたうえで（ステップＳ６１６−１）、変数ｉが外部検証データの数に対応するｎより大きいか否かについて判定する（ステップＳ６１６−２）。
変数ｉがｎ以下である場合（ステップＳ６１６−２（ＮＯ））、正否判定部２２３は、ステップＳ６１３Ａに処理を戻すことによって、次の外部検証データβｉを利用した正否判定に移行する。
これに対して、変数ｉがｎより大きい場合には（ステップＳ６１６−２（ＹＥＳ））、外部検証データβ１〜βｎのいずれもが内部検証データαと一致していないことになる。この場合、正否判定部２２３は、ＩＣカード１００が記憶する一次発行鍵は正当ではないと判定する。そのうえで、正否判定部２２３は、ＩＣカード１００が記憶する一次発行鍵は正当でないとの判定結果を示す応答を、通信部１０１経由でＩＣカード対応情報処理装置２００に対して送信する（ステップＳ６１６−３）。
【０１１６】
また、内部検証データαと外部検証データβｉとが一致している場合（ステップＳ６１４−ＹＥＳ）、正否判定部２２３は、ＩＣカードが記憶する一次発行鍵は正当であると判定する。そのうえで、正否判定部２２３は、ステップＳ６１４により内部検証データαと一致していると判定された外部検証データβｉを示す情報とともに、正当であるとの判定結果を示す応答をＩＣカード対応情報処理装置２００に対して送信する（ステップＳ６１５Ａ）。この場合において、ＩＣカード１００が記憶する一次発行鍵を特定する情報は、ステップＳ６１５Ａにて送信される応答に含まれる外部検証データβｉを示す情報である。
【０１１７】
ＩＣカード対応情報処理装置２００における判定結果対応処理部２２４は、ステップＳ５１４にて受信した応答が正当であるとの判定結果を示すものであった場合、ステップＳ５１５の処理として、例えば以下のように処理を実行することができる。
つまり、判定結果対応処理部２２４は、ステップＳ５１２Ａによる外部検証データβ１〜βｎの受信とともに取得された外部検証データβ１〜βｎの一次発行鍵特定情報のうち、外部検証データβｉに対応する一次発行鍵特定情報を選択する。
判定結果対応処理部２２４は、ＩＣカード１００に記憶される一次発行鍵が正当であることを示す情報を、選択した一次発行鍵特定情報とともにデータインターフェース２０３経由で外部に出力することができる。あるいは、判定結果対応処理部２２４は、ＩＣカード１００に記憶される一次発行鍵が正当である旨の表示を表示部２０４に行わせることができる。また、これに併せて、判定結果対応処理部２２４は、一次発行鍵特定情報に基づいて、ＩＣカード１００がどの一次発行鍵を使用して一次発行が行われたものであるのかを発行作業者が認識できるような内容を表示部２０４に表示させることもできる。
このような構成によって、複数の外部検証データβ１〜βｎを利用してＩＣカード１００側で正当性判定を行うことができる。
【０１１８】
なお、上記実施形態においては、一次発行と二次発行とによる２段階の発行が行われる場合を例に挙げているが、本実施形態の構成は、３段階以上の発行が行われる場合においても適用できる。また、３段階以上の発行が行われる場合においては、必ずしも直前の段階の発行において使用された暗号鍵を対象としなくともよく、例えば三次発行の段階において、一次発行にて使用された暗号鍵を対象として正当性判定を行ってもよい。
【０１１９】
なお、上述のＩＣカード１００とＩＣカード対応情報処理装置２００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述のＩＣカード１００とＩＣカード対応情報処理装置２００の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭ等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２０】
２０  外部検証データ管理装置
１００  ＩＣカード
１０１  通信部
１０２  制御部
１０３  一次発行鍵記憶部
１０４  内部検証データ記憶部
１２１  内部検証データ生成部
２００  ＩＣカード対応情報処理装置
２０１  ＩＣカード対応通信部
２０２  制御部
２０３  データインターフェース
２０４  表示部
２２１  コマンド送信部
２２２  外部検証データ取得部
２２３  正否判定部
【図１】
2015109554.tif 000003
【図２】
2015109554.tif 000004
【図３】
2015109554.tif 000005
【図４】
2015109554.tif 000006
【図５】
2015109554.tif 000007
【図６】
2015109554.tif 000008
【図７】
2015109554.tif 000009
【図８】
2015109554.tif 000010
【図９】
2015109554.tif 000011
【図１０】
2015109554.tif 000012
【図１１】
2015109554.tif 000013
【図１２】
2015109554.tif 000014
【図１３】
2015109554.tif 000015
【図１４】
2015109554.tif 000016