TWI321289B - Relevant methods and systems for generating compact hardware identification of computer system for controlling usage of software package in computer system, and computer readable medium for recording relevant instructions - Google Patents

Relevant methods and systems for generating compact hardware identification of computer system for controlling usage of software package in computer system, and computer readable medium for recording relevant instructions Download PDF

Info

Publication number
TWI321289B
TWI321289B TW093105318A TW93105318A TWI321289B TW I321289 B TWI321289 B TW I321289B TW 093105318 A TW093105318 A TW 093105318A TW 93105318 A TW93105318 A TW 93105318A TW I321289 B TWI321289 B TW I321289B
Authority
TW
Taiwan
Prior art keywords
component
hardware configuration
hash
hardware
hash result
Prior art date
Application number
TW093105318A
Other languages
English (en)
Other versions
TW200511108A (en
Inventor
Caglar Gunyakti
Ferdinand Jay Alabraba
Aidan T Hughes
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200511108A publication Critical patent/TW200511108A/zh
Application granted granted Critical
Publication of TWI321289B publication Critical patent/TWI321289B/zh

Links

Classifications

    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45BWALKING STICKS; UMBRELLAS; LADIES' OR LIKE FANS
    • A45B25/00Details of umbrellas
    • A45B25/02Umbrella frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)
  • Hardware Redundancy (AREA)

Description

