亚洲av永久无码精品一百度,日韩精品无码一区二区视频,无码中文AV波多野吉衣,欧美V成 人在线观看
您好,歡迎來(lái)到儀表展覽網(wǎng)!
請(qǐng)登錄
免費(fèi)注冊(cè)
分享
微信
新浪微博
人人網(wǎng)
QQ空間
開(kāi)心網(wǎng)
豆瓣
會(huì)員服務(wù)
進(jìn)取版
標(biāo)準(zhǔn)版
尊貴版
|
設(shè)為首頁(yè)
|
收藏
|
導(dǎo)航
|
幫助
|
移動(dòng)端
|
官方微信掃一掃
微信掃一掃
收獲行業(yè)前沿信息
產(chǎn)品
資訊
請(qǐng)輸入產(chǎn)品名稱
噪聲分析儀
紡織檢測(cè)儀器
Toc分析儀
PT-303紅外測(cè)溫儀
轉(zhuǎn)矩測(cè)試儀
繼電保護(hù)試驗(yàn)儀
定氮儀
首頁(yè)
產(chǎn)品
專題
品牌
資料
展會(huì)
成功案例
網(wǎng)上展會(huì)
詞多 效果好 就選易搜寶!
上海富繼電氣有限公司
新增產(chǎn)品
|
公司簡(jiǎn)介
注冊(cè)時(shí)間:
2009-03-10
聯(lián)系人:
電話:
Email:
首頁(yè)
公司簡(jiǎn)介
產(chǎn)品目錄
公司新聞
技術(shù)文章
資料下載
成功案例
人才招聘
榮譽(yù)證書(shū)
聯(lián)系我們
產(chǎn)品目錄
配線器材
絕緣子
銅接頭
線卡
尼龍?jiān)鷰?/a>
纏繞管
高壓電器
消諧器
高壓熔斷器
高壓電器配件
船用電器燈具
船用燈具
船用電器
環(huán)保儀器儀表
壓力控制器
電動(dòng)執(zhí)行器
消歇器
溫度傳感器
差壓開(kāi)關(guān)
變送器
電表
導(dǎo)航普航儀器
萬(wàn)用表
壓力表
工控元件
斷路器
接觸器
繼電器
船用儀器儀表
工程機(jī)械儀表
船用電表
船用溫度儀表
船用壓力儀表
船用液位控制器
浪涌保護(hù)器
其它類浪涌保護(hù)器
信號(hào)類浪涌保護(hù)器
電源類浪涌保護(hù)器
液壓氣動(dòng)
滑塊線軌
電磁離合器
電磁鐵
電磁換向閥
氣缸
電磁閥電控閥
控制器
遙控器
起重機(jī)控制臺(tái)
主令控制器
凸輪控制器
電機(jī)驅(qū)動(dòng)
軸承
編碼器
電機(jī)
風(fēng)機(jī)
可編程邏輯控制器PLC
轉(zhuǎn)差離合器控制裝置
電機(jī)調(diào)速器
變頻器
電力電子
模塊
濾波器
分流器
**柵
膠帶
報(bào)警設(shè)備
插頭插座
整流器
端子
電容器
開(kāi)關(guān)電器
液位設(shè)備
按鈕開(kāi)關(guān)指示燈
接近光電開(kāi)關(guān)
微動(dòng)鈕子船型開(kāi)關(guān)
行程限位腳踏開(kāi)關(guān)
轉(zhuǎn)換倒順組合開(kāi)關(guān)
隔離負(fù)荷開(kāi)關(guān)
電源電器
不間斷電源
蓄電池
調(diào)壓器
開(kāi)關(guān)電源
逆變器
充電器
雙電源
互感器
起動(dòng)器
穩(wěn)壓器
當(dāng)前位置:
首頁(yè)
>>>
技術(shù)文章
>
技術(shù)文章
數(shù)據(jù)加密在嵌入式系統(tǒng)升級(jí)中的應(yīng)用
DQZHAN技術(shù)訊:數(shù)據(jù)加密在嵌入式系統(tǒng)升級(jí)中的應(yīng)用
1、MCU的ISP和IAP功能
現(xiàn)在MCU已經(jīng)普遍采用Flash型的EEPROM作為程序存儲(chǔ)器,F(xiàn)lash結(jié)構(gòu)的存儲(chǔ)器寫(xiě)入時(shí)可以按字節(jié)操作把1寫(xiě)成0,擦除時(shí)都是按扇區(qū)操作,把0寫(xiě)成1。它的流行與普及為ISP/IAP功能的實(shí)現(xiàn)提供了技術(shù)基礎(chǔ)。
ISP,In System Programming,它的意思是“在系統(tǒng)編程”,即MCU不需要從電路板上取下就可以編程寫(xiě)人*終用戶代碼,已經(jīng)編程的器件也可以用ISP方式擦除或再編程,從而改變了單片機(jī)系統(tǒng)的固化程序升級(jí)需拔插單片機(jī)芯片、使用專用編程器進(jìn)行燒錄的麻煩方式,輕松實(shí)現(xiàn)在單片機(jī)系統(tǒng)電路板上對(duì)單片機(jī)芯片內(nèi)固化的程序進(jìn)行升級(jí)。
IAP,In Application Programming,它的意思是“在應(yīng)用編程”,即MCU在運(yùn)行時(shí)程序存儲(chǔ)器可由程序自身進(jìn)行擦寫(xiě)。也就是說(shuō)程序自己可以往程序存儲(chǔ)器里寫(xiě)數(shù)據(jù)或修改程序。這種方式的典型應(yīng)用就是程序運(yùn)行中的數(shù)據(jù)存儲(chǔ)。ISP/IAP的區(qū)別是:ISP通常是在手工操作下整片擦除、編程,需要簡(jiǎn)單的硬件資源;而IAP卻是在某段程序的控制下對(duì)另外一段程序Flash進(jìn)行讀寫(xiě),可以控制對(duì)特定地址的讀寫(xiě)操作。實(shí)際上單片機(jī)的ISP功能就是通過(guò)IAP技術(shù)來(lái)實(shí)現(xiàn)的,即芯片在出廠前就已經(jīng)有一段芯片制造商的boot程序在芯片里面,片子上電后,開(kāi)始運(yùn)行這段程序,當(dāng)檢測(cè)到上位機(jī)有下載要求時(shí),便和上位機(jī)通信,然后下載數(shù)據(jù)到存儲(chǔ)區(qū)。其實(shí)在系統(tǒng)編程是通過(guò)廠商的boot程序?qū)ζ瑑?nèi)Flash存儲(chǔ)器進(jìn)行擦除/編程的方法,而在應(yīng)用編程是用戶的應(yīng)用代碼對(duì)片內(nèi)Flash存儲(chǔ)器進(jìn)行擦除/編程的方法。正是因?yàn)橛辛薎AP,從而使得MCU可以將數(shù)據(jù)寫(xiě)入到程序存儲(chǔ)器中,數(shù)據(jù)如同燒入的程序一樣,掉電不丟失。IAP技術(shù)的普及對(duì)于**儀器儀表的智能化意義重大,使得儀器的程序可以根據(jù)實(shí)際情況進(jìn)行改變和調(diào)整。
2、數(shù)據(jù)加密
加密就是把明文變成別人看不懂的密文,然后發(fā)送給自己想要的人,接收方用配套的解密算法又把密文解開(kāi)成明文,這樣就不怕在傳送的路上被別人截獲而泄密,以此來(lái)防止非授權(quán)用戶使用該數(shù)據(jù)。
數(shù)據(jù)加密中的明文是指原始的或未加密的數(shù)據(jù),需要通過(guò)加密算法對(duì)其進(jìn)行加密,加密算法的輸入信息為明文和密鑰;密文,即明文加密后的格式,是加密算法的輸出信息。加密算法是公開(kāi)的,而密鑰則是不公開(kāi)的。密文,不應(yīng)為無(wú)密鑰的用戶理解,用于數(shù)據(jù)的存儲(chǔ)以及傳輸。傳統(tǒng)的加密方法有兩種,替換和置換。替換是使用密鑰將明文中的每一個(gè)字符轉(zhuǎn)換為密文中的一個(gè)字符。而置換僅將明文的字符按不同的順序重新排列。單獨(dú)使用這兩種方法的任意一種都是不夠**的,但是將這兩種方法結(jié)合起來(lái)就能提供比較高的**程度。
加密方式分為對(duì)稱加密和不對(duì)稱加密。對(duì)稱,就是采用這種加密方法的雙方使用同樣的密鑰進(jìn)行加密和解密。在對(duì)稱加密算法中,數(shù)據(jù)發(fā)送方將明文和加密密鑰一起經(jīng)過(guò)特殊加密算法處理后,使其變成復(fù)雜的加密密文發(fā)送出去。接收方收到密文后,若想解讀原文,則需要使用與加密相同的密鑰及相同算法的逆運(yùn)算對(duì)密文進(jìn)行解密,才能使其恢復(fù)成可讀明文。這就要求加密密鑰能夠從解密密鑰中推算出來(lái),同時(shí)解密密鑰也可以從加密密鑰中推算出來(lái)。而在大多數(shù)的對(duì)稱算法中,加密密鑰和解密密鑰是相同的,使用的密鑰只有一個(gè),發(fā)收信雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密,這就要求發(fā)送方和接收方在**通信之前,商定一個(gè)密鑰。對(duì)稱算法的**性依賴于密鑰,泄漏密鑰就意味著任何人都可以對(duì)他們發(fā)送或接收的消息解密,所以密鑰的保密性對(duì)通信**至關(guān)重要。由于其計(jì)算量小、加密速度快、加密效率高,對(duì)稱性加密通常在消息發(fā)送方需要加密大量數(shù)據(jù)時(shí)使用。如果用戶每次使用對(duì)稱加密算法時(shí),都使用其他人不知道的惟一密鑰,**性是可以得到保證的。
不對(duì)稱加密算法的基本原理是,如果發(fā)信方想發(fā)送只有收信方才能解讀的加密信息,發(fā)送方必須首先知道接收方的公鑰,然后利用接收方的公鑰來(lái)加密原文;接收方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對(duì)稱加密算法,收發(fā)雙方在通信之前,接收方必須將自己早已隨機(jī)生成的公鑰送給發(fā)送方,而自己保留私鑰。由于不對(duì)稱算法擁有兩個(gè)密鑰,因而特別適用于分布式系統(tǒng)中的數(shù)據(jù)加密。非對(duì)稱加密算法的保密性比較好,它消除了*終用戶交換密鑰的需要,但加密和解密花費(fèi)時(shí)間長(zhǎng)、速度慢,它不適合于對(duì)文件加密而只適用于對(duì)少量數(shù)據(jù)進(jìn)行加密。廣泛應(yīng)用的不對(duì)稱加密算法有RSA算法和美國(guó)國(guó)家標(biāo)準(zhǔn)局提出的DSA。以不對(duì)稱加密算法為基礎(chǔ)的加密技術(shù)應(yīng)用非常廣泛。
3、常用加密算法
由于受限于MCU的運(yùn)算能力,并非所有的加密算法都適用于嵌入式系統(tǒng)。TEA(Tiny Encryption Algorithm)是一種小型的對(duì)稱加密解密算法,由劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室的David Wheeler和Roger Needham于1994年發(fā)明。它以加密解密速度快、效率高、實(shí)現(xiàn)簡(jiǎn)單著稱。該算法的可靠性是通過(guò)加密輪數(shù)而不是算法的復(fù)雜度來(lái)保證的,TEA算法主要運(yùn)用了移位和異或運(yùn)算,密鑰在加密過(guò)程中始終不變。它是一種分組密碼算法,其明文密文塊為64比特,密鑰長(zhǎng)度為128比特。TEA算法利用不斷增加的Delta(黃金分割率)值作為變化,使得每輪的加密不相同,有很強(qiáng)的抗差分分析能力。
DES算法又被稱為美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn),是上世紀(jì)七十年代美國(guó)IBM公司研制的對(duì)稱密碼體制加密算法,并在1977年成為美國(guó)官方加密標(biāo)準(zhǔn)。DES的工作原理為:明文按64位進(jìn)行分組,每個(gè)塊用64位密鑰進(jìn)行加密,密鑰事實(shí)上是56位參與DES運(yùn)算(第8、16、24、32、40、48、56、64位是校驗(yàn)位,使得每個(gè)密鑰都有奇數(shù)個(gè)1),分組后的明文組和56位的密鑰按位替代或交換的方法形成密文組。每塊先用初始置換方法進(jìn)行加密,再連續(xù)進(jìn)行16次復(fù)雜的替換,*后再對(duì)其使用初始置換的逆。第i步的替換并不是直接利用原始的密鑰K,而是由K與i計(jì)算出的密鑰Ki。其入口參數(shù)有三個(gè):key、data、mode。key為加密解密使用的密鑰,data為加密解密的數(shù)據(jù),mode為其工作模式。當(dāng)模式為加密模式時(shí),明文按照64位進(jìn)行分組,形成明文組,key用于對(duì)數(shù)據(jù)加密,當(dāng)模式為解密模式時(shí),key用于對(duì)數(shù)據(jù)解密。攻擊DES的主要形式被稱為蠻力或徹底密鑰搜索,即重復(fù)嘗試各種密鑰直到有一個(gè)符合為止。如果DES使用56位的密鑰,則可能的密鑰數(shù)量是2的56次方個(gè)。隨著計(jì)算機(jī)系統(tǒng)能力的不斷發(fā)展,DES的**性比它剛出現(xiàn)時(shí)會(huì)弱得多,然而從非關(guān)鍵性質(zhì)的實(shí)際出發(fā),仍可以認(rèn)為它是足夠的。不過(guò)在實(shí)際使用中更多地選擇新的加密標(biāo)準(zhǔn)一**加密標(biāo)準(zhǔn)。
密碼學(xué)中的**加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES),是美國(guó)聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來(lái)替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過(guò)五年的甄選流程,**加密標(biāo)準(zhǔn)由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于2001年11月26日發(fā)布于FIPS PUB 197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,**加密標(biāo)準(zhǔn)已然成為對(duì)稱密鑰加密中*流行的算法之一。AES的區(qū)塊長(zhǎng)度固定為128比特,密鑰長(zhǎng)度則可以是128,192或256比特,分別稱為AES—128,AES—192,AES—256,如果數(shù)據(jù)塊及密鑰長(zhǎng)度不足時(shí),則補(bǔ)齊之。AES算法是基于置換和代替的,置換是數(shù)據(jù)的重新排列,而代替是用一個(gè)單元數(shù)據(jù)替換另一個(gè)。AES算法使用了多重循環(huán)實(shí)現(xiàn)置換和替換,在規(guī)范中被稱為Bytes Sub(字節(jié)替換)——對(duì)數(shù)據(jù)的每個(gè)字節(jié)應(yīng)用非線性變換;Shift Rows(行位移變換)——對(duì)每一行字節(jié)循環(huán)重新排序;Mix Columns(列混合變換)——對(duì)矩陣的列應(yīng)用線性變換;Add Round Key——對(duì)狀態(tài)和每輪的子密鑰進(jìn)行異或操作。該算法對(duì)內(nèi)存的需求非常低,使得它很適應(yīng)于資源受限制的環(huán)境。
4、加解密在升級(jí)中的應(yīng)用
“在線升級(jí)”實(shí)際上是Flash數(shù)據(jù)存儲(chǔ)的一個(gè)特例。完成這樣的功能首先要求芯片提供的EEPROM的地址與程序空間是連續(xù)的,一致的,在用戶應(yīng)用程序中可以對(duì)另外一部分程序區(qū)進(jìn)行擦除寫(xiě)入操作;再者芯片內(nèi)部Flash程序存儲(chǔ)器容量必須足夠大,使之可以分為幾個(gè)區(qū)域相互獨(dú)立。**部分是用戶的boot程序,完成上電初始化和解密,并將接收的數(shù)據(jù)寫(xiě)入指定地址。**部分是程序標(biāo)識(shí)區(qū),標(biāo)記當(dāng)前用戶程序的運(yùn)行地址。第三部分是應(yīng)用程序區(qū)1和應(yīng)用程序區(qū)2,當(dāng)程序運(yùn)行在程序區(qū)1時(shí)可以對(duì)程序區(qū)2進(jìn)行升級(jí),反之亦然。這兩個(gè)區(qū)域的大小必須不小于用戶的目標(biāo)代碼。
在用戶程序區(qū)可以存放幾組密鑰信息,與PC下傳的隨機(jī)數(shù)按照一定的規(guī)則生成解密所需的密鑰以保證每次加解密的密鑰信息有差異,只要保證每次密鑰是**的,數(shù)據(jù)的**性是可以保證的。需要升級(jí)芯片中的程序時(shí),PC機(jī)按照通信協(xié)議的格式下傳指令,用戶boot程序接收到指令后初始化各個(gè)變量和寄存器,關(guān)閉不需要的中斷,下傳的數(shù)據(jù)包交叉使用兩種加密算法,包號(hào)是奇數(shù)時(shí)用TEA算法加密并同時(shí)下傳兩組隨機(jī)數(shù)共16個(gè)字節(jié),一組是本次解密所用,另一組是下一包解密所用,下傳的數(shù)據(jù)包號(hào)是偶數(shù)時(shí)用AES算法加密。為提高運(yùn)算速度,對(duì)AES算法的字節(jié)替換過(guò)程采用查表的方法。只要保證每次下傳的有效數(shù)據(jù)長(zhǎng)度相同,足以達(dá)到欺騙性,即使所有數(shù)據(jù)被截獲,由于芯片內(nèi)部的密鑰無(wú)法讀出,截獲者也無(wú)法得到正確的明文。同時(shí)考慮到程序中數(shù)據(jù)容易處理,每次下傳的有效字節(jié)數(shù)選擇16的整數(shù)倍。boot程序?qū)?shù)據(jù)正確寫(xiě)入存儲(chǔ)器后應(yīng)向上位機(jī)返回正確狀態(tài),否則應(yīng)返回出錯(cuò)信息以便處理。程序升級(jí)完成后上位機(jī)發(fā)出結(jié)束命令并下傳校驗(yàn)字符,boot程序核對(duì)正確后擦除程序標(biāo)志區(qū)并重新寫(xiě)入標(biāo)識(shí)。
圖1 流程圖
用戶程序升級(jí)成功之后,可以通過(guò)函數(shù)指針的方式調(diào)用該程序。函數(shù)在編譯時(shí)都會(huì)被分配一個(gè)入口地址,該地址就是函數(shù)的指針。只要用一個(gè)指針變量指向這個(gè)函數(shù)的入口地址,就可以通過(guò)指針變量調(diào)用這個(gè)函數(shù)。函數(shù)指針的本質(zhì)是指針變量,只不過(guò)該指針變量指向函數(shù),讀出程序標(biāo)志區(qū)的運(yùn)行地址就可以通過(guò)指針變量調(diào)用新寫(xiě)入的程序。
5、結(jié)束語(yǔ)
為應(yīng)對(duì)網(wǎng)絡(luò)**,有效保護(hù)知識(shí)產(chǎn)權(quán),本文提出了固件升級(jí)的數(shù)據(jù)加密方案,對(duì)于具有IAP功能的芯片具有普遍意義,不僅適用于網(wǎng)絡(luò)遠(yuǎn)程升級(jí),同樣適用于本地升級(jí)。至于加密算法可以根據(jù)MCU的能力進(jìn)行靈活選擇。
上一篇:
無(wú)功補(bǔ)償電容器在工業(yè)生產(chǎn)的應(yīng)用
下一篇:
認(rèn)識(shí)頻敏變阻器的自動(dòng)化控制
若網(wǎng)站內(nèi)容侵犯到您的權(quán)益,請(qǐng)通過(guò)網(wǎng)站上的聯(lián)系方式及時(shí)聯(lián)系我們修改或刪除
滬公網(wǎng)安備 31010102004818號(hào)