当前位置: 首页 > news >正文

安全攻防 - 02 标准背景:国际 TLS、RFC 8998 与中国 TLCP

文章目录1. 国际 TLS普通 HTTPS 的主流基础1.1 TLS 1.21.2 TLS 1.32. RFC 8998TLS 1.3 里怎么用国密算法3. 中国 TLCPGB/T 38636-20204. SM2、SM3、SM4 分别负责什么4.1 SM24.2 SM34.3 SM45. TLCP、GMSSL、NTLS 名字怎么对齐6. 为什么本工程选 Tencent Kona7. 标准和实现之间的关系8. 对接时的判断题8.1 对方说“我们是国密双证书”8.2 对方说“我们是 TLS 1.3 国密套件”8.3 对方只说“SM2 证书”8.4 对方给你 .cer 文件9. 本篇小结这一篇回答一个经常让新手困惑的问题国密 SSL、TLCP、GMSSL、NTLS、TLS 1.3 国密套件、SM2 证书到底是不是一回事结论先说不是一回事。它们有关联但不能混用。1. 国际 TLS普通 HTTPS 的主流基础1.1 TLS 1.2TLS 1.2 对应 RFC 5246发布于 2008 年。它长期是互联网 HTTPS 的主力版本。TLS 1.2 的特点是密码套件名字里通常包含很多信息例如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256这个名字大概说明用 ECDHE 做临时密钥交换用 RSA 做认证用 AES-128-GCM 做对称加密用 SHA-256 做摘要/伪随机函数相关工作。1.2 TLS 1.3TLS 1.3 对应 RFC 8446发布于 2018 年。它废弃了很多旧算法握手流程也比 TLS 1.2 更现代。TLS 1.3 的密码套件名字更短例如TLS_AES_128_GCM_SHA256为什么少了 RSA/ECDHE因为 TLS 1.3 把“密钥交换、签名算法、对称加密”拆到不同扩展里协商不再像 TLS 1.2 那样全塞在一个套件名里。2. RFC 8998TLS 1.3 里怎么用国密算法RFC 8998 讲的是在 TLS 1.3 中使用 ShangMi/SM 算法的方式包括TLS_SM4_GCM_SM3 TLS_SM4_CCM_SM3它涉及SM2签名/认证SM3杂凑SM4对称加密ECDHE over SM2 curve密钥交换相关机制。但是要特别注意RFC 8998 是TLS 1.3 profile不是 TLCP。它也不是 IETF 标准轨文档而是 informational RFC。RFC 8998 页面明确说明它不是 Internet Standards Track 规范并且 SM 算法的使用不代表 IETF 推荐。所以当对方说“国密 TLS 1.3”时你要确认是不是 RFC 8998当对方说“TLCP/GMSSL/NTLS”时就不是 RFC 8998 这条线。3. 中国 TLCPGB/T 38636-2020中国国家标准 GB/T 38636-2020《信息安全技术 传输层密码协议TLCP》 于 2020-04-28 发布2020-11-01 实施状态为现行。TLCP 可以理解为一种“TLS-like”的传输层密码协议但它不是普通 TLS 1.2也不是 TLS 1.3。Tencent Kona 的 README 里也解释过命名GB/T 38636-2020 定义的名称是Transport layer cryptography protocol在 Kona 项目里协议名叫TLCP版本是1.1历史上很多人也叫 GMSSL / GMSSL 1.1。本工程配置的是protocol:TLCPv1.1enabled-protocols:-TLCPv1.1所以本工程主线是TLCP v1.1 客户端接入不是 TLS 1.3 RFC 8998。4. SM2、SM3、SM4 分别负责什么国密 SSL/TLCP 里常见的算法是 SM2、SM3、SM4。4.1 SM2SM2 是椭圆曲线公钥密码算法系列。常见用途数字签名公钥加密密钥交换证书公钥算法。标准入口GB/T 32918.2-2016 SM2 第 2 部分数字签名算法GB/T 32918.5-2017 SM2 第 5 部分参数定义在 TLCP 里SM2 常用于服务端证书签名验证、ServerKeyExchange 签名验证以及加密预主密钥等环节。4.2 SM3SM3 是密码杂凑算法。标准入口GB/T 32905-2016 SM3 密码杂凑算法。你可以把 SM3 类比为国密体系里的 SHA-256 角色把任意长度输入压缩成固定长度摘要用于签名、消息认证、密钥派生等场景。本工程里一个关键配置是client-signature-schemes:-sm2sig_sm3它会写入 Kona 系统属性com.tencent.kona.ssl.client.signatureSchemessm2sig_sm3作用是让 ClientHello 告诉服务端客户端支持 SM2 SM3 的签名算法。4.3 SM4SM4 是分组密码算法。标准入口GB/T 32907-2016 SM4 分组密码算法。在 TLCP 里SM4 是握手后真正加密业务数据的对称算法。常见模式SM4-GCM SM4-CBC本工程默认套件TLCP_ECC_SM4_GCM_SM3 TLCP_ECC_SM4_CBC_SM35. TLCP、GMSSL、NTLS 名字怎么对齐不同生态里名字不完全一致名字常见来源大概含义TLCP国家标准、Tencent KonaGB/T 38636-2020 传输层密码协议GMSSL / GMSSL 1.1历史称呼、部分库/业务方通常指国密 SSL/TLCP 一类协议NTLSTongsuo/OpenSSL 衍生生态Tongsuo 中符合 GM/T 0024 SSL VPN 和 TLCP 的安全通信协议实现命名TLS 1.3 SMRFC 8998、部分云产品普通 TLS 1.3 框架中使用 SM2/SM3/SM4 套件Tongsuo TLCP 使用手册 中说明NTLS 在 Tongsuo 里指符合 GM/T 0024 SSL VPN 和 TLCP 协议的安全通信协议并强调其特征是加密证书/私钥与签名证书/私钥分离。所以你和服务端沟通时不要只问你们是不是国密应该问你们端口跑的是 TLCP/GMSSL/NTLS还是 TLS 1.3 RFC 8998 协议版本字符串是什么服务端密码套件名称是什么6. 为什么本工程选 Tencent KonaJava 里要做 TLCP核心问题是 JDK 默认 Provider 不够。Tencent Kona SM Suite 的官方 README 说明它是一组 Java 安全 Provider覆盖 SM2、SM3、SM4、TLCP/GMSSL、TLS 1.3 with RFC 8998 等能力并拆成多个模块Provider本工程用途KonaCryptoSM2/SM3/SM4 基础算法KonaPKIX国密证书、证书链、KeyStoreKonaSSLTLCP SSLContext、TrustManagerFactory、KeyManagerFactory本工程没有直接依赖一个“万能国密客户端”而是按 Java 安全体系拼装Security Provider → CertificateFactory / KeyStore / TrustManagerFactory → SSLContext → SSLSocketFactory → OkHttp → Forest这样好处是和 Java 生态兼容可以明确看到哪个环节失败可以在 Web 诊断页面展示证书、Provider、握手信息业务层仍然用 Forest 发 HTTP 请求不需要重写 multipart。7. 标准和实现之间的关系标准告诉你“协议应该是什么样”实现告诉你“这门语言里怎么用”。以本工程为例层次标准/实现在工程中的落点协议标准GB/T 38636-2020 TLCPprotocol: TLCPv1.1算法标准SM2/SM3/SM4 国家标准TLCP_ECC_SM4_GCM_SM3、sm2sig_sm3Java ProviderTencent KonaKonaProviderInitializer注册 ProviderHTTP 客户端Forest OkHttpDdFileUploadClient/InteractiveUploadService兼容补丁项目自定义 socket/session 包装TlcpProtocolMaskingSsl*也就是说标准没有直接告诉你怎么绕过 OkHttp 的枚举实现代码必须处理这些生态边界。8. 对接时的判断题8.1 对方说“我们是国密双证书”大概率是 TLCP/GMSSL/NTLS。你要继续问服务端签名证书和加密证书是否都配好了客户端是否需要双证书支持哪些套件ECC 还是 ECDHE端口是否只跑 TLCP8.2 对方说“我们是 TLS 1.3 国密套件”可能是 RFC 8998。你要继续问支持TLS_SM4_GCM_SM3还是TLS_SM4_CCM_SM3是否要求 SM2 证书Java 客户端使用哪个 Provider是否支持普通浏览器访问8.3 对方只说“SM2 证书”这不够。SM2 证书可以出现在不同协议里。你要问协议版本和密码套件。8.4 对方给你.cer文件这也不够。你要问它是根 CA中间 CA服务端签名证书服务端加密证书客户端证书不同证书放的位置完全不同。9. 本篇小结国际 HTTPS 主流基础是 TLS 1.2/1.3。RFC 8998 是 TLS 1.3 中使用国密算法的一种 profile不等于 TLCP。TLCP 是 GB/T 38636-2020 定义的传输层密码协议本工程使用TLCPv1.1。SM2、SM3、SM4 分别覆盖公钥、杂凑、对称加密能力。GMSSL、NTLS、TLCP 常在不同生态里混叫对接时必须问清协议版本和套件。本工程用 Tencent Kona 把国密算法、证书、TLCP SSLContext 接入 Java再桥接到 OkHttp/Forest。下一篇我们进入 TLCP 握手本身重点看双证书和密码套件。
http://www.zskr.cn/news/1388416.html

