3.4 KiB
3.4 KiB
根据搜索结果,“TLCP”指的是传输层密码协议(Transport Layer Cryptography Protocol),是中国国家标准(GB/T 38636-2020)中定义的、完全采用国密算法(如SM2、SM3、SM4)的安全通信协议。
至于GmSSL项目中为何能看到TLS 1.2、1.3和TLCP,却没有TLS 1.0和1.1,主要有两个原因:一是国密标准的特殊性,二是基于安全性和合规性的设计。
为了让你更清晰地了解GmSSL所支持的协议及其特点,我整理了下面的表格:
| 协议名称 | 标准依据 | GmSSL支持情况 | 主要特点与目的 |
|---|---|---|---|
| TLCP | 国家标准 GB/T 38636-2020,前身是GM/T 0024-2014 | 支持 (TLCP 1.1) | 纯国密算法。为中国网络环境定制的传输层安全协议,强调合规性,是GmSSL的重点支持协议。 |
| TLS 1.3 | 国际标准 (RFC 8446) | 支持 | 现代国际标准。安全性最高、性能最佳。GmSSL也支持其中国密算法套件(RFC 8998)。 |
| TLS 1.2 | 国际标准 (RFC 5246) | 支持 | 广泛兼容的国际标准。为了与现有国际互联网生态兼容,GmSSL同样支持包含国密算法套件的TLS 1.2。 |
| TLS 1.1 / 1.0 | 国际标准 (已过时) | 不支持 | 陈旧且存在已知安全缺陷。出于安全性考虑,现代密码库(包括GmSSL)通常已放弃支持。 |
🔍 深入解析两个核心问题
1. TLCP是什么? TLCP是一个独立的国家标准协议。它并非国际TLS协议的直接修改版,而是基于中国密码标准体系重新设计的。其核心特点包括:
- 强制使用国密算法:全面采用SM2(非对称加密/签名)、SM3(杂凑)、SM4(对称加密)等国密算法。
- 独特的“双证书”体系:要求服务器端同时使用“加密证书”和“签名证书”两套证书,将密钥交换与身份认证分离,增强了安全性与监管能力。
- 独立的协议版本号:为了避免与国际TLS协议混淆,TLCP在通信中使用独立的协议版本号
0x0101。
2. 为什么GmSSL不支持TLS 1.0/1.1? 这是GmSSL主动的设计选择,主要基于两方面原因:
- 安全性考量:TLS 1.0和1.1协议已被证实存在多个严重安全漏洞,在现代安全实践中已被普遍弃用。
- 合规性聚焦:GmSSL的核心目标是提供符合中国密码管理要求的解决方案。它优先实现了代表国密标准的TLCP,以及当前最安全、最主流的国际标准TLS 1.3和广泛使用的TLS 1.2,并在这些版本中集成了国密算法套件。这样既确保了合规,又兼顾了安全性与互通性。
总而言之,你可以将GmSSL理解为:一个以支持国密标准TLCP为核心,同时兼容安全的国际标准TLS 1.2/1.3(含国密套件),并主动摒弃了过时不安全协议的密码工具箱。
如果你正在使用GmSSL进行开发,需要根据你的通信对方(是国密环境还是国际环境)来选择启用TLCP或TLS协议。