Windows 生物统计框架结构简介(WBF) (指纹识别技术)

指纹识别技术在今天已经得到了越来越多的应用。在很多中、高端计算机中指纹识别设备已经成为了标配。

我发现很多计算机的指纹识别设备是闲置的,还有些设备虽然应用了,但是并没有得到正确的应用。

在前天下午。又遇到一台thinkpad计算机指纹识别设备不能正确安装驱动的问题。虽然最后问题解决了。但是我觉得写一篇关于指纹识别技术的文章还有对以后有好处的。

以下部分内容翻译自:Introduction to the Windows Biometric Framework (WBF)白皮书 (已上传到共享文档中)

本白皮书提供以下信息,Windows 生物识别框架 (WBF)为 Windows ® 7 操作系统。 该独立硬件供应商(ihv) 独立软件供应商 (isv,) 它提供了与指引一起 WBF,简介和它们与集成指纹生物识别设备时,应遵循原始设备制造商(oem) Windows 7 平台。

其中包括以下的详细讨论 WBF:

· 概述 WBF 和其组件。

· WBF 提供的生物识别的用户体验的概览

· 指南发展 WBF 兼容生物识别的设备驱动程序和组件。

· 指南分布的 WBF 兼容生物识别的设备驱动程序和组件。

此信息适用于 Windows 7 操作系统。

本文末尾列出的引用和此处讨论的资源。

最新的信息,请参阅:
www.microsoft.com/whdc/device/input/smartcard/WBFIntro.mspx

免责声明:这是一个初步的文档,可在此处描述的软件的最终商业版本之前根本改变

本文档中包含的信息表示的出版日期作为讨论的问题的当前视图的微软公司。 因为 Microsoft必须响应不断变化的市场条件,它不应被解释为 Microsoft 的一个承诺,Microsoft不能保证发表日期后提交任何信息的准确性。

本白皮书是仅用于提供信息。 微软使任何的担保快递,或暗示或法定的以本文档中的信息。

遵守所有适用的版权法是用户的责任。 在不限制版权所规定的权利,此文档的任何部分可能是转载、存储在或引入到检索的系统或传输任何形式或任何手段 (电子、 机械、 影印、 录制,或其他) 或为任何目的 MicrosoftCorporation 的明确书面许可。

Microsoft 可能拥有专利、 专利申请、 商标、 版权或其他知识产权涉及本文档中的主题。 除非明确规定在Microsoft 的任何书面的许可协议,提供本文档并不赋予您任何许可这些专利、 商标、 版权或其他知识产权。

除非另有说明的示例公司、 组织、 产品、 域名、 电子邮件地址、 徽标,人物、地点和此处描述的事件均属虚构,并无意与任何真实的公司、 组织、 产品、 域名命名的电子邮件地址、 徽标、 人、地点或事件的目的是,或暗示。

© 2008年微软公司。 保留的所有权利。

Microsoft 和 Windows 是微软公司在美国和/或其它国家的商标或注册的商标。

实际公司和本文中所提及的产品的名称可能是其各自所有者的商标。

文档历史记录

日期

更改

2009 年 3 月 17日

更正键入错误,在图 1 中: 更改为"框架"的"基础"

2008 年 12 月 15日

第一次发布

介绍

生物识别是一项越来越受欢迎的技术,提供了方便地访问系统、 服务,和资源。 生物统计学依赖于一个不变的物理测量 特点来唯一地标识该人的人。 指纹是最常用的生物特征与数以百万计的指纹生物识别设备的嵌入在个人计算机和外围设备之一

在 Windows ® 7,Windows 生物识别框架 WBF 提供支持指纹生物识别设备通过一套新的组件。 这些组件提高质量、可靠性和一致性的用户 经验 为客户有指纹生物识别设备。

本白皮书提供 WBF 和 WBF 核心体系结构、 用户体验和可管理性功能和第三方开发的 WBF组件支持的分配机制及其组件的高级别的概述。 本白皮书旨在为原始设备制造商 (oem) 独立硬件供应商 (ihv) 和独立软件供应商(isv) 想要支持指纹识别在 Windows 7 的生物识别设备。

术语和定义

生物识别单位 (BU)

提供 Windows 生物识别服务 (WBS) 通过的生物识别设备的通用表示形式。

BU 适配器

布鲁里溃疡,软件支持生物识别的设备不支持的硬件功能的插件组件。

生物识别的服务提供商 (BSP)

内核模式的服务提供程序接口与 WBS。

指纹管理中的应用 (FMA)

一种第三方应用程序,通过提供管理能力扩展了 WBF 并支持包括注册经验、 单一登录,Web和管理的指纹生物识别设备的专有属性的更多方案。

