GBZ 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf
《GBZ 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf》由会员分享,可在线阅读,更多相关《GBZ 19717-2005 基于多用途互联网邮件扩展(MIME)的安全报文交换.pdf(20页珍藏版)》请在麦多课文档分享上搜索。
1、ICS 35.100.70一一L”荡摹中华人民共和国国家标准化指导性技术文件GB/Z 19717-2005基于多用途互联网邮件扩展(MIME)的安全报文交换Secure message interchange based onMultipurpose Internet Mail Extensions2005-04-19发布2005-10-01实施率督黔M瓣譬 O臀臀M+ w M 4 k R f M发布 cs/z 19717-2005前言本指导性技术文件主要参照Internet工程任务组提出的RFC 2630密码报文语法、RFC 2633 S/MIME报文规范第3版和RFC 2634增强的S/M
2、IME安全服务制定的。本指导性技术文件的附录A是资料性附录。本指导性技术文件由中华人民共和国信息产业部提出。本指导性技术文件由全国信息安全技术标准化技术委员会归口。本指导性技术文件起草单位:中国电子技术标准化研究所。本指导性技术文件主要起草人:吴志刚、赵著华、王颜尊。本指导性技术文件仅供参考。GB/Z 19717-2005引言Internet的电子邮件在传输中广泛使用简单邮件传输协议(即SMTP),而SMTP却未提供加密服务。攻击者可在邮件传输中截获数据,并能将邮件中的文本格式、非文本格式的二进制数据(如:. exe文件)进行轻松地还原。Internet电子邮件面临着各种安全威胁(如信息泄露、
3、冒充身份等)。安全电子邮件能够提供信息加密、身份鉴别、内容完整性、机密性及抗抵赖性等安全服务。目前,Internet工程任务组研究制定的安全多用途互联网邮件扩展(S/MIME)规范已成为安全电子邮件的重要支撑标准。S/MIME系列规范主要采用单向散列算法和公开密钥基础设施(PKI)来实现数据加密和数字签名,从而保证邮件的安全性。本指导性技术文件给出了S/MIME系列规范的关键内容,便于对S/MIME系列规范的深人分析及相关产品的开发。本指导性技术文件凡涉及密码相关内容,按国家有关法规实施。本指导性技术文件中所引用的MD5, SHA-1, DSS, RSA, DES, RC2, DH密码算法等均
4、为举例说明。 GB/Z 19717-2005基于多用途互联网邮件扩展(MIME)的安全报文交换1范围本指导性技术文件阐述了安全发送和接收多用途互联网邮件扩展(MIME)数据的基本方法(即安全多用途互联网邮件扩展,S/MIME)。该方法基于广泛使用的多用途互联网邮件扩展协议(MIME),向各种Internet报文应用提供鉴别、报文的完整性、抗抵赖性、机密性等多种安全服务。传统的邮件用户代理使用该方法可以向所发送的报文增加各种加密服务,并能够有效处理所收报文中的加密服务。本指导性技术文件还描述了S/MIME的增强安全服务。本指导性技术文件不限于电子邮件,它还可以用于任何传输MIME数据的传输机制(
5、如超文本传输协议,HTTP)。该规范利用了MIME面向对象的特点,使得在各种传输系统中能够交换安全报文。2规范性引用文件下列文件中的条款通过本指导性技术文件的引用而成为本指导性技术文件的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本指导性技术文件,然而,鼓励根据本指导性技术文件达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本指导性技术文件。RFC 2045多用途Internet邮件扩展(MIME)第1部分Internet报文体的格式RFC 2630密码报文语法RFC 2633 S/MIME报文规范第3版RFC 2
6、634增强的S/MIME安全服务3术语、定义和缩略语3.1术语和定义下列术语和定义适用于本指导性技术文件。3.11证书certificate采用数字签名将实体的可辨别名与公开密钥捆绑起来的类型。3.1.2接收代理receiving agent一种软件,它解释并处理S/MIME CMS对象及含有CMS对象的MIME主体部分。3.1.3发送代理sending agent一种软件,它创建S/MIME CMS对象和创建含有CMS对象的MIME主体部分。3.1.4多用途互联网邮件扩展Multipurpose Internet Mail Extensions(MIME)MIME容许以下格式文档作为报文:a
7、)非ASCII码的字符集的文本报文体;b)非文本报文体的不同格式的扩展集;GB/Z 19717-2005c)多部分的报文体;d)非ASCII码的字符集的文本头信息。3.1.5S/MIME代理S/MIME agent一种用户软件,它可以是接收代理或发送代理,或两者都是。3.2缩略语下列缩略语适用于本指导性技术文件。CMS密码报文语法ESS增强安全服务MIME多用途互联网邮件扩展S/MIME安全多用途互联网邮件扩展4密码报文语法(CMS )4.1概述密码报文语法(CMS)是以数字方式签名、处理、鉴别或加解密任意报文的语法,并用来描述保护数据的封装语法。它支持数字签名、报文鉴别代码和加密。这种语法允
8、许多重封装,即一个封装包可以嵌套另一个包。同样,一方可以用数字方式给一些先前已经封装过的数据签名。它还允许任意属性(如签名时间)同报文内容一起被签名,以及允许其它属性(如防范签名)与签名相关联。密码报文语法可以支持各种实现基于证书的密钥管理功能的体系结构。RFC 2630对密码报文语法(CMS)有详细的规定。密码报文语法(CMS)普遍支持许多不同的内容类型。RFC 2630规定了一种保护内容:ContentIn-foe ContentInf。可封装一个已标识的内容类型,这个已标识的类型可以进一步进行封装。RFC 2630规定了六种内容类型:数据、签名数据、包装数据、摘要数据、加密数据和鉴别数据
9、。4.2密码报文语法基本结构密码报文语法(CMS)将内容类型标识符与内容相关联起来。这种句法包含抽象语法记法1(ASN.1)类型的ContentInfo字段:ContentInfo:SEQUENCEcontentType ContentType,content 0. EXPLICIT ANY DEFINED BY contentTypeContentType:OBJECT IDENTIFIERContentInfo字段有以下含义:contentType表示相关联内容的类型。它是一个对象标识符,是由定义内容类型的机构分配的唯一整数串。content是关联的内容。内容的类型可以由contentTy
10、pe唯一确定。5安全多用途互联网邮件扩展((S/MIME )51概述安全多用途互联网邮件扩展(S/MIME)规定了向MIME数据增加加密签名和加密服务的方法。MIME规范规定了Internet报文内容类型的通用结构,并对新的内容类型应用提供扩充机制。RFC2633则定义了如何按照CMS创建经加密的MIME主体部分,以及用于传输加密MIME主体部分的application/pkcs7mime内容类型。RFC 2633还讨论了如何使用MIME-SECURE所定义的multipart/signed的MIME类型来传输S/MIME签名报文,同时还定义了另一种用于传输S/MIME签名报文的applica
11、tion/ pkcs7-signature的MIME类型。为了创建S/MIME报文,S/MIME代理必须遵守RFC GB/Z 19717-20052633及RFC 263。中所列的其他规范。由于S/MIME系统可能涉及软件而不是传统的Internet邮件客户端,因此接收代理与发送代理的要求是不同的。任何传输MIME数据的系统都能采用S/MIME,例如发送加密报文的自动进程可能完全不能接收加密的报文。5.2支持S/MIME的CMS选项在内容和算法支持方面,CMS考虑了各种各样的选项。为了使所有支持S/MIME版本3的实现方案间达到基本的互操作性,RFC 2633提出了一些支持要求和建议。5.2.
12、1摘要算法标识符发送代理和接收代理必须支持同一个算法。这里以SHA-1为例。为了提供对采用MD5摘要的S/MIME版本2签名数据对象的向后兼容性,接收代理应支持MD5 05.2.2签名算法标识符发送代理和接收代理必须支持同一个数字签名算法,这里以DSS为例。发送代理和接收代理应支持在DSS中定义的id-dsa,算法参数不必存在。接收代理应支持PKCS-1所定义的rsaEncryption,发送代理应支持rsaEncryption。采用用户私有密钥对出去的报文进行签名,并在密钥生成期间确定私有密钥的长度。注:S/MIME版本2客户只能够验证采用rsaEncryption算法的数字签名。5.2.3
13、密钥加密算法标识符发送代理和接收代理必须支持同一个密钥交换算法,这里以Diffie-Hellman算法为例。接收代理应支持rsaEncryption。进人的加密报文包含着多个对称密钥,这些密钥可以通过用户的私有密钥来解密,在密钥生成期间确定私有密钥的长度。发送代理应支持rsaEncryption,注:S/MIME版本2的客户只能解密使用rsaEncryption算法的内容加密密钥。5.2.4通用语法CMS规定了多种内容类型,其中S/MIME目前可用的只有数据、签名数据及包装的数据这三种内容类型。5.2.4.1数据内容类型发送代理必须使用id-data内容类型标识符来指明那些已采用安全服务的报文
14、内容。例如,当对MIME数据采用数字签名时,CMS signedData encapContentInfo eContentType必须包括id-data对象标识符,并且MIME内容必须被存放在SignedData encapContentInfo eContent的八位位组串中(除非发送代理使用多部分签字,此时。Content可以不存在)。另一个例子,当对MIME数据进行加密时,CMS EnvelopedData encryptedContentInfo ContentType必须包含id-data对象标识符,并且加密的MIME内容必须存放在envelopedData encryptedCo
15、ntentInfo encrypt edContent的八位位组串中。5.2.4.2签名数据内容类型发送代理必须对应用数字签名的报文使用签名数据内容类型,或者在用于传输无签名信息的证书的退化情况下必须使用签名内容类型。5.2.4.3包装数据内容类型该内容类型用来向报文提供隐私性保护。发送者必须能够获得应用该服务所涉及的每一报文接收者的公开密钥。5.2.5属性签名者信息类型SignerInfo类型允许同签名一起包含无签名属性和签名属性。接收代理必须能够处理在此列出的每个签名属性的零个或一个实例。发送代理应在每个S/MIME报文中生成下列每个签名属性中一个实例:a) signmgTime;b) s
16、MIMECapabilities;c) sMIMEEncryptionKeyPreference。GB/Z 19717-2005此外,接收代理应能处理signingCertificate属性内签名属性的零个或一个实例。发送代理应能在每个S/MIME报文中生成signingCertificate签名属性的一个实例。以后可能会对这些属性的附加属性和值进行定义。接收代理应能通过友好的方式来处理那些它不识别的属性或值。那些含有此处未列出的签名属性的发送代理应能向用户显示这些属性,以便用户知道被签名数据的所有属性。5.2. 6 SignerIdentifier SignerInfo类型S/MIME版本3
17、要求使用SignerInfo版本1,即对于SignerIdentifier必须使用issuerAndSerial-Number的选项。5.2.7内容加密运算标识符发送代理和接收代理必须支持采用同一数字加密算法。这里以DES EDE3 CBC为例进行加密和解密,以下简称“tripleDES。接收代理应支持以RC2为例的兼容算法进行加密和解密。5.3创建S/MIME报文S/MIME报文是MIME主体和CMS对象的组合,可以使用几种MIME类型和几种CMS对象。被保护的数据总是规范的MIME实体,并将MIME实体和其他数据(如证书和算法标识符)交给产生CMS对象的CMS处理设施,CMS对象最终被包装
18、在MIME中。S/MIME的增强安全服务规范(见RFC 2634)提供了如何嵌套的实例及构造安全的S/MIME报文的方法。RFC 2634提供了一个如何采用multipart/signed和签名的application/ pkcs7-mime构成一个三重隐蔽包装的S/MIME报文的实例。S/MIME为enveloped-only数据提供了一种格式,为signed-only数据提供了几种格式,并为签名及包装的数据提供了几种格式。5.3.1准备签名或包装用的MIME实体S/MIME被用于安全MIME实体。MIME实体可能是subpart、或是报文的subparts、或是带有其所有子部分的整个报文。
19、作为整个报文的MIME实体只能包括MIME头和MIME主体,而不包括RFC 822的头。注意,S/MIME还能用于Internet邮件以外的应用所使用的安全MIME实体。本指导性技术文件描述的安全的MIME实体可认为是“内部”MIME实体,即它可能是大的MIME报文中“最内部”的对象,在5.3.2,5.3.4和其他部分描述了将“外部”MIME实体处理为CMS对象。MIME规范给出了准备MIME实体的规程。在签名时可使用带有某些附加限制的相同规程。在此重复了MIME规范中的规程描述,本条还描述了一些附加的要求。对于创建签名的、包装的或签名且包装的MIME实体应采用单个的规程。为了预防邮件传输期间
20、可能出现的已知问题,推荐采用某些附加步骤,这些步骤对于采用multipart/signed格式的清晰签名尤为重要。建议对包装的报文或签名且封装的报文实施这些附加步骤,以保证该报文能够无修改地转发到任何环境。第一步:依据本地的约定准备MIME实体。第二步:将MIME实体的叶子部分转换为规范的形式。第三步:对离开的MIME实体应用适当的传送编码。当接收到一个S/MIME报文时,要处理对报文所附带的安全服务,该结果就是MIME实体。该MIME实体将传递给具备MIME处理能力的用户代理,由该代理将该MIME实体进行解码和表示后提交给用户或接收应用程序。有关准备签名或包装用的MIME实体的详细要求见RF
21、C 263305.3.2 application/pkcs7-mime类型application/ pkcs7-mime类型被用来携带几种类型envelopedData和signedData的CMS对象。本条描述了application/ pkcs7-mime类型的一般特性:如果eContentType是id-data,携带的CMS对象通常包含了按5.3.1所描述方式准备的MIME实体;当eContentType包括了不同的值时,可以携带其它内容。由于CMS对象是二进制数据,大多数情况下64基的传送编码是适合的,尤其是采用SMTP传输方式。所用的传送编码依赖于被发送对象的传输方式,它不是MIM
22、E类型的特征。 GB/Z 19717-2005注意:本讨论涉及的CMS对象或“外部”MIME实体的传送编码,完全不同于由CMS对象保护的MIME实体的传送编码,且与其无关。因为application/ pkcs7-mime对象有几种类型,所以发送代理应该尽可能地帮助接收代理在无需对对象的ASN. 1进行解码的条件下就能了解对象的内容。所有的application/ pkcs7-mime对象的MIME头应该包括“smime-type”可选参数。5.3.3创建Enveloped-only报文本条描述了对MIME实体只包装不签名的格式。值得注意的是,发送只包装不签名的报文不能提供数据完整性,这可能是
23、通过经处理的报文将依然有效而可能改变了其意义的方式来替换密文。第一步:按照5.3.1准备将要包装的MIME实体。第二步:将MIME实体和其他所需的数据处理为envelopedData类型的CMS对象。除了为每个接收方加密content-encryption密钥的副本外,还应该为发起方加密内容加密密钥的副本并将该副本包含于envelopedData中。第三步:将CMS对象插入到一个application/ pkcs7-mime MIME实体中。enveloped-only报文的smime-type参数为“envelopeddata,该类型报文的文件扩展是“. p7m o5.3.4创建只有签名的报
24、文对于定义的S/MIME签名报文存在两种格式,即带有SignedData的application/ pkcs7-mime和multipart/signed。发送代理应首选multipart/signed格式,但接收代理应都能处理这两种格式。5.3.4.1选择Signed-only报文格式当选择了特定的signed-only格式时,由于该格式取决于所有接收者的能力,同时该格式还取决于带有能验证该签名的S/MIME设施的接收者与不带有能观察该报文的S/MIME软件的接收者的相对重要性,因此不存在严格的规则。不论接收者是否拥有S/MIME软件,该接收者都能观察到查看采用multipart/signe
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GBZ 19717 2005 基于 多用途 互联网 邮件 扩展 MIME 安全 报文 交换
