Security transmission method, device and se chip of signaling

By implementing authentication and decryption functions in the SE chip, the problems of low communication efficiency and high server computing resource usage of the existing secure channel protocol in smartphones are solved, efficient and secure signaling transmission and improved user experience are achieved, and the flexibility of the national encryption algorithm is supported.

CN116366347BActive Publication Date: 2025-10-10SHENZHEN GOODIX TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310365729.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-02-09
Publication Date
2025-10-10
Estimated Expiration
2041-02-09

AI Technical Summary

Technical Problem

Existing secure channel protocols cannot achieve efficient and secure communication in smartphones, and they occupy a large amount of server-side computing resources, have a poor user experience, cannot support asymmetric algorithms, and have poor flexibility.

Method used

By implementing the authentication and decryption functions in the SE chip, the server can directly send instructions without interacting with the SE chip. The SE chip performs authentication and decryption and uses the SCP90 secure channel protocol for signaling transmission.

Benefits of technology

It realizes efficient and secure signaling transmission in smartphones, reduces computing resource usage on the server side, improves user experience, supports national encryption algorithms, and increases the flexibility of the protocol.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116366347B_ABST
    Figure CN116366347B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a signaling security transmission method, device and SE chip, in the signaling security transmission method, after the SE chip receives an instruction provided by a server and sent by a terminal device, the initialization instruction is authenticated according to an authentication level supported by the SE chip, after the initialization instruction is authenticated, the initialization instruction is decrypted, related decryption parameters for decrypting first encrypted data included in a security channel instruction are obtained, and the first encrypted data is decrypted by using the decryption parameters, to obtain plaintext data. In the method, after the server generates the instruction, the server does not need to interact with the SE chip, directly packs the instruction and sends the instruction to the SE chip, the SE chip authenticates and decrypts the received instruction, the authenticity and confidentiality of the instruction can be ensured, and the computing resources of the server are saved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of smart terminal technology, and in particular to a method, device, and SE chip for secure transmission of signaling. Background Art

[0002] Smart devices such as smartphones and tablets have become indispensable tools in people's lives, and smartphone information security has become a focus of public attention. Currently, the most secure solution is to embed a security element (SE) chip in the smartphone. However, existing technologies for embedding a SE chip in a smartphone prevent direct communication between the remote management system and the SE in the smartphone. Messages must be relayed through the smartphone. However, due to the wide variety of smartphone application environments and the untrusted execution environment of smartphones, existing secure channel protocols cannot be used securely in smartphones.

[0003] Currently, the Global Platform has proposed standards such as Security Channel Protocol (SCP) 02, SCP03, and SCP11, which can establish a secure channel. Establishing a secure channel involves secretly negotiating a key between the communicating parties to protect the communication data. All data encrypted using this key is considered to be communicated within the secure channel.

[0004] Because smartphones, as message relays between trusted servers and trusted SEs in existing application scenarios, lack a trusted execution environment, traditional secure channel protocols, which require multiple interactions between the communicating parties and can only communicate point-to-point, present several problems and are unsuitable for use in smartphones. On the one hand, if multiple interactions are required, the server must be online and have a clear network connection each time it wants to establish a connection with the SE. This places high demands on the smartphone's network communication module and consumes a large amount of network resources. On the other hand, given the large number of mobile phone users, requiring the server to participate in every interaction would place significant pressure on the server, potentially leading to communication failures or delayed responses in some cases, resulting in a poor user experience for smartphone users using this approach.

[0005] Among existing secure channel protocols, SCP02 and SCP03 do not support asymmetric algorithms, resulting in limited flexibility. Multiple interactions between the server and the SE are required to achieve authentication and establish a secure channel. This issue also exists in variants a and b of the SCP11 protocol. While variant c supports one-way authentication and eliminates the need for data exchange between the two parties, it consumes a high amount of bandwidth during transmission due to its use of the certificate-based elliptic curve cryptography (ECC) algorithm. Summary of the Invention

[0006] The embodiments of the present application provide a method, device, and SE chip for secure transmission of signaling. The embodiments of the present application also provide a computer-readable storage medium, so that after the server generates an instruction, it does not need to interact with the SE chip, but directly packages the instruction and sends it to the SE chip. The SE chip authenticates and decrypts the received instruction, which can not only ensure the authenticity and confidentiality of the instruction, but also save computing resources on the server side.

[0007] In the first aspect, an embodiment of the present application provides a method for secure transmission of signaling, which is used for a security element SE chip, including: receiving instructions provided by a server and sent by a terminal device, the instructions including initialization instructions and secure channel instructions; authenticating the initialization instructions according to the authentication level supported by the SE chip; after the initialization instructions are authenticated, decrypting the initialization instructions to obtain relevant decryption parameters for decrypting first encrypted data included in the secure channel instructions; decrypting the first encrypted data using the decryption parameters to obtain the plaintext data.

[0008] In the above-mentioned secure signaling transmission method, after receiving the instruction provided by server 200 and sent by terminal device 100, SE chip 111 authenticates the initialization instruction according to the authentication level supported by SE chip 111. After the initialization instruction passes the authentication, it decrypts the initialization instruction to obtain the relevant decryption parameters for decrypting the first encrypted data included in the secure channel instruction. The first encrypted data is then decrypted using the decryption parameters to obtain the plaintext data. In this embodiment, after generating the instruction, server 200 does not need to interact with SE chip 111 and directly packages the instruction and sends it to SE chip 111. SE chip 111 authenticates and decrypts the received instruction, which not only ensures the authenticity and confidentiality of the instruction but also saves computing resources of server 200.

[0009] In one possible implementation, authenticating the initialization instruction according to the authentication level supported by the SE chip includes: using a key specified in the initialization instruction to verify a signature value included in a data field of the initialization instruction.

[0010] In one possible implementation, decrypting the initialization instruction to obtain relevant decryption parameters for decrypting the first encrypted data included in the secure channel instruction includes: decrypting the initialization instruction to obtain the key, initial vector, and integrity check value of the secure channel established between the SE chip and the server in the current session after encrypting the plaintext data.

[0011] In one possible implementation, decrypting the first encrypted data using the decryption parameter to obtain the plaintext data includes: using the key, the initial vector and the integrity check value to decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data; wherein, the first encrypted data is obtained after the server encrypts the plaintext data, and the first encrypted data is carried in the secure channel instruction.

[0012] In one possible implementation, the use of the key, the initial vector, and the integrity check value to decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data includes: when the security level selected by the user is confidentiality and integrity protection, using the key, the initial vector, and the integrity check value, using a decryption function to decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data; when the security level selected by the user is integrity protection, using the key, the initial vector, and the integrity check value, using an integrity protection function to decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data.

[0013] In one possible implementation, decrypting the initialization instruction to obtain the key, initial vector, and integrity check value of the secure channel established between the SE chip and the server in the current session, including: using the key specified in the initialization instruction to decrypt the second encrypted data carried in the data field of the initialization instruction, to obtain the value of the counter saved by the server, the key and initial vector used by the server in the process of encrypting the plaintext data, and the integrity check value obtained after the server encrypts the plaintext data; comparing the value of the counter saved by the server with the value of the counter saved in the SE chip; if the value of the counter saved by the server is greater than or equal to the value of the counter saved in the SE chip, saving the key and initial vector obtained by decryption, as well as the integrity check value.

[0014] In one possible implementation, before receiving the instruction provided by the server and sent by the terminal device, it also includes: receiving an information acquisition instruction sent by the terminal device; sending the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip to the terminal device; the instruction sent by the terminal device includes: an instruction that matches the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip.

[0015] In the second aspect, an embodiment of the present application provides a secure transmission device for signaling, which is arranged in a security element SE chip, and the device includes: a receiving module for receiving instructions provided by a server and sent by a terminal device, the instructions including initialization instructions and secure channel instructions; a verification module for authenticating the initialization instructions according to the authentication level supported by the SE chip; a decryption module for decrypting the initialization instructions after the initialization instructions are authenticated, and obtaining relevant decryption parameters for decrypting the first encrypted data included in the secure channel instructions; and decrypting the first encrypted data using the decryption parameters to obtain the plaintext data.

[0016] In one possible implementation, the verification module is specifically configured to verify a signature value included in a data field of the initialization instruction using a key specified in the initialization instruction.

[0017] In one possible implementation, the decryption module is specifically used to decrypt the initialization instruction to obtain the key, initial vector, and integrity check value of the secure channel established between the SE chip and the server in the current session after the server encrypts the plaintext data; and use the key, the initial vector and the integrity check value to decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data; wherein, the first encrypted data is obtained after the server encrypts the plaintext data, and the first encrypted data is carried in the secure channel instruction.

[0018] In one possible implementation, the decryption module includes: a data decryption submodule, used to use the key specified in the initialization instruction to decrypt the second encrypted data carried in the data field of the initialization instruction, obtain the value of the counter saved by the server, the key and initial vector used by the server in encrypting the plaintext data, and the integrity check value obtained after the server encrypts the plaintext data; a comparison submodule, used to compare the value of the counter saved by the server with the value of the counter saved in the SE chip; a storage submodule, used to save the key and initial vector, as well as the integrity check value, obtained by decryption by the data decryption submodule when the value of the counter saved by the server is greater than or equal to the value of the counter saved in the SE chip.

