[计算机毕业设计]基于SM9的密钥交换方案的实现与应用

news2025/1/12 12:21:19

前言

    📅大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

本次分享的课题是

🎯基于SM9的密钥交换方案的实现与应用

课题背景与意义

随着计算机和网络技术在电力系统中的广泛应用,随之而来的安全传输问题也波及到电力系统。基于IEC 61850的变电站自动化系统由于其开放性特点,易遭受网络非法入侵的风险以及被入侵后所造成的危害及影响范围也日益严峻。如何有效保障电力调度控制系统及其网络的信息安全问题刻不容缓。

基于IEC 61850标准协议建立起来的通信网络体系结构在上层协议上是一致的,而且大大提高了变电站内设备的互操作性和互换性,但是协议的开放性、标准性同样带来一个重要的问题,即协议的安全性问题,而IEC 61850并没有涉及信息安全的内容,同时智能化变电站内由于各种智能电子设备的大量应用,变电站内运行、状态和控制等数字化信息都通过TCP/IP协议进行网络传送,也将面临着传统网络的安全风险与隐患。

在IEC 62351标准中,认证和加密是其核心内容,在标准中大量使用了国际算法和证书,本文根据变电站自动化系统数据传输协议和报文结构的特点,在IEC 61850协议基础上应用国家密码管理局发布的国密算法保证通信过程的机密性、完整性和不可抵赖性。

课题实现技术思路

认证技术是互联网、物联网、工控系统信任的基础。认证技术的核心是合理的签名机制,而签名机制的实现要靠合理的密钥管理,因此没有好的密钥管理技术就很难实现较好的签名机制和认证机制。在信息安全领域存在着三种安全认证技术PKI、CPK及IBC。本文重点介绍基于IBC标识密码算法SM9在变电站中的安全防护技术。

4.1 PKI技术

PKI(公钥基础设施)是利用公钥加密技术为电子商务、工控通信及电力业务等提供一套安全基础平台的技术和规范。能够为所有网络应用透明地提供采用加密和数字签名等密码服务所必需的密钥和证书管理,从而达到保证网上传递信息的安全、真实、完整和不可抵赖的目的。利用PKI可以方便地建立和维护一个可信的网络计算环境, 从而使得人们在这个无法直接相互面对的环境里,能够确认彼此的身份和所交换的信息。

PKI系统中用户的私钥可由用户自己生成,也可由可信权威机构CA生成,用户的公钥是随机生成的,公钥和用户身份信息由CA认证签名后组成数字证书, 证书存储在公开目录中以供检索。CA是PKI的核心, 通讯双方须通过CA利用数字证书进行身份确认,即PKI身份确认的过程必须建立在对第三方的共同信任和依赖的基础之上。基于公钥基础设施(PKI)的密码体制, 如果每个用户只保存一个密钥对来分别实现加密和签名则能够显著降低密钥存储空间及公钥证书的存储空间和证书的验证时间。

PKI-CA体系架构如图1所示。

图1 PKI-CA体系架构

4.2  CPK技术

CPK(组合公钥)是南相浩教授首次在《网络安全技术概要》中提出了利用种子公钥 SPK(Seeded Research & Analysis Public Key)解决密钥管理规模化的思想。书中分别给出了基于RSA的多重公钥(LPK)和基于椭圆曲线加密(ECC)的基于标识的组合公钥(CPK)两种算法。CPK认证机制可以在可信环境中为大量用户提供简洁、安全的密钥管理。这种密钥产生和存储的新方式可以大大节省密钥存储空间,以少量的种子生成几乎“无限”个公钥,以Mb级的空间存放千万或上亿个公钥变量。CPK以简捷的方式解决了规模化的密钥管理,为构建认证体系提供了可靠的技术基础。

4.3 IBC技术

IBC(基于标识密码)是一种将用户的唯一标识(例如邮件地址等)用作公钥的加密方式。它使得任何一对用户之间能够安全的通信以及在不需要交换私钥和公钥的情况下验证每一个人的签名,并且不需要保存密钥目录及第三方服务。IBC系统中用户的私钥可由一个被称为KGC(Key Generator Center,密钥生成中心)的可信机构生成,也可以由用户自己保存私钥,KGC只做定期更新用户私钥的工作。IBC的核心是使用了超奇异椭圆曲线上的一个双线性映射Weil配对。

国外已出现了标识密码算法结合云计算技术的安全加密电子邮件,其新业务模式较好地解决了传统邮件的安全难题。如美国Voltage公司,采用标识密码技术的密钥数量已超过 5000万个,而基于标识加密邮件云2017年处理超过30亿封加密电子邮件,后续逐年处理的安全邮件数量将翻倍。

我国政府也一直重视密码技术的国产化。2007年,基于标识密码技术标准正式通过评审,2008年正式获得国家密码管理局颁发的商密算法型号:SM9算法;2016年3月,中国标识密码SM9算法正式对外发布。

基于SM9算法的邮件通信过程如图2所示。

图2 基于SM9算法邮件通信示意图

5.1 基于SM9标识密码体制

基于标识的密码学思想由Shamir在1984年首先提出。在该体制中公钥就是用户的身份信息,如主机的IP地址,用户的E-mail地址、手机号码和姓名等。私钥由KGC(密钥生成中心)根据用户的身份标识信息生成,并通过安全信道将私钥发送给相应的用户。因为用户的公钥由身份标识信息直接计算得出,所以在使用公钥的过程中就不需要存放公钥或证书,也不需要CA(第三方)提供服务。基于SM9标识密码算法包括四种方案:基于标识的加密、基于标识的签名、密钥交换算法和密钥封装算法,这里只介绍前两种方案。

基于SM9标识密码是一种基于身份的公钥体制,通信双方能够根据彼此身份ID计算出对方的公钥,因而降低了密钥交换和密钥管理的复杂程度。因此,采用基于标识的密码体制的安全防护方法既能满足变电站通信的认证安全需求,也降低了证书管理复杂度,适用于变电站自动化系统。

5.1.1 基于SM9标识密码加密

在基于SM9标识密码算法中,用户的公钥来自身份信息,私钥由KGC生成。只要获得用户A的身份信息,用户B就可以得到用户A的公钥,从而加密一条消息,使之以密文的形式在网络上安全传输给用户A,用户A从SM9密钥中心处得到自己的私钥后,即可解密该消息,基本过程如图3所示。

图3 基于SM9标识密码加密过程

5.1.2 基于SM9标识密码签名及认证

基于SM9标识密码的数字签名是基于标识密码学实现的数字签名。在传统的基于证书的密码体制下,用户A若想验证用户B的数字签名,必须首先获得用户B的证书,通过证书中已有的签名来验证用户B的身份,并通过用户B的公钥验证签名的有效性。而在基于SM9标识密码算法用户A可以通过直接获取用户B的身份信息ID来验证用户B的签名,基本过程如图4所示。

图4 基于SM9标识密码签名过程

5.2 基于SM9标识密码智能变电站安全方案

目前调度主站与变电站内的数据网关机多采用104规约进行数据通信,途径调度数据网两侧的纵向加密认证装置,对调度数据网两侧的数据流加密,保证数据在网络层传输的安全。从调度主站到变电站内的数据网关机,数据网关机到测控、保护装置的通信协议均未应用安全认证技术手段,容易被第三方伪造或窃取协议数据包、篡改协议控制类数据,增加了系统的风险。解决以上的问题需要对调度主站到数据网关机的通信协议进行扩展。而变电站站内设备间的通信均采用标准的IEC 61850协议,因此需要改造部分站内的通信协议,以满足设备间的安全通信。

可利用基于SM9标识密码的密钥中心为数据网关机、测控装置、监控主机/操作员站等变电站设备分发设备私钥,并通过设备唯一序列号来表示设备公钥,利用SM9算法的私钥签名、公钥加密来完成设备间通信的身份认证和数据加密功能。

5.2.1 智能变电站自动化系统层次结构

智能变电站采用“三层两网”的结构,“三层”指站控层、间隔层和过程层;“两网”指站控层网络和过程层网络。站控层设备主要有监控主机、操作员站、数据网关机和对时设备等。间隔层设备主要包括测控、保护、录波等。过程层设备主要包括智能终端、合并单元、一次设备等。

各层之间通过IEC 61850规范接口进行数据交换。目前变电站内进行数据交换时都采用明文方式,系统通信安全性得不到保证。基于SM9标识密码能为变电站建立完善的公钥体系,为变电站数据加密和数字签名提供安全保障,满足智能变电站数据交换的安全需求。

智能变电站自动化系统层次结构如图5所示。

图5 智能变电站自动化系统层次结构

5.2.2 基于SM9标识密码密钥中心建立

基于SM9标识密码的加密方案由四种算法构成:系统参数设置、身份私钥生成、加密和解密。签名方案也由四种算法构成:系统参数设置、身份私钥生成、签名和验证。因此变电站建立基于SM9标识密码算法的核心是SM9密钥中心的建立和私钥的发放。

SM9密钥中心是调度/变电站系统中设备密钥的生成、管理中心,是在严格的权限控制下实现密钥的注入、生成、分配、存储、保护、传输、备份、销毁等过程,它是调度/变电站系统安全防护的的核心。SM9密钥中心的密钥可分为根密钥、主密钥、传输密钥、设备密钥、通信密钥、保护密钥、MAC密钥等,包括对密钥申请的授权和密钥管理的审计和跟踪、密钥管理系统的访问控制等功能。

在基于SM9标识密码体制中,SM9密钥中心是最为重要的环节。SM9密钥中心应集中管理,这样不仅能提高变电站通信的安全等级,也将使变电站的管理更为集中。根据变电站安全防护区域的划分和变电站内部通信的特点,SM9密钥中心可在调度端集中统一设置,并为所管辖的变电站分发二级密钥,而变电站SM9密钥中心为其内部设备分发设备密钥,实现站内设备间的安全通信。如图6所示。

图6 SM9密钥生成、分发中心

(1)密钥生成

SM9密钥中心的密钥生成需要特殊的机制和合成算法来实现,要根据不同的密钥类型采用不同的机制,根密钥的生成需要多个密钥分量来合成;主密钥是通过根密钥的离散而生成;设备密钥是经过设备ID号与特定的算法计算而成;设备间通信密钥是协商而成。

(2)密钥分发

变电站装置的私钥可以通过两种方式下发,即装置在线通过安全通道下发给指定装置或离线以安全介质或加密文件的方式传递到指定的装置。由于变电站内的装置所处独立网络,正常运行时无法从SM9密钥中心获取私钥,因此,针对变电站的应用场景,私钥采用离线加密的方式下发的到装置中。

(3)密钥保护

变电站装置的私钥通过采用离线加密的方式下发到装置中,由于装置密钥的敏感性和重要性,密钥不能以明文的方式存放,必须以加密的方式保存在装置的安全区域。

(4)密钥更新

密钥更新是指系统运行了一段时期,由于管理等原因导致密钥泄漏,或密码技术的发展影响密钥的安全;需对装置密钥进行更新,鉴于现有变电站系统的情况采用离线密钥更新方案。

(5)密钥备份

SM9密钥中心的密钥备份是通过加密机来实现的,采用双机热备。装置中的私钥可以通过加密的方式保存备份(若装置内嵌安全芯片,安全芯片本身有安全机制保护密钥的安全)。

5.2.3 调度平台及变电站设备密钥分发

调度SM9密钥中心是一级密钥,是为调度主站平台分发密钥的密钥中心,也是为所管辖的变电站二级密钥中心分发密钥的密钥中心。

首先,调度SM9密钥中心为调度主站平台分发主站平台密钥,各变电站二级密钥中心为各自的站内设备分发设备密钥。基于SM9标识密码机制可以实现变电站内装置间通信的身份认证及数据加密,也可以实现调度主站到变电站内装置的远程端到端安全认证。

5.2.4 智能变电站装置间安全通信

变电站站控层网络负责实现站控层设备之间以及与间隔层之间的通信;过程层网络负责实现间隔层与过程层之间的通信。智能化变电站内涉及远方控制功能的装置及设备应采用加密及身份认证等安全防护措施。

变电站自动化系统站控层操作员站与间隔层的测控装置通信;站控层数据网关机与间隔层的继电保护通信;测控装置、保护装置与过程层的互感器和开关通信,这些设备间的通讯都需要身份认证和协议数据加密及签名。

5.2.5 站控层MMS协议安全防护

IEC 62351第4部分 [12]定义的MMS协议的安全机制,分两部分进行阐述,分别是传输层安全和应用层安全。传输层安全通过基于TCP/IP的TLS协议对安全服务要求进行设计;应用层定义了安全服务要求,引入了关联控制服务单元(ACSE)请求和响应来建立一个安全的MMS关联,主要针对安全认证和数字证书。

MMS协议的传输层安全是通过TLS协议来完成。TLS协议是一种应用于传输层的安全协议,用于构建客户端和服务端之间的安全通道。TLS协议本身基于TCP,通过实现证书认证、密钥协商、数据加解密等功能,对上层应用程序提供加密服务。

国网调度中心已经建成调度证书服务系统,可基于调度SM2算法数字证书实现MMS协议数据加密。根据以上通信协议的特点,可采用基于调度SM2证书TLS协议进行安全通信。基于调度SM2证书TLS过程如图7所示。

图7 基于调度SM2证书TLS过程

5.2.6  基于SM9标识密码远程端到端安全认证

调度主站测控装置与数据网关机、数据网关机与测控装置数据交换的安全认证采用基于SM9标识密码安全通信方式。涉及调度主站、数据网关机、测控装置间的安全通信,以遥控为例,安全认证流程如图8所示。

图8 基于SM9标识密码远程安全认证

(1)调度主站从“遥控命令”明文中采用SM3算法产生消息摘要,用自身SM9私钥对消息摘要形成数字签名。

(2)调度主站将“遥控命令”明文与数字签名发送给数据网关机。

(3)数据网关机接收到明文与数字签名后,用调度主站SM9公钥验证这个签名, 获得由调度主站所产生的明文。

(4)数据网关机将“遥控命令”明文与自身SM9私钥形成的数字签名发给测控装置。

(5)测控装置接收到“遥控命令”明文与数字签名后,使用数据网关机SM9公钥验证签名后得到“遥控命令”明文。

(6)测控装置将“遥控确认”明文与自身SM9私钥形成的数字签名发给数据网关机。

(7)数据网关机接收到“遥控确认”明文与数字签名后,用测控装置SM9公钥验证签名得到“遥控确认”明文。

(8)数据网关机将“遥控确认”明文与自身私钥形成的数字签名发给调度主站。

(9)调度主站收到“遥控确认”明文与数字签名后,使用数据网关机SM9公钥验证签名得到“遥控确认”明文。

(10)结束

5.2.7 基于SM9标识密码变电站内设备间端到端安全认证

变电站站控层和间隔层数据交换的消息认证采用基于SM9标识密码算法的安全通信方式。以操作员站和测控装置间的安全通信为例,安全防护遥控处理流程如图9所示。

图9基于SM9标识密码变电站内设备间端到端安全认证

🚀海浪学长的作品示例:

大数据算法项目

机器视觉算法项目

 

微信小程序项目

Unity3D游戏项目

