WO2023207758A1 - 数据处理方法及装置 - Google Patents

数据处理方法及装置 Download PDF

Info

Publication number
WO2023207758A1
WO2023207758A1 PCT/CN2023/089573 CN2023089573W WO2023207758A1 WO 2023207758 A1 WO2023207758 A1 WO 2023207758A1 CN 2023089573 W CN2023089573 W CN 2023089573W WO 2023207758 A1 WO2023207758 A1 WO 2023207758A1
Authority
WO
WIPO (PCT)
Prior art keywords
security
data
environment
connection
target
Prior art date
Application number
PCT/CN2023/089573
Other languages
English (en)
French (fr)
Inventor
韩泽锋
付更生
杜小强
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023207758A1 publication Critical patent/WO2023207758A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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

Definitions

  • the embodiments of the present application relate to the field of terminal technology, and in particular, to a data processing method and device.
  • Electronic devices such as mobile phones, tablets, etc.
  • servers are generally equipped with a secure environment, such as a trusted execution environment (TEE) or a confidential computing environment.
  • Electronic devices or servers provide secure services (such as secure storage, security keys, secure encryption and decryption, secure drivers, etc.) through a secure environment, and protect data security during the operation of secure services.
  • TEE trusted execution environment
  • secure services such as secure storage, security keys, secure encryption and decryption, secure drivers, etc.
  • embodiments of the present application provide a data processing method and device.
  • the technical solution provided by the embodiments of this application enables different devices to borrow the security capabilities of other devices through the connection by establishing connections between the security environments of different devices, thereby improving the processing capabilities of the device security environment, thereby improving the user experience. .
  • a data processing method applied to a first device, the first device establishes a first connection with one or more second devices, the first device includes a first security environment, and one or more second devices One or more second security environments corresponding to one or more second devices are included.
  • the method includes: determining a target second security environment including a first security capability in one or more second security environments; wherein the first security capability is used to process first data to be processed in the first security environment.
  • the first data is sent to the target second security environment through the second connection, and the second connection is a connection between the first security environment and the target second security environment.
  • the second connection is a connection between the first security environment and the target second security environment.
  • a first processing result of the first data is received, where the first processing result is a processing result generated after processing the first data through the first security capability.
  • the security environments of various devices in the communication system are integrated into a super secure environment. Therefore, as long as the security capabilities of the ultra-secure environment to process the data to be processed are available, the devices in the communication system can process the data to be processed.
  • the security capabilities and security resources of different devices can be shared. Moreover, on the basis of ensuring data security, there is no need to adapt REE in advance (that is, there is no need to customize the application capabilities on the REE side). Without the user's awareness, the security capabilities of other devices can be adaptively called to meet user needs. , Reduce user operation difficulty.
  • determining the target second security environment including the first security capability in one or more second security environments with the first data to be processed in the first security environment includes: obtaining the first security capability information,
  • the first security capability information includes one or more security capabilities included in the second security environment.
  • the first device after determining the first data to be processed in the first security environment, determines that its security capabilities in the first security environment are insufficient to process the first data. Therefore, the first device needs to call the security capabilities in the second security environment of other second devices to process or assist in processing the first data. Based on this, the first device needs to obtain the security capabilities of the second security environment of each second device (that is, determine the security capabilities by acquiring security capability information), thereby determining the required second security capabilities of some or all of the second devices.
  • the first device may determine the target second security environment configured with the first security capability for processing the first data, and send the first data to the target second security environment including the target second security environment for processing. This can meet data processing needs in a secure environment and improve user experience.
  • sending the first data to be processed in the first security environment to one or more second security environments through the second connection includes the first security Before the target second security environment of the capability is provided, the method further includes: negotiating with the target second device including the target second security environment a first key for data transmission between the first security environment and the target second security environment, the first key Used to encrypt the first data and the first processing result transmitted through the second connection.
  • the first device in order to ensure the security of data transmission between security environments, after determining that the first security capability in the target second security environment of the target second device needs to be used, the first device can communicate with the target second device. Negotiate the first key used to transmit data.
  • the method further includes: deleting the first key.
  • the method further includes: determining that the target second security environment includes a second security capability, and the second security capability is used to process the second security capability to be processed in the first security environment. data.
  • the target second device a second key for data transmission between the first security environment and the target second security environment. The second key is used to encrypt the second data transmitted through the second connection and the second key corresponding to the second data. process result.
  • the method before obtaining the first security capability information, further includes: receiving one or more third messages sent by one or more second devices through the first connection. 2.
  • the first information about the safety environment. Based on the first information, one or more second security environments are determined to be safe. Establish a secure connection between the first security environment and one or more second security environments respectively.
  • the secure connection is used to obtain the first security capability information of one or more second devices.
  • the second connection is in the secure connection. The connection corresponding to the target second security environment.
  • the first device and the second device determine the security between the first security environment and the second security environment by exchanging device certificates. Afterwards, a secure connection between secure environments can be established. Subsequently, the security capabilities of other devices can be called through secure connections to realize security capability sharing in distributed scenarios.
  • the method further includes: sending second security capability information of the security capabilities included in the first security environment to one or more second devices through a secure connection.
  • the first device sends security capability information including security capabilities of the first security environment to one or more second devices through the first connection.
  • obtaining security capability information includes: obtaining locally stored first security capability information. And/or, obtain the first security capability information sent by the central node.
  • the locally stored security capability information or the security capability information stored by the central node includes second security capability information corresponding to the first device, and first security capability information corresponding to one or more second devices.
  • the method further includes: sending second security capability information of the security capability included in the first security environment to the central node.
  • the first device and one or more second devices in the communication system can share security capability information in a variety of ways, so that each device can subsequently share security capabilities.
  • the method further includes: disconnecting the first connection with the target second device including the target second security environment. Delete the security capability information of the target second security environment of the target second device in the security capability information.
  • the synchronous update of the security capability information in the communication system is ensured, and the synchronized security capability information is prevented from including the security capability information of the device that is no longer connected to the communication system, causing other devices to fail to call the security capability of the device.
  • the security capabilities included in one or more second security environments include: security capabilities of secure applications running in one or more second security environments, and/or secure state services supported by one or more secondary security environments.
  • the first security environment or the second security environment is a trusted execution environment TEE or a confidential computing environment.
  • the method before obtaining the first security capability information, further includes: detecting the first operation of the user. Determine the data to be processed of the first service corresponding to the first operation. The first data is determined according to the data to be processed of the first service. Or, get a second business. Determine the first data among the to-be-processed data of the second service.
  • the first device is an electronic device or a server.
  • the first security capability may be the security capability of a complete secure application in the target second security environment of the target second device, or may be a partial capability of the secure application (such as a secure service).
  • each device is abstracted and security services are segmented. Multiple devices cooperate to process security services through their own security capabilities, thereby making full use of the security capabilities of each device.
  • a data processing method is provided, applied to a second device, the second device establishes a first connection with the first device, the second device includes a second security environment, and the first device includes a first security environment.
  • the method includes: through a second connection, the second security environment in the second device receives the first data sent by the first security environment in the first device, and the second connection is between the first security environment and the second security environment. Connection, the first data is data to be processed in the first security environment. The first data is processed through the first security capability to obtain a first processing result. The first processing result is sent to the first security environment through the second connection.
  • the method before the second security environment in the second device receives the first data sent by the first security environment in the first device through the second connection, the method further includes: negotiating the first security environment with the first device The first key for data transmission between the second secure environment and the second secure environment. The first key is used to encrypt the first data and the first processing result.
  • the method before processing the first data through the first security capability, the method further includes: determining that the first device has the authority to invoke the first security capability.
  • the target second security environment of the target second device may also be configured with a permission confirmation module for determining whether the first device has the permission to invoke the first security capability.
  • the service label carried in the first data sent by the first device may also include the device identification of the first device, and the target second device may determine the authority of the first device based on the device identification. After determining that it has the authority to invoke the first security capability, the target second device processes the acquired first data through the first security capability.
  • the first data carries a service tag corresponding to the first data; before processing the first data through the first security capability to obtain the first processing result, the method further includes : Based on the service label, determine the first security capability corresponding to the service label.
  • the service tag of the first data includes, for example, the security capability to be used, the credentials of the security capability, and other information.
  • the first data carries a service label of the first data
  • the target second device can determine the first security capability for processing the first data based on the service label. Afterwards, the target second device processes the first data through the first security capability in the target second security environment, and obtains the first processing result of the first data.
  • a data processing device in a third aspect, includes: a processor and a memory.
  • the memory is coupled to the processor.
  • the memory is used to store computer readable instructions.
  • the data processing device executes: determining one or more
  • the second security environment includes a target second security environment with a first security capability; wherein the first security capability is used to process the first data to be processed in the first security environment.
  • the first data is sent to the target second security environment through the second connection, and the second connection is a connection between the first security environment and the target second security environment.
  • the second connection is a connection between the first security environment and the target second security environment.
  • a first processing result of the first data is received, where the first processing result is a processing result generated after processing the first data through the first security capability.
  • determining the target second security environment including the first security capability in one or more second security environments with the first data to be processed in the first security environment includes: obtaining the first security capability information,
  • the first security capability information includes one or more security capabilities included in the second security environment.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing apparatus to perform the following operations: communicate with the target second security environment including the target second security environment.
  • the device negotiates a first key for data transmission between the first security environment and the target second security environment, and the first key is used to encrypt the first data and the first processing result transmitted through the second connection.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing device to perform the following operations: delete the first key.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing apparatus to perform the following operations: determine that the target second security environment includes the second security capability , the second security capability is used to process the second data to be processed in the first security environment.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing apparatus to perform the following operations: determine that the target second security environment includes the second security capability , the second security capability is used to process the second data to be processed in the first security environment.
  • the target second device a second key for data transmission between the first security environment and the target second security environment.
  • the second key is used to encrypt the second data transmitted through the second connection and the second key corresponding to the second data. process result.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing apparatus to perform the following operations: receiving one or more first connections through the first connection.
  • the second device sends the first information of one or more second security environments. Based on the first information, one or more second security environments are determined to be safe.
  • the secure connection is used to obtain the first security capability information of one or more second devices.
  • the second connection is in the secure connection.
  • the connection corresponding to the target second security environment.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing device to perform the following operations: transmit data to one or more second parties through a secure connection.
  • the device sends second security capability information of security capabilities included in the first security environment.
  • obtaining security capability information includes: obtaining locally stored security capability information. And/or, obtain the security capability information sent by the central node.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing device to perform the following operations: sending the security information included in the first security environment to the central node. Secondary security capability information for the capability.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing device to perform the following operations: disconnect from the target including the target second security environment. The first connection between the second device. Delete the security capability information of the target second security environment of the target second device in the security capability information.
  • the security capabilities included in one or more second security environments include: the security capabilities of secure applications running in one or more second security environments, and/or secure state services supported by one or more secondary security environments.
  • the first security environment or the second security environment is a trusted execution environment TEE or a confidential computing environment.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing device to perform the following operations: detecting the user's first operation. Determine the data to be processed of the first service corresponding to the first operation. The first data is determined according to the data to be processed of the first service. Or, get a second business. Determine the first data among the to-be-processed data of the second service.
  • a fourth aspect provides a data processing device.
  • the data processing device includes: a processor and a memory.
  • the memory is coupled to the processor.
  • the memory is used to store computer readable instructions.
  • the data processing device executes: through the second connection,
  • the second security environment in the second device receives the first data sent by the first security environment in the first device.
  • the second connection is the connection between the first security environment and the second security environment.
  • the first data is the first security environment. Data to be processed in the environment.
  • the first data is processed through the first security capability to obtain a first processing result.
  • the first processing result is sent to the first security environment through the second connection.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing apparatus to perform the following operations: negotiate with the first device a first key for data transmission between the first security environment and the second security environment. , the first key is used to encrypt the first data and the first processing result.
  • the processor when the processor reads the computer-readable instructions from the memory, it also causes the data processing apparatus to perform the following operations: determining that the first device has the ability to invoke the first security capability. permissions.
  • the first data carries the service tag corresponding to the first data; when the processor reads the computer-readable instructions from the memory, it also causes the data processing device to perform the following operations : Based on the service label, determine the first security capability corresponding to the service label.
  • embodiments of the present application provide a data processing device that has the function of implementing the data processing method described in the above first aspect and any possible implementation manner.
  • This function can be implemented by hardware, or can be implemented by hardware and corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • embodiments of the present application provide a data processing device that has the function of implementing the data processing method described in the above second aspect and any possible implementation manner thereof.
  • This function can be implemented by hardware, or can be implemented by hardware and corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions.
  • a computer-readable storage medium stores a computer program (which may also be referred to as instructions or codes).
  • the computer program When the computer program is executed by a data processing device, it causes the data processing device to perform the method of the first aspect or any one of the embodiments of the first aspect. ; Or, causing the data processing device to execute the second aspect or the method of any one of the implementation modes of the second aspect.
  • embodiments of the present application provide a computer program product, which when the computer program product is run on a data processing device, causes the data processing device to execute the method of the first aspect or any one of the implementation modes in the first aspect; or, The data processing apparatus is caused to execute the method of the second aspect or any one of the implementation modes of the second aspect.
  • inventions of the present application provide a circuit system.
  • the circuit system includes a processing circuit.
  • the processing circuit is configured to execute the method of the first aspect or any one of the implementation modes of the first aspect; or, the processing circuit is configured to execute The method of the second aspect or any one of the second aspects.
  • embodiments of the present application provide a chip system, including at least one processor and at least one interface circuit.
  • the at least one interface circuit is used to perform transceiver functions and send instructions to at least one processor.
  • at least one processor When at least one processor When executing instructions, at least one processor performs the first aspect or the method of any one implementation of the first aspect; or, at least one processor performs the second aspect or the method of any one implementation of the second aspect.
  • Figure 1 is a schematic diagram of an ARM TrustZone system architecture provided by an embodiment of this application.
  • Figure 2 is a schematic diagram of a communication system applied to a data processing method provided by an embodiment of the present application
  • Figure 3A is a schematic diagram of the hardware structure of the first device provided by the embodiment of the present application.
  • Figure 3B is a schematic diagram 2 of the hardware structure of the first device provided by the embodiment of the present application.
  • Figure 4 is a schematic diagram of a method for establishing a secure connection during data processing provided by an embodiment of the present application
  • FIG. 5 is a schematic diagram of module interaction provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram 1 of the data processing method provided by the embodiment of the present application.
  • FIG. 7 is a schematic diagram 2 of the data processing method provided by the embodiment of the present application.
  • Figure 8 is a schematic diagram three of the data processing method provided by the embodiment of the present application.
  • FIG. 9 is a schematic diagram 4 of the data processing method provided by the embodiment of the present application.
  • Figure 10 is a schematic structural diagram of the first device provided by the embodiment of the present application.
  • Figure 11 is a schematic structural diagram of the second device provided by the embodiment of the present application.
  • a secure environment is set up in electronic devices (such as mobile phones, tablets, etc.) or servers, including a trusted execution environment (TEE) or a confidential computing environment, and private information or secrets are processed in a secure environment. information to protect the security of private or secret information of individuals or devices.
  • electronic devices such as mobile phones, tablets, etc.
  • servers including a trusted execution environment (TEE) or a confidential computing environment
  • TEE trusted execution environment
  • private information or secrets are processed in a secure environment. information to protect the security of private or secret information of individuals or devices.
  • electronic devices based on ARM TrustZone include rich execution environment (rich execution environment, REE) and TEE.
  • REE is also called ordinary execution environment, including rich execution environment operating system (REE OS) and client application (CA) running on general-purpose processors.
  • EEE non-security services are based on CA's Form runs on REE OS.
  • the capabilities of a CA can be abstracted as Ability, and a CA can have multiple capabilities, that is, include multiple Abilities.
  • Ability can include functional ability (Feature Ability, FA) and atomic ability (atomic Ability, AA).
  • FA at the application layer is used to provide users with services available at the top level of electronic equipment.
  • FA consists of 1 to N AAs.
  • AAs provide basic service capabilities for FA to call.
  • FA arranges and assembles AAs to complete the services instructed by the user.
  • TEE is also called a secure execution environment. It can run a trusted execution environment operating system (TEE OS) and provide CA with trustworthy security services (TService, such as secure storage, security keys, secure encryption and decryption). , security driver, etc.), these secure services can run on the TEE OS in the form of a trust application (TA) (also known as a secure application).
  • TEE OS trusted execution environment operating system
  • TService trustworthy security services
  • TA trust application
  • CA in order to ensure data security, after CA obtains the business, it will send an operation request to TA in a fixed command format. After TA parses the command code, it can only process secure data within the TEE, which will lead to Security data cannot be circulated.
  • TEE security capabilities of TA and security services in TEE are solidified. Electronic devices can only use the security capabilities in their own TEE to process security data. If the electronic device's own security capabilities cannot process it, the business processing will fail.
  • TA in TEE cannot run across devices. If the local resources required by TA are insufficient, TA cannot be loaded and run, resulting in business failure.
  • electronic device 1 and electronic device 2 can establish a communication connection of REE.
  • electronic device 1 triggers the service at the application layer (FA1), it determines that the security capability in its own TEE cannot handle the current service, and then sends the service indication to electronic device 2 for processing through interaction at the service layer (AA1 and AA2).
  • FA1 application layer
  • electronic device 1 receives a face recognition request and its own TEE does not have face recognition capabilities.
  • the electronic device 2 collects the user's face, and performs face recognition processing in the TEE of the electronic device 2 .
  • electronic device 2 sends the processing result to electronic device 1, so that electronic device 1 can respond to the user's service request.
  • the above method essentially forms a function sharing network on the REE side, which is inconvenient for users to operate. Moreover, since services need to be processed according to the requests of other electronic devices, each security capability needs to be adapted in advance on the REE side, and cannot be automatically sensed based on the required business capabilities.
  • embodiments of the present application provide a data processing method that establishes a security environment sharing network by establishing connections between security environments of different devices, so that different devices can borrow the security capabilities of other devices through the connection, thereby improving device security. environment processing capabilities, thereby improving the user experience.
  • FIG. 2 is a schematic diagram of a communication system in which the data processing method provided by the embodiment of the present application is applied.
  • the communication system includes a first device 100 and a second device 200 .
  • the number of second devices 200 is one or more.
  • the first device 100 or the second device 200 may be an electronic device or a server.
  • the first device 100 is an electronic device (such as a mobile phone), and the second device 200 includes multiple electronic devices and multiple servers.
  • the first device 100 is a server, and the second device 200 includes a server and multiple electronic devices.
  • the first device 100 or the second device 200 may be an electronic device or server based on the ARM TrustZone architecture, or may be an electronic device or server based on the ARM Confidential Compute Architecture (Arm Confidential Compute Architecture, Arm CCA) architecture.
  • ARM Confidential Compute Architecture Arm Confidential Compute Architecture, Arm CCA
  • the security environment configured in the first device 100 or the second device 200 based on the ARM TrustZone architecture is TEE
  • the security environment configured in the first device 100 or the second device 200 based on the ARM CCA architecture is a confidential computing environment.
  • the first device 100 or the second device 200 may be, for example, a mobile phone, a tablet computer, a notebook computer, a large-screen device, or a super mobile personal computer ( Terminal devices such as ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDAs), wearable devices, and artificial intelligence (artificial intelligence) devices.
  • Terminal devices such as ultra-mobile personal computers (UMPC), netbooks, personal digital assistants (PDAs), wearable devices, and artificial intelligence (artificial intelligence) devices.
  • the operating systems installed on the first electronic device 100 include but are not limited to or other operating systems. This application does not limit the specific type of the first device 100 or the second device 200 or the operating system installed.
  • the first device 100 or the second device 200 when the first device 100 or the second device 200 is a server, the first device 100 or the second device 200 may be a device or network device with computing functions such as a cloud server or a network server.
  • the first device 100 or the second device 200 may be a server, a server cluster composed of multiple servers, or a cloud computing service center.
  • a communication connection is established between the first device 100 and the second device 200, and the communication connection may be a wireless communication connection or a wired communication connection.
  • the wireless communication technology for establishing a wireless communication connection includes but is not limited to at least one of the following: Bluetooth (bluetooth, BT) (for example, traditional Bluetooth or low-power (bluetooth low energy, BLE) Bluetooth), wireless local area network (wireless local area network) area networks, WLAN) (such as wireless fidelity (Wi-Fi) network), near field communication (NFC), Zigbee, frequency modulation (FM), infrared , IR) etc.
  • both the first device 100 and the second device 200 support the proximity discovery function.
  • the first device 100 or the second device 200 can discover each other, and then establish a Wi-Fi peer to peer (P2P) connection or a Bluetooth connection. Wait for wireless communication to connect.
  • P2P Wi-Fi peer to peer
  • the first device 100 or the second device 200 establishes a wireless communication connection through a local area network.
  • the first device 100 or the second device 200 are both connected to the same router.
  • the first device 100 or the second device 200 establishes a wireless communication connection through a cellular network, the Internet, etc.
  • the first device 100 accesses the cellular network through a router, and the second device 200 accesses the Internet through the cellular network; then, the first device 100 or the second device 200 establishes a wireless communication connection.
  • the first device 100 or the second device 200 can also establish a wireless communication connection through a third-party device in the local area network.
  • the third-party device is, for example, a router, a gateway, a smart device controller, a server, etc.
  • the first device 100 establishes a wired communication connection with the second device 200 through a USB interface connection.
  • FIG. 3A shows a schematic structural diagram in the case where the first device 100 is an electronic device.
  • the first device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2.
  • Mobile communication module 150 wireless communication module 160, audio module 170, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 195 etc.
  • SIM subscriber identification module
  • the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the first device 100 .
  • the first device 100 may include more or fewer components than shown in the figures, or combine some components, or split some components, or arrange different components.
  • the components illustrated may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units.
  • the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (GPU), and an image signal processor. (image signal processor, ISP), controller, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural-network processing unit, NPU), etc.
  • application processor application processor, AP
  • modem processor graphics processing unit
  • GPU graphics processing unit
  • image signal processor image signal processor
  • ISP image signal processor
  • controller video codec
  • digital signal processor digital signal processor
  • DSP digital signal processor
  • baseband processor baseband processor
  • neural network processor neural-network processing unit
  • the controller can generate operation control signals based on the instruction operation code and timing signals to complete the control of fetching and executing instructions.
  • the processor 110 may also be provided with a memory for storing instructions and data.
  • the memory in processor 110 is cache memory. This memory may hold instructions or data that have been recently used or recycled by processor 110 . If the processor 110 needs to use the instructions or data again, it can be called directly from the memory. Repeated access is avoided and the waiting time of the processor 110 is reduced, thus improving the efficiency of the system.
  • processor 110 may include one or more interfaces.
  • Interfaces may include integrated circuit (inter-integrated circuit, I2C) interface, integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, pulse code modulation (pulse code modulation, PCM) interface, universal asynchronous receiver and transmitter (universal asynchronous receiver/transmitter (UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, subscriber identity module (SIM) interface, and /or universal serial bus (USB) interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • UART universal asynchronous receiver and transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM subscriber identity module
  • USB universal serial bus
  • the I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (derail clock line, SCL).
  • processor 110 may include multiple sets of I2C buses.
  • the processor 110 can separately couple the touch sensor, charger, flash, camera 193, etc. through different I2C bus interfaces.
  • the processor 110 can be coupled to a touch sensor through an I2C interface, so that the processor 110 and the touch sensor communicate through an I2C bus interface to implement the touch function of the first device 100 .
  • the MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193 .
  • MIPI interfaces include camera serial interface (CSI), display serial interface (DSI), etc.
  • the processor 110 and the camera 193 communicate through the CSI interface to implement the shooting function of the first device 100 .
  • the processor 110 and the display screen 194 communicate through the DSI interface to implement the display function of the first device 100 .
  • the USB interface 130 is an interface that complies with the USB standard specification, and may be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc.
  • the USB interface 130 can be used to connect a charger to charge the first device 100, and can also be used to transmit data between the first device 100 and peripheral devices. It can also be used to connect headphones to play audio through them. This interface can also be used to connect other first electronic devices, such as AR devices.
  • the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the first device 100 .
  • the first device 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
  • the charging management module 140 is used to receive charging input from the charger.
  • the charger can be a wireless charger or a wired charger.
  • the charging management module 140 may receive charging input from the wired charger through the USB interface 130 .
  • the charging management module 140 may receive wireless charging input through the wireless charging coil of the first device 100 . While charging the battery 142, the charging management module 140 can also provide power to the first electronic device through the power management module 141.
  • the power management module 141 is used to connect the battery 142, the charging management module 140 and the processor 110.
  • the power management module 141 receives input from the battery 142 and/or the charging management module 140, and supplies power to the processor 110, the internal memory 121, the display screen 194, the camera 193, the wireless communication module 160, and the like.
  • the power management module 141 can also be used to monitor battery capacity, battery cycle times, battery health status (leakage, impedance) and other parameters.
  • the power management module 141 may also be provided in the processor 110 .
  • the power management module 141 and the charging management module 140 may also be provided in the same device.
  • the wireless communication function of the first device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in the first device 100 may be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example: Antenna 1 can be reused as a diversity antenna for a wireless LAN. In other embodiments, antennas may be used in conjunction with tuning switches.
  • the mobile communication module 150 can provide solutions for wireless communication including 2G/3G/4G/5G applied on the first device 100 .
  • the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc.
  • the mobile communication module 150 can receive electromagnetic waves through the antenna 1, perform filtering, amplification and other processing on the received electromagnetic waves, and transmit them to the modem processor for demodulation.
  • the mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves through the antenna 1 for radiation.
  • at least part of the functional modules of the mobile communication module 150 may be disposed in the processor 110 .
  • at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 may be provided in the same device.
  • a modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal.
  • the demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the application processor outputs sound signals through the audio device, or displays images or videos through the display screen 194 .
  • the modem processor may be a stand-alone device.
  • the modem processor may be independent of the processor 110 and may be provided in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide applications on the first device 100 including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) network), Bluetooth (bluetooth, BT), and global navigation. Satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2 , frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 .
  • the wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves through the antenna 2 for radiation.
  • the first device 100 establishes a communication connection with the second device 200 through the mobile communication module 150 or the wireless communication module 160. Subsequently, the first device 100 can exchange device information with the second device 200 through a communication connection, thereby establishing a secure connection between the security environments of the two devices. Furthermore, based on the secure connection between security environments, the first device 100 can call the security capabilities of the second device 200 to process data to be processed in its own security environment.
  • the antenna 1 of the first device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the first device 100 can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi) -zenith satellite system (QZSS) and/or satellite based augmentation systems (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite based augmentation systems
  • the first device 100 implements display functions through a GPU, a display screen 194, an application processor, and the like.
  • the GPU is an image processing microprocessor and is connected to the display screen 194 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
  • the display screen 194 is used to display images, videos, etc.
  • Display 194 includes a display panel.
  • the display panel can use a liquid crystal display (LCD), such as an organic light-emitting diode (OLED), an active matrix organic light emitting diode or an active matrix organic light emitting diode (active-matrix).
  • LCD liquid crystal display
  • OLED organic light-emitting diode
  • active-matrix active matrix organic light emitting diode
  • AMOLED organic light emitting diodes
  • FLED flexible light-emitting diodes
  • Mini-led Micro-led
  • Micro-oled quantum dot light emitting diodes
  • QLED quantum dot light emitting diodes
  • the first device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
  • Camera 193 is used to capture still images or video.
  • the object passes through the lens to produce an optical image that is projected onto the photosensitive element.
  • the photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the optical signal into an electrical signal, and then passes the electrical signal to the ISP to convert it into a digital image signal.
  • ISP outputs digital image signals to DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other format image signals.
  • the first device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
  • the external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the first device 100.
  • the external memory card communicates with the processor 110 through the external memory interface 120 to implement the data storage function. Such as saving music, videos, etc. files in external memory card.
  • Internal memory 121 may be used to store computer executable program code, which includes instructions.
  • the internal memory 121 may include a program storage area and a data storage area.
  • the stored program area can store an operating system, at least one application program required for a function (such as a sound playback function, an image playback function, etc.).
  • the storage data area may store data created during use of the first device 100 (such as audio data, phone book, etc.).
  • the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
  • the processor 110 executes various functional applications and data processing of the first device 100 by executing instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor.
  • the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. Audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be provided in the processor 110 , or some functional modules of the audio module 170 may be provided in the processor 110 . The first device 100 can perform music playback, recording, etc. through the audio module 170 .
  • the audio module 170 may include a speaker, a receiver, a microphone, a headphone interface, and an application processor to implement audio functions.
  • the sensor module 180 may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, and the like.
  • the buttons 190 include a power button, a volume button, etc.
  • Key 190 may be a mechanical key. It can also be a touch button.
  • the first device 100 may receive key input and generate key signal input related to user settings and function control of the first device 100 .
  • the motor 191 can generate vibration prompts.
  • the motor 191 can be used for vibration prompts for incoming calls and can also be used for touch vibration feedback.
  • touch operations for different applications can correspond to different vibration feedback effects.
  • the motor 191 can also respond to different vibration feedback effects for touch operations in different areas of the display screen 194 .
  • Different application scenarios such as time reminders, receiving information, alarm clocks, games, etc.
  • the touch vibration feedback effect can also be customized.
  • the indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, or may be used to indicate messages, missed calls, notifications, etc.
  • the SIM card interface 195 is used to connect a SIM card.
  • the SIM card can be connected to or separated from the first device 100 by inserting it into the SIM card interface 195 or pulling it out from the SIM card interface 195 .
  • the first device 100 may support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
  • FIG. 3B shows a schematic structural diagram in the case where the first device 100 is a server.
  • the first device 100 includes at least one processor 201, a communication line 202, a memory 203 and at least one communication interface 204.
  • the memory 203 may also be included in the processor 201.
  • the processor 201 can be a general central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more processors used to control the execution of the program of the present application. integrated circuit.
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • Communication line 202 may include a path for communicating information between the above-mentioned components.
  • Communication interface 204 is used to communicate with other devices.
  • the communication interface may be a module, a circuit, a bus, an interface, a transceiver, or other devices that can implement communication functions for communicating with other devices.
  • the transceiver can be an independently configured transmitter, which can be used to send information to other devices.
  • the transceiver can also be an independently configured receiver, which can be used to receive information from other devices. The device receives the information.
  • the transceiver may also be a component that integrates the functions of sending and receiving information. The embodiments of this application do not limit the specific implementation of the transceiver.
  • the memory 203 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (random access memory (RAM)) or other type that can store information and instructions.
  • a dynamic storage device can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disk storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be used by a computer Any other medium for access, but not limited to this.
  • the memory may exist independently and be connected to the processor through the communication line 202 . Memory can also be integrated with the processor.
  • the memory 203 is used to store computer execution instructions for implementing the solution of the present application, and is controlled by the processor 201 for execution.
  • the processor 201 is used to execute computer execution instructions stored in the memory 203, thereby implementing the data processing method provided by the following embodiments of the present application.
  • the computer execution instructions in the embodiments of the present application may also be called application codes, instructions, computer programs or other names, which are not specifically limited in the embodiments of the present application.
  • the processor 201 may include one or more CPUs, such as CPU0 and CPU1 in Figure 3B.
  • the first device 100 may include multiple processors, such as the processor 201 and the processor 207 in FIG. 3B. Each of these processors may be a single-CPU processor or a multi-CPU processor.
  • a processor here may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the first device 100 may also include an output device 205 and an input device 206.
  • Output device 205 communicates with processor 201 and can display information in a variety of ways.
  • the output device 205 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector.
  • Input device 206 communicates with processor 201 and may receive user input in a variety of ways.
  • the input device 206 may be a mouse, a keyboard, a touch screen device, a sensing device, or the like.
  • the following takes the first device 100 as the first device, the second device 200 as the second device, and the first device and the second device as devices based on the ARM TrustZone architecture as an example to introduce the data processing method provided by the embodiment of the present application in detail. It should be noted that the data processing method of the device based on the ARM CCA architecture can refer to the data processing method described in the following embodiments.
  • FIG. 4 is a schematic flowchart of a method for establishing a secure connection during data processing provided by an embodiment of the present application. As shown in Figure 4, the method includes the following steps.
  • the first device obtains first information of one or more second security environments through a first connection with one or more second devices.
  • the first device includes a first security environment
  • the second security device includes a second security environment
  • the first security environment or the second security environment is a TEE based on ARM TrustZone architecture, or a confidential computing based on ARM CCA environment, or a security environment based on other architectures.
  • a first connection is established between the first device and the second device.
  • the first connection is a connection for communication between electronic devices or servers, such as a Wi-Fi connection, a Bluetooth connection, and an NFC connection. wait.
  • a common connection ie, a first connection for exchanging device information needs to be established.
  • the first information is a device certificate, for example, including TEE ID, TEE version information, TEE certificate information, TEE OS version information, chip architecture information, supported device type information of TEE OS, and complete TEE OS code Performance measurement value (such as signature hash value), TEE OS manufacturer information, security level, etc.
  • the first device includes REE 51 and TEE 52
  • one or more second devices includes a target second device
  • the target second device includes REE 53 and TEE 54
  • the TEE 52 of the first device includes a device certificate management module 521
  • the TEE 54 of the target second device also includes a device certificate management module 541.
  • the device certificate management module is used to manage device certificates.
  • the first device when it determines to establish a secure connection with the target second device, it may send a secure connection establishment request to the target second device, and the secure connection establishment request may carry its own security managed by the device certificate management module 521
  • the device certificate of the environment is used to exchange the device certificate with the target second device to verify the security of the security environment of both parties.
  • the device certificate management module 521 in the first device can send the device certificate of the first device to the second device through the first connection, and pass the first connection to the second device.
  • the connection receives the device certificate (such as the first information) of the second device sent by the device certificate management module 541 of the second device.
  • the first device does not temporarily interact with device certificates after establishing the first connection (that is, the first device does not temporarily establish a secure connection between secure environments). Subsequently, in response to the user's instruction to perform a security service operation (such as detecting a service that needs to be processed on the TEE side on the REE side), the first device then exchanges device certificates with one or more second devices through the first connection.
  • a security service operation such as detecting a service that needs to be processed on the TEE side on the REE side
  • the first device does not temporarily interact with device certificates after establishing the first connection. Subsequently, after detecting the user's instruction to perform a security service operation, the first device determines that it does not have the security capability to process the security service. The first device displays an interface prompt message to prompt the user whether the security service needs to be processed through the security capabilities of other devices. In response to the user's instruction to invoke the security capabilities of the other device, the first device then interacts with the device certificate with one or more second devices through the first connection.
  • the first device determines that one or more second security environments are safe based on the first information.
  • the first device after the first device obtains the first information of the TEE of the second device (such as the device certificate of the second device) through the first connection, it can determine the second security environment (That is, whether the TEE of the second device is safe.
  • the first device determines that the code is complete based on the signature hash value (hash) based on the first information and determines that the second security environment has not been modified, and can determine that the second security environment is safe.
  • the signature hash value hash
  • the first device establishes a secure connection between the first security environment and one or more second security environments.
  • the first device may establish a secure connection between its first security environment and the second security environment of the second device.
  • the peer second device can also receive the device certificate sent by the first device, and therefore can determine whether the first security environment is safe.
  • both the first device and the second device determine that the security environment of the peer device is safe, they can establish a secure connection between the security environments with the peer device.
  • the security environment of the peer device is determined based on the device certificate.
  • the first device can establish a second connection between TEE 52 and TEE 54 (the above-mentioned secure connection includes the second connection).
  • step S402 if either of the first device and the opposite second device determines that the security environment in the opposite device is unsafe, then it can be determined that the security authentication has not passed. In step S403, it can be Cancel the establishment of this secure connection.
  • the first device and the second device establish a secure connection between security environments by exchanging device certificates. Subsequently, the security capabilities of other devices can be called through the secure connection to realize security capability sharing in distributed scenarios.
  • the first device after the first device establishes a secure connection with one or more second devices, it can obtain the security capability information of one or more second devices through the secure connection, and then when it needs to process security services, it can Determine whether it is necessary to call the security capabilities of other devices to process the security service. That is, secure connections can be used to obtain security capability information from other devices, as well as send security capability information to other devices. Moreover, the third device can also be used to call the security capabilities of other devices.
  • the following describes the process in which the first device performs data processing by calling the security capabilities of the second security environment of other second devices.
  • FIG. 6 is a schematic flowchart of a data processing method provided by an embodiment of the present application. As shown in Figure 6, the method includes the following steps.
  • the first device determines a target second security environment that includes the first security capability in one or more second security environments.
  • the first device establishes a first connection with one or more second devices.
  • the first device includes a first security environment
  • the one or more second devices include one or more second security environments corresponding to the one or more second devices.
  • the TEEs ie, security environments
  • the security capabilities are the security capabilities of the system in the security environment (such as the security capabilities of TEE OS), and the security state service (TService) Provide corresponding security capabilities in the form.
  • secure services include, for example, secure storage, secure keys, secure encryption and decryption, secure drivers, secure clocks, secure peripherals, secure CPU, etc.
  • one or more second devices include a target second device, the target second device includes a target second security environment, and the target second security environment includes the first security capability.
  • the first device determines that its security capabilities in the first security environment are insufficient to process the first data.
  • the first device needs to call the security capabilities in the second security environment of other second devices to process or assist in processing the first data. Therefore, the first device needs to determine a target second security environment including the first security capability based on the first security capability that can be used to process the first data to be processed.
  • the first device needs to obtain the security capabilities of the second security environment of each second device, thereby determining the required second security environment of some or all second devices (ie, the target second security environment).
  • step S601 may include step S701 and step S702.
  • the first device obtains security capability information.
  • the first device or the second device may generate security capability information including its own security capabilities.
  • Security capability information can exist in file formats, such as T-Profile.
  • the security capability of the first device includes secure storage, and the first device may determine that the corresponding security capability information includes information such as the size and attributes of the storage space.
  • the security capability of the first device includes a security clock
  • the first device may determine that the corresponding security capability information includes time service information.
  • the security capability information of the first device includes information such as the size and attributes of the replay protected memory block (RPMB).
  • RPMB replay protected memory block
  • the first device provides a synchronization interface of T-Profile, through which the security capability information is synchronized with the second device in the communication system.
  • a first device After a first device establishes a secure connection with one or more second devices through the method shown in Figure 4, it can obtain the security capability information (i.e., the first security capability) of one or more second devices through the secure connection. information).
  • the security capability information i.e., the first security capability
  • the first device locally creates a ledger for recording security capability information, and stores its own security capability information (i.e., the second security capability information) and the obtained security capability information of the second device (i.e., the first security capability information). ) is recorded in the ledger.
  • the first device or the second device broadcasts its own security capability information according to a preset period, and/or broadcasts updated security capability information after determining that its own security capability is updated.
  • the first device updates the security capability information of the second device recorded in the local ledger. Later, when it is necessary to determine the security capabilities of other devices in the communication system, the security capability information is obtained from the locally stored ledger.
  • a central node is provided in the communication system.
  • the central node can be used to manage the security capability information of each device in the communication system.
  • the first device and the second device included in the communication system can send their own security capability information to the central node. to synchronize.
  • the central node is, for example, an electronic device in the communication system that can maintain communication, or an electronic device with strong computing power, or a non-battery device (that is, a device that can guarantee a long working time), etc.
  • the TEE 52 of the first device includes a synchronization service module 523.
  • the synchronization service module 523 is used to manage the security capabilities of the TEE 52 and synchronize the security capability information of other devices in the communication system through secure connections.
  • the TEE 54 of the target second device includes a synchronization service module 543.
  • the synchronization service module 543 is used to manage the security capabilities of the TEE 54 and synchronize the security capability information of other devices in the communication system through secure connections.
  • the first device when the first device needs to call the security capabilities of other devices, it can obtain the security capability information.
  • the security capability information includes security capabilities included in one or more second security environments that have established secure connections with the first device.
  • the first device obtains security capability information of one or more second devices through a secure connection; and/or obtains locally stored security capability information; and/or obtains security capability information sent by the central node.
  • the first device determines the target second security environment based on the security capability information.
  • the first device obtains security capability information of one or more second devices, and can determine the security capabilities included in one or more second security environments through the security capability information.
  • the security capabilities included in one or more second security environments include: the security capabilities of secure applications running in one or more second security environments, and/or the security capabilities supported by one or more second security environments. Security services.
  • the TEE of the electronic device includes a secure application (TA) and a secure service (TService).
  • the secure application and secure service have corresponding security capabilities.
  • the first device may determine the security capabilities of the secure applications and/or secure services included in the security environment of the second device based on the obtained security capability information.
  • secure services can run on TEE OS in the form of trusted applications (or secure applications). That is to say, a secure application integrates one or more secure services, and the security environment of each device may include one or more secure applications and/or one or more secure services. Subsequently, the first device calls the security capabilities of the target second device, and can call the security application and/or security service in the target second security environment of the target second device for the first security environment of the first device. This is discussed below. No more explanation.
  • the first device after detecting the service to be processed and determining that it does not have the security capability to process the service, or that it only has the security capability to process part of the data of the service, the first device can use the above step S601 to process the service.
  • the service is allocated to the target second security environment processing of the target second device.
  • the first device can obtain the security capability information of other devices in the communication system through the above step S701, and can further determine a security environment configured with the security capability for processing the service through the above step S702. So that the first device can subsequently send data that cannot be processed by the first device corresponding to the service to a determined security environment for processing (ie, perform the following step S602).
  • the first device determines that the TEE 54 in the target second device (i.e., the target second security environment) has the security capability information to be processed based on the security capability information obtained by the synchronization service module 523 in its TEE 52.
  • the first security capability for processing data For example, the synchronization service module 523 stores a table including the security capability information of all devices in the communication system. The first device determines that the TEE 54 in the target second device has the required first security capability by looking up the table.
  • the first device sends the first data to the target second security environment through the second connection.
  • the first device may send the first data to the target including the target second security environment through the second connection. processed in the second device.
  • the target second device processes the first data through the first security capability and obtains the first processing result.
  • the target second device may send the first data to the target second security environment and process the first data through the first security capability.
  • the first data carries a service label of the first data
  • the target second device can determine the first security capability for processing the first data based on the service label.
  • the target second device processes the first data through the first security capability in the target second security environment, and obtains the first processing result of the first data.
  • the service tag of the first data includes, for example, the security capability to be used, the certificate of the security capability, and other information.
  • the first processing result can be determined.
  • the target second security environment of the target second device may also be configured with a permission confirmation module for determining whether the first device has the permission to invoke the first security capability.
  • the service label carried in the first data sent by the first device may also include the device identification of the first device, and the target second device may determine the authority of the first device based on the device identification. After determining that it has the authority to invoke the first security capability, the target second device processes the acquired first data through the first security capability.
  • the first security capability may be the security capability of a complete secure application in the target second security environment of the target second device, or may be a partial capability of the secure application (such as a secure service).
  • the first device obtains the first processing result through the second connection.
  • the first processing result is sent from the target second security environment to the first security environment of the first device through the second connection.
  • the first security environment of the first device receives the first processing result.
  • the security capabilities and security resources of different devices can be shared. Moreover, on the basis of ensuring data security, there is no need to adapt REE in advance (that is, there is no need to customize the application capabilities on the REE side). Without the user's awareness, the security capabilities of other devices can be adaptively called to meet user needs. , Reduce user operation difficulty.
  • the first device may communicate with the target second device of the target second security environment.
  • a first key used to transmit data is negotiated between the two security environments.
  • step S801 may also be included.
  • the first device and the target second device negotiate a first key for data transmission between the first security environment and the target second security environment.
  • the first device and the target second device need to negotiate a security key for this communication, which is used to encrypt the transmission data during the communication process.
  • the first device and the target second device may negotiate the first key through the second connection.
  • the TEE 52 of the first device includes a distributed key management module 522
  • the TEE 54 of the target second device includes a distributed key management module 542, which are used for negotiation and management respectively. secure communication key.
  • the first device can negotiate with the distributed key management module 542 through the distributed key management module 522.
  • the encryption key for the second connection i.e. the first key).
  • the first key is determined through a public and private key pair.
  • the first device may negotiate with one or more second devices to encrypt data transmitted on the secure connection. security key.
  • the security capability information to be transmitted is encrypted using the determined security key. This ensures the security of security capability information. That is to say, step S801 may be performed before the above-mentioned step S701.
  • the first data transmitted in the above step S602 can be encrypted using the first key determined after the negotiation, and the first data transmitted in the above step S602 can be encrypted.
  • step S602 may include step S602a
  • step S604 may include step S604a.
  • the first device encrypts the first data with the first key through the second connection, and then sends the data to the target second security environment.
  • the first device after the first device negotiates with the target second device to determine the first key and determines the first data to be processed by the target second device, the first device can encrypt the first data using the first key, The encrypted first data is sent to the target second security environment of the target second device through the second connection for processing.
  • the target second device after receiving the encrypted first data, the target second device can decrypt the obtained first data according to the first key determined through negotiation.
  • the first device obtains the first processing result encrypted with the first key through the second connection.
  • the first processing result is encrypted with the first key, and is then sent from the target second security environment to the first security device of the first device through the second connection. environment.
  • the first security environment of the first device receives the first processing result and can decrypt the received first processing result according to the first key.
  • the first device after the first device detects the security service to be processed and determines that its own security capability cannot independently process the security service, it triggers the above step S701 to obtain the security capability information of other devices in the communication system.
  • the first device detects the user's first operation, determines the pending data of the first service corresponding to the first operation, and determines the first data based on the pending data of the first service.
  • the first data may be all data or part of the data of the first service.
  • the first device determines that its own security capability cannot process the first data, and may obtain security capability information to determine a device that can process the first data.
  • the first device is a large-screen device, and financial product applications are installed on the large-screen device and configured with a corresponding physical operation interface (tangible user interface, TUI).
  • TUI is used to display the secure keyboard to receive information such as passwords entered by the user.
  • the large-screen device determines that it does not have the security key capability, and can perform the above step S701 to obtain the security capability information of other devices in the communication system.
  • the large-screen device determines that the mobile phone (target second device) connected to it has the security key capability (step S702), and can negotiate the first key for this secure communication with the mobile phone (step S801).
  • the large-screen device encrypts the password and money input by the user with the first key, and then sends them to the target second security environment of the mobile phone through the second connection (ie, step S602a).
  • the mobile phone verifies the password by interacting with the cloud server (such as a bank server), determines whether the transaction of the current amount of money is allowed, and determines the first processing result (ie, step S603).
  • the mobile phone can send the encrypted first processing result to the large-screen device through the second connection (ie, step S604a).
  • the large-screen device determines whether the security verification is passed based on the obtained first processing result, and displays the corresponding processing result. .
  • the first device may also determine the first data among the to-be-processed data of the second service.
  • the first device is server 1.
  • the first device obtains a request to store data through secure storage capabilities and determines that it does not have secure storage capabilities.
  • the first device can perform the above step S701 to obtain security capability information of other devices in the communication system.
  • server 1 determines that the security environment of server 2 is configured with secure storage capabilities (ie, step S702), and can negotiate with server 2 for the first key of this secure communication (ie, step S801).
  • server 1 sends the stored data encrypted by the first key to the target second security environment of server 2 through the second connection (ie, step S602a).
  • the server 2 After receiving the storage data, the server 2 can store the storage data through the secure storage capability and determine the first processing result, such as a response of success or failure in storage (ie, step S603). Server 1 can obtain the first processing result sent by server 2 (ie, step S604a), and determine whether the storage is successful.
  • the first device is server 1.
  • the first device obtains a request to store data through secure storage capabilities and determines that it has secure storage capabilities but insufficient storage space.
  • the server 1 can execute the above step S701 to obtain the security capability information of other devices in the communication system. After that, server 1 determines that the security environment of server 2 is configured with secure storage capabilities and the size of available secure storage space of server 2, and determines that the security environment of server 3 is configured with secure storage capabilities and the size of available secure storage space of server 3 (ie, step S702 ). Based on the obtained security capability information, Server 1 determines that the storage data obtained this time needs to use its own remaining secure storage space, the available secure storage space of Server 2, and the available secure storage space of Server 3 to complete all storage. business.
  • server 1 can negotiate with server 2 for key 1 of this secure communication, and with server 3 for key 2 of this secure communication (ie, step S801). Afterwards, server 1 divides the storage data to be stored into data 1 to be distributed (data that needs to be stored safely on its own side), data 2 (data that needs to be stored safely by server 2), and data 3 (data that needs to be stored safely by server 3). stored data), data 2 is encrypted by key 1 and sent to the secure environment of server 2 through a secure connection with server 2, and data 3 is encrypted by key 2 and sent to server 3 through a secure connection.
  • the security environment of server 3 ie step S602a).
  • server 2 and server 3 After receiving the corresponding data, server 2 and server 3 store the data through secure storage capabilities and determine the data storage response (ie, step S603).
  • Server 1 can obtain the data storage responses sent by server 2 and server 3 (ie, step S604a), determine whether the storage is successful, and can directly determine whether data 1 on its own side is stored successfully.
  • each device is abstracted and security services are segmented. Multiple devices cooperate to process security services through their own security capabilities, thereby making full use of the security capabilities of each device.
  • the first device may refer to the existing technology for segmenting the services to be processed, and the embodiments of this application will not elaborate on this in detail.
  • the first device can segment services based on its own security capabilities, secure storage resources and other information.
  • the large-screen device determines its own password collection, and the mobile phone verifies the password.
  • server 1 divides the data to be stored and determines the data stored by server 1, server 2 and server 3 respectively.
  • the target second device deletes the first key after sending the first processing result.
  • the first device deletes the first key.
  • the first device after deleting the first key, obtains the second service and determines the second data of the second service to be processed. Thereafter, the first device determines that the target second security environment of the target second device includes a second security capability, and the second security capability may be used to process the second data to be processed in the first security environment. Then, the first device negotiates with the target second device through the second connection a second key for data transmission between the first security environment and the target second security environment. The second key is used to encrypt the second data and the second data. The corresponding second processing result.
  • the first device may delete the security capability information of the second device in the security information. For example, after the first device disconnects the first connection with the target second device including the target second security environment, the security capabilities of the target second security environment of the target second device in the security capability information may be deleted.
  • a first device accesses a communication system including a second device (such as joining a network)
  • a first security environment of the first device and a second security environment of the second device are established.
  • secure connection After that, the first device generates its own security capability information, sends the security capability information to other second devices through the secure connection, and synchronizes the security capability information of other second devices through the secure connection, thereby completing the device access to the network. Synchronization of security capability information.
  • the second device in the communication system exits the communication system (such as exiting the network), it synchronously broadcasts its own exit information, and the first device can synchronously delete the security capability information of the exited device.
  • the withdrawing device can also delete the locally stored security capability information of other devices in the withdrawing communication system.
  • the synchronous update of the security capability information in the communication system is ensured, and the synchronized security capability information is prevented from including the security capability information of the device that is no longer connected to the communication system, causing other devices to fail to call the security capability of the device.
  • FIG. 10 is a schematic structural diagram of a first device provided by an embodiment of the present application.
  • the first device 1000 may include: a transceiver unit 1001 and a processing unit 1002.
  • the first device 1000 may be used to implement the functions of the first device involved in the above method embodiments.
  • the first device is an electronic device or a server.
  • the transceiver unit 1001 is used to support the first device 1000 to perform S401 and S403 in Figure 4; and/or to support the first device 1000 to perform S602 and S604 in Figure 6; and/or to Supporting the first device 1000 to execute S701 in FIG. 7; and/or supporting the first device 1000 to execute S801, S602a and S604a in FIG. 8.
  • the processing unit 1002 is used to support the first device 1000 to perform S402 in Figure 4; to support the first device 1000 to perform S601 in Figure 6; and/or, and/or to support the first device 1000 to perform S601 in Figure 6; 1000 executes S702 in Figure 7.
  • the transceiver unit may include a receiving unit and a transmitting unit, may be implemented by a transceiver or a transceiver-related circuit component, and may be a transceiver or a transceiver module.
  • the operation and/or function of each unit in the first device 1000 is to implement the corresponding flow of the data processing method described in the above method embodiment. All relevant content of each step involved in the above method embodiment can be quoted to the corresponding function. The functional description of the unit will not be repeated here for the sake of brevity.
  • the first device 1000 shown in Fig. 10 may also include a storage unit (not shown in Fig. 10), in which programs or instructions are stored.
  • a storage unit not shown in Fig. 10
  • the transceiver unit 1001 and the processing unit 1002 execute the program or instruction
  • the first device 1000 shown in FIG. 10 can execute the data processing method described in the above method embodiment.
  • the technical solution provided by this application can also be a functional unit or chip in the first device, or a device used in conjunction with the first device.
  • FIG. 11 is a schematic structural diagram of a second device provided by an embodiment of the present application.
  • the second device 1100 may include: a transceiver unit 1101 and a processing unit 1102.
  • the second device 1100 may be used to implement the functions of the second device involved in the above method embodiments.
  • the second device is an electronic device or a server.
  • the transceiver unit 1101 is used to support the second device 1100 to perform S401 and S403 in Figure 4; and/or to support the second device 1100 to perform S602 and S604 in Figure 6; and/or to The second device 1100 is supported to perform S801, S602a and S604a in FIG. 8 .
  • the processing unit 1102 is configured to support the second device 1100 in executing S603 in Figure 6 .
  • the transceiver unit may include a receiving unit and a transmitting unit, may be implemented by a transceiver or a transceiver-related circuit component, and may be a transceiver or a transceiver module.
  • the operation and/or function of each unit in the second device 1100 is to implement the corresponding flow of the data processing method described in the above method embodiment. All relevant content of each step involved in the above method embodiment can be quoted to the corresponding function. The functional description of the unit will not be repeated here for the sake of brevity.
  • the second device 1100 shown in FIG. 11 may also include a storage unit (not shown in FIG. 11), in which programs or instructions are stored.
  • a storage unit not shown in FIG. 11
  • the transceiver unit 1101 and the processing unit 1102 execute the program or instruction
  • the second device 1100 shown in FIG. 11 can execute the data processing method described in the above method embodiment.
  • the technical solution provided by this application can also be a functional unit or chip in the second device, or a device used in conjunction with the second device.
  • An embodiment of the present application also provides a chip system, including: a processor, the processor is coupled to a memory, and the memory is used to store programs or instructions. When the program or instructions are executed by the processor, the The chip system implements the method in any of the above method embodiments.
  • processors in the chip system there may be one or more processors in the chip system.
  • the processor can be implemented in hardware or software.
  • the processor may be a logic circuit, an integrated circuit, or the like.
  • the processor may be a general-purpose processor implemented by reading software code stored in memory.
  • the memory may be integrated with the processor or may be provided separately from the processor, which is not limited by the embodiments of the present application.
  • the memory may be a non-transient processor, such as a read-only memory ROM, which may be integrated with the processor on the same chip, or may be separately provided on different chips.
  • the embodiments of this application vary on the type of memory, and The arrangement of the memory and processor is not specifically limited.
  • the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or a system on chip (SoC). ), it can also be a central processor (central processor unit, CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (micro controller unit, MCU), it can also be a programmable logic device (PLD) or other integrated chip.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • SoC system on chip
  • CPU central processor unit, CPU
  • NP network processor
  • DSP digital signal processing circuit
  • microcontroller micro controller unit, MCU
  • PLD programmable logic device
  • each step in the above method embodiment can be completed by an integrated logic circuit of hardware in the processor or instructions in the form of software.
  • the method steps disclosed in conjunction with the embodiments of this application can be directly implemented by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • Embodiments of the present application also provide a computer-readable storage medium.
  • a computer program is stored in the computer-readable storage medium. When the computer program is run on a computer, it causes the computer to perform the above related steps to implement the above embodiments. data processing methods.
  • An embodiment of the present application also provides a computer program product.
  • the computer program product When the computer program product is run on a computer, it causes the computer to perform the above related steps to implement the data processing method in the above embodiment.
  • the embodiment of the present application also provides a device.
  • the device may specifically be a component or module, and the device may include one or more connected processors and memories. Among them, memory is used to store computer programs. When the computer program is executed by one or more processors, the device is caused to execute the data processing methods in each of the above method embodiments.
  • the devices, computer-readable storage media, computer program products or chips provided by the embodiments of the present application are all used to execute the corresponding methods provided above. Therefore, the beneficial effects it can achieve can be referred to the beneficial effects in the corresponding methods provided above, and will not be described again here.
  • the steps of the methods or algorithms described in connection with the disclosure of the embodiments of this application can be implemented in hardware or by a processor executing software instructions.
  • Software instructions can be composed of corresponding software modules, and software modules can be stored in random access memory (RAM), flash memory, read only memory (read only memory, ROM), erasable programmable read-only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable read-only memory (EPROM, EEPROM), register, hard disk, removable hard disk, compact disc (CD-ROM) or any other form of storage media well known in the art.
  • An exemplary storage medium is coupled to the processor such that the processor can read information from the storage medium and write information to the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and storage medium may be located in an application specific integrated circuit (ASIC).
  • ASIC application specific integrated circuit
  • the disclosed method can be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of modules or units is only a logical function division, and there may be other division methods in actual implementation; for example, multiple units or components may be combined or integrated into another system, or some features may be ignored. or not executed.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, indirect coupling or communication connection of modules or units, and may be in electrical, mechanical or other forms.
  • each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the above integrated units can be implemented in the form of hardware or software functional units.
  • Computer-readable storage media includes but is not limited to any of the following: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.
  • ROM read-only memory
  • RAM random access memory
  • magnetic disk or optical disk etc.
  • Various media that can store program code include but is not limited to any of the following: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供数据处理方法及装置,涉及终端技术领域。本申请能够通过建立不同设备安全环境之间的连接,使得不同的设备可通过该连接借用其他设备的安全能力,提升设备安全环境的处理能力,进而提高用户的使用体验。该方法包括:第一设备在确定一个或多个第二安全环境中包括第一安全能力的目标第二安全环境后,通过第二连接将第一数据发送到目标第二安全环境。其中,第一安全能力用于处理第一安全环境中待处理的第一数据,第二连接为第一安全环境和目标第二安全环境之间的连接。之后,第一设备通过第二连接,接收第一数据的第一处理结果,该第一处理结果为通过第一安全能力处理第一数据后生成的处理结果。

Description

数据处理方法及装置
[根据细则91更正 21.04.2023]
本申请要求于2022年04月29日提交国家知识产权局、申请号为202210467415.4、发明名称为“数据处理方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种数据处理方法及装置。
背景技术
电子设备(例如:手机,平板电脑等)或服务器中一般设置有安全环境,如可信执行环境(trusted execution environment,TEE)或机密计算环境。电子设备或服务器通过安全环境提供安全态服务(例如安全存储、安全密钥、安全加解密、安全驱动等),并保护安全态服务运行过程中的数据安全。
但是,为保证数据安全,安全环境内部的数据只能在该安全环境内部处理,无法进行数据流通,因此电子设备或服务器可提供的安全态服务依赖于电子设备或服务器自身的安全环境中的安全能力。如电子设备或服务器不具备处理某些安全态服务对应的业务的安全能力,则无法提供这些安全态服务,影响用户的使用体验。
发明内容
为了解决上述的技术问题,本申请实施例提供了一种数据处理方法及装置。本申请实施例提供的技术方案,通过建立不同设备安全环境之间的连接,使得不同的设备可通过该连接借用其他设备的安全能力,提升了设备安全环境的处理能力,进而提高用户的使用体验。
为了实现上述的技术目的,本申请实施例提供了如下技术方案:
第一方面,提供一种数据处理方法,应用于第一设备,第一设备与一个或多个第二设备建立有第一连接,第一设备包括第一安全环境,一个或多个第二设备包括对应于一个或多个第二设备的一个或多个第二安全环境。该方法包括:确定一个或多个第二安全环境中包括第一安全能力的目标第二安全环境;其中,第一安全能力用于处理第一安全环境中待处理的第一数据。通过第二连接,将第一数据发送到目标第二安全环境,第二连接为第一安全环境和目标第二安全环境之间的连接。通过第二连接,接收第一数据的第一处理结果,第一处理结果为通过第一安全能力处理第一数据后生成的处理结果。
在一些实施例中,通过建立不同设备的安全环境之间的安全连接,池化安全能力,将通信系统中各个设备的安全环境集合成超级安全环境。因此,只要超级安全环境中具备处理待处理数据的安全能力,通信系统中的设备即可处理该待处理的数据。
如此,通过不同设备的安全环境间的交互,实现不同设备的安全能力和安全资源的共享。并且,在保证数据安全的基础上,无需提前适配REE(即无需定制REE侧的应用能力),在用户无感知的情况下,即可自适应的调用其他设备的安全能力,满足用户的需求,降低用户操作难度。
根据第一方面,在将第一安全环境中待处理的第一数据,确定一个或多个第二安全环境中包括第一安全能力的目标第二安全环境,包括:获取第一安全能力信息,第一安全能力信息包括一个或多个第二安全环境包括的安全能力。根据第一安全能力信息,确定目标第二安全环境。
在一些实施例中,第一设备在确定第一安全环境中待处理的第一数据后,确定自身的第一安全环境中的安全能力不足以处理该第一数据。因此,第一设备需要调用其他第二设备中的第二安全环境中的安全能力处理或协助处理该第一数据。基于此,第一设备需要获取各个第二设备的第二安全环境的安全能力(即通过获取安全能力信息确定安全能力),从而确定需要的其中的部分或全部第二设备的第二安全能力。
如此,第一设备可确定配置有用于处理第一数据的第一安全能力的目标第二安全环境,将第一数据发送到包括目标第二安全环境的目标第二安全环境中进行处理。从而满足安全环境中的数据处理需求,提升用户使用体验。
根据第一方面,或者以上第一方面的任意一种实现方式,在将第一安全环境中待处理的第一数据,通过第二连接发送到一个或多个第二安全环境中包括第一安全能力的目标第二安全环境之前,方法还包括:与包括目标第二安全环境的目标第二设备协商第一安全环境和目标第二安全环境之间数据传输的第一密钥,第一密钥用于加密通过第二连接传输的第一数据和第一处理结果。
在一些场景中,为了保证安全环境之间数据传输的安全,第一设备在确定需要使用目标第二设备的目标第二安全环境中的第一安全能力后,可与目标第二设备之间可以协商用于传输数据的第一密钥。
如此,通过协商密钥加密传输数据后,有效保证安全环境的通信安全。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:删除第一密钥。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:确定目标第二安全环境包括第二安全能力,第二安全能力用于处理第一安全环境中待处理的第二数据。与目标第二设备协商第一安全环境和目标第二安全环境之间数据传输的第二密钥,第二密钥用于加密通过第二连接传输的第二数据和第二数据对应的第二处理结果。
如此,第一设备在每次需要调用其他设备的安全能力时,均需重新与确定的目标第二设备协商此次通信的密钥。并在此次通信结束后,删除此次通信使用的密钥。从而避免密钥泄露,影响数据传输的安全性。
根据第一方面,或者以上第一方面的任意一种实现方式,在获取第一安全能力信息之前,方法还包括:通过第一连接,接收一个或多个第二设备发送的一个或多个第二安全环境的第一信息。根据第一信息,确定一个或多个第二安全环境安全。分别建立第一安全环境和一个或多个第二安全环境之间的安全连接,该安全连接用于获取一个或多个第二设备的第一安全能力信息,第二连接为所述安全连接中所述目标第二安全环境对应的连接。
在一些实施例中,第一设备和第二设备通过交互设备证书,确定第一安全环境和第二安全环境之间安全。之后,可建立安全环境之间的安全连接。后续可通过安全连接调用其他设备的安全能力,实现分布式场景中的安全能力共享。
如此,可进一步保证第一设备和第二设备之间安全环境交互的安全性。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:通过安全连接,向一个或多个第二设备发送第一安全环境包括的安全能力的第二安全能力信息。
在一些实施例中,第一设备将包括第一安全环境的安全能力的安全能力信息,通过第一连接发送到一个或多个第二设备。
如此,实现通信系统中安全能力信息的共享,以便于后续一个或多个第二设备调用第一设备的安全能力。
根据第一方面,或者以上第一方面的任意一种实现方式,获取安全能力信息,包括:获取本地存储的第一安全能力信息。和/或,获取中心节点发送的第一安全能力信息。
在一些实施例中,本地存储的安全能力信息,或者中心节点存储的安全能力信息中包括第一设备对应的第二安全能力信息,以及一个或多个第二设备对应的第一安全能力信息。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:向中心节点发送第一安全环境包括的安全能力的第二安全能力信息。
如此,通信系统中的第一设备和一个或多个第二设备,可通过多种方式共享安全能力信息,以便于后续各个设备实现共享安全能力。
根据第一方面,或者以上第一方面的任意一种实现方式,方法还包括:断开与包括目标第二安全环境的目标第二设备之间的第一连接。删除安全能力信息中目标第二设备的目标第二安全环境的安全能力信息。
如此,保证通信系统中安全能力信息的同步更新,避免同步的安全能力信息中包括已经不接入该通信系统的设备的安全能力信息,导致其他设备调用该设备的安全能力失败。
根据第一方面,或者以上第一方面的任意一种实现方式,一个或多个第二安全环境包括的安全能力包括:运行在一个或多个第二安全环境中的安全态应用的安全能力,和/或一个或多个第二安全环境支持的安全态服务。
根据第一方面,或者以上第一方面的任意一种实现方式,第一安全环境或第二安全环境为可信执行环境TEE或机密计算环境。
根据第一方面,或者以上第一方面的任意一种实现方式,在获取第一安全能力信息之前,方法还包括:检测到用户的第一操作。确定第一操作对应的第一业务的待处理数据。根据第一业务的待处理数据,确定第一数据。或者,获取第二业务。确定第二业务的待处理数据中的第一数据。
可选的,第一设备为电子设备或服务器。
在一些实施例中,第一安全能力可为目标第二设备的目标第二安全环境中完整的安全态应用的安全能力,也可以为安全态应用的部分能力(如安全态服务)。
如此,抽象各个设备的安全能力,切分安全业务,多个设备通过自身的安全能力合作处理安全业务,从而充分利用各个设备的安全能力。
第二方面,提供一种数据处理方法,应用于第二设备,第二设备与第一设备建立有第一连接,第二设备包括第二安全环境,第一设备包括第一安全环境。该方法包括:通过第二连接,第二设备中的第二安全环境接收第一设备中的第一安全环境发送的第一数据,第二连接为第一安全环境和第二安全环境之间的连接,第一数据为第一安全环境中的待处理数据。通过第一安全能力处理第一数据,获得第一处理结果。通过第二连接,向第一安全环境发送第一处理结果。
根据第二方面,在通过第二连接,第二设备中的第二安全环境接收第一设备中的第一安全环境发送的第一数据之前,方法还包括:与第一设备协商第一安全环境和第二安全环境之间数据传输的第一密钥,第一密钥用于加密第一数据和第一处理结果。
根据第二方面,或者以上第二方面的任意一种实现方式,在通过第一安全能力处理第一数据之前,方法还包括:确定第一设备具有调用第一安全能力的权限。
在一些实施例中,目标第二设备的目标第二安全环境中还可以配置有权限确认模块,用于确定第一设备是否具有调用第一安全能力的权限。比如,第一设备在发送的第一数据中携带的业务标签中还可以包括第一设备的设备标识,目标第二设备根据该设备标识,可确定第一设备的权限。在确定具有调用第一安全能力的权限后,目标第二设备通过第一安全能力处理获取到的第一数据。
如此,避免没有权限的设备调用自身安全环境的安全能力,进一步保证设备安全环境的安全。
根据第二方面,或者以上第二方面的任意一种实现方式,第一数据携带第一数据对应的业务标签;在通过第一安全能力处理第一数据,获得第一处理结果之前,方法还包括:根据业务标签,确定业务标签对应的第一安全能力。
在一些实施例中,第一数据的业务标签中例如包括待使用的安全能力,该安全能力的凭证等信息。第一数据中携带有该第一数据的业务标签,目标第二设备可根据该业务标签,确定用于处理该第一数据的第一安全能力。之后,目标第二设备在目标第二安全环境中通过第一安全能力处理第一数据,获取到第一数据的第一处理结果。
第二方面以及第二方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,提供一种数据处理装置。该数据处理装置包括:处理器和存储器,存储器与处理器耦合,存储器用于存储计算机可读指令,当处理器从存储器中读取计算机可读指令,使得数据处理装置执行:确定一个或多个第二安全环境中包括第一安全能力的目标第二安全环境;其中,第一安全能力用于处理第一安全环境中待处理的第一数据。通过第二连接,将第一数据发送到目标第二安全环境,第二连接为第一安全环境和目标第二安全环境之间的连接。通过第二连接,接收第一数据的第一处理结果,第一处理结果为通过第一安全能力处理第一数据后生成的处理结果。
根据第三方面,在将第一安全环境中待处理的第一数据,确定一个或多个第二安全环境中包括第一安全能力的目标第二安全环境,包括:获取第一安全能力信息,第一安全能力信息包括一个或多个第二安全环境包括的安全能力。根据第一安全能力信息,确定目标第二安全环境。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:与包括目标第二安全环境的目标第二设备协商第一安全环境和目标第二安全环境之间数据传输的第一密钥,第一密钥用于加密通过第二连接传输的第一数据和第一处理结果。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:删除第一密钥。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:确定目标第二安全环境包括第二安全能力,第二安全能力用于处理第一安全环境中待处理的第二数据。与目标第二设备协商第一安全环境和目标第二安全环境之间数据传输的第二密钥,第二密钥用于加密通过第二连接传输的第二数据和第二数据对应的第二处理结果。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:通过第一连接,接收一个或多个第二设备发送的一个或多个第二安全环境的第一信息。根据第一信息,确定一个或多个第二安全环境安全。分别建立第一安全环境和一个或多个第二安全环境之间的安全连接,该安全连接用于获取一个或多个第二设备的第一安全能力信息,第二连接为所述安全连接中所述目标第二安全环境对应的连接。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:通过安全连接,向一个或多个第二设备发送第一安全环境包括的安全能力的第二安全能力信息。
根据第三方面,或者以上第三方面的任意一种实现方式,获取安全能力信息,包括:获取本地存储的安全能力信息。和/或,获取中心节点发送的安全能力信息。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:向中心节点发送第一安全环境包括的安全能力的第二安全能力信息。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:断开与包括目标第二安全环境的目标第二设备之间的第一连接。删除安全能力信息中目标第二设备的目标第二安全环境的安全能力信息。
根据第三方面,或者以上第三方面的任意一种实现方式,一个或多个第二安全环境包括的安全能力包括:运行在一个或多个第二安全环境中的安全态应用的安全能力,和/或一个或多个第二安全环境支持的安全态服务。
根据第三方面,或者以上第三方面的任意一种实现方式,第一安全环境或第二安全环境为可信执行环境TEE或机密计算环境。
根据第三方面,或者以上第三方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:检测到用户的第一操作。确定第一操作对应的第一业务的待处理数据。根据第一业务的待处理数据,确定第一数据。或者,获取第二业务。确定第二业务的待处理数据中的第一数据。
第三方面以及第三方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,提供一种数据处理装置。该数据处理装置包括:处理器和存储器,存储器与处理器耦合,存储器用于存储计算机可读指令,当处理器从存储器中读取计算机可读指令,使得数据处理装置执行:通过第二连接,第二设备中的第二安全环境接收第一设备中的第一安全环境发送的第一数据,第二连接为第一安全环境和第二安全环境之间的连接,第一数据为第一安全环境中的待处理数据。通过第一安全能力处理第一数据,获得第一处理结果。通过第二连接,向第一安全环境发送第一处理结果。
根据第四方面,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:与第一设备协商第一安全环境和第二安全环境之间数据传输的第一密钥,第一密钥用于加密第一数据和第一处理结果。
根据第四方面,或者以上第四方面的任意一种实现方式,当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:确定第一设备具有调用第一安全能力的权限。
根据第四方面,或者以上第四方面的任意一种实现方式,第一数据携带第一数据对应的业务标签;当处理器从存储器中读取计算机可读指令,还使得数据处理装置执行如下操作:根据业务标签,确定业务标签对应的第一安全能力。
第四方面以及第四方面中任意一种实现方式所对应的技术效果,可参见上述第二方面及第二方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第五方面,本申请实施例提供一种数据处理装置,该数据处理装置具有实现如上述第一方面及其中任一种可能的实现方式中所述的数据处理方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应地软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第五方面以及第五方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第六方面,本申请实施例提供一种数据处理装置,该数据处理装置具有实现如上述第二方面及其中任一种可能的实现方式中所述的数据处理方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应地软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
第六方面以及第六方面中任意一种实现方式所对应的技术效果,可参见上述第二方面及第二方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第七方面,提供一种计算机可读存储介质。计算机可读存储介质存储有计算机程序(也可称为指令或代码),当该计算机程序被数据处理装置执行时,使得数据处理装置执行第一方面或第一方面中任意一种实施方式的方法;或者,使得数据处理装置执行第二方面或第二方面中任意一种实施方式的方法。
第七方面以及第七方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第八方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在数据处理装置上运行时,使得数据处理装置执行第一方面或第一方面中任意一种实施方式的方法;或者,使得数据处理装置执行第二方面或第二方面中任意一种实施方式的方法。
第八方面以及第八方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第九方面,本申请实施例提供一种电路系统,电路系统包括处理电路,处理电路被配置为执行第一方面或第一方面中任意一种实施方式的方法;或者,处理电路被配置为执行第二方面或第二方面中任意一种实施方式的方法。
第九方面以及第九方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
第十方面,本申请实施例提供一种芯片系统,包括至少一个处理器和至少一个接口电路,至少一个接口电路用于执行收发功能,并将指令发送给至少一个处理器,当至少一个处理器执行指令时,至少一个处理器执行第一方面或第一方面中任意一种实施方式的方法;或者,至少一个处理器执行第二方面或第二方面中任意一种实施方式的方法。
第十方面以及第十方面中任意一种实现方式所对应的技术效果,可参见上述第一方面及第一方面中任意一种实现方式所对应的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种ARM TrustZone系统架构的示意图;
图2为本申请实施例提供的一种数据处理方法应用的通信系统的示意图;
图3A为本申请实施例提供的第一设备的硬件结构示意图一;
图3B为本申请实施例提供的第一设备的硬件结构示意图二;
图4为本申请实施例提供的一种数据处理过程中建立安全连接的方法的示意图;
图5为本申请实施例提供的一种模块交互的示意图;
图6为本申请实施例提供的数据处理方法的示意图一;
图7为本申请实施例提供的数据处理方法的示意图二;
图8为本申请实施例提供的数据处理方法的示意图三;
图9为本申请实施例提供的数据处理方法的示意图四;
图10为本申请实施例提供的第一设备的结构示意图;
图11为本申请实施例提供的第二设备的结构示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在一些场景中,电子设备(例如:手机,平板电脑等)或服务器中设置有安全环境,如包括可信执行环境(trusted execution environment,TEE)或机密计算环境,在安全环境处理隐私信息或秘密信息,以保护个人或设备的隐私信息或秘密信息的安全。
示例性的,如图1所示,基于ARM信任区(TrustZone)的电子设备包含富执行环境(rich execution environment,REE)和TEE。REE也称为普通执行环境,包括运行在通用处理器上的富执行环境操作系统(rich execution environment operating system,REE OS)及客户端应用(client application,CA),TEE非安全态服务以CA的形式运行在REE OS上。
其中,将CA具备的能力可抽象为Ability,一个CA可具备多种能力,即可包括多个Ability。Ability可包括功能能力(Feature Ability,FA)和原子的能力(atomic Ability,AA)。应用层的FA用于为用户提供电子设备最上层可用业务,FA由1到N个AA组成,AA提供基础服务能力供FA调用,FA对AA进行编排与拼装,以完成用户指示的业务。
TEE也称为安全执行环境,可以运行可信执行环境操作系统(trusted execution environment operating system,TEE OS),为CA提供可信赖的安全态服务(TService,例如安全存储、安全密钥、安全加解密、安全驱动等),这些安全态服务可以以可信应用(trust application,TA)(或称为安全态应用)的形式运行在TEE OS上。
如图1所示,为保证数据安全,CA在获取到业务后,会以固定的命令格式向TA发送运算请求,TA解析命令代码后,只能在TEE内部处理安全数据,那么也就导致了安全数据无法流通。
此外,TEE中TA、安全态服务的安全能力固化,电子设备只能使用自身TEE中的安全能力处理安全数据,如电子设备自身安全能力无法处理,则业务处理失败。
并且,TEE中的TA无法跨设备运行,若TA需要的本地资源不足,则TA无法加载并运行,导致业务失败。
这些问题限制了TEE安全运算的能力,影响了用户的使用体验。
基于此,开发者提出基于电子设备的REE,调用其他电子设备的TEE安全能力。示例性的,如图1所示,电子设备1和电子设备2可建立REE的通信连接。电子设备1在应用层(FA1)触发的业务后,确定自身TEE中的安全能力无法处理当前业务,那么通过服务层(AA1和AA2)交互,将该业务指示发送到电子设备2进行处理。比如,电子设备1接收到人脸识别请求,自身TEE不具备人脸识别能力。那么,由电子设备2采集用户人脸,在电子设备2的TEE中进行人脸识别处理。之后,电子设备2将处理结果发送到电子设备1,电子设备1才能响应用户的业务请求。
可以看出上述方法中,本质上是在REE侧形成了功能共享网络,用户操作并不方便。并且,由于需要按照其他电子设备的请求处理业务,那么每一个安全能力均需在REE侧提前适配,无法根据需要的业务能力自动感知。
在上述方法中,一般安全能力较弱的弱设备均需向安全能力较强的强设备发送处理请求,并不能充分利用弱设备自身的安全运算能力。此外,上述方法缺乏资源共享,对于涉及到安全存储等需要安全资源的场景,仍无法完成业务请求。
由此,本申请实施例提供一种数据处理方法,通过建立不同设备安全环境之间的连接,建立安全环境共享网络,使得不同的设备可通过该连接借用其他设备的安全能力,提升了设备安全环境的处理能力,进而提高用户的使用体验。
图2为本申请实施例提供的数据处理方法应用的通信系统的示意图。如图2所示,该通信系统包括第一设备100和第二设备200。其中,第二设备200的数量为一个或多个。
可选的,第一设备100或第二设备200可以为电子设备或服务器。如图2中(a)所示,第一设备100为电子设备(如手机),第二设备200包括多个电子设备和多个服务器。如图2中(b)所示,第一设备100为服务器,第二设备200包括服务器和多个电子设备。
可选的,上述第一设备100或第二设备200可以为基于ARM TrustZone架构的电子设备或服务器,也可以为基于ARM机密计算架构(Arm Confidential Compute Architecture,Arm CCA)架构的电子设备或服务器。
其中,基于ARM TrustZone架构的第一设备100或第二设备200中配置的安全环境为TEE,基于ARM CCA架构的第一设备100或第二设备200中配置的安全环境为机密计算环境。
可选的,在第一设备100或第二设备200为电子设备的情况下,第一设备100或第二设备200例如可以为手机、平板电脑、笔记本电脑、大屏设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴设备、人工智能(artificial intelligence)设备等终端设备,第一电子设备100安装的操作系统包括但不限于 或者其它操作系统。本申请对第一设备100或第二设备200的具体类型、所安装的操作系统均不作限制。
可选的,在第一设备100或第二设备200为服务器的情况下,第一设备100或第二设备200可以是云服务器或者网络服务器等具有计算功能的设备或网络设备。第一设备100或第二设备200可以是一台服务器,也可以分别是由多台服务器组成的服务器集群,或者分别是一个云计算服务中心。
在一些实施例中,第一设备100和第二设备200之间建立有通信连接,该通信连接的方式可以为无线通信连接,也可以为有线通信连接。其中,建立无线通信连接的无线通信技术包括但不限于以下的至少一种:蓝牙(bluetooth,BT)(例如,传统蓝牙或者低功耗(bluetooth low energy,BLE)蓝牙),无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),近距离无线通信(near field communication,NFC),紫蜂(Zigbee),调频(frequency modulation,FM),红外(infrared,IR)等。
比如,第一设备100或第二设备200都支持靠近发现功能。示例性的,第一设备100靠近第二设备200后,第一设备100或第二设备200能够互相发现对方,之后,建立诸如Wi-Fi端到端(peer to peer,P2P)连接、蓝牙连接等无线通信连接。
又比如,第一设备100或第二设备200通过局域网,建立无线通信连接。比如,第一设备100或第二设备200都连接至同一路由器。
又比如,第一设备100或第二设备200通过蜂窝网络、因特网等,建立无线通信连接。比如,第一设备100通过路由器接入蜂窝网络,第二设备200通过蜂窝网络接入因特网;进而,第一设备100或第二设备200建立无线通信连接。
又比如,第一设备100或第二设备200也可以通过局域网中的第三方设备建立无线通信连接,第三方设备例如是路由器、网关、智能设备控制器、服务器等。
再比如,第一设备100通过USB接口连线与第二设备200建立有线通信连接。
示例性的,图3A示出了第一设备100为电子设备的情况下的一种结构示意图。
第一设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
可以理解的是,本申请实施例示意的结构并不构成对第一设备100的具体限定。在本申请另一些实施例中,第一设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器,使处理器110与触摸传感器通过I2C总线接口通信,实现第一设备100的触摸功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现第一设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现第一设备100的显示功能。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为第一设备100充电,也可以用于第一设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他第一电子设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对第一设备100的结构限定。在本申请另一些实施例中,第一设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过第一设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为第一电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
第一设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。第一设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在第一设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在第一设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,第一设备100通过移动通信模块150或无线通信模块160与第二设备200建立通信连接。后续,第一设备100可通过与第二设备200之间的通信连接,交互设备信息,从而建立两个设备的安全环境之间的安全连接。进而基于安全环境间的安全连接,第一设备100可调用第二设备200的安全能力处理本侧安全环境中待处理的数据。
在一些实施例中,第一设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得第一设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
第一设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),例如采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Mini-led,Micro-led,Micro-oled,量子点发光二极管(quantum dot light emitting diodes,QLED)等生产制造。在一些实施例中,第一设备100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,第一设备100可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展第一设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储第一设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行第一设备100的各种功能应用以及数据处理。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。第一设备100可以通过音频模块170,例如音乐播放,录音等。音频模块170可以包括扬声器,受话器,麦克风,耳机接口,以及应用处理器等实现音频功能。
传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。第一设备100可以接收按键输入,产生与第一设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和第一设备100的接触和分离。第一设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。
示例性的,图3B示出了第一设备100为服务器的情况下的一种结构示意图。
第一设备100包括至少一个处理器201,通信线路202,存储器203以及至少一个通信接口204。其中,存储器203还可以包括于处理器201中。
处理器201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路202可包括一通路,在上述组件之间传送信息。
通信接口204,用于与其他设备通信。在本申请实施例中,通信接口可以是模块、电路、总线、接口、收发器或者其它能实现通信功能的装置,用于与其他设备通信。可选的,当通信接口是收发器时,该收发器可以为独立设置的发送器,该发送器可用于向其他设备发送信息,该收发器也可以为独立设置的接收器,用于从其他设备接收信息。该收发器也可以是将发送、接收信息功能集成在一起的部件,本申请实施例对收发器的具体实现不做限制。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路202与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器203用于存储用于实现本申请方案的计算机执行指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的计算机执行指令,从而实现本申请下述实施例提供的数据处理方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码、指令、计算机程序或者其它名称,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图3B中的CPU0和CPU1。
在具体实现中,作为一种实施例,第一设备100可以包括多个处理器,例如图3B中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,第一设备100还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。
以下以第一设备100为第一设备,第二设备200为第二设备,第一设备和第二设备为基于ARM TrustZone架构的设备为例,对本申请实施例提供的数据处理方法进行详细介绍。需要说明的是,基于ARM CCA架构的设备的数据处理方法可参考下述各个实施例所述的数据处理方法。
可选的,图4为本申请实施例提供的一种数据处理过程中建立安全连接的方法的流程示意图。如图4所示,该方法包括如下步骤。
S401、第一设备通过与一个或多个第二设备之间的第一连接,获取一个或多个第二安全环境的第一信息。
在一些实施例中,第一设备包括第一安全环境,第二安全设备包括第二安全环境,第一安全环境或第二安全环境为基于ARM TrustZone架构的TEE,或者为基于ARM CCA的机密计算环境,或者为基于其他架构的安全环境。
在一些实施例中,第一设备和第二设备之间建立有第一连接,该第一连接为电子设备或服务器之间的用于通信的连接,如Wi-Fi连接、蓝牙连接、NFC连接等。第一设备和一个或多个第二设备之间建立安全环境之间的安全连接之前,需要建立用于交互设备信息的普通连接(即第一连接)。
在一些实施例中,第一信息为设备证书,例如包括TEE ID,TEE版本信息,TEE的证书信息,TEE OS版本信息,芯片架构信息,TEE OS的支持的设备类型信息,TEE OS代码的完整性度量值(如签名哈希值),TEE OS厂商信息,安全等级等。
示例性的,如图5所示,第一设备中包括REE 51和TEE 52,一个或多个第二设备中包括目标第二设备,目标第二设备中包括REE 53和TEE 54。其中,第一设备的TEE 52中包括设备证书管理模块521,目标第二设备的TEE 54中也包括设备证书管理模块541。设备证书管理模块用于管理设备证书。
可选的,第一设备在确定与目标第二设备建立安全连接的情况下,可向目标第二设备发送安全连接建立请求,在安全连接建立请求中可携带设备证书管理模块521管理的自身安全环境的设备证书,用于与目标第二设备交互设备证书,验证双方安全环境的安全性。
比如,第一设备在与目标第二设备之间建立第一连接后,第一设备中的设备证书管理模块521可通过第一连接向第二设备发送第一设备的设备证书,并通过第一连接接收第二设备的设备证书管理模块541发送的第二设备的设备证书(如第一信息)。
又比如,第一设备在建立第一连接后暂不进行设备证书的交互(即暂不建立安全环境间的安全连接)。后续,响应于用户指示执行安全业务的操作(如在REE侧检测到需要在TEE侧处理的业务),第一设备再通过第一连接与一个或多个第二设备交互设备证书。
再比如,第一设备在建立第一连接后暂不进行设备证书的交互。后续,第一设备检测到用户指示执行安全业务的操作后,确定自身不具备处理该安全业务的安全能力。第一设备显示界面提示信息,提示用户是否需要通过其他设备的安全能力处理该安全业务。响应于用户指示调用其他设备的安全能力的操作,第一设备再通过第一连接与一个或多个第二设备交互设备证书。
S402、第一设备根据第一信息,确定一个或多个第二安全环境安全。
在一些实施例中,第一设备通过第一连接获取到第二设备的TEE的第一信息(如第二设备的设备证书)后,可根据第一信息确定第二设备的第二安全环境(即第二设备的TEE)是否安全。
比如,第一设备根据第一信息根据签名哈希值(hash)确定代码完整,确定第二安全环境未做修改,可确定第二安全环境安全。
S403、第一设备建立第一安全环境和一个或多个第二安全环境之间的安全连接。
在一些实施例中,第一设备在确定第二设备的第二安全环境安全后,可建立自身第一安全环境和第二设备的第二安全环境的安全连接。其中,在第一设备确定第二安全环境是否安全的过程中,对端的第二设备同样可以接收到第一设备发送的设备证书,因此可确定第一安全环境是否安全。
由此,第一设备和第二设备均确定对端设备的安全环境安全后,可与对端设备建立安全环境之间的安全连接。
示例性的,如图5所示,第一设备与目标第二设备之间通过第一连接交互设备证书后,根据设备证书确定对端设备中的安全环境安全。之后,第一设备可建立TEE 52和TEE 54之间的第二连接(上述安全连接包括第二连接)。
在另一些实施例中,第一设备与对端第二设备在上述步骤S402中,双方任一方确定对端设备中的安全环境不安全,那么可确定安全认证未通过,在步骤S403中,可取消本次安全连接的建立。
如此,第一设备和第二设备通过交互设备证书,建立安全环境之间的安全连接,后续可通过安全连接调用其他设备的安全能力,实现分布式场景中的安全能力共享。
在一些场景中,第一设备在与一个或多个第二设备建立安全连接后,可通过该安全连接获取到一个或多个第二设备的安全能力信息,进而在需要处理安全业务时,可确定是否需要调用其他设备的安全能力处理该安全业务。也就是说,安全连接可用于获取其他设备的安全能力信息,以及向其他设备发送安全能力信息。并且,第三设备还可用于调用其他设备的安全能力。
如下介绍第一设备通过调用其他第二设备的第二安全环境的安全能力,进行数据处理的过程。
可选的,图6为本申请实施例提供的一种数据处理方法的流程示意图。如图6所示,该方法包括如下步骤。
S601、第一设备确定一个或多个第二安全环境中包括第一安全能力的目标第二安全环境。
在一些实施例中,第一设备与一个或多个第二设备建立有第一连接。其中,第一设备包括第一安全环境,一个或多个第二设备包括对应于一个或多个第二设备的一个或多个第二安全环境。
在一些实施例中,不同设备的TEE(即安全环境)具有相同或不相同的安全能力,安全能力为安全环境中系统的安全能力(如TEE OS的安全能力),以安全态服务(TService)的形式提供相应的安全能力。
可选的,安全态服务例如包括安全存储、安全密钥、安全加解密、安全驱动、安全时钟、安全外设、安全CPU等。
可选的,一个或多个第二设备中包括目标第二设备,目标第二设备包括目标第二安全环境,目标第二安全环境中包括第一安全能力。
在一些实施例中,第一设备在确定第一安全环境中待处理的第一数据后,确定自身的第一安全环境中的安全能力不足以处理该第一数据。第一设备需要调用其他第二设备中的第二安全环境中的安全能力处理或协助处理该第一数据。因此,第一设备需要根据能够用于处理该待处理的第一数据的第一安全能力,确定包括第一安全能力的目标第二安全环境。
基于此,第一设备需要获取各个第二设备的第二安全环境的安全能力,从而确定需要的部分或全部第二设备的第二安全环境(即目标第二安全环境)。
可选的,如图7所示,步骤S601可以包括步骤S701和步骤S702。
S701、第一设备获取安全能力信息。
在一些实施例中,第一设备或第二设备在建立安全连接后,可生成包括自身安全能力的安全能力信息。安全能力信息可通过文件格式存在,如T-Profile。
比如,第一设备的安全能力包括安全存储,第一设备可确定对应的安全能力信息包括存储空间的大小、属性等信息。
又比如,第一设备的安全能力包括安全时钟,第一设备可确定对应的安全能力信息包括时间服务的信息。
再比如,第一设备的安全能力信息包括重放保护内存块(replay protected memory block,RPMB)的大小、属性等信息。
在一些实施例中,第一设备提供T-Profile的同步接口,通过该接口与通信系统中的第二设备完成安全能力信息的同步。
比如,第一设备在通过上述图4所示方法与一个或多个第二设备建立安全连接后,通过安全连接,可获取到一个或多个第二设备的安全能力信息(即第一安全能力信息)。
又比如,第一设备在本地创建用于记录安全能力信息的账本,将自身的安全能力信息(即第二安全能力信息)以及获取到的第二设备的安全能力信息(即第一安全能力信息)记录在该账本中。可选的,第一设备或第二设备按照预设周期广播自身的安全能力信息,和/或,在确定自身安全能力更新后广播更新后的安全能力信息。第一设备在接收到第二设备发送的广播信息后,更新本地账本中记录的第二设备的安全能力信息。之后,在需要确定通信系统中其他设备的安全能力时,从本地存储的账本中获取安全能力信息。
再比如,通信系统中设置有中心节点,中心节点能够用于管理通信系统中各个设备的安全能力信息,通信系统中包括的第一设备和第二设备可将自身的安全能力信息发送到中心节点进行同步。第一设备在确定需要调用其他设备的安全能力时,可向中心节点请求获取其他设备的安全能力信息。可选的,中心节点例如为通信系统中能够保持通信的电子设备、或者为运算能力较强的电子设备、或者为非电池设备(即能保证工作时长的设备)等。
示例性的,如图5所示,第一设备的TEE 52中包括同步服务模块523,同步服务模块523用于管理TEE 52的安全能力,以及通过安全连接同步通信系统中其他设备的安全能力信息。目标第二设备的TEE 54中包括同步服务模块543,同步服务模块543用于管理TEE 54的安全能力,以及通过安全连接同步通信系统中其他设备的安全能力信息。
在一些实施例中,第一设备在需要调用其他设备的安全能力时,可获取安全能力信息。安全能力信息中包括与第一设备建立有安全连接的一个或多个第二安全环境包括的安全能力。
可选的,第一设备通过安全连接,获取一个或多个第二设备的安全能力信息;和/或,获取本地存储的安全能力信息;和/或,获取中心节点发送的安全能力信息。
S702、第一设备根据安全能力信息,确定目标第二安全环境。
在一些实施例中,第一设备在获取到一个或多个第二设备的安全能力信息,通过安全能力信息,可确定一个或多个第二安全环境包括的安全能力。
可选的,一个或多个第二安全环境包括的安全能力包括:运行在一个或多个第二安全环境中的安全态应用的安全能力,和/或一个或多个第二安全环境支持的安全态服务。
示例性的,如图1所示的ARM TrustZone架构,电子设备的TEE中包括安全态应用(TA)和安全态服务(TService),安全应用和安全态服务具有相应的安全能力。第一设备可根据获取到的安全能力信息,确定第二设备的安全环境包括的安全态应用和/或安全态服务的安全能力。
需要说明的是,参见上文对图1所示架构的介绍,安全态服务可以以可信应用(或称为安全态应用)的形式运行在TEE OS上。也就是说,安全态应用集成了一个或多个安全态服务,各个设备的安全环境中可以包括一个或多个安全态应用,和/或一个或多个安全态服务。后续,第一设备调用目标第二设备的安全能力,可为第一设备的第一安全环境调用目标第二设备的目标第二安全环境中的安全态应用和/或安全态服务,对此下文不再说明。
在一些实施例中,第一设备在检测到待处理的业务后,确定自身不具备处理该业务的安全能力,或者自身只具备处理该业务部分数据的安全能力后,可通过上述步骤S601将该业务分配给目标第二设备的目标第二安全环境处理。
比如,第一设备可通过上述步骤S701获取到通信系统中其他设备的安全能力信息,进而可通过上述步骤S702确定配置有处理该业务的安全能力的安全环境。以便于,后续第一设备可将该业务对应的第一设备无法处理的数据发送到确定的安全环境中进行处理(即执行下述步骤S602)。
示例性的,如图5所示,第一设备根据其TEE 52中的同步服务模块523获取到的安全能力信息,确定目标第二设备中的TEE 54(即目标第二安全环境)具有处理待处理数据的第一安全能力。如同步服务模块523中存储有包括通信系统中全部设备的安全能力信息的表格,第一设备通过查表的方式,确定目标第二设备中的TEE 54具有所需的第一安全能力。
S602、第一设备通过第二连接,将第一数据发送到目标第二安全环境。
在一些实施例中,第一设备在确定配置有用于处理第一数据的第一安全能力的目标第二安全环境后,可将第一数据通过第二连接发送到包括目标第二安全环境的目标第二设备中进行处理。
如此,满足安全环境中的数据处理需求,提升用户使用体验。
S603、目标第二设备通过第一安全能力处理第一数据,获得第一处理结果。
在一些实施例中,目标第二设备在接收到第一数据后,可将第一数据发送到目标第二安全环境中,通过第一安全能力处理该第一数据。
可选的,第一数据中携带有该第一数据的业务标签,目标第二设备可根据该业务标签,确定用于处理该第一数据的第一安全能力。之后,目标第二设备在目标第二安全环境中通过第一安全能力处理第一数据,获取到第一数据的第一处理结果。其中,第一数据的业务标签中例如包括待使用的安全能力,该安全能力的凭证等信息。
比如,目标第二设备的TEE OS通过第一安全能力处理第一数据后,可确定第一处理结果。
在一些实施例中,目标第二设备的目标第二安全环境中还可以配置有权限确认模块,用于确定第一设备是否具有调用第一安全能力的权限。比如,第一设备在发送的第一数据中携带的业务标签中还可以包括第一设备的设备标识,目标第二设备根据该设备标识,可确定第一设备的权限。在确定具有调用第一安全能力的权限后,目标第二设备通过第一安全能力处理获取到的第一数据。
在一些实施例中,第一安全能力可为目标第二设备的目标第二安全环境中完整的安全态应用的安全能力,也可以为安全态应用的部分能力(如安全态服务)。
S604、第一设备通过第二连接,获取第一处理结果。
在一些实施例中,目标第二设备确定第一处理结果后,将该第一处理结果从目标第二安全环境通过第二连接发送到第一设备的第一安全环境。相应的,第一设备的第一安全环境接收该第一处理结果。
如此,通过不同设备的安全环境间的交互,实现不同设备的安全能力和安全资源的共享。并且,在保证数据安全的基础上,无需提前适配REE(即无需定制REE侧的应用能力),在用户无感知的情况下,即可自适应的调用其他设备的安全能力,满足用户的需求,降低用户操作难度。
在一些场景中,为了保证安全环境之间数据传输的安全,第一设备在确定需要使用目标第二设备的目标第二安全环境中的第一安全能力后,可与目标第二设备的目标第二安全环境之间协商用于传输数据的第一密钥。
可选的,如图8所示,在步骤S702之后,还可以包括步骤S801。
S801、第一设备和目标第二设备协商第一安全环境和目标第二安全环境之间数据传输的第一密钥。
在一些实施例中,为保证安全环境的通信安全,第一设备与目标第二设备需要协商此次通信的安全密钥,用于对通信过程中的传输数据进行加密。可选的,第一设备和目标第二设备可通过第二连接协商第一密钥。
示例性的,如图5所示,第一设备的TEE 52中包括分布式密钥管理模块522,目标第二设备的TEE 54中包括分布式密钥管理模块542,分别用于协商和管理各自的安全通信密钥。第一设备在通过同步服务模块523确定目标第二设备的TEE 54中包括处理待处理的第一数据的安全能力后,可通过分布式密钥管理模块522与分布式密钥管理模块542协商第二连接的加密密钥(即第一密钥)。
比如,通过公私钥密钥对的方式,确定第一密钥。具体的密钥协商方法可参考现有技术,对此本申请实施例不做具体限制。
在一些实施例中,第一设备可在上述步骤S403中建立与一个或多个第二设备的安全连接后,即与一个或多个第二设备协商用于对安全连接上传输的数据进行加密的安全密钥。之后,在获取安全能力信息的过程中(即步骤S701),通过确定的安全密钥对待传输的安全能力信息进行加密。从而保证安全能力信息的安全性。也就是说,步骤S801可在上述步骤S701之前执行。
在一些实施例中,第一设备和目标第二设备完成安全环境之间的密钥协商后,可通过协商后确定的第一密钥加密上述步骤S602中传输的第一数据,以及加密上述步骤S604中传输的第一处理结果。
可选的,如图8所示,步骤S602可包括步骤S602a,步骤S604可包括步骤S604a。
S602a、第一设备通过第二连接,将第一数据通过第一密钥加密后,发送到目标第二安全环境。
在一些实施例中,第一设备在与目标第二设备协商确定第一密钥,并确定待目标第二设备处理的第一数据后,第一设备可通过第一密钥加密第一数据,将加密后的第一数据通过第二连接发送到目标第二设备的目标第二安全环境进行处理。相应的,目标第二设备在接收到加密后的第一数据后,可根据协商确定的第一密钥,解密获取到的第一数据。
S604a、第一设备通过第二连接,获取通过第一密钥加密后的第一处理结果。
在一些实施例中,目标第二设备确定第一处理结果后,将该第一处理结果通过第一密钥加密后,从目标第二安全环境通过第二连接发送到第一设备的第一安全环境。相应的,第一设备的第一安全环境接收该第一处理结果,并可根据第一密钥解密接收到的第一处理结果。
如下基于上述图6-图8所示的数据处理方法,对其中第一设备的第一安全环境中待处理的第一数据的相关内容进行详细介绍。
在一些场景中,第一设备在检测到待处理的安全业务,确定本侧安全能力无法独立处理该安全业务后,触发上述步骤S701,获取通信系统中其他设备的安全能力信息。
示例性的,第一设备检测到用户的第一操作,确定第一操作对应的第一业务的待处理数据,根据第一业务的待处理数据,确定第一数据。其中,第一数据可为第一业务的全部数据或部分数据。第一设备确定自身的安全能力无法处理第一数据,可获取安全能力信息,以便确定能够处理该第一数据的设备。
比如,第一设备为大屏设备,大屏设备中安装有金融产品应用,配置有对应的实物操作界面(tangible user interface,TUI)。TUI用于显示安全键盘接收用户输入的密码等信息。大屏设备在检测到用户在TUI上输入的密码和需要操作的钱数后,确定自身不具备安全密钥能力,可执行上述步骤S701,获取通信系统中其他设备的安全能力信息。之后,大屏设备确定与其相连的手机(目标第二设备)具有安全密钥能力(即步骤S702),可与手机协商此次安全通信的第一密钥(即步骤S801)。之后,大屏设备将接收到的用户输入的密码和钱数通过第一密钥加密后,通过第二连接发送到手机的目标第二安全环境(即步骤S602a)。手机接收到密钥和钱数后,通过与云服务器(如银行服务器)交互,对密码进行验证,确定是否允许当前钱数的交易,确定第一处理结果(即步骤S603)。手机可通过第二连接将加密后的第一处理结果发送到大屏设备(即步骤S604a),大屏设备根据获取到的第一处理结果,确定此次安全验证是否通过,显示相应的处理结果。
又示例性的,第一设备响应于获取到的第二业务,也可确定第二业务的待处理数据中的第一数据。
比如,第一设备为服务器1,第一设备获取到通过安全存储能力存储数据的请求,确定本侧不具备安全存储能力,可执行上述步骤S701,获取通信系统中其他设备的安全能力信息。之后,服务器1确定服务器2的安全环境配置有安全存储能力(即步骤S702),可与服务器2协商此次安全通信的第一密钥(即步骤S801)。之后,服务器1将通过第一密钥加密后的存储数据通过第二连接发送到服务器2的目标第二安全环境(即步骤S602a)。服务器2接收到存储数据后,可通过安全存储能力存储该存储数据,确定第一处理结果,如存储成功或失败的响应(即步骤S603)。服务器1可获取到服务器2发送的第一处理结果(即步骤S604a),确定是否存储成功。
又比如,第一设备为服务器1,第一设备获取到通过安全存储能力存储数据的请求,确定本侧具有安全存储能力,但是存储空间不足。服务器1可执行上述步骤S701,获取通信系统中其他设备的安全能力信息。之后,服务器1确定服务器2的安全环境配置有安全存储能力和服务器2的可用安全存储空间大小,以及确定服务器3的安全环境配置有安全存储能力和服务器3的可用安全存储空间大小(即步骤S702)。服务器1根据获取到的安全能力信息,确定此次获取到的存储数据,需要通过自身剩余的安全存储空间、服务器2的可用安全存储空间、以及服务器3的可用安全存储空间,才可完成全部存储业务。
那么,服务器1可与服务器2协商此次安全通信的密钥1,以及与服务器3协商此次安全通信的密钥2(即步骤S801)。之后,服务器1将待存储的存储数据切分为待分布式存储的数据1(需本侧安全存储的数据)、数据2(需服务器2安全存储的数据)、以及数据3(需服务器3安全存储的数据),通过密钥1加密数据2后通过与服务器2之间的安全连接发送到服务器2的安全环境,以及通过密钥2加密数据3后通过与服务器3之间的安全连接发送到服务器3的安全环境(即步骤S602a)。服务器2和服务器3接收到相应的数据后,通过安全存储能力存储数据,确定数据存储响应(即步骤S603)。服务器1可获取到服务器2和服务器3发送的数据存储响应(即步骤S604a),确定是否存储成功,并且可直接确定本侧的数据1是否存储成功。
如此,通过池化安全能力,将通信系统中各个设备的安全环境集合成超级安全环境(super TEE)。因此,只要超级安全环境中具备处理待处理数据的安全能力,通信系统中的设备即可处理该待处理的数据。
此外,抽象各个设备的安全能力,切分安全业务,多个设备通过自身的安全能力合作处理安全业务,从而充分利用各个设备的安全能力。
需要说明的是,第一设备对待处理业务的切分,可参考现有技术,对此本申请实施例不做具体阐述。如上述示例,第一设备可根据自身的安全能力、安全存储资源等信息,进行业务切分。比如,大屏设备确定自身采集密码,由手机验证密码。又比如,服务器1对待存储的数据进行切分,确定由服务器1、服务器2和服务器3分别存储的数据。
在一些实施例中,在上述步骤S604a中,目标第二设备在发送第一处理结果后,删除第一密钥。相应的,第一设备在获取到第一处理结果后,删除第一密钥。
如此,第一设备在每次需要调用其他设备的安全能力时,均需重新与确定的目标第二设备协商此次通信的密钥,避免密钥泄露,影响数据传输的安全性。
比如,第一设备在删除第一密钥后,获取到第二业务,确定待处理的第二业务的第二数据。之后,第一设备确定目标第二设备的目标第二安全环境包括第二安全能力,第二安全能力可用于处理第一安全环境中待处理的第二数据。那么,第一设备通过第二连接,与目标第二设备协商第一安全环境和目标第二安全环境之间数据传输的第二密钥,第二密钥用于加密第二数据和第二数据对应的第二处理结果。
在一些实施例中,第一设备确定第二设备退出通信系统后,可删除安全信息中该第二设备的安全能力信息。比如,第一设备断开与包括目标第二安全环境的目标第二设备之间的第一连接后,可删除安全能力信息中目标第二设备的目标第二安全环境的安全能力。
示例性的,如图9所示,第一设备接入到包括第二设备的通信系统(如加入网络)后,建立第一设备的第一安全环境与第二设备的第二安全环境之间的安全连接。之后,第一设备生成自身的安全能力信息,并且通过该安全连接,将该安全能力信息发送到其他第二设备,并通过该安全连接同步其他第二设备的安全能力信息,从而完成设备入网的安全能力信息的同步。
之后,通信系统中的第二设备退出通信系统(如退出网络)后,同步广播自身的退网信息,第一设备可同步删除该退网设备的安全能力信息。此外,该退网设备也可以删除本地存储的该退出的通信系统中其他设备的安全能力信息。
可以理解的是,第一设备断开与目标第二设备之间的第一连接后,两个设备安全环境之间的第二连接自动断开。
如此,保证通信系统中安全能力信息的同步更新,避免同步的安全能力信息中包括已经不接入该通信系统的设备的安全能力信息,导致其他设备调用该设备的安全能力失败。
以上结合图4-图9详细说明了本申请实施例提供的数据处理方法。以下结合图10和图11详细说明本申请实施例提供的第一设备和第二设备。
在一种可能的设计中,图10为本申请实施例提供的第一设备的结构示意图。如图10所示,第一设备1000可以包括:收发单元1001和处理单元1002。第一设备1000可用于实现上述方法实施例中涉及的第一设备的功能。其中,第一设备为电子设备或服务器。
可选地,收发单元1001,用于支持第一设备1000执行图4中的S401和S403;和/或,用于支持第一设备1000执行图6中的S602和S604;和/或,用于支持第一设备1000执行图7中的S701;和/或,用于支持第一设备1000执行图8中的S801、S602a以及S604a。
可选地,处理单元1002,用于支持第一设备1000执行图4中的S402;用于支持第一设备1000执行图6中的S601;和/或,和/或,用于支持第一设备1000执行图7中的S702。
其中,收发单元可以包括接收单元和发送单元,可以由收发器或收发器相关电路组件实现,可以为收发器或收发模块。第一设备1000中的各个单元的操作和/或功能分别为了实现上述方法实施例中所述的数据处理方法的相应流程,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,为了简洁,在此不再赘述。
可选地,图10所示的第一设备1000还可以包括存储单元(图10中未示出),该存储单元中存储有程序或指令。当收发单元1001和处理单元1002执行该程序或指令时,使得图10所示的第一设备1000可以执行上述方法实施例中所述的数据处理方法。
图10所示的第一设备1000的技术效果可以参考上述方法实施例中所述的数据处理方法的技术效果,此处不再赘述。
除了以第一设备1000的形式以外,本申请提供的技术方案也可以为第一设备中的功能单元或者芯片,或者与第一设备匹配使用的装置。
在一种可能的设计中,图11为本申请实施例提供的第二设备的结构示意图。如图11所示,第二设备1100可以包括:收发单元1101和处理单元1102。第二设备1100可用于实现上述方法实施例中涉及的第二设备的功能。其中,第二设备为电子设备或服务器。
可选地,收发单元1101,用于支持第二设备1100执行图4中的S401和S403;和/或,用于支持第二设备1100执行图6中的S602和S604;和/或,用于支持第二设备1100执行图8中的S801、S602a以及S604a。
可选地,处理单元1102,用于支持第二设备1100执行图6中的S603。
其中,收发单元可以包括接收单元和发送单元,可以由收发器或收发器相关电路组件实现,可以为收发器或收发模块。第二设备1100中的各个单元的操作和/或功能分别为了实现上述方法实施例中所述的数据处理方法的相应流程,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能单元的功能描述,为了简洁,在此不再赘述。
可选地,图11所示的第二设备1100还可以包括存储单元(图11中未示出),该存储单元中存储有程序或指令。当收发单元1101和处理单元1102执行该程序或指令时,使得图11所示的第二设备1100可以执行上述方法实施例中所述的数据处理方法。
图11所示的第二设备1100的技术效果可以参考上述方法实施例中所述的数据处理方法的技术效果,此处不再赘述。
除了以第二设备1100的形式以外,本申请提供的技术方案也可以为第二设备中的功能单元或者芯片,或者与第二设备匹配使用的装置。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性地,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(AP设备plication specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据处理方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据处理方法。
另外,本申请实施例还提供一种装置。该装置具体可以是组件或模块,该装置可包括相连的一个或多个处理器和存储器。其中,存储器用于存储计算机程序。当该计算机程序被一个或多个处理器执行时,使得装置执行上述各方法实施例中的数据处理方法。
其中,本申请实施例提供的装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法。因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应地软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmable ROM,EPROM)、电可擦可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(AP设备plication specific integrated circuit,ASIC)中。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明。实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成;即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
计算机可读存储介质包括但不限于以下的任意一种:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (19)

  1. 一种数据处理方法,其特征在于,应用于第一设备,所述第一设备与一个或多个第二设备建立有第一连接,所述第一设备包括第一安全环境,所述一个或多个第二设备包括对应于所述一个或多个第二设备的一个或多个第二安全环境,所述方法包括:
    确定所述一个或多个第二安全环境中包括第一安全能力的目标第二安全环境;其中,所述第一安全能力用于处理所述第一安全环境中待处理的第一数据;
    通过第二连接,将所述第一数据发送到所述目标第二安全环境,所述第二连接为所述第一安全环境和所述目标第二安全环境之间的连接;
    通过所述第二连接,接收所述第一数据的第一处理结果,所述第一处理结果为通过所述第一安全能力处理所述第一数据后生成的处理结果。
  2. 根据权利要求1所述的方法,其特征在于,所述确定所述一个或多个第二安全环境中包括第一安全能力的目标第二安全环境,包括:
    获取第一安全能力信息,所述第一安全能力信息包括所述一个或多个第二安全环境包括的安全能力;
    根据所述第一安全能力信息,确定所述目标第二安全环境。
  3. 根据权利要求2所述的方法,其特征在于,在所述通过第二连接,将所述第一数据发送到所述目标第二安全环境之前,所述方法还包括:
    与包括所述目标第二安全环境的目标第二设备协商所述第一安全环境和所述目标第二安全环境之间数据传输的第一密钥,所述第一密钥用于加密通过所述第二连接传输的所述第一数据和所述第一处理结果。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    删除所述第一密钥。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    确定所述目标第二安全环境包括第二安全能力,所述第二安全能力用于处理所述第一安全环境中待处理的第二数据;
    与所述目标第二设备协商所述第一安全环境和所述目标第二安全环境之间数据传输的第二密钥,所述第二密钥用于加密通过所述第二连接传输的所述第二数据和所述第二数据对应的第二处理结果。
  6. 根据权利要求2-5任一项所述的方法,其特征在于,在所述获取第一安全能力信息之前,所述方法还包括:
    通过所述第一连接,接收所述一个或多个第二设备发送的所述一个或多个第二安全环境的第一信息;
    根据所述第一信息,确定所述一个或多个第二安全环境安全;
    分别建立所述第一安全环境和所述一个或多个第二安全环境之间的安全连接,所述安全连接用于获取所述一个或多个第二设备的第一安全能力信息,所述第二连接为所述安全连接中所述目标第二安全环境对应的连接。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    通过所述安全连接,向所述一个或多个第二设备发送所述第一安全环境包括的安全能力的第二安全能力信息。
  8. 根据权利要求2-5任一项所述的方法,其特征在于,所述获取第一安全能力信息,包括:
    获取本地存储的所述第一安全能力信息;
    和/或,获取中心节点发送的所述第一安全能力信息。
  9. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    向所述中心节点发送所述第一安全环境包括的安全能力的第二安全能力信息。
  10. 根据权利要求2-9任一项所述的方法,其特征在于,所述方法还包括:
    断开与包括所述目标第二安全环境的目标第二设备之间的所述第一连接;
    删除所述第一安全能力信息中所述目标第二设备的所述目标第二安全环境的安全能力信息。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述一个或多个第二安全环境包括的安全能力包括:运行在所述一个或多个第二安全环境中的安全态应用的安全能力,和/或所述一个或多个第二安全环境支持的安全态服务。
  12. 根据权利要求1-11任一项所述的方法,其特征在于,所述第一安全环境或第二安全环境为可信执行环境TEE或机密计算环境。
  13. 一种数据处理方法,其特征在于,应用于第二设备,所述第二设备与第一设备建立有第一连接,所述第二设备包括第二安全环境,所述第一设备包括第一安全环境,所述方法包括:
    通过第二连接,所述第二设备中的所述第二安全环境接收所述第一设备中的第一安全环境发送的第一数据,所述第二连接为所述第一安全环境和所述第二安全环境之间的连接,所述第一数据为所述第一安全环境中的待处理数据;
    通过第一安全能力处理所述第一数据,获得第一处理结果;
    通过所述第二连接,向所述第一安全环境发送所述第一处理结果。
  14. 根据权利要求13所述的方法,其特征在于,在所述通过第二连接,所述第二设备中的所述第二安全环境接收所述第一设备中的第一安全环境发送的第一数据之前,所述方法还包括:
    与所述第一设备协商所述第一安全环境和所述第二安全环境之间数据传输的第一密钥,所述第一密钥用于加密所述第一数据和所述第一处理结果。
  15. 根据权利要求13或14所述的方法,其特征在于,在所述通过第一安全能力处理所述第一数据之前,所述方法还包括:
    确定所述第一设备具有调用所述第一安全能力的权限。
  16. 根据权利要求13-15任一项所述的方法,其特征在于,所述第一数据携带所述第一数据对应的业务标签;在通过第一安全能力处理所述第一数据,获得第一处理结果之前,所述方法还包括:
    根据所述业务标签,确定所述业务标签对应的所述第一安全能力。
  17. 一种数据处理装置,其特征在于,包括:处理器和存储器,所述存储器与所述处理器耦合,所述存储器用于存储计算机可读指令,当所述处理器从所述存储器中读取所述计算机可读指令,使得所述数据处理装置执行如权利要求1-12中任意一项所述的方法;或者,使得所述数据处理装置执行如权利要求13-16中任意一项所述的方法。
  18. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在数据处理装置上运行时,使得所述数据处理装置执行如权利要求1-12中任意一项所述的方法;或者,使得所述数据处理装置执行如权利要求13-16中任意一项所述的方法。
  19. 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-12中任意一项所述的方法;或者,使得所述计算机执行如权利要求13-16中任意一项所述的方法。
