WO2022130551A1 - 情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体 - Google Patents

情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2022130551A1
WO2022130551A1 PCT/JP2020/047082 JP2020047082W WO2022130551A1 WO 2022130551 A1 WO2022130551 A1 WO 2022130551A1 JP 2020047082 W JP2020047082 W JP 2020047082W WO 2022130551 A1 WO2022130551 A1 WO 2022130551A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
hash value
private
public
distributed ledger
Prior art date
Application number
PCT/JP2020/047082
Other languages
English (en)
French (fr)
Inventor
泰彦 田邉
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2022569410A priority Critical patent/JPWO2022130551A5/ja
Priority to US18/265,737 priority patent/US20240048391A1/en
Priority to PCT/JP2020/047082 priority patent/WO2022130551A1/ja
Publication of WO2022130551A1 publication Critical patent/WO2022130551A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management

Definitions

  • the present invention relates to an information providing system, an information providing method, and a non-temporary computer-readable medium.
  • Patent Document 1 discloses a plurality of traceability information management servers for constructing a distributed ledger system using a blockchain.
  • Each traceability information management server sends a part of the traceability information registered in the traceability information management server to the user client according to the access authority of the user client.
  • Information about the product life cycle is typically organization name information, product model number information, serial number information, process name information, workflow name information, time stamp information, approver information and worker information of the workflow, and the workflow. Work procedure information and work result information may be included.
  • organization name information, product model number information, serial number information, process name information, workflow name information, and time stamp information can be said to be information that can be acquired by an unspecified person.
  • approver information and worker information of the workflow, the work procedure information and the work result information of the workflow correspond to the technical information and the personal information, and therefore, it is desired that only a specific person can obtain the information.
  • the former can be said to be public information with no access restrictions, and the latter can be said to be private information with access restrictions.
  • the information regarding the backpack life cycle includes two types of information having different disclosure ranges, that is, public information and private information.
  • Patent Document 1 it is conceivable to set individual access authority for each user client accessing the distributed ledger and limit the information to be transmitted to the user client according to the access authority. Even in this case, as long as the private information is registered in the distributed ledger, the risk of leakage of the private information cannot be eliminated.
  • the purpose of this disclosure is in view of the above issues, and is to provide a technique for ensuring the authenticity of public information and private information with a distributed ledger and suppressing the risk of leakage of private information.
  • An information provision system that includes an information storage server and an information provision server.
  • the information storage server is The first information acquisition means for acquiring the first information including public information and private information, A first information transmitting means for transmitting the first information acquired by the first information acquiring means to the information providing server, and a first information transmitting means.
  • the first information storage means for accumulating the first information and Equipped with
  • the information providing server is A second information acquisition means for acquiring the first information from the information storage server, and A conversion means for converting the private information of the first information into a first hash value by a predetermined hash function, and An information generation means for generating the second information including the public information of the first information and the first hash value.
  • the second information transmission means for transmitting the public information and the private information to the transmission source in response to the information provision request. Equipped with The second information transmitting means is A search is performed in the distributed ledger using the search key as at least a part of the public information included in the information provision request.
  • the second information corresponding to the search key is acquired from the distributed ledger, and the information is obtained from the distributed ledger.
  • a search is executed by the first information storage means, and the search is executed.
  • the first information corresponding to the search key is acquired from the first information storage means, and the first information is obtained.
  • the private information obtained by searching from the first information storage means is converted into a second hash value by the predetermined hash function, and the private information is converted into a second hash value. Comparing the first hash value with the second hash value, When the first hash value and the second hash value match, the public information corresponding to the search key and the private information acquired by the search from the first information storage means are transmitted. Send to original, An information provision system is provided.
  • An information provision system that includes an information storage server and an information provision server.
  • the information storage server is The first information acquisition means for acquiring the first information including public information and private information, A first information transmitting means for transmitting the first information acquired by the first information acquiring means to the information providing server, and a first information transmitting means.
  • a first information storage means for accumulating the private information of the first information, Equipped with The information providing server is A second information acquisition means for acquiring the first information from the information storage server, and A conversion means for converting the private information of the first information into a first hash value by a predetermined hash function, and An information generation means for generating the second information including the public information of the first information and the first hash value.
  • the plurality of private information acquired from the first information storage means is converted into a second hash value by the predetermined hash function, and the private information is converted into a second hash value. Comparing the first hash value with a plurality of the second hash values, The public information corresponding to the search key and the private information corresponding to the second hash value matching the first hash value are transmitted to the sender.
  • An information provision system is provided.
  • the information providing server has the access authority to the private information at the source of the information providing request
  • the second information providing server transmits the public information and the private information to the transmitting source in response to the information providing request.
  • Information transmission stage and Including In the second information transmission stage A search is performed in the distributed ledger using the search key as at least a part of the public information included in the information provision request.
  • the second information corresponding to the search key is acquired from the distributed ledger, and the information is obtained from the distributed ledger.
  • the search key is used to execute a search on the information storage server, and the search is performed.
  • the first information corresponding to the search key is acquired from the information storage server, and the information is obtained.
  • the private information acquired by searching from the information storage server is converted into a second hash value by the predetermined hash function, and the private information is converted into a second hash value. Comparing the first hash value with the second hash value, When the first hash value and the second hash value match, the public information corresponding to the search key and the private information obtained by searching from the information storage server are sent to the transmission source. Send, Information provision methods are provided.
  • An information generation step in which the information providing server generates a second information including the public information of the first information and the first hash value.
  • the registration stage in which the information providing server registers the second information in the distributed ledger by the blockchain, and A request receiving stage in which the information providing server receives an information providing request including at least a part of the public information.
  • the second information providing server transmits the public information and the private information to the transmitting source in response to the information providing request.
  • Information transmission stage and Including In the second information transmission stage A search is performed in the distributed ledger using the search key as at least a part of the public information included in the information provision request.
  • the second information corresponding to the search key is acquired from the distributed ledger, and the information is obtained from the distributed ledger.
  • a plurality of the private information stored in the information storage server is acquired from the information storage server, and the information is stored.
  • the plurality of private information acquired from the information storage server is converted into a second hash value by the predetermined hash function, and the information is converted into a second hash value. Comparing the first hash value with a plurality of the second hash values,
  • the public information corresponding to the search key and the private information corresponding to the second hash value matching the first hash value are transmitted to the sender.
  • Information provision methods are provided.
  • the authenticity of public information and private information is guaranteed by a distributed ledger, and the risk of leakage of private information is suppressed.
  • (Second Embodiment) It is a sequence diagram of an information provision system.
  • (Second Embodiment) This is a specific example of BC registration information acquired from the distributed ledger by the information providing department.
  • (Second Embodiment) This is a specific example of work approval information acquired by the information provider from the information storage server.
  • (Second Embodiment) This is a specific example of the information provided by the information providing unit to the search terminal.
  • (Second Embodiment) This is a specific example of multiple private information stored in the information database.
  • (Third Embodiment) It is a sequence diagram of an information provision system.
  • the information providing system 100 includes an information storage server 110 and an information providing server 120.
  • the information storage server 110 includes a CPU 110a (Central Processing Unit) as a central processing unit, a read / write free RAM 110b (Random Access Memory), a read-only ROM 110c (Read Only Memory), and a communication interface 110d. Then, the CPU 110a reads out and executes the control program stored in the ROM 110c, so that the control program causes the hardware such as the CPU 110a to function as various functional units.
  • a CPU 110a Central Processing Unit
  • a read / write free RAM 110b Random Access Memory
  • ROM 110c Read Only Memory
  • Various functional units include a first information acquisition unit 111, a first information transmission unit 112, and a first information storage unit 113.
  • the first information acquisition unit 111 acquires the first information including public information and private information.
  • the first information acquisition unit 111 is a specific example of the first information acquisition means.
  • the first information transmission unit 112 transmits the first information acquired by the first information acquisition unit 111 to the information providing server 120.
  • the first information transmission unit 112 is a specific example of the first information transmission means.
  • the first information storage unit 113 stores the first information.
  • the first information storage unit 113 is a specific example of the first information storage means.
  • the information providing server 120 includes a CPU 120a (Central Processing Unit) as a central processing unit, a read / write free RAM 120b (Random Access Memory), a read-only ROM 120c (Read Only Memory), and a communication interface 120d. Then, the CPU 120a reads out and executes the control program stored in the ROM 120c, so that the control program causes the hardware such as the CPU 120a to function as various functional units.
  • a CPU 120a Central Processing Unit
  • a read / write free RAM 120b Random Access Memory
  • ROM 120c Read Only Memory
  • Various functional units include a second information acquisition unit 121, a conversion unit 122, an information generation unit 123, a registration unit 124, a request reception unit 125, and a second information transmission unit 126.
  • the second information acquisition unit 121 acquires the first information from the information storage server 110.
  • the second information acquisition unit 121 is a specific example of the second information acquisition means.
  • the conversion unit 122 converts the private information of the first information into the first hash value by a predetermined hash function.
  • the conversion unit 122 is a specific example of the conversion means.
  • the information generation unit 123 generates the second information including the public information of the first information and the first hash value.
  • the information generation unit 123 is a specific example of the information generation means.
  • the registration unit 124 registers the second information in the distributed ledger by the blockchain.
  • the registration unit 124 is a specific example of the registration means.
  • the request receiving unit 125 receives an information provision request including at least a part of public information.
  • the request receiving unit 125 is a specific example of the request receiving means.
  • the second information transmission unit 126 transmits the public information and the private information to the sender in response to the information provision request.
  • the second information transmission unit 126 is a specific example of the second information transmission means.
  • the second information transmission unit 126 executes a search in the distributed ledger using a search key as at least a part of the public information included in the information provision request.
  • the second information transmission unit 126 acquires the second information corresponding to the search key from the distributed ledger.
  • the second information transmission unit 126 executes a search in the first information storage unit 113 using the search key.
  • the second information transmission unit 126 acquires the first information corresponding to the search key from the first information storage unit 113.
  • the second information transmission unit 126 converts the private information acquired by the search from the first information storage unit 113 into a second hash value by a predetermined hash function.
  • the second information transmission unit 126 compares the first hash value with the second hash value.
  • the second information transmitting unit 126 includes public information corresponding to the search key and private information acquired from the first information storage unit 113 by searching. And is sent to the sender.
  • the authenticity of public information and private information can be guaranteed by the distributed ledger, and the risk of leakage of private information can be suppressed.
  • Information about the product life cycle is typically organization name information, product model number information, serial number information, process name information, workflow name information, time stamp information, approver information and worker information of the workflow, and the workflow. Work procedure information and work result information may be included.
  • organization name information, product model number information, serial number information, process name information, workflow name information, and time stamp information can be said to be information that can be acquired by an unspecified person.
  • approver information and worker information of the workflow, the work procedure information and the work result information of the workflow correspond to the technical information and the personal information, and therefore, it is desired that only a specific person can obtain the information.
  • the former can be said to be public information with no access restrictions, and the latter can be said to be private information with access restrictions.
  • the information regarding the backpack life cycle includes two types of information having different disclosure ranges, that is, public information and private information.
  • Patent Document 1 it is conceivable to set individual access authority for each user client accessing the distributed ledger and limit the information to be transmitted to the user client according to the access authority. Even in this case, as long as the private information is registered in the distributed ledger, the risk of leakage of the private information cannot be eliminated.
  • the problems of this embodiment are as described above, and the information providing system 1 is shown in FIG. 2 in order to solve the above problems.
  • the information providing system 1 has a feature of ensuring the authenticity of public information and private information by a distributed ledger and suppressing the risk of leakage of private information.
  • the information providing system 1 shown in FIG. 2 will be described in detail.
  • the information providing system 1 includes at least one information storage server 2 and an information providing server 3. As shown in FIG. 2, the information providing system 1 of the present embodiment includes a plurality of information storage servers 2. The information providing system 1 may further include a distributed ledger 4.
  • the information providing system 1 may further include at least one work terminal 5 and at least one search terminal 6.
  • the information providing system 1 of the present embodiment includes a plurality of work terminals 5 and a plurality of search terminals 6.
  • the plurality of information storage servers 2 are servers managed by business owners engaged in various processes constituting the product life cycle.
  • the plurality of information storage servers 2 are typically a server managed by a business owner engaged in product inspection work, a server managed by a business owner engaged in product shipping business, and a business owner engaged in product distribution business. Includes servers managed by.
  • Each work terminal 5 is a terminal capable of communicating with any one of a plurality of information storage servers 2.
  • Workers involved in the product life cycle execute the workflow according to a predetermined work procedure, and obtain the work result as the execution result.
  • the worker registers the organization name information, the product model number information, the serial number information, the process name information, the workflow name information, the work procedure information, the work result information, and the worker information in the information storage server 2 using the work terminal 5. do.
  • the worker requests the approver for approval regarding the work procedure and the work result.
  • the approver approves the work procedure and the work result, and registers the approver information in the information storage server 2 using the work terminal 5.
  • Information including information registered by the worker in the information storage server 2 and information registered by the approver in the information storage server 2 is hereinafter referred to as work approval information.
  • the work approval information is a specific example of the first information.
  • FIG. 3 shows a functional block diagram of the information storage server 2. As shown in FIG. 3, it is provided with a CPU 2a (Central Processing Unit) as a central processing unit, a read / write free RAM 2b (Random Access Memory), a read-only ROM 2c (Read Only Memory), and a communication interface 2d. Then, the CPU 2a reads out and executes the control program stored in the ROM 2c, so that the control program causes the hardware such as the CPU 2a to function as various functional units.
  • a Central Processing Unit
  • RAM 2b Random Access Memory
  • ROM 2c Read Only Memory
  • Various functional units include a workflow unit 10, an information transmission unit 11, and an information DB 12.
  • the workflow unit 10 acquires work approval information including public information and private information from each work terminal 5, and registers the acquired work approval information in the information DB 12. Specifically, the workflow unit 10 adds the time stamp information to the acquired work approval information, and then registers the work approval information in the information DB 12.
  • the workflow unit 10 is a specific example of the first information acquisition means.
  • FIG. 4 shows the work approval information acquired by the workflow unit 10.
  • the work approval information includes public information and private information (concealment necessary information).
  • Public information includes organization name information, product model number information, serial information, process name information, workflow name information, and time stamp information.
  • Private information includes approver information, worker information, work procedure information, and work result information.
  • the public information includes a plurality of information, but may be composed of only one information instead.
  • the private information includes a plurality of information, but may be composed of only one information instead.
  • the information transmission unit 11 is acquired by the workflow unit 10 and transmits the work approval information to which the time stamp information is added to the information providing server 3.
  • the information transmission unit 11 is a specific example of the first information transmission means.
  • Information DB 12 stores work approval information.
  • the information DB 12 is a specific example of the first information storage means.
  • FIG. 5 shows a plurality of work approval information stored in the information DB 12.
  • FIG. 6 shows a functional block diagram of the information providing server 3.
  • the information providing server 3 includes a CPU 3a (Central Processing Unit) as a central processing unit, a read / write free RAM 3b (Random Access Memory), a read-only ROM 3c (Read Only Memory), and a communication interface 3d. It has. Then, the CPU 3a reads out and executes the control program stored in the ROM 3c, so that the control program causes the hardware such as the CPU 3a to function as various functional units.
  • a Central Processing Unit
  • a read / write free RAM 3b Random Access Memory
  • ROM 3c Read Only Memory
  • the various functional units include an information receiving unit 20, a hash conversion unit 21, a registration information generation unit 22, a BC registration unit 23, an account generation unit 24, an account payout unit 25, an account information storage unit 26, a request reception unit 27, and an information provision unit. 28 is included.
  • the information receiving unit 20 receives and acquires work approval information from the information storage server 2.
  • the information receiving unit 20 is a specific example of the second information acquisition means.
  • the hash conversion unit 21 converts the private information of the work approval information acquired by the information receiving unit 20 into a registered hash value by a predetermined hash function.
  • the registered hash value is a specific example of the first hash value.
  • the registration information generation unit 22 generates BC registration information including public information of work approval information and a registration hash value.
  • the BC registration information is a specific example of the second information.
  • the BC registration unit 23 registers the BC registration information in the distributed ledger 4.
  • the distributed ledger 4 is typically a distributed ledger based on a consortium-type blockchain technique, and is composed of a plurality of nodes.
  • the plurality of information providing servers 3 shown in FIG. 2 may function as a plurality of nodes constituting the distributed ledger 4, and a plurality of servers different from the plurality of information providing servers 3 function as a plurality of nodes constituting the distributed ledger 4. You may.
  • FIG. 7 shows a plurality of BC registration information registered in the distributed ledger 4.
  • the BC registration information registered in the distributed ledger 4 does not include the private information, but instead includes the registered hash value obtained by hash-converting the private information. Therefore, private information is not directly leaked from the distributed ledger 4. This is because the hash transformation is an irreversible transformation.
  • the account generation unit 24 generates account information for the user when the user who wants to refer to the work approval information applies for an account via the search terminal 6.
  • the account information typically includes account name information and access permission information regarding the presence or absence of access permission to private information.
  • the account generation unit 24 stores the generated account information in the account information storage unit 26.
  • the account information storage unit 26 stores a plurality of account information.
  • the account payout unit 25 pays out the account information to the above users.
  • the account generation unit 24 when an auditor applies for an account, the account generation unit 24 generates account information having access authority to private information and pays out the account information to the auditor.
  • the account generation unit 24 when a person who is not an auditor applies for an account, the account generation unit 24 generates account information that does not have access authority to private information and pays out the account information to the person.
  • the request receiving unit 27 receives the information provision request.
  • the information request typically includes at least a portion of the public information.
  • the information request may include all public information.
  • the search terminal 6 sends an information provision request to the information provision server 3.
  • the request receiving unit 27 receives an information provision request from the search terminal 6.
  • the request receiving unit 27 is a specific example of the request receiving means.
  • the information providing unit 28 transmits the public information and the private information to the sender in response to the information providing request.
  • the information providing unit 28 is a specific example of the second information transmitting means.
  • FIGS. 8 to 12. 8 and 9 show a sequence diagram of the information providing system 1.
  • the worker and the approver input the work approval information into the work terminal 5.
  • the work terminal 5 transmits the input work approval information to the information storage server 2 (S100).
  • the workflow unit 10 of the information storage server 2 acquires the work approval information from the work terminal 5 (S100), and adds the time stamp information to the work approval information.
  • the information transmission unit 11 transmits the work approval information illustrated in FIG. 4 to the information providing server 3 with the workflow unit 10 acquiring the work approval information from the work terminal 5 as a trigger (S110). Further, as shown in FIG. 5, the workflow unit 10 stores the acquired work approval information in the information DB 12 (S120).
  • the information receiving unit 20 of the information providing server 3 receives and acquires work approval information from the information storage server 2 (S110).
  • the hash conversion unit 21 converts the private information of the work approval information acquired by the information receiving unit 20 into a registered hash value by a predetermined hash function (S130).
  • the registration information generation unit 22 generates BC registration information including public information of work approval information and a registration hash value (S140).
  • the BC registration unit 23 registers the BC registration information generated by the registration information generation unit 22 in the distributed ledger 4 (S150).
  • FIG. 7 shows a plurality of BC registration information stored in the distributed ledger 4.
  • step S100 to step S150 is repeated every time the work approval information is input to the work terminal 5.
  • the account generation unit 24 when a user who wants to refer to work approval information applies for an account via the search terminal 6 (S160), the account generation unit 24 generates account information for the user (S170). The account generation unit 24 stores the generated account information in the account information storage unit 26, and pays out the account information to the user (S180).
  • a user who wants to refer to work approval information logs in to the search terminal 6 using the account information provided by the information providing server 3, operates the search terminal 6, and the search terminal 6 sends an information providing request to the information providing server 3. (S200).
  • the user who wants to refer to the work approval information inputs the public information of the work approval information to be referred to into the search terminal 6.
  • the user who wants to refer to the work approval information inputs at least a part of the public information of the work approval information to be referred to in the search terminal 6.
  • the search terminal 6 creates an information provision request including at least a part of the public information input by the user, and transmits the created information provision request to the information provision server 3 (S200).
  • the information provision request may include at least a part of public information and account information possessed by a user who is a sender.
  • the information providing unit 28 of the information providing server 3 refers to the account information storage unit 26 and determines whether the account that is the source of the information providing request has the access authority to the private information (S210).
  • the information provision unit 28 uses the search key as at least a part of the public information included in the information provision request. Use it to execute a search in the distributed ledger 4 (S220).
  • the above search key includes "product number information”, “serial number information”, and “process name information”, “product number information” is "ABC15000”, and “serial number information” is “serial number information”. It is "12345”, and "process name information” is "inspection”.
  • the information providing unit 28 acquires the BC registration information corresponding to the above search key from the distributed ledger 4 (S230).
  • FIG. 10 shows BC registration information acquired from the distributed ledger 4 by the information providing unit 28. As shown in FIG. 10, two BC registration information corresponded to the above search key. Therefore, the information providing unit 28 acquires the two BC registration information (BC registration information 4X and BC registration information 4Y) shown in FIG. 10 from the distributed ledger 4.
  • the information providing unit 28 executes a search in the information DB 12 of the information storage server 2 using the above search key (S240). Then, the information providing unit 28 acquires the work approval information corresponding to the search key from the information DB 12 (S250).
  • FIG. 11 shows the work approval information acquired from the information DB 12 by the information providing unit 28. As shown in FIG. 11, two work approval information corresponded to the above search key. Therefore, the information providing unit 28 acquires the two work approval information (work approval information 2X and work approval information 2Y) shown in FIG. 11 from the information DB 12.
  • the information providing unit 28 converts the private information acquired from the information DB 12 by searching into a verification hash value with a predetermined hash function (S260).
  • the verification hash value is a specific example of the second hash value.
  • the information providing unit 28 compares the registered hash value of the BC registration information acquired in step S230 with the verification hash value converted in step S260 (S270).
  • the above comparison will be specifically described with reference to FIGS. 10 and 11.
  • FIG. 10 shows BC registration information 4X and BC registration information 4Y as two BC registration information.
  • FIG. 11 shows work approval information 2X and work approval information 2Y as two work approval information.
  • the BC registration information 4X includes a registered hash value A in which the approver information is hash-converted, a registered hash value B in which the worker information is hash-converted, a registered hash value C in which the work procedure information is hash-converted, and work.
  • the registered hash value D obtained by hash-converting the result information is included.
  • the BC registration information 4Y has a registered hash value E obtained by hash-converting approver information, a registered hash value F obtained by hash-converting worker information, a registered hash value G obtained by hash-converting work procedure information, and hashing work result information.
  • the converted registered hash value H is included.
  • the work approval information 2X includes the approver information a, the worker information b, the work procedure information c, and the work result information d.
  • the work approval information 2Y includes the approver information e, the worker information f, the work procedure information g, and the work result information h.
  • the information providing unit 28 compares the registered hash value A of the BC registration information 4X with the verification hash value obtained by hash-converting the approver information a of the work approval information 2X (S270). As a result of the comparison, if the two match, the information providing unit 28 determines that the approver information a of the work approval information 2X has not been tampered with.
  • the information providing unit 28 compares the registered hash value B of the BC registration information 4X with the verification hash value obtained by hash-converting the worker information b of the work approval information 2X. As a result of the comparison, if the two match, the information providing unit 28 determines that the worker information b of the work approval information 2X has not been tampered with.
  • the information providing unit 28 also compares the registered hash value C and the work procedure information c, and the registered hash value D and the work result information d in the same manner, and determines whether or not there is falsification.
  • the information providing unit 28 compares the registered hash value E of the BC registration information 4Y with the verification hash value obtained by hash-converting the approver information e of the work approval information 2Y. As a result of the comparison, if the two match, the information providing unit 28 determines that the approver information e of the work approval information 2Y has not been tampered with.
  • the information providing unit 28 compares the registered hash value F of the BC registration information 4Y with the verification hash value obtained by hash-converting the worker information f of the work approval information 2Y. As a result of the comparison, if the two match, the information providing unit 28 determines that the worker information f of the work approval information 2Y has not been tampered with.
  • the information providing unit 28 also compares the registered hash value G and the work procedure information g, and the registered hash value H and the work result information h in the same manner, and determines whether or not there is falsification.
  • the public information of a plurality of BC registration information does not completely match each other.
  • the public information of the plurality of work approval information does not match each other.
  • the workflow name information and the time stamp information which are the information not included in the search key among the public information of each BC registration information, are different from each other among the plurality of BC registration information.
  • the information providing unit 28 easily refers to which BC registration information corresponds to which work approval information by referring to the workflow name information or the time stamp information one by one when comparing the registered hash value and the verification hash value. Can be recognized.
  • the information providing unit 28 approves the work. It is determined that the private information of the information has not been tampered with as a whole. After this determination, the information providing unit 28 transmits the public information corresponding to the search key and the private information acquired by the search from the information DB 12 to the transmission source (S280).
  • the "public information corresponding to the search key" may be public information acquired by searching from the distributed ledger 4, or may be public information acquired by searching from the information DB 12. This is because these public information are the same. That is, after the above determination, the information providing unit 28 may transmit the work approval information acquired by the search from the information DB 12 to the transmission source.
  • the information providing unit 28 determines that the information DB 12 It is determined that the private information of the work approval information stored in is tampered with. After this determination, the information providing unit 28 transmits a falsified message indicating that the private information of the work approval information stored in the information DB 12 has been falsified to the search terminal 6 (S290).
  • step S210 If it is determined in step S210 that the account that is the source of the information provision request does not have access authority to the private information, the information provision unit 28 searches as at least a part of the public information included in the information provision request. A search is executed in the distributed ledger 4 using the key (S300).
  • the information providing unit 28 acquires the BC registration information corresponding to the above search key from the distributed ledger 4 (S310).
  • FIG. 10 shows BC registration information acquired from the distributed ledger 4 by the information providing unit 28. As shown in FIG. 10, two BC registration information corresponded to the above search key. Therefore, the information providing unit 28 acquires the two BC registration information (BC registration information 4X and BC registration information 4Y) shown in FIG. 10 from the distributed ledger 4.
  • the information providing unit 28 transmits the public information of the BC registration information acquired from the distributed ledger 4 to the search terminal 6 (S320).
  • the information providing unit 28 may transmit the BC registration information to the search terminal 6 without deleting the registration hash value of the BC registration information acquired from the distributed ledger 4.
  • the information providing unit 28 deletes the registered hash value of the BC registration information acquired from the distributed ledger 4 and then transmits only the public information of the BC registration information to the search terminal 6. You may try to do it.
  • the second embodiment of the present disclosure has been described above.
  • the second embodiment has the following features.
  • the information providing system 1 includes an information storage server 2 and an information providing server 3.
  • the information storage server includes a workflow unit 10, an information transmission unit 11, and an information DB 12.
  • the workflow unit 10 (first information acquisition means) acquires work approval information (first information) including public information and private information.
  • the information transmission unit 11 (first information transmission means) transmits the work approval information acquired by the workflow unit 10 to the information providing server 3.
  • the information DB 12 (first information storage means) stores work approval information.
  • the information providing server 3 includes an information receiving unit 20, a hash conversion unit 21, a registered information generating unit 22, a BC registration unit 23, a request receiving unit 27, and an information providing unit 28.
  • the information receiving unit 20 (second information acquisition means) acquires work approval information from the information storage server 2.
  • the hash conversion unit 21 (conversion means) converts the private information of the work approval information into a registered hash value (first hash value) by a predetermined hash function.
  • the registration information generation unit 22 (information generation means) generates BC registration information (second information) including public information of work approval information and a registration hash value.
  • the BC registration unit 23 registers the BC registration information in the distributed ledger 4 by the blockchain.
  • the request receiving unit 27 receives an information providing request including at least a part of public information.
  • the information providing unit 28 transmits the public information and the private information to the sender in response to the information provision request.
  • the information providing unit 28 executes a search in the distributed ledger 4 using a search key as at least a part of the public information included in the information providing request (S220).
  • the information providing unit 28 acquires the BC registration unit 23 corresponding to the search key from the distributed ledger 4 (S230).
  • the information providing unit 28 executes a search in the information DB 12 using the search key (S240).
  • the information providing unit 28 acquires the work approval information corresponding to the search key from the information DB 12 (S250).
  • the information providing unit 28 converts the private information acquired from the information DB 12 by the search into a verification hash value (second hash value) by a predetermined hash function (S260).
  • the information providing unit 28 compares the registered hash value and the verification hash value (S270). When the registered hash value and the verification hash value match, the information providing unit 28 transmits the public information corresponding to the search key and the private information obtained by the search from the information DB 12 to the sender (S280).
  • the authenticity of public information and private information can be guaranteed by the distributed ledger, and the risk of leakage of private information can be suppressed.
  • the information providing unit 28 determines that the private information stored in the information DB 12 has been tampered with (S270, S290).
  • the information providing unit 28 executes a search in the distributed ledger using the search key when the sender of the information providing request does not have the access authority to the private information (S300).
  • the information providing unit 28 acquires public information of BC registration information corresponding to the search key from the distributed ledger 4 (S310).
  • the information providing unit 28 transmits the public information acquired from the distributed ledger 4 to the transmission source (S320). According to the above configuration, a configuration in which private information is not transmitted to a sender who does not have access authority to private information is realized.
  • the second embodiment can be changed as follows, for example.
  • the information providing unit 28 may compare the public information of the work approval information acquired by searching from the information DB 12 with the public information of the BC registration information acquired from the distributed ledger 4. If the two do not match, the information providing unit 28 may determine that the public information stored in the information DB 12 has been tampered with. In this case, in step S290, the information providing unit 28 may send a falsified message indicating that the public information stored in the information DB 12 has been falsified to the search terminal 6.
  • the information DB 12 stores work approval information including public information and private information.
  • the information DB 12 stores only private information among the work approval information (S120).
  • the information providing unit 28 executes a search in the information DB 12 of the information storage server 2 using the search key (S240). Then, the information providing unit 28 acquires the work approval information corresponding to the search key from the information DB 12 (S250).
  • the information providing unit 28 acquires a plurality of private information from the information DB 12 of the information storage server 2 (S251). Specifically, the information providing unit 28 acquires all the private information stored in the information DB 12 of each information storage server 2.
  • the information providing unit 28 converts the plurality of private information acquired in step S251 into a verification hash value by a predetermined hash function (S261).
  • the information providing unit 28 compares the registered hash value of the BC registration information acquired in step S230 with the verification hash value generated in step S261 (S271).
  • the information providing unit 28 transmits the public information corresponding to the search key and the private information corresponding to the verification hash value matching the registered hash value to the sender (S281). Typically, it is as follows.
  • FIG. 10 shows BC registration information acquired from the distributed ledger 4 by the information providing unit 28.
  • the information providing unit 28 acquires the two BC registration information (BC registration information 4X and BC registration information 4Y) shown in FIG. 10 from the distributed ledger 4.
  • the information providing unit 28 first specifies a verification hash value that matches the registered hash value A of the BC registration information 4X from among the plurality of verification hash values shown in FIG. Then, as shown in FIG. 16, the information providing unit 28 replaces the registered hash value A of the BC registration information 4X with the private information corresponding to the specified verification hash value. The information providing unit 28 also executes the same processing for the registered hash value B to the registered hash value D of the BC registration information 4X. As a result, the BC registration information 4X is converted into work approval information. In this way, if all the registered hash values of the BC registration information 4X can be converted into private information, the information providing unit 28 transmits the public information and the private information to the sender (S281). The BC registration information 4Y is also processed in the same manner.
  • the information providing unit 28 may use the private information DB 12 to store the verification hash values. It is determined that the information has been tampered with. If any of the verification hash values that match the registration hash value A of the BC registration information 4X cannot be specified among the plurality of verification hash values shown in FIG. 15, the information providing unit 28 is stored in the information DB 12. It is determined that the private information has been tampered with. Then, the information providing unit 28 transmits a falsified message indicating that the private information stored in the information DB 12 has been falsified to the search terminal 6 (S291).
  • the third embodiment of the present disclosure has been described above, the third embodiment has the following features.
  • the information DB 12 (first information storage means) stores private information of work approval information (first information).
  • the information providing unit 28 (second information transmitting means) executes a search in the distributed ledger 4 using a search key as at least a part of the public information included in the information providing request (S220). ..
  • the information providing unit 28 acquires BC registration information (second information) corresponding to the search key from the distributed ledger 4 (S230).
  • the information providing unit 28 acquires a plurality of private information stored in the information DB 12 from the information DB 12 (S251).
  • the information providing unit 28 converts a plurality of private information acquired from the information DB 12 into a verification hash value (second hash value) by a predetermined hash function (S261).
  • the information providing unit 28 compares the registered hash value with the plurality of verification hash values (S271).
  • the information providing unit 28 transmits the public information corresponding to the search key and the private information corresponding to the verification hash value matching the registered hash value to the sender (S281).
  • the authenticity of public information and private information can be guaranteed by the distributed ledger, and the risk of leakage of private information can be suppressed. Further, since it is not necessary to store public information in the information DB 12 of the information storage server 2, it contributes to the saving of resources of the information DB 12.
  • the information DB 12 may accumulate work approval information including public information and private information, as in the second embodiment.
  • the information providing unit 28 determines that the private information stored in the information DB 12 has been tampered with if there are a plurality of verification hash values that match the registered hash values, or if they do not exist (S291). According to the above configuration, it can be determined that the private information stored in the information DB 12 has been tampered with.
  • Non-temporary computer-readable media include various types of tangible storage media.
  • Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks).
  • Examples of non-temporary computer-readable media further include CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, semiconductor memories (eg, mask ROMs; non-temporary computer-readable media). Examples further include PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
  • the program may also be supplied to the computer by various types of temporary computer readable media.
  • Examples of temporary computer readable media include electrical, optical, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
  • An information provision system that includes an information storage server and an information provision server.
  • the information storage server is The first information acquisition means for acquiring the first information including public information and private information, A first information transmitting means for transmitting the first information acquired by the first information acquiring means to the information providing server, and a first information transmitting means.
  • the first information storage means for accumulating the first information and Equipped with
  • the information providing server is A second information acquisition means for acquiring the first information from the information storage server, and A conversion means for converting the private information of the first information into a first hash value by a predetermined hash function, and An information generation means for generating the second information including the public information of the first information and the first hash value.
  • the second information transmission means for transmitting the public information and the private information to the transmission source in response to the information provision request. Equipped with The second information transmitting means is A search is performed in the distributed ledger using the search key as at least a part of the public information included in the information provision request.
  • the second information corresponding to the search key is acquired from the distributed ledger, and the information is obtained from the distributed ledger.
  • a search is executed by the first information storage means, and the search is executed.
  • the first information corresponding to the search key is acquired from the first information storage means, and the first information is obtained.
  • the private information obtained by searching from the first information storage means is converted into a second hash value by the predetermined hash function, and the private information is converted into a second hash value. Comparing the first hash value with the second hash value, When the first hash value and the second hash value match, the public information corresponding to the search key and the private information acquired by the search from the first information storage means are transmitted. Send to original, Information provision system.
  • the second information transmitting means does not match the public information of the first information acquired from the first information storage means by searching and the public information of the second information acquired from the distributed ledger. In this case, it is determined that the public information stored in the first information storage means has been tampered with.
  • the second information transmitting means is If the sender of the information provision request does not have access authority to the private information, the search key is used to execute a search in the distributed ledger. The public information of the second information corresponding to the search key is acquired from the distributed ledger. The public information acquired from the distributed ledger is transmitted to the sender.
  • the information providing system according to any one of Supplementary note 1 to 3.
  • An information provision system that includes an information storage server and an information provision server.
  • the information storage server is The first information acquisition means for acquiring the first information including public information and private information, A first information transmitting means for transmitting the first information acquired by the first information acquiring means to the information providing server, and a first information transmitting means.
  • a first information storage means for accumulating the private information of the first information, Equipped with The information providing server is A second information acquisition means for acquiring the first information from the information storage server, and A conversion means for converting the private information of the first information into a first hash value by a predetermined hash function, and An information generation means for generating the second information including the public information of the first information and the first hash value.
  • the plurality of private information acquired from the first information storage means is converted into a second hash value by the predetermined hash function, and the private information is converted into a second hash value. Comparing the first hash value with a plurality of the second hash values, The public information corresponding to the search key and the private information corresponding to the second hash value matching the first hash value are transmitted to the sender. Information provision system.
  • the second information transmitting means is If there are a plurality of the second hash values that match the first hash value, or if there is none, it is determined that the private information stored in the first information storage means has been tampered with.
  • the second information transmitting means is If the sender of the information provision request does not have access authority to the private information, the search key is used to execute a search in the distributed ledger. The public information of the second information corresponding to the search key is acquired from the distributed ledger. The public information acquired from the distributed ledger is transmitted to the sender.
  • the information providing system according to Appendix 5 or 6.
  • (Appendix 8) It is an information provision method using an information provision system including an information storage server and an information provision server.
  • the information providing server has the access authority to the private information at the source of the information providing request
  • the second information providing server transmits the public information and the private information to the transmitting source in response to the information providing request.
  • Information transmission stage and Including In the second information transmission stage A search is performed in the distributed ledger using the search key as at least a part of the public information included in the information provision request.
  • the second information corresponding to the search key is acquired from the distributed ledger, and the information is obtained from the distributed ledger.
  • the search key is used to execute a search on the information storage server, and the search is performed.
  • the first information corresponding to the search key is acquired from the information storage server, and the information is obtained.
  • the private information acquired by searching from the information storage server is converted into a second hash value by the predetermined hash function, and the private information is converted into a second hash value. Comparing the first hash value with the second hash value, When the first hash value and the second hash value match, the public information corresponding to the search key and the private information obtained by searching from the information storage server are sent to the transmission source. Send, Information provision method.
  • (Appendix 9) It is an information provision method using an information provision system including an information storage server and an information provision server.
  • the information providing server has the access authority to the private information at the source of the information providing request
  • the second information providing server transmits the public information and the private information to the transmitting source in response to the information providing request.
  • Information transmission stage and Including In the second information transmission stage A search is performed in the distributed ledger using the search key as at least a part of the public information included in the information provision request.
  • the second information corresponding to the search key is acquired from the distributed ledger, and the information is obtained from the distributed ledger.
  • a plurality of the private information stored in the information storage server is acquired from the information storage server, and the information is stored.
  • the plurality of private information acquired from the information storage server is converted into a second hash value by the predetermined hash function, and the information is converted into a second hash value. Comparing the first hash value with a plurality of the second hash values,
  • the public information corresponding to the search key and the private information corresponding to the second hash value matching the first hash value are transmitted to the sender.
  • Information provision method is provided.
  • Appendix 10 A non-temporary computer-readable medium containing a program that causes a computer to execute the information providing method described in Appendix 8.
  • Appendix 11 A non-temporary computer-readable medium containing a program that causes a computer to execute the information providing method described in Appendix 9.
  • Information provision system Information storage server 2X Work approval information 2Y Work approval information 3 Information provision server 4 Distributed ledger 4X BC registration information 4Y BC registration information 5 Work terminal 6 Search terminal 10 Workflow department 11 Information transmission unit 12 Information DB 20 Information receiving unit 21 Hash conversion unit 22 Registration information generation unit 23 BC registration unit 24 Account generation unit 25 Account withdrawal unit 26 Account information storage unit 27 Request reception unit 28 Information provision unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報提供部(28)は、情報提供要求に含まれるパブリック情報の少なくとも一部としての検索キーを用いて分散台帳(4)で検索を実行する。情報提供部(28)は、検索キーに該当するBC登録情報を分散台帳(4)から取得する。情報提供部(28)は、検索キーを用いて情報DB(12)で検索を実行する。情報提供部(28)は、検索キーに該当する作業承認情報を情報DB(12)から取得する。情報提供部(28)は、情報DB(12)から検索により取得したプライベート情報を所定のハッシュ関数で検証ハッシュ値に変換する。情報提供部(28)は、登録ハッシュ値と検証ハッシュ値を比較する。情報提供部(28)は、登録ハッシュ値と検証ハッシュ値が一致している場合、検索キーに対応するパブリック情報と、情報DB(12)から検索により取得したプライベート情報と、を送信元に送信する。

