一种基于BACnet/IP协议的身份认证方法技术

技术编号:38476038 阅读:14 留言:0更新日期:2023-08-15 16:55
一种基于BACnet/IP协议的身份认证方法,属于楼宇自动化通信协议设备身份认证和数据保密安全技术领域,使用设备的伪身份和PUF响应完成身份认证,增加时间戳防止重放攻击和DoS攻击,通过对多信息集合的哈希值异或操作来验证对端身份的真实性并生成会话密钥。改进后的协议包括注册阶段和密钥分发阶段。本发明专利技术可有效抵抗仿冒攻击、篡改攻击、重放攻击和DoS攻击行为,在提供通信双方双向认证的同时减少了计算开销,增强了会话双方在公开信道密钥协商过程中的机密性、完整性和认证性,提高了BACnet/IP协议的安全性和效率。BACnet/IP协议的安全性和效率。BACnet/IP协议的安全性和效率。

【技术实现步骤摘要】
一种基于BACnet/IP协议的身份认证方法


[0001]本专利技术属于楼宇自动化通信协议设备身份认证和数据保密安全
,具体涉及一种基于BACnet/IP协议的身份认证方法。

技术介绍

[0002]智能建筑为人们提供高效、舒适、温馨、安全和便利的居住环境,是建筑技术与信息技术的有机结合的产物。在智能建筑中,以信息技术为基础的楼宇自控系统是智能建筑各功能和可持续发展的主体。它将各种基于微处理器的可编程逻辑控制器集成到总线控制网络中,从而实现能源管理与监控、空调、安防控制等相应建筑的控制功能。不同厂商根据自己的产品特点开发了各自不同的标准,但这些标准只能用于厂商内部产品的互操作性,很难实现不同厂商产品的互操作性。BACnet(建筑自动化控制网络)标准成功解决了这一问题。
[0003]随着智能建筑系统中各种控制功能的逐渐强大和复杂,BACnet网络所连接的控制系统变得更加庞大。操作员在远端实时掌握设备运行信息和状态,以便能及时处理紧急操作和维护工作,从而为用户提供更好的服务。针对互联网的兴起,利用IP技术将是楼宇自控领域中网络控制系统的发展趋势,为了拓展BACnet网络,开发人员定义了BACnet/IP协议。然而,BACnet/IP协议在设计之初未考虑到操作员通过接入互联网实现远端操作的功能,导致其在设备认证方面存在缺陷,使得攻击者很容易截获和篡改发送的数据,给整个系统带来网络安全威胁。
[0004]为了保障楼宇自控系统下的信息安全,服务器和BACnet内部设备需要对通信参与者进行身份认证,并在公开信道上安全有效地建立会话密钥。国内外许多学者都提出了针对BACnet/IP协议的改进方案,例如改变密钥分发方式、引入随机数和加入时间戳等方式。通过分析,上述方法仅解决了部分原协议存在的问题,但不能抗密钥泄露、抗DoS攻击和匿名化设备身份,同时还增大了计算开销。

技术实现思路

[0005]本专利技术的目的是提供一种基于BACnet/IP协议的身份认证方法。
[0006]本专利技术是一种基于BACnet/IP协议的身份认证方法,包括以下步骤:
[0007]S1、BACnet/IP外部设备SD
i
注册:BACnet外部设备SD
i
向服务器申请注册,通过信息交互将设备的伪身份和PUF(物理不可克隆函数)激励响应对存储到设备SD
i
的设备内存中,将设备SD
i
的伪身份、真实身份ID、设备公钥和PUF激励相应对存储在服务器数据库中,该步骤在安全信道传输;
[0008]S2、BACnet/IP内部设备SD
j
注册:BACnet内部设备SD
j
向服务器申请注册,通过信息交互将设备的伪身份和PUF激励响应对存储到设备SD
j
的设备内存中,将设备SD
j
的伪身份、真实身份ID、设备公钥和PUF激励相应对存储在服务器数据库中,该步骤在安全信道传输;
[0009]S3、发起会话:注册完毕后,设备SD
i
开始密钥协商。设备SD
i
根据其内存中的激励,
输出对应的PUF响应R
i
。然后生成随机数N
a
和时间戳T1,并利用其内存中的信息,计算验证信息G1,随后设备将消息M1通过公开信道发送给设备SD
j

[0010]S4、密钥申请:设备SD
j
接收到设备的消息后,生成随机数N
b
和时间戳T2,并检查M1的时间戳T1,检查通过后计算验证值G2,设备SD
j
利用其内存中的激励C
j
,输出对应PUF响应R
j
。随后设备SD
j
将消息M2通过公开信道发送给服务器SERVER,向服务器申请SD
i
与SD
j
的会话密钥;
[0011]S5、密钥分发:服务器SERVER收到设备SD
j
的消息后,生成时间戳T3并检查T2的有效性。用内存中的消息计算得到ID
i
,并与内存中的ID
i
做对比,检验ID
i
的正确性。然后利用已知信息计算验证值G1'和验证值G2',并将结果与M2发来的G1、G2进行比对,验证G1=G1',G2=G2'是否成立。如果验证失败,SERVER将终止认证密钥交换过程;反之,SERVER继续执行后续步骤。SERVER生成SD
i
与SD
j
的会话密钥SK
ab
和SD
i
新的伪身份P
i
',并计算P
i”,SK
a
,SK
b
,G3,G4。最后,SERVER发送消息M3到SD
j

[0012]S6、设备SD
j
密钥接收:设备SD
j
收到SERVER的消息后,SD
j
生成时间戳T4,检查T3的有效性,通过计算G3'并验证G3=G3'是否成立。如果验证失败,SD
j
将终止认证密钥交换过程;反之,SD
j
继续执行后续步骤。SD
j
计算SD
i
与SD
j
之间的会话密钥SK
ab
。至此,SD
j
获得了与SD
i
之间的会话密钥SK
ab
。之后,SD
j
将消息M4发送给SD
i

[0013]S7、设备SD
j
密钥接收:SD
i
首先检查时间戳T4,随后使用接收到的消息M4与本地内存中存储的信息计算G4'并验证G4=G4'是否成立。如果验证失败,SD
i
将中断认证密钥交换过程;反之,SD
i
继续执行后续步骤。计算SD
i
与SD
j
之间的会话密钥SK
ab
和P
i
'。SD
i
获得了新的伪身份P
i
'和会话密钥SK
ab

[0014]与现有技术相比,本专利技术具有以下有益效果:
[0015]1、认证性:本方法协议实现了设备之间的相互认证,服务器通过验证G1=G1'与G2=G2'是否成立来认证SD
i
,SD
j
的身份。SD
i
和SD
j
通过验证G3=G3',G4=G4'来认证服务器的身份,并获取会话密钥SK
ab

[0016]2、保密性:本方法协议中每次运行使用的参数是更新的,香农定理证明,如果XOR操作中至少有一项是随机的,则简单XOR加密是安全的。对于敌手A来说,截获的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于BACnet/IP协议的身份认证方法,其特征在于,该方法使用设备的伪身份和PUF响应完成身份认证,增加时间戳防止重放攻击,通过对多信息集合的哈希值异或操作来验证对端身份的真实性并生成会话密钥。所述方法包括设备注册阶段和密钥分发阶段,其步骤为:S1、BACnet/IP外部设备SD
i
注册:设备向服务器申请注册,服务器收到请求后,服务器计算出设备伪身份,随机生成PUF激励,并将激励和设备伪身份发送给设备。收到服务器发送的消息后,设备根据激励产生PUF响应,并将其发送给服务器,将设备伪身份、PUF激励相应对存储在设备内存中,服务器将设备号,设备伪身份、设备的PUF响应对和设备公钥存储在服务器数据库中;S2、BACnet/IP内部设备SD
j
注册:设备向服务器申请注册,服务器收到请求后,服务器计算出设备伪身份,随机生成PUF激励,并将激励和设备伪身份发送给设备。收到服务器发送的消息后,设备根据激励产生PUF响应,并将其发送给服务器,将设备伪身份、PUF激励相应对存储在设备内存中,服务器将设备号,设备伪身份、设备的PUF响应对和设备公钥存储在服务器数据库中,上述步骤在安全信道中进行;S3、发起会话:设备SD
i
根据其内存中的激励,输出对应的PUF响应R
i
。然后生成随机数N
a
和时间戳T1,并利用其内存中的信息,计算验证信息G1,随后设备将消息M1通过公开信道发送给设备SD
j
;S4、密钥申请:设备SD
j
接收到设备的消息后,生成随机数N
b
和时间戳T2,并检查M1的时间戳T1,检查通过后计算验证值G2,设备SD
j
利用其内存中的激励C
j
,输出对应PUF响应R
j
。随后设备SD
j
将消息M2通过公开信道发送给服务器SERVER;S5、密钥分发:服务器SERVER收到设备SD
j
的消息后,生成时间戳T3并检查T2的有效性。用内存中的消息计算得到ID
i
,并与内存中的ID
i
做对比,检验ID
i
的正确性。然后利用已知信息计算验证值G1'和验证值G2',并将结果与M2发来的G1、G2进行比对,验证G1=G1',G2=G2'是否成立。如果验证失败,SERVER将终止认证密钥交换过程;反之,SERVER继续执行后续步骤。SERVER生成SD
i
与SD
j
的会话密钥SK
ab
和SD
i
新的伪身份P
i
',并计算P
i”,SK
a
,SK
b
,G3,G4。最后,SERVER发送消息M3到SD
j
;S6、设备SD
j
密钥接收:设备SD
j
收到SERVER的消息后,SD
j
生成时间戳T4,检查T3的有效性,通过计算G3'并验证G3=G3'是否成立。如果验证失败,SD
j
将终止认证密钥交换过程;反之,SD
j
继续执行后续步骤。SD
j
计算SD
i
与SD
j
之间的会话密钥SK
ab
。至此,SD
j
获得了与SD
i
之间的会话密钥SK
ab
。之后,SD
j
将消息M4发送给SD
i
;S7、设备SD
i
密钥接收:SD
i
首先检查时间戳T4,随后使用接收到的消息M4与本地内存中存储的信息计算G4'并验证G4=G4'是否成立。如果验证失败,SD
i
将中断认证密钥交换过程;反之,SD
i
继续执行后续步骤。计算SD
i
与SD
j
之间的会话密钥SK
ab
和P
i
'。SD
i
获得了新的伪身份P
i
'和会话密钥SK
ab
。2.根据权利要求1所述的基于BACnet/IP协议的身份认证方法,其特征在于,所述步骤S1的具体子步骤如下:S11、设备SD
i
向服务器注册,设备SD
i
从存储单元中取出其唯一身份标识ID
i
,同时生成公钥PK
a
,并向服务器发送ID
i
、PK
a
以及注册请求Req
i
;S12、服务器收到请求后,服务器计算P
i
作为SD
i
的伪身份,随机生成激励C
i
,并将C
i
和P
i
发送给设备SD
i
;S13、收到服务器发送的消息后,设备SD
i
输出PUF响应R
i
,并将其发送给服务器SERVER,将P
i
,C
i
,PK
a
存储在其内存中;S14、服务器将ID
i
,P
i
,PK
a
,<C
i
,R
i
>存储在服务器数据库中。3.根据权利要求1所述的基于BACnet/IP协议的身份认证方法,其特征在于,所述步骤S3的具体子步骤如下:S21、设备SD
j
向服务器注册,设备SD
j
从存储单元中取出其唯一身份标识ID
j
,同时生成公钥PK
b
,并向服务器发送ID
j
、PK
b
以及注册请求Req
j
;S22、服务器收到请求后,服务器计算P
j
作为SD
...

【专利技术属性】
技术研发人员:谢鹏寿朱家锋康永平李晓烨李威冯涛邵婉君冉玉翔祁麟阁
申请(专利权)人:兰州理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1