GB Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf
《GB Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf》由会员分享,可在线阅读,更多相关《GB Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf(23页珍藏版)》请在麦多课文档分享上搜索。
1、ICS 35. 100.70 L 79 道自中华人民共和国国家标准化指导性技术文件GB/Z 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换2005-04-19发布Secure message interchange based on Multipurpose Internet Mail Extensions 2005-10-01实施中华人民共和国国家质量监督检验检疫总局也舍中国国家标准化管理委员会&叩GB/Z 19717-2005 目次前言.,. III 引言.凹1 范围2 规范性引用文件3 术语、定义和缩略语3. 1 术语和定义3.2 缩略语.24 密码报文语法(C
2、MS). 4. 1 概述.24.2 密码报文语法基本结构25 安全多用途互联网邮件扩展(S/MIME)25. 1 概述25.2 支持S/MIME的CMS选项35. 3 创建S/MIME报文.4 5.4 证书处理66 S/MIME的增强安全服务6.1 概述.6.2 三重隐蔽包装86.3 S/MIME增强安全服务和三重隐蔽包装附录A(资料性附录)用ASN.1描述的语法定义 12 参考文献. . . . . . . . ., . . ., . . ., . . ., . . . . . . .,. . 17 I GB/Z 19717一2005前言本指导性技术文件主要参照Internet工程任务组提出
3、的RFC2630密码报文语法、RFC2633 S/ MIME报文规范第3版和RFC2634增强的S/MIME安全服务制定的。本指导性技术文件的附录A是资料性附录。本指导性技术文件由中华人民共和国信息产业部提出。本指导性技术文件由全国信息安全技术标准化技术委员会归口。本指导性技术文件起草单位:中国电子技术标准化研究所。本指导性技术文件主要起草人:吴志刚、赵菁华、王颜尊。本指导性技术文件仅供参考。mu GB/Z 19717-2005 引Internet的电子邮件在传输中广泛使用简单邮件传输协议(即SMTP),而SMTP却未提供加密服务。攻击者可在邮件传输中截获数据,并能将邮件中的文本格式、非文本格
4、式的二进制数据(如:.exe 文件)进行轻松地还原。Internet电子邮件面临着各种安全威胁(如信息泄露、冒充身份等)。安全电子邮件能够提供信息加密、身份鉴别、内容完整性、机密性及抗抵赖性等安全服务。目前,Internet工程任务组研究制定的安全多用途互联网邮件扩展CS/MIME)规范已成为安全电子邮件的重要支撑标准。S/MIME系列规范主要采用单向散列算法和公开密钥基础设施(PKD来实现数据加密和数字签名,从而保证邮件的安全性。本指导性技术文件给出了S/MIME系列规范的关键内容,便于对S/MIME系列规范的深入分析及相关产品的开发。本指导性技术文件凡涉及密码相关内容,按国家有关法规实施。
5、本指导性技术文件中所引用的MD5,SHA-l , DSS、RSA、DES、RC2,DH密码算法等均为举例说明。N 1 范围基于多用途互联网邮件扩展(MIME)的安全报文交换GB;Z 19717一2005全多用途互联网邮件扩展,S/向各种Internet报文应用提户代理使用该方法可以向互联网邮件扩展协议(MIME), 种安全服务。传统的邮件用所收报文中的加密服务。输协议,HTTP)。2 规范性引用文励根据本指导RFC 2045 RFC 2630 RFC 2633 RFC 2634 3.1 术语和定义下列术语和定义3. 1. 1 证书certificate 采用数字签名将实体的3. 1. 2 接收
6、代理receiving agent 输机制(如超文本传够交换安全报文。凡是注日期的术文件,然而,鼓不注日期的引用一种软件,它解释并处理S;MIMECMS对象及含有CMS对象的MIME主体部分。3.1.3 发送代理sending agent 一种软件,它创建S/MIMECMS对象和创建含有CMS对象的MIME主体部分。3. 1. 4 多用途互联网邮件扩展Multipurpose Internet Mail Extensions(MIME) MIME容许以下格式文挡作为报文:a) 非ASCII码的字符集的文本报文体;b) 非文本报文体的不同格式的扩展集;G/Z 19717-2005 c) 多部分的
7、报文体;d) 非ASCII码的字符集的文本头信息。3.1.5 S/MIME代理S/MIME agent 一种用户软件,它可以是接收代理或发送代理,或两者都是。3.2 缩略语下列缩略语适用于本指导性技术文件。CMS 密码报文语法ESS 增强安全服务MIME 多用途互联网邮件扩展S/MIME 安全多用途互联网邮件扩展4 密码报文语法(CMS)4. 1 概述密码报文语法(CMS)是以数字方式签名、处理、鉴别或加解密任意报文的语法,并用来描述保护数据的封装语法。它支持数字签名、报文鉴别代码和加密。这种语法允许多重封装,即一个封装包可以嵌套另一个包。同样,一方可以用数字方式给一些先前已经封装过的数据签名
8、。它还允许任意属性(如签名时间)同报文内容一起被签名,以及允许其它属性(如防范签名)与签名相关联。密码报文语法可以支持各种实现基于证书的密钥管理功能的体系结构。RFC2630对密码报文语法CCMS)有详细的规定。密码报文语法(CMS)普遍支持许多不同的内容类型。RFC2630规定了-种保护内容:Contentln fo 0 Contentlnfo可封装一个巳标识的内容类型,这个己标识的类型可以进一步进行封装。RFC2630 规定了六种内容类型:数据、签名数据、包装数据、摘要数据、加密数据和鉴别数据。4.2 密码报文语法基本结构密码报文语法(CMS)将内容类型标识符与内容相关联起来。这种句法包含
9、抽象语法记法1(ASN.1)类型的Contentlnfo宇段:ContentInfo : = SEQUENCE contentType ContentType, content 0. EXPLICIT ANY DEFINED BY contentType ContentType : = OBECT IDENTIFIER Contentlnfo宇段有以下含义:contentType表示相关联内容的类型。它是一个对象标识符,是由定义内容类型的机构分配的唯一整数串。content是关联的内容。内容的类型可以由contentType唯一确定。5 安全多用途互联网邮件扩展情/MIME)5. 1 概述安全
10、多用途互联网邮件扩展CS/MIME)规定了向MIME数据增加加密签名和加密服务的方法。MIME规范规定了Internet报文内容类型的通用结构,并对新的内容类型应用提供扩充机制。RFC2633则定义了如何按照CMS创建经加密的MIME主体部分,以及用于传输加密MIME主体部分的application/ pkcs7 mime内容类型。RFC2633还讨论了如何使用MIME-SECURE所定义的multipart/signed的MIME类型来传输S/MIME签名报文,同时还定义了另一种用于传输S/MIME签名报文的application/ pkcs7 -signa ture的MIME类型。为了创建
11、町MIME报文,S/MIME代理必须遵守RFCGB/Z 19717-2005 2633及RFC2630中所列的其他规范。由于S/MIME系统可能涉及软件而不是传统的Internet邮件客户端,因此接收代理与发送代理的要求是不同的。任何传输MIME数据的系统都能采用S/MIME,例如发送加密报文的自动进程可能完全不能接收加密的报文。5.2 支持S/MIME的CMS选项在内容和算法支持方面,CMS考虑了各种各样的选项。为了使所有支持S/MIME版本3的实现方案间达到基本的互操作性,RFC2633提出了一些支持要求和建议。5.2. 1 摘要算法标识符发送代理和接收代理必须支持同一个算法。这里以SHA
12、-l为例。为了提供对采用MD5摘要的S/MIME版本2签名数据对象的向后兼容性,接收代理应支持MD505.2.2 签名算法标识符发送代理和接收代理必须支持同一个数字签名算法,这里以DSS为例。发送代理和接收代理应支持在DSS中定义的id-dsa,算法参数不必存在。接收代理应支持PKCS-l所定义的rsaEncryption,发送代理应支持rsaEncryption。采用用户私有密钥对出去的报文进行签名,并在密钥生成期间确定私有密钥的长度。注:S/MIME版本2客户只能够验证采用rsaEncryption算法的数字签名。5.2.3 密钥加密算法标识符发送代理和接收代理必须支持同一个密钥交换算法,
13、这里以Diffie-H ellman算法为例。接收代理应支持rsaEncryption。进入的加密报文包含着多个对称密钥,这些密钥可以通过用户的私有密钥来解密,在密钥生成期间确定私有密钥的长度。发送代理应支持rsaEncryption。注:S/MIME版本2的客户只能解密使用rsaEncryption算法的内容加密密钥。5.2.4 通用语法CMS规定了多种内容类型,其中S/MIME目前可用的只有数据、签名数据及包装的数据这三种内容类型。5.2.4.1 数据内容类型发送代理必须使用id-data内容类型标识符来指明那些已采用安全服务的报文内容。例如,当对MIME数据采用数字签名时,CMSsign
14、edData encapContentInfo eContentType必须包括id-data对象标识符,并且MIME内容必须被存放在SignedDatae配apContentlnfoeContent的八位位组串中(除非发送代理使用多部分/签字,此时eContent可以不存在)。另一个例子,当对MIME数据进行加密时,CMS EnvelopedData encryptedContentInfo ContentType必须包含id-data对象标识符,并且加密的MIME内容必须存放在envelopedDataencryptedContentInfo encryptedContent的八位位组串中
15、。5.2.4.2 签名数据内窑类型发送代理必须对应用数字签名的报文使用签名数据内容类型,或者在用于传输无签名信息的证书的退化情况下必须使用签名内容类型。5.2.4.3 包装数据内容类型该内容类型用来向报文提供隐私性保护。发送者必须能够获得应用该服务所涉及的每一报文接收者的公开密钥。5.2.5 属性签名者信息类型Signerlnfo类型允许同签名一起包含无签名属性和签名属性。接收代理必须能够处理在此列出的每个签名属性的零个或一个实例。发送代理应在每个S/MIME报文中生成下列每个签名属性中一个实例:a) signingTime; b) sMIMECapabilities; c) s岛11肌1EE
16、ncryptionKeyPreference。3 GB/Z 19717-2005 此外,接收代理应能处理signingCertificate属性内签名属性的零个或一个实例。发送代理应能在每个S/MIME报文中生成signingCertificate签名属性的一个实例。以后可能会对这些属性的附加属性和值进行定义。接收代理应能通过友好的方式来处理那些它不识别的属性或值。那些含有此处禾列出的签名属性的发送代理应能向用户显示这些属性,以便用户知道被签名数据的所有属性。5.2.6 Signerldentifier Signerlnfo类型S/MIME版本3要求使用Signerlnfo版本1,即对于Sig
17、nerIdentifier必须使用issuerAndSerial Number的选项。5.2.7 内容加密运算标识符发送代理和接收代理必须支持采用同一数字加密算法。这里以DESEDE3 CBC为例进行加密和5. 3 创建S/MIME报文S/MIME报文是MIME主被保护的数据总是规范的MS/MIME被所有子部分的整/1RFC 822的头。、给出了准备MIM电子规范中的规程描述第三步:对离开的MIME王,S/MIME报文的实、了甩种格式,并为签名。MIME规范重复了MIME了,自防邮件传输期间式的清晰签名尤当接收到一个S/MIME报文肉、吾处理对报ff雳耐带的安全县号,该结果就是MIME实体。该
18、MIME实体将传递给具备MIME处理自F阳也国户代理,由院里将该MIME实体进行解码和表示后提交给用户或接收应用程序。有关准备签名或包装用的MIME实体的详细要求见RFC26330 5. 3.2 application/pkcs7-mime类型application/ pkcs7-mime类型被用来携带几种类型envelopedData和signedData的CMS对象。本条描述了application/pkcs7-mime类型的一般特性:如果eContentType是id-data,携带的CMS对象通常包含了按5.3.1所描述方式准备的MIME实体;当eContentType包括了不同的值时
19、,可以携带其它内容。由于CMS对象是二进制数据,大多数情况下64基的传送编码是适合的,尤其是采用SMTP传输方式。所用的传送编码依赖于被发送对象的传输方式,它不是MIME类型的特征。4 GB/Z 19717-2005 注意:本讨论涉及的CMS对象或外部MIME实体的传送编码,完全不同于由CMS对象保护的MIME实体的传送编码,且与其无关。因为application/ pkcs7 -mime对象有几种类型,所以发送代理应该尽可能地帮助接收代理在无需对对象的ASN.l进行解码的条件下就能了解对象的内容。所有的application/pkcs7-mime对象的MIME头应该包括smime-type可
20、选参数。5.3.3 创建Enveloped-only报文本条描述了对MIME实体只包装不签名的格式。值得注意的是,发送只包装不签名的报文不能提供数据完整性,这可能是通过经处理的报文将依然有效而可能改变了其意义的方式来替换密文。第一步:按照5.3.1准备将要包装的MIME实体。第二步:将MIME实体和其他所需的数第二步:将MIME第二步:将CMS采用带有SignedData报文的文件扩展是.p7m。5. 3.4.3 采用multipart/本格式是清晰签名格式。不用了multipart/signedMIME类型。Mu唱.t,6;ignedMI MIME实体;第二部分包括分离签名的CMSSig e
21、Content宇段。5.3. 5 签名和加密为了完成签名和加密,可以嵌套任何signed-only格式和encrypted-only格式。由于上述的格式全部是MIME实体,并且这些格式都能保护MIME实体,所以允许这种嵌套方式。S/MIME实现方案必须能够在接收方计算机合理有限的资源内接收和处理任意嵌套的S/MIME。或者首先对报文进行签名,或者首先对报文进行包装,由实施者和用户来决定选择何种方式。当首先进行签名时,签名人就通过包装被安全地隐藏起来了。当首先进行包装,签名人是暴露的,但无需去除包装就可能验证签名。edData类型的CMS对象。除了为每个接起方加密内容加密密钥的副本并收方加密co
22、ntent-encrypt.l 将该副本包含于env结edData中第三步:将CMS对象插enveloped-only报文的5. 3.4 创建只有签名的对于定义的S/MImultipart/ signed。5. 3.4. 1 选择当选择了特定带有能验证该签名重要性,因此不存不论接收者报文。无论接收到。在该上下文MIME结构。接但是,如果接收方5. 3. 4. 2 采用带这种签名格式格式签名的文还能被观察文,包含其他signed-data ,该类型使的它名。签文所报含该包察分观部娘一相第收分接部两,有5 GB/Z 19717一2005无论选择首先签名还是首先加密都存在安全分歧。对于先加密后签名报
23、文的接收方能够确认加密块没被改变,但不能确定签名者和未加密报文内容之间的关系。对于先签名后加密报文的接收方能够假设签名的报文本身未被改变,但是某些细致的攻击者可能己更改了加密报文的未经鉴别的部分。5.3.6 创建Certificates-only报文Certifica tes-only报文或certificates-onlyMIME实体用来传输证书(诸如对注册请求的响应),这种格式也能够用来传输证书撤销列表。第一步:要使生成signedData类CMS对象的CMS生成进程能够使用证书,signedDataencapCon tentlnfo eContent宇段必须不存在,并且signerlnf
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 19717 2005 基于 多用途 互联网 邮件 扩展 MIME 安全 报文 交换
