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

          新聞中心

          EEPW首頁(yè) > 設(shè)計(jì)應(yīng)用 > 雅特力AT32 sLib安全庫(kù)為算法保駕護(hù)航

          雅特力AT32 sLib安全庫(kù)為算法保駕護(hù)航

          作者: 時(shí)間:2020-05-07 來(lái)源:電子產(chǎn)品世界 收藏

          隨著AIoT市場(chǎng)的發(fā)展,MCU承擔(dān)的運(yùn)算度越來(lái)越復(fù)雜,推動(dòng)著MCU性能不斷提升,部分高性能MCU可以支持AI深度學(xué)習(xí)。過(guò)去由于MCU性能和安全等原因,大部分算法需在服務(wù)器完成后再下傳到終端執(zhí)行,邊緣計(jì)算的發(fā)展,許多核心算法可在終端完成,大大提高了效率。因此,如何保護(hù)開(kāi)發(fā)者開(kāi)發(fā)出來(lái)的核心算法等知識(shí)產(chǎn)權(quán)代碼,便成為微控制器應(yīng)用中一項(xiàng)很重要的課題。在MCU開(kāi)發(fā)中,我們常用的加密方式主要有以下幾種:

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

          ●   通過(guò)設(shè)置特定配置寄存器

          ●   增加外部加密芯片

          ●   程序固件加密

          ●   UID校驗(yàn)加密

          這些加密方法配置通常在擦除flash時(shí)都會(huì)隨芯片而被擦除,而且下游客戶(hù)除非拿到方案商的源代碼或者庫(kù)(.LIB),否則無(wú)法進(jìn)行進(jìn)行二次開(kāi)發(fā)。但就算只提供庫(kù)(.LIB)給客戶(hù)進(jìn)行二次開(kāi)發(fā),核心算法也就泄漏了,導(dǎo)致方案商即使僅修改簡(jiǎn)單的LED燈指示功能,也必須重新編譯完整 BIN 檔給客戶(hù),無(wú)法快速擴(kuò)展客戶(hù)群。

          雅特力科技AT32系列MCU從設(shè)計(jì)之初便考慮了這一重要需求,全系列芯片均提供了區(qū)(security library,簡(jiǎn)稱(chēng)sLib)的功能。方案商通過(guò)將核心算法代碼燒錄在MCU特定的sLib區(qū)域,以防止重要的代碼被惡意修改或讀取,并可將芯片提供給終端客戶(hù)在剩余空白空間進(jìn)行二次開(kāi)發(fā),且通過(guò)調(diào)試工具進(jìn)行整片擦除時(shí),不會(huì)將保護(hù)區(qū)sLib里的核心代碼擦除掉,增加了開(kāi)發(fā)的靈活性。

          ■   區(qū)sLib應(yīng)用原理

          下圖1是包含區(qū)的主閃存區(qū)映射示意圖,安全庫(kù)區(qū)的程序代碼可以很容易地被終端用戶(hù)調(diào)用并執(zhí)行,但不能直接被讀取,因而達(dá)到保護(hù)的功能。安全庫(kù)區(qū)的范圍大小是以頁(yè)(Page)為單位做設(shè)定,每一頁(yè)的大小依不同型號(hào)而不同。安全庫(kù)區(qū)的程序代碼及數(shù)據(jù),除非輸入正確的密碼,否則無(wú)法被擦除。

          image.png

          圖1 安全庫(kù)區(qū)在主閃存區(qū)映射

          ■   安全庫(kù)區(qū)啟用

          默認(rèn)狀態(tài)下,安全庫(kù)區(qū)設(shè)定寄存器始終是不可讀且被寫(xiě)保護(hù)。要想對(duì)安全庫(kù)區(qū)設(shè)定寄存器進(jìn)行寫(xiě)操作,首先要對(duì)安全庫(kù)區(qū)設(shè)定寄存器解鎖,對(duì)SLIB_KEYR寄存器寫(xiě)入指定數(shù)值,然后指定的寄存器設(shè)定要保護(hù)的區(qū)域和安全區(qū)域密碼。

          ■   安全庫(kù)區(qū)保護(hù)解除

          當(dāng)安全庫(kù)區(qū)的保護(hù)功能被啟動(dòng)后,可以透過(guò)在SLIB_PSW寄存器寫(xiě)入先前設(shè)置的密碼來(lái)

          解除保護(hù)功能。當(dāng)解除安全庫(kù)區(qū)的保護(hù)時(shí),芯片將會(huì)執(zhí)行主閃存的整片擦除(包含安全庫(kù)區(qū)的內(nèi)容)。因此即使算法方案商設(shè)置的密碼被泄漏,也不會(huì)有程序代碼外泄的疑慮。

          ■    燒錄方式

          1.   方案商和終端用戶(hù)代碼分別燒錄:方案商先燒錄sLib代碼到MCU,然后終端用戶(hù)再燒錄應(yīng)用代碼到MCU;

          2.   方案商和終端用戶(hù)代碼合并燒錄:方案商的sLib代碼和終端用戶(hù)的應(yīng)用代碼整合到一個(gè)離線(xiàn)項(xiàng)目工程中,通過(guò)雅特力的離線(xiàn)燒錄工具AT-Link一次下載到MCU??梢愿鶕?jù)最終需求配置各種參數(shù),比如限制下載次數(shù)、項(xiàng)目文件綁定AT-Link、下載完成后開(kāi)啟RDP等;

          ■    安全庫(kù)區(qū)應(yīng)用案例

          在智能掃地機(jī)領(lǐng)域,路徑規(guī)劃是衡量掃地機(jī)性能的重要指標(biāo)之一,同步定位與建圖(simultaneous localization and mapping,SLAM)是實(shí)現(xiàn)掃地機(jī)高度智能化的關(guān)鍵技術(shù)。SLAM技術(shù)讓掃地機(jī)在未知的環(huán)境中,能夠利用一種或多種傳感器對(duì)周?chē)h(huán)境進(jìn)行探測(cè),建立相應(yīng)的地圖,同時(shí)定位自身在地圖中的位置。掃地機(jī)廠(chǎng)商或方案商可將SLAM算法放置在sLib保護(hù)區(qū),并提供函數(shù)接口供應(yīng)用程序調(diào)用。下圖2為方案商在實(shí)際項(xiàng)目中的應(yīng)用示意圖。

          image.png

          圖2 應(yīng)用示意圖

          ■    安全庫(kù)區(qū)其他用途:

          除了保護(hù)方案商軟件,提供下游客戶(hù)二次開(kāi)發(fā)之外,還具備下列用途:

          ●   保護(hù)產(chǎn)品公司核心算法: 核心算法由公司特定人員開(kāi)發(fā),完成后燒錄到安全庫(kù)區(qū),再交由其他人員調(diào)用開(kāi)發(fā),避免離職員工帶走公司核心技術(shù);

          ●   保護(hù)出廠(chǎng)參數(shù): 為避免軟件升級(jí)時(shí)將產(chǎn)品出廠(chǎng)參數(shù)也擦除,可以將出廠(chǎng)數(shù)據(jù)放在安全庫(kù)區(qū),沒(méi)有密碼時(shí)無(wú)法擦除出廠(chǎng)參數(shù);

          安全庫(kù)詳細(xì)使用方法及范例程序,請(qǐng)參考雅特力官網(wǎng)應(yīng)用筆記F403A_sLib:http://www.arterytek.com/html/product/product_AT32F403A.jsp?t=1587549382043



          關(guān)鍵詞: 安全庫(kù) SiLb

          評(píng)論


          技術(shù)專(zhuān)區(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); })();