[0019] In one implementation, the device further includes: a sending module; the receiving module is further configured to receive an information acquisition instruction sent by the terminal device before receiving the instruction sent by the terminal device; the sending module is configured to send the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip to the terminal device; the instruction sent by the terminal device includes: an instruction that matches the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip.

[0020] In a third aspect, an embodiment of the present application provides a security element SE chip, comprising: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method provided in the first aspect is implemented.

[0021] In a fourth aspect, an embodiment of the present application provides a non-temporary computer-readable storage medium having a computer program stored thereon, which implements the method provided in the first aspect when the computer program is executed by a processor.

[0022] It should be understood that the second to fourth aspects of the embodiments of the present application are consistent with the technical solutions of the first aspect of the embodiments of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here.

[0023] In a fifth aspect, an embodiment of the present application provides a computer program, which, when executed by a computer, is used to execute the method provided in the first aspect.

[0024] In one possible design, the program in the fifth aspect may be stored in whole or in part on a storage medium packaged with the processor, or may be stored in whole or in part on a memory not packaged with the processor. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 A schematic diagram of the structure of a terminal device provided in one embodiment of the present application;

[0026] Figure 2 A schematic diagram of the structure of a server provided in one embodiment of the present application;

[0027] Figure 3 This is a schematic diagram of the structure of an initialization instruction in one embodiment of the present application;

[0028] Figure 4 A schematic diagram of the structure of an initialization instruction provided in another embodiment of the present application;

[0029] Figure 5 A schematic diagram illustrating the relationship between keys provided in one embodiment of the present application;

[0030] Figure 6 A flowchart of a method for securely transmitting signaling provided in one embodiment of the present application;

[0031] Figure 7 A schematic diagram of the encryption process of the server 200 provided in one embodiment of the present application;

[0032] Figure 8 A schematic diagram of the authentication process of the server 200 provided in one embodiment of the present application;

[0033] Figure 9 A flowchart of a method for securely transmitting signaling provided in another embodiment of the present application;

[0034] Figure 10 A schematic diagram of a verification process of the SE chip 111 provided in one embodiment of the present application;

[0035] Figure 11 A schematic diagram of a verification process of the SE chip 111 provided in another embodiment of the present application;

[0036] Figure 12 A schematic diagram of a verification process of the SE chip 111 provided in yet another embodiment of the present application;

[0037] Figure 13 A schematic diagram of the decryption process of the SE chip 111 provided in one embodiment of the present application;

[0038] Figure 14 A schematic diagram of the structure of a secure signaling transmission device provided in one embodiment of the present application;

[0039] Figure 15 A schematic diagram of the structure of a secure signaling transmission device provided in another embodiment of the present application;

[0040] Figure 16 A schematic diagram of the structure of a secure signaling transmission device provided in yet another embodiment of the present application;

[0041] Figure 17 A schematic structural diagram of a secure signaling transmission device provided in yet another embodiment of the present application. DETAILED DESCRIPTION

[0042] The terms used in the implementation section of this application are only used to explain the specific embodiments of this application and are not intended to limit this application.

[0043] In existing secure channel protocols, the server and the SE chip must interact multiple times before authentication and establishing a secure channel are achieved. Furthermore, existing secure channel protocols all use international algorithms, and no existing technologies utilize national encryption algorithms.

[0044] In order to solve the problem that traditional secure channel protocols require multiple interactions between the communicating parties to establish a secure channel, and also to apply the national encryption algorithm to the secure channel protocol, an embodiment of the present application provides a secure transmission method for signaling, which adopts the SCP90 secure channel protocol for secure transmission of signaling.

[0045] The secure signaling transmission method provided in the embodiments of the present application can be applied to terminal devices, wherein the above-mentioned terminal devices can be smart phones, tablet computers, wearable devices, vehicle-mounted devices, augmented reality (AR) / virtual reality (VR) devices, laptop computers, ultra-mobile personal computers (UMPCs), netbooks or personal digital assistants (PDAs) and other devices; the embodiments of the present application do not impose any restrictions on the specific type of terminal devices.

[0046] Exemplary, Figure 1 A structural schematic diagram of a terminal device provided for an embodiment of the present application is shown, Figure 1 The structure of the terminal device is shown by taking a smartphone as an example, Figure 1 As shown in the figure, the terminal device 100 can include a processor 110, an SE chip 111, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a loudspeaker 170A, a receiver 170B, a microphone 170C, a headset interface 170D, a sensor module 180, a key 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.

[0047] It can be understood that the structure shown in the embodiments of the present application does not constitute a specific limitation on the terminal device 100. In other embodiments of the present application, the terminal device 100 can include more or fewer components than shown, or combine certain components, or split certain components, or different component arrangements. The components shown can be implemented in hardware, software, or a combination of software and hardware.

[0048] The processor 110 can include one or more processing units, for example: the processor 110 can include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units can be independent devices, or can be integrated in one or more processors.

[0049] The controller can generate operation control signals according to instruction operation codes and timing signals to complete the control of fetching and executing instructions.

[0050] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.

[0051] The SE chip 111 may include a memory, a processor, and a computer program stored in the memory and run on the processor. When the processor executes the computer program, the secure signaling transmission method provided in the embodiment of the present application may be implemented.

[0052] The charging management module 140 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the wireless charging coil of the terminal device 100. While charging the battery 142, the charging management module 140 can also provide power to the terminal device 100 via the power management module 141.

[0053] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the display 194, the camera 193, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0054] The wireless communication function of the terminal device 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0055] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0056] The mobile communication module 150 can provide a solution including 2G / 3G / 4G / 5G wireless communication applied to the terminal device 100. The mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform filtering, amplification, etc. on the received electromagnetic waves, and transfer the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can also amplify the signals modulated by the modem processor, and radiate the amplified signals as electromagnetic waves through the antenna 1. In some embodiments, at least part of the functional modules of the mobile communication module 150 can be disposed in the processor 110. In some embodiments, at least part of the functional modules of the mobile communication module 150 can be disposed in the same device as at least part of the modules of the processor 110.

[0057] The modem processor can include a modulator and a demodulator. The modulator is configured to modulate a low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is configured to demodulate a received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. The low-frequency baseband signal processed by the baseband processor is transmitted to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the microphone 170B, etc.), or displays an image or a video through the display screen 194. In some embodiments, the modem processor can be a separate device. In other embodiments, the modem processor can be independent of the processor 110, and disposed in the same device as the mobile communication module 150 or other functional modules.

[0058] The wireless communication module 160 can provide a solution for wireless communication including wireless local area networks (WLAN) (e.g., wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) technology, etc. applied to the terminal device 100. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency-modulates and filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 can also receive signals to be transmitted from the processor 110, frequency-modulate them, amplify them, and radiate them as electromagnetic waves via the antenna 2.

[0059] In some embodiments, the antenna 1 and the mobile communication module 150 of the terminal device 100 are coupled, and the antenna 2 and the wireless communication module 160 are coupled, so that the terminal device 100 can communicate with a network and other devices through wireless communication technology. The wireless communication technology can include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology, etc. The GNSS can include global positioning system (GPS), global navigation satellite system (GLONASS), beidou navigation satellite system (BDS), quasi-zenith satellite system (QZSS), and / or satellite based augmentation systems (SBAS).

[0060] The terminal device 100 implements a display function through a GPU, a display screen 194, and an application processor, etc. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 can include one or more GPUs that execute program instructions to generate or change display information.

[0061] The display screen 194 is configured to display images, videos, and the like. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flex light-emitting diode (FLED), a Miniled, a MicroLed, a Micro-oLed, a quantum dot light emitting diodes (QLED), or the like. In some embodiments, the terminal device 100 can include one or N display screens 194, where N is a positive integer greater than 1.

[0062] The terminal device 100 can implement the photographing function through the ISP, the camera 193, the video codec, the GPU, the display screen 194, and the application processor.

[0063] The ISP is configured to process the data fed back by the camera 193. For example, when taking a photo, the shutter is opened, the light is transmitted to the camera photosensitive element through the lens, the light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing to convert it into an image visible to the naked eye. The ISP can also optimize the noise, brightness, and skin color of the image. The ISP can also optimize the exposure, color temperature, and other parameters of the shooting scene. In some embodiments, the ISP can be arranged in the camera 193.

[0064] The camera 193 is configured to capture still images or videos. An object generates an optical image through a lens and projects it onto a photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then transmitted to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, the terminal device 100 can include one or N cameras 193, where N is a positive integer greater than 1.

[0065] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the terminal device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.

[0066] Video codecs are used to compress or decompress digital video. Terminal device 100 may support one or more video codecs. This allows terminal device 100 to play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, and MPEG4.

[0067] The NPU is a neural network (NN) computing processor. Drawing on the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it rapidly processes input information and can continuously self-learn. The NPU can enable intelligent cognitive applications in the terminal device 100, such as image recognition, face recognition, speech recognition, and text comprehension.

[0068] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 100. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0069] The internal memory 121 can be used to store computer executable program code, which includes instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area can store data created during the use of the terminal device 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the terminal device 100 by running instructions stored in the internal memory 121 and / or instructions stored in a memory provided in the processor.

[0070] The terminal device 100 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0071] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.

[0072] The speaker 170A, also called a "speaker", is used to convert audio electrical signals into sound signals. The terminal device 100 can listen to music or listen to hands-free calls through the speaker 170A.

[0073] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the terminal device 100 receives a call or voice message, the user can hear the voice by placing the receiver 170B close to the ear.

[0074] Microphone 170C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The terminal device 100 can be provided with at least one microphone 170C. In other embodiments, the terminal device 100 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the terminal device 100 can also be provided with three, four or more microphones 170C to realize sound signal collection, noise reduction, and can also identify the source of sound, realize directional recording function, etc.

[0075] The headphone jack 170D is used to connect a wired headphone and can be the USB interface 130 or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.

[0076] The buttons 190 include a power button, a volume button, etc. The buttons 190 may be mechanical buttons or touch buttons. The terminal device 100 may receive key inputs and generate key signal inputs related to user settings and function control of the terminal device 100.

[0077] Motor 191 can generate vibration prompts. Motor 191 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback. For example, touch operations acting on different applications (such as taking pictures, audio playback, etc.) can correspond to different vibration feedback effects. For touch operations acting on different areas of the display screen 194, motor 191 can also correspond to different vibration feedback effects. Different application scenarios (for example: time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also support customization.

[0078] The indicator 192 may be an indicator light, which may be used to indicate the charging status, power level changes, messages, missed calls, notifications, etc.

[0079] The SIM card interface 195 is used to connect a SIM card. A SIM card can be connected to and disconnected from the terminal device 100 by inserting or removing it from the SIM card interface 195. The terminal device 100 can support one or N SIM card interfaces, where N is a positive integer greater than one. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, and the like. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The terminal device 100 interacts with the network through the SIM card to implement functions such as call and data communications. In some embodiments, the terminal device 100 uses an eSIM, or embedded SIM card. The eSIM card can be embedded in the terminal device 100 and cannot be separated from the terminal device 100. In one example, the SE chip 111 can also be integrated with the SIM card.

[0080] In addition, the implementation of the secure transmission method of signaling provided in the embodiment of the present application involves not only the terminal device side, but also the server side.

[0081] For example, Figure 2 A schematic diagram of the structure of a server provided in one embodiment of the present application is shown in FIG. Figure 2 As shown, the server 200 may include at least one processor 210; and at least one memory 230 communicatively connected to the above-mentioned processor, wherein: the memory 230 stores program instructions that can be executed by the processor, and the above-mentioned processor 210 calls the above-mentioned program instructions to execute the secure transmission method of signaling provided in the embodiment of the present application.

[0082] Figure 2In the embodiment, server 200 is represented as a general-purpose computing device. Components of server 200 may include, but are not limited to, one or more processors 210, a communication interface 220, a memory 230, and a communication bus 240 connecting the various components (including the memory 230, the communication interface 220, and the processing unit 210).

[0083] The communication bus 240 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, or a local bus using any of a variety of bus architectures. For example, the communication bus 240 may include, but is not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnection (PCI) bus.

[0084] The server 200 typically includes a variety of computer system readable media, which can be any available media that can be accessed by an electronic device, including volatile and non-volatile media, removable and non-removable media.

[0085] The memory 230 may include a computer system readable medium in the form of a volatile memory, such as a random access memory (RAM) and / or a cache memory. The memory 230 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the method embodiments of the present application.

[0086] A program / utility having a set (at least one) of program modules may be stored in memory 230. Such program modules include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. The program modules generally perform the functions and / or methods of the embodiments of the present application.

[0087] The processor 210 executes various functional applications and data processing by running the programs stored in the memory 230, such as implementing the secure transmission method of signaling provided in the embodiment of the present application.

[0088] It should be understood that Figure 2The processor 210 in the server 200 shown may be a system on a chip (SOC), and the processor 210 may include a central processing unit (CPU) and may further include other types of processors, such as a graphics processing unit (GPU).

[0089] For ease of understanding, the following examples of this application will be described with Figure 1 The terminal device 100 of the structure shown has Figure 2 Taking the server 200 of the structure shown as an example, the secure transmission method of signaling provided in the embodiment of the present application is specifically described in combination with the accompanying drawings.

[0090] The embodiment of the present application defines three instructions: initialization instruction, secure channel instruction and information acquisition instruction. It uses a combination of multiple keys and algorithms to provide confidentiality protection, integrity protection and identity authentication functions for remotely sending instructions to the SE chip.

[0091] The instructions mentioned in the embodiments of this application are expressed using an instruction format based on the smart card ISO7816 specification, but the embodiments of this application are not limited to this. Other standardized instruction formats can also be used to express the above instructions, as long as they can correctly carry the required parameter information.

[0092] The following is a detailed introduction to the initialization instructions, secure channel instructions, and information acquisition instructions.

[0093] 1. The initialization instruction is used to initialize the secure channel and authenticate the server 200 that issues the instruction. The format of the initialization instruction may be as shown in Table 1.

[0094] Table 1

[0095] Code Value Description Code 1 (CLA) xx Code 2 (INS) xx Authentication Instructions P1 xx Protocol version P2 xx Secure channel configuration Code 3 (LC) Variable Data length Code 4 (DATA) Xxxx data Code 5 (LE) - none

[0096] In Table 1, different codes represent different meanings. The value "xx" represents the specific meaning when the corresponding code is assigned to xx. For example, code P1 represents the currently used secure channel version number. If the currently used version is 1, the value of P1 is 0x10, where the upper 4 bits represent the major version number and the lower 4 bits represent the minor version number. The major version number affects the processing flow and logic of the secure channel protocol, and the minor version number affects the transmission channel used by the secure channel protocol.

[0097] Table 2 shows the values ​​of P1 and the corresponding descriptions.

[0098] Table 2

[0099] b7 b6 b5 b4 b3 b2 b1 b0 description 0 0 0 1 0 0 0 1 Version 1 protocol using the 7816T0 channel 0 0 0 1 0 0 1 0 Version 1 protocol using 7816T1 channels 0 0 0 1 0 0 1 1 Version 1 protocol using SPI channels 0 0 0 1 0 1 0 0 Version 1 protocol using NCI channels

[0100] P2, also known as the security parameter, represents configuration items for the secure channel. The upper 4 bits represent authentication, while the lower 4 bits represent encryption. For example, different security parameters can be set by assigning values ​​to the 8 bits b7 to b0. Assigning different values ​​to b3 to b0 can indicate "no encryption," "use AES for integrity," "use AES for encryption," "use SM4 for encryption," and "use SM4 for integrity." Assigning different values ​​to b7 to b4 can indicate "no authentication," "use AES for authentication," "use SM2 for authentication," "use SM4 for authentication," and "use SM9 for authentication." In addition, some reserved values ​​can be included.

[0101] Table 3 shows the distribution of authentication configuration bits and encryption configuration bits of P2.

[0102] Table 3

[0103]

[0104] The data carried in the data field is the data transmitted for identity authentication, which contains several pieces of information, such as IV R (16 bytes), CT0 (64 bytes), PK.SERVER.AUT.SM2 (64 bytes), SIGN.PK.SERVER (64 bytes) and S (variable bytes, abbreviation of signature), etc.

[0105] If the authentication configuration is set to use the Public Key Cryptographic Algorithm SM2 Based on Elliptic Curves (SM2) algorithm, that is, the upper 4 bits of P2 are set to "0010", then the structure of the above initialization instruction is as follows: Figure 3 As shown, Figure 3 This is a schematic diagram of the structure of the initialization instruction in one embodiment of the present application.

[0106] If the authentication configuration is set to use the Advanced Encryption Standard (AES) algorithm / symmetric cryptographic algorithm (SM4 Block Cipher Algorithm, SM4) or identity-based asymmetric cryptographic algorithms (SM9, SM9), then PK.SERVER.AUT.SM2 and SIGN.PK.SERVER no longer exist, and the structure of the initialization instruction is as follows: Figure 4 As shown, Figure 4 A schematic diagram of the structure of an initialization instruction provided for another embodiment of the present application.

[0107] As mentioned above, the data contained in the data field of the initialization instruction format will change depending on the value of P2. For example, when the value of P2 indicates no authentication, the data field of the initialization instruction format will not contain data marked as an authentication option; when the value of P2 indicates no encryption, the data field of the initialization instruction format will not contain data marked as an encryption option.

[0108] For the data carried in the data field of the initialization instruction format under different values ​​of P2, please refer to Table 4.

[0109] Table 4

[0110]

[0111] After the SE chip 111 processes the initialization instruction, it will generate a corresponding response code. The response code of the initialization instruction may be as shown in Table 5.

[0112] Table 5

[0113]

[0114] In the embodiment of the present application, after the SE chip 111 generates a response code for the initialization instruction, the SE chip 111 may send the response code for the initialization instruction to the terminal device 100. Then, the terminal device 100 may determine, based on the response code for the initialization instruction, whether to process the response code itself or send the response code to the server 200 for processing by the server 200.

[0115] 2. The secure channel instruction is used to send protected instructions to the SE chip 111. The secure channel instruction can only be executed strictly after the initialization instruction. If the instruction before the first secure channel instruction is not the initialization instruction, the SE chip 111 will return an error code 6A81.

[0116] The secure channel command can be executed multiple times in one session until all remote commands are processed. Specifically, the format of the secure channel command is shown in Table 6.

[0117] Table 6

[0118] Code Value Description Code 1 (CLA) xx Code 2 (INS) xx Safe Channel Instructions Code 3 (P3) xx Parameter 1 Code 4 (P4) xx Parameter 2, indicating whether it is the last secure channel instruction Code 5 (LC) Variable Data length Code 6 (DATA) xxxx data Code 7 (LE) - none

[0119] In Table 6, different codes represent different meanings. The value "xx" represents the specific meaning when the corresponding code is assigned to xx. For example, code P4 is used to indicate whether the current security channel instruction is the last security channel instruction. If P4 is "00", it means that there are security channel instructions to be sent after the current instruction. If P4 is "01", it means that the current instruction is the last security channel instruction.

[0120] The data carried in the data field of the secure channel instruction format is only ciphertext data, and the ciphertext data needs to be completely decrypted before use.

[0121] Similarly, after the SE chip 111 processes the secure channel instruction, it will generate a corresponding response code. The response code of the secure channel instruction may be as shown in Table 7.

[0122] Table 7

[0123]

[0124] In the embodiment of the present application, after the SE chip 111 generates a response code for the secure channel instruction, the SE chip 111 may send the response code for the secure channel instruction to the terminal device 100. The terminal device 100 may then determine, based on the response code for the secure channel instruction, whether to process the response code itself or send the response code to the server 200 for processing by the server 200.

[0125] 3. The Get Information instruction is used by the terminal device 100 to obtain information related to the current secure channel protocol from the SE chip 111, including the secure channel protocol version currently supported by the SE chip 111 and / or the version number of the key in the SE chip, etc. Specifically, the format of the Get Information instruction is shown in Table 8.

[0126] Table 8

[0127]

[0128]

[0129] Codes P5 and P6 work together to specify a key in the SE chip 111.

[0130] The value of code 7 (LE) in the Get Information instruction format is divided into two parts, namely the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111 .

[0131] After the SE chip 111 processes the obtain information instruction, it will generate a corresponding response code. The response code of the obtain information instruction may be as shown in Table 9.

[0132] Table 9

[0133] SW1 SW2 Description 90 00 Success 6A 90 process failed

[0134] In the embodiment of the present application, after the SE chip 111 generates a response code for the obtain information instruction, the SE chip 111 sends the response code for the obtain information instruction to the terminal device 100. After receiving the response code for the obtain information instruction, the terminal device 100 can determine the execution status of the obtain information instruction based on the response code for the obtain information instruction.

[0135] The following is an introduction to the keys used in the embodiments of this application.

[0136] The keys used in the embodiments of the present application only specify the key type, and do not specify the key generation and distribution method. It is assumed that both the server 200 and the SE chip 111 have the required keys. The keys required by each entity involved in the embodiments of the present application can be shown in Table 10.

[0137] Table 10

[0138]

[0139]

[0140]

[0141] The relationship between the keys in Table 10 can be as follows Figure 5 As shown, Figure 5 A schematic diagram illustrating the relationship between keys provided for one embodiment of the present application.

[0142] Figure 6 A flowchart of a method for securely transmitting signaling provided in one embodiment of the present application is shown in FIG. Figure 6 As shown, the secure transmission method of the above signaling may include:

[0143] Step 601: The server 200 obtains the plaintext data to be sent.

[0144] Specifically, when the server 200 decides to send data to the SE chip 111, it first prepares the plaintext data to be sent.

[0145] In step 602 , the server 200 encrypts the plaintext data according to the security level supported by the SE chip 111 to obtain first encrypted data.

[0146] In step 603 , the server 200 obtains the version number of the secure channel established between the server 200 and the SE chip 111 in the current session.

[0147] In step 604, the server 200 generates a secure channel instruction according to the first encrypted data, and generates an initialization instruction according to the security level and the version number.

[0148] Specifically, the server 200 may generate the secure channel instruction according to the first encrypted data by: the server 200 carries the first encrypted data in a data field of the secure channel instruction format to obtain the secure channel instruction.

[0149] The server 200 may generate an initialization instruction based on the above security level and the above version number by setting the value of the security parameter field in the initialization instruction format according to the above security level, and setting the value of the protocol version field in the above initialization instruction format according to the above version number, so as to obtain the initialization instruction; wherein the value of the above security parameter field is used to indicate the encryption method used to convert the plaintext data into the first encrypted data.

[0150] In step 605, the server 200 packages the initialization instruction and the secure channel instruction to obtain a data packet.

[0151] In specific implementation, the server 200 can package the above initialization instructions and the above secure channel instructions into one data packet, so that the initialization instructions and the secure channel instructions can be sent to the terminal device 100 at one time, reducing the interaction between the server 200 and the terminal device 100.

[0152] In step 606, the server 200 sends the data packet to the terminal device 100 so that the terminal device 100 sends the initialization instruction and the secure channel instruction in the data packet to the SE chip 111, so that the SE chip 111 parses the secure channel instruction according to the initialization instruction to obtain the plaintext data.

[0153] Furthermore, if the user also chooses to authenticate the first encrypted data, then after obtaining the first encrypted data in step 602, the server 200 may further perform authentication processing on the first encrypted data according to the authentication level supported by the SE chip 111 to obtain the second encrypted data.

[0154] Specifically, the first encrypted data is authenticated according to the authentication level supported by the SE chip 111, and the second encrypted data can be obtained as follows: the server 200 encrypts the value of the counter saved by the server 200, the key and initial vector used when encrypting the above-mentioned plaintext data, and the integrity check value in the first encrypted data to obtain the second encrypted data; the server 200 uses the signature function corresponding to the authentication level supported by the SE chip 111 to sign the second encrypted data and obtain the signature value corresponding to the second encrypted data.

[0155] In this way, based on the above-mentioned security level and the above-mentioned version number, the initialization instruction can be generated as follows: the server 200 sets the value of the security parameter field in the initialization instruction format according to the above-mentioned security level and the above-mentioned authentication level, and sets the value of the protocol version field in the above-mentioned initialization instruction format according to the above-mentioned version number; and, based on the value of the above-mentioned security parameter field, carries the second encrypted data and the signature value corresponding to the second encrypted data in the data field of the initialization instruction format to obtain the above-mentioned initialization instruction; wherein, the value of the above-mentioned security parameter field is used to indicate the encryption method used to convert the above-mentioned plaintext data into the first encrypted data, and to indicate the authentication method used to authenticate the first encrypted data.

[0156] In the above-mentioned signaling secure transmission method, after obtaining the plaintext data to be sent, the server 200 encrypts the plaintext data according to the security level supported by the SE chip 111 to obtain first encrypted data. The server 200 then obtains the version number of the secure channel established between the server 200 and the SE chip 111 in the current session. The server 200 then generates a secure channel instruction based on the first encrypted data and an initialization instruction based on the security level and version number. The server 200 then packages the initialization instruction and the secure channel instruction to obtain a data packet. The server 200 then sends the packaged data packet to the terminal device 100, which then transmits the initialization instruction and secure channel instruction in the data packet to the SE chip 111. The SE chip 111 then parses the secure channel instruction based on the initialization instruction to obtain the plaintext data. In other words, after generating the instruction, the server 200 does not need to interact with the SE chip 111 and can directly package the initialization instruction and secure channel signaling and send them to the SE chip 111. The SE chip 111 then authenticates and decrypts the received initialization instruction and secure channel signaling. This ensures the authenticity and confidentiality of the instruction while conserving computing resources on the server 200.

[0157] This application Figure 6 In the illustrated embodiment, in step 602, the server 200 encrypts the plaintext data according to the security level supported by the SE chip 111. Obtaining the first encrypted data may include: obtaining the i-th plaintext data to be processed from the plaintext data, concatenating a predetermined data segment with the i-th plaintext data; and encrypting the concatenated data using a function corresponding to the security level supported by the SE chip 111. Encrypting the concatenated data using a function corresponding to the security level supported by the SE chip 111 may include: when the security level supported by the SE chip 111 is confidentiality and integrity protection, encrypting the concatenated data using an encryption function; and when the security level supported by the SE chip 111 is integrity protection, encrypting the concatenated data using an integrity protection function.

[0158] Specifically, the encryption process of the server 200 varies according to the different cryptographic algorithms and security levels selected by the user. The security levels that the user can select include: confidentiality and integrity protection, integrity protection only, and no security. Each security level can be implemented by multiple algorithms.

[0159] The input data of the encryption process includes: PT1, PT2, ..., PT N ,MAC N+1 ,K,IV N ;

[0160] Among them, PT1, PT2,…, PT N For the plaintext data to be sent, MAC N+1 It is a predetermined data segment, which is a fixed data segment with a value of 16 bytes of '0x00'; K is the key used to encrypt the PT, which is randomly generated each time the encryption process starts; IV N Is the initial vector, used in the encryption function, IV N The value is a 12-byte random number plus a 4-byte '0xFF'.

[0161] The output data of the encryption process is: CT1, CT2, ..., CT N ,MAC1

[0162] where CT1, CT2,…, CT N For the plaintext data PT1, PT2, ..., PT N The corresponding ciphertext after encryption; MAC1 is the integrity check value output after encrypting the plaintext data PT1.

[0163] If the security level selected by the user is integrity protection only, the CT is the same as the corresponding PT. If the security level selected by the user is no security, the output CT is the same as the PT and does not have MAC1.

[0164] The encryption process of the server 200 can be as follows Figure 7 As shown, Figure 7 A schematic diagram of the encryption process of the server 200 provided in one embodiment of the present application.

[0165] See also Figure 7 , the encryption process of server 200 may include:

[0166] Step 1: If the security level selected by the user is no security, then CT i =PT i , skip to step 5.

[0167] Step 2: When processing the i-th plaintext data (1≤i≤N), first convert the MAC i+1 With plaintext PTi The two functions are then spliced ​​together and then calculated using the Galois / Counter Mode (GCM) encryption function or the CBC_MAC function, depending on the security level selected by the user. CBC_MAC is the message authentication code calculated using the cipher block chaining mode. If the user selects confidentiality and integrity protection, the GCM encryption function is used. If the user selects integrity protection only, the CBC_MAC function is used. Both functions use three input parameters, namely: PT i ||MAC i+1 As the data to be processed, K as the key, IV i As the initial vector, after being processed by the cryptographic function, the output is CT i and MAC i If the CBC_MAC function is used, CT i =PT i .

[0168] Step 3, set counter i-1 and calculate IV i-1 .

[0169] Step 4: Return to step 2 and execute until the data of i=1 is executed.

[0170] Step 5: PT1, PT2, ..., PT N and MAC1 as output, ending the encryption process.

[0171] In the encryption process of the server 200, the IV used when processing each PTi is different, where IV i The calculation method can be: IV i =IV i+1 –256.

[0172] The cryptographic functions GCM and CBC_MAC used in the above encryption process are described below. For their definitions, please refer to the corresponding symmetric cipher specifications.

[0173] The GCM encryption function is expressed as follows:

[0174] {CT i ,MAC i =Symmetric_GCM_Enc({PT i ||MAC i+1},IV i ,K)

[0175] The CBC_MAC function is expressed as follows:

[0176] {MAC i =Symmetric_CBC_MAC({PT i ||MAC i+1},IV i ,K)

[0177] The authentication process of server 200 varies according to the different cryptographic algorithms and authentication levels selected by the user. The authentication levels that can be selected by the user include: symmetric algorithm message authentication code (MAC), SM2 signature, SM9 signature, and no security. Each security level corresponds to a different algorithm.

[0178] The authentication process is divided into two parts: encrypting the output data of the encryption process and authenticating the session.

[0179] The input data of the authentication process may include: KEY_AUT, KEY_ENC, MAC1, K, IV1, IV R ,Ver,KEY.SE.ENC.AES / SM4,SK.SERVER.AUT

[0180] KEY_AUT and KEY_ENC are used to specify which specific key the receiver's SE chip 111 uses for calculation; MAC1 is the output of the encryption process; K and IV1 are both data used in the encryption process; IV R It is a 16-byte random number temporarily generated by server 200. Ver is a 4-byte counter stored by server 200, which is always self-increasing. KEY.SE.ENC.AES / SM4 and SK.SERVER.AUT are the chip batch symmetric key and server 200's own authentication private key stored by server 200. SK.SERVER.AUT varies depending on the selected algorithm. If symmetric algorithm MAC checksum is selected, SK.SERVER.AUT uses KEY.SE.AUT.AES / SM4. If SM2 signature is selected, SK.SERVER.AUT is the private key of the SM2 algorithm. If SM9 signature is selected, SK.SERVER.AUT is the private key of the SM9 algorithm. If no security is selected, SK.SERVER.AUT is not used.

[0181] Outputs of the certification process include: CT R ,S; among them, CT R is the ciphertext obtained by encrypting the input data, S is the ciphertext CT R The signature value obtained by signing with all other data.

[0182] The authentication process of the server 200 can be as follows Figure 8 As shown, Figure 8 A schematic diagram of the authentication process of the server 200 provided in one embodiment of the present application.

[0183] See also Figure 8 , the authentication process of server 200 may include:

[0184] Figure 8 In [1], {K||Ver||IV1||MAC1} is encrypted using the cipher-block chaining (CBC) mode. The key used for encryption is KEY.SE.ENC.AES / SM4 preset in the SE chip 111. After encryption, the ciphertext CT0 is obtained. IV R It is a random number temporarily generated by the server 200 and is only used in the authentication process and destroyed after use. After the ciphertext CT0 is calculated, {KEYID_AUT||KEYID_ENC||IV R ||CT0} calculates a signature value S, where KEYID_AUT and KEYID_ENC are two IDs. KEYID_AUT indicates the key used for authentication, while KEYID_ENC indicates the key used for encryption. The method for calculating S varies depending on the selected authentication level. If SM2 or SM9 is selected, S is calculated using the asymmetric algorithm's signature function. If a symmetric algorithm's MAC checksum is selected, S is calculated using the symmetric algorithm's CBC_MAC function. If no authentication is selected, only encryption is performed, and S is not calculated.

[0185] The descriptions of the various algorithm functions that will be used below are as follows:

[0186] CT0=Symmetric_CBC_Enc({K||Ver||IV1||MAC1},IV R ,

[0187] KEY.SE.ENC / SM4)

[0188] S=Signature({IV R ||CT0},SK.SERVER.AUT)

[0189] S=Symmetric_CBC_MAC({IV R ||CT0},KEY.SE.AUT.AES / SM4)

[0190] Figure 9A flowchart of a method for securely transmitting signaling provided in another embodiment of the present application is shown in FIG. Figure 9 As shown, the secure transmission method of the above signaling may include:

[0191] In step 901 , the SE chip 111 receives instructions from the server 200 and sent by the terminal device 100 . The instructions include initialization instructions and secure channel instructions.

[0192] Specifically, it is assumed that the SE chip 111 has received N+1 instructions in total, which are marked from 0 to N. Then the 0th instruction is the initialization instruction, and the 1st to Nth instructions are secure channel instructions.

[0193] Furthermore, before the SE chip 111 receives the instruction provided by the server 200 and sent by the terminal device 100, the SE chip 111 can also receive the information acquisition instruction sent by the terminal device 100; send the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111 to the terminal device 100; then, the instruction sent by the terminal device 100 can be: an instruction that matches the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111.

[0194] In specific implementation, in one implementation method, after the terminal device 100 obtains the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111, the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111 can be sent to the server 200, so that the server 200 can send an instruction to the terminal device 100 that matches the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111.

[0195] In another implementation method, the server 200 can send multiple versions of instructions to the terminal device 100. After the terminal device 100 obtains the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111, it can obtain instructions that match the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111 from the above multiple versions of instructions.

[0196] Step 902 : The SE chip 111 authenticates the initialization instruction according to the authentication level supported by the SE chip 111 .

[0197] Specifically, according to the authentication level supported by the SE chip 111, the authentication of the initialization instruction may be: using the key specified in the initialization instruction to verify the signature value included in the data field of the initialization instruction.

[0198] In step 903, after the initialization instruction passes identity authentication, the SE chip 111 decrypts the initialization instruction to obtain the key and initial vector of the secure channel established between the SE chip 111 and the server 200 in the current session, as well as the integrity check value obtained after the server 200 encrypts the plaintext data.

[0199] Specifically, after the initialization instruction passes authentication, the SE chip 111 can use the key specified in the initialization instruction to decrypt the second encrypted data carried in the data field of the initialization instruction, and obtain the value of the counter stored by the server 200, the key and initialization vector used by the server 200 in encrypting the plaintext data, and the integrity check value obtained after the server 200 encrypts the plaintext data. Then, the value of the counter stored by the server 200 is compared with the value of the counter stored in the SE chip 111; if the value of the counter stored by the server 200 is greater than or equal to the value of the counter stored in the SE chip 111, the key and initialization vector used by the server 200 in encrypting the plaintext data, as well as the integrity check value obtained after the server 200 encrypts the plaintext data, are saved.

[0200] In step 904 , the SE chip 111 uses the key, the initial vector, and the integrity check value to decrypt the first encrypted data included in the secure channel instruction to obtain plaintext data.

[0201] The first encrypted data is obtained after the server encrypts the plaintext data, and the first encrypted data is carried in the secure channel instruction.

[0202] It should be noted that, in this embodiment, the secure channel instruction must be executed strictly immediately after the initialization instruction. If the instruction before the secure channel instruction is not the secure channel instruction or the initialization instruction, an error code needs to be returned.

[0203] In the above-mentioned secure signaling transmission method, after receiving the instruction provided by the server 200 and sent by the terminal device 100, the SE chip 111 authenticates the initialization instruction according to the authentication level supported by the SE chip 111. After the initialization instruction passes the authentication, the SE chip 111 decrypts the initialization instruction to obtain the key and initialization vector of the secure channel established between the SE chip 111 and the server 200 in the current session, as well as the integrity check value obtained after the server 200 encrypted the plaintext data. The key, initialization vector, and integrity check value are then used to decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data. In this embodiment, after generating the instruction, the server 200 does not need to interact with the SE chip 111 and directly packages the instruction and sends it to the SE chip 111. The SE chip 111 authenticates and decrypts the received instruction, which can not only ensure the authenticity and confidentiality of the instruction but also save computing resources of the server 200.

[0204] This application Figure 9 In the illustrated embodiment, in the verification process shown in steps 902 and 903, the SE chip 111 first needs to verify the signature value carried in the data field of the initialization instruction based on the security level supported by the SE chip 111. After the verification is successful, the second encrypted data carried in the data field of the initialization instruction is decrypted. If the authentication level supported by the SE chip 111 is no authentication, the identity authentication operation of the initialization instruction is not required; if the security level supported by the SE chip 111 is no security, the decryption operation of the initialization instruction is not required.

[0205] The input data of the verification process of the SE chip 111 may include:

[0206] Package_0,KEY.SE.ENC,PK.SERVER.AUT / KEY.SE.AUT

[0207] Output data from the validation process can include:

[0208] K,IV1,MAC1,Ver

[0209] In summary, the verification process of the SE chip 111 can be:

[0210] First, the key specified in the initialization instruction is used to verify the signature value S carried in the data field of the initialization instruction. Different keys and algorithms are used here according to different authentication levels.

[0211] If the verification fails, the corresponding error code is returned, otherwise continue to the next step.

[0212] Use the key specified in the initialization command to decrypt the ciphertext in the initialization command. Different keys and algorithms are used depending on the authentication level. If the user selects the security level as No Security, no decryption is required.

[0213] Finally, if the decryption is successful, the decrypted Ver is compared. If it is smaller than the Ver stored in the SE chip 111, the initialization instruction is rejected and the corresponding error code is returned. Otherwise, the decrypted K, IV1 and MAC1 are saved for subsequent secure channel instruction decryption.

[0214] Specifically, the verification process of the SE chip 111 will execute different processes according to the different authentication levels supported by the SE chip 111. The verification process of the SE chip 111 will be introduced below for different authentication levels.

[0215] Figure 10 A schematic diagram of the verification process of the SE chip 111 provided in one embodiment of the present application is shown as follows: Figure 10 As shown, if the user chooses to use the SM9 algorithm for signing and the symmetric algorithm for encryption protection, the verification process of the SE chip 111 may include:

[0216] First, use ID.SERVER to verify the signature value S carried in the data field of the initialization instruction. Here, the SM9 algorithm is used, with {KEYID_AUT||KEYID_ENC||IVR||CT0} as the data to be verified, S as the signature value, and ID.SERVER as the public key for verification.

[0217] If the verification fails, the corresponding error code is returned, otherwise continue to the next step.

[0218] Use the key (KEY.SE.ENC.AES or KEY.SE.ENC.SM4) specified in the initialization instruction to decrypt the second encrypted data carried in the data field of the initialization instruction. If the user selects the security level as no security, the second encrypted data does not need to be decrypted.

[0219] If decryption is successful, the decrypted Ver is compared with the Ver stored in the SE chip 111. If the decrypted Ver is smaller than the Ver stored in the SE chip 111, the initialization command is rejected and the corresponding error code is returned. Otherwise, the decrypted K, IV1, and MAC1 are saved for subsequent secure channel command decryption.

[0220] Figure 11 A schematic diagram of the verification process of the SE chip 111 provided in another embodiment of the present application is shown as follows: Figure 11As shown, if the user chooses to use the SM2 algorithm for signing and the symmetric algorithm for encryption process protection, the verification process of the SE chip 111 may include:

[0221] First, use PK.KGC.ROOT.SM2 to verify {PK.SERVER.AUT.SM2||SIGN.PK.SERVER} in the initialization instruction. If verification succeeds, then use PK.SERVER.AUT.SM2 to verify the signature value S in the initialization instruction. Here, the SM2 algorithm is used, with {KEYID_AUT||KEYID_ENC||IVR||CT0} as the data to be verified, S as the signature value, and PK.SERVER.AUT.SM2 as the public key for verification.

[0222] If the verification fails, the corresponding error code is returned, otherwise continue to the next step.

[0223] Use the key (KEY.SE.ENC.AES or KEY.SE.ENC.SM4) specified in the initialization instruction to decrypt the second encrypted data carried in the data field of the initialization instruction. If the user selects the security level as no security, the second encrypted data does not need to be decrypted.

[0224] If decryption is successful, the decrypted Ver is compared with the Ver stored in the SE chip 111. If the decrypted Ver is smaller than the Ver stored in the SE chip 111, the initialization command is rejected and the corresponding error code is returned. Otherwise, the decrypted K, IV1, and MAC1 are saved for subsequent secure channel command decryption.

[0225] Figure 12 A schematic diagram of the verification process of the SE chip 111 provided in another embodiment of the present application is shown as follows: Figure 12 As shown, if the user chooses to use a symmetric algorithm for signing and a symmetric algorithm for encryption process protection, the verification process of the SE chip 111 may include:

[0226] First, use the key specified in the initialization instruction (KEY.SE.AUT.AES or KEY.SE.AUT.SM4) to MAC the signature value carried in the data field of the initialization instruction. R To verify. Here we use the SM4MAC function to {KEYID_AUT||KEYID_ENC||IV R ||CT0} is used as the data to be verified, KEY.SE.AUT.AES or KEY.SE.AUT.SM4 is used as the key, and MAC is calculated. R ', if the calculated MAC R 'With the MAC in the initialization instructionR If they are the same, the verification passes.

[0227] If the verification fails, the corresponding error code is returned, otherwise continue to the next step.

[0228] Use the key (KEY.SE.ENC.AES or KEY.SE.ENC.SM4) specified in the initialization instruction to decrypt the second encrypted data carried in the data field of the initialization instruction. If the user selects the security level as no security, there is no need to decrypt the second encrypted data.

[0229] If decryption is successful, the decrypted Ver is compared with the Ver stored in the SE chip 111. If the decrypted Ver is smaller than the Ver stored in the SE chip 111, the initialization command is rejected and the corresponding error code is returned. Otherwise, the decrypted K, IV1, and MAC1 are saved for subsequent secure channel command decryption.

[0230] This application Figure 9 In the embodiment shown, the decryption process described in step 904 is used to decrypt the plaintext data sent by the server 200, that is, the ciphertext CT i Convert to plaintext PT i .

[0231] The input data of the decryption process may include: K, IV1, MAC1, CT1, CT2, ..., CT N ; Among them, K, IV1, MAC1 are all data obtained from the verification process, CT1 to CT N They are respectively the first encrypted data carried in the data field of the subsequent secure channel instruction.

[0232] The output data of the decryption process may include: PT1, PT2, ..., PT N .

[0233] The processing flow varies depending on the security level selected by the user. There are two main types: confidentiality and integrity protection, and integrity protection only. If the security level selected is confidentiality and integrity protection, the GCM decryption function is used for decryption and integrity verification. If the security level selected is integrity protection only, the symmetric CBC_MAC function is used for integrity verification.

[0234] Figure 13 A schematic diagram of the decryption process of the SE chip 111 provided in one embodiment of the present application is shown as follows: Figure 13 As shown, the decryption process of the SE chip 111 may include:

[0235] Step 1: CT the ciphertext iWhen decrypting, the key used is the session key K and the initial vector used is IV i , the input integrity check data is MAC i The output is plain text PT i ||MAC i+1 .

[0236] Step 2: Get the MAC from the data obtained in step 1 i+1 , according to IV in step 1 i Calculate IV i+1 .

[0237] Step 3, add 1 to the counter i, return to step 1, and loop until i>N.

[0238] The GCM decryption function used in the above process can be expressed as follows:

[0239] {PT i =Symmetric_GCM_Dec(CT i ,K,IV i ,AAD,MAC i );

[0240] If the security level selected by the user is integrity protection only, the CBC_MAC function used can be as follows: MAC i =Symmetric_CBC_MAC(CT i ,K,IV i );

[0241] Calculate IV i The function can be shown as follows: IV i =IV i-1 +256.

[0242] MAC obtained by processing the last packet of data N+1 It is a fixed 16-byte '0x00'.

[0243] The secure transmission method for signaling provided in the embodiment of the present application supports the SM9 identification cryptographic algorithm, can realize certificateless authentication, and at the same time, in order to be compatible with multiple cryptographic algorithms and authentication methods. The secure transmission method for signaling provided in the embodiment of the present application supports both the SM2 algorithm based on ECC cipher and the symmetric cryptographic algorithm SM4 / AES, and retains the possibility of adding new algorithm support in the future at the framework level, which can be easily compatible with most existing cryptographic algorithms.

[0244] After using the secure channel protocol proposed in the embodiments of the present application, if the user wishes to send some instructions from the server 200 to the SE chip 111, the SCP90 protocol proposed in the embodiments of the present application can be used to encrypt and authenticate the data. The ciphertext instructions processed and generated by the server 200 can be sent to different SE chips 111 in multiple terminal devices 100 at one time. In this way, the server 200 can generate corresponding processing instructions for a batch of SE chips 111 at one time, and after generation, the data can be directly sent to the SE chip 111 without interacting with the SE chip 111. The SE chip 111 can authenticate and decrypt the received data. This solution can protect the authenticity and confidentiality of the transmitted data while saving the computing resources of the server 200. Only one calculation is required, and it can be effective for multiple SE chips 111.

[0245] In traditional application scenarios using the SCP03 protocol, it takes minutes to install a transportation card application on a mobile phone. However, after using the secure channel protocol proposed in the embodiments of this application, the time can be compressed to seconds, which can greatly improve the user experience and reduce the bandwidth consumed and the number of interactions during the application process.

[0246] The format of the initialization signaling, secure channel signaling, and information acquisition signaling provided in the embodiments of the present application is an encapsulation format that indicates the protocol version used and the selected algorithm. Of course, the embodiments of the present application are not limited to this, and other formats can also be used to encapsulate this information as long as the information can be transmitted.

[0247] In addition, in addition to the method provided in the embodiment of the present application of using the GCM mode to encrypt plaintext and generate integrity verification data, other symmetric algorithm operation modes can also be used to complete the calculation of ciphertext and integrity data, for example: using the electronic codebook (ECB) mode or the CBC mode to calculate the ciphertext, and using CBC_MAC to calculate the MAC value.

[0248] The embodiments of this application utilize national secret algorithms to implement one-way authentication and interaction between an off-card entity and the SE chip. The algorithms for implementing confidentiality protection and identity authentication can be selected from a variety of options and are not limited to the specific combinations mentioned in the embodiments of this application. Therefore, replacing the algorithms mentioned in the embodiments of this application with other algorithms can also achieve similar functions as the embodiments of this application.

[0249] It is understood that some or all of the steps or operations in the above embodiments are merely examples, and the present application embodiments may also perform other operations or variations of various operations. In addition, the various steps may be performed in a different order than those presented in the above embodiments, and it is possible that not all of the operations in the above embodiments need to be performed.

[0250] It is understandable that, in order to implement the above functions, the server 200 includes hardware and / or software modules that perform the corresponding functions. In combination with the algorithm steps of each example described in the embodiments disclosed in this application, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered to be beyond the scope of this application.

[0251] In this embodiment, the server 200 can be divided into functional modules according to the above-mentioned method embodiment. For example, each functional module can be divided according to each function, or two or more functions can be integrated into a single module. The above-mentioned integrated modules can be implemented in the form of hardware. It should be noted that the module division in this embodiment is illustrative and is only a logical functional division. In actual implementation, other division methods may be used.

[0252] Figure 14 A schematic diagram of a secure signaling transmission device according to an embodiment of the present invention is shown in FIG. Figure 14 As shown, the secure transmission device of the above signaling may include: an acquisition module 1401, an encryption module 1402, a generation module 1403, a packaging module 1404 and a sending module 1405;

[0253] The acquisition module 1401 is used to obtain the plaintext data to be sent;

[0254] The encryption module 1402 is configured to encrypt the plaintext data according to the security level supported by the SE chip 111 to obtain first encrypted data; wherein the SE chip 111 is installed in the terminal device 100;

[0255] The acquisition module 1401 is further configured to acquire the version number of the secure channel established between the server 200 and the SE chip 111 in the current session;

[0256] A generating module 1403 is configured to generate a secure channel instruction according to the first encrypted data, and generate an initialization instruction according to the security level and the version number;

[0257] The packaging module 1404 is used to package the initialization instruction and the secure channel instruction to obtain a data packet;

[0258] The sending module 1405 is used to send the data packet packaged by the packaging module 1404 to the terminal device 100, so that the terminal device 100 sends the initialization instruction and the secure channel instruction in the above data packet to the SE chip 111, so that the SE chip 111 parses the above secure channel instruction according to the above initialization instruction to obtain plaintext data.

[0259] Figure 14 The signaling security transmission device provided in the embodiment shown can be used as the server 200, or a part of the server 200 to implement the present application. Figure 6 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0260] Figure 15 A schematic diagram of a secure signaling transmission device according to another embodiment of the present invention is provided. Figure 14 Compared with the secure transmission device of the signaling shown, the difference is that Figure 15 In the secure transmission device of the signaling shown, the generating module 1403 is specifically configured to carry the first encrypted data in the data field of the secure channel instruction format to obtain the secure channel instruction;

[0261] Generation module 1403 is specifically used to set the value of the security parameter field in the initialization instruction format according to the above-mentioned security level, and set the value of the protocol version field in the above-mentioned initialization instruction format according to the above-mentioned version number to obtain the initialization instruction; wherein, the value of the above-mentioned security parameter field is used to indicate the encryption method used to convert the above-mentioned plaintext data into the first encrypted data.

[0262] Furthermore, the secure transmission device of the signaling may further include: an authentication module 1406;

[0263] The authentication module 1406 is configured to perform authentication processing on the first encrypted data according to the authentication level supported by the SE chip 111 after the encryption module 1402 obtains the first encrypted data, so as to obtain second encrypted data.

[0264] In this embodiment, the authentication module 1406 may include: a data encryption submodule 14061 and a signature submodule 14062;

[0265] The data encryption submodule 14061 is configured to encrypt the counter value stored in the server 200, the key and initialization vector used when encrypting the plaintext data, and the integrity check value in the first encrypted data to obtain second encrypted data.

[0266] The signature submodule 14062 is configured to sign the second encrypted data using a signature function corresponding to the authentication level supported by the SE chip 111 to obtain a signature value corresponding to the second encrypted data.

[0267] In the embodiment, the generating module 1403 is specifically configured to set a value of a security parameter field in the initialization instruction format according to the security level and the authentication level, set a value of a protocol version field in the initialization instruction format according to the version number, and carry the second encrypted data and a signature value corresponding to the second encrypted data in a data field of the initialization instruction format according to the value of the security parameter field, to obtain the initialization instruction; the value of the security parameter field is used to indicate an encryption mode adopted for converting the plaintext data into the first encrypted data and an authentication mode adopted for authenticating the first encrypted data.

[0268] In the embodiment, the encryption module 1402 is specifically configured to obtain an i th plaintext data to be processed in the plaintext data, splice a predetermined data segment with the i th plaintext data, and encrypt the spliced data using a function corresponding to the security level supported by the SE chip 111.

[0269] In a specific implementation, the encryption module 1402 is specifically configured to, when the security level supported by the SE chip 111 is confidentiality and integrity protection, encrypt the spliced data using an encryption function; and when the security level supported by the SE chip 111 is integrity protection, encrypt the spliced data using an integrity protection function.

[0270] Figure 15 The signaling security transmission device provided in the embodiment can be used as the server 200 or a part of the server 200 to implement the present application Figure 6 The technical solutions of the method embodiment can further refer to the related descriptions in the method embodiment for implementation principles and technical effects.

[0271] Similarly, it can be understood that the SE chip 111 contains hardware and / or software modules corresponding to each function in order to implement the above functions. The algorithm steps of each example described in combination with the embodiments disclosed in the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is implemented in hardware or computer software driven hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application in combination with the embodiments, but such implementation should not be considered beyond the scope of the present application.

[0272] In this embodiment, the SE chip 111 can be divided into functional modules based on the above-mentioned method embodiment. For example, each functional module can be divided according to its function, or two or more functions can be integrated into a single module. The above-mentioned integrated modules can be implemented in the form of hardware. It should be noted that the module division in this embodiment is illustrative and only represents a logical functional division. In actual implementation, other division methods may be used.

[0273] Figure 16 A structural diagram of a secure signaling transmission device provided in another embodiment of the present application is shown as follows: Figure 16 As shown, the secure transmission device of signaling may include: a receiving module 1601, a verification module 1602 and a decryption module 1603;

[0274] The receiving module 1601 is configured to receive instructions sent by the terminal device 100 and provided by the server 200, wherein the instructions include initialization instructions and secure channel instructions;

[0275] The verification module 1602 is used to authenticate the initialization instruction according to the authentication level supported by the SE chip 111;

[0276] The decryption module 1603 is used to decrypt the initialization instruction after the above-mentioned initialization instruction passes the identity authentication, obtain the key, initial vector, and integrity check value of the secure channel established between the SE chip 111 and the server 200 in the current session after the server 200 encrypts the plaintext data; and use the above-mentioned key, the above-mentioned initial vector and the above-mentioned integrity check value to decrypt the first encrypted data included in the above-mentioned secure channel instruction to obtain the plaintext data; wherein the first encrypted data is obtained after the server 200 encrypts the plaintext data, and the first encrypted data is carried in the above-mentioned secure channel instruction.

[0277] Figure 16 The signaling secure transmission device provided in the embodiment shown can be used as the SE chip 111, or a part of the SE chip 111 to implement the present application. Figure 9 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0278] Figure 17 A structural diagram of a secure signaling transmission device provided in another embodiment of the present application is provided. Figure 16 Compared with the secure transmission device of the signaling shown, the difference is that Figure 17 In the secure transmission device for signaling shown, the verification module 1602 is specifically configured to verify the signature value included in the data field of the initialization instruction using the key specified in the initialization instruction.

[0279] In this embodiment, the decryption module 1603 may include: a data decryption submodule 16031, a comparison submodule 16032, and a storage submodule 16033;

[0280] The data decryption submodule 16031 is configured to decrypt the second encrypted data carried in the data field of the initialization instruction using the key specified in the initialization instruction, and obtain the value of the counter stored by the server 200, the key and initialization vector used by the server 200 to encrypt the plaintext data, and the integrity check value obtained after the server 200 encrypted the plaintext data.

[0281] Comparison submodule 16032, used to compare the value of the counter stored in the server 200 with the value of the counter stored in the SE chip 111;

[0282] The saving submodule 16033 is used to save the key and initial vector used by the server 200 in encrypting the above plaintext data, as well as the above integrity check value, decrypted by the data decryption submodule 16031, when the value of the counter saved by the server 200 is greater than or equal to the value of the counter saved in the SE chip.

[0283] Furthermore, the secure transmission device of the signaling may further include: a sending module 1604;

[0284] The receiving module 1601 is further configured to receive an information acquisition instruction sent by the terminal device 100 before receiving an instruction sent by the terminal device 100;

[0285] The sending module 1604 is configured to send the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip to the terminal device 100;

[0286] Then, the instruction sent by the terminal device 100 may include: an instruction that matches the version of the secure channel protocol currently supported by the SE chip 111 and the version of the key in the SE chip 111.

[0287] Figure 17 The signaling secure transmission device provided in the embodiment shown can be used as the SE chip 111, or a part of the SE chip 111 to implement the present application. Figure 9 The technical solution of the method embodiment shown, its implementation principle and technical effects can be further referred to the relevant description in the method embodiment.

[0288] The embodiment of the present application also provides a computer-readable storage medium, which stores a computer program, which, when executed on a computer, enables the computer to execute the present application. Figure 6 The illustrated embodiment provides a method for securely transmitting signaling.

[0289] The embodiment of the present application also provides a computer-readable storage medium, which stores a computer program, which, when executed on a computer, enables the computer to execute the present application. Figure 9 The illustrated embodiment provides a method for securely transmitting signaling.

[0290] The present invention also provides a computer program product, which includes a computer program that, when executed on a computer, enables the computer to execute the present invention. Figure 6 The illustrated embodiment provides a method for securely transmitting signaling.

[0291] The present invention also provides a computer program product, which includes a computer program that, when executed on a computer, enables the computer to execute the present invention. Figure 9 The illustrated embodiment provides a method for securely transmitting signaling.

[0292] In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. Among them, A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and c can represent: a, b, c, a and b, a and c, b and c or a and b and c, where a, b, c can be single or multiple.

[0293] Those skilled in the art will appreciate that the various units and algorithm steps described in the embodiments disclosed herein can be implemented using a combination of electronic hardware, computer software, and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0294] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0295] In the several embodiments provided in this application, if any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of this application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0296] The above description is merely a specific embodiment of the present application. Any person skilled in the art may easily conceive of variations or substitutions within the technical scope disclosed in this application, and such variations or substitutions shall be within the scope of protection of this application. The scope of protection of this application shall be subject to the scope of protection of the claims.