PCT/CN2023/089573 2022-04-29 2023-04-20 数据处理方法及装置 WO2023207758A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210467415.4 2022-04-29
CN202210467415.4A CN117009971A (zh) 2022-04-29 2022-04-29 数据处理方法及装置

Publications (1)

Publication Number Publication Date
WO2023207758A1 true WO2023207758A1 (zh) 2023-11-02

Family

ID=88517559

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/089573 WO2023207758A1 (zh) 2022-04-29 2023-04-20 数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN117009971A (zh)
WO (1) WO2023207758A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210034763A1 (en) * 2018-01-31 2021-02-04 Huawei Technologies Co., Ltd. Splitting Sensitive Data and Storing Split Sensitive Data in Different Application Environments
CN114238900A (zh) * 2020-09-09 2022-03-25 华为技术有限公司 一种数据传输方法及电子设备
CN114245375A (zh) * 2020-09-09 2022-03-25 华为技术有限公司 一种密钥跨设备分发方法及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210034763A1 (en) * 2018-01-31 2021-02-04 Huawei Technologies Co., Ltd. Splitting Sensitive Data and Storing Split Sensitive Data in Different Application Environments
CN114238900A (zh) * 2020-09-09 2022-03-25 华为技术有限公司 一种数据传输方法及电子设备
CN114245375A (zh) * 2020-09-09 2022-03-25 华为技术有限公司 一种密钥跨设备分发方法及电子设备