相关文章:

  • 别再手动加密了!用RuoYi-Vue-Plus的Encrypt组件,5分钟搞定Mybatis数据自动加解密
  • 2026年运城市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • TPS薄板样条:一个物理模型如何优雅地解决图像变形问题?
  • 前端SEO优化包括哪些方面?避免网页不收录的5个代码雷区
  • 三分钟免费将B站视频转为文字稿:智能转录工具终极指南
  • 别再只会用MAX/MIN了!MySQL里GREATEST和LEAST函数处理同行数据对比,实战打分场景保姆级教程
  • Python虚拟环境venv下,用Playwright搞自动化测试的完整配置流程(含Pytest插件)
  • 零基础跨行拿下月薪 10k,破局能力远比天赋更关键
  • Arm伪代码核心概念与工程实践详解
  • Playwright截图进阶:5分钟搞定‘仅截弹窗’和‘滚动截取完整长页面’
  • Android 11 WiFi MAC地址随机化失效了?手把手教你排查与修复(附配置属性详解)
  • MCP工具吃Token太猛?3个实测方案砍掉70%消耗
  • 为AI智能体设计的浏览器:从渲染引擎到语义引擎的范式转变
  • DeepSeek模型训练数据溯源指南:如何在48小时内完成IP权属链路审计?
  • Unity翻书效果实现:从Shader顶点位移到多页联动的完整方案
  • 不给现金,只给超3亿美元Token!Sam Altman开始“拿算力换股份”:向169家YC公司发200万美元Token,但要拿股权来换
  • AndLua加密APK逆向分析:从字节码提取到Java逻辑还原
  • IDA Pro花指令清除三法:字节匹配、CFG裁剪与语义替换
  • 基于大语言模型的GitHub PR描述自动生成工具设计与实践
  • 2026年舟山市本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 大熊猫898989
  • 2026年朔州市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • Unity Android构建报错SDK Tools version 0.0的根因与实战修复
  • 告别重复点击:用PyAutoGUI+psutil打造Windows游戏自动化守护进程(附完整源码)
  • ESP32-S3双功能实战:一个USB口同时实现U盘和虚拟串口,完整配置流程分享
  • A2UI框架:构建可解释、确定性交互的知识图谱智能体系统
  • 2026年四平市正规上门黄金白银回收品牌门店名录 K金+铂金+金条+银条回收门店联系方式推荐+指南 - 盛世金银回收
  • 用Xilinx Artix-7 FPGA驱动TDC-GPX2:一个完整的状态机SPI控制模块实现
  • Java集合全解析:体系架构+分类详解+底层原理+使用场景
  • IPSec的封装——TK
  • 全域无死角监测,无感技术筑牢矿山安全防线——黎阳之光重塑矿山安防新格局