Claims

1. A secure signaling transmission method for a secure element (SE) chip, characterized in that: include: Receiving an instruction provided by a server and sent by a terminal device, the instruction including an initialization instruction and a secure channel instruction; wherein the initialization instruction is generated by the server based on the security level and authentication level supported by the SE chip, and the version number of the secure channel established between the server and the SE chip in the current session; authenticating the initialization instruction according to an authentication level supported by the SE chip; After the initialization instruction passes the identity authentication, the initialization instruction is decrypted to obtain relevant decryption parameters for decrypting the first encrypted data included in the secure channel instruction; wherein the first encrypted data is generated by the server after encrypting the plaintext according to the security level supported by the SE chip; The first encrypted data is decrypted using the decryption parameter to obtain the plaintext data.

2. The method according to claim 1, characterized in that The authenticating the initialization instruction according to the authentication level supported by the SE chip includes: The signature value included in the data field of the initialization instruction is verified using the key specified in the initialization instruction.

3. The method according to claim 1, characterized in that Decrypting the initialization instruction to obtain relevant decryption parameters for decrypting the first encrypted data included in the secure channel instruction includes: The initialization instruction is decrypted to obtain the key and initial vector of the secure channel established between the SE chip and the server in the current session, and the integrity check value obtained after the server encrypts the plaintext data.

