解析雲計算時代密碼安全協議模塊:西電捷通AEC200

雲計算 網絡安全 軟件 物聯網 網絡安全道 2017-04-28

西電捷通架構與編碼研究

導讀:“雲計算”概念進入中國十年來,它再也不是虛無縹緲的概念了,而是變成了實實在在的產業。據工信部最新預計,到2019年,我國雲計算產業規模將達到4300億元。雲計算的發展勢如破竹,前景喜人。不過,隨著雲計算應用的日益複雜,其安全問題變得異常“棘手”,而這一切的產生源於雲計算獨特的虛擬化的計算環境。基於此,各路安全廠商亦貼合前沿需求而不斷研發新型的安全技術,西電捷通於2015年研發成功的“密碼安全協議模塊”,正是在這場雲計算安全技術浪潮中一個基本單元,而絕大多數網絡安全基礎技術的開發、演進、迭代都離不開這一基本單元。其實,除了雲計算,在物聯網、可信計算等場景,都有“密碼安全協議模塊”的身影,本文我們將全面闡述適用於網絡七層協議的“密碼安全協議模塊”AEC200產品。

適用於網絡七層協議的西電捷通AEC200

2015年,西電捷通研發成功商用型的“密碼安全協議模塊產品”,型號為AEC200。西電捷通AEC200最大優勢在於,其可以支撐網絡七層協議中的任意一層。西電捷通AEC200不僅適用於無線安全、有線安全、物聯網安全、移動支付等多種安全應用領域,而且還為網絡安全協議提供基於身份鑑別和平臺鑑別必要的密碼算法運算和密鑰管理機制,本質上密碼安全協議模塊是網絡安全協議的核心組件。

具體來說,西電捷通AEC200採用的安全芯片為8位ISC8051 CPU,兼容標準8051指令集,其優點匯於一身。不單單是豐富的中斷機制,支持兩級中斷,中斷優先級可配,支持兩個16位Timer,還可以內嵌256KB FLASH,通過單口6.25KB CPU RAM,雙口1KB PKU RAM,448B USB Buffer,支持多種模式的DMA 傳輸,加速存取速度。

AEC200產品具有密鑰管理、密碼算法調用、真隨機數產生、證書解析、權限管理等五大功能。這五大功能內嵌於芯片固件程序和密碼安全協議服務軟件中,從而為安全協議提供密碼算法支撐。

AEC200產品擁有一套完整的密鑰管理機制,涵蓋密鑰的生成、存儲、更新、使用、導入、導出、清除等功能。與此同時,該產品的密鑰採用“密鑰池”管理,當密鑰池中的數據採用“全密文存儲”時,只有通過授權後方能訪問。此外該產品支持多組SM2密鑰對和ECC192密鑰對,多組密鑰有助於開展多業務鑑別。

AEC200產品主要由軟件和硬件組成。其中軟件為密碼安全協議服務軟件,硬件為安全芯片和固件,其工作原理如圖1所示。

解析雲計算時代密碼安全協議模塊:西電捷通AEC200

圖1 AEC200工作原理

用戶在使用密碼安全協議模塊時,調用密碼模塊對外提供的統一接口函數,這些接口函數按照統一的幀結構格式通過USB/SPI/I2C/UART/7816任何一種通信接口,把數據傳輸給安全芯片,安全芯片按照用戶的需求進行處理,把處理完的結果再反向傳輸給用戶。

七大模塊構築西電捷通AEC200工程化

AEC200產品以安全芯片形態呈現,在芯片內部集成了密鑰管理、密碼算法服務、證書解析、真隨機數產生、權限管理等五大功能,支持USB/SPI/I2C/UART/7816等多種硬件接口的訪問。

如前述所言,AEC200產品的軟件部分是產品提供密碼安全協議服務軟件,該軟件主要由密碼安全協議服務應用程序接口API(Application Program Interface,簡稱API)構成。當AEC200對外向用戶提供統一調用接口時,用戶通過調用相應的API與密碼模塊完成數據交換。

