網(wǎng)絡系統(tǒng)安全接入認證方法探究
以太網(wǎng)(企業(yè)內(nèi)部網(wǎng)、國際互聯(lián)網(wǎng))、無線通信網(wǎng)(蜂窩電話、WiFi)和電力線通信(PLC)等網(wǎng)絡設備由服務器或基站以及網(wǎng)絡節(jié)點或網(wǎng)絡設備構(gòu)成,批量生產(chǎn)的網(wǎng)絡設備根據(jù)具體的網(wǎng)絡容量進行組裝。為了得到一個受控的高可靠性網(wǎng)絡系統(tǒng),開發(fā)人員面臨兩大設計挑戰(zhàn):必須對所有連接到網(wǎng)絡的設備進行認證;允許通過服務器進行遠程升級。
對接入網(wǎng)絡的設備進行授權(quán)認證非常困難。未經(jīng)許可的設備可能會通過破環(huán)系統(tǒng)性能、干擾用戶從而直接危害到供應商的收益。但是,網(wǎng)絡認證功能同時也為供應商提供了二次商機,即通過服務器對購買升級功能的用戶設備進行升級。
幾大網(wǎng)絡認證方法比較
認證過程是建立兩個目標(這里指服務器和網(wǎng)絡設備)之間身份鑒定的過程。認證過程必須避免未經(jīng)授權(quán)的制造商或克隆廠商從事的偽造或仿真活動。身份認證的最佳途徑是采用系統(tǒng)令牌,網(wǎng)絡設備處理器結(jié)合認證令牌進行通信,從而對設備進行鑒定。通過適當配置認證令牌限制設備的接入,最終達到杜絕假冒偽劣網(wǎng)絡設備的接入。
本地網(wǎng)的服務器距離網(wǎng)絡設備近,很難通過制造商進行升級。例如,帶有附屬模塊(例如墨盒)的打印機,其中,服務器是打印機中的微處理器,網(wǎng)絡設備就是那些模塊。
遠程網(wǎng)絡的服務器工作環(huán)境安全,但是服務供應商保持對其的接入權(quán)限。遠程網(wǎng)絡存在一些如不安全的通信鏈路等潛在問題,但其確實為實際應用提供了便利:根據(jù)中心服務器的判定,可以在完成網(wǎng)絡安裝后進行擴容和偵測網(wǎng)絡的攻擊者(圖1)。
圖1: 設備交付用戶使用后,網(wǎng)絡運營商通常無權(quán)接入局域網(wǎng)(左側(cè)) ;遠程網(wǎng)絡(右側(cè))即使在交付用戶使用后也具有接入權(quán)限。
認真研究遠程服務器的工作環(huán)境,對照幾種接入控制的成本和優(yōu)勢,可以使你在具體系統(tǒng)中應用到最佳的認證方法。認證方案包括:簡單的密碼認證、對稱密鑰認證、公鑰認證、散列認證等。以下內(nèi)容還討論了網(wǎng)絡設備升級功能的優(yōu)勢。
簡單的密碼認證 最簡單的認證方法就是判斷密碼是否正確。這種方法成本最低,因為不需要額外的硬件或軟件支持加密/認證算法。由于密碼為透明傳輸,即通過通信鏈路傳輸,很容易被截取并在以后復制(圖2),由此可見,簡單的密碼檢驗方案的安全性很差。
圖2: 密碼檢驗的第3步通信容易造成密鑰被竊取
對于基本的密碼認證來說,網(wǎng)絡設備和服務器必須有一個公認的密鑰,如果網(wǎng)絡設備具有一個唯一的識別碼,可以利用該識別碼構(gòu)成設備唯一的密鑰。
對稱密鑰認證 利用加密算法將安全信息從網(wǎng)絡設備發(fā)送到服務器,安全設備需要將加密密鑰編程到網(wǎng)絡設備中。實際應用中有兩種類型的加密密鑰:對稱密鑰和非對稱密鑰(公鑰/私鑰)。對稱密鑰在服務器和網(wǎng)絡設備上共用同一密鑰(圖3)。
圖3: 對稱密鑰認證中,隨機質(zhì)詢可以避免重復的響應通信
利用處理器實現(xiàn)這一認證比較簡單,但比簡單的密碼檢驗要繁瑣。由于服務器和網(wǎng)絡設備之間的通信數(shù)據(jù)經(jīng)過加密,無法被攻擊者仿真,這種方法具有較高的安全性。另一方面,對稱加密算法通常僅采用簡單的運算,例如“或”運算和移位,具體實施成本并不高,利用微處理器即可實現(xiàn)。
該方案的前提是:網(wǎng)絡設備和服務器必須具備公用的對稱加密密鑰,如果網(wǎng)絡設備具有唯一的識別碼,則可利用識別碼構(gòu)成設備的唯一密鑰。
非對稱密鑰認證 非對稱加密系統(tǒng)(公鑰/私鑰)不共用同一密鑰,每臺設備包含一個私鑰和一個公鑰。證書可以安裝到網(wǎng)絡設備以便驗證其授權(quán)。由于公鑰/私鑰算法涉及到大量的計算,實施方案需要占用較大的存儲空間和CPU資源,成本較高(圖4)。例如,RSA公鑰加密需要模冪運算。另外,還需要注意采用這類加密算法的器件受美國政府的出口限制。
該方案的前提是:網(wǎng)絡設備必須裝載包含網(wǎng)絡設備公鑰的證書,用服務器私鑰加密。用服務器公鑰解密后,可以驗證網(wǎng)絡設備的合法性。
基于散列算法的認證 散列(Hash)算法是將一串字符轉(zhuǎn)換成較短的、固定長度的數(shù)值或加密信息,以此代表原來的字符串。散列加密(特別是安全散列算法將其部分輸入作為密鑰)也可用于認證(圖5)。
將部分輸入作為密鑰時,產(chǎn)生的結(jié)果稱為信息認證代碼(MAC)。散列加密算法具備以下特征:具有較高的雪崩效應,輸入很小的變化即可導致顯著的輸出變化;必須具備較好的單向性(不可逆),從輸出數(shù)據(jù)無法推導出輸入信息;最后,還必須能夠避免沖突,兩個不同的散列輸入不能產(chǎn)生相同的散列輸出。典型的散列算法(移位、異或、與)占用較少的系統(tǒng)資源,實施成本較低。
該方案的前提是:網(wǎng)絡設備和服務器必須有一個共用密鑰,用于MAC散列加密計算。如果網(wǎng)絡設備具有唯一的識別碼(ID),ID可以用作設備的唯一密鑰。
散列算法的實現(xiàn) 為了嵌入加密散列算法,例如SHA-1,可以選擇:微處理器、ASIC、FPGA或廠商提供的專用器件(表1)。這些器件都可以作為網(wǎng)絡設備的認證令牌進行散列認證。如圖5所示,通過執(zhí)行嵌入在器件內(nèi)部的SHA-1加密散列運算,由網(wǎng)絡設備和服務器共同產(chǎn)生MAC。
表1: Maxim的SHA-1存儲器件
SHA-1是聯(lián)邦信息委員會出版的180-1和180-2 (FIPS 180-1、FIPS 180-2)以及ISO/IEC 10118-3定義的一種公共標準。目前使用的SHA散列算法是FIPS批準的散列認證方法。由于SHA-1滿足上述三項原則(不可逆、防沖突、較好的雪崩效應)而成為普遍使用的一種算法。
遠程升級功能
Maxim器件的認證協(xié)議提供一個32字節(jié)授權(quán)數(shù)據(jù)頁,它可以用于軟件管理或其他控制。對于給定的硬件平臺,可以選擇軟件功能。授權(quán)頁的數(shù)據(jù)可以指定啟用哪些功能。Maxim的SHA-1存儲器需要一個SHA-1 MAC完成EEPROM存儲器的寫操作,這一操作還要求服務器對網(wǎng)絡設備進行認證。利用這一功能,即使在沒有安全保護措施的網(wǎng)絡上也可以實現(xiàn)設備的遠程升級。進行寫操作時,SHA-1 MAC需要包括原存儲器數(shù)據(jù)、新的存儲器數(shù)據(jù)以及唯一的器件ID。
該加密技術(shù)的關(guān)鍵是把部分應用存儲器數(shù)據(jù)作為“隨機數(shù)”。寫MAC實現(xiàn)功能升級時需要包含原功能數(shù)據(jù)、原隨機數(shù)、新功能數(shù)據(jù)、新隨機數(shù)以及唯一的器件ID。得到不可重復的、唯一的升級事件計算結(jié)果寫入經(jīng)過認證的器件。圖6所示為寫存儲器MAC的SHA-1 MAC輸入,圖7所示為升級時序。
圖6
圖7: 在遠程升級之前和之后執(zhí)行散列認證,確認目標設備已經(jīng)過授權(quán),完成升級過程。
應用實例
以下給出了實際系統(tǒng)中基于SHA-1的安全器件的工作原理(圖8)。圖中利用DS28CN01認證令牌實現(xiàn)雙向認證,通過I2C接口與主機通信。這種情況下,主處理器為網(wǎng)絡控制器,與基站進行數(shù)據(jù)通信,基站與連接到DS28CN01的微處理器進行通信。微處理器產(chǎn)生部分隨機質(zhì)詢碼,主機提供另一部分隨機碼,從而完成主機令牌認證。該技術(shù)可以避免主機產(chǎn)生質(zhì)詢-響應對而對其他系統(tǒng)造成混淆。
圖8: 雙向認證不需要安全網(wǎng)絡連接
基站認證 主機創(chuàng)建7字節(jié)隨機質(zhì)詢碼和所要求的頁碼,將其發(fā)送給基站#1的微處理器。基站#1的微處理器通過I2C接口與DS28CN01通信,轉(zhuǎn)發(fā)隨機質(zhì)詢碼并在所選擇的頁面計算頁MAC。計算頁MAC將利用頁數(shù)據(jù)、唯一的ROM ID和密鑰進行SHA-1運算?;?1微處理器從DS28CN01重新得到MAC、頁數(shù)據(jù)和唯一的ROM ID,并將它們通過非安全鏈路轉(zhuǎn)發(fā)給主機。主機進行相同的SHA-1計算,驗證基站#1返回的MAC是否正確。如果不匹配,主機將拒絕基站#1的網(wǎng)絡接入。
主機認證 首先執(zhí)行基站認證過程,基站#1的微處理器產(chǎn)生3字節(jié)質(zhì)詢碼并將其通過非安全通信鏈路發(fā)送給主機;主機產(chǎn)生4字節(jié)質(zhì)詢,與基站的3字節(jié)質(zhì)詢碼相組合,產(chǎn)生7字節(jié)質(zhì)詢碼。這個7字節(jié)數(shù)據(jù)和基站認證中的頁數(shù)據(jù)、ROM ID一起進行SHA-1運算,產(chǎn)生頁MAC。該MAC和主機產(chǎn)生的4字節(jié)質(zhì)詢碼隨后送回基站#1的微處理器。
基站#1微處理器提取附加的4字節(jié)質(zhì)詢碼,結(jié)合它發(fā)送給主機的3字節(jié)質(zhì)詢,得到一個7字節(jié)質(zhì)詢碼,利用原先基站認證中的頁面,在DS28CN01中計算頁MAC。隨后,將其與主機發(fā)送的MAC結(jié)果進行比較。如果不匹配,基站將屏蔽主機的功能選項。