Generation device, verification device, system, generation method, verification method, and program

The generation and verification devices facilitate sequential setting of modification rules using Chameleon Hash, addressing the limitations of existing systems by enabling flexible and reliable change rule setting for subsequent modifiers in multi-signature transactions.

JP7878416B2Active Publication Date: 2026-06-23NEC CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NEC CORP
Filing Date
2022-07-14
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Existing systems require all signers to communicate before signing, limiting the ability of each changer to set change rules for subsequent modifiers in multi-signature transactions.

Method used

A generation device and verification device that allow data modifiers to sequentially set modification rules by generating and modifying verification information and parameters for subsequent areas, using Chameleon Hash to enable flexible and sequential setting of change rules.

Benefits of technology

Enables data modifiers to set modification rules for subsequent modifiers, verifying changes within specified ranges and reducing data transfer requirements, while maintaining trust and reliability in digital transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007878416000001
    Figure 0007878416000001
  • Figure 0007878416000002
    Figure 0007878416000002
  • Figure 0007878416000003
    Figure 0007878416000003
Patent Text Reader

Abstract

This generation device (1) comprises a control unit (3) that: generates second verification information and a second verification parameter corresponding to content in a second region that is at least a portion of a first region in which content can be altered by a first alterer, the content in the second region being alterable by a second alterer; acquires first verification information and a first verification parameter corresponding to the content in the first region before alteration; and alters the first verification parameter so as to correspond to the first verification information and the content in the first region after alteration.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a generating device, a verifying device, a system, a generating method, a verifying method, and a non-temporary computer-readable medium for generating information for data verification. [Background technology]

[0002] In recent years, with the digitalization of paper documents and seals, trust services to ensure data reliability have attracted attention. Therefore, methods have been developed to attach a digital signature each time a transaction is performed, allowing verification of the user who performed the transaction and the details of that transaction. For example, Patent Document 1 discloses a system that, when a revised version of a document is created, generates a signature using a hash value combining the hash value of the revised document and the hash value of the original document. [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2021-114201 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] In the system disclosed in Patent Document 1, it is required that each change be verifiable as having been made by a changer designated by the previous changer, and only to the extent designated by the previous changer. However, in general, with multi-signature using multiple private keys, all signers must communicate with each other before signing. In other words, in order to realize multi-signature, all changers are specified when the initial document is generated. For this reason, each changer could not sequentially set change rules for changes made by subsequent changers.

[0005] In view of the above-mentioned issues, the purpose of this disclosure is to provide a generation device, verification device, system, generation method, verification method, and non-temporary computer-readable medium that allow data modifiers to sequentially set modification rules for subsequent modifiers. [Means for solving the problem]

[0006] A generation device according to one aspect of the present disclosure generates second verification information and second verification parameters corresponding to the content of a second area, which is at least a part of a first area, which is an area where a first modifier can modify the content; obtains first verification information and first verification parameters corresponding to the content of the first area before modification; and modifies the first verification parameters to correspond to the first verification information and the content of the first area after modification.

[0007] A verification device according to one aspect of the present disclosure includes a control means that acquires the modified content of a first area which is an area in which a first modifier can modify the content, first verification information and first verification parameters corresponding to the modified content of the first area, and second verification information corresponding to the unmodified content of a second area which is at least a part of the first area and is an area in which a second modifier can modify the content, and verifies the content modification by the first modifier based on the information of the first modifier, the acquired modified content of the first area, the first verification information and first verification parameters, and the second verification information.

[0008] A system according to one aspect of the present disclosure comprises one or more generating devices and a verification device. Corresponding to each of the one or more generating devices, a first modifier, a second modifier, a first area which is an area in which the first modifier can modify the content, and a second area which is at least a part of the first area and in which the second modifier can modify the content are defined. Each of the one or more generating devices generates second verification information and second verification parameters corresponding to the content of the second area before modification, obtains first verification information and first verification parameters corresponding to the content of the first area before modification, and modifies the first verification parameters to correspond to the first verification information and the content of the first area after modification. The verification device verifies the content modification by the first modifier for at least one of the generating devices based on the information of the first modifier, the content of the first area after modification, the first verification information, the modified first verification parameters, and the second verification information.

[0009] A generation method according to one aspect of this disclosure is a method for generating information. The generation method generates second verification information and second verification parameters corresponding to the content of a second area, which is an area where a second modifier can modify the content, and which is at least a part of a first area, which is an area where a first modifier can modify the content; obtains first verification information and first verification parameters corresponding to the content of the first area before modification; and modifies the first verification parameters to correspond to the first verification information and the content of the first area after modification.

[0010] A non-temporary computer-readable medium according to one aspect of the present disclosure stores a program for causing a computer to generate second verification information and second verification parameters corresponding to the content of a second area, which is an area where a second modifier can modify the content, which is at least a portion of a first area, which is an area where a first modifier can modify the content; to obtain first verification information and first verification parameters corresponding to the content of the first area before modification; and to modify the first verification parameters to correspond to the first verification information and the content of the first area after modification.

[0011] A verification method according to one aspect of the present disclosure obtains the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the unmodified content of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content. The method then verifies the content modification by the first modifier based on the information of the first modifier, the obtained modified content of the first area, the first verification information and first verification parameters, and the second verification information.

[0012] A non-temporary computer-readable medium according to one aspect of the present disclosure stores a program for causing a computer to retrieve the modified content of a first area which is an area in which a first modifier can modify the content, first verification information and first verification parameters corresponding to the modified content of the first area, and second verification information corresponding to the unmodified content of a second area which is an area in which a second modifier can modify the content, and to verify the content modification by the first modifier based on information of the first modifier, the retrieved modified content of the first area, the first verification information and first verification parameters, and the second verification information. [Effects of the Invention]

[0013] This disclosure provides a generation device, verification device, system, generation method, verification method, and non-temporary computer-readable medium that enable data modifiers to sequentially set modification rules for subsequent modifiers. [Brief explanation of the drawing]

[0014] [Figure 1] This is a block diagram showing the overall configuration of the system according to Embodiment 1. [Figure 2] This is a diagram illustrating the generation process according to Embodiment 1. [Figure 3] This flowchart shows an example of the generation process flow according to Embodiment 1. [Figure 4] This flowchart shows an example of the verification process flow according to Embodiment 1. [Figure 5] This is a block diagram showing the system configuration according to Embodiment 2. [Figure 6] This is a diagram illustrating the processing flow of the system according to Embodiment 2. [Figure 7] This is a block diagram showing the configuration of the initial generation device according to Embodiment 2. [Figure 8] This flowchart shows an example of the processing flow of the initial generation device according to Embodiment 2. [Figure 9] This is a block diagram showing the configuration of the intermediate generation apparatus according to Embodiment 2. [Figure 10] This flowchart shows an example of the processing flow of the intermediate generation device according to Embodiment 2. [Figure 11] This figure shows an example of how a document can be displayed on the display unit according to Embodiment 2. [Figure 12] This figure shows an example of a display on the display unit when accepting the designation of a changer. [Figure 13] This is a block diagram showing the configuration of the termination generation device according to Embodiment 2. [Figure 14] This flowchart shows an example of the processing flow of the termination generation device according to Embodiment 2. [Figure 15] This is a block diagram showing the configuration of the verification device according to Embodiment 2. [Figure 16] This flowchart shows an example of the processing flow of the verification device according to Embodiment 2. [Figure 17] This is a diagram illustrating the processing flow of the system according to the first modified example of Embodiment 2. [Figure 18] This is a diagram illustrating the processing flow of a system according to a second modified example of Embodiment 2. [Figure 19] This is a diagram illustrating the processing flow of the system according to Embodiment 3. [Figure 20] This figure shows an example of the structure of the final document according to Embodiment 3. [Modes for carrying out the invention]

[0015] Embodiments of the present disclosure will be described in detail below with reference to the drawings. In each drawing, the same or corresponding elements are denoted by the same reference numerals, and redundant explanations will be omitted where necessary for clarity.

[0016] <Definition> In the following embodiments, x←y represents the operation of uniformly randomly selecting an element from y and assigning it to x when y is a set, and the operation of outputting x when y is an algorithm or a function. Furthermore, x||y represents the connection between x and y.

[0017] <Embodiment 1> First, Embodiment 1 of this disclosure will be described. Figure 1 is a block diagram showing the overall configuration of System 1000 according to Embodiment 1. System 1000 is a computer system that manages information for verifying the authenticity of target data that is to be managed. In System 1000, the target data can be modified.

[0018] The target data is data such as a document, and has one or more areas. An area refers to an area in the data structure that can hold content. Content is the content of the data and includes, for example, characters, numbers, or images. In Embodiment 1, the target data includes at least a first area. The first area is defined as having at least a first modifier who can modify its content.

[0019] System 1000 comprises a generation device 1 and a verification device 4. The generation device 1 and the verification device 4 may be connected to a wired or wireless communication network.

[0020] The generating device 1 consists of one or more computer devices corresponding to the first modifier. For example, the generating device 1 may be a device operated by the first modifier, or a device under the supervision of the first modifier. Whether or not it is operated by the first modifier, or under the supervision of the first modifier, may be determined by various authentication methods.

[0021] The generator 1 generates information to verify an event when an event occurs in which a first modifier modifies the content of a first area in the target data. Note that, in the following, "modifying content" does not necessarily mean that the original content is overwritten by the modified content. For example, it may mean that the modified content is generated separately from the original content.

[0022] The generation device 1 comprises a storage unit 2 and a control unit 3.

[0023] The memory unit 2 is a storage device such as a hard disk or flash memory that functions as a storage means. The memory unit 2 stores a program that causes the generation device 1 to execute the generation method described later.

[0024] The control unit 3 is a processor that functions as a control means for controlling each component of the generation device 1. The control unit 3 loads a program from the storage unit 2 into memory (not shown) and executes the program.

[0025] The verification device 4 is a device that verifies events subject to change. The verification device 4 is composed of one or more computer devices. For example, the verification device 4 determines whether the person who made the change to the first area is the first changer. Further, the verification device 4 determines whether the changed range is within the first area.

[0026] The storage unit 5 is a storage device such as a hard disk or a flash memory that functions as storage means. The storage unit 5 stores a program for causing the verification device 4 to execute a verification method described later.

[0027] The control unit 6 is a processor that functions as control means for controlling each component of the verification device 4. The control unit 6 causes the program to be read from the storage unit 5 into a memory (not shown) and executes the program.

[0028] FIG. 2 is a diagram for explaining the generation process according to Embodiment 1. As shown in the upper part of FIG. 2, the first changer has the authority to change the content of the first area A B The first area A B holds the content D B as the content before being changed by the first changer. The content D B is also referred to as the content before the change in the first area A B .

[0029] Here, corresponding to the content D B in the first area A B , first verification information h B and first verification parameter r B are predetermined. For example, the first verification information h B and the first verification parameter r B may be generated by a device corresponding to the creator who created the content D B in the first area A B .

[0030] A Verification information h and verification parameter r are a pair of verification information, generated based on the content of the corresponding area and the public key of the person authorized to make changes. Verification parameter r changes when the content is modified. However, verification information h does not need to be changed even if the content is modified.

[0031] As shown in the lower part of Figure 2, the first region A B This is the second region A c It includes the second region A. c This is the area where the next modifier can change the content. Second area A c This refers to the content D before the next modifier made changes. C It holds the second region A. c These rules may be predetermined or specified by the first modifier. In the latter case, the range of modification rules that the first modifier can determine is broadened, thus increasing the system's flexibility.

[0032] In response to the second modifier being designated as the next modifier, the control unit 3 of the generating device 1 controls the second region A c Content D c The second verification information h corresponding to this c and the second verification parameter r c Generates.

[0033] The first modifier is in the first area A B Content E B Change to the second area A. For example, the first changer changes to the second area A. c Contents excluding the portion of the content are Content E B You may change it to: Content E B This is the first region A B This is also referred to as the revised content.

[0034] In response to the first modifier changing the content, the control unit 3 of the generating device 1 sets the first verification parameter r B The first verification parameter r B Change to '. First verification parameter r B' is the first verification information h B and the first region A B Content E after modification B This is the parameter corresponding to . In other words, the control unit 3 of the generation device 1 controls the first verification parameter r B The first verification information h B And the first region A B Content E after modification B Modify it to correspond to the following.

[0035] (Chameleon Hash) While not strictly limited, in the following, the verification information h is assumed to be the hash value of the Chameleon Hash, and the verification parameter r is assumed to be a random number. The modified verification parameter will also be referred to as the adaptive random number.

[0036] Chameleon hashing is a cryptographic technique that can be considered as having the property of being able to calculate random numbers that will cause hash values ​​to collide. Using chameleon hashing, for two different messages M and M' and a set of hash value h and random number r corresponding to message M, it is possible to generate r' such that h = Hash(M,r) = Hash(M',r'). For convenience, chameleon hashing will sometimes be expressed as a function that takes M and r as input, but chameleon hashing is not limited to this form. Since chameleon hashing is composed of multiple algorithms, it may not always be possible to express it as a function.

[0037] (Chameleon Hash algorithm) Specifically, Chameleon Hash consists of five algorithms. (1) Public parameter generation: pp CH ←ParamGen(1 κ ) Public parameter pp CH Generates. (2) Key generation: (sk CH ,pk CH )←KeyGen(pp CH ) Public parameter pp CH Based on this, private key kan CH and public key pkCH Generate a set of these. (3) Hash calculation: (h,r)←CHash(pk CH ,M) public key pk CH This is used to generate a pair of hash value h and random number r corresponding to message M. (4) Adaptive random number generation: r'←Adapt(sk CH ,M,M',r,h) private key sk CH This is used to generate adaptive random numbers r' corresponding to the message M' and the hash value h. The algorithm in (4) is also called the Adapt algorithm. (5) Verification: OK / NG ← Check (pk CH ,M,r,h) public key pk, where h corresponds to M and r. CH Determine whether it is a hash value.

[0038] Note that the hash calculation shown in (3) is a method in which random numbers are input from an external source (i.e., h←CHash(pk CH You may also take M,r).

[0039] (Example of the first configuration of Chameleon Hash) The following are example configurations corresponding to (1) to (5). (1) Public parameter generation: pp CH ←ParamGen(1 κ ) (1-1) Randomly select a κ-bit prime number q, and choose a group G and its generators g of order q. (1-2)pp CH Let =(q,G,g). (2) Key generation: (sk CH ,pk CH )←KeyGen(pp CH ) (2-1)x to Z q Select uniformly randomly from, y=g x Let's assume that. (2-2)sk CH =x, pk CH Let = y. (3) Hash calculation: (h,r)←CHash(pk CH ,M) (3-1) r to Z q Select uniformly and randomly from the options. (3-2)h=g M y r Let's assume that. (4) Adaptive random number generation: r'←Adapt(sk CH ,M,M',r,h) (4-1)r'=(M-M')x -1 Let's add r. (5) Verification: OK / NG ← Check (pk CH ,M,r,h) (5-1)h=g M y r If the condition is met, it's OK; if not, it's NG.

[0040] Note that while the calculations in (3-2), (4-1), and (5-1) use a message as input, the following configuration can also be used, where the hash value of the message is used as input instead. The hash value of the message is obtained by inputting the message to the cryptographic hash function H. The cryptographic hash function H is a function that outputs a fixed value for an input of any size. The cryptographic hash function H is a function that satisfies three security requirements: preimage difficulty, second preimage difficulty, and collision difficulty. Examples of cryptographic hash functions H include SHA-1, SHA-2, and SHA-3.

