作者:陳炯良
每次有廠商發表新的開發板時,我們總會想看看它有何功能特色、是否適合大家採用?但看到功能列表時出現的許多專業術語及名詞,卻總是似曾相識但又不太清楚。因此,本文準備深入介紹LinkIt 7697 HDK 這塊新開發套件的一些功能規格,而限於篇幅,將從它的安全性來切入介紹。
LinkIt 7697 HDK 是塊針對物聯網應用的開發板,它基於 MT7697 系統單晶片所開發,具有含浮點運算的 ARM Cortex-M4 微控制器,並整合了 802.11b/g/n Wi-Fi 無線網路及Bluetooth 4.2 低功耗藍牙。下文將以 LinkIt 7697 的安全性作為分析重點。
安全啟動與加密引擎
7697採用串列快閃記憶體(Serial/SPI Flash)來執行安全啟動(Secure Boot),這作法主要是在系統開機之前,先檢視儲存在系統內檔案的「安全性」與「有效性」,防止未被授權的程式在開機啟動程序期間被執行在系統上。
它的硬體加密引擎包含 AES、DES/3DES、網路安全的 SHA2、SHA256、SHA512 hash engines,簡介如下:
- 內建硬體加密引擎(Hardware crypto engines),包含有進階加密標準(Advanced Encryption Standard, AES)、三重資料加密標準(Triple Data Encryption Algorithm , DES/3DES)、安全雜湊演算法(SHA2)等加解密軟體。
- 進階加密標準(Advanced Encryption Standard,縮寫AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,進階加密標準由美國國家標準與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標準。2006年,進階加密標準已然成為對稱金鑰加密中最流行的演算法之一。
- 三重資料加密演算法(Triple Data Encryption Algorithm,縮寫TDEA,Triple DEA),或稱3DES(Triple DES),是一種對稱密鑰加密塊密碼,相當於是對每個資料塊應用三次資料加密標準(DES)演算法。由於電腦運算能力的增強,原版DES密碼的金鑰長度變得容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的金鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼演算法。
- SHA-2,名稱來自於安全雜湊演算法2(Secure Hash Algorithm 2)的縮寫,一種密碼雜湊函式演算法標準,由美國國家安全局研發,由美國國家標準與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演算法標準,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
無線網路安全性作法
LinkIt 7697在無線網路方面同時支援Wi-Fi及Bluetooth,首先來介紹Wi-Fi通訊的一些安全規格。
Wi-Fi安全支援
Wi-Fi通訊規格是由Wi-Fi聯盟(Wi-Fi Alliance,WFA)來進行商業性推動,它是一個商業聯盟,擁有Wi-Fi的商標。它負責Wi-Fi認證,與商標授權的工作。WPA/WPA2是經由Wi-Fi聯盟驗證過的IEEE 802.11i標準的認證形式,全名是Wi-Fi Protected Access® (WPA)與Wi-Fi Protected Access® 2 (WPA2),WPA2顧名思義就是WPA的加強版,它們是一種技術上的認證,而不是一個安全標準,其技術特色簡介如下:
- 在WPA的設計中要用到一個802.1X認證伺服器來分發不同的金鑰給各個終端用戶;不過它也可以用在較不保險的「預共享金鑰模式」(pre-shared key),這是讓同一無線路由器底下的每個用戶都使用同一把金鑰。
- Wi-Fi聯盟把這個使用pre-shared key的版本叫做「WPA-個人版」或「WPA2-個人版」(WPA-Personal or WPA2-Personal),用802.1X認證的版本叫做「WPA-企業版」或「WPA2-企業版」(WPA-Enterprise or WPA2-Enterprise),使用企業版的每一個無線網路用戶都有一個自己的密碼。
- WPA加密採用TKIP(Temporary Key Integrity Protocol),WPA2採AES ( Advanced Encryption Standard ) 加密技術,AES的加密技術比TKIP更安全。TKIP安全協議(通常稱為WPA)可以被一些改進的攻擊破解,例如貝克-特夫斯攻擊法(Beck-Tews Attacks,2008年發布)與「大東-森井攻擊」(Ohigashi-Morii Attack)等。
- WPS(Wi-Fi Protected Setup):這是一個2007年年初才發布的認證,目的是讓消費者可以透過更簡單的方式來設定無線網路裝置,並且保證有一定的安全性。目前WPS允許透過Pin Input Config(PIN)、Push Button Config(PBC)、USB Flash Drive Config(UFD)以及Near Field Communication Contactless Token Config(NFC)的方式來設定無線網路裝置。
LinkIt 7697也支援另一個安全規格,即WAPI(WLAN Authentication and Privacy Infrastructure,無線鑑別和保密基礎結構)。它是一個關於無線區域網路的中國國家標準(GB 15629.11-2003),一般讀作「WAIPI」。這標準也成立了一個WAPI產業聯盟,雖然它被設計為基於WiFi執行,但其與802.11無線網路標準所用安全協定的相容性存疑。2006年3月,ISO通過802.11i加密標準,並駁回WAPI提案。2009年6月,中國政府重新提交WAPI標準申請。但在2011年11月21日,中國政府將此申請撤回,ISO隨即將WAPI專案取消。
WAPI起初是為了解決WEP中的安全漏洞而誕生,主要由WAI(WLAN authentication infrastructure,無線區域網路鑑別基礎結構)和WPI(WLAN privacy infrastructure,無線區域網路保密基礎結構)兩部分組成。WAI定義了無線區域網路中身分鑑別和金鑰管理的安全方案。WPI定義了無線區域網路中資料傳輸保護的安全方案,包括資料加密、鑑別和重放保護等。
BLE安全支援
藍牙低功耗(BLE)是藍牙聯盟從4.0版本推出的一項低功耗藍牙技術,專注應用於智能穿戴設備、智能家居、及以後的智慧城市建設,主要用於小數據傳輸與管理。
BLE低功耗藍牙功能有以下功能:
- 數據傳輸 :支持很短的資料封包(8 octet至27 octet),其傳輸速度高達1Mbps。所有連接均採用先進的動態監聽(sniff-subrating)功能模式,以實現超低的負載循環 (duty cycle)。
- 跳頻技術 : 使用調節性跳頻技術,可降低2.4 GHz ISM波段其他技術的干擾。
- 主機控制技術 : 可以讓主機長時間休眠,可由高智能控制器來啟動,此功能將可節省耗能。
- 短延遲 : 最短可在2~3毫秒內完成連接設置並開始傳輸數據。
- 射程長 : 調變指數的增大可以使射程範圍增廣,甚至可以超過100m。
- 穩定度 : 使用24位的循環重複檢環(CRC),確保封包在受到干擾時的最大穩定度。
- 安全性 : 使用的是CCM的AES-128完全加密技術,為數據封包提供了高度加密性及認證安全度。CCM模式(具有CBC-MAC的計數器)是加密塊密碼的操作模式。它是一種經認證的加密算法,旨在提供身份驗證和機密性。CCM模式僅針對塊長度為128位的塊密碼定義。
- 拓撲:在每個封包上使用的均是32位的存取地址,這種拓撲技術理論上可以讓數十億個裝置能被同時連結。針對一對一的連結優化,同時也可利用星狀拓樸來完成一對多點的連結。通常在連線和斷線迅速切換下,數據會在網狀拓樸之間不停的進行移動,也不會形成複雜的網路負擔。
BLE低功耗藍牙 4.2版之特色:
- IPSP (Internet Protocol Control Protocol,網際網路協議控制協議),其目的是為了讓藍牙支援 IPv6 / 6LoWPAN,讓所有穿戴式或物聯網裝置都能連上雲端網路。
- 藍牙4.2規格提升了藍牙低功耗(Bluetooth Low Energy)裝置之間的資料傳輸速度與可靠性,建立了更大的封包,讓裝置能以比前一代版本快2.5倍的速度傳輸資料。提升資料傳輸速率與封包容量,將能減少傳輸的錯誤,並因此更進一步降低功耗。
- 強化了安全性與隱私保護功能,採用經過美國國家標準與技術研究院(NIST)認證的P-256橢圓曲線(Elliptic curve cryptography,ECC)密碼學加密與AES-CMAC(AES-Cypher-Based Message Authentication Code)雜湊函數演算法。
結論
如果只是給Maker或RD拿來做做POC,其實不用太強大的安全功能,不過,MTK畢竟是做商用市場的晶片商,LinkIt 7697 HDK上用的MT7697主要還是賣給方案商量產使用,所以該有安全性都已具備,也就是說,用它做好的POC,其實可以改買晶片或模組來進行量產,會省下不少量產移植的工夫。
(責任編輯:林佳盈)
◎加入我們的Line,獲得更多及時文章更新&活動資訊→
2017/08/05
你好,我是seeed的运营人员。我们决定这篇文章的观点对于7697的用户很有帮助,请问是否能翻译并转载呢?我们会标注原作者和出处以及本文链接。非常期待你的回复
2017/08/07
您好,我們是MakerPRO編輯部,很高興得知你們對這篇文章的認同,歡迎翻譯轉載,屆時再請提供譯文的連結噢,感謝~~(再請寄送到service@makerpro.cc,謝謝)