具有可信计算架构的物联网操作系统的信息处理方法与流程

文档序号:20839674发布日期:2020-05-22 17:20阅读:244来源:国知局
具有可信计算架构的物联网操作系统的信息处理方法与流程

本发明涉及通信领域,具体而言,涉及一种具有可信计算架构的物联网操作系统的信息处理方法。



背景技术:

随着物联网设备与应用逐渐增多,物联网操作系统面临的安全风险也逐渐增大。尤其是在智能家居领域,各种智能家居设备系统中保存和使用的用户隐私信息也越来越多。这些数据不仅包含与用户身份认证直接相关的指纹、密码等隐私信息,还包括用户日常生活中的隐私信息。智能家居操作系统的首要安全需求是保护用户的隐私数据,操作系统需要在不影响应用端使用这些隐私数据的同时防止隐私数据泄露。

现有的操作系统安全架构都是基于可信计算平台。可信计算平台包含可信平台模块tpm。tpm完成可信度量的存储、可信度量的报告、密钥产生、加密和签名、数据安全存储等功能,并对外提供系统的、规范的、受保护的访问接口。

由于大多数物联网设备为微型嵌入式设备,其软硬件资源均有限,而目前的tpm会带来较大时间和能耗的开销。以tpm中所采用的rsa算法为例,实际应用中rsa的密钥长度为1024位,重要场合为2048位,在解密时花费时间较长,且需要很大的计算量进行加密和解密。

此外,为了保证整体网络的安全性,往往物联网设备平台会在网络运行了一个较长时间之后,对整个网络的密钥进行一次大更新。而整个网络中包括大量的物联网节点,每个物联网节点的密钥更新,以及物联网节点之间的密钥协商需要花费极多的时间和消耗极多的能量。

因此,针对相关技术中可信平台模块的物联网操作系统的时间和能耗开销大的问题,目前尚未存在有效的解决方案。



技术实现要素:

本发明实施例提供了一种具有可信计算架构的物联网操作系统的信息处理方法,以至少解决相关技术中可信平台模块的物联网操作系统的时间和能耗开销大的问题。

根据本发明的一个实施例,提供了一种具有可信计算架构的物联网操作系统的信息处理方法,包括:获取目标物联网设备的第一目标公钥,其中,所述第一目标公钥是通过ecc加密算法生成的,所述目标物联网设备包括:物联网节点或物联网平台;基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥;使用所述共用密钥对向所述目标物联网设备发送的信息进行加密。

可选地,基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥,包括:使用预设更新函数对第一预设私钥进行初始化,得到第一私钥;根据所述第一私钥与所述目标物联网设备的所述第一目标公钥的乘积确定所述共用密钥;其中,所述第一目标公钥是基于所述目标物联网设备的第一目标私钥通过ecc加密算法生成的,所述第一目标私钥是所述目标物联网设备使用所述预设更新函数对第二预设私钥进行初始化得到的。

可选地,所述方法还包括:接收由所述目标物联网设备发送的第一加密信息,其中,所述第一加密信息是由所述目标物联网设备使用所述共用密钥对第一信息进行加密后得到的;使用所述第一私钥对所述第一加密信息进行解密得到所述第一信息。

可选地,所述方法还包括:当预设的周期到达时,将所述第一私钥更新为第二私钥,并删除所述第一私钥;其中,以所述第一私钥与所述预设更新函数的和作为所述第二私钥。

可选地,在所述将所述第一私钥更新为第二私钥之后,所述方法还包括:使用所述第二私钥与所述目标物联网设备的第二目标公钥对所述共用密钥进行更新得到更新共用密钥,其中,所述第二目标公钥是在所述预设的周期到达时,所述目标物联网设备对所述第一目标私钥进行更新后通过ecc加密算法得到的。

可选地,所述方法还包括:接收由所述目标物联网设备发送的第二加密信息,其中,所述第二加密信息是由所述目标物联网设备使用所述更新共用密钥对第二信息进行加密后得到的;使用所述第二私钥对所述加密信息进行解密得到所述第二信息。

根据本发明的另一个实施例,提供了一种具有可信计算架构的物联网操作系统的信息处理装置,包括:输入输出io模块,用于获取目标物联网设备的第一目标公钥,其中,所述第一目标公钥是通过ecc加密算法生成的,所述目标物联网设备包括:物联网节点或物联网平台;密码协处理模块,用于基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥;执行模块,用于使用所述共用密钥对向所述目标物联网设备发送的信息进行加密。

可选地,所述装置还包括:随机数产生模块,用于使用预设更新函数对第一预设私钥进行初始化,得到第一私钥;密钥产生模块,用于根据所述第一私钥与所述目标物联网设备的所述第一目标公钥的乘积确定所述共用密钥;其中,所述第一目标公钥是基于所述目标物联网设备的第一目标私钥通过ecc加密算法生成的,所述第一目标私钥是所述目标物联网设备使用所述预设更新函数对第二预设私钥进行初始化得到的。

可选地,所述装置还包括:接收模块,用于接收由所述目标物联网设备发送的第一加密信息,其中,所述第一加密信息是由所述目标物联网设备使用所述共用密钥对第一信息进行加密后得到的;解密模块,用于使用所述第一私钥对所述第一加密信息进行解密得到所述第一信息。

根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,由于获取目标物联网设备的第一目标公钥,其中,第一目标公钥是通过ecc加密算法生成的,目标物联网设备包括:物联网节点或物联网平台;基于第一目标公钥通过密钥协商算法确定与目标物联网设备的共用密钥;使用共用密钥对向目标物联网设备发送的信息进行加密。因此,可以解决相关技术中可信平台模块的物联网操作系统的时间和能耗开销大的问题,达到减少时间和能耗开销的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种具有可信计算架构的物联网操作系统的信息处理方法的移动终端的硬件结构框图;

图2是根据本发明实施例的具有可信计算架构的物联网操作系统的信息处理的流程图;

图3是根据本发明一个可选地可信计算平台模块结构框图;

图4是根据本发明一个可选地具有可信计算架构的物联网操作系统的信息处理方法整体流程图;

图5是根据本发明实施例的具有可信计算架构的物联网操作系统的信息处理装置的结构框图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例一所提供的方法实施例可以在物联网平台、物联网节点执行,物联网平台、物联网节点可以是移动终端、计算机终端或者类似的运算装置。以运行在移动终端上为例,图1是本发明实施例的一种具有可信计算架构的物联网操作系统的信息处理方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的具有可信计算架构的物联网操作系统的信息处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述移动终端的具有可信计算架构的物联网操作系统的信息处理方法,图2是根据本发明实施例的具有可信计算架构的物联网操作系统的信息处理的流程图,如图2所示,该流程包括如下步骤:

步骤s202,获取目标物联网设备的第一目标公钥,其中,所述第一目标公钥是通过ecc加密算法生成的,所述目标物联网设备包括:物联网节点或物联网平台;

步骤s204,基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥;

步骤s206,使用所述共用密钥对向所述目标物联网设备发送的信息进行加密。

通过上述步骤,由于获取目标物联网设备的第一目标公钥,其中,第一目标公钥是通过ecc加密算法生成的,目标物联网设备包括:物联网节点或物联网平台;基于第一目标公钥通过密钥协商算法确定与目标物联网设备的共用密钥;使用共用密钥对向目标物联网设备发送的信息进行加密。因此,可以解决相关技术中可信平台模块的物联网操作系统的时间和能耗开销大的问题,达到减少时间和能耗开销的效果。

可选地,上述步骤的执行主体可以为终端等,但不限于此。

作为一个可选的实施方式,具有可信计算架构的物联网操作系统包含硬件层、内核层和应用层,其中硬件层包含可信计算平台模块,该模块的结构如图3所示。其中,各个结构部件的功能为:密码协处理器负责实施可信计算平台模块内的密码运算,包括:非对称密钥发生器,非对称加密、解密等。该部件内含一个执行运算的引擎,能实现非对称加密算法运算。密钥产生部件负责生成非对称加密算法的密钥对。随机数产生部件是可信计算平台模块内随机来源,用于为各种运算提供所需要的随机值。散列函数引擎执行基本的哈希计算。hmac引擎用于确认与可信平台模块tpm交互的报文数据是否正确,它可以发现数据或命令发生了错误或者被篡改。hmac引擎提供运算功能。电源管理部件在关联平台电源状态的同时管理可信平台模块tpm电源状态,该部件在平台操作物理受限时会限制命令的执采取适当的限制措施。执行引擎包含cpu。易失存储器:tpm的工作存储器非易失存储器:存储密钥标识等重要数据。

作为一个可选的实施方式,可以使用椭圆曲线加密算法(ecc)作为tpm实施的非对称加密算法。ecc可以使用较短的密钥进行加密,具有更小的时间和计算能耗开销。ecc的加密流程如下:

