• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于iRAM 的抗物理內(nèi)存泄露攻擊密碼算法輕量化實(shí)現(xiàn)

    2022-12-19 09:23:00李彥初荊繼武雷靈光王躍武王平建
    關(guān)鍵詞:敏感數(shù)據(jù)數(shù)字簽名內(nèi)存

    李彥初 荊繼武 雷靈光 王躍武 王平建

    1.中國科學(xué)院大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 北京 100049; 2.中國科學(xué)院大學(xué)密碼學(xué)院, 北京 100049; 3.北京大學(xué)軟件與微電子學(xué)院, 北京 100871; 4.中國科學(xué)院信息工程研究所信息安全國家重點(diǎn)實(shí)驗(yàn)室, 北京 100093; 5.中國科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院, 北京 100049; ? 通信作者, E-mail: leilingguang@iie.ac.cn

    ARM 平臺(tái)廣泛應(yīng)用于個(gè)人移動(dòng)終端、物聯(lián)網(wǎng)和工業(yè)控制系統(tǒng)等場景[1]。相對(duì)于桌面系統(tǒng)或服務(wù)器, 移動(dòng)終端設(shè)備更容易丟失或被竊取, 而物聯(lián)網(wǎng)和工業(yè)控制系統(tǒng)經(jīng)常需要在無人值守的非受控場景下工作, 因此這類平臺(tái)的安全機(jī)制更容易遭受物理內(nèi)存泄露攻擊。因此, 如何構(gòu)建 ARM 平臺(tái)抗物理內(nèi)存泄露攻擊的密碼機(jī)制成為目前系統(tǒng)安全研究的熱點(diǎn)。

    物理內(nèi)存泄露攻擊的根源在于普通的 DRAM(dynamic random access memory)內(nèi)存芯片獨(dú)立于ARM 的 SoC (system on a chip)芯片, 需要通過內(nèi)存總線與 SoC 芯片進(jìn)行雙向數(shù)據(jù)傳輸。當(dāng)數(shù)據(jù)存儲(chǔ)在內(nèi)存中時(shí), 攻擊者可通過如下3種方式發(fā)起物理內(nèi)存泄露攻擊。1) 冷啟動(dòng)攻擊[2–3]: 利用內(nèi)存的剩磁效應(yīng), 將正在運(yùn)行的設(shè)備斷電, 然后將內(nèi)存接入攻擊者控制的系統(tǒng)中, 讀取其中殘留的數(shù)據(jù)。2) 總線監(jiān)聽攻擊[4–5]: 當(dāng)內(nèi)存芯片與SoC芯片通過內(nèi)存總線傳輸數(shù)據(jù)時(shí), 攻擊者通過監(jiān)聽該總線, 竊取內(nèi)存中的敏感數(shù)據(jù), 相關(guān)的攻擊工具[6–7]可以很容易地獲取。3) DMA (direct memory access)攻擊[8–10]: 攻擊者控制特定 I/O 設(shè)備并發(fā)起 DMA 請(qǐng)求, 在處理器不參與的情況下, 直接從內(nèi)存中拷貝敏感數(shù)據(jù)。因此, 避免直接在內(nèi)存中存儲(chǔ)敏感計(jì)算輸入、輸出和中間結(jié)果數(shù)據(jù)成為當(dāng)前抗物理內(nèi)存泄露攻擊的主要技術(shù)途徑。

    現(xiàn)階段應(yīng)對(duì)物理內(nèi)存泄露攻擊的技術(shù)途徑主要包括以 Cache (高速緩存)、寄存器和iRAM為基礎(chǔ)的 3種方案。

    Cache 方案[11–13]基于 Cache 的敏感計(jì)算抗物理攻擊方法存在幾個(gè)問題: 1) 對(duì)系統(tǒng)性能影響比較大, 比如, 60%的Cache被占用后, 系統(tǒng)性能急劇降低[13]; 2) 難以進(jìn)行軟件編程調(diào)度, 操控性差; 3) 無法與 I/O 設(shè)備直接進(jìn)行數(shù)據(jù)交互。

    寄存器方案[14–15]通過引入安全機(jī)制, 確保敏感數(shù)據(jù)在計(jì)算過程中只存儲(chǔ)在 SoC 芯片內(nèi)的寄存器中, 不出現(xiàn)在內(nèi)存中, 但因空間有限面臨性能挑戰(zhàn),此外, 不同 SoC 平臺(tái)上的可用寄存器類型存在較大的差異, 方案的可移植性較差。

    iRAM 方案[16–19]將敏感計(jì)算結(jié)果及中間值存儲(chǔ)在iRAM中, 實(shí)現(xiàn)抗物理泄露內(nèi)存攻擊。不同于SoC 外部的 DRAM 內(nèi)存, iRAM 剩磁效應(yīng)小, 并且在SoC 芯片內(nèi)部, 與 CPU 單元通過片內(nèi)總線連接, 具有良好的抗物理內(nèi)存泄露攻擊特性。此外, iRAM尋址方式與 DRAM 一致, 更易操控, 并能夠直接與I/O 設(shè)備交互。iRAM 方案工程實(shí)現(xiàn)優(yōu)勢明顯。

    輕量化實(shí)現(xiàn)是目前 iRAM 方案面臨的主要技術(shù)挑戰(zhàn)。移動(dòng)終端上的大部分 iRAM 資源會(huì)被操作系統(tǒng)使用, 只有少量空閑的 iRAM。比如, FreeScale i.MX6Quad 系列 SoC 的空閑 iRAM 只有 32 KB。然而, 當(dāng)前方案[16–19]使用的iRAM 空間都超過了系統(tǒng)空閑 iRAM 的大小, 從而會(huì)影響普通世界操作系統(tǒng)的正常功能。因此, 亟需一個(gè)輕量高效的密碼算法來實(shí)現(xiàn)方案, 以便降低iRAM資源消耗。

    本文通過對(duì)密碼運(yùn)算過程中敏感數(shù)據(jù)的細(xì)粒度劃分, 盡量縮小保護(hù)數(shù)據(jù)規(guī)模, 實(shí)現(xiàn) iRAM 資源消耗的減少。首先, 通過修改系統(tǒng)應(yīng)用加載器, 將程序棧段加載到iRAM; 然后, 通過密碼算法計(jì)算過程分析, 標(biāo)識(shí)出密碼算法敏感變量的最小集合; 隨后, 重新設(shè)計(jì)密碼算法實(shí)現(xiàn)程序, 將敏感數(shù)據(jù)向程序棧段集中, 以便簡化iRAM調(diào)度; 最后, 必要時(shí)通過輔助可信應(yīng)用引入, 將棧段中的非敏感數(shù)據(jù)移除, 進(jìn)一步降低 iRAM 消耗。此外, 該方案通過ARM TrustZone實(shí)現(xiàn)iRAM的抗軟件攻擊保護(hù)。本研究在 FreeScale 的 i.MX6Quad 開發(fā)板上對(duì) SM2/3/4以及 RSA, AES, SHA3 等主流的密碼算法進(jìn)行原型系統(tǒng)實(shí)現(xiàn), 并開展方案驗(yàn)證評(píng)估。

    1 相關(guān)工作

    研究人員提出一些針對(duì)物理內(nèi)存泄露攻擊的防御方案, 主要針對(duì)冷啟動(dòng)攻擊[2–3]以及總線監(jiān)聽攻擊[4–5]。這些方案通過構(gòu)建以 SoC 為邊界的執(zhí)行環(huán)境, 將敏感數(shù)據(jù)保存在 SoC 內(nèi)部, 有效地阻止攻擊。例如, TRESOR[14]將密鑰存儲(chǔ)在 x86 調(diào)試寄存器中,并利用 Intel 的 AES-NI 擴(kuò)展指令, 在微處理器中運(yùn)行 AES 算法, 避免 DRAM 的使用, 從而阻止物理攻擊。PRIME[15]將RSA算法中的私鑰操作限制在Intel 多媒體寄存器(共 16個(gè) 256 bit 的寄存器)中, 保護(hù)了 RSA-2048 算法。Copker[11]將密碼運(yùn)算的密鑰和所有中間結(jié)果保存在 Cache 中, 確保敏感信息不會(huì)進(jìn)入 DRAM, 實(shí)現(xiàn)抗物理攻擊的 AES 算法和RSA 算 法 。Sentry[16]和 CryptMe[17]借 助 iRAM 來 保護(hù)AES算法中的敏感數(shù)據(jù)。

    另外一種物理內(nèi)存泄露攻擊是 DMA 攻擊[8–10],可利用系統(tǒng)的安全機(jī)制(如 TrustZone 的 DMA 隔離)來阻止。由于安全機(jī)制的引入也可同時(shí)阻止軟件攻擊, 所以綜合考慮上述 3種物理內(nèi)存泄漏攻擊和軟件攻擊, 研究人員提出了相關(guān)的敏感數(shù)據(jù)保護(hù)方案。CaSE[13]利用Cache和ARM TrustZone技術(shù)[20]構(gòu)建以 SoC 為邊界的可信執(zhí)行環(huán)境。Oath 機(jī)制[19]、OP-TEE 的 pager 機(jī)制[21]和 m-TEE[18]都是利用 iRAM和 TrustZone 機(jī)制保護(hù)敏感數(shù)據(jù), pager 機(jī)制和 m-TEE方案分別需要180 KB和100 KB的iRAM空間;Oath 通過分離敏感數(shù)據(jù)和非敏感數(shù)據(jù), 減少了對(duì)iRAM 的占用, 但所測試的 12個(gè)可信應(yīng)用仍需使用平均 50.52 KB 的 iRAM 空間。本研究支持在系統(tǒng)空閑的 iRAM 上同時(shí)運(yùn)行多個(gè)密碼算法, 其中單個(gè)算法對(duì) iRAM 的使用量不超過 4.5 KB。

    內(nèi)存受限場景下的密碼算法實(shí)現(xiàn)需要同時(shí)考慮密碼運(yùn)算效率以及對(duì)內(nèi)存的使用量。研究人員提出許多減少內(nèi)存消耗且高效的密碼運(yùn)算或密碼算法的實(shí)現(xiàn)方案, 包括對(duì)稱密碼算法[22]、基于橢圓曲線的非對(duì)稱密碼算法[23–25]和格密碼算法[26]等。本研究在 iRAM 內(nèi)存受限的條件下, 實(shí)現(xiàn)多種密碼算法。首先, 本文使用受限 iRAM 內(nèi)存實(shí)現(xiàn)抗物理內(nèi)存泄露攻擊的密碼算法, 而上述工作聚焦于密碼算法在減少內(nèi)存使用同時(shí)的高效實(shí)現(xiàn)。其次, 在相同的實(shí)現(xiàn)方式下, 減少內(nèi)存占用會(huì)導(dǎo)致性能的下降, 所以上述工作通過特殊處理器指令和硬件擴(kuò)展等方式同時(shí)實(shí)現(xiàn)高效和輕量化兩個(gè)目標(biāo), 本文僅依賴 ARM平臺(tái)上廣泛部署的TrustZone安全擴(kuò)展和通用組件iRAM來保護(hù)敏感數(shù)據(jù), 方案可移植性更好。此外,本文主要降低 iRAM 內(nèi)存的使用量, 而算法實(shí)際的內(nèi)存使用量(iRAM+DRAM)并未減少, 所以與未修改的實(shí)現(xiàn)相比, 密碼算法性能沒有明顯降低。

    2 背景知識(shí)與相關(guān)工作

    2.1 內(nèi)部隨機(jī)存取存儲(chǔ)器(iRAM)

    內(nèi)部隨機(jī)存取存儲(chǔ)器(internal-RAM, iRAM)是一種片上隨機(jī)存取存儲(chǔ)器(on-chip random access memory, OCRAM), 是通用計(jì)算平臺(tái)(例如 ARM 處理器)中廣泛存在的組件, 比普通的 DRAM 讀寫速度更快。由于價(jià)格限制, iRAM在終端上的容量一般在幾十 KB 到幾百 KB 之間, 主要用于存儲(chǔ)系統(tǒng)中的特定信息(比如, 暫?;蚧謴?fù)系統(tǒng)的相關(guān)代碼)以及加速視頻播放等多媒體處理過程。

    2.2 OP-TEE架構(gòu)

    OP-TEE(open portable trusted execution environment)[27]是一個(gè)開源 TEE OS, 基于 TrustZone[20]運(yùn)行。TrustZone是ARM公司推出的安全擴(kuò)展, 將SoC 上的中央處理器、內(nèi)存和外設(shè)等資源劃分到普通世界或安全世界, 并基于硬件邏輯的訪問控制實(shí)現(xiàn)普通世界與安全世界的隔離。OP-TEE 架構(gòu)如圖1所示, 安全世界中運(yùn)行用戶態(tài)的若干可信應(yīng)用(trusted application, TA)以及內(nèi)核態(tài)的安全操作系統(tǒng)(OP-TEE OS); 普通世界中運(yùn)行非敏感代碼, 包括用戶態(tài)的客戶端應(yīng)用(client application, CA)以及內(nèi)核態(tài)的富操作系統(tǒng)(rich OS)??蛻舳藨?yīng)用通過用戶態(tài)的 TEE 客戶端(TEE client)來調(diào)用可信應(yīng)用中的敏感功能。調(diào)用過程中, 富操作系統(tǒng)中的 TEE 驅(qū)動(dòng)(TEE Driver)通過 SMC (secure monitor call)指令跳轉(zhuǎn)到安全世界中的安全監(jiān)控器模塊(Secure Monitor),從而與安全世界進(jìn)行交互。

    圖1 OP-TEE系統(tǒng)架構(gòu)Fig.1 Architecture of OP-TEE

    2.3 可信應(yīng)用(TA)的運(yùn)行時(shí)數(shù)據(jù)段分配

    OP-TEE 架構(gòu)中, 安全世界的可信應(yīng)用以 ELF格式的形式存儲(chǔ)于文件系統(tǒng), 其代碼及代碼中的各類變量存放在 ELF 文件的不同可加載段。當(dāng) OPTEE OS 加載可信應(yīng)用時(shí), 會(huì)給每個(gè)可加載段分配一段內(nèi)存空間, 并將相應(yīng)數(shù)據(jù)從可執(zhí)行文件拷貝到對(duì)應(yīng)的內(nèi)存空間中。之后, 可信應(yīng)用運(yùn)行時(shí), 各類變量的值(包括敏感數(shù)據(jù)及非敏感數(shù)據(jù))就存儲(chǔ)在變量所在的可加載段的對(duì)應(yīng)內(nèi)存空間中。從總體上看, 可信應(yīng)用的可加載段包括.ta_head段、.text段、.rodata 段、.data 段 、.bss段(可信應(yīng)用從.bss段劃分堆空間, 所以堆變量也存放在.bss 段)和棧段等。其中,.ta_head 段存放可信應(yīng)用的基本信息(可信應(yīng)用的唯一標(biāo)識(shí)符、棧段大小和入口函數(shù)地址等),.text 段存放可信應(yīng)用的代碼,.rodata 段存放常量等信息,.data段存放已初始化的全局變量和局部靜態(tài)變量,.bss段存放未初始化或初始化為0的全局變量、局部靜態(tài)變量和由程序員分配/釋放的堆變量,棧段存放由編譯器自動(dòng)分配/釋放的棧變量。本文通過將敏感數(shù)據(jù)集中在一個(gè)段中, 并為該段分配受TrustZone 保護(hù)的 iRAM 來實(shí)現(xiàn)敏感數(shù)據(jù)泄露保護(hù)。

    算法1的代碼示例展示不同變量的定義方式及其對(duì)應(yīng)的數(shù)據(jù)段。

    其中, 第 1 行是存放在.rodata 段的常量; 第 2 行和第 6 行是.bss 段的全局變量和局部靜態(tài)變量;第 3 行和第 7 行是.data 段中的全局變量和局部靜態(tài)變量; 第 4 行的函數(shù)參數(shù)以及第 5 行的局部變量存放在棧段, 但客戶端應(yīng)用傳遞過來的緩沖區(qū)形式的參數(shù)指向位于非安全 DRAM 的共享內(nèi)存中的一塊緩沖區(qū); 第 8 行動(dòng)態(tài)地申請(qǐng)一塊堆空間, 并令一個(gè)存放在棧中的局部變量(指針)指向這塊空間, 堆空間中的數(shù)據(jù)存放在.bss 段, 第 10 行手動(dòng)釋放了堆空間。

    3 威脅模型與安全假設(shè)

    假設(shè)敵手可以發(fā)起軟件攻擊和物理內(nèi)存泄露攻擊。1) 軟件攻擊: 利用各種系統(tǒng)漏洞攻擊控制普通世界的操作系統(tǒng), 進(jìn)而無限制地訪問普通世界的資源, 包括寄存器、DRAM、iRAM、Cache以及其他設(shè)備, 但軟件攻擊無法破壞由TrustZone硬件隔離保護(hù)的安全資源。2) 物理內(nèi)存泄露攻擊: 可以物理訪問被保護(hù)設(shè)備, 并通過冷啟動(dòng)攻擊[2–3]、監(jiān)聽SoC外部總線的總線監(jiān)聽攻擊[4–5]以及DMA攻擊[8–10],竊取DRAM 中的敏感數(shù)據(jù)。

    本文假定物理內(nèi)存泄漏攻擊無法攻擊由 Trust-Zone 保護(hù)的安全 iRAM。1) 系統(tǒng)上電后, 引導(dǎo)時(shí)執(zhí)行的第一段代碼會(huì)將 iRAM 中的內(nèi)容清除, 而該代碼不能被繞過[16]; 并且 iRAM 及其使用的高級(jí)可擴(kuò)展接口(advanced extensible interface, AXI)總線都在SoC 內(nèi)部, 無法被取出, 所以冷啟動(dòng)攻擊和總線監(jiān)聽攻擊無法竊取 iRAM 中的敏感數(shù)據(jù)。2) TrustZone默認(rèn)普通世界向安全世界發(fā)起的 DMA 請(qǐng)求被拒絕,很多廣泛使用的 SoC 中的 DMA 控制器[28–29]還可以拒絕特定 DMA 通道以及 DMA 設(shè)備發(fā)起的從安全世界傳輸數(shù)據(jù)的請(qǐng)求。所以 DMA 攻擊無法竊取被TrustZone 保護(hù)的安全 iRAM 中的敏感數(shù)據(jù)。進(jìn)行密碼運(yùn)算的可信應(yīng)用運(yùn)行在安全世界的 TEE OS 之上,側(cè)信道攻擊特征不明顯。

    本研究旨在保護(hù)密碼算法運(yùn)行時(shí)敏感數(shù)據(jù)的機(jī)密性。我們假設(shè)目標(biāo)平臺(tái)支持并正確實(shí)現(xiàn)了 Trust-Zone 技術(shù); 安全世界的操作系統(tǒng)和可信應(yīng)用不是惡意的, 沒有敵手可利用的漏洞, 并且被平臺(tái)可信啟動(dòng)技術(shù)安全加載。

    4 方案設(shè)計(jì)

    4.1 方案架構(gòu)與內(nèi)存布局

    本文提出的方案利用 iRAM 存儲(chǔ)密碼運(yùn)算過程中的敏感數(shù)據(jù), 以便抵御物理內(nèi)存泄漏攻擊, 并盡量減少對(duì) iRAM 的占用, 保證普通世界的功能不受影響。將密碼算法中的敏感數(shù)據(jù)限制在棧段中, 通過修改可信應(yīng)用的加載方式, 僅給棧段分配安全iRAM, 給其他可加載段分配安全DRAM, 從而減少 iRAM 的使用量。此外, 方案還將棧段中的非敏感數(shù)據(jù)分離到其他可加載段, 進(jìn)一步減少 iRAM 的使用量。方案的基本架構(gòu)和內(nèi)存布局見圖2。

    圖2 實(shí)現(xiàn)密碼算法的可信應(yīng)用及其輔助可信應(yīng)用的代碼和數(shù)據(jù)在內(nèi)存中的位置Fig.2 Memory location of the TA and its assisted TA’s code and data

    方案涉及的內(nèi)存包括 iRAM 和 DRAM, 利用ARM TrustZone 技術(shù)分別將其劃分為安全模式和非安全模式。密碼運(yùn)算由在安全世界的可信應(yīng)用完成??尚艖?yīng)用從非安全 DRAM 的共享內(nèi)存獲得運(yùn)行在普通世界的客戶端應(yīng)用的輸入?yún)?shù), 執(zhí)行密碼運(yùn)算, 并返回計(jì)算結(jié)果。方案通過修訂密碼算法實(shí)現(xiàn), 將敏感數(shù)據(jù)全部集中在棧段。隨后, 進(jìn)一步修改可信應(yīng)用加載程序, 將可信應(yīng)用中除棧段外的其他可加載段全部放在安全 DRAM 中, 同時(shí)將棧段分配在安全 iRAM 中。此外, 棧段還包含密碼算法實(shí)現(xiàn)中的非敏感數(shù)據(jù), 為了進(jìn)一步壓縮 iRAM 使用量,必要時(shí)引入輔助可信應(yīng)用, 將棧段的非敏感數(shù)據(jù)轉(zhuǎn)移到其他可加載段和輔助可信應(yīng)用的可加載段。輔助可信應(yīng)用的所有可加載段分配在安全 DRAM中。這樣, 敏感數(shù)據(jù)僅存在于安全iRAM中, 能夠同時(shí)抵御物理內(nèi)存泄露攻擊和軟件攻擊。密碼算法的其他數(shù)據(jù)分配至安全 DRAM 中, 由 ARM Trust-Zone 隔離機(jī)制構(gòu)建與普通世界的邊界, 抵御軟件攻擊。

    4.2 集中敏感數(shù)據(jù)到棧段

    數(shù)字簽名算法的敏感數(shù)據(jù)包括私鑰, 非對(duì)稱加密算法的敏感數(shù)據(jù)有私鑰和明文, 密碼雜湊算法的輸入可能為敏感數(shù)據(jù), 對(duì)稱加密算法的敏感數(shù)據(jù)包括對(duì)稱密鑰和明文。此外, 算法計(jì)算過程中的一些數(shù)據(jù)可以用于恢復(fù)上述敏感數(shù)據(jù)或增加恢復(fù)的可能性, 也應(yīng)當(dāng)作為敏感數(shù)據(jù)加以保護(hù)。具體地, SM2數(shù)字簽名算法的簽名結(jié)果為(r,s), 計(jì)算s的方式為s= (1+dA)-1(k-r×dA) modn, 其中dA為私鑰,k為用于本次簽名運(yùn)算產(chǎn)生的隨機(jī)數(shù),n為橢圓曲線基點(diǎn)G的階。由于s,r和n公開, 因而能獲取k的攻擊者可以通過上述公式來求解出私鑰dA, 所以k也應(yīng)該屬于敏感數(shù)據(jù)。當(dāng)密碼雜湊算法的輸入為敏感數(shù)據(jù)時(shí), 中間計(jì)算結(jié)果可用于降低恢復(fù)敏感輸入的難度, 所以也屬于敏感數(shù)據(jù)。對(duì)稱加密算法中擴(kuò)展出的輪密鑰直接用來加密明文, 每輪中間結(jié)果的泄露相當(dāng)于計(jì)算輪數(shù)的降低, 所以二者都屬于敏感數(shù)據(jù)。最后, 在密碼算法的實(shí)現(xiàn)中, 與敏感數(shù)據(jù)有關(guān)的中間計(jì)算結(jié)果也可能屬于敏感數(shù)據(jù), 比如SM2 數(shù)字簽名算法中的(1+dA)-1和(k-r×dA) modn等, 因?yàn)樗麄兊男孤稌?huì)極大地降低獲取算法中敏感數(shù)據(jù)的難度。

    如2.3節(jié)所述, 密碼算法實(shí)現(xiàn)代碼可能包含多個(gè)數(shù)據(jù)段, 上述敏感數(shù)據(jù)可能存在于各種不同的段(包括存放未初始化的全局變量/靜態(tài)變量的.bss段、存放棧變量的棧段以及存放堆變量的堆段)中。為了抵御物理內(nèi)存泄露攻擊, 需要將敏感數(shù)據(jù)存儲(chǔ)在 iRAM 中。如果不對(duì)算法實(shí)現(xiàn)做修訂, 則需要將上述數(shù)據(jù)段都加載到安全 iRAM 中。但這幾類數(shù)據(jù)段同時(shí)還存放大量非敏感數(shù)據(jù), 比如未初始化的全局變量/靜態(tài)變量中可能會(huì)存放一些密碼算法中公開且固定的參數(shù)。這樣, 大量非敏感數(shù)據(jù)會(huì)造成不必要的 iRAM 消耗。棧段是密碼運(yùn)算過程中間結(jié)果存儲(chǔ)的不可或缺的數(shù)據(jù)段。因此, 本文通過密碼算法實(shí)現(xiàn)代碼修訂, 將所有敏感參數(shù)集中到棧段。這樣, 就可以只給棧段分配安全iRAM空間,其他數(shù)據(jù)段依然使用安全DRAM, 從而減少iRAM消耗。

    4.3 分離棧段非敏感數(shù)據(jù)到安全DRAM

    敏感數(shù)據(jù)和非敏感數(shù)據(jù)處理都需要用到棧段,因此, 除敏感數(shù)據(jù)外, 棧段中還存在大量的非敏感數(shù)據(jù)。本文方案通過分離棧中的非敏感數(shù)據(jù), 進(jìn)一步減少安全iRAM的使用量, 具體包括以下兩項(xiàng)內(nèi)容。

    4.3.1 變量分離

    密碼算法中的非敏感數(shù)據(jù)可分為如下 3 類: 1)取值固定且公開的系統(tǒng)參數(shù), 如 SM2算法中的橢圓曲線參數(shù)和 AES 算法中的 S 盒等; 2) 非敏感輸入/輸出參數(shù), 包括簽名算法中的待簽名消息、簽名值、公鑰以及其他公開信息(比如 SM2 數(shù)字簽名算法中的用戶可辨別標(biāo)識(shí)), 密碼雜湊算法中的雜湊值以及非敏感的輸入, 加密算法中的密文等; 3) 密碼算法的實(shí)現(xiàn)中, 存在一些與敏感數(shù)據(jù)無關(guān)的臨時(shí)變量,這些變量無法用于恢復(fù)敏感數(shù)據(jù)或增加恢復(fù)的可能性, 將這類臨時(shí)變量中的數(shù)據(jù)也視為非敏感數(shù)據(jù)。

    如圖2 所示, 我們將第 1 類非敏感數(shù)據(jù)存儲(chǔ)在全局變量和局部靜態(tài)變量(位于可信應(yīng)用 ELF 文件中的.bss段或.data段)中, 將第2類非敏感數(shù)據(jù)存儲(chǔ)在客戶端應(yīng)用傳遞過來的共享內(nèi)存緩沖區(qū)(位于非安全DRAM), 將第3類非敏感數(shù)據(jù)存儲(chǔ)在堆中的臨時(shí)變量(位于.bss段)中。.data段和.bss段被分配的是安全DRAM空間。

    4.3.2 運(yùn)算步驟分離

    密碼算法中可能存在一些全程沒有敏感數(shù)據(jù)參與的步驟, 比如數(shù)字簽名算法中計(jì)算待簽名消息的雜湊值過程、數(shù)字簽名驗(yàn)證的全過程以及當(dāng)輸入為非敏感數(shù)據(jù)時(shí)的密碼雜湊算法的全過程等。針對(duì)這些運(yùn)算步驟中的非敏感數(shù)據(jù), 一種分離方法是按照上述變量分離的方法修改密碼算法的實(shí)現(xiàn)代碼。但是, 密碼運(yùn)算過程中涉及很多臨時(shí)變量(比如 SM2算法中橢圓曲線上點(diǎn)的運(yùn)算), 手動(dòng)給這些變量分配/釋放堆空間對(duì)算法實(shí)現(xiàn)的改動(dòng)很多, 工作量大且容易出錯(cuò)。此外, 密碼算法實(shí)現(xiàn)中涉及一些生命周期很短、被頻繁定義的臨時(shí)變量(比如 SM3 算法中被頻繁調(diào)用的壓縮函數(shù)中定義的臨時(shí)變量), 由于堆空間的申請(qǐng)和釋放是程序內(nèi)的代碼通過系統(tǒng)調(diào)用來實(shí)現(xiàn), 所以頻繁的申請(qǐng)/釋放操作會(huì)引入過多的用戶模式–內(nèi)核模式切換, 導(dǎo)致性能開銷過大。因此,我們采用圖2 所示的計(jì)算分離方法: 在一個(gè)輔助可信應(yīng)用中實(shí)現(xiàn)這些步驟, 通過 OP-TEE 提供的進(jìn)程間通信(inter-process communi-cation, IPC)接口與可信應(yīng)用進(jìn)行通信, 該輔助可信應(yīng)用的所有數(shù)據(jù)都存儲(chǔ)在安全DRAM。

    考慮到很多密碼算法的實(shí)現(xiàn)都將第 1 類非敏感數(shù)據(jù)存儲(chǔ)在全局變量中, 而這部分?jǐn)?shù)據(jù)也占用一定的空間, 第 2 類非敏感數(shù)據(jù)的分離也符合可信應(yīng)用的編程習(xí)慣, 為兼顧方案的實(shí)用性和通用性, 本文方案中對(duì)存放第 1 類和第 2 類非敏感數(shù)據(jù)的變量分離是必選項(xiàng); 對(duì)存放第3類非敏感數(shù)據(jù)的變量分離以及部分運(yùn)算步驟的分離這兩部分內(nèi)容, 對(duì)原始密碼算法實(shí)現(xiàn)有較明顯的改動(dòng), 將其作為可選項(xiàng)。

    5 方案實(shí)現(xiàn)

    我們基于 FreeScale i.MX6Quad SABRE 開發(fā)板實(shí)現(xiàn)方案原型系統(tǒng)。安全世界和普通世界中的操作系統(tǒng)分別為 OP-TEE 2.2.0 和 Android 6.0.1, Android系統(tǒng)基于Linux 4.1.15內(nèi)核。由于方案僅涉及對(duì)可信應(yīng)用加載過程以及對(duì)密碼算法實(shí)現(xiàn)方式的修改,與操作系統(tǒng)的版本無關(guān), 因此具有很好的系統(tǒng)兼容性。雖然選擇在 i.MX6Quad 開發(fā)板實(shí)現(xiàn)原型系統(tǒng),但所依賴的 TrustZone 機(jī)制和 iRAM 都是在終端平臺(tái)較為普遍部署的硬件, 因此可以方便地移植到其他ARM硬件平臺(tái)。

    5.1 構(gòu)建iRAM 輔助的可信應(yīng)用執(zhí)行環(huán)境

    為可信應(yīng)用的棧段分配安全 iRAM 空間。OPTEE OS 加載可信應(yīng)用時(shí), 在其上下文結(jié)構(gòu)體中記錄了4塊物理內(nèi)存空間的信息(分別存儲(chǔ)可信應(yīng)用的棧段、.ta_head/.text 段、.rodata/.got/...段以及.data/.bss 段中的數(shù)據(jù)), 包括物理地址、虛擬地址、段大小和段標(biāo)識(shí)等。OP-TEE OS 首先分配 4 塊物理內(nèi)存空間并填充結(jié)構(gòu)體中的信息, 然后依次建立地址映射關(guān)系, 填寫虛擬地址。對(duì)于實(shí)現(xiàn)密碼算法的可信應(yīng)用, 我們修改分配物理內(nèi)存空間的過程, 從安全iRAM 給棧段分配物理內(nèi)存空間, 從安全 DRAM 給其他段分配物理內(nèi)存空間。

    管理安全 iRAM: 我們通過維護(hù)一個(gè)鏈表來管理固定范圍的安全 iRAM。鏈表中的結(jié)點(diǎn)代表已經(jīng)給某個(gè)可信應(yīng)用分配的安全iRAM空間; 在鏈表中插入/刪除結(jié)點(diǎn)的操作對(duì)應(yīng)分配/釋放安全 iRAM 空間; 在分配時(shí), 使用首次適應(yīng)算法搜索空閑的安全iRAM 空間。我們?cè)诎踩澜绮僮飨到y(tǒng)中存儲(chǔ)一個(gè)實(shí)現(xiàn)密碼算法的可信應(yīng)用列表, 內(nèi)容是所有可信應(yīng)用的通用唯一識(shí)別碼(universally unique identifier,UUID)。以此為過濾條件, 僅給列表中的可信應(yīng)用分配安全 iRAM 空間, 方案中的輔助可信應(yīng)用以及系統(tǒng)中的其他可信應(yīng)用仍使用安全DRAM。

    5.2 密碼算法實(shí)現(xiàn)

    我們實(shí)現(xiàn)了符合國家/國際標(biāo)準(zhǔn)的具有代表性的幾種密碼算法, 包括 SM2 數(shù)字簽名算法[30]、SM2公鑰加密算法[31]、SM3 密碼雜湊算法[32]、SM4 分組密碼算法[33]、RSASSA-PSS 數(shù)字簽名算法[34]、RSAES-OAEP 公鑰加密算法[35]、SHA3-256算法[36]和 AES-128算法[37]。 其中SM4算法及AES算法的工作模式為ECB模式。

    集中敏感數(shù)據(jù)到棧段: 按照 4.2 節(jié)提出的方案,實(shí)現(xiàn)密碼算法時(shí), 僅使用棧中的臨時(shí)變量存放敏感數(shù)據(jù)。

    分離棧段非敏感數(shù)據(jù)到安全 DRAM: 這部分實(shí)現(xiàn)包括必選的變量分離以及可選的變量分離與運(yùn)算步驟分離。

    變量分離(必選項(xiàng)): 按照 4.3 節(jié)所述, 對(duì)存放第I 類非敏感數(shù)據(jù)(代碼中的全局變量)和第 II 類非敏感數(shù)據(jù)(非敏感的輸入/輸出參數(shù))的變量進(jìn)行分離。我們實(shí)現(xiàn)的密碼算法中全局變量信息見表1。已初始化及未初始化的全局變量分別位于可信應(yīng)用 ELF文件的.data 段和.bss 段, 被加載到安全 DRAM 中,不占用安全iRAM的空間。對(duì)于非敏感的輸入/輸出參數(shù), 在客戶端應(yīng)用調(diào)用可信應(yīng)用之前, 我們?cè)诳蛻舳藨?yīng)用中申請(qǐng)共享內(nèi)存緩沖區(qū), 寫入輸入?yún)?shù)并傳遞給可信應(yīng)用??尚艖?yīng)用執(zhí)行密碼運(yùn)算后, 將輸出參數(shù)寫入緩沖區(qū), 返回給客戶端應(yīng)用。由于共享內(nèi)存位于非安全 DRAM 中, 所以此類數(shù)據(jù)也不會(huì)使用安全iRAM空間。

    表1 密碼算法實(shí)現(xiàn)中的全局變量Table 1 Global variables in the implementation of cryptographic algorithms

    變量分離與運(yùn)算步驟分離(可選項(xiàng)): 對(duì)于與敏感數(shù)據(jù)無關(guān)的臨時(shí)變量的分離以及沒有敏感數(shù)據(jù)參與的運(yùn)算步驟的分離是可選項(xiàng)。對(duì)于 SM3, SM4,AES和SHA3-256算法, 其實(shí)現(xiàn)非常簡潔, 與敏感數(shù)據(jù)無關(guān)的臨時(shí)變量很少(比如 SM4/AES 算法中只有一個(gè)用于循環(huán)計(jì)數(shù)的int類型變量符合條件), 且全部步驟都有敏感數(shù)據(jù)參與。所以, 沒有對(duì)這些算法做可選分離。對(duì)于SM2算法和RSA算法, 進(jìn)行如下的可選分離: 對(duì) SM2 公鑰加密算法和 RSAESOAEP公鑰加密算法的實(shí)現(xiàn)進(jìn)行變量分離; 對(duì)SM2數(shù)字簽名算法和 RSASSA-PSS 數(shù)字簽名算法的實(shí)現(xiàn)進(jìn)行變量分離及運(yùn)算步驟分離。

    具體來說, 變量分離指算法實(shí)現(xiàn)中, 一些變量存儲(chǔ)了 4.3 節(jié)中第 3 類非敏感數(shù)據(jù)(表2)。我們將這些變量存儲(chǔ)到堆中, 由于 OP-TEE OS 從.bss段中給可信應(yīng)用劃分堆空間,.bss 段被加載到安全 DRAM中, 所以這些變量不占用安全 iRAM 的空間。

    表2 密碼算法實(shí)現(xiàn)中存放第3類非敏感數(shù)據(jù)的變量Table 2 Variables that store Type 3 non-sensitive data in the implementation of cryptographic algorithms

    運(yùn)算步驟分離是指, 將 SM2 數(shù)字簽名算法以及RSASSA-PSS 數(shù)字簽名算法的部分步驟放在輔助可信應(yīng)用中實(shí)現(xiàn), 該可信應(yīng)用僅使用安全DRAM而不使用安全 iRAM。圖3 和 4 分別展示實(shí)現(xiàn) SM2 數(shù)字簽名算法以及RSASSA-PSS 數(shù)字簽名算法的客戶端 應(yīng)用、可信應(yīng)用及其輔助可信應(yīng)用的調(diào)用關(guān)系。在SM2 數(shù)字簽名生成算法中, 客戶端應(yīng)用首先調(diào)用可 信應(yīng)用來產(chǎn)生簽名, 并將待簽名的消息(Msg)傳遞 給可信應(yīng)用; 可信應(yīng)用調(diào)用輔助可信應(yīng)用, 參數(shù)包 括 Msg、簽名者的公鑰(PbKey)及用戶可辨別標(biāo)識(shí) 符(UserName); 輔助可信應(yīng)用執(zhí)行算法的步驟①~③并返回結(jié)果; 可信應(yīng)用執(zhí)行步驟④~⑧, 產(chǎn)生數(shù) 字簽名(Signature), 最終將簽名返回給客戶端應(yīng)用。在 SM2 數(shù)字簽名驗(yàn)證算法中, 普通世界的客戶端應(yīng)用直接調(diào)用輔助可信應(yīng)用進(jìn)行簽名驗(yàn)證; 輔助可信應(yīng)用進(jìn)行驗(yàn)證后返回驗(yàn)證結(jié)果。

    圖3 實(shí)現(xiàn)SM2數(shù)字簽名算法的客戶端應(yīng)用、可信應(yīng)用及其輔助可信應(yīng)用之間的調(diào)用關(guān)系Fig.3 Invocation between CA,TA and assisted TA which implement SM2 digital signature algorithm

    圖4 實(shí)現(xiàn)RSASSA-PSS數(shù)字簽名算法的客戶端應(yīng)用、可信應(yīng)用及其輔助可信應(yīng)用之間的調(diào)用關(guān)系Fig.4 Invocation between CA,TA and assisted TA which implement RSASSA-PSS digital signature algorithm

    RSASSA-PSS 數(shù)字簽名生成算法包括以下 3 步:1) 計(jì)算待簽名消息的雜湊值; 2) 對(duì)雜湊值進(jìn)行填充; 3) 對(duì)填充結(jié)果進(jìn)行簽名運(yùn)算。我們沒有使用輔助可信應(yīng)用執(zhí)行步驟 1 和 2, 主要出于兩個(gè)原因: 一方面, 步驟 2 中填充數(shù)據(jù)的泄露會(huì)導(dǎo)致 RSA 算法的安全性降低[38], 所以步驟2涉及敏感數(shù)據(jù), 不能在輔助可信應(yīng)用中執(zhí)行; 另一方面, 步驟 2 的填充過程同樣包括雜湊計(jì)算, 所以僅將步驟 1 放在輔助可信應(yīng)用中不會(huì)明顯減少安全 iRAM 的使用量, 故未將步驟1放在輔助可信應(yīng)用中。在 RSASSA-PSS數(shù)字簽名算法中, 普通世界的客戶端應(yīng)用調(diào)用可信應(yīng)用進(jìn)行簽名, 調(diào)用輔助可信應(yīng)用進(jìn)行簽名驗(yàn)證, 兩個(gè)可信應(yīng)用執(zhí)行密碼運(yùn)算后返回結(jié)果。

    我們將多個(gè)密碼算法實(shí)現(xiàn)為安全世界的不同可信應(yīng)用, 對(duì)應(yīng)普通世界中的多個(gè)客戶端應(yīng)用。由于普通世界和安全世界的操作系統(tǒng) Android (Linux 內(nèi)核)和 OP-TEE OS 都支持多線程調(diào)度, 且方案對(duì)操作系統(tǒng)的調(diào)度功能是透明的, 所以在多個(gè)客戶端應(yīng)用同時(shí)發(fā)起密碼運(yùn)算請(qǐng)求時(shí), 多個(gè)可信應(yīng)用(即多個(gè)密碼算法)可以自動(dòng)實(shí)現(xiàn)并發(fā)執(zhí)行。

    6 驗(yàn)證評(píng)估

    從 iRAM 使用量及性能兩個(gè)方面評(píng)估本文提出的方案。實(shí)驗(yàn)平臺(tái)為 FreeScale 的 i.MX6Quad 開發(fā)板, 該開發(fā)板配備主頻 1.2 GHz 的四核 Cortex-A9 處理器, 系統(tǒng) DRAM 容量為 1 GB, iRAM 容量為 256 KB, 其中空閑的 iRAM 容量為 32 KB (扣除普通世界操作系統(tǒng)占用的iRAM空間)。

    6.1 iRAM使用量評(píng)估

    對(duì)于每個(gè)可信應(yīng)用, 分別測試其棧段、堆段、.data段和.bss段(除堆以外的部分)的大小。經(jīng)過測試, 當(dāng)輸入為 4, 64 和 256 KB 時(shí), 各算法對(duì) iRAM 的使用量相同。SM2 算法中用到的用戶可辨別標(biāo)識(shí)為默認(rèn)值“1234567812345678”; RSAES-OAEP算法中的標(biāo)簽(Label)為空字符串。測量可信應(yīng)用中各段實(shí)際大小的方法如下。

    棧: 在可信應(yīng)用中將棧的大小統(tǒng)一設(shè)置為 5 KB。通過在加載可信應(yīng)用的過程中添加打印語句,了解到 OP-TEE OS 實(shí)際為可信應(yīng)用分配了 8 KB 的??臻g。為測試可信應(yīng)用實(shí)際使用的棧大小, 在可信應(yīng)用調(diào)用密碼算法的功能前, 在全部??臻g中寫入特定的值(0x12345678); 在可信應(yīng)用結(jié)束調(diào)用,關(guān)閉會(huì)話前, 找到??臻g中值不等于 0x12345678的最低地址, 進(jìn)而計(jì)算出實(shí)際使用的棧大小。

    .data/.bss 段: 可信應(yīng)用在編譯后會(huì)生成后綴名為 map 的文件, 記錄 ELF 文件中各段的內(nèi)容、大小及偏移, 從該文件中獲取.data段和.bss段的大小。

    堆: 在可信應(yīng)用中, 將堆的大小統(tǒng)一設(shè)置為20 KB。在 map 文件中, 可以獲取堆的起始地址在.data/.bss 段中的偏移; 加載可信應(yīng)用時(shí), 可以從OP-TEE OS 中獲取.data/.bss 段的起始地址。使用與棧段相同的方法, 提前寫入特定值, 在可信應(yīng)用結(jié)束運(yùn)行后, 計(jì)算實(shí)際使用的堆大小。

    我們分別對(duì) SM2 數(shù)字簽名算法(SM2_SIG)、SM2公鑰加密算法(SM2_ENC)、SM3密碼雜湊算法(SM3)、SM4 分組密碼算法(SM4)、AES 算法(AES-128)、RSA 數(shù)字簽名算法(RSA_SIG)、RSA公鑰加密算法(RSA_ENC)和SHA3算法(SHA3-256)進(jìn)行測試, 結(jié)果如表3 所示(其中 SM2 算法和 RSA算法未實(shí)現(xiàn)可選的非敏感數(shù)據(jù)分離)。Oath 方案[19]將可信應(yīng)用的棧段和.data/.bss段存儲(chǔ)在安全iRAM中, 所以對(duì)iRAM 的使用量為所有可加載段的內(nèi)存使用量的和; 本方案對(duì)iRAM的使用量為棧的大小。表3最后一行數(shù)據(jù)展示本方案比Oath對(duì)iRAM使用量的減少率, 最大值為 SM2 公鑰加密算法的87.75%。

    表3 密碼算法實(shí)現(xiàn)的內(nèi)存使用量(B)Table 3 Memory usage of the implementation of cryptographic algorithms (B)

    我們還測試了實(shí)現(xiàn)可選的變量分離與運(yùn)算步驟分離過后, SM2 算法和 RSA 算法對(duì) iRAM 的使用量,結(jié)果如表4 所示。由于 SM2 和 RSA 的數(shù)字簽名驗(yàn)證算法在輔助可信應(yīng)用中實(shí)現(xiàn), 所以 iRAM 的使用量都為 0??梢钥吹? 可選的變量分離與運(yùn)算步驟分離對(duì)減小 iRAM 的使用量有一定的作用。

    表4 非敏感數(shù)據(jù)的可選分離前后SM2算法和RSA算法的iRAM使用量對(duì)比(B)Table 4 Comparison of iRAM usage of SM2 and RSA algorithm before and after the optional separation of non-sensitive data (B)

    6.2 性能評(píng)估

    本文方案對(duì)性能的影響包括兩方面: 第一是可信應(yīng)用的加載時(shí)間, 這是由于本文方案修改了可信應(yīng)用的加載方式; 第二是算法本身的性能。我們使用Cortex-A9 處理器中的性能監(jiān)控單元(performance monitoring unit, PMU)對(duì)這兩部分影響進(jìn)行評(píng)估,對(duì)于每項(xiàng)測試重復(fù)運(yùn)行 500 次并取平均值。

    1) 可信應(yīng)用加載時(shí)間評(píng)估。可信應(yīng)用的加載時(shí)間指普通世界首次調(diào)用可信應(yīng)用時(shí), 將可信應(yīng)用的 ELF 文件從文件系統(tǒng)加載到內(nèi)存所用的時(shí)間。經(jīng)過測試, 當(dāng)可信應(yīng)用的全部數(shù)據(jù)存儲(chǔ)在安全DRAM 中時(shí), 平均加載時(shí)間為 82.22 ms, 基于本文方案實(shí)現(xiàn)的可信應(yīng)用平均加載時(shí)間為85.23 ms, 增加3.66%。作為對(duì)比, Oath 方案[19]對(duì)10個(gè)不同種類的可信應(yīng)用的加載時(shí)間增量為1.37%。

    2) 密碼算法性能評(píng)估。我們分別評(píng)估原始的密碼算法實(shí)現(xiàn)(基于安全DRAM, 未經(jīng)本文方案的敏感數(shù)據(jù)集中非敏感數(shù)據(jù)及運(yùn)算步驟分離)、基于Oath 及本文方案保護(hù)的密碼算法實(shí)現(xiàn)性能。對(duì)于 SM2 算法及 RSA 算法, 還評(píng)估包含可選分離時(shí)的性能。以原始的密碼算法實(shí)現(xiàn)性能為基準(zhǔn), 統(tǒng)計(jì)后 3種情況下各算法性能的相對(duì)值, 每個(gè)統(tǒng)計(jì)結(jié)果為不同大小輸入(16 B~1 MB)條件下相對(duì)值的平均數(shù)。統(tǒng)計(jì)結(jié)果如表5 所示。

    由表5 的性能評(píng)估數(shù)據(jù)可以得出如下結(jié)論。

    表5 不同保護(hù)方案下各密碼算法的性能與無保護(hù)時(shí)性能的比值(%)Table 5 Ratios of the cryptographic algorithms’ performance with different protection schemes to which without protection (%)

    1) 與原始基于安全 DRAM 的密碼算法實(shí)現(xiàn)相比, 本文方案在不實(shí)現(xiàn)可選數(shù)據(jù)分離時(shí)引入的性能開銷很小, 各算法的平均性能開銷在-0.19%~2.25%之間(平均最小值和最大值分別為 RSA 簽名算法和SM3 算法)。在很多情況下, 本文方案的性能比原始情況更好, 主要是由于 iRAM 的讀寫速度大于DRAM。

    2) 本文方案在不實(shí)現(xiàn)可選數(shù)據(jù)分離時(shí), 相比Oath 在性能方面的差異幾乎可以忽略不計(jì)。

    3) 可選數(shù)據(jù)分離對(duì)密碼算法的性能影響是可以接受的。對(duì)于 SM2 公鑰加密算法, 加密算法的平均性能開銷為 1.37%, 解密算法為 1.11%, 最大性能開銷為 2.75%, 出現(xiàn)在解密 900 KB 的消息時(shí)。對(duì)于SM2 數(shù)字簽名算法, 簽名算法的平均性能開銷為2.51%, 驗(yàn)簽算法為 1.08%, 在對(duì) 4 KB 的消息進(jìn)行簽名時(shí)產(chǎn)生最大開銷, 為4.29%; 對(duì)于不同大小的輸入, RSA 算法的性能開銷均未超過 1.2%。

    7 結(jié)論

    本文提出一種基于 iRAM 的 ARM 平臺(tái)密碼算法實(shí)現(xiàn)方案, 利用 iRAM 的物理特性實(shí)現(xiàn)密碼算法的抗物理內(nèi)存泄漏攻擊特性, 同時(shí)利用ARM Trust Zone 技術(shù)實(shí)現(xiàn)抗軟件攻擊特性。特別地, 本文通過對(duì)密碼運(yùn)算過程中敏感數(shù)據(jù)細(xì)粒度的準(zhǔn)確劃分以及執(zhí)行密碼運(yùn)算可信應(yīng)用數(shù)據(jù)段的控制調(diào)度, 降低了 iRAM 的消耗, 使得在 iRAM 的消耗降低 78%以上的情況下, 仍能達(dá)到與未修改的實(shí)現(xiàn)相近的性能。iRAM資源消耗的降低使得該方案能夠在不影響系統(tǒng)正常功能的條件下, 在當(dāng)前主流 ARM 平臺(tái)部署。

    猜你喜歡
    敏感數(shù)據(jù)數(shù)字簽名內(nèi)存
    干擾條件下可檢索數(shù)字版權(quán)管理環(huán)境敏感數(shù)據(jù)的加密方法
    淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
    實(shí)現(xiàn)虛擬機(jī)敏感數(shù)據(jù)識(shí)別
    基于透明加密的水下通信網(wǎng)絡(luò)敏感數(shù)據(jù)防泄露方法
    “春夏秋冬”的內(nèi)存
    基于4A平臺(tái)的數(shù)據(jù)安全管控體系的設(shè)計(jì)與實(shí)現(xiàn)
    基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
    基于數(shù)字簽名和HSM的數(shù)據(jù)庫篡改檢測機(jī)制
    基于內(nèi)存的地理信息訪問技術(shù)
    復(fù)制數(shù)字簽名,巧妙偽裝病毒
    高清欧美精品videossex| 欧美黄色淫秽网站| 韩国精品一区二区三区| 美女大奶头黄色视频| 免费日韩欧美在线观看| 国产97色在线日韩免费| 久久久国产欧美日韩av| 青春草亚洲视频在线观看| 久久精品国产亚洲av高清一级| 天天躁夜夜躁狠狠躁躁| 中文精品一卡2卡3卡4更新| 久久国产精品影院| bbb黄色大片| 亚洲中文字幕日韩| 国产精品久久久av美女十八| 超色免费av| 国产精品免费视频内射| av网站免费在线观看视频| 丰满少妇做爰视频| 日本色播在线视频| 悠悠久久av| 免费高清在线观看视频在线观看| 国产精品免费视频内射| 婷婷丁香在线五月| 男女床上黄色一级片免费看| 菩萨蛮人人尽说江南好唐韦庄| 少妇人妻 视频| 纯流量卡能插随身wifi吗| 精品少妇一区二区三区视频日本电影| 成年女人毛片免费观看观看9 | 激情视频va一区二区三区| 久久亚洲精品不卡| 一级毛片 在线播放| 一区二区日韩欧美中文字幕| 丰满迷人的少妇在线观看| 熟女av电影| 男男h啪啪无遮挡| 色精品久久人妻99蜜桃| 老熟女久久久| 久久青草综合色| 久久性视频一级片| 黄色 视频免费看| 在线 av 中文字幕| 婷婷丁香在线五月| 这个男人来自地球电影免费观看| 欧美人与善性xxx| 天天躁夜夜躁狠狠躁躁| 高清欧美精品videossex| 欧美大码av| 视频区图区小说| 亚洲九九香蕉| 国产一卡二卡三卡精品| 久久精品国产a三级三级三级| 天天躁日日躁夜夜躁夜夜| 各种免费的搞黄视频| 国产精品国产三级专区第一集| 丝袜美腿诱惑在线| 人妻 亚洲 视频| 悠悠久久av| 国产片特级美女逼逼视频| svipshipincom国产片| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲中文av在线| 国产欧美日韩一区二区三区在线| 一级毛片我不卡| 欧美人与性动交α欧美精品济南到| 另类亚洲欧美激情| 又黄又粗又硬又大视频| 一本色道久久久久久精品综合| 国产精品久久久久久人妻精品电影 | 日本wwww免费看| 亚洲国产看品久久| 黄色视频在线播放观看不卡| 你懂的网址亚洲精品在线观看| 成年av动漫网址| 日日爽夜夜爽网站| 国产精品一国产av| 欧美人与善性xxx| 欧美乱码精品一区二区三区| 免费在线观看黄色视频的| 国产成人一区二区在线| 人妻人人澡人人爽人人| 久久99精品国语久久久| 亚洲伊人色综图| 国产精品欧美亚洲77777| 国产在线免费精品| 亚洲欧美中文字幕日韩二区| 成年人黄色毛片网站| 亚洲少妇的诱惑av| 国产精品 欧美亚洲| 国产欧美日韩精品亚洲av| 久热爱精品视频在线9| 精品一区二区三区四区五区乱码 | 天堂俺去俺来也www色官网| 亚洲国产欧美一区二区综合| www.自偷自拍.com| 久久热在线av| 伊人亚洲综合成人网| 在线亚洲精品国产二区图片欧美| 国产伦人伦偷精品视频| 国产爽快片一区二区三区| 老司机午夜十八禁免费视频| 久久av网站| 97人妻天天添夜夜摸| 满18在线观看网站| 99九九在线精品视频| 日本色播在线视频| 赤兔流量卡办理| 黄片播放在线免费| 亚洲一区二区三区欧美精品| 蜜桃在线观看..| 五月天丁香电影| 在线观看免费午夜福利视频| 国产精品九九99| 大片免费播放器 马上看| 69精品国产乱码久久久| 亚洲视频免费观看视频| 亚洲精品成人av观看孕妇| 桃花免费在线播放| 美女脱内裤让男人舔精品视频| 在线亚洲精品国产二区图片欧美| 久久久久久久精品精品| 国产av精品麻豆| 国产一级毛片在线| 国产1区2区3区精品| 日本一区二区免费在线视频| 视频区欧美日本亚洲| 亚洲精品久久成人aⅴ小说| 五月天丁香电影| 国产男女内射视频| 天天添夜夜摸| 老司机靠b影院| 久久久久久久精品精品| 操出白浆在线播放| 99国产综合亚洲精品| 国产日韩欧美亚洲二区| 王馨瑶露胸无遮挡在线观看| 操出白浆在线播放| 欧美日韩综合久久久久久| 999精品在线视频| 人人妻人人添人人爽欧美一区卜| 老鸭窝网址在线观看| 男女无遮挡免费网站观看| 国产精品国产三级国产专区5o| 久久热在线av| 最新在线观看一区二区三区 | 免费在线观看影片大全网站 | 精品国产一区二区三区久久久樱花| 丝袜在线中文字幕| av国产精品久久久久影院| 国产精品亚洲av一区麻豆| 免费观看av网站的网址| 国产欧美日韩一区二区三 | 亚洲人成77777在线视频| 国产亚洲av高清不卡| 亚洲国产精品一区三区| 18禁黄网站禁片午夜丰满| 国产又爽黄色视频| 国产成人a∨麻豆精品| 国产精品秋霞免费鲁丝片| 亚洲九九香蕉| 一区福利在线观看| 黄网站色视频无遮挡免费观看| 无限看片的www在线观看| 91麻豆av在线| 久久性视频一级片| 欧美日韩综合久久久久久| 午夜福利乱码中文字幕| 国产成人欧美| 真人做人爱边吃奶动态| 国产激情久久老熟女| 欧美成狂野欧美在线观看| 国产无遮挡羞羞视频在线观看| 大片免费播放器 马上看| 成年人免费黄色播放视频| 久久精品人人爽人人爽视色| 中文乱码字字幕精品一区二区三区| 亚洲欧洲国产日韩| 国产成人精品久久二区二区91| 美女午夜性视频免费| 亚洲国产欧美日韩在线播放| 高清欧美精品videossex| 久久久久国产一级毛片高清牌| 99国产精品一区二区蜜桃av | 欧美人与性动交α欧美软件| 一边亲一边摸免费视频| 免费看十八禁软件| 久久精品人人爽人人爽视色| 精品人妻在线不人妻| 黄色 视频免费看| 亚洲精品日本国产第一区| 啦啦啦视频在线资源免费观看| 最新在线观看一区二区三区 | 亚洲成色77777| 精品亚洲乱码少妇综合久久| 亚洲综合色网址| 国产色视频综合| 国产主播在线观看一区二区 | 久久亚洲精品不卡| 国产精品熟女久久久久浪| 一边亲一边摸免费视频| 最黄视频免费看| 波野结衣二区三区在线| 自线自在国产av| 美国免费a级毛片| 人人妻人人澡人人看| 成在线人永久免费视频| 免费少妇av软件| 黄网站色视频无遮挡免费观看| 亚洲中文日韩欧美视频| 99热国产这里只有精品6| 成人亚洲精品一区在线观看| 亚洲少妇的诱惑av| 97人妻天天添夜夜摸| xxxhd国产人妻xxx| 国产成人一区二区三区免费视频网站 | 精品熟女少妇八av免费久了| 久久国产精品大桥未久av| a级片在线免费高清观看视频| 婷婷成人精品国产| 国产精品久久久久久精品电影小说| 亚洲国产av新网站| 大话2 男鬼变身卡| 国产精品九九99| 激情视频va一区二区三区| 中文字幕高清在线视频| 菩萨蛮人人尽说江南好唐韦庄| 国产黄频视频在线观看| 国产成人精品久久二区二区91| 国产一区二区激情短视频 | av又黄又爽大尺度在线免费看| 只有这里有精品99| 中文字幕人妻丝袜制服| 一二三四社区在线视频社区8| 国产欧美日韩一区二区三 | 19禁男女啪啪无遮挡网站| 波多野结衣av一区二区av| 自线自在国产av| 国产精品久久久久久精品古装| 少妇 在线观看| 丝袜脚勾引网站| 热99国产精品久久久久久7| 久久国产亚洲av麻豆专区| 高潮久久久久久久久久久不卡| 午夜激情久久久久久久| 男人操女人黄网站| 日韩一本色道免费dvd| 久久女婷五月综合色啪小说| 国产主播在线观看一区二区 | 亚洲国产精品国产精品| 久久久国产一区二区| 视频区图区小说| 免费观看a级毛片全部| 亚洲国产精品999| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品国产三级国产专区5o| 国产精品久久久久成人av| 50天的宝宝边吃奶边哭怎么回事| 男女边吃奶边做爰视频| 亚洲伊人久久精品综合| 久久久国产精品麻豆| 国产在线观看jvid| 免费黄频网站在线观看国产| 韩国高清视频一区二区三区| 99国产精品一区二区三区| 中文字幕高清在线视频| 久久热在线av| 欧美黄色淫秽网站| 69精品国产乱码久久久| 国产成人精品无人区| 久久精品国产亚洲av涩爱| 国产精品麻豆人妻色哟哟久久| 亚洲精品成人av观看孕妇| 咕卡用的链子| 久久综合国产亚洲精品| 久久久久国产一级毛片高清牌| 日韩av在线免费看完整版不卡| 精品国产乱码久久久久久男人| 色网站视频免费| 女人久久www免费人成看片| 精品视频人人做人人爽| 亚洲av综合色区一区| 久热爱精品视频在线9| 最近手机中文字幕大全| 久久久久国产精品人妻一区二区| 午夜日韩欧美国产| 成人18禁高潮啪啪吃奶动态图| 亚洲精品乱久久久久久| 99久久精品国产亚洲精品| 国产成人影院久久av| 99国产综合亚洲精品| 欧美老熟妇乱子伦牲交| 久久精品熟女亚洲av麻豆精品| 精品人妻1区二区| 国产高清视频在线播放一区 | 色播在线永久视频| 大码成人一级视频| 日本一区二区免费在线视频| 久久精品久久久久久噜噜老黄| 日韩一本色道免费dvd| 香蕉丝袜av| 日韩熟女老妇一区二区性免费视频| 在线观看人妻少妇| 亚洲少妇的诱惑av| 黄色 视频免费看| 久久精品亚洲熟妇少妇任你| 男女高潮啪啪啪动态图| 国产精品免费大片| 国产亚洲欧美精品永久| 在线观看免费午夜福利视频| 最新的欧美精品一区二区| 免费女性裸体啪啪无遮挡网站| 女人久久www免费人成看片| 日韩,欧美,国产一区二区三区| 赤兔流量卡办理| 久久av网站| 亚洲久久久国产精品| 精品少妇黑人巨大在线播放| 99国产精品免费福利视频| 精品少妇黑人巨大在线播放| 十八禁网站网址无遮挡| 波野结衣二区三区在线| 在线精品无人区一区二区三| 在线天堂中文资源库| 人人妻人人爽人人添夜夜欢视频| 男女床上黄色一级片免费看| 欧美激情 高清一区二区三区| 18禁国产床啪视频网站| 国产精品国产av在线观看| 亚洲视频免费观看视频| 亚洲av美国av| 亚洲成av片中文字幕在线观看| 人妻一区二区av| 女人久久www免费人成看片| 日韩熟女老妇一区二区性免费视频| 女人久久www免费人成看片| 亚洲av电影在线进入| 国产免费福利视频在线观看| 肉色欧美久久久久久久蜜桃| 国产精品秋霞免费鲁丝片| 男的添女的下面高潮视频| 人成视频在线观看免费观看| 欧美成狂野欧美在线观看| 日本av免费视频播放| 别揉我奶头~嗯~啊~动态视频 | 国产无遮挡羞羞视频在线观看| 黄网站色视频无遮挡免费观看| 欧美日韩黄片免| 久久久久久人人人人人| 97在线人人人人妻| 亚洲第一av免费看| 亚洲九九香蕉| 精品一区二区三区四区五区乱码 | 韩国高清视频一区二区三区| 久久亚洲精品不卡| www.999成人在线观看| 久久鲁丝午夜福利片| 亚洲精品美女久久久久99蜜臀 | 制服诱惑二区| 最新的欧美精品一区二区| 99热国产这里只有精品6| 99久久精品国产亚洲精品| 国产亚洲欧美精品永久| 国产人伦9x9x在线观看| 亚洲av男天堂| 成人三级做爰电影| 青春草亚洲视频在线观看| 我的亚洲天堂| 国产在视频线精品| 777久久人妻少妇嫩草av网站| 国产一级毛片在线| 一个人免费看片子| 久久av网站| 欧美激情极品国产一区二区三区| 女性生殖器流出的白浆| 国产xxxxx性猛交| 在线观看免费午夜福利视频| 欧美精品高潮呻吟av久久| 91九色精品人成在线观看| 久久国产精品男人的天堂亚洲| 国产亚洲精品久久久久5区| 国产xxxxx性猛交| 国产精品久久久av美女十八| 国产又色又爽无遮挡免| 黄色视频不卡| 国产精品久久久久久人妻精品电影 | 欧美黄色淫秽网站| 国产精品 欧美亚洲| xxxhd国产人妻xxx| 老司机在亚洲福利影院| 久久久久久人人人人人| 日韩 欧美 亚洲 中文字幕| 黄色一级大片看看| 人成视频在线观看免费观看| 嫁个100分男人电影在线观看 | 国产人伦9x9x在线观看| 欧美少妇被猛烈插入视频| 久久国产亚洲av麻豆专区| 老司机亚洲免费影院| 欧美日韩亚洲高清精品| 久久国产精品男人的天堂亚洲| 久久天堂一区二区三区四区| www.av在线官网国产| 亚洲黑人精品在线| 精品一区二区三区四区五区乱码 | 国产精品久久久久久人妻精品电影 | 黄色片一级片一级黄色片| 丰满人妻熟妇乱又伦精品不卡| 欧美日韩国产mv在线观看视频| 欧美亚洲日本最大视频资源| 日韩视频在线欧美| 国产精品一区二区在线观看99| 免费看十八禁软件| 精品久久蜜臀av无| 99久久综合免费| 中文字幕高清在线视频| 麻豆乱淫一区二区| 国产深夜福利视频在线观看| 久久久久精品人妻al黑| 极品人妻少妇av视频| 人妻人人澡人人爽人人| 日韩视频在线欧美| 久久天躁狠狠躁夜夜2o2o | 亚洲图色成人| 国产亚洲精品久久久久5区| 高清av免费在线| 欧美成人午夜精品| 国产精品.久久久| 国产成人欧美在线观看 | 一本综合久久免费| 国产主播在线观看一区二区 | 9热在线视频观看99| 国产成人91sexporn| 精品卡一卡二卡四卡免费| 国产真人三级小视频在线观看| 这个男人来自地球电影免费观看| 亚洲欧美日韩高清在线视频 | a级毛片在线看网站| 91老司机精品| 午夜精品国产一区二区电影| 中文字幕人妻丝袜制服| 国产成人啪精品午夜网站| 久久人人爽人人片av| 19禁男女啪啪无遮挡网站| 国产精品秋霞免费鲁丝片| 欧美 亚洲 国产 日韩一| 国产午夜精品一二区理论片| 午夜av观看不卡| 欧美乱码精品一区二区三区| 一个人免费看片子| 亚洲国产欧美一区二区综合| 中文字幕人妻丝袜一区二区| 一边摸一边抽搐一进一出视频| 一二三四在线观看免费中文在| 一个人免费看片子| 男女床上黄色一级片免费看| 日韩av在线免费看完整版不卡| 亚洲av男天堂| 久久国产亚洲av麻豆专区| 日韩中文字幕欧美一区二区 | 国产成人精品无人区| 欧美日韩福利视频一区二区| 青春草亚洲视频在线观看| 精品少妇一区二区三区视频日本电影| 久久久欧美国产精品| 制服诱惑二区| 两个人看的免费小视频| 在线 av 中文字幕| 亚洲图色成人| 国产免费现黄频在线看| 最黄视频免费看| 黑人欧美特级aaaaaa片| 一级黄片播放器| 成年动漫av网址| 国产有黄有色有爽视频| 亚洲免费av在线视频| 人妻人人澡人人爽人人| 丝袜脚勾引网站| 少妇精品久久久久久久| 你懂的网址亚洲精品在线观看| videosex国产| 在线看a的网站| av片东京热男人的天堂| 99久久综合免费| 欧美+亚洲+日韩+国产| 欧美黑人欧美精品刺激| 成人手机av| 精品一区二区三区av网在线观看 | 色精品久久人妻99蜜桃| 一本—道久久a久久精品蜜桃钙片| 亚洲成人手机| 纯流量卡能插随身wifi吗| 视频区欧美日本亚洲| 黄色片一级片一级黄色片| 少妇猛男粗大的猛烈进出视频| 丰满饥渴人妻一区二区三| 人妻一区二区av| 纵有疾风起免费观看全集完整版| 国产麻豆69| 午夜福利视频精品| 成年人午夜在线观看视频| 日韩中文字幕欧美一区二区 | 91精品伊人久久大香线蕉| 天天躁日日躁夜夜躁夜夜| 777久久人妻少妇嫩草av网站| 老司机靠b影院| 国产野战对白在线观看| 国产91精品成人一区二区三区 | av福利片在线| 亚洲av成人精品一二三区| 熟女少妇亚洲综合色aaa.| 亚洲国产精品一区三区| 精品卡一卡二卡四卡免费| 超碰成人久久| 亚洲欧美中文字幕日韩二区| 无遮挡黄片免费观看| 亚洲人成网站在线观看播放| 午夜福利乱码中文字幕| 国产又色又爽无遮挡免| 99精国产麻豆久久婷婷| 一区二区三区精品91| 十分钟在线观看高清视频www| 青春草亚洲视频在线观看| 无限看片的www在线观看| 亚洲成人免费av在线播放| 久久人妻福利社区极品人妻图片 | 99久久人妻综合| 后天国语完整版免费观看| 伦理电影免费视频| 久久久久久免费高清国产稀缺| 亚洲成av片中文字幕在线观看| 两性夫妻黄色片| 黄色毛片三级朝国网站| 999久久久国产精品视频| 久久精品人人爽人人爽视色| 久久久久视频综合| www日本在线高清视频| 国产又爽黄色视频| 永久免费av网站大全| 亚洲精品国产色婷婷电影| 亚洲av综合色区一区| 亚洲国产日韩一区二区| 国产麻豆69| 又黄又粗又硬又大视频| 欧美黑人精品巨大| 香蕉国产在线看| 久久99热这里只频精品6学生| 亚洲三区欧美一区| 老汉色av国产亚洲站长工具| 欧美日韩一级在线毛片| 9191精品国产免费久久| 新久久久久国产一级毛片| 十八禁网站网址无遮挡| 色网站视频免费| e午夜精品久久久久久久| 亚洲欧美中文字幕日韩二区| 青春草视频在线免费观看| 丝袜人妻中文字幕| 啦啦啦中文免费视频观看日本| www.自偷自拍.com| 亚洲七黄色美女视频| 男女国产视频网站| 狠狠精品人妻久久久久久综合| 欧美日韩亚洲综合一区二区三区_| 亚洲综合色网址| 亚洲中文字幕日韩| 国产成人精品在线电影| 国产精品人妻久久久影院| 一边摸一边做爽爽视频免费| 久久av网站| 人人妻人人澡人人看| 国产精品熟女久久久久浪| 18禁国产床啪视频网站| 日本vs欧美在线观看视频| 777久久人妻少妇嫩草av网站| 人人妻人人爽人人添夜夜欢视频| 日本午夜av视频| 高清欧美精品videossex| 久久av网站| 99精品久久久久人妻精品| 夜夜骑夜夜射夜夜干| 亚洲,欧美精品.| 久久这里只有精品19| 午夜两性在线视频| 亚洲国产精品999| xxx大片免费视频| 悠悠久久av| 亚洲九九香蕉| 精品一区二区三区四区五区乱码 | 自拍欧美九色日韩亚洲蝌蚪91| 亚洲午夜精品一区,二区,三区| 午夜福利,免费看| 女人精品久久久久毛片| 麻豆乱淫一区二区| 国产免费现黄频在线看| 天堂8中文在线网| 国产精品香港三级国产av潘金莲 | 精品一区二区三区av网在线观看 | 在线av久久热| 一级黄片播放器| 亚洲成色77777| 中文字幕高清在线视频| 久久女婷五月综合色啪小说| 大片免费播放器 马上看| 一边亲一边摸免费视频| 一级毛片女人18水好多 | 亚洲激情五月婷婷啪啪| 亚洲精品一卡2卡三卡4卡5卡 | 无遮挡黄片免费观看| 国产麻豆69| 丁香六月天网| 18禁裸乳无遮挡动漫免费视频| videos熟女内射| 日韩中文字幕视频在线看片| 天天影视国产精品|