基于WEB的PGP加密技术在邮件系统中的应用安全研究于北瑜(广东海洋大学信息学院,湛江524088)摘要:PGP是电子邮件系统中常用的一种加密方法,随着电子邮件系统对安全性能的要求不断提高,PGP加密技术在电子邮件系统中的应用也得到了极大的发展[1],并出现了一系列针对电子邮件系统安全需求进行改进的PGP技术[2],本文针对WEB的PGP加密技术在邮件系统中的应用进行分析,对PGP加密算法的基本原理、电子邮件加密安全需求和PGP加密技术在电子邮件系统中的加密过程进行了详细的研究分析,最后总结了PGP加密技术在电子邮件系统中应用待解决的一些问题。关键字:PGP加密;邮件系统;安全OnthesafetystudyoftheapplicationofPGPencryptiontechnologyinemailsystembasedonwebYuBeiyu(CollegeofInformation,GuangdongOceanUniversity,Zhanjiang524088,china)Abstract:PGPe-mailsystemiscommonlyusedencryptionmethod,asmoderne-mailsystemtocontinuouslyimprovethesafetyperformancerequirements,PGPencryptiontechnologyinthee-mailsystemhasalsobeenagreatdevelopment,andtheemergenceofaseriesofimprovementsforthesecurityneedsofmoderne-mailsystemPGPtechnology,aimingWEBPGPencryptiontechnologyinthee-mailsystemtoanalyzethebasicprincipleofthePGPencryptionalgorithm,thesecurityneedsofmoderne-mailencryptionandPGPencryptiontechnologye-mailsystemencryptionprocesscarriedoutadetailedanalysis,concludedsomeproblemsPGPencryptiontechnologyintheapplicationofmoderne-mailsystemtobesolved.Keywords:PGPencryption;mailsystem;security引言在今天社交网络高度发达的今天,电子邮件还是凭借其收发方便、实用占据着不可替代的地位,并且目前已经融入到购物、游戏、社交等各种应用网络系统平台中,几乎所有的网络用户每天都要进行电子邮件的收发[3]。随着人们对个人网络信息安全的意识不断加强,人们对网络邮件系统的安全需求越来越高,特别是在一些商用领域[4]。虽然目前所有的电子邮件系统都具备了基本的加密和安全传输的功能,但是随着现代黑客技术的不断发展和更新,使用传统的加密模式的电子邮件系统已经变得越来越不安全。PGP加密技术作为目前电子邮件系统中应用最为广泛的一种加密技术,其基于RSA公钥密码体制进行设计,其不但可以对电子邮件信息进行加密保护防止非法授权者阅读,同时还可以实现电子邮件信息的数字签名[5]。经过多年的发展和应用已经形成一套完整的加密体系和加密方案,并且开源社区也可以容易的找到多种高性能的PGP加密软件,这使得PGP加密技术几乎被应用到所有的电子邮件系统中保护电子邮件用户的信息安全[6]。但是随着电子邮件系统的不断发展,在业务功能方面电子邮件系统已经从最开始的简单的文本邮件信息的传递,发展到了现在的可以实现多种媒体数据业务的传输。在整个邮件系统的结构上也由最初的两大模块发展到了现在的七大模块的结构设计,网络结构上也web化[7]。这一些列的改变给PGP加密技术在电子邮件系统中的应用带来了新的挑战。本文通过分析现有的PGP加密算法原理和PGP加密算法在电子邮件中的应用过程,结合电子邮件系统的信息安全需求,对PGP加密技术在基于web的电子邮件系统中的应用进行了综述,总结了目前PGP加密技术在web电子邮件系统待解决的一些问题[8]。1.PGP加密算法原理PGP是一种混合加密算法,其结合了非对称和对称加密算法的优点,通过对称加密算法(IDEA)对压缩后的消息内容进行加密,然后采用非对称加密算法(RSA)对其密钥进行加密,形成加密数字信封,发送到接收方。接收方接收到加密后的信封后先利用对称加密算法对其密钥进行解密,然后再利用解密后的密钥来解密消息内容的本身,获取消息原文[9]。1.1PGP核心RSA算法RSA算法是在1977年由美国的Rivest、Shamir和Adleman三位数学家设计提出的一种非对称加密算法,所谓非对称加密算法,就是在加密的时候需要一对密钥,其中一个用于加密,则需要另外一个密钥才能进行解密。RSA是目前计算机领域应用最为广泛的一种高安全性的加密算法[10]。其算法基于的数学原理就是,两个大的素数相乘是十分容易的,但是要对两个大素数的乘积进行因式分解却是极其困难的,因此可以将沉积公开作为加密密钥[11]。RSA算法涉及到、、三个算法参数,其中,p和q是两个随机的大质数,的二进制位数也就是加密过程中的密钥长度[12]。、是一对相关的值,加密过程中首先确定,其中是随机产生的一个任意的值,但是要保证与互为质数;然后确定,并且要保证满足。那么得到的和就是一个密钥对,其中作为公钥,作为私钥,并且用其进行加解密,在RSA中的加解密算法完全相同,假设A为明文,B为密文,那么其加密过程如下:(1)对应的解密过程如下:(2)以上就是RSA加密实现的整个原理过程,虽然RSA算法在密钥长度达到600位以上(通常加密过程中取1024)位,可以获得很好的加密安全性能,其破解几乎是不可能的,但是RSA在一定程度上还是存在如下不足:1)密钥产生过程复杂,由于现有素数产生技术的限制,很难真正的利用RSA算法实现一次一密的加密过程。2)其基于大数分解原理,但是其破解难度和大数分解难度等价,并没有从理论上得到证明,随着现代云计算等分布式计算技术的快速发展,在短时间内破解RSA算法的可能性也越来越大[13]。3)RSA加密速度慢,优于安全需要在加密过程其私钥长度至少在600bit以上,这种优于分组长度过大,其计算速度也受到了极大的限制,这对于一些速度要求较高的应用需求,特别是在商务办公邮件加密过程中,优于其处理邮件量非常大,往往会降低邮件信息的处理效率,导致办公效率下降。1.2正文加密IDEA算法国际数据加密(IDEA)算法是一种类似于DES加密的数据块加密算法,其最早是由瑞士的X.JLai与JamesMassey两位密码学专家联合提出的。其主要是针对DES加密算法密钥过短的缺点,采用类似于三重DES的加密设计,最终的IDEA密钥可以达到128位,使得其安全性能得到了有效的保证。从理论上来讲IDEA属于“强”加密算法,从出现到现在,还未出现过针对该算法的有效的攻击算法,但是由于其发展时间段,随着现代计算机黑客技术的不断加强,其被破解的可能性也加强[14]。IDEA算法设计过程中采用了8个相似圈(Round)和一个输出变换(OutputTransformation)进行迭代实现。其中每个圈由模(216+1)乘法、模216加法、按位XOR三种运算组成,在加密之前IDES会使用一种密钥扩展方法,将128位的原始密钥进行扩展得到52个字节的加密密钥EK(EncryptionKey),接着又密钥EK计算出解密密钥DK(DecryptionKey)。EK和DK分为8组半密钥,每组的长度为6个字节,其中在加密过程中前8组密钥用于8个相似圈(round)加密,最后的半组密钥用于输出变换,IDEA算法的加解密和RSA算法一样都是相同的过程,只是使用的密钥不同,加密的时候使用密钥EK,解密的时候使用密钥DK,其算法核心就密钥的扩展,其具体的实现过程如下:1)将128位的密钥作为EK的前8个字节;2)将前8个字节循环移位25位,得到下一个8个字节,并且整个过程循环执行7次;3)在最后一次循环的时候,只取4个字节作为密钥EK的最后4个字节;4)输出52个字节的密钥EK。IDEA算法其在信息安全加密领域,还是一种比较新的加密算法,对其安全性和可靠性也在不断的进行研究中,并且已经有部分学者发现了IEDA加密算法中的缺陷,在2009年的信息安全年会上JohnBorst就提出了一种应用于IEDA的攻击算法,虽然是在IEDA圈数为3.5的时候能够得到很好的攻击效果,在8.5圈的完整的IEDA算法中并不能实际应用,但是这也代表着IEDA算法还是存在着一定的弱点,随着现代计算机技术的高速发展,黑客攻击手段也是飞速的提升,这都将导致IEDA算法被攻破的可能性加大[15]。1.3PGP加解密过程前文已经对PGP加密技术的两个核心加密算法进行了分析,接着我们在这两个核心算法基础上进一步探讨PGP加解密的整个实现原理。在图1给出了PGP加密内部的原理框图,从图中可以很直观的看出整个RSA和IEDA算法在信件加密过程中的作用以及加密对象。在经过PGP加密后的加密文件,通过网络传输给信息接收者,信息接收者接收到文件后先用自己的私钥进行RSA解密得到会话密钥,然后再用此会话密钥对加密的密文信件进行IDEA解密得到压缩后的信件,最后执行解压得到原文信件。随机数发生器128bit的会话密钥RSA加密加密后的会话密钥合并成一个信封文件文件传输密文信件IDEA加密原文信件压缩信件图1PGP加密原理2.电子邮件系统安全需求分析从电子邮件系统安全来考虑,通常我们可以将电子油价系统安全需求分为:邮件内容安全和邮件系统安全两个方面。其中在电子邮件内容方面,主要是考虑如何防止垃圾和病毒邮件信息,这方面的安全问题主要是通过设计一些垃圾邮件检测和病毒检测过滤的算法和软件模块来实现。系统安全主要是涉及电子邮件系统中的相关安全问题,也是本文重点讨论的安全问题,电子邮件系统作为一个分布式网络系统,用户终端利用计算机网络进行信件传输的过程中,存在着多级存储和转发的过程,电子,邮件系统通常会存在以下两个方面的基本需求:1)签名和认证需求电子邮件系统中对邮件信息进行签名认证,主要是为了鉴别邮件的真假,保证邮件在网络上进行传输的数据的安全和邮件收发方的身份确认,以保证邮件信息在网络的传输过程中不被非法用户截取和篡改。2)机密性和完整性需求机密性主要是指电子邮件数据信息在网络传输过程中,必须保证其邮件信息是经过有效的加密处理的,去传输过程中只有信息接收方和发送方能够知道邮件的内容,即使在网络传输过程中信息被非法用户截取,也无法获取邮件的具体信息。完整性是指邮件在传输过程中必须保证邮件信息的内容完整,不被非法用户破坏。机密性和完整性是邮件系统信息安全的一个基础,也是最基本的需求。3.PGP加密技术在电子邮件中的应用PGP在电子邮件系统中实现对电子邮件加密处理的过程如图2所示,由于PGP是采用模块化设计思想,其对各种算法进行独立的分装,模块化程度非常高,所以其应用到的各种处理算法都是可以很容易实现用其他算法的替代。比如其中的MD5算法在加密过程中,还可以选择具有相同功能的SHA算法,PGP在邮件系统实现的安全加密算法和处理手段不仅包含了前文介绍过的IDEA和RSA两种核心算法,同时还有MD5、base64编码、ZIP压缩算法等,下面结合图2详细说明整个PGP在电子邮件系统中的加密认证过程。a.Alice发送邮件给Bob的加密处理b.Bob接收Alice邮件后的解密处理通过MD5计算M摘要得到128bit的摘要数据对摘要数据进行加密拼接ZIP压缩IDEA加密拼接base64编码加密后的ASCII文本邮件M4邮件明文MMHM1M1.Z加密密钥Km用Bob的PKB对Km进行加密M2M3收到的加密邮件M4base64解码用私