• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

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

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

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

    ●   增加外部加密芯片

    ●   程序固件加密

    ●   UID校驗(yàn)加密

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

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

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

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

    image.png

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

    ■   安全庫區(qū)啟用

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

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

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

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

    ■    燒錄方式

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

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

    ■    安全庫區(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)境中,能夠利用一種或多種傳感器對周圍環(huán)境進(jìn)行探測,建立相應(yīng)的地圖,同時定位自身在地圖中的位置。掃地機(jī)廠商或方案商可將SLAM算法放置在sLib保護(hù)區(qū),并提供函數(shù)接口供應(yīng)用程序調(diào)用。下圖2為方案商在實(shí)際項(xiàng)目中的應(yīng)用示意圖。

    image.png

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

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

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

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

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

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



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

    評論


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

    關(guān)閉
    主站蜘蛛池模板: 蒙自县| 望谟县| 句容市| 广德县| 江北区| 湖南省| 子长县| 宜良县| 贺州市| 衡阳市| 资中县| 龙川县| 鄂尔多斯市| 晋宁县| 渭南市| 秭归县| 阜城县| 宣汉县| 定兴县| 政和县| 包头市| 成安县| 汶川县| 阿克苏市| 特克斯县| 南汇区| 易门县| 电白县| 连江县| 桓仁| 方城县| 玉田县| 湖北省| 浙江省| 辰溪县| 芦溪县| 肃北| 达日县| 当涂县| 汝城县| 内黄县|