国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于對數(shù)據(jù)進行加密和解密的方法和架構(gòu)的制作方法_3

      文檔序號:9524475閱讀:來源:國知局
      令時,CPU也可以喚醒78,并進行進一步的熱重新引導(dǎo)80。如以上所提及的,為了執(zhí)行源代碼,CPU必須從MEU接收解密的數(shù)據(jù)。為了對源代碼進行解密,MEU計算90MAC并校驗92MAC是否具有期望值,即是否已經(jīng)將基于用于驗證代碼計算(MAC)的參數(shù)計算出的MAC正確地用于計算(即維持數(shù)據(jù)的完整性)。如果通過了校驗92,則MEU將成功地對密鑰去包裝94,并使用去包裝后的密鑰來對在閃存中存儲的數(shù)據(jù)進行解密。校驗步驟90針對下一地址的數(shù)據(jù)重復(fù),直至已經(jīng)計算了整個范圍為止。
      [0051]當設(shè)備進入休眠模式以節(jié)省能量時,通常在其內(nèi)容在休眠期間不丟失的寄存器中保持閃存密鑰和其他設(shè)置。這將避免在后續(xù)系統(tǒng)喚醒時,失去對密鑰去包裝后的時間。
      [0052]稍后,在正常操作期間,CPU可以繼續(xù)使用【背景技術(shù)】中的MAC狀態(tài)機。當沒有訪問訪問閃存的每幾個循環(huán),可以訪問訪問一個閃存位置以計算MAC值。一旦已經(jīng)校驗了閃存的所有位置,則將包裝后的密鑰再次去包裝,覆蓋先前使用的密鑰。因此,如果閃存的任意比特已經(jīng)改變,則代碼將不會進行解碼。
      [0053]圖2從MEU的角度概述了上述設(shè)備的操作100的概況。在引導(dǎo)115設(shè)備時,系統(tǒng)可以發(fā)起固件閃存更新(步驟120)。在這種示例中,CPU提示MEU來生成密鑰。密鑰是隨機生成的。一旦生成,則MEU進行校驗,并且向CPU發(fā)信號通知密鑰就緒(步驟122)。CPU然后向MEU遞交一組MAC參數(shù),其由MEU寫入124,并指示MEU來實現(xiàn)在閃存內(nèi)存儲的數(shù)據(jù)的加密(步驟126)。芯片ID可以用作驗證代碼(MAC)的密鑰,來確保如果設(shè)備受到黑客攻擊,則不能在任意其他設(shè)備上(其可以具有不同的芯片ID)重新使用密鑰的閃存鏡像。
      [0054]MEU然后等待128CPU。如果CPU向MAC區(qū)域內(nèi)的存儲器位置(步驟130)(即在MAC生成參數(shù)內(nèi)定義的存儲器位置)寫入(步驟130),則MEU基于新的數(shù)據(jù)更新MAC (步驟132)。如果CPU向那些在MAC以外定義的存儲器位置寫入(步驟134),則MAC不變。
      [0055]一旦已經(jīng)由CPU寫入了所有區(qū)域,則MEU使用MAC來包裝密鑰。然后向CPU發(fā)送包裝后的密鑰,CPU將所述包裝后的密鑰存儲在閃存中(步驟136)。一旦發(fā)送了包裝后的密鑰,MEU就擦除密鑰和MAC(步驟138)。然后系統(tǒng)重新引導(dǎo)140。
      [0056]在冷引導(dǎo)150時,MEU初始地等待來自CPU的命令152。CPU使用在初始或固件更新引導(dǎo)期間確定的同一準則來從閃存獲得包裝后的密鑰并且生成MAC參數(shù)。CPU然后向MEU發(fā)送包裝后的密鑰和MAC,MEU寫入154包裝后的密鑰和參數(shù)。一旦接收,則MEU使用接收到的MAC參數(shù)來計算156MAC。MEU然后校驗158MAC的范圍并且,如果要保護的地址的整個范圍已經(jīng)被用于MAC計算,則對包裝后的密鑰進行去包裝160,允許其用于對在閃存中存儲的密文進行解密。
      [0057]在重新引導(dǎo)140之后,系統(tǒng)可以進入熱引導(dǎo)170。MEU進行針對閃存的空閑周期的背景校驗(步驟172)。如果閃存空閑預(yù)定長度的時間(步驟174),則MEU確定閃存是空閑的(步驟176),并基于所存儲的參數(shù)來計算MAC (步驟178)。如果MAC通過校驗180:所有要保護的地址都已經(jīng)用于MAC計算,則可以將密鑰去包裝,并且重置計數(shù)器182。計數(shù)器下一次校驗MAC完整性的時間,并因此校驗密鑰和校驗加密的數(shù)據(jù)的時間。
      [0058]圖3示出了能夠?qū)崿F(xiàn)上述過程的MEU 200的體系結(jié)構(gòu)??梢岳斫獾氖?,在所述體系結(jié)構(gòu)中激活的功能依賴于所述體系結(jié)構(gòu)的操作狀態(tài)(固件更新模式、冷引導(dǎo)、熱引導(dǎo)等)。
      [0059]圖3示出了具有CPU加密核202的MEU 200。閃存密鑰存儲器204位于加密核202內(nèi)。寄存器或緩沖器206、208、210、212也是MEU體系結(jié)構(gòu)的一部分。在所示的示例中,提供了 MAC寄存器206、包裝后的密鑰寄存器208、地址解碼和生成寄存器210和閃存密鑰寄存器212。
      [0060]閃存密鑰存儲器204配置為接收信號(命令/輸入)。在所示的體系結(jié)構(gòu)中,閃存密鑰存儲器可以從閃存密鑰寄存器212、ROM密鑰輸入214和SRAM密鑰輸入216接收信號??梢岳斫獾氖强梢詫⑵渌荑€存儲在MEU 200中的閃存密鑰存儲器204。
      [0061]閃存密鑰寄存器212配置為生成密鑰。閃存密鑰寄存器212配置為從隨機數(shù)生成器(RNG)流232接收輸入,隨機數(shù)生成器(rng)流232可以用于生成密鑰。閃存密鑰寄存器還配置為從包裝后的密鑰寄存器208和MAC寄存器206接收輸入。如所示,由“異或”門(XOR) 218耦合包裝后的密鑰寄存器與MAC寄存器輸入。通過對包裝后的密鑰執(zhí)行MAC,包裝后的密鑰被去包裝,以提供去包裝后的“或”密鑰。密鑰寄存器204還配置為向閃存密鑰存儲器204提供去包裝后的密鑰。CPU加密核202然后可以比較接收到的去包裝后的密鑰與在閃存密鑰存儲器204中存儲的現(xiàn)有去包裝后的密鑰。只有當所供應(yīng)的去包裝后的密鑰與存儲的密鑰相匹配時,MEU 200才批準對計算機可讀存儲器的內(nèi)容進行解密的指令。
      [0062]MAC寄存器206配置為基于從外部CPU或微處理器接收的參數(shù)生成MAC。MAC寄存器206與密鑰的長度相匹配,并配置為接收網(wǎng)絡(luò)讀出234、外部CPU寫入226以及可以附加地將生成的MAC反饋到MAC寄存器206。如果使用除了 CMAC之外的備選MAC,則可能需要MAC寄存器的不同的體系結(jié)構(gòu)。
      [0063]MAC寄存器206配置為向閃存密鑰寄存器212和包裝后的密鑰寄存器208提供計算出的MAC。在兩種情況下,“X0R”218、219均對MAC輸出執(zhí)行“異或”命令。對于閃存密鑰寄存器212的輸入,通過“X0R”218饋送MAC和包裝后的密鑰,以向閃存密鑰寄存器204提供去包裝后的密鑰。類似地,去包裝后的密鑰可以使用密碼(例如示為“X0R” 219的塊密碼)來與MAC組合來對密鑰進行加密。在本發(fā)明中,這描述為對密鑰進行包裝。包裝后的密鑰然后提供給包裝后的密鑰寄存器208。
      [0064]附加地,經(jīng)由“X0R”222將MAC與來自網(wǎng)絡(luò)讀出234的輸入一起提供給數(shù)據(jù)乘法器或復(fù)用器220。這允許加密核202在網(wǎng)絡(luò)讀取請求上接收MAC。
      [0065]包裝后的密鑰寄存器208配置為經(jīng)由CPU寫輸入226來由外部CPU寫入。附加地,包裝后的密鑰寄存器208接收閃存密鑰和MAC的“X0R”219輸出。除了 “X0R”218的輸出以外,還提供CPU讀出244以讀出包裝后的密鑰的值。
      [0066]提供了地址解碼和生成寄存器210。該寄存器接收來自外部CPU或微處理器的地址和可操作代碼(OPCODE)輸入236、238和來自網(wǎng)絡(luò)的OPCODE輸入240、242。地址解碼和生成寄存器配置為向加密核202和數(shù)據(jù)復(fù)用器220提供密鑰和數(shù)據(jù)地址。
      [0067]數(shù)據(jù)復(fù)用器220附加地具有來自隨機數(shù)(nonce) 246的輸入。數(shù)據(jù)復(fù)用器用于選擇將那個一個數(shù)據(jù)流提供給加密核202。
      [0068]體系結(jié)構(gòu)200中的其他組件包括CPU數(shù)據(jù)寫入250和讀出252,以及網(wǎng)絡(luò)寫入254。CHJ數(shù)據(jù)寫入250和讀出252和網(wǎng)絡(luò)寫入254可以使用“X0R”256、258來組合到加密核202和MAC寄存器206。
      [0069]除了以上描述,僅可以由CPU在圖2中描述的狀態(tài)機的MAC設(shè)置階段期間的冷引導(dǎo)過程期間寫入包裝后的密鑰寄存器208。一旦它已經(jīng)用與MAC寄存器206 “異或”的閃存密鑰的內(nèi)容進行了更新,它僅可以在固件更新階段的結(jié)束時讀出。每個寄存器的內(nèi)容一旦由CPU讀出則進行重置,并將開始擦除向閃存密鑰存儲器204的SRAM密鑰輸入216的倒計時。
      [0070]對于閃存密鑰寄存器212,在固件更新階段,將利用RNG流232提供的隨機值來填充寄存器212,并且然后過程將移至下一個階段。將在MAC計算結(jié)束時利用通過對包裝后的密鑰寄存器208和MAC寄存器206的“異或”獲得的去包裝后的密鑰在冷引導(dǎo)階段和在正常操作模式中寫入寄存器。
      [0071]加密核202用于正常訪問。還提供數(shù)據(jù)“異或”。該單元可以將數(shù)據(jù)與加密核202的輸出進行“異或”操作。還可以依賴于訪問(字節(jié)、半字或字)和操作(訪問AHB(先進微控制器總線體系結(jié)構(gòu)高性能總線)或MAC計算來應(yīng)用掩碼。
      [0072]地址解碼和生成單元210將接收CPU AHB訪問的地址和OPCODE信息。依賴于該信息,它將選擇從數(shù)據(jù)復(fù)用器220選擇要供應(yīng)給加密核202的正確密鑰和隨機數(shù)。除了處理MAC計算
      當前第3頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1