999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種用EEPROM限制電路使用時間的加密方法

2015-04-29 00:00:00黃雅婷
科學大眾·教師版 2015年5期

摘 要:在一些特定的場合中,電路的開發者或產品的生產商需要對自己的電路或者電子產品規定使用期限,若用戶使用的總時間超過這一期限,則不能繼續使用,或需要重新獲得授權才能繼續使用。本文介紹了一種非常經濟實用,但不易被破解的,使用EEPROM實現這一目的的方法。

關鍵詞:加密; 限時; EEPROM; 防破解

中圖分類號:TP3 文獻標識碼:A 文章編號:1006-3315(2015)05-186-002

1.引言

在一些特定行業中,有一些特定功能的定制電路的使用權是按照“正常使用時間”被出售給用戶的。即用戶完成一次交費后,將得到包含電路在內的某一產品,但是用戶獲得的并非是這一產品的永久使用權,而只是在約定的某一使用期限內對這一產品的使用權。當用戶使用這一產品達到這一使用期限時,將不再擁有對其的使用權。除非通過續費或其他途徑,再次從產品的開發商處獲得新的授權,才能繼續使用。如此周而復始,直到產品失去其應有的功能,或用戶不再需要這一產品。

2.設計思想

要實現“限制電路使用時間”的目的,必須對電路的使用時間進行較精確的計數,并將其記錄在某一可重復擦寫的存儲器中。為考慮使系統在關機和重啟情況下能保留數據,因此,此存儲器必須為非易失性存儲器。

目前,最常用的可重復擦寫的非易失性存儲器主要有FLASH存儲器和EEPROM存儲器。FLASH存儲器又稱閃存,它結合了ROM和RAM的長處,不僅具備電子可擦除可編程的性能,還可以快速讀取數據,使數據不會因為斷電而丟失。但是FLASH存儲器一般容量都比較大,故價格也相對比較貴。若使用FLASH存儲器的目的,僅僅是儲存系統的運行時間這幾個字節的數據量,顯然存在著極大的浪費。而存儲量小、價格便宜的EEPROM更適合用于此設計中。

但是,EEPROM有固定的使用壽命,這是指某一位由“1”寫為“0”或由“0”寫為“1”的次數,而讀取EEPROM內的數據不會縮短其壽命。不同廠家、型號、系列甚至批次的產品,壽命都不盡相同,常見主流產品的擦寫壽命為10萬次以上。假若某EEPROM壽命為10萬次,每分鐘擦寫一次,則其使用時間為100000/(60×24)=69天。這兩個多月的使用壽命顯然在很多應用中是不能滿足需要的。

為解決這一問題,本設計采用不固定數據存放地址的方式。即每次寫入數據的存儲器地址是參照之前寫入的地址,按照一定的規則計算得到的。這相當于將原來幾種在某幾個字節存儲器空間的擦寫次數分攤到所有的存儲空間。因此,如果采用100倍的存儲器空間冗余,則可將EEPROM的實際壽命延長100倍。存儲地址的計算規則可以是簡單的加或減一個偏移量,也可以是設計者自行規定的復雜規則。通過對此計算規則的合理設計,可以在犧牲一定單片機時間的基礎上,提高被破解的難度。

開機或重啟后,在系統初始化過程中,先對EEPROM內的數據進行識別。按照設計者規定的規則,依次判斷每一個存儲空間內的數據。若發現存在異常數據,說明EEPROM內容被非法篡改,可發出警報并禁止使用;若數據正常,則找出上次關機前寫入的最后一個數據(即累計使用時間)。若此數據小于設定值(開發者設定的使用時限),則進入正常使用狀態;反之,則提示用戶并禁止使用。

正常使用過程中,每隔一定時間(例如1分鐘)對累計使用時間值增加“1”。若增加后的數值不大于設定值(開發者設定的使用時限),則計算下一個存儲地址,并將其寫入;反之,則提示用戶并禁止使用。

3.硬件系統

基于以上設計思想,搭建的簡易系統硬件結構框圖如圖1所示。系統選用ATMEL公司的ATmega8微處理器控制。ATmega8自帶512字節的EEPROM,已經足夠滿足本方案所需的存儲量。但是,考慮到更換方便,仍然選擇外擴一片IIC總線接口的EEPROM。ATmega8自帶有IIC總線,因此使用非常方便。

圖1 系統硬件結構框圖

本設計使用3個字節為一個單位,記錄電路累計運行的分鐘數,則最大計數范圍是16777215/(60×24×365)=32年。大多數情況中,授權使用時間不會超過這個數值,因此足夠滿足需求。按照存儲空間冗余40倍的關系,EEPROM存儲器選用MICROCHIP公司的芯片24LC01B。此款芯片帶有1Kbit(即128字節)存儲空間,擦寫壽命為100萬次以上,單片價格不滿1元人民幣。根據計算,用于本方案中,若每分鐘擦寫一次,則使用壽命為1000000/(60×24×365)×40=76年。

