WO2018000370A1 - 一种移动终端的认证方法及移动终端 - Google Patents

一种移动终端的认证方法及移动终端 Download PDF

Info

Publication number
WO2018000370A1
WO2018000370A1 PCT/CN2016/087993 CN2016087993W WO2018000370A1 WO 2018000370 A1 WO2018000370 A1 WO 2018000370A1 CN 2016087993 W CN2016087993 W CN 2016087993W WO 2018000370 A1 WO2018000370 A1 WO 2018000370A1
Authority
WO
WIPO (PCT)
Prior art keywords
biometric
mobile terminal
application
management module
request message
Prior art date
Application number
PCT/CN2016/087993
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 华为技术有限公司
Priority to PCT/CN2016/087993 priority Critical patent/WO2018000370A1/zh
Priority to US16/314,031 priority patent/US20210240807A1/en
Priority to CN201680087094.8A priority patent/CN109416800B/zh
Publication of WO2018000370A1 publication Critical patent/WO2018000370A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • G06Q20/3267In-app payments

Definitions

  • the embodiments of the present invention relate to the field of communications technologies, and in particular, to a method for authenticating a mobile terminal and a mobile terminal.
  • the smart terminal provides a user identity authentication mechanism. For example, before running certain applications or presenting certain content, the user needs to input fingerprint information for identity authentication, and then run certain after the identity authentication is passed. Apply or render something.
  • TEE Trusted Execution Environment
  • REE Rich Execution Environment
  • the process of registering the user by using the fingerprint includes: the third-party client application under the REE sends a request message to the corresponding third-party trusted application in the trusted execution environment, requesting fingerprint registration, and the third party After the trusted application obtains the request message, it performs fingerprint registration by calling the TEE Internal API. If the mobile terminal has multiple third-party client applications that need to perform fingerprint registration of the same function, each application sends a fingerprint registration request to the corresponding third-party trusted application under the TEE, and each third-party trusted application calls the TEE Internal API to execute The same fingerprint registration greatly consumes the running resources of the mobile terminal, and the registration process is repeated, resulting in low efficiency of the mobile terminal.
  • the embodiments of the present invention provide a method, an apparatus, and a mobile terminal for authenticating a mobile terminal, which are to solve the technical problem that the operating efficiency of the mobile terminal is greatly reduced when the mobile terminal performs biometric authentication in the prior art. .
  • an embodiment of the present invention provides a method for authenticating a mobile terminal, where the method is applied to a mobile terminal, such as a mobile phone, a tablet, or the like.
  • the method includes: a first application running in a REE; a second application running in a TEE, the second application being associated with the first application; and a biometric management module running In the TEE, the biometric management module is configured to perform an operation related to biometric (eg, fingerprint) authentication in the TEE; the first application generates a request message; and the request message carries the second application Or the identifier information of the biometric management module; the request message is sent to the interface of the TEE via the REE interface; if the request message carries the identifier information of the second application, the interface of the TEE will be the request The message is sent to the second application; if the request message carries the identification information of the biometric management module, the interface of the TEE sends the request message to the biometric management module.
  • biometric management module is configured to perform an operation related to biometric (eg, fingerprint) authentication in the TEE
  • the first application generates a request message
  • the request message carries the second application Or the identifier information of the bio
  • the biometrics management module is added to uniformly manage the biometric authentication, that is, the biometric authentication operations of all applications in the REE environment are uniformly processed by the biometrics management module, and the biological The authentication efficiency of the feature.
  • the biometric management module follows a path sending response message, where the response message is a response to the request message. That is, the biometric management module generates a response message; the response message is sent to the interface of the REE via the interface of the TEE; the interface of the REE sends the response message to the first application.
  • the return path ensures that the first application obtains the authentication result of the biometric in time.
  • the request message is used to request authentication of a biometric (eg, verifying a fingerprint).
  • the process of generating the response message by the biometrics management module is specifically: calling a biometric interface, the biometric interface invoking hardware of the mobile terminal to acquire a biometric to be authenticated; and hardware of the mobile terminal acquiring the storage of the mobile terminal
  • the hardware of the mobile terminal determines whether the biometric to be authenticated matches the biometric stored by the mobile terminal, and generates an authentication result; the biometric management module receives the hardware of the mobile terminal and sends the hardware through the biometric interface.
  • the result of the authentication generates a response message.
  • the request message carries type information of the first application (such as a payment application); and the request message is used for requesting Certify biometrics (such as verifying fingerprints).
  • the process of generating the response message by the biometrics management module is specifically: the biometrics management module calls the hardware of the mobile terminal to acquire the biometric to be authenticated via the biometric interface; the hardware of the mobile terminal acquires the mobile terminal to store At least one first biometric, type information of the first biometric.
  • the type information of the first application is matched, that is, the type information corresponding to the biometric is stored in the mobile terminal, for example, the fingerprint of the payment type is used for the application of the payment class, and the fingerprint of the shortcut type is used for quickly opening the application.
  • the biometric management module receives an authentication result sent by the hardware of the mobile terminal via the biometric interface, and generates Response message.
  • the mobile terminal can invoke the corresponding biometrics in a specific type according to the type information of the first application, and can complete the authentication without traversing all the biometric features stored in the mobile phone, thereby improving the efficiency of the authentication.
  • the method further includes: if the hardware of the mobile terminal determines the biometric to be authenticated and the first biometric If the data is not matched, the hardware of the mobile terminal traverses all the biometric features to authenticate the biometric to be authenticated, generates an authentication result, and sends the authentication result to the biometric interface, and then the biometric management module obtains the authentication result and generates Response message.
  • the biometric management module obtains the authentication result and generates Response message.
  • the apparatus and the mobile terminal for performing the above method are further provided by the embodiment of the present invention.
  • the specific system architecture may refer to FIG. 4 or FIG. 5, and the specific details are as follows. Particular description of the specific embodiments. Both the device or the mobile terminal can improve the efficiency in biometric authentication.
  • an embodiment of the present invention provides a method for authenticating a mobile terminal, and the method is also applied to a mobile terminal, such as a mobile phone, a tablet, or the like.
  • the method includes: a first application running in a REE; a second application running in a TEE, the second application being associated with the first application; and a biometric management module running In the TEE; the first application generates a first request message; the second application receives the first request message via an interface of the REE and the TEE; if the second application determines the The first request message is a request message related to a biometric, and the second application sends the first request message to the biometric management module.
  • the biometrics management module is added to manage the biometric authentication, that is, all applications in the REE environment first send the message to the associated application in the TEE environment, if The message is a biometric authentication related message, and the application in the TEE environment sends the authentication request to the biometrics management module for unified processing, thereby improving the biometric authentication efficiency.
  • the method further includes: a third application running in the REE environment; a fourth application running in the TEE environment, the fourth application being associated with the third application; and the third application generating a second request
  • the fourth application receives the second request message via an interface of the first execution environment and the second execution environment; and if the fourth application determines that the second request message is related to a biometric
  • the request message the fourth application sends the second request message to the biometric management module.
  • multiple applications in the REE environment send the request message to the associated application in the TEE environment, and the associated application determines whether to process it by itself or send it to the biometric management module for processing.
  • the biometric management module generates a first response message, where the first response message is the biometric management a response of the module to the first request message; the second application receives the first response message sent by the biometric management module; the first application is connected to the interface of the REE environment and the TEE environment, Receiving the first response message.
  • the return path ensures that the first application obtains the authentication result of the biometric in time.
  • the first request message is used to request to authenticate a biometric
  • the biometric management module generates a first response message, including
  • the biometric interface invokes the hardware of the mobile terminal to acquire a biometric to be authenticated; the hardware of the mobile terminal acquires a biometric stored by the mobile terminal; and the hardware of the mobile terminal determines the biometric and the to be authenticated Whether the biometrics stored by the mobile terminal match, and generating an authentication result; the biometrics management module receives the authentication result sent by the hardware of the mobile terminal via the biometric interface, and generates the first response message.
  • the first request message carries type information of the first application (such as a payment application); Requesting to authenticate the biometrics; the biometrics management module generates the first response message, specifically, the biometrics management module invokes the hardware of the mobile terminal to acquire the biometrics to be authenticated via the biometric interface; the hardware of the mobile terminal Acquiring at least one first biometric stored by the mobile terminal, the type information of the first biometric matching the type information of the first application; if the hardware of the mobile terminal determines the biometric and the to-be-authenticated The first biometrics are matched, and the biometric management module receives the authentication result sent by the hardware of the mobile terminal via the biometric interface to generate the first response message.
  • the mobile terminal may invoke the corresponding biometric in a specific type according to the type information of the first application, and may not By traversing all the biometric features stored in the mobile phone to achieve authentication, the efficiency of authentication is improved.
  • the method further includes: if the hardware of the mobile terminal determines the biometric to be authenticated and the first biometric Without matching, the hardware of the mobile terminal traverses all biometrics to authenticate the biometric to be authenticated; the hardware of the mobile terminal generates an authentication result, and sends the authentication result to the biometric interface; The biometric management module receives the authentication result sent by the biometric interface, and generates the first response message.
  • the mobile terminal traverses all the local biometrics, performs authentication, and guarantees the output of the authentication result.
  • the device and the mobile terminal for performing the above method are further provided by the embodiment of the present invention.
  • the specific system architecture may refer to FIG. 3, and the specific details are as follows. Partial description. Both the device or the mobile terminal can improve the efficiency in biometric authentication.
  • the biometrics management module is configured to perform operations related to biometric authentication, thereby effectively saving operating resources during biometric authentication, improving authentication efficiency and operating efficiency of the mobile terminal. .
  • FIG. 1 is a schematic structural diagram of a mobile terminal according to an embodiment of the present disclosure
  • FIG. 3 is a schematic diagram of a fingerprint identification architecture according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a fingerprint identification architecture according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a fingerprint identification architecture according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a method for biometric authentication according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for biometric authentication according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of a fingerprint authentication sequence according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a fingerprint authentication sequence according to an embodiment of the present invention.
  • Mobile terminals also known as User Equipment (UE), intelligent terminals, including but not limited to mobile phones, mobile computers, tablets, personal digital assistants (PDAs), media players, smart TVs , smart watches, smart glasses, smart bracelets, etc.
  • UE User Equipment
  • PDAs personal digital assistants
  • the method for sharing the fingerprint template of the present invention can be applied to various mobile terminals. The following describes the specific implementation manner of the mobile terminal that performs the method. In other embodiments of the invention, well-known methods, procedures, components, and circuits are not described in detail.
  • OS Operating System
  • REE Rich Execution Environment
  • TEE The Trusted Execution Environment
  • TEE is a technical solution proposed to solve the security risks of current mobile terminal devices.
  • TEE is a trusted operating system with secure processing capabilities and security peripheral operations. It is isolated and independent from REE on the same device. It is defined by the global platform, the Global Platform, which is a secure area residing on the host processor of the connected device to ensure the storage, processing and protection of sensitive data in a trusted execution environment.
  • This security zone is a logical concept that is used to represent the security attributes of the TEE.
  • TEE and REE run in parallel on the same device, and the processor switches between REE and TEE according to the SMC instruction.
  • TEE guarantees the storage, processing and protection of sensitive data in a trusted environment and provides a secure execution environment for authorized security software, such as trusted applications, by implementing protection, confidentiality, integrity and data access rights. End-to-end security.
  • Secure Element a tamper-proof electronic component that can be installed on a terminal to provide a secure, confidential data storage and operating environment for applications installed on a security unit.
  • the hardware provided for installing the application and the hardware device with the installed application management function can be regarded as a security unit.
  • a smartphone with Android system can install a third-party application, and the Android operating system. Can manage these third-party applications and Provide a certain degree of protection, so it can be regarded as a generalized security unit.
  • the SE consists of software and tamper-resistant hardware that supports a high level of security, such as SIM cards, financial IC cards, smart SD cards, etc., and can be run with TEE.
  • the terms of the security unit may differ in different specifications.
  • SE Secure Element
  • NFC NFC execution environment
  • Execution Environment It should be noted that these two terms are in the medium of the embodiments of the present invention.
  • a Trusted Application is an application running on a TEE that can access all functions of the device's main processor and memory.
  • the hardware isolation technology protects it from the application software installed in the REE.
  • the client application (Client Applicat1n, CA) runs on the REE.
  • the CA accesses the TA by calling the Application Programming Interface (API) of the TEE client located in the REE, thereby using the security functions provided by the TEE and the TA.
  • API Application Programming Interface
  • an application developer develops an application, it generally provides a CA running in a REE environment and a TA running in a TEE environment, where CA and TA correspond one-to-one.
  • the Alipay application the developer will develop two installation files of the Alipay application during development.
  • the processor loads the installation file of the Alipay CA and runs the Alipay CA; in the TEE environment, the processor loads the installation file of the Alipay TA. , run Alipay TA.
  • the Trusted User Interface is an application interface of the TA. It is used to securely present the user interface to users and prevent attacks such as phishing.
  • RTA The Relying Trusted Application
  • the TA that requires biometric identification can be an RTA.
  • RTA responds to the results of fingerprint recognition and feeds the response back to the CA in the REE environment.
  • RTAs may have different names, such as fingerprint TA, depending on the particular biometric.
  • the storage template may be a registered biometric, ie in some embodiments, a storage template of a certain biometric is equivalent to the biometric.
  • a fingerprint storage template can be equivalent to a fingerprint.
  • biometric authentication can be understood to include registration of biometrics, deletion of biometrics, verification of biometrics, cancellation of association between biometrics and applications, etc.
  • Other possible biological features may also be included.
  • the biometric feature is only exemplified by a fingerprint, and the specific implementation may also be an iris, a palm print, an image, or the like.
  • FIG. 1 is a schematic structural diagram of a mobile terminal according to an embodiment of the present disclosure. It should be understood that the illustrated mobile terminal 100 is merely an example, the actual product may have more or fewer components than those shown in the figures, two or more components may be combined, or may have different Component configuration.
  • the various components shown in the figures can be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
  • the mobile terminal 100 includes an RF (Radio Frequency) circuit 110, a memory 120, an input unit 130, a display unit 140, a sensor 150, an audio circuit 160, and a WiFi (Wireless Fidelity) module 170. , processor 180, and power supply 190 and other components. The following describes each component in detail:
  • RF Radio Frequency
  • the RF circuit 110 can be used for transmitting and receiving information or during a call, and receiving and transmitting the signal. Specifically, after receiving the downlink information of the base station, the processor 180 processes the data. In addition, the uplink data is designed to be sent to the base station.
  • RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, and the like.
  • RF circuitry 110 can also communicate with the network and other devices via wireless communication.
  • the wireless communication may use any communication standard or protocol, including but not limited to GSM (Global System of Mobile communication), GPRS (General Packet Radio Service), CDMA (Code Division Multiple Access). , Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), LTE (Long Term Evolution), e-mail, SMS (Short Messaging Service), and the like.
  • the memory 120 can be used to store software programs and modules, and the processor 180 executes various functional applications and data processing of the mobile terminal 100 by running software programs and modules stored in the memory 120.
  • the memory 120 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored. Data (such as audio data, phone book, etc.) created according to the use of the mobile terminal 100, and the like.
  • memory 120 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the input unit 130 can be configured to receive input numeric or character information and to generate key signal inputs related to user settings and function control of the mobile terminal 100.
  • the input unit 130 may include a touch panel 131 and other input devices 132.
  • the touch panel 131 also referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, etc.
  • the object or accessory is operated on or near the touch panel 131, and the corresponding connecting device is driven according to a preset program.
  • the touch panel 131 may include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 180 is provided and can receive commands from the processor 180 and execute them.
  • the touch panel 131 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 130 may also include other input devices 132.
  • other input devices 132 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • the display unit 140 can be used to display information input by the user or information provided to the user and various menus of the mobile terminal 100.
  • the display unit 140 may include a display panel 141.
  • the display panel 141 may be configured in the form of an LCD (Liquid Crystal Display), an OLED (Organic Light-Emitting Diode), or the like.
  • the touch panel 131 can cover the display panel 141. When the touch panel 131 detects a touch operation on or near the touch panel 131, the touch panel 131 transmits to the processor 180 to determine the type of the touch event, and then the processor 180 according to the touch event. The type provides a corresponding visual output on display panel 141.
  • the touch panel 131 and the display panel 141 are two independent components to implement the input and input functions of the mobile terminal 100 in FIG. 1 , in some embodiments, the touch panel 131 and the display panel 141 may be The input and output functions of the mobile terminal 100 are implemented by integration.
  • the mobile terminal 100 may also include at least one type of sensor 150, such as a fingerprint sensor, a light sensor, a motion sensor, and other sensors.
  • the fingerprint sensor is used to identify fingerprint information input by the user.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 141 according to the brightness of the ambient light, and the proximity sensor may close the display panel 141 and/or when the mobile terminal 100 moves to the ear. Backlighting.
  • the accelerometer sensor can detect the magnitude of acceleration in all directions (usually three axes). When it is stationary, it can detect the magnitude and direction of gravity.
  • attitude of the mobile terminal such as horizontal and vertical screen switching, Related games, magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for the gyroscope, barometer, hygrometer, thermometer, infrared sensor and other sensors that the mobile terminal 100 can also configure, This will not be repeated here.
  • the audio circuit 160, the speaker 161, and the microphone 162 can provide an audio interface between the user and the mobile terminal 100.
  • the audio circuit 160 can transmit the converted electrical data of the received audio data to the speaker 161 for conversion to the sound signal output by the speaker 161; on the other hand, the microphone 162 converts the collected sound signal into an electrical signal by the audio circuit 160. Converted to audio data after receiving, The audio data is then output to the RF circuit 108 for transmission to, for example, another mobile terminal, or the audio data is output to the memory 120 for further processing.
  • WiFi is a short-range wireless transmission technology
  • the mobile terminal 100 can help users to send and receive emails, browse web pages, and access streaming media through the WiFi module 170, which provides wireless broadband Internet access for users.
  • FIG. 1 shows the WiFi module 170, it can be understood that it does not belong to the essential configuration of the mobile terminal 100, and may be omitted as needed within the scope of not changing the essence of the invention.
  • the processor 180 is a control center of the mobile terminal 100 that connects various portions of the entire mobile terminal using various interfaces and lines, by running or executing software programs and/or modules stored in the memory 120, and recalling stored in the memory 120.
  • the processor 180 may include one or more processing units; preferably, the processor 180 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It can be understood that the above modem processor may not be integrated into the processor 180.
  • the mobile terminal 100 also includes a power source 190 (such as a battery) that supplies power to various components.
  • a power source 190 such as a battery
  • the power source can be logically coupled to the processor 180 through a power management system to manage functions such as charging, discharging, and power consumption through the power management system.
  • the mobile terminal 100 may further include a camera, a Bluetooth module, and the like, and details are not described herein again.
  • GlobalPlatform is a cross-industry international standards organization dedicated to the development, development and release of technical standards for security chips to facilitate the management of multi-application industrial environments and their secure, interoperable business deployment. Its focus is on security unit (SE), trusted execution environment (TEE) and system messaging (Mobile Messaging).
  • SE security unit
  • TEE trusted execution environment
  • Mobile Messaging Mobile Messaging
  • the International Standards Organization has developed a set of standards for TEE's API and security services. Examples of TEE security services include secure storage, key management, encryption, secure clocks, and trusted user interfaces.
  • TEE Client API the interface between TEE and REE is called the TEE Client API
  • GlobalPlatform standardized the TEE Client API in 2010.
  • the CA runs in the REE environment, and the CA accesses the TEE by calling the TEE Client API in the REE environment, thereby calling the TEE security service example mentioned above.
  • the TEE Client API includes a REE Communication Agent, and the CA communicates with the proxy driver (TEE Communication Agent) in the TEE through the REE Communication Agent in the REE, thereby implementing the TA in the CA and the REE. Between For information exchange, the CA cannot directly access the resources of the TEE without the REE Communication Agent.
  • the TA runs in the TEE OS.
  • TEE supports running multiple TAs that are developed by different providers and executed independently of each other.
  • the TA runs in the TEE to provide security services to its corresponding CA.
  • the TEE Internal API By invoking the TEE Internal API under TEE, the TA gains controlled access to secure resources and services in the TEE.
  • the Client API and the Internal API can be understood as an API library, which actually includes multiple API interfaces.
  • Fingerprint Biometrics is an appendix of the internal API, which is understood by Fingerprint Biometrics as part of the Internal API interface library, where the Fingerprint Biometrics and Fingerprint Biometrics interfaces are equivalent.
  • GlobalPlatform defined the TEE Internal API between the TA and the trusted operating system, which is used to provide the TAs running in the TEE with the interfaces required to perform the functions of the TEE.
  • a higher level of standards and protocol layers can be built on the TEE Internal API, covering areas such as confidential data management, payments, financial services, and Digital Rights Management (DRM).
  • DRM Digital Rights Management
  • the TEE Internal API includes three major components: (1) trusted application TA; (2) internal API library implementation, which can include multiple interfaces internally, such as the open call interface of the session, the closed call interface of the session, etc.; Trusted OS component for providing system-level functions required by the TA, such as encryption and decryption, certificates, signatures, etc.
  • the Trusted OS component notifies the TA about lifecycle changes through a series of entry functions, providing communication relays with the CA.
  • TA calls the functions and services of the Trusted OS through the TEE Internal API.
  • Trusted Kernel is a multi-tasking real-time operating system for dynamic loading and running of trusted applications.
  • the Trusted Kernel implements memory isolation for secure applications while providing tasks such as task processing, communication functions, and memory management.
  • a sensor is a hardware device in a mobile terminal for reading biometrics scanned by a user, such as acquiring fingerprint information input by a user. Sensors transmit information through Trusted Sensor Drivers, and upper-layer applications use the Trusted Sensor Drivers to operate or control the sensor.
  • Trusted Sensor Drivers is a software driver module for the TEE environment, and TEE provides a secure operating environment. Trusted Sensor Drivers are used to assist the sensor in its function by providing a program interface for use with the sensor. Trusted Sensor Drivers defines how the upper application starts or terminates the sensor and how to control the sensor's data transfer. The functions provided by Trusted Sensor Drivers include sending a fingerprint recognition sensor initialization command, requiring the fingerprint recognition sensor to start or stop the command to capture the fingerprint image, and asking whether the finger is on the surface of the acquisition device, or even driving the fingerprint recognition sensor to determine whether the object to be scanned is a fingerprint. Existing fingerprint sensors include capacitive fingerprint recognition sensors and sliding fingerprint recognition Do not sensor. If the fingerprint recognition sensor is a sliding fingerprint recognition sensor, the Trusted Sensor Drivers also include a command interface for fingerprint sequence reconstruction (splicing).
  • the fingerprint identification function is integrated into the TEE.
  • the user-registered fingerprint template is securely stored in the TEE or SE.
  • Fingerprint Biometrics provides an interface for fingerprint recognition.
  • Fingerprint Biometrics allows the RTA to authenticate the user and access the fingerprint identification service in the TEE.
  • Features provided by Fingerprint Biometrics include: Feature 1, Discover Fingerprinting. Specifically, any TA must be able to find any biometric function on the device, especially the fingerprint recognition function. If there are multiple biometric services on the user device, any TA should be able to identify and be able to identify them separately.
  • Function 2 fingerprint registration. Specifically, the terminal user must be able to register at least one fingerprint as its biometric feature, and once successfully registered, a fingerprint template must be stored. Set the quality requirements of the fingerprint template.
  • the registration function returns an RTA unique identifier for the created storage template in order to allow the RTA to be called.
  • Function 3 verify the fingerprint. Specifically, the method includes: performing a match between the fingerprint information scanned by the user and one or more storage templates associated with the TEE in the mobile terminal, and confirming the identity of the mobile terminal user, or determining a mobile terminal user (finger) from the storage template list. The validation function must return a unique result, such as a match or a mismatch.
  • Function 4 secure storage of fingerprint registration templates. Specifically, the template created by any registration must be trusted in the TEE or stored securely in an SE.
  • Function 5 associated fingerprint. Specifically, it includes: a management function of increasing the number of associated RTAs to a storage template, and the association should be a connection between an RTA and a storage template.
  • Function 6 unlock the association with the fingerprint. Specifically, the management function of reducing the number of associated RTAs to a storage template is performed, and the association between the RTA and a specific storage template is released.
  • the process of fingerprint input by the user for identity verification includes: after the sensor acquires the fingerprint information, the fingerprint information is transmitted to the SE, and the fingerprint information is preprocessed by the SE, and the preprocessing includes extracting feature points, performing vectorization, generating a fingerprint image, and the like. .
  • the SE compares the pre-processed fingerprint image with the stored fingerprint template and returns the verification result to the requested RTA via Fingerprint Biometrics. If the fingerprint verification result is that the fingerprint image input by the user matches the stored fingerprint template, the RTA returns a verification pass message to the CA in the REE environment via the TEE Communication Agent, and performs the corresponding function. If the fingerprint verification result is that the fingerprint image input by the user does not match the stored fingerprint template, the mobile terminal may present a prompt message prompting the user to re-enter the fingerprint authentication.
  • the steps of the CA accessing the TA include: (1) The CA invokes the TEE Client API in the REE environment to create a session with the TA.
  • the session information created by the CA carries the identifier of the TA, such as the unique identifier of the TA (Universally Unique) Identifier, UUID).
  • the processor finds a TA corresponding to the CA in the TEE environment according to the UUID.
  • the CA initiates a command in the session, and the initiated command is transmitted to the TEE communication agent in the TEE environment through the REE Communication Agent in the REE environment.
  • Different application scenarios correspond to different command expressions, and different functions correspond to different command expressions.
  • the TA acquires the CA-initiated command via the TEE communication agent and analyzes the message in the command.
  • the command of the CA carries an identifier, such as a Universally Unique Identifier (UUID) of the TA.
  • UUID Universally Unique Identifier
  • the processor finds the TA based on the UUID, and the TA calls the internal API.
  • the TA invokes the TEE Internal API to perform the corresponding operation, responds to the request of the CA, and establishes a corresponding task.
  • the executed result is sent by the TEE communication agent to the REE Communication Agent, and the CA obtains the message through the REE Communication Agent. Response message.
  • the TEE Client API and the TEE Internal API are the concepts of two API libraries, and the internals thereof include multiple API interfaces. The process of the above information interaction is a process of continuously calling the interfaces in the two AP I libraries to perform instruction transmission.
  • FIG. 3 is a schematic diagram of a fingerprint identification architecture according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a method for biometric authentication according to an embodiment of the present invention.
  • the fingerprint identification architecture in FIG. 3 can be used to perform the method shown in FIG. Fingerprint authentication method. As shown in FIG. 3 and FIG.
  • the third-party TA corresponding to the third-party CA can call the interface provided by the TED standard (ie, the TEE Internal API interface) (in accordance with the GlobalPlatform TEE API specification), and can also invoke the interface provided by the Trusted Application Fingerprint Management (TA).
  • the interface provided by the fingerprint management TA may exist in the TEE environment in various forms, for example, it may be a separate interface, or may be encapsulated in the TEE Internal API.
  • the TA After the TA obtains the command, it resolves whether the command is related to the fingerprint interaction. If the command is not related to the fingerprint interaction, refer to the specification of the TEE API in the Global Platform standard mentioned above, and the TA calls the TEE Internal API interface to perform the corresponding operation. If the command is related to fingerprint interaction or fingerprint authentication is required, TA calls the interface provided by RTA Fingerprint Management, and RTA Fingerprint Management uniformly calls Fingerprint Biometrics to run SE and Sensor in the hardware platform to execute and Fingerprint interaction related operations. For example, the specific calling process method for performing the interaction operation may refer to the existing standard and the implementation manner in the prior art, and details are not described herein. After the RTA Fingerprint Management is executed, the fingerprint interaction result is transmitted to the CA.
  • the RTA Fingerprint Management After obtaining the authentication result, the RTA Fingerprint Management returns the authentication result via the original path, that is, the RTA Fingerprint Management sends the fingerprint authentication result to the Alipay TA, and the Alipay TA sends the fingerprint authentication result to the Alipay CA via the TEE Communication Agent and the REE communication agent.
  • the hardware of the mobile terminal can call a certain type of fingerprint stored locally, and then perform authentication.
  • the fingerprint authentication request carries type information of the CA.
  • the fingerprint management module manages all fingerprints and provides the services required for fingerprint recognition for all third-party TAs.
  • the fingerprint management module may further classify the fingerprint according to the type information of the application.
  • the type information includes service type information and application type information.
  • the service type information is used to represent attributes of various services included in the application, and can be understood as an application having several types of services, that is, there are several types of service type information.
  • an application may include multiple services, such as a WeChat application, and its service type information may include “social class” and “payment class”.
  • the former corresponds to WeChat chat function
  • the latter corresponds to WeChat red envelope, WeChat transfer and other functions.
  • the application type information is used to represent the application type of the application, that is, which category the application can be attributed to, such as WeChat attributed to "social class” and angry birds belong to "game class”.
  • the hardware of the mobile terminal can distinguish the fingerprint according to the type information of the application. Taking the fingerprint registration as an example, in the TEE environment, when the TA sends a registration request to the fingerprint management module to request registration of the fingerprint, the TA can be classified according to the type information of the application.
  • Application name Type information business type CA1 (Alipay) Payment class Pay CA2 (WeChat) Payment/social class Payment/social CA3 (fingerprint unlock) Security class Device unlock CA4 (mobile phone housekeeper) Security class Application access control CA5 (File Management) Security class/efficiency class file encryption CA6
  • the TEE may pre-store a plurality of biometrics, and the plurality of biometrics are divided into different types according to different types of information, such as payment biometrics, security biometrics, and the like.
  • the conventional fingerprint authentication sequence is as shown in FIG. 8.
  • the mobile terminal traverses all the fingerprints that have been stored locally, and determines whether there is a fingerprint matching the fingerprint to be authenticated.
  • the fingerprint authentication request sent by the Alipay CA carries the type information of the Alipay (ie, the payment application) and the fingerprint to be authenticated (the thumbprint).
  • RTA Fingerprint Management obtains the type information of the Alipay CA. According to the type information of the Alipay CA, the corresponding type of fingerprint is used for authentication in the payment type fingerprint.
  • WeChat fingerprint authentication can be applied equally, that is, WeChat CA, WeChat TA, and RTA Fingerprint Management can perform WeChat fingerprint authentication by referring to the above process.
  • the one or more processors executing the instructions are further configured to: the third application runs in the first execution environment; the fourth application runs in the second In an execution environment, the fourth application is associated with the third application; the third application generates a second request message; the fourth application is configured to interface with the first execution environment and the second execution environment Receiving the second request message; if the fourth application determines that the second request message is a biometric related request message, the fourth application sends the second request message to the biometric management Module.
  • the one or more processors executing the instruction are further used by the biometric management module to generate a first response message, where the a response message is a response of the biometric management module to the first request message; the second application receives the first response message sent by the biometric management module; An interface of the execution environment and the second execution environment receives the first response message.
  • the first request message is used to request to authenticate a biometric; the one or more processors execute the instruction for the biometric management module to generate a first response message, including: the biometric The management module acquires the biometric to be authenticated by calling the hardware of the mobile terminal via the biometric interface; the hardware of the mobile terminal acquires the biometric stored by the mobile terminal; and the hardware of the mobile terminal determines the biometric to be authenticated And determining whether the biometric stored by the mobile terminal matches an authentication result; the biometric management module receives an authentication result sent by the hardware of the mobile terminal via the biometric interface, and generates the first response message.
  • the first request message carries type information of the first application; the request message is used to request authentication of a biometric, and the one or more processors execute the instruction for the
  • the biometrics management module generates a first response message, including: the biometrics management module calls the hardware of the mobile terminal to acquire a biometric to be authenticated via a biometric interface; and the hardware of the mobile terminal acquires the storage of the mobile terminal At least one first biometric, the type information of the first biometric matching the type information of the first application; if the hardware of the mobile terminal determines the biometric to be authenticated and the first biometric Matching, the biometric management module receives hardware of the mobile terminal via the biometric interface Sending the first authentication result, generating the first response message.
  • the executing the instructions by the one or more processors may be further configured to: if the hardware of the mobile terminal determines that the biometric to be authenticated does not match the first biometric, the hardware of the mobile terminal traverses all Generating the biometric to be authenticated; the hardware of the mobile terminal generates a second authentication result, and transmitting the second authentication result to the biometric interface; the biometric management module receives the The second authentication result sent by the biometric interface generates the first response message.
  • FIG. 4 and FIG. 5 are diagrams of a fingerprint identification architecture provided by an embodiment of the present invention.
  • the fingerprint identification architecture in FIG. 4 and FIG. 5 can be used to execute the fingerprint authentication method shown in FIG. 6.
  • the CA in the REE environment establishes a session with the fingerprint management module or the TA in the TEE environment.
  • the messages sent by the REE Communication Agent and the TEE communication agent are transmitted to the RTA Fingerprint Management in the TEE environment.
  • the transaction requested by the first CA is related to the fingerprint, and the message sent by the first CA is transmitted to the RTA Fingerprint Management; the transaction requested by the second CA is related to the fingerprint, and the message sent by the second CA is transmitted to the RTA Fingerprint Management; the transaction requested by the third CA is The fingerprint is related and the message it sends is transmitted to the RTA Fingerprint Management. That is, when biometric authentication is involved, messages sent by multiple CAs are transmitted to the RTA Fingerprint Management.
  • a TA corresponding to the CA is provided in the TEE environment, and if the transaction requested by the CA is not related to the biometric, the message sent by the REE Communication Agent and the TEE communication agent is sent.
  • the biometric-related request sent by the CA may be a text password authentication request, such as requesting to verify whether the digital password entered by the user is correct, requesting to verify whether the alphanumeric password input by the user is correct, and the like.
  • the transaction requested by CA1 is not related to the biometric, and the message sent by it is transmitted to the transaction requested by TA1;
  • CA2 is not related to the biometric, and the message sent by it is transmitted to TA2. That is, when biometric authentication is not involved, messages sent by multiple CAs are respectively transmitted to the TA corresponding to the CA; when biometric authentication is involved, messages sent by multiple CAs are transmitted to the RTA Fingerprint Management.
  • the TEE communication agent forwards the message to the TA or RTA Fingerprint Management according to the identifier in the message.
  • the CA1 invokes the TEE Client API in the REE environment to create a session with the fingerprint management module in the TEE environment.
  • the CA1 initiates a command in the session, and the initiated command is delivered to the fingerprint management module via the REE Communication Agent in the REE environment and the TEE communication agent in the TEE environment.
  • the fingerprint management module calls a fingerprint identification function module (Fingerprint Biometrics) to run hardware
  • the SE and Sensor in the platform perform operations related to fingerprint interaction. After the RTA Fingerprint Management is executed, the fingerprint interaction result is transmitted to the CA1.
  • the fingerprint management module calls the TEE Internal API interface, and the interaction result is transmitted to the TEE Communication Agent in the TEE environment and the TEE Client API in the REE environment.
  • CA1 for example, transmits encryption and decryption information, signatures, and the like to CA1.
  • CA2 invokes the TEE Client API in the REE environment to create a session with the fingerprint management module in the TEE environment.
  • CA2 initiates a command in the session, which is passed to the fingerprint management module via the REE Communication Agent and the TEE communication agent.
  • the fingerprint management module calls Fingerprint Biometrics, runs SE and Sensor in the hardware platform, and performs operations related to fingerprint interaction.
  • the CA1 invokes the TEE Client API in the REE environment to create a session with the TA1 in the TEE environment, and the TA1 corresponds to the CA1.
  • the CA1 initiates a command in the session, and the initiated command is delivered to the TA1 via the REE Communication Agent in the REE environment and the TEE communication agent in the TEE environment.
  • TA1 invokes the TEE Internal API to perform the corresponding authentication operation, and after the authentication is completed, sends the authentication result to CA1 in the REE environment via the TEE communication agent and the REE Communication Agent.
  • the request message when the CA in the REE environment initiates a request message that does not involve fingerprint interaction, the request message carries the UUID of the TA corresponding to the CA, and sends the request message to the TEE environment and the The TA corresponding to the CA. That is, in the embodiment as shown in FIG. 4 and FIG. 5, when the biometric authentication service is not involved, if the fingerprint authentication service is not involved, the CA in a REE environment corresponds to a TA in a TEE environment, and the CA sends the A message not related to fingerprint authentication points to the TA, and the corresponding processing is performed by the TA corresponding to the CA.
  • the Alipay CA runs in Android
  • the Alipay TA runs in the TEE
  • the RTA Fingerprint Management runs in the TEE, which is used to perform operations related to fingerprint authentication.
  • the Alipay CA generates an authentication request, and the authentication request carries the identification information of the Alipay CA or the identification information of the RTA Fingerprint Management. If the authentication request does not involve biometrics, the authentication request carries the identifier of the Alipay CA; if the authentication request involves biometrics, such as fingerprint authentication, the authentication request carries the identifier of the RTA Fingerprint Management.
  • the authentication request is sent to the TEE interface via the interface of the Android, for example, sent to the TEE communication agent via the REE Communication Agent, and the TEE communication agent determines the transmission target of the authentication request according to the identification information. If the identifier of the Alipay TA is carried, the authentication request is sent to the Alipay TA, and the Alipay TA calls the TEE Internal API to perform corresponding authentication, and returns the authentication result according to the original path. If the identifier of the RTA Fingerprint Management is carried, the authentication request is sent to RTA Fingerprint Management.
  • RTA Fingerprint Management calls Fingerprint Biometrics, which calls SE and Sensor in the hardware platform to perform operations related to fingerprint interaction and generate authentication results.
  • the RTA Fingerprint Management After obtaining the authentication result, the RTA Fingerprint Management returns the authentication result via the original path, that is, the RTA Fingerprint Management sends the fingerprint authentication result to the Alipay TA, and the Alipay TA sends the fingerprint authentication result to the Alipay CA via the TEE Communication Agent and the REE communication agent. That is, in the embodiment of the present invention, if fingerprint authentication is involved, the authentication request sent by multiple CAs in the Android carries the identifier of the RTA Fingerprint Management, and requests fingerprint authentication.
  • the one or more processors executing the instruction are further configured to: the biometric management module generates a response message, where the response message is a biometric management module pair a response of the request message; the response message is sent to an interface of the first execution environment via an interface of the second execution environment; an interface of the first execution environment sends the response message to the first application.
  • the request message is used to request authentication of a biometric; the one or more processors executing the instruction for the biometric management module to generate a response message, including: the biometric management module via a biometric
  • the feature interface invokes hardware of the mobile terminal to acquire a biometric to be authenticated; hardware of the mobile terminal acquires a biometric stored by the mobile terminal; hardware of the mobile terminal determines the biometric to be authenticated and the mobile Whether the biometrics stored by the terminal match, and generating an authentication result; the biometric management module receives an authentication result sent by the hardware of the mobile terminal via the biometric interface, and generates a response message.
  • Executing the instructions by the one or more processors may also be used, If the hardware of the mobile terminal determines that the biometric to be authenticated does not match the first biometric, the hardware of the mobile terminal traverses all biometrics to authenticate the biometric to be authenticated; the mobile terminal The hardware generates a second authentication result, and sends the second authentication result to the biometric interface; the biometric management module receives the second authentication sent by the hardware of the mobile terminal via the biometric interface As a result, a response message is generated.

