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

一种身份认证方法

2022-12-13 20:40:14 来源:中国专利 TAG:


1.本技术涉及身份验证技术领域,尤其涉及一种身份认证方法。


背景技术:

2.身份验证又称身份验证或鉴权,是指通过一定的手段完成对用户身份的确认。身份验证的方法有很多,基本上可分为:基于共享密钥的身份验证、基于生物学特征的身份验证和基于公开密钥加密算法的身份验证。不同的身份验证方法,安全性也各有高低,而基于生物学特征的身份验证由于生物学特征的独一无二性,正得到越来越广的应用。然而,在进行身份认证的过程中,经常面临要将用户的身份信息发送给服务器进行验证的情况,为了保证用户信息安全,就需要对传送信息进行加密,但目前的身份认证方法往往是从引入外部参数对传送信息进行加密,不仅计算量大,而且一旦引入的参数被破解,还会危及用户信息安全。可见,现有技术存在计算量大且安全性不足的问题。


技术实现要素:

3.本技术提供了一种身份认证方法,能够降低计算量并保证认证安全性。
4.本技术实施例提供了一种身份认证方法,该方法包括:
5.服务器获取用户ui输入的身份标识idi、口令pwi及生物特征信息bioi,并获取用户ui的智能卡中存储的原始参数信息集合{ei,fi,gi,ccb(x,y),ri};其中,ei、fi及gi均为加密参数,ri为用户ui写入智能卡的随机数;ccb(x,y)为交叉组合位算法的运算规则,交叉组合位算法为基于加密信息的汉明权重进行位运算的算法;
6.服务器根据身份标识idi、口令pwi、生物特征信息bioi及原始参数信息集合{ei,fi,gi,ccb(x,y),ri},通过交叉组合位算法计算得到验证参数f`i,并对比验证参数f`i与加密参数fi是否一致;在验证参数f`i与加密参数fi一致时,判定用户ui登录成功;
7.在用户ui登录成功时,智能卡生成随机数x,按第一预设规则通过交叉组合位算法得到加密参数i1、加密参数hi及加密参数i2,并生成第一参数信息集合{i1,hi,i2,gi}发送给服务器;服务器存储有服务器身份标识idj和服务器密钥k
rc_s

8.服务器根据服务器密钥k
rc_s
和第一参数信息集合{i1,hi,i2,gi},通过交叉组合位算法计算得到验证参数i`2,并对比验证参数i`2与加密参数i2是否一致;在验证参数i`2与加密参数i2一致时,判定用户ui通过第一验证;
9.在用户ui通过第一验证时,服务器生成随机数y,按第二预设规则通过交叉组合位算法得到第一交互密钥k
s_u
、加密参数i3及加密参数i4,并生成第二参数信息集合{idj,i3,i4}发送给智能卡;
10.智能卡根据随机数x、身份标识idi及第二参数信息集合{idj,i3,i4},通过交叉组合位算法计算得到验证参数i`4,并对比验证参数i`4与加密参数i4是否一致;在验证参数i`4与加密参数i4一致时,判定用户ui通过第二验证;
11.在用户ui通过第二验证时,智能卡按第三预设规则通过交叉组合位算法得到加密
参数n,并将加密参数n发送给服务器;
12.服务器根据第一交互密钥k
s_u
和随机数y通过交叉组合位算法计算得到验证参数n`,并对比验证参数n`与加密参数n是否一致;在验证参数n`与加密参数n一致时,判定用户ui通过身份验证。
13.在其中一个实施例中,服务器根据身份标识idi、口令pwi、生物特征信息bioi及原始参数信息集合{ei,fi,gi,ccb(x,y),ri},通过交叉组合位算法计算得到验证参数f`i,包括:
14.服务器根据随机数ri和身份标识idi计算得到验证参数a`i=ccb(idi,ri),并根据口令pwi和生物特征信息bioi计算得到验证参数b`i=ccb(pwi,bioi);
15.根据验证参数b`i和加密参数ei计算得到验证参数
16.根据验证参数a`i和验证参数d`i计算得到验证参数
17.在其中一个实施例中,服务器根据服务器密钥k
rc_s
和第一参数信息集合{i1,hi,i2,gi},通过交叉组合位算法计算得到验证参数i`2,包括:
18.服务器根据加密参数gi和服务器密钥k
rc_s
计算得到验证参数
19.将验证参数c`i分为左部分c`
i_l
和右部分c`
i_r
,计算得到验证参数d``i=ccb(c`
i_l
,c`
i_r
);
20.根据验证参数d``i和加密参数i1计算得到验证随机数
21.根据验证随机数x`、验证参数d``i和加密参数hi计算得到验证身份标识计算得到验证身份标识
22.根据验证身份标识id`i、验证随机数x`和加密参数gi计算得到验证参数计算得到验证参数
23.在其中一个实施例中,智能卡根据随机数x、身份标识idi及第二参数信息集合{idj,i3,i4},通过交叉组合位算法计算得到验证参数i`4,包括:
24.智能卡根据随机数x、身份标识idi及加密参数i3计算得到验证随机数
25.根据验证随机数y`和服务器身份标识idj计算得到验证参数i`4=ccb(idj,y`)。
26.在其中一个实施例中,第一预设规则包括:
27.及
28.其中,d`
i_l
和d`
i_r
分别为验证参数d`i的左部分和右部分;
29.第二预设规则包括:
30.及i4=ccb(idj,y);
31.第三预设规则包括:
32.第二交互密钥
33.其中,y
l
为随机数y的左部分,yr为随机数y的右部分。
34.在其中一个实施例中,在服务器获取用户ui输入的身份标识idi、口令pwi及生物特征信息bioi之前,方法还包括:
35.服务器向注册中心发送注册请求,并在注册成功时,接收注册中心发送的服务器
密钥k
rc_s

36.以及,用户ui在终端输入设定的身份标识idi、口令pwi及生物特征信息bioi,并写入随机数ri,终端按第四预设规则通过交叉组合位算法对身份标识idi、口令pwi、生物特征信息bioi及随机数ri进行计算,得到加密参数ai和加密参数bi,并生成注册参数信息集合{idi,ai,bi}发送给注册中心;
37.注册中心验证身份标识idi是否具有唯一性;并在身份标识idi具有唯一性时,判定用户ui注册成功,按第五预设规则通过交叉组合位算法对注册中心的主密钥k、服务器密钥k
rc_s
、身份标识idi、加密参数ai及加密参数bi进行计算,得到加密参数ei、加密参数fi及加密参数gi,并将加密参数ei、加密参数fi、加密参数gi及交叉组合位算法的运算规则写入智能卡中;
38.智能卡还接收用户ui写入的随机数ri,以使智能卡存储有原始参数信息集合{ei,fi,gi,ccb(x,y),ri}。
39.在其中一个实施例中,第四预设规则包括:ai=ccb(idi,ri)和bi=ccb(pwi,bioi);
40.第五预设规则包括:ci=ccb(idi,k)、di=ccb(c
i_l
,c
i_r
)、及其中,ci和di均为加密参数,k为注册中心的主密钥,c
i_l
为加密参数ci的左部分,c
i_r
为加密参数ci的右部分。
41.在其中一个实施例中,该方法还包括:
42.服务器在验证参数f`i与加密参数fi不一致时,判定用户ui登录失败,通知用户ui进行第二次登录;以及,
43.在用户ui登录失败的连续次数达到阈值时,将用户ui的智能卡锁定,以使智能卡无法再进行登录操作。
44.在其中一个实施例中,在用户ui登录成功之后,该方法还包括:
45.服务器接收用户ui输入的新口令pw
new
,并基于新口令pw
new
更新智能卡中存储的加密参数ei;
46.其中,加密参数
47.在其中一个实施例中,交叉组合位算法的公式为:z=ccb(x,y);
48.其中,x、y、z均为长度为l位的二进制串,以h(x)表示二进制串x的汉明权重,h(y)表示二进制串y的汉明权重;
49.交叉组合位算法的运算规则包括:
50.当h(x)≥h(y)时,取二进制串x的右边h(y)位和二进制串y的左边h(x)位顺序组合,得到一个二进制串;若h(x) h(y)≥l,则截去该二进制串的右边(h(x) h(y)-l)位,得到长度为l位的二进制串z;若h(x) h(y)<l,则在该二进制串的左边补上(l-(h(x) h(y))个0,得到长度为l位的二进制串z;
51.当h(x)<h(y)时,取二进制串x的左边h(y)位和二进制串y的右边h(x)位逆序组合,得到一个二进制串;若h(x) h(y)≥l,则截去该二进制串的左边(h(x) h(y)-l)位,得到长度为l位的二进制串z;若h(x) h(y)<l,则在该二进制串的右边补上(l-(h(x) h(y))个0,得到长度为l位的二进制串z。
52.综上,与现有技术相比,本技术实施例提供的技术方案带来的有益效果至少包括:
53.本技术提供的一种身份认证方法,即可在单服务器环境下使用,也可在多服务器
环境下使用,具备更广的应用范围;上述方法使用按位运算的交叉组合位算法实现对传送信息的加密处理,可以降低计算量;且由于该交叉组合位算法为基于加密信息的汉明权重进行位运算的算法,因此在加密过程中可以利用加密信息自身具备的固有汉明权重,既能够减少参数引入的同时,又可增加第三方破解难度;上述方法能够在身份认证过程中既保证认证安全性,又降低计算量。
附图说明
54.图1为本技术一个示例性实施例提供的身份认证方法的流程图。
55.图2为本技术一个示例性实施例提供的交叉组合位算法运算的示例图。
56.图3为本技术一个示例性实施例提供的交叉组合位算法运算的另一示例图。
具体实施方式
57.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
58.本技术实施例提供了一种身份认证方法,请参见图1,该方法即可在单服务器环境下应用,也可在多服务器环境下应用,具备更广的应用范围。该方法具体包括以下步骤:
59.步骤s1,服务器获取用户ui输入的身份标识idi、口令pwi及生物特征信息bioi,并获取用户ui的智能卡中存储的原始参数信息集合{ei,fi,gi,ccb(x,y),ri}。
60.其中,用户ui为编号为i的用户,i为一个正整数值;ei、fi及gi为预先存储在智能卡中的多个加密参数,ri为用户ui写入智能卡的随机数;ccb(x,y)为交叉组合位运算符,在此指交叉组合位算法的运算规则,交叉组合位算法为基于加密信息的汉明权重进行位运算的算法;生物特征信息bioi可以为用户的视网膜、指纹、dna等信息。
61.具体地,用户ui将智能卡插入服务器对应的读卡器中,服务器通过读卡器获取用户ui输入的身份标识idi、口令pwi及生物特征信息bioi,并通过读卡器获取用户ui的智能卡中存储的原始参数信息集合{ei,fi,gi,ccb(x,y),ri}。
62.步骤s2,服务器根据身份标识idi、口令pwi、生物特征信息bioi及原始参数信息集合{ei,fi,gi,ccb(x,y),ri},通过交叉组合位算法计算得到验证参数f`i,并对比验证参数f`i与加密参数fi是否一致;在验证参数f`i与加密参数fi一致时,判定用户ui登录成功。
63.具体地,比较验证参数f`i与加密参数fi的大小,若f`i=fi,用户ui通过登录验证,即用户ui登录成功。
64.在本实施例的一些实施方式中,服务器根据身份标识idi、口令pwi、生物特征信息bioi及原始参数信息集合{ei,fi,gi,ccb(x,y),ri},通过交叉组合位算法计算得到验证参数f`i,具体包括以下步骤:
65.服务器根据随机数ri和身份标识idi计算得到验证参数a`i=ccb(idi,ri),并根据口令pwi和生物特征信息bioi计算得到验证参数b`i=ccb(pwi,bioi);
66.根据验证参数b`i和加密参数ei计算得到验证参数
67.根据验证参数a`i和验证参数d`i计算得到验证参数
68.其中,为异或运算符;ccb(x,y)为交叉组合位运算符。
69.步骤s3,在用户ui登录成功时,智能卡生成随机数x,按第一预设规则通过交叉组合位算法得到加密参数i1、加密参数hi及加密参数i2,并生成第一参数信息集合{i1,hi,i2,gi}发送给服务器;服务器存储有服务器身份标识idj和服务器密钥k
rc_s

70.在本实施例的一些实施方式中,第一预设规则包括:在本实施例的一些实施方式中,第一预设规则包括:及其中,d`
i_l
和d`
i_r
分别为验证参数d`i的左部分和右部分。
71.步骤s4,服务器根据服务器密钥k
rc_s
和第一参数信息集合{i1,hi,i2,gi},通过交叉组合位算法计算得到验证参数i`2,并对比验证参数i`2与加密参数i2是否一致;在验证参数i`2与加密参数i2一致时,判定用户ui通过第一验证。
72.具体地,对比验证参数i`2与加密参数i2的大小。
73.若i`2≠i2,表明用户ui无法通过服务器的第一验证,认证过程终止。
74.若i`2=i2,表明用户ui通过服务器的第一验证,认证过程继续。
75.在本实施例的一些实施方式中,服务器根据服务器密钥k
rc_s
和第一参数信息集合{i1,hi,i2,gi},通过交叉组合位算法计算得到验证参数i`2,包括:
76.服务器根据加密参数gi和服务器密钥k
rc_s
计算得到验证参数
77.将验证参数c`i分为左部分c`
i_l
和右部分c`
i_r
,计算得到验证参数d``i=ccb(c`
i_l
,c`
i_r
);
78.根据验证参数d``i和加密参数i1计算得到验证随机数
79.根据验证随机数x`、验证参数d``i和加密参数hi计算得到验证身份标识计算得到验证身份标识
80.根据验证身份标识id`i、验证随机数x`和加密参数gi计算得到验证参数计算得到验证参数
81.步骤s5,在用户ui通过第一验证时,服务器生成随机数y,按第二预设规则通过交叉组合位算法得到第一交互密钥k
s_u
、加密参数i3及加密参数i4,并生成第二参数信息集合{idj,i3,i4}发送给智能卡。
82.在本实施例的一些实施方式中,第二预设规则包括:在本实施例的一些实施方式中,第二预设规则包括:及i4=ccb(idj,y);
83.步骤s6,智能卡根据随机数x、身份标识idi及第二参数信息集合{idj,i3,i4},通过交叉组合位算法计算得到验证参数i`4,并对比验证参数i`4与加密参数i4是否一致;在验证参数i`4与加密参数i4一致时,判定用户ui通过第二验证。
84.具体地,比较验证参数i`4与加密参数i4的大小。
85.若i`4≠i4,服务器无法通过用户ui的第二验证,认证过程终止。
86.若i`4=i4,服务器通过用户ui的第二验证,认证过程继续。
87.在本实施例的一些实施方式中,智能卡根据随机数x、身份标识idi及第二参数信息集合{idj,i3,i4},通过交叉组合位算法计算得到验证参数i`4,包括:
88.智能卡根据随机数x、身份标识idi及加密参数i3计算得到验证随机数
89.根据验证随机数y`和服务器身份标识idj计算得到验证参数i`4=ccb(idj,y`)。
90.步骤s7,在用户ui通过第二验证时,智能卡按第三预设规则通过交叉组合位算法得到加密参数n,并将加密参数n发送给服务器。
91.在本实施例的一些实施方式中,第三预设规则包括:
92.第二交互密钥
93.其中,y
l
为随机数y的左部分,yr为随机数y的右部分。
94.步骤s8,服务器根据第一交互密钥k
s_u
和随机数y通过交叉组合位算法计算得到验证参数n`,并对比验证参数n`与加密参数n是否一致;在验证参数n`与加密参数n一致时,判定用户ui通过身份验证。
95.具体地,对比验证参数n`与接收到的加密参数n的大小。
96.若n`≠n,用户ui未能通过服务器sj的验证,协议停止。
97.若n`=n,用户ui通过服务器sj的验证,表明用户ui为合法用户,可自由使用服务器sj上的资源。
98.本实施例提供的一种身份认证方法,即可在单服务器环境下使用,也可在多服务器环境下使用,具备更广的应用范围;上述方法使用按位运算的交叉组合位算法实现对传送信息的加密处理,可以降低计算量;且由于该交叉组合位算法为基于加密信息的汉明权重进行位运算的算法,因此在加密过程中可以利用加密信息自身具备的固有汉明权重,既能够减少参数引入的同时,又可增加第三方破解难度;上述方法能够降低身份认证过程中的计算量并提高认证安全性。
99.基于上述实施例,交叉组合位算法的公式为:z=ccb(x,y);
100.其中,x、y、z均为长度为l位的二进制串,以h(x)表示二进制串x的汉明权重,h(y)表示二进制串y的汉明权重;
101.交叉组合位算法的运算规则包括:
102.当h(x)≥h(y)时,取二进制串x的右边h(y)位和二进制串y的左边h(x)位顺序组合,得到一个二进制串;若h(x) h(y)≥l,则截去该二进制串的右边(h(x) h(y)-l)位,得到长度为l位的二进制串z;若h(x) h(y)<l,则在该二进制串的左边补上(l-(h(x) h(y))个0,得到长度为l位的二进制串z;
103.当h(x)<h(y)时,取二进制串x的左边h(y)位和二进制串y的右边h(x)位逆序组合,得到一个二进制串;若h(x) h(y)≥l,则截去该二进制串的左边(h(x) h(y)-l)位,得到长度为l位的二进制串z;若h(x) h(y)<l,则在该二进制串的右边补上(l-(h(x) h(y))个0,得到长度为l位的二进制串z。
104.为了加深对交叉组合位算法的理解,请参见以下示例:
105.如图2所示,取l=12、x=101101111101、y=010110000110,则可以得到h(x)=9、h(y)=5,满足h(x)≥h(y),故可以得出z0=11101010110000。由于h(x) h(y)=14大于l=12,因此满足h(x) h(y)≥l,根据交叉组合位算法的定义,需要截去二进制串z0的右边2位,最终得到二进制串z=ccb(x,y)=111010101100。
106.如图3所示,取l=12、x=010110000110、y=101101111100,则可以得到h(x)=5、h(y)=8,可见满足h(x)<h(y),故可以得出z0=1110001011000。由于h(x) h(y)=13大于l=12,因此满足h(x) h(y)≥l,根据交叉组合位算法的定义,需要截去二进制串z0的左边1
位,最终得到二进制串z=ccb(x,y)=110001011000。
107.上述实施例提供的一种身份认证方法,采用基于加密信息的汉明权重进行位运算的交叉组合位算法,除了具备位运算的计算量小和计算效率高的优势,还能够利用加密信息自身具备的固有汉明权重进行加密,不仅能减少参数引入,还可以增加第三方破解难度,从而达到降低计算量和提高安全性的效果。
108.在一些实施例中,在步骤s1之前,可以通过在进行身份认证之前分别进行服务器与用户的注册。该方法还包括:
109.服务器注册步骤:
110.服务器向注册中心发送注册请求,并在注册成功时,接收注册中心发送的服务器密钥k
rc_s

111.其中,服务器密钥k
rc_s
为注册中心与服务器之间的密钥。
112.具体地,服务器向注册中心发送注册请求,注册请求包括服务器输入的注册信息;
113.其中,注册信息可以包含服务器身份标识idj;
114.注册中心检查注册信息是否具有唯一性;
115.若注册信息具有唯一性,注册中心将服务器密钥k
rc_s
发送给服务器;
116.若注册信息不具有唯一性,通知服务器重新输入注册信息,直至服务器输入的注册信息具有唯一性为止。
117.由于上述方法既可以在单服务器下使用,也可以在多服务器下使用,因此注册中心可以接收一个或多个服务器的注册请求,并分别为其进行注册。
118.以及,用户注册步骤,具体包括以下步骤:
119.用户ui在终端输入设定的身份标识idi、口令pwi及生物特征信息bioi,并写入随机数ri,终端按第四预设规则通过交叉组合位算法对身份标识idi、口令pwi、生物特征信息bioi及随机数ri进行计算,得到加密参数ai和加密参数bi,并生成注册参数信息集合{idi,ai,bi}发送给注册中心。
120.其中,随机数ri可以为用户注册过程中选定的随机数,具体实施时,随机数ri可以是用户设定的密码;第四预设规则包括:ai=ccb(idi,ri)和bi=ccb(pwi,bioi);
121.注册中心验证身份标识idi是否具有唯一性;并在身份标识idi具有唯一性时,判定用户ui注册成功,按第五预设规则通过交叉组合位算法对注册中心的主密钥k、服务器密钥k
rc_s
、身份标识idi、加密参数ai及加密参数bi进行计算,得到加密参数ei、加密参数fi及加密参数gi,并将加密参数ei、加密参数fi、加密参数gi及交叉组合位算法的运算规则写入智能卡中。
122.在本实施例的一些实施方式中,第五预设规则包括:ci=ccb(idi,k)、di=ccb(c
i_l
,c
i_r
)、及其中,ci和di均为加密参数,k为注册中心的主密钥,c
i_l
为加密参数ci的左部分,c
i_r
为加密参数ci的右部分。
123.其中,终端一般为认证所需的终端设备,例如注册主机、银行柜机等。
124.智能卡还接收用户ui写入的随机数ri,以使智能卡存储有原始参数信息集合{ei,fi,gi,ccb(x,y),ri}。
125.上述实施例可以在用户注册过程中就采用交叉组合位算法对传送信息进行加密,使得处理用户身份标识外,其他用户信息在与注册中心之间交互时均为已加密信息,进一
步保证了用户信息的安全性。
126.在一些实施例中,该方法还包括:
127.服务器在验证参数f`i与加密参数fi不一致时,判定用户ui登录失败,通知用户ui进行第二次登录;以及,在用户ui登录失败的连续次数达到阈值时,将用户ui的智能卡锁定,以使智能卡无法再进行登录操作。
128.其中,阈值可以为3-5次,可根据实际需要预先设置;当智能卡被锁住时,用户需要持智能卡前往注册中心才能解锁。
129.上述实施例可以在用户登录失败时,提醒用户重新登录,并当用户连续登录失败次数超过阈值时,将智能卡锁定,使其无法再进行登录操作,以防止智能卡被盗用的情况。
130.在一些实施例中,为了修改口令,在用户ui登录成功之后,方法还包括:
131.服务器接收用户ui输入的新口令pw
new
,并基于新口令pw
new
更新智能卡中存储的加密参数ei;
132.其中,加密参数ei=e
new

133.具体地,口令修改完成后,用户可取出智能卡。
134.上述实施例中,用户可以在登录后修改口令,修改后的口令立刻被加密存储,保证修改口令过程中的安全性。
135.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
136.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
137.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献