版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系我們

[科普中國]-應(yīng)用透明性

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識(shí)科普陣地
收藏

應(yīng)用透明性的概念

應(yīng)用透明性(application transparency)是指從網(wǎng)絡(luò)的任何一個(gè)接入點(diǎn)都能獲取一組公用應(yīng)用的能力。

透明性是指應(yīng)用與安全協(xié)議之間相互作用的程度以及是否必須改進(jìn)應(yīng)用以利用協(xié)議所提供的服務(wù),通常,下移協(xié)議堆棧會(huì)使安全變得更透明。從應(yīng)用的觀點(diǎn)來看,當(dāng)安全服務(wù)是作為協(xié)議堆棧的一部分的時(shí)候,在傳輸層實(shí)現(xiàn)的安全很少要求應(yīng)用的改進(jìn)(注意,主操作系統(tǒng)會(huì)管理協(xié)議堆棧)。例如,考慮協(xié)議堆棧內(nèi)的一個(gè)在傳輸層實(shí)現(xiàn)的安全協(xié)議,它能保證多個(gè)應(yīng)用通過使用同一傳輸層協(xié)議(TCP或UDP)實(shí)現(xiàn)通信,并對(duì)用戶透明。網(wǎng)絡(luò)層操作的一個(gè)安全協(xié)議能保證占用不同傳輸層通信協(xié)議的多重應(yīng)用,并對(duì)用戶透明。例如,IPSec能保護(hù)TCP和UDP通信,而不需要更改應(yīng)用或是傳輸層協(xié)議。進(jìn)一步考慮這一概念,在網(wǎng)絡(luò)層之下運(yùn)行的安全協(xié)議能保證任意數(shù)目通過不同傳輸層和網(wǎng)絡(luò)層通信協(xié)議來實(shí)現(xiàn)通信的應(yīng)用。

至此,我們已假定所有操作于傳輸層或傳輸層之下的安全服務(wù)由一個(gè)協(xié)議堆棧提供。然而,當(dāng)在協(xié)議堆棧之外實(shí)現(xiàn)保密時(shí),其透明性將會(huì)在很大程度上取決于安全協(xié)議和要求的安全服務(wù)。例如,大多數(shù)安全套接層(SSL)和傳輸層安全(TLS)的實(shí)現(xiàn)都是在應(yīng)用層和傳輸層操作的。這使得我們無需改變協(xié)議堆棧就可以將SSL/TLS的機(jī)能添加到應(yīng)用中。但是,SSL/TLS都要求對(duì)應(yīng)用做小小的修改以獲得提供的安全。這種改動(dòng)通常要通過調(diào)用一個(gè)SSL/TLS軟件開發(fā)工具包(SDK)來更換應(yīng)用中所有的TCP套接調(diào)用。SDK執(zhí)行所有用密碼編寫的操作,并為每個(gè)由應(yīng)用創(chuàng)建的SSL/TLS對(duì)話保持對(duì)話狀態(tài)的所有信息。

應(yīng)用透明性的工作原理易于集成集成一個(gè)安全協(xié)議的難易程度常常和協(xié)議操作的所在層有關(guān)。在應(yīng)用層或應(yīng)用層和傳送層邊界執(zhí)行的協(xié)議,比如S/MIME和大多數(shù)SSL和TLS的實(shí)現(xiàn),要求修改應(yīng)用以獲得協(xié)議提供的安全服務(wù)。對(duì)一個(gè)有經(jīng)驗(yàn)的程序員來說,在得到應(yīng)用的源代碼,并有合適的開發(fā)工具時(shí),這些改動(dòng)相對(duì)要容易一些,所有的應(yīng)用必須分開啟動(dòng)。就像在應(yīng)用透明性那一部分提到的那樣,很多SSL/TLS軟件包可用于向應(yīng)用添加加密、集成、校驗(yàn)服務(wù)。在使用這些軟件包時(shí),無需修改協(xié)議堆棧,因?yàn)檐浖趥鬏攲拥倪吘増?zhí)行。因此,當(dāng)?shù)米C一個(gè)或少量的應(yīng)用的安全是,應(yīng)用層協(xié)議常常是最簡(jiǎn)單并易于實(shí)現(xiàn)的。

集成網(wǎng)絡(luò)層安全協(xié)議,如IPSec,常常要設(shè)計(jì)對(duì)已有協(xié)議堆棧的修改。這些改動(dòng)要求直接獲得堆棧的源代碼,并掌握開發(fā)協(xié)議堆棧的專門技術(shù)。另一個(gè)辦法不涉及對(duì)協(xié)議堆棧的修改,但必須使用一個(gè)墊片層以銜接網(wǎng)絡(luò)層和鏈路層間的協(xié)議堆棧。IPSec軟件包,比如RSA Security的BSAFE IPSEC-C和SSH的IPSec Express,通過使用一個(gè)墊片層實(shí)現(xiàn)IPSec(通常包含一組截?。N覀儠?huì)在后面的安全協(xié)議實(shí)現(xiàn)那一部分討論這種技術(shù)。

鏈路層安全協(xié)議常常在網(wǎng)絡(luò)接口卡(NIC)的設(shè)備驅(qū)動(dòng)內(nèi)部實(shí)現(xiàn)。設(shè)備驅(qū)動(dòng)控制NIC的操作,并負(fù)責(zé)鏈路層的執(zhí)行過程,如在NIC把上層數(shù)據(jù)轉(zhuǎn)換為物理信號(hào)之前,添加報(bào)頭和尾。盡管鏈路層協(xié)議對(duì)網(wǎng)絡(luò)層透明,但并不要求修改已有的TCP/IP堆棧,而是要求掌握對(duì)設(shè)備驅(qū)動(dòng)開發(fā)的低層次知識(shí)??梢钥吹剑瑓f(xié)議堆棧越往下移,將一個(gè)安全嵌入一個(gè)系統(tǒng)所需要的知識(shí)就越專業(yè)。

配置和策略設(shè)定當(dāng)下移協(xié)議堆棧時(shí),配置和策略設(shè)定變得更通用,也就是說,它們將適用于更高層的通信協(xié)議和應(yīng)用。例如,SSL的諸如驗(yàn)證方法和密碼設(shè)定,被用于一個(gè)應(yīng)用內(nèi)部的通信對(duì)話。另一方面,IPSec的配置設(shè)定能同時(shí)用所有更高層的協(xié)議和應(yīng)用。這種靈活性部分是因?yàn)镮P的連接屬性。連接協(xié)議將每個(gè)數(shù)據(jù)包當(dāng)作一個(gè)自主單元。這使得安全協(xié)議對(duì)經(jīng)過主機(jī)的所有數(shù)據(jù)包加密,而不必考慮數(shù)據(jù)包屬于哪個(gè)對(duì)話或應(yīng)用。此外,IPSec策略設(shè)定能應(yīng)用于多重高層協(xié)議和應(yīng)用。因?yàn)镮PSec對(duì)數(shù)據(jù)包屬性的能見度高于高層協(xié)議(高層協(xié)議含有更多協(xié)議報(bào)頭以獲得信息),它能提供一套詳細(xì)的過濾組選項(xiàng)。IPSec能根據(jù)數(shù)據(jù)包的源地址、源端口和目的地址、目的端口以及傳輸層協(xié)議、用戶名或系統(tǒng)名對(duì)數(shù)據(jù)包進(jìn)行過濾。1