IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大日本印刷株式会社の特許一覧

特許7538484電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム
<>
  • 特許-電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム 図1
  • 特許-電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム 図2
  • 特許-電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム 図3
  • 特許-電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム 図4
  • 特許-電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-14
(45)【発行日】2024-08-22
(54)【発明の名称】電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラム
(51)【国際特許分類】
   G06K 19/07 20060101AFI20240815BHJP
   G06K 19/077 20060101ALI20240815BHJP
   G06F 13/12 20060101ALI20240815BHJP
【FI】
G06K19/07 190
G06K19/077 244
G06K19/07 230
G06F13/12 340F
【請求項の数】 7
(21)【出願番号】P 2023215816
(22)【出願日】2023-12-21
【審査請求日】2024-01-31
【早期審査対象出願】
(73)【特許権者】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【弁理士】
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】金田 美幸
【審査官】田中 啓介
(56)【参考文献】
【文献】特開2011-216068(JP,A)
【文献】特開2007-206895(JP,A)
【文献】特開2003-030596(JP,A)
【文献】特表2007-537533(JP,A)
【文献】米国特許出願公開第2008/0022043(US,A1)
【文献】特開2018-011104(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B42D15/02
B42D25/00-25/485
G06F13/10-13/14
G06K1/00-7/14
G06K17/00-19/18
(57)【特許請求の範囲】
【請求項1】
複数のインターフェースを備え、複数のアプリケーションが搭載される電子情報記憶媒体であって、
論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、
外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、
前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、
前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、
前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、
前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、
前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項2】
前記1の論理チャネルが前記1のインターフェースで利用可能でないと判定され場合に、前記第1処理手段は、エラー処理を実行することを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項3】
前記コマンドは、前記開設対象となる1の論理チャネルを示すことを特徴とする請求項1または2に記載の電子情報記憶媒体。
【請求項4】
複数のインターフェースを備え、複数のアプリケーションが搭載されるICカードであって、
論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、
外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のイン
ターフェースを介して受信する受信手段と、
前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理
チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理
情報に基づいて判定する第1判定手段と、
前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、
前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、
前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、
前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段と、
を備えることを特徴とするICカード。
【請求項5】
複数のインターフェースを備え、複数のアプリケーションが搭載されるICチップであって、
論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、
外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、
前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、
前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、
前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、
前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、
前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段と、
を備えることを特徴とするICチップ。
【請求項6】
複数のインターフェースを備え、複数のアプリケーションが搭載される電子情報記憶媒体により実行される論理チャネル利用方法であって、
論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶手段に記憶するステップと、
外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信するステップと、
前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定するステップと、
前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行するステップと、
前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定するステップと、
前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定するステップと、
前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行するステップと、
を含むことを特徴とする論理チャネル利用方法。
【請求項7】
複数のインターフェースを備え、複数のアプリケーションが搭載される電子情報記憶媒体に含まれるコンピュータを、
論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、
外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、
前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、
前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、
前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、
前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、
前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部端末との間で通信を行うための複数のインターフェースを備え、複数のアプリケーションを搭載するIC(Integrated Circuit)カード等の技術分野に関する。
【背景技術】
【0002】
従来、複数のアプリケーションを搭載するICカードは、それぞれのアプリケーションによる処理を実行するための論理的な通信パスとして論理チャネル(ロジカルチャネル)を管理する機能を有する。例えば特許文献1に開示されるように、各論理チャネルには異なるアプリケーションを割り当てることができる。これにより、ユーザは1つのICカードにより複数のサービスを利用することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2011-216068号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ICカードを利用するサービスにおいては、システム側の利便性のために使用される論理チャネルのチャネル番号が定められていることがある。そのため、複数のサービスを利用可能なICカードでは、それぞれのサービスに対応するアプリケーションごとに利用可能な論理チャネルが管理されることがある。一方、複数のアプリケーションを搭載し、さらに複数のインターフェースを備えるICカードでは、アプリケーションによっては特定のインターフェース(例えば、非接触通信用インターフェース)を利用することが処理負荷や応答時間の関係上、望ましくない場合がある。
【0005】
そこで、本発明は、上記点等に鑑みてなされたものであり、論理チャネルごとに利用可能なインターフェースを管理するとともに、アプリケーションごとに利用可能な論理チャネルを管理することで利便性を向上することが可能な電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、複数のインターフェースを備え、複数のアプリケーションが搭載される電子情報記憶媒体であって、論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段と、を備えることを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記1の論理チャネルが前記1のインターフェースで利用可能でないと判定され場合に、前記第1処理手段は、エラー処理を実行することを特徴とする。
【0008】
請求項3に記載の発明は、請求項1または2に記載の電子情報記憶媒体において、前記コマンドは、前記開設対象となる1の論理チャネルを示ことを特徴とする。
【0009】
請求項4に記載の発明は、複数のインターフェースを備え、複数のアプリケーションが搭載されるICカードであって、論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段と、を備えることを特徴とする。
【0010】
請求項5に記載の発明は、複数のインターフェースを備え、複数のアプリケーションが搭載されるICチップであって、論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、前記アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段と、を備えることを特徴とする。
【0011】
請求項6に記載の発明は、複数のインターフェースを備え、複数のアプリケーションが搭載される電子情報記憶媒体により実行される論理チャネル利用方法であって、論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶手段に記憶するステップと、外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信するステップと、前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定するステップと、前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行するステップと、前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定するステップと、前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定するステップと、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行するステップと、を含むことを特徴とする。
【0012】
請求項7に記載の発明は、複数のインターフェースを備え、複数のアプリケーションが搭載される電子情報記憶媒体に含まれるコンピュータを、前記論理チャネルごとに利用可能なインターフェースを規定する第1管理情報と、アプリケーションごとに利用可能な論理チャネルを規定する第2管理情報とを記憶する記憶手段と、外部端末から所定のコマンドを、前記複数のインターフェースのうち動作中の1のインターフェースを介して受信する受信手段と、前記コマンドの受信に応じて複数の前記論理チャネルのうち開設対象となる1の論理チャネルが前記動作中の1のインターフェースで利用可能であるか否かを、前記第1管理情報に基づいて判定する第1判定手段と、前記1の論理チャネルが前記1のインターフェースで利用可能であると判定された場合に、前記1の論理チャネルを開設する処理を実行する第1処理手段と、前記複数のアプリケーションのうち、前記開設された前記1の論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する第2判定手段と、前記デフォルトで割り当てられているアプリケーションがあると判定された場合に、当該デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であるか否かを、前記第2管理情報に基づいて判定する第判定手段と、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能であると判定された場合に、前記デフォルトで割り当てられているアプリケーションを選択する処理を実行する一方、前記デフォルトで割り当てられているアプリケーションが前記開設された前記1の論理チャネルで利用可能でないと判定された場合に、エラー処理を実行する第2処理手段として機能させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、論理チャネルごとに利用可能なインターフェースを管理するとともに、アプリケーションごとに利用可能な論理チャネルを管理することで利便性を向上することができる。
【図面の簡単な説明】
【0014】
図1】ICカードCの概要構成例を示す図である。
図2】ICチップ2のハードウェア構成例を示す図である。
図3】(A)は管理テーブルTB1の一例を示す図であり、(B)は管理テーブルTB2の一例を示す図である。
図4】実施例1においてICチップ2のCPU21により実行される論理チャネル開設処理の一例を示すフローチャートである。
図5】実施例2においてICチップ2のCPU21により実行される論理チャネル開設処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施形態は、外部端末との間で通信を行うための複数のインターフェースを備え、複数のアプリケーションが搭載されるICカードに対して本発明を適用した場合の実施の形態である。
【0016】
[1.ICカードCの構成及び機能]
先ず、図1を参照して、本実施形態に係るICカードCの構成及び機能について説明する。図1は、ICカードCの概要構成例を示す図である。ICカードCの例として、クレジットカード、電子マネーカード、出入口ゲート通過用カード等が挙げられる。図1に示すように、ICカードCは、アンテナ1、及び複数のインターフェースを備えるICチップ2等を含んで構成される。ICカードC及びICチップ2は、本発明の電子情報記憶媒体の一例である。ICチップ2には、異なる複数のサービス(例えば、決済サービス)のそれぞれに対応するアプリケーション(つまり、複数のアプリケーション)が搭載(インストール)されている。なお、以下の説明において、複数のインターフェースのうち、非接触通信用インターフェースを「インターフェースI/F1」と称し、接触通信用インターフェースを「インターフェースI/F2」と称する。インターフェースI/F1は、アンテナ1に接続される非接触通信用端子(La,Lb)を備えており、非接触フィールド内でアンテナ1を介して例えば決済端末T1(外部端末の一例)の非接触リーダライタとの間で非接触通信(例えば、国際規格ISO/IEC 14443に準拠する非接触通信)を行う。
【0017】
図2は、ICチップ2のハードウェア構成例を示す図である。図2に示すように、ICチップ2は、CPU(Central Processing Unit)21、RAM(Random Access Memory)22、ROM(Read Only Memory)23、NVM(Nonvolatile Memory)24、及びI/O回路25等を備えて構成される。I/O回路25は、例えば国際規格ISO/IEC 7816に準拠するC1~C8の8つの端子を備える。ここで、C1端子は電源端子(VCC)であり、C2端子はリセット信号を入力するためのリセット端子(RST)であり、C3端子はクロック信号を入力するためのクロック端子(CLK)であり、C5端子はグランド端子(GND)である。C6端子はアンテナ1を介して決済端末T1の非接触リーダライタとの間のインターフェースI/F1を担う端子(例えば、SWP(Single Wire Protocol)に従った通信に利用される端子)である。C7端子は例えば決済端末T2(外部端末の一例)の接触リーダライタとの間のインターフェースI/F2を担う端子である。なお、C4端子及びC8端子は、その他の外部端末との間のインターフェース(例えば、USB(Universal Serial Bus)転送用のインターフェース、またはSPI(Serial Peripheral Interface))用として利用することができる。
【0018】
CPU21は、ROM23またはNVM24(記憶手段の一例)に記憶されたプログラム(本発明のプログラムを含む)を実行するプロセッサ(コンピュータ)である。NVM24には、例えばフラッシュメモリが適用できる。なお、NVM24は、「Electrically Erasable Programmable Read-Only Memory」などの不揮発性メモリであってもよい。ROM23またはNVM24には、OS(Operating System)及びOS上で動作する複数のアプリケーション等のプログラム(本発明のプログラムを含む)、並びに複数の管理テーブルTB1,TB2が記憶される。OSは、ICチップ2の基本動作を担う基本機能、管理テーブルTB1を用いて複数のインターフェースの管理を担うインターフェース管理機能、及び管理テーブルTB2を用いて複数の論理チャネルの管理を担う論理チャネル管理機能を有する。
【0019】
ここで、ICチップ2の基本動作を担う基本機能には、複数のインターフェースのうち動作中のインターフェースを認識する機能が含まれる。動作中のインターフェースとは、例えばリセットイベントの発生により活性化しているインターフェースをいう。例えば、インターフェースI/F1のリセットイベントは、I/O回路25におけるC6端子がHigh状態(pullup)にされることで発生する。また、インターフェースI/F1のリセットイベントは、例えば、決済端末T1の非接触リーダライタが放射する動作磁界フィールドにICカードCが進入することにより電力が供給されてIDLE状態に遷移することで発生する(国際規格ISO/IEC14443-3「5.2.1 Polling」に準拠)。一方、インターフェースI/F2のリセットイベントは、例えばI/O回路25におけるC1端子及びC2端子(または、C7端子)がHigh状態にされることで発生する。なお、インターフェースが活性化すると、基本論理チャネル(チャネル番号ch0の論理チャネル)が開設されてもよい。管理テーブルTB1(第1管理情報の一例)は、論理チャネルごとに利用可能なインターフェースを規定する。一方、管理テーブルTB2(第2管理情報の一例)は、アプリケーションごとに利用可能な論理チャネルを規定する。
【0020】
図3(A)は管理テーブルTB1の一例を示す図である。図3(A)に示す管理テーブルTB1では、チャネル番号ch0に対してインターフェース識別子IF1,IF2が対応付けられているため、チャネル番号ch0の論理チャネルはインターフェースI/F1及びI/F2で利用可能であることを表す。換言すると、チャネル番号ch0の論理チャネルはインターフェースI/F1及びI/F2の動作をサポートする。また、図3(A)に示す管理テーブルTB1では、チャネル番号ch1に対してインターフェース識別子IF2が対応付けられているため、チャネル番号ch1の論理チャネル(追加論理チャネル)はインターフェースI/F2のみで利用可能であることを表す。また、図3(A)に示す管理テーブルTB1では、チャネル番号ch2に対してインターフェース識別子IF1が対応付けられているため、チャネル番号ch2の論理チャネル(追加論理チャネル)はインターフェースI/F1のみで利用可能であることを表す。
【0021】
一方、図3(B)は管理テーブルTB2の一例を示す図である。図3(B)に示す管理テーブルTB2では、アプリケーション識別子AID1に対してチャネル番号ch0~ch2が対応付けられているため、アプリケーション識別子AID1のアプリケーションはチャネル番号ch0~ch2のそれぞれの論理チャネルで利用可能であることを表す。換言すると、アプリケーション識別子AID1のアプリケーションはチャネル番号ch0~ch2のそれぞれの論理チャネルでの動作がサポートされる。また、図3(B)に示す管理テーブルTB2では、アプリケーション識別子AID2に対してチャネル番号ch1が対応付けられているため、アプリケーション識別子AID2のアプリケーションはチャネル番号ch1の論理チャネルのみで利用可能であることを表す。また、図3(B)に示す管理テーブルTB2では、アプリケーション識別子AID3に対してチャネル番号ch2が対応付けられているため、アプリケーション識別子AID3のアプリケーションはチャネル番号ch2の論理チャネルのみで利用可能であることを表す。
【0022】
なお、アプリケーションは、インスタンス化された複数のオブジェクトの集合であり、外部端末からのコマンドを処理する実体である。また、NVM24には、アプリケーションにより利用されるファイルが記憶される。かかるファイルには、例えば、MF(Master File)、DF(Dedicated File)、及びEF(Elementary File)などがある。各ファイルはファイル識別子により識別される。MFは、ファイル構成において最上位に位置し、MFの下位階層(配下)にはDF及びEFが位置する。また、MFの配下には、例えば、アプリケーションごとにDF(アプリケーションDF)が設けられるとよい。各アプリケーションDFの配下にあるEFは、各アプリケーションにより利用されるデータを格納する。また、EFは、IEFとWEFに分けられる。IEFには、例えば、セッションキーなどのPIN(照合鍵)が格納される。
【0023】
以上のように構成されたICチップ2において、CPU21は、本発明のプログラムを実行することにより本発明における受信手段、第1判定手段、第2判定手段、及び処理手段として機能する。具体的には、CPU21は、外部端末(T1またはT2)から所定のコマンドを、複数のインターフェースのうち動作中の1のインターフェースを介して受信すると、当該コマンドの受信に応じて、複数の論理チャネルのうち開設対象となる1の論理チャネルが動作中の1のインターフェースで利用可能であるか否かを管理テーブルTB1に基づいて判定し、且つ複数のアプリケーションのうち選択対象となる1のアプリケーションが開設対象となる1の論理チャネルで利用可能であるか否かを管理テーブルTB2に基づいて判定する。
【0024】
ここで、選択対象となる1のアプリケーションとは、何れかの1以上の論理チャネルに対してデフォルトで割り当てられているアプリケーション、またはISO/IEC 7816-4に規定されたSELECTコマンドに示される(つまり、SELECTコマンドで指定される)アプリケーションである。何れかの1以上の論理チャネルに対してデフォルトで割り当てられているアプリケーションは、当該論理チャネルで暗黙的に選択可能なアプリケーションであり、OSの論理チャネル管理機能によって、管理テーブルTB2とは別に(分離して)管理されている。SELECTコマンドは、CLA、INS、P1及びP2からなるヘッダ部、及びData等からなるボディ部を含むコマンドAPDU(Application Protocol Data Unit)により構成される。SELECTコマンドでは、例えば、選択対象となるアプリケーションにより利用されるファイルのファイル識別子がP1で符号化され、選択対象となるアプリケーションのアプリケーション識別子がボディ部のDataに含まれる。
【0025】
また、開設対象となる1の論理チャネルとは、例えば、未開設の論理チャネルである。論理チャネルを開設するためのコマンドの例として、上記SELECTコマンドと、ISO/IEC 7816-4に規定されたMANAGE CHANNELコマンドとが挙げられる。MANAGE CHANNEL コマンドは、INS、P1及びP2からなるヘッダ部を含む(ボディ部を含む場合もある)コマンドAPDUにより構成される。SELECTコマンドでは、例えば、開設対象となる論理チャネルのチャネル番号がCLAで符号化される。一方、MANAGE CHANNELコマンドでは、例えば、開設対象となる論理チャネルのチャネル番号がP2で符号化される。なお、開設対象となる1の論理チャネルとは、インターフェースの活性化により開設された基本論理チャネルであってもよく、この場合、SELECTコマンドにより開設対象となる基本論理チャネルのチャネル番号はCLAで符号化されなくてよい。
【0026】
そして、CPU21は、開設対象となる1の論理チャネルが動作中の1のインターフェースで利用可能であると判定し、且つ選択対象となる1のアプリケーションが開設対象となる1の論理チャネルで利用可能であると判定した場合に、開設対象となる1の論理チャネルを開設し、且つ選択対象となる1のアプリケーションを選択する処理を実行する。一方、CPU21は、開設対象となる1の論理チャネルが動作中の1のインターフェースで利用可能でないと判定するか、または選択対象となる1のアプリケーションが開設対象となる1の論理チャネルで利用可能でないと判定した場合に、エラー処理を実行する。
【0027】
[2.ICカードCの動作]
次に、ICカードCの動作について、実施例1と実施例2とに分けて説明する。なお、実施例1及び実施例2では、例えばリセットイベントの発生により何れか1のインターフェースにおいて初期化シーケンス(ICチップ2からの初期応答等を含む)が実行され、インターフェースが活性化(動作)しているものとする。
【0028】
(実施例1)
先ず、図4を参照して、実施例1におけるICカードCの動作について説明する。図4は、実施例1においてICチップ2のCPU21(例えば、OS)により実行される論理チャネル開設処理の一例を示すフローチャートである。図4に示す処理は、外部端末から動作中のインターフェースを介してMANAGE CHANNELコマンドが受信された場合に開始される。
【0029】
図4に示す処理が開始されると、CPU21は、動作中のインターフェースを特定(例えば、インターフェース識別子により特定)する(ステップS1)。次いで、CPU21は、MANAGE CHANNELコマンドにより示される開設対象となる論理チャネルを特定(例えば、チャネル番号で特定)する(ステップS2)。次いで、CPU21は、ステップS2で特定された論理チャネルが、ステップS1で特定されたインターフェースで利用可能であるか否かを管理テーブルTB1に基づいて判定する(ステップS3)。
【0030】
ステップS2で特定された論理チャネルが、ステップS1で特定されたインターフェースで利用可能でないと判定された場合(ステップS3:NO)、エラー処理が行われる(ステップS4)。かかるエラー処理では、例えばエラーを示すステータスワードSW1,SW2を含むレスポンスAPDUが動作中のインターフェースを介して外部端末へ送信される。一方、ステップS2で特定された論理チャネルが、ステップS1で特定されたインターフェースで利用可能であると判定された場合(ステップS3:YES)、処理はステップS5へ進む。
【0031】
ステップS5では、CPU21は、ステップS2で特定された論理チャネルを開設する。次いで、CPU21は、ステップS2で特定された論理チャネルに対してデフォルトで割り当てられているアプリケーションがあるか否かを判定する(ステップS6)。デフォルトで割り当てられているアプリケーションがないと判定された場合(ステップS6:NO)、正常終了を示すステータスワードSW1,SW2を含むレスポンスAPDUが動作中のインターフェースを介して外部端末へ送信される(ステップS7)。かかるレスポンスAPDUには、開設された論理チャネルのチャネル番号が含まれてもよい。一方、デフォルトで割り当てられているアプリケーションがあると判定された場合(ステップS6:YES)、処理はステップS8へ進む。なお、デフォルトで割り当てられているアプリケーションがあると判定された場合、処理はステップS10へ進んでもよい。
【0032】
ステップS8では、CPU21は、デフォルトで割り当てられているアプリケーションが、ステップS2で特定された論理チャネルで利用可能であるか否かを管理テーブルTB2に基づいて判定する。デフォルトで割り当てられているアプリケーションが、ステップS2で特定された論理チャネルで利用可能でないと判定された場合(ステップS8:NO)、上記ステップS4と同様にエラー処理が行われる(ステップS9)。これにより、論理チャネルに対してアプリケーションがデフォルトで割り当てられている場合であっても、後から発行される管理テーブルTB2にしたがって当該論理チャネルでの利用可否を決定することができるので、ICカードCの利便性を高めることができる。
【0033】
一方、デフォルトで割り当てられているアプリケーションが、ステップS2で特定された論理チャネルで利用可能であると判定された場合(ステップS8:YES)、処理はステップS10へ進む。ステップS10では、CPU21は、デフォルトで割り当てられているアプリケーションを選択する。次いで、CPU21は、正常終了を示すステータスワードSW1,SW2を含むレスポンスAPDUを動作中のインターフェースを介して外部端末へ送信する(ステップS11)。かかるレスポンスAPDUには、選択されたアプリケーションにより利用されるファイルに関するFCI(File Control Information)が含まれる。
【0034】
(実施例2)
次に、図5を参照して、実施例2におけるICカードCの動作について説明する。図5は、実施例2においてICチップ2のCPU21(例えば、OS)により実行される論理チャネル開設処理の一例を示すフローチャートである。図5に示す処理は、外部端末から動作中のインターフェースを介してSELECTコマンドが受信された場合に開始される。
【0035】
図5に示す処理が開始されると、CPU21は、動作中のインターフェースを特定する(ステップS21)。次いで、CPU21は、SELECTコマンドにより示される開設対象となる論理チャネルを特定する(ステップS22)。なお、基本論理チャネルが既に開設されている場合、当該基本論理チャネルが特定される。次いで、CPU21は、SELECTコマンドにより示される選択対象となるアプリケーションを特定(例えば、アプリケーション識別子により特定)する(ステップS23)。
【0036】
次いで、CPU21は、ステップS22で特定された論理チャネルが、ステップS21で特定されたインターフェースで利用可能であるか否かを管理テーブルTB1に基づいて判定する(ステップS24)。ステップS22で特定された論理チャネルが、ステップS21で特定されたインターフェースで利用可能でないと判定された場合(ステップS24:NO)、上記ステップS4と同様にエラー処理が行われる(ステップS25)。一方、ステップS22で特定された論理チャネルが、ステップS21で特定されたインターフェースで利用可能であると判定された場合(ステップS24:YES)、処理はステップS26へ進む。
【0037】
ステップS26では、CPU21は、ステップS23で特定されたアプリケーションが、ステップS22で特定された論理チャネルで利用可能であるか否かを管理テーブルTB2に基づいて判定する。ステップS23で特定されたアプリケーションが、ステップS22で特定された論理チャネルで利用可能でないと判定された場合(ステップS26:NO)、上記ステップS4と同様にエラー処理が行われる(ステップS27)。
【0038】
一方、ステップS23で特定されたアプリケーションが、ステップS22で特定された論理チャネルで利用可能であると判定された場合(ステップS26:YES)、処理はステップS28へ進む。ステップS28では、CPU21は、ステップS22で特定された論理チャネルを開設し、処理をステップS29へ進める。なお、基本論理チャネルが既に開設されている場合、ステップS28の処理はスキップされ、処理はステップS29へ進む。
【0039】
ステップS29では、CPU21は、ステップS23で特定されたアプリケーションを選択する。次いで、CPU21は、正常終了を示すステータスワードSW1,SW2を含むレスポンスAPDUを動作中のインターフェースを介して外部端末へ送信する(ステップS30)。かかるレスポンスAPDUには、選択されたアプリケーションにより利用されるファイルに関するFCI(File Control Information)が含まれ、さらに、開設された論理チャネルのチャネル番号が含まれてもよい。
【0040】
以上説明したように、上記実施形態によれば、ICチップ2は、外部端末から所定のコマンドを動作中のインターフェースを介して受信すると、当該コマンドの受信に応じて、開設対象となる論理チャネルが動作中のインターフェースで利用可能であるか否かを管理テーブルTB1に基づいて判定し、且つ選択対象となるアプリケーションが開設対象となる論理チャネルで利用可能であるか否かを管理テーブルTB2に基づいて判定する。そして、ICチップ2は、開設対象となる論理チャネルが動作中のインターフェースで利用可能であると判定し、且つ選択対象となるアプリケーションが開設対象となる論理チャネルで利用可能であると判定した場合に、開設対象となる論理チャネルを開設し、且つ選択対象となるアプリケーションを選択する処理を実行するように構成したので、ICカードCの誤った利用や不正利用を防ぎ、利便性を向上することができる。
【0041】
なお、上記実施形態においては、接触通信用インターフェースと非接触通信用インターフェースを備えるICカードCを例にとって説明したが、本発明は複数の接触通信用インターフェースを備えるICカードに対して適用可能である。また、上記実施形態においては、ICチップ2が搭載されたICカードCを例にとって説明したが、本発明のICチップ2はスマートフォン等の通信機器に着脱可能な小型ICカードに搭載されてもよいし、或いは、eUICC(Embedded Universal Integrated Circuit Card)として当該通信機器から容易に取り外しや取り換えができないように組み込み基板上に搭載されてもよい。この場合、ICチップ2のインターフェースI/F1は、当該通信機器が備えるCLF(ContactLess Front-end)に接続され、当該CLFを介して例えば決済端末T1の非接触リーダライタとの間で非接触通信を行う。なお、インターフェースI/F1とCLFとの間は例えばSWPに従った通信が行われる。
【符号の説明】
【0042】
1 アンテナ
2 CLF
2 ICチップ
21 CPU
22 RAM
23 ROM
24 NVM
25 I/O回路
C ICカード
【要約】      (修正有)
【課題】論理チャネルごとに利用可能なインターフェースを管理するとともに、アプリケーションごとに利用可能な論理チャネルを管理することで利便性を向上することが可能な電子情報記憶媒体、ICカード、ICチップ、論理チャネル利用方法及びプログラムを提供する。
【解決手段】ICチップにより実行される方法であって、ICカードが外部端末から所定のコマンドを動作中のインターフェースを介して受信すると、開設対象となる論理チャネルが動作中のインターフェースで利用可能であるか否かを管理テーブルTB1に基づいて判定し、且つ、選択対象となるアプリケーションが開設対象となる論理チャネルで利用可能であるか否かを管理テーブルTB2に基づいて判定する。いずれも利用可能であると判定した場合に、開設対象となる論理チャネルを開設し、且つ、選択対象となるアプリケーションを選択する処理を実行する。
【選択図】図5
図1
図2
図3
図4
図5