APP下载

基于转发隔离的文件安全传输系统

2018-05-02演,王

关键词:内网密文解密

夏 演,王 煜

(安徽理工大学计算机科学与工程系,安徽 淮南 232001)

网络应用给人们带来了无尽的好处,但随着网络应用的扩大,网络安全风险变得更加严重和复杂。2010年的“极光行动”,2014年的“Heartbleed漏洞”等都给网络带来了重创,留下了许多安全隐患[1-2]。许多企业正是考虑到了网络的不安全性,所以都建立了自己的内部网,但是当需要和外界进行文件传输时还是不可避免的要连接外部网,那么如何保证文件在外部网传输过程中的安全性就变得尤为重要。

文献[3]提出一种沙箱结构,先由客户端向对象管理者发起请求,再由对象管理者转发请求到服务器,服务器在接收请求后查询服务器安全策略,返回给对象管理者,由对象管理者执行后返回给客户端。沙箱结构利用对象管理者实现对客户端和服务器的隔离,避免了两者间的直接连接带来的服务器在公网中暴露的安全隐患。基于这种转发隔离思想,张蒲生提出了物理隔离环境下的数据安全转发技术[4];文献[5]提出了基于物理隔离系统的安全文件传输;文献[6]提出了一种物理隔离系统的设计与实现。但这些都需要依靠硬件设备来实现客户端和服务器间的隔离,实现的是一种物理隔离,作为改进,文献[7]92提出了双连接文件安全传输,实现了纯软件环境下的逻辑隔离,大大地节约了文件传输的成本,提高了文件传输的效率。

文献[7]92-95借助文件安全传输协议栈实现数据的全程加密和可靠传输,在确保服务器安全性和数据密文传输的同时,保障了文件传输的速度和效率。但是仅通过协议栈来实现密钥的协商和传输,安全性不高,而且没有实现对文件完整性的验证,如果文件在传输过程中遭受攻击,那么解密后的文件可能就是一堆乱码,直接解密密文信息不仅浪费了CPU的资源,也降低了系统的性能。作为改进,本文首先提出了一种密钥服务器,主要负责为合法用户生成和管理文件加密、解密所需的密钥,再通过安全的渠道保证密钥的可靠传输。然后提出了一种改进的数字信封技术,主要实现文件完整性的验证。

1 系统架构

系统主要由客户端、公网转发服务器、内网接收服务器、密钥服务器、数据库这五个部分组成。客户端和内网接收服务器之间建立连接,实现文件的加密和解密、文件完整性的验证。为了保证内网接收服务器的安全,客户端和内网接收服务器不能直接连接,需要依靠公网转发服务器来验证用户身份的合法性,在验证成功后给客户端发送唯一的登录凭证,客户端依靠这个登录凭证传输信息。客户端和内网接收服务器借助密钥服务器分发密钥,密钥通过安全的通道直接分发给身份认证成功的客户端用户以及持有特定用户登录凭证的内网接收服务器,同时借助数据库来完成信息的存储和信息的验证,客户端将文件的密码以密文形式存储在数据库,内网接收服务器只有先解密文件密码才能获取接收到的信息进行下一步操作。文件传输的系统结构图如图1所示。

1)客户端。借助公网转发服务器和内网接收服务器建立联系,发送文件传输请求,加密传输文件。

图1 系统结构图

2)公网转发服务器。为客户端和内网接收服务器建立连接,实现客户端和内网接收服务器间的信息转发。借助密钥服务器对用户身份进行认证,认证成功后将给客户端发送唯一的登录凭证,在客户端进行文件传输请求时再次验证登录凭证。

3)内网接收服务器。借助公网转发服务器和客户端建立连接,接收客户端的请求,对客户端发送的信息进行完整性验证后提取文件。

4)密钥服务器。密钥服务器中包含对称密钥和非对称密钥的生成、颁发和管理,还利用PKI体系对用户的身份进行认证,认证通过后为用户生成唯一的登录凭据,借助公网转发服务器转发给客户端用户。密钥服务器为认证通过的用户颁发加密密钥,为持有客户端用户凭证的内网接收服务器颁发相应的解密密钥。

5)数据库。主要存储用户的基本信息,但是文件在发送时需要设置密码,设置的密码是以密文的形式保存在数据库,在内网接收服务器接收客户端发送的信息时需要先用相应的公钥解密密码,才能对信息做下一步的操作。

基于转发隔离技术的客户端和内网接收服务器通过公网转发服务器来建立连接,客户端不能直接访问内网接收服务器,保证了内网接收服务器的安全。密钥服务器直接给认证通过的客户端用户和内网接收服务器颁发密钥,保证了密钥的可靠传输,最后在整个传输过程中信息都以密文形式存在,保证了信息在传输过程中的安全。

2 系统理论基础

2.1 PKI公钥体系

公开密钥基础设施体系(Public Key Infrastructure,PKI)主要用于为密钥和证书建立了一个安全的网络环境,为各种网络应用提供全面的安全服务[8]。本系统中的PKI主要用于用户的身份认证以及非对称密钥的生成、颁发和管理,并为认证通过的用户颁发唯一的登录凭证,由公网转发服务器转发给用户。结合系统,主要介绍以下四种PKI模型实体[9]。

1)认证机构(Certificate Authority,CA) CA中心是PKI的核心部分,主要负责密钥的生成、颁发和管理。在本系统中,CA中心生成的非对称密钥会和密钥服务器中生成的对称密钥一起由密钥服务器颁发给客户端和内网接收服务器。

2)注册机构(Registration Authority,RA) RA中心主要负责接收用户的证书申请,对用户身份的合法性进行核实,并将结果反馈给CA中心,以方便CA中心进行密钥的生成和颁发。

3)文件上传者(File Upload,FU) 上传文件者加密文件的相关信息,并向公网转发服务器提交登录凭证,公网转发服务器借助密钥服务器对登录凭证进行验证,验证通过后转发加密的文件信息。

4)文件下载者(File Download,FD) 下载文件者根据客户端用户的登录凭证向密钥服务器申请相对应的解密密钥,在信息完整性的验证通过后提取文件信息。

本系统主要用PKI公钥体系来实现用户的身份认证、用户登录凭证以及非对称密钥的生成、颁发和管理。为了保证密钥在传输过程中的安全性,本文提出由密钥生成器在用户身份认证通过后直接颁发给客户端用户。

2.2 数字信封

数字信封是利用非对称密钥加密对称密钥来实现信息完整性验证的一项技术[10]。结合本系统,改进的数字信封主要包含四个部分,加密后的明文摘要、对称密钥加密后的文件、对称密钥的摘要、非对称密钥加密后的对称密钥。利用改进的数字信封来验证文件完整性的流程图如图2所示。

图2 数字信封流程图

改进的数字信封流程:

1)利用Hash算法提取明文(文件)的摘要,并且用对称密钥(AES密钥)对明文加密得到密文;

2)利用Hash算法提取对称密钥的密钥摘要;

3)发送者(客户端)利用申请到的私钥对明文的摘要加密得到摘要密文,利用接收者(服务器)的公钥对加密明文的对称密钥加密得到对称密钥密文;

4)加密的数字信封完成;

5)解密数字信封时,先用接收者的私钥解密对称密钥密文,得到对称密钥,利用Hash算法提取密钥摘要,与加密模块的密钥摘要对比,若相同则继续,否则报错;

6)利用发送者公钥解密摘要密文得到摘要,利用对称密钥解密密文得到明文,用Hash算法提取明文摘要,将两个摘要对比,若相同则明文完整,下载明文;