Description

情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体
 本発明は、情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体に関する。
 特許文献1は、ブロックチェーンによる分散台帳システムを構築する複数のトレーサビリティ情報管理サーバを開示している。特許文献1では、トレーサビリティ情報を製品の所有者以外の者が無制限にアクセスできると個人情報保護の観点から好ましくないとした上で、ユーザクライアント毎に個別のアクセス権限を付与する。各トレーサビリティ情報管理サーバは、ユーザクライアントのアクセス権限に応じて、トレーサビリティ情報管理サーバに登録されているトレーサビリティ情報の一部をユーザクライアントに送信する。
特開2020―21134号公報
 ところで、製品のライフサイクルに関する情報を分散台帳に登録することにより、当該情報の真正性を確保できることは周知の通りである。
 製品のライフサイクルに関する情報は、典型的には、組織名情報、製品型番情報、シリアル番号情報、プロセス名情報、ワークフロー名情報、タイムスタンプ情報、当該ワークフローの承認者情報及び作業者情報、当該ワークフローの作業手順情報及び作業結果情報を含み得る。
 これらの情報のうち、組織名情報、製品型番情報、シリアル番号情報、プロセス名情報、ワークフロー名情報、タイムスタンプ情報は、不特定の者が取得可能としても差し支えない情報と言える。これに対し、当該ワークフローの承認者情報及び作業者情報、当該ワークフローの作業手順情報及び作業結果情報は、技術情報及び個人情報に該当するので、特定の者しか取得できないようにしたい。端的に言えば、前者はアクセス制限のないパブリック情報であり、後者はアクセス制限のあるプライベート情報とも言える。このように背品ライフサイクルに関する情報は、公開範囲が異なる2種類の情報、即ち、パブリック情報とプライベート情報を含む。
 しかしながら、プライベート情報をパブリック情報と共に分散台帳に登録した場合、プライベート情報の漏洩のリスクがある。
 ここで、特許文献1のように、分散台帳にアクセスするユーザクライアント毎に個別のアクセス権限を設定し、アクセス権限に応じてユーザクライアントに送信する情報を限定することが考えられる。この場合でも、プライベート情報が分散台帳に登録されている以上、依然としてプライベート情報の漏洩のリスクを解消することはできない。
 本開示の目的は、上記の課題に鑑みたものであり、パブリック情報とプライベート情報の真正性を分散台帳により担保すると共に、プライベート情報の漏洩のリスクを抑制する技術を提供することにある。
 本開示の第1の観点によれば、
 情報蓄積サーバと情報提供サーバを含む情報提供システムであって、
 前記情報蓄積サーバは、
  パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得手段と、
  前記第1情報取得手段が取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信手段と、
  前記第1の情報を蓄積する第1情報記憶手段と、
  を備え、
 前記情報提供サーバは、
  前記情報蓄積サーバから前記第1の情報を取得する第2情報取得手段と、
  前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換手段と、
  前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成手段と、
  前記第2の情報をブロックチェーンによる分散台帳に登録する登録手段と、
  前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信手段と、
  前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信手段と、
  を備え、
  前記第2情報送信手段は、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記検索キーを用いて前記第1情報記憶手段で検索を実行し、
  前記検索キーに該当する前記第1の情報を前記第1情報記憶手段から取得し、
  前記第1情報記憶手段から検索により取得した前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と前記第2のハッシュ値を比較し、
  前記第1のハッシュ値と前記第2のハッシュ値が一致している場合、前記検索キーに対応する前記パブリック情報と、前記第1情報記憶手段から検索により取得した前記プライベート情報と、を前記送信元に送信する、
 情報提供システムが提供される。
 本開示の第2の観点によれば、
 情報蓄積サーバと情報提供サーバを含む情報提供システムであって、
 前記情報蓄積サーバは、
  パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得手段と、
  前記第1情報取得手段が取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信手段と、
  前記第1の情報の前記プライベート情報を蓄積する第1情報記憶手段と、
  を備え、
 前記情報提供サーバは、
  前記情報蓄積サーバから前記第1の情報を取得する第2情報取得手段と、
  前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換手段と、
  前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成手段と、
  前記第2の情報をブロックチェーンによる分散台帳に登録する登録手段と、
  前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信手段と、
  前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信手段と、
  を備え、
  前記第2情報送信手段は、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記第1情報取得手段に蓄積されている複数の前記プライベート情報を前記第1情報記憶手段から取得し、
  前記第1情報記憶手段から取得した複数の前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と複数の前記第2のハッシュ値を比較し、
  前記検索キーに対応する前記パブリック情報と、前記第1のハッシュ値と一致している前記第2のハッシュ値に対応する前記プライベート情報と、を前記送信元に送信する、
 情報提供システムが提供される。
 本開示の第3の観点によれば、
 情報蓄積サーバと情報提供サーバを含む情報提供システムを用いた情報提供方法であって、
 前記情報蓄積サーバが、パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得段階と、
 前記情報蓄積サーバが、前記第1情報取得段階で取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信段階と、
 前記情報蓄積サーバが、前記第1の情報を蓄積する第1情報記憶段階と、
 前記情報提供サーバが、前記情報蓄積サーバから前記第1の情報を取得する第2情報取得段階と、
 前記情報提供サーバが、前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換段階と、
 前記情報提供サーバが、前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成段階と、
 前記情報提供サーバが、前記第2の情報をブロックチェーンによる分散台帳に登録する登録段階と、
 前記情報提供サーバが、前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信段階と、
 前記情報提供サーバが、前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信段階と、
 を含み、
 前記第2情報送信段階では、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記検索キーを用いて前記情報蓄積サーバで検索を実行し、
  前記検索キーに該当する前記第1の情報を前記情報蓄積サーバから取得し、
  前記情報蓄積サーバから検索により取得した前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と前記第2のハッシュ値を比較し、
  前記第1のハッシュ値と前記第2のハッシュ値が一致している場合、前記検索キーに対応する前記パブリック情報と、前記情報蓄積サーバから検索により取得した前記プライベート情報と、を前記送信元に送信する、
 情報提供方法が提供される。
 本開示の第4の観点によれば、
 情報蓄積サーバと情報提供サーバを含む情報提供システムを用いた情報提供方法であって、
 前記情報蓄積サーバが、パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得段階と、
 前記情報蓄積サーバが、前記第1情報取得段階で取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信段階と、
 前記情報蓄積サーバが、前記第1の情報の前記プライベート情報を蓄積する第1情報記憶段階と、
 前記情報提供サーバが、前記情報蓄積サーバから前記第1の情報を取得する第2情報取得段階と、
 前記情報提供サーバが、前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換段階と、
 前記情報提供サーバが、前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成段階と、
 前記情報提供サーバが、前記第2の情報をブロックチェーンによる分散台帳に登録する登録段階と、
 前記情報提供サーバが、前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信段階と、
 前記情報提供サーバが、前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信段階と、
 を含み、
 前記第2情報送信段階では、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記情報蓄積サーバに蓄積されている複数の前記プライベート情報を前記情報蓄積サーバから取得し、
  前記情報蓄積サーバから取得した複数の前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と複数の前記第2のハッシュ値を比較し、
  前記検索キーに対応する前記パブリック情報と、前記第1のハッシュ値と一致している前記第2のハッシュ値に対応する前記プライベート情報と、を前記送信元に送信する、
 情報提供方法が提供される。
 本開示によれば、パブリック情報とプライベート情報の真正性を分散台帳により担保すると共に、プライベート情報の漏洩のリスクを抑制する。
情報提供システムの機能ブロック図である。(第1実施形態) 情報提供システムの概略図である。(第2実施形態) 情報蓄積サーバの機能ブロック図である。(第2実施形態) 作業承認情報の一具体例である。(第2実施形態) 情報DBに蓄積された複数の作業承認情報の一具体例である。(第2実施形態) 情報提供サーバの機能ブロック図である。(第2実施形態) 分散台帳に登録されている複数のBC登録情報の一具体例である。(第2実施形態) 情報提供システムのシーケンス図である。(第2実施形態) 情報提供システムのシーケンス図である。(第2実施形態) 情報提供部が分散台帳から取得したBC登録情報の一具体例である。(第2実施形態) 情報提供部が情報蓄積サーバから取得した作業承認情報の一具体例である。(第2実施形態) 情報提供部が検索端末に提供する情報の一具体例である。(第2実施形態) 情報DBに蓄積された複数のプライベート情報の一具体例である。(第3実施形態) 情報提供システムのシーケンス図である。(第3実施形態) 複数のプライベート情報と、そのハッシュ値との対応関係を示す図である。(第3実施形態) 登録ハッシュ値をプライベート情報に置換する処理を示す図である。(第3実施形態)
 (第1実施形態)
 以下、図1を参照して、情報提供システム100を説明する。
 情報提供システム100は、情報蓄積サーバ110と情報提供サーバ120を含む。
 情報蓄積サーバ110は、中央演算処理器としてのCPU110a(Central Processing Unit)と、読み書き自由のRAM110b(Random Access Memory)、読み出し専用のROM110c(Read Only Memory)、通信インターフェース110dを備えている。そして、CPU110aがROM110cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU110aなどのハードウェアを、各種機能部として機能させる。
 各種機能部は、第1情報取得部111、第1情報送信部112、第1情報記憶部113を含む。
 第1情報取得部111は、パブリック情報及びプライベート情報を含む第1の情報を取得する。第1情報取得部111は、第1情報取得手段の一具体例である。
 第1情報送信部112は、第1情報取得部111が取得した第1の情報を情報提供サーバ120に送信する。第1情報送信部112は、第1情報送信手段の一具体例である。
 第1情報記憶部113は、第1の情報を蓄積する。第1情報記憶部113は、第1情報記憶手段の一具体例である。
 情報提供サーバ120は、中央演算処理器としてのCPU120a(Central Processing Unit)と、読み書き自由のRAM120b(Random Access Memory)、読み出し専用のROM120c(Read Only Memory)、通信インターフェース120dを備えている。そして、CPU120aがROM120cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU120aなどのハードウェアを、各種機能部として機能させる。
 各種機能部は、第2情報取得部121、変換部122、情報生成部123、登録部124、要求受信部125、第2情報送信部126を含む。
 第2情報取得部121は、情報蓄積サーバ110から第1の情報を取得する。第2情報取得部121は、第2情報取得手段の一具体例である。
 変換部122は、第1の情報のプライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する。変換部122は、変換手段の一具体例である。
 情報生成部123は、第1の情報の前記パブリック情報と、第1のハッシュ値と、を含む第2の情報を生成する。情報生成部123は、情報生成手段の一具体例である。
 登録部124は、第2の情報をブロックチェーンによる分散台帳に登録する。登録部124は、登録手段の一具体例である。
 要求受信部125は、パブリック情報の少なくとも一部を含む情報提供要求を受信する。要求受信部125は、要求受信手段の一具体例である。
 第2情報送信部126は、情報提供要求の送信元がプライベート情報へのアクセス権限を有する場合、送信元に、情報提供要求に応じて、パブリック情報及びプライベート情報を送信する。第2情報送信部126は、第2情報送信手段の一具体例である。
 第2情報送信部126は、情報提供要求に含まれるパブリック情報の少なくとも一部としての検索キーを用いて分散台帳で検索を実行する。
 第2情報送信部126は、検索キーに該当する第2の情報を分散台帳から取得する。
 第2情報送信部126は、検索キーを用いて第1情報記憶部113で検索を実行する。
 第2情報送信部126は、検索キーに該当する第1の情報を第1情報記憶部113から取得する。
 第2情報送信部126は、第1情報記憶部113から検索により取得したプライベート情報を所定のハッシュ関数で第2のハッシュ値に変換する。
 第2情報送信部126は、第1のハッシュ値と第2のハッシュ値を比較する。
 そして、第2情報送信部126は、第1のハッシュ値と第2のハッシュ値が一致している場合、検索キーに対応するパブリック情報と、第1情報記憶部113から検索により取得したプライベート情報と、を送信元に送信する。
 以上の構成によれば、パブリック情報とプライベート情報の真正性を分散台帳により担保すると共に、プライベート情報の漏洩のリスクを抑制できる。
 (第2実施形態)
 次に、図2から図12を参照して、第2実施形態を説明する。まず、第2実施形態の課題を説明する。
 即ち、製品のライフサイクルに関する情報を分散台帳に登録することにより、当該情報の真正性を確保できることは周知の通りである。
 製品のライフサイクルに関する情報は、典型的には、組織名情報、製品型番情報、シリアル番号情報、プロセス名情報、ワークフロー名情報、タイムスタンプ情報、当該ワークフローの承認者情報及び作業者情報、当該ワークフローの作業手順情報及び作業結果情報を含み得る。
 これらの情報のうち、組織名情報、製品型番情報、シリアル番号情報、プロセス名情報、ワークフロー名情報、タイムスタンプ情報は、不特定の者が取得可能としても差し支えない情報と言える。これに対し、当該ワークフローの承認者情報及び作業者情報、当該ワークフローの作業手順情報及び作業結果情報は、技術情報及び個人情報に該当するので、特定の者しか取得できないようにしたい。端的に言えば、前者はアクセス制限のないパブリック情報であり、後者はアクセス制限のあるプライベート情報とも言える。このように背品ライフサイクルに関する情報は、公開範囲が異なる2種類の情報、即ち、パブリック情報とプライベート情報を含む。
 しかしながら、プライベート情報をパブリック情報と共に分散台帳に登録した場合、プライベート情報の漏洩のリスクがある。
 ここで、特許文献1のように、分散台帳にアクセスするユーザクライアント毎に個別のアクセス権限を設定し、アクセス権限に応じてユーザクライアントに送信する情報を限定することが考えられる。この場合でも、プライベート情報が分散台帳に登録されている以上、依然としてプライベート情報の漏洩のリスクを解消することはできない。
 本実施形態の課題は以上の通りであり、上記の課題を解決すべく、情報提供システム1を図2に示している。情報提供システム1は、パブリック情報とプライベート情報の真正性を分散台帳により担保すると共に、プライベート情報の漏洩のリスクを抑制する特徴を有する。以下、図2に示す情報提供システム1について詳細に説明する。
 情報提供システム1は、少なくとも1つの情報蓄積サーバ2と、情報提供サーバ3を含む。図2に示すように、本実施形態の情報提供システム1は、複数の情報蓄積サーバ2を含む。情報提供システム1は、更に、分散台帳4を含み得る。
 情報提供システム1は、更に、少なくとも1つの作業端末5と、少なくとも1つの検索端末6と、を含み得る。本実施形態の情報提供システム1は、複数の作業端末5と、複数の検索端末6と、を含む。
 複数の情報蓄積サーバ2は、製品ライフサイクルを構成する各種プロセスに従事する事業主が管理するサーバである。複数の情報蓄積サーバ2は、典型的には、製品の検査業務に従事する事業主が管理するサーバ、製品の出荷業務に従事する事業主が管理するサーバ、製品の物流業務に従事する事業主が管理するサーバなどを含む。
 各作業端末5は、複数の情報蓄積サーバ2の何れか1つと通信可能な端末である。製品ライフサイクルに携わる作業者は、所定の作業手順に沿ってワークフローを実行し、実行結果としての作業結果を得る。作業者は、組織名情報、製品型番情報、シリアル番号情報、プロセス名情報、ワークフロー名情報、作業手順情報、作業結果情報、及び、作業者情報を作業端末5を用いて情報蓄積サーバ2に登録する。上記作業者は、上記作業手順と作業結果に関して承認者に承認を求める。この求めに応じて、承認者は、上記作業手順と作業結果を承認すると共に作業端末5を用いて情報蓄積サーバ2に承認者情報を登録する。作業者が情報蓄積サーバ2に登録した情報と、承認者が情報蓄積サーバ2に登録した情報と、を含む情報を以下、作業承認情報と称する。作業承認情報は、第1の情報の一具体例である。
 図3には、情報蓄積サーバ2の機能ブロック図を示している。図3に示すように、中央演算処理器としてのCPU2a(Central Processing Unit)と、読み書き自由のRAM2b(Random Access Memory)、読み出し専用のROM2c(Read Only Memory)、通信インターフェース2dを備えている。そして、CPU2aがROM2cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU2aなどのハードウェアを、各種機能部として機能させる。
 各種機能部は、ワークフロー部10、情報送信部11、情報DB12を含む。
 ワークフロー部10は、各作業端末5からパブリック情報及びプライベート情報を含む作業承認情報を取得し、取得した作業承認情報を情報DB12に登録する。具体的には、ワークフロー部10は、取得した作業承認情報にタイムスタンプ情報を追加した上で、作業承認情報を情報DB12に登録する。ワークフロー部10は、第1情報取得手段の一具体例である。
 図4には、ワークフロー部10が取得した作業承認情報を示している。図4に示すように、作業承認情報は、パブリック情報とプライベート情報(秘匿化必要情報)を含む。パブリック情報は、組織名情報、製品型番情報、シリアル情報、プロセス名情報、ワークフロー名情報、タイムスタンプ情報を含む。プライベート情報は、承認者情報、作業者情報、作業手順情報、作業結果情報を含む。本実施形態において、パブリック情報は、複数の情報を含むが、これに代えて、1つのみの情報から構成されてもよい。同様に、本実施形態において、プライベート情報は、複数の情報を含むが、これに代えて、1つのみの情報から構成されてもよい。
 情報送信部11は、ワークフロー部10が取得し、タイムスタンプ情報を追加した作業承認情報を情報提供サーバ3に送信する。情報送信部11は、第1情報送信手段の一具体例である。
 情報DB12は、作業承認情報を蓄積する。情報DB12は、第1情報記憶手段の一具体例である。図5には、情報DB12に蓄積された複数の作業承認情報を示している。
 図6には、情報提供サーバ3の機能ブロック図を示している。図6に示すように、情報提供サーバ3は、中央演算処理器としてのCPU3a(Central Processing Unit)と、読み書き自由のRAM3b(Random Access Memory)、読み出し専用のROM3c(Read Only Memory)、通信インターフェース3dを備えている。そして、CPU3aがROM3cに記憶されている制御プログラムを読み出して実行することで、制御プログラムは、CPU3aなどのハードウェアを各種機能部として機能させる。
 各種機能部は、情報受信部20、ハッシュ変換部21、登録情報生成部22、BC登録部23、アカウント生成部24、アカウント払出部25、アカウント情報記憶部26、要求受信部27、情報提供部28を含む。
 情報受信部20は、情報蓄積サーバ2から作業承認情報を受信して取得する。情報受信部20は、第2情報取得手段の一具体例である。
 ハッシュ変換部21は、情報受信部20が取得した作業承認情報のプライベート情報を所定のハッシュ関数で登録ハッシュ値に変換する。登録ハッシュ値は、第1のハッシュ値の一具体例である。
 登録情報生成部22は、作業承認情報のパブリック情報と、登録ハッシュ値と、を含むBC登録情報を生成する。BC登録情報は、第2の情報の一具体例である。
 BC登録部23は、BC登録情報を分散台帳4に登録する。
 ここで、図2を参照して、分散台帳4について説明する。分散台帳4は、典型的にはコンソーシアム型のブロックチェーン技術による分散型台帳であって、複数のノードにより構成されている。図2に示す複数の情報提供サーバ3が分散台帳4を構成する複数のノードとして機能してもよく、複数の情報提供サーバ3と異なる複数のサーバが分散台帳4を構成する複数のノードとして機能してもよい。
 図7は、分散台帳4に登録されている複数のBC登録情報を示している。図7に示すように、分散台帳4に登録されているBC登録情報は、プライベート情報を含まず、代わりに、プライベート情報をハッシュ変換した登録ハッシュ値を含む。従って、分散台帳4からプライベート情報が直接漏洩することはない。ハッシュ変換は、不可逆変換だからである。
 図6に戻り、アカウント生成部24は、作業承認情報を参照したいユーザーが検索端末6を介してアカウント申請したときに、当該ユーザー用のアカウント情報を生成する。アカウント情報は、典型的には、アカウント名情報と、プライベート情報へのアクセス権限の有無に関するアクセス権限情報と、を含む。アカウント生成部24は、生成したアカウント情報をアカウント情報記憶部26に記憶する。
 アカウント情報記憶部26は、複数のアカウント情報を記憶する。
 アカウント払出部25は、上記ユーザーに対しアカウント情報を払い出す。
 例えば、監査者がアカウントを申請した場合、アカウント生成部24は、プライベート情報へのアクセス権限を有するアカウント情報を生成し、当該監査者に対しアカウント情報を払い出す。これに対し、監査者でない者がアカウントを申請した場合、アカウント生成部24は、プライベート情報へのアクセス権限を有しないアカウント情報を生成し、当該者に対しアカウント情報を払い出す。
 要求受信部27は、情報提供要求を受信する。情報提供要求は、典型的には、パブリック情報の少なくとも一部を含む。情報提供要求は、パブリック情報のすべてを含んでもよい。監査者又はその他の者が検索端末6を操作すると、検索端末6は情報提供要求を情報提供サーバ3に送信する。要求受信部27は、検索端末6から情報提供要求を受信する。要求受信部27は、要求受信手段の一具体例である。
 情報提供部28は、情報提供要求の送信元がプライベート情報へのアクセス権限を有する場合、送信元に、情報提供要求に応じて、パブリック情報及びプライベート情報を送信する。情報提供部28は、第2情報送信手段の一具体例である。
 次に、図8から図12を参照して、情報提供システム1の動作を説明する。図8及び図9には、情報提供システム1のシーケンス図を示している。
 図8を参照して、まず、作業者及び承認者が作業端末5に作業承認情報を入力する。作業端末5は、入力された作業承認情報を情報蓄積サーバ2に送信する(S100)。
 情報蓄積サーバ2のワークフロー部10は、作業端末5から作業承認情報を取得し(S100)、作業承認情報にタイムスタンプ情報を付加する。情報送信部11は、ワークフロー部10が作業端末5から作業承認情報を取得したことをトリガーとして、図4に例示する作業承認情報を情報提供サーバ3に送信する(S110)。また、ワークフロー部10は、図5に示すように、取得した作業承認情報を情報DB12に蓄積する(S120)。
 情報提供サーバ3の情報受信部20は、情報蓄積サーバ2から作業承認情報を受信して取得する(S110)。ハッシュ変換部21は、情報受信部20が取得した作業承認情報のプライベート情報を所定のハッシュ関数で登録ハッシュ値に変換する(S130)。
 登録情報生成部22は、作業承認情報のパブリック情報と、登録ハッシュ値と、を含むBC登録情報を生成する(S140)。BC登録部23は、登録情報生成部22が生成したBC登録情報を分散台帳4に登録する(S150)。分散台帳4に記憶される複数のBC登録情報を図7に示している。
 ステップS100からステップS150までの処理は、作業端末5に作業承認情報が入力されるたびに繰り返される。
 次に、作業承認情報を参照したいユーザーが検索端末6を介してアカウント申請すると(S160)、アカウント生成部24は、当該ユーザー用のアカウント情報を生成する(S170)。アカウント生成部24は、生成したアカウント情報をアカウント情報記憶部26に記憶すると共に、上記ユーザーに対しアカウント情報を払い出す(S180)。
 続けて図9を参照されたい。作業承認情報を参照したいユーザーは、情報提供サーバ3から提供されたアカウント情報を用いて検索端末6にログインし、検索端末6を操作すると、検索端末6は情報提供要求を情報提供サーバ3に送信する(S200)。具体的には、作業承認情報を参照したいユーザーは、参照したい作業承認情報のパブリック情報を検索端末6に入力する。典型的には、作業承認情報を参照したいユーザーは、参照したい作業承認情報のパブリック情報の少なくとも一部を検索端末6に入力する。検索端末6は、ユーザーによって入力されたパブリック情報の少なくとも一部を含む情報提供要求を作成し、作成した情報提供要求を情報提供サーバ3に送信する(S200)。本実施形態において、情報提供要求は、パブリック情報の少なくとも一部と、送信元であるユーザーの有するアカウント情報と、を含み得る。
 情報提供サーバ3の情報提供部28は、アカウント情報記憶部26を参照して、情報提供要求の送信元であるアカウントがプライベート情報へのアクセス権限を有するか判定する(S210)。
 [アクセス権限を有する場合]
 ステップS210で、情報提供要求の送信元であるアカウントがプライベート情報へのアクセス権限を有すると判定した場合、情報提供部28は、情報提供要求に含まれるパブリック情報の少なくとも一部としての検索キーを用いて分散台帳4で検索を実行する(S220)。ここで、説明の便宜上、上記の検索キーが「製品番号情報」「シリアル番号情報」「プロセス名情報」を含むものとし、「製品番号情報」は「ABC15000」であり、「シリアル番号情報」は「12345」であり、「プロセス名情報」は「検査」であるものとする。
 次に、情報提供部28は、上記検索キーに該当するBC登録情報を分散台帳4から取得する(S230)。図10には、情報提供部28が分散台帳4から取得したBC登録情報を示している。図10に示すように、上記の検索キーに対して、2つのBC登録情報が該当した。従って、情報提供部28は、図10に示す2つのBC登録情報(BC登録情報4X、BC登録情報4Y)を分散台帳4から取得する。
 図9に戻り、情報提供部28は、上記検索キーを用いて情報蓄積サーバ2の情報DB12で検索を実行する(S240)。そして、情報提供部28は、上記検索キーに該当する作業承認情報を情報DB12から取得する(S250)。図11には、情報提供部28が情報DB12から取得した作業承認情報を示している。図11に示すように、上記の検索キーに対して、2つの作業承認情報が該当した。従って、情報提供部28は、図11に示す2つの作業承認情報(作業承認情報2X、作業承認情報2Y)を情報DB12から取得する。
 続いて、情報提供部28は、情報DB12から検索により取得したプライベート情報を所定のハッシュ関数で検証ハッシュ値に変換する(S260)。検証ハッシュ値は、第2のハッシュ値の一具体例である。
 そして、情報提供部28は、ステップS230で取得したBC登録情報の登録ハッシュ値と、ステップS260で変換した検証ハッシュ値と、を比較する(S270)。以下、図10及び図11を参照して上記の比較を具体的に説明する。
 図10には、2つのBC登録情報として、BC登録情報4X、BC登録情報4Yを示している。図11には、2つの作業承認情報として、作業承認情報2X、作業承認情報2Yを示している。
 図10に示すように、BC登録情報4Xは、承認者情報をハッシュ変換した登録ハッシュ値A、作業者情報をハッシュ変換した登録ハッシュ値B、作業手順情報をハッシュ変換した登録ハッシュ値C、作業結果情報をハッシュ変換した登録ハッシュ値Dを含む。同様に、BC登録情報4Yは、承認者情報をハッシュ変換した登録ハッシュ値E、作業者情報をハッシュ変換した登録ハッシュ値F、作業手順情報をハッシュ変換した登録ハッシュ値G、作業結果情報をハッシュ変換した登録ハッシュ値Hを含む。
 図11に示すように、作業承認情報2Xは、承認者情報a、作業者情報b、作業手順情報c、作業結果情報dを含む。同様に、作業承認情報2Yは、承認者情報e、作業者情報f、作業手順情報g、作業結果情報hを含む。
 情報提供部28は、BC登録情報4Xの登録ハッシュ値Aと、作業承認情報2Xの承認者情報aをハッシュ変換した検証ハッシュ値と、を比較する(S270)。比較の結果、両者が一致していたら、情報提供部28は、作業承認情報2Xの承認者情報aが改竄されていないと判定する。
 同様に、情報提供部28は、BC登録情報4Xの登録ハッシュ値Bと、作業承認情報2Xの作業者情報bをハッシュ変換した検証ハッシュ値と、を比較する。比較の結果、両者が一致していたら、情報提供部28は、作業承認情報2Xの作業者情報bが改竄されていないと判定する。
 情報提供部28は、登録ハッシュ値Cと作業手順情報c、登録ハッシュ値Dと作業結果情報dについても同様に比較し、改竄の有無を判定する。
 情報提供部28は、BC登録情報4Yの登録ハッシュ値Eと、作業承認情報2Yの承認者情報eをハッシュ変換した検証ハッシュ値と、を比較する。比較の結果、両者が一致していたら、情報提供部28は、作業承認情報2Yの承認者情報eが改竄されていないと判定する。
 同様に、情報提供部28は、BC登録情報4Yの登録ハッシュ値Fと、作業承認情報2Yの作業者情報fをハッシュ変換した検証ハッシュ値と、を比較する。比較の結果、両者が一致していたら、情報提供部28は、作業承認情報2Yの作業者情報fが改竄されていないと判定する。
 情報提供部28は、登録ハッシュ値Gと作業手順情報g、登録ハッシュ値Hと作業結果情報hについても同様に比較し、改竄の有無を判定する。
 なお、図10に示すように、複数のBC登録情報のパブリック情報が相互に完全一致することはない。同様に、図11に示すように、複数の作業承認情報のパブリック情報が相互に一致することはない。図10の例では、各BC登録情報のパブリック情報のうち検索キーに含まれなかった情報であるワークフロー名情報及びタイムスタンプ情報が複数のBC登録情報間で相互に相違している。図11でも同様である。従って、情報提供部28は、登録ハッシュ値と検証ハッシュ値を比較するに際し、ワークフロー名情報又はタイムスタンプ情報を逐一参照することで、どのBC登録情報がどの作業承認情報に対応しているか容易に認識することができる。
 上記比較の結果、作業承認情報のプライベート情報に含まれる承認者情報、作業者情報、作業手順情報、作業結果情報の何れもが改竄されていないと判定した場合、情報提供部28は、作業承認情報のプライベート情報が全体として改竄されていないと判定する。この判定後、情報提供部28は、検索キーに対応するパブリック情報と、情報DB12から検索により取得したプライベート情報と、を送信元に送信する(S280)。ここで、「検索キーに対応するパブリック情報」とは、分散台帳4から検索により取得したパブリック情報としてもよく、情報DB12から検索により取得したパブリック情報としてもよい。これらのパブリック情報は同一だからである。即ち、上記の判定後、情報提供部28は、情報DB12から検索により取得した作業承認情報を送信元に送信するようにしてもよい。
 上記比較の結果、作業承認情報のプライベート情報に含まれる承認者情報、作業者情報、作業手順情報、作業結果情報の何れかが改竄されていると判定した場合、情報提供部28は、情報DB12に記憶されている作業承認情報のプライベート情報が改竄されていると判定する。この判定後、情報提供部28は、情報DB12に記憶されている作業承認情報のプライベート情報が改竄されていたことを示す改竄メッセージを検索端末6に送信する(S290)。
 [アクセス権限を有さない場合]
 ステップS210で、情報提供要求の送信元であるアカウントが、プライベート情報へのアクセス権限を有しないと判定した場合、情報提供部28は、情報提供要求に含まれるパブリック情報の少なくとも一部としての検索キーを用いて分散台帳4で検索を実行する(S300)。
 次に、情報提供部28は、上記検索キーに該当するBC登録情報を分散台帳4から取得する(S310)。図10には、情報提供部28が分散台帳4から取得したBC登録情報を示している。図10に示すように、上記の検索キーに対して、2つのBC登録情報が該当した。従って、情報提供部28は、図10に示す2つのBC登録情報(BC登録情報4X、BC登録情報4Y)を分散台帳4から取得する。
 そして、情報提供部28は、分散台帳4から取得したBC登録情報のパブリック情報を検索端末6に送信する(S320)。このとき、図10に示すように、情報提供部28は、分散台帳4から取得したBC登録情報の登録ハッシュ値を削除しないまま当該BC登録情報を検索端末6に送信してもよい。これに代えて、情報提供部28は、図12に示すように、分散台帳4から取得したBC登録情報の登録ハッシュ値を削除した上で当該BC登録情報のパブリック情報のみを検索端末6に送信するようにしてもよい。
 以上に、本開示の第2実施形態を説明した。第2実施形態は、以下の特徴を有する。
 情報提供システム1は、情報蓄積サーバ2と情報提供サーバ3を含む。
 情報蓄積サーバは、ワークフロー部10と情報送信部11、情報DB12を含む。ワークフロー部10(第1情報取得手段)は、パブリック情報及びプライベート情報を含む作業承認情報(第1の情報)を取得する。情報送信部11(第1情報送信手段)は、ワークフロー部10が取得した作業承認情報を情報提供サーバ3に送信する。情報DB12(第1情報記憶手段)は、作業承認情報を蓄積する。
 情報提供サーバ3は、情報受信部20、ハッシュ変換部21、登録情報生成部22、BC登録部23、要求受信部27、情報提供部28を含む。情報受信部20(第2情報取得手段)は、情報蓄積サーバ2から作業承認情報を取得する。ハッシュ変換部21(変換手段)は、作業承認情報のプライベート情報を所定のハッシュ関数で登録ハッシュ値(第1のハッシュ値)に変換する。登録情報生成部22(情報生成手段)は、作業承認情報のパブリック情報と、登録ハッシュ値と、を含むBC登録情報(第2の情報)を生成する。BC登録部23(登録手段)は、BC登録情報をブロックチェーンによる分散台帳4に登録する。要求受信部27(要求受信手段)は、パブリック情報の少なくとも一部を含む情報提供要求を受信する。情報提供部28(第2情報送信手段)は、情報提供要求の送信元がプライベート情報へのアクセス権限を有する場合、送信元に、情報提供要求に応じて、パブリック情報及びプライベート情報を送信する。
 情報提供部28は、情報提供要求に含まれるパブリック情報の少なくとも一部としての検索キーを用いて分散台帳4で検索を実行する(S220)。情報提供部28は、検索キーに該当するBC登録部23を分散台帳4から取得する(S230)。情報提供部28は、検索キーを用いて情報DB12で検索を実行する(S240)。情報提供部28は、検索キーに該当する作業承認情報を情報DB12から取得する(S250)。情報提供部28は、情報DB12から検索により取得したプライベート情報を所定のハッシュ関数で検証ハッシュ値(第2のハッシュ値)に変換する(S260)。情報提供部28は、登録ハッシュ値と検証ハッシュ値を比較する(S270)。情報提供部28は、登録ハッシュ値と検証ハッシュ値が一致している場合、検索キーに対応するパブリック情報と、情報DB12から検索により取得したプライベート情報と、を送信元に送信する(S280)。
 以上の情報提供システム1によれば、パブリック情報とプライベート情報の真正性を分散台帳により担保すると共に、プライベート情報の漏洩のリスクを抑制することができる。
 また、情報提供部28は、登録ハッシュ値と検証ハッシュ値が一致していない場合、情報DB12に蓄積されているプライベート情報が改竄されていると判定する(S270、S290)。
 また、情報提供部28は、情報提供要求の送信元がプライベート情報へのアクセス権限を有しない場合、検索キーを用いて分散台帳で検索を実行する(S300)。情報提供部28は、検索キーに該当するBC登録情報のパブリック情報を分散台帳4から取得する(S310)。情報提供部28は、分散台帳4から取得したパブリック情報を送信元に送信する(S320)。以上の構成によれば、プライベート情報へのアクセス権限を有さない送信元に対しては、プライベート情報を送信しない構成が実現される。
 (変形例)
 上記第2実施形態は、例えば、以下のように変更できる。
 図9のステップS270において、情報提供部28は、情報DB12から検索により取得した作業承認情報のパブリック情報と、分散台帳4から取得したBC登録情報のパブリック情報と、を比較してもよい。そして、両者が一致しない場合、情報提供部28は、情報DB12に蓄積されているパブリック情報が改竄されていると判定するようにしてもよい。この場合、ステップS290において、情報提供部28は、検索端末6に、情報DB12に蓄積されているパブリック情報が改竄されていることを示す改竄メッセージを送信するようにしてもよい。
 (第3実施形態)
 次に、図13から図16を参照して、第3実施形態を説明する。以下、本実施形態が上記第2実施形態を相違する点を中心に説明し、重複する説明は省略する。
 上記第2実施形態では、図5に示すように、情報DB12は、パブリック情報及びプライベート情報を含む作業承認情報を蓄積している。
 これに対し、本実施形態では、図13に示すように、情報DB12は、作業承認情報のうちプライベート情報のみを蓄積する(S120)。
 また、上記第2実施形態では、図9に示すように、情報提供部28は、検索キーを用いて情報蓄積サーバ2の情報DB12で検索を実行する(S240)。そして、情報提供部28は、上記検索キーに該当する作業承認情報を情報DB12から取得する(S250)。
 これに対し、本実施形態では、図14に示すように、情報提供部28は、情報蓄積サーバ2の情報DB12から複数のプライベート情報を取得する(S251)。具体的には、情報提供部28は、各情報蓄積サーバ2の情報DB12に蓄積されているすべてのプライベート情報を取得する。
 次に、情報提供部28は、図15に示すように、ステップS251で取得した複数のプライベート情報を所定のハッシュ関数で検証ハッシュ値に変換する(S261)。
 そして、情報提供部28は、ステップS230で取得したBC登録情報の登録ハッシュ値と、ステップS261で生成した検証ハッシュ値と、を比較する(S271)。
 そして、情報提供部28は、検索キーに対応するパブリック情報と、登録ハッシュ値と一致している検証ハッシュ値に対応するプライベート情報と、を送信元に送信する(S281)。典型的には、以下の通りである。
 図10には、情報提供部28が分散台帳4から取得したBC登録情報を示している。図10に示すように、検索キーに対して、2つのBC登録情報が該当した。従って、情報提供部28は、図10に示す2つのBC登録情報(BC登録情報4X、BC登録情報4Y)を分散台帳4から取得する。
 次に、情報提供部28は、まず、BC登録情報4Xの登録ハッシュ値Aと一致する検証ハッシュ値を、図15に示す複数の検証ハッシュ値の中から特定する。そして、情報提供部28は、図16に示すように、BC登録情報4Xの登録ハッシュ値Aを、特定した検証ハッシュ値に対応するプライベート情報で置換する。情報提供部28は、同様の処理を、BC登録情報4Xの登録ハッシュ値Bから登録ハッシュ値Dについても実行する。これにより、BC登録情報4Xは作業承認情報へと変換される。このように、BC登録情報4Xの登録ハッシュ値すべてをプライベート情報に変換できたら、情報提供部28は、パブリック情報とプライベート情報を送信元に送信する(S281)。BC登録情報4Yについても同様に処理する。
 もし、BC登録情報4Xの登録ハッシュ値Aと一致する検証ハッシュ値を図15に示す複数の検証ハッシュ値の中で複数個特定できたら、情報提供部28は、情報DB12に記憶されているプライベート情報が改竄されていたと判定する。もし、BC登録情報4Xの登録ハッシュ値Aと一致する検証ハッシュ値を図15に示す複数の検証ハッシュ値の中で1つも特定できなかったら、情報提供部28は、情報DB12に記憶されているプライベート情報が改竄されていたと判定する。そして、情報提供部28は、情報DB12に記憶されているプライベート情報が改竄されていたことを示す改竄メッセージを検索端末6に送信する(S291)。
 以上に、本開示の第3実施形態を説明したが、上記第3実施形態は、以下の特徴を有する。
 図13に示すように、情報DB12(第1情報記憶手段)は、作業承認情報(第1の情報)のプライベート情報を蓄積する。図14に示すように、情報提供部28(第2情報送信手段)は、情報提供要求に含まれるパブリック情報の少なくとも一部としての検索キーを用いて分散台帳4で検索を実行する(S220)。情報提供部28は、検索キーに該当するBC登録情報(第2の情報)を分散台帳4から取得する(S230)。情報提供部28は、情報DB12に蓄積されている複数のプライベート情報を情報DB12から取得する(S251)。情報提供部28は、情報DB12から取得した複数のプライベート情報を所定のハッシュ関数で検証ハッシュ値(第2のハッシュ値)に変換する(S261)。情報提供部28は、登録ハッシュ値と複数の検証ハッシュ値を比較する(S271)。情報提供部28は、検索キーに対応するパブリック情報と、登録ハッシュ値と一致している検証ハッシュ値に対応するプライベート情報と、を送信元に送信する(S281)。以上の情報提供システム1によれば、パブリック情報とプライベート情報の真正性を分散台帳により担保すると共に、プライベート情報の漏洩のリスクを抑制することができる。また、情報蓄積サーバ2の情報DB12にパブリック情報を蓄積する必要がないので、情報DB12のリソースの節約に寄与する。
 なお、本実施形態においても、上記第2実施形態と同様に、情報DB12がパブリック情報及びプライベート情報を含む作業承認情報を蓄積するようにしてもよい。
 また、情報提供部28は、登録ハッシュ値と一致している検証ハッシュ値が複数ある場合、又は、ない場合、情報DB12に蓄積されているプライベート情報が改竄されていると判定する(S291)。以上の構成によれば、情報DB12に蓄積されているプライベート情報が改竄されていると判定できる。
 上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。非一時的なコンピュータ可読媒体の例は、更に、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROMを含む。非一時的なコンピュータ可読媒体の例は、更に、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下に限定されない。
 (付記1)
 情報蓄積サーバと情報提供サーバを含む情報提供システムであって、
 前記情報蓄積サーバは、
  パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得手段と、
  前記第1情報取得手段が取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信手段と、
  前記第1の情報を蓄積する第1情報記憶手段と、
  を備え、
 前記情報提供サーバは、
  前記情報蓄積サーバから前記第1の情報を取得する第2情報取得手段と、
  前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換手段と、
  前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成手段と、
  前記第2の情報をブロックチェーンによる分散台帳に登録する登録手段と、
  前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信手段と、
  前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信手段と、
  を備え、
  前記第2情報送信手段は、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記検索キーを用いて前記第1情報記憶手段で検索を実行し、
  前記検索キーに該当する前記第1の情報を前記第1情報記憶手段から取得し、
  前記第1情報記憶手段から検索により取得した前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と前記第2のハッシュ値を比較し、
  前記第1のハッシュ値と前記第2のハッシュ値が一致している場合、前記検索キーに対応する前記パブリック情報と、前記第1情報記憶手段から検索により取得した前記プライベート情報と、を前記送信元に送信する、
 情報提供システム。
 (付記2)
 前記第2情報送信手段は、前記第1のハッシュ値と前記第2のハッシュ値が一致していない場合、前記第1情報記憶手段に蓄積されている前記プライベート情報が改竄されていると判定する、
 付記1に記載の情報提供システム。
 (付記3)
 前記第2情報送信手段は、前記第1情報記憶手段から検索により取得した前記第1の情報の前記パブリック情報と、前記分散台帳から取得した前記第2の情報の前記パブリック情報と、が一致しない場合、前記第1情報記憶手段に蓄積されている前記パブリック情報が改竄されていると判定する、
 付記1又は2に記載の情報提供システム。
 (付記4)
 前記第2情報送信手段は、
 前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有しない場合、前記検索キーを用いて前記分散台帳で検索を実行し、
 前記検索キーに該当する前記第2の情報の前記パブリック情報を前記分散台帳から取得し、
 前記分散台帳から取得した前記パブリック情報を前記送信元に送信する、
 付記1から3までの何れか1項に記載の情報提供システム。
 (付記5)
 情報蓄積サーバと情報提供サーバを含む情報提供システムであって、
 前記情報蓄積サーバは、
  パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得手段と、
  前記第1情報取得手段が取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信手段と、
  前記第1の情報の前記プライベート情報を蓄積する第1情報記憶手段と、
  を備え、
 前記情報提供サーバは、
  前記情報蓄積サーバから前記第1の情報を取得する第2情報取得手段と、
  前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換手段と、
  前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成手段と、
  前記第2の情報をブロックチェーンによる分散台帳に登録する登録手段と、
  前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信手段と、
  前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信手段と、
  を備え、
  前記第2情報送信手段は、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記第1情報取得手段に蓄積されている複数の前記プライベート情報を前記第1情報記憶手段から取得し、
  前記第1情報記憶手段から取得した複数の前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と複数の前記第2のハッシュ値を比較し、
  前記検索キーに対応する前記パブリック情報と、前記第1のハッシュ値と一致している前記第2のハッシュ値に対応する前記プライベート情報と、を前記送信元に送信する、
 情報提供システム。
 (付記6)
 前記第2情報送信手段は、
 前記第1のハッシュ値と一致している前記第2のハッシュ値が複数ある場合、又は、ない場合、前記第1情報記憶手段に蓄積されている前記プライベート情報が改竄されていると判定する、
 付記5に記載の情報提供システム。
 (付記7)
 前記第2情報送信手段は、
 前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有しない場合、前記検索キーを用いて前記分散台帳で検索を実行し、
 前記検索キーに該当する前記第2の情報の前記パブリック情報を前記分散台帳から取得し、
 前記分散台帳から取得した前記パブリック情報を前記送信元に送信する、
 付記5又は6に記載の情報提供システム。
 (付記8)
 情報蓄積サーバと情報提供サーバを含む情報提供システムを用いた情報提供方法であって、
 前記情報蓄積サーバが、パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得段階と、
 前記情報蓄積サーバが、前記第1情報取得段階で取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信段階と、
 前記情報蓄積サーバが、前記第1の情報を蓄積する第1情報記憶段階と、
 前記情報提供サーバが、前記情報蓄積サーバから前記第1の情報を取得する第2情報取得段階と、
 前記情報提供サーバが、前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換段階と、
 前記情報提供サーバが、前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成段階と、
 前記情報提供サーバが、前記第2の情報をブロックチェーンによる分散台帳に登録する登録段階と、
 前記情報提供サーバが、前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信段階と、
 前記情報提供サーバが、前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信段階と、
 を含み、
 前記第2情報送信段階では、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記検索キーを用いて前記情報蓄積サーバで検索を実行し、
  前記検索キーに該当する前記第1の情報を前記情報蓄積サーバから取得し、
  前記情報蓄積サーバから検索により取得した前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と前記第2のハッシュ値を比較し、
  前記第1のハッシュ値と前記第2のハッシュ値が一致している場合、前記検索キーに対応する前記パブリック情報と、前記情報蓄積サーバから検索により取得した前記プライベート情報と、を前記送信元に送信する、
 情報提供方法。
 (付記9)
 情報蓄積サーバと情報提供サーバを含む情報提供システムを用いた情報提供方法であって、
 前記情報蓄積サーバが、パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得段階と、
 前記情報蓄積サーバが、前記第1情報取得段階で取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信段階と、
 前記情報蓄積サーバが、前記第1の情報の前記プライベート情報を蓄積する第1情報記憶段階と、
 前記情報提供サーバが、前記情報蓄積サーバから前記第1の情報を取得する第2情報取得段階と、
 前記情報提供サーバが、前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換段階と、
 前記情報提供サーバが、前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成段階と、
 前記情報提供サーバが、前記第2の情報をブロックチェーンによる分散台帳に登録する登録段階と、
 前記情報提供サーバが、前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信段階と、
 前記情報提供サーバが、前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信段階と、
 を含み、
 前記第2情報送信段階では、
  前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
  前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
  前記情報蓄積サーバに蓄積されている複数の前記プライベート情報を前記情報蓄積サーバから取得し、
  前記情報蓄積サーバから取得した複数の前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
  前記第1のハッシュ値と複数の前記第2のハッシュ値を比較し、
  前記検索キーに対応する前記パブリック情報と、前記第1のハッシュ値と一致している前記第2のハッシュ値に対応する前記プライベート情報と、を前記送信元に送信する、
 情報提供方法。
 (付記10)
 付記8に記載の情報提供方法をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
 (付記11)
付記9に記載の情報提供方法をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
 1 情報提供システム
 2 情報蓄積サーバ
 2X 作業承認情報
 2Y 作業承認情報
 3 情報提供サーバ
 4 分散台帳
 4X BC登録情報
 4Y BC登録情報
 5 作業端末
 6 検索端末
 10 ワークフロー部
 11 情報送信部
 12 情報DB
 20 情報受信部
 21 ハッシュ変換部
 22 登録情報生成部
 23 BC登録部
 24 アカウント生成部
 25 アカウント払出部
 26 アカウント情報記憶部
 27 要求受信部
 28 情報提供部

Claims (11)

  1.  情報蓄積サーバと情報提供サーバを含む情報提供システムであって、
     前記情報蓄積サーバは、
      パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得手段と、
      前記第1情報取得手段が取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信手段と、
      前記第1の情報を蓄積する第1情報記憶手段と、
      を備え、
     前記情報提供サーバは、
      前記情報蓄積サーバから前記第1の情報を取得する第2情報取得手段と、
      前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換手段と、
      前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成手段と、
      前記第2の情報をブロックチェーンによる分散台帳に登録する登録手段と、
      前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信手段と、
      前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信手段と、
      を備え、
      前記第2情報送信手段は、
      前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
      前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
      前記検索キーを用いて前記第1情報記憶手段で検索を実行し、
      前記検索キーに該当する前記第1の情報を前記第1情報記憶手段から取得し、
      前記第1情報記憶手段から検索により取得した前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
      前記第1のハッシュ値と前記第2のハッシュ値を比較し、
      前記第1のハッシュ値と前記第2のハッシュ値が一致している場合、前記検索キーに対応する前記パブリック情報と、前記第1情報記憶手段から検索により取得した前記プライベート情報と、を前記送信元に送信する、
     情報提供システム。
  2.  前記第2情報送信手段は、前記第1のハッシュ値と前記第2のハッシュ値が一致していない場合、前記第1情報記憶手段に蓄積されている前記プライベート情報が改竄されていると判定する、
     請求項1に記載の情報提供システム。
  3.  前記第2情報送信手段は、前記第1情報記憶手段から検索により取得した前記第1の情報の前記パブリック情報と、前記分散台帳から取得した前記第2の情報の前記パブリック情報と、が一致しない場合、前記第1情報記憶手段に蓄積されている前記パブリック情報が改竄されていると判定する、
     請求項1又は2に記載の情報提供システム。
  4.  前記第2情報送信手段は、
     前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有しない場合、前記検索キーを用いて前記分散台帳で検索を実行し、
     前記検索キーに該当する前記第2の情報の前記パブリック情報を前記分散台帳から取得し、
     前記分散台帳から取得した前記パブリック情報を前記送信元に送信する、
     請求項1から3までの何れか1項に記載の情報提供システム。
  5.  情報蓄積サーバと情報提供サーバを含む情報提供システムであって、
     前記情報蓄積サーバは、
      パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得手段と、
      前記第1情報取得手段が取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信手段と、
      前記第1の情報の前記プライベート情報を蓄積する第1情報記憶手段と、
      を備え、
     前記情報提供サーバは、
      前記情報蓄積サーバから前記第1の情報を取得する第2情報取得手段と、
      前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換手段と、
      前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成手段と、
      前記第2の情報をブロックチェーンによる分散台帳に登録する登録手段と、
      前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信手段と、
      前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信手段と、
      を備え、
      前記第2情報送信手段は、
      前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
      前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
      前記第1情報取得手段に蓄積されている複数の前記プライベート情報を前記第1情報記憶手段から取得し、
      前記第1情報記憶手段から取得した複数の前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
      前記第1のハッシュ値と複数の前記第2のハッシュ値を比較し、
      前記検索キーに対応する前記パブリック情報と、前記第1のハッシュ値と一致している前記第2のハッシュ値に対応する前記プライベート情報と、を前記送信元に送信する、
     情報提供システム。
  6.  前記第2情報送信手段は、
     前記第1のハッシュ値と一致している前記第2のハッシュ値が複数ある場合、又は、ない場合、前記第1情報記憶手段に蓄積されている前記プライベート情報が改竄されていると判定する、
     請求項5に記載の情報提供システム。
  7.  前記第2情報送信手段は、
     前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有しない場合、前記検索キーを用いて前記分散台帳で検索を実行し、
     前記検索キーに該当する前記第2の情報の前記パブリック情報を前記分散台帳から取得し、
     前記分散台帳から取得した前記パブリック情報を前記送信元に送信する、
     請求項5又は6に記載の情報提供システム。
  8.  情報蓄積サーバと情報提供サーバを含む情報提供システムを用いた情報提供方法であって、
     前記情報蓄積サーバが、パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得段階と、
     前記情報蓄積サーバが、前記第1情報取得段階で取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信段階と、
     前記情報蓄積サーバが、前記第1の情報を蓄積する第1情報記憶段階と、
     前記情報提供サーバが、前記情報蓄積サーバから前記第1の情報を取得する第2情報取得段階と、
     前記情報提供サーバが、前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換段階と、
     前記情報提供サーバが、前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成段階と、
     前記情報提供サーバが、前記第2の情報をブロックチェーンによる分散台帳に登録する登録段階と、
     前記情報提供サーバが、前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信段階と、
     前記情報提供サーバが、前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信段階と、
     を含み、
     前記第2情報送信段階では、
      前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
      前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
      前記検索キーを用いて前記情報蓄積サーバで検索を実行し、
      前記検索キーに該当する前記第1の情報を前記情報蓄積サーバから取得し、
      前記情報蓄積サーバから検索により取得した前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
      前記第1のハッシュ値と前記第2のハッシュ値を比較し、
      前記第1のハッシュ値と前記第2のハッシュ値が一致している場合、前記検索キーに対応する前記パブリック情報と、前記情報蓄積サーバから検索により取得した前記プライベート情報と、を前記送信元に送信する、
     情報提供方法。
  9.  情報蓄積サーバと情報提供サーバを含む情報提供システムを用いた情報提供方法であって、
     前記情報蓄積サーバが、パブリック情報及びプライベート情報を含む第1の情報を取得する第1情報取得段階と、
     前記情報蓄積サーバが、前記第1情報取得段階で取得した前記第1の情報を前記情報提供サーバに送信する第1情報送信段階と、
     前記情報蓄積サーバが、前記第1の情報の前記プライベート情報を蓄積する第1情報記憶段階と、
     前記情報提供サーバが、前記情報蓄積サーバから前記第1の情報を取得する第2情報取得段階と、
     前記情報提供サーバが、前記第1の情報の前記プライベート情報を所定のハッシュ関数で第1のハッシュ値に変換する変換段階と、
     前記情報提供サーバが、前記第1の情報の前記パブリック情報と、前記第1のハッシュ値と、を含む第2の情報を生成する情報生成段階と、
     前記情報提供サーバが、前記第2の情報をブロックチェーンによる分散台帳に登録する登録段階と、
     前記情報提供サーバが、前記パブリック情報の少なくとも一部を含む情報提供要求を受信する要求受信段階と、
     前記情報提供サーバが、前記情報提供要求の送信元が前記プライベート情報へのアクセス権限を有する場合、前記送信元に、前記情報提供要求に応じて、前記パブリック情報及び前記プライベート情報を送信する第2情報送信段階と、
     を含み、
     前記第2情報送信段階では、
      前記情報提供要求に含まれる前記パブリック情報の少なくとも一部としての検索キーを用いて前記分散台帳で検索を実行し、
      前記検索キーに該当する前記第2の情報を前記分散台帳から取得し、
      前記情報蓄積サーバに蓄積されている複数の前記プライベート情報を前記情報蓄積サーバから取得し、
      前記情報蓄積サーバから取得した複数の前記プライベート情報を前記所定のハッシュ関数で第2のハッシュ値に変換し、
      前記第1のハッシュ値と複数の前記第2のハッシュ値を比較し、
      前記検索キーに対応する前記パブリック情報と、前記第1のハッシュ値と一致している前記第2のハッシュ値に対応する前記プライベート情報と、を前記送信元に送信する、
     情報提供方法。
  10.  請求項8に記載の情報提供方法をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
  11.  請求項9に記載の情報提供方法をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2020/047082 2020-12-17 2020-12-17 情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体 WO2022130551A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022569410A JPWO2022130551A5 (ja) 2020-12-17 情報提供システム、情報提供方法、及び、プログラム
US18/265,737 US20240048391A1 (en) 2020-12-17 2020-12-17 Information provision system, information provision method, and non-transitory computer-readable medium
PCT/JP2020/047082 WO2022130551A1 (ja) 2020-12-17 2020-12-17 情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/047082 WO2022130551A1 (ja) 2020-12-17 2020-12-17 情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体

Publications (1)

Publication Number Publication Date
WO2022130551A1 true WO2022130551A1 (ja) 2022-06-23

Family

ID=82059187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/047082 WO2022130551A1 (ja) 2020-12-17 2020-12-17 情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体

Country Status (2)

Country Link
US (1) US20240048391A1 (ja)
WO (1) WO2022130551A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074233A (ja) * 2005-09-06 2007-03-22 Ntt Docomo Inc Ptt通信システム、ptt通信端末、メッセージ処理サーバ及びメッセージ処理方法
JP2020010299A (ja) * 2018-07-12 2020-01-16 ソフトバンク株式会社 本人認証装置及び本人認証方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074233A (ja) * 2005-09-06 2007-03-22 Ntt Docomo Inc Ptt通信システム、ptt通信端末、メッセージ処理サーバ及びメッセージ処理方法
JP2020010299A (ja) * 2018-07-12 2020-01-16 ソフトバンク株式会社 本人認証装置及び本人認証方法

Also Published As

Publication number Publication date
JPWO2022130551A1 (ja) 2022-06-23
US20240048391A1 (en) 2024-02-08

Similar Documents

Publication Publication Date Title
KR102514325B1 (ko) 모델 훈련 시스템 및 방법과, 저장 매체
US11341490B2 (en) Carbon footprint blockchain network
JP2022000757A5 (ja)
CN112835977B (zh) 一种基于区块链的数据库管理方法及系统
US11641356B2 (en) Authorization apparatus, data server and communication system
US20120239937A1 (en) Information processing device, computer program product, and access control system
CN111597543A (zh) 基于区块链智能合约的广域进程访问权限认证方法及系统
US11646897B2 (en) Method and apparatus for utilizing off-platform-resolved data as an input to code execution on a decentralized platform
WO2022206439A1 (zh) 提供跨链消息的方法和装置
CN114925391A (zh) 隐私信息的流转监管方法、装置、电子设备和存储介质
WO2022130551A1 (ja) 情報提供システム、情報提供方法、及び、非一時的なコンピュータ可読媒体
CN113239255B (zh) 异构数据资源的共享方法、装置、计算机设备及介质
CN117057806B (zh) 基于区块链的数据处理方法、装置及相关设备
CN111131254B (zh) 文件处理方法、区块链节点、区块链和存储介质
US20230308302A1 (en) Data transfer system and data transfer method
KR102609300B1 (ko) 블록체인을 이용한 sbom 관리 시스템 및 방법
US20230325833A1 (en) Blockchain-based data processing method and apparatus, device, storage medium, and program product
CN116956258B (zh) 数据运营中数据计算的计算要素认证方法及装置
US11449372B1 (en) System for enforcing use of schemas and interfaces
CN115829186B (zh) 基于人工智能的erp管理方法及数据处理ai系统
US20240007311A1 (en) System and method for decentralized secure communications
CN106815516A (zh) 用户信息的访问授权方法及系统
CN115048444A (zh) 一种多源数据共享方法及系统
CN116468439A (zh) 数据管理方法、装置、设备、存储介质及计算机程序产品
CN115062349A (zh) 数据资产管理系统及方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20965939

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18265737

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022569410

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20965939

Country of ref document: EP

Kind code of ref document: A1