在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

牽手一起夢 ? 來源:ST MCU 信息交流 ? 作者:ST MCU 信息交流 ? 2020-06-04 14:47 ? 次閱讀

絕大多數STM32系列的芯片都在固定的地方放置了長度為96位的唯一身份識別碼,簡稱UID,只有極少數STM32系列芯片內部沒有該UID,比方超值型STM32F0x0系列,STM32F100系列。具體到哪顆芯片到底有沒有UID,在芯片數據手冊的首頁都有明確的說明,無需猜測。如下圖所以:

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

芯片所對應的參考手冊里,有對該UID存放地址的詳細介紹。地址因不同系列或子序列而不同。

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

關于這個UID常有人有些疑問,有幾個問題在這里稍微總結下:

1、有無問題。上面說了絕大部分STM32都內置UID,具體以查看數據手冊為準。

2、唯一性問題。該UID的唯一性是靠96位這個整體來保證其唯一性,你若截取部分就不保證了。

3、內容問題。有人對這個UID內容似乎很好奇,這點在STM32參考手冊里并無詳細描述,但這并不影響使用。【因為STM8有些芯片也有96位UID,那里有較為詳細的介紹,涉及芯片WAFER生產加工工程中的一些各種坐標信息、wafer編號信息、產品批號信息等】

4、地址問題。芯片UID的存放地址要到芯片對應的參考手冊里去查對。特別要提醒的是,并非所有STM32系列的UID信息存放在某個起始地址開始的連續空間內。

5、怎么用的問題。說實在的,這個就很難說了,反正STM32有這個特性在,肯定沒有固定不變的用法。具體怎么用就看你自己了。對于該UID,STM32參考手冊給了些大致應用方向的介紹:

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

簡單點說,該UID可以做特定序列號;做FLASH編程的安全密鑰;激活安全啟動流程。據我所知,曾有人拿這個UID碼作為唯一發射碼。中間按個做密鑰配合加密技術的應用涉及到很專業的內容, ST官方也有不少這方面的培訓材料,有興趣的可以找相關資料進一步了解學習。

相對用的比較多的就是基于該UID設計用戶程序的安全啟動。其大致原理就是,用戶程序第一次運行時將預定的未被改寫過FLASH地址寫入本芯片UID數據,之后每次啟動都會重讀UID數據并與特定FLASH地址的內容進行比對,若比對成功則正常運行,否則進入異常處理,不予正常運行程序。一般來講,編寫UID那一步在產品出廠前就完成了。

這里所說的第一次運行,就是指程序運行后,到預定的FLASH地址去讀取內容,發現該處是被擦除過且未被改寫的數據狀態[一般為全1狀態],并將UID數據寫入相應的FLASH區域,這次運行視為第一次運行。

下面使用STM32L4芯片就上面應用做個簡單的代碼實現示范,僅供參考。注意,不同STM32芯片在FLASH編程這個地方并不完全一樣。

先做些基本的準備工作。

我們根據實際應用程序情況預留出一塊地址空間,我在下面示例中將STM32L476RG內部FLASH中間位置抽出1頁來存放UID【注:很多STM32系列都具備OTP空間,也可以將UID寫在這個區域】。STM32L4的FLASH編程采用雙字編程,在給定FLASH編程地址時,注意8字節對齊。到相應的參考手冊查找UID的地址及存放情況【即是連續存放還是分散存放】。

準備工作差不多了,就可以嘗試組織程序代碼了。

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

程序流程很簡單。先判斷指定FLASH地址是否為全1,如果是讀取當前芯片UID并填寫到相應地址;如果不是全1,則讀取指定FLASH地址空間內容跟當前芯片UID數據比較,若正確,正常運行程序,若二者不符,則進入異常處理,不正常運行功能代碼。

【下面是監測到指定flash地址未被改寫過,進入UID內容填充的FLASH編程代碼】

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

【下面是監測到指定flash地址已被改寫過,進入比較判斷及相應處理的代碼】

由于芯片商在出新的過程中有安全性的考量,使芯片性能越來越完善

上面代碼是基于STM32L476芯片和STM32L4Cube庫而編寫的,主要介紹下大致實現過程,簡單直觀,無須過多解釋。

不過,在實際應用過程中,這段功能代碼就不要如此直白明了。這里給幾點參考建議:

1、代碼編寫過程中,FLASH地址盡量不要一次性直接給出,最好幾經變換后得出;

2、被存放的UID在不破壞唯一性的情況下可以適當做些變換后存放;

3、將這部分代碼拆分成幾個相互獨立而有一定關聯的不同函數塊來處理。可以考慮將有的功能塊放在用戶主程序里,有的夾在正常的中斷程序里,包括嵌套的中斷程序里。

4、用來存放UID的flash地址盡量不要連續,最好在不同功能塊訪問相應的地址;

5、如果可能,考慮使用兩套完全獨立的UID改寫、比對處理代碼。即使用兩套FLASH存儲區域和比對代碼,只有兩套都比對成功后才正常運行程序,否則任何一套比對失敗都進入保護狀態。

因為剛好最近有人談起這方面的話題,就順便聊聊上面這些,權作參考。另外,還應該充分利用芯片的讀寫保護機制以及某些系列已經具有的信息安全保護機制,如PCROP、TrustZone等。還有,我們可以根據自身產品特點設計出一些結合硬件線路、機械組裝的特定自檢流程,讓盜版者在生產加工環節遇到麻煩。這些地方都留給每個設計者大量的發揮空間,來保護自己的知識產權。

總之,關于產品的產權保護,應該從產品規劃之初就著手考慮應對方案了,從最早的芯片選型開始,最好回避選用市面上使用過于普遍且老舊的芯片系列。相信芯片商在推陳出新的過程中也有安全性這方面的考量,使得芯片在這方面的性能越來完善和強大。

最后順便提醒下,當我們的程序監測到發生侵權進入保護狀態時,目的是保護自己的產權不受侵害。這個過程中我們可能會對代碼采取些行動,阻止其正常運行,但注意不要因此而給第三方帶來人身傷害。打個比方,假設你設計的產品是馬達控制類交通工具,當發現有人盜版時,如果你在代碼里只是簡單粗暴地對代碼進行破壞而完全不顧破壞后的異常代碼可能導致什么后果,那就不妙了。
責任編輯:dhj

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

    關注

    459

    文章

    51894

    瀏覽量

    433341
  • FlaSh
    +關注

    關注

    10

    文章

    1656

    瀏覽量

    150572
  • 代碼
    +關注

    關注

    30

    文章

    4876

    瀏覽量

    69962
