TWI502400B - 微處理器及其資料保密方法 - Google Patents
微處理器及其資料保密方法 Download PDFInfo
- Publication number
- TWI502400B TWI502400B TW103136390A TW103136390A TWI502400B TW I502400 B TWI502400 B TW I502400B TW 103136390 A TW103136390 A TW 103136390A TW 103136390 A TW103136390 A TW 103136390A TW I502400 B TWI502400 B TW I502400B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- preset
- microprocessor
- data
- bit value
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Description
本發明為一種微處理器及其資料保密方法,係指一種應用於電子產品中保護微處理器之資料的方法及裝置。
微處理器(Microcontroller Unit)通常包含有中央處理單元(CPU)、記憶體(RAM及ROM)、輸出輸入埠(I/O)、類比數位轉換單元(A/D)等,可搭配各種電子產品,具有不同的記憶與運算功能。各家廠商可透過多種可能的方式將主程式碼寫入微處理器中,以執行所需的功能,一般而言,為了達到不同的功能,各家廠商需要投入研發資源以開發不同的程式碼,為了保護程式碼不被有心人士盜取,現有技術的微處理器上係設有保密機制。
現有技術之微處理器中,在寫入主程式碼的同時,可同時於功能選項表(Code option)中選擇是否將主程式碼加以保密,記憶體中具有預設位址用來儲存保護位元值。在微處理器尚未被使用過時,保護位元值中的預設資料代表不保密的指令;當使用者選擇將主程式碼加以保密時,保護位元值將會寫入代表保密指令的資料。例如一微處理器中預設三個位址來儲存保護位元值,而假設代表不保密指令的資料為[1][0][1],則通常代表保密指令的資料就為[1][0][1]以外的資料,如[0][0][0]、[0][0][1]、[0][1][0]等,則當使用者選擇保密時,將會寫入[0][0][0]、[0][0][1]、或[0][1][0]等資料於預設位址中,當使用
者選擇不保密時,將會寫入[1][0][1]於預設位址中。當使用者選擇保密時,若使用者透過外部裝置(例如燒錄器等)要求讀取該微處理器的主程式碼時,該微處理器將不會輸出主程式碼於該外部裝置,以達到對主程式碼保密的效果。
但當使用者透過外部裝置要求讀取功能選項表之程式碼時,該外部裝置將會在顯示保護位元值時,僅顯示與真實資料相異的錯誤資料或預設的特定資料,以防止他人獲得保護位元值的真實資料,進而避免他人透過原始出廠之微處理器獲得代表不保密指令的保護位元值,而利用來將已寫入主程式碼之微處理器修改為不保密狀態,達到盜取主程式碼的目的。惟現有技術中,外部裝置讀取該功能選項表時,該微處理器仍會輸出該功能選項表中所有位址之真實值給外部裝置,並藉由該外部裝置來將保護位元值的資料改變後再顯示。例如保護位元值為[1][0][1],則該微處理器輸出之值仍為[1][0][1],但經外部裝置處理後所顯示之值則可能為[*][*][*]、[0][0][0]、[-][-][-]等錯誤資料,則他人無法於外部裝置的顯示內容中得知保護位元值的真實資料;但若他人不透過外部裝置的顯示內容,而係由微處理器的輸出端直接透過儀器測量該微處理器所輸出的資料,則仍能取得保護位元值的真實資料。因此,現有技術的微處理器之保密機制係有其疏漏之處。
有鑑於此,本發明係發展一種微處理器及其資料保密方法,以解決現有技術中透過儀器仍能測量得知保護位元之真實值的缺點。
為達到上述之發明目的,本發明所採用的技術手段為設計一種微處理器的資料保密方法,該微處理器包含一中央處理單元及一記憶體,該記憶體具有至少一預設位址,各個預設位址用來儲存有一保護位元值,所述資料保密方法係包括:
a.根據一外部裝置的要求讀取該記憶體;b.判斷該要求所欲讀取的位址是否對應該至少一預設位址;以及c.若是,輸出一讀取結果給該外部裝置,其中該讀取結果包括至少一特定位元值,在該讀取結果中該至少一特定位元值代表該至少一預設位址的資料,且該至少一特定位元值不同於該至少一預設位址之保護位元值。
再者,本發明係設計一種微處理器,係包括:一記憶體,係具有至少一預設位址,各個預設位址用來儲存一保護位元值;一中央處理單元,係與該記憶體連接;其中該中央處理單元於收到讀取該記憶體之指令時,該中央處理單元判斷所欲讀取的位址是否對應該至少一預設位址,若是,則輸出一讀取結果,該讀取結果包括至少一特定位元值,在該讀取結果中該至少一特定位元值代表該至少一預設位址的資料,且該至少一特定位元值不同於該至少一預設位址之保護位元值。
進一步而言,本發明係設計一種微處理器的資料保密方法,該微處理器包含一中央處理單元及一記憶體,所述資料保密方法係包括:當該中央處理單元收到讀取該記憶體之一功能選項指令表的一讀取指令時,將該功能選項指令表中的至少一預設位址的資料予以改變後再輸出,其中各個預設位址用來儲存一保護位元值。
本發明的優點在於,透過該微處理器輸出時就不輸出保護位元值之真實資料,而改為輸出特定值,則無論外部裝置所得到的值、或在微處理器之輸出介面所測量到的值,均非保護位元之真實資料,而能確實的防止他人取得保護位元之真實值。
進一步而言,該記憶體包括一預設區段,該預設區段包括複數個該預設位址,該些預設區段儲存有一組保護位元參數,該保護位元參數由複
數個該保護位元值所構成,該步驟c輸出的該讀取結果包括一組特定參數來代表該預設區段的資料,且該特定參數不同於該組保護位元參數。藉此,來將與保護位元值位於相同區段內的其他位元值一併輸出為特定值,更進一步讓讀取者無法判斷保護位元值的位址。
10‧‧‧微處理器
11‧‧‧中央處理單元
12‧‧‧記憶體
13‧‧‧連接埠
20‧‧‧外部裝置
圖1為本發明之微處理器與外部裝置連接之方塊圖。
圖2A至圖2C為本發明之記憶體的位元示意圖。
圖3為本發明之資料保密方法的流程圖。
以下配合圖式及本發明之較佳實施例,進一步闡述本發明為達成預定發明目的所採取的技術手段。
請參閱圖1及圖2A所示,本發明之微處理器10包含有一中央處理單元11及一記憶體12。該中央處理單元11透過一連接埠13與一外部裝置20相連接,該中央處理器11中可具有一上查表(look up table)或一旗標資訊(flag tag)。該記憶體12與該中央處理單元11相連接,該記憶體12具有複數個位址121,該複數個位址121中包含有至少一個預設位址1211,該至少一預設位址1211的位置資訊可儲存於該中央處理器之上查表或旗標資訊中,各該預設位址1211中分別儲存有一保護位元值,該保護位元值係供該中央處理單元11判斷是否依照外部裝置20的要求來輸出其程式資訊,亦即對主程式碼的保密指令係由該保護位元值所組成。該保護位元值的數量越多及/或該預設位址1211所位在的行數越分散,則該保護位元值被猜測出真實值的難度越高,進而代表保密程度
越高,例如圖2A係表示位在同一行的三個保護位元值,圖2B係表示位在二相異行的五個保護位元值,圖2C係表示位在三相異行的六個保護位元值,則就保密程度而言,圖2C所示之保密程度為較佳。
請參閱圖1至圖3所示,本發明之資料保密方法包含以下步驟:根據一外部裝置20的要求讀取該記憶體12(S1):該外部裝置20可能為燒錄器等可讀寫微處理器10之記憶體12的內部資料之裝置,該外部裝置20可能要求讀取該記憶體12中的所有位址或指定位址。
判斷該要求所欲讀取的位址121是否對應該至少一預設位址1211(S2):較佳者係由該中央處理單元11判斷該外部裝置20的讀取指令中,是否包含讀取該預設位址1211的指令。
若步驟S2判斷為是,則輸出特定位元值(S31):若欲讀取的位址121中包含該預設位址1211,則所輸出的讀取結果中以該特定位元值來代表該預設位址1211的資料,且該特定位元值不同於該預設位址之保護位元值,以使該保護位元值之真實資料不被輸出。該特定位元值可能為相異於該保護位元值之資料,例如保護位元值為[0],則該特定位元值為[1]。在較佳實施例中,記憶體12包含有一預設區段,該預設區段包含有複數個預設位址1211,該些預設位址1211儲存有一組保護位元參數,該保護位元參數由複數個保護位元值所構成,則輸出的讀取結果包含一組特定參數來代表該預設區段的資料,且該特定參數不同於該組保護位元參數,例如圖2C所示,保護位元參數為[001101],則輸出的特定參數可能為[000000]、[111111]、[010101]等值。
進一步而言,該步驟S2中判斷該要求所欲讀取的位址121是否與該至少一預設位址1211為同一行,若是,則該步驟S31輸出的讀取結果包括一組特定參數來代表所欲讀取之位址121的資料。例如圖2C所示,word 0行中的真實資料為[0...10101],則輸出的特定參數可能為[0000...0000]、[1111...1111]
等不同於該真實資料的特定參數,故除了該保護位元值的真實值被隱藏之外,更將同一行的資料均以該特定參數輸出,以進一步隱藏該保護位元值的真實位址。
若步驟S2判斷為否,則輸出真實值(S32):若所欲讀取的位址121未對應至少一預設位址1211,則將所欲讀取的位址121之資料直接輸出,意即輸出其真實值。進一步而言,若所欲讀取的位址121並未與至少一預設位址1211位於同一行,則所欲讀取的位址121係被直接輸出,即輸出其真實值。例如圖2C所示,word 2中不包含有任何的保護位元值,故若所欲讀取的位址121位於word 2該行時,則將輸出該位址121的真實值。
藉由該微處理器10在輸出資料時,就至少將該保護位元值予以改變為該特定位元值後再輸出,則無論在該微處理器10的輸出埠13所量測到的數值,或在該外部裝置20所讀取或顯示的數值,均為該特定位元值而非真實值,因此,本發明可使該保護位元值的真實值無法被讀取出,以達到最佳的保密效果。
以上所述僅是本發明的較佳實施例而已,並非對本發明做任何形式上的限制,雖然本發明已以較佳實施例揭露如上,然而並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明技術方案的範圍內,當可利用上述揭示的技術內容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發明技術方案的內容,依據本發明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬於本發明技術方案的範圍內。
Claims (15)
- 一種微處理器的資料保密方法,該微處理器包含一中央處理單元及一記憶體,該記憶體具有至少一預設位址,各個預設位址用來儲存有一保護位元值,所述資料保密方法係包括: a. 根據一外部裝置的要求讀取該記憶體; b. 判斷該要求所欲讀取的位址是否對應該至少一預設位址;以及 c. 若是,輸出一讀取結果給該外部裝置,其中該讀取結果包括至少一特定位元值,在該讀取結果中該至少一特定位元值代表該至少一預設位址的資料,且該至少一特定位元值不同於該至少一預設位址之保護位元值。
- 如請求項1所述之微處理器的資料保密方法,其中所述保護位元值係供該中央處理單元判斷是否依照該要求輸出一程式資訊給該外部裝置。
- 如請求項1所述之微處理器的資料保密方法,其中該記憶體包括一預設區段,該預設區段包括複數個該預設位址,該些預設位址儲存有一組保護位元參數,該保護位元參數由複數個該保護位元值所構成,該步驟c輸出的該讀取結果包括一組特定參數來代表該預設區段的資料,且該特定參數係由該複數個特定位元值所構成,使得該特定參數不同於該組保護位元參數。
- 如請求項1所述之微處理器的資料保密方法,其中該步驟b係判斷該讀取位址與該至少一預設位址是否為同一行,若是,則該步驟c輸出的讀取結果包括至少一特定位元值代表該至少一預設位址的資料,且該至少一特定位元值不同於該至少一預設位址之保護位元值。
- 如請求項4所述之微處理器的資料保密方法,其中在步驟c中對於與該至少一預設位址位於不同行之資料將被直接輸出。
- 如請求項1至5中任一項所述之微處理器的資料保密方法,其中該至少一預設位址係儲存於該中央處理器之一上查表中。
- 如請求項1至5中任一項所述之微處理器的資料保密方法,其中該至少一預設位址係儲存於該中央處理器之一旗標資訊中。
- 一種微處理器,係包括: 一記憶體,係具有至少一預設位址,各個預設位址用來儲存一保護位元值; 一中央處理單元,係與該記憶體連接;其中該中央處理單元於收到讀取該記憶體之指令時,該中央處理單元判斷所欲讀取的位址是否對應該至少一預設位址,若是,則輸出一讀取結果,該讀取結果包括至少一特定位元值,在該讀取結果中該至少一特定位元值代表該至少一預設位址的資料,且該至少一特定位元值不同於該至少一預設位址之保護位元值。
- 如請求項8所述之微處理器,其中所述保護位元值係供該中央處理單元判斷是否依照該要求輸出一程式資訊給該外部裝置。
- 如請求項8所述之微處理器,其中該記憶體包括一預設區段,該預設區段包括複數個該預設位址,該些預設區段儲存有一組保護位元參數,該保護位元參數由複數個該保護位元值所構成,當該中央處理單元輸出該讀取結果時,係包括一組特定參數來代表該預設區段的資料,且該特定參數係由該複數個特定位元值所構成,使得該特定參數不同於該組保護位元參數。
- 如請求項8所述之微處理器,其中當該中央處理單元判斷所欲讀取的位址是否對應該至少一預設位址時,係判斷該讀取位址與該至少一預設位址是否為同一行,若是,則當該中央處理單元輸出該讀取結果時,係包括至少一特定位元值來代表該至少一預設位址的資料,且該至少一特定位元值不同於該至少一預設位址之保護位元值。
- 如請求項11所述之微處理器,其中當該中央處理單元輸出該讀取結果時,對於與該至少一預設位址位於不同行之資料將被直接輸出。
- 如請求項8至12中任一項所述之微處理器,其中該至少一預設位址係儲存於該中央處理器之一上查表中。
- 如請求項8至12中任一項所述之微處理器的資料保密方法,其中該至少一預設位址係儲存於該中央處理器之一旗標資訊中。
- 一種微處理器的資料保密方法,該微處理器包含一中央處理單元及一記憶體,所述資料保密方法係包括:當該中央處理單元收到讀取該記憶體之一功能選項指令表的一讀取指令時,將該功能選項指令表中的至少一預設位址的資料予以改變後再輸出,其中各個預設位址用來儲存一保護位元值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410612601.8A CN105320855A (zh) | 2014-07-30 | 2014-11-03 | 微处理器及其数据保密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462031136P | 2014-07-30 | 2014-07-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI502400B true TWI502400B (zh) | 2015-10-01 |
TW201604712A TW201604712A (zh) | 2016-02-01 |
Family
ID=54851740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103136390A TWI502400B (zh) | 2014-07-30 | 2014-10-22 | 微處理器及其資料保密方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105320855A (zh) |
TW (1) | TWI502400B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109214217B (zh) * | 2018-09-07 | 2021-11-26 | 深圳市航顺芯片技术研发有限公司 | 一种微控制器芯片防破解的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011124148A1 (zh) * | 2010-04-08 | 2011-10-13 | 华为终端有限公司 | Flash数据保护方法及装置 |
TW201342116A (zh) * | 2012-04-11 | 2013-10-16 | Silicon Motion Inc | 安全數碼卡、以及安全數碼卡操作系統以及操作方法 |
TW201342112A (zh) * | 2011-12-28 | 2013-10-16 | Fujitsu Ltd | 資訊處理裝置及未授權存取之防止方法 |
TW201401101A (zh) * | 2012-06-26 | 2014-01-01 | Transcend Information Inc | 資料防護方法及其儲存裝置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006009081A1 (ja) * | 2004-07-16 | 2006-01-26 | Matsushita Electric Industrial Co., Ltd. | アプリケーション実行装置及びアプリケーション実行装置のアプリケーション実行方法 |
CN100426264C (zh) * | 2005-10-19 | 2008-10-15 | 联发科技股份有限公司 | 存取一存储器的方法与相关的微处理器*** |
CN101387990B (zh) * | 2007-09-14 | 2011-06-08 | 盛群半导体股份有限公司 | 微控制器程序内存的数据封锁方法、***及微控制器 |
CN101256538B (zh) * | 2008-03-26 | 2011-04-27 | 北京飞天诚信科技有限公司 | 提高带有片外存储器的电子产品数据安全存储的方法 |
CN101556561B (zh) * | 2008-04-09 | 2011-04-06 | 盛群半导体股份有限公司 | 随机数改变地址及数据存储器保密方法 |
CN101677018B (zh) * | 2008-09-16 | 2012-05-23 | 盛群半导体股份有限公司 | 存储器的保密***及存储器烧录模式下读取的保密方法 |
TWI480735B (zh) * | 2012-02-14 | 2015-04-11 | Nuvoton Technology Corp | 具有防複製功能的微處理器晶片及其晶片燒錄系統與電子裝置 |
-
2014
- 2014-10-22 TW TW103136390A patent/TWI502400B/zh active
- 2014-11-03 CN CN201410612601.8A patent/CN105320855A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011124148A1 (zh) * | 2010-04-08 | 2011-10-13 | 华为终端有限公司 | Flash数据保护方法及装置 |
TW201342112A (zh) * | 2011-12-28 | 2013-10-16 | Fujitsu Ltd | 資訊處理裝置及未授權存取之防止方法 |
TW201342116A (zh) * | 2012-04-11 | 2013-10-16 | Silicon Motion Inc | 安全數碼卡、以及安全數碼卡操作系統以及操作方法 |
TW201401101A (zh) * | 2012-06-26 | 2014-01-01 | Transcend Information Inc | 資料防護方法及其儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW201604712A (zh) | 2016-02-01 |
CN105320855A (zh) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8271799B2 (en) | System and method for generating a disguised password based on a real password | |
US20160197899A1 (en) | Method of Dynamically Encrypting Fingerprint Data and Related Fingerprint Sensor | |
US9400755B2 (en) | Password accessible microelectronic memory | |
CN101673251B (zh) | 具有特许存储器的设备及其应用 | |
US8006095B2 (en) | Configurable signature for authenticating data or program code | |
US8639946B2 (en) | System and method of using a protected non-volatile memory | |
EP1785902B1 (en) | Decryption key table access control on ASIC or ASSP | |
US8122514B2 (en) | Software enhanced trusted platform module | |
US20080022396A1 (en) | Memory data protection device and IC card LSI | |
US20080263256A1 (en) | Logic Device with Write Protected Memory Management Unit Registers | |
JP2007527579A (ja) | セキュリティで保護されたコンパクト・フラッシュ | |
EP3522049B1 (en) | Data protection method for chip rewriting equipment, electronic equipment and storage medium | |
EP1172822A1 (en) | Semiconductor device and control device for use therewith | |
CN104834840A (zh) | 基于映射漂移技术的密码保护方法 | |
TWI502400B (zh) | 微處理器及其資料保密方法 | |
CA2506013A1 (en) | Wireless communication device with duress password protection and related method | |
US11372558B2 (en) | Method for accessing one-time-programmable memory and associated circuitry | |
JP2003228521A (ja) | 集積回路の動作のブロック | |
JP2003208586A (ja) | Eepromへのアクセスを制御する方法および装置、並びに対応するコンピュータ・ソフトウェア・プロダクトおよび対応するコンピュータ読取り可能記憶媒体 | |
US9064118B1 (en) | Indicating whether a system has booted up from an untrusted image | |
US20060020785A1 (en) | Secure distribution of a video card public key | |
US20060156311A1 (en) | Programmable controller | |
JP2008299930A (ja) | 半導体記憶装置 | |
JP4786622B2 (ja) | 記憶装置及び記憶媒体制御方法 | |
JP2005081763A (ja) | 印刷装置 |