国产精品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>

      保護(hù)密碼設(shè)備對(duì)抗實(shí)現(xiàn)攻擊的制作方法

      文檔序號(hào):9648864閱讀:1036來源:國知局
      保護(hù)密碼設(shè)備對(duì)抗實(shí)現(xiàn)攻擊的制作方法
      【技術(shù)領(lǐng)域】
      [0001]本公開描述了用于保護(hù)密碼設(shè)備的方法和集成電路,并且具體地,描述了用于保護(hù)密碼設(shè)備對(duì)抗實(shí)現(xiàn)攻擊的方法。
      【背景技術(shù)】
      [0002]智能設(shè)備,尤其是具有低功率要求的智能設(shè)備(通常被稱作無源智能設(shè)備)被廣泛用于認(rèn)證和訪問控制。這樣的設(shè)備的示例包括作為射頻識(shí)別(RFID)標(biāo)簽的子集的非接觸智能卡。這樣的無源智能設(shè)備通常使用專用集成電路(ASIC)。
      [0003]考慮到無源智能設(shè)備在安全關(guān)鍵應(yīng)用中的應(yīng)用,使用密碼術(shù)來認(rèn)證正在使用的無源智能設(shè)備。相反地,由于對(duì)無源智能設(shè)備可以保存或允許訪問的信息的渴求,它們也是惡意的試圖使用的興趣所在。
      [0004]大量的時(shí)間和努力花費(fèi)在了對(duì)安全集成電路(1C,例如智能卡)中的邊信道對(duì)策的實(shí)現(xiàn)和分析。邊信道攻擊是以根據(jù)密碼系統(tǒng)的物理信息獲得的信息為基礎(chǔ)的任何攻擊。這樣的攻擊不同于軟件強(qiáng)力攻擊或者加密算法中的開發(fā)或弱點(diǎn)。邊信道攻擊通常檢查系統(tǒng)的內(nèi)部操作(例如系統(tǒng)汲取的功率、電磁(EM)輻射或其它‘邊信道’)來確定模式和實(shí)現(xiàn)步驟。一種這樣的已知邊信道攻擊是差分功耗分析(DPA)。這可以包括惡意用戶研究設(shè)備使用期間功率使用的痕跡,并且利用統(tǒng)計(jì)分析來確定加密算法的特征。
      [0005]隨著當(dāng)前可用的標(biāo)準(zhǔn)化算法和協(xié)議的使用(像是在銀行業(yè)務(wù)或電子政務(wù)中使用的算法和協(xié)議),針對(duì)差分功耗分析(DPA)(以及差分故障攻擊)的攻擊情形是存在的,導(dǎo)致設(shè)備實(shí)現(xiàn)受這樣的邊信道攻擊威脅的協(xié)議(例如,由于始終以相同的(主)密鑰來加密變化的輸入,系統(tǒng)的功率簽名中的變化僅取決于或一般取決于加密算法的變化)。
      [0006]對(duì)這種攻擊的一種解決方案是使用密鑰更新(re-keying)方法。在這樣的方法中,會(huì)話密鑰從主密鑰導(dǎo)出,隨后將該會(huì)話密鑰用于實(shí)際操作。該會(huì)話密鑰有規(guī)律地變化,以減少針對(duì)具體的(主)密鑰可以從設(shè)備獲取的功率痕跡的量。
      [0007]該密鑰更新的特殊實(shí)例已經(jīng)應(yīng)用在CIPURSE協(xié)議中。在該方法中,通過使用隨機(jī)輸入以及更容易進(jìn)行保護(hù)以對(duì)抗實(shí)現(xiàn)攻擊的函數(shù)(稱作NLM(非線性映射)),使用主密鑰導(dǎo)出中間會(huì)話密鑰。然后,該中間會(huì)話密鑰與主密鑰一起使用,以得到所使用的會(huì)話密鑰(參見參考US2010316217A1)。上述對(duì)這樣的DPA攻擊的解決方案依靠雙方之間的隨機(jī)數(shù)協(xié)定。這樣的方法防止驗(yàn)證先前交易。具體地,在沒有隨機(jī)數(shù)的情況下不可能重復(fù)會(huì)話。
      [0008]相對(duì)新的研究領(lǐng)域是泄露彈性密碼術(shù)。在泄露彈性(LR)中尋求避免典型的DPA情形,在典型的DPA情形中,可以以針對(duì)每個(gè)執(zhí)行的改變的輸入,逐組塊地(即以組塊為單位,例如逐字節(jié)地)攻擊分組密碼的密鑰。在LR方法中,多次執(zhí)行分組密碼,其中僅逐組塊地(例如,每次1個(gè)比特)來使用完整的輸入向量并且將其復(fù)制到分組密碼的整個(gè)輸入狀態(tài)。在每個(gè)迭代中,下一個(gè)輸入組塊被用作輸入(再次地,復(fù)制到整個(gè)狀態(tài))。這限制了數(shù)據(jù)復(fù)雜性,即可以用于攻擊的痕跡的數(shù)量,并且在不同密鑰組塊的邊信道信息之間創(chuàng)建依從性。然而,由于針對(duì)每個(gè)密鑰有N > 1個(gè)痕跡,對(duì)手仍然可以應(yīng)用DPA攻擊。
      [0009]總的來說,在沒有實(shí)現(xiàn)重大對(duì)策且不需要詳細(xì)的邊信道調(diào)查的低成本1C上執(zhí)行對(duì)稱密碼安全服務(wù)時(shí)仍然存在問題。以下公開旨在處理這些問題。

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

      [0010]根據(jù)本發(fā)明的第一方案,提供了用于保護(hù)密碼設(shè)備對(duì)抗邊信道攻擊的方法,該方法包括:
      [0011]從密碼設(shè)備的存儲(chǔ)器獲得密鑰;
      [0012]向加密模塊提供密鑰和恒定的數(shù)據(jù)比特輸入;
      [0013]使用加密模塊導(dǎo)出加密數(shù)據(jù)比特的輸出;
      [0014]向密鑰更新模塊提供輸出、密鑰和輸入向量;以及
      [0015]使用所述密鑰更新模塊基于輸入向量的至少一部分來修改密鑰以導(dǎo)出更新的密鑰。
      [0016]以這種方式使用密鑰減少或去除了下層加密模塊中對(duì)攻擊對(duì)策的需求,并且還防止了詳細(xì)的邊信道調(diào)查。因?yàn)槭褂昧嗣荑€更新技術(shù),不能使用已更新密鑰來通過邊信道攻擊來導(dǎo)出原始的主密鑰。密鑰更新模塊所應(yīng)用的變換需要知道原始主密鑰,因?yàn)樗鼈兪褂酶鶕?jù)輸入向量和密鑰導(dǎo)出的加密模塊輸出。此外,因?yàn)橄蚣用苣K的(明文)輸入是恒定的,僅可獲得單個(gè)功率痕跡。這提供了對(duì)抗邊信道攻擊(例如DPA,其試圖將統(tǒng)計(jì)分析應(yīng)用到密碼過程和算法的功率管理痕跡)的安全性。
      [0017]在本公開的實(shí)施例中,方法還包括以下步驟:向加密模塊提供已更新密鑰和恒定輸入;以及使用加密模塊導(dǎo)出已更新輸出。
      [0018]這樣的實(shí)施例通過提供已根據(jù)已更新密鑰和所提供的輸入向量導(dǎo)出的已更新輸出來提高已更新密鑰的安全性。因?yàn)橐迅螺敵鍪褂靡迅旅荑€而不是原始的主密鑰來進(jìn)行加密,保護(hù)了原始的主密鑰的安全性。
      [0019]此外,該方法還可以包括以下步驟:向密鑰更新模塊提供已更新輸出、已更新密鑰和輸入向量;以及使用所述密鑰更新模塊基于輸入向量的至少第二部分來修改已更新密鑰。通過進(jìn)一步修改已更新密鑰,該步驟從主密鑰中發(fā)展出進(jìn)一步更新的密鑰。
      [0020]輸入向量可以包括兩個(gè)或兩個(gè)以上部分。因此,這樣的方法步驟可以針對(duì)輸入向量的每個(gè)部分進(jìn)行重復(fù)。具體地,以下步驟可以迭代多次,其次數(shù)等于輸入向量的部分的數(shù)量:向加密模塊提供已更新密鑰和恒定輸入;以及使用加密模塊導(dǎo)出已更新輸出,并且向密鑰更新模塊提供已更新輸出、已更新密鑰和輸入向量;以及使用密鑰更新模塊來更新已更新密鑰。
      [0021]換言之,可逐組塊地(即以組塊為單位,例如以字節(jié)或比特為單位)提供輸入向量。例如,針對(duì)長(zhǎng)度為128比特的輸入向量,該輸入向量可被看做包括64個(gè)部分或組塊,每個(gè)部分長(zhǎng)2比特。然后可以借助偽隨機(jī)函數(shù)來導(dǎo)出偽隨機(jī)輸出。因此,密鑰更新模塊可被看做是擔(dān)當(dāng)偽隨機(jī)函數(shù)步驟,基于輸入向量的至少部分的值來處理輸入向量和密鑰以導(dǎo)出偽隨機(jī)輸出(例如已更新密鑰)。在該考慮中,輸入向量和密鑰是偽隨機(jī)函數(shù)的輸入。
      [0022]在實(shí)施例中,可以提供一個(gè)或多個(gè)附加輸入向量。然后可以針對(duì)每個(gè)附加輸入向量,使用偽隨機(jī)函數(shù)來導(dǎo)出偽隨機(jī)輸出。然后可以將每個(gè)偽隨機(jī)輸出級(jí)聯(lián)以形成更大的偽隨機(jī)輸出。
      [0023]輸入向量的部分可以包括至少比特串的值。此外或備選地,輸入向量的部分可以是輸入向量的至少1個(gè)比特的值。因此,密鑰更新模塊可以基于輸入向量的比特值來導(dǎo)出已更新密鑰。密鑰更新模塊可以進(jìn)行動(dòng)作,以應(yīng)用所限定的密鑰更新協(xié)議來根據(jù)輸入向量的比特的值來修改密鑰或已更新密鑰。例如,針對(duì)比特0的0比特值可以指示密鑰更新函數(shù)將密鑰的所選擇的比特向右循環(huán)1個(gè)比特位置。相反地,針對(duì)比特0的比特值1可以指示密鑰更新函數(shù)將密鑰的同一比特或其它比特向右循環(huán)2個(gè)比特位置。根據(jù)可用于更新函數(shù)的算法,可以有其它排列。
      [0024]如上所述,基于輸入向量的比特的值,密鑰更新模塊可以使用壓縮、展開或排列操作中的一個(gè)或多個(gè)來變換或修改密鑰或先前更新的密鑰。
      [0025]利用迭代增加了原始獲得的密鑰(稱作主密鑰)與已更新密鑰之間依從性的復(fù)雜性,因此使得更難以導(dǎo)出密鑰樹中較高的密鑰。這進(jìn)而借助差分故障分析阻礙了密鑰恢復(fù),特別是針對(duì)原始獲得的主密鑰而言。此外,因?yàn)槊總€(gè)密鑰只使用相同的輸入(即,向每個(gè)加密模塊提供的輸入是恒定的),每個(gè)密鑰迭代的功率痕跡是相同的,并且因此每個(gè)密鑰的功率測(cè)量對(duì)于上述差分功耗分析攻擊是有彈性的。
      [0026]在一些示例中,密鑰更新模塊可以將輸出的值或者已更新輸出循環(huán)多個(gè)比特。例如,比特的數(shù)量可以取決于輸入向量的至少一部分的值。
      [0027]備選地或附加地,已更新密鑰可以是密鑰或先前已更新密鑰的至少一部分與已更新輸出的至少一部分的
      當(dāng)前第1頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1