本系統的微處理器與EEPROM接口原路圖如圖2所示。

圖2微處理器與EEPROM的接口

4.軟件設計

本系統的軟件采用模塊化設計,與判斷并記錄累計使用時間相關的軟件模塊,主要包括開機自檢模塊及運行中記時及判斷模塊兩部分。

存儲地址的計算規則采用查表方式。將地址為00H~77H的120字節存儲空間按照每3個連續字節為一個存儲單元,總共分為40個存儲單元。將這40個存儲單元的地址,按照不規則順序存入數組add[40]。每次需要下一單元的存儲地址時,只需依次從數組add[40]中讀取即可。另外,在地址7AH和7DH中存入兩字節的用戶識別碼,每次開機,首先需驗證識別碼與程序一致方能繼續運行。若將累計運行時間限制設定為兩年,即TLIM=100A40H;用戶識別碼ID=1983H,則記時及判斷模塊及開機自檢模塊的程序流程圖分別為圖3和圖4所示。

圖3 記時及判斷模塊流程圖

圖4開機自檢模塊流程圖

5.結束語

以上介紹的這種限制電路使用時間的加密方法具有成本低、壽命長、精度高、資源占用度低、防破解能力及通用性強等特點。只需作簡單修改,此方法便能被使用于不同場合,并且能夠按照設計者的需要及電路資源情況,自行決定算法的復雜程度,有效保護設計、開發者的勞動成果。

參考文獻:

[1]Microchip Technology Inc..24AA01/24LC01B數據手冊,2003

[2]Atmel Corporation. ATmega8/ATmega8L數據手冊,2003

[3]李維平,張濤,丁振君.延長EEPROM使用壽命的方法,單片機與嵌入式系統應用.2005,(6)

主站蜘蛛池模板: 久久香蕉国产线看精品| 中文字幕亚洲专区第19页| 无码视频国产精品一区二区| 欧美亚洲日韩中文| 91小视频在线观看免费版高清| 2020亚洲精品无码| 婷婷六月天激情| 久操线在视频在线观看| 欧美色综合网站| 久久99国产综合精品女同| 精品视频一区在线观看| 精品福利网| 亚洲精品自产拍在线观看APP| 欧美特黄一免在线观看| 1769国产精品免费视频| 91香蕉国产亚洲一二三区| 综合网天天| 亚洲视频在线青青| 日韩国产欧美精品在线| 国产精品视屏| 最新国产成人剧情在线播放| 欧美综合中文字幕久久| 国产av剧情无码精品色午夜| 国产va在线观看免费| 免费人成视网站在线不卡| 欧美成人午夜视频免看| 一级看片免费视频| 亚洲成人高清无码| 97视频在线精品国自产拍| 国产精品密蕾丝视频| 四虎成人精品| 国产一区二区三区夜色 | 亚洲国产成熟视频在线多多| 国内丰满少妇猛烈精品播| 欧美日韩另类在线| 欧美日韩国产在线人成app| 三区在线视频| 青草视频久久| 四虎永久在线精品国产免费| 丰满的少妇人妻无码区| a毛片免费观看| 国产欧美精品一区二区| 高清不卡毛片| 午夜电影在线观看国产1区| 一本大道香蕉高清久久| 97色伦色在线综合视频| 免费欧美一级| 2021精品国产自在现线看| 亚洲69视频| 国产精品偷伦视频免费观看国产| 日韩在线欧美在线| 黄色污网站在线观看| 亚洲午夜国产片在线观看| 黄片一区二区三区| 人妻精品全国免费视频| 亚洲精品视频免费观看| 精品人妻无码区在线视频| 欧美国产综合色视频| 亚洲精品无码专区在线观看 | 东京热高清无码精品| 一级高清毛片免费a级高清毛片| 亚洲AV人人澡人人双人| 亚洲国产午夜精华无码福利| 一本综合久久| 狠狠色噜噜狠狠狠狠色综合久| 人妻丰满熟妇αv无码| 免费在线看黄网址| 无码一区二区三区视频在线播放| 无码一区18禁| 一级毛片a女人刺激视频免费| 999在线免费视频| 欧美成人精品在线| 国产一国产一有一级毛片视频| 午夜精品福利影院| 亚洲高清中文字幕| 亚洲国产综合自在线另类| 另类重口100页在线播放| 一级毛片免费播放视频| 人妻无码AⅤ中文字| 成人小视频网| 亚洲精品无码人妻无码| 国产成人综合网|