WO2019189019A1 - ハッシュ付きデータ及びその生成方法 - Google Patents
ハッシュ付きデータ及びその生成方法 Download PDFInfo
- Publication number
- WO2019189019A1 WO2019189019A1 PCT/JP2019/012577 JP2019012577W WO2019189019A1 WO 2019189019 A1 WO2019189019 A1 WO 2019189019A1 JP 2019012577 W JP2019012577 W JP 2019012577W WO 2019189019 A1 WO2019189019 A1 WO 2019189019A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- hash value
- hash
- noise
- converter
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Definitions
- the present invention mainly relates to a method for generating hashed data.
- a variety of sensors that measure physical quantities have been developed, such as acceleration, speed, displacement, temperature, pressure, voltage, current, humidity, and pH.
- Analog signals acquired by these sensors are converted into digital data by an A / D converter, thereby enabling various digital processes such as compression, recording, processing, and transmission.
- Patent Document 1 A technique for adding a digital signature by calculating a hash value of a digital file recognized on a computer operating system and encrypting it with a private key is known (Patent Document 1).
- original data digital data obtained by digitally converting a physical quantity acquired by a sensor or the like with an A / D converter
- original data is mistaken for some reason in the process of subsequent digital processing. Even if it is replaced with other data or the data itself is “tampered”, it is not always easy to find out the fact or to find out the cause.
- the present invention has been made in view of the above, and it is a main solution to provide a method of adding a signature to digital data digitally converted by an A / D converter.
- a data recording apparatus including a processor and an A / D converter. Preparing a public / private key pair Sa0; A step Sa1 for generating an analog signal acquired by the sensor by the A / D converter to generate digital data composed of signal data and noise data; A step Sa2 of calculating a hash value for the signal data using a hash function by the processor; Step Sa3 for encrypting the hash value with either the secret key or the public key; Writing the encrypted hash value into the noise area where the noise data was recorded, Sa4; including.
- the digital data including the encrypted hash value thus obtained (referred to as “hashed digital data” in this specification) is encrypted with “signal data” and “secret key or public key”. Hash value ". Then, after the digital data is transmitted, when confirming whether the data has been tampered with on the receiving side, a “hash value encrypted with a secret key or public key” is calculated and embedded in the data recording device side. And the receiving side calculates the hash value using the same hash function as the data recording device side, compares it with the “hash value encrypted with the public key”, and if both match, there is no alteration If it does not match, it is determined that it has been tampered with.
- a hash value is an operation for obtaining a numerical value that represents the data when given data is given, or a function for obtaining such a numerical value.
- the hash value is obtained from a hash function. This is a numerical value.
- the number of bits of the hash value represents the reliability of the data, but is also the encryption strength. For example, if the hash is represented by 4 bits, a hash value which can be taken is 4 2 to the power of, that is, the data having the same hash value with a probability of 1/2 4 are present.
- a part of the noise area may include “data other than a hash value”.
- 24-bit digital data having an S / N ratio of 120 dB is composed of 20-bit signal data and 4-bit noise data per sample data. If the hash value is expressed by 2 bits, data other than the hash value can be recorded. In this case, “data other than the hash value” and “hash value” are recorded in the noise area. In this case, not only “signal data” but also “signal data” and “data other than the hash value” may be subject to calculation of the hash value.
- the hash value calculated in this way is encrypted with a secret key or a public key, and written (overwritten) in the noise area.
- a plurality of samples of digital data output from the A / D converter may be combined into one data unit.
- the hash function is simple, the calculation time can be shortened, so the time required for embedding the hash value can be reduced, and the data processing delay associated with the hash value calculation and encryption processing is reduced. It becomes possible to embed hash values in real time. However, when handling a certain amount of data as a unit or when the processing capacity of the processor is low, such real-time processing is not necessary, so the data for multiple samples should be handled as one. Is also possible. In this case, since the amount of data that can be stored in the noise area increases, not only the hash value but also various data other than the hash value can be stored in the noise area.
- the “data other than the hash value” includes, for example, a time stamp indicating the acquisition date of the original data, an identification ID for the original data, a code indicating the hash function, a public key, a conversion constant to the original data (hereinafter, Arbitrary data can be included within a storable range, such as simply “conversion constant”.
- the “conversion constant” is a numerical value representing the conversion magnification between the signal data and the physical quantity to be measured by the sensor, that is, “the product of the conversion magnification and the numerical value recorded in the signal data is measured by the sensor. It means “a constant that becomes a physical quantity (finite value)”.
- the conversion constant for example, fixed point and floating point, and in any case, it is necessary to represent the conversion constant by an integer or a finite decimal number, that is, a rational number.
- the signal data is binary data consisting of a sequence of 0s or 1s, but can be expressed in text format.
- the conversion constant is a unique numerical value determined by the setting conditions of the A / D converter. Therefore, the physical quantity acquired by the sensor can be calculated by using “signal data expressed in text format” and “conversion constant”.
- a hash value is calculated using data (ie, all data other than the hash value) that is a combination of “signal data” and “arbitrary data”.
- the hash value is encrypted with a secret key or a public key.
- “arbitrary data” and “hash value” are overwritten in the noise area.
- the same hash function as used on the data recording device side is the same as the hash value encrypted with the private key or public key. Compare the hash value calculated using the hash function with the hash value encrypted with the public key (generated as a pair with the private key). If they match, it is determined that there has been no tampering. The point that it is determined that the data has been tampered with is the same as the above (when any data is not included).
- the hash function and public key must be distributed in advance to the user who uses the data (that is, the side that confirms the alteration of the data).
- the hash value (original hash) before being encrypted with the key or the public key cannot be known. Therefore, by comparing the hash value encrypted with the private key or the public key with the hash value encrypted with the public key, it is possible to easily confirm the falsification of the data.
- noise data is removed from the original data, and digital data in which a hash value (and optional data if necessary) is recorded in the noise area is used as text data. Data), while the user using the data can check whether the data has been tampered with.
- the hash value is included in the noise area that is a data area that is not used as noise, it can be easily confirmed that the original data has not been tampered with.
- the number of bits required to represent the hash value is small, information other than the hash value can be embedded. In this case, it can be confirmed that not tampering has been performed, including not only the high-order bit digital data used as a signal but also information other than the hash value embedded in the non-data area.
- FIG. 1A is a conceptual diagram in which the data structure of original data output from an A / D converter is arranged in time series.
- FIG. 1B is a conceptual diagram showing that a hash value is written in the lower bits where the noise data in FIG. 1A is recorded.
- FIG. 2 is a flowchart for generating hashed data showing a processing flow on the data recording apparatus side.
- FIG. 3 is a flowchart for detecting falsification of data indicating a processing flow on the user side using the data.
- FIG. 4 shows hashed data generated per unit time.
- FIG. 5 shows the hardware configuration of the data recording apparatus on which the present invention is based.
- This embodiment proposes a new technique that utilizes the data by replacing the ignored noise data with “significant data”.
- the data recording device (data logger) 1 includes a sensor 10, an A / D converter 12, and a processor 14.
- the sensor 10 may be a sensor that corresponds to a physical quantity that is a measurement target, and includes any sensor that converts a change in a physical quantity that is a measurement target into, for example, a voltage change and sends it to an A / D converter.
- the A / D converter 12 is a device for converting analog data into digital data. The performance varies depending on the sampling frequency and the number of bits, but is not limited to a specific A / D converter.
- the processor 14 is a device for controlling the data recording device, performing numerical calculations, and the like, and varies from a 4-bit or 8-bit microcomputer to a 64-bit high-performance processor mounted on a general-purpose computer or server in recent years. The type is applicable.
- the number of bits and the clock frequency of the processor 14 affect a hash value calculation speed and a hash value encryption speed described later, but are not limited to a specific processor.
- a necessary hardware configuration such as the memory 16, the hard disk or other recording medium 18, and the communication interface 20 may be included.
- the data recording device does not have to be an integrated device, including the case where the sensor unit and the data processing unit (processor, A / D converter, etc.) other than the sensor unit are separated, and the A / D This includes the case where the converter and the processor are integrated.
- FIG. 1A is a conceptual diagram in which the data structure of the original data output from the A / D converter is arranged in time series.
- the lower bit includes noise data N1.
- the amount of data varies depending on the sampling rate and the number of bits of the A / D converter, for example, if the sampling rate is 100 msec, the S / N ratio is 120 dB, and the number of bits is 24 bits, the digital data is 24 bits every 100 msec. Data is output from the A / D converter.
- a hash value is calculated for the signal data.
- a hash table may be created in advance, or a publicly known hash function may be used. For example, it may be a checksum, CRC16, MD5, SHA1, SHA2, or SHA3.
- the number of bits of the hash value depends on the hash function. For example, Sha2 is 128 bits, MD5 is 64 bits, and CRC is 16 bits.
- the hash value that can be taken is a probability of 1/28 of 340 ⁇ 10, which is very strong.
- the hash value calculated in this way is stored in the noise area.
- the calculated hash value is embedded as it is, the possibility that only the hash value is falsified cannot be excluded. Therefore, a public key / private key pair is prepared in advance by a known method, the hash value is encrypted with the secret key, and the encrypted hash value is overwritten and stored in the noise area.
- the hash value encrypted with the public key instead of the private key is used as the noise area. May be overwritten and saved. This is also true for the second embodiment.
- FIG. 1B is a conceptual diagram showing that the encrypted hash value is written in the lower bits in which the noise data in FIG. 1A is recorded. As shown in this figure, the encrypted hash value H0 for the signal data S0 is overwritten on the noise area which is the noise area. Similarly, the encrypted hash value H1 for the signal data S1 is written (overwritten) in the noise area.
- FIG. 2 is a flowchart for generating hashed data showing a processing flow on the data recording apparatus side.
- a public key / private key pair (key pair) is prepared (step Sa0). If the processing capacity of the processor is low, a key pair may be prepared in advance by another processor.
- step Sa1 the analog signal acquired by the sensor is generated by the A / D converter to generate digital data composed of signal data and noise data.
- this digital data includes all data including signal data and noise data.
- step Sa2 calculates a hash value for the signal data using a hash function.
- step Sa3 the obtained hash value is encrypted with the secret key prepared in step Sa0 (step Sa3).
- step Sa4 the hash value encrypted in step Sa3 is written in the noise area where the noise data was recorded (step Sa4).
- the hash value that has been encrypted is written after the hash area is overwritten with zero (zero clear).
- the reason for clearing to zero is that the noise area contains numerical values of noise data. Since zero is normally overwritten, a case where zero is overwritten will be described below, but it goes without saying that it may be a known value.
- step Sa5 the hashed data generated as necessary is recorded (transmitted) on a recording medium or the like.
- FIG. 3 is a flowchart showing steps for determining whether or not the user who has received the hashed data has falsified.
- the process starts when data with hash is received (step Sb0).
- the first step in checking for tampering is to calculate the part other than the hash area in the hashed data (this hash part contains the hash value encrypted with the secret key) on the user side, A hash value is calculated (step Sb1).
- the hash function used in this calculation step is the same as that used when generating hashed data.
- the hash value calculated in step Sb1 is encrypted with the public key (step Sb2).
- step Sb4 the determination is made. Specifically, for example, if the difference between hash values is calculated and determined to be zero, it is determined that they match, so it is determined that there is no tampering, and if the difference between hash values is not zero, it is determined that they do not match. Therefore, it is determined that there has been tampering. Note that either order of step Sb1 and step Sb2 may be first.
- the hash value is stored in the data area (non-data area) that is not actually used even though it occupies the data area called the noise area among the original data that is the digital data acquired by the sensor. Therefore, it is possible to easily determine whether or not tampering has occurred. Moreover, since no information is written in the signal area that is effectively used as data in the original data, even if a hash value or other additional information is embedded in a part of the original data, the data is not substantially damaged. There is an advantage.
- the calculation can record a data amount of 4 bits ⁇ 100 (corresponding to 400 bits / sec) per second.
- the hash value will be streets 16 2 @ (about 65,000), the data having the same hash value in establishing the 1/2 16 exists become.
- FIG. 4 is a conceptual diagram showing how the original data generated per unit time is divided into a “signal area” and a “noise area”.
- the “additional information” is, for example, information useful for specifying digital data, preferably “data other than a hash value” that increases the reliability of the data.
- the “data other than the hash value” includes, for example, a time stamp indicating the acquisition date of the original data, an identification ID for the original data, a code indicating the hash function, a public key, a conversion constant to the original data (hereinafter simply referred to as “conversion”).
- conversion a conversion constant to the original data (hereinafter simply referred to as “conversion”).
- Arbitrary data can be included within a storable range such as “constant”.
- the “conversion constant” is a numerical value representing the conversion magnification between the signal data and the physical quantity to be measured by the sensor, that is, “the product of the conversion magnification and the numerical value recorded in the signal data is measured by the sensor. It means “a constant that becomes a physical quantity (finite value)”.
- the conversion constant is 0.05.
- the physical quantity corresponding to the data acquired by the A / D converter is 3.333 V
- the signal data considering the significant digits after A / D conversion data ignoring lower bits that should be ignored as noise
- the value is 10 (indicated as A in hexadecimal).
- the conversion constant in this case is defined as 0.3333 and the corresponding physical quantity is defined as being calculated by the product of the digital data and the conversion constant (10 ⁇ 0.3333)
- the digital data without noise can be obtained. It can be expressed by text data (3.333).
- the text data (3.333) and the conversion constant (0.03333) are obtained, the value of the digital data (10) can be calculated therefrom.
- the corresponding physical quantity is a value obtained by dividing the value 10 of the digital data by the conversion constant 3, 3.333333. ⁇ It is represented by an infinite decimal number. In that case, in order to express it by text data, it is necessary to round down or round off at a certain finite position, that is, "rounding", and the strict correspondence relationship is broken. (For example, multiplying 3.333 by the conversion constant 3 gives 9.999, which is different from the digital data value of 10.)
- “Signal data” recorded in the signal area is associated with binary data consisting of a number sequence of 0 or 1 (in the above example, a sequence of 20 bits of zero / one). It is possible to read this binary data sequence and convert it into text data. If necessary, it can be converted into a more manageable format such as hexadecimal notation.
- the conversion constant is a unique numerical value determined by the setting conditions of the A / D converter. Therefore, the physical quantity acquired by the sensor can be calculated by using “signal data expressed in text format” and “conversion constant”.
- the digital data generated by the A / D converter is recorded in various data formats (formats), but in many cases it is not text data. In this case, the operating system already supports reading the contents. Or a program for reading out the data format is required, and in this sense, it cannot be said that the versatility is high. However, after the signal data included in the original data is expressed in text format etc., it is distributed to users in text format or spreadsheet software data format together with conversion constants and other arbitrary information and encrypted hash values. It becomes possible to do.
- the user can restore binary data from text data and conversion constants. If the binary data can be restored, the hash value can be calculated. The hash value encrypted with the private key of the original data is compared with the hash value encrypted with the public key of the hash value calculated on the user side. It is possible to verify the presence or absence of tampering.
- a hash value is calculated using “other than hash area” as a calculation target (step Sb1).
- the hash value calculated in step Sb1 is encrypted with the public key (step Sb2).
- the original hash (hash value encrypted with the secret key) written in the hash area is compared with the hash value encrypted with the public key calculated in step Sb2.
- the two are compared (step Sb3). If they match, it is determined that no tampering has occurred, and if they do not match, it is determined that tampering has occurred (step Sb4).
- the hash function and public key need to be distributed to the user in advance, but the encrypted hash value cannot be decrypted with only the hash function or public key (that is, without the private key) There is no particular concern regarding the means of distribution to the user, and it is not essential to encrypt or send it via a virtual private network.
- a hash value that is, a digital signature
- a secret key is embedded in a “noise area” in digital data including noise.
- a hash value encrypted with a secret key in the non-data area and other additions as necessary Information can be embedded.
- the A / D converter It is also possible to replace the encryption key included in the above with a public key instead of the secret key, and take a form without using the secret key.
- the secret key prepared in step Sa0 can be used only for “public key generation”, and all encryption keys used in the subsequent steps can be replaced with the public key. In this way, it is not necessary to hold a secret key on the data recording device side.
- Such modifications of the embodiment are also within the scope of the technical idea of the present invention.
- the “hashed data” in the present invention is embedded in a non-data area in which text data or hash values are not conventionally used as noise. Since there is no damage, the conventional system can be used as it is.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Radar Systems Or Details Thereof (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
- Digital Magnetic Recording (AREA)
Abstract
【課題】 A/D変換器でデジタル変換されたデジタルデータに署名を付与する。 【解決手段】 プロセッサ及びA/D変換器を備えたデータ記録装置において、 公開鍵と秘密鍵のペアを準備するステップと、 前記センサーが取得したアナログ信号を前記A/D変換器で信号データとノイズデータとで構成されるデジタルデータを生成するステップSa1と、 前記プロセッサによりハッシュ関数を用いて前記信号データに対するハッシュ値を計算するステップSa2と、 前記ハッシュ値を前記秘密鍵又は公開鍵のいずれかで暗号化するステップSa3と、 前記暗号化されたハッシュ値を前記ノイズデータが記録されていたノイズエリアに書き込みするステップSa4と、 を含む、ハッシュ付きデータの生成方法
Description
本発明は、主としてハッシュ付きデータの生成方法に関する。
物理量を計測するセンサーは、加速度、速度、変位、温度、圧力、電圧、電流、湿度、pH、など多種多様のものが開発されている。これらのセンサーで取得されたアナログ信号は、A/D変換器によってデジタルデータに変換されることにより、圧縮・記録・処理・伝送など様々なデジタル処理が可能となる。
コンピューターのオペレーティングシステム上で認識されるデジタルファイルのハッシュ値を計算し、それを秘密鍵で暗号化することでデジタル署名を付与する技術は知られている(特許文献1)。
しかし、センサー等で取得された物理量をA/D変換器でデジタル変換したデジタルデータ(以下、本明細書において「オリジナルデータ」という。)が、その後のデジタル処理を経る過程で何らかの原因によって取り違えられ、他のデータと入れ替わったり、データ自身が「改ざん」されたりしても、その事実を発見したり、原因を究明したりすることは、必ずしも容易ではない。
本発明は、上記に鑑みてなされたものであり、A/D変換器でデジタル変換されたデジタルデータに署名を付与する方法を提供することを主たる解決課題とする。
本発明に係るハッシュ付きデータの生成方法は、プロセッサ及びA/D変換器を備えたデータ記録装置において、
公開鍵と秘密鍵のペアを準備するステップSa0と、
センサーで取得されたアナログ信号を前記A/D変換器で信号データとノイズデータとで構成されるデジタルデータを生成するステップSa1と、
前記プロセッサによりハッシュ関数を用いて前記信号データに対するハッシュ値を計算するステップSa2と、
前記ハッシュ値を前記秘密鍵又は公開鍵のいずれかで暗号化するステップSa3と、
前記暗号化されたハッシュ値を前記ノイズデータが記録されていたノイズエリアに書き込みするステップSa4と、
を含む。
公開鍵と秘密鍵のペアを準備するステップSa0と、
センサーで取得されたアナログ信号を前記A/D変換器で信号データとノイズデータとで構成されるデジタルデータを生成するステップSa1と、
前記プロセッサによりハッシュ関数を用いて前記信号データに対するハッシュ値を計算するステップSa2と、
前記ハッシュ値を前記秘密鍵又は公開鍵のいずれかで暗号化するステップSa3と、
前記暗号化されたハッシュ値を前記ノイズデータが記録されていたノイズエリアに書き込みするステップSa4と、
を含む。
このようにして得られた暗号化されたハッシュ値を含むデジタルデータ(本明細書において、「ハッシュ付きデジタルデータ」という。)は、「信号データ」と「秘密鍵又は公開鍵で暗号化されたハッシュ値」とを含む。そして、デジタルデータが伝送された後、受け取った側でデータの改ざんがないかどうか確かめる場合、データ記録装置側において計算とデータ埋め込みを行った「秘密鍵又は公開鍵で暗号化されたハッシュ値」と、受け取った側においてデータ記録装置側と同一のハッシュ関数を用いてハッシュ値を計算し、それを「公開鍵で暗号化したハッシュ値」と比較して、両者が一致すれば改ざんはなかったと判定し、不一致であれば改ざんされていると判定する。
ここで、ハッシュ関数及びハッシュ値とは、一般的な技術用語のそのままの意である。すなわち、ハッシュ値とは、あるデータが与えられた場合にそのデータを代表する数値を得る操作、または、その様な数値を得るための関数をいい、ハッシュ値とは、ハッシュ関数から得られた数値をいう。ハッシュ値のビット数はデータの信頼性を表すものであるが、暗号化強度でもある。例えば、ハッシュが4ビットで表される場合、とりうるハッシュ値は2の4乗通り、すなわち1/24の確率で同じハッシュ値を持つデータが存在することになる。
上記ハッシュ付きデータの生成方法において、ノイズエリアの一部に、「ハッシュ値以外のデータ」を含んでいてもよい。例えば、S/N比が120dBである24ビットのデジタルデータは、1サンプルデータあたり、20ビットの信号データと4ビットのノイズデータとで構成される。仮に、ハッシュ値が2ビットで表現される場合、ハッシュ値以外のデータを記録することが可能となる。この場合、ノイズエリアには、「ハッシュ値以外のデータ」と「ハッシュ値」とが記録される。その場合、「信号データ」だけでなく、「信号データ」と「ハッシュ値以外のデータ」との両方をハッシュ値の計算対象としてもよい。「ハッシュ値以外のデータ」をハッシュ値の計算対象とすることにより、「信号データ」だけでなく「ハッシュ値以外のデータ」に改ざんが行われていたか否かを検証することができる。このようにして計算されたハッシュ値は、秘密鍵又は公開鍵で暗号化され、ノイズエリアに書き込み(上書き保存)される。
また、上記方法に際しては、前記A/D変換器から出力されるデジタルデータのうち、複数サンプル分のデータをまとめて1つのデータ単位とするように構成してもよい。ハッシュ関数が簡単である場合には、計算時間は短くて済むためハッシュ値の埋め込みに要する時間は少なくて済み、ハッシュ値計算や暗号化処理などに伴うデータ処理の遅延が小さくなり、その結果、リアルタイムでハッシュ値を埋め込んでいくことが可能となる。しかし、あるまとまった時間分のデータを1まとまりとして取り扱うような場合或いはプロセッサの処理能力が低い場合には、このようなリアルタイム性は不要であるため、複数サンプル分のデータを1つとして取り扱うことも可能である。この場合、ノイズエリアに保存できるデータ量が増加するため、ハッシュ値だけでなく、ハッシュ値以外の様々なデータをノイズエリアに保存できるようになる。
ここで、「ハッシュ値以外のデータ」には、例えば、オリジナルデータの取得日時などを示すタイムスタンプ、オリジナルデータに対する識別ID、ハッシュ関数を示すコード、公開鍵、オリジナルデータへの換算定数(以下、単に「換算定数」という。)など、保存可能な範囲で任意のデータを含むことができる。
ここで、「換算定数」とは、信号データとセンサーの計測対象である物理量との換算倍率を表す数値、すなわち、「換算倍率と信号データに記録されている数値の積が、センサーが計測した物理量(有限値)となるような定数」を意味する。換算定数は例えば固定小数点、浮動小数点などいくつかの表し方があるが、いずれの表し方を用いる場合でも、整数又は有限の少数、すなわち有理数で表されることが必要である。
信号データは、0又は1の数列からなるバイナリデータであるが、テキスト形式で表すことは可能である。一方、換算定数は、A/D変換器の設定条件で決まる固有の数値である。そのため、「テキスト形式で表された信号データ」と「換算定数」とを用いることで、センサーが取得した物理量を計算することが可能となる。
A/D変換器で取得したオリジナルデータに対して、「信号データ」と「任意のデータ」とを合わせたデータ(すなわち、ハッシュ値以外の全データ)を計算対象としてハッシュ値を計算する。
次に、そのハッシュ値を秘密鍵又は公開鍵で暗号化する。
次に、「任意のデータ」と「ハッシュ値」とをノイズエリアに上書きする。
次に、そのハッシュ値を秘密鍵又は公開鍵で暗号化する。
次に、「任意のデータ」と「ハッシュ値」とをノイズエリアに上書きする。
この場合、デジタルデータが伝送された後、受け取ったデータの改ざんがないかどうか確かめる場合、「秘密鍵又は公開鍵で暗号化されたハッシュ値」と、データ記録装置側で用いたハッシュ関数と同一のハッシュ関数を用いて計算されたハッシュ値を(秘密鍵とのペアとして生成された)公開鍵で暗号化したハッシュ値とを比較し、一致すれば改ざんはなかったと判定し、不一致であれば改ざんされていると判定する点は、上記(任意のデータを含まない場合)と同様である。
ハッシュ関数と公開鍵は、データを利用するユーザー(すなわち、データの改ざんを確認する側)に予め配布しておくことが必要であるが、ハッシュ関数や公開鍵だけでは復号化ができないため、秘密鍵又は公開鍵で暗号化される前のハッシュ値(オリジナル・ハッシュ)を知ることができない。よって、秘密鍵又は公開鍵で暗号化されたハッシュ値と、公開鍵で暗号化されたハッシュ値とを比較することで、容易にデータの改ざんを確認することができる。
秘匿性が要求されないデータであれば、オリジナルデータからノイズデータを除去し、そこにハッシュ値(及び必要により任意のデータ)をノイズエリアに記録したデジタルデータをテキストデータとし、そのデータ(場合により圧縮データ)を送信する一方で、そのデータを利用するユーザー側で改ざんの有無を確認することが可能となる。
この場合、データの改ざんがないことを保証したうえで、A/D変換器から出力されるバイナリデータを扱うよりもはるかに自由度の高い方法でのデータの取扱いが可能となる。
本発明によると、ノイズとして利用されないデータ領域であるノイズエリアにハッシュ値が含まれることになるため、オリジナルデータに改ざんが加えられていないことを容易に確認することができる。また、ハッシュ値を表すために必要とされるビット数は小さいため、ハッシュ値以外の情報を埋め込むこともできる。その場合、信号として活用される上位ビットのデジタルデータだけでなく、非データエリアに埋め込まれたハッシュ値以外の情報をも含めて、改ざんが加えられていないことを確認できる。
以下、図面を参照して本発明の各実施形態について説明する。各実施形態の記載は本発明の技術的思想を理解するために合目的的に解釈され、実施形態の記載に限定解釈されるべきものではない。
以下、第1の実施形態では、本願発明の基本的な考え方、課題の解決原理について説明し、第2の実施形態では、より実用的な使用方法について説明する。
(第1の実施形態)-基本的な考え方-
センサーが取得したアナログ信号を変換した直後のデジタルデータ(オリジナルデータ)は、信号だけでなく、ノイズとして無視されるデータを含んでいる。このデジタルデータを利用する場合、ノイズデータは無視される。
センサーが取得したアナログ信号を変換した直後のデジタルデータ(オリジナルデータ)は、信号だけでなく、ノイズとして無視されるデータを含んでいる。このデジタルデータを利用する場合、ノイズデータは無視される。
本実施形態は、無視されるノイズデータを「意味のあるデータ」で置き換えることにより、そのデータを活用した新たな手法を提案するものである。
はじめに、本発明が前提とするデータ記録装置について説明する。
図5に示すように、データ記録装置(データロガー)1は、センサー10、A/D変換器12及びプロセッサ14を含む。センサー10は測定対象である物理量に応じたものでよく、測定対象となる物理量の変化を例えば電圧の変化などに変換してA/D変換器に送るものであれば、あらゆるセンサーが含まれる。
図5に示すように、データ記録装置(データロガー)1は、センサー10、A/D変換器12及びプロセッサ14を含む。センサー10は測定対象である物理量に応じたものでよく、測定対象となる物理量の変化を例えば電圧の変化などに変換してA/D変換器に送るものであれば、あらゆるセンサーが含まれる。
A/D変換器12はアナログデータをデジタルデータに変換するための装置である。サンプリング周波数やビット数などにより性能は変わるが、特定のA/D変換器に制限されない。プロセッサ14は、データ記録装置の制御や数値計算などを行うための装置であり、4ビット或いは8ビットのマイコンから近年の汎用コンピュータやサーバーなどに搭載される64ビットの高性能なプロセッサまで様々な種類のものが該当する。プロセッサ14のビット数やクロック周波数は後述するハッシュ値の計算速度やハッシュ値の暗号化速度などに影響するが、特定のプロセッサに限定されない。その他、メモリー16やハードディスクその他の記録媒体18、通信インターフェース20など、必要なハードウェア構成が含まれていてもよい。
ただし、データ記録装置は一体の装置である必要は無く、センサー部と、センサー部以外のデータ処理部(プロセッサ、A/D変換器等)が分離している場合を含み、また、A/D変換器とプロセッサが一体となっている場合を含む。
図1(A)は、A/D変換器から出力されるオリジナルデータのデータ構成を時系列で並べた概念図である。この図に示すように、時刻t=0におけるオリジナルデータは、上位ビットに信号データS0が、下位ビットにノイズデータN0が含まれ、時刻t=1におけるオリジナルデータは、上位ビットに信号データS1が、下位ビットにノイズデータN1が含まれることを示している。A/D変換器のサンプリングレートやビット数によりデータ量は異なるが、例えば、サンプリングレートが100msec、S/N比が120dB、ビット数が24ビットのデジタルデータであれば、100msecごとに24ビットのデータがA/D変換器から出力されることになる。
オリジナルデータに含まれる信号データに対する信頼性を保証するため、信号データを計算対象としてハッシュ値を計算する。ハッシュ値の計算に際しては、予めハッシュテーブルを作成しておいてもよいし、公知のハッシュ関数を用いることもできる。例えば、チェックサムでもよいしCRC16、MD5、SHA1、SHA2、SHA3などでもよい。ハッシュ値のビット数はハッシュ関数による。例えば、Sha2は128ビット、MD5は64ビット、CRCは16ビットとなる。SHA2の場合、128ビットの暗号であるからとりうるハッシュ値は340×10の28乗分の1の確率となり非常に強力である。
このようにして計算されたハッシュ値を、ノイズエリアに保存する。しかし、計算されたハッシュ値をそのまま埋め込むと、ハッシュ値だけが改ざんされてしまう可能性が排除できない。そこで、既知の方法により予め公開鍵と秘密鍵のペアを準備しておき、秘密鍵でハッシュ値を暗号化し、暗号化されたハッシュ値を、ノイズエリアに上書き保存する。
但し、「ハッシュ値だけが改ざん」されてしまう可能性を無視する設計とする場合は、(その他の実施形態)において後述するとおり、秘密鍵ではなく公開鍵で暗号化されたハッシュ値をノイズエリアに上書き保存してもよい。これは、第2の実施形態についても当てはまる。
図1(B)は、図1(A)におけるノイズデータが記録されている下位ビットに暗号化済みのハッシュ値を書き込んだことを示す概念図である。この図に示すように、信号データS0に対する暗号化されたハッシュ値H0を、ノイズエリアであるノイズエリアに上書きする。同様に、信号データS1に対する暗号化されたハッシュ値H1を、ノイズエリアに書き込み(上書き)する。
-ハッシュ付きデータ生成方法-
図2は、データ記録装置側の処理フローを示すハッシュ付きデータ生成のためのフローチャートである。
はじめに、準備段階として、公開鍵と秘密鍵のペア(鍵ペア)を準備する(ステップSa0)。プロセッサの処理能力が低い場合は、別のプロセッサで予め鍵ペアを準備しておいてもよい。
図2は、データ記録装置側の処理フローを示すハッシュ付きデータ生成のためのフローチャートである。
はじめに、準備段階として、公開鍵と秘密鍵のペア(鍵ペア)を準備する(ステップSa0)。プロセッサの処理能力が低い場合は、別のプロセッサで予め鍵ペアを準備しておいてもよい。
そして、センサーが取得したアナログ信号を前記A/D変換器で信号データとノイズデータとで構成されるデジタルデータを生成する(ステップSa1)。このデジタルデータは、図1(A)で説明したように、信号データとノイズデータを含む全データが含まれている。
次に、プロセッサによりハッシュ関数を用いて信号データに対するハッシュ値を計算する(ステップSa2)。
次に、得られたハッシュ値をステップSa0で準備した秘密鍵で暗号化する(ステップSa3)。
次に、得られたハッシュ値をステップSa0で準備した秘密鍵で暗号化する(ステップSa3)。
次に、ステップSa3で暗号化されたハッシュ値をノイズデータが記録されていたノイズエリアに書き込みする(ステップSa4)。この書き込みステップSa4は、予めハッシュエリアにゼロを上書き(ゼロクリア)してから暗号化されたハッシュ値を書き込む。なお、ゼロクリアするのは、ノイズエリアにはノイズデータの数値が含まれているためである。上書きするのはゼロが通常であるため、以下ゼロを上書きする場合を説明するが、既知の値であればよいことは言うまでも無い。
その後、必要に応じて生成されたハッシュ付きデータは記録媒体などに記録(送信)される(ステップSa5)。
-改ざんチェック方法-
次に、ハッシュ付きデータを受け取った側の動作について説明する。
図3は、ハッシュ付きデータを受け取ったユーザー側において改ざんの有無を判定するステップを示すフローチャートである。
はじめに、前提条件として、ハッシュ付きデータを受け取ったところからスタートする(ステップSb0)。
改ざんのチェックを行う最初のステップは、ユーザー側において、ハッシュ付きデータにおけるハッシュエリア(このハッシュ部分には、秘密鍵で暗号化されたハッシュ値が含まれている)以外の部分を計算対象として、ハッシュ値を計算する(ステップSb1)。なお、この計算ステップで使用されるハッシュ関数はハッシュ付きデータを生成する際に使用されたものと同一のものを用いる。
次に、ステップSb1で計算したハッシュ値を公開鍵で暗号化する(ステップSb2)。
次に、受け取ったデータのハッシュ値(秘密鍵で暗号化されているハッシュ値)と、ステップSb2で暗号化したハッシュ値とを比較する(ステップSb3)。
最後に判定する(ステップSb4)。
具体的には、例えば、ハッシュ値の差を計算してゼロであれば一致していると判断されるため、改ざんなしと判定し、ハッシュ値の差がゼロでなければ不一致であると判断されるため、改ざんありと判定する。
なお、ステップSb1とステップSb2の順序はいずれが先でもよい。
次に、ハッシュ付きデータを受け取った側の動作について説明する。
図3は、ハッシュ付きデータを受け取ったユーザー側において改ざんの有無を判定するステップを示すフローチャートである。
はじめに、前提条件として、ハッシュ付きデータを受け取ったところからスタートする(ステップSb0)。
改ざんのチェックを行う最初のステップは、ユーザー側において、ハッシュ付きデータにおけるハッシュエリア(このハッシュ部分には、秘密鍵で暗号化されたハッシュ値が含まれている)以外の部分を計算対象として、ハッシュ値を計算する(ステップSb1)。なお、この計算ステップで使用されるハッシュ関数はハッシュ付きデータを生成する際に使用されたものと同一のものを用いる。
次に、ステップSb1で計算したハッシュ値を公開鍵で暗号化する(ステップSb2)。
次に、受け取ったデータのハッシュ値(秘密鍵で暗号化されているハッシュ値)と、ステップSb2で暗号化したハッシュ値とを比較する(ステップSb3)。
最後に判定する(ステップSb4)。
具体的には、例えば、ハッシュ値の差を計算してゼロであれば一致していると判断されるため、改ざんなしと判定し、ハッシュ値の差がゼロでなければ不一致であると判断されるため、改ざんありと判定する。
なお、ステップSb1とステップSb2の順序はいずれが先でもよい。
以上のようにすれば、センサーが取得したデジタルデータである、オリジナルデータのうち、ノイズエリアという、データ領域を占有するにもかかわらず、実際には使用されないデータ領域(非データエリア)にハッシュ値という目印が付与されることになるため、改ざんがあったか否かを容易に判定できるようになる。しかも、オリジナルデータのうちデータとして有効活用される信号エリアには何ら情報を書き込むことはないため、オリジナルデータの一部にハッシュ値やその他追加的な情報を埋め込んでも、実質的にデータを毀損しないという利点がある。
(第2の実施形態)
第1の実施形態では、1サンプルごとにハッシュ値を埋め込んだ例を示した。この方法は、サンプリング周波数が高いほど、或いは、プロセッサの処理速度が遅いほど、ハッシュ値の計算やハッシュ値の暗号化処理に要する時間の遅延を生じる可能性がある。また、A/D変換器のビット数が小さい場合や、S/N比が高い場合など、ノイズエリアのビット数が十分に確保できない場合、ハッシュ関数を簡単なものにしなければならない。そこで、1サンプルごとにハッシュ値を埋め込むのではなく、ある一定の時間を単位時間として区切る方法について説明する。
第1の実施形態では、1サンプルごとにハッシュ値を埋め込んだ例を示した。この方法は、サンプリング周波数が高いほど、或いは、プロセッサの処理速度が遅いほど、ハッシュ値の計算やハッシュ値の暗号化処理に要する時間の遅延を生じる可能性がある。また、A/D変換器のビット数が小さい場合や、S/N比が高い場合など、ノイズエリアのビット数が十分に確保できない場合、ハッシュ関数を簡単なものにしなければならない。そこで、1サンプルごとにハッシュ値を埋め込むのではなく、ある一定の時間を単位時間として区切る方法について説明する。
例えば、ノイズエリアが4ビットでサンプリングレートが100サンプル/secのリアルタイムデータである場合、1秒間あたり4ビット×100(400ビット/sec相当)のデータ量を記録することができる計算となる。この場合、CRC16の16ビットでハッシュ値を求めると、ハッシュ値は2の16乗(約65,000)通りあることになり、1/216の確立で同じハッシュ値を持つデータが存在することになる。
図4は、単位時間に生成されるオリジナルデータを「信号エリア」と、「ノイズエリア」に区分した様子を示す概念図である。複数サンプル分のデータを集めたことにより、ノイズエリアの余った領域に、より多くの「追加的な情報」を埋め込むこが可能になる。ここで、「追加的な情報」とは、例えばデジタルデータの特定に役立つ情報、望ましくはデータの信頼性を高める「ハッシュ値以外のデータ」である。
「ハッシュ値以外のデータ」には、例えば、オリジナルデータの取得日時などを示すタイムスタンプ、オリジナルデータに対する識別ID、ハッシュ関数を示すコード、公開鍵、オリジナルデータへの換算定数(以下、単に「換算定数」という。)など、保存可能な範囲で任意のデータを含むことができる。
ここで、「換算定数」とは、信号データとセンサーの計測対象である物理量との換算倍率を表す数値、すなわち、「換算倍率と信号データに記録されている数値の積が、センサーが計測した物理量(有限値)となるような定数」を意味する。
例えば、デジタルデータ1ビットが、0.05Vという物理量を表す場合、換算定数は0.05となる。
ノイズエリアの一部に換算定数を埋め込む場合、固定小数点、浮動小数点など、いくつかの表し方があるが、いずれの表し方を用いる場合でも、整数又は有限の少数、すなわち有理数で表されることが必要である。循環小数(0.123123123・・・)や無限小数(0.03333・・・)は、用いてはならない。
この理由について、以下、別の例を用いて説明する。いま、A/D変換器が取得したデータに対応する物理量が3.333Vであり、A/D変換後の有効数字を考慮した信号データ(ノイズとして無視されるべき下位ビットを無視したデータ)の値が10(16進数ではAと表記される)であったとする。この場合の換算定数を、0.3333と定義して、対応する物理量が、デジタルデータと換算定数の積(10×0.3333)で計算されると定義すれば、ノイズを省いたデジタルデータが必ずテキストデータ(3.333)で表現できることになる。同時に、テキストデータ(3.333)と換算定数(0.03333)が得られれば、そこからデジタルデータ(10)の値を計算することが可能となる。
これに対して、デジタルデータの値を換算定数で除算して求めることも理論的には可能であるが、その方法は、デジタルデータとテキストデータとの対応関係が崩れるため、許されない。有効数字を考慮したデジタルデータの値が10である上記の場合を例にとると、対応する物理量は、デジタルデータの値10を換算定数3で除した値となるから、3.333333・・・・のような無限小数で表される。その場合、テキストデータで表すには、ある有限位で切り捨てるか、四捨五入等するか、すなわち「丸め」が必要となり、厳密な対応関係が崩れることになる。(例えば、3.333に換算定数3を乗算すると9.999となり、デジタルデータの値である10と相違する。)
この意味において、「物理量」の値が、「信号エリアに記録された信号データ」と「換算定数」の積で表現されることにより、「除算した結果として表現されないこと」は、極めて重要であるといえる。以下、換算定数の使用方法について、更に詳細に説明する。
信号エリアに記録される「信号データ」は、0又は1の数列からなるバイナリデータ(上述の例では20ビットのゼロ/イチの数列)と対応づけられる。このバイナリデータの数列を読み出してテキストデータに変換することは可能である。必要に応じて、16進数表記など、より扱いやすい形式に変換することもできる。一方、換算定数は、A/D変換器の設定条件で決まる固有の数値である。そのため、「テキスト形式で表された信号データ」と「換算定数」とを用いることで、センサーが取得した物理量を計算することが可能となる。
A/D変換器により生成されたデジタルデータは様々なデータ形式(フォーマット)で記録されるが、多くの場合、テキストデータでないため、その場合、その内容を読み出すためにはすでにオペレーティングシステムが対応しているか、若しくはそのデータ形式を読み出すためのプログラムを起動させることなどが必要となり、この意味において、汎用性が高いとは言えない。しかし、オリジナルデータに含まれる信号データをテキスト形式などで表した上で、換算定数及びその他の任意情報と、暗号化されたハッシュ値と共に、テキスト形式或いは表計算ソフトのデータ形式で、ユーザーに配布することが可能となる。
ユーザー側では、テキストデータと換算定数からバイナリデータを復元することができる。そして、バイナリデータが復元できればハッシュ値を計算することができ、オリジナルデータの秘密鍵で暗号化されたハッシュ値と、ユーザー側において計算したハッシュ値を公開鍵で暗号化したハッシュ値とを比較して改ざんの有無を検証することができる。これらのステップは、以下のように説明される。
受け取ったデータのうち、「ハッシュエリア以外」を計算対象として、ハッシュ値を計算する(ステップSb1)。次に、ステップSb1で計算したハッシュ値を公開鍵で暗号化する(ステップSb2)。そして、ハッシュエリアに書き込まれたオリジナルハッシュ(秘密鍵で暗号化されたハッシュ値)とステップSb2で計算された公開鍵で暗号化したハッシュ値とを比較する。そして、両者を比較し(ステップSb3)、一致すれば改ざんなし、不一致であれば改ざんありと判定する(ステップSb4)。
ハッシュ関数と公開鍵は、ユーザー側に予め配布しておくことが必要であるが、ハッシュ関数や公開鍵だけでは(すなわち、秘密鍵がなければ)、暗号化済みハッシュ値の復号ができないため、ユーザー側への配布手段に際して特に気をつかうことはなく、暗号化したりバーチャル・プライベート・ネットワーク経由で送付したりすることは必須ではない。
このようにすれば、「ハッシュ付きデータ」でありながらテキストデータで配布でき、しかも、改ざんの有無をチェックすることが可能となる。
上述の説明では、もっとも取り扱いが容易な可逆変換データである「テキストデータ」を例に説明したが、逆変換可能なあらゆるデータフォーマットでの利用が可能である。また、データ処理を行う側の既存システムは一切追加・変更の必要がないため、運用に対して全く影響しない。すなわち、本実施形態で説明したデータにハッシュ値を埋め込む方式を既存のシステムに採用することで生じるデメリットはなく、運用コストも一切増加することなく、データの信頼性を任意の暗号強度で得ることが可能となる。
また、ハッシュ値の比較(秘密鍵で暗号化されたオリジナルハッシュと、ユーザー側で計算したハッシュ値を公開鍵で暗号化したハッシュ値との比較)を行う際には、テキストデータなどの可逆変換データに変換したデータ同士を比較してもよい。
また、ハッシュ値の比較(秘密鍵で暗号化されたオリジナルハッシュと、ユーザー側で計算したハッシュ値を公開鍵で暗号化したハッシュ値との比較)を行う際には、テキストデータなどの可逆変換データに変換したデータ同士を比較してもよい。
(その他の実施形態)
なお、A/D変換器の出力データにデジタル署名を付与する方法を前提として、ノイズを含むデジタルデータにおける「ノイズエリア」に、秘密鍵で暗号化されたハッシュ値(すなわちデジタル署名)を埋め込むと説明してきたが、他のデジタルデータであっても、すなわち、データエリアと非データエリアを有するデジタルデータであれば、非データエリアに秘密鍵で暗号化されたハッシュ値や、必要によりその他の追加的な情報(例えば、識別IDや換算定数等)を埋め込むことができる。
なお、A/D変換器の出力データにデジタル署名を付与する方法を前提として、ノイズを含むデジタルデータにおける「ノイズエリア」に、秘密鍵で暗号化されたハッシュ値(すなわちデジタル署名)を埋め込むと説明してきたが、他のデジタルデータであっても、すなわち、データエリアと非データエリアを有するデジタルデータであれば、非データエリアに秘密鍵で暗号化されたハッシュ値や、必要によりその他の追加的な情報(例えば、識別IDや換算定数等)を埋め込むことができる。
さらに、上述の実施形態では、いずれもA/D変換器側の暗号鍵に「秘密鍵」を用いる前提で説明をしてきたが、本発明ではそもそも復号処理が必要ない為、A/D変換器に内包する暗号鍵を秘密鍵の代わりに公開鍵に置き換えて、秘密鍵を用いない形態を取ることもできる。この場合、ステップSa0で準備された秘密鍵は、「公開鍵の生成」のためだけに用い、それ以降のステップで用いる暗号鍵を全て公開鍵に置き換えることができる。このようにすると、データ記録装置側に秘密鍵を保持する必要がなくなる。
このような実施形態の変形もまた、本発明の技術的思想の範囲内である。
このような実施形態の変形もまた、本発明の技術的思想の範囲内である。
上記第1及び第2の実施形態で説明したとおり、本発明における「ハッシュ付きデータ」は、テキストデータやハッシュ値が従来ノイズとして利用されなかった非データエリアに埋め込まれものであるため、データを毀損しないので、従来のシステムをそのまま利用することができる。
Claims (9)
- プロセッサ及びA/D変換器を備えたデータ記録装置において、
公開鍵と秘密鍵のペアを準備するステップと、
センサーで取得されたアナログ信号を前記A/D変換器で信号データとノイズデータとで構成されるデジタルデータを生成するステップSa1と、
前記プロセッサによりハッシュ関数を用いて前記信号データに対するハッシュ値を計算するステップSa2と、
前記ハッシュ値を前記秘密鍵又は公開鍵のいずれかで暗号化するステップSa3と、
前記暗号化されたハッシュ値を前記ノイズデータが記録されていたノイズエリアに書き込みするステップSa4と、
を含む、ハッシュ付きデータの生成方法。 - 前記ノイズエリアの一部に、「ハッシュ値以外のデータ」を含む請求項1記載のハッシュ付きデータの生成方法。
- 前記A/D変換器から出力されるデジタルデータのうち、複数サンプル分のデータをまとめて1つのデータ単位とする請求項1又は請求項2記載のハッシュ付きデータの生成方法。
- 前記「ハッシュ値以外のデータ」には、換算定数を含む請求項1乃至請求項3のいずれか1項記載のハッシュ付きデータの生成方法。
- 前記「ハッシュ値以外のデータ」には、タイムスタンプ、識別ID、ハッシュ関数を示すコード、公開鍵の少なくともいずれか1つを更に含む請求項4記載のハッシュ付きデータの生成方法。
- データエリアと、非データエリアを含み、
前記非データエリアの一部に秘密鍵で暗号化されたハッシュ値を含むデジタルデータ。 - 前記非データエリアにおける他の部分に任意情報を含むデジタルデータ。
- 前記非データエリアはノイズエリアである請求項6又は請求項7記載のデジタルデータ。
- 信号データを取得するセンサーと、前記センサーが取得したアナログデータをデジタルデータに変換するA/D変換器と、プロセッサとを含むデータ記録装置であって、
前記プロセッサに、
ハッシュ関数を用いて前記信号データに対するハッシュ値を計算するステップSa2と、
前記ハッシュ値を前記秘密鍵又は公開鍵のいずれかで暗号化するステップSa3と、
前記暗号化されたハッシュ値を前記ノイズデータが記録されていたノイズエリアに上書きするステップSa4と、
を実行させることを特徴とするデータ記録装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019549609A JP6695584B2 (ja) | 2018-03-26 | 2019-03-25 | プロセッサ及びa/d変換器を備えたデータ記録装置から送信されたデータの改ざんチェック方法及びその方法を実行するためのデータ記録装置 |
US16/866,386 US11205007B2 (en) | 2018-03-26 | 2020-05-04 | Method for executing falsification check of data transmitted from data recording device including processor and A/D converter, and data recording device for performing the method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018058194 | 2018-03-26 | ||
JP2018-058194 | 2018-03-26 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/866,386 Continuation-In-Part US11205007B2 (en) | 2018-03-26 | 2020-05-04 | Method for executing falsification check of data transmitted from data recording device including processor and A/D converter, and data recording device for performing the method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019189019A1 true WO2019189019A1 (ja) | 2019-10-03 |
Family
ID=68058301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/012577 WO2019189019A1 (ja) | 2018-03-26 | 2019-03-25 | ハッシュ付きデータ及びその生成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11205007B2 (ja) |
JP (1) | JP6695584B2 (ja) |
TW (1) | TWI808145B (ja) |
WO (1) | WO2019189019A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05277090A (ja) * | 1992-03-31 | 1993-10-26 | Hitachi Ltd | 核磁気共鳴データ保存方法 |
US20070106424A1 (en) * | 2005-11-10 | 2007-05-10 | Yoo Dong-Hyun | Record media written with data structure for recognizing a user and method for recognizing a user |
JP2009140609A (ja) * | 2007-12-04 | 2009-06-25 | Korea Electronics Telecommun | 偽変造防止のためのデジタル録音装置 |
JP2013065969A (ja) * | 2011-09-15 | 2013-04-11 | Canon Inc | A/d変換器および固体撮像装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043641B1 (en) * | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
CN1698307A (zh) * | 2003-04-11 | 2005-11-16 | 索尼株式会社 | 信息记录介质驱动装置 |
KR20070018615A (ko) * | 2005-08-10 | 2007-02-14 | 삼성전자주식회사 | 더블 데크 광디스크 시스템 및 그 제어방법 |
JP6605406B2 (ja) | 2016-06-30 | 2019-11-13 | 横河レンタ・リース株式会社 | データ管理装置、データ管理方法、及びデータ管理プログラム |
-
2019
- 2019-03-25 JP JP2019549609A patent/JP6695584B2/ja active Active
- 2019-03-25 WO PCT/JP2019/012577 patent/WO2019189019A1/ja active Application Filing
- 2019-03-26 TW TW108110482A patent/TWI808145B/zh active
-
2020
- 2020-05-04 US US16/866,386 patent/US11205007B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05277090A (ja) * | 1992-03-31 | 1993-10-26 | Hitachi Ltd | 核磁気共鳴データ保存方法 |
US20070106424A1 (en) * | 2005-11-10 | 2007-05-10 | Yoo Dong-Hyun | Record media written with data structure for recognizing a user and method for recognizing a user |
JP2009140609A (ja) * | 2007-12-04 | 2009-06-25 | Korea Electronics Telecommun | 偽変造防止のためのデジタル録音装置 |
JP2013065969A (ja) * | 2011-09-15 | 2013-04-11 | Canon Inc | A/d変換器および固体撮像装置 |
Also Published As
Publication number | Publication date |
---|---|
TW201941562A (zh) | 2019-10-16 |
US20200265148A1 (en) | 2020-08-20 |
TWI808145B (zh) | 2023-07-11 |
JPWO2019189019A1 (ja) | 2020-04-30 |
US11205007B2 (en) | 2021-12-21 |
JP6695584B2 (ja) | 2020-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101178919B (zh) | 用于经由询问-响应协议的加密带访问控制的系统和方法 | |
US8392713B2 (en) | Secure offline activation process for licensed software application programs | |
US7873828B2 (en) | Method and apparatus for encrypting and decrypting data to/from an ESCON tape system | |
JP2006135465A (ja) | 文書管理装置、および文書管理方法、並びにコンピュータ・プログラム | |
JP2007065253A (ja) | 文字コード暗号処理プログラム、および文字コード暗号処理方法 | |
JPWO2009075353A1 (ja) | 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム | |
Chen et al. | Auditable Version Control Systems. | |
CN113656825B (zh) | 文本水印嵌入方法、文本篡改检测方法、装置和电子设备 | |
WO2006046285A1 (ja) | 時刻証明サーバ、端末装置及び時刻証明方法 | |
CN108337208B (zh) | 基于云存储的数据保护方法、替换装置以及云存储系统 | |
WO2019189019A1 (ja) | ハッシュ付きデータ及びその生成方法 | |
JP4196770B2 (ja) | データ処理方法、データ検査方法 | |
CN111970237B (zh) | 一种基于水深测量数据的加密解密方法、系统及介质 | |
TWI707573B (zh) | 資料上鏈裝置、資料驗證裝置及資料驗證方法 | |
JP6903609B2 (ja) | センサシステム、データ収集装置及びデータ収集方法 | |
CN113557690B (zh) | 数据管理装置、数据管理系统、数据管理方法及计算机可读取的记录介质 | |
US20200213095A1 (en) | Method and device for the computer aided processing of a random bit pattern | |
JP2002229451A (ja) | データ作成日時保証システム、データ作成日時保証方法、及びデータ作成日時保証プログラム | |
JP2003315109A (ja) | デジタル計測機器およびデジタル計測機器を用いた計測方法 | |
JP2007096413A (ja) | パケット記録支援装置、パケット記録支援方法、及びパケット記録支援プログラム | |
JP4104488B2 (ja) | 暗号鍵保管装置、およびそのプログラムとそのプログラムを記録した記録媒体 | |
JP7355263B1 (ja) | 品質保証システム及び品質保証方法 | |
Jang et al. | A study on block-based recovery of damaged digital forensic evidence image | |
JP2018182398A (ja) | 情報処理装置、機器、機器管理システム及び情報処理方法 | |
JP6998803B2 (ja) | 送信装置、受信装置、送信方法、受信方法、送信プログラム及び受信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2019549609 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19777644 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19777644 Country of ref document: EP Kind code of ref document: A1 |