一种基于生物特征的短信验证系统的制作方法

文档序号:15845055发布日期:2018-11-07 08:54阅读:177来源:国知局
一种基于生物特征的短信验证系统的制作方法

本发明涉及信息验证技术领域,具体为一种基于生物特征的短信验证系统。

背景技术

随着智能手机及其应用软件的快速发展,智能手机的在线支付方式正在逐步取代传统支付方式。以支付宝、微信钱包为代表的移动支付系统在进行银行卡绑定时广泛采用以手机短信为载体的短信验证码来确认用户身份。另外,在用户忘记登录密码时,这些应用系统的服务器也会向用户注册的手机号发送一条含有验证码的短信,并要求用户在规定时间内将验证码输入提示对话框并且发送给远程服务器,以此来验证用户的真实身份。这种短信验证码方式的身份认证带来了良好的用户体验,给用户的快速身份确认提供了极大的便利,因为用户不再担心忘记密码的问题,甚至是可以不用密码而直接使用短信验证码的方式进行登录。

但是上述认证方式存在很多安全隐患,首先,短信以明文方式进行传输,网络中潜在的敌手可以通过监听的方式获得用户的验证码,从而冒充合法用户登录系统;其次,在用户手机丢失的情况下,如果用户没有及时注销手机号码,敌手可以在此时间段使用该手机冒充合法用户登录用户的系统。再次,如果用户手机里的其他软件被允许读取短信、通话记录等内容,验证码可能存在被恶意盗用的风险。另外,如果用户更新手机号码时没有解除原手机号与相关应用系统的绑定关系,那么原手机号的新户主就可以轻易地利用短信验证码认证的办法非法访问这些应用系统。如果敌手能够以非法方式复制用户的手机卡、更换手机号后忘记在已注册的系统里更新手机号等情况下,都会导致因手机卡与合法用户的分离问题而给敌手冒充合法用户的行为提供了可乘之机。因此,实际生活中我们亟需一种安全可靠的验证系统,基于此,本发明设计了一种基于生物特征的短信验证系统,以解决上述问题。



技术实现要素:

本发明的目的在于提供一种基于生物特征的短信验证系统,以解决上述背景技术中提出的实际生活中我们亟需一种安全可靠的验证系统的问题。

为实现上述目的,本发明提供如下技术方案:一种基于生物特征的短信验证系统,包括系统初始化,所述系统初始化信号连接密钥传输协议模块,所述密钥传输协议模块信号连接密钥管理系统,所述密钥管理系统信号连接密钥更新系统,所述密钥更新系统信号连接验证码签名系统,所述验证码签名系统信号连接签名验证系统。

优选的,所述系统初始化的步骤如下:

s1:客户端自动选择有限域gf(p)上椭圆曲线加密所需参数,包括g、n、a、b,并且设定在该基域上以a,b为参数的椭圆曲线e(a,b)和e(a,b)上拥有素数阶n的基点g,其中ng=o;

s2:获取用户由硬件设备输入的生物特征,比如指纹、人脸等,通过密钥生成算法,生成用户的私钥,记为

s3:由公式计算用户的公钥,记为

s4:远程服务器初始化基于身份的密码(ibc)系统参数,用自己机构的公开身份作为公钥并且生成与之对应的私钥

优选的,所述密钥传输协议模块的步骤如下:

s1:客户端向远程服务器发送注册请求;

s2:远程服务器产生随机数n1,并用远程服务器的ibc私钥签名,如公式(对n1进行数字签名)所示,服务器把n1及发送给客户端;

s3:客户端收到n1及后,验证服务器的签名,如果通过验证,则将用户ecc公钥、用户ibc公钥(用户手机号码)、登录密码m以及客户端选择的随机数n2结合,分别用用户的ecc私钥和远程服务器ibc公钥对其签名与加密,如公式所示,客户端把公式所表示的数据发送给远程服务器;

s4:远程服务器用自身ibc私钥解密得到用户ecc公钥,验证签名并检验随机数n1,如果通过验证,则保存用户ecc公钥及登录密码,密码在服务器端以哈希值方式存储,建立用户的ecc公钥与用户的ibc公钥的对应关系,更新注册信息,并将用户ecc公钥加密用户ibc私钥并且签名后发送给客户端,如公式所示;

s5:客户端验证服务器的签名及随机数n2,通过后,接受并保存用户的私钥

优选的,所述密钥管理系统的步骤如下:

s1:通过密钥传输协议获取用户信息、登录密码、ibc公钥、ecc公钥;

s2:通过服务器根据ibc公钥自动生成ibc私钥。

