GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf

上传人:yyf 文档编号:3761582 上传时间:2019-09-23 格式:PDF 页数:20 大小:1.29MB
返回 下载 相关 举报
GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf_第1页
第1页 / 共20页
GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf_第2页
第2页 / 共20页
GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf_第3页
第3页 / 共20页
GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf_第4页
第4页 / 共20页
GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf_第5页
第5页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf》由会员分享,可在线阅读,更多相关《GB-Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf(20页珍藏版)》请在三一文库上搜索。

1、I C S 3 5 . 1 0 0 . 7 0一一 L”荡摹 中华人民共和国国家标准化指导性技术文件 G B / Z 1 9 7 1 7 -2 0 0 5 基于多用途互联网邮件扩展( MI ME ) 的 安 全 报 文 交 换 S e c u r e me s s a g e i n t e r c h a n g e b a s e d o n Mu l t i p u r p o s e I n t e r n e t Ma i l E x t e n s i o n s 2 0 0 5 - 0 4 - 1 9发布2 0 0 5 - 1 0 - 0 1 实施 率 督黔 M 瓣 譬 O 臀臀

2、M+ w M 4 k R f M 发 布 c s / z 1 9 7 1 7 -2 0 0 5 前言 本指导性技术文件主要参照 I n t e r n e t 工程任务组提出的 R F C 2 6 3 0密码报文语法 、 R F C 2 6 3 3 S / MI ME报文规范 第3 版和R F C 2 6 3 4增强的S / MI ME安全服务制定的。 本指导性技术文件的附录 A是资料性附录。 本指导性技术文件由中华人民共和国信息产业部提出。 本指导性技术文件由全国信息安全技术标准化技术委员会归口。 本指导性技术文件起草单位: 中国电子技术标准化研究所 。 本指导性技术文件主要起草人: 吴志刚

3、、 赵著华 、 王颜尊。 本指导性技术文件仅供参考。 标准下载网() G B / Z 1 9 7 1 7 -2 0 0 5 引言 I n t e r n e t 的电子邮件在传输中广泛使用简单邮件传输协议( 即S MT P ) , 而S MT P却未提供加密服 务。攻击者可在邮件传输中截获数据, 并能将邮件中的文本格式、 非文本格式的二进制数据( 如: . e x e 文件) 进行轻松地还原。I n t e r n e t 电子邮件面临着各种安全威胁( 如信息泄露 、 冒充身份等) 。 安全电子邮件能够提供信息加密、 身份鉴别、 内容完整性、 机密性及抗抵赖性等安全服务。目前 , I n t

4、e r n e t 工程任务组研究制定的安全多用途互联网邮件扩展( S / MI ME ) 规范已成为安全电子邮件的重 要支撑标准。S / MI ME系列规范主要采用单向散列算法和公开密钥基础设施( P K I ) 来实现数据加密和 数字签名, 从而保证邮件的安全性。 本指导性技术文件给出了 S / MI ME系列规范的关键 内容, 便于对 S / MI ME系列规范的深人分析 及相关产品的开发。 本指导性技术文件凡涉及密码相关 内容, 按国家有关法规实施。 本指导性技术文件 中所引用的 MD 5 , S H A - 1 , D S S , R S A, D E S , R C 2 , D H

5、 密码算法等均为举例 说明。 标准下载网() G B / Z 1 9 7 1 7 -2 0 0 5 基于多用途互联网邮件扩展( MI ME ) 的 安 全 报 文 交 换 1 范 围 本指导性技术文件阐述了安全发送和接收多用途互联网邮件扩展( MI ME ) 数据的基本方法( 即安 全多用途互联网邮件扩展, S / MI ME ) 。该方法基于广泛使用的多用途互联 网邮件扩展协议( MI ME ) , 向各种 I n t e r n e t 报文应用提供鉴别、 报文的完整性、 抗抵赖性 、 机密性等多种安全服务。传统的邮件用 户代理使用该方法可以向所发送的报文增加各种加密服务 , 并能够有效处

