智能型分析仪器数字合理运转研讨
随着计算机和通信技术的迅猛发展,以及智能仪器向虚拟仪器的转变,网络化成为仪器发展的一个趋向。在网络带来便捷的同时,网络的安全隐患也威胁着数据的安全。正是由于网络的开放性和安全隐患,采取措施保护仪器之间通信的数据安全已经迫在眉睫。
仪器网络的搭建可以直接由传统仪器本身通过总线连接,也可以采用传统仪器固化一个网络接口或者与计算机结合,由网络接口和计算机负责网络传输部分的工作。通过总线直接搭建的仪器网络一般距离比较短,不涉及数据加密的问题。而采用固化硬件接口或连接计算机联网的方式,由于连接的距离比较远,中途必须通过许多转送节点,这使得数据在传输过程中可能受到威胁。比如基于因特网的导弹教学系统,它可以实现无装备部队对装备的学习,但是在数据传输过程中经由许多路由,如果传输的数据没有经过任何安全措施,那么可能会被窃取。所以针对这样远距离的仪器网络,在保密性要求比较强的场合,必须对传输数据采取相应的安全措施。
目前应用在Intel网中的网络安全技术主要有:数据加密技术、防火墙技术、网络安全扫描技术、网络入侵检测技术。仪器网络与Intel网相比,网络传输部分比较简单,一般不配有专门的网络技术人员维护管理,所以只引入防火墙技术和数据加密技术。数据加密既可以使用软件实现也可以通过硬件实现。数据加密的硬件连接如1所示。
防火墙系统是一种网络安全部件,它可以是硬件,也可以是软件,也可能是硬件和软件的结合,这种安全部件处于被保护网络和其它网络的边界,接收进出被保护网络的数据流,防止外部网络用户以非法手段通过外部网络进入内部网络,保护内部网络操作环境。
防火墙在网络中的位置如所示。在仪器连接过程中加入防火墙可以有效的抵御来自外网的攻击,一定程度上保证已传输数据的安全性。
防火墙的局限性在于它只能保护来自外网针对内网的攻击,如果窃取者来自内网,即内网本身存在变节者那么防火墙对此一筹莫展。此外,防火墙对于在广域网络间传输的数据没有任何保护作用,即使接收的数据本身带有病毒,只要来源合法,那么它也可以被顺利的接受。因此对数据进行加密是十分必要的。
数据加密就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码的过程。
这段处理后的文件或数据通常称为“密文”,其只能在使用相应的密钥做逆运算之后才能显示出内容。加密过程的逆过程为解密,即将“密文”转化为其原来数据的过程。
加解密运算流程图如所示。
假设明文是A,加密后的密文为B,加密函数和解密函数为C()和D(),那么,B=C(A);D(B)=A;A=D(C(A))。
目前常用的加密算法可分为对称加密和非对称加密两种。(1)对称式加密是指加密数据和解密数据时使用同一个密钥。对称式加密比较著名的算法有DES和AES.DES是IBM公司为保护产品的机密于1971年至1972年研制成功的,后被美国国家标准局和国家安全局选为数据加密标准,并于1977年颁布使用。DES的工作原理为:将明文分割成许多64位大小的块,每个块用64位密钥进行加密。实际上,密钥由56位数据位和8位奇偶校验位组成,因此只有256个可能的密码而不是264个。每块先用初始置换方法进行加密,再连续进行16次复杂的替换,最后再对其施用初始置换的逆。
(2)非对称式加密是指加密和解密分别使用不同的密钥――共钥(Public Key)和私钥(Private Key)。
共钥可以公开,私钥为解密人私有,由共钥不能推算出私钥。比较著名的非对称式算法有:RSA,它已被ISO/TC97的数据加密技术分委员会SC20推荐为公开密钥数据加密标准。RSA的理论依据为:寻找两个大素数比较简单,而将它们的乘积分解开则异常困难。
由于它的速度比DES慢几个数量级,所以在用硬件实现加密时一般不采用RSA算法。
对称式加密算法简单,速度快,但是保密性不高,而非对称式算法复杂,难破解,速度太慢。过于复杂的加密方法由于速度过慢而不适于网络打包传输的需要,而网络仪器实时性要求更高,在观测某一仪器的当前状态时,要使检测人员看到时间上距离实际值尽可能近的数据。所以,在进行数据加密时必须同时满足安全性和实时性的需要。比较好的解决方案是采取对称加密和非对称加密相结合的加密方法,即利用DES速度快的优点来加密比较长的报文,然后用RSA加密DES产生的密钥。由于RSA的密钥空间大,这样可以弥补DES的密钥分布问题,同时DES加密明文解决了RSA速度慢的问题。
现在结合某导弹系统仪器网络来具体说明数据加密在仪器网络中的应用。
该导弹网络系统的仪器网络是广域的,测量系统基于PXI总线的虚拟仪器,数据加密采用DES和RSA相结合的方案实现,测试仪器部分与远程的控制仪器部分通过计算机连接,软件部分使用Labview实现。
由于采用DES对明文进行加密,DES算法是将数据按64位一组进行处理,所以数据加密前首先按64位一组分组,最后一组如果数据小于64位,则补零。DES加密64位的数据所用密钥也是64位的,在更改密钥之前,只要用RSA对这64位的密钥加密即可。DES算法首先把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分长32位,并进行前后置换(输入的第58位换到第1位,第50位换到第2位,依此类推,最后一位是原来的第7位),最终由L0输出左32位,R 0输出右32位,根据这个法则经过16次迭代运算后,得到L 16、R16,将此作为输入,进行与初始置换相反的逆置换,即得到密文输出。
加密描述如所示。
解密是加密的逆过程。
软件上,数据加密由Labview中的CIN节点实现。
系统数据加密部分在Labview中的实现步骤:首先,在Labview中创建一个空CIN节点,然后创建CIN的输入输出端口,这里需要两个输入端口,分别输入明文和密钥,一个输出端口输出密文。其次,创建算法的C源文件。然后,利用Visual C++编译环境创建DLL文件,然后利用CINTools工具将编译好的DLL文件转换成。lsb文件。最后,通过CIN节点的右键菜单直接加载上一步编译的。lsb文件。
实验结果:在主频1.5G的处理器平台上,如果每1k明文DES加密使用一个64位的密钥。单独使用RSA算法,采用128位密钥对10k的数据加密和解密,并单独使用DES算法以及使用DES和RSA相结合的方式,需要的时间如1所示。
表1算法时间比较表
为了保证仪器网络化后数据的安全,可以采取安装防火墙,数据加密等措施。由于在网络化仪器中对数据加密运算的速度和数据的实时性要求都比较高,RSA数据加密算法安全性好,但速度很慢,主频1.5G处理器产生512位密钥还会死机,而DES算法速度很快,比RSA要快几个数量级,但它安全性不够好,DES和RSA相结合来加密数据是一种比较好的解决方案。目前,数据的加密算法有很多,我们要根据情况在安全性和速度上做合适的取舍,选择合适的算法。
【中国粮油仪器在线】部分信息来自互联网,力求安全及时、准确无误,目的在于传递更多信息,并不代表本网对其观点赞同或对其真实性负责。