JP5724387B2 - Portable device and dynamic data storage position changing method - Google Patents
Portable device and dynamic data storage position changing method Download PDFInfo
- Publication number
- JP5724387B2 JP5724387B2 JP2011001806A JP2011001806A JP5724387B2 JP 5724387 B2 JP5724387 B2 JP 5724387B2 JP 2011001806 A JP2011001806 A JP 2011001806A JP 2011001806 A JP2011001806 A JP 2011001806A JP 5724387 B2 JP5724387 B2 JP 5724387B2
- Authority
- JP
- Japan
- Prior art keywords
- dynamic data
- card
- storing
- offset value
- random number
- 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
- Storage Device Security (AREA)
Description
本発明は、ICカードなどの携帯装置に対する攻撃法の一つであるレーザ攻撃に対する耐タンパー性を高めるための技術に関する。 The present invention relates to a technique for improving tamper resistance against a laser attack, which is one of attack methods for a portable device such as an IC card.
近年、金融用途で利用されるICカードなど、機密データ(例えば、暗号鍵)を格納した携帯装置への攻撃法が数多く研究されている。 In recent years, many researches have been conducted on attack methods for portable devices that store confidential data (for example, encryption keys) such as IC cards used for financial purposes.
携帯装置に対する攻撃法としては、電力消費量を観測することで、携帯装置に格納されたDESの秘密鍵を解読するDPA攻撃(Differential Power Analysis)が有名であるが、携帯装置に対する攻撃法はDPA攻撃に限らず、DPA攻撃以外の攻撃として、携帯装置に実装されたICチップにレーザを照射してICチップに誤動作を誘発し、この誤動作を足掛かりとして機密データを解読するレーザ攻撃がある。 The DPA attack (Differential Power Analysis) in which the secret key of the DES stored in the portable device is decrypted by observing the power consumption is famous as an attack method for the portable device. In addition to attacks, attacks other than DPA attacks include laser attacks in which an IC chip mounted on a portable device is irradiated with a laser to cause a malfunction in the IC chip, and secret data is decrypted based on this malfunction.
レーザ攻撃においては、レーザを照射したことによって、機密データの解読の足掛かりとなる誤動作が発生するメモリセルを特定し、特定したメモリセルにレーザを照射することが必要になるため、一つのメモリセルのサイズ程度の照射径のレーザが必要になるので、レーザ攻撃は理論的には可能であるが実効性は低く、レーザ攻撃の対策は不要と考えられていたが、近年、照射径の非常に小さいレーザが開発され、レーザの照射精度も向上したことに伴い、取り分けICカードの分野では、レーザ攻撃の対策が必要とされるようになった。 In a laser attack, it is necessary to identify a memory cell that causes a malfunction that becomes the basis for decryption of confidential data by irradiating the laser, and it is necessary to irradiate the specified memory cell with a laser. However, laser attack is theoretically possible but less effective, and it was thought that countermeasures against laser attack were unnecessary. With the development of small lasers and improved laser irradiation accuracy, in particular, in the field of IC cards, countermeasures against laser attacks have become necessary.
レーザ攻撃に対する耐タンパー性を高める発明も既に開示され、レーザ攻撃に対する耐タンパー性を高める手法として、エラーコードを利用してデータの変化を検知する手法(例えば、特許文献1)、光の照射を検知可能なセンサ回路を用いてレーザの照射を検知する手法(例えば、特許文献2)などが開示されている。 An invention for improving tamper resistance against laser attack has already been disclosed. As a technique for improving tamper resistance against laser attack, a method of detecting a change in data using an error code (for example, Patent Document 1), light irradiation A technique for detecting laser irradiation using a detectable sensor circuit (for example, Patent Document 2) is disclosed.
しかしながら、これらの発明は、レーザが照射されたことを検知することに主眼を置いた発明で、機密データの解読の足掛かりとなる誤動作が生じるメモリセルの特定を妨げることに主眼を置いた発明ではない。 However, these inventions are designed to detect that the laser has been irradiated, and are designed to prevent the identification of a memory cell in which a malfunction that becomes a starting point for decrypting confidential data occurs. Absent.
そこで、本発明は、レーザ攻撃に対する耐タンパー性を高めるために、機密データの解読の足掛かりとなる誤動作が生じるメモリセルを特定することが困難になる携帯装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a portable device in which it is difficult to specify a memory cell in which a malfunction that becomes a foothold for decryption of confidential data occurs in order to improve tamper resistance against a laser attack.
上述した課題を解決する第1の発明は、コンピュータプログラムが動作してから生成する動的データを利用するプログラムコードのオペランドにオフセット値を基準とする相対位置を記述しておき、前記動的データを格納する物理アドレスとして、前記動的データを格納するためにメモリに設定された作業領域の先頭アドレスに、起動した際に乱数を用いて生成した所定範囲内の前記オフセット値及び前記相対位置を加算した値を利用し,前記動的データを格納する物理アドレスが乱数により変更するように構成されていることを特徴とする携帯装置である。 According to a first aspect of the present invention for solving the above-described problem, a relative position based on an offset value is described in an operand of a program code that uses dynamic data generated after a computer program operates, and the dynamic data As the physical address for storing the dynamic data, the offset value and the relative position within a predetermined range generated using a random number at the time of activation are set to the start address of the work area set in the memory for storing the dynamic data. The portable device is configured such that a physical address for storing the dynamic data is changed by a random number using the added value.
なお、第1の発明において携帯装置とは、半導体集積回路(ICチップ)が実装され、高いセキュリティが要求されるシステムで利用されるデバイスを意味し、具体的には、ICカード、USIMまたはUSBキーなどを意味する。 In the first invention, the portable device means a device mounted with a semiconductor integrated circuit (IC chip) and used in a system that requires high security. Specifically, an IC card, USIM or USB is used. Means a key.
更に、上述した課題を解決する第2の発明は、動的データの格納位置を変更する方法であって、携帯端末が起動した際、乱数を用いて所定範囲内のオフセット値を生成するステップ、前記携帯端末が、コンピュータプログラムが動作してから生成する動的データを格納する物理アドレスとして、前記動的データを格納するためにメモリに設定された作業領域の先頭アドレスに、前記動的データを利用するプログラムコードのオペランドに記載された相対位置及び前記オフセット値を加算した値を用いるステップを含み,前記動的データを格納する物理アドレスが乱数により変更するようにしたことを特徴とする、動的データの格納位置変更方法である。
Furthermore, a second invention for solving the above-described problem is a method for changing a storage position of dynamic data, and when a mobile terminal is activated, a step of generating an offset value within a predetermined range using a random number; As the physical address for storing dynamic data generated after the computer program operates, the mobile terminal sets the dynamic data to the start address of the work area set in the memory for storing the dynamic data. It looks including the step of using a value obtained by adding the relative position and the offset value described in the program code of the operands to be used, wherein the physical address for storing the dynamic data is to be changed by a random number, This is a method for changing the storage position of dynamic data.
上述した本発明によれば、動的データを格納する物理アドレスとして、動的データを格納するためにメモリに設定された作業領域の先頭アドレスに、オフセット値及び相対位置を加算した値を利用するように構成することで、携帯装置が再起動される度に、動的データが格納される物理アドレスが変化することになり、機密データの解読の足掛かりとなる誤動作が生じるメモリセルを特定することが困難になる。 According to the present invention described above, the value obtained by adding the offset value and the relative position to the start address of the work area set in the memory for storing the dynamic data is used as the physical address for storing the dynamic data. With this configuration, each time the portable device is restarted, the physical address where dynamic data is stored will change, and a memory cell in which a malfunction that becomes a starting point for decryption of confidential data will be identified. Becomes difficult.
ここから,本発明の技術分野に係わる当業者が,発明の内容を理解し,発明を実施できる程度に説明する。なお、これから説明する実施形態は、本発明に係る携帯装置をICカードとした実施形態で,本発明の一実施形態にしか過ぎず、本発明は,これから説明する実施形態に限定されることなく、種々の変形や変更が可能である。 From here, it explains to the extent that those skilled in the art of the present invention can understand the contents of the invention and implement the invention. The embodiment described below is an embodiment in which the portable device according to the present invention is an IC card, and is only one embodiment of the present invention, and the present invention is not limited to the embodiment described below. Various modifications and changes are possible.
図1は、本実施形態に係るICカード1を説明する図である。本実施形態に係るICカード1は接触型で、キャッシュカードやクレジットカードと同じ大きさのカード基材に、ICチップ2がモールドされたICモジュール1aが実装されている。
FIG. 1 is a diagram for explaining an
なお、図1において、ICカード1を接触型として図示しているが、ICカード1は、図外の端末装置と無線通信する非接触ICカード、または、接触通信と無線通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。
In FIG. 1, the
加えて、ICカード1の形状は問わず、ICカード1はキャッシュカードと同じ形状でなく、ICモジュール1aの近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)或いはUSIM(Universal Subscriber Identity Module)であってもよい。
In addition, regardless of the shape of the
図1に図示したように、ICカード1に実装されるICチップ2には、演算機能およびICチップ2の回路やメモリを制御する機能を備えた中央演算装置20(CPU:Central Processing Unit)、外部装置とのデータの入出力に利用されるI/O回路21、揮発性メモリであるランダムアクセスメモリ22(RAM:Random Access Memory)、読み出し専用の不揮発性メモリ23(ROM:Read Only Memory)、電気的に書換え可能な不揮発性メモリであるEEPROM24(EEPROM:Electrically Erasable Programmable Read-Only Memory)、DESの暗号演算に特化した回路であるコプロセッサ回路25、乱数を生成する回路であるRNG回路26(Random Number Generator)などが備えられ、CPU20とCPU20以外のメモリ及び回路はデータバス27及びアドレスバス28を介して接続されている。
As shown in FIG. 1, the IC chip 2 mounted on the
ICチップ2のROM23やEEPROM24には、ICカード1上で動作するコンピュータプログラムとして、オペレーティングシステムやアプリケーションが実装され、ICカード1を再起動させる動作であるリセットがなされ、オペレーティングシステムが起動すると、オペレーティングシステムは、オペレーティングシステムやアプリケーションが動作してから生成する動的データを格納する作業領域をICチップ2のメモリ(RAM22やEEPROM24)に設定した後、RNG回路26を利用して乱数を生成し、外乱数を利用して所定範囲内のオフセット値を生成する。
The
一般的なICカードでは、作業領域内における動的データの格納位置は、コンピュータプログラムの設計段階で決定されるため、リセットしても作業領域内における動的データの格納位置は変わらないが、本実施形態のICカード1では、作業領域のサイズを実際に必要なサイズよりも大きくしておき、ICカード1がリセットされた際、所定範囲内のオフセット値を乱数により生成し、コンピュータプログラムが動作してから生成する動的データを格納する物理アドレスとして、作業領域の先頭アドレスにオフセット値及び相対位置を加算した値を利用するようにすることで、ICカード1がリセットされる毎に、動的データが格納される物理アドレスが変わるようにしている。
In a general IC card, the storage position of dynamic data in the work area is determined at the design stage of the computer program. Therefore, even if reset, the storage position of dynamic data in the work area does not change. In the
図2は、動的データのアドレス指定を説明する図である。本実施形態において、動的データを利用するマシン語コードの構造は、動的データを処理する命令が記述されるオペコードと、ICカード1がリセットされる毎に生成されるオフセット値を基準としたときの相対位置が記述されるオペランドから構成され、動的データが格納される物理アドレスは、作業領域の先頭アドレスに、ICカード1がリセットされたときに生成したオフセット値及びオペランドに記述されている相対位置を加算した値になる。
FIG. 2 is a diagram for explaining addressing of dynamic data. In this embodiment, the structure of the machine language code that uses dynamic data is based on an operation code that describes an instruction for processing the dynamic data and an offset value that is generated each time the
よって、ICカード1がリセットされた際に、オペレーティングシステムが、RNG回路26から取得した乱数を利用してオフセット値を生成するようにすれば、ICカード1がリセットされる度に、動的データが格納される物理アドレスが変化することになり、機密データの解読の足掛かりとなる誤動作が生じるメモリセルを特定することが困難になるため、レーザ攻撃に対する耐タンパー性を高めることができるようになる。
Therefore, if the operating system generates an offset value using the random number acquired from the
なお、本実施形態において、オペレーティングシステムなどのコンピュータプログラムが動作してから生成する動的データを格納する作業領域の物理アドレスを変化するようにしているのは、動的データにPIN(Personal Identification Number)の照合結果など、ICカード1が誤動作を生じ易いデータが数多く含まれるからである。
In this embodiment, the physical address of the work area for storing dynamic data generated after a computer program such as an operating system operates is changed because the PIN (Personal Identification Number) is added to the dynamic data. This is because the
図3は、本発明の効果を説明する図である。図3において、作業領域のサイズを実際に必要なサイズ(ここでは、248バイト)よりも8バイトだけ大きくした256バイトとしており、ICカード1がリセットされる毎に乱数を利用して生成されるオフセット値の範囲は、作業領域のサイズの数値(ここでは、256)から実際に必要なサイズの数値(ここでは、246)を減算した値から「1」を減算した値(ここでは、7)以下の数値(ここでは、0〜7のいずれか)になる。なお、作業領域のサイズの数値から実際に必要なサイズの数値を減算した値から、更に、「1」を減算するのは、オフセット値が取り得る値に「0」を含めるためである。
FIG. 3 is a diagram for explaining the effect of the present invention. In FIG. 3, the size of the work area is 256 bytes that is 8 bytes larger than the actually required size (here, 248 bytes), and is generated using a random number each time the
図3(a)は、ICカード1がリセットされる毎に乱数を利用して生成されたオフセット値を「0」としたときの図で、作業領域の先頭の物理アドレス(ここでは、0x0000)にオフセット値(ここでは、「0」)を加算した値は0x0000になるため、0x0000から動的データが格納されることになる。また、図3(a)では、0x0000から動的データが格納されることになるため、0x00F8から0x00FFまでには動的データは格納されない。
FIG. 3A is a diagram in which an offset value generated by using a random number every time the
図3(b)は、オフセット値を「2」としたときの図で、作業領域の先頭の物理アドレス(0x0000)にオフセット値(ここでは、「2」)を加算した値は0x0002になるため、0x0002から動的データが格納されることなる。また、図3(b)では、0x0002から動的データが格納されるため、0x0000及び0x0001、並びに、0x00FAから0x00FFまでには動的データは格納されない。 FIG. 3B is a diagram when the offset value is “2”, and the value obtained by adding the offset value (here, “2”) to the top physical address (0x0000) of the work area is 0x0002. , Dynamic data is stored from 0x0002. In FIG. 3B, since dynamic data is stored from 0x0002, dynamic data is not stored from 0x0000 and 0x0001, and from 0x00FA to 0x00FF.
例えば、図3(a)の状態で、0x0002がレーザ攻撃を受けたとしても、ICカードがリセットされることで、図3(b)の状態になると、図3(a)において、0x0002に格納されていた動的データは、図3(b)において、0x0004に格納されることになるため、攻撃者は同じメモリセルを何度も繰り返しても意味がなくなり、機密データの解読の足掛かりとなる誤動作が生じるメモリセルを特定することが困難になる。 For example, even if 0x0002 is subjected to a laser attack in the state of FIG. 3A, if the IC card is reset and enters the state of FIG. 3B, it is stored in 0x0002 in FIG. 3A. Since the dynamic data that has been stored is stored in 0x0004 in FIG. 3 (b), the attacker loses its meaning even if the same memory cell is repeated many times, and becomes a starting point for decryption of the confidential data. It becomes difficult to specify a memory cell in which a malfunction occurs.
1 ICカード
2 ICチップ
1 IC card 2 IC chip
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011001806A JP5724387B2 (en) | 2011-01-07 | 2011-01-07 | Portable device and dynamic data storage position changing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011001806A JP5724387B2 (en) | 2011-01-07 | 2011-01-07 | Portable device and dynamic data storage position changing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012146004A JP2012146004A (en) | 2012-08-02 |
JP5724387B2 true JP5724387B2 (en) | 2015-05-27 |
Family
ID=46789525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011001806A Active JP5724387B2 (en) | 2011-01-07 | 2011-01-07 | Portable device and dynamic data storage position changing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5724387B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102510451B1 (en) * | 2018-05-09 | 2023-03-16 | 삼성전자주식회사 | Integrated circuit device and operating method of integrated circuit device |
CN110493226B (en) * | 2019-08-20 | 2020-10-20 | 北京大学 | Method and system for generating flow vulnerability utilization aiming at memory corruption vulnerability attack |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001266103A (en) * | 2000-01-12 | 2001-09-28 | Hitachi Ltd | Ic card and microcomputer |
JP4168305B2 (en) * | 2000-01-12 | 2008-10-22 | 株式会社ルネサステクノロジ | IC card and microcomputer |
JP2005149262A (en) * | 2003-11-18 | 2005-06-09 | Renesas Technology Corp | Information processor |
JP4776462B2 (en) * | 2006-07-19 | 2011-09-21 | 株式会社東芝 | Portable electronic device and method for controlling portable electronic device |
-
2011
- 2011-01-07 JP JP2011001806A patent/JP5724387B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012146004A (en) | 2012-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9280671B2 (en) | Semiconductor device and encryption key writing method | |
JP5517535B2 (en) | Method and device for protecting microcircuits against attacks | |
JP5200664B2 (en) | Fault attack detection method, security device, and computer program for falsifying memory contents | |
JP2009505266A (en) | Circuit device having non-volatile memory module and method for recording attacks on non-volatile memory module | |
WO2017097042A1 (en) | Secure chip, and nonvolatile storage control device and method for same | |
JP2010211515A (en) | Information storage medium, authenticating data generation method and medium authentication system | |
US20150143533A1 (en) | Method of generating a structure and corresponding structure | |
JP2008181225A (en) | Ic card | |
JP2018169694A (en) | Security device having tamper resistance against failure utilization attack | |
JP5724387B2 (en) | Portable device and dynamic data storage position changing method | |
US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
Leng | Smart card applications and security | |
JP2009259126A (en) | Method for detecting fault attack and security device | |
JP5447790B2 (en) | Derivation method of security token and scramble key | |
US9912471B2 (en) | Method for operating a portable data carrier, and such a portable data carrier | |
JP2009289104A (en) | Security device with function for detecting trouble attack | |
JP2007067942A (en) | Ic card, and ic card program | |
JP6396119B2 (en) | IC module, IC card, and IC card manufacturing method | |
US10242233B2 (en) | Method for producing an electronic device with a disabled sensitive mode, and method for transforming such an electronic device to re-activate its sensitive mode | |
JP5949357B2 (en) | Security token, data falsification detection method, and computer program | |
KR100641297B1 (en) | Semiconductor device using rom scrambling method, and operating method of the device | |
KR20060059548A (en) | Smart card with improved security function | |
JP5269661B2 (en) | Portable electronic device and method for controlling portable electronic device | |
JP2006024140A (en) | Random-number generator | |
CN107908980B (en) | Method for realizing encryption protection of memory data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20130823 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140717 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140729 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140922 |
|
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: 20150303 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5724387 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |