色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

系統安全基石IP-OTPC :OTPC的概述與工作原理

ruikundianzi ? 來源:IP與SoC設計 ? 2023-12-29 16:47 ? 次閱讀

系統安全基石IP-OTPC :OTPC的概述與工作原理

前言

OTP是為設備提供一次性編程功能的模塊。

這種編程的結果是非易失性的,并且與閃存不同,無法逆轉。OTP功能通過開源OTP控制器和專有OTP IP構建。

OTP控制器提供:

?一個開源抽象接口,軟件可以使用它與下面的專有OTP塊進行交互。

?一種開源抽象接口,硬件組件(例如生命周期控制器和密鑰管理器)可以使用該接口與下面的專有OTP塊進行交互。

?高級邏輯安全保護,如完整性檢查和對敏感內容的加擾。

? OTP內容可讀和可編程時的軟件隔離。

專有OTP IP提供:

?可靠的非易失性存儲。

?技術特定的冗余或糾錯機制。

?物理防御特征,如SCA和FI抵抗。

?視覺和電氣探測電阻

OTP控制器和IP一起提供了在設備的整個生命周期(LC)中使用的安全一次性編程功能。

特征

?底層OTP IP的多個邏輯分區

?每個分區都可鎖定并檢查完整性

?完整性摘要存儲在每個邏輯庫旁邊

?OTP值的定期/持續檢查

?定期檢查陰影內容與摘要

?定期檢查OTP存儲的內容和陰影內容

?持續檢查即時錯誤

?獨立的生命周期分區和與生命周期控制器的接口

?支持生命周期功能,但不能被完整性鎖定

?使用全局網表常量對秘密OTP分區進行輕量級加擾

?用于RAM加擾機制的輕量級短暫密鑰派生功能

?FLASH加擾機制的輕量級密鑰推導功能

OTP控制器概述

OTP的功能分為開源和閉源兩部分,兩者之間有明確的邊界,如下面簡化的高級框圖所示。

4352bde0-a626-11ee-8b88-92fbcf53809c.png

在這里插入圖片描述

開源控制器的任務是為OTP用戶提供一個通用的、非技術特定的接口,該接口具有通用寄存器接口和明確定義的硬件I/O接口。

開源控制器實現了OTP存儲的邏輯隔離和分區,使用戶可以將OTP的不同功能劃分為具有不同屬性的“分區”。

最后,

?開源控制器通過為每個分區提供完整性摘要,

?并在需要時對分區進行加擾,

?為特定分區提供了高級別的安全性。

另一方面,專有IP將通用訪問接口轉換為技術特定的OTP接口,用于功能訪問和調試訪問(例如對宏內部控制結構的寄存器訪問)。

這種分離意味著每個專有的OTP IP都必須實現從標準化OpenTitan接口到底層模塊的轉換層。

這也意味著,無論OTP存儲或文字大小在下面如何變化,開源控制器都必須提供一致和連貫的軟件和硬件接口。

這個標準化接口將在下文中進一步定義,包裝器利用OpenTitan其他部分中使用的相同技術原始機制來包裝和抽象可能是閉源的技術特定宏(如存儲器和時鐘單元)。

工作原理

從概念上講,OTP功能處于高級,分為“前端”和“后端”。

?“前端”包含邏輯分區,這些分區為系統的硬件和軟件使用者接口提供信息

?“后端”表示硬件和軟件組件用來存儲即將到來的值的編程接口。

下圖說明了這種行為模型。

4386dac6-a626-11ee-8b88-92fbcf53809c.png

在這里插入圖片描述

請注意,前端同時包含緩沖分區和非緩沖分區。

每個電源循環感應一次緩沖分區,并將其內容存儲在寄存器中,而按需讀取未緩沖分區。

前者通常是包含硬件配置位、關鍵材料和生命周期狀態等數據的分區,這些數據需要始終可用于硬件,

而后者是很少訪問的大型分區,例如軟件配置。

通過編程接口(與讀取驗證相結合)編程到緩沖分區中的值只是“暫存”的,直到下一次電源循環才生效。

下面的部分描述了OTP控制器的各個部件的操作以及它如何支持所描述的功能。

Logical Partitions

OTP在邏輯上被劃分為表示不同功能的分區。這意味著隔離是虛擬的,由OTP控制器而不是底層OTP IP來維護。

在每個邏輯分區中,都有特定的可執行屬性:

?通過秘密分區進行保密

?這控制特定分區是否包含機密數據。

?如果分區是秘密的,那么一旦鎖定,軟件就無法讀取分區,并在存儲中進行加擾。

?讀取鎖定能力

?這控制特定分區是否禁用后期軟件的軟件可讀性。

?一些分區可以靜態鎖定(通過在OTP中計算和存儲相關摘要),其他分區可以在運行時通過CSR讀取鎖定。

?寫入鎖定能力

?這控制分區是否被鎖定并阻止將來更新。

?鎖定分區與摘要一起存儲,以便稍后用于完整性驗證。

?完整性驗證

?一旦分區通過計算并向其寫入非零摘要而被寫鎖定,它就可以進行周期性驗證(時間范圍可由軟件配置)。這種驗證有兩種形式,分區完整性檢查和存儲一致性檢查。

由于OTP本質上類似于存儲器(每個地址位置只輸出一定數量的位),一些邏輯分區被緩沖在寄存器中,用于硬件的即時和并行訪問。

這是一個關鍵點,因為在通電之后,這些特定的OTP內容被存儲在觸發器中并來源于系統。

也就是說,緩沖分區不是直接來自OTP宏本身。因此,易失性存儲器(OTP控制器)和非易失性存儲(OTP IP)的安全性變得重要。

分區列表和描述

OpenTitan的OTP控制器包含如下所示的七個邏輯分區。

439dd302-a626-11ee-8b88-92fbcf53809c.png

在這里插入圖片描述

一般來說,設備的生產生命周期分為5個階段“制造”->“校準和測試”->“供應”->“任務”->“RMA”。OTP值通常在“校準和測試”、“供應”和“RMA”階段進行編程,

校準和測試-Calibration and Test

在此階段,對設備進行功能測試和校準,以確保一致性。

校準可以集中在許多事情上,但通常以調整時鐘、電壓和定時源為中心,以消除工藝變化。

這些校準值被編程到CREATOR_SW_CFG分區中,因為它們是非機密值,旨在由軟件讀出并編程到相應的外圍設備中。

在這個階段的早期,各種tokens 也被編程到秘密分區中,并由芯片廠商創造者讀出使用。

預配置-Provisioning

在此階段,為設備提供最終固件和“唯一”種子或標識。

秘密分區填充有根秘密和密鑰,這些密鑰對建立設備標識至關重要。

作為注入最終固件的一部分,還對庫存單元特定的硬件和軟件配置進行了編程。

生命周期劃分-Life Cycle Partition

生命周期分區在所有階段都是活動的,因此它是唯一不能鎖定的分區。

設備完成供應并投入生產后,必須保留在發生意外故障時轉換回RMA的能力。

為了支持這種轉換,生命周期狀態和計數器必須始終是可更新的。

生命周期控制器是芯片互連總線上的外圍設備模塊,因此遵循可組裝性規范。

生命周期實施是指包含所有生命周期功能的設計。這涉及以下模塊的功能,這些模塊未按特定順序列出:

?The life cycle controller itself - A new peripheral

?The key manager

?The flash controller

?The OTP controller

?The reset / power controller

?The debug infrastructure, specifically TAP isolation

?Any other peripheral where life cycle information may alter its behavior

生命周期控制器提供以下功能:

?專用OTP接口,用于讀取和更新冗余編碼的設備生命周期狀態。

? CSR和JTAG接口,用于啟動生命周期轉換。

?冗余生命周期狀態的專用并行解碼和冗余編碼的生命周期資格信號的廣播(例如,啟用DFT功能或主處理器)。

?一種令牌哈希和匹配機制,用于保護重要的生命周期轉換。

?警報子系統的升級接收器,它允許作為升級序列的一部分使生命周期狀態無效(另請參閱警報處理程序子系統)。

Locking a Partition

當軟件確定不再對某個分區進行任何更新時,對該分區的寫入訪問可以被永久鎖定。

為了鎖定,完整性常數與該分區的其他數據一起計算和編程。

完整性常數的大小取決于分區大小顆粒,是32位還是64位(另請參閱直接訪問內存映射)。

一旦“完整性摘要”為非零,就不允許進行進一步的更新。如果分區是秘密的,軟件將無法再讀取其內容(請參閱秘密分區描述)。

但是,請注意,在所有分區中,摘要本身總是可讀的。這使軟件有機會確認鎖定操作是否正確進行,如果沒有,則立即報廢零件。

完整性摘要的計算取決于分區是否需要定期的后臺驗證。

供應商測試分區

供應商測試分區旨在用于制造流程中的OTP編程冒煙檢查。

芯片供應商可以在prim_otp包裝器的專有版本中實現這些檢查。

此分區的行為與任何其他SW分區類似,但ECC不可糾正的錯誤不會像在所有其他分區中那樣導致致命錯誤/警報。

這是由于OTP編程煙霧檢查的性質,這可能使某些OTP字處于與OTP讀出時使用的ECC多項式不一致的狀態。

Software Configuration Partitions

軟件配置分區用作標志、配置和校準數據的非易失性存儲器。

因此,作為代碼執行的一部分,這個分區的內容通常被消耗一次,或者被移動到設計中的另一個存儲隔間。

例如,時鐘校準值和LDO校準值在啟動時編程到模擬傳感器頂部(AST)。

因此,沒有必要在OTP源處定期檢查。相反,軟件可以簡單地作為安全引導的一部分進行檢查,并在將這些值編程到外圍設備中時采取其他措施。

因此,對于該分區,軟件有責任計算完整性摘要并將其編程到OTP中。在主內存中對該分區(部分)進行陰影處理也是合理的,并且OTP內容不會對硬件產生直接影響。

Hardware Configuration and Secret Partitions

硬件和秘密分區直接影響下游硬件。

內容必須經過定期的完整性檢查,因此當軟件提供鎖定意圖時,存儲的摘要由硬件計算(而不是必須由軟件計算摘要的軟件分區)。

生命周期劃分

生命周期分區無法鎖定,因此不會包含存儲的摘要。然而,請注意,只有生命周期控制器可以訪問該分區,即,直接訪問接口(DAI)不能從生命周期分區讀取或寫入。

Secret vs Non-Secret Partitions

非機密OTP分區保存可以公開的數據;或對安全性沒有影響的數據。例如,鎖定位的當前值或時鐘校準值。這些值以明文形式存儲在OTP中。

機密分區包含對安全至關重要的數據,例如FLASH加擾密鑰、設備根機密和解鎖令牌。這些值被加擾地存儲在OTP中,并且在讀取時被解擾。目前使用的密碼是PRESENT,因為它很適合迭代分解,而且它是一種已被證明的輕量級分組密碼(另請參閱PRESENT加擾原語。然而,分組密碼的使用意味著秘密分區只能寫入64位塊。

此外,特定秘密分區的內容一旦被鎖定就不能被軟件讀取(除了必須始終可讀的摘要之外);而非秘密分區總是可讀的,除非軟件明確地去除讀取可訪問性。

不幸的是,機密分區必須使用全局網表密鑰進行加擾操作,因為沒有其他非易失性存儲器來存儲唯一密鑰。

Partition Checks

Integrity

一旦鎖定了適當的分區,硬件完整性檢查器就采用兩種完整性檢查來驗證易失性緩沖寄存器的內容:

?所有緩沖分區都有額外的ECC保護(每個64位塊有8位ECC),同時進行監控。

?分區的摘要以半隨機間隔重新計算,并與存儲在分區旁邊的摘要進行比較。

此檢查的目的不是在存儲觸發器和OTP之間進行檢查,而是檢查緩沖寄存器內容是否與計算的摘要保持一致。此驗證主要關注存儲觸發器是否經歷過故障攻擊。此檢查僅適用于HW_CFG和SECRET*分區。

如果遇到故障,OTP控制器將發出致命檢查錯誤警報-fatal_check_error,并將其所有硬件輸出重置為默認值。

Storage Consistency

這種驗證確保存儲在緩沖寄存器中的值與OTP中的值保持一致。

該過程以半隨機間隔重新讀取OTP,并確認讀取的值與存儲的值相同。

注意,如果存在并行的完整性檢查,則某些分區沒有必要檢查所有讀取內容的一致性。

如果存在完整性摘要,則只需要讀取該摘要;否則,必須讀取所有值。

Secret Partition Integrity Checks-秘密分區完整性檢查

由于秘密分區是加擾存儲的,這也意味著完整性摘要是在加擾形式上計算的。

為了平衡所需的緩沖寄存器數量,緩沖寄存器中只保存秘密分區的解密形式。

硬件通過在通過摘要之前對數據進行重新加擾來計算摘要。

Power-up and Sense

重置釋放時,OTP控制器分區存儲必須輸出指定的安全默認值(它不像空白OTP那樣總是0)。此默認輸出必須保持,直到OTP控制器完成所有檢查。

OTP控制器讀取OTP IP。如果讀取通過OTP IP內部檢查(例如ECC或冗余),則更新分區存儲;然而,輸出仍然經由輸出mux保持在默認狀態。

在所有讀取完成后,OTP控制器對HW_CFG和SECRET*分區執行完整性檢查。

如果分區在這一點上沒有通過完整性檢查,它將在狀態CSR中發出初始化錯誤的信號,并中止進一步的初始化。

在所有完整性檢查完成后,OTP控制器釋放輸出門控并將輸出標記為有效。但是,任何標有“error”的分區都會繼續將其輸出保持在默認狀態。

一旦完成上述步驟,緩沖寄存器中的分區存儲就不會再次更新(通過生命周期接口更新生命周期分區除外)。也就是說,通過編程接口編程到OTP的值在下一次電源循環之后才會在緩沖寄存器中可見。

在這一點上,分區存儲的輸出預計不會改變,除非定期檢查突然失敗。發生此故障時,所有輸出都將恢復到默認狀態,并立即向警報處理程序觸發警報。

出于定時目的,OTP輸出可以被視為半靜態,因為這種錯誤事件應該是罕見和特殊的。

Partition Defaults

分區默認值是特定于上下文的。例如,鎖定特定訪問的硬件配置項應默認為“無訪問”。這確保了對OTP的故障攻擊不能輕易地將設計恢復到不安全狀態。

因此,這表明,當OTP都是0和1時,它應該盡可能在受影響項目的編碼空間中反映無效或惰性狀態。這也意味著使用代理的重置狀態(例如密鑰管理器和生命周期)也應默認為無效/惰性狀態。

Program and Read Ports

如前所示,OTP分為前端和后端。后端接口主要用于更新OTP內容,并讀取以進行調試和驗證。盡管是與邏輯分區分離的功能訪問端口,但程序和讀取端口受到相同的訪問控制。

當分區被寫鎖定時,編程訪問被禁止。如果分區是秘密的,則后端接口的讀取訪問也被禁止(摘要必須始終可讀)。軟件還可以通過CSR設置禁用對軟件配置分區的任何讀取訪問,以防止后期軟件讀取任何內容。

上述情況的例外是生命周期分區。生命周期控制器接口還充當“后端”接口,始終具有編程訪問權限,以確保生命周期狀態可以提前。

請注意,程序和讀取端口可能與正在進行的后臺存儲檢查沖突,OTP控制器在這兩方之間進行仲裁。將始終完成正在進行的操作。之后,或者當兩個請求同時到達時,優先級為生命周期>編程接口>通過CSR窗口的按需讀取訪問>背景檢查。

Programming the OTP

OTP控制器有兩條編程路徑:

?通過軟件的功能編程路徑(程序端口),

?通過硬件的生命周期編程路徑。

功能接口用于更新除生命周期之外的所有分區。如前所述,在下一次重新啟動之前,當前電源周期中進行的任何更新都不會反映在緩沖分區中。

生命周期接口僅用于更新生命周期狀態和轉換計數器。命令是從生命周期控制器發出的,類似地,成功或失敗的指示也被發送回生命周期控制器。與功能接口類似,生命周期控制器每個電源周期只允許一次更新,并且在請求的轉換之后恢復到惰性狀態,直到重新啟動。

請注意,req/ack協議在OTP時鐘上運行。擾頻設備的任務是通過實例化prim_sync_repack.sv原語來同步握手協議,如下所示。

43b4e240-a626-11ee-8b88-92fbcf53809c.png

在這里插入圖片描述

OTPC對接的信號

?EDN Interface(隨機數熵,之前我們發過哦)

?Power Manager Interface

?Life Cycle Interfaces

?Interface to Key Manager(OTP里面存儲了一些密鑰,肯定要使用到Key Manager)

? Interface to Flash Scrambler 到FLASH加擾設備的接口是一個簡單的req/ack接口,該接口為閃存控制器提供用于數據和地址加擾的兩個128位密鑰。用來加擾解擾內存

43c02b6e-a626-11ee-8b88-92fbcf53809c.png

在這里插入圖片描述

?Interfaces to SRAM and OTBN Scramblers

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16334

    瀏覽量

    177814
  • 編程
    +關注

    關注

    88

    文章

    3614

    瀏覽量

    93686
  • OTP
    OTP
    +關注

    關注

    4

    文章

    201

    瀏覽量

    47144

原文標題:工作原理

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    影響 Linux 系統安全基石的 glibc 嚴重漏洞

    [安全 Shell] 客戶端都可能觸發該漏洞,我們認為這是嚴重的,主要是因為對 Linux 系統存在的風險,但也因為潛在的其他問題。”其他問題可能包括一種通過電子郵件觸發調用易受攻擊的 glibc 庫
    發表于 06-25 10:01

    檢查系統安全和儀器保護的重要性

    檢查系統安全和儀器保護的重要性
    發表于 05-13 06:10

    怎么實現工業控制系統安全防護的設計?

    工業控制系統潛在的風險是什么?怎么實現工業控制系統安全防護的設計?
    發表于 05-25 06:12

    BMS電池管理系統安全定義

    ?1. 系統安全定義包含電子電氣的功能安全還包含機械等其他防護部分1. 機械安全需求無鋒利銳邊/強度保證(碰撞/沖擊/擠壓/振動/承載等)2. 化學安全需求無有毒有害化學物質/材料的可
    發表于 09-15 08:12

    電子商務系統安全與 支付概述

    電子商務系統安全與支付概述 1.1  電子商務及其發展 1.2  網絡信息安全 1.3  電子商務安全規范 1.4  電子商務和支付
    發表于 04-28 16:15 ?0次下載

    網絡系統安全

    網絡系統安全操作系統安全入網登錄訪問控制帳號的識別與驗證帳號的默認限制檢查網絡的權限控制目錄與屬性級安全控制網絡服務器安全控制Window
    發表于 06-16 23:12 ?0次下載

    基于PMI的工作流管理系統安全模型

    將PMI 引入到工作流管理系統經典的安全模型中,建立了一個基于PMI 的工作流管理系統安全模型。同時將基于角色和任務的訪問控制引入到
    發表于 08-05 09:12 ?14次下載

    基于Web的信息系統安全風險評估工具的設計

    本文作者在對信息系統安全風險評估理論和方法進行深入研究的基礎上,根據自身參與信息系統安全風險評估的工作實踐,提出了一種基于Web 的信息系統安全風險評估工具的設計
    發表于 08-11 10:45 ?25次下載

    UNIX系統安全工具

    本書詳細介紹了UNIX系統安全的問題、解決方法和策略。其內容包括:帳號安全及相關工具Crack;日志系統的機制和安全性,日志安全工具Swat
    發表于 08-27 16:20 ?0次下載

    Windows系統安全模式另類應用

    Windows系統安全模式另類應用 相信有一部份的用戶對Windows操作系統安全模式的應用還比較模糊,下面的我們就給大家講講Windows安全
    發表于 01-27 09:58 ?659次閱讀

    安全氣囊系統工作原理

    安全氣囊系統工作原理
    發表于 01-19 21:15 ?36次下載

    Linux必學的系統安全命令

    雖然Linux和Windows NT/2000系統一樣是一個多用戶的系統,但是它們之間有不少重要的差別。對于很多習慣了Windows系統的管理員來講,如何保證Linux操作系統安全、可
    發表于 11-02 15:09 ?0次下載

    嵌入式系統安全實用技巧

    嵌入式系統安全實用技巧
    的頭像 發表于 12-28 09:51 ?724次閱讀

    OpenHarmony技術大會 | OS安全分論壇圓滿舉辦:構建系統安全“堡壘”

    ,如何確保系統安全、防止數據被竊取,已成為全球用戶關注的焦點。在這樣的背景下,2023年11月4日舉辦的第二屆開放原子開源基金會OpenHarmony技術大會OS安全分論壇上,眾多專家學者就系統安全、數據
    的頭像 發表于 11-10 20:25 ?730次閱讀

    系統安全基石IP-OTPC(一)什么是OTP

    MTP: Multiple-Time Programmable,可以多次編程
    的頭像 發表于 11-15 14:43 ?3505次閱讀
    <b class='flag-5'>系統安全</b><b class='flag-5'>基石</b><b class='flag-5'>IP-OTPC</b>(一)什么是OTP
    主站蜘蛛池模板: 久久是热频国产在线| 国产人妻精品无码AV在线五十路 | 特级淫片大乳女子高清视频 | 国产精品18久久久久久欧美网址| 亚洲国产在线2o20| 看黄色片子| 成年人在线视频免费观看 | 99热精品在线av播放| 偷拍亚洲色自拍| 久久精品免费观看久久| WWW国产精品人妻一二三区| 先锋影音av最新资源| 麻豆一区二区三区蜜桃免费| 动漫美女被h动态图| 一个人看www| 全黄H全肉细节文短篇| 好男人午夜www视频在线观看 | 久久精品热在线观看85| 成人国产一区| 亚洲中文有码字幕日本| 欧美在线激情| 黑兽在线观看高清在线播放樱花| 99在线观看视频| 亚洲黄色成人| 欧美日韩中文字幕综合图区| 国精产品一区一区三区有限在线| 99国内精品| 亚洲国产在线99视频| 青草影院天堂男人久久| 狠狠国产欧美在线视频| seba51久久精品| 野花韩国中文版免费观看| 日本熟妇乱妇熟色在线电影| 久久r视频| 国产成人精品区在线观看| 综合伊人久久| 性欧美video| 起碰免费公开97在线视频| 九九九精品国产在线| 丰满女友bd高清在线观看| 13一18TV处流血TV|