WO2020211738A1 - 一种终端设备启动方法和装置 - Google Patents
一种终端设备启动方法和装置 Download PDFInfo
- Publication number
- WO2020211738A1 WO2020211738A1 PCT/CN2020/084618 CN2020084618W WO2020211738A1 WO 2020211738 A1 WO2020211738 A1 WO 2020211738A1 CN 2020084618 W CN2020084618 W CN 2020084618W WO 2020211738 A1 WO2020211738 A1 WO 2020211738A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- startup
- communication module
- processing module
- interface
- encrypted data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
Definitions
- This application relates to the field of terminals, and in particular to a method and device for starting a terminal device.
- T-box telematics box
- V2X vehicle networking
- the startup sequence inside the T-box is as follows: (1) After the T-box is powered on, the processing module inside the T-box starts first, and the central processing unit (CPU) of the processing module Call the first section to start the boot program BOOT0. (2) After BOOT0 runs, BOOT0 jumps to the second boot program BOOT1 to run, and then jumps to the application (APP) layer to run via BOOT1, and finally completes the startup of the entire processing module software system. (3) The processing module pulls down the on/off signal, and the communication module starts to start.
- CPU central processing unit
- the baseband main chip of the communication module calls the chip's internal read-only memory (read-only memory, ROM), and the chip's internal ROM checks and loads and runs the third-stage boot program M3boot in the flash memory (flash). (4) After M3boot runs, M3boot verifies and loads and runs the fast boot boot program fastboot. After fastboot runs, fastboot verifies and loads and runs the Linux kernel (Kernel). After Linux Kernel runs, it is verified by Linux Kernel And load and run the modem (Modem), thereby completing the safe start of the entire communication module.
- kernel Kernel
- Modem modem
- the inventor found that when the T-box is started by the above method, the start-up security of the communication module is not strong.
- the module can be started by directly pulling down the switch signal from the outside, which cannot satisfy the T-Box. Requirements for safe boot.
- the embodiments of the present application provide a method and device for starting a terminal device, which can meet the safe starting requirement of a terminal device (for example, a T-Box).
- an embodiment of the present application provides a method for starting a terminal device.
- the terminal device includes a processing module and a communication module, including: the processing module is started; the processing module sends the start encrypted data to the communication module; the communication module receives the start encrypted data; the communication module The encrypted data is checked and started according to the encryption algorithm; if the communication module checks that the encrypted data is started according to the encryption algorithm, the communication module is started.
- the processing module when the terminal device is started, the processing module is first started. After the processing module is started, it can send startup encrypted data to the communication module; the communication module verifies the startup encrypted data according to the encryption algorithm; if the verification passes , The communication module starts. This ensures that the communication module is started after the processing module is started, increases the security verification method for the normal start of the communication module, enhances the difficulty and complexity of the communication module to start, and prevents malicious software from attacking the communication module (for example, the malicious software turns on and off the communication module by pulling down Signal, tampering with or replacing normal system components during the startup of the communication module), thereby enhancing the safe startup characteristics of the T-Box.
- the processing module sending the startup encrypted data to the communication module includes: the processing module sends the startup encrypted data to the communication module through the startup interface; wherein, the startup interface includes at least one of the following: a universal asynchronous transceiver (universal asynchronous transceiver) asynchronous receiver/transmitter, UART) interface, high-speed serial computer expansion bus standard (peripheral component interconnect express, PCIe), embedded multimedia card (EMMC), serial peripheral interface (serial peripheral interface, SPI) ) Or integrated circuit bus (inter integrated circuit, I2C) interface.
- a universal asynchronous transceiver universal asynchronous transceiver
- UART asynchronous receiver/transmitter
- the startup interface includes at least one of the following: a universal asynchronous transceiver (universal asynchronous transceiver) asynchronous receiver/transmitter, UART) interface, high-speed serial computer expansion bus standard (peripheral component interconnect express, PCIe), embedded multimedia card (EMMC), serial peripheral interface (s
- the processing module can quickly send the startup encrypted data to the communication module through the startup interface, and the communication module can quickly receive the startup encrypted data sent by the processing module through the startup interface, and verify the startup encrypted data.
- the communication module Start, reduce the start delay time of the communication module, so that the communication module can be started quickly and safely.
- the startup encrypted data is stored in a storage unit of the processing module, and the storage unit includes a security authentication algorithm, and the security authentication algorithm is used to protect the startup encrypted data from being tampered with.
- the processing module includes a flash memory Flash
- the Flash includes a first boot boot program BOOT0 and a second boot boot program BOOT1
- the processing module startup satisfies at least one of the following conditions: the processing module verifies BOOT0 through a dynamic password
- the result of the processing module is passed; the result of the processing module verifying BOOT1 through the symmetric encryption verification mechanism is passed; the result of the processing module verifying the Flash through the identification ID authentication mechanism is passed.
- a safe boot mechanism of the processing module is added to meet the safe boot requirements of the terminal device (for example, T-Box).
- the method further includes: the communication module sends a control signal to the processing module, the control signal is used to instruct the communication module to verify that the result of starting the encrypted data according to the encryption algorithm is passed.
- the processing module detects the control signal, it can start the startup control of the communication module, otherwise the startup control will not be started. In this way, the safety verification method for the normal startup of the communication module is increased, which ensures the normal startup of the communication module.
- an embodiment of the present application provides a terminal device.
- the terminal device includes a processing module and a communication module, including: after the processing module is started, it is used to send startup encrypted data to the communication module; the communication module is used to receive the startup encrypted data; The communication module is also used to verify and start the encrypted data according to the encryption algorithm; if the communication module verifies that the encrypted data is started according to the encryption algorithm, the communication module is started.
- the processing module is configured to send the startup encrypted data to the communication module through the startup interface; wherein the startup interface includes at least one of the following: UART interface, PCIe interface, EMMC interface, interface or I2C interface.
- the startup encrypted data is stored in a storage unit of the processing module, and the storage unit includes a security authentication algorithm, and the security authentication algorithm is used to protect the startup encrypted data from being tampered with.
- the processing module includes a flash memory Flash
- the Flash includes a first boot boot program BOOT0 and a second boot boot program BOOT1
- the processing module startup satisfies at least one of the following conditions: the processing module verifies BOOT0 through a dynamic password
- the result of the processing module is passed; the result of the processing module verifying BOOT1 through the symmetric encryption verification mechanism is passed; the result of the processing module verifying the Flash through the identification ID authentication mechanism is passed.
- the communication module is further used to send a control signal to the processing module, the control signal is used to instruct the communication module to verify that the result of starting the encrypted data according to the encryption algorithm is passed.
- a terminal device including: a processor and a memory; the memory is used to store computer-executable instructions, and when the communication device is running, the processor executes the computer-executable instructions stored in the memory to enable the communication
- the apparatus executes the terminal device startup method according to any one of the foregoing aspects.
- a computer-readable storage medium stores instructions that, when run on a computer, enable the computer to execute the terminal device startup method of any one of the foregoing aspects.
- a computer program product containing instructions which when running on a computer, enables the computer to execute the terminal device startup method of any one of the above aspects.
- a circuit system in a sixth aspect, includes a processing circuit configured to execute the terminal device startup method according to any one of the foregoing aspects.
- a chip in a seventh aspect, includes a processor, the processor is coupled to a memory, the memory stores program instructions, and any of the foregoing is implemented when the program instructions stored in the memory are executed by the processor.
- Fig. 1 is a schematic diagram of starting a T-box in the prior art
- FIG. 2 is a schematic diagram of the internal structure of a T-box provided by an embodiment of the application.
- FIG. 3 is a schematic flowchart of a method suitable for starting a terminal device according to an embodiment of the application
- FIG. 4 is a schematic diagram of starting a T-box according to an embodiment of the application.
- FIG. 5 is a schematic diagram of another T-box activation provided by an embodiment of this application.
- FIG. 6 is a schematic structural diagram of a terminal device provided by an embodiment of the application.
- the embodiments of the present application provide a method for starting a terminal device, which can be applied to a secure starting scenario of a terminal device in the fields of V2X, the Internet of Things (IoT), and the like. Exemplarily, it can be applied to the safe startup process of the T-box in the Internet of Vehicles.
- V2X the Internet of Things
- IoT Internet of Things
- the terminal equipment includes a processing module and a communication module.
- the processing module is started; then, the processing module sends the start encrypted data to the communication module; the communication module receives the start encrypted data; the communication module verifies the start encrypted data according to the encryption algorithm; if the verification passes, the communication module starts, So as to complete the startup of the entire terminal equipment software system.
- the encryption algorithm may include a symmetric encryption algorithm, an asymmetric encryption algorithm, and a hash (Hash) algorithm.
- symmetric encryption algorithms can include data encryption standard (DES) algorithm, 3DES (triple DES) algorithm, Blowfish algorithm, international data encryption algorithm (IDEA), RC4 algorithm, RC5 algorithm, and RC6 algorithm Wait.
- Asymmetric encryption algorithms can include the RSA algorithm (proposed by Ron Rivest, Adi Shamir and Leonard Adleman), elliptic curve cryptography (elliptic curves cryptography, ECC) algorithm, Diffie-Hellman (DH) algorithm, El Gamal algorithm, digital signature algorithm (digital signature algorithm, DSA), etc.
- Hash algorithm can include Message Digest 2 (MD 2) algorithm, MD4 algorithm, MD5 algorithm, secure hash algorithm (SHA), SHA-1, hash message authentication code (HMAC) ) Algorithm, HMAC-MD5 algorithm and HMAC-SHA1 algorithm, etc.
- MD 2 Message Digest 2
- MD4 algorithm
- MD5 algorithm
- SHA secure hash algorithm
- HMAC hash message authentication code
- HMAC-MD5 algorithm
- HMAC-SHA1 hash message authentication code
- the terminal equipment provided in the embodiments of the present application may be a vehicle-mounted terminal, such as a T-box, or may be a user equipment (UE), such as a mobile phone, a tablet computer, a desktop computer, a laptop computer, a super Mobile personal computers (ultra-mobile personal computers, UMPC), handheld computers, netbooks, personal digital assistants (personal digital assistants, PDAs) and other devices.
- UE user equipment
- it can be a wearable electronic device or an IoT device, for example, a smart watch, a smart collar, smart glasses, smart gloves, smart clothing, smart shoes, etc.
- the terminal device may be T-box100.
- the T-box 100 may include a processing module, such as a microcontroller unit (MCU)/application processor (AP) module 110, and a communication module, such as a third generation (3 th generation, 3G) mobile communication system/ th Fourth generation (4 th generation, 4G) mobile communication system / fifth generation (5 th generation, 5G) mobile communication system module 120, system input/output (input/output, I/O) external connector 130, power management module 141, battery 142, controller area network (CAN) transceiver 150, Ethernet (ethernet) interface 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, subscriber identity module (SIM) ) Card interface 181, internal memory 182, external memory interface 183, wireless module 190, sensor module 191, clock module 192, antenna 1 and antenna 2, etc.
- a processing module such as a microcontroller unit (MCU)/application processor (AP) module 110
- a communication module such as a third
- the structure illustrated in the embodiment of the present application does not constitute a limitation on the T-box. It may include more or fewer components than shown, or combine certain components, or split certain components, or arrange different components.
- the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
- the MCU/AP module 110 may include one or more processing units.
- the MCU/AP module 110 may include an application processor (AP), a modem processor, and a graphics processing unit (GPU). ), image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural- network processing unit, NPU), etc.
- different processing units may be independent devices or integrated in the same processor.
- the controller may be a decision maker who directs the various components of the T-box 100 to coordinate work according to instructions, and is the nerve center and command center of the T-box 100. The controller generates operation control signals according to the instruction operation code and timing signals to complete the control of fetching and executing instructions.
- the MCU/AP module 110 may also be provided with a memory, such as an on-chip ROM 111, for storing instructions and data.
- a memory such as an on-chip ROM 111
- the memory in the processor is a cache memory. It can save the instructions or data that the processor has just used or recycled. If the processor needs to use the instruction or data again, it can be directly called from the memory. It avoids repeated access and reduces the waiting time of the processor, thereby improving the efficiency of the system.
- the MCU/AP module 110 may include an interface.
- the interfaces can include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (PCM) interface, a UART interface, and a mobile industry processor Interface (mobile industry processor interface, MIPI), general-purpose input/output (GPIO) interface, SIM interface, and/or universal serial bus (universal serial bus, USB) interface, etc.
- I2C integrated circuit
- I2S integrated circuit built-in audio
- PCM pulse code modulation
- UART a pulse code modulation
- MIPI mobile industry processor Interface
- GPIO general-purpose input/output
- SIM interface SIM interface
- USB universal serial bus
- the I2C interface is a two-way synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL).
- the processor may include multiple sets of I2C buses.
- the processor can be coupled to touch sensors, chargers, flashes, cameras, etc., through different I2C bus interfaces.
- the processor can couple the touch sensor through the I2C interface, so that the processor and the touch sensor communicate through the I2C bus interface to realize the touch function of the T-box 100.
- the I2S interface can be used for audio communication.
- the processor may include multiple sets of I2S buses.
- the processor can be coupled with the audio module through the I2S bus to realize the communication between the processor and the audio module.
- the audio module can transmit audio signals to the communication module through the I2S interface, so as to realize the function of answering calls through the Bluetooth headset.
- the PCM interface can also be used for audio communication to sample, quantize and encode analog signals.
- the audio module and the communication module may be coupled through a PCM bus interface.
- the audio module can also transmit audio signals to the communication module through the PCM interface, so as to realize the function of answering calls through the Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication, and the sampling rates of the two interfaces are different.
- the UART interface is a universal serial data bus used for asynchronous communication. This bus is a two-way communication bus. It converts the data to be transmitted between serial communication and parallel communication.
- the UART interface is generally used to connect the processor and the wireless module 190.
- the processor communicates with the Bluetooth module through the UART interface to realize the Bluetooth function.
- the audio module can transmit audio signals to the communication module through the UART interface, so as to realize the function of playing music through the Bluetooth headset.
- the MIPI interface can be used to connect peripheral devices such as processors and displays, cameras, etc.
- the MIPI interface includes camera serial interface (camera serial interface, CSI), display serial interface (display serial interface, DSI), etc.
- the processor and the camera communicate through a CSI interface to realize the shooting function of the T-box 100.
- the processor and the display screen communicate through the DSI interface to realize the T-box 100 display function.
- the GPIO interface can be configured through software.
- the GPIO interface can be configured as a control signal or as a data signal.
- the GPIO interface may be used to connect the processor and the camera, display screen, communication module, audio module, sensor, etc.
- GPIO interface can also be configured as I2C interface, I2S interface, UART interface, MIPI interface, etc.
- the USB interface 130 may be a Mini USB interface, a Micro USB interface, a USB Type C interface, and so on.
- the USB interface can be used to connect a charger to charge the T-box 100, or it can be used to transfer data between the T-box 100 and peripheral devices. It can also be used to connect headphones and play audio through the headphones. It can also be used to connect to other electronic devices, such as AR devices.
- the interface connection relationship between the modules illustrated in the embodiment of the present invention is merely illustrative and does not constitute a structural limitation of the T-box 100.
- the T-box 100 may adopt different interface connection modes in the embodiments of the present invention, or a combination of multiple interface connection modes.
- the 3G/4G/5G module 120 can provide a communication processing module that is applied to the T-box 100 including wireless communication solutions such as 3G/4G/5G.
- the 3G/4G/5G module 120 may include a baseband main chip 121, a radio frequency transceiver chip 122, and so on.
- the 3G/4G/5G module 120 can receive electromagnetic waves by the antenna 1, and perform processing such as filtering, amplifying, etc. on the received electromagnetic waves through the baseband main chip 121 and the radio frequency transceiver chip 122, and then transmitting them to the modem for demodulation.
- the 3G/4G/5G module can also amplify the signal modulated by the modem, and convert it to electromagnetic wave radiation by the antenna 1.
- At least part of the functional modules of the 3G/4G/5G module 120 may be provided in the MCU/AP module 110. In some embodiments, at least part of the functional modules of the 3G/4G/5G module 120 and at least part of the modules of the MCU/AP module 110 may be provided in the same device.
- the 3G/4G/5G module 120 may also include an internal low-power double data rate random access memory (low power double data rate random access memory, LPDDR RAM) 123 and Flash 124, etc., for storing instructions and data.
- LPDDR RAM low power double data rate random access memory
- the system I/O external connector 130 includes power supply, control signal, CAN bus and Ethernet interface, etc., which can be used to link the Tbox and the vehicle main control system to realize the communication and control between the vehicle and the Tbox.
- the power management module 141 is used to connect the battery 142.
- the power management module 141 receives the input of the battery and supplies power to the MCU/AP module, internal memory, external memory, 3G/4G/5G module, etc.
- the CAN transceiver 150 is used to convert the data provided by the CAN controller into an electrical signal, and then send it out through the data bus. At the same time, it also receives bus data and transmits the data to the CAN controller.
- the CAN transceiver can be connected to the CAN controller for use, or can be combined with the CAN controller to form a CAN controller component with CAN transceiver function.
- the Ethernet interface 160 is used to implement vehicle-mounted Ethernet and Ethernet gateway communication, and implement vehicle control and data link to the Tbox.
- the type of the Ethernet interface 160 may be 100Base-T1 or 1000Base-T1.
- the audio module 170 is used to convert digital audio information into an analog audio signal for output, and is also used to convert an analog audio input into a digital audio signal.
- the audio module can also be used to encode and decode audio signals.
- the audio module may be provided in the processor 110, or some functional modules of the audio module may be provided in the processor 110.
- the speaker 170A also called a “speaker” is used to convert audio electrical signals into sound signals.
- T-box 100 can listen to music through the speaker, or listen to hands-free calls, or perform general road services (Icall), road rescue (Ecall), and automatic emergency call rescue (Bcall) calls.
- Icall general road services
- Ecall road rescue
- Bcall automatic emergency call rescue
- the receiver 170B also called “earpiece” is used to convert audio electrical signals into sound signals.
- T-box 100 answers a call or voice message, you can listen to the voice by placing the receiver close to the human ear.
- the microphone 170C also called “microphone”, “microphone”, is used to convert sound signals into electrical signals.
- the user can make a sound by approaching the microphone through the human mouth, and input the sound signal into the microphone.
- T-box 100 can be equipped with at least one microphone.
- the T-box 100 can be equipped with two microphones, which can realize noise reduction in addition to collecting sound signals.
- the T-box 100 can also be equipped with three, four or more microphones to collect sound signals, reduce noise, identify sound sources, and realize directional recording functions.
- the T-box 100 can implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, and an application processor. For example, music playback, recording, etc.
- the SIM card interface 181 is used to connect to a SIM card.
- the SIM card can be connected to and separated from the T-box 100 by inserting or pulling out the SIM card interface.
- T-box 100 can support 1 or N SIM card interfaces, and N is a positive integer greater than 1.
- the SIM card interface can support Nano SIM card, Micro SIM card, SIM card, etc.
- the same SIM card interface can insert multiple cards at the same time. The types of the multiple cards can be the same or different.
- the SIM card interface can also be compatible with different types of SIM cards.
- the SIM card interface can also be compatible with external memory cards.
- T-box 100 interacts with the network through the SIM card to realize functions such as call and data communication.
- T-box 100 uses eSIM, that is, an embedded SIM card.
- the eSIM card can be embedded in T-box 100 and cannot be separated from T-box 100.
- the T-box 100 may support dual card functions, for example, one uses eSIM, and the other SIM card can be inserted into the SIM card interface.
- the antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals.
- Each antenna in T-box 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
- the cellular network antenna can be multiplexed into a wireless LAN diversity antenna.
- the antenna can be used in conjunction with a tuning switch.
- the wireless module 190 can provide applications on the T-box 100 including wireless local area networks (WLAN) (for example, wireless fidelity (WiFi)), Bluetooth, global navigation satellite system, GNSS) and other wireless communication solutions communication processing module.
- WLAN wireless local area networks
- the wireless module 190 may be one or more devices integrating at least one communication processing module.
- the communication module receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor.
- the wireless module 190 can also receive the signal to be sent from the processor, perform frequency modulation, amplify, and radiate electromagnetic waves through the antenna 2.
- the wireless communication function of the T-box 100 can be realized by the 3G/4G/5G module 120, the wireless module 190, the antenna 1 and the antenna 2.
- the antenna 1 of the T-box 100 is coupled with the 3G/4G/5G module 120, and the antenna 2 is coupled with the wireless module 190.
- the wireless communication technologies may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), LTE, 5G New Radio (NR), BT, GNSS, WLAN and other technologies.
- the GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite-based augmentation systems (SBAS).
- GPS global positioning system
- GLONASS global navigation satellite system
- BDS Beidou navigation satellite system
- QZSS quasi-zenith satellite system
- SBAS satellite-based augmentation systems
- the internal memory 182 may be used to store computer executable program code, the executable program code including instructions.
- the processor 110 executes various functional applications and data processing of the T-box 100 by running instructions stored in the internal memory 182.
- the internal memory 182 may include a program storage area and a data storage area. Among them, the storage program area can store an operating system, an application program required by at least one function, and the like.
- the data storage area can store the data created during the use of T-box 100, etc.
- the memory 182 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, other volatile solid state storage devices, universal flash storage (UFS), etc. .
- the external memory interface 183 can be used to connect an external memory card, such as an internal EMMC, to expand the storage capacity of the T-box 100.
- the external memory card communicates with the processor through the external memory interface to realize the data storage function. For example, the usage information of the vehicle can be saved in an external memory card.
- the clock module 192 is used to provide a clock source for the MCU/AP module 110.
- the sensor module 191 may include a pressure sensor, an air pressure sensor, a magnetic sensor, a fingerprint sensor, a temperature sensor, a touch sensor, etc.
- the pressure sensor is used to sense the pressure signal and can convert the pressure signal into an electrical signal.
- the pressure sensor may be provided on the display screen.
- the capacitive pressure sensor may include at least two parallel plates with conductive material. When a force is applied to the pressure sensor, the capacitance between the electrodes changes. T-box 100 determines the strength of the pressure according to the change of capacitance. When a touch operation acts on the display screen, the T-box 100 detects the intensity of the touch operation according to the pressure sensor. T-box 100 can also calculate the touched position based on the detection signal of the pressure sensor.
- touch operations that act on the same touch location but have different touch operation strengths may correspond to different operation instructions. For example: when a touch operation whose intensity of the touch operation is less than the first pressure threshold is applied to the short message application icon, an instruction to view the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, an instruction to create a new short message is executed.
- the air pressure sensor is used to measure air pressure.
- the T-box 100 calculates the altitude based on the air pressure value measured by the air pressure sensor to assist positioning and navigation.
- the magnetic sensor includes a Hall sensor.
- T-box 100 can use magnetic sensors to detect the opening and closing of the flip holster.
- the fingerprint sensor is used to collect fingerprints.
- T-box 100 can use the collected fingerprint characteristics to unlock fingerprints, access application locks, take photos with fingerprints, and answer calls with fingerprints.
- the temperature sensor is used to detect temperature.
- the T-box 100 uses the temperature detected by the temperature sensor to execute the temperature processing strategy. For example, when the temperature reported by the temperature sensor exceeds the threshold, T-box 100 will reduce the performance of the processor located near the temperature sensor in order to reduce power consumption and implement thermal protection.
- Touch sensor also called “touch panel”. Can be set on the display. Used to detect touch operations on or near it. The detected touch operation can be passed to the application processor to determine the type of touch event and provide corresponding visual output through the display screen.
- System boot refers to the process of loading the operating system kernel into the memory and starting the system when the terminal device starts.
- System boot is usually done by special codes that start boot programs (for example, boot0 and boot1).
- the bootloader can be located in the system ROM to complete the entire system startup process of locating the specific location of the kernel code in the external memory, correctly loading the kernel into the memory as required, and finally enabling the kernel to run.
- the bootloader needs to complete multiple initialization processes, and various services of the system can be used only after these processes are successfully completed. These processes include initial boot, kernel initialization, full system initialization, and so on.
- an embodiment of the present application provides a method for starting a terminal device.
- the terminal device is a T-BOX as an example for description, including:
- the processing module starts.
- the processing module in the T-BOX may be an MCU/AP, and the MCU/AP may include Flash, for example, Code Flash.
- Code Flash includes the first boot program BOOT0, the second boot program BOOT1 and the application layer.
- the first boot program BOOT0 may be run first.
- BOOT0 can include steps such as initializing the stack and setting the system clock.
- BOOT1 may include the steps of initialization of the hardware used in this stage, memory reading, etc.
- BOOT1 runs, it jumps to the application layer (APP) startup via BOOT1.
- the application layer startup can include steps such as operating system and hardware initialization, firmware loading, and encoder startup. Finally complete the startup of the entire MCU/AP software system.
- the processing module starts to meet at least one of the following conditions: the processing module passes the dynamic password verification (verification) BOOT0 if the result is passed; the processing module verifies BOOT1 through the symmetric encryption verification mechanism and the result is passed ; The processing module verifies that the result of Flash through the ID authentication mechanism is passed.
- the dynamic password may be a one-time password (one-time password, OTP)
- the symmetric encryption verification mechanism may be a password-based message authentication code (cypher-based message authentication code, CMAC) verification mechanism.
- OTP one-time password
- CMAC password-based message authentication code
- the processing module sends the startup encryption data to the communication module.
- the startup encryption data can be pre-stored on the processing module.
- the startup encryption data may be at least one of ciphertext, key, or digital signature.
- the processing module may send the start encrypted data to the communication module, so that the communication module verifies the start encrypted data according to the encryption algorithm.
- the startup encrypted data can be transmitted based on a private protocol or a custom communication data format (for example, serial port data), and the startup encrypted data can be intercepted by capturing packets.
- M3bootMini is the startup encrypted data
- the processing module after the processing module is started, it can send M3bootMini to the communication module, that is, copy M3bootMini to the communication module.
- the communication module can take the startup encrypted data as the input of the encryption algorithm.
- the check result is passed, the communication module is started, and when the check result is not passed, the communication module does not start or terminates the start process.
- the startup encrypted data can be stored in the storage unit of the MCU/AP, and the storage unit can include a security authentication algorithm (that is, the storage unit can integrate or store a security authentication algorithm), and the security authentication algorithm is used to protect the startup encrypted data Not to be tampered with.
- the storage unit of the MCU/AP may be the internal ROM or Code Flash of the MCU/AP.
- the startup encrypted data can be stored in the Code Flash inside the MCU/AP, and the Code Flash authentication protection mechanism of the MCU/AP ensures that the startup encrypted data will not be tampered with.
- the startup encryption data may be dynamically generated by the processing device according to the encryption algorithm.
- the processing module stores an encryption algorithm, and the processing module generates start-up encrypted data according to the encryption algorithm.
- the start-up encrypted data may be at least one of a ciphertext, a key or a digital signature.
- the processing module sends the startup encrypted data to the communication module so that the communication module verifies the startup encrypted data according to the encryption algorithm.
- the communication module can take the startup encrypted data as the input of the encryption algorithm. When the check result is passed, the communication module is started, and when the check result is not passed, the communication module does not start or terminates the start process.
- the processing module may send the startup encrypted data to the communication module through the startup interface; where the startup interface includes at least one of the following: UART interface, PCIe interface, EMMC interface, SPI interface or I2C interface.
- the processing module can quickly send the startup encrypted data to the communication module through the startup interface, and the communication module can quickly receive the startup encrypted data sent by the processing module through the startup interface, and verify the startup encrypted data.
- the communication module Start, reduce the start delay time of the communication module, so that the communication module can be started quickly and safely.
- the communication module receives the startup encrypted data.
- the communication module in T-BOX can be a 3G/4G/5G module.
- the communication module may include a baseband main chip, on-chip ROM, RAM (for example, LPDDR RAM), and Flash. Flash includes the third boot boot program M3boot, fast boot boot program fastboot, kernel program and application layer.
- the on-chip ROM of the communication module starts.
- the processing module can pull down the on/off signal, and the on-chip ROM of the communication module is started.
- the communication module receives the boot encryption data (M3bootMini) from the processing module. That is, the communication module obtains the M3bootMini from the MCU/AP module, and copies the M3bootMini to the communication module storage unit, for example, to LPDDR RAM.
- M3bootMini boot encryption data
- the communication module may receive the startup encrypted data from the MCU/AP module through the startup interface.
- the startup interface refer to the related description of step 302, which will not be repeated here.
- the communication module checks and starts the encrypted data according to the encryption algorithm.
- M3bootMini is dynamically generated by the processing device according to the encryption algorithm.
- the content of M3bootMini is 0100.
- the communication module can obtain M3bootMini from the MCU/AP module, and copy M3bootMini to the LPDDR RAM of the communication module. That is, copy 0100 to the LPDDR RAM of the communication module, use 0100 as the input of the encryption algorithm, and determine the verification result according to the output of the encryption algorithm.
- encryption algorithms may include symmetric encryption algorithms, asymmetric encryption algorithms and hash algorithms.
- symmetric encryption algorithms may include DES algorithm, 3DES algorithm, Blowfish algorithm, IDEA, RC4 algorithm, RC5 algorithm, RC6 algorithm, etc.
- Asymmetric encryption algorithms may include RSA algorithm, ECC algorithm, DH algorithm, El Gamal algorithm, DSA, etc.
- Hash algorithms can include MD 2 algorithm, MD4 algorithm, MD5 algorithm, SHA, SHA-1, HMAC algorithm, HMAC-MD5 algorithm, HMAC-SHA1 algorithm, etc.
- RSA series signature verification algorithms include RS1024, RSA2048, RSA3076-SHA256 and other signature verification algorithms.
- the communication module If the communication module verifies that the encrypted data is passed according to the encryption algorithm, the communication module starts.
- the communication module will start the encrypted data as the input of the encryption algorithm, and obtain the verification result according to the output of the encryption algorithm.
- the communication module is started, and when the test result is not passed, the communication module does not start or terminates the startup process.
- the processing module by increasing the security verification method for the normal startup of the communication module by the processing module, the difficulty and complexity of the startup of the communication module are enhanced, and malicious software is prevented from attacking the communication module. Tampering with or replacing normal system components), which enhances the T-Box’s secure boot feature.
- the communication module can be started from the internal flash after the communication module verifies that the encrypted data has passed according to the encryption algorithm. Specifically, the communication module can verify and load and run M3boot according to M3bootMini, that is, an M3bootMini boot image is added before M3boot. After M3boot passes and runs, M3boot verifies and loads Fastboot. After Fastboot runs, Fastboot verifies, loads and runs Linux Kernel. After Linux Kernel runs, Linux Kernel verifies and loads and runs the Modem so that Complete the signature verification of the entire system mirroring partition, thereby completing the safe boot of the entire communication module.
- M3bootMini that is, an M3bootMini boot image is added before M3boot.
- M3boot verifies and loads Fastboot.
- Fastboot After Fastboot runs, Fastboot verifies, loads and runs Linux Kernel.
- Linux Kernel runs Linux Kernel verifies and loads and runs the Modem so that Complete the signature verification of the entire system mirroring partition, thereby completing the safe boot of the
- the communication module may send a control signal, such as a GPIO or a power-on completion signal, to the processing module after verifying that the encrypted data has passed according to the encryption algorithm.
- a control signal such as a GPIO or a power-on completion signal
- the processing module After the processing module detects the level change of the GPIO or the power-on completion signal, it can start the power-on control of the communication module, otherwise, the power-on control will not be started. In this way, the safety verification method for the normal startup of the communication module is increased, which ensures the normal startup of the communication module.
- the processing module when the terminal device is started, the processing module is first started. After the processing module is started, it can send the encrypted data to the communication module; the communication module verifies the encrypted data according to the encryption algorithm; if the verification passes, the communication module starts .
- the method provided in the embodiments of the present application is introduced from the perspective of a terminal device.
- the terminal device may include a hardware structure and/or software module, and realize the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above-mentioned functions is executed in a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraint conditions of the technical solution.
- FIG. 6 shows a possible structural schematic diagram of the apparatus 6 involved in the foregoing embodiment.
- the apparatus may be a terminal device, and the terminal device includes: a processing module 601 And communication module 602.
- the processing module 601 is started, it is used to send the start encrypted data to the communication module; the communication module 602 is used to receive the start encrypted data; the communication module 602 is also used to verify the start encrypted data according to the encryption algorithm; If the result of verifying the activation of the encrypted data according to the encryption algorithm is passed, the communication module 602 is activated.
- the processing module 601 may be used to support the terminal device to perform the processes 301 and 302 in FIG. 3; the communication module 602 may be used to support the terminal device to perform the processes 303, 304, and 305 in FIG. 3 .
- the methods provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware, or any combination thereof.
- software When implemented by software, it can be implemented in the form of a computer program product in whole or in part.
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a dedicated computer, a computer network, network equipment, user equipment, or other programmable devices.
- the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center.
- the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center integrated with one or more available media.
- the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital video disc (DVD)), or a semiconductor medium (for example, a solid state drive (SSD)) )Wait.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种终端设备启动方法和装置,涉及终端领域,能够满足终端设备(例如,T-Box)的安全启动要求。终端设备包括处理模块和通信模块,其方法为:首先,处理模块启动;处理模块向通信模块发送启动加密数据;通信模块接收启动加密数据;通信模块根据加密算法校验启动加密数据;若通信模块根据加密算法校验启动加密数据的结果为通过,通信模块启动。应用于V2X、IoT等领域中终端设备的安全启动场景。
Description
本申请要求在2019年4月18日提交中国国家知识产权局、申请号为201910312374.X、发明名称为“一种终端设备启动方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及终端领域,尤其涉及一种终端设备启动方法和装置。
随着智能终端设备的普及,终端设备的安全要求越来越高。以终端设备为车载盒子(telematics box,T-box)为例,在车联网(vehicle to x,V2X)领域中,T-box用于为车辆提供车联网服务,并提供远程控制,数据采集,远程诊断等功能,因此需要T-box支持安全启动特性。
目前,如图1所示,T-box内部的启动顺序如下:(1)T-box上电后,T-box内部的处理模块先启动,处理模块的中央处理单元(central processing unit,CPU)调用第一段启动引导程序BOOT0。(2)BOOT0运行后,经BOOT0跳转到第二段启动引导程序BOOT1运行,而后经BOOT1跳转到应用(application,APP)层运行,最终完成整个处理模块软件系统的启动。(3)处理模块拉低开/关机信号,通信模块开始启动。通信模块的基带主芯片调用芯片内部只读存储器(read-only memory,ROM),芯片内部ROM校验并加载运行闪存(flash)中的第三段启动引导程序M3boot。(4)M3boot运行后,由M3boot校验并加载运行快速启动引导程序fast boot,fast boot运行后,由fast boot校验并加载运行Linux内核(Kernel),Linux Kernel运行后,由Linux Kernel校验并加载运行调制解调器(Modem),从而完成整个通信模块的安全启动。
针对上述现有技术,发明人发现在利用上述方法启动T-box时,通信模块的启动安全性不强,比如可以通过外部直接拉低开关机信号的方式控制模块启动,从而无法满足T-Box的安全启动要求。
发明内容
本申请实施例提供一种终端设备启动方法和装置,能够满足终端设备(例如,T-Box)的安全启动要求。
第一方面,本申请实施例提供一种终端设备启动方法,终端设备包括处理模块和通信模块,包括:处理模块启动;处理模块向通信模块发送启动加密数据;通信模块接收启动加密数据;通信模块根据加密算法校验启动加密数据;若通信模块根据加密算法校验启动加密数据的结果为通过,通信模块启动。
基于本申请实施例提供的终端设备启动方法,当终端设备启动时,处理模块首先启动,处理模块启动后,可以向通信模块发送启动加密数据;通信模块根据加密算法验证启动加密数据;若验证通过,通信模块启动。这样保证了处理模块启动后再启动通信模块,增加了通信模块正常启动的安全校验方式,增强了通信模块的启动难度和复杂度,避免恶意软件攻击通信模块(例如恶意软件通过拉低开关机信号,在通信模块启动过程中篡改或者替换正常的系统组件),从而提升了T-Box的安全启动特性。
在一种可能的实现方式中,处理模块向通信模块发送启动加密数据包括:处理模块通过 启动接口向通信模块发送启动加密数据;其中,启动接口包括以下至少一种:通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口、高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)、嵌入式多媒体存储卡(embedded multi media card,EMMC)、串行外设接口(serial peripheral interface,SPI)或集成电路总线(inter integrated circuit,I2C)接口。
这样,处理模块可以通过启动接口快速向通信模块发送启动加密数据,通信模块可以通过启动接口快速接收处理模块发送的启动加密数据,并对启动加密数据进行验证,当检验结果为通过时,通信模块启动,减少了通信模块的启动延迟时间,从而能够快速安全的启动通信模块。
在一种可能的实现方式中,启动加密数据保存于处理模块的存储单元中,存储单元包括安全鉴权算法,安全鉴权算法用于保护启动加密数据不被篡改。
在一种可能的实现方式中,处理模块包括闪存Flash,Flash包括第一启动引导程序BOOT0和第二启动引导程序BOOT1,处理模块启动满足以下条件中的至少一个:处理模块通过动态口令校验BOOT0的结果为通过;处理模块通过对称加密校验机制校验BOOT1的结果为通过;处理模块通过标识ID认证机制校验Flash的结果为通过。
这样,增加了处理模块的安全启动机制,以满足终端设备(例如,T-Box)的安全启动要求。
在一种可能的实现方式中,该方法还包括:通信模块向处理模块发送控制信号,控制信号用于指示通信模块根据加密算法校验启动加密数据的结果为通过。
这样,当处理模块检测到控制信号之后,可以启动对通信模块的开机控制,否则不会启动开机控制。这样增加了通信模块正常启动的安全校验方式,保证了通信模块的正常启动。
第二方面,本申请实施例提供一种终端设备,终端设备包括处理模块和通信模块,包括:处理模块启动后,用于向通信模块发送启动加密数据;通信模块,用于接收启动加密数据;通信模块,还用于根据加密算法校验启动加密数据;若通信模块根据加密算法校验启动加密数据的结果为通过,通信模块启动。
在一种可能的实现方式中,处理模块用于:通过启动接口向通信模块发送启动加密数据;其中,启动接口包括以下至少一种:UART接口、PCIe接口、EMMC接口、接口或I2C接口。
在一种可能的实现方式中,启动加密数据保存于处理模块的存储单元中,存储单元包括安全鉴权算法,安全鉴权算法用于保护启动加密数据不被篡改。
在一种可能的实现方式中,处理模块包括闪存Flash,Flash包括第一启动引导程序BOOT0和第二启动引导程序BOOT1,处理模块启动满足以下条件中的至少一个:处理模块通过动态口令校验BOOT0的结果为通过;处理模块通过对称加密校验机制校验BOOT1的结果为通过;处理模块通过标识ID认证机制校验Flash的结果为通过。
在一种可能的实现方式中,通信模块还用于:向处理模块发送控制信号,控制信号用于指示通信模块根据加密算法校验启动加密数据的结果为通过。
第三方面,提供一种终端设备,包括:处理器和存储器;该存储器用于存储计算机执行指令,当该通信装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该通信装置执行如上述任一方面中任一项的终端设备启动方法。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机可以执行上述任一方面中任一项的终端设备启动方法。
第五方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机 可以执行上述任一方面中任一项的终端设备启动方法。
第六方面,提供一种电路系统,电路系统包括处理电路,处理电路被配置为执行如上述任一方面中任一项的终端设备启动方法。
第七方面,提供一种芯片,所述芯片包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述任一方面中任一项的终端设备启动方法。
图1为现有技术中的一种T-box启动示意图;
图2为本申请实施例提供的一种T-box的内部结构示意图;
图3为本申请实施例提供的一种适用于终端设备启动方法的流程示意图;
图4为本申请实施例提供的一种T-box启动示意图;
图5为本申请实施例提供的又一种T-box启动示意图;
图6为本申请实施例提供的一种终端设备的结构示意图。
本申请实施例提供一种终端设备启动方法,可以应用于V2X、物联网(internet of things,IoT)等领域中终端设备的安全启动场景。示例性的,可以应用于车联网中T-box的安全启动过程中。
其中,终端设备包括处理模块和通信模块。在终端设备启动过程中,首先,处理模块启动;而后,处理模块向通信模块发送启动加密数据;通信模块接收启动加密数据;通信模块根据加密算法验证启动加密数据;若验证通过,通信模块启动,从而完成整个终端设备软件系统的启动。
本申请实施例中,加密算法可以包括对称加密算法,非对称加密算法和哈希(Hash)算法。其中,对称加密算法可以包括数据加密标准(data encryption standard,DES)算法、3DES(triple DES)算法、Blowfish算法、国际数据加密算法(international data encryption algorithm,IDEA)、RC4算法、RC5算法和RC6算法等。非对称加密算法可以包括RSA算法(由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出)、椭圆曲线密码学(elliptic curves cryptography,ECC)算法、迪菲-赫尔曼(Diffie-Hellman,DH)算法、El Gamal算法和数字签名算法(digital signature algorithm,DSA)等。Hash算法可以包括消息摘要2(MessageDigest 2,MD 2)算法、MD4算法、MD5算法、安全哈希算法(secure hash algorithm,SHA)、SHA-1、散列消息鉴别码(hash message authentication code,HMAC)算法、HMAC-MD5算法和HMAC-SHA1算法等。其中,RSA系列签名校验算法包括RSA1024,RSA2048,RSA3076-SHA256等签名校验算法。
其中,本申请实施例提供的终端设备可以是车载终端,例如T-box,或者可以是用户设备(user equipment,UE),例如可以为手机、平板电脑、桌面型、膝上型笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)等设备。或者可以是可穿戴电子设备或IoT设备,例如可以为智能手表、智能项圈、智能眼镜、智能手套、智能服饰、智能鞋等等。
如图2所示,终端设备可以为T-box100。T-box100可以包括处理模块,例如微控制单元(microcontroller unit,MCU)/应用处理器(application processor,AP)模块110,通信模块,例如第三代(3
th generation,3G)移动通信系统/第四代(4
th generation,4G)移动通信系统/第五代(5
th generation,5G)移动通信系统模块120,系统输入/输出(input/output,I/O)对 外连接器130,电源管理模块141,电池142,控制器局域网络(controller area network,CAN)收发器150,以太网(ethernet)接口160,音频模块170,扬声器170A,受话器170B,麦克风170C,用户标识模块(subscriber identity module,SIM)卡接口181,内部存储器182,外部存储器接口183,无线模块190,传感器模块191,时钟模块192,天线1以及天线2等。
本申请实施例示意的结构并不构成对T-box的限定。可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
其中,MCU/AP模块110可以包括一个或多个处理单元,例如:MCU/AP模块110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以是集成在同一个处理器中。其中,控制器可以是指挥T-box 100的各个部件按照指令协调工作的决策者,是T-box 100的神经中枢和指挥中心。控制器根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
MCU/AP模块110中还可以设置存储器,例如片内ROM 111,用于存储指令和数据。在一些实施例中,处理器中的存储器为高速缓冲存储器。可以保存处理器刚用过或循环使用的指令或数据。如果处理器需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器的等待时间,因而提高了系统的效率。
在一些实施例中,MCU/AP模块110可以包括接口。其中接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,UART接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器可以包含多组I2C总线。处理器可以通过不同的I2C总线接口分别耦合触摸传感器,充电器,闪光灯,摄像头等。例如:处理器可以通过I2C接口耦合触摸传感器,使处理器与触摸传感器通过I2C总线接口通信,实现T-box 100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器可以包含多组I2S总线。处理器可以通过I2S总线与音频模块耦合,实现处理器与音频模块之间的通信。在一些实施例中,音频模块可以通过I2S接口向通信模块传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块与通信模块可以通过PCM总线接口耦合。在一些实施例中,音频模块也可以通过PCM接口向通信模块传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信,两种接口的采样速率不同。
UART接口是一种通用串行数据总线,用于异步通信。该总线为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器与无线模块190。例如:处理器通过UART接口与蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块可以通过UART接口向通信模块传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器与显示屏,摄像头等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器和摄像头通过CSI接口通信,实现T-box 100的拍摄功能。处理器和显示屏通过DSI接口通信,实现T-box 100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以配置为控制信号,也可配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器与摄像头,显示屏,通信模块,音频模块,传感器等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为T-box 100充电,也可以用于T-box 100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。还可以用于连接其他电子设备,例如AR设备等。
本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对T-box 100的结构限定。T-box 100可以采用本发明实施例中不同的接口连接方式,或多种接口连接方式的组合。
3G/4G/5G模块120可以提供应用在T-box 100上的包括3G/4G/5G等无线通信的解决方案的通信处理模块。3G/4G/5G模块120可以包括基带主芯片121和射频收发芯片122等。3G/4G/5G模块120可以由天线1接收电磁波,并通过基带主芯片121和射频收发芯片122对接收的电磁波进行滤波,放大等处理,传送至调制解调器进行解调。3G/4G/5G模块还可以对经调制解调器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,3G/4G/5G模块120的至少部分功能模块可以被设置于MCU/AP模块110中。在一些实施例中,3G/4G/5G模块120的至少部分功能模块可以与MCU/AP模块110的至少部分模块被设置在同一个器件中。
在一些实施例中,3G/4G/5G模块120还可以包括内部低功能双数据速率随机存取存储器(low power double data rate random access memory,LPDDR RAM)123以及Flash 124等,用于存储指令和数据。
系统I/O对外连接器130,其中包括电源、控制信号、CAN总线和以太网接口等,可以用于Tbox与车辆主控系统的链接,实现车辆与Tbox之间的通信和控制。
电源管理模块141用于连接电池142。当系统I/O对外连接器130不能供电时,电源管理模块141接收所述电池的输入,为MCU/AP模块,内部存储器,外部存储器和3G/4G/5G模块等供电。
CAN收发器150,用于将CAN控制器提供的数据转换成电信号,然后通过数据总线发送出去。同时,它也接收总线数据,并将数据传送给CAN控制器。CAN收发器可以与CAN控制器进行连接使用,或者可以与CAN控制器组合在一起,形成一个具有CAN收发功能的CAN控制器组件。
以太网接口160,用于实现车载的以太网和以太网关的(gateway)通信,实现车辆对Tbox的控制和数据链接。以太网接口160的类型可以是100Base-T1或者1000Base-T1等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块还可以用于对音频信号编码和解码。在一些实施例中,音频模块可以设置于处理器110中,或将音频模块的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。T-box 100可以通过扬声器收听音乐,或收听免提通话,或进行一般性的道路服务(Icall)、道路救援(Ecall)、事故自动拨打救援(Bcall)等通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当T-box 100接听电话或语音信息时,可以通过将受话器靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风发声,将声音信号输入到麦克风。T-box 100可以设置至少一个麦克风。在一些实施例中,T-box 100可以设置两个麦克风,除了采集声音信号,还可以实现降噪功能。在一些实施例中,T-box 100还可以设置三个,四个或更多麦克风,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
T-box 100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C以及应用处理器等实现音频功能。例如音乐播放,录音等。
SIM卡接口181用于连接SIM卡。SIM卡可以通过插入SIM卡接口,或从SIM卡接口拔出,实现和T-box 100的接触和分离。T-box 100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口也可以兼容不同类型的SIM卡。SIM卡接口也可以兼容外部存储卡。T-box 100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,T-box 100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在T-box 100中,不能和T-box 100分离。在一些实施例中,T-box 100可以支持双卡功能,例如一个采用eSIM,另一个SIM卡可以插入SIM卡接口。
天线1和天线2用于发射和接收电磁波信号。T-box 100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将蜂窝网天线复用为无线局域网分集天线。在一些实施例中,天线可以和调谐开关结合使用。
无线模块190可以提供应用在T-box 100上的包括无线局域网(wireless local area networks,WLAN)(例如,无线保真(wireless fidelity,WiFi))、蓝牙,全球导航卫星系统(global navigation satellite system,GNSS)等无线通信的解决方案的通信处理模块。无线模块190可以是集成至少一个通信处理模块的一个或多个器件。通信模块经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。无线模块190还可以从处理器接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
T-box 100的无线通信功能可以通过3G/4G/5G模块120、无线模块190、天线1以及天线2等实现。
在一些实施例中,T-box 100的天线1和3G/4G/5G模块120耦合,天线2和无线模块190耦合。使得T-box 100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),LTE,5G新无线通信(New Radio,NR),BT,GNSS,WLAN等技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS))和/或星基增强系统(satellite based augmentation systems,SBAS)。从而,T-box 100可以获取手机的定位(位置)信息。
内部存储器182可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器182的指令,从而执行T-box 100的各种功能应用以及 数据处理。内部存储器182可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序等。存储数据区可存储T-box 100使用过程中所创建的数据等。此外,存储器182可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,其他易失性固态存储器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口183可以用于连接外部存储卡,例如内部的EMMC,实现扩展T-box 100的存储能力。外部存储卡通过外部存储器接口与处理器通信,实现数据存储功能。例如,可以将车辆的使用信息保存在外部存储卡中。
时钟模块192,时钟模块用于为MCU/AP模块110提供时钟源。
传感器模块191可以包括压力传感器,气压传感器,磁传感器,指纹传感器,温度传感器,触摸传感器等。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏。压力传感器的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器,电极之间的电容改变。T-box 100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏,T-box 100根据压力传感器检测所述触摸操作强度。T-box 100也可以根据压力传感器的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
气压传感器用于测量气压。在一些实施例中,T-box 100通过气压传感器测得的气压值计算海拔高度,辅助定位和导航。
磁传感器包括霍尔传感器。T-box 100可以利用磁传感器检测翻盖皮套的开合。
指纹传感器用于采集指纹。T-box 100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器用于检测温度。在一些实施例中,T-box 100利用温度传感器检测的温度,执行温度处理策略。例如,当温度传感器上报的温度超过阈值,T-box 100执行降低位于温度传感器附近的处理器的性能,以便降低功耗实施热保护。
触摸传感器,也称“触控面板”。可设置于显示屏。用于检测作用于其上或附近的触摸操作。可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型,并通过显示屏提供相应的视觉输出。
为了下述各实施例的描述清楚简洁,首先给出相关概念或技术的简要介绍:
系统引导:系统引导是指终端设备启动时,将操作系统内核装入内存并启动系统的过程。系统引导通常是由启动引导程序(例如,boot0和boot1)的特殊代码完成的。启动引导程序可以位于系统ROM中,用来完成定位内核代码在外存的具体位置、按照要求正确装入内核至内存并最终使内核运行起来的整个系统启动过程。该过程中,启动引导程序要完成多个初始化过程,当这些过程顺利完成后才能使用系统的各种服务。这些过程包括初始引导、内核初始化、全系统初始化等等。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第 二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
为了便于理解,以下结合附图对本申请实施例提供的终端设备启动方法进行具体介绍。
如图3所示,本申请实施例提供一种终端设备启动方法,以终端设备为T-BOX为例进行说明,包括:
301、处理模块启动。
如图4所示,T-BOX中的处理模块可以是MCU/AP,MCU/AP可以包括Flash,例如,代码(Code)Flash。Code Flash包括第一启动引导程序BOOT0、第二启动引导程序BOOT1和应用层。T-BOX整机上电后,即用户按下开/关机键,或软件控制开/关机引脚的电平发生变化(例如,由低电平升为高电平)时,T-BOX中的处理模块启动。处理模块启动包括系统引导程序启动和应用层启动。
示例性的,MCU/AP启动时,可以先运行第一启动引导程序BOOT0。BOOT0可以包括初始化栈和系统时钟设置等步骤。BOOT0运行后,经BOOT0跳转到第二启动引导程序BOOT1,BOOT1可以包括本阶段所使用硬件的初始化、内存读取等步骤。BOOT1运行后,经BOOT1跳转到应用层(APP)启动,应用层启动可以包括操作系统及硬件的初始化、固件加载、编码器启动等步骤。最终完成整个MCU/AP软件系统的启动。
在一种可能的设计中,处理模块启动满足以下条件中的至少一个:处理模块通过动态口令校验(验证)BOOT0的结果为通过;处理模块通过对称加密校验机制校验BOOT1的结果为通过;处理模块通过ID认证机制校验Flash的结果为通过。
其中,动态口令可以是一次性密码(one time password,OTP),对称加密校验机制可以是基于密码的消息认证代码(cypher-based message authentication code,CMAC)校验机制。如图5所示,可以通过OTP对BOOT0写保护,MCU/AP运行BOOT0时需要先通过OTP验证,当检验结果为通过时,开始运行BOOT0。同理,MCU/AP运行BOOT1时需要先通过CMAC校验机制,当检验结果为通过时,开始运行BOOT1。可选的,在运行BOOT0之前,处理模块可以开启Flash的ID认证机制,以增加对安全升级的支持。
302、处理模块向通信模块发送启动加密数据。
在一种可能的设计中,启动加密数据可以是预存储在处理模块上的。启动加密数据可以是密文、密钥或数字签名中的至少一个。处理模块可以将启动加密数据发送给通信模块,以便通信模块根据加密算法验证启动加密数据。启动加密数据可以基于私有协议或者自定义通信数据格式(例如,串口数据)进行传输,可以通过抓包截取启动加密数据。
如图4所示,假设M3bootMini为启动加密数据,处理模块启动后,可以向通信模块发送M3bootMini,即将M3bootMini复制到通信模块。通信模块可以将启动加密数据作为加密算法的输入,当检验结果为通过时,通信模块启动,检验结果为未通过时,通信模块不启动或终止启动过程。
其中,启动加密数据可以保存在MCU/AP的存储单元中,存储单元上可以包括安全鉴权算法(即存储单元上可以集成或存储安全鉴权算法),安全鉴权算法用于保护启动加密数据不被篡改。例如,MCU/AP的存储单元可以是MCU/AP的内部的ROM或Code Flash。例如,启动加密数据可以保存在MCU/AP的内部的Code Flash中,由MCU/AP的Code Flash鉴权保护机制保证启动加密数据不被篡改。
在另一种可能的设计中,启动加密数据可以是处理设备根据加密算法动态生成的。处理 模块上存储加密算法,处理模块根据加密算法生成启动加密数据,该启动加密数据可以是密文、密钥或数字签名中的至少一个。处理模块将启动加密数据发送给通信模块,以便通信模块根据加密算法验证启动加密数据。通信模块可以将启动加密数据作为加密算法的输入,当检验结果为通过时,通信模块启动,检验结果为未通过时,通信模块不启动或终止启动过程。
可选的,处理模块可以通过启动接口向通信模块发送启动加密数据;其中,启动接口包括以下至少一种:UART接口、PCIe接口、EMMC接口、SPI接口或I2C接口。这样,处理模块可以通过启动接口快速向通信模块发送启动加密数据,通信模块可以通过启动接口快速接收处理模块发送的启动加密数据,并对启动加密数据进行验证,当检验结果为通过时,通信模块启动,减少了通信模块的启动延迟时间,从而能够快速安全的启动通信模块。
303、通信模块接收启动加密数据。
T-BOX中的通信模块可以是3G/4G/5G模块。如图4所示,通信模块可以包括基带主芯片、片内ROM、RAM(例如,LPDDR RAM)和Flash。Flash包括第三启动引导程序M3boot、快速启动引导程序fast boot,内核程序和应用层。T-BOX整机上电后,通信模块的片内ROM启动。或者,处理模块启动后,处理模块可以拉低开/关机信号,通信模块的片内ROM启动。在片内ROM启动之后,通信模块从处理模块接收启动加密数据(M3bootMini)。即通信模块从MCU/AP模块获取M3bootMini,将M3bootMini复制到通信模块存储单元上,例如复制到LPDDR RAM。
可选的,通信模块可以通过启动接口从MCU/AP模块接收启动加密数据,启动接口参考步骤302的相关描述,在此不做赘述。
304、通信模块根据加密算法校验启动加密数据。
举例来说,假设M3bootMini是处理设备根据加密算法动态生成的,例如M3bootMini的内容为0100,MCU/AP模块启动后,通信模块可以从MCU/AP模块获取M3bootMini,将M3bootMini复制到通信模块的LPDDR RAM,即将0100复制到通信模块的LPDDR RAM,将0100作为加密算法的输入,根据加密算法的输出确定校验结果。
其中,加密算法可以包括对称加密算法,非对称加密算法和哈希算法。其中,对称加密算法可以包括DES算法、3DES算法、Blowfish算法、IDEA、RC4算法、RC5算法和RC6算法等。非对称加密算法可以包括RSA算法、ECC算法、DH算法、El Gamal算法和DSA等。Hash算法可以包括MD 2算法、MD4算法、MD5算法、SHA、SHA-1、HMAC算法、HMAC-MD5算法和HMAC-SHA1算法等。其中,RSA系列签名校验算法包括RS1024,RSA2048,RSA3076-SHA256等签名校验算法。
305、若通信模块根据加密算法校验启动加密数据的结果为通过,通信模块启动。
通信模块将启动加密数据作为加密算法的输入,根据加密算法的输出获取校验结果。当检验结果为通过时,通信模块启动,检验结果为未通过时,通信模块不启动或终止启动过程。这样,通过增加处理模块对通信模块正常启动的安全校验方式,增强了通信模块的启动难度和复杂度,避免恶意软件攻击通信模块(例如恶意软件通过拉低开关机信号,在通信模块启动过程中篡改或者替换正常的系统组件),提升了T-Box的安全启动特性。
通信模块根据加密算法校验启动加密数据通过后,通信模块可以从内部flash启动。具体的,通信模块可以根据M3bootMini校验并加载运行M3boot,即在M3boot前增加了M3bootMini启动镜像。M3boot校验通过并运行后,由M3boot校验并加载运行Fast boot,Fast boot运行后,由Fast boot校验并加载运行Linux Kernel,Linux Kernel运行后,由Linux Kernel校验并加载运行Modem,以便完成整个系统镜像分区的签名校验,从而完成整个通信模块的 安全启动。
可选的,通信模块根据加密算法校验启动加密数据通过后,可以向处理模块发送控制信号,比如GPIO或上电完成信号等。当处理模块检测到该GPIO的电平变化或上电完成信号之后,可以启动对通信模块的开机控制,否则,不会启动开机控制。这样增加了通信模块正常启动的安全校验方式,保证了通信模块的正常启动。
基于本申请实施例提供的方法,终端设备启动时,处理模块首先启动,处理模块启动后,可以向通信模块发送启动加密数据;通信模块根据加密算法验证启动加密数据;若验证通过,通信模块启动。这样保证了处理模块启动后再启动通信模块,增加了通信模块正常启动的安全校验方式,增强了通信模块的启动难度和复杂度,避免恶意软件攻击通信模块(例如恶意软件通过拉低开关机信号,在通信模块启动过程中篡改或者替换正常的系统组件),从而提升了T-Box的安全启动特性。
上述本申请提供的实施例中,从终端设备角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,终端设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中所涉及的装置6的一种可能的结构示意图,该装置可以为终端设备,该终端设备包括:处理模块601和通信模块602。在本申请实施例中,处理模块601启动后,用于向通信模块发送启动加密数据;通信模块602,用于接收启动加密数据;通信模块602,还用于根据加密算法校验启动加密数据;若根据加密算法校验启动加密数据的结果为通过,通信模块602启动。在图3所示的方法实施例中,处理模块601可以用于支持终端设备执行图3中的过程301和302;通信模块602可以用于支持终端设备执行图3中的过程303、304和305。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state drives,SSD))等。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
- 一种终端设备启动方法,所述终端设备包括处理模块和通信模块,其特征在于,包括:所述处理模块启动;所述处理模块向所述通信模块发送启动加密数据;所述通信模块接收所述启动加密数据;所述通信模块根据加密算法校验所述启动加密数据;若所述通信模块根据加密算法校验所述启动加密数据的结果为通过,所述通信模块启动。
- 根据权利要求1所述的终端设备启动方法,其特征在于,所述处理模块向所述通信模块发送启动加密数据包括:所述处理模块通过启动接口向所述通信模块发送所述启动加密数据;其中,所述启动接口包括以下至少一种:异步收发传输器UART接口、高速串行计算机扩展总线标准PCIe接口、嵌入式多媒体存储卡EMMC接口、串行外设接口SPI接口或集成电路总线I2C接口。
- 根据权利要求1或2所述的终端设备启动方法,其特征在于,所述启动加密数据保存于所述处理模块的存储单元中,所述存储单元包括安全鉴权算法,所述安全鉴权算法用于保护所述启动加密数据不被篡改。
- 根据权利要求1或2所述的终端设备启动方法,其特征在于,所述处理模块包括闪存Flash,所述Flash包括第一启动引导程序BOOT0和第二启动引导程序BOOT1,所述处理模块启动满足以下条件中的至少一个:所述处理模块通过动态口令校验所述BOOT0的结果为通过;所述处理模块通过对称加密校验机制校验所述BOOT1的结果为通过;所述处理模块通过标识ID认证机制校验所述Flash的结果为通过。
- 根据权利要求1-4任一项所述的终端设备启动方法,其特征在于,所述方法还包括:所述通信模块向所述处理模块发送控制信号,所述控制信号用于指示所述通信模块根据加密算法校验所述启动加密数据的结果为通过。
- 一种终端设备,所述终端设备包括处理模块和通信模块,其特征在于,包括:所述处理模块启动后,用于向所述通信模块发送启动加密数据;所述通信模块,用于接收所述启动加密数据;所述通信模块,还用于根据加密算法校验所述启动加密数据;若所述通信模块根据加密算法校验所述启动加密数据的结果为通过,所述通信模块启动。
- 根据权利要求6所述的终端设备,其特征在于,所述处理模块用于:通过启动接口向所述通信模块发送所述启动加密数据;其中,所述启动接口包括以下至少一种:异步收发传输器UART接口、高速串行计算机扩展总线标准PCIe接口、嵌入式多媒体存储卡EMMC接口、串行外设接口SPI接口或集成电路总线I2C接口。
- 根据权利要求6或7所述的终端设备,其特征在于,所述启动加密数据保存于所述处理模块的存储单元中,所述存储单元包括安全鉴权算法,所述安全鉴权算法用于保护所述启动加密数据不被篡改。
- 根据权利要求6或7所述的终端设备,其特征在于,所述处理模块包括闪存Flash,所述Flash包括第一启动引导程序BOOT0和第二启动引导程序BOOT1,所述处理模块启动满足以下条件中的至少一个:所述处理模块通过动态口令校验所述BOOT0的结果为通过;所述处理模块通过对称加密校验机制校验所述BOOT1的结果为通过;所述处理模块通过标识ID认证机制校验所述Flash的结果为通过。
- 根据权利要求6-9任一项所述的终端设备,其特征在于,所述通信模块还用于:向所述处理模块发送控制信号,所述控制信号用于指示所述通信模块根据加密算法校验所述启动加密数据的结果为通过。
- 一种终端设备,其特征在于,包括处理器和存储器;所述存储器用于存储计算机执行指令,当所述通信装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述通信装置执行如权利要求1-5中任意一项所述的终端设备启动方法。
- 一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1-5中任一项所述的终端设备启动方法被实现。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910312374.XA CN110188542B (zh) | 2019-04-18 | 2019-04-18 | 一种终端设备启动方法和装置 |
CN201910312374.X | 2019-04-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020211738A1 true WO2020211738A1 (zh) | 2020-10-22 |
Family
ID=67714691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/084618 WO2020211738A1 (zh) | 2019-04-18 | 2020-04-14 | 一种终端设备启动方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110188542B (zh) |
WO (1) | WO2020211738A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698814A (zh) * | 2020-12-30 | 2021-04-23 | 深圳酷派技术有限公司 | 电子设备、驱动开发方法及计算机可读存储介质 |
CN113206775A (zh) * | 2021-04-16 | 2021-08-03 | 中科开创(广州)智能科技发展有限公司 | 具有can总线功能的终端接入设备、应用方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110188542B (zh) * | 2019-04-18 | 2022-03-11 | 华为技术有限公司 | 一种终端设备启动方法和装置 |
CN110688660B (zh) * | 2019-09-27 | 2021-08-24 | 深圳市共进电子股份有限公司 | 一种终端安全启动的方法及装置、存储介质 |
CN112069502B (zh) * | 2020-07-22 | 2024-02-09 | 延锋伟世通电子科技(上海)有限公司 | 一种用于车载mcu的安全启动方法及装置 |
CN113194067B (zh) * | 2021-03-29 | 2023-01-06 | 无锡九科芯微电子有限公司 | 一种mcu通讯系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3173713A1 (en) * | 2015-11-30 | 2017-05-31 | Thermo King Corporation | Device and method for controlling operation of transport refrigeration unit |
CN108347331A (zh) * | 2017-01-25 | 2018-07-31 | 北京百度网讯科技有限公司 | 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 |
CN108769950A (zh) * | 2018-07-24 | 2018-11-06 | 中国航天空气动力技术研究院 | 面向v2x网联汽车的车联网信息系统 |
CN109067771A (zh) * | 2018-09-06 | 2018-12-21 | 北京长城华冠汽车科技股份有限公司 | 车辆的安全防护系统、方法及车辆 |
CN110188542A (zh) * | 2019-04-18 | 2019-08-30 | 华为技术有限公司 | 一种终端设备启动方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1288631A (zh) * | 1998-01-20 | 2001-03-21 | 夸尔柯姆股份有限公司 | 阻止意外启动无线通信装置中的键的装置和方法 |
CN104723829B (zh) * | 2013-12-18 | 2017-12-12 | 比亚迪股份有限公司 | 车载空调的控制方法、系统及其装置 |
CN105141704A (zh) * | 2015-09-24 | 2015-12-09 | 重庆长安汽车股份有限公司 | 车载通信控制器总成的休眠唤醒方法 |
US10362114B2 (en) * | 2015-12-14 | 2019-07-23 | Afero, Inc. | Internet of things (IoT) apparatus and method for coin operated devices |
CN105539365B (zh) * | 2015-12-23 | 2018-05-04 | 安徽江淮汽车集团股份有限公司 | 一种汽车智能钥匙控制方法及其系统 |
CN107791776A (zh) * | 2016-08-30 | 2018-03-13 | 长城汽车股份有限公司 | 车用空调控制方法及系统 |
CN107336688A (zh) * | 2017-07-01 | 2017-11-10 | 奇瑞汽车股份有限公司 | 一种电动汽车启动授权方法 |
CN108597154B (zh) * | 2018-04-09 | 2020-11-17 | 厦门夏新移动通讯有限公司 | 一种物联网通讯模组安全启动系统和启动方法及pos机 |
-
2019
- 2019-04-18 CN CN201910312374.XA patent/CN110188542B/zh active Active
-
2020
- 2020-04-14 WO PCT/CN2020/084618 patent/WO2020211738A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3173713A1 (en) * | 2015-11-30 | 2017-05-31 | Thermo King Corporation | Device and method for controlling operation of transport refrigeration unit |
CN108347331A (zh) * | 2017-01-25 | 2018-07-31 | 北京百度网讯科技有限公司 | 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 |
CN108769950A (zh) * | 2018-07-24 | 2018-11-06 | 中国航天空气动力技术研究院 | 面向v2x网联汽车的车联网信息系统 |
CN109067771A (zh) * | 2018-09-06 | 2018-12-21 | 北京长城华冠汽车科技股份有限公司 | 车辆的安全防护系统、方法及车辆 |
CN110188542A (zh) * | 2019-04-18 | 2019-08-30 | 华为技术有限公司 | 一种终端设备启动方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698814A (zh) * | 2020-12-30 | 2021-04-23 | 深圳酷派技术有限公司 | 电子设备、驱动开发方法及计算机可读存储介质 |
CN113206775A (zh) * | 2021-04-16 | 2021-08-03 | 中科开创(广州)智能科技发展有限公司 | 具有can总线功能的终端接入设备、应用方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110188542A (zh) | 2019-08-30 |
CN110188542B (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020211738A1 (zh) | 一种终端设备启动方法和装置 | |
US10904310B2 (en) | Method and apparatus for communicating streaming data in bluetooth-based wireless communication system | |
CN111757477B (zh) | 一种上报能力的方法及用户设备 | |
CN108322450B (zh) | 使用多种协议进行通信的方法及其电子设备 | |
US9743226B2 (en) | Method for short-range wireless communication and electronic device using the same | |
US9538445B2 (en) | Communication method and apparatus for electronic device in mobile communication system | |
WO2021017901A1 (zh) | 一种屏幕显示方法及电子设备 | |
EP3340424B1 (en) | Electronic device and method of controlling charging of the same | |
WO2021185105A1 (zh) | SIM卡和eSIM卡的切换方法及电子设备 | |
US11080386B2 (en) | Method for providing smart key service and electronic device thereof | |
WO2021027630A1 (zh) | 补丁方法、相关装置及系统 | |
US20150310197A1 (en) | Method of processing input and electronic device thereof | |
US10666453B2 (en) | Electronic device and method of controlling electronic device | |
EP2869543B1 (en) | IR communication method and electronic device thereof | |
US10257873B2 (en) | Method and electronic device for providing tethering service | |
US9763126B2 (en) | Electronic device and method for processing packet in internet protocol-based network | |
WO2021052482A1 (zh) | 切换sim卡的方法、装置及电子设备 | |
WO2021175266A1 (zh) | 身份验证方法、装置和电子设备 | |
CN112085872A (zh) | 基于nfc的解锁方法、相关装置及系统 | |
WO2021036869A1 (zh) | 一种位置信息获取方法及电子设备 | |
US20190089738A1 (en) | Establishing a proprietary link layer connection with a proprietary device | |
CN116382810A (zh) | Meta模式的启动方法、电子设备及存储介质 | |
CN115878500A (zh) | 内存回收方法、装置、电子设备及可读存储介质 | |
CN114968657A (zh) | 一种数据备份方法和电子设备 | |
WO2023160177A1 (zh) | 测距方法、装置、系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20791524 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20791524 Country of ref document: EP Kind code of ref document: A1 |