基于智能卡与 PKI的安全文件传输软件设计
2015-07-18张晓宇
张晓宇
摘要:该文主要讲解的方案是如何通过智能卡与PKI进行安全文件传输,并进行了软件设计,该方案在传输文件的时候对数据进行了加密,以及客户端与服务器两方都需要进行身份认证,该方案很大程度上提高了FTP的安全性。
关键词:网络安全;FTP;PKI;智能卡;SSL
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)12-0251-02
Design of Secure File Transfer Software Based on Smart Card and PKI
ZHANG Xiao-yu
(Department of Computer, College of Information Security Engineering,Shanghai Jiao Tong University, Shanghai 200030, China)
Abstract: Article mainly explain how solution by PKI with smart card security file transfer, and the software design, the scheme of data when transferring a file encryption, and both the client and server requires authentication, the solution greatly improved the security of the FTP.
Key words: network security;FTP;PKI;smart card; SSL
1 智能卡与 PKI 结合的优点
认证中心是掌握着所有实体所需的数字证书,它是PKI最核心的环节,是可信的认证中心。认证中心颁发的数字证书在PKI中站着重要位置,它就像人的“身份证”。一但身份证里面的磁卡消磁,将无法使用。而认证中心颁发的软盘保存证书,就是软盘的“身份证”并进行保护,而软盘是较为被损坏的,一经损坏,数据就不会在外泄。计算机的软盘跟硬盘不能自动给使用者保护私钥和数字证书,而这就需要认证中心颁发的软盘保存证书作为“防盗门”的作用,降低被窃取的可能性,防止私人信息遭到泄露。
用智能卡对私钥和数字证书进行保存,主要有以下优点:
1)智能卡限制了使用者的使用权限,所以私钥必须在满足条件时才可以进行读取,大大增加了私匙的安全。
2)智能卡需要在卡内才能签名与验证,又进一步加大了私匙的安全。
3)智能卡内部会生成RSA密匙,避免了私匙的泄露。
4)智能卡小,方便携带,不受其它安全因素的影响,只要使用者在电脑上进行安装,安装后就可以放心的进行电子交易。
5)智能卡需要PIN码才能进行使用,PIN码中文名称是个人识别码,你必须同时拥有卡与PIN码才能通过认证,这种双向认证,大大提高了安全性。
智能卡与PKI技术,使信息更加安全。在智能卡与PKI安全传输时,进行验明身份时,Client对Server的身份进行验证,使用者需要用按照流程对Server的公匙证书验证是否有效,同时Client也要对Server进行公匙证书的验证,这个验证是需要双方进行完成。双方都认可了,然后对需要传输的数据进行加密,避免遭到窃听,纵然被窃听了,也不是完整的。我设想,智能卡与PKI技术必然会广泛应用到银行及PC等各个领域。
智能卡与PKI技术方案,加密性强,运用的时候简单方便,不需要考虑使用一次性口令认证会出现的问题。
2 系统开发环境
FTP使用者的有效身份是需要用数字证书与密码同时使用对身份进行验证,而SSL则对身份的验证与数据的传输进行加密处理。要让SSL协议得以实现,缺少不了OPENSSL开源库,由于智能卡不能再OPENSSL开源库上直接使用,智能卡需要进行加密与数字签名,才可以使用,这又涉及到了Micosoft 的密码体系和 CrytoAPI的使用。
3 系统总体设计
3.1 系统体系结构
该系统有客户端与服务器端两大块,在连接互联网的情况下,我们必须得考虑传输数据时是否存在安全问题,这是整个安全问题的重中之重。
客户端与服务器都连接了网络,客户端与服务器进行双向的身份认证,服务器向使用者发送证书,使用者的CA列表会对服务器发送的证书进行验证,然后服务器对使用者的智能卡数字证书进行读取,并对使用者的身份进行验证,双方验证成功后,两者之间即可建立传输通道,在传输通道进行加密与签名,使信息安全性更加牢固。图 1是一个智能卡与 PKI 应用体系框图。
“加密”与“签名”可以解决一些问题,例如:认证身份;信息保存与传输过程的保密性、完整性,操作上面的不可否认性。
3.2 系统软件架构设计
安全文件传输系统通过SSL使使用者与服务器进行身份的双向认证,在双向认证的同时,加密数据传输的通道,以保证信息在各个方面的安全。整个安全文件传输系统大致可以划分为智能卡,核心驱动,设备接口,密码服务组件和 SSL 协议实现层和应用层几部分,如图2所示。
第一层是 FTP 应用程序,FTP建立在SSL层面上,SSL对整个数据的传输进行加密处理。
第二层是 SSL 协议层,使用者与服务器双向身份认证,然后在传输过程中对密匙进行加密。
第三层密码服务组件是应用层请求密码服务时用到的一些标准接口函数, 现今,微软的CSP与RSA公司的PKCS#11是使用起来较为良好的密码服务组件标准,他们两家公司标准主要涉及的内容有:①密钥生成(Key generation.);②密钥管理(Key management.);③数字签名(Digital signatures.);④散列算法(Hashing (or message digests);⑤加密服务(Bulk encryption services.);⑥密钥导入/导出(Key import/export.)。
该层可以进行智能卡签名与加密算法。
第四层和第五层主要是设备接口和核心驱动,对智能卡进行访问。
智能卡是出于最底层,使用者的私匙与证书都是存放在此处。
3.3 系统功能设计
该安全文件传输系统的两个模块,如图3所示。
身份认证与密码协商功能:服务器与使用者进行相互的身份认证,检测证书是否完整、过期等。验证好身份后,进行传输,传输过程需要进行对称密匙交换,更大程度上提高了速度和效率。 [35]。
FTP 功能模块分为以下几个部分:1)用户进行登陆:使用者输入服务器的地址以及使用者的名字跟密码,在连接FTP服务器,验证成功就可以登录了;2)下载文件:使用者可以在服务器下载自己所需的资源; 3)上传文件;4)删除文件;5)删除目录;6)文件更名。
3.4 系统类模型设计
该安全文件传输系统按层次结构可分为几大类,如图4所示。
1)FTP 客户类:该类FTP的功能是通过调用 SSL_LAYER 类来实现。
2)SSL_LAYER 类:实现了数据接收、发送、身份认证功能 [36]。
3)智能卡类:通过 OPENSSL 引擎接口对智能卡进行访问。
参考文献:
[1] 陈彦学.信息安全理论与实务[M].北京:中国铁道出版社,2013:42-57.
[2] BruceSchneier B.应用密码学[M]. 吴世忠,译. 北京:机械工业出版社,2014:31-56.
[3] 王爱英.智能卡技术[M]. 北京:清华大学出版社,2014:42-68.
[4] 周明天,汪文勇.TCP/IP网络原理与技术[M]. 北京:清华大学出版社,2013:51-74.
[5] Wolfgang R, Wolfgang E.智能卡大全[M]. 王卓人,王锋,译. 北京:电子工业出版社,2014:56-88.
[6] 许志杰,雷菁,李永彬.智能卡安全技术研究[J].现代电子技术,2013(15):42-69 .
[7] 支超.基于SSL协议的加密文件传输系统设计[D].呼和浩特:内蒙古大学,2013:28-59 .
[8] 周刚,姚立英.数据信息安全技术的应用策略[J].四川大学学报:自然科学版,2013(03):51-68.
[9] 白全宾.基于PKI的安全文件传输系统的设计与实现[D].成都:电子科技大学,2014:39-46.
[10] 周明磊,康重庆,尚金成,等.基于Internet/Intranet的电力市场技术支持系统[J].电力系统自动化,2013(23):42-59.
[11] 富元,吕建新.基于UDP的可靠传输协议的研究与实现[J].光通信研究,2013(05):52-73.
[12] 孙志敏.基于多种通信方式的远程文件传输系统的设计与实现[D].银川:兰州大学,2014:34-56.
[13] 周涛.基于Petri网的文件传输的几个关键技术研究[D].成都:西华大学,2013:33-57 .
[14] 张彭善.基于截止时间限制的大文件传输调度方法的研究[D]. 上海:上海交通大学,2014:23-54 .