欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

微控制器加密的方法

文檔序號:9866086閱讀:465來源:國知局
微控制器加密的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明關(guān)于一種加密方法,更特定而言,是關(guān)于防護(hù)微控制器中程式碼的加密方法。
【背景技術(shù)】
[0002]微控制器(microcontroller unit, MCU)是把中央處理器、存儲器、定時/計數(shù)器、輸入輸出界面都整合在一塊芯片上的微型計算機。與應(yīng)用在個人計算機中的通用型微處理器相比,微控制器更強調(diào)不同外接硬件和節(jié)約成本。微控制器的最大優(yōu)點在于體積小且硬件接線簡單、易編寫、保密性佳、輸入輸出界面簡單,其發(fā)展非常迅速,可應(yīng)用于多種領(lǐng)域,因而現(xiàn)今眾多電子產(chǎn)品或高科技產(chǎn)品,如電子計算機、電子數(shù)字表、消費性電子產(chǎn)品等大多需仰賴微控制器方能執(zhí)行。
[0003]微控制器已與日常生活形影不離,其需求量與制造量相當(dāng)可觀,最典型的微控制器為八位元的8051微控制器。而近年來,由于消費性電子產(chǎn)品以及智能電子產(chǎn)品的崛起,早期簡單性邏輯的微控制器已無法滿足消費性電子產(chǎn)品以及智能電子產(chǎn)品的功能需求,因而開始朝向智能型演算的方向,且同時提升產(chǎn)品效能。
[0004]于激烈的市場競爭壓力下,除了針對硬件進(jìn)行全面性的保護(hù)外,也同時須對軟件或韌體進(jìn)行保護(hù),以防止不肖人士蓄意竊取重要機密,防止因非法拷貝而造成巨大的損失,因而,如何保護(hù)電子產(chǎn)業(yè)有關(guān)的內(nèi)容和數(shù)據(jù)受到高度的關(guān)注。
[0005]微控制器或CPU所執(zhí)行的程序通常是儲存于程序存儲器(ROM)中,其扮演著系統(tǒng)運作的中樞,然而,信息科技的發(fā)達(dá),復(fù)制工具(或程序)與技術(shù)也隨之興起,不肖人士將盜取后的微控制器,經(jīng)過破解和復(fù)制工具(或程序)以獲得公司重要機密并販賣于市場中。有鑒于此,須對微控制器作進(jìn)一步地防護(hù),以防止他人蓄意盜取微控制器后,他人無法得知微控制器中重要機密,縱使被他人拷貝時,本發(fā)明的微控制器會產(chǎn)生錯誤的執(zhí)行程序,使他人無法繼續(xù)使用電子產(chǎn)品。

【發(fā)明內(nèi)容】