Abstract

本发明实施例提供了一种移动终端的认证方法。该方法包括:第一应用运行在第一执行环境中;第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;生物特征管理模块运行在所述第二执行环境中;所述第一应用生成第一请求消息;所述第二应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一请求消息;若所述第二应用确定所述第一请求消息为与生物特征相关的请求消息,所述第二应用将所述第一请求消息发送给所述生物特征管理模块。由此节约了生物特征认证时的运行资源,提升了认证效率和移动终端的运行效率。

Description

一种移动终端的认证方法及移动终端 技术领域
本发明实施例涉及通信技术领域,尤其涉及一种移动终端的认证方法及移动终端。
背景技术
随着移动互联网的发展,智能终端不断普及,并成为人们日常工作生活不可或缺的部分。随着用户设备的智能化和多样化,智能终端中的用户隐私保护也越来越成为公众关注的问题。对于某些应用、某些内容,智能终端提供了用户身份认证机制,如在运行某些应用或呈现某些内容之前,需要用户输入指纹信息进行身份认证,在身份认证通过后,才运行某些应用或呈现某些内容。在此基础上,为进一步保障身份验证的安全性,业界还提出了可信执行环境(Trusted Execution Environment,TEE)的概念,以与传统的安卓、IOS等富执行环境(Rich Execution Environment,REE)相区分。
在包含TEE的现有技术中,用户通过指纹进行注册的过程包括:REE下的第三方客户应用向可信执行环境下的对应的第三方可信应用发送请求消息,请求进行指纹注册,第三方可信应用获取该请求消息后,通过调用TEE Internal API进行指纹注册。若移动终端有多个第三方客户应用需要进行同样功能的指纹注册,每个应用都会向TEE下对应的第三方可信应用发送指纹注册请求,每个第三方可信应用都会调用TEE Internal API执行同样的指纹注册,如此极大地耗费了移动终端的运行资源,注册过程重复导致移动终端的运行效率较低。
发明内容
本发明实施例提供一种移动终端的认证方法、装置以及移动终端,旨在解决现有技术中,移动终端进行生物特征认证时极大地耗费了运行资源,导致移动终端的运行效率降低的技术问题。
第一方面,本发明实施例提供了一种移动终端的认证方法,该方法应用于移动终端,如手机、平板等。
在第一种可能的实现方式中,所述方法包括:第一应用运行在REE中;第二应用运行在TEE中,所述第二应用与所述第一应用相关联;生物特征管理模块运行在TEE中,所述生物特征管理模块用于在所述TEE中执行与生物特征(如指纹)认证相关的操作;所述第一应用生成请求消息;所述请求消息中携带所述第二应用或所述生物特征管理模块的标识信息;所述请求消息经由REE的接口发送至TEE的接口;若所述请求消息中携带所述第二应用的标识信息,所述TEE的接口将所述请求消息发送至所述第二应用;若所述请求消息中携带所述生物特征管理模块的标识信息,所述TEE的接口将所述请求消息发送至所述生物特征管理模块。本方法中,在原有生物特征认证架构的基础上,增加了生物特征管理模块统一管理生物特征认证事宜,即REE环境下所有应用的生物特征认证操作均由生物特征管理模块统一处理,提升了生物特征的认证效率。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,该生物特征管理模块遵循原路发送响应消息,所述响应消息为对所述请求消息的响应。即生物特征管理模块生成响应消息;所述响应消息经由所述TEE的接口发送至所述REE的接口;所述REE的接口将所述响应消息发送至所述第一应用。该返回路径保障了第一应用及时获取生物特征的认证结果。
结合第一方面第二种可能的实现方式,在第三种可能的实现方式中,所述请求消息用于请求对生物特征进行认证(如对指纹进行验证)。所述生物特征管理模块生成响应消息的过程具体为,调用生物特征接口,该生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的生物特征;所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;生物特征管理模块接收该移动终端的硬件经由所述生物特征接口发送的认证结果,生成响应消息。
结合第一方面第二种可能的实现方式,在第四种可能的实现方式中,所述请求消息中携带所述第一应用的类型信息(如支付类应用);所述请求消息用于请求对生物特征进行认证(如对指纹进行验证)。所述生物特征管理模块生成响应消息的过程具体为,所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息 与所述第一应用的类型信息相匹配,即移动终端中存储了生物特征对应的类型信息,如支付类的指纹用于支付类的应用,快捷方式类的指纹用于快捷地打开应用等。若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的认证结果,生成响应消息。本方法实施例中,移动终端可根据第一应用的类型信息在特定的类型中调用相应的生物特征,可以不用遍历手机存储的全部生物特征从而实现认证,提高了认证的效率。
结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,所述方法还包括:若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证,生成认证结果,将该认证结果发送给生物特征接口,继而所述生物特征管理模块获取认证结果,生成响应消息。本方法实施例,作为上一种可能实现方案的补充,在没有找到与第一应用同类型的生物特征时,移动终端遍历本地所有的生物特征,进行认证,保障认证结果的输出。
适应性地,在第一方面阐述的方法的基础上,本发明实施例还提供了用于执行上述方法的装置和移动终端,具体的系统架构可参考图4或图5,其具体细节在如下具体实施例部分描述。该装置或移动终端均可提高在生物特征认证时的效率。
第二方面,本发明实施例提供了一种移动终端的认证方法,该方法同样应用于移动终端,如手机、平板等。
在第一种可能的实现方式中,所述方法包括:第一应用运行在REE中;第二应用运行在TEE中,所述第二应用与所述第一应用相关联;生物特征管理模块运行在所述TEE中;所述第一应用生成第一请求消息;所述第二应用经由所述REE和所述TEE的接口,接收所述第一请求消息;若所述第二应用确定所述第一请求消息为与生物特征相关的请求消息,所述第二应用将所述第一请求消息发送给所述生物特征管理模块。本发明实施例中,在原有生物特征认证结构的基础上,增加了生物特征管理模块管理生物特征认证事宜,即REE环境下所有应用先将消息发送至TEE环境下的相关联的应用,若该消息为生物特征认证相关的消息,则TEE环境下的应用则将该认证请求发送给生物特征管理模块统一处理,从而提升生物特征的认证效率。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所 述方法还包括:第三应用运行在所述REE环境中;第四应用运行在所述TEE环境中,所述第四应用与所述第三应用相关联;所述第三应用生成第二请求消息;所述第四应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第二请求消息;若所述第四应用确定所述第二请求消息为与生物特征相关的请求消息,所述第四应用将所述第二请求消息发送给所述生物特征管理模块。在本发明实施例中,REE环境下的多个应用均是将请求消息发给TEE环境下的相关联的应用,由该相关联的应用确定是自己处理,还是发给生物特征管理模块处理。
结合第二方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述生物特征管理模块生成第一响应消息,所述第一响应消息为所述生物特征管理模块对所述第一请求消息的响应;所述第二应用接收所述生物特征管理模块发送的所述第一响应消息;所述第一应用经由所述REE环境和所述TEE环境的接口,接收所述第一响应消息。该返回路径保障了第一应用及时获取生物特征的认证结果。
结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述第一请求消息用于请求对生物特征进行认证;所述生物特征管理模块生成第一响应消息,包括:生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的生物特征;所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的认证结果,生成所述第一响应消息。
结合第二方面第三种可能的实现方式,在第五种可能的实现方式中,所述第一请求消息中携带所述第一应用的类型信息(如支付类应用);所述请求消息用于请求对生物特征进行认证;所述生物特征管理模块生成第一响应消息具体为,所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;移动终端的硬件获取移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的认证结果,生成所述第一响应消息。本方法实施例中,移动终端可根据第一应用的类型信息在特定的类型中调用相应的生物特征,可以不 用遍历手机存储的全部生物特征从而实现认证,提高了认证的效率。
结合第二方面第五种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;所述移动终端的硬件生成认证结果,并将所述认证结果发送给所述生物特征接口;所述生物特征管理模块接收所述生物特征接口发送的认证结果,生成所述第一响应消息。本方法实施例,作为上一种可能实现方案的补充,在没有找到与第一应用同类型的生物特征时,移动终端遍历本地所有的生物特征,进行认证,保障认证结果的输出。
适应性地,在第二方面阐述的方法的基础上,本发明实施例还提供了用于执行上述方法的装置和移动终端,具体的系统架构可参考图3,其具体细节在如下具体实施例部分描述。该装置或移动终端均可提高在生物特征认证时的效率。
在本发明实施例中,通过设置生物特征管理模块,该生物特征管理模块用于执行生物特征认证相关的操作,有效节约了生物特征认证时的运行资源,提升了认证效率和移动终端的运行效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,而非全部。对于本领域普通技术人员来讲,在没有付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本实施例提供的一种移动终端的结构示意图;
图2为现有技术提供的一种标准中定义的指纹识别架构图;
图3为本发明实施例提供的一种指纹识别架构图;
图4为本发明实施例提供的一种指纹识别架构图;
图5为本发明实施例提供的一种指纹识别架构图;
图6为本发明实施例提供的一种生物特征认证的方法流程图;
图7为本发明实施例提供的一种生物特征认证的方法流程图;
图8为本发明实施例提供的一种指纹认证次序示意图;
图9为本发明实施例提供的一种指纹认证次序示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做出进一步地详细描述。对于本领域普通技术人员在没有付出创造性劳动的前提下所获得的其它所有实施例,都属于本发明保护的范围。如下实施例的具体描述中,在参照本领域普通技术人员技术理解的基础上,对相关概念做进一步的解释描述。需要说明的是,这些概念不构成对本技术领域公知概念术语的限制性解释。
移动终端,又可称之为用户设备(User Equipment,UE)、智能终端,包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等。本发明的指纹模板共享的方法可应用于各种移动终端,以下以执行所述方法的移动终端进行具体实施方式说明。在本发明其他实施方式中,不详细描述公知的方法、过程、组件和电路。
操作系统(Operating System,OS),管理计算机硬件与软件资源的计算机程序,计算机系统的内核与基石。移动通信技术的发展带来了移动终端技术的快速发展,现代的移动终端设备提供了强大而灵活的富执行环境(RichExecution Environment,REE),但同时也导致设备容易受到安全威胁。REE是指具有强大处理能力和多媒体功能的操作系统,如Android、iOS等。
可信执行环境(Trusted Execution Environment,TEE)是为了解决当前移动终端设备存在的安全风险而提出的技术方案。TEE是具有安全处理能力和提供安全外设操作的可信操作系统,在同一个设备上同REE相互隔离、独立运行。其由全球平台国际标准组织(Global Platform)所定义,其是一个驻留在所连接设备的主处理器上的安全区域,以确保在可信执行环境中的敏感数据的存储、处理和保护,该安全区域为逻辑概念,其用于表示TEE的安全属性。TEE和REE平行运行于同一个设备上,处理器根据SMC指令在REE和TEE之间进行切换。TEE能够保证在可信的环境中进行敏感数据的存储、处理和保护,并为授权的安全软件(如可信应用)提供安全的执行环境,通过执行保护、保密、完整和数据访问权限实现了端到端的安全。
安全单元(Secure Element,SE),一种具有防篡改功能的电子元件,可以安装到终端上为安装到安全单元上的应用提供安全地、机密的数据保存和运行环境。推而广之,提供了用于安装应用的存储空间、具有已安装应用管理功能的硬件设备都可以视为一个安全单元,例如安装了Android系统的智能手机可以安装第三方应用,并且安卓操作系统可以管理这些第三方应用并 提供一定的保护,故而可以视为一个广义的安全单元。SE由软件和防篡改硬件组成,支持高级别的安全性,如SIM卡、金融IC卡、智能SD卡等,可以与TEE一起运行。安全单元在不同规范中对应的术语可能不同,例如在Global Platform系列规范中,定义和使用SE(Secure Element)这一术语;在NFC Forum系列规范中不使用SE,而使用NFC执行环境NFCEE(NFC Execution Environment)这一术语。需要说明的是,这两个术语在本发明实施例的方案中等义。
可信应用(Trusted Application,TA)为运行在TEE上的应用,其可以访问设备主处理器和内存的全部功能,硬件隔离技术保护其不受安装在REE的应用软件的影响。客户应用(Client Applicat1n,CA)运行于REE上,CA通过调用位于REE的TEE客户端的应用编程接口(Application Programming Interface,API)去访问TA,从而使用TEE及TA提供的安全功能。应用开发者在开发应用程序时,一般会提供在REE环境下运行的CA和在TEE环境下运行的TA,其中,CA和TA一一对应。例如支付宝应用,开发者在开发时会开发两个支付宝应用的安装文件,在REE环境下,处理器加载支付宝CA的安装文件,运行支付宝CA;在TEE环境下,处理器加载支付宝TA的安装文件,运行支付宝TA。
可信用户界面(Trusted User Interface,TUI),为TA的应用界面,用于安全地给用户呈现用户界面,防止钓鱼等形式的攻击。
生物特征可信应用(Relying Trusted Application,RTA),为2014年12月发布的标准草案《TEE Trusted User Interface API for Biometrics》中定义的概念,是一种特殊的TA,为对生物特征的验证结果进行响应的TA。在所有TA中,需要进行生物特征识别的TA均可成为RTA。例如,RTA在TEE环境下,对指纹识别的结果进行响应,并将响应结果反馈给REE环境下的CA。可选地,根据具体生物特征的不同,RTA可有不同的叫法,如指纹TA。
存储模板(Stored Template),其亦为2014年12月发布的标准草案《TEE Trusted User Interface API for Biometrics》中定义的概念(A Template created through Enrollment and stored with a unique identifier for use in future Identification and Verification),通过生物特征注册过程创建的模板,并具有唯一标识符,其用于使用过程中的识别和验证。在本发明实施例中,该存储模板可以是注册的生物特征,即在某些实施例中,某一生物特征的存储模板与该生物特征等义。例如,指纹存储模板可等同于指纹。
在本发明实施例中,生物特征认证可理解为包括生物特征的注册、生物特征的删除、生物特征的验证、生物特征与应用之间的关联关系的取消等, 还可包括其它可能存在的涉及生物特征的操作。在如下的描述中,该生物特征仅以指纹举例,其具体实现还可以是虹膜、掌纹、面像等。
图1为本实施例提供的一种移动终端的结构示意图。应该理解的是,图示移动终端100仅是一个范例,实际产品可以具有比图中所示出的更过的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。如图所示,该移动终端100包括、RF(Radio Frequency,射频)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wireless fidelity,无线保真)模块170、处理器180、以及电源190等部件。下面对各构成部件进行具体介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行移动终端100的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图象播放功能等)等;存储数据区可存储根据移动终端100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与移动终端100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合 的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及移动终端100的各种菜单。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现移动终端100的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现移动终端100的输入和输出功能。
移动终端100还可包括至少一种传感器150,比如指纹传感器、光传感器、运动传感器以及其他传感器。具体地,指纹传感器用于识别用户输入的指纹信息。光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在移动终端100移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,麦克风162可提供用户与移动终端100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据, 再将音频数据输出至RF电路108以发送给比如另一移动终端,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,移动终端100通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于移动终端100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是移动终端100的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行移动终端100的各种功能和处理数据,从而对移动终端进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
移动终端100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
尽管未示出,移动终端100还可以包括摄像头、蓝牙模块等,在此不再赘述。
GlobalPlatform是跨行业的国际标准组织,致力于开发、制定并发布安全芯片的技术标准,以促进多应用产业环境的管理及其安全、可互操作的业务部署。其工作重心主要集中在安全单元(SE)、可信执行环境(TEE)和系统消息(Mobile Messaging)等领域。该国际标准组织为TEE的API和安全服务制订了一套标准,其中,TEE安全服务的示例包括安全存储、密钥管理、加密、安全时钟、可信用户界面等。
图2为现有技术提供的一种标准中定义的指纹识别架构图。如图所示,TEE与REE之间的接口称为TEE Client API,GlobalPlatform于2010年对TEE Client API进行了标准化。CA运行在REE环境中,CA通过调用REE环境下的TEE Client API访问TEE,从而调用上述提及的TEE安全服务示例。具体地,TEE Client API包括代理驱动程序(REE Communication Agent),CA在REE中,通过REE中的REE Communication Agent与TEE中的代理驱动程序(TEE Communication Agent)通信,进而实现CA与REE中的TA之间 的信息交互,CA不可未经REE Communication Agent直接访问TEE的资源。TA运行在TEE OS中。TEE支持运行由不同提供商开发的相互独立执行的多个TA。TA运行于TEE中向其对应的CA提供安全服务。通过调用TEE下的TEE Internal API,TA可获得对TEE中的安全资源和服务的受控访问。需要说明的是,该Client API和Internal API可理解为API库,其内部实际包括多个API接口。其中,Fingerprint Biometrics是internal API的一个附录,即Fingerprint Biometrics可理解为Internal API接口库中的一部分,其中,Fingerprint Biometrics和Fingerprint Biometrics接口等义。
GlobalPlatform于2011年定义了TA与可信操作系统之间的TEE Internal API,该TEE Internal API用于向TEE中运行的TA提供执行TEE的功能所需的接口。在TEE Internal API上可以构建更高层的标准和协议层,覆盖的领域包括机密数据管理,支付,金融服务,数字版权管理(Digital Rights Management,DRM)等。
TEE Internal API中包括三大类组件:(1)可信应用TA;(2)Internal API库实现,内部可包括多个接口,例如会话的打开调用接口、会话的关闭调用接口等;(3)Trusted OS组件,用于提供TA需要的系统级功能,如加解密,证书,签名等。Trusted OS组件通过一系列的入口函数通知TA关于生命周期的改变,提供和CA的通信中继。TA通过TEE Internal API调用Trusted OS的功能和服务。
Trusted Kernel是一个支持多任务的实时操作系统,用于可信应用TA的动态加载和运行,Trusted Kernel可实现安全应用的内存隔离,同时提供任务处理、通信功能、内存管理等功能。
传感器(sensor)是移动终端中的硬件装置,其用于读取用户扫描的生物特征,如获取用户输入的指纹信息。传感器通过可信传感器驱动(Trusted Sensor Drivers)传输信息,上层应用程序通过Trusted Sensor Drivers实现对sensor的操作或控制。
Trusted Sensor Drivers为TEE环境下的软件驱动模块,TEE为其提供安全的运行环境。Trusted Sensor Drivers用于辅助传感器实现其功能,即通过提供与传感器配套使用的程序接口来实现其功能。Trusted Sensor Drivers中定义了上层应用程序如何启动或终止传感器,以及如何控制传感器的数据传输。Trusted Sensor Drivers提供的功能包括发送指纹识别传感器初始化命令,要求指纹识别传感器开始或停止捕获指纹图像的命令,以及询问手指是在采集设备表面、甚至可以驱动指纹识别传感器判断待扫描物体是否为指纹。现有的指纹传感器包括电容式指纹识别传感器和滑动式指纹识 别传感器。若指纹识别传感器是滑动式指纹识别传感器,Trusted Sensor Drivers还包括指纹序列重构(拼接)的命令接口等。
指纹识别功能被集成到TEE中,用户注册的指纹模板安全存储在TEE或SE中,Fingerprint Biometrics提供了指纹识别功能的接口,例如Fingerprint Biometrics允许RTA验证用户身份,从而访问TEE中的指纹识别服务。Fingerprint Biometrics提供的功能包括:功能1,发现指纹识别功能。具体包括:任意TA必须能够在设备上发现任何生物识别功能,特别是指纹识别功能。如果在用户设备上存在多个生物识别服务,任意TA应该能够识别,并且能够分别识别。功能2,指纹注册。具体包括:终端用户必须能够注册至少一个指纹作为其生物识别特征,一旦成功注册,一个指纹模板必须被存储。设置指纹模板的质量要求,若注册的指纹模板未达到最低质量标准,则被拒绝。终端用户可以在注册过程中取消注册操作,导致未创建模板。注册函数为已创建的存储模板返回一个RTA唯一标识符,为了允许RTA调用。功能3,验证指纹。具体包括:执行用户扫描的指纹信息与移动终端中TEE关联的一个或多个存储模板之间的匹配,可以确认移动终端用户身份,或从存储模板列表中确定一个移动终端用户(手指)。验证函数必须返回唯一的结果,例如匹配或不匹配。功能4,指纹注册模板的安全存储。具体包括:任意通过注册创建的模板必须在TEE中可信存储或在一个SE中安全存储。功能5,关联指纹。具体包括:增加关联RTA至一个存储模板的数量的管理功能,关联应该是一个RTA与一个存储模板之间的联系。功能6,解除与指纹的关联。具体包括:减少关联RTA至一个存储模板的数量的管理功能,解除RTA和一个特定的存储模板之间的关联。功能7,删除指纹模板。例如从移动终端上删除一个或多个存储模板的管理功能。
用户进行指纹输入,进行身份验证的流程包括:传感器获取到指纹信息后,将指纹信息传输给SE,由SE将指纹信息预处理,该预处理包括提取特征点、进行矢量化、生成指纹图像等。SE将预处理后的指纹图像与存储的指纹模板相比对,将验证结果通过Fingerprint Biometrics返回给所请求的RTA。若指纹验证结果为用户输入的指纹图像与存储的指纹模板匹配,则RTA经由TEE Communication Agent向REE环境下的CA返回验证通过消息,执行相应的功能。若指纹验证结果为用户输入的指纹图像与存储的指纹模板不匹配,移动终端可呈现提示信息,提示用户重新输入指纹认证。
在如图2所示的指纹识别架构图中,CA访问TA的步骤包括:(1)CA在REE环境下调用TEE Client API,创建一个和TA的会话。CA创建的会话信息中携带TA的标识符,如TA的唯一识别码(Universally Unique  Identifier,UUID)。处理器根据该UUID在TEE环境中找到与该CA相对应的TA。(2)CA在会话中发起命令,该发起的命令通过REE环境下的REE Communication Agent传递至TEE环境下的TEE communication agent。其中,不同的应用场景对应不同的命令表现形式,不同的功能对应不同的命令表现形式。(3)TA经由TEE communication agent获取CA发起的命令,并分析命令中的消息。CA的命令中携带标识符,如TA的唯一识别码(Universally Unique Identifier,UUID)。处理器根据UUID找到TA,TA调用internal API。(4)TA获取该命令中的消息后,调用TEE Internal API执行相应的操作,响应CA的请求,建立相应的任务,执行的结果由TEE communication agent发送至REE Communication Agent,CA经由REE Communication Agent获取响应消息。其中,TEE Client API和TEE Internal API是两个API库的概念,其内部包括多个API接口,上述信息交互的过程即为不断调用这两个AP I库中接口,进行指令传输的过程。
图3为本发明实施例提供的一种指纹识别架构图,图7为本发明实施例提供的一种生物特征认证的方法流程图,图3中指纹识别架构可用于执行如图7所示的指纹认证方法。如图3和图7所示所示,在本发明实施例中,当第三方CA通过调用Android侧的指纹认证接口发起指纹认证的相关操作,如进行指纹录入、指纹删除、指纹认证等时,与该第三方CA对应的第三方TA除了可调用TEE标准的接口(即TEE Internal API接口)外(符合GlobalPlatform TEE API规范),还可以调用指纹管理TA(Trusted Application Fingerprint Management)提供的接口,从而实现指纹相关功能,比如,进行指纹录入、删除用户不需要的指纹信息,返回指纹认证结果等。其中,指纹管理TA提供的接口可以多种形式存在于TEE环境中,例如其可以是单独的接口,也可以是封装在TEE Internal API中。
在本发明的一个实施例中,移动终端在TEE环境下提供了可信应用指纹管理模块(Relying Trusted Application Fingerprint Management,RTA Fingerprint Management),该RTA Fingerprint Management负责管理所有的指纹,为所有第三方TA提供指纹识别功能所需的服务,例如指纹的录入、指纹的删除、返回指纹认证结果等。需要说明的是,在本发明实施例中,可信应用指纹管理模块与指纹管理模块等义。即,该可信应用指纹管理模块为生物特征管理模块中的一种类型。
在本发明实施例中,CA在REE环境下调用TEE Client API,创建与TA的会话。CA创建的会话信息中携带TA的标识符,如TA的唯一识别码(Universally Unique Identifier,UUID)。处理器根据该UUID在TEE环境 中找到与该CA相对应的TA。CA在会话中发起命令,该发起的命令经由REE环境下的REE Communication Agent和TEE环境下的TEE communication agent传递至TA。TEE下的处理器或内部处理机制解析该命令,经由该命令获知与该CA对应的TA,并将该命令发送至TA。TA获取该命令后,解析该命令是否与指纹交互相关。若该命令与指纹交互无关,则参照上述提及的Global Platform标准中对TEE API的规范,TA调用TEE Internal API接口,执行相应的操作。若该命令与指纹交互相关,或者需要进行指纹认证时,TA调用RTA Fingerprint Management提供的接口,RTA Fingerprint Management统一调用指纹识别功能模块(Fingerprint Biometrics),运行硬件平台中的SE和Sensor,从而执行与指纹交互相关的操作。其中,执行交互操作的具体调用流程方法等可参考现有标准、现有技术中的实现方式,对此不作赘述。在RTA Fingerprint Management执行完操作,需将指纹交互结果传递至CA时,由该TA调用TEE Internal API接口,将交互结果经由TEE环境下的TEE Communication Agent和REE环境下的TEE Client API传输至CA,例如将加解密信息、签名等传输至CA。即,在本发明实施例中,一个REE环境下的CA对应一个TEE环境下的TA。当CA发送请求消息后,若请求消息为与指纹交互无关的请求消息,则TA调用TEE Internal API;若请求消息为与指纹交互相关的请求消息,则TA调用指纹管理模块,指纹管理模块调用指纹功能模块,处理该CA发起的指纹交互相关的请求消息。
例如,支付宝CA运行在Android中,支付宝TA运行在TEE中,RTA Fingerprint Management运行在TEE中。支付宝CA生成指纹认证请求,请求验证当前用户输入的指纹是否与预先存储的指纹相匹配。支付宝CA经由Android中的REE Communication Agent和TEE环境下的TEE communication agent,将该指纹认证请求发送至支付宝TA。该支付宝TA获取该指纹认证请求,确定该指纹认证请求是与指纹相关的请求消息,将将指纹认证请求发送给RTA Fingerprint Management,由RTA Fingerprint Management进行处理。RTA Fingerprint Management调用Fingerprint Biometrics,Fingerprint Biometrics调用硬件平台中的SE和Sensor等,执行与指纹交互相关的操作,生成认证结果。RTA Fingerprint Management获取认证结果后,经由原路返回该认证结果,即RTA Fingerprint Management将指纹认证结果发送给支付宝TA,该支付宝TA经由TEE Communication Agent和REE communication agent将指纹认证结果发送给支付宝CA。
具体地,本发明实施例中,RTA Fingerprint Management通过Fingerprint Biometrics调用硬件进行认证至少可包括两种实现形式,该硬 件可包括如图2、图3、图4或图5所述的SE或Sensor中的至少一个。例如,在一种可能的实现中,sensor获取当前用户输入的指纹图像,SE调用存储的指纹,并进行认证。
其一,该移动终端的硬件遍历该移动终端存储的所有指纹。若确定有与指纹认证请求中携带的指纹相匹配的指纹,则确定指纹认证通过;若确定该移动终端中存储的所有指纹中没有与该指纹相匹配的指纹,则确定指纹认证不通过。
其二,该移动终端的硬件可调用其本地存储的某一类型的指纹,继而进行认证。例如,该指纹认证请求中携带CA的类型信息。指纹管理模块负责管理所有的指纹,并为所有第三方TA提供指纹识别功能所需的服务。本发明实施例中,该指纹管理模块还可以对指纹按应用程序的类型信息进行分类。所述类型信息包括业务类型信息和应用类型信息。所述业务类型信息用于表征应用所包括的各项业务的属性,可理解为一个应用具有若干种业务,即可有若干种业务类型信息。实践中,一个应用可能包括多项业务,例如微信应用,其业务类型信息可包括“社交类”“支付类”,前者对应微信聊天功能,后者对应微信红包、微信转账等功能。所述应用类型信息用于表征应用的应用类型,即该应用从用途上可以归属于哪一类,如微信归属于“社交类”、愤怒的小鸟归属于“游戏类”。在进行指纹认证时,移动终端的硬件可根据应用的类型信息对指纹进行区分。以指纹注册为例,在TEE环境中,TA向指纹管理模块发送注册请求请求注册指纹时,可按照应用的类型信息进行分类。在CA为支付宝、工商银行等支付应用时,可请求注册支付指纹,该支付指纹用于在支付应用运行时进行指纹验证。在CA为锁屏等应用时,可请求注册设备解锁指纹,该设备解锁指纹用于在用户执行终端解锁操作时进行指纹验证。在CA为手机管家等应用时,可请求注册访问控制指纹,该访问控制指纹用于特定用户使用该终端时验证用户权限。在CA为文件管理等应用时,可请求注册文件加密指纹,该文件加密指纹用于在文件加密时提供指纹验证。下表示出了部分示例:
应用名 类型信息 业务类型
CA1(支付宝) 支付类 支付
CA2(微信) 支付类/社交类 支付/社交
CA3(指纹解锁) 安全类 设备解锁
CA4(手机管家) 安全类 应用访问控制
CA5(文件管理) 安全类/效率类 文件加密
CA6    
……    
即,TEE可预先存储多个生物特征,该多个生物特征按照类型信息的不同划分为不同类型,如支付类生物特征、安全类生物特征等。常规的指纹认证次序如图8所示,移动终端遍历本地已经存储的所有指纹,确定是否有与待认证的指纹相匹配的指纹。在本发明实施例中,支付宝CA发送的指纹认证请求中携带支付宝的类型信息(即支付类应用)和待认证的指纹(大拇指指纹)。RTA Fingerprint Management获取该支付宝CA的类型信息,根据支付宝CA的类型信息为支付类,则在支付类指纹中调用相应的指纹进行认证,若支付类指纹中有大拇指指纹,确认认证通过,返回认证结果,如此可以不用遍历手机存储的全部指纹、仅调用支付类的指纹实现认证,提高了指纹认证的效率。即,如图9所示,移动终端先确定CA的类型,继而在该CA的类型中遍历指纹。如支付宝CA,则移动终端遍历支付类的指纹,确定是否有与待认证的指纹相匹配的指纹;若没有,则该移动终端再遍历与该类型相近的类新的指纹,如安全类,在都没有与待认证的指纹相匹配的情况下,移动终端才遍历所有的指纹,如此提高了认证效率。在一种可能的实现中,若遍历了支付类指纹,无法确认是否认证通过,则可遍历移动终端存储的所有指纹,确定是否有与大拇指指纹匹配的指纹,若有,则返回认证通过结果;若没有,则返回认证失败结果。如此,保障了指纹认证的输出。同样地,在进行指纹注册时,若CA为支付宝,CA的类型信息为支付类,CA发送的请求消息中携带了大拇指指纹,则指纹管理模块可将该大拇指指纹设定为支付宝的认证指纹;或者,进一步地,指纹管理模块可将该大拇指指纹设定为支付类应用的认证指纹,例如工商银行的认证指纹。如此,提高了指纹注册的效率,便于同类指纹的管理。
同样地,参照上述支付宝CA、支付宝TA、RTA Fingerprint Management的执行流程,微信的指纹认证可同样适用,即微信CA、微信TA和RTA Fingerprint Management可参照上述流程执行微信的指纹认证。
适应性地,参照上述图3的实施例和图1中的移动终端结构,本发明实施例还提供了一种移动终端,其可用于执行如图7所述的方法。所述移动终端包括:一个或多个处理器;存储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为被所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于:第一应用运行在第一执行环境中;第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;生物特征管理模块运行在所述第二执行环境中;所述 第一应用生成第一请求消息(701);所述第二应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一请求消息(702);若所述第二应用确定所述第一请求消息为与生物特征相关的请求消息,所述第二应用将所述第一请求消息发送给所述生物特征管理模块(703)。
进一步地,在该移动终端的实施例中,所述一个或多个处理器执行所述指令还用于,第三应用运行在所述第一执行环境中;第四应用运行在所述第二执行环境中,所述第四应用与所述第三应用相关联;所述第三应用生成第二请求消息;所述第四应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第二请求消息;若所述第四应用确定所述第二请求消息为与生物特征相关的请求消息,所述第四应用将所述第二请求消息发送给所述生物特征管理模块。
在参照上述移动终端实施例的基础上,一种可能的实现方式中,所述一个或多个处理器执行所述指令还用于,所述生物特征管理模块生成第一响应消息,所述第一响应消息为所述生物特征管理模块对所述第一请求消息的响应;所述第二应用接收所述生物特征管理模块发送的所述第一响应消息;所述第一应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一响应消息。进一步地,所述第一请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成第一响应消息,包括:所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的生物特征;所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的认证结果,生成所述第一响应消息。或者,进一步地,所述第一请求消息中携带所述第一应用的类型信息;所述请求消息用于请求对生物特征进行认证,所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成第一响应消息,包括:所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口 发送的第一认证结果,生成所述第一响应消息。所述一个或多个处理器执行所述指令还可以用于,若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;所述移动终端的硬件生成第二认证结果,并将所述第二认证结果发送给所述生物特征接口;所述生物特征管理模块接收所述生物特征接口发送的所述第二认证结果,生成所述第一响应消息。
图4和图5均为本发明实施例提供的指纹识别架构图,图4和图5中的指纹识别架构可用于执行如图6所示的指纹认证方法。其中,REE环境下的CA与TEE环境下的指纹管理模块或TA建立会话。如图4所示,在本发明实施例中,若CA请求的事务与指纹相关,其经由REE Communication Agent 和TEE communication agent发送的消息均传输至TEE环境下的RTA Fingerprint Management。例如第一CA请求的事务与指纹相关,其发送的消息传输至RTA Fingerprint Management;第二CA请求的事务与指纹相关,其发送的消息传输至所述RTA Fingerprint Management;第三CA请求的事务与指纹相关,其发送的消息传输至所述RTA Fingerprint Management。即涉及到生物特征认证时,多个CA发送的消息均传输至所述RTA Fingerprint Management。与此同时,如图5所示,在本发明实施例中,TEE环境下设有与CA对应的TA,若CA请求的事务与生物特征无关,其经由REE Communication Agent和TEE communication agent发送的消息传输至与该CA相对应的TA。CA发送的与生物特征无关的请求可以是文字密码认证请求,例如请求验证用户输入的数字密码是否正确,请求验证用户输入的字母密码是否正确等。例如,CA1请求的事务与生物特征无关,其发送的消息传输至与TA1;CA2请求的事务与生物特征无关,其发送的消息传输至TA2。即不涉及到生物特征认证时,多个CA发送的消息分别传输至与该CA相对应的TA;涉及到生物特征认证时,多个CA发送的消息均传输至RTA Fingerprint Management。在确定消息是传输给TA还是传输给RTA Fingerprint Management时,可根据该消息中携带的标识予以确定,有TEE communication agent根据消息中的标识将消息转给TA或RTA Fingerprint Management。
具体地,一方面,若CA1发起的业务涉及指纹认证,则CA1在REE环境下调用TEE Client API,创建与TEE环境下的指纹管理模块的会话。CA1在会话中发起命令,该发起的命令经由REE环境下的REE Communication Agent和TEE环境下的TEE communication agent传递至所述指纹管理模块。所述指纹管理模块调用指纹识别功能模块(Fingerprint Biometrics),运行硬件 平台中的SE和Sensor,从而执行与指纹交互相关的操作。在RTA Fingerprint Management执行完操作,需将指纹交互结果传递至CA1时,由该指纹管理模块调用TEE Internal API接口,将交互结果经由TEE环境下的TEE Communication Agent和REE环境下的TEE Client API传输至CA1,例如将加解密信息、签名等传输至CA1。同样地,若CA2发起的业务涉及指纹认证,则CA2在REE环境下调用TEE Client API,创建与TEE环境下的指纹管理模块的会话。CA2在会话中发起命令,该命令经由REE Communication Agent和TEE communication agent传递至所述指纹管理模块。所述指纹管理模块调用Fingerprint Biometrics,运行硬件平台中的SE和Sensor,执行与指纹交互相关的操作。执行完成后,该指纹管理模块调用TEE Internal API接口,将交互结果经由TEE Communication Agent和TEE Client API传输至CA2,例如将加解密信息、签名等传输至CA2。在一种可能的实现方式中,REE环境下的多个CA发起多个涉及指纹交互的请求消息时,这些请求消息中携带的UUID相同,均指向TEE环境下的指纹管理模块。即,在如图4和图5所述的实施例中,在涉及生物特征认证业务时,如指纹认证业务,多个REE环境下的CA对应一个TEE环境下的指纹管理模块,该多个CA发送的指纹认证相关的消息均指向指纹管理模块,由该指纹管理模块执行相应的处理。
另一方面,若CA1发起的业务不涉及指纹认证,则CA1在REE环境下调用TEE Client API,创建与TEE环境下的TA1的会话,该TA1与该CA1对应。CA1在会话中发起命令,该发起的命令经由REE环境下的REE Communication Agent和TEE环境下的TEE communication agent传递至所述TA1。TA1调用TEE Internal API,执行相应的认证操作,并在认证完成后,将认证结果经由TEE communication agent和REE Communication Agent发送给REE环境下的CA1。若CA2发起的业务不涉及指纹认证,则CA2在REE环境下调用TEE Client API,创建与TEE环境下的TA2的会话,该TA2与该CA2对应。CA2在会话中发起命令,该发起的命令经由REE Communication Agent和TEE communication agent传递至所述TA2。TA2调用TEE Internal API,执行相应的认证操作,并在认证完成后,将认证结果发送给REE环境下的CA2。在一种可能的实现方式中,REE环境下的CA发起不涉及指纹交互的请求消息时,这些请求消息中携带与该CA相对应的TA的UUID,将该请求消息发送至TEE环境下与该CA对应的TA。即,在如图4和图5所述的实施例中,在不涉及生物特征认证业务时,如不涉及指纹认证业务,一个REE环境下的CA对应一个TEE环境下的TA,该CA发送的与指纹认证不相关的消息指向TA,由与该CA对应的TA执行相应的处理。
具体地,支付宝CA运行在Android中,支付宝TA运行在TEE中,RTA Fingerprint Management运行在TEE中,该RTA Fingerprint Management用于执行与指纹认证相关的操作。支付宝CA生成认证请求,该认证请求中携带支付宝CA的标识信息或RTA Fingerprint Management的标识信息。若该认证请求不涉及生物特征,则认证请求中携带支付宝CA的标识;若该认证请求中涉及生物特征,如指纹认证,则认证请求中携带RTA Fingerprint Management的标识。该认证请求经由Android的接口发送至TEE的接口,例如经由REE Communication Agent发送至TEE communication agent,由TEE communication agent根据标识信息确定将认证请求的发送对象。若携带的是支付宝TA的标识,则将该认证请求发送给支付宝TA,支付宝TA调用TEE Internal API进行相应的认证,并按照原路返回认证结果。若携带的是RTA Fingerprint Management的标识,则将该认证请求发送给RTA Fingerprint Management。RTA Fingerprint Management调用Fingerprint Biometrics,Fingerprint Biometrics调用硬件平台中的SE和Sensor等,执行与指纹交互相关的操作,生成认证结果。RTA Fingerprint Management获取认证结果后,经由原路返回该认证结果,即RTA Fingerprint Management将指纹认证结果发送给支付宝TA,该支付宝TA经由TEE Communication Agent和REE communication agent将指纹认证结果发送给支付宝CA。即,在本发明实施例中,若涉及指纹认证,Android中的多个CA发送的认证请求中均携带RTA Fingerprint Management的标识,请求进行指纹认证。
进一步地,RTA Fingerprint Management在进行指纹认证时,可参照上述实施例中有关CA携带类型信息部分的描述。即,在涉及指纹认证时,CA携带类型信息和待认证的指纹,如支付宝CA携带支付类的类型信息和大拇指指纹,RTA Fingerprint Management获取该认证请求后,经由Fingerprint Biometrics调用硬件平台中的硬件,确定是否有支付类的指纹,若有,则遍历支付类的指纹,确定是否有大拇指指纹相匹配的指纹,若有,则确定指纹认证通过;若支付类指纹中没有与大拇指指纹相匹配的指纹,则遍历该移动终端存储的所有指纹,确定是否有与该大拇指指纹相匹配的指纹,若有,则确定指纹认证通过,若没有,则确定指纹认证失败。
适应性地,参照上述图4或图5的实施例和图1中的移动终端结构,本发明实施例还提供了一种移动终端,用于执行如图6所述的方法。所述移动终端包括:一个或多个处理器;储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为被所述一个或 多个处理器执行,所述一个或多个程序包括指令,所述指令用于:第一应用运行在第一执行环境中;第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;生物特征管理模块运行在所述第二执行环境中,所述生物特征管理模块用于在所述第二执行环境中执行与生物特征认证相关的操作;所述第一应用生成请求消息(601);所述请求消息中携带所述第二应用或所述生物特征管理模块的标识信息;所述请求消息经由所述第一执行环境的接口发送至所述第二执行环境的接口(602);若所述请求消息中携带所述第二应用的标识信息,所述第二执行环境的接口将所述请求消息发送至所述第二应用(603);若所述请求消息中携带所述生物特征管理模块的标识信息,所述第二执行环境的接口将所述请求消息发送至所述生物特征管理模块(604)。
进一步地,在该移动终端的实施例中,所述一个或多个处理器执行所述指令还用于,所述生物特征管理模块生成响应消息,所述响应消息为所述生物特征管理模块对所述请求消息的响应;所述响应消息经由所述第二执行环境的接口发送至所述第一执行环境的接口;所述第一执行环境的接口将所述响应消息发送至所述第一应用。进一步地,所述请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成响应消息,包括:所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的生物特征;所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的认证结果,生成响应消息。或者,进一步地,所述请求消息中携带所述第一应用的类型信息;所述请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成响应消息,包括:所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的第一认证结果,生成响应消息。所述一个或多个处理器执行所述指令还可以用于, 若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;所述移动终端的硬件生成第二认证结果,并将所述第二认证结果发送给所述生物特征接口;所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的所述第二认证结果,生成响应消息。
需要说明的是,在本发明的上述实施例中,“第一”“第二”之类的表述仅用于各表述对象之间的区分之用,不具有实际含义。便携式电子设备与移动终端、终端等义。
在本发明各个实施例中的各功能模块可以集成在一个处理单元模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,其实现原理和技术效果类似,相同或相应的技术特征在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (26)

  1. 一种移动终端的认证方法,应用于移动终端,其特征在于,所述方法包括:
    第一应用运行在第一执行环境中;
    第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;
    生物特征管理模块运行在所述第二执行环境中,所述生物特征管理模块用于在所述第二执行环境中执行与生物特征认证相关的操作;
    所述第一应用生成请求消息;所述请求消息中携带所述第二应用或所述生物特征管理模块的标识信息;
    所述请求消息经由所述第一执行环境的接口发送至所述第二执行环境的接口;
    若所述请求消息中携带所述第二应用的标识信息,所述第二执行环境的接口将所述请求消息发送至所述第二应用;
    若所述请求消息中携带所述生物特征管理模块的标识信息,所述第二执行环境的接口将所述请求消息发送至所述生物特征管理模块。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述生物特征管理模块生成响应消息,所述响应消息为所述生物特征管理模块对所述请求消息的响应;
    所述响应消息经由所述第二执行环境的接口发送至所述第一执行环境的接口;
    所述第一执行环境的接口将所述响应消息发送至所述第一应用。
  3. 根据权利要求2所述的方法,其特征在于,所述请求消息用于请求对生物特征进行认证;所述生物特征管理模块生成响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的生物特征;
    所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;
    所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的所述认证结果,生成响应消息。
  4. 根据权利要求2所述的方法,其特征在于,所述请求消息中携带所述第一应用的类型信息;所述请求消息用于请求对生物特征进行认证;所述生物特征管理模块生成响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的第一认证结果,生成响应消息。
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;
    所述移动终端的硬件生成第二认证结果,并将所述第二认证结果发送给所述生物特征接口;
    所述生物特征管理模块接收所述生物特征接口发送的所述第二认证结果,生成响应消息。
  6. 根据权利要求1-5任一所述的方法,其特征在于,所述与生物特征认证相关的操作包括如下操作中的至少一个:生物特征的注册操作;生物特征的删除操作;生物特征的验证操作;生物特征与应用之间的关联关系的取消操作。
  7. 一种移动终端的认证方法,应用于移动终端,其特征在于,所述方法包括:
    第一应用运行在第一执行环境中;
    第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;
    生物特征管理模块运行在所述第二执行环境中;
    所述第一应用生成第一请求消息;
    所述第二应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一请求消息;
    若所述第二应用确定所述第一请求消息为与生物特征相关的请求消息, 所述第二应用将所述第一请求消息发送给所述生物特征管理模块。
  8. 根据权利要求7所述的认证方法,其特征在于,所述方法还包括:
    第三应用运行在所述第一执行环境中;
    第四应用运行在所述第二执行环境中,所述第四应用与所述第三应用相关联;
    所述第三应用生成第二请求消息;
    所述第四应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第二请求消息;
    若所述第四应用确定所述第二请求消息为与生物特征相关的请求消息,所述第四应用将所述第二请求消息发送给所述生物特征管理模块。
  9. 根据权利要求7或8所述的认证方法,其特征在于,所述方法还包括:
    所述生物特征管理模块生成第一响应消息,所述第一响应消息为所述生物特征管理模块对所述第一请求消息的响应;
    所述第二应用接收所述生物特征管理模块发送的所述第一响应消息;
    所述第一应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一响应消息。
  10. 根据权利要求9所述的认证方法,其特征在于,所述第一请求消息用于请求对生物特征进行认证;所述生物特征管理模块生成第一响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的生物特征;
    所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;
    所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的所述认证结果,生成所述第一响应消息。
  11. 根据权利要求9所述的认证方法,其特征在于,所述第一请求消息中携带所述第一应用的类型信息;所述请求消息用于请求对生物特征进行认证;所述生物特征管理模块生成第一响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获 取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的第一认证结果,生成所述第一响应消息。
  12. 根据权利要求11所述的方法,其特征在于,所述方法还包括:
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;
    所述移动终端的硬件生成第二认证结果,并将所述第二认证结果发送给所述生物特征接口;
    所述生物特征管理模块接收所述生物特征接口发送的所述第二认证结果,生成所述第一响应消息。
  13. 根据权利要求7-12任一所述的方法,其特征在于,所述与生物特征认证相关的操作包括如下操作中的至少一个:生物特征的注册操作;生物特征的删除操作;生物特征的验证操作;生物特征与应用之间的关联关系的取消操作。
  14. 一种移动终端,其特征在于,所述移动终端包括:一个或多个处理器;存储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为被所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于:
    第一应用运行在第一执行环境中;
    第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;
    生物特征管理模块运行在所述第二执行环境中,所述生物特征管理模块用于在所述第二执行环境中执行与生物特征认证相关的操作;
    所述第一应用生成请求消息;所述请求消息中携带所述第二应用或所述生物特征管理模块的标识信息;
    所述请求消息经由所述第一执行环境的接口发送至所述第二执行环境的接口;
    若所述请求消息中携带所述第二应用的标识信息,所述第二执行环境的 接口将所述请求消息发送至所述第二应用;
    若所述请求消息中携带所述生物特征管理模块的标识信息,所述第二执行环境的接口将所述请求消息发送至所述生物特征管理模块。
  15. 根据权利要求14所述的移动终端,其特征在于,其特征在于,所述一个或多个处理器执行所述指令还用于,
    所述生物特征管理模块生成响应消息,所述响应消息为所述生物特征管理模块对所述请求消息的响应;
    所述响应消息经由所述第二执行环境的接口发送至所述第一执行环境的接口;
    所述第一执行环境的接口将所述响应消息发送至所述第一应用。
  16. 根据权利要求15所述的移动终端,其特征在于,所述请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的生物特征;
    所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;
    所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的所述认证结果,生成响应消息。
  17. 根据权利要求15所述的移动终端,其特征在于,所述请求消息中携带所述第一应用的类型信息;所述请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的第一认证结果,生成响应消息。
  18. 根据权利要求17所述的移动终端,其特征在于,所述一个或多个处理器执行所述指令还用于,
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;
    所述移动终端的硬件生成第二认证结果,并将所述第二认证结果发送给所述生物特征接口;
    所述生物特征管理模块接收所述生物特征接口发送的所述第二认证结果,生成响应消息。
  19. 根据权利要求14-18任一所述的移动终端,其特征在于,所述与生物特征认证相关的操作包括如下操作中的至少一个:生物特征的注册操作;生物特征的删除操作;生物特征的验证操作;生物特征与应用之间的关联关系的取消操作。
  20. 一种移动终端,其特征在于,所述移动终端包括:一个或多个处理器;存储器;多个应用程序;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为被所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于:
    第一应用运行在第一执行环境中;
    第二应用运行在第二执行环境中,所述第二应用与所述第一应用相关联;
    生物特征管理模块运行在所述第二执行环境中;
    所述第一应用生成第一请求消息;
    所述第二应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一请求消息;
    若所述第二应用确定所述第一请求消息为与生物特征相关的请求消息,所述第二应用将所述第一请求消息发送给所述生物特征管理模块。
  21. 根据权利要求20所述的移动终端,其特征在于,所述一个或多个处理器执行所述指令还用于,
    第三应用运行在所述第一执行环境中;
    第四应用运行在所述第二执行环境中,所述第四应用与所述第三应用相关联;
    所述第三应用生成第二请求消息;
    所述第四应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第二请求消息;
    若所述第四应用确定所述第二请求消息为与生物特征相关的请求消息,所述第四应用将所述第二请求消息发送给所述生物特征管理模块。
  22. 根据权利要求20或21所述的移动终端,其特征在于,所述一个或多个处理器执行所述指令还用于,
    所述生物特征管理模块生成第一响应消息,所述第一响应消息为所述生物特征管理模块对所述第一请求消息的响应;
    所述第二应用接收所述生物特征管理模块发送的所述第一响应消息;
    所述第一应用经由所述第一执行环境和所述第二执行环境的接口,接收所述第一响应消息。
  23. 根据权利要求22所述的移动终端,其特征在于,所述第一请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成第一响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的生物特征;
    所述移动终端的硬件确定所述待认证的生物特征与所述移动终端存储的生物特征是否匹配,生成认证结果;
    所述生物特征管理模块接收所述移动终端的硬件经由所述生物特征接口发送的所述认证结果,生成所述第一响应消息。
  24. 根据权利要求22所述的移动终端,其特征在于,所述第一请求消息中携带所述第一应用的类型信息;所述请求消息用于请求对生物特征进行认证;所述一个或多个处理器执行所述指令用于所述生物特征管理模块生成第一响应消息,包括:
    所述生物特征管理模块经由生物特征接口调用所述移动终端的硬件获取待认证的生物特征;
    所述移动终端的硬件获取所述移动终端存储的至少一个第一生物特征,所述第一生物特征的类型信息与所述第一应用的类型信息相匹配;
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征相匹配,所述生物特征管理模块接收所述移动终端的硬件经由所述生物特 征接口发送的第一认证结果,生成所述第一响应消息。
  25. 根据权利要求24所述的移动终端,其特征在于,所述一个或多个处理器执行所述指令还用于,
    若所述移动终端的硬件确定所述待认证的生物特征与所述第一生物特征不匹配,所述移动终端的硬件遍历所有生物特征对所述待认证的生物特征进行认证;
    所述移动终端的硬件生成第二认证结果,并将所述第二认证结果发送给所述生物特征接口;
    所述生物特征管理模块接收所述生物特征接口发送的所述第二认证结果,生成所述第一响应消息。
  26. 根据权利要求20-25任一所述的移动终端,其特征在于,所述与生物特征认证相关的操作包括如下操作中的至少一个:生物特征的注册操作;生物特征的删除操作;生物特征的验证操作;生物特征与应用之间的关联关系的取消操作。
