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

      抗側信道存儲器操作的制作方法

      文檔序號:39623018發(fā)布日期:2024-10-11 13:44閱讀:53來源:國知局
      抗側信道存儲器操作的制作方法

      本說明書總體涉及存儲器操作,例如,實現(xiàn)與memcpy、memcmp和memset類似目的的存儲器操作,這些存儲器操作抵抗例如故障和功率攻擊,并且通常與平臺無關。


      背景技術:

      1、編譯器和c程序員利用以下三個基本存儲器操作:memcpy?(用于移動字節(jié))、memset?(通常用于清除存儲器)和memcmp?(主要用于比較和評估存儲器區(qū)域的相等性)。然而,這些操作的實現(xiàn)方式(如在大多數(shù)編譯器中提供的)對于功率分析以及其他黑客攻擊或篡改方法來說可是脆弱的。通常,功率分析可包括用于研究裝置在它執(zhí)行操作或計算諸如密碼算法等時的功耗的技術。執(zhí)行這些執(zhí)行需要一定量的計算力,這可導致獨特的功耗模式。通過測量裝置在它執(zhí)行時的功耗,攻擊者可推斷在執(zhí)行中涉及的信息,例如在密碼算法的情況下的密鑰。攻擊者可使用該信息來破解加密或獲得對受保護數(shù)據(jù)的訪問??赏ㄟ^基于提供給裝置的輸入來監(jiān)視計算的時間而執(zhí)行類似的分析。定時或功率可被泄露,從而讓攻擊者了解底層信息。

      2、例如,memcpy和memcmp在字節(jié)級別按順序操縱存儲器,使得它們容易受到漢明權重(hw)模型功率攻擊。函數(shù)memcmp可泄漏兩個緩沖區(qū)共享的最大前綴的大小。函數(shù)memset通常不會泄露太多數(shù)據(jù),但是由于它寫入一長串零,因此它可具有可由攻擊者用作定時源的獨特的功率簽名。

      3、盡管memcmp泄漏是恒定時間加密代碼試圖解決的眾所周知的問題,但它可能仍然泄漏存儲器信息,并且可能仍然容易受到功率分析以及本領域已知的其他攻擊方法的攻擊,如所討論的。盡管存在各種解決方案,但是它們通常依賴于硬件的行為和關于特定編譯器如何工作的假設。沒有緩解措施被廣泛地設計為獨立于平臺——即,能夠跨平臺重用?,F(xiàn)有的解決方案還經(jīng)常利用易失性存儲器操作,這些易失性存儲器操作是顯著的優(yōu)化障礙,比實際需要的要強得多,但效率可能更低。


      技術實現(xiàn)思路

      1、本說明書中描述的主題的一個創(chuàng)新方面體現(xiàn)在一種方法中,該方法包括:訪問包括一個或多個位集合的緩沖區(qū);生成隨機值序列;從隨機值序列生成表示訪問緩沖區(qū)的特定位集合的順序的索引序列;響應于確定索引序列中的索引對應于緩沖區(qū)中的位置,按照索引序列的順序在索引處訪問緩沖區(qū)的特定位集合中的集合;以及在訪問一個或多個位集合中的集合之后對該集合執(zhí)行一個或多個存儲器操作。

      2、該方面和其他方面的其他實現(xiàn)方式包括對應的系統(tǒng)、設備和計算機程序,這些計算機程序被配置為執(zhí)行這些方法的動作、編碼在計算機存儲裝置上。一種這樣的實現(xiàn)方式是存儲能夠由計算機系統(tǒng)執(zhí)行以執(zhí)行這些方法的動作的一個或多個指令的非暫時性計算機可讀介質。另一種這樣的實現(xiàn)方式體現(xiàn)在包括一個或多個處理器和與一個或多個處理器可互操作地耦合并存儲一個或多個指令的機器可讀介質的系統(tǒng)中,該一個或多個指令在由該一個或多個處理器執(zhí)行時執(zhí)行這些方法的動作。一個或多個計算機的系統(tǒng)可由于在系統(tǒng)上安裝的在操作中使該系統(tǒng)執(zhí)行動作的軟件、固件、硬件或它們的組合而如此配置。一個或多個計算機程序可通過具有在由數(shù)據(jù)處理設備執(zhí)行時使該設備執(zhí)行動作的指令而如此配置。

      3、前述和其他實施例可各自可選地單獨或組合包括以下特征中的一者或多者。例如,在一些實現(xiàn)方式中,生成隨機值序列包括:從熵傳遞硬件獲得值;以及使用來自熵傳遞硬件的值作為起始密鑰來從數(shù)字生成器生成值。

      4、在一些實現(xiàn)方式中,動作包括向數(shù)字生成器提供一個或多個要求,其中一個或多個要求包括表示緩沖區(qū)的各部分的一個或多個值。

      5、在一些實現(xiàn)方式中,從隨機值序列生成表示訪問緩沖區(qū)的一個或多個位集合中的特定集合的順序的索引序列包括:將隨機值序列中的值加上與緩沖區(qū)的起始存儲器位置相對應的存儲器偏移值。

      6、在一些實現(xiàn)方式中,執(zhí)行一個或多個存儲器操作包括:將位拷貝到緩沖區(qū)或從緩沖區(qū)拷貝位。在一些實現(xiàn)方式中,執(zhí)行一個或多個存儲器操作包括:將緩沖區(qū)中的位重置為隨機位或0位。在一些實現(xiàn)方式中,執(zhí)行一個或多個存儲器操作包括:將緩沖區(qū)的位與第二緩沖區(qū)的位進行比較。

      7、在一些實現(xiàn)方式中,動作包括:訪問包括一個或多個位集合的第二緩沖區(qū);以及按照索引序列的順序訪問第二緩沖區(qū)的第二位集合。

      8、在一些實現(xiàn)方式中,按照索引序列的順序在索引處訪問緩沖區(qū)的特定位集合中的集合包括:訪問緩沖區(qū)的與該索引相對應的部分,其中該部分包括特定位集合中的集合。

      9、在一些實現(xiàn)方式中,確定索引序列中的索引對應于緩沖區(qū)中的位置包括:確定索引序列中的索引對應于緩沖區(qū)的特定位集合中的集合。

      10、在一些實現(xiàn)方式中,動作包括:確定索引序列中的第二索引不對應于緩沖區(qū)的一個或多個位;以及基于確定索引序列中的第二索引不對應于緩沖區(qū)的一個或多個位,訪問一個或多個位并對該一個或多個位執(zhí)行誘騙(decoy)操作。

      11、有利的實現(xiàn)方式可包括以下特征中的一個或多個。所描述的技術可使得存儲器操作能夠在處理裝置上發(fā)生而不泄漏足以供黑客或其他用戶獲得敏感信息的信息。所描述的技術可確保相對于輸入位亂序地處理給定的輸入數(shù)據(jù),使得相同的輸入數(shù)據(jù)在被處理一次以上時可產(chǎn)生不同的功率軌跡——例如,以阻止如本文檔中所討論的功率分析攻擊。所描述的技術可包括生成要處理的位集合的索引的隨機數(shù)引擎。隨機數(shù)引擎可生成足夠的索引,使得輸入數(shù)據(jù)的所有位都被處理,但是輸入數(shù)據(jù)的一些部分可被處理一次以上,并且可針對由隨機數(shù)引擎生成的不包括在輸入數(shù)據(jù)中的索引來處理沒有被包括在輸入數(shù)據(jù)中的一些數(shù)據(jù)(例如誘騙數(shù)據(jù))。這種形式的混淆可有效地阻止黑客攻擊,同時保持處理效率,例如,與涉及易失性存儲器操作的更密集的安全措施不同。

      12、在附圖和以下描述中闡述本發(fā)明的一個或多個實施例的細節(jié)。根據(jù)所述描述、附圖和權利要求書,本發(fā)明的其他特征和優(yōu)點將變得顯而易見。



      技術特征:

      1.一種方法,包括:

      2.如權利要求1所述的方法,其中生成所述隨機值序列包括:

      3.如權利要求2所述的方法,進一步包括:

      4.如任一項前述權利要求所述的方法,其中從所述隨機值序列生成表示訪問所述緩沖區(qū)的所述一個或多個位集合中的特定集合的所述順序的所述索引序列包括:

      5.如任一項前述權利要求所述的方法,其中執(zhí)行一個或多個存儲器操作包括:

      6.如任一項前述權利要求所述的方法,其中執(zhí)行一個或多個存儲器操作包括:

      7.如任一項前述權利要求所述的方法,其中執(zhí)行一個或多個存儲器操作包括:

      8.如權利要求7所述的方法,進一步包括:

      9.如任一項前述權利要求所述的方法,其中按照所述索引序列的所述順序在所述索引處訪問所述緩沖區(qū)的所述特定位集合中的所述集合包括:

      10.如任一項前述權利要求所述的方法,其中確定所述索引序列中的所述索引對應于所述緩沖區(qū)中的位置包括:

      11.如任一項前述權利要求所述的方法,進一步包括:

      12.如權利要求11所述的方法,其中所述誘騙操作包括以下中的一個或多個:將現(xiàn)有存儲器值拷貝到同一存儲器位置或將未使用的存儲器位在存儲器中移動一個或多個位。

      13.一種非暫時性計算機可讀介質,存儲能夠由計算機系統(tǒng)執(zhí)行以執(zhí)行操作的一個或多個指令,所述操作包括:

      14.如權利要求13所述的介質,其中生成所述隨機值序列包括:

      15.如權利要求14所述的介質,其中所述操作包括:

      16.如權利要求13至15中任一項所述的介質,其中從所述隨機值序列生成表示訪問所述緩沖區(qū)的所述一個或多個位集合中的特定集合的所述順序的所述索引序列包括:

      17.如權利要求13至16中任一項所述的介質,其中執(zhí)行一個或多個存儲器操作包括:

      18.如權利要求13至17中任一項所述的介質,其中執(zhí)行一個或多個存儲器操作包括:

      19.如權利要求13至18中任一項所述的介質,其中執(zhí)行一個或多個存儲器操作包括:

      20.一種系統(tǒng),包括:

      21.一種方法,包括:

      22.如權利要求21所述的方法,其中掩蔽所述索引以掩蓋所述序列算法的內部結構包括:配置要由編譯器執(zhí)行的代碼以防止所述編譯器不執(zhí)行所述代碼的一個或多個部分。

      23.如權利要求21至22中任一項所述的方法,其中對所述索引執(zhí)行所述屏障函數(shù)包括配置要由編譯器執(zhí)行的代碼以確保迭代步驟按照確定的順序發(fā)生。

      24.如權利要求21至23中任一項所述的方法,其中要執(zhí)行的所述存儲器操作包括拷貝、重置或比較位中的一個或多個。

      25.如權利要求21至24中任一項所述的方法,其中選擇要執(zhí)行的所述存儲器操作包括:

      26.如權利要求21至25中任一項所述的方法,進一步包括:


      技術總結
      用于對數(shù)字組件提供者進行隱私保護的方法、系統(tǒng)和設備,包括編碼在計算機存儲介質上的計算機程序。在一些實現(xiàn)方式中,方法包括訪問包括一個或多個位集合的緩沖區(qū);生成隨機值序列;從該隨機值序列生成表示訪問該緩沖區(qū)的特定位集合的順序的索引序列;響應于確定該索引序列中的索引對應于該緩沖區(qū)中的位置,按照該索引序列的該順序在該索引處訪問緩沖區(qū)的特定位集合中的集合;以及在訪問一個或多個位集合中的集合之后對該集合執(zhí)行一個或多個存儲器操作。

      技術研發(fā)人員:米格爾·克里斯蒂安·揚德拉索塔
      受保護的技術使用者:谷歌有限責任公司
      技術研發(fā)日:
      技術公布日:2024/10/10
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1