DLMS协议中的高级安全(HLS)身份验证

1.四步身份验证协议

在IEC 62056-53中已说明,ACSE提供部分高级身份安全(HLS)验证服务。高级身份安全验证适用于通信通道不能提供内部安全,应采取防范措施以防止偷听和信息(密码)重现的情况。这时,采用4步身份验证协议,客户机和服务器采用下列方式进行4步身份验证:

第1步:客户机向服务器传送"密码"CtoS(例如:随机数)

第2步:服务器向客户机传送"密码"StoC(例如:随机数)

第3步:客户机对StoC进行加密处理(例如:用密钥加密),处理结果f(StoC)返送给服务器。服务器检查f(StoC)是否正确,如果正确,服务器认为客户机的身份验证通过。

第4步: 服务器对客户机的身份验证通过后,服务器对StoC进行加密处理(例如:用密钥加密),处理结果f(CtoS)返送给客户机。客户机检查f(CtoS) 是否正确,如果正确,客户机认为服务器的身份验证通过。

2.补充解释:

高级安全(HLS)验证服务的第1步由客户机应用层的服务原语COSEM-OPEN.request实现。参数"Security_Mechanism_Name"包含HLS机制的标识,参数"Calling_ Authentication_Value"包含密码CtoS。

高级安全(HLS)验证服务的第2步由服务器应用层的服务原语COSEM-OPEN.response实现。参数"Security_Mechanism_Name"包含HLS机制的标识,参数"Responding_Authentication_Value" 包含密码StoC。

第2步完成后,连接已正式建立,但是客户机的访问受到当前"连接"对象的方法"reply_to_HLS_ authentication"的限制。

第3步和第4步由连接对象的方法reply_to HLS_authentication支持。如果这两步都成功地完成,则准予当前连接包含所有访问权限,否则,客户机或服务器中断本次连接。

另外,连接对象提供改变HLS"秘密"的方法(例如:密钥),即change_HLS_secret.

注:在客户机已经执行change_HLS_secret() (或 change_LLS_secret() )方法后,它等待服务器响应确认密码已经修改,有可能服务器已传送了确认,但是由于通信问题,确认信息并未传达到客户机端,因此,客户机不知道密码是否已经更改,为简单起见,在此种情况下,服务器不提供任何特别支持,也就是说它留给客户机处理这种情况。

相关推荐
qq_3863226922 分钟前
华为网路设备学习-32(BGP协议 七)路由反射器与联邦
网络·学习
兰雪簪轩3 小时前
分布式通信平台测试报告
开发语言·网络·c++·网络协议·测试报告
fuyongliang1234 小时前
linux Nginx服务配置介绍,和配置流程
运维·服务器·网络
GEO_YScsn5 小时前
Rust 的生命周期与借用检查:安全性深度保障的基石
网络·算法
司徒小夜5 小时前
HTTP与HTTPS杂谈-HTTPS防御了什么
网络·http·https
只因在人海中多看了你一眼6 小时前
B.50.10.09-RPC核心原理与电商应用
qt·网络协议·rpc
嫩萝卜头儿6 小时前
虚拟地址空间:从概念到内存管理的底层逻辑
linux·服务器·网络
LJC_Superman7 小时前
Web与Nginx网站服务
运维·服务器·前端·网络·数据库·nginx·vim
小鸟啄米7 小时前
Elixir通过Onvif协议控制IP摄像机,扩展ExOnvif的摄像头停止移动 Stop 功能
网络协议·elixir·onvif
烟雨书信7 小时前
安全运维和系统安全
运维·安全