摘要:SSL/TLS协议是业界常用的加密通信协议,通过该协议可以完成通信双方身份认证,会话密钥协商,通信内容加密和完整性保护。

本文分享自华为云社区《GaussDB(DWS)安全测试之TLS协议》,作者:ACBD 。

1. 协议安全机制

SSL/TLS协议是业界常用的加密通信协议,通过该协议可以完成通信双方身份认证,会话密钥协商,通信内容加密和完整性保护。SSL/TLS协议的算法套件包含4种算法:密钥交换、认证、加密、MAC算法。如TLS_DHE_RSA_WITH_AES_128_CBC_SHA256算法套件,DHE是密钥交换算法,RSA是认证算法,AES_128_CBC是对称加密算法,SHA256是做完整性保护的MAC算法。如果没有显示密钥交换算法和认证算法,那么这两者都是RSA算法,如:TLS _RSA_WITH_AES_128_CBC_SHA。如果套件中的有一种算法不安全,那么就应该禁用该算法套件。

SSL/TLS协议体系结构

SSL/TLS协议实现的安全机制包括:

  • 密钥配送的安全性:利用密钥协商算法来保障密钥本身的安全性。
  • 数据传输的机密性:利用对称密钥算法对传输的数据进行加密。
  • 身份验证机制:基于证书利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证是可选的。
  • 消息完整性验证:消息传输过程中使用MAC算法来检验消息的完整性。

上述四个部分构成了SSL/TLS加密套件。

例如TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,由协议名称TLS、密钥交换算法 KeyExchange(密钥协商)ECDHE、认证算法 Au (身份验证)RSA、对称加密算法 Enc (信息加密)AES_256_CBC和信息摘要 Mac(完整性校验)SHA384组成。

SSL/TLS协议组成

TLS/SSL的功能实现主要依赖于三类基本算法:非对称加密、对称加密和散列函数 Hash,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

2. 测试关注点

  • 协议版本
  • SSL协议:SSL协议各版本均存在安全漏洞,因此禁止使用,包括0、2.0和3.0。
  • TLS协议:禁止使用0、TLS1.1协议,荐使用TLS1.2或者TLS1.3。
  • 密钥协商交换算法

在客户端和服务器开始交换TLS所保护的加密信息之前,他们必须安全地交换或协定加密密钥和加密数据时要使用的密码。DH/ECDH的密钥协商协议不能验证服务器或用户,易受中间人攻击因此不能使用,需要使用能提供前向保密能力的DHE/ECDHE算法,且禁止使用RSA作为密钥交换算法。

  • 认证算法

目前主流的是RSA算法,需注意算法长度小于2048bits为不安全算法,推荐使用长度大于3072bits的安全算法。

  • 加密算法

数据加密使用对称加密算法,常见的加密算法有 AES-CBC、3DES、AES-GCM等,注意使用安全的加密算法,对于已被认为不安全的算法应禁止使用。

分组加密场景,产品应优先选择GCM模式。TLS的算法套件的选择,是按照顺序从前到后逐个匹配的,需要把优选的套件放在前面,次选的放在后面。

  • 完整性算法

为了避免网络中传输的数据被非法篡改,SSL/TLS利用基于MD5或SHA的MAC算法来保证消息的完整性。其中基于MD5的算法已被证明不安全,禁止使用,基于SHA的算法需使用安全的SHA3、SHA25或以上。

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料哦~

点击关注,第一时间了解华为云新鲜技术~

