WO2021160981A1 - Procédé et appareil de contrôle d'accès à des données personnelles - Google Patents

Procédé et appareil de contrôle d'accès à des données personnelles Download PDF

Info

Publication number
WO2021160981A1
WO2021160981A1 PCT/GB2020/052724 GB2020052724W WO2021160981A1 WO 2021160981 A1 WO2021160981 A1 WO 2021160981A1 GB 2020052724 W GB2020052724 W GB 2020052724W WO 2021160981 A1 WO2021160981 A1 WO 2021160981A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
computing system
requested
access
data fields
Prior art date
Application number
PCT/GB2020/052724
Other languages
English (en)
Inventor
William Alan WILLIAMS
Original Assignee
Cufflink.IO Ltd
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 Cufflink.IO Ltd filed Critical Cufflink.IO Ltd
Publication of WO2021160981A1 publication Critical patent/WO2021160981A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10JPRODUCTION OF PRODUCER GAS, WATER-GAS, SYNTHESIS GAS FROM SOLID CARBONACEOUS MATERIAL, OR MIXTURES CONTAINING THESE GASES; CARBURETTING AIR OR OTHER GASES
    • C10J3/00Production of combustible gases containing carbon monoxide from solid carbonaceous fuels
    • C10J3/72Other features
    • C10J3/725Redox processes
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10KPURIFYING OR MODIFYING THE CHEMICAL COMPOSITION OF COMBUSTIBLE GASES CONTAINING CARBON MONOXIDE
    • C10K3/00Modifying the chemical composition of combustible gases containing carbon monoxide to produce an improved fuel, e.g. one of different calorific value, which may be free from carbon monoxide
    • C10K3/02Modifying the chemical composition of combustible gases containing carbon monoxide to produce an improved fuel, e.g. one of different calorific value, which may be free from carbon monoxide by catalytic treatment
    • C10K3/04Modifying the chemical composition of combustible gases containing carbon monoxide to produce an improved fuel, e.g. one of different calorific value, which may be free from carbon monoxide by catalytic treatment reducing the carbon monoxide content, e.g. water-gas shift [WGS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10JPRODUCTION OF PRODUCER GAS, WATER-GAS, SYNTHESIS GAS FROM SOLID CARBONACEOUS MATERIAL, OR MIXTURES CONTAINING THESE GASES; CARBURETTING AIR OR OTHER GASES
    • C10J2300/00Details of gasification processes
    • C10J2300/09Details of the feed, e.g. feeding of spent catalyst, inert gas or halogens
    • C10J2300/0953Gasifying agents
    • C10J2300/0956Air or oxygen enriched air
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10JPRODUCTION OF PRODUCER GAS, WATER-GAS, SYNTHESIS GAS FROM SOLID CARBONACEOUS MATERIAL, OR MIXTURES CONTAINING THESE GASES; CARBURETTING AIR OR OTHER GASES
    • C10J2300/00Details of gasification processes
    • C10J2300/09Details of the feed, e.g. feeding of spent catalyst, inert gas or halogens
    • C10J2300/0953Gasifying agents
    • C10J2300/0973Water
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10JPRODUCTION OF PRODUCER GAS, WATER-GAS, SYNTHESIS GAS FROM SOLID CARBONACEOUS MATERIAL, OR MIXTURES CONTAINING THESE GASES; CARBURETTING AIR OR OTHER GASES
    • C10J2300/00Details of gasification processes
    • C10J2300/09Details of the feed, e.g. feeding of spent catalyst, inert gas or halogens
    • C10J2300/0983Additives
    • C10J2300/0996Calcium-containing inorganic materials, e.g. lime
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10JPRODUCTION OF PRODUCER GAS, WATER-GAS, SYNTHESIS GAS FROM SOLID CARBONACEOUS MATERIAL, OR MIXTURES CONTAINING THESE GASES; CARBURETTING AIR OR OTHER GASES
    • C10J2300/00Details of gasification processes
    • C10J2300/16Integration of gasification processes with another plant or parts within the plant
    • C10J2300/164Integration of gasification processes with another plant or parts within the plant with conversion of synthesis gas
    • C10J2300/1656Conversion of synthesis gas to chemicals
    • C10J2300/1659Conversion of synthesis gas to chemicals to liquid hydrocarbons
    • CCHEMISTRY; METALLURGY
    • C10PETROLEUM, GAS OR COKE INDUSTRIES; TECHNICAL GASES CONTAINING CARBON MONOXIDE; FUELS; LUBRICANTS; PEAT
    • C10JPRODUCTION OF PRODUCER GAS, WATER-GAS, SYNTHESIS GAS FROM SOLID CARBONACEOUS MATERIAL, OR MIXTURES CONTAINING THESE GASES; CARBURETTING AIR OR OTHER GASES
    • C10J2300/00Details of gasification processes
    • C10J2300/18Details of the gasification process, e.g. loops, autothermal operation
    • C10J2300/1861Heat exchange between at least two process streams
    • C10J2300/1884Heat exchange between at least two process streams with one stream being synthesis gas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Definitions

  • This invention relates to methods and apparatus for controlling access to personal data.
  • the present invention seeks to provide a new approach that can help to mitigate this concern.
  • the invention provides a method of controlling access to personal data, the method comprising: an electronic user device storing personal data, relating to a first user, comprising one or more user data fields, in a memory of the user device; a computing system requesting access to at least a portion of the personal data stored on the user device by sending an access request to the user device over a network connection, wherein the access request specifies: one or more requested user data fields of the personal data, and a period of time during which the computing system may access the requested user data fields; the user device receiving an input from the first user indicating acceptance of the access request; after the access request is accepted by the first user, the user device sending an encrypted representation of the requested user data fields over a communication link to a remote server, encrypted using a first encryption key; the user device sending an encrypted copy of the first encryption key, or a corresponding decryption key, to the computing system, encrypted using a public key of a public/private key pair; the user device sending an instruction to a distributed blockchain computer system, instruct
  • the invention provides a system for controlling access to personal data, the system comprising: an electronic user device; and a computing system, wherein the user device is configured: to receive, from a first user, personal data comprising one or more user data fields; to store the personal data in a memory of the user device; to receive an access request from the computing system over a network connection, requesting access to at least a portion of the personal data stored on the user device, wherein the access request specifies: one or more requested user data fields of the personal data, and a period of time during which the computing system may access the requested user data fields; to receive an input from the first user indicating acceptance or rejection of the access request; if the access request is accepted by the first user, to send an encrypted representation of the requested user data fields over a communication link to a remote server, encrypted using a first encryption key, and to send an encrypted copy of the first encryption key, or a corresponding decryption key, to the computing system, encrypted using a public key of a public/private key pair; and to
  • a time-limited access request to one or more fields of a user when a time-limited access request to one or more fields of a user’s personal data, which is stored encrypted in a remote server, is received from a computing system (which could be a device or system operated by a company such as a bank, for example), a corresponding smart contract is first stored in a blockchain of a distributed blockchain computer system, and an encrypted copy of a key for accessing the requested fields is sent to the computing system. Then, at a time when the computing system desires to retrieve the personal data, it instructs the distributed blockchain computer system to ask the remote server to send it the encrypted data.
  • a computing system which could be a device or system operated by a company such as a bank, for example
  • This approach enables the distributed blockchain computer system to check that any access conditions in the smart contract have been met, including checking that the request has been made within the specified time limit, and to instruct the server to release the encrypted data only when the access conditions are met.
  • the personal data is “pushed” securely from the remote server to the computing system, rather than being available to be “pulled” by the computing system, thereby ensuring a high level of security.
  • the remote server is preferably part of a distributed storage system.
  • the system may comprise the distributed storage system.
  • the distributed storage system may store a plurality of instances (i.e. copies) of the encrypted representation of the requested user data fields in a respective plurality of locations — e.g. in different towns, districts or countries.
  • Use of a distributed storage system can help to ensure reliable availability to the user’s data. Having multiple copies of the data stored across a plurality of locations improves the reliability of data access.
  • a single failure e.g. a local power outage or data corruption on one server. Having a plurality of distributed copies can mitigate this risk.
  • a distributed storage system means that there is not a central point of failure.
  • a centralised network e.g. owned and operated by a single business, can be subject to complete failure as a result of, for example, power outages, hardware failures, or if the business goes bankrupt.
  • Distributed storage can also provide speed benefits due to the pooling of resources between different storage areas (e.g. servers) of the distributed storage system. Further, decentralised storage can assist with interoperability, as multiple copies of a given piece of data may be stored in different formats usable by different operating systems.
  • the distributed blockchain computer system is preferably a public distributed blockchain computer system accessible over the Internet, such as an Ethereum blockchain. This can help to ensure user trust in the enforcement of the smart contract.
  • the distributed blockchain computer system may store a plurality of instances (i.e. copies) of the smart contract at a respective plurality of locations — e.g. in different towns, districts or countries. This can ensure good availability to the smart contract.
  • the access request may further specify a reason for accessing the requested data and/or a purpose for which the requested data may be used.
  • the access request may comprise a license agreement.
  • a licence agreement may specify at least the period of time for which the personal data is accessible by the second user.
  • the license agreement may also specify a legal basis for which the personal data will be used, e.g. completion of a contract, marketing to customers, tax law compliance etc. Specifying the legal basis or bases and the time period in the license agreement can ensure the method and system comply with applicable privacy laws, such as the European Union’s General Data Protection Regulation (GDPR) that governs the handling of personal data.
  • GDPR General Data Protection Regulation
  • the licence agreement may optionally include data identifying the second user including one or more of: an IP address, an organisation (second user) location, an access key or code belonging to the second user, pre-payment codes (e.g. in the case that the personal data is being used as part of a commercial/financial transaction), or expiry of a subscription by the second user.
  • data identifying the second user including one or more of: an IP address, an organisation (second user) location, an access key or code belonging to the second user, pre-payment codes (e.g. in the case that the personal data is being used as part of a commercial/financial transaction), or expiry of a subscription by the second user.
  • the distributed blockchain computer system may use or process the smart contract to verify that the time of the request from the computing system is within the period of time. Having the smart contract executed by the blockchain keeps the control of the personal data away from the second user. This reduces the possibility of, for example, the second user hacking the smart contract. This is because the smart contract itself is not stored upon/run using computers within the control of the second user.
  • the terms of the smart contract may be visible to all parties (i.e. public information) to encourage transparency in the terms of exchange of personal data as well as providing evidence of the terms in case of a (later) dispute.
  • the smart contract may comprise the data representative of the period of time during which the computing system may access the requested user data fields, or the smart contract may comprise data — e.g. a link, address or identifier — for accessing the data representative of the period of time.
  • data representative of the accepted access request e.g. a copy of the licence agreement
  • the smart contract may be able to obtain data representative of the period of time from the access-request data stored on the server or distributed storage system.
  • the smart contract may optionally comprise further access conditions.
  • the smart contract may comprise data representative of a reason for accessing the requested data and/or a purpose for which the requested data may be used.
  • the request from the computing system to the distributed blockchain computer system may specify a reason for the computing system to access the requested data or a purpose for which the data requested by the computing system will be used. This can ensure compliance with applicable privacy laws, such as the GDPR, and can provide at least part of a record showing that the data was handled in compliance with the applicable privacy laws in case of a dispute.
  • applicable privacy laws such as the GDPR
  • the distributed blockchain computer system may process the smart contract to verify that the received data representative of a reason or a purpose satisfies the smart contract.
  • the first user may modify at least one of the requested user data fields, or a purpose for which the requested data may be used, in the access request received by the user device.
  • the input received from the first user may then indicate acceptance of the modified access request. This can allow users to reject certain conditions that are optional (i.e. not essential for the primary purpose of the sharing of personal data).
  • a second user may request a first set of data fields for, say, completion of an online order, but may also request a second set of data fields (which may be distinct from, or may intersect, the first set) for the purposes of marketing to the first user.
  • the first user may choose to refuse access to the data field required for marketing as this is irrelevant to the online order, while accepting those parts of the agreement required for completion of the online order (e.g. name, delivery address, payment details).
  • provision of the personal data may have a financial cost, e.g. paid by the second user when the second user accesses the personal data.
  • the financial cost of the personal data may be adjusted based on the data fields provided by the first user, i.e.
  • the personal data may be more valuable to the second user if the licence agreement allows use of the personal data for marketing and, optionally, contains additional data fields that are useful for marketing (e.g. date of birth).
  • the second user may be willing to pay a higher price (some of which may be paid to the first user) for the personal data if it includes marketing authorisation.
  • the higher cost of some personal data can encourage data minimisation, i.e. second users not requesting more data than they require.
  • the first user may use the user device to amend the personal data, including amending at least one of the one or more requested user data fields; and the user device may then encrypt and send the amended one or more requested user data fields to the remote server.
  • the first user may update the relevant data fields using the user device. This update may then be “pushed” to the distributed storage such that any subsequent retrieval of the personal data by a second user (duly authorised by the smart contract) will retrieve the most up-to-date data for that data field.
  • This allows the first user to update their personal data in one place and any/all second users to receive the most up-to-date data.
  • second users store their own copies of personal data
  • the data can easily become incorrect/out of data if the first user forgets to inform that specific second user. For example, the first user may remember to update their address after a house move with some online retailers, but may forget others that are less frequently used. This may lead to misdirected marketing materials (e.g. to the old address) or misdirected packages.
  • the computing system may later delete the received personal data. This can ensure that data is even more secure by deleting the data, for example, after the time period has elapsed. Thus, there is not a copy of the data left “lying around” after it is no longer needed, where it may remain vulnerable to, e.g. hacking attacks on the computing system. This can reduce the potential liability for the second user that operates the computing system, i.e. by reducing the amount of data that could potentially be stolen in a data breach. This can also reduce costs for the second user by reducing the storage space needed for storing data from a plurality of first users (e.g. a plurality of customers for a business). This can help the second user comply with applicable laws, such as the “right to be forgotten”.
  • the computing system may be configured to automatically delete the received personal data at a given time/under given conditions (such as those specified in the licence agreement) to assist in compliance with applicable data protection laws.
  • the computing system may use the decrypted personal data, and the deleting may then occur in response to the computing system finishing using the decrypted personal data or in response to the period of time specified by the access request elapsing. As above, this may reduce the potential liability for the second user and reduce data storage costs. This may also reduce the transfer costs to the second user (e.g. smaller data packets) with a respective single second user — i.e. not shared between multiple users (N.B. in the case where the second user is an organisation, multiple natural people within that organisation may be permitted access to the personal data).
  • the time periods for accessing certain data fields of the personal data may expire at different times. For example, some data fields may be necessary for completion of a contract and may be needed for, say, 60 days, while data relating solely to marketing may be needed (requested) for 20 days. Individual data fields may be removed from the encrypted personal data stored on the distributed storage once the time period specified for that data field has elapsed, while other data fields may remain if they have a longer associated time period.
  • access to the personal data is dependent upon the smart contract’s approval.
  • approval of access to the personal information is executed prior to, and separately from, the retrieval of the encrypted personal data. This ensures there are no data access charges or data processing until the terms of the license agreement have been satisfied.
  • the system may comprise at least one node of the distributed blockchain computer system, wherein the distributed blockchain computer system is configured to: receive the instruction from the user device to store the smart contract in the blockchain and, in response, to store the smart contract in the blockchain; and receive the request from the computing system to instruct the remote server to transmit the encrypted representation of the requested user data fields to the computing system and, in response, to send an instruction to the remote server to transmit the encrypted representation of the requested user data fields to the computing system.
  • the system may further comprise the remote server, wherein the server is configured to: receive the encrypted representation of the requested user data fields from the user device and to store the encrypted representation in a memory of the server; and receive an instruction from the distributed blockchain computer system to transmit the encrypted representation of the requested user data fields to the computing system and, in response, to transmit the encrypted representation to the computing system.
  • the server is configured to: receive the encrypted representation of the requested user data fields from the user device and to store the encrypted representation in a memory of the server; and receive an instruction from the distributed blockchain computer system to transmit the encrypted representation of the requested user data fields to the computing system and, in response, to transmit the encrypted representation to the computing system.
  • the remote server may be configured not to transmit the encrypted representation of the requested user data fields to the computing system unless instructed to do so by the distributed blockchain computer system.
  • the system may comprise a distributed data storage system, wherein the distributed data storage system comprises the remote server.
  • the distributed data storage system may be configured to store a plurality of instances (i.e. copies) of the encrypted representation of the requested user data fields distributed across a plurality of respective locations.
  • the license agreement may expire or change independently of the encrypted personal data.
  • the license may thus be the "Terms" of access and these may be assessed (e.g. by the second user) prior to accessing the personal data. If the terms are acceptable, then the second user may obtain the encrypted personal data. Notably, the terms may change after the initial action of storing the encrypted personal data and the license agreement on the distributed storage. This ensures that the processed for updating the terms of the license agreement (e.g. to extend the period of time, or to revoke a particular permission, such as “marketing”) is entirely separate from the process of updating the encrypted personal data. Updating of the encrypted personal data does not necessarily involve the smart contract on the blockchain.
  • the license agreement may also contain information regarding the freshness of the personal information (i.e. when that personal information was last updated). Some personal data does not change (e.g. date of birth), but other data can change frequently (e.g. home address). Some second users may be less interested in old data due to the increased possibility that said data is now incorrect. These aspects of the personal data may be checked prior to the access of the personal data (which can incur a financial cost from the distributed storage). A multi-day “clearing period” may also be implemented in the smart contract for the purposes of dispute resolution. In this event, all access to the personal data can be temporarily "suspended" without deleting the entire licence agreement and/or smart contract by the data owner (the first user) while a dispute is resolved.
  • the first encryption key may be a symmetric key (e.g. AES) or an asymmetric key (e.g. RSA).
  • the first encryption key may also be a decryption key, or it may have a corresponding decryption key, e.g. as part of a public/private key pair.
  • the encrypted copy of the first encryption key, or a corresponding decryption key may be encrypted using a public key of any appropriate public/private key pair, such as an RSA key pair, or an elliptic-curve key pair.
  • the public/private key pair may be associated with the computing system — e.g. being a public key of an entity which owns or controls the computing system. It may be certified by a certificate authority of a public key infrastructure (PKI).
  • PKI public key infrastructure
  • the electronic user device may be a smart phone, a personal computer, a laptop computer, an in-car infotainment system, or any other suitable device. It may comprise a processor and a memory for storing software instructions for execution by the processor. Any of the user-device operations disclosed herein may be performed by software executing on the device and/or by dedicated hardware logic in the user device and/or a combination of both.
  • the computing system may be a single device, e.g. a single server, or it may comprise a plurality of computing devices, which may be on a single physical site or may be distributed geographically. It may comprise a network — e.g. a corporate local area network (LAN) or wide area network (WAN) — linking multiple computing devices.
  • the computing system may comprise one or more processors and a memory for storing software instructions for execution by the one or more processors. Any of the operations disclosed herein that are carried out by the computing system may be performed by software executing on the computing system and/or by dedicated hardware logic in the computing system and/or a combination of both.
  • Any of the communications disclosed herein may be sent over any combination of wired links (e.g. metal wires or fibre optic cables) and/or wireless links (e.g. using a radio protocol such as WiFiTM or 4G, or optical or microwave links). They may be sent over private and/or public network connections, which may include the public Internet. Links may be secured, e.g. using encryption. Devices may be configured to perform cryptographic authentication of other devices disclosed herein before communicating indicated data.
  • wired links e.g. metal wires or fibre optic cables
  • wireless links e.g. using a radio protocol such as WiFiTM or 4G, or optical or microwave links. They may be sent over private and/or public network connections, which may include the public Internet. Links may be secured, e.g. using encryption.
  • Devices may be configured to perform cryptographic authentication of other devices disclosed herein before communicating indicated data.
  • Data and messages such as "access requests”, “personal data”, “instructions”, “keys”, “the period of time”, etc. disclosed herein may each be encoded and/or modulated in any appropriate way.
  • the same data may be encoded differently at different times (e.g. being encoded in a first way for communication and encoded in a second way for storage).
  • Figure 1 is a schematic view of a computing system embodying the invention.
  • Figure 2 is a sequence diagram of a method, embodying the invention, for providing access to personal user data.
  • Figure 1 shows an exemplary computing system embodying the invention.
  • the system generally comprises a user device 10, such as a mobile phone or personal computer, that is operated by a first human user.
  • the first user enters personal data into various data fields shown the user device.
  • the data fields may be “Name”, “Postal Address”, “Banking Address”, “Date of Birth” etc.
  • a second user 20 wishes to obtain some of the personal data from the first user.
  • the second user 20 may be a natural person or may be a legal person, such as a business or government.
  • the second user 20 uses an associated computing device or computing system (e.g. one or more computers on a LAN which is connected to the Internet) for performing the electronic communication and processing steps described herein.
  • some of personal data of the first user is sent from the user device 10 and is stored in encrypted form in a distributed storage system 40. Subsequent access to this encrypted personal data (e.g. by the second user 20) is managed by a smart contract running on a blockchain 30.
  • the second user 20 has sent a licence agreement (an access request) to the first user’s device 10, e.g. via the internet or phone network, which indicates personal data that the second user wishes to access (i.e. which fields of data, such as “Name”, “Postal Address” etc.) and the purposes for which the second user 20 intends to use that personal data.
  • the first user reviews the license agreement on the user device 10 and either modifies it, rejects it, or accepts it.
  • the licence agreement specifies at least a period of time during which the second user 20 is allowed access to the personal data — e.g. a week, a month or a year, or between a pair of specified dates, or from now until a specified future date.
  • the data fields specified in the license agreement may be a subset of the full set of personal data that the first user has entered into the first device 10. That is, the second user may only require some pieces of personal data and the license agreement may specify them accordingly.
  • the requested personal data on the user device 10 is encrypted using an encryption key 14 to form encrypted personal data 12 and is sent to the distributed storage 40.
  • a copy of the accepted licence agreement is also stored on the distributed storage with a datum indicating the storage location of the encrypted personal data within the distributed storage 40.
  • a server 16 may optionally be used to distribute the encrypted personal data and the encryption key 14, as well as to set up the smart contract to be stored on the blockchain 30.
  • the server 12 sends the encryption key 14 to the second user 20.
  • the encryption key 14 (or, equivalently, a corresponding decryption key 14) may be sent in encrypted form to the second user 20.
  • the server also passes the encrypted personal data 12 to the distributed storage 40.
  • the server sets up a smart contract and stores this on the blockchain 30. Thereafter, the smart contract, in cooperation with the license agreement stored in the distributed storage 40, mediates access to the encrypted personal data 12 by the second user 20.
  • the smart contract comprises executable code that is run on the blockchain.
  • the smart contract checks whether the request meets predetermined access conditions. This may be done by the smart contract checking the terms set out in license agreement in the distributed storage 40. At least one of the access conditions that the smart contract checks is that the request from the second user 20 is within the predetermined period of time (i.e. the period also specified in the license agreement).
  • the smart contract may also check a location from which the request comes (e.g. IP address), optionally along with other data, in order to confirm that it is indeed the second user 20 making the request and not a (malicious) third party.
  • the access conditions may also relate to a transaction cost — e.g. granting access only if the second user 20 has sufficient money in a blockchain account to pay a required fee for the transaction.
  • the smart contract sends a release request to the distributed storage.
  • the release request either causes the distributed storage to send the encrypted personal data 12 to the second user, or instructs the distributed storage to allow the second user 20 to download the encrypted personal data 12.
  • the second user 20 then decrypts the encrypted personal data 12 using the encryption key 14 (or using a private key corresponding to the public key used to encrypt the personal information stored on the distributed storage) and thereby gains access to the personal data.
  • the smart contract may be implemented as a "request process" that checks the license agreement on the distributed storage 40 to determine if the access request meets the access requirements. If the access requirements are met, then the location of the encrypted personal data 12 in the distributed storage 40 is passed to the smart contract.
  • the location may be distributed to the second user has a hash.
  • the hash may be public on the distributed storage but, in view of the encryption of the personal data, public knowledge of the hash does not make the personal data public.
  • the smart contract only has access to the encrypted personal data upon successful evaluation, i.e. upon determining that the access conditions are met.
  • the smart contract is public so the location of the encrypted personal data will be made available (visible) only after the access conditions have been approved.
  • the personal data may be encrypted using a public key owned by the second user (having an associated private key).
  • Figure 2 shows a flow diagram of a method 100 for securely providing a first user’s personal data to a second user (which may be a natural or legal entity).
  • the four main entities involved are the first user’s device 10, the second user’s computing system 20 (referred to as the second user 20 for convenience), a distributed blockchain computing system (referred to as blockchain 30 for convenience), and a distributed storage system 40. These entities may communicate over a network, e.g. the internet.
  • the first user device 10 may be a smartphone.
  • the second user system 20 may be a corporate network or server.
  • the blockchain 30 may be a public Ethereum blockchain.
  • the distributed storage 40 may be a server farm distributed across multiple geographical locations within one country or across multiple countries.
  • the first user enters personal data on his/her device 10 by filling in appropriate data fields.
  • the completed data fields, which then make up the personal data may include, for example, the first user’s name, postal address, date of birth, bank account details, billing address, medical history etc.
  • the second user 20 wishes to gain access to a portion of the first user’s personal data.
  • the second user 20 sends a License Agreement to the user device 10 (i.e. to the first user).
  • the License Agreement contains at least the following information:
  • the requested data fields • The legal bases for processing the personal data;
  • the above Legal Bases are defined under the European Union General Data Protection Regulation (GDPR), that has been implemented in EU states.
  • GDPR European Union General Data Protection Regulation
  • the GDPR groups the over-arching purpose for processing personal data under one of 6 specific categories, the Legal Bases. All processing of personal data should be performed under one (or a combination) of the Legal Bases.
  • the device 10 obtains a public key from the second user 20 at step 106.
  • This public key is one part of a public/private key pair.
  • the operation of public key cryptography using public/private key pairs, such as RSA or elliptic-curve cryptography, is well- known in the field.
  • obtaining the public key is depicted as the second user 20 sending the public key to the device 10 (e.g. along with the license agreement).
  • step 106 could alternatively involve the device 10 looking up the public key associated with the second user 20, e.g. on a webpage operated by the second user or a key server.
  • the first user accepts the license agreement on the device 10, e.g. by interacting with a graphical user interface.
  • the user may modify the license agreement in some manner, e.g. to deselect the provision of personal data that the first user does not wish to share with the second user, before accepting it.
  • the device 10 encrypts the requested personal data, i.e. encrypts the first user’s personal data corresponding to the requested data fields that were specified in the license agreement.
  • the device encrypts the requested personal data using an encryption key, Key1, that is generated by or has been stored on the device 10.
  • the device 10 sends the encrypted personal data to the distributed storage 40 along with a copy of the licence agreement, which stores the encrypted data and license agreement for later retrieval.
  • the device encrypts the encryption key (Key1) using the second user’s public key to produce an encrypted encryption key (eKeyl).
  • Key1 is a symmetric key, e.g. an AES key, so the same key can both encrypt and decrypt.
  • the decryption key could be different from the encryption key, Key1, in which case the decryption key is encrypted to form eKeyl,
  • the encrypted key (eKeyl) is sent to the second user 20.
  • the second user 20 has the corresponding private key of the public/private key pair, the second user 20 can now decrypt the encrypted encryption key (eKeyl) at any point.
  • the decryption of the encrypted key (eKeyl) is performed at step 128 (i.e. just before the key is required) but this order of steps is purely exemplary.
  • the device 10 sends a smart contract to the blockchain 30.
  • the smart contract contains at least the access conditions that must be met before access to the personal data is permitted.
  • the smart contract may either contain a copy of the access conditions itself, or the smart contract may be configured to check the access conditions stored in the license agreement in the distributed storage 40.
  • the second user 20 then sends a request (at step 120) to the smart contract on the blockchain 30 to access the encrypted personal data (and license agreement) stored on the distributed storage 40.
  • the smart contract checks that the access request meets the access conditions at step 122. For example, the smart contract checks the current date to see if the date is within the time period specified in the license agreement that was agreed to by the first user.
  • the smart contract sends an approval signal to the distributed storage, at step 124, to provide the encrypted personal data (and license agreement) to the second user 20.
  • the encrypted personal data (and license agreement) are provided to the second user 20 at step 126.
  • the second user now has both the encrypted personal data and license agreement and the encryption key (possibly still in encrypted form, encrypted with the second user’s public key).
  • the second user then decrypts the encryption key at step 128, if not already done, and then, at step 130, uses the encryption key to decrypt the personal data.
  • the second user system 20 is operated by an online business and the first user is a customer trying to purchase an item from the online business.
  • the first user has browsed for and selected the desired item and now wishes to checkout.
  • the second user needs to know the first user’s name, postal address (for delivery), and billing address and bank details (to take payment).
  • the second user 20 may also request the first user’s telephone number, in case there is a problem and the second user needs to contact the first user.
  • the first user has already entered personal data into their device 10, i.e. performed step 102.
  • the online business sends a licence agreement to the first user (i.e. step 104) requesting access to the following data fields: name, postal address, bank account details, billing address.
  • the personal data may encompass other fields, such as date of birth or medical history.
  • the second user does not request this data.
  • the License Agreement may contain:
  • this License Agreement could also contain Legal Obligation if, for example, the online business needs to report/justify sales of a specific service/good, e.g. in the case of selling restricted items firearms or explosives)
  • the customer may accept the License Agreement as it is.
  • the customer may deselect, e.g., “telephone number” from the data fields (item 1) if they do not want this information shared and/or may deselect “marketing” from the list of purposes (item 3) if they do not want the personal data used for marketing.
  • the device 10 then encrypts the requested personal data (name, postal address, bank account details etc.) using an encryption key and sends this to the distributed storage 40.
  • the device 10 then encrypts the encryption key and sends the encrypted encryption key to the online business (i.e. second user 20).
  • the device 10 also sends a smart contract to the blockchain 30 indicating the access conditions for accessing the personal data.
  • the access conditions specify at least the time period of 60 days during which the online business may access the encrypted personal information.
  • the access conditions also contain information for identifying the online business, so that the smart contract can check that the access request comes from the online business and not some other party.
  • the online business sends an access request to the smart contract.
  • the smart contract checks that the access conditions are indeed fulfilled by the access request.
  • the smart contract then contacts the distributed storage which then sends the encrypted data to the online business.
  • the online business then decrypts the encrypted encryption key, using the private key of the public/private key pair, and then uses the encryption key to decrypt the personal data.
  • the online business then fulfils the order by taking payment using the customer’s bank details, and ships the item to the customer’s address.
  • the online business may then delete the personal information immediately or may store the personal information for the length of time specified in the license agreement. If the personal information is required again, within the time limit specified in the smart contract, the online business can re-request access (i.e. repeat steps 120 onwards in Figure 2) by contacting the smart contract and obtaining the information again.
  • re-request access i.e. repeat steps 120 onwards in Figure 2
  • the device 10 may update the personal information in all of the user’s encrypted personal data sets stored on the blockchain. As the device 10 knows all of the encrypted personal data sets that it has sent to the blockchain, these may all be updated by only a single effort by the user, i.e. updating the address on their device 10.
  • the user can decide to refuse further access to their data on the blockchain, e.g. by updating the access conditions on any/all of the user’s smart contracts on the blockchain 30. This gives users control over their own personal data.
  • the second user does not need to provide long-term storage for user data, as first users’ data (e.g. customers’ data) is stored elsewhere.
  • first users’ data e.g. customers’ data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Combustion & Propulsion (AREA)
  • Organic Chemistry (AREA)
  • Oil, Petroleum & Natural Gas (AREA)
  • General Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un dispositif d'utilisateur électronique qui stocke des données personnelles, relatives à un premier utilisateur, comprenant un ou plusieurs champs de données d'utilisateur, dans une mémoire du dispositif d'utilisateur. Un système informatique demande l'accès à au moins une partie des données personnelles par envoi d'une demande d'accès au dispositif d'utilisateur, qui spécifie un ou plusieurs champs de données d'utilisateur demandés, et une période de temps pendant laquelle le système informatique peut accéder aux champs de données d'utilisateur demandés. Si le premier utilisateur accepte la demande d'accès, le dispositif d'utilisateur envoie une représentation chiffrée des champs de données d'utilisateur demandés à un serveur distant, chiffré à l'aide d'une première clé de chiffrement. Il envoie une copie chiffrée de la première clé de chiffrement au système informatique, chiffrée à l'aide d'une clé publique d'une paire de clés publique/privée. Il envoie une instruction à un système informatique à chaîne de blocs distribuée, ordonnant au système de chaîne de blocs de stocker un contrat intelligent, dans une chaîne de blocs, comprenant des données représentatives de ladite période de temps. Le système informatique envoie ensuite, à un instant dans ladite période de temps, une demande au système informatique à chaîne de blocs distribuée pour ordonner au serveur distant de transmettre la représentation chiffrée des champs de données d'utilisateur demandés au système informatique. Le système informatique utilise ensuite une clé privée de la paire de clés publique/privée pour décrypter la première clé de chiffrement qu'il utilise pour déchiffrer les champs de données d'utilisateur demandés, en obtenant ainsi un accès aux données personnelles.
PCT/GB2020/052724 2020-02-12 2020-10-28 Procédé et appareil de contrôle d'accès à des données personnelles WO2021160981A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2001900.6 2020-02-12
GB2001900.6A GB2592024A (en) 2020-02-12 2020-02-12 Methods and apparatus for controlling access to personal data

Publications (1)

Publication Number Publication Date
WO2021160981A1 true WO2021160981A1 (fr) 2021-08-19

Family

ID=69897229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2020/052724 WO2021160981A1 (fr) 2020-02-12 2020-10-28 Procédé et appareil de contrôle d'accès à des données personnelles

Country Status (2)

Country Link
GB (1) GB2592024A (fr)
WO (1) WO2021160981A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880630A (zh) * 2022-05-16 2022-08-09 北京百度网讯科技有限公司 软件使用权限的获取方法与装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4250145A1 (fr) * 2022-03-25 2023-09-27 Amadeus S.A.S. Système et procédé de gestion de données

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180343114A1 (en) * 2015-11-24 2018-11-29 Adi BEN-ARI A system and method for blockchain smart contract data privacy
EP3422221A1 (fr) * 2017-06-29 2019-01-02 Nokia Technologies Oy Contrôle d'accès de données électroniques relatives à la santé
EP3477891A1 (fr) * 2017-10-26 2019-05-01 Gemalto Sa Procédés permettant d'enregistrer et de partager une identité numérique d'un utilisateur au moyen de registres répartis
US10474834B1 (en) * 2019-06-04 2019-11-12 Capital One Services, Llc Data sharing via distributed ledgers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109120639B (zh) * 2018-09-26 2021-03-16 众安信息技术服务有限公司 一种基于区块链的数据云存储加密方法及系统
CN109741803A (zh) * 2019-01-14 2019-05-10 南京大学 基于区块链的医疗数据安全协作系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180343114A1 (en) * 2015-11-24 2018-11-29 Adi BEN-ARI A system and method for blockchain smart contract data privacy
EP3422221A1 (fr) * 2017-06-29 2019-01-02 Nokia Technologies Oy Contrôle d'accès de données électroniques relatives à la santé
EP3477891A1 (fr) * 2017-10-26 2019-05-01 Gemalto Sa Procédés permettant d'enregistrer et de partager une identité numérique d'un utilisateur au moyen de registres répartis
US10474834B1 (en) * 2019-06-04 2019-11-12 Capital One Services, Llc Data sharing via distributed ledgers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880630A (zh) * 2022-05-16 2022-08-09 北京百度网讯科技有限公司 软件使用权限的获取方法与装置

