WO2020230831A1 - 情報取引方法、情報利用者端末、及び、プログラム - Google Patents

情報取引方法、情報利用者端末、及び、プログラム Download PDF

Info

Publication number
WO2020230831A1
WO2020230831A1 PCT/JP2020/019169 JP2020019169W WO2020230831A1 WO 2020230831 A1 WO2020230831 A1 WO 2020230831A1 JP 2020019169 W JP2020019169 W JP 2020019169W WO 2020230831 A1 WO2020230831 A1 WO 2020230831A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
transaction data
distributed ledger
transaction
authentication server
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2020/019169
Other languages
English (en)
French (fr)
Inventor
直央 西田
勇二 海上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to JP2021519469A priority Critical patent/JP7467435B2/ja
Priority to EP20806086.3A priority patent/EP3971810A4/en
Priority to CN202080034530.1A priority patent/CN113795832A/zh
Publication of WO2020230831A1 publication Critical patent/WO2020230831A1/ja
Priority to US17/521,018 priority patent/US12307445B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Definitions

  • This disclosure relates to an information trading method, an information user terminal, and a program, and particularly to an information trading method of information trading using a blockchain, and an information user terminal and a program used therein.
  • blockchain is a technology born from Bitcoin (see, for example, Non-Patent Document 1).
  • a unit of data called a block is generated and the transaction history is stored by being connected like a chain. Therefore, by using the blockchain, transaction history (transaction data) is shared on a peer-to-peer (P2P) network that anyone can participate in, and mutual monitoring ensures reliability. It is possible to prevent data tampering.
  • P2P peer-to-peer
  • an information provider registers information in the blockchain, and a user acquires the information registered via the blockchain via the blockchain.
  • a service for trading information can be considered.
  • This disclosure was made in view of the above circumstances, and an object of the present disclosure is to provide an information transaction method or the like in which information cannot be obtained without leaving a history on the blockchain.
  • the information transaction method includes an information provider terminal used by an information provider, an information user terminal used by an information user, the information provider terminal, and the above.
  • the encryption key generated by the information user terminal and the information user are uniquely identified, including an information providing phase in which the information requested by the information user is provided through the distributed ledger of the information user.
  • the information provider ID which is an identifier that uniquely identifies the information provider
  • the information provider terminal acquires the first transaction data, which is the first transaction data including the second information list indicating the inventory of the first information requested by the information user and is written in the distributed ledger.
  • the information provider terminal generates the first encrypted information in which the first information specified by the second information list is encrypted by using the encryption key, and the information provider terminal generates the first encrypted information.
  • a second transaction data including the information provider ID, the information user ID, and the first encrypted information is generated, and the information provider terminal uses the second transaction data for the one or more authentication server devices.
  • the second transaction data is written to the distributed ledger by updating the distributed ledger after the one or more authentication server devices verify the second transaction data.
  • the information transaction method of the present disclosure it is possible to prevent information from being acquired without leaving a history on the blockchain.
  • FIG. 1 is a diagram schematically showing an overall configuration of an information trading system according to an embodiment.
  • FIG. 2 is a diagram showing an example of the functional configuration of the information provider terminal according to the embodiment.
  • FIG. 3A is a diagram conceptually showing an example of a data structure of the third transaction data according to the embodiment.
  • FIG. 3B is a diagram conceptually showing an example of a data structure of the third transaction data according to the embodiment.
  • FIG. 4 is a diagram conceptually showing an example of a data structure of the second transaction data according to the embodiment.
  • FIG. 5 is a diagram showing an example of the functional configuration of the information user terminal according to the embodiment.
  • FIG. 6 is a diagram conceptually showing an example of a data structure of the first transaction data according to the embodiment.
  • FIG. 7 is a diagram showing an example of the functional configuration of the authentication server device according to the embodiment.
  • FIG. 8 is an explanatory diagram showing a data structure of the blockchain.
  • FIG. 9 is a diagram showing an example of the functional configuration of the information transaction audit device according to the embodiment.
  • FIG. 10 is a sequence diagram showing an example of the operation of the access right setting phase according to the embodiment.
  • FIG. 11 is a sequence diagram showing an example of the operation of the information request phase according to the embodiment.
  • FIG. 12 is a sequence diagram showing an example of the operation of the information providing phase according to the embodiment.
  • FIG. 13 is a sequence diagram showing an example of the operation of the information decoding phase according to the embodiment.
  • FIG. 14 is a diagram showing an example of the functional configuration of the information transaction audit device according to the first modification.
  • FIG. 10 is a sequence diagram showing an example of the operation of the access right setting phase according to the embodiment.
  • FIG. 11 is a sequence diagram showing an example of the operation of the information request phase according
  • FIG. 15 is a sequence diagram showing an example of the operation of the transaction audit phase according to the modified example 1.
  • FIG. 16 is a diagram showing an example of the functional configuration of the information provider terminal according to the second modification.
  • FIG. 17 is a diagram showing an example of the functional configuration of the information user terminal according to the second modification.
  • FIG. 18 is a sequence diagram showing an example of the operation of the access right setting phase according to the second modification.
  • FIG. 19 is a sequence diagram showing an example of the operation of the information decoding phase according to the second modification.
  • FIG. 20 is a sequence diagram showing an example of the operation of the consideration payment phase according to the modified example 3.
  • FIG. 21 is a sequence diagram showing an example of the operation of the smart contract setting phase according to the modified example 4.
  • FIG. 22 is a sequence diagram showing an example of the operation of the information decoding phase according to the modified example 4.
  • a service using a blockchain for example, a service that guarantees a transaction history by trading information held by an individual or an organization via the blockchain can be considered.
  • the information provider registers the information that he / she owns, such as his / her own Web browsing history or purchase history, in the blockchain.
  • the user who wants to use the information acquires the information via the blockchain and leaves the acquisition history in the blockchain.
  • a third party can audit using the transaction history left on the blockchain, so that the user and the information provider can actually get information.
  • the transaction history can be guaranteed because it is not possible to pretend that there was a transaction even though there was no transaction or there was no actual transaction.
  • the information provider registers the information in the blockchain
  • the information registered in the blockchain is public information
  • any user can acquire the information without leaving a history. That is, a malicious user acquires information via the blockchain, but can perform fraud without leaving the acquisition history on the blockchain.
  • the information transaction method includes an information provider terminal used by an information provider, an information user terminal used by an information user, the information provider terminal, and the information user terminal.
  • the information provision phase includes an information provision phase for providing the information requested by the information user, and in the information provision phase, the encryption key generated by the information user terminal and information which is an identifier uniquely identifying the information user.
  • the information user acquires the first transaction data, which is the first transaction data including the second information list indicating the requested list of the first information and is written in the distributed ledger, and provides the information.
  • the person terminal generates the first encrypted information obtained by encrypting the first information designated by the second information list by using the encryption key, and the information provider terminal generates the information provider ID.
  • the information user ID and the second transaction data including the first encrypted information are generated, and the information provider terminal transmits the second transaction data to the one or more authentication server devices, and the above.
  • one or more authentication server devices update the distributed ledger after verifying the second transaction data
  • the second transaction data is written to the distributed ledger.
  • the information user requests the first information from the information provider via the distributed ledger, and after the information providing phase.
  • the information user terminal includes an information decryption phase in which the information user decrypts the first encrypted information provided by the information provider via the distributed ledger.
  • Generates the first transaction data the information user terminal transmits the first transaction data to the one or more authentication server devices, and the one or more authentication server devices are the plurality of authentication servers.
  • the first transaction data is transmitted to the authentication server devices other than the one or more authentication server devices among the devices, and the plurality of authentication server devices update the distributed ledger after verifying the first transaction data.
  • the first transaction data is written in the distributed ledger, and in the information decoding phase, the information user terminal acquires the second transaction data written in the distributed ledger and uses the information.
  • the user terminal decrypts the first encrypted information included in the acquired second transaction data by using a decryption key different from the encryption key generated by the information user terminal together with the encryption key.
  • the first information may be acquired.
  • the information provider terminal acquires the first transaction data
  • the information user terminal acquires the first transaction data written in the distributed ledger based on the information provider ID
  • the information user terminal acquires the first transaction data.
  • the second transaction data written in the distributed ledger may be acquired based on the information user ID.
  • the authentication server device has a transaction data transmission function, and in the information providing phase, when the information provider terminal acquires the first transaction data, the authentication server device is assigned to the information provider ID. Based on this, by transmitting the first transaction data written in the distributed ledger to the information user terminal, the information provider terminal acquires the first transaction data, and in the information decoding phase, the said When the information user terminal acquires the second transaction data, the authentication server device uses the information user terminal to obtain the second transaction data written in the distributed ledger based on the information user ID. The information user terminal may acquire the second transaction data by transmitting to.
  • the first information list shows a list of one or more information that can be provided via the distributed ledger among the information held by the information provider, and the information transaction method further comprises the information request.
  • the information provider Prior to the phase, the information provider includes an access right setting phase in which the information provider sets an access right for each of the one or more pieces of information in the list.
  • the information provider terminal is the first.
  • a third transaction data including an information list, access right information indicating the access right set for each of the one or more pieces of information in the list, a date and time, and a signature of the information provider is generated, and the information is described.
  • the provider terminal transmits the third transaction data to the one or more authentication server devices, and the one or more authentication server devices update the distributed ledger after verifying the third transaction data.
  • the first information list may be made public in the distributed ledger.
  • the information user terminal before the information user terminal generates the first transaction data, it is confirmed whether the information user has the access right set in the first information, and the information user is described.
  • the information user terminal may generate the first transaction data.
  • the one or more authentication server devices acquire the first transaction data, it is confirmed whether the information user has the access right set in the first information.
  • the one or more authentication server devices discard the acquired first transaction data and verify the first transaction data. It may not be.
  • the information provider terminal generates the third transaction data including the hash value calculated for each of the one or more pieces of information in the list, and generates the one or more.
  • the authentication server device updates the distributed ledger after verifying the third transaction data, and the third transaction data is written to the distributed ledger, whereby the first information list and the said first information list are described in the distributed ledger.
  • the hash value is disclosed, and in the information decryption phase, after the information user terminal obtains the first information by decrypting the first encrypted information, the first hash value of the first information is obtained. May be calculated and the information user terminal may compare the second hash value corresponding to the first information among the hash values published in the distributed ledger with the first hash value.
  • the information user terminal again performs the first transaction.
  • the data is generated, the information user terminal transmits the generated first transaction data to the one or more authentication server devices, and the one or more authentication server devices are among the plurality of authentication server devices.
  • the first transaction data may be written in the distributed ledger.
  • the information user may pay a consideration to the information provider.
  • the consideration for the predetermined number of times may be paid to the information provider.
  • the information user may pay the information provider for the amount of the first information acquired within the predetermined period for each predetermined period.
  • the information user may pay the consideration to the information provider by using the smart contract written in the distributed ledger.
  • the system further includes an information transaction audit device for auditing information transactions, and the information transaction method further audits transactions in which the information transaction audit device audits abnormalities of transactions written in the distributed ledger.
  • the information transaction audit device confirms the distributed ledger to confirm whether there is an abnormality in all transactions written in the distributed ledger, and all written in the distributed ledger.
  • the information transaction audit device confirms the distributed ledger to confirm whether there is an abnormality in all transactions written in the distributed ledger, and all written in the distributed ledger.
  • at least one of the information provider and the information user who are the parties to the first transaction in which the abnormality has occurred may be notified that the first transaction has an abnormality.
  • the system further includes an information transaction audit device for auditing information transactions
  • the information transaction method further includes a transaction audit in which the information transaction audit device audits abnormalities of transactions written in the distributed ledger.
  • the information transaction auditing device confirms the distributed ledger to confirm whether there is an abnormality in all transactions written in the distributed ledger, and the information transaction auditing device checks the distributed ledger.
  • the fourth transaction data including the information regarding the first transaction in which there is an abnormality is generated, and the information transaction auditing device authenticates the fourth transaction data with the above one or more.
  • the fourth transaction data is written to the distributed ledger by transmitting to the server device and updating the distributed ledger after the one or more authentication server devices verify the fourth transaction data, and the first Even if at least one of the information provider and the information user who is a party to the transaction acquires the fourth transaction data written in the distributed ledger and confirms that the first transaction is abnormal. Good.
  • the information transaction audit device generates fifth transaction data including information on the second transaction in which there is no abnormality among all transactions written in the distributed ledger, and the information transaction audit.
  • the device transmits the fifth transaction data to the one or more authentication server devices, and the one or more authentication server devices update the distributed ledger after verifying the fifth transaction data.
  • the fifth transaction data is written in the distributed ledger, and at least one of the information provider and the information user who are the parties to the second transaction acquires the fifth transaction data written in the distributed ledger. You may confirm that there was no abnormality in the second transaction.
  • the information transaction method includes one or more information provider terminals used by one or more information providers, an information user terminal used by an information user, the information provider terminal, and the above-mentioned information provider terminal.
  • the information user terminal includes a plurality of authentication server devices capable of communicating via a network
  • one or more information held by the information provider is one or more information user terminals, respectively.
  • the encryption information encrypted by the encryption key generated by the above and the encryption information ID for uniquely identifying each of the encryption information are written in the distributed ledger of the plurality of authentication server devices.
  • the first information user ID which is an identifier that uniquely identifies an information user
  • the information provider ID which is an identifier that uniquely identifies the information provider
  • the information provider publishes in the distributed ledger.
  • the first transaction data including the second information list indicating the list of the first information requested by the first information user, and the first transaction data written in the distributed ledger.
  • the information provider terminal acquires the transaction data, and the information provider terminal obtains the first information.
  • User's Information A first that includes an encrypted information ID that identifies the first encrypted information encrypted with the encryption key generated by the user terminal, the information provider ID, and the first information user ID.
  • 2 Transaction data is generated, the information provider terminal transmits the second transaction data to the one or more authentication server devices, and the one or more authentication server devices verify the second transaction data. After that, by updating the distributed ledger, the second transaction data is written in the distributed ledger.
  • the information user terminal includes an information provider terminal used by an information provider, an information user terminal used by an information user, the information provider terminal, and the information user terminal.
  • the information provider ID which is an identifier uniquely identifying the information provider, and the information shown in the first information list published by the information provider in the distributed ledger of the authentication server device.
  • a communication unit that acquires the first transaction data, which is the first transaction data including the second information list indicating the list of the first information requested by the information user and is written in the distributed ledger, and the first.
  • the information encryption unit that generates the first encrypted information in which the first information specified by the information list is encrypted by using the encryption key, the information provider ID, the information user ID, and the above.
  • a transaction data generation unit that generates a second transaction data including a first encryption information is provided, and the communication unit uses the second transaction data as one or more authentication server devices among the plurality of authentication server devices. By transmitting to, the one or more authentication server devices are made to write the second transaction data in the distributed ledger.
  • the information provider acquires the list of information requested by the information user and the encryption key provided by the information user via the distributed ledger. Then, the information provider provides the information user with the encrypted information obtained by encrypting the information requested by the information user by using the acquired encryption key via the distributed ledger. As a result, it is possible to prevent the information user from acquiring the information provided by the information provider without leaving a history on the blockchain.
  • FIG. 1 is a diagram schematically showing an overall configuration of an information trading system according to the present embodiment.
  • the information transaction system includes an information provider terminal 100, an information user terminal 200, three authentication server devices 300, 310, 320, and an information transaction audit device 400. And. These are communicably connected. These communications may be any of wired Internet lines, wireless communications, dedicated communications, and the like. Moreover, these communications do not have to be real-time communications.
  • the information user terminal 200 may collect transaction data to some extent and then transmit it to a plurality of authentication server devices 300, 310, and 320 at one time.
  • FIG. 1 shows an example in which the information trading system according to the present embodiment includes one information provider terminal 100, one information user terminal 200, and three authentication server devices 300.
  • the information trading system according to the present embodiment may include two or more information provider terminals 100, or may include two or more information user terminals 200.
  • the information trading system according to the present embodiment may be provided with one or more authentication server devices 300, and may be provided with four or more authentication server devices 300.
  • the information provider terminal 100 is a terminal used by an information provider and for providing information held by the information provider via a blockchain.
  • the information provider may be, for example, an individual or an organization such as a company.
  • the information provider terminal 100 may be, for example, a personal computer or a mobile terminal such as a smartphone or tablet.
  • the information provider terminal 100 provides the information user with the encrypted information obtained by encrypting the information requested by the information user using the encryption key provided by the information user via the distributed ledger. provide.
  • FIG. 2 is a diagram showing an example of the functional configuration of the information provider terminal 100 according to the present embodiment.
  • the information provider terminal 100 includes a processor, a memory in which a program for causing the processor to execute a predetermined process is stored, a communication interface, and the like. That is, the information provider terminal 100 is realized by the processor executing a predetermined program using the memory.
  • the information provider terminal 100 includes a possession information storage unit 101, a public information selection unit 102, an access right setting unit 103, a transaction data request unit 104, and information encryption. It includes a conversion unit 105, a transaction data generation unit 106, and a communication unit 107.
  • a communication unit 107 the communication unit 107.
  • the possession information storage unit 101 stores the information possessed by the information provider.
  • the information held by the information provider is, for example, if the information provider is an individual, the information provider's name, date of birth, address, hobbies, purchase history, web browsing history, information obtained from biosensors, etc. is there.
  • the public information selection unit 102 selects one or more pieces of information held by the information provider that can be provided via the distributed ledger.
  • the public information selection unit 102 is configured to include an interface for receiving input from an information provider.
  • the public information selection unit 102 may display a list (also referred to as a list) of a plurality of information stored in, for example, the possession information storage unit 101 by an interface, and publish the displayed list via a blockchain. Select the above information.
  • the public information selection unit 102 creates a publicly available first information list showing a list of one or more selected information. In the first information list, the names of one or more pieces of information and their IDs are shown.
  • the access right setting unit 103 sets access rights for each of one or more pieces of information in the first information list (list of one or more pieces of information) that may be disclosed via the blockchain.
  • the access right setting unit 103 indicates what kind of information user can access each of the one or more pieces of information indicated by the first information list selected by the public information selection unit 102. Set rights.
  • this access right may be set for each information user, or may be set for each attribute of the information user.
  • the attributes of the information user are, for example, the place of work, nationality, gender, age, etc. of the information user.
  • the access right may be set for each one or more pieces of information indicated by the first information list, or each of the one or more pieces of information may be classified in advance and set for each of the classifications. Further, the access right may be collectively set for all of one or more information indicated by the first information list.
  • the access right setting unit 103 sets the first information list selected by the public information selection unit 102 and the access right information indicating the access right set for each of the one or more pieces of information indicated by the first information list. , Is transmitted to the transaction data generation unit 106.
  • the transaction data request unit 104 requests at least one of the authentication server devices 300, 310, and 320 for transaction data registered in the blockchain, that is, written in the distributed ledger, via the communication unit 107.
  • the transaction data requested by the transaction data requesting unit 104 may be all transaction data recorded in the distributed ledger, or may request only transaction data newly recorded from the time of the previous request. Further, the transaction data requested by the transaction data requesting unit 104 may request only transaction data related to itself, such as transaction data indicating a request for information shown in the published first information list.
  • the transaction data request unit 104 acquires transaction data (hereinafter, referred to as first transaction data) requesting information related to itself via the communication unit 107
  • the transaction data request unit 104 uses the acquired first transaction data as an information encryption unit.
  • the acquired first transaction data includes the encryption key generated by the information user terminal 200, the information user ID, the information provider ID, and the first information published in the distributed ledger.
  • the second information list showing the list of the first information requested by the information user is included.
  • the information user ID is an identifier that uniquely identifies the information user
  • the information provider ID is an identifier that uniquely identifies the information provider.
  • the transaction data request unit 104 may acquire the first transaction data based on the information provider ID. More specifically, the transaction data request unit 104 acquires the first transaction data by specifying the first transaction data including the information provider ID from the plurality of transaction data written in the distributed ledger. Can be done.
  • the transaction data requesting unit 104 may request the first transaction data including the information provider ID from at least one of the authentication server devices 300, 310 and 320 via the communication unit 107. As a result, if there is the first transaction data written in the distributed ledger, at least one of the authentication server devices 300, 310 and 320 can be made to transmit the first transaction data to the transaction data request unit 104. Therefore, the transaction data request unit 104 can acquire the first transaction data.
  • the information encryption unit 105 generates the first encrypted information in which the first information specified by the second information list included in the first transaction data is encrypted by using the encryption key included in the first transaction data. To do.
  • the information encryption unit 105 refers to the second information list included in the first transaction data transmitted from the transaction data request unit 104, and holds the first information requested by the information user. Obtained from the storage unit 101.
  • the information encryption unit 105 uses the encryption key included in the first transaction data transmitted from the transaction data request unit 104 to generate the first encrypted information in which the acquired first information is encrypted.
  • the information encryption unit 105 transmits the generated first encryption information to the transaction data generation unit 106.
  • the transaction data generation unit 106 generates transaction data (hereinafter, referred to as a third transaction data) including the first information list and the access right information sent from the access right setting unit 103. More specifically, the transaction data generation unit 106 includes the first information list, the access right information indicating the access right set for each of the one or more pieces of information in the list indicated by the first information list, the date and time, and the date and time. Generate third transaction data including the signature of the information provider.
  • FIG. 3A and 3B are diagrams conceptually showing an example of the data structure of the third transaction data according to the present embodiment.
  • FIG. 3A shows an example in which the third transaction data includes an information provider ID, a first information list, access right information, and an information provider's signature.
  • the information provider indicated by the information provider ID of P001 provides information such as the age, gender, and purchase history of P001 indicated as the first information list via the blockchain (distributed ledger).
  • An example of the data structure of the third transaction data to be provided is shown.
  • FIG. 3A shows an example in which access rights for age, gender, and purchase history are set for each information user as access right information.
  • an access right indicating that only the information user indicated by the information user IDs of U001, U002, and U003 can access is set for the age.
  • the right is set.
  • FIG. 3B shows an example in which the access right shown in the access right information is set by the attribute of the information user, and other parts are the same as those in FIG. 3A.
  • the transaction data generation unit 106 generates transaction data (hereinafter, referred to as a second transaction data) including the first encryption information sent from the information encryption unit 105. More specifically, the transaction data generation unit 106 generates the second transaction data including the information provider ID, the information user ID, and the first encrypted information.
  • FIG. 4 is a diagram conceptually showing an example of the data structure of the second transaction data according to the present embodiment.
  • FIG. 4 shows an example in which the second transaction data includes an information user ID, an information provider ID, provided information, and a signature of the information provider.
  • the information provider indicated by the information provider ID of P001 gives the information user indicated by the information user ID of U001 the first encryption via the blockchain (distributed ledger).
  • An example of the data structure of the second transaction data for providing the information in the encryption information is shown. More specifically, FIG. 4 shows an example in which the information indicating the age and the information indicating the purchase history are encrypted as the provided information included in the second transaction data.
  • the transaction data generation unit 106 when the transaction data generation unit 106 generates the first transaction data or the second transaction data, the transaction data generation unit 106 transmits the first transaction data or the second transaction data to at least one of the authentication server devices 300, 310, and 320 via the communication unit 107.
  • the communication unit 107 transmits the second transaction data or the third transaction data generated by the transaction data generation unit 106 to one or more authentication servers.
  • the communication unit 107 transmits the transaction data generated by the transaction data generation unit 106 to one or more of the authentication server devices 300, 310, and 320. Further, the communication unit 107 requests transaction data from at least one of the authentication server devices 300, 310, and 320 in accordance with the request of the transaction data request unit 104, and transmits the acquired transaction data to the transaction data request unit 104. Send.
  • the information user terminal 200 is a terminal used by an information user and for acquiring information that the information user wants to use from the information shown in the first information list published by the information provider via the blockchain. is there.
  • the information user may be, for example, an individual or an organization such as a company.
  • the information user terminal 200 may be, for example, a personal computer or a mobile terminal such as a smartphone or tablet.
  • the information user terminal 200 selects information that the information user wants to use from the information shown in the first information list published by the information provider via the blockchain, and informs the information provider via the blockchain. It requests the selected information and provides the generated encryption key. In addition, the information user terminal 200 decrypts the encrypted requested information provided by the information provider via the blockchain, and acquires the requested information.
  • FIG. 5 is a diagram showing an example of the functional configuration of the information user terminal 200 according to the present embodiment.
  • the information user terminal 200 includes a processor, a memory in which a program for causing the processor to execute a predetermined process is stored, a communication interface, and the like. That is, the information user terminal 200 is realized by the processor executing a predetermined program using the memory.
  • the information user terminal 200 includes an encryption key generation unit 201, an encryption key storage unit 202, a request information selection unit 203, a transaction data generation unit 204, and transaction data.
  • a request unit 205, an encrypted information decryption unit 206, and a communication unit 207 are provided.
  • each component will be described.
  • the encryption key generation unit 201 generates an encryption key to be used when passing information requested by an information user, and transmits the encryption key to the encryption key storage unit 202.
  • the encryption key generated by the encryption key generation unit 201 is, for example, a public key and a private key, but is not limited to this.
  • the encryption key generated by the encryption key generation unit 201 may be a different encryption key between the encryption key for encryption and the encryption key for decryption (hereinafter referred to as the encryption key and the decryption key).
  • the public key and the private key may be generated by using, for example, the RSA encryption described in Non-Patent Document 2, or may be generated by using the elaborate ElGamal encryption described in Non-Patent Document 3.
  • the public key may be generated only once when the information user terminal 200 is activated, and only one generated public key may be used thereafter. Further, the public key may be newly generated every time the transaction data generation unit 204 generates transaction data.
  • the cryptographic key storage unit 202 stores the cryptographic key and the decryption key generated by the cryptographic key generation unit 201, such as a public key and a private key.
  • the encryption key storage unit 202 When the transaction data generation unit 204 generates transaction data (that is, first transaction data) for which information is requested from the information provider, the encryption key storage unit 202 sends an encryption key such as a public key to the transaction data generation unit 204. Send. Further, when the encryption information decryption unit 206 decrypts the first encryption information, the encryption key storage unit 202 transmits a decryption key such as a private key to the encryption information decryption unit 206.
  • the request information selection unit 203 selects the list of the first information, that is, the second information list, which the information user requests to use from the information shown in the first information list published in the distributed ledger by the information provider. ..
  • the request information selection unit 203 may be configured to include an interface for receiving an input from an information user.
  • the request information selection unit 203 displays, for example, a list of information published in the distributed ledger by the information provider, that is, the first information list by the interface, and the information user wants to use from the information shown in the first information list. Select the above list of information, that is, the second list of information.
  • the request information selection unit 203 acquires the first information list published in the distributed ledger by the information provider from the blockchain, that is, the distributed ledger. More specifically, the request information selection unit 203 transmits the transaction data including the first information list written in the distributed ledger to at least one of the authentication server devices 300, 310, and 320 via the communication unit 207. By requesting, the first information list can be obtained.
  • the request information selection unit 203 transmits the selected second information list to the transaction data generation unit 204.
  • the transaction data generation unit 204 includes transaction data (that is, first transaction data) including the second information list sent from the request information selection unit 203 and the encryption key (for example, public key) sent from the encryption key storage unit 202. ) Is generated. More specifically, the transaction data generation unit 204 includes an encryption key such as a public key, an information user ID, an information provider ID, and information among the information shown in the first information list published in the distributed ledger. The first transaction data including the second information list indicating the list of the first information requested by the user is generated.
  • the second information list is a list of one or more pieces of information including the names of one or more pieces of information that the information user wants to use and their IDs.
  • FIG. 6 is a diagram conceptually showing an example of the data structure of the first transaction data according to the present embodiment.
  • FIG. 6 shows an example in which the first transaction data includes an information user ID, an information provider ID, request information, an encryption key, and a signature of the information user. That is, in FIG. 6, the information user represented by the information user ID of U001 requests the information provider represented by the information provider ID of P001 to request the information to be used via the distributed ledger.
  • An example of the data structure of the first transaction data including the encryption key together with the information is shown. More specifically, FIG. 6 shows an example in which the request information included in the first transaction data is information indicating an age and information indicating a purchase history.
  • the transaction data generation unit 204 when the transaction data generation unit 204 generates the first transaction data, it transmits it to at least one of the authentication server devices 300, 310, and 320 via the communication unit 207.
  • the transaction data request unit 205 acquires the second transaction data written in the distributed ledger from at least one of the authentication server devices 300, 310, and 320 via the communication unit 207.
  • the transaction data request unit 205 includes the information user ID for at least one of the authentication server devices 300, 310, and 320 via the communication unit 207, and the first encryption generated by the information provider. Second transaction data containing information may be requested. As a result, if there is a second transaction data written in the distributed ledger, at least one of the authentication server devices 300, 310, and 320 can be made to transmit the second transaction data to the transaction data request unit 205. Therefore, the transaction data request unit 205 can acquire the second transaction data.
  • the transaction data request unit 205 may acquire the second transaction data based on the information provider ID. More specifically, the transaction data request unit 205 includes the information user ID and the second transaction data including the first encrypted information generated by the information provider from the plurality of transaction data written in the distributed ledger. The second transaction data may be acquired by specifying.
  • the transaction data request unit 205 acquires the second transaction data written in the distributed ledger, the transaction data request unit 205 transmits the first encryption information included in the second transaction data to the encryption information decryption unit 206.
  • the encryption information decryption unit 206 decrypts the encryption information included in the second transaction data by using a decryption key different from the encryption key generated by the encryption key generation unit 201 together with the encryption key to obtain the first information. To get.
  • the decryption key may be a private key as described above, and is stored in the encryption key storage unit 202. That is, the encryption information decryption unit 206 may decrypt the encryption information included in the second transaction data by using the private key stored in the encryption key storage unit 202.
  • the communication unit 207 transmits the first transaction data generated by the transaction data generation unit 204 to one or more authentication servers. In the present embodiment, the communication unit 207 transmits the first transaction data generated by the transaction data generation unit 204 to one or more of the authentication server devices 300, 310, 320 and the information provider terminal 100.
  • the communication unit 207 requests the second transaction data or the latest distributed ledger from at least one of the authentication server devices 300, 310, and 320 in accordance with the request of the transaction data request unit 205.
  • the communication unit 207 transmits the second transaction data or the latest distributed ledger acquired from at least one of them to the transaction data request unit 205.
  • the authentication server devices 300, 310, and 320 are, for example, cloud servers, and can communicate with the information provider terminal 100 and the information user terminal 200 via a network.
  • the information trading system according to the present disclosure may be provided with one or more authentication server devices. Since the authentication server devices 300, 310, and 320 have the same configuration, the authentication server device 300 will be described below as an example.
  • the authentication server device 300 verifies the transaction data acquired from the information provider terminal 100 and the information user terminal 200, updates the distributed ledger, and registers the transaction data in the blockchain. In addition, the authentication server device 300 transmits the latest ledger or the requested transaction data to the information provider terminal 100 and the information user terminal 200 in response to the request.
  • FIG. 7 is a diagram showing an example of the functional configuration of the authentication server device 300 according to the present embodiment.
  • the authentication server device 300 can be realized by the processor executing a predetermined program using the memory.
  • the authentication server device 300 includes a transaction data storage unit 301, a transaction data verification unit 302, a ledger update unit 303, and a communication unit 304.
  • a transaction data storage unit 301 a transaction data verification unit 302
  • a ledger update unit 303 a ledger update unit 303
  • a communication unit 304 a communication unit 304.
  • the transaction data storage unit 301 functions as a transaction pool that stores transaction data that has not yet been verified on the blockchain.
  • the transaction data storage unit 301 stores the second transaction data or the third transaction data acquired from the information provider terminal 100 and temporarily holds the second transaction data. Further, the transaction data storage unit 301 stores the first transaction data acquired from the information user terminal 200.
  • the transaction data verification unit 302 verifies the validity of the transaction data acquired from the information provider terminal 100 or the information user terminal 200. For example, the transaction data verification unit 302 verifies whether the acquired transaction data is given an electronic signature generated by a correct method, and whether necessary information is written in the acquired transaction data.
  • the necessary information correctly describes, for example, what kind of access right is set for which information when the third transaction data including the access right information is acquired from the information provider terminal 100. It is information indicating that.
  • the transaction data verification unit 302 When the transaction data verification unit 302 succeeds in verifying the validity of the transaction data, the transaction data verification unit 302 transmits the result to the other authentication server devices 310 and 320. Note that this verification may be skipped.
  • transaction data verification unit 302 executes a consensus algorithm for agreeing on the validity of transaction data together with other authentication server devices.
  • the transaction data verification unit 302 executes the consensus algorithm together with the plurality of authentication server devices.
  • PBFT Practical Byzantine Fault Tolerance
  • Known consensus algorithms include, for example, PoW (Proof of Work) or PoS (Proof of Stake).
  • PoW Proof of Work
  • PoS Proof of Stake
  • the transaction data verification unit 302 receives reports from each of the other plurality of authentication server devices 310 and 320 indicating whether or not the transaction data verification is successful, and the number of such reports is large. Determine if the number exceeds a predetermined number. Then, when the number of the reports exceeds a predetermined number, the transaction data verification unit 302 may determine that the validity of the transaction data has been verified by the consensus algorithm.
  • the ledger update unit 303 writes the transaction data to the distributed ledger by updating the distributed ledger after the transaction data verification unit 302 verifies the transaction data.
  • the ledger update unit 303 is a processing unit that stores the transaction data verified by the transaction data verification unit 302 in the distributed ledger.
  • the ledger update unit 303 generates a block containing transaction data verified by the transaction data verification unit 302, updates the distributed ledger, and stores (writes) the generated block in the distributed ledger.
  • the ledger update unit 303 generates a block containing transaction data whose validity has been verified by the transaction data verification unit 302, and the generated block is connected to the block chain stored in the distributed ledger and registered.
  • the ledger update unit 303 transmits the latest ledger to the information provider terminal 100 or the information user terminal 200, or transmits the requested transaction data, in response to a request from the information provider or the information user. To do.
  • FIG. 8 is an explanatory diagram showing the data structure of the blockchain.
  • a blockchain is a block that is a recording unit connected in a chain.
  • Each block has a plurality of transaction data and a hash value of the immediately preceding block.
  • the block B2 contains the hash value of the previous block B1.
  • the hash value calculated from the plurality of transaction data included in the block B2 and the hash value of the block B1 is included in the block B3 as the hash value of the block B2.
  • the communication unit 304 communicates with other authentication server devices 310 and 320, and communicates with the information provider terminal 100 or the information user terminal 200.
  • the communication unit 304 when transaction data is acquired from, for example, the information provider terminal 100 or the information user terminal 200, the communication unit 304 transmits the acquired transaction data to the transaction data storage unit 301. Further, for example, when the information provider or the information user requests the latest ledger or transaction data, the communication unit 304 receives the latest ledger or the requested transaction data from the ledger update unit 303, and the information provider terminal 100 receives the latest ledger or the requested transaction data. Alternatively, it is transmitted to the information user terminal 200.
  • the communication unit 304 uses the information provider terminal 100 to specify the first transaction data written in the distributed ledger, which is specified based on the information provider ID. May be sent to. Further, when the information user terminal 200 requests the second transaction data, the communication unit 304 uses the information user terminal 200 for the second transaction data written in the distributed ledger, which is specified based on the information user ID. May be sent to.
  • the information transaction audit device 400 is a device independent of the information provider terminal 100 and the information user terminal 200.
  • the information transaction audit device 400 may have a function of an authentication server.
  • the information transaction audit device 400 audits the abnormality of the transaction written in the distributed ledger. More specifically, the information transaction audit device 400 monitors whether the information transaction is performed correctly by monitoring the distributed ledger shared by the authentication server device 300 and the like.
  • FIG. 9 is a diagram showing an example of the functional configuration of the information transaction audit device 400 according to the present embodiment.
  • the information transaction audit device 400 can be realized by the processor executing a predetermined program using the memory.
  • the information transaction auditing apparatus 400 includes a ledger storage unit 401, a transaction verification unit 402, and a communication unit 403 as shown in FIG.
  • each component will be described.
  • the ledger storage unit 401 acquires the latest distributed ledger (also referred to as the latest ledger) from at least one of the authentication server devices 300, 310, and 320 and stores it in the storage device.
  • the function of the ledger storage unit 401 may use the function of the ledger update unit 303 in the authentication server device 300.
  • the transaction verification unit 402 confirms the distributed ledger from the latest to the past stored in the ledger storage unit 401, and confirms whether or not an abnormal transaction has occurred.
  • the transaction verification unit 402 confirms the distributed ledger, and if, for example, the information provider does not respond for a certain period of time or more even though there is a request from the information user, the information transaction is an abnormal transaction. It may be regarded as. In this way, the transaction verification unit 402 may consider a transaction that has not been completed for a certain period of time as an abnormal transaction.
  • the transaction verification unit 402 confirms the distributed ledger, and for example, when the transaction data of the information request from the information user is not written, but the transaction data of the information provision from the information provider is written. May be regarded as an abnormal transaction.
  • the verification method or verification content regarding whether or not an abnormal transaction has occurred based on the distributed ledger is not limited to the above cases.
  • the transaction verification unit 402 transmits the transaction content of the abnormal transaction to the communication unit 403 and notifies the information provider or the information user related to the transaction. Good. More specifically, the transaction verification unit 402 has an abnormality in the first transaction to at least one of the information provider and the information user who are the parties to the first transaction in which the abnormality has occurred among all the transactions written in the distributed ledger. You may give a notice that there was.
  • the transaction verification unit 402 may notify the information provider or information user related to the transaction that there is no abnormality in the transaction even if there is no abnormal transaction. Further, the transaction verification unit 402 generates transaction data including information on the abnormal transaction, and when it confirms that the abnormal transaction has occurred, the transaction verification unit 402 may transmit the transaction data to the authentication server devices 300, 310, 320. Good.
  • the communication unit 403 communicates with the authentication server devices 310 and 320, and communicates with the information provider terminal 100 or the information user terminal 200.
  • the communication unit 403 acquires the distributed ledger from the authentication server devices 300, 310, 320 and stores it in the ledger storage unit 401. Further, the communication unit 403 may receive the verification result from the transaction verification unit 402 and transmit the result to the information provider terminal 100 or the information user terminal 200.
  • the operation of the information transaction system includes five phases of an access right setting phase, an information request phase, an information provision phase, an information decoding phase, and a transaction audit phase.
  • the operation of the information trading system in the access right setting phase, the information request phase, the information provision phase, and the information decoding phase will be described below.
  • FIG. 10 is a sequence diagram showing an example of the operation of the access right setting phase according to the present embodiment.
  • the information provider terminal 100 selects one or more pieces of information held by the information provider, and sets an access right for each of the selected one or more pieces of information (S101). More specifically, the information provider uses the information provider terminal 100 to select one or more pieces of information held by the information provider that may be traded via the blockchain. The information provider uses the information provider terminal 100 to set access rights for each of the selected information.
  • the information provider terminal 100 generates a third transaction data including a list of one or more pieces of information selected in step S101 (that is, a first list of information) and access right information (S102). More specifically, the information provider uses the information provider terminal 100 to set a first information list in which the names of one or more selected information and their IDs are shown, and each of the one or more information.
  • the third transaction data including the access right information indicating the granted access right is generated.
  • the information provider terminal 100 transmits the third transaction data generated in step S102 to the authentication server devices 300, 310, and 320 (S103).
  • each of the authentication server devices 300, 310, and 320 stores the acquired third transaction data (S104).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the third transaction data (S105).
  • the authentication server devices 300, 310, and 320 verify the validity of the third transaction data, they each generate a block containing the third transaction data.
  • the authentication server devices 300, 310, and 320 follow, for example, the method disclosed in Non-Patent Document 1.
  • the authentication server that first generated the block among the authentication server devices 300, 310, and 320 transmits the generated block to another authentication server, and the other authentication server correctly generates the transmitted and acquired block. Check if it is done.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S105 to the distributed ledger (S106).
  • the information provider provides the information requested by the information user via the distributed ledger (that is, the blockchain) of one or more authentication server devices among the plurality of authentication server devices.
  • the information request phase is performed before the information provision phase.
  • FIG. 11 is a sequence diagram showing an example of the operation of the information request phase according to the present embodiment.
  • the information user terminal 200 confirms, for example, the latest distributed ledger of the authentication server device 300 (S201).
  • the information user terminal 200 requests the latest ledger (that is, the latest distributed ledger) from the authentication server device 300, for example, and acquires the latest ledger transmitted by the authentication server device 300 to obtain the latest ledger.
  • the latest ledger that is, the latest distributed ledger
  • the information user terminal 200 refers (confirms) the latest block of the distributed ledger acquired, and confirms whether there is information requested for the information user to use (S202). Specifically, the information user terminal 200 shows a list of first information requested by an information user to use among the information shown in the first information list published in the latest distributed ledger acquired. 2 Check if there is an information list.
  • step S202 If there is requested information in step S202 (YES in S202), the information user terminal 200 generates an encryption key and a decryption key to be used for the transaction of the requested information (S203). If the requested information is not available in step S202 (NO in S202), the process returns to step S201 and the process is repeated.
  • the information user terminal 200 generates the first transaction data including the information user ID, the information provider ID, the second information list, and the encryption key (S204).
  • the information user terminal 200 transmits the first transaction data generated in step S204 to the authentication server devices 300, 310, and 320 (S205).
  • each of the authentication server devices 300, 310, and 320 stores the acquired first transaction data (S206).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the first transaction data (S207).
  • the authentication server devices 300, 310, and 320 verify the validity of the first transaction data, they each generate a block containing the first transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S207 to the distributed ledger (S208).
  • FIG. 12 is a sequence diagram showing an example of the operation of the information providing phase according to the present embodiment.
  • the information provider terminal 100 confirms, for example, the latest distributed ledger of the authentication server device 320 (S301).
  • the information provider terminal 100 requests the latest ledger (that is, the latest distributed ledger) from the authentication server device 320, for example, and acquires the latest ledger transmitted by the authentication server device 320.
  • the timing at which the information provider terminal 100 confirms the latest distributed ledger may be regular or irregular.
  • the information provider terminal 100 confirms the latest distributed ledger transmitted from the authentication server device 320 at the timing.
  • the information provider terminal 100 uses the information provider ID to confirm whether there is a request for the information shown in the first publicly available information list (S302). More specifically, the information provider terminal 100 includes the information provider ID in the transaction data written in the latest distributed ledger, and requests the information shown in the first publicly available information list. Check if there is transaction data.
  • step S302 when there is a request for the information shown in the published first information list (YES in S302), the information provider terminal 100 includes the second information list written in the latest distributed ledger. 1 Acquire transaction data (S303). If there is no request for the information shown in the published first information list in step S302 (NO in S302), the process returns to step S301 and the process is repeated.
  • the information provider terminal 100 confirms whether or not it has an access right to the information (that is, the first information) shown in the requested first information list (S304). More specifically, does the information provider terminal 100 have an access right to the first information requested by the information user shown in the second information list included in the first transaction data acquired in step S303? Confirm.
  • step S304 when the requested information shown in the first information list is not accessed (not in S304), the information provider terminal 100 discards the acquired first transaction data. The process returns to step S301 and the process is repeated.
  • step S304 when the information shown in the requested first information list has access right (S304), the information provider terminal 100 encrypts the requested first information.
  • Information that is, first encrypted information
  • the information provider terminal 100 encrypts the requested first information by using the encryption key generated by the information user terminal 200 included in the first transaction data acquired in step S303.
  • Generates encrypted information that is, first encrypted information).
  • the information provider terminal 100 generates the second transaction data including at least the first encrypted information generated in step S305 and the information user ID (S306).
  • the information provider terminal 100 transmits the second transaction data generated in step S306 to the authentication server devices 300, 310, and 320 (S307).
  • each of the authentication server devices 300, 310, and 320 stores the acquired second transaction data (S308).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the first transaction data (S309).
  • the authentication server devices 300, 310, and 320 verify the validity of the second transaction data, they each generate a block containing the second transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S309 to the distributed ledger (S310).
  • FIG. 13 is a sequence diagram showing an example of the operation of the information decoding phase according to the present embodiment.
  • the information user terminal 200 confirms, for example, the latest distributed ledger of the authentication server device 300 (S401).
  • the information user terminal 200 requests the latest ledger (that is, the latest distributed ledger) from the authentication server device 300, for example, and acquires the latest ledger transmitted by the authentication server device 300.
  • the timing at which the information user terminal 200 confirms the latest distributed ledger may be regular or irregular.
  • the information user terminal 200 confirms the latest distributed ledger transmitted from the authentication server device 300 at the timing.
  • the information user terminal 200 refers (confirms) the block of the latest distributed ledger acquired, and confirms whether there is a response from the information provider by using the information user ID (S402). More specifically, the information user terminal 200 has a second transaction that includes the information user ID and the first encrypted information generated by the information provider in the transaction data written in the latest distributed ledger. Check if there is data.
  • the information user terminal 200 When there is a response from the information provider in step S402 (YES in S402), the information user terminal 200 includes the information user ID written in the latest distributed ledger and the first encrypted information. Acquire the second transaction data (S403). If there is no response from the information provider in step S402 (NO in S402), the process returns to step S401 and the process is repeated.
  • the information user terminal 200 decrypts the first encrypted information included in the second transaction data acquired in step S403 with the decryption key generated in step S203 of the information request phase (S404). As a result, the information user can acquire the first information requested in the information request phase.
  • the information provider is not the information itself that can be provided by the information provider, but a third transaction data including a list indicating the name of the information that can be provided and its ID, that is, the first information list. Is written in the distributed ledger (registered in the blockchain) and published. Then, both the transaction data indicating the information requested by the information user and the transaction data including the requested information encrypted by the information provider with the encryption key provided by the information user are written in the blockchain. By doing so, it is possible to realize a trading method in which the information requested by the information user cannot be traded unless the history is left on the blockchain. That is, it is possible to realize an information transaction method or the like in which information cannot be acquired without leaving a history on the blockchain.
  • the information user terminal 200 selects information to be used from the first information list published by the information provider, and provides the information provider with a list of the selected information (second information list) via the distributed ledger. Send.
  • the second information list is transmitted to the information provider via the distributed ledger, the information is not stolen by anyone other than the information user by passing the encryption key (public key) generated by the information user. I am doing it.
  • the information user refers to the first information list, which is public information written in the distributed ledger. If the information user has the name of the desired information in the first information list, the encryption key and the decryption key are randomly generated, and the ID of the desired information and the first transaction data including the encryption key are distributed. Write in the ledger. If the information provider obtains the first transaction data written in the latest distributed ledger and finds out that he / she requests his / her own information, the first transaction data is used with the encryption key included in the first transaction data. The second transaction data including the first encrypted information in which the first information corresponding to the ID included in is encrypted is written in the distributed ledger. If the information user acquires the second transaction data written in the latest distributed ledger and the second transaction data contains the first encrypted information encrypted with the information user's encryption key. , Get the information you want by decrypting with the decryption key you have.
  • the information transaction auditing apparatus 400 has been described as notifying at least one of the information provider and the information user who are the parties to the relevant transaction when there is an abnormal transaction. , Not limited to this.
  • the information transaction audit device 400 may generate and transmit transaction data including information on the abnormal transaction to the authentication server devices 300, 310, 320. This case will be described as a modified example 1 focusing on the points different from the above-described embodiment.
  • FIG. 14 is a diagram showing an example of the functional configuration of the information transaction audit device 400a according to the first modification.
  • the same elements as those in FIG. 9 and the like are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the information transaction auditing device 400a shown in FIG. 14 is different from the information transaction auditing device 400 shown in FIG. 9 in that it further includes a transaction data generation unit 404.
  • a transaction data generation unit 404 the points different from the above-described embodiment will be mainly described.
  • Transaction data generator 404 When the transaction verification unit 402 confirms that an abnormal transaction has occurred, the transaction data generation unit 404 generates transaction data (hereinafter, referred to as a fourth transaction data) including information on the abnormal transaction. That is, the transaction data generation unit 404 generates the fourth transaction data including the information regarding the first transaction in which the abnormality has occurred among all the transactions written in the distributed ledger.
  • a fourth transaction data transaction data including information regarding the first transaction in which the abnormality has occurred among all the transactions written in the distributed ledger.
  • the transaction data generation unit 404 includes transaction data (hereinafter, referred to as a fifth transaction data) including the fact that there is no abnormality in the transaction even when the transaction verification unit 402 confirms that no abnormal transaction has occurred. ) May be generated. That is, the transaction data generation unit 404 may generate the fifth transaction data including the information regarding the second transaction in which there is no abnormality among all the transactions written in the distributed ledger.
  • the transaction data generation unit 404 when the transaction data generation unit 404 generates the fourth transaction data or the fifth transaction data, the transaction data generation unit 404 transmits the fourth transaction data or the fifth transaction data to at least one of the authentication server devices 300, 310, and 320 via the communication unit 403.
  • At least one of the information provider and the information user who are the parties to the first transaction confirms that the first transaction has an abnormality by acquiring the fourth transaction data written in the distributed ledger. be able to.
  • at least one of the information provider and the information user who are the parties to the second transaction acquires the fifth transaction data written in the distributed ledger and confirms that there is no abnormality in the second transaction. Can be done.
  • FIG. 15 is a sequence diagram showing an example of the operation of the transaction audit phase according to the modified example 1.
  • the information transaction audit device 400a acquires, for example, the latest distributed ledger of the authentication server device 320 (S501).
  • the information transaction auditing device 400a requests, for example, the latest ledger (that is, the latest distributed ledger) from the authentication server device 320, and acquires the latest ledger transmitted by the authentication server device 320.
  • the timing at which the information transaction audit device 400a acquires the latest distributed ledger is regular.
  • the information transaction audit device 400a stores the latest distributed ledger acquired in step S501 (S502).
  • the information transaction audit device 400a confirms the already stored distributed ledger from the latest distributed ledger stored in step S502, and there is a transaction having an abnormality among all the transactions written in the distributed ledger. Is confirmed (S503). More specifically, the information transaction audit device 400a extracts all the first transaction data, the second transaction data, etc. included in the distributed ledger, and confirms whether all transactions have been completed correctly or have passed correctly. Check if there is an abnormal transaction by doing.
  • step S503 If there is no transaction with an abnormality in step S503 (not in S503), the information transaction audit device 400a returns to step S501 and repeats the process.
  • step S503 when it is confirmed in step S503 that there is an abnormal transaction (S503), the information transaction audit device 400a generates the fourth transaction data including the information regarding the first transaction in which the abnormality occurred. (S504).
  • the information transaction audit device 400a transmits the fourth transaction data generated in step S504 to the authentication server devices 300, 310, and 320 (S505).
  • each of the authentication server devices 300, 310, and 320 stores the acquired fourth transaction data (S506).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the fourth transaction data (S507).
  • the authentication server devices 300, 310, and 320 verify the validity of the fourth transaction data, they each generate a block containing the fourth transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S507 to the distributed ledger (S508).
  • At least one of the information provider and the information user who are the parties to the first transaction confirms that the first transaction has an abnormality by acquiring the fourth transaction data written in the distributed ledger. be able to.
  • the information provider terminal 100 has a third transaction including a list of one or more pieces of information held by the information provider that can be provided via the distributed ledger, and an access right thereof. Although explained as generating data, it is not limited to this.
  • the information provider terminal 100a may include a hash value of one or more pieces of information that can be provided via the distributed ledger in the third transaction data. Hereinafter, this case will be described as a modification 2.
  • FIG. 16 is a diagram showing an example of the functional configuration of the information provider terminal 100a according to the second modification.
  • the same elements as those in FIG. 2 and the like are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the information provider terminal 100a shown in FIG. 16 is different in configuration from the information provider terminal 100 shown in FIG. 2 in that it further includes a hash value calculation unit 108.
  • a hash value calculation unit 108 the points different from the above-described embodiment will be mainly described.
  • the hash value calculation unit 108 calculates a hash value for each of one or more pieces of information in a list of one or more pieces of information that can be provided via the distributed ledger among the information held by the information provider.
  • the transaction data generation unit 106 is added to the third transaction data, and further to each of the one or more pieces of information in the list of one or more pieces of information (first information list) that can be provided via the distributed ledger. It can be generated including the hash value calculated for it.
  • the first information list and the hash value calculated for each of one or more pieces of information in the first information list will be published in the distributed ledger.
  • FIG. 17 is a diagram showing an example of the functional configuration of the information user terminal 200a according to the second modification.
  • the same elements as those in FIG. 5 and the like are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the information user terminal 200a shown in FIG. 17 is different in configuration from the information user terminal 200 shown in FIG. 5 in that it further includes a hash value verification unit 208.
  • a hash value verification unit 208 the points different from the above-described embodiment will be mainly described.
  • the hash value verification unit 208 calculates the hash value of the first information (hereinafter referred to as the first hash value) after the encrypted information decryption unit 206 obtains the first information by decrypting the first encrypted information. To do.
  • the hash value verification unit 208 compares the second hash value corresponding to the first information among the hash values for each one or more pieces of information published in the distributed ledger with the calculated first hash value.
  • the hash value verification unit 208 compares the second hash value with the first hash value, and if the second hash value and the first hash value are different, the transaction data generation unit 204 is again subjected to the first transaction data. To generate.
  • the information user terminal 200a compares the first hash value of the acquired first information with the second hash value published in the distributed ledger.
  • the information user terminal 200a completes the transaction of the first information if the first hash value and the second hash value match, but if they do not match, the information provider terminal 200a has a second with respect to the information provider terminal 100a. 1 Request the resending of information.
  • FIG. 18 is a sequence diagram showing an example of the operation of the access right setting phase according to the second modification.
  • the same elements as those in FIG. 10 and the like are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the operation of the access right setting phase shown in FIG. 18 is different from the operation of the access right setting phase shown in FIG. 10 in step S102a.
  • step S102a the information provider terminal 100a generates a third transaction data including a list of one or more pieces of information selected in step S101 (that is, a first list of information), access right information, and a hash value. .. As described above, this hash value is a hash value calculated for each of one or more pieces of information in the first information list.
  • FIG. 19 is a sequence diagram showing an example of the operation of the information decoding phase according to the second modification.
  • the same elements as those in FIG. 13 and the like are designated by the same reference numerals, and detailed description thereof will be omitted.
  • the operations after step S405 are added as compared with the operation of the information decoding phase shown in FIG.
  • step S404 the information user terminal 200a acquires the first information requested in the information request phase by decrypting the first encrypted information included in the second transaction data with the decryption key.
  • the information user terminal 200a calculates the first hash value of the first information decoded in step S404 (S405).
  • the information user terminal 200a acquires the second hash value corresponding to the first information published in the distributed ledger (S406).
  • the information user terminal 200a compares the hash values (S407). More specifically, the information user terminal 200a compares the first hash value of the first information calculated in step S405 with the second hash value of the first information acquired in step S406.
  • step S407 if the compared hash values match (match in S407), the process ends.
  • step S407 the information user terminal 200a inputs the first transaction data generated in step S204 of the information request phase to the authentication server devices 300, 310, 320. Is transmitted (retransmitted) to (S408).
  • each of the authentication server devices 300, 310, and 320 stores the acquired first transaction data (S409).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the first transaction data (S410).
  • the authentication server devices 300, 310, and 320 verify the validity of the first transaction data, they each generate a block containing the first transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S410 to the distributed ledger (S411).
  • the information user terminal 200a completes the transaction of the first information if the first hash value and the second hash value match, but if they do not match, the information provider terminal 200a completes the transaction. Request the 100a to resend the first information. Therefore, the information user terminal 200a can surely acquire the correct first information requested by the information user.
  • the information user terminal 200 may pay a consideration to the information provider after acquiring the information by decoding the first information in the information decoding phase. That is, as the operation of the information transaction system, the operation of the consideration payment phase may be further performed in the information decoding phase.
  • this case will be described as a modification 3 focusing on the points different from the above-described embodiment and the like.
  • FIG. 20 is a sequence diagram showing an example of the operation of the consideration payment phase according to the modified example 3.
  • the information user terminal 200 confirms whether or not the first information requested in the information request phase has been acquired (S501).
  • the information user terminal 200 When it is confirmed in step S501 that the requested first information can be acquired (YES in S501), the information user terminal 200 generates the sixth transaction data for paying the information provider (S502).
  • the consideration here may be a cryptocurrency such as Bitcoin, cash, unique points that can be used only within the information trading system, or those of appropriate value.
  • the sixth transaction data may include data showing a certificate certifying that the payment has been made.
  • the information user terminal 200 transmits the sixth transaction data generated in step S502 to the authentication server devices 300, 310, 320 (S503).
  • each of the authentication server devices 300, 310, and 320 stores the acquired sixth transaction data (S504).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the sixth transaction data (S505).
  • the authentication server devices 300, 310, and 320 verify the validity of the sixth transaction data, they each generate a block containing the sixth transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S506 to the distributed ledger (S506).
  • the information user terminal 200 has been described as paying a consideration to the information provider each time the first information requested in the information request phase can be acquired, but the present invention is not limited to this.
  • the information user terminal 200 may collectively pay a consideration to the information provider when the first information is acquired a predetermined number of times, such as once every 10 times or for each fixed number of transactions.
  • the information user terminal 200 may collectively pay the information provider the consideration for the first information acquired within a predetermined period, for example, once a month.
  • Modification example 4 In the third modification, the sixth transaction data generated by the information user terminal 200, which pays the information provider, is written in the distributed ledger, so that the information user pays the information provider via the distributed ledger. I explained that it will be done, but it is not limited to this.
  • the information user may pay the price to the information provider by using the smart contract created by the information provider terminal 100.
  • the information user may generate transaction data indicating that the first information has been acquired on the information user terminal 200 and send it to the distributed ledger.
  • this case will be referred to as a modification 4, focusing on the points different from the modification 3.
  • FIG. 21 is a sequence diagram showing an example of the operation of the smart contract setting phase according to the modified example 4.
  • the information provider terminal 100 creates a smart contract for paying the information provider (S601).
  • the smart contract created here is a smart contract that is programmed so that the action of paying the information provider by using the distributed ledger can be executed.
  • the information provider terminal 100 generates transaction data including the smart contract created in step S601 and, for example, an electronic signature associated with the information provider (S602).
  • the information provider terminal 100 transmits the transaction data generated in step S602 to the authentication server devices 300, 310, and 320 (S603).
  • each of the authentication server devices 300, 310, and 320 stores the acquired transaction data (S604).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the transaction data (S605).
  • the authentication server devices 300, 310, and 320 verify the validity of the transaction data, they each generate a block containing the transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S605 to the distributed ledger (S606).
  • the smart contract created by the information provider terminal 100 in this way is written in the distributed ledger.
  • FIG. 22 is a sequence diagram showing an example of the operation of the information decoding phase according to the modified example 4.
  • the information user terminal 200 confirms whether or not the first information requested in the information request phase has been acquired (S701).
  • step S701 When it is confirmed in step S701 that the requested first information has been acquired (YES in S701), the information user terminal 200 generates transaction data indicating that the first information has been acquired (S702).
  • the information user terminal 200 transmits the transaction data generated in step S702 to the authentication server devices 300, 310, and 320 (S703).
  • each of the authentication server devices 300, 310, and 320 stores the acquired transaction data (S704).
  • the authentication server devices 300, 310, and 320 execute a consensus algorithm for agreeing on the validity of the transaction data (S705).
  • the authentication server devices 300, 310, and 320 verify the validity of the transaction data, they each generate a block containing the transaction data.
  • the authentication server devices 300, 310, and 320 update the distributed ledger by writing the block generated by executing the consensus algorithm in step S705 to the distributed ledger (S706).
  • each of the authentication server devices 300, 310, and 320 executes a smart contract that executes payment (S707). This allows smart contracts to pay the information provider.
  • the information user can pay the information provider the consideration by using the smart contract written in the distributed ledger.
  • the process that takes the longest time is the process of executing the consensus algorithm.
  • the number of executions of the consensus algorithm can be reduced as compared with the above modification 3, so that the time required for the transaction can be shortened.
  • the information written and published in the distributed ledger is a list of one or more pieces of information held by the information provider that can be provided via the distributed ledger. Although it has been described as the first information list shown, the present invention is not limited to this. One or more pieces of information that can be provided via the distributed ledger, but the publicly available information may be encrypted information encrypted with the public key of each information user.
  • one or more pieces of information held by the information provider uniquely encrypt the encrypted information encrypted with the encryption key generated by each of the one or more information user terminals 200 and the encrypted information.
  • the encryption information ID for identification may be written in the distributed ledger of a plurality of authentication server devices.
  • the information provider terminal 100 may acquire the first transaction data including the following written in the distributed ledger.
  • the first transaction data includes a first information user ID that is an identifier that uniquely identifies the first information user, an information provider ID that is an identifier that uniquely identifies the information provider, and an information provider.
  • the second information list showing the list of the first information requested by the first information user is included.
  • the information provider terminal 100 may generate the second transaction data including the following. That is, the second transaction data includes the encryption key generated by the information user terminal 200 of the first information user among the one or more encrypted information corresponding to the first information specified by the second information list. An encrypted information ID for identifying the encrypted first encrypted information, an information provider ID, and a first information user ID are included.
  • the information provider terminal 100 and the like, the information user terminal 200 and the like, and the information transaction auditing device 400 use all the authentication server devices, that is, the authentication server device 300, to generate transaction data. It was transmitted to 310 and 320, but it is not limited to this.
  • the information provider terminal 100, etc., the information user terminal 200, etc., and the information transaction auditing device 400 may transmit to any one or more of the authentication server devices.
  • the authentication server device that has received the transaction data can share the transaction data among all the authentication server devices by transmitting the transaction data to any one or more of the other authentication server devices. ..
  • the access right may also be confirmed when the authentication server devices 300, 310, and 320 execute the consensus algorithm. In this case, if the information user does not have the access right, the acquired transaction data may be discarded.
  • one or more authentication server devices acquire the first transaction data, it is confirmed whether the information user has the access right set in the first information. May be good. Then, if the information user does not have the access right set in the first information, one or more authentication server devices discard the acquired first transaction data and do not verify the first transaction data. Good.
  • Each device in the above embodiment is specifically a computer system composed of a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is recorded in the RAM or the hard disk unit.
  • the microprocessor operates according to the computer program, each device achieves its function.
  • the computer program is configured by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
  • Each device in the above embodiment may be composed of a part or all of the constituent elements of one system LSI (Large Scale Integration: large-scale integrated circuit).
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, is a computer system including a microprocessor, ROM, RAM, and the like. .. A computer program is recorded in the RAM. When the microprocessor operates according to the computer program, the system LSI achieves its function.
  • each part of the component components constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include a part or all of them.
  • system LSI Although it is referred to as a system LSI here, it may be referred to as an IC, an LSI, a super LSI, or an ultra LSI depending on the degree of integration. Further, the method of making an integrated circuit is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connection and settings of the circuit cells inside the LSI may be used.
  • FPGA Field Programmable Gate Array
  • each of the above devices may be composed of an IC card or a single module that can be attached to and detached from each device.
  • the IC card or the module is a computer system composed of a microprocessor, a ROM, a RAM, and the like.
  • the IC card or the module may include the above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or the module achieves its function. This IC card or this module may have tamper resistance.
  • the present disclosure may be the method shown above. Further, it may be a computer program that realizes these methods by a computer, or it may be a digital signal composed of the computer program.
  • the present disclosure discloses a recording medium in which the computer program or the digital signal can be read by a computer, such as a flexible disc, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, and a BD (Blu-ray).
  • a computer such as a flexible disc, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, and a BD (Blu-ray).
  • BD Blu-ray
  • the computer program or the digital signal may be transmitted via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • the present disclosure is a computer system including a microprocessor and a memory, in which the memory records the computer program, and the microprocessor may operate according to the computer program.
  • This disclosure can be used for information trading methods, terminals, and programs, for example, information trading methods, terminals, and programs used for services that guarantee transaction history by trading information via the blockchain. Is.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本開示の情報取引方法は、情報提供者が、認証サーバ装置の分散台帳を介して、情報利用者が要求する情報を提供する情報提供フェーズを含む。情報提供フェーズでは、情報利用者端末(200)が生成した暗号鍵と、情報利用者IDと、情報提供者IDと、情報提供者により分散台帳で公開された第1情報目録に示される情報のうち情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって分散台帳に書きこまれた第1トランザクションデータを、情報提供者端末(100)が、取得する(S303)。情報提供者端末(100)が、第2情報目録により指定される第1情報を、暗号鍵を利用して暗号化した第1暗号化情報を生成し(S305)、情報提供者IDと情報利用者IDと第1暗号化情報とを含む第2トランザクションデータを生成し(S306)、認証サーバ装置(320)に送信する(S307)。

