JP6201521B2 - 情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム - Google Patents
情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム Download PDFInfo
- Publication number
- JP6201521B2 JP6201521B2 JP2013173506A JP2013173506A JP6201521B2 JP 6201521 B2 JP6201521 B2 JP 6201521B2 JP 2013173506 A JP2013173506 A JP 2013173506A JP 2013173506 A JP2013173506 A JP 2013173506A JP 6201521 B2 JP6201521 B2 JP 6201521B2
- Authority
- JP
- Japan
- Prior art keywords
- byte code
- processing unit
- virtual machine
- volatile memory
- bytecode
- 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
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
先ず、図3〜図4を参照して、実施例1におけるICチップ1aの動作を説明する。実施例1では、電源投入(Cold reset)後、ICカード1が最初にコマンドを実行する際に、仮想マシン104の全てをRAM11上にロードした後、仮想マシン104を動作させる。
次に、図5を参照して、実施例2におけるICチップ1aの動作を説明する。上述した実施例1では、仮想マシン104機能全てをRAM11上にロードするように構成したが、仮想マシン104自体は比較的大きなソフトウェアモジュールであり、全てをRAM11上に展開する場合、RAM11上の空き領域を消費するため、RAM11の記憶領域を圧迫するおそれがある。そこで、実施例2では、電源投入(Cold reset)後、ICカード1が最初にコマンドを実行する際に、仮想マシン104の一部機能(この例では、バイトコード実行処理部104cのみ)を選択的にRAM11上にロードさせる。
次に、図6を参照して、実施例3におけるICチップ1aの動作を説明する。実施例3では、仮想マシン104により特定のバイトコードを実行する際に、仮想マシン104の一部機能(この例では、当該バイトコードを実行するバイトコード実行処理部)を選択的にRAM11上にロードさせる。
次に、図7を参照して、実施例4におけるICチップ1aの動作を説明する。上述した実施例3では、バイトコード解釈処理部104bによるバイトコードの解釈に先立って、ロード判定処理(ステップS33)を実行するように構成したが、この場合、ロード対象とならないバイトコードに対してもロード判定処理を実行することによるオーバーヘッドが発生する。そこで、実施例4では、バイトコード解釈処理部104bによりバイトコードが解釈された後に、当該解釈により決定されたバイトコードがロード対象のバイトコードである場合にロード判定処理を実行するように構成される。
次に、図8を参照して、実施例5におけるICチップ1aの動作を説明する。上述したように、フラッシュメモリ12からRAM11上に実行先を切り替えた場合(特に、フラッシュメモリ12とRAM11の双方から実行可能な構成とする場合)、実行先を制御し、適切に切り替えるメカニズムが必要である。フラッシュメモリ12とRAM11の実行先切り替え方法は複数存在するが、バイトコードそれぞれに対応するバイトコード実行処理部が記憶されているメモリのアドレスを示すアドレステーブルによる切り替え方法が好適である。実施例5では、実施例4で説明したように、バイトコード「aastore」を実行するバイトコード実行処理部のみ、選択的にRAM11上にロードされる場合を例に取る。そのため、図7(A)及び(B)の処理は、実施例5においても適用される。
次に、図9を参照して、実施例6におけるICチップ1aの動作を説明する。上述した実施例5では、バイトコード「aastore」に対応するバイトコード実行処理部のコピー先となるアドレスを、「0x230000」のように固定値で示しているが、実施例6では、この値を、RAM11のアドレス範囲内に限定しつつ乱数要素を加えて決定することで、バイトコードをRAM11上にロードするたびにロード先を変更するように構成される。なお、図7(A)及び(B)の処理は、実施例6においても適用される。
2 外部端末
1a ICチップ
10 CPU
11 RAM
12 フラッシュメモリ
13 乱数生成器
14 I/O回路
Claims (12)
- 揮発性メモリと、アプリケーションを構成する複数のバイトコードの処理を行う仮想マシンを記憶する不揮発性メモリと、を備える情報記憶媒体であって、
前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードするロード手段と、
前記揮発性メモリにロードされた仮想マシンを動作させる制御手段と、
を備え、
前記仮想マシンは、前記バイトコードを取得するバイトコード取得処理部と、前記バイトコードを解釈するバイトコード解釈処理部と、前記バイトコードを実行するバイトコード実行処理部と、を含んで構成され、
前記ロード手段は、前記バイトコード実行処理部の全部又は一部を前記揮発性メモリにロードし、
前記仮想マシンは、前記不揮発性メモリに記憶されているバイトコード取得処理部により前記バイトコードを取得し、当該取得したバイトコードを前記不揮発性メモリに記憶されているバイトコード解釈処理部により解釈し、当該解釈したバイトコードを前記揮発性メモリに記憶されているバイトコード実行処理部により実行することを特徴とする情報記憶媒体。 - 前記ロード手段は、前記不揮発性メモリに記憶されているバイトコード取得処理部により取得されたバイトコードが所定のロード条件を満たしている場合に、当該バイトコードを実行するバイトコード実行処理部を前記揮発性メモリにロードすることを特徴とする請求項1に記載の情報記憶媒体。
- 前記ロード手段は、前記不揮発性メモリに記憶されているバイトコード解釈処理部により解釈されたバイトコードが所定のバイトコードである場合に、当該バイトコードを実行するバイトコード実行処理部を前記揮発性メモリにロードすることを特徴とする請求項1に記載の情報記憶媒体。
- 前記ロード手段は、前記不揮発性メモリに記憶されているバイトコード解釈処理部により解釈されたバイトコードが所定のバイトコードである場合で、且つ当該バイトコードが所定のロード条件を満たしている場合に、当該バイトコードを実行するバイトコード実行処理部を前記揮発性メモリにロードすることを特徴とする請求項1に記載の情報記憶媒体。
- 前記ロード手段は、前記バイトコードの実行回数が所定回数以上である場合に、前記ロード条件を満たしていると判定することを特徴とする請求項2または4の何れか一項に記載の情報記憶媒体。
- 揮発性メモリと、アプリケーションを構成する複数のバイトコードの処理を行う仮想マシンを記憶する不揮発性メモリと、を備える情報記憶媒体であって、
前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードするロード手段と、
前記揮発性メモリにロードされた仮想マシンを動作させる制御手段と、
を備え、
前記ロード手段は、外部端末から受信したコマンドが前記情報記憶媒体のリセット後の最初のコマンドである場合に、前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードすることを特徴とする情報記憶媒体。 - 前記ロード手段は、前記バイトコードを実行するバイトコード実行処理部を前記揮発性メモリにロードする際に、ロード対象の当該バイトコード実行処理部が記憶されている前記不揮発性メモリ上のアドレスを示すアドレステーブルにおいて、当該バイトコード実行処理部が記憶されている前記不揮発性メモリ上のアドレスを、当該バイトコード実行処理部が当該ロードにより記憶される前記揮発性メモリ上のアドレスに変更することを特徴とする請求項1乃至5の何れか一項に記載の情報記憶媒体。
- 前記ロード手段は、乱数生成器により生成された乱数に基づいて、前記ロード対象の前記バイトコード実行処理部が当該ロードにより記憶される前記揮発性メモリ上のアドレスを変更することを特徴とする請求項7に記載の情報記憶媒体。
- 揮発性メモリと、アプリケーションを構成する複数のバイトコードの処理を行う仮想マシンを記憶する不揮発性メモリと、を備える情報記憶媒体におけるバイトコード実行方法であって、
前記バイトコード実行方法は、
前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードするロードステップと、
前記揮発性メモリにロードされた仮想マシンを動作させるステップと、
を含み、
前記仮想マシンは、前記バイトコードを取得するバイトコード取得処理部と、前記バイトコードを解釈するバイトコード解釈処理部と、前記バイトコードを実行するバイトコード実行処理部と、を含んで構成され、
前記ロードステップにおいては、前記バイトコード実行処理部の全部又は一部を前記揮発性メモリにロードし、
前記仮想マシンが、前記不揮発性メモリに記憶されているバイトコード取得処理部により前記バイトコードを取得し、当該取得したバイトコードを前記不揮発性メモリに記憶されているバイトコード解釈処理部により解釈し、当該解釈したバイトコードを前記揮発性メモリに記憶されているバイトコード実行処理部により実行することを特徴とするバイトコード実行方法。 - 揮発性メモリと、アプリケーションを構成する複数のバイトコードの処理を行う仮想マシンを記憶する不揮発性メモリと、を備える情報記憶媒体におけるバイトコード実行方法であって、
前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードするロードステップと、
前記揮発性メモリにロードされた仮想マシンを動作させるステップと、
を含み、
前記ロードステップにおいては、外部端末から受信したコマンドが前記情報記憶媒体のリセット後の最初のコマンドである場合に、前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードすることを特徴とするバイトコード実行方法。 - 揮発性メモリと、アプリケーションを構成する複数のバイトコードの処理を行う仮想マシンを記憶する不揮発性メモリと、を備える情報記憶媒体に含まれるコンピュータを、
前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードするロード手段と、
前記揮発性メモリにロードされた仮想マシンを動作させる制御手段として機能させる情報記憶媒体用プログラムであって、
前記仮想マシンは、前記バイトコードを取得するバイトコード取得処理部と、前記バイトコードを解釈するバイトコード解釈処理部と、前記バイトコードを実行するバイトコード実行処理部と、を含んで構成され、
前記ロード手段は、前記バイトコード実行処理部の全部又は一部を前記揮発性メモリにロードし、
前記仮想マシンは、前記不揮発性メモリに記憶されているバイトコード取得処理部により前記バイトコードを取得し、当該取得したバイトコードを前記不揮発性メモリに記憶されているバイトコード解釈処理部により解釈し、当該解釈したバイトコードを前記揮発性メモリに記憶されているバイトコード実行処理部により実行することを特徴とする情報記憶媒体用プログラム。 - 揮発性メモリと、アプリケーションを構成する複数のバイトコードの処理を行う仮想マシンを記憶する不揮発性メモリと、を備える情報記憶媒体に含まれるコンピュータを、
前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードするロード手段と、
前記揮発性メモリにロードされた仮想マシンを動作させる制御手段として機能させる情報記憶媒体用プログラムであって、
前記ロード手段は、外部端末から受信したコマンドが前記情報記憶媒体のリセット後の最初のコマンドである場合に、前記不揮発性メモリに記憶されている前記仮想マシンの全部又は一部を前記揮発性メモリにロードすることを特徴とする情報記憶媒体用プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013173506A JP6201521B2 (ja) | 2013-08-23 | 2013-08-23 | 情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013173506A JP6201521B2 (ja) | 2013-08-23 | 2013-08-23 | 情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015041349A JP2015041349A (ja) | 2015-03-02 |
JP6201521B2 true JP6201521B2 (ja) | 2017-09-27 |
Family
ID=52695448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013173506A Active JP6201521B2 (ja) | 2013-08-23 | 2013-08-23 | 情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6201521B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720383B2 (en) | 2017-09-07 | 2023-08-08 | Sony Corporation | Information processing apparatus and information processing method |
CN112925613A (zh) * | 2021-03-29 | 2021-06-08 | 恒宝股份有限公司 | 一种Java智能卡及其RAM复用方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4467246B2 (ja) * | 2003-03-13 | 2010-05-26 | パナソニック株式会社 | メモリカード |
JP2007226277A (ja) * | 2004-04-02 | 2007-09-06 | Matsushita Electric Ind Co Ltd | 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置 |
JP5200664B2 (ja) * | 2008-05-28 | 2013-06-05 | 大日本印刷株式会社 | メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム |
-
2013
- 2013-08-23 JP JP2013173506A patent/JP6201521B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015041349A (ja) | 2015-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039904B2 (en) | Frameworks for generation of Java macro instructions for storing values into local variables | |
EP2519908B1 (en) | Jcvm bytecode execution protection against fault attacks | |
US20110239307A1 (en) | Method for securing java bytecode | |
US8943486B2 (en) | Multiple instruction execution mode resource-constrained device | |
JP5225071B2 (ja) | 埋め込みシステム、特にスマートカードにロードされる疑似コードの検証方法 | |
US20060015678A1 (en) | Virtual memory device including a bridge circuit | |
US6988261B2 (en) | Frameworks for generation of Java macro instructions in Java computing environments | |
JP4378459B2 (ja) | 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 | |
JP6201521B2 (ja) | 情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム | |
US20170371595A1 (en) | Preemptive decompression scheduling for a nand storage device | |
Lee et al. | Bootless boot: Reducing device boot latency with byte addressable NVRAM | |
EP1421475B1 (en) | Frameworks for generation of java macro instructions for instantiating java objects | |
CN114490503A (zh) | 一种高性能低功耗的eSIM卡芯片系统 | |
KR101140522B1 (ko) | 객체 관리 시스템 및 방법 | |
EP3026551A1 (en) | Methods and devices for compressing byte code for smart cards | |
JP2006338311A (ja) | 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム | |
Azevedo et al. | High performance annotation-aware JVM for Java cards | |
CN115495392B (zh) | 多级启动中内存复用方法、装置、存储介质和处理器 | |
CN111966443B (zh) | 一种智能卡及其工作方法 | |
JP6447219B2 (ja) | 電子情報記憶媒体、アプリケーション置換方法、プログラム、及びicカード | |
JP6175882B2 (ja) | 情報記憶媒体、icカード、バイトコード実行方法 | |
JP6822158B2 (ja) | 電子情報記憶媒体、icカード、削除処理方法、及び削除処理プログラム | |
Asgari et al. | Classification of Smart Card Operating Systems | |
CN114968278A (zh) | 应用程序的安装方法和装置、电子设备、可读存储介质 | |
Elliott | The MAOS trap |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160624 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170711 |
|
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: 20170801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170814 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6201521 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |