买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:北京工业大学
摘要:本发明提供基于物理不可克隆函数的轻量级工业传感器数据流完整性验证方法。SCADA系统的边界由工业传感器监控,面临着最严峻的安全挑战。然而,目前的SCADA通信协议缺乏适当的安全策略来保护现场传感器的安全和数据流的完整性。此外,由于传感器是资源有限的物理设备,复杂而昂贵的加密算法并不适用。本发明提出了一种基于工业物联网的物理不可克隆函数的轻量级工业传感器数据流完整性验证方案,可以保护数据流的完整性和传感器的物理安全,保证工业传感器数据流的安全传输。安全分析分析了该方案对已知安全漏洞的抵抗力。实验结果表明,该方案在通信开销和计算开销方面具有优势。
主权项:1.基于物理不可克隆函数的轻量级工业传感器数据流完整性验证方法,其特征在于,实现步骤如下:步骤1注册阶段:选择基于SRAM的PUF的方法;并结合数据剩磁算法遴选SRAM中稳定性最强的单元;步骤2设置阶段:方法生成并存储认证和数据传输阶段所需的方法参数;步骤3认证与传输阶段;步骤1,使用SRAM中稳定性最强的单元构建PUF,具体为:1.1构建PUF模型;PUF对挑战C的响应R用公式表示:Ri=PUFCi其中,PUF表示一个抽象的函数,它是真实物理设备功能的映射,输入一个二进制序列,输出一串对应的响应;Ci表示第i个输入至PUF函数中的挑战二进制序列;Ri表示第i个对应的响应序列;Ad,n,l,λ,ε安全PUF需要满足以下要求:1任意两个PUF,PUFi·和PUFj·,对于任意输入C∈{0,1}k,Pr[HDPUFiC1,PUFiC2>d]≥1-ε;PUFi·和PUFj·是两个内部物理微结构不同的PUF函数;k表示一个任意自然数;C表示一个由0和1组成的任意串的子集;HDa,b表示a,b之间的汉明码距离;d代表两个PUF响应之间的最小汉明距离;Pr·是表示概率;ε是一个概率数字,设置为0.001;此公式代表对于两个不同的PUF,输入任意一个挑战C,得到的响应之间的汉明码距离大于最小汉明距离d的概率大于等于1-ε;2任意一个PUF,PUFi·,对于任意输入C1,…,Cn∈{0,1}k,Pr[HDPUFiC1,PUFiC2>d]≥1-ε;此公式说明对于同一个PUF函数,输入任意两个挑战C1,C2之后得到的响应之间的汉明码距离大于最小汉明距离d的概率大于等于1-ε;3任意两个PUF,PUFi·,PUFi*·,对于任意一个输入C1,…,Cn∈{0,1}k,Pr[H∞PUFiCk,PUFmCji≤j,k≤n,i≠m,j≠k>λ]≥1-ε;H∞表示最小熵,用来表示PUF响应的概率分布情况;PUFi·和PUFm·代表两个不同的PUF;j,k,n,i,m是各个参数的下标;λ取0.999-0.9999之间的实数;这个条件表示,在使用多个输入对不同的PUF进行评估时,PUF输出的最小熵必须大概率地大于λ,此事件发生的概率大于等于1-ε;1.2使用数据剩磁算法,遴选出状态特性最稳定的SRAM存储单元;SRMA是指静态随机存取存储器;其中,SRAM稳定单元的内存地址作为PUF机制中的挑战C,与内存地址相对应的SRAM稳定单元内存储的值01作为PUF机制中的响应R;首先,数值01被写入整个存储器;其次,短暂地关闭电源,此时一些单元被翻转即"1"变成"0"或"0"变成"1";选择在最短的时间内翻转其数值的单元构建PUF;进一步的,所属步骤2生成并存储认证和数据传输阶段所需的方法参数,具体为:2.1PLC生成挑战,挑战是从注册阶段存储的稳定位中选取的一串内存地址序列;PLC将生成的挑战传送给智能传感器;2.2智能传感器收到挑战C并使用PUF生成响应R;它将自己的ID和响应R发送给PLC;ID是智能传感器设置的编号,用以表示身份;2.3PLC根据收到的传感器ID通过SM3-Hash算法生成SID,这是一个为智能传感器设计的虚拟身份,以实现传感器匿名通信;使用模糊提取器算法,以BCH码作为纠错码,计算出K,hd=FE.GenR;最后,智能传感器的虚拟身份SID,挑战C,和密钥K被存储在PLC中;{SID,C,hd}被发送到智能传感器;其中,SM3-Hash算法中以ID作为输入,输出256bit的SID,作为此传感器的虚拟身份;模糊提取器算法中,以响应R作为输入,输出密钥K和辅助数据hd;FE.Gen·是模糊提取器算法中的密钥生成子算法;2.4智能传感器接收从PLC发送的{SID,C,hd}数据;进一步的,步骤3中,执行认证与传输阶段步骤,完成智能传感器和PLC之间的双向认证,以及使用HMAC算法进行数据流完整性验证传输;所述步骤3中具体为:3.1智能传感器节点发送其SID至PLC,通知PLC通信即将开始;3.2PLC从数据库中查找SID,成功找到后,相应地读取该智能传感器节点的C,K;之后,PLC依据当前时间生成时间戳T1=time.now,这是为了抵御Dos攻击;接下来,PLC计算出加密后的时间戳PLC计算HMAC值H1=HmacK,T1;首先,PLC向智能传感器证明其身份,因为目前只有真实可靠的PLC才有存储的密钥K;其次,H1也验证了T1的真实性,防止它在传输过程中被对手截获和篡改;最后,{T1*,H1}被发送到智能传感器;其中,T1=time.now是生成系统当前时间函数;中是异或操作,T1和hashK均是256bit的二进制串,所以可以进行异或操作;H1=HmacK,T1中Hmac是一种基于SM3哈希算法的消息认证码算法,输出256bit的二进制数,用于消息完整性认证和信源的身份认证;3.3智能传感器收到{T1*,H1},并依据前一阶段传输并存储的挑战C,产生PUF响应由于构成PUF的SRAM的微观物理特性,此时生成的响应可能是有噪声的,不能直接使用它进行计算;之后,智能传感器从其内存中选择辅助数据hd,并计算K=FE.RecR*,hd以重建密钥K;接下来,智能传感器计算以解密T1;之后计算验证值H11=HmacK,T1;完成上述步骤之后,智能传感器验证H11和H1是否相同,如果验证成功,从智能传感器存储器中读取感应数据,并计算出H2=HmacK,data;最后,{data,H2}被发送到PLC;其中,FE.Rec·是模糊提取器算法中的密钥重建子算法;3.4PLC收到来自智能传感器数据和H2;然后它开始验证身份和数据;首先,PLC计算出当前的时间戳T2=time.now,并计算出H22=HmacK,data;如果程序的验证时间在我们设定的阈值t之内,并且传输数据的完整性得到保证,则表明数据是安全的;其中,阈值t是一个时间值,设置为0.24s;3.5此时一轮数据传输和验证完成;接下来,智能传感器和PLC开始同步更新密钥和身份;智能传感器和PLC使用hash策略计算更新后的密钥Knew=hashK和更新后的虚拟身份
全文数据:
权利要求:
百度查询: 北京工业大学 基于物理不可克隆函数的轻量级工业传感器数据流完整性验证方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。