<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 雅特力AT32 sLib安全庫為算法保駕護航

雅特力AT32 sLib安全庫為算法保駕護航

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

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

本文引用地址:http://dyxdggzs.com/article/202005/412784.htm

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

●   增加外部加密芯片

●   程序固件加密

●   UID校驗加密

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

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

■   區sLib應用原理

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

image.png

圖1 安全庫區在主閃存區映射

■   安全庫區啟用

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

■   安全庫區保護解除

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

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

■    燒錄方式

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

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

■    安全庫區應用案例

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

image.png

圖2 應用示意圖

■    安全庫區其他用途:

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

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

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

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



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

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>