專利名稱:一種計算機軟件的保密裝置的制作方法
本發(fā)明涉及一種實施計算機軟件保密、防止計算機軟件無償使用的裝置。
現(xiàn)在計算機軟件的隨便復制、無償使用極為普遍,于是,計算機軟件的研制單位和生產(chǎn)單位就盡力采取一些技術措施,對其出售的軟件進行加密處理,以防人們無償使用。目前使用的加密方法可分為兩類一類是在出售的存貯有軟件的磁盤上制造機械損傷。被保護的軟件在其運行時,首先對使用的磁盤進行檢查,確定磁盤有無損傷及損傷部位,并與軟件中存貯的數(shù)據(jù)進行比較,從而確定被使用的磁盤是不是原版磁盤。如果不是原版磁盤,軟件則立即仃止運行,從而保證軟件只有在原版磁盤時才能運行。這種方法必須起動磁盤驅動器,通過對磁盤的讀、寫操作來完成,因此,只能把檢查程序部分置于被保護軟件的開頭部分,這樣就容易被破譯,使保密失效。
另一類是通過改變盤片上信息存貯的格式、磁道數(shù)、校驗和等,使磁盤拷貝程序不能復制,以此來防止軟件被復制和使用。但不斷出現(xiàn)的新的拷貝軟件,已使不少用這類方法加密的磁盤變得可以復制。
上述兩種保密方式都沒有脫離磁盤本身,而磁盤在使用中又是較易損壞的,這樣磁盤一旦發(fā)生損壞,軟件的買方就只有到賣方那里才能復制。
本發(fā)明的目的是提供一種用硬件為軟件實施保密的方式,以克服上述兩種方法的缺點,加大軟件保密的可靠性。
本發(fā)明的特點是把硬件做成插卡型式,插在計算機的外設插槽中,軟件與插卡結合使用,使軟件正常運行。具體實施方案結合。
圖1,是計算機軟件保密裝置方式一的電路原理圖。它由密碼鎖電路(1)、封鎖電路(2)和數(shù)據(jù)程序存貯器(3)為基本單元的電路構成。CPU在向保密裝置硬件電路讀取數(shù)據(jù)前,必須把作為密鑰的數(shù)據(jù)寫入保密裝置,然后才能讀出數(shù)據(jù)及程序段。當CPU向保密卡寫入數(shù)據(jù),在控制總線(4)和地址總線(5)的共同作用下,地址譯碼器(6)送出輸入允許信號到地址譯碼輸出線(7),使數(shù)據(jù)總線(8)上的數(shù)據(jù)通過同相總線驅動器(9)出現(xiàn)在其輸出端,得到同相數(shù)據(jù)(10),并從同相總線驅動器(9)的輸出端送到反相器(11),在其輸出端得到反相數(shù)據(jù)(12)。同相數(shù)據(jù)(10)與反相數(shù)據(jù)(12)共提供十六位數(shù)據(jù),從這十六位中任選八位用跳線(13)接到8輸入與非門(14A)的輸入端。(14B)、(14C)、(14D)、(14E)、(14F)、(14G)、(14H)都為8輸入與非門,它們的輸入端都是從同相數(shù)據(jù)(10)與反相數(shù)據(jù)(12)十六位數(shù)據(jù)中任選八位用跳線連接到各自的輸入端。在剛加電時,系統(tǒng)的復位線(15)的復位信號使密碼鎖鏈(16)上的八個觸發(fā)器(D1)、(D2)、(D3)、(D4)、(D5)、(D6)、(D7)、(D8)全部置“φ”。與非門(14A)、(14B)、(14C)、(14D)、(14E)、(14F)、(14G)、(14H)的輸出端分別對應的接到觸發(fā)器(D1)、(D2)、(D3)、(D4)、(D5)、(D6)、(D7)、(D8)的CK端。只有在(D8)的輸出端Q=1時,與非門(17)才有可能輸出低電平,而(D8)又只有在它的D端為“1”并且有打入脈沖CK時,才能使(D8)的Q=1。(D8)的D端接到(D7)的Q端,如果(D7)的Q端不為“1”,不管CK端有無脈沖均不能使(D8)的Q端為“1”,而(D7)的Q端置“1”又要靠(D6)的Q端為“1”和(D7)的CK端有打入脈沖,(D6)的Q端置“1”又要靠(D5)的Q端為“1”,這樣的聯(lián)接一直到(D1),形成一個“鏈”。只有前面的觸發(fā)器置“1”后,后面的觸發(fā)器才能置“1”。與非門(14A)、(14B)、(14C)、(14D)、(14E)、(14F)、(14G)、(14H)的輸出端有打入脈沖送到各自對應的觸發(fā)器(D1)、(D2)、(D3)、(D4)、(D5)、(D6)、(D7)、(D8)的CK端的條件與同相數(shù)據(jù)(10)和反相數(shù)據(jù)(12)及跳線(13)的聯(lián)接方式有關,跳線一旦連接好,就只與CPU數(shù)據(jù)總線(8)送來的數(shù)據(jù)有關,而CPU送入的數(shù)據(jù)就是密鑰數(shù)據(jù)。CPU只要送入8個字節(jié)的正確數(shù)據(jù),就會使觸發(fā)器(D1)、(D2)、(D3)、(D4)、(D5)、(D6)、(D7)、(D8)置“1”。如果此時封鎖觸發(fā)器(18)的Q端為“1”,輸出允許線(19)上就會有輸出允許信號。在輸出允許線(19)上有輸出允許信號時,CPU向8鎖存器(20)和8鎖存器(21)送入數(shù)據(jù)作為數(shù)據(jù)程序存貯器(3)的地址,(3)中數(shù)據(jù)出現(xiàn)在數(shù)據(jù)輸出線(22)上,CPU就可以通過總線驅動器(23)讀取數(shù)據(jù)。
封鎖電路由8輸入與非門(24)、與門(25)、封鎖觸發(fā)器(18)、同相驅動器(26)及電阻R、電容器C構成。電阻R、電容C和同相驅動器(26)保證在加電時封鎖觸發(fā)器(18)Q端為“1”。當CPU向同相總線驅動器(9)寫入數(shù)據(jù)時,必須保證(14A)、(14B)、(14C)、(14D)、(14E)、(14F)、(14H)8個門有一個輸出為“φ”,使與非門(24)輸出為“1”,再通過與門(25)加到封鎖觸發(fā)器(18)的D端。在地址譯碼器(6)的輸出線(7)上的信號同時作為CK脈沖,在它的作用下,使封鎖觸發(fā)器(18)打入“1”,保證封鎖觸發(fā)器(18)的輸出端為“1”,這說明CPU寫入一個正確的密鑰數(shù)字。一旦CPU寫入的數(shù)據(jù)不能使與非門(24)輸出為“1”,也就是作為密鑰寫的數(shù)據(jù)不對,“φ”將打入封鎖觸發(fā)器(18),使(18)的Q=φ,封鎖了與非門(17),使輸出允許線(19)上保持無效信號。封鎖觸發(fā)器(18)的Q端的“φ”通過與門(25)加到(18)的D端,一旦(18)的Q端等于“φ”時,任何操作均不能改變封鎖觸發(fā)器(18)Q端的低電平。只有關電后再次加電,才能使(18)的Q端重新為“1”。
圖2,是計算機軟件保密裝置方式二的電路原理圖。電路由輔助密碼發(fā)生器(27)、數(shù)據(jù)處理器(28)和跳線(37)、(40)、(46)、(50)的基本單元構成。本電路是將已加密的程序數(shù)據(jù)翻回正常狀態(tài)。CPU向保護卡寫入數(shù)據(jù),地址譯碼器(29)在地址總線(30)與控制總線(31)作用下,送出控制信號,將數(shù)據(jù)總線(32)上的數(shù)據(jù)寫入同相總線鎖存器(33),并在(33)的輸出端得到同相數(shù)據(jù)(34)。同樣數(shù)據(jù)經(jīng)過反相器(35)后,得到反相數(shù)據(jù)(36)。同相數(shù)據(jù)(34)與反相數(shù)據(jù)(36)共有16位,以這16位中任選8位連到數(shù)據(jù)輸入線(38),數(shù)據(jù)輸入線(38)上的數(shù)據(jù)與輔助密碼輸入線(39)上的數(shù)據(jù)共同進入數(shù)據(jù)處理器(28),由(28)處理后的數(shù)據(jù)經(jīng)跳線(40)連接到數(shù)據(jù)輸出線(41),CPU通過總線驅動器(42)就可讀到處理后的數(shù)據(jù)。輔助密碼發(fā)生器(27)中的時鐘發(fā)生器(43)產(chǎn)生時鐘信號,經(jīng)時鐘信號輸入線(44)送入計數(shù)器(45),驅動(45)工作。計數(shù)器的輸出經(jīng)跳線(46)連接到只讀存貯器(48)的地址線(47),使數(shù)據(jù)從只讀存貯器(48)的數(shù)據(jù)輸出線(49)輸出,經(jīng)跳線(50)連接到輔助密碼輸入線(39)。數(shù)據(jù)處理器(28)可選擇異或門、加法器、乘法器、除法器、與門、或門中的任一種,或由一種以上結合起來完成數(shù)據(jù)處理。
本發(fā)明的優(yōu)點在于①軟件的運行必須依賴保密卡的支持,沒有保密卡,復制到的軟件無法使用。②保密卡由硬件構成,其運行速度高于機器指令速度,軟件在運行的全過程中可以一直保持與硬件卡的緊密聯(lián)系,保密可靠。③用戶可以復制軟件,克服了磁盤損壞后要到生產(chǎn)廠家復制的弊病。
本發(fā)明可用于APPLEⅡ和軟硬件均與APPLEⅡ兼容的微機、IBM-PC和軟硬件均與IBM-PC兼容的微機及有外設插槽的其它型號的機器。
權利要求
1.一種計算機軟件的保密裝置,其特征在于通過硬件來為軟件實施保密。
2.按照權利要求
1所述的保密裝置,其特征在于所說的硬件是由密碼鎖電路(1)、封鎖電路(2)和數(shù)據(jù)程序存貯器(3)為基本單元的電路構成。
3.按照權利要求
2所述的保密裝置,其特征在于所說的密碼鎖電路(1)的同相數(shù)據(jù)(10)與反相數(shù)據(jù)(12)由跳線(13)分別聯(lián)接到與非門(14A)、(14B)、(14C)、(14D)、(14E)、(14F)、(14G)、(14H)上,改變跳線(13)同與非門的連接方式就改變密鑰的數(shù)據(jù)。
4.按照權利要求
2所述的保密裝置,其特征在于所說的封鎖電路(2)中封鎖觸發(fā)器(18)的Q端為“φ”時則封鎖與非門(17),使輸出允許線(19)輸出無效信號。
5.按照權利要求
4所述的保密裝置,其特征在于所說的封鎖電路(2)中有同相驅動器(26)、R、C組成的置“1”電路,在加電時使封鎖觸發(fā)器(18)置“1”。
6.按照權利要求
5所述的保密裝置,其特征在于所說的封鎖電路(2)中的與門(25)把封鎖觸發(fā)器(18)的Q端電平傳送到封鎖觸發(fā)器(18)的D端。
7.按照權利要求
1所述的保密裝置,其特征在于所說的硬件是由輔助密碼發(fā)生器(37)、數(shù)據(jù)處理器(28)和跳線(37)、(40)、(46)、(50)為基本單元的電路構成。
8.按照權利要求
7所述的保密裝置,其特征在于所說的輔助密碼發(fā)生器(27)中的時鐘發(fā)生器(43)和計數(shù)器(45)組成的電路產(chǎn)生地址數(shù)據(jù),地址數(shù)據(jù)經(jīng)過跳線(46)送到只讀存貯器(48)。
9.按照權利要求
7所述的保密裝置,其特征在于所說的跳線(37)、(40)、(46)、(50),改變其中任何一處跳線的連接方式,就可改變?nèi)龖B(tài)總線驅動器(42)處理后的輸出數(shù)據(jù)。
專利摘要
本發(fā)明涉及一種實施計算機軟件保密,防止計算機軟件無償使用的裝置。本發(fā)明的特點是提供一種用硬件為軟件實施保密的方式,把硬件做成插卡型式,插在計算機的外設插槽中,軟件的運行依賴保密卡的支持,軟件在運行的整個過程中始終保持與硬件卡的緊密聯(lián)系,它有效地防止了計算機軟件的無償使用。
文檔編號G06F15/08GK86104856SQ86104856
公開日1988年2月10日 申請日期1986年7月31日
發(fā)明者孫凱 申請人:江西冶金學院導出引文BiBTeX, EndNote, RefMan