博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TLS协议测试资源汇总
阅读量:4208 次
发布时间:2019-05-26

本文共 1050 字,大约阅读时间需要 3 分钟。

本文没有什么干货,今天有一个需求是测试一下TLS协议,覆盖RFC文档中的一些异常,异常包括:unexpected_message、bad_record_mac等。更多的异常可以参考tls 1.2的rfc文档:,tls1.0rfc文档:。

相关概念

所有连接到互联网的设备都有一个共同点,它们依赖安全套接字层(secure socket layer,SSL) 和传输层安全(transport layer security,TLS)协议保护传输的信息。

SSL/TLS协议是用来加密传输的协议。如果根据OSI七层模型来分类工作在传输层之上,应用层之下的表示层。就常见的HTTP协议而言,可以引入SSL/TLS层,也可以不引入。

关于OpenSSL,OpenSSL项目是安全套接字层(secure sockets layer,SSL)和传输层安全(transport layer security,TLS)协议的一个实现,是一个开源项目,大多*nix系统安装时就继承了openssl。输入:openssl version -a来查看当前的openssl版本。大多数用户借助OpenSSL是因为希望配置并运行能够支持SSL的Web服务器。整个过程包括3 个步骤:(1) 生成强加密的私钥;(2) 创建证书签名申请(certificate signing request,CSR)并且发 送给CA;(3) 在你的Web服务器上安装CA提供的证书。具体的服务器配置和openssl的使用方法可以参考《HTTPS权威指南》。

关于SSL的握手过程可以参考【1】和【2】,核心过程基于非对称加密算法:

 

测试

我们的目标在于测试TLS协议的问题,因此设想需要寻找一个基于TLS协议的应用,并且构造TLS数据包观察异常的覆盖面。一阵搜索之后找到了tlsfuzzer【5】,用来fuzz tls协议的。这里简单介绍一下工作原理。

原理:sever端首先生成一个私钥以及根据私钥生成的证书,之后根据该证书基于openssl来运行一个server。 client端使用scripts中的脚本来测试。scripts脚本中覆盖了部分的异常,但是不是非常全面。举例,unexpected_message异常:

参考&资源汇总

  1. SSL/TLS协议运行机制的概述 

  2. 图解SSL/TLS协议 

  3. google的ssl/tls测试工具:

  4. 针对ssl来中间人攻击的工具:

  5. tlsfuzzer 

  6. 《https的权威指南》,有高清可复制的pdf可以下载

 

转载地址:http://jrmli.baihongyu.com/

你可能感兴趣的文章
MySQL必知必会 -- 使用MySQL
查看>>
MySQL必知必会 -- 数据检索
查看>>
MySQL必知必会 -- 排序检索数据 ORDER BY
查看>>
MySQL必知必会 -- 数据过滤
查看>>
MYSQL必知必会 -- 用通配符进行过滤
查看>>
MYSQL必知必会 -- 用正则表达式进行搜索
查看>>
MySQL必知必会 -- 创建计算字段
查看>>
MySQL必知必会 -- 使用数据处理函数
查看>>
MySQL必知必会 -- 数据汇总
查看>>
MySQL必知必会 -- 子查询的使用
查看>>
POJ 3087 解题报告
查看>>
POJ 2536 解题报告
查看>>
POJ 1154 解题报告
查看>>
POJ 1661 解题报告
查看>>
POJ 1101 解题报告
查看>>
ACM POJ catalogues[转载]
查看>>
ACM经历总结[转载]
查看>>
C/C++文件操作[转载]
查看>>
专业计划
查看>>
小米笔试:最大子数组乘积
查看>>