TW200817964A - Anti-roll-back mechanism for counter - Google Patents

Anti-roll-back mechanism for counter Download PDF

Info

Publication number
TW200817964A
TW200817964A TW096114272A TW96114272A TW200817964A TW 200817964 A TW200817964 A TW 200817964A TW 096114272 A TW096114272 A TW 096114272A TW 96114272 A TW96114272 A TW 96114272A TW 200817964 A TW200817964 A TW 200817964A
Authority
TW
Taiwan
Prior art keywords
value
counter
integrity protection
version
processing device
Prior art date
Application number
TW096114272A
Other languages
English (en)
Inventor
Bernard Smeets
Original Assignee
Ericsson Telefon Ab L M
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Telefon Ab L M filed Critical Ericsson Telefon Ab L M
Publication of TW200817964A publication Critical patent/TW200817964A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

200817964 九、發明說明: 【發明所屬之技術領域】 產品構件及器件。 本發明係關於維持—計數器之方法 【先前技術】
肷入式糸統,例如行動電話及其他資料處理器件,取決 於正確軟社執行。另外,即使對於較小“,軟體變得 越來越複雜’因此增加錯誤及非職特徵的驗,特別係 在軟體壽命週期讀早版材。料,較早㈣版本之功 能性通常有限。因此,儲存於嵌入式器件内之軟體愈加需 要從較舊版本至更新版本的頻繁更新。為追蹤安裝於器件 内的版本’ n件通常維持版本計數器,其值對應於當前安 裝的版本號碼。 儘管(例如)國際專利申請案貿〇 〇2/27441揭示用於保護 靜態及動態資料不受未授權操控的熟知方法,此類方法不 能提供防止軟體版本轉返的保護,例如,其不能防止具有 女裝軟體更新授權的使用者重新安裝較舊軟體版本。 然而,一般需要增強軟體更新政策,其防止已獲得具有 初始軟體版本之行動電話的使用者實行超過初始版本之轉 返’即防止重新安裝比初始版本更舊的較舊軟體版本。例 如’此一未授權轉返可能不合需要,因為較舊軟體版本可 包括錯誤,其允許不誠實使用者利用器件實行未授權或不 需要的操作,例如解開SIM鎖定等。 因此,一般需要提供維持版本計數器之方法,其防止使 用者實行超過初始軟體版本之軟體轉返,通常係使用者獲 120390.doc 200817964 得處理器件之版本。 國際專利申請案WO 01/333 17揭示一種用於驗證儲存於 器件内之資料係受保護資料之最新授權版本的存取控制系 統,例如用於控制存取其他受保護材料之資料。此先前技 術存取控制系統包括計數器及安全記憶體位置,其係組態 成包含將計數器之内容結合至受保護的資料的參數。 然而,儘管上述先前技術系統提供單向版本計數器,上
述先前技術系統之一問題係其需要安全記憶體位置。例 如,在嵌入式系統情況下,通常將此一安全記憶體位置實 施為安全晶片上可重寫非揮發性記憶體,其係結合實施控 制系統之ASIC邏輯來實施。然而,此類安全可重寫非揮發 性記憶體之實現需要ASIC生產期間的額外步驟,因此增加 總生產成本。 【發明内容】 地次具他問題係 --w q平付一版本計 數器之方法來解決’該版本計數器指示㈣於該處理哭件 内之一記憶體内容的一版本,該方法包含按一第一及第二 模式之-選擇性地操作該處理器件,其中按該第—模式: 作該處理器件之存取㈣授權使用者,並且係與該第二模 式之存取分離地加以控制。 、 按第一模式操作處理器件之步驟包括: 至:一初始完整性保護值,以便在該處理器件於 二弟j式,之操作期間以密碼方式保護該版本計數 初始汁數器值的完整性;其中該初始計數器值 120390.doc 200817964 係選自一計數器值序列;以及 -將該初始完整性保護值作為一當前完整性保護值儲存 於一健存媒體中; 按該第二模式操作該處理器件之步驟包括將一當前計數 1§值遞增至一隨後計數器值,該隨後計數器值在該計數器 值序列内位於該當前計數器值之後;其中遞增包括從該儲 存媒體移除用於以密碼方式保護該當前計數器值之完整性 之該當前完整性保護值。 因此,可提供不依賴於安全記憶體之軟體反轉返機制。 特疋S之,由於從儲存媒體移除已撤銷計數器值之完整 性保護值,並且由於僅在分離保護之操作模式中允許完整 性保羞值之計算,可防止無特定授權之正常使用者重新產 生已撤銷計數器值。 如上所述,在本文所說明之處理器件的具體實施例中, 可按第一及第二模式之一選擇性地操作處理器件,其中按 第一模式操作處理器件之存取限於授權使用者,並且係與 第一楔式之存取分離地加以控制。因此,不必亦授權給被 授權按第—模式操作II件之使用|,以按第一模式操作器 件。例如,可藉由提供可啟動器件之兩個模式,或藉由最 初授予第二模式之存取,以及以成功存取控制為條件,為 提供於第-;^式内之額外功能性提供存取來實施選擇性操 作。 '、 疋整性保護值之移除可按許多不同方式實行,例如藉由 以更新值覆寫已撤銷完整性保護值,#由以預定資料項目 120390.doc 200817964 (例如零)覆寫保護值,或者按防止使用者隨後從儲存媒體 取出已移除資料的任何其他適當方式。 本文所說明之方法及器件的優點係防止版本計數器之意 外轉返。另外,有意轉返至較舊計數器值(其對應於先; 已在當前使用者之控制下安裝的版本號碼)變得困難,因 為其需要操控错存之完整性㈣值,例如藉由取出全部整 合保護值’並結合版本計數器之遞增在已刪除整合保護值 後將其重新輸人。任何事件巾’可防止使时轉返超過其 初始值之版本計數器,即使用者已獲得器件時的計數器 值。 。 上述更新政策表面看似比嚴格防止每一版本轉返之政策 寬鬆,其包括一旦同時更新器件至隨後版本則轉返回至獲 得器件之初始版本。然而,應觀察到,此一更新政策之嚴 袼增強需要用於強制使用者在較新版本之更新可用時更新 軟體之機制。若無此一機制,使用者可能忽略更新器件, 從而仍能用初始軟體版本操作器件,而不必實行版本轉 返。 出於本說明之目的,術語版本計數器指為記憶體内容之 版本序列的各項提供實質上唯一值的任何器件或機制,例 如軟體版本、儲存資料之版本等。可將版本計數器實施為 循序排列之資料項目集,例如號碼或其他值。應瞭解,亦 可將版本計數器實施為產生非重複亂數序列的亂數產生 器,或另一唯一值產生器。某些具體實施例中,版本計數 器係用於計算安裝於器件内之軟體的軟體版本之版本計數 120390.doc 200817964 某些具體實施例中,按第一模式操作處理器件包括: -產生完整性保護值之一序列,以便以密碼方式保護一 計數器值序列之個別值的完整性;其中該計數器值序 列係從該初始計數器值開始循序排列;以及 -將該完整性保護值序列儲存於一儲存媒體内。 因此,依據此具體實施例,在第一模式内之初始器件操 作期間建立並儲存一組完整性保護值。一旦欲在第二模式 内之iw後器件操作期間將版本計數器從當前值遞增至隨後 值,即從儲存媒體移除完整性保護值或對應於隨後值前之 計數器值的值,特定言之係對應於當前計數器值的完整性 保護值’從而防止當前計數器值之隨後密碼驗證。 某些具體實施例中,可提供兩種遞增計數器之模式:不 可逆遞粍,其中移除先前完整性保護值,以及可逆遞增, 其中不移除完整性保護值。另一具體實施例中,可在計數 器之實際遞増過去預定時間後實行完整性保護值之移除。 或者或此外,可在計數器之實際遞增後的預定重新啟動數 ::後:行完整性保護值之移除。計數器更新之此一延遲 提又非^有用’使使用者可在提交前測試更新軟體版本之 適當操作。 ▲項,體實施例中,該方法進一步包含提供一完整性保 #值十#單元,其係調適成僅在按該等第一及第二模式之 2敫二弋操作該器件時輸出該完整性保護值序列之產生之 70正性保護值。因Λ,僅被授權按第-模式操作器件的使 120390.doc 200817964 用者可(重新)計算完整性保護值。。 渥將筌一握彳夕六而 器件製造商可選 擇將弟-权式之存取限於該製造商1此,電子裝置 產期間,製造商可按第—模式操作㈣,以產生並在 上儲存適當數目的完整性保護值。所有獲得器件之隨後使 用者僅可按第二模式存取器件,因此可防止其針對過期計 數器值重新產生完整性保護值。
某些具體實施例中,將—當前計數器值遞增至-隨㈣ 數器值包括產生對應於該隨後計數器值之一隨後完整性保 護值;以及用該隨後完整性保護值取代該#前完整性保^ 值。因此’此具體實施例中’不需要在器件内從開始儲存 大量完整性保護值,從而節省儲存容量,以及避免已儲存 完整性保護值之數目限制可保護計數器值之範圍。另外, 當按第二模式操作時,器件僅產生對應於隨後計數器值之 完整性保護值,從而仍防止未被授權按第一模式操作器件 的使用者重新產生先前計數器值之完整性保護值,即關於 計數器之循序排列低於當前計數器值之低等級計數器值。 當產生隨後完整性保護值包含根據當前完整性保護值驗 證當前計數器值以及以該當前計數器值之成功驗證為條件 產生該隨後完整性保護值時,進一步增加該方法之安全 性,因為器件僅在成功驗證當前值時產生隨後完整性保護 值0 當各產生之完整性保護值對對應計數器值及器件係唯一 時,防止使用者僅從尚未遞增計數器的另一器件複製先前 完整性保護值。 120390.doc -11 - 200817964 術浯完整性保護值欲包含藉由用於確保不意外或惡意改 變或破壞儲存於記憶體内之資訊的機制產生任何資料項 目。凡整性保護機制之範例包括訊息鑑別碼、單向雜湊函 數及數位簽章。當完整性機制係㈣完整性保護機制時, 即基於機密金鑰,完整性保護之安全性增加。當完整性保 護值係訊息鑑別碼時,實現特別安全及有效的完整性保 護。 訊息鑑別碼(MAC)係用於完整性保護資料的熟知機制。 MAC係採用可變長度輸入及金鑰以產生固定長度完整性保 護值作為輸出(即所謂的MAC值或標籤值)的函數。mac通 常用於共用機密金鍮的兩方間,以便確認在各方間發送的 資訊。可藉由對資料應用單向雜湊函數並使用機密金鑰加
密結果來計算MAC。可與密碼雜湊函數組合的合適MAC 函數之範例包括HMAC(用於訊息鑑別之金鑰雜湊)、密碼 區塊鏈接(CBC)MAC,例如其使用AES或安全單向雜湊函 數。本文所述之方法及器件的具體實施财,訊息鑑別碼 用於檢查儲存於處理器件之儲存媒體内的計數器值之完整 生仗而避免將汁數器值儲存於安全記憶體位置内的需 要。 因此,某些具體實施例中,完整性保護包含儲存關於欲 保護之計數器值的已計算參考完整性保護值,例如訊息鑑 別碼值,從而使其可用於處理器件對計數器值的隨後稽 核。所以,當稽核計數器值時’器件使用儲存於器件内之 機密金鑰計算計數器值之完整性保護值,並比較結果與先 120390.doc •12· 200817964 雨儲存之參考完整性保護值,例如參考MAc值。因此,在 =具體實施例中,機密金錄僅需被數位處理器件知道。某 些具體實施财’機密金㈣對處理器件唯_的機密資料 項目,例如僅被處理器件知道的一機密資料項目。' 當各計數器值係ϋ件唯-時,提供防止將完整性保護值 從一個器件複製到另一器件的一額外保護。
一些具體實施例中,藉由一完整性保護模組實施以對應 完整性保護值產生及驗證該計數隸,該完整性保護模二 係確保不被修改,從而增加該程序之安全性。例如,可藉 由又保護之硬體模組及/或藉由受信賴之程式碼實施完整 性保護模組。在此,該術語受信賴程式碼係希望包括任何 凡整性受保護程式碼,例如包括於處理器件之韌體内的程 式碼,在其執行前以密碼方式檢查完整性的碼,包括於處 理器件之啟動ROM碼内的程式碼,或其類似(例如)基於儲 存於一一次性可程式化(〇τρ)記憶體内的一完整性保護 值0 某些具體實施例中,該方法進一步包含: -接收該記憶體内容之一更新版本,該更新版本包括一 版本指示器; -驗證該已接收記憶體内容之確實性; -根據該版本指示器及該版本計數器之該當前值實行該 已接收更新記憶體内容之一版本控制; -以該版本控制之一結果為條件,接受該已揍收更新記 憶體内容。 120390.doc -13 - 200817964 因此,提供記憶體内容之一有效及安全之更新。處理器 件可經由任何適當資料介面,例如一電腦可讀取媒體上, 如一 CD、一記憶條或其他記憶體器件,經由有線或無線 通#介面或其類似接收記憶體内容。 確實性之驗證可包括本技術中熟知的任何合適技術,例 如藉由數位簽章及/或憑證、藉由訊息鑑別碼及/或類似技 術。 版本控制可包括本技術中熟知的任何合適版本控
制,例如在IBM AIXUnix作業系統内用於軟體模組之軟體 、’扁唬及LINUX核心之編號,例如藉由比較版本指示器與版 本十數器之g觔值。某些具體實施例中,當版本指示器大 於或等於版本計數器之最低可信計數器值,即將有效完整 性㈣值儲存於器件内的最低計數器值,接受更新之記憶 體内谷。當版本控制失敗時,例如由於接收之版本較舊或 與當前版本或最低可信版本不相容,可中止更新程序,可 產生錯誤訊息,及/或可按任何其他適當方式處理器件。 接受時,H件通常儲存更新之記憶體内容,以便取代對 應記憶體内容。某些具體實施例中,更新進一步包含將版 本計數H遞增至如本文所述對應於已接收之已更新記憶體 内谷的版本指示器之值。例如’遞增可包括將版本計數器 設定為等於已接收之版本指示器。另一具體實施例中,遞 =可包括將版本計數器㈣為等於計數器值,其在版本計 數益序列中具有等於已接收版本指示器之位置。 本發明係關於不同方面,句括 包括上达及下述方法、對應器 I20390.doc -14- 200817964 件及電腦程式,其各產生結合上述方法所說明之利益及優 點的:或多個,並且各具有對應於結合上述方法所說明之 具體實施例的一或多項具體實施例。 :二:而5 ’依據另一方面,組態成用以維持 於該處理器件内之―記憶㈣容的—版本之—版本計數器 的該貧料處理器件可按一第一及第二模式之一選擇性地加 以操作’其中按該第-模式操作該處理器件之存取限於授
榷使用者,並且係與該第二模式之存取分離地加以控制。 該處理器件係組態成當按該第一模式操作時用以實行以 下步驟: -產生該版本計數n之至少初始計數器值,其中該初 始計數器係選自一計數器值序列; 產生初始凡整性保護值,以便在該處理器件於該第 二模式内之操作期間以密碼方式保護該產生之初始計 數器值之完整性;以及 _將該初始完整性保護值作為一當前完整性保護值儲存 於一儲存媒體中。 當按第二模式操作時,該處理器件係進—步組態成將一 當前計數ϋ值遞增至—隨後計數器值,該隨後計數器值在 該計數器值序_位於該當前計數ϋ值之H中遞增包 括從該儲存媒體移除用於以密碼方式保護該當前計數器值 之完整性之該當前完整性保護值。 術語處理器件係包含任何電子器件,其包含用於資料處 理之處理構件。特定言之,術語處理器件係包含任何電子 120390.doc -15· 200817964 &備、可攜式無線電通信設備 件,以及積體電路、晶片或用於此設:内=攜式器 :攜:無線電通信設備包括所有設備,例如行動终端:: 饤動電話、呼叫器、通信器、電子記事本、智 話、個人數位助理(PDA)、手持式電腦等。 〜
:語儲存媒體係包括用於儲存數位資料項目的 或盗件。此類儲存媒體之範例包括非揮發性記憶體 記憶體(職)、隨機存取記憶體(RAM)、快閃記憶體= :除式化唯讀記憶體(咖簡)等。某些具體實施例 中,儲存媒體係包括於處理器件内。 依據另-方面’更新儲存於處理器件内之記憶體内容 方法包含: 藉由該處理时維持—版本計數器,該版本計數器指示 該記,隨内容的-版本,其中維持版本計數器包括按—第 一及第二模式之-選擇性地操作該處理器件,#中按該第 一模式操作該處理器件之存取限於授權使用者,並且係盘 該第二模式之存取分離地加以控制; 、 其中按該第-模式操作該處理器件包括: 產生至乂初始疋整性保護值,以便在該處理器件於 該第二模式内之操作期間以密碼方式保護該版本計數 器之-初始計數器值的完整性;其中該初始計數器值 係選自一計數器值序列;以及 將該初始疋整性保護值作為一當前完整性保護值儲存 於一儲存媒體中; 120390.doc -16 - 200817964 其中該方法進一步包含: •按第二模式操作該處理器件; _接收該記憶體内容之一更新版本,該更新版本包括一 版本指示器; -驗證該已接收記憶體内容之確實性; -根據該版本指示器及該版本計數器之該當前值實行該 已接收更新記憶體内容之一版本控制; -以該版本控制之一結果為條件,接受已接收之已更新 •記憶體内容;以及 -將一當前計數器值遞增至一隨後計數器值,該隨後計 數器值對應於該版本指示器並在該計數器值序列内位 於該當兩計數器值之後;其中遞增包括從該儲存媒體 移除用於以密碼方式保護該當前計數器值之完整性該 當前完整性保護值。 應注意,可將上述及下述方法之特徵實施於軟體内並在 馨執行程式碼構件(例如電腦可執行指令)後在資料處理器件 或其他處理構件上執行。此處及下文中,術語處理構件包 含適用於實行上述功能的任何電路及/或器件。特定言 之’上述術語包含一般或專用可程式化微處理器、數位信 號處理器(DSP)、特定應用積體電路(ASIC)、可程式化邏 輯陣列(PLA)、場可程式化閘極陣列(fpga)、專用電路等 或其組合。 因此,依據另一方面,電腦程式包含程式碼構件,其係 調適成當在資料處理器件上運行該電腦程式時使資料處理 120390.doc -17- 200817964 器件實行上述及下述方法之步驟。 例如可i由電腦網路將程式碼構件從儲存媒體或從另 電知載入記憶體内,例如RAM(隨機存取記憶體)。或 者,可藉由固線式電路而非軟體或軟體組合實施所說明之 特徵。 【實施方式】 • 圖1顯示作為處理器件之範例的一器件之示意性方塊 圖,其包含一或多個特定應用積體電路(ASIC),例如用於 行動終端機或任何其他電子設備内的一或多個asic。 ASIC器件,一般指定為100,包含中央處理邏輯區塊102、 用於向ASIC器件輸入/從ASIC器件輸出資料之介面區塊 186以及用於儲存資料及/或程式碼之資料儲存區塊1 。 經由系統匯流排105將資料儲存區塊1〇3與中央處理邏輯區 鬼102連接在一起。資料儲存區塊1〇3包括程式記憶體區塊 1 〇6 ’其用於儲存程式指令,資料記憶體區塊,其用於 • 谷納暫存器、隨機存取記憶體(RAM)及/或類似組件,以及 寫非揮發性5己憶體區塊1 〇 8,例如電可抹除可程式化 唯頃記憶體(EEPROM)。可將程式記憶體區塊實施為唯讀 忑L體(ROM)以及可抹除可程式化唯讀記憶體(EpR〇M)、 快閃記憶體、EEPR0M等。然而,應瞭解資料儲存區塊可 包括額外及/或替代記憶體區塊或儲存類型。 中央處理邏輯區塊102包含微處理器188或適用於(例如) =由執行儲存於資料儲存區塊1〇3内之程式碼控制行動終 端機或其他電子設備之操作的其他邏輯電路。特定言之, 120390.doc -18 - 200817964 中央處理邏輯區塊102係組態成維持儲存於非揮發性⑽ 體區塊⑽之位置⑽㈣版本計數器值,其用 = 於資料儲存區塊103内之程式碼的版本號碼。另外,= 處理邏輯區塊係組態成在啟動程序期間、在安裝/升級期 間及/或執灯與版本計數器相關連之程式碼前及/或等(例 如)按規定間隔啟動版本計數器值⑽之完整性稽核。另 外’中央處理邏輯區塊1G2係㈣成當將對應軟體之新版
本載入資料儲存區段⑽時啟動儲存之版本計數器值1〇9的 遞增。 為此目㈤巾央處理區塊102包含完整性保護邏輯區塊 ⑻,其包括組態成驗證計數器值109之完整性的邏輯電 路,如以下所詳細說明,以便保護計數器值不被未授權使 用者操控你j如由另一值(特定言之係較低值)修改、取代 等為此目的,非揮發性記憶體區塊i08進一步包含儲存 位置110 ’其用於儲存一或多個完整性保護值,以便由完 保4鋒輯區塊1()1所實施之驗證程序使用。完整性保 蒦值係藉由兀整性保護邏輯區塊ι〇ι產生並在儲存於儲存 位置109之找||值的驗證期間由完整性保護邏輯區塊m 用作參考7〇整性保護值。完整性保護邏輯區塊1Q1可按兩 種模式操作’即第-或所謂的’’程式化模式,,及第二或所謂
的"驗證握孑” , W 、'。中央處理邏輯區塊1〇2藉由適當控制信號 控制操作板式。完整性保護邏輯區塊101按"程式化模式" 7產生至父一個初始參考保護值。將產生之完整性保 農值儲存於儲存位置11G内,作為用於賴後驗證目的之參 120390.doc •19- 200817964 考值。完整性保護邏輯區塊101按”驗證模式”操作時實行 儲存於位置1 09之計數器值的驗證。 如以下所詳細說明,完整性保護邏輯區塊i 〇丨包括存取 控制區塊111,其係組態成當使用者請求按"程式化模式" 操作完整性保護邏輯區塊101時實行分離鑑別程序。或 者可错由元整性保護邏輯區塊101外部之存取控制區塊 實行存取控制111。應瞭解,處理器件之操作,例如按"驗 證模式”,亦可經受使用者鑑別程序,例如藉由初始存取 控制。因此,可在初始存取控制之外或替代初始存取控制 實行用於按"程式化模式”操作完整性保護邏輯區塊101之 存取控制111。第—情形中,可f要使用者最初得到對器 件之授權存取,例如按"驗證模式"操作器件之存取。為將 操作切換至耘式化模式",需要不同於初始存取控制之額 外存取控制。第二情形中,例如器件可按兩種替代操作模 ,式啟動,一種包括按,,驗證模式,,操作器件,另_種包括按 "程。式化模式"操作器件。因此,根據使用者期望按哪種模 式操作器件,使用者實行存取控制程序之對應程序。 將完整性保護邏輯區塊101實施為受保護之硬體區塊, 即實施為確保不受未授權存取之硬體區塊。特定言之,某 些具體實施例中,完整性保護邏輯區塊101係組態成當 按%式化权式"操作ASIC時,即當授權已啟動線C之使 F者按t式化柄式"操作ASIC時,僅可從完整性保護邏輯 品塊1015買出至少一初始完整性保護值。 可按任何適當方式實行制者授權之驗證,例如藉由要 120390.doc 200817964 求使用者輸入與先前儲存之值比較的存取碼,藉由要求使 用者輸入有效金鑰卡或其他硬體安全性器件,藉由根據使 用者之實體屬性實行鑑別機制,例如指紋,或者用於確定 使用者係已被授權者的任何其他適當機制。用於提供授權 證明之適當方法的範例係所謂的Fiat-Shamir識別演算法, 如US 4,748,668所述。應瞭解用於進入π程式化模式"之存 取控制可基於與用於按”驗證模式”操作器件之存取控制相 同或不同的鑑別機制。例如,可藉由相同鑑別機制根據存 取碼控制對兩種模式之存取,但其中需要用於兩種模式之 不同存取碼。 可藉由任何適當的保護技術實施硬體保護,例如用於保 護智慧卡内之硬體的技術,如2003年Wiley出版的W Rakl、W Effing所著’’Smart Card Handbook” 第 3版第 8.2章 "Smart card Security’’ 内所述。 有趣的係應注意將計數器值109及完整性保護值110儲存 於受保護之完整性保護邏輯區塊101外部。特定言之,可 將該計數器值109及該完整性保護值110儲存於未保護之非 揮發性記憶體内,特定言之係可重寫記憶體,例如器件 100之記憶體區塊108。 儘管將ASIC器件100顯示為一單一區塊,將明白可將器 件100實施為複數個不同ASIC。例如,為減小生產成本, 可能需要在不同ASIC上實施EEPROM以及微處理器及完整 性保護邏輯區塊。因此,該等術語ASIC及ASIC器件係意 味著包括單一 ASIC以及分離ASIC之一組合。 120390.doc -21 - 200817964 現在將參考圖2及3更詳細說明完整性保護邏輯區塊1〇1 之具體實施例。 圖2顯示元整性保護邏輯區塊之範例的更詳細方塊 圖。該完整性保護邏輯區塊2〇1包含MAC計算區塊212,其 係組悲成計异用於保護個別計數器值的一或多個密碼訊息 鑑別碼(MAC)值。 一般而言,MAC計算可由以下等式表達M=H(k,句,其 中Η係適當MAC函數,d係欲保護之資料,“係計算之MAC 值’ k係機密金鑰值。某些具體實施例中,機密k可在ASIc 1〇〇上存取,但無法從ASIC 100讀出。適當MAC函數之範 例係1997年2月網路工作組意見請求(RFC)21〇4 "Hmac : 用於訊息鑑別之金鑰雜湊"内定義的HMAC函數。因此,在 指定為209的計數器值ent之當前鑑別情況下,完整性保護 邏輯區塊201從儲存區塊ι〇9接收計數器值2〇9,並將計數 器值209饋送至MAC計算區塊212内。MAC計算區塊212進 一步接收指定為216之機密金鑰k,其係安全地儲存於(例 如)ASIC 100或完整性保護區塊2〇1之安全記憶體内,例如 内部ROM ’以防不需要的讀出,即令完整性保護邏輯區塊 201對機密金鑰k具有讀取存取。MAC計算區塊212計算 MAC值M=H(k,cnt),並將計算之值轉遞至模式選擇器 218,例如一開關。 如上所述’完整性保護區塊2〇1可按兩種模式操作, 即π程式化模式’’及"驗證模式”,如控制輸入215所控制。如 上所述’’’程式化模式"内之操作經受存取控制2丨丨所實施 120390.doc -22- 200817964 的對應存取控制。相應地,存取控制區塊211接收模式選 擇控制信號21 5。若模式選擇信號21 5對應於"程式化模 式’’,存取控制區塊211驗證使用者之確實性,以便確保將 π程式化模式"内完整性保護區塊之操作限於上述授權使用 者。若使用者得到授權,存取控制區塊211向選擇器21 8轉 遞作為控制信號之模式選擇信號215,以便控制計算之 MAC值的資料流。若模式選擇信號2 1 5對應於”驗證模 式”,存取控制區塊211向選擇器218轉遞選擇信號。應瞭 解,某些具體實施例中,"驗證模式”亦可經受存取控制。 當按"程式化模式”操作時,選擇器218經由連接220向輸 出214轉遞計算之MAC值287,其中將MAC值作為參考 MAC值儲存於儲存位置110内。此具體實施例中,當按”程 式化模式”操作時完整性保護區塊201係加以控制,以計算 並在儲存位置110内儲存複數個MAC值 mac_VCi_ref=H(k5VersionCounti) ^ mac_VC2_ref=H(k5VersionCount2) 、…、mac—VCN—ref=H(k,VersionCountN),其係用於預定 數目 N 個版本計數器值 VersionCount!、 VersionCount2、…、VersionCountN。出於本說明之目的, 假定按漸增排序排列版本計數值,即 VersionCount1<VersionCount2<."<VersionCountN。然而應 瞭解,可依據任何適當排序方案循序排列計數器值。可選 擇預先計算及儲存之MAC值的數目N,作為所需儲存空間 與應藉由受保護版本計數器管理之預計版本更新數目間的 折衷。例如,可關於個別版本計數值儲存版本MAC值 120390.doc -23- 200817964 214 ’例如儲存於如圖2b所說明之表格資料結構内。或 者’可與版本計數器值獨立地儲存版本1^人€:值。例如,在 益件包括用於產生計數器值序列之邏輯的具體實施例中, 例如藉由遞增計數器,不必明確地儲存計數器值。 當按’’驗證模式"操作時,選擇器218將計算之mac值饋 送至驗證态區塊217,例如比較器。驗證器區塊2丨7比較計 异之MAC值287與儲存於儲存位置u〇之參考mac值210的 或多個。在關於個別計數器值209儲存參考MAC值210的 具體實施例中,驗證器區塊可比較計算之MAC值287與關 於用以計算MAC值287之計數器值儲存的參考值21()。或 者’驗證器區塊217可連續比較計算之MAC值287與儲存之 參考值210,直至發現匹配或直至已處理全部參考值。驗 迅器區塊217產生指示是否發現對應於已計算mac 287之 匹配參考MAC 210的輸出信號219,即輸出信號219指示計 數态值209是否可信及最新。藉由位於輸出節點213之完整 性保護區塊201將輸出信號213輸出。 每次處理器件啟動時,或者只要運行於處理器件上之應 用程式請求,例如藉由核心軟體平台,即控制完整性保護 區塊以驗證儲存於儲存位置1〇9内之計數器值,如上所 述。某些具體實施例中,每次版本控制程序存取版本計數 器時,驗證版本計數器之完整性。若計算之MAC值287對 應於儲存於記憶體110内之參考]^八(::值21〇,處理器件繼續 正常運作,否則停用處理器件之某些或全部功能性,及/ 或採取另--適當動作。 120390.doc -24 - 200817964 本文所說明之版本計數器可用於許多不同方式之軟體版 本控制。下文中說明兩個範例,其中版本計數器之當前 值’即具有與其相關連之有效完整性保護值的最低計數器 值’識別可在處理器件上執行的最低允許軟體版本。 一範例中,藉由安裝之軟體本身實行版本控制D此—系 , 統中,軟體具有數位簽章,以便確保軟體未被未授權使用 - 者改變。用於驗證已接收/儲存軟體之確實性的適當方法 之範例包括美國專利第M)26,293號内或信賴運算集團 (www.tmstedcompixtinggroup.org·)之 pC客戶工作組說明書 内所說明之方法。或者或此外,可藉由另一適當機制保護 軟體確實性。當啟動處理器件及/或啟動軟體執行時,處 理器件驗證軟體之數位簽章。若未成功驗證數位簽章,則 中止啟動程序及/或軟體執行。軟體進一步包括版本指示 器,其指示軟體之版本號碼。當啟動軟體執行時,軟體比 較其本身之版本指示器與藉由本文所述之處理器件維持的 • H十數器之當刖計數器值所指示的當前允許版本號碼: 若軟體之版本指示器等於或大於版本計數器之當前計數器 值,軟體繼續執行,否則中止執行。若軟體之版本指示器 大於版本計數器之當前計數器值,處理器件將版本計數器 遞增至等於安裝之軟體的版本指示器之更新值。如本文所 4,此遞增包括移除與小於更新值之全部計數器值相關連 的元整性保護值,例如MAC值。 替代範例中’藉由分_人器軟體或啟動軟體實行上述 版本控制。然而,此替代具體實施例中,欲執行之軟體的 120390.doc -25- 200817964 數位簽章或其他完整性保護仍防止欲執行之軟體的未授權 操控(例如版本指示器之改變)。 當控制處理器件100以從當前值向隨後值更新/遞增/步升 版本計數器,處理器件100從記憶體110移除與小於該隨後 計數器值之計數器值相關連的全部參考MAC值。例如,可 藉由在中央處理邏輯區塊102之微處理器188上執行的軟體 更新代理141實行計數器值之更新。某些具體實施例中, 將版本計數器之步升實施於ASIC之安全部分内。或者,可 藉由信賴/驗證之軟體實行步升。 版本計數器值 VersionCount^、VersionCount2、…、 VersionCountN之上述範例中,當版本計數器從 VersionCounti遞增至VersionCount2時,處理器件從記憶體 移除MAC值mac—VCiref。同樣,若將版本計數器遞增至 VersionCountK,處理器件從記憶體移除MAC值 mac_VCi_ref、…、mac—VCk-i—ref。圖 2c說明圖 2b 内所示 之計數器值及MAC值的表格,但係計數器值更新至 VersionCountK後,即從記憶體移除 MAC值 mac_VCLref、…、mac_VCk-i—ref。因此,一般而言,當 前計數器值係可成功驗證其完整性的最小計數器值,即將 有效相關連完整性保護值儲存於器件内的最小計數器值。 因此,藉由完整性保護區塊驗證較低計數器值之隨後嘗試 將失敗,因為對應的參考MAC值不再存在。另外,未授權 按”程式化模式’’操作ASIC的使用者無法重新計算對應於先 前(較低)計數器值之MAC值。 120390.doc -26- 200817964 上述範例進一步說明隨後計數器值可為序列之任何隨後 °十數器值,且不必係下一計數器值,即遞增計數器值時可 5越中間汁數器值。上述範例中,例如,可將計數器值從
Versi〇nc〇Unti遞增至 Versi〇nC〇untdVersi〇nC〇untK,此處 k>2 °例如,當將軟體版本更新至新版本而跨越一或多個 中間版本時此可报有用。 圖3顯示完整性保護邏輯區塊301之另一範例的更詳細方 塊圖。完整性保護邏輯區塊3〇1與圖2之完整性保護區塊相 似並包含MAC計算區塊212,其係組態成計算用於保護 個別计數器值之一或多個密碼訊息鑑別碼(MAC)值,存取 控制區塊211,其控制選擇器218,以及驗證器區塊217。 MAC計异區塊212、存取控制區塊211、選擇器218及驗證 器區塊217已結合圖2加以說明,此處不再說明。 完整性保護區塊301與圖2之完整性保護區塊201不同之 處在於完整性保護區塊301包含另一 MAC計算區塊312。 MAC計算區塊312實行與MAC計算區塊212相同之計算, 並且其接收相同機密金鑰k。然而,MAC計算區塊3 12接收 遞增之計數器值333,而非饋送至MAC計算區塊212内之計 數器值209。為此目的,完整性保護區塊3〇1包括遞增區塊 332’其接收計數器值209並產生遞增之計數器值333,即 計數器值序列内的下一計數器值。或者,MAC計算區塊 212及312可視#^要與遞增區塊332組合為單一區塊。另一 替代具體實施例中,完整性保護區塊301僅包括單一MAC 計算區塊,其係加以控制以循序產生用於計數器值2〇9之 120390.doc -27· 200817964 MAC值及遞增之計數器值333。將藉由mAC計算區塊312 產生之已遞增計數器值333的MAC值33 1饋送至開關330。 藉由驗證器區塊217之輸出219控制開關330,以便若驗證 器區塊217已針對參考MAC值110成功驗證當前計數器值 109之MAC值,則將MAC值331饋送至輸出213。若驗證器 區塊217未成功驗證當前計數器值(或者若驗證器區塊217 未從MAC計异區塊212接收輸入,因為完整性保護區塊3〇1 係按H程式化模式"加以操作),則不在輸出213提供MAC值 331 〇 因此,圖3之範例中,完整性保護區塊3〇1係組態成當按 ’’驗證模式’’操作完整性保護區塊3 〇丨時以及若針對參考 mac成功驗證版本計數器值versi〇nc〇untK,則輸出 Versi〇nC〇imtk+1之MAC值。此具體實施例中,按"程式化 模式"操作完整性保護區塊301,以便僅針對第一有效計數 器值產生並儲存一個初始參考MAC。通常,此係在器件生 產期間完整,例如作為生產步驟之部分,其中由製造商將 軟體載入器件。此情形中,授權製造商按"程式化模式"操 作器件。如此可藉由製造商將按”程式化模式"啟動器件所 需的任何金鑰、密碼等保持機密。 現在參考圖4詳細說明當按,,驗證模式,,操作時圖3之完整 性保護區塊3 〇 1所實行的程序。 圖4顯示計數器機制之具體實施例的流程圖。初始步驟 S401中,程序接收當前計數器cnt及對應參考值 mac一cntref。隨後步驟84〇2中,程序從接收之計數器值⑶言 120390.doc -28- 200817964 及機密金錄k計算MAC值mac_cnt=h(k,cnt)。步驟S403中, 程序比較計算之MAC值mac_cnt與接收之參考MAC值 mac_cnt_ref。若其相等,程序繼續至步驟S405,否則程序 繼續至步驟S404。步驟S404中,程序輸出錯誤狀況’,否", 其指示當前計數器之驗證不成功,程序終止。視需要,程 序可進一步輸出該程序已接收之錯誤參考值niac_cnt_ref。 步驟$405中,即若已計算及參考MAC值相符,程序計算遞 增之計數器cnt+Ι的MAC值h(k,cnt+l),並在步驟S406内輸 出作為參考]\4人〇111&(:—(〇1^+1)—代£=11(1<:,〇11^+1)之計算值以及 成功驗證當前計數器值的指示”是”。 本具體實施例之優點係其減小欲儲存於當前及隨後參考 值之MAC參考值的列表,從而節省器件内之記憶體空間。 當遞增版本計數器時,處理器件用在先前驗證步驟期間計 算的隨後參考值mac_(cnt+l)_ref取代儲存之當前參考值 mac—cnt_ref。因此在隨後驗證步驟期間產生下一參考MAC 值mac_(cnt+2)_ref。某些具體實施例中,僅保存當前參考 值。例如,軟體更新可包含當前計數器之驗證,其依次導 致如上所述計算並輸出隨後參考值。因此記憶體内之隨後 值可取代當前參考值。 圖5結合圖3及4所說明之具體實施例顯示用於維持版本 計數器值及完整性保護值之資料結構的範例。圖5a顯示表 格結構,其中關於個別參考MAC值mac_VCk_ref及 mac—VCk+1_ref儲存當前計數器值,此範例中係 VersionCoimtK,以及下一較高計數器值,此範例中係 120390.doc -29- 200817964
VerSi〇nCounfk+1。圖 5!>顯示版本更新至 Versi〇nC〇untk+i 後 的表格結構。相應地,表格結構中,新當前值 VaSionCoimtK+2及mac一VCk+2—ref分別覆寫過期計數器值及 多考MAC另外’已將新隨後值VersionCountk+2及 maC-VCk+2一ref寫入資料結構。因此,同樣,當前計數器值 係可成功驗證其完整性的最小計數器值,即將有效相關連 元整性保護值儲存於器件内的最小計數器值。藉由完整性 保護區塊驗證較低計數器值之隨後嘗試將失敗,因為對應 的參考MAC值不再存在。另外,未授權按”程式化模式"操 作ASIC之使用者無法重新計算對應於先前(較低)計數器值 之mac值,因為當按,,驗證模式"操作時Asic僅輸出隨後 MAC值,而無當前或先前]^八(:值。 儘管已詳細說明並顯示某些具體實施例,本發明並不限 於此,而可在以下申請專利範圍所定義之標的範鳴内按其 他方式加以具體化。 特定言之’已主要參考行動終端機作為資料處理器件之 範例說明具體實施例。然而應瞭解, 品構件及器件料應詩其他資料處理器^之方法、產 另外,主要結合單-軟體版本計數器說明具體實施例。 然而應瞭解/可將本文所述之方法、器件及產品構件應 用於用於計算其他更新事件、肤能 曾等的其他_之版本tt 數器,包括除軟體版本外之記憶體 版鬥谷的版本。此類記搞 體内容之範例包括但不限於儲存 " 金松 _ 仔之貝枓,例如儲存於資率 庫等内的資料。同樣,處理器件 、 了精由本文所述機制維裝 120390.doc -30- 200817964 多個計數器,例如用於軟體實體 等類似物之不同計數器。H組、資料項目及/或 可藉由包含數個截然不同的元件 式化之姆考 硬體以及猎由適當程 式化之破處理器而實施本文 枉 件。在列與叙, 扎之方法、產品構件及器 m rs ^ 、甲 了精由一個及相同 硬體項目’例如適當程式化之微 祙考:ί田怒松 处垤為 或多個數位信 儿处里等,具體化數個該等 ^ ^ ^ 干在互不相同的附屬請
求項中所引用或在不同且體實 一 、 u /、骽κ施例中說明的特定方法之唯 一事實並不指示不能有利地使用該等方法之組合。 應強調’當在此說明書中使用該術語"包含"時,其係用 以指定所述特徵、整數、步驟或組件之存在,但並不排除 -或多個其他特徵、整數、步驟、組件或其群組之存在或 添加。 【圖式簡單說明】 參考圖式說明上述具體實施例’可明白並闡明上述及其 他方面,其中: 圖1顯示處理器件之具體實施例的示意性方塊圖。 α圖2包含圖2a、2b及2C,其顯示用於實施計數器之處理 單元的範例、用於維持版本計數器值及完整性保護值之資 料結構的範例之示意性方塊圖。 圖3顯示用於實施計數器之處理單元的另一範例之示意 性方塊圖。 圖4顯示計數器機制之具體實施例的流程圖。 圖5包含圖5a及5b,顯示用於維持版本計數器值及完整 120390.doc -31- 200817964 性保護值之資料結構的範例 【主要元件符號說明】 100 ASIC器件 101 完整性保護邏輯區塊 102 中央處理邏輯區塊 103 貧料儲存區塊 105 系統匯流排 106 程式記憶體區塊 107 資料記憶體區塊 108 可重寫非揮發性記憶體區塊 109 位置/版本計數器值/儲存區塊 110 儲存位置/完整性保護值/記憶體 111 存取控制區塊 141 軟體更新代理 186 介面區塊 188 微處理器 201 完整性保護邏輯區塊 209 計數器值 210 參考MAC值 211 存取控制區塊 212 MAC計算區塊 213 輸出節點/輸出信號 214 輸出/MAC值 215 模式選擇控制信號 120390.doc -32- 200817964 216 217 218 219 220 287 301 312
331 332 333 機密金錄 驗證器區塊 模式選擇器 輸出信號 連接 MAC值 完整性保護邏輯區塊 MAC計算區塊 開關 MAC值 遞增區塊 計數器值 120390.doc -33-

Claims (1)

  1. 200817964 十、申睛專利範圍: i. 一種藉由處理器件 考於m 维持版本#數器之方法,該版本計數 裔才日不儲存於該處理考杜免 ^ 处里斋件内之一記憶體内容的一版本, 該方法包含按一第—及第- ^ ,4, 一松式之一選擇性地操作該處 理ϋ件5其中拉分键 μ弟一杈式操作該處理器件之存取限於 、、工棱榷之使用者,並 以控制· 夏且係與該第二模式之存取分離地加
    -中按該第-核式操作該處理器件包括: :,'、初始70整性保護值,以便在該處理器件於 =第二模式内之操作期間以密碼方式保護該版本計數 為之初始计數器值的完整性;其中該初始計數器值 係選自一計數器值序列;以及 將該初始完整性職值作為—#前完整性保護值儲存 於一儲存媒體中; 其中按該第—模式操作該處理器件包括將—當前計數器 值遞增至-隨後計數器值,該隨後計數器值在該計數器 值序列内位於該當前計數器值之後;其中遞增包括從該 儲存媒體移除用於以密碼方式保護該 整性之該當前完整性保護值。 2.如0月求項1之#法,纟中按該第一模式操作該處理器件 包括: m 產生完整性保護值之—序列,該完整性保護值係以密 碼方式保護一計數器值序列之個別值的完整性;其中 該計數器值之序列係從該初始計數器值開始循序排 120390.doc 200817964 列;以及 -將該完整性保護值序列儲存於一儲存媒體内。 3.如請求項2之方法,其進一步包含提供一完整性保護值 °十异單元’其係調適成僅在按該等第一及第二模式之第 一挺式操作該器件時,輸出該完整性保護值序列之一產 生之完整性保護值。 4·如請求項1之方法,其中將一當前計數器值遞增至一隨 後計數器值,包括產生對應於該隨後計數器值之一隨後 π整性保護值;以及用該隨後完整性保護值取代該當前 完整性保護值。 5 ·如明求項4之方法,其中產生該隨後完整性保護值包含 根據該當前完整性保護值驗證該當前計數器值;以及以 & ‘如α十數器值之一成功驗證為條件,產生該隨後完整 性保護值。 6·如請求項1至5中任一項之方法,其中各產生之完整性保 護值對於對應計數器值及該器件係唯一的。 7·如請求項1至5中任一項之方法,其中各產生之完整性保 護值係藉由一訊息鑑別碼函數從該版本計數器之一值及 一機密金鑰值產生的一訊息鑑別碼值。 8.如請求項7之方法,其中該機密金鑰值係器件特有。 9_如請求項1至5中任一項之方法,其中該等計數器值之各 值係器件唯一的。 10.如請求項1至5中任一項之方法,其中藉由一完整性保護 模組實施利用對應完整性保護值的該等計數器值之該產 120390.doc -2- 200817964 生及驗證’該完整耗制組係確保;^被修改。 11·如請求項10之方法’其中該完整性保護模組係一硬體模 12·如请求項1至5中任一項之方法 程式化微處理器。 13·如5青求項1至5中任一項之方法 動終端機。 14·如請求項1至5中任一項之方法 該處理器件内。 15. 如請求項1至5中任一項之方法 版本計數器。 16. 如請求項1至5中任一項之方法 _接收該記憶體内容之一更新版本,該更新版本包括— 版本指示器; -驗證該已接收記憶體内容之確實性; -根據該版本指示器及該版本計數器之該當前值實行該 已接收更新記憶體内容之一版本控制; -以該版本控制之一結果為條件,接受該已接收更新記 憶體内容。 ° 17·如請求項16之方法,其進_步包含將該版本計數器遞増 至對應於該已接收更新記憶體内容之該版本指示器的I 隨後計數器值。 ° 18•如請求項⑴中任一項之方法,其中接受包含用該接受 之已接收更新§己憶體内谷更新儲存於該處理器件内之弋 其中該處理器件係一可 其中該處理器件係一行 其中該儲存媒體包括在 其中該計數器係一軟體 其進一步包含: 120390.doc 200817964 憶體内容。 式碼構件之電腦程式產品,該程式碼構件係 ^成备在-資料處理器件上執行該程式碼構件時,實 行如請求項1至5中任一項之方法。 2〇. 一種處理器件,其係組態成用以維持—指示儲存於該處 :器件内之-記憶體内容的一版本之—版本計數器,該 處理器件可按一第一及第二模式之一選擇性地加以操
    作’其巾按該第—模式操作該處理H件之存取限於經授 權之使用者’並且係與該第二模式之存取分離地加: 制; " 其中該處理器件係組態成當按該第一模式操作時,實行 以下步驟: -產生該版本計數器之至少一初始計數器值,其中該初 始計數器係選自一計數器值序列; Λ -產生一初始完整性保護值,以便在該處理器件於該第 二模式内之操作期間以密碼方式保護該產生之初始計 數器值之完整性;以及 -將該初始完整性保護值作為一當前完整性保護值儲存 於一儲存媒體中; 其中該處理器件係進一步組態成用以在於該第二模式内 操作時,將一當前計數器值遞增至一隨後計數器值,該 隨後計數器值在該計數器值序列内位於該當前計數器值 之後;其中遞增包括從該儲存媒體移除用於以密碼方式 保護該當前計數器值之完整性之該當前完整性保護值。 120390.doc -4- 200817964 21·如請求項20之處理器件,其係組態成用以在按該第一模 式操作時實行以下步驟: -產生一計數器值序列;其中該計數器值序列係從該勒 始計數器值開始循序排列; -產生完整性保護值之一對應序列,該完整性保護值係 以密碼方式保護計數器值之該產生之序列的個別值之 完整性;以及 -將該完整性保護值序列儲存於一儲存媒體内。 22.如請求項21之處理器件,其包含一完整性保護值計算單 元’其係調適成僅在按該等第一及第二模式之第一模式 操作該器件時,輸出該完整性保護值序列之一產生之完 整性保護值。 23·如請求項20之處理器件,其係進一步調適成藉由產生對 應於该隨後什數器值之一隨後完整性保護值以及藉由用 該隨後完整性保護值取代該當前完整性保護值,將該當 前計數器值遞增至一隨後計數器值。 24·如請求項23之處理器件,其係進一步調適成藉由該當前 完整性保護值驗證該當前計數器值;以及以該當前計數 器值之一成功驗證為條件,產生該隨後完整性保護值。 25·如請求項20至24中任一項之處理器件,其係調適成產生 對於該對應計數器值及該器件係唯一的各完整性保護 值。 26·如請求項20至24中任一項之處理器件,其係調適成產生 各完整性保護值,作為藉由一訊息鑑別碼函數從該版本 120390.doc 200817964 計數器之-值及-機密金錄值產生的—訊息鏗別碼值。 27.如請求項26之處理器件,其中該機密金鑰值係器件特 有。 。 、 28·如請求項20至24中任一項之處理器件,其中該等計數哭 值之各值係器件唯一的。 °° • 29·如請求項20至24中任一項之處理器件,其包含一完整性 • 保護模組,其係調適成藉由該等對應完整性保護值實施 該等什數器值之該產生及驗證;並且其中確保該完整性 保濩模組不被修改。 30·如請求項29之處理器件,其中該完整性保護模組係一硬 體模組。 31.如請求項20至24中任一項之處理器件,其中該處理器件 係一可程式化微處理器。 32·如請求項20至24中任一項之處理器件,其中該處理器件 係一行動終端機。 φ 33·如請求項20至24中任一項之處理器件,其中該處理器件 包括該儲存媒體。 34·如請求項20至24中任一項之處理器件,其中該計數器係 " 一軟體版本計數器。 120390.doc
TW096114272A 2006-04-24 2007-04-23 Anti-roll-back mechanism for counter TW200817964A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP06388031A EP1850256B1 (en) 2006-04-24 2006-04-24 Authorisation of the installation of a software version

Publications (1)

Publication Number Publication Date
TW200817964A true TW200817964A (en) 2008-04-16

Family

ID=37398783

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096114272A TW200817964A (en) 2006-04-24 2007-04-23 Anti-roll-back mechanism for counter

Country Status (10)

Country Link
US (1) US8880898B2 (zh)
EP (1) EP1850256B1 (zh)
JP (1) JP5038397B2 (zh)
KR (1) KR20090005390A (zh)
CN (1) CN101427259B (zh)
AT (1) ATE470909T1 (zh)
CA (1) CA2646003A1 (zh)
DE (1) DE602006014801D1 (zh)
TW (1) TW200817964A (zh)
WO (1) WO2007121903A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008018055A2 (en) * 2006-08-09 2008-02-14 Neocleus Ltd Extranet security
EP2130322B1 (en) * 2007-03-21 2014-06-25 Intel Corporation Protection against impersonation attacks
WO2008114256A2 (en) * 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
US8474037B2 (en) 2008-01-07 2013-06-25 Intel Corporation Stateless attestation system
US20090307705A1 (en) * 2008-06-05 2009-12-10 Neocleus Israel Ltd Secure multi-purpose computing client
US8266684B2 (en) 2008-09-30 2012-09-11 General Instrument Corporation Tokenized resource access
US8364598B2 (en) * 2009-10-13 2013-01-29 Microsoft Corporation Use of software update policies
US8621337B1 (en) * 2010-09-30 2013-12-31 Juniper Networks, Inc. Detecting memory corruption
US20120204254A1 (en) * 2011-02-04 2012-08-09 Motorola Mobility, Inc. Method and apparatus for managing security state transitions
JP5759845B2 (ja) * 2011-09-21 2015-08-05 株式会社メガチップス 情報処理システム、情報処理装置、外部記憶媒体、プログラム、記憶媒体、及び、ファイル管理方法
GB2499985A (en) * 2012-02-29 2013-09-11 Nds Ltd Current state of OTP memory used with new received information to define new OTP state for computation of new digital signature in preventing playback attacks
US9910659B2 (en) * 2012-11-07 2018-03-06 Qualcomm Incorporated Methods for providing anti-rollback protection of a firmware version in a device which has no internal non-volatile memory
EP3910876A1 (en) * 2013-03-15 2021-11-17 Assa Abloy Ab Method, system, and device for generating, storing, using, and validating nfc tags and data
US10254737B2 (en) * 2013-12-12 2019-04-09 Panasonic Intellectual Property Management Co., Ltd. Motor driving apparatus
US9460312B2 (en) * 2014-03-11 2016-10-04 Qualcomm Incorporated Data integrity protection from rollback attacks for use with systems employing message authentication code tags
US9621549B2 (en) 2014-07-25 2017-04-11 Qualcomm Incorporated Integrated circuit for determining whether data stored in external nonvolative memory is valid
US9928385B2 (en) * 2014-08-29 2018-03-27 The Boeing Company Periodic memory refresh in a secure computing system
US9325506B2 (en) 2014-09-23 2016-04-26 Red Hat, Inc. Cryptographically enforcing strict separation of environments
CN107111730B (zh) * 2014-11-07 2021-01-08 新思公司 用于数据存储的完整性保护
US10042780B2 (en) * 2014-11-07 2018-08-07 Synopsys, Inc. Integrity protection for data storage
JP6595822B2 (ja) * 2015-07-07 2019-10-23 キヤノン株式会社 情報処理装置及びその制御方法
US10019309B2 (en) * 2015-12-28 2018-07-10 International Business Machines Corporation Analytics-based dynamic adaptation of client-server mobile applications
US10126960B2 (en) 2016-05-10 2018-11-13 Qualcomm Incorporated Fuse-based anti-replay mechanism
US10754988B2 (en) * 2016-08-30 2020-08-25 Winbond Electronics Corporation Anti-rollback version upgrade in secured memory chip
WO2019148470A1 (zh) * 2018-02-02 2019-08-08 深圳配天智能技术研究院有限公司 一种可编程逻辑芯片的保护电路及控制系统
EP3614622A1 (en) 2018-08-24 2020-02-26 Nagravision SA Sending and receiving messages
WO2020112144A1 (en) * 2018-11-30 2020-06-04 Hewlett-Packard Development Company, L.P. Software patch difference devices
US11449332B2 (en) 2018-11-30 2022-09-20 Hewlett-Packard Development Company, L.P. Polling computing devices
US11128460B2 (en) * 2018-12-04 2021-09-21 EMC IP Holding Company LLC Client-side encryption supporting deduplication across single or multiple tenants in a storage system
WO2020118639A1 (zh) * 2018-12-13 2020-06-18 深圳市大疆软件科技有限公司 无人飞行器及其固件升级方法
US11288361B1 (en) * 2019-03-29 2022-03-29 NortonLifeLock Inc. Systems and methods for restoring applications
US10474809B1 (en) * 2019-07-12 2019-11-12 Capital One Services, Llc Computer-based systems and computing devices configured to utilize one or more authentication servers for securing device commands transmissions and methods of use thereof
JP7362583B2 (ja) 2020-09-23 2023-10-17 株式会社東芝 情報処理装置
KR20220093664A (ko) 2020-12-28 2022-07-05 삼성전자주식회사 크립토 장치, 그것을 갖는 집적 회로 및 컴퓨팅 장치, 및 그것의 쓰기 방법
US20220382868A1 (en) * 2021-06-01 2022-12-01 Mellanox Technologies Ltd. Unidirectional counter
CN113255263B (zh) * 2021-06-07 2021-10-01 上海国微思尔芯技术股份有限公司 颗粒带分割方法、装置、计算机设备和存储介质
CN113486399B (zh) * 2021-07-14 2023-03-24 上海瓶钵信息科技有限公司 基于risc-v架构的数据存储方法及系统
CN117668872B (zh) * 2023-12-04 2024-09-17 北京海泰方圆科技股份有限公司 一种数据保护方法及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5643086A (en) * 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
GB2353120B (en) * 1996-06-28 2001-03-21 Intel Corp Method and apparatus for protecting flash memory
EP1141808A1 (en) * 1999-10-29 2001-10-10 Koninklijke Philips Electronics N.V. Assuring data integrity via a secure counter
JP4193321B2 (ja) * 2000-03-29 2008-12-10 オムロン株式会社 画像処理システム及びコンピュータ並びに画像処理装置及び処理方法
US9213836B2 (en) * 2000-05-28 2015-12-15 Barhon Mayer, Batya System and method for comprehensive general electric protection for computers against malicious programs that may steal information and/or cause damages
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7159240B2 (en) * 2001-11-16 2007-01-02 Microsoft Corporation Operating system upgrades in a trusted operating system environment
JP2003202931A (ja) * 2002-01-09 2003-07-18 Toshiba Corp ソフトウェアダウンロードシステム、サーバ装置、端末装置、サーバ制御プログラム、端末制御プログラム、サーバ制御方法、端末制御方法
US7421579B2 (en) * 2002-06-28 2008-09-02 Microsoft Corporation Multiplexing a secure counter to implement second level secure counters
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
KR101015456B1 (ko) * 2002-11-18 2011-02-22 에이알엠 리미티드 디바이스에 의한 메모리로의 억세스 제어
US20050021968A1 (en) * 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US7100205B2 (en) * 2003-10-22 2006-08-29 The United States Of America As Represented By The Secretary Of The Navy Secure attention instruction central processing unit and system architecture
US7940932B2 (en) * 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US7877313B2 (en) * 2004-04-16 2011-01-25 Sap Ag Method and system for a failure recovery framework for interfacing with network-based auctions

Also Published As

Publication number Publication date
US8880898B2 (en) 2014-11-04
DE602006014801D1 (de) 2010-07-22
EP1850256B1 (en) 2010-06-09
CA2646003A1 (en) 2007-11-01
KR20090005390A (ko) 2009-01-13
CN101427259A (zh) 2009-05-06
JP5038397B2 (ja) 2012-10-03
US20090100272A1 (en) 2009-04-16
ATE470909T1 (de) 2010-06-15
WO2007121903A1 (en) 2007-11-01
CN101427259B (zh) 2011-11-23
EP1850256A1 (en) 2007-10-31
JP2009534765A (ja) 2009-09-24

Similar Documents

Publication Publication Date Title
TW200817964A (en) Anti-roll-back mechanism for counter
TWI667586B (zh) 用以核對uefi認證變量變化之系統及方法
EP2854066B1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
US6993648B2 (en) Proving BIOS trust in a TCPA compliant system
CN103329095B (zh) 用编码的信息验证管理程序
JP5703391B2 (ja) 耐タンパー性ブート処理のためのシステム及び方法
JP4929354B2 (ja) ユーザ認証に基づいて完全性測定値を修正するための方法及びシステム
US20050132357A1 (en) Ensuring that a software update may be installed or run only on a specific device or class of devices
EP2727040B1 (en) A secure hosted execution architecture
TW200903326A (en) Trusted component update system and method
CN101432752B (zh) 可信平台现场升级系统和方法
TW201535145A (zh) 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
TW201635186A (zh) 使用憑證導出之加密密鑰改良韌體服務安全性的計算裝置之系統及方法
KR20170118972A (ko) 보안 소프트웨어 인증 및 검증
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
EP2005356A1 (en) Authentication of a request to alter at least one of a bios and a setting associated with the bios
JP7113115B2 (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
US20110145919A1 (en) Method and apparatus for ensuring consistent system configuration in secure applications
CN118302990A (zh) 用于基于设备所有者来生成密钥的sram物理不可克隆功能(puf)存储器
US20080022412A1 (en) System and method for TPM key security based on use count
CN115062291A (zh) 用于管理容器的方法、系统和计算机可读介质
CN116089967B (zh) 数据防回滚方法和电子设备
JP2023026017A (ja) 起動検証プログラム、情報処理装置および起動検証方法
JP2012039390A (ja) フレキシブル認証ルールの修正