專利名稱:軟件保護(hù)機(jī)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種通過使用單值的(eineindeutigen)硬件識(shí)別避免未經(jīng)允許使用計(jì)算設(shè)備或控制裝置的軟件部分的方法。
現(xiàn)今,在現(xiàn)有的硬件部分上已普遍地加入了軟件保護(hù)機(jī)構(gòu)。具有這樣一種可能性,即在提供軟件許可證時(shí)硬件部分的系列號(hào)應(yīng)固定地登錄在軟件中,這就是說,該軟件不能在另外的硬件上運(yùn)行。這具有其缺點(diǎn),即當(dāng)硬件故障時(shí)該軟件不能轉(zhuǎn)移到一個(gè)另外的硬件上并在那里開始運(yùn)行。在維修情況下,因而也需要成本高的硬件更換。
在硬件上連接軟件保護(hù)的另一可能性在于,使用一種“Dongle”,即一種附加的硬件單元。該Dongle對(duì)于用戶作為開機(jī)鑰匙,以使硬件上的軟件與Dongle相連接,使其可以運(yùn)行。如果該Dongle與另外的硬件相連接,則該軟件可在該另外的硬件上運(yùn)行。但該Dongle僅能同時(shí)與一個(gè)硬件相連接。
由EP 0 940 743 A1公知了Dongle尤其使用在便攜式或筆記本計(jì)算機(jī)上,以避免未經(jīng)許可地使用軟件程序。
使用Dongle的缺點(diǎn)在于,需要附加的硬件部分,而它僅用于避免未經(jīng)允許的使用。Dongle還有另外的缺點(diǎn),即在多個(gè)許可證發(fā)放者的情況下也要使用多個(gè)Dongle。
因此本發(fā)明的目的在于提供一種可靠的、在被許可的使用者操作時(shí)不受限制的、及在維修時(shí)無(wú)需高成本的硬件更換的軟件部分的進(jìn)入保護(hù),其中作為Dongle的等效措施不需要附加任何的硬件部分。
本發(fā)明的目的是這樣來實(shí)現(xiàn)的,即,通過一個(gè)編碼算法由一個(gè)計(jì)算機(jī)可讀數(shù)據(jù)載體的不可改變的硬件識(shí)別信息及附加的許可證信息產(chǎn)生一個(gè)與硬件識(shí)別信息及許可證信息為單值關(guān)系的識(shí)別號(hào),該識(shí)別號(hào)以計(jì)算機(jī)可讀數(shù)據(jù)載體的形式輸送給在其中該軟件部分運(yùn)行的計(jì)算設(shè)備或控制裝置。
本發(fā)明的一個(gè)重要優(yōu)點(diǎn)在于,僅由制造商在計(jì)算機(jī)可讀數(shù)據(jù)載體制造過程中在該數(shù)據(jù)載體上記錄該單值的硬件識(shí)別信息,即被寫在該數(shù)據(jù)載體的一個(gè)區(qū)域中,它在以后僅可被讀出,而不再能寫入。該硬件識(shí)別信息僅是一次給定的及由此是唯一的。因?yàn)榘撚布R(shí)別信息的區(qū)域僅可被讀但不能寫,因此該硬件識(shí)別信息(例如一個(gè)系列號(hào))不能被轉(zhuǎn)移到另一數(shù)據(jù)載體上。因此數(shù)據(jù)載體的派生(Clonen)是不可能的。除了硬件識(shí)別信息外,該計(jì)算機(jī)可讀數(shù)據(jù)載體還包括其它有效數(shù)據(jù)區(qū)域,它們是完全可寫的。由此獲得了本發(fā)明的其它優(yōu)點(diǎn)。
該計(jì)算機(jī)可讀數(shù)據(jù)載體在其有效數(shù)據(jù)區(qū)域中記錄對(duì)于一個(gè)計(jì)算機(jī)設(shè)備或控制裝置本來要使用的信息。對(duì)于控制裝置的工作該計(jì)算機(jī)可讀數(shù)據(jù)載體在其有效數(shù)據(jù)區(qū)域中可包括譬如完整的Run-Time軟件和/或參數(shù)或結(jié)構(gòu)信息,但也可包括應(yīng)用信息。該計(jì)算機(jī)可讀數(shù)據(jù)載體本來需要其對(duì)于計(jì)算機(jī)設(shè)備或控制裝置的工作有效的數(shù)據(jù),因此不體現(xiàn)有任何僅用作軟件訪問保護(hù)機(jī)構(gòu)的附加硬件部分。
本發(fā)明的另一優(yōu)點(diǎn)在于,在備件使用情況下通過計(jì)算機(jī)可讀數(shù)據(jù)載體的更換可保證既很容易又很快地繼續(xù)使用計(jì)算機(jī)設(shè)備和/或控制裝置,因?yàn)橛?jì)算機(jī)可讀數(shù)據(jù)載體與許可證持有者的基本硬件不是固定聯(lián)系的。當(dāng)一個(gè)用戶制作開始部分所述類型的當(dāng)前計(jì)算機(jī)可讀數(shù)據(jù)載體的備件時(shí),控制裝置將用最后的參數(shù)及結(jié)構(gòu)信息,但用Run-Time軟件的當(dāng)前版本可很快地投入運(yùn)行。該備件自然僅包含該基本計(jì)算機(jī)可讀數(shù)據(jù)載體的相同有效數(shù)據(jù)。由計(jì)算機(jī)可讀數(shù)據(jù)載體的制造商在其上記載的硬件識(shí)別信息當(dāng)然是不同的及不可被復(fù)制的。
本發(fā)明的其它優(yōu)點(diǎn)在于易于市場(chǎng)化或待保護(hù)軟件部分的銷售。顧客將得到開始部分所述類型的一個(gè)計(jì)算機(jī)可讀數(shù)據(jù)載體,其中包括一個(gè)識(shí)別號(hào),該識(shí)別號(hào)通過一個(gè)編碼算法由該計(jì)算機(jī)可讀數(shù)據(jù)載體的單值硬件識(shí)別信息及所需的許可證信息來產(chǎn)生。在使用該計(jì)算機(jī)可讀數(shù)據(jù)載體時(shí)將由計(jì)算設(shè)備或控制裝置通過軟件詢問該識(shí)別號(hào),進(jìn)行識(shí)別及給予訪問資格或拒絕訪問。因此,用戶既不需要當(dāng)前硬件的系列號(hào)也不需要一個(gè)附加的硬件、如Dongle來使所得到的軟件部分進(jìn)入運(yùn)行。此外在備件情況下用戶可節(jié)省一個(gè)新的許可證處理,因?yàn)樵撚?jì)算機(jī)可讀數(shù)據(jù)載體的內(nèi)容(除單值的硬件識(shí)別信息外)不是固定的,因此可以簡(jiǎn)單地更換。
本發(fā)明的第一有利構(gòu)型在于在識(shí)別號(hào)產(chǎn)生時(shí)也使用附加信息。由此該編碼算法作為輸入量除使用硬件識(shí)別信息及許可證信息外還使用另外的附加信息來產(chǎn)生識(shí)別號(hào),通過該識(shí)別號(hào)就可很容易地實(shí)現(xiàn)與各種信息的聯(lián)系。例如,可進(jìn)行與硬件識(shí)別信息,許可證信息及許可證頒發(fā)者的聯(lián)系。
本發(fā)明的另一有利構(gòu)型在于對(duì)于一個(gè)硬件識(shí)別信息可產(chǎn)生出一個(gè)或多個(gè)識(shí)別號(hào)。由此可以作到,一個(gè)用戶可通過在開始部分所述類型的計(jì)算機(jī)可讀數(shù)據(jù)載體的獲得不僅可從一個(gè)許可證頒發(fā)者,而且可從多個(gè)許可證頒發(fā)者那里得到軟件訪問資格。對(duì)于用戶可由此得到便利,對(duì)于它可用既統(tǒng)一又簡(jiǎn)單的方式方法從不同的許可證頒發(fā)者那里得到軟件部分的訪問授權(quán)。
本發(fā)明的另一有利構(gòu)型在于識(shí)別號(hào)被寄存在計(jì)算機(jī)可讀數(shù)據(jù)載體的一個(gè)可讀及可寫區(qū)域中。由此軟件程序可以很容易地在其上讀寫及檢驗(yàn)所屬的許可證即訪問資格。
本發(fā)明的另一有利構(gòu)型在于在計(jì)算機(jī)可讀數(shù)據(jù)載體上還寄存了許可證信息和/或附加信息。這些信息可由用戶讀取并給他一個(gè)對(duì)于可在計(jì)算設(shè)備或控制裝置上執(zhí)行的相關(guān)軟件部分的存取可能性的非常簡(jiǎn)單及清晰的概覽。
本發(fā)明的另一有利構(gòu)型在于作為數(shù)據(jù)載體使用對(duì)于計(jì)算設(shè)備工作本來已存在的一個(gè)單元。由此可保證,對(duì)于保護(hù)機(jī)構(gòu)不需要任何附加的硬件單元。在計(jì)算設(shè)備或控制裝置上的處理由此變得容易,而且機(jī)構(gòu)空間及成本可被節(jié)省。
本發(fā)明的另一有利構(gòu)型在于使用存儲(chǔ)卡作為數(shù)據(jù)載體。在控制裝置上本來就通常使用存儲(chǔ)卡,并可以簡(jiǎn)單方式插入到為它設(shè)置的插口中。
本發(fā)明的另一有利構(gòu)型在于使用一個(gè)MMC存儲(chǔ)卡(MMC)作為數(shù)據(jù)載體。MMC卡(MMC為多媒體卡“Multi Media Card”的縮寫)就其大小及形狀非常適于作信息載體。MMC存儲(chǔ)卡的外觀類似于一種手機(jī)上使用的公知SIM卡。
本發(fā)明的另一有利構(gòu)型在于數(shù)據(jù)載體也可構(gòu)成包含信息的鑰匙。通過這種硬件及信息技術(shù)措施的處理將使軟件訪問保護(hù)的性能提高。
在附圖中表示出本發(fā)明的實(shí)施例并在下面加以說明,附圖中
圖1示出硬件識(shí)別及許可證信息、編碼算法及識(shí)別號(hào)的協(xié)同作用;圖2示出硬件識(shí)別、許可證信息及附加信息、編碼算法及識(shí)別號(hào)的協(xié)同作用;圖3示出在一個(gè)MMC存儲(chǔ)卡上存儲(chǔ)一個(gè)識(shí)別號(hào);圖4示出包括多個(gè)識(shí)別號(hào)的MMC存儲(chǔ)卡;,圖5示出一個(gè)MMC存儲(chǔ)卡的內(nèi)容結(jié)構(gòu);圖6示出作為編碼算法及解碼算法之間的連接單元的MMC存儲(chǔ)卡的中心位置;圖7示出在另一識(shí)別方法中的MMC存儲(chǔ)卡的中心位置。
在圖1中以概要的形式表示編碼算法的輸入/輸出特性。在這里該編碼算法本身被視為可任意預(yù)給定的,對(duì)于這類算法,例如被描述在Gerd W.Whner著的“數(shù)據(jù)安全及數(shù)據(jù)保護(hù)”第219至240頁(yè)(1993年,VDI出版社)中。
在該圖的左側(cè)是用于編碼算法的輸入量,即硬件識(shí)別信息PSN及許可證信息LI。在該圖的右部分是輸出特性,即該算法的結(jié)果。該編碼算法提供識(shí)別號(hào)PIN作為輸出。該算法的輸入及輸出特性通過自說明的箭頭方向來指示。
在圖2的示圖中比圖1的示圖中增加了一個(gè)用于編碼算法的第三輸入?yún)?shù),即另一附加信息ZI。在圖2的示圖中識(shí)別號(hào)PIN由該算法使用硬件識(shí)別信息PSN,許可證信息LI及另一附加信息ZI(例如供應(yīng)商識(shí)別信息)來產(chǎn)生。在該示圖中編碼算法通過帶箭頭的框來表示,該框示的箭頭通過該箭頭方向表示該算法的輸入/輸出特性。
圖3的示圖是圖2的一種擴(kuò)展。在該圖中間也同樣以帶箭頭的框表示編碼算法,其左半部分表示該算法的輸入?yún)?shù),即硬件識(shí)別信息PSN,許可證信息LI及另一附加信息ZI。該圖的右側(cè)表示由編碼算法產(chǎn)生的、位于一個(gè)MMC存儲(chǔ)卡上的識(shí)別號(hào)IN。另外,在該MMC存儲(chǔ)卡上還記錄有硬件識(shí)別信息PSN,許可證信息LI及附加信息ZI。硬件識(shí)別信息PSN處在MMC存儲(chǔ)卡的一個(gè)區(qū)域上,該區(qū)域僅可被讀而不能被復(fù)制。相反地,識(shí)別號(hào)PIN,許可證信息LI及附加信息ZI被記錄在MMC存儲(chǔ)卡的一個(gè)讀-寫區(qū)域上。通過識(shí)別號(hào)PIN進(jìn)行“連接”,即一個(gè)取得的軟件許可證和其所屬的供應(yīng)商與單值的硬件識(shí)別信息PSN的邏輯連接。在該連接中附加信息ZI具有選擇特征。
在待保護(hù)的軟件部分起動(dòng)時(shí)或在工作時(shí),一個(gè)軟件程序?qū)z驗(yàn)其授權(quán)。在軟件部分起動(dòng)后授權(quán)檢驗(yàn)周期地進(jìn)行。MMC存儲(chǔ)卡在大小及形狀上類似于一個(gè)使用在手機(jī)中的小SIM卡。在圖3所示的圖中各箭頭也表示用于編碼算法的信息流輸入/輸出特性。
圖4的示圖表示一個(gè)MMC存儲(chǔ)卡可包括多于一個(gè)的識(shí)別號(hào)PIN1-PINn。因此一個(gè)MMC存儲(chǔ)卡對(duì)于每個(gè)許可證提供者可包括一個(gè)單獨(dú)的識(shí)別號(hào)PIN1-PINn。通過每個(gè)識(shí)別號(hào)PIN1-PINn可相對(duì)每一個(gè)許可證提供者執(zhí)行各個(gè)取得的許可證對(duì)單值硬件識(shí)別信息PSN的“連接”。典型的許可證提供者是原始的設(shè)備制造商(OEM),即例如機(jī)器制造商,他們將應(yīng)受保護(hù)的軟件部分設(shè)在其設(shè)備或產(chǎn)品中一起供貨。
在圖5的示圖中示出一個(gè)MMC存儲(chǔ)卡的內(nèi)容結(jié)構(gòu)。該MMC存儲(chǔ)卡以信息塊的方式分配。最上面的塊是卡識(shí)別塊,它由MMC存儲(chǔ)卡制造商寫入。該卡識(shí)別塊包括單值的硬件識(shí)別信息PSN。該區(qū)域僅可被讀(由檢驗(yàn)軟件讀),而不能復(fù)制。在下面的塊中分別為許可證信息LI1-LIn、附加信息ZI1-ZIn,及由編碼算法產(chǎn)生的識(shí)別號(hào)PIN1-PINn。此外,可設(shè)有一個(gè)MMC存儲(chǔ)卡程序及數(shù)據(jù)。
除包括單值的硬件識(shí)別信息PSN和僅可讀而不能復(fù)制的信息塊外,MMC存儲(chǔ)卡的所有其它塊是可讀,可寫及可復(fù)制的。
在圖6的示圖中,其中間表示一個(gè)MMC存儲(chǔ)卡,它包括硬件識(shí)別信息PSN,識(shí)別號(hào)PIN,許可證信息LI及附加信息ZI。該圖的左側(cè)表示如何由編碼算法產(chǎn)生識(shí)別號(hào)PIN。用于產(chǎn)生識(shí)別號(hào)PIN的編碼算法的輸入?yún)?shù)是硬件識(shí)別信息PSN,許可證信息LI及附加信息ZI。在此情況下附加信息ZI僅在選擇時(shí)需要。對(duì)于進(jìn)入使用的授權(quán)這時(shí)由一個(gè)軟件程序讀取MMC卡上的識(shí)別號(hào)PIN及借助一個(gè)解碼算法檢驗(yàn)。該解碼算法由識(shí)別號(hào)PIN產(chǎn)生一個(gè)單值的硬件識(shí)別信息PSN,許可證信息LI及(只要存在的話)附加信息ZI。在系統(tǒng)起動(dòng)時(shí)即軟件部分起動(dòng)時(shí)借助解碼算法來進(jìn)行進(jìn)入使用的授權(quán),但在相應(yīng)的軟件部分工作時(shí)也周期性進(jìn)行。如果通過解碼算法得到的PSN與MMC卡上的相一致,則允許使用該軟件部分。
圖7所示的圖表示授權(quán)檢驗(yàn)的另一可能性。在圖7中也是在中間表示一個(gè)MMC存儲(chǔ)卡,它包括硬件識(shí)別信息PSN,識(shí)別號(hào)PIN,許可證信息LI及附加信息ZI。該圖的左側(cè)表示如何由編碼算法產(chǎn)生識(shí)別號(hào)PIN。用于產(chǎn)生識(shí)別號(hào)PIN的編碼算法的輸入?yún)?shù)是硬件識(shí)別信息PSN,許可證信息LI及附加信息ZI。在此情況下附加信息ZI僅在選擇時(shí)需要。對(duì)于進(jìn)入使用的授權(quán)這時(shí)由硬件識(shí)別信息PSN,許可證信息LI及選擇地由附加信息ZI通過在輸入端使用的編碼算法產(chǎn)生識(shí)別號(hào)PIN。得到的該識(shí)別號(hào)PIN用MMC存儲(chǔ)卡上的識(shí)別號(hào)PIN來檢驗(yàn)(由虛線箭頭所示)。如果它們相一致,則允許使用該軟件部分。在系統(tǒng)起動(dòng)時(shí)進(jìn)行該檢驗(yàn),但在相應(yīng)的軟件部分工作時(shí)也周期性進(jìn)行該檢驗(yàn)。
權(quán)利要求
1.一種通過使用單值的硬件識(shí)別來避免未經(jīng)允許使用計(jì)算設(shè)備或控制裝置的軟件部分的方法,其特征在于通過一個(gè)編碼算法由一個(gè)計(jì)算機(jī)可讀數(shù)據(jù)載體的不可改變的硬件識(shí)別信息(PSN)及附加的許可證信息產(chǎn)生一個(gè)與硬件識(shí)別信息及許可證信息(LI,LI1-LIn)為單值關(guān)系的識(shí)別號(hào)(PIN),該識(shí)別號(hào)以計(jì)算機(jī)可讀數(shù)據(jù)載體的形式輸送給在其中該軟件部分運(yùn)行的計(jì)算設(shè)備或控制裝置。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于在識(shí)別號(hào)(PIN)產(chǎn)生時(shí)也使用附加信息(ZI,ZI1-ZIn)。
3.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于對(duì)于一個(gè)硬件識(shí)別信息(PSN)可產(chǎn)生出一個(gè)或多個(gè)識(shí)別號(hào)(PIN)。
4.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于識(shí)別號(hào)(PIN)被寄存在計(jì)算機(jī)可讀數(shù)據(jù)載體的一個(gè)可讀及可寫區(qū)域中。
5.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于在計(jì)算機(jī)可讀數(shù)據(jù)載體上還寄存了許可證信息(LI,LIl-LIn)和/或附加信息(ZI,ZI1-ZIn)。
6.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于作為數(shù)據(jù)載體使用對(duì)于計(jì)算設(shè)備工作本來已存在的一個(gè)單元。
7.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于使用存儲(chǔ)卡作為數(shù)據(jù)載體。
8.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于使用一個(gè)MMC存儲(chǔ)卡(MMC)作為數(shù)據(jù)載體。
9.根據(jù)上述任一項(xiàng)權(quán)利要求所述的方法,其特征在于數(shù)據(jù)載體也可構(gòu)成包含信息的鑰匙。
全文摘要
本發(fā)明涉及一種通過使用單值的硬件識(shí)別信息(PSN)來避免未經(jīng)允許使用計(jì)算設(shè)備或控制裝置的軟件部分的保護(hù)方法,其中通過一個(gè)編碼算法由硬件識(shí)別信息(PSN)、許可證信息(LI,LI1-LIn)及可能的附加信息(ZI,ZI1-ZIn)產(chǎn)生一個(gè)識(shí)別號(hào)(PIN)。該許可信息以計(jì)算機(jī)可讀數(shù)據(jù)載體的形式、最好構(gòu)成MMC存儲(chǔ)卡(MMC)輸送給計(jì)算設(shè)備或控制裝置。
文檔編號(hào)G06F21/12GK1324029SQ0112161
公開日2001年11月28日 申請(qǐng)日期2001年5月15日 優(yōu)先權(quán)日2000年5月15日
發(fā)明者安德烈亞斯·哈廷格, 馬丁·基塞爾 申請(qǐng)人:西門子公司