JP7068603B2 - 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム - Google Patents

電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム Download PDF

Info

Publication number
JP7068603B2
JP7068603B2 JP2017169177A JP2017169177A JP7068603B2 JP 7068603 B2 JP7068603 B2 JP 7068603B2 JP 2017169177 A JP2017169177 A JP 2017169177A JP 2017169177 A JP2017169177 A JP 2017169177A JP 7068603 B2 JP7068603 B2 JP 7068603B2
Authority
JP
Japan
Prior art keywords
application instance
application
save
electronic information
storage medium
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
JP2017169177A
Other languages
English (en)
Other versions
JP2019046210A (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 JP2017169177A priority Critical patent/JP7068603B2/ja
Publication of JP2019046210A publication Critical patent/JP2019046210A/ja
Application granted granted Critical
Publication of JP7068603B2 publication Critical patent/JP7068603B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

IC(Integrated Circuit)チップ等の電子情報記憶媒体の技術分野に関する。
従来、ICチップが組み込まれたICカードにおいて、ICチップのROMにICカードOS(Operating System)を記憶し、同じくICチップの不揮発性メモリに複数のアプリケーションを記憶するマルチアプリケーション型ICカードが普及し始めている。マルチアプリケーション型ICカードでは、不揮発性メモリにアプリケーションを記憶することから、アプリケーションを追加したり削除したりすることが比較的容易である。
また、ICチップに搭載されたアプリケーションに何らかの不具合が見つかった場合にそれに対処することを目的として、又は、アプリケーションに機能を追加することを目的としてアプリケーションをアップデート(アップグレード)することがある。特許文献1には、アプリケーションのアップデート(更新)機能を備えたマルチアプリケーションICチップに関する技術が開示されている。具体的には、ICチップがプログラムコードにおける更新対象部分を特定するためのアドレス(例えば、ページ番号)と、当該更新対象部分に上書きするプログラムコードをサーバから受け取り、受け取ったアドレスで特定される部分を受け取ったプログラムコードで上書きする技術が開示されている。
特開2006-293706号公報
ところが、特許文献1の技術では、更新対象部分を上書きプログラムで上書きするため、上書きプログラムのデータ量が更新対象部分のデータ量を上回っている場合に更新を行うことができない場合がある。
一方で、アプリケーションをアップデートする他の手法として、プログラムと当該プログラムで使用するデータの全てを一旦削除して、アップデート版のアプリケーションをクリーンインストールするという方法もある。この方法の場合、アップデート前のプログラムのデータ量よりもアップデート後のプログラムのデータ量が大きい場合であってもアップデートが可能となる。
しかしながら、アプリケーションに関する全てのデータを削除してから、クリーンインストールする場合、アップデート前とアップデート後で変更する必要のないデータについても新たにダウンロードする必要があり、通信コストが増大するという問題がある。
また、ICチップは、アップデート中に電源供給が断たれて(「電源断」という)処理が中断されてしまうおそれがあり、中断後にアップデートを正常に完了させるための対策が必要となる。
そこで、本発明は、アプリケーションのアップデート処理に掛かる通信コストを削減することができ、且つ、アップデート処理が中断されてしまった場合でもアップデート処理を中断した処理から再開させることができる電子情報記憶媒体等を提供することを課題とする。
上記課題を解決するために、請求項1に記載の発明は、第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段と、前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避手段と、前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除手段と、前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、前記ロード処理後及び/又は前記インストール処理後に、前記退避手段が退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け手段と、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納手段と、を備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理及び前記関連付け処理を実行する処理順序と、当該処理順序に従う一連の処理を何れの処理まで実行済みであるかを管理する管理手段と、前記処理順序における何れかの処理の実行中に当該処理を中断した場合において、所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開する再開手段と、を更に備えることを特徴とする。
請求項に記載の発明は、請求項1又は2記載の電子情報記憶媒体であって、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理を実行中に、外部機器から前記第1のアプリケーションプログラムを選択するコマンドを受信した場合に、エラーレスポンスを返信するエラー返信手段を更に備えることを特徴とする。
請求項4に記載の発明は、請求項に記載の電子情報記憶媒体であって、前記再開手段は、前記電子情報記憶媒体への電源供給が断たれたこと、又は、外部機器との通信が断たれたことの中断事由により処理を中断した場合において、電源供給又は通信が復旧することという前記所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開することを特徴とする。
請求項に記載の発明は、請求項に記載の電子情報記憶媒体であって、前記再開手段は、前記中断事由により処理を中断した場合において、処理を再開する場合に、当該処理より優先度の高い処理がある場合には、当該優先度の高い処理が完了してから処理を再開することを特徴とする。
請求項6に記載の発明は、請求項に記載の電子情報記憶媒体であって、前記管理手段は、前記一連の処理における何れの処理を実行中であるかを管理し、前記一連の処理における何れの処理を実行中であるかの問い合わせを外部から受け付けた場合に、当該問い合わせに応答することを特徴とする。
請求項に記載の発明は、請求項1乃至の何れか一項に記載の電子情報記憶媒体を備えるICカードである。
請求項に記載の発明は、第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避工程と、前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除工程と、前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンである新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、前記ロード処理後及び/又は前記インストール処理後に、前記退避工程で退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け工程と、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納処理を実行する格納工程と、を含むことを特徴とする。
請求項に記載の発明は、第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避手段、前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除手段、前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンである新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、前記ロード処理後及び/又は前記インストール処理後に、前記退避手段が退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け手段、前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納手段、として機能させることを特徴とする。
本発明によれば、新しいバージョンのアプリケーションをインストールするに当たり、関連付けデータを削除せずに退避させておき、新しいバージョンのアプリケーションインスタンスが生成された段階で退避させておいた関連付けデータを関連付けることから、関連付けデータを削除して新たに取得する必要がなく、アプリケーションのアップデート処理に掛かる通信コストを削減することができる。また、アップデート処理に係る退避処理、削除処理、ロード処理、インストール処理及び関連付け処理を実行する処理順序と、当該処理順序に従う一連の処理を何れの処理まで実行済みであるかを管理することから、アップデート処理を中断した場合であっても、中断した処理からアップデート処理を再開することができる。
本実施形態に係るICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。 ICチップ1aの機能構成例を示すブロック図である。 本実施形態に係るアップデート処理の一例を示すシーケンス図である。 本実施形態に係るICチップ1aによる退避・削除処理の一例を示すフローチャートである。 本実施形態に係るICチップ1aによるインストール・復元処理の一例を示すフローチャートである。 本実施形態に係るICチップ1aによる状態管理リスト更新処理の一例を示すフローチャートである。 本実施形態に係る状態管理リストの構成例を示す図である。 本実施形態に係るICチップ1aによるアップデート再開処理の一例を示すフローチャートである。 変形例1に係る状態管理リストの構成例を示す図である。 変形例4に係る状態管理リストの構成例を示す図である。 変形例5に係る状態管理リストの構成例を示す図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、アプリケーションのアップデート機能を有するマルチアプリケーションICチップを搭載するICカードに対して本発明を適用した場合の実施の形態である。
[1.ICチップ1aの構成]
まず、図1を参照して、ICカード1に搭載されるICチップ1aの構成について説明する。図1は、ICカード1に搭載されるICチップ1aのハードウェア構成例を示す図である。本実施形態のICカード1は、接触によるデータ通信と非接触によるデータ通信の2つの通信機能を兼ね備えたデュアルインターフェース型ICカードである。但し、ICカード1の種類はデュアルインターフェース型ICカードに限定されず、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードにICチップ1aがエンベットされた接触型ICカードであってもよいし、また、アンテナコイルを内蔵し無線でリーダ・ライタとデータ通信する非接触型ICカードであってもよい。
図1に示すように、ICチップ1aは、CPU(Central Processing Unit)10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、不揮発性メモリ13、及びI/O回路14を備えて構成される。CPU10は、ROM12又は不揮発性メモリ13に記憶された各種プログラムを実行するプロセッサ(コンピュータ)である。なお、I/O回路14は、外部機器2とのインターフェイスを担う。これにより、ICチップ1aは、リーダ・ライタを備える外部機器2との間で接触又は非接触で通信を行うことができる。接触式のICチップ1aの場合、I/O回路14には、例えば、C1~C8の8個の端子が備えられている。例えば、C1端子は電源端子(ICチップ1aへ電源供給する端子)、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部機器2との間で通信を行うための端子である。一方、非接触式のICチップ1aの場合、I/O回路14には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部機器2の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICチップ1aが通信機器に組み込まれる場合、外部機器2には通信機器の機能を担う制御部が該当する。
不揮発性メモリ13には、例えばフラッシュメモリ、強誘電体メモリ又は「Electrically Erasable Programmable Read-Only Memory」を適用することができる。不揮発性メモリ13は、ICカードOS(以下、「OS」という場合がある)や各種アプリケーション及びこれらが使用するデータを記憶する。
ここで、アプリケーションの機能は、アプリケーションプログラムをインストール処理することにより不揮発性メモリ13に生成されるアプリケーションインスタンスをCPU10が実行することにより実現される。なお、アプリケーションインスタンスを実行することによりアプリケーションの機能が実現されることから、アプリケーションインスタンスをアプリケーションという場合もある。また、アプリケーションプログラムは、後述するようにサーバから[LOAD]コマンドにより分割してICチップ1aに送信され、不揮発性メモリ13に記憶される。すなわち、不揮発性メモリ13には、アプリケーションプログラム及びアプリケーションインスタンスが記憶される。
[2.ICチップ1aの機能構成]
図2は、ICチップ1aの機能構成例を示すブロック図である。ICチップ1a内には、ICチップ1a自身及びICチップ1a内のアプリケーションを管理するためのアプリケーションであるセキュリティドメイン(Security Domain、以下、「SD」という)が、必ず1つ以上存在する。SDには、ISD(Issuer Security Domain)とSSD(Supplementary Security Domains)がある。このようなSDは、主に、以下の(1)~(9)の機能をサポートする。
(1)ICカードのライフサイクル管理
(2)アプリケーションプログラムのライフサイクル管理
(3)アプリケーションインスタンスのライフサイクル管理
(4)アプリケーションプログラムのロード
(5)アプリケーションインスタンスの生成(インストール)
(6)アプリケーションプログラムまたはアプリケーションインスタンスの削除
(7)アプリケーション向けインスタンスデータ(発行データ)の書き込み
(8)データの読出し
(9)セキュアチャンネルプロトコル(Secure Channel Protocol、以下、「SCP」という)に従ったセキュアな通信路の確保
ISDは、上記(1)~(9)の機能をサポートすることで、ICチップ1a内のカードコンテント(アプリケーションプログラム、アプリケーションインスタンス等)に対して、ICカード1の発行者の管理及びセキュリティポリシーを実現する。一方、SSDは、上記(1)~(9)の機能をサポートすることで、ICカード内のカードコンテントに対して、ICカード上でサービスを提供する第三者の管理及びセキュリティポリシーを実現する。ここで、ICカード上でサービスを提供する第三者とは、ICカードの発行者及びICカードの保持者(ICカードの発行対象である利用者)以外の立場としての者をいう。また、上記(9)の機能において、SCPは、ICカード内のSDと外部機器間の通信路に対して、コマンドデータの機密性、コマンドの完全性(及びコマンドシークエンスの保証)、コマンドデータ(平文)内のセンシティブデータ(例えば、鍵やPINコード)のさらなる機密性を提供する。
図2に示すように、ICチップ1aには、OSがインストールされており、更に、上述したISD、SSD、各種サービスを提供するApplication1、2といったアプリケーションがインストールされている(インスタンスが不揮発性メモリ13に記憶されている)。また、ISD、SSD、Application1、2といったアプリケーションインスタンスがそれぞれ使用・管理するインスタンスデータ(例えば、認証用の鍵値、ポイントデータ、ユーザIDなと)が不揮発性メモリ13上の各アプリケーションインスタンスに割り当てられた領域に記憶される。また、不揮発性メモリ13上のOSに割り当てられた領域には、OSが管理する、各アプリケーションインスタンスに紐付いたレジストリデータ(例えば、AIDや特権など)が記憶される。
ISD、SSD、Application1、2といったアプリケーションは、不具合が見つかった場合や機能が追加される場合にアップデートされる。ここで、アプリケーションのアップデートはアプリケーションプログラムとアプリケーションインスタンスのアップデートが主な目的であるため、インスタンスデータとレジストリデータ(インスタンスデータとレジストリデータを総称して「アプリケーションデータ」という場合がある)は、アップデートの前後で同一データとなるものが多い(暗号の危殆化などで、アルゴリズムや鍵長を変更する場合などは、異なるデータとなることもある)。そこで、本実施形態のICチップ1aは、アプリケーションのアップデートを行う際に、アプリケーションデータをOSに割り当てられた不揮発性メモリ13上の一時領域に退避させ、アプリケーションプログラム及びアプリケーションインスタンスを削除した後に、新しいバージョンのアプリケーションプログラムをロードし、インストール処理により新しいバージョンのアプリケーションインスタンスの生成を行い、次いで、退避させておいたアプリケーションデータを復元するといった処理を行う。以下、アプリケーションのアップデートを行う際の処理(アップデート処理)について具体的に説明する。
[3.アップデート処理]
以下、図3-図7を用いて、ICチップ1aのアップデート処理の動作例について説明する。図3は、アップデート処理の一例を示すシーケンス図であり、図4は、ICチップ1aによる退避・削除処理の一例を示すフローチャートであり、図5は、ICチップ1aによるインストール・復元処理の一例を示すフローチャートであり、図6は、ICチップ1aによる状態管理リスト更新処理の一例を示すフローチャートであり、図7は、状態管理リストの構成例を示す図である。
図3は、アプリケーションであるポイントアプリケーション(提携している施設等でのポイント加算・利用を可能とするアプリケーション。以下、「ポイントアプリ」という)をアップデートする場合のICチップ1aとサーバ(ポイントアプリの提供者のサーバ)のコマンド・レスポンスの流れを示している。
まず、サーバはICチップ1aに対してICチップ1a内のポイントアプリを管理するSDであるISDとの通信路を形成するために[SELECT ISD]コマンドを送信する(ステップS1)。[SELECT]コマンドは、通信路の相手先となるアプリケーションを識別するIDであるAIDと、当該アプリケーションとの通信路(ロジカルチャネル)を識別するロジカルチャネル番号を含む。これに対して、ICチップ1aはコマンドに応じて通信路を形成するための処理を実行し、OK応答を送信する(ステップS2)。但し、コマンドに応じた処理を正常終了できなかった場合にはエラーが発生したことを示すレスポンスをサーバに送信する(以下、ステップS4、S6、S9、S11、S13、S16について同様)。これにより、ロジカルチャネル番号で識別される通信路(ロジカルチャネル)が形成され、以降、サーバはコマンドに当該ロジカルチャネル番号を含ませることにより、当該ロジカルチャネル番号で識別される通信路を介して、ISDと通信を行うことができる。
次いで、サーバは、通信路の機密性を高めるためにそれまでに形成した通信路(ロジカルチャネル)をセキュアな通信路にするセキュア処理(SCPでコマンドを保護するための相互認証処理)を実行する。
相互認証処理は、プロトコルで決められたアルゴリズムに従い、暗号演算の元となる鍵を互いが知っているという前提の下、サーバとICチップ1aが互いを認証する処理である。具体的には、サーバが相互認証用のコマンドである[INITIALIZE UPDATE]コマンド及び[EXTERNAL AUTHENTICATE]コマンドをICチップ1aに送信し(ステップS3、ステップS5)、ICチップ1aがそれぞれのコマンドに応じた処理を実行し、正常に処理を完了するとOK応答を送信する(ステップS4、ステップS6)ことにより行われる。図3では、ステップS6の処理によりOK応答を送信することにより相互認証は完了したことになる。
次いで、サーバは、ICチップ1aに対して退避・削除処理を実行させるための[退避・削除処理]コマンドを送信する(ステップS7)。退避・削除処理は、アプリケーションをアップデートするための処理の一部である。これに対して、ICチップ1aは退避・削除処理を実行する(ステップS8)。なお、退避・削除処理については後述する。ICチップ1aは退避・削除処理を正常終了すると、OK応答を送信する(ステップS9)。
次いで、サーバは、ICチップ1aに対して[LOAD(0)]コマンドを送信する(ステップS10)。[LOAD]コマンドは、新しいポイントアプリのアプリケーションプログラムをn個に分割して送信するコマンドである。[LOAD(0)]コマンドはn個に分割したうちの最初の部分を送信し、ICチップ1aに記憶させるためのコマンドである。ICチップ1aは[LOAD]コマンドに含まれるアプリケーションプログラムの一部を不揮発性メモリ13に記憶させる処理を行い、処理を正常終了すると、OK応答をサーバに送信する(ステップS11)。以下、同様に、サーバは分割した残りの部分を送信するために[LOAD(1)]コマンド、[LOAD(2)]コマンド、・・・、[LOAD(n-1)]コマンドを送信し、その都度、ICチップ1aは[LOAD]コマンドに含まれるアプリケーションプログラムの一部を不揮発性メモリ13に記憶させる処理を行い、処理を正常終了すると、OK応答をサーバに送信する。[LOAD(n-1)]コマンドの送信(ステップS12)、及び、これに対するOK応答の送信(ステップS13)がなされると、新しいポイントアプリのアプリケーションプログラム全体がICチップ1aの不揮発性メモリ13に記憶されたことになる(ロード完了)。なお、ステップS10~ステップS13の処理を総称して「ロード処理」(処理ID:「X」)という場合がある。
次いで、サーバは、ICチップ1aに対してインストール・復元処理を実行させるための[インストール・復元処理]コマンドを送信する(ステップS14)。インストール・復元処理は、アプリケーションをアップデートするための処理の一部である。これに対して、ICチップ1aはインストール・復元処理を実行する(ステップS15)。なお、インストール・復元処理については後述する。ICチップ1aはインストール・復元処理を正常終了すると、OK応答を送信し(ステップS16)、アプリケーションアップデート処理を終了する。
[4.退避・削除処理]
次に、図4を用いて、ICチップ1aによる退避・削除処理について説明する。退避・削除処理は、サーバからの[退避・削除処理]コマンドに応じて実行される処理である。
まず、ICチップ1aのOS(を実行するCPU10)は、図7に示す状態管理リスト500を作成する(ステップS101)。状態管理リスト500は、AID(Application ID)501、処理ID502及び完了フラグ503を示す情報を含む。AID501には、アップデートの対象となっているアプリケーション(「ポイントアプリ」)のアプリケーションインスタンスを識別するAIDが格納される。処理ID502には、アプリケーションをアップデートする際に実行される各処理を識別する処理ID502(本実施形態では「A」~「J」及び「X」。それぞれが何れの処理に対応するかは後述する)が、処理順(「NO.」の値が小さいほど処理順が早い)に格納される。完了フラグ503には、対応する処理IDで識別される処理が完了しているか否かを示す情報が格納される。具体的には、処理が未完了であれば「0」が格納され、処理が完了していれば「1」が格納される。なお、状態管理リスト500を作成した時点では、原則、全ての完了フラグ503に「0」を格納するものとする。
図4に戻り、OSはポイントアプリに関するインスタンスデータをOSに割り当てられた一時領域に退避する(ステップS102)。このとき、OSはポイントアプリからインスタンスデータを受け取り、一時領域に記憶させることとしてもよいし、OS自らがポイントアプリのインスタンスデータが記憶されている位置を特定し、一時領域に退避することとしてもよい。なお、ステップS102の処理IDは「A」である。
次に、OSはポイントアプリに関するレジストリデータをOSに割り当てられた一時領域に退避する(ステップS103)。なお、ステップS103の処理IDは「B」である。また、ステップS102の処理及びステップS103の処理を総称して「退避処理」という場合がある。
次に、OSは連携アプリ対応処理1を実行する(ステップS104)。連携アプリ対応処理1は、アップデートの対象であるポイントアプリと連携してサービスを提供するアプリケーション(例えば、決済アプリケーション(以下「決済アプリ」という)が、ポイントアプリのアップデート中に連携することを回避するための処理である。例えば、決済アプリにより決済が完了した際に、決済アプリがポイントアプリを呼び出して、決済金額に応じてポイントを付与するサービスを提供している場合において、ポイントアプリがアップデート中であれば決済アプリがポイントアプリを呼び出せないようにする。具体的には、決済アプリがポイントアプリを呼び出す場合、決済アプリはポイントアプリのプログラムインスタンスが記憶されているアドレスをOSに問い合わせ、OSは予め保持しているアドレステーブルを参照して、当該アドレスを決済アプリに返信することとなっているが、ポイントアプリがアップデート中であればアドレステーブルの当該アドレスが格納される領域に、ポイントアプリを呼び出すことができないことを示す値(例えば、null)を格納する。これにより、ポイントアプリのアップデート中にポイントアプリが呼び出されてしまう事故を防ぐことができる。なお、ステップS104の処理IDは「C」である。
次に、OSはポイントアプリのアプリケーションインスタンスを削除する(ステップS105)。なお、ステップS105の処理IDは「D」である。
次に、OSはポイントアプリのアプリケーションプログラムを削除し(ステップS106)、退避・削除処理を終了する。なお、ステップS106の処理IDは「E」である。また、ステップS105の処理及びステップS106の処理を総称して「削除処理」という場合がある。
[5.インストール・復元処理]
次に、図5を用いて、ICチップ1aによるインストール・復元処理について説明する。インストール・復元処理は、サーバからの[インストール・復元処理]コマンドに応じて実行される処理である。
まず、ICチップ1aのOS(を実行するCPU10)は、図3のステップS10~ステップS12の[LOAD]コマンドに基づいて記憶した新しいポイントアプリのアプリケーションプログラムのインストール処理、すなわち、アプリケーションインスタンスの生成し、不揮発性メモリ13に記憶させる(ステップS201)。なお、ステップS201の処理IDは「F」である。
次に、OSは、図4のステップS102の処理で退避したインスタンスデータを復元する(ステップS202)。具体的には、ステップS201の処理で生成したアプリケーションインスタンスが、退避したインスタンスデータを使用できるように関連付ける処理を実行する。なお、ステップS202の処理IDは「G」である。
次に、OSは、図4のステップS103の処理で退避したレジストリデータを復元する(ステップS203)。具体的には、OSが、退避したレジストリデータを新しいポイントアプリと関連付けてOSが使用できるように関連付ける処理を実行する。なお、ステップS203の処理IDは「H」である。また、ステップS202の処理及びステップS203の処理を総称して「関連付け処理」という場合がある。
次に、OSは連携アプリ対応処理2を実行する(ステップS204)。連携アプリ対応処理2は、図4のステップS104の処理で、決済アプリがポイントアプリを呼び出さないようにしたので、決済アプリがポイントアプリを呼び出せるようにする処理である。具体的には、OSは予め保持しているアドレステーブルにおけるポイントアプリのインスタンスが記憶されているアドレスが格納される領域に正しい情報を格納する。これにより、決済アプリがポイントアプリを呼び出せることができるようになる。なお、ステップS204の処理IDは「I」である。
次に、OSは、図4のステップS101の処理で作成した状態管理リスト500を削除し(ステップS205)、インストール・復元処理を終了する。なお、ステップS205の処理IDは「J」である。
[6.状態管理リスト更新処理]
次に、図6を用いて、ICチップ1aによる状態管理リスト更新処理について説明する。状態管理リスト更新処理は、図4のステップS101の処理により状態管理リスト500が作成されてから、図5のステップS205の処理により状態管理リスト500が削除されるまでの間に実行される処理である。
ICチップ1aのOS(を実行するCPU10)は、アップデート処理における各処理(処理ID「A」~「J」、「X」で識別される処理)の進行状態を監視し、進行状態が変化したか否かを判定する(ステップS301)。そして、OSは進行状態が変化しないと判定した場合には(ステップS301:NO)、監視を継続する。一方、OSは、進行状態が変化した(処理ID「A」~「J」又は「X」で識別される処理が完了した)と判定した場合に(ステップS301:YES)、状態管理リスト500における、完了した処理に対応する完了フラグ503を更新する。
例えば、OSは、図4のステップS102の処理(処理ID:「A」)が完了した場合には、状態管理リスト500の処理ID502に「A」が格納されている領域と対応する完了フラグ503の領域に「1」をセットする。なお、図示しないが、新しいアプリケーションプログラムをLOADする処理の処理IDを「X」とする。すなわち、OSは、図3のステップS13の処理が完了した場合には、状態管理リスト500の処理ID502に「X」が格納されている領域と対応する完了フラグ503の領域に「1」をセットする。
[7.アップデート再開処理]
次に、図8を用いてOSによるアップデート再開処理について説明する。ICチップ1aによる処理は、ICチップ1aに対する電源が断たれたり、サーバとの通信が切断されたりすると(「通信断」という)、実行できなくなってしまう。そのため、ICチップ1aには電源断や通信断が発生した場合には、処理前の状態に戻す機能が備えられており、例えば、アップデート処理の最中に電源断や通信断が発生すると、最初から処理をやり直さなければならない。しかしながら、上述したようにアップデート処理は処理数が多く複雑であるため、アップデート処理を最初からやり直すこととなると、それまでの処理が無駄になりアップデート処理のコストが増大してしまう。そこで、本実施形態では、状態管理リスト500により、アップデート処理の何れの処理まで完了しているかを管理し、電源断や通信断が発生した場合には、一からアップデート処理をやり直すのではなく、完了していない処理からアップデート処理を再開する。これにより、電源断や通信断が発生したことによるアップデート処理のコスト増大を防ぐことができる。アップデート再開処理は、アップデート処理中に電源断や通信断が発生し、サーバからアップデート処理再開コマンドを受信したことを契機に実行される処理である。なお、サーバは[退避・削除処理]コマンド、「LOAD」コマンド、[インストール・復元処理]コマンドを送信してから、それぞれに設定された所定の時間内にOK応答が送信されない場合に、アップデート処理再開コマンドをICチップ1aに送信する。
図8に示すように、ICチップ1aのOS(を実行するCPU10)は、まず、状態管理リスト500の完了フラグ503を参照し、完了済の処理の次の処理を特定する(ステップS401)。例えば、処理ID502が「A」~「C」の完了フラグ503が「1」となっており、処理ID502が「D」~「J」の完了フラグ503が「0」となっている場合には、処理ID502「D」の処理(すなわち、図4のステップS105の処理)を特定する。
次に、OSは、ステップS401の処理で特定した処理から処理を再開させ(ステップS402)、アップデート再開処理を終了する。
以上のように、本実施形態のICチップ1a(「電子情報記憶媒体」の一例)は、不揮発性メモリ13(「記憶手段」の一例)が、アプリケーションプログラムと、アプリケーションインスタンスと、インスタンスデータ(「関連データ」の一例)と、レジストリデータ(「関連データ」の一例)と、を記憶し、CPU10(「退避手段」、「削除手段」、「ロード手段」、「インストール手段」、「関連付け手段」、「管理手段」、「再開手段」の一例)が、不揮発性メモリ13に記憶されているインスタンスデータ及びレジストリデータを不揮発性メモリ13のOSの一次領域(「別の記憶領域」の一例)に退避する退避処理を実行し、退避処理の後に、不揮発性メモリ13に記憶されているアプリケーションプログラムとアプリケーションインスタンスを削除する削除処理を実行し、アプリケーションプログラムの新バージョンであるアプリケーションプログラム(「新アプリケーションプログラム」の一例)を不揮発性メモリ13に記憶させるステップS10~ステップS13の処理(「ロード処理」の一例)を実行し、削除処理及びロード処理の後に、不揮発性メモリ13に記憶されている新バージョンのアプリケーションプログラムに基づいて新バージョンのアプリケーションインスタンス(「新アプリケーションインスタンス」の一例)を生成して不揮発性メモリ13に記憶させるインストール処理を実行し、インストール処理の後に、OSの一時領域に退避させたインスタンスデータ及びレジストリデータを新しいバージョンのアプリケーションインスタンスと関連付ける関連付け処理を実行し、退避処理、削除処理、ロード処理、インストール処理及び関連付け処理を実行する処理順序と、当該処理順序における一連の処理を何れの処理まで実行済みであるかを状態管理リスト500により管理し、処理順序における何れかの処理の実行中に当該処理を中断した場合において、アップデート処理再開コマンドを受信した(「所定の条件が充足された」の一例)場合に、一連の処理における中断した処理から処理を再開する。
したがって、本実施形態のICチップ1aによれば、新しいバージョンのアプリケーションをインストールに当たり、アプリケーションデータ(インスタンスデータ及びレジストリデータ)を削除せずに退避させておき、新しいバージョンのアプリケーションインスタンスが生成された段階で退避させておいたアプリケーションデータを関連付けることから、アプリケーションデータを削除して新たに取得する必要がなく、アプリケーションのアップデート処理に掛かる通信コストを削減することができる。また、アップデート処理に係る退避処理、削除処理、ロード処理、インストール処理及び関連付け処理を実行する処理順序と、当該処理順序に従う一連の処理を何れの処理まで実行済みであるかを管理することから、アップデート処理を中断した場合にあっても、中断した処理からアップデート処理を再開することができる。
[8.変形例]
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は上記実施形態や他の変形例と適宜組み合わせることができる。
[8.1.変形例1]
上記実施形態では、新しいアプリケーションプログラムのロードは、退避・削除処理の後に行うこととしたが、退避・削除処理の前に行うこととしてもよい。すなわち、図3のステップS10~ステップS13の処理を、ステップS7の処理の前に行うこととしてもよい。この場合、退避・削除処理(図4参照)のステップS101の処理において作成する状態管理リスト500は図9の通りとなる。すなわち、先頭の処理ID502が「X」(LOAD)となり、ステップS101の処理の時点でロード処理が完了しているので、完了フラグ503に「1」が格納される。
[8.2.変形例2]
上記実施形態では、電源断や通信断が発生した場合、サーバからアップデート処理再開コマンドを受信したことを契機にアップデート再開処理(図8参照)が実行されるが、OSが電源断や通信断からの復旧を検出したことを契機に(すなわち、サーバからアップデート処理再開コマンドを受信しなくとも)、アップデート再開処理を実行することとしてもよい。アップデート再開処理の契機を、(i)サーバからのアップデート処理再開コマンドの受信とするか、(ii)電源断や通信断からの回復の検出とするかは、サーバが[退避・削除処理]コマンド内で指定することが好ましい。そして、ICチップ1aは[退避・削除処理]コマンド内で(i)又は(ii)の何れが指定されているかに応じて再開フラグを設定し、電源断や通信断からの回復を検出した際に再開フラグを参照して、サーバからアップデート処理再開コマンドが受信するのを待機するか、又は、直ちにアップデート再開処理を実行するかを決定する。後者の場合、電源断や通信断から回復し次第、アップデート処理を再開することができ、アップデートを早期に完了させることができる。
また、電源断や通信断からの復旧の検出を契機にアップデート再開処理を実行する場合であっても、アップデート処理の各処理よりも優先度の高い処理が存在する場合には、当該優先度の高い処理が完了してから処理を再開することが好ましい。具体的には、ICチップ1aが活性化したことに伴う処理に関わるコマンドの送受信中は、その処理が完了するまでアップデート再開処理を実行しないこととする。例えば、ICカード1がUIMカードである場合における携帯端末起動時の契約認証処理中や、ICカード1がIoTデバイスの通信に用いられる場合におけるデバイス自体の構成が変更されていないことを確認するための処理中などには、アップデート再開処理を実行しないことが好ましい。
[8.3.変形例3]
上記実施形態では、図4のステップS104の処理により、アプリケーションのアップデート中は当該アプリケーションを呼び出すことができないようにしたが、例えば、アップデート中(例えば、図3のステップS7~ステップS16の処理の実行中)にアップデート対象のアプリケーションが外部機器2から[SELECT]コマンドにより選択された場合には、ICチップ1aは、外部機器2に対してエラーを示すレスポンス(ステータスワード)を返送することとしてもよい。これにより、外部機器2は、当該アプリケーションを選択できないことを把握することができる。
[8.4.変形例4]
上記実施形態では、アップデート対象のアプリケーションのアプリケーションインスタンスが一つの場合について説明したが、変形例4では、アップデート対象のアプリケーションのアプリケーションインスタンスが複数(3つ)の場合について説明する。なお、レジストリデータ及びインスタンスデータは、アプリケーションインスタンス毎に不揮発性メモリ13に記憶されている。
図10は、アプリケーションインスタンスが3つの場合の状態管理リスト500の一例である。AID501には、各アプリケーションインスタンスを識別するAIDが格納される。図10の例では1つ目のアプリケーションインスタンスのAIDが「1122334455」であり、2つ目のアプリケーションインスタンスのAIDが「2233445566」であり、3つ目のアプリケーションインスタンスのAIDが「3344556677」となっている。図10の状態管理リスト500に示すように、アプリケーションインスタンスが3つの場合には、処理ID502が「A」の処理(図4のステップS102の処理)をそれぞれのアプリケーションインスタンスについて順番に行い、3つのアプリケーションインスタンスについて処理ID502が「A」の処理が完了すると、次いで、処理ID502が「B」の処理(図4のステップS103の処理)をそれぞれのアプリケーションインスタンスについて順番に行う、ということを処理ID502が「J」の処理まで行う。但し、アプリケーションインスタンスが3つであっても、それらが一のアプリケーションプログラムから生成された場合には、対応するアプリケーションプログラムは一つであるので、処理ID502が「E」及び「X」の処理は、何れか一つのアプリケーションインスタンスについてのみ処理を実行することとする。図10の状態管理リスト500では処理ID502が「E」及び「X」の処理は、AID501が「1122334455」であるアプリケーションインスタンスのみが行うことを示している。
変形例4によれば、一のアプリケーションプログラムから複数のアプリケーションインスタンスが生成される場合であっても、アプリケーションインスタンス毎にアップデート処理が何れの処理まで完了したかを管理することができることから、電源断や通信断によりアップデートが中断された場合であっても、一からアップデートを再開するのではなく、中断した処理からアップデートを再開することができ、延いてはアップデートに要する時間を短縮することができる。
[8.5.変形例5]
上記実施形態の状態管理リスト500では、AID501と処理ID502の組み合わせ毎に完了フラグ503を設けることにより何れのアプリケーションインスタンスについて何れの処理まで完了しているかを管理することとしたが、図11に示す状態管理リスト510のように、AID511毎に完了済処理ID512を設けて管理することとしてもよい。図11の状態管理リスト501は、AID511が「1122334455」のアプリケーションインスタンスについて処理IDが「B」の処理までが完了し、AID511が「2233445566」のアプリケーションインスタンスについて処理IDが「A」の処理までが完了していることを示している。変形例5によれば、状態管理リスト510が簡素化され、状態管理リスト510を記憶するための記憶領域を小さくすることができるが、別途、各アプリケーションインスタンスについて処理ID512により識別される処理を何れの順序で行うかを管理する必要がある。
[8.6.変形例6]
上記実施形態では、サーバは[退避・削除処理]コマンド、[LOAD]コマンド、[インストール・復元処理]コマンドを送信してから、それぞれに設定された所定の時間内にOK応答が送信されない場合に、アップデート処理再開コマンドをICチップ1aに送信することとしたが、サーバはOK応答が送信されない場合に、ICチップ1aに対して何れの処理を実行中であるかの問い合わせを行うこととしてもよい。そして、サーバは問い合わせた結果に基づいて、改めてアップデート処理再開コマンドをICチップ1aに送信してアップデート処理を再開させてもよいし、また、アップデート処理取消コマンドをICチップ1aに送信して、アップデート処理を取り消してもよい。
ICチップ1aのOSは、例えば、ロード処理待ち([LOAD]コマンド待ち)中、退避・削除処理待ち([退避・削除処理]コマンド待ち)中、インストール処理・復元処理待ち([インストール・復元処理]コマンド待ち)中、退避処理中、削除処理中、インストール処理中、関連付け処理(復元)中、アップデート処理完了済みの何れの状態にあるかを管理することとし、サーバから何れの処理を実行中であるか又は何れの状態にあるかの問い合わせがあった場合に応答を行う。例えば、OSは、状態毎にフラグ(例えば、ロード処理待ち中フラグ等)を設け、その状態に遷移した際に該当するフラグをオンとし、その状態を終了した際に該当するフラグをオフとすることにより、何れの状態にあるかを管理することとしてもよい。このとき、サーバは当該応答が、退避処理中、削除処理中、インストール処理中、関連付け処理中を示している場合(すなわち、コマンド待ち中でない場合)は、電源断が発生した可能性があると判断することができる。
サーバは、問い合わせに対するICチップ1aからの回答に基づいて、アップデート処理取消コマンドを送信し、アップデート処理を取り消した場合、通常のInstall処理を実行する(アプリケーションプログラムやアプリケーションデータ等の全てのデータを発行し、アプリケーションインスタンスを生成する)こととする。これは、ICカード1aの基本機能として、アップデート処理を取り消した場合に、退避処理で退避したアプリケーションデータを破棄することによる。つまり、アップデート処理を取り消すと、アプリケーションデータがICカード1aに存在しなくなるため、アプリケーションデータのLOADを伴う通常のInstall処理を実行する。
[8.7.変形例7]
上記実施形態では、図4のステップS102及びステップS103の処理(退避処理)でアプリケーションデータをOSに割り当てられた不揮発性メモリ13上の一時領域に移動させることとしたが、アプリケーションデータを移動させずにそのままの記憶領域に記憶させておき、アップデート対象のアプリケーションプログラムやアプリケーションインスタンスの関連付けを解消することとしてもよい。そして、新バージョンのアプリケーションプログラムやアプリケーションインスタンスをLOAD処理やインストール処理において不揮発性メモリ13に記憶させる際にアプリケーションデータが記憶されている領域に上書きしないようにする。また、図5のステップS202及びステップS203の処理(関連付け処理)では、関連付けを解消したアプリケーションデータについて、新しいバージョンのアプリケーションプログラムやアプリケーションインスタンスと関連付けを行うこととする。変形例7の退避処理によれば、アプリケーションデータの移動(すなわち、異なる記憶領域への書き込み)を行わなくてすむことから、不揮発性メモリ13への書き込み回数を抑制することができる。
1 ICカード
1a ICチップ
10 CPU
11 RAM
12 ROM
13 不揮発性メモリ
14 I/O回路
2 外部機器

Claims (9)

  1. 第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段と、
    前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避手段と、
    前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除手段と、
    前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段と、
    前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンの新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段と、
    前記ロード処理後及び/又は前記インストール処理後に、前記退避手段が退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け手段と、
    前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納手段と、
    を備えることを特徴とする電子情報記憶媒体。
  2. 請求項1に記載の電子情報記憶媒体であって、
    前記退避処理、前記削除処理、前記ロード処理、前記インストール処理及び前記関連付け処理を実行する処理順序と、当該処理順序に従う一連の処理を何れの処理まで実行済みであるかを管理する管理手段と、
    前記処理順序における何れかの処理の実行中に当該処理を中断した場合において、所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開する再開手段と、
    を更に備えることを特徴とする電子情報記憶媒体。
  3. 請求項1又は2に記載の電子情報記憶媒体であって、
    前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理を実行中に、外部機器から前記第1のアプリケーションプログラムを選択するコマンドを受信した場合に、エラーレスポンスを返信するエラー返信手段を更に備えることを特徴とする電子情報記憶媒体。
  4. 請求項に記載の電子情報記憶媒体であって、
    前記再開手段は、前記電子情報記憶媒体への電源供給が断たれたこと、又は、外部機器との通信が断たれたことの中断事由により処理を中断した場合において、電源供給又は通信が復旧することという前記所定の条件が充足された場合に、前記一連の処理における中断した処理から処理を再開することを特徴とする電子情報記憶媒体。
  5. 請求項4に記載の電子情報記憶媒体であって、
    前記再開手段は、前記中断事由により処理を中断した場合において、処理を再開する場合に、当該処理より優先度の高い処理がある場合には、当該優先度の高い処理が完了してから処理を再開することを特徴とする電子情報記憶媒体。
  6. 請求項に記載の電子情報記憶媒体であって、
    前記管理手段は、前記一連の処理における何れの処理を実行中であるかを管理し、前記一連の処理における何れの処理を実行中であるかの問い合わせを外部から受け付けた場合に、当該問い合わせに応答することを特徴とする電子情報記憶媒体。
  7. 請求項1乃至6の何れか一項に記載の電子情報記憶媒体を備えるICカード。
  8. 第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段を備える電子情報記憶媒体によるアップデート方法であって、
    前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避工程と、
    前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除工程と、
    前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード工程と、
    前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンである新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール工程と、
    前記ロード処理後及び/又は前記インストール処理後に、前記退避工程で退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け工程と、
    前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納処理を実行する格納工程と、
    を含むことを特徴とする電子情報記憶媒体によるアップデート方法。
  9. 第1のアプリケーションプログラムと、第1のアプリケーションインスタンスと、前記第1のアプリケーションインスタンスに関連付けられる関連データと、前記第1のアプリケーションインスタンスと連携してサービスを提供する第2のアプリケーションインスタンスと、を記憶する記憶手段を備える電子情報記憶媒体に含まれるコンピュータを、
    前記記憶手段に記憶されている関連データを退避する退避処理を実行する退避手段、
    前記退避処理の後に、前記記憶手段に記憶されている前記第1のアプリケーションプログラムと前記第1のアプリケーションインスタンスを削除する削除処理を実行する削除手段、
    前記第1のアプリケーションプログラムの新バージョンである新アプリケーションプログラムを前記記憶手段に記憶させるロード処理を実行するロード手段、
    前記削除処理及び前記ロード処理の後に、前記記憶手段に記憶されている新アプリケーションプログラムに基づいて新バージョンである新アプリケーションインスタンスを生成して前記記憶手段に記憶させるインストール処理を実行するインストール手段、
    前記ロード処理後及び/又は前記インストール処理後に、前記退避手段が退避させた関連データを前記新アプリケーションインスタンスと関連付ける関連付け処理を実行する関連付け手段、
    前記退避処理、前記削除処理、前記ロード処理、前記インストール処理又は前記関連付け処理の何れかの処理の実行中において前記第2のアプリケーションインスタンスから前記第1のアプリケーションインスタンスが呼び出された際に参照される、前記第1のアプリケーションインスタンスのアドレスが格納される領域に、前記第1のアプリケーションインスタンスを呼び出すことができないことを示す値を格納する格納手段、
    として機能させることを特徴とするアップデートプログラム。
JP2017169177A 2017-09-04 2017-09-04 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム Active JP7068603B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017169177A JP7068603B2 (ja) 2017-09-04 2017-09-04 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017169177A JP7068603B2 (ja) 2017-09-04 2017-09-04 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム

Publications (2)

Publication Number Publication Date
JP2019046210A JP2019046210A (ja) 2019-03-22
JP7068603B2 true JP7068603B2 (ja) 2022-05-17

Family

ID=65814382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017169177A Active JP7068603B2 (ja) 2017-09-04 2017-09-04 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム

Country Status (1)

Country Link
JP (1) JP7068603B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123806A (ja) 2000-10-17 2002-04-26 Fujitsu Ltd Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体
JP2006119901A (ja) 2004-10-21 2006-05-11 Toshiba Corp 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法
JP2007293826A (ja) 2006-03-31 2007-11-08 Matsushita Electric Ind Co Ltd セキュアデバイス及び読み書き装置
JP2010170304A (ja) 2009-01-22 2010-08-05 Fujitsu Ten Ltd 管理装置
JP2017004444A (ja) 2015-06-15 2017-01-05 富士通株式会社 情報システム、コンピュータ、方法、およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123806A (ja) 2000-10-17 2002-04-26 Fujitsu Ltd Icカード、データ更新制御方法、データ/メッセージ復元制御方法、および制御プログラムを記録した記録媒体
JP2006119901A (ja) 2004-10-21 2006-05-11 Toshiba Corp 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法
JP2007293826A (ja) 2006-03-31 2007-11-08 Matsushita Electric Ind Co Ltd セキュアデバイス及び読み書き装置
JP2010170304A (ja) 2009-01-22 2010-08-05 Fujitsu Ten Ltd 管理装置
JP2017004444A (ja) 2015-06-15 2017-01-05 富士通株式会社 情報システム、コンピュータ、方法、およびプログラム

Also Published As

Publication number Publication date
JP2019046210A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
US20060086785A1 (en) Portable electronic apparatus and method of updating application in portable electronic apparatus
US7428992B2 (en) Secure device and system for issuing IC cards
EP2195741A1 (en) Firmware image update and management
US9390259B2 (en) Method for activating an operating system in a security module
JP2003216511A (ja) 不揮発性メモリ装置、データ更新方法、データ更新プログラム及びそのプログラムが記録されたコンピュータ読み取り可能な記録媒体
JP7068603B2 (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP5754287B2 (ja) Icチップ、icチップにおける処理方法、uim、携帯端末、及びicチップ用処理プログラム
JP6915437B2 (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
US7684992B2 (en) Remote application correction
JP2019028602A (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
US20080300019A1 (en) Cellular phone
JP6948021B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP2020150473A (ja) eUICCおよびeUICCのプロビジョニング方法
CN104349321A (zh) 一种安全访问鉴权方法、访问请求发送方法及装置
JP7009844B2 (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
CN112055849A (zh) 排他控制系统以及排他控制方法
JP6933446B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
JP7010084B2 (ja) Ic決済で用いるトークンデバイス
JP4771404B2 (ja) 情報処理装置および方法、並びにプログラム
US20240241959A1 (en) Change and recovery of personalization data in a secure element
JP6822174B2 (ja) 電子情報記憶媒体、icカード、通知方法、及び通知処理プログラム
JP2008146343A (ja) Icカード、および、更新プログラムの呼出し方法
JP6252341B2 (ja) 電子情報記憶媒体、情報処理方法、及び情報処理プログラム
US20100200650A1 (en) Mobile communication device and method for recovering mifare memory
JP2005025441A (ja) Icカードのアプリケーションプログラム更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220412

R150 Certificate of patent or registration of utility model

Ref document number: 7068603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150