国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證

這篇具有很好參考價值的文章主要介紹了【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

片外內(nèi)存攻擊面

  • 攻擊者通過操縱片外的未保護的內(nèi)存
    • 直接觀察
    • 解決方案:內(nèi)存加密
  • 篡改數(shù)據(jù)
    • 任意修改(spoofing),拼接(splicing),重放(replay)
    • 解決方案:完整性保護和防重放
  • 觀察地址總線的訪問模式
    • 側(cè)信道
    • 解決方案:ORAM

AES分組算法保護機密性

  • 內(nèi)存加密模式
    • AES+ECB/CBC/CTR/XTS/GCM
    • 可調(diào)分組密碼:QARMA

1.ECB模式(電子密碼本模式)

用相同的密鑰分別對明文組加密;各個分組獨立加密和解密。

優(yōu)點:
算法簡單,加解密速度快。
易于并行計算,因此在硬件中實現(xiàn)時非常高效。

缺點:
不支持并行加解密,因此安全性較差。
明文塊內(nèi)部存在重復,容易受到攻擊。
【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

2.CBC模式(密碼分組鏈接模式)

當前明文分組先和前一個密文異或,再加密;初始向量IV,不必保密,但需要保存并占據(jù)空間

優(yōu)點:
相鄰的明文塊加密后的密文塊是不同的,增加了加密的安全性。
可以處理變長的明文,適用性更廣。

缺點:
加密過程是串行的,無法并行,不適合硬件加速。
初始向量IV必須是隨機的,否則容易受到攻擊。
【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

3.CTR模式(計數(shù)器模式)

CTR模式是一種通過將逐次累加的計數(shù)器進行加密來生成密鑰流的流密碼。最終的密文分組是通過將計數(shù)器加密的到的比特序列,與明文分組進行XOR而得到的。

優(yōu)點:不泄露明文;僅需實現(xiàn)加密函數(shù);無需填充;可并行計算。

缺點:需要瞬時值IV,難以保證IV的唯一性。
【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

4.CFB模式(密碼反饋模式)

在CFB模式中,前一個密文分組會被送回到密碼算法的輸入端。所謂反饋,這里指的就是返回輸入端的意思。類似于CBC,可以將塊密碼變?yōu)樽酝降牧髅艽a;工作過程亦非常相似,CFB的解密過程幾乎就是顛倒的CBC的加密過程:

優(yōu)點:
支持加密和解密的輸出反饋模式,因此可以進行流加密。
可以處理變長的明文,適用性更廣。

缺點:
加密過程是串行的,不適合硬件加速。
密鑰流的產(chǎn)生需要時間,因此加解密的時延較大。

【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

5.OFB模式(輸出反饋模式)

可以將塊密碼變成同步的流密碼。它產(chǎn)生密鑰流的塊,然后將其與明文塊進行異或,得到密文。與其它流密碼一樣,密文中一個位的翻轉(zhuǎn)會使明文中同樣位置的位也產(chǎn)生翻轉(zhuǎn)。這種特性使得許多錯誤校正碼,例如奇偶校驗位,即使在加密前計算,而在加密后進行校驗也可以得出正確結(jié)果。
密碼反饋模式也需要一個初始量,無須保密,但對每條消息必須有一個不同的初始量。

優(yōu)點:
支持加密和解密的輸出反饋模式,因此可以進行流加密。
可以處理變長的明文,適用性更廣。

缺點:
加密過程是串行的,不適合硬件加速。
密鑰流的產(chǎn)生需要時間,因此加解密的時延較大。
需要注意的是,以上模式中,ECB模式安全性最差,CBC、CFB和OFB模式相對安全性更高,因此在選擇加密模式時需要根據(jù)實際情況和安全需求進行選擇。

【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

6.XTS

  • 明文和密鑰之外,算法包括一個tweak作為輸入
  • 相比CBC、CTR等模式,不需要額外的存儲IV和counter
  • 整體與ECB類似,例如可以并行
    • 但規(guī)避了ECB的缺點:頻率分析攻擊,密文替換攻擊
      【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

保護完整性

  • MAC
    • SHA1/SHA3……
  • 認證加密模式
    • CTR+GMAC
    • Counter需要保存、不能重復

【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

Xom

Architectural Support for Copy and Tamper Resistant Software ASPLOS 2000

  • 機密性
  • CTR模式
    • cipher = plain ⊕ encryptedkey(address || seq)
    • plain = cipher ⊕ encryptedkey(address || seq)
      • key = XOM ID
      • address = virtual address of data/instruction
      • seq = mutating sequence number
  • encryptedkey(address + seq)的計算可以與內(nèi)存訪問并行,最終的計算只需要1個cycle進行異或

