用于物联网设备通信的方法及装置、物联网设备、服务器转让专利

申请号 : CN202110894840.7

文献号 : CN113346997B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王治钦覃勇施伟周

申请人 : 北京紫光青藤微系统有限公司

摘要 :

本申请涉及物联网通信技术领域,公开一种用于物联网设备通信的方法,应用于物联网设备的安全芯片侧,通过安全芯片将第二公钥发送给密钥管理系统触发密钥管理系统生成标识文件对应的第二子密钥;安全芯片将根据第一子密钥和标识文件对明文数据进行加密获得的待发送数据发送给服务器,使得服务器利用密钥管理系统和第二子密钥对待发送数据进行解密。这样,服务器利用密钥管理系统和第二子密钥对待发送数据进行解密,不需要获取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。本申请还公开一种用于物联网设备通信的装置、物联网设备、服务器。

权利要求 :

1.一种用于物联网设备通信的方法,应用于物联网设备的安全芯片侧,其特征在于,所述安全芯片生成有第二公钥和所述第二公钥对应的第二私钥;所述方法包括:接收密钥管理系统发送的第一公钥和标识文件;将所述第二公钥发送给所述密钥管理系统触发所述密钥管理系统生成所述标识文件对应的第二子密钥;所述标识文件包括:安全芯片ID和密钥ID;

根据所述第一公钥和所述第二私钥协商生成并存储所述标识文件对应的第一子密钥;

根据所述第一子密钥和所述标识文件对明文数据进行加密获得待发送数据;

将所述待发送数据发送给服务器,以使所述服务器利用所述密钥管理系统和所述第二子密钥对所述待发送数据进行解密;

根据所述第一子密钥和所述标识文件对明文数据进行加密获得待发送数据,包括:获取所述明文数据对应的待加密数据;

利用所述第一子密钥对所述待加密数据进行加密获得第一加密数据;

将所述第一加密数据、安全芯片ID、密钥ID与预设的保留字节进行拼接获得第二加密数据;

获取所述第二加密数据的第一MAC数据;

将所述第二加密数据与所述第一MAC数据进行拼接获得待发送数据;

获取第二加密数据的第一MAC数据,包括:通过SM4 MAC算法利用第一子密钥计算第二加密数据获得第一MAC数据。

2.根据权利要求1所述的方法,其特征在于,获取所述明文数据对应的待加密数据,包括:

生成随机数;

将所述随机数与所述明文数据进行拼接获得所述明文数据对应的待加密数据。

3.根据权利要求1所述的方法,其特征在于,将所述第二加密数据与所述第一MAC数据进行拼接获得待发送数据,包括:将所述第一MAC数据附加到所述第二加密数据的结尾位置后,获得待发送数据。

4.一种用于物联网设备通信的方法,应用于密钥管理系统侧,其特征在于,所述密钥管理系统生成有第一公钥和所述第一公钥对应的第一私钥;所述方法包括:发送所述第一公钥和预设的标识文件给物联网设备的安全芯片,触发所述物联网设备的安全芯片反馈第二公钥;所述标识文件包括:安全芯片ID、密钥ID;

根据所述第二公钥和所述第一私钥协商生成所述标识文件对应的第二子密钥;

根据所述第二子密钥和所述标识文件对服务器发送的密文数据进行解密获得明文数据;

将所述明文数据发送给服务器;

所述密文数据包括第一加密数据、安全芯片ID、密钥ID、预设的保留字节和第一MAC数据;根据所述第二子密钥对服务器发送的密文数据进行解密获得明文数据,包括:去掉所述密文数据的第一MAC数据获得第一解密数据;所述第一解密数据包括第一加密数据、安全芯片ID、密钥ID和预设的保留字节;

去掉所述第一解密数据的安全芯片ID、密钥ID和预设的保留字节获得第二解密数据;

所述第二解密数据包括第一加密数据;

利用所述第二子密钥对所述第二解密数据进行解密获得第三解密数据;所述第三解密数据包括随机数、明文数据;

去掉所述第三解密数据的随机数获得明文数据;

所述第一MAC数据由物联网设备的安全芯片通过SM4 MAC算法利用第一子密钥计算第二加密数据获得。

5.一种用于物联网设备通信的装置,包括安全芯片和存储有程序指令的第二存储器,其特征在于,所述安全芯片被配置为在运行所述程序指令时,执行如权利要求1至3任一项所述的用于物联网设备通信的方法。

6.一种物联网设备,其特征在于,包括如权利要求5所述的用于物联网设备通信的装置。

7.一种用于物联网设备通信的装置,包括第一处理器和存储有程序指令的第一存储器,其特征在于,所述第一处理器被配置为在运行所述程序指令时,执行如权利要求4所述的用于物联网设备通信的方法。

8.一种服务器,其特征在于,包括如权利要求7所述的用于物联网设备通信的装置。

说明书 :

用于物联网设备通信的方法及装置、物联网设备、服务器

技术领域

[0001] 本申请涉及物联网通信技术领域,例如涉及一种用于物联网设备通信的方法及装置、物联网设备、服务器。

背景技术

[0002] 目前,随着物联网的不断发展,为提高物联网通信的安全程度,在物联网通信过程中加入了安全芯片,利用该安全芯片对物联网设备待发送的数据进行加密,并通过服务器
获取私钥对加密的数据进行解密。
[0003] 在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
[0004] 在服务器解密的过程中需要获取加密数据对应的私钥,这样的通信方式可能导致私钥泄露,从而使得物联网通信的安全程度较低。

发明内容

[0005] 为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作
为后面的详细说明的序言。
[0006] 本公开实施例提供了一种用于物联网设备通信的方法及装置、物联网设备、服务器,以提高物联网通信的安全程度。
[0007] 在一些实施例中,用于物联网设备通信的方法,应用于物联网设备的安全芯片侧,所述安全芯片生成有第二公钥和所述第二公钥对应的第二私钥;所述方法包括:接收密钥
管理系统发送的第一公钥和标识文件;将所述第二公钥发送给所述密钥管理系统触发所述
密钥管理系统生成所述标识文件对应的第二子密钥;所述标识文件包括:安全芯片ID和密
钥ID;根据所述第一公钥和所述第二私钥协商生成并存储所述标识文件对应的第一子密
钥;根据所述第一子密钥和所述标识文件对明文数据进行加密获得待发送数据;将所述待
发送数据发送给服务器,以使所述服务器利用所述密钥管理系统和所述第二子密钥对所述
待发送数据进行解密。
[0008] 在一些实施例中,用于物联网设备通信的方法,应用于密钥管理系统侧,所述密钥管理系统生成有第一公钥和所述第一公钥对应的第一私钥;所述方法包括:发送所述第一
公钥和预设的标识文件给物联网设备的安全芯片,触发所述物联网设备的安全芯片反馈第
二公钥;所述标识文件包括:安全芯片ID、密钥ID;根据所述第二公钥和所述第一私钥协商
生成所述标识文件对应的第二子密钥;根据所述第二子密钥和所述标识文件对服务器发送
的密文数据进行解密获得明文数据;将所述明文数据发送给服务器。
[0009] 在一些实施例中,用于物联网设备通信的装置,包括安全芯片和存储有程序指令的第二存储器,所述安全芯片被配置为在运行所述程序指令时,执行上述的用于物联网设
备通信的方法。
[0010] 在一些实施例中,物联网设备包括上述的用于物联网设备通信的装置。
[0011] 在一些实施例中,用于物联网设备通信的装置,包括第一处理器和存储有程序指令的第一存储器,所述第一处理器被配置为在运行所述程序指令时,执行上述的用于物联
网设备通信的方法。
[0012] 在一些实施例中,服务器包括上述的用于物联网设备通信的装置。
[0013] 本公开实施例提供的用于物联网设备通信的方法及装置、物联网设备、服务器,可以实现以下技术效果:通过安全芯片将第二公钥发送给密钥管理系统触发密钥管理系统生
成标识文件对应的第二子密钥;安全芯片将根据第一子密钥和标识文件对明文数据进行加
密获得的待发送数据发送给服务器,使得服务器利用密钥管理系统和第二子密钥对待发送
数据进行解密。这样,服务器利用密钥管理系统和第二子密钥对待发送数据进行解密,不需
要获取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
[0014] 以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

