用户身份认证方法、终端和服务端的制作方法

文档序号:9474259阅读:563来源:国知局
用户身份认证方法、终端和服务端的制作方法
【技术领域】
[0001]本发明实施例涉及通信技术,尤其涉及一种用户身份认证方法、终端和服务端。
【背景技术】
[0002]现今智能终端越来越普及,其中一个很重要的原因就是大量应用软件可提供用户下载,可以扩充终端的功能。然而,如此也造成终端安全问题日益严重,各种恶意软件都可能对终端造成严重威胁。例如,以最敏感的移动支付来说,用户输入的密码有可能被恶意软件窃取,支付的金额也有可能被篡改,这些都是很难单纯透过软件来保护的。因此,通过可信任区(TrustZone)的硬件切换隔离架构,在Trustzone的监控器之上,利用硬件将软件的安全模式和普通模式完全隔离,并且只通过Trustzone监控器切换。其中,安全模式下只运行最敏感的关键部分(例如,与支付相关的程序代码),尽可能减少可信计算基。具体的,将需要高度安全保护的程序部份置于安全模式运行,例如,用户输入密码的界面或是确认支付的界面等。当应用程序(例如支付程序)需要用到这些界面时,便送出调用请求,以切换至安全模式,待相关支付动作运行完毕后,再将运算结果送回至普通模式的原程序。由于在安全模式操作时,独享了许多硬件资源,因此可保障这些关键操作不受恶意软件攻击或窃取。
[0003]传统的口令认证方式虽然也秉承了安全模式和普通模式分离的架构,但是口令泄露的风险太大,安全性依然不高。生物特征认证方式是目前终端认证的一个趋势。现有技术中,在远端的指纹认证方面,一般是通过将用户的指纹保存在终端的安全存储区,当有需要对用户身份进行认证时(例如,网上购物需要支付时),则终端通过录入用户指纹,并与安全存储区中的指纹进行比对,最后将比对结果发送给服务端(例如,支付宝平台)。
[0004]但是,现有技术中,服务端太过依赖终端的比对结果,若终端被恶意软件攻击,恶意软件会代替终端向服务端发送“已支付“的比对结果,实际上并未支付,这样的“身份假冒”会导致服务端在支付方面具有很大的风险;另外,若服务端为了避免身份假冒带来的风险而选择自己验证指纹,则需要终端将用户的指纹信息发送给服务端,由服务端自己去比对,但是会造成用户隐私泄露。

【发明内容】

