0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

使用DS28S60加密協(xié)處理器的基礎(chǔ)知識

星星科技指導(dǎo)員 ? 來源:ADI ? 作者:ADI ? 2023-01-13 15:55 ? 次閱讀

本應(yīng)用筆記詳細介紹了如何將DS28S60加密處理器與ChipDNA?配合使用。它描述了DS28S60所需的設(shè)置。然后,它描述了使用非對稱密鑰交換在主機和客戶端之間安全地生成共享對稱密鑰的分步方法。接下來,它將介紹如何使用對稱密鑰在主機和客戶端之間交換加密數(shù)據(jù)。最后,本文介紹了DS28S60使用ECDSA進行雙向認證過程的示例。

術(shù)語定義

讓我們看一下本應(yīng)用筆記中使用的術(shù)語:

設(shè)備或客戶端——包含DS28S60的設(shè)備。它需要與主機通信。例如,傳感器節(jié)點。

主機或遠程對等體 - 需要與設(shè)備通信的實體。例如,應(yīng)用程序服務(wù)器。

頒發(fā)機構(gòu) - 使用頒發(fā)機構(gòu)密鑰對創(chuàng)建證書的受信任方,設(shè)備和遠程對等方可以使用該證書作為系統(tǒng)的一部分相互驗證。

圖 1 和圖 2 顯示了設(shè)備、客戶端和機構(gòu)如何在系統(tǒng)中的高級級別相互交互。

poYBAGPBDnWAfdr4AAB0XyA6v9M016.jpg?imgver=1

圖1.加密通道系統(tǒng)概述。

pYYBAGPBDniAVvzNAADS0JBDVpU366.jpg?imgver=1

圖2.相互身份驗證系統(tǒng)概述。

基本命令和設(shè)備出廠設(shè)置

在現(xiàn)場使用DS28S60之前,請先設(shè)置器件,以滿足安全需求。這涉及安裝和/或生成設(shè)備密鑰對、機密和證書。這是在工廠等安全位置完成的。

poYBAGPBDnqAZwpGAABtzxEac7U694.jpg?imgver=1

圖3.生成設(shè)備證書的頒發(fā)機構(gòu)。

DS28S60 設(shè)置步驟:

生成并安裝設(shè)備公鑰對:

首先,使用生成 ECC-256 密鑰對命令為設(shè)備生成 ECDSA 密鑰對并將其安裝到密鑰對 A 內(nèi)存塊。注意,與其讓DS28S60生成自己的密鑰對,不如使用寫存儲器命令將其他地方創(chuàng)建的密鑰對寫入DS28S60。

接下來,使用 set 塊保護命令對密鑰對塊 A 進行寫保護,以便無法修改此密鑰對。

讓授權(quán)機構(gòu)為公鑰創(chuàng)建證書:

安裝器件密鑰對后,將公鑰連同DS28S60的ROM ID和MAN ID發(fā)送給機構(gòu),以便頒發(fā)機構(gòu)為密鑰對生成證書(圖3)。請注意,ROM ID和MAN ID是在Maxim制造過程中編程到器件中的數(shù)據(jù)元素。

將證書寫入DS28S60:

收到生成的證書后,將證書寫入用戶內(nèi)存頁。

將頒發(fā)機構(gòu)公鑰和特性數(shù)據(jù)寫入DS28S60:

將頒發(fā)機構(gòu)公鑰寫入頒發(fā)機構(gòu)密鑰 A 塊。請參考DS28S60用戶指南,了解器件存儲器圖和更多信息。寫入密鑰后,對頒發(fā)機構(gòu)密鑰 A 塊進行寫保護以防止其被修改。

接下來,將任何特性數(shù)據(jù)寫入DS28S60。特征數(shù)據(jù)可以是應(yīng)用所需的任何數(shù)據(jù),例如測試信息、序列號、設(shè)備調(diào)整信息、制造日期等。根據(jù)需要使用盡可能多的頁面。

對已安裝的密鑰、機密和證書設(shè)置適當(dāng)?shù)谋Wo:

寫入功能數(shù)據(jù)后,對設(shè)備證書和功能數(shù)據(jù)進行寫保護 (WP)。如果要素數(shù)據(jù)需要不同的保護,請將它們放在不同的內(nèi)存塊中。使用設(shè)置塊保護命令設(shè)置 WP 保護。

鎖定未使用的密鑰對塊和機密塊。

最后,將隨機生成的數(shù)據(jù)寫入每個未使用的密鑰和密鑰頁,并對它們進行寫保護以防止它們被使用。

使用非對稱密鑰交換的加密通信

