WO2006062166A1 - 電子データ検証装置 - Google Patents

電子データ検証装置 Download PDF

Info

Publication number
WO2006062166A1
WO2006062166A1 PCT/JP2005/022571 JP2005022571W WO2006062166A1 WO 2006062166 A1 WO2006062166 A1 WO 2006062166A1 JP 2005022571 W JP2005022571 W JP 2005022571W WO 2006062166 A1 WO2006062166 A1 WO 2006062166A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic data
rewriting
verification
data
rewrite
Prior art date
Application number
PCT/JP2005/022571
Other languages
English (en)
French (fr)
Inventor
Kazunori Inoue
Ken Naka
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Publication of WO2006062166A1 publication Critical patent/WO2006062166A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Definitions

  • the present invention relates to an apparatus and method for verifying the authenticity of electronic data, program code, and the like moving through a network or the like.
  • FIG. 27 is a configuration diagram showing a conventional apparatus for verifying authenticity.
  • the sender 1 of the electronic data is an electronic signature generated by using a digital certificate 7 by a trusted third party CA (Certificate Authority), an electronic signature means 3 and a sender private key 8. Two of the names were used to guarantee the authenticity of electronic data9.
  • 4 is a means for creating additional data that Sender 1 adds to the original data.
  • the signature of Sender 1, the original data, and Sender Identification Information 5 are provided by the CA.
  • the signature is given.
  • the sender identification information 5 includes a sender public key 6.
  • Recipient 2 verifies the authenticity of the additional data, the original data, and the sender from the two electronic signatures included in the received electronic data using electronic signature authenticator 10.
  • Patent Document 1 Japanese Patent Laid-Open No. 2001-236333 (Page 2-4, Fig. 3) Disclosure of the invention
  • the sender needs to re-sign the entire data, and the receiver The authenticity of the original data will not be guaranteed by a third party.
  • the present invention solves the above-described conventional problems, and enables a sender to sparsely embed data in electronic data whose contents are guaranteed by a reliable third party. It is an object of the present invention to provide an apparatus and a method in which a recipient who does not give a new signature to electronic data can verify the authenticity of the electronic data using a trusted third party signature.
  • the electronic data verification device of the present invention includes electronic data after rewriting, electronic data holding means for holding an error correction code for the electronic data before rewriting, and the error correction code. Based on the electronic data restoring means for restoring the electronic data after rewriting, the electronic data restored by the electronic data restoring means is collated with the electronic data before rewriting, and the collated result is used for the electronic data after restoration. A post-restoration electronic data verification means for checking the validity of the data.
  • the post-restore electronic data verification means can verify the authenticity of the post-rewrite electronic data based on the pre-rewrite electronic data.
  • the electronic data verification apparatus of the present invention further includes verification signature holding means for holding an electronic signature of the electronic data before rewriting, and the electronic data verification means after restoration has an electronic signature held by the verification signature holding means. Compares the data derived by the decryption operation with the data derived from the pre-restored electronic data by the hash operation, and checks whether the result of the comparison meets a predetermined condition. .
  • the verification signature holding means can verify the authenticity of the electronic data after rewriting based on the signature of the electronic data before rewriting.
  • the electronic data verification apparatus of the present invention further includes a verification signature holding unit that holds an electronic signature of the electronic data before rewriting, and the post-restoration electronic data verification unit holds the electronic signature held by the verification signature holding unit. Compares the data derived by the decryption operation and the data derived from the restored electronic data by the hash operation, and checks whether the result of the comparison matches a predetermined condition. .
  • the electronic data verification device of the present invention is an electronic data reconstructing unit that determines that the electronic data after rewriting is invalid when it detects the presence of an uncorrectable error in the electronic data after rewriting.
  • Data rewriting verification means is provided.
  • the electronic data verification device of the present invention further includes electronic data rewrite rule holding means for holding electronic data rewrite rules, and correction of data performed by the electronic data restoration means is performed in the electronic data rewrite rule holding means.
  • An electronic data rewrite verification means is provided for checking whether the stored rewrite rules are met or not, and determining that the electronic data after rewrite is invalid if it does not match.
  • the electronic data rewriting rule holding means enables flexible settings such as tightening or relaxing rewrite restriction rules.
  • the electronic data creation device of the present invention includes an electronic data rewrite rule holding unit that holds a rewrite rule based on an error correction code for electronic data before rewriting, and the electronic data rewrite rule holding unit holds Electronic data rewriting means is provided for rewriting electronic data according to the rewriting rules.
  • the electronic data rewriting means By the electronic data rewriting means, the rewritten electronic data without generating a new signature related to the rewritten contents can be provided to the outside as a legitimate one.
  • the electronic data creation device of the present invention uses a rewrite rule as a condition that matches or satisfies the correctable condition of the error correction code for the electronic data before rewriting.
  • a more flexible rewriting rule can be set on the basis of the conditions that can correct the error correcting code.
  • the electronic data verification method of the present invention is executed by the electronic data verification apparatus, and reads the electronic data after rewriting from the memory, and reads the error correction code for the electronic data before rewriting from the memory.
  • the electronic data creation method of the present invention is executed by an electronic data creation device, and reads a rewrite rule based on an error correction code for the electronic data before rewrite from the memory, and according to the rewrite rule, the electronic data It also becomes a step force to rewrite.
  • an electronic data creation method can be realized in which rewritten electronic data without a new signature generation or the like relating to the rewritten content is provided to the outside as a legitimate one.
  • the integrated circuit of the present invention includes an interface unit for externally inputting error correction code data for the electronic data after rewriting and the electronic data before rewriting, and the electronic data after rewriting and the error code data. Based on the error correction code, an electronic data restoration processing unit that restores electronic data after rewriting, and electronic data restored by the electronic data restoration processing unit are converted into electronic data before rewriting.
  • the post-restoration electronic data verification processing unit can realize an integrated circuit that verifies the authenticity of post-rewrite electronic data based on the pre-rewrite electronic data.
  • another integrated circuit of the present invention includes: a memory unit that holds rewrite rules based on pre-rewrite electronic data and an error correction code for the pre-rewrite electronic data; and the pre-rewrite electronic data according to the rewrite rules
  • An electronic data rewrite processing unit that creates electronic data after rewriting and an interface unit that outputs the electronic data after rewriting to the outside
  • the electronic data rewrite processing unit can embody an integrated circuit that provides the rewritten electronic data as a valid one without generating a new signature related to the rewritten content.
  • the data distributing side when original data is embedded in original data and distributed to another party, the data distributing side (recipient) must use the signature of the distributing side (sender). Nagu The distributed data is correct by the signature of the trusted third party who created the original data.
  • V according to the original, can be verified that it was created under the rewrite rules. Therefore, the receiver can directly receive a reliable third party guarantee regarding the received data.
  • the sender does not need to add or reattach a signature
  • the distribution data can be created in a short time in a device with low processing capability.
  • distribution data This eliminates the need to manage signature generators and signature generation keys to guarantee signatures, thus reducing the cost of regenerating signatures.
  • FIG. 6 Operation flow diagram of electronic data verification means after restoration in Embodiment 1
  • FIG. 8 Operation flow diagram of electronic data verification means after restoration in the second embodiment
  • FIG. 9 Operation flow diagram of electronic data verification means after restoration in the third embodiment
  • FIG. 11 is an operation flow diagram of electronic data rewriting verification means in the fourth embodiment.
  • FIG. 16 is a configuration diagram of an electronic data verification device in the fifth embodiment.
  • FIG.18 Diagram showing an example of electronic data rewriting rules
  • FIG. 19 is a configuration diagram of an electronic data creation device according to Embodiments 6 and 7.
  • FIG. 20 shows an example of electronic data rewriting rules in the sixth embodiment.
  • FIG. 23 is a flowchart showing the procedure of the electronic data verification method in the first embodiment.
  • FIG. 24 is a flowchart showing the procedure of the electronic data creation method in the sixth embodiment.
  • FIG. 1 is a configuration diagram of an electronic data verification apparatus according to Embodiment 1 of the present invention.
  • an electronic data verification device 101 includes an electronic data holding unit 102, an electronic data restoring unit 105, and a restored electronic data verifying unit 106.
  • the electronic data holding means 102 is a memory.
  • RAM Random Access Memory
  • EEPROM Electrically Erasable and Programmable Read Only Memory
  • flash memory rewritable nonvolatile memory
  • optical recording medium Or a magnetic recording medium.
  • the electronic data restoration means 105 and the restored electronic data verification means 106 are arithmetic units that perform electronic calculation processing. It may be a dedicated computer or a general-purpose microprocessor and program code.
  • the electronic data holding means 102 holds the post-rewrite electronic data 103 and the error correction code 104 for the pre-rewrite electronic data.
  • the electronic data 103 after rewriting and the error correction code 104 for the electronic data before rewriting are:
  • FIG. 23 is a flowchart showing the operation of the electronic data verification apparatus in the first embodiment of the present invention.
  • the electronic data restoring means 105 reads the rewritten electronic data 103 stored in the electronic data holding means 102 (step 2301), and also reads the error correction code 104 for the pre-rewritten electronic data stored in the electronic data holding means 102. (Step 2302), the electronic data after rewriting is restored based on the error correction code 104 for the electronic data before rewriting (Step 2303).
  • the post-restoration electronic data verification means 106 collates the electronic data restored by the electronic data restoration means 105 with the electronic data before rewriting (step 230 4), and verifies the validity of the post-restoration electronic data using the verification result. (Step 2305).
  • FIG. 2 is an example of electronic data before rewriting.
  • a data block 201 is composed of a plurality of blocks l to m obtained by logically dividing program code and data, which are the main body of electronic data.
  • machine language code native machine language code that operates on a microprocessor, byte code that operates on a virtual machine, etc.
  • data body is used as the data body.
  • the symbol part "P0" shown in the data block 201 is a rewritable area arranged in the electronic data. In the electronic data after rewriting described later, this "P0" part is another data. Is replaced.
  • ECC (Error Collection Code) block 202 is composed of a plurality of logically divided blocks l to m, ECC1 is data block 1, ECC2 is data block 2, and so on. Up to number m, ECCi is configured to be the error correction code for data block i.
  • FIG. 3 is an example of electronic data after rewriting.
  • the data “P0” arranged in the data block of the electronic data before rewriting shown in FIG. 2 is rewritten to data “P1” “P2J and“ P3 ”.
  • the ECC block 202 uses the same error correction code as described above for the electronic data before rewriting.
  • a “(7, 4) Hamming code” that is a known technique is used.
  • the error correction code used in the present invention is not limited to the (7, 4) Hamming code, and any known error correction code can be arbitrarily applied.
  • ECC may be separated from the necessity of being located immediately after the data block. Alternatively, it may be included in the data block.
  • bit sets XI, X2, X3, X4, PI, P2, and P3 obtained in this way are all combinations, and the ming distance is 3 or more, and 1 bit out of 7 is an error (bit inversion ), It is possible to correct to a bit set with a ming distance of 1, and when 2 bits are in error, it is possible to detect the presence of an error.
  • FIG. 4 is an example of an error correction code applying the above (7, 4) Hamming code.
  • Arbitrary bit 401 in the data block is represented by the symbol Xijk with i, j and k as parameters.
  • Pij l to 3 are determined so that Equation 1, Equation 2, and Equation 3 are all zero.
  • the value can be determined according to the following logical expression.
  • Pij2 Xijl xor Xij2 xor Xij4
  • Pij3 Xijl xor Xij2 xor Xij3
  • all of the above Xijk are for electronic data before rewriting.
  • the Xijk of the electronic data after rewriting is preferably rewritten by a device or the like outside the electronic data verification device.
  • FIG. 5 is an operation flow of the electronic data restoring means.
  • block number i is repeated from 1 to the last block (step 501).
  • the processing in loop 1 is as follows.
  • Data block i and ECCi are read (step 502).
  • data block i is a data block of electronic data after rewriting, and is data held by electronic data holding means 102.
  • bit offset j is repeatedly processed from 0 to 7 (step 503).
  • the processing in loop 2 is as follows.
  • Equation 1, Equation 2, and Equation 3 are calculated (Step 504). Subsequently, it is determined whether or not the calculation result is zero for all three equations (step 505). If the determination is YES, return to step 503, increase bit offset j by 1, and continue loop 2. If the determination is NO, (7, 4) one of Xijl, Xij2, Xij3, and Xij4 is corrected (bit is inverted) based on the principle of Hamming code error correction (step 506). Then return to step 503 to increase the bit offset j by 1 and continue loop 2.
  • a maximum of 8 bits for each data block preferably a maximum of 1 continuous data byte located within the byte boundary, is restored to the same state as the electronic data before rewriting. I can do it.
  • FIG. 6 is an operation flow of the post-restoration electronic data verification means 106.
  • Data blocks 1 to final and ECC1 to final message digest of the electronic data after restoration are created, and this is set to A (step 601).
  • a message digest is obtained by performing a hash operation in a state in which electronic data is given distinctiveness and uniqueness.
  • Hash operation is a hash function (ha This is an operation using sh function), and is characterized in that the same summary can be obtained from the same electronic data.
  • the summary has a smaller data size than the original electronic data, and the probability that the same summary will be generated from different electronic data is kept low.
  • SHA-1 Secure Hash Algorithm 1
  • MD5 Message Digest 5
  • the data blocks 1 to last of the electronic data before rewriting and ECC1 to the last message digest are obtained.
  • the source is a trusted organization that is responsible for the creation or publication of pre-rewrite electronic data.
  • B be the acquired message digest (step 602).
  • step 603 A and B are compared and collation is performed (step 603). It is determined whether or not the matching result is a match (step 604). If the determination is YES, it is determined that the electronic data after rewriting is authentic (step 605). If the determination is NO, it is determined that the rewritten electronic data is invalid (step 606).
  • Embodiment 1 electronic data that has been arbitrarily rewritten under limited conditions, such as a maximum of 1 byte within a data block, is determined to be authentic or illegal by collating it with electronic data before rewriting. it can.
  • business operator A creates and distributes program code X (a variety of application examples such as authentication programs, data distribution programs, search agents, games, etc.) that runs on a computer.
  • User B receives X, embeds information unique to Operator B in program code X (creates various examples such as authentication information, distribution contents, and condition setting data), creates X ', and consumer C receives X' In the case of execution, Consumer C must confirm that the distributed program code X 'is not incorrect (examples of viruses, worms, spyware, etc.) are the companies that create and distribute the original program X. Fixed information obtained from A (in the above example, it can be verified uniformly by the message digest.
  • FIG. 7 is a configuration diagram of the electronic data verification apparatus according to the second embodiment of the present invention.
  • FIG. 7 the same components as those in FIG. 1 are denoted by the same reference numerals and description thereof is omitted.
  • an electronic data verification apparatus 701 includes a verification signature holding unit 707, and the verification signature holding unit 707 is an electronic signature of electronic data before rewriting (an electronic signature given to the electronic data before rewriting) 708 Hold.
  • the person who gives the signature is a trusted institution or the like that is responsible for the creation or publication of pre-rewrite electronic data.
  • Verification signature holding means 707 is a memory
  • electronic signature 708 of the electronic data before rewriting is electronic data.
  • the restored electronic data verification means 706 takes out the electronic signature 708 of the pre-rewrite electronic data from the verification signature holding means 707 and verifies the authenticity of the restored electronic data using this electronic signature 708.
  • FIG. 8 is an operation flow of the post-restoration electronic data verification means 706.
  • FIG. 8 the same components as those in FIG. 6 are denoted by the same reference numerals and description thereof is omitted.
  • the verification signature holding means The digital signature held by is decrypted with the signature creator's public key and compared with (B) (step 805). Subsequently, it is determined whether or not the matching result is a match (step 80 6). If the determination is YES, it is determined that the electronic data after rewriting is authentic, and if the determination is NO, the electronic data after rewriting is not Judge that it is illegal.
  • step 601 and step 602 may be reversed.
  • the integrity of electronic data before rewriting by a trusted third party preferably using an electronic signature (unauthorized alteration such as tampering has been made! /! ⁇ ) Guarantee) Therefore, the authenticity of electronic data after rewriting can be reliably performed through a trusted third party.
  • FIG. 7 The configuration diagram of the electronic data verification apparatus according to the third embodiment of the present invention is shown in FIG. 7 as in the second embodiment.
  • FIG. 9 is an operation flow of the electronic data verification means in the third embodiment.
  • FIG. 9 the same components as those in FIG. 6 are denoted by the same reference numerals, and description thereof is omitted.
  • the electronic signature held by the verification signature holding means is decrypted with the public key of the signature creator and compared with (A) (step 902 ). Subsequently, it is determined whether or not the collation result is a match (step 903). If the determination is YES, the electronic data after rewriting is determined to be authentic, and if the determination is NO, the electronic data after rewriting is not Judge that it is illegal.
  • the integrity of electronic data after a reputable third party preferably uses a digital signature (that is, an unauthorized alteration such as falsification has been made) Therefore, it is possible to ensure the authenticity of electronic data after rewriting through a reliable third party. Further, in this case, since it is not necessary to obtain a message digest of electronic data before rewriting, the processing time and processing resources can be reduced.
  • FIG. 10 is a configuration diagram of an electronic data verification apparatus according to Embodiment 4 of the present invention.
  • FIG. 10 the same components as those in FIG. 1 are denoted by the same reference numerals and description thereof is omitted.
  • an electronic data verification device 1001 includes an electronic data restoration means 1005 and an electronic data rewrite verification means 1007.
  • the electronic data rewrite verification means 1007 cooperates with the electronic data restoration means 1005, and the electronic data after rewriting Detect errors that cannot be corrected.
  • the electronic data restoration unit 1005 and the electronic data rewrite verification unit 1007 are all arithmetic units that perform electronic calculation processing.
  • FIG. 11 is an operation flow of the electronic data rewriting verification unit 1007.
  • FIG. 11 the same components as those in FIG. 6 are denoted by the same reference numerals, and description thereof is omitted.
  • step 1101 If the electronic data rewriting verification means cannot correct the error, it is determined whether or not the error has been detected (step 1101). If the determination result is YES, it is determined that the electronic data after rewriting is invalid.
  • FIG. 12 is an example of an error that cannot be corrected (an example of a bit error that cannot be corrected).
  • error correction using (7, 4) Hamming codes the above-described logical expressions (Equation 1, Equation 2, Equation 3) can take the eight bit patterns shown in the figure. Redundant bits Pij l, Pij2, and Pij3 are not subject to rewriting, and can be handled as bit errors that cannot occur. Therefore, when the three types of bit patterns 1201 shown in the figure are detected, it can be determined that an error exists in two or more bits of Xijl, Xij2, Xij3, and Xij4 and that error correction is impossible.
  • FIG. 13 is an operation flow of the electronic data rewriting verification means 1007 and the electronic data restoration means 1005 operating in cooperation with each other when the uncorrectable bit error is detected.
  • FIG. 13 the same components as those in FIGS. 5 and 6 are denoted by the same reference numerals, and description thereof is omitted.
  • step 1301 In the processing of the electronic data restoration means, three logical expressions (expression 1, expression 2, expression 3) were calculated. After that, it is determined whether or not all three expressions have the calculation result power (step 1301). If the determination result is NO, the electronic data rewriting verification means determines whether or not the calculation result of equation (3) is a bit pattern that can be error-corrected (step 1302). If the determination result is YES, processing of the electronic data restoration means is continued. If the determination result is NO, it is determined that the electronic data after rewriting is invalid at this point.
  • FIG. 14 is another example of an error that cannot be corrected (an example of a byte error that cannot be corrected).
  • bits 1401 to 1405 represent bits to be corrected by the electronic data restoration means.
  • the error correction of each bit can be corrected by a (7, 4) Hamming code.
  • FIG. 15 is an operation flow of the electronic data rewriting verification unit 1007 and the electronic data restoration unit 1005 operating in cooperation with each other when detecting the uncorrectable byte error.
  • FIG. 15 the same components as those in FIGS. 5 and 6 are denoted by the same reference numerals, and description thereof is omitted.
  • step 1501 In the processing of the electronic data restoration means, after calculating the three logical expressions (Expression 1, Expression 2, Expression 3), it is determined whether or not all three expressions have the calculation result power (step 1501). If the determination result is NO, the electronic data rewriting verification means determines whether or not the calculation result of the three formulas has the same bit pattern in the loop L (step 1502). If the determination result is YES, the processing of the electronic data restoration means is continued, and if the determination result is NO, it is determined that the electronic data after rewriting is invalid at this point.
  • FIG. 16 is a configuration diagram of the electronic data verification apparatus according to the fifth embodiment of the present invention.
  • FIG. 16 the same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof is omitted.
  • an electronic data verification device 1601 includes electronic data restoration means 1605, electronic data rewrite rule holding means 1607, and electronic data rewrite verification means 1609.
  • the electronic data rewrite rule holding means holds an electronic data rewrite rule 1608.
  • the electronic data restoration means 1605 and the electronic data rewrite verification means 1609 are both computing units that perform electronic calculation processing.
  • the electronic data rewrite rule holding means 1607 is a memory, and the electronic data rewrite rule 160
  • FIG. 17 is an operation flow of the electronic data rewriting verification unit 1609.
  • FIG. 17 the same components as those of FIG. 6 are denoted by the same reference numerals, and description thereof is omitted.
  • Judgment is made as to whether or not the electronic data rewrite verification means has detected a rewrite that does not match the rewrite rules (step 1701). If the result of the determination is YES, it is determined that the electronic data after rewrite is invalid. .
  • FIG. 18 is an example of the electronic data rewriting rule 1608.
  • the rewrite restriction block list 1801 is a list of blocks in which restriction rules are provided for the difference between the pre-rewrite electronic data and the post-rewrite electronic data. In the example indicated by rule data 1802, this means that for block number i, all data located at byte offset j, k, 1 should have a value not less than m and not more than n after rewriting.
  • the rewrite prohibition block list 1803 is a list of blocks that do not recognize a difference between the pre-rewrite electronic data and the post-rewrite electronic data, that is, do not allow any rewrite.
  • Rule data 1 In the example shown by 804, this means that no rewriting is permitted for block numbers X, y, and z.
  • a rewrite free block list 1805 may be provided. This allows arbitrary rewriting of the specified block, and also allows rewriting that includes errors that cannot be corrected. In the example indicated by the rule data 1806, arbitrary rewriting is permitted for the block numbers p and q. In this case, it is desirable that the post-restoration electronic data verification means be linked to this and block numbers p and q are excluded from verification.
  • the detailed data format of electronic data rewriting rule 1608 is not limited to the above, and any data format can be used as long as it can mechanically interpret whether electronic data can be rewritten.
  • Embodiment 5 it is possible to add an original restriction rule in addition to the allowable rewrite range based on the nature of the error correction code, or to relax it, and to rewrite the rewrite rule more flexibly. An effect that can be set is obtained.
  • the electronic data rewriting rule 1608 may be shared with a device other than the electronic data verification device 1601.
  • a method of sharing the electronic data after rewriting with a device that creates electronic data is conceivable.
  • the basic rewrite rule is Since it is included in the error correction code itself, it is not necessary to share it.
  • the minimum rewriting rule to be added should be shared between the two parties. This method has the effect of reducing the amount of shared data.
  • FIG. 19 is a configuration diagram of an electronic data creation device according to Embodiment 6 of the present invention.
  • the electronic data creation device 1901 is an electronic data rewrite rule holding means 19. 02 and electronic data rewriting means 1904 are provided.
  • Electronic data rewriting rule holding means 1902 is a memory, and electronic data rewriting rules 190
  • Electronic data rewriting means 1904 is an arithmetic unit that performs electronic calculation processing.
  • the electronic data rewriting means 1904 creates electronic data after rewriting a part of the electronic data before rewriting according to the electronic data rewriting rule 1903.
  • FIG. 24 is a flowchart showing the operation of the electronic data creation device according to Embodiment 6 of the present invention.
  • the electronic data rewriting means 1904 reads the electronic data rewriting rule 1903 based on the correction code for the electronic data before rewriting from the electronic data rewriting rule holding means 1902 for storing the rule (step 2401), and the read electronic data According to the rewrite rule 1903, the electronic data is rewritten (step 2402).
  • FIG. 20 is an example of electronic data rewriting rules.
  • 2001 is a specific example of rewrite rule data.
  • the electronic data rewriting rules are set based on the nature of the error correction code for the electronic data before rewriting.
  • the maximum number of bytes that can be rewritten is one byte for a fixed block with a block length of 4 bytes. Establish rules.
  • the error correction code is not limited to the (7, 4) Hamming code, and when another error correction code is used, a rewrite rule according to the character of the code may be provided.
  • Embodiment 6 it is possible to create data that has been arbitrarily rewritten under limited conditions, such as a maximum of 1 byte within a data block.
  • measures such as adding the signature of the rewriter himself / herself were required to show the authenticity of the rewritten data.
  • the electronic data can be redistributed to a third party under the assurance of the author of the pre-rewrite electronic data (eg, creation of the original program code, issuer).
  • the publisher of electronic data before rewriting, operator (or consumer) B is unique in electronic data. Can be embedded and handed over to consumer (or operator) c
  • B which has an electronic data creation device according to the present embodiment
  • FIG. 19 The configuration diagram of the electronic data verification apparatus according to the seventh embodiment of the present invention is shown in FIG. 19 as in the sixth embodiment.
  • FIG. 21 is an example of electronic data rewriting rules in the seventh embodiment.
  • the rewrite restriction block list 2101 is a list of blocks in which restriction rules are provided for the difference between the pre-rewrite electronic data and the post-rewrite electronic data.
  • the rule data 2102 for the block number i, it means that any data located at byte offsets j, k, 1 should have a value not less than m and not more than n after rewriting.
  • the rewrite prohibition block list 2103 is a list of blocks that do not recognize a difference between the pre-rewrite electronic data and the post-rewrite electronic data, that is, do not allow any rewrite. In the example indicated by the rule data 2 104, this means that no rewriting is permitted for the block numbers X, y, and z.
  • the electronic data rewriting means 1904 rewrites a part of the electronic data before rewriting according to these electronic data rewriting rules, and creates electronic data after rewriting.
  • the electronic data rewriting rule 1903 may be shared with the counterpart device that delivers the electronic data after rewriting, and more preferably, the electronic data rewriting rule 1903 is used by both the electronic data creation device 1901 and the counterpart device. May be guaranteed by a trusted third party.
  • a rewrite forced block list as exemplified in FIG. 22 may be provided in a part of the rewrite rule.
  • the rewrite forced block list 2201 writes the value m to the position of the common byte offset j for the specified block X, y, z. Indicates. Due to the nature of error-correcting codes, if a block that has already been rewritten is rewritten to another byte offset, it cannot be corrected. Rewriting can be suppressed.
  • the rewrite prohibition block list has the effect of reducing the amount of shared data that does not need to be shared with the counterpart device that delivers the electronic data after rewriting.
  • FIG. 25 is a configuration diagram of the integrated circuit according to the eighth embodiment of the present invention.
  • an integrated circuit 2501 includes a memory unit 2502, a ROM (Read Only Memory) 2507, a CPU (Central Processing Unit) 2508, and an interface unit 2509. These are connected by bus 2510.
  • the memory unit 2502 holds the post-rewrite electronic data 2503 and the error correction code 2504 for the pre-rewrite electronic data.
  • the ROM 2507 holds an electronic data restoration processing unit 2505 and a post-restoration electronic data verification processing unit 2506, and executes these processes using the CPU 2508.
  • the post-rewrite electronic data 2503 and the error correction code 2504 for the pre-rewrite electronic data are input from the outside of the integrated circuit via the interface unit 2509 and transferred inside the memory unit 2502.
  • the memory unit 2502 has a function corresponding to the electronic data holding unit 102 shown in the first embodiment.
  • electronic data 2503 after rewriting is electronic data 103 after rewriting
  • error correction code 2504 for electronic data before rewriting is error correction code 104 for electronic data before rewriting
  • electronic data restoration processing unit 2505 is electronic data.
  • the restored electronic data verification processing unit has a function corresponding to the restored electronic data verification means 106.
  • FIG. 26 is a configuration diagram of the integrated circuit according to the ninth embodiment of the present invention.
  • the integrated circuit 2601 includes a memory 2602, a ROM 2607, a CPU 2608, and an interface unit 2609, which are coupled via a bus 2610.
  • the memory unit 2602 holds pre-rewrite electronic data 2605 and electronic data rewrite rules 2603.
  • the ROM2 607 holds an electronic data rewrite processing unit 2604, and executes electronic data rewrite processing using the CPU 2508.
  • the interface unit 2609 outputs the electronic data that has been rewritten to the outside of the integrated circuit as electronic data 2606 after rewriting.
  • the memory unit 2602 has a function corresponding to the electronic data holding unit 1902 described in Embodiment 6.
  • the electronic data rewriting rule 2603 has a function corresponding to the electronic data rewriting rule 1903
  • the electronic data rewriting processing unit 2604 has a function corresponding to the electronic data rewriting means 1904.
  • the electronic data verification device, electronic data creation device, electronic data verification method, electronic data creation method, and integrated circuit according to the present invention have versatility regarding electronic data distribution, and program distribution and content distribution through a network. Useful for agent systems, authentication services, etc. It can also be applied to applications such as offline services that use electronic media to distribute electronic data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

 本発明は、ネットワーク等を通じて移動する電子データ、プログラムコード等に書換えがあった場合にも、電子署名を付け替えることなく真正性を検証できるようにすることを目的とする。  電子データ検証装置101は電子データ保持手段102、電子データ復元手段105、復元後電子データ検証手段106を備える。電子データ保持手段102は書換え後電子データ103及び書換え前電子データに対する誤り訂正符号104を保持する。電子データ復元手段105は、誤り訂正符号104を用いて書換え後電子データ103を復元する。続いて復元後電子データ検証手段106は、電子データ復元手段105により復元された電子データを書換え前電子データと照合し、照合結果を用いて復元後電子データの正当性を検証する。