PCT/CN2016/087993 2016-06-30 2016-06-30 一种移动终端的认证方法及移动终端 WO2018000370A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2016/087993 WO2018000370A1 (zh) 2016-06-30 2016-06-30 一种移动终端的认证方法及移动终端
US16/314,031 US20210240807A1 (en) 2016-06-30 2016-06-30 Authentication method for mobile terminal and mobile terminal
CN201680087094.8A CN109416800B (zh) 2016-06-30 2016-06-30 一种移动终端的认证方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/087993 WO2018000370A1 (zh) 2016-06-30 2016-06-30 一种移动终端的认证方法及移动终端

Publications (1)

Publication Number Publication Date
WO2018000370A1 true WO2018000370A1 (zh) 2018-01-04

Family

ID=60785728

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/087993 WO2018000370A1 (zh) 2016-06-30 2016-06-30 一种移动终端的认证方法及移动终端

Country Status (3)

Country Link
US (1) US20210240807A1 (zh)
CN (1) CN109416800B (zh)
WO (1) WO2018000370A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263312B1 (en) 2020-09-18 2022-03-01 Alipay (Hangzhou) Information Technology Co., Ltd. Secure service request processing methods and apparatuses

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960582B (zh) * 2018-06-19 2020-04-28 华为技术有限公司 在tee侧实现多核并行的方法、装置及系统
CN109766152B (zh) * 2018-11-01 2022-07-12 华为终端有限公司 一种交互方法及装置
US11698959B2 (en) * 2019-03-26 2023-07-11 Gear Radio Electronics Corp. Setup method, recognition method and electronic device using the same
CN113192237B (zh) * 2020-01-10 2023-04-18 阿里巴巴集团控股有限公司 支持tee和ree的物联网设备以及实现tee和ree间通信的方法
CN111858004A (zh) * 2020-07-21 2020-10-30 中国人民解放军国防科技大学 基于tee扩展的计算机安全世界实时应用动态加载方法及系统
CN113570360B (zh) * 2021-06-30 2024-03-19 中国银联股份有限公司 支付方法、装置、设备及介质
CN113645014B (zh) * 2021-10-13 2022-01-04 北京创米智汇物联科技有限公司 基于智能安防设备的数据处理方法、设备及存储介质
CN115048642B (zh) * 2021-11-29 2023-04-25 荣耀终端有限公司 多可信执行环境下可信应用间的通信方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700268A (zh) * 2015-03-30 2015-06-10 中科创达软件股份有限公司 一种移动支付方法及移动设备
CN105306490A (zh) * 2015-11-23 2016-02-03 小米科技有限责任公司 支付验证系统、方法及装置
WO2016048877A1 (en) * 2014-09-22 2016-03-31 Mastercard International Incorporated Trusted execution environment and transport layer security key pair for e-commerce and card not present transactions
CN105488679A (zh) * 2015-11-23 2016-04-13 小米科技有限责任公司 基于生物识别技术的移动支付设备、方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103176727B (zh) * 2011-12-23 2016-01-27 宇龙计算机通信科技(深圳)有限公司 应用程序的启动方法及通信终端
US9817960B2 (en) * 2014-03-10 2017-11-14 FaceToFace Biometrics, Inc. Message sender security in messaging system
US9762573B2 (en) * 2014-05-30 2017-09-12 Verizon Patent And Licensing Inc. Biometric framework allowing independent application control
US20160162893A1 (en) * 2014-12-05 2016-06-09 Mastercard International Incorporated Open, on-device cardholder verification method for mobile devices
CN104765612B (zh) * 2015-04-10 2018-05-08 武汉天喻信息产业股份有限公司 一种访问可信执行环境、可信应用的系统及方法
CN105574723A (zh) * 2015-12-14 2016-05-11 联想(北京)有限公司 信息的安全处理方法及安全处理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016048877A1 (en) * 2014-09-22 2016-03-31 Mastercard International Incorporated Trusted execution environment and transport layer security key pair for e-commerce and card not present transactions
CN104700268A (zh) * 2015-03-30 2015-06-10 中科创达软件股份有限公司 一种移动支付方法及移动设备
CN105306490A (zh) * 2015-11-23 2016-02-03 小米科技有限责任公司 支付验证系统、方法及装置
CN105488679A (zh) * 2015-11-23 2016-04-13 小米科技有限责任公司 基于生物识别技术的移动支付设备、方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263312B1 (en) 2020-09-18 2022-03-01 Alipay (Hangzhou) Information Technology Co., Ltd. Secure service request processing methods and apparatuses
EP3971745A1 (en) * 2020-09-18 2022-03-23 Alipay (Hangzhou) Information Technology Co., Ltd. Secure service request processing methods and apparatuses

