论文部分内容阅读
摘 要:对当前ATM应用中的安全缺陷进行了分析,设计了一个基于USBKEY的身份认证系统,并对系统的组成及其功能进行了阐述。讨论了基于USBKEY的认证系统的工作原理,并对身份认证系统的安全性进行了剖析。设计的认证系统克服了传统口令认证的弱点,解决了ATM应用中持卡人身份认证的安全问题。
关键词:TM,PKI,USBKEY,认证系统
中图分类号:F83文献标识码:A文章编号:1672-3198(2008)09-0209-02
1 当前ATM应用的安全隐患分析
当前,ATM 应用的操作过程如下所述。持卡人将银行卡插入ATM,经过ATM 的读卡机检查是否为合法的银行卡后提示输入用户的身份识别码(PIN码),ATM对PIN码格式进行校验无误后,提示用户输入交易类型和交易额,并将这些请求信息发网银行主机。银行主机对请求信息进行校验,验证操作者是否是该卡的合法持卡人。若银行主机对请求信息校验无误后则进行相应的账务处理并向ATM 发出响应信息,ATM则根据主机的响应信息进行单据打印、吐现金、退卡等处理,至此一个完整的ATM交易结束。
以上可以看出,现有的ATM应用对持卡人身份的合法性判断主要采用输入数字的PIN码法,该方法存在多种安全隐患:(1)网络数据流窃听:在ATM 与银行主机之间,通过网络传递的交易请求信息是未经加密或经过简单加密处理的信息,容易被攻击者通过窃听技术窃取用户信息。(2)穷举尝试:攻击者使用有意义的数字作为密码来不断尝试持卡人的密码。如果持卡人的密码是未经过改动的初始密码或一个特殊、容易被分析的数字,则密码很容易被攻击者穷举出来。(3)窥探:攻击者利用与ATM接近的机会,通过安装监视器或亲自窥探合法用户输入口令的过程等方式,以得到持卡人的口令。(4)按键侧录:该程序会使持卡人在使用ATM的同时同步向外发送报告,使持卡人的所有操作都一览无遗,攻击者可以很轻易地获得持卡人的口令。(5)垃圾搜索:攻击者通过搜索合法者持卡人使用过的废弃物,如打印单据等,得到与被攻击系统有关的信息。(6)网络钓鱼:犯罪分子通常会给用户发送一封看似合法的电子邮件或手机短信,要求对方提供银行账号和密码。如果用户将自己的银行账号和密码告之对方,犯罪分子就可以通过自制的银行卡到ATM机上提款。
为解决现有ATM应用的安全隐患,最有效和最直接的办法是防止犯罪分子获取持卡人的口令。然而随着社会的发展,高科技知识的普及,犯罪分子的手段越来越高明,持卡人的口令经常被窃取。因此如何保证在犯罪分子非法获取口令后,持卡人的经济利益不受损害,成为值得研究的热点问题。
2 认证系统实现的理论基础
2.1 PKI
公钥基础设施PKI是利用非对称密码算法来实现并提供安全服务的具有通用性的密钥管理平台。
完整的PKI系统具有认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等五个基本构成部分。认证机构:证书的签发机构,是整个PKJ的核心,是PKJ应用中权威的、可信任的、公正的第三方机构;数字证书库:用于存储己签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;密钥备份及恢复系统:对用户的解密密钥进行备份,当丢失时进行恢复,签名私钥为确保其唯一性而不作备份;证书作废系统:证书由于某种原因需要作废,终止使用,通过证书撤销列表CRL来实现;应用接口(API):完整的PKI必须提供良好的应用接口系统,使得各种应用能够以安全、一致、可信的方式与PKI交互。
2.2 数字证书
数字证书是公开密钥体系的密钥管理媒介,是权威性的电子文档,形同网络环境中的身份证,用于证明某一主体的身份以及其公开密钥的合法性,又称为数字ID。数字证书将证书持有者的身份信息和其所拥有的公钥进行绑定,还包含CA对该证书的签名,该签名保障了证书,也即主体身份的合法性和有效性。证书和对应的私钥一起可以提供诸如身份认证完整性、机密性和不可否认性等安全服务。
2.3 数字签名
签名是证明当事者的身份和数据真实性的一种信息,起到确认、核准、生效和负责任等作用。一个完善的数字签名应满足以下三个条件:
(1)签名者事后不能抵赖自己的签名;
(2)任何其他人不能伪造签名;
(3)如果当事人双方关于签名的真伪发生争执,能够在公正的仲裁者面前通过验证签名来确认其真伪。
利用公开密钥密码可以实现满足以上条件的数字签名,以下是一个通用的数字签名模型;
设e,Kd)>是一个公开密钥密码,M、C分别是明文和密文,E、D分别是加密算法和解密算法,Ke,Kd分别是公钥和私钥。用户A施加数字签名,用户B验证数字签名。
(1)A、B向CA申请证书,故各自的公开密钥Ke均在共享的证书库中,以此作为对方及仲裁者验证签名的依据之一;
(2)A用自己保密的签名密钥KdA对明文M进行签名; SA=D(M,KdA),SA即为A对M的签名。A将SA发送给B,并将SA留底;
(3)B收到SA后,在证书库中查阅A公开的验证签名密钥KeA,对签名进行验证:
E(SA,KeA)=E(D(M,KdA),KeA)=M
验证签名就是恢复明文的过程。如果能恢复出正确的M,则说明SA是A的签名,否则不是。B将收到的SA留底,并用氏B签名一个回送A的回执。
(4)A收到回执后同样验证签名并留底。
由于只有A才拥有签名密钥KdA,而且由公开的KeA在计算上不能求出KdA,所以在第二步的签名操作只有A才能进行,任何其他人都不能做。所以,KdA就相当于A的印章或指纹,SA就是A对M的签名。对此A不能抵赖,任何其他人不能伪造。如果A和B对于签名的真伪发生争执,则他们应向CA出示留底的签名数据,即可验证签名,解决纠纷。
2.4 USBKEY
USBKEY从智能卡技术上发展而来,是结合了现代密码学技术、智能卡技术和USB技术的新一代身份认证产品。
USBKEY的内嵌芯片和芯片操作系统(COS)需要提供私钥的生成、安全存储和公钥密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,USBKEY成为数字证书和签名私钥的安全载体。由于数字证书包括证书拥有者的个人信息、证书拥有者的公钥、公钥的有效期、颁发数字证书的CA、CA的数字签名等,所以网上双方经过相互验证数字证书后,即可确认对方身份的合法性。在进行数字签名时,用来签名的私钥在KEY中产生并保存在KEY中,任何情况不能读出,签名的过程在KEY中完成,比传统方式下在主机端用私钥实现签名更安全可靠。
3 基于USBKEY的认证系统
3.1 认证系统的构成
认证系统主要由USBKEY、认证服务器等几部分组成。USBKEY中下载有持卡人个人数字证书和用来签名的私钥。认证服务器:放置在银行内部,与银行的业务主机协同工作并提供对用户端身份进行认证的专用网络服务器,它同时也完成存储和管理用户数据的功能。
3.2 身份认证的工作原理
每个USBKEY硬件都具有用户PIN 码, 以实现双因子认证功能。USBKEY内置加密算法, 预先在USBKEY中存储一个证明用户身份的私钥,当持卡人需要对ATM进行操作时,首先是身份认证,先由ATM向认证服务器发出一个验证请求。认证服务器接到此请求后生成一个随机数并通过网络传输给ATM。ATM将收到的随机数提供给插在USB接口上的USBKEY, 由USBKEY使用持卡人私钥将该随机数进行加密运算并得到一个结果作为认证证据传送给认证服务器。认证服务器使用存储在服务器数据库中的该持卡人公钥对传回的数据进行解密运算,如果解密后的结果与服务器初始传给ATM的随机数一致,则认为该持卡人是一个合法用户。
3.3 认证系统的安全性分析
3.3.1 双因子认证
每一个USBKEY都具有硬件PIN码保护,PIN 码和硬件构成了持卡人使用USBKEY的两个必要因素,即“ 双因子认证” 。持卡人只有同时取得了USBKEY 和用户PIN码,才可以使用ATM。即使持卡人的PIN 码被泄漏,只要持有的USBKEY不被盗取,合法用户的身份就不会被仿冒;如果持卡人的USBKEY 遗失,获取者由于不知道持卡人的PIN码,也无法仿冒合法用户的身份。
3.3.2 安全的数据存储空间
USBKEY 具有8K- 128K 的安全数据存储空间,可以存储数字证书、用户密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户私钥是不可导出的,杜绝了复制用户数字证书或身份信息的可能性。
3.3.3 硬件实现加密算法
USBKEY 内置CPU 或智能卡芯片,可以实现PKI 体系中使用的数据摘要、数据加解密和签名的各种算法,加解密运算在USBKEY内进行,保证了用户密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。
3.4 认证系统的不足
3.4.1 ATM的硬件系统
ATM并未设置USB外接接口,需对现有ATM进行改装,现有ATM的硬件系统包含计算机主机,因此只需将现有的ATM重新改装,添加一个USB外接接口。由于添加外接USB接口,可能导致犯罪分子由此作为新的犯罪手段,这点需要引起足够重视。
3.4.2 认证的时间效率
现有ATM使用方便快捷,新的认证系统引入后增加了身份认证的时间。对于技术提供方,如何提高算法速度,如何生产出更高性能的USBKEY产品是值得研究的。此外由于网络通信量的增大,网络传输的速度需要加快。
4 结语
总之,随着ATM犯罪的不断上升,中国社会各界正面临着这种犯罪带来的诸多危害,也更加关切如何才能有效预防这种犯罪。采用基于USBKEY技术实现对ATM持卡人的身份认证系统,可以确保用户身份的有效性,更为重要的是,即使持卡人的口令被犯罪分子窃取,该系统也能防止犯罪分子作案,从而极大地保障自助银行业务应用系统的安全性以及持卡人的利益。
参考文献
[1]张焕国,刘玉珍.密码学引论[M].武汉:武汉大学出版社,2003.
[2]卢加元,吴国兵.基于ATM 应用的身份认证系统[J].计算机工程与设计,2007.
[3]王可一.USB Key身份认证技术[J].中国高新技术企业, 2007.
关键词:TM,PKI,USBKEY,认证系统
中图分类号:F83文献标识码:A文章编号:1672-3198(2008)09-0209-02
1 当前ATM应用的安全隐患分析
当前,ATM 应用的操作过程如下所述。持卡人将银行卡插入ATM,经过ATM 的读卡机检查是否为合法的银行卡后提示输入用户的身份识别码(PIN码),ATM对PIN码格式进行校验无误后,提示用户输入交易类型和交易额,并将这些请求信息发网银行主机。银行主机对请求信息进行校验,验证操作者是否是该卡的合法持卡人。若银行主机对请求信息校验无误后则进行相应的账务处理并向ATM 发出响应信息,ATM则根据主机的响应信息进行单据打印、吐现金、退卡等处理,至此一个完整的ATM交易结束。
以上可以看出,现有的ATM应用对持卡人身份的合法性判断主要采用输入数字的PIN码法,该方法存在多种安全隐患:(1)网络数据流窃听:在ATM 与银行主机之间,通过网络传递的交易请求信息是未经加密或经过简单加密处理的信息,容易被攻击者通过窃听技术窃取用户信息。(2)穷举尝试:攻击者使用有意义的数字作为密码来不断尝试持卡人的密码。如果持卡人的密码是未经过改动的初始密码或一个特殊、容易被分析的数字,则密码很容易被攻击者穷举出来。(3)窥探:攻击者利用与ATM接近的机会,通过安装监视器或亲自窥探合法用户输入口令的过程等方式,以得到持卡人的口令。(4)按键侧录:该程序会使持卡人在使用ATM的同时同步向外发送报告,使持卡人的所有操作都一览无遗,攻击者可以很轻易地获得持卡人的口令。(5)垃圾搜索:攻击者通过搜索合法者持卡人使用过的废弃物,如打印单据等,得到与被攻击系统有关的信息。(6)网络钓鱼:犯罪分子通常会给用户发送一封看似合法的电子邮件或手机短信,要求对方提供银行账号和密码。如果用户将自己的银行账号和密码告之对方,犯罪分子就可以通过自制的银行卡到ATM机上提款。
为解决现有ATM应用的安全隐患,最有效和最直接的办法是防止犯罪分子获取持卡人的口令。然而随着社会的发展,高科技知识的普及,犯罪分子的手段越来越高明,持卡人的口令经常被窃取。因此如何保证在犯罪分子非法获取口令后,持卡人的经济利益不受损害,成为值得研究的热点问题。
2 认证系统实现的理论基础
2.1 PKI
公钥基础设施PKI是利用非对称密码算法来实现并提供安全服务的具有通用性的密钥管理平台。
完整的PKI系统具有认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等五个基本构成部分。认证机构:证书的签发机构,是整个PKJ的核心,是PKJ应用中权威的、可信任的、公正的第三方机构;数字证书库:用于存储己签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;密钥备份及恢复系统:对用户的解密密钥进行备份,当丢失时进行恢复,签名私钥为确保其唯一性而不作备份;证书作废系统:证书由于某种原因需要作废,终止使用,通过证书撤销列表CRL来实现;应用接口(API):完整的PKI必须提供良好的应用接口系统,使得各种应用能够以安全、一致、可信的方式与PKI交互。
2.2 数字证书
数字证书是公开密钥体系的密钥管理媒介,是权威性的电子文档,形同网络环境中的身份证,用于证明某一主体的身份以及其公开密钥的合法性,又称为数字ID。数字证书将证书持有者的身份信息和其所拥有的公钥进行绑定,还包含CA对该证书的签名,该签名保障了证书,也即主体身份的合法性和有效性。证书和对应的私钥一起可以提供诸如身份认证完整性、机密性和不可否认性等安全服务。
2.3 数字签名
签名是证明当事者的身份和数据真实性的一种信息,起到确认、核准、生效和负责任等作用。一个完善的数字签名应满足以下三个条件:
(1)签名者事后不能抵赖自己的签名;
(2)任何其他人不能伪造签名;
(3)如果当事人双方关于签名的真伪发生争执,能够在公正的仲裁者面前通过验证签名来确认其真伪。
利用公开密钥密码可以实现满足以上条件的数字签名,以下是一个通用的数字签名模型;
设
(1)A、B向CA申请证书,故各自的公开密钥Ke均在共享的证书库中,以此作为对方及仲裁者验证签名的依据之一;
(2)A用自己保密的签名密钥KdA对明文M进行签名; SA=D(M,KdA),SA即为A对M的签名。A将SA发送给B,并将SA留底;
(3)B收到SA后,在证书库中查阅A公开的验证签名密钥KeA,对签名进行验证:
E(SA,KeA)=E(D(M,KdA),KeA)=M
验证签名就是恢复明文的过程。如果能恢复出正确的M,则说明SA是A的签名,否则不是。B将收到的SA留底,并用氏B签名一个回送A的回执。
(4)A收到回执后同样验证签名并留底。
由于只有A才拥有签名密钥KdA,而且由公开的KeA在计算上不能求出KdA,所以在第二步的签名操作只有A才能进行,任何其他人都不能做。所以,KdA就相当于A的印章或指纹,SA就是A对M的签名。对此A不能抵赖,任何其他人不能伪造。如果A和B对于签名的真伪发生争执,则他们应向CA出示留底的签名数据,即可验证签名,解决纠纷。
2.4 USBKEY
USBKEY从智能卡技术上发展而来,是结合了现代密码学技术、智能卡技术和USB技术的新一代身份认证产品。
USBKEY的内嵌芯片和芯片操作系统(COS)需要提供私钥的生成、安全存储和公钥密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,USBKEY成为数字证书和签名私钥的安全载体。由于数字证书包括证书拥有者的个人信息、证书拥有者的公钥、公钥的有效期、颁发数字证书的CA、CA的数字签名等,所以网上双方经过相互验证数字证书后,即可确认对方身份的合法性。在进行数字签名时,用来签名的私钥在KEY中产生并保存在KEY中,任何情况不能读出,签名的过程在KEY中完成,比传统方式下在主机端用私钥实现签名更安全可靠。
3 基于USBKEY的认证系统
3.1 认证系统的构成
认证系统主要由USBKEY、认证服务器等几部分组成。USBKEY中下载有持卡人个人数字证书和用来签名的私钥。认证服务器:放置在银行内部,与银行的业务主机协同工作并提供对用户端身份进行认证的专用网络服务器,它同时也完成存储和管理用户数据的功能。
3.2 身份认证的工作原理
每个USBKEY硬件都具有用户PIN 码, 以实现双因子认证功能。USBKEY内置加密算法, 预先在USBKEY中存储一个证明用户身份的私钥,当持卡人需要对ATM进行操作时,首先是身份认证,先由ATM向认证服务器发出一个验证请求。认证服务器接到此请求后生成一个随机数并通过网络传输给ATM。ATM将收到的随机数提供给插在USB接口上的USBKEY, 由USBKEY使用持卡人私钥将该随机数进行加密运算并得到一个结果作为认证证据传送给认证服务器。认证服务器使用存储在服务器数据库中的该持卡人公钥对传回的数据进行解密运算,如果解密后的结果与服务器初始传给ATM的随机数一致,则认为该持卡人是一个合法用户。
3.3 认证系统的安全性分析
3.3.1 双因子认证
每一个USBKEY都具有硬件PIN码保护,PIN 码和硬件构成了持卡人使用USBKEY的两个必要因素,即“ 双因子认证” 。持卡人只有同时取得了USBKEY 和用户PIN码,才可以使用ATM。即使持卡人的PIN 码被泄漏,只要持有的USBKEY不被盗取,合法用户的身份就不会被仿冒;如果持卡人的USBKEY 遗失,获取者由于不知道持卡人的PIN码,也无法仿冒合法用户的身份。
3.3.2 安全的数据存储空间
USBKEY 具有8K- 128K 的安全数据存储空间,可以存储数字证书、用户密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户私钥是不可导出的,杜绝了复制用户数字证书或身份信息的可能性。
3.3.3 硬件实现加密算法
USBKEY 内置CPU 或智能卡芯片,可以实现PKI 体系中使用的数据摘要、数据加解密和签名的各种算法,加解密运算在USBKEY内进行,保证了用户密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。
3.4 认证系统的不足
3.4.1 ATM的硬件系统
ATM并未设置USB外接接口,需对现有ATM进行改装,现有ATM的硬件系统包含计算机主机,因此只需将现有的ATM重新改装,添加一个USB外接接口。由于添加外接USB接口,可能导致犯罪分子由此作为新的犯罪手段,这点需要引起足够重视。
3.4.2 认证的时间效率
现有ATM使用方便快捷,新的认证系统引入后增加了身份认证的时间。对于技术提供方,如何提高算法速度,如何生产出更高性能的USBKEY产品是值得研究的。此外由于网络通信量的增大,网络传输的速度需要加快。
4 结语
总之,随着ATM犯罪的不断上升,中国社会各界正面临着这种犯罪带来的诸多危害,也更加关切如何才能有效预防这种犯罪。采用基于USBKEY技术实现对ATM持卡人的身份认证系统,可以确保用户身份的有效性,更为重要的是,即使持卡人的口令被犯罪分子窃取,该系统也能防止犯罪分子作案,从而极大地保障自助银行业务应用系统的安全性以及持卡人的利益。
参考文献
[1]张焕国,刘玉珍.密码学引论[M].武汉:武汉大学出版社,2003.
[2]卢加元,吴国兵.基于ATM 应用的身份认证系统[J].计算机工程与设计,2007.
[3]王可一.USB Key身份认证技术[J].中国高新技术企业, 2007.