JP2024046675A - Icチップ - Google Patents

Icチップ Download PDF

Info

Publication number
JP2024046675A
JP2024046675A JP2024020274A JP2024020274A JP2024046675A JP 2024046675 A JP2024046675 A JP 2024046675A JP 2024020274 A JP2024020274 A JP 2024020274A JP 2024020274 A JP2024020274 A JP 2024020274A JP 2024046675 A JP2024046675 A JP 2024046675A
Authority
JP
Japan
Prior art keywords
command
application
card
external device
selection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2024020274A
Other languages
English (en)
Other versions
JP7501808B2 (ja
Inventor
雄介 橋村
Yusuke Hashimura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2024020274A priority Critical patent/JP7501808B2/ja
Publication of JP2024046675A publication Critical patent/JP2024046675A/ja
Application granted granted Critical
Publication of JP7501808B2 publication Critical patent/JP7501808B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】既存システムを改修することなく、マルチアプリICカードに移行させることを可能とする電子情報記憶媒体、アプリケーション選択処理方法、及びプログラムを提供する。【解決手段】ICカード1は、選択コマンド以外のコマンドとアプリケーションとの対応関係を示す情報を予め記憶しておき、ICカード1が活性化した後に受信された最初のコマンドがSELECTコマンドであるか否か判定し、SELECTコマンドでないと判定した場合、上記対応関係を示す情報を参照して、最初のコマンドに対応するアプリケーションが存在するか否か判定し、最初のコマンドに対応するアプリケーションが存在すると判定した場合、最初のコマンドに対応するアプリケーションを特定し、当該特定されたアプリケーションを選択する処理を実行し、当該選択されたアプリケーションに最初のコマンドに応じた処理を実行させる。【選択図】図4

Description

本発明は、複数のアプリケーションを搭載可能なICカード等の電子情報記憶媒体の技術分野に関する。
近年、複数のアプリケーション(以下、「アプリ」という)を搭載可能ないわゆるマルチアプリICカードの普及に伴い、従来のアプリをマルチアプリICカードに統合した運用へと移行が進められている。しかし、単一のアプリのみを搭載可能なICカードを前提とした既存システムでは、マルチアプリICカードへの移行が困難であり、システムの改修が必要になる場合がある。例えば、既存システムがICカードに搭載されるアプリが単一であることを前提とし、当該アプリを選択するための選択コマンドを送信せずにデータ読み出しコマンドをマルチアプリICカードへ送信する場合がある。この場合、マルチアプリICカードは、アプリの未選択状態(あるいは別のシステム向けアプリ選択状態)でデータ読み出しコマンドを受信することとなり、このシステム向けのアプリに読み出しコマンドを処理させることができない。これに関して、特許文献1には、一のアプリを選択コマンドにより選択して当該アプリにコマンド処理を実行させた後に、他のアプリを選択コマンドにより選択し直すことなく、当該他のアプリにコマンド処理を実行させることができる電子情報記憶媒体が提案されている。
特開2018-60455号公報
しかしながら、特許文献1に開示された技術では、選択コマンドをマルチアプリICカードに送信して予めアプリを選択状態に遷移させる必要があり、既存システムにマルチアプリICカードを導入する際の課題を解決することはできない。
そこで、本発明は、既存システムを改修することなく、マルチアプリICカードに移行させることを可能とするICチップを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、外部機器から受信された選択コマンドに応じて選択されるアプリケーションを複数搭載可能なICチップであって、前記選択コマンド以外のコマンドとアプリケーションとの対応関係を示す情報を記憶する記憶手段と、前記ICチップが活性化した後に受信されたコマンドが、最初のコマンドであるか否かを判定し、当該最初のコマンドであると判定した場合に、当該最初のコマンドが何れかの前記アプリケーションを選択するための選択コマンドであるか否か判定する第1判定手段と、前記第1判定手段により選択コマンドでないと判定された場合、前記対応関係を示す情報を参照して、前記最初のコマンドに対応するアプリケーションが存在するか否か判定する第2判定手段と、前記第2判定手段により前記最初のコマンドに対応するアプリケーションが存在すると判定された場合、前記最初のコマンドに対応するアプリケーションを特定する特定手段と、前記特定手段により特定されたアプリケーションを選択する処理を実行し、当該選択されたアプリケーションに前記最初のコマンドに応じた処理を実行させる選択処理手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載のICチップにおいて、前記第2判定手段により前記最初のコマンドに対応するアプリケーションが存在しないと判定された場合に、アプリケーションが未選択状態であることを示すレスポンスを外部機器へ送信する送信手段をさらに備えることを特徴とする。
本発明によれば、既存システムを改修することなく、マルチアプリICカードに移行させることができる。
ICカード1のハードウェア構成例を示す図である。 ICカード1のソフトウェア構成例を示す図である。 コマンド・アプリ対応関係テーブルの一例を示す図である。 ICカード1が活性化した後、外部機器2からI/O回路13を通じてコマンドが受信されたときにICカード1のOSにより実行される処理を示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、外部機器から受信された選択コマンドに応じて選択されるアプリを複数搭載可能なICカード(マルチアプリICカード)に対して本発明を適用した場合の実施の形態である。
[1.ICカード1の構成及び機能]
先ず、図1を参照して、本実施形態に係るICカード1の構成及び機能について説明する。図1は、ICカード1のハードウェア構成例を示す図である。ICカード1は、本発明の電子情報記憶媒体の一例である。図1に示すように、ICカード1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)11、NVM(Nonvolatile Memory)12(不揮発性メモリ)、及びI/O回路13などを備えるICチップにより構成される。ICチップには、ROMが備えられる場合もある。
ICカード1は、例えば各種カード(例えば、クレジットカード、電子マネーカード、ポイントカード、マイナンバーカード)、またはスマートフォンなどの端末に搭載されて使用される。なお、ICカード1は、着脱可能な小型のICカードとして端末に搭載されてもよいし、eUICC(Embedded Universal Integrated Circuit Card)として端末から容易に取り外しや取り換えができないように組み込み基盤上に搭載(つまり、端末と一体的に形成)されてもよい。
I/O回路13は、外部機器2との間のインターフェースを担う。外部機器2の例として、ICカード1へアプリを提供するホストコンピュータ、及びICカード1の機能を利用する機器が挙げられる。ICカード1の機能を利用する機器には、例えば、上記各種カードの通信相手や上記端末のコントローラが含まれる。インターフェースの例として、SPI(Serial Peripheral Interface)、I2C(Inter-Integrated Circuit)、及びISO7816のインターフェースなどが挙げられる。ICカード1と外部機器2との間の通信は、直接的に行われてもよいし、上記端末の無線通信部を介して間接的に行われてもよい。後者の場合、当該端末によりプロトコル変換が行われてもよい。なお、ICカード1と外部機器2との間の通信は、相互認証を実行して確立したセキュアチャンネルを通じて行われることが望ましい。
また、外部機器2から送信されたコマンド(コマンドAPDU)は、I/O回路13を通じて受信される。受信されるコマンドは、少なくともヘッダを含むAPDU(Application Protocol Data Unit)により構成される。かかるヘッダは、CLA(命令クラス)、INS(命令コード)、P1及びP2(パラメータ)からなる。さらに、コマンドは、上記ヘッダに加えて、プログラムやデータなどを有するボディを含む場合もある。また、コマンドに対するレスポンス(レスポンスAPDU)は、I/O回路13を通じて外部機器2へ送信される。ここで、レスポンスは、少なくとも処理結果を示すSW(ステータスワード)からなり、データを含む場合もある。
CPU10は、NVM12に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。RAM11は、作業用メモリとして利用される。NVM12は、記憶手段の一例であり、例えばフラッシュメモリが適用される。NVM12は、「Electrically Erasable Programmable Read-Only Memory」であってもよい。NVM12には、各種プログラム(本発明のプログラムを含む)が予め記憶される。各種プログラムには、オペレーティングシステム(以下、「OS」という)、アプリケーションプログラムなどが含まれる。
アプリケーションプログラムは、ICカード1においてアプリ(つまり、アプリケーションインスタンス)の機能を実現するための実行可能ファイルとして、例えば、ICカード1の発行処理時にNVM12に記憶されてもよい。アプリの例として、各種決済処理を行うための決済アプリ、決済処理に利用可能なポイントの残高を管理するためのポイントアプリ、個人情報を管理するための管理アプリ、ネットワーク(例えば、モバイル通信網)に接続するための認証処理を行うための認証アプリなどが挙げられる。
図2は、ICカード1のソフトウェア構成例を示す図である。図2において、OSは、ICカード1の基本動作を担う基本機能、及び複数の論理チャネルの管理を担う論理チャネル管理機能を有する。論理チャネルとは、OS上で実行される各アプリにアクセスするための論理的なチャネルである。例えば、論理チャネルCh0には、アプリApp1が割り当てられ、論理チャネルCh1には、アプリApp2が割り当てられる。各アプリには、固有のアプリ識別子(AID)が付与され、OSにより管理される。
以上のソフトウェア構成において、例えば、OSは、本発明における第1及び第2判定手段、特定手段、選択処理手段、及び送信手段として機能する。具体的には、OSは、選択コマンド以外のコマンドとアプリとの対応関係を示す情報を管理する。かかる対応関係は、例えば、コマンド・アプリ対応関係テーブルに規定される。
図3は、コマンド・アプリ対応関係テーブルの一例を示す図である。図3の例では、Read Recordコマンドに決済アプリが対応付けられ、Append Recordコマンドにポイントアプリが対応付けられている。実際には、例えば、コマンドを識別するためのCLA及びINSと、アプリ識別子とが対応付けられてコマンド・アプリ対応関係テーブルに登録されるとよい。なお、コマンド・アプリ対応関係テーブルは、ICカード1の発行処理時に対応するアプリケーションプログラムとともにNVM12に書き込まれて(記憶されて)もよいし、ICカード1の出荷後に対応するアプリケーションプログラムとともにNVM12に書き込まれてもよい。
OSは、ICカード1が活性化した後に、外部機器2から受信された最初のコマンドが、ICカード1内に搭載されている何れかのアプリを選択するためのSELECTコマンド(選択コマンド)であるか否か判定する。OSは、当該受信された最初のコマンドがSELECTコマンドでないと判定した場合、コマンド・アプリ対応関係テーブルを参照して、最初のコマンドに対応付けられたアプリを特定する。そして、OSは、特定されたアプリを選択する選択処理を実行し、当該選択されたアプリに最初のコマンドに応じた処理を実行させる。
ここで、アプリを選択する選択処理には、何れかの空き論理チャネルにアプリを割り当てる処理が含まれる。なお、外部機器2から受信された最初のコマンドがコマンド・アプリ対応関係テーブルに示されていない場合、OSは、アプリを特定できない。この場合、OSは、アプリが未選択状態であることを示すレスポンスを外部機器2へ送信する。例えば、エラーを示すレスポンスが最初のコマンドの外部機器2へ返信される。
[2.ICカード1の動作]
次に、図4を参照して、ICカード1の動作について説明する。図4は、ICカード1が活性化した後、外部機器2からI/O回路13を通じてコマンドが受信されたときにICカード1のOSにより実行される処理を示すフローチャートである。なお、ICカード1の活性化は、外部機器2とICカード1との間の初期化シーケンスが完了したときになされ、例えばI/O回路13における所定の端子の電圧レベルがHigh状態になる。かかる初期化シーケンスには、外部機器2からICカード1へリセット指令(起動指令)が送信され、これに応じて、ICカード1から外部機器2へ初期応答(ATR(Answer To Reset))が送信される処理が含まれる。ここで、初期応答には、例えば、ICカード1に予め設定された通信パラメータ(プロトコル形式及び通信速度など)が含まれる。通信パラメータを変更する場合の初期化シーケンスでは、さらに、外部機器2からICカード1へPPS(Protocol and Parameters Selection)要求が送信され、これに応じて、外部機器2からICカード1へPPS要求に対する応答が送信される。
図4に示す処理が開始されると、ICカード1のOSは、外部機器2から受信されたコマンドが、ICカード1の活性化後(つまり、初期化シーケンス直後)の最初のコマンドであるか否か判定する(ステップS1)。ICカード1のOSは、受信されたコマンドが最初のコマンドでない(換言すると、2回目以降のコマンドである)と判定した場合(ステップS1:NO)、当該受信されたコマンドを、選択状態にあるアプリに配信することで(ステップS2)、そのアプリにコマンドに応じた処理を実行させる。次いで、ICカード1のOSは、選択状態にあるアプリから処理結果を受け取り(ステップS3)、当該処理結果を含むレスポンスを送信し、処理を終了する。
一方、ICカード1のOSは、受信されたコマンドが最初のコマンドであると判定した場合(ステップS1:YES)、当該受信されたコマンドがSELECTコマンドであるか否か判定する(ステップS4)。ICカード1のOSは、受信されたコマンド(最初のコマンド)がSELECTコマンドであると判定した場合(ステップS4:YES)、SELECTコマンドで指定されたアプリを選択する選択処理を実行することで当該アプリを選択状態にし(ステップS5)、FCI(File Control Information)を含むレスポンスを外部機器2へ送信する。一方、ICカード1のOSは、受信されたコマンド(最初のコマンド)がSELECTコマンドでないと判定した場合(ステップS4:NO)、処理をステップS6に進める。
ステップS6では、ICカード1のOSは、コマンド・アプリ対応関係テーブルを参照して、受信されたコマンド(最初のコマンド)に対応するアプリが存在するか否か判定する。当該受信されたコマンドに対応付けられたアプリをコマンド・アプリ対応関係テーブルから特定できない(つまり、当該アプリのアプリ識別子がコマンド・アプリ対応関係テーブル登録されていない)場合、当該受信されたコマンドに対応するアプリが存在しないと判定され(ステップS6:NO)、当該アプリが未選択状態であることを示すレスポンスが外部機器2へ送信され、処理は終了する。
一方、ICカード1のOSは、受信されたコマンド(最初のコマンド)に対応するアプリが存在すると判定した場合(ステップS6:YES)、当該アプリを特定する(ステップS7)。つまり、コマンド・アプリ対応関係テーブルから当該コマンドに対応付けられたアプリが特定される。次いで、ICカード1のOSは、ステップS7で特定されたアプリを選択する選択処理を実行することで、当該アプリを選択状態にする(ステップS8)。次いで、ICカード1のOSは、ステップS8で選択状態になったアプリに最初のコマンドを配信することで(ステップS9)、そのアプリにコマンド(例えば、Read Recordコマンド)に応じた処理を実行させる。次いで、ICカード1のOSは、ステップS8で選択状態になったアプリから処理結果を受け取り(ステップS10)、当該処理結果を含むレスポンスを送信し、処理を終了する。
以上説明したように、上記実施形態によれば、ICカード1は、選択コマンド以外のコマンドとアプリケーションとの対応関係を示す情報を予め記憶しておき、ICカード1が活性化した後に受信された最初のコマンドがSELECTコマンドであるか否か判定し、SELECTコマンドでないと判定した場合、上記対応関係を示す情報を参照して、最初のコマンドに対応するアプリケーションが存在するか否か判定し、最初のコマンドに対応するアプリケーションが存在すると判定した場合、最初のコマンドに対応するアプリケーションを特定し、当該特定されたアプリケーションを選択する処理を実行し、当該選択されたアプリケーションに最初のコマンドに応じた処理を実行させるように構成したので、SELECTコマンドにより予めアプリを選択状態に遷移させることを要しないため、既存システムを改修することなく、マルチアプリICカードに移行させることができる。
1 ICカード
10 CPU
11 RAM
12 NVM
13 I/O回路

