CN115801223A - 一种基于ca证书的标识密钥体系与pki体系兼容方法 - Google Patents
一种基于ca证书的标识密钥体系与pki体系兼容方法 Download PDFInfo
- Publication number
- CN115801223A CN115801223A CN202310041029.3A CN202310041029A CN115801223A CN 115801223 A CN115801223 A CN 115801223A CN 202310041029 A CN202310041029 A CN 202310041029A CN 115801223 A CN115801223 A CN 115801223A
- Authority
- CN
- China
- Prior art keywords
- certificate
- identification
- client
- key
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于CA证书的标识密钥体系与PKI体系兼容方法,包括:将CA证书中的属性内容设置转化为用户标识的属性,建立CA证书与标识的关联关系;在PKI体系中,对包括客户和服务器在内的用户分别进行基于标识密钥体系加密的数字证书申请与签发;对生成的用户的数字证书,通过CA进行签署得到对应的CA证书,并将包括标识密钥信息的CA证书信息进行存储,形成标识密钥兼容性的CA证书;在客户侧增加零信任的客户端,在服务器侧增加应用前置代理,利用客户和/或服务器中的标识密钥兼容性的CA证书,进行包括标识密钥和/或数字证书的认证和加密,实现通信双方的身份认证与加密。本发明提供了一种标识密钥体系的应用场景的过渡期解决方案。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种基于CA证书的标识密钥体系与PKI体系兼容方法。
背景技术
公钥基础设施(Public Key Infrastructure,PKI),其主要由一个受信任的第三方(Certificate Authority,CA)通过验证证书持有者的身份信息,通过给用户公钥签发数字证书绑定实体和相关的公/私钥对,并为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。
当前,PKI体系从70年代开始构建,经过长期的发展,逐步成为互联网构建的信任基础,无论基础的操作系统,系统程序,到各种应用,还是在金融、电子政务、支付、供应链、电商、物流、招投标等领域,PKI体系被广泛应用。然而,基于数字证书的PKI系统有几个问题:(1)发送方在发送信息前必须先获取接收方的证书;(2)发送方在收到一个证书后,都需要验证证书的有效性;(3)认证中心需要花费大量成本管理和维护证书,非常复杂,难以部署。
为了简化证书管理问题,以色列密码学家 Shamir 于1984年提出基于标识的密码体系,即IBC(Identity-Based Cryptograph)。IBC作为PKI密码体系的发展和补充,IBC的公钥是用户的身份标识,可以用企业代码、身份号码、Email地址、网络帐号、姓名、职位、时间等,甚至它们的组合作为实体的标识和公钥。
IBC看起来似乎很简单,但它的技术却很复杂,是个重大的突破,在安全通信过程不采用数字证书的概念,而直接将安全方案与加密或验证方法联系起来。IBC在离线认证,电子邮件等领域优势明显,在这些领域PKI体系已经部署实施,完全替代几乎不可能,因此,急需设计一种与PKI体系兼容的IBC解决方案,既能保留现有的PKI基础设施体系,逐步实现PKI体系的又能使用IBC的综合解决方案,在兼容方式上保证相同的标识具有相同ECC算法的公/私钥对,对于标识密码系统使用专有的标识密码公钥计算方式,对于通用的CA体系使用签名的ECC算法的公钥证书。
当前,国内主流采用标识密钥体系的解决方案由国家密码管理局发布GM/T0044.1-2016《SM9标识密码算法第1部分:总则》、GM/T 0044.2-2016《SM9标识密码算法第2部分:数字签名算法》、GM/T 0044.3-2016《SM9标识密码算法第3部分:密钥交换协议》、GM/T0044.4-2016《SM9标识密码算法第4部分:密钥封装机制和公钥加密算法》四项行业标准,以下简称SM9解决方案。另外,即将发布的国家标准《基于SM2算法的无证书及隐式证书公钥机制》,采用基于SM2算法的无证书及隐式证书公钥密码机制,包括密钥生成与校验机制、数字签名机制、公钥加密机制,以下简称SM2无证书解决方案。
SM9解决方案:SM9算法虽然可以降低密码系统管理的复杂度,但是由于其本身算法的原因,运算速度依然比较缓慢,这也是目前阻碍标识算法大规模应用的主要原因,另外,SM9算法与当前的PKI体系不能很好的兼容也是阻止广泛普及的又一原因。
SM2无证书解决方案:SM2无证书作为新的国家标准对SM9算法进行了改进,性能上有了较大的提升,应用场景也比较广泛,然而,当前没有考虑如何与PKI体系中通用的CA证书兼容的问题,也没有通用的解决方案。
SM9解决方案是IBC体系的安全性解决方案,性能问题多年来一直没有解决,始终无法大规模应用;SM2无证书解决方案提供了新的思路和方法,具体的实现上还不太成熟,相关的扩展应用及标准还没有完全制定,无论是那种解决方案均不能解决标识密钥的快速部署,快速应用的问题。
发明内容
鉴于上述的分析,本发明旨在公开了一种基于CA证书的标识密钥体系与PKI体系兼容方法,在不改变现有PKI体系基础设施前提下,实现既能利用标识密钥体系的方法进行认证、签名和密钥交换,又可以利用现有的PKI体系进行认证和签名,从而实现一种标识密钥体系的应用场景的过渡期解决方案。
本发明公开了一种基于CA证书的标识密钥体系与PKI体系兼容方法,包括以下步骤:
步骤S1、将CA证书中的属性内容设置转化为用户标识的属性,建立CA证书与标识的关联关系;
步骤S2、在PKI体系中,对包括客户和服务器在内的用户分别进行基于标识密钥体系加密的数字证书申请与签发;对生成的用户的数字证书,通过CA进行签署得到对应的CA证书,并将包括标识密钥信息的CA证书信息进行存储,形成标识密钥兼容性的CA证书;
步骤S3、在客户侧增加零信任的客户端,在服务器侧增加应用前置代理,利用客户和/或服务器中的标识密钥兼容性的CA证书,进行包括标识密钥和/或数字证书的认证和加密,实现通信双方的身份认证与加密。
进一步地,在PKI体系中,对包括客户和服务器在内的用户分别进行基于标识密钥体系加密的数字证书申请与签发的步骤为:
1)标识密钥系统按照国家标准、国际标准或者私有标准初始化标准的椭圆曲线系统参数,并生成系统主私钥和主公钥(ms,Ppub);
2)当用户A需要使用证书时,用户A先利用国家标准《基于SM2算法的无证书及隐式证书公钥机制》产生私钥和声明公钥(dA,WA);
3)利用系统参数计算SM2算法的公私钥对(dA,PA);用户A将自己的包括域名、国家地区、组织名、邮箱和公钥在内的信息通过证书请求用户A.csr发送给CA认证机构,同时将私钥自己保留;
4)CA认证机构在收到用户A发来的申请后,会对申请者的合法性进行信息审核;
5)在CA机构验证审核完成后,对用户A的公钥进行签名形成用户A的CA证书,并将签名后的证书用户A.crt发给申请者。
进一步地,在CA证书的主体中,分别存储与CA证书关联的用户标识、用户标识的声明公钥;以及在标识密钥体系中生成的与声明公钥对应的公私钥对,形成标识密钥兼容性的CA证书;
在标识密钥兼容性的CA证书主体的使用者名称commonName字段中存储用户标识IDA,在证书描述description字段中存储基于SM2算法的无证书产生用户的声明公钥(dA,WA),在主题公钥信息Subject Public Key Info字段中存储SM2算法的公私钥对(dA,PA)。
进一步地,在步骤S3中的认证和加密中,采用标识密钥进行认证;在认证过程中,
对于服务器使用标识密钥兼容性的CA证书,客户端使用标识密钥的方式进行客户端与服务端进行双方身份认证,客户端和服务器均使用标识密钥进行传递标识和认证,中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
进一步地,所述认证步骤如下:
1)客户侧通过零信任的客户端获取声明公钥WA和标识IDA,并利用私钥dA对标识信息进行签名,通过网络发送到服务器侧;
2)服务器侧收到客户端的信息后,利用获取的声明公钥WA以及客户端标识IDA计算获取公钥PA,验证客户端的签名;
3)服务器侧的应用前置代理从服务器侧的标识密钥兼容性的CA证书的commonName字段提取IDB,从description字段中提取声明公钥WB,从服务器侧的私钥文件中提取私钥dB,并利用私钥对标识信息进行签名;
4)通过网络发送服务器侧的标识IDB、声明公钥WB和签名数据到客户侧;
5)客户侧利用服务器侧的声明公钥WB以及用户标识IDB计算获取服务器侧的公钥PB,验证服务器侧的签名;
6)客户侧与服务器侧交换密钥进行加密通信。
进一步地,在步骤S3中的认证和加密中,采用数字证书+标识密钥进行双向认证;在认证过程中,
对于服务器使用标识密钥兼容性的CA证书,客户端使用标识密钥的方式进行客户端与服务端进行双方身份认证,服务器使用标识密钥进行传递标识和认证,客户端利用CA进行签名认证;客户端与服务器中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
进一步地,认证步骤如下:
1)客户侧通过零信任的客户端获取声明公钥WA和标识IDA,并利用私钥dA对标识IDA进行签名,通过网络发送到服务器侧;
2)服务器侧收到客户侧的信息后,利用客户侧的声明公钥WA以及客户端标识IDA计算获取客户端公钥PA,验证客户侧的签名;
3)服务器侧的应用前置代理发送被CA签名的服务器CA证书server.crt到客户侧;
4)客户侧的零信任客户端利用内置的CA公钥对服务器的身份进行验证;
5)客户侧与服务器侧交换密钥进行加密通信。
进一步地,在步骤S3中的认证和加密中,采用数字证书与标识密钥的兼容性认证;在认证过程中,
对于服务器和客户端均使用标识密钥兼容性的CA证书,进行双方身份认证;客户端与服务器中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
进一步地,认证步骤如下:
1)客户侧发送标识密钥兼容性的CA证书client.crt和签名数据到服务器侧;
2)服务器侧收到证书client.crt,当服务器侧支持CA验证时,采用CA验证,使用CA证书client.crt验证客户端证书的签名,再使用客户端证书的公钥验证签名数据;当服务器侧不支持CA验证时,启用标识认证,通过零信任的客户端的证书client.crt的commonName字段中提取标识IDA,从description字段中获取声明公钥WA,并计算获取公钥PA,先比较PA和client.crt的公钥信息是否一致验证证书,再利用公钥PA对签名数据进行验证从而实现对客户端的认证;
3)服务器侧发送标识密钥兼容性的CA证书server.crt和签名数据到客户侧;
4)客户侧的零信任客户端收到证书server.crt,当客户侧支持CA验证时,采用CA验证,使用CA证书server.crt验证服务器证书的签名,再使用服务器证书的公钥验证签名数据;当客户侧不支持CA验证时,启用标识认证,通过服务器证书server.crt的commonName字段中提取标识IDB,从description字段中获取声明公钥WB,并计算获取公钥PB,先比较PB和server.crt的公钥信息是否一致验证证书,再利用公钥PB对签名数据进行验证从而实现对服务器的认证;
5)客户侧与服务侧端交换密钥进行加密通信。
进一步地,所述CA证书的格式为X.509格式;在X.509格式证书中,必选项为主题名称Subject;主题名称Subject为证书申请向证书颁发机构填写的属性内容,其中有一个子项为通用名CommonName,属于必选字段;在进行CA证书与标识的关联关系时,通用名CommonName用作标识密钥体系的用户唯一标识使用。
本发明可实现以下有益效果之一:
本发明公开的一种基于标识密钥体系构建与PKI体系的兼容的技术方法,通过现有的存储扩展X.509格式的CA证书,在CA证书中嵌入用户标识和相应的公私钥对来实现标识密钥体系的构建,同时又不改变现有PKI体系基础设施。通过这种技术既能利用标识密钥体系的方法进行认证、签名和密钥交换,又可以利用现有的PKI体系进行认证和签名,从而实现一种标识密钥体系的应用场景的过渡期解决方案,为标识密钥体系的快速推广提供完整的解决方案,实现离线认证,跨域认证和点对点认证,广泛应用于零信任的各种场景。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件;
图1为本发明实施例中的基于CA证书的标识密钥体系与PKI体系兼容方法流程图;
图2为本发明实施例中的CA证书实例图;
图3为本发明实施例中的在PKI体系中对服务器进行基于标识密钥的数字证书申请与签发过程图;
图4为本发明实施例中的具体的证书数据格式图;
图5为本发明实施例中的采用标识密钥进行认证的过程图;
图6为本发明实施例中的采用数字证书+标识密钥进行双向认证的过程图;
图7为本发明实施例中的使用数字证书与标识密钥的兼容性认证的过程图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明的一个实施例公开一种基于CA证书的标识密钥体系与PKI体系兼容方法,如图1所示,包括以下步骤:
步骤S1、将CA证书中的属性内容设置转化为用户标识的属性,建立CA证书与标识的关联关系;
步骤S2、在PKI体系中,对包括客户和服务器在内的用户分别进行基于标识密钥的数字证书申请与签发;对生成的用户的数字证书,通过CA进行签署得到对应的CA证书,并将包括标识密钥信息的CA证书信息进行存储;
其中,在CA证书的主体中,分别存储与CA证书关联的用户标识、用户标识的声明公钥;以及在标识密钥体系中生成的与声明公钥对应的公私钥对,形成标识密钥兼容性的CA证书;
步骤S3、在客户侧增加零信任的客户端,在服务器侧增加应用前置代理,利用客户和/或服务器中的标识密钥兼容性的CA证书,进行包括标识密钥和/或数字证书的认证和加密,实现通信双方的身份认证与加密。
在本实施例中,CA证书的格式为X.509格式的CA证书;X.509是密码学里公钥证书的格式标准,已应用在包括TLS/SSL在内的众多网络协议里,X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。
具体的,在步骤S1中,CA证书与标识的关联过程中:X.509证书与标识的关联主要体现在如何利用证书中的属性内容设置转化为用户标识的属性,当使用IBC密码体系的时候,可以使用该属性来计算ECC密码体系中的公/私钥对。
在本实施例中,标识密钥体系依托自定义的格式而非X.509证书结构来存储密钥信息,因此在实现上,标识密钥体系需要依托自定义的数据结构和密码库代码实现。
更具体的,在X.509证书中有一个必选项为主题名称(Subject),指定证书持有者的X.509唯一名字。包括国家、省市、地区、组织机构、单位部门和通用名,还可包含email地址等个人信息等。这个名称为证书申请向证书颁发机构填写的属性内容,其中有一个子项为Common Name(通用名),属于必选字段,在本实施例中该必选字段可以用作标识密钥体系的用户唯一标识使用,通过选定该必选字段作为用户标识IDA,建立起CA证书与标识的关联关系。图2中,显示了cloudflar.com公司的网站使用的证书的主题名称中的常用名称。
步骤S2中,在PKI体系中对用户分别进行基于标识密钥的数字证书申请与签发;具体包括:
1)标识密钥系统按照国家标准、国际标准或者私有标准初始化标准的椭圆曲线系统参数,并生成系统主私钥和主公钥(ms,Ppub);
2)当用户A需要使用证书时,用户A先利用国家标准《基于SM2算法的无证书及隐式证书公钥机制》产生私钥和声明公钥(dA,WA);
3)利用系统参数计算SM2算法的公私钥对(dA,PA);用户A将自己的域名、国家地区、组织名、邮箱、公钥等一系列信息通过证书请求用户A.csr发送给CA认证机构,同时将私钥自己保留;
4)CA认证机构在收到用户A发来的申请后,会对申请者的合法性进行信息审核;
5)在CA机构验证审核完成后,对用户A的公钥进行签名形成用户A的CA证书,并将签名后的证书用户A.crt发给申请者。
在这里用户A可以是客户侧的客户端,也可以是服务器侧的服务器;在为客户端时,证书请求为client.csr,签名后的证书为client.crt;在为服务器时,证书请求为server.csr,签名后的证书为server.crt。
如图3所示,以服务器为例,先为网站服务器生成证书及私钥文件;然后通过CA为网站服务器签署证书;最后,然后将证书信息和服务器的密钥信息存放到Apache服务的配置文件目录,启动服务即可。因此,为了保证与通用的应用服务的兼容性,只需要在生成服务器的证书及公/私钥对的时候,将标识密钥体系产生的标准ECC的公/私钥对作为证书申请用的公/私钥即可,再使用产生的公/私钥对产生标准的证书申请,由CA对该申请进行证书签发,签发后的证书即可当成标准的CA证书使用。
具体的,在对包括标识密钥参数及密钥的证书进行存储形成标识密钥兼容性的CA证书过程中:
首先,从《基于SM2算法的无证书及隐式证书公钥机制》来看,想要在证书中存储标识密钥的主要密钥参数,至少需要存储用户唯一标识(参考步骤S1,这里记为IDA)和用户产生的声明公钥(dA,WA),按照SM2的安全标准,基于ECC的SM2算法普遍采用256位密钥长度,加密强度等同于3072位RSA证书,如果私钥dA的长度一般保留为32字节,而声明公钥WA的长度为64字节,如果采用十六进制可见字符编码,则至少需要128字节的存储空间。
其次,RFC 5280对X509证书格式进行了详细的定义,经过初步分析,一个标准的证书由三个部分构成,证书请求(server.csr)主体,签名算法和签名值;其中,在证书主体中定义了使用者名称commonName,主题公钥信息(Subject Public Key Info)和证书描述(description)信息。其中证书描述(description)采用RFC2253标准中的数据格式定义,信息为一可变长度的数据,因此,选取description字段来存储声明公钥信息。
最后,签名证书的签名数据内容包含了使用者、描述信息和主题公钥信息,而签名值存放在signatureValue字段中,保证用户ID、声明公钥和公私钥对等数据内容被CA进行签名。
基于上述分析,在证书主体的使用者名称commonName字段中存储用户标识IDA,在证书描述description字段中存储基于SM2算法的无证书产生用户的声明公钥(dA,WA),在主题公钥信息Subject Public Key Info字段中存储SM2算法的公私钥对(dA,PA)。
具体数据格式如下图4所示。到本实施例的步骤S2后,实现了,在不改变现有PKI体系基础设施条件下,在CA证书中嵌入用户标识和相应的公私钥对来实现标识密钥体系的构建。
在利用构建的CA证书进行标识密钥的兼容性使用中,最主要的场景之一是用于TLS通信,基于PKI的mTLS要求通信双方均保存被CA签名的通信对端的公钥证书,对于服务器来说,通过公开渠道的CA中心签发一个证书,如果对客户端来说采用相同的处理方式,客户端的数量远远超过服务的数量,安全管理对于公开CA来说是一个巨大的挑战;还有一种方式是采取私有CA的方式分发客户端和服务器的证书,然而CA体系的构建,大量客户和服务器密钥的管理等是一个复杂的系统工程,并不适合一般的中小型企业。因此,现在的网络服务普遍采用单向TLS进行部署,只对服务器的真实性进行检验,不对用户的真实性进行检验。而对于零信任网络,需要对通信双方的身份进行认证,那么,可以从安全和兼容性的角度出发,对现有TLS协议的认证过程或密钥协商进行改造,在客户端增加零信任的客户端,在服务器端增加应用前置代理,实现标识认证和加密方法,从而实现通信双方的身份认证与加密。
在本实施例中的一个方案,在步骤S3中的认证和加密中,采用标识密钥进行认证;在认证过程中,
对于服务器使用标识密钥兼容性的CA证书,客户端使用标识密钥的方式进行客户端与服务端进行双方身份认证,客户端和服务器均使用标识密钥进行传递标识和认证,中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议,实现原理简单。
如图5所示,更具体的,认证步骤如下:
1)客户侧通过零信任的客户端获取声明公钥WA和标识IDA,并利用私钥dA对标识信息进行签名,通过网络发送到服务器侧;
2)服务器侧收到客户端的信息后,利用获取的声明公钥WA以及客户端标识IDA计算获取公钥PA,验证客户端的签名;
3)服务器侧的应用前置代理从服务器侧的标识密钥兼容性的CA证书的commonName字段提取IDB,从description字段中提取声明公钥WB,从服务器侧的私钥文件中提取私钥dB,并利用私钥对标识信息进行签名;
4)通过网络发送服务器侧的标识IDB、声明公钥WB和签名数据到客户侧;
5)客户侧利用服务器侧的声明公钥WB以及用户标识IDB计算获取服务器侧的公钥PB,验证服务器侧的签名;
6)客户侧与服务器侧交换密钥进行加密通信。
在本实施例中的一个方案,在步骤S3中的认证和加密中,采用数字证书+标识密钥进行双向认证;在认证过程中,
对于服务器使用标识密钥兼容性的CA证书,客户端使用标识密钥的方式进行客户端与服务端进行双方身份认证,服务器使用标识密钥进行传递标识和认证,客户端利用CA进行签名认证;客户端与服务器中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
如图6所示,更具体的,认证步骤如下:
1)客户侧通过零信任的客户端获取声明公钥WA和标识IDA,并利用私钥dA对标识IDA进行签名,通过网络发送到服务器侧;
2)服务器侧收到客户侧的信息后,利用客户侧的声明公钥WA以及客户端标识IDA计算获取客户端公钥PA,验证客户侧的签名;
3)服务器侧的应用前置代理发送被CA签名的服务器CA证书server.crt到客户侧;
4)客户侧的零信任客户端利用内置的CA公钥对服务器的身份进行验证;
5)客户侧与服务器侧交换密钥进行加密通信。
在本实施例中的一个方案,在步骤S3中的认证和加密中,采用数字证书与标识密钥的兼容性认证;在认证过程中,
对于服务器和客户端均使用标识密钥兼容性的CA证书,进行双方身份认证;客户端与服务器中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
如图7所示,更具体的,认证步骤如下:
1)客户侧发送标识密钥兼容性的CA证书client.crt和签名数据到服务器侧;
2)服务器侧收到证书client.crt,当服务器侧支持CA验证时,采用CA验证,使用CA证书client.crt验证客户端证书的签名,再使用客户端证书的公钥验证签名数据;当服务器侧不支持CA验证时,启用标识认证,通过零信任的客户端的证书client.crt的commonName字段中提取标识IDA,从description字段中获取声明公钥WA,并计算获取公钥PA,先比较PA和client.crt的公钥信息是否一致验证证书,再利用公钥PA对签名数据进行验证从而实现对客户端的认证;
3)服务器侧发送标识密钥兼容性的CA证书server.crt和签名数据到客户侧;
4)客户侧的零信任客户端收到证书server.crt,当客户侧支持CA验证时,采用CA验证,使用CA证书server.crt验证服务器证书的签名,再使用服务器证书的公钥验证签名数据;当客户侧不支持CA验证时,启用标识认证,通过服务器证书server.crt的commonName字段中提取标识IDB,从description字段中获取声明公钥WB,并计算获取公钥PB,先比较PB和server.crt的公钥信息是否一致验证证书,再利用公钥PB对签名数据进行验证从而实现对服务器的认证;
5)客户侧与服务侧端交换密钥进行加密通信。
综上所述,本实施例中的基于CA证书的标识密钥体系与PKI体系兼容方法使用数字证书来存储用户标识和标识密钥,解决了标识密钥体系与PKI体系兼容的数字证书统一的关键技术问题。在使用标识密钥兼容性的CA证书时,通过支持在线的CA认证和离线情况使用标识认证的方法,拓展了数字证书和标识密钥的应用场景,便于标识密钥广泛普及。
与现有技术相比较,本发明实施例的方法,属于密码在零信任体系中应用的范畴,通过分析X.509格式的CA证书的格式,实现了在CA证书中嵌入用户标识和相应的声明公钥;通过构建标识密钥体系,生成通用的SM2的公私钥对,生成证书请求,实现CA证书对标识密钥的签名保护;通过数字证书与标识密钥的兼容性使用方法,快速地实现标识密钥体系的构建,同时又不改变现有PKI体系基础设施。通过这种技术既能利用标识密钥体系的方法进行认证、签名和密钥交换,又可以利用现有的PKI体系进行认证和签名,从而实现一种标识密钥体系的应用场景的过渡期解决方案,为标识密钥体系的快速推广提供完整的解决方案,实现离线认证,跨域认证和点对点认证,广泛应用于零信任的各种场景。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,包括以下步骤:
步骤S1、将CA证书中的属性内容设置转化为用户标识的属性,建立CA证书与标识的关联关系;
步骤S2、在PKI体系中,对包括客户和服务器在内的用户分别进行基于标识密钥体系加密的数字证书申请与签发;对生成的用户的数字证书,通过CA进行签署得到对应的CA证书,并将包括标识密钥信息的CA证书信息进行存储,形成标识密钥兼容性的CA证书;
步骤S3、在客户侧增加零信任的客户端,在服务器侧增加应用前置代理,利用客户和/或服务器中的标识密钥兼容性的CA证书,进行包括标识密钥和/或数字证书的认证和加密,实现通信双方的身份认证与加密。
2.根据权利要求1所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,在PKI体系中,对包括客户和服务器在内的用户分别进行基于标识密钥体系加密的数字证书申请与签发的步骤为:
1)标识密钥系统按照国家标准、国际标准或者私有标准初始化标准的椭圆曲线系统参数,并生成系统主私钥和主公钥(ms,Ppub);
2)当用户A需要使用证书时,用户A先利用国家标准《基于SM2算法的无证书及隐式证书公钥机制》产生私钥和声明公钥(dA,WA);
3)利用系统参数计算SM2算法的公私钥对(dA,PA);用户A将自己的包括域名、国家地区、组织名、邮箱和公钥在内的信息通过证书请求用户A.csr发送给CA认证机构,同时将私钥自己保留;
4)CA认证机构在收到用户A发来的申请后,会对申请者的合法性进行信息审核;
5)在CA机构验证审核完成后,对用户A的公钥进行签名形成用户A的CA证书,并将签名后的证书用户A.crt发给申请者。
3.根据权利要求2所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,
在CA证书的主体中,分别存储与CA证书关联的用户标识、用户标识的声明公钥;以及在标识密钥体系中生成的与声明公钥对应的公私钥对,形成标识密钥兼容性的CA证书;
在标识密钥兼容性的CA证书主体的使用者名称commonName字段中存储用户标识IDA,在证书描述description字段中存储基于SM2算法的无证书产生用户的声明公钥(dA,WA),在主题公钥信息Subject Public Key Info字段中存储SM2算法的公私钥对(dA,PA)。
4.根据权利要求1所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,
在步骤S3中的认证和加密中,采用标识密钥进行认证;在认证过程中,
对于服务器使用标识密钥兼容性的CA证书,客户端使用标识密钥的方式进行客户端与服务端进行双方身份认证,客户端和服务器均使用标识密钥进行传递标识和认证,中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
5.根据权利要求4所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,所述认证步骤如下:
1)客户侧通过零信任的客户端获取声明公钥WA和标识IDA,并利用私钥dA对标识信息进行签名,通过网络发送到服务器侧;
2)服务器侧收到客户端的信息后,利用获取的声明公钥WA以及客户端标识IDA计算获取公钥PA,验证客户端的签名;
3)服务器侧的应用前置代理从服务器侧的标识密钥兼容性的CA证书的commonName字段提取IDB,从description字段中提取声明公钥WB,从服务器侧的私钥文件中提取私钥dB,并利用私钥对标识信息进行签名;
4)通过网络发送服务器侧的标识IDB、声明公钥WB和签名数据到客户侧;
5)客户侧利用服务器侧的声明公钥WB以及用户标识IDB计算获取服务器侧的公钥PB,验证服务器侧的签名;
6)客户侧与服务器侧交换密钥进行加密通信。
6.根据权利要求1所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,
在步骤S3中的认证和加密中,采用数字证书+标识密钥进行双向认证;在认证过程中,
对于服务器使用标识密钥兼容性的CA证书,客户端使用标识密钥的方式进行客户端与服务端进行双方身份认证,服务器使用标识密钥进行传递标识和认证,客户端利用CA进行签名认证;客户端与服务器中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
7.根据权利要求6所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,
认证步骤如下:
1)客户侧通过零信任的客户端获取声明公钥WA和标识IDA,并利用私钥dA对标识IDA进行签名,通过网络发送到服务器侧;
2)服务器侧收到客户侧的信息后,利用客户侧的声明公钥WA以及客户端标识IDA计算获取客户端公钥PA,验证客户侧的签名;
3)服务器侧的应用前置代理发送被CA签名的服务器CA证书server.crt到客户侧;
4)客户侧的零信任客户端利用内置的CA公钥对服务器的身份进行验证;
5)客户侧与服务器侧交换密钥进行加密通信。
8.根据权利要求1所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,
在步骤S3中的认证和加密中,采用数字证书与标识密钥的兼容性认证;在认证过程中,
对于服务器和客户端均使用标识密钥兼容性的CA证书,进行双方身份认证;客户端与服务器中间建立透明传输信道,完全执行零信任的改造,零信任客户端和前置代理间的通信完全采用自定义的协议。
9.根据权利要求8所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,认证步骤如下:
1)客户侧发送标识密钥兼容性的CA证书client.crt和签名数据到服务器侧;
2)服务器侧收到证书client.crt,当服务器侧支持CA验证时,采用CA验证,使用CA证书client.crt验证客户端证书的签名,再使用客户端证书的公钥验证签名数据;当服务器侧不支持CA验证时,启用标识认证,通过零信任的客户端的证书client.crt的commonName字段中提取标识IDA,从description字段中获取声明公钥WA,并计算获取公钥PA,先比较PA和client.crt的公钥信息是否一致验证证书,再利用公钥PA对签名数据进行验证从而实现对客户端的认证;
3)服务器侧发送标识密钥兼容性的CA证书server.crt和签名数据到客户侧;
4)客户侧的零信任客户端收到证书server.crt,当客户侧支持CA验证时,采用CA验证,使用CA证书server.crt验证服务器证书的签名,再使用服务器证书的公钥验证签名数据;当客户侧不支持CA验证时,启用标识认证,通过服务器证书server.crt的commonName字段中提取标识IDB,从description字段中获取声明公钥WB,并计算获取公钥PB,先比较PB和server.crt的公钥信息是否一致验证证书,再利用公钥PB对签名数据进行验证从而实现对服务器的认证;
5)客户侧与服务侧端交换密钥进行加密通信。
10.根据权利要求1-9任一项所述的基于CA证书的标识密钥体系与PKI体系兼容方法,其特征在于,
所述CA证书的格式为X.509格式;在X.509格式证书中,必选项为主题名称Subject;主题名称Subject为证书申请向证书颁发机构填写的属性内容,其中有一个子项为通用名CommonName,属于必选字段;在进行CA证书与标识的关联关系时,通用名CommonName用作标识密钥体系的用户唯一标识使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310041029.3A CN115801223B (zh) | 2023-01-13 | 2023-01-13 | 一种基于ca证书的标识密钥体系与pki体系兼容方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310041029.3A CN115801223B (zh) | 2023-01-13 | 2023-01-13 | 一种基于ca证书的标识密钥体系与pki体系兼容方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115801223A true CN115801223A (zh) | 2023-03-14 |
CN115801223B CN115801223B (zh) | 2023-05-09 |
Family
ID=85428984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310041029.3A Active CN115801223B (zh) | 2023-01-13 | 2023-01-13 | 一种基于ca证书的标识密钥体系与pki体系兼容方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115801223B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684876A (zh) * | 2023-07-21 | 2023-09-01 | 中国电子科技集团公司第三十研究所 | 一种pki双向鉴权认证方法及系统 |
CN117082519A (zh) * | 2023-10-16 | 2023-11-17 | 中汽智联技术有限公司 | 多体系兼容的车联网网络通信方法、设备和存储介质 |
CN117118759A (zh) * | 2023-10-24 | 2023-11-24 | 四川省数字证书认证管理中心有限公司 | 用户控制服务器端密钥可靠使用的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553493B1 (en) * | 1998-04-28 | 2003-04-22 | Verisign, Inc. | Secure mapping and aliasing of private keys used in public key cryptography |
CN110278086A (zh) * | 2019-06-24 | 2019-09-24 | 晋商博创(北京)科技有限公司 | 基于cpk和pki的兼容方法、装置、终端、系统及存储介质 |
US10742420B1 (en) * | 2018-03-09 | 2020-08-11 | Wells Fargo Bank, N.A. | Quantum-resistant double signature system |
CN112104453A (zh) * | 2020-08-06 | 2020-12-18 | 如般量子科技有限公司 | 一种基于数字证书的抗量子计算数字签名系统及签名方法 |
US20220303265A1 (en) * | 2019-12-12 | 2022-09-22 | Huawei Technologies Duesseldorf Gmbh | Server for issuing a digital certificate and device for verifying authentication |
-
2023
- 2023-01-13 CN CN202310041029.3A patent/CN115801223B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6553493B1 (en) * | 1998-04-28 | 2003-04-22 | Verisign, Inc. | Secure mapping and aliasing of private keys used in public key cryptography |
US10742420B1 (en) * | 2018-03-09 | 2020-08-11 | Wells Fargo Bank, N.A. | Quantum-resistant double signature system |
CN110278086A (zh) * | 2019-06-24 | 2019-09-24 | 晋商博创(北京)科技有限公司 | 基于cpk和pki的兼容方法、装置、终端、系统及存储介质 |
US20220303265A1 (en) * | 2019-12-12 | 2022-09-22 | Huawei Technologies Duesseldorf Gmbh | Server for issuing a digital certificate and device for verifying authentication |
CN112104453A (zh) * | 2020-08-06 | 2020-12-18 | 如般量子科技有限公司 | 一种基于数字证书的抗量子计算数字签名系统及签名方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116684876A (zh) * | 2023-07-21 | 2023-09-01 | 中国电子科技集团公司第三十研究所 | 一种pki双向鉴权认证方法及系统 |
CN117082519A (zh) * | 2023-10-16 | 2023-11-17 | 中汽智联技术有限公司 | 多体系兼容的车联网网络通信方法、设备和存储介质 |
CN117082519B (zh) * | 2023-10-16 | 2024-01-02 | 中汽智联技术有限公司 | 多体系兼容的车联网网络通信方法、设备和存储介质 |
CN117118759A (zh) * | 2023-10-24 | 2023-11-24 | 四川省数字证书认证管理中心有限公司 | 用户控制服务器端密钥可靠使用的方法 |
CN117118759B (zh) * | 2023-10-24 | 2024-01-30 | 四川省数字证书认证管理中心有限公司 | 用户控制服务器端密钥可靠使用的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115801223B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10903991B1 (en) | Systems and methods for generating signatures | |
US9490979B2 (en) | System and method for providing credentials | |
CN112367175B (zh) | 基于sm2数字签名的隐式证书密钥生成方法 | |
CN115801223B (zh) | 一种基于ca证书的标识密钥体系与pki体系兼容方法 | |
US6684332B1 (en) | Method and system for the exchange of digitally signed objects over an insecure network | |
Lim et al. | Identity-based cryptography for grid security | |
CN110011802A (zh) | 一种高效的sm9两方协同生成数字签名的方法及系统 | |
AU2823599A (en) | Implicit certificate scheme | |
Al-Riyami | Cryptographic schemes based on elliptic curve pairings | |
CN102546173B (zh) | 基于证书的数字签名系统及签名方法 | |
CN103684798B (zh) | 一种用于分布式用户服务间认证方法 | |
CN101626364A (zh) | 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法 | |
US6826685B1 (en) | Method and system for the digital certificate generation and distribution | |
Benantar | The Internet public key infrastructure | |
CN108259486B (zh) | 基于证书的端到端密钥交换方法 | |
CN111049649A (zh) | 一种基于标识密码的零交互密钥协商安全增强协议 | |
Malik et al. | L-ecqv: Lightweight ecqv implicit certificates for authentication in the internet of things | |
CN114301612A (zh) | 信息处理方法、通信设备和加密设备 | |
CN109412815B (zh) | 一种实现跨域安全通信的方法和系统 | |
Hassouna et al. | An integrated public key infrastructure model based on certificateless cryptography | |
Perugini et al. | On the integration of Self-Sovereign Identity with TLS 1.3 handshake to build trust in IoT systems | |
CN114760079B (zh) | 一种标识网络终端认证方法及相关设备 | |
Reddy et al. | A practical approach for implementation of public key infrastructure for digital signatures | |
Tanwar et al. | Applications of Digital Signatures in Cryptography | |
Tan | Improvement of smart card based password authentication scheme for multiserver environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |