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