日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 引言MAXQ1103安全微控制器具有很多重要功能,能夠防止物理篡改事件并保護(hù)有價(jià)值的數(shù)據(jù)。破壞性復(fù)位數(shù)據(jù)源(DRS)是這些功能中關(guān)鍵的一個(gè),DRS允許多個(gè)自毀輸入(SDI)立即擦除程序和數(shù)據(jù)密匙以及內(nèi)部靜態(tài)RA

引言

MAXQ1103安全微控制器具有很多重要功能,能夠防止物理篡改事件并保護(hù)有價(jià)值的數(shù)據(jù)。破壞性復(fù)位數(shù)據(jù)源(DRS)是這些功能中關(guān)鍵的一個(gè),DRS允許多個(gè)自毀輸入(SDI)立即擦除程序和數(shù)據(jù)密匙以及內(nèi)部靜態(tài)RAM的內(nèi)容。如果應(yīng)用程序存儲(chǔ)在內(nèi)部程序閃存的加密區(qū)內(nèi),擦除程序密鑰后將使微控制器處于無效狀態(tài)。

早期的Maxim產(chǎn)品,例如:DS5250,集成了DRS功能。而MAXQ1103能夠在破壞性復(fù)位之后執(zhí)行未經(jīng)加密的診斷程序。這個(gè)診斷程序可以執(zhí)行任何內(nèi)部未經(jīng)加密的程序,不需要訪問外部存儲(chǔ)器總線(該總線在重新上電復(fù)位之前處于禁止?fàn)顟B(tài))。

例如,診斷程序可以用于系統(tǒng)維護(hù)告警,通過一個(gè)調(diào)制解調(diào)器向控制中心報(bào)告“運(yùn)行故障”,提示用戶系統(tǒng)發(fā)生問題。該程序可以執(zhí)行擦除功能并可重新編程內(nèi)部閃存。

DRS診斷程序配置

DRS診斷程序由DIAE的DRSRS寄存器位使能,DRSRS寄存器位DIAS[3:0]指定程序代碼的位置,確定SDI清零后微控制器的向量映射位置。如果診斷向量的地址指針指向加密存儲(chǔ)區(qū),微控制器ROM在復(fù)位后將簡單地中斷處理器操作,這是DIAE=0時(shí)的默認(rèn)狀態(tài)(沒有使能診斷程序)。

可以在正常運(yùn)行程序的任何時(shí)間寫入DRSRS寄存器,這個(gè)寄存器還將保留破壞性復(fù)位源的指示標(biāo)志,這些標(biāo)志可供診斷程序使用或記錄到非易失存儲(chǔ)器。

應(yīng)用舉例:加密時(shí)鐘

為了演示MAXQ1103的DRS診斷程序,采用Rowley CrossWorks編譯器編寫了一段C語言小程序。該程序利用MAXQ1103評(píng)估板(Rev D)構(gòu)建一個(gè)簡單的實(shí)時(shí)時(shí)鐘(RTC)。

日期和時(shí)間持續(xù)顯示在評(píng)估板的LCD上,每秒鐘更新一次。利用評(píng)估板數(shù)字鍵盤上的ENT鍵,用戶可直接設(shè)置日期和時(shí)間;指針自動(dòng)跟著日期和時(shí)間字段刷新,圖1給出了一個(gè)簡單的示例。



如果任意一個(gè)SDI輸入引腳拉高(至VDDIO)并隨后釋放,微控制器將執(zhí)行一次破壞性復(fù)位。這一復(fù)位動(dòng)作會(huì)擦除程序密鑰,主程序?qū)⑼V惯\(yùn)行。此時(shí),LCD會(huì)顯示一個(gè)信息,指示發(fā)生了DRS,DRSRS寄存器內(nèi)容將被顯示到顯示器上,見圖2。



DRSRS寄存器的標(biāo)志指示導(dǎo)致破壞性復(fù)位的SDI源。另外,最近一次DRS的時(shí)間和日期將被顯示在LCD上。這項(xiàng)功能并非DRS診斷程序嚴(yán)格要求的部分,但DRS記錄器所捕獲的SDI觸發(fā)時(shí)刻的RTS (RTC秒計(jì)數(shù)器)寄存器值的確為DRS診斷程序的關(guān)鍵。

詳細(xì)說明

RTC“主程序”的源代碼非常簡單,本應(yīng)用筆記將不再詳述,但這個(gè)源程序很重要,可能作為RTC例程被重復(fù)使用。這部分代碼儲(chǔ)存在CODE存儲(chǔ)器段,始于程序存儲(chǔ)器地址0x000600。MAXQ30_Target.js包含預(yù)裝載程序命令,使能帶有PMAC和PMSZ寄存器的64k字加密區(qū)域,該區(qū)域采用3DES加密,存儲(chǔ)CODE程序。

為了執(zhí)行DRS恢復(fù)向量,必須保留一定的空間不被主程序使用。MAXQ1103.xml文件中聲明一個(gè)存儲(chǔ)器段,始于0x3C600,長度為16k字,聲明存儲(chǔ)器段名為RESERVE。由此,我們可以使用Rowley匯編指示CSEG RECOVERY在適當(dāng)?shù)刂反娣盼覀兊腄RS診斷程序,該地址由DRSRS寄存器的DIAS[3:0]位指定。

函數(shù)enable_drs_diag()在DRSRS寄存器寫入0x00001E01值。這個(gè)數(shù)值能夠使能診斷向量,選擇0x3C600診斷向量位置。

發(fā)生破壞性復(fù)位后(例如,導(dǎo)致自毀的輸入狀態(tài)已解除),DRS診斷程序?qū)⒈籖OM調(diào)用。這個(gè)程序不會(huì)調(diào)用任何位于加密區(qū)(由PMAC/PMSZ定義)的程序,程序須避開加密區(qū),否則會(huì)導(dǎo)致所不希望的系統(tǒng)操作。

恢復(fù)程序包含在drs.asm文件內(nèi),說明存儲(chǔ)在RECOVERY區(qū)域的CSEG的使用。

診斷向量可能調(diào)用內(nèi)部程序存儲(chǔ)器中未經(jīng)加密的C程序,程序調(diào)用之前必須安裝C運(yùn)行環(huán)境,請(qǐng)參考Rowley編譯器的crt0.asm文件決定需要安裝的內(nèi)容。

結(jié)論

MAXQ1103診斷程序?yàn)槌绦蛟O(shè)計(jì)人員提供了一個(gè)在與安全有關(guān)的破壞性復(fù)位之后執(zhí)行代碼的方法。它清晰地劃分了加密程序和非加密恢復(fù)程序。診斷程序能夠記錄威脅安全性的攻擊,在自毀操作后采取適當(dāng)?shù)拇胧纾哼h(yuǎn)程報(bào)警或進(jìn)一步擦除內(nèi)部存儲(chǔ)器。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