[0006]有鑒于此,本發(fā)明的主要目的在于提供一種微控制器加密的方法,其具簡易且有效保護(hù)數(shù)據(jù)安全,同時降低成本的優(yōu)點。
[0007]綜上所述,依據(jù)本發(fā)明的一觀點,本發(fā)明提供一種加密方法,特別是對微控制器(microcontroller unit)進(jìn)行加密的方法,上述微控制器包含一儲存模塊以及一輸入/輸出模塊,其中上述儲存模塊包含一唯一識別碼(unique identifier, UID)以及一制造公司識別碼(company identifier, CID),上述儲存模塊更包括一處理程序,用以執(zhí)行至少一轉(zhuǎn)換程序以及一加密程序,執(zhí)行下步驟如下:取得上述唯一識別碼以及上述制造公司識別碼;借由上述轉(zhuǎn)換程序以將上述唯一識別碼轉(zhuǎn)換為固定長度字節(jié)的數(shù)據(jù);一未加密數(shù)據(jù)通過上述輸入/輸出模塊傳送至上述儲存模塊中;借由上述加密程序以對上述唯一識別碼、上述制造公司識別碼及上述未加密數(shù)據(jù)進(jìn)行加密運算,以成為一加密數(shù)據(jù);以及將上述加密數(shù)據(jù)儲存于上述儲存模塊中。
[0008]優(yōu)選的是,上述轉(zhuǎn)換程序?qū)⑸鲜鑫ㄒ蛔R別碼轉(zhuǎn)換為8個位元組的數(shù)據(jù)。
[0009]優(yōu)選的是,上述轉(zhuǎn)換程序是將上述唯一識別碼排列成一 η行8列的轉(zhuǎn)換表格,其中η值大于或等于3。
[0010]優(yōu)選的是,上述未加密數(shù)據(jù)的字節(jié)長度與上述制造公司識別碼及經(jīng)上述轉(zhuǎn)換程序后的上述唯一識別碼的字節(jié)長度相同。
[0011]優(yōu)選的是,上述加密數(shù)據(jù)是將上述未加密數(shù)據(jù)、上述唯一識別碼和上述制造公司識別碼,操作X次右循環(huán)、y次左循環(huán)及異或(XOR)所得到的加密結(jié)果。
[0012]優(yōu)選的是,上述制造公司識別碼是將足以辨識制造公司的資料,通過一字符編碼表轉(zhuǎn)換成為一字節(jié)數(shù)據(jù)。
[0013]優(yōu)選的是,上述儲存模塊包含ROM、PROMs、EPROMs、EEPROMs、Flash等非揮發(fā)性存儲器。
[0014]本發(fā)明的微控制器加密的方法,其具簡易且有效保護(hù)數(shù)據(jù)安全,同時降低成本的優(yōu)點。
【附圖說明】
[0015]上述元件,以及本發(fā)明其它特征與優(yōu)點,借由閱讀實施方式的內(nèi)容及其附圖后,將更為明顯:
圖1是根據(jù)本發(fā)明最佳實施例顯示微控制器加密的系統(tǒng)結(jié)構(gòu)圖;
圖2是根據(jù)本發(fā)明最佳實施例顯示微控制器加密的步驟流程圖;
圖3A是根據(jù)本發(fā)明最佳實施例顯示轉(zhuǎn)換程序?qū)ξㄒ蛔R別碼的排列方式;
圖3B是根據(jù)本發(fā)明最佳實施例顯示轉(zhuǎn)換程序?qū)ξㄒ蛔R別碼的演算方式;
圖4是根據(jù)本發(fā)明最佳實施例顯示加密程序的加密算法。
[0016]附圖標(biāo)記說明
100微控制器 102儲存模塊 104處理程序 105 I/O模塊 1022唯一識別碼 1024制造公司識別碼 1026未加密數(shù)據(jù) 1027加密數(shù)據(jù) 1042轉(zhuǎn)換程序 1044加密程序 202-212 步驟。
【具體實施方式】
[0017]本發(fā)明將配合其較佳實施例與隨附的圖示詳述于下。應(yīng)可理解為本發(fā)明中所有的較佳實施例僅為例示之用,并非用以限制。因此除文中的較佳實施例外,本發(fā)明亦可廣泛地應(yīng)用在其它實施例中。且本發(fā)明并不受限于任何實施例,應(yīng)以隨附的權(quán)利要求及其同等領(lǐng)域而定。
[0018]以下,將搭配參照相應(yīng)的附圖,詳細(xì)說明依照本發(fā)明的較佳實施例。關(guān)于本發(fā)明新穎概念的更多觀點以及優(yōu)點,將在以下的說明提出,并且使熟知或具有此領(lǐng)域通常知識者可了解其內(nèi)容并且據(jù)以實施。
[0019]參閱圖1,該圖是根據(jù)本發(fā)明最佳實施例顯示微控制器100加密的系統(tǒng)架構(gòu)圖。一微控制器100包含一儲存模塊102及一輸入/輸出(I/O)模塊105。于一實施例中,上述儲存模塊102依照功能需求可為隨機存取存儲器(Random Access Memory, RAM),亦即數(shù)據(jù)存儲器,為可讀/寫的記憶單元,用以存放數(shù)據(jù)或程序;以及上述儲存模塊102更可為程序存儲器(program read only memory, ROM),本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,現(xiàn)今大部分的程序存儲器(ROM)為可讀/寫的記憶單元,其所儲存的程序用以執(zhí)行微控制器100,于此實施例中,上述儲存模塊102用以儲存一唯一識別碼(UID) 1022以及一制造公司識別碼(CID) 1024,使用者僅能讀取上述唯一識別碼1022,其無法修改或刪除。上述I/O模塊105用以將外部的一未加密數(shù)據(jù)1026傳送至上述儲存模塊102中,再通過上述處理程序104進(jìn)行加密,以下將針對加密流程做進(jìn)一步描述。
[0020]所述儲存模塊102更包括一處理程序104,于一實施例中,上述處理程序104可為運算邏輯單元,用以執(zhí)行邏輯運算(如加、減、乘、除等,但并不以此為限),并將運算后所得的數(shù)據(jù)傳送至指定位置。上述處理程序104是執(zhí)行運算的重要單元,其包含一轉(zhuǎn)換程序1042以及一加密程序1044,以完成加、減、乘、除、與、或、異或等運算,或其他數(shù)學(xué)、邏輯、字符等運算或函數(shù)。于最佳實施例中,無須通過任一計算裝置對上述微控制器100進(jìn)行加密演算,直接利用上述微控制器100中韌體或軟件徑行加密演算;另一實施例中,亦可通過任一計算裝置以對上述微控制器100進(jìn)行加密演算。
[0021]參閱圖2,該圖是根據(jù)本發(fā)明最佳實施例顯示微控制器加密的步驟流程圖。
[0022]步驟202:取得上述唯一識別碼1022。讀取上述儲存模塊102中的上述唯一識別碼1022。每一微控制器100制造出廠時,微控制器100制造商會對每一微控制器100直接寫入識別碼,每一微控制器100的唯一識別碼1022皆為獨一無二,使用者只可讀取上述唯一識別碼1022,但不可刪除或更改上述唯一識別碼1022,因此,于本發(fā)明的加密步驟中,無需通過任一裝置即可進(jìn)行讀取,于另一實施例中,使用者可借由微控制器指令取得每一微控制器100的唯一識別碼1022,以便于后續(xù)加密的步驟。微控制器100依照總線或數(shù)據(jù)暫存器的寬度,可分為四位元、八位元、十六位元和三十二位,于最佳實施例是采用具八位元的CMOS(互補式金屬氧化物半導(dǎo)體)控制器以執(zhí)行加密步驟,但并不以此為限。于一實施例中,使用者可通過一 RDMSR (read form MSR,讀取特別模塊暫存器)指令以讀取上述唯一識別碼1022。
[0023]步驟204:轉(zhuǎn)換上述唯一識別碼1022的字節(jié)數(shù)據(jù)。借由上述處理程序104的上述轉(zhuǎn)換程序1042,對上述唯一識別碼1022進(jìn)行演算操作,以轉(zhuǎn)換為所需的字節(jié)。由于不同微控制器100制造商寫入唯一識別碼1022字節(jié)(Byte)皆不同,因此若小于八個位元組或超過八個位元組的唯一識別碼1022,需轉(zhuǎn)換成標(biāo)準(zhǔn)八個位元組的數(shù)據(jù),或其他字節(jié)數(shù),以利后續(xù)加密步驟。若轉(zhuǎn)換前的唯一識別碼1022即為標(biāo)準(zhǔn)的八個位元組,即可徑行后續(xù)加密步驟。上述轉(zhuǎn)換程序1042的排列方式如圖3A所示,但不以此為限,實際的排列方式仍由制造公司自行決定。于此實施例中,轉(zhuǎn)換前唯一識別碼1022是由12個位元組所組成的數(shù)據(jù),如UID(0)、UID(I).....UID(Il),將12個位元組資料排列成η行8列的表格,η值大于或等于3,此實施例中η=3,需注意的是,表格的排列必須使用到唯一識別碼1022的12個位元組,而每個字節(jié)皆可重復(fù)使用,最后將表格每一列的每一個字節(jié)做多個邏輯運算,如圖3Β所示的運算方式,即可得到轉(zhuǎn)換后8個位元組的唯一識別碼1022資料,如UID8 (0)、UID8(1)...UID8(7),UID8資料。于圖3B中,swap (Byte)為一種常見的邏輯運算,是將一個字節(jié)的高四位與下四位交換,如10100101經(jīng)swap運算后得到01011010,或以另一方式表示可為B7B6B5B4B3B2B1B0經(jīng)swap運算后得到B3B2B1B0B7B6B5B4,但并不以此為限。
[0024]步驟206:取得一制造公司識別碼(company id
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宝坻区| 兴山县| 富锦市| 贵南县| 普洱| 确山县| 宜兰市| 新昌县| 濮阳县| 北票市| 南京市| 大余县| 叙永县| 武胜县| 邵阳县| 霸州市| 武平县| 元江| 五大连池市| 博野县| 石景山区| 元阳县| 阳谷县| 体育| 武义县| 任丘市| 福贡县| 马山县| 廉江市| 东安县| 扶风县| 桂阳县| 大同市| 咸丰县| 华安县| 武宣县| 洪雅县| 吉木乃县| 汤原县| 简阳市| 双辽市|