基于接头暗号匿名的物联网身份认证方法
技术领域
本发明涉及物联网身份认证领域,具体地,涉及基于接头暗号匿名的物联网身份认证方法。
背景技术
物联网(Internet of Things,简称IoT),麻省理工学院Kevin Ahs-ton于1999年首次提出,是一种广义互联网,即物物互联的互联网。物联网应用囊括了人们生活生产的多个领域,如农业物联网、工业物联网、物联网医疗、智慧城市等,物联网技术是新一代信息技术重要组成,极大地推动着社会信息化发展。物联网是互联网继续发展的产物,可以通过射频技术、智能感知、普适计算等感知技术完成物体与物体之间的互联互通,但其核心仍然是网络,因此,互联网中的网络威胁同样存在于物联网环境,同时,由于物联网的复杂多样,节点数量巨多,这使得物联网将会面临更加严重的安全问题。
安全多方计算技术是一种可以保护用户数据信息不被其参与他用户知道,同时又能完成多方参与计算,这种技术可以很好的完成用户数据信息匿名。RSA加密算法是最常见的签名加密算法,由于其计算复杂,通常只用来加密一些关键数据信息,如对称密钥、摘要信息等。对着密码学技术发展,椭圆曲线加密(ECC)算法被提出,因为相同位数密钥,ECC算法比RSA算法安全,所以人们更喜欢使用ECC算法来加密关键信息。消息摘要计算技术也被称为哈希计算(Hash)技术,可以对不定长度的数据按照一定规则选择出相应数据位,组成一个定长的数据,常见位数长度有160、224、256、384、512等。
物联网身份认证的安全方案其主要模式可分为两种:一种是采取可信第三方服务,通过第三方提供可信服务,以此来确认请求对象的合法性;另一种是无可信第三方的认证方案,此方案是一种无需要可信第三方双向身份认证方案。Mahalle等人提出了一种基于节点能力的访问控制模型,节点可根据自己的权限进行访问相关资源,此模型结合节点的访问控制策略来判定节点身份合法性;Zhang等人提出了一种基于地理位置的身份认证方法,此认证方法采用与自己在一定距离范围内相邻的可信的节点数目来计算自己的可信度,忽略了对节点位置信息的隐私保护,没有分析在节点周围一定范围之内出现攻击节点应该怎么处理;Reddy等人提出了基于椭圆曲线加解密方法的移动节点身份认证方案,但是存在中间人攻击的缺陷,容易泄露节点信息,这一点被Niu等人指出,并且加以改善,进而达到匿名的效果,Niu等人认证方案是属于基于可信服务的认证模式,同时又增加了增加了节点个人信息匿名的操作环节,增加了认证策略的复杂性,在认证过程中发起方和相应方之间存在虚假身份攻击威胁。
身份认证技术是节点法性的有效方法,常见身份认证方法包括口令、生物特征、智能卡等,不同应用场景又有不同的身份认证机制。为了保证物联网体系安全,需要对物联网体系结构中节点身份验证,防止非法节点入侵、非法节点进行数据窃听、以及其他多种网络攻击。在物联网结构框架中,包含多类节点,按照物联网的结构层次可划分为终端点节点和网络节点,终端节点包括移动终端、PC终端、感知终端(各类数据感知传感器)、云服务器终端等;网络节点包括传感器网络的汇聚网关、通信网络路由和异网融合网关等。节点身份认证就是要保证整个物联网环境中所有节点合法性,以此来抵制非法节点非法入侵及其他非法行为。
以上内容简单介绍了物联网基础技术、信息安全技术,并且对近年物联网身份认证方案优缺点进行了简单说明。综合分析,当前物联网节点身份认证方案存在以下几方面不足:依赖于在线服务认证,认证计算花费大以及关键信息泄露等。
发明内容
本发明的目的是提供一种基于接头暗号匿名的物联网身份认证方法,该基于接头暗号匿名的物联网身份认证方法能够安全、快速完成物联网环境中多节点双向身份认证,保证节点关键信息匿名,节省认证过程的计算花费。
为了实现上述目的,本发明提供一种基于接头暗号匿名的物联网身份认证方法,该方法包括:
步骤1,采用安全暗号协商和安全多方计算方法,保护节点接头暗号信息对其他参与节点完整性匿名,完成信任凭据计算;
步骤2,依靠发送方执行的Sender算法和接收方执行的Receiver算法完成身份的认证。
优选地,在步骤1中,
S1,陌生参与节点在安全场景中广播自己公钥,并接收其他节点公钥,并记录在节点目录记录表PUCT内,便于在公共场景中验证节点签名有效性;
S2,节点对接头暗号信息进行初始化操作,根据参与节点数量n将接头暗号中所有元素随机划分为n个部分元组PT[n],随机选择部分元组PT[k]作为自己私有信息,k属于[0,n-1]的一个整数,私有信息不作通信处理,仅在节点内部参与节点部分结果PR计算,其他部分元组PT[i]节点作通信处理,被其他节点接收并计算部分结果PR,i≠k;
S3,每个节点对其他所有参与节点发送部分元组PT[i],并接收其他所有节点的部分元组PT[j],j属于[0,n-2],j值不同表示部分元组PT[j]来自不同的节点,通过如下公式计算部分结果PR,
S4,每个节点对其他所有参与节点发送部分计算结果PR[k],并接收其他节点的部分结果PR[j],所有部分计算结果采用加法、乘法或其他复杂计算方法计算出总结果WR,并将总结果WR作为信任凭据CR,
其中,PR[k]表示节点自己部分结果,PR[j]表示来自其他节点。
优选地,在步骤2中,发送方执行的Sender算法的步骤包括:
S5,所有参与节点完成多方暗号协商,节点会具有相同的信任凭据CR以及所有参与节点目录记录表PUCT,输入信任凭据CR和所有参与节点目录记录表PUCT;
S6,节点如果处于空闲状态可发起认证请求,将节点类型设置为发送类型,如果节点处于处理状态可将节点设置为接收类型;
S7,判断节点类型,如果是发送类型,则为真,执行步骤8;如果不是发送类型,则为假,执行步骤9;
S8,执行Sender算法,完成发送方认证处理,执行S10;
S9,执行Receiver算法,完成接收方认证处理,执行S10;
S10,如果认证通过,则执行S14;如果认证没有通过,则执行S11;
S11,将请求节点信息加入非法节点记录表_PUCT内,记录非法节点信息,抵制非法节点认证请求,节省计算开销,如果发送认证请求,则先判断该节点是否在非法节点记录中,如果在,直接丢弃请求,否则继续处理,执行S14;
S12,判断非法节点数量,当新增加非法节点达到一定数量后,就执行S13,通知其他节点新的非法节点信息,否则执行S14;
S13,将非法节点信息广播给其他参与节点_PUCT,抑制这些非法节点认证请求,节省网络资源;
S14,判断所有参与节点目录记录表PUCT中所有节点是否全部完成认证,如果所有参与节点目录记录表PUCT内没有陌生节点,则返回True,完成认证,否则执行S6。
优选地,在步骤2中,发送方执行的Sender算法的方法包括:
S15,节点输入信任凭据CR和所有参与节点目录记录表PUCT;
S16,节点根据***随机函数Random()产生随机数N1,产生计数器t1=1,若认证请求失败,则t1=t1+1,若t1<T不成立,则等待一段时间后,令t1=1,继续发送认证请求;
S17,节点使用信任凭据CR和节点私钥通过软件摘要计算和签名接口或硬件接口对(CR||N1||t1)进行摘要计算出m,并使用节点私钥签名为m1,执行S18;
节点调用软件或硬件Hash接口计算摘要信息m=Hash(CR||N1||t1),使用节点私钥sk将m加密计算产生m1,执行下一步S18;
S18,发送认证数据(m1,N1,t1),向接收方说明自己身份合法性,进入S19;
S19,等待接收节点的响应信息(m2,N2,t2);
S20,收到响应后,在t2<T与下述公式成立的情况下,响应是具有有效性的、签名是具有正确性的以及节点是具有合法性的,其中,N1说明响应与请求是相对应的;
EReceiver pk(m2)=Hash(CR||N1||N2||t2);
S21,双方通过验证后,发送节点根据认证消息中的N2、自己信任凭据CR和随机数N1安全建立会话密钥sessionKey;
sessionKey=Hash(CR||N1||N2)。
优选地,在步骤2中,接收方执行的Receiver算法的步骤包括:
S22,节点输入信任凭据CR和所有参与节点目录记录表PUCT;
S23,等待接收节点的响应信息(m1,N1,t1);
S24:收到响应后,若t1<T,则请求有效,否则请求无效;若下述公式成立,则发送方身份节点合法,执行S25,否则节点非法,返回False;
ESender pk(m1)=Hash(CR||N1||t1);
S25,节点根据***随机函数Random()产生随机数N2,产生计数器t2=1,若认证响应失败,则t2=t2+1;若t2<T不成立,则等待一段时间后,令t2=1,继续发送认证响应;
S26,节点使用信任凭据CR和节点私钥sk通过软件摘要计算和签名接口或硬件接口对(CR||N1||N2||t2)进行摘要计算出m,并使用节点私钥签名为m2,执行S27;
节点调用软件或硬件Hash接口计算摘要信息m=Hash(CR||N1||N2||t2),使用节点私钥sk将m加密计算产生m2,执行下一步骤S27;
S27,发送认证数据(m2,N2,t2),向发送节点说明自己身份合法性;
S28:双方通过验证后,接收节点根据认证消息中的N1、自己信任凭据CR和随机数N2,通过如下公式安全建立会话密钥sessionKey;
sessionKey=Hash(CR||N1||N2)。
通过上述技术方案,本发明接头暗号完整性匿名,接头暗号初始化操作将接头暗号元素随机划分为多个元组,并保留一个元组作为私有信息,使得参与节点无法获取其他节点完整接头暗号信息;在两方身份认证过程中,使用1轮通信完成两方身份认证;在会话密钥建立时,关键会话密钥建立信息嵌入认证消息,减少了构建会话密钥的通信开销;本发明支持多个节点间的双向身份认证,在公共离线场景中,也可以完成多个节点之间的身份认证,并对非法节点进行过滤,节约计算开销。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是说明本发明的一种优选实施方式的多方暗号协商流程图;
图2是说明本发明的一种优选实施方式的两方暗号协商结构框图;
图3是说明本发明的一种优选实施方式的多方暗号协商结构框图;
图4是说明本发明的一种优选实施方式的基于接头暗号匿名的多方身份认证流程图;
图5为本发明的一种优选实施方式的两方身份认证协议框图;
图6为本发明的一种优选实施方式的基于接头暗号匿名的身份认证过程发送方Sender算法执行流程图;以及
图7为本发明的一种优选实施方式的基于接头暗号匿名的身份认证过程接收方Receiver算法执行流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明提供一种基于接头暗号匿名的物联网身份认证方法,该方法包括:
步骤1,采用安全暗号协商和安全多方计算方法,保护节点接头暗号信息对其他参与节点完整性匿名,完成信任凭据计算;
步骤2,依靠发送方执行的Sender算法和接收方执行的Receiver算法完成身份的认证。
本发明的基于接头暗号匿名的物联网身份认证方法,在实际应用场景中,可以安全、高效地完成多个节点之间双向节点身份认证,更加适用于复杂物联网环境,适合对节点隐私要求较高的两方或多方身份认证,适用于在线或离线网络环境。
本发明所使用椭圆曲线加密算法签名可采用硬件实现,然后将签名芯片嵌入到物联网节点设备,也可以采用软件实现方式,硬件实现具有签名与验证签名计算速度快,专用性强等特点,软件实现需要耗费物联网设备一定计算资源和存储资源,具体采用哪一种实现方式可根据实际需要选择。
本发明所涉及消息摘要计算可采用物联网设备***自带Hash接口,或用户自定义软件或硬件实现,如采用硬件实现,可结合签名算法将二者设计到一个安全芯片,这样既可以提高计算速度,也可以节省物理空间;.
本发明应用于物联网设备,每个设备需要一定的安全存储空间用来存储接头暗号,参与节点目录表以及非法节点目录记录表。
在本发明的一种具体实施方式中,在步骤1中,
S1,陌生参与节点在安全场景中广播自己公钥,并接收其他节点公钥,并记录在节点目录记录表PUCT内,便于在公共场景中验证节点签名有效性;
S2,节点对接头暗号信息进行初始化操作,根据参与节点数量n将接头暗号中所有元素随机划分为n个部分元组PT[n],随机选择部分元组PT[k]作为自己私有信息,k属于[0,n-1]的一个整数,私有信息不作通信处理,仅在节点内部参与节点部分结果PR计算,其他部分元组PT[i]节点作通信处理,被其他节点接收并计算部分结果PR,i≠k;
S3,每个节点对其他所有参与节点发送部分元组PT[i],并接收其他所有节点的部分元组PT[j],j属于[0,n-2],j值不同表示部分元组PT[j]来自不同的节点,通过如下公式计算部分结果PR,
S4,每个节点对其他所有参与节点发送部分计算结果PR[k],并接收其他节点的部分结果PR[j],所有部分计算结果采用加法、乘法或其他复杂计算方法计算出总结果WR,并将总结果WR作为信任凭据CR,
其中,PR[k]表示节点自己部分结果,PR[j]表示来自其他节点。
安全场景多方暗号协商步骤S1~S4描述了多方暗号协商在物联网分布式节点环境中的具体过程,在物联网设备具体实现时,需要对S1~S4进行具体分析实现,图2描述了2个参与节点的多方暗号协商一个具体实例,图3描述了4个参与节点的多方暗号协商一个具体实例。
在本发明的一种具体实施方式中,在步骤2中,发送方执行的Sender算法的步骤包括:
S5,所有参与节点完成多方暗号协商,节点会具有相同的信任凭据CR以及所有参与节点目录记录表PUCT,输入信任凭据CR和所有参与节点目录记录表PUCT;
S6,节点如果处于空闲状态可发起认证请求,将节点类型设置为发送类型,如果节点处于处理状态可将节点设置为接收类型;
S7,判断节点类型,如果是发送类型,则为真,执行步骤8;如果不是发送类型,则为假,执行步骤9;
S8,执行Sender算法,完成发送方认证处理,执行S10;
S9,执行Receiver算法,完成接收方认证处理,执行S10;
S10,如果认证通过,则执行S14;如果认证没有通过,则执行S11;
S11,将请求节点信息加入非法节点记录表_PUCT内,记录非法节点信息,抵制非法节点认证请求,节省计算开销,如果发送认证请求,则先判断该节点是否在非法节点记录中,如果在,直接丢弃请求,否则继续处理,执行S14;
S12,判断非法节点数量,当新增加非法节点达到一定数量后,就执行S13,通知其他节点新的非法节点信息,否则执行S14;
S13,将非法节点信息广播给其他参与节点_PUCT,抑制这些非法节点认证请求,节省网络资源;
S14,判断所有参与节点目录记录表PUCT中所有节点是否全部完成认证,如果所有参与节点目录记录表PUCT内没有陌生节点,则返回True,完成认证,否则执行S6。
安全两方身份认证协议见图5所示,安全快速地完成了两个节点之间安全双向身份认证,同时也是安全多方身份认证重要组成部分,包括发送方执行的Sender算法和接收方执行的Receiver算法,见图6、图7所示。
在本发明的一种具体实施方式中,在步骤2中,发送方执行的Sender算法的方法可以包括:
S15,节点输入信任凭据CR和所有参与节点目录记录表PUCT;
S16,节点根据***随机函数Random()产生随机数N1,产生计数器t1=1,若认证请求失败,则t1=t1+1,若t1<T不成立,则等待一段时间后,令t1=1,继续发送认证请求;继续发送认证请求,计数器有效的增强了物联网节点分布式环境的认证稳定,同时克服了分布式环境时间同步问题,有效抵制了非法节点的重放攻击;
S17,节点使用信任凭据CR和节点私钥通过软件摘要计算和签名接口或硬件接口对(CR||N1||t1)进行摘要计算出m,并使用节点私钥签名为m1,执行S18;
节点调用软件或硬件Hash接口计算摘要信息m=Hash(CR||N1||t1),使用节点私钥sk将m加密计算产生m1,执行下一步S18;
S18,发送认证数据(m1,N1,t1),向接收方说明自己身份合法性,进入S19;
S19,等待接收节点的响应信息(m2,N2,t2);
S20,收到响应后,在t2<T与下述公式成立的情况下,响应是具有有效性的、签名是具有正确性的以及节点是具有合法性的,其中,N1说明响应与请求是相对应的;
EReceiver pk(m2)=Hash(CR||N1||N2||t2);
S21,双方通过验证后,发送节点根据认证消息中的N2、自己信任凭据CR和随机数N1安全建立会话密钥sessionKey;
sessionKey=Hash(CR||N1||N2)。
在本发明的一种具体实施方式中,在步骤2中,接收方执行的Receiver算法的步骤可以包括:
S22,节点输入信任凭据CR和所有参与节点目录记录表PUCT;
S23,等待接收节点的响应信息(m1,N1,t1);
S24:收到响应后,若t1<T,则请求有效,否则请求无效;若下述公式成立,则发送方身份节点合法,执行S25,否则节点非法,返回False;
ESender pk(m1)=Hash(CR||N1||t1);
S25,节点根据***随机函数Random()产生随机数N2,产生计数器t2=1,若认证响应失败,则t2=t2+1;若t2<T不成立,则等待一段时间后,令t2=1,继续发送认证响应;
S26,节点使用信任凭据CR和节点私钥sk通过软件摘要计算和签名接口或硬件接口对(CR||N1||N2||t2)进行摘要计算出m,并使用节点私钥签名为m2,执行S27;
节点调用软件或硬件Hash接口计算摘要信息m=Hash(CR||N1||N2||t2),使用节点私钥sk将m加密计算产生m2,执行下一步骤S27;
S27,发送认证数据(m2,N2,t2),向发送节点说明自己身份合法性;
S28:双方通过验证后,接收节点根据认证消息中的N1、自己信任凭据CR和随机数N2,通过如下公式安全建立会话密钥sessionKey;
sessionKey=Hash(CR||N1||N2)。
本发明中,综合考虑物联网场景特性,首先,结合用户隐私信息匿名方法,将节点接头暗号信息划分为多个部分元组的数据结构形式,以部分信息安全保证隐私信息完整匿名的方法完成了多个节点之间暗号协商,为多节点身份认证提供节点合法依据;其次,结合物联网身份认证技术研究,将物联网分布式网络环境中多节点身份认证问题划分为两个节点之间安全身份认证问题,简化问题困难,在设计安全两方身份认证时,设计了一轮通信完成身份的流程,节省了一般多轮通信完成身份认证的通信消耗,同时身份验证时采用消息摘要计算,大大缩减了认证信息长度,快速的完成了节点身份合法性验证,计数器用于物联网环境中,有效解决了物联网环境时间同步问题,达到抑制重放攻击目的,在构建会话密钥时,采用会话密钥关键信息嵌入到认证消息的机制,不仅节省单独建立会话密钥的通信消耗,同时也增加了信息传输的速度以及可靠性;最后,在安全两方身份认证基础支撑下,创造性地完成了物联网环境中多个节点之间的安全身份认证。本发明安全完成物联网环境中多个节点之间的身份认证前提下,简化了身份认证过程中的计算花费和通信开销。
安全多方身份认证并不局限于物联网离线场景,也可以应用到在线服务认证,如移动互联网、P2P网络、车联网等,在实际使用中,可将本发明与实际场景相结合,完成两方或多方节点之间的安全身份认证,保证实际场景中节点私有信息安全及网络安全。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。