CN115941336A - Data processing method, device and equipment - Google Patents
Data processing method, device and equipment Download PDFInfo
- Publication number
- CN115941336A CN115941336A CN202211591580.7A CN202211591580A CN115941336A CN 115941336 A CN115941336 A CN 115941336A CN 202211591580 A CN202211591580 A CN 202211591580A CN 115941336 A CN115941336 A CN 115941336A
- Authority
- CN
- China
- Prior art keywords
- public key
- service
- client
- verification
- verification result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012795 verification Methods 0.000 claims abstract description 404
- 238000012545 processing Methods 0.000 claims abstract description 126
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000003860 storage Methods 0.000 claims description 23
- 230000001960 triggered effect Effects 0.000 claims description 14
- 238000012546 transfer Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 17
- 238000004590 computer program Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000002955 isolation Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010187 selection method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
An embodiment of the specification provides a data processing method, a data processing device and data processing equipment, wherein the method comprises the following steps: under the condition that a client is in an online state, acquiring a first verification result of the validity of the service public key by the service side based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the client, and a client private key and an equipment public key in the service side; when the service public key is determined to pass validity verification based on the first verification result and a processing request of a target user for a target service is received when the client is in an off-line state, acquiring target verification information of the target user; acquiring a second verification result after signature; and under the condition that the signed second verification result is successfully verified based on the service public key, determining whether to execute the target service based on the second verification result.
Description
Technical Field
The present disclosure relates to the field of data processing technologies, and in particular, to a method, an apparatus, and a device for processing data.
Background
With the continuous development of computer technology, terminal devices become necessities for life and work of people, and the types of network services which can be provided by the terminal devices for users are more and more.
However, since the terminal device cannot implement network connection in many scenarios, the terminal device may not provide relevant services for the user, for example, since the terminal device cannot interact with the server in an offline state, the terminal device cannot verify the identity information of the user, and cannot provide further services (such as login service, data viewing service, etc.) for the user, and therefore, a solution for providing a secure business service for the user in the offline state is required.
Disclosure of Invention
An object of the embodiments of the present specification is to provide a solution capable of providing a secure business service for a user in an offline state.
In order to implement the above technical solution, the embodiments of the present specification are implemented as follows:
in a first aspect, an embodiment of the present specification provides a data processing method, which is applied to a client, where the method includes: and under the condition that the client is in an online state, acquiring a first verification result of the validity of the service public key by the server based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the client, a client private key and an equipment public key in the server, wherein the equipment public key is used for verifying the validity of the service public key. And when the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state and a processing request of a target user for a target service is received, acquiring target verification information of the target user. And acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key. And under the condition that the signature verification of the signed second verification result is successful based on the service public key, determining whether to execute the target service based on the second verification result.
In a second aspect, an embodiment of the present specification provides a data processing method, which is applied to a server, and the method includes: verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in a server, and obtaining a first verification result, wherein the equipment public key is used for verifying the validity of the service public key. And sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
In a third aspect, an embodiment of the present specification provides an apparatus for processing data, where the apparatus includes: a first verification module, configured to, when the processing apparatus of the data is in an online state, obtain a first verification result of validity of the service public key by the server based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the processing apparatus of the data, and a client private key and the equipment public key in the server, where the equipment public key is used to verify the validity of the service public key. And the information acquisition module is used for acquiring the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and a processing request of the target user for the target service is received when the processing device of the data is in an off-line state. And the result obtaining module is used for obtaining a signed second verification result, and the signed second verification result is obtained by signing the second verification result corresponding to the target verification information in the trusted execution environment based on the service private key corresponding to the service public key. And the verification module is used for determining whether to execute the target service or not based on the second verification result under the condition that the signature verification of the signed second verification result is successful based on the service public key.
In a fourth aspect, an embodiment of the present specification provides an apparatus for processing data, where the apparatus includes: and the verification module is used for verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, and a client private key and an equipment public key in the data processing device to obtain a first verification result, wherein the equipment public key is used for verifying the validity of the service public key. And the sending module is used for sending the first verification result to the client so that the client determines whether to execute the target service triggered by the target user or not based on the service public key and the target verification information of the target user under the condition that the client determines that the service public key passes the validity verification based on the first verification result and the client is in an offline state.
In a fifth aspect, an embodiment of the present specification provides a data processing apparatus, including: a processor; and a memory arranged to store computer executable instructions that, when executed, cause the processor to: and under the condition that the data processing equipment is in an online state, acquiring a first verification result of the validity of the service public key by the service side based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the data processing equipment, and a client private key and the equipment public key in the service side, wherein the equipment public key is used for verifying the validity of the service public key. And when the service public key is determined to pass validity verification based on the first verification result and a processing request of a target user for a target service is received when the processing equipment of the data is in an off-line state, acquiring target verification information of the target user. And acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key. And under the condition that the signature verification of the signed second verification result is successful based on the service public key, determining whether to execute the target service based on the second verification result.
In a sixth aspect, an embodiment of the present specification provides a data processing apparatus, including: a processor; and a memory arranged to store computer executable instructions that, when executed, cause the processor to: verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in the data processing equipment to obtain a first verification result, wherein the equipment public key is used for verifying the validity of the service public key. And sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
In a seventh aspect, the present specification provides a storage medium for storing computer executable instructions, where the executable instructions implement the following processes when executed: and under the condition that the client is in an online state, acquiring a first verification result of the validity of the service public key by the server based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the client, a client private key and an equipment public key in the server, wherein the equipment public key is used for verifying the validity of the service public key. And when the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state and a processing request of a target user for a target service is received, acquiring target verification information of the target user. And acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key. And under the condition that the signed second verification result is successfully verified based on the service public key, determining whether to execute the target service based on the second verification result.
In an eighth aspect, the present specification provides a storage medium for storing computer-executable instructions, which when executed implement the following flow: verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in a server, and obtaining a first verification result, wherein the equipment public key is used for verifying the validity of the service public key. And sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
Drawings
In order to more clearly illustrate the embodiments of the present specification or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present specification, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
FIG. 1A is a flow chart of an embodiment of a method for processing data according to the present disclosure;
FIG. 1B is a schematic diagram of a data processing method according to the present disclosure;
FIG. 2 is a schematic diagram of a key distribution according to the present disclosure;
FIG. 3 is a schematic processing diagram of another data processing method according to the present disclosure;
FIG. 4 is a schematic processing diagram of another data processing method of the present disclosure;
FIG. 5 is a schematic diagram of a data processing process according to the present disclosure;
FIG. 6A is a flow chart of another embodiment of a method for processing data according to the present disclosure;
FIG. 6B is a schematic processing diagram of another data processing method of the present disclosure;
FIG. 7 is a block diagram of an embodiment of a data processing apparatus according to the present disclosure;
FIG. 8 is a schematic block diagram of another embodiment of a data processing apparatus;
fig. 9 is a schematic structural diagram of a data processing apparatus according to the present specification.
Detailed Description
The embodiment of the specification provides a data processing method, a data processing device and data processing equipment.
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present specification without any creative effort shall fall within the protection scope of the present specification.
Example one
As shown in fig. 1A and 1B, an execution subject of the method may be a terminal device corresponding to a client, where the terminal device may be a mobile terminal device such as a mobile phone and a tablet computer, or a terminal device such as a personal computer. The method specifically comprises the following steps:
in S102, under the condition that the client is in an online state, a first verification result of the validity of the service public key by the server is obtained based on the service public key and the device public key in the trusted execution environment, the device private key and the client public key in the client, and the client private key and the device public key in the server.
The terminal device may include a Trusted Execution Environment (TEE), the TEE may be a secure area on a digital processor (e.g., CPU) of the terminal device that is separate from a normal Execution Environment (REE), and may be composed of a Trusted Application (TA) and a Trusted Operating System (TOS), and the TEE is separate from the REE and the Application of the REE, so as to ensure that various sensitive data are stored, processed, and protected in a Trusted Environment, so as to ensure confidentiality and integrity of data and codes, and the TEE provides a secure Execution Environment for a CA loaded therein, so as to implement secure storage, secure computation, and other data processing related to security and privacy, and provide a hardware-level protection and secure isolation. The TEE and the REE are parallel, and may interact with the REE through a secure API, the TEE may run multiple TAs at the same time, when the terminal Device leaves a factory, the manufacturer may produce a Device Public Key (DPK) and a Device priVate Key (DVK) for the terminal Device corresponding to the client based on a first preset rule, and store the Device Public Key in the TEE, the client may also generate a Device Public Key based on the first preset rule, the TEE may generate a business priVate Key (BVK) and a Business Public Key (BPK), the server may generate a client Public Key (APK) and a client priVate Key (BVK) for the client based on a second preset rule, the client may also generate a client priVate Key and a client priVate Key for the client based on the second preset rule, the Device may be used to verify the legitimacy of the business, the client may be any Application, for example, the client may be a client Public Key of a transferred Application installed in the terminal Device, or a client may be a client of a multi-client communication resource of an instant video viewing Application, and the client.
In implementation, with the continuous development of computer technology, terminal devices become necessities for life and work of people, and the types of network services which can be provided by the terminal devices for users are more and more. However, since the terminal device cannot implement network connection in many scenarios, the terminal device may not provide relevant services for the user, for example, since the terminal device cannot interact with the server in an offline state, the terminal device cannot verify the identity information of the user, and cannot provide further services (such as login service, data viewing service, etc.) for the user, and therefore, a solution for providing a secure business service for the user in the offline state is required. Therefore, the embodiments of the present disclosure provide a technical solution that can solve the above problems, and refer to the following specifically.
When the client is in an online state, the target user can trigger the start of the offline verification service on the client, and when a start request of the offline verification service is received, a first verification result of the validity of the service public key at the service side can be obtained based on a service public key and a device public key in a trusted execution environment, a device private key and a client public key in the client, and a client private key and a device public key in the service side.
Taking a client as a client of the resource transfer application as an example, the target user may trigger and start the offline verification service in the resource transfer application, and the client may receive the first encrypted service public key sent by the TA, where the first encrypted service public key may be obtained by encrypting the service public key in the TEE through the device public key.
As shown in fig. 2, the client decrypts the first encrypted service public key through the device private key to obtain a service public key, then the client encrypts the service public key through the client public key to obtain a second encrypted service public key, and sends the second encrypted service public key to the server, finally the server decrypts the second encrypted service public key through the client private key to obtain a service public key, and then the server verifies the validity of the decrypted service public key through the device public key to obtain a first verification result.
The first verification result may be used to determine whether the offline verification service is successfully started, for example, if the first verification result is that the service public key passes the validity verification, it indicates that the link from the TEE to the client and then from the client to the server is secure, so the offline verification service may be started.
In addition, the client may also generate an equipment public key for the terminal device corresponding to the client based on the first preset rule, verify the validity of the service public key through the generated equipment public key under the condition that the service public key after the first encryption is decrypted to obtain the service public key, and encrypt the service public key through the client public key after the verification is passed to obtain the service public key after the second encryption.
The method of the first verification result is an optional and realizable determination method, and in an actual application scenario, there may be a plurality of different determination methods, which may be different according to different actual application scenarios, and this is not specifically limited in this embodiment of the present specification.
In addition, before a first verification result of the validity of the service public key by the server is obtained based on the service public key and the device public key in the trusted execution environment, the device private key and the client public key in the client, and the client private key and the device public key in the server, the client can also perform identity verification on the target user, and under the condition that the identity verification is passed, a first verification result of the validity of the service public key by the server is obtained based on the service public key and the device public key in the trusted execution environment, the device private key and the client public key in the client, and the client private key and the device public key in the server.
The client can acquire the biological characteristic information (such as fingerprint data, iris data and the like) of the target user, and perform identity authentication on the target user based on the pre-stored biological characteristic information and the acquired biological characteristic information.
Or before a first verification result of the validity of the service public key by the server is obtained based on the service public key and the device public key in the trusted execution environment, the device private key and the client public key in the client, and the client private key and the device public key in the server, the client may further acquire biometric information of the target user, encrypt the biometric information based on the client public key to obtain encrypted biometric information, send the encrypted biometric information and the second encrypted service public key to the server, and receive a first verification result and an identity verification result returned by the server, where the client may store the biometric information of the target user when the identity verification result is that the verification is passed and the first verification result indicates that the service public key passes the validity verification, for example, the client may store the biometric information of the target user into a security firmware such as TEE, and cannot access the client without authorization of the target user.
In S104, when it is determined that the service public key passes the validity verification based on the first verification result and when the client is in an offline state and a processing request of the target user for the target service is received, target verification information of the target user is obtained.
The target service may be any service that the client can provide, for example, the target service may be a login service, a data viewing service, a resource transfer service, and the like, and the target verification information may be information that is input by the target user and may be used to verify the identity of the target user, for example, the target verification information may be one or more of an account and a password input by the target user, biometric information, and the like.
In implementation, when the client determines that the service public key passes the validity verification based on the first verification result, the security of the links from the TEE to the client and from the client to the server may be determined, and meanwhile, when the client is in an offline state, the security of service processing may be ensured by the service public key.
Taking the target service as the login service as an example, the target user may trigger a client that starts the resource transfer application in the terminal device and start the login service, and the client may obtain the fingerprint data input by the target user when receiving the condition that the target user triggers the start of the login service.
In S106, the signed second verification result is acquired.
The signed second verification result may be obtained by signing, in the trusted execution environment, the second verification result corresponding to the target verification information based on the service private key corresponding to the service public key.
The service public key and the service private key can be an asymmetric key pair, in the asymmetric key pair, because factorization of the product of two prime numbers is difficult, the product of the two prime numbers can be used as a public key in the public asymmetric key pair, the two prime numbers are combined to form a private key in the asymmetric key pair, the public key can be published to anyone for use, the private key is used by the user, the public key can be used for encryption, the private key can be used for decryption, or the private key can also be used for signature, and the public key can be used for verifying the validity of the signature.
In implementation, the client may input the target verification information input by the target user into the TEE, and verify the target verification information in the TEE to obtain a second verification result, for example, the TEE may store the first verification information of the target user in advance, and a comparison result between the first verification information and the target verification information may be determined as the second verification result.
The determination method of the second verification result is an optional and realizable determination method, and there may be a plurality of different determination methods in an actual application scenario, which may be different according to different actual application scenarios, and this is not specifically limited in this embodiment of the present specification.
After the second verification result is obtained, the second verification result can be signed in the TEE through a service private key corresponding to the service public key to obtain a signed second verification result, and the signed second verification result is sent to the client, namely the client can obtain the signed second verification result.
In S108, in a case where the signature verification of the signed second verification result is successful based on the service public key, it is determined whether to execute the target service based on the second verification result.
In implementation, the client may store a service public key, verify the signed second verification result through the stored service public key, and determine whether to execute the target service based on the second verification result when the verification is successful.
For example, taking the target service as the login service as an example, if the second verification result indicates that the target verification information of the target user passes the verification, the login verification may be completed, and if the second verification result indicates that the target verification information of the target user fails the verification, the target user may be prohibited from logging in and preset alarm information may be output, or the client may further prompt the target user to input the target verification information again, and verify the target user through the target verification information input again, and if the number of times of the verification failure exceeds the number threshold, the preset alarm information may be output.
The embodiment of the specification provides a data processing method, wherein under the condition that a client is in an online state, a first verification result of the validity of a service public key of a server is obtained based on the service public key and a device public key in a trusted execution environment, a device private key and a client public key in the client, and a client private key and a device public key in the server, wherein the device public key is used for verifying the validity of the service public key, the service public key is determined to pass validity verification based on the first verification result, and when the client is in an offline state and a processing request of a target user for a target service is received, target verification information of the target user is obtained, and a second verification result after signature is obtained, the second verification result after signature is obtained by signing the second verification result corresponding to the target verification information based on the service private key corresponding to the service public key in the trusted execution environment, and whether the target service is executed or not is determined based on the second verification result under the condition that the signed second verification result is successfully signed based on the service public key. Therefore, under the condition that the service public key is determined to pass the validity verification based on the first verification result, the safety credibility of the link from the TEE to the client and the link from the client to the server can be determined, meanwhile, the safety of service processing can be ensured through the service public key under the condition that the client is in an offline state, in addition, the TEE can provide hardware-level protection and safety isolation, and therefore, even if an operating system of the terminal equipment corresponding to the client is maliciously attacked, the operation system can be effectively intercepted through the TEE, and the safety of service processing in the offline state is ensured.
Example two
As shown in fig. 3 and fig. 4, an execution main body of the method may be a terminal device corresponding to a client, where the terminal device may be a mobile terminal device such as a mobile phone and a tablet computer, or a terminal device such as a personal computer. The method specifically comprises the following steps:
in S302, when the client is in an online state, the signed service public key is acquired.
The signed service public key may be obtained by signing the service public key through the device public key in a trusted execution environment.
In implementation, as shown in fig. 5, in the TEE, the service public key may be signed by the device public key to obtain a signed service public key, and the signed service public key is sent to the client.
In S304, when the signed service public key is successfully verified based on the device private key, the service public key is encrypted based on the client public key, and the encrypted service public key is sent to the server.
The client public key and the client private key are keys generated by the server aiming at the client.
In practice, the processing manner of S304 may be various in practical applications, and an alternative implementation manner is provided below, which may specifically refer to the following processing from step one to step two:
step one, generating an equipment public key, and carrying out validity verification on the service public key based on the equipment public key.
And step two, encrypting the service public key based on the client public key under the condition that the validity verification of the service public key passes.
In implementation, in order to further ensure the security and the credibility of the link between the TEE and the client, an equipment public key may also be generated at the client, so as to perform validity verification on the received service public key through the generated equipment public key, and encrypt the service public key based on the client public key under the condition that the validity verification of the service public key passes.
In addition, the client may store the service public key in case the validity of the service public key is verified.
In S306, a first verification result of the service end for the service public key is obtained.
The first verification result may be a verification result obtained by the server performing validity verification on the service public key based on the client private key after decrypting the encrypted service public key based on the device public key to obtain the service public key.
In S308, in the case that it is determined that the service public key passes the validity verification based on the first verification result, the service public key is updated based on a preset update cycle.
The preset updating period may be one week, half month, or one month.
In implementation, when it is determined that the service public key passes the validity verification based on the first verification result, it may be determined that the link from the TEE to the client and the link from the client to the server are secure and trusted, and therefore, when the service public key exceeds the validity period, the service public key may be updated, that is, the service public key may be updated based on a preset update period.
In S104, when it is determined that the service public key passes the validity verification based on the first verification result and when the client is in an offline state and a processing request of the target user for the target service is received, target verification information of the target user is obtained.
In S106, the signed second verification result is acquired.
The signed second verification result may be obtained by signing the second verification result corresponding to the target verification information based on the service private key corresponding to the service public key in the trusted execution environment.
After the second verification result is obtained, S310 to S312 may be continuously performed as shown in fig. 3, or S314 to S316 may be continuously performed as shown in fig. 4.
In S310, in the case where the signed second verification result is successfully verified based on the service public key, and in the case where it is determined that the target verification information is verified based on the second verification result, the target service is executed.
In the implementation, taking the target service as the resource transfer service as an example, when the signed second verification result is successfully verified based on the service public key, and when the target verification information is determined to be verified based on the second verification result, the resource transfer processing may be performed through the offline account in the offline state based on the resource transfer number and the resource transfer object input by the target user.
In S312, when the client is in the online state, the execution result of the target service is sent to the server.
In implementation, when the client is in an online state, the execution result of the target service may be sent to the server, so that the server performs data update processing according to the execution service, for example, taking the target service as a resource transfer service as an example, the client may send the execution result of resource transfer (for example, a resource of which the resource transfer amount is transferred to a resource transfer object at a certain time) to the server, so that the server may update the data of the resource transfer account of the target user according to the execution result.
The above description is given by taking a target service as a resource transfer service as an example, in an actual application scenario, the types of the target service may be multiple, and the data update processing method of the corresponding server may also be multiple, for example, the target service may also be a data change service, a target user may change personal information in a client, and when the client is in an online state, a change result of the personal information may be sent to the server, so that the server updates the personal information of the target user.
In S314, in a case where the signed second verification result is successfully verified based on the service public key, and in a case where it is determined that the target verification information is verified based on the second verification result, target data required for executing the target service is acquired.
In implementation, taking the target service as a resource transfer service as an example, in the case that the signature verification of the signed second verification result is successful based on the service public key, and in the case that the verification of the target verification information is determined to pass based on the second verification result, the target data required for executing the resource transfer service is acquired, for example, the target data may be the resource transfer number, the resource transfer object, and the like.
In S316, the target data is sent to the server side when the client is in the online state, so that the server side executes the target service based on the target data.
In the implementation, taking the target service as the resource transfer service as an example, under the condition that the client is in an online state, the obtained target data methods such as the resource transfer quantity, the resource transfer object and the like can be sent to the server, so that the server can execute the target service according to the target data.
In addition, taking the target service as the resource transfer service as an example, different execution manners may be selected according to different resource transfer quantities, for example, if the resource transfer quantity is not greater than a preset transfer threshold, after S106, S310 to S312 may be continuously executed, that is, the target service may be executed through an offline account in an offline state, and if the resource transfer quantity is greater than the preset transfer threshold, S314 to S316 may be continuously executed after S106, that is, the target data may be acquired in the offline state, and the target data may be sent to the server for processing under the condition that the client is in the online state, so as to ensure the security of the execution of the target service.
The method for selecting the execution mode of the target service is an optional and realizable selection method, and in an actual application scenario, there may be a plurality of different selection methods, for example, the corresponding execution mode may be determined according to a preset risk level of the target service, and the like, and may be different according to different actual application scenarios, which is not specifically limited in this embodiment of the present specification.
The embodiment of the specification provides a data processing method, wherein under the condition that a client is in an online state, a first verification result of the validity of a service public key of a server is obtained based on the service public key and a device public key in a trusted execution environment, a device private key and a client public key in the client, and a client private key and a device public key in the server, wherein the device public key is used for verifying the validity of the service public key, the service public key is determined to pass validity verification based on the first verification result, and when the client is in an offline state and a processing request of a target user for a target service is received, target verification information of the target user is obtained, and a second verification result after signature is obtained, the second verification result after signature is obtained by signing the second verification result corresponding to the target verification information based on the service private key corresponding to the service public key in the trusted execution environment, and whether the target service is executed or not is determined based on the second verification result under the condition that the signed second verification result is successfully signed based on the service public key. Therefore, under the condition that the service public key passes the validity verification based on the first verification result, the safety credibility of the link from the TEE to the client and the link from the client to the server can be determined, meanwhile, under the condition that the client is in an off-line state, the safety of service processing can be ensured through the service public key, in addition, because the TEE can provide hardware-level protection and safety isolation, even if an operating system of the terminal equipment corresponding to the client is maliciously attacked, the operating system can be effectively intercepted through the TEE, and the safety of service processing in the off-line state is ensured.
EXAMPLE III
As shown in fig. 6A and 6B, an execution subject of the method may be a server, and the server may be an independent server, or a server cluster composed of a plurality of servers. The method specifically comprises the following steps:
in S602, the validity of the service public key is verified based on the service public key and the device public key in the trusted execution environment of the client, the device private key and the client public key in the client, and the client private key and the device public key in the server, so as to obtain a first verification result.
The device public key may be used to verify the validity of the service public key.
In implementation, the method for determining the first verification result may refer to the methods in the first to second embodiments, which are not described herein again.
In S604, the first verification result is sent to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user when it is determined that the service public key passes the validity verification based on the first verification result and the client is in an offline state.
In implementation, the first verification result sent by the server may also be an encrypted first verification result, that is, the server may encrypt the verification result of the validity of the service public key based on the device public key, so as to ensure the security of the first verification result in the data transmission process. In this way, the client can decrypt the first verification result through the device private key to obtain the verification result of the validity of the service public key by the server, and can determine that the service public key passes the validity verification based on the verification result, and determine whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the client is in an offline state.
The embodiment of the specification provides a data processing method, which is used for verifying the validity of a service public key based on the service public key and a device public key in a trusted execution environment of a client, a device private key and a client public key in the client, and a client private key and a device public key in a server, so as to obtain a first verification result, wherein the device public key can be used for verifying the validity of the service public key, and the first verification result is sent to the client, so that the client determines whether to execute a target service triggered by a target user based on the service public key and target verification information of the target user under the condition that the client determines that the service public key passes the validity verification based on the first verification result and is in an offline state. Therefore, under the condition that the service public key passes the validity verification based on the first verification result, the safety credibility of the link from the TEE to the client and the link from the client to the server can be determined, meanwhile, under the condition that the client is in an off-line state, the safety of service processing can be ensured through the service public key, in addition, because the TEE can provide hardware-level protection and safety isolation, even if an operating system of the terminal equipment corresponding to the client is maliciously attacked, the operating system can be effectively intercepted through the TEE, and the safety of service processing in the off-line state is ensured.
Example four
An embodiment of the present specification provides a data processing system, which may include a client and a server, where a terminal device corresponding to the client may be a mobile terminal device such as a mobile phone and a tablet computer, or a terminal device such as a personal computer, and the server may be an independent server or a server cluster formed by multiple servers, where:
and the server is used for verifying the validity of the service public key based on the service public key and the equipment public key in the trusted execution environment of the client, the equipment private key and the client public key in the client, and the client private key and the equipment public key in the server to obtain a first verification result, wherein the equipment public key is used for verifying the validity of the service public key and sending the first verification result to the client.
And the client is used for acquiring target verification information of the target user and acquiring a signed second verification result under the condition that the client determines that the service public key passes validity verification based on the first verification result and receives a processing request of the target user for the target service when the client is in an off-line state, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information based on a service private key corresponding to the service public key in a trusted execution environment, and determining whether to execute the target service based on the second verification result under the condition that the signed second verification result is successfully verified based on the service public key.
In addition, because the TEE can provide hardware-level protection and security isolation, even if an operating system of a terminal device corresponding to the client is maliciously attacked, the operating system can be effectively intercepted by the TEE, and the security of service processing in the offline state is ensured.
EXAMPLE five
Based on the same idea, the data processing method provided in the embodiment of the present specification further provides a data processing apparatus, as shown in fig. 7.
The data processing device comprises: a first verification module 701, an information acquisition module 702, a result acquisition module 703 and a verification module 704, wherein:
a first verification module 701, configured to, when the processing apparatus of the data is in an online state, obtain a first verification result of validity of the service public key by the server based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the processing apparatus of the data, and a client private key and an equipment public key in the server, where the equipment public key is used to verify the validity of the service public key;
an information obtaining module 702, configured to obtain target verification information of a target user when it is determined, based on the first verification result, that the service public key passes validity verification and when a processing device of the data is in an offline state and a processing request of the target user for a target service is received;
a result obtaining module 703, configured to obtain a signed second verification result, where the signed second verification result is obtained by signing, in the trusted execution environment, the second verification result corresponding to the target verification information based on the service private key corresponding to the service public key;
a verification module 704, configured to determine whether to execute the target service based on the second verification result when the signed second verification result is successfully verified based on the service public key.
In this embodiment of the present specification, the first verification module 701 is configured to:
under the condition that the data processing device is in an online state, acquiring a signed service public key, wherein the signed service public key is obtained by signing the service public key through the equipment public key in the trusted execution environment;
under the condition that the signed service public key is successfully verified and signed based on the equipment private key, encrypting the service public key based on the client public key, and sending the encrypted service public key to the server;
and acquiring a first verification result of the server aiming at the service public key, wherein the first verification result is a verification result obtained by carrying out validity verification on the service public key based on the client private key after the encrypted service public key is decrypted by the server based on the equipment public key to obtain the service public key.
In an embodiment of this specification, the client public key and the client private key are keys generated by the server for the data processing device.
In an embodiment of this specification, the apparatus further includes:
and the key updating module is used for updating the service public key based on a preset updating period under the condition that the service public key is determined to pass the validity verification based on the first verification result.
In this embodiment of the present specification, the first verification module 701 is configured to:
generating the equipment public key, and carrying out validity verification on the service public key based on the equipment public key;
and under the condition that the validity verification of the service public key passes, encrypting the service public key based on the client public key.
In this embodiment of the present specification, the result obtaining module 704 is configured to:
executing the target service under the condition that the target verification information is determined to pass the verification based on the second verification result;
and sending the execution result of the target service to the server side under the condition that the data processing device is in an online state.
In this embodiment of the present specification, the result obtaining module 704 is configured to:
acquiring target data required for executing the target service under the condition that the target verification information is determined to pass verification based on the second verification result;
and under the condition that the data processing device is in an online state, sending the target data to the server so that the server executes the target service based on the target data.
An embodiment of the present specification provides a data processing apparatus, where in a case that the data processing apparatus is in an online state, a first verification result of validity of a service public key at a service end is obtained based on a service public key and an equipment public key in a trusted execution environment, an equipment private key and a client public key in the data processing apparatus, and a client private key and an equipment public key in the service end, where the equipment public key is used to verify the validity of the service public key, and when it is determined that the service public key passes through validity verification based on the first verification result, and in a case that a processing request of a target user for a target service is received while the data processing apparatus is in an offline state, target verification information of the target user is obtained, and a second verification result after signature is obtained, and in the trusted execution environment, a second verification result corresponding to the target verification information is signed based on the service private key, and whether to execute the target service verification result is determined based on the second verification result when the signed second verification result is successfully verified based on the service public key. Therefore, under the condition that the service public key passes the validity verification based on the first verification result, the safety credibility of the link from the TEE to the data processing device and the link from the data processing device to the server side can be determined, meanwhile, the safety of service processing can be ensured through the service public key under the condition that the data processing device is in an offline state, in addition, the TEE can provide hardware-level protection and safety isolation, so that even if an operating system of the terminal equipment corresponding to the data processing device is maliciously attacked, the operation system can be effectively intercepted through the TEE, and the safety of service processing in the offline state is ensured.
EXAMPLE six
Based on the same idea, the data processing method provided in the embodiment of the present specification further provides a data processing apparatus, as shown in fig. 8.
The data processing device comprises: an authentication module 801 and a sending module 802, wherein:
a verification module 801, configured to verify validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, and a client private key and an equipment public key in the data processing apparatus, to obtain a first verification result, where the equipment public key is used to verify validity of the service public key;
a sending module 802, configured to send the first verification result to the client, so that when the client determines that the service public key passes validity verification based on the first verification result and the client is in an offline state, the client determines whether to execute a target service triggered by a target user based on the service public key and target verification information of the target user.
The embodiment of the present specification provides a data processing apparatus, which verifies validity of a service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, and a client private key and an equipment public key in the data processing apparatus, to obtain a first verification result, where the equipment public key may be used to verify validity of the service public key, and send the first verification result to the client, so that the client determines, based on the first verification result, that the service public key passes validity verification, and determines, when the client is in an offline state, whether to execute a target service triggered by a target user based on the service public key and target verification information of the target user. Therefore, under the condition that the service public key passes the validity verification based on the first verification result, the safety credibility of a link from the TEE to the client and from the client to the data processing device can be determined, meanwhile, under the condition that the client is in an off-line state, the safety of service processing can be ensured through the service public key, in addition, because the TEE can provide hardware-level protection and safety isolation, even if an operating system of the terminal equipment corresponding to the client is maliciously attacked, the operating system can be effectively intercepted through the TEE, and the safety of service processing in the off-line state is ensured.
EXAMPLE seven
Based on the same idea, the embodiments of the present specification further provide a data processing device, as shown in fig. 9.
The data processing device may have a large difference due to different configurations or performances, and may include one or more processors 901 and a memory 902, and the memory 902 may store one or more stored applications or data. Memory 902 may be, among other things, transient storage or persistent storage. The application program stored in memory 902 may include one or more modules (not shown), each of which may include a series of computer-executable instructions in a processing device for data. Still further, the processor 901 may be configured to communicate with the memory 902 to execute a series of computer-executable instructions in the memory 902 on a data processing device. The processing of data may also include one or more power supplies 903, one or more wired or wireless network interfaces 904, one or more input-output interfaces 905, one or more keyboards 906.
In particular, in this embodiment, a processing device for data includes a memory, and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions in the processing device for data, and the one or more programs configured to be executed by the one or more processors include computer-executable instructions for:
under the condition that the data processing equipment is in an online state, acquiring a first verification result of the validity of the service public key by the service side based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the data processing equipment, a client private key and the equipment public key in the service side, wherein the equipment public key is used for verifying the validity of the service public key;
when the service public key is determined to pass validity verification based on the first verification result and a processing request of a target user for a target service is received when the processing equipment of the data is in an off-line state, acquiring target verification information of the target user;
acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key;
and under the condition that the signature verification of the signed second verification result is successful based on the service public key, determining whether to execute the target service based on the second verification result.
Optionally, the obtaining a first verification result of the validity of the service public key by the server based on the service public key and the device public key in the trusted execution environment, the device private key and the client public key in the data processing device, and the client private key and the device public key in the server includes:
under the condition that the data processing equipment is in an online state, acquiring a signed service public key, wherein the signed service public key is obtained by signing the service public key through the equipment public key in the trusted execution environment;
under the condition that the signed service public key is successfully verified and signed based on the equipment private key, encrypting the service public key based on the client public key, and sending the encrypted service public key to the server;
and acquiring a first verification result of the server aiming at the service public key, wherein the first verification result is a verification result obtained by carrying out validity verification on the service public key based on the client private key after the encrypted service public key is decrypted by the server based on the equipment public key to obtain the service public key.
Optionally, the client public key and the client private key are keys generated by the server for the data processing device.
Optionally, the method further comprises:
and updating the service public key based on a preset updating period under the condition that the service public key passes the validity verification determined based on the first verification result.
Optionally, the encrypting the service public key based on the client public key includes:
generating the equipment public key, and carrying out validity verification on the service public key based on the equipment public key;
and under the condition that the validity verification of the service public key passes, encrypting the service public key based on the client public key.
Optionally, the determining whether to execute the target service based on the second verification result includes:
executing the target service under the condition that the target verification information is determined to pass the verification based on the second verification result;
and sending the execution result of the target service to the server under the condition that the data processing equipment is in an online state.
Optionally, the determining whether to execute the target service based on the second verification result includes:
acquiring target data required for executing the target service under the condition that the target verification information is determined to pass verification based on the second verification result;
and under the condition that the processing equipment of the data is in an online state, sending the target data to the server so that the server executes the target service based on the target data.
Furthermore, in particular in this embodiment, the processing device of data may further include a trusted execution environment TEE and a secure element based on cryptographic hardware, the processing device of data includes a memory and one or more programs, wherein the one or more programs are stored in the memory, and the one or more programs may include one or more modules, and each module may include a series of computer-executable instructions in the processing device of data, and the one or more programs configured to be executed by the one or more processors include computer-executable instructions for:
verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in the data processing equipment to obtain a first verification result, wherein the equipment public key is used for verifying the validity of the service public key;
and sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
Embodiments of the present specification provide a data processing device, which, when determining that a service public key passes validity verification based on a first verification result, may determine security and trustworthiness of links from a TEE to a client and from the client to a server, and meanwhile, may ensure security of service processing through the service public key when the client is in an offline state.
Example eight
The embodiments of the present specification further provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements each process of the data processing method embodiments, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here. The computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk.
Embodiments of the present description provide a computer-readable storage medium, where, when it is determined that a service public key passes validity verification based on a first verification result, security of links from a TEE to a client and from the client to a server may be determined to be authentic, and meanwhile, when the client is in an offline state, security of service processing may be ensured by the service public key.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as ABEL (Advanced Boolean Expression Language), AHDL (alternate Hardware Description Language), traffic, CUPL (core universal Programming Language), HDCal, jhddl (Java Hardware Description Language), lava, lola, HDL, PALASM, rhyd (Hardware Description Language), and vhigh-Language (Hardware Description Language), which is currently used in most popular applications. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be regarded as a hardware component and the means for performing the various functions included therein may also be regarded as structures within the hardware component. Or even means for performing the functions may be conceived to be both a software module implementing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the various elements may be implemented in the same one or more software and/or hardware implementations in implementing one or more embodiments of the present description.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present description are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the description. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising one of 8230; \8230;" 8230; "does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises that element.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the present description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present specification, and is not intended to limit the present specification. Various modifications and alterations to this description will become apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification should be included in the scope of the claims of the present specification.
Claims (14)
1. A data processing method is applied to a client, and comprises the following steps:
under the condition that the client is in an online state, acquiring a first verification result of the validity of the service public key by the server based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the client, a client private key and an equipment public key in the server, wherein the equipment public key is used for verifying the validity of the service public key;
when the service public key is determined to pass validity verification based on the first verification result and a processing request of a target user for a target service is received when the client is in an off-line state, acquiring target verification information of the target user;
acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key;
and under the condition that the signature verification of the signed second verification result is successful based on the service public key, determining whether to execute the target service based on the second verification result.
2. The method of claim 1, wherein obtaining a first verification result of validity of the service public key by the server based on a service public key and a device public key in the trusted execution environment, a device private key and a client public key in the client, a client private key and a device public key in the server, comprises:
under the condition that the client is in an online state, acquiring a signed service public key, wherein the signed service public key is obtained by signing the service public key through the equipment public key in the trusted execution environment;
under the condition that the signed service public key is successfully checked based on the equipment private key, encrypting the service public key based on the client public key, and sending the encrypted service public key to the server;
and acquiring a first verification result of the server aiming at the service public key, wherein the first verification result is a verification result obtained by carrying out validity verification on the service public key based on the client private key after the encrypted service public key is decrypted by the server based on the equipment public key to obtain the service public key.
3. The method of claim 2, the client public key and the client private key being keys generated by the server for the client.
4. The method of claim 3, further comprising:
and updating the service public key based on a preset updating period under the condition that the service public key passes the validity verification determined based on the first verification result.
5. The method of claim 4, the encrypting the traffic public key based on the client public key comprising:
generating the equipment public key, and carrying out validity verification on the service public key based on the equipment public key;
and under the condition that the validity verification of the service public key passes, encrypting the service public key based on the client public key.
6. The method of claim 5, the determining whether to execute the target service based on the second verification result, comprising:
executing the target service under the condition that the target verification information is determined to pass the verification based on the second verification result;
and sending the execution result of the target service to the server side under the condition that the client side is in an online state.
7. The method of claim 5, the determining whether to execute the target service based on the second verification result, comprising:
acquiring target data required for executing the target service under the condition that the target verification information is determined to pass verification based on the second verification result;
and under the condition that the client is in an online state, sending the target data to the server so that the server executes the target service based on the target data.
8. A data processing method is applied to a server side and comprises the following steps:
verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in a server, and obtaining a first verification result, wherein the equipment public key is used for verifying the validity of the service public key;
and sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
9. An apparatus for processing data, the apparatus comprising:
a first verification module, configured to, when the processing apparatus of the data is in an online state, obtain a first verification result of validity of the service public key by the server based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the processing apparatus of the data, and a client private key and an equipment public key in the server, where the equipment public key is used to verify the validity of the service public key;
the information acquisition module is used for acquiring target verification information of a target user under the condition that the service public key is determined to pass validity verification based on the first verification result and a processing request of the target user for a target service is received when the processing device of the data is in an off-line state;
the result obtaining module is used for obtaining a signed second verification result, and the signed second verification result is obtained by signing the second verification result corresponding to the target verification information in the trusted execution environment based on the service private key corresponding to the service public key;
and the verification module is used for determining whether to execute the target service or not based on the second verification result under the condition that the signature verification of the signed second verification result is successful based on the service public key.
10. An apparatus for processing data, the apparatus comprising:
the verification module is used for verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in the data processing device to obtain a first verification result, wherein the equipment public key is used for verifying the validity of the service public key;
and the sending module is used for sending the first verification result to the client so that the client determines whether to execute the target service triggered by the target user or not based on the service public key and the target verification information of the target user under the condition that the client determines that the service public key passes the validity verification based on the first verification result and the client is in an offline state.
11. A device for processing data, the device comprising:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
under the condition that the data processing equipment is in an online state, acquiring a first verification result of the validity of the service public key by the service side based on a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the data processing equipment, a client private key and the equipment public key in the service side, wherein the equipment public key is used for verifying the validity of the service public key;
when the service public key is determined to pass validity verification based on the first verification result and a processing request of a target user for a target service is received when the processing equipment of the data is in an off-line state, acquiring target verification information of the target user;
acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key;
and under the condition that the signature verification of the signed second verification result is successful based on the service public key, determining whether to execute the target service based on the second verification result.
12. A device for processing data, the device comprising:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in data processing equipment to obtain a first verification result, wherein the equipment public key is used for verifying the validity of the service public key;
and sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
13. A storage medium for storing computer-executable instructions, which when executed implement the following:
under the condition that a client is in an online state, acquiring a first verification result of the validity of the service public key by the service end on the basis of a service public key and an equipment public key in the trusted execution environment, an equipment private key and a client public key in the client, a client private key and an equipment public key in the service end, wherein the equipment public key is used for verifying the validity of the service public key;
when the service public key is determined to pass validity verification based on the first verification result and a processing request of a target user for a target service is received when the client is in an offline state, acquiring target verification information of the target user;
acquiring a signed second verification result, wherein the signed second verification result is obtained by signing a second verification result corresponding to the target verification information in the trusted execution environment based on a service private key corresponding to the service public key;
and under the condition that the signature verification of the signed second verification result is successful based on the service public key, determining whether to execute the target service based on the second verification result.
14. A storage medium for storing computer-executable instructions, which when executed implement the following:
verifying the validity of the service public key based on a service public key and an equipment public key in a trusted execution environment of a client, an equipment private key and a client public key in the client, a client private key and an equipment public key in a server, and obtaining a first verification result, wherein the equipment public key is used for verifying the validity of the service public key;
and sending the first verification result to the client, so that the client determines whether to execute the target service triggered by the target user based on the service public key and the target verification information of the target user under the condition that the service public key is determined to pass validity verification based on the first verification result and the client is in an offline state.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211591580.7A CN115941336B (en) | 2022-12-12 | 2022-12-12 | Data processing method, device and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211591580.7A CN115941336B (en) | 2022-12-12 | 2022-12-12 | Data processing method, device and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115941336A true CN115941336A (en) | 2023-04-07 |
CN115941336B CN115941336B (en) | 2024-10-01 |
Family
ID=86553616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211591580.7A Active CN115941336B (en) | 2022-12-12 | 2022-12-12 | Data processing method, device and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115941336B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156495A (en) * | 2023-04-11 | 2023-05-23 | 支付宝(杭州)信息技术有限公司 | Security environment body checking method and system based on wireless signals |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117573A1 (en) * | 2011-11-03 | 2013-05-09 | Proxama Limited | Method for verifying a password |
CN109787769A (en) * | 2018-12-25 | 2019-05-21 | 深圳市安信认证系统有限公司 | Offline authentication method, user terminal and the device end of internet of things equipment |
CN111464553A (en) * | 2020-04-13 | 2020-07-28 | 北京计算机技术及应用研究所 | Identity authentication device and method for protecting biological characteristic privacy |
US20200252382A1 (en) * | 2019-01-31 | 2020-08-06 | Salesforce.Com, Inc. | User authentication using multi-party computation and public key cryptography |
WO2020172887A1 (en) * | 2019-02-28 | 2020-09-03 | 云图有限公司 | Data processing method, apparatus, smart card, terminal device, and server |
US20200295950A1 (en) * | 2019-03-13 | 2020-09-17 | Dark Matter L.L.C. | System, method, and computer program product for sensitive data recovery in high security systems |
CN113591057A (en) * | 2021-08-05 | 2021-11-02 | 国民认证科技(北京)有限公司 | Biological characteristic off-line identity recognition method and system |
CN114257382A (en) * | 2022-01-30 | 2022-03-29 | 支付宝(杭州)信息技术有限公司 | Method, device and system for key management and service processing |
CN114598531A (en) * | 2022-03-10 | 2022-06-07 | 上海星图比特信息技术服务有限公司 | Identity authentication method and equipment |
US20220237282A1 (en) * | 2021-01-26 | 2022-07-28 | Secret Double Octopus Ltd | Decentralized password vault |
CN115001817A (en) * | 2022-06-01 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | Offline identity recognition method, device and equipment |
-
2022
- 2022-12-12 CN CN202211591580.7A patent/CN115941336B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130117573A1 (en) * | 2011-11-03 | 2013-05-09 | Proxama Limited | Method for verifying a password |
CN109787769A (en) * | 2018-12-25 | 2019-05-21 | 深圳市安信认证系统有限公司 | Offline authentication method, user terminal and the device end of internet of things equipment |
US20200252382A1 (en) * | 2019-01-31 | 2020-08-06 | Salesforce.Com, Inc. | User authentication using multi-party computation and public key cryptography |
WO2020172887A1 (en) * | 2019-02-28 | 2020-09-03 | 云图有限公司 | Data processing method, apparatus, smart card, terminal device, and server |
US20200295950A1 (en) * | 2019-03-13 | 2020-09-17 | Dark Matter L.L.C. | System, method, and computer program product for sensitive data recovery in high security systems |
CN111464553A (en) * | 2020-04-13 | 2020-07-28 | 北京计算机技术及应用研究所 | Identity authentication device and method for protecting biological characteristic privacy |
US20220237282A1 (en) * | 2021-01-26 | 2022-07-28 | Secret Double Octopus Ltd | Decentralized password vault |
CN113591057A (en) * | 2021-08-05 | 2021-11-02 | 国民认证科技(北京)有限公司 | Biological characteristic off-line identity recognition method and system |
CN114257382A (en) * | 2022-01-30 | 2022-03-29 | 支付宝(杭州)信息技术有限公司 | Method, device and system for key management and service processing |
CN114598531A (en) * | 2022-03-10 | 2022-06-07 | 上海星图比特信息技术服务有限公司 | Identity authentication method and equipment |
CN115001817A (en) * | 2022-06-01 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | Offline identity recognition method, device and equipment |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116156495A (en) * | 2023-04-11 | 2023-05-23 | 支付宝(杭州)信息技术有限公司 | Security environment body checking method and system based on wireless signals |
CN116156495B (en) * | 2023-04-11 | 2023-07-07 | 支付宝(杭州)信息技术有限公司 | Security environment body checking method and system based on wireless signals |
Also Published As
Publication number | Publication date |
---|---|
CN115941336B (en) | 2024-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111680305B (en) | Data processing method, device and equipment based on block chain | |
CN110378139B (en) | Data key protection method, system, electronic equipment and storage medium | |
CN111034120B (en) | Encryption key management based on identity information | |
CN107077574B (en) | Trust service for client devices | |
CN111814198A (en) | Block chain-based user privacy data providing method and device | |
KR20200027500A (en) | Generate key certificates that provide device anonymity | |
CN110222531B (en) | Method, system and equipment for accessing database | |
US10771467B1 (en) | External accessibility for computing devices | |
EP3945695B1 (en) | Method, apparatus, and device for processing blockchain data | |
US20170338948A1 (en) | User-initiated migration of encryption keys | |
CN112866280B (en) | Information verification method, device and equipment | |
CN111401901B (en) | Authentication method and device of biological payment device, computer device and storage medium | |
JP6756056B2 (en) | Cryptographic chip by identity verification | |
KR102013983B1 (en) | Method and server for authenticating an application integrity | |
JP6476167B2 (en) | Self-authentication device and self-authentication method | |
EP3292654B1 (en) | A security approach for storing credentials for offline use and copy-protected vault content in devices | |
US20080059809A1 (en) | Sharing a Secret by Using Random Function | |
US20190044721A1 (en) | Device authorization using symmetric key systems and methods | |
CN110431803B (en) | Managing encryption keys based on identity information | |
CN114969784A (en) | Model processing method, device and equipment | |
CN115941336B (en) | Data processing method, device and equipment | |
CN111783071A (en) | Password-based and privacy data-based verification method, device, equipment and system | |
US20240129288A1 (en) | Privacy-protection based verification | |
KR20190070691A (en) | Program executing authority authentication method and system | |
CN115834074A (en) | Identity authentication method, device and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |