(57)【要約】【課題】状況に応じて高いセキュリティ対策に基づき認証用データを生成することが可能な認証用データ生成方法を提供すること。【解決手段】認証用データ生成方法は、認証機器から認証用コマンドを受信し、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を予め記憶された複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成し、前記認証機器に対して前記認証用データを送信する。【選択図】図７
2010211515.tif 000002
【特許請求の範囲】
【請求項１】
複数の暗号鍵を記憶する記憶手段と、
認証機器から認証用コマンドを受信する受信手段と、
前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する生成手段と、
前記認証機器に対して前記認証用データを送信する送信手段と、
を備えたことを特徴とする情報記憶媒体。
【請求項２】
前記記憶手段は、複数の暗号アルゴリズムを記憶し、
前記生成手段は、前記前記認証用コマンドに含まれた暗号アルゴリズム参照情報に対応したターゲット暗号アルゴリズムを前記複数の暗号アルゴリズムの中から選択し、前記ターゲット暗号アルゴリズムと前記ターゲット暗号鍵と前記包含データとに基づき前記認証用データを生成する、
ことを特徴とする請求項１に記載の情報記憶媒体。
【請求項３】
前記記憶手段は、複数の暗号アルゴリズムを記憶し、
前記生成手段は、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号アルゴリズム参照情報を変更し、変更された暗号アルゴリズム参照情報に対応したターゲット暗号アルゴリズムを前記複数の暗号アルゴリズムの中から選択し、前記ターゲット暗号アルゴリズムと前記ターゲット暗号鍵と前記包含データとに基づき前記認証用データを生成する、
ことを特徴とする請求項１に記載の情報記憶媒体。
【請求項４】
前記生成手段は、
前記認証機器との通信プロトコルが第１の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照番号ｎ（ｎ：整数、０≦ｎ）に対してｍ１（ｍ１：整数）を加算してこの暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ１）に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた乱数及び固定データとに基づき前記認証用データを生成し、
前記認証機器との通信プロトコルが第２の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照番号ｎ（ｎ：整数、０≦ｎ）に対してｍ２（ｍ２：整数、ｍ１≠ｍ２）を加算してこの暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ２）に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた前記乱数と前記固定データとに基づき前記認証用データを生成する、
ことを特徴とする請求項１に記載の情報記憶媒体。
【請求項５】
前記生成手段は、
前記認証機器との通信プロトコルが接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更せずに、前記暗号鍵参照情報に対応した第１のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第１のターゲット暗号鍵と前記包含データとに基づき第１の認証用データを生成し、
前記認証機器との通信プロトコルが非接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応した前記第２のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第２のターゲット暗号鍵と前記包含データとに基づき第２の認証用データを生成する、
ことを特徴とする請求項１に記載の情報記憶媒体。
【請求項６】
前記生成手段は、
前記認証機器との通信プロトコルが接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更せずに、前記暗号鍵参照情報に対応した第１のデータ長の第１のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第１のターゲット暗号鍵と前記包含データとに基づき第２のデータ長の第１の認証用データを生成し、
前記認証機器との通信プロトコルが非接触式の通信プロトコルである場合には、前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応した前記第１のデータ長より長い第３のデータ長の第２のターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記第２のターゲット暗号鍵と前記包含データとに基づき前記第２のデータ長より長い第４のデータ長の第２の認証用データを生成する、
ことを特徴とする請求項１に記載の情報記憶媒体。
【請求項７】
前記受信手段は、
前記認証機器と接触して前記認証機器からの前記認証用コマンドを受信する接触式受信手段と、
前記認証機器と非接触で前記認証機器からの前記認証用コマンドを受信する非接触式受信手段と、を含み、
前記送信手段は、
前記接触式受信手段による前記認証用コマンドの受信に対応して接触中の前記認証機器に対して前記認証用データを送信する接触式送信手段と、
前記非接触式受信手段による前記認証用コマンドの受信に対応して前記認証機器と非接触で前記認証機器に対して前記認証用データを送信する非接触式送信手段と、を含み、
前記生成手段は、前記接触式受信手段と前記非接触式受信手段のどちらで前記認証用コマンドを受信したかに基づき前記認証機器との通信プロトコルを判別する、
ことを特徴とする請求項１に記載の情報記憶媒体。
【請求項８】
認証機器から認証用コマンドを受信し、
前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を予め記憶された複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成し、
前記認証機器に対して前記認証用データを送信する、
ことを特徴とする認証用データ生成方法。
【請求項９】
情報記憶媒体及びこの情報記憶媒体を認証する認証機器により構成される媒体認証システムであって、
前記情報記憶媒体は、
複数の暗号鍵を記憶する暗号鍵記憶手段と、
認証機器から認証用コマンドを受信するコマンド受信手段と、
前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する認証用データ生成手段と、
前記認証機器に対して前記認証用データを送信する認証用データ送信手段と、
を備え、
前記認証機器は、
前記複数の暗号鍵に対応した複数の復号鍵を記憶する復号鍵記憶手段と、
前記情報記憶媒体に対して前記認証用コマンドを送信するコマンド送信手段と、
前記情報記憶媒体からの前記認証用データを受信する認証用データ受信手段と、
前記情報記憶媒体との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット復号鍵を前記複数の復号鍵の中から選択して、前記ターゲット復号鍵に基づき前記認証用データから前記包含データを復号し、復号された前記包含データに基づき前記情報記憶媒体を認証する認証手段と、
を備えたことを特徴とする媒体認証システム。
【請求項１０】
複数の暗号鍵に対応した複数の復号鍵を記憶する復号鍵記憶手段と、
情報記憶媒体に対して認証用コマンドを送信するコマンド送信手段と、
前記情報記憶媒体から認証用データを受信する認証用データ受信手段と、
前記情報記憶媒体との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット復号鍵を前記複数の復号鍵の中から選択して、前記ターゲット復号鍵に基づき前記認証用データから包含データを復号し、復号された前記包含データに基づき前記情報記憶媒体を認証する認証手段と、
を備えたことを特徴とする媒体認証機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭなどの制御素子を有するＩＣ（Integrated Circuit）チップを内蔵するＩＣカードと称される情報記憶媒体に関する。また、本発明は、この情報記憶媒体に適用される認証用データ生成方法に関する。さらに、本発明は、この情報記憶媒体とこの情報記憶媒体を認証する媒体認証機器により構成される認証システムに関する。
【背景技術】
【０００２】
近年、様々な機能を備えたＩＣカードが登場している。例えば、金属端子等により構成される接触インターフェースと電波を送受信するためのアンテナ等により構成される非接触インターフェースを備えたＩＣカードが登場している（特許文献１参照）。
【０００３】
また、複数の通信プロトコルに対応可能なＩＣカードも登場している。例えばＴＣＰ／ＩＰとＩＳＯ７８１６のどちらの通信プロトコルにも対応可能なＩＣカードが提案されている（特許文献２参照）。
【０００４】
これらＩＣカードの登場によりＩＣカードの用途は広がり、例えば、ＩＣカードは、クレジットカード、定期券、旅券、免許証、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのＩＤカードとしても様々な分野で使われるようになっている。
【０００５】
このように、ＩＣカードは、高いセキュリティが求められる環境の中で使用されるため、ＩＣカードに対するセキュリティ対策は重要である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２１６２３４号公報
【特許文献２】特開２００４−１５１８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＩＣカードに対してより高いセキュリティを適用するほど、ＩＣカード内での処理速度が低下したり、またＩＣカード内でより多くのメモリエリアが使用されたりする傾向にある。
【０００８】
ＩＣカード事業者は、ＩＣカードに対してより高いセキュリティを適用したいが、上記したように、その弊害も考慮しなければならない。このため、高いセキュリティ対策があるにもかかわらず、その高いセキュリティ対策を適用できないことがある。
【０００９】
本発明の目的は、状況に応じて高いセキュリティ対策を実行することが可能な情報記憶媒体を提供することにある。また、本発明の目的は、状況に応じて高いセキュリティ対策に基づき認証用データを生成することが可能な認証用データ生成方法を提供することにある。さらに、本発明の目的は、状況に応じて高いセキュリティ対策に基づき認証用データを生成し、この認証用データにより媒体を認証することが可能な媒体認証システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一実施形態に係る情報記憶媒体は、複数の暗号鍵を記憶する記憶手段と、認証機器から認証用コマンドを受信する受信手段と、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する生成手段と、前記認証機器に対して前記認証用データを送信する送信手段と、を備える。
【００１１】
本発明の一実施形態に係る認証用データ生成方法は、認証機器から認証用コマンドを受信し、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を予め記憶された複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成し、前記認証機器に対して前記認証用データを送信する。
【００１２】
本発明の一実施形態に係る媒体認証システムは、情報記憶媒体及びこの情報記憶媒体を認証する認証機器により構成される媒体認証システムであって、前記情報記憶媒体は、複数の暗号鍵を記憶する暗号鍵記憶手段と、認証機器から認証用コマンドを受信するコマンド受信手段と、前記認証機器との通信プロトコルを判別し、前記認証機器との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット暗号鍵を前記複数の暗号鍵の中から選択し、前記ターゲット暗号鍵と前記認証用コマンドに含まれた包含データとに基づき認証用データを生成する認証用データ生成手段と、前記認証機器に対して前記認証用データを送信する認証用データ送信手段と、を備え、前記認証機器は、前記複数の暗号鍵に対応した複数の復号鍵を記憶する復号鍵記憶手段と、前記情報記憶媒体に対して前記認証用コマンドを送信するコマンド送信手段と、前記情報記憶媒体からの前記認証用データを受信する認証用データ受信手段と、前記情報記憶媒体との通信プロトコルの判別結果に基づき前記認証用コマンドに含まれた暗号鍵参照情報を変更し、変更された暗号鍵参照情報に対応したターゲット復号鍵を前記複数の復号鍵の中から選択して、前記ターゲット復号鍵に基づき前記認証用データから前記包含データを復号し、復号された前記包含データに基づき前記情報記憶媒体を認証する認証手段と、を備える。
【発明の効果】
【００１３】
本発明によれば、状況に応じて高いセキュリティ対策を実行することが可能な情報記憶媒体を提供できる。また、本発明によれば、状況に応じて高いセキュリティ対策に基づき認証用データを生成することが可能な認証用データ生成方法を提供できる。さらに、本発明によれば、状況に応じて高いセキュリティ対策に基づき認証用データを生成し、この認証用データにより媒体を認証することが可能な媒体認証システムを提供できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係るＩＣカードシステム（媒体認証システム）の概略構成を示すブロック図である。
【図２】図１に示すＩＣカードシステムのカードリーダ／ライタの概略構成を示すブロック図である。
【図３】図２に示すカードリーダ／ライタのデータメモリに記憶されたデータの一例を示す図である。
【図４】図１に示すＩＣカードシステムのＩＣカードの概略構成を示すブロック図である。
【図５】図４に示すＩＣカードのデータメモリに記憶されたデータの一例を示す図である。
【図６】カードリーダ／ライタとＩＣカードとの通信の概要を説明するためのフローチャートである。
【図７】通信プロトコルに基づく暗号化処理の変更処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照し、本発明の実施形態について説明する。
【００１６】
図１は、本発明の一実施形態に係るＩＣカードシステム（媒体認証システム）の概略構成を示すブロック図である。図１に示すように、ＩＣカードシステムは、端末１及びＩＣカード２（情報記憶媒体）により構成される。端末１は、本体（上位装置）１１、ディスプレイ１２、キーボード１３、カードリーダ／ライタ１４を備えている。端末１はＩＣカード２と通信可能に構成されており、端末１はＩＣカード２に対してデータを送信したり、ＩＣカード２からのデータを受信したりする。
【００１７】
本体１１は、アプリケーションを実行したり、入出力を司る。ディスプレイ１２は、ＩＣカード２との通信結果及び認証結果等を表示する。キーボード１３は、本体１１に対して文字や数字等を入力する。カードリーダ／ライタ１４は、ＩＣカード２と通信する。
【００１８】
なお、本実施形態では、ＩＣカード２が接触式通信と非接触式通信の両者をサポートするコンビ型、同様に、カードリーダ／ライタ１４も接触式通信と非接触式通信の両者をサポートするコンビ型のケースについて説明する。
【００１９】
図２は、本発明の一実施形態に係るカードリーダ／ライタ１４の概略構成を示すブロック図である。図２に示すように、カードリーダ／ライタ１４は、接触端子１４１、通信Ｉ／Ｆ１４２、ＣＰＵ１４３、データメモリ１４４、ＲＡＭ１４５、ＲＯＭ１４６、アンテナ１４７、通信Ｉ／Ｆ１４８を備えている。
【００２０】
図４は、本発明の一実施形態に係るＩＣカードの概略構成を示すブロック図である。図４に示すように、ＩＣカード２は、例えばプラスチックカードであり、ＩＣチップ２０（ＩＣモジュール）を備え、ＩＣチップ２０は、接触端子２０１、通信Ｉ／Ｆ２０２、ＣＰＵ２０３、データメモリ２０４、ＲＡＭ２０５、ＲＯＭ２０６を備えている。さらに、ＩＣカード２は、アンテナ２１、通信Ｉ／Ｆ２２も備えている。
【００２１】
カードリーダ／ライタ１４の接触端子１４１は、ＩＣカード２の接触端子２０１と接触し、カードリーダ／ライタ１４とＩＣカード２との間でデータを送受信する。通信Ｉ／Ｆ１４２は、ＩＣカード２へ送信するデータ、ＩＣカード２から受信したデータの入出力を制御する。
【００２２】
また、カードリーダ／ライタ１４のアンテナ１４７は、ＩＣカード２のアンテナ２１と非接触で通信し、カードリーダ／ライタ１４とＩＣカード２との間でデータを送受信する。通信Ｉ／Ｆ１４８は、ＩＣカード２へ送信するデータ、ＩＣカード２から受信したデータの入出力を制御する。
【００２３】
ＣＰＵ１４３は、本体（上位装置）１１からの指示に基づき各種コマンド（認証用コマンド）を生成する。さらに、ＣＰＵ１４３は乱数生成部１４３ａを備え、本体（上位装置）１１からの指示に基づき乱数生成部１４３ａは乱数を生成する。データメモリ１４４は、ＥＥＰＲＯＭ、ＦＲＡＭなどの不揮発性メモリである。ＲＡＭ１４５は、例えばＩＣカード２から送信されるデータを一時的に記憶するワークメモリである。ＲＯＭ１４６は、制御プログラム等を記憶するメモリである。
【００２４】
図３に示すように、データメモリ１４４は、復号鍵情報、暗号鍵情報、暗号アルゴリズム情報、固定データを記憶する。復号鍵情報は、複数の復号鍵Ａ、Ｂ、Ｃ、…を含み、各復号鍵Ａ、Ｂ、Ｃ、…は復号鍵参照番号０、１、２、…により管理される。また、暗号鍵情報は、複数の暗号鍵Ａ、Ｂ、Ｃ、…を含み、各暗号鍵Ａ、Ｂ、Ｃ、…は暗号鍵参照番号０、１、２、…により管理される。また、上記した各復号鍵Ａ、Ｂ、Ｃ、…と、各暗号鍵Ａ、Ｂ、Ｃ、…とは対応する鍵である。暗号アルゴリズム情報は、複数の暗号アルゴリズムＡ、Ｂ、Ｃ、…を含み、各暗号アルゴリズムＡ、Ｂ、Ｃ、…は暗号アルゴリズム参照番号０、１、２、…により管理される。これら、復号鍵情報、暗号鍵情報、暗号アルゴリズム情報、固定データを利用した認証処理については後で詳しく説明する。
【００２５】
一方、ＩＣカード２の接触端子２０１は、カードリーダ／ライタ１４の接触端子１４１と接触し、ＩＣカード２とカードリーダ／ライタ１４との間でデータを送受信する。通信Ｉ／Ｆ２０２は、カードリーダ／ライタ１４へ送信するデータ、カードリーダ／ライタ１４から受信したデータの入出力を制御する。
【００２６】
また、ＩＣカード２のアンテナ２１は、カードリーダ／ライタ１４のアンテナ１４７と非接触で通信し、ＩＣカード２とカードリーダ／ライタ１４との間でデータを送受信する。通信Ｉ／Ｆ２２は、カードリーダ／ライタ１４へ送信するデータ、カードリーダ／ライタ１４から受信したデータの入出力を制御する。
【００２７】
ＣＰＵ２０３は、カードリーダ／ライタ１４からの各種コマンド（認証用コマンド）に基づき、各種処理を実行する。データメモリ２０４は、ＥＥＰＲＯＭ、ＦＲＡＭなどの不揮発性メモリである。ＲＡＭ２０５は、例えばカードリーダ／ライタ１４から送信されるデータを一時的に記憶するワークメモリである。ＲＯＭ１４６は、制御プログラム等を記憶するメモリである。
【００２８】
図５に示すように、データメモリ２０４は、暗号鍵情報、暗号アルゴリズム情報を記憶する。暗号鍵情報、暗号アルゴリズム情報については既に説明した通りである。
【００２９】
次に、図６に示すフローチャートを参照し、カードリーダ／ライタ１４とＩＣカード２との通信の概要について説明する。
【００３０】
まず、カードリーダ／ライタ１４は、接触端子１４１或いはアンテナ１４７を介して、対象アプリケーションをセレクトするためのＳＥＬＥＣＴコマンドを送信する。ＩＣカード２は、接触端子２０１或いはアンテナ２１を介してＳＥＬＥＣＴコマンドを受信し、正常なステータスを返信する。
【００３１】
カードリーダ／ライタ１４は、接触端子１４１或いはアンテナ１４７を介して、正常なステータスを受信し、接触端子１４１或いはアンテナ１４７を介して、ＩＣカード２の内部のレコード情報を読み出すパラメータを指定したインタプリタコマンドを送信する。ＩＣカード２は、接触端子２０１或いはアンテナ２１を介してインタプリタコマンドを受信し、パラメータに応じたレコード情報を返信する。
【００３２】
カードリーダ／ライタ１４は、接触端子１４１或いはアンテナ１４７を介して、レコード情報を受信し、ＧＥＴ ＰＲＯＣＥＳＳＩＮＧ ＯＰＴＩＯＮ コマンドを送信する。これに対しても、ＩＣカード２は、接触端子２０１或いはアンテナ２１を介してＧＥＴ ＰＲＯＣＥＳＳＩＮＧ ＯＰＴＩＯＮ コマンドを受信し、正常なステータスを返信する。
【００３３】
このようにして、カードリーダ／ライタ１４とＩＣカード２との間で必要なデータの送受信が行われ、例えば、カードリーダ／ライタ１４が、ＩＣカード２を認証するためのＩＮＴＥＲＮＡＬ ＡＵＴＨＥＮＴＩＣＡＴＥ コマンド（認証用コマンド）を生成し、接触端子１４１或いはアンテナ１４７を介して、ＩＮＴＥＲＮＡＬ ＡＵＴＨＥＮＴＩＣＡＴＥ コマンドを送信する。ＩＣカード２は、接触端子２０１或いはアンテナ２１を介してＩＮＴＥＲＮＡＬ ＡＵＴＨＥＮＴＩＣＡＴＥ コマンドを受信し、暗号化された認証用データ及び正常なステータスを返信する。
【００３４】
ここで、カードリーダ／ライタ１４により生成される認証用コマンドについて簡単に説明する。本実施形態では、非接触用の第１の通信プロトコル(T=CL(Connectionless))に対応した第１の認証用コマンドと、接触用の第２の通信プロトコル(T=1)に対応した第２の認証用コマンドについて説明する。
【００３５】
非接触用の第１の通信プロトコル(T=CL)に対応する第１の認証用コマンドフォーマットは、例えば次のように規定されている。
【００３６】
第１の認証用コマンドフォーマット：CLA/INS/P1/P2/Lc/Data/Le
CLA：クラスバイト
INS：インストラクションコード
P1：パラメータ１
P2：パラメータ２
また、接触用の第２の通信プロトコル(T=1)に対応する第２の認証用コマンドフォーマットは、例えば次のように規定されている。
【００３７】
第２の認証用コマンドフォーマット：NAD/PCB/Len/CLA/INS/P1/P2/Lc/Data/Le/EDC
NAD：ノードアドレス
PCB：プロトコルコントロールバイト
Len：レングス
EDC：エラーディテクションコード
例えば、第１及び第２の認証用コマンドフォーマットに含まれたP1は、暗号アルゴリズム参照番号ｊ（ｊ：整数、０≦ｊ）を示し、第１及び第２の認証用コマンドフォーマットに含まれたP2は、暗号鍵参照番号ｎ（ｎ：整数、０≦ｎ）を示す。また、第１及び第２の認証用コマンドフォーマット中のDataは、乱数と固定データを含む。なお、乱数は、上記したように乱数生成部１４３ａにより生成される。
【００３８】
なお、本実施形態では、上記したように、第１又は第２の通信プロトコルによるＩＣカード２とカードリーダ／ライタ１４との通信について説明するが、これだけに限定されるものではない。例えば、第３の通信プロトコル(T=0)によるＩＣカード２とカードリーダ／ライタ１４との通信にも適用できる。
【００３９】
続いて、認証用コマンドに基づく認証処理について説明する。認証用コマンドを受信したＩＣカード２は、カードリーダ／ライタ１４との通信プロトコルを判別し、通信プロトコルの判別結果に基づき暗号化方式を変更する、或いは変更しない。これにより、通信プロトコルに応じて暗号化レベルを変更することができる。つまり、通信プロトコル（状況）に応じてセキュリティレベルを変更することができる。
【００４０】
例えば、ＩＣカード２は、通信プロトコルの判別結果に基づき、暗号鍵を変更したり変更しなかったりする。つまり、ＩＣカード２は、非接触の通信プロトコルに基づき暗号鍵を変更し、接触の通信プロトコルに基づき暗号鍵を変更しないことができる。さらに、ＩＣカード２は、通信プロトコルの判別結果に基づき、暗号アルゴリズムを変更したり変更しなかったりすることもできる。つまり、ＩＣカード２は、非接触の通信プロトコルに基づき暗号アルゴリズムを変更し、接触の通信プロトコルに基づき暗号アルゴリズムを変更しないことができる。
【００４１】
以下、図７のフローチャートを参照して、通信プロトコルに基づく暗号化処理の変更の一例について説明する。
【００４２】
まず、カードリーダ／ライタ１４は、第１又は第２の認証用コマンドを生成する。上記したように、第１及び第２の認証用コマンドは、暗号鍵参照番号ｎ、暗号アルゴリズム参照番号ｊ、乱数、固定データを含み、カードリーダ／ライタ１４は、これら暗号鍵参照番号ｎ、暗号アルゴリズム参照番号ｊ、乱数、固定データを記憶しておく。
【００４３】
カードリーダ／ライタ１４がＩＣカード２に対して第１又は第２の認証用コマンドを送信し、ＩＣカード２は第１又は第２の認証用コマンドを受信する（ＳＴ１０）。ＩＣカード２のＣＰＵ２０３は、受信した第１又は第２の認証用コマンドを解析し、通信プロトコルを判別する。ＣＰＵ２０３は、第１又は第２の認証用コマンドのフォーマットから通信プロトコルを判別することもできるし、接触式通信（接触端子２０１）又は非接触式通信（アンテナ２１）のどちらで認証用コマンドを受信したかにより通信プロトコルを判別することもできる。
【００４４】
例えば、ＣＰＵ２０３が、第１の通信プロトコルによる通信であると判断すると（ＳＴ２０、ＹＥＳ）、暗号鍵参照番号の変更処理を実行する。ＣＰＵ２０３は、受信した第１の認証用コマンド中に含まれた暗号鍵参照番号ｎに対してｍ１（ｍ１：整数）を加算し暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ１）に対応したターゲット暗号鍵をデータメモリ２０４に記憶された複数の暗号鍵Ａ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ２０３は、暗号鍵参照番号０に対して２を加算し（ＳＴ３１、ＹＥＳ）（ＳＴ３２）、暗号鍵参照番号２に対応した暗号鍵Ｃを設定する。或いは、ＣＰＵ２０３は、暗号鍵参照番号１に対して２を加算し（ＳＴ３１、ＮＯ）（ＳＴ３３）、暗号鍵参照番号３に対応した暗号鍵Ｄを設定する。
【００４５】
さらに、ＣＰＵ２０３は、受信した第１の認証用コマンド中に含まれた暗号アルゴリズム参照番号ｊに対応したターゲット暗号アルゴリズムをデータメモリ２０４に記憶された複数の暗号アルゴリズムＡ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ２０３は、暗号アルゴリズム参照番号０に対応した暗号アルゴリズムＡを設定する（ＳＴ３４、ＹＥＳ）（ＳＴ３５）。或いは、ＣＰＵ２０３は、暗号アルゴリズム参照番号１に対応した暗号アルゴリズムＢを設定する（ＳＴ３４、ＮＯ）（ＳＴ３６）。
【００４６】
その上で、ＣＰＵ２０３は、設定された暗号アルゴリズムＡと暗号鍵Ｃと固定データとに基づき認証用データを生成する（ＳＴ３７）。或いは、ＣＰＵ２０３は、設定された暗号アルゴリズムＢと暗号鍵Ｄと固定データとに基づき認証用データを生成する（ＳＴ３７）。ＩＣカード２は、カードリーダ／ライタ１４に対して認証用データを送信する（ＳＴ５０）。
【００４７】
カードリーダ／ライタ１４は、ＩＣカード２からの認証用データを受信し、カードリーダ／ライタ１４のＣＰＵ１４３は、認証用データを解析して、解析結果に基づきＩＣカード２を認証する。ＣＰＵ１４３は、ＩＣカード２との通信プロトコルを判別する。例えば、ＣＰＵ１４３は、第１の通信プロトコルによる通信であると判別すると、ＩＣカード２に送信した第１の認証用コマンド中に含まれた暗号鍵参照情報ｎに対してｍ１（ｍ１：整数）を加算し暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ１）に対応したターゲット復号鍵をデータメモリ１４４に記憶された複数の復号鍵Ａ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ１４３は、暗号鍵参照番号０に対して２を加算し、暗号鍵参照番号２に対応した復号鍵Ｃを選択する。或いは、ＣＰＵ１４３は、暗号鍵参照番号１に対して２を加算し、暗号鍵参照番号３に対応した復号鍵Ｄを選択する。さらに、ＣＰＵ１４３は、第１の認証用コマンド中に含まれた暗号アルゴリズム参照情報ｊに対応した復号アルゴリズムを選択する。例えば、ＣＰＵ１４３は、暗号アルゴリズム参照情報０に対応した復号アルゴリズム０を選択する。或いは、ＣＰＵ１４３は、暗号アルゴリズム参照情報１に対応した復号アルゴリズム１を選択する。
【００４８】
ＣＰＵ１４３は、復号鍵Ｃと復号アルゴリズム０に基づき認証用データから乱数と固定データを復号する。或いは、ＣＰＵ１４３は、復号鍵Ｄと復号アルゴリズム１に基づき認証用データから乱数と固定データを復号する。ＣＰＵ１４３は、復号された固定データと第１の認証用コマンド中に含まれた固定データとを比較し、一致すればＩＣカード２を認証し、一致しなければＩＣカード２を認証しない。
【００４９】
上記説明では、暗号アルゴリズムを変更しないケースについて説明したが、暗号鍵と同様に、暗号アルゴリズムを変更するようにしてもよい。例えば、ＣＰＵ２０３が、第１の通信プロトコルによる通信であると判断していれば、ＣＰＵ２０３は、受信した第１の認証用コマンド中に含まれた暗号アルゴリズム参照番号ｊに対してｋ１（ｋ１：整数）を加算し暗号アルゴリズム参照番号ｊを変更し、変更された暗号鍵参照番号（ｊ＋ｋ１）に対応したターゲット暗号アルゴリズムをデータメモリ２０４に記憶された複数の暗号アルゴリズムＡ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ２０３は、暗号アルゴリズム参照番号０に対して１を加算し、暗号アルゴリズム参照番号１に対応した暗号アルゴリズムＢを設定する。或いは、ＣＰＵ２０３は、暗号アルゴリズム参照番号１に対して１を加算し、暗号アルゴリズム参照番号２に対応した暗号鍵Ｃを設定する。
【００５０】
この場合、ＣＰＵ２０３は、設定された暗号アルゴリズムＢと暗号鍵Ｃと固定データとに基づき認証用データを生成する。或いは、ＣＰＵ２０３は、設定された暗号アルゴリズムＣと暗号鍵Ｄと固定データとに基づき認証用データを生成する。ＩＣカード２は、カードリーダ／ライタ１４に対して認証用データを送信する。
【００５１】
カードリーダ／ライタ１４は、ＩＣカード２からの認証用データを受信し、カードリーダ／ライタ１４のＣＰＵ１４３は、認証用データを解析して、解析結果に基づきＩＣカード２を認証する。例えば、ＣＰＵ１４３は、第１の通信プロトコルによる通信であると判別すると、ＩＣカード２に送信した第１の認証用コマンド中に含まれた暗号鍵参照情報ｎに対してｍ１（ｍ１：整数）を加算し暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ１）に対応したターゲット復号鍵をデータメモリ１４４に記憶された複数の復号鍵Ａ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ１４３は、暗号鍵参照番号０に対して２を加算し、暗号鍵参照番号２に対応した復号鍵Ｃを選択する。或いは、ＣＰＵ１４３は、暗号鍵参照番号１に対して２を加算し、暗号鍵参照番号３に対応した復号鍵Ｄを選択する。
【００５２】
さらに、ＣＰＵ１４３は、ＩＣカード２に送信した第１の認証用コマンド中に含まれた暗号アルゴリズム参照情報ｊに対してｋ１を加算し暗号アルゴリズム参照番号ｊを変更し、変更された暗号アルゴリズム参照番号（ｊ＋ｋ１）に対応した復号アルゴリズム（ｊ＋ｋ１）を選択する。例えば、ＣＰＵ１４３は、暗号アルゴリズム参照情報０に対して１を加算し、暗号アルゴリズム参照番号１に対応した復号アルゴリズム１を選択する。或いは、ＣＰＵ１４３は、暗号アルゴリズム参照情報１に対して１を加算し、暗号アルゴリズム参照番号２に対応した復号アルゴリズム２を選択する。
【００５３】
ＣＰＵ１４３は、復号鍵Ｃと復号アルゴリズム１に基づき認証用データから乱数と固定データを復号する。或いは、ＣＰＵ１４３は、復号鍵Ｄと復号アルゴリズム２に基づき認証用データから乱数と固定データを復号する。ＣＰＵ１４３は、復号された固定データと第１の認証用コマンド中に含まれた固定データとを比較し、一致すればＩＣカード２を認証し、一致しなければＩＣカード２を認証しない。
【００５４】
上記説明では、第１の通信プロトコルによる通信時に暗号鍵を変更したり、暗号アルゴリズムを変更したりするケースについて説明した。次に、第２の通信プロトコルによる通信時の処理について説明する。
【００５５】
例えば、ＣＰＵ２０３が、第２の通信プロトコルによる通信であると判断すると（ＳＴ２０、ＹＥＳ）、暗号鍵参照番号の変更処理を実行する。ＣＰＵ２０３は、受信した第２の認証用コマンド中に含まれた暗号鍵参照番号ｎに対してｍ２（ｍ２：整数）を加算し暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ２）に対応したターゲット暗号鍵をデータメモリ２０４に記憶された複数の暗号鍵Ａ、Ｂ、Ｃ、…の中から選択する。なお、本実施形態では、例えばｍ２＝０とする。これにより、第２の通信プロトコルによる通信時には、暗号鍵参照番号は変更されなくなる。例えば、ＣＰＵ２０３は、暗号鍵参照番号０に対して０を加算し（ＳＴ４１、ＹＥＳ）（ＳＴ４２）、暗号鍵参照番号０に対応した暗号鍵Ａを設定する。或いは、ＣＰＵ２０３は、暗号鍵参照番号１に対して０を加算し（ＳＴ４１、ＮＯ）（ＳＴ４３）、暗号鍵参照番号１に対応した暗号鍵Ｂを設定する。
【００５６】
さらに、ＣＰＵ２０３は、受信した第２の認証用コマンド中に含まれた暗号アルゴリズム参照番号ｊに対応したターゲット暗号アルゴリズムをデータメモリ２０４に記憶された複数の暗号アルゴリズムＡ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ２０３は、暗号アルゴリズム参照番号０に対応した暗号アルゴリズムＡを設定する（ＳＴ４４、ＹＥＳ）（ＳＴ４５）。或いは、ＣＰＵ２０３は、暗号アルゴリズム参照番号１に対応した暗号アルゴリズムＢを設定する（ＳＴ４４、ＮＯ）（ＳＴ４６）。
【００５７】
その上で、ＣＰＵ２０３は、設定された暗号アルゴリズムＡと暗号鍵Ａと固定データとに基づき認証用データを生成する（ＳＴ４７）。或いは、ＣＰＵ２０３は、設定された暗号アルゴリズムＢと暗号鍵Ｂと固定データとに基づき認証用データを生成する（ＳＴ４７）。ＩＣカード２は、カードリーダ／ライタ１４に対して認証用データを送信する（ＳＴ５０）。
【００５８】
カードリーダ／ライタ１４は、ＩＣカード２からの認証用データを受信し、カードリーダ／ライタ１４のＣＰＵ１４３は、認証用データを解析して、解析結果に基づきＩＣカード２を認証する。ＣＰＵ１４３は、ＩＣカード２との通信プロトコルを判別する。例えば、ＣＰＵ１４３は、第２の通信プロトコルによる通信であると判別すると、ＩＣカード２に送信した第２の認証用コマンド中に含まれた暗号鍵参照情報ｎに対してｍ２（ｍ２：整数）を加算し暗号鍵参照番号ｎを変更し、変更された暗号鍵参照番号（ｎ＋ｍ２）に対応したターゲット復号鍵をデータメモリ１４４に記憶された複数の復号鍵Ａ、Ｂ、Ｃ、…の中から選択する。例えば、ＣＰＵ１４３は、暗号鍵参照番号０に対して０を加算し、暗号鍵参照番号０に対応した復号鍵Ａを選択する。或いは、ＣＰＵ１４３は、暗号鍵参照番号１に対して０を加算し、暗号鍵参照番号１に対応した復号鍵Ｂを選択する。さらに、ＣＰＵ１４３は、第２の認証用コマンド中に含まれた暗号アルゴリズム参照情報ｊに対応した復号アルゴリズムを選択する。例えば、ＣＰＵ１４３は、暗号アルゴリズム参照情報０に対応した復号アルゴリズム０を選択する。或いは、ＣＰＵ１４３は、暗号アルゴリズム参照情報１に対応した復号アルゴリズム１を選択する。
【００５９】
ＣＰＵ１４３は、復号鍵Ａと復号アルゴリズム０に基づき認証用データから乱数と固定データを復号する。或いは、ＣＰＵ１４３は、復号鍵Ｂと復号アルゴリズム１に基づき認証用データから乱数と固定データを復号する。ＣＰＵ１４３は、復号された固定データと第２の認証用コマンド中に含まれた固定データとを比較し、一致すればＩＣカード２を認証し、一致しなければＩＣカード２を認証しない。
【００６０】
また、暗号鍵Ｃ及びＤのデータ長は、暗号鍵Ａ及びＢのデータ長より長いものとする。例えば、暗号鍵Ａは768ビット長、暗号鍵Ｂは968ビット長、暗号鍵Ｃは1024ビット長、暗号鍵Ｄは2048ビット長とする。これにより、暗号鍵Ｃ又はＤにより生成された認証用データのデータ長も、暗号鍵Ａ又はＢにより生成された認証用データのデータ長よりも長くなる。つまり、第１の通信プロトコルにより通信時にはデータ長の長い認証用データが送信され、第２の通信プロトコルによる通信時にはデータ長の短い認証用データが送信される。これにより、第１の通信プロトコルによる通信時にはセキュリティを高くすることができ、第２の通信プロトコルによる通信時には処理時間を短くすることができる。
【００６１】
以上により、ＩＣカード２の所定アプリケーションを動作させる場合に、カードリーダ／ライタ１４がＩＣカード２に対して第１の通信プロトコルに対応した第１の認証用コマンド（暗号鍵参照番号ｎを含む）を送信した場合と、ＩＣカード２に対して第２の通信プロトコルに対応した第２の認証用コマンド（同じく暗号鍵参照番号ｎを含む）を送信した場合とで、実際に使用される暗号鍵が異なり、例えば非接触通信時にはセキュリティレベルを高くすることができ、接触通信時には処理時間を短くすることができる。
【００６２】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【００６３】
１…端末、２…ＩＣカード、１１…本体、１２…ディスプレイ、１３…キーボード、１４…カードリーダ／ライタ、２０…ＩＣチップ、２１…アンテナ、２２…通信Ｉ／Ｆ、１４１…接触端子、１４２…通信Ｉ／Ｆ、１４３…ＣＰＵ、１４４…データメモリ、１４５…ＲＡＭ、１４６…ＲＯＭ、１４７…アンテナ、１４８…通信Ｉ／Ｆ、２０１…接触端子、２０２…通信Ｉ／Ｆ、２０３…ＣＰＵ、２０４…データメモリ、２０５…ＲＡＭ、２０６…ＲＯＭ
【図１】
2010211515.tif 000003
【図２】
2010211515.tif 000004
【図３】
2010211515.tif 000005
【図４】
2010211515.tif 000006
【図５】
2010211515.tif 000007
【図６】
2010211515.tif 000008
【図７】
2010211515.tif 000009