Claims (2)

  1. 外部機器から受信された選択コマンドに応じて選択されるアプリケーションを複数搭載可能なICチップであって、
    前記選択コマンド以外のコマンドとアプリケーションとの対応関係を示す情報を記憶する記憶手段と、
    前記ICチップが活性化した後に受信されたコマンドが、最初のコマンドであるか否かを判定し、当該最初のコマンドであると判定した場合に、当該最初のコマンドが何れかの前記アプリケーションを選択するための選択コマンドであるか否か判定する第1判定手段と、
    前記第1判定手段により選択コマンドでないと判定された場合、前記対応関係を示す情報を参照して、前記最初のコマンドに対応するアプリケーションが存在するか否か判定する第2判定手段と、
    前記第2判定手段により前記最初のコマンドに対応するアプリケーションが存在すると判定された場合、前記最初のコマンドに対応するアプリケーションを特定する特定手段と、
    前記特定手段により特定されたアプリケーションを選択する処理を実行し、当該選択されたアプリケーションに前記最初のコマンドに応じた処理を実行させる選択処理手段と、
    を備えることを特徴とするICチップ。
  2. 前記第2判定手段により前記最初のコマンドに対応するアプリケーションが存在しないと判定された場合に、アプリケーションが未選択状態であることを示すレスポンスを外部機器へ送信する送信手段をさらに備えることを特徴とする請求項1に記載のICチップ。