6、理所收报文中的加密服务。 本指导性技术文件还描述了 S / MI ME的增强安全服务。 本指导性技术文件不限于电子邮件, 它还可以用于任何传输 MI ME数据的传输机制 ( 如超文本传 输协议, HT T P ) 。 该规范利用了MI ME面向对象的特点, 使得在各种传输系统中能够交换安全报文。 2 规范性引用文件 下列文件中的条款通过本指导性技术文件的引用而成为本指导性技术文件的条款。凡是注 日 期的 引用文件, 其随后所有的修改单( 不包括勘误的内容) 或修订版均不适用于本指导性技术文件 , 然而 , 鼓 励根据本指导性技术文件达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的

7、引用 文件 , 其最新版本适用于本指导性技术文件。 R F C 2 0 4 5 多用途 I n t e r n e t 邮件扩展( MI ME ) 第 1 部分I n t e r n e t 报文体的格式 R F C 2 6 3 0 密码报文语法 R F C 2 6 3 3 S / MI ME 报文规范第3 版 R F C 2 6 3 4 增强的 S / MI ME安全服务 3 术语、 定义和缩略语 3 . 1 术语和定义 下列术语和定义适用于本指导性技术文件 。 3 . 1 1 证书c e r t i f ic a t e 采用数字签名将实体的可辨别名与公开密钥捆绑起来的类型。 3 . 1

8、. 2 接收代理 r e c e i v i n g a g e n t 一种软件, 它解释并处理 S / MI ME C MS 对象及含有 C MS 对象的 MI ME主体部分。 3 . 1 . 3 发送代理s e n d in g a g e n t 一种软件, 它创建 S / MI ME C MS 对象和创建含有 C MS 对象的 MI ME主体部分。 3 . 1 . 4 多用途互联网邮件扩展Mu l t ip u r p o s e I n t e r n e t Ma i l E x t e n s i o n s ( MI ME ) MI ME容许以下格式文档作为报文: a ) 非

9、A S C I I 码的字符集的文本报文体; b ) 非文本报文体的不同格式的扩展集 ; 标准下载网() G B / Z 1 9 7 1 7 -2 0 0 5 c ) 多部分的报文体; d ) 非A S C I I 码的字符集的文本头信息。 3 . 1 . 5 S / MI ME代理S / MI ME a g e n t 一种用户软件 , 它可以是接收代理或发送代理 , 或两者都是。 3 . 2 缩略语 下列缩略语适用于本指导性技术文件 。 C MS 密码报文语法 E S S 增强安全服务 MI ME 多用途互联网邮件扩展 S / MI ME 安全多用途互联网邮件扩展 4 密码报文语法( C

10、MS ) 4 . 1 概 述 密码报文语法( C MS ) 是以数字方式签名、 处理 、 鉴别或加解密任意报文的语法, 并用来描述保护数 据的封装语法。它支持数字签名、 报文鉴别代码和加密。这种语法允许多重封装 , 即一个封装包可以嵌 套另一个包 。同样 , 一方可以用数字方式给一些先前已经封装过的数据签名。它还允许任意属性( 如签 名时间) 同报文内容一起被签名 , 以及允许其它属性( 如防范签名) 与签名相关联。密码报文语法可以支 持各种实现基于证书的密钥管理功能的体系结构。R F C 2 6 3 0 对密码报文语法( C MS ) 有详细的规定。 密码报文语法( C MS ) 普遍支持许

11、多不同的内容类型。R F C 2 6 3 0 规定了一种保护内容: C o n t e n t I n - f o e C o n t e n t I n f 。 可封装一个已标识的内容类型 , 这个 已标识的类型可 以进一步进行封装。R F C 2 6 3 0 规定了六种内容类型: 数据、 签名数据、 包装数据、 摘要数据、 加密数据和鉴别数据。 4 . 2 密码报文语法基本结构 密码报文语法( C MS ) 将内容类型标识符与内容相关联起来。这种句法包含抽象语法记法 1 ( A S N . 1 ) 类型的C o n t e n t I n f o 字段: C o n t e n t I n

