生物特征识别系统安全加固方法

2018-12-22 07:40王金海陈泓宇戴华林
计算机工程与设计 2018年12期
关键词:保密性数字签名加密

王金海,陈泓宇,崔 军+,戴华林

(1.天津工业大学 电子与信息工程学院,天津 300387; 2.天津城建大学 计算机与信息工程学院,天津 300384)

0 引 言

生物特征识别(biometric authentication)相关标准[1-4]定义了此类系统的总体结构框架,包含注册、验证和身份识别3种工作状态,指出了生物特征数据的来源与去向。生物特征识别系统的安全性问题已成为当前研究的热点方向。系统的安全性是指系统硬件、软件及数据能受到保护,不会因偶然或故意攻击遭到破坏、篡改和泄露,可保证系统安全、连续正常运行[5]。其中完整性和保密性是系统安全很关键的标准特征[6]。

以指纹识别系统为例,目前市场上常见的指纹识别系统均以系统内保存的特征模板作为身份识别的基础,而特征模板的关键参数则是指纹的细节点的位置、方向等信息[7],可能导致用户身份安全性和隐私性受到威胁。Ratha等[8]对生物特征识别系统易受到的攻击进行了具体分析,包括重放攻击、模板攻击等8类。通过对Elisardo等[9,10]提出的应用BioAPI接口技术的生物特征识别系统的分析与研究,发现BioAPI接口具有快速适配众多应用系统和采集设备的优点,但是较少关注其系统安全性,导致生物特征模板和系统处理结果易受到泄露与篡改,威胁系统安全。

本文针对应用BioAPI接口的生物特征识别系统在数据传输方面存在的安全问题,提出了一种安全加固方法。该方法在系统客户端与服务端中内嵌安全模块,并兼容BioAPI。使用数字签名和数字信封技术,提升生物特征数据的保密性和完整性,保证传输安全,避免泄露与篡改。同时给出相应安全模块工作原理,最后提出改进后的生物特征识别系统的实现过程及安全性分析。

1 基础知识

1.1 数字签名

数字签名技术常用于解决网络通信过程中发生伪造和篡改等安全问题[11]。用户可以公开公钥,并严密保护私钥。任何人均可利用公开的公钥验证签名者签名的正确性,但仅依靠公钥无法伪造签名者的有效签名[12]。数字签名处理过程如图1所示。

本文依据文献[15]所引用的符号定义,对应使用在本文的加密函数、解密函数、签名函数等函数及常量中。式(1)和式(2)代表数字签名的签名及验签过程

(m,δ)=Sigprikey(m)

(1)

r=Verpubkey(m,δ)

(2)

1.2 数字信封

数字信封[13]是一种使用对称加密体制的安全加固方法,用于预防在公开网络传输上存在的数据泄露的安全威胁,降低数据泄露的风险。此外,通过在数字信封上增加签名操作,加入非对称加密体制,能够充分发挥两种不同加密机制的优势,使系统保密性和完整性得到提升。其中保密性体现在数字信封使用对称密钥加密原文及公私钥对加密对称密钥。完整性则体现在使用数字签名对数字信封进行签名操作。将数字签名及数字信封两种加密方式进行有机结合,提升信封的完整性和可信性。与对信封签名前相比,签名后的数字信封不仅保证数据密文传输,同时还可以通过签名保证信封的完整性,预防加密数据及信封在传输过程中遭到泄露与篡改。图2是签名数字信封的封装及解封过程。

图2 签名数字信封封装及解封过程

文献[15]中已给出了签名数字信封具体的封装加密和解封还原过程中主要过程及具体步骤。式(3)~式(5)代表数字信封封装阶段协议

(3)

A=c+C

(4)

(A,δ)=Sigprikey_sig&ver(A)

(5)

式(6)~式(8)代表信封解封阶段协议

r=Verpubkey_sig&ver(A,δ)

(6)

c+C=A

(7)

(8)

2 生物特征识别系统安全应用框架及加固方法

2.1 BioAPI接口的生物特征识别系统安全框架

通过对Elisardo等应用BioAPI接口设计的生物特征识别系统的分析与研究,应用BioAPI接口的生物特征识别系统的优势在于该系统能够发挥BioAPI应用编程接口的优点,同时在接口内定义了多种功能函数,包括用于数据采集的BioAPI_ControlUnit()函数和用于图像处理的BioAPI_Capture()函数等。按照相关标准[4]中的描述可知,通过调用接口内部诸多函数,可实现特征提取、模板生成等功能[14]。该系统主要包含数据采集、模板数据提取、数据压缩打包发送、解压还原后的注册/验证和结果共享等多个步骤,具体实现过程已在文献[15]中阐述。

但是该系统在实际应用过程中,还需依赖公开网络进行模板和注册/验证结果的传输。依据相关安全标准[4]对Elisardo等所提系统进行安全性评估后,可知系统主要存在下列安全问题:①无法体现保密性:由于系统客户端到系统服务端之间使用公开网络进行数据传输,同时,在传输过程中,特征模板作为系统的核心数据,未进行加密操作,仍为明文状态。易受到攻击,导致数据泄露,不满足保密性要求;②无法体现完整性:除模板数据外,由特征模板进行注册或验证的结果也在公开网络传输,但在传输过程中均缺乏对数据的签名,导致数据存在易被攻击者替换或篡改的安全威胁,缺乏对数据完整性的保护综上,本文针对以上两点对系统提出了一种安全加固方法,并对应用BioAPI接口实现数据传输的方式进行了改进。

图3给出了兼容BioAPI的安全应用框架,通过在客户端和服务端侧嵌入安全模块和保存私钥的密码模块,并将数据输入/输出接口与BioAPI接口相连。利用签名数字信封及数字签名技术,将对称和非对称密码体制应用到改进后系统中。实现加密传输及数字签名,保护生物特征模板数据与注册/验证结果安全。

图3 兼容BioAPI的安全应用框架

2.2 安全加固方法

本文所提出的安全加固方法有以下创新之处:①在文献[9]所提系统框架的基础上,在系统客户端与服务端侧添加用于实现对模板和注册/验证结果加密的安全模块,并在其内部使用数字信封及数字签名技术对数据进行加密,提升传输数据的保密性与完整性;②新增的安全模块同时兼容BioAPI接口,在其内部保存用于信封加解密及签名操作所使用的公私钥对。实现私钥达到仅在计算过程中被调取参与计算,私钥不传输,不脱离安全模块的效果[15]。从而有效解决文献[9]系统中所存在的数据未加密传输的安全问题。系统注册及验证阶段的过程如图4所示,系统整体涉及三大主要模块,分别是系统客户端、系统服务端和模板数据库。

(1)注册阶段

注册阶段主要包含数据采集、传输信封封装、传输信封解封及身份注册4部分。在传输信封封装/解封过程中,使用含签名的数字信封技术,使用随机生成的对称密钥对特征模板进行加解密操作,并使用传输公私钥对实现信封的签名与验签;在身份注册过程中,依靠签名公私钥对实现对注册结果的签名与验签。

具体注册阶段实现过程已由文献[15]中给出,在此不再赘述。

本文依据文献[15]所引用的符号定义,对应使用在本文的加密函数、解密函数、签名函数等函数及常量中。式(9)~式(16)代表注册阶段协议。

Client→Server

(9)

A=c+C;(A,δ)=SigCpri(A)

(10)

Server

VerCpub(A,δ)=r

(11)

(12)

m=Dk(C)

(13)

R=Enroll(m)

(14)

Server→Client

(R,δ′)=SigSpri(R)

(15)

Client

r′=VerSpub(R,δ′)

(16)

(2)验证阶段

验证阶段主要包含数据采集、传输信封封装、传输信封解封及系统验证4部分。其中验证阶段所涉及的数据采集、信封封装及信封解封部分,与注册阶段一致。在系统验证过程中,使用签名公私钥对实现对验证结果的签名与验签功能。

系统验证过程具体步骤,在文献[15]中也已给出,在此不再阐述。式(17)~式(24)代表验证阶段相关协议。

Client→Server

(17)

B=c+C;(B,δ)=SigCpri(B)

(18)

Server

VerCpub(B,δ)=r

(19)

(20)

m′=Dk(C)

(21)

R=Match(m,m′)

(22)

Server→Client

(R,δ′)=SigSpri(R)

(23)

Client

r′=VerSpub(R,δ′)

(24)

另外,由于安全模块内嵌于系统中,且涉及私钥的相关计算均在安全模块内部进行,因此安全模块除加密保护模板外,还保护了私钥。

3 系统实现与安全分析

3.1 系统实现过程

本文所提出的安全加固方法中涉及在系统中客户端与服务端所增加的安全模块(security module),需兼容BioAPI接口,其中包含一组随机对称密钥k、客户端内的公私钥对Cpub/Cpri;服务端内的公私钥对Spub/Spri[15]。

改进后系统针对数据在传输过程中缺乏加密的问题,对BioAPI接口的数据传输方式进行了优化,降低模板数据与注册/验证结果遭受泄露或篡改的安全风险。同时保留了BioAPI接口所具有的兼容性强和集成方便的优点。图5为应用安全模块和BioAPI的系统实现过程:

