<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 智能硬件 > 自主可控開源 RISC-V助力IoT設(shè)備提升安全等級

          自主可控開源 RISC-V助力IoT設(shè)備提升安全等級

          作者: 時間:2020-06-18 來源:Sandro Pinto 開源硬件創(chuàng)客坊 收藏

          也稱為IoT,這種技術(shù)可使全球數(shù)十億物理設(shè)備通過互聯(lián)網(wǎng)聯(lián)通,所有這些設(shè)備都收集和共享大量數(shù)據(jù)。由于連接設(shè)備的數(shù)量眾多,因此已成為全球數(shù)十億人生活中不可或缺的一部分。許多人認為,是21世紀最重要的技術(shù),因為它幾乎影響了從醫(yī)療到運輸?shù)母餍懈鳂I(yè)。但是,隨著我們周圍世界的聯(lián)系越來越緊密,保護這些設(shè)備的安全性變得至關(guān)重要。

          本文引用地址:http://www.ex-cimer.com/article/202006/414402.htm

          有限的硬件功能限制了整體固件的發(fā)展,大多數(shù)物聯(lián)網(wǎng)設(shè)備的核心存在安全性缺陷?;贛CU的設(shè)備通常不提供辨識可信和不可信軟件的方法。第三方二進制文件、開源庫、legacy code、應(yīng)用程序、驅(qū)動程序和操作系統(tǒng)共享硬件資源的訪問權(quán)限,因為它們以相同的級別運行。所以設(shè)備的安全性就看鏈中最薄弱的環(huán)節(jié),而利用單個固件中任何組件的漏洞就足以危害整個設(shè)備。

          就是一種方法來確保設(shè)備或系統(tǒng)的數(shù)據(jù)和程序的機密性(confidentiality),完整性(integrity)和可用性(availability)(簡稱“CIA”)。傳統(tǒng)的技術(shù)能夠在各種硬件組件中“切出”一個安全區(qū)域(通常稱為“安全區(qū)”(secure world)),這種功能已經(jīng)在市場上存在了一段時間。然而由于兩個主要缺點,這種特定的技術(shù)從未在移動市場之外得到廣泛應(yīng)用。首先,底層硬件模塊基于專有IP,這導(dǎo)致了跨廠商和平臺將產(chǎn)生高昂成本。其次,硅IP供應(yīng)商通常是以硬件為中心的方法使軟件實現(xiàn)復(fù)雜化,甚至很難在不同的微體系結(jié)構(gòu)中實現(xiàn)。此外,由于系統(tǒng)層面發(fā)現(xiàn)了微體系結(jié)構(gòu)組件中的關(guān)鍵漏洞,在過去的幾年中,對這種繁復(fù)的硬件方法已經(jīng)逐步被淘汰。

          指令集體系結(jié)構(gòu)(ISA)的簡潔設(shè)計克服了這些限制,因為它將大多數(shù)TEE硬件要求定義為標準規(guī)范。這使得TEE硬件模塊可在任何實現(xiàn)中立而無需專有IP。這些硬件塊包括特權(quán)執(zhí)行擴展和物理內(nèi)存保護(PMP)primitive。這些 primitive的開放式設(shè)計使ISA的TEE實現(xiàn)在硅實現(xiàn)中具有非常好的可擴展性,涵蓋了從微型32位單核MCU到64位多核Linux的復(fù)雜系統(tǒng)。

          作為向現(xiàn)實世界物聯(lián)網(wǎng)應(yīng)用邁進的一步,Hex Five Security(RISC-V International的長期成員)已開發(fā)了MultiZone Security IoT Stack,可免費下載RISC-V IoT安全棧。Hex Five的MultiZone Security TEE協(xié)調(diào)了底層RISC-V硬件安全塊,并在多個相等安全,輕量級線程之間提供了硬件強制,軟件定義的分隔,這些線程映射到稱為“區(qū)域(Zones)”的硬件資源。在區(qū)域中運行的程序本質(zhì)上是安全的,因為它們是在非特權(quán)用戶模式下執(zhí)行的。通過觸發(fā)故障的RISC-V物理內(nèi)存保護(PMP)單元,可以防止訪問未明確映射到區(qū)域的硬件資源-ram / rom /外圍設(shè)備。除MultiZone TEE外,Hex Five Secure IoT Stack還包括其他三個開源組件:FreeRTOS,WolfSSL加密庫和picoTCP IP堆棧。該應(yīng)用程序包含四個通過靜態(tài)策略定義的單獨Zone。每個區(qū)域在物理上是分開的,并且與其他區(qū)域以及MultiZone運行時不共享硬件資源。每個區(qū)域都是密封的,并提供了安全關(guān)鍵的實時調(diào)度程序和安全的通信層。

          1.Zone 1運行FreeRTOS,其三項任務(wù)包括:提供用戶控制臺的CLI應(yīng)用程序,控制機械臂運動的實時應(yīng)用程序以及顯示單獨的實時線程管理按鈕中斷和LED的心跳應(yīng)用程序。

          2.Zone 2運行TCP / IP堆棧,提供到云的TLS 1.3連接。這樣可以將遠程攻擊面與實時操作系統(tǒng)以及Root of Trust隔離。

          3.Zone 3運行Root of Trust和WolfSSL庫。它提供保護TLS鏈接所需的加密密鑰。機密信息(加密密鑰,密碼,受保護的文件等)永遠不會離開此區(qū)域,只能通過MultiZone安全消息進行訪問。

          4.Zone 4運行一個裸機UART終端,以驗證分離策略的執(zhí)行情況并評估MultiZone TEE的性能。

          硬件準備: Arty A7 35T

          為了在原本隔離的區(qū)域之間實現(xiàn)通信,它們的API封裝在通過TEE提供的安全通信基礎(chǔ)結(jié)構(gòu)路由的請求/響應(yīng)消息中。此技術(shù)允許與現(xiàn)在作為微服務(wù)公開的第三方軟件功能進行快速而強大的集成。

          嵌入式應(yīng)用程序需要分層的安全性方法。通過隔離實現(xiàn)安全性至關(guān)重要,因為它可以將關(guān)鍵功能與不受信任的大型代碼庫軟件引入的攻擊面相隔離。專有、過于復(fù)雜,重硬件的TEE時代已經(jīng)過去,因為這種傳統(tǒng)方法已被證明不足以滿足現(xiàn)代IoT應(yīng)用程序的成本和敏捷性要求。Hex Five的MultiZone Security提供了一種快速安全的方法來為RISC-V應(yīng)用程序增加安全性和分離性。MultiZone基于RISC-V標準,可以對現(xiàn)有設(shè)計進行改造:您可以利用高安全性隔離而無需重新設(shè)計硬件和軟件,從而消除了管理混合硬件/軟件安全方案所帶來的復(fù)雜性。

          作者簡介

          Sandro Pinto是Hex Five Security Inc.的研發(fā)部主管,葡萄牙米尼奧大學(xué)(University of Minho)的研究科學(xué)家兼教授。Sandro是一名硬件安全向?qū)В荰rusted Execution Environment技術(shù)的世界級專家,并且是多篇面向安全的研究論文的作者。Sandro擁有電子和計算機工程專業(yè)的博士學(xué)位,具有深厚的學(xué)術(shù)背景,并擁有多年的行業(yè)經(jīng)驗,專注于嵌入式,網(wǎng)絡(luò)物理和基于IoT的系統(tǒng)的操作系統(tǒng),虛擬化和安全性。

          MultiZone支持多種硬件目標。為了對框架進行完整的評估,建議使用由Hex Five Security開發(fā)的開源軟核X300。它是最初由加州大學(xué)伯克利分校開發(fā)的E300 SoC(Rocket rv32)的增強版本——完全免費用于商業(yè)和非商業(yè)用途。與E300一樣,X300可以編程到Xilinx Artix-7 35T Arty FPGA上。對參考設(shè)計感興趣?詳情及資源下載請前往:http://www.digilent.com.cn/community/714.html

          本文源自Sandro Pinto 開源硬件創(chuàng)客坊,轉(zhuǎn)載目的在于傳遞更多信息,版權(quán)歸原作者所有。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();