文章目录

  • 前言
  • 一、基于国密SM2非证书标识公钥(IPK)技术
  • 二、IPK的技术实现
  • 三、IPK的应用场景
  • 四、IPK关键技术和创新点
    • 4.1.关键技术
    • 4.2.创新点
  • 五、相关性能比较
    • 5.1.SM2和SM9签名验证时间比较
    • 5.2.IPK与PKI、TF-CPK认证效率比较
    • 5.3.IPK与PKI比较
    • 5.4.IPK与TF-CPK的比较
  • 六、IPK的安全性说明
  • 七、IPK的应用特性
    • 7.1.安全性高
    • 7.2.兼容性强
    • 7.3.容灾性强
    • 7.4.签名短且计算量少
    • 7.5.自主可控
    • 7.6.适用性强
  • 总结

前言

随着物联网、大数据、人工智能的不断发展,网络边界的模糊,数字化成为各行业未来的发展方向,数据的安全保护越来越重要。

目前,物联网应用飞速发展,各种工业智能控制设备、智能家居设备、人工智能终端、机器人、无人机、智能汽车等均出现爆发式增长态势,虽给人们的生活提供了便利,但因缺乏设备服务提供者、应用、数据、交易等物的安全认证机制,存在诸如:网络攻击类型的多样化,物与物之间的安全防护和认证鉴权缺失,数据极易被截获或破解等安全风险。

在物联网场景中,主要特点是多节点、低功耗、低时延、大量的弱终端,以及海量数据,对数据安全的高效防护提出新的挑战。本文就介绍了一种基于SM2非证书标识公钥技术,更好的满足物联网数据轻量化安全需求,同时实现了密钥能力的泛在部署。


一、基于国密SM2非证书标识公钥(IPK)技术

在密码学公钥体制中,主要存在两大体制,一种是目前已经成熟的 PKI(即:Public Key Infrastructure) CA体系,也就是我们常说的证书公钥体系。经过10多年的发展,PKI证书认证体系为基于人类行为的网络应用起到了非常好的安全保障,而且已经被应用到各类互联网电子业务应用中。

随着近几年物联网的兴起,越来越多的应用不再基于人类本身,而是集中在各种物(即:设备/终端)上。物联网物与物之间的通讯存在窄带通讯、低功耗等要求,同时物联网还具有数量众多、广域分布等特点,再加上物联网应用本身的多样性、特殊性要求,使得物联网应用的安全需求与传统的、以人为主体的互联网应用不同,尤其在一些需快速实现安全认证的场合,采用PKI证书认证技术的不足也就逐步显现出来。于是,基于设备标识的标识公钥算法(如SM9就是典型的标识公钥算法)应运而生,将其应用于物联网安全应用中,为物联网应用的安全保障护航,从而形成了另一种基于标识的标识公钥体系。

在新兴的标识公钥体系中,SM9克服了PKI CA在物联网应用中的一些不足,实现了端对端的去中心化认证,可以更好的适应物联网的安全认证需求。但SM9计算资源的要求对物联网中存在的大量弱终端而言形成了新的挑战;另一方面,由于物联网平台基本已按照成熟的PKI CA体系建成,如何实现感知层物联网终端与平台层安全体系的兼容也成为物联网安全推进的关键。采用SM9的感知层网络与基于PKI CA的物联网平台互联互通的实现上存在一定的难度,同时,不同层次间采用两种互不兼容的安全体系也给物联网应用带来了更高的建设、运维难度和成本。

IPK(即:Identity Public Key)技术基于标识实现了SM2密钥对的生产,与现有的PKI证书公钥密码体系采用了相同的密码学基础,都是基于ECC,其所生成的SM2密钥对是相同的,只是与公钥的绑定方法不同:PKI证书公钥密码体系是通过证书实现标识与公钥的绑定,IPK则是通过映射方法实现标识与公钥的绑定,但在应用中采用的密码算法都是SM2和SM3,因此,IPK技术既是一种基于标识的SM2密钥对的生成方法,也是一种非证书公钥密码的密钥生成技术。

二、IPK的技术实现

基于标识的SM2密钥对生成方法(IPK)对标识映射方法进行了彻底的改进,解决了CPK存在的线性共谋风险问题。同时,本方法还实现了对随机公钥的真实性证明。IPK基于标识对矩阵的映射关系,实现了标识与密钥的关系绑定,从而以标识替代公钥,简化了海量公钥的管理与分发。

