29 lines
3.4 KiB
Markdown
29 lines
3.4 KiB
Markdown
根据搜索结果,“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协议。 |