Data sharing method and apparatus
By introducing data acquisition requests, authorization results, and encryption technology into the data sharing process, and using a data exchange center as an intermediary, the privacy protection issue in data sharing is resolved, and secure data sharing within the scope of legal authorization is achieved, thereby improving the privacy and compliance of data sharing.
Patent Information
- Application Number
- CN202311641368.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-01
- Publication Date
- 2026-11-06
- Estimated Expiration
- 2043-12-01
AI Technical Summary
In existing technologies, the lack of effective privacy protection mechanisms during data sharing leads to data leaks and unauthorized data access, making it difficult to ensure compliance and privacy.
The data requester sends a data acquisition request to the data provider. The data provider receives the authorization result from the data owner and, with the authorization consent, sends the target user data to the data requester. The data exchange center acts as an intermediary to ensure that the data is shared only within the scope of legal authorization, and uses encryption technology and authentication mechanisms to protect the security of data transmission.
It enhances privacy and compliance in the data sharing process, ensuring that data is shared only within authorized scope, protecting the security and legality of user data, and reducing the risk of unauthorized data access and leakage.
Smart Images

Figure CN117688531B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing, and in particular to a data sharing method and apparatus. Background Technology
[0002] Data is crucial for competition and innovation in the digital economy, applicable not only to businesses but also to governments, individuals, and researchers. Unlike oil, data use does not deplete data resources, and the value of data reuse to society far outweighs the private value gained by individual members. Data is both an output and the core of digital services. A growing number of new technology companies are generating vast amounts of user data through the development of innovative and flexible business services. However, while using data to provide cheaper and more suitable services to customers, this also raises significant data privacy concerns for data subjects. Summary of the Invention
[0003] This application provides a data sharing method and apparatus that can improve the privacy of data sharing.
[0004] In a first aspect, embodiments of this application provide a data sharing method applied to a data sharing system. The data sharing system includes multiple data sharing parties, each of which stores user data authorized by the user. The method includes:
[0005] The data requester sends a data retrieval request to the data provider, whereby the data retrieval request is used to retrieve the target user data stored on the data provider.
[0006] The authorization result is received by the data provider from the data owner, who is the authorizing party to store the target user data on the data provider.
[0007] If the authorization result is that the data owner agrees to authorize the data requester, the target user data is sent to the data requester through the data provider.
[0008] Secondly, this application provides a data sharing device for use in a data sharing system, the data sharing system including multiple data sharing parties, each data sharing party being used to store user data authorized by the user, the device including:
[0009] The first sending module is used to send a data acquisition request to the data provider through a data requesting party, wherein the data acquisition request is used to acquire target user data stored on the data provider;
[0010] The second sending module is used to receive the authorization result sent by the data owner through the data provider. The data owner is the authorizing party that stores the target user data on the data provider.
[0011] The third sending module is used to send the target user data to the data requester through the data provider, provided that the authorization result indicates that the data owner agrees to authorize the data requester.
[0012] Thirdly, embodiments of this application provide an electronic device, which includes: a processor and a memory storing computer program instructions;
[0013] When the processor executes computer program instructions, it implements the data sharing method as described in any of the embodiments of the first aspect.
[0014] Fourthly, embodiments of this application provide a computer storage medium storing computer program instructions, which, when executed by a processor, implement the data sharing method as described in any of the embodiments of the first aspect.
[0015] In a data sharing method and apparatus provided in this application embodiment, a data requester sends a data acquisition request to a data provider, wherein the data acquisition request is used to acquire target user data stored on the data provider; the data provider receives an authorization result sent by the data owner, who is the authorizing party to store the target user data on the data provider; if the authorization result indicates that the data owner agrees to authorize the data requester, the data provider sends the target user data to the data requester. This method protects user data privacy during data sharing. In this application, the data requester sends a data acquisition request to the data provider and obtains the target user data after authorization. The data provider only sends the stored user data to the data requester whose data the data owner has agreed to share, ensuring that data is shared only within the authorized scope. Furthermore, by using the authorization result as a verification mechanism, the data provider can ensure that the data requester has obtained legal authorization and has the right to access the target user data. This ensures the compliance and privacy protection of data sharing, ensuring that data is shared only when authorized and legal, thereby improving the privacy of data sharing. Attached Figure Description
[0016] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This is a flowchart illustrating a data sharing method provided in one embodiment of this application;
[0018] Figure 2 This is another schematic flowchart of a data sharing method provided in one embodiment of this application;
[0019] Figure 3 This is a schematic diagram of the authorization transfer in a data sharing method provided in one embodiment of this application;
[0020] Figure 4 This is a schematic diagram illustrating the flow of authorization credentials in a data sharing method provided in one embodiment of this application;
[0021] Figure 5 This is a schematic diagram of identity registration in a data sharing method provided in one embodiment of this application;
[0022] Figure 6 This is a schematic diagram of the structure of a data sharing device provided in an embodiment of this application;
[0023] Figure 7 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0024] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0025] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.
[0026] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the term "comprising" or any other variations thereof is intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0027] It should be noted that the acquisition, storage, use, and processing of data in the technical solution of this application all comply with the relevant provisions of national laws and regulations.
[0028] Data is crucial for competition and innovation in the digital economy, applicable not only to businesses but also to governments, individuals, and researchers. Unlike oil, data use does not deplete data resources, and the value of data reuse to society far exceeds the private value gained by individual members. Data is both an output and the core of digital services.
[0029] Currently, an increasing number of new technology companies are generating massive amounts of user data through the development of innovative and flexible business services. However, while using this data to provide customers with cheaper and more suitable services, it also poses significant data privacy protection challenges for data subjects. For example, due to hosting large amounts of customer information, globally renowned information and communication technology (ICT) companies have experienced numerous personal data breaches, caused by both subjective intent and passive attacks. Personal data breaches often lead to discrimination or financial risks for data subjects in a financial inclusion context. To protect personal data security and privacy, various countries have enacted legislation. According to the data protection laws and regulations of various countries, uninformed consent (authorization) access and use of personal data is illegal. Users' right to know and consent to others using their personal data is a fundamental principle that data account management must follow. Due to the lack of a unified and effective global data governance approach and open data mechanisms that support personal privacy protection, despite the growing demand for data, data access and sharing have not yet achieved full development, and individuals, businesses, and governments frequently face data access barriers. Market research data indicates that currently less than 5% of data-sharing programs can correctly identify trustworthy data and locate trustworthy data sources.
[0030] Currently, countries worldwide recognize the significant impact of open data on economic development, and regional data sharing is becoming a priority for countries developing their digital economies. Establishing dedicated data exchange services to achieve controllable data sharing across different sectors and systems is a major research topic at present. One mainstream approach is to use a unified, centralized identity management system to collect information about identity subjects across various service systems and coordinate their activities. While this design offers advantages in interoperability and efficiency, it lacks flexibility, is prone to monopolies, and stifles innovation. Furthermore, it places high demands on the centralized institution in terms of credibility, technology, and governance capabilities, making it difficult to implement effectively and posing a single point of failure risk.
[0031] To address the problems of the prior art, embodiments of this application provide a data sharing method and apparatus. The data sharing method provided in this application embodiment will be described first below.
[0032] Figure 1A flowchart illustrating a data sharing method provided in one embodiment of this application is shown. Figure 1 As shown, this method is applied to a data sharing system, which includes multiple data sharing parties. Each data sharing party stores user data authorized by the user. The method may specifically include the following steps:
[0033] S100, a data acquisition request is sent to the data provider through a data requester, wherein the data acquisition request is used to acquire the target user data stored on the data provider.
[0034] Optionally, in this embodiment, from a data ecosystem perspective, in a data exchange system, the data sharing party may be both a data requester and a data provider. For ease of discussion, this application uses the terms "data provider" (i.e., data supplier), "data owner" (i.e., data subject), and "data requester" (i.e., data dependent party) to refer to different roles in the data ecosystem. The data requested for sharing is a subset of user data under the personal data account managed by the data provider. The modules in the data exchange system are defined as follows:
[0035] Data Supplier (RS): A data holder who holds protected personal data;
[0036] Data subject (Resource Owner, RO): The individual agent who can grant access to protected personal data;
[0037] Data Dependant / Requester (Relay Party, RP): A service requester that requests access to specific personal data.
[0038] Optionally, in one possible implementation of this application, the identities and roles of the data requester and data provider can be clearly defined in the data sharing system first. The data requester is an entity in the data sharing system that needs to obtain specific data, while the data provider is the entity that stores and provides the data. The data requester then needs to prepare a data acquisition request, including clearly defined data requirements and relevant parameters. These parameters may include data type, range, time period, filtering conditions, etc. It is essential to ensure that the data acquisition request accurately describes the target user data required by the data requester. Subsequently, a suitable communication channel is determined for sending the data acquisition request. This could be done through a network interface, application programming interface (API), email, or other relevant communication methods. After selecting a specific communication channel, the data requester uses the selected communication channel to send the data acquisition request to the data provider.
[0039] S200: Receives authorization results from the data owner via the data provider. The data owner is the authorizing party that stores the target user data on the data provider.
[0040] Optionally, in one possible implementation of this application, the data owner can first send information containing the authorization result to the data provider through a secure communication channel, such as an encrypted network connection or a secure data exchange protocol. The data provider can then receive the data by listening to a designated interface or port, or through a pre-established communication channel with the data owner. Upon receiving the authorization result from the data owner, the provider parses and verifies the received authorization result. For example, it can use a pre-agreed encryption key to decrypt the data, verify the signature, or check the digital certificate to confirm the integrity, authenticity, and legality of the authorization result. Once the authorization result is verified and deemed valid, the data provider can perform corresponding operations based on the content and permissions of the authorization result. For example, it can access and extract target user data and process it according to the rules and restrictions specified by the authorizing party. Through these steps, the data provider can effectively receive and process the authorization result sent by the data owner, providing corresponding data access and services under conditions that comply with the authorization provisions, and ensuring the security and compliance of the communication and processing processes to protect the privacy and security of user data.
[0041] S300: If the authorization result is that the data owner agrees to authorize the data requester, the target user data is sent to the data requester through the data provider.
[0042] Optionally, in one possible implementation of this application, the data provider can first parse and verify the authorization result by verifying the digital signature of the authorization result and checking the authorization status and permissions to confirm that the data owner has agreed to authorize the data requester. Once the authorization result is confirmed to be valid and authorized, the data provider can obtain the target user data according to the authorization result instructions. Before sending the target user data to the data requester, the data provider can use secure communication protocols and encryption technologies, such as Decentralized Identifiers Communications (DID Comm), Secure Socket Layer (SSL) / Transport Layer Security (TLS), etc., to ensure the confidentiality and integrity of the data during transmission. Subsequently, the data provider sends the target user data to the data requester through a suitable communication channel. For example, the data provider packages the data into a specific data format and sends it to the data requester through a network transmission protocol. After receiving the target user data, the data requester can perform corresponding processing and analysis according to its own business needs. For example, parsing the data, extracting useful information, and performing data processing operations to achieve the required data sharing and application scenarios.
[0043] In a data sharing method provided in this application embodiment, a data requester sends a data acquisition request to a data provider. The data requester is any one of multiple data sharing parties, and the data provider is one of the sharing parties other than the data requester. The data acquisition request is used to acquire target user data stored on the data provider. The data provider receives an authorization result from the data owner, who is the authorizing party that stores the target user data on the data provider. If the authorization result indicates that the data owner agrees to authorize the data requester, the data provider sends the target user data to the data requester. This method protects user data privacy during data sharing. In this application, the data requester sends a data acquisition request to the data provider and obtains the target user data after authorization. The data provider only sends the stored user data to the data requester whose data the data owner has agreed to share, ensuring that data is shared only within the authorized scope. Furthermore, by using the authorization result as a verification mechanism, the data provider can ensure that the data requester has obtained legitimate authorization and has the right to access the target user data. This ensures compliance and privacy protection in data sharing, guaranteeing that data is shared only when authorized and legal, thereby enhancing the privacy of data sharing.
[0044] In one embodiment, the data sharing system further includes a data exchange center, and step 100 described above can specifically be performed as follows:
[0045] S110, the data requester generates a data acquisition request based on the resource catalog of shareable user data recorded by the data exchange center, and sends the data acquisition request to the data exchange center. The data acquisition request includes target user data, and the resource catalog is used to characterize the data items and access entry addresses of the user data that the data provider can share.
[0046] Optionally, in this embodiment, the data exchange service (ExS), or data exchange center, is used for cross-organizational data exchange management and data access "consent authorization" management. The data exchange center needs to implement an authorization framework to support data subjects in consenting to share their specific personal data through this framework; the sharing process should be secure and real-time. Authorized data access is based on the user's registered identity and credentials with the data provider. It should be noted that the data exchange center should record data exchange logs, allowing each member organization in the data sharing ecosystem to access its own data exchange information. Furthermore, compliance reporting capabilities for regulatory purposes should be considered to monitor legal compliance related to personal data protection in the data sharing service.
[0047] Therefore, the data exchange center of this application can support the following functions: establishing and maintaining a data sharing ecosystem, being responsible for approving and granting licenses, and maintaining a member registry; identifying all member data providers, data subjects, and data demanders; connecting all member data providers, data subjects, and data demanders; implementing and publishing standard communication protocols and data structures for data exchange; registering and maintaining a data sharing dictionary (shared data templates and definitions); requesting "consent authorization" from data subjects for access to specific data accounts based on data requests from data-dependent parties; and providing data exchange services based on data requests from data-dependent parties. The data dictionary contains definitions of shared data and specifications for data formats. This helps ensure that data providers and data-dependent parties have a consistent understanding of shared data and provides standard specifications for data exchange.
[0048] Alternatively, in one possible implementation of this application, such as Figure 2As shown, the data requester can select and filter target user data based on the contents of the resource catalog. Then, based on the target user data and the information in the resource catalog, the data requester generates a data retrieval request. This request may include the requested data items, the data owner's identification information, and the data requester's identity information. The data requester then sends the generated data retrieval request to the data exchange center via a network communication protocol. The network communication protocol can be Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) to ensure the security and integrity of the request.
[0049] Optionally, in another possible implementation of this application, the data-dependent party (RP) first retrieves the shared data resources of the data exchange center (ExS) based on the data discovery protocol; the data-dependent party (RP) sends a sharing request (i.e., a data acquisition request) to the data exchange center (ExS) for a subset of data under a specific data provider's account belonging to the relevant identity subject (RO); the data exchange center (ExS) confirms the identity of the RP and the message request; after verifying the message request, the data exchange center (ExS) performs a compliance check on the data request according to the data sharing policy and obtains the identity information and service location of the shared data provider.
[0050] Specifically, the RP (Resource Provider) sends a request to the Data Exchange Center (ExS) using a data discovery protocol. The RP retrieves shareable data resources by querying the ExS's data catalog or using a specific data discovery mechanism. The RP then sends a sharing request to the ExS for a subset of data belonging to a specific entity (RO) under a specific data provider's account. This request should include the RO's identification information, the data provider's account information, and a description of the requested data subset. The ExS then verifies the RP's identity to ensure it has legitimate access rights. Simultaneously, it verifies the integrity and validity of the message request to prevent unauthorized requests or tampering. After authentication and message request verification, the ExS performs a compliance check on the data request based on permission verification and data privacy protection rules in its data sharing policy. If the request meets the requirements, the ExS obtains the identity information and service location of the sharing data provider.
[0051] Optionally, in this embodiment, the data provider is responsible for the secure safekeeping of the user data it holds and manages access control over that user data. The data provider registers and publishes shareable data services with the data exchange center, and can only provide data to the corresponding data-dependent parties (i.e., data requesters) with the consent and authorization of the data subject (i.e., the data owner).
[0052] In these alternative embodiments, generating data acquisition requests based on a resource catalog of shareable user data recorded by the data exchange center ensures that data requesters obtain the specific target user data they need. The use of the resource catalog and the sending of data acquisition requests make the data sharing process more transparent. Data requesters can clearly understand the data item definitions and access addresses of the shareable user data, ensuring the accuracy and reliability of data acquisition. Recording shareable user data and the resource catalog by the data exchange center allows for the management and compliance checks of data sharing strategies, contributing to the reliability, efficiency, and compliance of data sharing and providing a better data exchange and utilization experience for all parties.
[0053] In one embodiment, step 200 above may specifically be performed as follows:
[0054] S210, through the data exchange center, obtains the authorization result from the data owner based on the data acquisition request.
[0055] Optionally, in one possible implementation of this application, the data exchange center (ExS) determines whether authorization from the data owner is required based on an authorization policy. For the first access, authorization must be requested; if authorization has already been granted and remains valid, a second request is unnecessary. If authorization is required, the ExS initiates an authorization request to the data subject (RO) to obtain access authorization from the RO. The data subject (RO) can agree to or refuse authorization, and the authorization result is published after being digitally signed by the data subject (RO). After obtaining authorization from the data resource subject (RO), the data exchange center (ExS), holding the authorization certificate, sends a data request to the data provider to obtain the relevant data.
[0056] Specifically, to achieve the above process, ExS sends an authorization request to the data subject RO, requesting the RO to grant access. This request includes information such as relevant data access permissions and the authorization period. Upon receiving the authorization request, the data subject RO can choose to grant or deny authorization. If authorization is granted, the RO digitally signs the authorization result to ensure data integrity and reliability and publishes the authorization result. If the data subject RO grants authorization, ExS will hold an authorization credential containing the authorization result and digital signature. This credential proves that the data requester has legitimate rights to access the specified data. After obtaining authorization from the data subject RO, ExS uses the held authorization credential to send a data request to the data provider RS. This request includes the specific content and relevant parameters of the required data.
[0057] In these alternative embodiments, obtaining authorization from the data owner ensures data compliance. Data sharing and access must be conducted within the authorized scope to comply with relevant laws, regulations, and privacy policies. Obtaining authorization verifies whether the data requester is authorized to access specific data, thereby ensuring the compliance of data exchange. Obtaining authorization is a key step in data security. Only authorized data requesters can access data, which helps reduce the risk of unauthorized data access and misuse. Verifying authorization ensures data security and prevents unauthorized data access. Obtaining authorization from the data owner helps protect the privacy and rights of data subjects.
[0058] In one embodiment, step 300 above may specifically be performed as follows:
[0059] S310, if the authorization result is that the data owner agrees to authorize the data requester, the target user data is sent to the data exchange center through the data provider.
[0060] Optionally, in one possible implementation of this application, the data provider receives an authorization result from the data owner through a data exchange center, wherein the authorization result indicates that the data owner agrees to authorize the data requester to access the target user data. After confirming the validity of the authorization result, the data provider extracts the corresponding data from its stored target user data. Subsequently, the data provider sends the target user data to the data exchange center through a secure channel established with the data exchange center. It should be noted that encryption technology and security protocols can be used to protect the data transmission process when transmitting the target user data.
[0061] S320 sends target user data to the data requester through the data exchange center.
[0062] Optionally, in one possible implementation of this application, the data exchange center processes and manages the received data to ensure its security and integrity. Subsequently, the data exchange center sends the target user data to the data requester through a secure communication channel to ensure secure data transmission and confidentiality.
[0063] In these alternative embodiments, by using a data exchange center as an intermediary, data providers can directly send data to data requesters without the need for cumbersome separate negotiation and data transmission processes, thus improving the efficiency and convenience of data sharing. The data exchange center can provide a unified interface and protocol, simplifying and standardizing data exchange between data providers and requesters, reducing the complexity of integration and interaction. Furthermore, by using the data exchange center as an intermediary, security measures can be implemented to ensure the security and integrity of target user data during transmission, protecting data from unauthorized access and tampering, further enhancing the privacy of data sharing.
[0064] In one embodiment, prior to step 110 above, the method may further perform the following steps:
[0065] S1101, the data provider issues the first authorization certificate to the data owner.
[0066] Optionally, in this embodiment, the data provider RS issues credentials to the data subject RO through an identity agent, identifying the data subject as the owner of the data it hosts. The RS-RO's digital certificate or RS-RO's decentralized identifier (DID) can be used as the authorization credential. The approved data provider RS can register its digital identity and publish data sharing services at a data exchange center to achieve data sharing with data-dependent parties (i.e., data requesters) with the user's consent and authorization.
[0067] Optionally, in this embodiment, the identity proxy is a component that all ecosystem members need to deploy to implement their own identity operations and authenticate with external systems. The identity proxy of the data exchange center is the centralized service entry point for all parties in the ecosystem to access data. On the one hand, the identity proxy of the data exchange center, as a communication system between the data exchange center and the outside world, is responsible for receiving data requests from the outside and calling relevant services within the system to respond. On the other hand, the digital identity proxy encapsulates secure encryption components representing identities, supports the management of the data exchange center's signature key and verification key, and can realize message signing, message verification, message encryption, and logging of message interactions. The identity proxy operates based on standard general message protocols and is transparent to applications.
[0068] Specifically, the data provider (RS) issues credentials to the data subject (RO) through an identity proxy system, using the RO's digital certificate or RS-RO relationship DID. This credential identifies the data subject as the owner of the data they host and is used to authorize and verify data access permissions. Approved data providers can register their digital identities with the data exchange center and publish their data sharing services. Once a data provider successfully registers and publishes its data sharing services, it can establish a connection with the data exchange center to begin data exchange and sharing. The data exchange center acts as an intermediary platform, coordinating data exchange between data providers and data requesters and ensuring the secure transmission and management of data.
[0069] In these alternative embodiments, by issuing credentials to the data subject (RO), the data provider (RS) identifies the data subject as the owner of the data they host. This ensures accurate identification of the data subject during data sharing and access, increasing data credibility and manageability. Authorized data providers enhance their credibility and legitimacy within the data sharing ecosystem by registering digital identities and publishing data sharing services at data exchange centers.
[0070] In one embodiment, step 210 above may specifically be performed as follows:
[0071] S211, the data exchange center determines the identity information of the data requester based on the data acquisition request.
[0072] Optionally, in one possible implementation of this application, the data exchange center can use digital identity verification mechanisms such as tokens to determine the identity information of the data requester, thereby ensuring the credibility and validity of the data requester's identity.
[0073] In these alternative embodiments, verifying the identity of the data requester ensures that only authenticated users can access and use the data, improving the security and trustworthiness of data exchange. Recording the identity information of the data requester provides auditing and tracking capabilities, facilitating the monitoring of data usage and tracing the source of data access, thus contributing to compliance and data governance.
[0074] S212, the data exchange center generates an authorization request based on the identity information of the data requester and sends the authorization request to the data owner. The authorization request includes the identity information of the data requester.
[0075] Optionally, in one possible implementation of this application, once the identity information of the data requester is determined, the data exchange center can generate an authorization request based on that information. The authorization request will include the data requester's identity information and relevant information such as access permissions to the requested data. This authorization request will be sent to the data owner so that the data owner can review and evaluate whether to grant the data requester access permissions.
[0076] In these alternative embodiments, by automatically generating authorization requests, complex interactions between the data requester and the data owner are reduced, improving the efficiency of the authorization process. The authorization request includes the data requester's identity information, allowing the data owner to accurately understand the source of the request and the permission requirements, thus helping to make informed authorization decisions.
[0077] S213, the data owner obtains the authorization result based on the authorization request.
[0078] Optionally, in one possible implementation of this application, the data owner processes the received authorization request and decides whether to authorize the data requester's access based on its authorization policy and permission rules. This may involve verifying the data requester's identity, assessing their permission needs and access purposes, etc. The data owner generates an authorization result based on these factors, indicating whether to agree to or deny the authorization request. The authorization result can be confirmed and published through digital signatures or other means to ensure its authenticity and integrity.
[0079] In these alternative embodiments, the data owner can determine whether to grant access rights to the data requester based on the authorization request, ensuring that only authorized data requesters can obtain and use the data, thus maintaining data security and privacy protection. By reviewing and verifying authorization requests, the data owner can prevent unauthorized access, avoid data misuse or leakage, and ensure data security.
[0080] In one embodiment, prior to step 310 above, the method may further perform the following steps:
[0081] S3101, if the authorization result is that the data owner agrees to authorize the data requester, the data owner sends a second authorization credential to the data exchange center, the second authorization credential including the first authorization credential.
[0082] Optionally, in the embodiments of this application, such as Figure 4As shown, the data subject (i.e., the data owner) RO responds to a data access consent authorization request from the data exchange center ExS through an identity proxy (this request includes the identity ID information of the data requester RP). Based on this authorization request, RO issues a consent authorization credential (i.e., the second authorization credential) to the ExS identity proxy. This credential may include an authorization credential issued by the RS proxy to the RO proxy (i.e., the first authorization credential), and a consent authorization signed by the RO proxy based on the relationship: RS-RO, i.e., the private key corresponding to the first authorization credential. The consent authorization includes the identity information of the requester RP. The consent authorization issued by the data subject RO proxy to ExS indicates that it authorizes ExS to perform data access within a defined scope on behalf of RP. It should be noted that, in this embodiment of the application, as... Figure 3 As shown, the key to authorized data access is the transmission of "authorization." Data access credentials are chained authorization credentials used to access protected personal data account resources, containing a chain of proofs of delegation and authorization. The authorization credentials issued by the data provider RS to its customer RO based on "relationship: RS-RO" are included in the credentials issued by the identity subject RO to ExS based on "relationship: RO-ExS."
[0083] In these optional embodiments, the credential includes an authorization credential issued by the RS agent (i.e., the first authorization credential) and a consent authorization signed by the RO agent. The integrity and authenticity of the credential are ensured through digital signatures, thereby preventing tampering or forgery and ensuring the credibility and traceability of data access. The consent authorization includes the identity information of the requester RP, allowing the data subject RO to set the specific scope and permissions of data access based on the requester's identity and needs. This enables precise data authorization management, avoids excessive data access and leakage, provides personalized data services, and allows the data owner RO to better understand how their data is used, enhancing data value and protecting personal privacy.
[0084] In one embodiment, step 310 above may specifically be performed as follows:
[0085] S311, send the second authorization credential to the data provider through the data exchange center.
[0086] Optionally, in this embodiment, the data exchange center (ExS) presents a credential to the data provider (RS) requesting data sharing. The data access scope is the same as the parent credential authorized by the RS to the RO. The ExS presents a credential to the data provider (RS) to demonstrate its identity and data sharing request. The credential may include the ExS's identity information, the data exchange center's signature, the requested data access scope, and an authorization credential (i.e., the first authorization credential) issued by the RS agent to the RO agent.
[0087] In these alternative embodiments, sending a second authorization credential to the data provider through the data exchange center ensures that the data provider can obtain the identity information and authorization result of the data requester for subsequent verification and processing.
[0088] S312, the first authorization certificate is extracted from the second authorization certificate by the data provider, and the verification is performed based on the public key information and signature information of the proof part of the first authorization certificate to obtain a first verification result. The first verification result is used to indicate whether the first authorization certificate is valid.
[0089] S313, if the first verification result indicates that the first authorization certificate is valid, the data provider retrieves the holder public key information corresponding to the holder identity information stored locally by the data provider based on the holder identity information in the first authorization certificate;
[0090] S314, verify the second authorization credential based on the holder's public key information to obtain a second verification result, which is used to indicate whether the second authorization credential is valid.
[0091] Optionally, in this embodiment, the data provider extracts the public key information contained in the proof portion of the first authorization certificate from the second authorization certificate, and verifies the signature information of the proof portion based on the public key information contained in the proof portion of the first certificate to obtain a first verification result regarding the first certificate. This first verification result indicates whether the first authorization certificate is valid. If the first verification result indicates that the first authorization certificate is valid, the data provider retrieves the corresponding holder public key information stored locally based on the holder ID information in the first certificate, and verifies the second authorization certificate based on this public key information to obtain a second verification result. This second verification result indicates whether the second authorization certificate is valid. If the second verification result indicates that the second authorization certificate is valid, the data provider can send the target user data to the data exchange center. The above process ensures that data sharing occurs with the informed authorization of the data owner.
[0092] S315, if the second verification result indicates that the second authorization credential is valid, the target user data is sent to the data exchange center through the data provider.
[0093] Optionally, in one possible implementation of this application, the data provider confirms that the data owner is the authorizing party of the user data it stores based on the authorization information in the first authorization certificate. The data provider retrieves the target user data from the stored user data and processes or filters it according to the data requester's requirements. The data provider then sends the target user data to a data exchange center to satisfy the data requester's data acquisition needs.
[0094] In these alternative embodiments, the transfer of authorization credentials ensures that the data provider only sends authorized user data to the data exchange center, thereby increasing data security and compliance.
[0095] In one embodiment, step 310 above may specifically be performed as follows:
[0096] S316, if the authorization result is that the data owner agrees to authorize the data requester, the data provider encrypts the target user data according to the data requester's first identity public key to obtain the first encrypted data.
[0097] Optionally, in one possible implementation of this application, the data provider obtains the first identity public key of the data requester, which is used in the data encryption process. The target user data is then encrypted using the first identity public key of the data requester to generate first encrypted data.
[0098] In these alternative embodiments, encryption is performed using the data requester's first identity public key, ensuring that only the data requester can decrypt and access the encrypted data. This protects the privacy and confidentiality of the data.
[0099] S317, the data provider encrypts the first encrypted data using the second identity public key of the data exchange center to obtain the second encrypted data.
[0100] Optionally, in this embodiment, the data provider obtains a second identity public key from the data exchange center, which is used for the second layer of encryption. The data provider then uses the second identity public key from the data exchange center to encrypt the first encrypted data, generating second encrypted data. The data provider ensures the security and integrity of the second encrypted data and prepares to send it to the data exchange center.
[0101] In these alternative embodiments, encryption is performed using a secondary identity public key of the data exchange center to ensure security during data transmission. Only the data exchange center can decrypt and obtain the encrypted data, preventing unauthorized access and tampering.
[0102] S318, the second encrypted data is sent to the data exchange center through the data provider.
[0103] Optionally, in this embodiment, the data provider packages or encodes the second encrypted data into an appropriate format to maintain data integrity during transmission. A secure communication connection can be established between the data provider and the data exchange center to ensure the confidentiality and security of the data during transmission. The data provider sends the second encrypted data to a designated address or interface of the data exchange center through the established secure channel. It should be noted that key management and security during the encryption process are crucial to ensure that only authorized entities can decrypt and access the data.
[0104] Optionally, in one possible implementation of this application, the data provider can prepare encrypted data (content encryption) based on the public key information of the requester RP, obtain first encrypted data, and further encrypt the first encrypted data using the public key of the data center ExS for routing encryption, and return the packaged data to the ExS identity agent.
[0105] In these alternative embodiments, the second encrypted data is sent to a data exchange center, enabling the data exchange center to process and transmit the data to the data requester. This achieves data sharing and exchange, allowing the data requester to obtain target user data within the authorized scope.
[0106] In one embodiment, step 320 above may specifically be performed as follows:
[0107] S321, the data exchange center decrypts the second encrypted data based on the second identity private key to obtain the first encrypted data, where the second identity private key corresponds to the second identity public key;
[0108] S322, the first encrypted data is sent to the data requester through the encrypted data channel between the data exchange center and the data requester.
[0109] In one embodiment, after step 320 above, the method may further perform the following steps:
[0110] S3201, the data requester decrypts the first encrypted data based on the first identity private key to obtain the target data, wherein the first identity private key corresponds to the first identity public key.
[0111] Optionally, in this embodiment, after receiving the second encrypted data, the data exchange center (ExS) decrypts it using its private key to obtain the ciphertext of the data requested by the data-dependent party (RP) (i.e., the first encrypted data), and sends the ciphertext to the RP through the encrypted data channel between ExS and RP. The RP identity agent decrypts the received ciphertext using its private key to obtain the requested plaintext data (i.e., the target user data). The encrypted data channel can employ a secure communication protocol, such as Transport Layer Security (TLS) or other encryption protocols, to ensure the confidentiality and integrity of the data during transmission. It should be noted that the data exchange center (ExS) is responsible for recording data exchange logs, including message signatures, for auditing purposes.
[0112] In these alternative embodiments, the second encrypted data is decrypted using the private key of the data exchange center (ExS), and the first encrypted data is decrypted using the private key of the data request, ensuring that only the data requester can access the target user's data. This prevents unauthorized entities from obtaining sensitive data. Furthermore, the ciphertext data is transmitted from the ExS to the RP via an encrypted data channel, ensuring data integrity during transmission. By encrypting and decrypting the data, confidentiality during transmission and storage is ensured. Only entities with the corresponding private key can decrypt and access the plaintext data, protecting the data from unauthorized access.
[0113] In one embodiment, prior to step 110 above, the method may further perform the following steps:
[0114] S1102, Obtain the digital identity information corresponding to the data provider, data requester, data owner and data exchange center respectively. The digital identity information includes identity ID and identity public key.
[0115] S1103 stores the digital identity information corresponding to the data provider, data requester, data owner and data exchange center in the public key infrastructure. The public key infrastructure communicates with the data exchange center so that the data exchange center can obtain the digital identity information.
[0116] Alternatively, in one possible implementation of this application, such as Figure 5 As shown, Figure 5The distributed ledger in PKI can be used to implement a decentralized public key registry, working in conjunction with a decentralized digital identity agent (DID agent) to provide a decentralized identity infrastructure for the entire data ecosystem. In this implementation, data providers, data requesters, data owners, and data exchange centers all obtain a decentralized identity identifier (DID) through the digital identity agent (terminal software) and create an associated public-private key pair. During registration, participants register their public key and DID information on the distributed ledger; the public key is used for authentication and data decryption related to the associated ID. The creation and maintenance of DIDs do not rely on centralized institutions, making the authentication process more decentralized, secure, and transparent. Through this decentralized PKI infrastructure, participants can achieve authentication and data encryption without traditional digital certificates, thereby better protecting data privacy and security.
[0117] Optionally, in this embodiment, the data sharing ecosystem is a trust network based on a scalable alliance. Each organization (access node) joining the alliance to participate in data sharing is certified by a trusted institution and receives a digital certificate or verifiable credential endorsement issued by that institution. The identities of these entities are centrally maintained by the data exchange center, and shared data is directly provided by the data provider to the data dependent party with the authorization and permission of the data subject.
[0118] Optionally, in this embodiment, the routing function supporting data exchange is implemented by the data intermediary based on the organization identifier registered in the registration process and the network location mapping table of its data services. All evidence of data exchange is stored locally or on a distributed ledger. Timestamps and digital signatures jointly ensure the non-repudiation of data exchange, and these log records can serve as audit evidence.
[0119] Optionally, in this embodiment, the data exchange center establishes a communication connection with the public key registry system to enable it to obtain the digital identity information of all parties. Through the above steps, the data exchange center can obtain the digital identity information of the data provider, data requester, data owner, and itself, thereby achieving the identification and verification of the identities of all parties. This ensures the security and trustworthiness of the data exchange process.
[0120] Optionally, in this embodiment, to enable the identification and verification of the trusted service provider's identity by all parties in the data ecosystem, the data provider RS, the data exchange center ExS, and the data dependent RP all need to register digital identity information, including identity ID and public key information, in the public key registry; the data exchange center ExS communicates with the data provider RS, the data subject RO, and the data demander RP according to standard communication protocols. This may include using secure communication protocols (such as TLS) to protect the confidentiality and integrity of communication, and using message formats and protocol specifications to ensure correct interaction between them.
[0121] Optionally, in this embodiment, the registration management module is responsible for registering and maintaining the digital identities (IDs and public keys) of all data parties and the addressing entry point of the data provider. Furthermore, the registration management module also includes security policies required for digital identity authentication of organizations, such as digital certificates provided by trusted certificate authorities or verifiable credentials issued by authorized credential issuers. The member registry and security policies can be registered in a local centralized database or distributed ledger and provided to the identity proxies of each participating party via security protocols such as HTTPS to support their verification of visitor identities. The registry data constitutes the global configuration for the data exchange center to support data exchange routing.
[0122] In these optional embodiments, registering digital identity information in the registration management module enables parties to clearly identify and verify the identity of trusted service providers in the data ecosystem. This helps establish trust relationships and reduces the risk of unauthorized access and data breaches. By communicating between the data exchange center and data providers, data subjects, and data demanders according to standard communication protocols, consistency, interoperability, and reliability of information can be ensured. Using standard protocols simplifies the communication process, reduces potential errors and risks, enables parties in the data ecosystem to better identify and verify the identity of trusted service providers, and ensures security and reliability during data exchange, thereby improving the efficiency and value of data exchange.
[0123] S1104, The data requester registers the data items of the shareable user data in the data exchange center, wherein the data format of the shareable user data is defined by the preset format rules in the data exchange center;
[0124] S1105, through the data provider, the data access interface is recorded in the data exchange center, and the data access interface is defined by the preset rules in the data exchange center;
[0125] S1106, the data exchange center generates a resource catalog of shareable user data based on data items and data access interfaces.
[0126] Optionally, in this embodiment, the data provider (i.e., the data supplier) and the data dependent (i.e., the data requester) publish / request data sharing services through a data exchange center. To achieve data exchange, the data exchange center should publish a data dictionary based on the shared data definitions provided by the data provider. The data dictionary should include definitions of shared data and specifications of data formats. The data provider should provide a data access interface that conforms to the shared data definitions in the data dictionary.
[0127] The data exchange service indexes the data sharing services offered by different data providers to respond to data retrieval from data-dependent parties. Data-dependent parties execute the shared data discovery protocol provided by the data exchange service through an identity proxy to discover access points from data providers capable of offering the relevant data.
[0128] The data provider (RS) registers the proposed data sharing services. Service registration can take the form of an API containing the address of the data access point. To ensure a consistent understanding of the shared data, the shared data provided by the data provider should conform to the definitions and specifications of relevant data in the data dictionary published by the data exchange center.
[0129] In these alternative embodiments, the data exchange center publishes a data dictionary based on the shared data definition provided by the data provider. The data dictionary contains definitions of the shared data and specifications for its format. This helps ensure that data providers and data-dependent parties have a consistent understanding of the shared data and provides standard specifications for data exchange.
[0130] The data exchange center indexes the data sharing services provided by different data providers, enabling data-dependent parties to find the data they need through data retrieval. This improves data discoverability and accessibility, allowing data-dependent parties to easily find and obtain the shared data they require. Data-dependent parties execute the shared data discovery protocol provided by the data exchange service through an identity agent to discover access points from data providers capable of providing the required data. This protocol-based data discovery process simplifies the operations of data-dependent parties and ensures that data providers' data can be effectively discovered and utilized, contributing to improved efficiency and quality of data exchange and promoting the reliable operation of the data ecosystem.
[0131] In one embodiment, prior to step 212 above, the method may further perform the following steps:
[0132] S2121, through the data exchange center, determine the authorization time limit between the data requester and the data owner based on the identity information of the data requester and the identity information of the data owner;
[0133] S2122, when the authorization period is within the preset valid period, the authorization certificate between the pre-stored data requester and the data owner is sent to the data provider through the data exchange center.
[0134] Optionally, in this embodiment of the application, the data exchange center ExS determines whether it is necessary to obtain authorization from the data owner according to the authorization policy. The first access must request authorization, and if authorization has been granted and is still valid, there is no need to initiate a request again.
[0135] Specifically, when the authorization period is within the preset validity period, the data exchange center can send the pre-stored authorization credentials between the data requester and the data owner to the data provider via secure encrypted communication, ensuring the secure transmission of the credentials. Upon receiving the authorization credentials, the data provider can verify their validity and authenticity. After successful verification, the data provider can decide whether to provide the corresponding data to the data requester based on the content and permissions of the credentials.
[0136] In these optional embodiments, based on the identity information of the data requester and the data owner, the data exchange center can determine the authorization time limit between the two parties, ensuring that the data requester obtains authorized access within the specified time limit, and the authorizing party can limit the validity period of the authorization, thereby achieving compliance and security of data access and preventing the use of expired or invalid authorization credentials, improving the legality and accuracy of data access. By pre-storing the authorization credentials between the data requester and the data owner, the data exchange center simplifies the interaction process between the data provider and the data requester, enabling convenient data access and sharing, while enhancing the security and trustworthiness of data exchange.
[0137] In one embodiment, after step 300 above, the method may further perform the following steps:
[0138] S400, when the data owner publishes the revocation of data to be revoked, the data provider corresponding to the data to be revoked revokes the data item of the data to be revoked recorded in the data exchange center;
[0139] S500, the data exchange center cancels the directory contents corresponding to the canceled data in the resource directory.
[0140] Optionally, in this embodiment of the application, the data provider RS and the data exchange center ExS can jointly change the registration resource revocation list to revoke the shareable resources registered on the platform.
[0141] Specifically, the structure and format of the revocation list can be defined first, including fields such as the identifier of the resource to be revoked, the reason for revocation, and the revocation time. This ensures the list accurately records the information of resources requiring revocation. Appropriate role and permission management mechanisms should be set up on the platform to ensure that both the data provider (RS) and the data exchange center (ExS) have the authority to modify the revocation list. When the data provider (RS) needs to revoke a registered shared resource, they can send a revocation request to the data exchange center (ExS), including the resource identifier and the reason for revocation. Upon receiving the revocation request, the data exchange center (ExS) adds the corresponding resource identifier and related information to the revocation list. In this way, the revocation list accurately records the resources that need to be revoked. Based on the information in the revocation list, the data exchange center (ExS) can promptly update the access permissions for shared resources, prohibiting data dependents (RPs) from accessing the revoked resources.
[0142] In these alternative embodiments, the data provider (RS) and the data exchange center (ExS) can jointly manage the revocation of shareable resources registered on the platform. When a resource is no longer needed for sharing or undergoes changes, it can be promptly revoked from the platform, preventing invalid or expired resources from continuing to be accessed and used. By jointly updating the registered resource revocation list, the RS and ExS can flexibly adjust the status and availability of shared resources. This allows the data provider to better control the scope and timeliness of data sharing, ensuring that only appropriate data is provided to authorized data-dependent parties. By revoking invalid or unnecessary shared resources, the RS and ExS can optimize resource utilization, ensuring that shared resources on the platform always remain valid and meaningful. This helps improve the efficiency and quality of data exchange, reducing unnecessary data transmission and processing.
[0143] Optionally, in this embodiment, enhanced data access and sharing includes two levels: "technically open" and "legally open." The former refers to the data being provided in a machine-readable standard format, meaning it can be retrieved and meaningfully processed by computer applications. The latter refers to the data being explicitly authorized and licensed in different ways, such as allowing commercial, non-commercial, or unlimited reuse.
[0144] According to data protection laws and regulations in various countries, uninformed consent (authorization) access and use of personal data is illegal. Users' right to know and consent regarding the use of their personal data by others is a fundamental principle that centralized data exchange service management must adhere to. This application designs a data access control management service that supports collaboration with personal digital identity agents, enabling the secure directed flow of relevant data upon requesting data access authorization from the data subject. The data access control management service only provides process management and does not involve specific data information. This application considers the centralized risks of a centralized model and the collaborative challenges of a decentralized model, employing a hybrid model combining centralized data exchange management and decentralized data storage management. The data exchange center, which performs data exchange management, is responsible for receiving data sharing requests from data requesters (i.e., data requesters), reviewing the sharing requests, requesting data access authorization from the data subject (i.e., data owner), requesting data access, and initiating data flow. Technically, it needs to implement unified identity management, unified message interfaces, and unified service entry point management. Decentralized data storage and management allows data to remain stored in the original, distributed manner within the data supply system. This data is linked through different relationships with data subjects and controlled by individuals through identity agents according to their needs, bringing it back into centralized data scheduling. Distributed digital identity technology can effectively support individuals in uniformly managing their personal data on application services through their identity agents and promote data sharing with informed authorization, bringing about a paradigm shift in digital interaction.
[0145] Figure 6 A schematic diagram of the structure of a data sharing device provided in another embodiment of this application is shown. For ease of explanation, only the parts related to the embodiments of this application are shown.
[0146] Reference Figure 6 This data sharing device is used in a data sharing system, which includes multiple data sharing parties. Each data sharing party stores user data authorized by the user. The data sharing device may include:
[0147] The first sending module 601 is used to send a data acquisition request to the data provider through a data requesting party, wherein the data acquisition request is used to acquire target user data stored on the data provider;
[0148] The second sending module 602 is used to receive the authorization result sent by the data owner through the data provider. The data owner is the authorizing party that stores the target user data on the data provider.
[0149] The third sending module 603 is used to send the target user data to the data requester through the data provider when the authorization result is that the data owner agrees to authorize the data requester.
[0150] In one embodiment, the data sharing system further includes a data exchange center, and the first sending module 601 may include:
[0151] The first sending submodule is used to generate a data acquisition request by the data requester based on the resource catalog of shareable user data recorded by the data exchange center, and send the data acquisition request to the data exchange center. The data acquisition request includes target user data, and the resource catalog is used to characterize the data items and access entry addresses of the user data that the data provider can share.
[0152] In one embodiment, the second sending module 602 may include:
[0153] The first acquisition submodule is used to obtain the authorization result of the data owner through the data exchange center based on the data acquisition request.
[0154] In one embodiment, the third sending module 603 may include:
[0155] The second sending submodule is used to send the target user data to the data exchange center through the data provider when the authorization result is that the data owner agrees to authorize the data requester.
[0156] The third sending submodule is used to send target user data to the data requester through the data exchange center.
[0157] In one embodiment, the data sharing device may further include:
[0158] The first issuance module is used to issue the first authorization certificate to the data owner through the data provider.
[0159] In one embodiment, the first acquisition submodule may include:
[0160] The first determining unit is used to determine the identity information of the data requester based on the data acquisition request through the data exchange center;
[0161] The first sending unit is used to generate an authorization request based on the identity information of the data requester through the data exchange center, and send the authorization request to the data owner. The authorization request includes the identity information of the data requester.
[0162] The second determining unit is used to obtain the authorization result from the data owner based on the authorization request.
[0163] In one embodiment, the data sharing device may further include:
[0164] The fourth sending module is used to send a second authorization credential to the data exchange center through the data owner when the authorization result is that the data owner agrees to authorize the data requester. The second authorization credential includes the first authorization credential.
[0165] In one embodiment, the second transmitting submodule may include:
[0166] The second sending unit is used to send the second authorization credential to the data provider through the data exchange center;
[0167] The first verification unit is used to extract the first authorization certificate from the second authorization certificate through the data provider, and to verify it based on the public key information and signature information of the proof part of the first authorization certificate to obtain a first verification result. The first verification result is used to indicate whether the first authorization certificate is valid.
[0168] The retrieval unit is used to retrieve, when the first verification result indicates that the first authorization credential is valid, the holder public key information stored locally by the data provider based on the holder identity information in the first authorization credential, and the holder public key information corresponding to the holder identity information in the holder identity information in the first authorization credential.
[0169] The second verification unit is used to verify the second authorization credential based on the holder's public key information and obtain a second verification result, which is used to indicate whether the second authorization credential is valid.
[0170] The third sending unit is used to send the target user data to the data exchange center through the data provider when the second verification result indicates that the second authorization credential is valid.
[0171] In one embodiment, the second transmitting submodule may further include:
[0172] The first encryption unit is used to encrypt the target user data by the data provider based on the first identity public key of the data requester, when the authorization result is that the data owner agrees to authorize the data requester, to obtain the first encrypted data.
[0173] The second encryption unit is used to encrypt the first encrypted data by the data provider using the second identity public key of the data exchange center to obtain the second encrypted data;
[0174] The fourth sending unit is used to send the second encrypted data to the data exchange center through the data provider.
[0175] In one embodiment, the third transmitting submodule may include:
[0176] The first decryption unit is used to decrypt the second encrypted data based on the second identity private key through the data exchange center to obtain the first encrypted data. The second identity private key corresponds to the second identity public key.
[0177] The fifth sending unit is used to send the first encrypted data to the data requester through the encrypted data channel between the data exchange center and the data requester.
[0178] In one embodiment, the data sharing device may further include:
[0179] The first decryption module is used to decrypt the first encrypted data by the data requester based on the first identity private key to obtain the target data. The first identity private key corresponds to the first identity public key.
[0180] In one embodiment, the data sharing device may further include:
[0181] The first determining module is used to determine the authorization time limit between the data requester and the data owner through the data exchange center, based on the identity information of the data requester and the identity information of the data owner.
[0182] The fifth sending module is used to send the authorization credentials between the pre-stored data requester and the data owner to the data provider through the data exchange center when the authorization time limit is within the preset valid time limit.
[0183] In one embodiment, the data sharing device may further include:
[0184] The first acquisition module is used to acquire the digital identity information of the data provider, data requester, data owner and data exchange center respectively. The digital identity information includes identity ID and identity public key.
[0185] The first storage module is used to store the digital identity information of the data provider, data requester, data owner and data exchange center in the public key infrastructure. The public key infrastructure is connected to the data exchange center so that the data exchange center can obtain the digital identity information.
[0186] The first recording module is used to record data items of shareable user data in the data exchange center through the data requester. The data format of the shareable user data is defined by the preset format rules in the data exchange center.
[0187] The second recording module is used to record the data access interface in the data exchange center through the data provider. The data access interface is defined by the preset rules in the data exchange center.
[0188] The first generation module is used to generate a resource catalog of shareable user data based on data items and data access interfaces through the data exchange center.
[0189] In one embodiment, the data sharing device may further include:
[0190] The first revocation module is used to revoke the data item of the data to be revoked recorded in the data exchange center by the data provider corresponding to the data to be revoked when the data owner publishes the revocation of the data to be revoked.
[0191] The second undo module is used to revoke the directory content corresponding to the revoke data in the resource directory through the data exchange center.
[0192] It should be noted that the information interaction and execution process between the above-mentioned devices / units are based on the same concept as the method embodiments of this application. They are devices corresponding to the above-mentioned battery thermal runaway early warning method. All implementation methods in the above-mentioned method embodiments are applicable to the embodiments of this device. For details on its specific functions and the technical effects it brings, please refer to the method embodiment section. It will not be repeated here.
[0193] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units and modules are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units and modules in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0194] Figure 7 A schematic diagram of the hardware structure of the electronic device provided in an embodiment of this application is shown.
[0195] The device may include a processor 701 and a memory 702 storing program instructions.
[0196] When processor 701 executes the program, it implements the steps in any of the above method embodiments.
[0197] For example, the program can be divided into one or more modules / units, one or more of which are stored in memory 702 and executed by processor 701 to complete this application. The one or more modules / units can be a series of program instruction segments capable of performing a specific function, which describe the execution process of the program in the device.
[0198] Specifically, the processor 701 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.
[0199] Memory 702 may include mass storage for data or instructions. For example, and not limitingly, memory 702 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 702 may include removable or non-removable (or fixed) media. Where appropriate, memory 702 may be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, memory 702 is non-volatile solid-state memory.
[0200] Memory may include read-only memory (ROM), random access memory (RAM), disk storage media devices, optical storage media devices, flash memory devices, and electrical, optical, or other physical / tangible memory storage devices. Therefore, typically, memory includes one or more tangible (non-transitory) readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the methods according to one aspect of this disclosure.
[0201] The processor 701 implements any of the methods described in the above embodiments by reading and executing program instructions stored in the memory 702.
[0202] In one example, the electronic device may also include a communication interface 703 and a bus 710. The processor 701, memory 702, and communication interface 703 are connected via the bus 710 and communicate with each other.
[0203] The communication interface 703 is mainly used to realize communication between various modules, devices, units and / or equipment in the embodiments of this application.
[0204] Bus 710 includes hardware, software, or both, that couples components of an online data traffic metering device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 710 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, any suitable bus or interconnect is contemplated herein.
[0205] Furthermore, in conjunction with the methods in the above embodiments, this application embodiment can provide a storage medium for implementation. This storage medium stores program instructions; when these program instructions are executed by a processor, they implement any of the methods in the above embodiments.
[0206] This application also provides a chip, which includes a processor and a communication interface. The communication interface and the processor are coupled. The processor is used to run programs or instructions to implement the various processes of the above method embodiments and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0207] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0208] This application provides a computer program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above method embodiments and achieve the same technical effects. To avoid repetition, it will not be described again here.
[0209] It should be clarified that this application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of this application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order of steps, after understanding the spirit of this application.
[0210] The functional modules shown in the above block diagram can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application-specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of this application are programs or code segments used to perform the required tasks. Programs or code segments can be stored on machine-readable media or transmitted over a transmission medium or communication link via data signals carried on a carrier wave. "Machine-readable media" can include any medium capable of storing or transmitting information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio frequency (RF) links, etc. Code segments can be downloaded via computer grids such as the Internet, intranets, etc.
[0211] It should also be noted that the exemplary embodiments mentioned in this application describe methods or systems based on a series of steps or apparatus. However, this application is not limited to the order of the above steps; that is, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.
[0212] The aspects of this disclosure have been described above with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and program products according to embodiments of this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to create a machine such that these instructions, executable via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions / actions specified in one or more blocks of the flowchart illustrations and / or block diagrams. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field-programmable logic circuit. It is also understood that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can also be implemented by special-purpose hardware performing the specified functions or actions, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0213] The above are merely specific embodiments of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, modules, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. It should be understood that the protection scope of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the protection scope of this application.
Claims
1. A data sharing method, characterized in that, Applied to a data sharing system, the data sharing system comprising multiple data sharing parties, each of which stores user data authorized by the user, the method includes: The data requester sends a data acquisition request to the data provider, wherein the data acquisition request is used to acquire target user data stored on the data provider; The data provider receives the authorization result sent by the data owner, who is the party that authorized the storage of the target user data on the data provider. If the authorization result indicates that the data owner agrees to authorize the data requester, the target user data is sent to the data requester through the data provider. The data sharing system also includes a data exchange center; The step of sending a data acquisition request to the data provider via the data requester includes: The data requester generates a data acquisition request based on the resource directory of shareable user data recorded by the data exchange center, and sends the data acquisition request to the data exchange center. The data acquisition request includes the target user data. The resource directory is used to characterize the data items and access entry addresses of the user data that the data provider can share. The step of receiving the authorization result sent by the data owner through the data provider includes: Through the data exchange center, the authorization result of the data owner is obtained according to the data acquisition request; When the authorization result indicates that the data owner agrees to authorize the data requester, sending the target user data to the data requester through the data provider includes: If the authorization result is that the data owner agrees to authorize the data requester, the target user data is sent to the data exchange center through the data provider. The target user data is sent to the data requester through the data exchange center. Before the data requester generates a data acquisition request based on the resource directory of shareable user data recorded by the data exchange center and sends the data acquisition request to the data exchange center, the method further includes: The data provider issues a first authorization credential to the data owner. The step of obtaining the authorization result of the data owner through the data exchange center according to the data acquisition request includes: The data exchange center determines the identity information of the data requester based on the data acquisition request. The data exchange center generates an authorization request based on the identity information of the data requester and sends the authorization request to the data owner. The authorization request includes the identity information of the data requester. The data owner obtains the authorization result based on the authorization request; If the authorization result indicates that the data owner agrees to authorize the data requester, before sending the target user data to the data exchange center through the data provider, the method further includes: If the authorization result indicates that the data owner agrees to authorize the data requester, the data owner sends a second authorization credential to the data exchange center, the second authorization credential including the first authorization credential.
2. The method according to claim 1, characterized in that, When the authorization result indicates that the data owner agrees to authorize the data requester, the step of sending the target user data to the data exchange center through the data provider includes: The second authorization credential is sent to the data provider through the data exchange center; The data provider extracts the first authorization credential from the second authorization credential and verifies it based on the public key information and signature information of the proof part of the first authorization credential to obtain a first verification result. The first verification result is used to indicate whether the first authorization credential is valid. If the first verification result indicates that the first authorization credential is valid, the data provider retrieves the holder public key information corresponding to the holder identity information stored locally by the data provider based on the holder identity information in the first authorization credential. The second authorization credential is verified based on the holder's public key information to obtain a second verification result, which is used to indicate whether the second authorization credential is valid. If the second verification result indicates that the second authorization credential is valid, the target user data is sent to the data exchange center through the data provider.
3. The method according to claim 1, characterized in that, When the authorization result indicates that the data owner agrees to authorize the data requester, the step of sending the target user data to the data exchange center through the data provider includes: If the authorization result is that the data owner agrees to authorize the data requester, the data provider encrypts the target user data according to the data requester's first identity public key to obtain the first encrypted data; The data provider encrypts the first encrypted data using the second identity public key of the data exchange center to obtain the second encrypted data; The data provider sends the second encrypted data to the data exchange center.
4. The method according to claim 3, characterized in that, Sending the target user data to the data requester through the data exchange center includes: The data exchange center decrypts the second encrypted data based on the second identity private key to obtain the first encrypted data, wherein the second identity private key corresponds to the second identity public key; The first encrypted data is sent to the data requester through the data exchange center using an encrypted data channel with the data requester. After sending the target user data to the data requester through the data exchange center, the method further includes: The data requester decrypts the first encrypted data based on the first identity private key to obtain the target data, wherein the first identity private key corresponds to the first identity public key.
5. The method according to claim 1, characterized in that, Before generating the authorization request based on the identity information of the data requester through the data exchange center, the method further includes: The data exchange center determines the authorization time limit between the data requester and the data owner based on the identity information of the data requester and the identity information of the data owner. If the authorization period is within the preset valid period, the data exchange center will send the pre-stored authorization credentials between the data requester and the data owner to the data provider.
6. The method according to claim 1, characterized in that, Before the data requester generates a data acquisition request based on the resource directory of shareable user data recorded by the data exchange center, the method further includes: Obtain the digital identity information corresponding to the data provider, the data requester, the data owner, and the data exchange center, wherein the digital identity information includes an identity ID and an identity public key; The digital identity information corresponding to the data provider, the data requester, the data owner, and the data exchange center is stored in a public key infrastructure. The public key infrastructure is communicatively connected to the data exchange center so that the data exchange center can obtain each digital identity information. The data requester registers the data items of the shareable user data in the data exchange center, wherein the data format of the shareable user data is defined by the preset format rules in the data exchange center; The data provider records the data access interface in the data exchange center, and the data access interface is defined by preset rules in the data exchange center; The data exchange center generates a resource catalog of shareable user data based on the data items and the data access interface.
7. The method according to claim 1, characterized in that, If the authorization result indicates that the data owner agrees to authorize the data requester, after sending the target user data to the data requester through the data provider, the method further includes: In the event that the data owner issues a request to revoke the data to be revoked, the data item of the data to be revoked recorded in the data exchange center shall be revoked by the data provider corresponding to the data to be revoked. The data exchange center can be used to revoke the directory contents corresponding to the revoked data in the resource directory.
8. A data sharing device, characterized in that, The device is applied to a data sharing system, which includes multiple data sharing parties, each of which stores user data authorized by the user. The first sending module is used to send a data acquisition request to the data provider via a data requesting party, wherein the data acquisition request is used to acquire target user data stored on the data provider; The second sending module is used to receive the authorization result sent by the data owner through the data provider, wherein the data owner is the authorizing party that stores the target user data on the data provider; The third sending module is used to send the target user data to the data requester through the data provider when the authorization result is that the data owner agrees to authorize the data requester. The data sharing system also includes a data exchange center; The first sending module is further configured to: generate a data acquisition request by the data requester based on the resource directory of shareable user data recorded by the data exchange center, and send the data acquisition request to the data exchange center, wherein the data acquisition request includes the target user data, and the resource directory is used to characterize the data items and access entry addresses of the shareable user data of the data provider; before the data requester generates the data acquisition request based on the resource directory of shareable user data recorded by the data exchange center and sends the data acquisition request to the data exchange center, the data provider issues a first authorization credential to the data owner; The second sending module is further configured to: obtain the authorization result of the data owner through the data exchange center according to the data acquisition request; determine the identity information of the data requester through the data exchange center according to the data acquisition request; generate an authorization request through the data exchange center according to the identity information of the data requester, and send the authorization request to the data owner, the authorization request including the identity information of the data requester; and obtain the authorization result through the data owner according to the authorization request. The third sending module is further configured to: send the target user data to the data exchange center through the data provider when the authorization result indicates that the data owner agrees to authorize the data requester; send the target user data to the data requester through the data exchange center; and before sending the target user data to the data exchange center through the data provider when the authorization result indicates that the data owner agrees to authorize the data requester, send a second authorization credential to the data exchange center through the data owner when the authorization result indicates that the data owner agrees to authorize the data requester, the second authorization credential including the first authorization credential.
Citation Information
Patent Citations
Data sharing method and system
CN113901512A
User data sharing method and device
CN115664759A
