JPWO2003065225A1 - メモリデバイス、端末装置及びデータ修復システム - Google Patents
メモリデバイス、端末装置及びデータ修復システム Download PDFInfo
- Publication number
- JPWO2003065225A1 JPWO2003065225A1 JP2003564748A JP2003564748A JPWO2003065225A1 JP WO2003065225 A1 JPWO2003065225 A1 JP WO2003065225A1 JP 2003564748 A JP2003564748 A JP 2003564748A JP 2003564748 A JP2003564748 A JP 2003564748A JP WO2003065225 A1 JPWO2003065225 A1 JP WO2003065225A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- inspection information
- inspection
- memory device
- memory
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
データとデータの破損を検査するための検査情報とを管理するサーバ10と、サーバ10から前記データと検査情報とを取得する端末装置20と、端末装置20が取得したデータを非耐タンパ性のメモリ領域31に格納し、検査情報を耐タンパ性のメモリ領域32に格納するメモリデバイス30とで構成する。メモリデバイス30は、検査情報を用いてデータ破損が生じているデータを検出し、端末装置20は、検出されたデータをサーバ10から取得し、メモリデバイス30は、端末装置20が取得したデータを用いてデータ破損を修復する。これにより、メモリデバイス30の蓄積効率を高くすることができ、また、修復用の正常データをサーバ10から取得する際のデータ通信時間を短くすることができる。
Description
技術分野
本発明は、ダウンロードしたデータの破損箇所を修復する修復システムと、そのシステムを構成するメモリデバイス及び端末装置に関し、特に、メモリデバイスに記録されたデータを効率的に修復できるようにするものである。
背景技術
従来から、端末装置の処理を規定するプログラムなどのデータを、サーバからネットワークを通じて端末装置にダウンロードすることは広く行われている。端末装置の記憶手段に格納されたデータは、ダウンロード時の送信異常や、ハード装置の故障、ウィルスによるデータ消失、外部からの攻撃による破壊など、様々な原因で破損する場合がある。
こうしたデータの破損は、サーバがデータとともに伝送したチェックサムなどの検査情報と、記憶手段に格納したデータから計算したチェックサムとの一致を検査することにより発見できる。
蓄積したデータを外部からの破壊や改竄から守る必要がある場合は、ICカードなどの耐タンパ性(外部からの攻撃に対する耐性)を備えた記憶手段にデータを格納することが行われている。耐タンパ性は、ダミー回路を設けたり、処理時間を一定時間内に制限したり、熱や電磁波の影響を受けない構造にしたりして実現される。
また、破損してしまったデータを修復する方法として、特開平4−340150号公報には、データの異常を発見した場合に、端末装置がサーバにダウンロード要求を発し、サーバから改めてプログラムデータのダウンロードを受ける方式が記載されている。
また、特開平11−184705号公報には、端末装置が第1及び第2の記憶手段を持ち、ダウンロードされたデータをこれらの記憶手段の双方に重複して格納し、第1の記憶手段で記憶するデータが破損した場合に、第2の記憶手段で記憶するデータを第1の記憶手段に上書きする方式が記載されている。
しかし、耐タンパ性の記憶装置は、コストが高く、また、多くの記憶容量を確保することができない。そのため、データ量の多い音楽データなどを蓄積することは不可能である。
また、データの破損が発見された際にサーバから改めてデータのダウンロードを受ける方式では、そのダウンロードのために多くの通信時間が必要になると言う問題点がある。
また、データを重複して保持する方式では、端末装置が多くの記憶容量を備えた記憶手段を持たなければならないと言う問題点がある。
また、近年は携帯端末による、物品やエンタテイメントコンテンツデータの購入、ネットバンキングなどのEC(電子商取引)が浸透し始めている。また、アドレス帳やスケジュール管理の用途としても用いられている。これらの情報をネットワーク上のサーバで管理することも可能であるが、情報を取り出すまでにかかるタイムラグや、ネットワーク障害時に必要な情報にアクセスできない場合があるという問題をかかえることになる。よって、これらの情報を含めて、携帯端末で取り扱うデータの記憶媒体として、すぐにアクセス可能で、十分な容量を持つカードデバイスの需要は大きい。しかし、同時に、カードデバイスの情報が破損した際に、確実にかつ少ないコスト(時間含む)で情報を修復できないと、それらの情報の処理にとって障害となるばかりではなく、ユーザに対して不利益を与え、新しいサービスの普及にとって大きな妨げとなってしまう。また、新しいサービスが拡大して行かないことは、IT(Information Technology)技術そのものの発展にとっても妨げとなる。
発明の開示
本発明の目的は、破損したデータの修復を効率的に行うことができるデータ修復システムと、そのシステムを実現するメモリデバイス及び端末装置を提供することである。
この目的は、耐タンパ性のメモリ領域と非耐タンパ性のメモリ領域とをメモリデバイスに設け、非耐タンパ性のメモリ領域にデータを格納し、耐タンパ性のメモリ領域に前記データの破損の検査に用いる検査情報を格納することにより達成される。
発明を実施するための最良の形態
以下、本発明の実施の形態について、図面を用いて説明する。なお、本明細書においてデータの破損とは、データが本来のデータから変化したり、データが欠落したりしたものを言う。
(実施の形態1)
本発明の実施形態1におけるデータ修復システムは、図1に示すように、ダウンロードの対象のデータを管理するサーバ10と、サーバ10との伝送路を確保してダウンロードされるデータを受信する端末20と、端末20に装着されてダウンロードしたデータを記憶するメモリデバイス30とで構成される。
ダウンロード対象のデータは、ユーザによるデータの変更を許さないプログラムデータや音楽データ、地図データなどの不変データである。サーバ10は、これらのデータを複数のブロックに分割して、各ブロックに、そのブロックのデータに対する検査情報(ハッシュ値、チェックサム、CRC(Cyclic Redundancy Check)、署名など)を生成し、そのデータ本体と検査情報とを保持・管理する。そして、端末20からデータの要求があると、そのデータのデータ本体と検査情報とを端末20にダウンロードする。
図3は、検査情報の一例を示している。この検査情報には、データのファイル名と、データ取得先のサーバ名やURL(Uniform Resource Locator)、データ発行会社名などを表す発行元の情報と、ファイルサイズと、各ブロックのブロックサイズと、各ブロックのハッシュ値とが含まれている。
メモリデバイス30は、メモリカード等と称せられる記憶媒体であり、フラッシュメモリ等から成るメモリ31と、メモリ31へのデータの書き込み/読み出しを制御するメモリコントローラ32とを備えている。メモリコントローラ32は、耐タンパ性を備えているが、メモリ31は非耐タンパである。サーバ10からダウンロードされたデータの内、データ本体はメモリデバイス30のメモリ31の領域に格納され、検査情報はメモリコントローラ32に格納される。
図2は、メモリデバイス30のハード構成を示している。メモリコントローラ32は、メモリデバイス30の動作を制御するCPU(Central Processing Unit)323と、CPU323が作業領域として使用するRAM(Random Access Memory)322と、CPU323の動作を規定するプログラムが格納されたROM(Read Only Memory)321と、EEPROM(Electrically Erasable Programmable Read Only Memory)等から成る耐タンパ性を有する内部不揮発性メモリ324と、端末20との間でデータを入出力する入出力部(I/O)325と、メモリ31との間のI/O326とを備えている。
図5は、メモリデバイス30におけるデータ処理を模式的に示している。メモリコントローラ32は、メモリ31にデータ本体を書き込み、内部不揮発性メモリ324に検査情報を書き込む書込部327と、検査情報を用いてデータ本体の破損を検出する検査部328と、メモリ31に格納されたデータ本体を外部に読み出す読出部329とを備えている。この書込部327、検査部328及び読出部329の各機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
サーバ10からダウンロードしたデータをメモリデバイス30に書き込む場合、端末20は、サーバ10から取得したデータ本体と検査情報とを書き込み要求とともにメモリデバイス30に出力する。
書込部327は、図6のフロー図に示すように、
ステップST1:各ブロックのハッシュ情報を含む検査情報を内部不揮発性メモリ324に書き込む。
ステップST2:ファイルのデータ本体をメモリ31に書き込む。
この書き込み処理が終了すると、書込部327は、端末20に書き込み完了通知を出力する。
また、メモリデバイス30からデータを読み出す場合は、読み出すべきデータの破損の有無が検査される。この場合、端末20からメモリデバイス30に、選択したファイルのデータ破損の検査要求が入力し、検査部328は、図8のフロー図に示す処理を行う。
ステップST10:内部不揮発性メモリ324から検査情報を読み出し、その中の“ブロックサイズ”の情報を基に各ブロックの範囲を確認し、メモリ31に格納されたデータ本体の着目するブロックのデータに対するハッシュ値を計算する。
ステップST11:算出したハッシュ値と、検査情報に含まれる該当するブロックのハッシュ値とを比較し、それらが一致しないときは、ステップST13に進む。
ステップST13:そのブロック位置を特定する情報とブロックサイズと発行元の情報とを含むエラー報告を作成し、このエラー報告を検査結果として端末20に出力する。
また、ステップST11において、算出したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST12に進む。
ステップST12:最終ブロックに達するまで、順次ブロックを変えてステップST10以下の処理を繰り返し、最終ブロックに達した場合は検査処理を終了して、“正常”を表す検査結果を端末20に出力する。
エラーの検査結果を受けた端末20は、破損データを含むブロックのデータをサーバ10から取得し、メモリデバイス30は、これを用いてメモリ31のデータを修復する。図9は、このデータ修復処理の手順を模式的に示している。このメモリデバイス30のメモリコントローラ32は、内部不揮発性メモリ324及び検査部328の他に、メモリ31に格納されたデータを修復する修正部330を備えている。この修正部330の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
端末20から破損データの検査要求が入力すると(1)、メモリデバイス30の検査部328は、図8の手順により、データ破損が生じているブロック位置を特定する情報、ブロックサイズ及び発行元情報を含むエラー報告を検査結果として端末20に出力する(2)。
端末20は、このエラー報告をトリガーとして、データ破損が生じているブロックのデータを発行元のサーバ10に要求する。サーバ10は、管理するデータの中から、該当するブロックのデータ本体を読み出して端末20にダウンロードする(3)。
図10は、この模様を模式的に示している。端末20は、メモリデバイス30から受信した発行元(URL)、破損データを含むブロック位置、ブロックサイズを基に、サーバ10に対して、破損データを含むブロックの正常データ(部分データ)を要求する(▲1▼)。サーバ10は、検査情報を参照し、要求された部分データを端末20に返送する(▲2▼)。このように、サーバ上のファイルの特定位置から特定サイズ分の情報を取得することは既知の技術であり、既存のFTP(File Transfer Protocol)や、HTTP(Hypertext Transfer Protocol)サーバにおいても行われている。
修正すべきブロックのデータ本体を取得した端末20は、このデータ本体と修正すべきブロックを指定する情報とを含む部分修正情報を作成して、修正要求とともにメモリデバイス30に出力する(4)。
部分修正情報を受信したメモリデバイス30の修正部330は、図11に示す手順でデータの修復を実行する。
ステップST20:部分修正情報に含まれるブロックのデータ本体のハッシュ値を計算する。
ステップST21:算出したハッシュ値と、内部不揮発性メモリ324に格納された検査情報に含まれる該当するブロックのハッシュ値とを比較する。それらが一致しないときは、ステップST24に進む。
ステップST24:端末20にそのブロックのデータ本体を再取得するように促す“再書き込み用前処理”を行い、データ本体が再取得された場合に、ステップST20からの手順を繰り返す。
また、ステップST21において、算出したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST22に進む。
ステップST22:そのデータ本体をメモリ31に上書きする。
ステップST23:部分修正情報の中に他のブロックのデータ本体が含まれている場合は、ステップST20以降の手順を繰り返し、部分修正情報の中に書きむべきデータ本体が無くなれば修復処理を終了する。
こうしてデータの修復処理が終了すると、修正部330は、端末20に修正完了通知を出力する(5)。
データが修復された場合、検査部328の検査結果は“正常”になる。
端末20がメモリデバイス30から“正常”の検査結果を得たファイルデータの読み出しを要求すると、メモリデバイス30の読出部329は、メモリ31から該当するデータ本体を読み出して端末20に出力する。
また、端末20がメモリデバイス30に、データ破損の検査を経ずに、ファイルデータの読み出しを要求した場合には、読出部329から検査部328に対して、読み出そうとする各ブロックのデータ破損についての検査要求が出され、“正常”の検査結果が得られたブロックのデータが順次読み出される。図12のフロー図は、この読み出し処理の動作を示している。
ステップST30:ファイルデータの読み出し要求を受けた読出部329は、要求されたファイル名を検査部328に伝えて、ファイルデータの破損の検査を要求する。
読出部329から検査要求を受けた検査部328は、内部不揮発性メモリ324から該当するファイルの検査情報を読み出し、ブロックサイズから各ブロックの範囲を確認して、メモリ31に格納されたデータ本体の着目するブロックのデータに対するハッシュ値を計算する。
ステップST31:算出したハッシュ値と、検査情報に含まれる該当するブロックのハッシュ値とを比較する。それらが一致しないときは、ステップST34に進む。
ステップST34:そのブロック位置を特定する情報とブロックサイズと発行元の情報とを含むエラー報告を作成し、このエラー報告を検査結果として読出部329に出力する。エラー報告を受けた読出部329は、エラー報告を端末20に出力する。
また、ステップST31において、計算したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST32に進む。
ステップST32:検査部328は、ブロック位置を特定する情報と、そのブロックが“正常”であることを表す情報とを検査結果に含めて読出部329に伝え、読出部329は、そのブロックのデータ本体をメモリ31から読み出す。
ステップST33:指定されたファイルの最終ブロックに達するまで、順次ブロックを変えてステップST30以下の処理を繰り返し、最終ブロックに達した場合は読み出し処理を終了する。
また、読出部329からエラー報告を受けた端末20は、このエラー報告をトリガーとして、データ破損が生じているブロックのデータ本体を発行元のサーバ10から取得し、メモリデバイス30は、それを用いてデータの修復処理を行う。この処理は、図9及び図11で示したものと同じである。そして、修復されたデータの検査結果は“正常”となり、読出部329は、修復されたデータ本体をメモリ31から読み出す。
この読み出し処理では、検査結果が“正常”と判定されたブロックのデータ本体を直ぐに読み出しているため、検査終了からデータ読み出しの間にデータ破損が発生する可能性をゼロにすることができる。
このように、このデータ修復システムでは、メモリデバイスに蓄積したデータが破損しているとき、正常データを外部から取得して修復しているため、バックアップ用のデータを重複して保持する場合に比べて、メモリデバイスの蓄積効率を高めることができる。また、検査情報の生成単位を、データ全体ではなく、ブロック単位としているため、データ破損個所を小さな範囲に限定することができ、修復用の正常データを外部から取得する際のデータ通信時間を短縮することができる。
また、この検査情報をメモリデバイスの耐タンパ性の蓄積領域に格納し、データ本体をメモリデバイスの非タンパ性の蓄積領域に格納しているため、ICカードのように全ての情報を耐タンパ性の蓄積領域に格納する場合に比べて、メモリデバイスの構成を簡素化することができ、低コストでの製造が可能になる。また、耐タンパ性の蓄積領域に格納した検査情報は、データ破壊や改竄から守ることができるため、データ本体が破損した場合でも、この検査情報を用いてデータ破損を確実に検出することができ、正常データを外部から取得して完全に修復することができる。
なお、図3では、ファイル名を含む検査情報の例を示したが、図4に示すように、検査情報にファイル名を含めないことも可能である。この場合、発行元の情報としてファイル取得先のURLを表すようにすれば、ファイルごとにURLが異なり、URLでファイルが特定できるので、検査情報へのファイル名の記述が不要になる。
また、検査情報で各ブロックのデータ本体を格納するメモリデバイスのメモリ領域を指定し、図4に示すように、そのメモリ領域を表すブロック番号と、そのメモリ領域に格納するデータ本体のハッシュ値とを対応付けて検査情報に記述するようにすれば、メモリデバイス30の検査部328がメモリ31に格納されたデータ本体の破損をチェックする場合に、その処理が容易になる。
また、図6では、サーバ10からダウンロードしたデータをメモリデバイス30に取り敢えず書き込み、読み出し時にデータ破損を検出する場合の書き込み手順について示しているが、データの書き込み時にデータ破損をチェックし、正常なデータを書き込むようにすることも可能である。この場合、図5の書込部327及び検査部328により、図7のフロー図に示す書き込み処理が行われる。
ステップST40:メモリデバイス30の書込部327は、各ブロックのハッシュ情報を含む検査情報を内部不揮発性メモリ324に書き込み、ステップST41に進む。
ステップST41:一つのブロックのデータ本体をメモリ31に書き込む。
ステップST42:検査部328は、このブロックのデータ本体のハッシュ値を計算し、ステップST43に進む。
ステップST43:算出したハッシュ値と、内部不揮発性メモリ324に格納した検査情報に含まれる該当するブロックのハッシュ値とを比較する。それらが一致しないときは、ステップST45に進む。
ステップST45:端末20にそのブロックのデータ本体を再取得するように促し、また、再取得したデータ本体の書き込み位置を元のデータ本体が書き込まれていたメモリ31上の位置から変更する“再書き込み用前処理”を行い、データ本体が再取得された場合に、ステップST41からの手順を繰り返す。なお、データ本体の書き込み位置の変更は、データ破損の生じたメモリ領域が、物理的に壊れている可能性があり、そのための措置である。
また、ステップST43において、算出したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST44に進む。
ステップST44:そのブロックが最終ブロックであるか否かを識別し、最終ブロックでなければ、ステップST41以降の手順を繰り返し、最終ブロックであれば、書き込み処理を終了する。
書き込み処理が終了すると、書込部327は、端末20に書き込み完了通知を出力する。こうした処理により、データ破損を含まないデータ本体の書き込みが保証され、データ読み出し時の検査において、データ破損が発生する割合を低減することができる。
また、ここでは、端末が、メモリデバイスからエラー報告を受けて、データ破損を含むブロックデータの再取得を実行しているが、これは、メモリデバイスが、端末に対して、データの発行元とブロック位置とを指定して発行元への配信要求命令を出し、端末がその命令に従って発行元からデータを再取得する、と言う形態であっても良い。
また、このデータ修復システムでは、検査情報の生成単位をブロック単位とし、データ破損個所を小さな範囲に限定しているため、データが破損したブロックの情報を収集、解析して有益な情報を得ることができる。
サーバは、各端末からデータ復旧のために要求されたブロックの統計情報から次のような解析が可能である。
固定データの同一個所の破損が多数のユーザで発生する場合は、▲1▼プログラムのバグによるデータ破壊の可能性がある。▲2▼データ(例えば、音楽ファイルなど)の不正利用方法が流布している可能性がある。
また、プログラムの同一個所の破損が多数のユーザで発生する場合は、▲1▼ウィルスによるプログラム改竄の可能性がある。▲2▼プログラム不正改造方法が流布している可能性がある。
また、同一ユーザによる修正が頻発する場合は、メモリデバイスのハードウェアが故障している可能性があり、この解析結果を基に、メモリデバイスの修理や交換を勧める情報を端末に送るなどのサービスが可能になる。
また、端末は、メモリデバイスからのエラー報告の回数が閾値を越えた場合、あるいは、一定時間内に閾値を越えるエラー報告を受けた場合に、メモリデバイスのハードウェア故障や外部からの攻撃の可能性があるものと見て、▲1▼メモリデバイスからのエラー報告の受付を停止する、▲2▼エラー報告のサーバへの送出を停止する、▲3▼サーバからの修復データの取得を停止する、▲4▼メモリデバイスを交換する、等の措置を取ることができる。
また、端末は、メモリデバイスの利用回数が閾値を越えた場合、メモリデバイスの寿命が尽きる前に、新しいメモリデバイスにデータを移し変える措置を取ることもできる。
また、データ破損の頻度により、メモリデバイス自身がデータ修復の自律機能を停止するようにしても良い。自律機能の停止とは、書込部327、検査部328、読出部329などの、データ取得や読み出しに必要なメモリデバイス内の全部または一部の諸機能を停止させることである。自律機能停止の条件は、データ破損の検出回数が閾値を越えた場合、あるいは、一定期間内に閾値を越えるデータ破損を検出した場合などであり、停止の形態は、▲1▼一定期間(一定周期)停止する、▲2▼次回のリセットまで停止する、▲3▼完全停止する(この場合、専門業者に依頼して機能回復を図る)、などである。
(実施の形態2)
実施の形態2では、暗号化されたデータ本体をメモリデバイスに格納するデータ修復システムについて説明する。
このメモリデバイスは、図13に示すように、メモリコントローラ32が、暗号化データを復号化する暗号コプロセッサ331を備えている。その他の構成は実施の形態1(図2)と変わりがない。
図14は、このメモリデバイス30におけるデータ処理を模式的に示している。メモリコントローラ32は、書込部327、検査部328、読出部329及び内部不揮発性メモリ324の他に、暗号化データを復号化する復号部332を備えている。この復号部332の機能は、暗号コプロセッサ331により実現される。
このシステムのサーバ10は、ファイルデータを暗号化した後、複数のブロックに分割し、各ブロックのデータに対する検査情報(ハッシュ値、チェックサム、CRC、署名など)を生成して、その暗号化データと検査情報とを保持・管理する。そして、端末20からデータの要求があると、暗号化データと検査情報とを端末20にダウンロードする。
端末20は、サーバ10から取得した暗号化データと検査情報とを書き込み要求とともにメモリデバイス30に出力する。
メモリコントローラ32の書込部327は、図6または図7に示す手順で、検査情報を内部不揮発性メモリ324に、また、暗号化データをメモリ31に書き込む。
メモリコントローラ32の検査部328は、暗号化データの破損を検査する場合、メモリ31に格納された各ブロックの暗号化データのハッシュ値を計算し、算出したハッシュ値と、内部不揮発性メモリ324に格納された検査情報に含まれる該当するブロックのハッシュ値とを比較する。そして、それらが一致するときは“正常”の検査結果を出力し、不一致であるときはエラー報告を出力する。
また、メモリデバイス30に格納されたデータを読み出す場合は、検査部328の検査結果が“正常”であるブロックの暗号化データが復号部332で復号化され、読出部329から読み出される。
その他の動作は実施の形態1と変わりがない。
また、図15は、データを暗号化する場合の他の形態を示している。
このシステムのサーバ10は、ファイルデータを複数のブロックに分割し、各ブロックのデータに対する検査情報を生成した後、各ブロックのデータを暗号化し、その暗号化データと検査情報とを保持・管理する。そして、端末20からデータの要求があると、暗号化データと検査情報とを端末20にダウンロードする。
端末20は、サーバ10から取得した暗号化データと検査情報とを書き込み要求とともにメモリデバイス30に出力する。
メモリコントローラ32の書込部327は、図14の場合と同様に、検査情報を内部不揮発性メモリ324に、また、暗号化データをメモリ31に書き込む。
メモリコントローラ32の検査部328は、暗号化データの破損を検査する場合、メモリ31に格納された各ブロックの暗号化データを復号部332で復号化し、得られたデータのハッシュ値を計算して、検査情報に含まれる該当するブロックのハッシュ値と比較する。そして、それらが一致するときは“正常”の検査結果を出力し、不一致であるときはエラー報告を出力する。
また、読出部329は、検査部328の検査結果が“正常”である場合にだけ、復号部332で復号化されたデータを外部に読み出す。
その他の動作は実施の形態1と変わりがない。
このように、図14では、暗号化したデータの検査情報を用いてデータ破損を検査し、図15では、復号化したデータの検査情報を用いてデータ破損を検査しているが、いずれの場合でも、暗号化データを復号化して読み出すには、必ず検査部の検査手順を通らなければならない。
このシステムでは、サーバと端末との間で、データが暗号化されて伝送され、また、メモリデバイスの非耐タンパのメモリ領域にデータが暗号化されて蓄積されるため、データのセキュリティを守ることができる。
なお、ここでは、メモリコントローラ32に暗号コプロセッサ331を設ける場合について説明したが、暗号コプロセッサ331の機能をCPU323が代わって行うようにしても良い。
(実施の形態3)
実施の形態3では、検査情報の改竄防止の措置を講じたデータ修復システムについて説明する。
このシステムでは、サーバが端末に対して、ブロックに分割したデータと、署名を付した検査情報とをダウンロードし、メモリデバイスは、検査情報を格納する際に、その署名を検証する。
図16は、このメモリデバイス30のデータ処理を模式的に示している。メモリコントローラ32は、書込部327及び内部不揮発性メモリ324の他に、検査情報の署名を検証する署名検証部333を備えている。この署名検証部333の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムのサーバ10は、複数のブロックに分割したデータと、その検査情報とを保持・管理し、端末20からデータの要求があったときに、データ本体と、署名を付した検査情報とを端末20にダウンロードする。
端末20は、サーバ10から取得したデータと署名付きの検査情報とを書き込み要求とともにメモリデバイス30に出力する。
メモリコントローラ32の書込部327は、署名付きの検査情報を署名検証部333に渡し、データ本体をメモリ31に書き込む。
署名検証部333は、検査情報に付された署名を検証し、検査情報が改竄されていないことを確認した後、検査情報を内部不揮発性メモリ324に格納する。
その他の処理は実施の形態1と変わりがない。
このシステムでは、検査情報に付された署名を検証することで、サーバから送信された検査情報が、メモリデバイスの耐タンパ性のメモリ領域に格納される以前に悪意の第3者によって改竄される事態を防止することができる。
また、図17は、検査情報の改竄を防止するため、検査情報を暗号通信路で伝送する場合を示している。
このメモリコントローラ32は、データをメモリ31に書き込むデータ書込部336と、検査情報を内部不揮発性メモリ324に書き込む検査情報書込部335とを備えている。このデータ書込部336及び検査情報書込部335の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムでは、検査情報が、サーバ10からメモリデバイス30の検査情報書込部335に暗号通信路を通じて伝送される。この暗号通信路は、ICカードにおけるセキュアメッセージングなどと同様に、サーバ10と検査情報書込部335とが直接構築する。検査情報書込部335は、受信した検査情報を耐タンパ性の内部不揮発性メモリ324に書き込む。
また、データは、サーバ10からメモリデバイス30に通常の伝送路で伝送され、データ書込部336は、受信したデータをメモリ31に書き込む。
このシステムでは、検査情報を暗号通信路で伝送しているため、検査情報が、メモリデバイスの耐タンパ性のメモリ領域に格納される以前に悪意の第3者によって改竄される事態を防ぐことができる。
(実施の形態4)
実施の形態4では、耐タンパ性のメモリ領域の使用効率を高めたデータ修復システムについて説明する。
メモリデバイスに格納するデータそのものが大きくなると、それに対応して検査情報のデータ量も増大し、検査情報を耐タンパ性のメモリ領域に書き込むことが困難になる。そのため、このシステムでは、検査情報をメモリデバイスの非耐タンパのメモリ領域に書き込み、その検査情報のデータ破損を検査するための検査情報(検査情報用検査情報)をメモリデバイスの耐タンパ性のメモリ領域に書き込むようにしている。
図18は、このメモリデバイス30のデータ処理を模式的に示している。メモリコントローラ32は、図16の場合と同様に、書込部327、署名検証部333及び内部不揮発性メモリ324を備えており、また、サーバ10からは、データ本体と署名を付した検査情報とがダウンロードされる。
このメモリコントローラ32の書込部327は、署名付きの検査情報を署名検証部333に渡し、署名検証部333が検査情報に付された署名を検証して、検査情報が改竄されていないことを確認すると、書込部327は、署名付きの検査情報とデータ本体とをメモリ31に書き込む。
一方、署名検証部333は、検査情報及び署名に対するハッシュ値(即ち、検査情報用検査情報)を算出し、この検査情報用検査情報を内部不揮発性メモリ324に格納する。
この場合、検査部328は、ブロックのデータ破損を検査するとき、署名付き検査情報をメモリ31から読み出し、その検査情報に破損が生じていないことを、内部不揮発性メモリ324に格納された検査情報用検査情報を用いて確認する。その後の検査処理は実施の形態1と同じである。また、検査情報が破損しているときは、サーバから検査情報を取得し直す。
また、図19は、メモリデバイス30がサーバからデータ本体と署名無しの検査情報とを受信する場合のデータ処理を模式的に示している。このメモリコントローラ32は、書込部327及び内部不揮発性メモリ324の他に検査情報用検査情報を生成する検査情報用検査情報生成部337を備えている。この検査情報用検査情報生成部337の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムのサーバ10は、データ本体と署名なしの検査情報とを端末20にダウンロードする。なお、この検査情報は、図17に示すように、暗号通信路を用いて伝送するようにしても良い。
このメモリコントローラ32の書込部327は、データ本体と検査情報とを受信すると、検査情報を検査情報用検査情報生成部337に伝えるとともに、この検査情報とデータ本体とをメモリ31に書き込む。
検査情報用検査情報生成部337は、検査情報のデータに対するハッシュ値(即ち、検査情報用検査情報)を算出し、この検査情報用検査情報を内部不揮発性メモリ324に格納する。
この場合、検査部328は、メモリ31に格納されたデータ本体のデータ破損を検査するとき、検査情報をメモリ31から読み出し、その検査情報に破損が生じていないことを、内部不揮発性メモリ324に格納された検査情報用検査情報を用いて確認する。その後の検査処理は実施の形態1と同じである。また、検査情報が破損しているときは、サーバから検査情報を取得し直す。
このシステムでは、検査情報そのものを非耐タンパのメモリ31に置くことで、耐タンパ性のメモリ領域の使用量を削減することができる。この場合、非耐タンパのメモリ31に格納した検査情報は、書き込んでから読み出すまでの間にデータ破損の生じる可能性があるが、耐タンパ性のメモリ領域で検査情報用検査情報を保持することにより、検査情報が正常であるか否かを判定することができ、検査情報が正常でないときには、サーバから検査情報を取り直すことにより、常に誤りのない検査情報を用いてデータ本体の破損を検査することができる。
(実施の形態5)
実施の形態5では、データ修復の機能を利用するシステムであって、検査情報のみを先にダウンロードし、データ本体は、それを使用する時にダウンロードするシステムについて説明する。
図20は、このシステムでのメモリデバイス30のデータ処理を模式的に示している。メモリコントローラ32は、検査部328、読出部329、修正部330及び内部不揮発性メモリ324の他に、検査情報の更新処理を行う検査情報更新部334を備えている。この検査情報更新部334の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムのサーバ10は、例えば、新規作成したプログラムデータを複数のブロックに分割し、各ブロックのデータ本体と、その検査情報とを保持・管理する。そして、端末20からの要求に応じて、あるいは、プッシュ型のサービスにより、その新規な検査情報のみを端末20にダウンロードする。
端末20は、サーバ10から取得した新検査情報を、検査情報の更新要求とともにメモリデバイス30に出力する。
メモリコントローラ32の検査情報更新部334は、新検査情報を内部不揮発性メモリ324に書き込む。この新検査情報に対応するプログラムデータは、未だメモリ31に格納されていない。
この新たなプログラムデータをユーザが使用するとき、ユーザの操作に基づいて端末20からメモリデバイス30にデータの読み出し要求が出力される(1)。
読み出し要求を受けたメモリコントローラ32の読出部329は、図12に示す手順で、検査部320に検査要求を出力する。検査部328は、内部不揮発性メモリ324から新検査情報を読み出し、また、メモリ31に格納されたデータ本体を読み出して、そのデータのハッシュ値を計算しようとする。しかし、メモリ31には該当するデータが格納されていないため、検査結果としてエラー報告を読出部329に出力する。エラー報告を受けた読出部329は、それを端末20に出力する(2)。
端末20は、このエラー報告をトリガーとして、検査情報に対応するプログラムデータを発行元のサーバ10に要求し、サーバ10は、そのプログラムデータを端末20にダウンロードする。このデータを取得した端末20は、このデータを含む部分修正情報を作成し、修正要求とともにメモリデバイス30に出力する(3)。
部分修正情報を受信したメモリデバイス30の修正部330は、図11に示す手順でプログラムデータをメモリ31に書き込み、端末20に修正完了通知を出力する(4)。
プログラムデータがメモリ31に書き込まれたことによって、検査部328は、そのデータが“正常”である旨の検査結果を読出部329に伝え、読出部329は、そのプログラムデータをメモリ31から読み出して端末20に出力する(5)。
このように、このシステムでは、メモリデバイス内で保持する検査情報を先行して更新し、その検査情報に対応するデータ本体の更新を、その使用時まで遅らせることができる。
図21は、このシステムの応用例として、サーバ10が、検査情報とカタログ情報とを先行して端末20にダウンロードし、ユーザがカタログ情報で表示するコンテンツを希望したとき、そのコンテンツのデータを端末20にダウンロードするシステムの手順を示している。まず、▲1▼端末20は、サーバ10からカタログ情報と検査情報とを取得する。
▲2▼端末20は、メモリデバイス30に、取得したカタログ情報と検査情報とを書き込む。カタログ情報及び検査情報は、メモリデバイス30の耐タンパ性のメモリ領域に書き込まれる。
▲3▼端末20は、メモリデバイス30に格納されたカタログ情報を参照する。
▲4▼端末20は、メモリデバイス30からカタログ情報に対応するコンテンツデータの読み出しを行う。
▲5▼メモリデバイス30は、エラー報告を端末20に返す。
▲6▼端末20は、コンテンツデータをサーバ10に要求し、サーバ10は端末20にコンテンツを配信する。
▲7▼端末20は、メモリデバイス30の非耐タンパのメモリ領域にコンテンツデータを書き込む。
▲8▼メモリデバイス30は、データの破損チェックを行いながら、コンテンツデータを端末20に読み出す。
なお、▲1▼において、カタログ情報と検査情報とは、あらかじめメモリデバイス内に格納されていても良い。また、▲2▼において、カタログ情報は非耐タンパのメモリ領域に格納しても良い。
このように、このシステムでは、データ本体が必要になるまでデータ本体の配信を遅らせることができる。
また、このシステムでは、配信したコンテンツのデータが破損したとき、端末は、検査情報を基に、コンテンツデータを自動復元することができる。そのため、この検査情報を販売することにより、コンテンツデータの破損時に自動復元可能なコンテンツ配信サービスを提供したり、データ補修を目的とするサービスを提供したりすることが可能になり、新たなビジネスが成立する。
なお、各実施形態では、メモリデバイスが、外部からのトリガー(検査要求、読み出し要求)によって、データ破損の検査を行う場合について説明したが、メモリコントローラが自発的に(例えば、一定の周期で)データ破損の検査を行い、データが破損している場合に、その検査結果を外部に報告するようにしても良い。
また、各実施形態では、メモリデバイスに格納するデータ及び検査情報をサーバからダウンロードする場合について説明したが、このデータ及び/または検査情報は、メモリデバイスの製造時や配付時に書き込んでも良い。
また、各実施形態では、データをブロック単位で検査する場合について説明したが、本発明はブロック単位に限定されるものではない。
また、本発明におけるメモリデバイスには、カード形態のものだけでなく、ハードディスクなど、その他の形態の記憶装置も含まれる。
以上の説明から明らかなように、本発明のメモリデバイスは、検査情報を耐タンパ性の蓄積領域に格納し、データ本体を非タンパ性の蓄積領域に格納しているため、全ての情報を耐タンパ性の蓄積領域に格納する場合に比べて、多くのデータを格納することができ、また、低コストでの製造が可能になる。また、データ本体が破損した場合でも、耐タンパ性の蓄積領域に格納した検査情報を用いてデータ破損を確実に検出し、完全に修復することができる。
また、本発明のシステムでは、メモリデバイスに蓄積したデータが破損しているとき、正常データを外部から取得して修復するので、メモリデバイス内でバックアップ用のデータを重複して保持する必要が無く、メモリデバイスの蓄積効率を高めることができる。また、検査情報の生成単位を、データ全体ではなく、ブロック単位としているため、データ破損個所を小さな範囲に限定することができ、修復用の正常データを外部から取得する際のデータ通信時間を短縮することができる。
また、本発明のデータ修復システムの機能を利用して、データ本体が必要になるまでデータ本体の配信を遅らせるコンテンツ配信サービスを提供したり、コンテンツデータの破損時に自動復元可能なコンテンツ配信サービスを提供したり、あるいは、データ補修を目的とするサービスを提供したりすることができ、新たなビジネスの展開が可能になる。
本明細書は、2002年1月31日出願の特願2002−023704に基づくものである。この内容をここに含めておく。
産業上の利用可能性
本発明は、例えば、端末装置の処理を規定するプログラムなどのデータを、サーバからネットワークを通じて端末装置にダウンロードするシステムに用いるに好適である。
【図面の簡単な説明】
図1は、本発明の実施の形態1におけるデータ修復システムの全体構成を示す図、
図2は、本発明の実施の形態1におけるメモリデバイスのハードウェア構成を示す図、
図3は、本発明の実施の形態1における検査情報の第1のデータ構成例を示す図、
図4は、本発明の実施の形態1における検査情報の第2のデータ構成例を示す図、
図5は、本発明の実施の形態1におけるメモリデバイスのデータ処理動作を示す図、
図6は、本発明の実施の形態1におけるメモリデバイスの書き込み手順を示すフロー図、
図7は、本発明の実施の形態1におけるメモリデバイスのデータ破損検査を伴う書き込み手順を示すフロー図、
図8は、本発明の実施の形態1におけるメモリデバイスのデータ破損検査手順を示すフロー図、
図9は、本発明の実施の形態1におけるメモリデバイスのデータ修復処理動作を示す図、
図10は、本発明の実施の形態1におけるデータ修復システムでの修正情報取得動作を示す図、
図11は、本発明の実施の形態1におけるメモリデバイスの修正データ書き込み手順を示すフロー図、
図12は、本発明の実施の形態1におけるメモリデバイスのデータ読み出し手順を示すフロー図、
図13は、本発明の実施の形態2におけるメモリデバイスのハードウェア構成を示す図、
図14は、本発明の実施の形態2におけるメモリデバイスの暗号化データに対する処理動作1を示す図、
図15は、本発明の実施の形態2におけるメモリデバイスの暗号化データに対する処理動作2を示す図、
図16は、本発明の実施の形態3におけるメモリデバイスの署名付き検査情報の書き込み動作を示す図、
図17は、本発明の実施の形態3におけるメモリデバイスの暗号通信路で伝送された検査情報の書き込み動作を示す図、
図18は、本発明の実施の形態4におけるメモリデバイスの署名付き検査情報の書き込み動作を示す図、
図19は、本発明の実施の形態4におけるメモリデバイスの署名無し検査情報の書き込み動作を示す図、
図20は、本発明の実施の形態5におけるメモリデバイスのデータ処理動作を示す図、及び、
図21は、本発明の実施の形態5におけるシステムでのコンテンツ配信動作を示す図である。
本発明は、ダウンロードしたデータの破損箇所を修復する修復システムと、そのシステムを構成するメモリデバイス及び端末装置に関し、特に、メモリデバイスに記録されたデータを効率的に修復できるようにするものである。
背景技術
従来から、端末装置の処理を規定するプログラムなどのデータを、サーバからネットワークを通じて端末装置にダウンロードすることは広く行われている。端末装置の記憶手段に格納されたデータは、ダウンロード時の送信異常や、ハード装置の故障、ウィルスによるデータ消失、外部からの攻撃による破壊など、様々な原因で破損する場合がある。
こうしたデータの破損は、サーバがデータとともに伝送したチェックサムなどの検査情報と、記憶手段に格納したデータから計算したチェックサムとの一致を検査することにより発見できる。
蓄積したデータを外部からの破壊や改竄から守る必要がある場合は、ICカードなどの耐タンパ性(外部からの攻撃に対する耐性)を備えた記憶手段にデータを格納することが行われている。耐タンパ性は、ダミー回路を設けたり、処理時間を一定時間内に制限したり、熱や電磁波の影響を受けない構造にしたりして実現される。
また、破損してしまったデータを修復する方法として、特開平4−340150号公報には、データの異常を発見した場合に、端末装置がサーバにダウンロード要求を発し、サーバから改めてプログラムデータのダウンロードを受ける方式が記載されている。
また、特開平11−184705号公報には、端末装置が第1及び第2の記憶手段を持ち、ダウンロードされたデータをこれらの記憶手段の双方に重複して格納し、第1の記憶手段で記憶するデータが破損した場合に、第2の記憶手段で記憶するデータを第1の記憶手段に上書きする方式が記載されている。
しかし、耐タンパ性の記憶装置は、コストが高く、また、多くの記憶容量を確保することができない。そのため、データ量の多い音楽データなどを蓄積することは不可能である。
また、データの破損が発見された際にサーバから改めてデータのダウンロードを受ける方式では、そのダウンロードのために多くの通信時間が必要になると言う問題点がある。
また、データを重複して保持する方式では、端末装置が多くの記憶容量を備えた記憶手段を持たなければならないと言う問題点がある。
また、近年は携帯端末による、物品やエンタテイメントコンテンツデータの購入、ネットバンキングなどのEC(電子商取引)が浸透し始めている。また、アドレス帳やスケジュール管理の用途としても用いられている。これらの情報をネットワーク上のサーバで管理することも可能であるが、情報を取り出すまでにかかるタイムラグや、ネットワーク障害時に必要な情報にアクセスできない場合があるという問題をかかえることになる。よって、これらの情報を含めて、携帯端末で取り扱うデータの記憶媒体として、すぐにアクセス可能で、十分な容量を持つカードデバイスの需要は大きい。しかし、同時に、カードデバイスの情報が破損した際に、確実にかつ少ないコスト(時間含む)で情報を修復できないと、それらの情報の処理にとって障害となるばかりではなく、ユーザに対して不利益を与え、新しいサービスの普及にとって大きな妨げとなってしまう。また、新しいサービスが拡大して行かないことは、IT(Information Technology)技術そのものの発展にとっても妨げとなる。
発明の開示
本発明の目的は、破損したデータの修復を効率的に行うことができるデータ修復システムと、そのシステムを実現するメモリデバイス及び端末装置を提供することである。
この目的は、耐タンパ性のメモリ領域と非耐タンパ性のメモリ領域とをメモリデバイスに設け、非耐タンパ性のメモリ領域にデータを格納し、耐タンパ性のメモリ領域に前記データの破損の検査に用いる検査情報を格納することにより達成される。
発明を実施するための最良の形態
以下、本発明の実施の形態について、図面を用いて説明する。なお、本明細書においてデータの破損とは、データが本来のデータから変化したり、データが欠落したりしたものを言う。
(実施の形態1)
本発明の実施形態1におけるデータ修復システムは、図1に示すように、ダウンロードの対象のデータを管理するサーバ10と、サーバ10との伝送路を確保してダウンロードされるデータを受信する端末20と、端末20に装着されてダウンロードしたデータを記憶するメモリデバイス30とで構成される。
ダウンロード対象のデータは、ユーザによるデータの変更を許さないプログラムデータや音楽データ、地図データなどの不変データである。サーバ10は、これらのデータを複数のブロックに分割して、各ブロックに、そのブロックのデータに対する検査情報(ハッシュ値、チェックサム、CRC(Cyclic Redundancy Check)、署名など)を生成し、そのデータ本体と検査情報とを保持・管理する。そして、端末20からデータの要求があると、そのデータのデータ本体と検査情報とを端末20にダウンロードする。
図3は、検査情報の一例を示している。この検査情報には、データのファイル名と、データ取得先のサーバ名やURL(Uniform Resource Locator)、データ発行会社名などを表す発行元の情報と、ファイルサイズと、各ブロックのブロックサイズと、各ブロックのハッシュ値とが含まれている。
メモリデバイス30は、メモリカード等と称せられる記憶媒体であり、フラッシュメモリ等から成るメモリ31と、メモリ31へのデータの書き込み/読み出しを制御するメモリコントローラ32とを備えている。メモリコントローラ32は、耐タンパ性を備えているが、メモリ31は非耐タンパである。サーバ10からダウンロードされたデータの内、データ本体はメモリデバイス30のメモリ31の領域に格納され、検査情報はメモリコントローラ32に格納される。
図2は、メモリデバイス30のハード構成を示している。メモリコントローラ32は、メモリデバイス30の動作を制御するCPU(Central Processing Unit)323と、CPU323が作業領域として使用するRAM(Random Access Memory)322と、CPU323の動作を規定するプログラムが格納されたROM(Read Only Memory)321と、EEPROM(Electrically Erasable Programmable Read Only Memory)等から成る耐タンパ性を有する内部不揮発性メモリ324と、端末20との間でデータを入出力する入出力部(I/O)325と、メモリ31との間のI/O326とを備えている。
図5は、メモリデバイス30におけるデータ処理を模式的に示している。メモリコントローラ32は、メモリ31にデータ本体を書き込み、内部不揮発性メモリ324に検査情報を書き込む書込部327と、検査情報を用いてデータ本体の破損を検出する検査部328と、メモリ31に格納されたデータ本体を外部に読み出す読出部329とを備えている。この書込部327、検査部328及び読出部329の各機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
サーバ10からダウンロードしたデータをメモリデバイス30に書き込む場合、端末20は、サーバ10から取得したデータ本体と検査情報とを書き込み要求とともにメモリデバイス30に出力する。
書込部327は、図6のフロー図に示すように、
ステップST1:各ブロックのハッシュ情報を含む検査情報を内部不揮発性メモリ324に書き込む。
ステップST2:ファイルのデータ本体をメモリ31に書き込む。
この書き込み処理が終了すると、書込部327は、端末20に書き込み完了通知を出力する。
また、メモリデバイス30からデータを読み出す場合は、読み出すべきデータの破損の有無が検査される。この場合、端末20からメモリデバイス30に、選択したファイルのデータ破損の検査要求が入力し、検査部328は、図8のフロー図に示す処理を行う。
ステップST10:内部不揮発性メモリ324から検査情報を読み出し、その中の“ブロックサイズ”の情報を基に各ブロックの範囲を確認し、メモリ31に格納されたデータ本体の着目するブロックのデータに対するハッシュ値を計算する。
ステップST11:算出したハッシュ値と、検査情報に含まれる該当するブロックのハッシュ値とを比較し、それらが一致しないときは、ステップST13に進む。
ステップST13:そのブロック位置を特定する情報とブロックサイズと発行元の情報とを含むエラー報告を作成し、このエラー報告を検査結果として端末20に出力する。
また、ステップST11において、算出したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST12に進む。
ステップST12:最終ブロックに達するまで、順次ブロックを変えてステップST10以下の処理を繰り返し、最終ブロックに達した場合は検査処理を終了して、“正常”を表す検査結果を端末20に出力する。
エラーの検査結果を受けた端末20は、破損データを含むブロックのデータをサーバ10から取得し、メモリデバイス30は、これを用いてメモリ31のデータを修復する。図9は、このデータ修復処理の手順を模式的に示している。このメモリデバイス30のメモリコントローラ32は、内部不揮発性メモリ324及び検査部328の他に、メモリ31に格納されたデータを修復する修正部330を備えている。この修正部330の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
端末20から破損データの検査要求が入力すると(1)、メモリデバイス30の検査部328は、図8の手順により、データ破損が生じているブロック位置を特定する情報、ブロックサイズ及び発行元情報を含むエラー報告を検査結果として端末20に出力する(2)。
端末20は、このエラー報告をトリガーとして、データ破損が生じているブロックのデータを発行元のサーバ10に要求する。サーバ10は、管理するデータの中から、該当するブロックのデータ本体を読み出して端末20にダウンロードする(3)。
図10は、この模様を模式的に示している。端末20は、メモリデバイス30から受信した発行元(URL)、破損データを含むブロック位置、ブロックサイズを基に、サーバ10に対して、破損データを含むブロックの正常データ(部分データ)を要求する(▲1▼)。サーバ10は、検査情報を参照し、要求された部分データを端末20に返送する(▲2▼)。このように、サーバ上のファイルの特定位置から特定サイズ分の情報を取得することは既知の技術であり、既存のFTP(File Transfer Protocol)や、HTTP(Hypertext Transfer Protocol)サーバにおいても行われている。
修正すべきブロックのデータ本体を取得した端末20は、このデータ本体と修正すべきブロックを指定する情報とを含む部分修正情報を作成して、修正要求とともにメモリデバイス30に出力する(4)。
部分修正情報を受信したメモリデバイス30の修正部330は、図11に示す手順でデータの修復を実行する。
ステップST20:部分修正情報に含まれるブロックのデータ本体のハッシュ値を計算する。
ステップST21:算出したハッシュ値と、内部不揮発性メモリ324に格納された検査情報に含まれる該当するブロックのハッシュ値とを比較する。それらが一致しないときは、ステップST24に進む。
ステップST24:端末20にそのブロックのデータ本体を再取得するように促す“再書き込み用前処理”を行い、データ本体が再取得された場合に、ステップST20からの手順を繰り返す。
また、ステップST21において、算出したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST22に進む。
ステップST22:そのデータ本体をメモリ31に上書きする。
ステップST23:部分修正情報の中に他のブロックのデータ本体が含まれている場合は、ステップST20以降の手順を繰り返し、部分修正情報の中に書きむべきデータ本体が無くなれば修復処理を終了する。
こうしてデータの修復処理が終了すると、修正部330は、端末20に修正完了通知を出力する(5)。
データが修復された場合、検査部328の検査結果は“正常”になる。
端末20がメモリデバイス30から“正常”の検査結果を得たファイルデータの読み出しを要求すると、メモリデバイス30の読出部329は、メモリ31から該当するデータ本体を読み出して端末20に出力する。
また、端末20がメモリデバイス30に、データ破損の検査を経ずに、ファイルデータの読み出しを要求した場合には、読出部329から検査部328に対して、読み出そうとする各ブロックのデータ破損についての検査要求が出され、“正常”の検査結果が得られたブロックのデータが順次読み出される。図12のフロー図は、この読み出し処理の動作を示している。
ステップST30:ファイルデータの読み出し要求を受けた読出部329は、要求されたファイル名を検査部328に伝えて、ファイルデータの破損の検査を要求する。
読出部329から検査要求を受けた検査部328は、内部不揮発性メモリ324から該当するファイルの検査情報を読み出し、ブロックサイズから各ブロックの範囲を確認して、メモリ31に格納されたデータ本体の着目するブロックのデータに対するハッシュ値を計算する。
ステップST31:算出したハッシュ値と、検査情報に含まれる該当するブロックのハッシュ値とを比較する。それらが一致しないときは、ステップST34に進む。
ステップST34:そのブロック位置を特定する情報とブロックサイズと発行元の情報とを含むエラー報告を作成し、このエラー報告を検査結果として読出部329に出力する。エラー報告を受けた読出部329は、エラー報告を端末20に出力する。
また、ステップST31において、計算したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST32に進む。
ステップST32:検査部328は、ブロック位置を特定する情報と、そのブロックが“正常”であることを表す情報とを検査結果に含めて読出部329に伝え、読出部329は、そのブロックのデータ本体をメモリ31から読み出す。
ステップST33:指定されたファイルの最終ブロックに達するまで、順次ブロックを変えてステップST30以下の処理を繰り返し、最終ブロックに達した場合は読み出し処理を終了する。
また、読出部329からエラー報告を受けた端末20は、このエラー報告をトリガーとして、データ破損が生じているブロックのデータ本体を発行元のサーバ10から取得し、メモリデバイス30は、それを用いてデータの修復処理を行う。この処理は、図9及び図11で示したものと同じである。そして、修復されたデータの検査結果は“正常”となり、読出部329は、修復されたデータ本体をメモリ31から読み出す。
この読み出し処理では、検査結果が“正常”と判定されたブロックのデータ本体を直ぐに読み出しているため、検査終了からデータ読み出しの間にデータ破損が発生する可能性をゼロにすることができる。
このように、このデータ修復システムでは、メモリデバイスに蓄積したデータが破損しているとき、正常データを外部から取得して修復しているため、バックアップ用のデータを重複して保持する場合に比べて、メモリデバイスの蓄積効率を高めることができる。また、検査情報の生成単位を、データ全体ではなく、ブロック単位としているため、データ破損個所を小さな範囲に限定することができ、修復用の正常データを外部から取得する際のデータ通信時間を短縮することができる。
また、この検査情報をメモリデバイスの耐タンパ性の蓄積領域に格納し、データ本体をメモリデバイスの非タンパ性の蓄積領域に格納しているため、ICカードのように全ての情報を耐タンパ性の蓄積領域に格納する場合に比べて、メモリデバイスの構成を簡素化することができ、低コストでの製造が可能になる。また、耐タンパ性の蓄積領域に格納した検査情報は、データ破壊や改竄から守ることができるため、データ本体が破損した場合でも、この検査情報を用いてデータ破損を確実に検出することができ、正常データを外部から取得して完全に修復することができる。
なお、図3では、ファイル名を含む検査情報の例を示したが、図4に示すように、検査情報にファイル名を含めないことも可能である。この場合、発行元の情報としてファイル取得先のURLを表すようにすれば、ファイルごとにURLが異なり、URLでファイルが特定できるので、検査情報へのファイル名の記述が不要になる。
また、検査情報で各ブロックのデータ本体を格納するメモリデバイスのメモリ領域を指定し、図4に示すように、そのメモリ領域を表すブロック番号と、そのメモリ領域に格納するデータ本体のハッシュ値とを対応付けて検査情報に記述するようにすれば、メモリデバイス30の検査部328がメモリ31に格納されたデータ本体の破損をチェックする場合に、その処理が容易になる。
また、図6では、サーバ10からダウンロードしたデータをメモリデバイス30に取り敢えず書き込み、読み出し時にデータ破損を検出する場合の書き込み手順について示しているが、データの書き込み時にデータ破損をチェックし、正常なデータを書き込むようにすることも可能である。この場合、図5の書込部327及び検査部328により、図7のフロー図に示す書き込み処理が行われる。
ステップST40:メモリデバイス30の書込部327は、各ブロックのハッシュ情報を含む検査情報を内部不揮発性メモリ324に書き込み、ステップST41に進む。
ステップST41:一つのブロックのデータ本体をメモリ31に書き込む。
ステップST42:検査部328は、このブロックのデータ本体のハッシュ値を計算し、ステップST43に進む。
ステップST43:算出したハッシュ値と、内部不揮発性メモリ324に格納した検査情報に含まれる該当するブロックのハッシュ値とを比較する。それらが一致しないときは、ステップST45に進む。
ステップST45:端末20にそのブロックのデータ本体を再取得するように促し、また、再取得したデータ本体の書き込み位置を元のデータ本体が書き込まれていたメモリ31上の位置から変更する“再書き込み用前処理”を行い、データ本体が再取得された場合に、ステップST41からの手順を繰り返す。なお、データ本体の書き込み位置の変更は、データ破損の生じたメモリ領域が、物理的に壊れている可能性があり、そのための措置である。
また、ステップST43において、算出したハッシュ値と検査情報に含まれる該当するブロックのハッシュ値とが一致するときは、ステップST44に進む。
ステップST44:そのブロックが最終ブロックであるか否かを識別し、最終ブロックでなければ、ステップST41以降の手順を繰り返し、最終ブロックであれば、書き込み処理を終了する。
書き込み処理が終了すると、書込部327は、端末20に書き込み完了通知を出力する。こうした処理により、データ破損を含まないデータ本体の書き込みが保証され、データ読み出し時の検査において、データ破損が発生する割合を低減することができる。
また、ここでは、端末が、メモリデバイスからエラー報告を受けて、データ破損を含むブロックデータの再取得を実行しているが、これは、メモリデバイスが、端末に対して、データの発行元とブロック位置とを指定して発行元への配信要求命令を出し、端末がその命令に従って発行元からデータを再取得する、と言う形態であっても良い。
また、このデータ修復システムでは、検査情報の生成単位をブロック単位とし、データ破損個所を小さな範囲に限定しているため、データが破損したブロックの情報を収集、解析して有益な情報を得ることができる。
サーバは、各端末からデータ復旧のために要求されたブロックの統計情報から次のような解析が可能である。
固定データの同一個所の破損が多数のユーザで発生する場合は、▲1▼プログラムのバグによるデータ破壊の可能性がある。▲2▼データ(例えば、音楽ファイルなど)の不正利用方法が流布している可能性がある。
また、プログラムの同一個所の破損が多数のユーザで発生する場合は、▲1▼ウィルスによるプログラム改竄の可能性がある。▲2▼プログラム不正改造方法が流布している可能性がある。
また、同一ユーザによる修正が頻発する場合は、メモリデバイスのハードウェアが故障している可能性があり、この解析結果を基に、メモリデバイスの修理や交換を勧める情報を端末に送るなどのサービスが可能になる。
また、端末は、メモリデバイスからのエラー報告の回数が閾値を越えた場合、あるいは、一定時間内に閾値を越えるエラー報告を受けた場合に、メモリデバイスのハードウェア故障や外部からの攻撃の可能性があるものと見て、▲1▼メモリデバイスからのエラー報告の受付を停止する、▲2▼エラー報告のサーバへの送出を停止する、▲3▼サーバからの修復データの取得を停止する、▲4▼メモリデバイスを交換する、等の措置を取ることができる。
また、端末は、メモリデバイスの利用回数が閾値を越えた場合、メモリデバイスの寿命が尽きる前に、新しいメモリデバイスにデータを移し変える措置を取ることもできる。
また、データ破損の頻度により、メモリデバイス自身がデータ修復の自律機能を停止するようにしても良い。自律機能の停止とは、書込部327、検査部328、読出部329などの、データ取得や読み出しに必要なメモリデバイス内の全部または一部の諸機能を停止させることである。自律機能停止の条件は、データ破損の検出回数が閾値を越えた場合、あるいは、一定期間内に閾値を越えるデータ破損を検出した場合などであり、停止の形態は、▲1▼一定期間(一定周期)停止する、▲2▼次回のリセットまで停止する、▲3▼完全停止する(この場合、専門業者に依頼して機能回復を図る)、などである。
(実施の形態2)
実施の形態2では、暗号化されたデータ本体をメモリデバイスに格納するデータ修復システムについて説明する。
このメモリデバイスは、図13に示すように、メモリコントローラ32が、暗号化データを復号化する暗号コプロセッサ331を備えている。その他の構成は実施の形態1(図2)と変わりがない。
図14は、このメモリデバイス30におけるデータ処理を模式的に示している。メモリコントローラ32は、書込部327、検査部328、読出部329及び内部不揮発性メモリ324の他に、暗号化データを復号化する復号部332を備えている。この復号部332の機能は、暗号コプロセッサ331により実現される。
このシステムのサーバ10は、ファイルデータを暗号化した後、複数のブロックに分割し、各ブロックのデータに対する検査情報(ハッシュ値、チェックサム、CRC、署名など)を生成して、その暗号化データと検査情報とを保持・管理する。そして、端末20からデータの要求があると、暗号化データと検査情報とを端末20にダウンロードする。
端末20は、サーバ10から取得した暗号化データと検査情報とを書き込み要求とともにメモリデバイス30に出力する。
メモリコントローラ32の書込部327は、図6または図7に示す手順で、検査情報を内部不揮発性メモリ324に、また、暗号化データをメモリ31に書き込む。
メモリコントローラ32の検査部328は、暗号化データの破損を検査する場合、メモリ31に格納された各ブロックの暗号化データのハッシュ値を計算し、算出したハッシュ値と、内部不揮発性メモリ324に格納された検査情報に含まれる該当するブロックのハッシュ値とを比較する。そして、それらが一致するときは“正常”の検査結果を出力し、不一致であるときはエラー報告を出力する。
また、メモリデバイス30に格納されたデータを読み出す場合は、検査部328の検査結果が“正常”であるブロックの暗号化データが復号部332で復号化され、読出部329から読み出される。
その他の動作は実施の形態1と変わりがない。
また、図15は、データを暗号化する場合の他の形態を示している。
このシステムのサーバ10は、ファイルデータを複数のブロックに分割し、各ブロックのデータに対する検査情報を生成した後、各ブロックのデータを暗号化し、その暗号化データと検査情報とを保持・管理する。そして、端末20からデータの要求があると、暗号化データと検査情報とを端末20にダウンロードする。
端末20は、サーバ10から取得した暗号化データと検査情報とを書き込み要求とともにメモリデバイス30に出力する。
メモリコントローラ32の書込部327は、図14の場合と同様に、検査情報を内部不揮発性メモリ324に、また、暗号化データをメモリ31に書き込む。
メモリコントローラ32の検査部328は、暗号化データの破損を検査する場合、メモリ31に格納された各ブロックの暗号化データを復号部332で復号化し、得られたデータのハッシュ値を計算して、検査情報に含まれる該当するブロックのハッシュ値と比較する。そして、それらが一致するときは“正常”の検査結果を出力し、不一致であるときはエラー報告を出力する。
また、読出部329は、検査部328の検査結果が“正常”である場合にだけ、復号部332で復号化されたデータを外部に読み出す。
その他の動作は実施の形態1と変わりがない。
このように、図14では、暗号化したデータの検査情報を用いてデータ破損を検査し、図15では、復号化したデータの検査情報を用いてデータ破損を検査しているが、いずれの場合でも、暗号化データを復号化して読み出すには、必ず検査部の検査手順を通らなければならない。
このシステムでは、サーバと端末との間で、データが暗号化されて伝送され、また、メモリデバイスの非耐タンパのメモリ領域にデータが暗号化されて蓄積されるため、データのセキュリティを守ることができる。
なお、ここでは、メモリコントローラ32に暗号コプロセッサ331を設ける場合について説明したが、暗号コプロセッサ331の機能をCPU323が代わって行うようにしても良い。
(実施の形態3)
実施の形態3では、検査情報の改竄防止の措置を講じたデータ修復システムについて説明する。
このシステムでは、サーバが端末に対して、ブロックに分割したデータと、署名を付した検査情報とをダウンロードし、メモリデバイスは、検査情報を格納する際に、その署名を検証する。
図16は、このメモリデバイス30のデータ処理を模式的に示している。メモリコントローラ32は、書込部327及び内部不揮発性メモリ324の他に、検査情報の署名を検証する署名検証部333を備えている。この署名検証部333の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムのサーバ10は、複数のブロックに分割したデータと、その検査情報とを保持・管理し、端末20からデータの要求があったときに、データ本体と、署名を付した検査情報とを端末20にダウンロードする。
端末20は、サーバ10から取得したデータと署名付きの検査情報とを書き込み要求とともにメモリデバイス30に出力する。
メモリコントローラ32の書込部327は、署名付きの検査情報を署名検証部333に渡し、データ本体をメモリ31に書き込む。
署名検証部333は、検査情報に付された署名を検証し、検査情報が改竄されていないことを確認した後、検査情報を内部不揮発性メモリ324に格納する。
その他の処理は実施の形態1と変わりがない。
このシステムでは、検査情報に付された署名を検証することで、サーバから送信された検査情報が、メモリデバイスの耐タンパ性のメモリ領域に格納される以前に悪意の第3者によって改竄される事態を防止することができる。
また、図17は、検査情報の改竄を防止するため、検査情報を暗号通信路で伝送する場合を示している。
このメモリコントローラ32は、データをメモリ31に書き込むデータ書込部336と、検査情報を内部不揮発性メモリ324に書き込む検査情報書込部335とを備えている。このデータ書込部336及び検査情報書込部335の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムでは、検査情報が、サーバ10からメモリデバイス30の検査情報書込部335に暗号通信路を通じて伝送される。この暗号通信路は、ICカードにおけるセキュアメッセージングなどと同様に、サーバ10と検査情報書込部335とが直接構築する。検査情報書込部335は、受信した検査情報を耐タンパ性の内部不揮発性メモリ324に書き込む。
また、データは、サーバ10からメモリデバイス30に通常の伝送路で伝送され、データ書込部336は、受信したデータをメモリ31に書き込む。
このシステムでは、検査情報を暗号通信路で伝送しているため、検査情報が、メモリデバイスの耐タンパ性のメモリ領域に格納される以前に悪意の第3者によって改竄される事態を防ぐことができる。
(実施の形態4)
実施の形態4では、耐タンパ性のメモリ領域の使用効率を高めたデータ修復システムについて説明する。
メモリデバイスに格納するデータそのものが大きくなると、それに対応して検査情報のデータ量も増大し、検査情報を耐タンパ性のメモリ領域に書き込むことが困難になる。そのため、このシステムでは、検査情報をメモリデバイスの非耐タンパのメモリ領域に書き込み、その検査情報のデータ破損を検査するための検査情報(検査情報用検査情報)をメモリデバイスの耐タンパ性のメモリ領域に書き込むようにしている。
図18は、このメモリデバイス30のデータ処理を模式的に示している。メモリコントローラ32は、図16の場合と同様に、書込部327、署名検証部333及び内部不揮発性メモリ324を備えており、また、サーバ10からは、データ本体と署名を付した検査情報とがダウンロードされる。
このメモリコントローラ32の書込部327は、署名付きの検査情報を署名検証部333に渡し、署名検証部333が検査情報に付された署名を検証して、検査情報が改竄されていないことを確認すると、書込部327は、署名付きの検査情報とデータ本体とをメモリ31に書き込む。
一方、署名検証部333は、検査情報及び署名に対するハッシュ値(即ち、検査情報用検査情報)を算出し、この検査情報用検査情報を内部不揮発性メモリ324に格納する。
この場合、検査部328は、ブロックのデータ破損を検査するとき、署名付き検査情報をメモリ31から読み出し、その検査情報に破損が生じていないことを、内部不揮発性メモリ324に格納された検査情報用検査情報を用いて確認する。その後の検査処理は実施の形態1と同じである。また、検査情報が破損しているときは、サーバから検査情報を取得し直す。
また、図19は、メモリデバイス30がサーバからデータ本体と署名無しの検査情報とを受信する場合のデータ処理を模式的に示している。このメモリコントローラ32は、書込部327及び内部不揮発性メモリ324の他に検査情報用検査情報を生成する検査情報用検査情報生成部337を備えている。この検査情報用検査情報生成部337の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムのサーバ10は、データ本体と署名なしの検査情報とを端末20にダウンロードする。なお、この検査情報は、図17に示すように、暗号通信路を用いて伝送するようにしても良い。
このメモリコントローラ32の書込部327は、データ本体と検査情報とを受信すると、検査情報を検査情報用検査情報生成部337に伝えるとともに、この検査情報とデータ本体とをメモリ31に書き込む。
検査情報用検査情報生成部337は、検査情報のデータに対するハッシュ値(即ち、検査情報用検査情報)を算出し、この検査情報用検査情報を内部不揮発性メモリ324に格納する。
この場合、検査部328は、メモリ31に格納されたデータ本体のデータ破損を検査するとき、検査情報をメモリ31から読み出し、その検査情報に破損が生じていないことを、内部不揮発性メモリ324に格納された検査情報用検査情報を用いて確認する。その後の検査処理は実施の形態1と同じである。また、検査情報が破損しているときは、サーバから検査情報を取得し直す。
このシステムでは、検査情報そのものを非耐タンパのメモリ31に置くことで、耐タンパ性のメモリ領域の使用量を削減することができる。この場合、非耐タンパのメモリ31に格納した検査情報は、書き込んでから読み出すまでの間にデータ破損の生じる可能性があるが、耐タンパ性のメモリ領域で検査情報用検査情報を保持することにより、検査情報が正常であるか否かを判定することができ、検査情報が正常でないときには、サーバから検査情報を取り直すことにより、常に誤りのない検査情報を用いてデータ本体の破損を検査することができる。
(実施の形態5)
実施の形態5では、データ修復の機能を利用するシステムであって、検査情報のみを先にダウンロードし、データ本体は、それを使用する時にダウンロードするシステムについて説明する。
図20は、このシステムでのメモリデバイス30のデータ処理を模式的に示している。メモリコントローラ32は、検査部328、読出部329、修正部330及び内部不揮発性メモリ324の他に、検査情報の更新処理を行う検査情報更新部334を備えている。この検査情報更新部334の機能は、CPU323がプログラムで規定された処理を行うことにより実現される。
このシステムのサーバ10は、例えば、新規作成したプログラムデータを複数のブロックに分割し、各ブロックのデータ本体と、その検査情報とを保持・管理する。そして、端末20からの要求に応じて、あるいは、プッシュ型のサービスにより、その新規な検査情報のみを端末20にダウンロードする。
端末20は、サーバ10から取得した新検査情報を、検査情報の更新要求とともにメモリデバイス30に出力する。
メモリコントローラ32の検査情報更新部334は、新検査情報を内部不揮発性メモリ324に書き込む。この新検査情報に対応するプログラムデータは、未だメモリ31に格納されていない。
この新たなプログラムデータをユーザが使用するとき、ユーザの操作に基づいて端末20からメモリデバイス30にデータの読み出し要求が出力される(1)。
読み出し要求を受けたメモリコントローラ32の読出部329は、図12に示す手順で、検査部320に検査要求を出力する。検査部328は、内部不揮発性メモリ324から新検査情報を読み出し、また、メモリ31に格納されたデータ本体を読み出して、そのデータのハッシュ値を計算しようとする。しかし、メモリ31には該当するデータが格納されていないため、検査結果としてエラー報告を読出部329に出力する。エラー報告を受けた読出部329は、それを端末20に出力する(2)。
端末20は、このエラー報告をトリガーとして、検査情報に対応するプログラムデータを発行元のサーバ10に要求し、サーバ10は、そのプログラムデータを端末20にダウンロードする。このデータを取得した端末20は、このデータを含む部分修正情報を作成し、修正要求とともにメモリデバイス30に出力する(3)。
部分修正情報を受信したメモリデバイス30の修正部330は、図11に示す手順でプログラムデータをメモリ31に書き込み、端末20に修正完了通知を出力する(4)。
プログラムデータがメモリ31に書き込まれたことによって、検査部328は、そのデータが“正常”である旨の検査結果を読出部329に伝え、読出部329は、そのプログラムデータをメモリ31から読み出して端末20に出力する(5)。
このように、このシステムでは、メモリデバイス内で保持する検査情報を先行して更新し、その検査情報に対応するデータ本体の更新を、その使用時まで遅らせることができる。
図21は、このシステムの応用例として、サーバ10が、検査情報とカタログ情報とを先行して端末20にダウンロードし、ユーザがカタログ情報で表示するコンテンツを希望したとき、そのコンテンツのデータを端末20にダウンロードするシステムの手順を示している。まず、▲1▼端末20は、サーバ10からカタログ情報と検査情報とを取得する。
▲2▼端末20は、メモリデバイス30に、取得したカタログ情報と検査情報とを書き込む。カタログ情報及び検査情報は、メモリデバイス30の耐タンパ性のメモリ領域に書き込まれる。
▲3▼端末20は、メモリデバイス30に格納されたカタログ情報を参照する。
▲4▼端末20は、メモリデバイス30からカタログ情報に対応するコンテンツデータの読み出しを行う。
▲5▼メモリデバイス30は、エラー報告を端末20に返す。
▲6▼端末20は、コンテンツデータをサーバ10に要求し、サーバ10は端末20にコンテンツを配信する。
▲7▼端末20は、メモリデバイス30の非耐タンパのメモリ領域にコンテンツデータを書き込む。
▲8▼メモリデバイス30は、データの破損チェックを行いながら、コンテンツデータを端末20に読み出す。
なお、▲1▼において、カタログ情報と検査情報とは、あらかじめメモリデバイス内に格納されていても良い。また、▲2▼において、カタログ情報は非耐タンパのメモリ領域に格納しても良い。
このように、このシステムでは、データ本体が必要になるまでデータ本体の配信を遅らせることができる。
また、このシステムでは、配信したコンテンツのデータが破損したとき、端末は、検査情報を基に、コンテンツデータを自動復元することができる。そのため、この検査情報を販売することにより、コンテンツデータの破損時に自動復元可能なコンテンツ配信サービスを提供したり、データ補修を目的とするサービスを提供したりすることが可能になり、新たなビジネスが成立する。
なお、各実施形態では、メモリデバイスが、外部からのトリガー(検査要求、読み出し要求)によって、データ破損の検査を行う場合について説明したが、メモリコントローラが自発的に(例えば、一定の周期で)データ破損の検査を行い、データが破損している場合に、その検査結果を外部に報告するようにしても良い。
また、各実施形態では、メモリデバイスに格納するデータ及び検査情報をサーバからダウンロードする場合について説明したが、このデータ及び/または検査情報は、メモリデバイスの製造時や配付時に書き込んでも良い。
また、各実施形態では、データをブロック単位で検査する場合について説明したが、本発明はブロック単位に限定されるものではない。
また、本発明におけるメモリデバイスには、カード形態のものだけでなく、ハードディスクなど、その他の形態の記憶装置も含まれる。
以上の説明から明らかなように、本発明のメモリデバイスは、検査情報を耐タンパ性の蓄積領域に格納し、データ本体を非タンパ性の蓄積領域に格納しているため、全ての情報を耐タンパ性の蓄積領域に格納する場合に比べて、多くのデータを格納することができ、また、低コストでの製造が可能になる。また、データ本体が破損した場合でも、耐タンパ性の蓄積領域に格納した検査情報を用いてデータ破損を確実に検出し、完全に修復することができる。
また、本発明のシステムでは、メモリデバイスに蓄積したデータが破損しているとき、正常データを外部から取得して修復するので、メモリデバイス内でバックアップ用のデータを重複して保持する必要が無く、メモリデバイスの蓄積効率を高めることができる。また、検査情報の生成単位を、データ全体ではなく、ブロック単位としているため、データ破損個所を小さな範囲に限定することができ、修復用の正常データを外部から取得する際のデータ通信時間を短縮することができる。
また、本発明のデータ修復システムの機能を利用して、データ本体が必要になるまでデータ本体の配信を遅らせるコンテンツ配信サービスを提供したり、コンテンツデータの破損時に自動復元可能なコンテンツ配信サービスを提供したり、あるいは、データ補修を目的とするサービスを提供したりすることができ、新たなビジネスの展開が可能になる。
本明細書は、2002年1月31日出願の特願2002−023704に基づくものである。この内容をここに含めておく。
産業上の利用可能性
本発明は、例えば、端末装置の処理を規定するプログラムなどのデータを、サーバからネットワークを通じて端末装置にダウンロードするシステムに用いるに好適である。
【図面の簡単な説明】
図1は、本発明の実施の形態1におけるデータ修復システムの全体構成を示す図、
図2は、本発明の実施の形態1におけるメモリデバイスのハードウェア構成を示す図、
図3は、本発明の実施の形態1における検査情報の第1のデータ構成例を示す図、
図4は、本発明の実施の形態1における検査情報の第2のデータ構成例を示す図、
図5は、本発明の実施の形態1におけるメモリデバイスのデータ処理動作を示す図、
図6は、本発明の実施の形態1におけるメモリデバイスの書き込み手順を示すフロー図、
図7は、本発明の実施の形態1におけるメモリデバイスのデータ破損検査を伴う書き込み手順を示すフロー図、
図8は、本発明の実施の形態1におけるメモリデバイスのデータ破損検査手順を示すフロー図、
図9は、本発明の実施の形態1におけるメモリデバイスのデータ修復処理動作を示す図、
図10は、本発明の実施の形態1におけるデータ修復システムでの修正情報取得動作を示す図、
図11は、本発明の実施の形態1におけるメモリデバイスの修正データ書き込み手順を示すフロー図、
図12は、本発明の実施の形態1におけるメモリデバイスのデータ読み出し手順を示すフロー図、
図13は、本発明の実施の形態2におけるメモリデバイスのハードウェア構成を示す図、
図14は、本発明の実施の形態2におけるメモリデバイスの暗号化データに対する処理動作1を示す図、
図15は、本発明の実施の形態2におけるメモリデバイスの暗号化データに対する処理動作2を示す図、
図16は、本発明の実施の形態3におけるメモリデバイスの署名付き検査情報の書き込み動作を示す図、
図17は、本発明の実施の形態3におけるメモリデバイスの暗号通信路で伝送された検査情報の書き込み動作を示す図、
図18は、本発明の実施の形態4におけるメモリデバイスの署名付き検査情報の書き込み動作を示す図、
図19は、本発明の実施の形態4におけるメモリデバイスの署名無し検査情報の書き込み動作を示す図、
図20は、本発明の実施の形態5におけるメモリデバイスのデータ処理動作を示す図、及び、
図21は、本発明の実施の形態5におけるシステムでのコンテンツ配信動作を示す図である。
Claims (37)
- 耐タンパ性のメモリ領域と非耐タンパ性のメモリ領域とを備え、前記非耐タンパ性のメモリ領域にデータを格納し、前記耐タンパ性のメモリ領域に前記データの破損の検査に用いる検査情報を格納したメモリデバイス。
- データを格納する非耐タンパ性の第1のメモリ領域と、データ破損の検査に用いる検査情報を格納する耐タンパ性の第2のメモリ領域と、外部から取得したデータを前記第1のメモリ領域に書き込み、前記検査情報を前記第2のメモリ領域に書き込む書き込み手段と、前記検査情報を用いてデータ破損を検査する検査手段と、前記検査手段が正常と判定したデータを読み出す読み出し手段とを備え、前記検査手段は、外部から取得した前記データをブロック単位で正常か否かを判定するメモリデバイス。
- 前記検査情報が、外部から取得した前記データのブロック単位の検査情報を含み、前記書き込み手段は、前記検査情報を前記第2のメモリ領域に書き込む請求の範囲2記載のメモリデバイス。
- 前記書き込み手段は、前記検査情報を暗号通信路を通じて取得し、前記検査情報を前記第2のメモリ領域に書き込む請求の範囲2記載のメモリデバイス。
- 前記書き込み手段は、前記検査情報を暗号通信路を通じて取得し、前記検査情報を前記第2のメモリ領域に書き込む請求の範囲3記載のメモリデバイス。
- 前記書き込み手段は、外部から取得した前記検査情報に付されている署名を検証した後、前記検査情報を前記第2のメモリ領域に書き込む請求の範囲3記載のメモリデバイス。
- 前記書き込み手段は、データ破損の検査に用いる検査情報を取得して前記検査情報を検証する検証用検査情報を作成し、前記検証用検査情報を前記第2のメモリ領域に書き込み、データ破損の検査に用いる前記検査情報を前記第1のメモリ領域に書き込む請求の範囲2記載のメモリデバイス。
- 前記書き込み手段は、署名付きの前記検査情報を取得して、前記署名付きの検査情報を検証する検証用検査情報を作成し、前記検証用検査情報を前記第2のメモリ領域に書き込み、前記署名付きの検査情報を前記第1のメモリ領域に書き込む請求の範囲7記載のメモリデバイス。
- 前記書き込み手段は、前記検査情報を用いて前記第1のメモリ領域に書き込むデータの破損を検査し、正常なデータを前記第1のメモリ領域に書き込む請求の範囲2記載のメモリデバイス。
- 前記検査情報が、検査対象のデータの取得先を示す発行元情報を含み、前記検査手段は、前記検査情報を用いてデータ破損が生じているブロック単位を検出したとき、前記発行元情報と前記ブロック単位を示す情報とを含むエラー報告を出力する請求の範囲2記載のメモリデバイス。
- 前記検査情報が、検査対象のデータの取得先を示す発行元情報を含み、前記検査手段は、前記検査情報を用いてデータ破損が生じているブロック単位を検出したとき、前記発行元情報と前記ブロック単位を示す情報とを含むエラー報告を出力する請求の範囲3記載のメモリデバイス。
- 前記検査情報が、検査対象のデータの取得先を示す発行元情報を含み、前記検査手段は、前記検査情報を用いてデータ破損が生じているブロック単位を検出したとき、前記ブロック単位のデータの前記発行元に対する配信要求を出力する請求の範囲2記載のメモリデバイス。
- 前記検査情報が、検査対象のデータの取得先を示す発行元情報を含み、前記検査手段は、前記検査情報を用いてデータ破損が生じているブロック単位を検出したとき、前記ブロック単位のデータの前記発行元に対する配信要求を出力する請求の範囲3記載のメモリデバイス。
- 前記検査手段は、データ破損が生じているブロック単位の検査を自発的に行う請求の範囲10記載のメモリデバイス。
- 前記検査手段は、データ破損が生じているブロック単位の検査を自発的に行う請求の範囲11記載のメモリデバイス。
- 前記検査手段は、データ破損が生じているブロック単位の検査を自発的に行う請求の範囲12記載のメモリデバイス。
- 前記検査手段は、データ破損が生じているブロック単位の検査を自発的に行う請求の範囲13記載のメモリデバイス。
- データ破損が生じているブロック単位を検出する前記検査手段の検出回数が閾値を越えたとき、動作を停止する請求の範囲2記載のメモリデバイス。
- 前記読み出し手段は、前記検査手段が正常と判定したブロック単位のデータを順次読み出す請求の範囲2記載のメモリデバイス。
- 外部から取得した前記ブロック単位のデータを前記検査情報を用いて検査し、前記データが正常であるとき、当該データを、前記第1のメモリ領域に書き込む修正手段を備える請求の範囲2記載のメモリデバイス。
- 前記エラー報告に対応したブロック単位のデータを外部から取得し、前記データを前記検査情報を用いて検査し、前記データが正常であるとき、当該データを、前記第1のメモリ領域に書き込む修正手段を備える請求の範囲10記載のメモリデバイス。
- 前記エラー報告に対応したブロック単位のデータを外部から取得し、前記データを前記検査情報を用いて検査し、前記データが正常であるとき、当該データを、前記第1のメモリ領域に書き込む修正手段を備える請求の範囲11記載のメモリデバイス。
- 暗号化データを復号化する復号化手段を備え、前記復号化手段は、前記検査手段が正常と判定した暗号化データのブロック単位のみを復号化し、前記読み出し手段は、前記復号化手段が復号化したブロック単位のデータを順次読み出す請求の範囲2記載のメモリデバイス。
- 暗号化データを復号化する復号化手段を備え、前記検査手段は、前記検査情報を用いて、前記復号化手段が復号化したブロック単位のデータに含まれるデータ破損を検査し、前記読み出し手段は、前記検査手段が正常と判定したブロック単位のデータを順次読み出す請求の範囲2記載のメモリデバイス。
- 検査対象のデータに先行して前記検査情報を更新する検査情報更新手段を備え、前記データの前記第1のメモリ領域への書き込みを前記修正手段が行う請求の範囲20記載のメモリデバイス。
- データをメモリデバイスの非耐タンパ性のメモリ領域に格納し、前記データの破損の検査に用いる検査情報を前記メモリデバイスの耐タンパ性のメモリ領域に格納する端末装置。
- ブロック単位に分けたデータと、各ブロックのデータ破損を検査するための検査情報とをサーバから取得し、前記データをメモリデバイスにおける非耐タンパ性の第1のメモリ領域に格納し、前記検査情報を前記メモリデバイスにおける耐タンパ性の第2のメモリ領域に格納する端末装置。
- 前記メモリデバイスから、データ破損が生じているブロックを示すエラー報告を得て、当該ブロックのデータを前記サーバから取得し、前記メモリデバイスの第1のメモリ領域に格納する請求の範囲27記載の端末装置。
- 前記メモリデバイスから、データ破損が生じているブロック単位のデータの発行元に対する配信要求が出力されたとき、当該ブロックのデータを前記発行元のサーバから取得し、前記メモリデバイスの第1のメモリ領域に格納する請求の範囲27記載の端末装置。
- 前記メモリデバイスからの前記エラー報告の回数または前記配信要求の回数が閾値を越えたとき、前記サーバからのデータ取得を停止する請求の範囲28記載の端末装置。
- 前記メモリデバイスからの前記エラー報告の回数または前記配信要求の回数が閾値を越えたとき、前記サーバからのデータ取得を停止する請求の範囲29記載の端末装置。
- データと前記データの破損を検査する検査情報とを管理するサーバと、前記サーバから前記データ及び検査情報を取得する端末装置と、前記端末装置が前記サーバから取得した前記データを非耐タンパ性のメモリ領域に格納し、前記検査情報を耐タンパ性のメモリ領域に格納するメモリデバイスとを備え、前記メモリデバイスは、前記検査情報を用いて前記データの破損を検出し、前記端末装置は、破損が検出されたデータを前記サーバから取得し、前記メモリデバイスは、前記端末装置が取得したデータを用いてデータの破損を修復するデータ修復システム。
- ブロック単位に分けたデータと各ブロックのデータ破損を検査するための検査情報とを管理するサーバと、前記サーバから前記データと前記検査情報とを取得する端末装置と、前記端末装置が取得した前記データを非耐タンパ性の第1のメモリ領域に格納し、前記検査情報を耐タンパ性の第2のメモリ領域に格納するメモリデバイスとを備え、前記メモリデバイスは、前記検査情報を用いてデータ破損が生じているブロックを検出し、前記端末装置は、検出された前記ブロックのデータを前記サーバから取得し、前記メモリデバイスは、前記端末装置が取得したデータを用いてデータ破損を修復するデータ修復システム。
- 前記端末装置は、前記サーバから前記検査情報を前記データに先行して取得し、前記メモリデバイスは、前記検査情報を格納し、前記データの読み出し要求があったときに、未蓄積の前記データをデータ破損が生じているデータとして検出し、これを受けた前記端末装置が、前記データを前記サーバから取得して、前記メモリデバイスに格納する請求の範囲33記載のデータ修復システム。
- データを格納する非耐タンパ性の第1のメモリ領域と、データ破損の検査に用いる検査情報を格納する耐タンパ性の第2のメモリ領域と、外部から取得したデータを前記第1のメモリ領域に書き込み、前記検査情報を前記第2のメモリ領域に書き込む書き込み手段と、前記外部から取得したデータの破損を前記検査情報を用いて検査する検査手段と、前記検査手段が正常と判定したデータを読み出す読み出し手段とを備えるメモリデバイス。
- データとこのデータの破損を検査するための検査情報とをサーバから取得し、前記データをメモリデバイスにおける非耐タンパ性の第1のメモリ領域に格納し、前記検査情報を前記メモリデバイスにおける耐タンパ性の第2のメモリ領域に格納する端末装置。
- データとこのデータの破損を検査するための検査情報とを管理するサーバと、前記サーバから前記データと前記検査情報とを取得する端末装置と、前記端末装置が取得した前記データを非耐タンパ性の第1のメモリ領域に格納し、前記検査情報を耐タンパ性の第2のメモリ領域に格納するメモリデバイスとを備え、前記メモリデバイスは、前記検査情報を用いて前記データの破損の有無を検出し、前記端末装置は、前記破損が検出されたデータを前記サーバから取得し、前記メモリデバイスは、前記端末装置が取得したデータを用いてデータ破損を修復するデータ修復システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002023704 | 2002-01-31 | ||
JP2002023704 | 2002-01-31 | ||
PCT/JP2003/000500 WO2003065225A1 (fr) | 2002-01-31 | 2003-01-22 | Dispositif de memoire, appareil terminal et systeme de reparation de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2003065225A1 true JPWO2003065225A1 (ja) | 2005-05-26 |
Family
ID=27654466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003564748A Withdrawn JPWO2003065225A1 (ja) | 2002-01-31 | 2003-01-22 | メモリデバイス、端末装置及びデータ修復システム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20040073846A1 (ja) |
EP (1) | EP1471429A4 (ja) |
JP (1) | JPWO2003065225A1 (ja) |
KR (1) | KR20040080936A (ja) |
CN (1) | CN1308849C (ja) |
TW (1) | TW200302419A (ja) |
WO (1) | WO2003065225A1 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060015753A1 (en) * | 2004-07-15 | 2006-01-19 | International Business Machines Corporation | Internal RAM for integrity check values |
JP4315876B2 (ja) * | 2004-08-17 | 2009-08-19 | 富士通株式会社 | ファイル管理プログラム、ファイル管理方法、及びファイル管理装置 |
US7904706B2 (en) * | 2004-12-01 | 2011-03-08 | Innovation First, Inc. | System and method for processing encrypted source code updates |
KR100736047B1 (ko) * | 2005-07-28 | 2007-07-06 | 삼성전자주식회사 | 무선 네트워크 장치 및 이를 이용한 인증 방법 |
US8544733B2 (en) * | 2006-04-28 | 2013-10-01 | Giesecke & Devrient Gmbh | Method and apparatus for personalizing portable data storage media |
US8127203B2 (en) * | 2007-09-17 | 2012-02-28 | Infineon Technologies Ag | Method, data processing apparatus and wireless device |
US8276024B2 (en) * | 2008-03-25 | 2012-09-25 | Sony Computer Entertainment America Llc | Method and system for error correction of a storage media |
US7937625B2 (en) * | 2008-09-26 | 2011-05-03 | Microsoft Corporation | Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors |
JP2010250700A (ja) * | 2009-04-17 | 2010-11-04 | Daikin Ind Ltd | Eepromのデータエラーチェック方法、及び制御ユニット |
EP2270758B1 (en) * | 2009-06-30 | 2013-11-27 | Kabushiki Kaisha Toshiba | Portable electronic apparatus, processing apparatus for portable electronic apparatus, and data processing method in portable electronic apparatus |
US8510615B2 (en) * | 2009-10-22 | 2013-08-13 | Xerox Corporation | Virtual repair of digital media |
JP5740646B2 (ja) * | 2010-01-12 | 2015-06-24 | 日本電産サンキョー株式会社 | ソフトウェアのダウンロード方法 |
EP2495690B1 (en) * | 2011-03-01 | 2015-05-13 | Nxp B.V. | Transponder and method for monitoring access to application data in the transponder |
JP5762139B2 (ja) * | 2011-05-30 | 2015-08-12 | 株式会社メガチップス | 情報処理端末及び管理サーバ |
US10108537B2 (en) | 2011-11-29 | 2018-10-23 | Red Hat, Inc. | Mechanisms for reproducing storage system metadata inconsistencies in a test environment |
CN103455386B (zh) * | 2013-08-28 | 2016-11-23 | 华为技术有限公司 | 一种修复出错数据的方法和设备 |
US9280301B2 (en) | 2013-08-28 | 2016-03-08 | Huawei Technologies Co., Ltd. | Method and device for recovering erroneous data |
KR102190340B1 (ko) | 2014-05-07 | 2020-12-14 | 삼성전자주식회사 | 피커 어셈블리 |
CN104463796B (zh) * | 2014-11-21 | 2018-04-10 | 深圳市华宝电子科技有限公司 | 一种车载视频修复方法及装置 |
JP6761280B2 (ja) * | 2016-05-30 | 2020-09-23 | ローム株式会社 | データ保持装置およびデータ保持システム |
JP6475210B2 (ja) * | 2016-10-14 | 2019-02-27 | Necプラットフォームズ株式会社 | フラッシュメモリ装置 |
JP6737189B2 (ja) * | 2017-01-18 | 2020-08-05 | トヨタ自動車株式会社 | 不正判定システム及び不正判定方法 |
US10768849B2 (en) * | 2017-03-29 | 2020-09-08 | Amazon Technologies, Inc. | Migration of information via storage devices |
CN109117081A (zh) * | 2017-06-23 | 2019-01-01 | 中兴通讯股份有限公司 | 数据存储方法及装置、多功能卡、存储介质 |
JP7052325B2 (ja) * | 2017-12-04 | 2022-04-12 | 大日本印刷株式会社 | デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法 |
US10754989B2 (en) * | 2018-03-27 | 2020-08-25 | International Business Machines Corporation | Runtime self-correction for blockchain ledgers |
JP7287026B2 (ja) * | 2019-03-18 | 2023-06-06 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、ファイル管理装置、ファイル管理システム及びプログラム |
CN114726884B (zh) * | 2022-06-06 | 2022-09-27 | 深圳市佑荣信息科技有限公司 | 一种金融级文件安全存储方法及系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3693721B2 (ja) * | 1995-11-10 | 2005-09-07 | Necエレクトロニクス株式会社 | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 |
EP0825530A3 (en) * | 1996-06-20 | 2004-06-02 | Sharp Kabushiki Kaisha | Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory |
US6092229A (en) * | 1996-10-09 | 2000-07-18 | Lsi Logic Corporation | Single chip systems using general purpose processors |
US5870759A (en) * | 1996-10-09 | 1999-02-09 | Oracle Corporation | System for synchronizing data between computers using a before-image of data |
US6381741B1 (en) * | 1998-05-18 | 2002-04-30 | Liberate Technologies | Secure data downloading, recovery and upgrading |
JPH11289526A (ja) * | 1998-04-03 | 1999-10-19 | Toshiba Corp | 不正データ検出方法及び同方法を用いた有料放送受信装置 |
US6820203B1 (en) * | 1999-04-07 | 2004-11-16 | Sony Corporation | Security unit for use in memory card |
US6351810B2 (en) * | 1999-06-30 | 2002-02-26 | Sun Microsystems, Inc. | Self-contained and secured access to remote servers |
WO2001006374A2 (en) * | 1999-07-16 | 2001-01-25 | Intertrust Technologies Corp. | System and method for securing an untrusted storage |
US6615253B1 (en) * | 1999-08-31 | 2003-09-02 | Accenture Llp | Efficient server side data retrieval for execution of client side applications |
US6606660B1 (en) * | 1999-08-31 | 2003-08-12 | Accenture Llp | Stream-based communication in a communication services patterns environment |
JP2001290648A (ja) * | 2000-04-05 | 2001-10-19 | Hitachi Ltd | プログラム/データのローディングチェック方式 |
-
2003
- 2003-01-22 JP JP2003564748A patent/JPWO2003065225A1/ja not_active Withdrawn
- 2003-01-22 US US10/467,067 patent/US20040073846A1/en not_active Abandoned
- 2003-01-22 WO PCT/JP2003/000500 patent/WO2003065225A1/ja not_active Application Discontinuation
- 2003-01-22 EP EP03705008A patent/EP1471429A4/en not_active Withdrawn
- 2003-01-22 CN CNB038001187A patent/CN1308849C/zh not_active Expired - Fee Related
- 2003-01-22 KR KR10-2003-7013808A patent/KR20040080936A/ko not_active Application Discontinuation
- 2003-01-23 TW TW092101495A patent/TW200302419A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
TW200302419A (en) | 2003-08-01 |
CN1308849C (zh) | 2007-04-04 |
WO2003065225A1 (fr) | 2003-08-07 |
KR20040080936A (ko) | 2004-09-20 |
EP1471429A1 (en) | 2004-10-27 |
EP1471429A4 (en) | 2007-09-12 |
CN1498371A (zh) | 2004-05-19 |
US20040073846A1 (en) | 2004-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2003065225A1 (ja) | メモリデバイス、端末装置及びデータ修復システム | |
JP5749257B2 (ja) | データ検証方法 | |
JP6053950B2 (ja) | ソフトウェア更新装置及びソフトウェア更新プログラム | |
US20080201520A1 (en) | Flash firmware management | |
JP4851182B2 (ja) | マイクロコンピュータ、マイクロコンピュータに対するプログラム書込み方法、及び書込み処理システム | |
CN102841992A (zh) | 用于基于计算机的当前组件生成用于受保护的数字数据对象的加密密钥的方法 | |
TWI736075B (zh) | 儲存裝置 | |
US8898807B2 (en) | Data protecting method, mobile communication device, and memory storage device | |
US10853197B2 (en) | Data recovery with authenticity | |
US9245152B2 (en) | Method for authenticating a storage device, machine-readable storage medium, and host device | |
CN112907375A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN105550071B (zh) | 系统文件升级及检测方法、通信设备 | |
JP2007316944A (ja) | データ処理装置、データ処理方法、およびデータ処理プログラム | |
JP2006523870A (ja) | 制御装置内のソフトウェアのデータ整合性を検査する方法 | |
CN109002710A (zh) | 一种检测方法、装置及计算机可读存储介质 | |
JP4888862B2 (ja) | メモリ管理方法 | |
CN114297679B (zh) | 一种镜像加密传输与升级的方法 | |
CN106294020A (zh) | 安卓系统应用分区文件保护方法及终端 | |
CN114297093A (zh) | 一种数据的存储方法、装置、设备及存储介质 | |
JP2006185261A (ja) | 不揮発性メモリ | |
CN117272302A (zh) | 可信dcs上位机恶意篡改文件复原方法、系统、设备及介质 | |
CN116893778A (zh) | 存储数据删除管理系统及装置 | |
JP2004185348A (ja) | プログラム修正方法およびその実施icカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051227 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070709 |