(1)确定一个有限域fp,这个域有p(p为素数)个元素。物联网节点a在该有限域中选定一条椭圆曲线ep(a,b),并取椭圆曲线上一点,作为基点g。设椭圆曲线的方程:y2=x3+ax+b(modp),其中a,b属于有限域fp

(2)物联网节点a在1~p-1之间随机选择一个素数作为私有密钥k,并根据加法则,生成公开密钥k=kg。

(3)物联网节点a将ep(a,b)和点k,g传给物联网节点b。

(4)物联网节点b接到信息后,将待传输的明文编码到ep(a,b)上一点m,并产生一个随机整数r(r<n)。

(5)物联网节点b计算点c1=m+rk;c2=rg。

(6)物联网节点b将c1,c2传给物联网节点a。

(7)物联网节点a接到信息后,使用自己的私钥k对信息进行解密,解密过程如下:

c1-kc2=m+rk-k(rg)

=m+rk-rkg

=m+rk-rk

=m

在这个通信过程,偷窥者只能看到ep(a,b),k,g,c1,c2,而通过k,g求k或通过c2,g求r都是十分困难的。

作为一个可选实施例,基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥,包括:使用预设更新函数对第一预设私钥进行初始化,得到第一私钥;根据所述第一私钥与所述目标物联网设备的所述第一目标公钥的乘积确定所述共用密钥;其中,所述第一目标公钥是基于所述目标物联网设备的第一目标私钥通过ecc加密算法生成的,所述第一目标私钥是所述目标物联网设备使用所述预设更新函数对第二预设私钥进行初始化得到的。在本实施例中,第一预设私钥可以是在有限域fp中随机选取的一个数k,预设的更新函数可以是时间函数p(t)=αt+β,其中α和β可以是任意的自然数,具体地可以根据实际情况设置。第一密钥可以是更新函数与第一预设私钥的和,如sk=k+p(t),初始化的私钥是一个时间函数。以物联网平台与物联网节点为信息交互双方为例,本实施例中,执行主体是物联网平台。首先,物联网平台和物联网节点分别在有限域fp中随机选取k1、k2分别作为第一预设的私钥和第二预设私钥,其中,k1、k2可以相同也可以不同。根据上述sk=k+p(t)分别得到物联网平台和物联网节点的私钥,第一私钥sk1以及第一目标私钥sk2。物联网平台和物联网节点分别在椭圆曲线上选取基点g1和g2,根据上述ecc算法,可以分别得到物联网平台和物联网节点的公钥。物联网平台的公钥为k1=sk1g1,物联网节点的公钥为k2=sk2g2,物联网平台的私钥与物联网节点的公钥的乘积为s1=sk1k2g2,物联网节点的私钥与物联网平台的公钥的乘积为s2=sk2sk1g1,由于g1和g2均是椭圆曲线y2=x3+ax+b(modp)上的点,其x3、y2、x的系数均相同。由此可以推导出在s1和s2的x3、y2、x的系数也均相同,因此,可以以x3或y2或x的系数作为共用密钥。这样物联网平台和物联网节点等够得到双方一致的共用密钥。由此可知避免在联网平台和物联网节点之间的信息交互过程中,需要双方来回交换各自的公钥,节省了时间和资源。

作为一个可选实施例,所述方法还包括:接收由所述目标物联网设备发送的第一加密信息,其中,所述第一加密信息是由所述目标物联网设备使用所述共用密钥对第一信息进行加密后得到的;使用所述第一私钥对所述第一加密信息进行解密得到所述第一信息。在本实施例中,以物联网平台与物联网节点为信息交互双方为例,在双方协商好一致的公共密钥后,双方可以使用公用密钥对发送的信息进行加密,使用各自的私钥解密。

作为一个可选实施例,所述方法还包括:当预设的周期到达时,将所述第一私钥更新为第二私钥,并删除所述第一私钥;其中,以所述第一私钥与所述预设更新函数的和作为所述第二私钥。在本实施例中,为了保证信息的安全性,需要在网络运行一段时间后对私钥和公钥进行更新,可以预先设定一个更新周期,当周期到达时,物联网和物联网平台同时更新各自的私钥个公钥。如图4所示是一种可选的流程图。在物联网平台和物联网节点的计时器到时后(两者同步),计数器t=t+1,开始节点的密钥自更新以及平台的同步更新。物联网节点的私钥的更新为sk(t)n=sk(t-1)n+p(t),其中sk(t-1)为上一时段的私钥,p(t)是预设更新函数,删除上一时段的私钥sk(t-1)。同时根据上述ecc加密算法,物联网平台和物联网节点也进行更新。

