国密在车联网安全认证场景中的应用

本文介绍国密算法的基础知识及其在车联网中的应用,特别是如何使用EMQ实现国密证书集成,保障车联网信息安全。文章详细解释了国密算法的分类及特性,并通过实例展示了如何在Nginx和HAProxy中集成国密算法。

前言

国密即国家密码局认定的国产密码算法。通过自主可控的国产密码算法保护重要数据的安全,是有效提升信息安全保障水平的重要举措。目前,我国在金融银行、教育、交通、通信、国防工业等各类重要领域的信息系统均已开始进行国产密码算法的升级改造。

随着汽车电动化、网联化、智能化交融发展,车辆运行安全、数据安全和网络安全风险交织叠加,亟需加快建立健全车联网网络安全和数据安全保障体系,为车联网产业安全健康发展提供支撑。2022 年 2 月,工业和信息化部在现有国家车联网产业标准体系的基础上,组织编制了《车联网网络安全和数据安全标准体系建设指南》,其中已发布的 GB/T 37376-2019《交通运输数字证书格式》等国标文件中,凡涉及密码算法相关的内容,均考虑了国密的应用与实现。

本文将详细介绍国密算法的分类及应用,以及如何使用 EMQX 实现国密证书集成,保障车联网信息安全。

国密的分类

为了保障在金融、医疗等领域保障信息传输安全,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)等。其中 SM1、SM4、SM7 是对称算法,SM2、SM9 是非对称算法,SM3 是哈希算法。

SM1 算法

SM1 算法是分组对称算法,分组长度为 128 位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以 IP 核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

SM2 算法

SM2 算法是一种先进安全的公钥密码算法,在我们国家商用密码体系中被用来替换 RSA 算法。SM2 算法就是 ECC 椭圆曲线密码机制,但在签名、密钥交换方面不同于 ECDSA、ECDH 等国际标准,而是采取了更为安全的机制。另外,SM2 推荐了一条 256 位的曲线作为标准曲线。

SM3 算法

SM3 是一种哈希算法,其算法本质是给数据加一个固定长度的指纹,这个固定长度就是256比特。用于密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。

SM4 算法

SM4 算法是一个分组算法,用于无线局域网产品。该算法的分组长度为 128 比特,密钥长度为 128 比特。加密算法与密钥扩展算法都采用 32 轮非线性迭代构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

SM7 算法

SM7 算法是一种分组密码算法,分组长度为 128 比特,密钥长度为 128 比特。SM7 的算法文本目前没有公开发布。

SM9 算法

SM9 是基于对的标识密码算法,与 SM2 类似,包含四个部分:总则,数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法。

目前支持国密算法的软硬件密码产品包括 SSL 网关、数字证书认证系统、密钥管理系统、金融数据加密机、签名验签服务器、智能密码钥匙、智能 IC 卡、PCI 密码卡等多种类型。但常用的操作系统、浏览器、网络设备、负载均衡设备等软硬件产品,仍然不支持国产密码算法。受到国密算法兼容性的制约,在 HTTPS 加密应用方面,国密算法的应用仍然比较滞后。

国密(GmSSL)证书与传统 SSL 证书对比

国密算法与传统算法对比

算法

传统 SSL 证书通常是 RSA 算法(2048 位),它是目前最有影响力和最常用的公钥加密算法,能抵抗已知的绝大多数密码攻击。但是随着密码技术的飞速发展,证实了 1024 位 RSA 算法存在着被攻击的风险,现已升级到 2048 位 RSA 算法。

现阶段的国密 SM2 证书采用的是 ECC 算法(256 位),由国家密码管理局于 2010 年 12 月发布,是我国自主设计的公钥密码算法,在椭圆曲线密码理论基础进行改进而来,其加密强度比 RSA 算法(2048 位)更高。

安全性能

虽然 RSA 算法在目前的 SSL 证书市场中依然占据着主流地位,但是随着计算机技术的发展,加上对因子分解的改进,对低位数的密钥攻击已成为可能。

目前基于 ECC 算法的 SM2 算法普遍采用 256 位密钥长度,它的单位安全强度相对较高,在工程应用中比较难以实现,破译或求解难度基本上是指数级的。因此,ECC 算法可以用较少的计算能力提供比 RSA 算法更高的安全强度,而所需的密钥长度却远比 RSA 算法低。

此外,为了不断提高安全强度,必须增加密钥长度,ECC 算法密钥长度增长速度较慢(例如:224-256-384),而 RSA 算法密钥长度则需呈倍数增长(例如:1024-2048-4096)。

传输速度

在通讯过程中,更长的密钥意味着必须来回发送更多的数据以验证连接。256 位的 SM2 算法相对于 2048 位的 RSA 算法,可以传输更少的数据,也就意味着更少的传输时间。经国外有关权威机构测试,在 Web服务器中采用 SM2 算法,Web 服务器新建并发处理响应时间比 RSA 算法快十几倍。

国密算法在设计时,RSA2048 是主流签名算法,所以这里暂不讨论 ECDSA 等算法。

国密算法在车云通信中的应用

国密算法在车云通信中主要用于对传输协议加解密:车机端作为发送端,一般数据都是用 SM4 对数据内容加密,使用 SM3 对内容进行摘要,再使用 SM2 对摘

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值