7)解密数字信封完成。改进的数字信封需要两组密钥对,分别为客户端用户和内网接收服务器所申请,增加了利用Hash算法生成对称密钥摘要以及利用接收者公钥加密对称密钥这两部分,这样在解密的时候就需要先解密对称密钥,对比对称密钥的摘要,如果对比结果显示不相等则说明对称密钥已被破坏,系统停止操作,而不需要再解密密文、下载摘要、对比摘要,减少了CPU的资源浪费,同时,和解密密文相比,解密对称密钥摘要的运算量也比较小,所以,改进的数字信封大大地减轻了系统的负担。

2.3 RSA非对称算法

RSA(Ron Rivest & Adi Shamir & Leonard Adleman)算法包含一组密钥对,即公钥和私钥,用于对数据的加密和解密[11]。RSA算法是目前应用最广泛、影响力最高的非对称加密算法。它的安全性依赖于大数的因式分解,安全系数高[12-13]。

本系统主要将RSA算法用于数字信封中的明文摘要、对称密钥以及用户文件密码的加密、解密。由于RSA的加密、解密速度和密钥长度、文件大小有关,所以系统中主要用RSA算法来加密、解密一些重要的,但字节比较小的信息,涉及到的有文件密码、对称密钥摘要和明文摘要。

2.4 AES对称算法

AES(Advanced Encryption Standard),即高级加密标准[14],采用对称分组密码体制,凭借安全性能好、效率高、实现简单、灵活性强等特点[15]在各大领域备受青睐。

考虑到AES算法加密和解密速度快、加密强度高等特点,本系统采用AES算法来对文件内容加密,快速、有效。但是由于AES采用对称密钥,所以在发送方和接收方之间的密钥传播和管理非常重要,这里利用数字信封技术,将AES和RSA相结合,AES负责加密文件内容,RSA负责加密AES的对称密钥,这样不仅可以加快整个系统的运行速率,也可以提高文件的安全性。

3 系统实现

3.1 系统的开发环境

系统以Eclipse为开发平台,以SSH(Struts+Spring+Hibernate)为框架,采用Java语言进行编程,引用Jsp、Css、JavaScript等技术设计页面。采用MySQL数据库,以JDBC为数据连接方式连接数据库。整个系统在安全性方面采用加密技术和PKI技术。

3.2 功能区的实现

1) 密钥服务器。密钥服务器主要负责为认证通过的用户生成、颁发和管理密钥。密钥服务器包括对称密钥生成器和非对称密钥生成器两个模块,下面以非对称密钥生成器为例,用户首先在用户身份认证界面输入自己的身份信息、上传的文件名称等,在CA中心审核通过后,CA中心根据用户提交的信息为用户的文件生成一组密钥对,供文件上传和下载使用。其中,密钥的长度可选,分别为512位和1 024位,数据显示形式也可选,分别为二进制和十进制。密钥服务器的界面如图3所示。

图3 密钥生成器界面

2)文件上传。用户上传文件时需要输入文件名称、密码、联系方式,文件名称和密码主要用于下载文件时的身份识别,联系方式主要用于数据库或服务器更新时通知用户。在点击上传后,输入的密码、联系方式会通过RSA算法进行加密,加密后的密文会存放在数据库,在整个系统的运行中,它们都只以密文形式显示。例如,上传一个名为基于转发隔离的文件安全传输系统的文档,需要在文件上传界面从本地选中该文档,输入文档名称以及用户的联系方式,点击上传,系统会自动的对相关信息进行加密、存储。文件上传的界面如图4所示。

图4 文件上传页面

3)文件下载。用户下载文件时,需要输入文件名称和文件密码用做身份识别,在识别成功后系统先验证文件信息的完整性,验证通过后文件将被解密并下载到指定的位置。例如,将名为基于转发隔离的文件安全传输系统的文档下载到本地E盘的RSA文件夹中,首先需要正确的输入文件的名称及用户的密码,然后点击下载即可实现。文件下载的界面如图5所示。

图5 文件下载页面

4 系统测试与结果分析

4.1 系统安全性测试

选取三台计算机,分别代表客户端、公网转发服务器和内网接收服务器,对这三台计算机进行框架的搭建,并分别输出每台计算机接收到的信息。文件信息的加密情况如表1所示。

