滿佳喜
摘 要:在電子技術(shù)飛速發(fā)展的今天,存儲器在電子系統(tǒng)中被大量使用,EEPROM(Electrically Erasable Programmable Read-Only Memory電可擦除可編程只讀存儲器)作為一種通用非揮發(fā)存儲器件被廣泛的應(yīng)用在各類電子系統(tǒng)中,復(fù)旦微電子提供的24系列串行EEPROM在消費(fèi)電子領(lǐng)域被大量的應(yīng)用。電子系統(tǒng)中一般都有應(yīng)用軟件,且常常將該軟件存放在EEPROM存儲器中,為避免軟件設(shè)計(jì)產(chǎn)權(quán)輕易的被復(fù)制,在電子系統(tǒng)設(shè)計(jì)中對于應(yīng)用軟件的防復(fù)制保護(hù)也越來越受關(guān)注。文章介紹一種基于復(fù)旦微電子新型通用24系列串行EEPROM的加密解決方案,在不額外增加硬件成本的情況下達(dá)到保護(hù)軟件產(chǎn)權(quán)的目的。
關(guān)鍵詞:存儲器;EEPROM;加密;軟件保護(hù)
1 系統(tǒng)方案
在電子系統(tǒng)設(shè)計(jì)中,常常將系統(tǒng)軟件存放在EEPROM中,上電后處理器自動將EEPROM中的軟件數(shù)據(jù)讀出載入到控制器內(nèi)部的RAM(Random Access Memory)執(zhí)行,傳統(tǒng)的EEPROM只具有單一的主存儲空間,該空間存儲的軟件數(shù)據(jù)可通過IIC(Inter-Integrated Circuit)總線接口直接讀出,沒有任何的加密措施,因此存儲在EEPROM中的軟件數(shù)據(jù)可以輕易的被讀出并寫入到另一套完全復(fù)制的電子系統(tǒng)中。開發(fā)一套新的電子系統(tǒng)產(chǎn)品一般要付出市場調(diào)研、系統(tǒng)設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)等多個環(huán)節(jié),設(shè)計(jì)開發(fā)成本不菲,而由于存放軟件的外部存儲器不具有任何加密措施,一旦產(chǎn)品投放到市場后,整個系統(tǒng)很容易就會被他人復(fù)制,且由于復(fù)制者不用付出產(chǎn)品的開發(fā)成本,其復(fù)制后的產(chǎn)品在市場上會更有價格競爭力,這樣的話很可能會使得一套新設(shè)計(jì)的電子系統(tǒng)產(chǎn)品以失敗而告終。
在已經(jīng)使用了EEPROM的電子系統(tǒng)中,只需要將EEPROM存儲芯片更換為復(fù)旦微電子的新型通用24系列串行EEPROM產(chǎn)品,利用該系列產(chǎn)品中具有的UID(Unique ID)和OTP(One Time Program)存儲空間特性,就可達(dá)到軟件加密的目的。UID和OTP存儲空間都是在原有的主存儲空間以外,額外設(shè)計(jì)增加的存儲空間,其中UID是每顆EEPROM芯片的識別號,類似于芯片的身份證,只能讀取無法改寫,且每顆芯片都是唯一不可復(fù)制的,一般為8字節(jié)或16字節(jié)數(shù)據(jù)長度,OTP空間是一塊用戶可讀寫的數(shù)據(jù)空間,一般為16字節(jié)或32字節(jié)數(shù)據(jù)長度,對OTP空間寫入數(shù)據(jù)后用戶可通過對OTP空間進(jìn)行鎖定操作,使得寫入OTP空間的數(shù)據(jù)變?yōu)橹荒茏x取無法改寫。在電子系統(tǒng)產(chǎn)品的生產(chǎn)過程中,用戶可設(shè)置一個密鑰,通過每顆EEPROM產(chǎn)品具有的唯一UID,配合密鑰經(jīng)過一定的加密算法的計(jì)算生成一段密文,并將密文存儲在OTP空間,電子系統(tǒng)上電后,處理器通過同樣的密鑰對密文和UID進(jìn)行解密認(rèn)證的操作,只有UID和密文匹配并順利通過認(rèn)證后系統(tǒng)軟件才繼續(xù)執(zhí)行,這樣的話即使主存儲空間的軟件數(shù)據(jù)和OTP空間的密文被他人完全的復(fù)制,由于每顆EEPROM芯片的UID都是唯一不可復(fù)制的,且密鑰和加密算法他人一般難以破解,因此一套復(fù)制的電子系統(tǒng)產(chǎn)品UID是無法和OTP空間中的密文匹配的,從而無法順利通過上電后的解密認(rèn)證操作,也就無法成功運(yùn)行。通過以上舉措,可在不額外增加系統(tǒng)硬件成本的情況下,達(dá)到系統(tǒng)軟件防復(fù)制的目的。
1.1 存儲器介紹
存儲器是信息技術(shù)中用來存儲和保存用戶信息的記憶體,寬泛來講,只要能保存二進(jìn)制數(shù)據(jù)的都稱為存儲器。按照系統(tǒng)掉電后所存儲的數(shù)據(jù)是否能保持不丟失,存儲器分為揮發(fā)性存儲器和非揮發(fā)性存儲器,EEPROM產(chǎn)品是一種非揮發(fā)性存儲器,可通過電進(jìn)行擦除和編程操作,是一種掉電后數(shù)據(jù)不丟失的存儲器芯片,復(fù)旦微電子的新型通用24系列串行EEPROM產(chǎn)品具有IIC接口,可工作在1.7V~5.5V寬電壓范圍,具有100萬次擦寫壽命和40年的數(shù)據(jù)保存能力,除主存儲空間外,額外具有UID和OTP存儲空間,UID為芯片的身份標(biāo)識,每顆芯片的UID是唯一不可復(fù)制的,OTP空間是一塊可多次進(jìn)行讀寫操作的存儲空間,用戶如果希望OTP空間數(shù)據(jù)不再被改寫,可對該塊空間進(jìn)行鎖定操作,鎖定后OTP空間的數(shù)據(jù)只能讀出,無法再被改寫,詳細(xì)的芯片信息本文不做詳述。
1.2 加密算法介紹
數(shù)據(jù)加密是指將原始數(shù)據(jù)配合密鑰經(jīng)過某種特殊的算法計(jì)算后改變原來的數(shù)據(jù)內(nèi)容,這樣即使用戶獲得了已經(jīng)加密的信息,由于不知道密鑰和加密算法,仍然無法清楚加密過程。數(shù)據(jù)的加密方式有很多種,如常見的校驗(yàn)和、CRC(Cyclic Redundancy Check循環(huán)冗余校驗(yàn))、DES(Data Encryption Standard數(shù)據(jù)加密標(biāo)準(zhǔn))等,因本文的實(shí)現(xiàn)驗(yàn)證以DES算法為例,因此此處僅介紹DES加密算法。
美國國家標(biāo)準(zhǔn)局1973年開始研究除國防部外的其他部門的計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)加密標(biāo)準(zhǔn),1977年1月,美國政府決定采納IBM公司設(shè)計(jì)的方案作為非機(jī)密數(shù)據(jù)的正式數(shù)據(jù)加密標(biāo)準(zhǔn),稱為DES。目前國內(nèi)DES算法在POS、ATM、智能卡、高速公路收費(fèi)站等領(lǐng)域被廣泛使用,以此來實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的加密。
DES算法的入口參數(shù)有三個:Key、Data、Mode。其中Key為8個字節(jié),是密鑰,Data為8個字節(jié),是要被加密或被解密的數(shù)據(jù),Mode為工作方式,有加密和解密兩種。DES算法的加密操作是將Mode設(shè)置為加密,用密鑰Key 去把數(shù)據(jù)Data進(jìn)行加密,生成Data的密文(8字節(jié))作為DES的輸出結(jié)果,DES算法的解密操作是將Mode設(shè)置為解密,用密鑰Key去把密文數(shù)據(jù)Data(8字節(jié))解密,還原為Data的明碼形式作為DES的輸出結(jié)果。
詳細(xì)的DES算法加解密過程本文不做詳述,DES算法計(jì)算密文示例:明碼為0000000000000000,密鑰為1122334455667788時,DES生成的密文為6FB23EAD0534752B。
2 實(shí)現(xiàn)驗(yàn)證
為確認(rèn)該方案是確實(shí)可行的,采用該方案進(jìn)行實(shí)際的電子系統(tǒng)驗(yàn)證,控制器選用Silicon Lab的C8051F340,該控制器為51系列單片機(jī),EEPROM存儲產(chǎn)品選用復(fù)旦微電子的新型通用FM24C64D,該產(chǎn)品具有64Kbit主存儲空間,16字節(jié)的UID,32字節(jié)的OTP空間,算法選用DES加解密算法,開發(fā)基于Keil編譯環(huán)境。采用UID數(shù)據(jù)和DES算法進(jìn)行軟件加解密計(jì)算,增加加解密操作后處理器需要的占用的程序空間和數(shù)據(jù)空間很少,示例程序經(jīng)過Keil編譯后實(shí)際占用程序空間2729字節(jié),占用數(shù)據(jù)緩存78字節(jié)。
3 結(jié)束語
在電子系統(tǒng)產(chǎn)品設(shè)計(jì)中,基于復(fù)旦微電子的新型通用24系列串行EEPROM存儲產(chǎn)品,選擇合適的加解密算法,可以在不增加系統(tǒng)額外硬件成本情況下,實(shí)現(xiàn)良好的軟件加密效果,達(dá)到較好的軟件知識產(chǎn)權(quán)保護(hù)的目的,該低成本加密應(yīng)用方案已經(jīng)在藍(lán)牙、WIFI等領(lǐng)域有具體的客戶應(yīng)用,取得了較好的效果,得到了用戶的高度認(rèn)可。
參考文獻(xiàn)
[1]復(fù)旦微電子FM24C64D技術(shù)手冊[Z].http://www.fmsh.com/ea78de
2e-2f5a-e700-2221-7101cff37d8d/.
[2]芯科實(shí)驗(yàn)室.Silicon Labs C8051F340技術(shù)手冊[Z].http://www.sila
bs.com/products/mcu/8-bit/c8051f32x-f34x.