以太網(wǎng)(企業(yè)內(nèi)部網(wǎng)、國際互聯(lián)網(wǎng))、無線通信網(wǎng)(蜂窩電話、WiFi)和電力線通信(PLC)等網(wǎng)絡(luò)設(shè)備由服務(wù)器或基站以及網(wǎng)絡(luò)節(jié)點(diǎn)或網(wǎng)絡(luò)設(shè)備構(gòu)成,批量生產(chǎn)的網(wǎng)絡(luò)設(shè)備根據(jù)具體的網(wǎng)絡(luò)容量進(jìn)行組裝。為了得到一個(gè)受控的高可靠性網(wǎng)絡(luò)系統(tǒng),開發(fā)人員面臨兩大設(shè)計(jì)挑戰(zhàn):必須對(duì)所有連接到網(wǎng)絡(luò)的設(shè)備進(jìn)行認(rèn)證;允許通過服務(wù)器進(jìn)行遠(yuǎn)程升級(jí)。
對(duì)接入網(wǎng)絡(luò)的設(shè)備進(jìn)行授權(quán)認(rèn)證非常困難。未經(jīng)許可的設(shè)備可能會(huì)通過破環(huán)系統(tǒng)性能、干擾用戶從而直接危害到供應(yīng)商的收益。但是,網(wǎng)絡(luò)認(rèn)證功能同時(shí)也為供應(yīng)商提供了二次商機(jī),即通過服務(wù)器對(duì)購買升級(jí)功能的用戶設(shè)備進(jìn)行升級(jí)。
幾大網(wǎng)絡(luò)認(rèn)證方法比較
認(rèn)證過程是建立兩個(gè)目標(biāo)(這里指服務(wù)器和網(wǎng)絡(luò)設(shè)備)之間身份鑒定的過程。認(rèn)證過程必須避免未經(jīng)授權(quán)的制造商或克隆廠商從事的偽造或仿真活動(dòng)。身份認(rèn)證的最佳途徑是采用系統(tǒng)令牌,網(wǎng)絡(luò)設(shè)備處理器結(jié)合認(rèn)證令牌進(jìn)行通信,從而對(duì)設(shè)備進(jìn)行鑒定。通過適當(dāng)配置認(rèn)證令牌限制設(shè)備的接入,最終達(dá)到杜絕假冒偽劣網(wǎng)絡(luò)設(shè)備的接入。
本地網(wǎng)的服務(wù)器距離網(wǎng)絡(luò)設(shè)備近,很難通過制造商進(jìn)行升級(jí)。例如,帶有附屬模塊(例如墨盒)的打印機(jī),其中,服務(wù)器是打印機(jī)中的微處理器,網(wǎng)絡(luò)設(shè)備就是那些模塊。
遠(yuǎn)程網(wǎng)絡(luò)的服務(wù)器工作環(huán)境安全,但是服務(wù)供應(yīng)商保持對(duì)其的接入權(quán)限。遠(yuǎn)程網(wǎng)絡(luò)存在一些如不安全的通信鏈路等潛在問題,但其確實(shí)為實(shí)際應(yīng)用提供了便利:根據(jù)中心服務(wù)器的判定,可以在完成網(wǎng)絡(luò)安裝后進(jìn)行擴(kuò)容和偵測(cè)網(wǎng)絡(luò)的攻擊者(圖1)。
圖1: 設(shè)備交付用戶使用后,網(wǎng)絡(luò)運(yùn)營商通常無權(quán)接入局域網(wǎng)(左側(cè)) ;遠(yuǎn)程網(wǎng)絡(luò)(右側(cè))即使在交付用戶使用后也具有接入權(quán)限。
認(rèn)真研究遠(yuǎn)程服務(wù)器的工作環(huán)境,對(duì)照幾種接入控制的成本和優(yōu)勢(shì),可以使你在具體系統(tǒng)中應(yīng)用到最佳的認(rèn)證方法。認(rèn)證方案包括:簡單的密碼認(rèn)證、對(duì)稱密鑰認(rèn)證、公鑰認(rèn)證、散列認(rèn)證等。以下內(nèi)容還討論了網(wǎng)絡(luò)設(shè)備升級(jí)功能的優(yōu)勢(shì)。
簡單的密碼認(rèn)證 最簡單的認(rèn)證方法就是判斷密碼是否正確。這種方法成本最低,因?yàn)椴恍枰~外的硬件或軟件支持加密/認(rèn)證算法。由于密碼為透明傳輸,即通過通信鏈路傳輸,很容易被截取并在以后復(fù)制(圖2),由此可見,簡單的密碼檢驗(yàn)方案的安全性很差。
圖2: 密碼檢驗(yàn)的第3步通信容易造成密鑰被竊取
對(duì)于基本的密碼認(rèn)證來說,網(wǎng)絡(luò)設(shè)備和服務(wù)器必須有一個(gè)公認(rèn)的密鑰,如果網(wǎng)絡(luò)設(shè)備具有一個(gè)唯一的識(shí)別碼,可以利用該識(shí)別碼構(gòu)成設(shè)備唯一的密鑰。
對(duì)稱密鑰認(rèn)證 利用加密算法將安全信息從網(wǎng)絡(luò)設(shè)備發(fā)送到服務(wù)器,安全設(shè)備需要將加密密鑰編程到網(wǎng)絡(luò)設(shè)備中。實(shí)際應(yīng)用中有兩種類型的加密密鑰:對(duì)稱密鑰和非對(duì)稱密鑰(公鑰/私鑰)。對(duì)稱密鑰在服務(wù)器和網(wǎng)絡(luò)設(shè)備上共用同一密鑰(圖3)。
圖3: 對(duì)稱密鑰認(rèn)證中,隨機(jī)質(zhì)詢可以避免重復(fù)的響應(yīng)通信
利用處理器實(shí)現(xiàn)這一認(rèn)證比較簡單,但比簡單的密碼檢驗(yàn)要繁瑣。由于服務(wù)器和網(wǎng)絡(luò)設(shè)備之間的通信數(shù)據(jù)經(jīng)過加密,無法被攻擊者仿真,這種方法具有較高的安全性。另一方面,對(duì)稱加密算法通常僅采用簡單的運(yùn)算,例如“或”運(yùn)算和移位,具體實(shí)施成本并不高,利用微處理器即可實(shí)現(xiàn)。
該方案的前提是:網(wǎng)絡(luò)設(shè)備和服務(wù)器必須具備公用的對(duì)稱加密密鑰,如果網(wǎng)絡(luò)設(shè)備具有唯一的識(shí)別碼,則可利用識(shí)別碼構(gòu)成設(shè)備的唯一密鑰。
非對(duì)稱密鑰認(rèn)證 非對(duì)稱加密系統(tǒng)(公鑰/私鑰)不共用同一密鑰,每臺(tái)設(shè)備包含一個(gè)私鑰和一個(gè)公鑰。證書可以安裝到網(wǎng)絡(luò)設(shè)備以便驗(yàn)證其授權(quán)。由于公鑰/私鑰算法涉及到大量的計(jì)算,實(shí)施方案需要占用較大的存儲(chǔ)空間和CPU資源,成本較高(圖4)。例如,RSA公鑰加密需要模冪運(yùn)算。另外,還需要注意采用這類加密算法的器件受美國政府的出口限制。
該方案的前提是:網(wǎng)絡(luò)設(shè)備必須裝載包含網(wǎng)絡(luò)設(shè)備公鑰的證書,用服務(wù)器私鑰加密。用服務(wù)器公鑰解密后,可以驗(yàn)證網(wǎng)絡(luò)設(shè)備的合法性。
基于散列算法的認(rèn)證 散列(Hash)算法是將一串字符轉(zhuǎn)換成較短的、固定長度的數(shù)值或加密信息,以此代表原來的字符串。散列加密(特別是安全散列算法將其部分輸入作為密鑰)也可用于認(rèn)證(圖5)。