JP2017169147A - Verification device, electronic apparatus, program, and verification system - Google Patents

Verification device, electronic apparatus, program, and verification system Download PDF

Info

Publication number
JP2017169147A
JP2017169147A JP2016054535A JP2016054535A JP2017169147A JP 2017169147 A JP2017169147 A JP 2017169147A JP 2016054535 A JP2016054535 A JP 2016054535A JP 2016054535 A JP2016054535 A JP 2016054535A JP 2017169147 A JP2017169147 A JP 2017169147A
Authority
JP
Japan
Prior art keywords
verification
unit
target data
response
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016054535A
Other languages
Japanese (ja)
Inventor
方明 趙
Masaaki Cho
方明 趙
洋美 春木
Hiromi Haruki
洋美 春木
達之 松下
Tatsuyuki Matsushita
達之 松下
福友 中西
Fukutomo Nakanishi
福友 中西
慧 青木
Satoshi Aoki
慧 青木
俊成 高橋
Toshinari Takahashi
俊成 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2016054535A priority Critical patent/JP2017169147A/en
Publication of JP2017169147A publication Critical patent/JP2017169147A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To remotely verify target data stored in an electronic apparatus.SOLUTION: A verification device according to an embodiment comprises an image storage unit, an address selection unit, a challenge generation unit, a challenge transmission unit, a response reception unit, a data extraction unit, a verification value generation unit, and a determination unit. The image storage unit stores a memory image of a data storage unit included by an electronic apparatus. The address selection unit selects an address. The challenge generation unit generates challenge information including the selected address. The challenge transmission unit transmits the challenge information to the electronic apparatus. The response reception unit receives a response value from the electronic apparatus. The data extraction unit extracts target data that should be stored at the address selected from the memory image. The verification value generation unit generates a verification value from the extracted target data, by using predetermined arithmetic algorithm. The determination unit, when the response value agrees with the verification value, determines that the target data is normal.SELECTED DRAWING: Figure 2

Description

本発明の実施形態は、検証装置、電子機器、プログラムおよび検証システムに関する。   Embodiments described herein relate generally to a verification apparatus, an electronic apparatus, a program, and a verification system.

従来より、組込機器およびIoT(Internet of Things)機器等の電子機器が知られている。このような電子機器は、プログラムを実行するプロセッサ、および、プログラムおよびデータを格納したメモリを有し、プロセッサがメモリに記憶されているプログラムを実行する。また、このような電子機器は、通信機能を有し、ネットワークを介して新たなプログラムおよびデータを受信して、メモリに記憶されているプログラムおよびデータをアップデートすることができる。   Conventionally, electronic devices such as embedded devices and IoT (Internet of Things) devices are known. Such an electronic device has a processor that executes a program and a memory that stores the program and data, and the processor executes the program stored in the memory. Further, such an electronic device has a communication function, and can receive new programs and data via a network and update the programs and data stored in the memory.

ところで、このような電子機器は、プログラムのアップデート中にエラーが発生した場合、メモリに記憶されるプログラムまたはデータに欠陥が生じてしまう可能性がある。また、このような電子機器は、ネットワークに接続されているので、サイバー攻撃者から攻撃を受けて、メモリに記憶されたプログラムまたはデータが書き換えられる恐れもある。   By the way, in such an electronic device, when an error occurs during program update, there is a possibility that a program or data stored in the memory may be defective. In addition, since such an electronic device is connected to a network, there is a possibility that a program or data stored in the memory may be rewritten due to an attack from a cyber attacker.

このため、管理者は、電子機器のメモリに記憶されているプログラムおよびデータが正常であるか否かを定期的に確認しなければならない。また、管理者は、このような確認を、電子機器の動作を停止することなく遠隔からネットワークを介して実行することが望ましい。   For this reason, the administrator must periodically check whether the program and data stored in the memory of the electronic device are normal. In addition, it is desirable for the administrator to execute such confirmation via a network from a remote location without stopping the operation of the electronic device.

特開2011−238246号公報JP 2011-238246 A

本発明が解決しようとする課題は、情報処理を実行する電子機器に記憶されている対象データが正常であるか否かを、ネットワークを介して遠隔から検証することにある。   A problem to be solved by the present invention is to verify remotely whether or not target data stored in an electronic device that executes information processing is normal via a network.

実施形態に係る検証装置は、情報処理を実行する電子機器に記憶されている対象データをネットワークを介して検証する。前記検証装置は、イメージ記憶部と、アドレス選択部と、チャレンジ生成部と、チャレンジ送信部と、レスポンス受信部と、データ抽出部と、検証値生成部と、判定部とを備える。前記イメージ記憶部は、前記電子機器が備えるデータ記憶部のメモリイメージを記憶する。前記アドレス選択部は、前記データ記憶部における少なくとも1つのアドレスを選択する。前記チャレンジ生成部は、選択された前記少なくとも1つのアドレスを含むチャレンジ情報を生成する。前記チャレンジ送信部は、前記チャレンジ情報を前記電子機器にネットワークを介して送信する。前記レスポンス受信部は、前記チャレンジ情報を送信したことに応じて返信されたレスポンス値を前記電子機器からネットワークを介して受信する。前記データ抽出部は、前記メモリイメージから、選択された前記少なくとも1つのアドレスに記憶されているべき少なくとも1つの対象データを抽出する。前記検証値生成部は、抽出した前記少なくとも1つの対象データから、予め定められた演算アルゴリズムを用いて検証値を生成する。前記判定部は、前記レスポンス値と前記検証値とが一致する場合、前記データ記憶部に記憶されている対象データが正常であると判定する。   The verification apparatus according to the embodiment verifies target data stored in an electronic device that executes information processing via a network. The verification device includes an image storage unit, an address selection unit, a challenge generation unit, a challenge transmission unit, a response reception unit, a data extraction unit, a verification value generation unit, and a determination unit. The image storage unit stores a memory image of a data storage unit included in the electronic device. The address selection unit selects at least one address in the data storage unit. The challenge generation unit generates challenge information including the selected at least one address. The challenge transmission unit transmits the challenge information to the electronic device via a network. The response receiving unit receives a response value returned in response to the transmission of the challenge information from the electronic device via a network. The data extraction unit extracts at least one target data to be stored at the selected at least one address from the memory image. The verification value generation unit generates a verification value from the extracted at least one target data using a predetermined calculation algorithm. The determination unit determines that the target data stored in the data storage unit is normal when the response value matches the verification value.

第1実施形態に係る検証システムの構成図。The block diagram of the verification system which concerns on 1st Embodiment. 第1実施形態に係る検証装置および電子機器の構成図。The block diagram of the verification apparatus and electronic device which concern on 1st Embodiment. 第1実施形態に係る検証システムの処理の流れを示すフローチャート。The flowchart which shows the flow of a process of the verification system which concerns on 1st Embodiment. 第2実施形態に係る検証装置および電子機器の構成図。The block diagram of the verification apparatus and electronic device which concern on 2nd Embodiment. 第2実施形態に係る検証システムの処理の流れを示すフローチャート。The flowchart which shows the flow of a process of the verification system which concerns on 2nd Embodiment. 第3実施形態に係る検証システムの構成図。The block diagram of the verification system which concerns on 3rd Embodiment. 第3実施形態に係る検証装置および電子機器の構成図。The block diagram of the verification apparatus and electronic device which concern on 3rd Embodiment. 第3実施形態に係る検証システムの処理の流れを示すフローチャート。The flowchart which shows the flow of a process of the verification system which concerns on 3rd Embodiment. 第4実施形態に係る検証装置および電子機器の構成図。The block diagram of the verification apparatus and electronic device which concern on 4th Embodiment. 検証装置および電子機器のハードウェア構成図。The hardware block diagram of a verification apparatus and an electronic device.

以下、図面を参照しながら実施形態に係る検証システム10について詳細に説明する。検証システム10は、情報処理を実行する機器に記憶されている対象データが正常であるか否かを、ネットワークを介して遠隔から検証することを目的とする。   Hereinafter, the verification system 10 according to the embodiment will be described in detail with reference to the drawings. An object of the verification system 10 is to remotely verify whether target data stored in a device that executes information processing is normal or not via a network.

(第1実施形態)
図1は、第1実施形態に係る検証システム10を示す図である。検証システム10は、検証装置20と、電子機器30とを備える。
(First embodiment)
FIG. 1 is a diagram illustrating a verification system 10 according to the first embodiment. The verification system 10 includes a verification device 20 and an electronic device 30.

検証装置20は、サーバ等の情報処理装置である。検証装置20は、ネットワークを介して電子機器30との間で情報を送受信することが可能である。ネットワークは、どのようなものであってもよく、インターネット等の公衆ネットワークであっても、グループ内や建物内等においてクローズしている専用ネットワークであってもよい。   The verification device 20 is an information processing device such as a server. The verification device 20 can transmit and receive information to and from the electronic device 30 via the network. The network may be any network, and may be a public network such as the Internet or a dedicated network closed in a group or a building.

電子機器30は、組込機器およびIoT機器等の機器である。電子機器30は、プログラムを実行するプロセッサと、プログラムおよびデータを記憶するメモリを有する。電子機器30は、メモリに記憶されたプログラムおよびデータをプロセッサが実行することにより処理を実行する機能を有する。また、電子機器30は、ネットワークを介して他の装置と情報を送受信することが可能である。   The electronic device 30 is a device such as an embedded device or an IoT device. The electronic device 30 includes a processor that executes a program and a memory that stores the program and data. The electronic device 30 has a function of executing processing by a processor executing a program and data stored in a memory. In addition, the electronic device 30 can transmit and receive information to and from other devices via a network.

例えば、電子機器30は、家庭用の電化製品、または、工業用のロボット、飛行機および車両に設けられる電子制御装置(ECU)等であってよい。電子機器30は、ハードウェアとして、CPU(Central Processing Unit)等の処理ユニット、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性記憶装置等の記憶ユニット、検証装置20と接続するための通信ユニット等を有する。このような電子機器30は、プログラムとハードウェアとが協働して、情報処理および制御を実行する。   For example, the electronic device 30 may be a household electrical appliance, or an electronic control unit (ECU) provided in an industrial robot, an airplane, and a vehicle. The electronic device 30 is connected to a processing unit such as a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a storage unit such as a nonvolatile storage device, and the verification device 20 as hardware. Communication unit. Such an electronic device 30 executes information processing and control in cooperation with a program and hardware.

検証装置20は、電子機器30に記憶されている対象データを、ネットワークを介して遠隔から検証する。ここで、対象のデータは、プログラムおよびプログラムにより参照されるデータを含む。対象データは、電子機器30の工場出荷時またはバージョン更新時において、メモリ上の特定のアドレスに書き込まれる。また、メモリに書き込まれた後には、次にバージョンの更新がされるまで書き換えがされない。   The verification device 20 verifies the target data stored in the electronic device 30 remotely via a network. Here, the target data includes a program and data referred to by the program. The target data is written at a specific address on the memory when the electronic device 30 is shipped from the factory or when the version is updated. Further, after being written in the memory, it is not rewritten until the next version update.

検証装置20は、電子機器30との間でネットワークを介して情報をやり取りして、電子機器30のメモリに、本来書き込まれているべき対象データ(プログラムおよびデータ)が記憶されているか否かを確認する。これにより、検証装置20は、電子機器30のバージョン更新の処理が失敗してメモリに記憶されている対象データに異常が生じていたり、または、サイバー攻撃等によりメモリに記憶されている対象データに異常が生じていたりすることを検出できる。   The verification device 20 exchanges information with the electronic device 30 via a network, and determines whether target data (program and data) that should be originally written is stored in the memory of the electronic device 30. Check. As a result, the verification device 20 fails to update the version of the electronic device 30 and the target data stored in the memory is abnormal, or the target data stored in the memory due to a cyber attack or the like is detected. It is possible to detect that an abnormality has occurred.

図2は、第1実施形態に係る検証装置20および電子機器30の機能構成を示す図である。検証装置20は、イメージ記憶部42と、バージョン確認部44と、バージョン取得部52と、アドレス選択部54と、順序設定部56と、チャレンジ生成部58と、チャレンジ送信部60と、レスポンス受信部70と、データ抽出部72と、検証値生成部74と、判定部76と、結果記憶部78とを有する。電子機器30は、データ記憶部38と、処理実行部40と、確認要求受信部46と、バージョン記憶部48と、バージョン送信部50と、チャレンジ受信部62と、データ読出部64と、レスポンス生成部66と、レスポンス送信部68とを有する。   FIG. 2 is a diagram illustrating a functional configuration of the verification device 20 and the electronic device 30 according to the first embodiment. The verification device 20 includes an image storage unit 42, a version confirmation unit 44, a version acquisition unit 52, an address selection unit 54, an order setting unit 56, a challenge generation unit 58, a challenge transmission unit 60, and a response reception unit. 70, a data extraction unit 72, a verification value generation unit 74, a determination unit 76, and a result storage unit 78. The electronic device 30 includes a data storage unit 38, a process execution unit 40, a confirmation request reception unit 46, a version storage unit 48, a version transmission unit 50, a challenge reception unit 62, a data reading unit 64, and a response generation. Unit 66 and response transmission unit 68.

電子機器30におけるデータ記憶部38は、検証対象となる対象データ(プログラムおよびデータ)を記憶する。データ記憶部38は、例えば、不揮発性のメモリ等により実現される。不揮発性のメモリは、半導体メモリであってもよいし、ハードディスク等のディスク記録媒体であってもよい。データ記憶部38に記憶されている対象データは、工場出荷時またはバージョン更新時等に書き換えられる。   The data storage unit 38 in the electronic device 30 stores target data (program and data) to be verified. The data storage unit 38 is realized by, for example, a nonvolatile memory. The non-volatile memory may be a semiconductor memory or a disk recording medium such as a hard disk. The target data stored in the data storage unit 38 is rewritten at the time of factory shipment or version update.

電子機器30における処理実行部40は、データ記憶部38に記憶された対象データ(プログラムおよびデータ)に基づき情報処理および制御処理等を実行する。   The process execution unit 40 in the electronic device 30 executes information processing and control processing based on target data (program and data) stored in the data storage unit 38.

検証装置20におけるイメージ記憶部42は、電子機器30が備えるデータ記憶部38のメモリイメージを記憶する。ここで、メモリイメージは、データ記憶部38に記憶された対象データと、そのデータが記憶されているアドレスとの関係が検出可能な情報である。従って、メモリイメージを参照することにより、データ記憶部38上における特定のアドレスに記憶されている対象データを抽出することができる。イメージ記憶部42は、メモリイメージをどのような形式で記憶していてもよい。   The image storage unit 42 in the verification device 20 stores the memory image of the data storage unit 38 included in the electronic device 30. Here, the memory image is information capable of detecting the relationship between the target data stored in the data storage unit 38 and the address where the data is stored. Therefore, by referring to the memory image, it is possible to extract target data stored at a specific address on the data storage unit 38. The image storage unit 42 may store the memory image in any format.

また、イメージ記憶部42は、バージョン毎にメモリイメージを記憶する。例えば、イメージ記憶部42は、データ記憶部38に記憶されている対象データが更新される毎に、新たなバージョンのメモリイメージを記憶する。また、旧バージョンの対象データを記憶している電子機器30と、新バージョンの対象データを記憶している電子機器30とが混在する可能性がある場合、イメージ記憶部42は、それぞれのバージョンのメモリイメージを記憶する。   The image storage unit 42 stores a memory image for each version. For example, the image storage unit 42 stores a new version of the memory image each time the target data stored in the data storage unit 38 is updated. Further, when there is a possibility that the electronic device 30 storing the old version target data and the electronic device 30 storing the new version target data may be mixed, the image storage unit 42 stores the version of each version. Store the memory image.

検証装置20におけるバージョン確認部44は、検証対象となる電子機器30に対してネットワークを介してバージョンの確認要求を送信する。   The version confirmation unit 44 in the verification device 20 transmits a version confirmation request to the electronic device 30 to be verified via the network.

電子機器30における確認要求受信部46は、検証装置20からネットワークを介してバージョンの確認要求を受信する。電子機器30におけるバージョン記憶部48は、データ記憶部38に記憶されている対象データのバージョンを表すバージョン情報を記憶する。電子機器30におけるバージョン送信部50は、確認要求受信部46がバージョンの確認要求を受信した場合、バージョン記憶部48に記憶されているバージョン情報を読み出す。そして、バージョン送信部50は、読み出したバージョン情報を、ネットワークを介して検証装置20に送信する。   The confirmation request receiving unit 46 in the electronic device 30 receives a version confirmation request from the verification device 20 via the network. The version storage unit 48 in the electronic device 30 stores version information indicating the version of the target data stored in the data storage unit 38. The version transmitting unit 50 in the electronic device 30 reads the version information stored in the version storage unit 48 when the confirmation request receiving unit 46 receives a version confirmation request. Then, the version transmission unit 50 transmits the read version information to the verification device 20 via the network.

検証装置20におけるバージョン取得部52は、電子機器30からネットワークを介してバージョン情報を受信する。そして、バージョン取得部52は、バージョン情報を解析して、データ記憶部38に記憶されている対象データのバージョンを取得する。なお、バージョン取得部52は、電子機器30からではなく、それぞれの電子機器30のバージョンを管理する管理装置等から、バージョン情報を取得してもよい。管理装置は、ネットワーク上に存在していてもよいし、検証装置20が備えていてもよい。   The version acquisition unit 52 in the verification device 20 receives version information from the electronic device 30 via the network. Then, the version acquisition unit 52 analyzes the version information and acquires the version of the target data stored in the data storage unit 38. Note that the version acquisition unit 52 may acquire version information not from the electronic device 30 but from a management device that manages the version of each electronic device 30. The management device may exist on the network, or the verification device 20 may include the management device.

検証装置20におけるアドレス選択部54は、データ記憶部38の対象データが記憶されている領域における少なくとも1つのアドレスを選択する。本実施形態においては、アドレス選択部54は、複数のアドレスを選択する。なお、アドレス選択部54は、検証を実行する毎に、任意の複数のアドレスを選択する。アドレス選択部54は、検証を実行する毎に異なるアドレスを選択する。アドレス選択部54は、検証を実行する毎に、ランダムにアドレスを選択してもよいし、例えば予め登録されたリスト等を参照して異なるアドレスを選択してもよい。なお、アドレス選択部54は、バージョン毎に対象データが記憶されている記録範囲が異なる場合には、バージョンに応じた記録範囲の中からアドレスを選択する。   The address selection unit 54 in the verification device 20 selects at least one address in the area where the target data of the data storage unit 38 is stored. In the present embodiment, the address selection unit 54 selects a plurality of addresses. Note that the address selection unit 54 selects an arbitrary plurality of addresses each time verification is executed. The address selection unit 54 selects a different address every time verification is executed. The address selection unit 54 may select an address at random every time verification is performed, or may select a different address with reference to a list registered in advance, for example. The address selection unit 54 selects an address from the recording range corresponding to the version when the recording range in which the target data is stored is different for each version.

検証装置20における順序設定部56は、アドレス選択部54により選択された複数のアドレスをランダムに並べ替える。なお、アドレス選択部54が1つのアドレスを選択する場合には、順序設定部56は、何ら処理を実行しない。   The order setting unit 56 in the verification device 20 rearranges the plurality of addresses selected by the address selection unit 54 at random. When the address selection unit 54 selects one address, the order setting unit 56 performs no processing.

検証装置20におけるチャレンジ生成部58は、選択された少なくとも1つのアドレスを含むチャレンジ情報を生成する。例えば、チャレンジ生成部58は、選択された少なくとも1つのアドレスを含む配列データを、チャレンジ情報として生成する。本実施形態においては、チャレンジ生成部58は、選択された複数のアドレスを、並べられた順序を識別可能に含むチャレンジ情報を生成する。例えば、チャレンジ生成部58は、選択された複数のアドレスを、並び順に従った位置に格納した配列データを、チャレンジ情報として生成する。   The challenge generation unit 58 in the verification device 20 generates challenge information including at least one selected address. For example, the challenge generation unit 58 generates sequence data including at least one selected address as challenge information. In the present embodiment, the challenge generation unit 58 generates challenge information including a plurality of selected addresses so that the order in which they are arranged can be identified. For example, the challenge generation unit 58 generates, as challenge information, array data in which a plurality of selected addresses are stored at positions according to the arrangement order.

検証装置20におけるチャレンジ送信部60は、チャレンジ生成部58が生成したチャレンジ情報を電子機器30にネットワークを介して送信する。   The challenge transmission unit 60 in the verification device 20 transmits the challenge information generated by the challenge generation unit 58 to the electronic device 30 via the network.

電子機器30におけるチャレンジ受信部62は、検証装置20からネットワークを介してチャレンジ情報を受信する。電子機器30におけるデータ読出部64は、チャレンジ受信部62がチャレンジ情報を受信した場合、チャレンジ情報に含まれる少なくとも1つのアドレスに記憶された対象データを、データ記憶部38から読み出す。   The challenge receiving unit 62 in the electronic device 30 receives challenge information from the verification device 20 via the network. When the challenge receiving unit 62 receives the challenge information, the data reading unit 64 in the electronic device 30 reads the target data stored in at least one address included in the challenge information from the data storage unit 38.

電子機器30におけるレスポンス生成部66は、データ読出部64が読み出した少なくとも1つの対象データから、予め定められた演算アルゴリズムを用いてレスポンス値を生成する。   The response generation unit 66 in the electronic device 30 generates a response value from at least one target data read by the data reading unit 64 using a predetermined calculation algorithm.

ここで、予め定められた演算アルゴリズムは、例えば、予め定められたハッシュ関数である。ハッシュ関数は、不可逆な一方向関数である。ハッシュ関数は、同一の入力値(対象データ)を、同一の出力値(ハッシュ値)へと変換する。しかし、ハッシュ関数は、出力値を入力値へ変換する逆関数は存在せず、出力値から入力値を探索することは非常に困難である。   Here, the predetermined calculation algorithm is, for example, a predetermined hash function. The hash function is an irreversible one-way function. The hash function converts the same input value (target data) into the same output value (hash value). However, the hash function has no inverse function for converting the output value into the input value, and it is very difficult to search for the input value from the output value.

レスポンス生成部66は、予め定められたハッシュ関数を用いて、読み出した少なくとも1つの対象データにより定まるハッシュ値を、レスポンス値として算出する。本実施形態においては、レスポンス生成部66は、予め定められたハッシュ関数を用いて、読み出した複数の対象データおよび設定された並び順毎によって定まるハッシュ値を、レスポンス値として算出する。例えば、レスポンス生成部66は、読み出した複数の対象データを、順序に従って連結して1つのデータを生成し、連結されたデータをハッシュ関数に与えてハッシュ値を算出する。   The response generation unit 66 calculates a hash value determined by at least one read target data as a response value using a predetermined hash function. In the present embodiment, the response generation unit 66 calculates, as a response value, a hash value determined by a plurality of read target data and each set arrangement order using a predetermined hash function. For example, the response generation unit 66 generates a single data by concatenating the plurality of read target data in the order, and calculates the hash value by giving the concatenated data to the hash function.

電子機器30におけるレスポンス送信部68は、レスポンス生成部66が生成したレスポンス値を、検証装置20にネットワークを介して送信する。この場合、レスポンス生成部は、検証装置20から受信したチャレンジ情報の応答として、レスポンス値を返信する。   The response transmission unit 68 in the electronic device 30 transmits the response value generated by the response generation unit 66 to the verification device 20 via the network. In this case, the response generation unit returns a response value as a response to the challenge information received from the verification device 20.

検証装置20におけるレスポンス受信部70は、チャレンジ情報を送信したことに応じて返信されたレスポンス値を電子機器30からネットワークを介して受信する。   The response receiving unit 70 in the verification device 20 receives the response value returned in response to transmitting the challenge information from the electronic device 30 via the network.

検証装置20におけるデータ抽出部72は、イメージ記憶部42に記憶されているメモリイメージから、アドレス選択部54により選択された少なくとも1つのアドレスに記憶されているべき少なくとも1つの対象データを抽出する。この場合、データ抽出部72は、バージョン取得部52が取得したバージョンに対応するメモリイメージから、少なくとも1つの対象データを取得する。本実施形態においては、データ抽出部72は、アドレス選択部54により選択された複数のアドレスに記憶されているべき複数の対象データを抽出する。   The data extraction unit 72 in the verification device 20 extracts at least one target data to be stored at at least one address selected by the address selection unit 54 from the memory image stored in the image storage unit 42. In this case, the data extraction unit 72 acquires at least one target data from the memory image corresponding to the version acquired by the version acquisition unit 52. In the present embodiment, the data extraction unit 72 extracts a plurality of target data that should be stored at a plurality of addresses selected by the address selection unit 54.

検証装置20における検証値生成部74は、データ抽出部72が抽出した少なくとも1つの対象データから、予め定められた演算アルゴリズムを用いて検証値を生成する。例えば、検証値生成部74は、予め定められたハッシュ関数を用いて、抽出した少なくとも1つの対象データにより定まるハッシュ値を、検証値として算出する。   The verification value generation unit 74 in the verification device 20 generates a verification value from at least one target data extracted by the data extraction unit 72 using a predetermined calculation algorithm. For example, the verification value generation unit 74 calculates, as a verification value, a hash value determined by at least one extracted target data using a predetermined hash function.

本実施形態においては、検証値生成部74は、予め定められたハッシュ関数を用いて、抽出した複数の対象データおよび順序設定部56により設定された並び順によって定まるハッシュ値を、検証値として算出する。例えば、検証値生成部74は、抽出した複数の対象データを、順序設定部56が設定した順序に従って連結して1つのデータを生成し、連結されたデータをハッシュ関数に与えてハッシュ値を算出する。   In the present embodiment, the verification value generation unit 74 calculates, as a verification value, a hash value determined by a plurality of extracted target data and the arrangement order set by the order setting unit 56 using a predetermined hash function. To do. For example, the verification value generation unit 74 generates a single data by concatenating a plurality of extracted target data according to the order set by the order setting unit 56, and gives the concatenated data to a hash function to calculate a hash value. To do.

ここで、検証値生成部74が用いる演算アルゴリズムは、電子機器30におけるレスポンス生成部66が用いる演算アルゴリズムと同一である。レスポンス生成部66においてハッシュ関数を用いる場合、検証値生成部74は、同一のハッシュ関数および連結アルゴリズムを用いて検証値を生成する。   Here, the calculation algorithm used by the verification value generation unit 74 is the same as the calculation algorithm used by the response generation unit 66 in the electronic device 30. When the hash function is used in the response generation unit 66, the verification value generation unit 74 generates a verification value using the same hash function and concatenation algorithm.

従って、電子機器30におけるデータ読出部64が読み出した少なくとも1つの対象データと、検証装置20におけるデータ抽出部72が読み出した少なくとも1つの対象データとが同一であれば、レスポンス値と検証値とは同一となる。つまり、レスポンス値と検証値とが同一であれば、データ記憶部38における選択されたアドレスに記憶されている対象データに異常はないと推定される。   Therefore, if at least one target data read by the data reading unit 64 in the electronic device 30 is the same as at least one target data read by the data extraction unit 72 in the verification device 20, the response value and the verification value are It will be the same. That is, if the response value and the verification value are the same, it is estimated that there is no abnormality in the target data stored at the selected address in the data storage unit 38.

検証装置20における判定部76は、レスポンス受信部70が受信したレスポンス値と、検証値生成部74が生成した検証値とを比較する。そして、判定部76は、レスポンス値と検証値とが一致する場合、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常であると判定する。   The determination unit 76 in the verification device 20 compares the response value received by the response reception unit 70 with the verification value generated by the verification value generation unit 74. When the response value matches the verification value, the determination unit 76 determines that the target data stored at the selected at least one address of the data storage unit 38 in the electronic device 30 is normal.

また、判定部76は、レスポンス値と検証値とが一致しない場合、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常ではないと判定する。すなわち、判定部76は、レスポンス値と検証値とが一致しない場合、選択された少なくとも1つのアドレスに記憶されている対象データに、更新または攻撃等の何らかの原因により異常が生じていると判定する。   Further, when the response value and the verification value do not match, the determination unit 76 determines that the target data stored at the selected at least one address of the data storage unit 38 in the electronic device 30 is not normal. That is, when the response value and the verification value do not match, the determination unit 76 determines that an abnormality has occurred in the target data stored in the selected at least one address due to some cause such as update or attack. .

結果記憶部78は、判定部76による判定結果(正常または異常)を記憶する。結果記憶部78は、検証対象となる電子機器30毎に判定結果(正常または異常)を記憶してもよい。また、結果記憶部78は、判定をしたアドレス(アドレス選択部54により選択された少なくとも1つのアドレス)と対応付けて、判定結果を記憶してもよい。   The result storage unit 78 stores the determination result (normal or abnormal) by the determination unit 76. The result storage unit 78 may store a determination result (normal or abnormal) for each electronic device 30 to be verified. The result storage unit 78 may store the determination result in association with the determined address (at least one address selected by the address selection unit 54).

図3は、第1実施形態に係る検証システム10の処理の流れを示すフローチャートである。第1実施形態に係る検証システム10では、検証装置20および電子機器30が図3に示す流れで検証を実行する。   FIG. 3 is a flowchart showing a process flow of the verification system 10 according to the first embodiment. In the verification system 10 according to the first embodiment, the verification device 20 and the electronic device 30 execute verification in the flow shown in FIG.

まず、検証装置20は、検証対象となる電子機器30に対してネットワークを介してバージョンの確認要求を送信する(S11)。   First, the verification device 20 transmits a version confirmation request to the electronic device 30 to be verified via the network (S11).

続いて、電子機器30は、検証装置20からネットワークを介してバージョンの確認要求を受信する(S12)。続いて、電子機器30は、バージョン記憶部48に記憶されているバージョン情報を読み出す(S13)。続いて、電子機器30は、検証装置20に対してネットワークを介してバージョン情報を送信する(S14)。   Subsequently, the electronic device 30 receives a version confirmation request from the verification device 20 via the network (S12). Subsequently, the electronic device 30 reads the version information stored in the version storage unit 48 (S13). Subsequently, the electronic device 30 transmits version information to the verification device 20 via the network (S14).

続いて、検証装置20は、電子機器30からバージョン情報を受信し、バージョン情報を解析してバージョンを取得する(S15)。続いて、検証装置20は、バージョン毎に記憶している複数のメモリイメージのうち、取得したバージョンに対応するメモリイメージを特定する(S16)。   Subsequently, the verification device 20 receives the version information from the electronic device 30, analyzes the version information, and acquires the version (S15). Subsequently, the verification apparatus 20 specifies a memory image corresponding to the acquired version among the plurality of memory images stored for each version (S16).

続いて、検証装置20は、任意の複数のアドレスを選択する(S17)。例えば、検証装置20は、ランダムに複数のアドレスを選択する。例えば、検証装置20は、下記の式(1)に示すような3個のアドレスを選択する。
複数のアドレス=(add_1,add_3,add_8)…(1)
Subsequently, the verification device 20 selects an arbitrary plurality of addresses (S17). For example, the verification device 20 selects a plurality of addresses at random. For example, the verification device 20 selects three addresses as shown in the following formula (1).
Multiple addresses = (add_1, add_3, add_8) (1)

続いて、検証装置20は、選択された複数のアドレスをランダムに並べ替える(S18)。例えば、検証装置20は、下記の式(2)に示すように3個のアドレスを並べ替える。
並べ替え後の複数のアドレス=(add_3,add_8,add_1)…(2)
Subsequently, the verification device 20 rearranges the selected plurality of addresses randomly (S18). For example, the verification device 20 rearranges the three addresses as shown in the following equation (2).
Multiple addresses after rearrangement = (add_3, add_8, add_1) (2)

続いて、検証装置20は、選択された複数のアドレスを、ランダムに並べられた順序を識別可能に含むチャレンジ情報を生成する(S19)。例えば、検証装置20は、下記の式(3)に示すような、3個のアドレスを、並べた順序に従って先頭から格納した配列データをチャレンジ情報として生成する。
チャレンジ情報=[add_3,add_8,add_1]…(3)
Subsequently, the verification device 20 generates challenge information including the plurality of selected addresses so that the randomly arranged order can be identified (S19). For example, the verification device 20 generates, as challenge information, array data that stores three addresses from the top in the order in which they are arranged as shown in the following formula (3).
Challenge information = [add — 3, add — 8, add — 1] (3)

続いて、検証装置20は、生成したチャレンジ情報を電子機器30にネットワークを介して送信する(S20)。   Subsequently, the verification device 20 transmits the generated challenge information to the electronic device 30 via the network (S20).

続いて、電子機器30は、検証装置20からチャレンジ情報を受信する(S21)。続いて、電子機器30は、チャレンジ情報に含まれる複数のアドレスに記憶されている対象データを、データ記憶部38から読み出す(S22)。例えば、電子機器30は、下記の式(4)に示すような、3個の対象データを読み出す。
複数の対象データ=(data_1,data_3,data_8)…(4)
Subsequently, the electronic device 30 receives challenge information from the verification device 20 (S21). Subsequently, the electronic device 30 reads the target data stored at the plurality of addresses included in the challenge information from the data storage unit 38 (S22). For example, the electronic device 30 reads three pieces of target data as shown in the following formula (4).
Multiple target data = (data_1, data_3, data_8) (4)

続いて、電子機器30は、読み出した複数の対象データから、予め定められたハッシュ関数を用いてレスポンス値を生成する(S23)。例えば、電子機器30は、読み出した複数の対象データを、下記の式(5)に示すように、チャレンジ情報に含まれるアドレスの配置順に連結する。なお、式において、“||”は、前後のデータを連結する関数を表す。
連結されたデータ=(data_3||data_8||data_1)…(5)
Subsequently, the electronic device 30 generates a response value from a plurality of read target data using a predetermined hash function (S23). For example, the electronic device 30 concatenates the plurality of read target data in the arrangement order of the addresses included in the challenge information as shown in the following formula (5). In the expression, “||” represents a function for connecting the preceding and succeeding data.
Concatenated data = (data — 3 || data — 8 || data — 1) (5)

そして、電子機器30は、下記の式(6)に示すように、連結されたデータを予め定められたハッシュ関数に入力して、レスポンス値を算出する。なお、式において、h(x)は、xをハッシュ関数に入力して得られるハッシュ値を表す。
レスポンス値=h(data_3||data_8||data_1)…(6)
Then, as shown in the following formula (6), the electronic device 30 inputs the concatenated data to a predetermined hash function and calculates a response value. In the expression, h (x) represents a hash value obtained by inputting x into a hash function.
Response value = h (data — 3 || data — 8 || data — 1) (6)

このような演算を実行することにより、電子機器30は、レスポンス値を生成することができる。続いて、電子機器30は、生成したレスポンス値を検証装置20にネットワークを介して送信する(S24)。   By executing such an operation, the electronic device 30 can generate a response value. Subsequently, the electronic device 30 transmits the generated response value to the verification device 20 via the network (S24).

