Microsemi 驅蟲器運行安全 WebSmartFusion2 上的服務器
修訂歷史
修訂歷史描述了文檔中實施的更改。
更改按修訂列出,從最新的出版物開始。
修訂版9.0
以下是此次修訂中所做更改的摘要。
- 更新了 Libero SoC v2021.1 的文檔。
- 刪除了對 Libero 版本號的引用。
修訂版8.0
更新了 Libero v11.8 SP1 軟件版本的文檔。
修訂版7.0
以下是本文檔 7.0 版本中所做的更改。
- Libero SoC、FlashPro 和 SoftConsole 設計要求已更新。 有關詳細信息,請參閱設計要求,第 5 頁。
- 在整個指南中,演示設計中使用的 SoftConsole 項目的名稱和所有相關圖形都已更新。
修訂版6.0
在本文檔的修訂版 11.7 中更新了 Libero v76931 軟件版本 (SAR 6.0) 的文檔。
修訂版5.0
更新了 SoftConsole 固件項目,第 9 頁 (SAR 73518)。
修訂版4.0
更新了 Libero v11.6 軟件版本 (SAR 72058) 的文檔。
修訂版3.0
更新了 Libero v11.5 軟件版本 (SAR 63973) 的文檔。
修訂版2.0
更新了 Libero v11.4 軟件版本 (SAR 60685) 的文檔。
修訂版1.0
1.0 版是本文檔的首次發布。
安全運行 WebSmartFusion2 設備上的服務器演示設計
使用 PolarSSL、lwIP 和 FreeRTOS
該演示解釋了安全 web使用傳輸層安全性 (TLS) 的服務器功能,
SmartFusion®2 設備的安全套接字層 (SSL) 協議和三速以太網介質訪問控制器 (TSEMAC)。 該演示描述了:
- 使用連接到串行千兆位媒體獨立接口 (SGMII) PHY 的 SmartFusion2 以太網媒體訪問控制 (MAC)。
- 將 SmartFusion2 MAC 驅動程序與 PolarSSL 庫(免費的 TLS/SSL 協議庫)、輕量級 IP (lwIP) TCP/IP 堆棧和免費的實時操作系統 (RTOS) 集成。
- 使用Microsemi加密系統服務來實現TLS/SSL協議。
- 實施安全 webSmartFusion2 高級開發套件板上的服務器應用程序。
- 運行演示。
SmartFusion2 微控制器子系統 (MSS) 中的 TSEMAC 外設實例可配置為以以下數據速率(線速)在主機 PC 和以太網之間傳輸數據:
- 10Mbps
- 100Mbps
- 1000Mbps
有關 SmartFusion2 器件的 TSEMAC 接口的更多信息,請參閱 UG0331:SmartFusion2 微控制器子系統用戶指南。
安全的 Web服務器演示設計結束view
安全 web服務器應用程序支持 TLS/SSL 安全協議,可對消息進行加密和解密,從而確保通信免受消息攻擊的影響amp呃。 來自安全的通信 web服務器確保敏感數據可以轉換為密碼,使其難以被竊取amp呃,有數據。
安全 web服務器演示設計由以下幾層組成,如圖 1 所示:
- 應用層
- 安全層(TLS/SSL 協議)
- 傳輸層(lwIP TCP/IP 堆棧)
- RTOS 和固件層
安全運行 Web使用 PolarSSL、lwIP 和 FreeRTOS 在 SmartFusion2 設備上進行服務器演示設計
圖 1 • 安全 Web服務器層
應用層(HTTPS) | 自由即時作業系統 |
安全層(TLS/SSL 協議) | |
傳輸層(IwIP TCP/IP 堆棧) | |
固件層 | |
SmartFusion2 高級開發套件(硬件) |
應用層
安全 web服務器應用程序在 SmartFusion2 高級開發套件板上實現。 應用程序處理來自客戶端瀏覽器的 HTTPS 請求,並將靜態頁面傳輸到客戶端以響應其請求。 這些頁面在客戶端(主機 PC)瀏覽器上運行。 下圖顯示了連接服務器的框圖(安全 web在 SmartFusion2 設備上運行的服務器應用程序)和客戶端(web 在主機 PC 上運行的瀏覽器)。
圖 2 • 客戶端服務器通信框圖
圖 2 • 客戶端服務器通信框圖
安全層(TLS/SSL 協議)
互聯網瀏覽器和 web服務器使用 TLS/SSL 協議安全地傳輸信息。
TLS/SSL 用於對服務器和客戶端進行身份驗證,以使用加密在經過身份驗證的各方之間建立安全通信。 該協議位於傳輸協議 TCP/IP 之上,如圖 1 第 3 頁所示。使用開源 PolarSSL 庫來實現 TLS/SSL 協議,以實現安全性。 web本演示中的服務器應用程序。
參考以下內容 URL完整的 TLS/SSL 協議實現細節:
- 傳輸層安全協議版本1.2: http://tools.ietf.org/html/rfc5246
- 傳輸層安全協議版本1.1: http://tools.ietf.org/html/rfc4346
- TLS 協議版本 1.0: http://tools.ietf.org/html/rfc2246
- 安全套接字層協議版本 3.0:http://tools.ietf.org/html/rfc6101
PolarSSL 庫包括加密和 TLS/SSL 協議實現。 該庫提供應用程序編程接口函數來實現安全 web使用 TLS/SSL 協議和軟件加密算法的服務器應用程序。
有關用 C 編寫的 TLS/SSL 協議庫源代碼和許可信息的更多信息,請參閱 https://polarssl.org/.
傳輸層(lwIP TCP/IP 堆棧)
lwIP 堆棧適用於嵌入式系統,因為它使用的資源很少,並且可以在有或沒有操作系統的情況下使用。 lwIP 由 IP、互聯網控制消息協議 (ICMP)、用戶數據包的實際實現組成tagRAM協議(UDP)和TCP協議,以及支持緩衝區和內存管理等功能。
lwIP 可以(在 BSD 許可證下)作為 C 源代碼從以下地址下載: http://download.savannah.gnu.org/releases/lwIP/
RTOS 和固件層
FreeRTOS 是一個開源實時操作系統內核。 此演示中使用 FreeRTOS 來確定任務的優先級和安排任務。 有關更多信息和最新源代碼,請參閱
http://www.freertos.org.
該固件提供軟件驅動程序實現來配置和控制以下 MSS 組件:
- 以太網 MAC
- 系統控制器服務
- 多模式通用異步/同步接收器/發送器 (MMUART)
- 通用輸入輸出(GPIO)
- 序列週邊介面 (SPI)
設計要求
下表列出了該演示設計的硬件和軟件設計要求。
表 1 • 設計要求
- 要求/版本
操作系統 64 位 Windows 7 和 10 - 硬體
SmartFusion2 高級開發套件:- 12V適配器
- FlashPro5編程器
- USB A 到 Mini-B 電纜
- 以太網電纜 RJ45
- 主機 PC 或筆記本電腦
- 軟體
FlashPro 快遞
筆記: 參考readme.txt file 在設計中提供 file用於此參考設計的軟件版本。 - Libero ® 片上系統 (SoC) view設計 files
- 軟件控制台
- MSS 以太網 MAC 驅動程序
- 主機 PC 驅動程序 USB 到 UART 驅動程序
- 以下串行終端仿真程序之一:
- 超級終端
- 泰拉術語
- 油灰
- 瀏覽器
Mozilla Firefox 版本 24 或更高版本
Internet Explorer 版本 8 或更高版本
筆記: 本指南中顯示的 Libero SmartDesign 和配置屏幕截圖僅用於說明目的。
打開 Libero 設計以查看最新更新。
先決條件
開始之前:
下載並安裝 Libero SoC(如 web此設計的站點)從以下位置在主機 PC 上。
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
演示設計
演示設計 file可以從以下鏈接下載:
http://soc.microsemi.com/download/rsc/?f=m2s_dg0516_df
下圖顯示了設計的頂層結構 file秒。 有關詳細信息,請參閱 Readme.txt file.
圖 3 • 演示設計 File頂層結構
演示設計功能
演示設計有以下選項:
- 閃爍的 LED
- 超級終端顯示
- SmartFusion2 谷歌搜索
演示設計說明
該演示設計是通過將 TSEMAC 配置為十位接口 (TBI) 操作,使用 SGMII PHY 接口來實現的。
有關 TSEMAC TBI 接口的更多信息,請參閱 UG0331:SmartFusion2 微控制器子系統用戶指南。
Libero SoC 硬件項目
下圖顯示了該演示設計的 Libero SoC 硬件設計實現。
圖 4 • Libero SoC 頂層硬件設計
Libero SoC 硬件項目使用以下 SmartFusion2 MSS 資源和 IP:
- TSEMAC TBI 接口。
- MMUART_0 用於 SmartFusion232 高級開發套件上的 RS-2 通信。
- GPIO:與發光二極管 (LED) 的接口
- 專用輸入焊盤 0 作為時鐘源
- 高速串行接口(SERDESIF) SERDES_IF IP:為SERDESIF_3 EPCS Lane3配置,如下圖所示。
有關高速串行接口的更多信息,請參閱 UG0447:IGLOO2 和 Smart-Fusion2 高速串行接口用戶指南。
圖 5 • 高速串行接口配置器窗口
- 加密系統控制器服務:實現TLS/SSL協議。
封裝引腳分配
LED 和 PHY 接口信號的封裝引腳分配如下表所示。
表 2 • LED 至封裝引腳分配
連接埠名稱 | 封裝引腳 |
LED_1 | D26 |
LED_2 | F26 |
LED_3 | F27 |
LED_4 | C26 |
LED_5 | C28 |
LED_6 | B27 |
LED_7 | C27 |
LED_8 | E26 |
表 3 • PHY 接口信號到封裝引腳分配
連接埠名稱 | 方向 | 封裝引腳 |
PHY_MDC | 輸出 | F3 |
PHY_MDIO | 輸入 | K7 |
PHY_RST | 輸出 | F2 |
SoftConsole 固件項目
使用獨立的 SoftConsole IDE 調用 SoftConsole 項目。
此演示設計使用以下堆棧:
- PolarSSL 庫版本 1.2.8
- lwIP TCP/IP 堆棧版本 1.4.1
- 自由即時作業系統
下圖顯示了一個前amp演示設計的 SoftConsole 軟件目錄結構的文件。
圖 6 • SoftConsole 項目瀏覽器窗口
該項目包含安全 web使用 PolarSSL、lwIP 和 FreeRTOS 實現服務器應用程序。
採用高級加密標準(AES)和非確定性隨機比特生成器(NRBG)系統服務來實現安全 web服務器應用程序。 AES 和 NRBG 可以使用 SmartFusion2 硬件引擎或軟件 PolarSSL 庫來實現。 在此演示設計中,AES 和 NRBG 是通過系統服務使用 SmartFusion2 硬件引擎實現的。
表 4 • 用於啟用或禁用系統控制器服務的宏
系統服務宏/宏位置
- AES
- #定義HW_AES 1
<$設計_Files_目錄>\m2s_dg0516_df\SF2_Secure_Web服務器_T
CP_Demo_DF\Libero\Web服務器_TCP\SoftConsole\Web服務器_TCP_M
SS_CM3\polarssl-1.2.8\include\polarssl\aes.h
- #定義HW_AES 1
- NRBG
- #定義HW_NRBG 1
<$設計_Files_目錄>\m2s_dg0516_df\SF2_Secure_Web服務器_T
CP_Demo_DF\Libero\Web服務器_TCP\SoftConsole\Web服務器_TCP_M
SS_CM3\polarssl-1.2.8\include\polarssl\ssl.h
筆記: 支持數據安全的 SmartFusion2 設備(例如 M2S0150TS)支持系統服務 AES 和 NRBG。 如果SmartFusion2設備未啟用數據安全功能,請禁用上表中提到的宏以使用軟件PolarSSL AES和NRBG算法。
下圖顯示了用於演示的驅動程序版本。
圖 7 • 演示設計驅動程序版本
- #定義HW_NRBG 1
使用 PolarSSL 庫實現 TLS/SSL 協議
TLS/SSL協議分為以下兩個協議層:
- 握手協議層
- 記錄協議層
握手協議層
該層由以下子協議組成:
- 握手: 用於協商服務器和客戶端之間的會話信息。 會話信息包括會話 ID、對等證書、密碼規範、壓縮算法以及用於生成所需密鑰的共享密碼。
- 更改密碼規範: 用於更改客戶端和服務器之間加密所使用的密鑰。 密鑰是根據客戶端與服務器握手期間交換的信息計算得出的。
- 警報: 警報消息是在客戶端與服務器握手期間生成的,用於向對等方報告錯誤或狀態更改。
下圖顯示了view TLS/SSL 握手過程。
有關握手協議、記錄協議和加密算法的更多信息,請參閱 http://tools.ietf.org/html/rfc5246.
圖 8 • TLS/SSL 握手過程
記錄協議層
記錄協議接收並加密來自應用程序的數據,並將其傳輸到傳輸層。 記錄協議將接收到的數據分段為適合密碼算法的大小,並可選地壓縮數據。 該協議應用 MAC 或密鑰哈希消息身份驗證代碼 (HMAC),並使用握手協議期間協商的信息來加密或解密數據。
設置演示設計
以下步驟描述瞭如何設置 SmartFusion2 高級開發套件板的演示:
- 使用 USB A 轉 mini-B 電纜將主機 PC 連接到 J33 連接器。 自動檢測 USB 到通用異步接收器/發送器 (UART) 橋驅動器。
筆記: 如果未自動檢測到 COM 端口,請安裝 FTDI D2XX 驅動程序,以便通過 FTDI mini-USB 電纜進行串行終端通信。 該驅動程序以及安裝指南可從以下位置獲取: www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip. - 右鍵單擊檢測到的四個 COM 端口,然後單擊“屬性”,找到 USB FP5 Serial Converter C 上位置的端口,如下圖所示。 記下串口終端配置時使用的COM端口號,如下圖所示。
圖 9 • 設備管理器窗口
- 連接SmartFusion2高級開發套件板上的跳線,如下表所示。 有關跳線位置的信息,請參閱附錄 3:跳線位置。
警告: 在進行跳線連接之前,關閉電源開關 SW7。
表 5 • SmartFusion2 高級套件跳線設置
- 在 SmartFusion2 高級開發套件中,將電源連接到 J42 連接器。
- 這個設計前amp文件可以在靜態 IP 和動態 IP 模式下運行。 默認情況下,編程 files是為動態IP模式提供的。
- 對於靜態 IP,請使用 RJ21 電纜將主機 PC 連接到 SmartFusion2 高級開發套件板的 J45 連接器。
- 對於動態 IP,使用 RJ21 電纜將任何一個開放網絡端口連接到 SmartFusion2 高級開發套件板的 J45 連接器。
電路板設置快照
附錄 2 中給出了 SmartFusion2 高級開發套件板的快照以及所有已配置的設置:用於運行安全的板設置 Web伺服器,
運行演示設計
以下步驟描述瞭如何運行演示設計:
- 從以下位置下載演示設計: http://soc.microsemi.com/download/rsc/?f=m2s_dg0516_df
- 打開 SW7 電源開關。
- 啟動任何串行終端仿真程序,例如:
- 超級終端
- 油灰
- 泰拉術語
筆記: 在本演示中使用 PuTTY。
該程序的配置是: - 波特率:115200
- 八個數據位
- 一站位
- 無奇偶校驗
- 無流量控制
有關配置串行終端仿真程序的更多信息,請參閱配置串行終端仿真程序教程。
- 使用作業對 SmartFusion2 高級開發套件板進行編程 file 作為設計的一部分提供 file要使用 FlashPro Express 軟件,請參閱附錄 1:使用 FlashPro Express 對器件進行編程。
筆記: 該演示可以在靜態和動態模式下運行。 要在靜態 IP 模式下運行設計,請按照附錄 4:在靜態 IP 模式下運行設計中提到的步驟進行操作。 - 重新啟動 SmartFusion2 高級開發套件板。
串口終端仿真程序中會顯示帶有動態IP地址的歡迎信息,如下圖所示。
圖 10 • 用戶選項
- 應在瀏覽器地址欄中輸入PuTTY上顯示的IP地址以運行安全 web服務器。 如果IP地址為10.60.3.120,則在瀏覽器地址欄中輸入https://10.60.3.120。 該演示支持 Microsoft Internet Explorer 和 Mozilla Firefox 瀏覽器。
運行安全 Web使用 Microsoft Internet Explorer 的服務器演示
以下步驟描述瞭如何運行安全 web使用 Microsoft Internet Explorer 的服務器演示:
- 打開 Microsoft Internet Explorer 並輸入 URL (例如amp樂, https://10.60.3.120)在地址欄中。 瀏覽器顯示警告消息,如下圖所示。
圖 11 • Microsoft Internet Explorer 顯示證書錯誤警告消息
- 點擊繼續這個 web站點(不推薦)開始與 web服務器。 Microsoft Internet Explorer 顯示安全的主菜單 web服務器,如下圖所示。
圖 12 • Secure 主菜單 WebInternet Explorer 中的服務器
運行安全 Web使用 Mozilla Firefox 的服務器演示
以下步驟描述瞭如何運行安全 web使用 Mozilla Firefox 的服務器演示:
- 打開 Mozilla Firefox 瀏覽器並輸入 URL (例如amp樂, https://10.60.3.120)在地址欄中。 瀏覽器顯示警告消息,如下圖所示。
圖 13 • Mozilla Firefox 顯示警告消息
- 選擇我了解風險並單擊添加例外...。
- 在“添加安全例外”窗口中單擊“確認安全例外”,如下圖所示,開始與設備進行安全通信 web服務器。 圖 14 • 添加安全例外窗口
筆記: 僅首次瀏覽時才需要為 IP 地址添加安全例外。
筆記: 如果您在終端中收到任何握手失敗消息,請忽略該消息。 - Mozilla Firefox 瀏覽器顯示主菜單,如下圖所示。
圖 15 • 安全的主菜單 WebMozilla Firefox 中的服務器
主菜單有以下選項:
- 閃爍的 LED
- 超級終端顯示
- SmartFusion2 谷歌搜索
筆記: 可以使用 Microsoft Internet Explorer 或 Mozilla Firefox 驗證這些選項 web 瀏覽器。 在此演示中,使用 Mozilla Firefox 演示了這些選項 web 瀏覽器。
閃爍的 LED
- 單擊主菜單上的閃爍 LED。 您可以觀察 SmartFusion2 板上運行的 LED 模式。 這 web頁面提供了一個選項來輸入手動閃爍 LED 的值,如下圖所示。
圖 16 • 閃爍 LED 頁面
- 輸入 1-255 之間的任意數字以手動點亮 LED。 對於前amp例如,如果輸入 1,閃爍的 LED1 將熄滅。 如果輸入 255,所有八個閃爍的 LED 都會熄滅。
- 單擊主頁返回主菜單。
筆記: SmartFusion2 高級開發套件具有低電平有效 LED。
超級終端顯示
- 單擊主菜單上的超級終端顯示。 下圖顯示了一個 web頁面提供輸入字符串值的選項。
圖 17 • 超級終端顯示頁面
輸入的字符串在PuTTY上顯示,如下圖所示。
圖 18 • PuTTY 上的字符串顯示
- 單擊“返回一頁”(箭頭按鈕)或“主頁”返回主菜單。
SmartFusion2 谷歌搜索
- 單擊主菜單上的 SmartFusion2 Google 搜索。
筆記: 需要互聯網連接和適當的訪問權限才能訪問 SmartFusion2 Google 搜索頁面。 下圖顯示了一個 web 帶有 Google 搜索的頁面。
圖 19 • SmartFusion2 Google 搜索頁面
- 單擊主頁返回主菜單。
附錄 1:使用 FlashPro Express 對器件進行編程
本節介紹如何使用編程作業對 SmartFusion2 器件進行編程 file 使用 FlashPro Express。
要對器件進行編程,請執行以下步驟:
- 確保板上的跳線設置與表 5 中列出的相同。
筆記: 進行跳線連接時必須關閉電源開關。 - 將電源線連接到電路板上的 J42 連接器。
- 打開電源開關 SW7。
- 在主機 PC 上,啟動 FlashPro Express 軟件。
- 單擊新建或從項目菜單中選擇 New Job Project from FlashPro Express Job 創建一個新的作業項目,如下圖所示。
圖 20 • FlashPro Express 作業項目
- 在來自 FlashPro Express 作業的新建作業項目對話框中輸入以下內容:
- 編程工作 file:單擊瀏覽,然後導航到 .job 所在的位置 file 位於並選擇 file. 默認位置是:
\m2s_dg0516_df\SF2_Secure_Webserver_TCP_Demo_DF\Programming_Job - FlashPro Express 作業項目名稱:單擊瀏覽並導航到要保存項目的位置。
圖 21 • 來自 FlashPro Express 作業的新作業項目
- 編程工作 file:單擊瀏覽,然後導航到 .job 所在的位置 file 位於並選擇 file. 默認位置是:
- 單擊確定。 所需的編程 file 被選中並準備在設備中進行編程。
- FlashPro Express 窗口如下圖所示。 確認程序員編號出現在程序員字段中。 如果沒有,請確認電路板連接並單擊 Refresh/Rescan Programmers。
圖 22 • 對設備編程
- 單擊運行。 當設備燒錄成功後,會顯示 RUN PASSED 狀態,如下圖所示。
圖 23 • FlashPro Express——運行通過
- 關閉 FlashPro Express 或在“項目”選項卡中單擊“退出”。
附錄 2:用於運行安全的板設置 Web伺服器
下圖顯示了在 SmartFusion2 高級開發套件板上運行演示的板設置。
圖 24 • SmartFusion2 高級開發套件設置
附錄 3:跳線位置
下圖顯示了 SmartFusion2 高級開發套件板中的跳線位置。
圖 25 • 高級開發套件板上的跳線位置
筆記: 以紅色突出顯示的跳線為默認設置。 以綠色突出顯示的跳線必須手動設置。
筆記: 上圖中的跳線位置是可以搜索到的。
附錄 4:在靜態 IP 模式下運行設計
以下步驟描述瞭如何在靜態 IP 模式下運行設計:
- 右鍵單擊 secure_web在 SoftConsole 項目的 Project Explorer 窗口中選擇“Properties”,如下圖所示。
圖 26 • SoftConsole 項目的項目瀏覽器窗口
下圖顯示了在 secure_ 的屬性的工具設置選項卡中刪除符號 NET_USE_DHCPweb服務器窗口。
圖 27 • Project Explorer 屬性窗口
如果設備以靜態 IP 模式連接,則板靜態 IP 地址為 169.254.1.23,然後更改主機 TCP/IP 設置以反映 IP 地址。 下圖顯示了主機 PC TCP/IP 設置。
圖 28 • 主機 PC TCP/IP 設置
下圖顯示了靜態 IP 地址設置。
圖 29 • 靜態 IP 地址設置
配置這些設置後,構建固件,導入最新的 .hex file 進入 eNVM,並運行 Libero 設計。 如果 SmartFusion13 器件已使用 top_static.job 進行編程,請參閱運行演示設計(第 2 頁)以靜態 IP 模式執行設計 file.
筆記: 要在調試模式下運行應用程序,需要 FlashPro 編程器。
文件/資源
![]() |
Microsemi 驅蟲器運行安全 WebSmartFusion2 上的服務器 [pdf] 使用者指南 安全運行的驅蟲器 WebSmartFusion2、Pest、Repeller 上的服務器安全運行 WebSmartFusion2 上的服務器、SmartFusion2 上的服務器 |