JP2008181226A - Icカード - Google Patents
Icカード Download PDFInfo
- Publication number
- JP2008181226A JP2008181226A JP2007012886A JP2007012886A JP2008181226A JP 2008181226 A JP2008181226 A JP 2008181226A JP 2007012886 A JP2007012886 A JP 2007012886A JP 2007012886 A JP2007012886 A JP 2007012886A JP 2008181226 A JP2008181226 A JP 2008181226A
- Authority
- JP
- Japan
- Prior art keywords
- card
- data
- storage unit
- security information
- divided
- 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.)
- Pending
Links
Images
Abstract
【課題】カード内部のセキュリティ情報が漏洩することがあっても、セキュリティ情報が容易に判別、解読できないような耐タンパ性を有するICカードを提供すること。
【解決手段】所定のデータを記憶する記憶部(204、206)と、外部とのデータの入出力を行う手段(I/O)とを備えたICカードにおいて、前記所定のデータは、複数の分割データに分割された後に前記記憶部に記憶される。
【選択図】図1
【解決手段】所定のデータを記憶する記憶部(204、206)と、外部とのデータの入出力を行う手段(I/O)とを備えたICカードにおいて、前記所定のデータは、複数の分割データに分割された後に前記記憶部に記憶される。
【選択図】図1
Description
本発明は、ICカードの耐タンパ技術に関する。
ICカードは、勝手に書き換えることが許されないような個人情報の保持や、データの暗号化や復号化を行う装置である。このため、ICカード内部に格納されているデータは、ディレクトリ、ファイル毎のアクセス権により守られており、不正に外部に出力されたりすることはないようになっている。ICカード自体は電源を持っておらず、ICカード用のリーダライタ(card reader)に差し込まれることにより、また、無線アンテナを備えたものであれば無線アンテナの誘導電流によって、リーダライタから電源の供給を受け、動作可能となる。ICカードが動作可能になると、リーダライタから送信されるコマンドを受信し、そのコマンドに従って、データの転送等の処理を行う。なお、ICカードの細かい仕様に関しては、非特許文献1に記載されているので、詳細な説明は省略する。
このように、ICカードは、プログラムや重要な情報がICカード用チップの中に密閉されており、重要な情報を格納したり、カードの中で暗号処理を行うために用いられるので、ICカードでの暗号を解読する難しさは、暗号アルゴリズムの解読の難しさと同じであると考えられていた。
しかし、ICカードが暗号処理を行っている時の消費電力を観測し、これを解析することにより、暗号アルゴリズムを直接的に解読するよりも容易に暗号処理の内容や暗号鍵が推定される可能性がある。消費電力は、オシロスコープを用いて、ICカードのVcc端子とグランド端子の間の電圧変化を測定することによって調べることができる。このように、電力解析による内部秘密情報を取り出す方法は、電力解析(Power Analysis)と呼ばれている。
この電力解析において、反転ビット数(ハミングウェイト)に応じて電力が消費されることから、プログラムカウンタの変化に伴うビットの反転数(ハミング距離)の変化を均一化する提案が成されている(特許文献1参照)。しかし、セキュリティ情報等の重要なデータの解読方法は、日々進歩しており、カードの動作環境の異常や意図的な破壊攻撃により、強引に内部データが出力させられた場合、データ構造などからセキュリティ情報が解読される可能性がある。このため、より強固な耐タンパ性を備えたICカードが要求されている。
特開2004−126841号公報
ISO7816
本発明は、カード内部のセキュリティ情報が漏洩することがあっても、セキュリティ情報が容易に判別、解読できないような耐タンパ性を有するICカードを提供することを目的とする。
本発明の局面に係る発明は、所定のデータを記憶する記憶部と、外部とのデータの入出力を行う手段とを備えたICカードにおいて、前記所定のデータは、複数の分割データに分割された後に前記記憶部に記憶されることを特徴とする。
本発明によれば、カード内部のセキュリティ情報が漏洩することがあっても、セキュリティ情報が容易に判別、解読できないような耐タンパ性を有するICカードを提供できる。
図面を参照して本発明の実施の形態を説明する。図1は、本発明の一実施形態に係るICカードの概略構成を示す図である。
ICカードは、カード101と、カード101の上に搭載されたICカード用チップ102とを備えている。図1に示すように、一般に、ICカードは、ISO7816(非特許文献1)の規格に定められた位置に、ICカード用チップ102に電源を供給する供給電圧端子Vccと、ICカード用チップ102の接地用端子であるグランド端子GNDと、ICカード用チップ102の動作をリセットするためのリセット端子RSTと、外部とのデータのやりとりを行うための入出力端子I/Oと、ICカード用チップ102の動作クロックの入力用のクロック端子CLKとを備えており、これらの端子を通して、リーダライタから電源の供給を受けて、リーダライタと通信を行うようになっている。
ICカードは、カード101と、カード101の上に搭載されたICカード用チップ102とを備えている。図1に示すように、一般に、ICカードは、ISO7816(非特許文献1)の規格に定められた位置に、ICカード用チップ102に電源を供給する供給電圧端子Vccと、ICカード用チップ102の接地用端子であるグランド端子GNDと、ICカード用チップ102の動作をリセットするためのリセット端子RSTと、外部とのデータのやりとりを行うための入出力端子I/Oと、ICカード用チップ102の動作クロックの入力用のクロック端子CLKとを備えており、これらの端子を通して、リーダライタから電源の供給を受けて、リーダライタと通信を行うようになっている。
ICカード用チップ102の構成は、基本的には通常のマイクロコンピュータと同じ構成である。その構成を、図2に示す。ICカード用チップ102は、中央処理装置(CPU)201と、コ・プロセッサ202と、記憶装置204と、入出力(I/O)ポート207とを備え、データバス203で相互に通信可能に接続されている。CPU201は、論理演算や算術演算などを行う装置であり、記憶装置204は、プログラムやデータを格納する装置である。入出力ポート207は、図示しないリーダライタと通信を行う装置である。コ・プロセッサ202は、暗号処理そのもの、または、暗号処理に必要な演算を高速に行う装置である。例えば、RSA暗号の剰余演算を行う為の特別な演算装置や、DES暗号の処理を行う暗号装置などがある。なお、ICカード用プロセッサの中には、コ・プロセッサを持たないものもある。
記憶装置204は、プログラム格納部205と、データ格納部206とからなる。プログラムは基本的に書き換えることがないので、プログラム格納部205はROM(Read Only Memory)で構成される。なお、プログラムを更新可能とするために、不揮発性のメモリであるEEPROM(Electrical Erasable Programmable Read Only Memory)で構成されることもあるが、この場合には、EEPROMはデータ格納部206と共有されることがある。データ格納部206には、電源の供給がなくなっても保持することが必要なデータ、例えば、プリペイドガードの残高のデータ、等が記憶される。また、図示しない作業用のメモリとして、電源の供給がなくなってもデータを保持する必要がない高速な揮発性のメモリであるRAM(Random Access Memory)が使用される。
上記のように構成されたICカードに記憶されるセキュリティ情報等の重要なデータの保護方法について説明する。本実施形態では、ICカードに記憶されるセキュリティ情報の保護方法を従来と変えることにより、セキュリティ情報が漏洩することがあった場合でも、容易に判別、解読できないようにしている。具体的には、以下の通りである。
(1)第1の方法
セキュリティ情報を、所定の単位で分割し、分割したセキュリティ情報同士で、なんらかの演算を行い、その演算結果を、セキュリティ情報としてデータ格納部206に格納する。
具体的には、例えば、セキュリティ情報が、128ビットであった場合に、該セキュリティ情報を、64ビット(2個)や、32ビット(4個)や、16ビット(8個)に分割し、分割後のセキュリティ情報(以下、「分割後データ」と称する)同士で、演算(排他的論理和(XOR)等の論理演算や代数演算)を行い、その演算結果をセキュリティ情報としてデータ格納部206に格納する。なお、上記のように、分割の単位や分割数、また、演算方法は、様々な方法を適用可能である。
これにより、セキュリティ情報が流出しても、セキュリティ情報がそのままでは解読できないので、耐タンパ性が向上する。
セキュリティ情報を、所定の単位で分割し、分割したセキュリティ情報同士で、なんらかの演算を行い、その演算結果を、セキュリティ情報としてデータ格納部206に格納する。
具体的には、例えば、セキュリティ情報が、128ビットであった場合に、該セキュリティ情報を、64ビット(2個)や、32ビット(4個)や、16ビット(8個)に分割し、分割後のセキュリティ情報(以下、「分割後データ」と称する)同士で、演算(排他的論理和(XOR)等の論理演算や代数演算)を行い、その演算結果をセキュリティ情報としてデータ格納部206に格納する。なお、上記のように、分割の単位や分割数、また、演算方法は、様々な方法を適用可能である。
これにより、セキュリティ情報が流出しても、セキュリティ情報がそのままでは解読できないので、耐タンパ性が向上する。
(2)第2の方法
セキュリティ情報と他の情報(例えば、乱数やその他のデータ列)との演算(演算内容は第1の方法と同じ)をし、その演算結果をデータ格納部206に格納する。なお、この場合において、他の情報は、データ格納部206の他の領域に格納したり、ICカード用チップ102内の他の部分に専用エリアを設けておき、その領域に格納したりすれば良い。また、乱数は、セキュリティの照合の時点毎に、変更することが好ましい。
セキュリティ情報と他の情報(例えば、乱数やその他のデータ列)との演算(演算内容は第1の方法と同じ)をし、その演算結果をデータ格納部206に格納する。なお、この場合において、他の情報は、データ格納部206の他の領域に格納したり、ICカード用チップ102内の他の部分に専用エリアを設けておき、その領域に格納したりすれば良い。また、乱数は、セキュリティの照合の時点毎に、変更することが好ましい。
(3)第3の方法
セキュリティ情報を所定の単位で分割し、データ格納部206に分散させて格納する。この場合、重要な情報(例えば、PIN情報)のみをいくつかに分割して、データ格納部206に分散させて格納するようにしても良い。なお、セキュリティ情報の分割方法については、第1の方法と同じである。また、データ格納部206の領域は1つでよい。
セキュリティ情報を所定の単位で分割し、データ格納部206に分散させて格納する。この場合、重要な情報(例えば、PIN情報)のみをいくつかに分割して、データ格納部206に分散させて格納するようにしても良い。なお、セキュリティ情報の分割方法については、第1の方法と同じである。また、データ格納部206の領域は1つでよい。
(4)第4の方法
セキュリティ情報を所定の単位で分割し、例えばプログラム格納部205や図示しない情報制御部に分割数や分割後データのそれぞれの格納位置のオフセット情報を格納しておき、分割後データを、該オフセット情報に従ってデータ格納部206に格納する。読み出す場合は、オフセット情報から分割後データを読み出して復元すればよい。
セキュリティ情報を所定の単位で分割し、例えばプログラム格納部205や図示しない情報制御部に分割数や分割後データのそれぞれの格納位置のオフセット情報を格納しておき、分割後データを、該オフセット情報に従ってデータ格納部206に格納する。読み出す場合は、オフセット情報から分割後データを読み出して復元すればよい。
(5)第5の方法
セキュリティ情報を所定の単位で分割すると共にデータ格納部206をいくつかに論理分割しておき、当該領域にエラー検出・訂正情報と共に分割したセキュリティ情報を論理分割した複数の領域に分散して格納する。
セキュリティ情報を所定の単位で分割すると共にデータ格納部206をいくつかに論理分割しておき、当該領域にエラー検出・訂正情報と共に分割したセキュリティ情報を論理分割した複数の領域に分散して格納する。
(6)第6の方法
外部から入力されるセキュリティ情報と内部のセキュリティ情報とを照合する場合に、照合する単位や順序を、その照合毎に異なるようにする。ここで、照合する単位は、例えば、4ビットや、8ビットなど任意に変更可能である。また、照合する順序については、MSB(最上位のビット)から照合したり、LSB(最下位のビット)から照合したり、途中のビットから照合したりしても良い。なお、両者を単独で適用しても良いし、組み合わせて適用しても良い。
外部から入力されるセキュリティ情報と内部のセキュリティ情報とを照合する場合に、照合する単位や順序を、その照合毎に異なるようにする。ここで、照合する単位は、例えば、4ビットや、8ビットなど任意に変更可能である。また、照合する順序については、MSB(最上位のビット)から照合したり、LSB(最下位のビット)から照合したり、途中のビットから照合したりしても良い。なお、両者を単独で適用しても良いし、組み合わせて適用しても良い。
上記において、第1から第5の方法では、分割してセキュリティ情報を記憶するようにしているので、データ格納部206に記憶されている情報が格納された順序で外部に流出しても、データとして意味をなさない。従って、正規の出力方法で出力しないと解読できる情報にならないので、セキュリティ情報が容易に判別、解読できないような耐タンパ性を有する向上したICカードを提供できる。
また、第6の方法では、セキュリティ情報の照合する単位や順序を、その照合毎に変えているので、外部から攻撃された場合でも、容易にセキュリティ情報を解読することができない。従って、セキュリティ情報が容易に判別、解読できないような耐タンパ性を有する向上したICカードを提供できる。
本発明は、上記各実施の形態に限ることなく、その他、実施段階ではその要旨を逸脱しない範囲で種々の変形を実施し得ることが可能である。例えば、上記の第1から第6の方法は、独立した方法として記載したが、適宜組み合わせて適用できる。例えば、第1と第2の方法を組み合わせて、分割後データを演算処理して、更に分散記憶させても良いし、第1と第6の方法を組み合わせて、分割後データを演算処理して記憶させ、照合時にセキュリティ情報を復号してから、第6の方法でセキュリティ情報の照合を行うようにしても良い。さらに、上記各実施形態には、種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。
また、例えば各実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
Vcc…供給電圧端子
GND…グランド端子
RST…リセット端子
I/O…入出力端子
CLK…クロック端子
101…カード
102…ICカード用チップ
201…中央処理装置(CPU)
202…コ・プロセッサ
203…データバス
204…記憶装置
205…プログラム格納部
206…データ格納部
207…入出力ポート
GND…グランド端子
RST…リセット端子
I/O…入出力端子
CLK…クロック端子
101…カード
102…ICカード用チップ
201…中央処理装置(CPU)
202…コ・プロセッサ
203…データバス
204…記憶装置
205…プログラム格納部
206…データ格納部
207…入出力ポート
Claims (6)
- 所定のデータを記憶する記憶部と、外部とのデータの入出力を行う手段とを備えたICカードにおいて、
前記所定のデータは、複数の分割データに分割された後に前記記憶部に記憶されることを特徴とするICカード。 - 請求項1に記載のICカードにおいて、前記分割データは、前記分割データ同士に所定の演算を施した後に前記記憶部に記憶されることを特徴とするICカード。
- 請求項1に記載のICカードにおいて、前記分割データは、前記分割データ以外のデータと所定の演算を施した後に前記記憶部に記憶されることを特徴とするICカード。
- 請求項1に記載のICカードにおいて、前記分割データは、前記記憶部に分散して記憶されることを特徴とするICカード。
- 請求項1に記載のICカードにおいて、前記分割データに誤り訂正情報が付加されていることを特徴とするICカード。
- 所定のデータを記憶する記憶部と、外部とのデータの入出力を行う手段とを備えたICカードにおいて、
前記所定のデータの正当性の照合の際に、照合する単位や順序を、照合の度に変更することを特徴とするICカード。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007012886A JP2008181226A (ja) | 2007-01-23 | 2007-01-23 | Icカード |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007012886A JP2008181226A (ja) | 2007-01-23 | 2007-01-23 | Icカード |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008181226A true JP2008181226A (ja) | 2008-08-07 |
Family
ID=39725102
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007012886A Pending JP2008181226A (ja) | 2007-01-23 | 2007-01-23 | Icカード |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008181226A (ja) |
-
2007
- 2007-01-23 JP JP2007012886A patent/JP2008181226A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100837270B1 (ko) | 스마트 카드 및 그것의 데이터 보안 방법 | |
| CN104156642B (zh) | 一种基于安全触控屏控制芯片的安全密码输入系统和方法 | |
| CN102737202B (zh) | 利用迭代加密/解密密钥更新的指令加密/解密设备和方法 | |
| EP2300952B1 (en) | A method for adapting and executing a computer program and computer program product and computer architecture therefor | |
| US20070297606A1 (en) | Multiple key security and method for electronic devices | |
| CN102609665B (zh) | 对用户程序签名及验证用户程序签名的方法及装置 | |
| JP2008181225A (ja) | Icカード | |
| US20050108498A1 (en) | Information processing unit | |
| EP3241143B1 (en) | Secure element | |
| US10389530B2 (en) | Secure method for processing content stored within a component, and corresponding component | |
| JPS63293637A (ja) | デ−タ保護用マイコン | |
| CN114153376B (zh) | 安全闪存控制器 | |
| TWI402755B (zh) | 具有生命周期階段之安全記憶卡 | |
| US20060219796A1 (en) | Integrated circuit chip card capable of determining external attack | |
| JP2005149262A (ja) | 情報処理装置 | |
| US20080187133A1 (en) | Encryption code processing circuit, operation device and electronic apparatus | |
| JPWO2005027403A1 (ja) | 情報処理装置 | |
| JP2008181226A (ja) | Icカード | |
| US9158943B2 (en) | Encryption and decryption device for portable storage device and encryption and decryption method thereof | |
| JP5724387B2 (ja) | 携帯装置及び動的データの格納位置変更方法 | |
| JP2007004456A (ja) | 携帯可能電子装置及び携帯可能電子装置のデータ出力方法 | |
| JP2010092117A (ja) | データ処理装置及びデータ処理方法 | |
| JP2013157761A (ja) | 半導体装置及び演算処理方法 | |
| JP2004259287A (ja) | 情報処理装置、カード部材および情報処理システム | |
| JP2011091735A (ja) | 暗号化方法、復号化方法、暗号化プログラム、復号化プログラム、及び暗号化システム、復号化システム、 |