CN112800436B - Data authorization method and device and electronic equipment - Google Patents

Data authorization method and device and electronic equipment Download PDF

Info

Publication number
CN112800436B
CN112800436B CN202110371529.4A CN202110371529A CN112800436B CN 112800436 B CN112800436 B CN 112800436B CN 202110371529 A CN202110371529 A CN 202110371529A CN 112800436 B CN112800436 B CN 112800436B
Authority
CN
China
Prior art keywords
data
authorization information
execution environment
authorization
private data
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.)
Active
Application number
CN202110371529.4A
Other languages
Chinese (zh)
Other versions
CN112800436A (en
Inventor
余逸荣
邱鸿霖
陈辰
吴行行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd, Ant Blockchain Technology Shanghai Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110371529.4A priority Critical patent/CN112800436B/en
Priority to CN202110711435.7A priority patent/CN113268742B/en
Publication of CN112800436A publication Critical patent/CN112800436A/en
Application granted granted Critical
Publication of CN112800436B publication Critical patent/CN112800436B/en
Priority to PCT/CN2022/085256 priority patent/WO2022213964A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

One or more embodiments of the present specification provide a data authorization method, an apparatus, and an electronic device, which are applied to an electronic device equipped with a trusted execution environment; at least one application is deployed in the trusted execution environment; private data participating in trusted computing are stored in the trusted execution environment; the method comprises the following steps: receiving data authorization information aiming at the private data sent by the data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program; determining whether an authorization identifier corresponding to the application program in the data authorization information is the same as an authorization identifier corresponding to the application program stored in the trusted execution environment; wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted; and if so, authorizing the application program to perform trusted computing based on the private data.

Description

Data authorization method and device and electronic equipment
Technical Field
One or more embodiments of the present disclosure relate to the field of information security technologies, and in particular, to a data authorization method, an apparatus, and an electronic device.
Background
In recent years, interconnection devices are increasingly popularized, so that device manufacturers are forced to treat security problems occurring in the operation process of the devices more seriously and seriously, and a Trusted Execution Environment (TEE) mounted in the devices provides solutions for the security problems.
The trusted execution environment is a secure area within the host processor, runs in a separate environment, and runs in parallel with the conventional operating system, so that the confidentiality and integrity of code and data loaded in the trusted execution environment can be protected.
Disclosure of Invention
The specification proposes a data authorization method, which is applied to an electronic device loaded with a trusted execution environment; at least one application is deployed in the trusted execution environment; and the trusted execution environment stores private data participating in trusted computing; the method comprises the following steps:
receiving data authorization information aiming at the private data sent by the data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program;
determining whether an authorization identifier corresponding to the application program in the data authorization information is the same as an authorization identifier corresponding to the application program stored in the trusted execution environment; wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted;
and if so, authorizing the application program to perform trusted computing based on the private data.
Optionally, the method further comprises:
determining whether an authorization identifier corresponding to the application program stored in the trusted execution environment is updated;
and if so, releasing the authority of the application program for performing trusted computing based on the private data.
Optionally, the data authorization information further includes authorization information corresponding to the private data;
the authority authorizing the application to perform trusted computing based on the private data includes:
storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment; or storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment, and setting the authorization information to be in a valid state;
the releasing the authority of the application program for performing trusted computing based on the private data comprises:
deleting the authorization information stored in the trusted execution environment; or, the authorization information stored in the trusted execution environment is set to an invalid state.
Optionally, the data authorization information is digitally signed based on a private key of the data authorizer;
before the determining whether the authorization identifier corresponding to the application in the data authorization information is the same as the authorization identifier corresponding to the application stored in the trusted execution environment, the method further includes:
verifying a digital signature corresponding to the data authorization information based on a public key of the data authorizer stored in the trusted execution environment;
and if the verification is passed, determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment.
Optionally, the storing the authorization information in the data authorization information to the trusted execution environment includes:
determining whether authorization information corresponding to the private data is stored in the trusted execution environment;
if not, storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the authorization information corresponding to the private data includes an identity credential corresponding to the data authorizer;
before the updating, based on the authorization information corresponding to the private data in the data authorization information, the authorization information corresponding to the private data stored in the trusted execution environment, the method further includes:
determining whether the identity certificate corresponding to the data authorizer in the data authorization information is the same as the identity certificate corresponding to the data authorizer stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the identity credential comprises a public key of the data authority.
Optionally, the authorization information corresponding to the private data includes a data identifier corresponding to the private data;
before the updating, based on the authorization information corresponding to the private data in the data authorization information, the authorization information corresponding to the private data stored in the trusted execution environment, the method further includes:
determining whether a data identifier corresponding to the private data in the data authorization information is the same as a data identifier corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the data identifier includes a data summary corresponding to the private data.
Optionally, the authorization information corresponding to the private data includes a data version corresponding to the private data;
before the updating, based on the authorization information corresponding to the private data in the data authorization information, the authorization information corresponding to the private data stored in the trusted execution environment, the method further includes:
determining whether a data version corresponding to the private data in the data authorization information is higher than a data version corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the method further comprises:
receiving a data calling request aiming at the private data and sent by a data calling party;
determining whether authorization information corresponding to the private data is stored in the trusted execution environment; or, determining whether authorization information of a valid state corresponding to the private data is stored in the trusted execution environment;
if so, triggering the application program to perform trusted computing based on the private data.
Optionally, the authorization information includes: an authorization status;
the triggering the application program to perform trusted computing based on the private data includes:
determining whether the authorization state in the authorization information is an authorized state;
if so, triggering the application program to perform trusted computing based on the private data.
Optionally, the authorization information includes: the number of remaining authorizations;
the triggering the application program to perform trusted computing based on the private data includes:
determining whether the remaining authorization times in the authorization information are greater than 0;
if yes, the application program is triggered to conduct trusted calculation based on the privacy data, and the number of remaining authorization times in the authorization information is reduced by 1.
The present specification also proposes a data authorization apparatus, which is applied to an electronic device carrying a trusted execution environment; at least one application is deployed in the trusted execution environment; and the trusted execution environment stores private data participating in trusted computing; the device comprises:
the first receiving module is used for receiving data authorization information aiming at the private data, which is sent by the data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program;
the first determining module is used for determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment; wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted;
and if so, authorizing the authority of the application program for performing trusted computing based on the private data.
Optionally, the apparatus further comprises:
the determining module is used for determining whether the authorization identifier corresponding to the application program stored in the trusted execution environment is updated;
and if so, releasing the authority of the application program for performing trusted computing based on the private data.
Optionally, the data authorization information further includes authorization information corresponding to the private data;
the authorization module:
storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment; or storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment, and setting the authorization information to be in a valid state;
the release module:
deleting the authorization information stored in the trusted execution environment; or, the authorization information stored in the trusted execution environment is set to an invalid state.
Optionally, the data authorization information is digitally signed based on a private key of the data authorizer;
the first determination module:
before determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment, verifying a digital signature corresponding to the data authorization information based on a public key of the data authorizer stored in the trusted execution environment;
and if the verification is passed, determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment.
Optionally, the authorization module:
determining whether authorization information corresponding to the private data is stored in the trusted execution environment;
if not, storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the authorization information corresponding to the private data includes an identity credential corresponding to the data authorizer;
the authorization module:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether an identity credential corresponding to the data authorizer in the data authorization information is the same as an identity credential corresponding to the data authorizer stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the identity credential comprises a public key of the data authority.
Optionally, the authorization information corresponding to the private data includes a data identifier corresponding to the private data;
the authorization module:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether a data identifier corresponding to the private data in the data authorization information is the same as a data identifier corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the data identifier includes a data summary corresponding to the private data.
Optionally, the authorization information corresponding to the private data includes a data version corresponding to the private data;
the authorization module:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether a data version corresponding to the private data in the data authorization information is higher than a data version corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
Optionally, the apparatus further comprises:
the second receiving module is used for receiving a data calling request aiming at the private data and sent by a data calling party;
a second determination module that determines whether authorization information corresponding to the private data is stored in the trusted execution environment; or, determining whether authorization information of a valid state corresponding to the private data is stored in the trusted execution environment;
and if so, triggering the application program to perform trusted computing based on the private data.
Optionally, the authorization information includes: an authorization status;
the calculation module:
determining whether the authorization state in the authorization information is an authorized state;
if so, triggering the application program to perform trusted computing based on the private data.
Optionally, the authorization information includes: the number of remaining authorizations;
the calculation module:
determining whether the remaining authorization times in the authorization information are greater than 0;
if yes, the application program is triggered to conduct trusted calculation based on the privacy data, and the number of remaining authorization times in the authorization information is reduced by 1.
This specification also proposes an electronic device including:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the steps of the above method by executing the executable instructions.
The present specification also contemplates a computer-readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the steps of the above-described method.
In the above technical solution, the authorization identifier corresponding to the application program and the authorization information corresponding to the private data, which have timeliness, may be stored in the trusted execution environment, and when it is determined that the authorization identifier in the data authorization information for the private data sent by the data authorizer is the same as the authorization identifier stored in the trusted execution environment, the authorization information corresponding to the private data in the data authorization information is stored in the trusted execution environment, so that the data authorizer can manage the use of the private data conveniently, and the data security of the private data can also be improved.
Drawings
FIG. 1 is a schematic diagram of a data authorization system shown in an exemplary embodiment of the present description;
FIG. 2 is a flow chart of a data authorization method shown in an exemplary embodiment of the present description;
FIG. 3 is a flow diagram illustrating a method for data invocation in an exemplary embodiment of the present description;
fig. 4 is a hardware structure diagram of an electronic device where a data authorization apparatus is located according to an exemplary embodiment of the present specification;
fig. 5 is a block diagram of a data authorization apparatus according to an exemplary embodiment of the present disclosure.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with one or more embodiments of the present specification. Rather, they are merely examples of apparatus and methods consistent with certain aspects of one or more embodiments of the specification, as detailed in the claims which follow.
It should be noted that: in other embodiments, the steps of the corresponding methods are not necessarily performed in the order shown and described herein. In some other embodiments, the method may include more or fewer steps than those described herein. Moreover, a single step described in this specification may be broken down into multiple steps for description in other embodiments; multiple steps described in this specification may be combined into a single step in other embodiments.
In practical applications, a trusted execution environment may be hosted in the electronic device, and at least one application program may be deployed in the trusted execution environment. In this case, each deployed application may run in the trusted execution environment; that is, code and data corresponding to each application program may be loaded into the trusted execution environment for execution to protect the confidentiality and integrity of the code and data corresponding to each application program.
The electronic device with the trusted execution environment may be a server, a computer, a mobile phone, a tablet device, a notebook computer, a Personal Digital Assistants (PDAs), and the like, which is not limited in this specification.
Generally, for an application deployed in a trusted execution environment, data corresponding to the application (e.g., functions specified by program code corresponding to the application; parameters required for the program code corresponding to the application to be executed; etc.) may be stored in the trusted execution environment in advance. Subsequently, when the user calls the application program, the user may specify data corresponding to the application program in the call (i.e., data that the application program needs to use when running in the call), so that the application program may perform trusted computing in the trusted execution environment based on the data specified by the user, and output a corresponding computing result.
Specifically, data corresponding to the application program may be encrypted in advance, and the encrypted data may be stored in the trusted execution environment as private data corresponding to the application program. Subsequently, the application program may decrypt the private data specified by the user in the trusted execution environment, perform trusted computation based on the decrypted data, and output a corresponding computation result.
For private data corresponding to an application deployed in a trusted execution environment, the private data is typically held and maintained by a data owner and provided to the application so that the application can perform trusted computing in the trusted execution environment based on the private data.
In the related art, for an application deployed in a trusted execution environment, private data corresponding to the application may be encrypted based on a public key of a data owner, and the encrypted private data is provided to the application; accordingly, the application program can decrypt the encrypted private data based on the private key of the data owner in the trusted execution environment to obtain the private data, and perform trusted computation based on the private data.
However, since the application program can use the private data without any restriction (i.e., perform trusted calculation based on the private data) after the data owner provides the private data encrypted using the public key to the application program holding the private key, the data owner has less management on the use of the private data, and the security of the private data is difficult to be ensured.
In order to facilitate management of use of private data (for example, only a specific application program is allowed to use the private data, only the private data is allowed to be used for a certain number of times, and the like), and improve data security of the private data, the specification provides a technical scheme that an authorization identifier corresponding to the application program and authorization information corresponding to the private data with timeliness are stored in a trusted execution environment, and when the authorization identifier in the received data authorization information aiming at the private data is determined to be the same as the authorization identifier stored in the trusted execution environment, the authorization information corresponding to the private data in the data authorization information is stored in the trusted execution environment.
In a specific implementation, for a certain application deployed in the trusted execution environment, in order to authorize the private data corresponding to the application, the data authorizer may initiate data authorization information for the private data, and send the data authorization information to the electronic device hosting the trusted execution environment through the electronic device corresponding to the data authorizer.
In practical applications, the data authorization information may include: and the authorization identifier corresponding to the application program.
When the data authorization information is received, on one hand, an authorization identifier corresponding to the application program in the data authorization information can be acquired; on the other hand, the authorization identifier corresponding to the application program stored in the trusted execution environment can be acquired. Further, it may be determined, in the trusted execution environment, whether an authorization identifier corresponding to the application in the data authorization information is the same as an authorization identifier corresponding to the application stored in the trusted execution environment.
If the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment, the data authorizer may be considered to perform a private data authorization operation during the current running process of the application program, and therefore, the authorization information corresponding to the private data in the data authorization information may be stored in the trusted execution environment.
The authorization identifier corresponding to the application program may be an identifier for authorizing private data, which is generated by the trusted execution environment for the application program when the application program is started; the authorization identifier is stored in the trusted execution environment and is updated each time the application is restarted, i.e. the authorization identifier is time-efficient.
And when the authorization identifier corresponding to the application program stored in the trusted execution environment is updated, the authorization information corresponding to the private data stored in the trusted execution environment is invalidated. Since the authorization identifier corresponding to the application program stored in the trusted execution environment is updated every time the application program is restarted, the authorization information corresponding to the private data stored in the trusted execution environment is also time-efficient.
In the above technical solution, the authorization identifier corresponding to the application program and the authorization information corresponding to the private data, which have timeliness, may be stored in the trusted execution environment, and when it is determined that the authorization identifier in the data authorization information for the private data sent by the data authorizer is the same as the authorization identifier stored in the trusted execution environment, the authorization information corresponding to the private data in the data authorization information is stored in the trusted execution environment, so that the data authorizer can manage the use of the private data conveniently, and the data security of the private data can also be improved.
Referring to fig. 1, fig. 1 is a schematic diagram of a data authorization system according to an exemplary embodiment of the present disclosure.
As shown in fig. 1, a trusted execution environment may be installed in an electronic device, and at least one application program may be deployed in the trusted execution environment, where each deployed application program may run in the trusted execution environment. In addition, private data participating in trusted computing may also be stored in the trusted execution environment. In this case, for an application deployed in the trusted execution environment, the application may use private data corresponding to the application; that is, the application may perform trusted computations in the trusted execution environment based on private data corresponding to the application.
The Application program may be a software Application (Application) that executes a user-oriented business logic, or may be a program that includes a calculation model such as a machine learning model, and the present specification does not limit this.
It should be noted that the private data may be authorized by a data authorizer to the application program, for example: the application may be authorized by the data owner for the private data and provided with the private data for trusted computing by the application, if authorized, in the trusted execution environment based on the private data.
Referring to fig. 2, fig. 2 is a flowchart illustrating a data authorization method according to an exemplary embodiment of the present disclosure.
In conjunction with the data authorization system shown in fig. 1, the data authorization method can be applied to an electronic device in the data authorization system, which is loaded with a trusted execution environment; at least one application is deployed in the trusted execution environment. The data authorization method can comprise the following steps:
step 202, receiving data authorization information aiming at the private data sent by the data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program;
step 204, determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment; wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted;
and step 206, if yes, authorizing the application program to perform the authority of trusted computing based on the private data.
In this embodiment, for an application deployed in the trusted execution environment, in order to authorize the private data corresponding to the application to be used by the application, a data authorizer (e.g., a data owner of the private data) may initiate data authorization information for the private data, and send the data authorization information to the electronic device hosting the trusted execution environment through an electronic device corresponding to the data authorizer.
In practical applications, the data authorization information may include: and the authorization identifier corresponding to the application program.
The authorization identifier corresponding to the application program may be an identifier for authorizing private data, which is generated by the trusted execution environment for the application program when the application program is started; the authorization identifier is stored in the trusted execution environment and is updated each time the application is restarted, i.e. the authorization identifier is time-efficient.
Specifically, each time the application is restarted, an authorization identifier may be generated for the application by the trusted execution environment, and the generated authorization identifier may be stored in the trusted execution environment, where the authorization identifiers generated each time are different from each other.
In this case, the authorization identifier corresponding to the application program stored in the trusted execution environment may be used to represent the running process of the application program. For example: if the authorization identifiers corresponding to the application programs detected at two different moments are the same, the application program can be considered to be in the same operation process at the two moments, namely the application program is not restarted in the time period between the two moments; if the authorization identifiers corresponding to the application detected at two different times are different, the application may be considered to be in two different operational processes at the two different times, i.e., the application has been restarted in the time period between the two times.
For example, at each time of restarting the application program, a random number may be generated for the application program by the trusted execution environment, and the random number is determined as the authorization identifier corresponding to the application program, so that it is ensured that the authorization identifiers generated by the trusted execution environment for the application program each time are completely random, that is, the authorization identifiers generated each time are different from each other; or, when the application program is restarted each time, the trusted execution environment may generate a random number for the application program, and determine a hash value obtained by hash calculation of the random number and an ID of the application program (for example, a program name of the application program) as an authorization identifier corresponding to the application program; this is not limited by the present description.
In addition, the authorization identifier generated by the trusted execution environment for the application program every time can be provided to the data authorizer, so that the data authorizer can execute the privacy data authorization operation by using the authorization identifier.
In this embodiment, when the data authorization information is received, on one hand, an authorization identifier corresponding to the application program in the data authorization information may be obtained; on the other hand, the authorization identifier corresponding to the application program stored in the trusted execution environment can be acquired. Further, it may be determined, in the trusted execution environment, whether an authorization identifier corresponding to the application in the data authorization information is the same as an authorization identifier corresponding to the application stored in the trusted execution environment.
In this embodiment, if the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment, it may be considered that the data authorizer performs a private data authorization operation during the current running process of the application program, and therefore, the application program may be authorized to perform the authority of trusted computing based on the private data in the trusted execution environment.
Accordingly, when it is determined that the authorization identifier corresponding to the application program stored in the trusted execution environment is updated, the authority of the application program for performing trusted computing based on the private data can be released. Since the authorization identifier corresponding to the application program stored in the trusted execution environment is updated every time the application program is restarted, the authority of the application program to perform trusted computing based on the private data is also time-efficient.
Specifically, when the application is restarted each time, since the authorization identifier corresponding to the application is updated, the authority of the application for performing trusted computing based on the private data is released, and at this time, the data authorizer needs to perform a private data authorization operation on the private data again in the current running process of the application.
In an embodiment shown, the data authorization information may further include: and authorization information corresponding to the privacy data.
When the application program is authorized to perform trusted computing based on the private data, authorization information corresponding to the private data in the data authorization information can be directly stored in the trusted execution environment; when the authority is removed, the authorization information corresponding to the private data stored in the trusted execution environment can be deleted.
Or, when the application program is authorized to perform trusted computing based on the private data, authorization information corresponding to the private data in the data authorization information may be stored in the trusted execution environment, and the authorization information is set to a valid state; when the authority is removed, the authorization information corresponding to the private data stored in the trusted execution environment can be set to be in an invalid state.
In this case, when using the private data, it may be determined whether the application program has a right to perform trusted computing based on the private data; if so, it is stated that the application may use the private data, i.e. the application may perform trusted computations based on the private data.
In one embodiment, the data authorizer may use its private key to digitally sign the data authorization information, and send the digitally signed data authorization information to the electronic device hosting the trusted execution environment.
When the electronic device receives the data authorization information, the electronic device may first acquire the public key of the data authorizer stored in the trusted execution environment, and verify the digital signature corresponding to the data authorization information based on the acquired public key of the data authorizer; if the verification of the digital signature is passed, the data authorization information may be executed, that is, authorization information corresponding to the private data in the data authorization information may be stored in the trusted execution environment.
In one embodiment, when storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment, it may be determined whether authorization information corresponding to the private data is stored in the trusted execution environment.
If the authorization information corresponding to the private data is not stored in the trusted execution environment, it indicates that the privacy data authorization operation has not been executed on the private data in the current running process of the application program, so that the authorization information corresponding to the private data in the data authorization information can be directly stored in the trusted execution environment to complete the privacy data authorization operation.
If the authorization information corresponding to the private data is stored in the trusted execution environment, it indicates that a private data authorization operation has been performed on the private data in the current running process of the application program, so that the authorization information corresponding to the private data stored in the trusted execution environment at this time may be updated based on the authorization information corresponding to the private data in the data authorization information.
In order to ensure the security of the update of the authorization information, in an illustrated embodiment, the authorization information corresponding to the privacy data in the data authorization information may include: and the identity certificate corresponds to the data authority. That is, the authorization information corresponding to the private data stored in the trusted execution environment includes: an identity credential corresponding to the data authority.
In this case, it may be determined in the trusted execution environment whether the identity credential corresponding to the data authorizer in the data authorization information is the same as the identity credential corresponding to the data authorizer stored in the trusted execution environment. If so, the verification for the update of the authorization information can be considered to be passed, so that the authorization information corresponding to the private data stored in the trusted execution environment at the time can be updated based on the authorization information corresponding to the private data in the data authorization information.
In practical applications, the identity credential corresponding to the data authorizer may include: the public key of the data authority.
In another illustrated embodiment, the authorization information corresponding to the private data in the data authorization information may include: and data identification corresponding to the privacy data. That is, the authorization information corresponding to the private data stored in the trusted execution environment includes: and data identification corresponding to the privacy data.
In practical applications, the data identifier corresponding to the private data may include: a data summary corresponding to the private data. For example, the private data may be calculated based on a hash algorithm, so as to obtain a hash value of the private data, and the hash value is determined as a data identifier corresponding to the private data.
In this case, it may be determined in the trusted execution environment whether the data digest corresponding to the private data in the data authorization information is the same as the data digest corresponding to the private data stored in the trusted execution environment. If so, the verification for the update of the authorization information can be considered to be passed, so that the authorization information corresponding to the private data stored in the trusted execution environment at the time can be updated based on the authorization information corresponding to the private data in the data authorization information.
In still another illustrated embodiment, the authorization information corresponding to the private data in the data authorization information may include: and a data version corresponding to the private data. That is, the authorization information corresponding to the private data stored in the trusted execution environment includes: a data version corresponding to the private data.
In this case, it may be determined in the trusted execution environment whether a data version corresponding to the private data in the data authorization information is higher than a data version corresponding to the private data stored in the trusted execution environment. If so, the authorization information in the data authorization information can be considered to be updated compared with the authorization information stored in the trusted execution environment, so that the verification on the update of the authorization information can be considered to be passed, and the authorization information corresponding to the privacy data stored in the trusted execution environment at the moment can be updated based on the authorization information corresponding to the privacy data in the data authorization information.
For example, it is assumed that the data version of the private data is a version number in a digital form, and a larger number of the version number indicates a higher version; further assume that a data version corresponding to the private data in the data authorization information is version1.3, and a data version corresponding to the private data stored in the trusted execution environment is version 2.0; then since 2.0 is greater than 1.3, it may be determined that the version of the data in the data-authorization information corresponding to the private data is higher than the version of the data stored in the trusted execution environment corresponding to the private data.
It should be noted that, the authorization information corresponding to the private data in the data authorization information may include one or more of the following information for authorization information update verification: identity credentials corresponding to the data authorizer; a data identifier corresponding to the private data; and a data version corresponding to the private data. If the authorization information includes a plurality of kinds of information for authorization information update verification, it may be determined that the verification for the authorization information update is passed when each of the information is verified.
For example, assume that authorization information corresponding to the private data in the data authorization information includes: an identity credential corresponding to the data authority; a data identifier corresponding to the private data; a data version corresponding to the private data; further assume that the following three conditions are all satisfied: (1) the identity certificate corresponding to the data authorizer in the data authorization information is the same as the identity certificate corresponding to the data authorizer and stored in the trusted execution environment; (2) the data identifier corresponding to the private data in the data authorization information is the same as the data identifier corresponding to the private data stored in the trusted execution environment; (3) the data version corresponding to the private data in the data authorization information is higher than the data version corresponding to the private data stored in the trusted execution environment; it may be determined that the verification for the authorization information update passed.
In practical applications, the authorization information corresponding to the private data in the data authorization information may further include: an authorization status; the number of remaining authorizations; and the like; the method can be set according to actual requirements, and the specification does not limit the method.
Referring to fig. 3 on the basis of the data authorization flow shown in fig. 2, fig. 3 is a flow chart of a data calling method shown in an exemplary embodiment of the present specification.
Also, the data call method may be applied to the above-described electronic device in the data authorization system as shown in fig. 1. The data calling method may include the steps of:
step 302, receiving a data calling request aiming at the private data sent by a data calling party;
step 304, determining whether authorization information corresponding to the private data is stored in the trusted execution environment; or, determining whether authorization information of a valid state corresponding to the private data is stored in the trusted execution environment;
and step 306, if yes, triggering the application program to perform trusted calculation based on the private data.
For the application program, in order to trigger the application program to perform trusted computing based on the private data, the data caller may initiate a data call request for the private data, and send the data call request to the electronic device equipped with the trusted execution environment through the electronic device corresponding to the data caller.
As described above, the authority of the application program deployed in the trusted execution environment to perform trusted computing based on the private data is time-efficient.
Specifically, when the application is restarted each time, since the authorization identifier corresponding to the application is updated, the authority of the application for performing trusted computing based on the private data is released, and at this time, the data authorizer needs to perform a private data authorization operation on the private data again in the current running process of the application.
In this case, when the electronic device receives the data call request, it may first determine whether the application program has the authority to perform trusted computing based on the private data.
Specifically, it may be determined, in the trusted execution environment, whether authorization information corresponding to the data identifier is stored in the trusted execution environment; alternatively, it may be determined in the trusted execution environment whether valid authorization information corresponding to the data identification is stored in the trusted execution environment.
If so, the application program can use the private data, so that the application program can be triggered to perform trusted calculation based on the private data.
In practical applications, the data call request may include: and data identification of the privacy data. In this case, it may be determined, in the trusted execution environment, whether authorization information corresponding to the data identifier is stored in the trusted execution environment based on the data identifier in the data call request; if so, the trusted execution environment may be deemed to have stored therein authorization information corresponding to the private data.
Alternatively, since the private data may be stored in the trusted execution environment in advance, the private data specified by the data call request may be determined first, and the data identifier corresponding to the stored private data may be searched for in the trusted execution environment. After the data identifier is found, whether valid authorization information corresponding to the data identifier is stored in the trusted execution environment can be determined based on the data identifier; if so, the trusted execution environment may be deemed to have stored therein authorization information corresponding to the private data.
For example, the authorization information corresponding to the private data stored to the trusted execution environment during the last run of the application may be deleted each time the application is restarted. Subsequently, if it is determined that the authorization information corresponding to the data identifier is stored in the trusted execution environment based on the data identifier corresponding to the private data, it may be directly determined that the authorization information is valid, so that the application program may be triggered to perform trusted computing based on the private data.
In another example, the authorization information corresponding to the private data, which is stored to the trusted execution environment during the last running of the application, may be set to a valid state when the authorization information corresponding to the private data in the data authorization information is stored to the trusted execution environment, and may be switched from the valid state to an invalid state each time the application is restarted. Subsequently, if it is determined that authorization information of a valid state corresponding to the data identifier is stored in the trusted execution environment based on the data identifier corresponding to the private data, the application program may be triggered to perform trusted computing based on the private data.
In one embodiment, the authorization information corresponding to the private data may include: an authorization status.
In this case, after determining that the authorization information of the valid state is stored in the trusted execution environment, it may be further determined whether the authorization state in the authorization information is an authorized state. If so, the application program can be triggered to perform trusted computing based on the private data.
Accordingly, for the authorization information stored in the trusted execution environment in a valid state, if the authorization state in the authorization information is an unauthorized state, it may be considered that the application program cannot perform trusted computing based on the private data.
In practical applications, the data authorizer may revoke the authorization for the private data by updating the authorization information of the valid state stored in the trusted execution environment, that is, the application program is no longer allowed to use the private data.
In conjunction with the above step 202 and 206, the data authorizer may send data authorization information for the private data; wherein, the authorization information in the data authorization information may include authorization status information indicating an unauthorized status. In this case, the authorization information corresponding to the private data stored in the trusted execution environment may be updated based on the authorization information corresponding to the private data in the data authorization information after the verification for the authorization information update passes. Subsequently, after the data call request is received and the authorization information in a valid state stored in the trusted execution environment is determined, since the authorization state in the authorization information is an unauthorized state, the application program is not triggered to perform trusted computation based on the privacy data, so that the authorization for the privacy data is revoked.
In one embodiment, the authorization information corresponding to the private data may include: the number of authorizations remaining.
In this case, after determining that the authorization information in the valid state is stored in the trusted execution environment, it may be further determined whether the remaining number of authorizations in the authorization information is greater than 0. If yes, the application program can be triggered to perform trusted computing based on the private data; in addition, after the trusted computing is completed, the number of remaining authorizations in the authorization information may also be reduced by 1.
It should be noted that the authorization information corresponding to the above-mentioned private data may include one or more of the following information for authentication: an authorization status; the number of authorizations remaining. If the authorization information includes a plurality of types of information for authentication, the application may be triggered to perform trusted computations based on the private data if each type of information is authenticated.
For example, assume that the authorization information corresponding to the private data includes: an authorization status; the number of remaining authorizations; further assume that the following two conditions are both satisfied: (1) the authorization state in the authorization information is an authorized state; (2) the residual authorization times in the authorization information are more than 0; the application may be triggered to perform trusted computations based on the private data and, after the trusted computations are completed, to decrement the remaining number of authorizations in the authorization information by 1.
In the above technical solution, the authorization identifier corresponding to the application program and the authorization information corresponding to the private data, which have timeliness, may be stored in the trusted execution environment, and when it is determined that the authorization identifier in the data authorization information for the private data sent by the data authorizer is the same as the authorization identifier stored in the trusted execution environment, the authorization information corresponding to the private data in the data authorization information is stored in the trusted execution environment, so that the data authorizer can manage the use of the private data conveniently, and the data security of the private data can also be improved.
Corresponding to the embodiments of the data authorization method, the present specification also provides embodiments of a data authorization apparatus.
The embodiment of the data authorization device can be applied to electronic equipment. The device embodiments may be implemented by software, or by hardware, or by a combination of hardware and software. Taking a software implementation as an example, as a logical device, the device is formed by reading, by a processor of the electronic device where the device is located, a corresponding computer program instruction in the nonvolatile memory into the memory for operation. From a hardware aspect, as shown in fig. 4, the hardware structure diagram of the electronic device in which the data authorization apparatus of this specification is located is shown, except for the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 4, the electronic device in which the apparatus is located in the embodiment may also include other hardware according to the actual function authorized by the data, which is not described again.
Referring to fig. 5, fig. 5 is a block diagram of a data authorization apparatus according to an exemplary embodiment of the present disclosure. The data authorization apparatus 50 may be applied to an electronic device as shown in fig. 4, and the electronic device may be equipped with an electronic device of a trusted execution environment; at least one application is deployed in the trusted execution environment; and the trusted execution environment stores private data participating in trusted computing; when valid authorization information corresponding to the private data is stored in the trusted execution environment, the application program performs trusted calculation based on the private data; the data authorization apparatus 50 may include:
a first receiving module 501, configured to receive data authorization information for the private data sent by the data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program and authorization information corresponding to the privacy data;
a first determining module 502, configured to determine, in the trusted execution environment, whether an authorization identifier corresponding to the application in the data authorization information is the same as an authorization identifier corresponding to the application stored in the trusted execution environment;
if so, the authorization module 503 stores authorization information corresponding to the private data in the data authorization information to the trusted execution environment;
wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted; and when the authorization identifier corresponding to the application program stored in the trusted execution environment is updated, the authorization information corresponding to the private data and stored in the trusted execution environment is invalidated, so that the application program performs trusted computing based on the private data when determining that valid authorization information corresponding to the private data and stored in the trusted execution environment is stored.
In this embodiment, the authorization module 503:
determining whether authorization information corresponding to the private data is stored in the trusted execution environment;
if not, storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
In this embodiment, the authorization information corresponding to the private data in the data authorization information includes: an identity credential corresponding to the data authority;
the authorization module 503:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether an identity credential corresponding to the data authorizer in the data authorization information is the same as an identity credential corresponding to the data authorizer stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
In this embodiment, the identity credential corresponding to the data authorizer includes: a public key of the data authorizer; the data authorization information further includes: the digital signature is obtained by signing the authorization information based on a private key corresponding to the data authorizer;
the authorization module 503:
verifying the digital signature in the data authorization information based on the public key of the data authorizer in the data authorization information;
and if the verification is passed, determining whether the public key of the data authorizer in the data authorization information is the same as the public key of the data authorizer stored in the trusted execution environment.
In this embodiment, the authorization information corresponding to the private data in the data authorization information includes: a data identifier corresponding to the private data;
the authorization module 503:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether a data identifier corresponding to the private data in the data authorization information is the same as a data identifier corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
In this embodiment, the data identifier corresponding to the private data includes: a data summary corresponding to the private data.
In this embodiment, the authorization information corresponding to the private data in the data authorization information includes: a data version corresponding to the private data;
the authorization module 503:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether a data version corresponding to the private data in the data authorization information is higher than a data version corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
In this embodiment, the apparatus 50 further comprises:
a second receiving module 504, configured to receive a data invocation request for the private data sent by a data invoker;
a second determining module 505, configured to determine, in the trusted execution environment, whether valid authorization information corresponding to the data identifier is stored in the trusted execution environment based on the data identifier corresponding to the private data;
and the calculation module 506, if so, triggers the application program to perform trusted calculation based on the private data.
In this embodiment, the second determining module 505:
determining a data identifier corresponding to the private data stored in the trusted execution environment, and determining whether valid authorization information corresponding to the data identifier is stored in the trusted execution environment.
In this embodiment, the authorization information includes: an authorization status;
the calculation module 506:
determining whether the authorization state in the authorization information is an authorized state;
if so, triggering the application program to perform trusted computing based on the private data.
In this embodiment, the authorization information includes: the number of remaining authorizations;
the calculation module 506:
determining whether the remaining authorization times in the authorization information are greater than 0;
if yes, the application program is triggered to conduct trusted calculation based on the privacy data, and the number of remaining authorization times in the authorization information is reduced by 1.
The implementation process of the functions and actions of each module in the above device is specifically described in the implementation process of the corresponding step in the above method, and is not described herein again.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, wherein the modules described as separate parts may or may not be physically separate, and the parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in the specification. One of ordinary skill in the art can understand and implement it without inventive effort.
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. A typical implementation device is a computer, which may take the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email messaging device, game console, tablet computer, wearable device, or a combination of any of these devices.
In a typical configuration, a computer 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 disk storage, quantum memory, graphene-based storage media 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 phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
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 may 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.
The terminology used in the description of the one or more embodiments is for the purpose of describing the particular embodiments only and is not intended to be limiting of the description of the one or more embodiments. As used in one or more embodiments of the present specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in one or more embodiments of the present description to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of one or more embodiments herein. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
The above description is only for the purpose of illustrating the preferred embodiments of the one or more embodiments of the present disclosure, and is not intended to limit the scope of the one or more embodiments of the present disclosure, and any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the one or more embodiments of the present disclosure should be included in the scope of the one or more embodiments of the present disclosure.

Claims (28)

1. A data authorization method is applied to an electronic device loaded with a trusted execution environment; at least one application is deployed in the trusted execution environment; and the trusted execution environment stores private data participating in trusted computing; the method comprises the following steps:
receiving data authorization information aiming at the private data sent by a data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program;
determining whether an authorization identifier corresponding to the application program in the data authorization information is the same as an authorization identifier corresponding to the application program stored in the trusted execution environment; wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted;
and if so, authorizing the application program to perform trusted computing based on the private data.
2. The method of claim 1, further comprising:
determining whether an authorization identifier corresponding to the application program stored in the trusted execution environment is updated;
and if so, releasing the authority of the application program for performing trusted computing based on the private data.
3. The method of claim 2, the data authorization information further comprising authorization information corresponding to the private data;
the authority authorizing the application to perform trusted computing based on the private data includes:
storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment; or storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment, and setting the authorization information to be in a valid state;
the releasing the authority of the application program for performing trusted computing based on the private data comprises:
deleting the authorization information stored in the trusted execution environment; or, the authorization information stored in the trusted execution environment is set to an invalid state.
4. The method of claim 3, the data authorization information is digitally signed based on a private key of the data authorizer;
before the determining whether the authorization identifier corresponding to the application in the data authorization information is the same as the authorization identifier corresponding to the application stored in the trusted execution environment, the method further includes:
verifying a digital signature corresponding to the data authorization information based on a public key of the data authorizer stored in the trusted execution environment;
and if the verification is passed, determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment.
5. The method of claim 4, the storing the authorization information in the data authorization information to the trusted execution environment, comprising:
determining whether authorization information corresponding to the private data is stored in the trusted execution environment;
if not, storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
6. The method of claim 5, the authorization information corresponding to the private data comprising an identity credential corresponding to the data authorizer;
before the updating, based on the authorization information corresponding to the private data in the data authorization information, the authorization information corresponding to the private data stored in the trusted execution environment, the method further includes:
determining whether the identity certificate corresponding to the data authorizer in the data authorization information is the same as the identity certificate corresponding to the data authorizer stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
7. The method of claim 6, the identity credential comprising a public key of the data authority.
8. The method of claim 5, the authorization information corresponding to the private data comprising a data identification corresponding to the private data;
before the updating, based on the authorization information corresponding to the private data in the data authorization information, the authorization information corresponding to the private data stored in the trusted execution environment, the method further includes:
determining whether a data identifier corresponding to the private data in the data authorization information is the same as a data identifier corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
9. The method of claim 8, the data identification comprising a data digest corresponding to the private data.
10. The method of claim 5, the authorization information corresponding to the private data comprising a data version corresponding to the private data;
before the updating, based on the authorization information corresponding to the private data in the data authorization information, the authorization information corresponding to the private data stored in the trusted execution environment, the method further includes:
determining whether a data version corresponding to the private data in the data authorization information is higher than a data version corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
11. The method of claim 3, further comprising:
receiving a data calling request aiming at the private data and sent by a data calling party;
determining whether authorization information corresponding to the private data is stored in the trusted execution environment; or, determining whether authorization information of a valid state corresponding to the private data is stored in the trusted execution environment;
if so, triggering the application program to perform trusted computing based on the private data.
12. The method of claim 11, the authorization information comprising: an authorization status;
the triggering the application program to perform trusted computing based on the private data includes:
determining whether the authorization state in the authorization information is an authorized state;
if so, triggering the application program to perform trusted computing based on the private data.
13. The method of claim 11, the authorization information comprising: the number of remaining authorizations;
the triggering the application program to perform trusted computing based on the private data includes:
determining whether the remaining authorization times in the authorization information are greater than 0;
if yes, the application program is triggered to conduct trusted calculation based on the privacy data, and the number of remaining authorization times in the authorization information is reduced by 1.
14. A data authorization device is applied to an electronic device carrying a trusted execution environment; at least one application is deployed in the trusted execution environment; and the trusted execution environment stores private data participating in trusted computing; the device comprises:
the first receiving module is used for receiving data authorization information aiming at the private data, which is sent by a data authorizer; the data authorization information comprises an authorization identifier corresponding to the application program;
the first determining module is used for determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment; wherein the authorization identifier corresponding to the application program stored in the trusted execution environment is updated each time the application program is restarted;
and if so, authorizing the authority of the application program for performing trusted computing based on the private data.
15. The apparatus of claim 14, the apparatus further comprising:
the determining module is used for determining whether the authorization identifier corresponding to the application program stored in the trusted execution environment is updated;
and if so, releasing the authority of the application program for performing trusted computing based on the private data.
16. The apparatus of claim 15, the data authorization information further comprising authorization information corresponding to the private data;
the authorization module:
storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment; or storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment, and setting the authorization information to be in a valid state;
the release module:
deleting the authorization information stored in the trusted execution environment; or, the authorization information stored in the trusted execution environment is set to an invalid state.
17. The apparatus of claim 16, the data authorization information is digitally signed based on a private key of the data authorizer;
the first determination module:
before determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment, verifying a digital signature corresponding to the data authorization information based on a public key of the data authorizer stored in the trusted execution environment;
and if the verification is passed, determining whether the authorization identifier corresponding to the application program in the data authorization information is the same as the authorization identifier corresponding to the application program stored in the trusted execution environment.
18. The apparatus of claim 17, the authorization module to:
determining whether authorization information corresponding to the private data is stored in the trusted execution environment;
if not, storing authorization information corresponding to the private data in the data authorization information to the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
19. The apparatus of claim 18, the authorization information corresponding to the private data comprising an identity credential corresponding to the data authorizer;
the authorization module:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether an identity credential corresponding to the data authorizer in the data authorization information is the same as an identity credential corresponding to the data authorizer stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
20. The apparatus of claim 19, the identity credential comprising a public key of the data authority.
21. The apparatus of claim 18, the authorization information corresponding to the private data comprising a data identification corresponding to the private data;
the authorization module:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether a data identifier corresponding to the private data in the data authorization information is the same as a data identifier corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
22. The apparatus of claim 21, the data identification comprising a data digest corresponding to the private data.
23. The apparatus of claim 18, the authorization information corresponding to the private data comprising a data version corresponding to the private data;
the authorization module:
before updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information, determining whether a data version corresponding to the private data in the data authorization information is higher than a data version corresponding to the private data stored in the trusted execution environment;
if so, updating the authorization information corresponding to the private data stored in the trusted execution environment based on the authorization information corresponding to the private data in the data authorization information.
24. The apparatus of claim 14, the apparatus further comprising:
the second receiving module is used for receiving a data calling request aiming at the private data and sent by a data calling party;
a second determination module that determines whether authorization information corresponding to the private data is stored in the trusted execution environment; or, determining whether authorization information of a valid state corresponding to the private data is stored in the trusted execution environment;
and if so, triggering the application program to perform trusted computing based on the private data.
25. The apparatus of claim 24, the authorization information comprising: an authorization status;
the calculation module:
determining whether the authorization state in the authorization information is an authorized state;
if so, triggering the application program to perform trusted computing based on the private data.
26. The apparatus of claim 24, the authorization information comprising: the number of remaining authorizations;
the calculation module:
determining whether the remaining authorization times in the authorization information are greater than 0;
if yes, the application program is triggered to conduct trusted calculation based on the privacy data, and the number of remaining authorization times in the authorization information is reduced by 1.
27. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the method of any one of claims 1 to 13 by executing the executable instructions.
28. A computer readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the method of any one of claims 1 to 13.
CN202110371529.4A 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment Active CN112800436B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110371529.4A CN112800436B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment
CN202110711435.7A CN113268742B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment
PCT/CN2022/085256 WO2022213964A1 (en) 2021-04-07 2022-04-06 Data authorization method and apparatus, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110371529.4A CN112800436B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110711435.7A Division CN113268742B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment

Publications (2)

Publication Number Publication Date
CN112800436A CN112800436A (en) 2021-05-14
CN112800436B true CN112800436B (en) 2021-06-29

Family

ID=75816383

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110711435.7A Active CN113268742B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment
CN202110371529.4A Active CN112800436B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110711435.7A Active CN113268742B (en) 2021-04-07 2021-04-07 Data authorization method and device and electronic equipment

Country Status (2)

Country Link
CN (2) CN113268742B (en)
WO (1) WO2022213964A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268742B (en) * 2021-04-07 2022-05-24 支付宝(杭州)信息技术有限公司 Data authorization method and device and electronic equipment
CN113282891A (en) * 2021-06-28 2021-08-20 北京安天网络安全技术有限公司 Version authorization control method and device, computing equipment and storage medium
CN113946815B (en) * 2021-10-21 2022-08-26 深圳致星科技有限公司 Authorization method for federal learning and privacy computation
CN114143100B (en) * 2021-12-06 2022-06-14 粤港澳大湾区数字经济研究院(福田) Authorization control method, system, intelligent terminal and computer readable storage medium

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415564A (en) * 2014-06-05 2017-02-15 索尼公司 Dynamic configuration of trusted executed environment
CN106851365A (en) * 2015-12-03 2017-06-13 国家新闻出版广电总局广播科学研究院 A kind of condition receiving method and system for intelligent operating system
CN108702357A (en) * 2017-01-13 2018-10-23 华为技术有限公司 A kind of method, terminal device and service server authorizing authority migration
CN109885988A (en) * 2019-02-18 2019-06-14 四川迪佳通电子有限公司 Method for broadcasting multimedia file, multimedia equipment based on credible performing environment
CN110011956A (en) * 2018-12-12 2019-07-12 阿里巴巴集团控股有限公司 A kind of data processing method and device
CN110034924A (en) * 2018-12-12 2019-07-19 阿里巴巴集团控股有限公司 A kind of data processing method and device
CN110737905A (en) * 2019-09-19 2020-01-31 深圳市先河系统技术有限公司 Data authorization method, data authorization device and computer storage medium
CN110968743A (en) * 2019-12-13 2020-04-07 支付宝(杭州)信息技术有限公司 Data storage and data reading method and device for private data
CN111327643A (en) * 2020-05-15 2020-06-23 支付宝(杭州)信息技术有限公司 Multi-party data sharing method and device
CN111625809A (en) * 2020-05-31 2020-09-04 数字浙江技术运营有限公司 Data authorization method and device, electronic equipment and storage medium
CN111625829A (en) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 Application activation method and device based on trusted execution environment
CN111930846A (en) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 Data processing method, device and equipment
CN111932426A (en) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 Identity management method, device and equipment based on trusted hardware
CN112329071A (en) * 2020-12-16 2021-02-05 支付宝(杭州)信息技术有限公司 Privacy data processing method, system, device and equipment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104408371B (en) * 2014-10-14 2017-12-19 中国科学院信息工程研究所 A kind of implementation method based on credible performing environment high safety application system
CN106991298B (en) * 2016-01-21 2021-02-02 斑马智行网络(香港)有限公司 Access method of application program to interface, authorization request method and device
WO2018058441A1 (en) * 2016-09-29 2018-04-05 Nokia Technologies Oy Method and apparatus for trusted computing
US10579820B2 (en) * 2016-12-09 2020-03-03 Blackberry Limited Verified privacy mode devices
CN108268767A (en) * 2016-12-30 2018-07-10 北京国双科技有限公司 Web application authorization method and device
US10805349B2 (en) * 2017-03-29 2020-10-13 At&T Intellectual Property I, L.P. Method and system to secure and dynamically share IOT information cross multiple platforms in 5G network
CN108021823A (en) * 2017-12-04 2018-05-11 北京元心科技有限公司 Method, device and terminal for seamlessly running application program based on trusted execution environment
US11238449B2 (en) * 2017-12-18 2022-02-01 Nec Corporation Efficient validation of transaction policy compliance in a distributed ledger system
CN108319857B (en) * 2017-12-29 2020-12-18 北京握奇智能科技有限公司 Trusted application locking and unlocking method and system
CN111475827A (en) * 2019-11-08 2020-07-31 支付宝(杭州)信息技术有限公司 Private data query method and device based on down-link authorization
CN111737366B (en) * 2020-07-22 2021-01-12 百度在线网络技术(北京)有限公司 Private data processing method, device, equipment and storage medium of block chain
CN112287379B (en) * 2020-12-24 2021-08-20 北京百度网讯科技有限公司 Service data using method, device, equipment, storage medium and program product
CN113268742B (en) * 2021-04-07 2022-05-24 支付宝(杭州)信息技术有限公司 Data authorization method and device and electronic equipment

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415564A (en) * 2014-06-05 2017-02-15 索尼公司 Dynamic configuration of trusted executed environment
CN106851365A (en) * 2015-12-03 2017-06-13 国家新闻出版广电总局广播科学研究院 A kind of condition receiving method and system for intelligent operating system
CN108702357A (en) * 2017-01-13 2018-10-23 华为技术有限公司 A kind of method, terminal device and service server authorizing authority migration
CN110011956A (en) * 2018-12-12 2019-07-12 阿里巴巴集团控股有限公司 A kind of data processing method and device
CN110034924A (en) * 2018-12-12 2019-07-19 阿里巴巴集团控股有限公司 A kind of data processing method and device
CN109885988A (en) * 2019-02-18 2019-06-14 四川迪佳通电子有限公司 Method for broadcasting multimedia file, multimedia equipment based on credible performing environment
CN111625829A (en) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 Application activation method and device based on trusted execution environment
CN110737905A (en) * 2019-09-19 2020-01-31 深圳市先河系统技术有限公司 Data authorization method, data authorization device and computer storage medium
CN110968743A (en) * 2019-12-13 2020-04-07 支付宝(杭州)信息技术有限公司 Data storage and data reading method and device for private data
CN111327643A (en) * 2020-05-15 2020-06-23 支付宝(杭州)信息技术有限公司 Multi-party data sharing method and device
CN111625809A (en) * 2020-05-31 2020-09-04 数字浙江技术运营有限公司 Data authorization method and device, electronic equipment and storage medium
CN111930846A (en) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 Data processing method, device and equipment
CN111932426A (en) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 Identity management method, device and equipment based on trusted hardware
CN112329071A (en) * 2020-12-16 2021-02-05 支付宝(杭州)信息技术有限公司 Privacy data processing method, system, device and equipment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于可信执行环境的安全模型》;刘声乐;《中国优秀硕士学位论文全文数据库》;20200115;第2020年卷(第1期);第I138-208页 *
《移动终端可信执行环境及其管理平台的设计与实现》;薛皓;《中国优秀硕士学位论文全文数据库》;20180415;第2018年卷(第4期);第I138-120页 *

Also Published As

Publication number Publication date
CN112800436A (en) 2021-05-14
CN113268742A (en) 2021-08-17
WO2022213964A1 (en) 2022-10-13
CN113268742B (en) 2022-05-24

Similar Documents

Publication Publication Date Title
CN112800436B (en) Data authorization method and device and electronic equipment
CA3057331C (en) Method and apparatus for processing transaction requests
US10419216B2 (en) Keying infrastructure
CN109313690B (en) Self-contained encrypted boot policy verification
EP3961974B1 (en) Block content editing methods and apparatuses
JP6371919B2 (en) Secure software authentication and verification
EP2748752B1 (en) Digital signing authority dependent platform secret
CN108229144B (en) Verification method of application program, terminal equipment and storage medium
CN113343234B (en) Method and device for carrying out credible check on code security
TW201539240A (en) Data erasure of a target device
CN113704211B (en) Data query method and device, electronic equipment and storage medium
CN111932261A (en) Asset data management method and device based on verifiable statement
CN112990925B (en) Asset certificate management method and device
CN111382425A (en) Application installation management method under multi-signature mechanism, intelligent terminal and storage medium
CN111600882A (en) Block chain-based account password management method and device and electronic equipment
CN112632476A (en) Algorithm authorization protection method and device, integrated circuit chip and electronic equipment
CN111639353B (en) Data management method and device, embedded equipment and storage medium
CN111046440B (en) Tamper verification method and system for secure area content
KR102625023B1 (en) Secure data processing
US20220284088A1 (en) Authentication of write requests
CN111461721A (en) Block chain-based method and device for protecting account and verifying transaction
CN112800488A (en) Application upgrading method and device and electronic equipment
CN116089967B (en) Data rollback prevention method and electronic equipment
EP3542274A1 (en) Systems and methods for performing secure backup operations
KR20220062866A (en) Network camera and method for providing security service thereof

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