eMMC安全簡介

1. 引言

術語“信息安全”涵蓋多種不同的設計特性。一般而言, 信息安全是指通過實踐防止信息遭受未經授權的訪問、使用、披露、中斷、篡改、檢查、記錄或銷毀。
信息安全的三大核心目標為 機密性(Confidentiality)、完整性(Integrity)和可用性(Availability)
  • 機密性:確保本應保密的信息僅能被授權實體讀取和理解。未經授權的個體無法訪問或理解機密信息。
  • 完整性:指確認信息受到保護,防止未經授權的更改、修改或刪除。信息的完整性涵蓋其來源、完整性和正確性,通常通過身份識別和認證等方法實現。
  • 可用性:確保授權用戶能夠始終訪問所需信息。
每個系統設計會根據其保護資產類型及價值,以不同方式支持這些安全目標。單一安全解決方案可能僅能防御部分潛在攻擊,而結合多種方案更有可能實現完全安全的設計。例如:
  • e.MMC寫保護機制旨在保障數據可用性;
  • 重放保護內存塊(RPMB)方案專注于確保數據完整性;
  • Android全盤加密(FDE)則是一種針對數據隱私保護的安全方案,旨在確保機密性。

2.?eMMC安全特性的發展

eMMC設備集成多種數據保護與安全功能,包括密碼鎖(Password Lock)、寫保護(Write Protect)和重放保護內存塊(RPMB)。這些特性隨eMMC規范版本的迭代不斷升級優化。

2.1 密碼鎖(Password Lock)

功能目標
防止對用戶數據區(User Area)的 任何訪問(讀、寫、擦除),用于防范數據竊取。
實現方式
  • 通過CMD42指令啟用密碼鎖定。
  • 鎖定后,主機仍可執行基礎操作(復位、初始化、狀態查詢等),但禁止訪問用戶數據區
  • 允許訪問區域:啟動分區(Boot Partitions)、RPMB、通用分區(General Partition)。
局限性
  • 完全阻斷訪問:包括數據所有者在內的所有用戶均無法操作受保護數據,可能導致使用靈活性下降。
技術背景
  • 密碼鎖功能最初源自傳統SD卡,后被整合至早期eMMC規范。

2.2 寫保護(Write Protect)

功能目標
防止數據被篡改或擦除(無論惡意或誤操作),同時 允許讀取數據
版本演進
  • eMMC4.3及更早:僅支持用戶區(User Area)寫保護。
  • eMMC4.4:引入分區概念,支持對分區內特定區域的寫保護。
  • eMMC5.1:新增認證機制,可通過身份驗證動態管理寫保護權限。
四種保護類型
類型
特點
永久寫保護
一旦啟用,無法禁用(防固件回滾或關鍵配置篡改)。
上電寫保護
啟用后,需斷電重啟或復位引腳觸發才能解除(防運行時惡意修改)。
臨時寫保護
可動態啟用/禁用(適用于臨時敏感操作保護)。
安全寫保護
僅授權用戶(通過RPMB認證)可管理寫保護狀態(高安全性場景)。
保護范圍擴展(eMMC5.1)
  • 全局保護:可對整個設備(包括啟動分區、RPMB、通用分區、用戶數據區)設置永久或臨時寫保護。
  • 分區級保護:
    • 啟動分區:支持永久、安全或上電寫保護。
    • 用戶數據區(UDA)與通用分區(GPP):支持按“寫保護組”(Write Protect Groups)細分保護區域,并靈活選擇保護類型。
    • 用戶數據區(UDA)與通用分區(GPP)的寫保護可應用于特定區段(規范中稱為“寫保護組”),這些區段支持配置為以下模式:
      • 永久寫保護(不可逆鎖定)
      • 安全寫保護(需RPMB授權解除)
      • 上電寫保護(重啟后生效)
      • 臨時寫保護(動態啟用/禁用)

2.3 RPMB(重放保護內存塊)

RPMB(Replay Protected Memory Block)功能首次于 eMMC4.4規范中引入。該特性允許設備將數據存儲在一個 經過認證且防重放攻擊的小型特定區域。
RPMB是一套 獨立的安全協議,擁有專屬的命令操作碼(Command Opcodes)和數據結構。其核心機制包含以下組件:
  1. 共享密鑰:設備與主機預先協商或預置的加密密鑰。
  2. HMAC(哈希消息認證碼):用于對訪問安全區域的所有讀寫操作進行數字簽名,確保操作合法性。
運行流程
  • 寫入數據時,主機需使用共享密鑰生成HMAC,附加到操作請求中;設備驗證HMAC合法性后執行寫入。
  • 讀取數據時,設備返回的數據會附帶HMAC,供主機驗證完整性和來源真實性。
  • 防重放攻擊:通過遞增計數器(Counter)值,拒絕重復或過期指令(例如:惡意復制舊指令篡改數據)。

3 RPMB用于身份驗證和防止重放攻擊的完整性保護。

RPMB(Replay Protected Memory Block,重放保護內存塊)使 e.MMC 設備能夠在特定區域(通常為 4MB)存儲數據,并對其進行身份驗證,防止重放攻擊。

3.1 What Is a Replay Attack?

重放攻擊(Replay Attack)是指攻擊者截獲并記錄合法交互中的數據,然后在后續階段重新發送相同的數據。由于原始信息包含正確的發送者和接收者標識符,以及數據的真實性證明,未經防范的重放數據將被接受,就像第一次傳輸時一樣。
此類攻擊可能由首次合法交互的發起者實施,或由“中間人”(MITM)在竊聽原始數據后進行重發。
例如,假設數字錢包服務提供商發送一條經過身份驗證的消息,將用戶賬戶余額設置為 $2,000。當用戶使用數字錢包支付 $1,600 的賬單時,可用余額降至 $400。如果一段惡意軟件執行重放攻擊,攔截了初始消息(將賬戶余額設置為 $2,000),通過在 $1,600 購買后重新發送相同的消息,它可以將賬戶余額重置為 $2,000。

3.2 RPMB Authentication

RPMB使用對稱密鑰身份驗證,即主機和設備使用相同的身份驗證密鑰(也稱為“共享密鑰”)。其工作方式如下:
  • 密鑰編程:
    • 主機首先將身份驗證密鑰信息編程到 eMMC 設備中(通常在安全環境下進行,如生產線)。
  • 簽名和驗證:
    • 主機和設備使用該身份驗證密鑰對涉及 RPMB 區域的讀寫消息進行簽名和驗證。
  • 消息簽名:
    • 簽名過程涉及消息認證碼(MAC),該 MAC 使用 HMAC-SHA-256 算法計算。

3.3 RPMB Protection against Replay Attack

重放保護的基本思想是確保每條消息都是唯一的。在 RPMB 中,設備管理一個只讀計數器,該計數器在每次寫入消息后遞增,并且其新值將包含在下次要發送的認證碼計算中。
RPMB 命令通過 HMAC-SHA-256 計算進行認證,該計算的輸入包括:
  • 共享/秘密密鑰。
  • 包含寫入命令或讀取結果的消息。
  • 記錄 RPMB 總寫入次數的寫計數器。
  • 讀取命令對應的隨機生成數(Nonce)。
生成的 MAC 是一個 256 位(32 字節)的加密數據,它嵌入到 RPMB 數據幀中,并隨消息數據一起發送。

Writing to RPMB

當 eMMC 設備接收到寫入 RPMB 的命令消息時,它通過以下方式驗證命令的有效性:
  • 檢查計數器是否已增加。
  • 檢查主機發送的 MAC 是否與設備使用其保存的密鑰生成的 MAC 相同。

Reading from RPMB