本方法的技术实现:是将随机公钥(终端自定义公钥+密钥中心自定义公钥)参与标识映射,实现随机公钥与标识的绑定;同时,让终端与密钥中心自己分别定义随机密钥对,以参与最终的密钥复合,有效解决了标识体系中密钥仅能在密钥中心生成的问题,实现了私钥只有终端自己所有,密钥中心无法知道终端私钥。

图1描述了IPK技术的公钥生成流程。

(以Alice发送一个签名给Bob,Bob收到后计算公钥为例说明公钥的生成流程。Alice发送给Bob的签名数据包涉及数据项{Alice, r, s, R},其中Alice为签名标识,(r,s)为SM2签名值,R为Alice密钥生成时Alice与密钥中心自定义的R1和R2之和(R = R1 + R2)。)

三、IPK的应用场景

IPK基于标识实现了SM2密钥对的生产,在应用中可实现点对点安全认证,主要解决物联网海量终端设备之间的快速安全认证问题,可以防止非法设备的接入,保障数据源的真实性和完整性,防止假冒攻击和篡改攻击。

IPK可适用于海量终端设备的快速认证应用场景:在工业制造与控制领域,可实现各类采集终端(如RTU、DTU、PLC等)与远程控制端的双向认证,并对控制端发送的控制指令和参数实现防篡改;针对工业生产或办公的无线核心网络,可实现海量终端设备的快速入网认证,防止非法设备的接入;针对车联网应用,可实现车辆之间、车辆与交通设施之间的快速认证,提高认证效率,提高车辆的快速通过性;针对智能家居、智慧城市的应用,可实现应用中各种异构、海量终端设备之间的点对点认证,防设备假冒,防数据篡改等。

IPK还可适用于各类需实现签名的非证书应用场景,实现设备公钥的安全分发:比如工业区块链应用中,针对无法使用证书的终端设备,可通过本方法,实现设备公钥的安全分发;针对电力物联网终端设备应用中,针对无法适用证书的终端设备,也可通过本方法,实现设备公钥的安全分发,完成终端设备的认证。

针对福利彩票、航空机票、交通车票等票据防伪,快速验证等市场需求,非证书的IPK技术有着签名短,认证速度快,验证效率高的特点,对于云端密码安全验证,二维码安全验证等场景。IPK都具有突出优势。

四、IPK关键技术和创新点

4.1.关键技术

基于标识的SM2密钥生成方法(IPK)通过较小的矩阵和组合数学思想以非常小的矩阵实现了海量密钥的管理,是一种轻量化的密钥生成与管理方法,简化了密钥生成的复杂度和管理难度,同时降低了密钥体系建设成本与运维成本。

IPK的基础是椭圆曲线密码体制,应用算法协议是SM2和SM3密码算法协议,是对SM2和SM3算法的应用创新,是一种基于标识的SM2密钥对生成方法。

IPK的主要特点如下:

(1) 密钥由终端、密钥中心与私钥矩阵协同生成;

(2) 引入了随机因子,消除了私钥之间的线性相关性;

(3) 是一种基于标识的非证书公钥密码的密钥生成技术。

4.2.创新点

IPK的创新点主要包括如下内容:

(1)本方法通过公、私钥矩阵和映射方法实现标识与密钥的绑定,以标识简化公钥分发与管理;

(2)在私钥生成过程中,由中心和终端共同参与,并在终端最终复合生成,即在密钥生产过程中加入了随机因子,消除了私钥间的线性相关;

(3)终端私钥最终由终端复合生成,中心并不知道终端的二阶复合私钥,解决了标识密钥只能由中心生成的信任问题,这种协同生成方式的密钥中心无法得到终端私钥,使签名可符合电子签名法;

(4)随机公钥因子R直接参与标识映射算法,实现随机公钥与标识间的绑定关系,不存在替换攻击风险。

五、相关性能比较

5.1.SM2和SM9签名验证时间比较

采用SM2和SM9的理论计算复杂度推导两种密码算法数字签名算法所消耗的时间进行对比分析:(以ECC256的一次倍点运算(kP)为基础单元时间(UT),分别计算两种密码算法在数字签名和签名验证上的时间消耗对比分析如下表。)

通过以上比较可以看出:SM2算法实现数字签名与签名验证的时间要优于SM9算法。

5.2.IPK与PKI、TF-CPK认证效率比较

SM2是目前在国内安全应用中最主要使用的公钥密码算法,存在多种不同的公钥管理体制,而不同体制下实现的认证效率不同。

下面针对PKI CA、TF-CPK和与本方法IPK三种管理体制下的设备认证效率进行对比分析。(下表中的算法均采用SM2密码算法,其中倍点运算是数字签名中的主要时间消耗,以一次倍点运算消耗的时间作为单元时间(UT)。)

通过以上比较可以看出:通过本方法IPK实现的安全认证相较于PKI CA、TF-CPK来讲,所用时间更短,其认证效率更高。

5.3.IPK与PKI比较

IPK与PKI都属于非对称的公钥密码体系,其应用协议是可以完全通用的,这也造就了IPK与PKI两项技术可以实现无缝对接。但IPK是无证书的公钥体系:标识与私钥种子计算产生标识对应的私钥(密钥中心);标识与公钥种子计算产生标识对应的公钥(应用端),同时计算公钥的过程就是公钥真实性的证明过程,是自证体系。

图2:传统PKI认证和非证书IPK认证比较

技术性能比较如下:

5.4.IPK与TF-CPK的比较

基于标识的SM2密钥对生成方法(IPK)和TF-CPK都通过随机因子消除私钥间的线性关系,以解决可能存在的共谋攻击风险,从这个角度分析,本方法采用了与TF-CPK相类似的安全策略,但也存在明显的不同。下面从两种方法采用的标识映射方法、随机公钥真实性证明以及私钥生成方法三个方面进行对比分析。具体比较如下:

(1)标识映射方法比较
TF-CPK中,将终端标识通过Hash映射为选择序列,即选择序列只与标识相关,若标识相同,则选择序列相同,对应于矩阵的选择元素相同。

本方法中,将终端标识与随机公钥关联,并以随机公钥为密钥,终端标识为数据计算基于SM3的HMAC,由于随机公钥具有随机性,即使标识相同,则每次协同密钥生成时所对应的选择序列也不同,无法通过标识推算矩阵的选择元素。

(2)随机公钥的真实性证明比较
TF-CPK中,随机公钥与标识无关联,随机公钥存在被替换攻击的风险,因此只能通过对随机公钥的数字签名来解决其真实性证明问题。这种方案虽然解决了随机公钥的真实性问题,在原体制的基础上增加了随机公钥和随机公钥的签名,使体系变得复杂,相比于PKI CA的优势已不明显。

本方法中,随机公钥与标识形成关联绑定,随机公钥直接参考了选择序列的生成,通过与公钥矩阵计算标识公钥的过程证明了随机公钥的真实性,相比TF-CPK省去了对随机公钥的签名,使体系更简洁高效。相比TF-CPK,在签名验证时TF-CPK需要两次签名验证(随机公钥签名验证和数据签名验证),而本方法只需要一次签名验证(数据签名验证)即可,性能更优。

(3)私钥的生成方法比较
TF-CPK中,私钥是由标识私钥与中心生成的随机因子复合生成,私钥的生成是密钥中心完成,密钥中心可拥有所有终端的复合私钥。

本方法中,私钥的生成是采用协同的方法,终端参与私钥的生成过程,并由终端发起,私钥同终端随机因子、矩阵计算得到的标识私钥和中心随机因子等三部分复合而成。这种协同的密钥生成方法,可确保复合私钥只有终端所有,中心无法掌控终端的私钥。

通过以上对比分析可以看出,虽然IPK与TF-CPK都通过引入随机因子消除了私钥间的线性关系;但二者也存在明显的不同,具体区别主要表现在:

(1) 本方法中矩阵的选择序列与TF-CPK单纯依赖标识不同,将标识与随机公钥关联,由标识与随机公钥共同决定选择序列;

(2) 随机公钥的真实性证明中,TF-CPK采用签名来解决真实性证明,本方法采用标识与随机公钥的关联绑定和标识公钥的计算证明,省去了64B的数字签名,体系更简洁;

(3) 在私钥的生成上,TF-CPK采用的是中心制的密钥生产,密钥中心可知道所有用户的复合私钥,而本方法采用了协同的私钥生产,且加入了终端随机因子和中心随机因子,确保复合私钥只有终端所有,且符合《电子签名法》中关于签名私钥只能用户所有的原则。

六、IPK的安全性说明

基于标识的SM2密钥对生成方法(IPK)是基于椭圆曲线密码体制的,采用的椭圆曲线参数是SM2推荐参数;而标识映射方法基于SM3密码算法。IPK实现了标识与密钥的绑定,提供了一种更加轻量化的公钥分发与管理方法,同时通过引入终端自定义密钥对和密钥中心自定义密钥对,消除了标识密钥生产体制中的线性关系,且通过自定义公钥参加标识与矩阵的映射解决了替换攻击问题。

IPK是一种基于SM2算法的创新,与传统的安全防御技术相比,IPK为应用不仅能够有效地提供信息保障能力,而且还可以为应用的有效管理提供资源和手段,从而可以将安全有机地融入到应用发展之中。

七、IPK的应用特性

在物联网应用领域,IPK无证书公钥密码技术具有更加明显的应用优势,IPK技术不需要使用第三方证书,而是将物联网标识作为公钥来完成对物联网设备的身份授权和认证,完全满足PKI证书认证无法实现的物联网NB-IoT、LoRa等窄带通讯的安全应用,满足5G超高带宽(eMBB)、超可靠低时延(uRLLC)以及超大规模连接(mMTC)的技术特性。

IPK技术具有以下特性:

7.1.安全性高

传统PKI是采用单一根密钥的安全体制,IPK是以种子密钥为架构的多种算法的组合,更适用与物联网,能更有效地抵御云计算和量子计算的攻击;

7.2.兼容性强

IPK兼容PKI等主流安全应用,在不影响原有业务安全机制的基础上,IPK可融合原有业务安全机制,更好地满足工业互联网应用的安全建设与防御;

7.3.容灾性强

IPK认证过程不需要中心证书(公钥)库的支持,这样不仅有利于提高效率,减少资源消耗,而且不会因为由于中心系统的故障和意外灾害等导致系统的瘫痪,非常适合工业物联网行业尤其是重要的行业应用场景;

7.4.签名短且计算量少

IPK签名短,可嵌入二维码通过手机扫码直接验证,IPK计算量比PKI的计算量至少减少50%,比SM9实现的签名至少减少90%以上。

7.5.自主可控

IPK轻量级密钥技术国产自主可控,国密算法支撑,企业可不依赖第三方,自主控制密钥,实现工业物联网进程中的主动安全防御机制;

7.6.适用性强

IPK技术对密钥的管理分发高效,易用性强,部署简单,完全满足工业企业在智能化升级过程中的工业控制、终端认证、数据传输等核心安全机制要求。


总结

密码技术是解决核心安全问题的基础理论和技术,而传统的证书体系并不适应与物联网环境,基于商密SM2算法的非证书轻量级密码技术(IPK)是最佳选择,有效克服传统算法中密钥分发安全性弱、效率低、成本高等问题,深入物联网行业终端与应用层面,可解决物联网系统中身份认证、数据安全、传输安全、访问控制等多种安全问题。

基于SM2的非证书标识公钥(IPK)安全体系,是一种实现点对点轻量级主动安全防御体系,其低功耗、低时延、高安全的特性是目前工业互联网、能源物联网、车联网、智能家居、票证防伪等场景的最佳安全方案。

IPK技术是由华北电力大学物联网工程教研室魏振华博士牵头,与其安全团队研究实现的非证书公钥密码技术。该技术已经在国家电网、中国石油、中国福彩等行业中实现了应用,并在机器人、无人机、电子防伪、工业控制终端与系统等产品中使用。