带你了解数仓安全测试的TLS协议的更多相关文章

  1. 从读写角度,带你了解数仓的IO基本框架

    摘要:本文从读取和写入的角度分别描述了行存和列存的IO模型,并对文件结构做了简单介绍. 本文分享自华为云社区<GaussDB(DWS)基本IO框架>,作者: Naibaoofficial. ...

  2. 使用JMeter进行一次简单的带json数据的post请求测试

    使用JMeter进行一次简单的带json数据的post请求测试 原文:https://www.cnblogs.com/summer-mm/p/7717812.html 1.启动jmeter:在bin下 ...

  3. 好程序员带你了解一下HTTPS和SSL/TLS协议的背景与基础

    >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 TCP 的关系(尤其 ...

  4. soapUI 使用soapUI测试http+json协议接口简介

    使用soapUI测试http+json协议接口简介 by:授客 QQ:1033553122 SoapUI-Pro-x64-5.1.2_576025(含破解文件),软件下载地址: http://pan. ...

  5. 使用JMeter测试基于WebSocket协议的服务

    使用JMeter测试基于WebSocket协议的服务 :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba( ...

  6. 一文详解数仓GaussDB(DWS) 函数出参带出方式

    摘要:本文主要讲解DWS函数出参带出方式. 本文分享自华为云社区<GaussDB(DWS)功能 -- 函数出参 #[玩转PB级数仓GaussDB(DWS)]>,作者:譡里个檔 . DWS的 ...

  7. 微软自带的Serialization和Newtonsoft简单测试

    刚刚对这两个进行了一下小小的测试 发现 当转换的内容少的时候  微软自带的比Newtonsoft速度要快一些,内容多的时候反之,当内容多到一定量的时候微软自带的就不能转换了,需要修改一下MaxJson ...

  8. Spring Boot整合log4j实战(一):排除自带依赖、日志重定向、测试类验证

    〇.参考资料 1.springboot整合log4j全过程详解 https://blog.csdn.net/m0_60845963/article/details/123307232 2.Spring ...

  9. 使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数

    配置: 1.新建一个线程组: 然后设置线程数.运行时间.重复次数. 2.新建Http请求: 设置服务器域名,路径,方法,编码格式,数据内容. 可以在函数助手中,编辑所需要的变量,比如本例中的随机生成电 ...

  10. 详解数仓中sequence的应用场景及优化

    摘要:本文简单介绍sequence的使用场景及如何修改sequence的cache值提高性能. 本文分享自华为云社区<GaussDB(DWS)关于sequence的那些事>,作者:Arro ...

随机推荐

  1. [转]深入HBase架构解析

    HBase架构讲解非常清晰的一篇文章,转自 http://www.blogjava.net/DLevin/archive/2015/08/22/426877.htmlhttp://www.blogja ...

  2. [Python急救站课程]Hello Kitty的绘制

    我女朋友喜欢Hello Kitty,当她知道我会用Python画图,让我给画一个,怎么说呢,当然要安排上啦!请看程序 import math import turtle as t # 计算长度.角度 ...

  3. easyre-153

    这里也是没有做出来,因为有隐藏函数的原因(第一次见) 攻防世界XCTF 3rd-RCTF-2017 easyre153学习笔记_rhelheg-CSDN博客 攻防世界逆向高手题之easyre-153- ...

  4. ez_sql

    打开界面是查询界面 点击不同的查询页面返回的内容不同,然后url的地址发生变化,毫无疑问注入点在id处 这里直接进行测试 单引号无回显 双引号回显id不存在 初步判断为字符型注入且为单引号包裹 因为双 ...

  5. typeid关键词

    typeid是c++的关键字,typeid操作符的返回结果是名为type_info的标准库类型的对象的引用(在头文件typeinfo中定义) ISO C++标准并没有确切定义type_info,它的确 ...

  6. Acwing 180. 排书

    给定 \(n\) 本书,编号为 1∼n. 在初始状态下,书是任意排列的. 在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置. 我们的目标状态是把书按照 1∼n 的顺序依次排列. 求最 ...

  7. Vue3 第三章

    Vite目录 public 下面的不会被编译 可以存放静态资源 assets 下面可以存放可编译的静态资源 components 下面用来存放我们的组件 App.vue 是全局组件 main ts 全 ...

  8. 阿里云服务器docker系统 BUG

    阿里云服务器docker系统 BUG购买了阿里云新加坡区的轻量服务器,安装的是docker专用系统,故障现象:docker镜像下载后,docker网络不通,docker端口不通,网络一直不通,通过防火 ...

  9. Filter拦截问题

    关于Filter拦截问题 刚开始我创建了个servlet项目一直拦截不成功 首先是因为导包的问题      import javax.servlet.*; 必须是这个包才有 第一个这个Javax.se ...

  10. MySQL运维15-一主一从读写分离

    一.读写分离介绍 读写分离,是把数据库的读和写分开操作,以应对不同的数据库服务器.主数据库提供写操作,从数据库提供读操作,这样能有效的减轻单台数据库的压力. 二.一主一从原理 MySQL的主从复制是基 ...