続いて、検証装置20は、チャレンジ情報を送信したことに応じて返信されたレスポンス値を電子機器30からネットワークを介して受信したか否かを判断する(S25)。一定時間内にレスポンス値を受信できなかった場合(S25のNo)、検証装置20は、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常でない(異常である)と判定する。そして、検証装置20は、結果記憶部78に異常の旨を登録し、本フローを終了する(S26)。   Subsequently, the verification device 20 determines whether or not the response value returned in response to the transmission of the challenge information has been received from the electronic device 30 via the network (S25). When the response value cannot be received within a certain time (No in S25), the verification apparatus 20 has the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 not normal ( (It is abnormal). Then, the verification device 20 registers the abnormality in the result storage unit 78 and ends this flow (S26).

一方、一定時間内にレスポンス値を受信できた場合には(S25のYes)、検証装置20は、S16で特定したメモリイメージから、S17で選択した複数のアドレスに記憶されているべき対象データを抽出する(S27)。例えば、検証装置20は、下記の式(7)に示すような、3個の対象データを抽出する。
複数の対象データ=(data_1´,data_3´,data_8´)…(7)
On the other hand, when the response value can be received within a certain time (Yes in S25), the verification device 20 extracts the target data to be stored at the plurality of addresses selected in S17 from the memory image specified in S16. Extract (S27). For example, the verification device 20 extracts three target data as shown in the following formula (7).
Multiple target data = (data_1 ′, data_3 ′, data_8 ′) (7)

続いて、検証装置20は、抽出した複数の対象データおよびS18により設定されたアドレスの並び順に基づき、予め定められたハッシュ関数を用いて検証値を生成する(S28)。具体的には、検証装置20は、S23において電子機器30がレスポンス値を生成した演算と同一の演算により検証値を生成する。   Subsequently, the verification device 20 generates a verification value using a predetermined hash function based on the order of the extracted plurality of target data and the addresses set in S18 (S28). Specifically, the verification device 20 generates the verification value by the same calculation as the calculation in which the electronic device 30 generated the response value in S23.

例えば、検証装置20は、抽出した複数の対象データを、下記の式(8)に示すように、S18で並べ替えたアドレスの配置順に連結する。
連結されたデータ=(data_3´||data_8´||data_1´)…(8)
For example, the verification apparatus 20 concatenates the plurality of extracted target data in the arrangement order of the addresses rearranged in S18 as shown in the following formula (8).
Concatenated data = (data — 3 ′ || data — 8 ′ || data — 1 ′) (8)

続いて、検証装置20は、下記の式(9)に示すように、連結されたデータを、S23のレスポンス値の生成で用いたハッシュ関数と同一のハッシュ関数に入力して、検証値を算出する。
検証値=h(data_3´||data_8´||data_1´)…(9)
Subsequently, the verification device 20 calculates the verification value by inputting the concatenated data to the same hash function used for generating the response value in S23 as shown in the following equation (9). To do.
Verification value = h (data — 3 ′ || data — 8 ′ || data — 1 ′) (9)

続いて、検証装置20は、レスポンス値と検証値とを比較する(S29)。例えば、検証装置20は、式(6)に示したレスポンス値と式(9)に示した検証値とが一致するか否かを判断する。   Subsequently, the verification device 20 compares the response value with the verification value (S29). For example, the verification device 20 determines whether or not the response value shown in Expression (6) matches the verification value shown in Expression (9).

検証装置20は、レスポンス値と検証値とが一致する場合(S29のtrue)、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常であると判定する。そして、検証装置20は、結果記憶部78に正常の旨を登録し、本フローを終了する(S30)。   When the response value matches the verification value (true in S29), the verification device 20 determines that the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 is normal. To do. And the verification apparatus 20 registers the normality in the result memory | storage part 78, and complete | finishes this flow (S30).

検証装置20は、レスポンス値と検証値とが一致しない場合(S29のfalse)、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常でないと判定する。そして、検証装置20は、結果記憶部78に異常の旨を登録し、本フローを終了する(S26)。   If the response value does not match the verification value (false in S29), the verification device 20 determines that the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 is not normal. . Then, the verification device 20 registers the abnormality in the result storage unit 78 and ends this flow (S26).

以上のように、本実施形態に係る検証装置20は、電子機器30におけるデータ記憶部38に記憶されている対象データが正常であるか否かを、ネットワークを介して遠隔から検証することができる。特に、検証装置20が、検証を実行する毎に異なるアドレスを選択し、ランダムに並べ替えてチャレンジ情報を送信する。従って、検証装置20は、検証を実行する毎に異なるチャレンジ情報を生成することができる。このため、攻撃者は、データ記憶部38に記憶される対象データを改ざんする場合に、予めレスポンス値を準備することができない。従って、検証装置20によれば、改ざんを高い確率で検知することができる。   As described above, the verification device 20 according to the present embodiment can remotely verify whether the target data stored in the data storage unit 38 in the electronic device 30 is normal via the network. . In particular, the verification device 20 selects different addresses each time verification is performed, and rearranges them randomly to transmit the challenge information. Therefore, the verification device 20 can generate different challenge information each time verification is executed. For this reason, an attacker cannot prepare a response value in advance when falsifying target data stored in the data storage unit 38. Therefore, the verification device 20 can detect tampering with a high probability.

(第2実施形態)
図4は、第2実施形態に係る検証装置20および電子機器30の構成を示す図である。
(Second Embodiment)
FIG. 4 is a diagram illustrating configurations of the verification device 20 and the electronic device 30 according to the second embodiment.

第2実施形態に係る検証システム10は、第1実施形態に係る検証システム10と略同一の機能および構成を有する。従って、第2実施形態を説明するにあたり、第1実施形態で説明したブロックと略同一の機能および構成を有するブロックについては、同一の符号を付けて相違点を除き説明を省略する。第3実施形態以降においても同様である。   The verification system 10 according to the second embodiment has substantially the same function and configuration as the verification system 10 according to the first embodiment. Therefore, in describing the second embodiment, blocks having substantially the same functions and configurations as the blocks described in the first embodiment are denoted by the same reference numerals and description thereof is omitted except for differences. The same applies to the third and subsequent embodiments.

第2実施形態に係る検証装置20は、順序設定部56に代えて、乱数発生部82を有する。乱数発生部82は、検証を実行する毎に異なる乱数を発生する。   The verification device 20 according to the second embodiment includes a random number generation unit 82 instead of the order setting unit 56. The random number generator 82 generates a different random number every time verification is executed.

検証装置20におけるチャレンジ生成部58は、選択された少なくとも1つのアドレスおよび乱数を含むチャレンジ情報を生成する。例えば、チャレンジ生成部58は、選択された少なくとも1つのアドレスおよび乱数を含む配列データを、チャレンジ情報として生成する。   The challenge generation unit 58 in the verification device 20 generates challenge information including at least one selected address and a random number. For example, the challenge generation unit 58 generates array data including at least one selected address and a random number as challenge information.

電子機器30におけるレスポンス生成部66は、データ読出部64が読み出した少なくとも1つの対象データと、チャレンジ情報に含まれる乱数とから、予め定められた演算アルゴリズムを用いてレスポンス値を生成する。例えば、レスポンス生成部66は、予め定められたハッシュ関数を用いて、読み出した少なくとも1つの対象データと乱数とにより定まるハッシュ値を、レスポンス値として算出する。例えば、レスポンス生成部66は、読み出した少なくとも1つの対象データと乱数とを予め定められた順序に従って連結して1つのデータを生成し、連結されたデータをハッシュ関数に与えてハッシュ値を算出する。   The response generation unit 66 in the electronic device 30 generates a response value using a predetermined calculation algorithm from at least one target data read by the data reading unit 64 and a random number included in the challenge information. For example, the response generation unit 66 calculates a hash value determined by at least one read target data and a random number as a response value using a predetermined hash function. For example, the response generation unit 66 concatenates at least one read target data and a random number according to a predetermined order to generate one data, and gives the concatenated data to a hash function to calculate a hash value. .

検証装置20における検証値生成部74は、データ抽出部72が抽出した少なくとも1つの対象データと乱数発生部82により発生された乱数とから、予め定められた演算アルゴリズムを用いて検証値を生成する。例えば、検証値生成部74は、レスポンス生成部66と同一の予め定められたハッシュ関数を用いて、抽出した少なくとも1つの対象データと乱数発生部82により発生された乱数とにより定まるハッシュ値を、検証値として算出する。例えば、検証値生成部74は、抽出した少なくとも1つの対象データと乱数発生部82により発生された乱数とを予め定められた順序に従って連結して1つのデータを生成し、連結されたデータをハッシュ関数に与えてハッシュ値を算出する。   The verification value generation unit 74 in the verification device 20 generates a verification value using a predetermined calculation algorithm from at least one target data extracted by the data extraction unit 72 and the random number generated by the random number generation unit 82. . For example, the verification value generation unit 74 uses a predetermined hash function that is the same as that of the response generation unit 66 to determine a hash value determined by the extracted at least one target data and the random number generated by the random number generation unit 82. Calculate as the verification value. For example, the verification value generation unit 74 generates one data by concatenating the extracted at least one target data and the random number generated by the random number generation unit 82 according to a predetermined order, and the concatenated data is hashed Give it to the function to calculate the hash value.

図5は、第2実施形態に係る検証システム10の処理の流れを示すフローチャートである。第2実施形態に係る検証システム10では、検証装置20および電子機器30が図5に示す流れで検証を実行する。   FIG. 5 is a flowchart showing a processing flow of the verification system 10 according to the second embodiment. In the verification system 10 according to the second embodiment, the verification device 20 and the electronic device 30 execute verification in the flow shown in FIG.

まず、検証装置20および電子機器30は、S11からS16までは、第1実施形態と同一の処理を実行する。   First, the verification device 20 and the electronic device 30 execute the same processing as in the first embodiment from S11 to S16.

続いて、検証装置20は、任意のアドレスを選択する(S41)。例えば、アドレス選択部54は、ランダムにアドレスを選択する。例えば、検証装置20は、下記の式(11)に示すような1個のアドレスを選択する。
アドレス=add_1…(11)
Subsequently, the verification device 20 selects an arbitrary address (S41). For example, the address selection unit 54 selects an address at random. For example, the verification device 20 selects one address as shown in the following formula (11).
Address = add_1 (11)

続いて、検証装置20は、乱数を発生する(S42)。例えば、検証装置20は、下記の式(12)に示すような乱数を発生する。
乱数=RND…(12)
Subsequently, the verification device 20 generates a random number (S42). For example, the verification device 20 generates a random number as shown in the following equation (12).
Random number = RND (12)

続いて、検証装置20は、選択されたアドレスと乱数とを含むチャレンジ情報を生成する(S43)。例えば、検証装置20は、下記の式(13)に示すような、アドレスと乱数とを格納した配列データをチャレンジ情報として生成する。
チャレンジ情報=[add_1,RND]…(13)
Subsequently, the verification device 20 generates challenge information including the selected address and a random number (S43). For example, the verification device 20 generates array data storing addresses and random numbers as challenge information as shown in the following equation (13).
Challenge information = [add_1, RND] (13)

続いて、検証装置20は、生成したチャレンジ情報を電子機器30にネットワークを介して送信する(S44)。   Subsequently, the verification device 20 transmits the generated challenge information to the electronic device 30 via the network (S44).

続いて、電子機器30は、検証装置20からチャレンジ情報を受信する(S45)。続いて、電子機器30は、チャレンジ情報に含まれるアドレスに記憶されている対象データを、データ記憶部38から読み出す(S46)。例えば、電子機器30は、下記の式(14)に示すような、対象データを読み出す。
対象データ=(data_1)…(14)
Subsequently, the electronic device 30 receives challenge information from the verification device 20 (S45). Subsequently, the electronic device 30 reads the target data stored at the address included in the challenge information from the data storage unit 38 (S46). For example, the electronic device 30 reads target data as shown in the following formula (14).
Target data = (data_1) (14)

続いて、電子機器30は、読み出した対象データおよびチャレンジ情報に含まれる乱数から、予め定められたハッシュ関数を用いてレスポンス値を生成する(S47)。例えば、電子機器30は、読み出した対象データと乱数とを、下記の式(15)に示すように予め定められた順序で連結する。
連結されたデータ=(data_1||RND)…(15)
Subsequently, the electronic device 30 generates a response value using a predetermined hash function from the read target data and the random number included in the challenge information (S47). For example, the electronic device 30 connects the read target data and the random number in a predetermined order as shown in the following equation (15).
Concatenated data = (data_1 || RND) (15)

そして、電子機器30は、下記の式(16)に示すように、連結されたデータを予め定められたハッシュ関数に入力して、レスポンス値を算出する。
レスポンス値=h(data_1||RND)…(16)
Then, as shown in the following equation (16), the electronic device 30 inputs the concatenated data to a predetermined hash function and calculates a response value.
Response value = h (data_1 || RND) (16)

続いて、電子機器30は、生成したレスポンス値を検証装置20にネットワークを介して送信する(S48)。   Subsequently, the electronic device 30 transmits the generated response value to the verification device 20 via the network (S48).

続いて、検証装置20は、チャレンジ情報を送信したことに応じて返信されたレスポンス値を電子機器30からネットワークを介して受信したか否かを判断する(S49)。一定時間内にレスポンス値を受信できなかった場合(S49のNo)、検証装置20は、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常でない(異常である)と判定する。そして、検証装置20は、結果記憶部78に異常の旨を登録し、本フローを終了する(S50)。   Subsequently, the verification device 20 determines whether or not a response value returned in response to the transmission of the challenge information has been received from the electronic device 30 via the network (S49). When the response value cannot be received within the predetermined time (No in S49), the verification device 20 has the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 not normal ( (It is abnormal). Then, the verification device 20 registers the abnormality in the result storage unit 78 and ends this flow (S50).

一方、一定時間内にレスポンス値を受信できた場合には(S49のYes)、検証装置20は、S16で特定したメモリイメージから、S41で選択したアドレスに記憶されているべき対象データを抽出する(S51)。例えば、検証装置20は、下記の式(17)に示すような対象データを抽出する。
対象データ=(data_1´)…(17)
On the other hand, if the response value can be received within a certain time (Yes in S49), the verification apparatus 20 extracts the target data that should be stored at the address selected in S41 from the memory image specified in S16. (S51). For example, the verification device 20 extracts target data as shown in the following equation (17).
Target data = (data_1 ′) (17)

続いて、検証装置20は、抽出した対象データおよびS42で発生した乱数から、予め定められたハッシュ関数を用いて検証値を生成する(S52)。具体的には、検証装置20は、S47において電子機器30がレスポンス値を生成した演算と同一の演算により検証値を生成する。   Subsequently, the verification device 20 generates a verification value from the extracted target data and the random number generated in S42 using a predetermined hash function (S52). Specifically, the verification device 20 generates the verification value by the same calculation as the calculation in which the electronic device 30 generated the response value in S47.

例えば、検証装置20は、抽出した対象データおよび乱数を、下記の式(18)に示すように、S47のレスポンス値の生成で用いた順序で連結する。
連結されたデータ=(data_1´||RND)…(18)
For example, the verification device 20 concatenates the extracted target data and random numbers in the order used in generating the response value in S47 as shown in the following equation (18).
Concatenated data = (data_1 ′ || RND) (18)

続いて、検証装置20は、下記の式(19)に示すように、連結されたデータを、S47のレスポンス値の生成で用いたハッシュ関数と同一のハッシュ関数に入力して、検証値を算出する。
検証値=h(data_1´||RND)…(19)
Subsequently, the verification device 20 calculates the verification value by inputting the concatenated data to the same hash function used for generating the response value in S47, as shown in the following equation (19). To do.
Verification value = h (data_1 ′ || RND) (19)

続いて、検証装置20は、レスポンス値と検証値とを比較する(S53)。例えば、検証装置20は、式(16)に示したレスポンス値と式(19)に示した検証値とが一致するか否かを判断する。   Subsequently, the verification device 20 compares the response value with the verification value (S53). For example, the verification device 20 determines whether or not the response value shown in Expression (16) matches the verification value shown in Expression (19).

検証装置20は、レスポンス値と検証値とが一致する場合(S53のtrue)、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常であると判定する。そして、検証装置20は、結果記憶部78に正常の旨を登録し、本フローを終了する(S54)。   When the response value matches the verification value (true in S53), the verification device 20 determines that the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 is normal. To do. And the verification apparatus 20 registers the normality in the result memory | storage part 78, and complete | finishes this flow (S54).

検証装置20は、レスポンス値と検証値とが一致しない場合(S53のfalse)、電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常でないと判定する。そして、検証装置20は、結果記憶部78に異常の旨を登録し、本フローを終了する(S50)。   When the response value does not match the verification value (false in S53), the verification device 20 determines that the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 is not normal. . Then, the verification device 20 registers the abnormality in the result storage unit 78 and ends this flow (S50).

以上のように、本実施形態に係る検証装置20は、電子機器30におけるデータ記憶部38に記憶されている対象データが正常であるか否かを、ネットワークを介して遠隔から検証することができる。特に、検証装置20が、検証を実行する毎に異なるアドレスを選択し、さらに、検証を実行する毎に異なる乱数を発生してチャレンジ情報を送信する。従って、検証装置20は、検証を実行する毎に異なるチャレンジ情報を生成することができる。このため、攻撃者は、データ記憶部38に記憶される対象データを改ざんする場合に、予めレスポンス値を準備することができない。従って、検証装置20によれば、改ざんを高い確率で検知することができる。   As described above, the verification device 20 according to the present embodiment can remotely verify whether the target data stored in the data storage unit 38 in the electronic device 30 is normal via the network. . In particular, the verification device 20 selects a different address each time verification is performed, and further generates a different random number each time verification is performed to transmit challenge information. Therefore, the verification device 20 can generate different challenge information each time verification is executed. For this reason, an attacker cannot prepare a response value in advance when falsifying target data stored in the data storage unit 38. Therefore, the verification device 20 can detect tampering with a high probability.

なお、本実施形態においては、アドレス選択部54は、1個のアドレスを選択する構成であるが、第1実施形態と同様に複数のアドレスを選択してもよい。また、第1実施形態に係る検証装置20および電子機器30の構成に、第2実施形態の構成を追加してもよい。この場合、チャレンジ生成部58は、複数のアドレスをランダムに並べ替えるとともに、乱数をチャレンジ情報に含める。このようにしても、検証装置20は、改ざんを高い確率で検知することができる。   In the present embodiment, the address selection unit 54 is configured to select one address, but a plurality of addresses may be selected as in the first embodiment. Further, the configuration of the second embodiment may be added to the configurations of the verification device 20 and the electronic device 30 according to the first embodiment. In this case, the challenge generation unit 58 rearranges a plurality of addresses at random and includes a random number in the challenge information. Even in this way, the verification device 20 can detect tampering with a high probability.

(第3実施形態)
図6は、第3実施形態に係る検証システム10を示す図である。本実施形態に係る検証システム10は、検証装置20と、複数の電子機器30とを備える。
(Third embodiment)
FIG. 6 is a diagram illustrating a verification system 10 according to the third embodiment. The verification system 10 according to the present embodiment includes a verification device 20 and a plurality of electronic devices 30.

本実施形態に係る検証装置20は、複数の電子機器30に対して一括して検証を実行する。複数の電子機器30のそれぞれには、固有の識別情報が割り当てられている。本実施形態に係る検証装置20は、複数の電子機器30を効率良く検証することができる。   The verification apparatus 20 according to the present embodiment performs verification for a plurality of electronic devices 30 at once. Unique identification information is assigned to each of the plurality of electronic devices 30. The verification device 20 according to the present embodiment can efficiently verify a plurality of electronic devices 30.

図7は、第3実施形態に係る検証装置20および電子機器30の構成を示す図である。   FIG. 7 is a diagram illustrating configurations of the verification device 20 and the electronic device 30 according to the third embodiment.

第3実施形態に係る検証装置20は、グループ管理部84をさらに有する。また、第3実施形態に係る検証装置20は、第1実施形態と比較して、バージョン確認部44、バージョン取得部52および順序設定部56を有さない。   The verification device 20 according to the third embodiment further includes a group management unit 84. Also, the verification device 20 according to the third embodiment does not include the version confirmation unit 44, the version acquisition unit 52, and the order setting unit 56, as compared with the first embodiment.

第3実施形態に係る電子機器30は、識別情報記憶部88をさらに有する。また、第3実施形態に係る電子機器30は、確認要求受信部46、バージョン記憶部48およびバージョン送信部50を有さない。   The electronic device 30 according to the third embodiment further includes an identification information storage unit 88. The electronic device 30 according to the third embodiment does not include the confirmation request receiving unit 46, the version storage unit 48, and the version transmission unit 50.

検証装置20におけるグループ管理部84は、同一のメモリイメージを記憶する複数の電子機器30のグループを管理する。具体的には、グループ管理部84は、グループ毎に、そのグループに属する電子機器30が記憶している対象データのバージョン、そのグループに属する複数の電子機器30のそれぞれの識別情報、および、そのグループに属する複数の電子機器30のそれぞれのネットワーク上のアドレスを記憶する。グループ管理部84は、検証対象のグループに属する電子機器30が記憶している対象データのバージョンを特定し、アドレス選択部54およびデータ抽出部72に与える。   The group management unit 84 in the verification device 20 manages a group of a plurality of electronic devices 30 that store the same memory image. Specifically, the group management unit 84, for each group, the version of the target data stored in the electronic device 30 belonging to the group, the identification information of each of the plurality of electronic devices 30 belonging to the group, and the The network addresses of the plurality of electronic devices 30 belonging to the group are stored. The group management unit 84 specifies the version of the target data stored in the electronic device 30 belonging to the verification target group, and provides the address selection unit 54 and the data extraction unit 72 with the version.

検証装置20におけるチャレンジ生成部58は、選択された少なくとも1つのアドレスを含むチャレンジ情報を生成する。検証装置20におけるチャレンジ送信部60は、検証対象のグループに属する複数の電子機器30のそれぞれのネットワーク上のアドレスを取得する。そして、チャレンジ送信部60は、複数の電子機器30のそれぞれにチャレンジ情報を一斉送信する。例えば、チャレンジ送信部60は、チャレンジ情報をマルチキャスト送信またはブロードキャスト送信をする。   The challenge generation unit 58 in the verification device 20 generates challenge information including at least one selected address. The challenge transmission unit 60 in the verification device 20 acquires addresses on the networks of the plurality of electronic devices 30 belonging to the verification target group. Then, the challenge transmission unit 60 transmits challenge information to each of the plurality of electronic devices 30 simultaneously. For example, the challenge transmission unit 60 performs multicast transmission or broadcast transmission of challenge information.

電子機器30における識別情報記憶部88は、自身に割り当てられた識別情報を記憶する。電子機器30におけるレスポンス生成部66は、識別情報記憶部88から識別情報を取得する。   The identification information storage unit 88 in the electronic device 30 stores identification information assigned to itself. The response generation unit 66 in the electronic device 30 acquires identification information from the identification information storage unit 88.

レスポンス生成部66は、データ読出部64が読み出した少なくとも1つの対象データと識別情報とから、予め定められた演算アルゴリズムを用いてレスポンス値を生成する。例えば、レスポンス生成部66は、予め定められたハッシュ関数を用いて、読み出した少なくとも1つの対象データと識別情報とにより定まるハッシュ値を、レスポンス値として算出する。例えば、レスポンス生成部66は、読み出した少なくとも1つの対象データと識別情報とを予め定められた順序に従って連結して1つのデータを生成し、連結されたデータをハッシュ関数に与えてレスポンス値を生成する。   The response generation unit 66 generates a response value from the at least one target data read by the data reading unit 64 and the identification information using a predetermined calculation algorithm. For example, the response generation unit 66 calculates a hash value determined by at least one read target data and identification information as a response value using a predetermined hash function. For example, the response generator 66 concatenates the read at least one target data and the identification information according to a predetermined order to generate one data, and gives the concatenated data to the hash function to generate a response value To do.

電子機器30におけるレスポンス送信部68は、レスポンス生成部66が生成したレスポンス値と、識別情報記憶部88に記憶された識別情報との組を、検証装置20にネットワークを介して送信する。   The response transmission unit 68 in the electronic device 30 transmits a set of the response value generated by the response generation unit 66 and the identification information stored in the identification information storage unit 88 to the verification device 20 via the network.

検証装置20におけるレスポンス受信部70は、レスポンス値と識別情報との組を、検証対象のグループに属する複数の電子機器30のそれぞれからネットワークを介して受信する。   The response receiving unit 70 in the verification device 20 receives a set of the response value and the identification information from each of the plurality of electronic devices 30 belonging to the verification target group via the network.

検証装置20における検証値生成部74は、レスポンス値と識別情報との組を受信する毎に、検証値を生成する。検証値生成部74は、データ抽出部72が抽出した少なくとも1つの対象データと、電子機器30から受信した識別情報とから、予め定められた演算アルゴリズムを用いて検証値を生成する。   The verification value generation unit 74 in the verification device 20 generates a verification value every time a set of a response value and identification information is received. The verification value generation unit 74 generates a verification value using a predetermined calculation algorithm from at least one target data extracted by the data extraction unit 72 and the identification information received from the electronic device 30.

例えば、検証値生成部74は、レスポンス生成部66と同一の予め定められたハッシュ関数を用いて、抽出した少なくとも1つの対象データと受信した識別情報とにより定まるハッシュ値を、検証値として算出する。例えば、検証値生成部74は、抽出した少なくとも1つの対象データと受信した識別情報とを、予め定められた順序に従って連結して1つのデータを生成し、連結されたデータをハッシュ関数に与えて検証値を算出する。   For example, the verification value generation unit 74 calculates, as the verification value, a hash value determined by at least one extracted target data and the received identification information, using the same predetermined hash function as that of the response generation unit 66. . For example, the verification value generation unit 74 concatenates the extracted at least one target data and the received identification information according to a predetermined order to generate one data, and gives the concatenated data to the hash function. A verification value is calculated.

検証装置20における判定部76は、レスポンス値と識別情報との組を受信する毎に、レスポンス受信部70が受信したレスポンス値と、検証値生成部74が生成した検証値とを比較する。そして、判定部76は、レスポンス値と検証値とが一致する場合、受信した識別情報に対応する電子機器30について、データ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常であると判定する。   The determination unit 76 in the verification device 20 compares the response value received by the response reception unit 70 with the verification value generated by the verification value generation unit 74 every time a set of a response value and identification information is received. When the response value and the verification value match, the determination unit 76 stores the target data stored in at least one selected address of the data storage unit 38 for the electronic device 30 corresponding to the received identification information. Determined to be normal.

また、判定部76は、レスポンス値と検証値とが一致しない場合、受信した識別情報に対応する電子機器30について、データ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常ではないと判定する。また、判定部76は、識別情報が同一である複数のレスポンス値を受信した場合、受信した識別情報に対応する電子機器30のデータ記憶部38に記憶されている対象データが正常ではないと判定する。   Further, when the response value and the verification value do not match, the determination unit 76 stores the target data stored in at least one selected address of the data storage unit 38 for the electronic device 30 corresponding to the received identification information. It is determined that it is not normal. Further, when the determination unit 76 receives a plurality of response values having the same identification information, the determination unit 76 determines that the target data stored in the data storage unit 38 of the electronic device 30 corresponding to the received identification information is not normal. To do.

結果記憶部78は、複数の電子機器30毎に判定結果(正常または異常)を記憶する。   The result storage unit 78 stores a determination result (normal or abnormal) for each of the plurality of electronic devices 30.

図8は、第3実施形態に係る検証システム10の処理の流れを示すフローチャートである。第3実施形態に係る検証システム10では、検証装置20および電子機器30が図8に示す流れで検証を実行する。   FIG. 8 is a flowchart showing a processing flow of the verification system 10 according to the third embodiment. In the verification system 10 according to the third embodiment, the verification device 20 and the electronic device 30 execute verification in the flow shown in FIG.

まず、検証装置20は、検証対象のグループを特定する(S61)。続いて、検証装置20は、グループに属する電子機器30が有するデータ記憶部38が記憶している対象データのバージョンから、対応するメモリイメージを特定する(S62)。   First, the verification apparatus 20 specifies a verification target group (S61). Subsequently, the verification device 20 specifies a corresponding memory image from the version of the target data stored in the data storage unit 38 included in the electronic device 30 belonging to the group (S62).

続いて、検証装置20は、任意のアドレスを選択する(S63)。例えば、アドレス選択部54は、検証をする毎にランダムにアドレスを選択する。例えば、検証装置20は、下記の式(21)に示すような1個のアドレスを選択する。
アドレス=(add_1)…(21)
Subsequently, the verification device 20 selects an arbitrary address (S63). For example, the address selection unit 54 randomly selects an address each time verification is performed. For example, the verification device 20 selects one address as shown in the following equation (21).
Address = (add_1) (21)

続いて、検証装置20は、選択されたアドレスを含むチャレンジ情報を生成する(S64)。例えば、検証装置20は、下記の式(22)に示すような、1個のアドレスを含む対象データをチャレンジ情報として生成する。
チャレンジ情報=[add_1]…(22)
Subsequently, the verification device 20 generates challenge information including the selected address (S64). For example, the verification device 20 generates target data including one address as challenge information as shown in the following formula (22).
Challenge information = [add_1] (22)

続いて、検証装置20は、生成したチャレンジ情報を、検証対象のグループに属する複数の電子機器30のそれぞれに、ネットワークを介して一斉送信する(S65)。例えば、検証装置20は、チャレンジ情報をマルチキャスト送信またはブロードキャスト送信をする。   Subsequently, the verification device 20 transmits the generated challenge information simultaneously to each of the plurality of electronic devices 30 belonging to the verification target group via the network (S65). For example, the verification device 20 performs multicast transmission or broadcast transmission of challenge information.

続いて、それぞれの電子機器30は、検証装置20からチャレンジ情報を受信する(S66)。続いて、それぞれの電子機器30は、チャレンジ情報に含まれるアドレスに記憶されている対象データを、データ記憶部38から読み出す(S67)。例えば、それぞれの電子機器30は、下記の式(23)に示すような、対象データを読み出す。
対象データ=(data_1)…(23)
Subsequently, each electronic device 30 receives challenge information from the verification device 20 (S66). Subsequently, each electronic device 30 reads the target data stored at the address included in the challenge information from the data storage unit 38 (S67). For example, each electronic device 30 reads target data as shown in the following formula (23).
Target data = (data_1) (23)

続いて、それぞれの電子機器30は、自身に割り当てられている識別情報を取得する(S68)。識別情報は、電子機器30毎に異なる値である。例えば、それぞれの電子機器30は、下記の式(24)に示すような識別情報を取得する。
識別情報=(id_i)…(24)
Subsequently, each electronic device 30 acquires identification information assigned to itself (S68). The identification information is a different value for each electronic device 30. For example, each electronic device 30 acquires identification information as shown in the following formula (24).
Identification information = (id_i) (24)

続いて、それぞれの電子機器30は、読み出した対象データおよび識別情報から、予め定められたハッシュ関数を用いてレスポンス値を生成する(S69)。例えば、それぞれの電子機器30は、読み出した対象データと識別情報とを、下記の式(25)に示すように、予め定められた順序で連結する。
連結されたデータ=(data_1||id_i)…(25)
Subsequently, each electronic device 30 generates a response value from the read target data and identification information using a predetermined hash function (S69). For example, each electronic device 30 connects the read target data and identification information in a predetermined order as shown in the following formula (25).
Concatenated data = (data_1 || id_i) (25)

そして、それぞれの電子機器30は、下記の式(26)に示すように、連結されたデータを予め定められたハッシュ関数に入力して、レスポンス値を算出する。
レスポンス値=h(data_1||id_i)…(26)
Each electronic device 30 calculates the response value by inputting the concatenated data to a predetermined hash function as shown in the following formula (26).
Response value = h (data_1 || id_i) (26)

続いて、それぞれの電子機器30は、生成したレスポンス値と、取得した識別情報との組を検証装置20にネットワークを介して送信する(S70)。例えば、それぞれの電子機器30は、下記の式(27)に示すような情報を検証装置20に送信する。
送信情報=(h(data_1||id_i),id_i)…(27)
Subsequently, each electronic device 30 transmits a set of the generated response value and the acquired identification information to the verification device 20 via the network (S70). For example, each electronic device 30 transmits information as shown in the following formula (27) to the verification device 20.
Transmission information = (h (data_1 || id_i), id_i) (27)

続いて、検証装置20は、何れかの電子機器30から、レスポンス値と識別情報との組を受信したか否かを判断する(S71)。検証装置20は、レスポンス値と識別情報との組が受信できない場合(S71のNo)、処理をS71で待機し、レスポンス値と識別情報との組が受信できた場合(S71のYes)、処理をS72に進める。すなわち、検証装置20は、レスポンス値と識別情報との組を受信する毎に、S72以降の処理を実行する。   Subsequently, the verification device 20 determines whether or not a combination of a response value and identification information has been received from any of the electronic devices 30 (S71). If the verification device 20 cannot receive the combination of the response value and the identification information (No in S71), the verification device 20 stands by for the process in S71, and if the combination of the response value and the identification information can be received (Yes in S71), the processing To S72. That is, every time the verification apparatus 20 receives a set of a response value and identification information, the verification apparatus 20 executes the processing from S72 onward.

レスポンス値と識別情報との組を受信した場合、検証装置20は、受信した情報の中から識別情報を抽出する(S72)。続いて、検証装置20は、抽出した識別情報を既に受信しているか否かを判断する(S73)。すなわち、検証装置20は、識別情報が同一である複数のレスポンス値を受信したか否かを判断する。同一の識別情報を既に受信している場合(S73のYes)、悪意の第三者が何れかの電子機器30から送信された情報をコピーした可能性があるので、検証装置20は、受信した識別情報に対応する電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが異常である旨を結果記憶部78に登録する(S74)。   When receiving the set of the response value and the identification information, the verification device 20 extracts the identification information from the received information (S72). Subsequently, the verification device 20 determines whether or not the extracted identification information has already been received (S73). That is, the verification device 20 determines whether or not a plurality of response values having the same identification information are received. When the same identification information has already been received (Yes in S73), the verification device 20 has received the information because the malicious third party may have copied the information transmitted from any of the electronic devices 30. The fact that the target data stored in at least one selected address of the data storage unit 38 in the electronic device 30 corresponding to the identification information is abnormal is registered in the result storage unit 78 (S74).

同一の識別情報を未だ受信していない場合(S73のNo)、検証装置20は、S62で特定したメモリイメージから、S63で選択したアドレスに記憶されているべき対象データを抽出する(S75)。例えば、検証装置20は、下記の式(28)に示すような対象データを抽出する。
対象データ=(data_1´)…(28)
When the same identification information has not been received yet (No in S73), the verification device 20 extracts the target data that should be stored at the address selected in S63 from the memory image specified in S62 (S75). For example, the verification device 20 extracts target data as shown in the following formula (28).
Target data = (data_1 ′) (28)

続いて、検証装置20は、抽出した対象データおよびS72で抽出した識別情報から、予め定められたハッシュ関数を用いて検証値を算出する(S76)。ここでは、検証装置20は、S69において電子機器30がレスポンス値を生成した演算と同一の演算により検証値を生成する。   Subsequently, the verification device 20 calculates a verification value using a predetermined hash function from the extracted target data and the identification information extracted in S72 (S76). Here, the verification device 20 generates the verification value by the same calculation as the calculation that the electronic device 30 generated the response value in S69.

例えば、検証装置20は、抽出した対象データおよび識別情報を、下記の式(29)に示すように、S69のレスポンス値の生成で用いた順序と同一の順序で連結する。
連結されたデータ=(data_1´||id_i)…(29)
For example, the verification device 20 connects the extracted target data and identification information in the same order as that used for generating the response value in S69, as shown in the following equation (29).
Concatenated data = (data_1 ′ || id_i) (29)

続いて、検証装置20は、下記の式(30)に示すように、連結されたデータを、S69のレスポンス値の生成で用いたハッシュ関数と同一のハッシュ関数に入力して、検証値を算出する。
検証値=h(data_1´||id_i)…(30)
Subsequently, the verification device 20 calculates the verification value by inputting the concatenated data to the same hash function used in the generation of the response value in S69, as shown in the following equation (30). To do.
Verification value = h (data_1 ′ || id_i) (30)

続いて、検証装置20は、レスポンス値と検証値とを比較する(S77)。例えば、検証装置20は、式(26)に示したレスポンス値と式(30)に示した検証値とが一致するか否かを判断する。   Subsequently, the verification device 20 compares the response value with the verification value (S77). For example, the verification device 20 determines whether or not the response value shown in Expression (26) matches the verification value shown in Expression (30).

検証装置20は、レスポンス値と検証値とが一致する場合(S77のtrue)、受信した識別情報に対応する電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが正常である旨を結果記憶部78に登録する(S78)。検証装置20は、レスポンス値と検証値とが一致しない場合(S77のfalse)、受信した識別情報に対応する電子機器30におけるデータ記憶部38の選択された少なくとも1つのアドレスに記憶されている対象データが異常である旨を結果記憶部78に登録する(S74)。   If the response value matches the verification value (true in S77), the verification device 20 stores the target stored in at least one selected address of the data storage unit 38 in the electronic device 30 corresponding to the received identification information. The fact that the data is normal is registered in the result storage unit 78 (S78). If the response value does not match the verification value (false in S77), the verification device 20 stores the target stored in at least one selected address of the data storage unit 38 in the electronic device 30 corresponding to the received identification information. The fact that the data is abnormal is registered in the result storage unit 78 (S74).

S74またはS78の処理に続いて、検証装置20は、グループに属する複数の電子機器30の全てについて、レスポンス値と識別情報との組を受信したか否かを判断する(S79)。全ての電子機器30について、レスポンス値と識別情報との組を受信した場合には(S79のYes)、検証装置20は、本フローを終了する。   Subsequent to the processing of S74 or S78, the verification apparatus 20 determines whether or not a set of response values and identification information has been received for all of the plurality of electronic devices 30 belonging to the group (S79). When the set of the response value and the identification information is received for all the electronic devices 30 (Yes in S79), the verification device 20 ends this flow.

全ての電子機器30について、レスポンス値と識別情報との組を受信していない場合には(S79のNo)、検証装置20は、処理をS71に戻し、処理を繰り返す。なお、S71において、一定時間を経過してもレスポンス値と識別情報との組を受信できない場合(S71のNo)、検証装置20は、強制的に本フローを終了してもよい。この場合、検証装置20は、レスポンス値と識別情報との組を受信できない電子機器30について、結果記憶部78に異常の旨を登録してから本フローを終了してもよい。   When the combination of the response value and the identification information is not received for all the electronic devices 30 (No in S79), the verification device 20 returns the process to S71 and repeats the process. Note that, in S71, when the combination of the response value and the identification information cannot be received even after a predetermined time has elapsed (No in S71), the verification device 20 may forcibly end this flow. In this case, the verification apparatus 20 may end this flow after registering an abnormality in the result storage unit 78 for the electronic device 30 that cannot receive the combination of the response value and the identification information.

以上のように、本実施形態に係る検証装置20は、複数の電子機器30のそれぞれにおけるデータ記憶部38に記憶されている対象データが正常であるか否かを、一括して、ネットワークを介して遠隔から検証することができる。これにより、検証装置20は、多数の電子機器30を効率良く検証することができる。   As described above, the verification apparatus 20 according to the present embodiment collectively determines whether the target data stored in the data storage unit 38 in each of the plurality of electronic devices 30 is normal via the network. Can be verified remotely. Thereby, the verification apparatus 20 can verify many electronic devices 30 efficiently.

なお、本実施形態においては、アドレス選択部54は、1個のアドレスを選択する構成であるが、第1実施形態と同様に複数のアドレスを選択してもよい。さらに、本実施形態に係る検証装置20は、第1実施形態に示す順序設定部56を備え、複数のアドレスをランダムに並べ替えたチャレンジ情報を生成してもよい。また、本実施形態に係る検証装置20は、第2実施形態に示す乱数発生部82をさらに有し、アドレスと乱数とを含むチャレンジ情報を生成してもよい。   In the present embodiment, the address selection unit 54 is configured to select one address, but a plurality of addresses may be selected as in the first embodiment. Furthermore, the verification apparatus 20 according to the present embodiment may include the order setting unit 56 shown in the first embodiment, and may generate challenge information in which a plurality of addresses are rearranged randomly. The verification device 20 according to the present embodiment may further include a random number generation unit 82 shown in the second embodiment, and may generate challenge information including an address and a random number.

(第4実施形態)
図9は、第4実施形態に係る検証装置20および電子機器30の構成を示す図である。
(Fourth embodiment)
FIG. 9 is a diagram illustrating configurations of the verification device 20 and the electronic device 30 according to the fourth embodiment.

第4実施形態に係る検証装置20は、第1実施形態に示す構成に加えて、繰返制御部92をさらに有する。繰返制御部92は、データ記憶部38に記憶されている選択されたアドレスの対象データが正常であると判定した場合、アドレス選択部54にさらに他の少なくとも1つのアドレスを選択させる。そして、繰返制御部92は、順序設定部56、チャレンジ生成部58、チャレンジ送信部60、レスポンス受信部70、データ抽出部72、検証値生成部74および判定部76に、新たに選択された少なくとも1つのアドレスに基づき処理を再度実行させる。   The verification apparatus 20 according to the fourth embodiment further includes a repetition control unit 92 in addition to the configuration shown in the first embodiment. When it is determined that the target data at the selected address stored in the data storage unit 38 is normal, the repetition control unit 92 causes the address selection unit 54 to select at least one other address. The repeat control unit 92 is newly selected by the order setting unit 56, the challenge generation unit 58, the challenge transmission unit 60, the response reception unit 70, the data extraction unit 72, the verification value generation unit 74, and the determination unit 76. The process is executed again based on at least one address.

これにより、本実施形態に係る検証装置20は、データ記憶部38における未検証の他のアドレスに記憶されている対象データをさらに検証することができる。また、本実施形態に係る検証装置20は、データ記憶部38に記憶されている対象データが正常でないと判定された場合には、繰り返して検証をさせないので、早期に検証処理を終了させることができる。   Thereby, the verification apparatus 20 according to the present embodiment can further verify the target data stored in another unverified address in the data storage unit 38. In addition, the verification apparatus 20 according to the present embodiment does not repeatedly perform verification when it is determined that the target data stored in the data storage unit 38 is not normal. it can.

なお、第2実施形態または第3実施形態に示す検証装置20が、繰返制御部92をさらに有してもよい。これにより、第2実施形態または第3実施形態に示す検証装置20も第4実施形態と同様の効果を得ることができる。   In addition, the verification apparatus 20 shown in 2nd Embodiment or 3rd Embodiment may further have the repetition control part 92. FIG. Thereby, the verification apparatus 20 shown in 2nd Embodiment or 3rd Embodiment can also acquire the effect similar to 4th Embodiment.

図10は、実施形態に係る情報処理装置300のハードウェア構成の一例を示す図である。上述した検証装置20および電子機器30は、例えば図10に示すような情報処理装置300により実現することができる。   FIG. 10 is a diagram illustrating an example of a hardware configuration of the information processing apparatus 300 according to the embodiment. The verification device 20 and the electronic device 30 described above can be realized by an information processing device 300 as shown in FIG. 10, for example.

情報処理装置300は、通常のコンピュータと同様の構成をしている。すなわち、情報処理装置300は、CPU302と、ROM304と、RAM306と、記憶装置308と、通信装置310とを有する。CPU302、ROM304、RAM306、記憶装置308および通信装置310は、バスにより接続されている。   The information processing apparatus 300 has the same configuration as a normal computer. That is, the information processing apparatus 300 includes a CPU 302, a ROM 304, a RAM 306, a storage device 308, and a communication device 310. The CPU 302, ROM 304, RAM 306, storage device 308, and communication device 310 are connected by a bus.

CPU302は、記憶装置308に記憶されたプログラムをRAM306に展開して実行し、各部を制御して入出力を行ったり、データの加工を行ったりする。ROM304には、OSの起動用プログラムを記憶装置308からRAM306に読み出すスタートプログラムが記憶されている。RAM306は、CPU302の作業領域としてデータを記憶する。   The CPU 302 expands and executes the program stored in the storage device 308 in the RAM 306, and controls each unit to perform input / output and process data. The ROM 304 stores a start program for reading an OS startup program from the storage device 308 to the RAM 306. The RAM 306 stores data as a work area for the CPU 302.

記憶装置308は、例えば、ハードディスクドライブまたはフラッシュメモリ等である。記憶装置308は、オペレーティングシステム、アプリケーションプログラムおよびデータを記憶している。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからダウンロードすることにより配布されてもよい。通信装置310は、ネットワークに接続するためのインターフェイス装置である。   The storage device 308 is, for example, a hard disk drive or a flash memory. The storage device 308 stores an operating system, application programs, and data. These programs are files in an installable or executable format, and are recorded and distributed on a computer-readable recording medium. The program may be distributed by downloading from a server. The communication device 310 is an interface device for connecting to a network.

本実施形態の情報処理装置300で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態の情報処理装置300で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置300で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ROM304等に予め組み込んで提供するように構成してもよい。   The program executed by the information processing apparatus 300 according to the present embodiment is an installable format or executable format file, and is a computer-readable recording such as a CD-ROM, a flexible disk (FD), a CD-R, and a DVD. Provided by being recorded on a medium. The program executed by the information processing apparatus 300 according to the present embodiment may be configured to be stored by being stored on a computer connected to a network such as the Internet and downloaded via the network. The program executed by the information processing apparatus 300 according to the present embodiment may be configured to be provided or distributed via a network such as the Internet. Further, the program of the present embodiment may be configured to be provided by being incorporated in advance in the ROM 304 or the like.

情報処理装置300を検証装置20として機能させるためのプログラムは、バージョン確認モジュールと、バージョン取得モジュールと、アドレス選択モジュールと、順序設定モジュールと、チャレンジ生成モジュールと、チャレンジ送信モジュールと、レスポンス受信モジュールと、データ抽出モジュールと、検証値生成モジュールと、判定モジュールとを有する。情報処理装置300は、プロセッサ(CPU302)が記憶媒体(記憶装置308等)からプログラムを読み出して実行することにより各モジュールが主記憶装置(RAM306)上にロードされ、プロセッサ(CPU302)が、バージョン確認部44、バージョン取得部52、アドレス選択部54、順序設定部56、チャレンジ生成部58、チャレンジ送信部60、レスポンス受信部70、データ抽出部72、検証値生成部74および判定部76として機能する。また、RAM306または記憶装置308は、イメージ記憶部42および結果記憶部78として機能する。なお、バージョン確認部44、バージョン取得部52、アドレス選択部54、順序設定部56、チャレンジ生成部58、チャレンジ送信部60、レスポンス受信部70、データ抽出部72、検証値生成部74および判定部76は、一部または全部がプロセッサ以外のハードウェアにより実現されてもよい。   A program for causing the information processing apparatus 300 to function as the verification apparatus 20 includes a version confirmation module, a version acquisition module, an address selection module, an order setting module, a challenge generation module, a challenge transmission module, and a response reception module. , A data extraction module, a verification value generation module, and a determination module. In the information processing apparatus 300, each module is loaded onto the main storage device (RAM 306) when the processor (CPU 302) reads a program from a storage medium (such as the storage device 308) and executes the program, and the processor (CPU 302) confirms the version. Unit 44, version acquisition unit 52, address selection unit 54, order setting unit 56, challenge generation unit 58, challenge transmission unit 60, response reception unit 70, data extraction unit 72, verification value generation unit 74, and determination unit 76 . The RAM 306 or the storage device 308 functions as the image storage unit 42 and the result storage unit 78. The version confirmation unit 44, the version acquisition unit 52, the address selection unit 54, the order setting unit 56, the challenge generation unit 58, the challenge transmission unit 60, the response reception unit 70, the data extraction unit 72, the verification value generation unit 74, and the determination unit 76 may be partially or entirely implemented by hardware other than the processor.

また、情報処理装置300を電子機器30として機能させるためのプログラムは、処理実行モジュールと、確認要求受信モジュールと、バージョン記憶モジュールと、バージョン送信モジュールと、チャレンジ受信モジュールと、データ読出モジュールと、レスポンス生成モジュールと、レスポンス送信モジュールとを有する。情報処理装置300は、プロセッサ(CPU302)が記憶媒体(記憶装置308等)からプログラムを読み出して実行することにより各モジュールが主記憶装置(RAM306)上にロードされ、プロセッサ(CPU302)が、処理実行部40、確認要求受信部46、バージョン送信部50、チャレンジ受信部62、データ読出部64、レスポンス生成部66およびレスポンス送信部68として機能する。また、RAM306または記憶装置308は、データ記憶部38およびバージョン記憶部48として機能する。なお、処理実行部40、確認要求受信部46、バージョン送信部50、チャレンジ受信部62、データ読出部64、レスポンス生成部66およびレスポンス送信部68は、一部または全部がプロセッサ以外のハードウェアにより実現されてもよい。   A program for causing the information processing apparatus 300 to function as the electronic device 30 includes a processing execution module, a confirmation request receiving module, a version storage module, a version transmission module, a challenge receiving module, a data reading module, a response A generation module and a response transmission module; In the information processing apparatus 300, each module is loaded onto the main storage device (RAM 306) when the processor (CPU 302) reads a program from a storage medium (such as the storage device 308) and executes the program, and the processor (CPU 302) executes the process. Functions as a unit 40, a confirmation request receiving unit 46, a version transmitting unit 50, a challenge receiving unit 62, a data reading unit 64, a response generating unit 66, and a response transmitting unit 68. The RAM 306 or the storage device 308 functions as the data storage unit 38 and the version storage unit 48. The process execution unit 40, the confirmation request reception unit 46, the version transmission unit 50, the challenge reception unit 62, the data reading unit 64, the response generation unit 66, and the response transmission unit 68 are partially or entirely made of hardware other than the processor. It may be realized.

本発明のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。   Although several embodiments and modifications of the present invention have been described, these embodiments and modifications are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

10 検証システム
20 検証装置
30 電子機器
38 データ記憶部
40 処理実行部
42 イメージ記憶部
44 バージョン確認部
46 確認要求受信部
48 バージョン記憶部
50 バージョン送信部
52 バージョン取得部
54 アドレス選択部
56 順序設定部
58 チャレンジ生成部
60 チャレンジ送信部
62 チャレンジ受信部
64 データ読出部
66 レスポンス生成部
68 レスポンス送信部
70 レスポンス受信部
72 データ抽出部
74 検証値生成部
76 判定部
78 結果記憶部
82 乱数発生部
84 グループ管理部
88 識別情報記憶部
DESCRIPTION OF SYMBOLS 10 Verification system 20 Verification apparatus 30 Electronic device 38 Data storage part 40 Process execution part 42 Image storage part 44 Version confirmation part 46 Confirmation request reception part 48 Version storage part 50 Version transmission part 52 Version acquisition part 54 Address selection part 56 Order setting part 58 Challenge generation unit 60 Challenge transmission unit 62 Challenge reception unit 64 Data reading unit 66 Response generation unit 68 Response transmission unit 70 Response reception unit 72 Data extraction unit 74 Verification value generation unit 76 Determination unit 78 Result storage unit 82 Random number generation unit 84 Group Management unit 88 Identification information storage unit

Claims (19)

情報処理を実行する電子機器に記憶されている対象データをネットワークを介して検証する検証装置であって、
前記電子機器が備えるデータ記憶部のメモリイメージを記憶するイメージ記憶部と、
前記データ記憶部における少なくとも1つのアドレスを選択するアドレス選択部と、
選択された前記少なくとも1つのアドレスを含むチャレンジ情報を生成するチャレンジ生成部と、
前記チャレンジ情報を前記電子機器にネットワークを介して送信するチャレンジ送信部と、
前記チャレンジ情報を送信したことに応じて返信されたレスポンス値を前記電子機器からネットワークを介して受信するレスポンス受信部と、
前記メモリイメージから、選択された前記少なくとも1つのアドレスに記憶されているべき少なくとも1つの対象データを抽出するデータ抽出部と、
抽出した前記少なくとも1つの対象データから、予め定められた演算アルゴリズムを用いて検証値を生成する検証値生成部と、
前記レスポンス値と前記検証値とが一致する場合、前記データ記憶部に記憶されている対象データが正常であると判定する判定部と、
を備える検証装置。
A verification device for verifying target data stored in an electronic device that executes information processing via a network,
An image storage unit for storing a memory image of a data storage unit included in the electronic device;
An address selection unit that selects at least one address in the data storage unit;
A challenge generator for generating challenge information including the selected at least one address;
A challenge transmitter for transmitting the challenge information to the electronic device via a network;
A response receiving unit that receives a response value returned in response to transmitting the challenge information from the electronic device via a network;
A data extraction unit for extracting from the memory image at least one target data to be stored at the selected at least one address;
A verification value generation unit that generates a verification value from the extracted at least one target data using a predetermined calculation algorithm;
A determination unit that determines that the target data stored in the data storage unit is normal when the response value matches the verification value;
A verification apparatus comprising:
前記検証値生成部は、予め定められたハッシュ関数を用いて、抽出した前記少なくとも1つの対象データにより定まるハッシュ値を前記検証値として算出する
請求項1に記載の検証装置。
The verification apparatus according to claim 1, wherein the verification value generation unit calculates a hash value determined by the extracted at least one target data as the verification value using a predetermined hash function.
前記アドレス選択部は、前記データ記憶部における複数のアドレスを選択し、
前記検証装置は、前記複数のアドレスをランダムに並べ替える順序設定部をさらに備え、
前記チャレンジ生成部は、選択された前記複数のアドレスを、並び順を識別可能に含む前記チャレンジ情報を生成し、
前記データ抽出部は、前記メモリイメージから、選択された前記複数のアドレスに記憶されているべき複数の対象データを抽出し、
前記検証値生成部は、設定された並び順で並べられた前記複数の対象データから、前記ハッシュ関数を用いて前記検証値を生成する
請求項2に記載の検証装置。
The address selection unit selects a plurality of addresses in the data storage unit,
The verification device further includes an order setting unit that randomly rearranges the plurality of addresses,
The challenge generation unit generates the challenge information including the selected addresses so that the arrangement order can be identified,
The data extraction unit extracts a plurality of target data to be stored at the selected plurality of addresses from the memory image,
The verification device according to claim 2, wherein the verification value generation unit generates the verification value from the plurality of target data arranged in a set arrangement order using the hash function.
前記検証値生成部は、抽出した前記複数の対象データを設定された並び順に従って連結し、連結されたデータを前記ハッシュ関数に与えて前記検証値を生成する
請求項3に記載の検証装置。
The verification apparatus according to claim 3, wherein the verification value generation unit connects the extracted plurality of target data according to a set arrangement order, and supplies the connected data to the hash function to generate the verification value.
乱数を発生する乱数発生部をさらに備え、
前記チャレンジ生成部は、前記少なくとも1つのアドレスおよび前記乱数を含む前記チャレンジ情報を生成し、
前記検証値生成部は、抽出した前記少なくとも1つの対象データおよび前記乱数を前記ハッシュ関数に与えて、前記検証値を生成する
請求項2に記載の検証装置。
A random number generator for generating random numbers;
The challenge generation unit generates the challenge information including the at least one address and the random number;
The verification device according to claim 2, wherein the verification value generation unit generates the verification value by giving the extracted at least one target data and the random number to the hash function.
前記検証値生成部は、抽出した前記少なくとも1つの対象データと前記乱数とを連結し、連結されたデータを前記ハッシュ関数に与えて前記検証値を生成する
請求項5に記載の検証装置。
The verification device according to claim 5, wherein the verification value generation unit generates the verification value by connecting the extracted at least one target data and the random number, and applying the connected data to the hash function.
前記データ記憶部に記憶されている対象データのバージョンを取得するバージョン取得部をさらに備え、
前記イメージ記憶部は、バージョン毎に前記メモリイメージを記憶し、
前記データ抽出部は、取得したバージョンに対応する前記メモリイメージから、前記少なくとも1つの対象データを取得する
請求項1から6の何れか1項に記載の検証装置。
A version acquisition unit for acquiring a version of the target data stored in the data storage unit;
The image storage unit stores the memory image for each version,
The verification device according to claim 1, wherein the data extraction unit acquires the at least one target data from the memory image corresponding to the acquired version.
同一の前記メモリイメージを記憶する複数の電子機器を管理するグループ管理部をさらに備え、
前記チャレンジ送信部は、前記チャレンジ情報を前記複数の電子機器のそれぞれにネットワークを介して一斉送信する
請求項1から6の何れか1項に記載の検証装置。
A group management unit for managing a plurality of electronic devices that store the same memory image;
The verification device according to any one of claims 1 to 6, wherein the challenge transmission unit transmits the challenge information to each of the plurality of electronic devices simultaneously via a network.
前記レスポンス受信部は、前記複数の電子機器のそれぞれから、前記レスポンス値と前記電子機器を識別する識別情報との組を受信し、
前記検証値生成部は、前記レスポンス値と前記識別情報との組を受信する毎に、抽出した前記少なくとも1つの対象データおよび前記識別情報を予め定められたハッシュ関数に与えて前記検証値を生成し、
前記判定部は、前記レスポンス値と前記識別情報との組を受信する毎に、前記レスポンス値と前記検証値とが一致する場合、前記データ記憶部に記憶されている対象データが正常であると判定する
請求項8に記載の検証装置。
The response receiving unit receives a set of the response value and identification information for identifying the electronic device from each of the plurality of electronic devices,
The verification value generation unit generates the verification value by giving the extracted at least one target data and the identification information to a predetermined hash function each time a set of the response value and the identification information is received. And
Each time the determination unit receives a set of the response value and the identification information, and the response value matches the verification value, the target data stored in the data storage unit is normal. The verification device according to claim 8.
前記検証値生成部は、抽出した前記少なくとも1つの対象データと前記識別情報とを連結し、連結されたデータを前記ハッシュ関数に与えて前記検証値を生成する
請求項9に記載の検証装置。
The verification device according to claim 9, wherein the verification value generation unit connects the extracted at least one target data and the identification information, and generates the verification value by giving the connected data to the hash function.
前記判定部は、前記識別情報が同一である複数の前記レスポンス値を受信した場合、受信した前記識別情報に対応する前記電子機器の前記データ記憶部に記憶されている対象データが正常ではないと判定する
請求項9または10に記載の検証装置。
When the determination unit receives a plurality of the response values having the same identification information, the target data stored in the data storage unit of the electronic device corresponding to the received identification information is not normal. The verification device according to claim 9 or 10.
前記判定部が、前記データ記憶部における選択されたアドレスに記憶されている対象データが正常であると判定した場合、前記アドレス選択部にさらに他の少なくとも1つのアドレスを新たに選択させて、前記チャレンジ生成部、前記チャレンジ送信部、前記レスポンス受信部、前記データ抽出部、前記検証値生成部および前記判定部に、新たに選択された前記少なくとも1つのアドレスに基づき処理を再度実行させる繰返制御部
をさらに備える請求項1から11の何れか1項に記載の検証装置。
When the determination unit determines that the target data stored at the selected address in the data storage unit is normal, the address selection unit further selects at least one other address, and Repeat control for causing the challenge generation unit, the challenge transmission unit, the response reception unit, the data extraction unit, the verification value generation unit, and the determination unit to execute the process again based on the at least one address that is newly selected. The verification device according to claim 1, further comprising: a unit.
情報処理装置を請求項1から12の何れか1項に記載の検証装置として機能させるためのプログラム。   A program for causing an information processing apparatus to function as the verification apparatus according to any one of claims 1 to 12. 検証装置からネットワークを介して検証がされる電子機器であって、
対象データを記憶するデータ記憶部と、
前記データ記憶部に記憶されている前記対象データを読み出して情報処理を実行する処理実行部と、
前記検証装置からネットワークを介して、前記データ記憶部の少なくとも1つのアドレスを含むチャレンジ情報を受信するチャレンジ受信部と、
前記チャレンジ情報に含まれる前記少なくとも1つのアドレスの対象データを、前記データ記憶部から読み出すデータ読出部と、
読み出した前記少なくとも1つの対象データから、予め定められた演算アルゴリズムを用いてレスポンス値を生成するレスポンス生成部と、
前記レスポンス値を前記検証装置にネットワークを介して送信するレスポンス送信部と、
を備える電子機器。
An electronic device to be verified via a network from a verification device,
A data storage unit for storing target data;
A process execution unit that reads out the target data stored in the data storage unit and executes information processing;
A challenge receiving unit for receiving challenge information including at least one address of the data storage unit from the verification device via a network;
A data reading unit for reading out the target data of the at least one address included in the challenge information from the data storage unit;
A response generation unit that generates a response value from the read at least one target data using a predetermined calculation algorithm;
A response transmitter for transmitting the response value to the verification device via a network;
Electronic equipment comprising.
前記レスポンス生成部は、予め定められたハッシュ関数を用いて、読み出した前記少なくとも1つの対象データからハッシュ値を、前記レスポンス値として算出する
請求項14に記載の電子機器。
The electronic device according to claim 14, wherein the response generation unit calculates a hash value as the response value from the read at least one target data using a predetermined hash function.
前記チャレンジ受信部は、前記少なくとも1つのアドレスおよび乱数を含む前記チャレンジ情報を受信し、
前記レスポンス生成部は、読み出した前記少なくとも1つの対象データおよび前記チャレンジ情報に含まれる前記乱数を前記ハッシュ関数に与えて、前記レスポンス値を生成する
請求項15に記載の電子機器。
The challenge receiving unit receives the challenge information including the at least one address and a random number;
The electronic device according to claim 15, wherein the response generation unit generates the response value by providing the hash function with the random number included in the read at least one target data and the challenge information.
前記電子機器を識別する識別情報を記憶する識別情報記憶部をさらに備え、
前記レスポンス生成部は、読み出した前記少なくとも1つの対象データおよび前記識別情報を前記ハッシュ関数に与えて、前記レスポンス値を生成し、
前記レスポンス送信部は、前記レスポンス値と前記識別情報との組を前記検証装置に送信する
請求項15または16に記載の電子機器。
An identification information storage unit for storing identification information for identifying the electronic device;
The response generation unit gives the read at least one target data and the identification information to the hash function to generate the response value,
The electronic device according to claim 15 or 16, wherein the response transmission unit transmits a set of the response value and the identification information to the verification device.
情報処理装置を請求項14から17の何れか1項に記載の電子機器として機能させるためのプログラム。   A program for causing an information processing apparatus to function as the electronic device according to any one of claims 14 to 17. 情報処理を実行する電子機器と、
前記電子機器に記憶されている対象データをネットワークを介して検証する検証装置と、
を備える検証システムであって、
前記電子機器は、
対象データを記憶するデータ記憶部と、
前記データ記憶部に記憶されている前記対象データを読み出して情報処理を実行する処理実行部と、
を備え、
前記検証装置は、
前記データ記憶部のメモリイメージを記憶するイメージ記憶部と、
前記データ記憶部における少なくとも1つのアドレスを選択するアドレス選択部と、
選択された前記少なくとも1つのアドレスを含むチャレンジ情報を生成するチャレンジ生成部と、
前記チャレンジ情報を前記電子機器にネットワークを介して送信するチャレンジ送信部と、
を備え、
前記電子機器は、
前記検証装置からネットワークを介して、前記チャレンジ情報を受信するチャレンジ受信部と、
前記チャレンジ情報に含まれる前記少なくとも1つのアドレスの対象データを、前記データ記憶部から読み出すデータ読出部と、
読み出した前記少なくとも1つの対象データから、予め定められた演算アルゴリズムを用いてレスポンス値を生成するレスポンス生成部と、
前記レスポンス値を前記検証装置にネットワークを介して送信するレスポンス送信部と、
をさらに備え、
前記検証装置は、
前記チャレンジ情報を送信したことに応じて返信された前記レスポンス値を前記電子機器からネットワークを介して受信するレスポンス受信部と、
前記メモリイメージから、選択された前記少なくとも1つのアドレスに記憶されているべき少なくとも1つの対象データを抽出するデータ抽出部と、
抽出した前記少なくとも1つの対象データから、前記レスポンス生成部と同一の前記演算アルゴリズムを用いて検証値を生成する検証値生成部と、
前記レスポンス値と前記検証値とが一致する場合、前記データ記憶部に記憶されている対象データが正常であると判定する判定部と、
をさらに備える
検証システム。
An electronic device that executes information processing;
A verification device for verifying target data stored in the electronic device via a network;
A verification system comprising:
The electronic device is
A data storage unit for storing target data;
A process execution unit that reads out the target data stored in the data storage unit and executes information processing;
With
The verification device includes:
An image storage unit for storing a memory image of the data storage unit;
An address selection unit that selects at least one address in the data storage unit;
A challenge generator for generating challenge information including the selected at least one address;
A challenge transmitter for transmitting the challenge information to the electronic device via a network;
With
The electronic device is
A challenge receiver for receiving the challenge information from the verification device via a network;
A data reading unit for reading out the target data of the at least one address included in the challenge information from the data storage unit;
A response generation unit that generates a response value from the read at least one target data using a predetermined calculation algorithm;
A response transmitter for transmitting the response value to the verification device via a network;
Further comprising
The verification device includes:
A response receiving unit that receives the response value returned in response to transmitting the challenge information from the electronic device via a network;
A data extraction unit for extracting from the memory image at least one target data to be stored at the selected at least one address;
A verification value generation unit that generates a verification value from the extracted at least one target data using the same calculation algorithm as the response generation unit;
A determination unit that determines that the target data stored in the data storage unit is normal when the response value matches the verification value;
A verification system further comprising:
JP2016054535A 2016-03-17 2016-03-17 Verification device, electronic apparatus, program, and verification system Pending JP2017169147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016054535A JP2017169147A (en) 2016-03-17 2016-03-17 Verification device, electronic apparatus, program, and verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016054535A JP2017169147A (en) 2016-03-17 2016-03-17 Verification device, electronic apparatus, program, and verification system

Publications (1)

Publication Number Publication Date
JP2017169147A true JP2017169147A (en) 2017-09-21

Family

ID=59913650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016054535A Pending JP2017169147A (en) 2016-03-17 2016-03-17 Verification device, electronic apparatus, program, and verification system

Country Status (1)

Country Link
JP (1) JP2017169147A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521320B2 (en) 2016-03-18 2019-12-31 Kabushiki Kaisha Toshiba Information processing device, information processing method and computer program product
CN112910652A (en) * 2021-01-18 2021-06-04 湖南海格力士智能科技有限公司 Remote controller identification method and remote controller identification device
CN113396384A (en) * 2019-02-14 2021-09-14 罗伯特·博世有限公司 Method and apparatus for processing data stored in a storage device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055816A (en) * 2000-08-08 2002-02-20 Sharp Corp Program management device, its method and storage medium to be used for the device
JP2003087232A (en) * 2001-09-10 2003-03-20 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd Method for detecting copied terminal
US20060093144A1 (en) * 2004-07-29 2006-05-04 Wolfgang Reinelt Communications method for at least two system components of a motor vehicle
JP2009009541A (en) * 2007-05-25 2009-01-15 Nec Corp Authentication system, terminal, server, authentication method, and program
JP2013042295A (en) * 2011-08-12 2013-02-28 Sony Corp Information processing device, information processing method, program, and recording medium
JP2014021509A (en) * 2012-07-12 2014-02-03 Mitsubishi Electric Corp Fraudulence detection system, terminal unit, fraudulence sensing device, computer program, and fraudulence detection method
US20150365232A1 (en) * 2014-06-13 2015-12-17 BicDroid Inc. Methods, systems and computer program product for providing verification code recovery and remote authentication
JP2016019054A (en) * 2014-07-04 2016-02-01 国立大学法人名古屋大学 Communication system and key information sharing method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055816A (en) * 2000-08-08 2002-02-20 Sharp Corp Program management device, its method and storage medium to be used for the device
JP2003087232A (en) * 2001-09-10 2003-03-20 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd Method for detecting copied terminal
US20060093144A1 (en) * 2004-07-29 2006-05-04 Wolfgang Reinelt Communications method for at least two system components of a motor vehicle
JP2009009541A (en) * 2007-05-25 2009-01-15 Nec Corp Authentication system, terminal, server, authentication method, and program
JP2013042295A (en) * 2011-08-12 2013-02-28 Sony Corp Information processing device, information processing method, program, and recording medium
JP2014021509A (en) * 2012-07-12 2014-02-03 Mitsubishi Electric Corp Fraudulence detection system, terminal unit, fraudulence sensing device, computer program, and fraudulence detection method
US20150365232A1 (en) * 2014-06-13 2015-12-17 BicDroid Inc. Methods, systems and computer program product for providing verification code recovery and remote authentication
JP2016019054A (en) * 2014-07-04 2016-02-01 国立大学法人名古屋大学 Communication system and key information sharing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521320B2 (en) 2016-03-18 2019-12-31 Kabushiki Kaisha Toshiba Information processing device, information processing method and computer program product
CN113396384A (en) * 2019-02-14 2021-09-14 罗伯特·博世有限公司 Method and apparatus for processing data stored in a storage device
JP2022520463A (en) * 2019-02-14 2022-03-30 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Methods and devices for processing data stored in memory devices
JP7192138B2 (en) 2019-02-14 2022-12-19 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング Method and apparatus for processing data stored in memory device
US11947807B2 (en) 2019-02-14 2024-04-02 Robert Bosch Gmbh Method and device for processing data stored in a memory unit
CN112910652A (en) * 2021-01-18 2021-06-04 湖南海格力士智能科技有限公司 Remote controller identification method and remote controller identification device

Similar Documents

Publication Publication Date Title
JP6708784B2 (en) Authentication method, device and authentication client
US10073916B2 (en) Method and system for facilitating terminal identifiers
JP6515100B2 (en) Application of Circuit Delay Based Physical Unclonable Function (PUF) to Masking Operation of Memory Based PUF to Resist Invasive Clone Attack
CN107733847B (en) Method and device for platform login website, computer equipment and readable storage medium
US10833877B2 (en) Method of authenticating authentication-target apparatus by authentication apparatus, authentication apparatus, authentication- target apparatus, and image forming apparatus
US10511488B2 (en) Device, system and method for performing integrity verification based on distributed delegator
US11374766B2 (en) Devices and methods for key attestation with multiple device certificates
US20080301793A1 (en) Apparatus and method of verifying online certificate for offline device
US20160217545A1 (en) Model anti-collusion watermark
JP2017169147A (en) Verification device, electronic apparatus, program, and verification system
JP2019519849A (en) Method and device for preventing attacks on servers
CN115879111A (en) Method, device and system for safe starting
US10708064B2 (en) Semiconductor device, boot method, and boot program
WO2019239191A1 (en) Methods, wireless modules, electronic devices and server devices
CN110858803B (en) Authentication method, system, server, and computer-readable storage medium
US10586034B2 (en) Network communication method and network communication system
CN116011000B (en) Access method, device and computing equipment
CN117176472B (en) Data tamper-proof method, device and system based on intelligent password security equipment
CN116795607A (en) Page screenshot verification method and device, storage medium and electronic equipment
CN114387104A (en) Cross-block-chain data pushing method and device
CN116192737A (en) Micro front terminal application routing method, device, electronic equipment and storage medium
CN116821892A (en) Program running method and device, electronic equipment and storage medium
JP2005275803A (en) Information processing system, client device, server device, program, and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190521