TW202326421A - 微控制晶片及存取方法 - Google Patents

微控制晶片及存取方法 Download PDF

Info

Publication number
TW202326421A
TW202326421A TW110149548A TW110149548A TW202326421A TW 202326421 A TW202326421 A TW 202326421A TW 110149548 A TW110149548 A TW 110149548A TW 110149548 A TW110149548 A TW 110149548A TW 202326421 A TW202326421 A TW 202326421A
Authority
TW
Taiwan
Prior art keywords
address
data
external memory
internal
generate
Prior art date
Application number
TW110149548A
Other languages
English (en)
Other versions
TWI797934B (zh
Inventor
杜俞輝
Original Assignee
新唐科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW110149548A priority Critical patent/TWI797934B/zh
Priority to CN202211114680.0A priority patent/CN116414737A/zh
Priority to US17/994,030 priority patent/US20230214331A1/en
Application granted granted Critical
Publication of TWI797934B publication Critical patent/TWI797934B/zh
Publication of TW202326421A publication Critical patent/TW202326421A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種微控制晶片,耦接一外部記憶體,並包括一中央處理器、一位址對應電路以及一位址匯流排。中央處理器用以提供一內部位址。位址對應電路計算一唯一編號以及一種子碼,用以產生一基礎參數,並根據基礎參數,對內部位址進行一亂序運算,用以產生一加密位址。位址匯流排耦接於位址對應電路與外部記憶體之間,用以提供加密位址予外部記憶體。外部記憶體根據加密位址儲存一特定資料。

Description

微控制晶片及存取方法
本發明係有關於一種微控制晶片,特別是有關於一種存取一外部記憶體的微控制晶片。
隨著科技的進步,電子裝置的種類及功能愈來愈多。電子裝置裡的微控制晶片所需要執行的程式碼也越來越大。然而,微控制晶片內部的記憶空間不足以儲存程式碼。因此,微控制晶片可能將程式碼儲存於一外部記憶體。由於外部記憶體獨立於微控制晶片外,故造成儲存在外部記憶體的程式碼很容易被第三方所竊取。
本發明之一實施例提供一種微控制晶片,耦接一外部記憶體,並包括一中央處理器、一位址對應電路以及一位址匯流排。中央處理器用以提供一內部位址。位址對應電路計算一唯一編號以及一種子碼,用以產生一基礎參數,並根據基礎參數,對內部位址進行一亂序運算,用以產生一加密位址。位址匯流排耦接於位址對應電路與外部記憶體之間,用以提供加密位址予外部記憶體。外部記憶體根據加密位址儲存一特定資料。
本發明另提供一種微控制晶片,耦接一外部記憶體,並包括一位址保護電路、一資料保護電路、一位址匯流排以及一資料匯流排。位址保護電路對一內部位址進行加密,用以產生一加密位址。資料保護電路對一內部資料進行加密,用以產生一加密資料。位址匯流排用以輸出加密位址予外部記憶體。資料匯流排用以輸出加密資料予外部記憶體。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出實施例,並配合所附圖式,做詳細之說明。本發明說明書提供不同的實施例來說明本發明不同實施方式的技術特徵。其中,實施例中的各元件之配置係為說明之用,並非用以限制本發明。另外,實施例中圖式標號之部分重覆,係為了簡化說明,並非意指不同實施例之間的關聯性。
第1圖為本發明之存取系統的示意圖。如圖所示,存取系統100包括一外部主機(host)110、一晶片(chip)120以及一外部記憶體(external memory)140。在本實施例中,外部主機110、微控制晶片120以及外部記憶體140各自獨立設置。外部主機110用以提供一韌體(firmware)予微控制晶片120。在一可能實施例中,外部主機110係為一韌體下載工具(firmware downloader tool)。
微控制晶片120包括一位址保護電路121。位址保護電路121對一內部位址ADR進行加密,用以產生一加密位址ADR_E。本發明並不限定位址保護電路121如何對內部位址ADR進行加密。在一可能實施例中,位址保護電路121利用一演算法,計算一唯一編號(unique ID)uID以及一種子碼(seed)SD,用以產生一基礎參數BP。本發明並不限定位址保護電路121如何計算唯一編號uID以及種子碼SD。在一可能實施例中,位址保護電路121對唯一編號uID以及種子碼SD進行一互斥或運算(XOR)、一或運算(OR)、一加法運算及一減法運算之至少一者。在其它實施例中,唯一編號uID係為微控制晶片120的識別碼(identification code)。在一些實施例中,種子碼SD係由外部主機110所提供。
在本實施例中,位址保護電路121根據基礎參數BP,對內部位址ADR進行一亂序運算,用以產生加密位址ADR_E。舉例而言,內部位址ADR可能是0000 1000。經位址保護電路121轉換內部位址ADR後,加密位址ADR_E可能是0000 5000。在此例中,加密位址ADR_E不同於內部位址ADR。
本發明並不限定位址保護電路121的架構。在本實施例中,位址保護電路121包括一內部記憶體122以及一位址對應電路(address reorder)123。內部記憶體122用以儲存唯一編號uID以及種子碼SD。在一些實施例中,內部記憶體122係為一非揮發性記憶體。位址對應電路123計算唯一編號uID以及種子碼SD,用以產生一基礎參數BP,並根據基礎參數BP,轉換內部位址ADR,用以產生加密位址ADR_E。
在一可能實施例中,微控制晶片120更包括一中央處理器124。中央處理器124提供內部位址ADR予位址對應電路123。在另一可能實施例中,微控制晶片120更包括一輸入輸出介面125。輸入輸出介面125用以耦接外部主機110。本發明並不限定輸入輸出介面125的種類。在一可能實施例中,輸入輸出介面125係為一通用序列匯流排(USB)介面。
中央處理器124透過輸入輸出介面125,接收來自外部主機110的種子碼SD。在此例中,使用者可能於外部主機110輸入種子碼SD。中央處理器124將種子碼SD儲存於內部記憶體122。由於位址對應電路123根據基礎參數BP,對內部位址ADR進行加密,而基礎參數BP與種子碼SD有關,故使用者可藉由設定種子碼SD,控制加密操作,並提高加密操作的彈性。
在一些實施例中,微控制晶片120更包括一內部記憶體126。內部記憶體126用以儲存一開機碼BTC。當中央處理器124執行開機碼BTC時,中央處理器124產生內部資料DA。在一可能實施例中,內部記憶體126係為遮罩唯讀記憶體(mask ROM)。在此例中,在製作微控制晶片120時,開機碼BTC係直接寫入內部記憶體126,無法被更改。在另一可能實施例中,內部記憶體126係為一快閃記憶體(flash memory)。在此例中,內部記憶體126儲存來自外部主機110提供的開機碼BTC。
在其它實施例中,微控制晶片120更包括一位址匯流排ABS以及一資料匯流排DBS。位址匯流排ABS耦接於位址對應電路123與外部記憶體140之間,用以輸出加密位址ADR_E予外部記憶體140。資料匯流排DBS耦接於中央處理器124與外部記憶體140之間,用以傳送一內部資料DA予外部記憶體140。在一可能實施例中,內部資料DA係由中央處理器124提供。在此例中,中央處理器124執行開機碼BTC後,提供內部資料DA予資料匯流排DBS。
外部記憶體140獨立於微控制晶片120之外,並耦接位址匯流排ABS及資料匯流排DBS。當外部記憶體140接收到一寫入指令時,外部記憶體140根據位址匯流排ABS上的位址(如加密位址ADR_E),將內部資料DA儲存於相對應的記憶胞中。當外部記憶體140接收到一讀取指令時,外部記憶體140根據位址匯流排ABS上的位址(如加密位址ADR_E),讀取相對應的記憶胞,用以提供一讀取資料DAR。在一些實施例中,外部記憶體140係為一快閃記憶體。
由於外部記憶體140獨立於微控制晶片120之外,故外部記憶體140所儲存的資料或是程式碼很容易被第三方竊取。因此,微控制晶片120打亂資料的順序,使得第三方不易解讀外部記憶體140的資料。在本實施例中,位址保護電路121利用微控制晶片120的唯一編號uID以及一種子碼SD,對內部位址進行加密。由於不同的晶片具有不同的識別碼,故對於同一內部位址,不同晶片上的位址保護電路121係產生不同的加密位址。外部人員無法預測資料的儲存位址,故可大幅減少資料被竊取成功的機會。另外,即使外部人員拔除外部記憶體140,並將外部記憶體140與另一晶片連結,該晶片也無法正確地解譯(disassembly)外部記憶體140所儲存的程式碼。
第2圖為本發明之存取系統的另一示意圖。存取系統200包括一外部主機210、一微控制晶片220以及一外部記憶體240。由於外部主機210及外部記憶體240的特性相似於第1圖的外部主機110及外部記憶體140的特性,故不再贅述。在本實施例中,微控制晶片220包括一位址保護電路221及一資料保護電路226。由於位址保護電路221的特性相似於第1圖的位址保護電路121的特性,故不再贅述。
資料保護電路226耦接於中央處理器224與外部記憶體240之間,並操作於一加密模式或是一解密模式。舉例而言,當資料保護電路226接收到一內部資料DA時,資料保護電路226進入一加密模式。在加密模式下,資料保護電路226對內部資料DA進行加密(encrypt),用以產生一加密資料DA_E。本發明並不限定資料保護電路226如何加密內部資料DA。在一可能實施例中,資料保護電路226根據一金鑰(key)KY1,對內部資料DA進行運算,用以產生加密資料DA_E。
在另一可能實施例中,當資料保護電路226接收到一讀取資料DAR時,資料保護電路226進入一解密模式。在解密模式下,資料保護電路226對讀取資料DAR進行解密(decrypt),用以產生一解密資料DA_D。本發明並不限定資料保護電路226如何解密讀取資料DAR。在一可能實施例中,資料保護電路226根據金鑰KY1,對讀取資料DAR進行運算,用以產生解密資料DA_D。
本發明並不限定金鑰KY1的來源。在一可能實施例中,金鑰KY1可能係由中央處理器224提供。當中央處理器224執行開機碼BTC後,便可取得一金鑰KY1,並將金鑰KY1寫入資料保護電路226。在另一可能實施例中,金鑰KY1可能係為基礎參數BP。在此例中,在產生基礎參數BP後,位址對應電路123提供基礎參數BP予資料保護電路226。資料保護電路226將基礎參數BP作為金鑰KY1。在其它實施例中,金鑰KY1可能相同於唯一編號uID或種子碼SD。
外部記憶體240透過位址匯流排ABS,接收加密位址ADR_E,並透過資料匯流排DBS,接收加密資料DA_E或是輸出讀取資料DAR。舉例而言,當外部記憶體240接收到一寫入指令時,外部記憶體240根據加密位址ADR_E,將加密資料DA_E儲存於相對應的記憶胞之中。當外部記憶體240接收到一讀取指令時,外部記憶體240讀取加密位址ADR_E所對應的一讀取資料DAR,並輸出讀取資料DAR。由於外部記憶體240接收到的位址及資料都經過了加密操作,故可大幅提高外部記憶體240的資料的安全性。
本發明並不限定資料保護電路226的架構。在本實施例中,資料保護電路226包括一內部記憶體227以及一密碼電路228。內部記憶體227用以儲存金鑰KY1。密碼電路228用以進行一加密操作或是一解密操作。在本實施例中,密碼電路228包括一加密電路229以及一解碼電路230。加密電路229加密內部資料DA,用以提供加密資料DA_E。解密電路230解密讀取資料DAR,用以提供解密資料DA_D。
在一些實施例中,微控制晶片220更包括一內部記憶體232。在此例中,當中央處理器224所發出的內部位址ADR係指向內部記憶體232時,資料保護電路226將解密資料DA_D儲存於內部記憶體232中。本發明並不限定內部記憶體232的種類。在一可能實施例中,內部記憶體232係為一靜態隨機存取記憶體(SRAM)。
在另一可能實施例中,微控制晶片220更包括一內部記憶體231。內部記憶體231用以儲存開機碼BTC。在一可能實施例中,中央處理器224透過輸入輸出介面225,接收來自外部主機210的開機碼BTC,並將開機碼BTC儲存於內部記憶體231中。在一些實施例中,當中央處理器224執行開機碼BTC時,中央處理器224產生內部資料DA。本發明並不限定內部記憶體231的種類。在一可能實施例中,內部記憶體231係為一非揮發性記憶體,如唯讀記憶體(ROM)。
第3圖為本發明之存取系統的另一示意圖。存取系統300包括一外部主機310、一微控制晶片320以及一外部記憶體340。由於外部主機310及外部記憶體340的特性相似於第1圖的外部主機110及外部記憶體140的特性,故不再贅述。在本實施例中,微控制晶片320包括一位址保護電路321、一中央處理器324、一資料保護電路326、一輸入輸出介面325、內部記憶體331及332。由於位址保護電路321、中央處理器324、輸入輸出介面325、內部記憶體331及332的特性相似於第2圖的位址保護電路221、中央處理器224、輸入輸出介面225、內部記憶體231及232的特性,故不再贅述。
資料保護電路326包括一內部記憶體327、一密碼電路328以及一驗證電路333。內部記憶體327儲存金鑰KY1。密碼電路328利用金鑰KY1,加密內部資料DA,用以產生加密資料DA_E1。由於密碼電路328的特性與第2圖的密碼電路228的特性相似,故不再贅述。
為了辨識外部記憶體340是否為合法的記憶體,內部記憶體327更儲存金鑰KY2及KY3。金鑰KY2代表一預設資料,金鑰KY3代表一預設位址。外部記憶體340根據金鑰KY3,儲存金鑰KY2於相對應的記憶胞中。在微控制晶片320準備存取外部記憶體340時,微控制晶片320先讀取外部記憶體340的預設位址的資料,並判斷該預設位址的資料是否相同於金鑰KY2。若是,表示外部記憶體340為合法記憶體。因此,微控制晶片320繼續存取外記憶體340。若否,表示外部記憶體340為不合法記憶體。因此,微控制晶片320不存取外部記憶體340。在一可能實施例中,金鑰KY2係為一簽章(signature),金鑰KY3係為一偏移值(offset)。
在一些實施例中,位址保護電路321加密金鑰KY3,用以產生加密位址ADR_E2。在此例中,資料保護電路326加密金鑰KY2,用以產生一加密資料DA_E2。外部記憶體340根據加密位址ADR_E2,將加密資料DA_E2儲存於相對應的記憶胞中。在中央處理器324準備存取外部記憶體340時,位址保護電路321讀取金鑰KY3,用以產生加密位址ADR_E2。外部記憶體340輸出加密位址ADR_E2所對應的讀取資料DAR2。資料保護電路326解密讀取資料DAR2,用以產生一解密資料DA_D2。資料保護電路326判斷解密資料DA_D2是否相同於金鑰KY2。若是,表示外部記憶體340為合法記憶體。因此,中央處理器324開始存取外記憶體340。若否,表示外部記憶體340為不合法記憶體。因此,中央處理器324不存取外部記憶體340。
在本實施例中,資料保護電路326更包括一驗證電路333。驗證電路333判斷解密資料DA_D2是否相同於金鑰KY2。若是,驗證電路333寫入一第一設定值於內部記憶體331的特定記憶胞中。若否,驗證電路333寫入一第二設定值於內部記憶體331的特定記憶胞中。中央處理器324根據內部記憶體331的特定記憶胞所儲存的資料(第一或第二設定值),得知外部記憶體340是否為合法記憶體。
當外部記憶體340為合法記憶體時,中央處理器324可能進入一寫入模式。在寫入模式下,中央處理器324發出一內部位址ADR(或稱寫入位址)。位址保護電路321加密內部位址ADR,用以產生一加密位址ADR_E1。此時,中央處理器324輸出一內部資料DA(或稱寫入資料)。資料保護電路326加密內部資料DA,用以產生一加密資料DA_E1。外部記憶體340根據加密位址ADR_E1,儲存內部資料DA。當中央處理器324進入一讀取模式時,中央處理器324發出內部位址ADR(或稱讀取位址)。位址保護電路321加密內部位址ADR,用以產生加密位址ADR_E1。外部記憶體340讀取加密位址ADR_E1所對應的讀取資料DAR1。資料保護電路326解密讀取資料DAR1,用以產生解密資料DA_D1,並提供解密資料DA_D1予內部記憶體332與中央處理器324之至少一者。
第4圖為本發明之存取方法的流程示意圖。本發明之存取方法適用於一微控制晶片,用以存取一外部記憶體。在本實施例中,外部記憶體獨立於微控制晶片之外。在一可能實施例中,微控制晶片可能是第1圖的微控制晶片120、第2圖的微控制晶片220、或是第3圖的微控制晶片320。首先,讀取微控制晶片的一唯一編號(步驟S411)。以第1圖為例,中央處理器124可能將微控制晶片120的唯一編號儲存於內部記憶體122中。
接著,計算唯一編號以及一種子碼,用以產生一基礎參數(步驟S412)。以第1圖為例,一位址對應電路(如123)將唯一編號以及種子碼代入一運算式,用以產生一基礎參數BP。在一可能實施例中,該運算式可能包括一互斥或運算、一或運算、一加法運算及一減法運算之至少一者。
根據基礎參數,對複數內部位址進行一亂序運算,用以產生複數加密位址(步驟S413)。以第1圖為例,一位址對應電路(如123)調整一內部位址ADR,用以產生加密位址ADR_E。在一可能實施例中,位址對應電路123將基礎參數BP與內部位址ADR代入另一運算式。在此例中,基礎參數BP與內部位址ADR的運算結果作為加密位址ADR_E。在一些實施例中,位址對應電路123記錄該等內部位址與該等加密位址的對應關係。因此,當位址對應電路123接收到一內部位址ADR時,可利用查找表,找出對應的加密位址。位址對應電路123不需再重新計算基礎參數BP與內部位址ADR。
根據該等加密位址,寫入複數特定資料至外部記憶體(步驟S414)。在一可能實施例中,微控制晶片具有一位址匯流排及一資料匯流排。外部記憶體透過位址匯流排接收加密位址,並透過資料匯流排接收特定資料。在此例中,外部記憶體根據加密位址,將特定資料儲存於相對應的記憶胞中。
在其它實施例中,微控制晶片更儲存一開機碼。在此例中,微控制晶片執行該開機碼,用以產生種子碼。本發明並不限定開機碼的來源。在一可能實施例中,開機碼係由一外部主機提供。在此例中,微控制晶片可能具有一輸入輸出介面,用以耦接外部主機。外部主機係獨立於微控制晶片之外。
在一些實施例中,在輸出特定資料予外部記憶體前,特定資料已經過一加密操作。舉例而言,微控制晶片利用一第一金鑰,加密一第一內部資料,用以產生特定資料。在此例中,微控制晶片讀取外部記憶體所儲存的資料時,微控制晶片先利用該第一金鑰,解密外部記憶體所儲存的資料,用以產生一第二內部資料。微控制晶片再將第二內部資料儲存於一內部記憶體中。該內部記憶體可能是一靜態隨機存取記憶體。
在另一可能實施例中,微控制晶片更儲存一第二金鑰以及一第三金鑰。微控制晶片根據基礎參數,對第三金鑰進行該亂序運算,用以產生一寫入位址。外部記憶體根據該寫入位址,儲存第二金鑰於相對應的記憶胞中。在此例中,由於微控制晶片並未加密第二金鑰,故當微控制晶片讀取儲存於外部記憶體的第二金鑰時,微控制晶片不需對儲存於外部記憶體的第二金鑰進行解密操作。微控制晶片判斷儲存於外部記憶體的第二金鑰是否相同於微控制晶片本身所儲存的第二金鑰。若是,表示外部記憶體為一合法記憶體。若否,表示外部記憶體為一非法記憶體。因此,微控制晶片可能暫時停止存取外部記憶體。
在另一可能實施例中,微控制晶片加密第二金鑰,用以產生一加密金鑰。在此例中,外部記憶體根據該寫入位址,儲存加密金鑰於相對應的記憶胞中。當外部記憶體接收一讀取指令以及該寫入位址時,外部記憶體輸出該加密金鑰。微控制晶片解密該加密金鑰,用以產生一解密結果。微控制晶片比較解密結果與第二金鑰。如果解密結果相同於第三金鑰,表示外部記憶體為一合法記憶體。因此,微控制晶片繼續存取外部記憶體。如果解密結果不同於第二金鑰,表示外部記憶體為一不合法記憶體。因此,微控制晶片停止存取外部記憶體。在一可能實施例中,第二金鑰係為唯一編號及種子碼之一者,而第三金鑰係為唯一編號及種子碼之另一者。
必須瞭解的是,當一個元件或層被提及與另一元件或層「耦接」時,係可直接耦接或連接至其它元件或層,或具有其它元件或層介於其中。反之,若一元件或層「連接」至其它元件或層時,將不具有其它元件或層介於其中。
本發明之存取方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可儲存於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之微控制晶片。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之微控制晶片。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
除非另作定義,在此所有詞彙(包含技術與科學詞彙)均屬本發明所屬技術領域中具有通常知識者之一般理解。此外,除非明白表示,詞彙於一般字典中之定義應解釋為與其相關技術領域之文章中意義一致,而不應解釋為理想狀態或過分正式之語態。雖然“第一”、“第二”等術語可用於描述各種元件,但這些元件不應受這些術語的限制。這些術語只是用以區分一個元件和另一個元件。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾。舉例來說,本發明實施例所述之系統、裝置或是方法可以硬體、軟體或硬體以及軟體的組合的實體實施例加以實現。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、200、300:存取系統 110、210、310:外部主機 120、220、320:晶片 121、221、321:位址保護電路 122、126、222、227、231、327、331:內部記憶體 123、223:位址對應電路 124、224、324:中央處理器 125、225、325:輸入輸出介面 140、240、340:外部記憶體 226:資料保護電路 228、328:密碼電路 229、329:加密電路 230、330:解碼電路 ADR:內部位址 ADR_E、ADR_E1、ADR_E2:加密位址 uID:唯一編號 SD:種子碼 BP:基礎參數 BTC:開機碼 ABS:位址匯流排 DBS:資料匯流排 DA:內部資料 DAR、DAR1、DAR2:讀取資料 DA_E、DA_E1、DA_E2:加密資料 DA_D、DA_D1、DA_D2:解密資料 KY1~KY3:金鑰 S411~S414:步驟
第1圖為本發明之存取系統的示意圖。 第2圖為本發明之存取系統的另一示意圖。 第3圖為本發明之存取系統的另一示意圖。 第4圖為本發明之存取方法的流程示意圖。
100:存取系統
110:外部主機
120:晶片
121:位址保護電路
122、126:內部記憶體
123:位址對應電路
124:中央處理器
125:輸入輸出介面
140:外部記憶體
ADR:內部位址
ADR_E:加密位址
uID:唯一編號
SD:種子碼
BP:基礎參數
BTC:開機碼
ABS:位址匯流排
DBS:資料匯流排
DA:內部資料
DAR:讀取資料

Claims (10)

  1. 一種微控制晶片,耦接一外部記憶體,並包括: 一中央處理器,用以提供一第一內部位址; 一位址對應電路,計算一唯一編號以及一種子碼,用以產生一基礎參數,並根據該基礎參數,對該第一內部位址進行一亂序運算;用以產生一第一加密位址;以及 一位址匯流排,耦接於該位址對應電路與該外部記憶體之間,用以提供該第一加密位址予該外部記憶體; 其中該外部記憶體根據該第一加密位址儲存一特定資料。
  2. 如請求項1之微控制晶片,更包括: 一第一內部記憶體,用以儲存一開機碼,其中該中央處理器執行該開機碼,用以產生該種子碼。
  3. 如請求項1之微控制晶片,更包括: 一資料匯流排,耦接於該中央處理器與該外部記憶體之間,用以提供該特定資料予該外部記憶體。
  4. 如請求項3之微控制晶片,更包括: 一資料保護電路,耦接於該中央處理器與該資料匯流排之間,並操作於一加密模式或是一解密模式。
  5. 如請求項4之微控制晶片,其中當該中央處理器提供一第一內部資料時,該資料保護電路進入該加密模式,在該加密模式下,該資料保護電路加密該第一內部資料,用以產生該特定資料,並透過該資料匯流排,輸出該特定資料予該外部記憶體。
  6. 如請求項5之微控制晶片,其中當該外部記憶體提供一讀取資料時,該資料保護電路進入該解密模式,在該解密模式下,該資料保護電路解密該讀取資料,用以產生一第二內部資料予該中央處理器。
  7. 如請求項6之微控制晶片,其中該資料保護電路包括: 一第二內部記憶體,儲存一第一金鑰; 一密碼電路,處理該第一金鑰與該第一內部資料,用以產生該特定資料,並處理該第一金鑰與該讀取資料,用以產生該第二內部資料。
  8. 一種存取方法,適用於一微控制晶片,該微控制晶片耦接一外部記憶體,該存取方法包括: 讀取該微控制晶片的一唯一編號; 計算該唯一編號以及一種子碼,用以產生一基礎參數; 根據該基礎參數,對複數內部位址進行一亂序運算,用以產生複數加密位址;以及 根據該等加密位址,寫入複數特定資料至該外部記憶體; 其中該外部記憶體獨立於該微控制晶片之外。
  9. 一種微控制晶片,耦接一外部記憶體,並包括: 一位址保護電路,對一內部位址進行加密,用以產生一加密位址; 一資料保護電路,對一內部資料進行加密,用以產生一加密資料; 一位址匯流排,用以輸出該加密位址予該外部記憶體;以及 一資料匯流排,用以輸出該加密資料予該外部記憶體。
  10. 如請求項9之微控制晶片,其中該位址保護電路計算一唯一編號以及一種子碼,用以產生一基礎參數,並根據該基礎參數,對該內部位址進行一亂序運算,用以產生該加密位址。
TW110149548A 2021-12-30 2021-12-30 微控制晶片及存取方法 TWI797934B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW110149548A TWI797934B (zh) 2021-12-30 2021-12-30 微控制晶片及存取方法
CN202211114680.0A CN116414737A (zh) 2021-12-30 2022-09-14 微控制芯片及存取方法
US17/994,030 US20230214331A1 (en) 2021-12-30 2022-11-25 Micro-controller chip and access method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110149548A TWI797934B (zh) 2021-12-30 2021-12-30 微控制晶片及存取方法

Publications (2)

Publication Number Publication Date
TWI797934B TWI797934B (zh) 2023-04-01
TW202326421A true TW202326421A (zh) 2023-07-01

Family

ID=86945047

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110149548A TWI797934B (zh) 2021-12-30 2021-12-30 微控制晶片及存取方法

Country Status (3)

Country Link
US (1) US20230214331A1 (zh)
CN (1) CN116414737A (zh)
TW (1) TWI797934B (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272637B1 (en) * 1997-04-14 2001-08-07 Dallas Semiconductor Corporation Systems and methods for protecting access to encrypted information
US10169618B2 (en) * 2014-06-20 2019-01-01 Cypress Semiconductor Corporation Encryption method for execute-in-place memories
AT521713B1 (de) * 2018-10-11 2023-07-15 Avl List Gmbh Verfahren zur Detektion sicherheitsrelevanter Datenflüsse

Also Published As

Publication number Publication date
US20230214331A1 (en) 2023-07-06
CN116414737A (zh) 2023-07-11
TWI797934B (zh) 2023-04-01

Similar Documents

Publication Publication Date Title
TWI609289B (zh) 用於提供記憶體機密性、完整性及重播保護的低負擔密碼方法、系統及處理器
TWI447583B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
US20070067644A1 (en) Memory control unit implementing a rotating-key encryption algorithm
US9319389B2 (en) Data recording device, and method of processing data recording device
TW201346618A (zh) 使用物理性不可複製功能的安全金鑰儲存器
TW201514750A (zh) 半導體積體電路及系統
US9413532B2 (en) Information recording device
US8971529B2 (en) Information recording device
US11533172B2 (en) Apparatus and method for securely managing keys
CN112887077A (zh) 一种ssd主控芯片随机缓存保密方法和电路
US20130336479A1 (en) Information recording device
US20140281570A1 (en) Method of performing an authentication process between data recording device and host device
CN213876729U (zh) 一种ssd主控芯片随机缓存保密电路
CN104077243A (zh) Sata硬盘设备加密方法及系统
TWI797934B (zh) 微控制晶片及存取方法
TW202001564A (zh) 用以存取資料的方法以及相關電路
TWI731407B (zh) 具有旁通通道的金鑰管理裝置及處理器晶片
US20140281543A1 (en) Host device configured for authentication with memory device
US20130336477A1 (en) Medium
US9158943B2 (en) Encryption and decryption device for portable storage device and encryption and decryption method thereof
US11080020B2 (en) Information processing device and random number generating method
TWI835604B (zh) 資料加解密系統及資料加解密方法
TW202431130A (zh) 資料加解密系統及資料加解密方法
TW202424741A (zh) 所有者撤銷模擬容器
TW202424724A (zh) 具有經驗證的記憶裝置存取異動的方法、裝置及系統