基于生物特征和口令的可配置双向认证方法

文档序号:7746608阅读:123来源:国知局
专利名称:基于生物特征和口令的可配置双向认证方法
技术领域
本发明涉及一种双向认证方法,特别是基于生物特征和口令的可配置双向认证方法。
背景技术
在分布式网络应用领域中,用户与服务器之间的双向认证一般基于口令验证实现。而在实际应用当中,由于口令易被猜测而经常出现用户身份被盗用的安全事件发生。基 于生物特征,如指纹、虹膜等的身份认证直接认证用户物理身份,能够防止因用户口令被盗 而引起的用户身份被盗用问题,已被应用在一些需要高安全级别的应用场合中。文献“指纹识别技术的新进展.自然科学进展.2006,16(4),400-408”公开了一 种基于生物特征(指纹)的用户身份认证方法。该方法要求用户在注册时将生物特征(指 纹)模板存储于数据库;认证时,服务器将用户现场采集的生物特征(指纹)样本与从数 据库读取的生物特征(指纹)模板进行比对。如果比对结果是吻合的,则服务器对用户认 证成功;否则,说明用户身份无效。但是此方法存在一些安全缺陷一是直接使用采集的生 物特征作明文进行注册,没有考虑到用户生物特征的安全性,如果服务器上的生物特征模 板被盗,则永久性地无法避免用户身份被盗用事件发生;二是仅实现了服务器对用户的单 向认证,而没有实现用户对服务器的认证,存在服务器欺骗用户的安全隐患;三是由于仅实 现了基于生物特征的认证,存在合法用户无法通过认证的安全威胁,因为基于生物特征的 认证方式不是百分之百可靠的,必需提供在生物特征认证无法完成情况下的可替换认证方 法;四是该方法使用生物特征明文信息进行认证,仅适合本地身份认证,不适合分布式、远 程认证,因为网上传输生物特征明文存在生物特征被攻击者截取的安全威胁。

发明内容
为了克服现有方法仅基于用户生物特征比对进行认证而导致的安全性差的不足, 本发明提供一种基于生物特征和口令的可配置双向认证方法。该方法采用基于口令和生物 特征的混合式、可配置的认证方法,实现用户和服务器的分布式双向认证,可以避免仅基于 用户生物特征进行认证所带来的安全性差的技术问题。本发明解决其技术问题所采用的技术方案一种基于生物特征和口令的可配置双 向认证方法,其特征在于包括下述步骤(a)认证请求分组由用户User发送给服务器Server ;分组内容包括 其中——UID字段表示用户User在服务器Server上注册时选取的身份;—N1字段表示用户User选取的一次性随机数;
当Server收到User发送的认证请求分组后,利用接收到的UID值在数据库DB 中查询是否存在用户身份为UID的记录;如果不存在,则丢弃该分组,认证失败;否则,根据 Server所采用的认证方式构造认证响应分组发送给用户User ;(b)认证响应分组由服务器Server发送给用户User ;分组内容包括 其中——UID字段表示用户User在服务器Server上注册时选取的身份;——SID字段表示服务器Server的身份;—N1字段表示用户User选取的一次性随机数;—N2字段表示服务器Server选取的一次性随机数;—AFLAG字段表示服务器Server采用的认证方式;当字段值为0时,表示基于 口令和生物特征的混合认证方式;当字段值为1时,表示仅基于口令的认证方式;当字段值 为2时,表示仅基于生物特征的认证方式;当字段值为其它值时,表示该字段为保留字段;—ADATA字段表示对应于AFLAG字段的用于认证的数据;当字段值为0或2 时,该字段值为服务器Server从数据库DB中查找的对应于用户身份UID的生物注册信息 EBMV ;当字段值为其它值时,该字段值为空;—MIC1字段表示服务器Server计算的对该字段之前的所有字段计算的MIC 值;当 AFLAG 字段值为 0 时,其值等于 H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il Pff Il SK);当 AFLAG字段值为1时,其值等于H(UID Il SID Il N1 Il N2 Il AFLAG Il Pff);当AFLAG字段值为2时, 其值等于H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il SK);当AFLAG字段值为其它值时,表示该 字段为保留字段;当用户User收到服务器Server发送的认证响应分组后,判断N1是否为自己选取 的随机数;如果不是,则丢弃该分组,否则,判断AFLAG字段是否为0或1或2 ;如果不是,丢 弃该分组,否则,(1)当AFLAG字段值为0时,现场采集用户的生物特征样本VBM,利用VBM解绑定 ADATA字段中的EBMV得到用户私钥SK,然后,利用用户口令PW和用户私钥SK重新计算MIC1 =H(UID Il SID N1 Il N2 Il AFLAG Il ADATA Il Pff Il SK)并与接收到的 MIC1 值进行比较;如果不 相等,则丢弃该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发 送给服务器Server ;(2)当AFLAG字段值为1时,利用用户口令PW重新计算MIC1 = H(UID Il SID Il N1 Il N2 Il AFLAG Il Pff)并与接收到的MIC1值进行比较;如果不相等,则丢弃 该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发送给服务器 Server ;(3)当AFLAG字段值为2时,现场采集用户的生物特征样本VBM,利用VBM解 绑定ADATA字段中的EBMV得到用户私钥SK,然后,利用用户私钥SK重新计算MIC1 = H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il SK)并与接收到的MIC1值进行比较;如果不相等,则 丢弃该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发送给服务器 Server ;(c)认证确认分组由用户User发送给服务器Server ;分组格式如下 其中——UID字段表示用户User在服务器Server上注册时选取的身份;——SID字段表示服务器Server的身份;—N2字段表示服务器Server选取的一次性随机数;——AFLAG字段表示服务器Server采用的认证方式;—MIC2字段表示用户User计算的MIC值;当AFLAG字段值为 0 时,其值等于 H(UID Il SID Il N2 Il AFLAG Il Pff Il SK);当 AFLAG 字段值为 1 时, 其值等于H(UID Il SID Il N2 Il AFLAG Il Pff);当AFLAG字段值为2时,其值等于 H(UID Il SID Il N2 Il AFLAG Il SK);当AFLAG字段值为其它值时,表示该字段为保留字段;当服务器Server收到用户User发送的认证确认分组后,判断N2是否自己选取的 随机数;如果不是,则丢弃该分组,否则,判断AFLAG字段是否为0或1或2 ;如果不是,丢弃 该分组,否则,判断AFLAG字段值是否等于自己选取的AFLAG字段值;如果不相等,则丢弃该 分组,否则,(1)当AFLAG字段值为0时,利用UID字段所对应用户的用户口令PW和用户私钥 SK重新计算MIC2 = H(UID Il SID Il N2 Il AFLAG Il Pff Il SK)并与接收到的MIC2值进行比较;如 果不相等,则丢弃该分组,认证失败,否则,服务器Server完成对用户User的认证;(2)当AFLAG字段值为1时,利用UID字段所对应用户的用户口令PW重新计算MIC2 =H(UID Il SID Il N2 Il AFLAG Il Pff)并与接收到的MIC2值进行比较;如果不相等,则丢弃该分 组,认证失败,否则,服务器Server完成对用户User的认证;(3)当AFLAG字段值为2时,利用UID字段所对应用户的用户私钥SK重新计算MIC2 =H(UID Il SID Il N2 Il AFLAG Il SK)并与接收到的MIC2值进行比较;如果不相等,则丢弃该分 组,认证失败,否则,服务器Server完成对用户User的认证。本发明的有益效果是由于采用基于口令和生物特征的混合式、可配置的认证方 法,实现用户和服务器的分布式双向认证,避免了仅基于用户生物特征进行认证所带来的 安全性差的技术问题。下面结合附图和实施例对本发明作详细说明。


