一种基于AES和RSA的核应急安全数据通信系统

2020-09-07 00:32胡玉杰程芳权林江景石松杰
核安全 2020年4期
关键词:数据通信公钥解密

胡玉杰,王 杰,程芳权,林江景,王 威,石松杰

(武汉第二船舶设计研究所,武汉 430205)

近年来,随着能源危机及环境污染形势的日渐严峻,核能作为一种清洁能源,越来越受到人们的重视,并得到迅速发展。然而核能生产单位运行期间会消耗大量的核燃料,同时产生更多难以处理的放射性物质。这些放射性物质一旦发生核泄漏,将随排放水和高温蒸汽迅速扩散到海洋及大气等环境中,污染周边甚至世界范围内的生态环境。因此,包括我国在内的各主要核能大国从来没有放松对核事故的应急处理工作。在我国法规和相关国际公约中也有关于核应急工作方面的要求。核应急工作是我国公共危机管理的组成部分。我国高度重视核应急工作,始终以对人民安全和社会安全高度负责的态度强化核应急管理。目前,我国核应急工作的体系化、专业化、规范化、科学化、信息化水平已获得全面提升。

核应急行动是指在核事故发生后迅速组织相关队伍[1],采用先进的技术手段,实时掌握事故现场放射性污染状态和扩散趋势,分析事故发展态势,评估事故等级,执行相关决策,指挥有效应急干预和防护行动,从而控制放射性污染扩散,避免或减轻对人员的伤害[1-3]。先进的数据实时通信系统是核应急行动最重要的技术支撑。在核应急中,现场的放射性水平和气象等在线测量与监控数据需要通过通信系统实时传输给指挥中心[4]。指挥中心相关人员对现场数据进行专家分析和智能分析,评估事故的实时态势、事故等级和发展趋势[3,5],计算放射性物质的扩散范围、浓度、方位、趋势等,从而作出应急行动决策和制订出行动方案,并向各应急现场下达应急行动指令。数据通信系统作为核应急中的核心技术手段,承担了核应急准备与行动中应急现场与指挥中心之间数据实时通信及指挥中心实时数据采集的任务,是核应急系统中必不可少且要求极高的技术组成部分。

考虑到核应急中相关数据的重要性,本文在现有核应急数据通信技术的基础上,提出了一种基于加密的核应急监测安全数据通信系统。该系统在不降低原有数据通信系统效能的前提下,通过AES 加密技术确保核应急相关数据信息在网络通信过程中的安全性[6,7]。同时,本文还提出了基于RSA 公钥加密技术对数据加密密钥进行加密[8],实现数据加密密钥的安全共享。通过RSA 的数据加密密钥安全共享,可以实现在核应急安全通信系统中一次一密,进一步确保了核应急数据通信传输的安全性。系统仿真实验分析和实际应用证明,本文提出的是一种有效、安全的核应急监测数据通信系统,该系统从根本上保障了核应急中的重要数据信息交互安全,并拥有较高的系统性能,提升了核应急的信息化能力。

1 基于加密的核应急安全数据通信系统架构

在核应急体系中,主要包括以下两类数据通信主体:

(1)核应急现场主体,包括固定式应急监测站、应急监测单兵、移动应急车、应急监测无人机、应急监测无人船、应急移动监测点等,用于对核事故现场情况(如针对放射性污染水平、气象、水文、公众人员等)进行实时测量、监控与统计。

(2)指挥中心主体,一般包括现场指挥中心、区域指挥中心和中央指挥中心。指挥中心一方面对核应急现场主体和下一级指挥中心的数据进行采集、存储和分析,并提供其他信息化与智能化服务;另一方面对核应急现场主体发送相关指令,远程控制或指导核应急现场的应急行动。核应急现场主体与各个指挥中心主体之间通过先进的数据通信系统进行实时在线数据通信和信息交互。为了适应不同核事故现场环境和不同的核应急场景需求,可采用多种通信技术冗余设计的高可用、高可靠通信网络系统,其中包括无线局域网通信技术、基于运营商的3G/4G网络通信技术、北斗卫星网络通信技术或有线网络通信技术等。