表1 文件的加密情况

基于转发隔离的文件安全传输系统在文件传输的过程中均以密文形式呈现,所以很好的保证了文件的安全。本文还在转发隔离框架中利用密钥服务器直接给客户端和内网接收服务器颁发相应的密钥,和传统的利用SSL协议协商密钥相比,密钥的安全性提高。

4.2 系统传输速度测试

本文主要针对对称密钥遭受破坏的情况,对数字信封改进前后的文件传输速度进行测试。考虑到不同环境的网速可能不同,所以这里选择在一个小型的局域网中进行测试。使用改进前和改进后的数字信封分别对不同大小的文件进行解密,解密所需的时间如图6所示。

图6 解密时间测试

和改进前的数字信封相比,改进后的数字信封在对称密钥遭受破坏的情况下判断文件完整性的速度更快,而且,文件越大,优势越明显。改进后的数字信封在验证文件完整性的同时,提高了系统的运行速度。

5 结论

本文针对一些机密数据在互联网中传输的安全性问题,提出了基于转发隔离的文件安全传输系统,采用密钥服务器来保证密钥的可靠传输以及用户的身份认证,这和仅靠协议栈实现密钥的协商和传输相比,提高了密钥的安全性;提出改进的数字信封来实现文件信息完整性的验证,把对对称密钥的完整性验证作为第一步,可以在对称密钥被破坏的时候立刻做出响应,减少了CPU不必要的操作,提高了系统的整体性能。

参考文献:

[1] 吴世忠,马芳.网络信息安全的真相[M].北京:机械工业出版社,2015:240-248.

[2] ROSS ANDERSON.Security Engineering: A Guide to Building Dependable Distributed Systems, Second Edition[M].America: Wiley,2014:682-685.

[3] SPENCER R.The flask security architecture:system support for diverse security policies[J].Proceeding of the 8th USENIX Security Symposium,1999,10(1): 21-22.

[4] 张蒲生.物理隔离环境下数据安全转发的技术构思[J].计算机应用研究,2003(1):28-30.

[5] 李果,潘理,诸鸿文.基于物理隔离系统的安全文件传输[J].计算机应用研究,2004(18): 166-168.

[6] CHEN YOUPING, YIN YONG, LI FANGMIN.Design and realization of security physical isolation system[J]. Journal of Southeast University,2004,21(1):11-15.

[7] 温先辉.双连接文件安全传输的设计与实现[J].计算机工程与应用,2012,48(25):92-97.

[8] BONEH.Public key encryption with keyword search[C]//Advances in Cryptology Eurocrypt.Berlin:Springer,2014:506-522.

[9] 张冰,郭占利,刘学生.基于PKI的安全电子文件管理模型研究[J].计算机工程,2011,37(1):131-134.

[10] 郭雅林.多媒体业务平台文件安全传输技术的研究与实现[D].北京:北京邮电大学,2015.

[11] WANG SULI, LIUGANLAI.File encryption and decryption system based on RSA algorithm[J].Lecture Notes in Computer Science,2014,3(1):28-32.

[12] FUKUMITSU,MASAYUKI.The RSA Group is adaptive pseudo-free under the RSA assumption[J].IEICE Translation Fundamental Electronics and Communications and Computer Science,2014,10(3):200-214.

[13] 黄亮.RSA密码基本运算工具的设计与实现[D].武汉:华中科技大学,2014.

[14] 郑行.AES算法的硬件优化实现及应用研究[D].厦门:厦门大学,2014.

[15] 付雅丹,杨庚,胡持,等.基于MapReduce的并行AES加密算法[J].计算机应用,2015,32(18):100-105.

猜你喜欢

内网密文解密
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
基于网络报文流量的协议密文分析方法
密钥共享下跨用户密文数据去重挖掘方法*
炫词解密
炫词解密
企业内网中的数据隔离与交换技术探索
内外网隔离条件下如何实现邮件转发