Also Published As

Publication number Publication date
GB2592024A (en) 2021-08-18
GB202001900D0 (en) 2020-03-25

Similar Documents

Publication Publication Date Title
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
US11196569B2 (en) Systems and methods for accuracy and attestation of validity of data shared in a secure distributed environment
CN111316278B (zh) 安全身份和档案管理系统
US11451392B2 (en) Token-based secure data management
TWI761357B (zh) 塊鏈實施之方法及系統
US20190362343A1 (en) Encryption and tokenization architectures
US7587366B2 (en) Secure information vault, exchange and processing system and method
CN109274652B (zh) 身份信息验证系统、方法及装置及计算机存储介质
US9092494B1 (en) Information vault, data format conversion services system and method
US20180144148A1 (en) Encryption and decryption system and method
US20140150080A1 (en) Authorizing access to digital content
KR20070120125A (ko) 온라인 거래 허가 방법, 시스템 및 장치
EP3867849B1 (fr) Système de traitement de portefeuille numérique sécurisé
US11841960B1 (en) Systems and processes for providing secure client controlled and managed exchange of data between parties
WO2019175427A1 (fr) Procédé, dispositif et support servant a protéger un ouvrage et fondés sur une chaîne de blocs
WO2021160981A1 (fr) Procédé et appareil de contrôle d'accès à des données personnelles
WO2019165091A1 (fr) Système et procédé pour maintenir la sécurité et la confidentialité d'informations de consommateur
TW201947406A (zh) 資料交換群組系統及方法
JPWO2015025405A1 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
CN110914826A (zh) 用于分布式数据映射的系统和方法
US20230283466A1 (en) Content protection system
JP2002334227A (ja) 有料サービス提供方法、有料サービス提供システム、コンテンツサーバ、有料サービス提供用プログラム、および記録媒体
CN114666119B (zh) 数据处理方法、装置、电子设备和介质
US11562060B2 (en) Secure private portable vault container
US20230342789A1 (en) Internet Data Usage Control System

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20801362

Country of ref document: EP

Kind code of ref document: A1