Also Published As

Publication number Publication date
US20210240807A1 (en) 2021-08-05
CN109416800B (zh) 2022-06-14
CN109416800A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
WO2018000370A1 (zh) 一种移动终端的认证方法及移动终端
US10097350B2 (en) Privacy enhanced key management for a web service provider using a converged security engine
WO2018228199A1 (zh) 一种授权方法以及相关设备
JP6997343B2 (ja) アプリケーションまたはアプリケーション機能を迅速に開くための方法、および端末
CN108475304B (zh) 一种关联应用程序和生物特征的方法、装置以及移动终端
WO2017118437A1 (zh) 进行业务处理的方法、装置和系统
CN110300083B (zh) 一种获取身份信息的方法、终端及验证服务器
WO2019184684A1 (zh) 数据处理方法和装置、终端、计算机可读存储介质
WO2020024929A1 (zh) 对电子身份证的业务适用范围进行升级的方法和终端设备
WO2017211205A1 (zh) 一种白名单更新方法和装置
WO2019072039A1 (zh) 一种业务证书管理方法、终端及服务器
WO2019196693A1 (zh) 应用控制方法和装置、可读存储介质、终端
CN108881103B (zh) 一种接入网络的方法及装置
WO2015055095A1 (en) Identity authentication method and device and storage medium
WO2021115113A1 (zh) 数据处理方法、装置及存储介质
US11038684B2 (en) User authentication using a companion device
WO2018214748A1 (zh) 应用界面的显示方法、装置、终端及存储介质
WO2019184631A1 (zh) 信息处理方法和装置、计算机可读存储介质、终端
JP2021512404A (ja) 認証ウィンドウ表示方法及び装置
CN110474864A (zh) 一种注册、登录移动应用程序的方法及电子设备
CN107577933B (zh) 应用登录方法和装置、计算机设备、计算机可读存储介质
CN111489172B (zh) 一种资质信息的认证方法和终端以及服务器
EP4187420A1 (en) Resource management method, computing device, computing equipment, and readable storage medium
WO2020133477A1 (zh) 数据显示方法
CN106874746B (zh) 应用程序调用方法、装置和移动终端

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: 16906770

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16906770

Country of ref document: EP

Kind code of ref document: A1