JP4378459B2 - 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 - Google Patents
特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 Download PDFInfo
- Publication number
- JP4378459B2 JP4378459B2 JP2004518883A JP2004518883A JP4378459B2 JP 4378459 B2 JP4378459 B2 JP 4378459B2 JP 2004518883 A JP2004518883 A JP 2004518883A JP 2004518883 A JP2004518883 A JP 2004518883A JP 4378459 B2 JP4378459 B2 JP 4378459B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- data
- component
- converted
- function
- 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.)
- Expired - Lifetime
Links
- 230000006870 function Effects 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 41
- 238000006243 chemical reaction Methods 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 10
- 102100035593 POU domain, class 2, transcription factor 1 Human genes 0.000 claims description 7
- 101710084414 POU domain, class 2, transcription factor 1 Proteins 0.000 claims description 7
- 230000003068 static effect Effects 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 5
- 102100024853 Carnitine O-palmitoyltransferase 2, mitochondrial Human genes 0.000 description 3
- 101000859570 Homo sapiens Carnitine O-palmitoyltransferase 1, liver isoform Proteins 0.000 description 3
- 101000909313 Homo sapiens Carnitine O-palmitoyltransferase 2, mitochondrial Proteins 0.000 description 3
- 101000989606 Homo sapiens Cholinephosphotransferase 1 Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 102100035591 POU domain, class 2, transcription factor 2 Human genes 0.000 description 1
- 108091006735 SLC22A2 Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
- G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
- G07F7/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
- G06F9/30178—Runtime instruction translation, e.g. macros of compressed or encrypted instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
- G06Q20/355—Personalisation of cards for use
- G06Q20/3552—Downloading or loading of personalisation data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Devices For Executing Special Programs (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
Description
・所定のアプリケーション・コンポーネントのダウンロード中に、変換された命令語を記憶するために、所定のアプリケーション・コンポーネント内の各命令語および関連する乱数を変換関数に適用するための仮想実行手段が内蔵する第1の変換装置手段、
・この方法で検索した上記コンポーネントの一部を実行する目的で、上記所定のアプリケーション・コンポーネントからなる命令語を検索するために、変換関数の逆関数に所定のアプリケーション・コンポーネントの一部の変換された各命令語および関連する乱数を適用するための仮想実行手段が内蔵する第2の変換装置手段。
特に、メモリ6は、仮想機械VMにより実行するように、ホスト端末2およびリンクLIを通して、サーバからダウンロードしたアプレットまたはアプリケーションの一部のような1つまたはそれ以上のアプリケーションAPを収容するための固定サイズの所定のスペースを含む。所定のスペースは、3つのメモリ・スペース60、61および62に再分割される。
例えば、スタックの幅は1バイトに等しい。すなわち、1つの疑似コードの長さに等しい。
図の実施形態の場合には、発生器30は、ハードウェアの形で実施されるか、またはスマートカードのマイクロプロセッサ3に関連して実施される。発生器は、乱数NAを生成するために、バス7を通して、メモリ・スペース40内の仮想機械VMと要求および応答を交換する。例えば、発生器30は、上記アプリケーションをロードする際に、乱数をアプリケーションAP内の所定のアプリケーション・コンポーネントと関連づけるか、またはそのほかに、以下に説明するように、特にオブジェクトを生成するためにデータと関連づける。
乱数発生器30が乱数NAを生成する度に、生成した乱数NAが、仮想機械VMからの制御の下で、RAM6内の機械データ・スペース60に内蔵されているレジスタRG内に書き込まれる。仮想機械は、レジスタRGのところで、メモリ6内のポインタの値を、それと乱数NAが関連づけられるコンポーネントCPのヘッダに内蔵されている識別子IDに対応させる。識別子IDとレジスタRGとの間の対応は、EEPROM5内の仮想機械VMに割り当てられたメモリ・スペース51内に書き込まれる。
第1の変換装置42は、所定のアプリケーション・コンポーネントCP1を、所定のコンポーネントCP1および変換関数FTに適用される、それと関連する乱数NA1からの、変換されたコンポーネントCPT1=FT(CP1,NA1)に変換する。例えば、このような変換は、上記コンポーネントをRAM6内の機械データ・メモリ・スペース60にロードする際に、所定のコンポーネントCP1のすべてのバイトOC1上で、またはオブジェクトを生成している際に、オペランド・スペース62内に、オブジェクト参照REFのようなオペランドを書き込む際に、各オペランド上でバイト単位で行われる。
それ故、仮想機械VMは、コンポーネントCP1、CP2を、スマートカード1内にロードし、一方それをランダムにマスクする。
INTT=FT(INT,NAI);
CHART=FT(CHAR,NAC);
BOOLT=FT(BOOL,NAB);
REFT=FT(REF,NAR);および
DT=FT(D,NAD)
最初に、第1の2つのロード命令を実行するために、仮想機械VMは、ステップE1において、メモリ・スペース60のレジスタRG2から、アプリケーションAPのロード中に、発生器30が最初に生成した乱数NA1を読み出す。
Claims (11)
- 最初に中間言語でコンパイルされ、それぞれが識別子(ID1)および命令語(OC1)を含む複数のアプリケーション・コンポーネント(CP1)からなる少なくとも1つのダウンロードしたアプリケーション(AP)を記憶するための記憶手段(6)と、中間言語仮想実行手段(VM,4,5)とを備えるデータ処理デバイス(1)であって、
・乱数(NA1)を、前記ダウンロードしたアプリケーション(AP)の所定のアプリケーション・コンポーネント(CP1)と関連づけるための乱数発生器手段(30)と、
・前記所定のアプリケーション・コンポーネントのダウンロード中、変換された命令語(OCT1)を記憶するために、所定のアプリケーション・コンポーネント(CP1)内の前記各命令語(OC1)、および関連する乱数(NA1)を変換関数(FT)に適用するための前記仮想実行手段が内蔵する第1の変換装置手段(42)と、
・この方法で検索した前記コンポーネントの一部を実行する目的で、前記所定のアプリケーション・コンポーネントからなる前記命令語(OC1)を検索するために、前記変換関数(FT)の逆関数(FT−1)に、前記所定のアプリケーション・コンポーネントの一部の各変換された命令語(OCT1)、および前記関連する乱数(NA1)を適用するために、前記仮想実行手段が内蔵する第2の変換装置手段(43)と、をさらに備え、
前記乱数発生器手段(30)は、各原始データ・タイプ毎に関連する乱数を生成し、データが前記仮想実行手段(VM)により生成される際には、前記第1の変換装置手段(42)は、前記仮想実行手段(VM)によって生成された前記データ・タイプ毎のデータと前記関連する乱数とを前記変換関数(FT)に適用し、変換されたデータのアイテムを前記記憶手段(6)に書き込むことを特徴とするデータ処理デバイス。 - 前記命令語(OC1)が、命令コード・バイト(IN)およびパラメータ・バイト(PA)であることを特徴とする請求項1に記載のデバイス。
- 各命令語が、一定の長さを有し、1つの完全な命令に対応することを特徴とする請求項1に記載のデバイス。
- 前記ダウンロードしたアプリケーション(AP)を記憶するためのものであるが、変換された命令語(OCT1)を含む所定のアプリケーション・コンポーネントを含む第2の記憶手段(5)をさらに備えることを特徴とする請求項1乃至3のいずれかに記載のデバイス。
- 前記乱数発生器手段(30)が、前記仮想実行手段(VM)が生成した乱数(NAD)を生成し、前記第1の変換装置手段(42)が、データが前記仮想実行手段(VM)により生成された場合に、前記記憶手段(6)内の変換されたデータ(REFT)のアイテムを書き込むために、データの各アイテム(REF)および前記関連する乱数(NAD)を前記変換関数(FT)に適用することを特徴とする請求項1乃至4のいずれかに記載のデバイス。
- 前記乱数発生器手段(30)が、各コンポーネント内の前記命令語が、前記コンポーネントに関連する前記乱数を含む前記変換関数(FT)に適用されるように、各乱数(NA1)を異なるタイプのコンポーネント(CP1)の識別子(ID1)に関連づけることを特徴とする請求項1乃至5のいずれかに記載のデバイス。
- 前記変換関数(FT)および前記逆関数(FT−1)が、排他的OR関数であることを特徴とする請求項1乃至6のいずれかに記載のデバイス。
- 前記乱数発生器手段(30)が、前記デバイスのプロセッサ(3)に内蔵されているか、それに関連していることを特徴とする請求項1乃至7のいずれかに記載のデバイス。
- 前記乱数発生器手段が、前記仮想実行手段(VM)に内蔵されていることを特徴とする請求項1乃至7のいずれかに記載のデバイス。
- 前記記憶手段が、前記デバイス(1)の外部の世界と交換したデータを含むランダム・アクセス・メモリ(6)からなることを特徴とする請求項1乃至9のいずれかに記載のデバイス。
- スマートカード(1)のようなポータブル電子タイプであることを特徴とする請求項1乃至10のいずれかに記載のデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0208643A FR2841997B1 (fr) | 2002-07-08 | 2002-07-08 | Securisation d'application telechargee notamment dans une carte a puce |
PCT/FR2003/002107 WO2004006088A2 (fr) | 2002-07-08 | 2003-07-07 | Securisation d'application telechargee notamment dans une carte a puce |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005532622A JP2005532622A (ja) | 2005-10-27 |
JP4378459B2 true JP4378459B2 (ja) | 2009-12-09 |
Family
ID=29725301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004518883A Expired - Lifetime JP4378459B2 (ja) | 2002-07-08 | 2003-07-07 | 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7168625B2 (ja) |
EP (1) | EP1522012A2 (ja) |
JP (1) | JP4378459B2 (ja) |
AU (1) | AU2003260670A1 (ja) |
FR (1) | FR2841997B1 (ja) |
WO (1) | WO2004006088A2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4744106B2 (ja) * | 2003-08-06 | 2011-08-10 | パナソニック株式会社 | セキュアデバイス、情報処理端末、通信システム及び通信方法 |
JP2006119901A (ja) * | 2004-10-21 | 2006-05-11 | Toshiba Corp | 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法 |
FR2881007B1 (fr) * | 2005-01-19 | 2007-02-23 | Gemplus Sa | Etablissement d'une communication entre dispositifs sans contact |
JP3944216B2 (ja) * | 2005-03-11 | 2007-07-11 | 株式会社エヌ・ティ・ティ・ドコモ | 認証装置、携帯端末、及び、認証方法 |
JP4575350B2 (ja) * | 2006-02-14 | 2010-11-04 | レノボ・シンガポール・プライベート・リミテッド | コンピューター・システム内で悪意あるソフトウェアの実行を防止するための方法 |
GB0621656D0 (en) * | 2006-10-31 | 2006-12-06 | Hewlett Packard Development Co | Data file transformation |
JP5041980B2 (ja) * | 2007-11-16 | 2012-10-03 | ルネサスエレクトロニクス株式会社 | データ処理回路及び通信携帯端末装置 |
US8762736B1 (en) * | 2008-04-04 | 2014-06-24 | Massachusetts Institute Of Technology | One-time programs |
EP2354128A1 (en) | 2010-02-10 | 2011-08-10 | Sandoz Ag | Method for the preparation of rivaroxaban |
JP2015032201A (ja) * | 2013-08-05 | 2015-02-16 | 大日本印刷株式会社 | 情報記憶媒体、バイトコード実行処理プログラム、及びバイトコード実行方法 |
JP6248518B2 (ja) * | 2013-10-01 | 2017-12-20 | 大日本印刷株式会社 | 情報記憶媒体、情報書き込み方法、及び書き込み処理プログラム |
JP6203028B2 (ja) * | 2013-12-13 | 2017-09-27 | Kddi株式会社 | 疑似乱数生成装置及び方法、並びにプログラム難読化装置及び方法 |
WO2018079554A1 (ja) * | 2016-10-24 | 2018-05-03 | 株式会社アドバンス | オーナーチェックシステム |
FR3059119B1 (fr) * | 2016-11-21 | 2018-11-23 | Safran Identity & Security | Procede de protection d'un dispositif electronique executant un programme contre des attaques par injection de faute et par confusion de type. |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19629856A1 (de) * | 1996-07-24 | 1998-01-29 | Ibm | Verfahren und System zum sicheren Übertragen und Speichern von schützbaren Informationen |
EP1050028A1 (en) * | 1998-01-22 | 2000-11-08 | Mondex International Limited | Codelets |
US6357665B1 (en) * | 1998-01-22 | 2002-03-19 | Mondex International Limited | Configuration of IC card |
WO1999040548A1 (en) * | 1998-02-06 | 1999-08-12 | Mondex International Limited | Configuration of ic card |
EP0949595A3 (en) * | 1998-03-30 | 2001-09-26 | Citicorp Development Center, Inc. | Method and system for managing applications for a multi-function smartcard |
-
2002
- 2002-07-08 FR FR0208643A patent/FR2841997B1/fr not_active Expired - Fee Related
-
2003
- 2003-07-07 AU AU2003260670A patent/AU2003260670A1/en not_active Abandoned
- 2003-07-07 US US10/520,434 patent/US7168625B2/en not_active Expired - Fee Related
- 2003-07-07 WO PCT/FR2003/002107 patent/WO2004006088A2/fr active Application Filing
- 2003-07-07 JP JP2004518883A patent/JP4378459B2/ja not_active Expired - Lifetime
- 2003-07-07 EP EP03762743A patent/EP1522012A2/fr not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
FR2841997B1 (fr) | 2005-11-11 |
AU2003260670A1 (en) | 2004-01-23 |
WO2004006088A3 (fr) | 2004-04-08 |
US7168625B2 (en) | 2007-01-30 |
US20050218234A1 (en) | 2005-10-06 |
AU2003260670A8 (en) | 2004-01-23 |
JP2005532622A (ja) | 2005-10-27 |
EP1522012A2 (fr) | 2005-04-13 |
WO2004006088A2 (fr) | 2004-01-15 |
FR2841997A1 (fr) | 2004-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100329063B1 (ko) | 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용 | |
US6880155B2 (en) | Token-based linking | |
Leroy | Bytecode verification on Java smart cards | |
KR100713740B1 (ko) | 자원-제약 장치를 위한 객체지향 명령어 세트 | |
EP0964370B1 (en) | Method and device for loading instruction codes to a memory and linking said instruction codes | |
JP4378459B2 (ja) | 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化 | |
JPH11327916A (ja) | コンパイル済コ―ドにおけるダイナミッククラス初期化チェックのコスト低減技術 | |
AU716558B2 (en) | Portable, secure transaction system for programmable, intelligent devices | |
JP2005501334A (ja) | Javaコンピューティング環境におけるJavaマクロインストラクションの生成のためのフレームワーク | |
Deville et al. | Building an" impossible" verifier on a java card | |
US6804681B2 (en) | Identifying and tracking object references in a java programming environment | |
JP3515417B2 (ja) | 非持続メモリ内にオブジェクトを作成する方法および装置、ならびにオブジェクトへのアクセス可能性を維持する方法 | |
EP1481320B1 (en) | Two tier clusters for representation of objects in java programming environments | |
US7065747B2 (en) | Identifying references to objects during bytecode verification | |
CN113760193A (zh) | 用于资源受限制装置的数据读写方法、装置及指令集 | |
WO2003001371A2 (en) | Storing and retrieving of field descriptors in java computing environments | |
CN111966443B (zh) | 一种智能卡及其工作方法 | |
US20220108003A1 (en) | Apparatus and method for kernel runtime randomization | |
Markantonakis | Java card technology and security | |
CN118821112A (zh) | 参数保护方法、装置、设备及存储介质 | |
Choi et al. | A novel buffer cache scheme using java card object with high locality for efficient java card applications | |
Hanáček | Security Verification of Smartcard Scripts | |
Deville et al. | Building an£ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080930 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20081224 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20090113 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090617 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090625 |
|
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: 20090714 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20090817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121002 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |