女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

STM32WB的CKS功能提供在MCU上的密鑰安全存儲和安全使用方法

STM32單片機 ? 來源:STM32 ? 作者:STM32 ? 2021-05-28 15:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們都知道STM32WB是雙核多協議無線微控制器,即主頻為64 MHz的 ArmCortex‐M4內核(應用處理器)和主頻為32 MHz的ArmCortex‐M0+內核(網絡處理器),支持Bluetooth 5和IEEE 802.15.4無線標準。雙核的好處是可以優化對資源的安全使用,保證和RF協議棧相關處理的實時性,并可同時提供電源管理的靈活性。

STM32WB的信息安全是以雙核隔離為基礎的。

STM32WB雙核架構和雙核間的隔離機制

調試端口訪問:

出廠的芯片缺省關閉CM0+一側的調試端口訪問,即使在RDP0的狀態下也只能調試CM4內核。

Option Byte

OptionByte中包含雙核隔離相關的安全設置,例如CM0+才能訪問的Flash區間等等。這些OptionByte受到保護,無法隨意被修改。缺省出廠芯片已經使能CM0+的保護,相關的一些OptionByte設置無法通過調試端口或CM4進行修改。

片上Flash:

Flash的一部分只能由CM0+訪問,CM4無法對該部分Flash進行讀、寫、擦。

片上SRAM

SRAM的一部分只能由CM0+訪問,CM4無法對該部分SRAM進行讀、寫。

CRYPTO硬件資源:如AES,TRNG,PKA

系統上電復位時,缺省CRYPTO相關的硬件CM4可以使用。CM0+內核可以通過修改SystemConfig相應的寄存器使得這些硬件資源只能由CM0+內核進行控制,也稱為把這些硬件資源配置成Secure訪問模式。其中當AES1被配置為Secure時,CM4內核無法訪問密鑰寄存器,但是依舊可以訪問AES1的其他寄存器使用AES1硬件單元進行加解密操作。

CKS (Customer Key Storage)

AES算法是應用程序中經常用到的一種保障數據機密性和完整性的方法,例如用于隱私數據的加密存儲、加密通信等。其中,密鑰作為最敏感的信息也需要受到保護。

STM32WB的CKS功能提供在MCU上的密鑰安全存儲和安全使用方法 :

存儲在片上安全Flash的密鑰無法通過調試端口獲取(即使在RDP0條件下)

運行在CM4內核的應用程序代碼也無法獲得片上安全Flash中存儲的密鑰,避免軟件漏洞帶來的風險

應用程序代碼依舊能夠通過CKS和AES1硬件模塊使用存儲的密鑰進行加解密操作

CKS能夠存儲多組密鑰,應用程序代碼可以通過密鑰索引來指定AES運算所使用的密鑰

用戶密鑰存儲

用戶密鑰存儲在“安全”Flash區域,用戶代碼和調試端口不可訪問

CKS最多可以存儲100個用戶應用密鑰(用于AES運算)

允許存儲128位或者256位的AES密鑰

對密鑰的操作只能通過用戶代碼調用FUS接口完成

把密鑰寫到“安全”Flash區域,需要安全的操作環境

44bb6d76-be57-11eb-9e57-12bb97331649.png

用戶密鑰的寫入 (Key Provisioning)

可以通過用戶代碼完成,也可以通過CubeProgrammer的GUI或者命令行完成

寫入應用密鑰的明文//simple key,需要安全的操作環境

寫入應用密鑰的密文//encrypted key,無需安全的操作環境

基于AES-128 GCM

寫入用于解密encrypted key的密鑰的明文//master key,需要安全的操作環境

該操作在手冊中用“write”或“load”表示

用戶密鑰的寫入通過應用代碼實現

參考例程:

STM32Cube_FW_WB_VxxxProjectsP-NUCLEO-WB55.NucleoApplicationsCKS

給CKS_param賦值

typedef PACKED_STRUCT{uint8_t KeyType;uint8_t KeySize;uint8_t KeyData[32 + 12];} SHCI_C2_FUS_StoreUsrKey_Cmd_Param_t;SHCI_C2_FUS_StoreUsrKey_Cmd_Param_t CKS_param;CKS_param.KeyType = …;CKS_param.KeySize = …;memcpy(CKS_param.KeyData, pKeySimple_128, 16

調用FUS服務:SHCI_C2_FUS_StoreUsrKey

輸入:CKS_param結構體

輸出:芯片為該密鑰分配的索引

SHCI_C2_FUS_StoreUsrKey (&CKS_param, &key_simple_128_idx );

用戶密鑰的寫入使用STM32CubeProgrammer GUI實現

STM32CubeProgrammer 從2.4版本開始支持

芯片切換到系統 Bootloader 啟動運行DFU,

STM32CubeProgrammer 以USB方式連接芯片

步驟:選擇KEY文件 ——》 指定KEY類型 ——》 寫入KEY

注意:GUI界面沒有返回為該密鑰分配的索引,需要用戶自己記錄

應用密鑰的裝載和使用

Load:AES1的密鑰裝載

SHCI_C2_FUS_LoadUsrKey (key_simple_128_idx)

該操作會把AES1密鑰寄存器配置成Secure

SAES1@SYSCFG_SIPCR

只能由運行在CM0+上的FUS來配置

運行在CM4上的用戶代碼可以讀取其狀態

安全狀態和AES1時鐘是否使能沒有關系

使用步驟

Step1:AES1模塊初始化

初始化結構體的pKey,設置為空指針即可

使能AES1時鐘

Step2:密鑰裝載

要在AES1模塊disable1的時候 (EN=0)

Step3:使用AES1做加解密

hcryp1.Init.DataType = CRYP_DATATYPE_8B;hcryp1.Init.KeySize = CRYP_KEYSIZE_128B;hcryp1.Init.Algorithm = CRYP_AES_CBC;/* Key will be provided by CKS service */hcryp1.Init.pKey = NULL; hcryp1.Init.pInitVect = AESIV;HAL_CRYP_Init (&hcryp1);SHCI_C2_FUS_LoadUsrKey (key_simple_128_idx);HAL_CRYP_Encrypt(&hcryp1, Plaintext, size, EncryptedBuf, timeout)

應用密鑰的使用

Lock:

SHCI_C2_FUS_LockUsrKey (key_simple_128_idx)

對某個key lock之后,將無法再對該key進行Load操作,再次Load該Key時FUS API返回錯誤代碼0xFF;但是不影響已經在AES1密鑰寄存器中的key

對該key load的禁止操作,會一直生效直到下次系統復位

注意事項:關于后續更新

為了避免有效密鑰一直存在于AES1密鑰寄存器中,建議使用完畢后Load一個dummy key或者disable AES1

后續FUS版本(從 STM32CUbeWB1.11開始)會增加API:Unload

早期出廠芯片預裝的FUS版本較老,在FUS升級的時候,通過CSK存儲在芯片里的用戶key會被擦除

從FUS1.1.1.1或者FUS1.2.0開始,再做FUS升級,不會影響到已經存在的用戶key應用密鑰的使用

小結

使用CKS對AES密鑰進行保護,與傳統的直接將AES密鑰存儲在Flash中的做法有明顯的優勢:

CKS存儲的密鑰數據無法通過調試端口獲取,已經存儲的密鑰數據,即使在RDP為0的情況下也不能通過調試端口訪問。

密鑰使用過程中應用程序代碼雖然可以使用密鑰進行加解密操作,但是始終無法直接獲取密鑰數據本身,降低了軟件漏洞可能帶來的風險。

原文標題:信息安全專題 | 安全存儲(2)STM32WB的用戶密鑰存儲 (CKS)

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    13

    文章

    4533

    瀏覽量

    87464

原文標題:信息安全專題 | 安全存儲(2)STM32WB的用戶密鑰存儲 (CKS)

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    根據Datasheet里cyT2B5L有1024位otp,全部都能用來存儲密鑰嗎?

    1)項目上有要求把密鑰存在安全模塊存儲區域的要求 2)根據Datasheet里cyT2B5L有1024位otp,全部都能用來存儲密鑰嗎?還是
    發表于 07-14 07:17

    凌科芯安國產安全MCU簡介

    安全MCU是指在傳統MCU基礎,集成了硬件級安全功能模塊的芯片,專門用于應對數據泄露、惡意攻擊、固件篡改等
    的頭像 發表于 06-04 15:28 ?447次閱讀

    MAX36051 DeepCover安全管理器,具有128字節無痕跡存儲器技術手冊

    DeepCover 嵌入式安全方案采用多重先進的物理安全機制保護敏感數據,提供最高等級的密鑰存儲安全
    的頭像 發表于 05-13 11:15 ?238次閱讀
    MAX36051 DeepCover<b class='flag-5'>安全</b>管理器,具有128字節無痕跡<b class='flag-5'>存儲</b>器技術手冊

    凌科芯安推出新一代安全MCU芯片LKT6850

    安全MCU是在傳統MCU基礎增加了多種安全特性的芯片。硬件它集成了專門的
    的頭像 發表于 03-31 15:58 ?453次閱讀

    國芯科技MCU芯片榮獲ISO 26262 ASIL-D功能安全產品認證

    近日,國芯科技汽車電子CCFC30XX系列MCU芯片功能安全庫(SafetyLib)成功通過SGS通標標準技術服務(上海)有限公司(以下簡稱為“SGS”)ISO 26262 ASIL-D功能
    的頭像 發表于 03-26 17:16 ?743次閱讀

    中科芯CKS32F030K6T6 高性能32位RISC內核MCU 程序兼容STM32F030K6T6

    CKS32F030xx 系列包括三種不同的封裝,從 20 腳到 64 引腳不等的。根據選擇的器件,包含不同組合的外設。下面的內容包含了這個產品系列所提供的全部外設的描述。 CKS32F030xx 系列包含
    發表于 03-05 16:23

    代碼分區的藝術:雙區域架構下的安全與性能平衡策略

    隔離的內存部分的功能,防止未經授權讀取或修改專有代碼。該功能通過將內部存儲劃分為兩個獨立區域(區域一和區域二)并分別配置其信息來控制片資源的訪問權限。每個區域可設置獨立的128位解鎖
    的頭像 發表于 02-19 09:55 ?430次閱讀
    代碼分區的藝術:雙區域架構下的<b class='flag-5'>安全</b>與性能平衡策略

    電腦私有云存儲怎么用啊,電腦私有云存儲使用方法

    電腦私有云存儲怎么用啊,電腦私有云存儲使用方法 ? ? 在當今數字化時代,電腦私有云存儲為我們提供了一種
    的頭像 發表于 01-22 09:58 ?661次閱讀
    電腦私有云<b class='flag-5'>存儲</b>怎么用啊,電腦私有云<b class='flag-5'>存儲</b>的<b class='flag-5'>使用方法</b>

    STM32WB55RG開發(5)----監測STM32WB連接狀態

    會討論為什么需要監測連接狀態,然后介紹STM32WB提供的相關工具和技術。隨后,會詳細解釋如何使用這些工具來實時跟蹤和管理連接狀態,以及如何解讀和響應不同的連接狀態事件。通過這些內容,能夠更好地理解和利用STM32WB的無線連接
    的頭像 發表于 12-16 16:22 ?1458次閱讀
    <b class='flag-5'>STM32WB</b>55RG開發(5)----監測<b class='flag-5'>STM32WB</b>連接狀態

    知行科技《基于仿真方法量化AEB系統功能安全閾值》入選智能網聯汽車功能安全典型案例

    近日,在第三十一屆中國汽車工程學會年會暨展覽會(SAECCE 2024),由中國汽車工程學會智能網聯汽車安全分會組織的“2024年智能網聯汽車功能安全應用典型案例”評選結果正式公布。
    的頭像 發表于 11-28 17:52 ?1726次閱讀

    藍牙AES+RNG如何保障物聯網信息安全

    標準,主要用于保護電子數據的安全。AES 支持128、192、和256位密鑰長度,其中AES-128是最常用的一種,它使用128位(16字節)的密鑰進行加密和解密操作。AES屬于分組密碼,每次操作
    發表于 11-08 15:38

    國民技術N32 MCU通過IEC/EN/UL 60730功能安全認證

    近期,國民技術多個系列的N32MCU產品先后通過了全球領先的檢驗、鑒定、測試和認證機構SGS的IEC/EN/UL60730功能安全測試認證,獲得SGS頒發的IEC/EN/UL60730認證證書,助力
    的頭像 發表于 10-25 08:07 ?1014次閱讀
    國民技術N32 <b class='flag-5'>MCU</b>通過IEC/EN/UL 60730<b class='flag-5'>功能</b><b class='flag-5'>安全</b>認證

    CW32L010安全低功耗MCU,樹立M0+產品行業新標桿!

    安全運行庫保護功能。 確保高訪問速度: 可確保指令的快速執行,滿足實時性要求高的應用場景。 易于升級迭代: 在同等成本下,擴大存儲容量,為用戶提供同級最寬裕的程序和非易失
    發表于 10-09 10:08

    【GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發表于 08-25 09:24 ?1378次閱讀
    【GD32 <b class='flag-5'>MCU</b> 入門教程】GD32 <b class='flag-5'>MCU</b> FPU <b class='flag-5'>使用方法</b>

    ST NPI 專區 | 新架產品【STM32WB09KEV7TR】

    STM32WB09xx32位MCU無線系列:Bluetooth低功耗5.4STM32WB09xx是輕量級、高性價比Bluetooth低功耗5.4應用的理想解決方案產品說明STM32WB
    的頭像 發表于 08-13 08:27 ?647次閱讀
    ST NPI 專區 | 新<b class='flag-5'>上</b>架產品【<b class='flag-5'>STM32WB</b>09KEV7TR】