為什么需要address作為counter的一部分?
防止從一個內(nèi)存地址復制合法的密文,替換到另外一個內(nèi)存地址
- cipher = plain ⊕ encryptedkey(address || seq)
- plain = cipher ⊕ encryptedkey(address || seq)
【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
Xom的問題:無法提供新鮮性保證
使用同一地址的舊的數(shù)據(jù)替換該地址的新的數(shù)據(jù)–>需要防重放攻擊

新鮮性,Merkel Tree 防重放

Caches and Merkle Trees for Efficient Memory Integrity Verification. HPCA 2003
【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全優(yōu)化

  • 若每次都計算到根節(jié)點
    • 4GB內(nèi)存,128-bit hash,性能損失可以達到10倍
  • 專門的cache結(jié)構(gòu),緩存了最近使用的內(nèi)部hash塊
    • 不需要計算到根節(jié)點,只需要計算到查找到的中間節(jié)點
    • 若中間節(jié)點被換出,則將其父節(jié)點放入cache,并更新父節(jié)點
    • 平均22%,最壞52%

優(yōu)化:Counter的壓縮模式

Improving Cost, Performance, and Security of Memory Encryption and Authentication. ISCA 2006

  • CTR的問題

    • 每次cache write back需要增加一次counte
      • 每個chuck一個counter+addr
    • 當counter溢出時,需要換一個AES key
      • 但整個內(nèi)存加密只有一個key,因此需要重新加密整個物理內(nèi)存 – freeze the system
        【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • Counter = Major Counter || Minor Counter

    • Major Counter
      • 每個加密的頁面內(nèi)所有的數(shù)據(jù)塊共享一個major counter
      • 在系統(tǒng)的生命周期內(nèi)都不會溢出(64 bit)
    • Minor Counter
      • 頁面內(nèi)每個數(shù)據(jù)塊具有的獨立的counter
      • 長度較短,容易溢出,但溢出時只需要更換一個major counter,并重新加密該頁面,而不是全部的物理內(nèi)存
  • Stored together in a counter cache line

    • 存儲開銷為1/64=1.6%
      【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • 使用GMAC優(yōu)化完整性保護
    【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

優(yōu)化:AISE

Using address Independent Seed Encryption and Bonsai Merkle Trees to Make Secure Processors OS- and Performance-Friendly. MICRO 2007

motivation

  • 內(nèi)存加密
    • CTR模式可以隱藏內(nèi)存訪問關(guān)鍵路徑的延遲,但是該模式下要求counter是唯一的
      • 之前的工作,采用了地址(spatial uniqueness,va或pa)作為counter的一部分
      • 每次write操作,counter+1,用于保證temporal uniqueness
  • 問題
    • 使用物理地址,則每次page swapping都需要重新加密和解密
      • 且需要增加額外的完整性保護機制
    • 使用虛擬地址,但不同的進程可以使用同樣的虛擬地址
      • 若把每個進程的ID也作為counter的一部分
        • 無法支持shared memory based IPC和shared library – process fork的copy on write的優(yōu)化不可用,原因是parent/child的counter是不一樣的
        • 進程ID是由不信任的OS指定的

主要優(yōu)化

  • Address Independent Seed Encryption (AISE)
    • 為每個頁分配一個邏輯識別碼(logical identifiers);與虛擬地址或物理地址無關(guān),在整個系 統(tǒng)的生命周期確保對所有的內(nèi)存頁都是不同的
      • 可以避免page swapping等的性能問題
      • 可以支持shared memory/shared library等機制
        【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • LPID
    • 在頁分配時分配的唯一值(unique value)
    • 在生命周期(系統(tǒng)啟動到關(guān)閉)內(nèi)與頁綁定,包括物理頁和交換空間頁
    • Global Page Counter:64比特
      • 無法篡改,幾乎不會溢出
  • LPID的存儲:與壓縮counter結(jié)合
    【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • 以1個4KB的頁為例,每個block為64字節(jié),每個block的LPID長度為64比特,每個 block分配一個7比特的counter
    • 若block counter溢出,則為該頁分配一個新的LPID,并重新加密該頁
    • 存儲開銷為1/64=1.6%

