设计安全应用程序的开发人员需要面对很多问题:软件必须足够可靠,这样它才不会很轻易就崩溃;关键的数据必须以加密的形式保存和传输;你可能还需要提供安全的方式来限制对应用程序的访问。密码是进行访问控制的传统方法,但是它们有很多缺点,包括用户不喜欢使用密码,很少更改密码,选择不牢靠的密码等,甚至会由于习惯把密码抄下来,从而让问题更加复杂。
对替代方法的需要导致了对更好验证方法的强烈需求——更好的方法应该是用户不会忘记或者丢失,而且永远都不需要更改的方法。在支持成本上的下降是巨大的——甚至可以高达200美元每用户每年。
生物测定法就可以满足这种要求。过去几年里,技术的飞速进步使其适合于保证很多应用程序的安全。
用生物测定法来验证用户的一个主要不足之处是,用户的某些生理特性可能会发生改变。例如,根据人的言语模式或者键盘敲击的习惯来识别不同的人是一种简单的方法,但是有的时候,一次很平常的过敏症或者不小心割到了手,都可能造成用户无法访问应用程序。
为了实施生物测定,你需要选择一个有多种模式的(安全检测)系统,它利用多种无关联的验证方法(来进行验证)。在需要极其安全的情况下,这些方法可以结合在一起,但是它们通常都是作为可选方法来实现的,也就是说用户需要注册多种生理特性(例如,指纹、键盘敲击习惯,以及言语模式等),并能够用其中的任何一种来识别身份。
如何将生物测定硬件和你的应用程序集成到一起是一个大问题。解决方案就是生物测定中间件,它会把模板或者其他来自生物测定硬件的输入转换成操作系统或者应用程序能够处理的格式。一个很有希望的选择是BioAPI,它正在被联邦政府和60个生产商接受为共同认可的标准。BioAPI用C语言写成,它包括了一些基本的功能,允许程序员登记用户并验证他们。
在规划生物系统的时候,登记(enrollment)常常被忽略掉了,但是在转移到基于生物测定安全方案的时候,这是必不可少的。对于很多实施方案而言来说,实施生物测定法的最大成本不在于硬件或者软件,而在于将每个当前用户和新用户进行登记所需要的成本。
将生物测定法和应用程序集成在一起通常要使用UNIX系统上的可插拔验证模块(Plugable Authentication Module),或者Windows平台上的某些图形识别和验证动态链接库(Graphical Identification and Authentication Dynamic Link Library,MSGINA.DLL)。Novell和其他一些厂商提供了自己的方案DLL,NWGINA;一个系统甚至可以包括多个GINA DLL。但是如果系统自身就不安全,那么你就必须暂时地为你的应用程序开发一个接口,但这被证明很困难。
生物测定法在让系统和应用程序更安全上显示了巨大的希望,同时能够减少和使用密码相关的支持费用。它(BioAPI)很快就会被广泛地接受成为帮助将生物测定法集成到应用程序里的标准,但是对于现在而言,尽管这项技术具有高可靠性且相对较便宜,但是它仍处于发展的初期。问题出在标准的缺乏上;而且一个厂商的硬件可能无法可靠地工作在另一个厂商的软件上,所以开发人员需要仔细评估他们要选择哪家的硬件和中间件。
要获得生物测定法的一些背景知识,见BioAPI联盟的网站。你还可以看看如何在企业环境里实现生物测定法的这个演示片。
本文作者 :John McCormick是安全顾问和IT领域里的作家,发表过超过15,500文章。