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

相关推荐
还有几根头发呀1 小时前
UDP 与 TCP 调用接口的差异:面试高频问题解析与实战总结
网络·网络协议·tcp/ip·面试·udp
秋水丶秋水2 小时前
SSL安全证书怎么安装?
网络协议·http·https
Demisse8 小时前
[华为eNSP] OSPF综合实验
网络·华为
工控小楠8 小时前
DeviceNet转Modbus TCP网关的远程遥控接收端连接研究
网络·网络协议·devicenet·profient
搬码临时工9 小时前
电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
运维·服务器·网络
Web极客码9 小时前
如何轻松、安全地管理密码(新手指南)
计算机网络·安全·web安全·网络安全
安全系统学习10 小时前
【网络安全】Qt免杀样本分析
java·网络·安全·web安全·系统安全
逃逸线LOF10 小时前
Spring Boot论文翻译防丢失 From船长&cap
网络
Bruce_Liuxiaowei10 小时前
文件上传漏洞深度解析:检测与绕过技术矩阵
安全·矩阵·文件上传漏洞
计算机毕设定制辅导-无忧学长10 小时前
从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
网络·rabbitmq·ruby