SSL协议应用测试规范(GB-T 28457-2012).docx
-
资源ID:96306753
资源大小:381.30KB
全文页数:65页
- 资源格式: DOCX
下载积分:9.5金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
SSL协议应用测试规范(GB-T 28457-2012).docx
ICS35.040L80中华人民共和国国家标准GB/T XXXXXXXXXSSL协议应用测试规范Testing Specification for Applications of SSL Protocol (本稿完成日期:2011.08.17)XXXX - XX - XX发布XXXX - XX - XX实施GB/T XXXX目次前言III引言IV1范围12规范性引用文件13术语和定义13.114缩略语25测试相关说明35.1测试对象说明35.2测试内容说明35.3测试环境说明36测试内容规范46.1匿名会话模式测试内容46.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匿名会话模式测试步骤197.1.1功能测试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图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服务器行为状态图52前言本标准依据GB/T 1.1-2009给出的规则起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准的起草单位:信息工程大学信息工程学院。本标准的主要起草人:颜学雄、王清贤、曾勇军、刘琰、耿俊燕、尹中旭。引言目前,市场上SSL协议应用相关产品比较多,为了保证相关产品的质量,需对其进行测试。为统一产品的开发方、第三方授权测试认证单位和产品用户方对SSL协议应用相关产品的测试活动,并便于实现测试结果的相互认可和可重复性,特制定本标准。本标准规范了SSL协议应用相关产品的测试内容和基本测试过程。为消除自然语言描述带来的二义性,本标准以有限状态自动机理论为基础,建立了SSL协议规范的形式化模型,并由此模型生成SSL协议应用的功能测试规范。相应的形式化模型见附录A。目前,还没有标准化的SSL协议应用测试工具。本标准没有规范具体的测试工具和测试环境,但为了规范测试人员的测试活动,本标准给出了测试指南,旨在规范测试基本步骤和关键要点,测试人员可以在此基础上,选择相关的辅助工具,产生具体的测试用例,并进行测试。60SSL协议应用测试规范1 范围本标准规定了SSL协议应用的测试内容和基本测试步骤。本标准适用于SSL协议应用的开发单位、第三方授权测试认证机构、用户等对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一种应用于传输层的安全协议,用于构建客户端和服务器之间的安全通道,它提供保密性、完整性和可选的身份鉴别等安全功能。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互操作性测试 interoperability testing测试不同SSL协议应用之间的互操作能力。3.8健壮性 robustness健壮性是描述一个系统或者一个组件在无效数据输入或者在高强度输入等环境下,其各项功能可保持正确运行的程度。3.9健壮性测试 robustness testing测试SSL协议应用对错误(包括无效的、非期望输入或者恶意攻击)的有效处理能力。3.10基本连通测试 basic interconnection testing测试SSL协议应用的基本连通的情况。3.11行为测试 behaviour testing测试SSL协议应用的动态行为的符合性,包括正确输入行为符合性测试和非正确输入行为符合性测试。3.12连接建立时延 connection established delay准备数据通信前的协商过程所需要的时间。3.13传送时延transmission delay数据从一方传送到另一方所需要的时间。3.14连接拆除时延 connection released delay连接拆除所需要的时间。包括两种类型,一是客户端完成服务后,请求连接拆除的时延,二是服务器主动连接拆除的时延。3.15吞吐量 throughput丢包率为零的情况下,单位时间内传输有效数据的数量。3.16剩余错误比率 residual error ratio在给定的时间间隔内,传送不正确、丢失或者重复的数据量和传输正确的数据量之比。3.17失败概率 probability of failure包括连接建立失败概率、传送失败概率以及连接拆除失败概率等。3.18新建连接 new connectionsSSL协议服务器每秒钟能够建立的SSL连接数。3.19并发连接数 max connectionsSSL服务器能够同时处理的最大SSL连接数。4 缩略语下列缩略语适用于本文件。SSL 安全套接层协议 Secure Sockets LayerTLS 传输层安全协议 Transport Layer SecurityMAC 消息鉴别码 Message Authentication CodeID 会话标识 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协议应用的测试内容,包括功能测试、性能测试、健壮性测试和互操作性测试。功能测试包括基本连通测试、安全功能测试和行为测试。基本连通测试完成SSL协议应用的基本连通情况测试,它是后续其它测试的基础,如果本项测试失败,则其它测试无法进行;安全功能测试包括密码算法协商功能测试、身份鉴别功能测试、数据保密性保护功能测试和数据完整性保护功能测试,安全功能中涉及到的密码算法应符合国家密码管理的相关规定和要求;为保证各项安全功能的有效性,SSL协议应用的动态行为必须符合规范要求,行为测试完成SSL协议应用的动态行为的符合性测试,包括正确输入行为符合性测试和非正确输入符合性测试。性能测试完成不同网络负载情况下,SSL协议应用的性能参数测试,包括连接建立时间、传送时延、连接拆除时间、吞吐量、剩余错误比率、失败概率、新建连接数和并发连接数。健壮性是描述一个系统或者组件在无效数据输入或高强度输入等环境下,其各项功能可保持正确运行的程度。SSL协议应用属于安全产品,其健壮性对于其安全功能的有效性至关重要。健壮性测试完成SSL协议应用对错误的有效处理能力,包括无效报文处理能力、异常事件处理能力和高强度负载处理能力。互操作性测试完成不同厂家SSL协议应用间的互操作能力测试,包括基本连通互操性作测试和安全功能互操作测试。基本连通互操作性测试内容和功能测试中的基本连通测试内容一样,安全功能互操作性测试和功能测试中的安全功能测试内容一样。它们之间的区别在于,功能测试是SSL协议应用和测试系统之间的交互,而互操作性测试是不同的SSL协议应用间的交互(参见5.3 测试环境说明的内容),同时对于错误的判别方法有所不同。本标准中,对于互操作性测试的相关内容不重复描述,测试人员可参照相关内容完成互操作性测试。5.3 测试环境说明虽然SSL协议应用测试不依赖于特定的测试工具,但是为规范测试人员的测试活动,本标准推荐采用GB/T17178.1-1997中的远程测试方法,并依照此方法给出了测试步骤指南。其目的在于规范测试基本步骤和关键要点,测试人员可在此基础上,选择相关的测试辅助工具,产生具体的测试用例,并进行测试。SSL协议应用测试基本环境如图1所示。当进行功能测试和健壮性测试时,被测对象1或被测对象2可能是SSL协议应用的客户端或服务器,测试系统和被测对象进行消息交互,通过对消息的判别,完成各项功能测试。当进行性能测试时候,被测对象1和被测对象2,分别对应被测SSL协议应用的客户端和服务器,通过对客户端和服务器交互消息的判别和统计,完成各项性能测试。图1 SSL协议应用测试基本环境当进行互操作性测试时,被测对象1和被对象2分别是不同厂家实现的SSL协议产品的客户端和服务器,通过分析客户端和服务器的消息交互,完成各项互操作性测试。6 测试内容规范6.1 匿名会话模式测试内容6.1.1 功能测试6.1.1.1 基本连通测试测试SSL协议应用在匿名会话模式下,客户端和服务器间的基本连通能力。6.1.1.2 安全功能测试测试内容如下:a) 密码协商功能:1) 密码算法协商:协商会话两端共用的密钥交换算法、加密算法和MAC算法,这些算法必须在线完成协商;2) 共享密钥协商:根据协商的密钥交换算法,会话两端完成共享密钥的协商;b) 数据保密性保护功能:客户端和服务器能够应用协商好的加密算法以及共享密钥对传输的数据加密,以保护数据的保密性;c) 数据完整性保护功能:客户端和服务器能够应用协商好的MAC算法以及共享密钥对传输的数据进行完整性保护。6.1.1.3 客户端行为测试在匿名会话模式下,客户端行为状态参见图A.2,其行为测试的内容包括:a) 初始状态在接收HelloRequest*消息的条件下,或者在未接收任何消息的条件下,发送ClientHello消息。HelloRequest消息和ClientHello消息应符合规范要求。除了接收HelloRequest消息外,忽略其它一切可能接收到的消息。b) 握手状态应依次接收ServerHello消息、ServerKeyExchange*消息、ServerHelloDone消息,中间不应有其它任何消息,消息格式应符合规范要求。然后,应依次发送ClientKeyExchange消息、ChangeCipherSpec消息和客户端Finished消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应依次接收ServerHello消息、ServerKeyExchange*消息、ServerHelloDone消息,如果是其它的非警报协议消息或者其它的次序,则发送unexpected_message警报协议消息,并关闭当前连接。2) illegal_parameter:接收到的ServerHello消息、ServerKeyExchange*消息、ServerHelloDone消息中的任意一个域的值超过了规定的值,则发送illegal_parameter警报协议消息,并关闭当前连接。3) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。4) decode_error:在握手状态下,对接收到的任何消息,如果解码失败,则发送decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。5) protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。6) internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。7) 接收服务器警报消息:接收到服务器发送过来的警报协议消息,则关闭当前连接。c) 密钥交换状态应依次接收ChangeCipherSpec消息、服务器Finished消息,中间不应有其它消息,消息格式应符合规范要求。此时,客户端可发送应用数据消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应依次接收ChangeCipherSpec消息、服务器Finished消息,如果是其它的非警报协议消息或者其它的次序,则发送unexpected_message警报协议消息,并关闭当前连接。2) bad_record_mac:处理服务器Finished消息时,MAC验证失败,则发送bad_record_mac警报协议消息,并关闭当前连接。3) decompression_failure:处理服务器Finished消息时,如果使用了压缩处理,并且消息解压缩失败,则发送decompression_failure警报协议消息,并关闭当前连接。4) illegal_parameter:接收到的ChangeCipherSpec消息、服务器Finished消息中的任意一个域的值超过了规定的值,则发送illegal_parameter警报协议消息,并关闭当前连接。5) decryption_failed:处理服务器Finished消息时,解密出来的数据不符合密码算法的要求(如数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。6) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。7) decode_error:对接收到的任何消息,如果解码失败,则发送decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.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:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。11) 接收服务器警报协议消息:接收到服务器发送过来的警报协议消息,则关闭当前连接。d) 工作状态应只有三种行为,一是接收或发送应用数据消息,消息格式应符合规范要求;二是接收服务器的关闭通知Close_notify警报协议消息,消息格式应符合规范要求;三是用户终止会话连接,客户端关闭连接,如果是SSL3.0版本,则同时向对方发送Close_notify警报协议消息,消息格式应符合规范要求,如果是SSL3.1/TLS1.0及以后版本,则同时向对方发送user_canceled警报协议消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应接收服务器应用数据消息或Close_notify消息,如果是其它的非警报协议消息,则发送unexpected_message警报协议消息,并关闭当前连接。2) bad_record_mac:处理服务器应用数据消息时,MAC验证失败,则发送bad_record_mac警报协议消息,并关闭当前连接。3) decompression_failure:处理服务器应用数据消息时,如果使用了压缩处理,并且消息解压缩失败,则发送decompression_failure警报协议消息,并关闭当前连接。4) decryption_failed:处理服务器应用数据消息时,解密出来的数据不符合密码算法的要求(数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。5) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。6) decode_error:对接收到的任何消息,如果解码失败,则发送decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在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:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。10) 接收服务器警报协议消息:接收到服务器发送过来的警报协议消息,则关闭当前连接。6.1.1.4 服务器行为测试在匿名会话模式下,服务器行为状态参见图A.3,其行为测试的内容包括:a) 初始状态应接收ClientHello消息,消息格式应符合规范要求;然后,应依次发送ServerHello消息、ServerKeyExchange*消息和ServerHelloDone消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应接收ClientHello消息,如果是其它的非警报协议消息,则发送unexpected_message警报协议消息,并关闭当前连接。2) handshake_failure:如果无法完成安全参数的协商,则发送handshake_failure警报协议消息,并关闭当前连接。3) illegal_parameter:接收到的客户端ClientHello消息的任意一个域的值超过了规定的值,则发送illegal_parameter警报协议消息,并关闭当前连接。4) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。5) decode_error:对接收到的任何消息,如果解码失败,则发送decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。6) protocol_version:对接收到的任何消息,如果版本号不是规范中要求的,则发送protocol_version警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。7) insufficient_security:如果服务器认为客户端ClientHello消息中的候选密码组安全强度不够时,则发送insufficient_security警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。8) internal_error:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。b) 握手状态应依次接收ClientKeyExchange消息、ChangeCipherSpec消息和客户端Finished消息,消息格式应符合规范要求;然后,应依次发送ChangeCipherSpec消息和服务器Finished消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应依次接收ClientKeyExchange消息、ChangeCipherSpec消息和客户端Finished消息,如果是其它的非警报协议消息,则发送unexpected_message警报协议消息,并关闭当前连接。2) bad_record_mac:处理客户端发送过来的Finished消息时,MAC验证失败,则发送bad_record_mac警报协议消息,并关闭当前连接。3) decompression_failure:处理客户端发送过来的Finished消息时,如果使用了压缩处理,并且消息解压缩失败,则发送decompression_failure警报协议消息,并关闭当前连接。4) illegal_parameter:接收到的任意消息的任意一个域的值超过了规定的值,则发送illegal_parameter警报协议消息,并关闭当前连接。5) decryption_failed:处理客户端Finished消息时,解密出来的数据不符合密码算法的要求(如数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。6) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。7) decode_error:对接收到的任何消息,如果解码失败,则发送decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.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:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。11) 接收客户端警报消息:接收到客户端发送过来的警报协议消息,则关闭当前连接。c) 工作状态应只有三种行为,一是接收或发送应用数据消息,消息格式应符合规范要求;二是接收客户端的关闭通知Close_notify警报协议消息,消息格式应符合规范要求;三是用户终止会话连接,服务器关闭连接,如果是SSL3.0版本,则同时向对方发送Close_notify警报协议消息,消息格式应符合规范的要求,如果是SSL3.1/TLS1.0及以后版本,则同时向对方发送user_canceled警报协议消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应接收客户端应用数据消息或Close_notify消息,如果是其它的非警报协议消息,则发送unexpected_message警报协议消息,并关闭当前连接。2) bad_record_mac:处理客户端应用数据消息时,MAC验证失败,则发送bad_record_mac警报协议消息,并关闭当前连接。3) decompression_failure:处理客户端应用数据消息时,如果使用了压缩处理,并且消息解压缩失败,则发送decompression_failure警报协议消息,并关闭当前连接。4) decryption_failed:处理客户端应用数据消息时,解密出来的数据不符合密码算法的要求(如数据的长度不是某数的整数倍,或者填充的数据的值不符合要求),则发送decryption_failed警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。5) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。6) decode_error:对接收到的任何消息,如果解码失败,则发送decode_error警报协议消息,并关闭当前连接。该情况处理方式出现在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:如果处理过程中出现了内部错误(如内存分配失败),则发送internal_error警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。10) 接收客户端警报消息:接收到客户端发送过来的警报协议消息,则关闭当前连接。6.1.2 性能测试在匿名模式下,性能测试内容包括:a) 连接建立时延;b) 传送时延;c) 连接拆除时延;d) 吞吐量;e) 剩余错误比率;f) 失败概率;g) 新建连接数;h) 并发连接数。6.1.3 健壮性测试6.1.3.1 无效报文处理测试测试内容包括:a) 错误报文处理能力测试:当接收的报文消息头或者消息体中有错误时,SSL协议应用客户端和服务器的处理能力测试;b) 非期望报文处理能力测试:当接收到一个正确的报文,但报文不是当前状态所期望的输入报文时,SSL协议应用客户端和服务器的处理能力测试。6.1.3.2 异常事件处理测试测试内容包括:a) 连接中断处理能力测试:在连接突然非正常终止情况下,SSL协议应用客户端和服务器的处理能力测试;b) 等待超时处理测试能力:等待报文超时时,SSL协议应用客户端和服务器的处理能力测试。6.1.3.3 高强度负载测试测试内容包括:a) 网络高强度负载处理能力测试:在网络中流量负载比较大的情况下,SSL协议应用客户端和服务器的处理能力测试;b) 系统高强度负载处理能力测试:运行SSL协议应用客户端或者服务器的系统,多种资源消耗比较多的情况下(如CPU或者内存),SSL协议应用客户端和服务器的处理能力测试。6.1.4 互操作性测试6.1.4.1 基本互连测试在匿名会话模式下,测试不同SSL协议应用客户端和服务器之间的互连情况。6.1.4.2 功能互操作性测试在匿名会话模式下,应用不同SSL协议应用客户端和服务器互连后,其测试内容按6.1.1.2给出的要求。6.2 服务器验证会话模式测试内容6.2.1 功能测试6.2.1.1 基本连通测试测试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消息、Certificate消息、ServerKeyExchange*消息、ServerHelloDone消息,中间不应有其它消息,消息格式应符合规范要求;然后,应依次发送ClientKeyExchange消息、ChangeCipherSpec消息和客户端Finished消息,中间不应有其它消息,消息格式应符合规范要求。如果是其它情况,则可发送有关的警报协议消息,消息格式应符合规范要求。可能的处理情况和发送的警报协议消息如下:1) unexpected_message:应依次接收ServerHello消息、Certificate消息、ServerKeyExchange*消息、ServerHelloDone消息,如果是其它的非警报协议消息或其它的次序,则发送unexpected_message警报协议消息,并关闭当前连接。2) bad_certificate:如果验证服务器的Certificate消息中的身份证书失败,则发送bad_certificate警报协议消息,并关闭当前连接。3) unsupported_certificate:如果服务器递交的身份证书格式,客户端本地不支持,则发送unsupported_certificate警报协议消息,并关闭当前连接。4) certificate_revoked:如果服务器递交的身份证书已经被其颁发者撤消,则发送certificate_revoked警报协议消息,并关闭当前连接。5) certificate_expired:如果服务器递交的身份证书已经过期,则发送certificate_expired警报协议消息,并关闭当前连接。6) certificate_unknown:如果客户端处理服务器递交的身份证书过程中,出现异常,导致身份鉴别不成功,则发送certificate_unknown警报协议消息,并关闭当前连接。7) illegal_parameter:接收到的ServerHello消息、Certificate消息、ServerKeyExchange*消息、ServerHelloDone消息中的任意一个域的值超过了规定的值,则发送illegal_parameter警报协议消息,并关闭当前连接。8) record_overflow:接收到的数据长度,超过了规定的长度,则发送record_overflow警报协议消息,并关闭当前连接。该情况处理方式出现在SSL3.1/TLS1.0及以后版本。