JP2010055549A - Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等 - Google Patents

Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等 Download PDF

Info

Publication number
JP2010055549A
JP2010055549A JP2008222495A JP2008222495A JP2010055549A JP 2010055549 A JP2010055549 A JP 2010055549A JP 2008222495 A JP2008222495 A JP 2008222495A JP 2008222495 A JP2008222495 A JP 2008222495A JP 2010055549 A JP2010055549 A JP 2010055549A
Authority
JP
Japan
Prior art keywords
data
verification value
verification
data group
validity
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.)
Granted
Application number
JP2008222495A
Other languages
English (en)
Other versions
JP5233521B2 (ja
Inventor
Hirofumi Kamiguchi
裕文 上口
Masakazu Tooyama
正和 遠山
Tooru Tateshita
徹 館下
Shin Takeuchi
慎 竹内
Mitsuru Watabe
充 渡部
Takashi Sakurai
隆志 桜井
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 JP2008222495A priority Critical patent/JP5233521B2/ja
Publication of JP2010055549A publication Critical patent/JP2010055549A/ja
Application granted granted Critical
Publication of JP5233521B2 publication Critical patent/JP5233521B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができるICチップ、データ読出し方法、データ読出しプログラム及び記録媒体等を提供する。
【解決手段】CPUは、EEPROM等に記憶された検証値12aを含むデータA12等が複数集合したデータ群11に対して、データ群11についての検証値11aを生成し、記憶する。そして、データ群11の何れかのデータが読み出される際に、データ群11についての検証値を新たに生成し、前記記憶されたデータ群検証値11aと比較することにより、データ群11の正当性について検証する。
【選択図】図2

Description

本発明は、ICチップ、データ読出し方法及びデータ読出しプログラム等に関するものであり、より詳しくは、不揮発性メモリに記憶されたデータを読み出す方法等に関する。
近年、ICカード等に代表される携帯型情報記録媒体は、様々な分野で利用されており、そこでは、極めて重要な情報が取り扱われるようになっている。例えば、電子マネー機能を有する非接触型ICカードは、商品等売買における決算手段として利用されており、顧客の有する資産に関する情報が取り扱われている。また、金融機関が提供するキャッシュカードとしての非接触型ICカードは、顧客の特定及びサービスの提供手段として利用されており、そこでは、顧客の住所、生年月日等の個人情報と顧客の資産についての情報が取り扱われている。
従って、ICカードに記憶されている情報に対しては、取引の安全性確保の観点から、正当性が確保されている必要があり、これらの情報を読み出す際に右正当性を確認する手段を備えることが必要となっている。
特許文献1では、EEPROM(Electrically Erasable Programmable Read Only Memory)を採用した記憶装置の記憶領域に、予め記録用EEPROMと予備用EEPROMを用意し、データの書込み時に、書込みエラーが生じた際に予備用EEPROMにデータを記憶する発明が開示されている。
また、特許文献2では、EEPROMから構成される記憶領域内に、複数のレコードから構成される一つのファイルデータを、ファイルデータについてのレコード数の情報を含み、さらに、所定のセクタ長を定義し、各レコードをセクタ長を一区切りとするセクタデータに分割し、1レコード内におけるこのセクタデータ同士の連結情報を含んだ制御データを作成し、セクタデータ及び制御データに基づいて所定のエラーチェックコードを付加してなる単位データを、前記記憶領域内に記録しておき、各単位データを読み出した際に、前記エラーチェックコードに基づく第一のエラーチェックを行うとともに、読み出した各単位データから夫々制御データを抽出し、この制御データ内の連結情報に基づいて、記録領域内に記録されているファイルデータのレコード数とを比較し、不一致が生じた場合にデータの記録にエラーが生じていると認識する第2のエラーチェックを行い、当該ファイルの正当性を確認する発明が開示されている。
特開平3−25798号公報 特開平4−165487号公報
しかし、特許文献1に記載の発明では、書込みエラーを回避することは出来ても、データを読み込む際に問題が生じた場合には対応することができなかった。
また、特許文献2に記載の発明では、読み出す対象とするデータ全てに対して、個々にエラーチェックを行う必要があり、データの処理を行うCPU(Central Processing Unit)に過度な付加を掛け、処理速度の低下等の問題が生じていた。
そこで、本発明は上記各問題点に鑑みてなされたもので、その目的の一例は、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができるICチップ、データ読出し方法、データ読出しプログラム及び記録媒体等を提供することである。
上記の課題を解決するために、請求項1に記載のICチップは、検証値を含むデータが複数集合したデータ群が記憶される記憶部を有するICチップにおいて、前記データ群についての検証値を生成する検証値生成手段と、前記生成された検証値を記憶する記憶手段と、前記データ群の正当性について検証する検証手段とを備え、前記データ群のうち何れかの前記データが読み出される際に、前記検証値生成手段は前記データ群についての検証値を新たに生成し、前記検証手段は、前記記憶された検証値と前記新たに生成された検証値を比較することにより、前記データ群の正当性について検証することを特徴とする。
この発明によれば、検証値を含むデータが複数集合したデータ群が記憶される記憶部を有するICチップにおいて、予め、前記データ群についての検証値が記憶されており、前記データ群のうち何れかの前記データが読み出される際に、前記データ群の正当性について検証することができる。
従って、読み出す対象となるデータの正当性を確認する前に、データ群全体に対する正当性の確認をすることができるため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
請求項2に記載のICチップは、請求項1に記載のICチップにおいて、前記データ群の正当性が無いと判断された場合には、前記検証手段は、読み出す対象となる前記データまでに配列される各データの正当性について検証を行うことを特徴とする。
従って、必要に応じて読み出す対象となるデータの正当性を確認するため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
請求項3に記載のICチップは、請求項1又は2に記載のICチップにおいて、前記データ群の正当性があると判断された場合には、読み出す対象となる前記データまでに配列される各データの正当性について検証せずに前記データを読み出すことを特徴とする。
従って、必要に応じて読み出す対象となるデータの正当性を確認するため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
請求項4に記載のICチップは、請求項1に記載のICチップにおいて、前記データは全て同一の大きさであり、前記データ群の正当性がないと判断された場合であっても、前記検証手段は、前記読み出す対象となるデータの正当性のみについて検証を行うことを特徴とする。
従って、読み出す対象となるデータの正当性のみについて検証を行うため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
請求項5に記載のICチップは、請求項1に記載のICチップにおいて、前記データ群には同一の大きさのデータが少なくとも2以上含まれ、前記検証手段は、前記読み出す対象となるデータまでに前記同一の大きさのデータが配列される場合には、前記同一の大きさのデータの正当性について検証しないことを特徴とする。
従って、必要最小限のデータのみについて正当性の検証を行うため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
請求項6に記載のデータ読出し方法は、検証値を含むデータが複数集合するデータ群が記憶される記憶部を有するICチップにおけるデータ読出し方法において、前記データ群についての検証値を生成する検証値生成工程と、前記生成された検証値を記憶する記憶工程と、前記データ群の正当性について検証する検証工程とを有し、前記データ群のうち何れかの前記データが読み出される際に、前記検証値生成工程は前記データ群についての検証値を新たに生成し、前記検証工程は、前記記憶された検証値と前記新たに生成された検証値を比較することにより、前記データ群の正当性について検証することを特徴とする。
請求項7に記載のデータ読出しプログラムは、検証値を含むデータが複数集合するデータ群が記憶される記憶部を有するICチップ含まれるコンピュータを、前記データ群についての検証値を生成する検証値生成手段、前記生成された検証値を記憶する記憶手段、前記データ群の正当性について検証する検証手段とを備え、前記コンピュータによって、前記データ群のうち何れかの前記データが読み出される際に、前記検証値生成手段は前記データ群についての検証値を新たに生成し、前記検証手段は、前記記憶された検証値と前記新たに生成された検証値を比較することにより、前記データ群の正当性について検証することを特徴とする。
以上のように、本発明によれば、検証値を含むデータが複数集合したデータ群が記憶される記憶部を有するICチップにおいて、予め、前記データ群についての検証値が記憶されており、前記データ群のうち何れかの前記データが読み出される際に、読み出す対象となるデータの正当性を確認する前に、データ群全体に対する正当性の確認をすることができるため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
以下、本願の最良の実施形態を添付図面に基づいて説明する。なお、以下に説明する実施の形態は、ICチップに対して本願を適用した場合の実施形態である。
先ず、本実施形態に係るICチップの構成及び機能概要について、図1を用いて説明する。なお、これらICチップは、ICカードや携帯型情報記憶装置等に搭載され、データの送受信等を実現する。
図1は、ICチップの全体構成例を示すブロック図である。図1に示すように、ICチップSは、I/O(input/output)インターフェース1、ROM(Read Only Memory)2、RAM(Random Access Memory)3、EEPROM4、CPU(Central Processing Unit)5等を備えて構成されている。
I/Oインターフェース1は、データを送受信するための入出力回路であり、CPU5は、このI/Oインターフェース1を介して図示しないリーダライタ装置等と交信する。ROM2内には、CPU5によって実行されるべきプログラムが記憶されており、CPU5は、このプログラムに基づいてICチップSを統括的に制御する。RAM3は、CPU5がICチップを統括的に制御するために作業領域として使用するメモリである。
EEPROM4は、不揮発性半導体メモリの一種であり、記憶領域に記憶されているデータを消去し、何度でも再記憶ができるPROM(Programmable Rom)である。EEPROM4は、データを記憶する記憶回数に制限があり、通常は、10万回程度の消去、記憶のサイクルが保証されている。
本実施形態では、EEPROM4に換えて、フラッシュメモリを用いることもできる。フラッシュメモリは、不揮発性半導体メモリの一種であり、オンボード状態で電気的にデータを書き換えることができることを特徴としている。
さらに、本実施形態では、EEPROM4に換えて、記憶回数に制限が無い、磁性体であるTMR(Tunnel Magneto Resistance)素子を用いたMRAM(Magnetoresistive Random Access Memory)等を適用することも可能である。
さらに、EEPROM4は、本願の記憶部として機能し、ICチップSに記録すべきデータを格納(記憶)する。
CPU5は、上述したようにICチップS全体の動作を統括的に制御するとともに、本願の検証値生成手段、記憶手段、及び検証手段として機能する。
次に、本実施形態に係るEEPROM4内の記憶領域に記憶されるデータ構造を、図2を用いて説明する。
図2〜4は、EEPROM4内の記憶領域に記憶されるデータ構造の一例を示す概念図である。
図2は、異なる大きさのデータが複数集合した場合のデータ構造を示す概念図である。
ここで、データの大きさとは、例えばデータサイズであり、単位としてバイト(byte)等で表される。
図2に示すように、EEPROM4内の記憶領域には、データ等の集合としてのデータ群11と、データ群11に属するデータとしてのデータA(12)、データB(13)、データC(14)及びデータD(15)の4つのデータが記憶されている。ここで、データA(12)乃至データD(15)の大きさは夫々異なっている。
また、各データには、検証値が付加されており、各データ及び各データに対応する各検証値の集合体が、データ群11として記憶されている。データA(12)にはデータAの検証値(12a)が、データB(13)にはデータBの検証値13aが、データC(14)にはデータCの検証値14aが、データD15にはデータDの検証値(15a)が、夫々付加されている。そして、データ群11の検証値として、データ群11の検証値11aが付加されている。
一般に、記憶装置等に記憶されるデータは、ユーザの管理下におかれ、ユーザが認識しうる範囲内で、当該データの処理(例えば、データの読出し及び変更等)が行われる。しかし、ユーザが意図しない不正な改竄等によって、そのデータの内容が変更され、データの正当性が損なわれてしまう場合がある。このような第三者の不正行為の事実を特定することは、一般的に極めて困難である。
そこで、検証値を付与することにより、上記第三者によるデータの不正な改竄等が行われたことを、認識することができる。検証値の一例として、CRCがある。
CRCとは、巡回冗長検査(Cyclic Redundancy Check)の略であり、データの誤りを検出する(データの正当性を検証する)仕組みである。CRCによる誤り検出では、まず、データから検証値の一例として、CRCコードを生成する。
CRCコードは、同一のデータからは必ず同一のCRCコードが生成され、例えば、1バイトでもデータが異なると全く別のCRCコードが生成されるという特徴を持つ。この特徴を利用し、データの正当性について検証するようになっている。
さらに具体的には、まず、データの保存時に当該データからCRCコードを生成し、当該データと共に記憶装置等に記憶する。そして、ユーザが当該データを読み出す際に、新たに当該データからCRCコードを生成し、先に生成され保存された当該データのCRCコードと、読出し時に生成されたCRCコードを夫々比較する。
そして、これら2つのCRCコードを比較し、相互のCRCコードが一致する場合には、上述したCRCコードの特徴から、先に保存されたデータと読出し時に読み出されるデータは同一であることを示している。従って、当該データは、保存中にユーザが意図しない不正な改竄等によってそのデータの内容が変更されず、当該データは正当であることを確認することができる。
一方、相互のCRCコードが一致しない場合には、先に保存されたデータと読出し時に読み出されるデータは異なることを示している。従って、当該データは、保存中にユーザが意図しない不正な改竄等によってそのデータの内容が変更された可能性があり、当該データは正当でないことを確認することができる。
本実施形態では、CRCコードを用いてデータの正当性について検証するようになっているが、詳しくは後述する。また、CRCコードは公知の技術であるため、より詳しい説明は省略する。
図3は、同一の大きさのデータが複数集合した場合のデータ構造を示す概念図である。
図3に示すように、EEPROM4内の記憶領域には、データ等の集合としてのデータ群21と、データ群21に属するデータとしてのデータA(22)、データB(23)、データC(24)及びデータD(25)の4つのデータが記憶されている。ここで、データA(22)乃至データD(25)の大きさ(データサイズであり、例えば、byte等で表される)は全て同一である。
また、図2に示すデータ構造と同様に、データ群にはデータ群の検証値21aが、各データには各データの検証値22a乃至25aが夫々付加されている。
図4は、同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造を示す概念図である。
図4に示すように、EEPROM4内の記憶領域には、データ等の集合としてのデータ群31と、データ群31に属するデータとしてのデータA(32)、データB(33)、データC(34)及びデータD(35)の4つのデータが記憶されている。ここで、データA(32)及びデータB(33)の大きさは同一であり、データC(34)及びデータD(35)のデータの大きさは他のデータの大きさと異なっている。
また、図2及び図3に示すデータ構造と同様に、データ群にはデータ群の検証値31aが、各データには各データの検証値32a乃至35aが夫々付加されている。
次に、図5〜図8を用いて、ICチップSの動作を説明する。
本実施形態のICチップSに含まれるCPU5は、EEPROM4等に記憶された検証値11a(例えば、上述したCRCコード)を含むデータ等(例えば、データA12等)が複数集合したデータ群11に対して、データ群11についての検証値11aを生成し、記憶する。そして、データ群11の何れかのデータが読み出される際に、データ群11の正当性について検証するようになっている。
以下に上記動作を、データ構造の種類に分けて詳細に説明する。
[1.異なる大きさのデータが複数集合した場合のデータ構造におけるICチップの動作]
先ず始めに、異なる大きさのデータが複数集合した場合のデータ構造(例えば、図2)におけるICチップの動作を説明する。
図5は、異なる大きさのデータが複数集合した場合のデータ構造におけるICチップの動作を示すフローチャートである。
まず、EEPROM4にデータ群の検証値と共に記憶されたデータを読込む場合には(例えば、図2において、データ群11のデータD(15)の読込み指示等)、CPU5は、データD(15)の値取得を開始する。
続いて、CPU5は、データD(15)が属するデータ群の検証値11aが正しいか否かを検証する(ステップS1)。具体的には、まず、検証値生成手段としてのCPU5は、データ群11の検証値を新たに生成する。そして、検証手段としてのCPU5は、先に記憶されているデータ群の検証値11aと新たに生成したデータ群11の検証値を比較することにより、データ群の検証値が正しいか否かを検証するようになっている。
データ群の検証値11aが正しい場合には(ステップS1:YES)、CPU5は他のデータの正当性について検証することなく、データD15のデータを読込む、すなわち、データD15の値を取得するために、各データへのオフセットを算出するようになっている。
具体的には、まず、データA(12)の情報からデータB(13)へのオフセット算出を行い(ステップS2)、データB(13)の情報からデータC(14)へのオフセット算出を行い(ステップS3)、データC(14)の情報からデータD(15)へのオフセット算出を行い(ステップS4)、データD(15)の値を取得出し処理を終了する。
一方、データ群の検証値11aが正しくない場合には(ステップS1:NO)、データ群11に属するデータ(データA(12)等)に対して、ユーザが意図しない不正な改竄等によって、そのデータの内容が変更された可能性がある。従って、CPU5は、データ群11に属する個々のデータについて、データの正当性を検証するようになっている。
具体的には、まず、CPU5は、データAの検証値(12a)が正しいか否かを検証する(ステップS10)。具体的には、上述したように、CPU5は、データA(12)の検証値を新たに生成し、先に記憶されているデータAの検証値12aと新たに生成したデータAの検証値を比較する。
そして、データAの検証値12aが正しい場合には(ステップS10:YES)、CPU5は、次に記憶されているデータB(13)のアドレスを算出するために、データA(12)の情報からデータB(13)へのオフセット算出をおこなう(ステップS11)。
一方、データAの検証値12aが正しくない場合には(ステップS10:NO)、ユーザが意図しない不正な改竄等によって、そのデータの内容が変更された可能性があるため、エラー処理として、処理を終了する。
次に、CPU5は、データBの検証値(13a)が正しいか否かを検証する(ステップS12)。検証する方法については上述したとおりである。そして、データBの検証値13bが正しい場合には(ステップS12:YES)、CPU5は、次に記憶されているデータC(14)のアドレスを算出するために、データB(13)の情報からデータC(14)のアドレスを算出するようになっている(ステップS13)。
一方、データBの検証値12aが正しくない場合には(ステップS12:NO)、エラー処理として、処理を終了する。
次に、CPU5は、データCの検証値(14a)が正しいか否かを検証する(ステップS14)。検証する方法については上述したとおりである。そして、データCの検証値13aが正しい場合には(ステップS14:YES)、CPU5は、次に記憶されているデータD(14)のアドレスを算出するために、データC(14)の情報からデータD(15)のオフセットを算出する(ステップS15)。
一方、データCの検証値14aが正しくない場合には(ステップS14:NO)、エラー処理として、処理を終了する。
次に、CPU5は、データDの検証値15aが正しいか否かを検証する(ステップS16)。そして、データDの検証値15aが正しい場合には(ステップS16:YES)、データD(15)の値を取得出し処理を終了する。
一方、データDの検証値15aが正しくない場合には(ステップS16:NO)、エラー処理として、処理を終了する。
[2.同一の大きさのデータが複数集合した場合のデータ構造におけるICチップの動作]
次に、同一の大きさのデータが複数集合した場合のデータ構造におけるICチップの動作を説明する。
図6は、同一の大きさのデータが複数集合した場合のデータ構造(例えば、図3)におけるICチップの動作を示すフローチャートである。
まず、EEPROM4にデータ群の検証値と共に記憶されたデータを読込む場合には(例えば、図3において、データ群31のデータD(25)の読込み指示等)、CPU5は、データD(25)の値取得を開始する。
具体的には、先ず、CPU5は、データD(25)へのオフセット値を算出する(ステップS21)。図3に示すように、各データ(データA(22)等)の大きさは同一であり、CPU5の指令によって、例えば、RAM3等に各データの大きさが保持(記憶)されている。
従って、任意のデータを読込む場合には、任意のデータの順番(データ番号)が指示されることにより、各データの大きさは既知であるため、任意のデータまでのオフセットを直接的に求めることができる。
換言すれば、システムが各データの大きさ(固定長)を保持しているため、読み出す対象のデータに達するまでに存在するデータの数に、各データの大きさを乗ずることにより、取得対象までのオフセットが求まることとなる。従って、読み出す対象のデータまでに存在するデータの情報からオフセットの算出をする必要がない。
図6の説明に戻り、次に、CPU5は、データD(25)が属するデータ群の検証値21aが正しいか否かを検証する(ステップS21)。具体的には、上述したように、検証値生成手段としてのCPU5は、データ群21の検証値を新たに生成する。そして、検証手段としてのCPU5は、先に記憶されているデータ群の検証値21aと新たに生成したデータ群21の検証値とを比較することにより、データ群の検証値が正しいか否か検証するようになっている。
この場合、上述したようにCPU5は、読み出す対象のデータまでのデータの情報からオフセットの算出をする必要が無いため、前記読み出す対象となるデータの正当性のみについて検証を行えばよい。
そして、データ群の検証値21aが正しい場合には(ステップS22:YES)、CPU5は、データD(15)の値を取得出し処理を終了する。
一方、データ群の検証値21aが正しくない場合には(ステップS22:NO)、データDの検証値(25a)が正しいか否かを検証する(ステップ31)。
この場合、データ群21に属する各データ(データA(22)等)に対して、ユーザが意図しない不正な改竄等によって、そのデータの内容が変更された可能性がある。また、システムは各データの大きさを保持しているため、読込む対象であるデータD(25)までのオフセットを直接的に求めることができる。従って、CPU5は、データDの正当性を検証するようになっている。
そして、データDの検証値(25a)が正しい場合には(ステップS31:YES)、データD(25)の値を取得出し処理を終了する。
一方、データDの検証値(25a)が正しくない場合には(ステップS31:NO)、エラー処理として、処理を終了する。
[3.同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造におけるICチップの動作]
次に、図7及び図8を用いて、同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造(例えば、図4)におけるICチップの動作を説明する。
図4に示すように、同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造では、同一の大きさのデータの集合部分(データA(32)及びデータB(33))と、異なる大きさのデータの集合部分(データC(34)及びデータD(35))とに分類されている。
従って、ICチップの動作は、同一の大きさのデータの集合部分に対する動作と、異なる大きさのデータの集合部分に対する動作とでは異なる動作を示す。
まず、同一の大きさのデータの集合部分に対する動作について説明する。
図7は、同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造において、同一のデータが集合する部分のICチップの動作を示すフローチャートである。
まず、EEPROM4にデータ群の検証値と共に記憶されたデータを読込む場合には(例えば、図5において、データ群31のデータB(33)の読込み指示等)、CPU5は、データB(33)の値取得を開始する。
具体的には、先ず、CPU5は、データB(33)へのオフセット値を算出する(ステップS41)。図4に示すように、この場合にはデータA(32)及びデータB(33)の大きさは同一であり、CPU5の動作により、上記図6の場合同様、データB(33)に達するまでに存在するデータの数に、各データの大きさを乗ずることにより、取得対象までのオフセットが求まることとなる。従って、CPU5は、直接的にデータB(33)へのオフセット値を算出することができる。
図7の説明に戻り、次に、CPU5は、データB(33)が属するデータ群の検証値31aが正しいか否かを検証する(ステップS41)。検証方法については上述した方法と同様であり、具体的には、CPU5は、データ群31の検証値を新たに生成し、CPU5はさらに、先に記憶されているデータ群の検証値31aと新たに生成したデータ群31の検証値とを比較することにより、データ群の検証値が正しいか否か検証する。
そして、データ群の検証値31aが正しい場合には(ステップS42:YES)、CPU5は、データB(33)の値を取得出し処理を終了する。
一方、データ群の検証値21aが正しくない場合には(ステップS42:NO)、データBの検証値(33a)が正しいか否かを検証する(ステップ51)。
そして、データBの検証値(33a)が正しい場合には(ステップS51:YES)、データB(33)の値を取得出し処理を終了する。
一方、データBの検証値(33a)が正しくない場合には(ステップS51:NO)、エラー処理として、処理を終了する。
異なる大きさのデータの集合部分に対する動作について説明する。
図8は、同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造において、異なる大きさのデータが集合する部分のICチップの動作を示すフローチャートである。
まず、EEPROM4にデータ群の検証値と共に記憶されたデータを読込む場合には(例えば、図5において、データ群31のデータD(35)の読込み指示等)、CPU5は、データD(35)の値取得を開始する。
続いて、CPU5は、データC(34)へのオフセット値を算出する。上述した通り、データA(32)及びデータB(33)の大きさは同一であり、CPU5の動作により、上記図6の場合同様、データC(34)に達するまでに存在するデータの数に、各データの大きさを乗ずることにより、取得対象までのオフセットが求まることとなる。
従って、CPU5は、直接的にデータC(34)へのオフセット値を算出することができる。
次に、CPU5は、データD(35)が属するデータ群の検証値31aが正しいか否かを検証する(ステップS61)。検証方法については上述した方法と同様である。
そして、データ群の検証値31aが正しい場合には(ステップS62:YES)、CPU5は他のデータの正当性について検証することなく、データD35のデータを読込む、すなわち、データD35aの値を取得するために、各データへのオフセットを算出するようになっている。
具体的には、まず、データC(34)の情報からデータD(35)へのオフセット算出(ステップS63)を行うことにより、データD(35)の値を取得出し処理を終了する。
一方、データ群の検証値11aが正しくない場合には(ステップS62:NO)、CPU5は、データCの検証値34aが正しいか否かを検証する(ステップS71)。
具体的には、上述したように、CPU5は、データC(34)の検証値を新たに生成し、先に記憶されているデータCの検証値34aと新たに生成したデータCの検証値を比較する。
データCの検証値34aが正しくない場合には(ステップS71:NO)、ユーザが意図しない不正な改竄等によって、そのデータの内容が変更された可能性があるため、エラー処理として、処理を終了する。
一方、データCの検証値34aが正しい場合には(ステップS71:YES)、CPU5は、次に記憶されているデータD(35)のアドレスを算出するために、データC(34)の情報からデータD(35)へのオフセット算出を行う(ステップS72)。
次いで、データDの検証値35aが正しいか否かを検証する(ステップS73)。そして、データDの検証値35aが正しい場合には(ステップS73:YES)、データD(35)の値を取得出し処理を終了する。
一方、データDの検証値35aが正しくない場合には(ステップS73:NO)、エラー処理として、処理を終了する。
以上説明したように、本実施形態においては、CPU5は、EEPROM4等に記憶された検証値11aを含むデータ等が複数集合したデータ群11に対して、データ群11についての検証値11aを生成し、記憶する。そして、データ群11の何れかのデータが読み出される際に、データ群11の正当性について検証するようになっている。
従って、読み出す対象となるデータの正当性を確認する前に、データ群全体に対する正当性の確認をすることができるため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
また、CPU5は、前記データ群の正当性が無いと判断された場合には、読み出す対象となる前記データまでに配列される各データの正当性について検証を行うようになっている。
従って、必要に応じて読み出す対象となるデータの正当性を確認するため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
また、CPU5は、前記データ群の正当性があると判断された場合には、読み出す対象となる前記データまでに配列される各データの正当性について検証せずに前記データを読み出すようになっている。
従って、必要に応じて読み出す対象となるデータの正当性を確認するため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
また、データ12等が全て同一の大きさであった場合には、CPU5は、データ群11等の正当性がないと判断された場合であっても、CPU5は、読み出す対象となるデータの正当性のみについて検証を行うようになっている。
従って、読み出す対象となるデータの正当性のみについて検証を行うため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
また、データ群11等に同一の大きさのデータ12等が少なくとも2以上含まれている場合には、CPU5は、読み出す対象となるデータまでに前記同一の大きさのデータが配列される場合には、前記同一の大きさのデータの正当性について検証しないようになっている。
従って、必要最小限のデータのみについて正当性の検証を行うため、効率よく、かつ迅速に記憶領域に記憶されたデータの正当性を確認することができる。
なお、上記実施形態においては、本願をICチップに対して適用した場合の例を示したが、その他にも例えば、パーソナルコンピュータ又は家庭用等の電子機器等に対しても適用可能である。
ICチップSの全体構成例を示すブロック図である。 異なる大きさ(データサイズ)のデータが複数集合した場合のデータ構造を示す概念図である。 同一の大きさのデータが複数集合した場合のデータ構造を示す概念図である。 同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造を示す概念図である。 異なる大きさのデータが複数集合した場合のデータ構造におけるICチップの動作を示すフローチャートである。 同一の大きさのデータが複数集合した場合のデータ構造(例えば、図3)におけるICチップの動作を示すフローチャートである。 同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造において、同一のデータが集合する部分のICチップの動作を示すフローチャートである。 同一の大きさのデータと異なる大きさのデータが複数集合した場合のデータ構造において、異なる大きさのデータが集合する部分のICチップの動作を示すフローチャートである。
符号の説明
1 I/Oインターフェース
2 ROM
3 RAM
4 EEPROM
5 CPU
S ICチップ

Claims (8)

  1. 検証値を含むデータが複数集合したデータ群が記憶される記憶部を有するICチップにおいて、
    前記データ群についての検証値を生成する検証値生成手段と、
    前記生成された検証値を記憶する記憶手段と、
    前記データ群の正当性について検証する検証手段とを備え、
    前記データ群のうち何れかの前記データが読み出される際に、
    前記検証値生成手段は前記データ群についての検証値を新たに生成し、
    前記検証手段は、前記記憶された検証値と前記新たに生成された検証値を比較することにより、前記データ群の正当性について検証することを特徴とするICチップ。
  2. 請求項1に記載のICチップにおいて、
    前記データ群の正当性が無いと判断された場合には、
    前記検証手段は、読み出す対象となる前記データまでに配列される各データの正当性について検証を行うことを特徴とするICチップ。
  3. 請求項1又は2に記載のICチップにおいて、
    前記データ群の正当性があると判断された場合には、
    読み出す対象となる前記データまでに配列される各データの正当性について検証せずに前記データを読み出すことを特徴とするICチップ。
  4. 請求項1に記載のICチップにおいて、
    前記データは全て同一の大きさであり、
    前記データ群の正当性がないと判断された場合であっても、
    前記検証手段は、前記読み出す対象となるデータの正当性のみについて検証を行うことを特徴とするICチップ。
  5. 請求項1に記載のICチップにおいて、
    前記データ群には同一の大きさのデータが少なくとも2以上含まれ、
    前記検証手段は、前記読み出す対象となるデータまでに前記同一の大きさのデータが配列される場合には、前記同一の大きさのデータの正当性について検証しないことを特徴とするICチップ。
  6. 検証値を含むデータが複数集合するデータ群が記憶される記憶部を有するICチップにおけるデータ読出し方法において、
    前記データ群についての検証値を生成する検証値生成工程と、
    前記生成された検証値を記憶する記憶工程と、
    前記データ群の正当性について検証する検証工程とを有し、
    前記データ群のうち何れかの前記データが読み出される際に、
    前記検証値生成工程は前記データ群についての検証値を新たに生成し、
    前記検証工程は、前記記憶された検証値と前記新たに生成された検証値を比較することにより、前記データ群の正当性について検証することを特徴とするICチップにおけるデータ読出し方法。
  7. 検証値を含むデータが複数集合するデータ群が記憶される記憶部を有するICチップ含まれるコンピュータを、
    前記データ群についての検証値を生成する検証値生成手段、
    前記生成された検証値を記憶する記憶手段、
    前記データ群の正当性について検証する検証手段とを備え、
    前記コンピュータによって、前記データ群のうち何れかの前記データが読み出される際に、
    前記検証値生成手段は前記データ群についての検証値を新たに生成し、
    前記検証手段は、前記記憶された検証値と前記新たに生成された検証値を比較することにより、前記データ群の正当性について検証することを特徴とするデータ読出しプログラム。
  8. 請求項7に記載のデータ記憶プログラムがコンピュータ読み取り可能に記録されていることを特徴とする記録媒体。
JP2008222495A 2008-08-29 2008-08-29 Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等 Active JP5233521B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008222495A JP5233521B2 (ja) 2008-08-29 2008-08-29 Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008222495A JP5233521B2 (ja) 2008-08-29 2008-08-29 Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等

Publications (2)

Publication Number Publication Date
JP2010055549A true JP2010055549A (ja) 2010-03-11
JP5233521B2 JP5233521B2 (ja) 2013-07-10

Family

ID=42071357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008222495A Active JP5233521B2 (ja) 2008-08-29 2008-08-29 Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等

Country Status (1)

Country Link
JP (1) JP5233521B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014069489A (ja) * 2012-09-28 2014-04-21 Brother Ind Ltd リフィル検知機能を有する画像形成装置、及びリフィル検知方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06180716A (ja) * 1992-12-14 1994-06-28 Nec Corp 時系列データ管理装置
JPH06209097A (ja) * 1992-08-17 1994-07-26 Philips Electron Nv X線画像検出器
JPH10289523A (ja) * 1997-04-10 1998-10-27 Fujitsu Ltd データ保存装置及びデータ保存方法
JP2002108811A (ja) * 2000-07-24 2002-04-12 Sony Corp データ処理装置およびデータ処理方法、並びにプログラム提供媒体
JP2005149416A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置及びその交換部品
JP2006072655A (ja) * 2004-09-01 2006-03-16 Matsushita Electric Ind Co Ltd Icカード、データ出力方法、及びデータ格納方法
JP2007257566A (ja) * 2006-03-27 2007-10-04 Fujitsu Ltd ハッシュ値生成プログラム及びストレージ管理プログラム並びにストレージシステム
JP2008146343A (ja) * 2006-12-08 2008-06-26 Dainippon Printing Co Ltd Icカード、および、更新プログラムの呼出し方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06209097A (ja) * 1992-08-17 1994-07-26 Philips Electron Nv X線画像検出器
JPH06180716A (ja) * 1992-12-14 1994-06-28 Nec Corp 時系列データ管理装置
JPH10289523A (ja) * 1997-04-10 1998-10-27 Fujitsu Ltd データ保存装置及びデータ保存方法
JP2002108811A (ja) * 2000-07-24 2002-04-12 Sony Corp データ処理装置およびデータ処理方法、並びにプログラム提供媒体
JP2005149416A (ja) * 2003-11-19 2005-06-09 Fuji Xerox Co Ltd 画像形成装置及びその交換部品
JP2006072655A (ja) * 2004-09-01 2006-03-16 Matsushita Electric Ind Co Ltd Icカード、データ出力方法、及びデータ格納方法
JP2007257566A (ja) * 2006-03-27 2007-10-04 Fujitsu Ltd ハッシュ値生成プログラム及びストレージ管理プログラム並びにストレージシステム
JP2008146343A (ja) * 2006-12-08 2008-06-26 Dainippon Printing Co Ltd Icカード、および、更新プログラムの呼出し方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014069489A (ja) * 2012-09-28 2014-04-21 Brother Ind Ltd リフィル検知機能を有する画像形成装置、及びリフィル検知方法

Also Published As

Publication number Publication date
JP5233521B2 (ja) 2013-07-10

Similar Documents

Publication Publication Date Title
US7302572B2 (en) Portable information storage medium and its authentication method
EP4187466A1 (en) Systems and methods for point-to-point encryption compliance
US8195946B2 (en) Protection of data of a memory associated with a microprocessor
US20060219796A1 (en) Integrated circuit chip card capable of determining external attack
JPH0440587A (ja) 携帯可能電子装置
JPS62190584A (ja) 携帯可能電子装置
KR20140140552A (ko) 자산 보관 및 이체 시스템에서의 외부 로그 저장소
JP5233521B2 (ja) Icチップ、データ読出し方法、データ読出しプログラム及び記録媒体等
KR20220035318A (ko) 비접촉식 카드를 사용하여 검증된 리뷰
US20140289874A1 (en) Integrated circuit (ic) chip and method of verifying data thereof
JP5259507B2 (ja) 携帯可能電子装置、および、携帯可能電子装置におけるデータ処理方法
US11151338B2 (en) Securing a transaction by means of a smart card and smart card
BR102017028336A2 (pt) suporte de gravação, processo de controle de hábitos de utilização e dispositivo eletrônico com capacidade para implantar tal processo
JPH10198776A (ja) 携帯可能情報記録媒体およびこれに対する情報書込/読出方法
US20090024887A1 (en) Semiconductor storage device, data write method and data read method
JP4836707B2 (ja) 携帯可能電子装置およびicカード
JP4950730B2 (ja) 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード
US7806319B2 (en) System and method for protection of data contained in an integrated circuit
JP5786702B2 (ja) セキュリティトークン、セキュリティトークンにおける命令の実行方法及びコンピュータプログラム
ES2895493T3 (es) Copia de seguridad de datos de histórico en un dispositivo destinado a procesar transacciones
CN106484477A (zh) 安全的软件下载与启动方法
JP2007011591A (ja) 携帯可能電子装置およびicカード
JP5293113B2 (ja) 半導体装置、半導体装置の制御方法および半導体装置の制御プログラム
JP6610002B2 (ja) 演算装置、演算方法、及び演算処理プログラム
JP2013222348A (ja) Icカード及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5233521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3