〖技術(shù)領(lǐng)域〗
本發(fā)明涉及加密認(rèn)證技術(shù)領(lǐng)域,具體涉及系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法。
〖
背景技術(shù):
〗
隨著單片機(jī)和大規(guī)模集成電路的飛速發(fā)展,人們應(yīng)用單片機(jī)及相關(guān)的外圍電子器件研制開發(fā)也進(jìn)入了一個百家爭鳴,百花齊放的時期。但是隨之而來的是如何保證產(chǎn)品不被仿制,系統(tǒng)加密就成了保護(hù)知識產(chǎn)權(quán)不受侵犯的關(guān)鍵技術(shù),加密方法的基本思路是對硬件電路和軟件程序采取一切可用的方法增加其仿制的難度,防止硬件電路原理和軟件被破譯。如何簡單有效的對系統(tǒng)加密,一直以來就是在研究探索的問題,但總體來說主要包括硬件加密、軟件加密以及硬件軟件相結(jié)合的加密方式,這種方式通常是結(jié)合專用的加密芯片實現(xiàn)。
相比較于單純的硬件加密和軟件加密方式,軟件和硬件相結(jié)合的綜合加密方式,應(yīng)用范圍廣泛、系統(tǒng)開銷不大、加密性能高,能夠高效穩(wěn)固的實現(xiàn)系統(tǒng)的加密保護(hù)。
但目前這種加密防護(hù)機(jī)制,在實際生產(chǎn)應(yīng)用中存在安全漏洞,首先,如密鑰是后期約定后在生產(chǎn)環(huán)節(jié)燒入專用加密芯片中,很難保證密鑰不被泄露;再者所有產(chǎn)品中的密鑰都是一樣的,降低了安全性;第三、用于加密認(rèn)證的隨機(jī)數(shù)據(jù)由軟件方式產(chǎn)生,實際上無法保證數(shù)據(jù)的真正隨機(jī),導(dǎo)致驗證數(shù)據(jù)有可預(yù)測性,從而在沒有密鑰的情況下,存在通過系統(tǒng)認(rèn)證的風(fēng)險,因此很難保證系統(tǒng)信息的安全。
〖
技術(shù)實現(xiàn)要素:
〗
鑒于上述問題,本發(fā)明旨在提供一種對這種加密認(rèn)證機(jī)制的改進(jìn)方法,應(yīng)用于系統(tǒng)軟件和硬件相結(jié)合的綜合加密認(rèn)證。本發(fā)明的目的由以下技術(shù)方案實現(xiàn):
一種系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法,所述系統(tǒng)包括:主機(jī)密鑰存儲模塊、主控加密模塊、主機(jī)隨機(jī)數(shù)發(fā)生器、從機(jī)解密模塊、從機(jī)密鑰存儲、從機(jī)隨機(jī)數(shù)發(fā)生器;其特征在于,所述方法包括:主機(jī)啟動后首先檢查主機(jī)密鑰存儲模塊中是否已經(jīng)設(shè)置好了密鑰,如果沒有設(shè)置好密鑰,主機(jī)會發(fā)出“設(shè)置密鑰”命令給從機(jī),當(dāng)從機(jī)收到“設(shè)置密鑰”命令后,從機(jī)由自己內(nèi)部的隨機(jī)數(shù)發(fā)生器獲取隨機(jī)密鑰,并將密鑰更新到從機(jī)密鑰存儲模塊,并設(shè)置隨機(jī)密鑰產(chǎn)生完成標(biāo)志;主機(jī)由從機(jī)讀取回該隨機(jī)密鑰,并更新到主機(jī)密鑰存儲模塊,此時主機(jī)和從機(jī)擁有了可用于加密認(rèn)證的相同密鑰。
上述方法的過程在實際應(yīng)用中只會在系統(tǒng)第一次上電時僅發(fā)生唯一一次,產(chǎn)生的密鑰為隨機(jī)密鑰,而密鑰通??梢栽O(shè)置在128bit以上,因此可以認(rèn)為任何兩個設(shè)備都不會有相同的密碼,由于密碼不需要人為約定,由系統(tǒng)隨機(jī)設(shè)定,避免了密碼由工作人員保管帶來的泄露風(fēng)險。當(dāng)主機(jī)和從機(jī)密碼設(shè)定完成后,主機(jī)系統(tǒng)程序運行中如果需要密碼認(rèn)證,則由主機(jī)從隨機(jī)數(shù)發(fā)生器產(chǎn)生一串隨機(jī)數(shù)據(jù),該隨機(jī)數(shù)發(fā)生器的使用可以避免傳統(tǒng)的軟件方式產(chǎn)生隨機(jī)數(shù)帶來的可預(yù)測性問題,主機(jī)加密模塊使用密鑰對該隨機(jī)數(shù)據(jù)進(jìn)行加密,加密后發(fā)送給從機(jī),從機(jī)解密模塊3使用密鑰對加密數(shù)據(jù)進(jìn)行解密,解密完成后,設(shè)置標(biāo)志位,主機(jī)隨即將解密結(jié)果讀回比對,如果從機(jī)解密結(jié)果和主機(jī)加密前的數(shù)據(jù)相同則系統(tǒng)正常運行,如果從機(jī)解密結(jié)果和主機(jī)加密前的數(shù)據(jù)不相同則系統(tǒng)停止運行。
相對于現(xiàn)有技術(shù),本發(fā)明的有益效果是:將原來人為約定密鑰,人為保管密鑰,人為燒錄密鑰的方式改變?yōu)橛上到y(tǒng)隨機(jī)產(chǎn)生密鑰,全過程無需人為參與,避免了由于人為參與帶來的密碼泄露風(fēng)險,另外加密認(rèn)證數(shù)據(jù)由真正的隨機(jī)數(shù)發(fā)生器產(chǎn)生,避免了驗證數(shù)據(jù)的可預(yù)測性問題。
〖附圖說明〗
圖1為本發(fā)明實施例提供的一種系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法的系統(tǒng)結(jié)構(gòu)框圖。
圖2為本發(fā)明實施例提供的一種系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法的主機(jī)處理流程圖。
圖3為本發(fā)明實施例提供的一種系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法的從機(jī)處理流程圖。
〖具體實施方式〗
下面結(jié)合附圖對本發(fā)明的具體實施方式作進(jìn)一步說明:
如圖1所示,本發(fā)明提供了一種系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法,其基于的系統(tǒng)包括:主機(jī)密鑰存儲模塊1,主控加密模塊2,從機(jī)解密模塊3,從機(jī)密鑰存儲4,從機(jī)隨機(jī)數(shù)發(fā)生器5,主機(jī)隨機(jī)數(shù)發(fā)生器6;主機(jī)和從機(jī)使用相同的加密算法。
下面結(jié)合附圖和具體實施例對本發(fā)明一種系統(tǒng)加密認(rèn)證機(jī)制的改進(jìn)方法進(jìn)行詳細(xì)說明。主要包括以下步驟:
結(jié)合圖2所示,主機(jī)部分:
步驟s101、上電復(fù)位,做初始化工作后,系統(tǒng)開始運行;
步驟s102、在進(jìn)行加密認(rèn)證之前對主機(jī)密鑰存儲單元檢查,確定其內(nèi)部是否已經(jīng)保存了用于數(shù)據(jù)加密的密鑰,如果已經(jīng)更新了密鑰則進(jìn)入步驟s106,如果發(fā)現(xiàn)密鑰沒有更新,則進(jìn)入步驟s103,開始密鑰設(shè)置;
步驟s103、主機(jī)按照從機(jī)的設(shè)計要求,發(fā)送“設(shè)置密鑰”命令給從機(jī);
步驟s104、主機(jī)發(fā)送完“設(shè)置密鑰”命令后,等待從機(jī)完成密鑰生成;
步驟s105、主機(jī)通過從機(jī)密鑰生成結(jié)束標(biāo)志發(fā)現(xiàn)密鑰生成完成后,從從機(jī)將密鑰讀取回來,并且更新到主機(jī)密鑰存儲模塊;
步驟s106、等待一次加密認(rèn)證流程的開始;
步驟s107、主機(jī)從隨機(jī)數(shù)發(fā)生器中獲取一串隨機(jī)數(shù)用于加密認(rèn)證;
步驟s108、將步驟s107產(chǎn)生的隨機(jī)數(shù)通過步驟s105設(shè)置的密鑰和加密算法對其進(jìn)行加密;
步驟s109、將加密后數(shù)據(jù)發(fā)送到從機(jī);
步驟s110、等待從機(jī)完成數(shù)據(jù)解密過程;
步驟s111、主機(jī)從從機(jī)中讀回從機(jī)解密后的結(jié)果數(shù)據(jù);
步驟s112、主機(jī)將從從機(jī)中讀取回來的加密結(jié)果數(shù)據(jù)和主機(jī)在步驟s107回去的待加密數(shù)據(jù)進(jìn)行比較,檢查兩個數(shù)據(jù)是否相同,如果相同則進(jìn)入步驟s113,如果不相同則進(jìn)入步驟s114;
步驟s113、系統(tǒng)正常運行;
步驟s114、系統(tǒng)停止運行。
結(jié)合圖3所示,從機(jī)部分:
步驟s201、上電復(fù)位,從機(jī)工作就緒;
步驟s202、等待一次加密認(rèn)證流程或設(shè)置密碼流程的開始;
步驟s203、當(dāng)收到主機(jī)發(fā)送來的數(shù)據(jù)后檢查是否是“設(shè)置密鑰”命令,如果是則進(jìn)入步驟s204處理,如果不是則進(jìn)入步驟s205處理;
步驟s204、檢查是否已經(jīng)設(shè)置過密鑰,如果密鑰已經(jīng)設(shè)置完成,則對“設(shè)置密鑰”命令不做處理,并禁止主機(jī)讀取密鑰;如果密鑰沒有設(shè)置,則進(jìn)入步驟s206處理;
步驟s205、對主機(jī)發(fā)送來的加密數(shù)據(jù),由從機(jī)解密模塊利用從機(jī)密鑰存儲模塊中的密鑰對數(shù)據(jù)進(jìn)行解密處理;
步驟206、從機(jī)通過從機(jī)隨機(jī)數(shù)發(fā)生器產(chǎn)生隨機(jī)密鑰,并將該密鑰更新到從機(jī)密鑰存儲模塊中;
步驟207、步驟s205和步驟s206操作完成后,更新操作完成狀態(tài)標(biāo)志位,供主機(jī)查詢使用。
以上實施例僅為充分公開而非限制本發(fā)明,凡基于本發(fā)明的創(chuàng)作主旨、未經(jīng)創(chuàng)造性勞動的等效技術(shù)特征的替換,應(yīng)當(dāng)視為
本技術(shù):
揭露的范圍。