其他優(yōu)化方向

  • 1.Merkle Tree的目的是防止replay attack,而CTR模式為每個block提供了一個 counter

    • 如果我們能夠保證counter的新鮮性(freshness),則可以保證數(shù)據(jù)的新鮮性
    • 因此,只需要使用Merkle Tree保護counter的新鮮性
      【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • 2.counter要比data小的多(64B v.s. 4KB),因此一個Tree node可以容納更多的 counter

    • cache壓力更小,查詢更快
      【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • 3.VAULT. ASPLOS 2018:增加可以支持的受保護內(nèi)存大小

    • EPC hit: 200 cycles;EPC miss 40K cycles
    • SGX中樹的每一層8個節(jié)點,VAULT使用了16到64個可變節(jié)點
    • 壓縮MAC的存儲
    • 16 GB受保護內(nèi)存
      【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • 4.Morphable Counters. MICRO 2018

    • 根據(jù)應用程序的特點,每個cache line中的counter數(shù)量是動態(tài)可變的(counter的大小可變,之 前的方案都是固定的64個)
    • 通過對counter做壓縮,降低Merkle tree的大小以及占用的cache大小,減少counter溢出后的 重加密代價
    • 16GB受保護內(nèi)存
      【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全
  • 5.Synergy. HPCA 2018

    • 將MAC放在ECC區(qū)域,對MAC的存取不需要額外的一次memory transaction
  • 6.Compact Leakage-Free Support for Integrity and Reliability. ISCA 2020

    • 對integrity tree中的metadata布局的優(yōu)化,降低metadata miss的概率

現(xiàn)有TEE完整性保護

Intel SGX

A Memory Encryption Engine Suitable for General Purpose Processors

  • 只對counter進行完整性保護
  • counter:包括時間和空間counter,沒有做壓縮
    【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證,可信執(zhí)行環(huán)境TEE,可信計算技術(shù),安全架構(gòu),安全

SGX V2/Scalable SGX

  • 移除了基于Merkle Tree的完整性檢查
  • 利用ECC比特表明每個cache line是否屬于某個enclave
  • 降低了對片外存儲的完整性保護
    • 無法防御memory bus replay attacks

Intel TDX/MLTME/AMD SEV

  • 使用XTS加密模式
    • 使用物理地址作為tweak
    • 同樣的明文,在不同的物理地址,其密文是 不同的
  • SEV
    • 除加密外,不包含任何可以保護完整性的metadata
    • 不知道密鑰的情況下的任何修改,會使得其變?yōu)殡S機值
      • 仍然可以被利用(*)
      • 僅適用于AMD SEV-SNP之前的版本
    • 逆向tweak后,可以使用已知的明文覆蓋目標的物理地址
      • 僅適用于AMD SEV-SNP之前的版本
    • SEV-SNP防止了基于軟件的完整性破壞
      • 但是無法防御基于物理的內(nèi)存完整性攻擊(包括bus replay attack)
    • 允許對加密數(shù)據(jù)進行讀取,通過觀察數(shù)據(jù)是否改變同樣泄露信息
  • TDX
    • 為每個64B自動生成28-bit的截斷的sha-3輸出作為MAC
    • MAC存儲在DRAM ECC-bit之內(nèi),提供完整性保護
    • 1個額外比特用于表明cache line是否屬于某個TD

參考文獻:
[1] https://zh.wikipedia.org/wiki/分組密碼工作模式#
[2] https://heartever.github.io/files/understanding_tee_design.pdf文章來源地址http://www.zghlxwxcb.cn/news/detail-817435.html

