文件传输服务是互联网提供的一项基础服务,许多企业需要通过网络传输包含机密或重要信息的文件。由于网络本身并不安全,存在窃听、恶意修改、攻击等行为,因此如何保证文件传输安全成为通信安全领域的一个研究热点,目前最有效、应用最广泛的技术手段是文件加密传输。
文件加密传输根据加密层次的不同可分为链接加密和端到端加密2类,链接加密发生在网络底层,加密贯穿整个链路;端到端加密发生在网络高层,对信息选择加密,这2种文件加密传输方式各有优缺点,适合于不同的应用场景。本文根据典型应用场景的文件传输需求,基于数字信封等安全技术,提出了一个安全、灵活和实用的文件端到端加密传输方案。
一、典型应用场景
某大型企业在全国拥有众多的分支机构,总部与各分支机构之间的系统通过企业内部专网连接,与供货商、渠道商,代理商等商业合作伙伴的系统通过互联网连接(见图1)。该公司总部每天与各分支机构、商业合作伙伴有大量重要的文件需要传输,其系统文件传输需求可以总结为多种文件传输类型、多种通信环境、多种安全强度需求。
a)总部与各分支机构、商业合作伙伴之间的文件传输以一对一传输类型居多,部分文件为一对多传输。
b)总部与分支机构、各分支机构之间的文件通过企业内部专网传输,彼此间为信赖关系,安全需求主要是机密性、完整性、身份认证。
c)总部、各分支机构与商业合作伙伴之间的文件通过互联网传输,彼此之间需要防止抵赖行为,安全需求包括机密性、完整性、身份认证和抗抵赖。
针对以上需求,所设计的文件传输安全方案应能够支持一对一和一对多2种传输类型,并可根据不同的网络环境与安全需求选用相应的加密方式埘在本安全方案中用到的关键安全技术主要有对称加密、非对称加密、数字信封等。
二、关键技术介绍
1、对称加密与非对称加密
对称加密算法只有1个密钥,发收双方使用同一个密钥对数据进行加解密d.对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。
非对称加密算法使用1对公钥和私钥,使用公钥加密明文,使用私钥解密密文口加密者只知道接收方的公钥,只有接收方才知道自己的私钥。由于不对称算法拥有2个密钥,因而比较适用于分布式系统中的数据加密。
对称加密算法和非对称加密算法的加密原理不同,它们用于解决不同的问题,正确的做法是使用对称加密算法和非对称加密算法建立混合加密系统。
2、数字信封技术
数字信封的功能类似于普通信封,普通信封在法律的约束下保证只有收信人才能阅读信的内容;数字信封则采用密码技术保证只有规定的接收人才能阅读信息的内容。数字信封采用了对称加密和非对称加密的混合体制。信息发送方首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称之为数字信封,信息接收方要解密信息,必须先用私钥解密数字信封,得到对称密码,再利用对称密码解密所得到的信息。实际应用的数字信封技术一般都增加了数据完整性验证和身份识别服务。图2是数字信封的封装过程;
图3是数字信封的解封过程。
数字信封技术能够提供基本的保密、完整性、认证安全服务,满足很多应用的安全需求,但是还存在一些不足。
a)不能防止抵赖行为,数字信封可以通过签名防止文件发送方否认发送文件,但是无法防止文件接收方抵赖接收查阅文件的行为。
b)不适应文件一对多传输。如果想使用数字信封给多个接I改方发送同一个文件,必须针对每一个接收方加密文件内容并制作数字信封,工作量较大。
C)应用不灵活。数字信封不能针对文件不同的安全环境、传输需求、网络环境提供不同安全级别的解决方案。
根据以上分析,数字信封技术不能够完全满足实际应用场景的安全需求,需要基于数字信封技术进行改进,设计一个灵活、适应多种文件传输类型、抗抵赖的文件端到端加密传输安全方案。
三、文件传输安全方案
1、方案思路
本文提出了一个基于数字信封技术的文件端到端加密传输安全方案,它提供单播、多播和抗抵赖3种加密模式,上层应用可以根据实际应用需求灵活选择相应的加密模式,满足文件一对多传输需求,实现了抗抵赖功能。
单播加密模式适用于可以信赖的双方的一对一文件传输,加密原理与现有的数字信封技术类似,多播加密模式适用于可以信赖的多个通信方的一对多文件传输,不同于数字信封技术为每一个文件接收方单独生成文件密钥、封装文件内容并制作数字信封,在多播加密模式中,文件发送方将文件内容封装成一份内容密文,然后针对不同的接收方生成不同的数字信封,将内容密文与数字信封组装之后,分发给相应的文件接收方。多播模式的优点是只对文件内容进行一次封装,在保证文件安全的前提之下,降低了对文件内容多次重复封装的工作量,图4示出的是单播加密模式与多播加密模式示意。
抗抵赖模式用于通信双方一对一传输包含重要信息的文件,对文件安全有比较高的要求。根据数字倩封的原理,文件接收方接收到文件密文之后,利用秘密密钥可完成解密工作,不需要和文件发送方交互,要防止文件接收方的抵赖行为,最大的难题是文件发送方没有文件接收方的行为凭证。在数字信封技术中,文件密文可以分为数字信封和内容密文2个部分,因为没有数字信封不能对内容密文解密,所以可以将文件密文分成数字信封和内容密文2个部分,文件发送方首先发送内容密文,接收方在收到内容密文之后无法解密,需要向发送方返回一个文件接收回执,发送方收到文件回执,验证文件回执内容无误之后,将相应的数字信封发送给接收方。因为文件发送方拥有接收方签名过的文件接收回执,所以接收方不能抵赖接收查阅过文件,图5示出的是抗抵赖加密模式过程交互示意。
2、文件封装
文件加密模式南上层应用根据实际安全需求选择,根据选择的加密模式进入不同的文件封装流程,主要包括对称加密、非对称加密、单向散列、压缩等操作,各操作之间有着严格的逻辑先后顺序。(见图6)
a)使用单向散列函数计算待发送文件的单向散列值。
b)使用文件发送方的秘密密钥对文件的单向散列值进行非对称加密,完成数字签名以利于接收方验证发送方的身份。
c)将文件内容和签过名的单向散列值合成一个文件。
d)对合并后的文件进行压缩,这样可以减小将要加密和传输的数据量,缩短数据加密时长,提高对称加密安全性。
e)利用随机数发生器生成用于文件对称加密的随机密钥。
f)使用文件随机加密密钥对文件进行对称加密,生成内容密文。
g)根据上层应用的安全需求,选择单播、多播或者抗抵赖加密模式。
h)在单播模式中,使用文件接收方的公开密钥对文件对称密钥进行非对称加密,形成数字信封,然后和内容密文组装成文件密文。文件名称加上后缀“—NORM”。
i)在多播模式中,需要使用每一介文件接收方的公开密钥分别对文件对称密钥进行非对称加密,形成多个数字信封后分别与同一个内容密文组装,为每一个文件接收方生成相应的文件密文,文件名称加上后缀“—NORM”。
j)在抗抵赖模式中,使用文件接收方的公开密钥对文件对称密钥进行非对称加密,形成数字信封,内容密文名称加上后缀”-CNDF”,数字信封文件名称加上后缀“_CNDE”,表明是抗抵赖模式,然后将内容密文和数字信封分别输出口。
3、文件解封
文件接收方收到文件后,进行文件密文的解封,根据文件名称判断文件加密模式。对于单播模式和多播模式的文件,直接进行文件解密;对于抗抵赖模式,首先获取文件的数字信封,然后进行文件解密(见图7)。
a)接收文件,根据文件名判断加密模式,如果文件名的后缀是“-NORM”,则文件属于单播或者多播加密模式,可以直接进入步骤c);如果文件的后缀名是“CNDF”,则文件属于抗抵赖加密模式,进入步骤b)。
b)根据接收到的内容密文生成相应的文件回执,发送给文件发送方以获取数字信封。
c)根据数字信封和内容密文,对文件进行解密,获取文件明文。
在抗抵赖模式中舢文件接收方首先接收到的文件是内容密文,无法直接解密,需要向发送方返回相应的文件回执矗文件发送方验证回执内容无误之后,给文件接收方发送相应的数字信封。这个过程保证了文件接收方不能否认或者抵赖接收并查阅过文件(见图8)。
a)文件接收方生成回执文件,主要包括接收方名称、接收文件名称和接收时间3部分内容,文件名称加上后缀“- RESP”。
b)用文件接收方的秘密密钥对回执文件进行非对称加密,以进行签名。
c)发送签名后的回执文件。
d)文件发送方接收签名后的回执文件。
e)文件发送方用接收方的公开密钥对文件进行非对称解密,同时保留1份做备份。
f)验证回执内容,如果验证尤误,就进入下一个步骤,否则拒绝发送数字信封印。
g)根据回执文件名称匹配相应的数字信封。
h)发送方发送数字信封。
i)接收方接收数字信封。
文件解密是文件加密的逆过程,接收方在接收到内容密文和数字信封之后,即可解密文件,验证文件内容的完整性,确认文件发送方的身份(见图9)。
a)用接收方的秘密密钥对数字信封进行非对称解密,以获取文件随机密钥。
b)用文件随机密钥对文件密文进行对称解密。
c)对解密后的文件内容进行解压。
d)对解压后的文件内容进行分离,分离为文件内容明文和签名的单向散列值。
e)用文件发送方的公开密钥对签名的单向散列值进行非对称解密,验证文件发送方的身份。
f)用单向散列函数对文件内容明文计算单向散列值。
g)比较计算的单向散列值和接收的单向散列值是否相同,如果相同说明接收文件的内容完整,否则说明文件内容不完整。
h)确认文件的机密性和完整性,验证文件发送方身份无误之后,输出文件明文,否则提示相应的错误。
小知识之端到端加密
端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密(又称脱线加密或包加密),消息在被传输时到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露。