4. The method according to claim 3, characterized in that Decrypting the first encrypted data using the decryption parameter to obtain the plaintext data includes: Using the key, the initial vector and the integrity check value, the first encrypted data included in the secure channel instruction is decrypted to obtain the plaintext data; wherein the first encrypted data is obtained after the server encrypts the plaintext data, and the first encrypted data is carried in the secure channel instruction.

5. The method according to claim 4, characterized in that The decrypting the first encrypted data included in the secure channel instruction by using the key, the initial vector, and the integrity check value to obtain the plaintext data includes: When the security level selected by the user is confidentiality and integrity protection, decrypting the first encrypted data included in the secure channel instruction using a decryption function using the key, the initialization vector, and the integrity check value to obtain the plaintext data; When the security level selected by the user is integrity protection, the first encrypted data included in the secure channel instruction is decrypted using the key, the initial vector and the integrity check value using an integrity protection function to obtain the plaintext data.

6. The method according to claim 3, characterized in that Decrypting the initialization instruction to obtain the key and initial vector of the secure channel established between the SE chip and the server in the current session, and the integrity check value obtained after the server encrypts the plaintext data includes: decrypting, using the key specified in the initialization instruction, the second encrypted data carried in the data field of the initialization instruction, to obtain the value of the counter stored by the server, the key and initialization vector used by the server in encrypting the plaintext data, and the integrity check value obtained after the server encrypts the plaintext data; Comparing the value of the counter stored in the server with the value of the counter stored in the SE chip; If the value of the counter stored in the server is greater than or equal to the value of the counter stored in the SE chip, the key and the initial vector obtained by decryption, as well as the integrity check value, are stored.