整个过程可分为6个部分:包括模板数据采集与生成、模板压缩与签名信封封装、信封传输、签名信封解密与模板还原、模板注册/验证、注册/验证结果的签名发送与验签。

在系统实现过程中,调用了BSP采集生物特征,并调用了BioAPI中的BioAPI_ControlUnit()函数、BioAPI_Capture()函数、BioAPI_QueryUnits()函数、BioAPI_LinkToPoint()函数、BioAPI_CreateTemplate()函数和BioAPI_VerifyMatch()函数,与签名数字信封和数字签名技术相结合,共同保障数据传输的安全性。

系统实现的具体过程在文献[15]中进行了详细说明,这里不再阐述。

BIR[14]文件是BioAPI接口下定义的数据传输文件,由BioAPI_BIR_HEADER,BDB(BioAPI_DATA_BiometricData)和一个可选的SB(security block)组成,其中头文件中包含数据类型,特征类型和是否包含子类。BIR文件数据格式详情见文献[15]中的表3-1。

图5 应用安全模块和BioAPI的系统实现过程

由于BIR文件中BDB支持数据加密,SB用于进行签名操作。本文在BDB数据段中使用支持加密的BioAPI_BIR_Biometric_DATA_FORMAT类型,同时选择将签名值存放在SB内。而文献[9]中BDB段数据使用的是未加密的数据类型BioAPI_BIR_DATA_TYPE,且SB为空,不能体现保密性和完整性。文献[15]中的表3-2为使用加密方法前后BioAPI接口函数格式内容的对比。从该表中可看出,本方法通过对模板加密体现保密性,通过签名数字信封及结果签名体现完整性。

3.2 安全性分析

本文针对应用BioAPI接口设计的生物特征识别系统在数据传输过程中由于缺乏加密与签名而导致模板数据与注册/验证结果存在的隐私泄露和数据篡改等安全隐患,在兼容BioAPI接口的基础上,在系统客户端与服务器侧添加了安全模块,通过数字签名和签名数字信封实现对模板及结果的加密与签名。从保密性、和完整性两个方面提升了系统的安全性。

从保密性角度看,由于原系统客户端到系统服务端之间使用公开网络进行数据传输,且在传输过程中,特征模板作为系统的核心数据,未进行加密操作,仍为明文状态。缺乏对模板的加密传输,使模板数据存在数据泄露的风险。因此,使用签名数字信封对生物特征数据进行加密传输后,传输过程中所发送的模板数据均为密文。同时,由于安全模块内嵌于系统客户端和服务端内部,使加解密计算过程均为封闭环境,保证存储在安全模块中的公私钥对不泄露,提升数字信封的安全,体现保密性的增强。

从完整性角度看,由于原系统未引入数字签名技术,导致模板及结果在传输过程中存在被篡改的安全威胁,本文基于此,使用数字签名技术对模板数据及结果进行签名,能够降低被篡改的风险,保证数据方来源的准确性和数据完整性,体现完整性的增强。

4 结束语

本文所提出的安全加固方法主要体现在使用数字信封和数字签名技术实现系统的加密传输,从而有效解决应用BioAPI接口的生物特征识别系统存在的隐私泄露和数据篡改等安全问题,同时在提升系统保密性与完整性的基础上,仍兼容BioAPI接口在生物特征识别系统中功能。之后给出了本文提出的安全方法在现有系统中加固实现细节,包含BioAPI内各接口调用方法和安全模块与接口间的安全数据传输格式。最后依据相关安全标准[4],对系统保密性和完整性的提高进行理论验证与分析,在兼容BioAPI接口的同时全面提升系统安全性。由于本文所提安全加固方法主要提升了系统保密性和完整性,但是没有考虑如何确保系统参与者的真实性与不可否认等安全要求,后续将继续深入研究系统与PKI/CA 等数字证书体系的结合,进一步提升系统安全性的同时提升系统的使用价值。

猜你喜欢
保密性数字签名加密
一种新型离散忆阻混沌系统及其图像加密应用
基于正交拉丁方理论的数字签名分组批量验证
“以人为本,质量优先”处理方式在保密性弃血中的应用及结果分析
交通运输行业数字签名系统的设计与实现分析
浅析计算机安全防护中数字签名技术的应用
一种基于熵的混沌加密小波变换水印算法
加密与解密
家族信托的私密性保障问题解析
掌握方法用好数字签名
商事仲裁裁决公开的现实困境及理论路径