物联网中的密钥生成方法、系统和设备的制作方法

文档序号:7896598阅读:283来源:国知局
专利名称:物联网中的密钥生成方法、系统和设备的制作方法
技术领域
本发明涉及网络安全领域,尤其涉及一种物联网中的密钥生成方法、系统和设备。
背景技术
物联网anternet OfThings, Ι0Τ)将“智慧”概念植入在基础设施和无处不在的信息共享、交互以及综合服务中,掀起继互联网浪潮之后的又一次科技革命。物联网是一个相对较新的网络,其目的是世界上所有的物品接入网络,因而使用的是以无线传感器网络为主,其他各种网络为辅的多网络形式网络。由于其特殊的应用要求,它具有许多与传统网络不同的特点。物联网中存在的比较突出的问题之一是节点资源有限,主要指传感器节点的计算能力、存储容量、通信能力和能源供给能力有限。传感器节点使用嵌入式处理器,其处理能力十分有限,典型的处理器速度约为4MIPS 8MIPS,峰值功耗为50mW IOOmW,平均功耗为50 μ W。传感器节点属于微器件,其存储空间和代码存放空间非常小,例如一个使用8位、 4MHz CPU的传感器节点仅有8K字节的存储空间,除去节点上安装的微操作系统(TinyOS) 占据的4K字节代码空间,以及核心调度算法占据的大约178字节外,可使用的代码存储空间已非常有限。传感器节点往往分布于无人维护的环境中,采用干电池或微型电池供电,能源储备低且一般不易补充,一旦遭受攻击将能源耗尽就意味着该节点的“死亡”,这同普通网络受到攻击时性能下降、消除攻击后恢复工作的情况不同。因此,能源供给受限是妨碍物联网应用于各个领域的重要因素。与有线网络相比,物联网存在更加严重的安全性问题,无线传输方式和终端的暴露性使得网络更加容易受到窃听、欺骗和拒绝服务等形式的攻击。因此,网络通讯安全是物联网面临的一个非常重要问题。如果要冒极大的安全风险,物联网提供的信息再丰富,服务再便捷,也不会有人敢于使用这些服务,从某种意义上来说安全是物联网服务是否具备生命力的关键所在。而在物联网的安全问题中,首当其冲的又是终端与应用之间的双向身份认证以及会话中的数据加密问题。目前解决网络安全问题的解决方案,大多是基于PKI技术。PKI技术以非对称加密算法为核心技术基础,该算法使用了一对密钥公共密钥(简称为公钥)和私有密钥(简称为私钥),这两个密钥之间存在着相互依存的关系,即使用其中任何一个密钥加密的信息只能用另一个密钥进行解密。PKI是在互联网应用中发展和普及起来的技术,由于互联网是以服务器和PC机为网络节点,其处理能力完全满足PKI的运算需求。常用的非对称加密算法有RSA和椭圆形算法。RSA采用的密钥长度一般达到512bit,而椭圆形算法能以较短的密钥长度达到RSA 的加密强度,一般可以采用160bit的密钥。不管是RSA还是椭圆形算法,对执行加解密的处理器的处理能力均有较高要求。由于物联网终端往往处于能力受限的条件下,高强度的加密算法使得终端厂家不得不提高终端的硬件成本,采用更好的处理器和更多的内存,这对于对终端成本及其敏感的物联网应用来说往往难以接受。此外,由于物联网终端往往处于无人值守的状态,其密钥的防窃取也是比较难于解决的问题;而一旦密钥泄露,就有可能伪造合法的终端去和应用通讯。在实现本发明的过程中,发明人发现现有技术中存在以下技术问题目前物联网中使用PKI技术对通信数据进行加密,PKI技术中需要将公钥和私钥分发给通信双方,并需要进行密钥管理,实现流程较繁琐。

发明内容
本发明实施例提供一种物联网中的密钥生成方法、系统和设备,用于解决在实现物联网中数据加密的前提下如何避免密钥分发和管理的问题。一种物联网中的密钥生成方法,其特征在于,该方法包括终端生成第一随机数,获取本终端中通信智能卡的标识信息;终端对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。一种物联网中的密钥生成方法,该方法包括服务器端接收终端发来的携带第一随机数的注册消息;服务器端获取终端中通信智能卡的标识信息;服务器端对所述通信智能卡的标识信息和所述注册消息中携带的第一随机数执行散列算法,得到基础密钥。一种终端,该终端包括处理模块,用于生成第一随机数,获取本终端中通信智能卡的标识信息;散列模块,用于对所述第一随机数和所述通信智能卡的标识信息执行散列算法, 得到基础密钥;通信模块,用于向服务器端发送携带所述第一随机数的注册消息。一种服务器,该服务器包括通信模块,用于服务器端接收终端发来的注册消息;处理模块,用于获取终端中通信智能卡的标识信息;散列模块,用于对所述通信智能卡的标识信息和所述注册消息中携带的第一随机数执行散列算法,得到基础密钥。一种物联网通信安全系统,该系统包括终端,用于生成第一随机数,获取本终端中通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥,并向服务器端发送携带所述第一随机数的注册消息;服务器端,用于接收所述注册消息,获取所述通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。本发明实施例提供的方案中,终端根据生成的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,服务器端根据终端发来的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,终端和服务器端在本地生成基础密钥,避免了密钥分发和管理的操作,简化了数据加密的实现流程。