1321289 九、發明說明: 【發明所屬之技術領域】 本發明係關於可用於在一特定電腦系統辛產生一種小 型硬趙識別(compact hardware identification,CHWID)之 系統與方法。根據該電腦系統硬體更動之程度,可利用該 小型硬體識別(CHWID )來控制在該特定電腦系統上軟體 之使用。可透過有限頻寬之媒體,例如一電話,來電子傳 輸該小型硬體識別(CHWID )。 【先前技術】 近年來,各界多方嘗試制止或最小化電腦軟體之非法 使用。由於電腦軟體易於複製與散佈,電腦軟體之盜版與 超出授權合約範圍之非法使用皆十分常見,也嚴重地打擊 了軟體製造商。 為了減少電腦軟體盜版以及超出授權合約範圍之非法 使用的發生,已經發展出許多方法。然而,此類方法通常 會對合法的軟體消費者與使用者造成困擾,造成消費者的 不便。舉例而言,一位升級其電腦之使用者應該能夠合法 地在經升級之機器上重新安裝該軟體產品。然而,目前可 用的方法可能(1)不允許安裝該軟體,或者是(2)強制 使用者(其並不願意)聯絡軟體製造商尋求協助。 因此,欲解決盜版與非法使用,仍須改良相關技術, 且其同時須能識別並順應一合法軟體消費者與使用者之需 求與使用。 5 1321289 9α 12. 2' 【發明内容】 本發明針對前述的某些困難與問題,提出一種可供一 電腦系統使用的改良之硬體識別。本發明之硬體識別提出 一種方法,可最小化或制止軟體的盜版以及超出授權合約 範圍之非法使用,同時可允許合法軟體使用者進行機器升 級。 本發明之硬體識別,此處稱為「小型硬體識別J (CHWID ),其可識別(1 )用來建構一電腦系統之一種硬 體組態的多種元件類別,以及(2 )在一特定電腦系統之一 種特定元件類別中的一種單一元件裝置或實體。藉由考慮 在一選定數目之元件類別中的一種單一元件裝置或實體, 可在該特定電腦系統中產生一種安全且可靠之小型硬體識 別(CHWID ),並使得其對於特定電腦系統之硬體組態的 元件更動具有某種程度的容許性。 當首次將一軟體產品載入一電腦上,且僅有有限空間 可供識別一特定硬體組態時,可利用該小型硬體識別 (CHWID )。可儲存該小型硬體識別(CHWID )供將來之 使用,例如(1)當在相同電腦或該相同電腦的一變形上, 執行該相同軟體產品時,或者(2)當將該軟體產品重新載 入至相同電腦的一變形上或一完全不同之電腦時。舉例而 言,當將相同軟體產品載入至相同電腦或該相同電腦之一 變形上時,會產生一第二小型硬體識別(sCHWID )並將 之與(1) 一種先前儲存之小型硬體識別(iCHWID ),或(2 ) 1321289 下述的一種先前儲存之冗長硬體識別(VHWID )進行比 較。若在第二小型硬體識別(sCHWID )之元件類別以及 (1 )先前儲存之小型硬體識別(iCHWID ),或(2 )先前 健存之冗長硬趙識別(VHWID)的相對應之元件類別之 間,有一理想之相符數目’則本發明之方法會允許載入該 軟體產品。然而,若在第二小型硬體識別(sCHWID )之 元件類別以及(1 )先前儲存之小型硬體識別(iCHWID ), 或(2)先前儲存之冗長硬體識別(VHWID )的相對應之 元件類別之間,沒有理想之相符數目’則因為對原始硬體 系統之更動超過一理想之門檻,此時本發明之方法不會允 許載入該軟體產品。 因此,本發明係關於一種小型硬體識别(CHWID), 以及一種產生一小型硬體識別(CHWID )之方法。本發明 進一步關於一種當嘗試在一電腦系統上啟動一軟趙產品而 產生一新的小型硬體識別(CHWID )時可防止在一電腦系 統上使用軟想的方法’在該方法中’該新的小型硬艘識別 (CHWID )在與(1) 一種先前儲存之小型硬趙識別 (iCHWID ),或(2) —種先前儲存之冗長硬體識別 (VHWID )進行比較時,由於對該原始電腦系統之一或多 種硬體更動,因此超過該方法之容許度而遭到拒絕。藉由 下文所揭露之具體實施例的詳細說明以及所附專裡申請範 圍,將可了解本發明之前述與其他特徵與優點。 【實施方式】 7 1321289
為了有助於瞭解本發明之原理,利用下列本發明之 定具體實施例的說明以及特定語言,來描述該特定具體 施例。然而,必須瞭解使用特定語言之目的,不在於限 本發明之範圍。習知技藝人士通常可理解,針對所討論 本發明的原理所做之改變、近一步修改 '以及其進一步 應用,皆屬於本發明。 本發明係關於可藉由一小型硬體識別(CHWID )來 別一特定電腦系統之一種硬體組態的一種方法。本發明 關於藉由識別每一種所選之元件類別數目中的一單一元 實體,來產生一小型硬體識別(CHWID )的一種方法。 發明進一步關於利用一小型硬體識別(CHWID ),來決 一電腦硬體組態中是否可利用一軟體產品的一種方法。 可產生小型硬體識別(CHWID ),供至少包含多種 體元件的一電腦系統利用。一示範性電腦系統可至少包 多種^體元件,這些硬體元件可分成下列類別,包括但 限於,硬碟機、光碟機、網路卡、顯示介面卡、唯讀記 體(ROM )、隨機存取記憶體(RAM )、以及一種基本輸 /輸入系統(BIOS )。下文描述了可實作本發明的一種示 性電腦系統以及示範性作業環境。 示範性作業環境 此後將參照圖示來描述本發明之示範性具體實施例 其中在數個圖示中,相似的元件符號代表相似的元件。 1圖闡明可實作本發明之一種示範性作業環境。該示範 特 實 制 之 的 識 亦 件 本 定 硬 含 不 憶 出 範 第 性 8
1321289 作業環境包括一種一般用途的運算裝置,其形式為一傳統 個人電腦20» —般而言,一個人電腦20包括一處理單元 2 1、一系統記憶體2 2、以及一系統匯流排2 3,該系統匯流 排可將多種系統元件耦合至處理單元2 1,包括系統記憶體 2 2。系統匯流排2 3可以是多種匯流排結構其中任何一種, 包括一記憶體匯流排或記憶體控制元件、一周邊匯流排、 以及一種可利用多種匯流排架構其中認一種之本機匯流 排。系統記憶體包括一唯讀記憶體(ROM ) 24以及隨機存 取記憶體(RAM ) 25。儲存於ROM 24中的一基本輸出/ 輸入系統(BIOS) 26含有基本常式,有助於個人電腦20 的元件之間的資料傳遞,例如在開機過程中。 個人電腦20更包括一種硬碟機27,可讀取並寫入一 硬碟,此處未顯示;一磁碟機28,可讀取並寫入一可移除 磁碟29;以及一種光碟機30,可讀取並寫入一可移除光碟 3 1,例如一 CD-ROM或其他光學媒體。硬碟機27、磁碟機 28、以及光碟機30係分別經由一硬碟機介面32、一磁碟 機介面33、以及一光碟機介面34,連接至系統匯流排23。 雖然此處所述之示範性環境採用硬碟27、可移除磁碟29、 以及可移除光碟31,習知技藝人士可以理解在該示範性作 業環境中,可利用其他種類之電腦可讀取媒體,其可儲存 資訊,供一電腦存取之,例如磁帶、快閃記憶體卡、數位 多功能影音光碟、伯努利卡匣(Bernoulli cartridges)、 RAM、ROM、及其他相似者。對於電腦可執行指令、資料 結構、程式模組、以及個人電腦20之其他資料,該磁碟機 9 1321289 以及相關之電腦可讀取媒體可提供一非易變之儲存方 舉例而言,可將一或多種資料檔案60 (此處未顯示) 於個人電腦20之RAM25和/或硬碟27中。 可將多種程式模組儲存於硬碟27、磁碟29、光碟 ROM 24、或RAM 25上,該程式模組包括一作業系統 一應用程式模組36、其他程式模組37、以及程式資料 程式模組包括但不限於常式、子常式、程式、物件、元 資料結構等等,其可執行特定任務或可實作特定抽象 類型。可利用一應用程式模組36之其中一部份或另一 模組3 7之一部份的形式,來實作本發明之態樣。 一種使用者透過輸入裝置,例如一鍵盤40以及一 裝置42,將指令指令與資訊輸入進個人電腦20中。 輸入裝置(此處未顯示)可包括一種麥克風、搖感、 墊、衛星接收碟、掃描器、或其相似者。這些與其他 裝置,通常係藉由一種耦合至系統匯流排2 3之序列埠 46 ,連接至處理單元 22,但亦可經由其他介面連接 如一平行埠、遊戲連接埠、一通用序列匯流排(USB ) 其他相似者。一螢幕47或其他類型之顯示裝置亦可透 介面,如一視訊配接卡4 8,連接至系統匯流排2 3 »除 幕之外,傳統上個人電腦會包括其他周邊輸出裝置( 未顯示),例如擴音器與印表機。 個人電腦 20可利用邏輯連接至一或多種遠端 49,在一種網路化之環境中作業。遠端電腦49可以是 種個人電腦、一伺服器、一用戶端、一路由器、一網路 式。 儲存 31、 35 > 38 » 件、 資料 程式 指向 其他 遊戲 輸入 介面 ,例 、或 過'— 了螢 此處 電腦 另一 PC、 10 1321289 12.ΊΤ 年月日 一對等裝置、或其他一般網路節點。雖然一遠端電腦49 通常包括上述關於個人電腦20之多種或所有項目,在第1 圖中僅闡明一種記憶體儲存裝置50»第1圖中所示之邏輯 連接包括一種區域網路(LAN ) 51以及一種廣域網路 (WAN) 52。此種網路環境為辦公室企業用電腦網、内部 互連網、與網際網路中常見的形式, 當應用於一種LAN網路環境下時,個人電腦20係透 過一種網路介面或配接卡53連接至區域網路51。當應用 於一種WAN網路環境下時,個人電腦20 —般包括一種數 據機54或其他可在WAN 52,如網際網路,中建立連線之 方式。數據機54可為内建或外接,其係透過序列埠介面 4 6連線至系統匯流排2 3。在一網路化環境中,可將所述關 於個人電腦20之程式模組,或其一部份,儲存於遠端記憶 體儲存裝置50。將可了解,所示的網路連線為示範性,且 可利用其他能在電腦間建立一連線之方式。 此外,習知技藝人士可了解可在其他電腦系統組態中 實作本發明,包括手持裝置、多處理器系統、以微處理器 為基礎或可程式化之消費性電子產品、網路個人電腦、迷 你電腦、主電腦、及其相似者。亦可在分散式運算環境中 實施本發明,在該處可藉由透過一通訊網路連接之遠端處 理裝置來執行任務。在一分散式運算環境中,程式模組可 位在本機或以及遠端記憶體儲存裝置中》 實作本發明之示範性具體實施例 11
1321289 如上所述,一電腦系統通常至少包含多種硬體元件之 類別。此外,該電腦系統在每一種硬體元件之類別中可至 少包含多重元件(如’兩個硬碟機)。 本發明之小型硬體識別(CHWID )會考量用來決定該 CHWID所需之每一種硬體元件類別之中的一種單一元件 裝置(此處亦稱為一「實體」)°本發明之小型硬體識別 (CHWID)亦可考量在一電腦硬體系統的一特定元件類別 中,欠缺一種元件裝置。舉例而言,可在檢視該特定電腦 硬體組態之前’決定可利用該元件類別來識別一種特定電 腦硬體組態。對於每一種可用於產生該電腦硬體組態之小 型硬體識別(CHWID )的所選元件類別,該電腦硬逋組態 可以或不可以含有一種元件實體。 下文詳述本發明中,可產生一小型硬體識別(CHWID ) 的一種示範性方法。此外,亦描述本發明中,可利用該小 型硬體識別(CHWID )做為一種反盜版工具的一種示範性 方法。 1·產生一電腦系統之一種小型硬體識別(CHWH)) 下文敘述一種示範性小型硬趙識別(CHWID )之元件 的說明》 A.小型硬體識別(CHWID ) 一特定電腦系統之小型硬體識別(CHWID )理想中須 至少包含兩種個別之部份:(丨)一選擇性版本元件、以及 (2 ) —種雜湊(hash)元件。可能之小型硬體識別(CHWID ) 12 1321289 部份中的每一種,皆可來自一特定電腦系統之硬體組態。 第2圖中闡明一電腦硬體組態以及每一種元件類別中的實 體之一實施例。 如第2圖中所示,示範性電腦硬體組態20至少包含8 種個別元件類別2 1至2 8,其共具有1 9種元件實體2 0 0, 分散於元件類別21至28之中。CDRom元件類別21含有 4種元件實體;IDE元件類別22含有2種元件實體;驅動 器元件類別23含有1種元件實體;顯示元件類別24含有 I種元件實體;SCSI元件類別25含有2種元件實體;磁 碟元件類別2 6含有6種元件實體;網路卡元件類別2 7含 有1種元件實體;以及處理器(即,中央處理單元)元件 類別28含有2種元件實體。第2圖中第29列顯示一連串 數字,其代表在元件類別21至28這8種元件類別之t, 其每一個所含有的元件實體數目。 必須注意,在一特定元件類別之中元件實體數目可以 不同,該數目可以從〇到表示一種特定硬體組態所必須之 數目,雖然一實作可任意限制每一元件類別之元件實體的 數目。傳統上,對每一元件類別,一特定硬體組態包含由 0至約6種元件實體。如下所述,即使當一元件類別不包 含一元件實體時,在元件類別中欠缺一元件實體會造成一 資訊,該資訊係整合於小型硬體識別(CHWID )中,第3 圖中顯示一種示範性小型硬體識別(CHWID )。第3圖之 示範性小型硬體識別(CHWID )35為識別第2圖之電腦硬 體組態的一種可能方法。如上所述,該小型硬體識別 13 1321289 (CHWID )35最好應至少包含兩種獨立之元件:版本元件 31’以及雜湊部份33,》第3圖中描述了小型硬體識別 (CHWID) 35的兩種獨立部份。 標頭部份31之版本元件310可識別冗長硬體識別 (VHWID ) 34的一特定版本以及與其相對應且可用於識別 一特定電腦系統之小型硬體識別(CH WID ) 3 5。舉例而言, 一種冗長硬體識別(VHWID )或小型硬體識別(CHWID ) 的一種特定版本(如,版本「1」),可和一冗長硬體識別 (VHWID )或小型硬體識別(CHWID )之其他版本(如, 版本「2」)不同,可藉由利用一組參數來產生版本1,並 利用另一組獨立的不同參數來產生版本2。可利用多種參 數可來產生一種冗長硬體識別(VHWID ) 以及與其相對 應之小型硬體識別(CHWID )的一種特定版本❷適當的參 數包括但不限於,(1)在該小型硬體識別(CHWID) 35令 表示的元件類別數;(2)用來產生冗長硬體識別(vhWID) 3 4之最大和/或最小元件類別數;(3 )經認定屬於一特定 VHWID元件類別中之最大和/或最小元件實體之數目;(4) 對於冗長硬體識別(VHWID ) 34中之每一種元件實趙,可 用來產生雜湊值的第一雜湊函數;(5)用來形成冗長硬趙 識別(VHWID) 34的每一種雜湊結果之長度;(6)冗長硬 體識別(VHWID ) 34之最大長度;(7)用來產生該小型硬 體識別(CHWID) 35之最大和/或最小元件類別數雜凑,社 果;(8)對於每一種元件實體,用來產生第二雜湊值之第 二雜湊函數;(9)用來形成該小型硬體識別(CHWID) 35 14 1321289
的每一種第二雜湊結果之長度;以及(ίο)該小型硬體識 別(CHWID ) 35之最大長度。 某些元件類別不能擁有多重元件實體,且為已知的單 一實體類別。全系統RAM為一種單一實體類別的一實施 例。將一種單一實體類別之資料進行雜湊並於必要時截斷 (truncated),之後將之儲存於截斷之標頭部份31的數值部 份312中。表示於該標頭中的每一種單一實體類別可具有 一種相關聯之截斷數值部份312。 較佳的情形中,小型硬體識別(CHWID ) 35之版本元 件 31’具有一固定長度,對於所有具有一特定版本類型之 小型硬體識別(如,版本1之CHWID )該長度皆相同。 計數部份32至少包含一連串η個數字,其可表示對於 «種可用來籌備冗長硬體識別(VHWID ) 34之元件類別, 其每一種之中的元件實體之數目。如第3圖中所示,計數 部份32至少包含該串數字:「421 12612」,其係對應 至第2圖中所示之元件類別21至2 8中的元件實體。必須 注意,若一元件類別不包含一元件實體時,計數部份32 對於該特定元件類別會包含一「〇」。 可用來產生冗長硬體識別(VHWID ) 34之雜湊部份 33至少包含一串合併的第一雜湊值,其可表示第2圖中所 示之元件類別21至28之中的19種元件實體的每一種。每 一種獨立雜湊結果之長度最大可達約160位元。較佳的情 形是,每一種獨立雜湊結果之長度約為自10至20位元之 間,更佳的情形是,約為16位元。 15 1321289
通常,冗長硬體識別(VHWID ) 34之雜湊部份33的 長度會隨著一特定硬體組態之η種元件類別的元件實體之 數目而不同。雜湊部份33之總長度等於元件實體數目乘以 每一元件實體雜湊結果所需之雜湊結果長度。在本實施例 中,會造成冗長硬體識別(VHW ID ) 34之雜湊部份33所 需之總長度為3 04位元(即,19x 16 = 3 04 )。 小型硬體識別(CHW ID ) 35之雜湊部份33’和用來產 生冗長硬體識別(VHWID ) 34之雜凑部份33不同。在本 發明之一種示範性具體實施例中,小型硬體識別(CHWID ) 35之雜湊部份33’至少包含每一元件類別之一種元件實體 第二雜湊值,其係由在每一元件類別之一種元件實體第一 溱值之上所執行的一種第二雜湊函數所產生。元件實體第 一雜湊值係選自用來產生冗長硬體識別(VHWID ) 34之雜 湊部份33的《種元件類別中的一或多種。在雜湊部份33 之中,選擇將進一步由一第二雜湊函數處理之元件實體第 一雜湊值的方法可以是(1) 一種隨機選取程序、或(2) 一種預定方法。一示範性預定方法至少包含在第3圖中所 示的每一種元件類別之中,選擇第一實體。 所產生的小型硬體識別(CHWID ) 35之雜湊部份33’ 至少包含一串合併之元件實體第二雜湊值(v’x),其係由 在雜湊部份33之所選元件實體第一雜湊值上執行一第二 雜湊函數所產生。每一種獨立元件實體第二雜凑值之長度 最大可達約16位元。較佳的情形是,每一種獨立元件實體 第二雜湊值之長度最大可達約8位元,更佳的情形是,自 16
3至6位元。第3圖中顯示了元件實體第二雜湊值 (v、),且其產生方式係由在下列該串第一雜湊值:Vl、 v5、v7、V8、V9、v"、Vl7、以及Vu上執行一第二雜湊函 數’用以產生元件實體第二雜湊值:v,丨、v,5、v,7、v,8、 V 9、 V’u、 V’17、以及 V’18。 通常,小型硬體識別(CHWID ) 35之雜凑部份33,之 長度小於約64位元。雜湊部份3 3,之長度隨著下列因素而 不同(I)用來產生雜湊部份33,之元件實體第一雜湊值的 數目、以及(2)針對每一種個別元件實體第二雜湊值之第 一雜湊值長度。 如第3圖中所示,可以一串合併之標頭部份31、計數 部份32、以及雜湊部份33來表示冗長硬體識別(VHWID) 34β相似地,可以一串合併之版本元件3〗,、以及雜湊部 伤33’來表示小型硬體識別(cHwid ) 35。下文敘述一種 p範ί±方法,可決定針對一電腦硬體組態之一種冗長硬體 識別(VHWID ) 34以及一小型硬體識別(CHWID ) 35。 必須/主意’本發明之小型硬體識別(C η w ID )可僅至 I含種上述部份。在本發明之一種示範性具體實施例 I 特定電腦硬體組態之小型硬體識別(CHWID ) 35至 夕包含僅有雜湊部份33、在本具逋實施例中該小型硬 體識別(CHWID) 35不包含版本元件31、 不明用來產生小型硬體識別(CHWID ) 35之元件為 幻' ’在較佳的情$ .. β屯下’小型硬體識別(CHWID ) 35之總長 度小於約 256你- . 70 °在本發明之一種示範性具體實施例 17 1321289
中,小型硬體識別(CHWID ) 35之總長度約自 64位元。 B.針對一電腦系統決定一種冗長硬體識別 可藉由如第4至6圖中所示的一種示範性 定本發明之VHWID。可藉由在一消費者之電腦 體產品中的軟體編碼來執行該示範性方法之步 與參照第1圖中所述之電腦20類似。如第4至< 一種決定一特定電腦硬體組態之一種 VHWID H W1 )之示範性方法由步驟401開始,其中會 件類別,《種,來識別一種特定電腦硬體組態 所述,一種特定電腦系統可包括多種硬體元件 件之類別。示範性硬體元件類別包括但不限於 本機磁碟分割、光碟、網路卡、顯示器配接卡 體(ROM)、隨機存取記憶體(RAM) ' IDE裝置 視訊卡、處理器、SCSI裝置、以及系統BIOS 形是,硬體元件類別數《,為介於約2至16之 一般而言,最好僅可能使《值最大,用以能夠 確地識別一種特定電腦系統,以及(2)更準確 定電腦系統之容許度。 當在步驟401中選擇元件類別數η之後, 中識別每一種元件類別。該元件類別可包括任 件類別,例如硬碟機之類別。下表1中,列出 樣本硬體組態H W 1之元件類別的一種示範性清 3 2位元至 (VHWID ) 方法,來決 上的一種軟 驟,該電腦 5圖中所示, (此處稱為 選擇多種元 HW1。如上 以及硬體元 ,硬碟機、 、唯讀記憶 .、音效卡、 。較佳的情 間的整數。 (1 ) 更精 地測量一特 在步驟402 何前述之元 可用來識別 單。 18
1321289 表1 :可用來識別樣本硬體組態H W1之元件類別的一種示 範性清單 元件類別 類別敘述 類別識別碼 編號 1 光碟機 光碟機識別碼 2 IDE裝置 IDE裝置識別碼 3 硬碟機 磁碟機分割序號 4 顯示器配接卡裝置 識別碼 5 SCSI裝置 S C SI裝置識別碼 6 磁碟裝置 磁碟裝置識別碼 7 網路卡 MAC位址 8 處理器 處理器裝置識別碼 如表1中所示,在本實施例中,《為8,且所識別之硬 體元件類別包括:(1 ) 一種光碟機類別;(2 ) —種IDE 裝置類別;(3) —種磁碟機類別;(4) 一種顯示器配接卡 裝置類別;(5 ) —種SCSI裝置類別;(6 ) —種磁碟類別; (7 ) —種網路卡類別;以及(8 ) —種CPU處理器類別。 在步驟402中識別了每一種元件類別之後,在步驟403 中識別每一種硬體元件類別之中的所有裝置或實體。亦會 在步驟403中決定「計數」(即每一種硬體元件類別之中的 元件裝置或實體數目)。較佳的情形是,每一種實體係位於 由與該實體相關聯之最唯一識別字串所識別之一種特定元 19 1321289
.今 'Λ 件類別之中。舉例而言,該硬體組態可包含一種由NEC公 司製造之光碟機,其識別字串為「NEC CD RW 24 S15」》任 何可決定一特定實體之最唯一識別字串的可用方法,均可 運用於本發明中。步驟404中,顯示替每一元件實體指派 一種識別字串之步驟。 一旦替每一元件實體指派了一識別字串之後,可在步 驟405中籌備冗長硬體識別(VHWID )之標頭部份。在步 驟4 06中,將該冗長硬體識別(VHWID )的一特定版本輸 入至標頭中,用以形成標頭部份310(如第3圖中所示)。 如上所述,版本號碼能表示可用來決定該冗長硬體識別 (VHWID )以及與其相對應之小型硬體識別(CHWID )的 一或多種參數。在步驟407中,會識別該標頭所表示之一 種元件類別》傳統上,在VHWID之標頭部份尹,可表示 僅能具有一種單一元件實體、或單一實體類別之元件類 別。適合在VHWID之標頭部份中表示之元件類別,包括 但不限於,一記憶體元件類別、一電腦銜接力(dockability ) 元件類別(即,該電腦是否可銜接)、系統BIOS,或其中 之任一種組合》在本發明之一種示範性具體實施例t, VHWID之標頭部份至少包含來自硬體組態之一種單一元 件類別的資訊。 自步驟407,該方法進行到決定區塊409»在決定區塊 409,會決定用來形成該標頭之一部份的元件實體之識別字 串,其是否適用於一種雜湊函數。該識別字串可適用於一 雜湊函數或截斷成一所需之位元數。雖然第5圖中未顯示 20 1321289
l'-·
其做為一種替代方案,仍必須注意,當識別字串小於 元所需之最大值,一般而言就是小於約16位元時,可 利用該識別字串。 若該識別字串可適用於一雜湊函數,該方法進行 驟411,其中在元件實體之識別字串上執行一雜湊函 並將之截斷為一所需之位元長度。較佳的情形是,將 結果截斷為約16位元之長度位元。在步驟412中,將 斷之雜湊結果輸入至標頭部份31之截斷數值部份31 (如第3圖中所示)》若該識別字串不適用於一雜湊函 該方法進行到步驟 410,在該處將識別字串截斷為一 之長度,並輸入至標頭部份31之截斷數值部份312。 的情形是,將該識別字串截斷為小於約1 6位元之長度 旦將來自步驟412之一種截斷雜湊結果、或來自步驟 之一種截斷識別字串輸入至標頭部份31之截斷數值 312中之後,該方法進行到決定區塊413。 在決定區塊413,會決定是否將另一種元件類別 細資料加入VHWID之標頭部份31中。若欲將另一種 類別之詳細資料加入VHWID之標頭部份3 1中,該方 回到步驟 407,且如上所述方法進行。若不須將進一 資訊加到 VHWID之標頭部份 31,該方法會進行到 414,在該處會籌備 VHWID之計數部份32。如上所 VHWID之計數部份32至少包含η個數目的一數值字 其可表示在用來形成VHWID之/7種元件類別的每一 中元件實體的數目(參見第3圖之計數部份32)。 一字 逐字 到步 數, 雜湊 該截 2中 數, 所需 較佳 〇 — 410 部份 之詳 元件 法會 步之 步驟 述, 串, 種之 21 1321289 :珍〆)正替換頁 ! … --------------- 在步驟415 ’在VHWID之計數部份32中所表示的每 一種元件實想之識別字串上執行一第一雜凑函數。若一特 定元件類別不包含一元件實體,可以產生一種特別之第― 雜湊結果,供VHWID中所用,其中該特別的第一雜凑結 果可指示一特定元件類別不包含一種元件實趙。或者是, 沒有第一雜湊值可供儲存,且將對應於該缺少之元件類別 的計數部份32之部份設為〇,用以指示缺少該元件類別。 可將每一元件實體之第一雜湊結果截斷為一所需之長度。 在本發明之一種示範性具體實施例中,將每一種第—雜凑 函數結果截斷為約10至20位元之長度,更佳的情形是約 為16位元。 任何已知雜湊函數,只要其能接受任意長度之一識別 字串’並可產生具有一小於約160位元之固定長度的一雜 湊輪出或結果’該雜凑函數可運用於本發明Ϋ。適當的雜 湊函數之實施例包括但不限於,雜湊函數演算法HAVAL、 MD2、MD4、MD5、以及SHA-1,這些演算法皆為習知技 藝人士所熟知。適當的雜湊函數以及關於其之敘述,可以 在 Bruce Schneier 所著之 Applied Crvyptography 中找到, John Wiley & Sons 出版(UBN #0471 1 1 7099 ),此一揭露 視同其整體納入於此處。 在本發明之一種具體實施例中,在執行一特定元件實 趙之第一雜溱函數之前,可將一「鹽值j(salt value)加 至兀件實體識別碼。在本具體實施例中,加入一鹽值使得 可根據相同電腦硬體组態來產生不同的VHWID。當執行不 22 1321289 同應用程式或傳遞時,相同硬體組態之不同的VHWID具 有益處。下文將敘述一種實施例,其中相同硬想組態之不 同VHWID具有益處。 舉例而言,若一使用者啟動來自相同賣主之多重套裝 軟體’可能可以利用該VHWID來連結獨立的啟動記錄, 用以建立該使用者之軟體購買習慣,為了防制此種情形, 可藉由指示每一種獨立雜湊去運用—雜湊函數,使得來自 相同機器之不同VHWID呈現出不相關之情形,例如hashx MD5 [ ( salt value ) + ID string],其中對每一種套裝軟 兹之鹽值皆不同。在步驟416 ’合併每一種元件實體之第 一雜湊結果,用以形成冗長硬體識別(VHWID) 34之雜湊 部份33(如第3圖中所示)。在步驟417,藉由合併標頭部 份3 1、計數部份32、以及雜湊部份33,組合最終冗長硬 驟4 1 8 ’儲存所產生的硬體組態 組態H W 1之冗長硬體
在本發明之某些具體實施例中, 識別(VHWID )可僅包含(i ) 體識別(VHWID ) 34。 在步驟4 1 8,儲存 部份32加上雜湊部份33,例如 ’硬體組態H W 1之冗長硬體 僅有雜凑部份33(2)計數 一 VHWID至少包含計數部 23 1321289 份32以及合併的雜湊部份33。 C :決定一電腦系统之一種小型硬體硬體識別 (CHWID ) 可藉由如第7至8圖中所示之方法,來決定本發明之 小型硬體識別(CHWID )。可藉由在一消費者之電腦上的 一種軟體產品中的軟體編碼來執行該示範性方法之步驟, 該電腦與參照第1圖中所述之電腦20類似。如第7至8 圖中所示,形成硬體組態H W I之一種可能的小型硬體識別 (CHWID )之示範性方法由步驟420開始。 在步驟420中,由用來產生冗長硬體識別(VHWID ) 34之雜湊部份33的一或多種(η種)元件類別中,選出分 種元件類別,在其中每一種元件類別的元件實體第一雜湊 值上,執行第二雜湊函數。如上所述,可在一或多種元件 實體第一雜湊值上執行第二雜湊函數,其中欲完成自《種 元件類別之一或多種_選擇元件實體第一雜湊值的方法’ 係經由(1) 一種隨機選取程序、或(2) —種預定方法。 較佳的情形是,自至少(《-5)種元件類別中選擇一元件 實體第一雜湊值,更佳的情形是,自至少(《-3)種元件 類別中選取,更為理想的情形是,自至少(》-2)種元件 類別中選取。在本發明之一種示範性具體實施例中,自所 有η種元件類別中選取元件實體第一雜湊值,用以形成相 對應之元件實體第二雜湊值。如同利用第一雜湊函數用來 形成冗長硬體識別(VHW ID ) 34之雜湊部份33,任何已 24 1321289 知雜湊函數,只要其能接受長度最大為160位元 字串,並可產生具有一小於約32位元之固定長度 輸出或結果,可將該雜湊函數運用於本發明中。 湊函數之實施例包括但不限於,雜湊函數演算法 MD2、MD4、MD5、以及 SHA-1,這些演算法皆 習知技藝人士所熟知。 在本發明之一種具體實施例中,在執行一特 體第一雜湊值之第二雜湊函數之前,可將一「鹽 value )加至該元件實體第一雜湊值。在本具體實 加入一鹽值使得可根據相同電腦硬體組態來產生 型硬體識別(CHWID )。當執行不同應用程式或 相同硬體組態之不同的小型硬體識別(CHWID 處。下文將敘述一種實施例,其中相同硬體組 CHWID具有益處。 舉例而言,若一使用者啟動來自相同賣主之 軟體,可能可以利用該CHWID來連結獨立的啟 用以建立該使用者之軟體購買習慣。為了防制此 可藉由指示每一種獨立雜湊去運用一雜湊函數, 相同機器之不同CHWID呈現出不相關之情形,命 =MD5 [ ( salt value ) + ID string],其中對每一 體之鹽值皆不同。 在步驟421中,合併元件實體第二雜湊值, 小型硬體識別(CHWID ) 35之雜湊部份33’(如 所示)。 之一識別 的一雜湊 適當的雜 HAVAL > 如上述為 定元件實 值」(salt 施例中, 不同的小 傳遞時, )具有益 態之不同 多重套裝 動記錄, 種情形, 使得來自 如 hashx 種套裝軟 用以形成 第3圖中 25 在步驟427中’合併該小型硬體識別(chwID )之版 本元件3 1,、以及該小型硬體識別(chwiD )之雜湊部份 33 ,用以形成硬體組態HW1之最終小型硬體識別 (CHWID)。之後該方法進行到步驟428。回到前述之決定 區塊425,若該小型硬體識別(CHWid)並未至少包含一 種版本元件31 ,該方法直接進行到步驟428。 在步驟428’儲存所產生之硬體組態hwi的小型硬體 識別(C H WID ) ’以供後續使用。硬體組態η w 1之小型硬 趙識別(CHWID)可如下所述儲存於本機(例如,註冊表 中、檔案系統中、或安全化儲存區中)、一種可存取遠端位 置(如’資料庫)、或傳送至一種交換中心伺服器以供授權 使用。 如上所述’在本發明之某些具體實施例中,硬體組態 HW1之小型硬體識別(CHWID)可僅包含雜湊部份33,。 IL·利用一種小型硬體識別(CHWID )來啟用在一電腦 系統上使用一軟體產品 本發明更關於一種方法,其可利用一小型硬體識別 (CHWID )來啟用在具有一特定電腦硬體組態之一種電腦 系統上使用一軟體產品。在本發明之一種具趙實施例中, 會在(1)於一初始安裝之外,在一電腦上安裝該軟體產品; (2)執行已經存在於一電腦硬體組態之一元件上之一種軟 體產品或應用程式;或(3 )以上兩種情形時;會起始該利 用一小型硬體識別(CHWID )來啟用在具有—特定電腦硬 26 1321289 广 m.
體組態之一種電腦系統上使用一軟體產品之方法。在第9 至10圖中描述一種可利用利用該小型硬體識別(cHWID) 之示範性方法。可藉由在一消費者之電腦上的一種軟趙產 品中的軟體編碼來執行該示範性方法之步驟,該電腦與參 照第1圖中所述之電腦2 0類似。
如第9圖之在步驟501中所示’在具有硬體組態hw2 之一電腦上載入或執行一軟想產品。電腦硬體組態HW2 (1)可以和用來產生一種初始冗長硬體識別(此處稱為 iVHWID )或一種初始小型硬體識別(此處稱為iCHWID) 之硬體組態HW1相同;或(2)可以是一完全不同之電腦。
在步驟502中’會針對電腦硬體組態HW2產生一種新 的小型硬體識別(此處稱為nCHWID )。可利用如第4至8 圖中所述之方法,產生電腦硬體組態H W2之新的小型硬體 識別(nCHWID )。一旦產生電腦硬體組態HW2之一種新 的小型硬體識別(nCHWID ),會在在步驟503中取回一已 儲存之冗長硬體識別(VHWID )或一已儲存之小型硬體識 別(CHWID)。通常,該已儲存之冗長硬體識別(vhWID) 即為初始冗長硬體識別(iVHWID ),其係在初次將一軟體 產品安裝至HW1之過程中’在一第一電腦硬體組態HW1 上所產生。相似地,該已儲存之小型硬體識別(CHWID ) 通常為初始小型硬體識別(iCHWID ),其係在初次將一軟 體產品安裝至HW1之過程中,在一第一電腦硬體組態HW1 上所產生。 在決定區塊504中,會決定先前儲存之硬體識別是否 27 ^^1289 i~— 為一種已儲存之小型硬體識別(CHWID )。若先前儲存之 硬體識別為一種已儲存之小型硬體識別(schwid ),該方 法會進行到步驟505,其中將硬體組態HW2之新的小型硬 難識別(nCHWID )與硬體組態HW1之先前儲存之小型硬 趙識別(sCHWID)做一比較。若先前儲存之硬體識別為 一種已儲存之冗長硬體識別(sVHWID ),該方法會進行到 步驟509»在步驟509,將該新的小型硬體識別(CHWID) 與己儲存之冗長硬體識別(VHWID )做一比較。針對已儲 存之冗長硬體識別(VHWID )之每一種元件類別中的每一 種第一雜湊值進行一第二雜湊函數,並將該結果與和新的 小型硬體識別(CHWID )中每一種元件類別相關聯之第二 雜湊值做一比較〇之後該方法進行到決定區塊506。 在決定區塊506,會決定相符元件類別數是否等於或 大於在硬體組態 HW2上啟用軟體產品之使用所需之相符 元件類別數,/w。若相符元件類別數等於或大於一所需之 相符元件類別數,W,該方法會進行到步驟507,其中該方 法可在硬體組態HW2上啟用軟體產品之使用。若相符元件 類別數小於所需之相符元件類別數,w,該方法會進行到 步驟508,其中該方法會在硬體組態HW2上停用該軟體產 品之使用。 在步驟505,比較硬體組態HW2之新的小型硬體識別 (nCHWID )與(1 )硬體組態HW1之先前儲存之小型硬 體識別(CHWID)、或(2)硬體組態HW1之先前儲存之 冗長硬體識別(VHWID),此處統稱為硬體組態HW1之「硬 28 1321289
想識別」(HWID)’可使用一或多種規則來決定對一特定 元件類別是否有一相符者存在。較佳的情形是,利用一小 型硬體識別(CHWID)來啟用一軟體產品之使用的方法至 少包含一或多種下列規則,可用來決定在一硬體組態HW2 之一種新產生之小型硬體識別(nCHWID )以及硬體組態 HW1之小型硬體識別(CHWID )或冗長硬體識別(VHWID ) 之間,相符元件類別數:
(1 ) 一新的小型硬體識別(nCHWID )中可表示硬體 組態HW2之一或多種元件類別之中所選的元件實體,比較 該nCHWID中的每一種元件實體第二雜湊結果,以及該小 型硬體識別(CHWID )中、或來自硬體組態HW1之冗長 硬體識別(VHWID )的相對應之一或多種元件類別之中的 每一種元件實體第二雜湊結果;
(2 )當硬體組態HW2之新的小型硬體識別(nCHWID ) 的一種元件類別之中的第二元件實體雜湊結果,與該小型 硬體識別(CHWID )中、或來自硬體組態HW1之冗長硬 體識別(VHWID )的相對應之_或多種元件類別之中的任 一種元件實體第二雜湊結果相符時,在硬體組態HW2之一 元件類別、以及硬體組態H W1之一相對應元件類別之間, 存在相符元件類別; (3 )當用來形成硬體組態HW2之新的小型硬體識別 (nCHWID )的一種元件類別之中的一種第二元件實體雜 湊結果’與用來形成硬體組態HW1之冗長硬體識別 (VHWID )的一種相對應元件類別之中所產生的二或多種 29 1321289
ν F\ >lS 靄°號蔚喋f/年έ月修正 第二元件實體雜湊結果相符時,硬體組態HW2之一元件類 別、以及硬體組態H W 1之一相對應元件類別之間,存在一 單一相符元件類別; (4 )當硬體組態HW2中之元件類別不包含一第二元 件實體雜湊結果,且硬體組態H W1之相對應元件類別包含 一第二元件實體雜湊結果時,在硬體組態HW2的一元件類 別以及硬體組態H W 1之一相對應元件類別之間,沒有相符 元件類別; (5)當硬體組態HW2中之元件類別包含一單一第二 元件實體雜湊結果,且硬體組態H W 1中相對應元件類別不 包含一第二元件實體雜湊結果時,在硬體組態HW2的一元 件類別以及硬體組態H W 1之一相對應元件類別之間,沒有 相符元件類別;以及 (6 )當硬體組態HW2中之元件類別不包含一第二元 件實體雜湊結果,且硬體組態HW1中相對應元件類別不包 含一第二元件實體雜湊結果時,在硬體組態HW2之一元件 類別以及硬體組態H W 1之一種相對應元件類別之間,存有 一相符元件類別;以及 (7 )可以預先決定硬體組態HW2以及硬體組態HW 1 之間,所需之相符元件類別數,w,並可將之嵌入一特定 軟體產品中。 選擇所需相符元件類別數,m,係根據硬體組態元件 更動時所需之容許度。所需相符元件類別數,m,可以是 (1)與《 —樣大,《為決定一冗長硬體識別(VHWID)時
30 1321289 :.a
所考量之元件類別總數;或(2 )與g —樣大,g為決 小型硬體識別(CHWID )時所考量之所選元件類別總 或(3)可小至1。隨著w值的增加,電腦硬體組態更 容許度會降低。舉例而言,若元件類別總數《等於1〇 等於7,則1 0種元件類別有種7必須與至少一元件實 符,用以啟用一軟體產品之載入或執行。若相符元件 數小於 7,該軟體產品不會在電腦硬體組態上執行或 載入。 一軟體製造商可預先決定所需相符元件類別數, 並將之編碼至用來產生一小型硬體識別(CHWID )之 產品碼中。 在本發明之一種示範性具體實施例中,較理想的 等於(η-3)。更佳的情形是,m值等於(η-2)。在 明之另一種示範性具體實施例中,較理想的w值等於 3)。更佳的情形是,w值等於(q-2)。然而,如前文 出,w值可介·於1至η之間。 可在本機或一遠端位置上執行上文所述以及於第 10圖中闡明之方法步驟可。傳統上,一消費者購買可 特定電腦上執行之一種軟體產品,例如第1圖中所示 腦20。該軟體產品可以是一種拆封授權產品,其具有 存於一可運輸之電腦可讀取媒體上的一種軟體程式, 存媒體如一 CD-ROM或軟碟磁碟片。或者是,可透過 路,如一區域網路(LAN ) 5 1、或一廣域網路(WAN ) 電子化地傳遞該軟體產品。消費者將該軟體產品載入 定一 數; 動之 且m 體相 類別 無法 軟體 m值 本發 (q - 所指 4至 在一 之電 已儲 該儲 一網 52 -至電 31 叫 1289
腦2〇上,成為已儲存於系統記憶體22 在一軟體產品安裝過程中,通常會 產品之軟體產品識別碼(pID )之一部份 舉例而言,PID可以來自印刷在拆封授 的一 CD金鑰。消費者輸入與該軟體產 關聯的PID。可將該PID儲存於本機電 一第三者,例如一啟動授權者,儲存於 置,其可位在一區域網路(LAN)51或一 s2上。 如上所述,在該軟體產品之安裝或 用軟體產品中之編碼、或藉由該軟體產 冗長硬體識別(VHWID)和/或小型硬費 藉由本發明之方法所產生之冗長硬體詔 或小型硬體識別(CHWID )與該軟體彦 關聯,且與該軟體產品識別(PID ) — 20上,和/或經由一第三者’例如一啟 一可存取之遠端位置’其可位在一區域 一種廣域網路(WAN ) 52上。 在安裝過程中的一部份,可以要求 權者來啟動該軟體產品。此一授權可以 品製造商或一經授權之第三者。該啟動 制消費者啟動該軟體產品,用以(1 )在 並使用、或(2)根據一產品授權合約來 給微軟企業(Redmond,WA )之美國專^ 中的一程式。 習慣要求將該軟體 輸入至電腦20中。 權包裝之一標籤上 品之一軟體程式相 腦20上和/或經由 一可存取之遠端位 種廣域網路(WAN ) 啟動過程中,可利 品之安裝,來產生 重識別(CHWID )。 色別(VHWID )和/ 品識別(PID )相 起儲存於本機電腦 動授權者,儲存於 網路(LAN) 51或 消費者以一啟動授 是’舉例而言,產 過程之目的在於強 一特定電腦上安裝 安裝並使用。在發 N 案號第 6,243,468 32 1321289
中,描述了此種啟動過程,此處將該專利之内容整個納入 做為參照。 可將藉由本發明之方法所產生之冗長硬體識別 (VHWID)和/或小型硬體識別(CHWID)以及軟體產品 識別(PID)儲存於本機電腦20上,和/或經由一第三者, 例如一啟動授權者,儲存於一可存取之遠端位置,其可位 在一區域網路(LAN ) 51或一種廣域網路(WAN ) 52上》 較佳的情形是,該軟體產品(1)在電腦20上儲存(a)冗 長硬體識別(VHWID)和/或小型硬體識別(CHWID)、以 及(b)相關聯之軟體產品識別(PID);以及(2)透過廣 域網路(WAN) 52,將(a)該冗長硬趙識別(VHWID) 和/或小型硬體識別(CHWID )、以及(b)相關聯之軟體產 品識別(PID),電子化地傳送給一啟動飼服器。較佳的情 形是,當第一次執行該軟體產品時’其會自動地顯示一圖 形使用者介面(UI)對話視窗,來提示使用者去初始化與 可進行啟動之啟動伺服器之間的連線。啟動伺服器可維持 一資料庫’用以儲存(a)所接收之冗長硬體識別(VHWID ) 和/或小型硬體識別(CHWID )、以及(b)相關聯之軟艘產 品識別(PID )。 可在一不定的時期間,儲存一特定軟體產品之冗長硬 體識別(VHWID)和/或小型硬體識別(CHWID)以及相 關聯之軟體產品識別(PID ),直到將該軟體產品重新安裝 至另一台電腦、或在該第一電腦(即,在初始安裝中所用 之電腦)上執行。當將該軟體產品重新安裝至另一台電腦、 33 1321289
或在該第一電腦上執行時’敕體產品上的编碼會初始化根 據本發明產生一新的小型硬體識別(CHWID)的一種方 法。該軟體產品亦可自先前儲存在本機電腦20或自透過一 區域網路(LAN ) 51或一廣域網路(wan ) 52自一遠端位 置’取回(a)冗長硬體識別(VHWID )和/或小型硬體識 別(CHWID )、以及(b )相關聯之軟趑產品的軟體產品識 別(PID )。在新的小型硬體識別(c H WID )以及先前儲存 之小型硬體識別(CHWID )之間的比較方法如上所述。 在另一種手動模式中,一消費者透過電話將一小型硬 體識別(CHWID )提供給銷售代表,該銷售代表根據該小 型硬體識別(C H WID )提供一種確認識別(c丨d )給消費 者。消費者可透過一種UI是春,輸入該確認識別(ciD)。 S因為一第一電腦(即’ the電腦used during the初 始installation )之硬體組態更動過大,以致於拒絕使用一 軟體產品時,可向消費者提出一對話框,指出拒絕使用該 軟體產品’且可字一特定來源取得關於後續使用該軟體產 品之資訊》
ΠΙ·—小型硬體識別(CHW1D )之其他使用 除了上述運用之外,本發明之小型硬體識別(CHWID ) 亦可用於其他用途。在本發明之一種具體實施例中,可利 用該小型硬體識別(CHWID )來產生半唯一安裝id,用以 追蹤該機器。在本發明之另一種具體實施例中,當授權在 /肖費者的電腦上使用軟體時,可在交換中心伺服器上利 34 1321289
用該小型硬體識別(CHWID )。 雖然此處詳細敘述其中特定具體實施例之說明,習 技藝人士將可了解,一旦了解前述說明,便可輕易理解 些具體實施例之修改、變形、與其等價物。因此,本發 之範圍包括所附申請專利範圍以及其等價物。 【圖式簡單說明】 第1圖為一種可實作本發明之示範性作業環境的某 基本元件之流程圖; 第2圖闡明一種示範性硬體組態,其具有8種元件 別以及散佈於該8種元件類別中的共計1 9種元件裝置或 體;第3圖闡明在第2圖中所示的示範性硬體組態之一 可能的冗長硬體識別(VHWID )以及一種相對應之小型 體識別(CHWID ); 第4至8圖為流程圖,闡明決定一硬體組態的一小 硬體識別(CHWID )時,所用之示範性步驟;以及 第9至10圖為流程圖,闡明藉由比較一新產生之小 硬體識別(CHWID )以及(1) 一種先前儲存之小型硬 識別(iCHWID )、或(2) —種先前儲存之冗長硬體識 (VHWID )來決定是否可在一電腦硬體系統中使用一軟 產品時,所用之示範性步驟。 【元件代表符號簡單說明】 20 示範性電腦硬體組態 21 處理單元 知 這 明 些 類 實 種 硬 型 型 體 別 體 35
IDE元件類別 23 系統匯流排 CD ROM 25 隨機存取記 系統BIOS 27 硬碟 磁碟機 29 磁碟片 光碟機 3 1 光碟片 硬碟機介面 33 磁碟機介面 光碟機介面 35 作業系統 程式模組 38 明示 鍵盤 42 滑鼠 序列埠介面 47 顯示器 視訊配接卡 49 遠端電腦饲 硬碟 5 1 區域網路 廣域網路 53 網路介面 數據機 100 應用程式 程式庫 200 元件實體 憶體 服器 CD ROM元件類別 IDE元件類別 驅動器元件類別 顯示器元件類別 SCSI元件類別 磁碟元件類別 網路介面卡元件類別 中央處理器元件類別 列 36
1321289 31 標頭部份 3 1 ’版本元件 3 3 ’雜湊部份 34 冗長硬體識別 35 小型硬體識別(CHWID ) 3 10版本元件 3 1 2截斷數值部份 401選擇用來形成VHWID之元件類別數目》 4 0 2識別該η種元件類別 4 0 3識別在每一種元件類別中的所有實體以及每一類別之 計數 4 04指派一識別字串給每一種元件實體 405籌備VHWID之標頭部份 406識別VHWID之版本,並將之輸入至標頭中 407識別於標頭中籌備之元件類別 409欲進行雜湊之元件識別字串 410將截斷知識別字串輸入至標頭中 411在該元件實體之識別字串上執行一雜湊函數 412將雜湊結果輸入至標頭中 413將另一種元件類別之詳細資料輸入至標頭中 414籌備VHWID之計數部份 415在剩餘之元件類別中之每一種實體之識別字串上執行 一第一雜湊函數 416藉由依據每一種實體在VHWID之計數部份中表示之順 37 1321289
序,合併其第一雜湊結果’來組合V H WID之雜凑部份 417藉由合併VHWID之標頭部份、計數部份、以及雜凑 部份,來組合VHWID 418儲存VHWID供後讀使用 420在來自VHWID之雜凑部份中的—或多種元件類別的 所選之元件實體第一雜湊值上,執行一第二雜湊函數 421合併該元件實體第二雜凑值,用以形成CHWID之雜 凑部份 425該CHWID是否至少包含一版本元件了 426籌備該CHWID之版本元件 427合併CHWID之版本元件以及CHWID之雜湊部份 428儲存該CHWID供後續使用 501在電腦硬體组態HW2中載入或執行一軟體產品 5 02產生電腦硬逋组態HW2之一種硬體識別 503取回一種已儲存之VHWID或已儲存之CHWID,其係 在初次將軟體產品安裝於HW1之過程中,在一種第 一電腦硬體組態H W 1上所產生者 504已儲存之識別是否為一種CHWID ?
505 比較 HW2 之 CHWID 以及 HW1 之 CHWID 506該相符元件類別數是否等於或大於所需之相符元件類 別數m
5 07啟用在HW2上使用該軟體產品 508停用在HW2上使用該軟體產品 509 比較 HW2 之 CHWID 以及 HW1 之 VHWID 38

Claims (1)

1321289
第?*/。以,/號專利案7年厶月修正, 十、申請專利範圍: 1. 一種對具有一第一硬體組態的一第一電腦系統可產生 一小型硬體識別(CHWID )之方法,其至少包含: 選擇η元件類別; 識別該《元件類別之每一的所有元件實體;
產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果、以及該η元件類別之至少一第一雜湊結果; -產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在一或複數所選元件類別 之中所選的元件實體第一雜湊結果上執行一第二雜湊 函數而產生之第二雜湊結果;以及 合併複數第二雜湊結果,用以形成一雜湊部份,其 中該雜湊部份形成第一電腦系統之小型硬體識別 (CHWID )。 2.如申請專利範圍第1項所述之方法,其至少更包含: 合併該小型硬體識別(CHWID)之(1 ) 一版本元 件、以及(2 )雜湊部份,用以形成該第一電腦系統之 小型硬體識別(CHWID )。 3.如申請專利範圍第1項所述之方法,其中《是一最大為 1 6之整數。 39 1321289
4.如申請專利範圍第2項所述之方法,其中該版本元件至 少包含一版本數目。 5·如申請專利範圍第1項所述之方法,其中該《元件類別 中至少一可包含二或更多元件實體。 6. 如申請專利範圍第1項所述之方法,其中該《元件類別 中之每一可包含由0至14元件實體。 7. 如申請專利範圍第1項所述之方法,其中每一元件實體 第一雜凑結果係被截斷(trncated)為一 16位元數目。 8. 如申請專利範圍第1項所述之方法,其中每一元件實體 第二雜湊結果係被截斷為小於8位元之數目。 9. 如申請專利範圍第1項所述之方法,其中該第一電腦系 統之小型硬體識別(CHWID )之長度最大為256位元。 10.如申請專利範圍第9項所述之方法,其中該第一電腦系 統之小型硬體識別(CHWID )的長度為32至64位元。 11.如申請專利範圍第1項所述之方法,其中該方法係在將 40 1321289 ca 一軟體產品載入至該第一電腦系統上之過程中被起始。 12. —種決定一軟.體產品可否在具有一第二硬體組態之一 第二電腦系統上使用之方法,其中該第二電腦系統可以 和具有一第一硬體組態之一第一電腦系統相同或不 同,該軟體產品係初始安裝於該第一電腦系統上,其中 該方法至少包含: 產生該第二硬體組態之一第二小型硬體識別 (sCHWID ); 比較該第二硬體組態之第二小型硬體識別 (sCHWID )與(i)該第一硬體組態之一第一小型硬體 識別(fCHWID ),(ii)該第一硬體組態之一第一冗長 硬體識別(fVHWID ); 若在該第二硬體組態之元件類別以及該第一硬體 組態之相對應元件類別之間,存有複數相符元件類別, 且若相符數目等於或大於所需之相符元件類別數目 m,則將軟體產品載入至該第二電腦系統中;以及 若相符數目小於w,則制止將該軟體產品載入至該 第二電腦系統中。 13. 如申請專利範圍第12項所述之方法,其中用以產生該 第二小型硬體識別(sCHWID )之方法至少包含: 選擇該第二硬體組態之η元件類別; 41
1321289 識別位於該第二硬體組態之 η元件類別中之每一 的所有元件實體; 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第二硬體組態之η元件類別的至少一第 一雜凑結果; 產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在該第二硬體組態之一或 複數所選元件類別之中所選之元件實體第一雜湊結果 上,執行一第二雜湊函數,所產生之第二雜湊結果;以 及 合併複數第二雜湊結果,用以形成一雜湊部份,其 中該雜湊部份可形成第二硬體組態之第二小型硬體識 別(sCHWID )。 14.如申請專利範圍第12項所述之方法,其中該第一小型 硬體識別(fCHWID )係由以下產生: 選擇第一硬體組態之《元件類別; 識別位於該第一硬體組態之《元件類別中每一之 中的所有元件實體; 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第一硬體组態之《元件類別的至少一第 42 1321289 日修正替換辩 一雜湊結果; 產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在該第一硬體組態之一或 複數所選元件類別之中所選之元件實體第一雜湊结果 上,執行一第二雜湊函數,所產生之第二雜湊結果;以 及 合併複數第二雜湊結果,用以形成一雜湊部份,其 中該雜湊部份可形成該第一硬體組態之該第一小型硬 體識別(fCHWID )。 15.如申請專利範圍第12項所述之方法,其中該第一冗長 硬體識別(fVHWID )係由以下步驟產生: 選擇該第一硬體組態之《元件類別: 識別位於該第一硬體組態之 《元件類別之每一中 的所有元件實體; 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第一硬體組態之《元件類別的至少一第 一雜湊結果;以及 合併複數第一雜湊結果用以形成一雜湊部份,其中 該雜湊部份可形成第一硬體組態之第一冗長硬體識別 (fVHWID )。 43 1321289
16. 如申請專利範圍第12項所述之方法,其中當該第二硬 體組態之該第二小型硬體識別(sCHWID )的一元件類 別中的一第二元件實體雜凑結果,與(i)該第一硬體 組態之該第一小型硬體識別(fCHWID )或(ii )由來 自該第一硬體組態之該冗長硬體識別(fVHWID )的該 第一元件實體雜湊之一相對應元件類別中的第二元件 實體雜湊結果之任一者相符時,在第二硬體組態之該元 件類別以及該第一硬體組態之該相對應元件類別之 間,存在有一相符元件類別。 17. 如申請專利範圍第12項所述之方法,其中當該第二硬 體組態之該第二小型硬體識別(sCHWID )的一元件類 別之中的一第二元件實體雜湊結果,與來自該第一硬體 組態之該第一冗長硬體識別(fVHWID )的一相對應元 件類別之中的該第一元件實體雜湊之二或複數第二元 件實體雜湊結果相符時,在該第二硬體組態之該元件類 別、以及該第一硬體組態之該相對應元件類別之間,存 在有一單一相符的元件類別。 18. 如申請專利範圍第12項所述之方法,其中(a)當該第 一硬體組態中之該元件類別不包含一元件實體,及該第 二硬體組態之相對應元件類別包含一元件實體;或(b ) 當該第一硬體組態中之該元件類別包含一單一元件實 44 1321289 體,且該第二硬體組態中相對應之元件類別不包含一元 件實體時;在該第二硬體組態的一元件類別以及該第一 硬體組態之一相對應元件類別之間,沒有相符的元件類 別。 19. 如申請專利範圍第12項所述之方法,其中當該第一硬 鱧組態中之該元件類別不包含一元件實體,及該第二硬 體組態中之該相對應元件類別不包含一元件實體時,在 該第二硬體組態之一元件類別以及該第一硬體組態之 一相對應元件類別之間,存在有一相符元件類別。 20. 如申請專利範圍第12項所述之方法,其中m等於(n-3),其中 《代表用來形成該第二小型硬體識別 (sCHWID )之該第二硬體組態中的元件類別之數目。 21. —種電腦可讀取媒體,其上儲存了電腦可執行指令,用 以執行對具有一第一硬體組態之一第一電腦系統產生 一小型硬體識別(CHWID )之方法,其中該方法至少 包含: 選擇《元件類別: 識別位於該 η元件類別中每一之中的所有元件實 體, 產生複數元件實體第一雜湊結果,其中該複數元件 45 1321289 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該《元件類別的至少一第一雜湊結果; 產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在一或複數所選元件類別 之中所選的元件實體第一雜湊結果上執行一第二雜湊 函數而產生之第二雜湊結果; 合併複數第二雜湊結果,用以形成一雜湊部份,其 中該雜湊部份可形成該第一電腦系統之該小型硬體識 別(CHWID )。 22. 如申請專利範圍第21項所述之電腦可讀取媒體,其至 少更包含= 合併(i ) 一版本元件、以及(ii )該小型硬體識 別(CHWID )之雜湊部份,用以形成該第一電腦系統 之小型硬體識別(CHWID)。 23. 如申請專利範圍第21項所述之電腦可讀取媒體,其中 «是一最大為16之整數。 24. 如申請專利範圍第22項所述之電腦可讀取媒體,其中 該版本元件至少包含一版本數目。 25. 如申請專利範圍第21項所述之電腦可讀取媒體,其中 46 1321289 該η元件類別中至少一可包含二或更多元件實體。 26.如申請專利範圍第21項所述之電腦可讀取媒體,其中 該/ί元件類別中之每一可包含由0至14元件實體》
27.如申請專利範圍第21項所述之電腦可讀取媒體,其中 該第一電腦系統之小型硬體識別(CHWID )之長度最 大為2 5 6位元。 2 8.如申請專利範圍第21項所述之電腦可讀取媒體,其中 該方法係在將一軟體產品載入至該第一電腦系統上之 過程中被起始。
29.—種電腦可讀取媒體,其上儲存了電腦可執行指令,用 以執行一方法,用以決定是否在具有一第二硬體組態之 一第二電腦系統上使用一軟體產品,其中該第二電腦系 統可和具有一第一硬體組態之一第一電腦系統相同或 或不同,及該軟體產品係初次安裝於該第一電腦系統 上,其中該方法至少包含: 產生該第二硬體組態之一第二小型硬體識別 (sCHWID ); 比較該第二硬體組態之該第二小型硬體識別 (sCHWID )與(i )該第一硬體組態之一第一小型硬體 47 1321289 年月日修正替換頁丨 _ί 識別(fCHWID )、或(ii)該第一硬體组態之一第一冗 長硬體識別(fVHWID ); 若在該第二硬體組態之複數元件類別以及該第一 硬體組態之複數相對應元件類別之間,存在複數相符元 件類別,且相符數目等於或大於所需之相符元件類別數
目m,將該軟體產品載入至該第二電腦系統上;以及 若相符數目小於m,則制止將該軟體產品載入至該 第二電腦系統上。 3 0.如申請專利範圍第29項所述之電腦可讀取媒體,其中 欲產生該第二小型硬體識別(sCHWID ),係利用一至少 包含下列之方法: 選擇第二硬體組態之《元件類別; 識別位於該第二硬體組態之《元件類別中每一之 中的所有元件實體;
產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第二硬體組態之《元件類別的至少一第 一雜湊結果; 產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在該第二硬體組態之一或 複數所選元件類別之中所選之元件實體第一雜湊結果 上,執行一第二雜湊函數,所產生之第二雜湊結果;以 48 1321289 ta e 及 合併複數第二雜湊結果用以形成一雜湊部份,其中 該雜湊部份可形成第二硬體組態之第二小型硬體識別 (sCHWID )。 31.如申請專利範圍第29項所述之電腦可讀取媒體,其中 該第一小型硬體識別(fCHWID )係由以下步驟產生:
選擇該第一硬體組態之η元件類別; 識別位於該第一硬體組態之η元件類別中每一之 中的所有元件實體: 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第一硬體組態之η元件類別的至少一第 一雜凑結果;
產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在該第一硬體組態之一或 複數所選元件類別之中所選之元件實體第一雜湊結果 上,執行一第二雜湊函數,所產生之第二雜湊結果;以 及 合併複數第二雜湊結果用以形成一雜湊部份,其中 該雜湊部份可形成第一硬體組態之第一小型硬體識別 (fCHWID )。 49 1321289
32.如申請專利範圍第29項所述之電腦可讀取媒體,其中 該第一冗長硬體識別(fVHWID )係由以下步驟產生: 選擇該第一硬體組態之《元件類別.; 識別位於該第一硬體組態之《元件類別中每一之 中的所有元件實體; 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第一硬體組態之《元件類別的至少一第 一雜湊結果;以及 合併複數第一雜湊結果用以形成一雜湊部份,其中 該雜湊部份可形成第一硬體組態之第一冗長硬體識別 (fVHWID )。 3 3.如申請專利範圍第29項所述之電腦可讀取媒體,其中 當該第二硬體組態之該第二小型硬體識別(sCHWID ) 的一元件類別中的一第二元件實體雜湊結果,與(i) 該第一硬體組態之第一小型硬體識別(fCHWID )、或 (ϋ ) 來自該第一硬體組態之該冗長硬體識別 (fVHWID )的該第一元件實體雜湊之一相對應元件類 別中的該第二元件實體雜湊結果之任一者相符時,在該 第二硬體組態之該元件類別以及該第一硬體組態之該 相對應元件類別之間,存有一相符元件類別。 50 1321289
34.如申請專利範圍第33項所述之電腦可讀取媒體,其中 當該第二硬體組態之該第二小型硬體識別(sCHWID ) 的一元件類別之中的一第二元件實體雜湊結果,與來自 該第一硬體組態之該第一冗長硬體識別(fVHWID )的 一相對應元件類別之中的該第一元件實體雜湊之二或 複數第二元件實體雜湊結果相符時,在該第二硬體組態 之該元件類別、以及該第一硬體組態之該相對應元件類 別之間,存在一單一相符元件類別。
35.如申請專利範圍第29項所述之電腦可讀取媒體,其中 (a )當該第一硬體組態中之元件類別不包含一元件實 體,及該第二硬體組態之相對應元件類別包含一元件實 體;或(b)當該第一硬體組態中之元件類別包含一單 一元件實體,及該第二硬體組態中相對應之元件類別不 包含一元件實體時;在該第二硬體組態的一元件類別以 及該第一硬體組態之一相對應元件類別之間,沒有相符 元件類別。 36.如申請專利範圍第29項所述之電腦可讀取媒體,其申 當該第一硬體組態中之元件類別不包含一元件實體,及 該第二硬體組態中之相對應元件類別不包含一元件實 體時,在該第二硬體組態之一元件類別以及該第一硬體 組態之一相對應元件類別之間,存在一相符元件類別。 51 1321289 37.如申請專利範圍第29項所述之電腦可讀取媒體,其中 等於(《 - 3),其中《代表用來形成該第二小型硬體 識別(sCHWID )之該第二硬體組態中的元件類別之數 目° 38.—種安裝一軟體時會產生一小型硬體識別(C H WID)之 電腦運算系統,其包含至少一可在該運算系統上使用之 應用程式模組,其中該至少一應用程式模組至少包含應 用程式碼,其可在具有一第一硬體組態之一第一電腦系 統中,執行產生該小型硬體識別(CHWID )之方法, 其中該方法至少包含: 選擇π元件類別; 識別位於該《元件類別中每一之中的所有元件實 通, 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該《元件類別的至少一第一雜湊結果; 產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在一或複數所選元件類別 中所選的元件實體第一雜湊結果上執行一第二雜湊函 數而產生之第二雜湊結果;以及 合併複數第二雜湊結果用以形成一雜湊部份,其中 52 1321289 渾% 1修正替換頁I 該雜湊部份可形成該第一電腦系統之小型硬體識別 (CHWID )。 39.如申請專利範圍第38項所述之運算系統,其至少更包 含:
合併(i) 一版本元件、以及(ii)該小型硬體識 別(CHWID )之雜湊部份,用以形成該第一電腦系統 之小型硬體識別(CHWID )。 40.如申請專利範圍第38項所述之運算系統,其中是一 最大為16之整數。 41.如申請專利範圍第39項所述之運算系統,其中該版本 元件至少包含一版本數目。
42.如申請專利範圍第3 8項所述之運算系統,其中該《元 件類別中至少一可包含二或更多元件實體。 43. 如申請專利範圍第38項所述之運算系統,該《元件類 別中之每一可包含0至14元件實體。 44. 如申請專利範圍第38項所述之運算系統,其中該第一 電腦系統之小型硬體識別(CHWID )之長度最大為256 53 1321289 位元。 45.如申請專利範圍第38項所述之運算系統,其中該方法 係在將一軟體產品載入至該第一電腦系統上之過程中 被起始。
46.—種決定一軟體產品可否安裝於一電腦系統上之電腦 運算系統,其包含至少一可在該運算系統上使用之應用 程式模組,其中該至少一應用程式模組至少包含應用程 式碼,其可在具有一第二硬體組態之一第二電腦系統 中,執行決定一軟體產品可否在該第二電腦系統上使 用,其中該第二電腦系統和具有一第一硬體組態之一第 一電腦系統相同或不同,且該軟體產品係初次安裝於該 第一電腦上系統,其中該方法至少包含:
產生該第二硬體組態之一第二小型硬體識別 (sCHWID ); 比較該第二硬體組態之該第二小型硬體識別 (sCHWID )與(i )該第一硬體組態之一第一小型硬體 識別(fCHWID )、或(ii )該第一硬體組態之一第一冗 長硬體識別(fVHWID ); 若該第二硬體組態之元件類別以及該第一硬體組 態相對應之元件類別之間,存在有複數相符元件類別, 及若相符數目等於或大於所需之相符元件類別數目 54 1321289 a
m,則將軟體產品載入至該第二電腦系統中;以及 若相符數目小於/»,則防止將該軟體產品載入至該 第二電腦系統中。 47.如申請專利範圍第46項所述之運算系統,其中該第二 小型硬體識別(sCHWID )係利用一至少包含下列步驟 之方法來產生:
選擇第二硬體組態之《元件類別; 識別位於該第二硬體組態之《元件類別中每一之 中的所有元件實體; 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第二硬體組態之《元件類別的至少一第 一雜湊結果;
產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在第二硬體組態之一或複 數所選元件類別之中所選之元件實體第一雜湊结果 上,執行一第二雜湊函數,所產生之第二雜湊結果;以 及 合併複數第二雜湊結果用以形成一雜湊部份,其中 該雜湊部份可形成該第二硬體組態之該第二小型硬體 識別(sCHWID )。 55 v > v >1321289 _______ -- - ' 48.如申請專利範圍第46項所述之運算系统,其中該第一 小型硬體識別(fCHWID )係由以下步驟產生: 選擇該第一硬體組態之《元件類別; 識別位於該第一硬體組態之η元件類別中每一之 中的所有元件實體; 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第一硬體組態之《元件類別的至少一第 一雜湊結果; 產生複數元件實體第二雜湊結果,其中該複數元件 實體第二雜湊結果至少包含在該第一硬體組態之一或 複數所選元件類別之中所選之元件實體第一雜湊結果 上,執行一第二雜湊函數,所產生之第二雜湊結果;以 及 合併複數第二雜湊結果,用以形成一雜湊部份,其 中該雜湊部份可形成該第一硬體組態之第一小型硬體 識別(fCHWID )。 4 9.如申請專利範圍第46項所述之運算系統,其中該第一 冗長硬體識別(fVHWID )係由以下步驟產生: 選擇該第一硬體組態之η元件類別; 識別位於該第一硬體組態之η元件類別中每一之 中的所有元件實體; 56 1321289 \ ____-—— — ’ - 產生複數元件實體第一雜湊結果,其中該複數元件 實體第一雜湊結果至少包含每一元件實體之一第一雜 湊結果,以及該第一硬體組態之《元件類別的至少一第 一雜湊結果;以及 合併複數第一雜湊結果,用以形成一雜湊部份,其 中該雜湊部份可形成該第一硬體組態之第一冗長硬體 識別(fVHWID )。 5 0.如申請專利範圍第46項所述之運算系統,其中當該第 二硬體組態之第二小型硬體識別(sCHWID )的一元件 類別中的一第二元件實體雜湊結果,與(i)該第一硬 體組態之第一小型硬體識別(fCHWID )、或(ii )來自 該第一硬體組態之冗長硬體識別(fVHWID )的第一元 件實體雜湊之一相對應元件類別中的第二元件實體雜 湊結果之任一者相符時,則在該第二硬體組態之該元件 類別以及該第一硬體組態之該相對應元件類別之間,存 有一相符元件類別。 51.如申請專利範圍第46項所述之運算系統,其中當該第 二硬體組態之第二小型硬體識別(sCHWID )的一元件 類別之中的一第二元件實體雜湊結果,與來自該第一硬 體组態之第一冗長硬體識別(fVHWID )的一相對應元 件類別之中的第一元件實體雜湊之二或複數第二元件 57 1321289 修正替 實體雜湊結果相符時,在該第二硬體組態之該元件類 別、以及該第一硬體組態之該相對應元件類別之間,存 在一單一相符元件類別。 52.如申請專利範圍第46項所述之運算系統,其中(a)當 該第一硬體組態中之元件類別不包含一元件實體,及該 第二硬體組態之相對應元件類別包含一元件實體;或 (b )當該第一硬體組態中之元件類別包含一單一元件 實體,及該第二硬體組態中相對應之元件類別不包含一 元件實體時;在該第二硬體組態的一元件類別以及該第 一硬體組態之一相對應元件類別之間,沒有相符元件類 別。 53. 如申請專利範圍第46項所述之運算系統,其中當該第 一硬體組態中之元件類別不包含一元件實體,且該第二 硬體組態中之相對應元件類別不包含一元件實體時,在 該第二硬體組態之一元件類別以及該第一硬體組態之 一相對應元件類別之間,存在一相符元件類別。 54. 如申請專利範圍第46項所述之運算系統,其中w等於 (« - 3),其中《代表用以形成該第二小型硬體識別 (sCHWID )之該第二硬體組態中的元件類別之數目。 58 1321289
七、指定代表圖: (一) 、本案指定代表圖為:第3圖。 (二) 、本代表圖之元件代表符號簡單說明: 3 1 標頭部份 31’版本元件 32 計數部份 33 雜湊部份 3 3 ’雜湊部份 34 冗長硬體識別 35 小型硬體識別(CHWID ) 3 1 0版本元件 3 1 2截斷數值部份 示 顯 能 最 示 揭 請 , 時 式: 學式 化學 有化 若的 案徵 本特 、明 八發無
TW093105318A 2003-03-03 2004-03-01 Relevant methods and systems for generating compact hardware identification of computer system for controlling usage of software package in computer system, and computer readable medium for recording relevant instructions TWI321289B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/378,294 US7278131B2 (en) 2003-03-03 2003-03-03 Compact hardware identification for binding a software package to a computer system having tolerance for hardware changes

Publications (2)

Publication Number Publication Date
TW200511108A TW200511108A (en) 2005-03-16
TWI321289B true TWI321289B (en) 2010-03-01

Family

ID=32824753

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093105318A TWI321289B (en) 2003-03-03 2004-03-01 Relevant methods and systems for generating compact hardware identification of computer system for controlling usage of software package in computer system, and computer readable medium for recording relevant instructions

Country Status (16)

Country Link
US (1) US7278131B2 (zh)
EP (2) EP1637958A3 (zh)
JP (1) JP4652701B2 (zh)
KR (1) KR100991061B1 (zh)
CN (1) CN100430860C (zh)
AT (1) ATE473486T1 (zh)
AU (1) AU2004200641B2 (zh)
BR (1) BRPI0400378A (zh)
CA (1) CA2458765C (zh)
DE (1) DE602004027966D1 (zh)
HK (1) HK1068978A1 (zh)
MX (1) MXPA04002023A (zh)
MY (1) MY142576A (zh)
RU (1) RU2363044C2 (zh)
TW (1) TWI321289B (zh)
ZA (1) ZA200401491B (zh)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596539B2 (en) * 2003-05-29 2009-09-29 International Business Machines Corporation Method and apparatus for providing connection information of functional components within a computer system
US20050138563A1 (en) * 2003-12-18 2005-06-23 International Business Machines Corporation Method and system for providing computer system software images
GB0427540D0 (en) * 2004-12-15 2005-01-19 Ibm A system for maintaining data
US9547780B2 (en) 2005-03-28 2017-01-17 Absolute Software Corporation Method for determining identification of an electronic device
US8087092B2 (en) 2005-09-02 2011-12-27 Uniloc Usa, Inc. Method and apparatus for detection of tampering attacks
US8839451B1 (en) * 2006-08-07 2014-09-16 Moka5, Inc. Activation and security of software
US8284929B2 (en) 2006-09-14 2012-10-09 Uniloc Luxembourg S.A. System of dependant keys across multiple pieces of related scrambled information
US7908662B2 (en) 2007-06-21 2011-03-15 Uniloc U.S.A., Inc. System and method for auditing software usage
US8620818B2 (en) * 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US8281298B2 (en) * 2007-08-27 2012-10-02 International Business Machines Corporation Evaluating computer driver update compliance
WO2009039504A1 (en) 2007-09-20 2009-03-26 Uniloc Corporation Installing protected software product using unprotected installation image
US8160247B2 (en) * 2007-09-27 2012-04-17 Adobe Systems Incorporated Providing local storage service to applications that run in an application execution environment
US8528109B2 (en) * 2007-10-09 2013-09-03 Microsoft Corporation Optimizing amount of data passed during software license activation
EP2223256A1 (en) 2007-11-17 2010-09-01 Uniloc Usa, Inc. System and method for adjustable licensing of digital products
US8464059B2 (en) 2007-12-05 2013-06-11 Netauthority, Inc. System and method for device bound public key infrastructure
US8374968B2 (en) 2008-02-22 2013-02-12 Uniloc Luxembourg S.A. License auditing for distributed applications
US8812701B2 (en) 2008-05-21 2014-08-19 Uniloc Luxembourg, S.A. Device and method for secured communication
US9594582B2 (en) * 2009-01-05 2017-03-14 International Business Machines Corporation Detection and management of dynamic migration of virtual environments
US8838976B2 (en) * 2009-02-10 2014-09-16 Uniloc Luxembourg S.A. Web content access using a client device identifier
JP4692652B2 (ja) * 2009-02-18 2011-06-01 コニカミノルタビジネステクノロジーズ株式会社 ライセンス管理システム、ライセンス管理コンピュータ、ライセンス管理方法およびライセンス管理プログラム
US8103553B2 (en) 2009-06-06 2012-01-24 Bullock Roddy Mckee Method for making money on internet news sites and blogs
US9633183B2 (en) 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US9047458B2 (en) 2009-06-19 2015-06-02 Deviceauthority, Inc. Network access protection
US8423473B2 (en) 2009-06-19 2013-04-16 Uniloc Luxembourg S. A. Systems and methods for game activation
US9047450B2 (en) 2009-06-19 2015-06-02 Deviceauthority, Inc. Identification of embedded system devices
US8495359B2 (en) 2009-06-22 2013-07-23 NetAuthority System and method for securing an electronic communication
US8452960B2 (en) 2009-06-23 2013-05-28 Netauthority, Inc. System and method for content delivery
US8903653B2 (en) 2009-06-23 2014-12-02 Uniloc Luxembourg S.A. System and method for locating network nodes
US8736462B2 (en) 2009-06-23 2014-05-27 Uniloc Luxembourg, S.A. System and method for traffic information delivery
US9129097B2 (en) * 2009-06-24 2015-09-08 Uniloc Luxembourg S.A. Systems and methods for auditing software usage using a covert key
US9075958B2 (en) 2009-06-24 2015-07-07 Uniloc Luxembourg S.A. Use of fingerprint with an on-line or networked auction
US10068282B2 (en) 2009-06-24 2018-09-04 Uniloc 2017 Llc System and method for preventing multiple online purchases
US8239852B2 (en) 2009-06-24 2012-08-07 Uniloc Luxembourg S.A. Remote update of computers based on physical device recognition
US8213907B2 (en) 2009-07-08 2012-07-03 Uniloc Luxembourg S. A. System and method for secured mobile communication
US9141489B2 (en) 2009-07-09 2015-09-22 Uniloc Luxembourg S.A. Failover procedure for server system
US8726407B2 (en) 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
US8769296B2 (en) 2009-10-19 2014-07-01 Uniloc Luxembourg, S.A. Software signature tracking
US9082128B2 (en) 2009-10-19 2015-07-14 Uniloc Luxembourg S.A. System and method for tracking and scoring user activities
US8316421B2 (en) * 2009-10-19 2012-11-20 Uniloc Luxembourg S.A. System and method for device authentication with built-in tolerance
EP2372592B1 (en) * 2009-12-14 2016-08-24 Nxp B.V. integrated circuit and system for installing computer code thereon
US9235399B2 (en) * 2010-01-15 2016-01-12 Dell Products L.P. System and method for manufacturing and personalizing computing devices
US9256899B2 (en) * 2010-01-15 2016-02-09 Dell Products, L.P. System and method for separation of software purchase from fulfillment
US10387927B2 (en) * 2010-01-15 2019-08-20 Dell Products L.P. System and method for entitling digital assets
US9100396B2 (en) * 2010-01-29 2015-08-04 Dell Products L.P. System and method for identifying systems and replacing components
US8170783B2 (en) 2010-03-16 2012-05-01 Dell Products L.P. System and method for handling software activation in entitlement
GB2484268A (en) 2010-09-16 2012-04-11 Uniloc Usa Inc Psychographic profiling of users of computing devices
AU2011100168B4 (en) 2011-02-09 2011-06-30 Device Authority Ltd Device-bound certificate authentication
US8817984B2 (en) 2011-02-03 2014-08-26 mSignia, Inc. Cryptographic security functions based on anticipated changes in dynamic minutiae
US11063920B2 (en) 2011-02-03 2021-07-13 mSignia, Inc. Cryptographic security functions based on anticipated changes in dynamic minutiae
WO2012122621A1 (en) * 2011-03-15 2012-09-20 Irdeto Canada Corporation Change-tolerant method of generating an identifier for a collection of assets in a computing environment using a secret sharing scheme
AU2011101295B4 (en) 2011-06-13 2012-08-02 Device Authority Ltd Hardware identity in multi-factor authentication layer
AU2011101297B4 (en) 2011-08-15 2012-06-14 Uniloc Usa, Inc. Remote recognition of an association between remote devices
AU2011101296B4 (en) 2011-09-15 2012-06-28 Uniloc Usa, Inc. Hardware identification through cookies
US8949401B2 (en) 2012-06-14 2015-02-03 Dell Products L.P. Automated digital migration
US9779219B2 (en) 2012-08-09 2017-10-03 Dell Products L.P. Method and system for late binding of option features associated with a device using at least in part license and unique ID information
US9143496B2 (en) 2013-03-13 2015-09-22 Uniloc Luxembourg S.A. Device authentication using device environment information
US9286466B2 (en) 2013-03-15 2016-03-15 Uniloc Luxembourg S.A. Registration and authentication of computing devices using a digital skeleton key
CN104246722B (zh) 2013-03-29 2017-02-22 株式会社东芝 用于基于哈希表排除数据重复的存储系统,存储控制器及方法
AU2013100802B4 (en) 2013-04-11 2013-11-14 Uniloc Luxembourg S.A. Device authentication using inter-person message metadata
US8695068B1 (en) 2013-04-25 2014-04-08 Uniloc Luxembourg, S.A. Device authentication using display device irregularity
JP6244759B2 (ja) 2013-09-10 2017-12-13 株式会社ソシオネクスト セキュアブート方法、半導体装置、及び、セキュアブートプログラム
US9356914B2 (en) 2014-07-30 2016-05-31 Gracenote, Inc. Content-based association of device to user
CN104834537B (zh) * 2014-12-30 2018-04-27 沈阳东软医疗系统有限公司 数据处理方法、服务器及客户端
US9824236B2 (en) * 2015-05-19 2017-11-21 Accenture Global Services Limited System for anonymizing and aggregating protected information
US10491401B2 (en) 2017-02-21 2019-11-26 Google Llc Verification of code signature with flexible constraints
US10311224B1 (en) * 2017-03-23 2019-06-04 Amazon Technologies, Inc. Digitally sealing equipment for authentication of components
US11075925B2 (en) * 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
US10754708B2 (en) 2018-03-28 2020-08-25 EMC IP Holding Company LLC Orchestrator and console agnostic method to deploy infrastructure through self-describing deployment templates
US10693722B2 (en) 2018-03-28 2020-06-23 Dell Products L.P. Agentless method to bring solution and cluster awareness into infrastructure and support management portals
US10795756B2 (en) 2018-04-24 2020-10-06 EMC IP Holding Company LLC System and method to predictively service and support the solution
US11086738B2 (en) 2018-04-24 2021-08-10 EMC IP Holding Company LLC System and method to automate solution level contextual support
US11599422B2 (en) 2018-10-16 2023-03-07 EMC IP Holding Company LLC System and method for device independent backup in distributed system
CN109508517B (zh) * 2018-10-29 2021-06-29 武汉思普崚技术有限公司 软件功能模块选择性激活方法及设备
US20200220865A1 (en) * 2019-01-04 2020-07-09 T-Mobile Usa, Inc. Holistic module authentication with a device
US10862761B2 (en) 2019-04-29 2020-12-08 EMC IP Holding Company LLC System and method for management of distributed systems
US11301557B2 (en) 2019-07-19 2022-04-12 Dell Products L.P. System and method for data processing device management

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61220030A (ja) * 1985-03-26 1986-09-30 Toshiba Corp ソフトウエア識別方式
JPS63296136A (ja) * 1987-05-27 1988-12-02 Nec Corp プログラムの正当性確認方法
US5757907A (en) 1994-04-25 1998-05-26 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for generating a machine-dependent identification
US5734819A (en) 1994-10-12 1998-03-31 International Business Machines Corporation Method and apparatus for validating system operation
JPH1027035A (ja) * 1996-07-12 1998-01-27 Fujitsu Ltd 情報処理装置
US6148407A (en) * 1997-09-30 2000-11-14 Intel Corporation Method and apparatus for producing computer platform fingerprints
US6226747B1 (en) * 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US7503072B2 (en) * 1998-04-29 2009-03-10 Microsoft Corporation Hardware ID to prevent software piracy
US6243468B1 (en) * 1998-04-29 2001-06-05 Microsoft Corporation Software anti-piracy system that adapts to hardware upgrades
US6044471A (en) * 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US7290149B2 (en) * 2003-03-03 2007-10-30 Microsoft Corporation Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes

Also Published As

Publication number Publication date
RU2363044C2 (ru) 2009-07-27
MY142576A (en) 2010-12-15
TW200511108A (en) 2005-03-16
HK1068978A1 (en) 2005-05-06
RU2004106185A (ru) 2005-08-10
ATE473486T1 (de) 2010-07-15
DE602004027966D1 (de) 2010-08-19
ZA200401491B (en) 2005-04-18
JP4652701B2 (ja) 2011-03-16
US7278131B2 (en) 2007-10-02
BRPI0400378A (pt) 2005-01-04
CA2458765A1 (en) 2004-09-03
US20040177354A1 (en) 2004-09-09
CA2458765C (en) 2011-09-13
CN1530790A (zh) 2004-09-22
EP1637958A2 (en) 2006-03-22
CN100430860C (zh) 2008-11-05
KR20040078557A (ko) 2004-09-10
EP1455258A3 (en) 2004-11-03
EP1455258B1 (en) 2010-07-07
JP2004265422A (ja) 2004-09-24
AU2004200641B2 (en) 2009-09-10
KR100991061B1 (ko) 2010-10-29
EP1455258A2 (en) 2004-09-08
AU2004200641A1 (en) 2004-09-23
EP1637958A3 (en) 2006-05-17
MXPA04002023A (es) 2005-02-17

Similar Documents

Publication Publication Date Title
TWI321289B (en) Relevant methods and systems for generating compact hardware identification of computer system for controlling usage of software package in computer system, and computer readable medium for recording relevant instructions
TWI339334B (en) Verbose hardware indentication for binding a software package to a computer system having tolerance for hardware changes
RU2388051C2 (ru) Случайный пароль, автоматически формируемый базовой системой ввода-вывода (bios) для защиты устройства хранения данных
US6820063B1 (en) Controlling access to content based on certificates and access predicates
US6330670B1 (en) Digital rights management operating system
US7302709B2 (en) Key-based secure storage
US20070143228A1 (en) Licensing matrix
WO1999057634A1 (en) Processing apparatus and method
US20110191476A1 (en) System and Method for Migration of Digital Assets
US8479144B2 (en) SDK use-restriction imposing device, use-restriction-imposed SDK developing system, and SDK use-restriction imposing method
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
US9100396B2 (en) System and method for identifying systems and replacing components
US20070239608A1 (en) Digital media distribution system
US7613932B2 (en) Method and system for controlling access to software features in an electronic device
US20020169976A1 (en) Enabling optional system features
TWI682296B (zh) 映像檔打包方法及映像檔打包系統
US20140108593A1 (en) System and Method for Migration of Digital Assets
EP2369518A1 (en) A system and a method for copy protecting a block of software
KR20170004043A (ko) 운영체제 불법 복제 방지 시스템
JP2003263830A (ja) 情報記録ディスク、サーバ装置及びプログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees