專利名稱:用于安全軟件安裝的方法及設備的制作方法
技術領域:
本發(fā)明總體涉及軟件安裝,具體涉及帶有安全許可證計數(shù)的軟件 安裝。
背景技術:
本部分意在向讀者介紹與以下描述和/或請求保護的本發(fā)明的各 方面相關的現(xiàn)有技術的各方面。相信此論述有助于為讀者提供背景信 息以便容易地對本發(fā)明的各方面有較好理解。因此可知,應從這種角 度閱讀這些陳述,而不是將其作為對現(xiàn)有技術的認可。
銷售客戶為其購買了多個許可證的軟件產品的軟件制造商當然希 望確保客戶不在支付許可證以外的更多計算機(或更一般地,平臺) 上安裝軟件產品。另外,制造商和客戶都希望有一套簡單易用的軟件 產品安裝方法。
US 2003/0023966 Al給出了一種允許客戶進行有限次軟件安裝 的系統(tǒng)的示教。在可移除記錄介質的保護區(qū)域中存儲安裝受限計數(shù)和 安裝計數(shù)。無論何時安裝軟件均做出比較,以確保安裝計數(shù)不超過安 裝受限計數(shù)。
US 2005/0039006 Al給出了一種使用授權介質(軟盤)限制軟件 安裝次數(shù)的系統(tǒng)的示教。該軟盤包括可進行軟件安裝的設備的序列號 列表。可選地,由軟盤跟蹤已執(zhí)行的安裝次數(shù),如果執(zhí)行了預定的安 裝次數(shù),則拒絕安裝軟件。
US 2006/0073890 Al給出了一種在電子密鑰中存儲許可證計數(shù)的 系統(tǒng)的示教。 一旦下載機的主處理器訪問該密鑰進行許可證傳送,則 該許可證計數(shù)遞減。用戶可訪問遠程服務器對密鑰中的許可證計數(shù)進 行更新,即購買更多許可證。
US 2003/0041243 Al給出了一種使用物理密鑰控制軟件安裝的系 統(tǒng)的示教。該密鑰包括與已執(zhí)行安裝的次數(shù)和最大安裝次數(shù)有關的信 息。另外,在當物理密鑰與計算機連接時成功卸載了軟件的情況下, 己執(zhí)行的安裝次數(shù)會減少。
US 6,226,747 Bl給出了一種使用軟盤控制軟件安裝的系統(tǒng)的示 教。該軟盤允許有限次安裝,并使用下載機的指紋識別以允許軟件卸 載,從而增加可用許可證個數(shù),以及允許在機器崩潰后重新安裝。
US 2005/0005137 Al給出了一種在軟盤上存儲了許可證密鑰的系 統(tǒng)的示教。軟件的安裝只是暫時性的,直至將許可證密鑰傳送至確保 與該許可證相對應的軟件僅安裝過一次的遠程服務器。如果驗證了這 一點,則遠程服務器發(fā)送信息以實施永久安裝。
其它方案是使用與每個軟件許可證相關聯(lián)的軟件狗。為使軟件在 特定機器上運行,首先必須將軟件狗連接至該機器。
本發(fā)明試圖至少改正部分與現(xiàn)有技術相關的問題,使用戶能夠在 考慮與軟件相關聯(lián)的許可證時安裝軟件。
發(fā)明內容
在第一方面,本發(fā)明提出了在第一設備上安裝軟件的方法。執(zhí)行 安裝應用程序的第一設備功能性地與第二設備和存儲了至少部分加密 后的軟件的支持裝置連接。在安全應用程序和第二設備間建立安全連 接。從第二設備向對軟件進行解密的安裝應用程序發(fā)送用于加密后的 軟件的解密軟件、以及證書/密鑰對。然后安裝應用程序安裝軟件,將 軟件和證書相鏈接,從而使軟件在執(zhí)行時可以驗證第一設備上存儲有 證書。
在優(yōu)選實施例中,安裝應用程序向第二設備提供第一設備的標識 并將安裝與標識相鏈接,使軟件在執(zhí)行時可以驗證該軟件在與該標識 對應的第一設備上運行。
在另一優(yōu)選實施例中,該證書/私鑰對是唯一的。 優(yōu)選地,第二設備存儲多個證書/私鑰對,并將每個接收的標識符 與先前非關聯(lián)的證書/密鑰對相關聯(lián)。有利地,第二設備驗證其至少存
儲一個非關聯(lián)的證書/私鑰對,如果無可用的這種證書/私鑰對則放棄 安裝。
在可選實施例中,己安裝的軟件受時間限制(time-limited)。第 二設備連接服務器并報告從先前連接起執(zhí)行的軟件安裝次數(shù)。在確認 了軟件安裝時,擴展時間限制或將時間受限的已安裝軟件轉換為永久 的已安裝軟件。有利地,針對第一設備對由服務器發(fā)送的轉換代碼的 接收,執(zhí)行對時間限制的擴展或對時間受限的已安裝軟件的轉換。
在另一優(yōu)選實施例中,安全連接為使用第二設備和安裝應用程序 的證書/私鑰對建立的安全認證通道。用于建立安全認證通道的證書/ 私鑰對不同于從第二設備傳送至安裝應用程序的證書/私鑰對。
在第二方面,本發(fā)明提出了一種適用于參與如本發(fā)明所述安裝軟 件的方法的安裝令牌。安裝令牌包括處理器,適用于在與安裝應用 程序之間建立安全認證通道;安全存儲器,適用于存儲至少一個證書/ 私鑰對,以及接口,適用于向安裝應用程序發(fā)送用于加密后的軟件的 解密密鑰、以及證書/私鑰對。
在優(yōu)選實施例中,安全存儲器還適用于存儲已安裝有軟件的第一 設備的至少一個標識符。
參照附圖對本發(fā)明的不同特征、優(yōu)點以及其優(yōu)選實施例進行描述, 附圖的目的在于進行舉例說明而非限制本發(fā)明的范圍,所述附圖為 圖1所示為依據(jù)本發(fā)明優(yōu)選實施例的一種用于軟件安裝的環(huán)境; 圖2所示為依據(jù)本發(fā)明的一種軟件安裝的優(yōu)選方法; 圖3所示為依據(jù)本發(fā)明的一種軟件安裝方法的可選優(yōu)選實施例。
具體實施例方式
圖1示出了根據(jù)本發(fā)明優(yōu)選實施例的軟件安裝環(huán)境100。環(huán)境100 包括要安裝軟件的計算機110、安裝令牌(token) 120、經加密的軟件 拷貝130以及遠程服務器140。
計算機110包括用于與安裝令牌120交互的接口 112、用于下載 軟件130的接口 114、以及用于與遠程服務器交互的接口 116。
安裝令牌120可以以安全令牌或通用串行總線(USB)密鑰為例, 包括處理器122、安全存儲器124、以及(在優(yōu)選實施例中)實時時鐘 126。安裝令牌包括用于建立一個或多個安全連接的證書/私鑰對,下 文中將對此做深入描述。軟件提供商提供安裝令牌120及軟件130。
軟件130可以貯存于一個或多個CD-ROM或任何其他適合種類的 存儲介質。軟件130還可以存儲于可通過網絡(如本地網或因特網) 存取的遠程存儲介質。
圖2示出了根據(jù)本發(fā)明的軟件安裝的優(yōu)選方法。在步驟200中, 用戶直接或間接地從軟件制造商接收安裝令牌和軟件拷貝。在示例性 實施例中,假設交付在CD-ROM上加密的軟件,安裝令牌為初始時允 許將軟件安裝10次的USB密鑰。
然后用戶將安裝令牌連接210至計算機,并將CD-ROM放入適合 的讀取器中,然后用戶啟動220軟件安裝應用程序。應注意,安裝應 用程序并未加密,因此甚至沒有適合的密鑰或許可證仍可啟動。
安裝應用程序包括證書/公鑰對,該證書/公鑰對可以是多個安裝 應用程序共用的、或專用于與指定的安裝令牌一同使用。通過使用證 書,安裝應用程序使用現(xiàn)有技術中的任意適用方法建立230與安裝令 牌間的安全認證通道(SAC)。通過SAC將計算機標識符發(fā)送240至 安裝令牌。優(yōu)選地,該標識符對計算機是唯一的(或至少是準唯一的), 例如可以是計算機的序列號、主板序列號、網卡序列號、MAC地址、 硬盤序列號、處理器類型或其結合。依照現(xiàn)有技術中任意適用方法計 算該標識符(也稱為計算機指紋),并優(yōu)選地用于硬件焊接(soldering), 在下文中將對其進行進一步的描述。
安裝令牌在其安全存儲器中保持標識符列表,其中還保持剩余許 可證次數(shù),即軟件還可安裝的次數(shù)。優(yōu)選地,安全存儲器還存儲多個 不同的證書/私鑰對 一對由USB密鑰自身用于建立安全連接、 一對 用于每個剩余許可證、并有可能還有與已經安裝的許可證相對應的對。
如果安裝取得授權(步驟250),則安裝令牌通過SAC發(fā)送260 軟件解密所必需的至少一個解密密鑰,該密鑰存儲在安裝令牌的安全 存儲器中。安全令牌還通過SAC發(fā)送用于與許可證一同使用的證書/ 私鑰對,該證書/私鑰對不同于用于建立SAC的證書/私鑰對。然后, 安裝令牌修改剩余許可證個數(shù),從而可以執(zhí)行的安裝次數(shù)減少一次。 在該示例中,安裝令牌初始有IO個許可證,表示在首次安裝后僅剩余 9個。
針對解密密鑰的接收,安裝應用程序對軟件進行解密和安裝270, 將已安裝的軟件和證書相鏈接。由于僅該證書給予一次軟件安裝,因 此該軟件是個人化的。軟件的安裝還與使用用于計算機的標識符的計 算機相鏈接。優(yōu)選地,在每次運行軟件時,軟件對證書進行驗證,且 還驗證該軟件在與標識符相對應的計算機上運行。如果是這樣,則繼 續(xù)運行該軟件;否則,停止運行軟件。將軟件與計算機相鏈接使軟件 的逐比特拷貝是不可能的。
一旦安裝就緒,用戶還可將安裝令牌和軟件拿到另一計算機進行 安裝。
例如,當用戶用完許可證時,用戶可將安裝令牌返回軟件提供商 或授權經銷商以便進一步購買許可證。可選地,用戶可以運行特定應 用程程序,通過該應用程序,經由因特網而使付費對于遠程地修改安 裝令牌上許可證個數(shù)的遠程服務器生效。
在變體中,不在步驟240中將計算機標識符發(fā)送至安裝令牌,在 這種情況下,安裝令牌并未存儲標識符列表。然而,優(yōu)選使用標識符, 因為它能夠在例如崩潰的計算機上重新安裝軟件,而不需要使用其它 許可證。
有利地,所交付的軟件帶有卸載應用程序,該卸載程序允許用戶 卸載計算機上的軟件,在這種情況下安裝令牌會增加剩余許可證的個 數(shù),并且在使用標識符列表的情況下將該標識符從列表中刪除。在該 變體中,有利地,安裝令牌存儲有已安裝許可證的證書/密鑰對,從而 可以容易地再用該對。在另一變體中,遠程計算機或服務器140可以執(zhí)行上文所述實施 例中安裝令牌120的功能。安裝應用程序通過網絡與遠程計算機或服 務器140聯(lián)系,以便建立SAC,之后該方法按照上文的描述進行。應 注意,與該變體一起使用的服務器不必與參照圖3描述的方法中使用 的服務器相同,但優(yōu)選是相同的。
圖3示出了根據(jù)本發(fā)明的軟件安裝方法的可選優(yōu)選實施例。本實 施例優(yōu)選使用一種如上文所描述的帶有實時時鐘的安裝令牌。
在步驟300中,用戶在X臺計算機上進行X次軟件安裝。優(yōu)選地, 軟件的安裝根據(jù)圖2描述的方法進行。應注意,不必限制許可證個數(shù), 但這是優(yōu)選的,尤其在優(yōu)選地為每次軟件安裝來安裝證書/密鑰對的情 況下(盡管在不使用與軟件安裝相鏈接的證書或者多于一次的安裝共 用證書時也可使用本發(fā)明)。還可以設置遠大于用戶預期數(shù)的可能許 可證個數(shù),使得對于用戶來說是無次數(shù)限制,例如可能為通常需要不 多于30個許可證的用戶配置100個許可證。
然后用戶向軟件提供商報告310許可證個數(shù)并為這些許可證付 費。關于用戶何時應報告和付費,存在多種可能,例如當安裝了特定 預設的許可證個數(shù)時、當用戶認為一段時間內將不再安裝軟件時、或 者在特定時間,例如在最近報告或接收安裝令牌的一個月內。后面的 選擇比較合適,但是也可以與其他選擇中的一種或全部相結合。
在變體中,方法返回步驟300,其中用戶可以再次安裝軟件,但 在優(yōu)選變體中,安裝在計算機上的軟件是受時間限制的。如果已安裝 的軟件沒有在指定時間(優(yōu)選地,該時間與報告間隔相關聯(lián))內從遠 程服務器接收到代碼,則軟件停止工作。然而, 一旦用戶在步驟310 中報告許可證并使許可證有效(例如為其付費),遠程服務器便為每 個軟件安裝提供必要的代碼以使其成為永久的已安裝軟件(例如不受 時間限制)或擴展時間限制。優(yōu)選地,代碼與特定軟件安裝相鏈接, 以確認代碼不被其它安裝再用。這可以通過使安裝令牌基于計算機標 識符生成唯一的代碼、并使安裝程序修改安裝來實現(xiàn)。向軟件安裝提 供代碼可由服務器直接實現(xiàn)(如通過安裝應用程序向安裝令牌提供地
址)、或通過安裝令牌實現(xiàn)(在這種情況下安裝令牌必須與帶有軟件 安裝的平臺所在的網絡至少間接地相連)。
因而可以認識到本發(fā)明通過提供考慮了軟件提供商權利的靈活的 軟件安裝而改進了現(xiàn)有技術。
上述說明書、示例及附圖為本發(fā)明構成的制造和使用提供了完整 的描述。由于在不超出本發(fā)明的思想和范圍的情況下可以實現(xiàn)多個本 發(fā)明的實施例,所以本發(fā)明在于所附權利要求。
在說明書、(適當?shù)?權利要求和附圖中公開的每個特征均可獨 立地或以適當?shù)慕M合提供。在適當情況下,特征可以實現(xiàn)為硬件、軟 件或者兩者的結合。
本文中的參考"一個實施例"或"實施例"表示所描述的與實施例相 結合的特征、結構或特性可以包括在本發(fā)明的至少一個實施方式中。 說明書中不同位置出現(xiàn)的各"在一個實施例中"的措詞并不是必須指代 同一個實施例,也不是必須指代相斥于其他實施例以外的獨立或可選 實施例。
權利要求中出現(xiàn)的參考數(shù)字僅是進行說明所用的方式,對權利要 求的范圍沒有限制作用。
權利要求
1、一種在第一設備(110)上安裝軟件的方法,所述第一設備功能性地與第二設備(120,140)和存儲了至少部分加密后的軟件的支持裝置(130)連接,所述第一設備執(zhí)行安裝應用程序,所述方法包括以下步驟在安裝應用程序與第二設備之間建立(230)安全連接;從第二設備向安裝應用程序發(fā)送(260)用于所述加密后的軟件的解密密鑰、以及證書/私鑰對;安裝應用程序進行軟件解密(270);以及安裝應用程序進行軟件安裝,將軟件與證書相鏈接,以便在執(zhí)行軟件時能夠驗證所述第一設備上存儲有證書。
2、 如權利要求1所述的方法,在所述安裝應用程序處,還包括步驟向所述第二設備提供(240)所述第一設備的標識;以及 將安裝與所述標識相鏈接(270),以便在執(zhí)行時軟件能夠驗證所 述軟件在與所述標識相對應的第一設備上運行。
3、 如權利要求1或2所述的方法,其中所述證書/私鑰對是唯一的。
4、 如權利要求2或3所述的方法,其中所述第二設備存儲多個證 書/私鑰對,并將每個接收的標識符與先前非關聯(lián)的證書/密鑰對相關 聯(lián)。
5、 如權利要求4所述的方法,還包括步驟由所述第二設備驗證(250)所述第二設備至少存儲一個非關聯(lián)的證書/私鑰對,以及如果 無可用的這種證書/私鑰對則放棄安裝。
6、 如權利要求2所述的方法,其中已安裝的軟件受時間限制,所 述方法還包括步驟由所述第二設備連接(310)服務器;由所述第二設備向所述服務器報告從先前連接至服務器起執(zhí)行的軟件安裝次數(shù);以及在確認了軟件安裝時,擴展時間限制或將時間受限的已安裝軟件 轉換(320)為永久的已安裝軟件。
7、 如權利要求6所述的方法,其中針對第一設備對由服務器發(fā)送 的轉換代碼的接收,對時間限制進行擴展或對時間受限的己安裝軟件 進行轉換。
8、 如權利要求1所述的方法,其中安全連接為使用第二設備和安 裝應用程序的證書/私鑰對建立的安全認證通道,所述用于建立安全認 證通道的證書/私鑰對不同于從第二設備傳送至安裝應用程序的證書/ 私鑰對。
9、 一種適用于參與如權利要求1至6任一項所述安裝軟件的方法 的安裝令牌(120),所述安裝令牌包括處理器(122),適用于在與安裝應用程序之間建立安全認證通道; 安全存儲器(124),適用于存儲至少一個證書/私鑰對;和 接口 (126),適用于向安裝應用程序發(fā)送用于加密后的軟件的解 密密鑰、以及證書/私鑰對。
10、 如權利要求9所述的安裝令牌,其中所述安全存儲器(124) 還適用于存儲已安裝有軟件的第一設備的至少一個標識符。
全文摘要
本發(fā)明提出了一種安全軟件安裝的方法和設備。用戶接收部分加密的軟件、以及用于來自軟件提供商的多個許可證的安裝令牌,將軟件和安裝令牌插入計算機,并啟動安裝應用程序。在安裝應用程序和安裝令牌之間建立安全認證通道,通過安全認證通道向安裝令牌發(fā)送計算機的唯一標識符。當安裝令牌驗證到有剩余許可證,減少剩余許可證,授權進行安裝并向對軟件進行解密和安裝的安裝應用程序發(fā)送解密密鑰和證書/密鑰對,優(yōu)選地將安裝和計算機標識符相鏈接。在變體中一旦安裝令牌已向軟件提供商報告數(shù)量并已為必要的許可證付費,便允許(實際上)將時間受限程序轉換為時間不受限程序以進行不受限安裝。本發(fā)明還提供了安裝令牌。
文檔編號G06F21/12GK101206704SQ20071019693
公開日2008年6月25日 申請日期2007年12月6日 優(yōu)先權日2006年12月20日
發(fā)明者伊夫·梅茨, 埃里克·迪爾, 邁克爾·莫萬, 阿蘭·迪朗 申請人:湯姆森許可貿易公司