12、 f o: : S E Q U E N C E c o n t e n t T y p e C o n t e n t T y p e , c o n t e n t 0 . E X P L I C I T A N Y D E F I N E D B Y c o n t e n t T y p e C o n t e n t T y p e: : O B J E C T I D E N T I F I E R C o n t e n t I n f o字段有以下含义: c o n t e n t T y p e 表示相关联内容的类型。它是一个对象标识符, 是 由定义内容类型的机构分配的唯 一整

13、数串。 c o n t e n t 是关联的内容。内容的类型可以由 c o n t e n t T y p e 唯一确定 。 5 安全多用途互联网邮件扩展(( S / MI ME ) 5 1 概述 安全多用途互联网邮件扩展( S / MI ME ) 规定 了向 MI ME数据增加加密签名和加密服务的方法。 MI ME规范规定了 I n t e r n e t 报文内容类型的通用结构 , 并对新的内容类 型应用提供扩充机制。R F C 2 6 3 3 则定义了如何按照C MS 创建经加密的MI ME主体部分, 以及用于传输加密MI ME主体部分的 a p p l i c a t i o n /

14、p k c s 7 m i m e 内容类型。R F C 2 6 3 3 还讨论了如何使用 MI ME - S E C U R E所定义的m u l t i p a r t / s i g n e d 的MI ME类型来传输S / MI ME签名报文, 同时还定义了另一种用于传输S / MI ME签名报文的 a p p l i c a t i o n / p k c s 7 - s i g n a t u r e 的MI ME类型。为了创建S / MI ME报文, S / MI ME代理必须遵守 R F C 标准下载网() G B / Z 1 9 7 1 7 - 2 0 0 5 2 6 3 3

15、 及R F C 2 6 3 。 中所列的其他规范。由于S / MI ME系统可能涉及软件而不是传统的I n t e r n e t 邮件 客户端, 因此接收代理与发送代理的要求是不同的。任何传输 MI ME数据的系统都能采用 S / MI ME , 例如发送加密报文的自动进程可能完全不能接收加密的报文。 5 . 2 支持 S / MI ME的 C MS 选项 在内容和算法支持方面, C MS 考虑了各种各样的选项 。为了使所有支持 S / MI ME版本 3 的实现 方案间达到基本的互操作性, R F C 2 6 3 3 提出了一些支持要求和建议。 5 . 2 . 1 摘要算法标识符 发送代理

16、和接收代理必须支持同一个算法。这里以S H A - 1 为例。为了提供对采用MD 5 摘要的 S / MI ME版本 2 签名数据对象的向后兼容性, 接收代理应支持 MD 5 0 5 . 2 . 2 签名算法标识符 发送代理和接收代理必须支持同一个数字签名算法, 这里以 D S S为例。发送代理和接收代理应支 持在D S S中定义的i d - d s a , 算法参数不必存在。接收代理应支持P K C S - 1 所定义的r s a E n c r y p t io n , 发 送代理应支持r s a E n c r y p t i o n 。采用用户私有密钥对出去的报文进行签名, 并在密钥生

17、成期间确定私有 密钥的长度。 注: S / M I M E版本 2 客户只能够验证采用 r s a E n c r y p t i o n 算法的数字签名。 5 . 2 . 3 密钥加密算法标识符 发送代理和接收代理必须支持同一个密钥交换算法, 这里以 D i f f ie - H e l l m a n 算法为例。接收代理 应支持r s a E n c r y p t io n 。进人的加密报文包含着多个对称密钥, 这些密钥可以通过用户的私有密钥来解 密, 在密钥生成期间确定私有密钥的长度。发送代理应支持r s a E n c r y p t io n , 注: S / M I ME版本 2

18、 的客户只能解密使用 r s a E n c r y p t i o n 算法的内容加密密钥。 5 . 2 . 4 通 用语法 C MS 规定了多种内容类型, 其中 S / MI ME目 前可用的只有数据、 签名数据及包装的数据这三种内 容类型。 5 . 2 . 4 . 1 数据内容类型 发送代理必须使用i d - d a t a 内容类型标识符来指明那些已采用安全服务的报文内容。例如, 当对 MI ME数据采用数字签名时, C MS s ig n e d D a t a e n c a p C o n t e n t I n f o e C o n t e n t T y p e 必须包括i

19、 d - d a t a 对象 标识符, 并且MI ME内容必须被存放在S i g n e d D a t a e n c a p C o n t e n t I n f o e C o n t e n t 的八位位组串中( 除非 发送代理使用多部分 签字, 此时 。 C o n t e n t 可以不存在) 。另一个例子, 当对 MI ME数据进行加密时 , C M S E n v e lo p e d D a t a e n c r y p t e d C o n t e n t I n f o C o n t e n t T y p e 必须包含i d - d a t a 对象标识符,

20、并且加密的 MI ME内容必须存放在 e n v e lo p e d D a t a e n c r y p t e d C o n t e n t I n f o e n c r y p t e d C o n t e n t 的八位位组串中。 5 . 2 . 4 . 2 签名数据内容类型 发送代理必须对应用数字签名的报文使用签名数据内容类型, 或者在用于传输无签名信息的证书 的退化情况下必须使用签名内容类型。 5 . 2 . 4 . 3 包装数据内容类型 该内容类型用来向报文提供隐私性保护。发送者必须能够获得应用该服务所涉及的每一报文接收 者的公开密钥。 5 . 2 . 5 属性签名者信

21、息类型 S i g n e r I n f o 类型允许同签名一起包含无签名属性和签名属性。接收代理必须能够处理在此列出的 每个签名属性的零个或一个实例 。发送代理应在每个 S / MI ME报文中生成下列每个签名属性中一个 实例 : a ) s i g n m g T i m e ; b ) s M I ME C a p a b il i t ie s ; c ) s MI ME E n c r y p t i o n K e y P r e f e r e n c e。 G B / Z 1 9 7 1 7 -2 0 0 5 此外, 接收代理应能处理 s ig n i n g C e r t

22、 if ic a t e 属性内签名属性的零个或一个实例。发送代理应能在 每个 S / MI ME报文中生成 s ig n i n g C e r t i f i c a t e 签名属性的一个实例。以后可能会对这些属性的附加属 性和值进行定义 。接收代理应能通过友好的方式来处理那些它不识别的属性或值。那些含有此处未列 出的签名属性的发送代理应能向用户显示这些属性, 以便用户知道被签名数据的所有属性。 5 . 2 . 6 S ig n e r I d e n t i f i e r S ig n e r I n f o 类型 S / MI ME版本3 要求使用S i g n e r I n f

23、 o 版本 1 , 即对于 S i g n e r I d e n t i f i e r 必须使用i s s u e r A n d S e r ia l - N u m b e r 的选项。 5 . 2 . 7 内容加密运算标识符 发送代理和接收代理必须支持采用同一数字加密算法。这里以D E S E D E 3 C B C为例进行加密和 解密, 以下简称“ t r i p l e D E S “ 。接收代理应支持以R C 2 为例的兼容算法进行加密和解密。 5 . 3 创建 S / MI ME报文 S / MI ME报文是 MI ME主体和 C MS对象的组合 , 可以使用几种 MI ME

24、类型和几种 C MS对象 。 被保护的数据总是规范的 MI ME实体 , 并将 MI ME实体和其他数据( 如证书和算法标识符) 交给产生 C MS对象的 C MS 处理设施, C MS 对象最终被包装在 MI ME中。S / MI ME的增强安全服务规范 ( 见 R F C 2 6 3 4 ) 提供 了如何嵌套 的实例及构造安全的 S / MI ME报文的方法。R F C 2 6 3 4 提供了一个如何采 用m u l t i p a r t / s i g n e d和签名的a p p l i c a t io n / p k c s 7 - m i m e 构成一个三重隐蔽包装的S /

25、MI ME报文的实 例。S / MI ME为e n v e l o p e d - o n l y 数据提供了一种格式, 为s i g n e d - o n l y 数据提供了几种格式, 并为签名 及包装的数据提供了几种格式。 5 . 3 . 1 准备签名或包装用的 M I M E 实体 S / MI ME被用于安全 MI ME实体。MI ME实体可能是 s u b p a r t 、 或是报文的 s u b p a r t s 、 或是带有其 所有子部分的整个报文。作为整个报文的 MI ME实体 只能包括 MI ME头和 MI ME主体, 而不包括 R F C 8 2 2 的头。注意, S

