基于UEFI的固件层指静脉增强验证方法及系统
技术领域
本发明涉及一种计算机身份验证技术领域,是一种基于UEFI的固件层指静脉增强验证方法及系统。
背景技术
在一般的UEFI固件开发中,需要对使用计算机的用户进行身份验证,用来保证装置的安全。传统做法均采用用户名和口令的方式进行身份验证,其操作流程中,一般在UEFI启动阶段要求用户输入正确的用户名和口令,验证通过后才允许启动当前操作系统;此方法安全等级较低,只适合在安全等级较低的场景中使用。为了满足更高安全等级的需求,目前市场上很多计算机集成了识别指纹设备,但只是靠单纯的手指纹路,容易被复制,安全系数不是很高,并且集成的指纹检测设备驱动以及用户指纹管理都是基于操作系统下进行的,安全风险不高。
发明内容
本发明提供了一种基于UEFI的固件层指静脉增强验证方法及系统,克服了上述现有技术之不足,其能有效解决现有计算机指纹身份验证方法存在的易被复制,且验证信息存储于操作系统,易被恶意修改的问题。
本发明的技术方案之一是通过以下措施来实现的:一种基于UEFI固件的指静脉增强验证方法,包括:
判断UEFI固件中是否存储有指静脉基准特征值;
响应于否,则采集该用户指静脉信息,通过指静脉驱动获取对应的指静脉基准特征值,并存储至UEFI固件,之后进入操作系统;
响应于是,则采集该用户指静脉信息,通过指静脉驱动获取用户当前指静脉特征值;将用户当前指静脉特征值与指静脉基准特征值进行匹配,判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若循环n次仍没有匹配成功则关机。
下面是对上述发明技术方案的进一步优化或/和改进:
上述录入用户指静脉基准特征值,包括:
采集用户指静脉信息;
调用指静脉驱动接口函数获取该用户指静脉信息的指静脉基准特征值;
调用特征融合函数融入指静脉特基准征值,将融合结果存储至UEFI固件中的指定区域。
上述UEFI固件通过外接指静脉设备采集用户指静脉信息。
上述还包括在UEFI固件没有外接指静脉设备时,通过用户名及口令登录操作系统,包括:
输入用户名及口令至UEFI固件;
将用户名及口令与已存储的用户名及口令进行匹配,判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若m次任没有匹配成功则关机。
上述还包括在操作系统内将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配,包括:
操作系统接收UEFI固件的匹配成功结果;
判定所在计算机的安全防护等级;
若安全防护等级高,则判断UEFI固件阶段的验证方式,响应于指静脉验证,则进入操作系统,响应于用户名及口令验证,则进行指静脉基准特征值录入;
若安全防护等级低,则进入操作系统。
本发明的技术方案之二是通过以下措施来实现的:一种基于UEFI固件的指静脉增强验证系统,包括设置UEFI固件中的用户信息管理单元、指静脉登录验证单元和UEFI驱动单元;
用户信息管理单元,通过指静脉驱动录入及存储用户的指静脉基准特征值;
指静脉登录验证单元,采集该用户指静脉信息,通过指静脉驱动获取用户当前指静脉特征值,将用户当前指静脉特征值与指静脉基准特征值进行匹配;判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若循环n次仍没有匹配成功则关机;
UEFI驱动单元包括指静脉驱动,指静脉驱动用于开启、设置指静脉设备,获取指静脉设备的基础信息,获取用户指静脉特征值。
下面是对上述发明技术方案的进一步优化或/和改进:
上述用户信息管理单元包括指静脉基准特征值管理模块、用户名及口令管理模块;
静脉基准特征值管理模块,提供静脉基准特征值管理服务;
用户名及口令管理模块,提供用户名及口令管理服务。
上述还包括计算机硬件和设置在操作系统中的再验证单元;
计算机硬件包括指静脉设备,采集用户指静脉信息;
再验证单元,将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配。
上述还包括设置UEFI固件中用户名及口令登录验证单元,在UEFI固件没有外接指静脉设备时,通过用户名及口令登录操作系统。
上述还包括设置UEFI固件中固件架构性基础功能单元,用于提供UEFI驱动的运行环境。
本发明在不对操作系统有任何要求的情况下,在UEFI固件中实现了指静脉登录验证方法,通过使用指静脉登录验证相较于常用的指纹验证,不易被复制,可靠程度比较高,适用于安全要求较高的计算机,同时本发明将指静脉驱动、指静脉基准特征值、指静脉融合结果、匹配算法均存储在UEFI固件中,不易被泄漏,不易被恶意修改攻击,进一步提高了对于计算机的安全保护;并且本发明适用于龙芯、飞腾等处理平台。
附图说明
附图1为本发明实施例的流程图。
附图2为本发明实施例中录入用户指静脉基准特征值的流程图。
附图3为本发明实施例中通过用户名及口令登录操作系统的流程图。
附图4为本发明实施例中将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配的流程图。
附图5为本发明实施例的结构框图。
附图6为本发明实施例中用户信息管理单元的结构框图。
具体实施方式
本发明不受下述实施例的限制,可根据本发明的技术方案与实际情况来确定具体的实施方式。
下面结合实施例及附图对本发明作进一步描述:
如附图1所示,本发明实施例公开了基于UEFI固件的指静脉增强验证方法,包括:
S1,判断UEFI固件中是否存储有指静脉基准特征值;
S2,响应于否,则采集该用户指静脉信息,通过指静脉驱动获取对应的指静脉基准特征值,并存储至UEFI固件,之后进入操作系统;
S3,响应于是,则采集该用户指静脉信息,通过指静脉驱动获取用户当前指静脉特征值;将用户当前指静脉特征值与指静脉基准特征值进行匹配,判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若循环n次仍没有匹配成功则关机。
上述技术方案中,UEFI固件通过外接指静脉设备采集用户指静脉信息,指静脉设备由指静脉驱动进行驱动。
上述技术方案中,指静脉驱动存储于UEFI固件中,是基于UEFI固件中标准的DXE驱动框架来实现的,在驱动的实现过程中,调用了USB传输的相关底层驱动,并通过USB的中断、异步传输等方式进行发送和接收数据(包括指令包和数据包)。指静脉驱动能用于开启、设置指静脉设备,获取指静脉设备的基础信息,驱动外接设备,获取用户指静脉基准特征值。
上述技术方案步骤S1中,判断UEFI固件中是否存储有指静脉基准特征值,即判断用户是否为首次登陆,若是首次登陆,则需录入存储该用户的指静脉基准特征值,若不是首次登录,则直接进行登录流程。
上述技术方案步骤S3中,判断是否匹配成功,响应于否,则循环采集判断,若n次任没有匹配成功则关机,其中n根据实际情况进行设定;例如,将n取为3,则判断匹配不成功时,再次循环采集判断,若匹配成功,则进入操作系统,若匹配不成功,则再次循环采集判断,以此类推,若循环3次依然未匹配成功,则关机。从而对计算机实现有效安全防护。
本发明在不对操作系统有任何要求的情况下,在UEFI固件中实现了指静脉登录验证方法,通过使用指静脉登录验证相较于常用的指纹验证,不易被复制,可靠程度比较高,适用于安全要求较高的计算机,同时本发明将指静脉驱动、指静脉基准特征值、指静脉融合结果、匹配算法均存储在UEFI固件中,不易被泄漏,不易被恶意修改攻击,进一步提高了对于计算机的安全保护;并且本发明适用于龙芯、飞腾等处理平台。
下面是对上述发明技术方案的进一步优化或/和改进:
如附图2所示,在上一实施例中判断UEFI固件中是否存储有指静脉基准特征值,响应于否,则采集该用户指静脉信息,通过指静脉驱动获取对应的指静脉基准特征值,本实施中的基于UEFI固件的指静脉增强验证方法,录入用户指静脉基准特征值还可以进一步包括:
S21,采集用户指静脉信息;
S22,调用指静脉驱动接口函数获取该用户指静脉信息的指静脉基准特征值;
S23,调用特征融合函数融入指静脉特基准征值,将融合结果存储至UEFI固件中的指定区域。
上述技术方案将用户的指静脉基准特征值存储至UEFI固件中,使得用户的指静脉基准特征值不易被泄漏,不易被恶意修改攻击,提高了对于计算机的安全保护。
如附图3所示,在上一实施例中在UEFI固件外接有指静脉设备时,判断UEFI固件中是否存储有指静脉基准特征值,本实施中的基于UEFI固件的指静脉增强验证方法,进一步包括在UEFI固件没有外接指静脉设备时,通过用户名及口令登录操作系统,包括:
S41,输入用户名及口令至UEFI固件;
S42,将用户名及口令与已存储的用户名及口令进行匹配,判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若m次任没有匹配成功则关机。
上述技术方案中m根据实际情况进行设定。上述过程均在UEFI固件中进行。
如附图4所示,在上一实施例中响应于UEFI固件中无存储有指静脉基准特征值,则采集该用户指静脉基准特征值,进入操作系统;响应于用户当前指静脉特征值与指静脉基准特征值匹配成功,进入操作系统,本实施中的基于UEFI固件的指静脉增强验证方法,进入操作系统阶段后还可以进一步包括在操作系统内将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配,包括:
S51,操作系统接收UEFI固件的匹配成功结果;
S52,判定所在计算机的安全防护等级;
553,若安全防护等级高,则判断UEFI固件阶段的验证方式,响应于指静脉验证,则进入操作系统,响应于用户名及口令验证,则进行指静脉基准特征值录入;
S54,若安全防护等级低,则进入操作系统。
上述技术方案将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配,从而根据计算机的安全防护等级对UEFI固件阶段的验证方式进行规定,使得UEFI固件阶段的验证方式与所在计算机的安全防护等级相匹配,保证对于计算机的安全保护。
如附图5所示,相应的,本发明实施例还公开了基于UEFI固件的指静脉增强验证系统,包括设置UEFI固件中的用户信息管理单元、指静脉登录验证单元和UEFI驱动单元;
用户信息管理单元,通过指静脉驱动录入及存储用户的指静脉基准特征值;
指静脉登录验证单元,采集该用户指静脉信息,通过指静脉驱动获取用户当前指静脉特征值,将用户当前指静脉特征值与指静脉基准特征值进行匹配;判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若循环n次仍没有匹配成功则关机;
UEFI驱动单元包括指静脉驱动,指静脉驱动用于开启、设置指静脉设备,获取指静脉设备的基础信息,获取用户指静脉特征值。
上述技术方案中,用户信息管理单元包括实现用户的指静脉基准特征值管理功能,指静脉基准特征值管理包括录入管理和删除管理,具体如下:
录入管理,在首次登录或者检测到指定区域内没有指静脉基准特征值时,需要用户进入用户信息管理界面录入指静脉基准特征值,即通过外接设备采集用户指静脉信息,指静脉驱动接口调用指静脉驱动接口函数获取该用户指静脉信息的指静脉基准特征值,调用指静脉驱动接口函数获取该用户指静脉信息的指静脉基准特征值调用特征融合函数融入指静脉特基准征值,将融合结果存储至UEFI固件中的指定区域(例如flash区域),完成指静脉基准特征值录入。
删除管理,在需要删除指静脉时,选择需删除指静脉选项基准特征值,UEFI固件会调用相关擦除函数(例如flash擦除函数)将选定的指静脉选项基准特征值从指定区域内擦除,完成指静脉基准特征值删除。
上述技术方案中,指静脉登录验证单元提供指静脉特征值验证服务,并且在静脉基准特征值验证之前,会对检测当前UEFI固件是否为新固件,若是新固件,则会对当前UEFI固件进行绑定,若不是新固件,则检测UEFI固件中是否存储有指静脉基准特征值,若否,则可以提示用户进入到用户信息管理界面录入指静脉基准特征值,若是,则进行指静脉特征值验证流程。
上述技术方案中,指静脉驱动是基于UEFI中标准的DXE驱动框架来实现的,在驱动的实现过程中,调用了USB传输的相关底层驱动,并通过USB的中断、异步传输等方式进行发送和接收数据(包括指令包和数据包),从而实现通过USB协议引入指静脉涉设备,由于USB协议很成熟,故缩短了指静脉驱动开发时间。
上述指静脉驱动的接口能实现的功能包括:
1、打开指静脉设备。
、设置指静脉设备的工作模式;其中工作模式包括前比传输、后比传输等。
、获取指静脉设备的固件版本号;例如指静脉设备的固件版本号有升级,则用户可调用指静脉驱动接口查当前指静脉设备的固件版本号。
、获取指静脉设备的序列号;由于每个指静脉设备的序列号均唯一,则能将指静脉设备的唯一序列号与UEFI固件进行绑定,以提高系统安全性。
、播报语音,即能调用静脉驱动接口让指静脉设备播报用户需要的语音,例如“请自然轻放手指”等相关语音。
、获取当前指静脉设备采集的指静脉信息对应的指静脉特征值,即调用指静脉驱动接口函数获取该用户指静脉信息的指静脉基准特征值。
下面是对上述发明技术方案的进一步优化或/和改进:
如附图6所示,在上一实施例中基于UEFI固件的指静脉增强验证系统包括设置UEFI固件中的用户信息管理单元、指静脉登录验证单元和UEFI驱动单元,本实施中的基于UEFI固件的指静脉增强验证系统,用户信息管理单元还可以进一步包括指静脉基准特征值管理模块、用户名及口令管理模块;
静脉基准特征值管理模块,提供静脉基准特征值管理服务;
用户名及口令管理模块,提供用户名及口令管理服务。
上述技术方案中,静脉基准特征值管理服务包括录入静脉基准特征值管理和删除静脉基准特征值管理,其管理的具体过程不再赘述。
上述技术方案中,用户名及口令管理服务包括录入用户名及口令和删除用户名及口令。
如附图5所示,在上一实施例中基于UEFI固件的指静脉增强验证系统包括设置UEFI固件中的用户信息管理单元、指静脉登录验证单元和UEFI驱动单元,本实施中的基于UEFI固件的指静脉增强验证系统,进一步还包括计算机硬件和设置在操作系统中的再验证单元;
计算机硬件包括指静脉设备,采集用户指静脉信息;
再验证单元,将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配。
上述技术方案中,将UEFI固件阶段的验证方式与所在计算机的安全防护等级进行匹配,在所在计算机的安全防护等级高的情况下,提示未通过指静脉登录验证的人员录入其指静脉基准特征值。
如附图5所示,在上一实施例中基于UEFI固件的指静脉增强验证系统包括设置UEFI固件中的用户信息管理单元、指静脉登录验证单元和UEFI驱动单元,本实施中的基于UEFI固件的指静脉增强验证系统,还可以进一步包括设置UEFI固件中的用户名及口令登录验证单元,在UEFI固件没有外接指静脉设备时,通过用户名及口令登录操作系统。
上述技术方案中,用户名及口令登录验证单元用于UEFI固件没有外接指静脉设备时,即输入用户名及口令至UEFI固件,将用户名及口令与已存储的用户名及口令进行匹配,判断是否匹配成功,响应于是,则进入操作系统,响应于否,则循环采集判断,若m次任没有匹配成功则关机。
如附图5所示,在上一实施例中基于UEFI固件的指静脉增强验证系统包括设置UEFI固件中的用户信息管理单元、指静脉登录验证单元和UEFI驱动单元,本实施中的基于UEFI固件的指静脉增强验证系统,还可以进一步包括设置UEFI固件中的固件架构性基础功能单元,用于提供UEFI驱动的运行环境。
上述技术方案中,固件架构性基础功能单元是指处理器上电后,从运行第一行代码到准备好UEFI驱动运行环境止,所执行的代码;包括对CPU运行状态进行配置、对Cache进行配置、对内存进行配置、对中断进行配置,并且按照UEFI规范提供架构性服务,最终准备好一个符合UEFI规范的设备驱动(即UEFI驱动单元中的驱动)能够正常运行的环境。
以上技术特征构成了本发明的最佳实施例,其具有较强的适应性和最佳实施效果,可根据实际需要增减非必要的技术特征,来满足不同情况的需求。