附图说明

[0015] 一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不
构成比例限制,并且其中:
[0016] 图1是本公开实施例提供的一个用于物联网设备通信的方法的示意图;
[0017] 图2是本公开实施例提供的一个待发送数据的示意图;
[0018] 图3是本公开实施例提供的另一个用于物联网设备通信的方法的示意图;
[0019] 图4是本公开实施例提供的一个用于物联网设备通信的方法的时序图;
[0020] 图5是本公开实施例提供的一个用于物联网设备通信的装置的示意图;
[0021] 图6是本公开实施例提供的另一个用于物联网设备通信的装置的示意图。

具体实施方式

[0022] 为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。
在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。
然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化
附图,熟知的结构和装置可以简化展示。
[0023] 本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在
适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”
以及他们的任何变形,意图在于覆盖不排他的包含。
[0024] 除非另有说明,术语“多个”表示两个或两个以上。
[0025] 本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
[0026] 术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
[0027] 术语“对应”可以指的是一种关联关系或绑定关系,A与B相对应指的是A与B之间是一种关联关系或绑定关系。
[0028] 结合图1所示,本公开实施例提供一种用于物联网设备通信的方法,应用于物联网设备的安全芯片侧,安全芯片生成有第二公钥和第二公钥对应的第二私钥;该用于物联网
设备通信的方法包括:
[0029] 步骤S101,物联网设备的安全芯片接收密钥管理系统发送的第一公钥和标识文件;将第二公钥发送给密钥管理系统触发密钥管理系统生成标识文件对应的第二子密钥;
标识文件包括:安全芯片ID和密钥ID;
[0030] 步骤S102,物联网设备的安全芯片根据第一公钥和第二私钥协商生成并存储标识文件对应的第一子密钥;
[0031] 步骤S103,物联网设备的安全芯片根据第一子密钥和标识文件对明文数据进行加密获得待发送数据;
[0032] 步骤S104,物联网设备的安全芯片将待发送数据发送给服务器,以使服务器利用密钥管理系统和第二子密钥对待发送数据进行解密。
[0033] 采用本公开实施例的用于物联网设备通信的方法,通过安全芯片将第二公钥发送给密钥管理系统触发密钥管理系统生成标识文件对应的第二子密钥;安全芯片将根据第一
子密钥和标识文件对明文数据进行加密获得的待发送数据发送给服务器,使得服务器利用
密钥管理系统和第二子密钥对待发送数据进行解密。这样,服务器利用密钥管理系统和第
二子密钥对待发送数据进行解密,不需要获取加密数据对应的私钥,避免了私钥泄露,从而
提高了物联网通信的安全程度。
[0034] 可选地,第二子密钥与第一子密钥相同,第二子密钥用于对待发送数据进行解密。
[0035] 在一些实施例中,第一子密钥可按照功能划分为3个部分,每一部分为16字节。第一部分用于数据加密,第二部分用于计算MAC数据,第三部分用于数据解密。
[0036] 可选地,物联网设备的安全芯片根据第一子密钥对明文数据进行加密获得待发送数据,包括:物联网设备的安全芯片获取明文数据对应的待加密数据;利用第一子密钥对待
加密数据进行加密获得第一加密数据;将第一加密数据、安全芯片ID、密钥ID与预设的保留
字节进行拼接获得第二加密数据;获取第二加密数据的第一MAC数据;将第二加密数据与第
一MAC数据进行拼接获得待发送数据。
[0037] 可选地,物联网设备的安全芯片利用第一子密钥对待加密数据进行加密获得第一加密数据,包括:利用第一子密钥通过预设的加密算法对待加密数据进行加密获得第一加
密数据。可选地,加密算法为SM1加密算法、SM2加密算法、SM4 CBC加密算法、SM3加密算法、
3DES加密算法、RSA加密算法或SHA‑1加密算法。
[0038] 可选地,物联网设备的安全芯片获取明文数据对应的待加密数据,包括:物联网设备的安全芯片生成随机数;将随机数与明文数据进行拼接获得明文数据对应的待加密数
据。
[0039] 在一些实施例中,物联网设备的安全芯片随机生成8字节的随机数。
[0040] 可选地,将随机数与明文数据进行拼接获得明文数据对应的待加密数据,包括:在明文数据的起始位置前拼接随机数,获得明文数据对应的待加密数据。这样,将随机数与明
文数据进行拼接能够保证密文的随机性,从而提高了物联网通信的安全程度。
[0041] 可选地,物联网设备的安全芯片将第一加密数据、安全芯片ID、密钥ID与预设的保留字节进行拼接获得第二加密数据,包括:依次将安全芯片ID、预设的保留字节、密钥ID和
第一加密数据进行拼接,获得第二加密数据。
[0042] 在一些实施例中,预设的保留字节为0x000。
[0043] 可选地,物联网设备的安全芯片获取第二加密数据的第一MAC数据,包括:通过SM4 MAC算法利用第一子密钥计算第二加密数据获得第一MAC数据。
[0044] 可选地,物联网设备的安全芯片将第二加密数据与第一MAC数据进行拼接获得待发送数据,包括:将第一MAC数据附加到第二加密数据的结尾位置后,获得待发送数据。
[0045] 在一些实施例中,明文数据有N个字节,在明文数据的起始位置前拼接8字节的随机数得到字节数为8+N的待加密数据,利用第一子密钥通过SM4 CBC加密算法对待加密数据
进行加密,确定字节数8+N是否为8的整数倍,在字节数8+N不为8的整数倍的情况下,对待加
密数据填充R字节的数据,使得待加密数据的字节数8+N+R为8的整数倍。在待加密数据的字
节数为8的整数倍的情况下,R为0。然后将待加密数据依照8个字节一组进行分组得到明文
分组D1、明文分组D2......明文分组Dn;将D1与初始化向量异或后的结果利用第一子密钥
进行DES加密得到第一组密文C1,其中初始化向量为全零,将D2与C1异或后的结果利用第一
子密钥进行DES加密,得到第二组密文C2,依次类推得到第三组密文C3、第四组密文
C4......第n组密文Cn;按照C1、C2.......Cn的顺序依次连接获得第一加密数据。依次将安
全芯片ID、预设的保留字节、密钥ID和第一加密数据进行拼接,获得第二加密数据。通过SM4 
MAC算法利用第一子密钥计算第二加密数据获得第一MAC数据,将第一MAC数据附加到第二
加密数据的结尾位置后,获得如图2所示的待发送数据。
[0046] 结合图3所示,本公开实施例提供另一种用于物联网设备通信的方法,应用于密钥管理系统侧,密钥管理系统生成有第一公钥和第一公钥对应的第一私钥;该用于物联网设
备通信的方法包括:
[0047] 步骤S201,密钥管理系统发送第一公钥和预设的标识文件给物联网设备的安全芯片,触发物联网设备的安全芯片反馈第二公钥;标识文件包括:安全芯片ID、密钥ID;
[0048] 步骤S202,密钥管理系统根据第二公钥和第一私钥协商生成标识文件对应的第二子密钥;
[0049] 步骤S203,密钥管理系统根据第二子密钥和标识文件对服务器发送的密文数据进行解密获得明文数据;
[0050] 步骤S204,密钥管理系统将明文数据发送给服务器。
[0051] 采用本公开实施例的用于物联网设备通信的方法,通过密钥管理系统接收安全芯片反馈第二公钥,根据第二公钥和第一私钥协商生成标识文件对应的第二子密钥;将第二
子密钥用于对服务器发送的密文数据进行解密获得明文数据。这样,密钥管理系统生成第
二子密钥对服务器发送的密文数据进行解密,使得服务器不需要获取加密数据对应的私
钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
[0052] 在一些实施例中,第一公钥和第一私钥均与标识文件存在对应关系。
[0053] 可选地,第一子密钥与第二子密钥相同。
[0054] 可选地,密文数据包括第一加密数据、安全芯片ID、密钥ID、预设的保留字节和第一MAC数据;密钥管理系统根据第二子密钥对服务器发送的密文数据进行解密获得明文数
据,包括:密钥管理系统去掉密文数据的第一MAC数据获得第一解密数据;第一解密数据包
括第一加密数据、安全芯片ID、密钥ID和预设的保留字节;去掉第一解密数据的安全芯片
ID、密钥ID和预设的保留字节获得第二解密数据;第二解密数据包括第一加密数据;利用第
二子密钥对第二解密数据进行解密获得第三解密数据;第三解密数据包括随机数、明文数
据;去掉第三解密数据的随机数获得明文数据。
[0055] 可选地,密文数据为待发送数据,第一解密数据为第二加密数据,第二解密数据为第一加密数据,第三解密数据为待加密数据。
[0056] 可选地,密钥管理系统利用第二子密钥对第二解密数据进行解密获得第三解密数据,包括:密钥管理系统通过预设的加密算法利用第二子密钥对第二解密数据进行解密获
得第三解密数据。可选地,加密算法为SM1加密算法、SM2加密算法、SM4 CBC加密算法、SM3加
密算法、3DES加密算法、RSA加密算法或SHA‑1加密算法。例如,通过SM4 CBC加密算法利用第
二子密钥对第二解密数据进行解密获得第三解密数据。
[0057] 可选地,密钥管理系统在根据第二子密钥对服务器发送的密文数据进行解密获得明文数据前,还包括:密钥管理系统对密文数据进行校验,确定密文数据是否完整。
[0058] 可选地,密钥管理系统对密文数据进行校验,确定密文数据是否完整,包括:密钥管理系统去掉密文数据的第一MAC数据获得第一解密数据;第一解密数据包括第一加密数
据、安全芯片ID、密钥ID和预设的保留字节;获取第一解密数据的第二MAC数据;在第二MAC
数据和第一MAC数据相同的情况下,确定密文数据完整;在第二MAC数据和第一MAC数据不相
同的情况下,确定密文数据不完整。
[0059] 可选地,获取第一解密数据的第二MAC数据,包括:通过SM4 MAC算法利用第二子密钥计算第一解密数据获得第二MAC数据。
[0060] 这样,通过计算第一MAC数据和第二MAC数据,能够校验密文数据是否完整。
[0061] 可选地,密钥管理系统部署在服务端所在的服务器。可选地,密钥管理系统部署在服务端以外的服务器中。
[0062] 结合图4所示,本公开实施例提供一种用于物联网设备通信的方法,物联网设备包括处理器和安全芯片,该方法包括:
[0063] 步骤S301,密钥管理系统生成第一公钥和第一公钥对应的第一私钥;
[0064] 步骤S302,密钥管理系统发送第一公钥和预设的标识文件给物联网设备的处理器,标识文件包括:安全芯片ID、密钥ID;
[0065] 步骤S303,物联网设备的处理器接收密钥管理系统发送的第一公钥和标识文件;
[0066] 步骤S304,物联网设备的处理器将第一公钥和标识文件发送给物联网设备的安全芯片;
[0067] 步骤S305,物联网设备的安全芯片生成第二公钥和第二公钥对应的第二私钥;接收物联网设备的处理器发送的第一公钥和标识文件;根据第一公钥和第二私钥协商生成并
存储标识文件对应的第一子密钥;
[0068] 步骤S306,物联网设备的安全芯片发送第二公钥给物联网设备的处理器;
[0069] 步骤S307,物联网设备的处理器接收物联网设备的安全芯片发送的第二公钥;
[0070] 步骤S308,物联网设备的处理器发送第二公钥给密钥管理系统;
[0071] 步骤S309,密钥管理系统接收物联网设备的处理器发送的第二公钥;根据第二公钥和第一私钥协商生成标识文件对应的第二子密钥;
[0072] 步骤S310,物联网设备的安全芯片根据第一子密钥和标识文件对明文数据进行加密获得待发送数据;
[0073] 步骤S311,物联网设备的安全芯片将待发送数据发送给服务器;
[0074] 步骤S312,服务器接收待发送数据;
[0075] 步骤S313,服务器将待发送数据发送给密钥管理系统;
[0076] 步骤S314,密钥管理系统接收待发送数据,根据第二子密钥和标识文件对服务器发送的待发送数据进行解密获得明文数据;
[0077] 步骤S315,密钥管理系统发送明文数据给服务器;
[0078] 步骤S316,服务器接收明文数据。
[0079] 采用本公开实施例提供的用于物联网设备通信的方法,将加密后的待发送数据发送给服务器,服务器将待发送数据发送给密钥管理系统进行解密,服务器不用对待发送的
数据进行解密,即服务器不需要知道用于待发送数据解密的密钥,服务器的后台工作员工
也不会知道用于待发送数据解密的密钥,从而可以提高物联网通信的安全程度。同时,密钥
管理系统可以为独立的第三方,物联网设备的安全芯片要将用于解密的密钥发送给第三
方,在不确定第三方是否安全可信的情况下,直接发送用于解密的密钥可能会造成解密的
密钥泄露,通过本方案,使用密钥协商算法,物联网设备的安全芯片发送第二公钥,然后密
钥管理系统的第一私钥与第二公钥通过协商算法生成用于解密的密钥,在物联网设备与密
钥管理系统进行交互的过程中没有直接传输用于解密的密钥,能够提高物联网通信的安全
程度。
[0080] 在一些实施例中,服务器接收待发送数据,在密钥管理系统中调用待发送数据对应的第二子密钥,根据第二子密钥和标识文件对待发送数据进行解密获得明文数据。
[0081] 可选地,物联网设备的安全芯片接收密钥管理系统发送的第一公钥和标识文件,包括:物联网设备的安全芯片接收哈希值校验结果为通过的第一公钥和标识文件。
[0082] 可选地,哈希值校验结果为通过的第一公钥和标识文件按照以下方式获得:密钥管理系统对第一公钥和预设的标识文件计算哈希值,将第一公钥和预设的标识文件及第一
公钥和预设的标识文件对应的哈希值发送给用户终端;用户终端获取第一公钥和预设的标
识文件及第一公钥和预设的标识文件对应的哈希值;用户终端对第一公钥和预设的标识文
件的哈希值进行校验获得哈希值校验结果;在哈希值校验结果为通过的情况下,将第一公
钥和标识文件发送给物联网设备的安全芯片。
[0083] 可选地,用户终端对第一公钥和预设的标识文件的哈希值进行校验获得哈希值校验结果,包括:用户终端利用哈希值校验工具校验第一公钥和预设的标识文件及第一公钥
和预设的标识文件对应的哈希值。可选地,用户终端为计算机。
[0084] 在一些实施例中,由密钥管理系统对第一公钥和预设的标识文件计算哈希值,用户接收第一公钥和预设的标识文件以及第一公钥和预设的标识文件对应的哈希值,用户利
用哈希值校验工具校验第一公钥和预设的标识文件的哈希值,得到哈希值校验结果,在哈
希值校验结果为通过的情况下,将第一公钥和预设的标识文件发送给物联网设备的安全芯
片。
[0085] 这样,通过计算第一公钥和预设的标识文件的哈希值,并对第一公钥和预设的标识文件的哈希值进行校验,能够确保导入物联网设备的第一公钥和预设的标识文件未被篡
改,提高了物联网通信的安全程度。
[0086] 在一些实施例中,将安全芯片放置于MCU与物联网模组之间,保障了物联网系统端到端安全通信,安全芯片能够充当防火墙的作用,对非法数据提前拦截,避免其直接攻击
MCU。将复杂的安全操作在安全芯片上完成,能够简化主控端开发人员对安全这块的设计、
开发流程,同时密钥等敏感数据不需要保存在MCU中,减少密钥暴露的风险,提高了物联网
通信的安全程度。
[0087] 在一些实施例中,安全芯片中存储有多组第一子密钥,各子密钥对应不同的密钥ID,可以根据使用场景使用不同的密钥,比如生产阶段使用密钥ID为01FF的第一子密钥,出
厂之后使用密钥ID为0100的第一子密钥,在密钥ID为0100的第一子密钥检查到遭遇攻击,
例如:安全芯片内部的安全传感器检测到高压、电磁干扰等,或,安全芯片接收到的异常数
据达到设定的频次的情况下,安全芯片自动切换为密钥ID为0101的第一子密钥。这样,密钥
ID可以用于区分不用的第一子密钥的用途,在第一子密钥检查到遭遇攻击的情况下切换成
另一个第一子密钥,能够增强安全性。
[0088] 结合图5所示,本公开实施例提供一种用于物联网设备通信的装置,包括安全芯片104和第二存储器(memory)101,还包括第二处理器(processor)100,第二处理器100与安全
芯片104电连接。可选地,该装置还可以包括第二通信接口(Communication Interface)102
和第二总线103。其中,第二处理器100、第二通信接口102、第二存储器101、安全芯片104可
以通过第二总线103完成相互间的通信。第二通信接口102可以用于信息传输。安全芯片104
可以调用第二存储器101中的逻辑指令,以执行上述实施例的应用于物联网设备的安全芯
片侧的用于物联网设备通信的方法。
[0089] 此外,上述的第二存储器101中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0090] 第二存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。第二处理器100通过运行存储在
第二存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例
中应用于物联网设备的安全芯片侧的用于物联网设备通信的方法。
[0091] 第二存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据
等。此外,第二存储器101可以包括高速随机存取第二存储器,还可以包括非易失性第二存
储器。
[0092] 采用本公开实施例提供的用于物联网设备通信的装置,通过安全芯片将第二公钥发送给密钥管理系统触发密钥管理系统生成标识文件对应的第二子密钥;安全芯片将根据
第一子密钥和标识文件对明文数据进行加密获得的待发送数据发送给服务器,使得服务器
利用密钥管理系统和第二子密钥对待发送数据进行解密。这样,服务器利用密钥管理系统
和第二子密钥对待发送数据进行解密,不需要获取加密数据对应的私钥,避免了私钥泄露,
从而提高了物联网通信的安全程度。
[0093] 本公开实施例提供了一种物联网设备,包含上述的用于物联网设备通信的装置。安全芯片生成有第二公钥和第二公钥对应的第二私钥;方法包括:接收密钥管理系统发送
的第一公钥和标识文件;将第二公钥发送给密钥管理系统触发密钥管理系统生成标识文件
对应的第二子密钥;标识文件包括:安全芯片ID和密钥ID;根据第一公钥和第二私钥协商生
成并存储标识文件对应的第一子密钥;根据第一子密钥和标识文件对明文数据进行加密获
得待发送数据;将待发送数据发送给服务器,以使服务器利用密钥管理系统和第二子密钥
对待发送数据进行解密。物联网设备将第二公钥发送给密钥管理系统触发密钥管理系统生
成标识文件对应的第二子密钥;物联网设备将根据第一子密钥和标识文件对明文数据进行
加密获得的待发送数据发送给服务器,使得服务器利用密钥管理系统和第二子密钥对待发
送数据进行解密。这样,服务器利用密钥管理系统和第二子密钥对待发送数据进行解密,不
需要获取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
[0094] 可选地,物联网设备包括:计算机、智能手机、智能穿戴、智能家居等。
[0095] 可选地,智能穿戴包括:智能手表、智能手环等。
[0096] 可选地,智能家居包括:智能空气净化器平台,扫地机器人等。
[0097] 结合图6所示,本公开实施例提供一种用于物联网设备通信的装置,包括第一处理器(processor)200和第一存储器(memory)201。可选地,该装置还可以包括第一通信接口
(Communication Interface)202和第一总线203。其中,第一处理器200、第一通信接口202、
第一存储器201可以通过第一总线203完成相互间的通信。第一通信接口202可以用于信息
传输。第一处理器200可以调用第一存储器201中的逻辑指令,以执行上述实施例的应用于
密钥管理系统侧的用于物联网设备通信的方法。
[0098] 此外,上述的第一存储器201中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
[0099] 第一存储器201作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。第一处理器200通过运行存储在
第一存储器201中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例
中应用于密钥管理系统侧的用于物联网设备通信的方法。
[0100] 第一存储器201可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据
等。此外,第一存储器201可以包括高速随机存取第一存储器,还可以包括非易失性第一存
储器。
[0101] 采用本公开实施例提供的用于物联网设备通信的装置,通过接收安全芯片反馈第二公钥,根据第二公钥和第一私钥协商生成标识文件对应的第二子密钥;将第二子密钥用
于对服务器发送的密文数据进行解密获得明文数据。这样,该装置生成第二子密钥对服务
器发送的密文数据进行解密,则,服务器不需要获取加密数据对应的私钥,避免了私钥泄
露,从而提高了物联网通信的安全程度。
[0102] 本公开实施例提供了一种服务器,包含上述的用于物联网设备通信的装置。密钥管理系统生成有第一公钥和第一公钥对应的第一私钥;方法包括:发送第一公钥和预设的
标识文件给物联网设备的安全芯片,触发物联网设备的安全芯片反馈第二公钥;标识文件
包括:安全芯片ID、密钥ID;根据第二公钥和第一私钥协商生成标识文件对应的第二子密
钥;根据第二子密钥和标识文件对服务器发送的密文数据进行解密获得明文数据;将明文
数据发送给服务器。设置有密钥管理系统的服务器接收安全芯片反馈第二公钥,根据第二
公钥和第一私钥协商生成标识文件对应的第二子密钥;将第二子密钥用于对进行通信的服
务器发送的密文数据进行解密获得明文数据。这样,设置有密钥管理系统的服务器生成第
二子密钥对进行通信的服务器发送的密文数据进行解密,使得进行通信的服务器不需要获
取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
[0103] 本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述应用于密钥管理系统侧的用于物联网设备通信的方法。
[0104] 本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算
机执行时,使所述计算机执行上述应用于密钥管理系统侧的用于物联网设备通信的方法。
[0105] 上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
[0106] 本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,
服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介
质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随
机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介
质,也可以是暂态存储介质。
[0107] 以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表
可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。
一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中
使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述
中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)
旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个
以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”
(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、
步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、
元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一
个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要
素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同
相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法
部分相对应,那么相关之处可以参见方法部分的描述。
[0108] 本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬
件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员
可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出
本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的
系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘
述。
[0109] 本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或
组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示
或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接
耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或
者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可
以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部
分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个
处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单
元中。
[0110] 附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个
模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现
规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以
不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们
有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所
对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发
生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可
以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图
和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功
能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实
现。