主機和設(shè)備各自生成一個 ECDSA 密鑰對,稱為臨時密鑰對,用于設(shè)置加密通道。必須為每個通信會話生成新的臨時密鑰對。生成密鑰后,主機和設(shè)備使用 ECDHE 密鑰交換安全地計算共享密鑰,以便在后續(xù) AES-GCM 會話中進行加密和解密。

加密通道創(chuàng)建步驟

pYYBAGPBDn2AWRaFAACAjbRu4SU103.jpg?imgver=1

圖4.主機和設(shè)備使用 ECDHE 算法計算共享密鑰。

主機生成其臨時密鑰對。

設(shè)備生成其臨時密鑰對:

設(shè)備使用生成 ECC-256 密鑰對命令生成臨時密鑰對。

指定臨時密鑰 0 作為存儲位置。注意:如果DS28S60斷電,臨時密鑰存儲頁將丟失密鑰對。

主機請求并接收設(shè)備的臨時公鑰。

設(shè)備請求并接收主機的臨時公鑰。

主機使用 ECDHE 計算共享密鑰(圖 4)。

設(shè)備使用 ECDHE 計算共享密鑰(圖 4)。

向DS28S60發(fā)出密鑰交換命令以計算共享密鑰。

主機和設(shè)備現(xiàn)在可以使用 AES-GCM 發(fā)送加密數(shù)據(jù)并解密接收到的數(shù)據(jù)(圖 5)。

雙向身份驗證

雙向身份驗證有兩個階段。主機和設(shè)備使用頒發(fā)機構(gòu)創(chuàng)建的證書和頒發(fā)機構(gòu)的公鑰,在第一階段驗證彼此的公鑰是否是系統(tǒng)的一部分(圖 6)。驗證公鑰后,主機和設(shè)備將在第二階段驗證它們是否各自擁有與已驗證的公鑰相對應(yīng)的私鑰。這是通過交換使用其各自的私鑰生成的簽名并使用經(jīng)過驗證的公鑰來驗證簽名來實現(xiàn)的。圖 7 和圖 8 顯示了私鑰驗證過程。

第 1 階段。公鑰驗證

poYBAGPBDoKATLRcAAC5dRn3e9M284.jpg?imgver=1

圖6.使用證書進行公鑰驗證的高級圖。

主機請求并接收設(shè)備的公鑰:

當(dāng)主機請求器件的公鑰時,器件使用讀存儲器命令從DS28S60讀取公鑰兩次,讀取公鑰A x和y元件,然后將公鑰發(fā)送給主機。

主機請求并接收設(shè)備的證書和證書消息數(shù)據(jù):

當(dāng)器件收到對其證書的請求時,它使用讀存儲器命令從DS28S60的用戶頁面讀取其證書,然后將其傳輸?shù)街鳈C。

設(shè)備請求并接收主機的公鑰:

當(dāng)設(shè)備請求并接收主機的公鑰時,它會使用寫入內(nèi)存命令將其寫入公鑰 SA 塊。

設(shè)備請求并接收主機的證書和證書消息數(shù)據(jù)。

主機通過將證書、證書消息數(shù)據(jù)的 SHA-256 哈希和頒發(fā)機構(gòu)公鑰傳遞給 ECDSA 驗證算法來驗證設(shè)備的證書。

設(shè)備通過將證書、證書消息數(shù)據(jù)的 SHA-256 哈希和頒發(fā)機構(gòu)公鑰傳遞給 ECDSA 驗證算法來驗證主機的證書。

設(shè)備使用身份驗證 ECDSA 證書命令指定密鑰的PUBKEY_SA,設(shè)置 ECDH = 0 和 WPE = 0,并將證書與證書數(shù)據(jù)一起傳遞以驗證主機的證書。有關(guān)該命令的詳細信息,請參閱用戶指南。

第 2 階段。私鑰驗證

pYYBAGPBDoaAYvV0AACl4oYsxgs591.jpg?imgver=1

圖7.私鑰驗證步驟一:生成簽名。

主持人生成 32 字節(jié)質(zhì)詢,并請求設(shè)備使用質(zhì)詢和一些頁面數(shù)據(jù)生成簽名。

設(shè)備使用用于生成簽名的簽名和數(shù)據(jù)進行響應(yīng):

設(shè)備收到質(zhì)詢后,將使用計算和讀取頁面命令通過特征數(shù)據(jù)頁面生成簽名。一旦生成簽名,器件將簽名與用于生成簽名的消息數(shù)據(jù)一起發(fā)送,即DS28S60的Rom ID、特征數(shù)據(jù)、特征數(shù)據(jù)頁碼和Man ID,命令字節(jié)(0xA5)。

