網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

文件傳輸服務(wù)是互聯(lián)網(wǎng)提供的一項(xiàng)基礎(chǔ)服務(wù),許多企業(yè)需要通過(guò)網(wǎng)絡(luò)傳輸包含機(jī)密或重要信息的文件。由于網(wǎng)絡(luò)本身并不安全,存在竊聽、惡意修改、攻擊等行為,因此如何保證文件傳輸安全成為通信安全領(lǐng)域的一個(gè)研究熱點(diǎn),目前最有效、應(yīng)用最廣泛的技術(shù)手段是文件加密傳輸。

文件加密傳輸根據(jù)加密層次的不同可分為鏈接加密和端到端加密2類,鏈接加密發(fā)生在網(wǎng)絡(luò)底層,加密貫穿整個(gè)鏈路;端到端加密發(fā)生在網(wǎng)絡(luò)高層,對(duì)信息選擇加密,這2種文件加密傳輸方式各有優(yōu)缺點(diǎn),適合于不同的應(yīng)用場(chǎng)景。本文根據(jù)典型應(yīng)用場(chǎng)景的文件傳輸需求,基于數(shù)字信封等安全技術(shù),提出了一個(gè)安全、靈活和實(shí)用的文件端到端加密傳輸方案。

一、典型應(yīng)用場(chǎng)景

某大型企業(yè)在全國(guó)擁有眾多的分支機(jī)構(gòu),總部與各分支機(jī)構(gòu)之間的系統(tǒng)通過(guò)企業(yè)內(nèi)部專網(wǎng)連接,與供貨商、渠道商,代理商等商業(yè)合作伙伴的系統(tǒng)通過(guò)互聯(lián)網(wǎng)連接(見圖1)。該公司總部每天與各分支機(jī)構(gòu)、商業(yè)合作伙伴有大量重要的文件需要傳輸,其系統(tǒng)文件傳輸需求可以總結(jié)為多種文件傳輸類型、多種通信環(huán)境、多種安全強(qiáng)度需求。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

a)總部與各分支機(jī)構(gòu)、商業(yè)合作伙伴之間的文件傳輸以一對(duì)一傳輸類型居多,部分文件為一對(duì)多傳輸。

b)總部與分支機(jī)構(gòu)、各分支機(jī)構(gòu)之間的文件通過(guò)企業(yè)內(nèi)部專網(wǎng)傳輸,彼此間為信賴關(guān)系,安全需求主要是機(jī)密性、完整性、身份認(rèn)證。

c)總部、各分支機(jī)構(gòu)與商業(yè)合作伙伴之間的文件通過(guò)互聯(lián)網(wǎng)傳輸,彼此之間需要防止抵賴行為,安全需求包括機(jī)密性、完整性、身份認(rèn)證和抗抵賴。

針對(duì)以上需求,所設(shè)計(jì)的文件傳輸安全方案應(yīng)能夠支持一對(duì)一和一對(duì)多2種傳輸類型,并可根據(jù)不同的網(wǎng)絡(luò)環(huán)境與安全需求選用相應(yīng)的加密方式塒在本安全方案中用到的關(guān)鍵安全技術(shù)主要有對(duì)稱加密、非對(duì)稱加密、數(shù)字信封等。

二、關(guān)鍵技術(shù)介紹

1、對(duì)稱加密與非對(duì)稱加密

對(duì)稱加密算法只有1個(gè)密鑰,發(fā)收雙方使用同一個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加解密d.對(duì)稱加密算法的特點(diǎn)是算法公開、計(jì)算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。

非對(duì)稱加密算法使用1對(duì)公鑰和私鑰,使用公鑰加密明文,使用私鑰解密密文口加密者只知道接收方的公鑰,只有接收方才知道自己的私鑰。由于不對(duì)稱算法擁有2個(gè)密鑰,因而比較適用于分布式系統(tǒng)中的數(shù)據(jù)加密。

對(duì)稱加密算法和非對(duì)稱加密算法的加密原理不同,它們用于解決不同的問(wèn)題,正確的做法是使用對(duì)稱加密算法和非對(duì)稱加密算法建立混合加密系統(tǒng)。

2、數(shù)字信封技術(shù)

數(shù)字信封的功能類似于普通信封,普通信封在法律的約束下保證只有收信人才能閱讀信的內(nèi)容;數(shù)字信封則采用密碼技術(shù)保證只有規(guī)定的接收人才能閱讀信息的內(nèi)容。數(shù)字信封采用了對(duì)稱加密和非對(duì)稱加密的混合體制。信息發(fā)送方首先利用隨機(jī)產(chǎn)生的對(duì)稱密碼加密信息,再利用接收方的公鑰加密對(duì)稱密碼,被公鑰加密后的對(duì)稱密碼被稱之為數(shù)字信封,信息接收方要解密信息,必須先用私鑰解密數(shù)字信封,得到對(duì)稱密碼,再利用對(duì)稱密碼解密所得到的信息。實(shí)際應(yīng)用的數(shù)字信封技術(shù)一般都增加了數(shù)據(jù)完整性驗(yàn)證和身份識(shí)別服務(wù)。圖2是數(shù)字信封的封裝過(guò)程;

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

圖3是數(shù)字信封的解封過(guò)程。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

數(shù)字信封技術(shù)能夠提供基本的保密、完整性、認(rèn)證安全服務(wù),滿足很多應(yīng)用的安全需求,但是還存在一些不足。

a)不能防止抵賴行為,數(shù)字信封可以通過(guò)簽名防止文件發(fā)送方否認(rèn)發(fā)送文件,但是無(wú)法防止文件接收方抵賴接收查閱文件的行為。

b)不適應(yīng)文件一對(duì)多傳輸。如果想使用數(shù)字信封給多個(gè)接I改方發(fā)送同一個(gè)文件,必須針對(duì)每一個(gè)接收方加密文件內(nèi)容并制作數(shù)字信封,工作量較大。

C)應(yīng)用不靈活。數(shù)字信封不能針對(duì)文件不同的安全環(huán)境、傳輸需求、網(wǎng)絡(luò)環(huán)境提供不同安全級(jí)別的解決方案。

根據(jù)以上分析,數(shù)字信封技術(shù)不能夠完全滿足實(shí)際應(yīng)用場(chǎng)景的安全需求,需要基于數(shù)字信封技術(shù)進(jìn)行改進(jìn),設(shè)計(jì)一個(gè)靈活、適應(yīng)多種文件傳輸類型、抗抵賴的文件端到端加密傳輸安全方案。

三、文件傳輸安全方案

1、方案思路

本文提出了一個(gè)基于數(shù)字信封技術(shù)的文件端到端加密傳輸安全方案,它提供單播、多播和抗抵賴3種加密模式,上層應(yīng)用可以根據(jù)實(shí)際應(yīng)用需求靈活選擇相應(yīng)的加密模式,滿足文件一對(duì)多傳輸需求,實(shí)現(xiàn)了抗抵賴功能。

單播加密模式適用于可以信賴的雙方的一對(duì)一文件傳輸,加密原理與現(xiàn)有的數(shù)字信封技術(shù)類似,多播加密模式適用于可以信賴的多個(gè)通信方的一對(duì)多文件傳輸,不同于數(shù)字信封技術(shù)為每一個(gè)文件接收方單獨(dú)生成文件密鑰、封裝文件內(nèi)容并制作數(shù)字信封,在多播加密模式中,文件發(fā)送方將文件內(nèi)容封裝成一份內(nèi)容密文,然后針對(duì)不同的接收方生成不同的數(shù)字信封,將內(nèi)容密文與數(shù)字信封組裝之后,分發(fā)給相應(yīng)的文件接收方。多播模式的優(yōu)點(diǎn)是只對(duì)文件內(nèi)容進(jìn)行一次封裝,在保證文件安全的前提之下,降低了對(duì)文件內(nèi)容多次重復(fù)封裝的工作量,圖4示出的是單播加密模式與多播加密模式示意。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

