基于MCU、MPU或FPGA的嵌入式M2M系統(tǒng)安全解決方案
基于使用機(jī)器到機(jī)器(M2M)等協(xié)議的聯(lián)網(wǎng)設(shè)備不斷普及的發(fā)展趨勢(shì),網(wǎng)絡(luò)(特別是無(wú)線網(wǎng)絡(luò))的安全性越來(lái)越受人們的關(guān)注。外面的世界危險(xiǎn)無(wú)處不在,仍有許多人想要破壞建立這些連接所需的社會(huì)性和關(guān)鍵性基礎(chǔ)設(shè)施。
本文引用地址:http://butianyuan.cn/article/201610/305433.htm針對(duì)基于MCU、MPU或FPGA的嵌入式無(wú)線或有線M2M系統(tǒng),特別是在當(dāng)今普遍聯(lián)網(wǎng)但易受攻擊的世界中,良好的安全性要求采取以下這些全部使用了標(biāo)準(zhǔn)加密算法的措施:
使用TLS的網(wǎng)絡(luò)通信安全
使用IPSec的虛擬專用網(wǎng)安全(VPN)
使用SSH的安全登錄和系統(tǒng)交互
使用SFTP的安全文件傳送
安全的電子郵件——加密的電子郵件和安全的郵件服務(wù)器鏈路
安全的網(wǎng)站服務(wù)器——https
安全的管理——SNMP v3
使用加密和檢查過(guò)的映像進(jìn)行安全啟動(dòng)
本文簡(jiǎn)要討論了上述各項(xiàng)安全措施應(yīng)用到M2M的情況以及總的系統(tǒng)級(jí)考慮因素。M2M系統(tǒng)要求高度的安全性來(lái)保護(hù)信息和系統(tǒng)。沒(méi)有這種無(wú)縫的集成和測(cè)試,就會(huì)存在安全漏洞,系統(tǒng)很容易受到攻擊,并可能發(fā)生可怕的后果。
使用TLS進(jìn)行網(wǎng)絡(luò)通信
在 M2M系統(tǒng)中,不管是哪種無(wú)線類型,所有無(wú)線鏈路都會(huì)使用某種加密技術(shù)來(lái)保護(hù)無(wú)線傳輸?shù)臄?shù)據(jù)。在一個(gè)節(jié)點(diǎn)內(nèi)或兩個(gè)有線節(jié)點(diǎn)之間,負(fù)荷數(shù)據(jù)以明碼的方式存在于有線/無(wú)線混合系統(tǒng)中。一種方法是使用傳輸層安全(TLS)協(xié)議。TLS作為網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間的端到端加密技術(shù),可確保數(shù)據(jù)不管走哪條路徑總是安全的。
如圖1所示,TLS很容易配置和使用,正是這個(gè)原因,TLS是人們非常青睞的一種通信安全方法。TLS的典型實(shí)現(xiàn)遵照的是針對(duì)應(yīng)用程序可移植性開發(fā)的事實(shí)上的openSSL接口標(biāo)準(zhǔn)。這種應(yīng)用程序編程接口(API)是套接字(socket)接口中的表示層,可為應(yīng)用程序提供安全性。
圖1:TLS可保證端到端通信的安全。
在套接字通信之上提供TLS層可以為安全應(yīng)用提供安全的套接字通信,而直接使用套接字的通信是不安全的,因?yàn)樗袛?shù)據(jù)都是明碼傳輸。
使用IPSec協(xié)議的虛擬專用網(wǎng)(VPN)
許多時(shí)候,網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間的所有通信都要求是安全的。在這種情況下,可以建立虛擬專用網(wǎng)(VPN)(圖2)。這種協(xié)議深入TCP/IP實(shí)現(xiàn)內(nèi)部,對(duì)兩個(gè)節(jié)點(diǎn)間傳輸?shù)乃袛?shù)據(jù)包進(jìn)行加密。因?yàn)镮PSec是作為網(wǎng)絡(luò)層的一部分,因此節(jié)點(diǎn)之間的所有套接字調(diào)用都會(huì)自動(dòng)加密。
圖2:在兩個(gè)節(jié)點(diǎn)之間使用VPN和IPSec可以確保節(jié)點(diǎn)之間所有通信業(yè)務(wù)的安全。
有人可能會(huì)問(wèn),既然如此,為什么我們還要使用其它方法,用這一種方法不就可以了嗎?原因有兩個(gè)。第一個(gè)原因很好理解:VPN的建立相當(dāng)麻煩,會(huì)遇到很多問(wèn)題。正是這個(gè)原因使得它的使用面不如想像的那么廣。
第二個(gè)原因是最好的安全性需要建立在各層中。通過(guò)提供各個(gè)安全層,被攻破的難度就要大得多。這與打開多重鎖著的門才能進(jìn)入金庫(kù)是一個(gè)道理——每個(gè)層都增加了入侵難度?;谶@個(gè)理由,最好采用更多的安全措施,而不僅是VPN.
安全殼
為了登錄并在遠(yuǎn)程系統(tǒng)上工作,小型系統(tǒng)上經(jīng)常使用telnet.現(xiàn)在通過(guò)增加額外的閃存空間,你可以運(yùn)行安全殼(SSH)(圖3)。SSH就像是一種安全的 telnet,但并不是運(yùn)行在TLS之上的telnet.SSH有它自己的協(xié)議。它通過(guò)在MCU上運(yùn)行的SSH服務(wù)器提供安全殼訪問(wèn)。
圖3:SSH代替Telnet提供節(jié)點(diǎn)間的安全通信。MCU產(chǎn)品只提供SSH服務(wù)器,該服務(wù)器。
只是因?yàn)樵谑褂梦募魉蛥f(xié)議(FTP)時(shí)使用了登錄身份和口令,許多人就認(rèn)為這是安全的傳送。事實(shí)上,即使是口令在網(wǎng)絡(luò)上也是明碼傳送的。更好的方法是使用安全文件傳送協(xié)議(SFTP)。SFTP并不是在TLS上運(yùn)行的FTP.而是如圖4所示那樣,是另外一種用于加密文件傳送的特殊協(xié)議。
圖4:SFTP是一種新的協(xié)議,支持文件傳送時(shí)的加密和認(rèn)證通信,可替代所有數(shù)據(jù)都是明碼傳送的FTP
安全的電子郵件
郵件服務(wù)器之間的業(yè)務(wù)通常用TLS加以保護(hù)。但TLS只能保證只有授權(quán)和認(rèn)證的用戶才能使用服務(wù)器,而監(jiān)視網(wǎng)絡(luò)業(yè)務(wù)的任何人都無(wú)法閱讀郵件?;谶@個(gè)理由,如果你使用SMTP協(xié)議從基于MCU的M2M傳感設(shè)備安全地發(fā)送通知,你也需要TLS(圖5)。
圖5:使用TLS的SMTP傳輸可以確保只有授權(quán)用戶才能使用電子郵件服務(wù)器,并加密發(fā)送數(shù)據(jù)。如果消息在發(fā)送前得到了加密和簽名,那么這些消息就能被擁有正確消息密鑰的人加以鑒權(quán),確保其私密性。
當(dāng)然,在服務(wù)器上使用的安全性并不能應(yīng)用于任何給定節(jié)點(diǎn)中的消息內(nèi)容。因此消息需要簽名和加密才能確保自身的安全性。
安全的網(wǎng)站服務(wù)器訪問(wèn)
為了安全地進(jìn)行網(wǎng)站頁(yè)面訪問(wèn)和數(shù)據(jù)傳送,可以使用HTTP Secure(HTTPS)。采用任何M2M配置的網(wǎng)站服務(wù)器(圖6)都要求支持HTTPS.HTTPS是聯(lián)合運(yùn)用TLS以及HTTP協(xié)議實(shí)現(xiàn)的。網(wǎng)站服務(wù)器本身可以通過(guò)HTTPS獲得加密的數(shù)據(jù)包進(jìn)行處理,并提供傳送之前加密的解過(guò)密的網(wǎng)頁(yè)。
圖6:瀏覽器具有足夠的智能使用TLS上的http進(jìn)行連接,從而支持安全的網(wǎng)站訪問(wèn)。http服務(wù)器也接受TLS上的請(qǐng)求,以便提供安全的網(wǎng)頁(yè)訪問(wèn)和更新。
安全管理
為了管理遠(yuǎn)程設(shè)備,我們經(jīng)常使用安全網(wǎng)絡(luò)管理協(xié)議(SNMP)。SNMP提供了查看設(shè)備內(nèi)部細(xì)節(jié)、重新配置設(shè)備、執(zhí)行各種命令、讀取數(shù)據(jù)、讀取記錄和設(shè)置變量的一種方式。為了做到這一點(diǎn),要求使用最新的安全版本(SNMP v3)(圖7)。許多實(shí)現(xiàn)人員試圖使用較早版本的SNMP,但這些版本都是不安全的。
評(píng)論