图1为本发明实施例提供的方法流程示意图;图2为本发明实施例中的系统结构示意图;图3为本发明实施例中的注册流程示意图;图4为本发明实施例中的登录流程示意图;图5为本发明实施例提供的终端结构示意图;图6为本发明实施例提供的服务器结构示意图。
具体实施例方式为了解决在物联网中实现数据加密的前提下如何避免密钥分发和管理的问题,本发明实施例提供一种物联网中的密钥生成方法,本方法中,终端根据生成的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,服务器端根据终端发来的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥。参见图1,本发明实施例提供的物联网中的密钥生成方法,包括以下步骤步骤10 终端生成第一随机数,获取本终端中通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥,并向服务器端发送携带所述第一随机数的注册消息;步骤11 服务器端接收所述注册消息,获取所述终端中的通信智能卡的标识信息,对所述注册消息中携带的第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。步骤11中,在所述注册消息中还携带所述终端的标识信息时,获取所述终端中的通信智能卡的标识信息,其具体实现可以如下服务器端根据从运营支撑系统获取到的终端标识与通信智能卡标识的对应关系, 确定所述注册消息中携带的所述终端的标识信息所对应的通信智能卡标识,将该通信智能卡标识作为所述终端中的通信智能卡的标识信息。较佳的,在步骤11中服务器端得到基础密钥之后,服务器端可以生成PIN码,向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息;终端接收所述注册应答消息,根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定,从而使得绑定后的通信智能卡如果换到其他终端上就不能工作,进一步提高了通信的安全性。较佳的,在终端执行机卡锁定操作之后,终端可以向服务器端发送使用所述基础密钥加密后的登录请求;服务器端接收所述登录请求,根据所述基础密钥对所述登录请求进行解密,在解密成功时,接受终端的登录请求;在解密失败时,拒绝终端的登录请求。较佳的,在终端向服务器端发送使用所述基础密钥加密后的登录请求之前,终端可以再次生成第二随机数,将该第二随机数携带在所述登录请求中,然后再将该登录请求使用所述基础密钥加密后发送给服务器端;终端在成功登录服务器端之后,还对最近生成的第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给服务器端的数据;相应的,在服务器端解密成功后,服务器端可以对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给终端的数据。这里,终端每次发起与服务器端的会话必须先进行登录,并且登录请求使用基础密钥加密,服务器端在解密成功时,认为该终端为合法注册终端,才接受该终端的登录请求,有效避免了非法终端系统的问题。同时,终端和服务器端通过对第二随机数和PIN码执行散列算法得到会话密钥,并使用会话密钥加密后续的通信数据,进一步提高了双方的通信安全。针对终端侧本发明实施例提供的物联网中的密钥生成方法,包括以下步骤步骤20 终端生成第一随机数,获取本终端中通信智能卡的标识信息;步骤21 终端对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥;步骤22 终端向服务器端发送携带所述第一随机数的注册消息。较佳的,在步骤22中终端向服务器端发送携带所述第一随机数的注册消息之后, 终端接收服务器端发来的携带PIN码的注册应答消息,根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定。较佳的,在终端执行机卡锁定操作之后,终端可以向服务器端发送使用所述基础密钥加密后的登录请求。较佳的,在终端向服务器端发送使用所述基础密钥加密后的登录请求之前,终端可以生成第二随机数,将该第二随机数携带在登录请求中,然后再将该登录请求使用所述基础密钥加密后发送给服务器端;并且,终端在成功登录服务器端之后,还可以对所述第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给服务器端的数据。针对服务器端本发明实施例提供的物联网中的密钥生成方法,包括以下步骤步骤30 服务器端接收终端发来的携带第一随机数的注册消息;步骤31 服务器端获取终端中通信智能卡的标识信息;步骤32 服务器端对所述注册消息中携带的第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。较佳的,在步骤32生成基础密钥之后,服务器端可以生成PIN码,向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息。较佳的,在服务器端向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息之后,服务器端接收到终端发来的登录请求时,根据所述基础密钥对所述登录请求进行解密,在解密成功时,接受终端的登录请求;在解密失败时,拒绝终端的登录请求。较佳的,服务器端在解密成功后,还可以对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给终端的数据。本发明中,所述通信智能卡为SIM卡或UIM卡等。下面对本发明进行具体说明
本发明的目的在于,提供一种与现网大多数物联网终端的处理能力相适应,能满足大多数应用的安全需求的轻量级物联网安全通讯的处理方法和系统。本发明解决的问题之一,是提供了一种方法,利用手机卡的唯一标识(例如SIM/ UIM卡ID)作为生成密钥的输入参数,平台与终端通过本方法计算得到通讯密钥,从而避免了密钥管理和分发的问题。本发明解决的问题之二,是利用目前成熟的机卡互锁机制,即终端和SIM/UIM卡相互绑定,绑定后的SIM/UIM卡如果换到其他终端上就不能工作,实现了上述密钥与终端的绑定,从而解决了双向身份认证的问题。本发明解决的问题之三,是通过上述方法解决身份认证问题,从而避免了非对称加密运算,降低了对终端处理能力的要求,从而解决了物联网通讯安全中的终端能力受限问题。本发明采用以下技术方案本发明的物联网安全通信系统包括终端和服务于终端的装置(即服务器端),其中终端包括用于执行加解密运算的模块,用以完成数据包的加密和解密运算;用于执行散列运算的模块,用以完成数据的散列运算;用于提供无线通信能力的模块,用以连接无线网络(例如GSM、CDMA、3G网络等), 提供无线数据和短信通道;用于标识无线通讯终端身份的卡(即通信智能卡);服务于终端的装置,用于处理终端注册和登录,生成PIN码并下发终端,与终端之间通过对称加密算法加密通信数据。本发明的实现物联网终端安全接入的方法包括以下步骤步骤A 所述服务于终端的装置录入标识无线通讯终端身份的卡的唯一标识;步骤B 终端第一次使用时,生成第一随机数,然后连同将标识无线终端身份的卡的唯一标识,通过执行散列运算的模块执行散列运算,从而得到一个基础密钥;步骤C 终端将上述第一随机数通过注册消息发送到所述服务于终端的装置;步骤D 所述服务于终端的装置接收到终端的注册消息,并获得上述第一随机数;步骤E 所述服务于终端的装置从本地读取所述终端的卡的唯一标识,连同第一随机数一起,通过执行散列运算的模块执行散列运算,从而得到一个基础密钥;该密钥与所述终端上计算得到的基础密钥相同;步骤F 所述服务于终端的装置向终端回复注册应答消息,通知终端注册成功;在注册应答消息中携带由所述服务于终端的装置生成的PIN码,该消息通过所述基础密钥进行加密;步骤G 所述终端接收到PIN码后,执行机卡锁定操作;步骤H:终端在进行后续的通讯时,生成第二随机数,然后向所述服务于终端的装置发起登录请求,登录请求消息用上述基础密钥,通过所述执行加解密运算的模块进行加密;步骤I 所述服务于终端的装置使用上述基础密钥对登录请求消息进行解密,如果解密失败,则说明发送登录请求消息的终端不是上述已成功注册的终端,应拒绝后续的消息交互,否则,到下一步骤;步骤J 所述服务于终端的装置返回登录成功应答;步骤K 终端和所述服务于平台的装置利用PIN码和所述第二随机数,进行散列计算,得到一个用于后续会话加密的会话密钥;步骤L 所述终端与所述服务于终端的装置通过所述会话密钥加密后续的会话通讯的数据。与现有技术相比较本发明实现了一种轻量级的物联网通讯安全解决方案,与基于 PKI的安全解决方案相比,本发明的方法对终端的处理能力要求低,不需要通过非对称加解密运算来进行身份验证。本发明的方法中,基础密钥在通讯双方的本地产生,避免了密钥分发的过程,从而避免密钥分发过程中的安全隐患。本发明的方法中,采用终端上的SIM或UIM卡的唯一标识作为生成密钥的参数,通过PIN码对卡和终端进行锁定,从而解决了平台和终端生成基础密钥的问题,避免了管理和分发基础密钥,是一种简单有效和低成本的方案。下面结合附图对本发明的物联网通信安全接入及其数据处理方法进行说明如图2所示,本发明的物联网通信安全系统包括终端和服务器端,其中终端包括加解密运算模块,该模块执行对通信中数据包的加密和解密运算;加密算法一般采用对称加密,如DES、3DES等。加密过程的输入参数包括待加密的数据和密钥,输出为经过加密的数据。解密过程的输入参数包括待解密的数据和密钥,输出为经过解密后的数据。散列运算模块,该模块通过执行散列运算计算得到数据的摘要值,是一种不可逆的运算;散列运算通常采用的算法有MD5、SHA、CRC等。散列运算的输入参数为待散列的数据,输出为该数据的散列值。无线通讯模块,该模块通常为GSM、CDMA或3G通讯模块,提供无线数据和短信通道。用于标识无线通讯终端身份的卡,一般为SIM卡或UIM卡。服务器端用于处理终端注册和登录,在接入服务器的终端和应用之间转发消息; 与终端之间通过对称加密算法加解密通信数据,生成PIN码并下发终端进行机卡锁定操作等。服务器端具体包括加解密运算模块和散列运算模块。本物联网安全通讯方法的关键点如下第一,安全基础UIM卡或SIM卡启用PIN码保护,实现机卡锁定,只能被合法终端使用,UIM/SIM卡可认为是安全存储器,其中的关键数据得到保护(例如UIM/SIM卡ID)。第二,密钥生成和分发终端发出注册消息时包含随机数,终端和平台使用相同的算法,对卡和随机数执行散列运算,得到基础密钥和会话密钥,用于通信消息加密。第三,UIM/SIM卡ID的管理终端通过AT指令从UIM/SIM卡获取UIM/SIM卡ID,平台从运营商的运营支撑系统在同步开卡信息时获取UIM/SIM卡ID。第四,加密算法MD5算法散列算法,计算基础密钥、会话密钥,计算数据摘要;SHA算法散列算法,计算基础密钥、会话密钥,计算数据摘要;DES算法对称加密算法,用于数据加密;3DES算法对称加密算法,用于数据加密。图3说明了终端注册到服务器端的过程。终端首先向服务器端请求注册,在注册成功后才能进行后续的会话。终端每次发起与服务器端的会话必须先进行登录。图4说明了终端登录并开始安全会话的流程。终端向服务器端注册的流程,如图3所示,描述如下步骤1 运营商的运营支撑系统(如BOSS、CRM等)接收到终端的业务开通请求;步骤2 运营支撑系统受理终端业务;步骤3 运营支撑系统将UIM/SIM卡ID信息,以及UIM/SIM卡ID与IMSI绑定关系同步给服务器端,服务器端记录以上信息;步骤4:终端加电启动;步骤5 终端检测注册状态,发现还未注册;步骤6 终端生成一定长度的第一随机数,并发起注册请求,将IMSI和第一随机数发送给服务器端;步骤71 终端通过对第一随机数和UIM/SIM卡ID执行散列算法,计算出对称加密所需的密钥作为基础密钥;步骤72 服务器端通过记录的IMSI和UIM/SIM卡ID的绑定关系,找到终端的UIM/ SIM卡ID,通过对第一随机数和UIM/SIM卡ID执行散列算法,计算出对称加密所需的密钥作为基础密钥;步骤8 服务器端处理注册请求,进行注册鉴权;步骤9 服务器端向终端返回注册结果。自此,终端和服务器端均同时拥有了通讯的基础密钥,并且避免了密钥分发。终端向服务器端登录,并开始安全会话,如图4所示,描述如下步骤1 终端生成一定长度的第二随机数,并发起携带第二随机数、经过基础密钥加密的登录请求;步骤2 终端通过对第二随机数和PIN码执行散列算法,计算出会话密钥;步骤3 服务器端使用该终端的基础密钥对登录请求进行解密,若解密成功,则对登录请求进行登录鉴权;否则,拒绝本次登录请求;步骤4:服务器端通过对登录请求中的第二随机数和PIN码执行散列算法,计算出会话密钥;步骤5 服务器端返回登录结果,采用会话密钥加密登录结果;步骤6 终端和服务器端在本次会话中(终端退出登录前)使用会话密钥加密交互fe息。仍参见图2,本发明实施例还提供一种物联网通信系统,该系统包括终端,用于生成第一随机数,获取本终端中通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥,并向服务器端发送携带所述第一随机数的注册消息;服务器端,用于接收所述注册消息,获取所述通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。进一步,所述服务器端用于在所述注册消息中还携带所述终端的标识信息时,根据预先设定的终端标识与通信智能卡标识的对应关系,确定所述注册消息中携带的所述终端的标识信息所对应的通信智能卡标识,将该通信智能卡标识作为所述终端中的通信智能卡的标识信息。进一步,所述服务器端还用于在得到基础密钥之后,生成PIN码,向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息;所述终端还用于接收所述注册应答消息,根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定。进一步,所述终端还用于在终端执行机卡锁定操作之后,向服务器端发送使用所述基础密钥加密后的登录请求;所述服务器端还用于接收所述登录请求,根据所述基础密钥对所述登录请求进行解密,在解密成功时, 接受终端的登录请求;在解密失败时,拒绝终端的登录请求。进一步,所述终端还用于在向服务器端发送使用所述基础密钥加密后的登录请求之前,生成第二随机数, 将该第二随机数携带在所述登录请求中;并在成功登录服务器端之后,对该第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给服务器端的数据;所述服务器端还用于在解密成功后,对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给终端的数据。参见图5,本发明实施例还提供一种终端,该终端包括处理模块50,用于生成第一随机数,获取本终端中通信智能卡的标识信息;散列模块51,用于对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥;通信模块52,用于向服务器端发送携带所述第一随机数的注册消息。进一步,所述通信模块52用于向服务器端发送携带所述第一随机数和所述终端的标识信息的注册消息。进一步,所述通信模块52还用于接收服务器端发来的注册应答消息;该终端还包括加解密模块53,用于根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定。进一步,所述加解密模块53还用于使用所述基础密钥对登录请求进行加密;所述通信模块52还用于向服务器端发送使用所述基础密钥加密后的登录请求。进一步,所述处理模块50还用于在向服务器端发送使用所述基础密钥加密后的登录请求之前,生成第二随机数,将该第二随机数携带在所述登录请求中;所述散列模块51还用于在终端成功登录服务器端之后,对所述第二随机数和所述PIN码执行散列算法,得到会话密钥;所述加解密模块53还用于使用所述会话密钥加密后续发送给服务器端的数据。参见图6,本发明实施例还提供一种服务器,该服务器包括通信模块60,用于服务器端接收终端发来的注册消息;处理模块61,用于获取所述通信智能卡的标识信息;散列模块62,用于对所述注册消息中携带的第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。进一步,所述处理模块61用于在注册消息中还携带所述终端的标识信息时,根据预先设定的终端标识与通信智能卡标识的对应关系,确定所述注册消息中携带的所述终端的标识信息所对应的通信智能卡标识,将该通信智能卡标识作为所述终端中的通信智能卡的标识信息。进一步,所述处理模块61还用于生成PIN码,将该PIN码携带在注册应答消息中;该服务器还包括加解密模块63,用于使用所述基础密钥加密所述注册应答消息;所述通信模块60还用于向终端发送使用所述基础密钥加密后的注册应答消息。进一步,所述通信模块60还用于接收终端发来的登录请求;所述加解密模块63还用于根据所述基础密钥对所述登录请求进行解密,在解密成功时,接受终端的登录请求;在解密失败时,拒绝终端的登录请求。进一步,所述散列模块62还用于在解密成功后,对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥;所述加解密模块63还用于使用所述会话密钥加密后续发送给终端的数据。综上,本发明的有益效果包括本发明实施例提供的方案中,终端根据生成的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,服务器端根据终端发来的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,终端和服务器端在本地生成基础密钥,避免了密钥分发和管理的操作,简化了数据加密的实现流程。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种物联网中的密钥生成方法,其特征在于,该方法包括 终端生成第一随机数,获取本终端中通信智能卡的标识信息;终端对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。
2.如权利要求1所述的方法,其特征在于,在得到基础密钥之后,该方法进一步包括 终端向服务器端发送携带所述第一随机数的注册消息。
3.如权利要求2所述的方法,其特征在于,在终端向服务器端发送携带所述第一随机数的注册消息之后,该方法进一步包括终端接收服务器端发来的携带PIN码的注册应答消息,根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定。
4.如权利要求3所述的方法,其特征在于,在终端执行机卡锁定操作之后,该方法进一步包括终端向服务器端发送使用所述基础密钥加密后的登录请求。
5.如权利要求4所述的方法,其特征在于,在终端向服务器端发送使用所述基础密钥加密后的登录请求之前,该方法进一步包括终端生成第二随机数,将该第二随机数携带在所述登录请求中;在终端成功登录服务器端之后,该方法进一步包括对该第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给服务器端的数据。
6.一种物联网中的密钥生成方法,其特征在于,该方法包括 服务器端接收终端发来的携带第一随机数的注册消息;服务器端获取终端中通信智能卡的标识信息;服务器端对所述通信智能卡的标识信息和所述注册消息中携带的第一随机数执行散列算法,得到基础密钥。
7.如权利要求6所述的方法,其特征在于,在得到基础密钥之后,该方法进一步包括 服务器端生成PIN码,向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息。
8.如权利要求7所述的方法,其特征在于,在向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息之后,该方法进一步包括服务器端接收终端发来的登录请求,根据所述基础密钥对所述登录请求进行解密,在解密成功时,接受终端的登录请求;在解密失败时,拒绝终端的登录请求。
9.如权利要求8所述的方法,其特征在于,在解密成功后,该方法进一步包括 服务器端对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给终端的数据。
10.一种终端,其特征在于,该终端包括处理模块,用于生成第一随机数,获取本终端中通信智能卡的标识信息; 散列模块,用于对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。
11.如权利要求10所述的终端,其特征在于,该终端还包括 通信模块,用于向服务器端发送携带所述第一随机数的注册消息。
12.如权利要求11所述的终端,其特征在于,所述通信模块还用于 接收服务器端发来的注册应答消息;该终端还包括加解密模块,用于根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定。
13.如权利要求12所述的终端,其特征在于,所述加解密模块还用于 使用所述基础密钥对登录请求进行加密;所述通信模块还用于向服务器端发送使用所述基础密钥加密后的登录请求。
14.如权利要求13所述的终端,其特征在于,所述处理模块还用于在向服务器端发送使用所述基础密钥加密后的登录请求之前,生成第二随机数,将该第二随机数携带在所述登录请求中;所述散列模块还用于在终端成功登录服务器端之后,对所述第二随机数和所述PIN 码执行散列算法,得到会话密钥;所述加解密模块还用于使用所述会话密钥加密后续发送给服务器端的数据。
15.一种服务器,其特征在于,该服务器包括通信模块,用于服务器端接收终端发来的注册消息; 处理模块,用于获取终端中通信智能卡的标识信息;散列模块,用于对所述通信智能卡的标识信息和所述注册消息中携带的第一随机数执行散列算法,得到基础密钥。
16.如权利要求15所述的服务器,其特征在于,所述处理模块还用于 生成PIN码,将该PIN码携带在注册应答消息中;该服务器还包括加解密模块,用于使用所述基础密钥加密所述注册应答消息; 所述通信模块还用于向终端发送使用所述基础密钥加密后的注册应答消息。
17.如权利要求16所述的服务器,其特征在于,所述通信模块还用于 接收终端发来的登录请求;所述加解密模块还用于根据所述基础密钥对所述登录请求进行解密,在解密成功时,接受终端的登录请求;在解密失败时,拒绝终端的登录请求。
18.如权利要求17所述的服务器,其特征在于,所述散列模块还用于在解密成功后,对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥;所述加解密模块还用于使用所述会话密钥加密后续发送给终端的数据。
19.一种物联网通信安全系统,其特征在于,该系统包括终端,用于生成第一随机数,获取本终端中通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥,并向服务器端发送携带所述第一随机数的注册消息;服务器端,用于接收所述注册消息,获取所述通信智能卡的标识信息,对所述第一随机数和所述通信智能卡的标识信息执行散列算法,得到基础密钥。
20.如权利要求19所述的系统,其特征在于,所述服务器端还用于在生成基础密钥之后,生成PIN码,向终端发送携带该PIN码、并且使用所述基础密钥加密后的注册应答消息;所述终端还用于接收所述注册应答消息,根据所述基础密钥对所述注册应答消息进行解密,在解密成功时,根据解密得到的PIN码执行机卡锁定操作,以将本终端与本终端中的通信智能卡进行绑定。
21.如权利要求20所述的系统,其特征在于,所述终端还用于在执行机卡锁定操作之后,向服务器端发送使用所述基础密钥加密后的登录请求;所述服务器端还用于接收所述登录请求,根据所述基础密钥对所述登录请求进行解密,在解密成功时,接受终端的登录请求;在解密失败时,拒绝终端的登录请求。
22.如权利要求21所述的系统,其特征在于,所述终端还用于在向服务器端发送使用所述基础密钥加密后的登录请求之前,生成第二随机数,将该第二随机数携带在所述登录请求中;并在成功登录服务器端之后,对该第二随机数和所述 PIN码执行散列算法,得到会话密钥,使用所述会话密钥加密后续发送给服务器端的数据;所述服务器端还用于在解密成功后,对解密得到的第二随机数和所述PIN码执行散列算法,得到会话密钥, 使用所述会话密钥加密后续发送给终端的数据。
全文摘要
本发明实施例公开了一种物联网中的密钥生成方法、系统和设备,涉及网络安全领域,用于解决在实现物联网中数据加密的前提下如何避免密钥分发和管理的问题。本发明中,终端根据生成的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,服务器端根据终端发来的第一随机数、终端中通信智能卡的标识信息以及散列算法,得到基础密钥,终端和服务器端在本地生成基础密钥,避免了密钥分发和管理的操作,简化了数据加密的实现流程。
文档编号H04L29/06GK102571702SQ20101060186
公开日2012年7月11日 申请日期2010年12月22日 优先权日2010年12月22日
发明者黎昱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1