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

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

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

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

防止技術(shù)“輕易”盜取,一種高端芯片加密方案詳解

AGk5_ZLG_zhiyua ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-12-15 09:37 ? 次閱讀

提起唯一ID,最容易想到的就是我們每個(gè)人的身份證號(hào),均是獨(dú)一無(wú)二的,無(wú)法仿冒。作為芯片而言,同樣具有這一身份標(biāo)識(shí)——UID。利用芯片這唯一ID來(lái)實(shí)現(xiàn)加密,在智能產(chǎn)品競(jìng)爭(zhēng)越來(lái)越激烈的情況下是十分必要的。

首先需要明確的是,沒(méi)有一種加密是“絕對(duì)”可靠的,但是加密手段可以增加非法使用者的解密成本,借此來(lái)防止技術(shù)被“輕易”盜取。本次以LPC1000的UID加密方案為例進(jìn)行介紹。

LPC1000系列的加密方案

通過(guò)分析得出,基于CortexM0或CortexM3內(nèi)核的LPC1000系列MCU通過(guò)軟件加密的方法有兩種:

1、使用代碼讀保護(hù)機(jī)制,限制用戶訪問(wèn)片內(nèi)Flash;

2、通過(guò)芯片UID并添加加密算法使每片MCU內(nèi)的程序具有唯一性。

代碼讀保護(hù)機(jī)制是通過(guò)使能系統(tǒng)中的不同安全級(jí)別,以便限制訪問(wèn)片內(nèi)Flash,本次不做重點(diǎn)介紹。

UID加密

UID是唯一標(biāo)識(shí)符(unique identifier),在LPC1000系列微控制器的每一顆芯片都具有全球唯一的標(biāo)識(shí)符,該標(biāo)識(shí)符為128位二進(jìn)制序列。因此我們可以利用芯片UID的唯一性對(duì)程序進(jìn)行加密,使每一個(gè)產(chǎn)品中的程序也具有唯一性,即使非法使用者獲取了MCU中的程序復(fù)制到其他芯片中也是不能正常運(yùn)行的,從而達(dá)到保護(hù)開(kāi)發(fā)者的知識(shí)產(chǎn)權(quán)不被侵犯和盜用的目的。

LPC1000的UID加密方案

基本思路是使用上位機(jī)軟件通過(guò)編程器讀取芯片的UID,經(jīng)加密算法運(yùn)算后生成密鑰,下載程序的同時(shí)向MCU的Flash中某個(gè)地址寫(xiě)入密鑰;MCU上電后,首先讀取芯片的UID,再通過(guò)與上位機(jī)相同的加密算法運(yùn)算后計(jì)算出密鑰,并與之前寫(xiě)入Flash中的密鑰比較,若相同則繼續(xù)執(zhí)行用戶程序,否則跳入死循環(huán)或執(zhí)行程序開(kāi)發(fā)者指定的代碼。

圖1 LPC1000 UID加密方案流程圖

實(shí)現(xiàn)此方案需要準(zhǔn)備的資源如下。

硬件資源:

  • LPC1766FBD100芯片;

  • SmartPRO 5000U-PLUS編程器;

  • QFP100-NXP適配座;

  • SmartCortex M3-1700開(kāi)發(fā)板(測(cè)試用,非必需)。

軟件資源:

  • SmartPRO 2008 2.0.56.exe上位機(jī)軟件;

  • Programmer.rar編程器上位機(jī)UID加密補(bǔ)丁;

  • Uid.rar編程器上位機(jī)UID加密算法;

  • LPC1766在Keil4下的工程模板;

  • Keil4開(kāi)發(fā)環(huán)境;

  • Microsoft Visual C++ 6.0。

一、下位機(jī)

下位機(jī)(即LPC1766芯片)上電并初始化后,首先讀取芯片的UID,解析密鑰并與Flash中的密鑰比較判斷后,再繼續(xù)執(zhí)行用戶代碼。這里我們舉例采用的加密算法是將UID的補(bǔ)碼作為密鑰,加密方法比較簡(jiǎn)單,用戶可自行對(duì)加密算法進(jìn)行修改,寫(xiě)出復(fù)雜的加密算法。

