写点什么

带你了解数仓安全测试的 TLS 协议

发布于: 2 小时前

摘要: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 级数仓黑科技,后台还可获取众多学习资料哦~


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

发布于: 2 小时前阅读数: 3
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
带你了解数仓安全测试的TLS协议