JP2024020274A 2021-07-02 2024-02-14 Icチップ Active JP7501808B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024020274A JP7501808B2 (ja) 2021-07-02 2024-02-14 Icチップ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021110799A JP7439798B2 (ja) 2021-07-02 2021-07-02 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム
JP2024020274A JP7501808B2 (ja) 2021-07-02 2024-02-14 Icチップ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021110799A Division JP7439798B2 (ja) 2021-07-02 2021-07-02 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2024046675A true JP2024046675A (ja) 2024-04-03
JP7501808B2 JP7501808B2 (ja) 2024-06-18

Family

ID=85112320

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021110799A Active JP7439798B2 (ja) 2021-07-02 2021-07-02 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム
JP2024020274A Active JP7501808B2 (ja) 2021-07-02 2024-02-14 Icチップ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021110799A Active JP7439798B2 (ja) 2021-07-02 2021-07-02 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム

Country Status (1)

Country Link
JP (2) JP7439798B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3614376B2 (ja) 2001-03-15 2005-01-26 日本電信電話株式会社 Icカードのアプリケーション起動制御システム
JP2002342714A (ja) 2001-05-15 2002-11-29 Toshiba Corp 携帯可能電子装置、携帯可能電子装置の発行システム、携帯可能電子装置の発行方法及びアクセス管理方法
JP2003248806A (ja) 2002-02-26 2003-09-05 Toshiba Corp 携帯可能電子装置
JP2015125627A (ja) 2013-12-26 2015-07-06 株式会社東芝 Icカードおよび携帯可能電子装置