优选的,所述密钥更新系统的步骤如下:

s1:用户通过客户端向远程服务器发送密钥更新请求;

s2:远程服务器接收密钥更新请求,按照公式封装数据并返回给客户端,x表示密钥更新应答及政策;政策分为两种情况:第一种为更新用户生物特征密钥,即更新用户的ecc私钥,ibc密钥对不变;第二种为更新用户手机号码,即改变用户的ibc公钥,ecc密钥对不变,n3表示随机数;

s3:客户端接收接远程服务器应答、验证签名,并根据政策选择传输协议,将更新后的密钥,表示用户ecc新密钥,表示由用户手机号码生成的ibc新公钥,发送给远程服务器。在更新生物特征密钥的情况下,客户端按照公式所示的格式封装数据,并送给服务器,在更新用户手机号码情况下,按照公式封装数据,并发送给服务器;

s4:远程服务器接收到反馈后,验证数字签名、检验随机数n3,验证通过后,更新密钥管理表,产生密钥更新反馈,并且在更新用户手机号码情况下将用户ibc新私钥用按照公式的格式封装数据并返回给客户端;

s5:客户端收到更新的私钥数据后,验证服务器的数字签名,检验随机数n4,验证通过后,更新客户端的ibc私钥。

优选的,所述验证码签名系统的步骤如下:

s1:客户端向远程服务器发送身份认证及密码规格协商请求;

s2:客户端收到远程服务器的验证码v及密码规格确认;

s3:客户端调用密钥生成模块获取用户私钥

s4:客户端选择一个随机数或伪随机数k并按照公式r=k*g=(x1,y1)计算椭圆曲线的点r;按照公式r=x1modn计算r;若r=0则返回重新选择随机数k,若r≠0,则按照公式s≡k-1(h(v)+d*r)modn计算s;若s=0则返回重新选择随机数k,若s≠0;则得到验证码v的数字签名(r,s);客户端将验证码及签名v||(r,s)发送给远程服务器。

优选的,所述签名验证系统的步骤如下:

s1:远程服务器接收验证码及签名v||(r,s);

s2:远程服务器在索引表中提取用户ecc公钥;判断r,s是否为区间[1,n-1]内的整数;计算e=h(m);f≡s-1modn;u1≡f*emodn;u2≡r*fmodn;p≡u1*g+u2*q;得到坐标(xp,yp),若p=0则签名非法;最后将域元素xp转化为整数x;

s3:远程服务器验证:x≡rmodn;是否成立,若公式p≡u1*g+u2*q成立,则签名有效,请求用户新设置密码;反之签名无效,报告用户验证请求失败。

与现有技术相比,本发明的有益效果是:本发明利用用户自身的生物特征密钥,采用基于椭圆曲线的ecc签名算法,对消息验证码进行数字签名,短信验证码本身就是一种身份认证方式,在此基础上,对验证码进行数字签名,使得验证码本身的人证与用户绑定在一起防止验证码的盗用,此技术在验证码方便性的基础上,进一步提高了其安全性和实用性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明原理框图;

图2为本发明密钥生成流程图;

图3为本发明密钥传输协议流程图;

图4为本发明密钥管理图;

图5为本发明密钥更新流程图;

图6为本发明验证码签名流程图;

图7为本发明签名验证流程图。

附图中,各标号所代表的部件列表如下:

1-系统初始化,2-密钥传输协议模块,3-密钥管理系统,4-密钥更新系统,5-验证码签名系统,6-签名验证系统;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1-7,本发明提供一种技术方案:一种基于生物特征的短信验证系统,包括系统初始化1,系统初始化1信号连接密钥传输协议模块2,密钥传输协议模块2信号连接密钥管理系统3,密钥管理系统3信号连接密钥更新系统4,密钥更新系统4信号连接验证码签名系统5,所述验证码签名系统5信号连接签名验证系统6。

实现系统初始化1的步骤如下:

s1:客户端自动选择有限域gf(p)上椭圆曲线加密所需参数,包括g、n、a、b,并且设定在该基域上以a,b为参数的椭圆曲线e(a,b)和e(a,b)上拥有素数阶n的基点g,其中ng=o;

s2:获取用户由硬件设备输入的生物特征,比如指纹、人脸等,通过密钥生成算法,生成用户的私钥,记为

s3:由公式计算用户的公钥,记为

s4:远程服务器初始化基于身份的密码系统(ibc)系统参数,用自己机构的公开身份作为公钥并且生成与之对应的私钥

实现密钥传输协议模块2的步骤如下:

s1:客户端向远程服务器发送注册请求;

