基于身份密码和指纹识别双重认证的方法和装置的制造方法_2

文档序号:8322026阅读:来源:国知局
KEY 中预先录入的指纹进行验证,在验证通过后,用户A利用自己的私钥对信息实施签名操作 得到签名信息,用户A利用用户B的身份信息IDB和发送的时间Time,得到用户B的公钥 =//!(/&Illume),用户A利用用户B的公钥么^加密所述签名信息,将加密后的签名信 息发送给用户B;
[0045]E3、用户B在自己的UKEY中输入自己的指纹,将用户B输入的指纹和用户B的UKEY 中预先录入的指纹进行验证,在验证通过后,利用用户B的UKEY中保存的用户B的私钥解 密所述加密后的签名信息,得到签名信息,用户B利用用户A的公钥验证用户A对所述 签名信息的签名。
[0046] -种基于身份密码和指纹识别双重认证的装置,包括:
[0047] 系统参数生成模块,用于选定h、G2为两个阶为q的群,p、q为设定的大素数,其中 q至少为160比特位,q的比特位数用n表示,匕是匕上的椭圆曲线E:y2=f(x)加法群的一 个子群,G2是域上的一个乘法群,AG,xG, -G2为一个双线性映射,P为匕的生成元;
[0048] 选择哈希函数氏、H2和H3 ;
[0049] 氏:{0, 1}# -Gp氏是一个单向hash函数,氏把表示用户身份信息的一个任意长 度的〇、1字符串映射到Gi上椭圆曲线的一个点,并将该点作为用户的公钥;
[0050] H2 : 1}* -Zq*,H2也是一个单向Hash函数,H2把一个任意长度的0、1字符串映 射到是一个有限域,其元素包括大于等于1且小于q-1的所有整数,m是要签密的明 文f目息,mGZ:;
[0051] H3心一Zq*,H3也是一个单向Hash函数,HjEGi上椭圆曲线的一个点,映射到Zq* ;
[0052] 用户私钥生成中心PKG选择一个随机数作为主密钥sGZq*,计算Ppub=sP,PKG公 开系统参数彳^(/,£,<^, <^?,(?,戶,/^,//|,//2, /^丨,保密主密钥8;
[0053] 用户私钥生成模块,设ID为用户的身份标识信息,Time为用户私钥更新的周期, 计算用户公钥QID =氏(ID| |Time),将用户的身份标识信息映射成匕上椭圆曲线的一个点, 根据用户公钥QID计算得到用户的私钥dID =sQID ;
[0054] 通过安全通道把私钥下载到用户的UKEY中,并发放给用户。
[0055] UKEY初始化模块,用于在用户A拿到下载有自己私钥的UKEY,设定UKEY的PIN码, 在UKEY中保存用户A的指纹信息,在用户B拿到下载有自己私钥的UKEY,设定UKEY的PIN 码,在UKEY中保存用户B的指纹信息;
[0056] 加密模块,用于利用用户B的身份信息IDB和发送的时间Time,得到用户B的公钥 II ;利用用户B的公钥加密明文m,得到密文并将该密文发送给用户 B;
[0057] 解密模块,用于通过用户B在自己的UKEY中输入自己的指纹,将用户B输入的指 纹和用户B的UKEY中预先录入的指纹进行验证,在验证通过后,利用用户B的UKEY中保存 的用户B的私钥解密所述密文。
[0058] 所述的装置还包括:
[0059] 签名模块,用于通过用户A在自己的UKEY中输入自己的指纹,将用户A输入的指 纹和用户A的UKEY中预先录入的指纹进行验证,在验证通过后,通过用户A利用自己的私 钥对信息实施签名操作得到签名信息,将所述签名信息发送给用户B;
[0060] 验签模块,用于通过用户B利用用户A的公钥验证用户A对所述签名信息的签 名。
[0061] 所述的装置还包括:
[0062] 加密签名模块,用于通过用户A利用用户B的身份信息IDB和发送的时间Time,得 至IJ用户B的公钥0% = II 通过用户A利用用户B的公钥加密明文m,得到 密文;通过用户A在自己的UKEY中输入自己的指纹,将用户A输入的指纹和用户A的UKEY中预先录入的指纹进行验证,在验证通过后,通过用户A利用自己的私钥对所述密文实施 签名操作,将签名后的密文发送给用户B;
[0063] 验签解密模块,用于通过用户B利用用户A的公钥验证用户A对所述签名后的 密文的签名,在验证通过后,用户B得到所述密文,通过用户B在自己的UKEY中输入自己的 指纹,将用户B输入的指纹和用户B的UKEY中预先录入的指纹进行验证,在验证通过后,利 用用户B的UKEY中保存的用户B的私钥解密所述密文。
[0064] 所述的装置还包括:
[0065] 签名加密模块,用于通过用户A在自己的UKEY中输入自己的指纹,将用户A输入 的指纹和用户A的UKEY中预先录入的指纹进行验证,在验证通过后,通过用户A利用自己 的私钥对信息实施签名操作得到签名信息,通过用户A利用用户B的身份信息IDB和发送 的时间Time,得到用户B的公钥/勾IF,m通e过用户A利用用户B的公钥 加密所述签名信息,将加密后的签名信息发送给用户B;
[0066] 解密验签模块,用于通过用户B在自己的UKEY中输入自己的指纹,将用户B输入 的指纹和用户B的UKEY中预先录入的指纹进行验证,在验证通过后,利用用户B的UKEY中 保存的用户B的私钥解密所述加密后的签名信息,得到签名信息,通过用户B利用用户A的 公钥验证用户A对所述签名信息的签名。
[0067] 由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过使用基于身 份密码的UKEY,既能保持基于身份密码方便使用的特点,同时又能充分发挥生物指纹身份 识别的优势,可利用用户的指纹识别替代用户PIN码验证用户的身份,方便了用户使用,另 外还避免了用户PIN码忘记或黑客截取PIN码造成的风险,增强了系统的安全性。
【附图说明】
[0068] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他 的附图。
[0069] 图1为本发明实施例一提供的一种基于身份密码和指纹识别双重认证的方法的 处理流程图;
[0070] 图2为本发明实施例二提供的一种基于身份密码和指纹识别双重认证的装置的 结构示意图,图中,系统参数生成模块21,用户私钥生成模块22,UKEY初始化模块23,加密 模块24,解密模块25,签名模块26,验签模块27,加密签名模块28,验签解密模块29,签名 加密模块210,解密验签模块220。
【具体实施方式】
[0071] 为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步 的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0072] 实施例一
[0073] 该实施例提供了一种基于身份密码和指纹识别双重认证的方法的处理流程如图1 所示,包括如下的处理步骤:
[0074] 步骤S110、生成并发布系统参数。
[0075] 选定Gp G2为两个阶为q的群,p、q为两个大素数(其中q至少为160比特位),q 的比特位数用n表示。匕是匕上的椭圆曲线E(形如:y2=f(x)的形式)加法群的一个子群, G2是域上的一个乘法群。AQ4G2为一个双线性映射,P为匕的生成元。
[0076] 选择哈希函数氏、H2和H3;
[0077]氏:{0, 1}# -Gp氏是一个单向hash函数,同时这个函数是安全的,它把表示用户 身份信息的一个任意长度的〇、1字符串映射到h上椭圆曲线的一个点,并将该点作为用户 的公钥;
[0078]H2 :{0, 1}# -Zq%H2也是一个单向Hash函数,它也是安全的,它把一个任意长度的 〇、1字符串映射到zq%Z:是一个有限域,其元素包括大于等于1且小于q-l的所有整数,m 是要签密的明文信息,meZq%x(R)表示椭圆曲线上点R的横坐标;
[0079]H3A-Zq%H3也是一个单向Hash函数,它也是安全的,它把Gi上椭圆曲线的一个 点,映射到Z:;
[0080]PKG选择一个随机数s作为主密钥sG zq*,计算Ppub=sP,PKG公开系统参数 {/w,/二GPG2,",,保密主密钥S;
[0081]示例性的,可以选择Fp上的超奇异曲线,曲线的阶#E(Fp) =p+l,
[0082] 选取p为1024位的大素数:
[0083]p=0xEB348F4B648412EAB3CE675E03B3AF14D434DFE4C6BC54291DD300DBDBAlBFDAC B0D7CFEE20185398A64748E3CB8E25EAADF8612D1881FC808A749E661703A734C22EF62112B3A 109A0CB86CEB1A2324B81837CA56C52EE75EDB37907E73B7FDF52F1BD
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1