Windows 生物驱动程序接口 (WBDI)

生物识别设备驱动程序使用以插入到 WBF 的接口。

Windows 生物识别框架 (WBF)

提供一致的用户体验和管理接口,用于所有指纹生物识别设备的 Windows 7 中引入的框架。

Windows 生物识别服务 (WBS)

管理所有的服务的指纹生物识别设备通过 WBDI 兼容的设备驱动程序。

Windows 生物识别框架概述

早于 Windows 7 在 Windows 版本中,提供包括驱动程序、 软件开发工具包 (sdk)和应用程序的自己技术堆栈被需要每个指纹生物识别设备供应商。 结果是一系列的缺乏一致的用户体验和共同的管理平台的专有解决方案。

常见的编程接口没有导致应用软件之间的不兼容性和指纹生物识别设备以及在质量和可靠性的驱动程序和软件包中的不一致。应用程序堆栈和驱动程序的不同性质而且,模型的生物识别设备复杂的服务和维护 这些专有解决方案。

在 Windows 7 Windows 操作系统通过 WBF 指纹生物识别设备提供的本机支持。这一框架包括以下的生物识别技术为提供支持:

· 一种改进的质量和可靠性的指纹生物识别驱动程序和管理应用程序。

· 更一致的用户体验

· 一个通用的平台和一套接口的软件开发人员。

· 改进可管理性和可维护性的指纹生物识别设备的 Windows。

说明Windows 7 和 WBF 支持只指纹生物识别设备。

实现这些目标的 WBF 组件包括:

· 核心平台组件包括驱动程序接口定义、 可插接式扩展平台和客户端的 API。

· 用户体验提供一致的用户体验,在 Windows 操作系统中的组件。 此组件包括支持的登录和用户帐户控制 (UAC)的核心方案

· 让用户和管理员的 管理组件配置生物统计学和生物特征识别设备。此组件支持生物识别配置单一计算机系统上的本地或全球范围内通过组策略的域

· WBF 组件分布,让生物识别驱动程序和组件派发在线分销渠道。

本文的其余部分的每个的简要概述WBF 组件.

WBF 核心平台

在WBF核心平台由以下部分组成:

· Windows 生物驱动程序接口 (WBDI)

· Windows 生物识别服务 (WBS)

· WBF API

图 1 显示了这些组件及其相互之间的关系

image

图1。 Windows 生物识别框架核心体系结构

Windows 生物驱动程序接口 (WBDI)

WBDI 提供了一个生物识别驱动程序使用公开 WBS 通过设备的通用界面。 WBS 公开实施 WBDI 的所有插设备。这允许任何用户模式应用程序访问生物识别设备通过 WBF API。

可以通过使用 Windows 操作系统支持包括以下的任何驱动程序技术实现 WBDI 驱动程序:

· 用户模式驱动程序框架 (UMDF)

· 内核模式驱动程序框架 (KMDF)

· Windows 驱动程序模型 (WDM)

说明以改善整体的驱动程序质量和系统稳定性,我们建议驱动程序编写使用 UMDF 的驱动程序模型时尽可能

有关这些驱动程序技术的详细信息请参见在"资源"本文末尾的链接。

WBDI 驱动程序必须执行以下操作:

· 支持 WBDI 驱动程序接口的 GUID。

· 支持所有强制性 WBDI I/O 控制 (ioctl) 包括处理多个 IOCTL 请求和支持 IOCTL 取消。

驱动程序开发人员应检查文档和示例 WBDI 驱动程序代码在 Windows 7 Windows 驱动程序工具包 (WDK)一起。 开发人员还应使用下列的 WDK 工具验证他们的驱动程序:

· 尔多斯 f主体的驱动程序

· WDF 验证程序

· 应用程序验证程序

· 包括 WBDI 驱动程序的 WBF 工具测试线束 (WBDIDriverTest.exe)

有关这些工具的详细信息,请参阅 Windows 7 WDK 中的文档。

Windows 生物识别服务 (WBS)

WBS 是一个程序,用于管理的组件指纹生物识别的设备,通过 WBDI 驱动程序安装在系统上。 WBS 支持 WBF 的 API的托管提供对这些设备通过客户端 应用程序。

WBS 保护用户保密维护客户端应用程序与生物识别数据的严格分开。 具体而言,WBS 作为一个应用程序与生物识别的设备之间的I/O 代理,并执行在设备上的所有的捕获、 处理和存储操作。

