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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频共享融合赋能平台LntonCVS视频监控业务平台技术方案详细介绍

LntonCVS国标视频综合管理平台是一款智慧物联应用平台,核心技术基于视频流媒体,采用分布式和负载均衡技术开发,提供广泛兼容、安全可靠、开放共享的视频综合服务。该平台功能丰富,包括视频直播、录像、回放、检索、云存储、告警上…

【数据结构】详解堆

一、堆的概念 堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵 完全二叉树的 数组对象。 堆是非线性数据结构,相当于一维数组,有两个直接后继。 如果有一个关键码的集合K { k₀,k₁,k₂ &#xff0…

数据结构(双向链表)

链表的分类 链表的结构⾮常多样,以下情况组合起来就有8种(2 x 2 x 2)链表结构: 虽然有这么多的链表的结构,但是我们实际中最常⽤还是两种结构:单链表和双向带头循环链表 1.⽆头单向⾮循环链表&#xff1a…

Kafka系列之:Kafka存储数据相关重要参数理解

Kafka系列之:Kafka存储数据相关重要参数理解 一、log.segment.bytes二、log.retention.bytes三、日志段四、log.retention.check.interval.ms五、数据底层文件六、index、log、snapshot、timeindex、leader-epoch-checkpoint、partition.metadata一、log.segment.bytes 参数lo…

第十课:telnet(远程登入)

如何远程管理网络设备? 只要保证PC和路由器的ip是互通的,那么PC就可以远程管理路由器(用telnet技术管理)。 我们搭建一个下面这样的简单的拓扑图进行介绍 首先我们点击云,把云打开,点击增加 我们绑定vmn…

Android 10.0 系统属性控制蓝牙分享功能打开和关闭功能实现

1.前言 在10.0的系统rom产品定制化开发中,在进行某些蓝牙模块开发中,原生系统中会默认蓝牙有分享功能,而在实际的项目中 要求去掉分享功能,所以接下来分析下相关功能实现 2.系统属性控制蓝牙分享功能打开和关闭功能实现的核心类 frameworks\base\core\java\android\app\…

【面试题】Redo log和Undo log

Redo log 介绍Redo log之前我们需要了解一下,mysql数据操作的流程: 上述就是数据操作的流程图,可以发现sql语句并不是直接操作的磁盘而是通过操作内存,然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域: 缓…

华为HCIP Datacom H12-821 卷42

42.填空题 如图所示,MSTP网络中SW1为总根,请将以下交换机与IST域根和主桥配对。 参考答案:主桥1468 既是IST域根又是主桥468 既不是又不是就是25 解析: 主桥1468 既是IST域根又是主桥468 既不是又不是就是25 43.填空题 网络有…

[日进斗金系列]用码上飞解决企微开发维修管理系统的需求

前言: 今天跟大家唠唠如何用小money生 大money的方法,首先我们需要准备一个工具。 这个工具叫码上飞CodeFlying,它是目前国内首发的L4级自动化智能软件开发平台。 它可以在短时间内,与AI进行几轮对话就能开发出一个可以解决实际…

WEB前端06-BOM对象

BOM浏览器对象模型 浏览器对象模型:将浏览器的各个组成部分封装成对象。是用于描述浏览器中对象与对象之间层次关系的模型,提供了独立于页面内容、并能够与浏览器窗口进行交互的对象结构。 组成部分 Window:浏览器窗口对象 Navigator&…

MacOS命令行运行fortran程序|编程私教解答

你好,我是悦创。 Fortran 是一种经典的编程语言,广泛用于科学计算和工程领域。如果你使用 macOS 系统并希望在命令行环境中编译和运行 Fortran 程序,这篇教程将引导你完成整个过程。 1. 准备工作 首先,确保你的 macOS 系统已安…

【Android】传给后端的Url地址被转码问题处理

一、问题 为什么使用Gson().toJson的时候,字符串中的会被转成\u003d 在 Gson 中,默认情况下会对某些特殊字符进行 HTML 转义,以确保生成的 JSON 字符串在 HTML 中是安全的。因此,字符 会被转义为 \u003d。你可以通过禁用 HTML 转…

区块链资料

Quantstamp - Public Security Assessments smart-contract-sanctuary-bsc/contracts/mainnet at master tintinweb/smart-contract-sanctuary-bsc GitHub https://github.com/slowmist/Cryptocurrency-Security-Audit-Guide/blob/main/README_CN.md sFuzz: 高效自适应的智…

Spring3(代理模式 Spring1案例补充 Aop 面试题)

目录 一、代理模式 介绍 意图 主要解决的问题 使用场景 实现方式 关键代码 应用实例 优点 缺点 使用建议 注意事项 结构 什么是代理模式? 为什么要用代理模式? 有哪几种代理模式? 1. 静态代理 实现 2. 基于接口的动态代理…

打造代码规范:在Gradle中配置代码风格检查

打造代码规范:在Gradle中配置代码风格检查 在软件开发过程中,代码风格一致性是保证项目质量和可维护性的重要因素。Gradle作为一个强大的构建工具,支持多种代码风格检查工具,如Checkstyle、PMD、FindBugs等。本文将详细介绍如何在…

MATLAB基础应用精讲-【数模应用】非线性回归模型

目录 前言 算法原理 非线性回归参数估计 模型评估 非线性回归方法 1、SVR 2、决策树回归 3、knn回归 4、RandomForest回归 5、XGBoost回归 6、神经网络MLP回归 7、LightGBM回归 8、GBDT回归 算法步骤: 非线性回归预测模型 一、数据探索 二、建立线性回归模型…

Android Studio环境安装指南

一、安装前注意事项: 安装android studio之前,请先检查下操作系统中的用户名(C盘->用户或user)下是否含有中文,如果含有中文,请新建一个用户(必须全部英文),JDK的安装和配置也请重新安装和配…

.Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现

ASP.NET Core 支持多个不同的缓存。 最简单的缓存基于 IMemoryCache。 IMemoryCache 表示存储在 Web 服务器内存中的缓存。 在服务器场(多个服务器)中运行的应用应确保在使用内存中缓存时会话是粘滞的。 粘滞会话可确保来自客户端的请求都转到同一服务器…

《昇思25天学习打卡营第20天|GAN图像生成》

生成对抗网络(GAN)是一种深度学习模型,用于生成逼真的图像。在手写数字识别的任务中,GAN 可以用来生成与真实手写数字相似的图像,以增强模型的训练数据集。GAN 主要由两个部分组成:生成器(Gener…

服务自旋:Eureka中实现服务的动态注册与注销

标题:服务自旋:Eureka中实现服务的动态注册与注销 在微服务架构中,服务的动态注册和注销是确保服务发现机制灵活性和准确性的关键。Eureka,作为Netflix开源的服务发现框架,提供了强大的支持来实现服务实例的动态注册和…