时间:2024-05-20
徐 莉
(北京信息科技大学计算机学院 中国 北京 10085)
随着计算机网络技术的迅猛发展,核电企事业单位都建立了计算机网络系统,形成了由各企事业单位局域网络为节点组成的庞大的互联网络。为了及时而准确的获得核电安全运行的数据,核电安全网络平台的可靠性成为了当前核电安全分析与管理的重要保证。在核电安全网络平台各节点之间,越来越多的数据交换任务需要完成,以实现核安全数据的共享。但是,由于网络上黑客、计算机病毒等的存在,网络数据传递的安全性不强,数据传递者传递的数据有可能会在数据传输过程中被盗或篡改,因而保证核电安全网络平台中数据传输的安全性至关重要。
网络数据传输安全的核心是通过对数据发送、网络传输、数据接收各个环节中的数据进行加密处理,以保护在网络中传输的数据的保密性、可靠性和不可抵赖性等。其中数据加密技术是数据传输安全的核心,它通过加密算法将数据从明文加密为密文并进行传输,然后通过对应解码技术解码密文还原明文。在数据加密解密技术中,主要有对称密钥体制和非对称密钥体制两种。对称密钥体制在加密解密时用同一个密钥,其优点是算法理解起来比较简单,容易实现,加密速度快,但是对称加密的安全性完全依赖于密钥,如果密钥丢失,整个加密就完全不起作用。非对称加密体制有两个密钥,一个为公钥,一个为私钥,两个密钥均可用于加密解密。非对称加密体制的优点是安全性高,缺点是加密速度缓慢。用非对称密钥加密对称密钥,能提高文件安全传输安全性和加密/解密效率。
密钥管理涉及两方面的内容,一是公钥的分配,二是如何分配管理密钥。公钥证书是由证书管理机构CA(certificate authority)为用户建立的,其中的数据项有与该用户的密钥相关的公钥及用户的身份和时间戳等。所有的数据项经CA用自己的密钥签字后形成证书。用户可将自己的公钥通过公钥证书的形式发给其他用户,接收方可用CA的公开钥对证书加以验证。使用时间戳还可以保证证书的新鲜,防止他方重新放一旧证书。证书的产生过程如图1所示。
图1 证书的产生过程
公钥分配完成之后,如果直接使用公钥密码体制进行保密通信,由于密钥的长度比较长,加密大文件的速度会令人无法接受。如果将公钥用在分配单密钥体制的密钥上,会大大提高加密的速度。
数据加密可以较好的解决信息安全所面临的被动攻击问题。解决信息安全所面临的主动攻击的方法是消息认证。消息认证用以检验接收消息的真实性和完整性,同时还用于检验消息的顺序性和时间性。除此以外,在网络安全方面还考虑业务的不可否认性,即防止通信双方中的某一方对所传输消息的否认。消息认证码(MAC)是信息被一密钥控制的公开函数作用后产生的。如果接收端得到的MAC值与计算得到的MAC一致,则接收方相信发送方发来的信息未被篡改并且接收方相信发送方不是冒充的。MAC函数与加密算法类似,不同之处为MAC函数不必是可逆的,因此,与加密算法相比更不易被攻破。
数字签名在网络安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有着非常重要的应用。数据签名算法包含签名和验证两个部分,遵循着“私钥签名,公钥验证”的签名验证方式。签名时需要使用私钥和待签名数据,验证时则需要公钥,签名值和待签名数据,其核心算法主要是消息摘要算法。本核电安全网络平台下的数据安全传输软件的数字签名算法:先使用消息摘要算法对原始消息做摘要处理,然后再使用私钥对摘要值做签名处理。验证签名时,使用公钥验证消息的摘要值。
网络通信软件多采用C/S结构和P2P结构。P2P是英文Peer-to-Peer的简称,是一种网络新技术,它依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。P2P依中央化程度分为纯P2P、杂P2P和混合P2P三种。纯P2P结构中没有中心服务器和中心路由器;各节点同时作为客户端和服务器端。杂P2P结构有一个中心服务器和中心路由器;中心服务器保存节点的信息,并对请求这些数据的要求做出响应;路由器通过一组索引引用来取得绝对地址。节点负责发布这些数据,让中心服务器知道它们想共享什么数据,让需要它的节点下载其可共享的资源;混合P2P结构同时含有纯P2P结构和杂P2P结构的特点。
考虑到核电安全网络平台上有很多客户端,若数据传输软件单纯的使用C/S结构,服务器端的负载会很重,因为中心服务器需要提供命名服务、安全服务和资源服务三种服务。其中在命名服务中会产生很多线程;在安全服务中又会使用到安全算法,这些安全算法大多要进行大数运算,对服务器的计算性能提出了很高的要求;在资源服务中,服务器会频繁地与数据库交互,占用大量的资源。如果再用中心服务器来转发数据,中心服务器很有可能会随着客户端数量的增加而跨掉。因此,本数据安全传输软件采用混合的P2P结构较好。
服务器端可采用Java多线程技术分别响应多客户端发来的不同请求,主要包括命名服务模块,CA安全服务模块和资源服务模块三个模块。
其中CA安全服务模块主要用于产生和颁发安全证书,是软件的核心模块。该模块作为一个单独的线程,在系统启动时启动。模块中用到的安全算法,由Java API提供,主要是用RSA算法产生公钥和密钥。公钥发给每个客户端,密钥自己保留,用于签字产生安全证书。
资源服务主要为客户端提供一个共享资源的列表。该列表的内容是客户端提交到服务器的文件名和文件所在机器节点的地址。其他客户端得到文件的地址后,从文件所在的机器节点上获取文件。服务器本身不存储资源,这样不仅可以节省服务器的存储空间,也可以减少客户端与服务器端的长时间通信,从而提高整个软件系统的性能。
每个客户端拥有一个主线程来发送信息和四个被动线程来监听来自外部的信息。
主线程分为文件处理模块和安全处理模块两部分。文件处理模块用于发送文件或发送共享文件到中心服务器。安全处理模块包括密钥的产生,密钥的管理,和对文件的加密解密等功能,其中用到的安全算法也来自Java API提供的函数。四个被动线程分别是服务器监听线程、CA服务器监听线程、安全监听线程和文件接收线程。服务器监听线程用于监听来自服务器端发来登录和退出的信息响应。CA服务器监听线程用于监听来自服务器端发来的证书消息,将得到的证书及服务器安全方面相关的信息分配到不同的功能模块中去。安全监听线程用于监听其他客户端发来的有关安全证书的消息,根据得到的安全证书验证其合法性并根据结果做处理。文件接收线程用于接收外部发来的文件。
核电安全运行关系到核电厂周围的环境及人民生命财产的安全,快速准确的传输核电安全运行数据是核电安全运行的基础。在核电安全网络平台的数据安全传输软件中,结合对称密钥体制和非对称密钥体制的优点,用非对称密钥加密对称密钥,能提高文件传输的安全性和加密解密效率。软件采用Java设计模式中的命令模式及用单例模式,使得软件易于扩展;采用混合P2P的解决方案,使客户端在与其他客户端通信时,不再通过中心服务器转发,从而降低网络瓶颈的产生,提高整个软件系统的性能。
[1]梁栋.Java加密于解密的艺术[M].北京:机械工业出版社,2010.
[2]杨波.现代密码学[M].北京:清华大学出版社,2010.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!