
靈活使用帶密碼的加密解密方法
通過研究我們發(fā)現(xiàn),使用帶有密碼的加密方式,看似給破解代碼留有了可能性,但因為接受和驗證密碼都需要由用戶程序完成,只要用戶程序設(shè)計的可靠,這種可能性是很小的。
為了增強用戶接口程序的可靠性和靈活性,我們提出以下幾種可能的設(shè)計思路:
針對窮舉密碼的對策。MC9S12DP256的密碼長達8個字節(jié),如果不將密碼限定在ASCII碼的范圍內(nèi),那么可以選擇的密碼數(shù)量將達到1.8*1019 種。為了防患破解者窮舉密碼,用戶可以設(shè)定允許輸入錯誤密碼的次數(shù),如果出錯超過一定次數(shù),接口程序就不再接收新的密碼了。允許出錯的次數(shù)可以根據(jù)安全需要和使用方便綜合考慮。 靈活的對外接口。使用密碼加解密時,用戶程序使用的對外接口是沒有任何限制的。本文中的串口程序只是一例,MC9S12DP256片內(nèi)集成了眾多的接口模塊,如SCI、SPI、IIC、MSCAN、J1850等等。使用哪一個接口,用戶可以根據(jù)方便和安全考慮自己選擇,這樣也會使破解者難以入手。 用戶程序級密碼驗證。用戶還可以給接口程序增設(shè)一級密碼驗證的步驟。只有通過該密碼驗證,才能進一步輸入解密的密碼。因為加密后,F(xiàn)lash ROM就無法讀寫了,用戶程序可以將增設(shè)的密碼也保存到Flash中,留待驗證。另外,如果某一個模塊既要作為接受密碼的接口,又有其他的用途,也應(yīng)該留有一個交互界面,在使用前讓用戶選擇該模塊的用途。 遠程加解密。在很多場合,用戶對于單片機的控制是通過以太網(wǎng)等介質(zhì)遠程實現(xiàn)的,只要有相應(yīng)的接口程序,能夠遠程對單片機進行加解密,這無疑會給用戶的工作帶來很大的方便。
結(jié)語
Flash在線編程技術(shù)的出現(xiàn)給單片機中的加密機制帶來了很大的改變。通過對HCS12系列單片機加解密方法的分析,我們認為這種加解密的機制具有足夠的安全性,以及靈活的加解密方式。
另外,使用密碼解密的可靠性很高,實現(xiàn)的過程依賴于用戶程序,只要精心設(shè)計接口程序,用戶完全可以將這種風(fēng)險降至最低。