作为一个可选实施例,在所述将所述第一私钥更新为第二私钥之后,所述方法还包括:使用所述第二私钥与所述目标物联网设备的第二目标公钥对所述共用密钥进行更新得到更新共用密钥,其中,所述第二目标公钥是在所述预设的周期到达时,所述目标物联网设备对所述第一目标私钥进行更新后通过ecc加密算法得到的。在本实施例中物联网平台和物联网节点更新同时更新完各自的私钥和公钥后,计算时段t的物联网平台m与物联网节点n的共用公钥:q(t)mn=sk(t)n×pk(t)m,其中pk(t)m为物联网平台m在t时刻的公钥,pk(t)m=pkm(t-1)+p(t)g,因此,q(t)mn=sk(t)n×[pkm(t-1)+p(t)g],更新完成后删除上一阶段信息,计时器归零,到此节点的密钥自更新完成。

作为一个可选实施例,所述方法还包括:接收由所述目标物联网设备发送的第二加密信息,其中,所述第二加密信息是由所述目标物联网设备使用所述更新共用密钥对第二信息进行加密后得到的;使用所述第二私钥对所述加密信息进行解密得到所述第二信息。在本实施例中,密钥更新完成后,物联网设备和物联网节点之间的信息交互可以使用更新后的共用密钥进行加密,使用各自更新后的私钥对加密的信息进行解密。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种具有可信计算架构的物联网操作系统的信息处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图5是根据本发明实施例的具有可信计算架构的物联网操作系统的信息处理装置的结构框图,如图5所示,该装置包括:输入输出io模块52,用于获取目标物联网设备的第一目标公钥,其中,所述第一目标公钥是通过ecc加密算法生成的,所述目标物联网设备包括:物联网节点或物联网平台;密码协处理模块54,用于基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥;执行模块56,用于使用所述共用密钥对向所述目标物联网设备发送的信息进行加密。

作为一个可选实施例,所述装置还包括:随机数产生模块,用于使用预设更新函数对第一预设私钥进行初始化,得到第一私钥;密钥产生模块,用于根据所述第一私钥与所述目标物联网设备的所述第一目标公钥的乘积确定所述共用密钥;其中,所述第一目标公钥是基于所述目标物联网设备的第一目标私钥通过ecc加密算法生成的,所述第一目标私钥是所述目标物联网设备使用所述预设更新函数对第二预设私钥进行初始化得到的。

作为一个可选实施例,所述装置还包括:接收模块,用于接收由所述目标物联网设备发送的第一加密信息,其中,所述第一加密信息是由所述目标物联网设备使用所述共用密钥对第一信息进行加密后得到的;解密模块,用于使用所述第一私钥对所述第一加密信息进行解密得到所述第一信息。

作为一个可选实施例,上述装置还用于当预设的周期到达时,将所述第一私钥更新为第二私钥,并删除所述第一私钥;其中,以所述第一私钥与所述预设更新函数的和作为所述第二私钥。

作为一个可选实施例,上述装置还用于在所述将所述第一私钥更新为第二私钥之后,使用所述第二私钥与所述目标物联网设备的第二目标公钥对所述共用密钥进行更新得到更新共用密钥,其中,所述第二目标公钥是在所述预设的周期到达时,所述目标物联网设备对所述第一目标私钥进行更新后通过ecc加密算法得到的。

作为一个可选实施例,上述装置还用于,接收由所述目标物联网设备发送的第二加密信息,其中,所述第二加密信息是由所述目标物联网设备使用所述更新共用密钥对第二信息进行加密后得到的;使用所述第二私钥对所述加密信息进行解密得到所述第二信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:

s1,获取目标物联网设备的第一目标公钥,其中,所述第一目标公钥是通过ecc加密算法生成的,所述目标物联网设备包括:物联网节点或物联网平台;

s2,基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥;

s3,使用所述共用密钥对向所述目标物联网设备发送的信息进行加密。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:

s1,获取目标物联网设备的第一目标公钥,其中,所述第一目标公钥是通过ecc加密算法生成的,所述目标物联网设备包括:物联网节点或物联网平台;

s2,基于所述第一目标公钥通过密钥协商算法确定与所述目标物联网设备的共用密钥;

s3,使用所述共用密钥对向所述目标物联网设备发送的信息进行加密。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1