Description

情報取引方法、情報利用者端末、及び、プログラム
 本開示は、情報取引方法、情報利用者端末、及び、プログラムに関し、特にブロックチェーンを用いた情報取引の情報取引方法、並びに、それに用いられる情報利用者端末及びプログラムに関する。
 近年では、様々な企業によりブロックチェーンを利用したサービスが提案されている。
 ここで、ブロックチェーンは、ビットコインから生まれた技術である(例えば非特許文献1参照)。ブロックチェーンでは、ブロックと呼ばれるデータの単位が生成され、鎖のように連結されていくことにより取引履歴を保管する。このため、ブロックチェーンを利用することで、誰もが参加可能なピアツーピア(Peer to Peer:P2P)ネットワークで取引履歴(トランザクションデータ)を共有し、相互に監視することで、信頼性を担保し、データの改ざんを防ぐことができる。
 例えば、ブロックチェーンを用いた取引履歴を保証するサービスとして、情報提供者が情報をブロックチェーンに登録し、利用者がブロックチェーンを介して登録されている情報を取得するというようなブロックチェーンを介して情報を取引するサービスなどが考えられる。
Satoshi Nakamoto、「Bitcoin: A Peer-to-Peer Electronic Cash System」、(https://bitcoin.org/bitcoin.pdf) Ronald Linn Rivest、外2名、「A Method for Obtaining Digital Signatures and Public-Key Cryptosystems」、(https://people.csail.mit.edu/rivest/Rsapaper.pdf) Neal Koblitz、「Elliptic curve cryptosystems」、(https://www.ams.org/journals/mcom/1987-48-177/S0025-5718-1987-0866109-5/)
 しかしながら、情報提供者が情報をブロックチェーンに登録した場合、ブロックチェーンに登録された情報は、公開情報であることからどのユーザでも履歴を残すことなく情報を取得することができてしまう。このため、ブロックチェーンに履歴を残すことなく情報を取得できないようにする技術が求められている。
 本開示は、上述の事情を鑑みてなされたもので、ブロックチェーンに履歴を残すことなく情報を取得できない情報取引方法等を提供することを目的とする。
 上記課題を解決するため、本開示の一形態に係る情報取引方法は、情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法であって、前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、前記情報提供フェーズでは、前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 本開示の情報取引方法等によれば、ブロックチェーンに履歴を残すことなく情報を取得できないようにすることができる。
図1は、実施の形態に係る情報取引システムの全体構成を模式的に示す図である。 図2は、実施の形態に係る情報提供者端末の機能構成の一例を示す図である。 図3Aは、実施の形態に係る第3トランザクションデータのデータ構造の一例を概念的に示す図である。 図3Bは、実施の形態に係る第3トランザクションデータのデータ構造の一例を概念的に示す図である。 図4は、実施の形態に係る第2トランザクションデータのデータ構造の一例を概念的に示す図である。 図5は、実施の形態に係る情報利用者端末の機能構成の一例を示す図である。 図6は、実施の形態に係る第1トランザクションデータのデータ構造の一例を概念的に示す図である。 図7は、実施の形態に係る認証サーバ装置の機能構成の一例を示す図である。 図8は、ブロックチェーンのデータ構造を示す説明図である。 図9は、実施の形態に係る情報取引監査装置の機能構成の一例を示す図である。 図10は、実施の形態に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。 図11は、実施の形態に係る情報要求フェーズの動作の一例を示すシーケンス図である。 図12は、実施の形態に係る情報提供フェーズの動作の一例を示すシーケンス図である。 図13は、実施の形態に係る情報復号フェーズの動作の一例を示すシーケンス図である。 図14は、変形例1に係る情報取引監査装置の機能構成の一例を示す図である。 図15は、変形例1に係る取引監査フェーズの動作の一例を示すシーケンス図である。 図16は、変形例2に係る情報提供者端末の機能構成の一例を示す図である。 図17は、変形例2に係る情報利用者端末の機能構成の一例を示す図である。 図18は、変形例2に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。 図19は、変形例2に係る情報復号フェーズの動作の一例を示すシーケンス図である。 図20は、変形例3に係る対価支払いフェーズの動作の一例を示すシーケンス図である。 図21は、変形例4に係るスマートコントラクト設定フェーズの動作の一例を示すシーケンス図である。 図22は、変形例4に係る情報復号フェーズの動作の一例を示すシーケンス図である。
 (本開示の基礎となった知見)
 ブロックチェーンを用いたサービスとしては、例えば個人または組織が保有している情報を、ブロックチェーンを介して取引させることで取引履歴を保証するサービスが考えられる。
 この場合、情報提供者は、例えば自身のWeb閲覧履歴または購買履歴など、自身が保有している情報をブロックチェーンに登録する。一方、その情報を利用したい利用者はブロックチェーンを介して情報を取得するとともに、取得履歴をブロックチェーンに残す。このように、ブロックチェーンを介して情報を取引させることで、ブロックチェーンに残された取引履歴を用いて、第三者が監査できるので、利用者と情報提供者とが、実際には情報の取引がされていないとか、実際の取引がないのにかかわらず取引があったと偽ることとかもできないので、取引履歴を保証することができる。
 しかしながら、情報提供者が情報をブロックチェーンに登録した場合、ブロックチェーンに登録された情報は、公開情報であるので、どのユーザでも履歴を残すことなく情報を取得することができてしまう。つまり、悪意のある利用者はブロックチェーンを介して情報を取得するが、取得履歴をブロックチェーンに残さない不正を行うことができる。
 このため、ブロックチェーンに履歴を残すことなく情報を取得できないようにする技術が求められている。
 そこで、本開示の一形態に係る情報取引方法は、情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法であって、前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、前記情報提供フェーズでは、前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる。
 これにより、ブロックチェーンに履歴を残すことなく情報を取得できないようにすることができる。
 また、さらに、前記情報提供フェーズの前に、前記情報利用者が、前記分散台帳を介して、前記情報提供者に対して前記第1情報を要求する情報要求フェーズと、前記情報提供フェーズの後に、前記情報利用者が、前記分散台帳を介して前記情報提供者により提供された前記第1暗号化情報の復号を行う情報復号フェーズと、を含み、前記情報要求フェーズでは、前記情報利用者端末が、前記第1トランザクションデータを生成し、前記情報利用者端末が、前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれ、前記情報復号フェーズでは、前記情報利用者端末が、前記分散台帳に書きこまれた前記第2トランザクションデータを取得し、前記情報利用者端末が、取得した前記第2トランザクションデータに含まれる前記第1暗号化情報を、前記情報利用者端末が前記暗号鍵とともに生成した前記暗号鍵と異なる復号鍵を利用して復号することで、前記第1情報を取得してもよい。
 また、前記情報提供者端末が前記第1トランザクションデータを取得する際、前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを取得し、前記情報利用者端末が、前記第2トランザクションデータを取得する際、前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを取得してもよい。
 また、前記認証サーバ装置は、トランザクションデータ送信機能を有し、前記情報提供フェーズでは、前記情報提供者端末が前記第1トランザクションデータを取得する際、前記認証サーバ装置が、前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを前記情報利用者端末に送信することで、前記情報提供者端末が前記第1トランザクションデータを取得し、前記情報復号フェーズでは、前記情報利用者端末が、前記第2トランザクションデータを取得する際、前記認証サーバ装置が、前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを前記情報利用者端末に送信することで、前記情報利用者端末が、前記第2トランザクションデータを取得してもよい。
 また、前記第1情報目録は、前記情報提供者が保有している情報のうち前記分散台帳を介して提供可能な1以上の情報のリストを示し、前記情報取引方法は、さらに、前記情報要求フェーズの前に、前記情報提供者が、前記リストにおける前記1以上の情報それぞれに対するアクセス権を設定するアクセス権設定フェーズを含み、前記アクセス権設定フェーズでは、前記情報提供者端末が、前記第1情報目録と、前記リストにおける前記1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報と、日時と、前記情報提供者の署名とを含む第3トランザクションデータを生成し、前記情報提供者端末が、前記第3トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録が公開されてもよい。
 また、前記情報要求フェーズでは、前記情報利用者端末が、前記第1トランザクションデータを生成する前に、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、前記情報利用者に前記第1情報に設定されているアクセス権がある場合、前記情報利用者端末が、前記第1トランザクションデータを生成してもよい。
 また、前記情報要求フェーズでは、前記1以上の認証サーバ装置が、前記第1トランザクションデータを取得したときに、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、前記情報利用者に前記第1情報に設定されているアクセス権がない場合、前記1以上の認証サーバ装置が、取得した前記第1トランザクションデータを破棄し、前記第1トランザクションデータの検証を行わないとしてもよい。
 また、前記アクセス権設定フェーズでは、前記情報提供者端末が、前記第3トランザクションデータに、さらに、前記リストにおける前記1以上の情報それぞれに対して計算したハッシュ値を含めて生成し、前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録と前記ハッシュ値とが公開され、前記情報復号フェーズでは、さらに、前記情報利用者端末が、前記第1暗号化情報を復号することで前記第1情報を取得後、前記第1情報の第1ハッシュ値を計算し、前記情報利用者端末が、前記分散台帳で公開された前記ハッシュ値のうち前記第1情報に対応する第2ハッシュ値と、前記第1ハッシュ値とを比較してもよい。
 また、前記第2ハッシュ値と前記第1ハッシュ値とを比較して、前記第2ハッシュ値と前記第1ハッシュ値とが異なっていた場合、前記情報利用者端末が、再度、前記第1トランザクションデータを生成し、前記情報利用者端末が、再度生成した前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれてもよい。
 また、前記情報復号フェーズでは、さらに、前記第1情報を取得した場合、前記情報利用者が、前記情報提供者に対して対価を支払ってもよい。
 また、前記対価を支払う際、前記情報利用者が、所定の回数、前記第1情報を取得したときに、前記所定の回数の分の対価を前記情報提供者に対して支払ってもよい。
 また、前記情報復号フェーズでは、さらに、前記情報利用者が、所定期間ごとに、前記所定期間内に取得した前記第1情報の分の対価を前記情報提供者に対して支払ってもよい。
 また、前記対価を支払う際、前記分散台帳に書きこまれたスマートコントラクトを用いて、前記情報利用者が、前記情報提供者に対して対価を支払ってもよい。
 また、前記システムは、さらに情報取引を監査する情報取引監査装置を備え、前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、前記取引監査フェーズでは、前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方に前記第1取引に異常があった旨の通知を行うとしてもよい。
 また、前記システムは、さらに情報取引を監査する情報取引監査装置を備え、前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、前記取引監査フェーズでは、前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引に関する情報を含む第4トランザクションデータを生成し、前記情報取引監査装置が、前記第4トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置は前記第4トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第4トランザクションデータが前記分散台帳に書き込まれ、前記第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第4トランザクションデータを取得し、前記第1取引に異常があったことを確認してもよい。
 また、前記取引監査フェーズでは、前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常がなかった第2取引に関する情報を含む第5トランザクションデータを生成し、前記情報取引監査装置が、前記第5トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置は前記第5トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第5トランザクションデータが前記分散台帳に書き込まれ、前記第2取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第5トランザクションデータを取得し、前記第2取引には異常がなかったことを確認してもよい。
 また、本開示の一形態に係る情報取引方法は、1以上の情報提供者が使用する1以上の情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備える情報取引方法であって、前記情報提供者が保有する1以上の情報が、前記1以上の情報利用者端末それぞれにより生成された暗号鍵で暗号化された暗号化情報と、前記暗号化情報それぞれを一意に識別するための暗号化情報IDとが前記複数の認証サーバ装置の分散台帳に書き込まれており、第1情報利用者を一意に識別する識別子である第1情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記第1情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、前記情報提供者端末が、前記第2情報目録により指定される前記第1情報に対応する1以上の暗号化情報のうち、前記第1情報利用者の情報利用者端末により生成された暗号鍵で暗号化された第1暗号化情報を識別する暗号化情報IDと、前記情報提供者IDと、前記第1情報利用者IDとを含む第2トランザクションデータを生成し、前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる。
 また、本開示の一形態に係る情報利用者端末は、情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報利用者端末であって、前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記認証サーバ装置の分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、取得する通信部と、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成する情報暗号化部と、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成するトランザクションデータ生成部とを備え、前記通信部は、前記第2トランザクションデータを、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置に送信することで、前記1以上の認証サーバ装置に前記第2トランザクションデータを前記分散台帳に書き込ませる。
 以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示す。つまり、以下の実施の形態で示される数値、形状、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。また、以下の各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化することがある。
 (実施の形態)
 以下では、図面を参照しながら、本実施の形態に係る情報取引システムについて説明する。
 [1. 情報取引システムの構成]
 本開示に係る情報取引システムでは、情報利用者が要求する情報の目録と、情報利用者から提供された暗号鍵とを、分散台帳を介して情報提供者が取得する。そして、取得した暗号鍵を用いて、情報利用者が要求する情報を暗号化した暗号化情報を、情報提供者が分散台帳を介して情報利用者に提供する。これにより、ブロックチェーンに履歴を残すことなく情報提供者が提供する情報を情報利用者が取得できないようにすることができる。
 [1.1 情報取引方法の全体構成]
 図1は、本実施の形態に係る情報取引システムの全体構成を模式的に示す図である。
 本実施の形態に係る情報取引システムは、図1に示されるように、情報提供者端末100と、情報利用者端末200と、3つの認証サーバ装置300、310、320と、情報取引監査装置400とを備える。これらは通信可能に接続されている。これらの通信は、有線のインターネット線、無線通信及び専用通信等のいずれかであればよい。また、これらの通信は、リアルタイムの通信でなくてもよい。例えば、情報利用者端末200はトランザクションデータをある程度集めてから、一時に、複数の認証サーバ装置300、310、320に送信してもよい。
 なお、図1では、本実施の形態に係る情報取引システムが、情報提供者端末100を1つ、情報利用者端末200を1つ、認証サーバ装置300を3つ備える場合の例が示されているが、これに限らない。すなわち、本実施の形態に係る情報取引システムは、情報提供者端末100を2つ以上備えてもよいし、情報利用者端末200を2つ以上備えてもよい。また、本実施の形態に係る情報取引システムは、認証サーバ装置300を1つ以上備えればよく4つ以上備えてもよい。
 [1.2 情報提供者端末100]
 情報提供者端末100は、情報提供者により使用され、ブロックチェーンを介して情報提供者が保有する情報を提供するための端末である。情報提供者は、例えば個人であってもよいし、会社などの組織であってもよい。情報提供者端末100は、例えばパーソナルコンピュータであってもよいし、スマートフォン及びタブレットなどの携帯端末であってもよい。情報提供者端末100は、情報利用者が要求する情報を、分散台帳を介して情報利用者から提供された暗号鍵を用いて暗号化した暗号化情報を、分散台帳を介して情報利用者に提供する。
 図2は、本実施の形態に係る情報提供者端末100の機能構成の一例を示す図である。
 情報提供者端末100は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インタフェース等とを備える。つまり、情報提供者端末100は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。
 本実施の形態では、情報提供者端末100は、図2に示すように、保有情報格納部101と、公開情報選択部102と、アクセス権設定部103と、トランザクションデータ要求部104と、情報暗号化部105と、トランザクションデータ生成部106と、通信部107と、を備える。以下、各構成要素について説明する。
 [1.2.1 保有情報格納部101]
 保有情報格納部101は、情報提供者が保有している情報を格納する。情報提供者が保有する情報は、例えば情報提供者が個人の場合、情報提供者の氏名、生年月日、住所、趣味、購買履歴、Webの閲覧履歴、または生体センサーから得られた情報等である。
 [1.2.2 公開情報選択部102]
 公開情報選択部102は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報を選択する。本実施の形態では、公開情報選択部102は、情報提供者からの入力を受け取るインタフェースを含んで構成される。公開情報選択部102は、インタフェースにより例えば保有情報格納部101に格納されている複数の情報のリスト(目録とも称する)を表示し、表示したリストから、ブロックチェーンを介して公開してもよい1以上の情報を選択する。公開情報選択部102は、選択した1以上の情報のリストを示す公開可能な第1情報目録を作成する。なお、第1情報目録には、1以上の情報の名称とそのIDが示されている。
 [1.2.3 アクセス権設定部103]
 アクセス権設定部103は、ブロックチェーンを介して公開してもよい第1情報目録(1以上の情報のリスト)における1以上の情報それぞれに対するアクセス権を設定する。
 本実施の形態では、アクセス権設定部103は、公開情報選択部102により選択された第1情報目録が示す1以上の情報それぞれに対して、どのような情報利用者がアクセスできるかを示すアクセス権を設定する。
 なお、このアクセス権は、情報利用者ごとに設定されてもよいし、情報利用者の属性ごとに設定されてもよい。ここで、情報利用者の属性とは、例えば情報利用者の勤務先、国籍、性別または年齢等である。また、アクセス権は、第1情報目録が示す1以上の情報ごとに設定されてもよいし、当該1以上の情報それぞれの分類が事前にされており、その分類ごとに設定されてもよい。また、アクセス権は、第1情報目録が示す1以上の情報のすべてに対してまとめて設定されるとしてもよい。
 また、アクセス権設定部103は、公開情報選択部102により選択された第1情報目録と、第1情報目録が示す1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報とを、トランザクションデータ生成部106へ送信する。
 [1.2.4 トランザクションデータ要求部104]
 トランザクションデータ要求部104は、認証サーバ装置300、310及び320の少なくとも1つに対して、通信部107を介して、ブロックチェーンに登録されたすなわち分散台帳に書き込まれたトランザクションデータを要求する。
 ここで、トランザクションデータ要求部104が要求するトランザクションデータは、分散台帳に記録されている全てのトランザクションデータでもよいし、前回の要求時から新しく記録されたトランザクションデータのみを要求してもよい。また、トランザクションデータ要求部104が要求するトランザクションデータは、公開した第1情報目録に示される情報に対する要求を示すトランザクションデータなど、自身に関係するトランザクションデータのみを要求してもよい。
 トランザクションデータ要求部104は、通信部107を介して、自身に関係する情報を要求するトランザクションデータ(以下、第1トランザクションデータと称する)を取得した場合、取得した第1トランザクションデータを情報暗号化部105に送信する。なお、本実施の形態では、取得した第1トランザクションデータには、情報利用者端末200が生成した暗号鍵と、情報利用者IDと、情報提供者IDと、分散台帳で公開された第1情報目録に示される情報のうち情報利用者が要求する第1情報の目録を示す第2情報目録とが含まれる。情報利用者IDは情報利用者を一意に識別する識別子であり、情報提供者IDは情報提供者を一意に識別する識別子である。
 なお、トランザクションデータ要求部104は、情報提供者IDに基づいて、第1トランザクションデータを取得してもよい。より具体的には、トランザクションデータ要求部104は、分散台帳に書きこまれた複数のトランザクションデータから、情報提供者IDを含む第1トランザクションデータを特定することで、第1トランザクションデータを取得することができる。
 また、トランザクションデータ要求部104は、通信部107を介して、認証サーバ装置300、310及び320の少なくとも1つに対して、情報提供者IDを含む第1トランザクションデータを要求してもよい。これにより、分散台帳に書きこまれた第1トランザクションデータがあれば、認証サーバ装置300、310及び320の少なくとも1つに、第1トランザクションデータをトランザクションデータ要求部104に送信させることができる。よって、トランザクションデータ要求部104は、第1トランザクションデータを取得することができる。
 [1.2.5 情報暗号化部105]
 情報暗号化部105は、第1トランザクションデータに含まれる第2情報目録により指定される第1情報を、第1トランザクションデータに含まれる暗号鍵を利用して暗号化した第1暗号化情報を生成する。
 本実施の形態では、情報暗号化部105は、トランザクションデータ要求部104から送信された第1トランザクションデータに含まれる第2情報目録を参照して、情報利用者が要求する第1情報を保有情報格納部101から取得する。情報暗号化部105は、トランザクションデータ要求部104から送信された第1トランザクションデータに含まれる暗号鍵を用いて、取得した第1情報を暗号化した第1暗号化情報を生成する。情報暗号化部105は、生成した第1暗号化情報をトランザクションデータ生成部106に送信する。
 [1.2.6 トランザクションデータ生成部106]
 トランザクションデータ生成部106は、アクセス権設定部103から送られた第1情報目録とアクセス権情報とを含むトランザクションデータ(以下、第3トランザクションデータと称する)を生成する。より具体的には、トランザクションデータ生成部106は、第1情報目録と、第1情報目録が示すリストにおける1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報と、日時と、情報提供者の署名とを含む第3トランザクションデータを生成する。
 図3A及び図3Bは、本実施の形態に係る第3トランザクションデータのデータ構造の一例を概念的に示す図である。図3Aには、第3トランザクションデータに、情報提供者IDと、第1情報目録と、アクセス権情報と、情報提供者の署名とが含まれる例が示されている。具体的には、図3Aには、P001の情報提供者IDで示される情報提供者が、第1情報目録として示されるP001の年齢、性別及び購買履歴といった情報がブロックチェーン(分散台帳)を介して提供可能とするための第3トランザクションデータのデータ構造の一例が示されている。
 より詳細には、図3Aには、アクセス権情報として、年齢、性別及び購買履歴に対するアクセス権が、情報利用者ごとに設定される場合の例が示されている。図3Aに示される例では、年齢に対しては、U001、U002及びU003の情報利用者IDで示される情報利用者のみアクセス可能なことを示すアクセス権が設定されている。同様に、性別に対しては、U002の情報利用者IDで示される情報利用者のみ、購買履歴に対しては、U001の情報利用者IDで示される情報利用者のみアクセス可能なことを示すアクセス権が設定されている。なお、図3Bには、アクセス権情報に示されるアクセス権が、情報利用者の属性で設定される場合の例が示されており、その他の部分については図3Aと同様である。
 また、トランザクションデータ生成部106は、情報暗号化部105から送られた第1暗号化情報を含むトランザクションデータ(以下、第2トランザクションデータと称する)を生成する。より具体的には、トランザクションデータ生成部106は、情報提供者IDと情報利用者IDと第1暗号化情報とを含む第2トランザクションデータを生成する。
 図4は、本実施の形態に係る第2トランザクションデータのデータ構造の一例を概念的に示す図である。図4には、第2トランザクションデータに、情報利用者IDと、情報提供者IDと、提供情報と、情報提供者の署名とが含まれる例が示されている。具体的には、図4には、P001の情報提供者IDで示される情報提供者が、U001の情報利用者IDで示される情報利用者に、ブロックチェーン(分散台帳)を介して第1暗号化情報で情報提供するための第2トランザクションデータのデータ構造の一例が示されている。より詳細には、図4には、第2トランザクションデータに含まれる提供情報としては、年齢を示す情報と、購買履歴を示す情報とが暗号化されている場合の例が示されている。
 また、トランザクションデータ生成部106は、第1トランザクションデータまたは第2トランザクションデータを生成した場合には、通信部107を介して、認証サーバ装置300、310及び320の少なくとも1つへ送信する。
 [1.2.7 通信部107]
 通信部107は、トランザクションデータ生成部106で生成された第2トランザクションデータまたは第3トランザクションデータを1以上の認証サーバに送信する。
 本実施の形態では、通信部107は、トランザクションデータ生成部106により生成されたトランザクションデータを認証サーバ装置300、310及び320のうちの1以上へ送信する。また、通信部107は、トランザクションデータ要求部104の要求に従って、認証サーバ装置300、310及び320のうちの少なくとも1つに対してトランザクションデータを要求し、取得したトランザクションデータをトランザクションデータ要求部104へ送信する。
 [1.3 情報利用者端末200]
 続いて、情報利用者端末200について説明する。
 情報利用者端末200は、情報利用者により使用され、ブロックチェーンを介して情報提供者が公開する第1情報目録に示される情報の中から情報利用者が利用したい情報を取得するための端末である。情報利用者は、例えば個人であってもよいし、会社などの組織であってもよい。情報利用者端末200は、例えばパーソナルコンピュータであってもよいし、スマートフォン及びタブレットなどの携帯端末であってもよい。
 情報利用者端末200は、ブロックチェーンを介して情報提供者が公開する第1情報目録に示される情報の中から情報利用者が利用したい情報を選択し、ブロックチェーンを介して情報提供者に対して、選択した情報を要求するとともに、生成した暗号鍵を提供する。また、情報利用者端末200は、情報提供者によりブロックチェーンを介して提供された、暗号化された要求した情報の復号を行って、要求した情報を取得する。
 図5は、本実施の形態に係る情報利用者端末200の機能構成の一例を示す図である。
 情報利用者端末200は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリと通信インタフェース等とを備える。つまり、情報利用者端末200は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。
 本実施の形態では、情報利用者端末200は、図5に示すように、暗号鍵生成部201と、暗号鍵保管部202と、要求情報選択部203と、トランザクションデータ生成部204と、トランザクションデータ要求部205と、暗号化情報復号部206と、通信部207と、を備える。以下、各構成要素について説明する。
 [1.3.1 暗号鍵生成部201]
 暗号鍵生成部201は、情報利用者が要求する情報の受け渡し時に使用する暗号鍵を生成し、暗号鍵保管部202に送信する。
 ここで、暗号鍵生成部201が生成する暗号鍵は、例えば公開鍵と秘密鍵であるが、これに限らない。暗号鍵生成部201が生成する暗号鍵は、暗号用の暗号鍵と復号用の暗号鍵(以下暗号鍵と復号鍵と称する)とで異なる暗号鍵であればよい。
 なお、公開鍵及び秘密鍵は、例えば非特許文献2に記載されるRSA暗号を用いて生成されてもよいし、非特許文献3に記載される楕円Elgamal暗号を用いて生成されてもよい。公開鍵は、情報利用者端末200を情報利用者が起動する時に一度だけ生成して、以降は生成した一つの公開鍵のみを利用してもよい。また、公開鍵は、トランザクションデータ生成部204がトランザクションデータを生成する度に新しく生成されるとしてもよい。
 [1.3.2 暗号鍵保管部202]
 暗号鍵保管部202は、例えば公開鍵及び秘密鍵など、暗号鍵生成部201により生成され暗号鍵と復号鍵とを保管する。
 暗号鍵保管部202は、トランザクションデータ生成部204が情報提供者に対して情報を要求するトランザクションデータ(すなわち第1トランザクションデータ)を生成するときには、トランザクションデータ生成部204に公開鍵などの暗号鍵を送信する。また、暗号鍵保管部202は、暗号化情報復号部206で第1暗号化情報を復号するときには、暗号化情報復号部206に、秘密鍵などの復号鍵を送信する。
 [1.3.3 要求情報選択部203]
 要求情報選択部203は、情報提供者により分散台帳で公開された第1情報目録に示される情報のうち情報利用者が利用するために要求する第1情報の目録すなわち第2情報目録を選択する。本実施の形態では、要求情報選択部203は、情報利用者からの入力を受け取るインタフェースを含んで構成されてもよい。要求情報選択部203は、インタフェースにより例えば情報提供者により分散台帳で公開された情報のリストすなわち第1情報目録を表示し、情報利用者は第1情報目録に示される情報の中から利用したい1以上の情報の目録すなわち第2情報目録を選択する。
 なお、要求情報選択部203は、ブロックチェーンすなわち分散台帳から、情報提供者により分散台帳で公開された第1情報目録を取得する。より具体的には、要求情報選択部203は、通信部207を介して認証サーバ装置300、310及び320のうちの少なくとも1つに、分散台帳に書き込まれた第1情報目録を含むトランザクションデータを要求することで、第1情報目録を取得することができる。
 要求情報選択部203は、選択した第2情報目録を、トランザクションデータ生成部204へ送信する。
 [1.3.4 トランザクションデータ生成部204]
 トランザクションデータ生成部204は、要求情報選択部203から送られた第2情報目録と、暗号鍵保管部202から送られた暗号鍵(例えば公開鍵)とを含むトランザクションデータ(すなわち、第1トランザクションデータ)を生成する。より具体的には、トランザクションデータ生成部204は、公開鍵などの暗号鍵と、情報利用者IDと、情報提供者IDと、分散台帳で公開された第1情報目録に示される情報のうち情報利用者が要求する第1情報の目録を示す第2情報目録とを含む第1トランザクションデータを生成する。ここで、第2情報目録は、情報利用者が利用したい1以上の情報の名称とそれらIDとからなる1以上の情報のリストである。
 図6は、本実施の形態に係る第1トランザクションデータのデータ構造の一例を概念的に示す図である。図6には、第1トランザクションデータに、情報利用者IDと、情報提供者IDと、要求情報と、暗号鍵と、情報利用者の署名とが含まれる例が示されている。すなわち、図6には、U001の情報利用者IDで示される情報利用者が、P001の情報提供者IDで示される情報提供者に、分散台帳を介して、利用したい情報を要求するための要求情報とともに暗号鍵を含む第1トランザクションデータのデータ構造の一例が示されている。より詳細には、図6には、第1トランザクションデータに含まれる要求情報が、年齢を示す情報と、購買履歴を示す情報とである場合の例が示されている。
 また、トランザクションデータ生成部204は、第1トランザクションデータを生成した場合には、通信部207を介して、認証サーバ装置300、310及び320の少なくとも1つへ送信する。
 [1.3.5 トランザクションデータ要求部205]
 トランザクションデータ要求部205は、通信部207を介して、認証サーバ装置300、310及び320の少なくとも1つから、分散台帳に書きこまれた第2トランザクションデータを取得する。
 ここで、トランザクションデータ要求部205は、通信部207を介して、認証サーバ装置300、310及び320の少なくとも1つに対して、情報利用者IDを含み、情報提供者が生成した第1暗号化情報を含む第2トランザクションデータを要求してもよい。これにより、分散台帳に書きこまれた第2トランザクションデータがあれば、認証サーバ装置300、310及び320の少なくとも1つに、第2トランザクションデータをトランザクションデータ要求部205に送信させることができる。よって、トランザクションデータ要求部205は、第2トランザクションデータを取得することができる。
 また、トランザクションデータ要求部205は、情報提供者IDに基づいて、第2トランザクションデータを取得してもよい。より具体的には、トランザクションデータ要求部205は、分散台帳に書きこまれた複数のトランザクションデータから、情報利用者IDを含み、情報提供者が生成した第1暗号化情報を含む第2トランザクションデータを特定することで、第2トランザクションデータを取得してもよい。
 また、トランザクションデータ要求部205は、分散台帳に書きこまれた第2トランザクションデータを取得した場合、第2トランザクションデータに含まれる第1暗号化情報を暗号化情報復号部206に送信する。
 [1.3.6 暗号化情報復号部206]
 暗号化情報復号部206は、第2トランザクションデータに含まれる暗号化情報を、暗号鍵生成部201により暗号鍵とともに生成した暗号鍵と異なる復号鍵を利用して、復号することで、第1情報を取得する。なお、復号鍵は、上述したように秘密鍵であってもよく、暗号鍵保管部202に保管されている。すなわち、暗号化情報復号部206は、第2トランザクションデータに含まれる暗号化情報を、暗号鍵保管部202に保管されている秘密鍵を利用して復号してよい。
 [1.3.7 通信部207]
 通信部207は、トランザクションデータ生成部204で生成された第1トランザクションデータを1以上の認証サーバに送信する。本実施の形態では、通信部207は、トランザクションデータ生成部204により生成された第1トランザクションデータを、認証サーバ装置300、310、320及び情報提供者端末100とのうちの1以上へ送信する。
 また、通信部207は、トランザクションデータ要求部205の要求に従って、認証サーバ装置300、310及び320のうちの少なくとも1つに対して第2トランザクションデータまたは最新の分散台帳を要求する。通信部207は、当該少なくとも1つから取得した第2トランザクションデータまたは最新の分散台帳を、トランザクションデータ要求部205へ送信する。
 [1.4 認証サーバ装置300]
 続いて、認証サーバ装置300等について説明する。
 認証サーバ装置300、310、320は、図1に示すように例えばクラウドサーバであり、情報提供者端末100及び情報利用者端末200とネットワークを介して通信可能である。なお、本開示に係る情報取引システムでは、認証サーバ装置を1つ以上備えていればよい。認証サーバ装置300、310及び320は同様の構成であるため、以下では、認証サーバ装置300を例に挙げて説明する。
 認証サーバ装置300は、情報提供者端末100及び情報利用者端末200から取得したトランザクションデータの検証を行い、分散台帳を更新することで、ブロックチェーンにトランザクションデータを登録する。また、認証サーバ装置300は、要求に応じて、情報提供者端末100及び情報利用者端末200に最新の台帳または要求されたトランザクションデータを送信する。
 図7は、本実施の形態に係る認証サーバ装置300の機能構成の一例を示す図である。
 認証サーバ装置300は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。本実施の形態では、認証サーバ装置300は、図7に示すように、トランザクションデータ格納部301と、トランザクションデータ検証部302と、台帳更新部303と、通信部304とを備える。以下、各構成要素について説明する。
 [1.4.1 トランザクションデータ格納部301]
 トランザクションデータ格納部301は、ブロックチェーンのまだ検証されていないトランザクションデータを溜めているトランザクションプールとして機能する。
 本実施の形態では、トランザクションデータ格納部301は、情報提供者端末100から取得した第2トランザクションデータ、または第3トランザクションデータを格納し、一時的に保持する。また、トランザクションデータ格納部301は、情報利用者端末200から取得した第1トランザクションデータを格納する。
 [1.4.2 トランザクションデータ検証部302]
 トランザクションデータ検証部302は、情報提供者端末100または情報利用者端末200から取得したトランザクションデータの正当性を検証する。例えば、トランザクションデータ検証部302は、取得したトランザクションデータに、正しい方法で生成された電子署名が付与されているか、取得したトランザクションデータに必要な情報が書き込まれているかなどを検証する。ここで、必要な情報とは、例えば情報提供者端末100からアクセス権情報を含む第3トランザクションデータを取得した場合、どの情報に対してどのようなアクセス権を設定しているかが正しく記載されたことを示す情報である。
 トランザクションデータ検証部302は、トランザクションデータの正当性の検証が成功した場合、その結果を他の認証サーバ装置310及び320に送信する。なお、この検証はスキップされてもよい。
 また、トランザクションデータ検証部302は、他の認証サーバ装置とともに、トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する。
 このように、トランザクションデータ検証部302は、複数の認証サーバ装置とともにコンセンサスアルゴリズムを実行する。
 ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)が用いられてもよいし、その他の公知のコンセンサスアルゴリズムが用いられてもよい。公知のコンセンサスアルゴリズムとしては、例えばPoW(Proof of Work)またはPoS(Proof of Stake)などがある。コンセンサスアルゴリズムにPBFTが用いられる場合、トランザクションデータ検証部302は、他の複数の認証サーバ装置310及び320のそれぞれからトランザクションデータの検証が成功したか否かを示す報告を受け取り、当該報告の数が所定の数を超えたか否かを判定する。そして、トランザクションデータ検証部302は、当該報告の数が所定の数を超えたとき、コンセンサスアルゴリズムによってトランザクションデータの正当性が検証されたと判定すればよい。
 [1.4.3 台帳更新部303]
 台帳更新部303は、トランザクションデータ検証部302でトランザクションデータの検証を行った後に分散台帳を更新することで、当該トランザクションデータを分散台帳に書き込む。
 本実施の形態では、台帳更新部303は、トランザクションデータ検証部302で正当と検証されたトランザクションデータを分散台帳に格納する処理部である。台帳更新部303は、トランザクションデータ検証部302で正当と検証されたトランザクションデータを含むブロックを生成し、分散台帳を更新することで、生成したブロックを分散台帳に格納する(書き込む)。換言すると、台帳更新部303は、トランザクションデータ検証部302により正当性が検証されたトランザクションデータを含むブロックを生成し、生成したブロックを、分散台帳に格納されているブロックチェーンに接続して登録される。
 また、台帳更新部303は、情報提供者または情報利用者の要求に応じて、情報提供者端末100または情報利用者端末200に最新の台帳を送信したり、要求されたトランザクションデータを送信したりする。
 ここで、ブロックチェーンのデータ構造について説明する。
 図8は、ブロックチェーンのデータ構造を示す説明図である。
 ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
 仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
 [1.4.4 通信部304]
 通信部304は、他の認証サーバ装置310、320との通信を行ったり、情報提供者端末100または情報利用者端末200との通信を行ったりする。
 本実施の形態では、通信部304は、例えば情報提供者端末100または情報利用者端末200からトランザクションデータを取得した場合、取得したトランザクションデータをトランザクションデータ格納部301に送信する。また、通信部304は、例えば情報提供者または情報利用者から最新の台帳またはトランザクションデータを要求された場合、台帳更新部303から最新の台帳または要求されたトランザクションデータを受け取り、情報提供者端末100または情報利用者端末200に送信する。
 例えば、通信部304は、情報提供者端末100により第1トランザクションデータを要求された場合、情報提供者IDに基づいて特定した、分散台帳に書きこまれた第1トランザクションデータを情報提供者端末100に送信してもよい。また、通信部304は、情報利用者端末200により第2トランザクションデータを要求された場合、情報利用者IDに基づいて特定した、分散台帳に書きこまれた第2トランザクションデータを情報利用者端末200に送信してもよい。
 [1.5 情報取引監査装置400]
 続いて、情報取引監査装置400について説明する。
 情報取引監査装置400は、図1に示すように、情報提供者端末100及び情報利用者端末200とは独立な装置である。情報取引監査装置400は、認証サーバの機能を持ち合わせてもよい。
 情報取引監査装置400は、分散台帳に書きこまれている取引の異常を監査する。より具体的には、情報取引監査装置400は、認証サーバ装置300等が共有している分散台帳を監視することで、情報取引が正しく行われているかを監視する。
 図9は、本実施の形態に係る情報取引監査装置400の機能構成の一例を示す図である。
 情報取引監査装置400は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。本実施の形態では、情報取引監査装置400は、図9に示すように台帳格納部401と、取引検証部402と、通信部403とを備える。以下、各構成要素について説明する。
 [1.5.1 台帳格納部401]
 台帳格納部401は、認証サーバ装置300、310及び320の少なくとも1つから最新の分散台帳(最新台帳とも称する)を取得して記憶装置に格納する。なお、情報取引監査装置400が認証サーバ装置の機能を備える場合には、台帳格納部401の機能は、認証サーバ装置300における台帳更新部303の機能を利用すればよい。
 [1.5.2 取引検証部402]
 取引検証部402は、台帳格納部401に格納されている分散台帳を確認することで、分散台帳に書き込まれる全ての取引について異常があるかを確認する。
 本実施の形態では、取引検証部402は、台帳格納部401に格納されている最新から過去までの分散台帳を確認し、異常な取引が発生していないか確認を行う。
 ここで、取引検証部402は、分散台帳を確認し、例えば情報利用者からの要求があったにもかかわらず、情報提供者が一定期間以上返答しなかった場合、その情報取引が異常な取引であるとみなしてもよい。このように、取引検証部402は、一定期間取引が完了していない取引を異常な取引とみなしてもよい。
 また、取引検証部402は、分散台帳を確認し、例えば、情報利用者からの情報要求のトランザクションデータが書き込まれていないのに、情報提供者からの情報提供のトランザクションデータが書き込まれていた場合には異常な取引とみなしてもよい。
 なお、分散台帳に基づき異常な取引が発生しているかどうかに関する検証方法または検証内容は、上記の場合に限定されない。
 また、取引検証部402は、異常な取引があった場合には、異常な取引の取引内容を通信部403に送信し、取引に関係している情報提供者または情報利用者に通知してもよい。より具体的には、取引検証部402は、分散台帳に書き込まれる全ての取引のうち、異常があった第1取引の当事者である情報提供者及び情報利用者の少なくとも一方に第1取引に異常があった旨の通知を行ってもよい。
 なお、取引検証部402は、異常な取引がなかった場合でも、当該取引に関係している情報提供者または情報利用者に当該取引に異常がない旨を通知してもよい。また、取引検証部402は、異常な取引に関する情報を含むトランザクションデータを生成させて、異常な取引があったことを確認したときには、認証サーバ装置300、310、320に対して、送信してもよい。
 [1.5.3 通信部403]
 通信部403は、認証サーバ装置310、320との通信を行ったり、情報提供者端末100または情報利用者端末200との通信を行ったりする。
 本実施の形態では、通信部403は、認証サーバ装置300、310、320から分散台帳を取得して台帳格納部401に格納する。また、通信部403は、取引検証部402から検証結果を受け取り、その結果を情報提供者端末100または情報利用者端末200に送信してもよい。
 [2. 情報取引システムの動作]
 続いて、以上のように構成された情報取引システムの動作の一例について説明する。情報取引システムの動作には、アクセス権設定フェーズ、情報要求フェーズ、情報提供フェーズ、情報復号フェーズ及び取引監査フェーズの5つのフェーズの動作がある。以下では、アクセス権設定フェーズ、情報要求フェーズ、情報提供フェーズ及び情報復号フェーズにおける情報取引システムの動作について説明する。
 [2.1 アクセス権設定フェーズ]
 まず、アクセス権設定フェーズにおける情報取引システムの動作について説明する。アクセス権設定フェーズでは、情報提供者が、ブロックチェーンで公開するリストすなわち情報の目録における1以上の情報それぞれに対するアクセス権を設定する動作が行われる。アクセス権設定フェーズは、情報提供フェーズの前に行われる。
 図10は、本実施の形態に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。
 まず、情報提供者端末100は、情報提供者が保有している情報のうち1以上の情報を選択し、選択した1以上の情報それぞれに対してアクセス権を設定する(S101)。より具体的には、情報提供者は、情報提供者端末100を使用して、情報提供者が保有している情報のうちブロックチェーンを介して取引してもよい1以上の情報を選択する。情報提供者は、情報提供者端末100を使用して、選択した1以上の情報それぞれに関するアクセス権を設定する。
 次に、情報提供者端末100は、ステップS101で選択した1以上の情報の目録(すなわち第1情報目録)と、アクセス権情報とを含む第3トランザクションデータを生成する(S102)。より具体的には、情報提供者は、情報提供者端末100を使用して、選択した1以上の情報の名称とそのIDが示される第1情報目録と、1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報とを含む第3トランザクションデータを生成する。
 次に、情報提供者端末100は、ステップS102で生成した第3トランザクションデータを、認証サーバ装置300、310、320に送信する(S103)。
 次に、認証サーバ装置300、310、320それぞれは、取得した第3トランザクションデータを格納する(S104)。
 次に、認証サーバ装置300、310、320は、第3トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S105)。認証サーバ装置300、310、320は、第3トランザクションデータの正当性を検証すると、それぞれ第3トランザクションデータを含むブロックを生成する。ここで、認証サーバ装置300、310、320は、例えば非特許文献1に開示される方法に従うとする。この場合、認証サーバ装置300、310、320のうち最初にブロックを生成した認証サーバは、生成したブロックを他の認証サーバに送信し、他の認証サーバは、送信されて取得したブロックが正しく生成できているかを確認する。
 次に、認証サーバ装置300、310、320は、ステップS105でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S106)。
 [2.2 情報要求フェーズ]
 続いて、情報要求フェーズにおける情報取引システムの動作について説明する。情報要求フェーズでは、複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳(つまりブロックチェーン)を介して、情報提供者が情報利用者の要求する情報を提供する動作が行われる。情報要求フェーズは、情報提供フェーズの前に行われる。
 図11は、本実施の形態に係る情報要求フェーズの動作の一例を示すシーケンス図である。
 まず、情報利用者端末200は、例えば認証サーバ装置300の最新の分散台帳を確認する(S201)。図11に示す例では、情報利用者端末200は、例えば認証サーバ装置300に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置300により送信された最新台帳を取得することで、最新の分散台帳を確認する。
 次に、情報利用者端末200は、取得した最新の分散台帳のブロックを参照(確認)し、情報利用者が利用するために要求する情報があるか確認する(S202)。具体的には、情報利用者端末200は、取得した最新の分散台帳で公開された第1情報目録に示される情報のうち情報利用者が利用するために要求する第1情報の目録を示す第2情報目録があるかを確認する。
 ステップS202において、要求する情報があった場合(S202でYES)、情報利用者端末200は、要求する情報の取引に用いるための暗号鍵と復号鍵とを生成する(S203)。なお、ステップS202において、要求する情報がなかった場合(S202でNO)、ステップS201に戻って処理をやり直す。
 次に、情報利用者端末200は、情報利用者ID、情報提供者ID、第2情報目録及び暗号鍵を含む第1トランザクションデータを生成する(S204)。
 次に、情報利用者端末200は、ステップS204で生成した第1トランザクションデータを、認証サーバ装置300、310、320に送信する(S205)。
 次に、認証サーバ装置300、310、320それぞれは、取得した第1トランザクションデータを格納する(S206)。
 次に、認証サーバ装置300、310、320は、第1トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S207)。認証サーバ装置300、310、320は、第1トランザクションデータの正当性を検証すると、それぞれ第1トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS207でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S208)。
 [2.3 情報提供フェーズ]
 続いて、情報提供フェーズにおける情報取引システムの動作について説明する。情報提供フェーズでは、分散台帳を介して、情報利用者が情報提供者に対して第1情報を要求する動作が行われる。
 図12は、本実施の形態に係る情報提供フェーズの動作の一例を示すシーケンス図である。
 まず、情報提供者端末100は、例えば認証サーバ装置320の最新の分散台帳を確認する(S301)。図12に示す例では、情報提供者端末100は、例えば認証サーバ装置320に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置320により送信された最新台帳を取得することで、最新の分散台帳を確認する。なお、情報提供者端末100が最新の分散台帳を確認するタイミングは定期的でもよいし、不定期でもよい。情報提供者端末100は、当該タイミングで認証サーバ装置320から送信された最新の分散台帳を確認する。
 次に、情報提供者端末100は、情報提供者IDを利用して、公開した第1情報目録に示される情報に対する要求があるか確認する(S302)。より具体的には、情報提供者端末100は、最新の分散台帳に書きこまれたトランザクションデータの中に、情報提供者IDを含み、公開した第1情報目録に示される情報を要求する第1トランザクションデータがあるかを確認する。
 ステップS302において、公開した第1情報目録に示される情報に対する要求があった場合(S302でYES)、情報提供者端末100は、最新の分散台帳に書きこまれている第2情報目録を含む第1トランザクションデータを取得する(S303)。なお、ステップS302において、公開した第1情報目録に示される情報に対する要求がなかった場合(S302でNO)、ステップS301に戻って処理をやり直す。
 次に、情報提供者端末100は、要求のあった第1情報目録に示される情報(すなわち第1情報)に対してアクセス権があるか確認する(S304)。より具体的には、情報提供者端末100は、ステップS303で取得した第1トランザクションデータに含まれる第2情報目録に示される、情報利用者が要求する第1情報に対してアクセス権があるか確認する。なお、ステップS304において、要求のあった第1情報目録に示される情報に対してアクセス権がなかった場合(S304でなし)、情報提供者端末100は、取得した第1トランザクションデータを破棄し、ステップS301に戻って処理をやり直す。
 ステップS304において、要求のあった第1情報目録に示される情報に対してアクセス権があった場合(S304であり)、情報提供者端末100は、要求された第1情報を暗号化した暗号化情報(すなわち第1暗号化情報)を生成する(S305)。より具体的には、情報提供者端末100は、ステップS303で取得した第1トランザクションデータに含まれる情報利用者端末200が生成した暗号鍵を利用して、要求された第1情報を暗号化した暗号化情報(すなわち第1暗号化情報)を生成する。
 次に、情報提供者端末100は、ステップS305で生成した第1暗号化情報と、情報利用者IDとを少なくとも含む第2トランザクションデータを生成する(S306)。
 次に、情報提供者端末100は、ステップS306で生成した第2トランザクションデータを、認証サーバ装置300、310、320に送信する(S307)。
 次に、認証サーバ装置300、310、320それぞれは、取得した第2トランザクションデータを格納する(S308)。
 次に、認証サーバ装置300、310、320は、第1トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S309)。認証サーバ装置300、310、320は、第2トランザクションデータの正当性を検証すると、それぞれ第2トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS309でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S310)。
 [2.4 情報復号フェーズ]
 続いて、情報復号フェーズにおける情報取引システムの動作について説明する。情報復号フェーズでは、分散台帳を介して、情報利用者が情報提供者により提供された第1暗号化情報の復号を行う動作が行われる。情報復号フェーズは、情報提供フェーズの後に行われる。
 図13は、本実施の形態に係る情報復号フェーズの動作の一例を示すシーケンス図である。
 まず、情報利用者端末200は、例えば認証サーバ装置300の最新の分散台帳を確認する(S401)。図13に示す例では、情報利用者端末200は、例えば認証サーバ装置300に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置300により送信された最新台帳を取得することで、最新の分散台帳を確認する。なお、情報利用者端末200が最新の分散台帳を確認するタイミングは定期的でもよいし、不定期でもよい。情報利用者端末200は、当該タイミングで認証サーバ装置300から送信された最新の分散台帳を確認する。
 次に、情報利用者端末200は、取得した最新の分散台帳のブロックを参照(確認)し、情報利用者IDを利用して、情報提供者からの返答があったか確認する(S402)。より具体的には、情報利用者端末200は、最新の分散台帳に書きこまれたトランザクションデータの中に、情報利用者IDと情報提供者が生成した第1暗号化情報とを含む第2トランザクションデータがあるかを確認する。
 ステップS402において、情報提供者からの返答があった場合(S402でYES)、情報利用者端末200は、最新の分散台帳に書きこまれている情報利用者IDと第1暗号化情報とを含む第2トランザクションデータを取得する(S403)。なお、ステップS402において、情報提供者からの返答がなかった場合(S402でNO)、ステップS401に戻って処理をやり直す。
 次に、情報利用者端末200は、ステップS403で取得した第2トランザクションデータに含まれる第1暗号化情報を、情報要求フェーズのステップS203で生成した復号鍵で復号する(S404)。これにより、情報利用者は、情報要求フェーズで要求した第1情報を取得することができる。
 [3. 効果等]
 以上、実施の形態に係る情報取引方法等によれば、情報提供者は自身が提供できる情報そのものではなく提供できる情報の名称とそのIDとを示す目録すなわち第1情報目録を含む第3トランザクションデータを分散台帳に書き込んで(ブロックチェーンに登録して)公開する。そして、情報利用者が要求する情報を示すトランザクションデータと、情報提供者が情報利用者から提供された暗号鍵で暗号化した要求する情報を含むトランザクションデータを共にブロックチェーンに書き込む。このようにすることで、ブロックチェーンに履歴を残さないと情報利用者が要求する情報の取引を行えない取引方法を実現できる。つまり、ブロックチェーンに履歴を残すことなく情報を取得できない情報取引方法等を実現できる。
 なお、情報利用者端末200は、情報提供者が公開した第1情報目録の中から利用したい情報を選択し、選択した情報のリスト(第2情報目録)を情報提供者に分散台帳を介して送信する。また、第2情報目録を情報提供者に分散台帳を介して送信する際に、情報利用者が生成した暗号鍵(公開鍵)を渡すことで、情報利用者以外の人に情報を盗み見られないようにしている。
 より詳細には、情報利用者は、分散台帳に書きこまれた公開情報である第1情報目録を参照する。情報利用者は、第1情報目録の中にほしい情報の名称があれば、暗号化鍵と復号鍵とをランダムに生成し、欲しい情報のIDと、暗号化鍵を含む第1トランザクションデータを分散台帳に書き込む。情報提供者は最新の分散台帳に書き込まれた第1トランザクションデータを取得して、自身の情報を要求することがわかれば、当該第1トランザクションデータに含まれている暗号鍵で、第1トランザクションデータに含まれているIDに対応する第1情報を暗号化した第1暗号化情報を含めた第2トランザクションデータを、分散台帳に書き込む。情報利用者は、最新の分散台帳に書き込まれた第2トランザクションデータを取得し、第2トランザクションデータの中に情報利用者の暗号化鍵で暗号化された第1暗号化情報が含まれていたら、自身が保持している復号鍵で復号することで、ほしい情報を得る。
 よって、情報利用者以外の人に情報を盗み見られないようにし、かつ、ブロックチェーンに履歴を残すことなく情報を取得できない情報取引方法等を実現できる。
 (変形例1)
 上述した実施の形態では、情報取引監査装置400は、異常な取引があった場合、該当する取引の当事者である情報提供者及び情報利用者の少なくとも一方にその旨の通知を行うとして説明したが、これに限らない。情報取引監査装置400は、異常な取引があったことを確認したときには、認証サーバ装置300、310、320に対して、異常な取引に関する情報を含むトランザクションデータを生成して送信してもよい。この場合を変形例1として、上記実施の形態と異なる点を中心に説明する。
 [情報取引監査装置400a]
 図14は、変形例1に係る情報取引監査装置400aの機能構成の一例を示す図である。図9等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
 図14に示す情報取引監査装置400aは、図9に示す情報取引監査装置400に対して、さらにトランザクションデータ生成部404を備える点で構成が異なる。以下、上述した実施の形態と異なる点を中心に説明する。
 [トランザクションデータ生成部404]
 トランザクションデータ生成部404は、取引検証部402により異常な取引が発生していることが確認された場合、異常な取引に関する情報を含むトランザクションデータ(以下、第4トランザクションデータと称する)を生成する。つまり、トランザクションデータ生成部404は、分散台帳に書き込まれる全ての取引のうち、異常があった第1取引に関する情報を含む第4トランザクションデータを生成する。
 なお、トランザクションデータ生成部404は、取引検証部402により異常な取引が発生していないことが確認された場合でも、当該取引に異常がない旨を含むトランザクションデータ(以下、第5トランザクションデータと称する)を生成してもよい。つまり、トランザクションデータ生成部404は、分散台帳に書き込まれる全ての取引のうち、異常がなかった第2取引に関する情報を含む第5トランザクションデータを生成してもよい。
 そして、トランザクションデータ生成部404は、第4トランザクションデータまたは第5トランザクションデータを生成した場合には、通信部403を介して、認証サーバ装置300、310及び320の少なくとも1つへ送信する。
 これにより、第1取引の当事者である情報提供者及び情報利用者の少なくとも一方は、分散台帳に書き込まれた第4トランザクションデータを取得することで、第1取引に異常があったことを確認することができる。同様に、第2取引の当事者である情報提供者及び情報利用者の少なくとも一方が、分散台帳に書き込まれた第5トランザクションデータを取得し、第2取引には異常がなかったことを確認することができる。
 [変形例1に係る情報取引システムの動作]
 続いて、変形例1に係る情報取引システムの動作の一例として、取引監査フェーズにおける情報取引システムの動作について説明する。
 [取引監査フェーズ]
 取引監査フェーズの動作について説明する。取引監査フェーズでは、分散台帳に書きこまれている取引の異常を情報取引監査装置が監査する動作が行われる。
 図15は、変形例1に係る取引監査フェーズの動作の一例を示すシーケンス図である。
 まず、情報取引監査装置400aは、例えば認証サーバ装置320の最新の分散台帳を取得する(S501)。図15に示す例では、情報取引監査装置400aは、例えば認証サーバ装置320に最新台帳(つまり最新の分散台帳)を要求し、認証サーバ装置320により送信された最新台帳を取得する。なお、情報取引監査装置400aが最新の分散台帳を取得するタイミングは定期的である。
 次に、情報取引監査装置400aは、ステップS501で取得した最新の分散台帳を格納する(S502)。
 次に、情報取引監査装置400aは、ステップS502で格納した最新の分散台帳から、既に格納している分散台帳を確認することで、分散台帳に書き込まれる全ての取引のうち異常がある取引があるかを確認する(S503)。より具体的には、情報取引監査装置400aは、分散台帳に含まれる第1トランザクションデータ及び第2トランザクションデータ等をすべて抜き出し、全ての取引について、正しく完了しているか、正しく経過しているかを確認することで異常がある取引があるかを確認する。
 ステップS503において、異常がある取引がない場合(S503でなし)、情報取引監査装置400aは、ステップS501まで戻って処理を繰り返す。
 一方、ステップS503において、異常な取引があることが確認された場合(S503であり)には、情報取引監査装置400aは、異常があった第1取引に関する情報を含む第4トランザクションデータを生成する(S504)。
 次に、情報取引監査装置400aは、ステップS504で生成した第4トランザクションデータを、認証サーバ装置300、310、320に送信する(S505)。
 次に、認証サーバ装置300、310、320それぞれは、取得した第4トランザクションデータを格納する(S506)。
 次に、認証サーバ装置300、310、320は、第4トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S507)。認証サーバ装置300、310、320は、第4トランザクションデータの正当性を検証すると、それぞれ第4トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS507でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S508)。
 これにより、第1取引の当事者である情報提供者及び情報利用者の少なくとも一方は、分散台帳に書き込まれた第4トランザクションデータを取得することで、第1取引に異常があったことを確認することができる。
 (変形例2)
 上述した実施の形態では、情報提供者端末100は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報の目録と、そのアクセス権とを含む第3トランザクションデータを生成するとして説明したが、これに限らない。情報提供者端末100aは、分散台帳を介して提供可能な1以上の情報のハッシュ値を、第3トランザクションデータに含めてもよい。以下、この場合を変形例2として説明する。
 [情報提供者端末100a]
 図16は、変形例2に係る情報提供者端末100aの機能構成の一例を示す図である。図2等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
 図16に示す情報提供者端末100aは、図2に示す情報提供者端末100に対して、ハッシュ値計算部108をさらに備える点で構成が異なる。以下、上述した実施の形態と異なる点を中心に説明する。
 [ハッシュ値計算部108]
 ハッシュ値計算部108は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報のリストにおける1以上の情報それぞれに対してしたハッシュ値を計算する。
 これにより、本変形例では、トランザクションデータ生成部106は、第3トランザクションデータに、さらに、分散台帳を介して提供可能な1以上の情報のリスト(第1情報目録)における1以上の情報それぞれに対して計算したハッシュ値を含めて生成することができる。
 この結果、第1情報目録と、第1情報目録における1以上の情報それぞれに対して計算されたハッシュ値とが、分散台帳で公開されることになる。
 [情報利用者端末200a]
 図17は、変形例2に係る情報利用者端末200aの機能構成の一例を示す図である。図5等と同様の要素には同一の符号を付しており、詳細な説明は省略する。
 図17に示す情報利用者端末200aは、図5に示す情報利用者端末200に対して、ハッシュ値検証部208をさらに備える点で構成が異なる。以下、上述した実施の形態と異なる点を中心に説明する。
 [ハッシュ値検証部208]
 ハッシュ値検証部208は、暗号化情報復号部206が第1暗号化情報を復号することで第1情報を取得後、その第1情報のハッシュ値(以下、第1ハッシュ値と称する)を計算する。
 ハッシュ値検証部208は、分散台帳で公開された1以上の情報それぞれに対するハッシュ値のうち第1情報に対応する第2ハッシュ値と、計算した第1ハッシュ値とを比較する。
 ハッシュ値検証部208は、第2ハッシュ値と第1ハッシュ値とを比較して、第2ハッシュ値と第1ハッシュ値とが異なっていた場合、トランザクションデータ生成部204に再度、第1トランザクションデータを生成させる。
 このように、情報利用者端末200aは、取得した第1情報の第1ハッシュ値と、分散台帳で公開された第2ハッシュ値とを比較する。情報利用者端末200aは、第1ハッシュ値と第2ハッシュ値とが一致していれば第1情報の取引を完了するが、一致していなかった場合には情報提供者端末100aに対して第1情報の再送を要求する。
 [変形例2に係る情報取引システムの動作]
 続いて、変形例2に係る情報取引システムの動作の一例として、アクセス権設定フェーズと情報復号フェーズとにおける情報取引システムの動作について説明する。
 [アクセス権設定フェーズ]
 変形例2に係るアクセス権設定フェーズの動作について説明する。
 図18は、変形例2に係るアクセス権設定フェーズの動作の一例を示すシーケンス図である。図10等と同様の要素には同一の符号を付しており、詳細な説明は省略する。図18に示すアクセス権設定フェーズの動作は、図10に示すアクセス権設定フェーズの動作と比較して、ステップS102aの動作が異なる。
 すなわち、ステップS102aにおいて、情報提供者端末100aは、ステップS101で選択した1以上の情報の目録(すなわち第1情報目録)と、アクセス権情報と、ハッシュ値とを含む第3トランザクションデータを生成する。このハッシュ値は上述したように、第1情報目録における1以上の情報それぞれに対して計算されたハッシュ値である。
 [情報復号フェーズ]
 続いて、変形例2に係る情報復号フェーズの動作について説明する。
 図19は、変形例2に係る情報復号フェーズの動作の一例を示すシーケンス図である。図13等と同様の要素には同一の符号を付しており、詳細な説明は省略する。図19に示す情報復号フェーズの動作は、図13に示す情報復号フェーズの動作と比較して、ステップS405以降の動作が追加されている。
 すなわち、まず、ステップS404において、情報利用者端末200aは、第2トランザクションデータに含まれる第1暗号化情報を、復号鍵で復号することで、情報要求フェーズで要求した第1情報を取得する。
 次に、情報利用者端末200aは、ステップS404で復号した第1情報の第1ハッシュ値を計算する(S405)。
 次に、情報利用者端末200aは、分散台帳で公開された第1情報に対応する第2ハッシュ値を取得する(S406)。
 次に、情報利用者端末200aは、ハッシュ値を比較する(S407)。より具体的には、情報利用者端末200aは、ステップS405で計算した第1情報の第1ハッシュ値と、ステップS406で取得した第1情報の第2ハッシュ値とを比較する。
 ステップS407において、比較したハッシュ値が一致する場合(S407で一致)には、処理を終了する。
 一方、ステップS407において、比較したハッシュ値が一致しない場合(S407で不一致)、情報利用者端末200aは、情報要求フェーズのステップS204で生成した第1トランザクションデータを、認証サーバ装置300、310、320に送信(再送)する(S408)。
 すると、認証サーバ装置300、310、320それぞれは、取得した第1トランザクションデータを格納する(S409)。
 次に、認証サーバ装置300、310、320は、第1トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S410)。認証サーバ装置300、310、320は、第1トランザクションデータの正当性を検証すると、それぞれ第1トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS410でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S411)。
 このようにして、情報利用者端末200aは、第1ハッシュ値と第2ハッシュ値とが一致していれば第1情報の取引を完了するが、一致していなかった場合には情報提供者端末100aに対して第1情報の再送を要求する。よって、情報利用者端末200aは、情報利用者が要求した正しい第1情報を確実に取得することができる。
 (変形例3)
 上記の実施の形態及び変形例において、情報利用者端末200は、情報復号フェーズにおいて第1情報を復号することにより取得した後、情報提供者に対して対価を支払ってもよい。つまり、情報取引システムの動作として、情報復号フェーズにおいて、さらに対価支払いフェーズの動作を行ってもよい。以下、この場合を変形例3として、上記実施の形態等と異なる点を中心に説明する。
 [対価支払いフェーズ]
 図20は、変形例3に係る対価支払いフェーズの動作の一例を示すシーケンス図である。
 まず、情報利用者端末200は、情報要求フェーズで要求した第1情報を取得できたかを確認する(S501)。
 ステップS501において、要求した第1情報を取得できたことを確認した場合(S501でYES)、情報利用者端末200は、情報提供者へ対価を支払う第6トランザクションデータを生成する(S502)。ここでの対価とは、ビットコインのような暗号資産でもよいし、現金でもよいし、情報取引システム内でのみ使用できる独自のポイントでもよいし、相応の価値のあるものでもよい。また、情報利用者が例えば銀行振込等により代価を支払った後、支払ったことを証明する証書を示すデータを第6トランザクションデータに含めてもよい。
 次に、情報利用者端末200は、ステップS502で生成した第6トランザクションデータを、認証サーバ装置300、310、320に送信する(S503)。
 次に、認証サーバ装置300、310、320それぞれは、取得した第6トランザクションデータを格納する(S504)。
 次に、認証サーバ装置300、310、320は、第6トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S505)。認証サーバ装置300、310、320は、第6トランザクションデータの正当性を検証すると、それぞれ第6トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS506でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S506)。
 なお、上記では、情報利用者端末200は、情報要求フェーズで要求した第1情報を取得できた毎に、情報提供者に対して対価を支払うとして説明したが、これに限らない。情報利用者端末200は、例えば10回に一度等、一定回数の取引ごとなど、所定の回数、第1情報を取得したときに、情報提供者に対してまとめて対価を支払ってもよい。また、情報利用者端末200は、例えば1か月に一度等、所定期間内に取得した第1情報の分の対価を情報提供者に対してまとめて支払ってもよい。
 (変形例4)
 変形例3では、情報利用者端末200が生成した、情報提供者へ対価を支払う第6トランザクションデータが分散台帳に書き込まれることで、分散台帳を介して情報利用者から情報提供者へ対価を支払われるとして説明したが、これに限らない。情報利用者は、情報提供者端末100が作成したスマートコントラクトを利用し、情報提供者への対価を支払うとしてもよい。この場合、情報利用者は、情報利用者端末200に、第1情報を取得できた旨のトランザクションデータを生成し、分散台帳に送信すればよい。以下、この場合を変形例4として、上記変形例3と異なる点を中心に説明する。
 [スマートコントラクト設定フェーズ]
 図21は、変形例4に係るスマートコントラクト設定フェーズの動作の一例を示すシーケンス図である。
 まず、情報提供者端末100は、情報提供者へ対価を支払うためのスマートコントラクトを作成する(S601)。ここで作成されるスマートコントラクトは、分散台帳を利用することで情報提供者へ対価を支払うという行動が実行可能にプログラム化されたスマートコントラクトである。
 次に、情報提供者端末100は、ステップS601で作成したスマートコントラクトと、例えば情報提供者に紐づけられる電子署名とを含むトランザクションデータを生成する(S602)。
 次に、情報提供者端末100は、ステップS602で生成したトランザクションデータを、認証サーバ装置300、310、320に送信する(S603)。
 次に、認証サーバ装置300、310、320それぞれは、取得したトランザクションデータを格納する(S604)。
 次に、認証サーバ装置300、310、320は、当該トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S605)。認証サーバ装置300、310、320は、当該トランザクションデータの正当性を検証すると、それぞれ当該トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS605でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S606)。
 このようにして情報提供者端末100が作成したスマートコントラクトが分散台帳に書き込まれる。
 そして、このスマートコントラクトは、分散台帳に書き込まれることで、実行可能になるすなわち稼働する(S607)。
 [情報復号フェーズ]
 本変形例では、情報復号フェーズにおいて、情報利用者端末200が第1情報を復号することにより取得した後、第1情報を取得できた旨のトランザクションデータを分散台帳に書き込む。これにより、スマートコントラクトが情報提供者に対して対価を支払うことができる。以下、これについて図22を用いて説明する。
 図22は、変形例4に係る情報復号フェーズの動作の一例を示すシーケンス図である。
 まず、情報利用者端末200は、情報要求フェーズで要求した第1情報を取得できたかを確認する(S701)。
 ステップS701において、要求した第1情報を取得できたことを確認した場合(S701でYES)、情報利用者端末200は、第1情報を取得できた旨を示すトランザクションデータを生成する(S702)。
 次に、情報利用者端末200は、ステップS702で生成したトランザクションデータを、認証サーバ装置300、310、320に送信する(S703)。
 次に、認証サーバ装置300、310、320それぞれは、取得した当該トランザクションデータを格納する(S704)。
 次に、認証サーバ装置300、310、320は、当該トランザクションデータの正当性について合意するためのコンセンサスアルゴリズムを実行する(S705)。認証サーバ装置300、310、320は、当該トランザクションデータの正当性を検証すると、それぞれ当該トランザクションデータを含むブロックを生成する。
 次に、認証サーバ装置300、310、320は、ステップS705でコンセンサスアルゴリズムを実行したことにより生成されたブロックを分散台帳に書き込むことで、分散台帳を更新する(S706)。
 すると、認証サーバ装置300、310、320それぞれは、支払を実行するスマートコントラクトを実行させる(S707)。これにより、スマートコントラクトが情報提供者に対して対価を支払うことができる。
 以上のようにして、情報利用者は、分散台帳に書きこまれたスマートコントラクトを用いて、情報提供者に対して対価を支払うことができる。なお、ブロックチェーンを用いたシステムの場合、最も時間のかかる処理はコンセンサスアルゴリズムを実行する処理である。本変形例では、スマートコントラクトを用いることで、上記変形例3に比べてコンセンサスアルゴリズムの実行回数が少なくできるので、取引にかかる時間を短縮できる。
 (変形例5)
 なお、上記の実施の形態及び変形例では、分散台帳に書き込まれて公開される情報は、情報提供者が保有している情報のうち分散台帳を介して提供可能な1以上の情報のリストを示す第1情報目録であるとして説明したが、これに限らない。分散台帳を介して提供可能な1以上の情報であるが公開される情報を、情報利用者それぞれの公開鍵で暗号化した暗号化情報であるとしてもよい。
 より具体的には、情報提供者が保有する1以上の情報が、1以上の情報利用者端末200それぞれにより生成された暗号鍵で暗号化された暗号化情報と、当該暗号化情報それぞれを一意に識別するための暗号化情報IDとが複数の認証サーバ装置の分散台帳に書き込まれているとしてもよい。
 この場合、情報提供者端末100は、分散台帳に書きこまれた以下を含む第1トランザクションデータを取得すればよい。ここで、第1トランザクションデータは、第1情報利用者を一意に識別する識別子である第1情報利用者IDと、情報提供者を一意に識別する識別子である情報提供者IDと、情報提供者により分散台帳で公開された第1情報目録のうち第1情報利用者が要求する第1情報の目録を示す第2情報目録とを含む。
 そして、情報提供者端末100は、以下を含む第2トランザクションデータを生成すればよい。つまり、第2トランザクションデータには、第2情報目録により指定される第1情報に対応する1以上の暗号化情報のうち、第1情報利用者の情報利用者端末200により生成された暗号鍵で暗号化された第1暗号化情報を識別する暗号化情報IDと、情報提供者IDと、第1情報利用者IDとが含まれる。
 (他の実施の形態)
 以上、本開示に係る情報取引システムについて、実施の形態に基づいて説明したが、本開示は、上記の実施の形態に限定されるものではない。本開示の主旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態に施したものや、実施の形態に係る一部の構成要素を組み合わせて構成される別の形態も、本開示の範囲に含まれる。例えば、以下のような場合も本開示に含まれる。
 (1)上記実施の形態及び変形例では、情報提供者端末100等、情報利用者端末200等、及び情報取引監査装置400は、生成したトランザクションデータを全ての認証サーバ装置すなわち認証サーバ装置300、310、320に送信していたが、これに限らない。
 情報提供者端末100等、情報利用者端末200等、及び情報取引監査装置400は、認証サーバ装置のいずれか1つ、または1つ以上に送信してもよい。この場合、トランザクションデータを受け取った認証サーバ装置は、他の認証サーバ装置のいずれか1つ、または1つ以上に送信していくことで、全ての認証サーバ装置でトランザクションデータを共有することができる。
 (2)上記実施の形態及び変形例では、情報要求フェーズにおいて、情報利用者のアクセス権を情報提供者が確認する場合を例に挙げて説明したが、これに限らない。情報要求フェーズにおいて、認証サーバ装置300、310、320がコンセンサスアルゴリズムを実行する際にアクセス権の確認も行ってもよい。この場合、情報利用者にアクセス権がなかった場合には取得したトランザクションデータを破棄してもよい。
 より具体的には、情報要求フェーズでは、1以上の認証サーバ装置が、第1トランザクションデータを取得したときに、第1情報に設定されているアクセス権が情報利用者にあるかを確認してもよい。そして、情報利用者に前記第1情報に設定されているアクセス権がない場合、1以上の認証サーバ装置は、取得した第1トランザクションデータを破棄し、第1トランザクションデータの検証を行わないとしてもよい。
 (3)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (4)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部またはすべてを含むように1チップ化されてもよい。
 また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (5)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (6)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
 また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
 また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (7)上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、情報取引方法、端末、及び、プログラムに利用でき、例えばブロックチェーンを介して情報を取引することで取引履歴を保証するサービスに利用する情報取引方法、端末、及び、プログラムに利用可能である。
 100、100a 情報提供者端末
 101 保有情報格納部
 102 公開情報選択部
 103 アクセス権設定部
 104、205 トランザクションデータ要求部
 105 情報暗号化部
 106、204、404 トランザクションデータ生成部
 107、207、304、403 通信部
 108 ハッシュ値計算部
 200、200a 情報利用者端末
 201 暗号鍵生成部
 202 暗号鍵保管部
 203 要求情報選択部
 206 暗号化情報復号部
 208 ハッシュ値検証部
 300、310、320 認証サーバ装置
 301 トランザクションデータ格納部
 302 トランザクションデータ検証部
 303 台帳更新部
 400、400a 情報取引監査装置
 401 台帳格納部
 402 取引検証部