設(shè)備生成 32 字節(jié)質(zhì)詢,并請求主機使用質(zhì)詢和一些數(shù)據(jù)生成簽名:

器件使用DS28S60上的讀取RNG命令產(chǎn)生32字節(jié)質(zhì)詢。生成質(zhì)詢后,設(shè)備會將質(zhì)詢發(fā)送給主機,請求主機生成證書。

主機使用用于生成簽名的簽名和數(shù)據(jù)進行響應(yīng):

主持人使用以下格式使用質(zhì)詢和一些數(shù)據(jù)生成簽名:質(zhì)詢||數(shù)據(jù)。主持人將質(zhì)詢以及用于生成簽名的數(shù)據(jù)發(fā)送到設(shè)備。

poYBAGPBDomAUO8-AAC6fI08qWk270.jpg?imgver=1

圖8.私鑰驗證第二步:主機和設(shè)備驗證彼此的簽名。

主機使用 ECDSA 驗證算法驗證設(shè)備的簽名,方法是向設(shè)備提供設(shè)備的公鑰、帶有質(zhì)詢和簽名的數(shù)據(jù)的 SHA-256 哈希。

設(shè)備使用 ECDSA 驗證算法驗證主機的簽名,方法是向主機提供主機的公鑰、帶有質(zhì)詢和簽名的數(shù)據(jù)的 SHA-256 哈希:

一旦設(shè)備收到簽名和數(shù)據(jù),它將數(shù)據(jù)附加到發(fā)送到主機的質(zhì)詢中,使用DS28S60驗證簽名命令指定公鑰SA,并將消息用作ECDSA輸入參數(shù)。

推薦的內(nèi)場流量

現(xiàn)在,構(gòu)建塊已經(jīng)介紹完畢,讓我們討論如何將它們組合在一起。設(shè)置步驟在安全的受信任位置(如工廠)中完成。設(shè)置完成后,設(shè)備在現(xiàn)場,主機已啟動并運行,設(shè)備和主機首先使用上述步驟建立加密通道。建立加密通道后,設(shè)備和主機將相互進行身份驗證,以確保它們是同一系統(tǒng)的一部分。一旦他們成功地相互驗證,他們就開始相互通信。

總結(jié)

本應(yīng)用筆記介紹了DS28S60作為需要相互認證和安全加密通信通道的系統(tǒng)的一部分設(shè)置和使用所需的命令和步驟。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19100

    瀏覽量

    228817
  • 主機
    +關(guān)注

    關(guān)注

    0

    文章

    983

    瀏覽量

    35008
收藏 人收藏

    評論

    相關(guān)推薦

    s3c2410協(xié)處理器指令的意思是什么?

    呵呵,s3c2410...在vivi中的s3c2410.h文件中設(shè)置時鐘時 有這么一段mrc p15,0,r1,c1,c0,0orr r1,r1,#0xc0000000;mcr p15,0,r1,c1,c0,0這段的每句 的意思是什么?為什么要用到些
    發(fā)表于 02-25 12:34

    飛思卡爾C29x加密協(xié)處理器

    飛思卡爾C29x加密協(xié)處理器:網(wǎng)絡(luò)數(shù)據(jù)安全的“門神”
    發(fā)表于 02-02 06:11

    處理器基礎(chǔ)知識(pdf教程)

    處理器基礎(chǔ)知識-天津大學(xué):微處理器基礎(chǔ)知識微處理器的選取原則單片機概述典型單片機系列概述&
    發(fā)表于 08-05 23:28 ?36次下載

    淺談ARM處理器基礎(chǔ)知識

    淺談ARM處理器基礎(chǔ)知識
    發(fā)表于 01-14 12:31 ?16次下載

    手機上的協(xié)處理器有什么作用_蘋果協(xié)處理器是干什么的

    本文首先介紹了協(xié)處理器概念,其次介紹了協(xié)處理器內(nèi)部結(jié)構(gòu)與手機協(xié)處理器的作用,最后介紹了蘋果的M8
    的頭像 發(fā)表于 04-24 09:27 ?2.1w次閱讀

    arm的協(xié)處理器有幾個?ARM協(xié)處理器詳解

    本文首先介紹了ARM處理器特點與主要模式,其次介紹了arm的協(xié)處理器有幾個,最后介紹了CP14和CP15系統(tǒng)控制協(xié)處理器。
    發(fā)表于 04-24 15:34 ?8919次閱讀

    Silex Insight推出完整的NIST認證加密協(xié)處理器系列

    Silex Insight是全球領(lǐng)先的安全IP內(nèi)核提供商,為滿足市場需求在產(chǎn)品組合中增加了2個新版本(緊湊型和高級版),并在近日推出了通過NIST認證的加密協(xié)處理器系列產(chǎn)品。 加密
    的頭像 發(fā)表于 07-31 10:45 ?2305次閱讀

    DS28S60EVKIT# MaximIntegratedDS28S60EVKIT評估系統(tǒng)

    電子發(fā)燒友網(wǎng)為你提供(ti)DS28S60EVKIT#相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有DS28S60EVKIT#的引腳圖、接線圖、封裝手冊、中文資料、英文資料,DS28S60EVKIT#真值表,D
    發(fā)表于 11-06 09:07

    比較DS28S60、MAXQ1061和MAXQ1065功能

    本應(yīng)用筆記討論了DS28S60、MAXQ1061和MAXQ1065的主要特性。它比較設(shè)備之間的功能,然后為用戶提供有關(guān)如何以及何時部署每個設(shè)備的一些相關(guān)建議。附錄提供了一些特定的設(shè)備功能和性能比較。
    的頭像 發(fā)表于 02-17 11:28 ?679次閱讀
    比較<b class='flag-5'>DS28S60</b>、MAXQ1061和MAXQ1065功能

    基于DS28S60的雙向身份驗證示例

    本應(yīng)用筆記詳細介紹了DS28S60與Jupyter筆記本配合使用進行雙向認證的基本應(yīng)用。它使用分步方法來演練設(shè)置設(shè)備和所有相關(guān)軟件,創(chuàng)建用于通過 ECDHE 密鑰交換加密數(shù)據(jù)的共享密鑰,使用 AES-GCM 加密和解密數(shù)據(jù),以及
    的頭像 發(fā)表于 02-17 11:32 ?611次閱讀

    通過將DS5250用作安全協(xié)處理器來提高系統(tǒng)安全性

    本應(yīng)用筆記介紹如何將Maxim DS5250高速安全微處理器用作安全協(xié)處理器,以保護密碼、PIN、加密密鑰和其他關(guān)鍵數(shù)據(jù)。
    的頭像 發(fā)表于 03-02 13:57 ?797次閱讀
    通過將<b class='flag-5'>DS</b>5250用作安全<b class='flag-5'>協(xié)</b><b class='flag-5'>處理器</b>來提高系統(tǒng)安全性

    基于DS28S60的雙向身份驗證示例,使用Jupyter筆記本

    本應(yīng)用筆記詳細介紹了DS28S60與Jupyter筆記本配合使用進行雙向認證的基本應(yīng)用。它使用分步方法來演練設(shè)置設(shè)備和所有相關(guān)軟件,創(chuàng)建用于通過 ECDHE 密鑰交換加密數(shù)據(jù)的共享密鑰,使用 AES-GCM 加密和解密數(shù)據(jù),以及
    的頭像 發(fā)表于 06-16 11:39 ?850次閱讀
    基于<b class='flag-5'>DS28S60</b>的雙向身份驗證示例,使用Jupyter筆記本

    比較DS28S60、MAXQ1061和MAXQ1065功能

    DS28S60是一款深蓋?采用 ChipDNA 的加密協(xié)處理器?.在物聯(lián)網(wǎng) (IoT) 安全方面,它為用戶提供了最實惠、最簡單的解決方案。它部署了簡單的個性化、強大的相互身份驗證、密鑰
    的頭像 發(fā)表于 06-16 11:50 ?858次閱讀
    比較<b class='flag-5'>DS28S60</b>、MAXQ1061和MAXQ1065功能

    使用TMS320C6416協(xié)處理器:Viterbi協(xié)處理器(VCP)

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C6416協(xié)處理器:Viterbi協(xié)處理器(VCP).pdf》資料免費下載
    發(fā)表于 10-21 09:36 ?0次下載
    使用TMS320C6416<b class='flag-5'>協(xié)</b><b class='flag-5'>處理器</b>:Viterbi<b class='flag-5'>協(xié)</b><b class='flag-5'>處理器</b>(VCP)

    使用TMS320C6416協(xié)處理器:Turbo協(xié)處理器(TCP)

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C6416協(xié)處理器:Turbo協(xié)處理器(TCP).pdf》資料免費下載
    發(fā)表于 10-23 10:16 ?0次下載
    使用TMS320C6416<b class='flag-5'>協(xié)</b><b class='flag-5'>處理器</b>:Turbo<b class='flag-5'>協(xié)</b><b class='flag-5'>處理器</b>(TCP)