26、 / MI ME还能用于I n t e r n e t 邮件以外的应用所使用的安全MI ME实体。本指导 性技术文件描述的安全的MI ME实体可认为是“ 内部” MI ME实体, 即它可能是大的MI ME报文中“ 最 内部” 的对象, 在5 . 3 . 2 , 5 . 3 . 4 和其他部分描述了将“ 外部” MI ME实体处理为C MS对象。MI ME规范 给出了准备 MI ME实体的规程。在签名时可使用带有某些附加限制的相同规程。在此重复了 MI ME 规范中的规程描述 , 本条还描述了一些附加的要求。 对于创建签名的、 包装的或签名且包装的 MI ME实体应采用单个的规程 。为了预防邮件

27、传输期间 可能出现的已知问题, 推荐采用某些附加步骤, 这些步骤对于采用m u l t i p a r t / s i g n e d 格式的清晰签名尤 为重要。建议对包装的报文或签名且封装的报文实施这些附加步骤, 以保证该报文能够无修改地转发 到任何环境。 第一步 : 依据本地的约定准备 MI ME实体。 第二步 : 将 MI ME实体的叶子部分转换为规范的形式。 第三步 : 对离开的 MI ME实体应用适当的传送编码 。 当接收到一个 S / MI ME报文时, 要处理对报文所附带的安全服务, 该结果就是 MI ME实体 。该 MI ME实体将传递给具备MI ME处理能力的用户代理, 由该

28、代理将该MI ME实体进行解码和表示后 提交给用户或接收应用程序。有关准备签名或包装用的MI ME实体的详细要求见R F C 2 6 3 3 0 5 . 3 . 2 a p p l i c a t i o n / p k c s 7 - m i m e 类型 a p p l ic a t i o n / p k c s 7 - m i m e 类型被用来携带几种类型e n v e l o p e d D a t a 和s i g n e d D a t a 的C MS 对象。本 条描述了a p p l ic a t i o n / p k c s 7 - m i m e 类型的一般特性: 如果

29、e C o n t e n t T y p e 是i d - d a t a , 携带的C MS 对象通 常包含了按5 . 3 . 1 所描述方式准备的MI ME实体; 当e C o n t e n t T y p e 包括了不同的值时, 可以携带其它 内容。 由于 C MS 对象是二进制数据, 大多数情况下 6 4 基 的传送编码是适合的, 尤其是采用 S MT P传输 方式。所用的传送编码依赖于被发送对象的传输方式, 它不是MI ME类型的特征。 G B / Z 1 9 7 1 7 -2 0 0 5 注意 : 本讨论涉及的 C MS对象或“ 外部” MI ME实体的传送编码 , 完全不同于

30、由 C MS 对象保护的 MI ME实体的传送编码, 且与其无关。因为a p p l i c a t io n / p k c s 7 - m i m e 对象有几种类型, 所以 发送代理应该尽可能地帮助接收代理在无需对对象的 A S N . 1 进行解码的条件下就能了解 对象的内容。所有的 a p p l i c a t io n / p k c s 7 - m i m e 对象的 MI ME头应该包括“ s m i m e - t y p e ” 可选 参数。 5 . 3 . 3 创建E n v e l o p e d - o n l y 报文 本条描述了对 MI ME实体只包装不签名的格

31、式 。值得注意的是, 发送只包装不签名的报文不能提 供数据完整性 , 这可能是通过经处理的报文将依然有效而可能改变了其意义的方式来替换密文。 第一步: 按照 5 . 3 . 1 准备将要包装的 MI ME实体 。 第二步: 将 MI ME实体和其他所需的数据处理为 e n v e l o p e d D a t a 类型的C MS对象。除了为每个接 收方加密c o n t e n t - e n c r y p t io n密钥的副本外, 还应该为发起方加密内容加密密钥的副本并 将该副本包含于e n v e l o p e d D a t a 中。 第三步: 将C MS对象插入到一个a p p

