首页> 中国专利> 身份认证方法、身份认证服务器和身份认证装置

身份认证方法、身份认证服务器和身份认证装置

摘要

本发明公开了一种身份认证方法、身份认证服务器和身份认证装置。该方法包括认证服务器接收客户端发送的生物特征认证请求;认证服务器将随机生成的挑战数返回至客户端;认证服务器接收客户端发送的动态验证口令,其中,动态验证口令由接收到挑战数时客户端的时间、挑战数、用户生物特征和客户端预存的第一种子密钥生成;认证服务器根据接收到动态验证口令时认证服务器的时间、挑战数、用户生物特征和第二种子密钥生成动态口令;以及认证服务器验证动态口令和动态验证口令是否一致,并根据验证结果向客户端返回身份认证结果。通过本发明,通过生物特征来保证动态口令的安全性的作用,保障了用户身份认证的真实性和可靠性。

著录项

  • 公开/公告号CN102916968A

    专利类型发明专利

  • 公开/公告日2013-02-06

    原文格式PDF

  • 申请/专利权人 北京天诚盛业科技有限公司;

    申请/专利号CN201210421519.8

  • 发明设计人 杨春林;

    申请日2012-10-29

  • 分类号H04L29/06(20060101);H04L9/32(20060101);H04L9/08(20060101);G06K9/00(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人吴贵明;张永明

  • 地址 100085 北京市海淀区上地十街1号院1号楼8层802

  • 入库时间 2024-02-19 17:37:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-01

    专利权质押合同登记的生效 IPC(主分类):H04L29/06 专利号:ZL2012104215198 登记号:Y2022990000332 登记生效日:20220614 出质人:北京眼神科技有限公司 质权人:中国建设银行股份有限公司雄县支行 发明名称:身份认证方法、身份认证服务器和身份认证装置 申请日:20121029 授权公告日:20160127

    专利权质押合同登记的生效、变更及注销

  • 2022-03-22

    专利权的转移 IPC(主分类):H04L29/06 专利号:ZL2012104215198 登记生效日:20220309 变更事项:专利权人 变更前权利人:北京天诚盛业科技有限公司 变更后权利人:北京眼神科技有限公司 变更事项:地址 变更前权利人:100085 北京市海淀区上地十街1号院1号楼8层802 变更后权利人:071800 河北省保定市雄县经济开发区西区京津人才家园(鑫城小区) 变更事项:专利权人 变更前权利人: 变更后权利人:北京眼神智能科技有限公司

    专利申请权、专利权的转移

  • 2016-01-27

    授权

    授权

  • 2013-03-20

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20121029

    实质审查的生效

  • 2013-02-06

    公开

    公开

说明书

技术领域

本发明涉及互联网领域,具体而言,涉及一种身份认证方法、身份认证服务器和 身份认证装置。

背景技术

随着互联网和电子商务的发展,计算机网络应用已经渗透到各行各业,全球信息 化已经成为人类发展的大趋势。近年来网络安全问题尤为严峻,用户频繁的受到黑客、 木马、恶意软件的攻击,银行账户被窃取、资金被盗用、用户身份被冒用现象等屡见 不鲜。CSDN600万用户密码信息泄露,电商巨头亚马逊中国也面临了同样的危机,种 种网络安全隐患引发了人们对网络安全的担忧,“用户号+密码”的身份认证模式已经 不适应网络安全要求。

为了解决静态密码安全性差的问题,目前较为安全的身份认证方法是采用动态口 令认证方法进行身份认证,或者采用生物特征识别方法进行身份认证,但是动态口令 认证方法中动态令牌可以被复制,并且令牌与用户本身没有绑定关系,生成动态口令 的要素与用户无关,不具备用户个体差异,所以,当他人得到令牌及其密码时,动态 口令已失去其安全意义,因而,现有技术中基于动态口令的身份认证方法的安全性仍 然不足。

针对相关技术中基于动态口令的身份认证方法安全性较差的问题,目前尚未提出 有效的解决方案。

发明内容

本发明的主要目的在于提供一种身份认证方法、身份认证服务器和身份认证装置, 以解决基于动态口令的身份认证方法安全性较差的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种身份认证方法。

根据本发明的身份认证方法包括:认证服务器接收客户端发送的生物特征认证请 求,其中,生物特征认证请求包括用户生物特征;认证服务器将随机生成的挑战数返 回至客户端;认证服务器接收客户端发送的动态验证口令,其中,动态验证口令由接 收到挑战数时客户端的时间TM1、挑战数、用户生物特征和客户端预存的第一种子密 钥生成;认证服务器根据接收到动态验证口令时认证服务器的时间TM、挑战数、用 户生物特征和第二种子密钥生成动态口令,其中,第二种子密钥是与第一种子密钥相 对应的密钥;以及认证服务器验证动态口令和动态验证口令是否一致,并根据验证结 果向客户端返回身份认证结果。

进一步地,在接收客户端发送的生物特征认证请求之前,该方法还包括:认证服 务器接收客户端发送的注册请求,其中,注册请求包括用于采集用户生物特征的采集 装置的标识信息;认证服务器在接收到注册请求时,随机生成种子密钥,并对应存储 随机生成的种子密钥和标识信息;以及认证服务器向客户端返回随机生成的种子密钥, 其中,第一种子密钥和第二种子密钥均为随机生成的种子密钥,生物特征认证请求还 包括标识信息,认证服务器在生成动态口令时根据标识信息获取第二种子密钥。

进一步地,在将随机生成的挑战数返回至客户端之前,该方法还包括:认证服务 器对比用户生物特征与认证服务器历史接收到的用户生物特征是否满足第一预设条 件,并在满足第一预设条件时生成攻击警告;认证服务器将攻击警告返回至客户端。

进一步地,将随机生成的挑战数返回至客户端之前,该方法还包括:认证服务器 在预存的生物特征模板库中查询与用户生物特征相匹配的生物特征模板;当认证服务 器查询不到生物特征模板时返回生物特征认证失败信息至客户端,当认证服务器查询 到生物特征模板时根据用户生物特征修正生物特征模板库,其中,将随机生成的挑战 数返回至客户端包括:当认证服务器查询到生物特征模板,认证服务器将随机生成的 挑战数返回至客户端。

进一步地,认证服务器根据用户生物特征修正生物特征模板库包括:当用户生物 特征为用户脸部特征且用户脸部特征满足预设人脸融合要求时,认证服务器增加用户 脸部特征至生物特征模板库;当用户生物特征为用户虹膜特征且用户虹膜特征满足预 设虹膜融合要求时,认证服务器增加用户虹膜特征至生物特征模板库;当用户生物特 征为用户指纹特征时,认证服务器增强生物特征模板中与用户指纹特征相匹配的特征 点的匹配权重系数,减小生物特征模板中与用户指纹特征不匹配的特征点的匹配权重 系数;以及当用户生物特征为用户掌纹特征时,认证服务器增强生物特征模板中与用 户掌纹特征相匹配的特征点的匹配权重系数,减小生物特征模板中与用户掌纹特征不 匹配的特征点的匹配权重系数。

进一步地,当用户生物特征为用户脸部特征且用户脸部特征满足预设人脸融合要 求时,认证服务器增加用户脸部特征数据至生物特征模板库包括:当用户脸部特征对 应的人脸状态在生物特征模板对应的人脸状态中不存在时,认证服务器增加用户脸部 特征数据至生物特征模板库;以及当认证服务器接收到用户脸部特征的时间与生物特 征模板的建立时间之差超过预设时间间隔时,认证服务器增加用户脸部特征数据至生 物特征模板库,当用户生物特征为用户虹膜特征且用户虹膜特征满足预设虹膜融合要 求时,认证服务器增加用户虹膜特征数据至生物特征模板库包括:当用户虹膜特征对 应的瞳孔半径与生物特征模板对应的瞳孔半径之差超过预设半径差时,认证服务器增 加用户虹膜特征数据至生物特征模板库;当用户虹膜特征对应的眼睑上抛物线到瞳孔 圆心的间隔与瞳孔半径的差超过预设间隔差时,认证服务器增加用户虹膜特征数据至 生物特征模板库;当用户虹膜特征对应的虹膜噪声模板中睫毛噪声比例超过预设噪声 比例时,认证服务器增加用户虹膜特征数据至生物特征模板库;以及当用户虹膜特征 对应的瞳孔内无光斑时,认证服务器增加用户虹膜特征数据至生物特征模板库。

进一步地,在认证服务器生成动态口令之前,该方法还包括:认证服务器接收客 户端发送的TM1;认证服务器判断|TM-TM1|是否超过预设差值范围;以及用于当 |TM-TM1|超过预设差值范围时,认证服务器返回超时信息至客户端,其中,认证 服务器生成动态口令包括:当|TM-TM1|没有超过预设差值范围时,认证服务器生 成动态口令。

进一步地,认证服务器生成动态口令包括:当|TM-TM1|没有超过预设差值范 围时,根据TM与TM1之间的时间生成一组动态口令;以及认证服务器验证动态口令 和动态验证口令是否一致包括:认证服务器验证动态验证口令与一组动态口令中的任 意一个动态口令是否一致。

为了实现上述目的,根据本发明的另一方面,提供了一种身份认证服务器。

根据本发明的身份认证服务器包括:认证请求接收模块,用于接收客户端发送的 生物特征认证请求,其中,生物特征认证请求包括用户生物特征;认证请求应答模块, 用于将随机生成的挑战数返回至客户端;验证口令接收模块,用于接收客户端发送的 动态验证口令,其中,动态验证口令由接收到挑战数时客户端的时间TM1、挑战数、 用户生物特征和客户端预存的第一种子密钥生成;动态口令生成模块,用于根据接收 到动态验证口令时认证服务器的时间TM、挑战数、用户生物特征和第二种子密钥生 成动态口令,其中,第二种子密钥是与第一种子密钥相对应的密钥;口令验证模块, 用于验证动态口令和动态验证口令是否一致;以及认证结果发送模块,用于根据验证 结果向客户端返回的身份认证结果。

进一步地,该身份认证服务器还包括:注册请求接收模块,用于接收客户端发送 的注册请求,其中,注册请求包括采集用户生物特征的采集装置的标识信息;种子密 钥生成模块,用于在接收到注册请求时,随机生成种子密钥;种子密钥存储模块,用 于对应存储随机生成的种子密钥和标识信息;以及注册请求应答模块,用于向客户端 返回随机生成的种子密钥,其中,第一种子密钥和第二种子密钥均为随机生成的种子 密钥,生物特征认证请求还包括标识信息,动态口令生成模块还用于根据标识信息获 取第二种子密钥。

进一步地,该身份认证服务器还包括:攻击检测模块,用于对比用户生物特征与 认证请求接收模块历史接收到的用户生物特征是否满足第一预设条件,并在满足第一 预设条件时生成攻击警告,其中,认证请求应答模块还用于将攻击警告返回至客户端。

进一步地,该身份认证服务器还包括:特征查询模块,用于在预存的生物特征模 板库中查询与用户生物特征相匹配的生物特征模板;以及特征融合模块,用于当特征 查询模块查询到生物特征模板时,根据用户生物特征修正生物特征模板库,其中,认 证请求应答模块还用于当查询不到生物特征模板时返回生物特征认证失败信息至客户 端,当查询到生物特征模板,将随机生成的挑战数返回至客户端。

为了实现上述目的,根据本发明的另一方面,提供了一种身份认证装置。

根据本发明的身份认证装置设置于客户端,包括:认证请求发送模块,用于发送 生物特征认证请求至认证服务器,其中,生物特征认证请求包括用户生物特征;认证 应答接收模块,用于接收认证服务器随机生成的挑战数;动态验证口令生成模块,用 于根据接收到挑战数时客户端的时间TM1、挑战数、用户生物特征和客户端预存的第 一种子密钥生成动态验证口令;动态验证口令发送模块,用于将动态验证口令发送至 认证服务器;以及认证结果接收模块,用于接收认证服务器返回的身份认证结果,其 中,身份认证结果由认证服务器根据验证动态口令和动态验证口令是否一致生成,其 中,动态口令由接收到动态验证口令时认证服务器的时间TM、挑战数、用户生物特 征、与第一种子密钥对应的第二种子密钥生成。

进一步地,该身份认证装置还包括:注册请求发送模块,用于发送注册请求至认 证服务器,其中,注册请求包括身份认证装置的标识信息;注册应答接收模块,用于 接收认证服务器返回的随机生成的种子密钥,其中,第一种子密钥和第二种子密钥均 为随机生成的种子密钥,生物特征认证请求还包括标识信息。

进一步地,该身份认证装置还包括:攻击警告接收模块,用于接收认证服务器返 回的攻击警告,其中,攻击警告用于表示用户生物特征与认证服务器历史接收到的用 户生物特征满足第一预设条件。

通过本发明,采用包括以下步骤的身份认证方法:认证服务器接收客户端发送的 生物特征认证请求;认证服务器将随机生成的挑战数返回至客户端;认证服务器接收 客户端发送的动态验证口令;认证服务器生成动态口令;以及认证服务器验证动态口 令和动态验证口令是否一致,并根据验证结果向客户端返回身份认证结果,将生物特 征参与动态口令的计算过程中,解决了基于动态口令的身份认证方法安全性较差的问 题,进而达到了通过生物特征来保证动态口令的安全性的作用,保障了用户身份认证 的真实性和可靠性的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实 施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明第一实施例的身份认证系统的框图;

图2是根据本发明第二实施例的身份认证系统的框图;

图3是根据图2所示实施例中认证服务器的组成示意图

图4是根据图2所示实施例中身份认证装置的组成示意图;

图5是根据本发明第一实施例的身份认证方法的流程图;

图6是根据本发明实施例的用户ID及生物特征模板注册流程图;

图7是根据本发明实施例的生物特征识别流程图;

图8是根据本发明实施例的动态口令校验流程图;以及

图9是根据本发明第三实施例的身份认证方法的流程图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。

本具体实施方式首先提供了身份认证系统的实施例。

图1是根据本发明第一实施例的身份认证系统的框图,如图1所示,该身份认证 系统包括身份认证服务器20和集成于客户端的身份认证装置40。其中,身份认证服 务器20包括认证请求接收模块21、认证请求应答模块22、验证口令接收模块23、动 态口令生成模块24、口令验证模块25和认证结果发送模块26;身份认证装置40包括 认证请求发送模块41、认证应答接收模块42、动态验证口令生成模块43、动态验证 口令发送模块44和认证结果接收模块45。

其中,该身份认证系统完成一次身份认证的流程如下:

第一,用户控制身份认证装置40完成用户生物特征的采集并存储,特征采集装置 可以为单独设置的传感器,也可以为集成于客户端的采集设备,然后身份认证装置40 的认证请求发送模块41将采集的用户生物特征组织成为生物特征认证请求报文,并将 该请求报文发送至认证服务器20。

第二,认证服务器20的认证请求接收模块21接收到生物特征认证请求报文,对 报文进行解析,得到用户生物特征。

第三,在得到用户生物特征之后,认证服务器20的认证请求应答模块22随机生 成的挑战数CN,并将挑战数CN返回至客户端的身份认证装置40。

第四,身份认证装置40的认证应答接收模块42接收认证服务器20返回的挑战数 CN。

第五,身份认证装置40的动态验证口令生成模块43根据接收到挑战数CN时客 户端的时间TM1、挑战数CN、用户生物特征和客户端预存的第一种子密钥SK1生成 动态验证口令OTP1,其中,动态认证口令的运算采用杂凑算法,杂凑算法又称为散 列算法或哈希算法,包括但不限于SHA-1、SHA-256、SM3、MD5等算法。

第六,身份认证装置40的动态验证口令发送模块44将生成的动态验证口令OTP1 发送至认证服务器20。

第七,认证服务器20的验证口令接收模块23接收动态验证口令OTP1。

第八,认证服务器20的动态口令生成模块24根据接收到动态验证口令时认证服 务器的时间TM、挑战数CN、用户生物特征和第二种子密钥SK2生成动态口令OTP2, 其中,第二种子密钥SK2是与第一种子密钥SK1相对应的密钥,第二种子密钥SK2 和第一种子密钥SK1及其对应关系可预存在认证服务器20内。该处计算动态口令 OTP2的算法与生成OTP1的算法相同,身份认证装置40与认证服务器20可采用固定 的算法进行口令的计算,也可使动态验证口令发送模块44在发送OTP1时同时发送生 成OTP1的算法标识信息,以使动态口令生成模块24根据接收到的算法标识信息选择 算法生成OTP2。

第九,认证服务器20的口令验证模块25验证动态口令OTP2和动态验证口令 OPT1是否一致。

第十,当OTP2和OPT1一致时,生成身份认证成功的认证结果,当OTP2和OPT1 不一致时,生成身份认证失败的认证结果,并由认证服务器20的认证结果发送模块 26将身份认证结果返回至客户端。

第十一,身份认证装置40的认证结果接收模块45接收身份认证结果,完成一次 身份认证。

在该实施例中,将生物特征识别与动态口令相结合,实现生物特征数据的防篡改 和用户身份认证的安全可靠性,在动态口令的生成过程中,将生物特征参与动态口令 计算,生成动态口令的要素直接来源于用户的人体生物特征,从而不同用户生成的动 态口令与用户自身密切相关,并且只要生物特征被非法篡改,就会引起动态口令的验 证不符,从而起到通过生物特征来保证动态口令的安全性的作用,保障了用户身份认 证的真实性和可靠性。

优选地,第一种子密钥SK1和第二种子密钥SK2可采用预注册的方式进行设置, 则身份认证服务器还包括注册请求接收模块、种子密钥生成模块、种子密钥存储模块 和注册请求应答模块,相应地,身份认证装置还包括注册请求发送模块和注册应答接 收模块。

在首次采用身份认证装置进行身份认证之前,身份认证装置的注册请求发送模块 将身份认证装置的标识信息组织成为注册请求报文发送至认证服务器,身份认证服务 器的注册请求接收模块接收客户端发送的注册请求报文,解析注册请求报文得到身份 认证装置的标识信息,种子密钥生成模块随机生成种子密钥,并将该随机生成的种子 密钥以及对应的标识信息存储,存储的种子密钥为第二种子密钥,然后由注册请求应 答模块将随机生成的种子密钥返回至身份认证装置,由注册应答接收模块接收该随机 生成的种子密钥,得到第一种子密钥。

采用该方式生成第一种子密钥和第二种子密钥时,认证请求发送模块41将用户生 物特征和身份认证装置的标识信息一起组织成为生物特征认证请求报文,在认证请求 接收模块21接收到生物特征认证请求报文之后,认证请求应答模块22生成挑战数CN 之前,认证服务器首先进行生物特征的认证,如果认证成功,则认证请求应答模块22 生成挑战数CN,并且动态口令生成模块24根据身份认证装置的标识信息获取第二种 子密钥SK2,否则认证请求应答模块22返回生物特征认证失败信息至客户端;或者动 态验证口令发送模块44在发送动态验证口令OTP1时发送身份认证装置的标识信息, 动态口令生成模块24根据身份认证装置的标识信息获取第二种子密钥SK2。

第一种子密钥SK1和第二种子密钥SK2也可采用其他的方式进行设置,例如设置 为固定值,或者通过其他标识信息进行关联均可。

优选地,为了避免认证过程中的重放攻击,身份认证服务器将每次认证时接收到 的用户生物特征进行存储,身份认证服务器还包括攻击检测模块,在每次进行用户生 物特征的存储之前,攻击检测模块对比本次用户生物特征与认证请求接收模块历史接 收到的用户生物特征是否满足第一预设条件,该第一预设条件可设置为本次用户生物 特征与历史用户生物特征完全相同,并在满足该第一预设条件时生成攻击警告,将攻 击警告返回至客户端,设置于客户端的身份认证装置还包括攻击警告接收模块,该攻 击警告接收模块用于接收返回的攻击警告,其中,该攻击警告能够警示用户。

由于每次采集的人体生物特征都存在差别,因此,两次获取的用户生物特征完全 相同的概率极小,认证服务器利用这一特点来禁止重放攻击,从而在每次接收到用户 生物特征后,首先检查本次用户生物特征在历史记录中是否存在一致的记录,若一致, 则拒绝该请求,当某用户ID或某客户端ID频繁出现这种情况,累计达到一定次数, 认证服务器将该用户ID或客户端ID记入黑名单。

进一步优选地,身份认证服务器将每次认证时接收到的用户生物特征转换为哈希 值进行存储,则攻击检测模块对比本次用户生物特征对应的哈希值与存储的哈希值是 否相同来检测重放攻击,能够减小认证服务器的存储量。

进一步优选地,当攻击检测模块对比本次用户生物特征与历史用户生物特征不相 同时,身份认证服务器还包括特征比对模块和模板库修改模块,其中,特征比对模块 用于将用户生物特征与预存在生物特征模板库中的生物特征模板进行比对,当用户生 物特征与某一生物特征模板的比对结果满足预设的比对要求时,则该生物特征模板与 用户生物特征相匹配;模板库修改模块用于当特征比对模块获取到相匹配的生物特征 模板时,根据用户生物特征修改生物特征模板库。该处的匹配较重放攻击检测时的匹 配要求较低,不必完全相同。

其中,特征比对模块具体可采用“一对一”的比对方法,该种比对方法要求身份 认证服务器接收用户生物特征同时接收标识信息,生物特征模板库存储生物特征模板 及其与标识信息的对应关系,则特征比对模块首先根据接收到的标识信息在生物特征 模板库中找到对应的生物特征模板,再将接收到的用户生物特征与找到的生物特征模 板进行比对即可,其中的标识信息可以为用户ID信息等。

特征比对模块也可采用“一对多”的比对方法,特征比对模块采用该比对方法时, 将接收到的用户生物特征与生物特征模板库中的生物特征模板一一比对,直到获取到 相匹配的生物特征模板。该方式只需接收用户生物特征即可,无需接收标识信息。进 一步地,如果生物特征模板库存储生物特征模板及其与标识信息的对应关系时,则在 获取到相匹配的生物特征模板的同时,也获取到了相对应的标识信息,例如用户ID信 息。

其中,根据用户生物特征修改生物特征模板库包括如下的修改方式:当用户生物 特征为用户脸部特征且用户脸部特征满足预设人脸修改要求时,认证服务器增加用户 脸部特征至生物特征模板库;当用户生物特征为用户虹膜特征且用户虹膜特征满足预 设虹膜修改要求时,认证服务器增加用户虹膜特征至生物特征模板库;当用户生物特 征为用户指纹特征时,认证服务器增强相匹配的生物特征模板中与用户指纹特征相匹 配的特征点的匹配权重系数,减小相匹配的生物特征模板中与用户指纹特征不匹配的 特征点的匹配权重系数;以及当用户生物特征为用户掌纹特征时,认证服务器增强相 匹配的生物特征模板中与用户掌纹特征相匹配的特征点的匹配权重系数,减小相匹配 的生物特征模板中与用户掌纹特征不匹配的特征点的匹配权重系数。

其中,认证服务器增加用户脸部特征数据至生物特征模板库包括:当用户脸部特 征对应的人脸状态在相匹配的生物特征模板对应的人脸状态中不存在时,该处的人脸 状态可以为人脸角度、脸部方位或表情等状态信息,认证服务器增加用户脸部特征数 据至相匹配的生物特征模板库;考虑人脸随时间变化的特性,当认证服务器接收到用 户脸部特征的时间与相匹配的生物特征模板的建立时间之差超过预设时间间隔时,认 证服务器增加用户脸部特征数据至生物特征模板库。

其中,认证服务器增加用户虹膜特征数据至生物特征模板库包括:当用户虹膜特 征对应的瞳孔半径与相匹配的生物特征模板对应的瞳孔半径之差超过预设半径差时, 认证服务器增加用户虹膜特征数据至生物特征模板库,该半径差可设置为大于或等于 10个像素间隔;当用户虹膜特征对应的眼睑上抛物线到瞳孔圆心的间隔与瞳孔半径的 差超过预设间隔差时,认证服务器增加用户虹膜特征数据至生物特征模板库,该预设 间隔差可设置为-5至0个像素;当用户虹膜特征对应的虹膜噪声模板中睫毛噪声比例 超过预设噪声比例时,认证服务器增加用户虹膜特征数据至生物特征模板库;以及当 用户虹膜特征对应的瞳孔内无光斑时,认证服务器增加用户虹膜特征数据至生物特征 模板库。

再进一步优选地,当用户未进行生物特征注册或用户生物特征与生物特征模板库 中所有模板比对均不符时,特征比对模块获取不到相匹配的生物特征模板。当获取不 到相匹配的生物特征模板时,认证请求应答模块还用于返回生物特征认证失败信息至 客户端,当获取到相匹配的生物特征模板,将随机生成的挑战数返回至客户端。

优选地,认证请求应答模块22在将挑战数CN返回至身份认证装置40的同时, 将生成挑战数认证服务器的时间TM0同时返回至身份认证装置40,动态验证口令生 成模块43在生成OTP1时,根据TM0对TM1进行校正,当TM1与TM0相差超过预 设的时间差范围时,将TM1设置为TM0。

优选地,动态验证口令发送模块44在发送OTP1时,将TM1发送至认证服务器 20,则动态口令生成模块24在生成OTP2时,首先判断|TM-TM1|是否超过预设差 值范围,其中,TM为认证服务器接收到OTP1时认证服务器的时间,|TM-TM1|超 过预设差值范围时,认证服务器20返回超时信息至客户端,动态口令生成模块24在 |TM-TM1|没有超过预设差值范围时,生成动态口令OTP2,能够避免认证超时。

进一步优选地,在|TM-TM1|没有超过预设差值范围时,动态口令生成模块24 根据TM与TM1之间的时间生成一组动态口令,具体地,以预设分钟为步进长度,在 TM与TM1间选择TMi,每计算得到一个OTP2,口令验证模块25进行一次验证,当 OTP1和OTP2一致时生成身份认证成功的认证结果,如果不一致,动态口令生成模块 24选择新的TMi,并进行新的动态口令的计算,直到OTP1等于OTP2取值结束。

图2是根据本发明第二实施例的身份认证系统的框图,如图2所示,该系统包括 认证服务器、应用服务器、各种客户端(包括台式电脑客户端、笔记本客户端、PAD 客户端、手机客户端等)及身份认证装置。

应用服务器和各种客户端是属于计算机网络应用系统,统称为应用系统。应用系 统用户的身份认证是安全管理的重要组成部分,一般情况下,需要用户身份认证的交 易包括系统登录、业务授权、权限转移、帐户确认等,而每个用户的身份认证过程都 需要通过安全技术手段来保障。由于计算机网络应用的多样性,形成了各种各样的应 用系统,同时,每个应用系统的安全管理都是必要的,都需要完善的身份认证技术手 段,因此,本实施例能够同时为多种应用系统提供一套统一、开放的生物特征识别身 份认证系统,实现企业网、互联网、物联网等用户身份的安全认证。

在该实施例中,生物特征认证服务器(简称为认证服务器)作为独立的身份认证 的第三方,以生物特征识别技术为核心技术,具有用户生物特征注册和生物特征认证 等功能,可以为各个应用系统提供统一的、多模态的生物特征识别方式和手段。该认 证服务器也可与应用服务器集成于一体,使得应用系统无需第三方也可完成用户身份 的安全认证。

其中,如图3所示,作为第三方的生物特征认证服务器与各应用系统进行通信, 该认证服务器包括如下的几个部分:操作系统、生物特征数据库、系统管理功能单元、 生物特征认证服务单元、动态口令生成及验证单元、系统接口组件单元等,具体说明 如下:

生物特征数据库用于存储客户端发送的用户生物特征数据、认证服务器在认证过 程中的认证日志数据和用户注册和身份认证时生成的生物特征模板库,其中,用户生 物特征包括指纹、掌纹、人脸、虹膜、静脉等生物特征种类,数据库可以为Oracle、 DB2、Sybase、Informix、SQL Server、MySql等主流关系型数据库;

系统管理功能单元包括生物特征识别算法管理、应用服务器ID注册、身份认证装 置ID注册、用户ID及其生物特征注册和修改、黑名单管理等;

生物特征认证服务单元提供各种生物特征验证功能,包括“一对一”特征比对、 “一对多”的特征识别,同时,提供对待验证特征数据(也即客户端发送的用户生物 特征)的合法性校验、动态生物特征模板融合(也即生物特征模板库的修改)等功能;

在用户生物特征认证通过后,动态口令生成及验证单元利用用户生物特征、时间 戳、随机挑战数等动态要素,通过杂凑算法生成动态口令,并且负责验证客户端所生 成的动态验证口令与认证服务器所生成的动态口令是否一致,通过验证结果判断生物 特征等相关信息的完整性和可靠性,向用户端发送身份认证结果;

系统接口组件单元提供开放性、可扩展、统一性的通信接口,方便各个应用系统 的连接,支持WebService、Socket等方式,支持SOAP、HTTPS、TCP/IP等协议。

其中,设置于客户端身份认证装置可以是集成于客户端的装置,也可以为与客户 端相连接、相互通信的独立装置,如图4所示,具体包括如下的几个部分:生物特征 采集传感器单元、处理器单元(安全芯片)、显示单元、时钟单元、存储单元、键盘单 元及通信单元等,每台装置均具有唯一的生物特征识别装置ID(简称装置ID,也即 采集用户生物特征的采集装置的标识信息),各单元的作用如下:

生物特征采集传感器单元用于用户生物特征图像的采集,是读取生物特征的功能 单元,生物特征类型包括但不限于指纹、掌纹、人脸、虹膜、静脉等;处理器单元用 于生物特征图像的处理、特征提取、动态验证口令计算等功能,相当于装置的CPU, 可用使用安全芯片加强装置的安全保密;显示单元用于显示装置时间、动态验证口令、 接收到的动态口令等相关信息,可以采用LCD或OLED等方式;存储单元是用于保 存种子密钥、会话密钥、用户生物特征数据及装置参数的存储器;时钟单元用来提供 时钟,并具有能够根据要求校正时钟的功能;键盘单元是用于输入相关信息的单元, 例如输入挑战数、由用户进行操作确认等;通信单元用于客户端等上位机通信,通信 接口方式包括USB、Ethernet、Rs232等方式。

当认证服务器作为独立的身份认证的第三方时,在身份认证系统进行身份认证之 前,优选地,将应用服务器注册至认证服务器可采用如下的注册流程:

首先,确定应用服务器ID,该ID在系统内具有唯一性;其次,应用服务器向认 证服务器发出ID注册请求,发送的数据包括应用服务器ID;最后,认证服务器接收 请求,检查应用服务器ID是否重复,如果不重复,那么再由认证服务器随机产生16-32 字节的种子密钥SK1,每个应用服务器具有唯一的SK1,将SK1返回至应用服务器并 保存,完成应用服务器的注册。

优选地,也可将设置于客户端一侧的身份认证装置注册至认证服务器,以保证身 份认证装置的合法性,其注册流程可采用如下的流程:

首先,客户端确定身份认证装置的ID,该ID在系统内具有唯一性;其次,客户 端向认证服务器发出ID注册请求,发送的数据包括身份认证装置ID;最后,认证服 务器接收请求,检查身份认证装置ID是否重复,如果不重复,那么再由认证服务器随 机产生16-32字节的种子密钥SK1,每个身份认证装置具有唯一的SK1,将SK1返回 至身份认证装置并保存,完成身份认证装置的注册。

该身份认证系统完成一次身份认证的流程如下:

步骤S102:客户端接收用户输入的生物特征识别类型,其中,识别类型包括但不 限于指纹、人脸、虹膜等类型,用户可根据自身特点或习惯,选择适合自己的识别类 型;

步骤S104:根据识别类型,客户端驱动身份认证装置采集指纹、人脸或虹膜等相 应的人体生物特征,并将采集到的图像进行检测、定位、图像处理、提取特征等步骤, 该处的身份认证装置是集指纹、人脸或虹膜等生物特征采集于一体的装置,受客户端 控制启动相应的采集功能;

步骤S106:在用户生物特征采集完成后,将生物特征暂时保存在身份认证装置的 存储单元内(记为BIO),用于后面的动态验证口令的计算;

步骤S108:在采集并存储用户生物特征后,客户端利用用户生物特征BIO组织生 物特征认证请求发送至认证服务器;

步骤S110:认证服务器收到客户端发来的认证请求后,解密生物特征数据,并随 机生成挑战数CN(至少6位至8位数字码),同时,记录认证日志,日志内容包括: 本次请求认证的生物特征BIO、挑战数CN,并将挑战数CN返回至客户端;

步骤S112:客户端在接收到认证服务器返回的挑战数后,将该挑战数传入身份认 证装置;

步骤S114:身份认证装置接收挑战数CN,获取身份认证装置当前的时间TM1, 根据时间TM1、预存的第一种子密钥SK1(当身份认证装置在认证服务器完成注册时, 该密钥SK1是在完成注册时接收到的种子密钥,当身份认证装置没有注册,而应用服 务器完成注册时,该密钥SK1是由客户端与应用服务器相互通信获取到的种子密钥、 挑战数CN及暂存在身份认证装置的用户生物特征BIO生成动态验证口令OTP1,OTP1 =H(TM1,SK1,CN,BIO),生成动态验证口令后,可以将BIO清除;

动态认证口令的运算过程如下:动态认证口令的运算采用杂凑算法,杂凑算法又 称为散列算法或哈希算法,杂凑算法分为多种,包括但不限于SHA-1、SHA-256、SM3、 MD5等算法,具体运算步骤如下:

TM1为时间戳,如当前时间是2012年09月20日15点01分,则对应的TM1表 示为“0x32,0x30,0x31,0x32,0x30,0x39,0x32,0x30,0x31,0x35,0x30,0x31”12个字 节的数据;SK1为16-32个字节的种子密钥,密钥长度可根据需求进行调整;CN为挑 战数,至少为6位至8位数字码,例如:“59713131”,运算时,表示为“0x35,0x39,0x37, 0x31,0x33,0x31,0x33,0x31”;BIO为生物特征数据,为变长字段,例如:指纹特征数据 在128~512字节之间,人脸特征在3K~5K字节,虹膜特征为512字节;根据上述各要 素生成动态口令时可采用如下的方式:将各个字段数据组成一段变长数据,即: TM1+SK1+CN+BIO,作为输入的原文数据,通过杂凑算法运算,形成定长的摘要数据, 即动态口令;或者将TM1+CN+BIO作为原文数据,然后用SK1来加密,将加密数据 作为输入数据,通过杂凑算法运算,形成定长的摘要数据,即动态口令。

其中,采用SM3算法时生成的摘要为32字节数据;采用SHA-1算法时生成摘要 为20字节逐句;采用SHA-256算法时生成摘要为32字节数据;采用MD5算法时生 成摘要为16字节数据。

步骤S116:客户端将身份认证装置生成的动态验证口令OTP1上传至应用服务器, 由应用服务器组织报文,将动态验证口令OTP1和应用服务器ID等信息发送到认证服 务器;

步骤S118:认证服务器收到报文信息后,首先核对应用服务器ID是否注册,在 校验合法后,认证服务器调出认证日志记录,获取该记录中的BIO、CN,获取接收到 报文时认证服务器的时间TM,获取用于生成动态口令的第二种子密钥SK2,第二种 子密钥SK2与第一种子密钥SK1相对应,可通过身份认证装置的ID获取,也可通过 其他关键字获取,并根据BIO、CN、TM和SK2生成动态口令OTP2;

生成动态口令OTP2的方法与生成动态验证口令OTP1的方法一致,其具体运算 过程此处不再赘述。

步骤S120:认证服务器验证动态口令OTP2和动态验证口令OTP1是否一致,如 果OTP1与OTP2一致,那么判定本次身份认证成功,否则,判定为认证失败,将认 证结果返回应用服务器,然后再反馈回客户端,完成一次身份认证。

该实施例提供了一种身份认证系统,在该系统中,将生物特征识别技术与动态口 令相结合,实现生物特征数据的防篡改和用户身份认证的安全可靠性,在动态口令的 生成过程中,将生物特征参与动态口令计算,生成动态口令的要素直接来源于用户的 人体生物特征,从而不同用户生成的动态口令与用户自身密切相关,并且只要生物特 征被非法篡改,就会引起动态口令的验证不符,从而起到通过生物特征来保证动态口 令的安全性的作用,保障了用户身份认证的真实性和可靠性。

优选地,在步骤S110中,当认证服务器接收到认证请求并解密生物特征数据后, 判断本次接收到的用户生物特征或其哈希值是否在历史记录中存在,若存在,则表明 该生物特征可能被盗用或被复制,则向客户端返回攻击警告,本次认证失败。优选地, 可对发送该生物特征数据客户端的ID或者该生物特征数据对应的用户ID的异常情况 次数进行累计,如果异常次数达到预设值,那么就将该客户端或该用户记入黑名单。

生物特征识别技术属于模式识别技术,每次采集的人体生物特征都存在差别,因 此,两次获取的用户生物特征完全相同的概率极小,认证服务器利用这一特点来禁止 重放攻击。每次接收到用户生物特征后,在攻击检测完成后将本次生物特征数据记录 到历史日志中,也可以保存生物特征数据的压缩值,即哈希值,从而在每次接收到用 户生物特征后,首先检查本次用户生物特征或哈希值在历史记录中是否存在一致的记 录,若一致,则拒绝该请求,当某用户ID或某客户端ID频繁出现这种情况,累计达 到一定次数,认证服务器将该用户ID或客户端ID记入黑名单。

优选地,在身份认证系统进行身份认证之前,对即将使用生物特征进行身份认证 的用户,通过客户端把生物特征模板或用户ID与生物特征模板注册到认证服务器,注 册时,可直接注册固定类型的生物特征,也可将不同生物特征,包括指纹、掌纹、人 脸、虹膜、静脉等注册。用户ID和生物特征模板注册之前,该用户ID在应用服务器 已存在,注册后,认证服务器内的用户ID与客户端用户输入ID、应用服务器内的用 户ID相对应。其中,生物特征模板是指采集用户的一个或多个生物特征样本,利用多 个生物特征样本构造的生物特征参考模板,该模板可用来确定或者决定个体身份,通 常也称之为注册模板。

进一步优选地,当认证服务器判断本次接收到的用户生物特征或其哈希值在历史 记录中不存在时,认证服务器将用户生物特征与预存在生物特征模板库中的生物特征 模板进行比对,以获取到与用户生物特征相匹配的生物特征模板,当用户ID与生物特 征模板均注册到认证服务器,且客户端向认证服务器发送用户ID时,认证服务器采用 “一对一”的生物特征比对方式,根据用户ID在生物特征模板库中自动查找与用户 ID相匹配的生物特征模板,然后将用户生物特征与查找到的生物特征模板进行比对; 当仅有生物特征发送到认证服务器时,认证服务器采用“一对多”的生物特征比对方 式,直接将用户生物特征与生物特征模板库中各生物特征进行比对,找到与用户生物 特征相匹配的生物特征注册模板。当认证服务器获取不到相匹配的生物特征模板时返 回生物特征认证失败信息至客户端,当认证服务器获取到相匹配的生物特征模板时, 也即生物特征认证通过后,判断本次生物特征的质量,如果生物特征质量或状态满足 条件,则进行动态生物特征模板融合处理过程,也即根据用户生物特征修改生物特征 模板库。

其中,采用动态生物特征模板融合的处理过程,随着认证次数的增加,将认证通 过的生物特征数据进行整合、修正、补充等修改后,在应用变化中不断完善生物特征 模板信息,从而逐步增强生物识别的适应性,提高特征识别的准确率。动态生物特征 模板融合过程根据生物识别类型的不同而存在差别,且在生物特征质量或状态满足一 定条件下进行,避免根据质量低的用户生物特征对模板进行融合。

指纹识别或掌纹识别是基于特征点方式的运算过程,其特征模板融合采用“积分 制”的方法。所谓“积分制”,就是在特征比对通过后,对匹配上的特征点做加分处理 (设置最大值限制),对没有匹配上的特征点做减分处理,分数越高表明该特征点的可 信度越高,反之,如果该特征点可信度越低,特征点的可信度与特征比对中匹配算法 的权重系数有关,可信度越高、权重越大,提高特征比对的准确性,同时,在特征比 对过程中,特征点没有匹配上,积分减少、可信度越降低,当负积分达到预定值后删 除该特征点,在实际应用中,指掌纹的生物特征可能发生变化,因此,存在增加新特 征点的情况,新特征点与原始特征点同样适用于“积分制”的方法。

人脸识别的动态特征模板融合采用“多面人脸”方法,即:通过多幅人脸表现出 人脸的不同表情、脸部方位等,增加人脸比对通过率。在人脸比对通过后,判断本次 人脸的表情或方位是否能填补目前该人脸状态的空白,如果可以,则将新的人脸特征 模板添加到模板库,同时,也要考虑人脸随时间变化等特性,用新近人脸特征替换历 史人脸特征(原始人脸特征模板不能被替代),一般人脸图像应是正面照,且为平视, 不过头部方位有时是变化的,该处将变化范围限定为上下俯仰角不超过±20°,左右 侧偏角不超过±20°,左右旋转角不超过±10°。

虹膜识别具有极高的精确率,不过虹膜识别会受到某些因素的影响,例如瞳孔缩 放引起的虹膜非线性变化、眼睑对虹膜的影响、眼球左右旋转角度等因素,因此,虹 膜识别也需要动态特征模板融合处理,即用新的虹膜特征替换历史虹膜特征(原始虹 膜特征模板不能被替代)。在虹膜比对通过后,判断本次虹膜特征是否满足预设融合条 件要求,如果可以,则将新的虹膜特征模板添加到数据库。虹膜融合的前提条件为: 认证服务器查询到与用户虹膜特征相匹配的虹膜特征模板,但用户虹膜特征与虹膜特 征模板匹配得分较低,说明本次认证的用户虹膜特征与模板库内的特征差异较大。具 体融合条件如下:

(1)判断用户虹膜特征对应的瞳孔半径的尺寸与虹膜特征模板对应的瞳孔差超过 10个像素间隔,也即与历史记录变化明显时;

(2)对于眼睑的遮盖的影响,判断用户虹膜特征对应的眼睑上抛物线到瞳孔圆心的 像素间隔(Interval)与瞳孔半径的差是否超过预设间隔差,可设预设间隔差为 -5<=Interval<=0;

(3)对于眼睫毛遮挡的影响,在用户虹膜特征对应的虹膜噪声模板中分别求出瞳孔 左右两块(取64*32大小)中睫毛噪声所占比例Ratio1、Ratio2,计算(Ratio1+Ratio2) -(Ratio1′+Ratio2′),其中,Ratio1′与Ratio2′分别为相匹配的虹膜特征模板中求 出的瞳孔左右两块中睫毛噪声所占比例,并判断计算所得的差是否在-0.05~0.05之内; 或者,利用两比例中较小的值min(Ratio1,Ratio2)进行判断,如果min(Ratio1, Ratio2)=Ratio1,则判断Ratio1与Ratio1′的差是否在-0.02~0.02之内,如果min(Ratio1, Ratio2)=Ratio2,则判断Ratio2与Ratio2′的差是否在-0.02~0.02之内;

(4)当用户虹膜特征对应的瞳孔内无光斑,也即眼球偏转,融合时眼球左右旋转角 度在±35度以内。

优选地,在步骤S110中,认证服务器将挑战数CN和当前的认证服务器时间TM0 返回至客户端,在步骤S114中生成OTP1时,如果TM1与TM0之差超过预设值,那 么就需要校正身份认证装置的时钟,即令TM1=TM0。在步骤S116中,客户端将OTP1 和TM1上传至应用服务器,由应用服务器组织报文发送到认证服务器;在步骤S118 中,获取到接收报文时认证服务器的时间TM后,判断|TM-TM1|是否超出预设时 间范围,若超出预设值,则本次认证时间过长,判定认证失败,认证服务器向客户端 返回超时信息,如果没有超出预设值,则根据TM与TM1之间的时间生成一组动态口 令,具体地,OTP2=H(TMi,SK2,CN,BIO),以预设分钟为步进长度,在TM与 TM1间选择TMi;每计算得到一个OTP2,在步骤S120中,比较OTP1和OTP2是否 一致,如果一致,则判定认证成功,如果不一致,选择新的TMi,并进行动态口令的 计算,直到OTP1等于OTP2取值结束。

优选地,在匹配生物特征模板与用户生物特征时,由于单一生物特征匹配有时具 有局限性,例如:存在特征缺陷而无法使用、生物特征仿造等,因此,系统根据生物 识别类型的特点,提出一种逐级识别过滤及组合决策方法。

首先,根据每种生物识别技术的特点进行优先顺序的排列,人脸识别最容易被接 受,可以排在第一位,指纹识别最普遍,可以排在第二位,虹膜识别最安全,可以排 在第三位。如果追求安全性或精确性,那么就需要按照上述顺序逐级认证或组合认证, 例如:先人脸识别、后指纹识别,或者先人脸识别、后虹膜识别。

所谓“逐级识别过滤及组合决策方法”,就是“先易后繁、组合判断”,如果在先 的生物特征匹配的相似度达到预设置要求,则判定认证成功,如果相似度没有达到既 定预设值,但满足进一步验证的条件,则选定优先顺序次低的生物识别类型做进一步 验证,如果相似度达到预设置要求,则判定认证成功。如果后续生物特征识别相似度 仍然达不到预设置要求,则将各自识别的相似度进行组合,按照一定权重组合成一个 新的相似度值(aX+bY,a、b为权重系数-识别类型的精确度越高权重系数越大,X、 Y为单个识别的相似度),判断组合相似度是否满足要求即可。

另外,也可以利用每种生物识别技术的特点,通过组合策略实现特定场所的应用, 例如:利用人脸识别技术的方便性完成用户身份的定位,然后再利用指纹识别或虹膜 识别的精确性,对用户身份做进一步的验证,这样,既实现了方便性、又是现了准确 性。

与单一认证方式相比,多模态的认证方式具有更好的技术性能,其特性如下:安 全性:通过多模态生物识别,入侵者用人造物或模仿品来同时骗过多生物特征基本上 是不可能的,系统更加安全、可靠;准确性:通过多种生物特征融合和综合评价,可 以有效克服单一生物特征常有的缺陷,极大的提高身份认证的准确度;方便性:在个 人某项生物特征不便时亦可灵活调换,以保证在一种生物特征失真的情况下,仍能顺 利识别。

为确保通信数据的安全,客户端与认证服务器之间、应用服务器与认证服务器之 间的数据通信前可采用加密传输的方式,加密算法的密钥可采用由种子密钥SK分散 出的临时会话密钥,用于生物特征等报文信息的通信安全,如果超过预订时间,则重 新生成会话密钥。

该实施例中的认证服务器为支持多种类型生物识别方式的服务器,以及支持不同 厂家的生物识别算法,采用ISO/IEC国际标准“BioAPI规范”的API/SPI模型,具体 实现如下:BioAPI框架对上层服务是统一的,同时,BioAPI框架通过SPI(算法或设 备提供方的接口)屏蔽各厂商算法或设备驱动的差异,起到了标准中间件的作用;其 中,算法或设备提供方只要按照SPI接口标准提供对应的算法库和设备驱动,上层应 用就可以通过“API/SPI”实现透明调用,从而屏蔽各厂商算法库或设备驱动的差异。

本具体实施方式还提供了身份认证方法的实施例。

图5是根据本发明第一实施例的身份认证方法的流程图,如图5所示,该方法包 括如下的步骤S202至步骤S210。

步骤S202:认证服务器接收客户端发送的生物特征认证请求,其中,生物特征认 证请求包括用户生物特征。

用户完成生物特征的采集之后,客户端将用户生物特征组织成为生物特征认证请 求报文,并将该请求报文发送至认证服务器,认证服务器对接收到的报文进行解析, 得到用户生物特征。

步骤S204:认证服务器将随机生成的挑战数返回至客户端,在得到用户生物特征 之后,认证服务器随机生成的挑战数CN,并将挑战数CN返回至客户端。

步骤S206:认证服务器接收客户端发送的动态验证口令,其中,动态验证口令由 接收到挑战数时客户端的时间TM1、挑战数、用户生物特征和客户端预存的第一种子 密钥生成。

客户端根据接收到挑战数CN时客户端的时间TM1、挑战数CN、用户生物特征 和客户端预存的第一种子密钥SK1生成动态验证口令OTP1,其中,动态认证口令的 运算采用杂凑算法,杂凑算法又称为散列算法或哈希算法,包括但不限于SHA-1、 SHA-256、SM3、MD5等算法,并将将生成的动态验证口令OTP1发送至认证服务器。

步骤S208:认证服务器生成动态口令。

认证服务器根据接收到动态验证口令OTP1时认证服务器的时间TM、挑战数CN、 用户生物特征和第二种子密钥SK2生成动态口令OTP2,其中,第二种子密钥SK2是 与第一种子密钥SK1相对应的密钥,第二种子密钥SK2和第一种子密钥SK1及其对 应关系可预存在认证服务器内。该处计算动态口令OTP2的算法与生成OTP1的算法 相同,客户端与认证服务器可采用预定的固定算法进行口令的计算,也可在通信过程 中约定口令计算算法。

步骤S210:认证服务器验证动态口令和动态验证口令是否一致,并根据验证结果 向客户端返回身份认证结果。

当OTP2和OPT1一致时,生成身份认证成功的认证结果,当OTP2和OPT1不一 致时,生成身份认证失败的认证结果,并由认证服务器将身份认证结果返回至客户端。

在该实施例中,将生物特征识别与动态口令相结合,实现生物特征数据的防篡改 和用户身份认证的安全可靠性,在动态口令的生成过程中,将生物特征参与动态口令 计算,生成动态口令的要素直接来源于用户的人体生物特征,从而不同用户生成的动 态口令与用户自身密切相关,并且只要生物特征被非法篡改,就会引起动态口令的验 证不符,从而起到通过生物特征来保证动态口令的安全性的作用,保障了用户身份认 证的真实性和可靠性。

优选地,第一种子密钥SK1和第二种子密钥SK2可采用预注册的方式进行设置, 则在接收客户端发送的生物特征认证请求之前,该方法还包括:认证服务器接收客户 端发送的注册请求,其中,注册请求包括用于采集用户生物特征的采集装置的标识信 息,例如图2所示实施例中的身份认证装置的标识信息;认证服务器在接收到注册请 求时,随机生成种子密钥,并对应存储随机生成的种子密钥和标识信息;以及认证服 务器向客户端返回随机生成的种子密钥,其中,第一种子密钥和第二种子密钥均为随 机生成的种子密钥,生物特征认证请求还包括标识信息,认证服务器在生成动态口令 时根据标识信息获取第二种子密钥。

采用该方式生成第一种子密钥和第二种子密钥时,步骤S202中将用户生物特征和 身份认证装置的标识信息一起组织成为生物特征认证请求报文,在步骤S204之前,认 证服务器首先根据生物特征认证请求报文判断身份认证装置是否已完成注册,如果已 完成注册,则执行步骤S204,并且在步骤S208中,根据身份认证装置的标识信息获 取第二种子密钥SK2,否则返回装置生物特征认证失败信息至客户端;或者在步骤S206 中,发送动态验证口令OTP1的同时发送身份认证装置的标识信息,在步骤S208中, 根据身份认证装置的标识信息获取第二种子密钥SK2。第一种子密钥SK1和第二种子 密钥SK2也可采用其他的方式进行设置,例如设置为固定值,或者通过其他标识信息 进行关联均可。

优选地,为了避免认证过程中的重放攻击,该方法还包括进行攻击检测的步骤, 具体过程与上文中身份认证系统实施例中的攻击检测模块的功能相对应,此处不再赘 述。

优选地,在将随机生成的挑战数返回至客户端之前,该方法还包括进行用户生物 特征与生物特征模板的比对,并根据比对结果获取与用户生物特征相匹配的生物特征 模板,并进行生物特征模板库的修改,具体过程与上文中特征比对模块、模板库修改 模块的功能以及与上文中的动态生物特征模板融合的处理过程相对应,此处不再赘述。

优选地,在认证服务器生成动态口令之前,该方法还包括客户端(身份认证装置 端)时间的校正步骤、认证超时检测步骤以及在认证不超时时,通过计算一组动态口 令进行验证的步骤,在上文中均已描述,此处不再赘述。

本具体实施方式还提供了身份认证方法的第二实施例,在该实施例中,身份认证 方法包括:首次进行用户生物特征认证之前,用户ID及生物特征模板注册流程;生物 特征识别流程和动态口令校验流程。

对即将使用生物特征进行身份认证的用户,通过应用系统把用户ID和生物特征模 板注册到认证服务器,其中,认证服务器内的用户ID与应用服务器内的用户ID相对 应。用户ID及生物特征模板注册之前,要求该用户ID在应用系统已经存在。其中, 用户ID及生物特征模板注册过程如图6所示,包括如下的步骤S4-1至步骤S4-14:

S4-1:在客户端上输入用户ID、选择生物识别类型,生物识别类型包括指纹、掌 纹、人脸、虹膜、静脉等;

S4-2:客户端程序通过装置API驱动生物特征识别装置(即身份认证装置),采集 用户生物特征并处理、形成生物特征模板;

S4-3:用SK种子密钥分散出来的会话密钥加密用户生物特征模板数据;

S4-4:将装置ID、用户ID、识别类型、生物特征模板等信息组成通信数据报文, 发送到应用服务器;

S4-5:应用服务器接收客户端上传报文信息,并解析报文;

S4-6:应用系统判断用户ID是否存在,如果用户ID不存在,那么本次操作失败, 结果返回客户端;如果用户ID存在,则继续下一步处理;

S4-7:将客户端上传报文加上应用服务器ID后,向认证服务器发出注册请求;

S4-8:认证服务器接收应用系统的注册请求,并解析通信数据报文;

S4-9:判断请求报文中的应用服务器ID和装置ID是否已经在认证服务器中注册, 如果未经注册,则本次认证失败返回,如果已经注册,则继续下一步处理;

S4-10:通过装置ID获取对应的SK种子密钥,然后得到SK分散出的会话密钥, 利用会话密钥对生物特征数据密文进行解密;

S4-11:判断用户ID是否存在,如果用户ID不存在,则向数据库添加用户ID及 生物特征模板等信息;如果用户ID存在,则修改其生物特征模板信息;处理结果返回 应用服务器;

S4-12:应用服务器接收用户注册返回结果,根据返回结果进行下一步处理;

S4-13:如果用户注册成功,则应用服务器系统修改该用户ID所对应的数据库记 录,包括生物特征启用标识及类型标识等字段,标明该用户ID启用了生物特征认证方 式,以及所采用的识别类型;

S4-14:最终将本次用户注册结果返回客户端,交易完成。

生物特征识别流程如图7所示,流程实现步骤包括如下的步骤S6-1至步骤S6-11:

S6-1:用户进行认证时,首先要确定生物特征比对方式,即“一对一”的特征比 对和“一对多”的特征比对。“一对一”方式下,在客户端输入用户ID,否则,不 需要输入;

S6-2:然后选择识别类型,即生物识别类型,包括但不限于指纹、人脸、虹膜等 类型;

S6-3:根据识别类型,客户端驱动生物特征识别装置采集指纹、人脸或虹膜等人 体生物特征,识别装置的工作过程包括图像采集、检测、定位、图像处理、提取特征 等步骤;

S6-4:人体生物特征采集完成后,将生物特征暂时保存在识别装置内(记为BIO), 用于后面的动态口令计算;

S6-5:向认证服务器发出生物特征认证请求,生物特征认证请求包括两种方式。 “一对一”方式下,需要将装置ID、用户ID、识别类型及生物特征发送到认证服务 器,“一对多”方式下,只需要发送装置ID、识别类型及生物特征,无论哪种认证方 式,只要通过了生物特征比对或识别,都将返回用户ID;

S6-6:认证服务器收到客户端发来的认证请求后,首先校验装置ID是否经过注册, 然后,判断识别类型,根据识别类型查找对应的生物特征模板库;

S6-7:解密生物特征数据,并判断本次生物特征或其哈希值是否在历史记录中存 在,若存在,则表明该生物特征可能被盗用或被复制,返回警告,本次认证失败;同 时,对该用户ID异常情况的次数进行累计,如果异常次数达到预设值(例如:3次), 那么就将该用户ID记入黑名单;

S6-8:判断生物特征的比对方式,如果是“一对一”方式,则根据用户ID自动查 找该用户信息,并进行生物特征比对,如果是“一对多”方式,则在生物特征模板库 内进行搜索,找到与生物特征匹配的用户信息;

S6-9:生物特征认证通过后,判断本次生物特征的质量,如果生物特征质量满足 条件,则进行动态生物特征模板融合过程;

S6-10:由认证服务器随机生成挑战数CN(至少6位至8位数字码),同时,记录 认证日志,日志内容包括:用户ID、装置ID、本次请求认证的生物特征BIO、挑战数 CN、当前服务器时间TM0等信息,并将用户ID、挑战数CN、服务器时间TM0等信 息返回应用客户端;

S6-11:将用户ID、挑战数CN、服务器时间TM0等信息返回客户端,客户端程 序再把上述信息传入生物特征识别装置。

动态口令校验流程如图8所示,流程实现步骤包括如下的步骤S7-1至步骤S7-9:

S7-1:生物特征识别装置接收用户ID、挑战数CN、服务器时间TM0等信息;

S7-2:获取装置时间TM1,如果TM1与TM0之差超过预设值(此处设置为±1 分钟),那么就需要校正装置时钟,即:令TM1=TM0;

S7-3:根据时间、种子密钥、挑战数及生物特征等信息,生成动态口令OTP1=H (TM1,SK,CN,BIO),TM1为识别装置的当前时间,SK为识别装置的种子密钥, CN为服务器发来的挑战数,BIO为暂存在设备内的生物特征数据。生成动态口令完 成后,可以将BIO清除;

S7-4:客户端将用户ID、OTP1、△T(TM1-TM0)、杂凑算法类型等信息上传至 应用服务器;

S7-5:由应用服务器将用户ID、OTP1、△T、杂凑算法类型、应用服务器ID等 信息发送到认证服务器;

S7-6:认证服务器收到报文信息后,首先核对应用服务器ID是否注册,只有校验 合法后,才能进行下一步处理;

S7-7:系统调出用户ID对应的认证日志记录,获取该记录对应的BIO、TM0、CN 等信息;

S7-8:获取认证服务器当前时间TM,判断“TM–(TM0+△T)”是否超出预设 时间范围(此处设置为±2分钟),若超出预设值,则本次认证时间过长,判定认证失 败;

如果没有超出预设值,则按照同样的杂凑算法计算动态口令,即OTP2=H(TMi, SK,CN,BIO),TMi取TM0+△T和TM之中的小者,并在TM0+△T与TM之间变 化,步进长度以分钟为单位;比较OTP1和OTP2,如果相同,则判定认证成功,如果 不相同,则对TMi从TM0+△T到TM依次取值,并进行H(TMi,SK,CN,BIO) 运算,直到OTP1等于OTP2;

S7-9:如果OTP1等于OTP2,那么就判定本次生物特征成功,否则,判定为认证 失败,将认证结果返回应用服务器,然后再反馈回客户端。

在该第二实施例中,动态口令的计算过程中加入了以下要素,包括生物特征、时 间戳、挑战数、种子密钥SK等,除了SK外,其他均为动态因子。在认证过程中,通 过时间戳来控制身份认证的实时性;通过挑战数来控制本次认证的随机性;每次认证 中产生的生物特征数据BIO,也具有变化性,这是由生物识别技术特点决定的,在某 种程度上,BIO可以作为随机数来使用;如果BIO被篡改或替换,那么就会引起动态 口令的不符,总之,本发明的生物特征识别与动态口令应用的结合,将保证身份认证 的实时性、随机性、防篡改和不可复制性。

以VIP用户(贵宾客户)的人脸定位和后续的指纹或虹膜身份认证为例,图9是 根据本发明第三实施例的身份认证方法的流程图,如图9所示,生物特征识别的身份 认证流程示意图实现步骤如下。

首先通过人脸识别定位客户,包括如下的步骤S5-1至步骤S5-5:

S5-1:当用户进入银行营业厅或其他场所后,在摄像区内,应用系统客户端将驱 动人脸摄像识别装置抓拍人脸图像,并进行图像采集、检测、定位、处理、提取特征 等处理;

S5-2:客户端将装置ID、人脸特征数据、识别类型等形成通信报文,向认证服务 器发出人脸特征识别请求;

S5-3:认证服务器收到请求后,通过人脸特征在人脸特征模板库中进行搜索匹配, 即“一对多”识别方式;

S5-4:经过人脸特征搜索比对后,判断是否找到匹配的用户。如果没找到匹配的 用户,则将失败结果返回客户端,本次人脸识别失败;如果找到匹配的用户信息,系 统随机生成挑战数,并将用户ID和挑战数返回客户端;

S5-5:客户端生成动态口令,并经应用服务器向认证服务器校验动态口令,并将 结果返回应用系统,根据动态口令的校验结果判定本次身份认证是否成功。

其次,利用指纹技术进一步验证用户身份,如果VIP用户还有其他业务需要办理, 那么可以利用前一过程的人脸定位结果,即利用用户ID做“一对一”的指纹认证,包 括如下的步骤S5-6至步骤S5-11

S5-6:客户端驱动指纹识别装置,采集指纹并提取特征;

S5-7:向认证服务器发出指纹验证请求,通过用户ID验证用户指纹,即:“一对 一”的验证方式;

S5-8:如果用户指纹比对相似度达到了预设值,则本次指纹验证通过;如果指纹 验证未通过,则将本次指纹比对相似度和前次人脸相似度比对进行组合判断,若达到 预设要求,则判组合验证通过,否则,返回验证失败结果;

S5-9:指纹验证或组合验证通过后,系统随机生成挑战数,并将用户ID和挑战数 等信息返回客户端;

S5-10:客户端生成动态口令,并经应用服务器向认证服务器校验动态口令,并将 结果返回应用系统;

S5-11:根据动态口令的校验结果判定本次身份认证是否成功。

从以上的描述中,可以看出,本发明实现了如下技术效果:将将生物特征识别与 动态口令相结合,实现生物特征数据的防篡改和用户身份认证的安全可靠性,在动态 口令的生成过程中,将生物特征参与动态口令计算,生成动态口令的要素直接来源于 用户的人体生物特征,从而不同用户生成的动态口令与用户自身密切相关,并且只要 生物特征被非法篡改,就会引起动态口令的验证不符,从而起到通过生物特征来保证 动态口令的安全性的作用,保障了用户身份认证的真实性和可靠性。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可 以以不同于此处的顺序执行所示出或描述的步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所 组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以 将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模 块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明 不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的 任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号