[0041] (Second example of Chameleon Hash configuration) The second configuration example differs from the first configuration example in the calculation formulas for (3-2'), (4-1'), and (5-1'). (1) Public parameter generation: pp CH ←ParamGen(1 κ ) (1-1) Randomly select a κ-bit prime number q, and choose a group G and its generators g of order q. (1-2)pp CH Let =(q,G,g). (2) Key generation: (skCH , pk CH ) ← KeyGen(pp CH ) (2 - 1) Randomly and uniformly select x from Z q and set y = g x . (2 - 2) Set sk CH = x, pk CH = y (3) Hash calculation: (h, r) ← CHash(pk CH , M) (3 - 1) Randomly and uniformly select r from Z q . (3 - 2’) Set h = g H(M) y r . (4) Adaptive random number generation: r’ ← Adapt(sk CH , M, M’, r, h) (4 - 1’) Set r’ = (H(M) - H(M’))x -1 + r (5) Verification: OK / NG ← Check(pk CH , M, r, h) (5 - 1’) If h = g H(M) y r holds, then set OK; otherwise, set NG

[0042] By adopting such a configuration, the chameleon hash algorithm can be applied without any restriction on the message length

[0043] Figure 3 is a flowchart showing an example of the flow of the generation process according to Embodiment 1 First, the control unit 3 of the generation device 1 acquires a document including the content D B in the first area A B , the first verification information h B corresponding to the content D B and the first verification parameter r B (S1)

[0044] Then, the control unit 3 accepts the modification of a part of the content in the first area A B by the first modifier and modifies the content (S2)

[0045] Next, the control unit 3 moves from the first modifier to the second region A C We accept the designation (S3).

[0046] S2 and S3 define the first region A B Of these, the second region A C Content D C This becomes the area that the next modifier can modify, and is the first area A. B The second region A C Content in areas other than Content E is modified by the first modifier. B It will be changed to this.

[0047] Next, the control unit 3 receives the designation of the second changer from the first changer, and accordingly processes the second area A C Content D before modification C The second verification information h corresponding to this c and the second verification parameter r C Generate (S4).

[0048] As an example, the control unit 3 is located in the second region A C Content D C And information about the second modifier, that is, the public key (pk) of the second modifier. C,CH Based on this, the second verification information h C and the second verification parameter r C The control unit 3 may calculate the following: (h C ,r C )=CHash(pk C,CH ,D C ) This calculation corresponds to (3) of the Chameleon Hash algorithm described above. When the Chameleon Hash takes the second configuration example described above, the control unit 3 selects the second verification parameter r from a predetermined group. C Select the second validation parameter r C And, Content D c The hash value obtained by the cryptographic hash function and the public key pk of the second modifier. C,CH Based on this, the second verification information hC You may generate this.

[0049] Although the processes shown in (1) and (2) of the chameleon hash algorithm described above are not illustrated in this diagram, they may be performed at any time before S4.

[0050] Next, the control unit 3 sets the first verification parameter r B The first verification information h B and the modified content E included in the first area B The corresponding parameter r B Change to ' (S5).

[0051] As an example, the control unit 3 receives information that is paired with the information of the first modifier, namely the secret key sk of the first modifier. B,CH And, 1st verification information h B And the first region A B The modified content E included B And, 2nd verification information h c Based on this, the first verification parameter is changed. Specifically, the control unit 3 may use the Adapt algorithm to calculate the following. r B '←Adapt(sk B,CH ,D B ,E B ||h C ,r B ,h B )

[0052] This calculation corresponds to (4) of the Chameleon Hash algorithm described above. When the Chameleon Hash takes the second configuration example described above, the control unit 3 calculates the modified content E B and the second verification information h c Data including (E B ||h c Using the hash value obtained by the cryptographic hash function of ) B You may calculate '.

[0053] The control unit 3 then controls the first region A B The modified content E included BA document including, and the first verification information h B and the changed first verification parameter r B ’, and the generated second verification information h c and the second verification parameter r C are output (S6), and the process ends.

[0054] Note that S2 may be executed after S3 to S4, may be executed between S3 and S4, or may be executed in parallel with S3 or S4.

[0055] As described above, according to Embodiment 1, since the generation device 1 corresponding to the first changer generates verification information and verification parameters corresponding to the content of the changeable area of the next changer, the first changer can sequentially set the next changer. Further, according to the generation device 1 of Embodiment 1, the changer can sequentially set not only the next changer but also the area that the next changer can change. Therefore, the first changer can sequentially set the change rules after the next changer.

[0056] FIG. 4 is a flowchart showing an example of the flow of the verification process according to Embodiment 1. First, the control unit 6 of the verification device 4 obtains the data output by the generation device 1, that is, the content E B after the change of the first area A B in the document including, the first verification information h B , the changed first verification parameter r B ’, the second verification information h C and the second verification parameter r C . However, the acquisition of the second verification parameter r C is not essential.

[0057] Next, the control unit 6 uses the information of the first changer, for example, the public key pk B,CH of the first changer, and the content E B after the change of the first area A B , the first verification information h B and the changed first verification parameter r B ’, and the second verification information h CBased on this, verify the changes made by the first changer (S8). Specifically, the control unit 6 may verify the validity of the following equation. OK←Check(pk B,CH ,E B ||h C ,r B ’,h B )

[0058] Then, the control unit 6 outputs the verification result (S9) and ends the process.

[0059] As described above, according to Embodiment 1, the verification device 4 can verify whether the changed area is within the range specified by the first changer by using the verification information and the verification parameters changed by the generation device 1. In addition, since the generation device 1 uses information paired with the information of the first changer for changing the verification parameters and the verification device 4 uses the information of the first changer for verification, the verification device 4 can verify whether the change is made by the specified first changer. Further, since the content before the change is not required for verification, the amount of data to be transferred can be reduced.

[0060] <Embodiment 2> Next, Embodiment 2 of the present disclosure will be described. Embodiment 2 is a specific example of Embodiment 1. FIG. 5 is a block diagram showing the configuration of a system 1000a according to Embodiment 2. The system 1000a is a computer system that manages information for verifying the authenticity of target data to be managed, similar to the system 1000 of Embodiment 1. In Embodiment 2, as an example, the target data is a document. The system 1000a includes an initial generation device 10, an intermediate generation device 20, a terminal generation device 30, and a verification device 40, and they are configured to be able to communicate with each other via a network N.

[0061] The network N is a wired or wireless communication network. The network N may be a LAN (Local Area Network), a wide area network (WAN = Wide Area Network), the Internet, or a combination thereof.

[0062] The initial generation device 10 is a computer device that corresponds to creator A, who initially creates the document. For example, the initial generation device 10 may be a device operated by creator A, or a device under the supervision of creator A.

[0063] The intermediate generator 20 is a specific example of the generator 1 of Embodiment 1 and is a computer device corresponding to the modifier B. The modifier B is the current modifier when there is a next modifier. When an event occurs in which modifier B modifies the content of a first area in the document, the intermediate generator 20 generates information for verifying that event.

[0064] The termination generator 30 is a computer device corresponding to the modifier C. Modifier C is the last modifier if no next modifier is specified. When an event occurs in which modifier C modifies the content of a second area in the document, the termination generator 30 generates information to verify that event.

[0065] The verification device 40 is a computer device that verifies the creation of a document by creator A, the modification of the content of the first area by modifier B, and the modification of the content of the second area by modifier C.

[0066] Figure 6 will be used to explain the flow of information in system 1000a in more detail. Figure 6 is a diagram illustrating the processing flow of system 1000a according to Embodiment 2.

[0067] The initial generator 10 creates document D1. Then the initial generator 10 designates modifier B as the next modifier and creates verifier v along with document D1. A The signature σ is then sent to the intermediate generator 20 corresponding to the modifier B.

[0068] Document D1 is content D created by creator A's actions. A and Content D B Each of these is data from which data can be extracted. Content D A ,DB The data that can be extracted is each content D A ,D B It is generated based on, for example, content D A ,D B The data that can be extracted is each content D A ,D B Data concatenated from (D A ||D B It is acceptable to express it as follows:

[0069] Content D A Area A cannot be modified by the modifier B. A This is the content. Area A cannot be changed by the modifier B. A This is sometimes referred to as the fourth domain. On the other hand, Content D B This is the area that modifier B can modify.

[0070] Verifier v A This is the first verification information h B and the first verification parameter r B The data includes at least the following. Signature σ is the creator's digital signature for the data associated with document D1.

[0071] The intermediate generator 20 generates content D contained in document D1 received from the initial generator 10. B The intermediate generator 20 modifies at least a portion of it and generates document D2. The intermediate generator 20 designates modifier C as the next modifier and uses verifier v along with document D2. B The signature σ is then transmitted to the terminal generator 30 corresponding to the modifier C.

[0072] Document D2 contains content D A And, Content E B And, Content D C Data from which each of the following can be extracted (D A ||E B ||D C (This is how it is expressed.) Content E B This is content in an area that modifier C cannot change, and is the content after modifier B has made changes to it. Content D CContent D B Area A that can be modified by the modifier C among those that have been changed. C This is the content before it was modified by user C.

[0073] Verifier v B This is the first verification information h B and the modified first verification parameter r B 'and, Second Verification Information h C and the second verification parameter r C The data includes at least the following. Signature σ is the digital signature generated by the initial generator 10.

[0074] The terminal generation device 30 generates content D contained in document D2 received from the intermediate generation device 20. C The document D3 is generated by modifying it. The terminal generator 30 does not specify the next modifier and generates the document D3 along with the verifier v C The signature σ is then transmitted to the verification device 40.

[0075] Document D3 contains content D A And, Content E B And, Content E C Data from which each of the following can be extracted (D A ||E B ||E C (This is how it is expressed.) Content E C This is the content in the area that modifier C can modify, and it is the content after modifier C has modified it.

[0076] Verifier v C This is the first verification information h B and the modified first verification parameter r B 'and, Second Verification Information h C and the modified second validation parameter r C The data includes at least ' and . Signature σ is the above digital signature generated by the initial generator 10.

[0077] The verification device 40 receives document D3 and verifier v from the terminal generation device 30. C、Based on the change maker C and the signature σ, verify the following three points. The first is that the change maker C is the person designated by the previous change maker and only changes the designated range. The second is that the change maker B is the person designated by the creator and only changes the designated range. The third is that the document D3 is a document changed based on the document D1 initially created by the creator A.

[0078] Note that the verification device 40 may receive the document D2, the verifier v B and the signature σ from the intermediate generation device 20. In this case, the verification device 40 may verify the second and third matters described above based on the received information.

[0079] FIG. 7 is a block diagram showing the configuration of the initial generation device 10 according to Embodiment 2. The initial generation device 10 includes a storage unit 100, a memory 110, a communication unit 120, an input unit 130, a display unit 140, and a control unit 150.

[0080] The storage unit 100 is a storage device such as a hard disk or a flash memory. The storage unit 100 stores the program 101, the secret key sk of the creator A A,sig and the public key pk of the change maker B B,CH . The program 101 is a computer program in which the processing by the initial generation device 10 is implemented. The secret key sk of the creator A A,sig is an example of secret information paired with the information of the creator A. The public key pk of the change maker B B,CH is an example of the information of the change maker B.

[0081] The memory 110 is a volatile storage device such as a RAM (Random Access Memory) and is a storage area for temporarily holding information during the operation of the control unit 150. The communication unit 120 is a communication interface with the network N. The input unit 130 is an input device. The display unit 140 is a display device.

[0082] The control unit 150 is a processor, or control device, that controls each component of the initial generation device 10. The control unit 150 loads program 101 from the storage unit 100 into memory 110 and executes program 101. In this way, the control unit 150 realizes the processing shown in Figure 8.

[0083] Figure 8 is a flowchart showing an example of the processing flow of the initial generation device 10 according to Embodiment 2.

[0084] First, the control unit 150 of the initial generation device 10 generates document D0 based on the creator's operation (S10). Next, the control unit 150 selects area A from the document area, which is the data structure area of ​​document D0. B Define and define area A A and region A B Divide into (S11). Region A A This is the area within the document area that cannot be modified by the next changer, and is Content D A Includes. Region A B This is the area within the document area that can be modified by the following person, and is Content D B Includes.

[0085] Next, the control unit 150 receives the designation of changer B as the next changer from creator A (S12). In response to receiving the designation of changer B, the control unit 150 controls area A B Content D before modification B and the public key pk of the modifier B B,CH Based on this, the first verification information h B and the first verification parameter r B The control unit 150 may calculate the following using the chameleon hash algorithm. (h B ,r B )←CHash(pk B,CH ,D B )

[0086] Next, the control unit 150 receives the first verification information h B and the first verification parameter r B Verifier v containing at least AGenerate (S13). Specifically, v A It can be expressed as follows: v A =(r B ,h B )

[0087] Next, the control unit 150 controls content D A and the first verification information h B For data based on this, the creator's private key sk A,sig The signature σ is generated using (S14). σ←Sign(sk A,sig ,D A ||h B )

[0088] As mentioned above, in the generation of signature σ, content D1 is replaced with content D A and the first verification information h B Data based on (D A ||h B By using ), when verifying the signature σ, region A B Content D before modification B This becomes unnecessary.

[0089] Next, the control unit 150 controls area A A Content D A and region A B Content D B Document D1 is generated as extractable data (S15). Then the control unit 150 processes document D1 and verifier v A The data relating the signature σ to each other is transmitted to the intermediate generation device 20 (S16). The control unit 150 may, instead or in addition to the above, store the above data in a storage device (not shown).

[0090] Thus, according to Embodiment 1, the initial generation device 10 designates the next modifier and assigns the verifier v to that modifier. A And the signature σ can be transferred.

[0091] Figure 9 is a block diagram showing the configuration of the intermediate generation device 20 according to Embodiment 2. The intermediate generation device 20 comprises a storage unit 200, a memory 210, a communication unit 220, an input unit 230, a display unit 240, and a control unit 250.

[0092] The memory unit 200 is a storage device such as a hard disk or flash memory. The memory unit 200 contains program 201 and the private key sk of the modifier B. B,CH and the public key pk of modifier C C,CH Remember this. Program 201 is a computer program that implements the processing performed by the intermediate generator 20. The private key of modifier B, nk B,CH This is an example of confidential information that is paired with the information of the modifier B. Public key of modifier C (pk) C,CH This is an example of information about the modifier C.

[0093] Memory 210 is a volatile memory device such as RAM, and is a storage area for temporarily holding information when the control unit 250 is operating. Communication unit 220 is a communication interface with network N. Input unit 230 is an input device. Display unit 240 is a display device.

[0094] The control unit 250 is a processor, or control device, that controls each component of the intermediate generation device 20. The control unit 250 loads program 201 from the storage unit 200 into memory 210 and executes program 201. In this way, the control unit 250 realizes the processing shown in Figure 10.

[0095] Figure 10 is a flowchart showing an example of the processing flow of the intermediate generation device 20 according to Embodiment 2.

[0096] First, the control unit 250 of the intermediate generation device 20 receives document D1 and verifier v from the initial generation device 10. A, and data relating the signature σ to each other are obtained (S20). After obtaining the document D1, the control unit 250 of the intermediate generation device 20 may display the document D1 on the display unit 240. At this time, the display unit 240 displays the area A that can be modified by the modifier B included in the document D1. B The content in this area may be highlighted or made selectable compared to other areas.

[0097] Figure 11 is a diagram showing an example of displaying document D1 on the display unit 240 according to Embodiment 2. The image 600 displayed on the display unit 240 is in area A B Region A that constitutes the area B1 , A B2 , A B3 It includes the content of area A. B1 , A B2 , A B3 The content is highlighted so that modifier B can recognize that it is an area that modifier B can modify. Also, image 600 is area A B1 , A B2 , A B3 For each of these, an input field is set up to accept changes by the modifier. Modifier B can select the input field of the field they wish to change and modify the content of that field.

[0098] Returning to Figure 10, let's continue the explanation. Next, the control unit 250 controls area A, which can be modified by the operator B. B The content of (S21) is changed. Next, the control unit 250 changes area A that can be changed by the next changer, based on the changer B. C We accept designations (S22).

[0099] Next, the control unit 250 controls area A A Content D A and area A B Content E after modification B and area A c Content D C Based on this, each content D A , E B , D CExtractable data from document D2(D A ||E B ||D C ) is generated as (S23). By generating extractable data for each content and passing it on to the next modifier, the next modifier can easily understand the entire modified document.

[0100] Next, the control unit 250 receives the designation of changer C as the next changer from changer B (S24).

[0101] Figure 12 shows an example of the display by the display unit 240 when accepting the designation of changer C. For example, the display unit 240 may display information on multiple changer candidates in a selectable manner. The displayed changer candidates may be those designated in advance as candidates, or those registered in the address book of the intermediate generation device 20. Changer B may be able to designate the next changer by selecting one person from the displayed candidates. The display unit 240 may also display an input area where the user who made the change can enter identification information such as the name and email address of the next user who made the change, and accept the designation of the next user through this input.

[0102] Returning to Figure 10, the explanation continues. In response to receiving the designation from the modifier C, the control unit 250 moves to area A C Content D C and the public key pk of the modifier C C,CH Based on this, the second verification information h C and the second verification parameter r C The control unit 250 may calculate the following: (h C ,r C )=CHash(pk C,CH ,D C )

[0103] Next, the control unit 250 sets the first verification parameter to the first verification information h C and area A B The modified content E included BModify to correspond to (S25). Specifically, the control unit 250 receives the private key sk of the modifier B. B,CH and area A B Content D before the change is included in B and area A B The modified content E included B And, 2nd verification information h c And, 1st verification information h B And the first verification parameter r B Based on this, the modified first validation parameter r B The control unit 250 may use the Adapt algorithm to calculate the following: r B '←Adapt(sk B,CH ,D B ,E B ||h C ,r B ,h B )

[0104] As mentioned above, the first verification parameter r after the change B In the generation of ', the modified content E B and second verification information h C Data based on (E B ||h C By using ) during verification, region A C Content D before modification C This becomes unnecessary.

[0105] Next, the control unit 250 receives the first verification information h B and the modified first verification parameter r B 'and, Second Verification Information h C and the second verification parameter r C Verifier v containing at least and B The control unit 250 generates the verifier v (S26). Specifically, the control unit 250 generates the verifier v A Second verification information h C and the second verification parameter r C Include, verifier v A The first verification parameter r included in B The first verification parameter r after modification BBy replacing it with ', the verifier v B Generates.

[0106] More specifically, v B It can be expressed as follows: v B =(r B ',h B ,r C ,h C )

[0107] The control unit 250 then receives document D2 and verifier v B The data relating the signature σ to the terminal generation device 30 is transmitted (S27). The control unit 250 may, in lieu of or in addition to the above, store the above data in a storage device (not shown).

[0108] Thus, the intermediate production device 20 of Embodiment 2 provides the same effects as the production device 1 of Embodiment 1.

[0109] Figure 13 is a block diagram showing the configuration of the termination generation device 30 according to Embodiment 2. The termination generation device 30 comprises a storage unit 300, a memory 310, a communication unit 320, an input unit 330, a display unit 340, and a control unit 350.

[0110] The storage unit 300 is a storage device such as a hard disk or flash memory. The storage unit 300 stores program 301 and the private key sk of the modifier C. C,CH It stores the data. Program 301 is a computer program that implements the processing performed by the terminal generation device 30. The private key of modifier C is sk C,CH This is an example of confidential information that is paired with the information of the modifier C.

[0111] Memory 310 is a volatile memory device such as RAM, and is a storage area for temporarily holding information when the control unit 350 is operating. Communication unit 320 is a communication interface with network N. Input unit 330 is an input device. Display unit 340 is a display device.

[0112] The control unit 350 is a processor, or control device, that controls each component of the terminal generation device 30. The control unit 350 loads program 301 from the storage unit 300 into the memory 310 and executes program 301. In this way, the control unit 350 realizes the processing shown in Figure 14.

[0113] Figure 14 is a flowchart showing an example of the processing flow of the termination generation device 30 according to Embodiment 2. First, the control unit 350 of the termination generation device 30 receives document D2 and verifier v from the intermediate generation device 20. B , and data relating the signature σ to each other are obtained (S30). After obtaining document D2, the control unit 350 of the terminal generation device 30 may display document D2 on the display unit 340. The display method may be the same as in Figure 11.

[0114] Next, the control unit 350 controls area A, which can be modified by the modifier C, based on the modifier C's actions. C The content of Content D C From Content E C Change to (S31).

[0115] Next, the control unit 350 controls area A A Content D A and area A B Content E after modification B and area A c Content E after modification c Based on this, each content D A , E B , E C Document D3(D A ||E B ||E C (S32) generates ).

[0116] Next, the control unit 350 sets the second verification parameter to the second verification information h c and area A C Content E after modification C Modify to correspond to (S33). Specifically, the control unit 350 receives the private key sk of the modifier C. C,CH and area A CContent D before the change is included in C and area A C The modified content E included C And, 2nd verification information h C And the second validation parameter r C Based on this, the modified second validation parameter r C The control unit 350 may use the Adapt algorithm to calculate the following: r C '←Adapt(s BC,CH ,D C ,E C ,r C ,h C )

[0117] Next, the control unit 350 receives the first verification information h B and the modified first verification parameter r B 'and, Second Verification Information h C and the modified second validation parameter r C 'Verifier v containing at least v C (S34) generates the verifier v B The second validation parameter r included in C The second verification parameter r after the change C By replacing it with ', the verifier v C Generates.

[0118] More specifically, v C It can be expressed as follows: v C =(r B ',h B ,r C ',h C )

[0119] The control unit 350 then receives document D3, verifier v C The data relating the signature σ to each other is transmitted to the verification device 40 (S35). The control unit 350 may, instead or in addition to the above, store the above data in a storage device (not shown).

[0120] Figure 15 is a block diagram showing the configuration of the verification device 40 according to Embodiment 2. The verification device 40 comprises a storage unit 400, a memory 410, a communication unit 420, an input unit 430, a display unit 440, and a control unit 450. Note that the input unit 430 and the display unit 440 are not essential components of the verification device 40.

[0121] The memory unit 400 is a storage device such as a hard disk or flash memory. The memory unit 400 contains program 401 and the verification key vk of creator A. A,sig , the public key pk of the modifier B B,CH , and the public key pk of modifier C C,CH Remember this. Program 401 is a computer program that implements the processing performed by the verification device 40. Public key of modifier C (pk) C,CH This is an example of information about the modifier C.

[0122] Memory 410 is a volatile memory device such as RAM, and is a storage area for temporarily holding information when the control unit 450 is operating. Communication unit 420 is a communication interface with network N. Input unit 430 is an input device. Display unit 440 is a display device.

[0123] The control unit 450 is a processor, or control device, that controls each component of the verification device 40. The control unit 450 loads program 401 from the storage unit 400 into memory 410 and executes program 401. In this way, the control unit 450 realizes the process shown in Figure 16.

[0124] Figure 16 is a flowchart showing an example of the processing flow of the verification device 40 according to Embodiment 2. First, the control unit 450 of the verification device 40 receives document D3 and verifier v from the termination generation device 30. C , and obtain the data associated with the signature σ (S40).

[0125] Next, the control unit 450 processes the public key pk of modifier B. B,CH and region A in document D3 B The modified content E included Band second verification information h C Based on the data and the first verification information h B and the first verification parameter r B Based on this, verify the content changes made by modifier B (S41). This results in area A B It is possible to determine whether the content changes were made by the specified modifier B, and within the specified scope.

[0126] Specifically, the control unit 450 may verify that the following equation holds true. OK←Check(pk B,CH ,E B ||h C ,r B ',h B ) Note that the verification will be performed using the modified content E. B and second verification information h C Because data based on this will be used, region A will be used during verification. C Content D before modification C It is unnecessary.

[0127] Next, the control unit 450 processes the public key pk of the modifier C. C,CH and region A in document D3 C Content E after modification C And, verifier v C Second verification information h included in C and the modified second validation parameter r C Based on this, verify the content changes made by modifier C (S42). This results in area A C It is possible to determine whether the content changes were made by the specified modifier C, and within the specified scope.

[0128] Specifically, the control unit 450 may verify that the following equation holds true. OK←Check(pk C,CH ,E C ,r C ',h C )

[0129] Next, the control unit 450 controls area A in document D3. AContent D A and verifier v C The first verification information h included in B Data based on and creator A's private key vk A,sig Based on this, the signature σ is verified (S43). This allows us to determine whether document D3 is a document that has been modified based on a document created by creator A.

[0130] Specifically, the control unit 450 may verify that the following equation holds true. OK←Verify(vk A,sig ,D A ||h B ,σ) Note that the verification will be conducted in area A A Content D A and first verification information h B Because data based on this will be used, region A will be used during verification. B Content D before modification B It is unnecessary.

[0131] The control unit 450 then outputs the verification results (S44). At this time, the control unit 450 outputs a message indicating that the verification was successful if all of the verifications in S42, S43, and S43 are OK. On the other hand, the control unit 450 outputs a message indicating that the verification failed if any of the verifications in S42, S43, and S43 are NG. For example, the control unit 450 may notify the initial generation device 10 of the verification results.

[0132] The above describes Embodiment 2, but Embodiment 2 can be modified as follows.

[0133] <First modified example of Embodiment 2> For example, in the first modified example of Embodiment 2, the verifier v A ,v B ,v C This includes information about the content and the public key information of each modifier. In this case, the verification device 40 does not need to store the modifier's public key in the storage unit beforehand. Note that the verifier (v B ,v CIf the validation includes multiple validation pieces and validation data, the validator may include information indicating the correspondence between content, validation pieces, and validation parameters.

[0134] Figure 17 is a diagram illustrating the processing flow of system 1000a according to a first modified example of Embodiment 2.

[0135] Verifier v generated by the control unit 150 of the initial generation device 10 A is area A A Content D A and area A B Content D before modification B , the public key pk of the modifier B B,CH , First Verification Information h B , and the first verification parameter r B Includes the associated data. Specifically, validater v A (D A ,(D B ,pk B,CH ,r B ,h B )) is represented. The control unit 150 of the initial generation device 10 is, Document D 1、 Verifier v A The signature σ is then transmitted to the intermediate generator 20.

[0136] Verifier v generated by the control unit 250 of the intermediate generation device 20 B is area A A Content D A and area A B The modified content E included B , the public key pk of the modifier B B,CH , First Verification Information h B , and the modified first verification parameter r B 'Data associated with region A C Content D before modification C , the public key pk of the modifier C C,CH , Second Verification Information h C , and the second validation parameter r before the change C Includes data associated with it. Specifically, validater v B (D A ,(EB ,pk B,CH ,r B ',h B ),(D C ,pk C,CH ,r C ,h C )) is represented. The control unit 250 of the intermediate generation device 20 is described in Document D 2、 Verifier v B The signature σ is then transmitted to the termination generator 30.

[0137] Verifier v generated by the control unit 350 of the termination generation device 30 C is area A A Content D A and area A B The modified content E included B , the public key pk of the modifier B B,CH , First Verification Information h B , and the modified first verification parameter r B 'Data associated with region A C Content E after modification C , the public key pk of the modifier C C,CH , Second Verification Information h C , and the modified second verification parameter r C Includes data associated with '. Specifically, validater v C (D A ,(E B ,pk B,CH ,r B ',h B ),(E C ,pk C,CH ,r C ',h C )) is represented. The control unit 350 of the terminal generation device 30 is document D3, verifier v C The signature σ is then sent to the verification device 40. In the first modified example of Embodiment 2, the transmission of document D3 is not mandatory.

[0138] The control unit 450 of the verification device 40 receives the verifier v from the termination generation device 30. D Based on the signature σ, each modifier will perform content modifications and verify the signature σ.

[0139] By providing a verifier containing content, verification information, and verification parameters to a downstream device in this manner, the verification device 40 can verify changes in content and the signature σ without having to retrieve intermediate documents. Furthermore, including information on the correspondence between content, verification information, and verification parameters in the verifier facilitates the above verification.

[0140] <Second modified example of Embodiment 2> In the above-described embodiment 2, two modifiers made changes sequentially, but the number of modifiers may be three or more. In this case, system 1000a may be equipped with multiple intermediate generation devices 20 corresponding to different modifiers.

[0141] Figure 18 is a diagram illustrating the processing flow of system 1000a according to a second modification of Embodiment 2. In this figure, two intermediate generation devices 20-1 and 20-2 are shown as an example, but the number of intermediate generation devices 20 is not limited to these. Each intermediate generation device 20-1 and 20-2 performs the same processing as shown in Figure 10.

[0142] In this diagram, the initial generator 10, intermediate generator 20-1, intermediate generator 20-2, and terminal generator 30 correspond to creator A, modifier B, modifier C, and modifier D, respectively. Processing may be performed in the order of initial generator 10, intermediate generator 20-1, intermediate generator 20-2, and terminal generator 30.

[0143] The control unit 150 of the initial generation device 10 is document D1(D A ||D B ) generates, designates modifier B as the next modifier, and the first verification parameter r B Verifier v A and generates signature σ. Then the control unit 150 of the initial generation device 10 generates document D 1、 Verifier v A The signature σ is then transmitted to the intermediate generator 20-1.

[0144] Then the control unit 250 of the intermediate generation device 20-1 modifies document D1 to document D2 (D A||E B ||D C ) generates and designates modifier C as the next modifier. Then the control unit 250 of the intermediate generation device 20-1 generates verifier v A Second verification information h C and the second verification parameter r C Include, verifier v A The first verification parameter r included in B The first verification parameter r after modification B By replacing it with ', the verifier v B It generates. And the control unit 250 of the intermediate generation device 20-1, Document D 2、 Verifier v B The signature σ is then transmitted to the intermediate generator 20-2.

[0145] The control unit 250 of the intermediate generation device 20-2 modifies document D2 to document D3(D A ||E B ||E C ||D D ) generates and designates modifier D as the next modifier. Then the control unit 250 of the intermediate generation device 20-2 generates verifier v B Third verification information h D and the third verification parameter r D Include, verifier v B The second validation parameter r included in C The second verification parameter r after the change C By replacing it with ', the verifier v C It generates. And the control unit 250 of the intermediate generation device 20-2, Document D 3、 Verifier v C The signature σ is then transmitted to the termination generator 30.

[0146] The control unit 350 of the termination generation device 30 modifies document D3 to document D4(D A ||E B ||E C ||E D The terminal generator 30 generates a verifier v C The third validation parameter r included in D The third verification parameter r after modification D ' The verifier v replacedD It generates document D. 4、 Verifier v D The signature σ is then transmitted to the verification device 40.

[0147] The control unit 450 of the verification device 40 receives document D4, verifier v D Based on the signature σ, each modifier will perform content modifications and verify the signature σ.

[0148] In this way, the number of modifiers can be easily adjusted by increasing or decreasing the number of intermediate generators 20.

[0149] <Embodiment 3> Next, Embodiment 3 of the present disclosure will be described. System 1000a according to Embodiment 3 comprises an initial generation device 10, a plurality of intermediate generation devices 20-1, 20-2 corresponding to different modifiers B and C, a plurality of terminal generation devices 30-1, 30-2, 30-3 corresponding to different modifiers D, E, F, and a verification device 40. In Embodiment 3, the processing of system 1000a is partially branched. That is, the creator may specify multiple subsequent modifiers, and each modifier may specify multiple subsequent modifiers.

[0150] Figure 19 is a diagram illustrating the processing flow of system 1000a according to Embodiment 3. As shown in Figure 19, the control unit 150 of the initial generation device 10 controls document D1(D A ||D B ||D C ) is generated. At this time, creator A designates modifiers B and C as the next modifiers. Accordingly, the control unit 150 of the initial generation device 10 generates the content D before modification. B Verification information corresponding to h B and verification parameter r B And, the content D before the change C Verification information corresponding to h C and verification parameter r C It generates and the control unit 150 of the initial generation device 10 then generates a verifier v containing the generated verification information. A (D A ,(D B,pk B,CH ,r B ,h B ),(D C ,pk C,CH ,r C ,h C The control unit 150 of the initial generation device 10 generates a signature σ. The control unit 150 of the initial generation device 10 generates document D 1、 Verifier v A The signature σ is then transmitted to intermediate generators 20-1 and 20-2.

[0151] The control unit 250 of the intermediate generation device 20-1 changes the area that can be modified by the modifier B, and D B to E B ||D D The modified document is generated. At this time, the modifier B designates the next modifier as modifier D. Accordingly, the control unit 250 of the intermediate generation device 20-1 generates the modified content E B The corresponding validation parameter r B 'and the original content D D Verification information corresponding to h D and verification parameter r C Next, the control unit 250 of the intermediate generation device 20-1 generates a verifier v containing the generated information for verification. B It generates the modified document. The control unit 250 of the intermediate generation device 20-1 then generates the modified document. 、 Verifier v B The signature σ is then transmitted to the termination generator 30-1.

[0152] The control unit 250 of the intermediate generation device 20-2 changes the area that can be modified by the modifier C, and D C to E C ||D E ||D F The modified document is generated. At this time, the modifier C designates the next modifiers as modifiers E and F. Accordingly, the control unit 250 of the intermediate generation device 20-2 generates the modified content E C The corresponding validation parameter r C 'and the original content D E Verification information corresponding to h E and verification parameter rE And, the content D before the change F Verification information corresponding to h F and verification parameter r F Next, the control unit 250 of the intermediate generation device 20-2 generates a verifier v containing the generated information for verification. C It generates the modified document. The control unit 250 of the intermediate generation device 20-2 then generates the modified document. 、 Verifier v C The signature σ is then transmitted to the termination generators 30-2 and 30-3.

[0153] The control units 350 of each termination generation device 30-1, 30-2, and 30-3 execute the process shown in Figure 14 to generate the modified document and verifier. The control units 350 of each termination generation device 30-1, 30-2, and 30-3 then transmit the modified document, modified verifier, and signature σ to the verification device 40.

[0154] The control unit 450 of the verification device 40 receives the documents, verifiers, and signature σ generated by each terminal generation device 30-1, 30-2, and 30-3. Based on the received data, the control unit 450 of the verification device 40 performs verification of content changes and signature σ by each modifier.

[0155] The verification device 40 may use the final document generated by integrating the documents generated by each termination generation device 30-1, 30-2, and 30-3, instead of the documents generated by each termination generation device 30-1, 30-2, and 30-3.

[0156] Figure 20 shows an example of the configuration of the final document according to Embodiment 3. The final document is in an unchangeable area A. A Content D A And area A that modifier B can modify. B The content and area A that can be modified by modifier C. C This will be linked to the content of the final document. B The content is Content E B And, Content E D This is content that is linked to and. Region A in the final document CThe content is Content E C And, Content E E And, Content E F This is content that is a combination of [two elements].

[0157] Thus, according to Embodiment 3, the creator or modifier can designate multiple modifiers. Therefore, the range of modification rules that the creator or modifier can determine is broadened, increasing the system's flexibility.

[0158] Furthermore, this disclosure can be implemented by having a processor execute a computer program to perform any desired process.

[0159] In the examples described above, the program includes a set of instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more of the functions described in the embodiments. The program may be stored on a non-temporary computer-readable medium or a physical storage medium. Examples, but not limited to, include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technologies, CD-ROM, digital versatile disc (DVD), Blu-ray® disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices. The program may be transmitted over a temporary computer-readable medium or a communication medium. Examples, but not limited to, include temporary computer-readable medium or a communication medium that includes electrically, optically, acoustically or otherwise propagating signals.

[0160] Furthermore, this disclosure is not limited to the embodiments described above, and can be modified as appropriate without departing from the spirit of the invention. For example, in embodiments 2 and 3 described above, the intermediate generation device 20 and the terminal generation device 30 are described as separate devices, but one device may have both the functions of the intermediate generation device 20 and the terminal generation device 30. Specifically, the control unit 250 of the intermediate generation device 20 corresponding to modifier B may generate the second verification information and the second verification parameters when modifier B designates modifier C as the next modifier, and not generate them when modifier C is not designated. This allows the modifier to decide whether or not to designate the next modifier, increasing the flexibility of the system.

[0161] Furthermore, in embodiments 2 and 3 described above, the intermediate generation device 20 and the terminal generation device 30 modified the document through the operator's actions. However, a different external device (not shown) may also modify the document through the operator's actions. In this case, the intermediate generation device 20 and the terminal generation device 30 may obtain the modified document from the external device.

[0162] Furthermore, in embodiments 2 and 3 described above, the initial generation device 10 is assumed to create the document through the creator's operation. However, a different external device may create the document through the creator's operation. In this case, the initial generation device 10 may obtain the document created by the external device from that external device.

[0163] Furthermore, in the embodiments 2 to 3 described above, the modifier B corresponding to the intermediate generation device 20 is the region A that it can modify. B You may specify that the next modifier can modify all of the above. In this case, in the above explanation, area A B Content E included B This will become empty content. Also, the content D before the change. C This may be content created by creator A, or it may be content after it has been partially or completely modified by modifier B.

[0164] Furthermore, in embodiments 2 and 3 described above, the creator may not specify any area within the document area that the next modifier cannot modify, but rather specify that the entire document area created can be modified by the next modifier. In this case, area A in the above description A Content D A This will be empty content.

[0165] Some or all of the above embodiments may also be described as follows, but are not limited to the following: (Note 1) Generate second validation information and second validation parameters corresponding to the content of the second area, which is an area where a second modifier can modify the content, which is at least a portion of the first area, which is an area where a first modifier can modify the content. Obtain the first verification information and first verification parameters corresponding to the content of the first area before modification. The first validation parameter is modified to correspond to the first validation information and the modified content of the first area. A generating device equipped with control means. (Note 2) The control means is Based on the content of the second area and the information of the second modifier, the second verification information and the second verification parameters are generated. The first verification parameter is modified based on the secret information paired with the information of the first modifier, the first verification information, the modified content of the first area, and the second verification information. The generating apparatus described in Appendix 1. (Note 3) The control means is Select the second validation parameter from a predetermined group, Using the second verification parameter and the hash value of the content of the second region, the second verification information is generated. The first verification parameter is modified using the hash value of the data including the modified content of the first region and the second verification information. The generating apparatus described in Appendix 2. (Note 4) The control means is When the designation of the second modifier is received from the first modifier, the second verification information and the second verification parameters are generated. If the designation of the second modifier is not accepted from the first modifier, the second verification information and the second verification parameters will not be generated. A generating apparatus as described in any one of the items 1 to 3 of the appendix. (Note 5) The control means receives the designation of the second area from the first modifier. A generating apparatus as described in any one of the appendices 1 to 4. (Note 6) The control means further generates third verification information and third verification parameters corresponding to the content of a third region, which is at least a part of the first region and is a region where a third modifier can modify the content. A generating apparatus as described in any one of the items 1 to 5 of the appendix. (Note 7) The control means is Obtain data from which the content of the fourth area that the first modifier cannot change and the content of the first area before the change can be extracted. Generate data from which the content of the fourth region, the modified content of the first region, and the content of the second region can be extracted. A generating apparatus as described in any one of the appendices 1 to 6. (Note 8) The control means is Data relating the modified content of the first region, the first verification information, and the modified first verification parameters, Data relating the content of the second domain, the second verification information, and the second verification parameters, and Generate a validator that includes A generating apparatus as described in any one of the appendices 1 to 7. (Note 9) The control means is Obtain the digital signature of the creator who created the content in the first area described above. Output the aforementioned digital signature A generating apparatus as described in any one of the appendices 1 to 8. (Note 10) The following are obtained: the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the pre-modification content of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content. Based on the information of the first modifier, the modified content of the acquired first area, the first verification information and the first verification parameters, and the second verification information, the modification of the content by the first modifier is verified. A verification device equipped with control means. (Note 11) The control means is Further obtain the modified content of the second area and the second verification parameter corresponding to the modified content of the second area. Based on the information of the second modifier, the modified content of the acquired second area, the second verification information, and the second verification parameters, the modification of the content by the second modifier is verified. The verification device described in Appendix 10. (Note 12) The control means is Obtain a digital signature created on the data based on the content of the fourth area which the first modifier cannot modify and the first verification information, The digital signature is verified based on the content of the fourth area, the first verification information, and the information of the creator who created the content of the fourth area and the content of the first area. The verification device described in Appendix 10 or 11. (Note 13) One or more generating devices, Verification device and Equipped with, Corresponding to each of the one or more generating devices, a first modifier, a second modifier, a first area in which the first modifier can modify the content, and a second area in which the second modifier can modify the content, which is at least a part of the first area, are defined. Each of the one or more generating devices is: Second verification information and second verification parameters are generated corresponding to the content of the second area before modification. Obtain the first verification information and first verification parameters corresponding to the content of the first area before modification. The first verification parameter is modified to correspond to the first verification information and the modified content of the first area. The verification device is For at least one of the generating devices, the modification of the content by the first modifier is verified based on the information of the first modifier, the modified content of the first area, the first verification information, the modified first verification parameters, and the second verification information. system. (Note 14) The second verification information and the second verification parameters generated by at least one of the generating devices are acquired. The second verification parameter is modified to correspond to the second verification information and the modified content of the second area corresponding to the generator. Further equipped with a termination device, The verification device is The modified content of the second area corresponding to the generation device, the second verification information, and the modified second verification parameters are obtained. Based on the information of the second modifier, the modified content of the second area, the second verification information, and the modified second verification parameters, the changes to the content by the second modifier are verified. The system described in Appendix 13. (Note 15) The first area is determined from the document area created by the creator, Based on the content of the first area before modification and the information of the first modifier, the first verification information and the first verification parameters are generated. Further equipped with an initial generation device The system described in Appendix 13 or 14. (Note 16) The initial generation device is, A digital signature is generated using the author's confidential information for the data based on the content of the fourth area of ​​the document area that the first modifier cannot modify, and the first verification information. The verification device verifies the digital signature based on the content of the fourth area, the first verification information, and the information corresponding to the creator's secret information. The system described in Appendix 15. (Note 17) Generate second validation information and second validation parameters corresponding to the content of the second area, which is an area where a second modifier can modify the content, which is at least a portion of the first area, which is an area where a first modifier can modify the content. Obtain the first verification information and first verification parameters corresponding to the content of the first area before modification. The first validation parameter is modified to correspond to the first validation information and the modified content of the first area. Methods for generating information. (Note 18) On the computer, To generate second validation information and second validation parameters corresponding to the content of a second area, which is an area where a second modifier can modify content, which is at least a portion of the first area, which is an area where a first modifier can modify content, Obtaining first verification information and first verification parameters corresponding to the content of the first area before modification, The first verification parameter is modified to correspond to the first verification information and the modified content of the first area. A non-temporary, computer-readable medium containing a program to execute something. (Note 19) The following are obtained: the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the pre-modification content of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content. Based on the information of the first modifier, the modified content of the acquired first area, the first verification information and the first verification parameters, and the second verification information, the modification of the content by the first modifier is verified. Verification method. (Note 20) On the computer, To obtain the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the pre-modification content of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content. Based on the information of the first modifier, the modified content of the acquired first area, the first verification information and the first verification parameters, and the second verification information, the modification of the content by the first modifier is verified. A non-temporary, computer-readable medium containing a program to execute something. [Explanation of symbols]

[0166] 1 generator 2 Storage section 3. Control Unit 4. Verification device 5 Storage section 6 Control Unit 10 Initial generator 100 Storage section 101 Programs 110 memory 120 Communications Department 130 Input section 140 Display section 150 Control Unit 20 Intermediate generator 200 Storage section 201 Program 210 memory 220 Communications Department 230 Input section 240 Display section 250 Control Unit 30 Termination generator 300 Storage section 301 Program 310 memory 320 Communications Department 330 Input section 340 Display section 350 Control Unit 40 Verification device 400 Storage section 401 Program 410 memory 420 Communications Department 430 Input section 440 Display section 450 Control Unit 600 images 1000,1000a system

Claims

1. Obtain first validation information and first validation parameters corresponding to the content before modification in the first area, which is an area where the first modifier can modify the content. Corresponding to the content of a second area which is at least a part of the first area and is an area in which a second modifier can modify the content, second verification information and second verification parameters are generated by a calculation using a chameleon hash to enable the second modifier to modify the content of the second area. The system accepts changes to the content of the portion of the first area that is not included in the second area. The first verification parameter is modified by a calculation using the chameleon hash so that it corresponds to the first verification information and the modified content of the first area. A generating device equipped with control means that are controlled by a processor.

2. The control means is Based on the content of the second region and the information of the second modifier, a set of second verification information and second verification parameters is generated. The first verification parameter is modified based on the confidential information paired with the information of the first modifier, the first verification information, the modified content of the first area, and the second verification information. The generating apparatus according to claim 1.

3. The control means is In generating the set of the second verification information and the second verification parameters, Select the second verification parameter from a predetermined group, Using the second verification parameter and the hash value of the content in the second region, the second verification information is generated. In changing the first verification parameter, a hash value of data including at least the modified content of the first region and the second verification information is used. The generating apparatus according to claim 2.

4. The control means is When the designation of the second modifier is received from the first modifier, the second verification information and the second verification parameters are generated. If the designation of the second modifier is not accepted from the first modifier, the second verification information and the second verification parameters will not be generated. The generating apparatus according to claim 1.

5. The control means receives the designation of the second area from the first modifier. The generating apparatus according to claim 1.

6. The control means further generates third verification information and third verification parameters corresponding to the content of a third area, which is at least a part of the first area and is an area where a third modifier can modify the content. The generating apparatus according to claim 1.

7. The control means is Obtain data from which the content of the fourth area that the first modifier cannot change and the content of the first area before the change can be extracted. Generate data from which the content of the fourth region, the modified content of the first region, and the content of the second region can be extracted. The generating apparatus according to claim 1.

8. The control means is The data relating the modified content, the first verification information, and the modified first verification parameters of the first region, Data relating the content of the second region, the second verification information, and the second verification parameters Generate a validator that includes The generating apparatus according to claim 1.

9. The control means is Obtain the digital signature of the creator who created the content in the first area described above, Output the aforementioned digital signature The generating apparatus according to claim 1.

10. The following are obtained: the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the content before modification of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content, and which enables the second modifier to modify the content of the second area. Based on the information of the first modifier, the modified content of the acquired first area, the first verification information and the first verification parameter, and the second verification information, the modification of the content by the first modifier is verified by calculation using a chameleon hash. A verification device equipped with control means that are controlled by a processor.

11. The control means is Further obtain the modified content of the second region and the second verification parameter corresponding to the modified content of the second region. Based on the information of the second modifier, the modified content of the acquired second area, the second verification information, and the second verification parameters, the modification of the content by the second modifier is verified. The verification apparatus according to claim 10.

12. The control means is A digital signature is obtained for data that includes the content of the fourth area which the first modifier cannot modify and the first verification information, The digital signature is verified based on the content of the fourth area, the first verification information, and the information of the creator who created the content of the fourth area and the content of the first area. The verification apparatus according to claim 10.

13. One or more generating devices, Verification device and Equipped with, Corresponding to each of the one or more generating devices, a first modifier, a second modifier, a first area which is an area in which the first modifier can modify the content, and a second area which is at least a part of the first area and in which the second modifier can modify the content are defined. Each of the one or more generating devices is: Obtain first verification information and first verification parameters corresponding to the content of the first area before modification. A second set of verification information and a second set of verification parameters are generated by a chameleon hash operation to correspond to the content of the second area before modification and to enable the second modifier to modify the content of the second area. The system accepts changes to the content of the portion of the first area that is not included in the second area. The first verification parameter is modified by an operation using the chameleon hash so that it corresponds to the first verification information and the modified content of the first area. The processor of the one or more generating devices controls this, The verification device is With respect to at least one of the generating devices, The information of the first modifier, the modified content of the first area, the first verification information, the modified first verification parameters, and the second verification information are obtained. Based on the information of the first modifier, the modified content of the first area, the first verification information, the modified first verification parameters, and the second verification information, the modification of the content by the first modifier is verified by calculation using the chameleon hash. The processor of the verification device controls this. system.

14. The second verification information and the second verification parameters generated by at least one of the generating devices are acquired. The second verification parameter is modified to correspond to the second verification information and the modified content of the second region corresponding to the generation device. Further equipped with a termination device, The verification device is The modified content of the second region corresponding to the generation device, the second verification information, and the modified second verification parameters are obtained. Based on the information of the second modifier, the modified content of the second area, the second verification information, and the modified second verification parameters, the modification of the content by the second modifier is verified. The system according to claim 13.

15. The first area is determined from the document area created by the creator, Based on the content of the first area before modification and the information of the first modifier, the first verification information and the first verification parameters are generated. Further equipped with an initial generation device The system according to claim 13.

16. The initial generation device is, A digital signature is generated using the creator's confidential information for data that includes the content of the fourth area of ​​the document area that cannot be modified by the first modifier, and the first verification information. The verification device verifies the digital signature based on the content of the fourth area, the first verification information, and the information corresponding to the creator's secret information. The system according to claim 15.

17. A computer, Obtain first validation information and first validation parameters corresponding to the content before modification in the first area, which is an area where the first modifier can modify the content. Corresponding to the content of a second area which is at least a part of the first area and is an area in which a second modifier can modify the content, second verification information and second verification parameters are generated by a calculation using a chameleon hash to enable the second modifier to modify the content of the second area. The system accepts changes to the content of the portion of the first area that is not included in the second area. The first verification parameter is modified by a calculation using the chameleon hash so that it corresponds to the first verification information and the modified content of the first area. Methods for generating information.

18. On the computer, Obtaining first validation information and first validation parameters corresponding to the content before modification in the first area, which is the area where the first modifier can modify the content, The method involves generating second verification information and second verification parameters by a chameleon hash operation, corresponding to the content of a second area which is at least a part of the first area and is an area where a second modifier can modify the content, and enabling the second modifier to modify the content of the second area. Accepting changes to the content of the portion of the first area that is not included in the second area, The first verification parameter is modified by a calculation using the chameleon hash so that it corresponds to the first verification information and the modified content of the first area. A program to execute.

19. A computer, The following are obtained: the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the content before modification of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content, and which enables the second modifier to modify the content of the second area. Based on the information of the first modifier, the modified content of the acquired first area, the first verification information and the first verification parameter, and the second verification information, the modification of the content by the first modifier is verified by calculation using a chameleon hash. Verification method.

20. On the computer, The acquisition of: the modified content of a first area, which is an area where a first modifier can modify the content; first verification information and first verification parameters corresponding to the modified content of the first area; and second verification information corresponding to the content before modification of a second area, which is at least a part of the first area and is an area where a second modifier can modify the content, and which enables the second modifier to modify the content of the second area; Based on the information of the first modifier, the modified content of the acquired first area, the first verification information and the first verification parameter, and the second verification information, the modification of the content by the first modifier is verified by calculation using a chameleon hash. A program to execute.