全文摘要
本发明提供了一种可信标识的应用方法及系统,包括:由密钥生产中心生成第一用户的可信标识,包括:生成第一根私钥和第一根公钥;根据第一用户的用户标识与第一根私钥,得到合成私钥;采用该合成私钥对第一用户的认证信息进行签名,得到第一用户的可信标识;第二用户设备从收到的第一用户的可信标识中获得第一用户的认证信息,包括:获取第一用户的用户标识和第一根公钥;根据用户标识与第一根公钥,得到合成公钥;采用合成公钥验证第一用户的可信标识的签名;当该可信标识的签名验证通过后,从中获得第一用户的认证信息。本发明提供了一种低消耗、低成本、高速度的轻量级的认证机制,能够满足大规模、高并发的物联网、移动互联网的安全需要。
主设计要求
1.一种可信标识的应用方法,其特征在于,包括:密钥生产中心生成第一用户的可信标识,具体包括:基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥;将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥;所述合成私钥与所述用户标识一一对应;采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识;将所述可信标识下发给所述第一用户;第二用户设备从收到的第一用户的可信标识中获得所述第一用户的认证信息,具体包括:获取第一用户的用户标识和密钥生产中心的第一根公钥;将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥;采用所述合成公钥验证所述第一用户的可信标识的签名;当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
设计方案
1.一种可信标识的应用方法,其特征在于,包括:
密钥生产中心生成第一用户的可信标识,具体包括:
基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥;
将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;
将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥;所述合成私钥与所述用户标识一一对应;
采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识;
将所述可信标识下发给所述第一用户;
第二用户设备从收到的第一用户的可信标识中获得所述第一用户的认证信息,具体包括:
获取第一用户的用户标识和密钥生产中心的第一根公钥;
将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;
将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥;
采用所述合成公钥验证所述第一用户的可信标识的签名;
当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
2.根据权利要求1所述的可信标识的应用方法,其特征在于:
所述认证信息还包括所述第一用户的签名公钥;所述签名公钥由所述第一用户根据由随机数生成的签名私钥得到并提供;
所述密钥生产中心根据所述认证信息生成所述第一用户的可信标识;
当所述可信标识的签名验证通过后,所述第二用户设备从所述认证信息中获取所述第一用户的用户标识和签名公钥。
3.根据权利要求1所述的可信标识的应用方法,其特征在于:
所述认证信息还包括所述第一用户的加密公钥;
所述密钥生产中心根据所述认证信息生成所述第一用户的可信标识;
当所述可信标识的签名验证通过后,所述第二用户设备从所述认证信息中获取所述第一用户的用户标识和加密公钥。
4.根据权利要求2所述的可信标识的应用方法,其特征在于:
所述认证信息还包括所述第一用户的加密公钥;
所述密钥生产中心根据所述认证信息生成所述第一用户的可信标识;
当所述可信标识的签名验证通过后,所述第二用户设备从所述认证信息中获取所述第一用户的用户标识、签名公钥和加密公钥。
5.根据权利要求3或4所述的可信标识的应用方法,其特征在于,所述第一用户的加密公钥由所述密钥生产中心生成,步骤为:
基于椭圆曲线密码算法生成第二根密钥对,所述第二根密钥对包括第二根私钥和第二根公钥;
根据所述用户标识和所述第二根私钥,构造组合标识;
对所述组合标识进行杂凑运算,得到所述组合标识的杂凑值;
将所述组合标识的杂凑值与所述第二根公钥进行点积运算,得到点积运算结果;
将所述点积运算结果的x分量和y分量组合,并对所述组合结果进行所述杂凑运算,所得到的杂凑值作为加密私钥;
根据椭圆曲线密码算法计算所述加密私钥对应的加密公钥。
6.根据权利要求5所述的可信标识的应用方法,其特征在于,所述的根据所述用户标识和所述第二根私钥,构造组合标识,包括:
根据所述用户标识、加密密钥有效期信息和所述第二根私钥,构造组合标识。
7.根据权利要求6所述的可信标识的应用方法,其特征在于,所述的根据所述用户标识、加密密钥有效期信息和所述第二根私钥,构造组合标识,包括:
根据所述第一用户提供的版本号信息、所述用户标识、加密密钥有效期信息和所述第二根私钥,构造组合标识。
8.根据权利要求5所述的可信标识的应用方法,其特征在于:
所述第一根密钥对和所述第二根密钥对是相同的密钥对或不同的密钥对。
9.一种可信标识的应用系统,其特征在于,包括:
第一用户设备,用于生成第一用户的用户标识;
可信标识的生成装置,应用于密钥生产中心,用于根据所述第一用户的用户标识,生成所述第一用户的可信标识;
第二用户设备,用于在收到所述第一用户的可信标识后,从所述可信标识中获得所述第一用户的认证信息;
其中,所述可信标识的生成装置包括:
主密钥生成模块,用于基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥;
合成私钥生成模块,用于将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;以及,将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥;所述合成私钥与所述用户标识一一对应;
可信标识生成模块,用于采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识;
可信标识下发模块,用于将所述可信标识下发给所述第一用户;
所述第二用户设备包括:
合成公钥生成模块,用于获取第一用户的用户标识和密钥生产中心的第一根公钥;将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥;
验证签名模块,用于采用所述合成公钥验证所述第一用户的可信标识的签名;以及,当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
10.根据权利要求9所述的可信标识的应用系统,其特征在于:
所述第一用户设备,进一步用于根据随机数生成第一用户的签名私钥,根据所述签名私钥生成所述第一用户的签名公钥;
所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的签名公钥,根据所述认证信息生成所述第一用户的可信标识;
所述验证签名模块,进一步用于当所述可信标识的签名验证通过后,从所述认证信息中获取所述第一用户的用户标识和签名公钥。
11.根据权利要求9所述的可信标识的应用系统,其特征在于:
所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的加密公钥,根据所述认证信息生成所述第一用户的可信标识;
所述验证签名模块,进一步用于当所述可信标识的签名验证通过后,从所述认证信息中获取所述第一用户的用户标识和加密公钥。
12.根据权利要求10所述的可信标识的应用系统,其特征在于:
所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的加密公钥,根据所述认证信息生成所述第一用户的可信标识;
所述验证签名模块,进一步用于当所述可信标识的签名验证通过后,从所述认证信息中获取所述第一用户的用户标识、签名公钥和加密公钥。
13.根据权利要求11或12所述的可信标识的应用系统,其特征在于:
所述可信标识的生成装置还包括加密密钥生成模块;
所述主密钥生成模块,进一步用于基于椭圆曲线密码算法生成第二根密钥对,所述第二根密钥对包括第二根私钥和第二根公钥;
所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的加密公钥,根据所述认证信息生成所述第一用户的可信标识;
所述加密密钥生成模块包括:
组合标识构造单元,用于根据所述用户标识和所述第二根私钥,构造组合标识;
加密私钥生成单元,用于对所述组合标识进行杂凑运算,得到所述组合标识的杂凑值;将所述组合标识的杂凑值与所述第二根公钥进行点积运算,得到点积运算结果;将所述点积运算结果的x分量和y分量组合,并对所述组合结果进行所述杂凑运算,所得到的杂凑值作为加密私钥;
加密公钥生成单元,用于根据椭圆曲线密码算法计算所述加密私钥对应的加密公钥。
设计说明书
技术领域
本发明涉及信息安全技术领域,尤指一种可信标识的应用方法及系统。
背景技术
现有电子认证体系采用非对称密钥体系,应用较成熟的一种非对称密钥体系是公钥基础设施PKI(Public Key Infrastructure)系统。该系统,用户私钥采用随机数,用户公钥通过用户私钥计算产生,用户公钥与用户标识无计算关系,需要可信第三方—认证中心CA通过签发数字证书的方式实现用户标识和用户公钥的绑定。数字证书的申请、签发、验证、废止、更新等环节需要多层次的认证中心和巨大的计算资源的支持,难以支撑超大规模的应用。
标识密码系统IBC(Identity-Based Cryptosystems & Signature Schemes)是CA认证体系基础上的新发展,最早由以色列密码学家Shamir提出,主要思想是以用户标识作为公钥,用户私钥由密钥生产中心根据用户标识产生,技术上简化CA中心公钥管理和证书交换流程。但是该系统算法是利用双线性对设计的,算法复杂、计算效率低;由于用户私钥由中心产生,导致用户签名不具备私有性;用户标识就是公钥,也导致用户公钥无法被撤销。
从上述描述可知,PKI系统的数字证书的管理复杂,存储\/计算资源消耗大;IBC系统,虽然不需要数字证书,但中心与应用端的算法复杂,计算效率低,而且不能提供强签名。
物联网场景存在大量的低功耗、低成本终端设备,若要在这些设备之间实现安全通信,即增加信息安全功能,比如身份认证、签名\/验签、加密\/解密等,要求算法简单、运行速度快、存储\/计算资源消耗低,以继续满足这类设备的低功耗、低成本要求。但是目前提供的公钥密码体制比较厚重、还不能满足上述要求。
发明内容
本发明的目的之一是为了克服现有技术中存在的至少部分不足,提供一种可信标识的应用方法及系统,满足物联网场景中终端设备的低功耗、低成本的要求,同时也降低了配套的密钥生产中心的数字证书的管理复杂度。
本发明提供的技术方案如下:
一种可信标识的应用方法,包括:密钥生产中心生成第一用户的可信标识,具体包括:基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥;将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥;采用所述合成私钥对第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识;将所述可信标识下发给所述第一用户;第二用户设备从收到的第一用户的可信标识中获得所述第一用户的认证信息,具体包括:获取第一用户的用户标识和密钥生产中心的第一根公钥;将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥;采用所述合成公钥验证所述第一用户的可信标识的签名;当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
进一步的,所述认证信息还包括所述第一用户的签名公钥;所述签名公钥由所述第一用户根据由随机数生成的签名私钥得到并提供;所述密钥生产中心根据所述认证信息生成所述第一用户的可信标识;当所述可信标识的签名验证通过后,所述第二用户设备从所述认证信息中获取所述第一用户的用户标识和签名公钥。
进一步的,所述认证信息还包括所述第一用户的加密公钥;所述密钥生产中心根据所述认证信息生成所述第一用户的可信标识;当所述可信标识的签名验证通过后,所述第二用户设备从所述认证信息中获取所述第一用户的用户标识和加密公钥。
进一步的,所述认证信息还包括所述第一用户的加密公钥;所述密钥生产中心根据所述认证信息生成所述第一用户的可信标识;当所述可信标识的签名验证通过后,所述第二用户设备从所述认证信息中获取所述第一用户的用户标识、签名公钥和加密公钥。
进一步的,所述第一用户的加密公钥由所述密钥生产中心生成,步骤为:基于椭圆曲线密码算法生成第二根密钥对,所述第二根密钥对包括第二根私钥和第二根公钥;根据所述用户标识和所述第二根私钥,构造组合标识;对所述组合标识进行杂凑运算,得到所述组合标识的杂凑值;将所述组合标识的杂凑值与所述第二根公钥进行点积运算,得到点积运算结果;将所述点积运算结果的x分量和y分量组合,并对所述组合结果进行所述杂凑运算,所得到的杂凑值作为加密私钥;根据椭圆曲线密码算法计算所述加密私钥对应的加密公钥。
进一步的,所述的根据所述用户标识和所述第二根私钥,构造组合标识,包括:根据所述用户标识、加密密钥有效期信息和所述第二根私钥,构造组合标识。
进一步的,所述的根据所述用户标识、加密密钥有效期信息和所述第二根私钥,构造组合标识,包括:根据所述第一用户提供的版本号信息、所述用户标识、加密密钥有效期信息和所述第二根私钥,构造组合标识。
进一步的,所述第一根密钥对和所述第二根密钥对是相同的密钥对或不同的密钥对。
本发明还提供一种可信标识的应用系统,包括:第一用户设备,用于生成第一用户的用户标识;可信标识的生成装置,应用于密钥生产中心,用于根据所述第一用户的用户标识,生成所述第一用户的可信标识;第二用户设备,用于在收到所述第一用户的可信标识后,从所述可信标识中获得所述第一用户的认证信息;
其中,所述可信标识的生成装置包括:主密钥生成模块,用于基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥;合成私钥生成模块,用于将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;以及,将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥;可信标识生成模块,用于采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识;可信标识下发模块,用于将所述可信标识下发给所述第一用户;
所述第二用户设备包括:合成公钥生成模块,用于获取第一用户的用户标识和密钥生产中心的第一根公钥;将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥;验证签名模块,用于采用所述合成公钥验证所述第一用户的可信标识的签名;以及,当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
进一步的,所述第一用户设备,进一步用于根据随机数生成第一用户的签名私钥,根据所述签名私钥生成所述第一用户的签名公钥;所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的签名公钥,根据所述认证信息生成所述第一用户的可信标识;所述验证签名模块,进一步用于当所述可信标识的签名验证通过后,从所述认证信息中获取所述第一用户的用户标识和签名公钥。
进一步的,所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的加密公钥,根据所述认证信息生成所述第一用户的可信标识;所述验证签名模块,进一步用于当所述可信标识的签名验证通过后,从所述认证信息中获取所述第一用户的用户标识和加密公钥。
进一步的,所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的加密公钥,根据所述认证信息生成所述第一用户的可信标识;所述验证签名模块,进一步用于当所述可信标识的签名验证通过后,从所述认证信息中获取所述第一用户的用户标识、签名公钥和加密公钥。
进一步的,所述可信标识的生成装置还包括加密密钥生成模块;所述主密钥生成模块,进一步用于基于椭圆曲线密码算法生成第二根密钥对,所述第二根密钥对包括第二根私钥和第二根公钥;所述可信标识生成模块,进一步用于所述认证信息还包括所述第一用户的加密公钥,根据所述认证信息生成所述第一用户的可信标识;所述加密密钥生成模块包括:组合标识构造单元,用于根据所述用户标识和所述第二根私钥,构造组合标识;加密私钥生成单元,用于对所述组合标识进行杂凑运算,得到所述组合标识的杂凑值;将所述组合标识的杂凑值与所述第二根公钥进行点积运算,得到点积运算结果;将所述点积运算结果的x分量和y分量组合,并对所述组合结果进行所述杂凑运算,所得到的杂凑值作为加密私钥;加密公钥生成单元,用于根据椭圆曲线密码算法计算所述加密私钥对应的加密公钥。
通过本发明提供的可信标识的应用方法及系统,至少能够带来以下有益效果:
1、本发明可根据用户标识验签由中心私钥和用户标识熵共同签发的可信标识,简化了用户身份认证、以及用户公钥与用户标识之间的认证过程,相对PKI系统,支持应用去中心化。
2、本发明提供的合成公钥的计算方式简单、需要存储的参数少,对终端设备的存储资源\/计算资源消耗低,满足物联网场景中终端设备的低功耗、低成本的要求。
3、本发明可灵活定制可信标识,满足物联网不同场景的需要。
4、本发明支持用户签名私钥由用户生成,从而让用户拥有对签名私钥的专有权,继承了PKI系统的优点,克服了IBC系统的缺点。
5、本发明提供的加密私钥的生成方法,不需要密钥生产中心保密用户的加密私钥,只需要保存用户标识,从而可以扁平化部署,优于PKI系统,继承了IBC系统的优势。
6、本发明支持采用国密SM2算法生成密钥对、加解密、签名验签,相对IBC系统运算效率高,且可以和已有的PKI体系可无缝对接。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种可信标识的应用方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种可信标识的应用方法的一个实施例的流程图;
图2是本发明的一种可信标识的应用方法的另一个实施例的流程图;
图3是图2中第一用户的加密公钥的生成步骤的流程图;
图4是本发明的一种可信标识的应用系统的一个实施例的结构示意图;
图5是图4中一种可信标识的生成装置的结构示意图;
图6是图4中一种第二用户设备的结构示意图;
图7是图4中另一种可信标识的生成装置的结构示意图;
图8是图7中加密密钥生成模块的结构示意图。
附图标号说明:
100.可信标识的生成装置,110.主密钥生成模块,120.合成私钥生成模块,130.加密密钥生成模块,131.组合标识构造单元,132.加密私钥生成单元,133.加密公钥生成单元,140.可信标识生成模块,150.可信标识下发模块,200.第二用户设备,210.合成公钥生成模块,220.验证签名模块,300.第一用户设备。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。
在本发明的一个实施例中,如图1所示,一种可信标识的应用方法,包括:
步骤S010密钥生产中心生成第一用户的可信标识,具体包括:
步骤S100基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥。
椭圆曲线密码生成密钥对的原理为:选择任一整数为私钥s,对应的公钥P为椭圆曲线E上的一个点s∙G(G为基点)。选择一随机正整数作为第一根私钥,根据椭圆曲线密码算法得到对应的第一根公钥,第一根公钥为一个点。
步骤S300将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;
步骤S310将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥。
具体的,第一用户为通信双方的一方,是一个实体,可以是自然人、单位、集体或物。用户标识是一个用户实体区别与另一个用户实体的特征,具有唯一性和独立性,以人为例,可以是用户姓名、身份证号、手机号码等,或其组合。密钥生产中心接收并存储第一用户的用户标识。
杂凑函数又叫哈希函数,它把任意长度的输入变成固定长度的输出,该输出为杂凑值。将第一用户的用户标识的杂凑值与第一根私钥相乘,得到合成私钥。显然,该合成私钥是根据用户标识生成的,与用户标识一一对应,即不同的用户,对应的合成私钥不一样。
步骤S400采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识;
步骤S500将所述可信标识下发给所述第一用户。
具体的,认证信息是密钥生产中心认证的内容,通常包括用户标识,可选的,根据应用场景需要,还可包括用户公钥、和\/或认证有效时间段信息,和\/或北斗的时空信息等。比如,认证信息=用户标识||用户公钥||认证有效时间段信息。其中,||表示字符串的组合,可以是简单的拼接。
与IBC系统不同,用户公钥不是用户标识。用户公钥可以为用户的签名公钥、和\/或加密公钥。用户公钥可以由用户生成用户私钥,再由用户私钥得到,再上报给密钥生产中心,密钥生产中心再存储该用户公钥。用户公钥也可以由密钥生产中心生成,比如基于用户标识和中心已知的规则生成。
用合成私钥对认证信息进行签名,得到签名值。该签名值与认证信息构成第一用户的可信标识,比如,可信标识=认证信息||签名值。密钥生产中心通过安全通道将该可信标识下发给第一用户。
可信标识是一种由中心私钥(即第一根私钥)和用户标识熵(即用户标识的杂凑值)共同签发的可信网络身份(也是一种标识证书),可用于身份识别、数据加解密和数据签名验签名,实现用户实体身份网下、网上的一体化认证和可追溯。
可信标识有三种数据格式(无密钥模式、单密钥模式和双密钥模式),分别对应认证信息中无用户公钥、有加密公钥或签名公钥、有加密公钥和签名公钥的情况。无密钥模式的可信标识可用于身份识别,单密钥模式还可用于加解密或签名验签名,双密钥模式还可用于加解密和签名验签名。根据应用场景需要,选择对应数据格式的可信标识。
由于可信标识是根据密钥生产中心存储的第一用户的用户标识、其他用户属性信息,用户公钥等按照中心已知的规则生成的,所以可信标识不需要在密钥生产中心存储。
由于可信标识采用每个用户独有的合成私钥签发,从而实现“一钥一签”。
可信标识的签名含“用户标识熵”,在对可信标识的验签时,需根据第一根私钥对应的第一根公钥和用户标识熵进行验签。由于第一根公钥是公开的,用户标识熵是用户标识的杂凑值,杂凑函数也是公开的,所以相当于根据用户标识就可以进行可信标识的验签。比如,将第一根公钥和杂凑函数存储在验证方的设备中,输入第一用户的用户标识,验证方就可以直接验签第一用户的可信标识。
因此,用户A和用户B在确认身份后,可以互相验证,不需要去可信第三方查询。比如:两个芯片对接认证,都能读到对方唯一的芯片序列号,根据芯片序列号就可以进行可信标识的签名验证;比如双方手机号码都已经实名认证,根据手机号码就可以进行可信标识的签名验证。
而PKI体系中,证书的签名是由CA中心签名的,在用户A的证书和用户B的证书互相验证时,原则上必须去可信第三方查询,因为其信任机制是可信第三方。
由于可信标识不需要在密钥生产中心存储,可信标识的验签可以通过用户标识进行验签,所以本实施例的可信标识支持应用去中心化。
可选的,签名算法采用国密SM2算法。这样可以使算法运行速度快,比基于双线性对设计的IBC系统的运算效率高,大约是双线对算法效率的20倍以上。可选的,杂凑函数采用国密SM3算法。
步骤S020第二用户设备从收到的第一用户的可信标识中获得所述第一用户的认证信息,具体包括:
步骤S600获取第一用户的用户标识和密钥生产中心的第一根公钥;
步骤S610将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;
步骤S620将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥。
具体的,合成公钥与合成私钥相对应,所以合成公钥的计算方法需与合成私钥的计算方法相匹配。
第二用户设备在收到第一用户的可信标识后,为了验证第一用户的可信标识,获取第一用户的用户标识ID和密钥生产中心的第一根公钥RPK1,计算合成公钥pk(=Hash(ID)∙RPK1)。
由于第一根公钥是公开的,生成用户标识的杂凑值的杂凑函数也是公开的,所以根据用户标识就可以得到合成私钥对应的合成公钥,从而采用合成公钥进行可信标识的验签。
步骤S700采用所述合成公钥验证所述第一用户的可信标识的签名;
步骤S710当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
具体的,可选的,验签算法可采用SM2算法。
当可信标识的签名验证通过后,若可信标识为无密钥模式,则第二用户从该可信标识中可获得第一用户的用户标识,用于第一用户的身份认证。若可信标识为单密钥模式,则第二用户从该可信标识中除获得第一用户的用户标识外,还可获得第一用户的签名公钥或加密公钥。若可信标识为双密钥模式,则第二用户从该可信标识中除获得第一用户的用户标识外,还可获得第一用户的签名公钥和加密公钥。
第二用户可使用第一用户的签名公钥验证第一用户的签名,可使用第一用户的加密公钥,对数据进行加密,把密文发给第一用户。
本实施例,可信标识的签名由中心私钥和用户标识熵共同签发,实现了“一钥一签”;可信标识可根据用户标识验签,简化了用户身份认证、以及用户公钥与用户标识之间的认证过程,其密钥应用中的认证优于传统PKI体制,支持应用去中心化;合成公钥的计算方式简单(只有1次杂凑运算+1次点积运算),所需要存储的参数少(仅需存储1个参数:第一根公钥),所以对终端设备的存储资源\/计算资源消耗低,能满足物联网场景中终端设备的低功耗、低成本要求;可灵活定制可信标识,满足物联网不同场景的需要。
在本发明的另一个实施例中,如图2、图3所示,一种可信标识的应用方法,包括:
本实施例基于椭圆曲线密码算法(ECC)构建,椭圆曲线离散对数难题是本方法安全性的数学基础。椭圆曲线的参数采用公开曲线(如国密SM2推荐的曲线,其基点G的阶是256比特的素数,记为n),杂凑函数Hash()采用公开算法(如国密SM3算法),签名算法采用国密SM2算法。
步骤S030密钥生产中心生成第一用户的可信标识,具体包括:
步骤S100基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥。
步骤S110基于椭圆曲线密码算法生成第二根密钥对,所述第二根密钥对包括第二根私钥和第二根公钥。
具体的,第一根密钥对用于可信标识的签名和验签名,第二根密钥对用于用户的加密密钥对的生成。两组根密钥对可相同,也可不同,不同的话可进一步提供安全性。
生成n比特随机整数作为第一根私钥RSK1,RSK1由密钥生产中心秘密保存(RSK:Root Secret Key)。计算对应的第一根公钥RPK1:RPK1=RSK1∙G,密钥生产中心以安全合法方法公布RPK1(RPK:Root Public Key)。
生成另一n比特随机整数作为第二根私钥RSK2,RSK2由密钥生产中心秘密保存。计算对应的第二根公钥RPK2:RPK2=RSK2∙G,密钥生产中心保存RPK2。
步骤S200根据第一用户的用户标识和所述第二根密钥对生成所述第一用户的的加密公钥。
具体包括:
步骤S210根据所述用户标识和所述第二根私钥,构造组合标识;
步骤S220对所述组合标识进行杂凑运算,得到所述组合标识的杂凑值;
步骤S230将所述组合标识的杂凑值与所述第二根公钥进行点积运算,得到点积运算结果。
步骤S240将所述点积运算结果的x分量和y分量组合,并对所述组合结果进行所述杂凑运算,所得到的杂凑值作为加密私钥。
步骤S250根据椭圆曲线密码算法计算所述加密私钥对应的加密公钥。
具体的,根据第一用户的用户标识ID和第二根私钥,构造组合标识;再根据组合标识生成第一用户的加密私钥;再根据加密私钥生成第一用户的加密公钥。
进一步的,在组合标识中增加时间限定信息,即根据第一用户的用户标识ID、加密密钥有效期信息和第二根私钥组合,构造组合标识IDc。加密密钥有效期信息可用生效日期表达,表明加密密钥从什么时候开始生效;也可用生效日期和失效日期表达,表明加密密钥在哪段时间有效;也可用失效日期表达,表明加密密钥从什么时候开始失效。比如:IDc=ID||生效日期||失效日期|| RSK2。
计算Hash(IDc)∙RPK2,并记点积运算结果为(x,y)。
计算Hash(x||y),此即为第一用户的加密私钥,记为SKE(Secret Key Encrypt)。
计算出第一用户的加密公钥PKE(Public Key Encrypt):PKE=SKE∙G。
增加了时间限定信息的组合标识及其对应的加密密钥对仅在限定的时间段内有效和使用,这样可以降低由于加密私钥泄露带来的风险。
但是时间限定也给用户带来一定麻烦,用户需要每隔一段时间去密钥服务中心更新其标识对应的私钥。可选的,根据第一用户提供的版本号信息、用户标识、加密密钥有效期信息和第二根私钥组合,构造新组合标识,如:新IDc=用户标识ID||版本号信息||生效日期||失效日期|| RSK2。对新组合标识,重复上述生成加密密钥对的过程,得到新的加密密钥对。
通过增加版本号信息,密钥服务中心可以在用户标识不变的情况下很方便地更新用户的加密密钥对。
如果密钥生产中心获得了第一用户的签名公钥,可用第一用户的签名公钥加密所述加密私钥得到密文数据,将所述密文数据下发给第一用户。第一用户收到后,用签名私钥SKS解密密文,获取加密私钥SKE,保密存储SKE。
虽然加密密钥对是由密钥生产中心生成的,但中心不需要保密存储用户的加密密钥对,只需要存储第一用户的用户标识、加密密钥有效期信息等相关信息,根据这些信息可计算出与标识一一对应的加密密钥,所以可以扁平化密钥生产的部署,继承了IBC系统的优势,优于PKI系统(用户的加密私钥由密钥管理中心根据随机数生成,用户的加密私钥必须由密钥管理中心加密存储)。
步骤S300将所述第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;
步骤S310所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥。
步骤S410采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识、签名公钥和加密公钥;所述签名公钥由所述第一用户根据由随机数生成的签名私钥得到并提供。
步骤S500将所述可信标识下发给所述第一用户。
具体的,密钥生产中心生成第一用户的认证信息,比如:认证信息=用户标识ID||加密公钥||签名公钥||认证有效期信息。
第一用户的签名私钥、签名公钥由用户生成。签名私钥采用随机数,签名公钥可基于已知的公钥密码算法,比如椭圆曲线密码算法、离散对数密码算法,根据签名私钥计算得到。可选的,签名私钥也可以采用第一用户和密钥生产中心联合生成模式得到,再根据签名私钥得到签名公钥。签名公钥由第一用户提供给密钥生产中心。
由于签名私钥是由个人定义,所以相对IBC系统(签名私钥是由密钥生产中心根据用户标识产生、再下发给用户),保证了签名的强私有性。
根据用户标识ID、第一根私钥RSK1计算合成私钥:合成私钥sk=Hash(ID) ∙RSK1。
用合成私钥sk对认证信息进行签名,得到签名值;
该签名值与认证信息构成第一用户的可信标识TI(Truested Identity):TI=认证信息||签名值。
密钥生产中心通过安全通道将可信标识TI下发给第一用户,并安全发布TI。第一用户存储可信标识TI。
步骤S040第二用户设备从收到的第一用户的可信标识中获得所述第一用户的认证信息,具体包括:
步骤S600获取第一用户的用户标识和密钥生产中心的第一根公钥;
步骤S610将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;
步骤S620将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥;
步骤S700采用所述合成公钥验证所述第一用户的可信标识的签名;
步骤S720当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识、签名公钥和加密公钥。
本实施例,提供了一种基于标识的加密私钥的生成方法,不需要密钥生产中心保密用户的加密私钥,只需要保存用户标识,从而可以扁平化部署,保持了IBC系统的优势,优于PKI系统;用户签名私钥由用户生成,相对IBC系统,用户拥有对自身私钥独享的专有权;采用标识证书模式和SM2密码算法,优于基于双线性对的IBC运算效率;所以本实施例综合了PKI和IBC的优点。
在本发明的另一个实施例中,如图4、图5、图6所示,一种可信标识的应用系统,包括可信标识的生成装置100、第二用户设备200、第一用户设备300。
第一用户设备300,用于生成第一用户的用户标识。
所述可信标识的生成装置100,应用于密钥生产中心,包括:
主密钥生成模块110,用于基于椭圆曲线密码算法生成第一根密钥对,所述第一根密钥对包括第一根私钥和第一根公钥,并公布所述第一根公钥。
椭圆曲线密码生成密钥对的原理为:选择任一整数为私钥s,对应的公钥P为椭圆曲线E上的一个点s∙G(G为基点)。选择一随机正整数作为第一根私钥,根据椭圆曲线密码算法得到对应的第一根公钥,第一根公钥为一个点。
第一根密钥对用于可信标识的签名和验签。
合成私钥生成模块120,用于将第一用户的用户标识输入杂凑函数,得到所述用户标识的杂凑值;以及,将所述用户标识的杂凑值与所述第一根私钥相乘,得到合成私钥。
具体的,第一用户为通信双方的一方,是一个实体,可以是自然人、单位、集体或物。用户标识是一个用户实体区别与另一个用户实体的特征,具有唯一性和独立性。密钥生产中心接收并存储第一用户的用户标识。
将第一用户的用户标识的杂凑值与第一根私钥相乘,得到合成私钥。显然,该合成私钥是根据用户标识生成的,与用户标识一一对应,即不同的用户,对应的合成私钥不一样。
可信标识生成模块140,用于采用所述合成私钥对所述第一用户的认证信息进行签名,得到所述第一用户的可信标识;所述认证信息包括所述第一用户的用户标识。
可信标识下发模块150,用于将所述可信标识下发给所述第一用户。
具体的,认证信息通常包括用户标识,可选的,根据应用场景需要,还可包括用户公钥、和\/或认证有效时间段信息等。
用合成私钥对认证信息进行签名,得到签名值。该签名值与认证信息构成第一用户的可信标识,比如,可信标识=认证信息||签名值。密钥生产中心通过安全通道将该可信标识下发给第一用户。
可信标识是一种由中心私钥(即第一根私钥)和用户标识熵(基于用户标识的函数)共同签发的可信网络身份(也是一种标识证书),可用于身份识别、数据加解密和数据签名验签名,实现用户实体身份网下、网上的一体化认证和可追溯。
可信标识有三种数据格式(无密钥模式、单密钥模式和双密钥模式),分别对应认证信息中无用户公钥、有加密公钥或签名公钥、有加密公钥和签名公钥的情况。无密钥模式的可信标识可用于身份识别,单密钥模式可用于加解密或签名验签名,双密钥模式可用于加解密和签名验签名。根据应用场景需要,选择对应数据格式的可信标识。
由于可信标识是根据密钥生产中心存储的第一用户的用户标识、其他用户属性信息和用户公钥等按照中心已知的规则生成的,所以可信标识不需要在密钥生产中心存储。
由于可信标识采用每个用户独有的合成私钥签发,从而实现“一钥一签”。
由于可信标识的签名含“用户标识熵”,因此用户A和用户B在确认身份后,可互相验证,不需要去可信第三方查询。
由于可信标识不需要在密钥生产中心存储,可信标识的验签可以通过用户标识进行验签,所以本实施例的可信标识支持应用去中心化。
所述第二用户设备200包括:
合成公钥生成模块210,用于获取第一用户的用户标识和密钥生产中心的第一根公钥;将所述用户标识输入杂凑函数,得到所述用户标识的杂凑值;将所述用户标识的杂凑值与所述第一根公钥进行点积运算,得到合成公钥。
具体的,合成公钥与合成私钥相对应,所以合成公钥的计算方法需与合成私钥的计算方法相匹配。第二用户设备在收到第一用户的可信标识后,为了验证第一用户的可信标识,获取第一用户的用户标识ID和密钥生产中心的第一根公钥RPK1,计算合成公钥(=Hash(ID) ∙RPK1)。
验证签名模块220,用于采用所述合成公钥验证所述第一用户的可信标识的签名;以及,当所述可信标识的签名验证通过后,从所述可信标识中获得所述第一用户的认证信息,从所述认证信息中获取所述第一用户的用户标识。
具体的,当可信标识的签名验证通过后,若可信标识为无密钥模式,则第二用户从该可信标识中可获得第一用户的用户标识,用于第一用户的身份认证。若可信标识为单密钥模式,则第二用户从该可信标识中除获得第一用户的用户标识外,还可获得第一用户的签名公钥或加密公钥。若可信标识为双密钥模式,则第二用户从该可信标识中除获得第一用户的用户标识外,还可获得第一用户的签名公钥和加密公钥。
第二用户可使用第一用户的签名公钥验证第一用户的签名,可使用第一用户的加密公钥,对数据进行加密,把密文发给第一用户。
可选的,签名\/验签算法、加密\/解密算法可采用SM2算法。这样,可和已有的PKI体系无缝对接,同时保持较高的运算效率,比IBC系统的运算效率高。
在实际应用中,通常第一用户与第二用户是互为通信,所以第一用户设备和第二用户设备的功能可综合在一个用户设备中,使得同一个用户设备既可做第一用户设备用,又可以做第二用户设备用。
本实施例,可信标识的签名由中心私钥和用户标识熵共同签发,实现了“一钥一签”;可信标识可根据用户标识验签,简化了用户身份认证、以及用户公钥与用户标识之间的认证过程,其密钥应用中的认证优于传统PKI体制,支持应用去中心化;合成公钥的计算方式简单(只有1次杂凑运算+1次点积运算),所需要存储的参数少(仅需存储1个参数:第一根公钥),所以对终端设备的存储资源\/计算资源消耗低,能满足物联网场景中终端设备的低功耗、低成本要求;可灵活定制可信标识,满足物联网不同场景的需要。
在本发明的另一个实施例中,如图4、图6、图7、图8所示,一种可信标识的应用系统,包括可信标识的生成装置100、第二用户设备200、第一用户设备300。
相比前述实施例,本实施例的不同之处在于:
第一用户设备300,进一步用于根据随机数生成第一用户的签名私钥,根据该签名私钥得到第一用户的签名公钥。
具体的,第一用户的签名私钥、签名公钥在第一用户设备生成。签名私钥采用随机数,签名公钥可基于已知的公钥密码算法,比如椭圆曲线密码算法、离散对数密码算法,根据签名私钥计算得到。
由于签名私钥是由个人定义,所以相对IBC系统(签名私钥是由密钥生产中心根据用户标识产生、再下发给用户),保证了签名的强私有性。
可信标识的生成装置100还包括加密密钥生成模块130。
主密钥生成模块110,进一步用于基于椭圆曲线密码算法生成第二根密钥对,所述第二根密钥对包括第二根私钥和第二根公钥。
具体的,第一根密钥对用于可信标识的签名和验签名,第二根密钥对用于用户的加密密钥对的生成。两组根密钥对可相同,也可不同,不同的话可进一步提供安全性。
生成n比特随机整数作为第一根私钥RSK1,RSK1由密钥生产中心秘密保存。计算对应的第一根公钥RPK1:RPK1=RSK1∙G,密钥生产中心以安全合法方法公布RPK1。
生成另一n比特随机整数作为第二根私钥RSK2,RSK2由密钥生产中心秘密保存。计算对应的第二根公钥RPK2:RPK2=RSK2∙G,密钥生产中心保存RPK2。
加密密钥生成模块130,用于根据第一用户的用户标识和第二根密钥对生成第一用户的加密公钥,具体包括:
组合标识构造单元131,用于根据第一用户的用户标识和第二根私钥,构造组合标识。
加密私钥生成单元132,用于对所述组合标识进行杂凑运算,得到所述组合标识的杂凑值;将所述组合标识的杂凑值与所述第二根公钥进行点积运算,得到点积运算结果;将所述点积运算结果的x分量和y分量组合,并对所述组合结果进行所述杂凑运算,所得到的杂凑值作为加密私钥。
加密公钥生成单元133,用于根据椭圆曲线密码算法计算所述加密私钥对应的加密公钥。
具体的,根据第一用户的用户标识ID和第二根私钥,构造组合标识;再根据组合标识生成第一用户的加密私钥;再根据加密私钥生成第一用户的加密公钥。
进一步的,在组合标识中增加时间限定信息,即根据第一用户的用户标识ID、加密密钥有效期信息和第二根私钥组合,构造组合标识IDc。
计算Hash(IDc)∙RPK2,并记点积运算结果为(x,y)。
计算Hash(x||y),此即为第一用户的加密私钥,记为SKE(Secret Key Encrypt)。
计算出第一用户的加密公钥PKE(Public Key Encrypt):PKE=SKE∙G。
增加了时间限定信息的组合标识及其对应的加密密钥对仅在限定的时间段内有效和使用,这样可以降低由于加密私钥泄露带来的风险。
但是时间限定也给用户带来一定麻烦,用户需要每隔一段时间去密钥服务中心更新其标识对应的私钥。可选的,根据第一用户提供的版本号信息、用户标识、加密密钥有效期信息和第二根私钥组合,构造新组合标识。对新组合标识,重复上述生成加密密钥对的过程,得到新的加密密钥对。
通过增加版本号信息,密钥服务中心可以在用户标识不变的情况下很方便地更新用户的加密密钥对。
密钥生产中心用第一用户的签名公钥加密所述加密私钥得到密文数据,将所述密文数据下发给第一用户。第一用户收到后,用签名私钥SKS解密密文,获取加密私钥SKE,保密存储SKE。
虽然加密密钥对是由密钥生产中心生成的,但中心不需要保密存储用户的加密密钥对,只需要存储第一用户的用户标识、加密密钥有效期信息等相关信息,根据这些信息可计算出与标识一一对应的加密密钥,所以可以扁平化密钥生产的部署,继承了IBC系统的优势,优于PKI系统。
可信标识生成模块140,进一步用于采用合成私钥对第一用户的认证信息进行签名,得到第一用户的可信标识;所述认证信息包括第一用户的用户标识、签名公钥和加密公钥。
所述验证签名模块220,进一步用于当所述可信标识的签名验证通过后,第二用户从所述可信标识中获得所述第一用户的签名公钥、加密公钥。
第二用户可使用第一用户的签名公钥验证第一用户的签名,可使用第一用户的加密公钥,对数据进行加密,把密文发给第一用户。
密钥应用中的加解密算法、签名\/验签算法可采用SM2算法,这样本实例给出的可信标识的应用方法可和已有的PKI体系无缝对接。
本实施例,提供了一种基于标识的加密私钥的生成方法,不需要密钥生产中心保密用户的加密私钥,只需要保存用户标识,从而可以扁平化部署,保持了IBC系统的优势,优于PKI系统;用户签名私钥由用户生成,相对IBC系统,用户拥有对自身私钥独享的专有权;采用标识证书模式和SM2密码算法,优于基于双线性对的IBC运算效率;所以本实施例综合了PKI和IBC的优点。
需要说明的是,本发明提供的可信标识的应用系统的实施例与前述提供的可信标识的应用方法的实施例均基于同一发明构思,能够取得相同的技术效果。因而,所述可信标识的应用系统的实施例的其它具体内容可以参照前述可信标识的应用方法的实施例内容的记载。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
设计图
相关信息详情
申请码:申请号:CN201910920961.7
申请日:2019-09-27
公开号:CN110445621A
公开日:2019-11-12
国家:CN
国家/省市:31(上海)
授权编号:CN110445621B
授权时间:20191227
主分类号:H04L 9/32
专利分类号:H04L9/32;H04L9/30
范畴分类:39B;
申请人:瓦戈科技有限公司
第一申请人:瓦戈科技有限公司
申请人地址:上海浦东新区中国(上海)自由贸易试验区丹桂路999弄1号5层
发明人:傅兆伟
第一发明人:傅兆伟
当前权利人:瓦戈科技有限公司
代理人:刘秋香
代理机构:31251
代理机构编号:上海硕力知识产权代理事务所(普通合伙)
优先权:关键词:当前状态:审核中
类型名称:外观设计
标签:密码算法论文; 椭圆曲线论文; 商标设计论文; 公钥基础设施论文; 公钥加密论文; 密钥管理论文; 公钥算法论文; 加密芯片论文;