一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

物联网系统及其安全启动方法与流程

2022-06-11 23:07:47 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种物联网系统及其安全启动方法。


背景技术:

2.随着科技的发展,物联网已经深入到千家万户。区分于传统互联网/移动互联网设备,物联网设备大多资源受限,运算能力不高。导致传统的互联网安全协议无法直接应用于物联网设备中,而物联网设备大多会通过各种各样的数据通路与外界进行数据交互。在这种使用场景,攻击者更容易通过远程攻击的方式来破坏、篡改物联网设备程序。如何保证物联网设备的安全以防止物联网设备被远程篡改是亟待解决的问题。并且,对于由多个子系统组成的复杂的物联网系统而言,在安全启动上面临着成本与安全启动无法兼顾的问题。


技术实现要素:

3.有鉴于此,提出了一种物联网系统及其安全启动方法。
4.第一方面,本技术的实施例提供了一种物联网系统,所述物联网系统包括主系统和多个子系统,所述主系统包括应用处理器、安全处理器和应用flash,每个子系统包括boot分区和应用分区,
5.所述安全处理器,用于在根据检测到的开机操作被启动后,对所述应用flash进行校验,并在确定对所述应用flash的校验成功后,启动所述应用处理器;
6.所述应用处理器,用于在被启动后分别为所述多个子系统上电;
7.所述boot分区,用于在上电后向所述应用处理器发送所述应用分区的应用分区数据;
8.所述应用处理器,还用于对接收到的应用分区数据进行校验,在确定针对应用分区数据的校验成功且自为所述多个子系统上电至当前时刻的时长小于或等于预设校验时长时,确定所述物联网系统被安全启动。
9.通过第一方面所提供的种物联网系统,成本低、且可以保证物联网系统中主系统和每个子系统的安全启动,可以有效地防止针对物联网系统的远程篡改、破坏等攻击。
10.根据第一方面,在所述系统的第一种可能的实现方式中,
11.所述boot分区,还用于在发出应用分区数据之前,向所述应用处理器发出校验请求,并在接收到所述应用处理器针对所述校验请求的允许应答后,向所述应用处理器发送所述应用分区数据。以保证主系统能够对子系统进行校验。
12.根据第一方面,在所述系统的第二种可能的实现方式中,
13.所述应用处理器,还用于在确定所述多个子系统中的一个或多个满足下电条件时,为满足下电条件的子系统下电。
14.所述下电条件包括以下至少一项:未接收到上电的子系统发送的校验请求、未接收到上电的子系统发送的应用分区数据、针对应用分区数据的校验失败、自为所述多个子系统上电至当前时刻的时长已大于预设校验时长且未完成针对应用分区数据的校验。这
样,在子系统满足下电条件时可以认定其被攻击,及时下电才能保证整个物联网系统的安全。
15.根据第一方面,在所述系统的第三种可能的实现方式中,
16.所述应用处理器,还用于基于接收到的应用分区数据向所述安全处理器发出校验计算请求;
17.所述安全处理器,还用于基于所述校验计算请求,根据存储的加密密钥计算出所述应用分区数据的计算校验码,并将所述计算校验码发送至所述应用处理器;
18.所述应用处理器,还用于对所述计算校验码和存储的标准校验码进行比较,得到校验结果,
19.其中,在所述计算校验码和所述标准校验码不同时,确定针对所述应用分区数据的校验失败;在所述计算校验码和所述标准校验码相同时,确定针对所述应用分区数据的校验成功。
20.根据第一方面,在所述系统的第四种可能的实现方式中,所述主系统还包括第一超时定时器,
21.所述应用处理器,还用于在确定已经分别为所述多个子系统上电的情况下,启动所述第一超时定时器,并将所述第一超时定时器的超时时长设置为所述预设校验时长,以在确定针对应用分区数据的校验成功且所述第一超时定时器并未结束计时的情况下,确定所述物联网系统被安全启动。这样,可以简化整个物联网系统的安全启动。
22.根据第一方面,在所述系统的第五种可能的实现方式中,所述子系统还包括第二超时定时器,
23.所述boot分区,还用于在确定完成所述应用分区数据的发送时,启动所述第二超时定时器,并在确定所述第二超时定时器结束计时且所在子系统处于上电状态的情况下,启动应用分区。这样,可以保证未被攻击的子系统可以及时启动应用分区,满足物联网系统的正常使用需求。
24.根据第三种可能的实现方式,在所述系统的第六种可能的实现方式中,所述安全处理器,还用于执行以下至少一项操作:
25.在生产阶段基于预设的加密密钥和每个子系统的应用分区数据生成第一校验码,并将所述第一校验码作为所述标准校验码存储,可以保证加密密钥的安全性;
26.在物联网系统被安全启动之后,检测到所述物联网系统完成更新的情况下,根据预设的加密密钥和每个子系统更新后的应用分区数据生成第二校验码,并将所述第二校验码作为新的标准校验码存储,保证后续物联网系统的安全启动;
27.在物联网系统被安全启动后检测到加密密钥更新请求、且所述加密密钥更新请求通过鉴权的情况下,根据所述加密密钥更新请求更新所存储的加密密钥。这样,在鉴权通过后才进行加密密钥更新可以保证加密密钥的更新过程不会被攻击,保证后续物联网系统启动的安全进行。
28.根据第六种可能的实现方式,在所述系统的第七种可能的实现方式中,所述物联网系统还包括:
29.通信模组,与所述主系统连接,并通过网络与云端互连,以使所述物联网系统通过所述通信模组与所述云端连接实现针对所述物联网系统的更新。
30.第二方面,本技术的实施例提供了一种物联网系统的安全启动方法,所述方法应用于上述第一方面、或第一方面的任意一种可能的实现方式中的主系统,所述方法包括:
31.在检测到开机操作时,启动所述安全处理器,并利用所述安全处理器对所述应用flash进行校验;
32.在确定对所述应用flash的校验成功后启动所述应用处理器,并利用所述应用处理器分别为所述多个子系统上电,以使上电的子系统向所述应用处理器发送应用分区数据;
33.对来自子系统的应用分区数据进行校验,在确定针对应用分区数据的校验成功且自为所述多个子系统上电至当前时刻的时长小于或等于预设校验时长时,确定所述物联网系统被安全启动。
34.通过第二方面所提供的种物联网系统的安全启动方法,成本低、且可以保证物联网系统中主系统和每个子系统的安全启动,可以有效地防止针对物联网系统的远程篡改、破坏等攻击。
35.根据第二方面,在所述方法的第一种可能的实现方式中,对来自子系统的应用分区数据进行校验,包括:
36.控制所述安全处理器根据存储的加密密钥为应用分区数据生成计算校验码;
37.控制所述应用处理器对所述计算校验码和存储的标准校验码进行比较,得到校验结果,
38.其中,在所述计算校验码和所述标准校验码不同时,确定针对所述应用分区数据的校验失败;在所述计算校验码和所述标准校验码相同时,确定针对所述应用分区数据的校验成功。
39.根据第二方面,在所述方法的第二种可能的实现方式中,所述方法还包括:
40.在确定所述多个子系统中的一个或多个满足下电条件时,为满足下电条件的子系统下电,
41.所述下电条件包括以下至少一项:未接收到上电的子系统发送的校验请求、未接收到上电的子系统发送的应用分区数据、针对应用分区数据的校验失败、自为所述多个子系统上电至当前时刻的时长已大于校验时长阈值且未完成针对应用分区数据的校验。这样,在子系统满足下电条件时可以认定其被攻击,及时下电才能保证整个物联网系统的安全。
42.根据第二方面,在所述方法的第三种可能的实现方式中,所述方法还包括:
43.在确定已经分别为所述多个子系统上电的情况下,启动所述主系统的第一超时定时器,并将所述第一超时定时器的超时时长设置为所述预设校验时长,
44.其中,在确定针对应用分区数据的校验成功且自为所述多个子系统上电至当前时刻的时长小于或等于预设校验时长时,确定所述物联网系统被安全启动,包括:在确定针对应用分区数据的校验成功且所述第一超时定时器并未结束计时的情况下,确定所述物联网系统被安全启动。
45.根据第二方面,在所述方法的第四种可能的实现方式中,所述方法还包括以下至少一项操作:
46.在生产阶段控制所述安全处理器基于预设的加密密钥和每个子系统的应用分区
数据生成第一校验码,并将所述第一校验码作为所述标准校验码存储;
47.在所述物联网系统被安全启动之后,在所述安全处理器检测到所述物联网系统完成更新的情况下,根据预设的加密密钥和每个子系统更新后的应用分区数据生成第二校验码,并将所述第二校验码作为新的标准校验码存储;
48.在物联网系统被安全启动后检测到加密密钥更新请求、且所述加密密钥更新请求通过鉴权的情况下,根据所述加密密钥更新请求更新所存储的加密密钥。
49.根据第三方面,本技术的实施例提供了一种物联网系统的安全启动方法,所述方法应用于上述第一方面、或者第一方面的任意一种可能的实现方式中的子系统,所述方法包括:
50.在所述boot分区确定子系统上电后,向所述应用处理器发出校验请求;
51.在接收到所述应用处理器的允许应答后,向所述应用处理器发出应用分区的应用分区数据,以使所述应用处理器根据所述应用分区数据对所述子系统进行校验;
52.在确定发出所述应用分区数据的发出时刻到当前时刻的时长大于或等于等待校验时长、且所述子系统处于上电状态时,启动所述应用分区。
53.根据第三方面,在所述方法的第一种可能的实现方式中,所述方法还包括:
54.在发出所述应用分区数据之后,启动所述子系统的第二超时定时器;
55.其中,在确定发出所述应用分区数据的发出时刻到当前时刻的时长大于或等于等待校验时长、且所述子系统处于上电状态时,启动所述应用分区,包括:
56.在所述第二超时定时器的计时结束且所述子系统处于上电状态时,启动所述应用分区。
57.第四方面,本技术的实施例提供了一种终端设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的物联网系统的安全启动方法。
58.第五方面,本技术的实施例提供了一种终端设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述第三方面或者第三方面第一种实现方式中的物联网系统的安全启动方法。
59.第六方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的物联网系统的安全启动方法。
60.第七方面,本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第三方面或者第三方面第一种实现方式中的物联网系统的安全启动方法。
61.本技术的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
62.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本技术的示例性实施例、特征和方面,并且用于解释本技术的原理。
generation mobile communication technology(第三代移动通信技术)的简称,4g是4th generation mobile communication technology(第四代移动通信技术)的简称,v2v是vehicle to vehicle(车对车)的简称,v2x是vehicle to everything(车对万物)的简称。
74.相关技术中,为实现物联网系统的安全启动,一种是为主系统和多个子系统均配置安全处理器,另一种就是仅为主系统配置安全处理器。前一种能保障整个物联网系统的安全启动,但成本过高,后一种虽然成本降低但子系统不具备安全启动的能力,使得整个物联网系统存在巨大不安全风险。本技术提供一种物联网系统包括主系统和多个子系统,以在实现物联网系统安全启动的同时,降低物联网系统的成本。
75.图1、图2示出根据本技术一实施例的物联网系统的结构示意图。如图1、图2所示,物联网系统包括主系统1、多个子系统2。主系统1包括应用处理器11、安全处理器12和应用flash13,每个子系统2包括boot分区21和应用分区22。
76.所述安全处理器12,用于在根据检测到的开机操作被启动后,对所述应用flash13进行校验,并在确定对所述应用flash13的校验成功后,启动所述应用处理器11。
77.所述应用处理器11,用于在被启动后分别为所述多个子系统2上电。
78.所述boot分区21,用于在上电后向所述应用处理器11发送所述应用分区22的应用分区数据。
79.所述应用处理器11,还用于对接收到的应用分区数据进行校验,在确定针对应用分区数据的校验成功且自为所述多个子系统2上电至当前时刻的时长小于或等于预设校验时长时,确定所述物联网系统被安全启动。
80.本技术实施例所提供的物联网系统,成本低、且可以保证物联网系统中主系统和每个子系统的安全启动,可以有效地防止针对物联网系统的远程篡改、破坏等攻击。
81.在本技术实施例中,可以预先根据不同子系统的校验过程所需时长,为不同的子系统设置对应的预设校验时长,不同子系统的预设校验时长可以相同,也可以不同。或者,也可以根据多个子系统中校验过程所需时长,将校验过程所需时长的最长时间确定为预设校验时长。本领域技术人员可以根据实际需要对预设校验时长进行设置,本技术对此不作限制。
82.在本技术实施例中,主系统和多个子系统之间可以通过硬线连接,如可以利用集成在主系统和子系统上的通用异步收发传输器(universal asynchronous receiver/transmitter,简称uart)、串行外设接口(serial peripheral interface,简称spi)、i2c总线(inter-integrated circuit)、以太网等借助连接线实现主系统与子系统之间的连接。这样,可以进一步提高物联网系统的安全性。
83.在本技术实施例中,主系统中的应用处理器用于存实现各类应用功能,安全处理器用于实现主系统的安全启动,应用flash用于存储对应于各应用功能的应用数据。子系统中的应用分区用于实现子系统的应用功能,存储有对应于该应用功能的应用分区数据,boot分区可以包括用来实现子系统开启的引导程序,其可以被一次性密码(one time password,简称otp,又称“一次性口令”,是指只能使用一次的密码)锁定,以保证通过boot分区发出的校验请求和应用分区数据的可靠性,防止针对物联网系统的远程篡改、破坏等攻击。
84.在本技术实施例中,主系统可以是具备she(security hardware extension)规范
所描述的安全加密功能的芯片,可以是具有硬件安全模块(hardware security module,简称hsm)的微控制单元(microcontroller unit,简称mcu)等芯片,其中,hsm可以为本技术所述的安全处理器。子系统可以是不具有hsm的mcu等芯片。本领域技术人员可以根据实际需要对主系统和子系统进行设置,本技术对此不作限制。
85.在本技术实施例中,物理网系统可以是应用于t-box设备中的,主系统可以通过can总线实现与其他车辆等设置的ecu(ecu(electronic control unit,电子控制单元,又称“行车电脑”、“车载电脑”等)互联,子系统可以通过时钟芯片(real_time clock,简称rtc)进行整个物联网系统的时间校准。
86.在一种可能的实现方式中,如图2所示,可以在电源3和每个子系统2之间分别设置电源开关4,使得应用处理器11可以通过控制电源开关4的通断来实现对子系统的上电和下电。
87.在一种可能的实现方式中,所述boot分区21,还用于在发出应用分区数据之前,向所述应用处理器11发出校验请求,并在接收到所述应用处理器11针对所述校验请求的允许应答后,向所述应用处理器11发送所述应用分区数据。以保证主系统能够对子系统进行校验。
88.在一种可能的实现方式中,所述应用处理器11,还用于在确定所述多个子系统2中的一个或多个满足下电条件时,为满足下电条件的子系统1下电。所述下电条件可以包括以下至少一项:未接收到上电的子系统发送的校验请求、未接收到上电的子系统发送的应用分区数据、针对应用分区数据的校验失败、自为所述多个子系统上电至当前时刻的时长已大于预设校验时长且未完成针对应用分区数据的校验。这样,在子系统满足下电条件时可以认定其被攻击,及时下电才能保证整个物联网系统的安全。
89.在该实现方式中,自为所述多个子系统上电至当前时刻的时长已大于预设校验时长且未完成针对应用分区数据的校验可以包括:应用分区数据已经全部接收但自为所述多个子系统上电至当前时刻的时长已大于预设校验时长、应用分区数据已经全部接收但并未完成全部校验过程且自为所述多个子系统上电至当前时刻的时长已大于预设校验时长、仅接收到部分应用分区数据无法完成校验等。
90.在一种可能的实现方式中,所述应用处理器11,还用于基于接收到的应用分区数据向所述安全处理器12发出校验计算请求;所述安全处理器12,还用于基于所述校验计算请求,根据存储的加密密钥计算出所述应用分区数据的计算校验码,并将所述计算校验码发送至所述应用处理器11;所述应用处理器11,还用于对所述计算校验码和存储的标准校验码进行比较,得到校验结果。其中,在所述计算校验码和所述标准校验码不同时,确定针对所述应用分区数据的校验失败;在所述计算校验码和所述标准校验码相同时,确定针对所述应用分区数据的校验成功。
91.在该实现方式中,标准校验码可以存储于应用flash或者安全处理器所对应的安全flash中。安全处理器12可以基于存储于安全flash中的加密密钥生成针对应用分区数据的计算校验码。该加密密钥是安全处理器或者主系统在生产过程中,通过产线上位机生成、预置到安全flash中的,可以保证物联网系统的安全启动。
92.在一种可能的实现方式中,所述主系统1还可以包括第一超时定时器。所述应用处理器11,还用于在确定已经分别为所述多个子系统2上电的情况下,启动所述第一超时定时
器,并将所述第一超时定时器的超时时长设置为所述预设校验时长,以在确定针对应用分区数据的校验成功且所述第一超时定时器并未结束计时的情况下,确定所述物联网系统被安全启动。这样,可以简化整个物联网系统的安全启动。
93.在一种可能的实现方式中,所述子系统2还可以包括第二超时定时器。所述boot分区21,还用于在确定完成所述应用分区数据的发送时,启动所述第二超时定时器,并在确定所述第二超时定时器结束计时且所在子系统处于上电状态的情况下,启动应用分区。这样,可以保证未被攻击的子系统可以及时启动应用分区,满足物联网系统的正常使用需求。
94.在一种可能的实现方式中,所述安全处理器12,还用于在生产阶段基于预设的加密密钥和每个子系统2的应用分区数据生成第一校验码,并将所述第一校验码作为所述标准校验码存储。
95.在该实现方式中,加密密钥是在主系统或者安全处理器的生产阶段就预置的,其可以aes(根据密码学中的高级加密标准(advanced encryption standard,aes),又称rijndael加密法,是美国联邦政府采用的一种区块加密标准)等加密方式生成。并且,加密密钥被存储于安全处理器对应的安全flash中,以保证加密密钥的安全性。
96.在一种可能的实现方式中,所述安全处理器12,还用于在物联网系统被安全启动之后,检测到所述物联网系统完成更新的情况下,根据预设的加密密钥和每个子系统更新后的应用分区数据生成第二校验码,并将所述第二校验码作为新的标准校验码存储。
97.在该实现方式中,由于生产阶段所生成的第一校验码是根据生产阶段每个子系统的应用分区数据生成的,若物联网系统被更新后其子系统的应用分区数据发生变化的情况下,需要更新标准校验码,以保证后续物联网系统的安全启动。并且,为进一步保证物联网系统的安全启动,可以设置安全处理器仅在生产阶段可以基于生产线使能控制安全处理器启动后发送的生成请求生成标准校验码,在其他任何阶段安全处理器不再响应任何设备发出的生成请求,其仅会在物联网系统更新后自动更新标准校验码。
98.在一种可能的实现方式中,所述安全处理器12,还用于在物联网系统被安全启动后检测到加密密钥更新请求、且所述加密密钥更新请求通过鉴权的情况下,根据所述加密密钥更新请求更新所存储的加密密钥。
99.在该实现方式中,加密密钥更新请求可以来自于物联网系统之外的外部设备。可以预先针对加密密钥更新请求的鉴权方式进行设置。更新的加密密钥可以是安全处理器根据预先设置的加密密钥生成方式生成的,也可以是加密密钥更新请求中直接携带的加密密钥,本技术对此不作限制。这样,在鉴权通过后才进行加密密钥更新可以保证加密密钥的更新过程不会被攻击,保证后续物联网系统启动的安全进行。例如,可以设置外部设备所发送的加密密钥更新请求需要携带当前安全处理器所存储的加密密钥,在“加密密钥更新请求携带的加密密钥”与安全处理器12存储的加密密钥相同时,确定针对加密密钥更新请求的鉴权通过,而后基于预设的加密密钥生成方式生成新的加密密钥,并存储。
100.在一种可能的实现方式中,如图2所示,所述物联网系统还可以包括:通信模组5,与所述主系统1连接,并通过网络与云端互连,以使所述物联网系统通过所述通信模组与所述云端连接实现针对所述物联网系统的更新。
101.在该实现方式中,通信模组5与主系统1之间可以通过近场物理链路进行连接,物理链路可以包括uart、spi、usb、以太网等,本技术对此不作限制。通信模组5通过网络实现
与云端的互连,云端可以指用于存储更新物联网系统所需的数据。
102.在一种可能的实现方式中,物联网系统也可以不连接通信模组,连接到手机、电脑、车机等设备,直接利用与设备之间的物理链路和云端建立安全的虚拟通道,进而通过虚拟通道实现物联网系统的升级。
103.图3示出根据本技术一实施例的物联网系统的安全启动方法的流程示意图。该方法可以应用于上述物联网系统,该方法包括步骤s101至步骤s116。
104.主系统1在检测到开机操作后,启动安全处理器。安全处理器12被启动后对应用flash进行校验(s101),并在校验成功后,启动主系统1的应用处理器11(s102),应用处理器11被启动后控制每个子系统2的电源开关4导通,使电源3可以为每个子系统2供电,实现子系统2的上电(s103)。并且,应用处理器11在确定已经为多个子系统2上电后,开启第一超时定时器,并将第一超时定时器的超时时长设置为预设校验时长。
105.子系统2上电后启动boot分区21(s104),boot分区21向应用处理器12发送校验请求(s105),并在接收到应用处理器12的针对校验请求返回的允许应答后(s106),将子系统2中的应用分区22的应用分区数据发送至应用处理器12(s107)。并且,在boot分区21确定其已经将应用分区数据全部发送至应用处理器12之后,开启第二超时定时器(s108),并在确定第二超时定时器计时结束且子系统2仍处于上电状态时,启动应用分区22(s116)。
106.应用处理器12接收到应用分区数据之后,向安全处理器发出校验计算请求(s109)。安全处理器12接收到校验计算请求后,根据预设的加密密钥(存储于安全flash)生成对应于应用分区数据的计算校验码(s109’),并将计算校验码发送至应用处理器11(s110)。
107.应用处理器11在接收到计算校验码之后,从安全flash或应用flash中获取存储的标准校验码。对计算校验码和标准校验码进行比较,得到比较结果(s111)。而后对根据比较结果判断针对应用分区数据的校验是否成功(s112)。在针对应用分区数据的校验成功(计算校验码和标准校验码相同)的情况下,确定物联网系统安全启动(s114),并直接关闭第一超时定时器。在针对应用分区数据的校验失败(计算校验码和标准校验码不同)的情况下,控制校验失败的子系统2所对应的电源开关4断开,实现校验失败的子系统2的下电(s113)。
108.并且,应用处理器11还用于在开启第一超时定时器之后进行检测,若在第一超时定时器结束计时仍为收到子系统发送的应用分区数据、校验请求、或者虽然收到应用分区数据但并未完成校验过程,也认定对应的子系统校验失败,控制校验失败的子系统2所对应的电源开关4断开,实现校验失败的子系统2的下电(s113)。
109.本技术实施例所提供的物联网系统的安全启动方法,成本低、且可以保证物联网系统中主系统和每个子系统的安全启动,可以有效地防止针对物联网系统的远程篡改、破坏等攻击。
110.图4示出根据本技术一实施例的物联网系统的安全启动方法的流程示意图。该方法可以应用于上述物联网系统,该方法应用于物联网系统的生产阶段,该方法可以包括步骤s201至步骤s210。
111.在物联网系统的生产阶段,产线上位机6预先为物联网系统生成随机密钥,并将该随机密钥(也即本文其他位置所描述的加密密钥)写入主系统1的安全flash中(s201),将产线上位机随机生成的密钥作为加密密钥,更有利于保证物联网系统的安全启动。主系统1确
定随机密钥被写入之后,向产线上位机6发送至写入成功的报告(s202)。产线上位机6使能启动安全处理器12,并向安全处理器12发送针对标准校验码的生成请求(s203)。安全处理器12在被使能启动且接收到针对标准校验码的生成请求之后,自身或者控制应用处理器11向子系统请求应用分区数据(s204)。
112.子系统2响应于主系统1的请求,将应用分区数据发送至主系统1(s205)。安全处理器12基于加密密钥和应用分区数据生成第一校验码,并将其作为标准校验码存储至安全flash(s206),而后向产线上位机6发送标准校验码已经生成并存储的成功报告(s207)。产线上位机6在确定主系统1已经成功生成并存储标准校验码之后,向安全处理器12发送禁止响应生成请求的指令(s208)。安全处理器12接收到该止响应生成请求的指令之后,不再响应于任何请求生成标准校验码的指令(s209),并向产线上位机6返回结果,以使得产线上位机6确定主系统不会再响应于生成请求,以防止标准校验码被篡改。
113.图5示出根据本技术一实施例的物联网系统的安全启动方法的流程示意图。该方法可以应用于上述物联网系统中的主系统,如图5所示,所述方法包括步骤s51至步骤s53。
114.在步骤s51中,在检测到开机操作时,启动所述安全处理器,并利用所述安全处理器对所述应用flash进行校验。
115.在步骤s52中,在确定对所述应用flash的校验成功后启动所述应用处理器,并利用所述应用处理器分别为所述多个子系统上电,以使上电的子系统向所述应用处理器发送应用分区数据。
116.在步骤s53中,在对来自子系统的应用分区数据进行校验,在确定针对应用分区数据的校验成功且自为所述多个子系统上电至当前时刻的时长小于或等于预设校验时长时,确定所述物联网系统被安全启动。
117.本技术实施例所提供的物联网系统的安全启动方法,成本低、且可以保证物联网系统中主系统和每个子系统的安全启动,可以有效地防止针对物联网系统的远程篡改、破坏等攻击。
118.在一种可能的实现方式中,对来自子系统的应用分区数据进行校验,可以包括:
119.控制所述安全处理器根据存储的加密密钥为应用分区数据生成计算校验码;
120.控制所述应用处理器对所述计算校验码和存储的标准校验码进行比较,得到校验结果,
121.其中,在所述计算校验码和所述标准校验码不同时,确定针对所述应用分区数据的校验失败;在所述计算校验码和所述标准校验码相同时,确定针对所述应用分区数据的校验成功。
122.在一种可能的实现方式中,所述方法还可以包括:
123.在确定所述多个子系统中的一个或多个满足下电条件时,为满足下电条件的子系统下电,
124.所述下电条件包括以下至少一项:未接收到上电的子系统发送的校验请求、未接收到上电的子系统发送的应用分区数据、针对应用分区数据的校验失败、自为所述多个子系统上电至当前时刻的时长已大于校验时长阈值且未完成针对应用分区数据的校验。
125.在一种可能的实现方式中,所述方法还可以包括:
126.在确定已经分别为所述多个子系统上电的情况下,启动所述主系统的第一超时定
时器,并将所述第一超时定时器的超时时长设置为所述预设校验时长,
127.其中,在确定针对应用分区数据的校验成功且自为所述多个子系统上电至当前时刻的时长小于或等于预设校验时长时,确定所述物联网系统被安全启动,包括:在确定针对应用分区数据的校验成功且所述第一超时定时器并未结束计时的情况下,确定所述物联网系统被安全启动。
128.在一种可能的实现方式中,所述方法还可以包括:
129.在生产阶段控制所述安全处理器基于预设的加密密钥和每个子系统的应用分区数据生成第一校验码,并将所述第一校验码作为所述标准校验码存储;或者
130.在所述物联网系统被安全启动之后,在所述安全处理器检测到所述物联网系统完成更新的情况下,根据预设的加密密钥和每个子系统更新后的应用分区数据生成第二校验码,并将所述第二校验码作为新的标准校验码存储。
131.在本技术实施例中还提供一种终端设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述应用于主系统的方法。
132.图6示出根据本技术一实施例的物联网系统的安全启动方法的流程示意图。该方法可以应用于上述物联网系统中的子系统,如图6所示,所述方法包括步骤s61至步骤s63。
133.在步骤s61中,在所述boot分区确定子系统上电后,向所述应用处理器发出校验请求;
134.在步骤s62中,在接收到所述应用处理器的允许应答后,向所述应用处理器发出应用分区的应用分区数据,以使所述应用处理器根据所述应用分区数据对所述子系统进行校验;
135.在步骤s63中,在确定发出所述应用分区数据的发出时刻到当前时刻的时长大于或等于等待校验时长、且所述子系统处于上电状态时,启动所述应用分区。
136.本技术实施例所提供的物联网系统的安全启动方法,成本低、且可以保证物联网系统中主系统和每个子系统的安全启动,可以有效地防止针对物联网系统的远程篡改、破坏等攻击。
137.在一种可能的实现方式中,所述方法还可以包括:
138.在发出所述应用分区数据之后,启动所述子系统的第二超时定时器;
139.其中,在确定发出所述应用分区数据的发出时刻到当前时刻的时长大于或等于等待校验时长、且所述子系统处于上电状态时,启动所述应用分区,包括:
140.在所述第二超时定时器的计时结束且所述子系统处于上电状态时,启动所述应用分区。
141.在本技术实施例中还提供一种终端设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述应用于子系统的方法。
142.本技术的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述应用于主系统和/或子系统的方法。
143.本技术的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
144.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形
设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(electrically programmable read-only-memory,eprom或闪存)、静态随机存取存储器(static random-access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital video disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
145.这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
146.用于执行本技术操作的计算机程序指令可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(wide area network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmable gate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机可读程序指令,从而实现本技术的各个方面。
147.这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
148.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
149.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产
生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
150.附图中的流程图和框图显示了根据本技术的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
151.也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或asic(application specific integrated circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
152.尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
153.以上已经描述了本技术的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献