讀取芯片UID的方法是通過(guò)調(diào)用芯片內(nèi)部的IAP函數(shù)實(shí)現(xiàn),如圖2所示。

圖2 讀取UID

二、上位機(jī)

在下位機(jī)LPC1766的程序編寫(xiě)完成并生成hex或bin文件后,按照以下步驟對(duì)MCU進(jìn)行加密。

第一步,在Microsoft Visual C++ 6.0下編寫(xiě)加密算法,這里我們已經(jīng)編寫(xiě)完成,僅需解壓uid.rar并打開(kāi)其中的VC工程。用戶需要在uid.cpp中的UidAlgorithm函數(shù)中添加自定義算法,如圖3。

圖3 加密算法工程

加密算法編寫(xiě)完成后,編譯將生成一個(gè)名為uid.dll的算法文件。

第二步,安裝SmartPRO 2008軟件,我們默認(rèn)安裝在C:Program Files路徑下。

第三步,安裝SmartPRO 2800加密補(bǔ)丁,方法是將Programmer.rar解壓到C:Programd FilesSmartPRO 2008Programmer路徑下,覆蓋原來(lái)的文件。

第四步,將加密算法生成的uid.dll文件復(fù)制到C:Programd FilesSmartPRO 2008Programmer下,SmartPRO 2008啟動(dòng)后將會(huì)自動(dòng)調(diào)用uid.dll。

第五步,連接硬件,將LPC1766芯片放入適配座ZY503D中,連接USB通信電纜和電源

第六步,燒寫(xiě)文件,啟動(dòng)SmartPRO 2008軟件,選擇芯片“LPC1766@LQFP100”,打開(kāi)燒錄文件(在Keil編寫(xiě)下位機(jī)程序時(shí)生成的hex或bin文件 )。此時(shí)會(huì)出現(xiàn)一個(gè)如圖4的特殊提示,這是因?yàn)镵eil編譯器在編譯時(shí)沒(méi)有將Flash中前8個(gè)字單元的內(nèi)容進(jìn)行代碼有效校驗(yàn)和的填充而產(chǎn)生該警告,點(diǎn)擊“確定”即可,編譯器在下載過(guò)程中會(huì)調(diào)用校驗(yàn)算法自動(dòng)添加校驗(yàn)。關(guān)于代碼有效校驗(yàn)和填充的相關(guān)內(nèi)容請(qǐng)參考LPC1766用戶手冊(cè)中“Flash編程”一章的相關(guān)內(nèi)容。

圖4 用戶代碼無(wú)效提示

第七步,開(kāi)始下載,點(diǎn)擊“組合”即可,默認(rèn)執(zhí)行的是擦除、編程、校驗(yàn)三個(gè)步驟的結(jié)合。

成功編程后,如果重新讀取Flash,打開(kāi)緩沖區(qū),定位到0x00002000處,可以看到已經(jīng)寫(xiě)入的密鑰。如圖5所示,與此前設(shè)計(jì)的加密算法和加密預(yù)期效果一致。

圖5 緩沖區(qū)查看密鑰

驗(yàn)證方法:取下適配座中的芯片,焊接到TinyARMT17核心板上,查到SmartCortex M3-1700開(kāi)發(fā)板底板上,連接P0.11到BEEP插針,如所示。開(kāi)發(fā)板上電后即可聽(tīng)到蜂鳴器的鳴叫。以此驗(yàn)證芯片計(jì)算出的密鑰與Flash中寫(xiě)入的密鑰校驗(yàn)一致,芯片程序正常運(yùn)行。

圖6 開(kāi)發(fā)板驗(yàn)證

總結(jié)

經(jīng)此方法向芯片下載程序后,若有產(chǎn)品盜版者試圖將程序讀出然后復(fù)制到其他芯片上使用,程序?qū)⑼A粼谂袛嗝荑€是否匹配語(yǔ)句,導(dǎo)致程序不再向下執(zhí)行,從而防止軟件程序被非法使用者盜用。ZLG致遠(yuǎn)電子在加密保護(hù)方面從未停止過(guò)腳步,為用戶保駕護(hù)航不遺余力!

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

    關(guān)注

    60

    文章

    917

    瀏覽量

    70611
  • lpc1000
    +關(guān)注

    關(guān)注

    0

    文章

    1

    瀏覽量

    1617