最后💯

🏆为帮助大家节省时间,如果对开题选题,或者相关的技术有不理解,不知道毕设如何下手,都可以随时来问学长,我将根据你的具体情况,提供帮助。

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

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

相关文章

VMware虚拟机安装黑苹果步骤与常见问题,VMware16,MacOS12.01(Moterey)

资源准备: 链接:https://pan.baidu.com/s/1JFtpMVrULiky9l3SvCXX-w 提取码:c452 说明: 1.镜像版本10.14和12.01根据需要选择其一即可,10.14的后缀为cdr,12.01的后缀为ISO,这两种文件VMware都支…

排名前十的运动蓝牙耳机品牌,2022年值得推荐的运动耳机

现在越来越多人使用耳机了,无论是在公交上还是地铁上又或者在运动时,都能看见很多人使用耳机。大多数人群都喜欢在运动健身的时候佩戴着耳机听音乐,音乐能让我们释放压力,并且心情也能够得到愉悦,相比传统有线运动耳机…

抖店token的生成和刷新的实际开发笔记

目录 前言 一、获取token准备事宜 第1点,app_key的获取 第2点,获取method 第3点,获取grant_type 二、token的生成使用步骤 1.token的生成的代码逻辑 三、刷新token的准备事宜 1.refresh_token的获取 2.grant_type的获取 四、token的刷…

AIOT在数字化转型中的机遇和挑战

目录 引言 为什么 IOT 要结合 AI 数字化转型机遇 什么是企业数字化转型 AIOT 在数字化转型中的作用 面临的挑战 架构挑战 安全风险 安全挑战分析 常见安全问题 如何应对 产业赋能 问题分析 如何应对 算力建设 总结 引言 传统的安防市场已经逐渐接近业务成长天花…

一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有多少个节点和最少有多少个节点

答案 一棵完全二叉树的第7层(根节点为第0层)有12个叶子节点,求整棵树最多有487487487个节点和最少有139139139个节点。 完全二叉树 定义:一棵深度为kkk的有nnn个节点的二叉树,对树中的节点按从上至下、从左到右的顺序进行编号&am…

Python 对象保存优化机制

Python 为了减少开销与内存的使用而设置一些规则: * 1. 但凡是不可变对象, 在同一个代码块中的对象, 只要是值相同的对象, 就不会重复创建, 而是直接引用已经存在的对象.交互环境下: 不写在一行, 字符类型数据指向一个内存地址, 整型超出小整数则执指向不同的地址. 代码块缩进相…

Hexo搭建Github博客教程

CONTENTS1. 环境配置2. 本地博客搭建3. 部署至Github4. 博客主题设置1. 环境配置 (1)安装Git Bash:Windows安装配置Git教程(2022.11.18 Git2.38.1)。 (2)安装NodeJS:NodeJS的安装及…

基于51单片机的花样流水灯设计

资料编号:113 下面是相关功能视频演示: 113-基于51单片机的花样流水灯设计(源码仿真设计报告)功能讲解: 采用51单片机的IO控制多个LED灯,实现多种模式的流水灯,全套资料齐全:流水灯…

Aspose.OCR for Java Crack by Xacker

Aspose.OCR for Java 允许您从图像、屏幕截图、图像的特定区域中提取文本,并在任何支持 Java 的平台上从扫描文件创建可搜索的 PDF。凭借其强大且易于使用的 API,即使是复杂的 OCR 任务也只需不到 10 行代码。您无需使用公式和机器学习 - 该库将处理所有…

<C++>深度学习继承

目录 一、继承概念 二、继承的语法 2.1继承关系和访问限定符 2.2派生类继承基类后的成员权限 三、基类和派生类的对象赋值转换 四、继承中的作用域 五、派生类的默认成员函数 六、继承与友元 七、继承与静态成员 八、复杂的菱形继承及菱形虚拟继承 单继承&am…

CS下载、安装以及简单使用

Cobalt Strike4.0中文版下载 渗透利器CobaltStrike 4.0 免费汉化版(含原版补丁) 下载-脚本之家 (jb51.net)下载解压,有中文版本和原版 server:kali(自带Java环境) clinet:win10 这里直接把原版拖进kali运行不了&#x…

买卖股票的最好时机(一、二)

目录 买卖股票的最好时机(一) 动态规划解决 贪心思想解决 买卖股票的最好时机(二) 贪心思想解决 动态规划解决 买卖股票是经典的动态规划问题,在动态规划的学习与练习中,最令我煎熬的就是状态方程递推,经常出现状态定义好后&#xff0c…

【毕业设计】10-基于单片机的车站安检门/磁性霍尔传感器系统设计(原理图+源码+仿真工程+论文)

【毕业设计】10-基于单片机的车站安检门/磁性霍尔传感器系统设计(原理图源码仿真工程论文) 文章目录【毕业设计】10-基于单片机的车站安检门/磁性霍尔传感器系统设计(原理图源码仿真工程论文)资料下载链接任务书设计说明书摘要设计…

css的三种引入方式

目录 三种引入方式 1.行内样式 2.内部样式(内嵌式) 3.外部样式 3.1外链式 3.2导入式 引入方式的优先级 三种引入方式 1.行内样式 行内样式就是直接把css样式添加在HTML标签中,作为style样式的属性值 <!-- 行内/内嵌/嵌入式/内联样式 --><!-- 背景颜色 backgr…

动力节点索引优化解决方案学习笔记——查询优化

3.查询优化 创建一张测试表并插入数据&#xff1a; drop table if exists students; CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT COMMENT "主键id",sname VARCHAR (24) COMMENT 学生姓名,age INT COMMENT 年龄,score INT COMMENT 分数,time TIMEST…

微服务与中间件系列——GateWay整合Swagger3增强Knife4j

微服务与中间件系列——GateWay整合Swagger3增强Knife4jGateWay整合Swagger3增强Knife4j&#xff08;easy模式&#xff09;目的服务端1.导入依赖2.编写配置类3.yaml配置GateWay网关1.文档枚举2.SwaggerProvider3.yaml配置结果增强版服务端1.增加配置参数类2.修改配置类3.修改ya…

Spring框架一文带你吃透IOC技术

本文目录 文章目录本文目录✨loC的技术实现✨实现步骤✨创建接口和实现类✨创建Spring的配置文件和声明bean✨创建spring容器对象✨spring容器创建对象的特点✨创建非自定义类的对象✨创建没有接口的类的对象✨获取容器中对象的信息loC&#xff0c;Inversion ofControl:控制反转…

肿瘤NGS测序行业背景介绍

肿瘤NGS测序行业背景介绍1、行业基本情况1.1 行业分类1.2 主管部门1.3 行业监管1.4 行业法规1.5 医保报销流程2、肿瘤基本介绍2.1 肿瘤基础概念2.2 癌症分期2.3 致癌风险2.4 肿瘤早期检测3、分子诊断在肿瘤早检的场景3.1 传统肿瘤早期检测方式3.2 分子诊断3.3 技术性能评价指标…

SpringBoot SpringBoot 开发实用篇 4 数据层解决方案 4.9 MongoDB 下载与安装

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇4 数据层解决方案4.9 MongoDB 下载与安装4.9.1 MongoDB 下载4.9.2 安…

PLATFORMIO学习文档之esp8266 驱动SSD1306 128x64OLED显示屏示例

写文章也是为了记录自己的学习过程&#xff0c;顺便给后来人指指路&#xff0c;迷路了可别怪我~~~~~~ 开发环境&#xff1a;PLATFORMIO 1、首先上一张我用的ESP8266开发板ESP-12E 首先新建一个工程&#xff0c;输入项目名称&#xff0c;选择自己所用的开发板&#xff0c; …