时间:2022-12-11 07:28:56
序论:速发表网结合其深厚的文秘经验,特别为您筛选了11篇加密技术论文范文。如果您需要更多原创资料,欢迎随时与我们的客服老师联系,希望您能从中汲取灵感和知识!
2网络安全技术发展呈现出的现状
2.1我国不具备自主研发的软件核心技术
数据库、操作系统以及CPU是网络安全核心其中最为主要的三个部分。现阶段,虽然大多数企业都已经在建设和维护网络安全方面消耗了大量的资金,但是,由于大部分的网络设备及软件都不是我国自主研发的,而是从国外进口的,这就导致我国的网络安全技术难以跟上时展的脚步,在处于这种竞争劣势下,就极易成为别国窃听和打击的对象。除此之外,国外一些杀毒系统和操作系统的开发商几乎已经在将中国的软件市场垄断。基于上述这些情况,我国一定要进一步加快研发软件核心技术的速度,根据我国发展的实际情况,将能够确保我国网络安全运营的软件技术有效地开发出来。
2.2安全技术不具备较高的防护能力
我国的各个企事业单位在现阶段都几乎已经建立起了专属网站,并且,电子商务也正处在快速发展的状态之中。但是,所应用的系统大部分都处在没有设防的状态中,所以很有可能会埋下各种各样的安全隐患。并且在进行网络假设的过程中,大多数企业没有及时采取各种技术防范措施来确保网络的安全。
2.3高素质的技术人才比较欠缺
由于互联网通信成本相对较低,因此,服务器和配置器的种类变得越来越多,功能也变得更加完善,性能也变得更好。但是,不管是人才数量方面或者是专业水平方面,其专业技术人员都难以对当今的网络安全需要形成更好的适应性。此外,网络管理人员不具备较强的安全管理导向能力,如,当计算机系统出现崩溃的情况时,网络管理人员难以及时有效地提出有效的解决对策。
3网络安全技术的发展趋势
3.1深度分析计算机网络安全内容
各种类型不同的网络安全威胁因素随着互联网络技术的不断发展而出现。相应地网络安全技术也一定要不断获得提升和发展。加强识别网络安全技术的方法主要包括以下几点:第一,要以安全防护的相关内容为出发点,加强分析网络安全技术深度防护的力度,主要是对网络安全行为的内容和网络安全防护的匹配这两个方面进行分析。基于特征库签名的深度报文的特征匹配是当前比较常用的一种安全防护分析方法,即根据报文的深度内容展开有针对性的分析,利用这种途径来获取网络安全攻击的特征,并利用特征库对匹配的网络攻击内容进行搜索,同时还要及时采取相应的防御措施。还有,基于安全防护的职能分析以及基于网络行为的模型学习也同样是一种较好的网络安全技术手段,即通过模拟具有特征性的网络行为以及分析网络行为的特征获取网络攻击行为的提前预警,这样就可以为保护计算机网络系统有力的条件。
3.2把网络安全产业链转变成生态环境
产业价值链在近几年时间里随着不断发展的计算机技术及行业也相应的发生了巨大的变化,它的价值链变得越来越复杂。此外,生态环境的变化速度已经在很大程度上超过了预期环境的变化速度,按照这种趋势发展下去,在未来网络技术发展的过程中,各个参与方一定要加强自身对市场要求的适应能力。
3.3网络安全技术将会朝着自动化和智能化的方向发展
我国现阶段的网络安全技术要得到优化需要经历一个长期的过程,它贯穿于网络发展的始终。此外,智能化的网络优化手段已经开始逐步取代人工化的网络优化手段。同时,还可以将网络优化知识库建立起来,进而针对一些存在于网络运行中的质量问题,将更多切实可行的解决措施提供给网络管理者。所以,国内网络安全技术在未来几年时间里会在IMS的基础上将固定的NGN技术研制出来。这项技术的成功研制能够给企事业的发展提供更丰富的业务支持。
3.4朝着网络大容量的方向发展
国内互联网的业务量在近几年时间里呈现出迅猛增长的态势,尤其是针对那些IP为主的数据业务而言,对交换机以及路由器的处理能力均提出了较高的要求。因为想要对语音、图像等业务需求形成更好的满足,因此,要求IP网络一定要具备较强的包转发和处理能力,那么,未来的网络在不出意外的情况下一定会朝着大容量的方向发展。国内网络在今后发展的过程中,一定要广泛应用硬件交换、分组转发引擎,促使网络系统的整体性能得到切实提升。
在传统上,我们有几种方法来加密数据流。所有这些方法都可以用软件很容易的实现,但是当我们只知道密文的时候,是不容易破译这些加密算法的(当同时有原文和密文时,破译加密算法虽然也不是很容易,但已经是可能的了)。最好的加密算法对系统性能几乎没有影响,并且还可以带来其他内在的优点。例如,大家都知道的pkzip,它既压缩数据又加密数据。又如,dbms的一些软件包总是包含一些加密方法以使复制文件这一功能对一些敏感数据是无效的,或者需要用户的密码。所有这些加密算法都要有高效的加密和解密能力。
幸运的是,在所有的加密算法中最简单的一种就是“置换表”算法,这种算法也能很好达到加密的需要。每一个数据段(总是一个字节)对应着“置换表”中的一个偏移量,偏移量所对应的值就输出成为加密后的文件。加密程序和解密程序都需要一个这样的“置换表”。事实上,80x86cpu系列就有一个指令‘xlat’在硬件级来完成这样的工作。这种加密算法比较简单,加密解密速度都很快,但是一旦这个“置换表”被对方获得,那这个加密方案就完全被识破了。更进一步讲,这种加密算法对于黑客破译来讲是相当直接的,只要找到一个“置换表”就可以了。这种方法在计算机出现之前就已经被广泛的使用。
对这种“置换表”方式的一个改进就是使用2个或者更多的“置换表”,这些表都是基于数据流中字节的位置的,或者基于数据流本身。这时,破译变的更加困难,因为黑客必须正确的做几次变换。通过使用更多的“置换表”,并且按伪随机的方式使用每个表,这种改进的加密方法已经变的很难破译。比如,我们可以对所有的偶数位置的数据使用a表,对所有的奇数位置使用b表,即使黑客获得了明文和密文,他想破译这个加密方案也是非常困难的,除非黑客确切的知道用了两张表。
与使用“置换表”相类似,“变换数据位置”也在计算机加密中使用。但是,这需要更多的执行时间。从输入中读入明文放到一个buffer中,再在buffer中对他们重排序,然后按这个顺序再输出。解密程序按相反的顺序还原数据。这种方法总是和一些别的加密算法混合使用,这就使得破译变的特别的困难,几乎有些不可能了。例如,有这样一个词,变换起字母的顺序,slient可以变为listen,但所有的字母都没有变化,没有增加也没有减少,但是字母之间的顺序已经变化了。
但是,还有一种更好的加密算法,只有计算机可以做,就是字/字节循环移位和xor操作。如果我们把一个字或字节在一个数据流内做循环移位,使用多个或变化的方向(左移或右移),就可以迅速的产生一个加密的数据流。这种方法是很好的,破译它就更加困难!而且,更进一步的是,如果再使用xor操作,按位做异或操作,就就使破译密码更加困难了。如果再使用伪随机的方法,这涉及到要产生一系列的数字,我们可以使用fibbonaci数列。对数列所产生的数做模运算(例如模3),得到一个结果,然后循环移位这个结果的次数,将使破译次密码变的几乎不可能!但是,使用fibbonaci数列这种伪随机的方式所产生的密码对我们的解密程序来讲是非常容易的。
在一些情况下,我们想能够知道数据是否已经被篡改了或被破坏了,这时就需要产生一些校验码,并且把这些校验码插入到数据流中。这样做对数据的防伪与程序本身都是有好处的。但是感染计算机程序的病毒才不会在意这些数据或程序是否加过密,是否有数字签名。所以,加密程序在每次load到内存要开始执行时,都要检查一下本身是否被病毒感染,对与需要加、解密的文件都要做这种检查!很自然,这样一种方法体制应该保密的,因为病毒程序的编写者将会利用这些来破坏别人的程序或数据。因此,在一些反病毒或杀病毒软件中一定要使用加密技术。
循环冗余校验是一种典型的校验数据的方法。对于每一个数据块,它使用位循环移位和xor操作来产生一个16位或32位的校验和,这使得丢失一位或两个位的错误一定会导致校验和出错。这种方式很久以来就应用于文件的传输,例如xmodem-crc。这是方法已经成为标准,而且有详细的文档。但是,基于标准crc算法的一种修改算法对于发现加密数据块中的错误和文件是否被病毒感染是很有效的。
二.基于公钥的加密算法
一个好的加密算法的重要特点之一是具有这种能力:可以指定一个密码或密钥,并用它来加密明文,不同的密码或密钥产生不同的密文。这又分为两种方式:对称密钥算法和非对称密钥算法。所谓对称密钥算法就是加密解密都使用相同的密钥,非对称密钥算法就是加密解密使用不同的密钥。非常著名的pgp公钥加密以及rsa加密方法都是非对称加密算法。加密密钥,即公钥,与解密密钥,即私钥,是非常的不同的。从数学理论上讲,几乎没有真正不可逆的算法存在。例如,对于一个输入‘a’执行一个操作得到结果‘b’,那么我们可以基于‘b’,做一个相对应的操作,导出输入‘a’。在一些情况下,对于每一种操作,我们可以得到一个确定的值,或者该操作没有定义(比如,除数为0)。对于一个没有定义的操作来讲,基于加密算法,可以成功地防止把一个公钥变换成为私钥。因此,要想破译非对称加密算法,找到那个唯一的密钥,唯一的方法只能是反复的试验,而这需要大量的处理时间。
rsa加密算法使用了两个非常大的素数来产生公钥和私钥。即使从一个公钥中通过因数分解可以得到私钥,但这个运算所包含的计算量是非常巨大的,以至于在现实上是不可行的。加密算法本身也是很慢的,这使得使用rsa算法加密大量的数据变的有些不可行。这就使得一些现实中加密算法都基于rsa加密算法。pgp算法(以及大多数基于rsa算法的加密方法)使用公钥来加密一个对称加密算法的密钥,然后再利用一个快速的对称加密算法来加密数据。这个对称算法的密钥是随机产生的,是保密的,因此,得到这个密钥的唯一方法就是使用私钥来解密。
我们举一个例子:假定现在要加密一些数据使用密钥‘12345’。利用rsa公钥,使用rsa算法加密这个密钥‘12345’,并把它放在要加密的数据的前面(可能后面跟着一个分割符或文件长度,以区分数据和密钥),然后,使用对称加密算法加密正文,使用的密钥就是‘12345’。当对方收到时,解密程序找到加密过的密钥,并利用rsa私钥解密出来,然后再确定出数据的开始位置,利用密钥‘12345’来解密数据。这样就使得一个可靠的经过高效加密的数据安全地传输和解密。
一些简单的基于rsa算法的加密算法可在下面的站点找到:
ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa
三.一个崭新的多步加密算法
现在又出现了一种新的加密算法,据说是几乎不可能被破译的。这个算法在1998年6月1日才正式公布的。下面详细的介绍这个算法:
使用一系列的数字(比如说128位密钥),来产生一个可重复的但高度随机化的伪随机的数字的序列。一次使用256个表项,使用随机数序列来产生密码转表,如下所示:
把256个随机数放在一个距阵中,然后对他们进行排序,使用这样一种方式(我们要记住最初的位置)使用最初的位置来产生一个表,随意排序的表,表中的数字在0到255之间。如果不是很明白如何来做,就可以不管它。但是,下面也提供了一些原码(在下面)是我们明白是如何来做的。现在,产生了一个具体的256字节的表。让这个随机数产生器接着来产生这个表中的其余的数,以至于每个表是不同的。下一步,使用"shotguntechnique"技术来产生解码表。基本上说,如果a映射到b,那么b一定可以映射到a,所以b[a[n]]=n.(n是一个在0到255之间的数)。在一个循环中赋值,使用一个256字节的解码表它对应于我们刚才在上一步产生的256字节的加密表。
使用这个方法,已经可以产生这样的一个表,表的顺序是随机,所以产生这256个字节的随机数使用的是二次伪随机,使用了两个额外的16位的密码.现在,已经有了两张转换表,基本的加密解密是如下这样工作的。前一个字节密文是这个256字节的表的索引。或者,为了提高加密效果,可以使用多余8位的值,甚至使用校验和或者crc算法来产生索引字节。假定这个表是256*256的数组,将会是下面的样子:
crypto1=a[crypto0][value]
变量''''crypto1''''是加密后的数据,''''crypto0''''是前一个加密数据(或着是前面几个加密数据的一个函数值)。很自然的,第一个数据需要一个“种子”,这个“种子”是我们必须记住的。如果使用256*256的表,这样做将会增加密文的长度。或者,可以使用你产生出随机数序列所用的密码,也可能是它的crc校验和。顺便提及的是曾作过这样一个测试:使用16个字节来产生表的索引,以128位的密钥作为这16个字节的初始的"种子"。然后,在产生出这些随机数的表之后,就可以用来加密数据,速度达到每秒钟100k个字节。一定要保证在加密与解密时都使用加密的值作为表的索引,而且这两次一定要匹配。
加密时所产生的伪随机序列是很随意的,可以设计成想要的任何序列。没有关于这个随机序列的详细的信息,解密密文是不现实的。例如:一些ascii码的序列,如“eeeeeeee"可能被转化成一些随机的没有任何意义的乱码,每一个字节都依赖于其前一个字节的密文,而不是实际的值。对于任一个单个的字符的这种变换来说,隐藏了加密数据的有效的真正的长度。
如果确实不理解如何来产生一个随机数序列,就考虑fibbonacci数列,使用2个双字(64位)的数作为产生随机数的种子,再加上第三个双字来做xor操作。这个算法产生了一系列的随机数。算法如下:
unsignedlongdw1,dw2,dw3,dwmask;
inti1;
unsignedlongarandom[256];
dw1={seed#1};
dw2={seed#2};
dwmask={seed#3};
//thisgivesyou332-bit"seeds",or96bitstotal
for(i1=0;i1<256;i1++)
{
dw3=(dw1+dw2)^dwmask;
arandom[i1]=dw3;
dw1=dw2;
dw2=dw3;
}
如果想产生一系列的随机数字,比如说,在0和列表中所有的随机数之间的一些数,就可以使用下面的方法:
int__cdeclmysortproc(void*p1,void*p2)
{
unsignedlong**pp1=(unsignedlong**)p1;
unsignedlong**pp2=(unsignedlong**)p2;
if(**pp1<**pp2)
return(-1);
elseif(**pp1>*pp2)
return(1);
return(0);
}
...
inti1;
unsignedlong*aprandom[256];
unsignedlongarandom[256];//samearrayasbefore,inthiscase
intaresult[256];//resultsgohere
for(i1=0;i1<256;i1++)
{
aprandom[i1]=arandom+i1;
}
//nowsortit
qsort(aprandom,256,sizeof(*aprandom),mysortproc);
//finalstep-offsetsforpointersareplacedintooutputarray
for(i1=0;i1<256;i1++)
{
aresult[i1]=(int)(aprandom[i1]-arandom);
}
...
变量''''aresult''''中的值应该是一个排过序的唯一的一系列的整数的数组,整数的值的范围均在0到255之间。这样一个数组是非常有用的,例如:对一个字节对字节的转换表,就可以很容易并且非常可靠的来产生一个短的密钥(经常作为一些随机数的种子)。这样一个表还有其他的用处,比如说:来产生一个随机的字符,计算机游戏中一个物体的随机的位置等等。上面的例子就其本身而言并没有构成一个加密算法,只是加密算法一个组成部分。
作为一个测试,开发了一个应用程序来测试上面所描述的加密算法。程序本身都经过了几次的优化和修改,来提高随机数的真正的随机性和防止会产生一些短的可重复的用于加密的随机数。用这个程序来加密一个文件,破解这个文件可能会需要非常巨大的时间以至于在现实上是不可能的。
四.结论:
由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。
参考文献:
1.pgp!/
cyberknights(newlink)/cyberkt/
(oldlink:/~merlin/knights/)
2.cryptochamberjyu.fi/~paasivir/crypt/
3.sshcryptographa-z(includesinfoonsslandhttps)ssh.fi/tech/crypto/
4.funet''''cryptologyftp(yetanotherfinlandresource)ftp://ftp.funet.fi/pub/crypt/
agreatenigmaarticle,howthecodewasbrokenbypolishscientists
/nbrass/1enigma.htm
5.ftpsiteinukftp://sable.ox.ac.uk/pub/crypto/
6.australianftpsiteftp://ftp.psy.uq.oz.au/pub/
7.replayassociatesftparchiveftp://utopia.hacktic.nl/pub/replay/pub/crypto/
当前,大部分计算机的系统为Windows系统,只有少数计算机的系统为Linux系统。Windows系统受众面广,受网络攻击的可能性更大,再加上系统本身存在很多漏洞,严重影响了计算机数据信息的安全性。如果黑客攻击系统所存在的漏洞,就会导致病毒通过漏洞感染计算机。计算机操作系统建设所用的代码会涉及到汇编、反汇编等底层代码,并且所有代码的编写需要整个团队来完成,这样往往在代码编写过程中就会出现漏洞,需要用专门的补丁来修复。系统漏洞的存在给计算机的安全使用带来了极大的威胁,导致银行账号、密码,游戏账号、密码等泄露,从而对计算机使用者造成一定的损失。
1.2计算机病毒
计算机病毒具有感染性强、蔓延范围广、传播速度快等特点,是威胁计算机数据安全的重要因素。在病毒进入到计算机程序后,如果将带有病毒的数据文件应用于计算机网络传输或共享,那么其他计算机在浏览或打开此数据文件时也会被感染,出现连锁式病毒传播。另外,如果计算机病毒过多,会对计算机操作系统造成十分严重的影响,出现死机或者数据丢失等事故。
1.3非正常入侵
计算机网络具有开放性特点,在互联网背景下,很多不法分子利用系统本身存在的漏洞非法入侵用户计算机。非法入侵者一般采取窃听、监视等手段,获取计算机网络用户的口令、IP包和用户信息等,然后利用各种信息进入计算机局域网内,并采用冒充系统客户或者用合法用户的IP地址代替自己的IP地址等方式,篡改或窃取计算机网络内的数据信息。
2数据加密技术的应用
2.1密钥保护
密钥保护是数据加密中一种常用的加密技术。改变密钥的表达方式,可提高密文书写的多变性,体现多层次的加密方式。密钥保护可分为公钥保护和私钥保护两种方式。通常这两种方式相互配合,对提高计算机数据信息的安全性具有重要意义。私钥保护具有一定的局限性,在使用时必须借助公钥保护来完成整个保护动作。密钥保护的原理是:当计算机进行数据传输时,选用公钥对需要传输的信息进行加密,在用户接收数据后,需要通过私钥来完成解密动作,以此来确保传输数据的安全性,避免攻击者非法窃取传输过程中的数据。当前,秘钥保护方式一般用于管理系统和金融系统中,可以完成对私人信息、用户登录和访问过程等方面的保护。
2.2USBkey保护
USBkey是数据加密技术的典型代表,一般用于银行交易系统中,保证网络交易环境的安全性。USBkey服务于客户端到银行系统,对每项数据信息的传输都需要加密处理,避免数据在传输过程中受到恶意攻击。就现状来看,银行系统通过计算机网络来完成工作的概率逐渐上升。USBkey可以保护银行系统能够在相对安全的环境中完成交易。在用户利用计算机网络进行银行交易时,USBkey中的加密技术会自动匹配用户信息,即便用户行为被跟踪,攻击者也无法破译USBkey中的加密技术,通过加强用户登录身份的验证,保证用户财务安全。
2.3数字签名保护
数字签名保护是比较常用的一种数据加密技术,具有很好的保护效果。数字签名保护的原理是利用加密、解密过程,识别用户身份,从而保证数据信息的安全性。数字签名保护也分为公钥保护和私钥保护两种,如果只使用其中的一种保护方式,会在本质上降低安全保护的效果。因此,通常情况下,常在私钥签名处外加一层公钥保护,提高数字签名保护的效果。
因为信息数据是通过计算机进行存储与传输的,所以数据安全隐患产生的第一步就是计算机中存在的安全风险,包括硬件与软件的安全问题:第一、操作系统出现漏洞,内部含有窃取信息的程序或者木马,其数据信息被盗取与修改都是在使用者毫无察觉的情况下发生的;第二、计算机病毒,如果计算机没有安装杀毒软件,则会让电脑处于危险状态,很多病毒会随着数据的传输或者程序的安装而进入计算机,从而实现窃取与篡改计算机内信息数据的目的;第三、硬件不稳定,计算机硬件的不稳定如磁盘受损、缺少恢复程序等,会造成传输或存储的数据丢失或错误,从而对信息数据造成危害。还有就是网络安全隐患,主要是网络的传播不稳定和网络存在安全漏洞,这也是存在安全隐患最多的一环,不过这一般和人为安全因素有很大的联系,人们会利用网络安全的漏洞进行数据的窃取与篡改。
1.2人为安全隐患
因为利益驱使,为了盗取或者篡改重要信息,出现了很多非法入侵他人电脑或者网络系统的行为,如黑客、传播病毒、电子诈骗、搭线窃听、挂木马等,这些人为的破坏行为其目的性就比较强,往往攻击力强、危害度比较大,一般是涉及窃取重要的经济情报、军事情报、企业重要信息或者是进行国家网络系统的恶意攻击等,给个人、单位,甚至是国家都带来难以弥补的损失,也是必须加以防范的安全隐患。
2计算机信息数据的加密技术
2.1存储加密法
存储加密是用来保护在存储过程当中信息数据的完整性与保密性,包括密文存储与存取控制。而密文存储是通过加密算法的转换、附加密码进行加密、加密模块的设置等技术实现其保密作用;存取控制是通过审查用户资料来辨别用户的合法性,从而通过限制用户权限来保护信息数据不被其他用户盗取或修改,包括阻止合法用户的越权行为和非法用户的入侵行为。
2.2传输加密法
传输加密是通过加密来保护传输中信息数据流的安全性,实现的是过程的动态性加密,分为端—端加密与线路加密两种。端—端是一种从信息数据发出者的端口处制定加密信息,只要是从此端口发出的数据都会自动加密,加密后变成了不可阅读与不可识别的某些信息数据,并通过TCP/IP数据包后,最终到达传输目的地,当到达最终端口时,这些信息数据会自动进行重组与解密,转化为可以阅读与识别的信息数据,以供数据接收者安全的使用;线路加密则有所不同,它是完全不需对信源和信宿进行加密保护,而是运用对信息数据传输的不同路线采用不同加密密钥的手段,达到对线路的保护目的。
2.3密钥管理法
很多的数据信息进行加密都是通过设置密钥进行安全防护,所以密钥是能否保护好信息数据的关键,如果密钥被破解,则信息数据就无保密性可言,故对密钥的保护非常关键,这也就是我们所说的密钥管理法,它在密钥形成的各个环节(产生、保存、分配、更换、销毁等阶段)进行管理控制,确保密钥的安全性。
2.4确认加密法
确认加密法是通过对信息数据的共享范围进行严格控制,来防止这些数据被非法篡改与伪造。按照不同的目的,确认加密法可分为:信息确认、数字签名与身份确认三种。数字签名是根据公开密钥与私人密钥两者存在一定的数学关系而建立的,使用其中任一密钥进行加密的信息数据,只能用另一密钥进行解密,从而确保数据的真实性,如发送者用个人的私人密钥对传输信息数据进行加密之后,传送到接收者那里,接收者必须用其公开密钥对数据进行解密,这样可以准确的知道该信息的发送源是那里,避免信息的错误。
2.5信息摘要法
信息摘要法是通过一个单向的Hash加密函数来对信息数据进行处理,而产生出与数据对应的唯一文本值或消息值,即信息的摘要,来保证数据的完整性,它是在信息数据发送者那里进行加密后产生出一个摘要,接收者通过密钥进行解密后会产生另一个摘要,接收者对两个摘要进行对比,如果两个有差别,就表面数据在传输途中被修改。
2.6完整性鉴别法
完整性鉴别法是将事先设定的某些参数(如口令、各相关人员的身份、密钥、信息数据等)录入系统,在数据信息传输中,通过让验证对象输入相应的特征值,判断输入的特征值是否符合要求,来对信息数据进行保护的技术。
(1)芯片陷阱。在计算机中所利用到的芯片,通常具备秘密功能,而且这些秘密功能很难让人察觉。在国外,对于我国所使用的CPU集成了病毒指令及陷阱指令。他们能够通过对无线代码的利用,从而使CPU等内部指令得到有效激活,进一步导致内部信息发生外泄,最终导致计算机瘫痪而无法正常运行。
(2)电磁泄漏。计算机在运行过程中,会辐射出巨大的电磁脉冲,恶意破坏者则通过对计算机辐射的电磁波进行接收,进一步通过复原获取计算机中的信息数据。
(3)硬件故障。在计算机存储器硬件遭遇损坏的情况下,便会导致所存储的数据无法有效读取出来。
1.2软件方面的安全问题
(1)窃听。主要指的是资料数据在进行网络传输过程当中,被第三方非法获取,从而造成资料数据的流失。对于企业而言,遭遇窃听则会泄漏公司机密,从而使企业造成不可估量的经济损失。
(2)病毒入侵。主要指的是电脑病毒,对于电脑病毒来说,能够进行自行复制,从而对应用软件进行更换,并且还可以更改资料或删除文档。
(3)网络钓鱼。通过或者仿冒网络商店的构建,从而获取网民的信息资料,进一步造成网民个人信息泄露或直接的经济损失。
(4)伪装及篡改。在“伪装”方面,主要指的是攻击者伪装成合法的使用者,从而轻而易举地获取使用权限。在“篡改”方面主要指的是资料被篡改,比如储存或者处于传输过程中的资料被篡改,那么这些资料的完整性便遭遇损坏,同时这些资料的安全性也失去了可靠性及安全性。
二、计算机安全常见问题的防御对策探究
1、加固技术
使用加固技术可以使计算机硬件的安全性得到有效提升。涵盖了防腐加固、温度环境加固、密封加固及防震加固等。对于加固技术中的防辐射加固来说,是将计算机各方面的硬件,比如电源、硬盘、芯片等均进行屏蔽,从而使电磁波辐射现象的发生实现有效避免。当然,对于计算机硬件方面的工作,除了加固技术外,还需具体情况具体分析,比如为了使数据存储的安全性得到有效提升,便可以使用数据备份的方面,把有用的数据进行定期复制,并进一步加以保存。
2、加密技术
为了使信息窃取实现有效避免,便可以采取加密技术。该项技术主要分为两类,一类为对称加密技术,另一类为非对称加密技术。其中,对于对称加密技术来说,主要是指信息的发送方与接收方使用同一各密钥进行加密及解密数据。非对称加密技术即为公钥加密,通过一对密钥的利用,以分别的方式进行加密与解密数据。
3、认证技术
对于认证技术来说,主要是指通过电子手段的加以利用,以此证明发送者与接受者身份的一种技术,同时该项技术还能够辨识文件的完整性。也就是说,能够辨识出数据在传输过程中是否被篡改或非法存储等。认证技术分为两类,一类为数字签名,另一类为数字证书。其中,数字签名又称之为电子签名,主要是将数字签名当作报文发送给接收者。对于用户来说,可以通过安全可靠的方法向相关部门提交资金的公钥,从而获取证书,进一步用户便具备公开此项证书的合法权益。对于需要用户公钥的人,均能够获取此项证书,并且通过相关合法协议的签订,从而使公钥的有效性得到证实。对于数字证书来说,将交易各方的身份信息逐一标识出来,进一步提供出验证各身份的方法,如此一来用户便能够使用这些方法对对方的身份进行有效识别。
2数据加密技术在计算机网络安全中的应用
2.1数据加密技术在软件加密中的应用
软件是计算机运用不可或缺的组成部分,在计算机的日常运用时,病毒和网络黑客最常侵入计算机软件,软件由于设计上的漏洞也最容易遭受病毒和黑客的入侵。在软件中应用数据加密技术进行软件加密,可以对计算机病毒及网络黑客的入侵进行有效的阻挡。加密程序的执行过程中,加密操作员必须对加密数据进行检测,避免文件中隐藏有病毒,若是检测出病毒,必须进行相应处理及检测软件、数据和系统的完整性和保密性,遏制病毒的蔓延。因此,数据加密技术在软件加密中的应用,对计算机网络安全和信息数据的保护,起到了至关重要的作用。
2.2数据加密技术应用于网络数据库加密
现有使用的网络数据库管理系统平台大部分是WindowsNT或者Unix,它们的平台操作系统的安全评价级别通常为C1级或者C2级,故而计算机拥有相对来说仍然比较脆弱的存储系统和数据传输公共信道,一些保密数据以及各种密码容易被PC机之类的设备以各种方式窃取、篡改或破坏。
2.3数据加密技术在电子商务中的应用
随着电子商务的快速兴起,现代社会更加信息化,人们的日学习工作生活方式发生了巨大变化。电子商务需以网络运行为载体,在网络平台上才能进行交易,因此电子商务无法摆脱网络因素存在的各种风险,若是不运用有效的加密技术,交易中的各种隐私信息将会轻易被不法分子窃取,造成交易双方的重大损失,影响双方信誉及继续合作可能性。网络平台和交易信息的安全性也影响电子商务的交易安全,应用数字证书、SET安全协议以及数字签名等数据加密技术,可以提高计算机网络环境安全,保障双方交易的相关信息的安全。
2.4数据加密技术应用于虚拟专用网络
现有许多企业单位大多建立了局域网供内部信息交流,由于各个分支机构的距离位置远近不同,需要应用一个专业路线联通各个局域网,达到机构间的网络信息交流。数据加密技术应用于虚拟专业网络中时,主要是当数据进行传输,虚拟专用网络能够被自动保存在路由器中,路由器中的硬件会对其进行加密,加密后的密文再在互联网中传播,到达接收数据的路由后,再自动进行解密,使接受者则能够安全看到数据信息。
1.2垃圾邮件和间谍软件当收到垃圾邮件或安装了间谍软件时,常常会使计算机的网络安全陷入不利境地,并成为破坏计算机正常使用的主要因素之一。在计算机网络的应用环境下,由于电子邮件的地址是完全开放的,同时计算机系统具有可广播性,因而有些人或团体就会利用这一特性,进行宗教、商业,或政治等活动,主要方式就是强迫目标邮箱接收特定安排的邮件,使目标邮箱中出现垃圾邮件。与计算机病毒有所区别,间谍软件的主要控制手段为盗取口令,并侵入计算机系统实行违法操作,包括盗取用户信息,实施贪污、盗窃、诈骗等违法犯罪行为,不仅对计算机安全性能造成破坏,同时也会严重威胁用户的个人隐私。
1.3计算机用户操作失误由于计算机用户操作不当而发生的损失,也是影响计算机正常使用并破坏网络安全的重要因素之一。目前计算机用户的整体规模不断扩大,但其中有许多用户并未对计算机的安全防护进行应有的重视,对计算机的合理使用认识不到位,因而在安全防范方面力度不够,这就给恶意攻击者提供了入侵系统的机会,并进而出现严重的安全问题。用户安全意识差的主要表现包括:账号密码过于简单,破解容易,甚至随意泄露;使用软件时进行了错误操作;系统备份不完全。这些行为都会引起网络安全问题的发生。
2计算机网络安全防范的措施
2.1定期进行数据备份为防止因突破情况,如自然灾害,断电等造成的数据丢失,应在平时养成定期数据备份的习惯,将硬盘上的重要文件,数据复制到其他存储设备中,如移动硬盘等。如果做好了备份工作,即使当计算机系统遭受攻击而发生数据毁坏,也无需担心数据的彻底消失,而只需将已经备份的文件和数据再重新恢复到计算机中即可。因此,数据的定期备份是维护计算机网络安全的有效途径之一。如果计算机因意外情况而无法正常启动,也需在重新安装系统前进行数据备份,以便在计算机能够正常使用后完成数据恢复,这在非法入侵系统造成的数据毁坏时也能起到重要的作用。
2.2采用物理隔离网闸物理隔离网闸是一种通过外部设备来实现计算机安全防护的技术手段,利用固态开关读写作为媒介,来实现不同主机系统间的对接,可实现多种控制功能。由于在这一技术手段下的不同主机系统之间,并不存在通信的物理连接、逻辑连接、信息传输命令、信息传输协议,以及基于协议的信息包,只存在无协议“摆渡”,同时只能对存储媒介发出“读”与“写”这两种指令。因此,物理隔离网闸可以从源头上保障计算机网络的安全,从物理上隔离,阻断了带有攻击性质的所有连接,切断黑客入侵的途径,使其无法攻击,无法破坏,真正维护了网络安全。
2.3防火墙技术防火墙是一种常用的计算机安全软件,在计算机和互联网之间构筑一道“安检”关卡。安装了防火墙,所有经过这台计算机的网络通信都必须接受防火墙的安全扫描,从而使具有攻击性的通信无法与计算机取得连接,阻断非授权访问在计算机上的执行。同时,防火墙还会将不必要的端口关闭,并针对指定端口实施通信禁止,从而对木马进行封锁堵截。最后,它可以对特殊站点的访问实施拦截,拒绝来路不明的所有通信,最大程度地维护计算机网络的安全。
2.4加密技术为进一步地维护网络信息安全,保证用户信息不被侵犯,还可使用加密技术来对计算机的系统安全钥匙进行升级,对加密技术进行充分合理的利用能有效提高信息的安全程度。首先是数据加密,基本原理在于通过使用特定算法对目标文件加以处理,使其由原来的明文转为无法识别的代码,通常称为密文,如果需要查看加密前的内容,就必须输入正确的密钥,这样就可防止重要信息内容被不法分子窃取和掌握。相对地,加密技术的逆过程为解密,即将代码转为可读的文件。其次是智能卡技术,该技术与加密技术有较强的关联性。所谓智能卡,其实质为密钥的一种媒介,与信用卡相类似,只能由经过授权的使用者所持有,授权用户可对其设置一定的口令,同时保证设置的口令与网络服务器密码相同,当同时使用口令与身份特征,能够起到极为理想的保密效果。
2.5进行入侵检测和网络监控计算机网络安全技术还包括入侵检测即网络监控。其中,入侵检测是一项综合程度高的安全维护手段,包括统计技术,网络通信技术,推理技术等,起到的作用十分显著,可对当前网络环境进行监督,以便及时发现系统被攻击的征兆。根据分析手段的不同,可将其分为签名法与统计法两种。对于针对系统已知漏洞的攻击,可用签名法来实施监控;对于系统的正常运行阶段,需要对其中的可疑动作是否出现了异常现象进行确认时,可用统计法进行监控,能够从动作模式为出发点进行判断。
2.6及时下载漏洞补丁程序对计算机网络安全的维护应当是一个长期的,动态的过程,因此及时下载漏洞补丁就显得十分必要。在使用计算机来连接网络的过程当中,为避免因存在系统漏洞而被恶意攻击者利用,必须及时下载最新的漏洞补丁,消除计算机应用环境中的种种隐患。可通过特定的漏洞扫描手段对漏洞进行扫描,例如COPS,tripwire,tiger等,都是非常实用的漏洞扫描软件,360安全卫士,瑞星卡卡等软件也有良好的效果,可使用这些软件进行扫描并下载漏洞补丁。
2.7加强用户账号的安全保护为保障计算机网络账号的安全,应加强对账号的保护措施。在计算机应用的网络环境下,许多应用领域都需要账号和密码进行登录,涉及范围较广,包括系统登录,电子账号登录,网上银行登录等等,因此加强对账号的安全防范就有着极其重要的意义。首先,对系统登录来说,密码设置应尽量复杂;其次,对于不同应用方面的账号来说,应避免使用相同或类似的密码,以免造成重大损失;再次,在设置方式上应采用组合的形式,综合使用数字、字母,以及特殊符号;最后,应保证密码长度合适,同时应定期修改密码。
关键字蓝牙流加密分组加密DESAES
1引言
随着计算机网络技术的迅速发展,网络中的信息安全问题越来越受到广泛关注。信息安全主要涉及到用户身份验证、访问控制、数据完整性、数据加密等问题。网络安全产品大量涌现。虽然各种网络安全产品的功能多种多样,但它们无一例外地要使用加密技术。一个好的加密算法首先表现在它的安全性上,一个不安全的算法会使使用它的网络变得更加脆弱;其次要考虑它在软硬件方面实现的难易度,不易实现的加密算法是不现实的;第三要看使用此加密算法会不会降低数据传输速率。
蓝牙技术是一种新兴的无线网络标准,它基于芯片提供短距离范围的无线跳频通信。它注定会成为一项通用的低成本无线技术,可适用于一系列范围广泛的数据通信应用。蓝牙标准定义了一系列安全机制,从而为近距离无线通信提供了基本的保护。它要求每个蓝牙设备都要实现密钥管理、认证以及加密等功能。此外蓝牙技术所采用的跳频数据通信方式本身也是一个防止窃听的有效安全手段。蓝牙加密过程中所用到的加密算法是E0流密码。但是这种算法存在有一些缺点,128位密钥长度的E0流加密在某些情况下可通过0(2^64)方式破解。所以对于大多数需要将保密放在首位来考虑的应用来说,仅仅采用蓝牙提供的数据安全性是不够的。
2蓝牙标准中的安全措施
蓝牙技术中,物理层数据的安全性主要是采用了跳频扩展频谱,由于蓝牙技术采用了跳频技术从而使得窃听变得极困难。蓝牙射频工作在2.4Hz频段。在北美和欧洲的大部分国家,蓝牙设备工作与从2.402到2.480Hz的频带,整个频带被分为79个1MHz带宽的子信道。FHSS依靠频率的变化来对抗干扰。如果射频单元在某个频率遇到干扰,则会在下一步跳到另一频率点时重传受到干扰的信号,因此总的干扰可变得很低。
为了得到完整的传输数据,蓝牙技术使用以下三种纠错方案:1/3比例前向纠错码(FEC),2/3比例前向纠错码(FEC),数据的自动重发请求(ARQ)方案。
蓝牙技术产品的认证和加密服务一般由链路层提供,认证采用口令-应答方式进行。在连接过程中往往需要一两次认证。为了确保通信安全,对蓝牙技术产品进行认证是十分必要的,通过认证之后,可以允许用户自行增添可信任的蓝牙技术设备,例如,用户自己的笔记本电脑经过认证之后,能够确保只有用户自己的这台笔记本电脑,才可以借助用户自己的移动电话手机进行通信。
若对于通信有更高的安全要求,那么通信中的蓝牙技术产品就不必局限于采用物理层的提供,还可以采用更高级别的传输层和应用层安全机制,以确保基于蓝牙技术产品的通信更加安全可靠。
3蓝牙技术中的加密算法
在链路层中,蓝牙系统提供了认证、加密和密钥管理等功能,每一个用户都有一个标识码(PIN),蓝牙设备中所用的PIN码的长度可以在1到16个字节之间变化。通常4个字节的PIN码已经可以满足一般应用,但是更高安全级别的应用将需要更长的码字。PIN码可以是蓝牙设备提供的一个固定码,也可以由用户任意指定,标识码(PIN)会被一个128位链路密钥来进行单双向认证。一旦认证完毕,链路层会以不同长度的密钥来加密。如图1。
PINPIN
认证
链路密钥
链路密钥
加密
加密密钥Kc
加密密钥Kc
申请者校验者
图1:蓝牙中链路层的加密过程
蓝牙技术在加密过程中所采用的加密算法如下表1。
表1:蓝牙加密过程中所用的加密算法
3.1认证算法
在认证过程中,用于蓝牙认证的E1认证函数来计算出一个安全认证码或被称为MAC(媒体访问控制地址)。E1所采用的算法是SAFER+,SAFER+算法是参与1997年美国国家标准技术研究所(NIST)征集AES(AdvancedEncryptionStandard)的候选算法之一。SAFER+是基于现有的64位分组密码的SAFER-SK128,因此它的安全性可以说是经过了时间的考验。
E1函数的输入是linkkey,AU_RAND及BD_ADDR,它的定义如下:
E1:
在蓝牙技术中,认证采用口令-应答方式。验证方要求申请者鉴别随机数AU_RAND并返回计算结果SRES,若双方的计算结果相等则认证成功,并保留ACO(AuthenticatedCipheringOffset)值。若某次认证失败,则必须等待一定的时间间隔才能进行再次认证
3.2加密算法
在蓝牙技术中,用户信息可采用分组有效载荷的加密进行保护,但识别码和分组头不加密。有效载荷的加密采用E0流密码来实现。E0将对每一有效载荷重新同步。流密码系统E0由三部分组成。第一部分执行初始化(生成有效载荷字),第二部分生成密钥流,第三部分完成加密和解密,如图2。
有效载荷字明码文本/密码文本
Kc
地址
时钟Z密码文本/明码文本
RAND
图2蓝牙的E0流加密
有效载荷字发生器非常简单,它仅仅以适当序列对输入的位进行组合,然后将它们转移到用于密钥流发生器的四位LFSR中。加密机采用了四个线性反馈移位寄存器(LFSR),依次为LFSR1、LFSR2、LFSR3、LFSR4,其长度分别为25,31,33,39比特。LFSR的性质:加密机把四个LFSR的输出结果输入到一个有限状态机中,经有限状态机的组合运算输出密钥流序列,若在初始化阶段则输出一个随机的初始化值。加密算法使用Kc、BD_ADDR、主时钟CLK26-1及RAND这些参数。时钟CLK26-1按时隙递增,在任两次发送中,CLK26-1至少有一位是不同的,因此在每次初始化后都将产生新的密钥流。对占用多个时隙的分组来说,CLK26-1为分组所占的第一个时隙的时钟值。
第二部分是该密码系统的主要部分,并也将用于初始化过程中。密钥流取自于Massey和Rueppel流密码发生器的方法来生成。
最后就是流加密算法的加密过程。将数据流与密码算法生成二进制流比特进行异或运算。对于加密规则,流密码算法用于将加密位按位模2并加到数据流上,然后通过无线接口进行传输。对每一分组的有效载荷的加密是单独进行的,它发生在CRC校验之后,FEC编码之前。由于加密是对称的,解密使用完全和加密相同的密钥和相同的方法实现。
4蓝牙标准中加密算法存在的问题
蓝牙所采用的E0流密码算法的本身就有一些弱点。流密码算法主要的缺点在于若一个伪随机序列发生错误便会使整个密文发生错误,致使在解密过程中无法还原回明文。流加密算法系统的安全完全依靠密钥流发生器的内部机制。如果它的输出是无穷无尽的0序列,那么密文就是明文,这样整个系统就一文不值;如果它的输出是一个周期性的16-位模式,那么该算法仅是一个可忽略安全性的异或运算;如果输出的是一系列无尽的随机序列(是真正的随机,非伪随机),那么就有一次一密乱码本和非常完美的安全。实际的流密码算法的安全性依赖于简单的异或运算和一次一密乱码本。密钥流发生器产生的看似随机的密钥流实际上是确定的,在解密的时候能很好的将其再现。密钥流发生器输出的密钥越接近于随机,对密码分析者来说就越困难。然而,这种随机的密钥流却不容易得到。
在蓝牙E0流加密中用到的LFSR易受到相关攻击和分割解决攻击,且用软件实现效率非常低。在实现过程中要避免稀疏的反馈多项式,因为它们易遭到相关攻击,但稠密的反馈多项式效率也很低。事实上LFSR算法用软件实现并不比DES快。
以上的这些问题会让人认为蓝牙的安全体系是高度不可靠的,然而一个不可忽略的事实是:通过蓝牙连接传输的数据一般来说并不是非常重要的。目前蓝牙标准考虑到的安全技术只适用于规模较小的网络,如果网络结点较多,拓扑复杂(如AdHoc网络),现有的基于点对点的密钥分配和认证机制不能满足需求。蓝牙所提供的数据安全性措施对小型应用来说看起来已足够了,但任何敏感数据或会产生问题的数据都不应直接通过蓝牙传输。为了使蓝牙技术应用得更广泛,我们可采用另外更强劲的加密算法,如DES算法。
5DES解决方案
5.1DES简介
1977年1月,美国政府采纳了由IBM研制的作为非绝密信息的正式标准乘积密码。这激励了一大批生产厂家实现这个在保密产业中成为数据加密标准DES(dataencrytionstandard)的加密算法。此算法有一个64比特的密钥作为参数。明文按64比特分组加密,生成64比特的密文。
由于DES是一种块加密方法,这意味着加密过程是针对一个数据块一个数据块地进行的。在DES算法中,原始信息被分成64位的固定长度数据块,然后利用56位的加密密钥通过置换和组合方法生成64位的加密信息。解密用的密钥与加密密钥相同,只是解密步骤正好相反。DES传送数据的一般形式是以代入法密码格式按块传送数据。DES采用的加密方法,一次加密一位或一个字节,形成密码流。密码流具有自同步的特点,被传送的密码文本中发生错误和数据丢失,将只影响最终的明码文本的一小段(64位),这称为密码反馈。
与蓝牙流密码算法不同,数学上可以证明分组加密算法是完全安全的。DES块密码是高度随机的、非线性的,生成的加密密文与明文和密钥的每一位都相关。DES的可用加密密钥数量多达72x1015个。应用于每一明文信息的密钥都是从这一巨大数量的密钥中随机产生的。DES算法已被广泛采用并被认为是非常可靠的。
5.2蓝牙中用DES取代E0流密码
如图1,在两个蓝牙设备经过认证并已生成了加密密钥Kc后就可进行加密了。因为Kc可在8~128比特变化,而DES加密算法使用长度为56比特的密钥加密长度为64比特的明文从而获得64比特的密文,所以这里可取Kc的长度为56比特。用DES加密蓝牙数据分组的过程如下:
a)将来自蓝牙分组分割成64比特的明文段。其中的一段记为x=DIN[63:0],先通过一个固定的初始置换IP,将x的比特置换为x0。即:x0=IP(x)=L0R0,这里L0是x0的前32比特,R0是x0的后32比特。
b)进行16轮完全相同的运算,在这里是数据与密钥相结合,例计算LiRi,。
Li=Ri-1
Ri=Lif(Ri-1,Ki)
其中Ki是来自密钥Kc=Key[63:0]的比特的一个置换结果。而f函数是实现代替、置换及密钥异或的函数。
c)对R16L16进行初始置换IP的逆置换IP,获得密文y=DOUT[63:0],即y=IP(R16L16)。最后一次迭代后,左边和右边未交换,将R16L16作为IP的输入,目的是使算法可同时用于加密和解密。
无论是硬件还是软件,此DES加密方案都易实现。其中DES的硬件实现如图3。此硬件加密方案采用低成本的可编程逻辑器件和现成可用的用于高级加密处理的智力产权(IP)产品实现。目前,大批量时只用10美元即可购买到10万系统门的可编程逻辑器件。这些器件还允许在设计中增加其它功能,如高级错误纠正。因此可编程逻辑器件可大幅度降低系统级的成本。
用软件(这里选用C语言)来实现该加密算法。为了算法实现的方便,这里删去了初始置换和末置换。
将此加密算法嵌入蓝牙协议中的基带部分以取代E0流密码算法,可允许蓝牙技术安全地应用到范围广泛的安全性具有最重要地位的应用中去。这些应用包括:金融电子交易:ATM、智能卡,安全电子商务交易,安全办公通信,安全视频监视系统,数字机顶盒,高清晰度电视(HDTV),其它消费电子设备等领域。
另外,对蓝牙加密这个过程中,可发现DES加密算法在近距离无线局域网的特定环境下存在一些问题。进而优化算法,最终可为应用于各种近距离无线网络通信的加密算法的选择提供有实际意义的参考依据。
6结束语
蓝牙是一项将会改变我们通信方式的令人激动的新技术。然而,蓝牙技术在标准化过程中都未曾完整地考虑安全问题。作为以无线信道为传输媒体的通信网络,蓝牙网络相对于固定网络更容易受到攻击。对于数据安全性处于首要地位的应用来说,实现高水平的数据安全性是必须的。目前蓝牙标准所采用的E0流密码算法存在着很多弊端,而DES和RSA算法相对来说更安全,而且较易实现。
参考文献
[1]金纯许光辰等编著《蓝牙技术》[M](北京)电子工业出版社2001年3月
[2]于跃韩永飞蓝牙技术的安全性[J]《电信技术》2001年第9期
[3]Andrew《ComputerNetwork》[M]S.TanenbaunPrenticeHall1998
[4]VainioJ.,BluetoothSecurity,05-25-2000
[5]Bluetooth,TheBluetoothSpecification,v.1.0B
当前形势下,人们进行信息数据的传递与交流主要面临着两个方面的信息安全影响:人为因素和非人为因素。其中人为因素是指:黑客、病毒、木马、电子欺骗等;非人为因素是指:不可抗力的自然灾害如火灾、电磁波干扰、或者是计算机硬件故障、部件损坏等。在诸多因素的制约下,如果不对信息数据进行必要的加密处理,我们传递的信息数据就可能泄露,被不法分子获得,损害我们自身以及他人的根本利益,甚至造成国家安全危害。因此,信息数据的安全和加密在当前形势下对人们的生活来说是必不可少的,通过信息数据加密,信息数据有了安全保障,人们不必再顾忌信息数据的泄露,能够放心地在网络上完成便捷的信息数据传递与交流。
1信息数据安全与加密的必要外部条件
1.1计算机安全。每一个计算机网络用户都首先把自己的信息数据存储在计算机之中,然后,才进行相互之间的信息数据传递与交流,有效地保障其信息数据的安全必须以保证计算机的安全为前提,计算机安全主要有两个方面包括:计算机的硬件安全与计算机软件安全。1)计算机硬件安全技术。保持计算机正常的运转,定期检查是否出现硬件故障,并及时维修处理,在易损器件出现安全问题之前提前更换,保证计算机通电线路安全,提供备用供电系统,实时保持线路畅通。2)计算机软件安全技术。首先,必须有安全可靠的操作系统。作为计算机工作的平台,操作系统必须具有访问控制、安全内核等安全功能,能够随时为计算机新加入软件进行检测,如提供windows安全警报等等。其次,计算机杀毒软件,每一台计算机要正常的上网与其他用户交流信息,都必须实时防护计算机病毒的危害,一款好的杀毒软件可以有效地保护计算机不受病毒的侵害。
1.2通信安全。通信安全是信息数据的传输的基本条件,当传输信息数据的通信线路存在安全隐患时,信息数据就不可能安全的传递到指定地点。尽管随着科学技术的逐步改进,计算机通信网络得到了进一步完善和改进,但是,信息数据仍旧要求有一个安全的通信环境。主要通过以下技术实现。1)信息加密技术。这是保障信息安全的最基本、最重要、最核心的技术措施。我们一般通过各种各样的加密算法来进行具体的信息数据加密,保护信息数据的安全通信。2)信息确认技术。为有效防止信息被非法伪造、篡改和假冒,我们限定信息的共享范围,就是信息确认技术。通过该技术,发信者无法抵赖自己发出的消息;合法的接收者可以验证他收到的消息是否真实;除合法发信者外,别人无法伪造消息。3)访问控制技术。该技术只允许用户对基本信息库的访问,禁止用户随意的或者是带有目的性的删除、修改或拷贝信息文件。与此同时,系统管理员能够利用这一技术实时观察用户在网络中的活动,有效的防止黑客的入侵。
2信息数据的安全与加密技术
随着计算机网络化程度逐步提高,人们对信息数据传递与交流提出了更高的安全要求,信息数据的安全与加密技术应运而生。然而,传统的安全理念认为网络内部是完全可信任,只有网外不可信任,导致了在信息数据安全主要以防火墙、入侵检测为主,忽视了信息数据加密在网络内部的重要性。以下介绍信息数据的安全与加密技术。
2.1存储加密技术和传输加密技术。存储加密技术分为密文存储和存取控制两种,其主要目的是防止在信息数据存储过程中信息数据泄露。密文存储主要通过加密算法转换、加密模块、附加密码加密等方法实现;存取控制则通过审查和限制用户资格、权限,辨别用户的合法性,预防合法用户越权存取信息数据以及非法用户存取信息数据。
传输加密技术分为线路加密和端-端加密两种,其主要目的是对传输中的信息数据流进行加密。线路加密主要通过对各线路采用不同的加密密钥进行线路加密,不考虑信源与信宿的信息安全保护。端-端加密是信息由发送者端自动加密,并进入TCP/IP信息数据包,然后作为不可阅读和不可识别的信息数据穿过互联网,这些信息一旦到达目的地,将被自动重组、解密,成为可读信息数据。
2.2密钥管理加密技术和确认加密技术。密钥管理加密技术是为了信息数据使用的方便,信息数据加密在许多场合集中表现为密钥的应用,因此密钥往往是保密与窃密的主要对象。密钥的媒体有:磁卡、磁带、磁盘、半导体存储器等。密钥的管理技术包括密钥的产生、分配、保存、更换与销毁等各环节上的保密措施。网络信息确认加密技术通过严格限定信息的共享范围来防止信息被非法伪造、篡改和假冒。一个安全的信息确认方案应该能使:合法的接收者能够验证他收到的消息是否真实;发信者无法抵赖自己发出的消息;除合法发信者外,别人无法伪造消息;发生争执时可由第三人仲裁。按照其具体目的,信息确认系统可分为消息确认、身份确认和数字签名。数字签名是由于公开密钥和私有密钥之间存在的数学关系,使用其中一个密钥加密的信息数据只能用另一个密钥解开。发送者用自己的私有密钥加密信息数据传给接收者,接收者用发送者的公钥解开信息数据后,就可确定消息来自谁。这就保证了发送者对所发信息不能抵赖。
2.3消息摘要和完整性鉴别技术。消息摘要是一个惟一对应一个消息或文本的值,由一个单向Hash加密函数对消息作用而产生。信息发送者使用自己的私有密钥加密摘要,也叫做消息的数字签名。消息摘要的接受者能够通过密钥解密确定消息发送者,当消息在途中被改变时,接收者通过对比分析消息新产生的摘要与原摘要的不同,就能够发现消息是否中途被改变。所以说,消息摘要保证了消息的完整性。
中图分类号:TP311 文献标识码:A 文章编号:1003-9082(2013)12-0002-01
同态加密是一种加密形式,它允许人们对密文进行特定的代数运算得到仍然是加密的结果,与对明文进行同样的运算,再将结果加密一样。通俗的讲,这项技术令人们可以在加密的数据中进行诸如检索、比较等操作,得出正确的结果,而在整个处理过程中无需对数据进行解密。
以往加密手段的弊端在于它通常是将数据保存在盒子内而不让外界使用或者分析数据,只有使用解密密钥将盒子打开,才能对数据进行分析和计算。在同态加密环境下,敏感数据一直处于加密状态,而应用系统无需解密可以用加密的数据按照正常的业务逻辑处理业务,这样公司将敏感的信息储存在远程服务器里,既避免从当地的主机端发生泄密,又保证了信息的使用和搜索,解决了云计算发展面临的客户对数据云端存储安全担忧的难题。
一、同态加密原理
同态加密技术,就是将数据加密成难以破译的数字字符串,能对这些加密后的字符串进行数学处理,然后解密结果。如果用数学方法表述,假设加密操作为 E,明文为 m,加密得 e,即 e = E(m),m = E'(e)。已知针对明文有操作 f,针对 E 可构造 F,使得 F(e) = E(f(m)),这样 E 就是一个针对 f 的同态加密算法。
我们举一个简单的例子,看看同态加密是如何处理2+3这样的问题:假设数据已经在本地被加密了,2加密后变为22,3加密后变为33。加密后的数据被发送到服务器,在进行相加运算。然后服务器将加密后的结果55发送回来。然后本地解密为5。
同态加密是基于数学难题的计算复杂性理论的密码学技术,被冠以“密码学的圣杯”称号,为找到同态加密算法的解决方案,密码专家苦苦探寻了30多年,一直无果而终。颇具戏剧性的是同态加密技术解决方案思路竟然是出自在纽约一家咖啡店的聊天中,2008年,IBM研究员Craig Gentry在与朋友一起喝咖啡交流时获得灵感,提出一种基于理想格(Ideal lattice)的全同态加密算法,成为同态加密领域的重大突破和创新。
Craig Gentry在他的同态加密经典论文《Computing Arbitrary Functions of Encrypted Data》中通过一个虚构场景诠释了同态加密技术,这个场景是一个叫丽丝的珠宝店主如何为自己的珠宝店防盗:
“Alice是一家珠宝店的店主,她打算让员工将一些贵重的珠宝组合成首饰,但是她由担心被小偷盯上。于是她造了一个手套箱存放制作好的首饰,而钥匙她随身保管。”
通过手套箱,员工可以将手伸入箱子来装配首饰,仅限于此。爱丽丝 则可以通过钥匙,向手套箱中添加原材料,并取出制作好的首饰。
下图是个大型的手套箱示例图
这个故事形象的体现了同态加密技术原理,其中:
店主爱丽丝>最终用户
首饰原材料>原始数据
钥匙>网络
锁住手套箱>加密
员工>数据计算过程
完整的首饰>数据计算结果
二、同态加密技术发展历程
同态加密的技术经过半同态加密到全同态加密算法理论发展经历了很长时间的发展。我们熟知的RSA公钥加密算法是1977年由Ron Rivest、AdiShamirh和LenAdleman在(美国麻省理工学院)开发的,是只具备乘法同态的算法。1999年Pascal Paillier在《Public-Key Cryptosystems Based on Composite Degree Residuosity Classes》论文中实现了加法同态。此后加密专家长期以来一直在寻找实现全同态加密技术,也就是数据加密成难以破译的数字字符串,能对这些加密后的字符串进行数学处理,然后解密结果。2009年IBM 研究员 Craig Gentry在论文《Fully homomorphic encryption using ideal lattices》给出一种全同态加密算法,即实现了乘法及加法的全同态加密算法。
不过目前的全同态加密方案在实用性上还存有问题,因为该方案耗费的计算时间太长,一般情况下,采用同态加密的应用处理时间是非机密的应用的处理要增加万倍的数量级甚至更高,密码专家们一直在坚持不懈的完善同态加密算法或寻找更好、更快的算法。
在2011年美国麻省理工(MIT)的一个研究小组的开源项目CryptDB首次解决了全同态加密技术的实用性问题,它将数据嵌套进多个加密层,每个都使用不同的密钥,允许对加密数据进行简单操作,使得此前全同态加密方案加密数据操作所增加的数以万亿倍计算时间,减少到只增加了15-26%左右。麻省理工计算机科学和人工智能实验室(CSAIL)的CryptDB研究项目的数据库软件允许用户查询加密的SQL数据库,而且能够在不解密储存信息的情况下返回结果,这一点对于云存储来说意义重大。
三、同态加密计算安全应用前景展望
同态加密技术的可对加密状态数据直接进行各种操作而不会影响其保密性的特性,使得它成为数据敏感性要求高的应用系统首选的安全保障技术,其在匿名投票、多方安全计算以及云计算领域有着广泛的应用
1.匿名投票系统
匿名投票又称电子投票,在2004美国大选首次采用电子投票方式,以防止2000 年美国总统大选出现的打孔卡计票争义。
在一个投票系统中,有投票方、计票方、宣布方三权分立。投票人保有个人投票秘密,其他各方都不能知道投票人投票的选择;计票方能够在数据加密的情况下,对数据汇总统计,得出候选人的得票率。
采用同态加密计算就可以实现投票系统的安全要求。其实现原理如下:
投票方采用公钥加密,只有宣布方拥有私钥,投票方将加密的票送到计票方,计票方利用同态特性进行操作,得到汇总的结果,宣布方拿到该结果后解密之,即得总票数。计票方解不出票面信息,于是可以防止计票方从中作弊,宣布方也不知道单独每张票的情况,从而实现了匿名。
2.多方安全计算
安全多方计算(Secure Multiparty Computation, SMC)是指一组互不信任的参与者,在不泄露各自私有信息的前提下进行的多方合作计算。自图灵奖得主A. C. Yao于上世纪80年代提出安全多方计算的概念以来,其在密码学上的地位也日渐重要,它是电子选举、电子拍卖等密码学协议的基础。
例如:Alice认为她的了某种遗传疾病,想验证自己的想法,正好她知道Bob有一个关于疾病的DNA模型的数据库,如果她把自己的DNA样品寄给Bob,那么Bob就可以给出她的DNA诊断结果,同时Bob也就知道了她的DNA及相关私人信息,可是Alice不想别人知道她的隐私,所以她这样请求Bob帮忙诊断自己DNA的方式是不可行的。
同态机密的技术就可以解决Alice的问题,她可以对自己的数据加密交给Bob,Bob通过同态加密计算,把得到加密状态的结果在交付Alice,然后Alice解密得到自己想要的结果。
3.云计算
近年来,“云计算”成为全球信息技术领域的最大热点,云计算的迅猛发展,安全问题已经成为了云计算应用的首要关注点。
由于云计算涉及个人和企业运算模式的改变,涉及个人和企业的敏感信息,因此云计算面临的第一个重要问题就是云计算的安全。虽然云中心平台的建设已充分考虑了各种安全因素,如身份认证、网络安全、防病毒、灾备等等,但数据存储安全一直没有得到很好的解决,如何保证云中用户程序的安全标准不被分析、数据不被复制盗窃、商业秘密不被侵害。
云的安全可信是云得到广泛应用的重要前提。人们对云计算的安全的关注程度,就像关注网上银行安全一样,正是这个原因,诸如银行、保险行业的企业一直不敢把业务应用放到云中心。同态加密算法的出现,给云数据存储及云计算应用带来的革命性的改变和提升,由于采用同态加密的技术,数据采用加密的方式存储,不会泄露真实的数据,云计算应用能够按照加密的数据,运算处出用户所需的正确的结果,这样用户可以在没有安全顾虑的情况下享受云计算带来的便利。
采用同态加密的云计算应用逻辑图如下:
数据加密技术是对信息进行重新编码,从而达到隐藏信息内容,非法用户无法获得信息真实内容的一种技术手段。网络中的数据加密则是通过对网络中传输的信息进行数据加密,满足网络安全中数据加密、数据完整性等要求,而基于数据加密技术的数字签名技术则可满足审计追踪等安全要求。可见,数据加密技术是实现网络安全的关键技术。
二、数据加密相关信息
2.1数据加密的方法
加密技术通常分为两大类:对称式和非对称式
对称式加密,被广泛采用,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难。对称加密的优点是具有很高的保密强度,可以达到经受较高级破译力量的分析和攻击,但它的密钥必须通过安全可靠的途径传递,密钥管理成为影响系统安全的关键性因素,使它难以满足系统的开放性要求。对称密码加密算法中最著名的是DES(Data Encryption Standard)加密算法,它是由IBM公司开发的数据加密算法,它的核心是乘积变换。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫非对称加密算法。非对称密码的主要优点是可以适应开放性的使用环境,密钥管理问题相对简单,可以方便、安全地实现数字签名和验证, 但加密和解密花费时间长、速度慢。非对称加密算法中最著名的是由美国MIT的Rivset、Shemir、Adleman于1977年实现的RSA算法。
2.2 数据加密的标准
最早、最著名的保密密钥或对称密钥加密算法DES(Data Encryption Standard)是由IBM公司在70年展起来的,并经政府的加密标准筛选后,于1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI)承认。 DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的”每轮”密钥值由56位的完整密钥得出来。DES用软件进行解码需用很长时间,而用硬件解码速度非常快。幸运的是,当时大多数黑客并没有足够的设备制造出这种硬件设备。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。当时DES被认为是一种十分强大的加密方法。另一种非常著名的加密算法就是RSA了,RSA算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开的为“公钥”(Prblic key) ,另一个不告诉任何人,称为“私钥”(Private key)。这两个密钥是互补的,也就是说用公钥加密的密文可以用私钥解密,反过来也一样。
三、数据加密传输系统
3.1 系统的整体结构
系统的整体结构分为以下几个模块,首先是发送端的明文经过数据加密系统加密后,文件传输系统将加密后的密文传送给接收端,接收端接收到密文以后,用已知的密钥进行解密,得到明文。
3.2 模块设计
3.2.1 加解密模块
(1)DES加解密模块。DES加解密模块的设计,分为两个部分:DES加密文件部分和DES加密演示部分。DES加密文件部分可以实现对文件的浏览,选中文件后对文件进行加密,加密后的文件存放在新的文档;DES加密演示部分输入数据后可以直接加密。(2)RSA加解密模块。RSA加解密系统,主界面有三个模块,分别为加密、解密和退出;加密模块对明文和密钥的输入又设置了直接输入和从文件读取;解密模块可以直接实现对文件的解密。
3.2.2 文件传输模块
(1)文件浏览:用户手动点击浏览按钮,根据用户的需要,按照目录选择要传输的文件,选中文件。(2)文件传输:当用户点击发送文件时,文件就可通过软件传给客户端。点击客户端按钮,软件会弹出客户端的窗体,它包含输入框(输入对方IP地址)和按钮(接收和退出),通过输入IP地址,就可实现一台电脑上的文件传输。
四、数据加密在商务中的应用
在电子商务发展过程中,采用数字签名技术能保证发送方对所发信息的不可抵赖性。在法律上,数字签名与传统签名同样具有有效性。数字签名技术在电子商务中所起的作用相当于亲笔签名或印章在传统商务中所起的作用。
数据签名技术的工作原理: 1.把要传输的信息用杂凑函数(Hash Function)转换成一个固定长度的输出,这个输出称为信息摘要(Message Digest,简称MD)。杂凑函数是一个单向的不可逆的函数,它的作用是能对一个输入产生一个固定长度的输出。 2.发送者用自己的私钥(SK)对信息摘要进行加密运算,从而形成数字签名。 3.把数字签名和原始信息(明文)一同通过Internet发送给接收方。 4.接收方用发送方的公钥(PK)对数字签名进行解密,从而得到信息摘要。 5.接收方用相同的杂凑函数对接收到的原始信息进行变换,得到信息摘要,与⑷中得到的信息摘要进行比较,若相同,则表明在传输过程中传输信息没有被篡改。同时也能保证信息的不可抵赖性。若发送方否认发送过此信息,则接收方可将其收到的数字签名和原始信息传送至第三方,而第三方用发送方的公钥很容易证实发送方是否向接收方发送过此信息。
然而,仅采用上述技术在Internet上传输敏感信息是不安全的,主要有两方面的原因。 1.没有考虑原始信息即明文本身的安全; 2.任何知道发送方公钥的人都可以获取敏感信息,而发送方的公钥是公开的。 解决1可以采用对称密钥加密技术或非对称密钥加密技术,同时考虑到整个加密过程的速度,一般采用对称密钥加密技术。而解决2需要介绍数字加密算法的又一应用即数字信封。
五、 结论
上述内容主要介绍了数据传输过程中的加密处理,数据加密是一个主动的防御策略,从根本上保证数据的安全性。和其他电子商务安全技术相结合,可以一同构筑安全可靠的电子商务环境,使得网上通讯,数据传输更加安全、可信。
参 考 文 献
[1]黄河明.数据加密技术及其在网络安全传输中的应用.硕士论文,2008年
[2]孟扬.网络信息加密技术分析[J].信息网络安全,2009年4期