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

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

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

特開2024-87308電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラム
<>
  • 特開-電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラム 図1
  • 特開-電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラム 図2
  • 特開-電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024087308
(43)【公開日】2024-07-01
(54)【発明の名称】電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20240624BHJP
   G06K 19/073 20060101ALI20240624BHJP
   G06F 9/455 20180101ALN20240624BHJP
【FI】
G06F9/50 150A
G06K19/073 009
G06F9/455 150
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022202061
(22)【出願日】2022-12-19
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】弁理士法人インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【弁理士】
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】山田 真生
(57)【要約】
【課題】メッセージ送信側の制御機器の既存仕様を変更することなく、メッセージ送信側の意図に解釈されない不都合の発生を回避することが可能な電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラムを提供する。
【解決手段】SE1は、SE1が搭載される装置の制御機器2からSE1内の特定のアプリケーションに対する所定のメッセージが受信された場合に、仮想SEスイッチャー1cによって、現在選択中の仮想SEを特定し、特定された仮想SEのOSへ当該メッセージを伝送する。
【選択図】図3
【特許請求の範囲】
【請求項1】
オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能な電子情報記憶媒体であって、
前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定する特定手段と、
前記特定手段により特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送する伝送手段と、
を備えることを特徴とする電子情報記憶媒体。
【請求項2】
前記外部機器から前記ソフトウェアエレメントの切り替え命令が受信された場合に、当該切り替え命令にしたがって、現在選択中の前記ソフトウェアエレメントを他の1つの前記ソフトウェアエレメントに切り替える切り替え手段を更に備えることを特徴とする請求項1に記載の電子情報記憶媒体。
【請求項3】
それぞれの前記ソフトウェアエレメントには、固有の識別子が付与されており、
前記切り替え命令には、何れか1つの前記ソフトウェアエレメントに付与された識別子が付加されており、
前記切り替え手段は、前記切り替え命令に付加された前記識別子により識別される前記ソフトウェアエレメントに切り替えることを特徴とする請求項2に記載の電子情報記憶媒体。
【請求項4】
前記外部機器から前記電子情報記憶媒体の性能情報読み出し命令が受信された場合に、前記電子情報記憶媒体の性能情報を前記外部機器へ送信する送信手段を更に備えることを特徴とする請求項3に記載の電子情報記憶媒体。
【請求項5】
前記性能情報には、それぞれの前記ソフトウェアエレメントに付与された識別子を特定するための情報が含まれることを特徴とする請求項4に記載の電子情報記憶媒体。
【請求項6】
前記性能情報には、前記ソフトウェアエレメントに搭載されるアプリケーションに紐付けられている専用ファイルのファイル名または当該アプリケーションに付与された識別子が含まれることを特徴とする請求項4に記載の電子情報記憶媒体。
【請求項7】
前記特定手段は、前記外部機器から、前記ソフトウェアエレメントに搭載されるアプリケーションに対する前記所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定することを特徴とする請求項1乃至6の何れか一項に記載の電子情報記憶媒体。
【請求項8】
前記オペレーティングシステムは、同じ前記ソフトウェアエレメントに搭載される前記アプリケーションへ前記メッセージを伝送するための論理チャネルを管理することを特徴とする請求項7に記載の電子情報記憶媒体。
【請求項9】
第1の前記ソフトウェアエレメントに搭載される前記アプリケーションに割り当てられた前記論理チャネルの番号と、第2の前記ソフトウェアエレメントに搭載される前記アプリケーションに割り当てられた前記論理チャネルの番号とは同一であることを特徴とする請求項8に記載の電子情報記憶媒体。
【請求項10】
第1の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名と、第2の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名とは同一であることを特徴とする請求項9に記載の電子情報記憶媒体。
【請求項11】
第1の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名と、第2の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名とは同一であることを特徴とする請求項7に記載の電子情報記憶媒体。
【請求項12】
オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能なICチップであって、
前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定する特定手段と、
前記特定手段により特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送する伝送手段と、
を備えることを特徴とするICチップ。
【請求項13】
オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能な電子情報記憶媒体に含まれるコンピュータにより実行されるメッセージ伝送方法であって、
前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定するステップと、
前記特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送するステップと、
を含むことを特徴とするメッセージ伝送方法。
【請求項14】
オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能な電子情報記憶媒体に含まれるコンピュータを、
前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定する特定手段と、
前記特定手段により特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送する伝送手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オペレーティングシステム及びオペレーティングシステムにより管理される1以上のアプリケーションが搭載されるソフトウェアエレメントを複数備えるICチップ等の技術分野に関する。
【背景技術】
【0002】
近年、単一の装置に複数のIC(Integrated Circuit)チップを実装するケースが知られている。例えば、スマートフォンに複数のSIM(Subscriber Identity Module)カードが実装されるケースや、自動車に複数のセキュアエレメントが実装されるケースがある。特許文献1には、複数のSIMを備えるSIMカードの技術が開示されている。これらのユースケースでは、ICチップに対してメッセージを送信するメッセージ送信側の制御機器が、接続されているICチップの素性を把握し、使用する信号線を物理的に切り替えながらメッセージの送信を実行している。これにより、複数のICチップがそれぞれ別々の機能及び特性を持ちながらも、同一のメッセージを受信することが可能になる。例えばメッセージのフォーマットとしてISO/IEC 7816-4に定義されるSELECT コマンドのAPDU(Application Protocol Data Unit)は、CLA、INS、P1及びP2とから構成されるヘッダと、Lc、Data及びLeとから構成されるボディとからなる。ここで、SELECT コマンドのCLAにはコマンドクラス、及び論理チャネルの番号が示される。論理チャネルは、ICチップ内に論理的に設けられたメッセージ用伝送経路であり、例えば0番から19番までのうちから何れかの番号を指定することができる。ICチップの用途によっては、特定の機能を動作させる際に特定の番号の論理チャネルを固定的に使用させる場合もある。また、SELECTコマンドのDataには、ICチップ内に論理的に記憶されている専用ファイル(Dedicated File)のうちアプリケーションに紐付けられている専用ファイル(Application DF)のファイル名(DF名)が含まれる。
【0003】
このように単一のICチップが固有のメッセージによって動作することを必要とする場合において、単一の装置が複数のICチップを実装することは非常に都合が良く、仮にそれぞれのICチップが異なった機能や特性を持っていたとしてもメッセージ送信側からメッセージを送信する際にはその機能や性能の差を意識することなく、同一のメッセージを送信することによってICチップを動作させることが可能になる。一方、半導体技術の進歩によって、ICチップは従来よりも高度な処理を実行できるようになり、また多数のアプリケーションを搭載できるようにもなっている。さらに、スマートフォンに代表されるスマートデバイスやコネクテッドカーと言った装置にICチップが組み込まれるようになり、従来のようにICカードの発行者がICカードの管理権限の所有者になるのではなく、装置購入者がICチップの管理権限の所有者になることもある。これは、例えば利害が一致しない競合他社のサービスを単一のICチップに搭載することが容易になるなど、単一のICチップがサポートできる機能を技術的にも商流的にも飛躍的に向上させる大きな要因となっている。さらに、本来であれば複数のICチップを実装すべきだった装置が単一のICチップに機能を集約できるようになったため、筐体の小型化や部品点数の低減によるコストダウンを可能にする等、装置設計、開発、及び製造の観点においても大きく貢献することとなった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第6732948号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、固有のメッセージによって動作する複数のICチップのアプリケーションを単一のICチップに集約して、装置設計、開発、及び製造の観点における貢献を図ると、単一のICチップに搭載された複数のアプリケーションが同一の論理チャネルの番号及び同一のファイル名を有する同一のメッセージによって動作する事態が発生するなど、当該メッセージがメッセージ送信側の意図に解釈されない実装上の不都合を引き起こす可能性がある。そのため、同一のメッセージによって動作するアプリケーションの実装仕様を変更した上で、メッセージ送信側の制御機器の既存仕様を変更して対応する必要があり、実現のためには多大なコストを費やさねばならないという問題がある。
【0006】
そこで、本発明は、上記問題等に鑑みてなされたものであり、メッセージ送信側の制御機器の既存仕様を変更することなく、メッセージ送信側の意図に解釈されない不都合の発生を回避することが可能な電子情報記憶媒体、ICチップ、メッセージ伝送方法、及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、請求項1に記載の発明は、オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能な電子情報記憶媒体であって、前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定する特定手段と、前記特定手段により特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送する伝送手段と、を備えることを特徴とする。
【0008】
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記外部機器から前記ソフトウェアエレメントの切り替え命令が受信された場合に、当該切り替え命令にしたがって、現在選択中の前記ソフトウェアエレメントを他の1つの前記ソフトウェアエレメントに切り替える切り替え手段を更に備えることを特徴とする。
【0009】
請求項3に記載の発明は、請求項2に記載の電子情報記憶媒体において、それぞれの前記ソフトウェアエレメントには、固有の識別子が付与されており、前記切り替え命令には、何れか1つの前記ソフトウェアエレメントに付与された識別子が付加されており、前記切り替え手段は、前記切り替え命令に付加された前記識別子により識別される前記ソフトウェアエレメントに切り替えることを特徴とする。
【0010】
請求項4に記載の発明は、請求項3に記載の電子情報記憶媒体において、前記外部機器から前記電子情報記憶媒体の性能情報読み出し命令が受信された場合に、前記電子情報記憶媒体の性能情報を前記外部機器へ送信する送信手段を更に備えることを特徴とする。
【0011】
請求項5に記載の発明は、請求項4に記載の電子情報記憶媒体において、前記性能情報には、それぞれの前記ソフトウェアエレメントに付与された識別子を特定するための情報が含まれることを特徴とする。
【0012】
請求項6に記載の発明は、請求項4に記載の電子情報記憶媒体において、前記性能情報には、前記ソフトウェアエレメントに搭載されるアプリケーションに紐付けられている専用ファイルのファイル名または当該アプリケーションに付与された識別子が含まれることを特徴とする。
【0013】
請求項7に記載の発明は、請求項1乃至6の何れか一項に記載の電子情報記憶媒体において、前記特定手段は、前記外部機器から、前記ソフトウェアエレメントに搭載されるアプリケーションに対する前記所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定することを特徴とする。
【0014】
請求項8に記載の発明は、請求項7に記載の電子情報記憶媒体において、前記オペレーティングシステムは、同じ前記ソフトウェアエレメントに搭載される前記アプリケーションへ前記メッセージを伝送するための論理チャネルを管理することを特徴とする。
【0015】
請求項9に記載の発明は、請求項8に記載の電子情報記憶媒体において、第1の前記ソフトウェアエレメントに搭載される前記アプリケーションに割り当てられた前記論理チャネルの番号と、第2の前記ソフトウェアエレメントに搭載される前記アプリケーションに割り当てられた前記論理チャネルの番号とは同一であることを特徴とする。
【0016】
請求項10に記載の発明は、請求項9に記載の電子情報記憶媒体において、第1の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名と、第2の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名とは同一であることを特徴とする。
【0017】
請求項11に記載の発明は、請求項7に記載の電子情報記憶媒体において、第1の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名と、第2の前記ソフトウェアエレメントに搭載される前記アプリケーションに紐付けられている専用ファイルのファイル名とは同一であることを特徴とする。
【0018】
請求項12に記載の発明は、オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能なICチップであって、前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定する特定手段と、前記特定手段により特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送する伝送手段と、を備えることを特徴とする。
【0019】
請求項13に記載の発明は、オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能な電子情報記憶媒体に含まれるコンピュータにより実行されるメッセージ伝送方法であって、前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定するステップと、前記特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送するステップと、を含むことを特徴とする。
【0020】
請求項14に記載の発明は、オペレーティングシステムが搭載されるソフトウェアエレメントを複数備え、外部機器との間で通信可能な電子情報記憶媒体に含まれるコンピュータを、前記外部機器から所定のメッセージが受信された場合に、複数の前記ソフトウェアエレメントのうち現在選択中の前記ソフトウェアエレメントを特定する特定手段と、前記特定手段により特定された前記ソフトウェアエレメントの前記オペレーティングシステムへ前記メッセージを伝送する伝送手段として機能させることを特徴とする。
【発明の効果】
【0021】
本発明によれば、メッセージ送信側の制御機器の既存仕様を変更することなく、メッセージ送信側の意図に解釈されない不都合の発生を回避することができる。
【図面の簡単な説明】
【0022】
図1】SE1のハードウェア構成例を示す図である。
図2】SE1のソフトウェア構成例を示す図である。
図3】SE1と制御機器2との間で実施される動作例を示すシーケンス図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、セキュアエレメント(以下、「SE」という)に対して本発明を適用した場合の実施の形態である。SEは、例えばスマートデバイスまたはコネクテッドカーなどの単一の装置に搭載され、当該装置の制御機器(メッセージ送信側の制御機器)との間で通信可能になっている。例えば、SEがコネクテッドカーに搭載される場合、SEは制御機器としてのECU(Electronic Control Unit)と通信し、コネクテッドカーのエンジンの制御に用いられる鍵、及びコネクテッドカーのドアの制御に用いられる鍵を保持する。なお、単一の装置は、例えば住宅の扉を施解錠するための装置や、配送物を収納するロッカーの扉を施解錠するための装置であってもよい。
【0024】
[1.SE1の構成及び機能]
先ず、図1を参照して、本実施形態に係るSE1の構成及び機能について説明する。図1は、SE1のハードウェア構成例を示す図である。SE1は、本発明の電子情報記憶媒体の一例である。図1に示すように、SE1は、インターフェース11、RAM(Random Access Memory)12、ROM(Read Only Memory)13、NVM(Nonvolatile Memory)14、及びCPU(Central Processing Unit)15を備えて構成される。SE1は、単一のICチップから構成されるとよい。SE1は、着脱可能なICカードとして単一の装置に搭載されてもよいし、eUICC(Embedded Universal Integrated Circuit Card)として単一の装置から容易に取り外しや取り換えができないように組み込み基盤上に搭載されてもよい。
【0025】
インターフェース11は、単一の装置の制御機器2(外部機器の一例)に接触または非接触で接続可能になっている。インターフェース11は、接触通信インターフェースと非接触通信インターフェースとの双方または何れか一方を備える。接触通信インターフェースは、例えばISO/IEC7816で定義されるI/O回路(例えば、C1~C8の8個の端子を含む)を備える。なお、接触通信インターフェースは、SPI(Serial Peripheral Interface)であってもよい。一方、非接触通信インターフェースは、例えば変復調回路を備え、制御機器2から発せられ、アンテナ(図示せず)で受信された搬送波からデータを復調する。また、非接触通信インターフェースは、CPU15からのデータを変調し変調信号としてアンテナ(図示せず)へ出力する。
【0026】
NVM14には、例えばフラッシュメモリが適用される。NVM14は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。ROM13またはNVM14には、ソフトウェアエレメント等を構成するためのプログラム(本発明のプログラムを含む)が記憶される。図2は、SE1のソフトウェア構成例を示す図である。図2に示すように、SE1は、仮想SE1a(第1のソフトウェアエレメントの一例)、仮想SE1b(第2のソフトウェアエレメントの一例)、及び仮想SE1a,1bの切り替え等の処理を行う仮想SEスイッチャー1cを備える。つまり、CPU15(コンピュータの一例)によって、ROM13またはNVM14におけるプログラムが実行されることで、SE1のハードウェア上には、ソフトウェアとして、仮想SE1a、仮想SE1b、及び仮想SEスイッチャー1cが構築される。このように、単一のSE1に複数のSEが仮想的に実装される形態となる。また、仮想SE1a,1bには、それぞれ固有の識別子が付与される。なお、仮想SE1a,1bは、それぞれ、バイトコードを実行するバーチャルマシンを備えてもよい。
【0027】
仮想SE1aには、オペレーティングシステム(以下、「OS」という)a、及びOSaにより管理されるアプリケーションAPa1~APa3が搭載される。一方、仮想SE1bには、OSb及びOSbにより管理されるアプリケーションAPb1~APb3が搭載される。アプリケーションAPa1~APa3、及びアプリケーションAPb1~APb3は、それぞれ、特定の機能を提供するためのプログラムである。ここで、特定の機能の例として、A国での通話機能、B国での通話機能、C国での通話機能、コネクテッドカーのエンジンを始動するための認証機能、コネクテッドカーの前方右側ドアの開放のための認証機能、コネクテッドカーのドアの開放のための認証機能などが挙げられる。なお、OSaにより管理されるアプリケーションは1つでもあってもよい。同様に、OSbにより管理されるアプリケーションは1つでもあってもよい。また、SE1は、3つ以上の仮想SEを備えてもよい。
【0028】
OSaは、同じ仮想SE1aに搭載されるアプリケーションAPa1~APa3のうち何れかのアプリケーションAPaに対する所定のメッセージを伝送するための論理チャネルを管理する。この論理チャネルは、仮想SE1a内に論理的に設けられたメッセージ用伝送経路であり、OSa上で実行されるアプリケーションAPa1~APa3にアクセスするための論理的なチャネルである。例えば、0番(Ch0)の論理チャネルにはアプリケーションAPa1が割り当てられ、3番(Ch3)の論理チャネルにはアプリケーションAPa2が割り当てられ、4番(Ch4)の論理チャネルにはアプリケーションAPa3が割り当てられる。
【0029】
一方、OSbは、同じ仮想SE1bに搭載されるアプリケーションAPb1~APb3のうち何れかのアプリケーションAPbに対する所定のメッセージを伝送するための論理チャネルを管理する。この論理チャネルは、仮想SE1b内に論理的に設けられたメッセージ用伝送経路であり、OSb上で実行されるアプリケーションAPb1~APb3にアクセスするための論理的なチャネルである。例えば、1番(Ch1)の論理チャネルにはアプリケーションAPb1が割り当てられ、3番(Ch3)の論理チャネルにはアプリケーションAPb2が割り当てられ、5番(Ch5)の論理チャネルにはアプリケーションAPb3が割り当てられる。
【0030】
このように、仮想SE1aに搭載されるアプリケーションAPa2に割り当てられた論理チャネルの番号と、仮想SE1bに搭載されるアプリケーションAPb2に割り当てられた論理チャネルの番号とが同一である(重複する)ことが許容される。例えば、アプリケーションAPa2が提供する機能を使用する場合と、アプリケーションAPb2が提供する機能を使用する場合との双方ともに、3番の論理チャネルを指定することをそれぞれの仕様で要求されている場合に、メッセージ送信側でメッセージの内容を変更することなく(つまり、仕様に則って)、制御機器2は3番の論理チャネルを指定することができる。同様に、仮想SE1aに搭載されるアプリケーションAPa2に紐付けられている専用ファイル(Dedicated File)のファイル名(DF名)と、仮想SE1bに搭載されるアプリケーションAPb2に紐付けられている専用ファイルのファイル名とが同一であることが許容される。
【0031】
仮想SEスイッチャー1cは、本発明における特定手段、伝送手段、切り替え手段、及び送信手段として機能する。例えば、電源供給またリセット受信によりSE1が起動すると、仮想SEスイッチャー1cは、予めデフォルト起動対象として記憶している例えば仮想SE1aを操作対象として選択する。そして、制御機器2からSE1内の特定のアプリケーションに対する所定のメッセージが受信された場合に、仮想SEスイッチャー1cは、仮想SE1a,1bのうち現在選択中の仮想SE1aを特定する。ここで、現在選択中の仮想SE1aとは、例えば、SE1起動時に操作対象として選択された仮想SE1a、または後述する切り替え命令に応じて選択された仮想SE1bである。特定のアプリケーションに対する所定のメッセージとは、例えば、制御機器2のメッセージ生成部により生成されたコマンドAPDUであり、SELECTコマンド、GPO(Get Processing Options)コマンド、Read Recordコマンド、WRITEコマンド、VERIFYコマンドなどが挙げられる。
【0032】
そして、仮想SEスイッチャー1cは、上記特定された仮想SE1aのOSaへ当該メッセージを伝送する。OSaは、受信されたメッセージを解釈して論理チャネルの番号にしたがって、当該論理チャネルを通じて例えばアプリケーションAPa2へ当該メッセージを伝送する。これにより、たとえ、アプリケーションAPa2とアプリケーションAPb2が共通の固定メッセージを要求していたとしても、その固定メッセージがメッセージ送信側の意図に反しアプリケーションAPb2によって処理される事態を回避することができる。換言すると、アプリケーションAPa2によって処理されない事態を回避することができる。
【0033】
また、制御機器2から仮想SEの切り替え命令(変更命令)が受信された場合に、仮想SEスイッチャー1cは、当該切り替え命令にしたがって、現在選択中の仮想SE1aを他の1つの仮想SE1bに切り替える(換言すると、選択を切り替える)。つまり、操作対象としての選択が仮想SE1aから仮想SE1bに切り替えられる(変更される)。ここで、切り替え命令には、仮想SE1bに付与された識別子が付加されてもよい。この場合、仮想SEスイッチャー1cは、切り替え命令に付加された識別子により識別される仮想SE1bに切り替える。或いは、切り替え命令は、次の仮想SEに変更する命令であってもよく、仮想SEスイッチャー1cは、かかる切り替え命令にしたがって、現在選択中の仮想SE1aを次の順番の仮想SE1bに切り替える。この場合、当該切り替え命令には仮想SEに付与された識別子が付加される必要はない。或いは、切り替え命令が次の仮想SEに変更する命令であって、当該命令に識別子が付加された場合には、変更後の仮想SEの一時的な呼び出し符号(エイリアス)として付与された識別子を記憶しておき、以降に同一の識別子を指定した(付加された)切り替え命令を受信した場合には、過去に選択した仮想SEを再度選択する方式であってもよい。
【0034】
また、別の例として、制御機器2から性能情報読み出し命令が受信された場合に、仮想SEスイッチャー1cは、SE1の性能情報を制御機器2へ送信(応答)する。ここで、性能情報には、各仮想SE(選択可能な仮想SE)に付与された識別子を特定するための情報が含まれる。各仮想SEに付与された識別子を特定するための情報の例として、SE1が備える各仮想SEに付与された識別子自体、及びSE1が備える仮想SEの数が挙げられる。性能情報に各仮想SEに付与された識別子が含まれる場合、当該性能情報には、さらに、各仮想SEに搭載されるアプリケーションに紐付けられている専用ファイルのファイル名、または当該アプリケーションに付与された識別子(AID)が仮想SEに付与された識別子に対応付けられて含まれるとよい。また、当該性能情報には、各アプリケーションを動作させるためのコマンドの準拠仕様を示すオブジェクト識別子や、準拠仕様を参照するためのURI(Uniform resource identifier)が含まれていてもよい。
【0035】
一方、性能情報に仮想SEの数が含まれる場合、制御機器2は、SE1において選択可能な仮想SEの数を把握し、その数の範囲において識別子を特定する。例えば、仮想SEの数が2つであれば、予め定められた規則にしたがって、仮想SEに付与された識別子として“01”及び“02”が特定されるとともに、各仮想SEに搭載されるアプリケーションに紐付けられている専用ファイルのファイル名、または当該アプリケーションに付与された識別子が特定される。制御機器2は、使用するべき機能を提供するアプリケーションを備える仮想SEに付与された識別子を切り替え命令に付加してSE1へ送信することで、仮想SEを切り替えつつ適切なメッセージを送信できるようになる。従来、SEを物理的に切り替えながら動作していた装置においては、そのSEを物理的に切り替えるための指示メッセージを、仮想SEの切り替え命令に置き換えて動作させることによって、従来と同等のメッセージ生成部を利用できるようになる。
【0036】
[2.SE1と制御機器2との間で実施される動作]
次に、図3を参照して、SE1と制御機器2との間で実施される動作について説明する。図3は、SE1と制御機器2との間で実施される動作例を示すシーケンス図である。なお、以下の動作例においては、制御機器2がSE1起動時に仮想SE1aが選択されるものとし、且つ、制御機器2が使用するべき機能を提供するアプリケーションAPb2が仮想SE1bに搭載されているものとする。図3において、制御機器2がSE1起動時に選択される仮想SE1aに付与された識別子を事前に取得していない場合で、且つSE1が仮想SEと識別子の対応関係を記憶していて、識別子を受信したら対応する仮想SEを選択できる場合、制御機器2は性能情報読み出し命令をSE1へ送信する(ステップS1)。これにより、後述するように、SE1が制御機器2に対して性能情報を用いて識別子を公開し、明示的に識別子を共有することができるので、制御機器2は識別子を指定して仮想SEを選択することができる。或いは、SE1が制御機器2に対して性能情報を公開しない(或いは、性能情報を公開するが識別子を公開しない)場合であっても、暗黙的に識別子が共有されていれば(例えばSE1の設計仕様を基にして制御機器2が実装されている場合)、制御機器2は識別子を切り替え命令により指定して仮想SEを選択してもよい。
【0037】
一方、SE1が仮想SEと識別子の対応関係を記憶しておらず、識別子を受信しても制御機器2が意図していた仮想SEを特定できない場合、SE1が制御機器2に対して性能情報を公開してもしなくてもよい(公開する場合は仮想SEの数が含まれる場合がある)。この場合、制御機器2は仮想SEを切り替え命令により選択する際に識別子を指定せず、SE1は独自の判断に基づいて仮想SEを選択(例えば発行処理された順序に基づく、設定した優先順位に基づく等)する。或いは、制御機器2は仮想SEを選択する際に識別子を指定するが、SE1は識別子によらず独自の判断に基づいて仮想SEを切り替え命令により選択(例えば発行処理された順序に基づく、設定した優先順位に基づく等)する。そして、仮想SEの選択に成功すると、SE1は使用された識別子をSE1がリセットされるまで(エイリアスとして)記憶し、同一の識別子(エイリアス)が指定されると以前に選択した仮想SEを切り替え命令により再選択する。
【0038】
なお、制御機器2がSE1起動時に選択される仮想SE1aに付与された識別子及び仮想SE1aに搭載されるアプリケーションAPa2に紐付けられている専用ファイルのファイル名(または当該アプリケーションAPa2に付与された識別子)を事前に取得している場合、性能情報読み出し命令をSE1へ送信する必要はない。
【0039】
次いで、SE1の仮想SEスイッチャー1cは、制御機器2からの性能情報読み出し命令を受信すると、上述したように、性能情報を含むレスポンスを制御機器2へ送信(つまり、制御機器2に対して性能情報を公開)する(ステップS2)。次いで、制御機器2は、SE1からの性能情報を含むレスポンスを受信すると、当該性能情報に基づいて、各仮想SEに付与された識別子及び各仮想SEに搭載されるアプリケーションに紐付けられている専用ファイルのファイル名(または当該アプリケーションに付与された識別子)を特定する(ステップS3)。
【0040】
次いで、制御機器2は、使用するべき機能を提供するアプリケーションAPb2を備える仮想SE1bに付与された識別子が付加された切り替え命令をSE1へ送信する(ステップS4)。なお、制御機器2がSE1起動時に選択される仮想SE1aに付与された識別子を事前に取得している場合、制御機器2は、仮想SE1bに付与された識別子を付加することなく、切り替え命令(つまり、次の仮想SE1bに変更する命令)をSE1へ送信してもよい。
【0041】
次いで、SE1の仮想SEスイッチャー1cは、制御機器2からの切り替え命令を受信すると、上述したように、当該切り替え命令にしたがって、現在選択中の仮想SE1aを仮想SE1bに切り替える(ステップS5)。これにより、仮想SE1bが現在選択中となる。次いで、SE1の仮想SEスイッチャー1cは、正常終了(切り替え完了)を示すレスポンスを制御機器2へ送信する(ステップS6)。
【0042】
次いで、制御機器2は、SE1からの正常終了を示すレスポンスを受信すると、使用するべき機能を提供するアプリケーションAPb2を選択するためのSELECTコマンドをSE1へ送信する(ステップS7)。ここで、SELECTコマンドには、例えば、3番の論理チャネル、及びアプリケーションAPb2に紐付けられている専用ファイルのファイル名が示される。
【0043】
次いで、SE1の仮想SEスイッチャー1cは、制御機器2からのSELECTコマンドを受信すると、現在選択中の仮想SE1bを特定する(ステップS8)。次いで、SE1の仮想SEスイッチャー1cは、ステップS8で特定された仮想SE1bのOSbへSELECTコマンドを伝送する(ステップS9)。これにより、OSbは、受信されたSELECTコマンドを解釈して論理チャネルの番号にしたがって、当該論理チャネルを通じてアプリケーションAPb2へ当該SELECTコマンドを伝送する(ステップS10)。そして、OSbは、アプリケーションAPb2からのFCI(File Control Information)を含むレスポンス(正常終了を示す)を制御機器2へ送信する(ステップS11)。
【0044】
次いで、制御機器2は、SE1からのFCIを含むレスポンスを受信すると、次のコマンドAPDU(例えば、GPOコマンド)をSE1へ送信する(ステップS12)。これにより、SE1の仮想SEスイッチャー1cは、制御機器2からの次のコマンドAPDUを受信すると、上記と同様、現在選択中の仮想SE1bを特定し、当該特定された仮想SE1bのOSbへ次のコマンドAPDUを伝送することになる。そして、以降は、上記と同様に処理が実行されることになる。
【0045】
以上説明したように、上記実施形態によれば、単一のSE1に仮想的な複数のSEを実装し、それを切り替えながら動作させることによって、それまで物理的なSEを複数実装しなければ実現できなかった機能が単一のSEに置き換わるため、SE1が搭載される装置の設計、開発、及び製造コストを削減することができる。また、SE1が搭載される装置の筐体内の空間を削減したことによって該装置の小型化にも貢献し、該装置内の空間を確保したことによってSEが搭載される装置の更なる高機能化及び高集積化にも貢献することができる。さらに、SE1は、SE1が搭載される装置の制御機器2からSE1内の特定のアプリケーションに対する所定のメッセージが受信された場合に、仮想SEスイッチャー1cによって、現在選択中の仮想SEを特定し、特定された仮想SEのOSへ当該メッセージを伝送するように構成したので、制御機器2のメッセージ生成部の既存仕様を変更することなく、メッセージ送信側の意図に解釈されない不都合の発生を回避することができる。
【0046】
なお、上記実施形態においては、各仮想SEにはアプリケーションが搭載されている場合を例にとって説明したが、本発明は、仮想SEにアプリケーションが搭載されていない場合や、仮想SEにアプリケーションが1つだけ搭載されているがデフォルト選択され、且つ識別子を持たない形態であるためにアプリケーションの明示的な選択が不可能な場合に対しても適用可能である。
【符号の説明】
【0047】
1 SE
1a,1b 仮想SE
1c 仮想SEスイッチャー
2 制御機器
11 インターフェース
12 RAM
13 ROM
14 NVM
15 CPU
図1
図2
図3