抗抵賴模式用于通信雙方一對(duì)一傳輸包含重要信息的文件,對(duì)文件安全有比較高的要求。根據(jù)數(shù)字倩封的原理,文件接收方接收到文件密文之后,利用秘密密鑰可完成解密工作,不需要和文件發(fā)送方交互,要防止文件接收方的抵賴行為,最大的難題是文件發(fā)送方?jīng)]有文件接收方的行為憑證。在數(shù)字信封技術(shù)中,文件密文可以分為數(shù)字信封和內(nèi)容密文2個(gè)部分,因?yàn)闆](méi)有數(shù)字信封不能對(duì)內(nèi)容密文解密,所以可以將文件密文分成數(shù)字信封和內(nèi)容密文2個(gè)部分,文件發(fā)送方首先發(fā)送內(nèi)容密文,接收方在收到內(nèi)容密文之后無(wú)法解密,需要向發(fā)送方返回一個(gè)文件接收回執(zhí),發(fā)送方收到文件回執(zhí),驗(yàn)證文件回執(zhí)內(nèi)容無(wú)誤之后,將相應(yīng)的數(shù)字信封發(fā)送給接收方。因?yàn)槲募l(fā)送方擁有接收方簽名過(guò)的文件接收回執(zhí),所以接收方不能抵賴接收查閱過(guò)文件,圖5示出的是抗抵賴加密模式過(guò)程交互示意。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

2、文件封裝

文件加密模式南上層應(yīng)用根據(jù)實(shí)際安全需求選擇,根據(jù)選擇的加密模式進(jìn)入不同的文件封裝流程,主要包括對(duì)稱加密、非對(duì)稱加密、單向散列、壓縮等操作,各操作之間有著嚴(yán)格的邏輯先后順序。(見圖6)

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

a)使用單向散列函數(shù)計(jì)算待發(fā)送文件的單向散列值。

b)使用文件發(fā)送方的秘密密鑰對(duì)文件的單向散列值進(jìn)行非對(duì)稱加密,完成數(shù)字簽名以利于接收方驗(yàn)證發(fā)送方的身份。

c)將文件內(nèi)容和簽過(guò)名的單向散列值合成一個(gè)文件。

d)對(duì)合并后的文件進(jìn)行壓縮,這樣可以減小將要加密和傳輸?shù)臄?shù)據(jù)量,縮短數(shù)據(jù)加密時(shí)長(zhǎng),提高對(duì)稱加密安全性。

e)利用隨機(jī)數(shù)發(fā)生器生成用于文件對(duì)稱加密的隨機(jī)密鑰。

f)使用文件隨機(jī)加密密鑰對(duì)文件進(jìn)行對(duì)稱加密,生成內(nèi)容密文。

g)根據(jù)上層應(yīng)用的安全需求,選擇單播、多播或者抗抵賴加密模式。

h)在單播模式中,使用文件接收方的公開密鑰對(duì)文件對(duì)稱密鑰進(jìn)行非對(duì)稱加密,形成數(shù)字信封,然后和內(nèi)容密文組裝成文件密文。文件名稱加上后綴“—NORM”。

i)在多播模式中,需要使用每一介文件接收方的公開密鑰分別對(duì)文件對(duì)稱密鑰進(jìn)行非對(duì)稱加密,形成多個(gè)數(shù)字信封后分別與同一個(gè)內(nèi)容密文組裝,為每一個(gè)文件接收方生成相應(yīng)的文件密文,文件名稱加上后綴“—NORM”。

j)在抗抵賴模式中,使用文件接收方的公開密鑰對(duì)文件對(duì)稱密鑰進(jìn)行非對(duì)稱加密,形成數(shù)字信封,內(nèi)容密文名稱加上后綴”-CNDF”,數(shù)字信封文件名稱加上后綴“_CNDE”,表明是抗抵賴模式,然后將內(nèi)容密文和數(shù)字信封分別輸出口。

3、文件解封

文件接收方收到文件后,進(jìn)行文件密文的解封,根據(jù)文件名稱判斷文件加密模式。對(duì)于單播模式和多播模式的文件,直接進(jìn)行文件解密;對(duì)于抗抵賴模式,首先獲取文件的數(shù)字信封,然后進(jìn)行文件解密(見圖7)。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

