專利名稱:軟件保護系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一個軟件保護系統(tǒng)。依據(jù)本發(fā)明的系統(tǒng)可用于保護諸如應(yīng)用軟件、操作系統(tǒng)等等,并可保護這些軟件不受軟件病毒的感染。
背景技術(shù):
未經(jīng)授權(quán)非法拷貝應(yīng)用程序、操作系統(tǒng)軟件和實用程序是一個帶有一定普遍性的問題。此前還沒有發(fā)現(xiàn)一種好的方法來阻止這種非法拷貝行為,也沒有一種令人滿意的途徑來保護軟件免遭某些蓄意攻擊和破壞軟件的病毒的侵襲。因此,有必要尋找一種合適的保護軟件的方法和途徑。
發(fā)明內(nèi)容
本發(fā)明的目的就是要實現(xiàn)一種軟件保護系統(tǒng)。在該系統(tǒng)中,只有經(jīng)過授權(quán)的用戶才可以對軟件進行操作,其他用戶則不能使用該軟件,并且能夠檢測到對該軟件的非法改動同時發(fā)出警報。
依據(jù)本發(fā)明,可提供一種由以下三部分組成的保護軟件的系統(tǒng)軟件供應(yīng)商部分,隨時準(zhǔn)備為軟件管理中心部分和用戶部分提供程序;軟件管理中心部分,與上述軟件供應(yīng)商部分相連,按預(yù)定的方式轉(zhuǎn)換提供的程序并隨時準(zhǔn)備將此經(jīng)過轉(zhuǎn)換的程序提供給用戶部分;用戶部分,在使用程序期間,與上述軟件供應(yīng)商部分和軟件管理中心部分相連,按預(yù)定的方式轉(zhuǎn)換提供的程序,并將此經(jīng)過轉(zhuǎn)換的程序與上述由軟件管理中心所提供的經(jīng)過轉(zhuǎn)換的程序相比較,只有二者相同時才去執(zhí)行該程序。
同時,依據(jù)本發(fā)明,還可提供一種由以下三部分組成的保護軟件的系統(tǒng)軟件供應(yīng)商部分,使用第一密鑰對程序進行加密得到一經(jīng)過加密的程序,再使用第二密鑰對第一密鑰進行加密得到經(jīng)過加密的第一密鑰,然后將此經(jīng)過加密的程序提供給軟件管理中心部分,并隨時準(zhǔn)備將此經(jīng)過加密的程序和經(jīng)過加密的第一密鑰提供給用戶部分;軟件管理中心部分,與上述軟件供應(yīng)商部分相連,對提供的經(jīng)過加密的程序進行轉(zhuǎn)換得到一經(jīng)過轉(zhuǎn)換和加密的程序,然后使用第三密鑰對該經(jīng)過轉(zhuǎn)換的程序進行加密得到一經(jīng)過加密和轉(zhuǎn)換的程序,再使用第四密鑰對第三密鑰進行加密得到經(jīng)過加密的第三密鑰,并隨時準(zhǔn)備將此經(jīng)過加密和轉(zhuǎn)換的程序及經(jīng)過加密的第三密鑰提供給用戶部分;用戶部分,在使用程序期間,與上述軟件供應(yīng)商部分和軟件管理中心部分相連,按預(yù)定的方式對經(jīng)過加密的程序進行轉(zhuǎn)換得到經(jīng)過轉(zhuǎn)換的程序,然后使用第五密鑰對經(jīng)過加密的第三密鑰進行解密得到解了密的第三密鑰,再使用第三密鑰對經(jīng)過加密和轉(zhuǎn)換的程序進行解密得到解了密的經(jīng)過轉(zhuǎn)換的程序,將此解了密的經(jīng)過轉(zhuǎn)換的程序與上述經(jīng)過轉(zhuǎn)換的程序相比較,只有當(dāng)二者相同時才使用第六密鑰解密第一密鑰,然后使用該第一密鑰去解密并執(zhí)行該程序。
附圖簡介
圖1是根據(jù)本發(fā)明某一實施例的軟件保護系統(tǒng)所適用的一個信息處理網(wǎng)絡(luò)圖。
圖2是根據(jù)本發(fā)明另一實施例的軟件保護系統(tǒng)所適用的一個信息處理網(wǎng)絡(luò)圖。
實施本發(fā)明的最佳方式依據(jù)本發(fā)明某一實施例的軟件保護系統(tǒng)所適用的一個信息處理網(wǎng)絡(luò)圖如圖1所示。該網(wǎng)絡(luò)圖中提供了一個軟件車間1,即軟件供應(yīng)商部分,其中包括加密設(shè)備11和12。在軟件車間1中,使用密鑰K對程序P的全部或部分進行加密,得到經(jīng)過加密的程序P1。其中,密鑰K是特定于程序P的。經(jīng)過加密的程序P1是不能執(zhí)行的。經(jīng)過加密的程序P1要向軟件管理中心2進行注冊。
根據(jù)來自用戶部分3的請求,該用戶已購買了經(jīng)過加密的程序P1,使用用戶的公開密鑰P(u)對密鑰K進行加密,得到經(jīng)過加密的密鑰K1,然后將此密鑰K1發(fā)送到用戶部分3。
軟件管理中心部分2提供了轉(zhuǎn)換設(shè)備21以及加密設(shè)備22和23。在軟件管理中心部分2中,首先使用一種散列函數(shù)對由軟件車間1注冊的經(jīng)過加密的程序P1進行壓縮,得到經(jīng)過壓縮和加密的程序P2,接著使用特定于程序P1的密鑰r對該經(jīng)過壓縮和加密的程序P2進行加密,得到經(jīng)過加密和壓縮的程序P3,然后使用軟件管理中心部分2的保密密鑰S(sc)對密鑰r進行加密,得到經(jīng)過加密的密鑰r1。因為經(jīng)過加密的密鑰r1以及經(jīng)過加密和壓縮的程序P3可以在不指定用戶的情況下事先得到,所以它們可以和由軟件車間1出售的經(jīng)過加密的程序P1存放在同一存儲介質(zhì)中。
在用戶部分3中,在購買程序時或購買程序之后,向軟件車間1發(fā)出購買程序的通告和獲取密鑰的請求。由軟件車間發(fā)來的經(jīng)過加密的密鑰K1作為安裝軟件的輸入。在用戶部分3中,通過使用加載軟件和信息載體設(shè)備31來執(zhí)行程序。設(shè)備31是連在程序執(zhí)行設(shè)備32上的一個裝置。程序執(zhí)行設(shè)備32上可能連接的還有鍵盤顯示設(shè)備、硬盤和磁盤一類的存儲器等等以及輸入/輸出設(shè)備。
在設(shè)備31中,有解密設(shè)備311、312、315和316,轉(zhuǎn)換設(shè)備314,以及比較設(shè)備317。設(shè)備31里包含保密密鑰、解密程序和用戶的認(rèn)證程序。設(shè)備31可以與用戶將要用其執(zhí)行程序的個人計算機上的打印口、RS2 32口等結(jié)合使用,以便進行諸如K1、P1、r1和P3一類數(shù)據(jù)的解密工作和程序的認(rèn)證過程。設(shè)備31可以是,比方說,一片能與個人計算機相連的IC卡。
加密設(shè)備11、12、22和23可以由數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)、快速數(shù)據(jù)加密算法(FEAL)(注冊商標(biāo))等構(gòu)成,但不必僅僅局限于這些例子。這些加密設(shè)備可以是同一類型的,也可以是不同類型的。解密設(shè)備311、312、315和316中的每一個都與其相應(yīng)的加密設(shè)備成對出現(xiàn)。這些解密設(shè)備可以由數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)的解密算法、快速數(shù)據(jù)加密算法(FEAL)等組成,但不必僅僅局限于這些例子。
保密密鑰S(u)和P(sc)是按將其寫入設(shè)備31的存儲器中的方式事先提供給用戶部分的。使用散列函數(shù)的轉(zhuǎn)換設(shè)備可以包含在設(shè)備31中,或者也可以將轉(zhuǎn)換裝置作為一個算法存儲在程序執(zhí)行設(shè)備32的存儲介質(zhì)中。可以將由軟件供應(yīng)商部分提供的經(jīng)過加密的程序P1的部分或全部和經(jīng)過加密的特定的密鑰K1、連同由軟件管理中心部分提供的經(jīng)過加密的密鑰r和經(jīng)過加密及壓縮的程序P2存放在程序執(zhí)行設(shè)備中的磁盤、隨機訪問存儲器RAM、只讀存儲器ROM和光磁盤中,以便在程序執(zhí)行設(shè)備中執(zhí)行主處理過程。
使用加密信息的密鑰的方法可以最好采用公開密鑰系統(tǒng)和密鑰預(yù)分配系統(tǒng)(KPS)。在公開密鑰系統(tǒng)中,預(yù)先生成好公開密鑰、與該公開密鑰相關(guān)的公開文件以及保密密鑰,公開密鑰是單個分配的,保密密鑰是秘密管理的。公開密鑰、與該公開密鑰相關(guān)的公開文件以及保密密鑰的生成和分配主要由軟件管理中心部分的操作來完成。不過,也可以不受這種方式的限制而由用戶部分、軟件供應(yīng)商部分或者二者合作來完成這一工作。生成每個公開密鑰和保密密鑰的具體內(nèi)容的方法是對外公開的。
在密鑰預(yù)分配系統(tǒng)(KPS)中,將另一方的標(biāo)識符應(yīng)用到自己一方特有的保密算法生成一個另一方常見的密鑰。生成諸如保密算法之類的操作主要是在軟件管理中心部分中進行的。軟件管理中心部分各自擁有自己的中心算法。通過應(yīng)用軟件和軟件供應(yīng)商部分的標(biāo)識符,即可生成特定的保密算法。
有關(guān)生成中心算法的方法、生成保密算法的方法、生成公共加密密鑰的方法、以及機構(gòu)和標(biāo)識符的定義可在諸如日本待審專利公布第63-36634號和第63-107667號之類的文獻中查到。
軟件管理中心部分的操作可以在用戶部分、軟件供應(yīng)商部分或二者合作完成。使用上述密鑰的上述方法可優(yōu)先選用,但是不必僅僅局限于此。對于加密算法,可采用諸如數(shù)據(jù)加密標(biāo)準(zhǔn)方法(DES)、快速數(shù)據(jù)加密算法(FEAL)(注冊商標(biāo))之類的算法。
圖1所示網(wǎng)絡(luò)圖中所處理的軟件可以是應(yīng)用程序、操作系統(tǒng)程序、實用程序等等。圖1所示網(wǎng)絡(luò)圖中的軟件供應(yīng)商部分(一個供給用戶軟件的機構(gòu))采用零售店的形式,如軟件車間、有關(guān)的廠商、零售店、攤點、供給另一軟件的軟件或設(shè)備等等,有償或無償?shù)貫橛脩舨糠痔峁┸浖?。軟件供?yīng)商部分可以并入軟件管理中心部分或用戶部分。如果軟件供應(yīng)商部分處在使用一個軟件的位置,那么軟件供應(yīng)商部分可以設(shè)定為用戶部分。圖1所示網(wǎng)絡(luò)圖中的用戶部分以諸如用戶自身、由用戶所擁有的軟件來驅(qū)動其完成程序的執(zhí)行的設(shè)備、連向那里的一臺設(shè)備、軟件自身等形式出現(xiàn)。
下面將講述圖1所示網(wǎng)絡(luò)圖中的操作。操作的前提條件是(1)用戶部分擁有包含其自身保密密鑰的一臺信息載體設(shè)備;(2)如果用戶是未經(jīng)授權(quán)的用戶,目標(biāo)程序?qū)⒉还ぷ鳎?3)可以自由地進行備份;(4)病毒問題的處理可以通過檢查對數(shù)據(jù)的不正當(dāng)修改來進行。
在操作中,首先,使用DES一類的加密算法用特定的密鑰K對從軟件供應(yīng)商部分1發(fā)送到用戶部分3的程序P的部分或全部進行加密,得到經(jīng)過加密的程序P1。然后,向軟件管理中心部分2注冊該經(jīng)過加密的程序P1。
在部分2中,使用某種散列函數(shù)對經(jīng)過加密的程序P1進行壓縮,得到經(jīng)過壓縮和加密的程序P2,該程序由某種加密算法,如DES,進行加密,得到經(jīng)過加密和壓縮的程序P3。通過使用軟件管理中心部分2的保密密鑰S(sc)對密鑰r進行加密。
在接收到P1、r1和P3時或之后,用戶部分3向軟件供應(yīng)商部分1等通知這一接收事件。在軟件供應(yīng)商部分,通過使用用戶部分的公開密鑰P(u)對程序的特定密鑰K進行加密,得到將發(fā)送到用戶部分的經(jīng)過加密的密鑰K。在用戶部分,通過使用專用的安裝軟件來完成K1、P1、r1和P3的安裝。
在用戶部分3,每次程序執(zhí)行時,由加載軟件通過使用信息載體設(shè)備31對P1進行解密,得到程序P1,通過使用散列函數(shù)對該經(jīng)過解密的程序進行轉(zhuǎn)換,得到經(jīng)過壓縮的程序P2。通過使用軟件管理中心部分2的公開密鑰P(sc)對r1進行解密,得到r,然后使用該r對P3進行解密,得到經(jīng)過解密的程序P2。將此經(jīng)過解密的程序P2與上面提到的經(jīng)過壓縮的程序P2進行比較以便能夠檢查程序P1是否經(jīng)過了非正當(dāng)?shù)男薷?。如果檢查到有非正當(dāng)?shù)男薷模瑒t可能發(fā)出警報。
因為經(jīng)過加密的算法P1、經(jīng)過加密的密鑰r1以及經(jīng)過加密和壓縮的算法P3不與用戶部分3的身份相關(guān),所以它們可以預(yù)先生成好相同的,既可以從軟件供應(yīng)商部分1發(fā)來也可以從軟件管理中心部分2發(fā)來。
與程序執(zhí)行設(shè)備32相連的信息載體設(shè)備31最好是尺寸小、重量輕,具有占用空間不大的形狀。另外,也可以不必提供信息載體設(shè)備,而由程序執(zhí)行設(shè)備本身完成所有的操作。
依據(jù)本發(fā)明另一實施例的軟件保護系統(tǒng)所適用的一個信息處理網(wǎng)絡(luò)圖如圖2所示。該網(wǎng)絡(luò)圖中提供了一個軟件車間1作為軟件供應(yīng)商部分,其中包括加密設(shè)備11和12以及密鑰生成設(shè)備13。在軟件車間1中,使用密鑰K對程序P的全部或部分進行加密,得到經(jīng)過加密的程序P1。其中,密鑰K是特定于程序P的。經(jīng)過加密的程序P1是不能執(zhí)行的。經(jīng)過加密的程序P1要向軟件管理中心2進行注冊。
根據(jù)來自用戶部分3的請求,該用戶已購買了經(jīng)過加密的程序P1,通過使用用戶部分的標(biāo)識符A生成密鑰預(yù)分配系統(tǒng)(KPS)的公共加密密鑰K(SI·A),用K(SI·A)對密鑰K進行加密生成K1,然后將此經(jīng)過加密的密鑰K1發(fā)送到用戶部分3。
軟件管理中心部分2提供了轉(zhuǎn)換設(shè)備21、加密設(shè)備22和23、以及密鑰生成設(shè)備24。在部分2中,首先使用某種散列函數(shù)對由軟件車間1注冊的經(jīng)過加密的程序P1進行壓縮,得到經(jīng)過壓縮和加密的程序P2,接著使用特定于經(jīng)過加密的程序P1的密鑰r對P2進行加密,得到經(jīng)過加密和壓縮的程序P3,然后使用軟件供應(yīng)商部分或軟件和用戶部分公用的加密密鑰K(SI·A)對密鑰r進行加密,得到經(jīng)過加密的密鑰r1。因為P3可以在不指定用戶的情況下事先生成,所以P3可以和由軟件車間1出售的經(jīng)過加密的程序P1存放在同一存儲介質(zhì)中。在軟件管理中心部分2,由軟件供應(yīng)商部分所擁有的保密算法既可以預(yù)先留存在那里,也可以后續(xù)再安裝上。從這方面來講,該特定的算法可以由軟件管理中心部分所擁有。在這種情況下,當(dāng)壓縮后的軟件等要發(fā)送到用戶部分時,可以在軟件管理中心部分的保密算法中使用用戶部分的標(biāo)識符來生成該密鑰,而在用戶部分的保密算法中使用軟件管理中心部分的標(biāo)識符來生成該密鑰。
在用戶部分3中,于使用程序時或購買程序之后,向軟件供應(yīng)商部分發(fā)出購買程序的通告,作為要求發(fā)送密鑰的請求。在用戶部分3中,將軟件供應(yīng)商部分1發(fā)來的經(jīng)過加密的密鑰K1輸入到安裝軟件中,程序的執(zhí)行是通過使用由安裝軟件所生成的加載程序和與程序執(zhí)行設(shè)備32相連的信息載體設(shè)備31來完成。信息載體設(shè)備31與程序執(zhí)行設(shè)備32相連。程序執(zhí)行設(shè)備32上連接的設(shè)備可能有鍵盤、顯示設(shè)備、硬盤存儲器、磁盤、輸入/輸出設(shè)備。在用戶部分3中,軟件供應(yīng)商部分的標(biāo)識符S(I)提供給密鑰生成設(shè)備313。
在信息載體設(shè)備31中,包含保密密鑰、解密程序和用戶部分的認(rèn)證程序。信息載體設(shè)備31適合于與用戶將要用其執(zhí)行程序的個人計算機上的打印口、RS232C口等相連,以便進行K1、P1、r1和P3一類數(shù)據(jù)的解密工作和程序的認(rèn)證過程。RS232C是由美國電子工業(yè)協(xié)會所發(fā)布的一個有關(guān)接口的標(biāo)準(zhǔn)。
圖2的網(wǎng)絡(luò)圖中的加密設(shè)備11、12、22和23由數(shù)據(jù)加密標(biāo)準(zhǔn)方法(DES)的加密算法、快速數(shù)據(jù)加密算法(FEAL)(注冊商標(biāo))等組成,但不必僅僅局限于此。這些加密設(shè)備可以是同一類型的,也可以是不同類型的。解密設(shè)備311、312、315和316中的每一個都與其相應(yīng)的加密設(shè)備成對出現(xiàn)。這些解密設(shè)備可以由數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)的解密算法、快速數(shù)據(jù)加密算法(FEAL)等組成,但不必僅僅局限于這些例子。
保密算法預(yù)先提供給用戶部分,并寫入信息載體設(shè)備31的存儲器中。用戶部分所擁有的由散列函數(shù)組成的轉(zhuǎn)換設(shè)備可以預(yù)先包含在信息載體設(shè)備中,也可以作為算法存放在程序執(zhí)行設(shè)備的存儲器中。
可以將軟件供應(yīng)商部分1提供的經(jīng)過加密的程序P1的部分或全部和經(jīng)過加密的特定的密鑰K1、連同軟件管理中心部分2提供的經(jīng)過加密的密鑰r1和經(jīng)過加密及壓縮的程序P3存放在程序執(zhí)行設(shè)備中的磁盤、隨機訪問存儲器RAM、只讀存儲器ROM和光磁盤中,并在程序執(zhí)行設(shè)備中執(zhí)行主處理過程。軟件供應(yīng)商部分的標(biāo)識符A和用戶部分所使用的軟件可以與軟件車間出售的經(jīng)過加密的程序P1存放在同一存儲介質(zhì)中。
下面將講述圖2所示網(wǎng)絡(luò)圖中的操作。操作的前提條件是(1)用戶部分擁有包含其自身保密密鑰的一臺信息載體設(shè)備;(2)如果用戶是未經(jīng)授權(quán)的用戶,目標(biāo)程序?qū)⒉还ぷ鳎?3)可以自由地進行備份;(4)病毒問題的處理可以通過檢查對數(shù)據(jù)的不正當(dāng)修改來進行。
在操作中,首先,使用DES一類的加密算法用特定的密鑰K預(yù)先對從軟件供應(yīng)商部分1發(fā)送到用戶部分3的程序P的部分或全部進行加密,得到經(jīng)過加密的程序P1。然后,向軟件管理中心部分2注冊該經(jīng)過加密的程序P1。
在部分2中,使用某種散列函數(shù)對經(jīng)過加密的程序P1進行壓縮,得到經(jīng)過壓縮和加密的程序P2,該程序由某種加密算法,如DES,進行加密,得到經(jīng)過加密和壓縮的程序P3。密鑰r由軟件供應(yīng)商部分或軟件和用戶部分公用的加密密鑰K(SI·A)進行加密,得到經(jīng)過加密的密鑰r1。
在接收到P1、r1和P3時或之后,用戶部分3向軟件供應(yīng)商部分1等通知這一接收事件。
在軟件供應(yīng)商部分,通過使用軟件供應(yīng)商部分或軟件和用戶部分公用的加密密鑰K(SI·A)對程序的特定密鑰K進行加密,得到將發(fā)送到用戶部分的經(jīng)過加密的密鑰K1。在用戶部分,通過使用專用的安裝軟件來完成K1、P1、r1和P3的安裝。
在用戶部分3,每次程序執(zhí)行時,由加載軟件通過使用信息載體設(shè)備31對P1進行解密,得到程序P1,通過使用散列函數(shù)對該經(jīng)過解密的程序進行轉(zhuǎn)換,得到經(jīng)過壓縮的程序P2。通過使用軟件供應(yīng)商部分或軟件和用戶部分公用的密鑰K(SI·A)對r1進行解密,得到r,然后使用r對P3進行解密,得到經(jīng)過解密的程序P2。將此經(jīng)過解密的程序P2與上面提到的經(jīng)過壓縮的程序P2進行比較以便能夠判斷程序P1是否經(jīng)過了非正當(dāng)?shù)男薷?。如果檢查到有某一非正當(dāng)?shù)男薷?,則可能發(fā)出警報。
因為經(jīng)過加密的算法P1以及經(jīng)過加密和壓縮的算法P3不與用戶部分3的身份相關(guān),所以它們可以預(yù)先生成好相同的,既可以從軟件供應(yīng)商部分1發(fā)來也可以從軟件管理中心部分2發(fā)來。
與程序執(zhí)行設(shè)備32相連的信息載體設(shè)備31最好是尺寸小、重量輕,具有占用空間不大的形狀。另外,也可以不必提供信息載體設(shè)備,而由程序執(zhí)行設(shè)備本身完成所有的操作。
至此可以看出,在圖1和圖2所示的信息處理網(wǎng)絡(luò)圖中,只有經(jīng)過授權(quán)的用戶才可以對軟件進行操作,其他用戶則不能使用該軟件,并且能夠檢測到病毒對該軟件的非法改動同時發(fā)出警報。
權(quán)利要求
1.一個保護軟件的系統(tǒng),包括軟件供應(yīng)商部分,隨時準(zhǔn)備為軟件管理中心部分和用戶部分提供程序;軟件管理中心部分,與上述軟件供應(yīng)商部分相連,按預(yù)定的方式轉(zhuǎn)換所提供的程序并隨時準(zhǔn)備將此經(jīng)過轉(zhuǎn)換的程序提供給用戶部分;用戶部分,與上述軟件供應(yīng)商部分和軟件管理中心部分相連,按預(yù)定的方式轉(zhuǎn)換所提供的程序,并將此經(jīng)過轉(zhuǎn)換的程序與上述由軟件管理中心所提供的經(jīng)過轉(zhuǎn)換的程序相比較,只有二者相同時才去執(zhí)行該程序。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中,程序要加密,并且,當(dāng)用戶部分判定程序可執(zhí)行時,要對經(jīng)過加密的程序進行解密。
3.根據(jù)權(quán)利要求1的系統(tǒng),其中,由軟件管理中心部分向用戶部分提供的經(jīng)過轉(zhuǎn)換的程序要加密,并且,至少當(dāng)用戶部分使用該程序時,要對經(jīng)過加密的程序進行解密。
4.根據(jù)權(quán)利要求2的系統(tǒng),其中,在軟件供應(yīng)商部分,使用基于公共文件或來自用戶的請求的密鑰對程序進行加密,并且,在用戶部分,使用保密密鑰對經(jīng)過加密的程序進行解密。
5.根據(jù)權(quán)利要求3的系統(tǒng),其中,在軟件管理中心部分,使用軟件管理中心部分的保密密鑰對經(jīng)過轉(zhuǎn)換的程序進行加密,并且,在用戶部分,使用軟件管理中心部分的公開密鑰對經(jīng)過加密的程序進行解密。
6.根據(jù)權(quán)利要求2的系統(tǒng),其中,在軟件供應(yīng)商部分,使用用戶部分公用的密鑰對程序進行加密,該密鑰是在特定于軟件或軟件供應(yīng)商部分的保密算法中應(yīng)用用戶部分的標(biāo)識符所生成的,并且,在用戶部分,使用軟件或軟件供應(yīng)商部分公用的密鑰對經(jīng)過加密的程序進行解密,該密鑰是在特定于用戶部分的保密算法中應(yīng)用軟件或軟件供應(yīng)商部分的標(biāo)識符所生成的。
7.依據(jù)權(quán)利要求3的系統(tǒng),其中,在軟件管理中心部分,使用用戶部分和軟件或軟件供應(yīng)商部分公用的密鑰對經(jīng)過轉(zhuǎn)換的程序進行加密,該密鑰是在特定于軟件或軟件供應(yīng)商部分的保密算法中應(yīng)用用戶部分的標(biāo)識符所生成的,并且,在用戶部分,使用軟件或軟件供應(yīng)商部分公用的密鑰對經(jīng)過加密和轉(zhuǎn)換的程序進行解密,該密鑰是在特定于用戶部分的保密算法中應(yīng)用軟件供應(yīng)商部分的標(biāo)識符所生成的。
8.一個保護軟件的系統(tǒng),包括軟件供應(yīng)商部分,使用第一密鑰對程序進行加密得到一經(jīng)過加密的程序,再使用第二密鑰對第一密鑰進行加密得到經(jīng)過加密的第一密鑰,然后將此經(jīng)過加密的程序提供給軟件管理中心部分,并隨時準(zhǔn)備將此經(jīng)過加密的程序和經(jīng)過加密的第一密鑰提供給用戶部分;軟件管理中心部分,與上述軟件供應(yīng)商部分相連,對提供的經(jīng)過加密的程序進行轉(zhuǎn)換得到一經(jīng)過轉(zhuǎn)換和加密的程序,然后使用第三密鑰對該經(jīng)過轉(zhuǎn)換的程序進行加密得到一經(jīng)過加密和轉(zhuǎn)換的程序,再使用第四密鑰對第三密鑰進行加密得到經(jīng)過加密的第三密鑰,并隨時準(zhǔn)備將此經(jīng)過加密和轉(zhuǎn)換的程序及經(jīng)過加密的第三密鑰提供給用戶部分;用戶部分,與上述軟件供應(yīng)商部分和軟件管理中心部分相連,在使用程序期間,按預(yù)定的方式對經(jīng)過加密的程序進行轉(zhuǎn)換得到經(jīng)過轉(zhuǎn)換的程序,然后使用第五密鑰對經(jīng)過加密的第三密鑰進行解密得到解了密的第三密鑰,再使用第三密鑰對經(jīng)過加密和轉(zhuǎn)換的程序進行解密得到解了密的經(jīng)過轉(zhuǎn)換的程序,將此解了密的經(jīng)過轉(zhuǎn)換的程序與上述經(jīng)過轉(zhuǎn)換的程序相比較,只有當(dāng)二者相同時才使用第六密鑰解密第一密鑰,然后使用該第一密鑰去解密并執(zhí)行該程序。
9.根據(jù)權(quán)利要求8的系統(tǒng),其中,第二密鑰是用戶部分的公開密鑰,第六密鑰是用戶部分的保密密鑰,第四密鑰是軟件管理中心部分的保密密鑰,第五密鑰是軟件管理中心部分的公開密鑰。
10.根據(jù)權(quán)利要求8的系統(tǒng),其中,第二密鑰是用戶部分公用的密鑰,該密鑰是在軟件或軟件供應(yīng)商部分的保密算法中應(yīng)用用戶部分的標(biāo)識符所生成的,第五和第六密鑰是軟件或軟件供應(yīng)商部分公用的密鑰,該密鑰是在用戶部分的保密算法中應(yīng)用軟件或軟件供應(yīng)商部分的標(biāo)識符所生成的,第四密鑰是用戶部分公用的密鑰,該密鑰是在軟件管理中心部分所擁有的軟件或軟件供應(yīng)商部分的保密算法中應(yīng)用用戶部分的標(biāo)識符所生成的。
全文摘要
本發(fā)明提出了一種軟件保護系統(tǒng)。在該系統(tǒng)中,只有經(jīng)過授權(quán)的用戶才可以對軟件進行操作,其他用戶則不能使用該軟件,并且能夠檢測到對該軟件的非法改動同時發(fā)出警報。該系統(tǒng)主要有以下三個部分組成軟件供應(yīng)商部分,隨時準(zhǔn)備為軟件管理中心部分和用戶部分提供程序;軟件管理中心部分;轉(zhuǎn)換提供的程序并隨時準(zhǔn)備將此經(jīng)過轉(zhuǎn)換的程序提供給用戶部分;用戶部分,轉(zhuǎn)換提供的程序,并將此經(jīng)過轉(zhuǎn)換的程序與上述由軟件管理中心所提供的經(jīng)過轉(zhuǎn)換的程序相比較,只有二者相同時才去執(zhí)行該程序。
文檔編號G06F21/00GK1131992SQ95190768
公開日1996年9月25日 申請日期1995年7月5日 優(yōu)先權(quán)日1994年7月5日
發(fā)明者渡邊晉一郎, 久林靖孝 申請人:株式會社前進