32、 l i c a t i o n / p k c s 7 - m ime MI ME实体中。 e n v e l o p e d - o n l y 报文的s m i m e - t y p e 参数为“ e n v e l o p e d d a t a “ , 该类型报文的文件扩展是“ . p 7 m“ o 5 . 3 . 4 创建只有签名的报文 对于定义的 S / MI ME签名报文存在两种格式, 即带有 S i g n e d D a t a的 a p p l i c a t i o n / p k c s 7 - m i m e 和 m u l t i p a r t / s ig

33、n e d 。发送代理应首选m u lt i p a r t / s i g n e d 格式, 但接收代理应都能处理这两种格式。 5 . 3 . 4 . 1 选择S i g n e d - o n l y 报文格式 当选择了特定的s ig n e d - o n l y 格式时, 由于该格式取决于所有接收者的能力, 同时该格式还取决于 带有能验证该签名的 S / MI ME设施的接收者与不带有能观察该报文的 S / MI ME软件的接收者的相对 重要性, 因此不存在严格的规则 。 不论接收者是否拥有 S / MI ME软件 , 该接收者都能观察到查看采用 mu l t ip a r t /

34、s ig n e d 格式签名的 报文。无论接收者正使用本地 MI ME用户代理或它们拥有由网关所转换的报文, 这些报文还能被观察 到。在该上下文中, “ 观察到” 表示处理报文的能力, 在实质上就像该报文不是一个签名报文, 包含其他 MI ME结构。接收方不能观察到采用 s i g n e d D a t a 格式签名的报文, 除非接收方拥有S / MI ME设施。 但是, 如果接收方拥有S / MI ME设施, 通常能够验证这些报文是否在传输中没被更改。 5 . 3 . 4 . 2 采用带有S i g n e d D a t a 的a p p l ic a t i o n / p k c

35、s 7 - m im e 的签名 这种签名格式使用 a p p l ic a t i o n / p k c s 7 - m i m e MI ME类型。创建该格式的步骤如下: 第一步: 按照 5 . 3 . 1 条准备 MI ME实体 。 第二步: 将MI ME实体和其他所需的数据处理为s i g n e d D a t a 类型的C MS 对象。 第三步: 将C MS 对象插入到一个a p p l ic a t i o n / p k c s 7 - m ime MI ME实体中。 采用带有S i g n e d D a t a 的a p p l i c a t i o n / p k c

36、 s 7 - m i m e 报文的s mime - t y p e 参数为“ s i g n e d - d a t a “ , 该类型 报文的 文件扩展是“ . p 7 m “ o 5 . 3 . 4 . 3 采用 m u l t ip a r t / s i g n e d 格式的签名 本格式是清晰签名格式 。不带有任何 S / MI ME或 C MS 处理设施的接收方能够观察该报文。它使 用了m u l t i p a r t / s i g n e d M I ME 类型。 Mu l t ip a r t / s ig n e d MI ME 类型有两部分。 第一部分包含所签名的 M

37、I ME实体; 第二部分包括“ 分离签名” 的C MS S ig n e d D a t a 对象, 该对象中不存在e n c a p C o n t e n t I n f o e C o n t e n t 字段。 5 . 3 . 5 签名和加密 为了完成签名和加密, 可以嵌套任何s i g n e d - o n l y 格式和e n c r y p t e d - o n l y 格式。由于上述的格式全 部是 MI ME实体, 并且这些格式都能保护 MI ME实体 , 所以允许这种嵌套方式。S / MI ME实现方案必 须能够在接收方计算机合理有限的资源内接收和处理任意嵌套的 S /

38、MI ME 。或者首先对报文进行签 名, 或者首先对报文进行包装 , 由实施者和用户来决定选择何种方式。当首先进行签名时, 签名人就通 过包装被安全地隐藏起来了。当首先进行包装 , 签名人是暴露的, 但无需去除包装就可能验证签名。 G B / Z 1 9 7 1 7 -2 0 0 5 无论选择首先签名还是首先加密都存在安全分歧。对于先加密后签名报文的接收方能够确认加密 块没被改变, 但不能确定签名者和未加密报文内容之间的关系。对于先签名后加密报文的接收方能够 假设签名的报文本身未被改变, 但是某些细致的攻击者可能已更改了加密报文的未经鉴别的部分。 5 . 3 . 6 创建C e r t i f