a)接收文件,根據(jù)文件名判斷加密模式,如果文件名的后綴是“-NORM”,則文件屬于單播或者多播加密模式,可以直接進(jìn)入步驟c);如果文件的后綴名是“CNDF”,則文件屬于抗抵賴加密模式,進(jìn)入步驟b)。

b)根據(jù)接收到的內(nèi)容密文生成相應(yīng)的文件回執(zhí),發(fā)送給文件發(fā)送方以獲取數(shù)字信封。

c)根據(jù)數(shù)字信封和內(nèi)容密文,對(duì)文件進(jìn)行解密,獲取文件明文。

在抗抵賴模式中舢文件接收方首先接收到的文件是內(nèi)容密文,無(wú)法直接解密,需要向發(fā)送方返回相應(yīng)的文件回執(zhí)矗文件發(fā)送方驗(yàn)證回執(zhí)內(nèi)容無(wú)誤之后,給文件接收方發(fā)送相應(yīng)的數(shù)字信封。這個(gè)過(guò)程保證了文件接收方不能否認(rèn)或者抵賴接收并查閱過(guò)文件(見圖8)。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

a)文件接收方生成回執(zhí)文件,主要包括接收方名稱、接收文件名稱和接收時(shí)間3部分內(nèi)容,文件名稱加上后綴“- RESP”。

b)用文件接收方的秘密密鑰對(duì)回執(zhí)文件進(jìn)行非對(duì)稱加密,以進(jìn)行簽名。

c)發(fā)送簽名后的回執(zhí)文件。

d)文件發(fā)送方接收簽名后的回執(zhí)文件。

e)文件發(fā)送方用接收方的公開密鑰對(duì)文件進(jìn)行非對(duì)稱解密,同時(shí)保留1份做備份。

f)驗(yàn)證回執(zhí)內(nèi)容,如果驗(yàn)證尤誤,就進(jìn)入下一個(gè)步驟,否則拒絕發(fā)送數(shù)字信封印。

g)根據(jù)回執(zhí)文件名稱匹配相應(yīng)的數(shù)字信封。

h)發(fā)送方發(fā)送數(shù)字信封。

i)接收方接收數(shù)字信封。

文件解密是文件加密的逆過(guò)程,接收方在接收到內(nèi)容密文和數(shù)字信封之后,即可解密文件,驗(yàn)證文件內(nèi)容的完整性,確認(rèn)文件發(fā)送方的身份(見圖9)。

網(wǎng)絡(luò)環(huán)境文件端到端加密傳輸方案設(shè)計(jì)

a)用接收方的秘密密鑰對(duì)數(shù)字信封進(jìn)行非對(duì)稱解密,以獲取文件隨機(jī)密鑰。

b)用文件隨機(jī)密鑰對(duì)文件密文進(jìn)行對(duì)稱解密。

c)對(duì)解密后的文件內(nèi)容進(jìn)行解壓。

d)對(duì)解壓后的文件內(nèi)容進(jìn)行分離,分離為文件內(nèi)容明文和簽名的單向散列值。

e)用文件發(fā)送方的公開密鑰對(duì)簽名的單向散列值進(jìn)行非對(duì)稱解密,驗(yàn)證文件發(fā)送方的身份。

f)用單向散列函數(shù)對(duì)文件內(nèi)容明文計(jì)算單向散列值。

g)比較計(jì)算的單向散列值和接收的單向散列值是否相同,如果相同說(shuō)明接收文件的內(nèi)容完整,否則說(shuō)明文件內(nèi)容不完整。

h)確認(rèn)文件的機(jī)密性和完整性,驗(yàn)證文件發(fā)送方身份無(wú)誤之后,輸出文件明文,否則提示相應(yīng)的錯(cuò)誤。

小知識(shí)之端到端加密

端到端加密允許數(shù)據(jù)在從源點(diǎn)到終點(diǎn)的傳輸過(guò)程中始終以密文形式存在。采用端到端加密(又稱脫線加密或包加密),消息在被傳輸時(shí)到達(dá)終點(diǎn)之前不進(jìn)行解密,因?yàn)橄⒃谡麄€(gè)傳輸過(guò)程中均受到保護(hù),所以即使有節(jié)點(diǎn)被損壞也不會(huì)使消息泄露。