Also Published As

Publication number Publication date
CN117009971A (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
WO2021052178A1 (zh) 一种Wi-Fi连接方法及设备
EP3820077A1 (en) Login method, token sending method, and device
US20230125139A1 (en) Account Data Sharing Method and Electronic Device
WO2020042119A1 (zh) 一种消息传输方法及设备
WO2021093855A1 (zh) 一种移动设备管理方法及设备
WO2021147660A1 (zh) 一种数据传输方法及设备
WO2021175266A1 (zh) 身份验证方法、装置和电子设备
WO2021184264A1 (zh) 数据保存方法、数据访问方法及相关装置、设备
WO2022143156A1 (zh) 一种加密通话方法、装置、终端及存储介质
EP4152198A1 (en) Method and apparatus for storing ciphertext
WO2021057982A1 (zh) 应用程序的处理方法及相关产品
US20240095329A1 (en) Cross-Device Authentication Method and Electronic Device
WO2021227942A1 (zh) 一种分享信息的方法、电子设备和系统
WO2023207758A1 (zh) 数据处理方法及装置
CN110597840A (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
WO2022174718A1 (zh) 一种数据备份方法和电子设备
CN113950048B (zh) 连接建立方法、电子设备及存储介质
WO2024037500A1 (zh) 通信方法及相关装置
WO2024164112A1 (zh) 应用间通信方法、通信系统、应用间通信装置及车辆
WO2023169545A1 (zh) 离线设备控制方法及相关装置
WO2023246695A1 (zh) 设备授权方法及电子设备、系统
WO2024114214A1 (zh) 一种通信方法以及电子设备
CN116743357B (zh) 密钥存储方法和装置
WO2024037040A1 (zh) 数据处理方法及电子设备
CN116049826B (zh) 基于tpm的数据保护方法、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23795191

Country of ref document: EP

Kind code of ref document: A1