39、 i c a t e s - o n l y 报文 C e r t i f i c a t e s - o n ly 报文或c e r t if i c a t e s - o n l y MI ME实体用来传输证书( 诸如对注册请求的响应) , 这 种格式也能够用来传输证书撤销列表。 第一步: 要使生成s ig n e d D a t a 类C MS 对象的C MS 生成进程能够使用证书, s ig n e d D a t a e n c a p C o n - t e n t I n f o e C o n t e n t 字段必须不存在, 并且s i g n e r I n f o s

40、字段必须为空。 第二步: 将C MS s i g n e d D a t a 对象装人a p p l i c a t io n / p k c s 7 - m i m e MI ME实体中。 c e r t s - o n l y 报 文的s m i m e - t y p e 参数 是 “ c e r t s - o n l y “ 。 该 类型 报 文 的 文 件 扩 展 是 “ . p l c “ , 5 . 3 . 7 注册请求 对报文进行签名的发送代理必须拥有签名证书, 以便接收代理能够验证签名。 5 . 3 . 8 标识 S / MI ME报文 因为 S / MI ME考虑到在非

41、MI ME环境中的互操作性, 采用了几种不同的机制来携带类型信息 , 它 成为标识S / MI ME报文的一点点困难。表1 列出了判断报文是否是S / MI ME报文的准则。如果某报 文符合下列要求, 则它可认为是S / MI ME报文。表1 中的文件后缀取自内容类型头中的“ 名称” 参数或 内容安排头中“ 文件名” 参数, 给出文件后缀的这些参数未作为参数段的部分来列出。 表 1 S / MI ME报文判断准则 MIME AN: application/IOr: any3C4A0: anyMIME AM: multipart/si;#It : protocol= “applicat3C#fr

42、,: anyMIME AN: application/4Oft: any3C4fail: p7m, p7s, plc一 州 5 . 4 证书处理 接收代理必须提供某些证书检索机制, 以便获得访问数字信封接收方证书。本文件不涉及 S / MI ME代理如何处理证书, 而只是描述在证书确认后或拒收后该代理执行什么。对于最初的 S / MI ME 推广应用, 用户代理最低的要求是能够为期望的接收方 自 动生成报文, 该接收方请求在签名的返回报文 中的接收方证书。接收代理和发送代理也应提供一种允许用户为通信者“ 存储和保护” 证书的机制 , 通 过这种机制可以保证以后可以检索这些证书。 5 . 4 .

43、 1 密钥对的生成 如果S / MI ME代理需要生成一个密钥对, 那么S / MI ME代理或某些相关的管理性实用程序或功 能必须能以用户的名义生成分开的 D H 和 D S A公开密钥 私有密钥对。每一密钥对必须根据非确定性 随机输入 R A N D O M 的良好来源来生成, 并且私有密钥必须以安全方式加以保护。 如果 S / MI ME代理需要生成一个密钥对 , 那么 S / MI ME代理或相关的管理性实用程序或功能应 生成 R S A密钥对。 6 S / MI ME的增强安全服务 6 . 1 概述 S / MI ME可提供下列四种可选的增强安全服务: a ) 签名收据; G B /

44、 Z 1 9 7 1 7 -2 0 0 5 b ) 安全标签; C安全邮件发送列表及管理; d ) 签名证书属性。 6 . 1 . 1 签名收据 报文始发者可以请求来自报文接收者的签名收据。通过把r e c e i p t R e q u e s t 属性增加到请求收据的 S ig n e r I n f o 对象的S i g n e d A t t r i b u t e s 字段中 来指出 该请求。当 请求这样做时, 接收用户代理软件应自 动 地创建签名的证书, 并按照邮件发送列表扩充选项, 本地安全策略和配置选项返回该收据。返回签名收 据给始发者提供了报文交付证明, 并且使得始发者可向第

45、三方表明接收者曾验证过初始报文的签名。 通过签名已把该收据与初始报文捆绑起来 ; 因此, 仅当要签名报文时, 才可以请求该服务。收据发送者 也可以有选择地加密某一收据, 以便在收据发送者和收据接收者之间提供机密性 。 收据请求可以指出这些收据被发送给许多地点, 不仅仅发送给该发送者 在事实上, 收据请求可能 指出这些收据不宜都发给该发送者) 。为了验证收据 , 收据的接收者必须是初始报文的始发者或接收 者。因此, 该发送者应不请求将收据发送给没有准确的报文副本的任何人。 由于收据涉及双方的交互, 收据这一术语有时可能存在混淆。因此 , 在本章中, “ 发送者” 就是发送 包含请求收据的初始报文

46、的代理。“ 接收者” 就是收到报文和生成收据的一方。 6 . 1 . 2 安全标签 安全标签是通过S / MI ME封装来保护的有关敏感内容的安全信息的集合。“ 授权” 是向用户授予 访问某个对象的权利和 或特权的行为。“ 访问控制” 是实施这些权 限的手段。安全标签中的敏感信息 可以与用户的权限相比较 , 以确定用户是否被允许访问通过 S / MI ME封装所保护的内容。安全标签可 以用于其他用途, 诸如路由选择信息的来源。这些标签通常描述了分等级的若干级别( “ 秘密的” , “ 机密 的” , “ 受限制的” 等等) 或者这些标签是基于角色的, 描述哪种人可以看到该信息( “ 患者” 的

47、保健小组, 医 疗账单代理, “ 不受限制的” 等等) 。 6 . 1 . 3 安全邮件发送列表及管理 发送代理必须为加密报文的每个接收者创建特定于接收者的数据结构。这个过程可能损害发送给 大量接收者的报文性能。因此, 通常要求邮件列表代理( ML A) 对于每个接收者可以采用单个报文或执 行特定于接收者的加密。 对报文始发者来说, ML A似乎是常规的报文接收者 , 但是 , ML A担当邮件列表( ML ) 的报文扩充 点。报文发送者将报文送给 ML A, 然后, 将报文再分发给 ML的成员。这个过程卸下了各个用户代理 按每个接收者的处理工作量, 并且便于更有效管理大量ML , ML是受M

48、L A服务的真实报文接收者, 该 ML A为邮件发送列表提供了密码服务和扩充服务。 除了对报文进行密码处理外, 安全邮件发送列表还必须防止邮件循环。邮件循环是指, 其中某一个 邮件发送列表是第二个邮件发送列表的成员 , 而第二个邮件发送列表又是第一个邮件发送列表的成员。 一个报文将按向各列表的所有其他成分发邮件的快速级联连续方式从某一个列表到达另一个列表。 为了防止邮件循环, ML A使用了三重隐蔽包装报文的外部签名的ml E x p a n s i o n H i s t o r y属性。 m l E x p a n s i o n H i s t o r y 属性在本质上是已经处理该报文的

49、所有ML A的列表。如果ML A看到了在该列 表中的它 自己的唯一实体标识符, 那么它就知道已经形成了一次循环, 并且它不会再向该列发送报文。 6 . 1 . 4 签名证书属性 令人们担心的事是, 要求 C MS S i g n e d D a t a 对象的签名者与 S ig n e d D a t a 对象的验证过程被捆绑起 来的证书不是以密码方式与该签名自身捆绑起来。本条也提出了对一组可能攻击的描述 , 这些攻击涉 及被替换的某一证书用来验证所要求的证书的签名 。针对可能的签名验证过程至少可以发起三种不同 的攻击, 其手法是替换签名验证过程中所使用的一个证书或多个证书。 a ) 第一种攻击涉及用某一证书替换另一证书。在这种攻击中, S ig n e d I n f 。中的证书签发者和序 列号被修改, 以便提供新的证书。在签名验证过程期间使用这个新 的证书。这种攻击的第 1 G B / Z 1 9 7 1 7 - - 2 0 0 5 个版本是一种简单的拒绝服务攻击, 其中, 无效证书替换了有效证书。当证书中的公开密钥不 再与签名该报文所使用的私有密钥相匹配时, 这就使该报文成为不可验证的。其第二个版本 是用某个有效证书替换

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1