一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种认证方法、装置及设备与流程

2022-07-10 12:10:07 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,尤其是指一种认证方法、装置及设备。


背景技术:

2.可扩展的身份认证协议(extensible authentication protocol,eap)最早于1998年定义在rfc2284中,发展至目前已有超过20种基于eap的认证方式。
3.eap-传输层安全性协议(transport layer security,tls)中使用x509证书实现对通信双方的身份认证,但在物联网场景下证书太大将会导致eap-tls认证的瓶颈问题,eap-tls-基于身份的数字签名(identity based signature,ibs)是通过使用原始公钥替代x509证书,其为基于身份标识的密码系统(identity-based cryptograph,ibc)技术的数字签名技术,可以用于用户的身份认证。ibs与传统数字签名的功能相同,不同处在于,使用ibs时认证方直接用被认证方的身份标识id来验证签名的真伪,因此不需要复杂的证书体系,从而解决证书过大的问题。
4.现有的ibs的签名方案是采用椭圆曲线类型密码学(elliptic curve cryptography,ecc)的方式实现,然而通常技术方案中,tls握手所使用的椭圆曲线类型和ibs签名所使用的椭圆曲线类型独立,造成认证过程的运算过程复杂问题。


技术实现要素:

5.本发明技术方案的目的在于提供一种认证方法、装置及设备,解决采用现有技术的认证方式,运算过程复杂的问题。
6.本发明实施例提供一种认证方法,应用于第一认证端,其中,所述方法包括:
7.获取第二认证端发送的第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
8.根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
9.向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
10.采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
11.可选地,所述的认证方法,其中,采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证,包括:
12.根据所述第一握手消息中的第一证书指示信息,向所述第二认证端发送第二证书指示信息;
13.其中,所述第二证书指示信息包括:
14.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
15.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
16.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
17.可选地,所述的认证方法,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
18.可选地,所述的认证方法,其中,所述第一证书指示信息包括:
19.签名算法信息,用于指示所述第二认证端所支持的签名算法;
20.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
21.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
22.可选地,所述的认证方法,其中,所述第二证书指示信息还包括:
23.第三证书类型信息,用于指示在证书负载中的证书类型;
24.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
25.可选地,所述的认证方法,其中,向所述第二认证端发送第二证书指示信息,包括:
26.采用握手秘钥加密所述第二证书指示信息,其中所述握手密钥是根据所述第一握手消息和所述第二握手消息计算获得;
27.向所述第二认证端发送加密后的所述第二证书指示信息。
28.可选地,所述的认证方法,其中,所述方法还包括:
29.获取所述第二认证端发送的第三证书指示信息;
30.采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
31.本发明实施例还提供一种认证方法,应用于第二认证端,其中,所述方法包括:
32.向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
33.获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
34.采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
35.可选地,所述的认证方法,其中,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,包括:
36.获取所述第一认证端发送的第二证书指示信息;
37.采用所述目标椭圆曲线类型对应的签名算法,对所述第二证书指示信息进行签名验证;
38.其中,所述第二证书指示信息包括:
39.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
40.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
41.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
42.可选地,所述的认证方法,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
43.可选地,所述的认证方法,其中,所述第一握手信息中包括第一证书指示信息,其中所述第一认证端根据所述第一证书指示信息,发送所述第二认证指示信息;
44.所述第一证书指示信息包括:
45.签名算法信息,用于指示所述第二认证端所支持的签名算法;
46.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
47.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
48.可选地,所述的认证方法,其中,所述第二证书指示信息还包括:
49.第三证书类型信息,用于指示在证书负载中的证书类型;
50.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
51.可选地,所述的认证方法,其中,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,还包括:
52.向所述第一认证端发送第三证书指示信息,使所述第一认证端采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
53.本发明实施例还提供一种认证端设备,所述认证端设备为第一认证端,其中,包括收发机和处理器,其中:
54.所述收发机用于,获取第二认证端发送的第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
55.所述处理器用于,根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
56.所述收发机还用于,向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
57.所述处理器还用于,采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
58.本发明实施例还提供一种认证端设备,所述认证端设备为第二认证端,其中,包括收发机和处理器,其中:
59.所述收发机用于,向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;以及
60.获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
61.所述处理器用于,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
62.本发明实施例还提供一种认证装置,应用于第一认证端,其中,所述装置包括:
63.第一消息获取模块,用于获取第二认证端发送的第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
64.第一处理模块,用于根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
65.第一消息发送模块,用于向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
66.第二处理模块,用于采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
67.本发明实施例还提供一种认证装置,应用于第二认证端,其中,所述装置包括:
68.第二消息发送模块,用于向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
69.第二消息获取模块,用于获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
70.第三处理模块,用于采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
71.本发明实施例还提供一种认证设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上任一项所述的认证方法。
72.本发明实施例还提供一种可读存储介质,其中,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上任一项所述的认证方法中的步骤。
73.本发明上述技术方案中的至少一个具有以下有益效果:
74.本发明实施例所述认证方法,所确定的用于密钥交换的目标椭圆曲线类型,被复用为用于进行ibs身份验证确定签名算法的椭圆曲线类型,使得ibs签名所使用的椭圆曲线类型与tls握手过程中所使用的椭圆曲线类型为同一椭圆曲线类型,第一认证端与第二认证端之间的身份认证方式,运算过程简单。
附图说明
75.图1为本发明实施例所述认证方法的其中一实施方式的流程图;
76.图2为eap-tls-ibs的认证流程的示意图;
77.图3为本发明实施例所述认证方法的另一实施方式的流程图;
78.图4为本发明实施例所述认证设备的其中一实施方式的结构示意图;
79.图5为本发明实施例所述认证设备的另一实施方式的结构示意图;
80.图6为本发明实施例所述认证装置的其中一实施方式的结构示意图;
81.图7为本发明实施例所述认证装置的另一实施方式的结构示意图;
82.图8为本发明实施例所述认证设备的其中一实施方式的结构示意图;
83.图9为本发明实施例所述认证设备的另一实施方式的结构示意图。
具体实施方式
84.为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具
体实施例进行详细描述。
85.为解决采用现有技术的认证方式,运算过程复杂的问题,本发明实施例提供一种认证方法,使ibs签名所使用的椭圆曲线类型与tls握手过程中所使用的椭圆曲线类型,复用为同一条椭圆曲线类型,以解决采用现有技术的认证方式,运算过程复杂的问题。
86.本发明其中一实施例提供一种认证方法,如图1所示,该实施例所述认证方法应用于第一认证端,所述方法包括:
87.s110,获取第二认证端发送的第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
88.s120,根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
89.s130,向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
90.s140,采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
91.本发明实施例所述认证方法,在步骤s110至步骤s130,第一认证端与第二认证端进行tls握手的密钥交换过程中,所确定的用于密钥交换的目标椭圆曲线类型,在步骤s140时,被复用为用于进行ibs身份验证确定签名算法的椭圆曲线类型,使得ibs签名所使用的椭圆曲线类型与tls握手过程中所使用的椭圆曲线类型为同一椭圆曲线类型。
92.本发明实施例中,可选地,可以将发送第一握手消息的第二认证端称为客户端,将接收第一握手消息的第一认证端称为服务端。需要说明的是,客户端与服务端可以为双向认证,第一认证端与第二认证端作为客户端和服务端的名称可以互换。
93.本发明实施例所述认证方法,步骤s110至步骤s130为tsl握手过程,可选地,tsl握手过程的密钥交换算法采用并不限于仅能够采用以下算法中的任一种:
94.使用基于椭圆曲线类型签密方案(ec,elliptic curve)的diffie-hellman(dh)密钥协商协议(ecdhe);
95.仅采用预共享密钥模式(pre-shared key,psk),也即psk-only;
96.psk随附ecdhe。
97.以ecdhe的密钥交换算法为例,可选地,在步骤s110,所获取的第二认证端(如为客户端)发送的第一握手消息中包括随机数c和扩展参数,其中扩展参数包括第二认证端的所支持版本supported_version、所支持组supported_groups、签名列表signatureschemlist和共享密钥key_shared。可选地,所支持组supported_groups携带第二认证端所支持的至少一椭圆曲线类型,且第二认证端对所支持的每一椭圆曲线类型计算公钥point(ha),可选地,所计算的公钥通过共享密钥key_shared携带。
98.可选地,公钥point(ha)可以根据随机数c计算确定。
99.进一步地,第一认证端获取第二认证端发送的第一握手消息后,根据第一握手消息中所携带的至少一椭圆曲线类型,确定目标椭圆曲线类型,以及根据所确定的椭圆曲线类型,确定第一认证端的用于秘钥协商的公钥。
100.可选地,所述第一认证端的用于秘钥协商的公钥为用于迪菲-赫尔曼(diffie

hellman,dh)秘钥协商的公钥。
101.具体地,第一认证端根据所接收的第一握手消息,选择所采用的椭圆曲线类型并通过共享密钥key_shared确定相对应的第二认证端的公钥point(ha),根据第一认证端的私钥random_s(或为私钥db)和第一认证端的公钥,确定第一认证端的用于秘钥协商的公钥point(hb)。
102.可选地,第二认证端的用于秘钥协商的公钥的计算方式为:point(ha)=random_c*基点g;第一认证端的公钥的计算方式为:point(hb)=random_s*基点g。
103.进一步地,第一认证端还根据私钥random_s和第二认证端的公钥ha计算主密钥h(x,y),并选择主密钥的x坐标作为握手密钥handshake_secret,根据选择的加密方式,通过握手密钥handshake_secret加密所需要发送的第二握手消息。本发明实施例中,可选地,第一握手消息中所携带、第二认证端所支持的椭圆曲线类型包括并不限于仅能够包括secp256r1、secp384r1、secp521r1、x25519和x448。其中,第一认证端可以选择上述椭圆曲线类型中的其中一种用于密钥协商。
104.基于上述的tsl握手过程的基础上,所构建的eap-tls-ibs的流程,通过第二认证端向第一认证端所发送签名算法signature_algorithm信息提供所支持的签名算法,通过服务端证书类型server_certificate_type和客户端证书类型client_certificate_type标识可支持的证书类型。
105.具体地,如图2所示,eap-tls-ibs的认证流程主要包括:
106.s201,第一认证端(服务端)向第二认证端(客户端)发送eap请求;
107.s202,第二认证端向第一认证端发送第一认证信息;
108.s203,第一认证端向第二认证端发送第二认证信息;
109.s204,第二认证端向第一认证端发送第三认证信息;
110.s205,认证结束。
111.具体地,第一认证信息包括第一握手信息,第一握手信息携带的信息包括:
112.支持的加密套件;
113.所支持版本supported_version扩展;
114.所支持组supported_groups扩展,包括所支持的椭圆曲线类型;
115.第一证书指示信息。
116.其中,该第一证书指示信息包括:
117.签名算法signature_algorithm,用于指示第二认证端所支持的ibs签名算法;
118.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;也可以称为服务证书类型server_certificate_type;
119.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型;也可以称为客户证书类型client_certificate_type。
120.基于包括上述信息的第一认证信息,第一认证端向第二认证端发送第二认证信息,第二认证信息包括上述的第二握手信息,且携带信息:
121.第一认证端所支持的版本supproted_versions,包括第一认证端由第二认证端发送的所支持版本supported_version中选择的tls协议版本号;
122.共享密钥key_shared扩展,用于指示根据第二认证端所发送的椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所选择的目标椭圆曲线类型计算的第一认证端的用于秘
钥协商的公钥。
123.进一步地,第二认证信息还包括:第二证书指示信息。
124.本发明实施例中,所述第二证书指示信息包括:
125.证书certificate信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
126.证书检验certificate verify信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
127.证书请求certificate reuqest信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
128.可选地,在certificate信息中,第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
129.在步骤s140,采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证的过程中,第一认证端根据第一握手消息中的第一证书指示信息,向第二认证端发送第二证书指示信息。
130.采用上述实施方式,第一认证端在收到第一握手消息后会选择所使用的密钥交换算法,即在所支持组supported_groups中选择其中之一的椭圆曲线类型作为目标椭圆曲线类型。根据以上,目前supported_groups支持五类类型的基于椭圆曲线的密钥交换算法:secp256r1、secp384r1、secp521r1、x25519和x448。
131.在此基础上,第二认证端发送的第一握手消息的key_share里面会预存所列出的椭圆曲线类型对应的public key。第一认证端发送的第二握手消息会在共享密钥扩展key share extension中明确指出选择的椭圆曲线类型,以及计算得出的第一认证端的用于秘钥协商的公钥发送给第二认证端。
132.其中,在第一认证端选择使用证书类型后,获取在密钥交换算法过程中已选中的椭圆曲线类型作为ibs的签名曲线。
133.由于第一认证端采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名,且通过certificate reuqest信息请求第二认证端采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息,第二认证端接收certificate和certificate verify之后使用第一认证端的身份信息serverid、certificate消息、签名值进行验签操作,验签通过则表示身份验证通过。而且,同样第一认证端也对第二认证端作相同的身份验证操作。
134.采用上述实施方式,tls握手的密钥交换过程与ibs签名所使用的椭圆曲线类型复用为同一椭圆曲线类型,以能够解决采用现有技术的认证方式,运算过程复杂的问题。
135.可选地,所述的认证方法中,第一认证端在发送第二握手信息后,立刻发送加密扩展encrypted extension信息,该信息为第一个被加密的数据,包括与密钥协商无关的扩展数据,用于指示给第二认证端。
136.进一步,第二证书指示信息还包括:
137.所述第二证书指示信息还包括:
138.第三证书类型信息server_certificate_type,用于指示在证书负载中的证书类型;
139.第四证书类型信息client_certificate_type,用于指示所述第二认证端要求提供的证书类型。
140.在依次完成上述的第二证书指示信息的发送之后,第一认证端向第二认证端发送结束消息,该结束消息也是身份验证阶段的最后一条消息,用于握手报文的完整性的检测。此外,该结束消息还提供密钥确认,将端点的身份绑定到交互的密钥。
141.进一步,在完成上述的第二证书指示信息的发送之后,第一认证端发送应用数据application data,该应用数据application data受应用密钥保护。
142.可选地,所述方法还包括:
143.向所述第二认证端发送第二证书指示信息,包括:
144.采用握手秘钥加密所述第二证书指示信息,其中所述握手密钥是根据所述第一握手消息和所述第二握手消息计算获得;
145.向所述第二认证端发送加密后的所述第二证书指示信息。
146.具体地,利用密钥材料和client hello、server hello两个报文的哈希值,基于hkdf算法可以计算出一个handshake_key,此后握手阶段的server_certificate_type、client_certificate_type、encrypted extension、certificate、certificate verify、certificatereuqest、finished报文都受该密钥保护。
147.可选地,本发明实施例所述认证方法,还包括:
148.获取所述第二认证端发送的第三证书指示信息;
149.采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
150.需要说明的是,第三证书指示信息包括:
151.证书certificate信息,包括所述第二认证端的公开参数信息和用户信息;
152.证书检验certificate verify信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值。
153.可选地,第二认证端的公开参数信息包括:所述第二认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
154.其中,第一认证端根据第二认证端发送的第三证书指示信息,采用上述方式确定的目标椭圆曲线类型对应的签名算法,对certificate信息和签名值进行验签操作。
155.采用上述过程,通过相同的目标椭圆曲线对应的签名算法,第一认证端也对第二认证端执行相同的身份验证操作。
156.本发明实施例所述认证方法,使ibs签名所使用的椭圆曲线类型与tls握手过程中所使用的椭圆曲线类型,复用为同一条椭圆曲线类型,能够解决采用现有技术的认证方式,运算过程复杂的问题。
157.本发明实施例另一方面还提供一种认证方法,应用于第二认证端,如图3所示,所述方法包括:
158.s310,向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
159.s320,获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类
型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
160.s330,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
161.采用本发明实施例所述认证方法,在第一认证端和第二认证端的认证过程中,ibs签名所使用的椭圆曲线类型与tls握手过程中所使用的椭圆曲线类型,复用为同一条椭圆曲线类型,能够解决采用现有技术的认证方式,运算过程复杂的问题。
162.本发明实施例中,可选地,可以将发送第一握手消息的第二认证端称为客户端,将接收第一握手消息的第一认证端称为服务端。需要说明的是,客户端与服务端可以为双向认证,第一认证端与第二认证端作为客户端和服务端的名称可以互换。
163.可选地,所述的认证方法,其中,在步骤s330,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,包括:
164.获取所述第一认证端发送的第二证书指示信息;
165.采用所述目标椭圆曲线类型对应的签名算法,对所述第二证书指示信息进行签名验证;
166.其中,所述第二证书指示信息包括:
167.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
168.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
169.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
170.可选地,所述的认证方法,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
171.可选地,所述的认证方法,其中,所述第一握手信息中包括第一证书指示信息,其中所述第一认证端根据所述第一证书指示信息,发送所述第二认证指示信息;
172.所述第一证书指示信息包括:
173.签名算法信息,用于指示所述第二认证端所支持的签名算法;
174.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
175.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
176.可选地,所述的认证方法,其中,所述第二证书指示信息还包括:
177.第三证书类型信息,用于指示在证书负载中的证书类型;
178.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
179.可选地,所述的认证方法,其中,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,还包括:
180.向所述第一认证端发送第三证书指示信息,使所述第一认证端采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
181.本发明实施例中,第一认证指示信息、第二认证指示信息和第三认证指示信息中所包括各信息的内容,以及第一认证端和第二认证端的认证过程可以参阅以上的详细描述,在此不再说明。
182.本发明实施例还提供一种认证端设备,所述认证端设备为第一认证端,如图4所示,包括收发机410和处理器420,其中:
183.所述收发机410用于,获取第二认证端发送的第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
184.所述处理器420用于,根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
185.所述收发机410还用于,向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
186.所述处理器420还用于,采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
187.可选地,所述的认证设备,其中,所述处理器420采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证,包括:
188.根据所述第一握手消息中的第一证书指示信息,向所述第二认证端发送第二证书指示信息;
189.其中,所述第二证书指示信息包括:
190.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
191.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
192.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
193.可选地,所述的认证设备,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
194.可选地,所述的认证设备,其中,所述第一证书指示信息包括:
195.签名算法信息,用于指示所述第二认证端所支持的签名算法;
196.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
197.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
198.可选地,所述的认证设备,其中,所述第二证书指示信息还包括:
199.第三证书类型信息,用于指示在证书负载中的证书类型;
200.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
201.可选地,所述的认证设备,其中,所述处理器420向所述第二认证端发送第二证书指示信息,包括:
202.采用握手秘钥加密所述第二证书指示信息,其中所述握手密钥是根据所述第一握手消息和所述第二握手消息计算获得;
203.向所述第二认证端发送加密后的所述第二证书指示信息。
204.可选地,所述的认证设备,其中,所述处理器420还用于:
205.获取所述第二认证端发送的第三证书指示信息;
206.采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
207.本发明实施例还提供一种认证端设备,所述认证端设备为第二认证端,如图5所示,包括收发机510和处理器520,其中:
208.所述收发机510用于,向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;以及
209.获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
210.所述处理器520用于,采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
211.可选地,所述的认证装置,其中,所述处理器520采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,包括:
212.获取所述第一认证端发送的第二证书指示信息;
213.采用所述目标椭圆曲线类型对应的签名算法,对所述第二证书指示信息进行签名验证;
214.其中,所述第二证书指示信息包括:
215.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
216.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
217.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
218.可选地,所述的认证装置,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
219.可选地,所述的认证装置,其中,所述第一握手信息中包括第一证书指示信息,其中所述第一认证端根据所述第一证书指示信息,发送所述第二认证指示信息;
220.所述第一证书指示信息包括:
221.签名算法信息,用于指示所述第二认证端所支持的签名算法;
222.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
223.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
224.可选地,所述的认证装置,其中,所述第二证书指示信息还包括:
225.第三证书类型信息,用于指示在证书负载中的证书类型;
226.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
227.可选地,所述的认证装置,其中,所述处理器520采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,还包括:
228.向所述第一认证端发送第三证书指示信息,使所述第一认证端采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
229.本发明实施例还提供一种认证装置,应用于第一认证端,如图6所示,所述装置包括:
230.第一消息获取模块610,用于获取第二认证端发送的第一握手消息;所述第一握手
消息包括所述第二认证端所支持的至少一椭圆曲线类型;
231.第一处理模块620,用于根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
232.第一消息发送模块630,用于向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
233.第二处理模块640,用于采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
234.可选地,所述的认证装置,其中,第二处理模块640采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证,包括:
235.根据所述第一握手消息中的第一证书指示信息,向所述第二认证端发送第二证书指示信息;
236.其中,所述第二证书指示信息包括:
237.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
238.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
239.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
240.可选地,所述的认证装置,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
241.可选地,所述的认证装置,其中,所述第一证书指示信息包括:
242.签名算法信息,用于指示所述第二认证端所支持的签名算法;
243.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
244.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
245.可选地,所述的认证装置,其中,所述第二证书指示信息还包括:
246.第三证书类型信息,用于指示在证书负载中的证书类型;
247.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
248.可选地,所述的认证装置,其中,向所述第二认证端发送第二证书指示信息,包括:
249.采用握手秘钥加密所述第二证书指示信息,其中所述握手密钥是根据所述第一握手消息和所述第二握手消息计算获得;
250.向所述第二认证端发送加密后的所述第二证书指示信息。
251.可选地,所述的认证装置,其中,第二处理模块640还用于:
252.获取所述第二认证端发送的第三证书指示信息;
253.采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
254.本发明实施例还提供一种认证装置,应用于第二认证端,如图7所示,所述装置包括:
255.第二消息发送模块710,用于向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
256.第二消息获取模块720,用于获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
257.第三处理模块730,用于采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
258.可选地,所述的认证装置,其中,第三处理模块730采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,包括:
259.获取所述第一认证端发送的第二证书指示信息;
260.采用所述目标椭圆曲线类型对应的签名算法,对所述第二证书指示信息进行签名验证;
261.其中,所述第二证书指示信息包括:
262.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
263.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
264.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
265.可选地,所述的认证装置,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
266.可选地,所述的认证装置,其中,所述第一握手信息中包括第一证书指示信息,其中所述第一认证端根据所述第一证书指示信息,发送所述第二认证指示信息;
267.所述第一证书指示信息包括:
268.签名算法信息,用于指示所述第二认证端所支持的签名算法;
269.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
270.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
271.可选地,所述的认证装置,其中,所述第二证书指示信息还包括:
272.第三证书类型信息,用于指示在证书负载中的证书类型;
273.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
274.可选地,所述的认证装置,其中,第三处理模块730采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,还包括:
275.向所述第一认证端发送第三证书指示信息,使所述第一认证端采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
276.本发明实施例另一方面还提供一种认证设备,可选地,所述认证设备为第一认证端,如图8所示,包括:处理器801;以及通过总线接口802与所述处理器801相连接的存储器803,所述存储器803用于存储所述处理器801在执行操作时所使用的程序和数据,处理器801调用并执行所述存储器803中所存储的程序和数据。
277.其中,收发机804与总线接口802连接,用于在处理器801的控制下接收和发送数据,具体地,处理器801用于读取存储器803中的程序,执行下列过程:
278.获取第二认证端发送的第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
279.根据至少一所述椭圆曲线类型中的目标椭圆曲线类型,确定所述第一认证端的用于秘钥协商的公钥;
280.向所述第二认证端发送第二握手消息;所述第二握手消息包括所述目标椭圆曲线类型和所述公钥;
281.采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证。
282.可选地,所述的认证设备,其中,处理器801采用所述目标椭圆曲线类型对应的签名算法,与所述第二认证端进行基于身份的数字签名ibs的身份验证,包括:
283.根据所述第一握手消息中的第一证书指示信息,向所述第二认证端发送第二证书指示信息;
284.其中,所述第二证书指示信息包括:
285.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
286.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
287.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
288.可选地,所述的认证设备,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
289.可选地,所述的认证设备,其中,所述第一证书指示信息包括:
290.签名算法信息,用于指示所述第二认证端所支持的签名算法;
291.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
292.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
293.可选地,所述的认证设备,其中,所述第二证书指示信息还包括:
294.第三证书类型信息,用于指示在证书负载中的证书类型;
295.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
296.可选地,所述的认证设备,其中,向所述第二认证端发送第二证书指示信息,包括:
297.采用握手秘钥加密所述第二证书指示信息,其中所述握手密钥是根据所述第一握手消息和所述第二握手消息计算获得;
298.向所述第二认证端发送加密后的所述第二证书指示信息。
299.可选地,所述的认证设备,其中,处理器801还用于:
300.获取所述第二认证端发送的第三证书指示信息;
301.采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
302.其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器803代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都
是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机804可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器801负责管理总线架构和通常的处理,存储器803可以存储处理器801在执行操作时所使用的数据。
303.本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件来完成,所述程序包括执行上述方法的部分或者全部步骤的指令;且该程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。
304.本发明实施例另一方面还提供一种认证设备,可选地,所述认证设备为第二认证端,如图9所示,包括:处理器901;以及通过总线接口902与所述处理器901相连接的存储器903,所述存储器903用于存储所述处理器901在执行操作时所使用的程序和数据,处理器901调用并执行所述存储器903中所存储的程序和数据。
305.其中,收发机904与总线接口902连接,用于在处理器901的控制下接收和发送数据,具体地,处理器901用于读取存储器903中的程序,执行下列过程:
306.向第一认证端发送第一握手消息;所述第一握手消息包括所述第二认证端所支持的至少一椭圆曲线类型;
307.获取所述第一认证端响应所述第一握手消息发送的第二握手消息;所述第二握手消息包括所述第一认证端根据至少一所述椭圆曲线类型所选择的目标椭圆曲线类型,以及根据所述目标椭圆曲线类型确定的所述第一认证端的用于秘钥协商的公钥;
308.采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证。
309.可选地,所述的认证设备,其中,处理器901采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,包括:
310.获取所述第一认证端发送的第二证书指示信息;
311.采用所述目标椭圆曲线类型对应的签名算法,对所述第二证书指示信息进行签名验证;
312.其中,所述第二证书指示信息包括:
313.证书信息,包括所述第一认证端的身份信息、所述第一认证端的公开参数信息和所述第一认证端所属秘钥生成中心的公开参数信息;
314.证书检验信息,包括采用所述目标椭圆曲线类型对应的签名算法,对所述证书信息进行签名的签名值;
315.证书请求信息,包括用于请求采用所述目标椭圆曲线类型对应的签名算法用于身份验证的请求信息。
316.可选地,所述的认证设备,其中,所述第一认证端的公开参数信息包括:所述第一认证端的用于秘钥协商的公钥、所述签名算法和所述签名算法的公开参数的哈希值。
317.可选地,所述的认证设备,其中,所述第一握手信息中包括第一证书指示信息,其中所述第一认证端根据所述第一证书指示信息,发送所述第二认证指示信息;
318.所述第一证书指示信息包括:
319.签名算法信息,用于指示所述第二认证端所支持的签名算法;
320.第一证书类型信息,用于指示所述第二认证端能够处理的证书类型;
321.第二证书类型信息,用于指示所述第二认证端能够提供的证书类型。
322.可选地,所述的认证设备,其中,所述第二证书指示信息还包括:
323.第三证书类型信息,用于指示在证书负载中的证书类型;
324.第四证书类型信息,用于指示所述第二认证端要求提供的证书类型。
325.可选地,所述的认证设备,其中,处理器901采用所述目标椭圆曲线类型对应的签名算法,与所述第一认证端进行基于身份的数字签名ibs的身份验证,还包括:
326.向所述第一认证端发送第三证书指示信息,使所述第一认证端采用所述目标椭圆曲线类型对应的签名算法,对所述第三证书指示信息进行签名验证。
327.其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器903代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机904可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器901负责管理总线架构和通常的处理,存储器903可以存储处理器901在执行操作时所使用的数据。
328.本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件来完成,所述程序包括执行上述方法的部分或者全部步骤的指令;且该程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。
329.另外,本发明具体实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上中任一项所述的认证方法中的步骤。
330.在本技术所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
331.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
332.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
333.以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述原理前提下,还可以作出若干改进和润饰,这些改进和润饰也应视
为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献