Generation device, verification device, system, generation method, verification method, and program
Patent Information
- Application Number
- JP2024533428
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-03-07
- Estimated Expiration
- 2042-07-14
AI Technical Summary
Existing data verification systems require all signers to communicate before signing in multi-signature processes, limiting the ability of subsequent changers to set change rules for modifications made by next modifiers.
A system that includes generation and verification devices allowing a data changer to sequentially set change rules for subsequent changers by generating and verifying second verification information and parameters, using chameleon hashing to adapt verification parameters based on content changes, enabling next modifiers to modify content without prior communication.
Enables subsequent changers to set change rules and verify modifications without requiring prior communication among all signers, enhancing the flexibility and reliability of data verification processes.
Abstract
Description
Generating device, verifying device, system, generating method, verifying method, and non-transitory computer-readable medium
[0001] The present disclosure relates to a generating device, a verifying device, a system, a generating method, a verifying method, and a non-transitory computer-readable medium for generating information for verifying data.
[0002] In recent years, with the digitalization of documents, seals, and the like, trust services for ensuring the reliability of data have been attracting attention. Accordingly, methods have been developed for assigning a digital signature to each process in order to enable verification of the user who performed the process and the details of the process. For example, Patent Literature 1 discloses a system that, when a revised version of a document is created, creates a signature using a hash value that combines the hash value of the revised version of the document and the hash value of the original document.
[0003] Japanese Patent Application Laid-Open No. 2021-114201
[0004] The system disclosed in Patent Document 1 is required to be able to verify that each change was made by a person specified by the previous person, and only within the scope specified by the previous person. However, multi-signatures using multiple private keys generally require all signers to communicate with each other before signing. In other words, to achieve multi-signatures, all signers are specified when the initial document is generated. This makes it impossible for each person to sequentially set change rules for changes made by the next person and thereafter.
[0005] In view of the above-mentioned problems, the object of the present disclosure is to provide a generation device, a verification device, a system, a generation method, a verification method, and a non-transitory computer-readable medium that allow a data modifier to sequentially set modification rules for the next modifier and thereafter.
[0006] A generating device according to one aspect of the present disclosure includes a control means for generating 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, and is an area where a second modifier can modify the content; obtaining first verification information and first verification parameters corresponding to the content of the first area before the modification; and modifying the first verification parameters to correspond to the first verification information and the content of the first area after the modification.
[0007] A verification device according to one aspect of the present disclosure includes a control means for acquiring the changed content of a first area, which is an area where a first modifier can change the content, first verification information and first verification parameters corresponding to the changed content of the first area, and second verification information corresponding to the unchanged content of a second area, which is at least a part of the first area, which is an area where a second modifier can change the content, and verifies the changes to the content made by the first modifier based on the information of the first modifier, the changed content of the first area acquired, the first verification information and first verification parameters, and the second verification information.
[0008] A system according to one aspect of the present disclosure includes one or more generating devices and a verification device. A first modifier, a second modifier, a first area where the first modifier can modify content, and a second area, at least a portion of the first area, where the second modifier can modify content are defined for each of the one or more generating devices. Each of the one or more generating devices generates second verification information and a second verification parameter corresponding to the content before the modification in the second area, obtains first verification information and a first verification parameter corresponding to the content before the modification in the first area, and modifies the first verification parameter to correspond to the first verification information and the modified content in the first area. The verification device verifies the modification of the content by the first modifier for at least one of the generating devices based on information about the first modifier, the modified content in the first area, the first verification information, the modified first verification parameter, and the second verification information.
[0009] A method according to one aspect of the present disclosure is a method for generating information, which generates second verification information and a second verification parameter corresponding to content of a second area where a second modifier can modify content, the second area being at least a part of a first area where a first modifier can modify content, obtains first verification information and a first verification parameter corresponding to the content of the first area before the modification, and modifies the first verification parameter to correspond to the first verification information and the content of the first area after the modification.
[0010] A non-transitory 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 at least a part of a first area, which is an area where a first modifier can modify the content, and is an area where a second modifier can modify the content; obtain first verification information and first verification parameters corresponding to the content of the first area before the modification; and modify the first verification parameters to correspond to the first verification information and the content of the first area after the modification.
[0011] A verification method according to one aspect of the present disclosure acquires the changed content of a first area, which is an area where a first modifier can change the content, first verification information and first verification parameters corresponding to the changed content of the first area, and second verification information corresponding to the unchanged content of a second area, which is at least a part of the first area, which is an area where a second modifier can change the content, and verifies the changes to the content made by the first modifier based on the information of the first modifier, the changed content of the first area acquired, the first verification information and first verification parameters, and the second verification information.
[0012] A non-transitory computer-readable medium according to one aspect of the present disclosure stores a program for causing a computer to acquire modified content of a first area, which is an area where a first modifier can modify 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 content, and verify the modifications to the content made by the first modifier based on information about the first modifier, the acquired modified content of the first area, the first verification information and first verification parameters, and the second verification information.
[0013] The present disclosure can provide a generation device, a verification device, a system, a generation method, a verification method, and a non-transitory computer-readable medium that allow a person who modifies data to sequentially set modification rules for the next modifier and thereafter.
[0014] 1 is a block diagram showing the overall configuration of a system according to a first embodiment. FIG. 1 is a diagram for explaining generation processing according to the first embodiment. FIG. 2 is a flowchart showing an example of the flow of generation processing according to the first embodiment. FIG. 3 is a block diagram showing the configuration of a system according to a second embodiment. FIG. 4 is a diagram for explaining the flow of processing in a system according to the second embodiment. FIG. 5 is a block diagram showing the configuration of an initial generation device according to the second embodiment. FIG. 6 is a flowchart showing an example of the flow of processing in an initial generation device according to the second embodiment. FIG. 7 is a block diagram showing the configuration of an intermediate generation device according to the second embodiment. FIG. 8 is a flowchart showing an example of the flow of processing in an intermediate generation device according to the second embodiment. FIG. 9 is a diagram showing an example of a case where a document is displayed on a display unit according to the second embodiment. FIG. 10 is a diagram showing an example of display by the display unit when designation of a modifier is accepted. FIG. 11 is a block diagram showing the configuration of a terminal generation device according to the second embodiment. FIG. 12 is a flowchart showing an example of the flow of processing in a terminal generation device according to the second embodiment. FIG. 13 is a block diagram showing the configuration of a verification device according to the second embodiment. FIG. 14 is a flowchart showing an example of the flow of processing in a verification device according to the second embodiment. FIG. 15 is a diagram for explaining the flow of processing in a system according to a first modified example of the second embodiment. FIG. 16 is a diagram for explaining the flow of processing in a system according to a second modified example of the second embodiment. FIG. 17 is a diagram for explaining the flow of processing in a system according to a third embodiment. FIG. 18 is a diagram showing an example of the configuration of a final document according to the third embodiment.
[0015] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In each drawing, the same or corresponding elements are designated by the same reference numerals, and for clarity of explanation, duplicate explanations will be omitted as necessary.
[0016] <Definition> In the following embodiments, x←y represents an operation of uniformly randomly selecting an element from a set and assigning it to x when y is a set, and represents an operation of outputting x when y is an algorithm or function. Also, x||y represents the concatenation of x and y.
[0017] First Embodiment First, a first embodiment of the present disclosure will be described. Fig. 1 is a block diagram showing the overall configuration of a system 1000 according to the first embodiment. The system 1000 is a computer system that manages information for verifying the authenticity of target data that is a management target. In the 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 a data structure and may hold content. The content is the substance of the data, and includes, for example, characters, numbers, or images. In the first embodiment, the target data includes at least a first area. The first area is defined as having at least a first modifier who can modify the content of the first area.
[0019] The system 1000 includes a generating device 1 and a verifying device 4. The generating device 1 and the verifying device 4 may be connected to a wired or wireless communication network.
[0020] The generating device 1 is composed 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 the generating device 1 is operated by the first modifier or under the supervision of the first modifier may be determined by various types of personal authentication.
[0021] When an event occurs in which a first changer changes the content of a first area in the target data, the generating device 1 generates information for verifying the event. Note that, in the following, "changing the content" does not necessarily mean that the pre-change content is overwritten with the post-change content. For example, it may mean that the post-change content is generated separately from the pre-change content.
[0022] The generating device 1 includes a storage unit 2 and a control unit 3 .
[0023] The storage unit 2 is a storage device that functions as a storage means, such as a hard disk, a flash memory, etc. The storage unit 2 stores a program for causing the generation device 1 to execute a generation method described below.
[0024] The control unit 3 is a processor that functions as a control means that controls each component of the generation device 1. The control unit 3 loads a program from the storage unit 2 into a memory (not shown) and executes the program.
[0025] The verification device 4 is a device that verifies events related to changes. The verification device 4 is composed of one or more computer devices. For example, the verification device 4 determines whether the person who made a change to the first area is the first changer. The verification device 4 also determines whether the changed range is within the first area.
[0026] The storage unit 5 is a storage device that functions as a storage means, such as a hard disk, a flash memory, etc. The storage unit 5 stores a program for causing the verification device 4 to execute a verification method described below.
[0027] The control unit 6 is a processor that functions as a control means for controlling each component of the verification device 4. The control unit 6 loads a program from the storage unit 5 into a memory (not shown) and executes the program.
[0028] 2 is a diagram for explaining the generation process according to the first embodiment. As shown in the upper part of FIG. 2, the first modifier is in the first area A B The first area A has the right to change the content of B is the content before the first changer changed it. B Content D B is the first area A B This is also referred to as the content before the change.
[0029] Here, the first area A B Contents D B Corresponding to this, the first verification information h B and the first verification parameter rB is predetermined. For example, the first verification information h B and the first verification parameter r B is the first area A B Contents D B may be generated by a device corresponding to the creator who created the
[0030] The verification information h and the verification parameter r are a set of information for verification, and are generated based on the content of the corresponding area and the public key of the person authorized to make the change. The verification parameter r changes with changes to the content. Note that the verification information h does not need to be changed even when the content is changed.
[0031] As shown in the lower part of FIG. B is the second area A c The second region A c is the area where the next modifier can modify the content. c is the content before the next modifier changes D C The second area A c may be predetermined or may be specified by the first changer. In the latter case, the first changer can decide a wider range of change rules, thereby increasing the degree of freedom of the system.
[0032] In response to the second changer being designated as the next changer, the control unit 3 of the generation device 1 c Contents D c The second verification information h c and the second verification parameter r c Generate.
[0033] The first modifier is the first area A B At least some of the content of Content E B For example, the first changer changes the second area A c Excluding the content of Content E B You can change it to Content E. B is the first area A B Also referred to as the modified content.
[0034] In response to the first changer changing the content, the control unit 3 of the generation device 1 changes the first verification parameter r B the first verification parameter r B '. The first verification parameter r B ' is the first verification information h B and the first region A B Changed content of E B That is, the control unit 3 of the generation device 1 uses the first verification parameter r B the first verification information h B and the first region A B Changed content of E B Change it to correspond to
[0035] (Chameleon Hash) Although not particularly limited, in the following description, it is assumed that the verification information h is a hash value of a chameleon hash and the verification parameter r is a random number. The verification parameter after the change is also referred to as an adaptive random number.
[0036] Chameleon hashing is a cryptographic technique that has the property of being able to calculate random numbers that cause hash values to collide. Using chameleon hashing, for different messages M and M' and a pair 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') conceptually. For convenience, below, chameleon hashing is sometimes expressed as a function that takes M and r as input, but chameleon hashing is not limited to this form. Because chameleon hashing is composed of multiple algorithms, it may not be possible to express it as a function.
[0037] (Chameleon hash algorithm) Specifically, the Chameleon hash consists of five algorithms: (1) Public parameter generation: pp CH ←ParamGen(1 κ ) Public parameters pp CH (2) Key generation: (sk CH ,pk CH )←KeyGen(pp CH ) Public parameters pp CHBased on the secret key sk CH and the public key pk CH (3) Hash calculation: (h, r)←CHash(pk CH ,M) public key pk CH (4) Adaptive random number generation: r'←Adapt(sk CH ,M,M',r,h) private key sk CH The adaptive random number r' corresponding to the message M' and hash value h is generated using the algorithm (4). The algorithm (4) is also called the Adapt algorithm. (5) Verification: OK / NG←Check(pk CH ,M,r,h) h corresponds to M and r, and the public key pk CH Determine whether the hash value is
[0038] Regarding the hash calculation shown in (3), a method in which a random number is input from outside (i.e., h←CHash(pk CH ,M,r) may also be taken.
[0039] (First Configuration Example of Chameleon Hash) Below are configuration examples corresponding to (1) to (5). (1) Public parameter generation: pp CH ←ParamGen(1 κ ) (1-1) Randomly select a κ-bit prime number q, and select a group G of order q and its generator g. (1-2) pp CH =(q,G,g). (2) Key generation: (sk CH ,pk CH )←KeyGen(pp CH ) (2-1) x to Z q Select uniformly at random from y=g x (2-2) sk CH =x, pk CH = y. (3) Hash calculation: (h, r) ← CHash(pk CH ,M) (3-1) r to Z q Select uniformly at random from (3-2) h=g M y r(4) Adaptive random number generation: r'←Adapt(sk CH ,M,M',r,h) (4-1)r'=(M-M')x -1 +r. (5) Verification: OK / NG←Check(pk CH ,M,r,h) (5-1) h=g M y r If this is true, it's OK, if not, it's NG.
[0040] Note that in the calculations of (3-2), (4-1), and (5-1), a message is used as input, but the following configuration can also be adopted in which a hash value of the message is used as input instead of the message. The hash value of the message is a value obtained by inputting the message to a cryptographic hash function H. A cryptographic hash function H is a function that outputs a value of fixed size for an input of any size. A cryptographic hash function H is a function that satisfies three security requirements: preimage resistance, second preimage resistance, and collision resistance. Examples of cryptographic hash functions H include SHA-1, SHA-2, and SHA-3.
[0041] (Second Configuration Example of Chameleon Hash) The second configuration example differs from the first configuration example in the calculation formulas (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 select a group G of order q and its generator g. (1-2) pp CH =(q,G,g). (2) Key generation: (sk CH ,pk CH )←KeyGen(pp CH ) (2-1) x to Z q Select uniformly at random from y=g x (2-2) sk CH =x, pk CH = y. (3) Hash calculation: (h, r) ← CHash(pk CH ,M) (3-1) r to Z q Select uniformly at random from (3-2') h=gH(M) y r (4) Adaptive random number generation: r'←Adapt(sk CH ,M,M',r,h) (4-1')r'=(H(M)-H(M'))x -1 +r. (5) Verification: OK / NG←Check(pk CH ,M,r,h) (5-1') h=g H(M) y r If this is true, it's OK, if not, it's NG.
[0042] By adopting such a configuration, the Chameleon hash algorithm can be applied without any restrictions on the message length.
[0043] 3 is a flowchart illustrating an example of the flow of the generation process according to the first embodiment. First, the control unit 3 of the generation device 1 B Contents D B and a document containing content D B The first verification information h corresponding to B and the first verification parameter r B and are acquired (S1).
[0044] Then, the control unit 3 determines whether the first changer has changed the first area A B A request to change part of the content is accepted and the content is changed (S2).
[0045] Next, the control unit 3 transfers the data from the first changer to the second area A. C The designation is accepted (S3).
[0046] S2 and S3 form the first region A B The second area A C Contents D C The next modifier can modify the area, and the first area A B The second area A C The content of the area excluding the content E is changed by the first changer. B will be changed to.
[0047] Next, the control unit 3 receives a designation of a second changer from the first changer, and in response, C Content before change D CThe second verification information h c and the second verification parameter r C is generated (S4).
[0048] As an example, the control unit 3 may C Contents D C and the information of the second modifier, i.e., the public key pk of the second modifier. C,CH Based on this, second verification information h C and the second verification parameter r C Specifically, 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 has the second configuration example described above, the control unit 3 selects the second verification parameter r from a predetermined group. C and the second verification parameter r C and Content D c The cryptographic hash function hash value of the second modifier and the public key pk C,CH Based on this, second verification information h C may be generated.
[0049] Although the processes (1) and (2) of the Chameleon hash algorithm described above are not shown in the figure, they may be performed at any timing before S4.
[0050] Next, the control unit 3 calculates the first verification parameter r B the first verification information h B and the modified content E contained in the first region B and the corresponding parameter r B ' (S5).
[0051] As an example, the control unit 3 may obtain information paired with the information of the first changer, i.e., the secret key sk of the first changer. B,CH and the first verification information h B and the first region A B The modified content contained in B and the second verification information h cSpecifically, 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 has the second configuration example described above, the control unit 3 calculates the content E after the change. B and the second verification information h c Data including (E B ||h c ) is hashed by a cryptographic hash function to B ' may be calculated.
[0053] Then, the control unit 3 determines whether the first area A B The modified content contained in B and a document containing first verification information h B and the first verification parameter r after the change B ' and the generated second verification information h c and the second verification parameter r C (S6), and the process ends.
[0054] S2 may be executed after S3 and S4, or between S3 and S4, or in parallel with S3 or S4.
[0055] As described above, according to the first embodiment, the generating device 1 corresponding to the first modifier generates verification information and verification parameters corresponding to the content of the modifiable area of the next modifier, so that the first modifier can sequentially set the next modifier. Furthermore, according to the generating device 1 of the first embodiment, the modifier can sequentially set not only the next modifier but also the area that the next modifier can modify. Therefore, the first modifier can sequentially set modification rules for the next modifier and onward.
[0056] 4 is a flowchart illustrating an example of the flow of the verification process according to the first embodiment. First, the control unit 6 of the verification device 4 reads the data output by the generation device 1, that is, the first area A B Changed content of E B a document including first verification information h B , the first verification parameter r after the change B ', second verification information h C and the second verification parameter r C (S7), where the second verification parameter r C It is not mandatory to obtain the certificate.
[0057] Next, the control unit 6 receives information about the first changer, for example, the public key pk B,CH and the first region A B Changed content of E B , first verification information h B and the changed first verification parameter r B ', and second verification information h C Based on this, the control unit 6 verifies the change made by the first changer (S8). Specifically, the control unit 6 may verify whether the following formula is true: 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 the process ends.
[0059] As described above, according to the first embodiment, 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. Furthermore, the generation device 1 uses information paired with the information of the first changer to change the verification parameters, and the verification device 4 uses the information of the first changer for verification, so that the verification device 4 can verify whether the change was made by the specified first changer. Furthermore, since the content before the change is not required for verification, the amount of data to be exchanged 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. Like the system 1000 of embodiment 1, the system 1000a is a computer system that manages information for verifying the authenticity of target data to be managed. In embodiment 2, the target data is a document, as an example. The system 1000a includes an initial generation device 10, an intermediate generation device 20, a terminal generation device 30, and a verification device 40, which are capable of communicating with each other via a network N.
[0061] The network N is a wired or wireless communication network, and may be a local area network (LAN), a wide area network (WAN), the Internet, or a combination thereof.
[0062] The initial generation device 10 is a computer device corresponding to creator A who initially creates a document. For example, the initial generation device 10 may be a device operated by creator A or a device under creator A's supervision.
[0063] The intermediate generation device 20 is a specific example of the generation device 1 of the first embodiment, and is a computer device corresponding to the modifier B. The modifier B is the current modifier if there is a next modifier. When an event occurs in which the modifier B modifies the content of a first region in a document, the intermediate generation device 20 generates information for verifying the event.
[0064] The termination generation device 30 is a computer device corresponding to the modifier C. The modifier C is the last modifier when the next modifier is not specified. When an event occurs in which the modifier C modifies the content of a second region in a document, the termination generation device 30 generates information for verifying the event.
[0065] The verification device 40 is a computer device that verifies the creation of a document by creator A, the modification of the contents of the first area by modifier B, and the modification of the contents of the second area by modifier C.
[0066] The flow of information in the system 1000a will be described in more detail with reference to Fig. 6. Fig. 6 is a diagram for explaining the flow of processing in the system 1000a according to the second embodiment.
[0067] The initial generation device 10 creates a document D1. Then, the initial generation device 10 designates a modifier B as the next modifier and generates a verifier v A and signature σ to intermediate generation device 20 corresponding to modifier B.
[0068] Document D1 is a content D created by creator A. A and Content D B Content D A , D B The data that can be extracted is A , D B For example, content D A , D B The data that can be extracted is A , D B The data (D A ||D B (expressed as follows).
[0069] Content D A is the area A that cannot be changed by the changer B. A The content of the area A that the changer B cannot change. A is sometimes called the fourth area. B is the area that modifier B can modify.
[0070] verifier v A is the first verification information h B and the first verification parameter r B The signature σ is the digital signature of the creator for the data related to the document D1.
[0071] The intermediate generation device 20 receives the content D1 from the initial generation device 10. BThe intermediate generation device 20 then modifies at least a part of the document D2 and generates a verifier v B and signature σ to the termination generation device 30 corresponding to the modifier C.
[0072] Document D2 is a document containing content D A and Content E B and Content D C and each of the extractable data (D A ||E B ||D C (This is expressed as follows.) Content E B Content D is the content in the area that cannot be changed by changer C, and is the content after change by changer B. C Content D B Among the areas that have been changed, area A that can be changed by changer C C This is the content before the change was made by the changer C.
[0073] verifier v B is the first verification information h B and the changed first verification parameter r B ' and the second verification information h C and the second verification parameter r C The signature σ is the digital signature generated by the initial generation device 10.
[0074] The end generation device 30 receives the content D2 from the intermediate generation device 20. C The termination generation device 30 modifies the document D3 and generates the verifier v C and signature σ are transmitted to verification device 40 .
[0075] Document D3 is a document containing content D A and Content E B and Content E C and each of the extractable data (D A ||E B ||E C (This is expressed as follows.) Content E Cis the content of the area that can be changed by the changer C, and is the content after the change has been made by the changer C.
[0076] verifier v C is the first verification information h B and the changed first verification parameter r B ' and the second verification information h C and the second verification parameter r after the change C The signature σ is the digital signature generated by the initial generation device 10.
[0077] The verification device 40 receives the document D3 from the termination generation device 30 and the verifier v C、 Based on the signature σ and the signature σ, the following three points are verified: First, modifier C is the person designated by the previous modifier and has made changes only within the designated range; Second, modifier B is the person designated by the creator and has made changes only within the designated range; Third, document D3 is a document that has been modified based on document D1 initially created by creator A.
[0078] The verification device 40 receives the document D 2 , verifier v B and signature σ. In this case, verification device 40 may verify the second and third items described above based on the received information.
[0079] 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, a flash memory, etc. The storage unit 100 stores a program 101, a creator A's private key sk, A,sig and the public key pk of the modifier B B,CH The program 101 is a computer program that implements the processing by the initial generation device 10. The private key sk of the creator A A,sigis an example of secret information paired with creator A's information. B,CH is an example of information of the changer B.
[0081] The memory 110 is a volatile storage device such as RAM (Random Access Memory), and is a storage area for temporarily storing information when the control unit 150 is operating. 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, i.e., a control device, that controls each component of the initial generation device 10. The control unit 150 loads the program 101 from the storage unit 100 into the memory 110 and executes the program 101. In this way, the control unit 150 realizes the processing shown in FIG.
[0083] FIG. 8 is a flowchart illustrating an example of the processing flow of the initial generation device 10 according to the second embodiment.
[0084] First, the control unit 150 of the initial generation device 10 generates a document D0 in response to an operation by a creator (S10). Next, the control unit 150 extracts an area A from the document area, which is an area in the data structure of the document D0. B Define area A A and area A B (S11) A is the area of the document that cannot be changed by the next modifier, and content D A Area A B is the area of the document that can be modified by the next modifier, and content D B Includes:
[0085] Next, the control unit 150 receives a designation of the modifier B from the creator A as the next modifier (S12). In response to receiving the designation of the modifier B, the control unit 150 B Content before change D B and the public key pk of the modifier B B,CH Based on the above, first verification information h B and the first verification parameter r BSpecifically, the control unit 150 may use the Chameleon hash algorithm to calculate: (h B ,r B )←CHash(pk B,CH ,D B )
[0086] Next, the control unit 150 calculates the first verification information h B and the first verification parameter r B A verifier v that contains at least A Specifically, v A may be expressed as: v A =(r B ,h B )
[0087] Next, the control unit 150 A and the first verification information h B and the data based on the creator's private key sk A,sig A signature σ is generated using σ (S14). A,sig ,D A ||h B )
[0088] As described above, in generating the signature σ, content D A and the first verification information h B and data based on (D A ||h B ) to verify the signature σ. B Content before change D B is no longer necessary.
[0089] Next, the control unit 150 A Contents D A and area A B Contents D B Then, the control unit 150 generates a document D1 as extractable data (S15). A , and signature σ are associated with each other and transmitted to intermediate generation device 20 (S16). Note that control unit 150 may store the above-mentioned data in a storage device (not shown) instead of or in addition to this.
[0090] As described above, according to the first embodiment, the initial generation device 10 designates the next modifier and assigns the verifier v A and signature σ can be inherited.
[0091] 9 is a block diagram showing the configuration of an intermediate generation device 20 according to embodiment 2. The intermediate generation device 20 includes 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 storage unit 200 is a storage device such as a hard disk, a flash memory, etc. The storage unit 200 stores a program 201, a secret key sk of the changer B, B,CH and the public key pk of the modifier C C,CH The program 201 is a computer program that implements the processing by the intermediate generation device 20. The secret key sk of the modifier B is stored. B,CH is an example of secret information paired with the information of the modifier B. The public key pk of the modifier C C,CH is an example of information of the modifier C.
[0093] The memory 210 is a volatile storage device such as a RAM, and is a storage area for temporarily storing information when the control unit 250 is operating. The communication unit 220 is a communication interface with the network N. The input unit 230 is an input device. The display unit 240 is a display device.
[0094] Control unit 250 is a processor, or control device, that controls each component of intermediate generation device 20. Control unit 250 loads program 201 from storage unit 200 into memory 210 and executes program 201. In this way, control unit 250 realizes the processing shown in FIG.
[0095] FIG. 10 is a flowchart showing an example of the processing flow of the intermediate generation device 20 according to the second embodiment.
[0096] First, the control unit 250 of the intermediate generation device 20 receives the document D1 and the verifier v from the initial generation device 10. A, and the signature σ are associated with each other (S20). After acquiring the document D1, the control unit 250 of the intermediate generation device 20 may cause the display unit 240 to display the document D1. At this time, the display unit 240 displays the area A included in the document D1 that can be modified by the modifier B. B The content of the area may be displayed in a highlighted manner compared to the other areas, or may be displayed as selectable.
[0097] 11 is a diagram showing an example of a case where a document D1 is displayed on the display unit 240 according to the second embodiment. The image 600 displayed on the display unit 240 is a region A B Area A that comprises B1 , A B2 , A B3 and region A B1 , A B2 , A B3 The content of area A is highlighted so that the modifier B can recognize that this is an area that can be modified by the modifier B. B1 , A B2 , A B3 For each of the above, an input field is set that accepts changes by the person making the change. The person making the change, B, can select the input field for the area he / she wants to change and change the content of that area.
[0098] 10, the explanation will be continued. Next, the control unit 250, by the operation of the modifier B, modifier B can change the area A B Next, the control unit 250 changes the content of the area A from the changer B, which can be changed by the next changer. C The designation is accepted (S22).
[0099] Next, the control unit 250 A Contents D A and area A B Changed content of E B and area A c Contents D C Based on each content D A , E B , D C The extractable data is stored in document D2 (D A ||E B||D C ) (S23). By generating data from which each content can be extracted and handing it over to the next person making the changes, the next person can easily grasp the entire changed document.
[0100] Next, the control unit 250 receives a designation from the modifier B of the modifier C as the next modifier (S24).
[0101] FIG. 12 is a diagram showing an example of a display by the display unit 240 when accepting the designation of modifier C. For example, the display unit 240 may display information on a plurality of candidate modifiers in a selectable manner. The displayed candidate modifiers may be people designated in advance as candidates, or may be people registered in the address book of the intermediate generation device 20. The modifier B may be able to designate the next modifier by selecting one from the displayed plurality of candidates. Note that the display unit 240 may display an input area in which the modifier can input identification information such as the name and email address of the next modifier, and may accept the designation of the next modifier through input.
[0102] Returning to FIG. 10, the description will be continued. In response to receiving the designation of the modifier C, the control unit 250 C Contents D C and the public key pk of the modifier C C,CH Based on this, second verification information h C and the second verification parameter r C Specifically, the control unit 250 may calculate: (h C ,r C )=CHash(pk C,CH ,D C )
[0103] Next, the control unit 250 converts the first verification parameter into first verification information h C and area A B The modified content contained in B Specifically, the control unit 250 modifies the secret key sk of the modifier B so that it corresponds to the B,CH and area A B Content D before change included in B and area A B The modified content contained inB and the second verification information h c and the first verification information h B and the first verification parameter r B Based on this, the first verification parameter r after modification is B More specifically, the control unit 250 may use the Adapt algorithm to calculate: r B '←Adapt (sk B,CH ,D B ,E B ||h C ,r B ,h B )
[0104] The first verification parameter r after the above change B The modified content E in generating ' B and second verification information h C Data based on (E B ||h C ) to verify that the area A C Content before change D C is no longer necessary.
[0105] Next, the control unit 250 calculates the first verification information h B and the changed first verification parameter r B ' and the second verification information h C and the second verification parameter r C A verifier v that includes at least B Specifically, the control unit 250 generates a verifier v A Second verification information h C and the second verification parameter r C and the verifier v A The first verification parameter r included in B The first verification parameter r after changing B ' to the validator v B Generate.
[0106] More specifically v B may be expressed as: v B =(r B ',h B ,r C ,h C )
[0107] Then, the control unit 250 2 , verifier v B , and the signature σ are associated with each other, and the data is transmitted to the termination generation device 30 (S27). Note that instead of or in addition to this, the control unit 250 may store the above-mentioned data in a storage device (not shown).
[0108] In this way, the intermediate generation device 20 of the second embodiment achieves the same effects as the generation device 1 of the first embodiment.
[0109] 13 is a block diagram showing the configuration of a termination generation device 30 according to embodiment 2. The termination generation device 30 includes 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, a flash memory, etc. The storage unit 300 stores a program 301 and a secret key sk of the changer C. C,CH The program 301 is a computer program that implements the processing by the termination generation device 30. The secret key sk of the modifier C C,CH is an example of secret information paired with the information of the modifier C.
[0111] The memory 310 is a volatile storage device such as a RAM, and is a storage area for temporarily storing information when the control unit 350 is operating. The communication unit 320 is a communication interface with the network N. The input unit 330 is an input device. The display unit 340 is a display device.
[0112] The control unit 350 is a processor, i.e., a control device, that controls each component of the termination generation device 30. The control unit 350 loads the program 301 from the storage unit 300 into the memory 310 and executes the program 301. In this way, the control unit 350 realizes the processing shown in FIG.
[0113] 14 is a flowchart illustrating an example of the processing flow of the termination generation device 30 according to the second embodiment. First, the control unit 350 of the termination generation device 30 receives the document D2 and the verifier v from the intermediate generation device 20. B, and the signature σ are associated with each other (S30). After acquiring the document D2, the control unit 350 of the termination generation device 30 may cause the display unit 340 to display the document D2. The display method may be the same as that shown in FIG. 11.
[0114] Next, the control unit 350, by the operation of the modifier C, modifies the area A C Content of Content D C From Content E C (S31).
[0115] Next, the control unit 350 A Contents D A and area A B Changed content of E B and area A c Changed content of E c and each content D based on A , E B , E C Document D3 (D A ||E B ||E C ) is generated (S32).
[0116] Next, the control unit 350 converts the second verification parameter into second verification information h c and area A C Changed content of E C Specifically, the control unit 350 modifies the secret key sk of the modifier C so that it corresponds to the C,CH and area A C Content D before change included in C and area A C The modified content contained in C and the second verification information h C and the second verification parameter r C Based on this, the second verification parameter r after modification is C More specifically, the control unit 350 may use the Adapt algorithm to calculate: r C '←Adapt (s BC,CH ,D C ,E C ,r C ,h C)
[0117] Next, the control unit 350 calculates the first verification information h B and the changed first verification parameter r B ' and the second verification information h C and the second verification parameter r after the change C ' and a validator v that contains at least C Specifically, the control unit 350 generates a verifier v B The second verification parameter r included in C The second verification parameter r after changing C ' to the validator v C Generate.
[0118] More specifically v C may be expressed as: v C =(r B ',h B ,r C ',h C )
[0119] Then, the control unit 350 receives the document D3 and the verifier v C , and the signature σ are associated with each other and transmitted to the verification device 40 (S35). Note that instead of or in addition to this, the control unit 350 may store the above-mentioned data in a storage device (not shown).
[0120] 15 is a block diagram showing the configuration of a verification device 40 according to the second embodiment. The verification device 40 includes 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 storage unit 400 is a storage device such as a hard disk or flash memory. The storage unit 400 stores a program 401, a verification key vk of the creator A, and A,sig , public key pk of modifier B B,CH , and the public key pk of the modifier C C,CH The program 401 is a computer program that implements the processing by the verification device 40. The public key pk of the modifier C C,CH is an example of information of the modifier C.
[0122] The memory 410 is a volatile storage device such as a RAM, and is a storage area for temporarily storing information when the control unit 450 is operating. The communication unit 420 is a communication interface with the network N. The input unit 430 is an input device. The display unit 440 is a display device.
[0123] The control unit 450 is a processor, i.e., a control device, that controls each component of the verification device 40. The control unit 450 loads the program 401 from the storage unit 400 into the memory 410 and executes the program 401. In this way, the control unit 450 realizes the processing shown in FIG.
[0124] 16 is a flowchart illustrating an example of the processing flow of the verification device 40 according to the second embodiment. First, the control unit 450 of the verification device 40 receives the document D3 and the verifier v from the termination generation device 30. C , and data associated with the signature σ are obtained (S40).
[0125] Next, the control unit 450 calculates the public key pk of the modifier B. B,CH and area A in document D3 B The modified content contained in B and second verification information h C and the first verification information h B and the first verification parameter r B ', the content change made by the changer B is verified (S41). B It can be determined whether the content change was made by the specified changer B within the specified range.
[0126] Specifically, the control unit 450 may verify whether the following formula holds: OK←Check(pk B,CH ,E B ||h C ,r B ',h B ) Please note that the verification will be conducted using the modified content E B and second verification information h C Since data based on C Content before change D C is not necessary.
[0127] Next, the control unit 450 calculates the public key pk of the modifier C. C,CH and area A in document D3 C Changed content of E C and the verifier v C The second verification information h included in C and the second verification parameter r after the change C Based on the above, the content change made by the changer C is verified (S42). C It can be determined whether the content change was made by a specified changer C within a specified range.
[0128] Specifically, the control unit 450 may verify whether the following formula holds: OK←Check(pk C,CH ,E C ,r C ',h C )
[0129] Next, the control unit 450 processes the area A in the document D3. A Contents D A and the verifier v C The first verification information h included in B and the data based on creator A's private key vk A,sig The signature σ is verified based on the above (S43). This makes it possible to determine whether the document D3 is a document that has been altered based on the document created by creator A.
[0130] Specifically, the control unit 450 may verify whether the following formula holds: OK←Verify(vk A,sig ,D A ||h B ,σ) Note that the verification is performed in area A A Contents D A and first verification information h B Since data based on B Content before change D B is not necessary.
[0131] The control unit 450 then outputs the verification result (S44). At this time, if all of the verifications in S42, S43, and S44 are successful, the control unit 450 outputs a message indicating that the verification was successful. On the other hand, if any of the verifications in S42, S43, and S44 are unsuccessful, the control unit 450 outputs a message indicating that the verification was unsuccessful. For example, the control unit 450 may notify the initial generation device 10 of the verification result.
[0132] Although the second embodiment has been described above, the second embodiment can be modified as follows.
[0133] <First Modification of Second Embodiment> For example, in the first modification of the second embodiment, the verifier v A ,v B ,v C contains information on the content and the public key of each modifier. In this case, the verification device 40 does not need to store the public key of each modifier in advance in the storage unit. B ,v C ) includes multiple pieces of verification information and verification data, the verifier may include information indicating the correspondence between the content, the verification information, and the verification parameters.
[0134] FIG. 17 is a diagram for explaining the processing flow of the system 1000a according to the first modified example of the second embodiment.
[0135] The verifier v generated by the control unit 150 of the initial generation device 10 A is area A A Contents D A and area A B Content before change D B , public key pk of modifier B B,CH , first verification information h B , and the first verification parameter r B Specifically, the verifier v A is (D A ,(D B ,pk B,CH ,r B ,h B The control unit 150 of the initial generation device 10 generates a document D 1、 verifier v Aand signature σ to intermediate generation device 20.
[0136] The verifier v generated by the control unit 250 of the intermediate generation device 20 B is area A A Contents D A and area A B The modified content contained in B , public key pk of modifier B B,CH , first verification information h B , and the modified first verification parameter r B ' and area A C Content before change D C , the public key pk of the modifier C C,CH , second verification information h C , and the second verification parameter r before the change C Specifically, the verifier v B is (D A ,(E B ,pk B,CH ,r B ',h B ),(D C ,pk C,CH ,r C ,h C The control unit 250 of the intermediate generation device 20 processes the document D 2、 verifier v B and the signature σ to the termination generation device 30 .
[0137] The verifier v generated by the control unit 350 of the termination generation device 30 C is area A A Contents D A and area A B The modified content contained in B , public key pk of modifier B B,CH , first verification information h B , and the modified first verification parameter r B ' and area A C Changed content of E C , the public key pk of the modifier C C,CH , second verification information h C , and the modified second verification parameter r CSpecifically, the verifier v C is (D A ,(E B ,pk B,CH ,r B ',h B ),(E C ,pk C,CH ,r C ',h C The control unit 350 of the termination generation device 30 receives the document D3 and the verifier v C and signature σ to verification device 40. In the first modification of the second embodiment, transmission of document D3 is not essential.
[0138] The control unit 450 of the verification device 40 receives the verifier v from the termination generation device 30. D and the signature σ, the content modification by each modifier and the verification of the signature σ are performed.
[0139] By providing a verifier including the content, verification information, and verification parameters to a downstream device in this way, it becomes possible to verify changes to the content and verify the signature σ without the need for the verification device 40 to acquire intermediate documents. Furthermore, by including information on the correspondence between the content, verification information, and verification parameters in the verifier, the above verification becomes easier.
[0140] <Second Modification of Second Embodiment> In the second embodiment described above, two modifiers make changes sequentially, but the number of modifiers may be three or more. In this case, system 1000a may include multiple intermediate production devices 20 corresponding to different modifiers.
[0141] 18 is a diagram illustrating the processing flow of a system 1000a according to a second modified example of embodiment 2. While two intermediate production devices 20-1 and 20-2 are illustrated in this diagram as an example, the number of intermediate production devices 20 is not limited to this. Each of the intermediate production devices 20-1 and 20-2 executes processing similar to the processing shown in FIG.
[0142] In this figure, the initial generation device 10, intermediate generation device 20-1, intermediate generation device 20-2, and terminal generation device 30 correspond to creator A, modifier B, modifier C, and modifier D, respectively. Processing may be performed in the order of initial generation device 10, intermediate generation device 20-1, intermediate generation device 20-2, and terminal generation device 30.
[0143] The control unit 150 of the initial generation device 10 A ||D B ), and specify the modifier B as the next modifier, and the first verification parameter r B A validator v containing A and signature σ. Then, the control unit 150 of the initial generation device 10 generates the document D 1、 verifier v A and signature σ to intermediate generation device 20-1.
[0144] Then, the control unit 250 of the intermediate generation device 20-1 modifies the document D1 to generate document D2 (D A ||E B ||D C ), and designates modifier C as the next modifier. Then, the control unit 250 of the intermediate generation device 20-1 generates the verifier v A Second verification information h C and the second verification parameter r C and the verifier v A The first verification parameter r included in B The first verification parameter r after changing B ' to the validator v B Then, the control unit 250 of the intermediate generation device 20-1 generates the document D 2、 verifier v B and signature σ to intermediate generation device 20-2.
[0145] The control unit 250 of the intermediate generation device 20-2 2 Change document D3(D A ||E B ||E C ||D D ), and designates modifier D as the next modifier. Then, the control unit 250 of the intermediate generation device 20-2 generates a verifier v B Third verification information h Dand the third verification parameter r D and the verifier v B The second verification parameter r included in C The second verification parameter r after changing C ' to the validator v C Then, the control unit 250 of the intermediate generation device 20-2 generates the document D 3、 verifier v C and the signature σ to the termination generation device 30 .
[0146] The control unit 350 of the termination generating device 30 modifies the document D3 to generate a document D4 (D A ||E B ||E C ||E D Then, the termination generation device 30 generates a verifier v C The third verification parameter r included in D The third verification parameter r after changing D ' is replaced with the validator v D Then, the end generation device 30 generates the document D 4、 verifier v D and the signature σ are transmitted to the verification device 40 .
[0147] The control unit 450 of the verification device 40 receives the document D4 and the verifier v D and the signature σ, the content modification by each modifier and the verification of the signature σ are performed.
[0148] In this way, the number of modifiers can be easily adjusted by increasing or decreasing the number of intermediate generation devices 20.
[0149] <Third Embodiment> Next, a third embodiment of the present disclosure will be described. A system 1000a according to the third embodiment includes an initial generation device 10, a plurality of intermediate generation devices 20-1 and 20-2 corresponding to different modifiers B and C, a plurality of terminal generation devices 30-1, 30-2, and 30-3 corresponding to different modifiers D, E, and F, and a verification device 40. In the third embodiment, the processing of the system 1000a is partially branched. That is, the creator may specify multiple next modifiers, and each modifier may specify multiple next modifiers.
[0150] 19 is a diagram illustrating the flow of processing of the system 1000a according to the third embodiment. As shown in FIG. 19, the control unit 150 of the initial generation device 10 A ||D B ||D C At this time, creator A designates modifiers B and C as the next modifiers. In response to this, the control unit 150 of the initial creation device 10 creates the pre-modified content D B Verification information h corresponding to B and the validation parameter r B And the content D before the change C Verification information h corresponding to C and the validation parameter r C Then, the control unit 150 of the initial generation device 10 generates a verifier v A (D A ,(D B ,pk B,CH ,r B ,h B ),(D C ,pk C,CH ,r C ,h C )) is generated. The control unit 150 of the initial generation device 10 also generates a signature σ. The control unit 150 of the initial generation device 10 then generates the document D 1、 verifier v A and signature σ to intermediate generation device 20-1 and intermediate generation device 20-2.
[0151] The control unit 250 of the intermediate production device 20-1 changes the area that the modifier B can modify, and B E B ||D D At this time, modifier B designates the next modifier as modifier D. In response to this, control unit 250 of intermediate creation device 20-1 creates a document with the modified content E B The corresponding validation parameter r B ' and the content before the change D D Verification information h corresponding to D and the validation parameter r C Next, the control unit 250 of the intermediate generation device 20-1 generates a verifier vB Then, the control unit 250 of the intermediate creation device 20-1 generates the modified document. 、 verifier v B and the signature σ to the termination generation device 30-1.
[0152] The control unit 250 of the intermediate production device 20-2 changes the area that the modifier C can modify, and C E C ||D E ||D F At this time, modifier C designates the next modifiers as modifiers E and F. In response to this, control unit 250 of intermediate creation device 20-2 generates a document modified as follows: C The corresponding validation parameter r C ' and the content before the change D E Verification information h corresponding to E and the validation parameter r E And the content D before the change F Verification information h corresponding to F and the validation parameter r F Next, the control unit 250 of the intermediate generation device 20-2 generates a verifier v C Then, the control unit 250 of the intermediate generation device 20-2 generates the modified document. 、 verifier v C and the signature σ to the termination generation devices 30-2 and 30-3.
[0153] 14 to generate a modified document and a verifier. Then, the control unit 350 of each of the termination generation devices 30-1, 30-2, and 30-3 transmits the modified document, the modified verifier, and the signature σ to the verification device 40.
[0154] The control unit 450 of the verification device 40 receives the document, verifier, and signature σ generated by each of the terminal generation devices 30-1, 30-2, and 30-3. Then, the control unit 450 of the verification device 40 verifies the changes to the content made by each changer and the signature σ based on the received data.
[0155] The verification device 40 may use a final document generated by integrating the documents generated by the respective end-point generation devices 30-1, 30-2, and 30-3, instead of the documents generated by the respective end-point generation devices 30-1, 30-2, and 30-3.
[0156] 20 is a diagram showing an example of the structure of a final document according to the third embodiment. A Contents D A and area A that can be modified by modifier B B The content of the area A and the area C can change. C The content of area A in the final document is concatenated with that of area B. B The content of Content E B and Content E D The content is the combined content of Area A in the final document. C The content of Content E C and Content E E and Content E F It is a content that links the above.
[0157] As described above, according to the third embodiment, the creator or modifier can specify multiple next modifiers. This increases the range of modification rules that the creator or modifier can decide, thereby increasing the degree of freedom of the system.
[0158] Note that any process in the present disclosure can be realized by causing a processor to execute a computer program.
[0159] In the above examples, the program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored on a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.
[0160] The present disclosure is not limited to the above-described embodiments and may be modified as appropriate without departing from the spirit of the present disclosure. For example, in the above-described second and third embodiments, the intermediate generation device 20 and the end generation device 30 are described as separate devices. However, a single device may have both the functions of the intermediate generation device 20 and the end generation device 30. Specifically, the control unit 250 of the intermediate generation device 20 corresponding to the modifier B may generate the second verification information and the second verification parameters when it receives a designation of modifier C as the next modifier from the modifier B, but may not generate the second verification information and the second verification parameters when it does not receive a designation of modifier C. This allows the modifier to decide whether to designate the next modifier, thereby increasing the flexibility of the system.
[0161] In the above-described second and third embodiments, the intermediate generation device 20 and the end generation device 30 modify the document in response to the operation of the modifier. However, a different external device (not shown) may modify the document in response to the operation of the modifier. In this case, the intermediate generation device 20 and the end generation device 30 may obtain the document modified by the external device from the external device.
[0162] In the above-described second and third embodiments, the initial generation device 10 creates a document through operations by a creator. However, a different external device may create a document through operations by a creator. In this case, the initial generation device 10 may obtain the document created by the external device from the external device.
[0163] In the above-described second and third embodiments, the modifier B corresponding to the intermediate production device 20 can modify the area A B In this case, in the above explanation, area A B Content included in E B becomes empty content. Also, the content before the change D C may be content created by creator A, or may be content that has been partially or entirely modified by modifier B.
[0164] In the above-described second and third embodiments, the creator may specify that the next modifier can modify all the document areas he / she created, without specifying which areas of the document area the next modifier cannot modify. In this case, in the above description, area A A Contents D A results in empty content.
[0165] Some or all of the above embodiments can be described as, but are not limited to, the following supplementary notes. (Supplementary Note 1) A generation device comprising: a control unit that generates second verification information and a second verification parameter corresponding to content of a second area where a second modifier can modify content, the second area being at least a part of a first area where a first modifier can modify content; acquires first verification information and a first verification parameter corresponding to the content before the modification of the first area; and modifies the first verification parameter to correspond to the first verification information and the modified content of the first area. (Supplementary Note 2) The control unit generates the second verification information and the second verification parameter based on the content of the second area and information of the second modifier; and modifies the first verification parameter based on 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. (Supplementary Note 3) The generation device according to Supplementary Note 2, wherein the control means: selects the second verification parameter from a predetermined group; generates the second verification information using the second verification parameter and a hash value of the content in the second area; and modifies the first verification parameter using a hash value of data including the modified content in the first area and the second verification information. (Supplementary Note 4) The generation device according to any one of Supplements 1 to 3, wherein the control means: generates the second verification information and the second verification parameter when designation of the second modifier is accepted from the first modifier; and does not generate the second verification information and the second verification parameter when designation of the second modifier is not accepted from the first modifier. (Supplementary Note 5) The generation device according to any one of Supplements 1 to 4, wherein the control means accepts designation of the second area from the first modifier. (Supplementary Note 6) The generating device according to any one of Supplementary Notes 1 to 5, wherein the control means further generates third verification information and third verification parameters corresponding to 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.(Supplementary Note 7) The generation device according to any one of Supplements 1 to 6, wherein the control means obtains data from which the content of a fourth area that cannot be modified by the first modifier and the content of the first area before the modification can be extracted, and generates data from which the content of the fourth area, the modified content of the first area, and the content of the second area can be extracted. (Supplementary Note 8) The generation device according to any one of Supplements 1 to 7, wherein the control means generates a verifier including data associating the modified content of the first area, the first verification information, and the modified first verification parameter, and data associating the content of the second area, the second verification information, and the second verification parameter. (Supplementary Note 9) The generation device according to any one of Supplements 1 to 8, wherein the control means obtains a digital signature of a creator who created the content of the first area, and outputs the digital signature. (Supplementary Note 10) A verification device comprising: control means for acquiring changed content in a first area where a first modifier can change content, first verification information and a first verification parameter corresponding to the changed content in the first area, and second verification information corresponding to the unchanged content in a second area which is at least a part of the first area and is an area where a second modifier can change content, and for verifying the changes to the content by the first modifier based on the information of the first modifier, the changed content of the first area, the first verification information and the first verification parameter, and the second verification information. (Supplementary Note 11) The control means further acquires the changed content of the second area and a second verification parameter corresponding to the changed content of the second area, and for verifying the changes to the content by the second modifier based on the information of the second modifier, the changed content of the second area, the second verification information, and the second verification parameter.(Supplementary Note 12) The verification device described in Supplementary Note 10 or 11, wherein the control means obtains a digital signature created for data based on the content of a fourth area that cannot be modified by the first modifier and the first verification information, and verifies the digital signature based on the content of the fourth area, the first verification information, and information about the creator who created the content of the fourth area and the content of the first area. (Supplementary Note 13) A system comprising: one or more generating devices; and a verification device; wherein, 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 content, and a second area which is at least a part of the first area and in which the second modifier can modify content are defined; each of the one or more generating devices: generates second verification information and a second verification parameter corresponding to the content before the modification in the second area; obtains first verification information and a first verification parameter corresponding to the content before the modification in the first area; and modifies the first verification parameter to correspond to the first verification information and the content after the modification in the first area; and the verification device verifies, for at least one of the generating devices, the modification of the content by the first modifier based on the information of the first modifier, the content after the modification in the first area, the first verification information, the modified first verification parameter, and the second verification information. (Supplementary Note 14) The system described in Supplementary Note 13 further comprises a terminal device that acquires the second verification information and the second verification parameters generated by at least one of the generating devices, and modifies the second verification parameters to correspond to the second verification information and the modified content of the second area corresponding to that generating device, wherein the verification device acquires the modified content of the second area corresponding to that generating device, the second verification information, and the modified second verification parameters, and verifies the modification of the content by the second modifier based on information about the second modifier, the modified content of the second area, the second verification information, and the modified second verification parameters.(Supplementary Note 15) The system according to Supplementary Note 13 or 14, further comprising an initial generation device that defines the first area from a document area created by a creator, and generates the first verification information and the first verification parameter based on the content of the first area before modification and information of the first modifier. (Supplementary Note 16) The system according to Supplementary Note 15, wherein the initial generation device generates a digital signature using secret information of the creator for data based on the content of a fourth area of the document area that cannot be modified by the first modifier and the first verification information, and the verification device verifies the digital signature based on the content of the fourth area, the first verification information, and information that pairs with the secret information of the creator. (Supplementary Note 17) A method for generating information, the method comprising: generating second verification information and a second verification parameter corresponding to 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 content, and is an area where a second modifier can modify content; obtaining first verification information and a first verification parameter corresponding to the content before the modification of the first area; and modifying the first verification parameter so that it corresponds to the first verification information and the content after the modification of the first area. (Supplementary Note 18) A non-transitory computer-readable medium having stored thereon a program for causing a computer to perform the following: generating second verification information and a second verification parameter corresponding to 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 content, and is an area where a second modifier can modify content, and is an area where a second modifier can modify content; obtaining first verification information and a first verification parameter corresponding to the content before the modification of the first area; and modifying the first verification parameter so that it corresponds to the first verification information and the content after the modification of the first area.(Supplementary Note 19) A verification method comprising: acquiring changed content of a first area, which is an area where a first modifier can change content, first verification information and first verification parameters corresponding to the changed content of the first area, and second verification information corresponding to the unchanged content of a second area, which is at least a part of the first area, and is an area where a second modifier can change content; and verifying the change of content by the first modifier based on information about the first modifier, the changed content of the first area acquired, the first verification information and first verification parameters, and the second verification information. (Supplementary Note 20) A non-transitory computer-readable medium having stored thereon a program for causing a computer to execute the following steps: acquire changed content of a first area, which is an area where a first modifier can change content, first verification information and a first verification parameter corresponding to the changed content of the first area, and second verification information corresponding to the unchanged content of a second area, which is at least a part of the first area, which is an area where a second modifier can change content; and verify the change of content by the first modifier based on information of the first modifier, the acquired changed content of the first area, the first verification information and the first verification parameter, and the second verification information.
[0166] REFERENCE SIGNS LIST 1 Generation device 2 Storage unit 3 Control unit 4 Verification device 5 Storage unit 6 Control unit 10 Initial generation device 100 Storage unit 101 Program 110 Memory 120 Communication unit 130 Input unit 140 Display unit 150 Control unit 20 Intermediate generation device 200 Storage unit 201 Program 210 Memory 220 Communication unit 230 Input unit 240 Display unit 250 Control unit 30 End generation device 300 Storage unit 301 Program 310 Memory 320 Communication unit 330 Input unit 340 Display unit 350 Control unit 40 Verification device 400 Storage unit 401 Program 410 Memory 420 Communication unit 430 Input unit 440 Display unit 450 Control unit 600 Image 1000, 1000a system
Claims
1. generating second verification information and second verification parameters corresponding to content of a second area, the second area being at least a part of the first area, the first area being the area where the first modifier can modify the content; obtaining first verification information and first verification parameters corresponding to the unaltered content of the first region; Modifying the first verification parameters to correspond to the first verification information and the modified content of the first region. A generating device comprising a control means.
2. The control means generating the second verification information and the second verification parameter based on the content of the second area and information of the second modifier; The first verification parameter is changed based on secret information paired with the information of the first changer, the first verification information, the changed content of the first area, and the second verification information. The generating device of claim 1 .
3. The control means Selecting the second verification parameter from a predetermined group; generating the second verification information using the second verification parameter and a hash value of the content of the second region; The first verification parameter is changed using a hash value of data including the changed content of the first area and the second verification information. The generating device according to claim 2 .
4. The control means generating the second verification information and the second verification parameter when a designation of the second changer is received from the first changer; When the designation of the second changer is not accepted from the first changer, the second verification information and the second verification parameter are not generated. The generating device of claim 1 .
5. The control means receives a designation of the second area from the first changer. The generating device of claim 1 .
6. The control means further generates third verification information and third verification parameters corresponding to content of a third area, which is at least a part of the first area and is an area in which a third modifier can modify content. The generating device of claim 1 .
7. The control means obtaining data from which the content of a fourth area that the first changer cannot change and the content of the first area before the change can be extracted; generating data from which the content of the fourth region, the changed content of the first region, and the content of the second region can be extracted; The generating device of claim 1 .
8. The control means data in which the changed content of the first area, the first verification information, and the changed first verification parameter are associated with each other; data in which the content of the second area, the second verification information, and the second verification parameter are associated with each other; Generate a validator that contains The generating device of claim 1 .
9. The control means obtaining a digital signature of a creator who created the content of the first region; Output the digital signature The generating device of claim 1 .
10. acquiring changed content of a first area, which is an area where a first modifier can change content, first verification information and a first verification parameter corresponding to the changed content of the first area, and second verification information corresponding to unchanged content of a second area, which is at least a part of the first area, which is an area where a second modifier can change content; The modification of the content by the first modifying person is verified based on the information of the first modifying person, the modified content of the first area acquired, the first verification information and the first verification parameter, and the second verification information. A verification device comprising a control means.
11. The control means further obtaining a modified content of the second region and a second verification parameter corresponding to the modified content of the second region; The modification of the content by the second modifying person is verified based on the information of the second modifying person, the modified content of the acquired second area, the second verification information, and the second verification parameter. The verification device according to claim 10.
12. The control means obtaining a digital signature created for data based on the content of a fourth region that cannot be altered by the first alterer and the first verification information; The digital signature is verified based on the content of the fourth area, the first verification information, and information on a creator who created the content of the fourth area and the content of the first area. The verification device according to claim 10.
13. One or more generators; A verification device; 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 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: generating second verification information and second verification parameters corresponding to the unaltered content of the second region; obtaining first verification information and first verification parameters corresponding to the unaltered content of the first region; modifying the first verification parameters to correspond to the first verification information and the modified content of the first region; The verification device includes: For at least one of the generating devices, verifying the modification of the content by the first modifier based on information about the first modifier, the modified content of the first area, the first verification information, the modified first verification parameter, and the second verification information. system.
14. obtaining the second verification information and the second verification parameters generated by at least one of the generating devices; Modifying the second verification parameters to correspond to the second verification information and the modified content of the second region corresponding to the generating device. A termination device is further provided. The verification device includes: obtaining the modified content of the second region corresponding to the generating device, the second verification information, and the modified second verification parameters; Verifying the modification of the content by the second modifier based on information of the second modifier, the modified content of the second area, the second verification information, and the modified second verification parameter. The system of claim 13.
15. determining the first region from a document region created by an author; generating the first verification information and the first verification parameter based on the content before the change in the first area and information on the first changer; Further comprising an initial generation device The system of claim 13.
16. The initial generation device: generating a digital signature for data based on the content of a fourth area of the document area that cannot be modified by the first modifier and the first verification information, using secret information of the creator; The verification device verifies the digital signature based on the content of the fourth area, the first verification information, and information paired with the creator's secret information. The system of claim 15.
17. generating second verification information and second verification parameters corresponding to content of a second area, the second area being at least a part of the first area, the first area being the area where the first modifier can modify the content; obtaining first verification information and first verification parameters corresponding to the unaltered content of the first region; Modifying the first verification parameters to correspond to the first verification information and the modified content of the first region. How information is generated.
18. On the computer, generating second verification information and second verification parameters corresponding to content of a second area, the second area being an area in which a second modifier can modify content, the second area being at least a part of the first area, the area in which a first modifier can modify content; obtaining first verification information and first verification parameters corresponding to the unaltered content of the first region; modifying the first verification parameters to correspond to the first verification information and the modified content of the first region; A program for executing the above.
19. acquiring changed content of a first area, which is an area where a first modifier can change content, first verification information and a first verification parameter corresponding to the changed content of the first area, and second verification information corresponding to unchanged content of a second area, which is at least a part of the first area, which is an area where a second modifier can change content; The modification of the content by the first modifying person is verified based on the information of the first modifying person, the modified content of the first area acquired, the first verification information and the first verification parameter, and the second verification information. Verification method.
20. On the computer, acquiring a changed content of a first area, which is an area where a first modifier can change the content, first verification information and a first verification parameter corresponding to the changed content of the first area, and second verification information corresponding to an unchanged content of a second area, which is at least a part of the first area, which is an area where a second modifier can change the content; verifying the modification of the content by the first modifier based on information of the first modifier, the modified content of the first area obtained, the first verification information and the first verification parameter, and the second verification information; A program for executing the above.