




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子邮件的安全性第第1212章章 电子邮件的安全性电子邮件的安全性PGP(Pretty Good Privacs)S/MIME电子邮件的安全性1.1. PGPPGP的来源的来源PGP主要由于 Phil Zimmermann一个人的贡献,PGP提供了一种机密性和鉴别的服务,可以用于电子邮件和文件存储的应用。Zimmermann主要做了下面一些工作:选择最好的、可用的加密算法作为基础构件。将这些算法集成起来,形成一个通用的独立于操作系统和处理器的应用程序,该应用程序基于易于使用的命令构成的小集合。制作了软件包和相应的文档,包括源代码,通过Internet、电子公告牌和如 Compuserve的商业
2、网,免费提供给用户。1.和一个公司(Viacrypt,现在是Network Associates)签订了合同,提供PGP的完全兼容的、低价格的商用版本。电子邮件的安全性1.1. PGPPGP的发展特点的发展特点PGP发展非常迅速,现在已经被广泛应用。PGP得到快速发展的原因包括以下一些:它是全世界免费可得到的,包括了运行在不同平台的多个版本,诸如:DOSWndow,Unix,Macintosh等。另外,商用版本满足了那些想要获得厂家技术支持的用户的需要。它建立在一些经过公开评议,被认为是非常安全的算法的基础上。具体来说,PGP软件包包括了公开密钥的RSA,DSS和Diffie-Hellman加
3、密算法;常规的CAST-128,IDEA和3DES加密算法;以及散列编码的SHA-1算法。它的应用范围非常广,从想要选择和实施一个标准模式来加密文件和消息的公司到想要通过Internet或其他网络和他人进行安全通信的个人都可以使用。1.它不是任何政府或标准化组织开发的,因而也不会被它们控制。对于那些本质上不信任任何“组织机构”的人来说,PGP具有吸引力。 电子邮件的安全性1.1. PGPPGP的操作的操作功能使用的算法描述鉴别(数字签名)DSS/SHA或RSA/SHA使用SHA-1创建的报文的散列编码。采用DSS或RSA算法使用发送者的私有密钥对这个报文摘要进行加密,并且包含在报文中机密性(报
4、文加密) CAST或IDEA或三密钥三DES,带有Diffie-Hellman算法或RSA采用CAST-128或IDEA或3DES,使用发送者生成的一次性会话密钥对报文进行加密,采用Diffie-Hellman或RSA,使用接收方的公开密钥对会话密钥进行加密并包含在报文中压缩ZIP报文可以使用ZIP进行压缩,用于存储或传输电子邮件兼容性64基转换为了提供电子邮件应用的透明性,加密的报文可以使用64基转换算法转换成ASCII字符串分段-为了满足最大报文长度的限制,PGP完成报文的分段和重新装配电子邮件的安全性1.1. PGPPGP加密功能加密功能 EKUbKs M Z Ks EP EC M KR
5、a M 比较 H Z-1 (a)只进行鉴别 源点 终点 | H M 比较 DP (b)只保证机密性 KRb EKRaH(M) H DC | EP DP KUb Z-1 EC Z-1 Ks | EKUbKs EP H KUa DP DC M KUa Z EP KRa (c)鉴别与机密性 | H M KUb KRb DP EKRaH(M) 电子邮件的安全性1.1. PGPPGP的操作的操作鉴别鉴别发送者创建报文。使用 SHA-l来生成报文的160 bit散列代码。使用发送者的私有密钥,采用RSA算法对散列代码进行加密,结果串接在报文的前面。接收者使用发送者的公开密钥,采用RSA解密和恢复散列代码。
6、接收者为报文生成新的散列代码,并与被解密的散列代码相比较。如果两者匹配,则报文作为已鉴别的报文而接受。尽管签名一般和所签的报文或文件附加在一起,但这并不是必需的:分离的签名也是支持的。分离的签名可以和所签的报文分开存储和传输,这种方法在好几种场合中都是有用的。用户可能想要保持单独的所发送或接收的所有报文的签名日志。可执行程序的分离签名可以检测出接下来的病毒侵入。最后,分离签名可以用在需要多方签名的文档上,如法律合同。每个人的签名是独立的,因而可以只是应用到文档上。否则,签名将只能递归使用,第二个签名对文档和第一个签名进行签名,依此类推。 电子邮件的安全性1.1. PGPPGP的操作的操作机密性
7、机密性发送者生成报文和128 bit的用作该报文会话密钥的随机数。采用CAST-128(或IDEA或3DES)算法,使用会话密钥对报文进行加密。使用 64 bit来加密反馈(CFB)模式。采用RSA算法,使用接收者的公开密钥对会话密钥进行加密,并附加到报文前面。接收者采用RSA算法,使用自己的私有密钥解密和恢复会话密钥。使用会话密钥来解密报文。除了使用RSA对密钥加密之外,PGP提供了另一种称为Diffie-Hellman的选择。实际上,PGP使用的是Diffie-Hellman的提供加密解密的变体一一ElGamal。PGP提供给用户的密钥长度的范围达到768到3072比特。电子邮件的安全性1
8、.1. PGPPGP的操作的操作机密性与鉴别机密性与鉴别PGP可以对报文可以同时使用两个服务。首先,为明文报文生成签名并附加到报文首部。然后使用CAST-128(或IDEA或3DES)对明文报文和签名进行加密,再使用RSA(或ElGamal)对会话密码进行加密。这个步骤比相反的步骤要好:加密报文然后再生成加密后的报文的签名。将签名与明文报文存储在一起更加方便。另外,为了方便第三方验证,如果首先产生签名,第三方在验证签名时就不需要与常规密钥打交道。总之,当同时使用两个服务时,发送者首先用自己的私有密钥为报文签名,然后使用会话密钥对报文加密,接着再用接收者的公开密钥对会话密钥进行加密。电子邮件的安
9、全性1.1. PGPPGP的操作的操作压缩压缩在默认情况下,在签名之后加密之前,PGP可以对报文进行压缩。这有利于在电子邮件传输和文件存储时节省空间。压缩算法使用的是ZIP。在压缩之前生成签名有两个理由:对没有经过压缩的报文进行签名更好,这样为了将来的验证只需要存储没压缩的报文和签名。如果对压缩文档签名,那么为了将来的验证就必须或者存储压缩过的报文,或者在需要验证时重新压缩报文。即使一个人愿意在验证时动态生成重新压缩的报文,PGP的压缩算法也存在问题。算法不是固定的,算法的不同实现在运行速度和压缩比上进行不同的折衷,因此产生了不同的压缩形式。但是,这些不同的压缩算法是可以互操作的,因为任何版本
10、的算法都可以正确地解压其他版本的输出。在压缩之后应用散列函数和签名,将约束所有的PGP实现都使用同样的压缩算法。1.在压缩之后对报文加密可以加强加密的强度。因为压缩过的报文比原始明文冗余更少,密码分析更加困难。电子邮件的安全性1.1. PGPPGP的操作的操作电子邮件的兼容性电子邮件的兼容性很多电子邮件系统只允许使用由ASCII正文组成的块。为了满足这一约束,PGP提供了将原始8 bit二进制流转换成可打印ASCII字符的服务。为这一目的采用的方案是radix-64转换。 X 文件 需要签名? 生成签名 X 签名|X 压缩 X Z(X) 需要机密性? 转换成 radix 64 X R64X 是
11、 否 加秘密钥 X X EKUbKs|EKsX 是 否 从 radix 64 转换 X R64-1X 需要机密性? 解秘密钥 X X DKRbKs; DKsX 是 否 解缩 X Z-1(X) 需要签名? 从 X 中提取签名 验证签名 是 否 电子邮件的安全性1.1. PGPPGP的操作的操作分段和重装分段和重装电子邮件设施经常受限于最大的报文长度。例如,很多Internet可以访问的设施都有最大50 000个八位组的限制。任何长度超过这个数值的报文都必须划分成更小的报文段,每个段单独发送。为了满足这个约束,PGP自动将太长的报文划分成可以使用电子邮件发送的足够小的报文段。分段是在所有其他的处理
12、(包括radix-64转换)完成之后才进行的,因此会话密钥部分和签名部分只在第一个报文段的开始位置出现一次。电子邮件的安全性1.1. PGPPGP报文格式报文格式 内容 操作 会话密 钥部分 签名 报文 接收者公开密钥(KUb) 的密钥 ID 会话密钥(Ks) 时间戳 报文摘要的前 两个八位组 发送者公开密钥(KUa) 的密钥 ID 报文摘要 文件名 时间戳 数据 KUb KRa ZIP R64 EKs 记号: EKUb EKRa EKs ZIP R64 = 使用用户 b 的私有密钥进行加密 = 使用用户 a 的私有密钥进行加密 = 使用会话密钥加密 = Zip 压缩功能 = Radix-64
13、 转换 电子邮件的安全性1.1. PGPPGP加密密钥和密钥环加密密钥和密钥环PGP利用了四种类型的密钥:一次性会话的常规密钥、公开密钥。私有密钥和基于口令短语(passphrase)的常规密钥(在下面解释)。对于这些密钥存在三种独立的需求:需要生成一种不可预测的会话密钥的方法。允许用户拥有多个公开私有密钥对。一个理由是用户可能想要不时地改变他或她的密钥对。当发生了这种情况时,管道中所有报文都将是用过时的密钥构造的。此外,接收者在接到改变的通知之前只知道旧的公开密钥。除了不时地改变密钥的需要之外,在给定的时刻,用户可能想要拥有多个密钥对来和不同的通信组交互,或者只是为了增强安全性而限制密钥能够
14、加密的报文的数量。这些原因的结果就是在用户和他们的公开密钥之间不存在一一对应的关系。因此,需要某种方法来标识特定的密钥。 1.每个PGP实体必须维护它自己的公开私有密钥对的文件,以及与它通信的人的公开密钥文件。电子邮件的安全性1.1. PGPPGP会话密钥和会话密钥和IV的生成的生成参见密码编码学与网络安全:原理与实践(第二版)附录12C。 rseed rbuf rbuf rbuf rseed rseed rseed dbuf E E E E E E E K1632 K815 K07 电子邮件的安全性1.1. PGPPGP的密钥标识符的密钥标识符PGP采用的解决方法是给每个公开密钥指派一个密钥
15、ID,这在用户ID中很可能是惟一的。密钥ID与每个公开密钥相关联,并由公开密钥的最低64比特组成,即,公开密钥KUa的密钥ID是(KUa mod 264)。这个长度足以使密钥 ID重复概率非常小。PCP的数字签名也需要密钥ID。因为发送者可能使用一组私有密钥中的一个来加密报文摘要,接收者必须知道应该使用哪个公开密钥来解密。相应地,报文的数字签名部分包括了需要的公开密钥的64 bit密钥ID。当报文被收到时,接收者验证该密钥 ID是它所知道的发送者的公开密钥,然后接着来验证签名。电子邮件的安全性1.1. PGPPGP的密钥环的密钥环任何一个PGP报文中包括的两个密钥ID提供了机密性和鉴别。这些密
16、钥需要以一种系统化的方法来存储和组织,使得各方能够有效和高效地使用它们。PGP使用的方法是在每个结点提供一对数据结构,一个用来存储该结点拥有的公开私有密钥对,另一个用来存储该结点所知道的其他用户的公开密钥。相应地,这些数据结构被称为私有密钥环和公开密钥环。电子邮件的安全性1.1. PGPPGP私有密钥环的一般结构私有密钥环的一般结构时间戳:该密钥对生成的日期时间。密钥ID:这个实体的公开密钥的低位64比特。公开密钥:密钥对的公开密钥部分。私有密钥:密钥对的私有密钥部分;这个字段是加密的。用户ID:这个字段的典型值是用户的电子邮件地址(例如,)。然而,用户可以为每
17、个密钥对选择不同的名字(例如,Stallings,Wstallings,Williamstallings等等),或者多次重用相同的用户ID。 时间戳密钥ID公开密钥加密的私有密钥用户IDTiKUi mod 264KUiEH(Pi)KRi用户i电子邮件的安全性1.1. PGPPGP对私有密钥的保护对私有密钥的保护尽管想要私有密钥环只存储在创建和拥有密钥对的用户的机器上,并且只有该用户可以访问私有密钥环,但确保私有密钥的值尽可能地安全仍然很有意义。相应地,私有密钥本身并不存储在密钥环中,相反,要使用CAST-128(或IDEA或3DES)来对这个密钥加密。其步骤如下:用户选择口令短语用来对私有密钥
18、进行加密。当系统使用RSA生成新的公开私有密钥对时,它向用户要求那个口令短语。使用SHA-1生成该口令短语的160 bit的散列编码,然后该口令短语被丢弃。系统使用CAST-128,将128 bit的散列编码作为密钥来加密私有密钥。然后,散列编码被丢弃,加密过的私有密钥被存储在私有密钥环中。当用户访问私有密钥环来查询私有密钥时,他或她必须提供相应的口令短语。PGP将查询加密的私有密钥,生成口令短语的散列编码,然后使用该散列编码来应用CAST-128对加密的私有密钥进行解密。 电子邮件的安全性1.1. PGPPGP公开密钥环的一般结构公开密钥环的一般结构时间戳:这个实体生成的日期时间。密钥ID:
19、这个实体公开密钥的低位64比特。公开密钥:这个实体的公开密钥。用户ID:这个密钥的拥有者。公开密钥可以与多个用户ID相关联。时间戳密钥ID公开密钥拥有者信任用户ID密钥合法性签名(S) 签名信任(S)TiKUi mod 264KUitrust_flagiUseritrust_flagi电子邮件的安全性1.1. PGPPGP报文生成报文生成 密钥 ID | 密钥 ID RNG 公开密钥环 EC 报文 报文摘要 H EP | DC 私有密钥环 加密的 私有密钥 EP 口令短语 报文 M 私有密钥 KRa H 选择 IDA 报文+签名 会话密钥 Ks 选择 IDB 输出 加密的签 名+报文 电子邮件
20、的安全性1.1. PGPPGP报文生成报文生成签名报文PGP使用用户ID作为索引从私有密钥环中查找发送者的私有密钥。如果在命令中没有提供用户ID,那么查询环中的第一个私有密钥。PGP提示用户输入口令短语来恢复未加密的私有密钥。构造报文的签名部分。加密报文PGP生成会话密钥并且加密报文。PGP使用接收者的用户ID作为索引,从公开密钥环中查找接收者的公开密钥。1.构造报文的会话密钥部分。电子邮件的安全性1.1. PGPPGP报文接收报文接收 接收者的 密钥 ID 公开密钥环 比较 DC H DP DC 私有密钥环 加密的 私有密钥 口令短语 加密的 会话密钥 私有密钥 KRa H 选择 会话密钥
21、Ks 选择 加密报文 +签名 发送者的 密钥 ID 加密的 摘要 报文 EP 公开密钥 KUa 电子邮件的安全性1.1. PGPPGP报文接收报文接收解密报文PGP使用报文会话密钥部分的密钥ID字段作为索引,从私有密钥环中查找接收者的私有密钥。PGP提示用户输入口令短语来恢复未加密的私有密钥。PGP然后恢复会话密钥并且解密报文。鉴别报文PGP使用报文签名密钥部分的密钥ID字段作为索引,从公开密钥环中查找发送者的公开密钥。PGP恢复传输的报文摘要。1.PGP对接收的报文计算报文摘要,将计算的结果与传输过来的报文摘要相比较以鉴别报文。电子邮件的安全性1.1. PGPPGP公开密钥管理的方法公开密钥
22、管理的方法确实地从B得到密钥。B可以将其公开密钥(KUb)存储在软盘上,将软盘交给A。A可以从这个软盘上将密钥加载到他的系统中。这是非常安全的方法,但实际运用具有明显的局限性。通过电话验证密钥。如果A可以在电话上听出B的声音人可以给B打电话,要求她在电话上以radix-64的形式口述密钥。更加实用的方法是B可以将她的密钥通过电子邮件传递给A。然后,A可以让PHP生成密钥的160 bit的SHA-l摘要,并且以十六进制的形式显示,这个摘要被称为密钥的“指纹”。接下来人可以给B打电话,让她在电话里口述指纹。如果两个指纹一致,那么密钥就验证过了。从双方信任的人D那里获得B的公开密钥。介绍人D创建签名
23、的证书,证书包括B的公开密钥、创建密钥的时间和密钥的合法期限。D生成这个证书的SHA-1摘要,使用她的私有密钥对其加密,并且将签名附加在证书上。因为只有D能够创建这个签名,所以没有其他人可以创建假的公开密钥,并且伪装成经过D的签名。签名的证书可以直接由B或D发送给A,或者粘贴在公告牌上。1.从可信任的认证中心获得B的公开密钥。再一次创建公开密钥证书,并经过认证中心的签名。A可以访问这个认证中心,提供用户名获得签名的证书。 电子邮件的安全性1.1. PGPPGP信任的标注信任的标注PGP使用与实体相联系的密钥合法性字段,用来指示PGP信任“这是这个用户合法的公开密钥”的程度;信任程度越高,这个用
24、户ID与这个密钥的绑定越紧密。这个字段是由PGP从这个实体的一组签名信任字段中推导出来的。与每个实体相联系的还有密钥环的拥有者收集的,对这个证书签名的零个或多个签名。每个签名都带有签名信任字段,用来指示该PGP用户信任签名者对这个公开密钥证明的程度。1.每个实体定义了与特定的拥有者相联系的公开密钥,包括拥有者信任字段,用来指示这个公开密钥对其他公开密钥证书进行签名的可信任程度,这个信任程度是由该用户指派的。我们可以把签名信任字段看成是来自于其他实体的拥有者信任字段的副本。电子邮件的安全性1.1. PGPPGP信任标志字节的内容信任标志字节的内容(a) 指派公开密钥拥有者的信任(出现在密钥分组之
25、后,用户定义的) (b) 指派公开密钥/用户ID对的信任(出现在用户ID分组之后,由PGP计算) (c) 指派签名的信任(出现在签名分组之后,该签名者的OWNERTRUST的副本) OWNERTRUST字段字段一未定义的信任一不认识的用户一对其他密钥的签名通常不能信任一对其他密钥的签名通常可以信任一对其他密钥的签名总是可以信任一这个密钥出现在秘密密钥环中(终极信任)BUCKSTOP比特比特一如果这个密钥出现在秘密密钥环中,置位 KEYLEGIT字段字段一不认识或未定义的信任一密钥的拥有权不可信任一密钥的拥有权的少量信任一密钥的拥有权的完全信任WARNONLY比特比特一如果用户想要系统只是在使用
26、没有经过完全验证的密钥来加密时才告警,置位 SIGTRUST字段字段一未定义的信任一不认识的用户一对其他密钥的签名通常不能信任一对其他密钥的签名通常可以信任一对其他密钥的签名总是可以信任一这个密钥出现在秘密密钥环中(终极信任)CONTIG比特比特一如果签名导致了一条连续的可信任的通向终极信任密钥环的拥有者的路径时,置位 电子邮件的安全性1.1. PGPPGP信任的确定信任的确定当A在公开密钥环中插入了新的公开密钥时,PGP必须为与这个公开密钥拥有者相关联的信任标志赋值。如果拥有者是A,因此这个公开密钥也出现在私有密钥环中,那么这个信任字段被自动指派终极信任的值。否则,PGP询问A指派这个密钥拥
27、有者的信任程度的评定,A必须输入想要的级别。用户可以说明这个拥有者是未知的、不可信任的、少量信任和完全可信的。当新的公开密钥输入之后,可以在它上面附加一个或多个签名,以后还可以增加更多的签名。在实体中插入签名时,H对在公开密钥环中搜索,查看这个签名的作者是否属于已知的公开密钥拥有者。如果是,为这个签名的SIGTRUST字段指派该拥有者的OWNERTRUST值。否则,指派不认识的用户值。1.密钥合法性字段的值是在这个实体的签名信任字段的基础上计算的。如果至少有一个签名具有终极信任的值,那么密钥合法性字段的值设置为完全;否则,PGP计算信任值的权重和。对于总是可信任的签名指派1/X的权重,对于通常
28、可信任的签名指派1/Y的权重,其中X和Y都是用户可配置的参数。当介绍者的密钥用户ID绑定的权重总和达到1时,绑定被认为是值得信赖的,密钥合法性值被设置为完全。因此,在没有终极信任的情况下,需要至少X个签名是总是可信的,或者至少Y个签名是通常可信的,或者上述两种情况的某种组合。 电子邮件的安全性1.1. PGPPGP信任模型信任模型 = 不认识的签名 = X 被 Y 签名 = 你信任密钥的拥有者对密钥的签名 = 你部分相信密钥的拥有者对密钥的签名 = 你认为合法的密钥 G H I ? S Q P ? Y X ? F E D C B A ? ? ? ? R ? J K L M N O 你 电子邮件
29、的安全性1.1. PGPPGP信任模型讨论信任模型讨论注意到除了结点L以外,所有其拥有者被该用户完全信任或部分信任的密钥都被该用户签了名。这样一个用户签名并不总是必要的,如同结点L的存在所指示的,但是实际上大多数用户都想要给自己信任的用户的密钥进行签名。因此,即使E的密钥已经被一个可信任的介绍者F签了名,该用户还是选择直接对E的密钥进行签名。假设两个部分可信的签名足以证明一个密钥,因此用户H的密钥被PGP认定为合法的,因为它被A和B签了名,后者都是部分可信的。1.一个密钥可能由于它被一个完全可信的或两个部分可信的签名人签了名而被认定为是合法的,但它的用户对其他密钥的签名不可信。例如,N的密钥是
30、合法的,因为它被E签了名,而E是用户可信任的;但是N对其他密钥的签名不可信任,因为用户没有指派N信任值。因此,尽管R的密钥被N签了名,PGP不认为R的密钥是合法的。这种情况是非常有意义的。如果你想要给某个人发送私人报文,并不需要你对这个人的各个方面都信任,惟一需要的是你要确认你有了这个人的正确的公开密钥。电子邮件的安全性1.1. PGPPGP信任模型讨论信任模型讨论( (续续) )4.PGP信任模型也显示了分离的“孤儿”结点S的例子,该结点带有两个未知的签名。这样的密钥可能是从密钥服务器上获得的。PGP不能简单地认定这个密钥的合法性,因为它来自于知名的服务器。用户必须通过签名来声明密钥的合法性
31、,或者告诉IMP密钥的签名者是完全可信赖的。电子邮件的安全性1.1. PGPPGP废除公开密钥废除公开密钥废除公开密钥的常规方法是拥有者发出密钥废除证书,该证书必须经过拥有者的签名。这个证书和一般的签名证书的格式一样,但是包括了表示该证书的目的是为了废除这个公开密钥使用的指示。请注意必须使用对应的私有密钥对这个废除公开密钥的证书签名。拥有者接着应该尽可能快和尽可能广地散布这个证书,使得潜在的对应方都能够修改他们的公开密钥环。请注意已经获得拥有者私有密钥的对手也可能发出这样的证书。但是,这会使得这个对手和合法的拥有者一样不能使用该公开密钥,因此,这看起来比恶意使用被偷私有密钥的威胁要小得多。电子
32、邮件的安全性2.2. S/MIME简介简介SMIME(安全通用Internet邮件扩充SecureMultipurpose Internet Mail Extension)是基于RSA数据安全技术的、MIME Internet电子邮件格式标准的安全扩充。尽管PGP和SMIME都在IETF标准化的过程当中,但是SMIME可能作为商业和组织使用的工业标准而出现,而PGP对大多数用户来说,仍然作为个人安全电子邮件的选择。目前,S/MIME已在IEFT中得到了标准化,具体可见RFC和RFC文档。电子邮件的安全性2.2. S/MIME功能功能加密的数据:对于一个或多个接收者来说,这是由任意类型的加密内容
33、和加密内容的加密密钥组成的。签名的数据:通过取得要签名的内容的报文摘要,然后使用签名者的私有密钥对该摘要进行加密形成数字签名。接着,内容和签名使用radix-64编码方法进行编码。签了名的数据报文只能被具有SMIME功能的接收者看到报文的内容。清澈签名(Clear-signed)的数据:和签名数据一样,形成内容的数字签名。但是,这种情况只有数字签名部分使用radix-64进行了编码。因此,没有SMIME功能的接收者可以看到报文的内容,尽管它们不能验证签名。1.签名并且加密的数据:只签名和只加密的实体可以递归使用,因此加密的数据可以被签名,签名或清澈签名的数据可以被加密。电子邮件的安全性2.2.
34、 S/MIME加密算法加密算法功能需求创建用于形成数字签名的报文摘要必须支持SHA-1和MD5应该使用SHA-1加密报文摘要以形成数字签名发送和接收代理必须支持DSS发送代理应该支持RSA加密接收代理应该支持使用长度为512到1024比特的密钥来验证RSA的签名加密会话密钥和报文一起传输发送和接收代理必须支持Diffie-Hellman发送代理应该支持使用长度为52比特到1024比特的密钥的RSA加密接收代理应该支持RSA解密使用一次性会话密钥来加密传输的报文发送代理应该支持三元组DES和RC2/40的加密接收代理应该支持三元组DES的解密,必须支持RC2/40的解密电子邮件的安全性2.2.
35、S/MIME发送代理规则发送代理规则如果发送代理从它想要的接收者那里获得了解密能力的列表,它应该选择能使用的列表的第一个(最高优先级)能力。如果发送代理没有它想要的接收者的这样的能力清单,但曾经从接收者那里收到过一个或多个报文,那么输出的报文应该使用和从那个接收者那里接收的最后一个签名和加密报文所使用的同样的加密算法。如果发送者没有它想要的接收者解密能力的任何知识,并且愿意冒着接收者可能不能解密报文的危险,那么发送代理应该使用三元组DES。如果发送者没有它想要的接收者解密能力的任何知识,并且不愿意冒着接收者可能不能解密报文的危险,那么发送代理必须使用RC240。1.如果报文需要发送给多个接收者
36、,但却不能选择共同的加密算法,那么发送代理将需要发送两个报文。然而,需要注意的是在这种情况下,报文的安全性依赖于低安全性的报文的一个副本的传输。 电子邮件的安全性2.2. S/MIMES/MIME报文类型报文类型类型子类型S/MIME参数描述MultipartSigned清澈签名的报文分成两个部分:一个是报文部分,另一个是签名部分Applicationpkcs7-minesignedData签名的SMIME实体pkcs7-mineenvelopedData加密的SMIME实体pkcs7-minedegenerste signedData只包含了公开密钥证书的实体pkcs7-signature多
37、部分签名报文的签名子部分的内容类型pkcs10-mine证书注册请求报文电子邮件的安全性2.2. S/MIMEMIME实体安全化实体安全化SMIME使用签名、加密或同时使用两者来保证MIME实体的安全。一个MIME实体可能是一个完整的报文(除了RFC 822首部),或者是多部分MIME内容类型的一个或多个子部分。MIME实体按照MIME报文准备的一般规则来准备。然后,该MIME实体加上一些与安全有关的数据,如算法标识符和证书,被SMIME处理以生成称为PKCS的对象。然后PKCS对象被看作报文内容并包装成MIME(提供合适的MIME首部)。在所有情况下,称为对象的报文实体都用ITU-T Rec
38、ommndation X.209建议书定义的基本编码规则(BER)来表示。BER格式是由任意的八位组字符串组成的,因此是二进制数据。这样一个对象在外部的MIME报文中应该使用radix-64编码转换。 电子邮件的安全性2.2. S/MIMEenvelopedData(包装数据)操作包装数据)操作为特定的对称加密算法(RC240或三元组DES)生成伪随机的会话密钥。对每个接收者,使用接收者的公开RSA密钥对会话密钥进行加密。为每个接收者准备称为RecipientInfo(接收者信息)的数据块,该块中包含了发送者的公开密钥证书。用来加密会话密钥算法的标识以及加密的会话密钥。使用会话密钥加密报文的内
39、容。1.RecipientInfo块后面跟着加密的内容组成了包装数据。然后使用radix-64对这个信息编码。电子邮件的安全性2.2. S/MIMEenvelopedData(包装数据)示例包装数据)示例Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7mContent-Transfer-Encoding: base64Content-Disposition: attachment; filename=smime.p7mrfvbnj756tbBghyHhHUujhJhjH77n8HHGT9
40、HG4VQpfyF467GhIGfHfYT67n8HHGghyHhHUujhJh4VQpfyF467GhIGfHfYGTrfvbnjT6jH7756tbB9Hf8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF40GhIGfHfQbnj756YT64V 电子邮件的安全性2.2. S/MIMEsignedData(签名数据)操作签名数据)操作选择报文签名算法(SHA或MD5)。计算需要签名内容的报文摘要或散列函数。使用发送者的私有密钥加密报文摘要。准备称为SignerInfo(签名者信息)的数据块,该块中包含了签名者的公开密钥证书、报文
41、摘要算法的一个标识符、用来加密报文摘要算法的标识符以及加密的报文摘要。 1.签名数据实体由一系列块组成,包括报文摘要算法标识符、被签名的报文和SignerInfo。签名数据实体还可以包括公开密钥证书的集合,该集合足以组成一条从一个可识别的根或最上级的认证中心到签名者的链。然后使用radix-64进行编码。电子邮件的安全性2.2. S/MIMEsignedData(签名数据)示例签名数据)示例Content-Type: application/pkcs7-mime; smime-type=signed-data;name=smime.p7mContent-Transfer-Encoding: b
42、ase64Content-Disposition: attachment; filename=smime.p7m567GhIGfHfYT6ghyHhHUujpfyF4f8HHGTrfvhJhjH776tbB9HG4VQbnj777n8HHGT9HG4VQpfyF467GhIGfHfYT6rfvbnj756tbBghyHhHUujhJhjHHUujhJh4VQpfyF467GhIGfHfYGTrfvbnjT6jH7756tbB9H7n8HHGghyHh6YT64V0GhIGfHfQbnj75 电子邮件的安全性2.2. S/MIME清澈签名(清澈签名(Clear Signing)操作操作清澈签名是
43、通过带有签名子类型的多部分内容类型来实现的。如同曾经提到的那样,这个签名过程没有涉及到转换签名报文的形式,因此报文以一种“清澈的”形式发送。从而使得具有MIME能力但没有SMIME能力的接收者能够阅读输入的报文。多部分签名的报文有两个部分。第一部分可以是任何MIME类型,但必须准备报文使得它在从源到目的地的传输中不被修改。这就意味着如果第一部分不是7 bit的,那么需要使用base-64或者加引号的可打印(quoted-printable)进行编码。然后这一部分按照和签名数据一样的方式来处理,但是在这种情况下创建了空报文内容字段的签名数据格式的对象,这个对象是分离的签名。然后使用base-64
44、对它进行传送编码,成为多部分签名报文的第二部分。这个第二部分有一个应用的MIME内容类型和一个phes7-signature和子类型。电子邮件的安全性2.2. S/MIME清澈签名(清澈签名(Clear Signing)示例示例Content-Type: multipart/signed;protocol=application/pkcs7-signature;micalg=sha1; boundary=boundary42-boundary42Content-Type: text/plainThis is a clear-signed message.-boundary42Content-T
45、ype: application/pkcs7-signature; name=smime.p7sContent-Transfer-Encoding: base64Content-Disposition: attachment; filename=smime.p7sghyHhHUujhJhjH77n8HHGTrfvbnj756tbB9HG4VQpfyF467GhIGfHfYT64VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756tbB9HGTrfvbnjn8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfHfYT6ghyHhHUujpfyF47GhIGfHfYT64VQbnj756-boundary42- 电子邮件的安全性2.2. S/MIME注册请
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能化地下车库综合施工及配套设施安装合同
- 2025年度高端住宅房产经纪代理服务合同书
- 自动驾驶卡车在物流配送中的无人驾驶车辆续航能力提升报告
- 2025别墅区物业业主委员会选举与运作合同
- 2025版民营中小企业劳动合同培训课程与服务包
- 2025年度带抵押权的二手房买卖合同范本
- 2025年度创意园区商铺租赁与创意孵化服务合同
- 2025版智能交通管理系统软件销售及运营合作协议
- 2025年度工程建设项目施工合同补充协议范本
- 2025年度石材家居装饰材料销售合同
- 2025年中国数据库市场研究报告
- 酒精戒断综合症治疗方案讲课件
- 工程造价培训用课件
- 储能消防培训课件
- 混凝土浇筑作业平台承重验算
- JG/T 220-2016铜铝复合柱翼型散热器
- 美乐家退会员终止协议书
- 情侣间恋爱合同协议书
- 会务服务技能试题及答案
- 城市轨道交通施工机械设备管理措施
- 《2023 AHA心肺复苏与心血管急救指南》解读
评论
0/150
提交评论