[0005]本发明实施例提供一种用户身份认证方法、终端和服务端,用以解决现有技术在指纹验证过程中,由于终端被恶意软件攻击时造成的身份假冒以及用户隐私泄露的技术问题。
[0006]第一方面,本发明实施例提供一种用户身份认证方法,包括:
[0007]终端根据预设的第一生物特征处理指令集,判断当前输入的第一用户生物特征是否与第二用户生物特征匹配,获得第一结果;其中,所述第一生物特征处理指令集为服务端配置给所述终端的,所述第二用户生物特征为所述终端预先在所述服务端上注册的生物特征;
[0008]所述终端判断所述第一结果是否正确,其中,所述终端判断所述第一结果是否正确具体包括当终端判断第一用户生物特征与第二用户生物特征匹配,且第一结果中没有携带第二用户生物特征,则说明该第一结果正确;
[0009]若是,则所述终端将所述第一结果发送给所述服务端,以使所述服务端根据所述第一结果确定所述第一用户生物特征是否通过验证。
[0010]结合第一方面,在第一方面的第一种可能的实施方式中,所述终端根据预设的第一生物特征处理指令集,判断当前输入的第一用户生物特征是否与第二用户生物特征匹配,获得第一结果,具体包括:
[0011]所述终端接收所述服务端发送的生物特征认证请求;其中,所述生物特征认证请求中包括所述服务端随机生成的挑战文;
[0012]所述终端根据所述第一用户生物特征、预先存储的第二用户密钥密文和第二用户生物特征安全梗概,获取第一用户密钥;其中,所述第二用户密钥密文为加密的第二用户密钥;
[0013]所述终端根据所述第一用户密钥对所述挑战文进行签名处理,获得第一签名。
[0014]结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述终端判断所述第一结果是否正确,具体包括:
[0015]所述终端根据预设的第二用户公钥判断所述第一签名是否正确;
[0016]若是,所述终端将所述第一签名和所述第二用户公钥发送给所述服务端,以使所述服务端根据所述第二用户公钥和所述第一签名确定所述第一用户生物特征是否通过验证。
[0017]结合第一方面的第一种可能的实施方式,在第一方面的第三种可能的实施方式中,所述终端根据当前输入的第一用户生物特征、预先存储的第二用户密钥密文和第二用户生物特征安全梗概,获取第一用户密钥,具体包括:
[0018]所述终端根据所述第二用户生物特征安全梗概和所述第一用户生物特征,获取第一生物特征编码;
[0019]所述终端根据所述第一生物特征编码的哈希值解密所述第二用户密钥密文,获得所述第一用户密钥。
[0020]结合第一方面的第二种可能的实施方式,在第一方面的第四种可能的实施方式中,所述终端根据预设的第二用户公钥判断所述第一签名是否正确,具体包括:
[0021]所述终端根据所述第二用户公钥判断所述第一签名是否与第三签名相同;所述第三签名为所述终端根据所述第二用户密钥对所述挑战文进行签名处理得到的。
[0022]结合第一方面至第一方面的第四种可能的实施方式中的任一项,在第一方面的第五种可能的实施方式中,所述终端根据预设的第一生物特征处理指令集,判断当前输入的第一用户生物特征是否与第二用户生物特征匹配,获得第一结果之前,还包括:
[0023]所述终端根据预设的第二生物特征处理指令集和所述第二用户生物特征,将所述第二用户生物特征注册在所述服务端上;其中,所述第二生物特征处理指令集为所述服务端配置给所述终端的。
[0024]结合第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,所述终端根据预设的第二生物特征处理指令集和所述第二用户生物特征,将所述第二用户生物特征注册在所述服务端上,包括:
[0025]所述终端产生用户公钥密钥对;其中,所述用户公钥密钥对包括所述第二用户密钥和所述第二用户公钥;
[0026]所述终端接收用户输入的第二用户生物特征;
[0027]所述终端根据所述第二用户生物特征的哈希值对所述第二用户密钥加密,获取所述第二用户密钥密文和所述第二用户生物特征安全梗概;
[0028]所述终端保存所述第二用户密钥密文和所述第二用户生物特征安全梗概。
[0029]结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,所述终端产生用户公钥密钥对之前,所述方法还包括:
[0030]所述终端向所述服务端发送生物特征注册请求;其中,所述生物特征注册请求包括用户身份标识ID和终端ID ;
[0031]所述终端接收所述服务端发送的装置密钥密文和装置公钥;所述装置密钥密文为加密的装置密钥;
[0032]所述终端根据用户输入的用户账户口令解密所述装置密钥密文,获取装置密钥。
[0033]结合第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,所述终端保存所述第二用户密钥密文和所述第二用户生物特征安全梗概之后,所述方法还包括:
[0034]所述终端根据所述装置密钥对所述第二用户公钥和所述用户ID进行签名处理,获得所述第二签名;
[0035]所述终端根据所述装置公钥判断所述第二签名是否正确;
[0036]若正确,则所述终端将所述第二签名发送给所述服务端,以使所述服务端根据所述装置公钥和所述第二签名确定所述第二用户生物特征是否注册成功。
[0037]第二方面,本发明实施例提供一种用户身份认证方法,包括:
[0038]服务端预先将第一生物特征处理指令集配置给终端,以使所述终端根据所述第一生物特征处理指令集,判断所述终端当前输入的第一用户生物特征是否与第二用户生物特征匹配,并获得第一结果;其中,所述第二用户生物特征为所述终端预先在所述服务端上注册的生物特征;
[0039]所述服务端接收所述终端发送的所述第一结果;
[0040]所述服务端根据所述第一结果确定所述第一用户生物特征是否通过验证。
[0041]结合第二方面,在第二方面的第一种可能的实施方式中,所述服务端接收所述终端发送的所述第一结果之前,还包括:
[0042]所述服务端向所述终端发送携带挑战文的生物特征认证请求,以使所述终端根据所述第一用户生物特征、所述终端上预先存储的第二用户密钥密文和第二用户生物特征安全梗概,获取第一用户密钥后,根据所述第一用户密钥对所述挑战文进行签名处理,获得第一签名;其中,所述第二用户密钥密文为加密的第二用户密钥。
[0043]结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述服务端接收所述终端发送的所述第一结果,具体包括:
[0044]所述服务端接收所述终端发送的所述第一签名和所述第二用户公钥;
[0045]则所述服务端根据所述第一结果确定所述第一用户生物特征是否通过验证,具体包括:
[0046]所述服务端根据所述第二用户公钥和所述第一签名确定所述第一用户生物特征是否通过验证。
[0047]结合第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述服务端预先将第一生物特征处理指令集配置给终端之前,所述方法还包括:
[0048]所述服务端将第二生物特征处理指令集配置给所述终端;
[0049]所述服务端接收所述终端发送的生物特征注册请求;其中,所述生物特征注册请求包括用户身份标识ID和终端ID ;
[0050]所述服务端将装置密钥密文和装置公钥发送给所述终端,以使所述终端根据用户输入的用户账户口令解密所述装置密钥密文,获取装置密钥后,根据所述装置密钥对所述第二用户公钥和所述用户ID进行签名处理,获得所述第二签名;
[0051]所述服务端接收所述终端发送的第二签名;
[0052]所述服务端根据所述装置公钥和所述第二签名确定所述第二用户生物特征是否注册成功。
[0053]结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述服务端将装置密钥密文和装置公钥发送给所述终端,具体包括:
[0054]所述服务端产生装置公钥密钥对;其中,所述装置公钥密钥对包括所述装置公钥和所述装置密钥;
[0055]所述服务端根据所述用户账户口令的哈希值加密所述装置密钥,生成装置密钥密文;
[0056]所述服务端将所述装置密钥密文和所述装置公钥发送给所述终端。
[0057]结合第二方面的第二种可能的实施方式,在第二方面的第五种可能的实施方式中,所述服务端根据所述第二用户公钥和所述第一签名确定所述第一用户生物特征是否通过验证,具体包括:
[0058]所述服务端根据所述第二用户公钥判断所述第一签名是否与第三签名相同;其中,所述第三签名为所述终端根据所述第二用户密钥对所述挑战文进行签名处理得到的。
[0059]第三方面,本发明实施例提供一种终端,包括:
[0060]获取模块,用于根据预设的第一生物特征处理指令集,判断当前输入的第一用户生物特征是否与第二用户生物特征匹配,获得第一结果;其中,所述第一生物特征处理指令集为服务端配置给所述终端的,所述第二用户生物特征为所述终端预先在所述服务端上注册的生物特征;
[0061]判断模块,用于判断所述第一结果是否正确,其中,所述终端判断所述第一结果是否正确具体包括当终端判断第一用户生物特征与第二用户生物特征匹配,且第一结果中没有携带第二用户生物特征,则说明该第一结果正确;
[0062]发送模块,用于在所述判断模块判断所述第一结果正确时,将所述第一结果发送给所述服务端,以使所述服务端根据所述第一结果确定所述第一用户生物特征是否通过验证。
[0063]结合第三方面,在第三方面的第一种可能的实施方式中,所述获取模块,包括:
[0064]第一接收单元,用于接收所述服务端发送的生物特征认证请求;其中,所述生物特征认证请求中包括所述服务端随机生成的挑战文;
[0065]第一获取单元,用于根据所述第一用户生物特征、预先存储的第二用户密钥密文和第二用户生物特征安全梗概,获取第一用户密钥;其中,所述第二用户密钥密文为加密的第二用户密钥;
[0066]第二获取单元,用于根据所述第一用户密钥对所述挑战文进行签名处理,获得第一签名。
[0067]结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述判断模块,具体用于根据预设的第二用户公钥判断所述第一签名是否正确;
[0068]则所述发送模块,具体用于若所述判断模块判断所述第一签名正确时,将所述第一签名和所述第二用户公钥发送给所述服务端,以使所述服务端根据所述第二用户公钥和所述第一签名确定所述第一用户生物特征是否通过验证。
[0069]结合第三方面的第一种可能的实施方式,在第三方面的第三种可能的实施方式中,所述第一获取单元,具体用于根据所述第二用户生物特征安全梗概和所述第一用户生物特征,获取第一生物特征编码;并根据所述第一生物特征编码的哈希值解密所述第二用户密钥密文,获得所述第一用户密钥。
[0070]结合第三方面的第二种可能的实施方式,在第三方面的第四种可能的实施方式中,所述判断模块,具体用于根据所述第二用户公钥判断所述第一签名是否与第三签名相同;所述第三签名为所述终端根据所述第二用户密钥对所述挑战文进行签名处理得到的。
[0071]结合第三方面至第三方面的第四种可能的实施方式中的任一项,在第三方面的第五种可能的实施方式中,所述终端还包括:
[0072]注册模块,用于在所述获取模块根据预设的第一生物特征处理指令集,判断当前输入的第一用户生物特征是否与第二用户生物特征匹配,获得第一结果之前,根据预设的第二生物特征处理指令集和所述第二用户生
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1