国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種批量生產(chǎn)的計(jì)算機(jī)軟件的注冊碼防盜版加密方法

      文檔序號:6479839閱讀:287來源:國知局
      專利名稱:一種批量生產(chǎn)的計(jì)算機(jī)軟件的注冊碼防盜版加密方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)軟件的加密方法,特別是涉及一種計(jì)算機(jī)軟件的反饋式版權(quán)確認(rèn)的注冊碼防盜版加密方法。
      對計(jì)算機(jī)軟件進(jìn)行加密處理,以防止非法拷貝和使用,是保護(hù)軟件版權(quán)的有效辦法,目前,軟件加密的基本方法有如下幾種軟盤加密法,插卡加密法,軟件狗加密法,密碼加密法和隱蔽代碼法等,但加密防盜版效果都不太理想。中國發(fā)明專利“計(jì)算機(jī)軟件加密保護(hù)方法及裝置”
      公開日1995年6月14日,公開號CN1103728A,申請?zhí)?41043991就公開了一種軟件加密保護(hù)方法,采用以下步驟初始值A(chǔ)0及加密關(guān)鍵數(shù)據(jù)B、D、E分別存入計(jì)算機(jī)側(cè)的計(jì)算機(jī)軟件中和專用計(jì)算器的ROM中,由計(jì)算機(jī)側(cè)首先獲得一隨機(jī)數(shù)X1將X1送入專用計(jì)算器,由加密算法F1獲得Y1,再將Y1送入計(jì)算機(jī),由解密算法F2獲得X2,計(jì)算機(jī)軟件比較X1與X2一致時(shí)可運(yùn)行受保護(hù)的計(jì)算機(jī)軟件,否則停機(jī)。一個(gè)專用計(jì)算器配合一套受保護(hù)的計(jì)算機(jī)加密軟件使用。由于軟件的正常功能最終都由主機(jī)完成,軟件代碼最終都要進(jìn)入主機(jī)存儲(chǔ)器,從而有可能被截獲解密的可能,因此達(dá)不到軟件保護(hù)的目的,而且采用專用計(jì)算器,使得軟件加密成本增高,不便于操作。
      又如,中國發(fā)明專利“計(jì)算機(jī)軟件防盜版加密方法”
      公開日1999年5月5日,公開號CN1215867A,申請?zhí)?8124924.8也公開了一種軟件加密保護(hù)方法,采用以下步驟軟件安裝開始后,程序輸出程序編號a0,參數(shù)數(shù)據(jù)b0,隨機(jī)數(shù)據(jù)c0;用戶將程序編號a0、參數(shù)數(shù)據(jù)b0、隨機(jī)數(shù)據(jù)c0傳送給軟件公司;軟件公司的計(jì)算機(jī)系統(tǒng)的確認(rèn)用戶軟件版權(quán)的程序用程序編號a0,并使用軟件公司定義的版權(quán)識別計(jì)算方法A計(jì)算出另一組參數(shù)數(shù)據(jù)b1;然后與用戶傳送過來的參數(shù)數(shù)據(jù)b0作較是否一致,并檢查程序編號a0是否在軟件公司的編號數(shù)據(jù)庫中登記過,如b0與b1一致,且a0沒有登記過,則版權(quán)確認(rèn)的過程繼續(xù)進(jìn)行,如不然,則輸出給用戶相應(yīng)的信息并中斷版權(quán)確認(rèn)過程;軟件公司的版權(quán)確認(rèn)程序用程序編號a0和用戶程序傳送過來的隨機(jī)數(shù)據(jù)c0,使用軟件公司定義的解密算法B計(jì)算出密匙數(shù)據(jù)d1,并輸出給用戶;用戶程序用程序編號a0隨機(jī)數(shù)據(jù)c0,使用軟件公司定義的解密算法計(jì)算出另一組密匙數(shù)據(jù)d0,并檢查算出來的密匙數(shù)據(jù)d0與從軟件公司的程序傳送過來的密匙數(shù)據(jù)d1是否相同,如相同,則版權(quán)確認(rèn)成功,如不相同,則中斷操作。
      雖然,上述發(fā)明改革了以前的防盜版加密方法,產(chǎn)生了許多積極的作用。但由于軟件的第一次安裝運(yùn)行是確認(rèn)計(jì)算機(jī)軟件的使用權(quán)的唯一過程,其后以計(jì)算機(jī)內(nèi)部硬件環(huán)境為參數(shù)進(jìn)行二次加密生成了恢復(fù)性安裝盤。如果合法用戶因?yàn)橛?jì)算機(jī)病毒造成軟件環(huán)境的破壞,需要重新安裝所有軟件,則只能使用第一次安裝時(shí)生成的恢復(fù)性加密安裝盤,給用戶帶來了嚴(yán)重的限制;即,如果合法用戶因?yàn)橛?jì)算機(jī)的硬件升級,計(jì)算機(jī)內(nèi)部硬件環(huán)境的參數(shù)發(fā)生變化,則軟件無法繼續(xù)使用或重新安裝,造成合法用戶不能升級自己的計(jì)算機(jī)硬件。這一點(diǎn)在計(jì)算機(jī)硬件18個(gè)月就更新?lián)Q代的今天是不現(xiàn)實(shí)的。如果上述方法使用改進(jìn)方案,即,二次加密生成的恢復(fù)性安裝盤允許用戶更改硬件環(huán)境參數(shù),則軟件的第一次安裝運(yùn)行后生成的二次加密恢復(fù)性安裝盤,正是盜版者需要的盜版源。盜版者可以無限制的盜版二次加密恢復(fù)性安裝盤,將所述軟件安裝在不同的計(jì)算機(jī)上。因此達(dá)不到軟件保護(hù)的目的。這就是一個(gè)新的矛盾。
      另,目前國內(nèi)外的計(jì)算機(jī)軟件被盜版比較嚴(yán)重的是對軟件的開始安裝或開始運(yùn)行時(shí)需要輸入的注冊碼的盜版。這主要是因?yàn)榛ヂ?lián)網(wǎng)的廣泛使用,網(wǎng)上存在大量的共享軟件。大家到一個(gè)網(wǎng)站去下載軟件,使用不同的注冊碼,其中一個(gè)注冊碼被公開就將產(chǎn)生大量的盜版現(xiàn)象。另外,如微軟公司生產(chǎn)的大量軟件產(chǎn)品,由于不可能實(shí)現(xiàn)每個(gè)軟件拷貝都重新編譯,因此,只能使用現(xiàn)有的注冊碼的方式防止盜版。這種注冊碼機(jī)制實(shí)質(zhì)上是軟件內(nèi)有一個(gè)檢驗(yàn)注冊碼是否符合原設(shè)定規(guī)律的程序,無論生產(chǎn)多少個(gè)軟件拷貝,產(chǎn)生多少個(gè)注冊碼,軟件拷貝都是一樣的,不同的是注冊碼。但是只要軟件的版本相同,任何一個(gè)合法的注冊碼都可以成功的開啟所有的軟件拷貝。盜版者只需購買一套正版軟件、或購買一個(gè)注冊碼就可以實(shí)現(xiàn)批量盜版。
      如何解決“軟件的批量生產(chǎn)或(共享軟件)網(wǎng)上下載傳播必須使用上述注冊碼機(jī)制與通過購買一個(gè)注冊碼就可以實(shí)現(xiàn)批量盜版”的矛盾,是軟件防盜版的關(guān)鍵問題。
      前述的公開號為CN1215867A的計(jì)算機(jī)軟件防盜版加密方法,基本可以解決上述的矛盾,但一次性反饋?zhàn)阅J?,帶來了必須使用二次加密的恢?fù)磁盤的新問題,如果要防止二次加密的恢復(fù)磁盤被盜版,必須將加密參數(shù)與具體的計(jì)算機(jī)硬件參數(shù)相關(guān)。由此帶來了上述的硬件升級與二次加密的恢復(fù)磁盤的矛盾。
      現(xiàn)在,面市的WINDOWS XP操作系統(tǒng),使用的激活技術(shù)就是在安裝后,進(jìn)行二次加密,加密參數(shù)與硬件相關(guān),已經(jīng)產(chǎn)生了不好的效果。
      本發(fā)明的目的是提供一種不依賴于具體計(jì)算機(jī)機(jī)型的便于操作的可以實(shí)現(xiàn)有限次數(shù)的能夠多次安裝的計(jì)算機(jī)軟件注冊碼防盜版加密方法。
      本發(fā)明的方案是按以下步驟實(shí)現(xiàn)的注冊碼的基本結(jié)構(gòu)每一個(gè)注冊碼都是一個(gè)多層組碼結(jié)構(gòu)1,一個(gè)多層組碼結(jié)構(gòu)1印刷在紙制等平面載體上或通過電子文檔的形式提供(傳遞)給用戶。每一個(gè)多層組碼結(jié)構(gòu)1都作為一個(gè)信息單元存儲(chǔ)到計(jì)算機(jī)查詢系統(tǒng)數(shù)據(jù)庫中,以供消費(fèi)者調(diào)取該信息來驗(yàn)證真?zhèn)潍@取反饋的密碼信息。
      所述的多層組碼結(jié)構(gòu)1大致有兩種不同形式的結(jié)構(gòu)標(biāo)準(zhǔn)結(jié)構(gòu)和簡化結(jié)構(gòu)。
      標(biāo)準(zhǔn)結(jié)構(gòu)是一個(gè)身份碼9與多個(gè)校驗(yàn)碼10及其校驗(yàn)碼編號12的組合。
      簡化結(jié)構(gòu)是省略身份碼9的多組或一組多個(gè)按一定順序或方法排列身份編碼11及校驗(yàn)碼編號12的組合。
      身份碼9是指軟件生產(chǎn)廠家在軟件出廠前按一定順序或方法為每一個(gè)軟件生成的體現(xiàn)該軟件唯一身份的號碼或圖案或字母或文字或上述混合形式,只要能為大眾認(rèn)識并能用語言清楚表述的。其將作為“明碼”標(biāo)注在紙制等平面載體表面上。代表了軟件的不同個(gè)體。作為注冊碼的“頭部”。是注冊碼的重要組成部分,校驗(yàn)碼10是指軟件生產(chǎn)廠家在軟件出廠前可隨機(jī)獲取的也可以是使用固定算法生成的一組多個(gè)按一定順序或方法排列的用于用戶或商家反饋給軟件生產(chǎn)廠家用于校驗(yàn)注冊碼真?zhèn)蔚奶柎a或圖案或字母或文字或上述混合形式,只要能為大眾認(rèn)識并能用語言清楚準(zhǔn)確表述的。其將作為“暗碼”與身份碼9一起標(biāo)注在紙制等平面載體表面上?!鞍荡a”的制作是在校驗(yàn)碼上用不透明覆蓋物覆蓋或用不透明的涂料涂蓋,覆蓋物可以是紙片、塑料膜、金屬薄板等材料,也可將校驗(yàn)碼打印在覆蓋物背面,然后在將覆蓋物覆蓋在上述表面,其要求是覆蓋物或涂蓋物可用手撕開、刮開等手段打開,一般打開后覆蓋物是不能恢復(fù)的,打開后校驗(yàn)碼是清楚可識的。校驗(yàn)碼10也可以是“明碼”。如果是“明碼”,則在使用中由用戶自己標(biāo)注該校驗(yàn)碼是否已經(jīng)查驗(yàn)過。因?yàn)?,按照要求每個(gè)校驗(yàn)碼10只能查驗(yàn)使用一次,已經(jīng)查驗(yàn)過的校驗(yàn)碼10的編號(或編號組合)也將是一個(gè)動(dòng)態(tài)形成的信息,是需要在下一次查驗(yàn)時(shí)提交的。校驗(yàn)碼10是“明碼”的情況一般講,整個(gè)注冊碼是通過電子郵件等電子文檔的形式傳遞。
      校驗(yàn)碼編號12按一定順序或方式獲取的與校驗(yàn)碼10或身份編碼11一一對應(yīng)的,用于標(biāo)注區(qū)分校驗(yàn)碼10和身份編碼11的不同個(gè)體的,標(biāo)印在其所需標(biāo)注的校驗(yàn)碼旁的號碼或字母或文字或圖案,這是一組“明碼”。
      身份編碼11是指生產(chǎn)廠家在軟件出廠前可隨機(jī)獲取的一組多個(gè)按一定順序或方法排列的用于用戶或商家反饋給軟件生產(chǎn)廠家用于校驗(yàn)注冊碼真?zhèn)蔚奶柎a或圖案或字母或文字或上述混合形式,只要能為大眾認(rèn)識并能用語言清楚準(zhǔn)確表述的。其將作為“暗碼”標(biāo)注在在紙制等平面載體表面上。與校驗(yàn)碼10相同的身份編碼11也可以是“明碼”。與校驗(yàn)碼10不同的是身份編碼11的編碼較長,一個(gè)編碼即可以代表該軟件身份。編碼方式等同于數(shù)碼電話防偽技術(shù)。覆蓋物可以局部覆蓋。而校驗(yàn)碼10是與身份碼9配套使用的,一般很短5~6數(shù)字即可。身份編碼11可以看作是身份碼9與校驗(yàn)碼10結(jié)合成一體了,按照校驗(yàn)碼10的方式排列。
      顯然,身份編碼11的方式所需要的數(shù)碼數(shù)量較多,所需要占用的計(jì)算機(jī)的硬盤空間較大,不如校驗(yàn)碼10與身份碼9配套使用的方式。
      既能夠防止造假者批量盜版,又允許用戶多次安裝。多層組碼結(jié)構(gòu)1是一個(gè)關(guān)鍵的技術(shù)手段。也是該軟件注冊碼防盜版加密方法的核心結(jié)構(gòu)。
      利用反饋式版權(quán)確認(rèn)來實(shí)現(xiàn)對軟件的防盜版加密保護(hù),所述的版權(quán)確認(rèn)的過程包括以下步驟用戶報(bào)告身份碼9,查詢中心打開數(shù)據(jù)庫,核對身份碼9是否存在,是否該件軟件已被查詢的次數(shù)超過限量,如果身份碼9正確則允許用戶查詢。首先由服務(wù)中心向用戶提問,其校驗(yàn)碼10哪幾項(xiàng)被打開,如回答正確則請用戶自選任一個(gè)尚未打開的檢驗(yàn)碼10,將其打開,并將校驗(yàn)碼編號12及其校驗(yàn)碼10報(bào)告服務(wù)中心,如果正確,中心備案,并告知用戶軟件繼續(xù)安裝的鑰匙密碼。
      由已打開哪幾個(gè)校驗(yàn)碼10和新打開的校驗(yàn)碼10是否正確而完成兩級校對判斷。查詢次數(shù)越多判斷是否合法用戶的正確率越高。這一驗(yàn)證方法其實(shí)是對盜版者的兩級陷井,如果有盜版者針對同一身份碼9軟件造了兩個(gè)或兩個(gè)以上的假品(相同的注冊碼),這兩件軟件在不同的地方銷售,如果兩地均有人使用并為了獲得軟件的安裝的鑰匙密碼進(jìn)行查尋,由于先查驗(yàn)?zāi)囊粋€(gè)校驗(yàn)碼及已查驗(yàn)了哪幾個(gè)檢驗(yàn)碼具有隨意性,完全雷同的概率極小,如查詢中心發(fā)現(xiàn)同一身份碼9所打開查尋的校驗(yàn)碼編號與備案不同時(shí),請其再校驗(yàn)一個(gè)號碼,如果該校驗(yàn)碼也是真的,則可以判斷該身份號已被盜版,市售均是盜版假貨。如果是假,則只能說明第二次查詢的產(chǎn)品是非法用戶,其查尋內(nèi)容不備案。(無論校驗(yàn)碼10是否是“明碼”)然而,僅僅上述方案是不能防止盜版的。因?yàn)楸I版者可以將上述的注冊碼和反饋的鑰匙密碼一起公開并發(fā)售,形成完整的盜版。
      因此,反饋鑰匙密碼時(shí),應(yīng)該還有一個(gè)與具體安裝時(shí)的狀態(tài)相關(guān)的參數(shù),這個(gè)參數(shù)可以是安裝或查詢的時(shí)間、計(jì)算機(jī)硬件信息等,但盜版者可以將安裝時(shí)間、計(jì)算機(jī)硬件信息也一同告之購買盜版者。經(jīng)過研究這個(gè)參數(shù)只能是安裝程序時(shí)生成的隨機(jī)數(shù)據(jù)C。
      因此,完整的方案是多層組碼結(jié)構(gòu)1中的身份碼9與一個(gè)校驗(yàn)碼10還有校驗(yàn)碼10的校驗(yàn)碼編號12以及安裝程序時(shí)生成的隨機(jī)數(shù)據(jù)C,合計(jì)至少4個(gè)參數(shù)在用戶通過廠家提供的反饋查詢服務(wù)系統(tǒng)通過公眾通訊系統(tǒng)如電話、網(wǎng)站等進(jìn)行用戶合法身份的界定,并在查驗(yàn)合格時(shí),由查詢服務(wù)系統(tǒng)反饋給查詢者繼續(xù)程序安裝的鑰匙密碼。用戶輸入鑰匙密碼后才能完成程序的安裝。
      在查詢服務(wù)系統(tǒng)中,系統(tǒng)通過對用戶輸入的信息進(jìn)行版權(quán)界定,可以判斷用戶的合法性。如果用戶合法,則系統(tǒng)將以上述4個(gè)參數(shù)中的全部或部分作為參數(shù),通過一個(gè)算法AA,計(jì)算出鑰匙密碼D。在用戶的計(jì)算機(jī)中,也由用戶輸入上述4個(gè)參數(shù)中的全部或部分,以及鑰匙密碼D。程序?qū)⒁陨鲜?個(gè)參數(shù)中的全部或部分作為參數(shù),通過一個(gè)算法AB,計(jì)算出鑰匙密碼DA。比對鑰匙密碼DA與鑰匙密碼D是否相同或符合一個(gè)確定的關(guān)系。作為判斷是否繼續(xù)安裝的依據(jù)。
      所述的公眾通訊可以是電話、移動(dòng)電話(含移動(dòng)通訊設(shè)備上網(wǎng)、短信息)、互聯(lián)網(wǎng)(含信息家電上網(wǎng))、傳真等方式。與現(xiàn)代信息防偽查詢網(wǎng)絡(luò)類似。
      為了減少盜版的可能性,軟件的注冊碼和鑰匙密碼的確認(rèn)過程應(yīng)該放在程序安裝的開始,而不是程序完全安裝后才檢驗(yàn)注冊碼和鑰匙密碼。如果程序完全安裝后才檢驗(yàn)注冊碼和鑰匙密碼,盜版者可以采用正常安裝和失敗安裝的區(qū)別點(diǎn),采用文件替換的方式饒過檢驗(yàn)注冊碼和鑰匙密碼的過程完成盜版。這一點(diǎn)WINDOWS XP被盜版就是一個(gè)例子。
      為了用戶在使用公眾通訊裝置進(jìn)行查詢認(rèn)證更方便,上述的4個(gè)參數(shù)應(yīng)該都是阿拉伯?dāng)?shù)字,因?yàn)橛⑽?、漢字、圖形、符號在電話查詢時(shí)是不方便的。
      為了增加盜版者的破解難度,主要為了不讓盜版者將算法AA或算法AB的計(jì)算公式找到,反饋的鑰匙密碼D是一個(gè)長串?dāng)?shù)字的一部分,而鑰匙密碼D只需要與用戶程序計(jì)算出鑰匙密碼DA的頭部、尾部或中間的幾位數(shù)相同或符合約定的相關(guān)規(guī)律,即可驗(yàn)證成功。(該方法是有效對待使用軟件跟蹤并分析數(shù)據(jù)的方法破解上述的加密解密算法。)。例如鑰匙密碼D是“234567”,而將上述的4個(gè)參數(shù)作為參數(shù)帶到算法AB的計(jì)算公式中,進(jìn)行計(jì)算,得到的結(jié)果是“88234567”。鑰匙密碼D與鑰匙密碼DA的后6位相同,就算檢驗(yàn)成功。由于是部分比對校驗(yàn),即使盜版者收集到許多真實(shí)鑰匙密碼和參數(shù)也無法回歸分析計(jì)算公式。對計(jì)算過程進(jìn)行跟蹤,由于涉及大數(shù)據(jù)的截取,因此也很難獲知算法AB。
      上述的算法AA或算法AB可以是相同的,也可以是有一一對應(yīng)關(guān)系的。
      為了增加盜版者的破解難度,上述的軟件包中的關(guān)鍵的安裝程序(如SETUP.EXE和INSTALL.EXE)或計(jì)算機(jī)程序中的安裝功能的代碼中,增加對程序本身代碼尤其是對程序中對注冊碼分析判斷、生成隨機(jī)數(shù)據(jù)C等部分的功能代碼的檢驗(yàn)代碼。具體方法是在安裝程序(如SETUP.EXE和INSTALL.EXE)程序編制中,增加對已經(jīng)生成為可以運(yùn)行的機(jī)器碼(ASCII碼)的關(guān)鍵程序段中的機(jī)器碼(ASCII碼)進(jìn)行備份或加密備份。在安裝程序中增加一處或多處將加密備份(或備份)進(jìn)行解密然后與程序中的相應(yīng)的執(zhí)行部分的代碼進(jìn)行對比的執(zhí)行碼。如果解密后的關(guān)鍵部分的代碼與程序中相應(yīng)的關(guān)鍵部分的代碼(機(jī)器碼(ASCII碼))不完全一樣,表明程序的部分代碼已經(jīng)與軟件出廠前不一樣了,存在部分代碼失效的可能,則安裝程序停止安裝工作。關(guān)鍵部分的代碼的加密備份可以存放在安裝程序內(nèi)部,也可以存放在程序包中的其他計(jì)算機(jī)程序中。將加密備份(或備份)進(jìn)行解密然后與程序中的相應(yīng)的執(zhí)行部分的代碼進(jìn)行對比,應(yīng)該與內(nèi)存中的執(zhí)行部分的代碼進(jìn)行比對,而加密備份的備份源也可以是軟件運(yùn)行后在內(nèi)存中的存在形式。
      增加安裝程序(如SETUP.EXE和INSTALL.EXE)中的關(guān)鍵功能部分的代碼的加密備份和解密對比程序段,可以有效阻止破壞注冊碼檢驗(yàn)或增加強(qiáng)行跳轉(zhuǎn)指令的方式破壞注冊碼檢驗(yàn)的盜版方法。實(shí)現(xiàn),安裝程序一經(jīng)被破壞或增改,不能完成安裝行為的目的。
      綜上所述,如果盜版者不能將程序修改,或控制生成的隨機(jī)數(shù)據(jù)C為一個(gè)或多個(gè)固定數(shù)值,則盜版者將無法完成盜版工作。
      計(jì)算機(jī)軟件的盜版方法有多種手段。上述方法可以有效防止盜版者盜用注冊碼的方式進(jìn)行盜版。余下的盜版方法主要是將已經(jīng)合法安裝的軟件直接拷貝。
      作為本發(fā)明的改進(jìn),本發(fā)明采用的方法,還可以在軟件安裝成功后,采用以下方法來防止采用以直接拷貝的方式安裝和運(yùn)行軟件。
      如果是非操作系統(tǒng)軟件,啟動(dòng)運(yùn)行時(shí),向操作系統(tǒng)詢問操作系統(tǒng)的編號,并與在安裝過程中已經(jīng)記錄的操作系統(tǒng)的編號進(jìn)行比較,或檢查機(jī)器特征碼與在安裝過程中記錄在軟件中的機(jī)器特征碼是否一致,如一致,則正常啟動(dòng)運(yùn)行,如不一致則中斷操作。
      如果是操作系統(tǒng)軟件,在啟動(dòng)運(yùn)行時(shí),操作系統(tǒng)檢查機(jī)器特征碼是否與安裝過程中記錄在操作系統(tǒng)軟件中的機(jī)器特征碼是否一致,如一致,則正常啟動(dòng)運(yùn)行,如不一致,則中斷操作。
      為了增加盜版者的破解難度,上述的軟件在安裝過程中,應(yīng)該在計(jì)算機(jī)硬盤上增加一些參數(shù)標(biāo)記(如在BOOT區(qū)增加軟件特征、版本信息等),或在系統(tǒng)文件上,尤其是操作系統(tǒng)的系統(tǒng)文件的固定文件的固定位置上增加幾個(gè)字節(jié)的特殊字符標(biāo)記。當(dāng)然是在這些系統(tǒng)文件內(nèi)的沒有用的空間。如涉及標(biāo)注版權(quán)信息的文本數(shù)據(jù)部分。而沒有所述的特殊標(biāo)記,程序不能運(yùn)行或不能正常運(yùn)行。這樣,程序非經(jīng)過安裝,是不能使用的。
      為了便于消費(fèi)者查詢,注冊碼的載體上應(yīng)印設(shè)有可與計(jì)算機(jī)識別系統(tǒng)數(shù)據(jù)庫通訊的電話號碼和計(jì)算機(jī)網(wǎng)址或手機(jī)(WEB或短信息方式)的通訊方法。
      為了便于消費(fèi)者處理因?yàn)槭褂貌划?dāng)造成了軟件的部分損壞,安裝程序可以在安裝過程中生成恢復(fù)性安裝的程序備份,即,生成一個(gè)軟件系統(tǒng)恢復(fù)性覆蓋安裝的程序包,用于對程序系統(tǒng)中所有的或部分重要的、尤其是可執(zhí)行程序的覆蓋性更新。所述的恢復(fù)性安裝程序,在安裝前需要檢查所有重要的“暗記”,以確認(rèn)程序的恢復(fù)是否合法。該恢復(fù)性程序不生成“暗記”性的版權(quán)信息。一般只是將使用的程序和初試參數(shù)進(jìn)行備份。這種方法可以減少用戶使用注冊碼的次數(shù)。在現(xiàn)在計(jì)算機(jī)硬盤空間特別大的情況下。上述方法,可以快速、方便的恢復(fù)受損的系統(tǒng)。在用戶合法的升級時(shí),軟件公司也可以使用上述方法,為升級用戶提供不需要注冊碼的升級包。
      本發(fā)明改革了計(jì)算機(jī)軟件的防盜版加密方法。由上述特性可知,多層組碼結(jié)構(gòu)1可以實(shí)現(xiàn)一個(gè)版權(quán)確認(rèn)標(biāo)識的有限多次查詢,可以有效的阻止盜版者批量盜版的可能。同時(shí)對在開放互聯(lián)網(wǎng)上的版權(quán)確認(rèn)查詢方式,也因?yàn)榘鏅?quán)確認(rèn)的注冊碼是多層結(jié)構(gòu)而不擔(dān)心網(wǎng)絡(luò)黑客的枚舉法攻擊。這是因?yàn)橛猩矸荽a9的存在,我們可以限定在互聯(lián)網(wǎng)上對同一個(gè)身份碼9進(jìn)行的非法查詢的次數(shù)。(由于現(xiàn)代黑客可以輕易隱藏自己的IP地址。在互聯(lián)網(wǎng)的查詢請求是否合法、是否是程序在查詢是無法判斷的。因此沒有身份碼9的存在,我們無法限定非法的、惡意的查詢。)加之,上述的其它的輔助防盜版手段??梢詫?shí)現(xiàn)對批量生產(chǎn)或網(wǎng)絡(luò)下載(共享)的方式進(jìn)行批量銷售的計(jì)算機(jī)軟件的有效加密。阻止了盜版者批量盜版的可能性。即成本低又便于操作。
      上述方法也可以結(jié)合目前經(jīng)常使用的增加對注冊碼檢驗(yàn)過程保護(hù)的方法和防止直接將軟件拷貝的方法及程序在系統(tǒng)中的加密注冊方法等手段,共同應(yīng)用在一種軟件上,實(shí)現(xiàn)更有效的版權(quán)保護(hù)。都是計(jì)算機(jī)加密(版權(quán)保護(hù))的程序員,可以輕松想到和做到的。也屬于本發(fā)明公開的技術(shù)方案。
      下面將結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明

      圖1為本發(fā)明的以多層組碼結(jié)構(gòu)為特征的注冊碼。
      圖2為本發(fā)明的版權(quán)確認(rèn)流程圖。
      如圖1所示,每個(gè)注冊碼(即是一個(gè)多層組碼結(jié)構(gòu)1。)由三部分組成。身份碼9與一個(gè)校驗(yàn)碼10及其校驗(yàn)碼編號12。還包含文字說明3、使用說明2。
      如圖2所示,用戶將身份碼9與一個(gè)校驗(yàn)碼10及其校驗(yàn)碼編號12,連同安裝程序運(yùn)行時(shí)生成的隨機(jī)數(shù)據(jù)C。通過通訊線路用自動(dòng)或手動(dòng)的方式送到軟件公司的計(jì)算機(jī)系統(tǒng)中,自動(dòng)方式是針對軟件公司的計(jì)算系統(tǒng)和客戶的計(jì)算機(jī)連網(wǎng),這時(shí)用戶程序自動(dòng)登錄軟件公司的服務(wù)器,然后把相應(yīng)的數(shù)據(jù)傳輸過去,手動(dòng)方式是對非連網(wǎng)的用戶和計(jì)算機(jī)軟件公司,可以通過電話等方式相互傳輸數(shù)據(jù)或以其它公眾通訊的方式將數(shù)據(jù)傳遞過去(如移動(dòng)手機(jī)、手機(jī)短信息、傳真等)。
      軟件公司的計(jì)算機(jī)系統(tǒng)或服務(wù)器的確認(rèn)用戶軟件版權(quán)的程序使用身份碼9及校驗(yàn)碼編號12為參數(shù),并使用軟件公司定義的版權(quán)識別方法AS計(jì)算出校驗(yàn)碼10(或通過相應(yīng)的數(shù)據(jù)庫檢索查詢出對應(yīng)的校驗(yàn)碼10),并將計(jì)算出來的參數(shù)數(shù)據(jù)與用戶程序傳遞過來的校驗(yàn)碼10作比較,判斷是否一致,如不一致,則輸出相應(yīng)出錯(cuò)信息,結(jié)束版權(quán)確認(rèn)過程;如一致,則軟件公司的版權(quán)確認(rèn)程序檢查用戶程序傳送過來的身份碼9是否已經(jīng)超過安裝次數(shù)限制。如果沒有超過安裝次數(shù)限制,軟件公司的版權(quán)確認(rèn)程序用用戶傳送過來的隨機(jī)數(shù)據(jù)C及身份碼9、校驗(yàn)碼編號12、校驗(yàn)碼10為參數(shù),使用軟件公司定義的解密計(jì)算方法AA計(jì)算出密匙數(shù)據(jù)D。計(jì)算方法包括數(shù)學(xué)的或非數(shù)學(xué)的以及數(shù)學(xué)和非數(shù)學(xué)組合的計(jì)算公式及計(jì)算方法,也包括軟件公司定義的數(shù)據(jù)庫對應(yīng)表格,然后對這套軟件的程序編號進(jìn)行登記和記錄。密匙數(shù)據(jù)D及相應(yīng)的回復(fù)說明信息作為反饋信息輸出給用戶的計(jì)算機(jī)系統(tǒng),或其它方式告之用戶(同時(shí)記錄安裝的次數(shù))。用戶將身份碼9、校驗(yàn)碼編號12、校驗(yàn)碼10及反饋信息密匙數(shù)據(jù)D輸入程序。這套軟件里的軟件公司自定義的計(jì)算方法AB計(jì)算出另一組密匙數(shù)據(jù)DA,程序?qū)⒑藢@兩組密匙數(shù)據(jù)D與DA是否一樣或兩者之間符合預(yù)先定義的相互關(guān)系。如果核對無誤,繼續(xù)完成安裝。安裝過程中,除將應(yīng)用程序安裝,同時(shí)在硬盤或特定的系統(tǒng)文件中增加版權(quán)信息。該程序每次使用或預(yù)定條件下使用時(shí)對上述版權(quán)信息進(jìn)行核對,不符合時(shí)停止工作、提示相關(guān)版權(quán)信息。
      如果版權(quán)確認(rèn)核對有誤,程序?qū)⒄J(rèn)為版權(quán)確認(rèn)未成功,程序?qū)⒆龀鲋匦螺斎朊艹讛?shù)據(jù)或重新作版權(quán)確認(rèn)或退出安裝或退出運(yùn)行等相應(yīng)的處理,顯示出相應(yīng)的提示信息。
      另外,軟件版權(quán)確認(rèn)成功后,程序?qū)⒃谶@套軟件的某個(gè)或幾個(gè)文件里作軟件版權(quán)確認(rèn)已成功并可正常運(yùn)行的標(biāo)記信息,可以同時(shí)記錄這個(gè)計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)的編號。標(biāo)記信息可以記錄在新建的文件中。當(dāng)非操作系統(tǒng)的其他軟件程序啟動(dòng)運(yùn)行時(shí),需要向操作系統(tǒng)詢問操作系統(tǒng)的編號,并與軟件文件中存儲(chǔ)的操作系統(tǒng)的編號作比較,以檢查軟件是否已被拷貝到另一個(gè)計(jì)算機(jī)系統(tǒng)中,如果操作系統(tǒng)的編號正確,并且軟件文件中存儲(chǔ)的軟件版權(quán)確認(rèn)已成功并可正常運(yùn)行等的標(biāo)記信息也都完整并且正確,軟件將完成啟動(dòng)的過程并正常的運(yùn)行。如果程序發(fā)現(xiàn)操作系統(tǒng)的編號不正確,或者軟件版權(quán)確認(rèn)已成功并可正常運(yùn)行等的標(biāo)記信息不完整或不正確,軟件程序?qū)⑼V箚?dòng)并退出運(yùn)行。
      如果所安裝的軟件是操作系統(tǒng),還需要把這個(gè)計(jì)算機(jī)系統(tǒng)的機(jī)器特征碼記錄在操作系統(tǒng)的軟件中。
      為了防止以直接拷貝的方式安裝和運(yùn)行操作系統(tǒng)的軟件,以及為了防止以直接拷貝的方式改變操作系統(tǒng)的編號,可以使用機(jī)器特征碼的方式對操作系統(tǒng)的軟件進(jìn)行加密。這個(gè)機(jī)器特征碼可以使用計(jì)算機(jī)系統(tǒng)的硬盤的硬盤分區(qū)表中的每臺計(jì)算機(jī)特有的特征數(shù)據(jù)及硬盤的硬盤分區(qū)表的寫入時(shí)間,或使用將這些數(shù)據(jù)進(jìn)行一些計(jì)算處理后得到的數(shù)據(jù)。
      這個(gè)機(jī)器特征碼也可以使用給在每個(gè)計(jì)算機(jī)系統(tǒng)的硬件系統(tǒng)如CPU或計(jì)算機(jī)系統(tǒng)的主板上的裝BIOS的ROM等中作編號的方式,可以在每個(gè)計(jì)算機(jī)系統(tǒng)的CPU中或裝BIOS的ROM中的程序中增加一個(gè)查詢CPU或ROM的編號的指令及不同的編號。可以在CPU的芯片中增加一個(gè)小型的可編程只讀存儲(chǔ)器PROM,用來存儲(chǔ)該CPU芯片的編號,并設(shè)置一個(gè)防止對該P(yáng)ROM中的內(nèi)容及該CPU的編號進(jìn)行改寫的安全位,在CPU芯片制作的最后,可將CPU的編號寫入這個(gè)PROM中,并對安全位進(jìn)行編程,以防止非授權(quán)者改變CPU的編號。這樣就可使每個(gè)CPU或每個(gè)計(jì)算機(jī)主板及每個(gè)計(jì)算機(jī)系統(tǒng)的硬件系統(tǒng)都有自己的唯一的編號。在安裝操作系統(tǒng)和作操作系統(tǒng)的版權(quán)確認(rèn)成功后程序?qū)⒃谶@套軟件的某個(gè)或幾個(gè)文件里作軟件版權(quán)確認(rèn)已成功并可正常運(yùn)行的標(biāo)記信息,并記錄這個(gè)計(jì)算機(jī)系統(tǒng)的機(jī)器特征碼,也可以將這些信息記錄在新建的文件中。在每次啟動(dòng)和運(yùn)行操作系統(tǒng)時(shí),操作系統(tǒng)檢查機(jī)器特征碼是否正確,以檢查是否換了一個(gè)計(jì)算機(jī)系統(tǒng),如果機(jī)器特征碼正確,并且其他的標(biāo)記信息也都完整并且正確,操作系統(tǒng)將完成啟動(dòng)的過程并正常的運(yùn)行,用戶將可以正常的使用,如果機(jī)器特征碼不正確,或者其他標(biāo)記信息不完整或不正確,操作系統(tǒng)的程序?qū)⒄J(rèn)為是換了一個(gè)計(jì)算機(jī)系統(tǒng),操作系統(tǒng)將停止啟動(dòng)并退出運(yùn)行。
      非操作系統(tǒng)的其他軟件也可以使用機(jī)器特征碼的方式對其軟件進(jìn)行加密,其加密的方法與使用操作系統(tǒng)的編號對其軟件進(jìn)行加密的方法相類似。
      當(dāng)用戶的計(jì)算機(jī)系統(tǒng)的軟件系統(tǒng)遭到意外破壞,并且操作系統(tǒng)軟件也受到破壞時(shí),或用戶更換了計(jì)算機(jī)系統(tǒng)的硬件,或用戶更換了計(jì)算機(jī)系統(tǒng)時(shí),或者由于其他原因用戶需要重新安裝操作系統(tǒng)時(shí),用戶可以使用注冊碼中尚未使用的校驗(yàn)碼10進(jìn)行上述軟件的版權(quán)確認(rèn)過程,版權(quán)確認(rèn)成功后,將獲得的反饋信息一一密匙數(shù)據(jù)D用于軟件的重新安裝。
      一套軟件的注冊碼,可以做多次版權(quán)確認(rèn),每個(gè)校驗(yàn)碼10只能使用一次。
      權(quán)利要求
      1.一種批量生產(chǎn)的計(jì)算機(jī)軟件的注冊碼防盜版加密方法,其特征在于計(jì)算機(jī)軟件的注冊碼是多層組碼結(jié)構(gòu)1;用戶每一次安裝計(jì)算機(jī)軟件時(shí),需要將注冊碼中的身份碼9與一個(gè)校驗(yàn)碼10及其校驗(yàn)碼編號12以及程序安裝時(shí)生成的隨機(jī)數(shù)據(jù)C等至少4個(gè)參數(shù),通過公眾通訊系統(tǒng)反饋給廠家的計(jì)算機(jī)查詢服務(wù)系統(tǒng),進(jìn)行用戶合法身份的界定;如果用戶合法身份的界定成功,查詢服務(wù)系統(tǒng)將以上述4個(gè)參數(shù)中的全部或部分作為參數(shù),通過一個(gè)算法AA計(jì)算出鑰匙密碼D,并通過公眾通訊系統(tǒng)將用于繼續(xù)程序安裝的鑰匙密碼D反饋給用戶;在用戶的計(jì)算機(jī)中,也由用戶輸入與前述相同的身份碼9、一個(gè)校驗(yàn)碼10及其校驗(yàn)碼編號12等3個(gè)參數(shù)中的全部或部分,以及鑰匙密碼D,軟件將以上述3個(gè)參數(shù)中的全部或部分及軟件安裝時(shí)生成的隨機(jī)數(shù)據(jù)C等至少4個(gè)參數(shù)作為參數(shù),通過一個(gè)算法AB,計(jì)算出鑰匙密碼DA;安裝程序比對鑰匙密碼DA與鑰匙密碼D是否相同或符合一個(gè)確定的關(guān)系,作為判斷是否繼續(xù)安裝的依據(jù),比對成功后,才能完成程序的安裝。
      2.如權(quán)利要求1所述的方法,其特征在于多層組碼結(jié)構(gòu)1是一個(gè)身份碼9與多個(gè)校驗(yàn)碼10及其校驗(yàn)碼編號12的組合。
      3.如權(quán)利要求1所述的方法,其特征在于通過算法AA計(jì)算獲得的鑰匙密碼D是一個(gè)長串?dāng)?shù)字的一部分,而鑰匙密碼D只需要與用戶程序通過算法AB計(jì)算出鑰匙密碼DA的頭部、尾部或中間的幾位數(shù)相同或符合約定的相關(guān)規(guī)律,即可驗(yàn)證成功。
      4.如權(quán)利要求1所述的方法,其特征在于在安裝程序或計(jì)算機(jī)程序中的安裝功能的代碼中,增加對程序本身重要功能代碼的檢驗(yàn)代碼;也就是在安裝程序程序編制中,增加對已經(jīng)生成為可以運(yùn)行的機(jī)器碼的關(guān)鍵程序段中的機(jī)器碼進(jìn)行備份或加密備份;在安裝程序中增加一處或多處將加密備份(或備份)進(jìn)行解密然后與程序中的相應(yīng)的執(zhí)行部分的代碼進(jìn)行對比的執(zhí)行碼。
      5.如權(quán)利要求1所述的方法,其特征在于安裝程序可以在安裝過程中生成恢復(fù)性安裝的程序備份,備份保存在硬盤上,可以用于對程序系統(tǒng)中所有的或部分重要的、尤其是可執(zhí)行程序的覆蓋性更新。
      6.如權(quán)利要求1所述的方法,其特征在于軟件在安裝過程中,在計(jì)算機(jī)硬盤上增加一些參數(shù)標(biāo)記,或在系統(tǒng)文件上,尤其是操作系統(tǒng)的系統(tǒng)文件的固定文件的固定位置上增加特殊字符標(biāo)記;而沒有所述的特殊標(biāo)記,程序不能運(yùn)行或不能正常運(yùn)行。
      7.如權(quán)利要求1所述的方法,其特征在于所述的軟件安裝成功后,它采用以下方法來防止采用以直接拷貝的方式安裝和運(yùn)行軟件如果是非操作系統(tǒng)軟件,啟動(dòng)運(yùn)行時(shí),向操作系統(tǒng)詢問操作系統(tǒng)的編號,并與安裝過程中已經(jīng)記錄的操作系統(tǒng)的編號進(jìn)行比較,或檢查機(jī)器特征碼與在安裝過程中記錄在軟件中的機(jī)器特征碼是否一致,如一致,則正常啟動(dòng)運(yùn)行,如不一致,則中斷操作;如果是操作系統(tǒng)軟件,在啟動(dòng)運(yùn)行時(shí),操作系統(tǒng)檢查機(jī)器特征碼是否與在安裝過程中記錄在操作系統(tǒng)軟件中的機(jī)器特征碼是否一致,如一致,則正常啟動(dòng)運(yùn)行,如不一致,則中斷操作。
      全文摘要
      本發(fā)明涉及一種計(jì)算機(jī)軟件的反饋式版權(quán)確認(rèn)的注冊碼防盜版加密方法。目的是解決“軟件的批量生產(chǎn)或網(wǎng)上傳播(下載)必須使用的注冊碼機(jī)制與通過購買一個(gè)注冊碼就可以實(shí)現(xiàn)批量盜版”的矛盾。本發(fā)明的每一個(gè)注冊碼都是一個(gè)多層組碼結(jié)構(gòu),是一個(gè)身份碼與多個(gè)校驗(yàn)碼及校驗(yàn)碼編號的組合。用戶通過公眾通訊系統(tǒng)進(jìn)行合法身份的界定。查驗(yàn)合格時(shí),獲得程序安裝的鑰匙密碼,才能完成程序安裝。本發(fā)明能夠防止批量盜版,又允許用戶多次安裝。
      文檔編號G06F12/14GK1369809SQ02101930
      公開日2002年9月18日 申請日期2002年1月14日 優(yōu)先權(quán)日2002年1月14日
      發(fā)明者張國柱 申請人:張國柱
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1