Claims (19)

  1.  情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法であって、
     前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、
     前記情報提供フェーズでは、
     前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、
     前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、
     前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、
     前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる、
     情報取引方法。
  2.  さらに、前記情報提供フェーズの前に、前記情報利用者が、前記分散台帳を介して、前記情報提供者に対して前記第1情報を要求する情報要求フェーズと、
     前記情報提供フェーズの後に、前記情報利用者が、前記分散台帳を介して前記情報提供者により提供された前記第1暗号化情報の復号を行う情報復号フェーズと、を含み、
     前記情報要求フェーズでは、
     前記情報利用者端末が、前記第1トランザクションデータを生成し、
     前記情報利用者端末が、前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、
     前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれ、
     前記情報復号フェーズでは、
     前記情報利用者端末が、前記分散台帳に書きこまれた前記第2トランザクションデータを取得し、
     前記情報利用者端末が、取得した前記第2トランザクションデータに含まれる前記第1暗号化情報を、前記情報利用者端末が前記暗号鍵とともに生成した前記暗号鍵と異なる復号鍵を利用して復号することで、前記第1情報を取得する、
     請求項1に記載の情報取引方法。
  3.  前記情報提供者端末が前記第1トランザクションデータを取得する際、
     前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを取得し、
     前記情報利用者端末が、前記第2トランザクションデータを取得する際、
     前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを取得する、
     請求項2に記載の情報取引方法。
  4.  前記認証サーバ装置は、トランザクションデータ送信機能を有し、
     前記情報提供フェーズでは、前記情報提供者端末が前記第1トランザクションデータを取得する際、
     前記認証サーバ装置が、前記情報提供者IDに基づいて、前記分散台帳に書きこまれた前記第1トランザクションデータを前記情報利用者端末に送信することで、前記情報提供者端末が前記第1トランザクションデータを取得し、
     前記情報復号フェーズでは、前記情報利用者端末が、前記第2トランザクションデータを取得する際、
     前記認証サーバ装置が、前記情報利用者IDに基づいて、前記分散台帳に書きこまれた前記第2トランザクションデータを前記情報利用者端末に送信することで、前記情報利用者端末が、前記第2トランザクションデータを取得する、
     請求項2に記載の情報取引方法。
  5.  前記第1情報目録は、前記情報提供者が保有している情報のうち前記分散台帳を介して提供可能な1以上の情報のリストを示し、
     前記情報取引方法は、さらに、
     前記情報要求フェーズの前に、前記情報提供者が、前記リストにおける前記1以上の情報それぞれに対するアクセス権を設定するアクセス権設定フェーズを含み、
     前記アクセス権設定フェーズでは、
     前記情報提供者端末が、前記第1情報目録と、前記リストにおける前記1以上の情報それぞれに対して設定されたアクセス権を示すアクセス権情報と、日時と、前記情報提供者の署名とを含む第3トランザクションデータを生成し、
     前記情報提供者端末が、前記第3トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録が公開される、
     請求項2~4のいずれか1項に記載の情報取引方法。
  6.  前記情報要求フェーズでは、
     前記情報利用者端末が、前記第1トランザクションデータを生成する前に、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、
     前記情報利用者に前記第1情報に設定されているアクセス権がある場合、前記情報利用者端末が、前記第1トランザクションデータを生成する、
     請求項5に記載の情報取引方法。
  7.  前記情報要求フェーズでは、
     前記1以上の認証サーバ装置が、前記第1トランザクションデータを取得したときに、前記第1情報に設定されているアクセス権が前記情報利用者にあるかを確認し、
     前記情報利用者に前記第1情報に設定されているアクセス権がない場合、前記1以上の認証サーバ装置が、取得した前記第1トランザクションデータを破棄し、前記第1トランザクションデータの検証を行わない、
     請求項6に記載の情報取引方法。
  8.  前記アクセス権設定フェーズでは、
     前記情報提供者端末が、前記第3トランザクションデータに、さらに、前記リストにおける前記1以上の情報それぞれに対して計算したハッシュ値を含めて生成し、
     前記1以上の認証サーバ装置が、前記第3トランザクションデータの検証を行った後に前記分散台帳を更新し、前記第3トランザクションデータが前記分散台帳に書き込まれることで、前記分散台帳で前記第1情報目録と前記ハッシュ値とが公開され、
     前記情報復号フェーズでは、さらに、
     前記情報利用者端末が、前記第1暗号化情報を復号することで前記第1情報を取得後、前記第1情報の第1ハッシュ値を計算し、
     前記情報利用者端末が、前記分散台帳で公開された前記ハッシュ値のうち前記第1情報に対応する第2ハッシュ値と、前記第1ハッシュ値とを比較する、
     請求項5~7のいずれか1項に記載の情報取引方法。
  9.  前記第2ハッシュ値と前記第1ハッシュ値とを比較して、前記第2ハッシュ値と前記第1ハッシュ値とが異なっていた場合、前記情報利用者端末が、再度、前記第1トランザクションデータを生成し、
     前記情報利用者端末が、再度生成した前記第1トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置が、前記複数の認証サーバ装置のうち前記1以上の認証サーバ装置を除く認証サーバ装置に、前記第1トランザクションデータを送信し、
     前記複数の認証サーバ装置が、前記第1トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第1トランザクションデータが前記分散台帳に書き込まれる、
     請求項8に記載の情報取引方法。
  10.  前記情報復号フェーズでは、さらに、
     前記第1情報を取得した場合、前記情報利用者が、前記情報提供者に対して対価を支払う、
     請求項2~9のいずれか1項に記載の情報取引方法。
  11.  前記対価を支払う際、
     前記情報利用者が、所定の回数、前記第1情報を取得したときに、前記所定の回数の分の対価を前記情報提供者に対して支払う、
     請求項10に記載の情報取引方法。
  12.  前記情報復号フェーズでは、さらに、
     前記情報利用者が、所定期間ごとに、前記所定期間内に取得した前記第1情報の分の対価を前記情報提供者に対して支払う、
     請求項2~9のいずれか1項に記載の情報取引方法。
  13.  前記対価を支払う際、
     前記分散台帳に書きこまれたスマートコントラクトを用いて、前記情報利用者が、前記情報提供者に対して対価を支払う、
     請求項10~12のいずれか1項に記載の情報取引方法。
  14.  前記システムは、さらに情報取引を監査する情報取引監査装置を備え、
     前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、
     前記取引監査フェーズでは、
     前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、
     前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方に前記第1取引に異常があった旨の通知を行う、
     請求項1~13のいずれか1項に記載の情報取引方法。
  15.  前記システムは、さらに情報取引を監査する情報取引監査装置を備え、
     前記情報取引方法は、さらに、前記情報取引監査装置が前記分散台帳に書きこまれている取引の異常を監査する取引監査フェーズを含み、
     前記取引監査フェーズでは、
     前記情報取引監査装置が前記分散台帳を確認することで、前記分散台帳に書き込まれる全ての取引について異常があるかを確認し、
     前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常があった第1取引に関する情報を含む第4トランザクションデータを生成し、
     前記情報取引監査装置が、前記第4トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置は前記第4トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第4トランザクションデータが前記分散台帳に書き込まれ、
     前記第1取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第4トランザクションデータを取得し、前記第1取引に異常があったことを確認する、
     請求項1~13のいずれか1項に記載の情報取引方法。
  16.  前記取引監査フェーズでは、
     前記情報取引監査装置が、前記分散台帳に書き込まれる全ての取引のうち、異常がなかった第2取引に関する情報を含む第5トランザクションデータを生成し、
     前記情報取引監査装置が、前記第5トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置は前記第5トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第5トランザクションデータが前記分散台帳に書き込まれ、
     前記第2取引の当事者である前記情報提供者及び前記情報利用者の少なくとも一方が、前記分散台帳に書き込まれた前記第5トランザクションデータを取得し、前記第2取引には異常がなかったことを確認する、
     請求項15に記載の情報取引方法。
  17.  1以上の情報提供者が使用する1以上の情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備える情報取引方法であって、
     前記情報提供者が保有する1以上の情報が、前記1以上の情報利用者端末それぞれにより生成された暗号鍵で暗号化された暗号化情報と、前記暗号化情報それぞれを一意に識別するための暗号化情報IDとが前記複数の認証サーバ装置の分散台帳に書き込まれており、
     第1情報利用者を一意に識別する識別子である第1情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記第1情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、
     前記情報提供者端末が、前記第2情報目録により指定される前記第1情報に対応する1以上の暗号化情報のうち、前記第1情報利用者の情報利用者端末により生成された暗号鍵で暗号化された第1暗号化情報を識別する暗号化情報IDと、前記情報提供者IDと、前記第1情報利用者IDとを含む第2トランザクションデータを生成し、
     前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれる、
     情報取引方法。
  18.  情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報利用者端末であって、
     前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記認証サーバ装置の分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、取得する通信部と、
     前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成する情報暗号化部と、
     前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成するトランザクションデータ生成部とを備え、
     前記通信部は、前記第2トランザクションデータを、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置に送信することで、前記1以上の認証サーバ装置に前記第2トランザクションデータを前記分散台帳に書き込ませる、
     情報利用者端末。
  19.  情報提供者が使用する情報提供者端末と、情報利用者が使用する情報利用者端末と、前記情報提供者端末及び前記情報利用者端末がネットワークを介して通信可能な複数の認証サーバ装置とを備えるシステムの情報取引方法をコンピュータに実行させるためのプログラムであって、
     前記情報提供者が、前記複数の認証サーバ装置のうちの1以上の認証サーバ装置の分散台帳を介して、前記情報利用者が要求する情報を提供する情報提供フェーズを含み、
     前記情報提供フェーズでは、
     前記情報利用者端末が生成した暗号鍵と、前記情報利用者を一意に識別する識別子である情報利用者IDと、前記情報提供者を一意に識別する識別子である情報提供者IDと、前記情報提供者により前記分散台帳で公開された第1情報目録に示される情報のうち前記情報利用者が要求する第1情報の目録を示す第2情報目録を含む第1トランザクションデータであって前記分散台帳に書きこまれた前記第1トランザクションデータを、前記情報提供者端末が、取得し、
     前記情報提供者端末が、前記第2情報目録により指定される前記第1情報を、前記暗号鍵を利用して暗号化した第1暗号化情報を生成し、
     前記情報提供者端末が、前記情報提供者IDと前記情報利用者IDと前記第1暗号化情報とを含む第2トランザクションデータを生成し、
     前記情報提供者端末が、前記第2トランザクションデータを、前記1以上の認証サーバ装置に送信し、
     前記1以上の認証サーバ装置が、前記第2トランザクションデータの検証を行った後に前記分散台帳を更新することで、前記第2トランザクションデータが前記分散台帳に書き込まれることを、
     コンピュータに実行させるためのプログラム。
PCT/JP2020/019169 2019-05-14 2020-05-13 情報取引方法、情報利用者端末、及び、プログラム Ceased WO2020230831A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021519469A JP7467435B2 (ja) 2019-05-14 2020-05-13 情報取引方法、情報利用者端末、及び、プログラム
EP20806086.3A EP3971810A4 (en) 2019-05-14 2020-05-13 INFORMATION TRANSACTION METHOD, INFORMATION USER TERMINAL AND PROGRAM
CN202080034530.1A CN113795832A (zh) 2019-05-14 2020-05-13 信息交易方法、信息使用者终端及程序
US17/521,018 US12307445B2 (en) 2019-05-14 2021-11-08 Information transaction method, information user terminal, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962847440P 2019-05-14 2019-05-14
US62/847,440 2019-05-14

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/521,018 Continuation US12307445B2 (en) 2019-05-14 2021-11-08 Information transaction method, information user terminal, and recording medium

Publications (1)

Publication Number Publication Date
WO2020230831A1 true WO2020230831A1 (ja) 2020-11-19

Family

ID=73289588

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/019169 Ceased WO2020230831A1 (ja) 2019-05-14 2020-05-13 情報取引方法、情報利用者端末、及び、プログラム

Country Status (5)

Country Link
US (1) US12307445B2 (ja)
EP (1) EP3971810A4 (ja)
JP (1) JP7467435B2 (ja)
CN (1) CN113795832A (ja)
WO (1) WO2020230831A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3971810A4 (en) * 2019-05-14 2022-07-06 Panasonic Intellectual Property Corporation of America INFORMATION TRANSACTION METHOD, INFORMATION USER TERMINAL AND PROGRAM
CN115099971A (zh) * 2022-06-28 2022-09-23 中国银行股份有限公司 一种交易信息的处理方法、装置及相关设备
JP2024008114A (ja) * 2022-07-07 2024-01-19 トヨタ自動車株式会社 データ管理装置およびデータ管理システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207979A (ja) * 2016-05-19 2017-11-24 株式会社野村総合研究所 改ざん検知システム、及び改ざん検知方法
WO2018201009A1 (en) * 2017-04-28 2018-11-01 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
JP2019053427A (ja) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 情報処理装置、画像ファイルのデータ構造及びプログラム
JP3222165U (ja) * 2016-10-26 2019-07-18 ブラック ゴールド コイン インコーポレイテッドBlack Gold Coin, Inc. 相互認証構成によるユーザ認証に対する汎用分散型ソリューションを実現するシステム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412947B2 (en) * 2006-10-05 2013-04-02 Ceelox Patents, LLC System and method of secure encryption for electronic data transfer
US9106911B2 (en) * 2010-04-02 2015-08-11 Panasonic Intellectual Property Corporation Of America Wireless communication device and wireless communication method
US10277561B2 (en) * 2016-07-22 2019-04-30 International Business Machines Corporation Database management system shared ledger support
US20180285839A1 (en) * 2017-04-04 2018-10-04 Datient, Inc. Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network
CN107239953B (zh) * 2017-06-20 2021-10-29 无锡井通网络科技有限公司 基于区块链的快速数据存储方法及系统
US10735202B2 (en) * 2017-07-24 2020-08-04 International Business Machines Corporation Anonymous consent and data sharing on a blockchain
WO2019072823A1 (en) * 2017-10-09 2019-04-18 Grant Jedediah S METHOD AND SYSTEM FOR SHARING ASYNCHRONOUS TRACEABLE DATA IN A COMMUNICATION NETWORK
EP3503595B1 (en) * 2017-12-19 2020-11-11 Nokia Technologies Oy Provision of location-specific user information
CA3094438A1 (en) * 2018-03-26 2019-10-03 Nuriflex Inc. Transaction system and transaction method
CN108615148B (zh) * 2018-03-26 2019-03-15 北交金科金融信息服务有限公司 一种基于区块链技术的担保资产前置交易方法及系统
US12008561B2 (en) * 2018-04-20 2024-06-11 Infonetworks Llc System for verification of pseudonymous credentials for digital identities with managed access to personal data on trust networks
US11281796B2 (en) * 2018-06-13 2022-03-22 At&T Intellectual Property I, L.P. Blockchain based information management
US20200089720A1 (en) * 2018-09-14 2020-03-19 Keith Dallara Delivery of contextual content using blockchain data
CN110400221B (zh) * 2018-09-29 2021-09-10 腾讯科技(深圳)有限公司 数据处理方法、系统、存储介质及计算机设备
US20200202333A1 (en) * 2018-12-21 2020-06-25 Oath Inc. Method and system for self-sovereign information management
JP7231449B2 (ja) * 2019-03-18 2023-03-01 株式会社日立製作所 信用分析支援方法、信用分析支援システム、およびノード
EP3971810A4 (en) * 2019-05-14 2022-07-06 Panasonic Intellectual Property Corporation of America INFORMATION TRANSACTION METHOD, INFORMATION USER TERMINAL AND PROGRAM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017207979A (ja) * 2016-05-19 2017-11-24 株式会社野村総合研究所 改ざん検知システム、及び改ざん検知方法
JP3222165U (ja) * 2016-10-26 2019-07-18 ブラック ゴールド コイン インコーポレイテッドBlack Gold Coin, Inc. 相互認証構成によるユーザ認証に対する汎用分散型ソリューションを実現するシステム
WO2018201009A1 (en) * 2017-04-28 2018-11-01 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
JP2019053427A (ja) * 2017-09-13 2019-04-04 富士ゼロックス株式会社 情報処理装置、画像ファイルのデータ構造及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NEAL KOBLITZ, ELLIPTIC CURVE CRYPTOSYSTEMS, Retrieved from the Internet <URL:https:jjwww.ams.orgjjournalsjmcomj1987-48-177jS0025-5718-1987-0866109-5>
RONALD LINN RIVEST ET AL., A METHOD FOR OBTAINING DIGITAL SIGNATURES AND PUBLIC-KEY CRYPTOSYSTEMS, Retrieved from the Internet <URL:https://people.csail.mit.edu/rivest/Rsapaper.pdf>
SATOSHI NAKAMOTO, BITCOIN: A PEER-TO-PEER ELECTRONIC CASH SYSTEM, Retrieved from the Internet <URL:https://bitcoin.org/bitcoin.pdf>
See also references of EP3971810A4

Also Published As

Publication number Publication date
CN113795832A (zh) 2021-12-14
US12307445B2 (en) 2025-05-20
US20220058643A1 (en) 2022-02-24
EP3971810A1 (en) 2022-03-23
EP3971810A4 (en) 2022-07-06
JP7467435B2 (ja) 2024-04-15
JPWO2020230831A1 (ja) 2020-11-19

Similar Documents

Publication Publication Date Title
Niranjanamurthy et al. Analysis of Blockchain technology: pros, cons and SWOT
US10735397B2 (en) Systems and methods for distributed identity verification
US12430639B2 (en) Method, system, and computer-readable medium for secured multi-lateral data exchange over a computer network
JP6524347B2 (ja) 情報共有システム
CN109756582A (zh) 区块链网络中的信息记录方法、装置、节点及存储介质
JP7364238B2 (ja) 電子取引システム、取引サーバ、検証サーバ、電子取引方法及びプログラム
JP7327480B2 (ja) 電子取引システム、取引管理サーバ、電子取引方法及びプログラム
US12081675B2 (en) Content use system, permission terminal, browsing terminal, distribution terminal, and content use program
US12307445B2 (en) Information transaction method, information user terminal, and recording medium
KR102074381B1 (ko) 블록체인 기반의 익명 거래 수행 방법, 장치 및 기록 매체
JP2023540739A (ja) 分散型台帳上の、匿名性取消を伴う、セキュアな、トレース可能な、および、プライバシー保護の、デジタル通貨送金のための方法
US20230128879A1 (en) Knowledge proof method, storage medium, and information processing device
CN116975810A (zh) 身份验证方法、装置、电子设备及计算机可读存储介质
CN112347516A (zh) 基于区块链的资产证明方法及装置
CN111353893A (zh) 基于区块链的交易数据处理方法及装置
US20230188353A1 (en) Multi-issuer anonymous credentials for permissioned blockchains
Ullah et al. Toward blockchain based electronic health record management with fine grained attribute based encryption and decentralized storage mechanisms
CN110827034B (zh) 用于发起区块链交易的方法及装置
JP6901373B2 (ja) ユーザ管理装置、ユーザ管理システム
CN110992034A (zh) 基于区块链的供应链交易隐私保护系统、方法及相关设备
US20230403161A1 (en) Aggregate anonymous credentials for decentralized identity in blockchain
JP2024022850A (ja) 受発注システム及び受発注管理方法
CN120429886B (zh) 一种挂号方法、装置及相关设备
Xu et al. Patients’ privacy protection against insurance companies in eHealth systems
WO2026034099A1 (ja) 情報処理方法、情報処理装置、情報処理システム及びプログラム

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: 20806086

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021519469

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020806086

Country of ref document: EP

Effective date: 20211214