Files
Knowledge/sunyard/7 信安/SSL VPN/TLCP.md
T

29 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
根据搜索结果,“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协议。