原文標(biāo)題:【安全】如何利用芯片“身份證”加密?

文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    淺談加密芯片一種破解方法和對(duì)應(yīng)加密方案改進(jìn)設(shè)計(jì)

    ,只要破解了一種方式,那么只要使用這種邏輯加密芯片和這種加密方式的產(chǎn)品都很容易破解,就像上述破解方式,破解者不需要去破解加密
    發(fā)表于 12-20 15:31

    一種使用LDO簡(jiǎn)單電源電路解決方案

    本期我們介紹一種使用LDO簡(jiǎn)單電源電路解決方案,該方案可以處理12V/24V、多節(jié)鋰離子電池和4節(jié)干電池等相對(duì)較高的輸入電壓。
    的頭像 發(fā)表于 12-04 16:05 ?314次閱讀
    <b class='flag-5'>一種</b>使用LDO簡(jiǎn)單電源電路解決<b class='flag-5'>方案</b>

    加密核心是基于Rijndael AES-128,具有192位可編程參數(shù)的加密芯片

    加密芯片 - ALPU-C,該款加密芯片是ALPU系列中的高端IC,其加密核心基于Rijntra
    的頭像 發(fā)表于 12-04 09:32 ?121次閱讀
    <b class='flag-5'>加密</b>核心是基于Rijndael AES-128,具有192位可編程參數(shù)的<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>

    BGA芯片封裝凸點(diǎn)工藝:技術(shù)詳解與未來(lái)趨勢(shì)

    隨著集成電路技術(shù)的飛速發(fā)展,芯片封裝技術(shù)也在不斷進(jìn)步,以適應(yīng)日益增長(zhǎng)的微型化、多功能化和高集成化的需求。其中,球柵陣列封裝(BGA)作為一種先進(jìn)的封裝
    的頭像 發(fā)表于 11-28 13:11 ?409次閱讀
    BGA<b class='flag-5'>芯片</b>封裝凸點(diǎn)工藝:<b class='flag-5'>技術(shù)</b><b class='flag-5'>詳解</b>與未來(lái)趨勢(shì)

    aes加密的常見(jiàn)錯(cuò)誤及解決方案

    AES(Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn))是一種對(duì)稱加密算法,它使用固定長(zhǎng)度的密鑰對(duì)數(shù)據(jù)進(jìn)行加密。在使用AES
    的頭像 發(fā)表于 11-14 15:13 ?1183次閱讀

    智慧公交是什么?文帶你詳解智慧公交的解決方案

    智慧公交是什么?文帶你詳解智慧公交的解決方案
    的頭像 發(fā)表于 11-05 12:26 ?271次閱讀
    智慧公交是什么?<b class='flag-5'>一</b>文帶你<b class='flag-5'>詳解</b>智慧公交的解決<b class='flag-5'>方案</b>!

    安卓APP開(kāi)發(fā)中,如何使用加密芯片?

    加密芯片一種專門(mén)設(shè)計(jì)用于保護(hù)信息安全的硬件設(shè)備,它通過(guò)內(nèi)置的加密算法對(duì)數(shù)據(jù)進(jìn)行加密和解密,以防止
    的頭像 發(fā)表于 10-31 17:43 ?384次閱讀
    安卓APP開(kāi)發(fā)中,如何使用<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>?

    AG32 芯片保護(hù)與加密

    AG32 芯片保護(hù)與加密 代碼安全有兩方式: 一種是 Lock flash,個(gè)是代碼加密
    發(fā)表于 09-19 16:01

    一種供電總線技術(shù)POWERBUS二總線

    首先給大家介紹一種總線技術(shù)Powerbus總線,特性: 1.總線可供電,通訊和供電無(wú)需電氣隔離 2.總線抗干擾能力強(qiáng),可與市電并走 3.可支持總線電流20A(2400bps) 4.具備總線短路保護(hù)
    發(fā)表于 07-23 13:38

    一種浮力儲(chǔ)能的技術(shù)方案

    如圖的技術(shù)方案,各位請(qǐng)看看能否解決現(xiàn)在比較難處理儲(chǔ)能的問(wèn)題。
    發(fā)表于 07-04 15:41

    嵌入式產(chǎn)品如何做安全加密

    為了防止硬件電路與固件被抄襲,核心在于加密芯片和安全解決方案的設(shè)計(jì),目前大多MPU并不具備安全防護(hù)功能,所以最好的辦法是使用顆專用的
    的頭像 發(fā)表于 06-20 17:46 ?815次閱讀
    嵌入式產(chǎn)品如何做安全<b class='flag-5'>加密</b>?

    一種基于WTR096-28SS芯片方案的寵物喂食器設(shè)計(jì)方案

    方案寵物喂食器采用了WTR096-28SS芯片方案來(lái)實(shí)現(xiàn)智能化的喂食功能。該方案結(jié)合了先進(jìn)的技術(shù)和設(shè)計(jì)理念,提供了便捷、智能和個(gè)性化的寵物
    的頭像 發(fā)表于 03-12 10:38 ?490次閱讀
    求<b class='flag-5'>一種</b>基于WTR096-28SS<b class='flag-5'>芯片</b><b class='flag-5'>方案</b>的寵物喂食器設(shè)計(jì)<b class='flag-5'>方案</b>

    加密狗是什么意思 加密狗怎么解除加密

    加密算法和技術(shù),以確保軟件的安全性和防止非法復(fù)制、盜版以及未經(jīng)授權(quán)的使用。 加密狗可以看作是軟件版權(quán)保護(hù)的一種授權(quán)策略,它將軟件授權(quán)信息存儲(chǔ)
    的頭像 發(fā)表于 01-25 17:19 ?8573次閱讀

    應(yīng)用方案:實(shí)時(shí)數(shù)據(jù)加密

    應(yīng)用方案:實(shí)時(shí)數(shù)據(jù)加密 利用CPLD設(shè)計(jì)加密電路方便可行,能夠較好地實(shí)現(xiàn)加密功能。AG32系列MCU產(chǎn)品,在芯片內(nèi)部?jī)?nèi)置了CPLD邏輯,可以
    發(fā)表于 01-15 08:57

    高性能加密芯片LKT4302U概述

    加密狗是一種關(guān)鍵的安全設(shè)備,扮演著數(shù)據(jù)安全的守護(hù)者。如果客戶需要支持USB接口的、可控GPIO的加密芯片,LKT4302U是不錯(cuò)的選擇。
    的頭像 發(fā)表于 12-26 10:13 ?712次閱讀
    主站蜘蛛池模板: 国产三级级在线电影| 无码任你躁久久久久久老妇双奶| 亚洲午夜精品AV无码少妇| 古装性艳史电影在线看| 欧美派对xxxhdparty| 0855午夜福利伦理电影| 久久精麻豆亚洲AV国产品| 亚洲精品国偷拍自产在线观看蜜臀| 国产 亚洲 中文字幕 在线| 欧美成人国产| 中文字幕在线免费视频| 久久精品国产色蜜蜜麻豆国语版| 亚洲合集综合久久性色| 国产三级多多影院| 香蕉视频国产精品| 国产精品久久久久影院色| 色欲色香天天天综合| 二级片免费看| 色哟哟tv| 古装性艳史电影在线看| 爽a中文字幕一区| 国产成人啪精品视频免费网| 神马老子影院午夜伦 | 不卡的在线AV网站| 欧美乱妇日本无乱码特黄大片| 91夫妻交友论坛| 免费欧美大片| 99精品视频免费观看| 欧美含羞草免费观看全部完| 99无码熟妇丰满人妻啪啪| 欧美特级特黄AAAAA片| np高h肉文| 日本午夜福利无码高清| 丁香美女社区| 天天操天天干天天透| 国产精品久久久久精品A片软件| 天天躁躁水汪汪人碰人| 国产人妖一区二区| 亚洲午夜久久久精品影院| 久久久久久88色偷偷| 91avcom|