《SSL协议应用测试规范(GB-T 28457-2012).pdf》由会员分享,可在线阅读,更多相关《SSL协议应用测试规范(GB-T 28457-2012).pdf(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ICS 35.040L80中中 华华 人人 民民 共共 和和 国国 国国 家家 标标 准准GB/T XXXXXXXXXSSL 协议应用测试规范Testing Specification for Applications of SSL Protocol(报批稿)(本稿完成日期:2011.08.17)XXXX-XX-XX 发布XXXX-XX-XX 实施GB/T XXXXI目次前言.III引言.IV1范围.12规范性引用文件.13术语和定义.13.1.14缩略语.25测试相关说明.35.1测试对象说明.35.2测试内容说明.35.3测试环境说明.36测试内容规范.46.1匿名会话模式测试内容.46.
2、1.1功能测试.46.1.2性能测试.96.1.3健壮性测试.96.1.4互操作性测试.96.2服务器验证会话模式测试内容.106.2.1功能测试.106.2.2性能测试.126.2.3健壮性测试.126.2.4互操作性测试.126.3双方验证会话模式测试内容.126.3.1功能测试.126.3.2性能测试.156.3.3健壮性测试.156.3.4互操作性测试.156.4重用会话模式测试内容.166.4.1功能测试.166.4.2性能测试内容.186.4.3健壮性测试内容.186.4.4功能互操作性测试.187测试步骤指南.187.1匿名会话模式测试步骤.19GB/T XXXXII7.1.1功
3、能测试.197.1.2性能测试.277.1.3健壮性测试.287.1.4互操作性测试.297.2服务器验证会话模式测试步骤.297.2.1功能测试.297.2.2性能测试.337.2.3健壮性测试.337.2.4互操作性测试.337.3双方验证会话模式测试步骤.337.3.1功能测试.337.3.2性能测试.397.3.3健壮性测试.397.3.4互操作性测试.397.4重用会话模式测试步骤.397.4.1功能测试.397.4.2性能测试.447.4.3健壮性测试.447.4.4功能互操作性测试.44附录 A(资料性附录)SSL 协议规范说明.45参考文献.60图 1SSL 协议应用测试基本环
4、境.4图 A.1匿名会话模式消息流.46图 A.2匿名会话模式下 SSL 客户端行为状态图.47图 A.3匿名会话模式下 SSL 服务器行为状态图.47图 A.4服务器验证会话模式消息流.48图 A.5服务器验证会话模式下 SSL 客户端行为状态图.48图 A.6服务器验证会话模式下 SSL 服务器行为状态图.49图 A.7双方验证会话模式消息流.49图 A.8双方验证模式下 SSL 客户端行为状态图.50图 A.9双方验证模式下 SSL 服务器行为状态图.50图 A.10重用会话模式消息流.51图 A.11重用会话模式下 SSL 客户端行为状态图.51图 A.12重用会话模式下 SSL 服务
5、器行为状态图.52GB/T XXXXIII前言本标准依据GB/T 1.1-2009给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准的起草单位:信息工程大学信息工程学院。本标准的主要起草人:颜学雄、王清贤、曾勇军、刘琰、耿俊燕、尹中旭。GB/T XXXXIV引言目前,市场上SSL协议应用相关产品比较多,为了保证相关产品的质量,需对其进行测试。为统一产品的开发方、第三方授权测试认证单位和产品用户方对SSL协议应用相关产品的测试活动,并便于实现测试结果的相互认可和可重复性,特制定
6、本标准。本标准规范了SSL协议应用相关产品的测试内容和基本测试过程。为消除自然语言描述带来的二义性,本标准以有限状态自动机理论为基础,建立了SSL协议规范的形式化模型,并由此模型生成SSL协议应用的功能测试规范。相应的形式化模型见附录A。目前,还没有标准化的SSL协议应用测试工具。本标准没有规范具体的测试工具和测试环境,但为了规范测试人员的测试活动,本标准给出了测试指南,旨在规范测试基本步骤和关键要点,测试人员可以在此基础上,选择相关的辅助工具,产生具体的测试用例,并进行测试。GB/T XXXX1SSL 协议应用测试规范1范围本标准规定了SSL协议应用的测试内容和基本测试步骤。本标准适用于SS
7、L协议应用的开发单位、第三方授权测试认证机构、用户等对SSL协议应用的测试。2规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅所注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 5271.8-2001 信息技术 词汇 第8部分 安全GB/T 17178.1-1997 信息技术 开放系统互连 一致性测试方法和框架 第1部分:基本概念3术语和定义GB/T 5271.8界定的以及下列术语和定义适用于本文件。3.1SSL 协议 Secure Sockets Layer Protocol一种应用于传输层的安全协议,用于构建
8、客户端和服务器之间的安全通道,它提供保密性、完整性和可选的身份鉴别等安全功能。3.2SSL 协议应用 application of the SSL protocol按照SSL协议规范标准实现的产品或功能模块。3.3客户端 client主动发出 SSL 协议连接请求的通信方。3.4服务器 server接收 SSL 协议连接请求的通信方。3.5功能测试 function testing测试SSL协议应用的基本功能,包括基本连通测试、安全功能测试和行为测试。3.6性能测试 performance testing测试在不同的网络负载情况下SSL协议应用的性能参数。3.7互操作性测试 interoper
9、ability testing测试不同SSL协议应用之间的互操作能力。GB/T XXXX23.8健壮性 robustness健壮性是描述一个系统或者一个组件在无效数据输入或者在高强度输入等环境下,其各项功能可保持正确运行的程度。3.9健壮性测试 robustness testing测试SSL协议应用对错误(包括无效的、非期望输入或者恶意攻击)的有效处理能力。3.10基本连通测试 basic interconnection testing测试SSL协议应用的基本连通的情况。3.11行为测试 behaviour testing测试 SSL 协议应用的动态行为的符合性,包括正确输入行为符合性测试和非
10、正确输入行为符合性测试。3.12连接建立时延 connection established delay准备数据通信前的协商过程所需要的时间。3.13传送时延 transmission delay数据从一方传送到另一方所需要的时间。3.14连接拆除时延 connection released delay连接拆除所需要的时间。包括两种类型,一是客户端完成服务后,请求连接拆除的时延,二是服务器主动连接拆除的时延。3.15吞吐量 throughput丢包率为零的情况下,单位时间内传输有效数据的数量。3.16剩余错误比率 residual error ratio在给定的时间间隔内,传送不正确、丢失或者重
11、复的数据量和传输正确的数据量之比。3.17失败概率 probability of failure包括连接建立失败概率、传送失败概率以及连接拆除失败概率等。3.18新建连接 new connectionsSSL协议服务器每秒钟能够建立的SSL连接数。3.19并发连接数 max connectionsSSL服务器能够同时处理的最大SSL连接数。4缩略语下列缩略语适用于本文件。GB/T XXXX3SSL安全套接层协议Secure Sockets LayerTLS传输层安全协议Transport Layer SecurityMAC消息鉴别码Message Authentication CodeID会话
12、标识IDentityCA证书认证机构Certificate Authority5测试相关说明5.1测试对象说明SSL协议应用是指按照SSL协议规范标准实现的产品或功能模块。本标准涉及到的SSL协议版本包括SSL3.01、TLS1.0(SSL3.1)2,3和TLS1.14,5。SSL协议规范标准是以本标准涉及到的SSL协议版本为基础,规范了SSL协议应用应符合的安全服务功能规范、SSL会话模式规范和SSL消息格式规范,详细说明参见附录A SSL协议规范说明。5.2测试内容说明本标准规范SSL协议应用的测试内容,包括功能测试、性能测试、健壮性测试和互操作性测试。功能测试包括基本连通测试、安全功能测
13、试和行为测试。基本连通测试完成SSL协议应用的基本连通情况测试,它是后续其它测试的基础,如果本项测试失败,则其它测试无法进行;安全功能测试包括密码算法协商功能测试、身份鉴别功能测试、数据保密性保护功能测试和数据完整性保护功能测试,安全功能中涉及到的密码算法应符合国家密码管理的相关规定和要求;为保证各项安全功能的有效性,SSL协议应用的动态行为必须符合规范要求,行为测试完成SSL协议应用的动态行为的符合性测试,包括正确输入行为符合性测试和非正确输入符合性测试。性能测试完成不同网络负载情况下,SSL协议应用的性能参数测试,包括连接建立时间、传送时延、连接拆除时间、吞吐量、剩余错误比率、失败概率、新
14、建连接数和并发连接数。健壮性是描述一个系统或者组件在无效数据输入或高强度输入等环境下,其各项功能可保持正确运行的程度。SSL协议应用属于安全产品,其健壮性对于其安全功能的有效性至关重要。健壮性测试完成SSL协议应用对错误的有效处理能力,包括无效报文处理能力、异常事件处理能力和高强度负载处理能力。互操作性测试完成不同厂家SSL协议应用间的互操作能力测试,包括基本连通互操性作测试和安全功能互操作测试。基本连通互操作性测试内容和功能测试中的基本连通测试内容一样,安全功能互操作性测试和功能测试中的安全功能测试内容一样。它们之间的区别在于,功能测试是SSL协议应用和测试系统之间的交互,而互操作性测试是不
15、同的SSL协议应用间的交互(参见5.3 测试环境说明的内容),同时对于错误的判别方法有所不同。本标准中,对于互操作性测试的相关内容不重复描述,测试人员可参照相关内容完成互操作性测试。5.3测试环境说明虽然SSL协议应用测试不依赖于特定的测试工具,但是为规范测试人员的测试活动,本标准推荐采用GB/T17178.1-1997中的远程测试方法,并依照此方法给出了测试步骤指南。其目的在于规范测试基本步骤和关键要点,测试人员可在此基础上,选择相关的测试辅助工具,产生具体的测试用例,并进行测试。SSL协议应用测试基本环境如图1所示。当进行功能测试和健壮性测试时,被测对象1或被测对象2可能是SSL协议应用的
16、客户端或服务器,测试系统和被测对象进行消息交互,通过对消息的判别,完成各项功能测试。GB/T XXXX4当进行性能测试时候,被测对象1和被测对象2,分别对应被测SSL协议应用的客户端和服务器,通过对客户端和服务器交互消息的判别和统计,完成各项性能测试。图 1SSL 协议应用测试基本环境当进行互操作性测试时,被测对象1和被对象2分别是不同厂家实现的SSL协议产品的客户端和服务器,通过分析客户端和服务器的消息交互,完成各项互操作性测试。6测试内容规范6.1匿名会话模式测试内容6.1.1功能测试6.1.1.1基本连通测试测试SSL协议应用在匿名会话模式下,客户端和服务器间的基本连通能力。6.1.1.
17、2安全功能测试测试内容如下:a)密码协商功能:1)密码算法协商:协商会话两端共用的密钥交换算法、加密算法和 MAC 算法,这些算法必须在线完成协商;2)共享密钥协商:根据协商的密钥交换算法,会话两端完成共享密钥的协商;b)数据保密性保护功能:客户端和服务器能够应用协商好的加密算法以及共享密钥对传输的数据加密,以保护数据的保密性;c)数据完整性保护功能:客户端和服务器能够应用协商好的 MAC 算法以及共享密钥对传输的数据进行完整性保护。6.1.1.3客户端行为测试在匿名会话模式下,客户端行为状态参见图A.2,其行为测试的内容包括:a)初始状态在接收 HelloRequest*消息的条件下,或者在
18、未接收任何消息的条件下,发送 ClientHello 消息。HelloRequest 消息和 ClientHello 消息应符合规范要求。除了接收 HelloRequest 消息外,忽略其它一切可能接收到的消息。b)握手状态GB/T XXXX5应依次接收 ServerHello 消息、ServerKeyExchange*消息、ServerHelloDone 消息,中间不应有其它任何消息,消息格式应符合规范要求。然后,应依次发送 ClientKeyExchange 消息、ChangeCipherSpec 消息和客户端 Finished 消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的
19、警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)unexpected_message:应依次接收 ServerHello 消息、ServerKeyExchange*消息、ServerHelloDone 消息,如果是其它的非警报协议消息或者其它的次序,则发送unexpected_message 警报协议消息,并关闭当前连接。2)illegal_parameter:接 收 到 的 ServerHello 消 息、ServerKeyExchange*消 息、ServerHelloDone 消息中的任意一个域的值超过了规定的值,则发送 illegal_paramete
20、r警报协议消息,并关闭当前连接。3)record_overflow:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。4)decode_error:在握手状态下,对接收到的任何消息,如果解码失败,则发送 decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。5)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议 消 息,并 关 闭
21、当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TLS1.0 及以后版本。6)internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0及以后版本。7)接收服务器警报消息:接收到服务器发送过来的警报协议消息,则关闭当前连接。c)密钥交换状态应依次接收 ChangeCipherSpec 消息、服务器 Finished 消息,中间不应有其它消息,消息格式应符合规范要求。此时,客户端可发送应用数据消息,消息格式应符合规范要求。如果是其它情况,则可发
22、送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)unexpected_message:应依次接收 ChangeCipherSpec 消息、服务器 Finished 消息,如果是其它的非警报协议消息或者其它的次序,则发送 unexpected_message 警报协议消息,并关闭当前连接。2)bad_record_mac:处理服务器 Finished 消息时,MAC 验证失败,则发送 bad_record_mac警报协议消息,并关闭当前连接。3)decompression_failure:处理服务器 Finished 消息时,如果使用了压缩处理,并且消息
23、解压缩失败,则发送 decompression_failure 警报协议消息,并关闭当前连接。4)illegal_parameter:接收到的 ChangeCipherSpec 消息、服务器 Finished 消息中的任意一个域的值超过了规定的值,则发送 illegal_parameter 警报协议消息,并关闭当前连接。5)decryption_failed:处理服务器 Finished 消息时,解密出来的数据不符合密码算法的要求(如数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed 警报 协议消息,并关 闭当前连 接。该 情况处理 方式出 现
24、在SSL3.1/TLS1.0 及以后版本。6)record_overflow:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。GB/T XXXX67)decode_error:对接收到的任何消息,如果解码失败,则发送 decode_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。8)decrypt_error:处理服务器 Finished 消息时,验证签名过程或者数据解密中出现错误,则发送 decrypt_error 警
25、报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0 及以后版本。9)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议 消 息,并 关 闭 当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TLS1.0 及以后版本。10)internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0及以后版本。11)接收服务器警报协议消息:接收到服务器发送
26、过来的警报协议消息,则关闭当前连接。d)工作状态应只有三种行为,一是接收或发送应用数据消息,消息格式应符合规范要求;二是接收服务器的关闭通知 Close_notify 警报协议消息,消息格式应符合规范要求;三是用户终止会话连接,客户端关闭连接,如果是 SSL3.0 版本,则同时向对方发送 Close_notify 警报协议消息,消息格式应符合规范要求,如果是 SSL3.1/TLS1.0 及以后版本,则同时向对方发送 user_canceled 警报协议消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)u
27、nexpected_message:应接收服务器应用数据消息或 Close_notify 消息,如果是其它的非警报协议消息,则发送 unexpected_message 警报协议消息,并关闭当前连接。2)bad_record_mac:处理服务器应用数据消息时,MAC 验证失败,则发送 bad_record_mac警报协议消息,并关闭当前连接。3)decompression_failure:处理服务器应用数据消息时,如果使用了压缩处理,并且消息解压缩失败,则发送 decompression_failure 警报协议消息,并关闭当前连接。4)decryption_failed:处理服务器应用数据消
28、息时,解密出来的数据不符合密码算法的要求(数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed 警报 协议消息,并关 闭当前连 接。该 情况处理 方式出 现在SSL3.1/TLS1.0 及以后版本。5)record_overflow:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。6)decode_error:对接收到的任何消息,如果解码失败,则发送 decode_error 警报协议消息,并关闭当前连接。该情况处理方式出现在
29、SSL3.1/TLS1.0 及以后版本。7)decrypt_error:处理服务器应用数据消息时,验证签名过程或者数据解密中出现错误,则发送 decrypt_error 警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0 及以后版本。8)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议 消 息,并 关 闭 当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TLS1.0 及以后版本。9)internal_error:如果处理过程中出现了内部错误(如内存分配失败),则
30、发送internal_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0及以后版本。GB/T XXXX710)接收服务器警报协议消息:接收到服务器发送过来的警报协议消息,则关闭当前连接。6.1.1.4服务器行为测试在匿名会话模式下,服务器行为状态参见图A.3,其行为测试的内容包括:a)初始状态应接收 ClientHello 消息,消息格式应符合规范要求;然后,应依次发送 ServerHello 消息、ServerKeyExchange*消息和 ServerHelloDone 消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格
31、式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)unexpected_message:应接收 ClientHello 消息,如果是其它的非警报协议消息,则发送unexpected_message 警报协议消息,并关闭当前连接。2)handshake_failure:如果无法完成安全参数的协商,则发送 handshake_failure 警报协议消息,并关闭当前连接。3)illegal_parameter:接收到的客户端 ClientHello 消息的任意一个域的值超过了规定的值,则发送 illegal_parameter 警报协议消息,并关闭当前连接。4)record_overf
32、low:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。5)decode_error:对接收到的任何消息,如果解码失败,则发送 decode_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。6)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议 消 息,并 关 闭 当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TL
33、S1.0 及以后版本。7)insufficient_security:如果服务器认为客户端 ClientHello 消息中的候选密码组安全强度不够时,则发送 insufficient_security 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。8)internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0及以后版本。b)握手状态应依次接收 ClientKeyExchange 消息、ChangeCipherSpec
34、 消息和客户端 Finished 消息,消息格式应符合规范要求;然后,应依次发送 ChangeCipherSpec 消息和服务器 Finished 消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)unexpected_message:应依次接收 ClientKeyExchange 消息、ChangeCipherSpec 消息和客户端 Finished 消息,如果是其它的非警报协议消息,则发送 unexpected_message 警报协议消息,并关闭当前连接。2)bad_record_mac:处理客户
35、端发送过来的 Finished 消息时,MAC 验证失败,则发送bad_record_mac 警报协议消息,并关闭当前连接。3)decompression_failure:处理客户端发送过来的 Finished 消息时,如果使用了压缩处理,并且消息解压缩失败,则发送 decompression_failure 警报协议消息,并关闭当前连接。4)illegal_parameter:接收到的任意消息的任意一个域的值超过了规定的值,则发送illegal_parameter 警报协议消息,并关闭当前连接。GB/T XXXX85)decryption_failed:处理客户端 Finished 消息时,
36、解密出来的数据不符合密码算法的要求(如数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed 警报 协议消息,并关 闭当前连 接。该 情况处理 方式出 现在SSL3.1/TLS1.0 及以后版本。6)record_overflow:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。7)decode_error:对接收到的任何消息,如果解码失败,则发送 decode_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SS
37、L3.1/TLS1.0 及以后版本。8)decrypt_error:处理客户端 Finished 消息时,验证签名过程或者数据解密中出现错误,则发送 decrypt_error 警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0 及以后版本。9)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议 消 息,并 关 闭 当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TLS1.0 及以后版本。10)internal_error:如果处理过程中出现了内部错误(如内存分配
38、失败),则发送internal_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0及以后版本。11)接收客户端警报消息:接收到客户端发送过来的警报协议消息,则关闭当前连接。c)工作状态应只有三种行为,一是接收或发送应用数据消息,消息格式应符合规范要求;二是接收客户端的关闭通知 Close_notify 警报协议消息,消息格式应符合规范要求;三是用户终止会话连接,服务器关闭连接,如果是 SSL3.0 版本,则同时向对方发送 Close_notify 警报协议消息,消息格式应符合规范的要求,如果是 SSL3.1/TLS1.0 及以后版本,则同时向对方发送 u
39、ser_canceled 警报协议消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)unexpected_message:应接收客户端应用数据消息或 Close_notify 消息,如果是其它的非警报协议消息,则发送 unexpected_message 警报协议消息,并关闭当前连接。2)bad_record_mac:处理客户端应用数据消息时,MAC 验证失败,则发送 bad_record_mac警报协议消息,并关闭当前连接。3)decompression_failure:处理客户端应用数据消息时,如果
40、使用了压缩处理,并且消息解压缩失败,则发送 decompression_failure 警报协议消息,并关闭当前连接。4)decryption_failed:处理客户端应用数据消息时,解密出来的数据不符合密码算法的要求(如数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed 警报 协议消息,并关 闭当前连 接。该 情况处理 方式出 现在SSL3.1/TLS1.0 及以后版本。5)record_overflow:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.
41、1/TLS1.0 及以后版本。6)decode_error:对接收到的任何消息,如果解码失败,则发送 decode_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。7)decrypt_error:处理客户端应用数据消息时,验证签名过程或者数据解密中出现错误,则发送 decrypt_error 警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0 及以后版本。GB/T XXXX98)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议
42、 消 息,并 关 闭 当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TLS1.0 及以后版本。9)internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0及以后版本。10)接收客户端警报消息:接收到客户端发送过来的警报协议消息,则关闭当前连接。6.1.2性能测试在匿名模式下,性能测试内容包括:a)连接建立时延;b)传送时延;c)连接拆除时延;d)吞吐量;e)剩余错误比率;f)失败概率;g)新建连接数;h)并发连接数。6.1.3健壮性测试6
43、.1.3.1无效报文处理测试测试内容包括:a)错误报文处理能力测试:当接收的报文消息头或者消息体中有错误时,SSL 协议应用客户端和服务器的处理能力测试;b)非期望报文处理能力测试:当接收到一个正确的报文,但报文不是当前状态所期望的输入报文时,SSL 协议应用客户端和服务器的处理能力测试。6.1.3.2异常事件处理测试测试内容包括:a)连接中断处理能力测试:在连接突然非正常终止情况下,SSL 协议应用客户端和服务器的处理能力测试;b)等待超时处理测试能力:等待报文超时时,SSL 协议应用客户端和服务器的处理能力测试。6.1.3.3高强度负载测试测试内容包括:a)网络高强度负载处理能力测试:在网
44、络中流量负载比较大的情况下,SSL 协议应用客户端和服务器的处理能力测试;b)系统高强度负载处理能力测试:运行 SSL 协议应用客户端或者服务器的系统,多种资源消耗比较多的情况下(如 CPU 或者内存),SSL 协议应用客户端和服务器的处理能力测试。6.1.4互操作性测试6.1.4.1基本互连测试GB/T XXXX10在匿名会话模式下,测试不同SSL协议应用客户端和服务器之间的互连情况。6.1.4.2功能互操作性测试在匿名会话模式下,应用不同SSL协议应用客户端和服务器互连后,其测试内容按6.1.1.2给出的要求。6.2服务器验证会话模式测试内容6.2.1功能测试6.2.1.1基本连通测试测试
45、 SSL 协议应用在服务器验证会话模式下,客户端和服务器间的基本连通能力。6.2.1.2安全功能测试服务器验证会话模式在匿名会话模式提供的密码协商功能、数据保密性保护功能和数据完整性保护功能的基础上(按 6.1.1.2 给出的要求),增加了服务器身份鉴别功能,如下:a)服务器身份证书递交功能:服务器应按照规范要求递交身份证书。b)服务器身份证书鉴别功能:客户端应能够对服务器递交的身份证书进行验证。6.2.1.3客户端行为测试在服务器验证会话模式下,客户端行为状态参见图 A.5,其行为测试的内容包括:a)初始状态按 6.1.1.3 a)给出的要求。b)握手状态应依次接收ServerHello消息
46、、Certificate消息、ServerKeyExchange*消息、ServerHelloDone消息,中间不应有其它消息,消息格式应符合规范要求;然后,应依次发送 ClientKeyExchange消息、ChangeCipherSpec 消息和客户端 Finished 消息,中间不应有其它消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1)unexpected_message:应 依 次 接 收 ServerHello 消 息、Certificate 消 息、ServerKeyExchange*消息
47、、ServerHelloDone 消息,如果是其它的非警报协议消息或其它的次序,则发送 unexpected_message 警报协议消息,并关闭当前连接。2)bad_certificate:如果验证服务器的 Certificate 消息中的身份证书失败,则发送bad_certificate 警报协议消息,并关闭当前连接。3)unsupported_certificate:如果服务器递交的身份证书格式,客户端本地不支持,则发送 unsupported_certificate 警报协议消息,并关闭当前连接。4)certificate_revoked:如果服务器递交的身份证书已经被其颁发者撤消,则
48、发送certificate_revoked 警报协议消息,并关闭当前连接。5)certificate_expired:如 果 服 务 器 递 交 的 身 份 证 书 已 经 过 期,则 发 送certificate_expired 警报协议消息,并关闭当前连接。6)certificate_unknown:如果客户端处理服务器递交的身份证书过程中,出现异常,导致身份鉴别不成功,则发送 certificate_unknown 警报协议消息,并关闭当前连接。GB/T XXXX117)illegal_parameter:接收到的ServerHello消息、Certificate消息、ServerKey
49、Exchange*消 息、ServerHelloDone 消 息 中 的 任 意 一 个 域 的 值 超 过 了 规 定 的 值,则 发 送illegal_parameter 警报协议消息,并关闭当前连接。8)record_overflow:接收到的数据长度,超过了规定的长度,则发送 record_overflow 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。9)decode_error:对接收到的任何消息,如果解码失败,则发送 decode_error 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。
50、10)unknown_CA:客户端在处理服务器身份证书的时候,找不到信任 CA 的证书,则发送unknown_CA 警报协议消息,并关闭当前连接。该情况处理方式出现在 SSL3.1/TLS1.0 及以后版本。11)protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version 警 报 协 议 消 息,并 关 闭 当 前 连 接。该 情 况 处 理 方 式 出 现 在SSL3.1/TLS1.0 及以后版本。12)internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error 警报协议消息,