WBS 绝不会让未经授权的客户端应用程序生物样品或模板的直接访问。 相反,WBS 将相关联如安全标识符 (SID)的句柄或生物识别数据的 GUID。 应用程序使用此句柄来间接访问生物识别数据或 模板。

WBS 内指纹生物识别设备是由一个名为生物服务提供商 (BSP) 的组件管理的。 BSP 实现所有政策 或行为,是特定于设备的生物识别类别。

说明在示例指纹是唯一受支持生物识别类别和 Microsoft 提供 BSP 这种类型设备 Windows 7设备

WBS 的另一个特点是它会将标准化生物识别硬件行为。 因此,所有 指纹生物识别设备行为更多或更少相同客户端应用程序的不管的设备的物理功能。

WBS 没有这通过创建的称为作为生物识别单元 (备份) 的虚拟软件组件为每个生物识别设备。备份是一个理想化的版本的设备,可以执行 的捕获、 处理和存储功能。

如果物理设备缺乏板载处理或存储功能,是由称为 BU 适配器的插件组件提供此功能。不管的功能的生物识别的设备相关联的备份和备份适配器 BSP 总是提供一个共同的行为界面。

WBS管理通过将它们组合在一起在池中的所有巴士。 WBS 维护以下三个池:

· 系统:

系统池中包含更方便地访问基于 Windows 身份验证服务的可共享总线。 系统池用于登录,UAC和任何其他客户端想要与用户的生物识别模板相关联的 Windows 帐户 sid。 每个系统上的 BSP 有一个系统池。

· 私人:

专用组包含由应用程序分配为独占使用的一个或多个公共汽车。 私人游泳池,可以支持执行身份验证,并不是基于 Windows的应用程序。 可以有巴士在系统上的,很多私人池。

· 未分配:

未分配的组包含不属于系统或私人游泳池的巴士。 与其他备份池不同未分配的池可能是空的。

一个备份下列三个可插接式 BU 适配器组件组成:

· 传感器适配器:

在传感器适配器执行所有示例捕获操作。

· 发动机适配器:

引擎适配器执行包括数据规范化、 特征提取和生物识别模板生成的所有处理。 而且,引擎适配器注册、鉴定和验证操作期间匹配模板的生物识别数据。

· 存储适配器:

存储适配器存储、 管理,和检索所有的模板。

图 2 显示了 BSP、 巴士和各业务部适配器之间的关系。


image

图2。 生物识别的服务提供商和生物测量单位

在 Windows 7 BU 适配器组件提供方式如下:

· 指纹生物识别设备,并没有对芯片存储或匹配功能,Microsoft 提供的收件箱传感器和存储适配器组件。 一个 IHV 或ISV 必须提供引擎适配器组件为 这些设备。

· 指纹生物识别设备,并支持对芯片匹配和存储,IHV 或 ISV 必须提供所有备份适配器组件。

想要的驱动程序开发人员写 WBF 的备份适配器组件应 请参阅文档和示例 WBDI 驱动程序代码在 Windows 7WDK。

WBF API

WBS 公开的指纹生物识别设备通过 WBF API。 此 API 允许应用程序注册、 标识,和验证用户身份。 在 加 ,WBFAPI 提供了:

· 查询的生物识别设备的能力。

· 生物识别设备的位置

· 会议管理

· 事件监视器

· 生物识别模板存储

WBF API 还提供了扩展 API,可以用来访问专有的特定于设备的功能。

开发人员想要编写应用程序,使用了 WBFAPI应该看到,文档中的,Windows 7 SDK

WBF 用户体验

在 Windows 7 WBF 符合整个 Windows 操作系统本身用户体验的指纹生物识别设备提供了用户体验。

WBF 提供了一组通用的下列:

· 发现点

· 应用程序启动点。

· 管理功能

· 支持端到端方案

发现问题

Windows 7 提供用户可以是生物识别能力的几种方法嵌入在 Windows 中。 这些包括以下内容:

· 搜索:

用户可以通过单击开始,然后键入"生物特征识别"、"指纹"或其他相关的短语来启动生物识别设备控制面板搜索生物识别功能。

· 生物识别设备控制面板:

用户可以找到生物测量设备控制板下 硬件和声音的类别,或通过选择控制面板中的 所有视图。有关生物测量设备控制面板的详细信息,请参阅 生物测量设备控制面板

· 设备管理器

用户可以在设备管理器中查找所有 WBDI 设备 生物设备类别下。

应用程序起始点

ihv、 独立软件供应商和 oem 可以与生物测量设备控制面板通过集成了他们自己的指纹管理应用程序(FMAs),管理您指纹 数据的链接。 当用户单击此链接时启动第三方应用程序。 此链接也是可从用户帐户控制小组。

这样可以提供自定义和品牌的 FMA 从生物识别设备控制面板内的标准点启动的第三方。 在 FMA可能是一个简单的注册应用程序或复杂的一套应用程序和管理能力。

Windows 7 将包括一个收件箱 FMA 或招生人数的经验。 只有 IHV、 ISV 或 OEM 可以提供一个使用 WBFAPI 的 FMA 一个注册的经验。

管理功能

通过 WBF 生物测量设备控制面板,用于管理用户体验指纹生物识别设备是与管理系统中的其他设备兼容。生物测量设备控制面板使用户在另外一个的方式开始专用的应用程序,用于管理 特定于设备的设置。

有关生物测量设备控制面板的详细信息请参阅生物识别设备控制面板.

支持的方案

在 Windows 7 支持两个主要的端到端方案:

· 登录:

用户可以登录到本地计算机或域的使用指纹。

· UAC:

具有管理凭据的用户可以通过使用指纹来提升通过 UAC 的应用程序。

WBF 管理

Windows 7 中可以通过以下任一管理单个设备或整个系统的生物特征属性:

· 生物识别设备控制面板

· 生物特征识别系统管理

生物识别设备控制面板

Windows 生物测量设备控制小组提供用户基本功能的生物识别管理本地系统。具体,用户可以:

· 删除个人身份信息如指纹模板和密码数据。

· 访问设备管理器中的故障排除指纹生物识别设备

· 管理包括以下的生物识别设置:

· 启用/禁用生物识别

· 启用/禁用本地登录

· 启用/禁用域登录

若要更改生物识别设置用户必须具有管理凭据。

生物识别系统管理

除了,通过生物测量设备控制生物识别能力的本地管理面板,用户可以通过使用组策略来控制在一个域中的生物识别以下几个方面:

· 启用/禁用生物识别

· 启用/禁用本地登录

· 启用/禁用域登录

· 将为快速用户切换 (FUS) 的超时设置

说明富华S只有当一个 IHV 或 ISV 实现与其工作

与这些的设置,系统管理员可以使用下列组策略功能管理指纹在其环境中的生物识别设备:

· 防止生物识别设备安装

· 强制删除特定的驱动程序指纹生物识别设备

· 禁用 WBS。

系统管理员此外可以执行特定的任务,与相关的生物特征识别通过使用登录脚本。

WBF 驱动程序和组件分配

Windows 7 以下的分销渠道可用于第三方 WBF 组件、 驱动程序和 FMAs:

· 分布由 oem:

oem 将能够包括 WBF 组件、 驱动程序和与 FMAsWindows7 的机器厂。

· Windows更新:

强烈建议将分发 WBF 组件、 驱动程序和通过 Windows 更新 FMAs ihv。

· Windows解决方案中心:

ihv 可以分发 WBF 组件、 驱动程序和 FMAs 通过自己的网站,这些网站必须 Windows 解决方案中心点。

我们建议供应商分发其 WBF 组件、 驱动程序和通过 Windows 更新 FMAs。 这提高了可维护性和可维护性这些Windows 7 中的组件。

摘要

WBF 提高了质量、 可靠性和生物识别设备驱动程序和相关的组件的可管理性。

在另外 WBF 为软件开发人员提供一个共同的发展平台和组 api,并为用户提供了更加一致的生物识别经验,跨操作系统。虽然仍可使用传统的方法,但 WBF 是访问的首选和受支持的方法 指纹 Windows 7 的生物识别设备

资源

应用程序验证程序

http://msdn.microsoft.com/en-us/library/aa468624.aspx

内核模式驱动程序框架

http://msdn.microsoft.com/en-us/library/aa973499.aspx

尔多斯 f主体的驱动程序

http://msdn.microsoft.com/en-us/library/aa468782.aspx

用户模式驱动程序框架

http://msdn.microsoft.com/en-us/library/aa973500.aspx

WDF 验证程序控制中的应用

http://msdn.microsoft.com/en-us/library/cc264238.aspx

Windows 驱动程序工具包

http://msdn.microsoft.com/en-us/library/aa972908.aspx

Windows 驱动程序模型

http://msdn.microsoft.com/en-us/library/aa490248.aspx

Windows 质量在线服务 (Winqual)