西電捷通AEC200工程開發,涵蓋以下七大模塊:

1、密鑰管理模塊

密鑰管理模塊重在搭建連接機制。在芯片中實現密鑰生成、密鑰存儲、密鑰更新、密鑰使用、密鑰導入、密鑰導出、密鑰清除等功能之後,軟件模塊中密鑰管理訪問接口隨即生成。

2、密碼算法服務模塊

密碼算法服務模塊整合了多種算法,該模塊不僅覆蓋SM2數字簽名算法、SM2密鑰交換協議、SM2公鑰加密算法、SM3雜湊算法、SM1/SM4對稱算法,而且還支持ECDSA、ECDH、SHA256算法。值得一提的是,SM1/SM4對稱算法兼容ECB、CBC、OFB、MAC、CBC-MAC、GCM等多種模式。高度兼容性,有助於在軟件模塊中建立算法訪問接口。

3、證書解析模塊

證書解析模塊是解決在互聯網上驗證通信實體身份問題的鑰匙。在芯片中分別實現證書解析,該證書主要針對X.509 V3(ECC)格式證書進行解析,其中支持證書採用BASE64編碼,在軟件模塊中實現證書解析訪問接口。

4、真隨機數產生模塊

真隨機數產生模塊旨在打造產生高安全、高隨機的數據。在密碼學中,隨機數產生的好與壞直接影響到對數據加密、數字簽名、密鑰交換、身份鑑別等應用的安全性,尤其是當用某一隨機數作為密鑰時,這一點更為重要。在芯片通過硬邏輯時實現真隨機產生,在軟件模塊中實現隨機數訪問接口。

5、權限管理模塊

權限管理模塊為密碼模塊尋找了一個更安全的體系結構。在密碼模塊的設計過程中,涉及到密鑰的操作都需要有管理員權限。有些操作需要有操作員權限。在芯片中分別實現管理員口令鑑別、管理員口令更新、管理員權限釋放、操作員口令鑑別、操作員口令更新、操作員權限釋放等權限管理功能,在軟件模塊中實現隨機數訪問接口,口令鑑別採用防重放和加密技術,增強了操作的安全性。

6、驅動模塊

面對不同的平臺、不同的通信接口,例如USB/SPI/I2C/UART/7816,開發相應的驅動,即驅動模塊。

7、測試模塊

針對不同的平臺、不同的通信接口,對密碼安全協議模塊的功能進行全面驗證。

用戶通過調用AEC200統一的API接口,實現上述前5個模塊的各項功能調用。根據這5個模塊共定義了5類接口,數據封裝格式全部採用統一的幀結構。

接口分類如表1所示:

表1 西電捷通AEC200接口分類

解析雲計算時代密碼安全協議模塊:西電捷通AEC200

幀結構如表2所示:

表2 西電捷通AEC200幀結構

解析雲計算時代密碼安全協議模塊:西電捷通AEC200

1、Version:幀格式版本號。

2、Flag:最高bit位表示讀取包(1)或者發送包(0),次高位表示分片是否結束;若為0,則表示結束,其餘位表示分片序號,從0開始。

3、CMDType:命令類型。

4、CMD:命令。

5、Length:運算數據長度。

6、Data:運算數據。

7、CRC:對Version、Flag、CMDType、CMD、Length、Data計算兩字節的校驗值。

西電捷通AEC200應用聚焦網絡安全

西電捷通AEC200是一個獨立封閉的系統模塊,提供了密鑰管理、密碼算法調用、真隨機數產生、證書解析、權限管理等功能。西電捷通AEC200作為安全技術開發的基本單位,與網絡安全協議無線局域網安全WAPI、有線局域網安全TLSec、IP可信安全TISec、射頻識別安全TRAIS、移動支付安全MPAS、可信連接架構TCA等一起作用,形成了保障整個網絡安全的堅實基礎。

相關推薦

推薦中...