本發(fā)明涉及一種加密方法,尤其涉及一種軟硬件結(jié)合的嵌入式終端加密系統(tǒng)及加密方法。
背景技術(shù):
目前硬件產(chǎn)品的研發(fā)成本很高,為了其穩(wěn)定性和可靠性的研究更是費時費力,有一些競爭對手,為了省力,會對同行業(yè)的硬件產(chǎn)品進行破解,這往往給生產(chǎn)廠家造成很大的損失,針對這種想象,很多廠家都采用了加密計數(shù)來防止產(chǎn)品被破解。
目前,大對數(shù)的廠家采用的是使用軟件方法加密,方法主要有,用軟件的方法把產(chǎn)品中使用到的部分程序代碼隱藏或者掩蓋起來,使用混淆的辦法把部分程序代碼和數(shù)據(jù)混同起來,使用亂跳的方法使程序跳來跳去,在程序中設(shè)置大量的榮譽指針和榮譽數(shù)據(jù)等單元。
少數(shù)廠家采用比較簡單的硬件加密,方法主要是:交換總線(總線亂置)、使用替代RAM、使用GAL器件對器件外EPROM中的軟件加密。這樣做也確實在一定程度上增大了破解產(chǎn)品的難度,但是總體來看產(chǎn)品仍有較大可能被破解,加密效果不理想。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是為了解決上述問題,提供一種軟硬件結(jié)合的嵌入式終端加密系統(tǒng)及加密方法,通過硬件啟動加密和無線通信加密兩部分結(jié)合,一起實現(xiàn)嵌入式終端的加密,雙重加密,雙重保障,保障了嵌入式終端運行的安全可靠,同時也有效的防止了那些惡意破解硬件設(shè)備及其嵌入式程序的競爭對手,有效的保障了技術(shù)的不泄露。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種軟硬件結(jié)合的嵌入式終端加密系統(tǒng),包括:
嵌入式終端,所述嵌入式終端與服務(wù)器或者移動終端通信;
所述嵌入式終端包括MCU,所述MCU為主控單元,所述MCU分別與FLASH存儲單元和加密芯片連接;進行數(shù)據(jù)和命令信息的傳輸;所述FLASH存儲單元受控于MCU;所述加密芯片用于加密運算,根據(jù)MCU的控制指令來選擇加密方式;
嵌入式終端工作時,首先通過硬件啟動加密驗證,然后通過無線通信加密驗證,最后才能正常運行;通過硬件啟動加密和無線通信加密兩部分結(jié)合,實現(xiàn)嵌入式終端的加密。
所述嵌入式終端與服務(wù)器或者移動終端之間通過WIFI或者藍牙進行通信。
所述服務(wù)器或者移動終端,與嵌入式終端進行通信,用于實現(xiàn)加密信息的驗證,保障系統(tǒng)的安全性。
一種軟硬件結(jié)合的嵌入式終端加密方法,包括如下步驟:
步驟(1):上電運行;
步驟(2):硬件啟動加密;驗證硬件啟動加密是否成功,若成功進入步驟(3);若失敗就重新進行驗證,若超過設(shè)定次數(shù)仍然驗證失敗,則返回步驟(1);
步驟(3):無線通信加密;驗證無線通信加密是否成功,若成功就進入步驟(4);若失敗就重新進行驗證,若超過設(shè)定次數(shù)仍然驗證失敗,則返回步驟(3);
步驟(4):正常運行。
所述步驟(3)與步驟(4)之間還設(shè)有:
步驟(30):秘鑰更改,通過服務(wù)器或者移動終端實現(xiàn)秘鑰更改,驗證秘鑰更改是否成功;若成功就進入步驟(4);若失敗就重新驗證,若超過設(shè)定次數(shù)仍然驗證失敗,則返回步驟(1)重新上電。
所述秘鑰更改包括硬件啟動加密秘鑰更改和無線通信加密秘鑰更改。
所述步驟(2)下步驟:
步驟(21):嵌入式終端的MCU生成隨機數(shù),MCU將隨機數(shù)交于加密芯片,加密芯片采用SHA1算法進行運算;加密芯片生成第一信息驗證碼;
步驟(22):MCU采用SHA1算法進行運算,MCU生成第二信息驗證碼;
步驟(23):密碼驗證:將第一信息驗證碼與第二信息驗證碼進行比較,若第一信息驗證碼與第二信息驗證碼一致,則嵌入式終端的MCU進入步驟(3);若第一信息驗證碼與第二信息驗證碼不一致,則返回步驟(21);若查過設(shè)定次數(shù)仍驗證不一致,則返回步驟(1)。
所述步驟(21)之前還包括:
步驟(201):MCU接收密鑰,同時Flash存儲單元接收密鑰;Flash存儲單元中對接收的密鑰采用密文的方式進行存儲;
步驟(202):Flash存儲單元接收外界寫入的正常運行的程序;
步驟(203):MCU通過解密讀取Flash存儲單元中的密鑰,得到明文密鑰。
所述步驟(3)的步驟如下:
步驟(31):選擇無線通信加密方式;
步驟(32):約定無線通信加密范圍;
步驟(33):信息加密;
步驟(34):加密驗證。
所述步驟(31):嵌入式終端與服務(wù)器或者移動終端,首先進行第一輪明文傳輸,服務(wù)器或者移動終端接收到嵌入式終端的信息,根據(jù)通信協(xié)議的約定,選擇一種加密方式。
所述加密方式包括:AES、DES、TEA和SHA1。
所述步驟(32):根據(jù)步驟(31)中通信協(xié)議的約定,選擇后續(xù)通信內(nèi)容是全部加密,還是只進行首輪通信的加密。
所述步驟(34)的步驟為:
步驟(341):在第一輪明文傳輸結(jié)束以后,嵌入式終端的加密芯片生成隨機碼,將隨機碼發(fā)送給服務(wù)器或者移動終端,服務(wù)器或者移動終端根據(jù)步驟(31)確定的加密方式生成第一密文,將第一密文反饋給嵌入式終端;
步驟(342):同時嵌入式終端根據(jù)步驟(31)確定的加密方式將隨機碼加密后生成第二密文,將第二密文與服務(wù)器或者移動終端反饋回的第一密文對比,如果內(nèi)容一致,進入后續(xù)通信,如果校驗失敗,斷開嵌入式終端與服務(wù)器或者移動終端的連接,重新啟動連接;
步驟(343):進入重新啟動連接以后,重復(fù)步驟(341)到步驟(343),連續(xù)三次校驗失敗以后,延時設(shè)定時間后再進入步驟(341)。
本發(fā)明的有益效果:
通過本發(fā)明的實施,通過硬件啟動加密和無線通信加密兩部分結(jié)合,一起實現(xiàn)嵌入式終端的加密,雙重加密,雙重保障,保障了嵌入式終端運行的安全可靠,同時也有效的防止了那些惡意破解硬件設(shè)備及其嵌入式程序的競爭對手,有效的保障了技術(shù)的不泄露。
同時,本發(fā)明加密成本低,雙重加密可靠性高,保障性強。
附圖說明
圖1為本發(fā)明的系統(tǒng)組成框圖;
圖2為本發(fā)明的整體工作流程圖實施例一;
圖3為本發(fā)明的整體工作流程圖實施例二;
圖4為本發(fā)明的硬件啟動加密流程圖;
圖5為本發(fā)明的無線通信加密流程圖。
具體實施方式
下面結(jié)合附圖與實施例對本發(fā)明作進一步說明。
如圖1所示,一種嵌入式加密系統(tǒng)包括嵌入式終端和服務(wù)器或者移動終端,二者通過WIFI或者藍牙進行通信。
嵌入式終端包括MCU,F(xiàn)LASH存儲單元,加密芯片。MCU為主控單元,與FLASH存儲單元,加密芯片連接,進行數(shù)據(jù)和命令信息的傳輸;FLASH存儲單元用來存儲需要保存的有效信息,受控于MCU。加密芯片負責(zé)加密運算,通過MCU的控制來選擇加密方式。
服務(wù)器或者移動終端,與嵌入式終端進行通信,實現(xiàn)二者之間加密信息的驗證,保障系統(tǒng)的安全性。
如圖2所示,一種嵌入式加密系統(tǒng)的加密方法,通過以下步驟來完成:
系統(tǒng)啟動:嵌入式終上電,準(zhǔn)備運行。
硬件啟動加密:進入硬件啟動加密驗證過程,進行如圖4所示的驗證過程中。
無線通信加密:當(dāng)硬件啟動加密成功以后,進入如圖5所示的驗證過程中。
正常運行:系統(tǒng)進入正常運行階段,通過雙重的加密保障了系統(tǒng)的安全可靠運行。
如圖3所示,一種嵌入式加密系統(tǒng)的加密方法,通過以下步驟來完成:
系統(tǒng)啟動:嵌入式終上電,準(zhǔn)備運行。
硬件啟動加密:進入硬件啟動加密驗證過程,進行如圖4所示的驗證過程中。
無線通信加密:當(dāng)硬件啟動加密成功以后,進入如圖5所示的驗證過程中。
秘鑰更改:當(dāng)無線通信加密完成以后,可以通過服務(wù)器或者移動終端實現(xiàn)密鑰更改,密鑰更改包括啟動硬件啟動加密密鑰更改和無線通信密鑰更改。
正常運行:當(dāng)秘鑰更改成功以后,系統(tǒng)進入正常運行階段,通過雙重的加密以及加密驗證以后的秘鑰更改,保障了系統(tǒng)的安全可靠運行。
如圖4所示,硬件啟動加密通過如下流程實現(xiàn):
上電運行:嵌入式硬件終端上電,準(zhǔn)備運行
讀取秘鑰:MCU首先讀取硬件終端的FLASH中的密文的密鑰
解密:MCU將密鑰解密得到明文密鑰,然后生成隨機數(shù)
加密芯片生成驗證碼:將MCU生成的隨機數(shù),寫入到加密芯片中,加密芯片采用SHA1算法,將隨機數(shù)計算為信息驗證碼。
MCU生成信息驗證碼:MCU將隨機數(shù)也通過SHA1算法,生成信息驗證碼。
密碼驗證:將加密芯片計算出的信息驗證碼與MCU計算出的結(jié)果對比。
正常運行或者重新啟動:如果結(jié)果一致,程序進入正常運行流程,如果結(jié)果不一致,程序進入復(fù)位流程,重新啟動。
如圖5所示,無線通信加密通過如下流程實現(xiàn):
加密方式選擇:在通信的開始,嵌入式終端與服務(wù)器或者移動終端,首先進行一輪明文傳輸,服務(wù)器或者移動終端接收到嵌入式終端的信息,根據(jù)通信協(xié)議的約定,選擇一種加密方式。在嵌入式終端已經(jīng)實現(xiàn)的加密方式有AES、DES、TEA、SHA1。
加密范圍的選擇:根據(jù)第一輪明文通信協(xié)議的內(nèi)容約定,同時服務(wù)器或者移動終端確定后續(xù)通信內(nèi)容全部加密,還是只進行首輪通信的加密驗證。
信息加密:在第一輪明文通信結(jié)束以后,嵌入式終端的加密芯片生成隨機碼,將隨機碼發(fā)送給服務(wù)器或者移動終端,服務(wù)器或者移動終端根據(jù)步驟1確定的加密方式生成密文,將密文反饋給嵌入式終端。
加密驗證:同時嵌入式終端根據(jù)選定的加密方式將隨機碼加密后生成密文,與服務(wù)器或者移動終端反饋回的密文對比驗證。
驗證結(jié)果:如果內(nèi)容一致,進入后續(xù)通信,如果校驗失敗,斷開與服務(wù)器或者移動終端的連接,重新啟動連接。進入重新啟動連接以后,重復(fù)以上步驟,連續(xù)三次校驗失敗以后,系統(tǒng)自動延時三分鐘再進入驗證程序,防止暴力破解。
上述雖然結(jié)合附圖對本發(fā)明的具體實施方式進行了描述,但并非對本發(fā)明保護范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動即可做出的各種修改或變形仍在本發(fā)明的保護范圍以內(nèi)。