專利名稱:一種批量生產的計算機軟件的注冊碼防盜版加密方法
技術領域:
本發明涉及計算機軟樣的加密方法,特別是涉及一種計算機軟件的反饋式版權確認的注冊碼防盜版加密方法。
背景技術:
對計算機軟件進行加密處理,以防止非法拷貝和使用,是保護軟件版權的有效辦法,目前,軟件加密的基本方法有如下幾種軟盤加密法,插卡加密法,軟件狗加密法,密碼加密法和隱蔽代碼法等,但加密防盜版效果都不太理想。中國發明專利“計算機軟件加密保護方法及裝置”
公開日1995年6月14日,公開號CN 1103728A,申請號941043991就公開了一種軟件加密保護方法,采用以下步驟初始值AO及加密關鍵數據B、D、E分別存入計算機側的計算機軟件中和專用計算器的ROM中,由計算機側首先獲得一隨機數Xl將Xl送入專用計算器,由加密算法Fl獲得Y1,再將Yl送入計算機,由解密算法F2獲得X2,計算機 軟件比較Xl與X2—致時可運行受保護的計算機軟件,否則停機。一個專用計算器配合一套受保護的計算機加密軟件使用。由于軟件的正常功能最終都由主機完成,軟件代碼最終都要進入主機存儲器,從而有可能被截獲解密的可能,因此達不到軟件保護的目的,而且采用專用計算器,使得軟件加密成本增高,不便于操作。又如,中國發明專利“計算機軟祥防盜版加密方法”
公開日1999年5月5日,公開號CN1215867A,申請號98124924. 8也公開了一種軟件加密保護方法,采用以下步驟;
軟件安裝開始后,程序輸出程序編號a0,參數數據b0,隨機數據CO,
用戶將程序編號a0,參數數據b01隨機數據CO傳送給軟件公司;
軟件公司的計算機系統的確認用戶軟件版權的程序用程序編號a0,并使用軟件公司定義的版權識別計算方法A計算出另一組參數數據bi ;,然后與用戶傳送過來的參數數據b0作較是否一致,并檢查程序編號a0是否在軟件公司的編號數據庫中登記過,如b0與bi —致,且a0沒有登記過,則版權確認的過程繼續進行,如不然,則輸出給用戶相應的信息并中斷版權確認過程;
軟件公司的版權確認程序用程序編號a0和用戶程序傳送過來的隨機數據CO,使用軟件公司定義的解密算法B計算出密匙數據dl,并輸出給用戶;
用戶程序用程序編號a0隨機數據CO,使用軟件公司定義的解密算法計算出另一組密匙數據d0,并檢查算出來的密匙數據d0與從軟件公司的程序傳送過來的密匙數據dl是否相同,如相同,則版權確認成功,如不相同,則中斷操作。雖然,上述發明改革了以前的防盜版加密方法,產生了許多積極的作用。但由于軟件的第一次安裝運行是確認計算機軟件的使用權的唯一過程,其后以計算機內部硬件環境為參數進行二次加密生成了恢復性安裝盤。如果合法用戶因為計算機病毒造成軟件環境的破壞,需要重新安裝所有軟件,則只能使用第一次安裝時生成的恢復性加密安裝盤,給用戶帶來了嚴重的限制即,如果合法用戶因為計算機的硬件升級,計算機內部硬件環境的參數發生變化,則軟件無法繼續使用或重新安裝,造成合法用戶不能升級自己的計算機硬件.這ー點在計算機硬件18個月就更新換代的今天是不現實的。如果上述方法使用改進芳案,即,二次加密生成的恢復性安裝盤允許用戶更改硬件環境參數,則軟件的第一次安裝運行后生成的二次加密恢復性安裝盤,正是盜版者需要的盜版源。盜版者可以無限制的盜版二次加密恢復性安裝盤,將所述軟件安裝在不同的計算機上。因此達不到軟件保護的目的。這就是一個新的矛盾。另,目前國內外的計算機軟件被盜版比較嚴重的是對軟件的開始安裝或開始運行時需要輸入的注冊碼的盜版。這主要是因為互聯網的廣泛使用,網上存在大量的共享軟件。大家到一個網站去下載軟件,使用不同的注冊碼,其中ー個注冊碼被公開就將產生大量的盜版現象。另外,如微軟公司生產的大量軟件產品,由于不可能實現每個軟件拷貝都重新編譯,因此,只能使用現有的注冊碼的方式防止盜版。這種注冊碼機制實質上是軟件內有一個檢驗注冊碼是否符合原設定規律的程序,無論生產多少個軟件拷貝,產生多少個注冊碼,軟件拷貝都是一祥的,不同的是注冊碼。但是只要軟件的版本相同,任何ー個合法的注冊碼都可以成功的開啟所有的軟件拷貝。盜版者只需購買ー套正版軟件、或購買ー個注冊碼就可以實現批量盜版。如何解決“軟件的批量生產或(共享軟件)網上下載傳播必須使用上述注冊碼機 制與通過購買一個注冊碼就可以實現批量盜版”的矛盾,是軟件防盜版的關鍵問題。前述的公開號為CN1215867A的計算機軟件防盜版加密方法,基本可以解決上述的矛盾,但一次性反饋注冊模式,帶來了必須使用二次加密的恢復磁盤的新問題,如果要防止二次加密的恢復磁盤被盜版,必須將加密參數與具體的計算機硬件參數相關。由此帶來了上述的硬件升級與二次加密的恢復磁盤的矛盾。現在,市場的WINDOWS XP操作系統,使用的激活技術就是在安裝后,進行二次加密,加密參數與硬件相關,已經產生了不好的效果。
發明內容
本發明的目的是提供ー種不依賴于具體計算機機型的便于操作的可以實現有限次數的能夠多次安裝的計算機軟件注冊碼防盜版加密方法。本發明的方案是按以下步驟實現的;
注冊碼的基本結構每ー個注冊碼都是ー個多層組碼結構1,ー個多層組碼結構I印刷在紙制等平面載體上或通過電子文檔的形式提供(傳遞)給用戶。每ー個多層組碼結構I都作為ー個信息單元存儲到計算機查詢系統數據庫中,以供消費者調取該信息來驗證賓偽獲取反饋的密碼信息。所述的多層組碼結構I大致有兩種不同形式的結構標準結構和簡化結構。標準結構是ー個身份碼9與多個校驗碼10及其校驗碼編號12的組合。簡化結構是省略身份碼9的多組或ー組多個按一定順序或方法排列身份編碼11及校驗碼編號12的組合。身份碼9:是指軟件生產廠家在軟件出廠前按一定順序或方法為每ー個軟件生成的體現該軟件唯一身份的號碼或圖案或字母或文字或上述混合形式,只要能為大眾認識并能用語言清楚表述的。其將作為“明碼”標注在紙制等平面載體表面上。代表了軟件的不同個體。作為注冊碼的“頭部”。是注冊碼的重要組成部分。校驗碼10:是指軟件生產廠家在軟件出廠前可隨機獲取的也可以是使用固定算法生成的ー組多個按一定順序或方法排列的用于用戶或商家反饋給軟件生產廠家用于校驗注冊碼真偽的號碼或圖案或字母或文字或上述混合形式,只要能為大眾認識并能用語言清楚準確表述的。其將作為“暗碼”與身份碼9 一起標注在紙制等平面載體表面上。“暗碼”的制作是在校驗碼上用不透明覆蓋物覆蓋或用不透明的涂料涂蓋,覆蓋物可以是紙片、塑料膜、金屬薄板等材料,也可將校驗碼打印在覆蓋物背面,然后在將a蓋物授蓋在上述表面,其要求是覆蓋物或涂蓋物可用手撕開、刮開等手段打開,一般打開后覆蓋物是不能恢復的,打開后校驗碼是清楚可識的。校驗碼10也可以是“明碼”。如果是“明碼”,則在使用中由用戶自己標注該校驗碼是否已經查驗過。因為,按照要求每個校驗碼10只能查驗使用一次,己經查驗過的校驗碼10的編號(或編號組合)也將是ー個動態形成的信息,是需要在下一次查驗時提交的。校驗碼10是“明碼”的情況一般講,整個注冊碼是通過電子郵件等電子文檔的形式傳遞。校驗碼編號12:按一定順序或方式獲取的與校驗碼10或身份編碼11 一一對應的,用于標注區分校驗碼10和身份編碼11的不同個體的,標印在其所需標注的校驗碼旁的號碼或字母或文字或圖案,這是一組“明碼”。身份編碼11:是指生產廠家在軟件出廠前可隨機獲取的ー組多個按一定順序或方法排列的用于用戶或商家反饋給軟件生產廠家用于校驗注冊碼真偽的號碼或圖案或字母或文字或上述混合形式,只要能為大眾認識并能用語言清楚準確表述的。其將作為“暗碼”標注在在紙制等平面載體表面上。與校驗碼10相同的身份編碼11也可以是“明碼”。與校驗碼10不同的是身份編碼11的編碼較長,一個編碼即可以代表該軟件身份。編碼方式等同于數碼電話防偽技木。覆蓋物可以局部覆蓋。而校驗碼10是與身份碼9配套使用的,一般很短5飛數字即可。身份編碼11可以看作是身份碼9與校驗碼10結合成一體了,按照校驗碼10的方式排列。顯然,身份編碼11的方式所需要的數碼數量較多,所需要占用的計算機的硬盤空間較大,不如校驗碼10與身份碼9配套使用的方式。既能夠防止造假者批量盜版,又允許用戶多次安裝。多層組碼結構I是ー個關鍵的技術手段。也是該軟件注冊碼防盜版加密方法的核心結構。利用反饋式版權確認來實現對軟件的防盜版加密保護,所述的版權確認的過程包括以下步驟
用戶報告身份碼9,查詢中心打開數據庫,核對身份碼9是否存在,是否該件軟件已被查詢的次數超過限量,如果身份碼9正確則允許用戶查詢。首先由服務中心向用戶提問,其校驗碼10哪幾項被打開,如回答正確則請用戶自選任一個尚未打開的檢驗碼10,將其打開,并將校驗碼編號12及其校驗碼10報告服務中心,如果正確,中心備案,并告知用戶軟件繼續安裝的鑰匙密碼。
由己打開哪幾個校驗碼10和新打開的校驗碼10是否正確而完成兩級校對判斷。查詢次數越多判斷是否合法用戶的正確率越高。這ー驗證方法其實是對盜版者的兩級陷井,如果有盜版者針對同一身份碼9軟件造了兩個或兩個以上的假品(相同的注冊碼),這兩件軟件在不同的地方銷售,如果兩地均有人使用并為了獲得軟件的安裝的鑰匙密碼進行查尋,由于先查驗哪ー個校驗碼及已查驗了哪幾個檢驗碼具有隨意性,完全雷同的概率極小,如查詢中心發現同一身份碼9所打開查尋的校驗碼編號與備案不同時,請其再校驗ー個號碼,如果該校驗碼也是真的,則可以判斷該身份號已被盜版,市售均是盜版假貨。如果是假,則只能說明第二次查詢的產品是非法用戶,其查尋內容不各案。(無論校驗碼10是否是“明碼")
然而,僅僅上述方案是不能防止 盜版的。因為盜版者可以將上迷的注冊碼和反饋的鑰匙密碼一起公開并發售,形成完整的盜版。因此,反饋鑰匙密碼時,應該還有ー個與具體安裝時的狀態相關的參數,這個參數可以是安裝或查詢的時間、計算機硬件信息等,但盜版者可以將安裝時間、計算機硬件信息也一同告之購買盜版者。經過研究這個參數只能是安裝程序時生成的隨機數據C。因此,完整的方案是多層組碼結構I中的身份碼9與ー個校驗碼10還有校驗碼10的校驗碼編號12以及安裝程序時生成的隨機數據C,合計至少4個參數在用戶通過廠家提供的反饋查詢服務系統通過公眾通訊系統如電話、網站等進行用戶合法身份的界定,并在查驗合格吋,由查詢服務系統反饋給查詢者繼續程序安裝的鑰匙密碼。用戶輸入鑰匙密碼后才能完成程序的安裝。在查詢服務系統中,系統通過對用戶輸入的信息進行版權界定,可以判斷用戶的合法性。如果用戶合法,則系統將以上述4個參數中的全部或部分作為參數,通過ー個算法AA,計算出鑰匙密碼D。在用戶的計算機中,也由用戶輸入上述4個參數中的全部或部分,以及鑰匙密碼D。程序將以上述4個參數中的全部或部分作為參數,通過ー個算法AB,計算出鑰匙密碼以。比對鑰匙密碼以與鑰匙密碼D是否相同或符合ー個確定的關系。作為判斷是否繼續安裝的依據。所述的公眾通訊可以是;電話、移動電話(含移動通訊設備上網、短信息)、互聯網(含信息家電上網)、傳真等方式。與現代信息防偽查詢網絡類似。為了減少盜版的可能性,軟件的注冊碼和鑰匙密碼的確認過程應該放在程序安裝的開始,而不是程序完全安裝后才檢驗注冊碼和鑰匙密碼。如果程序完全安裝后才檢驗注冊碼和鑰匙密碼,盜版者可以采用正常安裝和失敗安裝的區別點,采用文件替換的方式饒過檢驗注冊碼和鑰匙密碼的過程完成盜版。這一點WINDOWS XP被盜版就是ー個例子。為了用戶在使用公眾通訊裝置進行查詢認證更方便,上述的4個參數應該都是阿拉伯數字,因為英文、漢字、圖形、符號在電話查詢時是不方便的。為了增加盜版者的破解難度,主要為了不讓盜版者將算法AA或算法AB的計算公式找到,反饋的鑰匙密碼D是ー個長串數字的一部分,而鑰匙密碼D只需要與用戶程序計算出鑰匙密碼DA的頭部、尾部或中間的幾位數相同或符合約定的相關規律,即可驗證成功。(該方法是有效對待使用軟件跟蹤并分析數據的方法破解上述的加密解密算法。)。例如鑰匙密碼D是“234567",而將上述的4個參數作為參數帶到算法AB的計算公式中,進行計算,得到的結果是"88234567"。鑰匙密碼D與鑰匙密碼DA的后6位相同,就算檢驗成功。由于是部分比對校驗,即使盜版者收集到許多真實鑰匙密碼和參數也無法回歸分析計算公式。對計算過程進行跟蹤,由于涉及大數據的截取,因此也很難獲知算法AB。上述的算法AA或算法AB可以是相同的,也可以是有一一對應關系的。為了增加盜版者的破解難度,上述的軟件包中的關鍵的安裝程序(如SETUP.EXE和エNSTALL. ΕΧΕ)或計算機程序中的安裝功能的代碼中,增加對程序本身代碼尤其是對程序中對注冊碼分析判斷、生成隨機數據C等部分的功能代碼的檢驗代碼。具體方法是在安裝程序(如SETUP. EXE和INSTALL. EXE )程序編制中,增加對已經生成為可以運行的機器碼(ASCII碼)的關鍵程序段中的機器碼(ASCI I碼)進行備份或加密備份。在安裝程序中増加一處或多處將加密備份(或備份)進行解密然后與程序中的相應的執行部分的代碼進行對比的執行碼。如果解密后的關鍵部分的代碼與程序中相應的關鍵部分的代碼(機器碼(ASCIエ碼)不完全一祥,表明程序的部分代碼已經與軟件出廠前不一樣了,存在部分代碼失效的可能,則安裝程序停止安裝工作。關鍵部分的代碼的加密備份可以存放在安裝程序內部,也可以存放在程序包中的其他計算機程序中。將加密備份(或備份)進行解密然后與程序中的相應的執行部分的代碼進行對比,應該與內存中的執行部分的代碼進行比對,而加密備份的備份源也可以是軟件運行后在內存中的存在形式。增加安裝程序(如SETUP. EXE和INSTALL ΕΧΕ)中的關鍵功能部分的代碼的加密備份和解密對比程序段,可以有效阻止破壞注冊碼檢驗或增加強行跳轉指令的方式破壞 注冊碼檢驗的盜版方法。實現,安裝程序ー經被破壞或增改,不能完成安裝行為的目的。綜上所述,如果盜版者不能將程序修改,或控制生成的隨機數據C為ー個或多個固定數值,則盜版者將無法完成盜版工作。計算機軟件的盜版方法有多種手段。上述方法可以有效防止盜版者盜用注冊碼的方式進行盜版。余下的盜版方法主要是將已經合法安裝的軟件直接拷貝。作為本發明的改進,本發明采用的方法,還可以在軟件安裝成功后,采用以下方法來防止采用以直接拷貝的方式安裝和運行軟件。如果是非操作系統軟件,啟動運行時,向操作系統詢問操作系統的編號,并與在安裝過程中己經記錄的操作系統的編號進行比較,或檢查機器特征碼與在安裝過程中記錄在軟件中的機器特征碼是否一致,如一致,則正常啟動運行,如不一致則中斷操作。如果是操作系統軟件,在啟動運行時,操作系統檢查機器特征碼是否與安裝過程中記錄在操作系統軟件中的機器特征碼是否一致,如一致,則正常啟動運行,如不一致,則中斷操作。為了增加盜版者的破解難度,上述的軟件在安裝過程中,應該在計算機硬盤上增加ー些參數標記(如在BOOT區增加軟件特征、版本信息等),或在系統文件上,尤其是操作系統的系統文件的固定文件的固定位置上増加幾個字節的特殊字符標記。當然是在這些系統文件內的沒有用的空間。如涉及標注版權信息的文本數據部分。而沒有所述的特殊標記,程序不能運行或不能正常運行。這樣,程序非經過安裝,是不能使用的。為了便于消費者查詢,注冊碼的載體上應印設有可與計算機識別系統數據庫通訊的電話號碼和計算機網址或手機(WEB或短信息方式)的通訊方法。為了便于消費者處理因為使用不當造成了軟件的部分損壞,安裝程序可以在安裝過程中生成恢復性安裝的程序備份,即,生成一個軟件系統恢復性覆蓋安裝的程序包,用于對程序系統中所有的或部分重要的、尤其是可執行程序的覆蓋性更新。所述的恢復性安裝程序,在安裝前需要檢查所有重要的“暗記”,以確認程序的恢復是否合法。該恢復性程序不生成“暗記”性的版權信息。一般只是將使用的程序和初試參數進行備份。這種方法可以減少用戶使用注冊碼的次數。在現在計算機硬盤空間特別大的情況下。上述方法,可以快速、方便的恢復受損的系統。在用戶合法的升級時,軟件公司也可以使用上述方法,為升級用戶提供不需要注冊碼的升級包。本發明改革了計算機軟件的防盜版加密方法。由上述特性可知,多層組碼結構I可以實現ー個版權確認標識的有限多次查詢,可以有效的阻止盜版者批量盜版的可能。同時對在開放互聯網上的版權確認查詢方式,也因為版權確認的注冊碼是多層結構而不擔心網絡黑客的枚舉法攻擊。這是因為有身份碼9的存在,我們可以限定在互聯網上對同一個身份碼9進行的非法查詢的次數。(由于現代黑客可以輕易隱藏自己的IP地址。在互聯網的查詢請求是否合法、是否是程序在查詢是無法判斷的。因此沒有身份碼9的存在,我們無法限定非法的、惡意的查詢。)加之,上述的其它的輔 助防盜版手段。可以實現對批量生產或網絡下載(共享)的方式進行批量銷售的計算機軟件的有效加密。阻止了盜版者批量盜版的可能性。即成本低又便于操作。上述方法也可以結合目前經常使用的增加對注冊碼檢驗過程保護的方法和防止直接將軟件拷貝的方法及程序在系統中的加密注冊方法等手段,共同應用在一種軟件上,實現更有效的版權保護。都是計算機加密(版權保護)的程序員,可以輕松想到和做到的。也屬于本發明公開的技術方案。
下面將結合附圖和實施例對本發明作進ー步詳細說明;
圖I為本發明的以多層組碼結構為特征的注冊碼。圖2為本發明的版權確認流程圖。
具體實施例方式如圖I所示,每個注冊碼(即是ー個多層組碼結構I.)由三部分組成。身份碼9與ー個校驗碼10及其校驗碼編號12.還包含文字說明3、使用說明20
如圖2所示,用戶將身份碼9與ー個校驗碼10及其校驗碼編號12,連同安裝程序運行時生成的隨機數據C。通過通訊線路用自動或手動的方式送到軟件公司的計算機系統中,自動方式是針對軟件公司的計算系統和客戶的計算機連網,這時用戶程序自動登錄軟件公司的服務器,然后把相應的數據傳輸過去,手動方式是對非連網的用戶和計算機軟件公司,可以通過電話等方式相互傳輸數據或以其它公眾通訊的方式將數據傳遞過去(如移動手機、手機短信息、傳真等)。軟件公司的計算機系統或服務器的確認用戶軟件版權的程序使用身份碼9及校驗碼編號12為參數,并使用軟件公司定義的版權識別方法AS計算出校驗碼10 (或通過相應的數據庫檢索查詢出對應的校驗碼10),并將計算出來的參數數據與用戶程序傳遞過來的校驗碼10作比較,判斷是否一致,如不一致,則輸出相應出錯信息,結束版權確認過程;如一致,則軟件公司的版權確認程序檢查用戶程序傳送過來的身份碼9是否己經超過安裝次數限制。如果沒有超過安裝次數限制,軟件公司的版權確認程序用用戶傳送過來的隨機數據C及身份碼9、校驗碼編號12、校驗碼10為參數,使用軟件公司定義的解密計算方法AA計算出密匙數據D。計算方法包括數學的或非數學的以及數學和非數學組合的計算公式及計算方法,也包括軟件公司定義的數據庫對應表格,然后對這套軟件的程序編號進行登記和記錄。密匙數據D及相應的回復說明信息作為反饋信息輸出給用戶的計算機系統,或其它方式告之用戶(同時記錄安裝的次數)。用戶將身份碼9、校驗碼編號12、校驗碼10及反饋信息密匙數據D輸入程序。這套軟件里的軟件公司自定義的計算方法AB計算出另ー組密匙數據DA,程序將核對這兩組密匙數據D與DA是否ー樣或兩者之間符合預先定義的相互關系。如果核對無誤,繼續完成安裝。安裝過程中,除將應用程序安裝,同時在硬盤或特定的系統文件中増加版權信息。該程序毎次使用或預定條件下使用時對上述版權信息進行核對,不符合時停止工作、提示相關版權信息。如果版權確認核對有誤,程序將認為版權確認未成功,程序將做出重新輸入密匙數據或重新作版權確認或退出安裝或退出運行等相應的處理,顯示出相應的提示信息。另外,軟件版權確認成功后,程序將在這套軟件的某個或幾個文件里作軟件版權確認己成功并可正常運行的標記信息,可以同時記錄這個計算機系統的操作系統的編號。標記信息可以記錄在新建的文件中。當非操作系統的其他軟件程序啟動運行時,需要向操作系統詢問操作系統的編號,并與軟件文件中存儲的操作系統的編號作比較,以檢查軟件 是否己被拷貝到另ー個計算機系統中,如果操作系統的編號正確,并且軟件文件中存儲的軟件版權確認己成功并可正常運行等的標記信息也都完整并且正確,軟件將完成啟動的過程并正常的運行。如果程序發現操作系統的編號不正確,或者軟件版權確認己成功并可正常運行等的標記信息不完整或不正確,軟件程序將停止啟動并退出運行。如果所安裝的軟件是操作系統,還需要把這個計算機系統的機器特征碼記錄在操作系統的軟件中。為了防止以直接拷貝的方式安裝和運行操作系統的軟件,以及為了防止以直接拷貝的方式改變操作系統的編號,可以使用機器特征碼的方式對操作系統的軟件進行加密。這個機器特征碼可以使用計算機系統的硬盤的硬盤分區表中的每臺計算機特有的特征數據及硬盤的硬盤分區表的寫入時間,或使用將這些數據進行一些計算處理后得到的數據。這個機器特征碼也可以使用給在每個計算機系統的硬件系統如CPU或計算機系統的主板上的裝BIOS的ROM等中作編號的方式,可以在每個計算機系統的CPU中或裝BIOS的ROM中的程序中增加ー個查詢CPU或ROM的編號的指令及不同的編號。可以在CPU的芯片中增加ー個小型的可編程只讀存儲器PR0M,用來存儲該CPU芯片的編號,并設置ー個防止對該PROM中的內容及該CPU的編號進行改寫的安全位,在CPU芯片制作的最后,可將CPU的編號寫入這個PROM中,并對安全位進行編程,以防止非授權者改變CPU的編號。這樣就可使每個CPU或每個計算機主板及每個計算機系統的硬件系統都有自己的唯一的編號。在安裝操作系統和作操作系統的版權確認成功后程序將在這套軟件的某個或幾個文件里作軟件版權確認己成功并可正常運行的標記信息,并記錄這個計算機系統的機器特征碼,也可以將這些信息記錄在新建的文件中。在每次啟動和運行操作系統時,操作系統檢查機器特征碼是否正確,以檢查是否換了ー個計算機系統,如果機器特征碼正確,并且其他的標記信息也都完整并且正確,操作系統將完成啟動的過程并正常的運行,用戶將可以正常的使用,如果機器特征碼不正確,或者其他標記信息不完整或不正確,操作系統的程序將認為是換了一個計算機系統,操作系統將停止啟動并退出運行。非操作系統的其他軟件也可以使用機器特征碼的方式對其軟件進行加密,其加密的方法與使用操作系統的編號對其軟件進行加密的方法相類似。當用戶的計算機系統的軟件系統遭到意外破壞,并且操作系統軟件也受到破壞時,或用戶更換了計算機系統的硬件,或用戶更換了計算機系統時,或者由于其他原因用戶需要重新安裝操作系統時,用戶可以使用注冊碼中尚未使用的校驗碼10進行上述軟件的版權確認過程,版權確認成功后,將獲得的反饋信息一一密匙數據D用于軟件的重新安裝。 一套軟件的注冊碼,可以做多次版權確認,每個校驗碼10只能使用一次。
權利要求
1.一種批量生產的計算機軟件的注冊碼防盜版加密方法,其特征在于 計算機軟件的注冊碼是多層組碼結構I; 用戶每一次安裝計算機軟件時,需要將注冊碼中的身份碼9與一個校驗碼10及其校驗碼編號12以及程序安裝時生成的隨機數據C等至少4個參數,通過公眾通訊系統反饋給廠家的計算機查詢服務系統,進行用戶合法身份的界定;如果用戶合法身份的界定成功,查詢服務系統將以上述4個參數中的全部或部分作為參數,通過一個算法AA計算出鑰匙密碼D,并通過公眾通訊系統將用于繼續程序安裝的鑰匙密碼D反饋給用戶; 在用戶的計算機中,也由用戶輸入與前述相同的身份碼9、一個校驗碼10及其校驗碼編號12等3個參數中的全部或部分,以及鑰匙密碼D,軟件將以上述3個參數中的全部或部分及軟件安裝時生成的隨機數據C等至少4個參數作為參數,通過一個算法AB,計算出鑰匙密碼DA; 安裝程序比對鑰匙密碼以與鑰匙密碼D是否相同或符合一個確定的關系,作為判斷是否繼續安裝的依據,比對成功后,才能完成程序的安裝。
2.如權利要求I所述的方法,其特征在于多層組碼結構I是一個身份碼9與多個校驗碼10及其校驗碼編號12的組合。
3.如權利要求I所述的方法,其特征在于通過算法AA計算獲得的鑰匙密碼D是一個長串數字的一部分,而鑰匙密碼D只需要與用戶程序通過算法AB計算出鑰匙密碼DA的頭部、尾部或中間的幾位數相同或符合約定的相關規律,即可驗證成功。
4.如權利要求I所述的方法,其特征在于在安裝程序或計算機程序中的安裝功能的代碼中,增加對程序本身重要功能代碼的檢驗代碼; 也就是在安裝程序程序編制中,增加對已經生成為可以運行的機器碼的關鍵程序段中的機器碼進行備份或加密備份;在安裝程序中增加一處或多處將加密備份(或備份)進行解密然后與程序中的相應的執行部分的代碼進行對比的執行碼。
5.如權利要求I所述的方法,其特征在于安裝程序可以在安裝過程中生成恢復性安裝的程序備份,備份保存在硬盤上,可以用于對程序系統中所有的或部分重要的、尤其是可執行程序的9蓋性更新。
6.如權利要求I所述的方法,其特征在于軟件在安裝過程中,在計算機硬盤上增加一些參數標記,或在系統文件上,尤其是操作系統的系統文件的固定文件的固定位置上增加特殊字符標記而沒有所述的特殊標記,程序不能運行或不能正常運行。
7.如權利要求I所述的方法,其特征在于所述的軟件安裝成功后,它采用以下方法來防止采用以直接拷貝的方式安裝和運行軟件 如果是非操作系統軟件,啟動運行時,向操作系統詢問操作系統的編號,并與安裝過程中己經記錄的操作系統的編號進行比較,或檢查機器特征碼與在安裝過程中記錄在軟件中的機器特征碼是否一致,如一致,則正常啟動運行,如不一致,則中斷操作; 如果是操作系統軟件,在啟動運行時,操作系統檢查機器特征碼是否與在安裝過程中記錄在操作系統軟件中的機器特征碼是否一致,如一致,則正常啟動運行,如不一致,則中斷操作。
全文摘要
本發明涉及一種計算機軟件的反饋式版權確認的注冊碼防盜版加密方法。目的是解決“軟件的批量生產或網上傳播(下載)必須使用的注冊碼機制與通過購買一個注冊碼就可以實現批量盜版”的矛盾。本發明的每一個注冊碼都是一個多層組碼結構,是一個身份碼與多個校驗碼及校驗碼編號的組合。用戶通過公眾通訊系統進行合法身份的界定。查驗合格時,獲得程序安裝的鑰匙密碼,才能完成程序安裝。本發明能夠防止批量盜版,又允許用戶多次安裝。
文檔編號G06F21/00GK102708310SQ201210008238
公開日2012年10月3日 申請日期2012年1月12日 優先權日2012年1月12日
發明者陳華明 申請人:蘇州百正信息科技有限公司