电子邮件安全电子邮件通常称为E-mail,是计算机网络上最早也是最重要的应用之一,世界各地的人们通过电子邮件互相传递信息,进行网上交流。
电子邮件已经成为现在人们互相往来的一种常用方式。
电子邮件是一种将电话通信的快速与邮政通信的直观易懂想结合的通信手段,与电话通信以及邮政通信相比,电子邮件有它得天独厚的优点。
但是,在电子邮件飞速发展的同时,电子邮件的安全问题也随之浮出水面。
一.电子邮件的安全隐患针对电子邮件的攻击分为两种,一种世界对电子邮件的攻击,如窃取电子邮件密码,截获发送邮件内容,发送邮件炸弹;另一种是间接对电子邮件的攻击,如通过邮件传输病毒木马。
产生电子邮件安全隐患主要有3个方面:(1)电子邮件传送协议自身的先天安全隐患。
众所周知,电子邮件传输采用的是SMTP 协议,即简单邮件传输协议,它传输的数据没有经过任何加密,只要攻击者在其传输途中把它截获即可知道内容。
(2)由邮件接收端软件的设计缺陷导致的安全隐患。
如微软的OutLook曾存在的安全隐患可以是攻击者编制一定代码让木马或者病毒自动运行。
(3)用户个人的原因到时的安全隐患。
二.电子邮件的安全技术1.端到端的安全电子邮件技术端到端的安全电子邮件技术保证邮件从发出到被接收的整个过程中,内容无法被修改,并且不可否认。
PGP和S/MIME是目前两种成熟的端到端安全电子邮件标准。
PGP(Pretty Good Privacy)被广泛采用,通过单向散列算法对邮件内容进行签名,以保证信件内容无法被修改,使用公钥和私钥技术保证邮件内容保密且不可否认。
发信人与收信人的公钥都保存在公开的地方,公钥的权威性则可由第三方进行签名认证。
在PGP系统中,信任是双方的直接关系。
S/MIME(Secure/Multipurpose Internet Mail Extensions)与PGP一样,利用单向散列算法、公钥与私钥的加密体系。
但是,S/MIME也有两方面与PGP不同:议事S/MIME的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而嘴上一级的组织(根证书)之间相互认证;二是S/MIME将信件内容加密签名后作为特殊的附件传送。
2.传输层的安全电子邮件技术电子邮件包括信头和信体。
端到端安全电子邮件技术一般只对信体进行加密和签名,信头则由于邮件传输中寻址和路由的需要,必须保证不变。
目前,主要有两种方式能够实现电子邮件在传输中的安全:一种是利用SSL SMTP和SSL POP,另一种是利用VPN或者其他IP通道技术。
3.电子邮件加密加密时一种限制对网络上传输数据的访问权的技术,加密的基本功能包括:(1)防止不速之客查看机密的数据文件。
(2)防止机密数据被泄露或篡改。
(3)防止特权用户(如系统管理员)查看私人数据文件。
(4)使入侵者不能轻易地查找一个数据文件PGP邮件加密一.PGP简介PGP是一个基于RSA公钥加密体系的邮件加密。
我们可以用它对邮件进行加密以防止非授权者阅读,还可以用它对用户的邮件加上数字签名,从而使收信人可以确认发信人的身份。
二.PGP原理PGP不是一种完全的非对称加密体系,他是个混合加密算法,它是由一个对称加密算法(IDEA)、一个是非对称加密算法(RSA)、一个单向额散列函数(MD5)以及一个随机数产生器组成的。
IDEA又称传统加密算法,它的加解密速度比RSA快的多。
所以实际上PGP是以一个随机生成的密钥(每次加密不一样),用IDEA算法对明文加密,然后用RSA算法对该密钥加密。
这样收件人同样是用RSA解出这个随机密钥,再用IDEA解密邮件本身。
这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。
当发送者PGP加密一段明文时,PGP首先压缩明文,然后PGP剪了一个一次性会话密钥,采用传统的对称加密算法(如AES等)加密刚才压缩的明文,产生秘闻。
然后用接收者的公开密钥加密刚才的一次性绘画密钥,随同密文一同传输给接收方。
接收方首先用私钥解密,获得一次性会话密钥,最后用这个密钥解密密文。
三.PGP可实现的服务1.认证由于RSA的强度,接收方可以确信只有匹配私钥的拥有者才能提供签名。
由于SHA—1的强度,接收方可以确信其他人都不可能生成与该Hash编码匹配的新消息,从而确保是原始的签名。
认证步骤如下:(1)发送者创建报文;(2)发送者使用SHA—1生成报文的160bit散列代码(邮件文摘);(3)发送者使用自己的私有密钥,草原RSA算法对散列代码加密,串接在报文的前面。
(4)接收者使用发送者的公开密钥,采用RSA解密和恢复散列代码;(5)接收者为报文生成新的散列代码,并与被解密的散列代码相比较,如果两者匹配,则报文作为已鉴别的报文而接收。
2.机密性通过对要传递的消息或要存储的本地文件实施加密,提供加密性服务。
可以使用对称加密算法CAST—128,也可以使用IDES和3DES.使用64位密码反馈模式(CFB)加密。
3.机密性与认证对报文可以同时使用两个服务。
首先为明文生成签名并附加到报文首部;然后使用IDEA 对明文和报文进行签名和加密,再使用RSA对会话密钥进行加密。
在这里要注意次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改签名。
4.分段与重装电子邮件设施经常受限于最大报文长度(5000个)八位组的限制。
分段式在所有其他的处理(包括raslx-64转换)完成后才进行的。
因此,会话密钥部分和签名部分只在第一个报文段的开始位置出现一次。
在接收端,PGP必须剥掉所有的电子邮件首部,并且重新装配成原来的完整的分组。
5.电子邮件的兼容性当使用PGP时,至少传输报文的一部分需要加密,因此部分或全部的结果报文由任意8bit字节流组成。
但是由于很多的电子邮件系统只允许使用由ASCII正文组成的块,所以PGP提供了BASE64个好似转换方案,将原始二进制流转化为可打印的ASCII。
6.压缩PGP在加密钱进行预压缩处理,PGP内核使用PKZIP算法压缩加密钱的明文。
一方面对电子邮件而言,压缩后再经过radix-64编码有可能比明文更短,这就节省了网络传输的时间和存储空间;另一方面,明文经过压缩,实际上相当于一次变换,对明文攻击的抵御能力更强。
四.PGP密钥管理PGP包含四种密钥:一次性会话密钥、公开密钥、私有密钥和基于口令丢安于的常规密钥。
用户使用PGP时,应该首先生成一个公开的密钥/私有密钥对。
PGP将公开密钥和私有密钥用两个文件存储,一个用来存储该用户的公开/私有密钥,成为私有密钥环;另一个用来存储其他用户的公开密钥,成为公开密钥环。
为了确保只有该用户可以访问私有密钥环,PGP采用了比较简洁和有效地算法。
当用户使用RSA生成一个新的公开/私有密钥对时,输入一个口令短语,然后用散列算法(例如SHA-1)生成该口令的散列编码,将其作为密钥,采用CAST-128等常规加密算法对私有密钥加密,存储在私有密钥环中。
当用户访问私有密钥时,必须提供相应的口令短语,然后PGP 根据口令短语获得散列编码,将其作为密钥,对加密的私有密钥解密。
通过这种方式,就保证了系统的安全性依赖于口令的安全性。
双方使用一次性会话密钥最每次会话内容进行加密。
这个密钥本身是基于用户鼠标和键盘击键时间而产生的随机数。
每次会话的迷药均不同。
这个密钥经过RSA加密后河明文一起传送到对方。
五.PGP安全分析1.密钥安全性分析公钥的篡改和冒充可以说是PGP的最大威胁。
防止此威胁的要点就是:当用别人的公钥时,确信它是直接从对方处的来或是由另一个可信的人签名认证过的,确信没有人可以篡改自己的公钥环文件。
保持对自己密钥环文件的物理控制权,尽量存放在自己的个人电脑而不是远程的分时系统级,备份自己的密钥环文件。
没有完全删除密钥环文件。
一般的操作系统在删除文件时并没有完全删除文件的数据,当加密明文后将明文删除,可是没有从物理上把明文的数据清除。
一些有经验的攻击者可能从磁盘数据块中恢复明文。
最简单的从物理上销毁文件的方法就是用无用的信息将明文文件覆盖。
在PGP后加上一个W参数也可以达到这一目的。
2.PGP时间戳可靠性分析PGP签名上的时间戳是不可信的,因为任何想伪造一个“错误”的时间戳的人都可以通过修改系统时间达到目的。
而在商业上又有这种利用PGP签名的时间来确认责任的需要,这一第三方的公证体系就被建立。
很明显,只要公证方在邮件上钱上标准的时间就解决了这个问题。
3.垃圾邮件分析PGP安全弟子邮件能解决邮件加密传输问题,验证发送者的身份问题,错发用户的收件无效问题(因为需要密钥解密)。
但是,罪域垃圾邮件,PGP安全电子邮件技术却无能为力。
4,PGP信任模型缺陷保证公钥的真是有效,是正确英语PGP的基础。
证书为保证公钥的真实性提供了一种有效机制,而在PGP中缺乏有效地证书管理体系,证书的管理完全由用户自己来完成,错误的信任假设和管理的不当,会影响到PGP的安全性。
以下是一些薄弱环节:(1)证书的有效性及介绍人信任问题。
有效地公钥证书包括两个方面含义:公钥是真实的,用户身份是真实的。
在PGP中推荐用两种方式来证实证书的有效性:其一是直接从所有者那里获得磁盘拷贝,其二是通过网络获得拷贝然后对所有者对照指纹。
而指纹对照的方式只能用于熟人之间,因为要通过用户的声音来辨别真伪。
并且对于数量为n的用户群体,每个用户都需要进行n-1此指纹对照,增加了用户的管理负担。
要想获得陌生人的有效公钥,只能通过介绍人。
介绍人的引入为获取陌生人的公钥提供了方法,但也带来了新的问题,即信任问题。
这里的信任指的是一个用户相信另一个用户能够签发有效的公钥证书,信任等级(完全信任、部分信任、不信任)的划分实际上给出了对介绍人信任程度的度量,说明它所签名公钥的真实程度。
但在PGP中,却没有任何依据来判断一个人达到什么样的信任等级,用户只能通过直觉来对一个用户的信任度进行设置,如果这只不当就会造成安全隐患。
(2)证书吊销问题一个密钥总是有自己的生命周期,证明期的长短由算法强度、计算能力以及应用策略等方面决定,密钥最好在整个生命周期内都有效。
但是在某些情况下,如私钥的泄露、遗失或用户身份的改变,都会使密钥无效。
在公钥系统中,证书吊销是使公钥无效的有效方式。
在PGP中提供了两种吊销证书的方式:介绍人吊销和拥有者自行吊销。
二者具有等同的效力,均可被认为相关的密钥无效。
但证书吊销问题的真正难点不在于吊销本身,而是在于将吊销信息通知每一个潜在的使用者。
用户使用被吊销的证书是件很危险的事情,很有可能造成泄密,因此在每次使用证书时都应该确信该那个数没有被吊销。
PGP中虽然提供了吊销证书的功能,但没有提供任何将吊销信息通知其他用户的方式,这是PGP的一个致命弱点。