Description

明 細 書 電子データ検証装置 技術分野
[0001] 本発明はネットワーク等を通じて移動する電子データ、プログラムコード等の真正性 を検証する装置及び方法に関するものである。
背景技術
[0002] インターネットをはじめとする通信ネットワークの普及と帯域向上により、電子データ 、プログラムコード等を通信ネットワーク経由で送受する機会が多くなつた。その際の 脅威として、悪意を持つ者により電子データ改竄される問題があり、特にプログラムコ ードの改竄は受信者にとって深刻な不利益を招くものであった。この問題に対しては 、PKI (Public Key Infrastructure :公開鍵認証基盤)を利用した電子署名によ る真正性保証技術が広く使われて 、る。
[0003] 電子署名による真正性検証は有用な技術である力 例えば移動型エージェントプ ログラムのように、移動途上で内容が書き換わる性質を持った電子データの場合は 一貫した署名が適用できな 、ため、各々の送信者が各自の秘密鍵を用いて都度署 名を追加する、もしくは付け直すという方法があった (例えば、特許文献 1参照)。
[0004] 図 27は従来の真正性を検証する装置を示す構成図である。図 27において、電子 データの送信者 1は、信頼できる第三者である CA (Certificate Authority:認証 局)による電子署名 7と、電子署名手段 3と送信者秘密鍵 8を用いて生成した電子署 名の二つを用いて、電子データ 9の真正性を保証していた。ここで 4は送信者 1が原 本データに付加する追加データ作成手段であり、前記追加データにっ ヽては送信 者 1の署名、原本データ及び送信者識別情報 5につ ヽては CAによる署名が付与さ れている。送信者識別情報 5は送信者公開鍵 6を含む。受信者 2は電子署名認証手 段 10を用いて、受信した電子データに含まれる 2つの電子署名から、追加データ、 原本データ及び送信者の真正性を検証する。
特許文献 1 :特開 2001— 236333号公報 (第 2— 4頁、図 3) 発明の開示
発明が解決しょうとする課題
[0005] し力しながら、前記従来の構成では、原本データと追加データが明示的に区分され ていることが前提であり、下記の課題を有していた。
[0006] (1)第三者保証の喪失
電子データの難読化、効率化等の理由で原本データと追加データを不可分とし、 原本データ内に散在的にデータを埋め込んだ場合、送信者がデータ全体に署名を 付け直す必要が生じ、受信者は原本データの真正性につ!、て第三者の保証を受け られなくなる。
[0007] 送信者が少数で、かつ振る舞いの全てが信頼できる場合には、第三者からの権限 委譲という形で署名を付け直し、受信者は間接的に第三者力もの保証を得ることが 可能であるが、例えば認証エージェント、検索エージェントなど、少種類かつ原本が 共通の電子データを不特定多数の送信者が扱う場合には、個々の送信者への権限 委譲は好まし 、方法ではな 、。
[0008] (2)署名再生成のコスト
送信者が署名の追加や付け直しを行う場合、公開鍵暗号方式として一般に知られ る RSA(Rivest Shamir Adleman)暗号演算などの計算量の多い演算が必要で ある。
[0009] 昨今では計算機ネットワークに接続される端末として PDA (Personal Digital As sistant)、携帯電話、 IC (Integrated Circuit)カード(Smart Cardとも呼ばれる) のような低処理能力の機器も増えており、これらの機器が送信者となる場合には、逐 次署名を生成する事は効率的な方法ではな 、。
[0010] 本発明は、前記従来の課題を解決するもので、信頼できる第三者によって内容が 保証された電子データに対し、送信者が散在的にデータを埋め込むことを可能とし、 かつ送信者が電子データに新たな署名を付与することなぐ受信者は信頼できる第 三者の署名によって電子データの真正性を検証できる装置と方法を提供することを 目的とする。
課題を解決するための手段 [0011] 前記従来の課題を解決するために、本発明の電子データ検証装置は、書換え後 電子データと、書換え前電子データに対する誤り訂正符号を保持する電子データ保 持手段と、前記誤り訂正符号に基づいて、書換え後電子データの復元を行う電子デ ータ復元手段と、前記電子データ復元手段により復元された電子データを、書換え 前電子データと照合し、照合結果を用 、て復元後電子データの正当性を検査する 復元後電子データ検証手段とを備える。
[0012] 上記復元後電子データ検証手段により、書換え前電子データに基づいて書換え後 電子データの真正性を検証することができる。
[0013] さらに本発明の電子データ検証装置は、書換え前電子データの電子署名を保持 する検証用署名保持手段を備え、復元後電子データ検証手段が、前記検証用署名 保持手段が保持する電子署名力ゝら喑復号ィ匕演算により導かれたデータと、復元前電 子データからハッシュ演算により導かれたデータとを比較し、前記比較の結果が所定 の条件に合致するか否かを検査する。
[0014] 上記検証用署名保持手段により、書換え前電子データの署名に基づいて書換え 後電子データの真正性を検証することができる。
[0015] さらに本発明の電子データ検証装置は、書換え前電子データの電子署名を保持 する検証用署名保持手段を備え、復元後電子データ検証手段が、前記検証用署名 保持手段が保持する電子署名力ゝら喑復号ィ匕演算により導かれたデータと、復元後電 子データからハッシュ演算により導かれたデータとを比較し、前記比較の結果が所定 の条件に合致するか否かを検査する。
[0016] 上記検証用署名保持手段が保持する電子署名を用いた検証対象に復元後電子 データを用いることにより、復元前電子データに対する演算を行うことなく復元後電子 データの真正性を検証することができる。
[0017] さらに本発明の電子データ検証装置は、電子データ復元手段が書換え後電子デ ータの中に訂正できない誤りの存在を検出した場合に、書換え後電子データは不正 であると判断する電子データ書換え検証手段を備える。
[0018] 上記電子データ書換え検証手段により、電子データに不正な書換えが為されてい た場合、電子データ復元時に不正を検知できる場合がある。 [0019] さらに本発明の電子データ検証装置は、電子データの書換え規則を保持する電子 データ書換え規則保持手段を備え、電子データ復元手段が行うデータの訂正が、前 記電子データ書換え規則保持手段に保持された書換え規則に合致しているカゝ否か を検査し、合致しない場合に、書換え後電子データは不正であると判断する電子デ ータ書換え検証手段を備える。
[0020] 上記電子データ書換え規則保持手段により、書換えの制限規則を厳しくする、緩 和するなど柔軟な設定ができる。
[0021] また、本発明の電子データ作成装置は、書換え前電子データに対する誤り訂正符 号に基づく書換え規則を保持する電子データ書換え規則保持手段と、前記電子デ ータ書換え規則保持手段が保持する書換え規則に従い電子データを書換える電子 データ書換え手段を備える。
[0022] 上記電子データ書換え手段により、書換えた内容に関する新たな署名生成等を行 うことなぐ書換えた電子データを正当なものとして外部に提供できる。
[0023] さらに本発明の電子データ作成装置は、書換え前電子データに対する誤り訂正符 号が有する訂正可能条件に一致するか、もしくは充足する条件を書換え規則とする。
[0024] 上記書換え規則により、誤り訂正符号の訂正可能条件を基本とした上で、さらに柔 軟な書換え規則を設定できる。
[0025] また、本発明の電子データ検証方法は、電子データ検証装置によって実行され、 書換え後電子データをメモリから読出すステップと、書換え前電子データに対する誤 り訂正符号をメモリから読出すステップと、前記誤り訂正符号に基づいて、書換え後 電子データの復元を行うステップと、前記電子データ復元手段により復元された電子 データを、書換え前電子データと照合するステップと、前記照合結果を用いて復元後 電子データの正当性を検査するステップ力もなる。
[0026] 上記各ステップにより、書換え前電子データに基づいて書換え後電子データの真 正性を検証する電子データ検証方法を具現化できる。
[0027] また、本発明の電子データ作成方法は、電子データ作成装置によって実行され、 書換え前電子データに対する誤り訂正符号に基づく書換え規則をメモリから読出す ステップと、前記書換え規則に従 、電子データを書換えるステップ力もなる。 [0028] 上記各ステップにより、書換えた内容に関する新たな署名生成等を行うことなぐ書 換えた電子データを正当なものとして外部に提供する電子データ作成方法を具現化 できる。
[0029] また、本発明の集積回路は、書換え後電子データ及び書換え前電子データに対す る誤り訂正符号データを外部力 入力するインタフェース部と、前記書換え後電子デ ータ及び前記誤り符号データを保持するメモリ部と、前記誤り訂正符号に基づ!、て、 書換え後電子データの復元を行う電子データ復元処理部と、前記電子データ復元 処理部により復元された電子データを、書換え前電子データと照合する復元後電子 データ検証処理部と、を備える。
[0030] 上記復元後電子データ検証処理部により、書換え前電子データに基づいて書換え 後電子データの真正性を検証する集積回路を具現化できる。
[0031] また、本発明の別の集積回路は、書換え前電子データ及び書換え前電子データに 対する誤り訂正符号に基づく書換え規則を保持するメモリ部と、前記書換え規則に 従 ヽ前記書換え前電子データを書換え、書換え後電子データを作成する電子デー タ書換え処理部と、書換え後電子データを外部に出力するインタフェース部を備える
[0032] 上記電子データ書換え処理部により、書換えた内容に関する新たな署名生成等を 行うことなぐ書換えた電子データを正当なものとして外部に提供する集積回路を具 現化できる。
発明の効果
[0033] 本発明によれば、原本データに独自のデータを埋め込んで他者に配布する場合に おいて、データを配布される側(受信者)は、配布する側(送信者)の署名ではなぐ 原本データを作成した信頼できる第三者の署名によって、配布されたデータが正し
V、原本に従って、正 、書換え規則のもとで作成されたものであることを検証できる。 従って受信者は、受信データに関して信頼できる第三者の保証を直接受けられると いう効果を得られる。
[0034] さらに本発明によれば、送信者は署名の追加や付け直しを行う必要がなくなり、低 処理能力の機器において配布データの作成が短時間で行える。併せて、配布デー タを保証するための署名生成機や署名生成鍵の管理を行う必要がなくなり、署名再 生成のコスト削減の効果を得られる。
図面の簡単な説明
圆 1]実施の形態 1における電子データ検証装置の構成図
圆 2]書換え前電子データの一例を示す図
圆 3]書換え後電子データの一例を示す図
圆 4]誤り訂正符号の一例を示す図
[図 5]電子データ復元手段の動作フロー図
[図 6]実施の形態 1における復元後電子データ検証手段の動作フロー図
圆 7]実施の形態 2における電子データ検証装置の構成図
[図 8]実施の形態 2における復元後電子データ検証手段の動作フロー図
[図 9]実施の形態 3における復元後電子データ検証手段の動作フロー図
圆 10]実施の形態 4における電子データ検証装置の構成図
[図 11]実施の形態 4における電子データ書換え検証手段の動作フロー図
[図 12]訂正できな 、誤りの一例 (訂正できな 、ビット誤りの例)を示す図
圆 13]訂正できないビット誤りを検出する際の、電子データ書換え検証手段の動作フ ロー図
圆 14]訂正できない誤りの一例 (訂正できないバイト誤りの例)を示す図
圆 15]訂正できないバイト誤りを検出する際の、電子データ書換え検証手段の動作 フロー図
[図 16]実施の形態 5における電子データ検証装置の構成図
圆 17]実施の形態 5における電子データ書換え検証手段の動作フロー図
[図 18]電子データ書換え規則の一例を示す図
[図 19]実施の形態 6及び 7における電子データ作成装置の構成図
[図 20]実施の形態 6における電子データ書換え規則の一例を示す図
圆 21]実施の形態 7における電子データ書換え規則の一例を示す図
圆 22]実施の形態 7の応用における電子データ書換え規則の一例を示す図
[図 23]実施の形態 1における電子データ検証方法の手順を示すフロー図 [図 24]実施の形態 6における電子データ作成方法の手順を示すフロー図 圆 25]実施の形態 8における集積回路の構成図
圆 26]実施の形態 9における集積回路の構成図
圆 27]従来の真正性を検証する装置の構成図
符号の説明
1 従来例の電子データ送信装置
2 従来例の電子データ受信装置
3 電子署名手段
4 追加データ作成手段
5 送信者識別情報
6 送信者公開鍵
7 CAによる電子署名
8 送信者秘密鍵
9 送受信される電子データ
10 電子署名認証手段
101 電子データ検証装置
102 電子データ保持手段
103 書換え後電子データ
104 書換え前電子データに対する誤り訂正符号
105 電子データ復元手段
106 復元後電子データ検証手段
201 書換え前電子データのデータブロック
202 書換え前電子データの ECCブロック
301 書換え後電子データのデータブロック
401 データブロック内のビット Xijk
402 ECC内のビット Pijk
501- -506 電子データ復元手段の動作フローの各ステップ
601〜606 実施の形態 1における復元後電子データ検証手段の動作フローの 各ステップ
701 電子データ検証装置
706 復元後電子データ検証手段
707 検証用署名保持手段
708 書換え前電子データの電子署名
805〜806 実施の形態 2における復元後電子データ検証手段の動作フローの 各ステップ
902〜903 実施の形態 3における復元後電子データ検証手段の動作フローの 各ステップ
1001 電子データ検証装置
1005 電子データ復元手段
1007 電子データ書換え検証手段
1101 電子データ書換え検証手段の動作フローの不正書換え検出ステップ 1201 訂正できないビット誤りの例
1301〜1302 訂正できないビット誤りを検出する場合の、電子データ復元手段 及び電子データ書換え検証手段の動作フローの各ステップ
1401〜 1404 電子データ復元手段が訂正しょうとするビット(バイトオフセット 0) 1405 電子データ復元手段が訂正しょうとするビット (バイトオフセット 1) 1501〜1503 訂正できないバイト誤りを検出する場合の、電子データ復元手段 及び電子データ書換え検証手段の動作フローの各ステップ
1601 電子データ検証装置
1605 電子データ復元手段
1607 電子データ書換え規則保持手段
1608 電子データ書換え規則
1609 電子データ書換え検証手段
1701 電子データ書換え検証手段の動作フローの不正書換え検出ステップ
1801 書換え制限ブロックリスト
1802 書換え制限ブロックの規則データ構造例 1803 書換え禁止ブロックリスト
1804 書換え禁止ブロックの規則データ構造例
1805 書換えフリーブロックリスト
1806 書換えフリーブロックの規則データ構造例
1901 電子データ作成装置
1902 電子データ書換え規則保持手段
1903 電子データ書換え規則
1904 電子データ書換え手段
2001 電子データ書換え規則のデータ構造例
2101 書換え制限ブロックリスト
2102 書換え制限ブロックの規則データ構造例
2103 書換え禁止ブロックリスト
2104 書換え禁止ブロックの規則データ構造例
2201 書換え強制ブロックリスト
2301- -2305 電子データ検証方法の各ステップ
2401- -2402 電子データ作成方法の各ステップ
2501 集積回路
2502 メモリ部
2503 書換え後電子データ
2504 書換え前電子データに対する誤り訂正符号
2505 電子データ復元処理部
2506 復元後電子データ検証処理部
2507 ROM
2508 CPU
2509 インタフェース咅
2510 ノ ス
2601 集積回路
2602 メモリ部 2603 電子データ書換え規則
2604 電子データ書換え処理部
2605 書換え前電子データ
2606 書換え後電子データ
2607 ROM
2608 CPU
2609 インタフェース咅
2610 ノ ス
発明を実施するための最良の形態
[0037] 以下本発明の実施の形態について、図面を参照しながら説明する。
[0038] (実施の形態 1)
図 1は、本発明の実施の形態 1における電子データ検証装置の構成図である。
[0039] 図 1において、電子データ検証装置 101は電子データ保持手段 102、電子データ 復元手段 105、復元後電子データ検証手段 106を備えている。
[0040] 電子データ保持手段 102はメモリである。好適には RAM (Random Access Me mory:ランダムアクセスメモリ)を用いるが、 EEPROM (Electronically Erasable and Programmable Read Only Memory:電気的消去書換え可能不揮発メモ リ)、フラッシュメモリ(書換え可能不揮発メモリ)、光記録媒体、磁気記録媒体等であ つても良い。
[0041] 電子データ復元手段 105、及び復元後電子データ検証手段 106は、電子計算処 理を行う演算機である。専用に設計された演算機であっても、汎用のマイクロプロセッ サとプログラムコードで構成されたものであっても良い。
[0042] 電子データ保持手段 102は書換え後電子データ 103及び書換え前電子データに 対する誤り訂正符号 104を保持して 、る。
[0043] 書換え後電子データ 103、及び書換え前電子データに対する誤り訂正符号 104は
、いずれも電子データである。
[0044] 図 23は、本発明の実施の形態 1における電子データ検証装置の動作を示すフロー である。 [0045] 電子データ復元手段 105は、電子データ保持手段 102が記憶する書換え後電子 データ 103を読み出し (ステップ 2301)、同じく電子データ保持手段 102が記憶する 書換え前電子データに対する誤り訂正符号 104を読み出し (ステップ 2302)、書換 え前電子データに対する誤り訂正符号 104に基づいて書換え後電子データを復元 する (ステップ 2303)。続いて復元後電子データ検証手段 106は、電子データ復元 手段 105により復元された電子データを書換え前電子データと照合し (ステップ 230 4)、照合結果を用いて復元後電子データの正当性を検証する (ステップ 2305)。
[0046] 図 2は、書換え前電子データの一例である。
[0047] 図 2において、データブロック 201は電子データの本体であるプログラムコード、デ ータを論理的に分割された複数のブロック l〜mで構成されて ヽる。ここで図 2の例で はデータ本体として機械語コード (マイクロプロセッサ上で動作するネイティブ機械語 コード、仮想マシン上で動作するバイトコード等)を用いている。
[0048] データブロック 201中に示される「P0」の記号部は、電子データ中に配置された書 換え可能領域であり、後述する書換え後電子データではこの「P0」の部分が別のデ ータに置き換わる。
[0049] ECC (Error Collection Code :誤り訂正符号)ブロック 202は、論理的に分割さ れた複数のブロック l〜mで構成され、 ECC1がデータブロック 1を、 ECC2がデータ ブロック 2を、以下同様に番号 mまで、 ECCiがデータブロック iの誤り訂正符号となる よう構成されている。
[0050] 図 3は、書換え後電子データの一例である。この例では、前記図 2で示した書換え 前電子データのデータブロック中に配置されたデータ「P0」力 異なるデータ「P1」「 P2J及び「P3」に書換えられて 、る。
[0051] ECCブロック 202は、先に示した書換え前電子データに対する誤り訂正符号と同 一のものを使用する。
[0052] 誤り訂正符号の一例として、公知の技術である「(7, 4)ハミング符号」を用いる。
[0053] なお、本発明に用いる誤り訂正符号は(7, 4)ハミング符号に限定されるものではな ぐ公知の誤り訂正符号を任意に適用することができる。
[0054] また ECCはデータブロック直後に位置する必然性はなぐ分離されていても良い。 あるいはデータブロック内に含まれて 、ても良い。
[0055] (7, 4)ハミング符号では、データビット 4つ(XI, X2, X3, X4)に対して冗長ビット 3 つ(PI, P2, P3)を付カロし、 X1〜X4がいかなる値の場合でも、冗長ビットを付カロした 合計 7ビットからなる符号が、必ずハミング距離 3以上離れるようにする。
[0056] 上記についてより詳細に説明すると、 X1〜X4に対して、下記の論理式が成立する よう冗長ビット P1〜P3の値を定める。
[0057] XI xor X3 xor X4 xor PI = 0
XI xor X2 xor X4 xor P2 = 0
XI xor X2 xor X3 xor P3 = 0
(xorは排他的論理和を意味する演算子である)
このようにして得られたビット集合 XI, X2, X3, X4, PI, P2, P3は全ての組み合 わせカ 、ミング距離が 3以上離れた関係となり、 7ビット中 1ビットが誤り(ビット反転)で あった場合にはノ、ミング距離 1であるビット集合への訂正が可能であり、 2ビットが誤り である場合には誤りの存在を検出することが可能である。
[0058] 図 4は、上記の(7, 4)ハミング符号を応用した誤り訂正符号の一例である。
[0059] データブロック iはオフセット k=0〜3の 4バイトで構成され、各バイトはビットオフセッ ト j = 0〜7の 8ビットで構成される。データブロック内の任意のビット 401は i, j, kをパ ラメータとした記号 Xijkで表現される。
[0060] 一方、 ECCiはオフセット k=0〜2の 3バイトで構成され、各バイトはビットオフセット j
=0〜7の 8ビットで構成される。 ECCi内の任意のビット 402は i, j, kをパラメータとし た記号 Pijkで表現される。
[0061] Xijl xor Xij3 xor Xij4 xor Pij l (式 1)
Xijl xor Xij2 xor Xij4 xor Pij2 (式 2)
Xij l xor Xij2 xor Xij xor Pij3 (式 3)
とした時、式 1、式 2、式 3全てが 0となるように Pij l〜3を定める。値の決定は下記の 論理式に従えば良い。
[0062] Pij l = Xijl xor Xij3 xor Xij4
Pij2 = Xijl xor Xij2 xor Xij4 Pij3 = Xijl xor Xij2 xor Xij3
ただし、上記 Xijkはいずれも書換え前電子データのものである。書換え後電子デ ータの Xijkは、好適には該電子データ検証装置の外部にある装置等によって書換え が為されたものである。
[0063] 図 5は電子データ復元手段の動作フローである。
[0064] ループ 1として、ブロック番号 iを 1から最終ブロックまで繰り返し処理を行う(ステップ 501)。ループ 1内の処理は下記の通りである。
[0065] データブロック i、 ECCiを読み込む(ステップ 502)。ここでデータブロック iは書換え 後電子データのデータブロックであり、電子データ保持手段 102が保持していたデ ータである。続いてループ 2として、ビットオフセット jを 0から 7まで繰り返し処理を行う (ステップ 503)。ループ 2内の処理は下記の通りである。
[0066] 前記の式 1、式 2、式 3を演算する(ステップ 504)。続いてこれら 3式とも演算結果が 0になるか否かを判定する(ステップ 505)。判定が YESであれば、ステップ 503に戻 り、ビットオフセット jを 1増加してループ 2を継続する。判定が NOであれば、(7, 4)ハ ミング符号誤り訂正の原理に基づいて Xij l、 Xij2、 Xij3、 Xij4いずれかを訂正(ビット を反転)する (ステップ 506)。その後ステップ 503に戻り、ビットオフセット jを 1増加し てループ 2を継続する。
[0067] ビットオフセット 0〜7の処理が全て終了した場合は、ステップ 501に戻り、ブロック番 号 iを 1増加してループ 1を継続する。最終ブロックまで処理が終了した場合に電子デ ータ復元手段は処理を終了し、復元後電子データ検証手段の処理に進む。
[0068] 上記の例では、各々のデータブロックに対して最大 8ビット、好適にはバイト境界内 に位置する連続する 8ビットからなる最大 1つのデータバイトを、書換え前電子データ と同じ状態に復元することが出来る。
[0069] 図 6は復元後電子データ検証手段 106の動作フローである。
[0070] 復元後電子データの、データブロック 1〜最終、 ECC1〜最終のメッセージダイジェ ストを作成し、これを Aとする(ステップ 601)。メッセージダイジェストは電子データに 識別性、一意性を持たせた状態でハッシュ演算を行うことにより得られる。
[0071] ハッシュ演算は電子データの要約を得るための一方向関数であるハッシュ関数 (ha sh function)を用いた演算であり、同一の電子データからは同一の要約が得られ る点が特徴である。要約は元の電子データと比べてデータサイズが小さぐまた異な る電子データから同一の要約が生成される確率は低く抑えられて 、る。ノ、ッシュ関数 の例として、 SHA— l (Secure Hash Algorithm 1)、 MD5 (Message Digest 5)等が知られている。
[0072] 次に書換え前電子データのデータブロック 1〜最終、 ECC1〜最終のメッセージダ イジエストを取得する。好適な例では、取得元は書換え前電子データの作成もしくは 発行に関して責任を負う、信頼できる機関等である。取得したメッセージダイジェスト を Bとする(ステップ 602)。
[0073] 次に、 Aと Bを比較し照合を行う(ステップ 603)。照合の結果が一致である力否かを 判定し (ステップ 604)、判定が YESであれば書換え後電子データは真正であると判 断する (ステップ 605)。判定が NOであれば書換え後電子データは不正であると判 断する (ステップ 606)。
[0074] 以上実施の形態 1によれば、データブロック内で最大 1バイト等、限定された条件で 任意の書換えが為された電子データを、書換え前電子データとの照合により真正、 不正を判断できる。より具体的な効果としては、例えば事業者 Aがコンピュータ上で 動作するプログラムコード X(認証プログラム、データ配信プログラム、検索エージェン ト、ゲーム等様々な適用例が考えられる)を作成、配布し、事業者 Bが Xを受け取り、 事業者 B固有の情報をプログラムコード Xに埋め込み (認証情報、配信コンテンツ、 条件設定データ等様々な例が考えられる) X'を作成し、 X'をコンシユーマ Cが受け 取り実行するケースにおいて、コンシユーマ Cは配布されたプログラムコード X'が不 正なもの(ウィルス、ワーム、スパイウェア等の例が考えられる)でない事を原プロダラ ム Xの作成、配布者である事業者 Aから得られる固定の情報(上記例ではメッセージ ダイジェストおによって一律に検証することが可能となる。
[0075] 上記の効果は、事業者 Bとコンシユーマ Cをある種のオンライン取引の当事者と考え た場合、コンシユーマ Cは事業者 Bではなぐ原プログラムの作成、発行者である事業 者 Aを信頼の拠り所に出来る事を意味する。この事は事業者 Bが多数存在し、しかも それらが事業母体や業務実績が明らかでなぐコンシユーマ Cにとつて信頼に足る相 手かどうか分力もな 、場合でも、「信頼できる」事業者 Aの保証のもとで確実な取引が 実現できるという事でもある。さらに付け加えるならば、実績、知名度のない事業者 B 力 信頼できる事業者 Aの「顧客に対する信頼度」を利用することにより、広くコンシュ 一マに対して事業展開できるビジネスチャンスを得ることにも繋がる。
[0076] (実施の形態 2)
図 7は、本発明の実施の形態 2における電子データ検証装置の構成図である。
[0077] 図 7において、図 1と同じ構成要素については同じ符号を用い、説明を省略する。
[0078] 図 7において、電子データ検証装置 701は検証用署名保持手段 707を備え、検証 用署名保持手段 707は書換え前電子データの電子署名(書換え前電子データに与 えられた電子署名) 708を保持する。好適な例では、署名を与える者は書換え前電 子データの作成もしくは発行に関して責任を負う、信頼できる機関等である。
[0079] 検証用署名保持手段 707はメモリであり、書き換え前電子データの電子署名 708 は電子データである。
[0080] 復元後電子データ検証手段 706は検証用署名保持手段 707から書換え前電子デ ータの電子署名 708を取り出し、この電子署名 708を用いて復元後電子データの真 正性を検証する。
[0081] 図 8は、復元後電子データ検証手段 706の動作フローである。
[0082] 図 8において、図 6と同じ構成要素については同じ符号を用い、説明を省略する。
[0083] 書換え後電子データのメッセージダイジェスト(A)と書換え前電子データのメッセ一 ジダイジェスト(B)を比較し照合を行った後、検証の結果が一致であれば、検証用署 名保持手段が保持する電子署名を署名作成者の公開鍵で復号し、 (B)と比較し照 合する (ステップ 805)。続いて照合の結果が一致である力否かを判定し (ステップ 80 6)、判定が YESであれば書換え後電子データは真正であると判断し、判定が NOで あれば書換え後電子データは不正であると判断する。
[0084] なお、ステップ 601とステップ 602の順序は逆でも良ぐまたステップ 805とステップ
806はステップ 602以降の順序であれば任意の位置で良い。
[0085] 以上実施の形態 2によれば、好適には信頼できる第三者が電子署名を用いて書換 え前電子データの完全性 (改ざん等の不正な改変が為されて!/ヽな ヽこと)を保証する ため、書換え後電子データの真正性を信頼できる第三者を通じて確実に行うことが 出来る。
[0086] 効果の具体例としては、例えば原プログラム Xの発行者 Aが Xに対する署名を作成 、配布しておけば、二次配布事業者 Bが許可された範囲においてプログラム Xの内容 を修正 (事業者 B独自の値を埋め込んだプログラム X'を作成)し、コンシユーマ こ 配布した際、コンシユーマ Cは事業者 Bが行った変更内容が許可された範囲であるこ とを、事業者 Aの署名を用いて確実に検証できる。ここで、許可された範囲とは即ち プログラム Xに付加された誤り訂正符号の訂正ルール (訂正可能範囲)そのものであ り、特別の変更ルールを事業者 Aから都度取得する必要もなぐコンシユーマ Cは自 律的にプログラム X,の正当性を確認できる。さらに、事業者 Bが多種にわたる場合で も、コンシユーマ Cは単一の電子署名と共通の訂正ルールを用いて一律に検証処理 を行うことが可能であり、事業者 Bの増大によるコンシユーマ Cの処理リソース増加が なぐハードウェアコスト低減にも効果がある。
[0087] (実施の形態 3)
本発明の実施の形態 3における電子データ検証装置の構成図は、実施の形態 2と 同じく図 7で示される。
[0088] 図 9は、実施の形態 3における電子データ検証手段の動作フローである。
[0089] 図 9において、図 6と同じ構成要素については同じ符号を用い、説明を省略する。
[0090] 書換え後電子データのメッセージダイジェスト (A)を作成した後、検証用署名保持 手段が保持する電子署名を署名作成者の公開鍵で復号し、 (A)と比較し照合する( ステップ 902)。続いて照合の結果が一致であるか否かを判定し (ステップ 903)、判 定が YESであれば書換え後電子データは真正であると判断し、判定が NOであれば 書換え後電子データは不正であると判断する。
[0091] 以上実施の形態 3によれば、好適には信頼できる第三者が電子署名を用いて書換 え後電子データの完全性 (改ざん等の不正な改変が為されて ヽな ヽこと)を保証する ため、書換え後電子データの真正性を信頼できる第三者を通じて確実に行うことが 可能となる。さらのこの場合、書換え前電子データのメッセージダイジェストを取得す る必要がないため、処理時間短縮と処理リソース低減の効果が得られる。 [0092] (実施の形態 4)
図 10は、本発明の実施の形態 4における電子データ検証装置の構成図である。
[0093] 図 10において、図 1と同じ構成要素については同じ符号を用い、説明を省略する。
[0094] 図 10において、電子データ検証装置 1001は電子データ復元手段 1005と電子デ ータ書換え検証手段 1007を備え、電子データ書換え検証手段 1007は電子データ 復元手段 1005と連携し、書換え後電子データの中に訂正できな ヽ誤りの存在を検 知する。
[0095] 電子データ復元手段 1005、及び電子データ書換え検証手段 1007は、いずれも 電子計算処理を行う演算機である。
[0096] 図 11は、電子データ書換え検証手段 1007の動作フローである。
[0097] 図 11において、図 6と同じ構成要素については同じ符号を用い、説明を省略する。
[0098] 電子データ書換え検証手段が訂正できな 、誤りを検出した力否かを判定し (ステツ プ 1101)、判定の結果が YESの場合には書換え後電子データは不正であると判断 する。
[0099] 判定の結果が NOの場合には、電子データ復元処理が未完了であれば処理を継 続し、電子データ復元処理が完了して 、れば復元後電子データ検証手段へ処理を 進める。
[0100] 図 12は、訂正できない誤りの一例(訂正できないビット誤りの例)である。 (7, 4)ハミ ング符号を用いた誤り訂正において、既述した論理式 (式 1,式 2,式 3)は、図に示さ れる 8通りのビットパターンを取り得る。ここで冗長ビット Pij l, Pij2, Pij3は書換え対 象ではないため、ビット誤りは起こり得ないものとして扱うことが出来る。このため図に 示される 3種類のビットパターン 1201を検出した場合は、 Xijl, Xij2, Xij3, Xij4い ずれか 2ビット以上に誤りが存在し、誤り訂正不能であると判別できる。
[0101] 図 13は、前記訂正できないビット誤りを検出する場合の、電子データ書換え検証手 段 1007、及び連携して動作する電子データ復元手段 1005の動作フローである。
[0102] 図 13において、図 5及び図 6と同じ構成要素については同じ符号を用い、説明を 省略する。
[0103] 電子データ復元手段の処理において、 3つの論理式(式 1,式 2,式 3)を演算した 後、 3式とも演算結果力^になるか否かを判定する (ステップ 1301)。判定結果が NO の場合、電子データ書換え検証手段は 3式の演算結果が誤り訂正可能なビットバタ ーンであるか否かを判定する (ステップ 1302)。判定結果が YESの場合は電子デー タ復元手段の処理を継続し、判定結果が NOの場合にはこの時点で書換え後電子 データが不正であると判断する。
[0104] 図 14は、訂正できない誤りの別の一例(訂正できないバイト誤りの例)である。
[0105] 図 14において、ビット 1401〜1405は電子データ復元手段が訂正しょうとするビッ トを表す。ここで、前記各ビットの誤り訂正は(7, 4)ハミング符号により全て訂正可能 であるものとする。
[0106] しかしながら、ビット 1401〜1404はバイトオフセット k=0に、ビット 1405はバイトォ フセット k= lに位置する。この例が示すように、 ECCiによって訂正されるデータブロ ック iの中で、訂正されるビットが複数のバイトオフセット kに跨る場合は、 2バイト以上 の誤りが存在することが判り、 1バイト誤り訂正が不可能であると判別できる。
[0107] 図 15は、前記訂正できないバイト誤りを検出する場合の、電子データ書換え検証 手段 1007、及び連携して動作する電子データ復元手段 1005の動作フローである。
[0108] 図 15において、図 5及び図 6と同じ構成要素については同じ符号を用い、説明を 省略する。
[0109] ビットオフセット j = 0〜7までの 1回のループをループ Lとする(ステップ 1503)。
[0110] 電子データ復元手段の処理において、 3つの論理式(式 1,式 2,式 3)を演算した 後、 3式とも演算結果力^になるか否かを判定する (ステップ 1501)。判定結果が NO の場合、電子データ書換え検証手段は 3式の演算結果が、ループ L内で同一のビッ トパターンである力否かを判定する(ステップ 1502)。判定結果が YESの場合は電 子データ復元手段の処理を継続し、判定結果が NOの場合にはこの時点で書換え 後電子データが不正であると判断する。
[0111] 以上実施の形態 4によれば、電子データ復元に際して訂正できないデータ誤り、即 ち本来行ってはならないデータ書換えを検出することができる。具体的な発明の効果 としては、例えばプログラムコードを外部力も受け取って実行する際、書換えが許され た範囲を逸脱していた場合にそれを検出することが出来、不正に書換えられたプロ グラムコードによってもたらされる被害を未然に防止できる。併せて、電子データ復元 時に不正な書換えを検出できるため、不正検出に要する処理時間を短縮する効果 が得られる。
[0112] (実施の形態 5)
図 16は、本発明の実施の形態 5における電子データ検証装置の構成図である。
[0113] 図 16において、図 1と同じ構成要素については同じ符号を用い、説明を省略する。
[0114] 図 16において、電子データ検証装置 1601は電子データ復元手段 1605、電子デ 一タ書換規則保持手段 1607、電子データ書換え検証手段 1609を備える。電子デ ータ書換え規則保持手段は、電子データ書換え規則 1608を保持する。
[0115] 電子データ復元手段 1605、及び電子データ書換え検証手段 1609は、いずれも 電子計算処理を行う演算機である。
[0116] 電子データ書換え規則保持手段 1607はメモリであり、電子データ書換え規則 160
8は電子データである。
[0117] 図 17は、電子データ書換え検証手段 1609の動作フローである。
[0118] 図 17において、図 6と同じ構成要素については同じ符号を用い、説明を省略する。
[0119] 電子データ書換え検証手段が書換え規則に合致しない書換えを検出したカゝ否かを 判定し (ステップ 1701)、判定の結果が YESの場合には書換え後電子データは不正 であると判断する。
[0120] 判定の結果が NOの場合には、電子データ復元処理が未完了であれば処理を継 続し、電子データ復元処理が完了して ヽれば復元後電子データ検証へ処理を進め る。
[0121] 図 18は、電子データ書換え規則 1608の一例である。
[0122] 書換え制限ブロックリスト 1801は、書換え前電子データと書換え後電子データとの 差分に制限規則を設けたブロックの一覧である。規則データ 1802が示す例では、ブ ロック番号 iについて、バイトオフセット j, k, 1に位置するデータがいずれも、書換え後 に m以上 n以下の値になるべきである、という規則を意味する。
[0123] 書換え禁止ブロックリスト 1803は、書換え前電子データと書換え後電子データの差 異を認めない、即ち一切の書換えを許可しないブロックの一覧である。規則データ 1 804が示す例では、ブロック番号 X, y, zについては一切の書換えを許可しないこと を意味する。
[0124] 電子データ書換え検証手段 1609がこれらの規則に違反した書換えを検知した場 合は、書換え後電子データは不正であると判断される。
[0125] また、 1805に示す書換えフリーブロックリストを設けても良い。これは指定したブロ ックに対し任意の書換えを許可するものであり、訂正できない誤りを含んだ書換えも 許可する。規則データ 1806が示す例では、ブロック番号 p, qについては任意の書 換えを許可する。この場合、復元後電子データ検証手段もこれに連動し、ブロック番 号 p, qについて検証対象外とする事が望ましい。
[0126] なお、電子データ書換え規則 1608の詳細なデータフォーマットは上記に限定され るものではなぐ電子データ書換えの可否を機械的に解釈できる形式であれば任意 のデータフォーマットで良 、。
[0127] 以上実施の形態 5によれば、誤り訂正符号の性質に基づく書換え許容範囲に加え て、独自の制限規則を追加したり、逆に緩和することが可能となり、より柔軟に書換え 規則を設定できる効果が得られる。
[0128] なお、電子データ書換え規則 1608は、電子データ検証装置 1601以外の装置と共 有しても良い。好適な例として、書換え後電子データを作成する装置と共有する方法 が考えられる。この場合、従来二者間において共通の電子データ書換え規則を持つ 場合に、対象となる電子データ全ての領域に関わる書換え規則を共有する必要があ つたが、本例においては基本的な書換え規則は誤り訂正符号そのものに含まれるた め共有不要であり、追加すべき最小限の書換え規則を二者間で共有すれば良い。こ の方法により、共有されるデータ量を少なくする効果が得られる。
[0129] また、別の好適な例として、第三者が電子データ書換え規則 1608を発行し、電子 データ検証装置 1601と、他の装置がこれを取得する方法が考えられる。この場合、 書換え規則の正当性を保証できる効果が得られる。
[0130] (実施の形態 6)
図 19は、本発明の実施の形態 6における電子データ作成装置の構成図である。
[0131] 図 19において、電子データ作成装置 1901は電子データ書換え規則保持手段 19 02及び電子データ書換え手段 1904を備える。電子データ書換え規則保持手段 19
02は、電子データ書換え規則 1903を保持する。
[0132] 電子データ書換え規則保持手段 1902はメモリであり、電子データ書換え規則 190
3は電子データである。
[0133] 電子データ書換え手段 1904は、電子計算処理を行う演算機である。
[0134] 電子データ書換え手段 1904は、電子データ書換え規則 1903に従い、書換え前 電子データの一部を書換え後電子データを作成する。
[0135] 図 24は、本発明の実施の形態 6における電子データ作成装置の動作を示すフロー である。
[0136] 電子データ書換え手段 1904は、書換え前電子データに対する訂正符号に基づく 電子データ書換え規則 1903を、該規則を記憶する電子データ書換え規則保持手 段 1902から読み出し (ステップ 2401)、読み出した電子データ書換え規則 1903に 従 、電子データを書換える(ステップ 2402)。
[0137] 図 20は、電子データ書換え規則の一例である。図 20において、 2001は書換え規 則データの例を具体的に示したものである。電子データ書換え規則は、書換え前電 子データに対する誤り訂正符号の性質に基づいて設定される。先に示した (7, 4)ハ ミング符号を応用した誤り訂正符号を用いる場合、ブロック長 4バイトの固定ブロック に対し、書換え可能バイト数が最大 1バイトであるため、この条件に合わせた書換え 規則を設ける。
[0138] なお、誤り訂正符号は(7, 4)ハミング符号に限定されるものではなぐ他の誤り訂 正符号を用いる場合には、符号の性質に従った書換え規則を設ければ良い。
[0139] 以上実施の形態 6によれば、データブロック内で最大 1バイト等、限定された条件で 任意の書換えを施したデータの作成が可能となる。従来は限定条件下であっても、 書換えを施したデータの真正性を示すには書換え者自身の署名を付加する等の措 置が必要であつたが、本実施の形態によれば署名付与の必要がなぐしかも書換え 前電子データの作成者 (例えば原始プログラムコードの作成、発行者)の保証の基で 第三者に電子データを再配布することが出来る。即ち書換え前電子データの発行者 である事業者 Aの保証のもと、事業者 (あるいはコンシユーマ) Bは電子データに独自 のデータを埋め込み、コンシユーマ(あるいは事業者) cに引き渡すことが可能となる
。本実施の形態による電子データ作成装置を有する Bにとつては、配布する電子デ ータに B自身の署名を付与する必要がなぐ署名生成のための処理コスト、署名鍵管 理のためのセキュリティコストを削減できる効果がある。
[0140] (実施の形態 7)
本発明の実施の形態 7における電子データ検証装置の構成図は、実施の形態 6と 同じく図 19で示される。
[0141] 図 21は、実施の形態 7における電子データ書換え規則の一例である。
[0142] 書換え制限ブロックリスト 2101は、書換え前電子データと書換え後電子データとの 差分に制限規則を設けたブロックの一覧である。規則データ 2102が示す例では、ブ ロック番号 iについて、バイトオフセット j, k, 1に位置するデータがいずれも、書換え後 に m以上 n以下の値になるべきである、という規則を意味する。
[0143] 書換え禁止ブロックリスト 2103は、書換え前電子データと書換え後電子データの差 異を認めない、即ち一切の書換えを許可しないブロックの一覧である。規則データ 2 104が示す例では、ブロック番号 X, y, zについては一切の書換えを許可しないこと を意味する。
[0144] 電子データ書換え手段 1904は、これらの電子データ書換え規則に従って書換え 前電子データの一部を書換え、書換え後電子データを作成する。
[0145] 好ましくは電子データ書換え規則 1903は書換え後電子データを引き渡す相手側 装置と共有しても良く、さらに好ましくは電子データ書換え規則 1903は電子データ 作成装置 1901と、前記相手側装置の両者が信頼する第三者によって保証しても良 い。
[0146] 以上実施の形態 7によれば、誤り訂正符号の性質に基づく書換え許容範囲に加え て、独自の制限規則を追加したり、逆に緩和することが可能となり、より柔軟に書換え 規則を設定できる効果が得られる。
[0147] なお、実施の形態 7の応用として、図 22に例示するような書換え強制ブロックリスト を書換え規則の一部に設けても良い。書換え強制ブロックリスト 2201は、指定したブ ロック X, y, zについて、共通のバイトオフセット jの位置に値 mを書き込む、という規貝 IJ を示す。誤り訂正符号の性質上、既に書換えが行われたブロックに対して、別のバイ トオフセットへ書換えが為された場合には訂正不能となるため、前記の書換え禁止ブ ロックを用いることなく不正な書換えを抑止できる。書換え禁止ブロックリストは、書換 え後電子データを引き渡す相手側装置と共有する必要がなぐ共有データの量を少 なくする効果が得られる。
[0148] (実施の形態 8)
実施の形態 8は、本発明の実施の形態 1に示す電子データ検証装置と同等の機能 を集積回路を用いて実現するものである。
[0149] 図 25は、本発明の実施の形態 8における集積回路の構成図である。
[0150] 図 25において、集積回路 2501は、メモリ部 2502と、 ROM (Read Only Memo ry:読出し専用メモリ) 2507と、 CPU (Central Processing Unit:中央演算ュ-ッ ト) 2508と、インタフェース部 2509を備え、これらはバス 2510で結合されている。メ モリ部 2502は書換え後電子データ 2503及び書換え前電子データに対する誤り訂 正符号 2504を保持する。 ROM2507は電子データ復元処理部 2505及び復元後 電子データ検証処理部 2506を保持し、 CPU2508を用いてこれらの処理を実行す る。好適には書換え後電子データ 2503及び書換え前電子データに対する誤り訂正 符号 2504はインタフェース部 2509を介して集積回路の外部から入力され、メモリ部 2502内〖こ転送される。
[0151] メモリ部 2502は実施の形態 1に示す電子データ保持手段 102に対応する機能を 持つ。
[0152] 同様に、書換え後電子データ 2503は書換え後電子データ 103に、書換え前電子 データに対する誤り訂正符号 2504は書換え前電子データに対する誤り訂正符号 10 4に、電子データ復元処理部 2505は電子データ復元手段 105に、復元後電子デー タ検証処理部は復元後電子データ検証手段 106に、それぞれ対応する機能を持つ
[0153] 以上実施の形態 8を備えた集積回路を用いれば、実施の形態 1で示した内容と同 様の効果が得られる。
[0154] (実施の形態 9) 実施の形態 9は、本発明の実施の形態 6に示す電子データ検証装置と同等の機能 を集積回路を用いて実現するものである。
[0155] 図 26は、本発明の実施の形態 9における集積回路の構成図である。
[0156] 図 26にお!/、て、集積回路 2601は、メモリ咅 2602と、 ROM2607と、 CPU2608と 、インタフェース部 2609を備え、これらはバス 2610で結合されている。メモリ部 2602 は書換え前電子データ 2605及び電子データ書換え規則 2603を保持する。 ROM2 607は電子データ書換え処理部 2604を保持し、 CPU2508を用いて電子データ書 換え処理を実行する。インタフェース部 2609は、書換え処理が完了した電子データ を、書換え後電子データ 2606として集積回路の外部に出力する。
[0157] メモリ部 2602は実施の形態 6に示す電子データ保持手段 1902に対応する機能を 持つ。
[0158] 同様に、電子データ書換え規則 2603は電子データ書換え規則 1903に、電子デ ータ書換え処理部 2604は電子データ書換え手段 1904に、それぞれ対応した機能 を持つ。
[0159] 以上実施の形態 9を備えた集積回路を用いれば、実施の形態 6に示した内容と同 様の効果が得られる。
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲 を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明ら かである。
本出願は、 2004年 12月 10日出願の日本特許出願 (特願 2004— 357861)に基 づくものであり、その内容はここに参照として取り込まれる。
産業上の利用可能性
[0160] 本発明にかかる電子データ検証装置、電子データ作成装置、電子データ検証方 法、電子データ作成方法及び集積回路は、電子データ配布に関する汎用性を有し、 ネットワークを通じたプログラム配布、コンテンツ配布、エージェントシステム、認証サ 一ビス等に有用である。また電子媒体を解して電子データを配布する、オフライン型 サービス等の用途にも応用できる。

Claims

請求の範囲
[1] データの一部が書換えられた書換え後電子データの検証を行う電子データ検証装 置であって、
書換え後電子データと、書換え前電子データに対する誤り訂正符号を保持する電 子データ保持手段と、
前記誤り訂正符号に基づ!/、て、書換え後電子データの復元を行う電子データ復元 手段と、
前記電子データ復元手段により復元された電子データを、書換え前電子データと 照合し、照合結果を用いて復元後電子データの正当性を検査する復元後電子デー タ検証手段と、
を備えた電子データ検証装置。
[2] 書換え前電子データの電子署名を保持する検証用署名保持手段を備え、
前記復元後電子データ検証手段が、前記検証用署名保持手段が保持する電子署 名から喑復号化演算により導かれたデータと、復元前電子データからハッシュ演算に より導かれたデータとを比較し、前記比較の結果が所定の条件に合致するか否かを 検査することを特徴とする請求項 1に記載の電子データ検証装置。
[3] 書換え前電子データの電子署名を保持する検証用署名保持手段を備え、
前記復元後電子データ検証手段が、前記検証用署名保持手段が保持する電子署 名から喑復号化演算により導かれたデータと、復元後電子データからハッシュ演算に より導かれたデータとを比較し、前記比較の結果が所定の条件に合致するか否かを 検査することを特徴とする請求項 1に記載の電子データ検証装置。
[4] 前記電子データ復元手段が書換え後電子データの中に訂正できな!ヽ誤りの存在 を検出した場合に、書換え後電子データは不正と判断する電子データ書換え検証 手段を備えることを特徴とする請求項 1に記載の電子データ検証装置。
[5] 電子データの書換え規則を保持する電子データ書換え規則保持手段を備え、 前記電子データ復元手段が行うデータの訂正が、前記電子データ書換え規則保 持手段に保持された書換え規則に合致しているカゝ否かを検査し、合致しない場合に 、書換え後電子データは不正であると判断する電子データ書換え検証手段を備える ことを特徴とする請求項 1に記載の電子データ検証装置。
[6] 電子データの一部を書換えて新たな電子データを作成する電子データ作成装置 であって、
書換え前電子データに対する誤り訂正符号に基づく書換え規則を保持する電子デ ータ書換え規則保持手段と、
前記電子データ書換え規則保持手段が保持する書換え規則に従い電子データを 書換える電子データ書換え手段と、
を備えた電子データ作成装置。
[7] 前記書換え規則は、書換え前電子データに対する誤り訂正符号が有する訂正可 能条件に一致するか、もしくは充足する条件を書換え規則とする請求項 6に記載の 電子データ作成装置。
[8] データの一部が書換えられた書換え後電子データの検証を行う電子データ検証装 置の電子データ検証方法であって、
前記電子データ検証装置によって実行されるところの、
書換え後電子データをメモリから読出すステップと、
書換え前電子データに対する誤り訂正符号をメモリから読出すステップと、 前記誤り訂正符号に基づ!、て、書換え後電子データの復元を行うステップと、 前記電子データ復元手段により復元された電子データを、書換え前電子データと 照合するステップと、
前記照合結果を用 V、て復元後電子データの正当性を検査するステップと、 からなる電子データ検証方法。
[9] 電子データの一部を書換えて新たな電子データを作成する電子データ作成装置 の電子データ作成方法であって、
前記電子データ作成装置によって実行されるところの、
書換え前電子データに対する誤り訂正符号に基づく書換え規則をメモリから読出 すステップと、
前記書換え規則に従い電子データを書換えるステップと、
からなる電子データ作成方法。
[10] データの一部が書換えられた書換え後電子データの検証を行う集積回路であって 書換え後電子データ及び書換え前電子データに対する誤り訂正符号データを外 部から入力するインタフェース部と、
前記書換え後電子データ及び前記誤り符号データを保持するメモリ部と、 前記誤り訂正符号に基づ!/、て、書換え後電子データの復元を行う電子データ復元 処理部と、
前記電子データ復元処理部により復元された電子データを、書換え前電子データ と照合する復元後電子データ検証処理部と、
を備えた集積回路。
[11] 電子データの一部を書換えて新たな電子データを作成する集積回路であって、 書換え前電子データ及び書換え前電子データに対する誤り訂正符号に基づく書 換え規則を保持するメモリ部と、
前記書換え規則に従い前記書換え前電子データを書換え、書換え後電子データ を作成する電子データ書換え処理部と、
書換え後電子データを外部に出力するインタフェース部と、
を備えた集積回路。
PCT/JP2005/022571 2004-12-10 2005-12-08 電子データ検証装置 WO2006062166A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004357861A JP2008060617A (ja) 2004-12-10 2004-12-10 電子データ検証装置、電子データ作成装置、電子データ検証方法、電子データ作成方法及び集積回路
JP2004-357861 2004-12-10

Publications (1)

Publication Number Publication Date
WO2006062166A1 true WO2006062166A1 (ja) 2006-06-15

Family

ID=36577989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/022571 WO2006062166A1 (ja) 2004-12-10 2005-12-08 電子データ検証装置

Country Status (2)

Country Link
JP (1) JP2008060617A (ja)
WO (1) WO2006062166A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113416A (zh) * 2014-06-26 2014-10-22 北京天威诚信电子商务服务有限公司 基于电子签名的二维码验证方法及系统
CN111046863A (zh) * 2019-12-10 2020-04-21 南宁凯旋互联网科技有限公司 数据处理方法、装置、设备及计算机可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5823749B2 (ja) * 2011-07-11 2015-11-25 株式会社ディスコ 光デバイス基板の分割方法
JP5822123B2 (ja) * 2011-10-04 2015-11-24 大日本印刷株式会社 セキュリティトークン、データの更新方法及びコンピュータプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224896A (ja) * 1992-12-03 1994-08-12 Hitachi Ltd 電子化文書処理システムおよびディジタル署名の生成方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224896A (ja) * 1992-12-03 1994-08-12 Hitachi Ltd 電子化文書処理システムおよびディジタル署名の生成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Q. SUN ET AL: "A NEW SEMI-FRAGILE IMAGE AUTHENTICATION FRAMEWORK COMBINING ECC AND PKI INFRASTRUCTURES.", IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS., vol. 2, 26 May 2002 (2002-05-26), pages 440 - 443, XP001109773 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113416A (zh) * 2014-06-26 2014-10-22 北京天威诚信电子商务服务有限公司 基于电子签名的二维码验证方法及系统
CN104113416B (zh) * 2014-06-26 2017-08-25 北京天诚安信科技股份有限公司 基于电子签名的二维码验证方法及系统
CN111046863A (zh) * 2019-12-10 2020-04-21 南宁凯旋互联网科技有限公司 数据处理方法、装置、设备及计算机可读存储介质
CN111046863B (zh) * 2019-12-10 2023-07-11 南宁凯旋互联网科技有限公司 数据处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
JP2008060617A (ja) 2008-03-13

Similar Documents

Publication Publication Date Title
JP4373442B2 (ja) コンピュータ・プログラムをシールする方法、コンピュータ・プログラムを認証する方法、及び、コンピュータ可読媒体
US8417968B2 (en) Secure repository with layers of tamper resistance and system and method for providing same
TWI434565B (zh) 密鑰保護機制
US7065650B2 (en) Method for indicating the integrity of a collection of digital objects
JP4501349B2 (ja) システムモジュール実行装置
CN109905360B (zh) 数据验证方法及终端设备
CN111460525B (zh) 一种基于区块链的数据处理方法、装置及存储介质
CN112907375B (zh) 数据处理方法、装置、计算机设备和存储介质
JP2004229316A (ja) メッセージ認証デバイス
Chaniago et al. Electronic document authenticity verification of diploma and transcript using smart contract on Ethereum blockchain
WO2006062166A1 (ja) 電子データ検証装置
CN107026729B (zh) 用于传输软件的方法和装置
Chernyi et al. Security of electronic digital signature in maritime industry
WO2020233892A1 (en) Method for securing against fault attacks a verification algorithm of a digital signature of a message
CN110826034B (zh) 一种文件签名方法、装置、电子设备及可读存储介质
CN111291415A (zh) 数据存储方法、装置及业务系统服务器
WO2006093238A1 (ja) 認証補助装置、認証主装置、集積回路及び認証方法
US20220067727A1 (en) Method for operating a distributed database system, distributed database system, and industrial automation system
CN114747173A (zh) 经由退化密钥的数据完整性验证
CN111369332A (zh) 基于区块链的数据处理方法及装置
JP2007157021A (ja) 耐タンパ証明携帯プログラム配信システム及びその方法
Schmidt et al. How Little is Enough? Implementation and Evaluation of a Lightweight Secure Firmware Update Process for the Internet of Things.
Bauer et al. Forging Dilithium and Falcon Signatures by Single Fault Injection
WO2023212838A1 (en) Fast signature generation and verification
Grimen et al. Tamper protection of online clients through random checksum algorithms

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05814567

Country of ref document: EP

Kind code of ref document: A1