嵌入式安全保密模塊的設計及在軟件版權保護中的應用
摘要:
隨著(zhù)科學(xué)技術(shù)日新月異,計算機應用的普及,帶來(lái)了軟件開(kāi)發(fā)領(lǐng)域的蓬勃發(fā)展,軟件開(kāi)發(fā)的艱辛與軟件盜用的輕而易舉,讓許多不法盜版商享受到了世間難有的免費午餐,而軟件開(kāi)發(fā)者和版權所有者看著(zhù)自己艱苦奮斗得到的勞動(dòng)成果卻只能感嘆萬(wàn)分。所以,如何保護開(kāi)發(fā)軟件的版權,變得越來(lái)越重要了,我們不可能把版權的保護僅僅寄托在有關(guān)的法律上,而且實(shí)施版權的自我保護也成為必要的手段。
隨著(zhù)嵌入式系統逐漸走進(jìn)我們的日常生活,它也漸漸地和Windows一樣為人熟知,作為應用軟件,嵌入式軟件雖然面對的不是最終的消費者,而是硬件生產(chǎn)廠(chǎng)商,盡管不會(huì )輕易發(fā)生盜版軟件的現象,但如何量化軟件的使用量,如何保護軟件廠(chǎng)商的利益,這也是我們作為軟件開(kāi)發(fā)者和版權所有者值得重視的問(wèn)題。
本項目設計方案是基于FPGA的嵌入式安全保密模塊ESMF (Embedded Security Module based on FPGA),并通過(guò)高密計算返回安全認證碼,通過(guò)安全認證碼與密匙校驗,為用戶(hù)解決高密數據存儲、身份認證等很多安全問(wèn)題,這將為軟件版權的保護提供有效的途徑。
1、項目背景
1.1 研究背景
如今計算機應用的飛速發(fā)展,使得軟件的應用也突飛猛進(jìn),促進(jìn)了軟件開(kāi)發(fā)領(lǐng)域高速的發(fā)展,使得人們的學(xué)習、工作、生活更為便捷、簡(jiǎn)單、高效!可當我們感受軟件給我們帶來(lái)利益的同時(shí),又有誰(shuí)會(huì )去憐憫那些辛勤為軟件開(kāi)發(fā)做出犧牲的開(kāi)發(fā)者和版權所者的勞動(dòng)成果呢?因此,軟件開(kāi)發(fā)者和版權所者就如何解決保護軟件的版權問(wèn)題,就顯得尤為急迫。
本設計項目通過(guò)ESMF設計,有效地解決了保護軟件版權的問(wèn)題,實(shí)現一套軟件對應一個(gè)密匙的模式,從而達到對軟件版權實(shí)施強有力的保護。
1.2 本項目的優(yōu)點(diǎn)
本項目采用硬件描述語(yǔ)言Verilog HDL進(jìn)行編程設計,主要完成基于FPGA的嵌入式安全保密模塊ESMF的設計,通過(guò)安全保密保密模塊ESMF成功的身份認證,應用軟件才會(huì )繼續運行,否則,軟件終止執行,從而起到軟件版權的保護作用。
本設計項目具有如下優(yōu)點(diǎn):
(1)具有高性?xún)r(jià)比、高安全性、高可靠性。
(2)嵌入式安全保密模塊ESMF具有唯一的序列號S/N。
(3)電路設計簡(jiǎn)單,易編程,高效率。
1.3應用拓展
本設計項目可應用其他保密領(lǐng)域,譬如保險柜行業(yè),保險密匙,安全保險門(mén)等。
2、項目方案
2.1 實(shí)現功能
采用硬件描述語(yǔ)言Verilog HDL進(jìn)行設計,內部實(shí)現Chaos加密算法,過(guò)串行接口與外部芯片進(jìn)行數據交換。最終封裝為IP核,方便在FPGA器件中調用與實(shí)現。具有高性?xún)r(jià)比、高安全性、高可靠性的特點(diǎn),應用于各種嵌入式終端實(shí)現數據的安全存儲,實(shí)現終端的身份識別與認證等功能。
2.2 方案設計原理
本項目是基于FPGA的嵌入式安全保密模塊ESMF,完成軟件運行前需要身份認證,以下為本設計項目實(shí)施方案的硬件系統框架圖:
圖1 基于FPGA的嵌入式安全保密模塊ESMF
2.3 認證流程
外接處理器主要分為數據發(fā)送、數據接收和數據處理部分。
身份認證過(guò)程如下:
- ESMF復位,從S/N存儲器中調出序列號S/N,向處理器發(fā)送序列號S/N。
- 處理器提取預設的編碼MK,經(jīng)過(guò)Chaos加密算法CSK=Chaos(MK,S/N),計算得出密鑰CSK。
- 處理器發(fā)送CSK,把CSK保存到CSK存儲器中。
- 處理器隨機產(chǎn)生一個(gè)隨機數RND,經(jīng)過(guò)Chaos加密算法Y=Chaos(CSK,RND),計算得出Y值。
- 處理器把隨機數RND發(fā)送給ESMF。
- ESMF接收到RND后,調用密鑰SCK,通過(guò)Chaos加密算法X=Chaos(CSK,RND),計算得出X值。
- 將X值返回到處理器,將X與Y進(jìn)行校驗,判斷是否相等。若X與Y相等,那么身份認證成功,軟件繼續運行,否則,軟件終止執行。
以下是系統運行的流程圖:
圖2 身份認證流程圖
評論