用于物联网设备通信的方法及装置、物联网设备、服务器转让专利
申请号 : CN202110894840.7
文献号 : CN113346997B
文献日 : 2021-11-02
发明人 : 王治钦 , 覃勇 , 施伟周
申请人 : 北京紫光青藤微系统有限公司
摘要 :
权利要求 :
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所述的用于物联网设备通信的装置。
说明书 :
用于物联网设备通信的方法及装置、物联网设备、服务器
技术领域
背景技术
获取私钥对加密的数据进行解密。
发明内容
为后面的详细说明的序言。
管理系统发送的第一公钥和标识文件;将所述第二公钥发送给所述密钥管理系统触发所述
密钥管理系统生成所述标识文件对应的第二子密钥;所述标识文件包括:安全芯片ID和密
钥ID;根据所述第一公钥和所述第二私钥协商生成并存储所述标识文件对应的第一子密
钥;根据所述第一子密钥和所述标识文件对明文数据进行加密获得待发送数据;将所述待
发送数据发送给服务器,以使所述服务器利用所述密钥管理系统和所述第二子密钥对所述
待发送数据进行解密。
公钥和预设的标识文件给物联网设备的安全芯片,触发所述物联网设备的安全芯片反馈第
二公钥;所述标识文件包括:安全芯片ID、密钥ID;根据所述第二公钥和所述第一私钥协商
生成所述标识文件对应的第二子密钥;根据所述第二子密钥和所述标识文件对服务器发送
的密文数据进行解密获得明文数据;将所述明文数据发送给服务器。
备通信的方法。
网设备通信的方法。
成标识文件对应的第二子密钥;安全芯片将根据第一子密钥和标识文件对明文数据进行加
密获得的待发送数据发送给服务器,使得服务器利用密钥管理系统和第二子密钥对待发送
数据进行解密。这样,服务器利用密钥管理系统和第二子密钥对待发送数据进行解密,不需
要获取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
附图说明
构成比例限制,并且其中:
具体实施方式
在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。
然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化
附图,熟知的结构和装置可以简化展示。
适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”
以及他们的任何变形,意图在于覆盖不排他的包含。
设备通信的方法包括:
标识文件包括:安全芯片ID和密钥ID;
子密钥和标识文件对明文数据进行加密获得的待发送数据发送给服务器,使得服务器利用
密钥管理系统和第二子密钥对待发送数据进行解密。这样,服务器利用密钥管理系统和第
二子密钥对待发送数据进行解密,不需要获取加密数据对应的私钥,避免了私钥泄露,从而
提高了物联网通信的安全程度。
加密数据进行加密获得第一加密数据;将第一加密数据、安全芯片ID、密钥ID与预设的保留
字节进行拼接获得第二加密数据;获取第二加密数据的第一MAC数据;将第二加密数据与第
一MAC数据进行拼接获得待发送数据。
密数据。可选地,加密算法为SM1加密算法、SM2加密算法、SM4 CBC加密算法、SM3加密算法、
3DES加密算法、RSA加密算法或SHA‑1加密算法。
据。
文数据进行拼接能够保证密文的随机性,从而提高了物联网通信的安全程度。
第一加密数据进行拼接,获得第二加密数据。
进行加密,确定字节数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所示的待发送数据。
备通信的方法包括:
子密钥用于对服务器发送的密文数据进行解密获得明文数据。这样,密钥管理系统生成第
二子密钥对服务器发送的密文数据进行解密,使得服务器不需要获取加密数据对应的私
钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
据,包括:密钥管理系统去掉密文数据的第一MAC数据获得第一解密数据;第一解密数据包
括第一加密数据、安全芯片ID、密钥ID和预设的保留字节;去掉第一解密数据的安全芯片
ID、密钥ID和预设的保留字节获得第二解密数据;第二解密数据包括第一加密数据;利用第
二子密钥对第二解密数据进行解密获得第三解密数据;第三解密数据包括随机数、明文数
据;去掉第三解密数据的随机数获得明文数据。
得第三解密数据。可选地,加密算法为SM1加密算法、SM2加密算法、SM4 CBC加密算法、SM3加
密算法、3DES加密算法、RSA加密算法或SHA‑1加密算法。例如,通过SM4 CBC加密算法利用第
二子密钥对第二解密数据进行解密获得第三解密数据。
据、安全芯片ID、密钥ID和预设的保留字节;获取第一解密数据的第二MAC数据;在第二MAC
数据和第一MAC数据相同的情况下,确定密文数据完整;在第二MAC数据和第一MAC数据不相
同的情况下,确定密文数据不完整。
存储标识文件对应的第一子密钥;
数据进行解密,即服务器不需要知道用于待发送数据解密的密钥,服务器的后台工作员工
也不会知道用于待发送数据解密的密钥,从而可以提高物联网通信的安全程度。同时,密钥
管理系统可以为独立的第三方,物联网设备的安全芯片要将用于解密的密钥发送给第三
方,在不确定第三方是否安全可信的情况下,直接发送用于解密的密钥可能会造成解密的
密钥泄露,通过本方案,使用密钥协商算法,物联网设备的安全芯片发送第二公钥,然后密
钥管理系统的第一私钥与第二公钥通过协商算法生成用于解密的密钥,在物联网设备与密
钥管理系统进行交互的过程中没有直接传输用于解密的密钥,能够提高物联网通信的安全
程度。
公钥和预设的标识文件对应的哈希值发送给用户终端;用户终端获取第一公钥和预设的标
识文件及第一公钥和预设的标识文件对应的哈希值;用户终端对第一公钥和预设的标识文
件的哈希值进行校验获得哈希值校验结果;在哈希值校验结果为通过的情况下,将第一公
钥和标识文件发送给物联网设备的安全芯片。
和预设的标识文件对应的哈希值。可选地,用户终端为计算机。
用哈希值校验工具校验第一公钥和预设的标识文件的哈希值,得到哈希值校验结果,在哈
希值校验结果为通过的情况下,将第一公钥和预设的标识文件发送给物联网设备的安全芯
片。
改,提高了物联网通信的安全程度。
MCU。将复杂的安全操作在安全芯片上完成,能够简化主控端开发人员对安全这块的设计、
开发流程,同时密钥等敏感数据不需要保存在MCU中,减少密钥暴露的风险,提高了物联网
通信的安全程度。
厂之后使用密钥ID为0100的第一子密钥,在密钥ID为0100的第一子密钥检查到遭遇攻击,
例如:安全芯片内部的安全传感器检测到高压、电磁干扰等,或,安全芯片接收到的异常数
据达到设定的频次的情况下,安全芯片自动切换为密钥ID为0101的第一子密钥。这样,密钥
ID可以用于区分不用的第一子密钥的用途,在第一子密钥检查到遭遇攻击的情况下切换成
另一个第一子密钥,能够增强安全性。
芯片104电连接。可选地,该装置还可以包括第二通信接口(Communication Interface)102
和第二总线103。其中,第二处理器100、第二通信接口102、第二存储器101、安全芯片104可
以通过第二总线103完成相互间的通信。第二通信接口102可以用于信息传输。安全芯片104
可以调用第二存储器101中的逻辑指令,以执行上述实施例的应用于物联网设备的安全芯
片侧的用于物联网设备通信的方法。
第二存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例
中应用于物联网设备的安全芯片侧的用于物联网设备通信的方法。
等。此外,第二存储器101可以包括高速随机存取第二存储器,还可以包括非易失性第二存
储器。
第一子密钥和标识文件对明文数据进行加密获得的待发送数据发送给服务器,使得服务器
利用密钥管理系统和第二子密钥对待发送数据进行解密。这样,服务器利用密钥管理系统
和第二子密钥对待发送数据进行解密,不需要获取加密数据对应的私钥,避免了私钥泄露,
从而提高了物联网通信的安全程度。
的第一公钥和标识文件;将第二公钥发送给密钥管理系统触发密钥管理系统生成标识文件
对应的第二子密钥;标识文件包括:安全芯片ID和密钥ID;根据第一公钥和第二私钥协商生
成并存储标识文件对应的第一子密钥;根据第一子密钥和标识文件对明文数据进行加密获
得待发送数据;将待发送数据发送给服务器,以使服务器利用密钥管理系统和第二子密钥
对待发送数据进行解密。物联网设备将第二公钥发送给密钥管理系统触发密钥管理系统生
成标识文件对应的第二子密钥;物联网设备将根据第一子密钥和标识文件对明文数据进行
加密获得的待发送数据发送给服务器,使得服务器利用密钥管理系统和第二子密钥对待发
送数据进行解密。这样,服务器利用密钥管理系统和第二子密钥对待发送数据进行解密,不
需要获取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
(Communication Interface)202和第一总线203。其中,第一处理器200、第一通信接口202、
第一存储器201可以通过第一总线203完成相互间的通信。第一通信接口202可以用于信息
传输。第一处理器200可以调用第一存储器201中的逻辑指令,以执行上述实施例的应用于
密钥管理系统侧的用于物联网设备通信的方法。
第一存储器201中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例
中应用于密钥管理系统侧的用于物联网设备通信的方法。
等。此外,第一存储器201可以包括高速随机存取第一存储器,还可以包括非易失性第一存
储器。
于对服务器发送的密文数据进行解密获得明文数据。这样,该装置生成第二子密钥对服务
器发送的密文数据进行解密,则,服务器不需要获取加密数据对应的私钥,避免了私钥泄
露,从而提高了物联网通信的安全程度。
标识文件给物联网设备的安全芯片,触发物联网设备的安全芯片反馈第二公钥;标识文件
包括:安全芯片ID、密钥ID;根据第二公钥和第一私钥协商生成标识文件对应的第二子密
钥;根据第二子密钥和标识文件对服务器发送的密文数据进行解密获得明文数据;将明文
数据发送给服务器。设置有密钥管理系统的服务器接收安全芯片反馈第二公钥,根据第二
公钥和第一私钥协商生成标识文件对应的第二子密钥;将第二子密钥用于对进行通信的服
务器发送的密文数据进行解密获得明文数据。这样,设置有密钥管理系统的服务器生成第
二子密钥对进行通信的服务器发送的密文数据进行解密,使得进行通信的服务器不需要获
取加密数据对应的私钥,避免了私钥泄露,从而提高了物联网通信的安全程度。
机执行时,使所述计算机执行上述应用于密钥管理系统侧的用于物联网设备通信的方法。
服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介
质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随
机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等多种可以存储程序代码的介
质,也可以是暂态存储介质。
可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。
一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中
使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述
中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)
旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个
以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”
(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、
步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、
元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一
个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要
素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同
相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法
部分相对应,那么相关之处可以参见方法部分的描述。
件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员
可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出
本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的
系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘
述。
划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或
组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示
或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接
耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或
者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可
以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部
分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个
处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单
元中。
模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现
规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以
不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们
有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所
对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发
生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可
以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图
和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功
能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实
现。