(57)【要約】【課題】複数のロジカルチャネルに渡って一連の命令処理を行なうことにより、意図的に処理を複雑化させ、セキュリティの強化を行なうことが可能な携帯可能電子装置およびＩＣカードを提供する。【解決手段】複数のロジカルチャネルをサポートするＩＣカードにおいて、２つのロジカルチャネルを事前に開き、同一のアプリケーションを選択状態としておき、一方のロジカルチャネル上でチャレンジ要求を行ない、その後に、他方のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なうことで、認証状態が確立されることを特徴とする。【選択図】      図１１
2009134545.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートする携帯可能電子装置において、
２つのロジカルチャネルを事前に開き、同一のアプリケーションを選択状態としておき、一方のロジカルチャネル上でチャレンジ要求を行ない、その後に、他方のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なうことで、認証状態が確立されることを特徴とする携帯可能電子装置。
【請求項２】
外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートする携帯可能電子装置において、
１つのロジカルチャネル上でアプリケーションを選択状態としておき、当該ロジカルチャネル上でチャレンジ要求を行ない、その後に、同一のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なった場合、当該認証処理に失敗し、認証状態が消去されることを特徴とする携帯可能電子装置。
【請求項３】
アプリケーションに格納される認証情報は、認証可能なロジカルチャネルを識別する識別情報と関連付けられており、ロジカルチャネルごとに異なる認証情報が指定されることを特徴とする請求項１または請求項２記載の携帯可能電子装置。
【請求項４】
前記認証処理は、当該携帯可能電子装置に対するアクセス可否を認証情報を用いて判断する認証処理であることを特徴とする請求項１または請求項２記載の携帯可能電子装置。
【請求項５】
外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートするＩＣモジュールをＩＣカード本体内に埋設して構成されるＩＣカードにおいて、
前記ＩＣモジュールは、２つのロジカルチャネルを事前に開き、同一のアプリケーションを選択状態としておき、一方のロジカルチャネル上でチャレンジ要求を行ない、その後に、他方のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なうことで、認証状態が確立されることを特徴とするＩＣカード。
【請求項６】
外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートするＩＣモジュールをＩＣカード本体内に埋設して構成されるＩＣカードにおいて、
前記ＩＣモジュールは、１つのロジカルチャネル上においてアプリケーションを選択状態としておき、当該ロジカルチャネル上でチャレンジ要求を行ない、その後に、同一のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なった場合、当該認証処理に失敗し、認証状態が消去されることを特徴とするＩＣカード。
【請求項７】
アプリケーションに格納される認証情報は、認証可能なロジカルチャネルを識別する識別情報と関連付けられており、ロジカルチャネルごとに異なる認証情報が指定されることを特徴とする請求項５または請求項６記載のＩＣカード。
【請求項８】
前記認証処理は、当該ＩＣカードに対するアクセス可否を認証情報を用いて判断する認証処理であることを特徴とする請求項５または請求項６記載のＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびＣＰＵなどの制御素子を有し、外部からのデータの入出力を行なう手段を備えたＩＣチップを内蔵した、接触式あるいは非接触式（無線式）のいわゆるＩＣカードと称される携帯可能電子装置およびＩＣカードに関する。
【背景技術】
【０００２】
この種のＩＣカードにあっては、ロジカルチャネル（論理チャネル）により、複数のカレント状態を持つことが規定されている（たとえば、非特許文献１参照）。ロジカルチャネルとは、非特許文献１にも記載されているように、ロジカルチャネルごとにセキュリティステータスを保持し、ロジカルチャネルごとにファイルを割り当てることで、ロジカルチャネルを指定してコマンド処理を行なうことができる仕組みである。
【０００３】
また、この種のＩＣカードでは、ロジカルチャネルごとにデディケイトファイル（ＤＦ）あるいはアプリケーションを選択し、ロジカルチャネルごとにアクセス条件あるいはアプリケーション処理を行なっている（たとえば、特許文献１参照）。
【非特許文献１】国際標準化規格：ＩＳＯ／ＩＥＣ７８１６−４（２００５年）                        ５．１．１．２節
【特許文献１】特開２００２−１５７５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のＩＣカードにあっては、上述したように、ロジカルチャネルごとにデディケイトファイル（ＤＦ）あるいはアプリケーションを選択し、ロジカルチャネルごとにアクセス条件あるいはアプリケーション処理を行なっている。
【０００５】
しかし、ロジカルチャネルごとにアプリケーションが独立しており、ロジカルチャネルをまたがった処理を行なうことができないという問題がある。このため、当該ＩＣカードに対するアクセス可否を認証情報を用いて判断する認証処理は、同一ロジカルチャネル内で行なわれていた。
【０００６】
そこで、本発明は、複数のロジカルチャネルに渡って一連の命令処理を行なうことにより、意図的に処理を複雑化させ、セキュリティの強化を行なうことが可能な携帯可能電子装置およびＩＣカードを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の携帯可能電子装置は、外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートする携帯可能電子装置において、２つのロジカルチャネルを事前に開き、同一のアプリケーションを選択状態としておき、一方のロジカルチャネル上でチャレンジ要求を行ない、その後に、他方のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なうことで、認証状態が確立されることを特徴とする。
【０００８】
また、本発明の携帯可能電子装置は、外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートする携帯可能電子装置において、１つのロジカルチャネル上でアプリケーションを選択状態としておき、当該ロジカルチャネル上でチャレンジ要求を行ない、その後に、同一のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なった場合、当該認証処理に失敗し、認証状態が消去されることを特徴とする。
【０００９】
また、本発明のＩＣカードは、外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートするＩＣモジュールをＩＣカード本体内に埋設して構成されるＩＣカードにおいて、前記ＩＣモジュールは、２つのロジカルチャネルを事前に開き、同一のアプリケーションを選択状態としておき、一方のロジカルチャネル上でチャレンジ要求を行ない、その後に、他方のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なうことで、認証状態が確立されることを特徴とする。
【００１０】
さらに、本発明のＩＣカードは、外部から入力されるコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、複数のロジカルチャネルをサポートするＩＣモジュールをＩＣカード本体内に埋設して構成されるＩＣカードにおいて、前記ＩＣモジュールは、１つのロジカルチャネル上においてアプリケーションを選択状態としておき、当該ロジカルチャネル上でチャレンジ要求を行ない、その後に、同一のロジカルチャネル上で、前記チャレンジ要求により生成される認証情報の認証処理を行なった場合、当該認証処理に失敗し、認証状態が消去されることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数のロジカルチャネルに渡って一連の命令処理を行なうことにより、意図的に処理を複雑化させ、セキュリティの強化を行なうことが可能な携帯可能電子装置およびＩＣカードを提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。  
図１は、本発明に係る携帯可能電子装置としてのＩＣカードを取扱うＩＣカードシステムの構成例を示すものである。このＩＣカードシステムは、ＩＣカード１０１を外部装置としてのカードリーダ・ライタ１０２を介して端末装置１０３と接続可能にするとともに、端末装置１０３にキーボード１０４、ＣＲＴ表示部１０５、プリンタ１０６を接続して構成される。
【００１３】
ＩＣカード１０１は、カードリーダ・ライタ１０２からの電源供給により動作可能な状態となり、カードリーダ・ライタ１０２から供給されるコマンド（命令）に応じて種々の処理を実行する。カードリーダ・ライタ１０２は、ＩＣカード１０１に対し動作電源を供給するとともに種々の処理を要求するコマンドを供給する。
【００１４】
端末装置１０３は、たとえば、パーソナルコンピュータなどにより構成されていて、図示しないメモリに記憶されている各種制御プログラムを実行することにより、各種の処理を実行するとともに、カードリーダ・ライタ１０２を介してＩＣカード１０１との間でデータの入出力を行なう。
【００１５】
図２は、ＩＣカード１０１の構成を示すもので、制御素子としてのＣＰＵ２０１、記憶内容が書換え可能な記憶手段（メモリ）としてのデータメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４、および、カードリーダ・ライタ１０２との通信を行なうための通信部２０５によって構成されている。そして、これらのうち、破線内の部分（ＣＰＵ２０１、データメモリ２０２、ワーキングメモリ２０３、プログラムメモリ２０４）は１つ（あるいは複数）のＩＣチップ２０６で構成され、さらに、このＩＣチップ２０６と通信部２０５とが接続された状態で一体的にＩＣモジュール２０７化されて、ＩＣカード本体内に埋設されている。
【００１６】
ＣＰＵ２０１は、各種の判定処理や判断処理およびメモリへの書込みや読出しなどの各種のデータ処理を行なう制御部である。
【００１７】
データメモリ２０２は、たとえば、ＥＥＰＲＯＭ（エレクトリカリ・イレーザブル・アンド・プログラマブル・リード・オンリ・メモリ）などの消去（書換え）可能な不揮発性メモリで構成されていて、各種アプリケーションデータなどの各種データがファイル構造で記憶される。
【００１８】
ワーキングメモリ２０３は、ＣＰＵ２０１が処理を行なう際の処理データを一時的に保持するための作業用のメモリであり、たとえば、ＲＡＭ（ランダム・アクセス・メモリ）などの揮発性メモリで構成されている。
【００１９】
プログラムメモリ２０４は、たとえば、マスクＲＯＭ（リード・オンリ・メモリ）などの書換え不可能な固定メモリで構成されており、ＣＰＵ２０１の制御プログラムなどを記憶している。
【００２０】
通信部２０５は、ＩＣカード１０１が非接触式（無線式）ＩＣカードの場合にはアンテナ部として構成され、カードリーダ・ライタ１０２から送信された変調波を非接触で受信したり外部へ変調波を発信したりするようになっている。また、この通信部２０５で受信した変調波から内部回路に供給するための電源やクロックを生成するようになっている。また、接触式ＩＣカードの場合にはコンタクト部として構成され、カードリーダ・ライタ１０２に設けられたＩＣカード端子部（図示しない）と接触することにより電源やクロックを得るようになっている。
【００２１】
図３は、ワーキングメモリ２０３内の情報を示している。ワーキングメモリ２０３内には、各ロジカルチャネルの情報を管理する領域３００があり、この領域３００には、ロジカルチャネル（０）の情報３０１、ロジカルチャネル（１）の情報３０２、ロジカルチャネル（２）の情報３０３、ロジカルチャネル（Ｎ）の情報３０４、ロジカルチャネルが異なっても共通に利用される共通情報３０５がそれぞれ格納されている。
【００２２】
図４は、データメモリ１０２内の情報を示している。データメモリ１０２内には、アプリケーションが管理するアプリケーションデータ領域４０１があり、この領域４０１には、第１認証キー４０２、第１認証キー４０２に関連付けられたロジカルチャネル番号４０３、第２認証キー４０４、第２認証キー４０４に関連付けられたロジカルチャネル番号４０５がそれぞれ格納されている。
【００２３】
図５は、ワーキングメモリ２０３内の共通情報３０５の詳細を示している。共通情報３０５内には、アプリケーションが管理、利用する乱数データである乱数５０１、乱数５０１が生成されたときのロジカルチャネル番号５０２、乱数が生成された直後であることを識別するためのコマンドシーケンスフラグ５０３がそれぞれ格納されている。
【００２４】
図６は、ロジカルチャネル（０）の情報３０１の詳細を示している。ロジカルチャネル（０）の情報内には、ロジカルチャネルの番号を示す領域であるロジカルチャネル番号６０１、このロジカルチャネル上で選択されているアプリケーションを識別するためのアプリケーション識別情報６０２、選択されているアプリケーションが管理しているアプリケーション情報６０３がそれぞれ格納されている。アプリケーション情報６０３内には、アプリケーションがアクセス制御を行なうための認証状態情報６０４、アプリケーションが管理しているファイルのカレント状態を示すカレント情報６０５がそれぞれ格納されている。
【００２５】
図７は、カードリーダ・ライタ１０２からＩＣカード１０１へ送られるロジカルチャネルを開くコマンドのフォーマット例を示していて、コマンドを識別する機能などを持つ分類部（ＣＬＡ：ｃｌａｓｓ）７０１、命令部（ＩＮＳ：ｉｎｓｔｒｕｃｔｉｏｎ）７０２、パラメータデータ（Ｐ１、Ｐ２）７０３，７０４、および、当該コマンドに対するレスポンスのデータ長を示すＬｅ部７０５から構成されている。
【００２６】
図８は、カードリーダ・ライタ１０２からＩＣカード１０１へ送られるロジカルチャネルを選択するコマンドのフォーマット例を示していて、コマンドを識別する機能などを持つ分類部（ＣＬＡ）７１１、命令部（ＩＮＳ）７１２、パラメータデータ（Ｐ１、Ｐ２）７１３，７１４、Ｄａｔａ部７１６のデータ長を表すデータ長（Ｌｃ）７１５、コマンドデータが格納されるＤａｔａ部７１６、および、当該コマンドに対するレスポンスのデータ長を示すＬｅ部７１７から構成されている。
【００２７】
図９は、カードリーダ・ライタ１０２からＩＣカード１０１へ送られるチャレンジ要求を行なうコマンドのフォーマット例を示していて、コマンドを識別する機能などを持つ分類部（ＣＬＡ）７２１、命令部（ＩＮＳ）７２２、パラメータデータ（Ｐ１、Ｐ２）７２３，７２４、および、当該コマンドに対するレスポンスのデータ長を示すＬｅ部７２５から構成されている。
【００２８】
図１０は、カードリーダ・ライタ１０２からＩＣカード１０１へ送られる認証情報の認証処理を行なう認証コマンドのフォーマット例を示していて、認証コマンドを識別する機能などを持つ分類部（ＣＬＡ）７３１、命令部（ＩＮＳ）７３２、パラメータデータ（Ｐ１、Ｐ２）７３３，７３４、Ｄａｔａ部７３６のデータ長を表すデータ長（Ｌｃ）７３５、および、コマンドデータが格納されるＤａｔａ部７３６から構成されている。
【００２９】
次に、このような構成において、認証状態を確立する全体的な処理について図１１に示すフローチャートを参照して説明する。
【００３０】
まず、ＣＰＵ２０１は、ロジカルチャネルＡを開くコマンドに対する処理を実施する（ステップＳ１）。次に、ＣＰＵ２０１は、ロジカルチャネルＢを開くコマンドに対する処理を実施する（ステップＳ２）。次に、ＣＰＵ２０１は、ロジカルチャネルＡを選択するコマンドに対する処理を実施する（ステップＳ３）。次に、ＣＰＵ２０１は、チャレンジ要求を行なうコマンドに対する処理を実施する（ステップＳ４）。次に、ＣＰＵ２０１は、ロジカルチャネルＢを選択するコマンドに対する処理を実施する（ステップＳ５）。次に、ＣＰＵ２０１は、認証情報の認証処理を行なう認証コマンドに対する処理を実施する（ステップＳ６）。これで、認証状態を確立する処理が終了する。
【００３１】
次に、ステップＳ４におけるチャレンジ要求を行なうコマンドに対する処理について図１２に示すフローチャートを参照して説明する。
【００３２】
ＣＰＵ２０１は、カードリーダ・ライタ１０２から入力されるコマンド（図９のコマンド）を受信すると（ステップＳ１１）、当該コマンドとしての正当性を確認すべく、コマンドフォーマットのチェックを行なう（ステップＳ１２）。
【００３３】
ステップＳ１２におけるフォーマットチェックの結果、フォーマットに異常が発見された場合、ＣＰＵ２０１は、フォーマットエラーを示すステータスワードをカードリーダ・ライタ１０２へ出力し、当該処理を終了する。
【００３４】
ステップＳ１２におけるフォーマットチェックの結果、フォーマットに異常が発見されなかった場合、ＣＰＵ２０１は、乱数を生成し（ステップＳ１３）、生成した乱数を共通情報３０５内の乱数５０１に格納する（ステップＳ１４）。
【００３５】
次に、ＣＰＵ２０１は、チャレンジ要求コマンドの実行されたロジカルチャネル番号を共通情報３０５内のロジカルチャネル番号５０２に格納するとともに（ステップＳ１５）、共通情報３０５内のコマンドシーケンスフラグ５０３を乱数が生成された直後であることを示す状態に設定する（ステップＳ１６）。
【００３６】
次に、ＣＰＵ２０１は、共通情報３０５内の乱数５０１に格納した乱数をカードリーダ・ライタ１０２へ出力し（ステップＳ１７）、当該処理を終了する。なお、カードリーダ・ライタ１０２では、ＩＣカード１０１から送られた乱数を用いて認証キーを暗号化することで認証用の認証情報を生成し、生成した認証情報を図１０に示した認証コマンドのＤａｔａ部７３６に格納して、ＩＣカード１０１へ送るようになっている。
【００３７】
次に、ステップＳ６における認証情報の認証処理を行なう認証コマンドに対する処理について図１３に示すフローチャートを参照して説明する。
【００３８】
ＣＰＵ２０１は、カードリーダ・ライタ１０２から入力されるコマンド（図１０の認証コマンド）を受信すると（ステップＳ２１）、当該コマンドとしての正当性を確認すべく、コマンドフォーマットのチェックを行なう（ステップＳ２２）。
【００３９】
ステップＳ２２におけるフォーマットチェックの結果、フォーマットに異常が発見された場合、ＣＰＵ２０１は、フォーマットエラーを示すステータスワードをカードリーダ・ライタ１０２へ出力し、当該コマンド処理を終了する。
【００４０】
ステップＳ２２におけるフォーマットチェックの結果、フォーマットに異常が発見されなかった場合、ＣＰＵ２０１は、共通情報３０５内のコマンドシーケンスフラグ５０３を参照することで、乱数が生成された直後であるか否か、すなわち、直前にチャレンジ要求コマンドが実施されているか否かをチェックする（ステップＳ２３）。
【００４１】
このチェックの結果、直前にチャレンジ要求コマンドが実施されている場合、ＣＰＵ２０１は、共通情報３０５内のロジカルチャネル番号５０２とロジカルチャネル情報３０１内のロジカルチャネル番号６０１とを比較することで、両ロジカルチャネル番号が不一致であるか否かをチェックする（ステップＳ２４）。
【００４２】
このチェックの結果、ロジカルチャネル番号５０２とロジカルチャネル番号６０１とが不一致の場合、すなわち、共通情報３０５内のロジカルチャネル番号５０２が認証処理を行なう認証コマンドのロジカルチャネル番号６０１と異なる場合、ＣＰＵ２０１は、データメモリ１０２内のアプリケーションデータ領域４０１において、ロジカルチャネル情報３０１内のロジカルチャネル番号６０１と一致するロジカルチャネル番号、たとえば、ロジカルチャネル番号４０３を検索し、当該一致するロジカルチャネル番号４０３に関連付けられた認証キー、たとえば、第１認証キー４０２を取得する（ステップＳ２５）。
【００４３】
次に、ＣＰＵ２０１は、取得した第１認証キー４０２を共通情報３０５内の乱数５０１を用いて暗号化することで認証情報を生成する（ステップＳ２６）。次に、ＣＰＵ２０１は、生成した認証情報と認証コマンドのＤａｔａ部７３６に格納された認証情報とを比較することで、両認証情報が一致するか否かを判定する（ステップＳ２７）。
【００４４】
この判定の結果、両認証情報が一致する場合、ＣＰＵ２０１は、ロジカルチャネル情報３０１内の認証状態情報６０４に当該判定結果を格納し（ステップＳ２８）、当該コマンド処理を終了する。
【００４５】
ステップＳ２７における判定の結果、両認証情報が一致しない場合、前記ステップＳ２３におけるチェックの結果、直前にチャレンジ要求コマンドが実施されていない場合、あるいは、前記ステップＳ２４におけるチェックの結果、ロジカルチャネル番号５０２とロジカルチャネル番号６０１とが一致する場合、ＣＰＵ２０１は、ロジカルチャネル情報３０１内の認証状態情報６０４をクリアし（ステップＳ２９）、その後、エラーを示すステータスワードをカードリーダ・ライタ１０２へ出力し（ステップＳ３０）、当該コマンド処理を終了する。
【００４６】
このように、複数のロジカルチャネルをサポートするＩＣカードにおいて、複数のロジカルチャネルに渡って一連の命令処理を行なうことにより、意図的に処理を複雑化させ、セキュリティの強化を行なうことが可能となる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態に係る携帯可能電子装置としてのＩＣカードを取扱うＩＣカードシステムの構成例を示すブロック図。
【図２】ＩＣカードの構成例を示すブロック図。
【図３】ワーキングメモリ内の情報を模式的に示す図。
【図４】データメモリ内の情報を模式的に示す図。
【図５】ワーキングメモリ内の共通情報の詳細を模式的に示す図。
【図６】ロジカルチャネル（０）の情報の詳細を模式的に示す図。
【図７】ＩＣカードに入力されるロジカルチャネルを開くコマンドのフォーマット例を示す模式図。
【図８】ＩＣカードに入力されるロジカルチャネルを選択するコマンドのフォーマット例を示す模式図。
【図９】ＩＣカードに入力されるチャレンジ要求を行なうコマンドのフォーマット例を示す模式図。
【図１０】ＩＣカードに入力される認証情報の認証処理を行なう認証コマンドのフォーマット例を示す模式図。
【図１１】認証状態を確立する全体的な処理について説明するフローチャート。
【図１２】チャレンジ要求を行なうコマンドに対する処理について説明するフローチャート。
【図１３】認証情報の認証処理を行なう認証コマンドに対する処理について説明するフローチャート。
【符号の説明】
【００４８】
１０１…ＩＣカード（携帯可能電子装置）、１０２…カードリーダ・ライタ、１０３…端末装置、１０４…キーボード、１０５…ＣＲＴ表示部、１０６…プリンタ、２０１…ＣＰＵ、２０２…データメモリ、２０３…ワーキングメモリ、２０４…プログラムメモリ、２０５…通信部、２０６…ＩＣチップ、２０７…ＩＣモジュール。
【図１】
2009134545.tif 000003
【図２】
2009134545.tif 000004
【図３】
2009134545.tif 000005
【図４】
2009134545.tif 000006
【図５】
2009134545.tif 000007
【図６】
2009134545.tif 000008
【図７】
2009134545.tif 000009
【図８】
2009134545.tif 000010
【図９】
2009134545.tif 000011
【図１０】
2009134545.tif 000012
【図１１】
2009134545.tif 000013
【図１２】
2009134545.tif 000014
【図１３】
2009134545.tif 000015