法律状态公告日
法律状态信息
法律状态
2020-07-07
授权
授权
2018-01-05
实质审查的生效 IPC(主分类):H04L29/06 申请日:20170804
实质审查的生效
2017-12-08
公开
公开
技术领域
本发明属于物联网技术领域,尤其涉及一种基于物联网平台的轻量级设备认证及共享密钥协商方法。
背景技术
随着智能硬件的兴起,万物互联(即IOT,物联网)的时代已经来临。加上最近5G的快速发展,进一步解决了设备间的网络问题,使得物联网进入了快速发展的加速道。根据Gartner报告预测,到2020年时全球将会有超过260亿个物联网设备,届时如何确保物联网设备数据的安全传输将会成为人们关心的一大主题。物联网虽然极大方便了人们的生活,但是也将个人隐私,生活习惯等信息暴漏出来,成为滋生犯罪分子的一大温床,确保设备及数据传输安全在物联网发展中至关重要的。当前物联网环境中设备及数据传输安全难以解决主要有以下几个难点:1、由于近年来物联网发展迅速,国际上还没有针对物联网提出新的安全标准,使得物联网设备只能使用现有的加解密算法。2、为降低智能设备的生产成本,智能设备所使用的控制芯片计算能力都比较弱难以完全使用现有复杂的加解密来确保信息传输中的安全,尤其是共享密钥的安全协商。3、物联网设备产商众多,设备的品种也是各有不同,标准难以统一,使得如何使设备能实现安全认证成为一大难题。
综上所述,现有技术存在的问题是:目前物联网的设备及数据的传输存在安全标准滞后,智能设备计算能力比较弱难以使用现有复杂的加解密来确保信息传输中的安全,物联网设备产商众多,设备的品种也是各有不同,标准难以统一,无法实现安全认证。
发明内容
针对现有技术存在的问题,本发明提供了一种基于物联网平台的轻量级设备认证及共享密钥协商方法。
本发明是这样实现的,一种基于物联网平台的轻量级设备认证及共享密钥协商方法,所述基于物联网平台的轻量级设备认证及共享密钥协商方法包括以下步骤:
步骤一,网关设备端向服务器端发动入网请求消息,服务器端根据能唯一标识网关身份信息的网关号去数据库中查询是否有该网关设备来判定网关身份的合法性;
步骤二,服务器端认证完网关设备的合法性,会向网关设备端发起共享密钥协商请求,经过二次加解密操作,网关设备端获得服务器端生成的一半共享密钥;
步骤三,网关设备端在取得一半的共享密钥后,会随机生成另一半共享密钥,并用服务器端的公钥加密完整的共享密钥发送给服务器端;
步骤四,服务器端用私钥解密密文信息,获得共享密钥,并用共享密钥加密网关号,发送给网关设备端来确认密钥协商成功。
进一步,服务器端对网关设备端的认证包括以下步骤:
第一步,网关设备端在发送入网请求消息,网关设备端将该入网请求消息封装好并发送给相应的服务器端;
第二步,服务器端接收到入网请求消息并截取标志位和网关号,标志位用来判断该消息是否为入网请求消息,根据网关号到数据库中查询并判断该网关设备的合法性。
进一步,所述消息包括:用来标识消息类型及消息处理进度的标志位;防止重放攻击的时间戳;网关设备的网关号。
进一步,服务器端与网关设备端的共享密钥协商包括以下步骤:
(1)服务器端接收到入网请求消息并确认网关设备是合法后,服务器端会随机生成两个32位随机数,一个作为一半的共享密钥,另一个用来加密该共享密钥的密钥。服务器端向网关设备端发送共享密钥协商消息;这里以8位随机数来做实例解析,假设一半的共享密钥为01010011,加密密钥为10110110,则加密过的信息为11100101。
(2)网关设备端根据标志位来判断消息类型,并通过网关号来判断消息对象是不是自己,如果都没错的话就生成32位随机数作为密钥,对加密的密文信息进行二次加密操作,修改标志位信息然后将消息发回给服务器端;假设网关生成的加密密钥为11010011,则二次加密后的数据为00110110。
(3)服务器端接收到消息后通过标志位判断该消息是否为上次发送给网关设备端所返回的消息;如果是用之前加密的密钥对加密部分进行一次解密操作,修改标志位信息并再次发送给网关设备端;服务器用加密密钥10110110一次解密后数据为100000000。
(4)网关设备端接受到消息后,先通过网关号判断该消息是否属于自己,再根据标志位信息判断消息是否是服务器端再次发送的密钥协商消息;如果是用先前加密的密钥对加密部分做二次解密操作。网关设备用加密密钥11010011做解密操作,得到数据为01010011。可以发现该数据正是先前服务器端生成的那一半共享密钥数据。
进一步,消息包括以下信息:用来标识消息类型及消息处理进度的标志位;用32位密钥加密过的共享密钥;网关设备的网关号。
进一步,网关设备端对服务器端的认证包括以下步骤:
1)网关设备端在获得由服务器端生成的那半共享密钥后并不会直接向服务器端发送数据,先生成32位随机数作为另一半的共享密钥,并用服务器端的公钥加密拼接好的共享密钥并发送给服务器端;
2)服务器端使用私钥解密获得完整的共享密钥信息,并用共享密钥加密网关号当做确认包发送给网关设备端;利用到非对称加密中私钥具有数字签名的特性对服务器端进行认证;
3)网关设备端接收到消息后用共享密钥解密消息;如果所得的网关号与自己的相匹配,开始向服务器端上传共享密钥加密过的节点数据信息,服务器端在接受到网关设备端上传的数据信息后会根据网关设备端的网关序号去数据库中查找该网关设备端对应的64位共享密钥,然后用共享密钥解密网关设备端上传的数据信息,并将解密后的数据信息存储到对应数据库中。
本发明的另一目的在于提供一种应用所述基于物联网平台的轻量级设备认证及共享密钥协商方法的物联网平台。
本发明的优点及积极效果为:现有的对称认证加密技术具有计算简单,计算速度快的优势,但同时也具有安全性低的风险。而非对称认证加密技术具有安全性高的优势,但同时也具有计算速度慢,对计算能力要求比较高。而目前为降低智能设备的制造成本,智能设备的控制芯片所具有的计算能力比较弱,不适合全部使用非对称认证加密技术。
本发明很好的利用当前对称和非对称认证加密技术的优势,将密钥一分为二。一部分由服务器产生,密钥的来源是安全,所以使用计算较为简单的对称认证加密技术;另一部分密钥由网关设备端产生,为确保密钥在传输途中的安全以及对服务器进行认证,所以使用非对称认证加密技术。并且服务器端和网关设备端实现双向认证,避免假冒行为。本发明对网关设备端没有特殊的要求,即使设备来自于不同厂商也不会有任何影响,能很好的适用于物联网这个大环境。
附图说明
图1是本发明实施例提供的基于物联网平台的轻量级设备认证及共享密钥协商方法流程图。
图2是本发明实施例提供的服务器端对网关设备端的认证流程图。
图3是本发明实施例提供的服务器端和网关设备端协商服务器端生成的一半共享密钥流程图。
图4是本发明实施例提供的网关设备端对服务器端的认证流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于物联网平台的轻量级设备认证及共享密钥协商方法包括以下步骤:
如图1所示,本发明实施例提供的基于物联网平台的轻量级设备认证及共享密钥协商包括以下步骤:
S101:网关设备端向服务器端发动入网请求消息,服务器端根据能唯一标识网关身份信息的网关号去数据库中查询是否有该网关设备来判定网关身份的合法性;
S102:服务器端认证完网关设备的合法性,会向网关设备端发起共享密钥协商请求,经过二次加解密操作,网关设备端获得服务器端生成的一半共享密钥;
S103:网关设备端在取得一半的共享密钥后,会随机生成另一半共享密钥,并用服务器端的公钥加密完整的共享密钥发送给服务器端;
S104:服务器端用私钥解密密文信息,获得共享密钥,并用共享密钥加密网关号,发送给网关设备端来确认密钥协商成功。
如图2所示,本发明的服务器端对网关设备端的认证包含以下步骤:
S201:网关设备端在发送入网请求消息,消息包括以下信息:1、用来标识消息类型及消息处理进度的标志位;2、防止重放攻击的时间戳;3、网关设备的网关号;网关设备端将该入网请求消息封装好并发送给相应的服务器端;
S202:服务器端接收到入网请求消息并截取标志位和网关号,标志位用来判断该消息是否为入网请求消息,根据网关号到数据库中查询并判断该网关设备的合法性。
如图3所示,本发明的服务器端与网关设备端的共享密钥协商包含以下步骤:
S301:服务器端接收到入网请求消息并确认该网关设备是合法后,服务器端会随机生成两个32位随机数,一个作为一半的共享密钥,另一个用来加密该共享密钥的密钥。服务器端向网关设备端发送共享密钥协商消息,该消息包括以下信息:1、用来标识消息类型及消息处理进度的标志位;2、用32位密钥加密过的共享密钥;3、网关设备的网关号;
S302:网关设备端根据标志位来判断消息类型,并通过网关号来判断消息对象是不是自己,如果都没错的话就生成32位随机数作为密钥,对加密的密文信息进行二次加密操作,修改标志位信息然后将消息发回给服务器端;
S303:服务器端接收到消息后通过标志位判断该消息是否为上次发送给网关设备端所返回的消息。如果是的话就用之前加密的密钥对加密部分进行一次解密操作,修改标志位信息并再次发送给网关设备端;
S304:网关设备端接受到消息后,先通过网关号判断该消息是否属于自己,再根据标志位信息判断消息是否是服务器端再次发送的密钥协商消息。如果是的话就用先前加密的密钥对加密部分做二次解密操作。至此网关设备端就可以安全的获得由服务器端生成的那一半共享密钥。
如图4所示,本发明的网关设备端对服务器端的认证包含以下步骤:
S401:网关设备端在获得由服务器端生成的那半共享密钥后并不会直接向服务器端发送数据,而是先生成32位随机数作为另一半的共享密钥,并用服务器端的公钥加密拼接好的共享密钥并发送给服务器端;
S402:服务器端使用私钥解密获得完整的共享密钥信息,并用该共享密钥加密网关号当做确认包发送给网关设备端。这里利用到非对称加密中私钥具有数字签名的特性对服务器端进行认证;
S403:网关设备端接收到消息后用共享密钥解密消息。如果所得的网关号与自己的相匹配,就可以开始向服务器端上传共享密钥加密过的节点数据信息,服务器端在接受到网关设备端上传的数据信息后会根据网关设备端的网关序号去数据库中查找该网关设备端对应的64位共享密钥,然后用共享密钥解密网关设备端上传的数据信息,并将解密后的数据信息存储到对应数据库中。
至此,网关设备与服务器实现双向认证与共享密钥的协商已经完成。下面我将对传感器节点的接入及标志位做详细的描述。
由于传感器节点是在网关设备之后,所以只有网关设备端完成了认证及共享密钥协商之后才能进行传感器节点的认证操作。
传感器节点将节点号发送到网关设备端,网关设备端用协商好的64位共享密钥解密传感器节点的节点号,并携带上标志位、网关序号和时间戳,然后将封装好的节点入网请求消息发送给服务器端,服务器端用网关序号查找相应的共享密钥来解密得到传感器节点的节点号,并去数据库中搜索该传感器节点的节点号,如果存在表示该节点是合法的传感器节点。不存在则表示该传感器节点不是平台的合法节点。服务器端在验证完传感器节点的合法性后会把验证结果发送给网关设备端,合法则网关设备端为该传感器节点分配一个网络号用以标识该节点,否则不作处理。
本发明使用标志位来区分网关设备端与服务器端传输的数据消息类型,并根据不同的消息类型对应有不同的进度位,来区分消息当前处理进度。下面对上述步骤所用到的标志位做详细的描述。
标志位为5位二进制数,前三位实现对消息类型的分类,后两位用来表示当前消息所处的处理进度。前三位消息类型标志位的分类如表1所示。
表1:
进度标志位根据消息类型的不同,具有不同的意义,这里选取网关设备与服务器协商共享密钥时的消息进行举例说明,进度标志位区分如表2所示。
表2:
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
机译: 认证和密钥协商(AKA)方法以及基于机制的Kerberos对应应用程序认证的用户访问设备
机译: 第一通信设备与第二通信设备之间的共享密钥协商方法和装置
机译: 一次执行基于多个预共享密钥的认证的方法和执行该方法的系统