在确保核应急中数据通信系统的高可靠、高可用、高效等性能的基础上,为了彻底解决核应急重要数据信息的安全性,避免在网络传输过程中的数据泄露,本文基于加密技术提出了一种安全的核应急数据通信系统,其系统架构如图1所示。本系统中,一切重要的数据和指令等信息均被AES 加密处理后,再在网络中进行传输交互。现场终端将对核应急现场主体的相关数据进行数据处理、数据加密等处理和封装后,再通过网络将信息传输给数据中心。同理,对于指挥中心的远程控制、指挥决策等指令数据,将在指挥中心对其进行数据处理、数据加密等处理和封装后,再通过网络传输给核应急现场主体。同时,不同层级和权限的指挥中心之间也会对数据进行处理和加密后进行数据传输。通过加密数据传输,我们可以彻底保证核应急相关数据的安全性。由于数据信息被加密处理后,数据接收者需要对其进行解密才能正常访问和分析数据,本系统设计了基于RSA公钥加密的安全密钥共享。

为了支持加密数据在无线局域网、3G/4G网络、北斗卫星网络、有线网络等全网络中的效能无损通信能力,本系统设计了独立的模块化数据通信网络接口,针对不同通信网络设计数据通信协议,可在实际的核应急应用中根据所采用的通信网络技术自由调度和切换通信协议,确保系统数据通信安全与通信效能的双重保障。

图1 核应急安全数据通信系统Fig.1 Nuclear emergency safety data communication system

2 基于AES的核应急通信数据加解密

在核应急这类特种紧急任务场合中,核应急现场、指挥中心等主体之间对数据信息传输采集的频率及使用性能要求较高,数据的加密不能影响通信系统本身的效率和性能。而基于对称加密技术AES 进行数据加解密处理既可保证数据的安全性,也确保了数据加密和解密处理的高效执行。

AES采用分组密码机制,在对核应急数据进行加密处理前,首先要生成128位的数据加密密钥,然后将数据加密密钥经过密钥编排函数扩展至44个字的长度,用于对数据执行10轮加密计算处理。同时,数据加密前,系统首先对需要加密传输的核应急数据进行处理封装,然后对数据进行分组,每组数据均为128位。数据加密后,系统对各组密文数据进行按序打包。密文数据解密后,系统需要对解密后的分组数据组合,然后按照既定协议解析各项数据内容。加解密处理过程如图2所示。

图2 核应急数据AES加密处理Fig.2 AES encryption of nuclear emergency data

2.1 加密处理

核应急相关数据经过分组处理后,每组数据将经过10 轮变换和加密处理成为密文数据。其中,主要的加密操作包括字节置换、行循环移位、列混合和密钥异或操作。每一个分组数据都需要转换为状态矩阵,字节置换是将状态矩阵内的每一个字节按照S-Box 进行非线性替代;行循环移位是将状态矩阵的最后3行进行循环移位;列混合是对状态矩阵进行列操作;密钥异或操作是用扩展后的44 字密钥对状态矩阵进行异或加密处理。通过字节置换、行循环移位、列混合和密钥异或加密的10 轮操作处理,最终得到密文数据,即密文数据状态矩阵。

2.2 解密处理

密文数据的解密同样是针对每个分组的密文数据进行10 轮变换和解密处理,最后形成明文数据,每个密文分组数据同样是一个密文状态矩阵。AES 是对称加密算法,解密算法的本质是加密算法的逆操作,主要包括逆字节置换、逆行循环移位、逆列混合和密钥异或操作。逆字节置换、逆行循环移位、逆列混合都是加密过程S-Box 变换和循环移位等操作的逆过程,密钥异或操作本身也是一个互逆过程,即任何数据与同一个密钥进行两次异或操作后,得到的是数据本身,从而实现正确、安全的数据解密。

3 基于RSA 的核应急数据加密密钥安全共享

核应急安全数据通信系统中,数据被AES加密以后再进行网络传输。数据接收者得到数据后,需要获取数据的加密密钥才能对数据进行正常的访问。公钥加密系统提供了密钥安全共享的极佳解决方案。在公钥加密系统中,每个主体拥有一个公开密钥和私有密钥,公开密钥可以对所有人开放,而私有密钥只有自己掌握。

本文提出一种基于RSA 的数据加密密钥安全共享机制,以核应急现场主体向指挥中心进行安全数据传输为例,基于RSA 算法实现安全密钥共享。假设需要安全通信的明文数据为data,加密后的密文数据为Cdata,其加密密钥为key,核应急现场主体的公钥为PubKeyA,私钥为PriKeyA,指挥中心的公钥为PubKeyB,私钥为PriKeyB,流程如下:

步骤一:公私钥对生成。以核应急现场主体为例:

(1)取两个大素数p和q(保密);

(2)计算n=pq,Φ(n)=(p-1)(q-1),Φ(n)保密;

(3)随机取一个整数,满足gcd(e,Φ(n))=1,也就是说e和Φ(n)互质;

(4)计算d,满足de=1 mod Φ(n),d保密;

(5)上述过程后,可得私钥PriKeyA=(d,n),公钥PubKeyA=(e,n);

(6)重复上述过程,也生产数据中心的公私钥对:PriKeyB=(d′,n′),PubKeyB=(e′,n′)。

步骤二:核应急现场主体数据加密。核应急现场主体用指挥中心的公钥进行加密,如下:

Cdata=En(data,PubKeyB)=datae′mod n′

其中,En表示加密。

步骤三:指挥中心解密。指挥中心用自己的私钥进行解密,如下:

data=De(Cdata,PriKeyB)=Cdatad′mod n′

其中,De表示解密。

同理,当指挥中心需要向核应急现场主体安全传输指令数据时,按相同的方法将指令数据加密密钥通过应急现场主体的公钥PubKeyA=(e,n)加密,然后应急现场主体利用私钥PriKeyA=(d,n)将其解密即可获得数据的加密密钥。通过以上方法,核应急安全数据通信系统可以实现一次一密,即每一次不同的数据传输均可采用不同的数据密钥进行加密数据,确保强数据安全保障能力。

4 系统安全与性能分析

4.1 安全性分析

本文提出的核应急安全数据通信系统采用AES 对称加密技术对数据进行加密,然后利用RSA 公钥技术对数据密钥进行加密。众所周知,目前AES 是非常安全的,公钥加密算法RSA 1024 公认安全性极高。因此,本文提出的核应急安全数据通信系统具有极高的安全性。

4.2 性能分析

为了更好地展示本文方法的实用效能,本文仿真构建了一个核应急安全数据通信系统,并对系统性能进行试验和分析。本文对不同数据量的加密、解密关键过程性能进行了重点分析。表1展示了AES的加密和解密性能;表2展示了RSA 的加密和解密性能。系统性能验证平台采用I5 处理器,8G 内存,采用128 位AES 算法进行数据加密解密,采用1 024位RSA算法进行数据密钥加密解密。

表1 AES加密和解密性能Table 1 AES encryption and decryption performance 单位:ms

表2 RSA加密和解密性能Table 2 RSA encryption and decryption performance 单位:ms

性能分析结果证明:本文提出的核应急安全数据通信系统具有非常高的效率,既保障了核应急重要数据安全,又基本不影响系统使用性能,能够满足各类性能和安全要求高的核应急应用场合,具有极大的应用价值。

5 结论

本文提出了基于AES 和RSA 加密技术的核应急安全数据通信系统。该系统通过高效安全的AES 对称加密技术对通信数据加密,以彻底保证核应急数据信息网络传输的安全性,通过公钥加密机制RSA 实现安全密钥共享。分析证明,该系统能在不降低核应急通信系统效能的基础上,提供安全、高效的核应急数据信息交互安全解决方案。

猜你喜欢
数据通信公钥解密
炫词解密
解密“一包三改”
炫词解密
炫词解密
数据通信网络维护与网络安全问题探讨
神奇的公钥密码
关于数据通信电源现状和高压直流供电新系统的分析
国密SM2密码算法的C语言实现
基于身份的聚合签名体制研究
基于EDA技术的通用异步收发器设计