Also Published As

Publication number Publication date
JP7439798B2 (ja) 2024-02-28
JP2023007750A (ja) 2023-01-19
JP7501808B2 (ja) 2024-06-18

Similar Documents

Publication Publication Date Title
JP5065297B2 (ja) Mmc/sdデバイスからホストデバイスをブートする方法,mmc/sdデバイスからブート可能なホストデバイス及びホストデバイスをブートできるmmc/sdデバイス
US8931705B2 (en) IC card, mobile electronic device and data processing method in IC card
US8904094B2 (en) Memory system in which extended function can easily be set
US11907931B2 (en) Method and system for managing virtual electronic card, secure chip, terminal and storage medium
KR100440972B1 (ko) 카드 삽입 인식에 의한 데이터 전송 상태 자동 설정 장치및 방법
CN115905095A (zh) Usb免驱通信方法、装置、电子设备及存储介质
KR100374526B1 (ko) 스마트 카드 및 그를 이용한 컴퓨터 프로그램 동작 방법
JP4742469B2 (ja) 複数のosを用いるicカード、icカード処理装置および処理方法
JP4896842B2 (ja) 携帯可能電子装置
US8844827B2 (en) Chip card, and method for the software-based modification of a chip card
US20120072643A1 (en) Method of managing data in a portable electronic device having a plurality of controllers
JP7501808B2 (ja) Icチップ
CN111858020B (zh) 用户资源限制方法、装置及计算机存储介质
CN112035393A (zh) 一种节约双片上系统存储资源的方法、双片上系统
WO2023287407A1 (en) Hardware component initialization
JP6948021B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
JP7439847B2 (ja) 電子情報記憶媒体、鍵データ設定方法、及びプログラム
JP7559916B1 (ja) 電子情報記憶媒体、icチップ、icカード、要素データ格納方法、及びプログラム
JP7206942B2 (ja) 電子情報記憶媒体、icチップ、初期設定方法、及び初期設定プログラム
JP6933446B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP7420179B1 (ja) 電子情報記憶媒体、icカード、発行処理方法、及びプログラム
JP5932588B2 (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP4734838B2 (ja) 情報記録媒体とプログラム、及びコマンド実行制御方法
JP7397402B2 (ja) 電子情報記憶媒体、データ送信方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240214

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20240214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240520

R150 Certificate of patent or registration of utility model

Ref document number: 7501808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150