s2:远程服务器产生随机数n1,并用远程服务器的ibc私钥签名,如公式所示,服务器把n1及发送给客户端;

s3:客户端收到n1及后,验证服务器的签名,如果通过验证,则将用户ecc公钥、用户ibc公钥(用户手机号码)、登录密码m以及客户端选择的随机数n2结合,分别用用户的ecc私钥和远程服务器ibc公钥对其签名与加密,如公式所示,客户端把公式所表示的数据发送给远程服务器;

s4:远程服务器用自身ibc私钥解密得到用户ecc公钥,验证签名并检验随机数n1,如果通过验证,则保存用户ecc公钥及登录密码,建立用户的ecc公钥与用户的ibc公钥的对应关系,更新注册信息,并将用户ecc公钥加密用户ibc私钥并且签名后发送给客户端,如公式所示;

s5:客户端验证服务器的签名及随机数n2,通过后,接受并保存用户的私钥

实现密钥管理系统3的步骤如下:

s1:通过密钥传输协议获取用户信息、登录密码、ibc公钥、ecc公钥;

s2:通过服务器根据ibc公钥自动生成ibc私钥。

实现密钥更新系统4的步骤如下:

s1:用户通过客户端向远程服务器发送密钥更新请求;

s2:远程服务器接收密钥更新请求,按照公式封装数据并返回给客户端,x表示密钥更新应答及政策,政策分为两种情况:第一种为更新用户生物特征密钥,即更新用户的ecc私钥,ibc密钥对不变;第二种为更新用户手机号码,即改变用户的ibc公钥,ecc密钥对不变,n3表示随机数;

s3:客户端接收接远程服务器应答、验证签名,并根据政策选择传输协议,将更新后的密钥,表示用户ecc新密钥,表示由用户手机号码生成的ibc新公钥,发送给远程服务器。在更新生物特征密钥的情况下,客户端按照公式所示的格式封装数据,并送给服务器,在更新用户手机号码情况下,按照公式封装数据,并发送给服务器;

s4:远程服务器接收到反馈后,验证数字签名、检验随机数n3,验证通过后,更新密钥管理表,产生密钥更新反馈,并且在更新用户手机号码情况下将用户ibc新私钥用按照公式的格式封装数据并返回给客户端;

s5:客户端收到更新的私钥数据后,验证服务器的数字签名,检验随机数n4,验证通过后,更新客户端的ibc私钥。

实现验证码签名系统5的步骤如下:

s1:客户端向远程服务器发送身份认证及密码规格协商请求;

s2:客户端收到远程服务器的验证码v及密码规格确认;

s3:客户端调用密钥生成模块获取用户私钥

s4:客户端选择一个随机数或为随机数k并按照公式r=k*g=(x1,y1)计算椭圆曲线的点r;按照公式r=x1modn计算r;若r=0则返回重新选择随机数k,若r≠0,则按照公式s≡k-1(h(v)+d*r)modn计算s;若s=0则返回重新选择随机数k,若s≠0;则得到验证码v的数字签名(r,s);客户端将验证码及签名v||(r,s)发送给远程服务器。

实现签名验证系统6的步骤如下:

s1:远程服务器接收验证码及签名v||(r,s);

s2:远程服务器在索引表中提取用户ecc公钥;判断r,s是否为区间[1,n-1]内的整数;计算e=h(m);f≡s-1modn;u1≡f*emodn;u2≡r*fmodn;p≡u1*g+u2*q;得到坐标(xp,yp),若p=0则签名非法;最后将域元素xp转化为整数x;

s3:远程服务器验证:x≡rmodn;是否成立,若公式p≡u1*g+u2*q成立,则签名有效,请求用户新设置密码;反之签名无效,报告用户验证请求失败。

本实施例的一个具体应用为:通过客户端每次对验证码数字签名时由指纹、人脸等生物特征导出用户的私钥,签名完成随即销毁私钥,有效防止用户生物特征的泄漏,解决了用户隐私问题,每个人具有不同的指纹、人脸等生物特征,利用生物特征导出用户私钥对验证码进行数字签名,能够把合法用户与验证码绑在一起,能够证明验证码确实是被合法用户收到,解决了因手机丢失、更换手机号等问题带来的安全隐患;生物特征导出用户的私钥解决了密钥管理问题,生物特征既不用保存,也无需网络传输,具有自我管理功能,且使用方便,密钥传输协议模块利用基于身份标识的系统传输用户公钥,可以防止公钥传输过程中被篡改,也可以防止重放攻击,保障了用户公钥在传输过程中的安全。

在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1