WO2021103839A1 - 安全加固架构、加解密方法、车联网终端和车辆 - Google Patents

安全加固架构、加解密方法、车联网终端和车辆 Download PDF

Info

Publication number
WO2021103839A1
WO2021103839A1 PCT/CN2020/121574 CN2020121574W WO2021103839A1 WO 2021103839 A1 WO2021103839 A1 WO 2021103839A1 CN 2020121574 W CN2020121574 W CN 2020121574W WO 2021103839 A1 WO2021103839 A1 WO 2021103839A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
client application
key block
encryption
static library
Prior art date
Application number
PCT/CN2020/121574
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 EP20894282.1A priority Critical patent/EP3885954B1/en
Publication of WO2021103839A1 publication Critical patent/WO2021103839A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Definitions

  • This application relates to the field of automotive technology, and in particular to a security reinforcement architecture, encryption and decryption methods, Internet of Vehicles terminals, and vehicles.
  • the telematics terminal (Telematic Box, TBox) of the Internet of Vehicles is the gateway and network outlet of the Internet of Vehicles.
  • Tbox provides related hardware security zone functions to meet encryption and decryption security requirements.
  • the secure zone provides the rich operating system with client application function interfaces such as encryption and decryption.
  • the user program can realize the encryption and decryption of sensitive data by calling these client application function interfaces.
  • the trusted execution environment of the secure zone can be implemented.
  • the letter application will generate an encrypted key block data to return to the rich operating system user, and store the key block data in the file system.
  • a third-party malicious program may find the key block file in the file system, and then use the decryption function interface of the client application to decrypt sensitive data to obtain valuable data, which poses a serious security risk.
  • the embodiments of the present application provide a security reinforcement architecture, an encryption and decryption method, an Internet of Vehicles terminal, and a vehicle.
  • the security reinforcement architecture includes an application program, biometric information, an enhanced client application static library, a client application, and a security zone;
  • the application program is used to load the biometric information
  • the enhanced client application static library is used to verify the biometric information
  • the enhanced client application static library is used to apply to the client application to generate an encryption request when the biometric information is verified, and the client application sends the encryption request to the trusted execution environment
  • the trusted application generates a key block in the secure zone and returns to the enhanced client application static library
  • the enhanced client application static library is also used to encrypt the key block To get the encrypted key block.
  • the application program links the biometric information and the enhanced client application static library.
  • the application program calls the enhanced client application static library for initialization.
  • the biometric information includes fingerprint information, facial information, and/or iris information.
  • the enhanced client application static library is also used to refuse to provide encryption services in the case that the biometric information verification fails.
  • the enhanced client application static library is also used to decrypt the encrypted key block when the application sends a data plaintext encryption request, and transmit the decrypted key block and data plaintext to A trusted application in a trusted execution environment, where the trusted application is used to decrypt the decrypted key block in the secure area and encrypt the data plaintext to obtain the data ciphertext, and the The data ciphertext is returned to the application.
  • the enhanced client application static library is also used to decrypt the encrypted key block when the application sends a data ciphertext decryption request, and decrypt the decrypted key block and the data ciphertext Transmitted to the trusted application in the trusted execution environment, the trusted application decrypts the decrypted key block in the secure zone and decrypts the data ciphertext to obtain the data plaintext, and the The data is returned to the application in plaintext.
  • This application provides an encryption and decryption method for a security reinforcement architecture, which is used in a car networking terminal.
  • the security reinforcement architecture includes an application program, biometric information, an enhanced client application static library, a client application, and a security zone.
  • the decryption method includes steps:
  • the application program loads the biometric information
  • the enhanced client application static library verifies the biometric information, and in the case of passing the biometric information verification, applies to the client application to generate an encryption request;
  • the client application sends the encryption request to a trusted application in a trusted execution environment
  • the trusted application generates a key block in the secure zone and returns it to the enhanced client application static library;
  • the enhanced client application static library encrypts the key block to obtain an encrypted key block.
  • the encryption and decryption method includes the steps:
  • the enhanced client application static library decrypts the encrypted key block when the application sends a data plaintext encryption request, and transmits the decrypted key block and data plaintext to a trusted application in a trusted execution environment;
  • the trusted application decrypts the decrypted key block in the secure zone and encrypts the data plaintext to obtain a data ciphertext, and returns the data ciphertext to the application program.
  • the encryption and decryption method includes the steps:
  • the enhanced client application static library decrypts the encrypted key block when the application sends a data ciphertext decryption request, and transmits the decrypted key block and the data ciphertext to the trusted execution environment. application;
  • the trusted application decrypts the decrypted key block in the secure zone and decrypts the data ciphertext to obtain the data plaintext, and returns the data plaintext to the application program.
  • the present application provides an Internet of Vehicles terminal, which adopts the security reinforcement architecture described above.
  • the application provides a vehicle, including the said car networking terminal
  • the application provides a vehicle including one or more processors and memories;
  • One or more programs wherein the one or more programs are stored in the memory and executed by the one or more processors, and the program includes instructions for executing the encryption and decryption method as described above .
  • the present application provides a non-volatile computer-readable storage medium containing computer-executable instructions.
  • the processor is caused to execute the encryption and decryption method as described above.
  • the authentication of biometric information by the static library of the client application is enhanced, which effectively prevents third-party malicious application call enhancement
  • the client application static library encryption and decryption function library, while enhancing the client application static library will perform secondary encryption protection on the key block returned from the secure area, so that even if the encrypted key block is found, it cannot be directly used by the client application. This greatly reduces the risk of sensitive data being decrypted.
  • FIG. 1 is a schematic flowchart of an encryption and decryption method according to some embodiments of the present application
  • FIG. 2 is a schematic diagram of modules of a security reinforcement architecture in some embodiments of the present application.
  • Fig. 3 is a schematic diagram of a flow scene of an encryption and decryption method according to some embodiments of the present application.
  • Fig. 4 is a schematic flowchart of an encryption and decryption method according to some embodiments of the present application.
  • Fig. 5 is a schematic flowchart of an encryption and decryption method according to some embodiments of the present application.
  • the telematics terminal (Telematic Box, TBox) of the Internet of Vehicles is the gateway and the only network outlet of the vehicle mobile network. Therefore, various application scenarios of the TBox have high requirements for network security. For example, it is necessary to protect sensitive data such as account passwords of networked access point names, back-end account passwords and certificates, and secure encryption and decryption functions are required.
  • Tbox's processing platform provides related hardware security zone functions. For example, encryption and decryption can be satisfied by generating hardware random numbers (Random Numeral Generator, RNG), Advanced Encryption Standard (AES), and RSA encryption algorithms. Safety requirements.
  • the current TBox usually uses rich operating systems, such as Linux systems, Android systems, and other operating systems that provide rich resources.
  • the security zone provides the rich operating system with client application function interfaces such as key generation, encryption, and decryption.
  • client application function interfaces such as key generation, encryption, and decryption.
  • User programs can encrypt and decrypt sensitive data by calling these client application function interfaces.
  • the trusted application of the trusted execution environment of the secure zone will generate an encrypted key block data and return it to the user, and store the key block data in the file system.
  • a third-party malicious program may find the key block file in the file system, and then use the decryption function interface of the client application to decrypt sensitive data to obtain valuable data, which poses a serious security risk.
  • this application provides an encryption and decryption method of a security reinforcement architecture, which is used in a car networking terminal.
  • the security reinforcement architecture includes applications, biometric information, enhanced client application static libraries, client applications, and security zones. Encryption and decryption methods include:
  • S20 Enhance the client application static library to verify the biometric information, and if the biometric information is verified, apply to the client application to generate an encryption request;
  • S30 The client application sends the encryption request to the trusted application in the trusted execution environment
  • the trusted application generates a key block in the secure zone and returns it to the enhanced client application static library;
  • S50 The enhanced client uses the static library to encrypt the key block to obtain the encrypted key block.
  • the implementation manner of the present application also provides a security reinforcement architecture 100.
  • the encryption and decryption method of the embodiment of the present application can be used to implement the security hardening architecture 100.
  • the embodiment of the present application also provides a car networking terminal 200 and a vehicle.
  • the car adopts the car networking terminal 200, and the operating system of the car networking terminal 200 adopts the security reinforcement architecture 100.
  • the security reinforcement architecture 100 includes an application program 10, biometric information 20, an enhanced client application static library 30, a client application 40, and a security zone 50.
  • the application program 10 is used to load biometric information 20.
  • the enhanced client application static library 30 is used to verify the biometric information 20.
  • the enhanced client application static library 30 is used to apply to the client application 40 to generate an encryption request when the biometric information is verified.
  • the client application 40 sends the encryption request to the trusted application in the trusted execution environment, and the trusted application generates a key block in the secure zone 50 and returns it to the enhanced client application static library 30.
  • the enhanced client application static library 30 is also used to encrypt the key block to obtain an encrypted key block.
  • the authentication of the biometric information 20 by the static library 30 of the client application is enhanced, effectively preventing the third-party malicious application from invoking the enhanced customer
  • the client application static library 30 encryption and decryption function library, while enhancing the client application static library 30 will perform secondary encryption protection on the key block returned by the secure area 50, so that even if the encrypted key block is found, it cannot be directly applied to the client application 40 use, thereby greatly reducing the risk of sensitive data being decrypted.
  • the key block is protected and an enhanced client application static library 30 that can prevent the encryption and decryption of illegal calls by third-party malicious applications is provided to access the client application 40, thereby improving the security and reliability of the entire system.
  • step S10 further includes the following steps:
  • the application program links biometric information and enhances the client application static library
  • the application program 10 links the biometric information 20 and the enhanced client application static library 30.
  • the application program 10 needs to link the biometric information 20 and the enhanced client application static library 30.
  • the application and biometric information are both in Linux ELF file format.
  • the biometric information may include biometric information such as fingerprint information, face information, and iris information, which is not specifically limited. The following takes fingerprint information as an example for description.
  • Fingerprint information can be a code segment named .fingerprint linked to the ELF file of the application.
  • the fingerprint information will include hard-coded values such as fingerprint version information, cyclic redundancy check check value, hash value, and key.
  • step S10 further includes the following steps:
  • the application program calls the enhanced client application static library for initialization.
  • the application program 10 calls the enhanced client application static library 30 for initialization.
  • the application program 10 may call the initialization function of the enhanced client application static library 30 for initialization.
  • Initialization can be used to assign variables to default values and set related controls to default states, so that the enhanced client application static library 30 is ready for access requests.
  • step S20 includes:
  • the enhanced client application static library 30 obtains the biometric information 20.
  • the enhanced client application static library 30 obtains fingerprint data in .fingerprint, and verifies the legitimacy of the fingerprint data. Specifically, the verification includes two stages. In the first stage, the fingerprint version information is read first, and then the fingerprint version information is XORed with the magic number 1, and the result is then subjected to cyclic redundancy check. The check result is compared with the check value of the cyclic redundancy check in the fingerprint information. If successful, proceed to the next step of authentication.
  • the second stage read the key information in the fingerprint information, reverse the key information and perform an exclusive OR operation with the magic number 2, then perform the SHA256 hash operation on the result, and then combine the result of the operation with the fingerprint information The hash value inside is compared, and if it succeeds, the fingerprint information authentication is successful.
  • the enhanced client application static library 30 will apply to the client application 40 to generate an AES key, and the client application 40 will forward the request to the trusted application (Trusted Execution Environment, TEE).
  • TEE Trusted Execution Environment
  • Application, TA The TA generates a key block in the secure area 50.
  • the key block is composed of an encrypted key, a non-repetitive random number, and the length of the authorization note.
  • the key block is stored in the memory.
  • the generated key block is returned to the enhanced client application static library 30, and the enhanced client application static library 30 performs secondary encryption on the key block.
  • the enhanced client application static library 30 can use a key derivation function (KDF) to generate the key 1.
  • KDF key derivation function
  • the enhanced client application static library 30 there will be a hard-coded AES key 0, which will be XORed with the magic number 3 to get the key 0+. Take the key 0+ and the salt value. The inverse value is input to KDF to generate key 1, and the obtained key 1 is used to perform AES encryption on the key block to obtain the encrypted key block.
  • Write the encrypted key block to the file system for storage, and erase sensitive information such as key block, key 0, key 0+, and key 1 in the memory.
  • a third-party malicious application is effectively prevented from calling the encryption and decryption function library of the enhanced client application static library 30, and at the same time the client application static library 30 is enhanced.
  • the key block returned from the secure area 50 is protected by secondary encryption, so that even if the encrypted key block is found, it cannot be directly used by the client application 40, thereby greatly reducing the risk of sensitive data being decrypted.
  • the encryption and decryption method includes steps:
  • the enhanced client application static library decrypts the encrypted key block when the application sends a data plaintext encryption request, and transmits the decrypted key block and data plaintext to the trusted application in the trusted execution environment;
  • the trusted application decrypts the decrypted key block in the secure area and encrypts the data plaintext to obtain the data ciphertext, and returns the data ciphertext to the application program.
  • the enhanced client application static library 30 decrypts the encrypted key block when the application 10 sends the data plaintext encryption request, and transmits the decrypted key block and data plaintext to the trusted execution environment.
  • Letter application decrypts the decrypted key block in the secure area 50 and encrypts the data plaintext to obtain the data ciphertext, and returns the data ciphertext to the application program 10.
  • the application program 10 calls the encryption function of the enhanced client application static library 30 to send a data plaintext encryption request
  • the enhanced client application static library 30 calculates the key 1 according to the aforementioned method, and reads the encrypted key block from the file system, and uses The advanced encryption standard algorithm decrypts the encrypted key block to obtain the key block information.
  • the client application 40 transmits the key block and data plaintext to the TA in the TEE.
  • the TA first decrypts the key block, and then encrypts the plaintext data to obtain the data
  • the ciphertext, the data ciphertext is finally returned to the application program 10, and sensitive information such as key block, key 0, key 0+, and key 1 in the memory is erased.
  • the encryption and decryption method includes steps:
  • the enhanced client application static library decrypts the encrypted key block when the application sends a data ciphertext decryption request, and transmits the decrypted key block and data ciphertext to the trusted application in the trusted execution environment;
  • the trusted application decrypts the decrypted key block in the secure area and decrypts the data ciphertext to obtain the data plaintext, and returns the data plaintext to the application.
  • the enhanced client application static library 30 decrypts the encrypted key block when the application 10 sends a data ciphertext decryption request, and transmits the decrypted key block and data ciphertext to the trusted execution environment Trusted applications.
  • the trusted application decrypts the decrypted key block in the secure area 50 and decrypts the data ciphertext to obtain the data plaintext, and returns the data plaintext to the application program.
  • the application program 10 calls the decryption function of the enhanced client application static library 30 to send a decryption request
  • the enhanced client application static library 30 calculates the key 1 according to the aforementioned method, and reads the encrypted key block from the file system, using advanced encryption standards
  • the algorithm decrypts the encrypted key block to obtain the key block information.
  • the client application 40 transmits the key block and the data ciphertext to the TA of the TEE.
  • the TA first decrypts the key block, and then decrypts the data ciphertext to obtain the data plaintext. Finally, the data is returned to the application program 10 in plaintext.
  • the key block decrypted by the enhanced client application static library 30 can be used to encrypt and decrypt data in the secure area, which improves the security and reliability of the system. .
  • the embodiment of the present application also provides a computer-readable storage medium.
  • the processors are caused to execute the encryption and decryption methods of any one of the foregoing embodiments.
  • the embodiment of the present application also provides a vehicle.
  • the vehicle includes one or more processors, and one or more programs are stored in the memory and configured to be executed by the one or more processors.
  • the program includes the encryption and decryption method described in any one of the above implementations.
  • the processor can be used to provide computing and control capabilities to support the operation of the entire vehicle on-board system.
  • the memory of the vehicle provides an environment for the operation of the computer-readable instructions in the memory.
  • the vehicle’s on-board system adopts the aforementioned Internet of Vehicles terminal 200, and the Internet of Vehicles terminal 200 adopts the above-mentioned volumetric security reinforcement architecture. Understandably, by enhancing the authentication of the biometric information by the static library of the client application, the third-party maliciousness is effectively prevented.
  • the application calls the encryption and decryption function library of the enhanced client application static library.
  • the enhanced client application static library will perform secondary encryption protection on the key block returned from the secure area, so that the encrypted key block cannot be directly given to the client even if it is found Application use, thereby greatly reducing the risk of sensitive data being decrypted.
  • the program can be stored in a non-volatile computer-readable storage medium.
  • the storage medium can be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM), and so on.

Abstract

本申请公开了一种安全加固架构。增强客户端应用静态库校验应用程序加载的生物识别信息,并在通过校验时向客户端应用申请生成加密请求,客户端应用将加密请求发送至可信执行环境中的可信应用,可信应用在安全区中生成钥匙块并返回至增强客户端应用静态库,以对钥匙块进行加密得到加密钥匙块。本申请中,通过增强客户端应用静态库对生物识别信息的认证,有效地防止了第三方恶意应用调用增强客户端应用静态库的加解密函数库,同时增强客户端应用静态库会对安全区返回的钥匙块进行二次加密保护,使得被加密钥匙块即便被发现,也不能直接给客户端应用使用,从而大大降低敏感数据被解密的风险。本申请还公开了一种加解密方法、车联网终端和车辆。

Description

安全加固架构、加解密方法、车联网终端和车辆 技术领域
本申请涉及汽车技术领域,特别涉及一种安全加固架构、加解密方法、车联网终端和车辆。
背景技术
车联网远程信息处理终端(Telematic Box,TBox)是车联网络的网关和网络出口,TBox的各种应用场景对网络安全有较高的需求。相关技术中,Tbox提供相关的硬件安全区功能来满足加解密安全需求。安全区为富操作系统提供与加解密等客户应用端的应用程序函数接口,用户程序通过调用这些客户应用端应用程序函数接口即可实现对敏感数据的加密和解密,安全区可信执行环境的可信应用会产生一个加密的钥匙块数据返回给富操作系统用户,并将该钥匙块数据存放在文件系统中。然而如此,第三方恶意程序可能在文件系统中找到这个钥匙块文件,进而使用客户应用端的解密函数接口就可以对敏感数据进行解密来获取有价值数据,存在较为严重安全隐患。
申请内容
有鉴于此,本申请的实施例提供了一种安全加固架构、加解密方法、车联网终端和车辆。
本申请提供了一种安全加固架构,用于车联网终端,所述安全加固架构包括应用程序、生物识别信息、增强客户端应用静态库、客户端应用和安全区;
所述应用程序用于加载所述生物识别信息;
所述增强客户端应用静态库用于校验所述生物识别信息;
所述增强客户端应用静态库用于在通过所述生物识别信息校验的情况下,向所述客户端应用申请生成加密请求,所述客户端应用将所述加密请求发送至可信执行环境中的可信应用,所述可信应用在所述安全区中生成钥匙块并返回至所述增强客户端应用静态库,所述增强客户端应用静态库还用于对所述钥匙块进行加密以得到加密钥匙块。
在某些实施方式中,应用程序链接所述生物识别信息和所述增强客户端应用静态库。
在某些实施方式中,所述应用程序调用所述增强客户端应用静态库进行初始化。
在某些实施方式中,所述生物识别信息包括指纹信息、面部信息和/或虹膜信息。
在某些实施方式中,所述增强客户端应用静态库还用于在所述生物识别信息校验失败的情况下,拒绝提供加密服务。
在某些实施方式中,所述增强客户端应用静态库还用于在所述应用程序发送数据明文加密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据明文传输至可信执行环境中的可信应用,所述可信应用用于在所述安全区对所述解密后的钥匙块进行解密并对所述数据明文进行加密以得到数据密文,并将所述数据密文返回至所述应用程序。
在某些实施方式中,所述增强客户端应用静态库还用于在所述应用程序发送数据密文解密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据密文传输至可信执行环境中的可信应用,所述可信应用在所述安全区对所述解密后的钥匙块进行解密并对所述数据密文进行解密以得到数据明文,并将所述数据明文返回至所述应用程序。
本申请提供了一种安全加固架构的加解密方法,用于车联网终端,所述安全加固架构包括应用程序、生物识别信息、增强客户端应用静态库、客户端应用和安全区,所述加解密方法包括步骤:
所述应用程序加载所述生物识别信息;
所述增强客户端应用静态库校验所述生物识别信息,并在通过所述生物识别信息校验的情况下,向所述客户端应用申请生成加密请求;
所述客户端应用将所述加密请求发送至可信执行环境中的可信应用;
所述可信应用在所述安全区中生成钥匙块并返回至所述增强客户端应用静态库;
所述增强客户端应用静态库对所述钥匙块进行加密以得到加密钥匙块。
在某些实施方式中,所述加解密方法包括步骤:
所述增强客户端应用静态库在所述应用程序发送数据明文加密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据明文传输至可信执行环境中的可信应用;
所述可信应用在所述安全区对所述解密后的钥匙块进行解密并对所述数据明文进行加密以得到数据密文,并将所述数据密文返回至所述应用程序。
在某些实施方式中,所述加解密方法包括步骤:
所述增强客户端应用静态库在所述应用程序发送数据密文解密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据密文传输至可信执行环境中的可信应用;
所述可信应用在所述安全区对所述解密后的钥匙块进行解密并对所述数据密文进 行解密以得到数据明文,并将所述数据明文返回至所述应用程序。
本申请提供了一种车联网终端,所述车联网终端采用如上所述的安全加固架构。
本申请提供了一种车辆,包括所述的车联网终端
本申请提供了一种车辆,包括一个或多个处理器、存储器;和
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行如上所述的加解密方法的指令。
本申请提供了一种包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被处理器执行时,使得所述处理器执行如上所述的加解密方法。
本申请实施方式的安全加固架构、加解密方法、车联网终端、车辆及计算机可读存储介质中,通过增强客户端应用静态库对生物识别信息的认证,有效地防止了第三方恶意应用调用增强客户端应用静态库的加解密函数库,同时增强客户端应用静态库会对安全区返回的钥匙块进行二次加密保护,使得被加密钥匙块即便被发现,也不能直接给客户端应用使用,从而大大降低敏感数据被解密的风险。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的加解密方法的流程示意图;
图2是本申请某些实施方式的安全加固架构的模块示意图;
图3是本申请某些实施方式的加解密方法的流程场景示意图。
图4是本申请某些实施方式的加解密方法的流程示意图。
图5是本申请某些实施方式的加解密方法的流程示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
车联网远程信息处理终端(Telematic Box,TBox)是车辆移动网络的网关和唯一网络出口,因此,TBox的各种应用场景对网络安全有较高的需求。例如,需要保护联网接入点名称的账号密码,后台账号密码以及证书等敏感数据,需要使用安全的加解密功能。相关技术中,Tbox的处理平台提供了相关的硬件安全区功能,例如可通过生成 硬件随机数(Random Numeral Generator,RNG),高级加密标准(Advanced Encryption Standard,AES),RSA加密算法来满足加解密安全需求。
当前的TBox通常采用富操作系统,例如Linux系统、Android系统等提供丰富资源的操作系统。安全区为富操作系统提供如密钥生成、加密及解密等客户应用端的应用程序函数接口,用户程序通过调用这些客户应用端的应用程序函数接口即可实现对敏感数据的加密和解密。安全区可信执行环境的可信应用会产生一个加密的钥匙块数据返回给用户,并将该钥匙块数据存放在文件系统中。然而如此,第三方恶意程序可能在文件系统中找到这个钥匙块文件,进而使用客户应用端的解密函数接口就可以对敏感数据进行解密来获取有价值数据,存在较为严重安全隐患。
请参阅图1和图3,为解决上述问题,本申请提供了一种安全加固架构的加解密方法,用于车联网终端。安全加固架构包括应用程序、生物识别信息、增强客户端应用静态库、客户端应用和安全区。加解密方法包括:
S10:应用程序加载生物识别信息;
S20:增强客户端应用静态库校验生物识别信息,并在通过生物识别信息校验的情况下向客户端应用申请生成加密请求;
S30:客户端应用将加密请求发送至可信执行环境中的可信应用;
S40:可信应用在安全区中生成钥匙块并返回至增强客户端应用静态库;
S50:增强客户端应用静态库对钥匙块进行加密以得到加密钥匙块。
请参阅图2,本申请实施方式还提供了一种安全加固架构100。本申请实施方式的加解密方法可用于安全加固架构100实现。
本申请实施方式还提供了一种车联网终端200和车辆,车辆采用车联网终端200,车联网终端200的操作系统采用安全加固架构100。
具体地,安全加固架构100包括应用程序10、生物识别信息20、增强客户端应用静态库30、客户端应用40和安全区50。其中,应用程序10用于加载生物识别信息20。增强客户端应用静态库30用于校验生物识别信息20。增强客户端应用静态库30用于在通过生物识别信息校验的情况下,向客户端应用40申请生成加密请求。客户端应用40将加密请求发送至可信执行环境中的可信应用,可信应用在安全区50中生成钥匙块并返回至增强客户端应用静态库30。增强客户端应用静态库30还用于对钥匙块进行加密以得到加密钥匙块。
本申请实施方式的安全加固架构100、加解密方法、车联网终端200和车辆300中,通过增强客户端应用静态库30对生物识别信息20的认证,有效地防止了第三方恶意应用调用增强客户端应用静态库30的加解密函数库,同时增强客户端应用静态库 30会对安全区50返回的钥匙块进行二次加密保护,使得被加密钥匙块即便被发现,也不能直接给客户端应用40使用,从而大大降低敏感数据被解密的风险。对钥匙块进行保护以及提供可防止第三方恶意应用非法调用的加解密的增强客户端应用静态库30来访问客户端应用40,从而提高整个系统的安全可靠性。
在本实施方式中,步骤S10还包括步骤:
应用程序链接生物识别信息和增强客户端应用静态库;
在本实施方式中,应用程序10链接生物识别信息20和增强客户端应用静态库30。
具体地,应用程序10需链接生物识别信息20和增强客户端应用静态库30。在一些示例中,应用程序和生物识别信息均为Linux ELF文件格式。生物识别信息可包括指纹信息、人脸信息以及虹膜信息等生物信息,具体不做限定。以下以指纹信息为例进行说明,指纹信息可以是以.fingerprint命名的代码段链接到到应用程序的ELF文件中。指纹信息里面会包括指纹版本信息、循环冗余校验的校验值、哈希值、密钥等硬编码值。
在本实施方式中,步骤S10还包括步骤:
应用程序调用增强客户端应用静态库进行初始化。
在本实施方式中,应用程序10调用增强客户端应用静态库30进行初始化。
具体地,应用程序10可调用增强客户端应用静态库30的初始化函数进行初始化。初始化可用于将变量赋为默认值,把相关控件设为默认状态,使得增强客户端应用静态库30准备好以用于访问请求。
在本实施方式中,步骤S20包括:
增强客户端应用静态库获取生物识别信息。
在本实施方式中,增强客户端应用静态库30获取生物识别信息20。
具体地,增强客户端应用静态库30获取.fingerprint中的指纹数据,并对指纹数据的合法性进行校验。具体地,校验包括两个阶段,在第一阶段中,首先读取指纹版本信息,然后将指纹版本信息与魔数1做异或运算,得出结果再进行循环冗余校验,并将校验结果跟指纹信息里面的循环冗余校验的校验值比较。如果成功则进入下一步认证。在第二阶段中,读取指纹信息中的密钥信息,将密钥信息取反后再与魔数2做异或运算,把该结果进行SHA256哈希运算,然后将运算的结果与指纹信息里面的哈希值比较,如果成功,则指纹信息认证成功。
在本实施方式中,上述对指纹信息进行校验的两个阶段中的任一个阶段,如果出现计算结果与指纹信息中的相应值不一致的情况则认为指纹认证失败,在指纹认证失败的情况下,拒绝提供加解密服务。
在指纹认证成功后增强客户端应用静态库30会向客户端应用40申请生成AES密钥,客户端应用40将请求转发给可信执行环境(Trusted Execution Environment,TEE)中的可信应用(Trusted Application,TA),TA在安全区50中生成钥匙块,该钥匙块是由加密的钥匙、非重复随机数和授权便签的长度三部分组成,钥匙块存储在内存当中。生成的钥匙块返回增强客户端应用静态库30,增强客户端应用静态库30对钥匙块进行二次加密。
增强客户端应用静态库30可利用密钥派生函数(Key Derivation Function,KDF)来产生密钥1。具体地,在增强客户端应用静态库30会有硬编码的AES密钥0,密钥0会与魔数3做异或运算可以得到密钥0+,将密钥0+和盐值的取反值输入到KDF产生密钥1,使用得到的密钥1对钥匙块进行AES加密得到加密钥匙块。将加密钥匙块写入到文件系统进行保存,同时擦除内存中的钥匙块、密钥0、密钥0+、密钥1等敏感信息。
如此,通过增强客户端应用静态库30对生物识别信息20例如指纹的认证,有效地防止了第三方恶意应用调用增强客户端应用静态库30的加解密函数库,同时增强客户端应用静态库30会对安全区50返回的钥匙块进行二次加密保护,使得被加密钥匙块即便被发现,也不能直接给客户端应用40使用,从而大大降低敏感数据被解密的风险。
请参阅图3和图4,在某些实施方式中,加解密方法包括步骤:
S60:增强客户端应用静态库在应用程序发送数据明文加密请求时对加密钥匙块进行解密,并将解密后的钥匙块和数据明文传输至可信执行环境中的可信应用;
S70:可信应用在安全区对解密后的钥匙块进行解密并对数据明文进行加密以得到数据密文,并将数据密文返回至应用程序。
在某些实施方式中,增强客户端应用静态库30在应用程序10发送数据明文加密请求时对加密钥匙块进行解密,并将解密后的钥匙块和数据明文传输至可信执行环境中的可信应用。可信应用在安全区50对解密后的钥匙块进行解密并对数据明文进行加密以得到数据密文,并将数据密文返回至应用程序10。
具体地,应用程序10调用增强客户端应用静态库30的加密函数发送数据明文加密请求,增强客户端应用静态库30根据前述方法算出密钥1,并从文件系统中读取加密钥匙块,使用高级加密标准算法对加密钥匙块进行解密得到钥匙块信息,客户端应用40把钥匙块和数据明文传输给TEE中的TA,TA先对钥匙块进行解密,然后在对对明文数据进行加密得到数据密文,最终把数据密文返回给应用程序10,同时擦除内存中的钥匙块、密钥0、密钥0+、密钥1等敏感信息。
请参阅图3和5,加解密方法包括步骤:
S80:增强客户端应用静态库在应用程序发送数据密文解密请求时对加密钥匙块进行解密,并将解密后的钥匙块和数据密文传输至可信执行环境中的可信应用;
S90:可信应用在安全区对解密后的钥匙块进行解密并对数据密文进行解密以得到数据明文,并将数据明文返回至应用程序。
在某些实施方式中,增强客户端应用静态库30在应用程序10发送数据密文解密请求时对加密钥匙块进行解密,并将解密后的钥匙块和数据密文传输至可信执行环境中的可信应用。可信应用在安全区50对解密后的钥匙块进行解密并对数据密文进行解密以得到数据明文,并将数据明文返回至应用程序。
具体地,应用程序10调用增强客户端应用静态库30的解密函数发送解密请求,增强客户端应用静态库30根据前述方法算出密钥1,并从文件系统读出加密钥匙块,使用高级加密标准算法对加密钥匙块进行解密得到钥匙块信息,客户端应用40将钥匙块和数据密文传输给TEE的TA,TA先对钥匙块进行解密,然后对数据密文进行解密密运算得到数据明文,最终把数据明文返回给应用程序10。
如此,在生物识别信息20通过增强客户端应用静态库30的校验后,才能使用增强客户端应用静态库30解密出来的钥匙块在安全区对数据进行加解密,提高了系统的安全可靠性。
本申请实施方式还提供了一种计算机可读存储介质。当计算机可执行指令被一个或多个处理器执行时,使得处理器执行上述任一实施方式的加解密方法。
本申请实施方式还提供了一种车辆。车辆包括一个或多个处理器,一个或多个程序被存储在存储器中,并且被配置成由一个或多个处理器执行。程序包括用于执行上述任意一项实施方式所述的加解密方法。
处理器可用于提供计算和控制能力,支撑整个车辆车载系统的运行。车辆的存储器为存储器其中的计算机可读指令运行提供环境。
车辆的车载系统采用上述提及车联网终端200,车联网终端200采用上述体积的安全加固架构,可以理解地,通过增强客户端应用静态库对生物识别信息的认证,有效地防止了第三方恶意应用调用增强客户端应用静态库的加解密函数库,同时增强客户端应用静态库会对安全区返回的钥匙块进行二次加密保护,使得被加密钥匙块即便被发现,也不能直接给客户端应用使用,从而大大降低敏感数据被解密的风险。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介 质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (14)

  1. 一种安全加固架构,用于车联网终端,其特征在于,所述安全加固架构包括应用程序、生物识别信息、增强客户端应用静态库、客户端应用和安全区;
    所述应用程序用于加载所述生物识别信息;
    所述增强客户端应用静态库用于校验所述生物识别信息;
    所述增强客户端应用静态库用于在通过所述生物识别信息校验的情况下,向所述客户端应用申请生成加密请求,所述客户端应用将所述加密请求发送至可信执行环境中的可信应用,所述可信应用在所述安全区中生成钥匙块并返回至所述增强客户端应用静态库,所述增强客户端应用静态库还用于对所述钥匙块进行加密以得到加密钥匙块。
  2. 根据权利要求1所述的安全加固架构,其特征在于,应用程序链接所述生物识别信息和所述增强客户端应用静态库。
  3. 根据权利要求1所述的安全加固架构,其特征在于,所述应用程序调用所述增强客户端应用静态库进行初始化。
  4. 根据权利要求1所述的安全加固架构,其特征在于,所述生物识别信息包括指纹信息、面部信息和/或虹膜信息。
  5. 根据权利要求1所述的安全加固架构,其特征在于,所述增强客户端应用静态库还用于在所述生物识别信息校验失败的情况下,拒绝提供加密服务。
  6. 根据权利要求1所述的安全加固架构,其特征在于,所述增强客户端应用静态库还用于在所述应用程序发送数据明文加密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据明文传输至可信执行环境中的可信应用,所述可信应用用于在所述安全区对所述解密后的钥匙块进行解密并对所述数据明文进行加密以得到数据密文,并将所述数据密文返回至所述应用程序。
  7. 根据权利要求1所述的安全加固架构,其特征在于,所述增强客户端应用静态库还用于在所述应用程序发送数据密文解密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据密文传输至可信执行环境中的可信应用,所述可信应用在所述安全区 对所述解密后的钥匙块进行解密并对所述数据密文进行解密以得到数据明文,并将所述数据明文返回至所述应用程序。
  8. 一种安全加固架构的加解密方法,用于车联网终端,其特征在于,所述安全加固架构包括应用程序、生物识别信息、增强客户端应用静态库、客户端应用和安全区,所述加解密方法包括步骤:
    所述应用程序加载所述生物识别信息;
    所述增强客户端应用静态库校验所述生物识别信息,并在通过所述生物识别信息校验的情况下,向所述客户端应用申请生成加密请求;
    所述客户端应用将所述加密请求发送至可信执行环境中的可信应用;
    所述可信应用在所述安全区中生成钥匙块并返回至所述增强客户端应用静态库;
    所述增强客户端应用静态库对所述钥匙块进行加密以得到加密钥匙块。
  9. 根据权利要求8所述的加解密方法,其特征在于,所述加解密方法包括步骤:
    所述增强客户端应用静态库在所述应用程序发送数据明文加密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据明文传输至可信执行环境中的可信应用;
    所述可信应用在所述安全区对所述解密后的钥匙块进行解密并对所述数据明文进行加密以得到数据密文,并将所述数据密文返回至所述应用程序。
  10. 根据权利要求8所述的加解密方法,其特征在于,所述加解密方法包括步骤:
    所述增强客户端应用静态库在所述应用程序发送数据密文解密请求时对所述加密钥匙块进行解密,并将解密后的钥匙块和数据密文传输至可信执行环境中的可信应用;
    所述可信应用在所述安全区对所述解密后的钥匙块进行解密并对所述数据密文进行解密以得到数据明文,并将所述数据明文返回至所述应用程序。
  11. 一种车联网终端,其特征在于,所述车联网终端采用如权利要求1-7任一项所述的安全加固架构。
  12. 一种车辆,其特征在于,包括如权利要求11所述的车联网终端。
  13. 一种车辆,其特征在于,包括:
    一个或多个处理器、存储器;和
    一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据权利要求8-10任意一项所述的加解密方法的指令。
  14. 一种包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被处理器执行时,使得所述处理器执行权利要求8-10中任一项所述的加解密方法。
PCT/CN2020/121574 2019-11-29 2020-10-16 安全加固架构、加解密方法、车联网终端和车辆 WO2021103839A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP20894282.1A EP3885954B1 (en) 2019-11-29 2020-10-16 Security reinforcement architecture, encryption and decryption method, car networking terminal, and vehicle

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911200678.3 2019-11-29
CN201911200678.3A CN110929266B (zh) 2019-11-29 2019-11-29 基于安全加固架构的系统、加解密方法、车联网终端和车辆

Publications (1)

Publication Number Publication Date
WO2021103839A1 true WO2021103839A1 (zh) 2021-06-03

Family

ID=69847863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/121574 WO2021103839A1 (zh) 2019-11-29 2020-10-16 安全加固架构、加解密方法、车联网终端和车辆

Country Status (3)

Country Link
EP (1) EP3885954B1 (zh)
CN (1) CN110929266B (zh)
WO (1) WO2021103839A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338197A (zh) * 2021-12-30 2022-04-12 广州小鹏汽车科技有限公司 车辆与远程座舱连接鉴权方法、设备及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929266B (zh) * 2019-11-29 2021-09-03 广州小鹏汽车科技有限公司 基于安全加固架构的系统、加解密方法、车联网终端和车辆
CN114363894A (zh) * 2020-09-27 2022-04-15 华为技术有限公司 数据传输方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106161365A (zh) * 2015-04-03 2016-11-23 腾讯科技(深圳)有限公司 一种数据处理方法、装置及终端
US20170076597A1 (en) * 2015-09-14 2017-03-16 At&T Intellectual Property I, Lp Method and apparatus for enhancing driver situational awareness
CN106570382A (zh) * 2016-11-12 2017-04-19 驭联智能科技发展(上海)有限公司 车内设备智能控制方法及系统
CN107483393A (zh) * 2016-11-22 2017-12-15 宝沃汽车(中国)有限公司 车联网的通信方法、服务器及通信系统
CN107919955A (zh) * 2017-12-28 2018-04-17 北京奇虎科技有限公司 一种车辆网络安全认证方法、系统、车辆、装置及介质
US10078743B1 (en) * 2013-01-31 2018-09-18 Narus, Inc. Cross identification of users in cyber space and physical world
CN110235140A (zh) * 2019-04-29 2019-09-13 深圳市汇顶科技股份有限公司 生物特征识别方法以及电子设备
CN110929266A (zh) * 2019-11-29 2020-03-27 广州小鹏汽车科技有限公司 安全加固架构、加解密方法、车联网终端和车辆

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105493097B (zh) * 2013-09-27 2019-08-27 英特尔公司 用于远程存储的数据的保护方案
US10073985B2 (en) * 2015-02-27 2018-09-11 Samsung Electronics Co., Ltd. Apparatus and method for trusted execution environment file protection
CN104683112B (zh) * 2015-03-20 2017-12-01 江苏大学 一种基于rsu协助认证的车‑车安全通信方法
CN105554105B (zh) * 2015-12-14 2019-05-07 安徽大学 一种面向多服务与隐私保护的车联网组密钥管理方法
CN106330910B (zh) * 2016-08-25 2019-07-19 重庆邮电大学 车联网中基于节点身份和信誉的强隐私保护双重认证方法
US10225735B2 (en) * 2016-08-31 2019-03-05 Lenovo (Singapore) Pte. Ltd. Systems and methods to authenticate using vehicle
US11438155B2 (en) * 2017-01-24 2022-09-06 Microsoft Technology Licensing, Llc Key vault enclave
CN110401538B (zh) * 2018-04-24 2022-04-22 北京握奇智能科技有限公司 数据加密方法、系统以及终端
CN109005035B (zh) * 2018-07-12 2020-07-28 同济大学 一种网联汽车远程匿名签发验证通信系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078743B1 (en) * 2013-01-31 2018-09-18 Narus, Inc. Cross identification of users in cyber space and physical world
CN106161365A (zh) * 2015-04-03 2016-11-23 腾讯科技(深圳)有限公司 一种数据处理方法、装置及终端
US20170076597A1 (en) * 2015-09-14 2017-03-16 At&T Intellectual Property I, Lp Method and apparatus for enhancing driver situational awareness
CN106570382A (zh) * 2016-11-12 2017-04-19 驭联智能科技发展(上海)有限公司 车内设备智能控制方法及系统
CN107483393A (zh) * 2016-11-22 2017-12-15 宝沃汽车(中国)有限公司 车联网的通信方法、服务器及通信系统
CN107919955A (zh) * 2017-12-28 2018-04-17 北京奇虎科技有限公司 一种车辆网络安全认证方法、系统、车辆、装置及介质
CN110235140A (zh) * 2019-04-29 2019-09-13 深圳市汇顶科技股份有限公司 生物特征识别方法以及电子设备
CN110929266A (zh) * 2019-11-29 2020-03-27 广州小鹏汽车科技有限公司 安全加固架构、加解密方法、车联网终端和车辆

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3885954A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338197A (zh) * 2021-12-30 2022-04-12 广州小鹏汽车科技有限公司 车辆与远程座舱连接鉴权方法、设备及系统
CN114338197B (zh) * 2021-12-30 2024-01-09 广州小鹏汽车科技有限公司 车辆与远程座舱连接鉴权方法、设备、系统及可读存储介质

Also Published As

Publication number Publication date
EP3885954A1 (en) 2021-09-29
CN110929266B (zh) 2021-09-03
EP3885954A4 (en) 2022-05-25
CN110929266A (zh) 2020-03-27
EP3885954C0 (en) 2023-12-06
EP3885954B1 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
CN107743133B (zh) 移动终端及其基于可信安全环境的访问控制方法和系统
WO2021103839A1 (zh) 安全加固架构、加解密方法、车联网终端和车辆
US7986786B2 (en) Methods and systems for utilizing cryptographic functions of a cryptographic co-processor
JP4615601B2 (ja) コンピュータセキュリティシステムおよびコンピュータセキュリティ方法
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
US20040098591A1 (en) Secure hardware device authentication method
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
JP2004038939A (ja) 対称鍵暗号化に基づくデータの保存および検索
US20240031129A1 (en) Data encryption method, data decryption method, terminal, and storage medium
US20180204004A1 (en) Authentication method and apparatus for reinforced software
US20090193261A1 (en) Apparatus and method for authenticating a flash program
JP6756056B2 (ja) 身元検証による暗号チップ
CN112765637A (zh) 数据处理方法、密码服务装置和电子设备
CN109150811B (zh) 一种实现可信会话的方法及装置、计算设备
CN115859267A (zh) 一种应用程序安全启动的方法、存储控制芯片和电子设备
WO2022052665A1 (zh) 无线终端及无线终端在Uboot模式下的接口访问鉴权方法
CN110750791A (zh) 基于内存加密保障可信执行环境抗物理攻击的方法及系统
US11216571B2 (en) Credentialed encryption
US20180198618A1 (en) Apparatus and method for providing secure execution environment for mobile cloud
US20240113898A1 (en) Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity
KR101973578B1 (ko) 어플리케이션의 무결성 검증 방법 및 장치
US20240004986A1 (en) Cla certificateless authentication of executable programs
KR20190046724A (ko) 어플리케이션의 무결성 검증 방법 및 장치
CN115361168B (zh) 一种数据加密方法、装置、设备及介质
TWI782678B (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: 20894282

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020894282

Country of ref document: EP

Effective date: 20210622

NENP Non-entry into the national phase

Ref country code: DE