JP7334566B2 - 電子情報記憶媒体、及びプログラム - Google Patents

電子情報記憶媒体、及びプログラム Download PDF

Info

Publication number
JP7334566B2
JP7334566B2 JP2019179902A JP2019179902A JP7334566B2 JP 7334566 B2 JP7334566 B2 JP 7334566B2 JP 2019179902 A JP2019179902 A JP 2019179902A JP 2019179902 A JP2019179902 A JP 2019179902A JP 7334566 B2 JP7334566 B2 JP 7334566B2
Authority
JP
Japan
Prior art keywords
data
command
volatile memory
application
nonvolatile memory
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.)
Active
Application number
JP2019179902A
Other languages
English (en)
Other versions
JP2021056815A (ja
Inventor
満里子 向田
龍平 渡辺
裕文 上口
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 JP2019179902A priority Critical patent/JP7334566B2/ja
Publication of JP2021056815A publication Critical patent/JP2021056815A/ja
Application granted granted Critical
Publication of JP7334566B2 publication Critical patent/JP7334566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、揮発性メモリ及び不揮発性メモリを備えるICモジュール等の技術分野に関する。
複数のアプリケーションを搭載することが可能なICカード等のICモジュールは、Java(登録商標)Card仕様およびGlobalPlatform(登録商標)仕様に準拠した製品が事実上のデファクトスタンダードになっている。また、IoTの普及に伴い、組み込み型ICモジュールにおいても、セキュリティを担保するためのセキュリティ機能や、決済機能、モバイル網へ接続するための認証機能など複数の機能が合わせて搭載されることが多い。例えば、1つのICモジュールが、キャッシュカード、クレジットカード、及び電子マネーカードとして振舞うことができる。IoT機器についても普及が進んでおり、インターネットへ接続する通信機能を持つICモジュールが組み込まれているIoT機器が存在する。この場合、IoT機器の通信モジュールに対しては従来のモバイル網へ接続するための認証機能を提供し、IoT機器の制御モジュールに対してはTPMなどの構成チェックなどセキュリティ機能を提供することができる。他にも、その他のモジュールで使用する鍵を保存する機能などの提供も考えられる。
通常、複数のアプリケーションを搭載するICモジュールは、ロジカルチャネルを管理する。ロジカルチャネル管理機能は、例えば特許文献1に開示されるように、各ロジカルチャネルに異なるアプリケーションを割り当てることができ、これにより、アプリケーションごとに異なる複数系列のコマンドを処理することができる。このようなICモジュールに搭載されたオペレーティングシステムは、アプリケーション間で共通する共通コマンドを処理することが可能になっている。共通コマンドの例として、ロジカルチャネルをオープンまたはクローズするコマンド(MANAGE CHANNEL コマンド)、及びロジカルチャネルにアプリケーションを割り当てるコマンド(SELECT コマンド)が挙げられる。このような共通コマンド以外のコマンドは、例えば、当該コマンドで指定されたロジカルチャネルに割り当てられているアプリケーション(アプレット)へ配送され、当該アプリケーションにより処理される。
特開2011-216068号公報
上述したように、ICモジュールが多様化することで、様々なシーンで使用されており、アプリケーションの構成も複雑になってきている。そのために、目的の機能を使用するまでの初期起動処理時間が増加してきている。例えば、アプリケーションの選択や、目的の機能を使用するにあたって必要となるデータの取得などがそれにあたる。この初期起動時間が増加することで、クレジットカードや、電子マネー決済などの利便性が損なわれてしまう。また、ICモジュールの処理時間が長くなるほど電力消費量が多くなり、製品の寿命に影響してしまう。外部からの電源供給を伴わないウェアラブルなIoT機器等にICモジュール搭載する場合、電力消費量を節約するために、ICモジュールが利用されない状況において電力供給を一旦停止することが考えられる。
しかしながら、通常のICモジュールでは電力供給を停止した場合、揮発性メモリにおいて選択されているアプリケーションや、目的の機能を使用するために必要な一部のデータ情報が消去(クリア)されてしまう。そのため、電力供給再開時には、アプリケーションの選択やデータ取得を再度実施しなくてはならず、初期起動処理時間が増加し電力消費量の節約の効果が薄くなる。
そこで、本発明は、以上の点等に鑑みてなされたものであり、電力供給の停止後、電力供給を再開する際に処理時間を短縮することが可能な電子情報記憶媒体、電子情報記憶媒体における処理方法、及びプログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、前記不揮発性メモリには、実行が許可されるコマンドを示す許可コマンドリストが保存されており、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、外部から受信されたコマンドが前記許可コマンドリストに示されないコマンドである場合に、前記不揮発性メモリに保存されたデータを消去する消去手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体において、前記復元手段は、前記不揮発性メモリに保存されている第1パスワードと、前記データ復帰コマンドに含まれる第2パスワードとの照合を行い、前記第1パスワードと前記第2パスワードが一致する場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元することを特徴とする。
請求項3に記載の発明は、請求項に記載の電子情報記憶媒体において、外部からデータ保存コマンドが受信された場合に、前記不揮発性メモリに保存されるべき前記第1パスワードを生成する生成手段と、前記データ保存コマンドに対するレスポンスとして、前記生成された前記第1パスワードを含むレスポンスを外部へ送信する送信手段と、を更に備えることを特徴とする。
請求項4に記載の発明は、請求項3に記載の電子情報記憶媒体において、前記生成手段は、乱数を含む前記第1パスワードを生成することを特徴とする。
請求項に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、を備え、前記保存手段は、前記揮発性メモリ上の特定のデータであって対象データリストに示されるデータに限り前記不揮発性メモリに保存することを特徴とする。
請求項に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、現在のロジカルチャネルの状態に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段と、を備え、前記保存手段は、前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上のデータを前記不揮発性メモリに保存することを特徴とする。
請求項に記載の発明は、請求項に記載の電子情報記憶媒体において、前記第1判定手段により許可しないと判定された場合に、エラー処理を行うエラー処理手段を更に備えることを特徴とする。
請求項に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記第1判定手段は、現在のロジカルチャネル上でアプリケーションが選択されていない場合に、前記データ保存コマンドの実行を許可しないと判定することを特徴とする。
請求項に記載の発明は、請求項またはに記載の電子情報記憶媒体において、前記不揮発性メモリに保存対象となるデータは、複数のロジカルチャネルのうちの特定のロジカルチャネルの状態を示すデータであり、前記第1判定手段は、現在の前記特定のロジカルチャネル上でアプリケーションが選択されていない場合に、前記データ保存コマンドの実行を許可しないと判定することを特徴とする。
請求項10に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、現在のロジカルチャネルの状態に応じて、前記データ復帰コマンドの実行を許可するかを判定する第2判定手段と、を備え、前記復元手段は、前記第2判定手段により許可すると判定された場合に限り、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元することを特徴とする。
請求項11に記載の発明は、請求項10に記載の電子情報記憶媒体において、前記第2判定手段により許可しないと判定された場合に、エラー処理を行うエラー処理手段を更に備えることを特徴とする。
請求項12に記載の発明は、請求項10または11に記載の電子情報記憶媒体において、前記第2判定手段は、現在のロジカルチャネル上でアプリケーションが選択されていない場合に、前記データ復帰コマンドの実行を許可しないと判定することを特徴とする。
請求項13に記載の発明は、請求項10または11に記載の電子情報記憶媒体において、前記不揮発性メモリに保存されたデータには、保存時のロジカルチャネルの状態を示すデータが含まれており、前記第2判定手段は、現在のロジカルチャネルの状態と、前記保存時のロジカルチャネルの状態とを比較し、両状態が異なる場合に、前記データ復帰コマンドの実行を許可しないと判定することを特徴とする。
請求項14に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、を備え、前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ保存依頼を行い、前記アプリケーションの前記保存手段は、前記データ保存依頼に応じて、前記揮発性メモリ上の、当該アプリケーションにより管理されるデータを前記不揮発性メモリに保存し、前記オペレーティングシステムは、前記データ復帰コマンドを受信した場合に、前記アプリケーションにデータ復帰依頼を行い、前記アプリケーションの前記復元手段は、前記データ復帰依頼に応じて、前記不揮発性メモリに保存された、当該アプリケーションにより管理されるデータを前記揮発性メモリ上に復元することを特徴とする。
請求項15に記載の発明は、請求項14に記載の電子情報記憶媒体において、前記アプリケーションは、前記データ保存依頼に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段を更に備え、前記アプリケーションの前記保存手段は、前記アプリケーションの前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上の、当該アプリケーションにより管理されるデータを前記不揮発性メモリに保存することを特徴とする。
請求項16に記載の発明は、請求項14に記載の電子情報記憶媒体において、前記アプリケーションは、前記データ復帰依頼に応じて、前記データ復帰コマンドの実行を許可するかを判定する第2判定手段を更に備え、前記アプリケーションの前記復元手段は、前記アプリケーションの前記第2判定手段により許可すると判定された場合に限り、前記不揮発性メモリに保存された、当該アプリケーションにより管理されるデータを前記揮発性メモリ上に復元することを特徴とする。
請求項17に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ消去依頼を行い、前記アプリケーションは、前記データ消去依頼に応じて、前記揮発性メモリ上の、前記アプリケーションにより管理される一部データを消去し、前記オペレーティングシステムの前記保存手段は、前記アプリケーションにより管理される一部データが消去された後に、前記消去された前記一部データが記憶されていた特定領域を含む前記揮発性メモリ上のデータを前記不揮発性メモリに保存し、前記オペレーティングシステムの前記復元手段は、前記データ復帰コマンドを受信した場合に、前記不揮発性メモリに保存された当該データを前記揮発性メモリ上に復元することを特徴とする。
請求項18に記載の発明は、請求項17に記載の電子情報記憶媒体において、前記アプリケーションは、前記データ消去依頼に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段を更に備え、前記アプリケーションは、前記アプリケーションの前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上の、前記アプリケーションにより管理される一部データを消去することを特徴とする。
請求項19に記載の発明は、揮発性メモリ及び実行が許可されるコマンドを示す許可コマンドリストが保存されている不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、外部から受信されたコマンドが前記許可コマンドリストに示されないコマンドである場合に、前記不揮発性メモリに保存されたデータを消去する消去手段として機能させることを特徴とする。請求項20に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段として機能させるプログラムであって、前記保存手段は、前記揮発性メモリ上の特定のデータであって対象データリストに示されるデータに限り前記不揮発性メモリに保存することを特徴とする。請求項21に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、現在のロジカルチャネルの状態に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段として機能させるプログラムであって、前記保存手段は、前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上のデータを前記不揮発性メモリに保存することを特徴とする。請求項22に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、現在のロジカルチャネルの状態に応じて、前記データ復帰コマンドの実行を許可するかを判定する第2判定手段として機能させるプログラムであって、前記復元手段は、前記第2判定手段により許可すると判定された場合に限り、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元することを特徴とする請求項23に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段として機能させるプログラムであって、前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ保存依頼を行い、前記アプリケーションの前記保存手段は、前記データ保存依頼に応じて、前記揮発性メモリ上の、当該アプリケーションにより管理されるデータを前記不揮発性メモリに保存し、前記オペレーティングシステムは、前記データ復帰コマンドを受信した場合に、前記アプリケーションにデータ復帰依頼を行い、前記アプリケーションの前記復元手段は、前記データ復帰依頼に応じて、前記不揮発性メモリに保存された、当該アプリケーションにより管理されるデータを前記揮発性メモリ上に復元することを特徴とする。請求項24に記載の発明は、揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段として機能させるプログラムであって、前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ消去依頼を行い、前記アプリケーションは、前記データ消去依頼に応じて、前記揮発性メモリ上の、前記アプリケーションにより管理される一部データを消去し、前記オペレーティングシステムの前記保存手段は、前記アプリケーションにより管理される一部データが消去された後に、前記消去された前記一部データが記憶されていた特定領域を含む前記揮発性メモリ上のデータを前記不揮発性メモリに保存し、前記オペレーティングシステムの前記復元手段は、前記データ復帰コマンドを受信した場合に、前記不揮発性メモリに保存された当該データを前記揮発性メモリ上に復元することを特徴とする
本発明によれば、電力供給の停止後、電力供給を再開する際に処理時間を短縮することができる。
本実施形態に係る通信デバイスDの概要構成例を示す図である。 ICモジュール3のハードウェア構成例を示す図である。 ICモジュール3のソフトウェア構成例を示す図である。 RAM32からNVM34へのデータ保存とNVM34からRAM32へのデータ復元を示す概念図である。 保存対象となるデータのバリエーションを示す概念図である。 照合用パスワードを利用する場合におけるデータ保存コマンド、データ保存コマンドに対するレスポンス、及びデータ復帰コマンドのデータ構成(例1)を示す図である。 照合用パスワードを利用する場合におけるデータ保存コマンド、データ保存コマンドに対するレスポンス、及びデータ復帰コマンドのデータ構成(例2)を示す図である。 RAM32及びNVM34の状態の時系列的な変化をステップS1~S6のイベント毎に示す図である。 実施例1における端末TとICモジュール3との間のコマンド及びレンスポンスの送受信を示すシーケンス、及びそのときのRAM32及びNVM34の状態を示す図である。 実施例1においてICモジュール3がコマンドを受信したときの処理の一例を示すフローチャートである。 実施例2における端末TとICモジュール3との間のコマンド及びレンスポンスの送受信を示すシーケンス、及びそのときのRAM32及びNVM34の状態を示す図である。 実施例2においてICモジュール3がコマンドを受信したときの処理の一例を示すフローチャートである。 実施例3における端末TとICモジュール3との間のコマンド及びレンスポンスの送受信を示すシーケンス、及びそのときのRAM32及びNVM34の状態を示す図である。 実施例3においてICモジュール3がコマンドを受信したときの処理の一例を示すフローチャートである。 OS宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSにより行なわれる場合のシーケンスを示す図である。 OS宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSにより行なわれる場合のシーケンスを示す図である。 図16の場合においてICモジュール3がコマンドを受信したときのOSの処理の一例を示すフローチャートである。 OS宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSとアプリケーションとのそれぞれにより行われる場合のシーケンスを示す図である。 図18の場合においてICモジュール3がコマンドを受信したときのOSの処理の一例を示すフローチャートである。 データ保存依頼の際にOSとアプリケーションとの間で複数回の通信が行われる場合のシーケンス(成功例)を示す図である。 データ保存依頼の際にOSとアプリケーションとの間で複数回の通信が行われる場合のシーケンス(失敗例)を示す図である。 アプリケーション宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSにより行なわれる場合のシーケンスを示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、通信デバイスに対して本発明を適用した場合の実施の形態である。
[1.通信デバイスDの概要構成]
先ず、図1等を参照して、本実施形態にかかる通信デバイスDの概要構成について説明する。図1は、本実施形態に係る通信デバイスDの概要構成例を示す図である。図1に示すように、通信デバイスDは、通信モジュール1、制御モジュール2、ICモジュール3(本発明の電子情報記憶媒体の一例)、及びバッテリー4等を含んで構成される。通信モジュール1、制御モジュール2、及びICモジュール3には、バッテリー4からの電源供給が可能になっている。通信モジュール1、制御モジュール2、及びICモジュール3は、インターフェースを介して互いに通信可能になっている。なお、通信デバイスDは、例えば、スマートフォン等の携帯端末や各種センサー等を備えるIoT機器に適用可能である。また、通信デバイスDには、非接触通信プロトコル処理を担当するCLF(ContactLess Front-end)が搭載されてもよい。通信モジュール1は、ネットワークNWに接続するための通信機器である。ネットワークNWは、例えば、インターネット、モバイル網(例えば、3G、4G、または5Gネットワーク)、及びゲートウェイ等により構成される。ネットワークNWには端末Tが接続されている。
制御モジュール2は、CPU(Central Processing Unit)、RAM(Random Access Memory)、及びROM(Read Only Memory)等により構成されており、通信デバイスDにおける各種機能を制御する。例えば、制御モジュール2は、ネットワークNW及び通信モジュール1を介して、例えば、TCP(Transmission Control Protocol)/IP(Internet protocol)及びTLS(Transport Layer Security)プロトコルにしたがって端末Tと通信する。また、制御モジュール2は、端末TとICモジュール3との間の通信を仲介する機能を担っており、この仲介の際にプロトコル変換を行う。例えば、制御モジュール2は、端末Tからのコマンドを受信すると、当該コマンドのヘッダ(例えば、TLSレコードヘッダ、TCPヘッダ、及びIPヘッダ)をAPDU(Application Protocol Data Unit)ヘッダに代えてICモジュール3へ送信する。制御モジュール2は、ICモジュール3からのレスポンスを受信すると、レスポンスにヘッダ(例えば、TLSレコードヘッダ、TCPヘッダ、及びIPヘッダ)を付加して端末Tへ送信する。さらに、制御モジュール2は、バッテリー4からICモジュール3への電源供給を制御する。これにより、ICモジュール3が利用されない状況においてICモジュール3への電力供給の停止(オフ)が可能になっており、その後に、ICモジュール3への電力供給の再開(オン)が可能になっている。
ICモジュール3は、ICチップ等のハードウェアをベースとして、オペレーティングシステム(以下、「OS」という)及びアプリケーション等のソフトウェアが搭載されて構成される。なお、ICモジュール3は、例えば、Java(登録商標)Card仕様およびGlobalPlatform(登録商標)仕様に準拠する。また、ICモジュール3は、eUICCとして通信デバイスDから容易に取り外しや取り換えができないように組み込み基板上に実装されてもよいし、カード型のICカードとして通信デバイスDに着脱可能に装着されてもよい。
図2は、ICモジュール3のハードウェア構成例を示す図である。図2に示すように、ICモジュール3は、CPU31、作業用メモリとして利用されるRAM32(揮発性メモリ)、ROM33、NVM(Nonvolatile Memory)34(不揮発性メモリ)、及びI/O回路35等を備えて構成される。なお、ICモジュール3は、電源供給のオン/オフ可能な内部バッテリーを備えてもよい。つまり、ICモジュール3は、バッテリー内蔵型の組み込みICモジュールであってもよい。バッテリー内蔵型の組み込みICモジュールでは、特に処理時間が長くなるほど電力消費量が多くなり、製品の寿命に影響してしまうので、電力消費量を節約するために、ICモジュールが利用されない状況において電力供給を一旦停止することが特に必要となる。I/O回路35は、外部(通信相手)との間の複数のインターフェースを構成する。例えば、制御モジュール2との間は、ISO7816のインターフェースまたはSPI(Serial Peripheral Interface)を介して接続される。
CPU31は、ROM33またはNVM34に記憶された各種プログラム(本発明のプログラムを含む)を実行するプロセッサ(コンピュータ)である。NVM34には、例えばフラッシュメモリが適用できる。なお、NVM34は、「Electrically Erasable Programmable Read-Only Memory」などの不揮発性メモリであってもよい。ROM33またはNVM34との何れかに記憶されるプログラムには、OS、仮想マシン(例えば、Java(登録商標)Virtual Machine)、API(Application Programming Interface)、及びアプリケーション(例えば、Java(登録商標)Applet)を構成するプログラムが含まれる。アプリケーションの例としては、認証処理を行うためのアプリケーション、決済処理を行うためのアプリケーション、制御モジュール2の構成チェックなどのセキュリティ処理を行うためのアプリケーション、などが挙げられる。
図3は、ICモジュール3のソフトウェア構成例を示す図である。図3において、OSは、ICモジュール3の基本動作を担う基本機能、及び複数のロジカルチャネル(論理チャネル)の管理を担うロジカルチャネル管理機能を有する。ロジカルチャネルとは、OS上で実行される各アプリケーションにアクセスするための論理的なチャネルである。例えば、ロジカルチャネルCh0には、アプリケーションApp1が割り当てられ、ロジカルチャネルCh1には、アプリケーションApp2が割り当てられる。アプリケーションは、オブジェクトの振る舞いを定義するクラスから実体として作成されたインスタンス(インスタンスオブジェクト)である。つまり、アプリケーションは、インスタンス化された複数のオブジェクトの集合であり、OSからのコマンドを処理する実体である。各アプリケーションには、固有の識別子が付与され、各オブジェクトにも固有の識別子が付与される。これらの識別子はOSにより管理される。なお、アプリケーションは、例えば、ソースコードとネイティブコードとの間のバイトコードにより構成され、バイトコードは、仮想マシンにより解釈されOSにより実行可能な形式のコードに変換される。
また、各アプリケーションにより利用されるデータは、例えば、MF(Master File)、DF(Dedicated File)、及びEF(Elementary File)などから構成される階層構造を有する複数のファイルに格納される。各ファイルには、固有の識別子が付与される。各ファイルは、NVM34に保存される。MFは、ファイル構成において最上位に位置し、MFの下位階層にはDF及びEFが位置する。MFは、例えば、アプリケーションごとに設けられる。EFは、アプリケーションにより利用されるデータを格納するファイルである。また、EFは、IEF(内部基礎ファイル)とWEF(作業用基礎ファイル)に分けられる。IEFには、例えば、セッションキーなどのPIN(照合鍵)が格納される。
RAM32上にはOSにより管理されるデータやアプリケーションにより管理されるデータ等が展開される。例えば、OSにより管理されるデータには、ロジカルチャネルの状態を示すデータ(例えば、ロジカルチャネルがOPENまたはCLOSEを示す情報、ロジカルチャネルで選択されているアプリケーションの識別子や当該アプリケーションを構成するオブジェクトの識別子)が含まれる。また、OSにより管理されるデータには、アプリケーションにより利用されるカレントファイル(現在選択されているファイル)の識別子やカレントファイルへのファイルパスが含まれる。また、アプリケーションにより管理されるデータには、アプリケーションにより利用または生成されるデータや当該データの識別子が含まれる。一方、NVM34には、RAM32上のデータ(つまり、RAM32に記憶されているデータ)を一時的に保存(退避)するための退避領域が設けられる。
図4は、RAM32からNVM34へのデータ保存(データ退避)とNVM34からRAM32へのデータ復元(データ復帰)を示す概念図である。RAM32上のデータは、ICモジュール3への電力供給中(電源供給の停止前)に、データ保存コマンド実行によりNVM34の退避領域に保存される(換言すると、コピーされる)。そして、NVM34の退避領域に保存されたデータは、ICモジュール3への電力供給の再開後に、データ復帰コマンド実行によりRAM32上に復元(つまり、状態復帰)される。これにより、ICモジュール3への電力供給の停止後、電力供給を再開する際の初期起動処理時間を短縮することができる。
図5は、保存対象となるデータのバリエーションを示す概念図である。保存対象となるデータは、RAM32全域のデータ(図5(a))であってもよいが、RAM32上の特定のデータ(例えば、OSにより管理されるデータやアプリケーションにより管理されるデータの一部)に限るように構成すれば、退避領域のサイズ(容量)を低減することできる。特定のデータは、例えば、RAM32上の特定領域に記憶されているデータ(図5(b))、対象データリスト(退避データリスト)に登録されたデータ(図5(c):A,B,Cはデータの識別子)、または特定の識別子(例えば、A)を持ったデータ(図5(d))であるとよい。RAM32上の特定領域は、例えばOSの管理情報により管理される。RAM32上の特定領域を示す情報は、外部から受信されるデータ保存コマンドに含まれて受信されるように構成してもよい。また、対象データリストには、例えば、保存対象となるデータの識別子やファイルの識別子が記述される。対象データリストは、ROM33またはNVM34に予め保存されてもよいし、外部から受信されるデータ保存コマンドに含まれて受信されるように構成してもよい。
以上のように構成されたICモジュール3において、CPU31は、本発明における保存手段、復元手段、生成手段、送信手段、消去手段、第1判定手段、第2判定手段、及びエラー処理手段として機能する。なお、ソフトウェア視点では、OSとアプリケーションとの双方または何れか一方が本発明における保存手段及び復元手段等の各手段として機能する。CPU31(換言すると、CPU31をベースとして動作するOSまたはアプリケーション)は、外部(例えば、端末T)からデータ保存コマンドが受信された場合に、当該データ保存コマンドを実行することにより、RAM32上のデータをNVM34に保存する。その後、CPU31は、外部からデータ復帰コマンドが受信された場合に、当該データ復帰コマンドを実行することにより、NVM34に保存されたデータをRAM32上に復元する。
なお、CPU31は、データ復帰コマンドに応じて、パスワード照合を行い当該パスワード照合が成功した場合に限り、NVM34に保存されたデータをRAM32上に復元するとよい。CPU31は、外部からデータ保存コマンドが受信された場合に、RAM32上のデータをNVM34に保存するとともに、例えば乱数を含む照合用パスワードを生成してNVM34に保存し、当該データ保存コマンドに対するレスポンスとして、当該照合用パスワードを含むレスポンスを外部へ送信する。これにより、照合用パスワードは、データ保存コマンドの送信元のみが取得することができる。ICモジュール3からのレスポンスを受信した通信相手(例えば端末T)は、当該レスポンスに含まれる照合用パスワードを保存する。
そして、当該通信相手(例えば端末T)は、当該照合用パスワードを含むデータ復帰コマンドを生成し、ICモジュール3へ送信する。ICモジュール3のCPU31は、当該照合用パスワードを含むデータ復帰コマンドが受信された場合に、NVM34に保存された照合用パスワード(第1パスワード)と、データ復帰コマンドに含まれる照合用パスワード(第2パスワード)との照合を行い、双方のパスワードが一致する場合に、NVM34に保存されたデータをRAM32上に復元する。これにより、悪意のある第三者がNVM34に保存されたデータをRAM32上に復元されることを防止でき、セキュリティを向上することができる。なお、照合用パスワード(第1パスワード)は、予めNVM34に保存されていてもよいが、データ保存コマンドが受信される度に生成されて送信される構成によれば、照合用パスワードが漏洩されることをより確実に防止でき、よりセキュリティを向上することができる。
図6は、照合用パスワードを利用する場合におけるデータ保存コマンド、データ保存コマンドに対するレスポンス、及びデータ復帰コマンドのデータ構成(例1)を示す図である。図6の例1に示すデータ保存コマンド(コマンドAPDU)は、CLA(コマンドクラス)、INS(コマンドコード)、P1(コマンドパラメータ1)、及びP2(コマンドパラメータ2)からなるヘッダ部と、Le(レスポンスのボディ部の最大長の指定を示す)からなるボディ部とから構成されている。図6の例1に示すレスポンスは、照合用パスワード(乱数)を含むボディ部と、SW1及びSW2からなるSW(ステータスワード)部とから構成されている。図6の例1に示すデータ復帰コマンドは、CLA、INS、P1、及びP2からなるヘッダ部と、Lc(Dataの長さを示す)及び照合用パスワードを含むDataからなるボディ部とから構成されている。なお、図6の例1では、データ保存コマンドとデータ復帰コマンドとは異なるINSが割り当てられているが、同一のINSとしてP1、P2、またはDataにてコマンド種別を示してもよい。
図7は、照合用パスワードを利用する場合におけるデータ保存コマンド、データ保存コマンドに対するレスポンス、及びデータ復帰コマンドのデータ構成(例2)を示す図である。図7の例2に示すデータ保存コマンドは、CLA、INS、P1、及びP2からなるヘッダ部と、Lc、Data、及びLeからなるボディ部とから構成されている。このDataには、例えば、RAM32上の特定領域を示す情報、または対象データリストが含まれる。また、Dataは、照合用パスワードを生成するためのパラメータ指定に用いることができる。なお、図7の例2に示すレスポンスは図6の例1に示すレスポンスと同様であり、図7の例2に示すデータ復帰コマンドは図6の例1に示すデータ復帰コマンドと同様である。
ここで、図8を参照して、ロジカルチャネルの状態を示すデータがRAM32からNVM34に保存され、その後にNVM34からRAM32に復元される場合を例にとって、そのときのRAM32及びNVM34の状態の時系列的な変化について説明する。図8は、RAM32及びNVM34の状態の時系列的な変化をステップS1~S6のイベント毎に示す図である。
図8において、先ず、ステップS1のイベント(リセット)は、外部からのリセット信号が受信された場合に発生する。このとき、RAM32の状態は、図8に示すように初期状態になる。なお、NVM34の状態は、当該イベント発生前の状態(この例では、初期状態)が維持されている。なお、上記リセットは、カードリセットともいわれる。
次に、ステップS2のイベント(ロジカルチャネルCh0上でアプリケーションApp1選択)は、外部からの選択コマンド(App1選択を示す選択コマンド)が受信された場合に発生する。これにより、RAM32の状態は、図8に示すように、ロジカルチャネルCh0がアプリケーションApp1を示すように変化する。このとき、NVM34の状態は変化しない。
次に、ステップS3のイベント(ロジカルチャネルCh1上でアプリケーションApp2選択)は、外部からの選択コマンド(App2選択を示す選択コマンド)が受信された場合に発生する。これにより、RAM32の状態は、図8に示すように、ロジカルチャネルCh1がアプリケーションApp2を示すように変化する。このとき、NVM34の状態は変化しない。
次に、ステップS4のイベント(データ保存)は、外部からのデータ保存コマンドが受信された場合に発生する。これにより、RAM32上のロジカルチャネルの状態を示すデータがNVM34の退避領域に保存されるため、NVM34の状態は、図8に示すように変化する。このとき、RAM32の状態は変化しない。
次に、ステップS5のイベント(リセット)は、外部からのリセット信号が受信された場合に発生する。リセット信号によりICモジュール3への電力供給が一時停止されるので、RAM32の状態は、図8に示すように初期状態になる。このとき、NVM34の状態は変化しない(つまり、維持される)。
次に、ステップS6のイベント(データ復元)は、外部からのデータ復帰コマンドが受信された場合に発生する。これにより、NVM34の退避領域上のロジカルチャネルの状態を示すデータがRAM32に復元されるため、RAM32の状態は、図8に示すように変化する。
なお、CPU31は、データ保存コマンドが受信された場合に、現在のロジカルチャネルの状態(RAM32の状態)に応じて、データ保存コマンドの実行を許可するかを判定し、許可すると判定した場合に限り、RAM32上のデータをNVM34に保存するように構成してもよい。また、CPU31は、データ復帰コマンドが受信された場合に、現在のロジカルチャネルの状態に応じて、データ復帰コマンドの実行を許可するかを判定し、許可すると判定した場合に限り、NVM34に保存されたデータをRAM32上に復元するように構成してもよい。このようなデータ保存コマンド実行可否またはデータ復帰コマンド実行可否の判定処理を加えることで、データ復帰コマンドの実行後に、データとロジカルチャネル上で選択されているアプリケーションにより管理されるデータが整合することを保証することができる。また、このようなデータ保存コマンド実行可否またはデータ復帰コマンド実行可否の判定処理において、OSは、ICモジュール3に搭載されたアプリケーションに対してデータ保存コマンド実行可否またはデータ復帰コマンド実行可否を問い合わせるように構成してもよい。このとき、OSは、複数のロジカルチャネル上で選択されているアプリケーションにより管理されるデータをチェックし問い合わせ先のアプリケーションを決定することができる。
[2.ICモジュール3の動作]
次に、ICモジュール3の動作について、実施例1~3に分けて説明する。なお、以下に説明する動作においては、制御モジュール2を介して端末TとICモジュール3との間で通信が行われるものとする。
(実施例1)
先ず、図9及び図10を参照して、実施例1におけるICモジュール3の動作を説明する。図9は、実施例1における端末TとICモジュール3との間のコマンド及びレンスポンスの送受信を示すシーケンス、及びそのときのRAM32及びNVM34の状態を示す図である。図10は、実施例1においてICモジュール3がコマンドを受信したときの処理の一例を示すフローチャートである。なお、実施例1の前提として、ロジカルチャネルCh0上で認証処理を行うためのアプリケーションApp1が既に選択されているものとし、保存対象となるデータは、アプリケーションApp1による認証処理での認証結果(認証OKまたは認証NG)を示すデータ(アプリケーションApp1により管理されるデータ)であるものとし、当該認証結果の初期値(初期状態)は認証NGであるものとする。
実施例1では、先ず、図9に示すように、端末Tからの認証コマンドが受信(制御モジュール2を介して受信)される。認証コマンドが受信されると、図10に示すステップS11でデータ保存コマンドでないと判定(当該コマンドのヘッダ部に基づき判定)され(ステップS11:NO)、ステップS12でデータ復帰コマンドでないと判定され(ステップS12:NO)、ステップS13へ進む。ステップS13では、認証コマンドの実行により認証処理(つまり、認証コマンドに応じたコマンド処理)が行われる。この認証処理での認証結果が認証OKである場合、図9(a)に示すRAM32の状態(認証NG)が図9(b)に示すRAM32の状態(認証OK)に変化する。そして、認証コマンドに対するレスポンス(例えば、正常終了(9000)を示すSW部を含む)が端末Tへ送信(制御モジュール2を介して送信)される。
次いで、図9に示すように、端末Tからのデータ保存コマンドが受信される。データ保存コマンドが受信されると、図10に示すステップS11でデータ保存コマンドであると判定され(ステップS11:YES)、ステップS14へ進む。ステップS14では、データ保存可能であるか否かが判定される。例えば、CRC等の検査でNVM34が壊れているなどの異常が検出された場合にはデータ保存可能でないと判定される。また、保存対象となるデータがRAM32上の特定領域にない場合にはデータ保存可能でないと判定される。例えば、当該判定時にはアプリケーションApp1ではなくアプリケーションApp2が選択されている場合(つまり、アプリケーションApp1の選択からアプリケーションApp2の選択に途中で一時的に切り替わった場合)、アプリケーションApp1により管理されるデータはRAM32上の特定領域に記憶されていないとみなされ、データ保存が可能でないと判定される。
ステップS14でデータ保存可能でないと判定された場合(ステップS14:NO)、エラー処理が行われる(ステップS15)。そして、データ保存コマンドに対するレスポンス(例えば、エラー内容を示すSW部を含む)が端末Tへ送信される。一方、データ保存可能であると判定された場合(ステップS14:YES)、ステップS16へ進む。ステップS16では、データ保存コマンドの実行によりRAM32上の認証結果(認証OK)を示すデータがNVM34に保存される。これにより、図9(b)に示すNVM34の状態(保存データ無)が図9(c)に示すNVM34の状態(認証OK)に変化する。そして、データ保存コマンドに対するレスポンス(例えば、正常終了を示すSW部を含む)が端末Tへ送信される。
次いで、図9に示すように、ICモジュール3への電源供給が停止(電源OFF)され、その後、ICモジュール3への電源供給が再開(電源ON)されたときのRAM32の状態は図9(d)に示すように初期状態(認証NG)となる。そして、端末Tからのデータ復帰コマンドが受信されると、図10に示すステップS11でデータ保存コマンドでないと判定され(ステップS11:NO)、ステップS12でデータ復帰コマンドであると判定され(ステップS12:YES)、ステップS17へ進む。ステップS17では、データ復元可能であるか否かが判定される。例えば、CRC等の検査でNVM34が壊れているなどの異常が検出された場合にはデータ復元可能でないと判定される。また、復元対象となるデータがNVM34の退避領域にない場合にはデータ復元可能でないと判定される。
ステップS17でデータ復元可能でないと判定された場合(ステップS17:NO)、エラー処理が行われる(ステップS18)。このエラー処理では、NVM34の退避領域に保存されたデータが消去(削除)される。例えば、当該退避領域に“FFFFFF..”が書き込まれることで、NVM34の退避領域に保存対象となるデータが保存されていたとしても消去される。そして、データ復帰コマンドに対するレスポンス(例えば、エラー内容を示すSW部を含む)が端末Tへ送信される。
一方、データ復元可能であると判定された場合(ステップS17:YES)、ステップS19へ進む。ステップS19では、データ復帰コマンドの実行によりNVM34に保存された認証結果(認証OK)を示すデータがRAM32上に復元され、当該認証結果を示すデータがNVM34から削除される。これにより、図9(d)に示すRAM32の状態(認証NG)が図9(e)に示すRAM32の状態(認証OK)に変化するとともに、図9(d)に示すNVM34の状態(認証OK)が図9(e)に示すNVM34の状態(保存データ無)に変化する。そして、データ復帰コマンドに対するレスポンス(例えば、正常終了を示すSW部を含む)が端末Tへ送信される。
なお、RAM32上のデータがNVM34の退避領域に保存されている状態において外部からコマンドが受信された場合に、受信されたコマンドが許可コマンドリストに示されるコマンドであるか否かが判定されるように構成してもよい(実施例2及び実施例3でも同様)。この場合、受信されたコマンドが許可コマンドリストに示されないコマンドである場合、上記ステップS16でNVM34の退避領域に保存されたデータが消去(削除)される。例えば、当該退避領域に“FFFFFF..”が書き込まれることで当該データが消去される。ここで、許可コマンドリストは、実行が許可されるコマンドを示すリストであり、ROM33またはNVM34に予め保存される。実行が許可されるコマンドの例としては、上述したデータ保存コマンド、データ復帰コマンド、選択コマンド、認証コマンド等が挙げられる。これにより、悪意のある第三者の端末からの不適コマンドによりNVM34に保存されたデータに対して不適切な影響が与えられる(例えば、データの書き換え)ことを防止でき、セキュリティを向上することができる。
(実施例2)
次に、図11及び図12を参照して、実施例2におけるICモジュール3の動作を説明する。図11は、実施例2における端末TとICモジュール3との間のコマンド及びレンスポンスの送受信を示すシーケンス、及びそのときのRAM32及びNVM34の状態を示す図である。図12は、実施例2においてICモジュール3がコマンドを受信したときの処理の一例を示すフローチャートである。実施例2では、パスワード照合が成功した場合に限り、NVM34に保存されたデータをRAM32上に復元する場合を例にとるものとする。なお、実施例2の前提として、保存対象となるデータは、実施例1の前提と同様に認証結果を示すデータであるものとする。
実施例2では、先ず、図11に示すように、端末Tからの認証コマンドが受信される。認証コマンドが受信されたときの処理(図12に示すステップS21~S23)については実施例1の図10に示すステップS11~S13と同様である。次いで、図11に示すように、端末Tからのデータ保存コマンドが受信される。データ保存コマンドが受信されたときの処理(図12に示すステップS24及びS25)については実施例1の図10に示すステップS14及びS15と同様である。
図12に示すステップS26では、照合用パスワード(PW)が生成されてNVM34に保存され、ステップS27では、RAM32上の認証結果(認証OK)を示すデータがNVM34に保存される。これにより、図11(b)に示すNVM34の状態(保存データ無)が図11(c)に示すNVM34の状態(認証OK,PW(照合用パスワード))に変化する。そして、図11に示すように、データ保存コマンドに対するレスポンス(例えば、照合用パスワードを含むボディ部と正常終了を示すSW部を含む)が端末Tへ送信される。
次いで、図11に示すように、ICモジュール3への電源供給が停止(電源OFF)され、その後、ICモジュール3への電源供給が再開(電源ON)されたときのRAM32の状態は図11(d)に示すように初期状態(認証NG)となる。なお、端末Tからのデータ復帰コマンドが受信されたときの処理(図12に示すステップS22、S28、及びS29)については実施例1の図10に示すステップS12、S17、及びS18と同様であるが、データ復帰コマンドには照合用パスワードが含まれる。
ステップS28でデータ復元可能であると判定された場合(ステップS28:YES)、ステップS30へ進む。ステップS30では、NVM34に保存された照合用パスワードと、データ復帰コマンドに含まれる照合用パスワードとの照合が行われ、双方のパスワードが一致するか否かが判定される。双方のパスワードが一致しないと判定された場合(ステップS30:NO)、ステップS29へ進み、エラー処理が行われる。このエラー処理では、上記ステップS27でNVM34の退避領域に保存されたデータが消去される。
一方、双方のパスワードが一致すると判定された場合(ステップS30:YES)、データ復帰コマンドの実行によりNVM34に保存された認証結果(認証OK)を示すデータがRAM32上に復元され(ステップS31)、当該認証結果を示すデータ及び照合用パスワードがNVM34から削除される(照合用パスワードは保存対象となるデータではないので、復元されることなく削除される)。これにより、図11(d)に示すRAM32の状態(認証NG)が図11(e)に示すRAM32の状態(認証OK)に変化するとともに、図11(d)に示すNVM34の状態(認証OK,PW)が図11(e)に示すNVM34の状態(保存データ無)に変化する。そして、データ復帰コマンドに対するレスポンス(例えば、正常終了を示すSW部を含む)が端末Tへ送信される。
(実施例3)
次に、図13及び図14を参照して、実施例3におけるICモジュール3の動作を説明する。図13は、実施例3における端末TとICモジュール3との間のコマンド及びレンスポンスの送受信を示すシーケンス、及びそのときのRAM32及びNVM34の状態を示す図である。図14は、実施例3においてICモジュール3がコマンドを受信したときの処理の一例を示すフローチャートである。実施例3では、実施例2と同様、パスワード照合が成功した場合に限り、NVM34に保存されたデータをRAM32上に復元する場合を例にとるものとする。さらに、実施例3では、ロジカルチャネルの状態に応じてデータ保存コマンドの実行を許可する場合に限りRAM32上のデータがNVM34に保存される場合と、ロジカルチャネルの状態に応じてデータ復帰コマンドの実行を許可する場合に限りNVM34に保存されたデータをRAM32上に復元する場合を例にとるものとする。なお、実施例3の前提として、保存対象となるデータは、実施例1及び実施例2の前提と同様に認証結果を示すデータに加え、ロジカルチャネルの状態を示すデータであるものとし、ロジカルチャネルの状態の初期値はロジカルチャネルCh0がOPENでありロジカルチャネルCh1がCLOSEであるものとする。ここで、保存対象となるデータは、複数のロジカルチャネルCh0, Ch1のうちの特定のロジカルチャネルの状態を示すデータであってもよい。
実施例3では、先ず、図13に示すように、端末Tからの選択コマンド(App1選択を示す選択コマンド)が受信される。選択コマンドが受信されると、図14に示すステップS41でデータ保存コマンドでないと判定され(ステップS41:NO)、ステップS42でデータ復帰コマンドでないと判定され(ステップS42:NO)、ステップS43へ進む。ステップS43では、選択コマンドの実行によりロジカルチャネルCh1上でアプリケーションApp1を選択する選択処理(つまり、選択コマンドに応じたコマンド処理)が行われる。これにより、図13(a)に示すRAM32の状態(認証NG,Ch0:OPEN,Ch1:CLOSE)が図13(b)に示すRAM32の状態(認証NG,Ch0:App1,Ch1:CLOSE)に変化(つまり、アプリケーションの選択無から選択有に変化)する。そして、選択コマンドに対するレスポンス(例えば、正常終了を示すSW部を含む)が端末Tへ送信される。
次いで、図13に示すように、端末Tからの認証コマンドが受信される。認証コマンドが受信されたときの処理(図14に示すステップS41~S43)については実施例1の図10に示すステップS11~S13と同様である。次いで、図13に示すように、端末Tからのデータ保存コマンドが受信される。データ保存コマンドが受信されると、図14に示すステップS41でデータ保存コマンドであると判定され(ステップS41:YES)、ステップS44へ進む。ステップS44では、現在のロジカルチャネルの状態(つまり、アプリケーションの選択状態)がチェックされ、当該チェックされた状態に応じて、当該データ保存コマンドの実行を許可するかが判定される。例えば、現在のロジカルチャネルCh0上でアプリケーションApp1が選択されていない場合に、データ保存コマンドの実行を許可しないと判定される。また、保存対象となるデータが、複数のロジカルチャネルCh0, Ch1のうちの特定のロジカルチャネルCh1の状態を示すデータである場合において、現在の特定のロジカルチャネルCh1上でアプリケーションが選択されていない場合に、データ保存コマンドの実行を許可しないと判定される。
ステップS44でデータ保存コマンドの実行を許可しないと判定された場合(ステップS44:NO)、エラー処理が行われる(ステップS45)。そして、データ保存コマンドに対するレスポンス(例えば、エラー内容を示すSW部を含む)が端末Tへ送信される。一方、データ保存コマンドの実行を許可すると判定された場合(ステップS44:YES)、ステップS46へ進む。ステップS46では、データ保存可能であるか否かが判定される。この処理は、実施例1の図10に示すステップS14と同様である。
ステップS46でデータ保存可能でないと判定された場合(ステップS46:NO)、エラー処理が行われる(ステップS45)。そして、データ保存コマンドに対するレスポンス(例えば、エラー内容を示すSW部を含む)が端末Tへ送信される。一方、データ保存可能であると判定された場合(ステップS46:YES)、ステップS47へ進む。つまり、実施例3では、ステップS44で許可すると判定された場合に限り、RAM32上のデータがNVM34に保存されることになる。ステップS47では、照合用パスワード(PW)が生成されてNVM34に保存され、ステップS48では、RAM32上の認証結果(認証OK)を示すデータ及びロジカルチャネルの状態(Ch0:App1,Ch1:CLOSE)を示すデータがNVM34に保存される。これにより、図13(c)に示すNVM34の状態(保存データ無)が図13(d)に示すNVM34の状態(認証OK,Ch0:App1,Ch1:CLOSE,PW)に変化する。そして、図13に示すように、データ保存コマンドに対するレスポンス(例えば、照合用パスワードを含むボディ部と正常終了を示すSW部を含む)が端末Tへ送信される。
次いで、図13に示すように、ICモジュール3への電源供給が停止(電源OFF)され、その後、ICモジュール3への電源供給が再開(電源ON)されたときのRAM32の状態は図13(e)に示すように初期状態(認証NG,Ch0:OPEN,Ch1:CLOSE)となる。次いで、図13に示すように、端末Tからの選択コマンド(App1選択を示す選択コマンド)が受信される。選択コマンドが受信されたときの処理(図14に示すステップS41~S43)については上記と同様である。これにより、図13(e)に示すRAM32の状態(認証NG,Ch0:OPEN,Ch1:CLOSE)が図13(f)に示すRAM32の状態(認証NG,Ch0:App1,Ch1:CLOSE)に変化する。そして、選択コマンドに対するレスポンス(例えば、正常終了を示すSW部を含む)が端末Tへ送信される。
次いで、図13に示すように、端末Tからのデータ復帰コマンド(照合用パスワードを含む)が受信される。データ復帰コマンドが受信されると、図14に示すステップS41でデータ保存コマンドでないと判定され(ステップS41:NO)、ステップS42でデータ復帰コマンドであると判定され(ステップS42:YES)、ステップS49へ進む。ステップS49では、現在のロジカルチャネルの状態がチェックされ、当該チェックされた状態に応じて、当該データ復帰コマンドの実行を許可するかが判定される。例えば、現在のロジカルチャネルCh0上でアプリケーションApp1が選択されていない場合に、データ復帰コマンドの実行を許可しないと判定される。また、現在のロジカルチャネルの状態(例えば、図13(f)に示すRAM32の状態)と、NVM34への保存時のロジカルチャネルの状態(例えば、図13(f)に示すNVM34の状態)とが比較され、両状態が異なる場合に、データ復帰コマンドの実行を許可しないと判定される。図13(f)の例では、ロジカルチャネルの両状態が同じであるので、データ復帰コマンドの実行が許可される。仮に、現在のロジカルチャネルの状態が「Ch0:App1」であり、保存時のロジカルチャネルの状態が「Ch0:App2」である場合、データ復帰コマンドの実行が許可されない。
ステップS49でデータ復帰コマンドの実行を許可しないと判定された場合(ステップS49:NO)、エラー処理が行われる(ステップS50)。このエラー処理では、上記ステップS48でNVM34の退避領域に保存されたデータが消去される。そして、データ復帰コマンドに対するレスポンス(例えば、エラー内容を示すSW部を含む)が端末Tへ送信される。一方、データ復帰コマンドの実行を許可すると判定された場合(ステップS49:YES)、ステップS51へ進む。ステップS51では、データ復元可能であるか否かが判定される。この処理は、実施例1の図10に示すステップS17と同様である。
ステップS51でデータ復元可能でないと判定された場合(ステップS51:NO)、エラー処理が行われる(ステップS50)。そして、データ復帰コマンドに対するレスポンス(例えば、エラー内容を示すSW部を含む)が端末Tへ送信される。一方、データ復元可能であると判定された場合(ステップS51:YES)、ステップS52へ進む。つまり、実施例3では、ステップS49で許可すると判定された場合に限り、NVM34に保存されたデータがRAM32上に復元することになる。ステップS52では、NVM34に保存された照合用パスワードと、データ復帰コマンドに含まれる照合用パスワードとの照合が行われ、双方のパスワードが一致するか否かが判定される。双方のパスワードが一致しないと判定された場合(ステップS52:NO)、ステップS50へ進み、エラー処理が行われる。
一方、双方のパスワードが一致すると判定された場合(ステップS52:YES)、データ復帰コマンドの実行により、NVM34に保存された認証結果(認証OK)を示すデータ及びロジカルチャネルの状態(Ch0:App1,Ch1:CLOSE)を示すデータがRAM32上に復元され(ステップS53)、当該認証結果を示すデータ、ロジカルチャネルの状態を示すデータ、及び照合用パスワードがNVM34から削除される。これにより、図13(f)に示すRAM32の状態(認証NG,Ch0:App1,Ch1:CLOSE)が図13(g)に示すRAM32の状態(認証OK,Ch0:App1,Ch1:CLOSE)に変化するとともに、図13(f)に示すNVM34の状態(認証OK,Ch0:App1,Ch1:CLOSE,PW)が図13(g)に示すNVM34の状態(保存データ無)に変化する。そして、データ復帰コマンドに対するレスポンス(例えば、正常終了を示すSW部を含む)が端末Tへ送信される。
以上説明したように、上記実施形態によれば、ICモジュール3は、外部からデータ保存コマンドが受信された場合に、当該データ保存コマンドを実行することにより、RAM32上のデータをNVM34に保存し、続いてICモジュール3への電力供給が停止され、その後に再開し、続いて外部からデータ復帰コマンドが受信された場合に、当該データ復帰コマンドを実行することにより、NVM34に保存されたデータをRAM32上に復元するように構成したので、電力消費量を節約することができるとともに、電力供給の一旦停止後、電力供給を再開する際に処理時間を短縮することができる。すなわち、ICモジュール3は、データ保存コマンドで前回のRAM32上に展開されていた状態をNVM34へ保存し、電力供給を再開した後にデータ復帰コマンドを受信すると、当該保存された状態をNVM34からRAM32上に展開することで、初期起動処理時間を短縮することがきる。これにより、ユーザの利便性(つまり、待ち時間の短縮やバッテリーの電力持続時間)を高めることができる。
上記実施例1~実施例3において、データ保存及びデータ復元に係る処理は、OSにより行なわれてもよいし、OSとアプリケーションとのそれぞれにより行われてもよい。以下にこれらの処理について、図15~図22を参照して説明する。図15及び図16は、OS宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSにより行なわれる場合のシーケンスを示す図である。図15及び図16の例では、データ保存及びデータ復元に係る処理以外の処理(例えば、上記ステップS13等の処理)については省略している。図17は、図16の場合においてICモジュール3がコマンドを受信したときのOSの処理の一例を示すフローチャートである。なお、図17に示すステップS61~S63等の処理は、図14に示すステップS41~S43等の処理と同様であるので、重複する説明は省略する。
先ず、図15の例では、OSは、端末Tからのデータ保存コマンド(OS宛てのコマンド)を受信した場合に、RAM32上のデータ(保存対象となるデータ)をNVM34に保存し(データ保存)、当該データ保存コマンドに対するレスポンスを端末T宛てに送信する。その後、OSは、端末Tからのデータ復帰コマンド(OS宛てのコマンド)を受信した場合に、NVM34に保存されたデータをRAM32上に復元し(データ復元)、当該データ復帰コマンドに対するレスポンスを端末T宛てに送信する。
一方、図16の例では、OSは、端末Tからのデータ保存コマンド(OS宛てのコマンド)を受信した場合に、現在のロジカルチャネルCh0上で選択されているアプリケーションApp1と、現在のロジカルチャネルCh1上で選択されているアプリケーションApp2とのそれぞれにデータ消去依頼を行う。この処理は、図17に示すステップS64の処理である。以下、適宜、図17を参照して説明する。なお、OSは、アプリケーションApp1とアプリケーションApp2との何れか一方にのみデータ消去依頼を行ってもよい。アプリケーションApp1とアプリケーションApp2は、それぞれ、OSからのデータ消去依頼に応じて、アプリケーションApp1またはApp2により管理されるデータのうち保存対象としない一部データ(例えば、鍵などのセキュリティデータ)をRAM32から特定し、RAM32上の当該特定された一部データ(保存対象としないデータ)をRAM32から消去(データ消去)し、例えば、一部データが消去された記憶領域を示すデータ消去完了をOSに伝える。これにより、例えばアプリケーションApp1,App2のそれぞれのみが知っているデータ(OS側でもその意味を知りえないデータ)をアプリケーションApp1,App2側で効率良く消去した上でNVM34へのデータ保存を実行することができ、さらに、データ保存の処理速度も向上することができる。特に、選択されているアプリケーションの数が多いほど効果的である。そして、OSは、アプリケーションApp1及びアプリケーションApp2からのデータ消去完了に応じて、データ消去依頼を受理したと判定し(ステップS65:YES)、照合用パスワードを生成した(ステップS67)後、アプリケーションApp1とアプリケーションApp2のそれぞれにより消去された一部データが記憶されていた特定領域を少なくとも含むRAM32上のデータをNVM34に保存(データ保存)し(ステップS68)、当該データ保存コマンドに対するレスポンスを端末T宛てに送信する。その後、OSは、端末Tからのデータ復帰コマンド(OS宛てのコマンド)を受信した場合に、NVM34に保存されたデータをRAM32上に復元し、当該データ復帰コマンドに対するレスポンスを端末T宛てに送信する。このとき、OSは、図17に示すように、アプリケーションにデータ復帰依頼を行ってもよい(ステップS71)。この場合、OSは、アプリケーションからのデータ復元完了に応じて、データ復帰依頼を受理したと判定し(ステップS72:YES)、復元対象となるデータをRAM32上に復元し(データ復元)(ステップS73)、当該データ復元コマンドに対するレスポンスを端末T宛てに送信する。
なお、当該アプリケーションは、上記データ消去依頼に応じて、データ消去依頼を許可するかを判定(換言すると、データ消去可能であるか否かを判定)し、許可すると判定した場合に限り、RAM32上の上記特定された一部データをRAM32から消去してもよい。例えば、アプリケーションに任意のエラーがある場合、アプリケーションに送受信待ち状態のデータが存在する場合、アプリケーションが基準サイズより大きいサイズのファイルの更新を実行中である場合、またはアプリケーションが他のアプリケーションのロードなど複数のコマンドで1つの処理となるようなシナリオを実行中である場合には、データ消去依頼を許可しないと判定される。
なお、ロジカルチャネル上で選択されていない状態であっても、OSから呼び出されて動作するアプリケーションが存在する。OSは、このようなアプリケーションに対してもデータ消去依頼を行うように構成してもよい。例えば、OSは、データ消去させるアプリケーション(例えば、図16に示すアプリケーションApp3)の識別子を管理し、端末Tからのデータ保存コマンドを受信した場合に、当該識別子が付与されたアプリケーション(つまり、ロジカルチャネル上で選択されていないアプリケーション)にデータ消去依頼を行う。当該アプリケーションは、OSからのデータ消去依頼に応じて、当該アプリケーションにより管理されるデータのうち保存対象としない一部データをRAM32から特定し、RAM32上の当該特定された一部データをRAM32から消去し、一部データが消去された記憶領域を示すデータ消去完了をOSに伝える。これにより、現在のロジカルチャネル上で選択されていないアプリケーションのみが知っているデータを当該アプリケーション側で効率良く消去した上でNVM34へのデータ保存を実行することができる。なお、当該アプリケーションは、上記データ消去依頼に応じて、データ消去依頼を許可するかを判定(換言すると、データ消去可能であるか否かを判定)し、許可すると判定した場合に限り、RAM32上の上記特定された一部データをRAM32から消去してもよい。
図18は、OS宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSとアプリケーションとのそれぞれにより行われる場合のシーケンスを示す図である。図18の例では、データ保存及びデータ復元に係る処理以外の処理(例えば、上記ステップS13等の処理)については省略している。図19は、図18の場合においてICモジュール3がコマンドを受信したときのOSの処理の一例を示すフローチャートである。なお、図19に示すステップS81~S83等の処理は、図14に示すステップS41~S43等の処理と同様であるので、重複する説明は省略する。図18の例では、OSは、端末Tからのデータ保存コマンド(OS宛てのコマンド)を受信した場合に、現在のロジカルチャネルCh0上で選択されているアプリケーションApp1と、現在のロジカルチャネルCh1上で選択されているアプリケーションApp2とのそれぞれにデータ保存依頼を行う。この処理は、図19に示すステップS84の処理である。以下、適宜、図19を参照して説明する。なお、OSは、アプリケーションApp1とアプリケーションApp2との何れか一方にのみデータ保存依頼を行ってもよい。アプリケーションApp1とアプリケーションApp2は、それぞれ、OSからのデータ保存依頼に応じて、アプリケーションApp1またはApp2により管理されるデータのうち保存対象となるデータをRAM32から特定し、RAM32上の当該特定されたデータ(保存対象となるデータ)をNVM34に保存(データ保存)し(データ保存処理)、データ保存完了をOSに伝える。これにより、例えばアプリケーションApp1,App2のそれぞれのみが知っているデータ(OS側でもその意味を知りえないデータ)をアプリケーションApp1,App2側で責任を持ってNVM34に保存することができる。特に、選択されているアプリケーションの数が多いほど効果的である。そして、OSは、アプリケーションApp1及びアプリケーションApp2からのデータ保存完了に応じて、データ保存依頼を受理したと判定し(ステップS85:YES)、照合用パスワードを生成した(ステップS87)後、当該OSにより管理されるデータのうち保存対象となるデータをRAM32から特定し、RAM32上の当該特定されたデータ(保存対象となるデータ)をNVM34に保存(データ保存)し(ステップS88)、当該データ保存コマンドに対するレスポンスを端末T宛てに送信する。
なお、アプリケーションは、上記データ保存依頼に応じて、当該データ保存依頼を許可するかを判定(換言すると、データ保存可能であるか否かを判定)し(保存依頼許可判定処理)、許可すると判定した場合に限り、RAM32上の上記特定されたデータをNVM34に保存してもよい。例えば、アプリケーションに任意のエラーがある場合、アプリケーションに送受信待ち状態のデータが存在する場合、アプリケーションが基準サイズより大きいサイズのファイルの更新を実行中である場合、またはアプリケーションが他のアプリケーションのロードなど複数のコマンドで1つの処理となるようなシナリオを実行中である場合には、データ保存依頼を許可しないと判定される。また、データ保存依頼の際には、複数回の通信がOSとアプリケーションとの間で生じてもよい。例えば、上記保存依頼許可判定処理と、上記データ保存処理のそれぞれで、都度、OSがアプリケーションを呼び出してもよい。図20及び図21は、データ保存依頼の際にOSとアプリケーションとの間で複数回の通信が行われる場合のシーケンスを示す図である。この例では、OSは、アプリケーションApp1,App2の1回目の呼び出しでデータ保存可否チェック依頼を行う。アプリケーションApp1,App2は、それぞれ、上記データ保存可否チェック依頼に応じて、データ保存可能であるか否かを判定し、データ保存可能であると判定した場合に、図20(成功例)に示すように、データ保存可能(OK)をOSに伝える(この場合のOSの処理は上記と同様)。一方、上記データ保存可否チェック依頼に応じて、アプリケーションApp1,App2の少なくとも一方が、データ保存可能でないと判定した場合(上記例示したアプリケーションに任意のエラーがある場合等)、図21(失敗例)に示すように、データ保存不可(NG)をOSに伝える。この場合、OSは、データ保存依頼をアプリケーションApp1,App2へ行うことなく、データ保存コマンドに対するレスポンスとして、保存失敗を示すSW部を含むレスポンスを端末T宛てに送信する。なお、図21の例において、アプリケーションApp1がデータ保存可能でないと判定してデータ保存不可(NG)をOSに伝えた場合であって、且つアプリケーションApp2にデータ保存可否チェック依頼がまだ行われていない場合、OSは、アプリケーションApp2にデータ保存可否チェック依頼を行うことなく、保存失敗を示すSW部を含むレスポンスを端末T宛てに送信してもよい。
その後、OSは、端末Tからのデータ復帰コマンド(OS宛てのコマンド)を受信した場合に、現在のロジカルチャネルCh0上で選択されているアプリケーションApp1と、現在のロジカルチャネルCh1上で選択されているアプリケーションApp2とのそれぞれにデータ復帰依頼を行う(図19におけるステップS91)。なお、OSは、アプリケーションApp1とアプリケーションApp2との何れか一方にのみデータ復帰依頼を行ってもよい。アプリケーションApp1とアプリケーションApp2は、それぞれ、OSからのデータ復帰依頼に応じて、復元対象となるデータをNVM34から特定し、NVM34上の当該特定されたデータをRAM32上に復元し(データ復元)、データ復元完了をOSに伝える。これにより、NVM34に保存されたデータをアプリケーションApp1,App2側で責任を持ってRAM32上に復元することができる。特に、選択されているアプリケーションの数が多いほど効果的である。そして、OSは、アプリケーションApp1及びアプリケーションApp2からのデータ復元完了に応じて、データ復帰依頼を受理したと判定し(ステップS92:YES)、復元対象となるデータをRAM32上に復元(データ復元)し(ステップS93)、当該データ復元コマンドに対するレスポンスを端末T宛てに送信する。
なお、当該アプリケーションは、上記データ復帰依頼に応じて、当該データ復帰依頼を許可するかを判定(換言すると、データ復元可能であるか否かを判定)し、許可すると判定した場合に限り、NVM34上の上記特定されたデータをRAM32上に復元してもよい。データ保存依頼の場合と同様、アプリケーションに任意のエラーがある場合、アプリケーションに送受信待ち状態のデータが存在する場合などの場合には、データ復帰依頼を許可しないと判定される。また、データ復帰依頼の際には、データ保存依頼の場合と同様、複数回の通信がOSとアプリケーションとの間で生じてもよい。例えば、OSは、アプリケーションApp1,App2の1回目の呼び出しでデータ復元可否チェック依頼を行う。アプリケーションApp1,App2は、それぞれ、上記データ復元可否チェック依頼に応じて、データ復元可能であるか否かを判定し、データ復元可能であると判定した場合に、データ復元可能(OK)をOSに伝える。一方、上記データ復元可否チェック依頼に応じて、アプリケーションApp1,App2の少なくとも一方が、データ復元可能でないと判定した場合(上記例示したアプリケーションに任意のエラーがある場合等)、データ復元不可(NG)をOSに伝える。この場合、OSは、データ復帰依頼をアプリケーションApp1,App2へ行うことなく、データ復元コマンドに対するレスポンスとして、復元失敗を示すSW部を含むレスポンスを端末T宛てに送信する。
なお、図16に示すデータ消去の場合と同様、OSは、ロジカルチャネル上で選択されていないアプリケーションに対してもデータ保存依頼及びデータ復帰依頼を行うように構成してもよい。例えば、OSは、データ保存及びデータ復帰させるアプリケーション(例えば、図18に示すアプリケーションApp3)の識別子を管理し、端末Tからのデータ保存コマンドを受信した場合に、当該識別子が付与されたアプリケーション(つまり、ロジカルチャネル上で選択されていないアプリケーション)にデータ保存依頼を行う。当該アプリケーションは、OSからのデータ保存依頼に応じて、当該アプリケーションにより管理されるデータのうち保存対象となるデータをRAM32から特定し、RAM32上の当該特定されたデータをNVM34に保存し、データ保存完了をOSに伝える。これにより、現在のロジカルチャネル上で選択されていないアプリケーションのみが知っているデータを当該アプリケーション側で責任を持ってNVM34に保存することができる。なお、当該アプリケーションは、上記データ保存依頼に応じて、当該データ保存依頼を許可するかを判定(換言すると、データ保存可能であるか否かを判定)し、許可すると判定した場合に限り、RAM32上の上記特定されたデータをNVM34に保存してもよい。その後、OSは、端末Tからのデータ復帰コマンドを受信した場合に、上記識別子が付与されたアプリケーション(つまり、ロジカルチャネル上で選択されていないアプリケーション)にデータ復帰依頼を行う。当該アプリケーションは、OSからのデータ復帰依頼に応じて、復元対象となるデータをNVM34から特定し、NVM34上の当該特定されたデータをRAM32上に復元し、データ復元完了をOSに伝える。これにより、NVM34に保存されたデータを、現在のロジカルチャネル上で選択されていないアプリケーション側で責任を持ってRAM32上に復元することができる。なお、当該アプリケーションは、上記データ復帰依頼に応じて、当該データ復帰依頼を許可するかを判定(換言すると、データ復元可能であるか否かを判定)し、許可すると判定した場合に限り、NVM34上の上記特定されたデータをRAM32上に復元してもよい。
図22は、アプリケーション宛てのコマンドに応じてデータ保存及びデータ復元に係る処理がOSにより行なわれる場合のシーケンスを示す図である。図22の例では、OSは、端末Tからのデータ保存コマンド(App1宛てのコマンド)を受信した場合に、当該データ保存コマンドを現在のロジカルチャネルCh0上で選択されているアプリケーションApp1に転送する。アプリケーションApp1は、OSからのデータ保存コマンドに応じて、アプリケーションApp1により管理されるデータのうち保存対象となるデータを特定し、当該特定したデータまたは当該データの記憶領域を示すデータ保存依頼をOSに行う。これにより、例えばアプリケーションApp1のみが知っているデータ(OS側でもその意味を知りえないデータ)をOSに依頼してNVM34に保存させることができる。OSは、アプリケーションApp1からのデータ保存依頼に応じて、当該データ保存依頼により特定されるRAM32上のデータをNVM34に保存し(データ保存)、データ保存完了をアプリケーションApp1に伝える。なお、OSにより管理されるデータのうち保存対象となるデータについてもRAM32からNVM34へ保存されてもよい。アプリケーションApp1は、OSからのデータ保存完了に応じて、当該データ保存コマンドに対するレスポンスを端末T宛てに送信する。
その後、OSは、端末Tからのデータ復帰コマンド(App1宛てのコマンド)を受信した場合に、当該データ復帰コマンドをロジカルチャネルCh0上で選択されているアプリケーションApp1に転送する。アプリケーションApp1は、OSからのデータ復帰コマンドに応じて、復元対象となるデータを特定し、当該特定したデータまたは当該データの記憶領域を示すデータ復帰依頼をOSに行う。OSは、アプリケーションApp1からのデータ復帰依頼に応じて、当該データ復帰依頼により特定されるNVM34上のデータをRAM32上に復元し(データ復元)、データ復元完了をアプリケーションApp1に伝える。なお、OSにより管理されるデータのうち復元対象となるデータについてもNVM34からRAM32へ復元されてもよい。アプリケーションApp1は、OSからのデータ復元完了に応じて、当該データ復元コマンドに対するレスポンスを端末T宛てに送信する。なお、上記App1宛てのコマンドは、直接、アプリケーションApp1が受信してもよい。
上記実施形態においては、端末Tがデータ保存コマンド及びデータ復帰コマンドを送信するように構成したが、別の例として、制御モジュール2がコマンドAPDUであるデータ保存コマンド及びデータ復帰コマンドをICモジュール3へ送信するように構成してもよい。また、上記実施形態においては、通信デバイスDに組み込まれるICモジュール3を例にとって説明したが、バッテリー内蔵型の組み込みICモジュール3が搭載されたICカードが単独で使用される場合にも本発明は適用できる。
1 通信モジュール
2 制御モジュール
3 ICモジュール
4 バッテリー
31 CPU
32 RAM
33 ROM
34 NVM
35 I/O回路
D 通信デバイス

Claims (24)

  1. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、
    前記不揮発性メモリには、実行が許可されるコマンドを示す許可コマンドリストが保存されており、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    外部から受信されたコマンドが前記許可コマンドリストに示されないコマンドである場合に、前記不揮発性メモリに保存されたデータを消去する消去手段と、
    を備えることを特徴とする電子情報記憶媒体。
  2. 前記復元手段は、前記不揮発性メモリに保存されている第1パスワードと、前記データ復帰コマンドに含まれる第2パスワードとの照合を行い、前記第1パスワードと前記第2パスワードが一致する場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元することを特徴とする請求項1に記載の電子情報記憶媒体。
  3. 外部からデータ保存コマンドが受信された場合に、前記不揮発性メモリに保存されるべき前記第1パスワードを生成する生成手段と、
    前記データ保存コマンドに対するレスポンスとして、前記生成された前記第1パスワードを含むレスポンスを外部へ送信する送信手段と、
    を更に備えることを特徴とする請求項に記載の電子情報記憶媒体。
  4. 前記生成手段は、乱数を含む前記第1パスワードを生成することを特徴とする請求項3に記載の電子情報記憶媒体。
  5. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    を備え、
    前記保存手段は、前記揮発性メモリ上の特定のデータであって対象データリストに示されるデータに限り前記不揮発性メモリに保存することを特徴とする電子情報記憶媒体。
  6. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    現在のロジカルチャネルの状態に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段と、
    を備え、
    前記保存手段は、前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上のデータを前記不揮発性メモリに保存することを特徴とする電子情報記憶媒体。
  7. 前記第1判定手段により許可しないと判定された場合に、エラー処理を行うエラー処理手段を更に備えることを特徴とする請求項に記載の電子情報記憶媒体。
  8. 前記第1判定手段は、現在のロジカルチャネル上でアプリケーションが選択されていない場合に、前記データ保存コマンドの実行を許可しないと判定することを特徴とする請求項またはに記載の電子情報記憶媒体。
  9. 前記不揮発性メモリに保存対象となるデータは、複数のロジカルチャネルのうちの特定のロジカルチャネルの状態を示すデータであり、
    前記第1判定手段は、現在の前記特定のロジカルチャネル上でアプリケーションが選択されていない場合に、前記データ保存コマンドの実行を許可しないと判定することを特徴とする請求項またはに記載の電子情報記憶媒体。
  10. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    現在のロジカルチャネルの状態に応じて、前記データ復帰コマンドの実行を許可するかを判定する第2判定手段と、
    を備え、
    前記復元手段は、前記第2判定手段により許可すると判定された場合に限り、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元することを特徴とする電子情報記憶媒体。
  11. 前記第2判定手段により許可しないと判定された場合に、エラー処理を行うエラー処理手段を更に備えることを特徴とする請求項10に記載の電子情報記憶媒体。
  12. 前記第2判定手段は、現在のロジカルチャネル上でアプリケーションが選択されていない場合に、前記データ復帰コマンドの実行を許可しないと判定することを特徴とする請求項10または11に記載の電子情報記憶媒体。
  13. 前記不揮発性メモリに保存されたデータには、保存時のロジカルチャネルの状態を示すデータが含まれており、
    前記第2判定手段は、現在のロジカルチャネルの状態と、前記保存時のロジカルチャネルの状態とを比較し、両状態が異なる場合に、前記データ復帰コマンドの実行を許可しないと判定することを特徴とする請求項10または11に記載の電子情報記憶媒体。
  14. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    を備え、
    前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ保存依頼を行い、
    前記アプリケーションの前記保存手段は、前記データ保存依頼に応じて、前記揮発性メモリ上の、当該アプリケーションにより管理されるデータを前記不揮発性メモリに保存し、
    前記オペレーティングシステムは、前記データ復帰コマンドを受信した場合に、前記アプリケーションにデータ復帰依頼を行い、
    前記アプリケーションの前記復元手段は、前記データ復帰依頼に応じて、前記不揮発性メモリに保存された、当該アプリケーションにより管理されるデータを前記揮発性メモリ上に復元することを特徴とする電子情報記憶媒体。
  15. 前記アプリケーションは、前記データ保存依頼に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段を更に備え、
    前記アプリケーションの前記保存手段は、前記アプリケーションの前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上の、当該アプリケーションにより管理されるデータを前記不揮発性メモリに保存することを特徴とする請求項14に記載の電子情報記憶媒体。
  16. 前記アプリケーションは、前記データ復帰依頼に応じて、前記データ復帰コマンドの実行を許可するかを判定する第2判定手段を更に備え、
    前記アプリケーションの前記復元手段は、前記アプリケーションの前記第2判定手段により許可すると判定された場合に限り、前記不揮発性メモリに保存された、当該アプリケーションにより管理されるデータを前記揮発性メモリ上に復元することを特徴とする請求項14に記載の電子情報記憶媒体。
  17. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体であって、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ消去依頼を行い、
    前記アプリケーションは、前記データ消去依頼に応じて、前記揮発性メモリ上の、前記アプリケーションにより管理される一部データを消去し、
    前記オペレーティングシステムの前記保存手段は、前記アプリケーションにより管理される一部データが消去された後に、前記消去された前記一部データが記憶されていた特定領域を含む前記揮発性メモリ上のデータを前記不揮発性メモリに保存し、
    前記オペレーティングシステムの前記復元手段は、前記データ復帰コマンドを受信した場合に、前記不揮発性メモリに保存された当該データを前記揮発性メモリ上に復元することを特徴とする電子情報記憶媒体。
  18. 前記アプリケーションは、前記データ消去依頼に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段を更に備え、
    前記アプリケーションは、前記アプリケーションの前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上の、前記アプリケーションにより管理される一部データを消去することを特徴とする請求項17に記載の電子情報記憶媒体。
  19. 揮発性メモリ及び実行が許可されるコマンドを示す許可コマンドリストが保存されている不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    外部から受信されたコマンドが前記許可コマンドリストに示されないコマンドである場合に、前記不揮発性メモリに保存されたデータを消去する消去手段として機能させることを特徴とするプログラム。
  20. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段として機能させるプログラムであって、
    前記保存手段は、前記揮発性メモリ上の特定のデータであって対象データリストに示されるデータに限り前記不揮発性メモリに保存することを特徴とするプログラム。
  21. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    現在のロジカルチャネルの状態に応じて、前記データ保存コマンドの実行を許可するかを判定する第1判定手段として機能させるプログラムであって、
    前記保存手段は、前記第1判定手段により許可すると判定された場合に限り、前記揮発性メモリ上のデータを前記不揮発性メモリに保存することを特徴とするプログラム。
  22. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段と、
    現在のロジカルチャネルの状態に応じて、前記データ復帰コマンドの実行を許可するかを判定する第2判定手段として機能させるプログラムであって、
    前記復元手段は、前記第2判定手段により許可すると判定された場合に限り、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元することを特徴とするプログラム
  23. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段として機能させるプログラムであって、
    前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ保存依頼を行い、
    前記アプリケーションの前記保存手段は、前記データ保存依頼に応じて、前記揮発性メモリ上の、当該アプリケーションにより管理されるデータを前記不揮発性メモリに保存し、
    前記オペレーティングシステムは、前記データ復帰コマンドを受信した場合に、前記アプリケーションにデータ復帰依頼を行い、
    前記アプリケーションの前記復元手段は、前記データ復帰依頼に応じて、前記不揮発性メモリに保存された、当該アプリケーションにより管理されるデータを前記揮発性メモリ上に復元することを特徴とするプログラム
  24. 揮発性メモリ及び不揮発性メモリを備える電子情報記憶媒体におけるコンピュータを、
    外部からデータ保存コマンドが受信された場合に、前記揮発性メモリ上のデータを前記不揮発性メモリに保存する保存手段と、
    外部からデータ復帰コマンドが受信された場合に、前記不揮発性メモリに保存されたデータを前記揮発性メモリ上に復元する復元手段として機能させるプログラムであって、
    前記電子情報記憶媒体に搭載されたオペレーティングシステムは、前記データ保存コマンドを受信した場合に、アプリケーションにデータ消去依頼を行い、
    前記アプリケーションは、前記データ消去依頼に応じて、前記揮発性メモリ上の、前記アプリケーションにより管理される一部データを消去し、
    前記オペレーティングシステムの前記保存手段は、前記アプリケーションにより管理される一部データが消去された後に、前記消去された前記一部データが記憶されていた特定領域を含む前記揮発性メモリ上のデータを前記不揮発性メモリに保存し、
    前記オペレーティングシステムの前記復元手段は、前記データ復帰コマンドを受信した場合に、前記不揮発性メモリに保存された当該データを前記揮発性メモリ上に復元することを特徴とするプログラム
JP2019179902A 2019-09-30 2019-09-30 電子情報記憶媒体、及びプログラム Active JP7334566B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019179902A JP7334566B2 (ja) 2019-09-30 2019-09-30 電子情報記憶媒体、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019179902A JP7334566B2 (ja) 2019-09-30 2019-09-30 電子情報記憶媒体、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021056815A JP2021056815A (ja) 2021-04-08
JP7334566B2 true JP7334566B2 (ja) 2023-08-29

Family

ID=75272620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019179902A Active JP7334566B2 (ja) 2019-09-30 2019-09-30 電子情報記憶媒体、及びプログラム

Country Status (1)

Country Link
JP (1) JP7334566B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048415A (ja) 2007-08-20 2009-03-05 Toshiba Corp 携帯可能電子装置および携帯可能電子装置の制御方法
JP2018060455A (ja) 2016-10-07 2018-04-12 大日本印刷株式会社 電子情報記憶媒体、コマンド処理方法、及びコマンド処理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08171621A (ja) * 1994-12-16 1996-07-02 Matsushita Electric Ind Co Ltd Icカード

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048415A (ja) 2007-08-20 2009-03-05 Toshiba Corp 携帯可能電子装置および携帯可能電子装置の制御方法
JP2018060455A (ja) 2016-10-07 2018-04-12 大日本印刷株式会社 電子情報記憶媒体、コマンド処理方法、及びコマンド処理プログラム

Also Published As

Publication number Publication date
JP2021056815A (ja) 2021-04-08

Similar Documents

Publication Publication Date Title
US20060086785A1 (en) Portable electronic apparatus and method of updating application in portable electronic apparatus
JP4322021B2 (ja) メモリカード
US5252812A (en) Program control system for portable data storage device
US7428992B2 (en) Secure device and system for issuing IC cards
KR100760275B1 (ko) 가상 메모리를 운영하기 위한 수단을 포함하는 칩 카드,그와 관련된 통신 방법 및 프로토콜
JP5329884B2 (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ処理方法
CN104412242A (zh) 内存保护
JP6585072B2 (ja) 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと
JP2008129744A (ja) 外部記憶装置
WO2007119594A1 (ja) セキュアデバイス及び読み書き装置
JP5225054B2 (ja) Icカード
EP2775461B1 (en) Smart card, electronic device and portable electronic device
CN106951771B (zh) 一种安卓操作系统的移动终端使用方法
JP4896842B2 (ja) 携帯可能電子装置
US20030225962A1 (en) Memory card and memory card system
JP7334566B2 (ja) 電子情報記憶媒体、及びプログラム
JP2012141754A (ja) Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及び携帯端末
CN114925368A (zh) 用于启动应用程序的安全元件和方法
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
US10489775B2 (en) Integrated circuit card adapted to transfer first data from a first application for use by a second application
JP7533142B2 (ja) 電子情報記憶媒体、初期化シーケンス実行方法、及びプログラム
CN113569208B (zh) 数据管理方法、智能卡及计算机可读存储介质
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP7497777B1 (ja) 電子情報記憶媒体、icチップ、icカード、データ移行判定方法、及びプログラム
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230629

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: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230731

R150 Certificate of patent or registration of utility model

Ref document number: 7334566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150