到了這里,關(guān)于【TEE】片外內(nèi)存保護:AES分組算法+MAC完整性驗證的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 如何關(guān)閉蘋果系統(tǒng)完整性保護SIP(System Integrity Protection)

    您需要進入 Mac 的恢復模式(Recovery Mode)。請按照以下步驟操作: 關(guān)閉您的 Mac。 按下電源按鈕,然后立即按住 Command 和 R 鍵。持續(xù)按住這兩個鍵,直到您看到 Apple 徽標或地球圖標出現(xiàn)在屏幕上。 當您進入恢復模式后,會看到 macOS 實用工具窗口。從菜單欄中選擇“實用工具

    2024年02月15日
    瀏覽(20)
  • CISSP 第1章:實現(xiàn)安全治理的原則和策略_過渡的保護可用性為什么完整性受限

    CISSP 第1章:實現(xiàn)安全治理的原則和策略_過渡的保護可用性為什么完整性受限

    先自我介紹一下,小編浙江大學畢業(yè),去過華為、字節(jié)跳動等大廠,目前阿里P7 深知大多數(shù)程序員,想要提升技能,往往是自己摸索成長,但自己不成體系的自學效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前! 因此收集整理了一份《2024年最新網(wǎng)絡安全全套學習資料》

    2024年04月25日
    瀏覽(17)
  • 可鑒別加密工作模式-同時保護數(shù)據(jù)機密性和完整性(OCB、CCM、KeyWrap、EAX和GCM)第二部分

    ????????當算法用于同時保護數(shù)據(jù)的機密性和完整性時,應選取合適的可鑒別加密工作模式,例如OCB、CCM、KeyWrap、EAX和GCM等工作模式。以下總結(jié)來自GBT36624-2018國標文本(修改采用ISO/IEC 19772-2009)。 ? ? ? ? 對于加密工作模式上篇(可鑒別加密工作模式-同時保護數(shù)據(jù)機密

    2024年02月13日
    瀏覽(24)
  • Windows安全中心內(nèi)存完整性無法打開問題的處理方法

    Windows安全中心內(nèi)存完整性無法打開問題的處理方法

    Windows11安全中心內(nèi)存完整性無法打開 今天電腦使用過程中突然看到系統(tǒng)桌面右下角任務欄中 windows安全中心圖標出現(xiàn)了警告信息,如下圖紅框所示: 點擊該圖標進入windows安全中心的 安全性概覽 界面,如下圖: 在該界面可以看到出現(xiàn)安全警告的原因是“內(nèi)存完整性已經(jīng)關(guān)閉

    2024年02月02日
    瀏覽(20)
  • 《現(xiàn)代密碼學》學習筆記——第三章 分組密碼 [二] AES

    《現(xiàn)代密碼學》學習筆記——第三章 分組密碼 [二] AES

    版本 密鑰長度 分組長度 迭代輪數(shù) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 (1)字節(jié)代換(SubByte) (2)行移位(ShiftRow) (3)列混合(MixColumn) (4)密鑰加(AddRoundKey) 1.字節(jié)代換 ??字節(jié)代換是非線性變換,獨立地對狀態(tài)的每個字節(jié)進行。代換表(S-Box)是可逆的。 ??將

    2024年02月05日
    瀏覽(24)
  • PHP AES加密:保護數(shù)據(jù)安全的高級加密技術(shù)

    ASE(Advanced Encryption Standard)是一種對稱加密算法,也被稱為Rijndael加密算法。它是由比利時密碼學家Joan Daemen和Vincent Rijmen設計的,于2001年被美國國家標準與技術(shù)研究院(NIST)選定為高級加密標準。 ASE算法使用相同的密鑰進行加密和解密操作,因此被歸類為對稱加密算法。它

    2024年01月17日
    瀏覽(32)
  • SHA算法:數(shù)據(jù)完整性的守護者

    SHA算法:數(shù)據(jù)完整性的守護者

    一、SHA算法的起源與演進 SHA(Secure Hash Algorithm)算法是一種哈希算法,最初由美國國家安全局(NSA)設計并由國家標準技術(shù)研究所(NIST)發(fā)布。SHA算法的目的是生成數(shù)據(jù)的哈希值,用于驗證數(shù)據(jù)的完整性和真實性。最早的SHA-0版本于1993年發(fā)布,之后陸續(xù)發(fā)布了SHA-1、SHA-2和

    2024年03月09日
    瀏覽(21)
  • AES算法基于FPGA的硬件實現(xiàn)(3)AES算法的Verilog實現(xiàn)(完結(jié))

    AES算法基于FPGA的硬件實現(xiàn)(3)AES算法的Verilog實現(xiàn)(完結(jié))

    本設計實現(xiàn)AES加密算法為ecb模式,填充模式未設置,同時支持AES-128/192/256三種密鑰長度。 代碼完全開源,開源鏈接在文章末尾。 下圖為GitHub倉庫中上傳的文件第一級結(jié)構(gòu),第一級為matlab和user,matlab中存儲的是在進行列混淆運算時查表所用的coe文件,這些文件用來初始化viv

    2024年01月18日
    瀏覽(22)
  • openssl3.2 - 官方demo學習 - mac - cmac-aes256.c

    指定加密算法(e.g. AES-256-CBC), 對明文生成MAC數(shù)據(jù)

    2024年01月19日
    瀏覽(48)
  • AES算法基于FPGA的硬件實現(xiàn)(2)AES算法的c++實現(xiàn)(ecb/cbc)

    AES算法基于FPGA的硬件實現(xiàn)(2)AES算法的c++實現(xiàn)(ecb/cbc)

    對于cpp來說內(nèi)部有一些加密函數(shù)庫來簡單實現(xiàn)一些加密算法可以,但是為了更好理解內(nèi)部實現(xiàn)流程,實現(xiàn)過程不調(diào)用cpp的庫。 工程中出現(xiàn)的byte_t為bitset8類型,word為bitset32類型。base64轉(zhuǎn)換文件為在網(wǎng)上找到的開源代碼,在GitHub鏈接中有。 整體工程代碼在末尾GitHub鏈接。 實現(xiàn)了

    2024年02月04日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包