專利名稱:軟件產品生產安全控制方法
技術領域:
本發(fā)明涉及一種軟件產品生產安全控制裝置及其控制方法。
背景技術:
隨著計算機技術的不斷發(fā)展,面向各應用領域或行業(yè)需求的軟件不斷地孕育而生。但無論哪種優(yōu)秀的軟件,其內部核心的技術往往是該軟件的命脈,一旦被他人竊取或被非法復制,由此受到的經(jīng)濟損失是無法估計的。軟件的版權保護產品作為一種信息安全設備在軟件版權保護領域發(fā)揮著重要的作用,它保護軟件開發(fā)商的利益、增加收益,保護合法用戶的利益,還可以控制軟件分銷。軟件產品的版權保護除了軟件本身的抗攻擊,硬件保護裝置自身的安全性,還應該包括生產過程中的管理控制環(huán)節(jié)。如果生產過程不能有效的保證可控的話,就算產品出產以后擁有完美的保障措施,還是不能避免在生產過程中就存在的安全威脅。我們使用加密鎖來控制軟件產品售出以后的安全使用,但是不能排除,在軟件產品的生產過程中,如果被非授權的使用者得到了加密鎖的生產數(shù)據(jù),那么非法的克隆一個“加密鎖”,就會使得軟件的防盜版付之東流??梢?,生產過程中的安全控制是非常重要的。
發(fā)明內容
本發(fā)明克服了上述缺陷,提供一種能夠在軟件產品生產過程中安全有限地保護信息安全的軟件產品生產安全控制裝置及其控制方法。本發(fā)明解決其技術問題所采取的技術方案是一種軟件產品安全生產裝置,包括一個帶有通信接口的生產主機和一個安全控制設備,所述生產主機和安全控制設備通過所述通信接口相連,進行數(shù)據(jù)傳輸。所述安全控制設備可包括主控芯片和分別與所述主控芯片相連的通訊模塊和存儲器,所述主控芯片為包括CPU、MCU、單片機的微處理器或智能卡芯片。所述通訊模塊可包括USB接口通信模塊、串行接口通信模塊或并行接口通信模塊。所述通訊模塊和/或存儲器可內置于所述主控芯片中或為與所述主控芯片分立的通信接口芯片和/或外部存儲器。一種采用軟件產品安全生產裝置的安全控制方法,需要燒寫在加密鎖中的關鍵代碼和置于所述安全生產裝置中的控制代碼,共同構成用于生產軟件保護加密鎖的鎖內數(shù)據(jù)。用于生產軟件產品的鎖內數(shù)據(jù)可為密文形式,通過所述安全控制設備解析成明文后由所述生產主機進行生產。
鎖內數(shù)據(jù)可以密文的狀態(tài)存儲在安全控制設備中,然后通過生產主機將密文燒入加密鎖中,加密鎖解密后使用燒入的數(shù)據(jù)。鎖內數(shù)據(jù)可以明文狀態(tài)保存在生產用主機端,通過安全控制設備將主機端的明文數(shù)據(jù)進行加密,然后將加密后的密文通過生產工具燒入加密鎖中,加密鎖解密后使用燒入的數(shù)據(jù)。還可包括判斷當前生產軟件產品的個數(shù)是否超過了授權的產品個數(shù),如果超過則不再允許繼續(xù)生產加密鎖。所述加密、解密方法可包括RSA、DES、3DES等加、解密算法。與現(xiàn)有技術相比本發(fā)明的有益效果是實現(xiàn)方法多樣,安全等級可以定制,設備可以做到簡捷,使用方便,保證了在沒有正確的安全控制設備的情況下,生產過程不能進行。而且?guī)淼暮锰庍€有
I.防止被保護的代碼的泄漏。所述生產主機中的數(shù)據(jù)不是直接復制到加密鎖中,因此非授權生產的加密鎖是無法直接跟軟件本身配合的。2.防止加密鎖的無授權生產。加密鎖的生產數(shù)量也受到開發(fā)商的限制,保證不會在不經(jīng)過授權的情況下大量非法生產。
圖I為本發(fā)明中第一種安全控制設備的結構示意2為本發(fā)明中第二種安全控制設備的結構示意3為本發(fā)明中第三種安全控制設備的結構示意4為實施例I的控制流程5為實施例2的控制流程6為實施例3的控制流程圖
具體實施例方式本發(fā)明中,所述軟件產品可以為加密鎖或其他內置有軟件的產品,并以生產用于軟件保護的加密鎖的生產主機和所述安全控制設備為例,對本發(fā)明內容做進一步闡述。如圖廣3為本發(fā)明中安全控制設備的結構示意圖如圖I中所示,為第一種安全控制設備的結構示意圖,所述軟件保護裝置102包括一個主控芯片103,所述主控芯片103為集成了存儲器和接口模塊的MCU,并通過與所述軟件保護裝置相連的USB接口或串行接口或并行接口 101與生產主機相連,進行數(shù)據(jù)通信。如圖2中所示,為第二種安全控制設備的結構示意圖,所述軟件保護裝置202中包括一個集成有接口模塊的主控芯片MCU 203和一個與所述MCU相連的外部存儲器204,并通過與所述軟件保護裝置相連的USB接口或串行接口或并行接口 101與所述生產主機相連,進行數(shù)據(jù)通信,所述存儲器可以是RAM,ROM, FALSH,EPROM, EEPROM等。如圖3中所示,為第三種安全控制設備的結構示意圖,所述軟件保護裝置302中包括一個用作主控芯片的MCU 304,和分別與所述主控芯片相連的通信模塊303和外部存儲器305,所述通信模塊303為USB接口芯片,并通過USB接口 301與所述生產主機相連,進行數(shù)據(jù)通信。所述存儲器可以是RAM,ROM, FALSH, EPROM, EEPROM等。
基于上述結構中的任一個,結合具體實施例對本發(fā)明中所采用的安全控制方法對本發(fā)明內容做詳盡描述。實施例一鎖內數(shù)據(jù)以密文的形式存儲在主機端,主機連接安全控制設備之后安全控制設備對數(shù)據(jù)解密,然后通過生產工具將明文數(shù)據(jù)燒入加密鎖,加密鎖可以直接使用燒入的數(shù)據(jù)。具體步驟如下I)主機檢測到安全控制設備的存在,建立通信在進行被保護軟件所需加密鎖(以下簡稱加密鎖)的生產的時候,生產工具只有在檢測到安全控制設備之后,才能進行正常的生產過程,否則,生產工具拒絕生產加密鎖。2)主機向安全控制設備發(fā)送命令或者數(shù)據(jù)檢測到安全控制設備之后,通過USB或者串口或者并口等方式向安全控制設備發(fā) 送需要加密的數(shù)據(jù)或者需要解密的數(shù)據(jù)或者是請求讀取存貯在安全控制設備中的待燒寫的數(shù)據(jù),等待安全控制設備的響應。3)安全控制設備接收到命令或者數(shù)據(jù)之后對數(shù)據(jù)進行處理安全控制設備對接收到的數(shù)據(jù)或者命令進行數(shù)據(jù)的加密或者解密或者準備主機端需要讀取的數(shù)據(jù)。這個過程只有安全控制設備是經(jīng)過授權的或者是合法的硬件才能夠做至IJ,這一步中得到的數(shù)據(jù)是需要燒入加密鎖中的內容,其中包含軟件產品不可或缺的部分。4)安全控制設備將數(shù)據(jù)返回給主機安全控制設備通過USB或者并口或者串口等接口將數(shù)據(jù)返回給應用程序。只有安全控制設備是指定的合法的硬件才能夠還原成正確的加密鎖生產需要的重要數(shù)據(jù),加密鎖生產才能正常進行,否則加密鎖生產中止或者即使可以生產,生成的加密鎖也不能配合軟件正常運行。5)主機將處理好的數(shù)據(jù)通過生產工具燒入加密鎖如圖4中所示,生產用應用端開啟生產過程,所述生產用主機檢測本發(fā)明物所述安全控制設備401并判斷是否存在402,如果不存在,轉到409結束生產,如果存在,判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了本發(fā)明物的授權個數(shù)410,如果超過則中止生產過程,否則,發(fā)送經(jīng)過編碼加密的數(shù)據(jù)給所述安全控制設備403,本發(fā)明物對收到的數(shù)據(jù)進行解密404,并將解密數(shù)據(jù)返回給生產主機405,主機接收到解密之后的數(shù)據(jù)之后將數(shù)據(jù)應用到生產數(shù)據(jù)中406,判斷數(shù)據(jù)是否完整可靠,是否可以是繼續(xù)生產407,如果可以則生產軟件產品所需加密鎖,否則停止生產過程。實施例二 鎖內數(shù)據(jù)以密文的狀態(tài)存儲在安全控制設備中,然后通過生產工具將密文燒入加密鎖中,加密鎖解密后使用燒入的數(shù)據(jù)。如圖5中所示,生產主機端開始生產過程,主機檢測安全控制設備501并判斷是否存在502,如果不存在,轉到509結束生產,如果存在,判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了安全控制設備的授權個數(shù)503,如果超過則中止生產過程,否則,發(fā)送取數(shù)據(jù)命令給安全控制設備504,安全控制設備按照命令要求提取數(shù)據(jù)505,存儲在安全控制設備中的數(shù)據(jù)是密文數(shù)據(jù),將讀到的密文數(shù)據(jù)全部返回給主機506,主機接收到密文數(shù)據(jù)之后將數(shù)據(jù)應用到生產數(shù)據(jù)中507,繼續(xù)生產軟件產品所需加密鎖508。上訴過程保證了,在沒有安全控制設備的情況下,生產部門無法開始生產加密鎖。所述安全控制設備提供給加密鎖的燒寫數(shù)據(jù)是密文的情況下可以在加密鎖內部內置解密代碼,解密之后的數(shù)據(jù)即為加密鎖運行需要的數(shù)據(jù)。實施例三鎖內數(shù)據(jù)以明文狀態(tài)保存在生產用主機端,通過安全控制設備將主機端的明文數(shù)據(jù)進行加密,然后將加密后的密文通過生產工具燒入加密鎖中,加密鎖解密后使用燒入的數(shù)據(jù)。如圖6中所示,生產用主機端檢測安全控制設備601是否存在602,如果不存在,轉到608停止生產,如果存在,判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了安全控制設備的授權個數(shù)603,如果超過則中止生產過程608,否則,主機端將生產用明文數(shù)據(jù)發(fā)送給安全控制設備604,安全控制設備對這些數(shù)據(jù)進行加密605,將加密之后的數(shù)據(jù)返回給主機端606,主機接收到密文數(shù)據(jù)之后將數(shù)據(jù)應用到生產數(shù)據(jù)中607,主機端可以進行加密鎖的生產 609。上述各實施例中 I.編碼加密、解碼,提到的加解密可以是RSA、DES、3DES等加解密方法。編碼解碼方式可以使用任何標準的或者是自定義的方式來實現(xiàn)。2.判斷生產的加密鎖的個數(shù),可以使用內置的計數(shù)器,根據(jù)不同的需求,由開發(fā)商來設定當前需要生產的加密鎖的個數(shù),這個值受到保護不能任意修改。3.上述實施例所指判斷數(shù)據(jù)是否完整,可以通過在數(shù)據(jù)中設定一些標識的方法做到。使得使用正確的硬件解碼后的數(shù)據(jù)包含正確的使用標識。以上對本發(fā)明所提供的軟件產品生產安全控制裝置及其控制方法進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
權利要求
1.一種軟件產品生產安全控制方法,其特征在于 鎖內數(shù)據(jù)以密文的形式存儲在生產主機,生產主機連接安全控制設備之后安全控制設備對數(shù)據(jù)解密,然后通過生產工具將明文數(shù)據(jù)燒入加密鎖,加密鎖直接使用燒入的數(shù)據(jù),具體包括 生產主機檢測安全控制設備是否存在,如果不存在,則停止生產,如果存在,判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了安全控制設備的授權個數(shù),如果超過則中止生產過程,否貝U,發(fā)送經(jīng)過編碼加密的數(shù)據(jù)給所述安全控制設備,所述安全控制設備對收到的數(shù)據(jù)進行解密,并將解密數(shù)據(jù)返回給生產主機,主機接收到解密之后的數(shù)據(jù)之后將數(shù)據(jù)應用到生產數(shù)據(jù)中,判斷數(shù)據(jù)是否完整可靠,是則繼續(xù)生產,將數(shù)據(jù)通過生產工具燒入加密鎖中,加密 鎖直接使用燒入的數(shù)據(jù),否則停止生產過程; 生產主機檢測到安全控制設備之后,通過USB或者串口或者并口方式向安全控制設備發(fā)送經(jīng)過編碼加密的數(shù)據(jù);所述加密采用RSA、或DES或3DES加密方法; 安全控制設備對接收到的數(shù)據(jù)進行解密,這個過程只有安全控制設備是經(jīng)過授權的或者是合法的硬件才能夠做到,這一步中得到的數(shù)據(jù)是需要燒入加密鎖中的內容,其中包含軟件產品不可或缺的部分; 所述判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了安全控制設備的授權個數(shù)具體為判斷內置計數(shù)器的值是否達到預先設定的當前需要生產的加密鎖的個數(shù); 所述判斷數(shù)據(jù)是否完整可靠具體為判斷數(shù)據(jù)中是否包含正確的使用標識。
2.一種軟件產品生產安全控制方法,其特征在于 鎖內數(shù)據(jù)以密文的狀態(tài)存儲在安全控制設備中,然后通過生產工具將密文燒入加密鎖中,加密鎖解密后使用燒入的數(shù)據(jù),具體包括 生產主機檢測安全控制設備是否存在,如果不存在,則停止生產,如果存在,判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了安全控制設備的授權個數(shù),如果超過則中止生產過程,否貝1J,發(fā)送取數(shù)據(jù)命令給安全控制設備,安全控制設備按照命令要求提取數(shù)據(jù),存儲在安全控制設備中的數(shù)據(jù)是密文數(shù)據(jù),將讀到的密文數(shù)據(jù)全部返回給生產主機,生產主機接收到密文數(shù)據(jù)之后將數(shù)據(jù)應用到生產數(shù)據(jù)中,繼續(xù)生產,通過生產工具將密文數(shù)據(jù)燒入加密鎖中,加密鎖解密后使用燒入的數(shù)據(jù);加密鎖內部內置解密代碼,解密之后的數(shù)據(jù)即為加密鎖運行需要的數(shù)據(jù); 所述判斷生產的加密鎖的個數(shù)是否已經(jīng)超過了安全控制設備的授權個數(shù)具體為判斷內置計數(shù)器的值是否達到預先設定的當前需要生產的加密鎖的個數(shù)。
全文摘要
本發(fā)明涉及一種軟件產品生產安全控制裝置及其控制方法。本發(fā)明通過采用安全控制設備對軟件產品的生產過程進行控制,保證了在沒有正確的安全控制設備的情況下,生產過程不能進行。本發(fā)明實現(xiàn)方法多樣,安全等級可以定制,設備可以做到簡捷,使用方便,能夠有效地防止被保護的代碼的泄漏和防止加密鎖的無授權生產。所述生產主機中的數(shù)據(jù)不是直接復制到加密鎖中,因此非授權生產的加密鎖是無法直接跟軟件本身配合的。加密鎖的生產數(shù)量也受到開發(fā)商的限制,保證不會在不經(jīng)過授權的情況下大量非法生產。
文檔編號G06F21/12GK102968580SQ20121040741
公開日2013年3月13日 申請日期2006年1月27日 優(yōu)先權日2006年1月27日
發(fā)明者陸舟, 于華章 申請人:飛天誠信科技股份有限公司