CN110188542B - 一种终端设备启动方法和装置 - Google Patents
一种终端设备启动方法和装置 Download PDFInfo
- Publication number
- CN110188542B CN110188542B CN201910312374.XA CN201910312374A CN110188542B CN 110188542 B CN110188542 B CN 110188542B CN 201910312374 A CN201910312374 A CN 201910312374A CN 110188542 B CN110188542 B CN 110188542B
- Authority
- CN
- China
- Prior art keywords
- starting
- communication module
- processing module
- interface
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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
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)
- Mobile Radio Communication Systems (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例提供一种终端设备启动方法和装置,涉及终端领域,能够满足终端设备(例如,T‑Box)的安全启动要求。终端设备包括处理模块和通信模块,其方法为:首先,处理模块启动;处理模块向通信模块发送启动加密数据;通信模块接收启动加密数据;通信模块根据加密算法校验启动加密数据;若通信模块根据加密算法校验启动加密数据的结果为通过,通信模块启动。本申请实施例应用于V2X、IoT等领域中终端设备的安全启动场景。
Description
技术领域
本申请涉及终端领域,尤其涉及一种终端设备启动方法和装置。
背景技术
随着智能终端设备的普及,终端设备的安全要求越来越高。以终端设备为车载盒子(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校验并加载运行快速启动引导程序fastboot,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 peripheralinterface,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 ofthings,IoT)等领域中终端设备的安全启动场景。示例性的,可以应用于车联网中T-box的安全启动过程中。
其中,终端设备包括处理模块和通信模块。在终端设备启动过程中,首先,处理模块启动;而后,处理模块向通信模块发送启动加密数据;通信模块接收启动加密数据;通信模块根据加密算法验证启动加密数据;若验证通过,通信模块启动,从而完成整个终端设备软件系统的启动。
本申请实施例中,加密算法可以包括对称加密算法,非对称加密算法和哈希(Hash)算法。其中,对称加密算法可以包括数据加密标准(data encryption standard,DES)算法、3DES(triple DES)算法、Blowfish算法、国际数据加密算法(internationaldata 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(MessageDigest2,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,通信模块,例如第三代(3th generation,3G)移动通信系统/第四代(4th generation,4G)移动通信系统/第五代(5th generation,5G)移动通信系统模块120,系统输入/输出(input/output,I/O)对外连接器130,电源管理模块141,电池142,控制器局域网络(controllerarea 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),调制解调处理器,图形处理器(graphicsprocessing 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 circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,UART接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM接口,和/或通用串行总线(universal serialbus,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 serialinterface,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以及Flash124等,用于存储指令和数据。
系统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-box100可以设置至少一个麦克风。在一些实施例中,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 localarea 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 divisionmultiple 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 navigationsatellite system,GLONASS),北斗卫星导航系统(beidou navigation satellitesystem,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-box100的存储能力。外部存储卡通过外部存储器接口与处理器通信,实现数据存储功能。例如,可以将车辆的使用信息保存在外部存储卡中。
时钟模块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.一种终端设备启动方法,所述终端设备包括处理模块和通信模块,其特征在于,包括:
所述处理模块启动;
所述处理模块向所述通信模块发送启动加密数据;
所述通信模块接收所述启动加密数据;
所述通信模块根据加密算法校验所述启动加密数据;
若所述通信模块根据加密算法校验所述启动加密数据的结果为通过,所述通信模块启动。
2.根据权利要求1所述的终端设备启动方法,其特征在于,所述处理模块向所述通信模块发送启动加密数据包括:
所述处理模块通过启动接口向所述通信模块发送所述启动加密数据;其中,所述启动接口包括以下至少一种:
异步收发传输器UART接口、高速串行计算机扩展总线标准PCIe接口、嵌入式多媒体存储卡EMMC接口、串行外设接口SPI接口或集成电路总线I2C接口。
3.根据权利要求1或2所述的终端设备启动方法,其特征在于,
所述启动加密数据保存于所述处理模块的存储单元中,所述存储单元包括安全鉴权算法,所述安全鉴权算法用于保护所述启动加密数据不被篡改。
4.根据权利要求1或2所述的终端设备启动方法,其特征在于,所述处理模块包括闪存Flash,所述Flash包括第一启动引导程序BOOT0和第二启动引导程序BOOT1,所述处理模块启动满足以下条件中的至少一个:
所述处理模块通过动态口令校验所述BOOT0的结果为通过;
所述处理模块通过对称加密校验机制校验所述BOOT1的结果为通过;
所述处理模块通过标识ID认证机制校验所述Flash的结果为通过。
5.根据权利要求1或2所述的终端设备启动方法,其特征在于,所述方法还包括:
所述通信模块向所述处理模块发送控制信号,所述控制信号用于指示所述通信模块根据加密算法校验所述启动加密数据的结果为通过。
6.一种终端设备,所述终端设备包括处理模块和通信模块,其特征在于,包括:
所述处理模块启动后,用于向所述通信模块发送启动加密数据;
所述通信模块,用于接收所述启动加密数据;
所述通信模块,还用于根据加密算法校验所述启动加密数据;
若所述通信模块根据加密算法校验所述启动加密数据的结果为通过,所述通信模块启动。
7.根据权利要求6所述的终端设备,其特征在于,所述处理模块用于:
通过启动接口向所述通信模块发送所述启动加密数据;其中,所述启动接口包括以下至少一种:
异步收发传输器UART接口、高速串行计算机扩展总线标准PCIe接口、嵌入式多媒体存储卡EMMC接口、串行外设接口SPI接口或集成电路总线I2C接口。
8.根据权利要求6或7所述的终端设备,其特征在于,
所述启动加密数据保存于所述处理模块的存储单元中,所述存储单元包括安全鉴权算法,所述安全鉴权算法用于保护所述启动加密数据不被篡改。
9.根据权利要求6或7所述的终端设备,其特征在于,所述处理模块包括闪存Flash,所述Flash包括第一启动引导程序BOOT0和第二启动引导程序BOOT1,所述处理模块启动满足以下条件中的至少一个:
所述处理模块通过动态口令校验所述BOOT0的结果为通过;
所述处理模块通过对称加密校验机制校验所述BOOT1的结果为通过;
所述处理模块通过标识ID认证机制校验所述Flash的结果为通过。
10.根据权利要求6或7所述的终端设备,其特征在于,所述通信模块还用于:
向所述处理模块发送控制信号,所述控制信号用于指示所述通信模块根据加密算法校验所述启动加密数据的结果为通过。
11.一种终端设备,其特征在于,包括处理器和存储器;
所述存储器用于存储计算机执行指令,当所述终端设备运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述终端设备执行如权利要求1-5中任意一项所述的终端设备启动方法。
12.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1-5中任一项所述的终端设备启动方法被实现。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910312374.XA CN110188542B (zh) | 2019-04-18 | 2019-04-18 | 一种终端设备启动方法和装置 |
PCT/CN2020/084618 WO2020211738A1 (zh) | 2019-04-18 | 2020-04-14 | 一种终端设备启动方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910312374.XA CN110188542B (zh) | 2019-04-18 | 2019-04-18 | 一种终端设备启动方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188542A CN110188542A (zh) | 2019-08-30 |
CN110188542B true CN110188542B (zh) | 2022-03-11 |
Family
ID=67714691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910312374.XA Active CN110188542B (zh) | 2019-04-18 | 2019-04-18 | 一种终端设备启动方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110188542B (zh) |
WO (1) | WO2020211738A1 (zh) |
Families Citing this family (6)
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的安全启动方法及装置 |
CN112698814A (zh) * | 2020-12-30 | 2021-04-23 | 深圳酷派技术有限公司 | 电子设备、驱动开发方法及计算机可读存储介质 |
CN113194067B (zh) * | 2021-03-29 | 2023-01-06 | 无锡九科芯微电子有限公司 | 一种mcu通讯系统及方法 |
CN113206775B (zh) * | 2021-04-16 | 2023-04-07 | 中科开创(广州)智能科技发展有限公司 | 具有can总线功能的终端接入设备、应用方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999037077A1 (en) * | 1998-01-20 | 1999-07-22 | Qualcomm Incorporated | Apparatus and method for prevention of accidental activation of keys in a wireless communication device |
CN104723829B (zh) * | 2013-12-18 | 2017-12-12 | 比亚迪股份有限公司 | 车载空调的控制方法、系统及其装置 |
CN105141704A (zh) * | 2015-09-24 | 2015-12-09 | 重庆长安汽车股份有限公司 | 车载通信控制器总成的休眠唤醒方法 |
US10703174B2 (en) * | 2015-11-30 | 2020-07-07 | Thermo King Corporation | Device and method for controlling operation of transport refrigeration unit |
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 | 长城汽车股份有限公司 | 车用空调控制方法及系统 |
CN108347331B (zh) * | 2017-01-25 | 2021-08-03 | 北京百度网讯科技有限公司 | 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 |
CN107336688A (zh) * | 2017-07-01 | 2017-11-10 | 奇瑞汽车股份有限公司 | 一种电动汽车启动授权方法 |
CN108597154B (zh) * | 2018-04-09 | 2020-11-17 | 厦门夏新移动通讯有限公司 | 一种物联网通讯模组安全启动系统和启动方法及pos机 |
CN108769950A (zh) * | 2018-07-24 | 2018-11-06 | 中国航天空气动力技术研究院 | 面向v2x网联汽车的车联网信息系统 |
CN109067771A (zh) * | 2018-09-06 | 2018-12-21 | 北京长城华冠汽车科技股份有限公司 | 车辆的安全防护系统、方法及车辆 |
CN110188542B (zh) * | 2019-04-18 | 2022-03-11 | 华为技术有限公司 | 一种终端设备启动方法和装置 |
-
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
Also Published As
Publication number | Publication date |
---|---|
WO2020211738A1 (zh) | 2020-10-22 |
CN110188542A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188542B (zh) | 一种终端设备启动方法和装置 | |
CN111757477B (zh) | 一种上报能力的方法及用户设备 | |
CN111124503B (zh) | 一种nfc应用的自动激活方法及终端 | |
CN113498124A (zh) | SIM卡和eSIM卡的切换方法及电子设备 | |
CN114422340B (zh) | 日志上报方法、电子设备及存储介质 | |
CN114490174B (zh) | 文件系统检测方法、电子设备及计算机可读存储介质 | |
CN113343193A (zh) | 身份验证方法、装置和电子设备 | |
CN111865646A (zh) | 终端升级方法及相关装置 | |
CN115696322A (zh) | 一种北斗通信系统中密钥更新方法、系统及相关装置 | |
CN113126948B (zh) | 一种音频播放方法及相关设备 | |
CN116382810A (zh) | Meta模式的启动方法、电子设备及存储介质 | |
CN112492505A (zh) | 一种位置信息获取方法及电子设备 | |
CN112399628B (zh) | 一种随机接入方法、电子设备及网络设备 | |
CN117335830A (zh) | 无线通信电路、蓝牙通信切换方法和电子设备 | |
CN116261124A (zh) | 数据传输方法、装置、电子设备和智能终端 | |
CN115878500A (zh) | 内存回收方法、装置、电子设备及可读存储介质 | |
CN112956240A (zh) | 天线切换方法及装置 | |
CN113541954B (zh) | 控制基带的方法及装置 | |
CN220752708U (zh) | 终端及其外设系统 | |
CN114329595B (zh) | 应用程序的检测方法、设备、存储介质和程序产品 | |
CN116346982B (zh) | 处理音频的方法、电子设备及可读存储介质 | |
CN116048769B (zh) | 内存回收方法、装置和终端设备 | |
CN116049826B (zh) | 基于tpm的数据保护方法、电子设备及存储介质 | |
CN115550892B (zh) | 同步系统信息的方法和装置 | |
CN115599596B (zh) | 数据处理方法、电子设备、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |