Method, device and system for protecting security of agent user data, medium, electronic equipment and program product
By using trusted key services in a trusted execution environment to decrypt and encrypt the user data of the intelligent agent, ensuring that sensitive data is transmitted and stored in ciphertext form, the problem of user data security in the intelligent agent service process in the public network environment is solved, and the security protection of user data is achieved.
Patent Information
- Application Number
- CN202510765830.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-09
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2045-06-09
AI Technical Summary
In a public network environment, how to ensure the security of user sensitive data when intelligent agents provide users with services such as ticket purchase, shopping, and takeout ordering? Existing technologies cannot effectively protect user sensitive information from being leaked.
Execute steps in a trusted execution environment: respond to the agent's user data acquisition request, use the trusted key service to obtain the key to decrypt and encrypt the ciphertext data, ensure that sensitive data is in ciphertext form during transmission and storage, and the key is stored in the trusted key service and cannot be obtained by the cloud service agency.
It provides intelligent services to users in a public network environment while ensuring the security of users' sensitive data and preventing the leakage of sensitive information.
Smart Images

Figure CN120602156A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular, to a method, device, system, medium, electronic device, and program product for protecting the security of intelligent agent user data. Background Art
[0002] A large-model agent is an application framework based on a large model, capable of planning, thinking, memory, and tool use, enabling it to autonomously complete a given task. A large model can be any of a large language model, a large vision model, a large speech model, a multimodal model, or a combination of these models. The core of the agent is to use large models as general problem solvers, connecting them with external resources to complete tasks.
[0003] When processing user-submitted tasks like ticket purchases, shopping, ordering takeout, and navigation, some user-facing agents may need to access various applications. These applications often require sensitive user information, such as account and payment passwords. When running on public networks, how to provide agent services while ensuring the security of sensitive user data within these networks is a pressing issue. Summary of the Invention
[0004] This summary is provided to briefly introduce concepts that will be described in detail in the detailed description below. This summary is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0005] In a first aspect, the present disclosure provides a method for protecting the security of agent user data, the method comprising the following steps performed in a first trusted execution environment:
[0006] In response to receiving a user data acquisition request sent by an agent, acquiring first ciphertext data corresponding to the user data acquisition request;
[0007] Obtaining a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is used to store keys pre-set by the user through the client;
[0008] Decrypting the first ciphertext data using the first key to obtain first plaintext data;
[0009] Encrypting the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent;
[0010] The second ciphertext data is sent to the agent.
[0011] In a second aspect, the present disclosure provides a device for protecting the security of agent user data, the device comprising the following modules deployed in a first trusted execution environment:
[0012] A first acquisition module, configured to, in response to receiving a user data acquisition request sent by an agent, acquire first ciphertext data corresponding to the user data acquisition request;
[0013] a second acquisition module, configured to acquire a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is configured to store keys pre-set by the user through the client;
[0014] a first decryption module, configured to decrypt the first ciphertext data using the first key to obtain first plaintext data;
[0015] a first encryption module, configured to encrypt the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent;
[0016] A sending module is used to send the second ciphertext data to the agent.
[0017] In a third aspect, the present disclosure provides a system for protecting the security of intelligent agent user data, comprising:
[0018] An agent, a server, and at least one client;
[0019] Each of the at least one client is connected to the agent, and each of the at least one client is used to send the user's first task to the agent;
[0020] The agent is connected to the server, and is configured to generate a user data acquisition request according to the first task, and send the user data acquisition request to the server;
[0021] The server is deployed in a first trusted execution environment, and is used to execute the steps of the method for protecting the security of agent user data provided in the first aspect of the present disclosure;
[0022] The intelligent agent is also used to: receive the second ciphertext data sent by the server, decrypt the second ciphertext data using the second key in a second trusted execution environment to obtain the first plaintext data, and execute the first task based on the first plaintext data.
[0023] In a fourth aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the method for protecting the security of intelligent agent user data provided in the first aspect of the present disclosure.
[0024] In a fifth aspect, the present disclosure provides an electronic device, including:
[0025] a storage device having a computer program stored thereon;
[0026] A processing device is used to execute the computer program in the storage device to implement the steps of the method for protecting the security of intelligent agent user data provided in the first aspect of the present disclosure.
[0027] In a sixth aspect, the present disclosure provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the method for protecting the security of intelligent agent user data provided in the first aspect of the present disclosure.
[0028] In the above technical solution, the storage and transmission of user sensitive data required for the intelligent agent to perform tasks are all carried out in ciphertext form, and the keys used for encrypted storage are stored in the trusted key service and cannot be directly obtained by the cloud service agency. In addition, when the intelligent agent performs tasks, the links involving user sensitive data are all executed in the trusted execution environment. Therefore, when the intelligent agent runs in a public network environment, it can provide users with intelligent agent services such as ticket purchase, shopping, and ordering takeout, while ensuring the security of users' sensitive data in the public network environment.
[0029] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The above and other features, advantages and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale. In the drawings:
[0031] Figure 1 It is a schematic diagram of the process of processing ticket purchasing tasks in related technologies.
[0032] Figure 2 It is a block diagram of a system for protecting the security of intelligent agent user data according to an exemplary embodiment.
[0033] Figure 3 The figure is a schematic diagram showing a process of processing a ticket purchasing task according to an exemplary embodiment.
[0034] Figure 4The figure is a flowchart of a method for protecting the security of intelligent agent user data according to an exemplary embodiment.
[0035] Figure 5 The present invention is a schematic diagram of a process for protecting the security of intelligent agent user data according to an exemplary embodiment.
[0036] Figure 6 The diagram is a schematic diagram showing a key setting process according to an exemplary embodiment.
[0037] Figure 7 The figure is a flowchart showing a process of obtaining account and password data according to an exemplary embodiment.
[0038] Figure 8 The figure is a schematic diagram of an interface of a transparent trusted center according to an exemplary embodiment.
[0039] Figure 9 The present invention is a block diagram of a device for protecting the security of agent user data according to an exemplary embodiment.
[0040] Figure 10 The figure is a schematic structural diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION
[0041] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.
[0042] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0043] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.
[0044] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0045] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".
[0046] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0047] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0048] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.
[0049] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0050] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0051] At the same time, it is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) must comply with the requirements of relevant laws, regulations and relevant provisions.
[0052] As discussed in the background technology, when processing tasks submitted by users, such as ticket purchase, shopping, takeout ordering, route navigation, etc., user-oriented agents may need to access various applications. When running, applications often need to use users' sensitive information, such as account passwords, payment passwords, etc.
[0053] like Figure 1 As shown in the figure, a user submits a ticket purchase task, requesting the Agent to purchase a high-speed rail ticket for a specified time, departure and destination, and for a specified passenger and seat through the ticket purchase application (APP). At this point, the Agent server (Server) is deployed on the public cloud. It opens the ticket purchase application deployed on the Agent Server to execute the ticket purchase task. The ticket purchase process requires the user's ticket purchase application account password, personal identification information such as the user's ID number and name, and payment password. This data is considered sensitive user data. Therefore, the public cloud requires the user's sensitive data to enable the Agent to smoothly complete the corresponding task on the user's behalf, and the security of the user's sensitive data must be protected.
[0054] Currently, the use of artificial intelligence (AI) on devices like smartphones, tablets, and personal computers is limited. For conversations and question-answering within apps that integrate large inference models, AI responses are limited to information available on the web. It cannot access information within the app, nor can it truly help users complete tasks like buying tickets, shopping, or ordering takeout. The reasons are: first, the apps on the devices don't provide API permissions, and the operating systems don't provide underlying permissions, creating barriers to AI. Second, purely visual solutions have significant response delays, even slower than user operation. Finally, they lack cross-device and cross-operating system functionality.
[0055] Therefore, when the intelligent agent runs in a public network environment, how to provide users with intelligent agent services such as ticket purchase, shopping, and ordering takeout while ensuring the security of users' sensitive data in the public network environment is an urgent problem to be solved.
[0056] In view of this, the present disclosure provides a method, device, system, medium, electronic device and program product for protecting the security of intelligent agent user data.
[0057] Figure 2 FIG. 1 is a block diagram of a system for protecting the security of agent user data according to an exemplary embodiment. Figure 2 As shown, the system for protecting the security of agent user data includes an agent 10, a server 20 and at least one client 30 ( Figure 2In the figure, a system for protecting the security of user data of an intelligent agent includes multiple clients as an example for explanation), wherein the intelligent agent 10 is the above-mentioned Agent Server, the client 30 can be an Agent client (Client), the intelligent agent 10 is deployed in a public cloud environment, and the server 20 is deployed in a first trusted execution environment (Trusted Execution Environment, TEE).
[0058] TEE is a hardware-based security technology that creates a secure computing environment isolated from the outside world by dividing it into secure and non-secure parts. This ensures the confidentiality and integrity of the data and code loaded within it. TEE is isolated from the general environment and offers a higher level of security, making it suitable for processing sensitive data.
[0059] In one possible implementation, private cloud computing (PCC) can be implemented based on TEE technology. In this case, the server 20 can be deployed in a PCC environment. PCC is a new computing paradigm for cloud tenants to protect sensitive data in a public cloud environment, based on innovative privacy protection technologies such as TEE, cryptographic applications, and information flow security.
[0060] like Figure 2 As shown, each of the at least one client is connected to the agent and is configured to issue a user's first task to the agent. The first task can be a ticket purchase task, such as purchasing a train ticket or plane ticket, or a task such as shopping, ordering takeout, or route navigation. The Agent Client can be an app that integrates a large inference model and is a device-side app.
[0061] like Figure 2 As shown, the agent 10 is connected to the server 20, and is used to generate a user data acquisition request according to the user's first task and send the user data acquisition request to the server. The user data acquisition request is used to obtain user data. When the agent 10 performs a task, if it encounters a step in which a related application or software requires a login account to obtain information, it can generate a user data acquisition request for obtaining the login account of the related application or software according to the first task, such as Figure 3 As shown, the ticket purchase task requires obtaining the account and password of the ticket purchase APP. After the login is completed, a user data acquisition request can be generated to obtain the user's name, ID number and other personal identity information. After the order is submitted, a user data acquisition request is generated to obtain the payment password, and the order payment is completed based on the obtained bank card and other third-party payment passwords.
[0062] The server 20 is used to obtain the first ciphertext data corresponding to the user data acquisition request sent by the intelligent agent 10 from the first database, decrypt it, encrypt the data using the key agreed with the intelligent agent, and then feed it back to the intelligent agent 10, so that the intelligent agent 10 executes the user's first task in the second TEE based on the data obtained from the server.
[0063] like Figure 3 As shown, the server 20 obtains the account and password of the ticket purchase APP from the first database, completes the account login of the ticket purchase APP, then obtains the personal identity information from the first database to place an order, and finally obtains the payment password from the first database to complete the order payment. Figure 3 As shown in the figure, the acquisition of sensitive information such as account passwords, personal identity information, and payment passwords is performed in TEE, thus preventing the leakage of these sensitive data.
[0064] The first database may be a database in a common cloud environment or a database in a TEE.
[0065] Figure 4 This is a flow chart of a method for protecting the security of agent user data according to an exemplary embodiment. The method for protecting the security of agent user data can be applied to a server deployed in the first TEE, for example Figure 2 The server 20 in Figure 4 As shown, the method for protecting the security of agent user data may include S101 to S105 executed in the first TEE.
[0066] In S101 , in response to receiving a user data acquisition request sent by an agent, first ciphertext data corresponding to the user data acquisition request is acquired.
[0067] In the present disclosure, a user can initiate a first task through an Agent Client on a terminal device. After receiving the first task, the Agent Client can send it to an intelligent agent in a public cloud environment. The intelligent agent can generate a user data acquisition request based on the first task and send the user data acquisition request to the server. After receiving the user data acquisition request sent by the intelligent agent, the server can read the first ciphertext data from the first database, that is, it can access the first database to obtain the first ciphertext data corresponding to the user data acquisition request. The user can initiate the first task through voice or text input.
[0068] For example, Figure 5As shown, the user initiates the first task through the Agent Client. The specific content of the first task is "Help me buy a high-speed rail ticket from Shenzhen to Longyan on May 1st on the ticket purchase app, with a window seat and direct payment."
[0069] In S102, a first key corresponding to the user data acquisition request is obtained from a trusted key service.
[0070] In S103 , the first ciphertext data is decrypted using the first key to obtain the first plaintext data.
[0071] In the present disclosure, the Trusted Key Service (TKS) is used to store the key pre-set by the user through the client, which may specifically include the correspondence between the user identifier and the key. Figure 5 and Figure 6 As shown in Figure 1, users can pre-set the key used to encrypt personal sensitive information through the Agent Security Center in the client as the key corresponding to themselves in the data safe, and entrust it to TKS. TKS is a security service running in PCC, which aims to provide users with hardware-based key management and proxy services. Figure 5 As shown, TKS runs in the first TEE, such as Figure 5 As shown, TKS can be deployed on the server side. At the same time, personal sensitive information such as login account passwords, personal identity information, payment passwords, etc. of related applications or software can also be entrusted to the data safe (i.e., the first database) as needed. Specifically, the server side encrypts the required entrusted data using the user-set key and stores it in the data safe.
[0072] In this way, the data obtained by the server from the first database is ciphertext, that is, the first ciphertext data. Since the first ciphertext data is encrypted using the first key set in advance by the user, after obtaining the first ciphertext data, the user identifier can be obtained from the user data acquisition request. Thereafter, the key corresponding to the user identifier is obtained from the TKS, that is, the first key corresponding to the user data acquisition request, wherein the user data acquisition request contains the user identifier; finally, the first ciphertext data is decrypted using the first key to obtain the first plaintext data.
[0073] In S104, the first plaintext data is encrypted using the second key to obtain second ciphertext data.
[0074] In S105, the second ciphertext data is sent to the agent.
[0075] In the present disclosure, the agent is used to decrypt the received second ciphertext data using the second key in the second TEE to obtain the first plaintext data, and execute the user's first task based on the first plaintext data in the second TEE. The second key is negotiated with the service agent.
[0076] like Figure 5 As shown, in order to avoid the leakage of the first plaintext data caused by the transmission in the public cloud environment, the user's sensitive data can be transmitted in ciphertext form between the server and the agent. That is, after the server obtains the first plaintext data, it can use the second key pre-negotiated with the agent to encrypt the first plaintext data to obtain the second ciphertext data, and send it to the agent; after receiving the second ciphertext data, the agent can use the second key in the second TEE to decrypt the second ciphertext data to obtain the first plaintext data. After that, the agent can perform the user's first task based on the first plaintext data in the second TEE. In order to avoid the leakage of the first plaintext data due to reasons such as the agent being attacked, the agent can destroy the first plaintext data after performing the user's first task. That is, the agent is also used to destroy the first plaintext data in the second TEE after the first task is completed.
[0077] In a possible implementation, the first plaintext data may be encrypted using the second key via a first software development kit (SDK) to obtain second ciphertext data, such as Figure 5 As shown, the agent is deployed with the same SDK, namely the PCC SDK. After receiving the second key, the agent can decrypt the second ciphertext data through the second SDK in the agent to obtain the first plaintext data, and then execute the user's first task based on the first plaintext data in the second TEE, where the second SDK runs. Calling the SDK for encryption and decryption simplifies the implementation process of encryption and decryption operations. Developers can easily achieve secure data transmission without in-depth understanding of complex encryption and decryption algorithms. Furthermore, professional SDKs are usually designed by experienced security experts and have built-in security mechanisms such as key management and access control, which can effectively prevent data leakage and unauthorized access.
[0078] For example, Figure 3 and Figure 5As shown, the first task is to purchase a high-speed rail ticket through the ticket purchasing APP. After receiving the first task, the intelligent agent can open the ticket purchasing APP on the intelligent agent, and then enter the login page. At this time, the user's ticket purchasing APP account and password are required. A user data acquisition request for obtaining the account and password of the ticket purchasing APP can be generated and sent to the server. After receiving the user data acquisition request, the server can obtain the first ciphertext of the account and password of the ticket purchasing APP from the data safe, and then obtain the first key pre-set by the user from TKS. After that, the first ciphertext of the account and password of the ticket purchasing APP is decrypted using the first key to obtain The plain text of the account number and password of the ticket purchasing APP, next, the plain text of the account number and password of the ticket purchasing APP is encrypted by the first SDK using the second key to obtain the second ciphertext of the account number and password of the ticket purchasing APP, and the second ciphertext of the account number and password of the ticket purchasing APP is sent to the intelligent body; after the intelligent body receives the second ciphertext of the account number and password of the ticket purchasing APP, it can use the second SDK in the intelligent body to decrypt the second ciphertext of the account number and password of the ticket purchasing APP using the second key to obtain the plain text of the account number and password of the ticket purchasing APP. At this time, the intelligent body can use the obtained plain text of the account number and password of the ticket purchasing APP in the second TEE to log in to the ticket purchasing APP.
[0079] After the login is completed, the agent can purchase tickets according to user needs in the second TEE. In this process, personal identity information such as the name and ID number of the target ticket purchaser is required. If the passenger information of the ticket purchase APP contains the target ticket purchaser, it can be used directly to place an order. If the passenger information does not contain the personal identity information of the target ticket purchase, the agent can generate a user data acquisition request for obtaining the personal identity information of the target ticket purchaser and send it to the server. After receiving the user data acquisition request, the server can obtain the third ciphertext of the personal identity information such as the name and ID number of the ticket purchaser from the data safe, and then , use the first key to decrypt the third ciphertext of the personal identity information to obtain the plaintext of the personal identity information, then encrypt the plaintext of the personal identity information using the second key through the first SDK to obtain the fourth ciphertext of the personal identity information, and send the fourth ciphertext of the personal identity information to the intelligent agent; after the intelligent agent receives the fourth ciphertext of the personal identity information, it can use the second key through the second SDK in the intelligent agent to decrypt the fourth ciphertext of the personal identity information to obtain the plaintext of the personal identity information. At this time, the intelligent agent can use the obtained plaintext of the personal identity information to place an order in the second TEE and submit the order.
[0080] After submitting the order, you can enter the payment page. At this time, you can generate a user data acquisition request for obtaining the payment password and send it to the server; after receiving the user data acquisition request, the server can obtain the fifth ciphertext of the payment password from the data safe, and then use the first key to decrypt the fifth ciphertext of the payment password to obtain the plaintext of the payment password. Next, use the first SDK to encrypt the plaintext of the payment password using the second key to obtain the sixth ciphertext of the payment password, and send the sixth ciphertext of the payment password to the intelligent agent; after the intelligent agent receives the sixth ciphertext of the payment password, it can use the second key to decrypt the sixth ciphertext of the payment password through the second SDK in the intelligent agent to obtain the plaintext of the payment password. At this time, the intelligent agent can use the obtained plaintext of the payment password in the second TEE to pay for the order, and feedback the successful task execution result of the ticket purchase to the corresponding client.
[0081] In the above technical solution, the storage and transmission of user sensitive data required for the intelligent agent to perform tasks are all carried out in ciphertext form, and the keys used for encrypted storage are stored in the trusted key service and cannot be directly obtained by the cloud service agency. In addition, when the intelligent agent performs tasks, the links involving user sensitive data are all executed in the trusted execution environment. Therefore, when the intelligent agent runs in a public network environment, it can provide users with intelligent agent services such as ticket purchase, shopping, and ordering takeout, while ensuring the security of users' sensitive data in the public network environment.
[0082] The following describes in detail the specific method of obtaining the first ciphertext data corresponding to the user data acquisition request in response to receiving the user data acquisition request sent by the intelligent agent in the above S101. Specifically, it can be achieved through the following steps (1) to (3).
[0083] Step (1): In response to receiving a user data acquisition request sent by an intelligent agent, determining whether there is first ciphertext data corresponding to the user data acquisition request in the first database.
[0084] Step (2): If the first ciphertext data exists in the first database, the first ciphertext data is read from the first database.
[0085] Step (3): If the first ciphertext data does not exist in the first database, a response message to the user data acquisition request is sent to the agent.
[0086] In the present disclosure, the response message is used to indicate that there is no data corresponding to the user data acquisition request in the first database.
[0087] In this disclosure, Figure 7As shown, the user can authorize in advance to store his or her own account password, personal identity information and other sensitive data in the first database, that is, the data safe, or not to authorize to store his or her own sensitive data in the data safe. Therefore, after receiving the user data acquisition request sent by the intelligent agent, the server can first determine whether there is the first ciphertext data corresponding to the user data acquisition request in the data safe, that is, determine whether there is pre-stored corresponding sensitive data. If the first ciphertext data corresponding to the user data acquisition request exists in the data safe, the first ciphertext data can be read from the data safe, and then tasks can be performed based on the acquired sensitive data, for example, filling the account password into the login entry of the corresponding APP in the intelligent agent to successfully log in to the corresponding APP.
[0088] If the first ciphertext data corresponding to the user data acquisition request does not exist in the data safe, the server can send a response message to the agent to indicate that the data corresponding to the current user data acquisition request does not exist in the data safe. Figure 7 As shown in the figure, after receiving the response message, the agent can request the user to enter sensitive data related to the task, such as the account and password, in the dialog box of the Agent Client. If the agent receives the relevant sensitive data entered by the user through the Agent Client, it will continue to execute the task based on the data. If the user refuses to enter the sensitive data related to the task (that is, the user does not approve), it indicates that the task cannot continue to be executed and the task fails.
[0089] In one possible implementation, the method for protecting agent user data security may further include the following three steps performed in the first TEE:
[0090] In response to receiving the third key sent by the first client, storing the third key using the trusted key service;
[0091] In response to receiving the second plaintext data sent by the first client, encrypting the second plaintext data using the third key to obtain third ciphertext data;
[0092] The third ciphertext data is stored in the first database.
[0093] In this disclosure, Figure 5 and Figure 6 As shown, the user can pre-set a third key for encrypting personal sensitive information through the first client. After receiving the user-hosted key, the first client sends it to the server; after receiving the third key, the server can store it in the TKS.
[0094] like Figure 5 and Figure 6As shown, users can also pre-host some of their own sensitive data, i.e., second plaintext data, through the first client according to their own needs. After receiving the data hosted by the user, the first client can send it to the server; after receiving the data, the server can use the first key to encrypt them to obtain a third ciphertext, and then store the third ciphertext in the data safe.
[0095] To meet user needs for security, trust, and self-verification, the Transparency Confidential Service (TCS) can be opened on the client to query cloud data usage. Specifically, in one possible implementation, the above method for protecting the security of agent user data can also include the following two steps performed in the first TEE:
[0096] receiving a query request sent by the second client, wherein the query request is used to instruct acquisition of a historical usage record of the third plaintext data;
[0097] Obtain historical usage records and send the historical usage records to the second client.
[0098] In this disclosure, TCS is a service that can audit the application of user sensitive data in PCC, thereby proving that sensitive data flows in encrypted form on the cloud only according to user instructions, and conveying the trustworthy concept of cloud services to users.
[0099] like Figure 5 and Figure 6 As shown in , when a user wants to obtain the historical usage records of his own data, he can view it through the transparent trust center in the Agent security center of the second client, such as Figure 8 The historical usage record may include at least one of the usage time, usage times, and usage information, wherein the usage time is used to indicate the specific time when the user sensitive data was called, such as Figure 8 As shown, the **account and password have just been called. The usage information is used to characterize what tasks are done and what data are used. The number of uses can include today's calls (i.e., uses), the current time, and the monthly cumulative number of calls.
[0100] In addition, after setting the key, the user can modify the key as needed. Specifically, in one possible implementation, the above method for protecting the security of agent user data may also include the following five steps performed in the first TEE:
[0101] receiving a first update instruction sent by a third client, wherein the first update instruction is used to instruct to update the fourth key to a fifth key;
[0102] Updating the fourth key in the trusted key service to the fifth key;
[0103] Obtaining fourth ciphertext data, wherein the fourth ciphertext data is encrypted using a fourth key;
[0104] decrypting the fourth ciphertext data using the fourth key to obtain fourth plaintext data;
[0105] The fourth plaintext data is encrypted using the fifth key to obtain fifth ciphertext data, and the fourth ciphertext data is updated to the fifth ciphertext data.
[0106] In the present disclosure, when a user needs to modify the fourth key in TKS, a first update instruction for instructing to update the fourth key to the fifth key can be initiated through a third client. After receiving the first update instruction, the third client can send it to the server; after receiving the first update instruction, the server can update the fourth key in TKS to the fifth key; at the same time, obtain the ciphertext encrypted using the fourth key, that is, the fourth ciphertext data, from the data safe, and then first decrypt the fourth ciphertext data using the fourth key to obtain the fourth plaintext data, and then encrypt the fourth plaintext data using the new fifth key to obtain the fifth ciphertext data, and update the fourth ciphertext data in the first database to the fifth ciphertext data.
[0107] In addition to modifying the key, the user can also modify the hosted data, for example, modify the account password. Specifically, in one possible implementation, the above method for protecting the security of the agent user data can also include the following four steps performed in the first TEE:
[0108] receiving a second update instruction sent by the fourth client, wherein the second update instruction is used to instruct to update the fifth plaintext data to sixth plaintext data;
[0109] obtaining a fifth key for encrypting fifth plaintext data;
[0110] encrypting the sixth plaintext data using the fifth key to obtain sixth ciphertext data;
[0111] The seventh ciphertext data is updated to the sixth ciphertext data, wherein the seventh ciphertext data is obtained by encrypting the fifth plaintext data using the fifth key.
[0112] In the present disclosure, when a user needs to modify the fifth plaintext data being hosted, a second update instruction for instructing to update the fifth plaintext data to sixth plaintext data can be initiated through the fourth client. After receiving the second update instruction, the fourth client can send it to the server; after receiving the second update instruction, the server can first obtain the fifth key used to encrypt the fifth plaintext data, and then use the fifth key to encrypt the sixth plaintext data to obtain the sixth ciphertext data. Finally, the ciphertext of the fifth plaintext data in the data safe (i.e., the seventh ciphertext data) can be updated to the sixth ciphertext data.
[0113] Figure 9 FIG. 1 is a block diagram of a device for protecting the security of agent user data according to an exemplary embodiment. Figure 9 As shown, the apparatus 300 for protecting the security of agent user data includes the following modules deployed in a first trusted execution environment:
[0114] A first acquisition module 301 is configured to, in response to receiving a user data acquisition request sent by an agent, acquire first ciphertext data corresponding to the user data acquisition request;
[0115] A second acquisition module 302 is configured to acquire a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is configured to store keys pre-set by the user through the client;
[0116] A first decryption module 303, configured to decrypt the first ciphertext data using the first key to obtain first plaintext data;
[0117] A first encryption module 304 is configured to encrypt the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent;
[0118] The sending module 305 is used to send the second ciphertext data to the agent.
[0119] In the above technical solution, the storage and transmission of user sensitive data required for the intelligent agent to perform tasks are all carried out in ciphertext form, and the keys used for encrypted storage are stored in the trusted key service and cannot be directly obtained by the cloud service agency. In addition, when the intelligent agent performs tasks, the links involving user sensitive data are all executed in the trusted execution environment. Therefore, when the intelligent agent runs in a public network environment, it can provide users with intelligent agent services such as ticket purchase, shopping, and ordering takeout, while ensuring the security of users' sensitive data in the public network environment.
[0120] Optionally, the first acquisition module 301 is configured to read the first ciphertext data from a first database in response to receiving the user data acquisition request.
[0121] Optionally, the agent is configured to decrypt the second ciphertext data using the second key in a second trusted execution environment to obtain the first plaintext data, and execute the user's first task based on the first plaintext data;
[0122] The intelligent agent is further configured to destroy the first plaintext data in the second trusted execution environment after the first task is completed.
[0123] Optionally, the first encryption module 304 is used to encrypt the first plaintext data using the second key through the first software development kit SDK to obtain second ciphertext data, wherein the intelligent agent is used to decrypt the second ciphertext data through the second software development kit SDK in the intelligent agent to obtain the first plaintext data, wherein the second SDK runs in the second trusted execution environment.
[0124] Optionally, the apparatus 300 for protecting agent user data security further includes the following modules deployed in the first trusted execution environment:
[0125] a first storage module, configured to, in response to receiving a third key sent by the first client, store the third key using the trusted key service;
[0126] a second encryption module, configured to, in response to receiving second plaintext data sent by the first client, encrypt the second plaintext data using the third key to obtain third ciphertext data;
[0127] The second storage module is used to store the third ciphertext data in the first database.
[0128] Optionally, the apparatus 300 for protecting agent user data security further includes the following modules deployed in the first trusted execution environment:
[0129] a first receiving module, configured to receive a query request sent by a second client, wherein the query request is used to instruct acquisition of a historical usage record of the third plaintext data, the historical usage record including at least one of usage time, usage count, and usage information;
[0130] The third acquisition module is configured to acquire the historical usage record and send the historical usage record to the second client.
[0131] Optionally, the apparatus 300 for protecting agent user data security further includes the following modules deployed in the first trusted execution environment:
[0132] A second receiving module is configured to receive a first update instruction sent by a third client, wherein the first update instruction is used to instruct to update the fourth key to a fifth key;
[0133] A first updating module, configured to update the fourth key in the trusted key service to the fifth key;
[0134] a fourth obtaining module, configured to obtain fourth ciphertext data, wherein the fourth ciphertext data is encrypted using the fourth key;
[0135] a second decryption module, configured to decrypt the fourth ciphertext data using the fourth key to obtain fourth plaintext data;
[0136] The third encryption module is configured to encrypt the fourth plaintext data using the fifth key to obtain fifth ciphertext data, and update the fourth ciphertext data to the fifth ciphertext data.
[0137] Optionally, the apparatus 300 for protecting agent user data security further includes the following modules deployed in the first trusted execution environment:
[0138] a third receiving module, configured to receive a second update instruction sent by a fourth client, wherein the second update instruction is used to instruct to update the fifth plaintext data to sixth plaintext data;
[0139] a fifth obtaining module, configured to obtain a fifth key for encrypting the fifth plaintext data;
[0140] a fourth encryption module, configured to encrypt the sixth plaintext data using the fifth key to obtain sixth ciphertext data;
[0141] The second updating module is configured to update the seventh ciphertext data to the sixth ciphertext data, wherein the seventh ciphertext data is obtained by encrypting the fifth plaintext data using the fifth key.
[0142] In addition, the present disclosure also provides a system for protecting the security of intelligent agent user data, including:
[0143] An agent, a server, and at least one client;
[0144] Each of the at least one client is connected to the agent, and each of the at least one client is used to send the user's first task to the agent;
[0145] The agent is connected to the server, and is configured to generate a user data acquisition request according to the first task, and send the user data acquisition request to the server;
[0146] The server is deployed in a first trusted execution environment to execute the steps of the method for protecting the security of agent user data provided by the present disclosure;
[0147] The intelligent agent is also used to: receive the second ciphertext data sent by the server, decrypt the second ciphertext data using the second key in a second trusted execution environment to obtain the first plaintext data, and execute the first task based on the first plaintext data.
[0148] The present disclosure also provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the above-mentioned method for protecting the security of intelligent agent user data provided by the present disclosure.
[0149] The present disclosure also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the above-mentioned method for protecting the security of intelligent agent user data provided by the present disclosure.
[0150] Reference below Figure 10 , which shows an electronic device (eg Figure 2 The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 10 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0151] like Figure 10 As shown, the electronic device 600 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage device 608 into a random access memory (RAM) 603. Various programs and data required for the operation of the electronic device 600 are also stored in the RAM 603. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.
[0152] Typically, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 10 The electronic device 600 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.
[0153] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.
[0154] It should be noted that the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or component. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.
[0155] In some embodiments, the server can communicate using any currently known or later developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or later developed network.
[0156] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0157] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device in the first trusted execution environment, the electronic device: in response to receiving a user data acquisition request sent by an intelligent agent, obtains the first ciphertext data corresponding to the user data acquisition request; obtains the first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is used to store the key pre-set by the user through the client; uses the first key to decrypt the first ciphertext data to obtain first plaintext data; uses the second key to encrypt the first plaintext data to obtain second ciphertext data, wherein the second key is negotiated with the intelligent agent; and sends the second ciphertext data to the intelligent agent.
[0158] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on the remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0159] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0160] The modules described in the embodiments of the present disclosure may be implemented in software or hardware. In some cases, the name of a module does not limit the module itself. For example, the first acquisition module may be described as "a module that, in response to receiving a user data acquisition request from an agent, acquires first ciphertext data corresponding to the user data acquisition request."
[0161] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0162] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0163] According to one or more embodiments of the present disclosure, Example 1 provides a method for protecting agent user data security, the method comprising the following steps performed in a first trusted execution environment:
[0164] In response to receiving a user data acquisition request sent by an agent, acquiring first ciphertext data corresponding to the user data acquisition request;
[0165] Obtaining a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is used to store keys pre-set by the user through the client;
[0166] Decrypting the first ciphertext data using the first key to obtain first plaintext data;
[0167] Encrypting the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent;
[0168] The second ciphertext data is sent to the agent.
[0169] According to one or more embodiments of the present disclosure, Example 2 provides the method of Example 1, wherein, in response to receiving a user data acquisition request sent by an agent, acquiring first ciphertext data corresponding to the user data acquisition request includes:
[0170] In response to receiving the user data acquisition request, the first ciphertext data is read from a first database.
[0171] According to one or more embodiments of the present disclosure, Example 3 provides the method of Example 1, wherein the agent is configured to decrypt the second ciphertext data using the second key in the second trusted execution environment to obtain the first plaintext data, and execute the user's first task based on the first plaintext data;
[0172] The intelligent agent is further configured to destroy the first plaintext data in the second trusted execution environment after the first task is completed.
[0173] According to one or more embodiments of the present disclosure, Example 4 provides the method of Example 1, wherein encrypting the first plaintext data using the second key to obtain the second ciphertext data includes:
[0174] The first plaintext data is encrypted using the second key through the first software development kit SDK to obtain second ciphertext data, wherein the intelligent agent is used to decrypt the second ciphertext data through the second software development kit SDK in the intelligent agent to obtain the first plaintext data, wherein the second SDK runs in the second trusted execution environment.
[0175] According to one or more embodiments of the present disclosure, Example 5 provides the method of any one of Examples 1 to 4, wherein the method further includes the following steps performed in the first trusted execution environment:
[0176] In response to receiving the third key sent by the first client, storing the third key using the trusted key service;
[0177] In response to receiving the second plaintext data sent by the first client, encrypting the second plaintext data using the third key to obtain third ciphertext data;
[0178] The third ciphertext data is stored in the first database.
[0179] According to one or more embodiments of the present disclosure, Example 6 provides the method of any one of Examples 1 to 4, wherein the method further includes the following steps performed in the first trusted execution environment:
[0180] Receiving a query request sent by a second client, wherein the query request is used to instruct to obtain a historical usage record of the third plaintext data, the historical usage record including at least one of usage time, usage count, and usage information;
[0181] Acquire the historical usage record, and send the historical usage record to the second client.
[0182] According to one or more embodiments of the present disclosure, Example 7 provides the method of any one of Examples 1 to 4, wherein the method further includes the following steps performed in the first trusted execution environment:
[0183] receiving a first update instruction sent by a third client, wherein the first update instruction is used to instruct to update the fourth key to a fifth key;
[0184] Updating the fourth key in the trusted key service to the fifth key;
[0185] Obtaining fourth ciphertext data, wherein the fourth ciphertext data is encrypted using the fourth key;
[0186] Decrypting the fourth ciphertext data using the fourth key to obtain fourth plaintext data;
[0187] The fourth plaintext data is encrypted using the fifth key to obtain fifth ciphertext data, and the fourth ciphertext data is updated to the fifth ciphertext data.
[0188] According to one or more embodiments of the present disclosure, Example 8 provides the method of any one of Examples 1 to 4, wherein the method further includes the following steps performed in the first trusted execution environment:
[0189] receiving a second update instruction sent by a fourth client, wherein the second update instruction is used to instruct to update the fifth plaintext data to sixth plaintext data;
[0190] Obtaining a fifth key for encrypting the fifth plaintext data;
[0191] Encrypting the sixth plaintext data using the fifth key to obtain sixth ciphertext data;
[0192] The seventh ciphertext data is updated to the sixth ciphertext data, wherein the seventh ciphertext data is obtained by encrypting the fifth plaintext data using the fifth key.
[0193] According to one or more embodiments of the present disclosure, Example 9 provides a device for protecting agent user data security, the device comprising the following modules deployed in a first trusted execution environment:
[0194] A first acquisition module, configured to, in response to receiving a user data acquisition request sent by an agent, acquire first ciphertext data corresponding to the user data acquisition request;
[0195] a second acquisition module, configured to acquire a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is configured to store keys pre-set by the user through the client;
[0196] a first decryption module, configured to decrypt the first ciphertext data using the first key to obtain first plaintext data;
[0197] a first encryption module, configured to encrypt the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent;
[0198] A sending module is used to send the second ciphertext data to the agent.
[0199] According to one or more embodiments of the present disclosure, Example 10 provides a system for protecting the security of agent user data, including:
[0200] An agent, a server, and at least one client;
[0201] Each of the at least one client is connected to the agent, and each of the at least one client is used to send the user's first task to the agent;
[0202] The agent is connected to the server, and is configured to generate a user data acquisition request according to the first task, and send the user data acquisition request to the server;
[0203] The server is deployed in a first trusted execution environment, and is configured to execute the steps of the method described in any one of Examples 1-8;
[0204] The intelligent agent is also used to: receive the second ciphertext data sent by the server, decrypt the second ciphertext data using the second key in a second trusted execution environment to obtain the first plaintext data, and execute the first task based on the first plaintext data.
[0205] According to one or more embodiments of the present disclosure, Example 11 provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in any one of Examples 1-8 when executed by a processing device.
[0206] According to one or more embodiments of the present disclosure, Example 12 provides an electronic device, including:
[0207] a storage device having a computer program stored thereon;
[0208] A processing device is used to execute the computer program in the storage device to implement the steps of the method described in any one of Examples 1-8.
[0209] According to one or more embodiments of the present disclosure, Example 13 provides a computer program product, including a computer program, which implements the steps of any one of the methods of Examples 1-8 when executed by a processor.
[0210] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but also includes other technical solutions formed by any combination of the above-mentioned technical features or their equivalents without departing from the above-mentioned disclosed concepts. For example, a technical solution formed by replacing the above-mentioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.
[0211] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0212] Although the subject matter has been described using language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims. Regarding the apparatus in the above-described embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method and will not be elaborated upon here.
Claims
1. A method for protecting the security of intelligent agent user data, characterized in that: The method comprises the following steps performed in a first trusted execution environment: In response to receiving a user data acquisition request sent by an agent, acquiring first ciphertext data corresponding to the user data acquisition request; Obtaining a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is used to store keys pre-set by the user through the client; Decrypting the first ciphertext data using the first key to obtain first plaintext data; Encrypting the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent; The second ciphertext data is sent to the agent.
2. The method according to claim 1, characterized in that The step of obtaining, in response to receiving a user data acquisition request sent by an agent, first ciphertext data corresponding to the user data acquisition request comprises: In response to receiving the user data acquisition request, the first ciphertext data is read from a first database.
3. The method according to claim 1, characterized in that The agent is configured to decrypt the second ciphertext data using the second key in the second trusted execution environment to obtain the first plaintext data, and execute the first task of the user based on the first plaintext data; The intelligent agent is further configured to destroy the first plaintext data in the second trusted execution environment after the first task is completed.
4. The method according to claim 1, wherein The encrypting the first plaintext data using the second key to obtain second ciphertext data includes: The first plaintext data is encrypted using the second key through the first software development kit SDK to obtain second ciphertext data, wherein the intelligent agent is used to decrypt the second ciphertext data through the second software development kit SDK in the intelligent agent to obtain the first plaintext data, wherein the second SDK runs in the second trusted execution environment.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises the following steps performed in the first trusted execution environment: In response to receiving the third key sent by the first client, storing the third key using the trusted key service; In response to receiving the second plaintext data sent by the first client, encrypting the second plaintext data using the third key to obtain third ciphertext data; The third ciphertext data is stored in the first database.
6. The method according to any one of claims 1 to 4, characterized in that The method further comprises the following steps performed in the first trusted execution environment: Receiving a query request sent by a second client, wherein the query request is used to instruct to obtain a historical usage record of the third plaintext data, the historical usage record including at least one of usage time, usage count, and usage information; Acquire the historical usage record, and send the historical usage record to the second client.
7. The method according to any one of claims 1 to 4, characterized in that The method further comprises the following steps performed in the first trusted execution environment: receiving a first update instruction sent by a third client, wherein the first update instruction is used to instruct to update the fourth key to a fifth key; Updating the fourth key in the trusted key service to the fifth key; Obtaining fourth ciphertext data, wherein the fourth ciphertext data is encrypted using the fourth key; Decrypting the fourth ciphertext data using the fourth key to obtain fourth plaintext data; The fourth plaintext data is encrypted using the fifth key to obtain fifth ciphertext data, and the fourth ciphertext data is updated to the fifth ciphertext data.
8. The method according to any one of claims 1 to 4, characterized in that The method further comprises the following steps performed in the first trusted execution environment: receiving a second update instruction sent by a fourth client, wherein the second update instruction is used to instruct to update the fifth plaintext data to sixth plaintext data; Obtaining a fifth key for encrypting the fifth plaintext data; Encrypting the sixth plaintext data using the fifth key to obtain sixth ciphertext data; The seventh ciphertext data is updated to the sixth ciphertext data, wherein the seventh ciphertext data is obtained by encrypting the fifth plaintext data using the fifth key.
9. A device for protecting the security of intelligent user data, characterized in that: The apparatus includes the following modules deployed in a first trusted execution environment: A first acquisition module, configured to, in response to receiving a user data acquisition request sent by an agent, acquire first ciphertext data corresponding to the user data acquisition request; a second acquisition module, configured to acquire a first key corresponding to the user data acquisition request from a trusted key service, wherein the trusted key service is configured to store keys pre-set by the user through the client; a first decryption module, configured to decrypt the first ciphertext data using the first key to obtain first plaintext data; a first encryption module, configured to encrypt the first plaintext data using a second key to obtain second ciphertext data, wherein the second key is obtained through negotiation with the agent; A sending module is used to send the second ciphertext data to the intelligent agent.
10. A system for protecting the security of intelligent user data, characterized in that: include: Agent, server and at least one client; Each of the at least one client is connected to the agent, and each of the at least one client is used to send the user's first task to the agent; The agent is connected to the server, and is configured to generate a user data acquisition request according to the first task, and send the user data acquisition request to the server; The server is deployed in a first trusted execution environment, and is used to execute the steps of the method according to any one of claims 1 to 8; The intelligent agent is also used to: receive the second ciphertext data sent by the server, decrypt the second ciphertext data using the second key in a second trusted execution environment to obtain the first plaintext data, and execute the first task based on the first plaintext data.
11. A computer-readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processing device, the steps of the method according to any one of claims 1 to 8 are implemented.
12. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 8.
13. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Data backup method and device for cashier equipment
CN111290884A
TA calling method and system, electronic equipment and storage medium
CN116302612A
Data processing method and device, readable medium and electronic equipment
CN117061105A
Internet of vehicles AES encryption method based on multi-agent reinforcement learning
CN118741497A
Data access method, device and equipment and readable storage medium
CN119203181A
Cited By
User service demand processing method and device, equipment and medium
CN121690863A
TEE-based data security processing method and device, electronic equipment and medium
CN122119921A