基于指纹识别和智能卡的安全电子报税系统
文章出处:http://www.singbon.com 作者:陈平, 孙宏伟, 顾明 人气: 发表时间:2011年09月30日
电子报税是电子政务建设的组成部分。在电子报税系统中,税务机关结合自身的信息管理系统,利用现代信息技术,特别是互联网技术,实现与纳税人之间远程涉税信息的数据交换,并与银行和国库联网,为纳税人提供全面、方便、快捷、高效的电子化申报和纳税服务。由于税务机关根据纳税人通过电子报税系统传输的报税数据进行电子扣款,因此对纳税人进行身份认证、对报税信息进行加密传输和数字签名尤为重要。
为了解决报税系统的安全问题,数据加密、数字签名等安全技术已经应用到了电子报税系统中。这些技术虽然保证了报税信息在传输和存储的过程中是基于密文的,但是用来对报税信息加密和数字签名密钥的安全问题并没有解决:密钥往往存储在报税系统的收发终端或者税务机关的CA服务器上,随着网络攻击技术的发展,目前保存密钥的方法会对电子报税系统的安全产生严重的威胁。而且目前系统中纳税人身份认证问题仅仅通过用户名和口令的方式加以解决,该办法不仅不能提供双向认证,而且一旦用户名和口令泄漏,将给纳税人和税务机关造成重大的损失。为了解决电子报税系统的身份认证、密钥管理方面存在的安全问题,本文提出了一种基于指纹识别和智能卡技术的安全解决方案。
1 相关工作
1.1.1 基于PKI的电子报税系统安全方案
(1)注册阶段
在注册阶段,将纳税人的相关信息存入客户端。存入的信息包括纳税人基本信息、数字证书、私钥、服务器端公钥、MD5摘要算法以及RSA加密算法等。税务端的服务器进行密钥管理。密钥管理服务器运行密钥管理服务软件,实现备份密钥、注册密钥和归档密钥的管理,密钥发放、作废和恢复申请的认证及授权,密钥的生成、发放、注册、注销、归档和恢复,密钥管理员、RA管理员和设备的注册与管理,密钥管理日志的记录,密钥管理中心的管理和维护等功能。在密钥生成和发放后,为保证密钥的安全,可将纳税人的密钥直接销毁,只需保存纳税人的公钥信息。在服务器上,可利用操作系统和数据库本身的安全机制来保障密钥、证书等信息的安全。
(2)认证阶段
使用电子报税系统的每个纳税人持有一对公钥和私钥,完成对数据的加密、解密、签名、验证签名等相关操作。如果用Pubi ( i = c, s)表示纳税人(下标用c表示)和税务机关(下标用s表示)的公钥; Prii ( i = c, s)表示纳税人和税务机关的私钥;
Pube i ( x) ( i = c, s)表示用公钥对内容x加密; Pubd i ( x) ( i = c, s)
表示用公钥对内容x解密; Prie i ( x) ( i = c, s)表示用私钥对内容x加密; Prid i ( x) ( i = c, s)表示用私钥对内容x解密;MD5 ( x)表示对内容进行MD5摘要处理; DESe ( k, x)表示用密钥k对内容x进行DES加密;DESd ( k, x)表示用密钥k对内容x进行DES解密[3 ]。
纳税人对生成身份认证信息过程如图1左侧所示。①纳税人输入用户名和口令信息p,并随机生成DES加密密钥k; ②将p和k组合成a; ③利用税务机关的公钥Pubs 对a加密得到ea; ④对ea进行MD5摘要处理得到结果m, 以纳税人的私钥Pric 对m 加密得到em; ⑤将内容ea和em 连接在一起形成认证信息sm,并直接把sm 发送到税务机关报税服务器。
税务机关对纳税人进行身份认证的过程如图1如下所示。
①将收到的认证信息sm 分成ea和em 两段; ②用纳税人的公钥Pubc 对em 解密得到m,同时利用MD5算法对ea进行摘要处理得到m n; ③比较m n和m 的内容, 如果不同, 则证明认证信息在传输过程中发生了改变,将该认证信息丢弃,并通知纳税人;如果相同,利用税务机关的私钥Pris 对ea解密,并将ea分离为p和k,将p与服务器中的用户名和口令比较,如相符,将k作为本次交易的DES密钥,否则通知纳税人口令有误。
(3)传输阶段
纳税人生成报税信息过程如图2左侧所示。①纳税人发送方撰写报税信息c; ②以k为密钥对报税信息进行DES加密,得到密文形式的报税信息ec; ③对ec进行MD5摘要处理得到结果m,以纳税人的私钥Pric 对m 加密得到em; ④将内容ec和em 连接在一起形成报税信息sm,把sm 发送到税务机关报税服务器。
税务机关接收报税信息流程如图2右侧所示。①将收到的报税信息sm 分成ec和em 两段; ②用纳税人的公钥Pubc 对em 解密得到m,同时利用MD5算法对ea进行摘要处理得到m n; ③比较m n和m 的内容, 如果不同, 则证明报税信息在传输过程中发生了改变,将该报税信息丢弃并通知纳税人;如果相同,则以k为密钥对ec进行DES解密,得到报税信息c。
现有的方案存在以下缺陷:私钥等敏感信息存放在纳税人端,容易被破解;如果纳税人的私钥被他人获得,整个系统就无安全性可言;由于用户名泄漏,攻击者可以假冒他人进行登录;用户的保密意识不强,口令容易泄漏;口令容易被猜测,同时由于没有锁定机制,攻击者可以采取强攻击的手段进行口令的不断猜测;一旦攻击者获得服务器数据库中的用户/口令表,则获得了所有用户的口令。
1.1.2 智能卡技术
智能卡是由一个或多个集成电路芯片(包括固化在芯片中的软件)组成的设备,可以安全地存储密钥、证书和用户数据等敏感信息,防止硬件级别的窜改。智能卡芯片在很多应用中可以独立完成加密、解密、身份认证、数字签名等对安全较为敏感的计算任务,从而能够提高应用系统抗病毒攻击以及防止敏感信息的泄漏。
根据智能卡组成结构的不同,可以分为三类:
(1)一般存储卡。其内嵌芯片相当于普通串行E2 PROM,本身不具备信息保密功能,只能用于保密性要求不高的应用场合。
(2)加密存储卡。其内嵌芯片在存储区外增加了控制逻辑。在访问存储区之前需要核对密码,一般用于需要进行简单保密要求的应用场合。
(3) CPU卡。其内嵌芯片相当于一个特殊类型的单片机,内部除了带有控制器、存储器、时序控制逻辑等外,还带有算法单元和操作系统,被广泛应用于信息安全性要求特别高的场合。
使用智能卡具有以下优点: ①私钥不可读。智能卡的软硬件设计严格控制用户私钥的使用权限,只能在满足条件时方可使用,保护了私钥的安全性。②卡内签名、验证。私钥的签名、验证功能一律在卡内实现,不存在传输中私钥泄漏的可能性。由于智能卡具有以上特点,在电子报税系统中引入智能卡技术可以大大提高系统的安全性。
1.1.3 指纹识别技术
由于人体指纹特征具有较高的稳定性、独特性以及可接受性和易获得性,加上指纹识别技术的不断成熟,可以利用指纹特征进行身份认证。在指纹识别算法中比较流行的是基于细节特征(Minutiae)的指纹识别,细节是指纹图像中脊线的分支和末梢。
指纹识别技术主要包括读取指纹图像、指纹图像预处理、指纹图像特征提取、保存和比对。①通过指纹读取到人体指纹的图像,取得指纹图像之后,对原始图像进行初步的处理,降低噪声使之更清晰。②提取特征数据,它是一种单方向的转换,可以从指纹转换成特征数据,但不能从特征数据转换成指纹,而两枚不同的指纹不会产生相同的特征数据。③通过计算机模糊比较的方法把两个指纹的特征数据进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果。可以将指纹特征模板保存在服务器上,当用户登录时,将新采集到的指纹信息与在计算机中储存的指纹特征模板进行比较来认证用户的身份。
2 基于指纹识别和智能卡技术的电子报税系统安全方案
2.1.1 注册阶段
税务机关发放智能卡时,将纳税人的相关信息写入卡内。
卡内写入的信息包括纳税人基本信息、数字证书、私钥、服务器端的公钥、MD5摘要算法以及RSA[ 7 ]加密算法等。由于智能卡设有唯一标志号和PIN码,并且在身份认证阶段还需要进行指纹信息的比对,这样在很大程度上避免了盗用智能卡带来的安全问题。
税务端服务器上存储了所有纳税人的公钥信息和指纹信息。服务器上面的公钥数据是用来被所有用户访问的,而且对安全性的要求较低,所以可以依靠操作系统和数据库系统的安全性来解决。另外,如果某个纳税人的智能卡丢失,当纳税人挂失智能卡的时候要将用户的证书吊销,这样需要在服务器上维护一个证书吊销列表来控制证书的回收。私钥在生成之后直接写入用户所持有的智能卡中,在发卡机构不保存副本,这样最大程度地保证了电子报税系统的安全。依靠操作系统和数据库系统的安全性,并且对指纹信息进行适当加密,可以保证指纹信息的安全性。
由于智能卡内处理器能力的限制,使用中主要利用智能卡处理一些小数据量的敏感信息,如对密钥的加密等。通过DES对大量报税数据的加、解密处理则是在客户端上实现的,这样可以扬长避短,既达到了足够的安全性,又充分地利用了客户端系统DES加密、解密速度快的优点,实现电子报税系统较快的响应时间。
2.1.2 认证阶段
纳税人端生成认证信息的流程如图3左侧所示。
(1)纳税人将智能卡插入读卡器,并输入PIN码;
(2)采集指纹信息,并进行图像预处理增强和细节抽取,生成指纹特征信息( f) ;
(3)利用采集到的指纹信息作为种子生成DES加密密钥k;
(4)将f和k组合成a;
(5)利用税务机关的公钥Pubs 对a加密得到ea;
(6)对ea进行MD5摘要处理得到结果m,以纳税人的私钥Pric 对m 加密得到em;
(7)将内容ea和em 连接在一起形成加密、签名后的认证信息sm,并直接把sm 发送到税务机关服务器。
灰色框中的处理步骤是纳税人以私钥Pric 加密认证信息MD5摘要处理结果,是在智能卡内进行的。纳税人身份的认证过程如图3右侧所示。
(1)税务机关将收到的报税信息sm 分成ea和em 两段,用纳税人的公钥Pubc 对em 解密得到m。
(2)利用MD5算法对ea进行摘要处理得到m n, 比较m n和m 的内容。如果不同,则证明认证信息在传输的过程中发生了改变,将该信息丢弃,并通知纳税人;如果相同,利用税务机关的私钥Pric 对ea解密,得到a。
(3)将a分离成f和k。
(4)将注册指纹信息f与服务器中存储的信息进行细节匹配:
①如果匹配通过,则纳税人的身份得到确认。对注册指纹信息f进行摘要处理,并利用税务机关的私钥Pris 和纳税人的公钥Pubc 对该信息进行加密,发送到纳税人端(如图4左侧所示)。
②如果不能匹配,则纳税人的身份不符,并通知纳税人。灰色框中的处理步骤是税务机关私钥Pris 对ea解密的过程也在智能卡内进行的。
税务机关身份的认证过程如图4右侧所示。纳税人端在收到返回的认证信息后,利用纳税人的私钥Pric 和税务机关的公钥Pubs 对摘要信息进行解密,并将其与客户端已有注册指纹信息的摘要进行比对。如相符,则税务机关的身份得到确认。至此,双方身份都得到验证。
2.1.3 传输阶段
在图5的报税信息发送处理流程中: ①对报税信息进行加密处理,得到ec; ②对于ec进行MD5摘要处理,得到m; ③用纳税人的私钥Pric 和税务机关的公钥Pubs 对m 进行两次加密处理。这个步骤是在智能卡内处理,加密之后再将结果返回给卡外信息发送程序。这样外部的程序就不能直接访问用户的私钥,从而可以在最大程度上保证私钥的安全性。
在报税信息接收处理流程中,以纳税人的公钥Pubc 和税务机关私钥Pris 对em 解密的过程也在卡内进行。外部程序将em 发送给智能卡,经过卡内解密得到m 返回给外部程序,纳税信息的DES解密过程在外部客户端实现,同样避免了外部程序直接访问到税务机关的私钥,最大限度地提高了系统的整体效率和安全性。
3 安全性分析
本文提出的基于指纹识别和智能卡技术的电子报税方案中,将指纹识别和智能卡技术运用到了身份认证、报税信息的存储和传输中,具有以下特点和安全性:
(1)系统的终端中引入了具有自主计算功能的智能卡,实现用户私钥的硬件级别的防止窜改。将用户基本信息、数字证书和私钥等信息存储到卡内之后,进行数据的加密、解密和签名等操作。私钥不出卡,保证了私钥的安全,从而提高了整个系统的安全性。
(2)利用指纹特征进行身份认证。在认证阶段,将用户的指纹信息与服务器端的指纹特征信息进行比对,即便非法用户获得了合法用户的智能卡和口令,由于缺少必须的指纹信息,也无法登录税务机关的服务器。
(3)实现了双向认证。在税务机关服务器验证了纳税人的登录请求后,向纳税人端传送特定的认证信息,纳税人端可以识别其身份。只有双方的认证都通过,纳税人才能登录到税务机关的服务器。
(4)将指纹特征作为DES密钥产生种子。在纳税人进行登录时,必须提供指纹信息,而每次登录采集到的指纹信息是不相同的,因此根据每次登录时提供的指纹信息来产生DES密钥可以保证该DES密钥是一次性的。
综合以上分析,该方案能够实现税务机关与纳税人之间的双向身份认证,有效地解决了报税信息的传输问题,提高了电子报税系统的安全性和实际运行过程中的效率。
4 结论
要实现安全的电子报税服务,进行身份认证并且对报税信息加密和签名处理是必不可少的。本文提出基于指纹识别和智能卡技术的电子报税系统安全方案,在纳税人端和服务器端引入智能卡技术,保证密钥等机密信息的安全;在纳税人登录时引入指纹识别技术,实现交易双方的双向身份认证,最大限度地降低了系统的安全隐患,可以在不改变原有电子报税系统体系结构的前提下有效地解决身份认证和数据传输过程中的安全问题。安全分析表明,该方案能够有效地提高身份认证和数据传输中的安全问题。在下一步的工作中,我们将进一步研究智能卡内的高效加密算法,以提高整个系统的运行效率。
(文/清华大学软件学院, 陈平, 孙宏伟, 顾明)