JP4891902B2 - 電子機器、更新サーバ装置、鍵更新装置 - Google Patents
電子機器、更新サーバ装置、鍵更新装置 Download PDFInfo
- Publication number
- JP4891902B2 JP4891902B2 JP2007519003A JP2007519003A JP4891902B2 JP 4891902 B2 JP4891902 B2 JP 4891902B2 JP 2007519003 A JP2007519003 A JP 2007519003A JP 2007519003 A JP2007519003 A JP 2007519003A JP 4891902 B2 JP4891902 B2 JP 4891902B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- falsification detection
- data
- application file
- list
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Error detection or correction of the data by redundancy in operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/86—Secure or tamper-resistant housings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5053—Lease time; Renewal aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2129—Authenticate client device independently of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Storage Device Security (AREA)
Description
携帯電話などの電子機器においても耐タンパー技術の適用が行われている。特許文献1では、電子機器内のメモリに対する改竄を防止するために、ハッシュ関数を用いた耐タンパー技術の一つである改竄検出方式が開示されている。
「逆解析や改変からソフトを守る」 日経エレクトロニクス 1998.1.5 (P209−220) 「ソフトウェアの耐タンパー化技術」 富士ゼロックス テクニカル レポート No.13 (P20−28)
ここで、前記更新制御部は、全ての更新データの書き込みが完了すると、前記改竄検出実行手段の処理を開始するように制御するとしてもよい。
ここで、前記更新処理手段は、さらに、アプリケーションファイルの更新中であることを示す第1の情報、又は更新中でないことを示す第2の情報の何れかを示すフラグを記憶しているフラグ記憶部と、前記フラグが示す情報を変更するフラグ変更部とを備え、前記フラグ変更部は、前記受取手段が更新データと位置情報との組を少なくとも1つ以上受け取るときに、前記フラグの情報を、前記第1の情報に変更し、前記改竄検出実行手段にて改竄が検出されなかった場合に、前記フラグの情報を、前記第2の情報に変更するとしてもよい。
ここで、前記更新制御部は、さらに、前記電子機器に電源が投入されると、前記フラグが示す情報を確認し、第1の情報である場合には、前記位置決定部と前記書込部の処理を行うように制御するとしてもよい。
ここで、前記アプリケーションファイルは、1つ以上のブロックに分割されており、前記更新データは、前記1以上のブロックのうち少なくとも1つ以上の更新対象ブロックに含まれ、前記記憶手段は、1つ以上の前記ブロックそれぞれに対する基準改竄検出値を有する改竄検出リストを記憶しており、前記受取手段は、さらに、1つ以上の前記更新対象ブロックそれぞれに対する新たな基準改竄検出値と、前記1つ以上の前記更新対象ブロックそれぞれに対する基準改竄検出値の、前記改竄検出リストにおける位置を示す改竄検出位置情報とからなる組を受け取り、前記更新処理手段は、さらに、1つ以上の新たな基準改竄検出値と、前記改竄検出値位置情報とを用いて、前記改竄検出リストを更新し、前記改竄検出実行手段は、前記更新された改竄検出リストが正当なものである場合にのみ、前記更新された改竄検出リストが有する少なくとも1つ以上の基準改竄検出値に基づいて、改竄検出の対象となるブロックが改竄されているか否かを確認するとしてもよい。
ここで、前記アプリケーションファイルは、1つ以上のブロックに分割されており、前記記憶手段は、1つ以上の前記ブロックそれぞれに対する基準改竄検出値を有する改竄検出リストを記憶しており、前記改竄検出実行手段は、前記アプリケーションソフトウェアの起動時に処理を開始し、前記改竄検出リストが正当なものである場合にのみ、前記改竄検出リストが有する少なくとも1つ以上の改竄検出値に基づいて、改竄検出の対象となるブロックが改竄されているか否かを確認するとしてもよい。
ここで、前記改竄検出手段は、改竄検出対象であるブロックに対する検出用改竄検出値を算出し、算出した検出用改竄検出値と、改竄検出対象であるブロックに対する改竄検出値とが一致するか否かを判断し、一致すると判断する場合には前記アプリケーションファイルは改竄されていないとし、一致しない場合には前記アプリケーションファイルは改竄されているとするとしてもよい。
ここで、前記記憶部は、部分鍵を記憶しており、前記改竄検出実行手段は、耐タンパ化されており、マスタ鍵を記憶し、前記部分鍵と前記マスタ鍵とを用いて、改竄検出鍵を生成し、生成した改竄検出鍵を用いて、前記検出用改竄検出値を算出するとしてもよい。
ここで、前記受取手段は、前記部分鍵とは異なる別の部分鍵と、前記部分鍵が前記記憶部にて記憶されている位置を示す鍵位置情報とを受け取り、前記更新処理手段は、前記鍵位置情報に基づいて、前記部分鍵を前記別の部分鍵に更新するとしてもよい。
ここで、前記改竄検出リストは、前記1つ以上のブロックそれぞれに対する基準改竄検出値を含むデータ部と、前記データ部に対する基準データ部改竄検出値を含むヘッダ部とから構成され、前記改竄検出実行手段は、前記データ部に対する検出用データ部改竄検出値を算出し、算出した前記検出用データ部改竄検出と前記基準データ部改竄検出値とが一致する場合に、前記改竄検出リストが正当なものであるとするとしてもよい。
ここで、前記データ部は暗号化されており、前記改竄検出実行手段は、暗号化された前記データ部に対する検出用改竄検出値を算出し、前記改竄検出リストが正当なものである場合に、暗号化された前記データ部を復号するとしてもよい。
ここで、前記改竄検出リストにおいて、基準改竄検出値のそれぞれに対して、対応するブロックが改竄検出の対象として使用すべきか否かを示す判断情報が対応付けられており、前記改竄検出実行手段は、前記判断情報がブロックを改竄検出の対象としない旨を示す場合には、当該ブロックに対する改竄検出は行わないとしてもよい。
ここで、前記改竄検出リストは、前記1つ以上のブロックそれぞれに対する基準改竄検出値と、改竄検出の対象となるアプリケーションソフトウェアの種別を示すアプリケーション種別とが対応付けられた組を1つ以上含み、前記改竄検出実行手段は、起動されたアプリケーションソフトウェアに対するアプリケーション種別に対応する基準改竄検出値それぞれのうち少なくとも1つ以上の改竄検出値に基づいて、改竄検出の対象となるブロックが改竄されているか否かを確認するとしてもよい。
ここで、前記アプリケーションソフトウェアの動作に係るアプリケーションファイルは複数個あり、前記アプリケーションファイルのそれぞれは、1つ以上のブロックに分割されており、前記改竄検出リストは、アプリケーションファイルそれぞれに対して、1つ以上のブロックそれぞれに対する基準改竄検出値を基準値群として格納し、1つ以上の前記基準値群のうち前記アプリケーションソフトウェアの起動時に改竄検出に用いる少なくとも1つ以上の基準値群の範囲を示す範囲情報を有し、前記改竄検出実行手段は、前記アプリケーションソフトウェアの起動時に、前記改竄検出リストが有する前記範囲情報にて示される少なくとも1つ以上の基準値群を用いて、改竄検出の対象となるブロックが改竄されているか否かを確認するとしてもよい。
ここで、前記更新処理手段及び前記改竄検出実行手段は、耐タンパ化されているとしてもよい。
また、本発明は、ネットワークを介して電子機器に、前記電子機器が有し、且つ1つ以上のデータからなるアプリケーションファイルの更新を行わせる更新サーバ装置であって、更新後のアプリケーションファイルを取得する第1取得手段と、取得した前記更新後のアプリケーションファイルから更新データと、更新前のアプリケーションファイルにおいて前記更新データによって更新する位置を示す位置情報とを取得する第2取得手段と、取得した前記更新データと前記位置情報とを前記電子機器へ送信する送信手段とを備えることを特徴とする。
ここで、前記改竄検出リスト生成手段は、外部装置によって部分鍵とマスタ鍵とを用いて生成された改竄検出鍵を記憶しており、前記改竄検出鍵を用いて、前記1以上の更新後ブロックそれぞれに対する基準改竄検出値を算出するとしてもよい。
ここで、前記更新サーバ装置は、前記外部装置によって更新された部分鍵と前記マスタ鍵とを用いて更新された改竄検出鍵を受け取ると、記憶している前記改竄検出鍵を、受け取った前記更新された改竄検出鍵に更新し、さらに、前記更新された部分鍵を前記外部装置から受け取り、前記改竄検出リスト生成手段は、前記更新された改竄検出鍵を用いて、前記1以上の更新後ブロックのそれぞれに対する基準改竄検出値を算出し、前記第2取得手段は、さらに、前記電子機器にて前記部分鍵が記憶されている位置を示す鍵位置情報を取得し、前記送信手段は、さらに、前記更新された部分鍵と、前記鍵位置情報とを前記電子機器に送信するとしてもよい。
ここで、前記改竄検出リストは、前記1つ以上の更新後ブロックそれぞれと、前記更新後ブロック毎に対する基準改竄検出値とからなるデータ部を有し、前記改竄検出リスト生成手段は、生成した新たな改竄検出リストのデータ部を暗号化するとしてもよい。
ここで、前記更新後改竄検出リストは、ヘッダ部を有し、前記改竄検出リスト生成手段は、外部装置によって部分鍵とマスタ鍵とを用いて生成された改竄検出鍵を記憶しており、前記改竄検出鍵を用いて、暗号化されたデータ部に対するデータ部改竄検出値を算出し、算出したデータ部改竄検出値を前記ヘッダ部へ格納するとしてもよい。
ここで、前記改竄検出リストは、ヘッダ部と、前記1つ以上の前記更新後ブロックそれぞれと、前記更新後ブロック毎に対する基準改竄検出値とからなるデータ部とを有し、前記改竄検出リスト生成手段は、外部装置によって部分鍵とマスタ鍵とを用いて生成された改竄検出鍵を記憶しており、前記改竄検出鍵を用いて、前記データ部に対するデータ部改竄検出値を算出し、算出したデータ部改竄検出値を前記ヘッダ部へ格納するとしてもよい。
ここで、前記改竄検出リスト生成手段は、前記データ部改竄検出値の算出後、前記データ部を暗号化するとしてもよい。
この構成によると、更新サーバ装置は、データ部が暗号化されているので、改竄検出リストに含まれる各ブロックの改竄検出値を不正解析者に知られないようにすることができる。
ここで、前記配布手段は、前記更新された部分鍵を、前記外部装置を介して前記アプリケーションファイルが改竄されているか否かの確認を行う電子機器へ配布するとしてもよい。
以下、本発明における第1の実施の形態について、図面を参照しながら説明する。
1.1 プログラム更新システム1の概要
図1は、第1の実施の形態におけるプログラム更新システム1の全体構成を示す図である。
鍵更新装置30は、更新サーバ装置20や携帯電話機10で用いられる改竄検出鍵を更新する。改竄検出鍵が不正に流出したときは、新しい改竄検出鍵の発行を行う。鍵更新装置30は、改竄検出鍵を生成する機関により厳重に管理されている。改竄検出鍵は、マスタ鍵と部分鍵とから生成される。マスタ鍵は、一度生成されると変更されない鍵であり、部分鍵は、改竄検出鍵の更新を行う際に、更新される鍵である。
更新サーバ装置20は、更新データリストを保持しており、携帯電話機10からの更新要求情報を受け付けると、更新要求の対象であるファイルに対応する更新データリストを携帯電話機10に送信する。
1.2 携帯電話機10の構成
携帯電話機10は、図2にて示すように、記憶部101、制御部102、更新処理部103、更新ファイル受取部104、改竄検出実行部105、マイク106、スピーカ107、入力部108、表示部109、無線部110、及びアンテナ111から構成されている。
記憶部101は、図2に示すように、検出対象情報群120、120a、・・・、102mを記憶している。なお、検出対象情報群120、120a、・・・、102mは全て同じ構成であるので、ここでは、検出対象情報群120の構成について説明する。
検出対象情報群120は、図2に示すように、APファイル群121、ハッシュリスト122、及び部分鍵を記憶している。
APファイル群121は、第1ファイル125、・・・、第nファイル126を有している。第1ファイル125、・・・、第nファイル126は、改竄検出の対象となるファイルであり、具体的には、上述したように、APそのものや、APから呼び出されるエンコーダ、デコーダ、ドライバ、APが動作する環境を提供するJava(登録商標)VMのような仮想実行環境などである。ここで、nは1以上の整数である。つまり、APファイル群121には、1つ以上のファイルが格納されている。
(ハッシュリスト122)
ハッシュリスト122は、第1ファイル125、・・・、第nファイル126の改竄検出用のハッシュ値をリストとして保持している。ハッシュリスト122は局所的な更新が可能となるように、携帯電話機の製造時において固定されたアドレスに記録されている。
図3は、ハッシュリスト122のデータ構造の一例を示す図である。
ハッシュリスト122は、暗号化されていないヘッダ部130と暗号化されているデータ部131とから構成されている。ここで、暗号化に用いられるアルゴリズムは、例えば、XORのような論理演算もしくはDES(Data Encryption Standard)、AES(Advanced Encryption Standard)といった暗号アルゴリズムである。暗号アルゴリズムDES、AESは、公知であるため説明は省略する。
ハッシュ情報134は、1つのファイル情報140と複数のMAC情報141とから構成されている。
MAC情報141は、1個以上のエントリで構成されている。ここで、エントリの数は、ブロック数142にて示される値+1である。
データ部131の最後の位置するハッシュ情報における最終エントリには、ハッシュリスト122における最後のエントリであることを示す情報“end of entry”が埋められている。ここでは、ハッシュ情報135が、データ部131の最後に位置するハッシュ情報であるので、その最終エントリ146には、“end of entry”が埋められている。なお、ハッシュ情報135の他の構成要素は、ハッシュ情報134において最終エントリ145を除く他の構成要素と同様であるため説明は省略する。
なお、ここでは、ハッシュリスト122は、ハッシュリスト122が属する検出対象情報群120に含まれるAPを識別するAP識別情報と対応付けがされているものとする。
部分鍵123は、改竄検出を行われる実行するときにマスタ鍵とともに改竄検出鍵の算出に用いられる。部分鍵123は更新が可能となるように、携帯電話機の製造時において固定されたアドレスに記録されている。
なお、ここでは、ハッシュリスト122と同様に、部分鍵123は、部分鍵123が属する検出対象情報群120に含まれるAPを識別するAP識別情報と対応付けがされているものとする。
制御部102は、携帯電話機10の全体の制御を行う。
制御部102は、無線部110から通話に係る信号(音声信号)を受け取ると、受け取った信号をスピーカ107へ出力するための信号処理を行う。
制御部102は、マイク106から通話に係る信号(音声信号)を無線部110へ出力するための信号処理を行う。
制御部102は、更新処理部103からファイルの更新完了の通知を受け取ると、表示部109を介して、更新完了のメッセージを表示する。
制御部102は、改竄検出実行部105から改竄が検出された通知を受け取ると、起動指示のあったAPの動作を終了する。
(3)更新処理部103
更新処理部103は、更新ファイル受取部104が更新サーバ装置20より受け取った更新データリスト150より更新対象となるファイルやリスト、もしくは鍵などのデータを更新する。
更新処理部103は、図5に示すように、フラグ記憶部161、更新制御部162、更新データ読取部163、更新データ解析部164、書込位置決定部165、更新データ書込部166、及び更新確認部167から構成されている。
(フラグ記憶部161)
フラグ記憶部161は、APに係るファイルの更新を行っているか否かを示すフラグを記憶している。ここでは、フラグの値「0」である場合には、更新処理部103が、更新を行っていない旨を示し、値「1」である場合には、更新処理部103が、更新を行っている旨を示す。なお、フラグ記憶部161は、具体的には、不揮発性のメモリである。つまり、携帯電話機10の電源を切っても、フラグ記憶部161の記憶内容は保持される。
更新制御部162は、制御部102から更新開始命令を受け取ると、他の命令による処理が割り込まないように、制御部102に対して割り込み禁止を設定する。
更新制御部162は、フラグ記憶部161に記憶されているフラグの値を「1」に設定する。
更新制御部162は、更新データ読取部163から全ての更新データの書き込みが完了した旨の書込完了命令を受け取ると、改竄検出の処理を開始する旨の検出開始命令と、AP識別情報とを改竄検出実行部105へ出力する。
更新制御部162は、改竄検出実行部105から改竄が検出された通知を受け取ると、更新失敗の通知を制御部102へ出力する。更新制御部162は、制御部102から再更新開始命令を受け取ると、再度、AP識別情報を更新データ読取部163へ出力する。
携帯電話機10に電源が投入され、電源の供給が開始されると、更新制御部162は、フラグ記憶部161に記憶されているフラグの値をチェックする。値が「1」である場合には、更新処理中の状態であると判断し、制御部102に対して割り込み禁止を設定する。更新制御部162は、更新処理の再開始を示す再開始命令を更新データ読取部163へ出力する。更新制御部162は、更新データ読取部163から更新処理の再開始が不要である旨を示す再開始不要命令を受け取ると、制御部102に対する割り込み禁止を解除し、フラグ記憶部161に記憶されているフラグの値を「0」に設定する。
更新データ読取部163は、更新制御部162からAP識別情報を受け取ると、受け取ったAP識別情報を更新ファイル受取部104へ出力する。
更新データ読取部163は、更新ファイル受取部104から更新サーバ装置20から更新データリスト150の受信が完了した旨の受信完了命令を受け取ると、受信した更新データリスト150から未読の更新情報を1つ読み出す。
更新データ読取部163は、再開始不要命令を受け取ると、受け取った再開始不要命令を更新制御部162へ出力する。
更新データ解析部164は、更新データ読取部163にて読み出された更新情報を、位置情報、データサイズ、及び更新データに分割する。これにより、更新データ解析部164は、更新情報から位置情報、データサイズ、及び更新データを取得することができる。
(書込位置決定部165)
書込位置決定部165は、更新データ解析部164にて取得された位置情報に基づいて、記憶部101における更新データの書込位置を決定する。
更新データ書込部166は、書込位置決定部165にて決定された書込位置を書込開始の先頭位置として、更新データ解析部164にて取得された更新データを書き込む。
(更新確認部167)
更新確認部167は、更新データ書込部166による書き込みが正常に終了したか否かを確認する。
(4)更新ファイル受取部104
更新ファイル受取部104は、携帯電話機10を識別する端末識別子を予め記憶している。
更新ファイル受取部104は、更新処理部103の更新データ読取部163からAP識別情報を受け取ると、受け取ったAP識別情報と、端末識別子と、更新要求情報とを、無線部110を介して、更新サーバ装置20へ送信し、受け取ったAP識別情報をAP識別情報記憶領域へ格納する。
更新ファイル受取部104は、更新データ読取部163から再開始命令を受け取ると、AP識別情報記憶領域に格納されているAP識別情報が存在するか否かを判断する。存在すると判断する場合には、更新ファイル受取部104は、格納しているAP識別情報と、端末識別子とを、無線部110を介して、更新サーバ装置20へ送信し、上記と同様の動作を行う。
改竄検出実行部105は、図6に示すように、検出制御部171、改竄検出呼出部172、改竄検出処理部173、及びファイル読込部174から構成されている。
改竄検出実行部105は、悪意のあるユーザによる解析に対する耐性をもつよう耐タンパー技術で保護されている。耐タンパー技術は、公知であるため説明は省略する。
検出制御部171は、制御部102若しくは更新処理部103の更新制御部162のいずれかから検出開始命令とAP識別情報とを受け取ると、受け取った検出開始命令とAP識別情報とを改竄検出呼出部172へ出力する。
検出制御部171は、改竄検出処理部173から改竄されていない通知若しくは改竄が検出された通知のうちいずれかを受け取る。
改竄検出呼出部172は、検出制御部171から検出開始命令とAP識別情報とを受け取ると、記憶部101から受け取ったAP識別情報に対応するハッシュリスト122を読み出す。
改竄検出呼出部172は、読み出したハッシュリスト122と、受け取った検出開始命令及びAP識別情報とを、改竄検出処理部173へ出力する。
改竄検出処理部173は、図6に示すように、マスタ鍵記憶部175を有している。マスタ鍵記憶部175は、マスタ鍵176を記憶している。
改竄検出処理部173は、改竄検出呼出部172からハッシュリスト122と、検出開始命令及びAP識別情報とを受け取ると、改竄検出の処理を開始する。
改竄検出処理部173は、読み出した部分鍵123と、マスタ鍵176と、特定のアルゴリズムとを用いて改竄検出鍵を算出する。ここで、特定のアルゴリズムは、例えば、XOR(排他的論理和)のような論理演算、若しくはDES、AESといった暗号アルゴリズムであるとする。
一致しないと判断する場合には、改竄検出処理部173は、改竄が検出された通知を検出制御部171へ出力する。
改竄検出処理部173は、復号したデータ部から、未読のハッシュ情報を読み出す。改竄検出処理部173は、読み出したハッシュ情報に含まれるファイル情報をファイル読込部174へ出力し、その後、ファイル読込部174からファイルの読み込みが完了した旨を示すファイル読込完了命令を受け取る。
最終エントリでないと判断する場合には、改竄検出処理部173は、取得したエントリに含まれるオフセット及びサイズとを読み出し、読み出したオフセット及びサイズに基づいて、ファイル読込部174にて読み込まれたファイルから検出対象のブロックを取得する。改竄検出処理部173は、算出した改竄検出鍵とハッシュ計算アルゴリズムとを用いて、取得したブロックに対する検出用ハッシュ値を算出する。改竄検出処理部173は、算出した検出用ハッシュ値と取得したエントリに含まれるハッシュ値とが一致するか否かを判断する。一致すると判断する場合には、改竄検出処理部173は、読み出したハッシュ情報から未読のエントリを取得し、上記動作を行う。一致しないと判断する場合には、改竄検出処理部173は、改竄が検出された通知を検出制御部171へ出力する。
ファイル読込部174は、読み込んだファイルを一時的に記憶するファイル記憶領域を有している。
ファイル読込部174は、改竄検出処理部173からファイル情報を受け取ると、受け取ったファイル情報に含まれるファイル名に基づいて、改竄検出対象のファイルを記憶部101から読み出す。
(6)マイク106
マイク106は、使用者の音声を受け付け、受け付けた音声を音声信号に変換し、変換した音声信号を制御部102へ出力する。
スピーカ107は、制御部102にて処理された音声信号を音声として出力する。
(8)入力部108
入力部108は、使用者の操作により、更新指示を受け付けると、受け付けた更新指示を制御部102へ出力する。
(9)表示部109
表示部109は、制御部102から更新完了のメッセージを受け取ると、受け取ったメッセージを表示する。
(10)無線部110
無線部110は、アンテナ111を備えており、無線信号の送受信を行う。
1.3 更新サーバ装置20の構成
更新サーバ装置20は、図7に示すように、記憶部201、データ取得部202、ハッシュリスト生成部203、ハッシュリスト書込部204、更新要求処理部205、入力部206、及び送受信部207から構成されている。
記憶部201は、携帯電話機10にて記憶されている検出対象情報群に対する更新データリストを1以上記憶するための領域と、ハッシュリストを記憶するための領域とを有している。
ここでは、検出対象情報群120に対する更新データリストを1つ以上記憶しているものとする。また、記憶されている更新データリストのそれぞれは、更新対象のファイルを含むAPのAP識別情報と対応付けられ、さらに、版数の管理がされている。また、携帯電話機10の端末識別子と、携帯電話機10に送信した更新データリストの版数とが対応付けられて管理されているものとする。また、ハッシュリストは、対応するAPのAP識別情報と対応付けがされている。
データ取得部202は、入力部206から初期設定指示を受け取ると、さらに、改竄検出対象となる1つ以上のファイル、及びターゲットパスリストを取得する。このとき、取得元は、例えば、外部装置である。データ取得部202は、受け取った初期設定指示と、取得した1つ以上のファイル、及びターゲットパスリストとをハッシュリスト生成部203へ出力する。ここで、ターゲットパスリストとは、改竄検出対象となる1つ以上のファイルそれぞれに対してのファイルシステム上にて格納されている格納場所を示す絶対パスや相対パスなどからなるパス名が格納されているリストである。なお、初期設定指示には、生成されるハッシュリストと対応するAPのAP識別情報が含まれる。
ハッシュリスト生成部203は、図8に示すように、改竄検出鍵記憶部210、データ受取部211、ハッシュリスト生成処理部212、暗号化処理部213、及び更新データリスト生成部214から構成されている。
ここで、ハッシュリスト生成部203は、1つの装置(ハッシュリスト生成装置)としてもよい。
改竄検出鍵記憶部210は、改竄検出鍵215を記憶している。
(データ受取部211)
データ受取部211は、データ取得部202より初期設定指示、第1更新指示、及び第2更新指示の何れかを受け取る。
データ受取部211は、第1更新指示を受け取ると、さらに、更新対象となる1つ以上のファイルそれぞれに対する更新ファイル、更新対象となる1つ以上のファイルのターゲットパスリスト、及びハッシュリストを受け取り、受け取った第1更新指示、1つ以上の更新ファイル、ターゲットパスリスト、及びハッシュリストをハッシュリスト生成処理部212に出力する。
(ハッシュリスト生成処理部212)
ハッシュリスト生成処理部212は、データ受取部211より初期設定指示、第1更新指示、及び第2更新指示の何れかを受け取る。
ハッシュリスト生成処理部212は、初期設定指示を受け取ると、さらに、改竄検出対象となる1つ以上のファイル、及びターゲットパスリストを受け取る。
ハッシュリスト生成処理部212は、受け取った1つ以上のファイルのうち1つのファイルを所定のサイズからなる1以上のブロックに分割する。ハッシュリスト生成処理部212は、分割されたファイルが携帯電話機10において格納されている位置を示すパス名をターゲットパスリストから読み取り、分割したブロックの数と、読み取ったパス名とからなるファイル情報を生成する。また、ハッシュリスト生成処理部212は、改竄検出鍵記憶部210から改竄検出鍵215を読み出す。ハッシュリスト生成処理部212は、所定のサイズに分割したブロック単位で、読み出した改竄検出鍵215とハッシュ計算アルゴリズムとを用いてハッシュ値を算出し、各ブロックに対して、ブロックの先頭位置を示すオフセットと、ブロックのサイズと、算出したハッシュ値とからなるエントリを生成し、生成した各エントリを含むMAC情報を生成する。ハッシュリスト生成処理部212は、生成したファイル情報とMAC情報とからなるハッシュ情報を生成する。なお、このとき、ハッシュ情報は、未だ暗号化されていない。この動作を、受け取った全てのファイルに対して行う。
ハッシュリスト生成処理部212は、生成した非暗号化データ部を暗号化処理部213へ出力する。
ハッシュリスト生成処理部212は、生成したハッシュリストを記憶部に格納するとともに、ハッシュリスト書込部204へ出力する。このとき、生成したハッシュリストと、初期設定指示に含まれるAP識別情報とが対応付けされる。
ハッシュリスト生成処理部212は、データ受取部211から第1更新指示を受け取ると、さらに、更新対象となる1つ以上のファイルそれぞれに対する更新ファイル、更新対象となる1つ以上のファイルのターゲットパスリスト、及びハッシュリストを受け取る。以下において、データ受取部211から受け取ったハッシュリストを旧ハッシュリストという。
ハッシュリスト生成処理部212は、生成した非暗号化データ部を暗号化処理部213へ出力する。
ハッシュリスト生成処理部212は、第1更新指示、生成した新ハッシュリストと、データ受取部211から受け取った旧ハッシュリスト及び1以上の更新ファイルとを更新データリスト生成部214へ出力する。
ハッシュリスト生成処理部212は、データ受取部211から第2更新指示を受け取ると、さらに、部分鍵、検出対象となる1つ以上のファイル、ターゲットパスリスト、及び旧ハッシュリストを受け取る。
ハッシュリスト生成処理部212は、受け取った1つ以上のファイルのうち1つのファイルを所定のサイズからなる1以上のブロックに分割する。ハッシュリスト生成処理部212は、分割された更新ファイルが携帯電話機10において格納されている位置を示すパス名をターゲットパスリストから読み取り、分割したブロックの数と、読み取ったパス名とからなるファイル情報を生成する。また、ハッシュリスト生成処理部212は、改竄検出鍵記憶部210から改竄検出鍵215を読み出す。ハッシュリスト生成処理部212は、所定のサイズに分割したブロック単位で、読み出した改竄検出鍵215とハッシュ計算アルゴリズムとを用いてハッシュ値を算出し、各ブロックに対して、ブロックの先頭位置を示すオフセットと、ブロックのサイズと、算出したハッシュ値とからなるエントリを生成し、生成した各エントリを含むMAC情報を生成する。ハッシュリスト生成処理部212は、生成したファイル情報とMAC情報とからなるハッシュ情報を生成する。なお、このとき、ハッシュ情報は、未だ暗号化されていない。この動作を、受け取った全てのファイルに対して行う。
ハッシュリスト生成処理部212は、生成した非暗号化データ部を暗号化処理部213へ出力する。
ハッシュリスト生成処理部212は、第2更新指示と、生成した新ハッシュリストと、データ受取部211から受け取った旧ハッシュリスト及び部分鍵とを更新データリスト生成部214へ出力する。
暗号化処理部213は、ハッシュリスト生成処理部212から非暗号化データ部を受け取ると、改竄検出鍵記憶部210から改竄検出鍵215を読み出す。
暗号化処理部213は、読み出した改竄検出鍵を用いて、受け取った非暗号化データ部を暗号化する。暗号に用いられるアルゴリズムは例えばXORのような論理演算もしくはDES、AESといった暗号アルゴリズムであり、携帯電話機10にて用いられる復号アルゴリズムに対応するものである。このとき、暗号化はファイル情報やMAC情報の1エントリを単位として行われる。
(更新データリスト生成部214)
更新データリスト生成部214は、第1更新指示及び第2更新指示のいずれかを受け取る。
更新データリスト生成部214は、さらに、ハッシュリスト生成処理部212から新ハッシュリストと、旧ハッシュリストと、1つ以上の更新ファイルとを受け取る。
更新データリスト生成部214は、受け取った旧ハッシュリスト、新ハッシュリストを比較し、情報の異なる箇所を新ハッシュリストから抽出する。ここで、抽出される情報は、データ部におけるエントリや、ヘッダ部におけるデータ部ハッシュ値である。
更新データリスト生成部214は、新ハッシュリストと、生成した更新データリストを記憶部201へ格納する。このとき、生成した更新データリストと、第1更新指示に含まれるAP識別情報とが対応付けされる。なお、記憶部201に記憶されている旧ハッシュリストは消去される。
更新データリスト生成部214は、さらに、ハッシュリスト生成処理部212から新ハッシュリストと、旧ハッシュリストと、部分鍵とを受け取る。
更新データリスト生成部214は、受け取った旧ハッシュリスト、新ハッシュリストを比較し、情報の異なる箇所を新ハッシュリストから抽出する。ここで、抽出される情報は、データ部におけるエントリや、ヘッダ部におけるデータ部ハッシュ値である。
更新データリスト生成部214は、生成した1個以上の更新情報からなる更新データリストを生成する。
更新データリスト生成部214は、新ハッシュリストと、生成した更新データリストを記憶部201へ格納する。このとき、生成した更新データリストと、第2更新指示に含まれるAP識別情報とが対応付けされる。なお、記憶部201に記憶されている旧ハッシュリストは消去される。
ハッシュリスト書込部204は、携帯電話機の製造時において、製造中(出荷前)の携帯電話機と接続され、携帯電話機の記憶部へのアクセスが可能である。
ハッシュリスト書込部204は、ハッシュリスト生成部203からハッシュリストを受け取ると、受け取ったハッシュリストを、接続された携帯電話機の記憶部へ書き込む。ハッシュリストが書き込まれるアドレスは、上述したように固定されたアドレスである。
更新要求処理部205は、送受信部207を介して携帯電話機10から、AP識別情報と、端末識別子と、更新要求情報とを受け取ると、受け取ったAP識別情報と、端末識別子とを用いて、携帯電話機10に送信すべき更新データリストの版数を決定する。上述したように、更新サーバ装置20は、更新データリストのそれぞれを、更新対象のファイルを含むAPのAP識別情報と対応付け、及び版数の管理を行っており、また、携帯電話機10の端末識別子と、携帯電話機10に送信した更新データリストの版数とを対応付けて管理しているので、送信すべき更新データリストを決定することができる。
(6)入力部206
入力部206は、使用者の操作により、初期設定指示を受け付けると、受け付けた初期設定指示をデータ取得部202へ出力する。
(7)送受信部207
送受信部207は、携帯網40及びインターネット50を介して携帯電話機10から受信した情報を更新要求処理部205へ出力する。
1.4 鍵更新装置30の構成
鍵更新装置30は、図9に示すように、鍵取得部301、改竄検出鍵生成部302、改竄検出鍵配布部303、及び出力部304から構成されている。
(1)鍵取得部301
鍵取得部301は、外部装置から、マスタ鍵、及び更新された部分鍵と、更新された部分鍵に対応するAPのAP識別情報とを取得する。なお、取得するマスタ鍵は、携帯電話機10にて記憶しているマスタ鍵と同一のものである。
鍵取得部301は、改竄検出鍵配布部303から更新サーバ装置20に対して改竄検出鍵の配布が完了した旨を示す配布完了命令を受け取ると、AP識別情報を含む第2更新指示と、更新された部分鍵とを出力部304へ出力する。
改竄検出鍵生成部302は、鍵取得部301からマスタ鍵及び更新された部分鍵を受け取ると、受け取ったマスタ鍵と、更新された部分鍵と、特定のアルゴリズムとを用いて改竄検出鍵を算出する。なお、ここで用いる特定のアルゴリズムは、携帯電話機10の改竄検出処理部173にて用いられるアルゴリズムと同一のものである。
(3)改竄検出鍵配布部303
改竄検出鍵配布部303は、更新サーバ装置20と接続され、改竄検出鍵記憶部210にアクセス可能である。
改竄検出鍵配布部303は、改竄検出鍵の書き込みが完了すると、配布完了命令を鍵取得部301へ出力する。
出力部304は、更新サーバ装置20のデータ取得部202と接続される。
出力部304は、鍵取得部301から第2更新指示と、更新された部分鍵とを受け取ると、受け取った、第2更新指示と、更新された部分鍵とをデータ取得部202へ出力する。
ここでは、更新サーバ装置20にて、更新データリスト、及びハッシュリストの生成の動作について、図10にて示す流れ図を用いて説明する。
データ受取部211は、データ取得部202より初期設定指示、第1更新指示、及び第2更新指示の何れかを受け取る(ステップS5)。
データ受取部211は、受け取った第1更新指示、1つ以上の更新ファイル、ターゲットパスリスト、及びハッシュリスト(以下、旧ハッシュリスト)をハッシュリスト生成処理部212に出力する。ハッシュリスト生成処理部212は、データ受取部211から第1更新指示、1つ以上のファイルそれぞれに対する更新ファイル、更新対象となる1つ以上のファイルのターゲットパスリスト、及び旧ハッシュリストを受け取る。
ハッシュリスト生成処理部212は、生成した非暗号化データ部を暗号化処理部213へ出力する。暗号化処理部213は、ハッシュリスト生成処理部212から非暗号化データ部を受け取ると、改竄検出鍵記憶部210から改竄検出鍵215を読み出す。暗号化処理部213は、読み出した改竄検出鍵を用いて、受け取った非暗号化データ部を暗号化する(ステップS25)。このとき、暗号化はファイル情報やMAC情報の1エントリを単位として行われる。
ハッシュリスト生成処理部212は、生成したヘッダ部と、暗号化処理部213から受け取った暗号化されたデータ部とからなる新ハッシュリストを生成する(ステップS35)。
データ受取部211は、第2更新指示を受け取ると(ステップS10における「第2更新指示」)、部分鍵、検出対象となる1つ以上のファイル、ターゲットパスリスト、及びハッシュリストを取得し(ステップS50)、ステップS20からステップS45までの動作を行う。なお、この場合、各構成要素が出力、及び受け取る指示は、第2更新指示となる。また、ステップS40で生成される更新データリストは、旧ハッシュリスト、新ハッシュリスト、及び部分鍵から生成される。また、ステップS45では、生成した更新データリストと、第2更新指示に含まれるAP識別情報とが対応付けされる。
データ受取部211は、受け取った初期設定指示、1以上のファイル、及びターゲットパスリストをハッシュリスト生成処理部212に出力する。
1.6 ハッシュリスト更新時の動作概要
ここでは、ハッシュリスト更新時の動作概要について、図11にて示す流れ図を用いて説明する。
更新制御部162は、フラグ記憶部161に記憶されているフラグの値を「1」に設定する(ステップS110)。
更新ファイル受取部104は、更新処理部103の更新データ読取部163からAP識別情報を受け取ると、受け取ったAP識別情報と、予め記憶している端末識別子と、更新要求情報とを、無線部110を介して、更新サーバ装置20へ送信する(ステップS115)。更新ファイル受取部104は、受け取ったAP識別情報をAP識別情報記憶領域へ格納する。
更新要求処理部205は、受信したAP識別情報と、端末識別子とを用いて、携帯電話機10に送信すべき更新データリストの版数を決定する。更新要求処理部205は、送信すべき更新データリストを記憶部201から取得し(ステップS125)、取得した更新データリストを、送受信部207を介して携帯電話機10へ送信する(ステップS130)。
1.7 更新処理の動作
ここでは、図11のステップS135にて示す更新処理の動作について、図12、及び図13にて示す流れ図を用いて説明する。
更新ファイル受取部104は、受け取った更新データリストの格納が完了すると、AP識別情報記憶領域にて格納されているAP識別情報を消去し、受信完了命令を更新データ読取部163へ出力する。更新データ読取部163は、更新ファイル受取部104から更新サーバ装置20から更新データリストの受信が完了した旨の受信完了命令を受け取る。
更新データ解析部164は、更新データ読取部163にて読み出された更新情報を、位置情報、データサイズ、及び更新データに分割する(ステップS210)。
書込位置決定部165は、更新データ解析部164にて取得された位置情報に基づいて、記憶部101における更新データの書込位置を決定する(ステップS215)。
更新確認部167は、更新データ書込部166による書き込みが正常に終了したか否かを確認する(ステップS225)。
更新制御部162は、改竄検出実行部105から改竄検出処理の処理結果を受け取ると、受け取った処理結果が、改竄されていない通知であるか、改竄が検出された通知であるかを判断する(ステップS245)。
改竄が検出された、つまり改竄が検出された通知を受け取ったと判断する場合には(ステップS245における「YES」)、更新制御部162は、更新失敗の通知を制御部102へ出力する。制御部102は、更新処理部103からファイルの更新失敗の通知を受け取ると、表示部109を介して、更新失敗のメッセージを表示する(ステップS265)。また、制御部102は、入力部108から再更新の指示を受け取ると、再更新開始命令を更新処理部103へ出力する。制御部102は、入力部108から再更新を行わない指示を受け取ると、更新終了命令を更新処理部103へ出力する。
1.8 AP起動時の動作
ここでは、AP起動時の動作について、図14にて示す流れ図を用いて説明する。
改竄検出実行部105は、制御部102から検出開始命令と、AP識別情報とを受け取ると、改竄検出処理を行う(ステップS305)。
改竄が検出されていない、つまり改竄されていない通知を受け取ったと判断する場合には(ステップS310における「NO」)、制御部102は、起動指示のあったAPに係る動作を実行する(ステップS315)。
1.9 改竄検出処理の動作
ここでは、図12のステップS240、及び図14のステップS305のそれぞれにて示す改竄検出処理の動作について、図15及び図16にて示す流れ図を用いて説明する。
改竄検出呼出部172は、検出制御部171から検出開始命令とAP識別情報とを受け取ると、記憶部101から受け取ったAP識別情報に対応するハッシュリストを読み出す(ステップS400)。
一致しないと判断する場合には(ステップS415における「NO」)、改竄検出処理部173は、改竄が検出された通知を検出制御部171へ出力する。検出制御部171は、改竄検出処理部173から改竄が検出された通知のうちいずれかを受け取る。検出制御部171は、受け取った通知を、呼出元(つまり、検出開始命令及びAP識別情報の出力元)である制御部102若しくは更新処理部103の更新制御部162のいずれかへ出力する(ステップS420)。
改竄検出処理部173は、復号したデータ部から、未読のハッシュ情報を読み出す(ステップS430)。
ファイル読込部174は、読み出したファイルをファイル記憶領域に格納し、ファイル読込完了命令を、改竄検出処理部173へ出力する。ファイル読込部174からファイルの読み込みが完了した旨を示すファイル読込完了命令を受け取る。
最終エントリでないと判断する場合には(ステップS445における「NO」)、改竄検出処理部173は、取得したエントリに含まれるオフセット及びサイズとを読み出し、読み出したオフセット及びサイズに基づいて、ファイル読込部174にて読み込まれたファイルから検出対象のブロックを取得する(ステップS450)。改竄検出処理部173は、算出した改竄検出鍵とハッシュ計算アルゴリズムとを用いて、取得したブロックに対する検出用ハッシュ値を算出する(ステップS455)。改竄検出処理部173は、算出した検出用ハッシュ値と取得したエントリに含まれるハッシュ値とが一致するか否かを判断する(ステップS460)。一致すると判断する場合には(ステップS460における「YES」)、改竄検出処理部173は、ステップS440へ戻る。一致しないと判断する場合には(ステップS460における「NO」)、ステップS420へ戻る。
携帯電話機10の起動時における更新処理及び改竄検出処理の動作について説明する。
携帯電話機10に電源が投入され、電源の供給が開始されると、更新制御部162は、フラグ記憶部161に記憶されているフラグの値をチェックする。
フラグの値が「0」である場合には、携帯電話機10は、前回の更新処理は完了していると判断し、更新処理及び改竄検出処理は行わない。
更新データ読取部163は、更新制御部162から再開始命令を受け取ると、受け取った再開始命令を更新ファイル受取部104へ出力する。
AP識別情報記憶領域に格納されているAP識別情報が存在しないと判断する場合には、更新ファイル受取部104は、リスト記憶領域に更新データリストが格納されているか否かを判断する。
更新データリストが格納されていないと判断する場合には、再開始不要命令を更新データ読取部163へ出力する。更新データ読取部163は、再開始不要命令を受け取ると、受け取った再開始不要命令を更新制御部162へ出力する。更新制御部162は、更新データ読取部163から更新処理の再開始が不要である旨を示す再開始不要命令を受け取ると、制御部102に対する割り込み禁止を解除し、フラグ記憶部161に記憶されているフラグの値を「0」に設定する。
図17は、本実施の形態で用いられる各鍵の関係と、鍵が利用される場面との関係を示す。
改竄検出鍵は、マスタ鍵、部分鍵、及び特定のアルゴリズムとを用いて算出される。この生成作業は、鍵更新装置30の改竄検出鍵生成部302、及び図15にて示すステップS405により携帯電話機10にて行われる。
(ハッシュリスト生成時)
改竄検出鍵は、検出対象のファイルにおける1以上のブロックそれぞれに対するハッシュ値を算出する場合に用いられる。具体的には、図10にて示すステップS20の動作に対応する。
また、改竄検出鍵は、ハッシュリストのデータ部のハッシュ値(データ部ハッシュ値)を算出する場合に用いられる。算出されたハッシュ値はハッシュリストのヘッダ部に埋め込まれる。具体的には、図10にて示すステップS30の動作に対応する。
改竄検出鍵は、ハッシュリストのデータ部のハッシュ値を算出する場合に用いられる。具体的には、図15にて示すステップS410の動作に対応する。このとき、携帯電話機10は、算出されたハッシュ値と、あらかじめ埋め込まれたハッシュ値(データ部ハッシュ値)とを比較することで改竄の有無をチェックする。
また、改竄検出鍵は、検出対象のファイルにおける各ブロックのハッシュ値(検出用ハッシュ値)を算出場合に用いられる。具体的には、図16にて示すステップS455の動作に対応する。このとき、携帯電話機10は、算出された検出用ハッシュ値と、予め格納されているハッシュ値とを比較することで改竄の有無をチェックする。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記第1の実施の形態では、改竄を検出する装置として携帯電話機を用いたが、これに限定されない。
(2)ハッシュリストのデータ部の暗号化は、セキュリティ強度を考慮して、データ部131の暗号化単位はデータ部全体に共通鍵暗号方式における連鎖のような暗号アルゴリズムを適用してもよい。このときのハッシュリストの更新単位はハッシュリスト全体となる。
このとき、ファイル情報140aに含まれるブロック数142aは、MAC情報141aとMAC情報1000とにおいて、リンクエントリ144aと、MAC情報1000の空エントリ1002(最終エントリ)とを除いたエントリ数である“4”となっている。
ハッシュリスト生成処理部212は、改竄検出鍵215を読み出す。そして、改竄検出鍵215を用いて、旧ハッシュリストのデータ部の復号を行い復号された旧ハッシュリストを生成する。以下復号された旧ハッシュリストを復号ハッシュリストという。
ハッシュリスト生成処理部212は、データ受取部211から受け取った1つ以上の更新ファイルに対して、所定のサイズに分割したブロック単位で、改竄検出処理部173と同一のハッシュ計算アルゴリズムを適用してハッシュ値を算出し、ターゲットパスリストから携帯電話機10におけるファイルパスを読み取り、復号ハッシュリストと比較して、データ部が暗号化されていないハッシュリストを生成する。このとき、生成したハッシュリストのサイズが復号ハッシュリストよりも大きくなるようなファイルの更新であった場合は、ハッシュリスト生成処理部212は、生成したハッシュリストを、図18に示すようなリンクエントリを用いたハッシュリストに変換する。
改竄検出処理部173とファイル読込部174とを1つの構成要素としてもよい。
(5)上記第1の実施の形態において、ファイルの更新時には、指定されたAPを含む検出対象情報群を更新の対象としたが、これに限定されない。
(6)上記第1の実施の形態において、更新データリストのみを利用して、APに係るファイルを更新したが、これに限定されない。
更新サーバ装置は、携帯電話機へ、更新データリストとともに、更新対象となる1以上の更新ファイルを送信してもよい。このとき、送信される更新データリストには、ハッシュリストに係る更新情報のみから構成される。
更新サーバ装置は、ユーザの操作により入力値として、分割されるブロックのサイズを受け付ける構成であってもよい。これにより、ブロックのサイズを柔軟に設定できる。
(8)上記第1の実施の形態において、更新サーバ装置は、データ部ハッシュ値の算出を、データ部の暗号化後に行ったが、これに限定されない。
このとき、改竄検出の実行時には、データ部の復号後に、データ部に対するハッシュ値を算出し、ハッシュリスト自体の改竄検出を行うことになる。
(9)上記第1の実施の形態において、ハッシュリストのデータ部の暗号化に用いられる鍵と、ハッシュ計算に用いられる鍵とは、同一の鍵(改竄検出鍵)としたが、同一でなくてもよい。
更新データリストは、ハッシュリスト用の更新データリスト、更新ファイル用の更新データリスト、及び部分鍵用の更新データリストに分けてもよい。
例えば、鍵更新装置で、更新サーバ装置に新たな改竄検出鍵が埋め込まれた場合には、更新サーバ装置は、更新された部分鍵を携帯電話機に送付するため、更新データリストを生成し、生成した更新データリストを、直ちに、携帯電話機へ送信する。
携帯電話機間で異なるマスタ鍵を有する場合には、鍵更新装置は、複数のマスタ鍵を管理しており、更新された部分鍵から算出される改竄検出鍵も異なるため、更新サーバ装置においても複数の改竄検出鍵を管理することとなる。
この場合、携帯電話機は、更新サーバ装置に更新要求情報を送信するとき、ハッシュリストバージョン番号1010をも送信する。
(14)上記第1の実施の形態において、改竄検出処理は、ハッシュリストに含まれるMAC情報が有する全てのエントリを用いて、改竄検出を行ったがこれに限定されない。
つまり、改竄検出処理は、各MAC情報において、1つ以上のエントリをチェックするような手順であればよい。
改竄検出の実行は、携帯電話機の起動中に行ってもよいし、検出対象のAPを実行しているときに、バックグラウンドで実行してもよい。
または、携帯電話機は、当該携帯電話機の起動中に、定期的に改竄検出を実行してもよいし、検出対象のAPが起動している間に、起動しているAPに対する改竄検出を定期的に実行してもよい。
携帯電話機は、MAC情報の1エントリ毎に復号を行うような構成であってもよい。
このとき、携帯電話機は、図15にて示すステップS415を実行後、ステップS425を省略し、ステップS430からステップS440までを実行する。このとき、読み出したエントリは暗号化されている。携帯電話機は、その後、読み出したエントリを復号し、ステップS445以降を行う。または、携帯電話機は、図15にて示すステップS415を実行後、ステップS425を省略し、ステップS430からステップS445までを実行し、その後、復号してもよい。
図20に、ファイルのブロック数が「8」から「7」に減少した場合の一例を示す。
この場合、更新前であるハッシュ情報1020において、8番目のブロックのエントリ1021に含まれるサイズは120が格納されている。ファイルの更新により、ブロック数が「8」から「7」に減少すると、8番目のブロックのエントリ1031に含まれるサイズを「0」として、ハッシュ情報1030が生成される。このとき、エントリ1031も更新の対象となることは言うまでもない。
なお、エントリ1031に含まれるハッシュ値は、更新前の値としているが、ハッシュ値を“0”にしてもよい。
これによると、携帯電話機は、サイズに格納される値を、当該サイズを含むエントリが改竄検出の対象であるか否かを判断する判断情報として用いることができる。つまり、値が「0」であると改竄検出の対象でないと判断し、「0」以外の値である場合には改竄検出の対象であると判断することができる。
第1の実施の形態にて示すハッシュリスト122と異なる点は、ファイル情報に種別が追加されている点である。種別は、改竄検出の実行時に使用するハッシュ情報を識別するためのものであり、例えば、数値1、2、・・・、及びALLからなる。種別にALLが設定されると、ハッシュリストに含まれる全てのハッシュ情報が検出に用いられることを示し、数値が設定されると、設定された種別(数値)を含むファイル情報を有するハッシュ情報が検出の対象となる。
携帯電話機11において、第1APが起動されると、図21に示すように、種別「1」を含むファイル情報1040を有するハッシュ情報134cが、改竄検出の対象となる。
携帯電話機12において、統合APが起動されると、統合APは種別「ALL」を記憶しているので、データ部131cに含まれる全てのハッシュ情報が、改竄検出の対象となる。
第1の実施の形態にて示すハッシュリスト122と異なる点は、データ部131dに第1オフセット1050と第2オフセット1051とからなる組みが追加されている点である。
例えば、第1オフセットにハッシュ情報134dの先頭位置を示すオフセット値が格納され、第2オフセットにハッシュ情報134dの最終位置を示すオフセット値が格納されている場合には、ファイル名「file_1」であるファイルに対する改竄検出は、AP起動時に行われ、他のファイルに対する改竄検出は、動作中にバックグラウンドで行われる。
1以上のAPファイル群に対して、1つのハッシュリスト及び部分鍵を与えてもよい。
この場合における記憶部101構成を図23に示す。
図23において、記憶部101は1つの検出対象情報群1200を有している。
ハッシュリスト122eのデータ部には、APファイル群1060、1061、・・・、1062のそれぞれに含まれる各ファイルに対するハッシュ情報が含まれている。
検出対象情報群1200に含まれる1のAPが起動された場合、携帯電話機は、検出対象情報群1200に含まれる全てのファイルを改竄検出対象としてもよいし、起動されたAPに係る1以上のファイルのみを改竄検出の対象としてもよい。
携帯電話機10は、更新制御部162がフラグの値が「1」であると判断する場合には、ファイルの更新を再度行うか否かを通知し、ユーザから再度更新を行うとの指示を受け取った場合にファイルの更新を再度行ってもよい。
または、携帯電話機10の電源投入時に、更新制御部162は、フラグの値のチェックを行い、フラグの値が「1」である場合には、未更新のデータのみに対して更新を行ってもよい。つまり、携帯電話機10は、更新処理の途中(電源が落とされたときに動作していた時点)から更新の動作を行ってもよい。
データ部は暗号化しなくてもよい。
(23)本発明におけるアプリケーションファイルとは、アプリケーションソフトウェアそのものや、アプリケーションソフトウェアから呼び出されるエンコーダ、デコーダ、ドライバ、アプリケーションソフトウェアが動作する環境を提供するJava(登録商標)VMのような仮想実行環境などである。また、アプリケーションファイルの概念に、部分鍵を含めてもよい。
鍵更新装置にて新たな部分鍵を生成して取得してもよい。
また、マスタ鍵は、鍵更新装置で記憶しておいてもよいし、外部装置から取得してもよい。
更新すべき情報であるファイルのうち更新対象となる1以上のブロックを更新データとして記録する代わりに、アプリケーションソフトウェアを実行するための命令文などのような更新されたデータのみを記録してもよい。
(26)上記第1の実施の形態において、改竄検出用の値(改竄検出値)として、ハッシュ値を用いて改竄の検出を行ったが、これに限定されない。
ハッシュ値とは異なる値、データを用いてもよい。例えば、検証対象のデータを暗号化した結果等を改竄検出値として用いることができる。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
(29)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
(31)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
4.まとめ
本発明によれば、プログラム更新可能な電子機器においても実現可能な改竄検出方式の提供が可能となる。また、更新時の更新箇所を最小限にとどめ、更新時にかかる通信コストをおさえることができる。さらに電子機器の持つスペックに応じて、実行時の速度チューニングが可能な改竄検出方式の提供が可能となる。
また、本発明にかかるプログラム更新可能な電子機器における改竄検出方式は、セキュアなプログラムの実行を必要とする携帯電話をはじめとした組み込み機器がプログラムの更新機能を備えている場合に有用である。
10 携帯電話機
20 更新サーバ装置
30 鍵更新装置
40 携帯網
50 インターネット
101 記憶部
102 制御部
103 更新処理部
104 更新ファイル受取部
105 改竄検出実行部
106 マイク
107 スピーカ
108 入力部
109 表示部
110 無線部
111 アンテナ
161 フラグ記憶部
162 更新制御部
163 更新データ読取部
164 更新データ解析部
165 書込位置決定部
166 更新データ書込部
167 更新確認部
171 検出制御部
172 改竄検出呼出部
173 改竄検出処理部
174 ファイル読込部
175 マスタ鍵記憶部
176 マスタ鍵
201 記憶部
202 データ取得部
203 ハッシュリスト生成部
204 ハッシュリスト書込部
205 更新要求処理部
206 入力部
207 送受信部
210 改竄検出鍵記憶部
211 データ受取部
212 ハッシュリスト生成処理部
213 暗号化処理部
214 更新データリスト生成部
215 改竄検出鍵
301 鍵取得部
302 改竄検出鍵生成部
303 改竄検出鍵配布部
304 出力部
Claims (25)
- アプリケーションソフトウェアの動作に係るアプリケーションファイルを有し、ネットワークを介して前記アプリケーションファイルを更新する電子機器であって、
1つ以上のデータからなるアプリケーションファイルを記憶し、且つ当該アプリケーションファイルを識別するファイル名、当該アプリケーションファイルを分割して生成したブロックの数、ブロック毎のサイズ及びハッシュ値からなるデータ部と、データ部のハッシュ値を含むヘッダ部とからなるハッシュリストを記憶している記憶手段と、
前記アプリケーションファイルにおいて更新対象となるブロック毎に生成された、当該ブロックに対する更新後のブロック、当該更新後のブロックに対するサイズ、ハッシュ値、及び前記ハッシュリストのヘッダ部に含まれるデータ部のハッシュ値が記録された更新データと、前記アプリケーションファイルにおいて更新対象となるブロックの位置を示す位置情報と、更新データのサイズを示すサイズ情報とからなる更新データリストを、前記ネットワークを介して外部装置から受け取る受取手段と、
耐タンパー性を有し、前記更新データリストに含まれる前記位置情報が示す位置に存在するブロックを当該更新データリストの前記更新データに記録された更新後のブロックに書き換えて、前記アプリケーションファイルの一部のみを更新し、且つ前記ハッシュリストの前記データ部における更新対象のブロックに対するハッシュ値及びサイズを、前記更新データリストの前記更新データに含まれる前記更新後のブロックに対するハッシュ値及びサイズに書き換え、前記ヘッダ部に含まれるデータ部のハッシュ値を前記更新データリストに記録された更新後のデータ部のハッシュ値へと書き換えて、前記ハッシュリストを更新する更新処理手段と、
耐タンパー性を有し、前記アプリケーションファイルの更新時においては更新された前記アプリケーションファイルが改竄されているか否かの確認を、前記更新処理手段により更新されたハッシュリストを用いて更新後のアプリケーションファイルについてブロック毎に行い、及び前記アプリケーションファイルの起動時においては前記記憶手段で記憶している前記アプリケーションファイル改竄されているか否かの確認を、前記アプリケーションファイルの起動時に前記記憶手段で記憶しているハッシュリストを用いて前記アプリケーションファイルについてブロック毎に行う改竄検出実行手段と
を備えることを特徴とする電子機器。 - 前記受取手段は、更新データと位置情報との組を少なくとも1つ以上受け取り、
前記更新処理手段は、
前記位置情報にて示される位置に基づいて、前記アプリケーションファイルの更新位置を決定する位置決定部と、
決定された前記更新位置を前記更新データの書き込み開始位置として、前記更新データを書き込む書込部と、
前記受取手段にて受け取った1つ以上の更新データ全ての書き込みが完了するまで、前記位置決定部と前記書込部の処理を行うように制御する更新制御部と
を備えることを特徴とする請求項1に記載の電子機器。 - 前記更新制御部は、
全ての更新データの書き込みが完了すると、前記改竄検出実行手段の処理を開始するように制御する
ことを特徴とする請求項2に記載の電子機器。 - 前記更新処理手段は、さらに、
アプリケーションファイルの更新中であることを示す第1の情報、又は更新中でないことを示す第2の情報の何れかを示すフラグを記憶しているフラグ記憶部と、
前記フラグが示す情報を変更するフラグ変更部とを備え、
前記フラグ変更部は、
前記受取手段が更新データと位置情報との組を少なくとも1つ以上受け取るときに、前記フラグの情報を、前記第1の情報に変更し、前記改竄検出実行手段にて改竄が検出されなかった場合に、前記フラグの情報を、前記第2の情報に変更する
ことを特徴とする請求項3に記載の電子機器。 - 前記更新制御部は、さらに、
前記電子機器に電源が投入されると、前記フラグが示す情報を確認し、第1の情報である場合には、前記位置決定部と前記書込部の処理を行うように制御する
ことを特徴とする請求項4に記載の電子機器。 - 前記改竄検出手段は、
改竄検出対象であるブロックに対する検出用改竄検出値を算出し、算出した検出用改竄検出値と、改竄検出対象であるブロックに対する改竄検出値とが一致するか否かを判断し、一致すると判断する場合には前記アプリケーションファイルは改竄されていないとし、一致しない場合には前記アプリケーションファイルは改竄されているとする
ことを特徴とする請求項1に記載の電子機器。 - 前記記憶部は、部分鍵を記憶しており、
前記改竄検出実行手段は、耐タンパ化されており、マスタ鍵を記憶し、前記部分鍵と前記マスタ鍵とを用いて、改竄検出鍵を生成し、生成した改竄検出鍵を用いて、前記検出用改竄検出値を算出する
ことを特徴とする請求項6に記載の電子機器。 - 前記受取手段は、前記部分鍵とは異なる別の部分鍵と、前記部分鍵が前記記憶部にて記憶されている位置を示す鍵位置情報とを受け取り、
前記更新処理手段は、前記鍵位置情報に基づいて、前記部分鍵を前記別の部分鍵に更新する
ことを特徴とする請求項7に記載の電子機器。 - 前記改竄検出リストは、前記1つ以上のブロックそれぞれに対する基準改竄検出値を含むデータ部と、前記データ部に対する基準データ部改竄検出値を含むヘッダ部とから構成され、
前記改竄検出実行手段は、前記データ部に対する検出用データ部改竄検出値を算出し、算出した前記検出用データ部改竄検出と前記基準データ部改竄検出値とが一致する場合に、前記改竄検出リストが正当なものであるとする
ことを特徴とする請求項1に記載の電子機器。 - 前記データ部は暗号化されており、
前記改竄検出実行手段は、暗号化された前記データ部に対する検出用改竄検出値を算出し、前記改竄検出リストが正当なものである場合に、暗号化された前記データ部を復号する
ことを特徴とする請求項9に記載の電子機器。 - 前記改竄検出リストにおいて、基準改竄検出値のそれぞれに対して、対応するブロックが改竄検出の対象として使用すべきか否かを示す判断情報が対応付けられており、
前記改竄検出実行手段は、前記判断情報がブロックを改竄検出の対象としない旨を示す場合には、当該ブロックに対する改竄検出は行わない
ことを特徴とする請求項1に記載の電子機器。 - 前記改竄検出リストは、前記1つ以上のブロックそれぞれに対する基準改竄検出値と、改竄検出の対象となるアプリケーションソフトウェアの種別を示すアプリケーション種別とが対応付けられた組を1つ以上含み、
前記改竄検出実行手段は、起動されたアプリケーションソフトウェアに対するアプリケーション種別に対応する基準改竄検出値それぞれのうち少なくとも1つ以上の改竄検出値に基づいて、改竄検出の対象となるブロックが改竄されているか否かを確認する
ことを特徴とする請求項1に記載の電子機器。 - 前記アプリケーションソフトウェアの動作に係るアプリケーションファイルは複数個あり、
前記アプリケーションファイルのそれぞれは、1つ以上のブロックに分割されており、
前記改竄検出リストは、アプリケーションファイルそれぞれに対して、1つ以上のブロックそれぞれに対する基準改竄検出値を基準値群として格納し、1つ以上の前記基準値群のうち前記アプリケーションソフトウェアの起動時に改竄検出に用いる少なくとも1つ以上の基準値群の範囲を示す範囲情報を有し、
前記改竄検出実行手段は、前記アプリケーションソフトウェアの起動時に、前記改竄検出リストが有する前記範囲情報にて示される少なくとも1つ以上の基準値群を用いて、改竄検出の対象となるブロックが改竄されているか否かを確認する
ことを特徴とする請求項1に記載の電子機器。 - 前記更新処理手段及び前記改竄検出実行手段は、耐タンパ化されている
ことを特徴とする請求項2に記載の電子機器。 - 前記改竄検出実行手段は、さらに、
前記アプリケーションソフトウェアの起動時に前記アプリケーションファイルが改竄されているか否かの確認を行う
ことを特徴とする請求項1に記載の電子機器。 - 前記記憶手段は、さらに、
前記アプリケーションファイルを構成するデータそれぞれに対応付けられた基準改竄検出値を含む改竄検出リストを記憶しており、
前記改竄検出実行手段は、
前記改竄検出リストが有する少なくとも1つ以上の基準改竄検出値に基づいて、前記アプリケーションファイルが改竄されているか否かを確認し、
前記受信手段は、さらに、
前記更新データに対応付けられた基準改竄検出値である更新用改竄検出値と、前記改竄検出リストにおいて前記更新用改竄検出値によって更新すべき基準改竄検出値が存在する位置を示す改竄検出値位置情報とを受け取り、
前記更新処理手段は、
前記更新検出値位置情報が示す位置に存在する基準改竄検出値を、前記更新用改竄検出値に書き換えることで、前記改竄検出リストの一部のみを更新する
ことを特徴とする請求項15に記載の電子機器。 - 前記改竄検出実行手段は、さらに、
前記更新処理手段による前記アプリケーションファィルの更新後も、更新された前記アプリケーションファイルが改竄されているか否かの確認を行うに先立って、前記改竄検出リストが正しく更新されているか否かの確認を行い、前記改竄検出リストが正しく更新されていると確認された場合に、前記更新された改竄検出リストに含まれる基準改竄検出値に基づいて、更新された前記アプリケーションファイルが改竄されているか否かの確認を行う
ことを特徴とする請求項16に記載の電子機器。 - 前記改竄検出実行手段は、さらに、
前記アプリケーションソフトウェアの起動時において、前記アプリケーションファイルが改竄されているか否かの確認を行うに先立って、前記記憶手段にて記憶されている改竄検出リストが改竄されているか否かを確認し、前記改竄検出リストが改竄されていないと確認された場合に、前記改竄検出リストに含まれる基準改竄検出値に基づいて、前記アプリケーションファイルが改竄されているか否かを確認する
ことを特徴とする請求項16に記載の電子機器。 - 前記1つ以上のデータからなるアプリケーションファイルは、第1の機能に対応する第1アプリケーションファイル及び第2の機能に対応する第2アプリケーションファイルを含み、
前記記憶手段は、さらに、
前記第1アプリケーションファイルの改竄検出に使用する第1基準改竄検出値及び前記第1基準改竄検出値を識別する第1種別情報を記憶し、且つ、前記第2アプリケーションファイルの改竄検出に使用する第2基準改竄検出値及び前記第2基準改竄検出値を識別する第2識別情報を記憶しており、
前記改竄検出実行手段は、
前記記憶手段が、前記第1アプリケーションファイル及び前記第2アプリケーションファイルのそれぞれを個別のアプリケーションファイルとして含む場合、前記第1アプリケーションファイルの起動時に前記第1識別情報に基づいて前記第1基準改竄検出値を探して前記第1基準改竄検出値に基づいて前記第1アプリケーションファイルが改竄されているか否かを確認し、前記第2アプリケーションファイルの起動時に前記第2識別情報に基づいて前記第2基準改竄検出値を探して前記第2基準改竄検出値に基づいて前記第2アプリケーションファイルが改竄されているか否かを確認し、
一方、前記記憶手段が、前記第1アプリケーションファイル及び前記第2アプリケーションファイルを統合した一つのアプリシーョンファイルとして含む場合、前記統合した一つのアプリケーションファイルの起動時に前記第1識別情報及び前記第2識別情報に基づいて前記第1基準改竄検出値及び前記第2基準改竄検出値を探して前記第1基準改竄検出値及び前記第2基準改竄検出値に基づいて前記統合した一つのアプリケーションファイルが改竄されているか否かを確認する
ことを特徴とする請求項1記載の電子機器。 - 前記記憶手段は、さらに、
前記1つ以上のデータからなるアプリケーションファイルを複数記憶し、前記複数のアプリケーションファイルの各々を構成するデータそれぞれに対応付けられた基準改竄検出値を記憶し、
優先的に改竄検出を行う基準改竄検出値の先頭位置を示す第1位置情報と優先的に改竄検出を行う基準改竄検出値の最終位置を示す第2位置情報とを記憶し、
前記改竄検出実行手段は、
前記第1位置情報から前記第2位置情報に対応する基準改竄検出値に対応するデータについてはそのデータにより構成されるアプリケーションの起動時に改竄されているか否かを確認し、
一方、前記第1位置情報から前記第2位置情報に対応する基準改竄検出値に対応していないデータに対する改竄検出は、前記電子機器の動作中にバックグラウンドで行う
ことを特徴とする請求項1記載の電子機器。 - 前記電子機器は、
更新後のアプリケーションファイルを取得する第1取得手段と、取得した前記更新後のアプリケーションファイルから更新データと、更新前のアプリケーションファイルにおいて前記更新データによって更新する位置を示す位置情報とを取得する第2取得手段と、取得した前記更新データと前記位置情報とを前記電子機器へ送信する送信手段とを備え、ネットワークを介して電子機器に、前記電子機器が有し、且つ1つ以上のデータからなるアプリケーションファイルの更新を行わせる更新サーバ装置を有するシステムに含まれる
ことを特徴とする請求項1に記載の電子機器。 - アプリケーションソフトウェアの動作に係るアプリケーションファイルを有し、ネットワークを介して前記アプリケーションファイルを更新する電子機器で用いられる更新方法であって、
前記電子機器は
1つ以上のデータからなるアプリケーションファイルを記憶し、且つ当該アプリケーションファイルを識別するファイル名、当該アプリケーションファイルを分割して生成したブロックの数、ブロック毎のサイズ及びハッシュ値からなるデータ部と、データ部のハッシュ値を含むヘッダ部とからなるハッシュリストを記憶している記憶手段を備え、
前記更新方法は、
前記アプリケーションファイルにおいて更新対象となるブロック毎に生成された、当該ブロックに対する更新後のブロック、当該更新後のブロックに対するサイズ、ハッシュ値、及び前記ハッシュリストのヘッダ部に含まれるデータ部のハッシュ値が記録された更新データと、前記アプリケーションファイルにおいて更新対象となるブロックの位置を示す位置情報と、更新データのサイズを示すサイズ情報とからなる更新データリストを、前記ネットワークを介して外部装置から受け取る受取ステップと、
前記更新データリストに含まれる前記位置情報が示す位置に存在するブロックを当該更新データリストの前記更新データに記録された更新後のブロックに書き換えて、前記アプリケーションファイルの一部のみを更新し、且つ前記ハッシュリストの前記データ部における更新対象のブロックに対するハッシュ値及びサイズを、前記更新データリストの前記更新データに含まれる前記更新後のブロックに対するハッシュ値及びサイズに書き換え、前記ヘッダ部に含まれるデータ部のハッシュ値を前記更新データリストに記録された更新後のデータ部のハッシュ値へと書き換えて、前記ハッシュリストを更新する更新処理ステップと、
前記アプリケーションファイルの更新時においては更新された前記アプリケーションファイルが改竄されているか否かの確認を、前記更新処理ステップにより更新されたハッシュリストを用いて更新後のアプリケーションファイルについてブロック毎に行い、及び前記アプリケーションファイルの起動時においては前記記憶手段で記憶している前記アプリケーションファイル改竄されているか否かの確認を、前記アプリケーションファイルの起動時に前記記憶手段で記憶しているハッシュリストを用いて前記アプリケーションファイルについてブロック毎に行う改竄検出実行ステップと
を含むことを特徴とする更新方法。 - アプリケーションソフトウェアの動作に係るアプリケーションファイルを有し、ネットワークを介して前記アプリケーションファイルを更新する電子機器で用いられる更新プログラムであって、
前記電子機器は
1つ以上のデータからなるアプリケーションファイルを記憶し、且つ当該アプリケーションファイルを識別するファイル名、当該アプリケーションファイルを分割して生成したブロックの数、ブロック毎のサイズ及びハッシュ値からなるデータ部と、データ部のハッシュ値を含むヘッダ部とからなるハッシュリストを記憶している記憶手段を備え、
前記更新プログラムは、
前記アプリケーションファイルにおいて更新対象となるブロック毎に生成された、当該ブロックに対する更新後のブロック、当該更新後のブロックに対するサイズ、ハッシュ値、及び前記ハッシュリストのヘッダ部に含まれるデータ部のハッシュ値が記録された更新データと、前記アプリケーションファイルにおいて更新対象となるブロックの位置を示す位置情報と、更新データのサイズを示すサイズ情報とからなる更新データリストを、前記ネットワークを介して外部装置から受け取る受取ステップと、
前記更新データリストに含まれる前記位置情報が示す位置に存在するブロックを当該更新データリストの前記更新データに記録された更新後のブロックに書き換えて、前記アプリケーションファイルの一部のみを更新し、且つ前記ハッシュリストの前記データ部における更新対象のブロックに対するハッシュ値及びサイズを、前記更新データリストの前記更新データに含まれる前記更新後のブロックに対するハッシュ値及びサイズに書き換え、前記ヘッダ部に含まれるデータ部のハッシュ値を前記更新データリストに記録された更新後のデータ部のハッシュ値へと書き換えて、前記ハッシュリストを更新する更新処理ステップと、
前記アプリケーションファイルの更新時においては更新された前記アプリケーションファイルが改竄されているか否かの確認を、前記更新処理ステップにより更新されたハッシュリストを用いて更新後のアプリケーションファイルについてブロック毎に行い、及び前記アプリケーションファイルの起動時においては前記記憶手段で記憶している前記アプリケーションファイル改竄されているか否かの確認を、前記アプリケーションファイルの起動時に前記記憶手段で記憶しているハッシュリストを用いて前記アプリケーションファイルについてブロック毎に行う改竄検出実行ステップと
を含むことを特徴とする更新プログラム。 - 前記更新プログラムは、コンピュータ読み取り可能な記録媒体に記録されていることを特徴とする請求項23に記載の更新プログラム。
- アプリケーションソフトウェアの動作に係るアプリケーションファイルを有し、ネットワークを介して前記アプリケーションファイルを更新する電子機器の集積回路であって、
前記電子機器は
1つ以上のデータからなるアプリケーションファイルを記憶し、且つ当該アプリケーションファイルを識別するファイル名、当該アプリケーションファイルを分割して生成したブロックの数、ブロック毎のサイズ及びハッシュ値からなるデータ部と、データ部のハッシュ値を含むヘッダ部とからなるハッシュリストを記憶している記憶手段を備え、
前記集積回路は、
前記アプリケーションファイルにおいて更新対象となるブロック毎に生成された、当該ブロックに対する更新後のブロック、当該更新後のブロックに対するサイズ、ハッシュ値、及び前記ハッシュリストのヘッダ部に含まれるデータ部のハッシュ値が記録された更新データと、前記アプリケーションファイルにおいて更新対象となるブロックの位置を示す位置情報と、更新データのサイズを示すサイズ情報とからなる更新データリストを、前記ネットワークを介して外部装置から受け取る受取手段と、
耐タンパー性を有し、前記更新データリストに含まれる前記位置情報が示す位置に存在するブロックを当該更新データリストの前記更新データに記録された更新後のブロックに書き換えて、前記アプリケーションファイルの一部のみを更新し、且つ前記ハッシュリストの前記データ部における更新対象のブロックに対するハッシュ値及びサイズを、前記更新データリストの前記更新データに含まれる前記更新後のブロックに対するハッシュ値及びサイズに書き換え、前記ヘッダ部に含まれるデータ部のハッシュ値を前記更新データリストに記録された更新後のデータ部のハッシュ値へと書き換えて、前記ハッシュリストを更新する更新処理手段と、
耐タンパー性を有し、前記アプリケーションファイルの更新時においては更新された前記アプリケーションファイルが改竄されているか否かの確認を、前記更新処理手段により更新されたハッシュリストを用いて更新後のアプリケーションファイルについてブロック毎に行い、及び前記アプリケーションファイルの起動時においては前記記憶手段で記憶している前記アプリケーションファイル改竄されているか否かの確認を、前記アプリケーションファイルの起動時に前記記憶手段で記憶しているハッシュリストを用いて前記アプリケーションファイルについてブロック毎に行う改竄検出実行手段と
を備えることを特徴とする集積回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007519003A JP4891902B2 (ja) | 2005-06-01 | 2006-05-30 | 電子機器、更新サーバ装置、鍵更新装置 |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005161358 | 2005-06-01 | ||
| JP2005161358 | 2005-06-01 | ||
| JP2007519003A JP4891902B2 (ja) | 2005-06-01 | 2006-05-30 | 電子機器、更新サーバ装置、鍵更新装置 |
| PCT/JP2006/310764 WO2006129654A1 (ja) | 2005-06-01 | 2006-05-30 | 電子機器、更新サーバ装置、鍵更新装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2006129654A1 JPWO2006129654A1 (ja) | 2009-01-08 |
| JP4891902B2 true JP4891902B2 (ja) | 2012-03-07 |
Family
ID=37481583
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007519003A Active JP4891902B2 (ja) | 2005-06-01 | 2006-05-30 | 電子機器、更新サーバ装置、鍵更新装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US7934256B2 (ja) |
| EP (1) | EP1887731A1 (ja) |
| JP (1) | JP4891902B2 (ja) |
| KR (1) | KR20080013940A (ja) |
| CN (1) | CN100578522C (ja) |
| WO (1) | WO2006129654A1 (ja) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IL133584A (en) * | 1999-12-19 | 2010-02-17 | Enco Tone Ltd | Method for the acoustic encodification of dynamic identification codes |
| JP4640083B2 (ja) * | 2005-09-29 | 2011-03-02 | セイコーエプソン株式会社 | デバイス管理システム |
| JP4751785B2 (ja) * | 2006-07-31 | 2011-08-17 | 富士通株式会社 | 伝送装置およびソフトウェア自動更新方法 |
| US8412926B1 (en) * | 2007-04-11 | 2013-04-02 | Juniper Networks, Inc. | Using file metadata for data obfuscation |
| WO2009013831A1 (ja) * | 2007-07-26 | 2009-01-29 | Panasonic Corporation | 情報処理端末及び改ざん検証方法 |
| JP2009053901A (ja) * | 2007-08-27 | 2009-03-12 | Seiko Epson Corp | プリンタ |
| CN101382885B (zh) * | 2007-09-06 | 2012-05-09 | 联想(北京)有限公司 | 一种数据文件的多版本控制方法及装置 |
| US8413130B2 (en) * | 2007-10-03 | 2013-04-02 | International Business Machines Corporation | System and method for self policing of authorized configuration by end points |
| US8806220B2 (en) * | 2009-01-07 | 2014-08-12 | Microsoft Corporation | Device side host integrity validation |
| US8225316B1 (en) * | 2009-02-11 | 2012-07-17 | Symantec Corporation | Methods and systems for creating and applying patches for virtualized applications |
| US8438401B2 (en) * | 2009-09-22 | 2013-05-07 | Raytheon BBN Technologies, Corp. | Device and method for securely storing data |
| JP5681028B2 (ja) * | 2010-04-26 | 2015-03-04 | パナソニック株式会社 | 改ざん監視システム、管理装置及び管理方法 |
| US8977739B2 (en) * | 2010-05-03 | 2015-03-10 | Salesforce.Com, Inc. | Configurable frame work for testing and analysis of client-side web browser page performance |
| JP5960678B2 (ja) * | 2011-03-15 | 2016-08-02 | パナソニック株式会社 | 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール |
| JP5708107B2 (ja) | 2011-03-23 | 2015-04-30 | 日本電気株式会社 | 重複ファイル検出装置 |
| CN102831362B (zh) * | 2012-07-25 | 2014-12-10 | 飞天诚信科技股份有限公司 | 一种安全生产智能密钥设备的方法及装置 |
| US9552296B2 (en) * | 2013-03-15 | 2017-01-24 | International Business Machines Corporation | Verifying shared memory integrity |
| US9633227B2 (en) * | 2013-07-29 | 2017-04-25 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus, and system of detecting unauthorized data modification |
| EP2840492A1 (en) * | 2013-08-23 | 2015-02-25 | British Telecommunications public limited company | Method and apparatus for modifying a computer program in a trusted manner |
| CN105335181A (zh) * | 2014-08-06 | 2016-02-17 | 中兴通讯股份有限公司 | 一种实现ota升级的方法和终端 |
| JP6618480B2 (ja) * | 2014-11-12 | 2019-12-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 更新管理方法、更新管理システム及び制御プログラム |
| JP6888122B2 (ja) | 2018-01-19 | 2021-06-16 | ルネサスエレクトロニクス株式会社 | 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム |
| JP7000895B2 (ja) * | 2018-02-09 | 2022-01-19 | 株式会社デンソー | 配布対象データの配布システム、及び配布対象データの取得方法 |
| JP6697038B2 (ja) * | 2018-07-31 | 2020-05-20 | 日本電信電話株式会社 | 情報処理装置、検証方法および検証プログラム |
| US12210504B2 (en) * | 2019-01-23 | 2025-01-28 | Scalar, Inc. | System with tamper-evidence |
| JP7282616B2 (ja) * | 2019-06-27 | 2023-05-29 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
| CN111135581B (zh) * | 2019-12-26 | 2023-09-12 | 网易(杭州)网络有限公司 | 游戏更新的方法与装置 |
| DE112021007471T5 (de) * | 2021-04-07 | 2024-01-18 | Mitsubishi Electric Corporation | Code-anpassungseinrichtung und code-anpassungsverfahren |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002016565A (ja) * | 2000-06-30 | 2002-01-18 | Toshiba Corp | 情報配信方法および情報配信装置および放送受信装置 |
| US6574657B1 (en) * | 1999-05-03 | 2003-06-03 | Symantec Corporation | Methods and apparatuses for file synchronization and updating using a signature list |
| JP2004514214A (ja) * | 2000-11-17 | 2004-05-13 | ビットフォン コーポレイション | 情報をアップデートおよび配布するシステムおよび方法 |
| JP2005515534A (ja) * | 2002-01-18 | 2005-05-26 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | 移動端末にデータをロードする方法 |
| JP2007506187A (ja) * | 2003-09-18 | 2007-03-15 | アップル コンピュータ、インコーポレイテッド | インクリメンタルなコード署名の方法及び装置 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6978342B1 (en) * | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
| US6191701B1 (en) * | 1995-08-25 | 2001-02-20 | Microchip Technology Incorporated | Secure self learning system |
| US6026293A (en) * | 1996-09-05 | 2000-02-15 | Ericsson Inc. | System for preventing electronic memory tampering |
| US6453383B1 (en) * | 1999-03-15 | 2002-09-17 | Powerquest Corporation | Manipulation of computer volume segments |
| DE60036189T2 (de) * | 1999-11-25 | 2008-05-21 | Matsushita Electric Industrial Co., Ltd., Kadoma | Informationeinbettungsgerät und -verfahren für Erfassung von Verfälschungen |
| JP2002070636A (ja) * | 2000-08-31 | 2002-03-08 | Suzuki Motor Corp | 車載電子制御装置、データ書換システム、データ書換方法、及び記憶媒体 |
| US7478243B2 (en) * | 2001-03-21 | 2009-01-13 | Microsoft Corporation | On-disk file format for serverless distributed file system with signed manifest of file modifications |
| US20020181732A1 (en) * | 2001-04-10 | 2002-12-05 | Motorola, Inc | Method of collaborative watermarking of a digital content |
| JP2003044155A (ja) * | 2001-07-30 | 2003-02-14 | Hitachi-Lg Data Storage Inc | ソフトウェアのインストール方法及びファームウェアのアップデート方法及びそれらに用いる記録再生装置及び記録媒体 |
| US7299463B2 (en) * | 2001-09-28 | 2007-11-20 | Intel Corporation | Method for atomically updating a plurality of files |
| JP2003317387A (ja) * | 2002-04-16 | 2003-11-07 | Matsushita Electric Ind Co Ltd | 情報記録装置および記録媒体への情報記録方法 |
| CN101145177B (zh) * | 2002-08-01 | 2011-06-15 | 松下电器产业株式会社 | 加密程序生成方法和设备 |
| JP4475894B2 (ja) | 2002-08-01 | 2010-06-09 | パナソニック株式会社 | 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法 |
| US20040083373A1 (en) * | 2002-10-28 | 2004-04-29 | Perkins Gregory M. | Automatically generated cryptographic functions for renewable tamper resistant security systems |
| JP2004152136A (ja) * | 2002-10-31 | 2004-05-27 | Matsushita Electric Ind Co Ltd | データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム |
| US7337309B2 (en) * | 2003-03-24 | 2008-02-26 | Intel Corporation | Secure online BIOS update schemes |
| JP4257150B2 (ja) * | 2003-05-16 | 2009-04-22 | 沖電気工業株式会社 | 印刷文書の改ざん検出装置および改ざん検出方法 |
| JP4462852B2 (ja) * | 2003-06-23 | 2010-05-12 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの接続方法 |
| US20040268068A1 (en) * | 2003-06-24 | 2004-12-30 | International Business Machines Corporation | Efficient method for copying and creating block-level incremental backups of large files and sparse files |
| EP1519530A1 (en) * | 2003-09-29 | 2005-03-30 | STMicroelectronics S.r.l. | Method for establishing an encrypted communication by means of keys |
| US7624269B2 (en) * | 2004-07-09 | 2009-11-24 | Voltage Security, Inc. | Secure messaging system with derived keys |
| US7673148B2 (en) * | 2004-10-15 | 2010-03-02 | Microsoft Corporation | Versioning component for applications |
| US7310716B2 (en) * | 2005-03-04 | 2007-12-18 | Emc Corporation | Techniques for producing a consistent copy of source data at a target location |
| US7177994B2 (en) * | 2005-03-04 | 2007-02-13 | Emc Corporation | Checkpoint and consistency markers |
| US7822200B2 (en) * | 2005-03-07 | 2010-10-26 | Microsoft Corporation | Method and system for asymmetric key security |
-
2006
- 2006-05-30 US US11/914,918 patent/US7934256B2/en active Active
- 2006-05-30 KR KR1020077027514A patent/KR20080013940A/ko not_active Withdrawn
- 2006-05-30 JP JP2007519003A patent/JP4891902B2/ja active Active
- 2006-05-30 EP EP06746992A patent/EP1887731A1/en not_active Withdrawn
- 2006-05-30 CN CN200680019338A patent/CN100578522C/zh active Active
- 2006-05-30 WO PCT/JP2006/310764 patent/WO2006129654A1/ja not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6574657B1 (en) * | 1999-05-03 | 2003-06-03 | Symantec Corporation | Methods and apparatuses for file synchronization and updating using a signature list |
| JP2002016565A (ja) * | 2000-06-30 | 2002-01-18 | Toshiba Corp | 情報配信方法および情報配信装置および放送受信装置 |
| JP2004514214A (ja) * | 2000-11-17 | 2004-05-13 | ビットフォン コーポレイション | 情報をアップデートおよび配布するシステムおよび方法 |
| JP2005515534A (ja) * | 2002-01-18 | 2005-05-26 | テレフォンアクチーボラゲット エル エム エリクソン(パブル) | 移動端末にデータをロードする方法 |
| JP2007506187A (ja) * | 2003-09-18 | 2007-03-15 | アップル コンピュータ、インコーポレイテッド | インクリメンタルなコード署名の方法及び装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2006129654A1 (ja) | 2006-12-07 |
| CN101189617A (zh) | 2008-05-28 |
| CN100578522C (zh) | 2010-01-06 |
| EP1887731A1 (en) | 2008-02-13 |
| JPWO2006129654A1 (ja) | 2009-01-08 |
| KR20080013940A (ko) | 2008-02-13 |
| US7934256B2 (en) | 2011-04-26 |
| US20090193521A1 (en) | 2009-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4891902B2 (ja) | 電子機器、更新サーバ装置、鍵更新装置 | |
| US20210192095A1 (en) | Program execution device | |
| JP5006307B2 (ja) | 電子機器、コンテンツ再生制御方法、プログラム、記憶媒体、集積回路 | |
| US8392724B2 (en) | Information terminal, security device, data protection method, and data protection program | |
| US20080162949A1 (en) | Program Conversion Device and Program Execution Device | |
| WO2005096121A1 (ja) | 実行装置 | |
| JP2009070408A (ja) | 情報処理装置 | |
| US20080168562A1 (en) | Secure Processing Device and Secure Processing System | |
| JP4889638B2 (ja) | 検証方法、検証プログラム、記録媒体、情報処理装置、集積回路 | |
| JP2007233426A (ja) | アプリケーション実行装置 | |
| JP5255991B2 (ja) | 情報処理装置、及びコンピュータプログラム | |
| JP4816012B2 (ja) | 情報処理装置、ソフトウェアインストール方法、および光ディスク | |
| CN102982262B (zh) | 用于开发的操作系统的安全机制 | |
| JP4796050B2 (ja) | セキュア処理装置、及びセキュア処理システム | |
| JP2010165206A (ja) | メモリコントローラおよび不揮発性記憶装置 | |
| KR101405915B1 (ko) | 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법 | |
| CN101324914A (zh) | 一种防盗版的方法和装置 | |
| JP4898823B2 (ja) | アプリケーション情報改竄監視装置及び方法 | |
| JP4597651B2 (ja) | メディア内のデータのリッピングを制御するための情報処理ユニット、方法及びプログラム | |
| CN1898625A (zh) | 许可信息管理设备和许可信息管理方法 | |
| JP2010061182A (ja) | ソフトウェア管理方法、ソフトウェア管理装置およびソフトウェア管理プログラム | |
| JP2006229672A (ja) | コンテンツ再生装置、セキュア処理プログラム、セキュア処理プログラムが記録された記録媒体、権利管理プログラム、及び権利管理プログラムが記録された記録媒体 | |
| JP2003143540A (ja) | 情報処理装置、情報処理システム、記録媒体へのアクセス制御方法、記憶媒体、及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090324 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090324 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110830 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111005 |
|
| 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: 20111122 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111216 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4891902 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |