信息安全系统工程安全电子邮件资料_第1页
信息安全系统工程安全电子邮件资料_第2页
信息安全系统工程安全电子邮件资料_第3页
信息安全系统工程安全电子邮件资料_第4页
信息安全系统工程安全电子邮件资料_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、电子邮件(din z yu jin)电子邮件(e-mail)无疑(wy)是Internet上最流行的应用程序。E-mail 主要标准RFC 821:Simple Mail Transfer Protocol (SMTP);RFC 1939:Post Office Protocol - Version 3;RFC 822:STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES;RFC 1521:Multipurpose Internet Mail Extensions( MIME );共五十八页Internet电子邮件系统示意(shy)S

2、MTPPOP3共五十八页SMTP协议(xiy)样例共五十八页电子邮件(din z yu jin)的问题如何保证电子邮件(din z yu jin)内容的机密性和完整性?如何保证电子邮件来源的真实性?共五十八页安全(nqun)电子邮件安全电子邮件(din z yu jin)主要是解决电子邮件(din z yu jin)的来源真实性和数据保密性问题。目前常用的安全电子邮件系统PGP - Pretty Good PrivacyS/MIME - Secure/Multipurpose Internet Mail Extension共五十八页二、 Pretty Good Privacy1、PGP概述(i

3、 sh)2、PGP的主要功能及实现3、PGP的密钥管理共五十八页1、PGP 概述(i sh)PGPPretty Good Privacy;创建者:Philip R. Zimmermann ()PGP的发展(fzhn)过程(/adam/timeline)共五十八页PGP 发展(fzhn)特点1、PGP选择了可获得的、最好的加密算法作为系统的构造模块2、PGP将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,并且基于(jy)一个使用方便的小命令集3、PGP的程序、文档在 Internet 上是公开的4、作者与Network Associates Inc.(现在为 PGP Corp

4、oration)达成了协议,提供完全兼容、低价格的商业版本共五十八页PGP 获得(hud)广泛应用的原因1、提供世界范围内各种免费版本,可用于多种平台(Windows、Unix、Macintosh)2、其商用版本得到了销售商的技术支持3、系统使用的算法的安全性是公众认可的4、具有(jyu)广泛的可用性5、系统不由任何政府或标准化组织控制6、PGP成为 Internet 标准RFC2440:OpenPGP Message FormatRFC3156:MIME Security with OpenPGP共五十八页2、PGP 主要(zhyo)功能1、认证(数字签名):采用DSS/SHA或RSA/SH

5、A;2、保密(报文加密):加密采用CAST-128或IDEA或3DES;密钥交换采用Diffie-Hellman或RSA;3、数据压缩:采用 ZIP;4、电子邮件兼容:采用 Radix 64变换;5、数据分段:对消息进行分段和重组以适应(shyng)PGP对消息最大长度的限制。共五十八页符号(fho)说明Ks: 会话密钥(session key)KRa: 用户A的私钥KUa: 用户A的公钥EP: 公钥加密DP: 公钥解密EC: 常规加密DC: 常规解密H: 散列函数|: 连接Z: 用ZIP算法数据压缩R64: 用 Radix64 转换(zhunhun)到ASCII格式共五十八页2.1 PGP的

6、认证(rnzhng)PGP通过数字签名提供认证,过程如下:1、发送者产生消息(xio xi) M;2、发送者用SHA-1对 M 生成一个160位的散列码 H(M);3、发送者用自己的私钥,采用 RSA 对散列码 H(M) 签名(记为S),并将结果串接在 M 的前面;4、接收者用发送者的公钥对 S 解密,恢复 H(M);5、接收者对收到的消息 M 生成一个新的散列码,并与4中的散列码 H(M) 比较,如果一致,则认为M是真实的。另外,在 PGP 中:签名也可采用DSS/SHA-1生成;支持签名与消息的分离。共五十八页PGP的认证(rnzhng)(续)发送(f sn)方接收方共五十八页2.2 PG

7、P的机密性PGP的机密性通过加密来保证加密采用常规的CAST-128算法(或IDEA和3DES),使用64比特加密反馈(fnku)(CFB)模式加密密钥采用随机生成的一次性会话密钥(Session Key)共五十八页PGP的机密性(续)加密步骤如下(rxi):1、发送者生成消息 M,并生成一个128位的随机数作为会话密钥(Session Key);2、发送者使用会话密钥和 CAST-128 算法(或IDEA, 3DES)对 M 加密;3、发送者用接收者的公钥,采用 RSA 加密会话密钥, 并附加在Ek(M)前面(也可用Diffie-Hellman算法),发给接收者;4、接收者用自己的私钥和 R

8、SA 解密恢复会话密钥;5、接收者用会话密钥解密Ek(M) ,恢复消息M。共五十八页PGP的机密性(续)发送(f sn)方接收(jishu)方共五十八页2.3 PGP同时提供(tgng)认证和机密性当两种服务都需要时,发送者先用自己的私钥签名,然后产生会话(huhu)密钥并加密,再用接收者的公钥加密会话(huhu)密钥。注意:先进行签名,再进行加密比先加密,后签名要好:这样,签名是针对消息本身,而不是加密后的消息;加密作为一种保护措施,在信息传输完毕后即可不再有效。共五十八页PGP同时(tngsh)提供认证和机密性(续)发送(f sn)方接收方共五十八页2.4 PGP的数据压缩(sh j y

9、su)默认情况下,在报文签名后加密前,PGP对报文进行压缩;压缩对邮件传输或存储都有节省空间的好处;将压缩操作安排在签名之后比较好在验证(ynzhng)签名时只需存储未压缩的报文和签名;不会约束对压缩算法的选择。采用压缩操作可以增加加密的强度压缩的报文比原始明文冗余更少,密码分析更加困难。PGP使用ZIP压缩软件包,该软件包采用的压缩算法是 LZ77。共五十八页2.5 PGP提供(tgng)电子邮件兼容性使用PGP签名或加密后的报文可能部分或全部都是任意的 8 比特二进制流,需要转换成可打印的ASCII字符,以支持一些电子邮件系统。PGP采用基数64变换(Radix-64)实现这一目的Radi

10、x64 将 3 字节输入转换到 4 个 ASCII 字符,并带CRC校验(xio yn);使用 Radix-64 变换使报文长度扩大33%;典型情况下,在 Radix64与压缩(假设的压缩率为2.0)综合后,报文总体长度为:1.33 * 0.5 * M = 0.665 * M共五十八页基数(jsh)64变换(Radix-64)利用Radix64可以将任意二进制输入转换成可打印字符。其映射过程(guchng)如下:6 bits6 bits6 bits6 bits8 bits8 bits8 bits8 bits共五十八页基数(jsh)64变换(Radix-64)映射时6bits输入到输出(shch

11、)( 8bits)的编码表:共五十八页基数(jsh)64变换(Radix-64)例:假设输入(shr)的24bits(3字节)为00100011 01011100 10010001则其按 6bits 一组排列为001000 110101 110010 010001即十进制的 8、53、50、17。因此经过 Riadix64 变换为:I1yR如果变换结果用ASCII码表示,为:01001001 00110001 01111001 01010010共五十八页2.6 PGP报文发送和接收(jishu)流程共五十八页2.7 PGP对报文的分段(fn dun)与重组电子邮件(din z yu jin)常

12、常受限制于最大报文长度(一般限制在最大50000字节);更长的报文要进行分段,每一段单独发送;PGP对报文自动分段并在接收时自动恢复,分段在其他所有操作之后进行;签名和会话密钥只在第一段的开始位置出现一次。共五十八页3、PGP的密钥管理(gunl)PGP使用了四种(s zhn)类型的密钥一次性会话密钥(Session Key):用于常规加密;公钥(Public Key):包括通信对方的公钥和发送方自己的公钥;私钥(Private Key):发送方自己的私钥;口令短语(Passphrase):用于保护自己私钥。共五十八页不同(b tn)密钥的管理需求会话密钥:需要有一种生成不可预测的会话密钥的手

13、段;会话密钥不需要长期保存,每次加密(ji m)都会重新生成。公钥和私钥:私钥需要加密存储;需要某种手段来标识一个公钥,因为一个用户可能拥有多个公钥/私钥对;公钥和私钥需要长期保存;需要保存自己的公钥/私钥对和通信对方的公钥。口令短语:口令短语的产生和保存由“持有人”自己负责。共五十八页3.1 会话(huhu)密钥的生成会话密钥通过(tnggu)PRNG(Pseudo Random Number Generators)产生以 CAST-128 使用的128bits密钥的产生为例,其128 位的会话密钥是由基于ANSI X12.17的PRNG产生的。共五十八页ANSI X9.17伪随机数产生器输

14、入:DTi (日期/时间(shjin), Vi (随机数种子), K1,K2: 密钥;输出:Ri (随机数序列), Vi+1 (新的随机数种子);共五十八页ANSI X9.17伪随机数产生器(续)ANSI X9.17 PRNG的输入包括一个128位的密钥和两个64位的数据分组:通过使用CFB方式,PRNG中的CAST-128产生两个64位加密数据分组,这两个数据分组的串接起来构成128位会话密钥。ANSI X9.17 PRNG的随机数种子(Seed):作为PRNG明文输入的两个64位数据分组,是从一个128位的随机数流中导出的。这些随机数流是基于用户(yngh)的键盘输入的:键盘输入的时间和内

15、容用来产生随机流,因此,如果用户(yngh)以他通常的步调敲击任意键,将会产生合理的随机性。共五十八页随机数种子(zhng zi)(Seed)任何一个PRNG都必须使用一个随机数种子来初始化,随机数种子必须是不可预测的否则,攻击者有可能通过猜测种子,以恢复整个随机序列(xli)。PRNG产生“随机”数的根源在于种子的随机性。计算机中随机数种子的可能来源如下,通常通过收集这些来源以产生供PRNG使用的实际的种子:熵减小熵增加共五十八页随机数种子(zhng zi)的来源熵减小熵增加外部设备(wi b sh bi),如UsbKey共五十八页3.2 密钥标识符(密钥ID)一个用户有多个公钥/私钥对时,

16、接收者如何知道发送者是用了哪个公钥来加密会话密钥?将公钥与消息一起传送:浪费空间;将一个标识符与一个公钥关联,对一个用户来说做到一一对应:增加了管理负担;PGP采用密钥ID(Key ID)来解决这个问题。密钥ID与每个公钥相关联,由公钥的最低64比特组成,即KUa的密钥ID为 KUa mod 264 由于密钥是随机的,因此(ync)密钥ID重复的概率很小。PGP数字签名同样也需要密钥ID。共五十八页3.3 PGP报文的格式(g shi)对原始数据进行(jnxng)加密或签名后,需要一种新的数据格式对加密或签名后的数据,以及加密和签名的参数进行保存。PGP拥有自己的PGP报文格式。一个PGP报文

17、由3个部分组成:报文;签名(可选);会话密钥部分(可选)。共五十八页PGP报文的一般(ybn)格式共五十八页3.4 密钥环用于公钥密码的密钥(公钥和私钥)对于PGP的操作是非常关键的需要一种系统化的方法存储和组织这些密钥,以保证有效和高效地使用它们。PGP在每一个节点上提供一对数据结构(sh j ji u)一个用来存储该节点自己拥有的公钥/私钥对(私钥环);一个用来存储该节点知道的其他用户的公钥(公钥环)。共五十八页私钥环和公钥环的结构(jigu)共五十八页私钥环格式(g shi)说明1、用户(yngh)ID(User ID)通常是用户的邮件地址,也可以是一个名字。2、加密后的私钥(Encry

18、pted private key)私钥使用CAST-128(或IDEA或3DES)加密保存。3、私钥对应的公钥(Public key)4、公钥的密钥ID(Key ID)5、时间戳(Timestamp)共五十八页私钥环中私钥加密和使用(shyng)的过程私钥使用CAST-128(或IDEA或3DES)加密,过程如下:1、用户(yngh)选择一个口令短语( Passphrase )用于加密私钥;2、当系统用生成一个新的公钥/私钥对时,要求用户输入口令短语,并对该短语使用SHA-1生成一个160位的散列码后,销毁该短语;3、系统用散列码中的128位作为密钥,用CAST-128加密刚产生私钥,并将加密

19、后的私钥存储到私钥环中。每当用户要访问私钥环中的私钥时,必须向系统提供口令短语,以解密私钥环中的私钥:PGP将检索出加密的私钥,生成口令短语的散列码,然后用该散列码来应用CAST-128对加密的私钥解密,获得私钥。共五十八页私钥环中私钥加密和使用(shyng)的过程(续)EC散列函数口令短语私有密钥环(加密过的私钥)私钥(明文)DC散列函数口令短语私钥(明文)保存使用基本思想(sxing):用口令短语来保护私钥。一个与该方法相似的标准是: PKCS#5 Password Based Cryptography Standard共五十八页公钥环格式(g shi)说明1、用户(yngh)ID(Use

20、rID):公钥的拥有者,多个用户ID可以对应一个公钥2、公开密钥(Public Key):用户ID所拥有的公钥3、公钥的密钥ID(Key ID);4、时间戳(Timestamp);5、Owner Trust、Key Legitimacy、Signature(s)、 Signature Trust(s):用于公钥真实性管理(信任管理)的字段(见后) 。共五十八页利用密钥环生成(shn chn)PGP报文过程共五十八页利用密钥环接收(jishu)PGP报文过程共五十八页3.5 PGP公开密钥管理(gunl)PGP包含了有效的机密性和认证服务,最后还需要提供一种公钥管理服务公钥管理是公开密钥应用中最

21、困难(kn nn)的部分,是公开密钥加密的“阿基里斯的脚后跟”。如果 A 的公钥环上有一个从BBS上获得的 B发布的公钥,但该公钥实际上是C伪造的(或 B 的私钥已经泄漏给C),这样:1)C 可以向 A 发送报文并冒充 B 的签名,A 以为是来自 B;2)A 发给 B 的任何加密消息 C 都可以读取。由于PGP的目标是广泛地在正式或非正式环境下应用,因此没有建立严格的公钥管理模式。共五十八页A获得B的公钥的可能(knng)方法1、物理上得到 B 的公钥2、通过电话验证公钥B 将其公钥 email 给 A,A 可以用 PGP 对该公钥生成一个 160 位的 SHA-1 摘要(这一摘要称作密钥的“

22、指纹”)。然后 A 打电话给 B,让 B 在电话中对证“指纹”,如果双方一致,则该公钥被认可。3、从双方都信任的个体 D 处获得 B 的公钥 D是介绍人,生成一个签名的证书,其中包含 B 的公钥和密钥生成时间。D 对该证书生成一个 SHA-1 摘要,并用其私钥“加密(ji m)”这个摘要,然后把“加密(ji m)后”的摘要(即数字签名)附加在证书后。因为只有 D 能够产生这个签名,没有人可以生成一个假的公钥并假装是 D 签名的。这个签名的证书可以由 B 或 D 直接发给 A,也可以贴到公告牌上。4、从一个信任的 CA 中心得到 B 的公钥共五十八页PGP中管理信任(xnrn)关系的字段PGP没

23、有包含任何建立认证中心或建立信任体系的规格说明,但它提供了一个利用信任关系的手段(shudun),将信任与公钥关联,并利用信任信息来管理公钥的真实性。PGP的信任关系通过公钥环中的字段表示:Key legitimacy field:表明PGP信任这个公钥是这个用户的合法公钥的程度,信任程度越高,这个用户ID和这个公钥的绑定越强。这个字段是由 PGP 计算得出的。共五十八页PGP中管理信任(xnrn)关系的字段(续)signature trust field:公钥环中(hun zhn)的每个记录实际都是一个公钥证书,公钥环的拥有者可以收集其他人对该证书的签名(Signature),而每个签名有一

24、个 signature trust field,表明PGP用户信任签名者对这个公钥证明的程度。Key legitimacy field 是由多个signature trust field 导出的。Owner trust field:表明该公钥对其它公钥证书进行签名的受信任程度。这个信任程度是由用户指定的。共五十八页信任(xnrn)关系处理过程1、当 A 向公钥环中插入一个新公钥时,PGP必须向信任标志( Owner trust )赋值,该标志与该公钥的拥有者相关:如果拥有者是 A 自己,则该值为终极信任(ultimate trust);否则,PGP询问(xnwn)A,让A给出信任级别,A可选:

25、该公钥的拥有者是不认识(unknown)、不信任(untrusted)、接近信任(marginally trusted)或完全信任(complete trusted)。2、当新公钥输入后,可以为其附加一个或多个签名(Signature),以后还可以为该公钥增加更多的签名:在为公钥附加签名时,PGP在公钥环中搜索,察看这个签名的作者是否属于已知的公钥拥有者;如果是,为这个签名的signature trust 字段指派该公钥拥有者的Owner trust值;否则,指派不认识的用户值。共五十八页信任(xnrn)关系处理过程(续)3、密钥合法性字段( Key legitimacy field)的值基于

26、该公钥条目的签名信任字段( signature trust field)来计算:如果至少有一个签名具有终极信任(ultimate trust)的值,则该密钥的合法性字段的值为“完全(wnqun)”;否则,PGP计算信任值的权重和。共五十八页共五十八页公钥的作废(zu fi)密钥(私钥)暴露或定时更新导致需要公钥报废功能通常的报废方法是由拥有者签发一个密钥报废证书这个证书具有与通常签名(qin mng)证书相同的形式,但包含一个指示符表明这个证书是要作废该公钥的使用。该公钥所对应的私钥必须用来签名这个密钥报废证书;该公钥的拥有者应尽可能越广越快地散布这个证书,以使得潜在的有关人员更新他们的公钥环

27、。注意:攻击者(窃取了别人的私钥)也可以发出这个密钥报废证书:然而,这将导致他自己也被否决。因此,这样比起恶意使用偷来的私钥来看似乎会减少漏洞。共五十八页三、PGPsdkPGPsdkPGP Software Developers Kit。The PGPsdk provides everything a developer needs to incorporate any part of the PGP cryptosystems functionality into their own software. The SDK includes the same C-language header

28、files and runtime libraries that Network Associates own developers use to create the PGP software sold and distributed by Network Associates。The library source is open for peer review 。共五十八页PGPsdk(cont)Core PGP operationsGenerating and saving the users own key pairRetrieving the users key pair from local storageObtaining an intended recipients public keyGenerating a digital signature (signing a message), with the users keyVerifying a received digital signature, with the senders keyEncryption for an intended

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论