Electronic document management system and electronic document management program
By utilizing distributed ledger technology to record transactions related to document generation and usage permissions, the electronic document management system addresses the challenge of managing access permissions, enabling efficient and secure document access verification.
Patent Information
- Application Number
- JP2023162887
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2025-04-07
AI Technical Summary
Existing electronic document management systems face challenges in efficiently managing access permissions for multiple users, requiring significant effort to set and maintain access rights for each electronic document.
The system employs a distributed ledger technology, where transactions related to document generation and usage permissions are recorded. This includes generating document generation transactions and usage permission transactions, which are transmitted to multiple devices and recorded in the distributed ledger, eliminating the need for explicit access permission settings.
This approach allows for efficient verification of user access rights without the need to set access permissions for each document, ensuring secure and efficient document management by leveraging the immutability and transparency of the distributed ledger.
Smart Images

Figure 2025053826000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic document management system and an electronic document management program. [Background technology]
[0002] Patent Document 1 discloses a secure document exchange system that includes a user information database that stores original documents exchanged between clients, and a property file that includes information such as access rights to documents and route definitions for each client, and that sets up a workflow related to documents based on the user information database and the property file. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2005-135072 A Summary of the Invention [Problem to be solved by the invention]
[0004] By the way, consider an electronic document management system in which electronic documents are stored in a document management server and users can use the electronic documents by accessing the electronic documents. In such an electronic document management system, since an unspecified number of users may be able to access the electronic documents, it may be necessary to appropriately manage the access authority to each electronic document.
[0005] However, setting access rights for each electronic document managed by a document management server can be a considerable hassle.
[0006] The object of the present invention is to enable, in an electronic document management system that stores electronic documents in a document management server and allows users to use the electronic documents by accessing the electronic documents, to verify whether a user can use an electronic document without the need to set access rights for each electronic document. [Means for solving the problem]
[0007] The invention according to claim 1 comprises a plurality of devices each storing a distributed ledger and connected to each other so as to be able to communicate with each other, and a transaction generation device having a first processor and generating transactions to be recorded in the distributed ledger, wherein when the first processor generates an electronic document and stores it in a document management server, the first processor generates a document generation transaction including a document ID that uniquely identifies the electronic document, a transaction ID that uniquely identifies the document generation transaction, and information indicating that it is a document generation transaction, transmits the document generation transaction to the plurality of devices to record it in the distributed ledger, and transmits the document generation transaction to the plurality of devices to record it in the distributed ledger, and transmits the document generation transaction to the plurality of devices. an electronic document management system that, in response to a usage permission instruction to permit a user to use a child document, generates a usage permission transaction including a document ID of the electronic document, a transaction ID uniquely identifying the usage permission transaction, a user ID uniquely identifying the user, the usage permission time when the usage permission instruction was received, and a parent transaction ID uniquely identifying a parent transaction which is a transaction related to another process performed on the electronic document related to the usage permission instruction immediately before the usage permission instruction, and transmits the usage permission transaction to the multiple devices to record it in the distributed ledger. The invention of claim 2 is the electronic document management system described in claim 1, characterized in that the document generation transaction further includes a generation user ID that uniquely identifies the generation user who instructed the generation of the electronic document, and in response to the usage permission instruction, the first processor sets as the parent transaction ID the transaction ID of the document generation transaction that includes the same document ID as the electronic document related to the usage permission instruction and the generation user ID that is the same as the user ID of the authorized user who issued the usage permission instruction. The invention of claim 3 is the electronic document management system described in claim 2, characterized in that, in response to the usage permission instruction, the first processor sets as the parent transaction ID the transaction ID of the usage permission transaction that includes the same document ID as the electronic document related to the usage permission instruction and the usage user ID that is the same as the user ID of the authorized user who issued the usage permission instruction. The invention of claim 4 is an electronic document management system as described in any one of claims 1 to 3, further comprising a verification device having a second processor, wherein the second processor, in response to a request for use of an electronic document from the user, identifies in the distributed ledger a latest use-approved transaction which is the latest use-approved transaction that includes the document ID of the electronic document and the user ID of the user as the user, and in the distributed ledger, traces parent transactions starting from the latest use-approved transaction based on a parent transaction ID included in the use-approved transaction, and when the document generation transaction of the electronic document is reached, permits the user to use the electronic document. The invention of claim 5 is the electronic document management system described in claim 4, characterized in that the first processor generates a cancellation transaction including the transaction ID of the permitted use transaction related to the cancellation instruction as a cancellation transaction ID in response to a cancellation instruction for the permitted use instruction, and transmits the cancellation transaction to the multiple devices to record it in the distributed ledger, and the second processor, in response to a request for use of an electronic document from the user, when tracing parent transactions starting from the latest permitted use transaction, if the permitted use transaction having the same transaction ID as the cancellation transaction ID is found among the traced permitted transactions, the second processor does not permit the user to use the electronic document. The invention of claim 6 is an electronic document management program comprising: when an electronic document is generated and stored in a document management server, a computer generates a document generation transaction, the document generation transaction including a document ID that uniquely identifies the electronic document, a transaction ID that uniquely identifies the document generation transaction, and information indicating that it is a document generation transaction; causes a computer to transmit the document generation transaction to a plurality of devices, each of which stores a distributed ledger and is connected to each other so as to be able to communicate with each other, and records it in the distributed ledger; and in response to a use permission instruction for permitting a user to use the electronic document stored in the document management server, generates a use permission transaction, the document ID of the electronic document, a transaction ID that uniquely identifies the use permission transaction, a user ID that uniquely identifies the user, the use permission time when the use permission instruction was received, and a parent transaction ID that uniquely identifies a parent transaction that is a transaction related to another processing performed on the electronic document related to the use permission instruction immediately before the use permission instruction, and causes a computer to transmit the use permission transaction to the plurality of devices, and records it in the distributed ledger. Effect of the Invention
[0008] According to the invention of claim 1 or 6, in an electronic document management system that stores electronic documents in a document management server and allows users to use the electronic documents by accessing the electronic documents, it is possible to verify whether a user can use an electronic document without the need to set access rights for each electronic document. According to the invention of claim 2, the parent transaction ID of a transaction permitted to be used can be determined more accurately than when the parent transaction ID is determined not based on the user ID of the permitted user and the generating user ID. According to the invention of claim 3, the parent transaction ID of a transaction permitted to be used can be determined more accurately than when the parent transaction ID is determined not based on the user ID of the permitted user and the usage user ID. According to the invention of claim 4, it is possible to determine whether or not to permit a user to process electronic documents based on the distributed ledger. According to the invention as set forth in claim 5, the user can cancel the usage permission instruction related to the usage permission transaction. [Brief description of the drawings]
[0009] [Figure 1] 1 is a schematic diagram illustrating the configuration of an electronic document management system according to an embodiment of the present invention. [Diagram 2] 1 is a conceptual diagram showing the structure of a blockchain. [Diagram 3] 1 is a schematic diagram illustrating the configuration of an image processing device according to an embodiment of the present invention. [Figure 4] FIG. 2 is a conceptual diagram showing the contents of a document generation transaction. [Diagram 5] FIG. 13 is a conceptual diagram showing the contents of a usage permission transaction. [Figure 6] FIG. 2 is a schematic diagram illustrating the configuration of a document management server according to the present embodiment. [Figure 7] FIG. 2 is a schematic diagram illustrating a configuration of a validation server according to the present embodiment. [Figure 8] FIG. 13 is a conceptual diagram showing the contents of a cancel transaction. [Figure 9] 1 is a first flowchart showing the flow of processing in the image processing device according to the present embodiment. [Figure 10] 10 is a second flowchart showing the flow of processing in the image processing device according to the present embodiment. [Figure 11] 13 is a second flowchart showing the flow of processing by the validation server according to the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] Fig. 1 is a schematic diagram of the configuration of an electronic document management system 10 according to the present embodiment. The electronic document management system 10 includes a block chain system 12, an image processing device 14, a document management server 16, and a verification server 18. The block chain system 12, the image processing device 14, the document management server 16, and the verification server 18 are communicatively connected to each other via a communication line 20 such as a LAN (Local Area Network) or a WAN (Wide Area Network). Although only one image processing device 14 is shown in Fig. 1, the electronic document management system 10 may include multiple image processing devices 14.
[0011] The electronic document management system 10 is a system that manages electronic documents in response to user instructions and allows the user to use the managed electronic documents in response to the user instructions. As will be described in detail later, in the electronic document management system 10, electronic documents are stored in a document management server 16, and information regarding the generation of electronic documents and user permission to use the electronic documents is recorded as transactions in a blockchain as a distributed ledger. By managing such transactions in a blockchain, tampering with transactions is suppressed, and it is possible to verify whether or not a user can use an electronic document without the need to set access rights for each electronic document stored in the document management server 16.
[0012] The blockchain system 12 includes a plurality of nodes 12a. Each node 12a may be any device as long as it has a memory and a processor. For example, each node 12a may be a PC (Personal Computer), a server, or a multifunction peripheral. At least one of the image processing device 14, the document management server 16, or the verification server 18 may be a node 12a of the blockchain system 12. Although only three nodes 12a constituting the blockchain system 12 are shown in FIG. 1, the blockchain system 12 may include more than three nodes 12a. Each node 12a is connected to each other via a communication line such as a LAN or a WAN so that they can communicate with each other by P2P (Peer to Peer). P2P is a communication method in which devices communicate directly with each other without going through a server.
[0013] FIG. 2 is a conceptual diagram showing the structure of the blockchain 30. The blockchain 30 is a form of a distributed database formed by linking a plurality of blocks. The distributed database here means that the same content of the blockchain 30 is stored in each node 12a. Each block 32 constituting the blockchain 30 includes a transaction 34 and a header 36. As described above, in this embodiment, each transaction 34 is information related to the generation or use permission of an electronic document stored in the document management server 16. The details of the transaction 34 will be described later. The header 36 includes a hash value of the block information of the immediately preceding block 32, which is the block 32 that was previously added to the blockchain 30 (hereinafter, for convenience, referred to as the hash value of the block 32). The block information is information including the transaction 34 included in the block 32. The hash value is a value obtained by irreversibly converting the target data (here, the block information of the immediately preceding block 32). Therefore, if a transaction 34 included in a certain block 32 is lost or tampered with, the hash values included in all subsequent blocks 32 will be different from the normal ones. This mechanism prevents the transaction 34 (in this embodiment, information regarding the generation or use permission of an electronic document) from being lost or altered.
[0014] If it were possible to easily add blocks to a blockchain, a malicious user could easily add an unauthorized block (for example, a block including a falsified transaction) to the blockchain. Therefore, in a blockchain, restrictions are generally imposed for adding a new block. As one of such restrictions, an algorithm called PoW (Proof of Work) has been proposed. PoW is a mechanism in which a blockchain node is made to repeat calculations, and if the calculation result satisfies a predetermined condition, a new block is permitted to be added to the blockchain. In the blockchain 30 of this embodiment, PoW is also used as a restriction for adding a new block 32.
[0015] A process for adding a new block 32 to the blockchain 30 is called a mining process. In a mining process using PoW, the processor of the node 12a calculates a hash value of the latest block 32 added to the blockchain 30 by inputting a composite value obtained by combining block information of the latest block 32 added to the blockchain 30, i.e., one or more transactions 34 included in the block 32, the hash value of the block 32 immediately before the block 32, and a value called a nonce, into a hash function. As the hash function, for example, a function such as SHA-256 is used. If the calculated hash value is less than a predetermined threshold (called a difficulty target), the mining process is successful, and the new block 32 is permitted to be added to the blockchain 30. The hash value that is less than the threshold is called a correct hash value. If the calculated hash value is equal to or greater than the threshold, the processor of the node 12a changes the value of the nonce and calculates the hash value again. Due to the characteristics of the hash function, even a slight difference in input data (here, the nonce value) causes a large change in the output hash value. In this way, the node 12a processor repeats the calculation of the hash value while changing the nonce value until the hash value becomes less than the threshold (in other words, until the correct hash value is obtained). In general, the amount of calculation required to obtain the correct hash value is enormous.
[0016] FIG. 3 is a schematic diagram of the configuration of the image processing device 14 as a transaction generating device. The image processing device 14 is a device having a print function, a copy function, a scan function, a FAX function, and the like, and is, for example, a multifunction machine. The image processing device 14 executes a process of generating an electronic document to be stored in the document management server 16, a process of accepting permission from one user to another user to use the electronic document, and a process of generating a transaction 34 related to the electronic document, in response to a user's instruction. Note that, although the transaction generating device is the image processing device 14 in this embodiment, the transaction generating device is not limited to the image processing device 14, and may be other devices as long as they can perform the functions described below. For example, the transaction generating device may be a PC. Also, in this embodiment, as described later, the electronic document stored in the document management server 16 is image data generated by the scanner 46 of the image processing device 14, but the electronic document may be other data. For example, the electronic document may be an electronic file or an image file generated by a PC.
[0017] The communication IF (Interface) 40 is configured by, for example, a network adapter, etc. The communication IF 40 exerts a function of communicating with other devices via the communication line 20.
[0018] The input IF 42 is configured with, for example, a button, a touch panel, etc. The input IF 42 is used when the user inputs instructions to the image processing device 14.
[0019] The display 44 is configured by, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, etc. Various screens are displayed on the display 44 in response to instructions from a processor 50, which will be described later.
[0020] The scanner 46 is composed of a light source and an image sensor such as a CCD (Charge-Coupled Device). The scanner 46 is a mechanism that performs a scan process to optically read a paper medium and generate an electronic document. In this embodiment, the electronic document generated by the scanner 46 becomes the electronic document stored in the document management server 16.
[0021] The memory 48 includes a hard disk drive (HDD), an embedded multi media card (eMMC), a read only memory (ROM), a random access memory (RAM), etc. A transaction creation program is stored in the memory 48 as an electronic document management program for operating each unit of the image processing device 14. The transaction creation program can also be stored in a computer-readable non-transitory storage medium such as a universal serial bus (USB) memory or an SD card. The image processing device 14 can read and execute the transaction creation program from such a storage medium.
[0022] The processor 50 as the first processor is composed of, for example, a CPU (Central Processing Unit) etc. The processor 50 is communicatively connected to the communication IF 40, the input IF 42, the display 44, the scanner 46, and the memory 48 via a data bus. The processor 50 performs the functions of an authentication processing unit 52, an electronic document generating unit 54, a usage permission processing unit 56, and a transaction creating unit 58 by an electronic document management program stored in the memory 48.
[0023] The authentication processing unit 52 authenticates a user who uses the image processing device 14. For example, the image processing device 14 has a card reader (not shown), and the authentication processing unit 52 authenticates the user by a user ID obtained by the card reader reading the user's ID card. The authentication processing unit 52 may also authenticate the user by having the user input a user ID and a password. By authenticating the user, the authentication processing unit 52 can identify the user ID of the user.
[0024] The electronic document generation unit 54 generates an electronic document in response to an instruction from a user authenticated by the authentication processing unit 52. In the image processing device 14, the electronic document generation unit 54 generates an electronic document by causing the scanner 46 to scan a paper medium set by the user based on a scan job from the user. The electronic document generation unit 54 also transmits the generated electronic document to the document management server 16, thereby storing the electronic document in the document management server 16.
[0025] The use permission processing unit 56 receives a use permission instruction from a user to permit other users to use an electronic document stored in the document management server 16. In this specification, a user who inputs the use permission instruction, i.e., a user who permits other users to use an electronic document, is called an "authorizing user," and a user who is permitted to use an electronic document by the authorized user is called a "using user." The use permission instruction includes a document ID of an electronic document related to the use permission, and a user ID of a using user. When the use permission processing unit 56 receives a use permission instruction, the use permission processing unit 56 outputs a permission notification to the using user related to the use permission instruction, the permission notification including at least one of a document ID that uniquely identifies an electronic document permitted to be used, or a transaction ID that uniquely identifies a use permission transaction (described in detail later) related to the permission of the electronic document to the using user. Note that the permission notification may be sent directly to the using user by the authorized user by a separate method (e.g., email) instead of the use permission processing unit 56.
[0026] When the electronic document generation unit 54 generates an electronic document and stores it in the document management server 16, the transaction creation unit 58 generates a document generation transaction, which is a transaction 34 related to document generation. Fig. 4 is a conceptual diagram showing the contents of a document generation transaction 34a. The document generation transaction 34a includes a transaction ID, time information, a document ID, a generating user ID, a document generation transaction flag, and a signature.
[0027] Each piece of information included in the document generation transaction 34a will be described. The transaction ID is an identifier that uniquely identifies the document generation transaction 34a. The transaction ID is determined by the transaction creation unit 58. The time information is information that indicates the time when the electronic document related to the document generation transaction 34a was generated. The document ID is an identifier that uniquely identifies the electronic document related to the document generation transaction 34a. The document ID is determined by the document management server 16. When the electronic document generation unit 54 transmits the electronic document to the document management server 16, the document management server 16 transmits the document ID of the electronic document to the image processing device 14. The transaction creation unit 58 includes the document ID transmitted from the document management server 16 in the document generation transaction 34a. The generating user ID is the user ID of the generating user who instructed the generation of the electronic document related to the document generation transaction 34a. The transaction creation unit 58 sets the user ID acquired by the authentication processing unit 52 prior to the electronic document generation process by the electronic document generation unit 54 as the generating user ID. The document generation transaction flag is information indicating that the transaction 34 is a document generation transaction 34a. The document generation transaction flag may be any information. For example, if the document generation transaction 34a has a data structure similar to that of the usage permission transaction 34b described later, the document generation transaction 34a may indicate that it is a document generation transaction by having its own transaction ID as a parent transaction ID (described in detail later). Also, if the document generation transaction 34a can be identified as a document generation transaction 34a by its data structure itself, the document generation transaction 34a does not need to have a document generation transaction flag. In that case, the data structure of the document generation transaction 34a itself is information indicating that it is a document generation transaction 34a. The signature is data obtained by signing the transaction ID, time information, document ID, generating user ID, and document generation transaction flag using the private key of the generating user.
[0028] The transaction creation unit 58 broadcasts the generated document generation transaction 34a to multiple nodes 12a included in the blockchain system 12. As a result, in each node 12a, a mining process is performed on the block 32 including the document generation transaction 34a, and if the mining process is successful, the block 32 including the document generation transaction 34a is added to the blockchain 30. In other words, the document generation transaction 34a is recorded in the blockchain 30.
[0029] In addition, in response to the usage permission instruction received by the usage permission processing unit 56, the transaction creation unit 58 generates a usage permission transaction, which is the transaction 34 related to the usage permission instruction. Figure 5 is a conceptual diagram showing the contents of usage permission transaction 34b. Usage permission transaction 34b includes a transaction ID, time information, document ID, authorized user ID, usage user ID, parent transaction ID, and signature.
[0030] Each piece of information included in the usage permission transaction 34b will be described. The transaction ID is an identifier that uniquely identifies the usage permission transaction 34b. The transaction ID is determined by the transaction creation unit 58. The time information is information that indicates the time at which the usage permission instruction related to the usage permission transaction 34b is accepted. Since the usage permission instruction for the electronic document is input by the authorized user after the electronic document is generated and stored in the document management server 16, the time indicated by the time information of the usage permission transaction 34b is later than the time indicated by the time information of the document generation transaction 34a for the same electronic document. The document ID is an identifier that uniquely identifies the electronic document related to the usage permission transaction 34b. The transaction creation unit 58 includes the document ID included in the usage permission instruction accepted from the user in the usage permission transaction 34b. The authorized user ID is the user ID of the authorized user. The transaction creation unit 58 sets the user ID acquired by the authentication processing unit 52 before the usage permission processing unit 56 accepts the usage permission instruction as the authorized user ID. The user ID is the user ID of the user who uses the electronic document. The transaction creation unit 58 includes the use user ID included in the use permission instruction received from the user in the use permission transaction 34b. The parent transaction ID is an identifier that uniquely identifies a parent transaction, which is a transaction 34 related to another process performed on the electronic document related to the use permission instruction immediately before the use permission instruction. Details of a method for determining a parent transaction ID will be described later. The signature is data obtained by signing the transaction ID, time information, document ID, authorized user ID, use user ID, and parent transaction ID using the private key of the authorized user. Note that the use permission transaction 34b does not have information such as a use permission transaction flag, but it is possible to recognize that it is a use permission transaction 34b based on the data structure of the use permission transaction 34b itself, such as including the authorized user ID and the use user ID.
[0031] In this specification, the document generation transaction 34a and the authorization transaction 34b are collectively referred to as transaction 34.
[0032] A method for determining a parent transaction ID will now be described. The transaction creation unit 58 searches for a transaction 34 that includes the same document ID as the document ID included in the permitted transaction 34b from among the transactions 34 included in the block 32 that has already been added to the blockchain 30. If multiple transactions 34 are found, the transaction 34 whose time information indicates the most recent time is identified. The transaction ID of such a transaction 34 becomes the parent transaction ID of the permitted transaction 34b. The parent transaction may be the document generation transaction 34a or another permitted transaction 34b.
[0033] Preferably, the transaction creation unit 58 may set another permitted transaction 34b that includes the same document ID as the permitted transaction 34b and includes the same user ID as the permitted user ID included in the permitted transaction 34b as the parent transaction ID of the permitted transaction 34b. In other words, the transaction creation unit 58 does not set the transaction ID of another permitted transaction 34b that includes the same document ID as the permitted transaction 34b but does not include the same user ID as the permitted user ID included in the permitted transaction 34b as the parent transaction ID of the permitted transaction 34b. This prevents a permitted transaction 34b other than the permitted transaction 34b related to the permitted transaction instruction that is permitted to be used by the permitted user related to the permitted transaction 34b as the user from becoming the parent transaction when multiple users issue a permission instruction for the same electronic document. In other words, the parent transaction ID of the permitted transaction 34b can be determined more accurately.
[0034] Preferably, if the transaction 34 containing the same document ID as the document ID contained in the permitted transaction 34b and the transaction 34 whose time information indicates the most recent time is the document generation transaction 34a, that is, if no other permitted transaction 34b related to the document ID is found, and if the document generation transaction 34a contains the same authorized user ID as the authorized user ID contained in the permitted transaction 34b as a generating user ID, the transaction creation unit 58 sets the transaction ID of the document generation transaction 34a as the parent transaction ID of the permitted transaction 34b. In other words, if the generating user ID of the identified document generation transaction 34a is different from the authorized user ID contained in the permitted transaction 34b, the transaction creation unit 58 does not set the transaction ID of the document generation transaction 34a as the parent transaction ID of the permitted transaction 34b. This prevents the document generation transaction 34a from becoming a parent transaction even if a malicious user includes a document ID that is the same as the document ID included in the permitted transaction 34b in the blockchain 30. In other words, the parent transaction ID of the permitted transaction 34b can be determined more accurately.
[0035] The transaction creation unit 58 broadcasts the generated permission transaction 34b to multiple nodes 12a included in the blockchain system 12. As a result, each node 12a executes a mining process for the block 32 including the permission transaction 34b, and if the mining process is successful, the block 32 including the permission transaction 34b is added to the blockchain 30. In other words, the permission transaction 34b is recorded in the blockchain 30.
[0036] The transaction generator 58 may also notify the authorized user of the transaction ID of the generated permitted use transaction 34b.
[0037] FIG. 6 is a schematic diagram of the configuration of the document management server 16. As shown in FIG.
[0038] The communication IF 60 is configured by, for example, a network adapter, etc. The communication IF 60 exerts a function of communicating with other devices via the communication line 20.
[0039] The memory 62 includes an HDD, eMMC, ROM, RAM, or the like. The memory 62 stores a program for operating each unit of the document management server 16. The program can also be stored in a computer-readable non-transitory storage medium such as a USB memory or an SD card. The document management server 16 can read and execute the program from such a storage medium. As shown in FIG. 6, the memory 62 is also provided with an electronic document DB (DataBase) 64. The electronic document DB stores electronic documents transmitted from one or more image processing devices 14 included in the electronic document management system 10.
[0040] The processor 66 is configured by, for example, a CPU. The processor 66 is communicably connected to the communication IF 60 and the memory 62 via a data bus. The processor 66 performs the functions of an authentication processing unit 68 and a document processing unit 70 by a server program stored in the memory 62.
[0041] The authentication processing unit 68 authenticates a user who uses the document management server 16. For example, the document management server 16 authenticates the user by having the user input a user ID and a password. By authenticating the user, the authentication processing unit 68 can identify the user ID of the user.
[0042] The document processing unit 70 executes processing related to electronic documents managed by the electronic document management system 10. When the document processing unit 70 receives an electronic document from the image processing device 14, the document processing unit 70 assigns a document ID to the electronic document, stores the electronic document in the electronic document DB 64, and transmits the document ID to the image processing device 14. When the document processing unit 70 receives a request to use an electronic document managed by the document management server 16 from a user authenticated by the authentication processing unit 68, the document processing unit 70 transmits a verification request to the verification server 18 to verify whether the user is allowed to use the electronic document. The verification request includes at least one of the user ID of the user and the document ID of the electronic document acquired by the authentication processing unit 68, and the transaction ID of the usage permission transaction 34b related to the usage permission of the electronic document. The verification process by the verification server 18 will be described later.
[0043] In addition, in the present embodiment, the image processing device 14 has the function of the usage permission processing unit 56, and the authorized user inputs the usage permission instruction to the image processing device 14. However, the document management server 16 may have the function as the usage permission processing unit 56, and the authorized user may input the usage permission instruction to the document management server 16. In this case, the processor 66 may perform part of the function of the transaction creation unit 58. That is, the processor 66 may generate a usage permission transaction 34b related to the usage permission instruction in response to the usage permission instruction received from the user, and transmit the generated usage permission transaction 34b to multiple nodes 12a included in the blockchain system 12 at once. In this way, the processor 66 may perform part of the function of the first processor.
[0044] FIG. 7 is a schematic diagram showing the configuration of the validation server 18 serving as a validation device.
[0045] The communication IF 80 is configured by, for example, a network adapter, etc. The communication IF 80 exerts a function of communicating with other devices via the communication line 20.
[0046] The memory 82 includes an HDD, an eMMC, a ROM, a RAM, or the like. A verification program for operating each unit of the verification server 18 is stored in the memory 62. The verification program can also be stored in a computer-readable non-transitory storage medium such as a USB memory or an SD card. The verification server 18 can read and execute the verification program from such a storage medium.
[0047] The processor 84 as the second processor is composed of, for example, a CPU. The processor 84 is communicatively connected to the communication IF 80 and the memory 82 via a data bus. The processor 84 performs the function of a verification processing unit 88 by a verification program stored in the memory 82.
[0048] In response to receiving a verification request from the document management server 16, the verification processing unit 88 verifies whether the user indicated by the user ID included in the verification request is permitted to use the electronic document indicated by the document ID or transaction ID included in the verification request.
[0049] First, when a verification request including a document ID and a user ID is received, the verification processing unit 88 searches for an authorized transaction 34b that includes the document ID included in the verification request and the user ID included in the verification request as a user ID, from among the transactions 34 included in the block 32 already added to the blockchain 30. If multiple authorized transactions 34b are found, the authorized transaction 34b whose time information indicates the most recent time is identified. In this specification, such an authorized transaction 34b is called the latest authorized transaction 34b.
[0050] When a verification request including a transaction ID is received, the verification processing unit 88 searches for an authorized transaction 34b including the transaction ID included in the verification request from among the transactions 34 included in the block 32 already added to the blockchain 30. Such an authorized transaction 34b also includes the document ID of the electronic document related to the usage request input by the user to the document management server 16, and the user ID of the user as a user ID. In this specification, the authorized transaction 34b identified based on the transaction ID included in the verification request is also referred to as the latest authorized transaction 34b.
[0051] At this point, if the latest permitted use transaction 34b cannot be identified from the blockchain 30, the verification processing unit 88 does not permit the user to use the electronic document. If the user is not permitted to use the electronic document, the verification processing unit 88 transmits the verification result to the document management server 16, and the document management server 16 notifies the user of the verification result.
[0052] Next, the verification processing unit 88 identifies a transaction 34 having, as its transaction ID, the parent transaction ID included in the identified latest permitted transaction 34b from among the transactions 34 included in the block 32 already added to the blockchain 30. If the identified transaction 34 is the permitted transaction 34b, the verification processing unit 88 further identifies a transaction 34 having, as its transaction ID, the parent transaction ID included in the permitted transaction 34b from among the transactions 34 included in the block 32 already added to the blockchain 30. In this way, the verification processing unit 88 traces parent transactions in the blockchain 30 starting from the latest permitted transaction 34b based on the parent transaction ID included in the permitted transaction 34b.
[0053] Here, in order to more reliably identify the parent transaction ID, the verification processing unit 88 may identify a transaction 34 having the parent transaction ID included in the permitted transaction 34b as its transaction ID and the same document ID as the permitted transaction 34b as the parent transaction of the permitted transaction 34b. Furthermore, the verification processing unit 88 may identify a document generation transaction 34a having the parent transaction ID included in the permitted transaction 34b as its transaction ID and having the same user ID as the permitted user ID of the permitted transaction 34b as its generating user ID, or another permitted transaction 34b having the parent transaction ID included in the permitted transaction 34b as its transaction ID and having the same user ID as the permitted user ID of the permitted transaction 34b as its user user, as the parent transaction of the permitted transaction 34b.
[0054] Then, when the verification processing unit 88 traces parent transactions starting from the latest permitted transaction 34b and reaches the document generation transaction 34a of the electronic document, it permits the user to use the electronic document. Whether the document generation transaction 34a has been reached can be determined by whether the parent transaction has a document generation transaction flag. When permitting the user to use the electronic document, the verification processing unit 88 also transmits the verification result to the document management server 16, and the document management server 16 notifies the user of the verification result.
[0055] On the other hand, if the verification processing unit 88 cannot reach the document generation transaction 34a of the electronic document by tracing the parent transactions starting from the latest use permission transaction 34b, the verification processing unit 88 does not permit the user to use the electronic document. If the document generation transaction 34a of the electronic document cannot be reached, this indicates that the use permission transaction 34b on the path from when the electronic document is generated to when the user is permitted to use the electronic document has been tampered with or is an unauthorized use permission transaction 34b. Therefore, in this case, there is a possibility that the permission to use the electronic document for the user is not valid, or that the electronic document has not been delivered to the user via a valid path, and therefore the verification processing unit 88 does not permit the user to use the electronic document.
[0056] In this way, in the electronic document management system 10 according to this embodiment, every time an electronic document is generated and the use of the electronic document is permitted from an authorized user to a user, a usage permission transaction 34b including a parent transaction ID is recorded in the blockchain 30. This makes it possible for the electronic document management system 10 to verify whether a user can use an electronic document without the need to set access permissions for each electronic document.
[0057] After an authorized user has permitted a user to use an electronic document stored in the document management server 16, the authorized user may wish to revoke the permission. As described above, when the authorized user permits a user to use an electronic document, a usage permission transaction 34b is generated and recorded in the blockchain 30. Due to the characteristics of the blockchain 30, it is impossible for even the authorized user to delete from the blockchain 30 a usage permission transaction 34b (including a block 32) that has been recorded in the blockchain 30.
[0058] Therefore, in this embodiment, an authorized user who wishes to cancel the permission related to the usage permission transaction 34b that has already been recorded in the blockchain 30 inputs a cancellation instruction to the image processing device 14. The cancellation instruction includes the transaction ID of the usage permission transaction 34b to be canceled. The transaction creation unit 58 creates a cancellation transaction in response to the cancellation instruction. FIG. 8 is a conceptual diagram showing the contents of the cancellation transaction 34c. The cancellation transaction 34c includes the cancellation transaction ID, the cancellation request user ID, and a signature.
[0059] The cancel transaction ID is the transaction ID of the permitted use transaction 34b related to the cancel instruction. The transaction creation unit 58 sets the transaction ID included in the cancel instruction as the cancel transaction ID. The cancel request user ID is the user ID of the authorized user who input the cancel instruction. The transaction creation unit 58 sets the user ID acquired by the authentication processing unit 52 prior to accepting the cancel instruction as the cancel request user ID. The signature is data signed using the cancel transaction ID and the private key of the authorized user who input the cancel instruction of the cancellation request user D.
[0060] The transaction creation unit 58 broadcasts the generated cancel transaction 34c to multiple nodes 12a included in the blockchain system 12. As a result, in each node 12a, a mining process is executed for the block 32 including the cancel transaction 34c, and if the mining process is successful, the block 32 including the cancel transaction 34c is added to the blockchain 30. In other words, the cancel transaction 34c is recorded in the blockchain 30.
[0061] In response to a request for use of an electronic document from a user, the verification processing unit 88 of the verification server 18 traces parent transactions in the blockchain 30 starting from the latest permitted transaction 34b. If the verification processing unit 88 finds a permitted transaction 34b having the same transaction ID as the cancelled transaction ID among the traced permitted transactions 34b, the verification processing unit 88 does not permit the user to use the electronic document. Specifically, prior to the verification process, the verification processing unit 88 extracts the cancelled transaction 34c included in the blockchain 30. Then, the verification processing unit 88 holds the cancelled transaction ID included in the extracted cancelled transaction 34c. Then, each time the verification processing unit 88 identifies a parent transaction starting from the latest permitted transaction 34b, it determines whether the transaction ID of the identified parent transaction matches the held cancelled transaction ID.
[0062] The outline of the electronic document management system 10 according to this embodiment has been described above. The flow of processing by the electronic document management system 10 will be described below with reference to the flowcharts shown in FIGS.
[0063] FIG. 9 is a flow chart showing the flow of processing in which the image processing device 14 creates and transmits the document generation transaction 34a.
[0064] In step S10, the authentication processing unit 52 authenticates the user, thereby acquiring the user ID of the user.
[0065] In step S12, the electronic document generation unit 54 determines whether or not an instruction to generate an electronic document has been received from the user authenticated in step S10. If an instruction to generate an electronic document has not been received, the process ends. If an instruction to generate an electronic document has been received, the process proceeds to step S14.
[0066] In step S14, the electronic document generation unit 54 generates an electronic document in response to an instruction from the user authenticated in step S10. Then, the electronic document generation unit 54 transmits the generated electronic document to the document management server 16, and the electronic document is stored in the document management server 16.
[0067] In step S16, the transaction creation unit 58 creates a document generation transaction 34a related to the instruction to create an electronic document received in step S12. As shown in Fig. 4, the document generation transaction 34a includes a transaction ID determined by the transaction creation unit 58, the user ID of the user authenticated in step S10 (i.e., the creating user), a document generation transaction flag, and the like.
[0068] In step S18, the transaction creation unit 58 broadcasts the document generation transaction 34a generated in step S14 to a plurality of nodes 12a included in the blockchain system 12. As a result, the document generation transaction 34a is recorded in the blockchain 30.
[0069] 10 is a flowchart showing a process flow in which the image processing device 14 or the document management server 16 creates and transmits the usage permission transaction 34b. The following describes an example of the process flow in which the image processing device 14 creates the usage permission transaction 34b.
[0070] In step S20, the authentication processing unit 52 authenticates the user, thereby acquiring the user ID of the user.
[0071] In step S22, the usage permission processing unit 56 determines whether or not a usage permission instruction for permitting another user to use the electronic document stored in the document management server 16 has been received from the user authenticated in step S10. The usage permission instruction includes the document ID of the electronic document related to the usage permission and the user ID of the user using the electronic document. If the usage permission instruction has not been received, the process ends. If the usage permission instruction has been received, the process proceeds to step S24.
[0072] In step S24, the transaction creation unit 58 generates a usage permission transaction 34b related to the usage permission instruction received in step S22. As shown in Fig. 5, the usage permission transaction 34b includes the transaction ID determined by the transaction creation unit 58, the document ID included in the usage permission instruction, the user ID of the user authenticated in step S10 (i.e., the authorized user), the user ID of the user included in the usage permission instruction, and a parent transaction ID.
[0073] In step S26, the transaction creation unit 58 broadcasts the use permission transaction 34b generated in step S24 to the multiple nodes 12a included in the blockchain system 12. As a result, the use permission transaction 34b is recorded in the blockchain 30.
[0074] FIG. 11 is a flowchart showing the flow of the verification process of the verification server 18.
[0075] In step S30, the verification server 18 receives a verification request from the document management server 16, which has received a request from a user to use an electronic document managed by the document management server 16.
[0076] In step S32, the verification processing unit 88 identifies the latest permitted transaction 34b from among the transactions 34 included in the block 32 already added to the blockchain 30. If the verification processing unit 88 cannot identify the latest permitted transaction 34b, the process proceeds to step S34. In step S34, the verification processing unit 88 does not permit the user to use the electronic document. In addition, the verification processing unit 88 transmits the verification result to the document management server 16, and the document management server 16 notifies the user of the verification result. If the verification processing unit 88 can identify the latest permitted transaction 34b, the process proceeds to step S36.
[0077] In step S36, the verification processing unit 88 identifies a transaction 34 that has as its transaction ID the parent transaction ID included in the latest permitted transaction 34b identified in step S32, from among the transactions 34 included in the block 32 that have already been added to the blockchain 30. If there is no such transaction 34 in the blockchain 30 and the parent transaction cannot be identified, the process proceeds to step S34. If the parent transaction can be identified, the process proceeds to step S38.
[0078] In step S38, the verification processor 88 determines whether the parent transaction identified in step S36 is the document generation transaction 34a based on whether the parent transaction has a document generation transaction flag. If the parent transaction is not the document generation transaction 34a, that is, if the parent transaction is the usage permission transaction 34b, the process returns to step S36. In step S36 again, the verification processor 88 identifies the parent transaction of the parent transaction identified in the previous step S36.
[0079] In this way, the verification processor 88 repeats steps S36 to S38 to identify the parent transaction until the identified parent transaction is the document generation transaction 34a. If the verification processor 88 is unable to identify the parent transaction during this process, the process proceeds to step S34.
[0080] If the parent transaction identified in step S36 is the document generation transaction 34a, the process proceeds to step S40.
[0081] In step S40, the verification processing unit 88 permits the user to use the electronic document. The verification processing unit 88 also transmits the verification result to the document management server 16, and the document management server 16 notifies the user of the verification result. As a result, the user is allowed to use the electronic document.
[0082] Although the embodiment of the present invention has been described above, the present invention is not limited to the above embodiment, and various modifications are possible without departing from the spirit of the present invention.
[0083] In the above embodiment, the processor refers to a processing device in a broad sense, and includes at least one of a general-purpose processing device (e.g., a CPU (Central Processing Unit)) and a dedicated processing device (e.g., a GPU (Graphics Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a programmable logic device). The processor may not be a single processing device, but may be a device formed by the cooperation of multiple processing devices located at physically separate locations.
[0084] (Additional Note) (((1))) A plurality of devices each storing a distributed ledger and communicatively connected to each other; a transaction generation device having a first processor and configured to generate transactions to be recorded in the distributed ledger; Equipped with The first processor, generating a document generation transaction when an electronic document is generated and stored in a document management server, the document generation transaction including a document ID that uniquely identifies the electronic document, a transaction ID that uniquely identifies the document generation transaction, and information indicating that the document generation transaction is a document generation transaction; Transmitting the document generation transactions to the plurality of devices for recording in the distributed ledger; generating a usage permission transaction in response to a usage permission instruction for permitting a user to use the electronic document stored in the document management server, the usage permission transaction including a document ID of the electronic document, a transaction ID that uniquely identifies the usage permission transaction, a usage user ID that uniquely identifies the user, a usage permission time when the usage permission instruction was received, and a parent transaction ID that uniquely identifies a parent transaction that is a transaction related to another process performed on the electronic document related to the usage permission instruction immediately before the usage permission instruction; Sending the authorization transaction to the plurality of devices for recording in the distributed ledger; 2. An electronic document management system comprising: (((2))) The document generation transaction further includes a generation user ID that uniquely identifies a generation user who instructed the generation of the electronic document; The first processor, in response to the usage permission instruction, the transaction ID of the document generation transaction including the same document ID as the electronic document related to the usage permission instruction and the same generating user ID as the user ID of the authorized user who issued the usage permission instruction is set as the parent transaction ID. 2. The electronic document management system according to claim 1, wherein: (((3))) The first processor, in response to the use permission instruction, the transaction ID of the use permission transaction including the same document ID as the electronic document related to the use permission instruction and the same user ID as the user ID of the authorized user who issued the use permission instruction is set as the parent transaction ID. 2. The electronic document management system according to claim 1, wherein the electronic document management system comprises: (((4))) a verification device having a second processor; Further equipped with The second processor, In response to a request for use of an electronic document from the user, a document ID of the electronic document and a latest usage permission transaction that is the latest usage permission transaction that includes the user ID of the user as the user are identified in the distributed ledger; In the distributed ledger, tracing parent transactions from the latest usage permission transaction as a starting point based on a parent transaction ID included in the usage permission transaction, and when tracing the document generation transaction of the electronic document, permitting the user to use the electronic document. 2. The electronic document management system according to claim 1, wherein the electronic document management system comprises: (((5))) The first processor, generating a cancel transaction including, in response to a cancel instruction for the use permission instruction, a transaction ID of the use permission transaction related to the cancel instruction as a cancel transaction ID; Sending the revocation transaction to the plurality of devices for recording in the distributed ledger; The second processor, in response to a request from the user to use an electronic document, when tracing back parent transactions starting from the latest permitted transaction, if the permitted transaction having the same transaction ID as the cancelled transaction ID is found among the permitted transactions, the user is not permitted to use the electronic document; 4. The electronic document management system according to claim 3, wherein: (((6))) On the computer, generating a document generation transaction including a document ID that uniquely identifies the electronic document, a transaction ID that uniquely identifies the document generation transaction, and information indicating that the document generation transaction is generated when the electronic document is generated and stored in the document management server; causing a plurality of devices, each storing a distributed ledger and communicatively connected to each other, to transmit the document generation transaction and record it in the distributed ledger; generating a usage permission transaction in response to a usage permission instruction for permitting a user to use the electronic document stored in the document management server, the usage permission transaction including a document ID of the electronic document, a transaction ID that uniquely identifies the usage permission transaction, a usage user ID that uniquely identifies the user, a usage permission time when the usage permission instruction was received, and a parent transaction ID that uniquely identifies a parent transaction that is a transaction related to another process performed on the electronic document related to the usage permission instruction immediately before the usage permission instruction; causing the authorization transaction to be transmitted to the plurality of devices and recorded in the distributed ledger; 2. An electronic document management program comprising:
[0085] According to the invention relating to (((1))) or (((6))), in an electronic document management system in which electronic documents are stored in a document management server and users are allowed to use the electronic documents by accessing the electronic documents, it is possible to verify whether a user can use an electronic document without the need to set access rights for each electronic document. According to the invention related to (((2))), the parent transaction ID of the transaction permitted to be used can be determined more accurately than when the parent transaction ID is determined not based on the user ID of the authorized user and the generating user ID. According to the invention related to (((3))), the parent transaction ID of a transaction permitted to be used can be determined more accurately than when the parent transaction ID is determined not based on the user ID of the permitted user and the usage user ID. According to the invention related to (((4))), it is possible to determine whether or not to permit a user to process electronic documents based on a distributed ledger. According to the invention pertaining to (((5))), the user can cancel a usage permission instruction related to a usage permission transaction. [Explanation of symbols]
[0086] 10 electronic document management system, 12 blockchain system, 12a node, 14 image processing device, 16 document management server, 18 verification server, 20 communication line, 30 blockchain, 32 block, 34 transaction, 34a document generation transaction, 34b permission to use transaction, 34c cancellation transaction, 36 header, 40, 60, 80 communication IF, 42 input IF, 44 display, 46 scanner, 48, 62, 82 memory, 50, 66, 84 processor, 52, 68 authentication processing unit, 54 electronic document generation unit, 56 permission to use processing unit, 58 transaction creation unit, 64 electronic document DB, 70 document processing unit, 88 verification processing unit.
Claims
1. A plurality of devices each storing a distributed ledger and communicatively connected to each other; a transaction generation device having a first processor and configured to generate transactions to be recorded in the distributed ledger; Equipped with The first processor, generating a document generation transaction including a document ID that uniquely identifies the electronic document, a transaction ID that uniquely identifies the document generation transaction, and information indicating that the document generation transaction is a document generation transaction when the electronic document is generated and stored in the document management server; Transmitting the document generation transactions to the plurality of devices for recording in the distributed ledger; generating a usage permission transaction in response to a usage permission instruction for permitting a user to use the electronic document stored in the document management server, the usage permission transaction including a document ID of the electronic document, a transaction ID that uniquely identifies the usage permission transaction, a user ID that uniquely identifies the user, a usage permission time when the usage permission instruction was received, and a parent transaction ID that uniquely identifies a parent transaction that is a transaction related to another process performed on the electronic document related to the usage permission instruction immediately before the usage permission instruction; Sending the authorization transaction to the plurality of devices for recording in the distributed ledger; 2. An electronic document management system comprising:
2. The document generation transaction further includes a generation user ID that uniquely identifies a generation user who instructed the generation of the electronic document, The first processor, in response to the use permission instruction, the transaction ID of the document generation transaction including the same document ID as the electronic document related to the use permission instruction and the same generating user ID as the user ID of the authorized user who issued the use permission instruction is set as the parent transaction ID.
2. The electronic document management system according to claim 1.
3. The first processor, in response to the use permission instruction, the transaction ID of the use permission transaction including the same document ID as the electronic document related to the use permission instruction and the same user ID as the user ID of the authorized user who issued the use permission instruction is set as the parent transaction ID.
3. The electronic document management system according to claim 2.
4. a verification device having a second processor; Further equipped with The second processor In response to a request for use of an electronic document from the user, a document ID of the electronic document and a latest usage permission transaction that is the latest usage permission transaction that includes the user ID of the user as the user are identified in the distributed ledger; In the distributed ledger, tracing parent transactions from the latest usage permission transaction as a starting point based on a parent transaction ID included in the usage permission transaction, and when tracing the document generation transaction of the electronic document, permitting the user to use the electronic document.
4. The electronic document management system according to claim 1, wherein the electronic document management system is a system for managing electronic documents.
5. The first processor, generating a cancel transaction including, in response to a cancel instruction for the use permission instruction, a transaction ID of the use permission transaction related to the cancel instruction as a cancel transaction ID; Sending the revocation transaction to the plurality of devices for recording in the distributed ledger; The second processor in response to a request from the user to use an electronic document, when tracing back parent transactions starting from the latest permitted transaction, if the permitted transaction having the same transaction ID as the cancelled transaction ID is found among the permitted transactions, the user is not permitted to use the electronic document; 5. The electronic document management system according to claim 4.
6. On the computer, generating a document generation transaction including a document ID that uniquely identifies the electronic document, a transaction ID that uniquely identifies the document generation transaction, and information indicating that the document generation transaction is a document generation transaction when the electronic document is generated and stored in the document management server; causing a plurality of devices, each storing a distributed ledger and communicatively connected to each other, to transmit the document generation transaction and record it in the distributed ledger; generating a usage permission transaction in response to a usage permission instruction for permitting a user to use the electronic document stored in the document management server, the usage permission transaction including a document ID of the electronic document, a transaction ID that uniquely identifies the usage permission transaction, a user ID that uniquely identifies the user, a usage permission time when the usage permission instruction was received, and a parent transaction ID that uniquely identifies a parent transaction that is a transaction related to another process performed on the electronic document related to the usage permission instruction immediately before the usage permission instruction; causing the authorization transaction to be transmitted to the plurality of devices and recorded in the distributed ledger; 2. An electronic document management program comprising:
Citation Information
Patent Citations
Secure document exchange system, document approval method, document exchange management method and program therefor
JP2005135072A