基于国密算法SM2非证书标识公钥密码技术(IPK)相关推荐

  1. 国密算法—SM2介绍及基于BC的实现

    国密算法-SM2介绍及基于BC的实现 文章目录 国密算法-SM2介绍及基于BC的实现 简介 私钥 公钥 数据格式 密钥数据格式 私钥数据格式 公钥数据格式 加密数据格式 签名数据格式 计算过程 生成密 ...

  2. 国密算法SM2证书制作

    原文链接:http://www.jonllen.com/jonllen/work/162.aspx 国密算法SM2证书制作 分类:工作 大中小 前段时间将系统的RSA算法全部升级为SM2国密算法,密码 ...

  3. 基于国密算法SM2SSL证书的https加密,如何实现?

    为什么80%的码农都做不了架构师?>>>    如果要在客户端/网关系统和服务端之间进行SSL加密通信,当客户端应用(浏览器等)发起登录认证.加密.签名等请求时,服务端如何实现基于国 ...

  4. 使用Go基于国密算法实现双向认证

    国内做2B(to Biz)或2G(to Gov)产品和解决方案的企业都绕不过国密算法,越来越多的国内甲方在采购需求中包含了基于国密算法的认证.签名.加密等需求.对于国内的车联网平台来说,支持基于国密的 ...

  5. 基于国密算法实现主机之间的密钥分发和安全传输-2021西北工业大学网络空间安全学院暑期夏令营

    2021年西北工业大学网络空间安全学院暑期夏令营 一.设计内容与要求: 二.基本思路与实现: 三.设计原理与流程: 3.1 总体流程: 3.2 设计原理: 3.2.1 建立套接字连接: 3.2.2 根 ...

  6. EMQ X 基于国密算法的物联网安全接入解决方案

    方案背景 在 5G 万物互联时代,将物理世界的数据进行数字化采集.传输和分析,最终通过丰富的物联网应用实现智慧化,是未来发展的大势所趋 .随着物联网在各行各业快速和深入的发展应用,各种终端设备联网的需 ...

  7. 国密算法(SM2,SM3,SM4)完善与算法辅助工具开发

    国密算法SM2,SM3和改名发布的SM4的应用好像越来越多了.首先是国密SM2证书的升级,国内CA服务商要完成SM2算法证书支持,之后是国密算法在金融领域进行推广,新近编订的PBOC标准的增强安全部分 ...

  8. 国家医保移动支付国密算法SM2签名验签、SM4加解密DLL

    国家医保移动支付国密算法SM2签名验签.SM4加解密DLL 支持医保移动支付(国家统一版), 已知省份有广西.贵州.安徽.河北.黑龙江.湖南.吉林.江苏.四川.新疆等各地方. DLL,非.net开发, ...

  9. 国密算法 SM2 SM3 SM4 及密钥生成

    国密算法 SM2 SM3 SM4 方式一:SM2密钥在线生成 SM2密钥在线生成工具 如果你没线下生成工具,可用下面2种线上生成方式之一: 1. sm2密钥在线生成(const.net.cn) 2.  ...

  10. c++国密算法SM2加密解密demo

    c++国密算法SM2加密解密 一.代码 一.代码 封装加密.解密接口: 加密接口: Encrpt_SM2() 解密接口:Decrypt_SM2() 加密解密结果可以和nodejs的模块sm-crypt ...

最新文章

  1. 牛客国庆集训派对Day2 F、平衡二叉树 【构造+记忆化搜索】
  2. python基本数据类型选择题-python基础学习——基础数据类型练习题(二)
  3. android viewgroup点击变色,Android ViewGroup事件分发
  4. javascript学习系列(21):数组中的reduceRight法
  5. FastDFS部署及测试
  6. python-scrapy爬虫框架
  7. 解决xhost:unable to open display的问题
  8. 【破损识别】基于matlab GUI机器视觉+SVM玉米种子破损识别【含Matlab源码 1606期】
  9. win10系统打开tftp服务器,win10设置tftp服务器配置
  10. 2022最新Web前端经典面试试题及答案-史上最全前端面试题(含答案)
  11. Office2010安装时,需要安装msxml6.msi解决办法
  12. Windows11 无法打开应用商店
  13. HDU-3237 Help Bubu(状压dp)
  14. VMware Workstation for Windows 历史版本
  15. 08-词嵌入(Word embeddings)
  16. 下拉菜单选择城市列表html,js弹出式下拉列表框选择省市地区美化插件 - pickout.js...
  17. 树莓派pico从零开始的入门(一)
  18. 【Roboware编译(小锤子)无法选择Debug选项】
  19. AI制作卷边文字效果
  20. 自定义Launcher桌面图标无法加载的问题

热门文章

  1. 友华PT920/PT921/PT921G光猫破解超级密码
  2. c语言常用函数doc下载,c语言常用函数.doc
  3. 最新字节跳动面试题之堆排序
  4. CIO40:IT人22-30岁职业规划
  5. 西门子S7-1200PLC控制步进电机的组态编程和具体步骤
  6. 基于Zabbix的校园网核心监控系统设计与实现
  7. 12、ARM嵌入式系统:点亮4个LED灯
  8. java述职报告ppt_java开发人员述职报告.ppt
  9. 某城郊110kV降压变电站监控系统设计
  10. 码率 码字(数字通信系统 信息论)