收藏 人收藏

    評論

    相關推薦

    物聯網設備和應用的安全性

    由于多種原因,安全在物聯網和無線連接中變得越來越重要。考慮到這些風險,在設計過程中盡早優先考慮和確定安全要求非常重要。Nordic提供的
    的頭像 發表于 03-20 10:49 ?174次閱讀

    芯片可靠測試:性能的關鍵

    芯片行業,可靠測試是確保產品性能的關鍵環節。金鑒實驗室作為專業的檢測機構,提供全面的芯片可靠測試服務,幫助企業在激烈的市場競爭中保持領
    的頭像 發表于 03-04 11:50 ?269次閱讀
    <b class='flag-5'>芯片</b>可靠<b class='flag-5'>性</b>測試:<b class='flag-5'>性能</b>的關鍵

    如何實現 HTTP 協議的安全性

    協議的安全性,可以采取以下幾種方法: 1. 使用HTTPS HTTPS(安全超文本傳輸協議)是HTTP的安全版本,它在HTTP的基礎上通過SSL/TLS協議提供了數據加密、數據完整
    的頭像 發表于 12-30 09:22 ?635次閱讀

    芯片制造過程中的兩種刻蝕方法

    本文簡單介紹了芯片制造過程中的兩種刻蝕方法 ? 刻蝕(Etch)是芯片制造過程中相當重要的步驟。 刻蝕主要分為干刻蝕和濕法刻蝕。 ①干法刻蝕 利用等離子體將不要的材料去除。 ②濕法刻蝕
    的頭像 發表于 12-06 11:13 ?1023次閱讀
    <b class='flag-5'>芯片</b>制造<b class='flag-5'>過程中</b>的兩種刻蝕方法

    電池的安全性測試項目有哪些?

    電池的安全性測試是保證電池在實際使用過程中穩定、安全的重要手段。通過一系列嚴格的測試項目,能夠有效評估電池在不同條件下的表現,并提前發現潛在的安全隱患。對于消費者而言,了解這些測試項目
    的頭像 發表于 12-06 09:55 ?1392次閱讀
    電池的<b class='flag-5'>安全性</b>測試項目有哪些?

    在電氣安裝中通過負載箱實現最大效率和安全性

    安全性,在電氣設備的安裝和調試過程中,可能會涉及到高壓、大電流等高風險因素。如果操作不當,可能會導致設備的損壞,甚至可能引發火災、觸電等安全事故。通過使用負載箱,可以將高壓、大電流等風險轉移到負載箱上
    發表于 11-20 15:24

    UWB模塊的安全性評估

    UWB(超寬帶)模塊的安全性評估是一個復雜而關鍵的過程,涉及多個方面,包括技術特性、加密機制、抗干擾能力、物理層安全等。以下是對UWB模塊安全性評估的分析: 一、技術特性帶來的
    的頭像 發表于 10-31 14:17 ?619次閱讀

    智能系統的安全性分析

    )和非對稱加密(如RSA)等技術,確保數據在存儲和傳輸過程中的機密。 加密算法應經過廣泛驗證和測試,以確保其安全性和可靠。 數據完整
    的頭像 發表于 10-29 09:56 ?546次閱讀

    云計算安全性如何保障

    。無論是數據傳輸過程中還是存儲時,都應確保數據的機密。 傳輸加密 :在數據傳輸過程中,云服務提供商通常會采用傳輸層安全協議(TLS)等加密技術,以防止數據在傳輸中被截獲或篡改。 存儲
    的頭像 發表于 10-24 09:14 ?646次閱讀

    無線充芯片-手機無線充電芯片-無線充電芯片開發定制

    基于需求信息,進行無線充電芯片的技術研發與創新。這包括芯片架構設計、電路布局優化、算法開發等方面的工作。在研發過程中,需要充分考慮高效能量傳輸、兼容與互操作
    發表于 09-27 11:32

    QC快充芯片,因高效而兼容好而成為手機標配的充電解決方案!

    的充電控制方式,不僅提升了充電效率,還確保了充電過程安全性和穩定性。 3. 廣泛的兼容: 隨著QC快充技術的普及,越來越多的設備開始支持QC快充協議。這使得QC快充
    發表于 09-26 10:03

    CANFD芯片應用中關鍵功能和性能指標分析

    ?CAN FD芯片通信速率高達5Mbps,需要線纜少傳輸距離較遠,在汽車、工業、宇航、能源等領域應用越來越廣。 1)汽車工業:汽車內部電子系統日益復雜,需要高速、可靠的數據傳輸來確保車輛的安全
    發表于 09-14 10:58

    我們的城市為什么越來越熱?

    全球氣候在變暖,我們焚燒石油,煤炭等化石燃料,產生了大量二氧化碳等溫室氣體,導致全球氣候變暖,尤其大陸氣溫升高,城市變得越來越熱。圖:上海前灘的夜晚,被太陽曬熱的建筑熱島效應夏天天太熱,在陽光
    的頭像 發表于 08-03 08:14 ?748次閱讀
    我們的城市為什么<b class='flag-5'>越來越</b>熱?

    請問DM平臺訪問安全性如何控制?

    DM平臺訪問安全性如何控制?
    發表于 07-25 06:10

    藍牙模塊的安全性與隱私保護

    藍牙模塊作為現代無線通信的重要組成部分,在智能家居、可穿戴設備、健康監測等多個領域得到了廣泛應用。然而,隨著藍牙技術的普及,其安全性和隱私保護問題也日益凸顯。本文將探討藍牙模塊在數據傳輸過程中
    的頭像 發表于 06-14 16:06 ?858次閱讀
    主站蜘蛛池模板: 特黄aaaaa日本大片免费看 | 亚洲毛片大全 | 日本不卡在线观看免费v | www懂爱 | 亚洲一区二区三区播放在线 | 日本在线观看高清不卡免v 日本在线观看永久免费网站 | 韩国黄色三级视频 | 伊人网狠狠干 | 老熟女一级毛片 | 欧美顶级xxxxbbbb | 日本人视频-jlzz jlzz jlzz | 亚洲一区在线视频 | 成片免费的禁v影片 | 免费看黄视频 | 222aaa免费国产在线观看 | 人人干国产 | 性夜影院爽黄a爽免费看网站 | 韩国午夜影院 | 日本三级456 | 日韩成人午夜 | 久久国产精品岛国搬运工 | 亚洲国产精品久久婷婷 | 高h乱肉辣文辣书阁 | 亚色中文 | www.久色| 亚洲欧美视频一区二区三区 | 给我免费播放片黄色 | 在线久综合色手机在线播放 | 51精品视频免费国产专区 | 你懂的视频在线看 | 欧美mv日韩mv国产mv网站 | 全亚洲最大的777io影院 | 五月情婷婷 | 午夜刺激爽爽视频免费观看 | 免费人成黄页在线观看日本 | 天天操人人 | 狠狠色丁香久久综合网 | 18黄无遮挡免费视频 | 欧美伦理一区二区三区 | 天天看片网站 | 在线片视频网站 |