7. The method according to claim 1, characterized in that Before receiving the instruction provided by the server and sent by the terminal device, the method further includes: Receiving an information acquisition instruction sent by a terminal device; Sending the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip to the terminal device; The instruction sent by the terminal device includes: an instruction that matches the version of the secure channel protocol currently supported by the SE chip and the version of the key in the SE chip.

8. A secure signaling transmission device, provided in a secure element (SE) chip, characterized in that: The device comprises: a receiving module, configured to receive an instruction provided by a server and sent by a terminal device, the instruction including an initialization instruction and a secure channel instruction; wherein the initialization instruction is generated by the server based on the security level and authentication level supported by the SE chip, and the version number of the secure channel established between the server and the SE chip in the current session; A verification module, configured to authenticate the initialization instruction according to an authentication level supported by the SE chip; A decryption module is configured to decrypt the initialization instruction after the initialization instruction passes identity authentication, obtain relevant decryption parameters for decrypting the first encrypted data included in the secure channel instruction; and use the decryption parameters to decrypt the first encrypted data to obtain the plaintext data; wherein the first encrypted data is generated by the server after encrypting the plaintext according to the security level supported by the SE chip.

9. The device according to claim 8, characterized in that The decryption module is specifically used to decrypt the initialization instruction to obtain the key and initialization vector of the secure channel established between the SE chip and the server in the current session, and the integrity check value obtained after the server encrypts the plaintext data; And using the key, the initial vector and the integrity check value, decrypt the first encrypted data included in the secure channel instruction to obtain the plaintext data; wherein, the first encrypted data is obtained after the server encrypts the plaintext data, and the first encrypted data is carried in the secure channel instruction.

10. A secure element (SE) chip, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Application downloading method, security element, client device and service management device

    CN111404706A

  • Identity authentication method and device based on secure element (SE)

    CN111556029A