https://winqual.microsoft.com/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB 一对一 Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Dim FTempLen As Integer Dim FRegTemplate As Variant Dim FingerCount As Long Dim FMatchType As Integer Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long Private Sub cmdEnroll_Click() If Trim(TextFingerName.Text) = "" Then MessageBox 0, "请输入指纹名称标识!", "错误", 0 Exit Sub End If ZKFPEngX1.BeginEnroll StatusBar.Caption = "开始登记" End Sub Private Sub cmdIdentify_Click() If ZKFPEngX1.IsRegister Then ZKFPEngX1.CancelEnroll End If StatusBar.Caption = "开始比对(1:N)" FMatchType = 2 End Sub Private Sub cmdInit_Click() If ZKFPEngX1.InitEngine = 0 Then MessageBox 0, "初始化成功!", "提示信息", 0 StatusBar.Caption = "指纹仪连接" TextSensorCount.Text = ZKFPEngX1.SensorCount & "" TextSensorIndex.Text = ZKFPEngX1.SensorIndex & "" TextSensorSN.Text = ZKFPEngX1.SensorSN cmdInit.Enabled = False FMatchType = 0 End If End Sub Private Sub cmdReadMemory_Click() Dim i, p1 As Long, p2 As Long Dim p As Variant Dim s As String p1 = 0 p2 = 23 ZKFPEngX1.DongleMemRead p1, p2, p s = "" For i = LBound(p) To UBound(p) s = s & Chr(p(i)) Next TextRead.Text = s End Sub Private Sub cmdSaveMemory_Click() Dim p1 As Long, p2 As Long Dim p() As Byte Dim i As Integer Dim s As String p1 = 0 p2 = Len(TextWrite.Text) s = TextWrite.Text ReDim p(Len(s)) For i = 0 To Len(s) - 1 p(i) = Asc(Mid(s, i + 1)) Next ZKFPEngX1.DongleMemWrite p1, p2, p End Sub Private Sub cmdSaveImage_Click() Dim sFileName As String sFileName = "C:\Fingerprint" If OptionBmp.Value Then ZKFPEngX1.SaveBitmap sFileName & ".bmp" Else ZKFPEngX1.SaveJPG sFileName + ".jpg" End If MessageBox 0, "文件保存成功(" + sFileName + ")!", "", 0 End Sub Private Sub cmdVerify_Click() If ZKFPEngX1.IsRegister Then ZKFPEngX1.CancelEnroll End If ZKFPEngX1.BeginCapture StatusBar.Caption = "开始比对(1:1)" FMatchType = 1 End Sub Private Sub Form_Load() FingerCount = 0 End Sub Private Sub ZKFPEngX1_OnCapture(ByVal ActionResult As Boolean, ByVal ATemplate As Variant) Dim fi As Long, i As Long Dim Score As Long, ProcessNum As Long Dim RegChanged As Boolean Dim sTemp As String sTemp = ZKFPEngX1.EncodeTemplate1(ATemplate) ATemplate = ZKFPEngX1.DecodeTemplate1(sTemp) StatusBar.Caption = "取得指纹特征" If FMatchType = 1 Then '1:1 If ZKFPEngX1.VerFinger(FRegTemplate, ATemplate, False, RegChanged) Then MessageBox 0, "指纹比对成功!", "信息提示", 0 Else MessageBox 0, "指纹比对失败!", "信息提示", 0 End If 'If ZKFPEngX1.VerRegFingerFile("c:\fingerprint.tpl", ATemplate) Then ' MessageBox 0, "文件指纹比对成功!", "信息提示", 0 'Else ' MessageBox 0, "文件指纹比对失败!", "信息提示", 0 'End If End If End Sub Private Sub ZKFPEngX1_OnEnroll(ByVal ActionResult As Boolean, ByVal ATemplate As Variant) Dim i As Long If Not ActionResult Then MessageBox 0, "指纹登记失败!", "警告", 0 Else MessageBox 0, "指纹登记成功!", "信息", 0 FRegTemplate = ATemplate ZKFPEngX1.SaveTemplate "c:\fingerprint.tpl", ATemplate FingerCount = FingerCount + 1 End If End Sub Private Sub ZKFPEngX1_OnFeatureInfo(ByVal AQuality As Long) Dim sTemp As String sTemp = "" If ZKFPEngX1.IsRegister Then sTemp = "登记状态: 还需要按压" & ZKFPEngX1.EnrollIndex & "次手指!" End If sTemp = sTemp & " 指纹质量" If AQuality <> 0 Then sTemp = sTemp & "不合格: " & AQuality Else sTemp = sTemp & "合格" End If StatusBar.Caption = sTemp End Sub Private Sub ZKFPEngX1_OnImageReceived(AImageValid As Boolean) ZKFPEngX1.PrintImageAt hDC, FrameCommands.Width + 6, FrameCommands.Top, ZKFPEngX1.ImageWidth, ZKFPEngX1.ImageHeight End Sub

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值