eMMC 設備將在發送讀取數據給主機的同時附帶一個 MAC 簽名。主機接收消息后,使用共享密鑰生成一個 MAC。只有當兩個 MAC 完全相同時,主機才會信任從 RPMB 讀取的數據。
隨機數生成和計數器寄存器的使用是防止重放攻擊的關鍵:
  • 在寫入 RPMB 時,MAC 的值受 RPMB 寫計數器的影響,該計數器在每次成功寫入 RPMB 后(由主機和設備共同)增加。
  • 在讀取 RPMB 時,MAC 的值受主機生成的隨機數影響,該隨機數作為讀取請求的一部分發送。

4 RPMB應用場景

各廠商對RPMB的應用場景各有側重,但其典型應用涵蓋:軟件版本認證、指紋驗證、安全密鑰存儲、網絡運營商信息、數字版權管理(DRM)及安全支付等領域。

4.1 示例1——軟件版本認證防范降級攻擊

假設某制造商需向設備(如手機、汽車等)推送多次軟件更新。首次更新時,新軟件鏡像會被寫入eMMC主存儲區,而軟件版本信息則存入RPMB。
隨后,若制造商發現該版本存在安全漏洞或安全隱患,將再次推送更新修復問題。新軟件鏡像仍寫入eMMC主存儲區,更新后的版本信息同步刷新至RPMB。
然而,黑客可能試圖利用相同機制,將用戶設備軟件降級至舊版本,以利用先前版本的漏洞。他們可能模仿制造商的升級流程——實際卻推送已被攻破的舊版應用或系統。
此時,基于RPMB的防護機制會在升級過程中校驗新版本號:若"新版本號"低于RPMB中存儲的當前版本號,安裝程序將直接拒絕此次"更新"。
關鍵防護原理:RPMB存儲的版本信息無法被篡改,因其訪問需持有加密密鑰,而該密鑰僅由合法制造商掌控。

4.2 示例2——防范未授權解鎖

本例中,RPMB 可用于確保僅限授權用戶解鎖設備(如手機、汽車或計算機)。
操作流程:
  1. 初始設置:用戶預先設定解鎖憑證(如PIN碼、指紋或手勢密碼)。
  2. 解鎖監控:每次解鎖嘗試的時間均被記錄至RPMB。
  3. 防暴力破解:若短時間內嘗試次數超過閾值,系統將暫停解鎖功能一定時間。
對抗攻擊場景
  • 即使黑客使用自動化工具暴力窮舉PIN碼,一旦觸發RPMB記錄的嘗試次數限制,攻擊將立即終止。
  • 解鎖嘗試記錄無法被篡改(因存儲于RPMB),除非攻擊者在前幾次嘗試中巧合命中正確PIN碼,否則設備幾乎無法被破解。

4.3 示例3——安全啟動與寫保護機制

設備防御惡意代碼運行的關鍵,始于確保處理器從存儲介質讀取并執行的首段代碼(即引導程序)絕對可信。該代碼存放于eMMC啟動分區,且須啟用寫保護機制防止惡意篡改。
在eMMC5.1之前,永久寫保護機制是防護啟動分區的唯一可靠方案,然而該機制在防黑客篡改的同時,也使得制造商無法在需要時更新該區域。這一矛盾催生了eMMC5.1的安全寫保護功能。
安全寫保護功能的實現邏輯:任何對寫保護配置的修改均需通過RPMB密鑰認證。該機制專用于防護eMMC設備中的引導代碼及其他敏感數據,防止未授權應用進行篡改或刪除。

5 結論

eMMC存儲設備不僅是代碼與數據的存儲載體,其內置安全特性更能化解設備制造商普遍關注的系統安全隱患。在產品設計階段善用其功能特性,可系統性提升產品在機密性、完整性與可用性維度的防護等級。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/896562.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/896562.shtml
英文地址,請注明出處:http://en.pswp.cn/news/896562.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python 數據結構 2.時間復雜度和空間復雜度

Life is a journey —— 25.2.28 一、引例:窮舉法 1.單層循環 所謂窮舉法,就是我們通常所說的枚舉,就是把所有情況都遍歷了的意思。 例:給定n(n ≤ 1000)個元素ai,求其中奇數有多少個 判斷一…

FFmpeg-chapter3-讀取視頻流(原理篇)

ffmpeg網站:About FFmpeg 1 庫介紹 (1)libavutil是一個包含簡化編程函數的庫,包括隨機數生成器、數據結構、數學例程、核心多媒體實用程序等等。 (2)libavcodec是一個包含音頻/視頻編解碼器的解碼器和編…

面試(進階) —虛擬列表在什么場景使用,如何實現?

面試(進階) —虛擬列表在什么場景使用,如何實現? 在前端開發中,當需要渲染大量數據時,傳統的渲染方式往往會遇到性能瓶頸。一次性將大量數據渲染到DOM中,不僅會導致頁面加載緩慢,還可能占用大量內存&#x…

Linux Mem -- 關于AArch64 MTE功能的疑問

目錄 1.虛擬地址和物理地址映射完成后,才可以設置虛擬地址對應的memory tag ? 2.各種memory allocator中的address tag從哪來,怎么產生? 2.1 vmalloc allocator 2.2 slub分配器 2.3 用戶可以指定IRG指令產生的address tag 3.kasan…

python-leetcode-顏色分類

75. 顏色分類 - 力扣&#xff08;LeetCode&#xff09; class Solution:def sortColors(self, nums: List[int]) -> None:"""Do not return anything, modify nums in-place instead."""low, mid, high 0, 0, len(nums) - 1while mid < h…

ArcGIS Pro技巧實戰:高效矢量化天地圖地表覆蓋圖

在地理信息系統&#xff08;GIS&#xff09;領域&#xff0c;地表覆蓋圖的矢量化是一項至關重要的任務。天地圖作為中國國家級的地理信息服務平臺&#xff0c;提供了豐富且詳盡的地表覆蓋數據。然而&#xff0c;這些數據通常以柵格格式存在&#xff0c;不利于進行空間分析和數據…

【江科大STM32】TIM輸出比較(學習筆記)

本章圖片文字內容也為重要知識&#xff0c;請馬住&#xff01; 輸出比較簡介 OC&#xff08;Output Compare&#xff09;輸出比較輸出比較可以通過比較CNT與CCR寄存器值的關系&#xff0c;來對輸出電平進行置1、置0或翻轉的操作&#xff0c;用于輸出一定頻率和占空比的PWM波形…

【網絡安全 | 漏洞挖掘】利用文件上傳功能的 IDOR 和 XSS 劫持會話

未經許可,不得轉載。 本文涉及漏洞均已修復。 文章目錄 前言正文前言 想象這樣一個場景:一個專門處理敏感文檔的平臺,如保險理賠或身份驗證系統,卻因一個設計疏漏而成為攻擊者的“金礦”。在對某個保險門戶的文件上傳功能進行測試時,我意外發現了一個可導致大規模賬戶接管…

飛算 JavaAI 如何讓微服務開發快人一步?

在當今競爭激烈的軟件開發領域&#xff0c;微服務架構因其靈活性和可擴展性備受青睞。然而&#xff0c;微服務開發過程復雜&#xff0c;從需求分析到最終代碼實現&#xff0c;每個環節都需要耗費大量時間和精力。飛算 JavaAI 的出現&#xff0c;猶如一道曙光&#xff0c;為開發…

Python—Excel全字段轉json文件(極速版+GUI界面打包)

目錄 專欄導讀1、背景介紹2、庫的安裝3、核心代碼4、完整代碼(簡易版)5、進階版(GUI)總結專欄導讀 ?? 歡迎來到Python辦公自動化專欄—Python處理辦公問題,解放您的雙手 ?????? 博客主頁:請點擊——> 一晌小貪歡的博客主頁求關注 ?? 該系列文章專欄:請點擊——…

2025年光電科學與智能傳感國際學術會議(ICOIS 2025)

重要信息 官網&#xff1a;www.ic-icois.org 時間&#xff1a;2025年3月14-16日 地點&#xff1a;中國-長春 簡介 2025年光電科學與智能傳感國際學術會議&#xff08;ICOIS 2025&#xff09;將于2025年3月14-16日在中國-長春隆重召開。會議將圍繞“光學光電”、“智能傳感”…

企業微信里可以使用的企業內刊制作工具,FLBOOK

如何讓員工及時了解公司動態、行業資訊、學習專業知識&#xff0c;并有效沉淀企業文化&#xff1f;一份高質量的企業內刊是不可或缺的。現在讓我來教你該怎么制作企業內刊吧 1.登錄與上傳 訪問FLBOOK官網&#xff0c;注冊賬號后上傳排版好的文檔 2.選擇模板 FLBOOK提供了豐富的…

YOLOv5 + SE注意力機制:提升目標檢測性能的實踐

一、引言 目標檢測是計算機視覺領域的一個重要任務&#xff0c;廣泛應用于自動駕駛、安防監控、工業檢測等領域。YOLOv5作為YOLO系列的最新版本&#xff0c;以其高效性和準確性在實際應用中表現出色。然而&#xff0c;隨著應用場景的復雜化&#xff0c;傳統的卷積神經網絡在處…

跟我學C++中級篇——定時器的設計

一、定時器 談到定時器&#xff0c;理論上講是各種語言和各種設計都無法避開的一個技術點。對于定時器來說&#xff0c;表面上就是一種時間間隔的處理約定&#xff0c;但對程序來說&#xff0c;可能就是設計層面、接口層面和庫或框架以及系統應用的一個大集合。不同的系統&…

智能機器人加速進化:AI大模型與傳感器的雙重buff加成

Deepseek不僅可以在手機里為你解答現在的困惑、占卜未來的可能&#xff0c;也將成為你的貼心生活幫手&#xff01; 2月21日&#xff0c;追覓科技旗下Dreamehome APP正式接入DeepSeek-R1大模型&#xff0c;2月24日發布的追覓S50系列掃地機器人也成為市面上首批搭載DeepSeek-R1的…

PostgreSQL10 邏輯復制實戰:構建高可用數據同步架構!

PostgreSQL10 邏輯復制實戰&#xff1a;打造高可用數據同步架構&#xff01; 概述 PostgreSQL 10 引入了邏輯復制&#xff08;Logical Replication&#xff09;&#xff0c;為數據庫高可用和數據同步提供了更靈活的選擇。PostgreSQL 復制機制主要分為物理復制和邏輯復制兩種&…

LVS+Keepalived高可用群集配置案例

以下是一個 LVSKeepalived 高可用群集配置案例&#xff1a; 1、環境準備 LVS 主調度器&#xff08;lvs1&#xff09;&#xff1a;IP 地址為 192.168.8.101&#xff0c;心跳 IP 為 192.168.4.101LVS 備調度器&#xff08;lvs2&#xff09;&#xff1a;IP 地址為 192.168.8.102…

原生家庭獨立的藝術:找到自我與家庭的平衡點

原生家庭獨立的藝術&#xff1a;找到自我與家庭的平衡點 &#x1f331; 引言 &#x1f308; 小林剛剛和父母結束了一次激烈的電話對峙。父母堅持認為他應該回到家鄉工作&#xff0c;“這樣我們也能照顧你”&#xff0c;而他則努力解釋自己在大城市的職業規劃。掛掉電話后&…

Java進階——注解一文全懂

Java注解&#xff08;Annotation&#xff09;是一種強大的元數據機制&#xff0c;為代碼提供了附加信息&#xff0c;能簡化配置、增強代碼的可讀性和可維護性。本文將深入探討 Java 注解的相關知識。首先闡述了注解的基礎概念&#xff0c;包括其本質、作用以及核心分類&#xf…

DeepSeek 15天指導手冊——從入門到精通 PDF(附下載)

DeepSeek使用教程系列--DeepSeek 15天指導手冊——從入門到精通pdf下載&#xff1a; https://pan.baidu.com/s/1PrIo0Xo0h5s6Plcc_smS8w?pwd1234 提取碼: 1234 或 https://pan.quark.cn/s/2e8de75027d3 《DeepSeek 15天指導手冊——從入門到精通》以系統化學習路徑為核心&…