发明名称 基于生物特征和口令的可配置双向认证方法
摘要 本发明公开了一种基于生物特征和口令的可配置双向认证方法,其目的是解决现有方法仅基于用户生物特征比对进行认证而导致的安全性差的技术问题。技术方案是采用基于口令和生物特征的混合式、可配置的认证方法,实现用户和服务器的分布式双向认证,避免了仅基于用户生物特征进行认证所带来的安全性差的技术问题。
申请公布号 CN101848213A 申请公布日期 2010.09.29
申请号 CN201010152626.6 申请日期 2010.04.22
申请人 西北工业大学;西安电子科技大学 发明人 李慧贤;庞辽军
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 黄毅新
主权项 一种基于生物特征和口令的可配置双向认证方法,其特征在于包括下述步骤:(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的认证。
地址 710072 陕西省西安市友谊西路127号