附图是本发明基于生物特征和口令的可配置双向认证方法流程示意图。
具体实施例方式以下是实施例中所用到的名词和符号说明 参照附图。本发明双向认证方法具体步骤如下1)认证请求分组。认证请求分组由用户User发送给服务器Server。该分组内容包括
其中——UID字段表示用户User在服务器Server上注册时选取的身份;—N1字段表示用户User选取的一次性随机数。当Server收到User发送的认证请求分组后,利用接收到的UID值在数据库DB中 查询是否存在用户身份为UID的记录。如果不存在,则丢弃该分组,认证失败;否则,根据 Server所采用的认证方式构造认证响应分组发送给用户User。2)认证响应分组。认证响应分组由服务器Server发送给用户User。该分组内容包括 其中—UID字段表示用户User在服务器Server上注册时选取的身份,其值应与认 证请求分组中的UID值相同;——SID字段表示服务器Server的身份,—N1字段表示用户User选取的一次性随机数,其值应与认证请求分组中的N1 值相同;—N2字段表示服务器Server选取的一次性随机数;—AFLAG字段表示服务器Server采用的认证方式。当字段值为0时,表示基 于口令和生物特征(如指纹、虹膜等)的混合认证方式;当字段值为1时,表示仅基于口令 的认证方式;当字段值为2时,表示仅基于生物特征(如指纹、虹膜等)的认证方式;当字段 值为其它值时,表示该字段为保留字段;—ADATA字段表示对应于AFLAG字段的用于认证的数据。当字段值为0或2 时,该字段值为服务器Server从数据库DB中查找的对应于用户身份UID的生物注册信息 EBMV ;当字段值为其它值时,该字段值为空;—MIC1字段表示服务器Server计算的对该字段之前的所有字段计算的MIC 值。当 AFLAG 字段值为 0 时,其值等于 H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il Pff Il SK);当 AFLAG字段值为1时,其值等于H(UID Il SID Il N1 Il N2 Il AFLAG Il Pff);当AFLAG字段值为2时, 其值等于H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il SK);当AFLAG字段值为其它值时,表示该 字段为保留字段;当用户User收到服务器Server发送的认证响应分组后,判断N1是否为自己选取 的随机数。如果不是,则丢弃该分组,否则,判断AFLAG字段是否为0或1或2。如果不是, 丢弃该分组,否则,根据AFLAG字段值选取以下三种处理之一(a)当AFLAG字段值为0时,现场采集用户的生物特征(如指纹、虹膜等)样本 VBM,利用VBM解绑定ADATA字段中的EBMV得到用户私钥SK,然后,利用用户口令PW和用 户私钥 SK 重新计算 MIC1 = H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il Pff Il SK)并与接收到的MIC1值进行比较。如果不相等,则丢弃该分组,否则,用户User完成对服务器Server的认 证并构造认证确认分组发送给服务器Server ;(b)当AFLAG字段值为1时,利用用户口令PW重新计算MIC1 = H(UID Il SID Il N1 Il N2 Il AFLAG Il Pff)并与接收到的MIC1值进行比较。如果不相等,则丢弃 该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发送给服务器 Server ;(c)当AFLAG字段值为2时,现场采集用户的生物特征(如指纹、虹膜等)样本 VBM,利用VBM解绑定ADATA字段中的EBMV得到用户私钥SK,然后,利用用户私钥SK重新计 算 MIC1 = H(UID Il SID Il N1 Il N2 Il AFLAG Il ADATA Il SK)并与接收到的 MIC1 值进行比较。如果 不相等,则丢弃该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组 发送给服务器Server。3)认证确认分组。认证确认分组由用户User发送给服务器Server。其分组格式如下。 其中 —UID字段表示用户User在服务器Server上注册时选取的身份,其值应与认 证响应分组中的UID值相同;—SID字段表示服务器Server的身份,其值应与认证响应分组中的SID值相 同,—N2字段表示服务器Server选取的一次性随机数,其值应与认证响应分组中 的N2值相同;—AFLAG字段表示服务器Server采用的认证方式,其值应与认证响应分组中 的AFLAG值相同;——MIC2字段表示用户User计算的MIC值。当AFLAG字段值 为 0 时,其值等于 H(UID Il SID Il N2 Il AFLAG Il Pff Il SK);当 AFLAG 字段值为 1 时, 其值等于H(UID Il SID Il N2 Il AFLAG Il Pff);当AFLAG字段值为2时,其值等于 H(UID Il SID Il N2 Il AFLAG Il SK);当AFLAG字段值为其它值时,表示该字段为保留字段。当服务器Server收到用户User发送的认证确认分组后,判断N2是否自己选取的 随机数。如果不是,则丢弃该分组,否则,判断AFLAG字段是否为0或1或2。如果不是,丢 弃该分组,否则,判断AFLAG字段值是否等于自己选取的AFLAG字段值。如果不相等,则丢 弃该分组,否则,根据AFLAG字段值选取以下三种处理之一(d)当AFLAG字段值为0时,利用UID字段所对应用户的用户口令PW和用户私钥 SK重新计算MIC2 = H(UID Il SID Il N2 Il AFLAG Il Pff Il SK)并与接收到的MIC2值进行比较。如 果不相等,则丢弃该分组,认证失败,否则,服务器Server完成对用户User的认证;(e)当AFLAG字段值为1时,利用UID字段所对应用户的用户口令PW重新计算MIC2 =H(UID Il SID Il N2 Il AFLAG Il Pff)并与接收到的MIC2值进行比较。如果不相等,则丢弃该分 组,认证失败,否则,服务器Server完成对用户User的认证;
(f)当AFLAG字段值为2时,利用UID字段所对应用户的用户私钥SK重新计算MIC2 =H(UID Il SID Il N2 Il AFLAG Il SK)并与接收到的MIC2值进行比较。如果不相等,则丢弃该分 组,认证失败,否则,服务器Server完成对用户User的认证.
权利要求
一种基于生物特征和口令的可配置双向认证方法,其特征在于包括下述步骤(a)认证请求分组由用户User发送给服务器Server;分组内容包括 UID N1其中——UID字段表示用户User在服务器Server上注册时选取的身份;——N1字段表示用户User选取的一次性随机数;当Server收到User发送的认证请求分组后,利用接收到的UID值在数据库DB中查询是否存在用户身份为UID的记录;如果不存在,则丢弃该分组,认证失败;否则,根据Server所采用的认证方式构造认证响应分组发送给用户User;(b)认证响应分组由服务器Server发送给用户User;分组内容包括 UID SID N1 N2 AFLAG ADATA MIC1其中——UID字段表示用户User在服务器Server上注册时选取的身份;——SID字段表示服务器Server的身份;——N1字段表示用户User选取的一次性随机数;——N2字段表示服务器Server选取的一次性随机数;——AFLAG字段表示服务器Server采用的认证方式;当字段值为0时,表示基于口令和生物特征的混合认证方式;当字段值为1时,表示仅基于口令的认证方式;当字段值为2时,表示仅基于生物特征的认证方式;当字段值为其它值时,表示该字段为保留字段;——ADATA字段表示对应于AFLAG字段的用于认证的数据;当字段值为0或2时,该字段值为服务器Server从数据库DB中查找的对应于用户身份UID的生物注册信息EBMV;当字段值为其它值时,该字段值为空;——MIC1字段表示服务器Server计算的对该字段之前的所有字段计算的MIC值;当AFLAG字段值为0时,其值等于H(UID‖SID‖N1‖N2‖AFLAG‖ADATA‖PW‖SK);当AFLAG字段值为1时,其值等于H(UID‖SID‖N1‖N2‖AFLAG‖PW);当AFLAG字段值为2时,其值等于H(UID‖SID‖N1‖N2‖AFLAG‖ADATA‖SK);当AFLAG字段值为其它值时,表示该字段为保留字段;当用户User收到服务器Server发送的认证响应分组后,判断N1是否为自己选取的随机数;如果不是,则丢弃该分组,否则,判断AFLAG字段是否为0或1或2;如果不是,丢弃该分组,否则,(1)当AFLAG字段值为0时,现场采集用户的生物特征样本VBM,利用VBM解绑定ADATA字段中的EBMV得到用户私钥SK,然后,利用用户口令PW和用户私钥SK重新计算MIC1=H(UID‖SID‖N1‖N2‖AFLAG‖ADATA‖PW‖SK)并与接收到的MIC1值进行比较;如果不相等,则丢弃该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发送给服务器Server;(2)当AFLAG字段值为1时,利用用户口令PW重新计算MIC1=H(UID‖SID‖N1‖N2‖AFLAG‖PW)并与接收到的MIC1值进行比较;如果不相等,则丢弃该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发送给服务器Server;(3)当AFLAG字段值为2时,现场采集用户的生物特征样本VBM,利用VBM解绑定ADATA字段中的EBMV得到用户私钥SK,然后,利用用户私钥SK重新计算MIC1=H(UID‖SID‖N1‖N2‖AFLAG‖ADATA‖SK)并与接收到的MIC1值进行比较;如果不相等,则丢弃该分组,否则,用户User完成对服务器Server的认证并构造认证确认分组发送给服务器Server;(c)认证确认分组由用户User发送给服务器Server;分组格式如下 UID SID N2 AFLAG MIC2其中——UID字段表示用户User在服务器Server上注册时选取的身份;——SID字段表示服务器Server的身份;——N2字段表示服务器Server选取的一次性随机数;——AFLAG字段表示服务器Server采用的认证方式;——MIC2字段表示用户User计算的MIC值;当AFLAG字段值为0时,其值等于H(UID‖SID‖N2‖AFLAG‖PW‖SK);当AFLAG字段值为1时,其值等于H(UID‖SID‖N2‖AFLAG‖PW);当AFLAG字段值为2时,其值等于H(UID‖SID‖N2‖AFLAG‖SK);当AFLAG字段值为其它值时,表示该字段为保留字段;当服务器Server收到用户User发送的认证确认分组后,判断N2是否自己选取的随机数;如果不是,则丢弃该分组,否则,判断AFLAG字段是否为0或1或2;如果不是,丢弃该分组,否则,判断AFLAG字段值是否等于自己选取的AFLAG字段值;如果不相等,则丢弃该分组,否则,(1)当AFLAG字段值为0时,利用UID字段所对应用户的用户口令PW和用户私钥SK重新计算MIC2=H(UID‖SID‖N2‖AFLAG‖PW‖SK)并与接收到的MIC2值进行比较;如果不相等,则丢弃该分组,认证失败,否则,服务器Server完成对用户User的认证;(2)当AFLAG字段值为1时,利用UID字段所对应用户的用户口令PW重新计算MIC2=H(UID‖SID‖N2‖AFLAG‖PW)并与接收到的MIC2值进行比较;如果不相等,则丢弃该分组,认证失败,否则,服务器Server完成对用户User的认证;(3)当AFLAG字段值为2时,利用UID字段所对应用户的用户私钥SK重新计算MIC2=H(UID‖SID‖N2‖AFLAG‖SK)并与接收到的MIC2值进行比较;如果不相等,则丢弃该分组,认证失败,否则,服务器Server完成对用户User的认证。
全文摘要
本发明公开了一种基于生物特征和口令的可配置双向认证方法,其目的是解决现有方法仅基于用户生物特征比对进行认证而导致的安全性差的技术问题。技术方案是采用基于口令和生物特征的混合式、可配置的认证方法,实现用户和服务器的分布式双向认证,避免了仅基于用户生物特征进行认证所带来的安全性差的技术问题。
文档编号H04L9/32GK101848213SQ20101015262
公开日2010年9月29日 申请日期2010年4月22日 优先权日2010年4月22日
发明者庞辽军, 李慧贤 申请人:西北工业大学;西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1