<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 網(wǎng)絡(luò)與存儲 > 設(shè)計(jì)應(yīng)用 > Flash型單片機(jī)的加密與解密

          Flash型單片機(jī)的加密與解密

          作者:清華大學(xué) 工程物理系 陳萌萌 時間:2005-04-19 來源: 收藏

          2005年4月A版

          摘要:隨著Flash型的普及,加密的技術(shù)已經(jīng)有了較大的變化。本文以HCS12系列為例,介紹一種典型的加解密機(jī)制,并著重討論使用密碼加解密的方法以及相應(yīng)的用戶接口程序設(shè)計(jì)思路。
          關(guān)鍵詞:Flash型單片機(jī);加密;解密;密碼

          本文引用地址:http://www.ex-cimer.com/article/5105.htm

          引言
              廠商利用單片機(jī)進(jìn)行產(chǎn)品開發(fā)時,都會關(guān)心其代碼和數(shù)據(jù)的保密性。考慮到用戶在編寫和調(diào)試代碼時所付出的時間和精力,代碼的成本是不言而喻的。
              早期的單片機(jī),代碼是交給芯片制造商制成掩膜ROM。有兩種加密的機(jī)制,一是徹底破壞讀取代碼的功能,無論是開發(fā)者還是使用者都永遠(yuǎn)無法讀取其中的內(nèi)容。從安全上來說,這種方式很徹底,但是已經(jīng)無法檢查ROM中的代碼了。另一種方法是不公開讀取方法,廠商仍可以讀取代碼。這種方式留有檢查代碼的可能性,但是并不能算是一種真正的“加密”,被破解的可能性是存在的。
              客觀地講,一方面希望加密很徹底,而另外一方面又希望留有檢查代碼的可能,這是相互矛盾的要求。
              自Flash技術(shù)得到廣泛應(yīng)用以來,各類單片機(jī)制造商紛紛采用了多種不同的芯片加密方法,對比掩膜ROM芯片來說,F(xiàn)lash ROM在線可編程特性使得芯片的加密和解密方式變得更加靈活和可靠。在Flash型單片機(jī)中,芯片的加密和解密工作都是通過對Flash ROM的編程來完成的,由于用戶程序可以在線地改寫ROM的內(nèi)容,可以編寫一套加密和解密的小程序,隨用戶程序下載到芯片中,通過運(yùn)行該程序,在線修改Flash ROM的內(nèi)容,對芯片進(jìn)行加密和解密,使整個的加解密過程更為簡單靈活。
              Freescale公司的HCS12單片機(jī)采用的加解密思路有一定的典型性,我們對此作了一些研究,現(xiàn)以MC9S12DP256單片機(jī)為例,介紹Flash型單片機(jī)的加密解密方法。

          BDM程序調(diào)試接口
              Freescale公司的很多單片機(jī)都借用一種被稱為后臺調(diào)試模式(Background Debug Mode,BDM)作為下載和調(diào)試程序的接口。
              BDM是一種單線調(diào)試模式,芯片通過一個引腳與編程器進(jìn)行通信。在HCS12系列單片機(jī)中,內(nèi)部都置有標(biāo)準(zhǔn)的BDM調(diào)試模塊。
          該模塊的有三種作用:
          1) 對內(nèi)部存儲器的讀寫。將用戶程序下載到目標(biāo)芯片中或是將存儲器中的數(shù)據(jù)讀出。
          2) 對單片機(jī)工作方式和資源進(jìn)行配置。部分涉及到單片機(jī)工作方式和資源配置的寄存器只能在特殊模式下由編程器發(fā)送BDM命令來修改。
          3) 程序調(diào)試。利用BDM模塊可以讀寫內(nèi)存和CPU內(nèi)部寄存器,調(diào)試程序。
              在HCS12單片機(jī)未加密的狀態(tài)下,使用BDM硬件命令可以將Flash ROM中的程序讀出或?qū)⑿碌某绦驅(qū)懭?。BDM命令可以由獨(dú)立的硬件系統(tǒng)來送出,我們一般稱此類系統(tǒng)為BDM編程器。
              BDM編程器的時序協(xié)議是公開的,任何人都可以根據(jù)協(xié)議設(shè)計(jì)硬件、編寫程序,實(shí)現(xiàn)BDM編程器的功能。使用BDM接口,編程器可以很容易的訪問到目標(biāo)系統(tǒng)的存儲器,這給程序調(diào)試和燒寫帶來了很大的方便,然而,便利的對外接口也給盜用者留下了可乘之機(jī)。
              在帶有BDM模塊的單片機(jī)中引入數(shù)據(jù)保密機(jī)制并非HCS12系列的首創(chuàng),先前的HC12系列單片機(jī)的D家族中,就已經(jīng)引入了屏蔽Lockout BDM讀寫的機(jī)制,可惜,該機(jī)制在單片機(jī)的擴(kuò)展工作模式下存在著漏洞。相比之下,HCS12系列單片機(jī)中的保密機(jī)制更加完善,無論在BDM模式下或是擴(kuò)展模式下,都可以屏蔽外部對Flash ROM的讀寫。

          兩種加密解密方法
              在HCS12系列單片機(jī)中,加密可以分成兩種方法:完全加密和使用密碼的加密。這兩種加密的方法根據(jù)用戶的需求,使用的場合也有所不同。



          關(guān)鍵詞: 單片機(jī)

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();