通信工程师论文范文地址
所属栏目:通信论文
发布时间:2014-01-21 16:02:32 更新时间:2014-01-21 16:57:30
网络刚刚兴起时,接入网络的设备之间的通信只要能够正常完成就已符合需求。但在WiFi广泛普及,移动互联网深入人们日常生活的今天,终端程序通信的安全性显得尤为重要。安全从业者开始尝试使用各种加密技术来保障通讯过程的信息安全。现在,基于RSA固定密钥的经典可信通信系统已经广泛应用于各种终端设备中。但这套经典的通信模型并不是完美无瑕的,它面临着诸多安全问题,从移动互联网现状来看,最显著的安全问题来自暴力破解攻击。
【摘要】本文提出了一种具备持久性防御暴力破解能力的RSA体系可信网络通信系统,其在经典的RSA可信通信系统基础上改进了通信性能,并且具备RSA层面和AES层面的防暴力破解能力,尤其适用于移动智能终端。
【关键词】RSA算法,密钥,暴力破解,可信通信
1引言
为了满足智能设备可信网络通信的要求,本文提出了一种具备持久防止暴力破解能力的RSA可信网络通信系统。本系统通过安全可控的RSA公钥私钥对更新机制,并且考虑了智能设备实际生产系统中计算能力等问题,保证可信网络通信具备实际可实施能力,并可持久抵御黑客的暴力破解,以保障智能终端设备中的各类通信系统的信息安全。
2相关工作
2.1RSA非对称加密算法
RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中RSA被广泛使用,RSA算法的理论基础是一种特殊的可逆模指数运算,它的安全性是基于分解大素数的困难程度上的。
2.2AES对称加密算法
密码学中的高级加密标准(AdvancedEncryptionStandard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。AES现已成为对称密钥加密中最流行的算法之一。
2.3已知的针对RSA加密算法的攻击
以RSA为代表的非对称加密体系,本质都是利用具备单向性质的数论原理。目前流行的非对称加密算法主要有两大类:一是基于大素数因子分解问题,其中最典型的就是RSA;二是基于离散对数问题,较常见的有ECC和ELGamal。
利用这些数学原理,再筛选足够长度的密钥,黑客想要通过计算机进行暴力破解,需要花费难以想象的时间。RSA加密算法自1977年提出以来,已经承受了黑客30多年的暴力破解攻击,计算机的计算能力的愈强,RSA算法则愈不安全。在现在计算能力如此发达的今天,GPU计算,云协同计算,量子计算,无一不在质疑着RSA的安全性。
1999年,RSA-155(512bits)被成功分解。2002年,RSA-158也被成功因数分解。2009年12月12日,编号为RSA-768也被成功分解。
目前,银行业所使用到的RSA加密算法,至少也为RSA-2048,甚至是RSA-4096级别。
3简化的RSA可信网络通信系统
为了介绍基于RSA体系的可信网络通信模型,我们需要引入Alice和Bob这两个人来进行解释。
3.1RSA公钥与私钥的产生
假设Alice想要通过一个不可靠的网络(如公众WiFi)接收Bob的一条私人讯息。她可以用以下的方式来产生一个公钥和一个私钥:
(1)随意选择两个大的质数p和q,p不等于q,计算N=pq;
(2)根据欧拉函数,求得r=?渍(N)=?渍(p)?渍(q)=(p-1)(q-1);
(3)选择一个小于r的整数e,求得e关于模r的模反元素,命名为d;
(4)将p和q的记录销毁。
至此,(N,e)是公钥,(N,d)是私钥。Alice将她的公钥(N,e)传给Bob,而将她的私钥(N,d)藏起来。
3.2加密消息
假设Bob想给Alice送一个消息m,他知道Alice产生的N和e。他使用起先与Alice约好的格式将m转换为一个小于N的整数n,比如他可以将每一个字转换为这个字的Unicode码,然后将这些数字连在一起组成一个数字。假如他的信息非常长的话,他可以将这个信息分为几段,然后将每一段转换为n。用下面这个公式他可以将n加密为c:ne≡c(modN)
计算c并不复杂。Bob算出c后就可以将它传递给Alice。
3.3解密消息
Alice得到Bob的消息c后就可以利用她的密钥d来解码。她可以用以下这个公式来将c转换为n:
cd≡n(modN)
得到n后,她可以将原来的信息m重新复原。
3.4解码的原理
cd≡ne-d(modN)
以及ed≡1(modp-1)和ed≡1(modq-1)。由费马小定理可证明(因为p和q是质数)
ne-d≡n(modp)和ne-d≡n(modq)
这说明(因为p和q是不同的质数,所以p和q互质)
ne-d≡n(modpq)。
4具备防御暴力破解能力的可信通信系统设计
为了使上文提及的可信网络通信系统在实际生产系统中安全应用,我们需要进行一些改进。
4.1非对称加密协商密钥,对称加密传输内容
众所周知,非对称加密算法的速度远远慢于对称加密算法。在实际的网络生产系统中,所有通讯内容全部使用非对称加密,会带来可观的性能开销,对于计算能力珍贵的设备(如智能手机)完全不可接受,但是对称加密算法(如AES)却有极其优秀的性能表现。因此,我们可以仅使用RSA算法来协商后续对称加密是所使用的完全随机的密钥。协商完成后,将后续的安全性交给AES加密算法。
同时,珍贵的计算能力也决定了我们不能使用太高级别的RSA加密算法。目前实际的网络生产系统中,绝大多数使用的是RSA-1024甚至更低级别的加密,少部分使用到了RSA-2048级别。
4.2防御暴力破解
本节所述的防御暴力破解,主要包括两部分的防御。
首先是RSA协商的AES密钥,应具备与加密算法要求完全等同的值域。拿AES256举例,实际应用过程中,常常会出现直接使用密码明文,MD5哈希值作为AES密钥的情况。在密码明文低于8位的情况下,值域z1为264,即使使用MD5哈希值,其值域z2也仅为2128。而实际上,AES256密钥的值域要求z3为2256。可以看到,z1或者z2远远小于z3,减小值域会大大降低AES加密算法的安全性。
在本系统中,我们采用256位的全随机数产生器作为AES密钥,将AES加密算法的暴力破解难度提升至最高水平。
其次是RSA协商过程中使用到的公钥私钥对,应具备持久抵御暴力破解攻击的能力。在考虑了实际生产系统计算能力有限的情况下,本系统引入了RSA公钥私钥对更新机制。具体来说,通过更新机制定期更新RSA公钥私钥队,确保更新时间t1短于当前最强计算力破解当前RSA需要的时间t2。只要t1小于t2,就能保证整个通信系统的安全。当t2随着计算能力的一步步提高而逐步变短时,本系统只需要相应的缩小更新时间t1的值,即可保证持久的防暴力破解能力。
4.3流程综述
同样假设Alice想要通过一个不可靠的网络同Bob收发大量私人讯息。本系统的流程如下所述:
(1)Alice首先需要生成一个公钥pub1和私钥pri1,并将公钥pub1通过不可靠网络发送给Bob,自己保存好私钥pri1;
(2)然后Alice通过256位随机数产生器得到一个256位的AES密钥pas1;
(3)紧接着,Alice使用RSA私钥pri1加密AES密钥pas1,pri1生成的时间t0,当前可知的最强计算能力t2这三个数据,发送给Bob进行通讯协商;
(4)Bob收到Alice的协商请求后,使用先前获得的RSA公钥pub1解开数据,得到pas1,t0和t2;
(5)Bob接着验证当前时间t-t0是否小于t2,如果不符合要求,则打回通讯协商,要求Alice重新生成新的公钥私钥对,并将公钥pub2再次提供给Bob,接着重新开始协商。直到协商成功完成,Bob通知Alice协商完成;
(6)协商完成后,Alice或者Bob想给对方发送私人讯息,只需要选取他们之前协商好的AES密钥pasn,使用AES加密算法加密讯息内容,通过不可靠网络传输;
(7)接收方在接收到加密讯息后,也只需要简单的使用pasn解密讯息即可。
从上面的流程中可以看到,通过全随机的AES密钥和RSA公钥私钥对更新机制,即使不使用性能要求非常苛刻的高强度RSA,依然能够保证本系统具备持续的防御暴力破解能力。
5结束语
本文提出的系统结合了RSA算法和对称加密算法的优点,使得该系统既能发挥对称加密算法速度快的优点,又能发挥公钥算法的优势,能够在智能设备上快速,高效的建立可信的通讯通道。同时在这个系统里,引入了RSA公钥私钥对更新机制,大大提升了了本系统安全性,也使本系统具备持续的防御暴力破解能力。
参考文献
[1]张海燕,RSA算法安全性分析,计算机安全2008.07:44-48.
[2]RSALabortories.PKCS#1v2.1:RSAEncryptionStandard.June2002.
[3]BRIANGLADMAN.ImplementationsofAES(Rijndael)inC/C++andAssembler[M].NIST,2002:1-6.
[4]WilliamStallings.CryptographyandNetworkSecurity:PrinciplesandPractice.SecondEdition[M].北京:清华大学出版社,2002.