專利名稱:防止未被授權(quán)使用軟件的方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及一種用于防止未被授權(quán)使用軟件程序的方法,尤其是涉及一種用于防止未被授權(quán)使用與硬件設(shè)備有關(guān)的軟件程序的方法。
背景技術(shù):
對于軟件開發(fā)者及經(jīng)銷者而言未被授權(quán)使用軟件是很普遍的問題。近十年來在家里和在辦公室中使用個人計算機已變得很普遍。軟件和硬件產(chǎn)品提供了高級別的功能并且其使用增加了。尤其是,在家使用個人計算機仍在上升并且將進一步擴大。軟件功能越復(fù)雜且開發(fā)軟件所付出的努力越大,防止軟件未被授權(quán)使用則越重要。盡管計算機軟件的未被授權(quán)復(fù)制是違反法律的,但是廣泛可得到的盜版軟件以及有限的強制能力使軟件侵權(quán)行為的擴張進一步擴大。
此外,跟專用硬件設(shè)備結(jié)合分銷的軟件在逐步增多。經(jīng)常將硬件設(shè)備與相應(yīng)的軟件工具綁定在一起,這可提高硬件設(shè)備的價值并且可使所綁定的產(chǎn)品與競爭者的同類產(chǎn)品相分離。具有相應(yīng)軟件的專有硬件設(shè)備不受這樣一個問題的影響,即可使用具有另一個制造商的軟件工具的硬件設(shè)備。但是越來越多的硬件設(shè)備使用標準接口以與不同的軟件一起來進行操作。因此,對于制造商來說防止僅與相應(yīng)硬件設(shè)備結(jié)合分銷的軟件未被授權(quán)使用是很重要的。進一步考慮對某些硬件設(shè)備的軟件功能進行限制,這也是一個合適的方法以使購買硬件設(shè)備的顧客受同一制造商的束縛。例如,顧客不得不購買同一廠商的相應(yīng)軟件產(chǎn)品以便可以使用該硬件的所有功能和選項。因此,制造商可根據(jù)開發(fā)費用來計算硬件和軟件產(chǎn)品的混合成本。
當前的防止未被授權(quán)使用軟件的方法不足夠有效或者是有損害。使用授權(quán)密鑰也不是很有效,因為可以從許多有效工具中知道授權(quán)密鑰以消除授權(quán)密鑰詢問或者在互聯(lián)網(wǎng)上公開了大量的未被授權(quán)密鑰。很快就能確定產(chǎn)生授權(quán)密鑰的方法。并且,不能監(jiān)控軟件的使用并且尤其是不能監(jiān)控與特定硬件結(jié)合使用的軟件應(yīng)該是只被授權(quán)的軟件。
保護軟件的使用的一個有效的但不方便的方法就是使用被稱為“軟件保護器(dongle)”的硬件密鑰。這些外部設(shè)備執(zhí)行某個算法以產(chǎn)生一代碼,計算機接收該代碼并且在該代碼是正確的情況下可對軟件代碼進行存取。雖然使用硬件密鑰是一個可減少軟件侵權(quán)的有效方法,但是其他的硬件密鑰會引起其與執(zhí)行該軟件的計算機的連接問題。標準化的輸入/輸出端口是可用的并且在技術(shù)上是有效的,但是經(jīng)常會出現(xiàn)與其它連接硬件的沖突。此外制造硬件密鑰是很昂貴的并且與軟件相結(jié)合是相當成問題的。因此,有效的硬件密鑰在經(jīng)濟上受限于高價值的軟件應(yīng)用。
與當前的軟件保護方法有關(guān)的問題是不存在這樣一種可用的方法,即該方法可將軟件使用的認證處理與檢查該軟件所訪問的某些硬件設(shè)備組合在一起。
發(fā)明內(nèi)容
因此,需要這樣一種安全的且合理的方法,該方法可防止與對應(yīng)的硬件設(shè)備綁定在一起的軟件未被授權(quán)使用。防止軟件未被授權(quán)使用的方法不但可保證軟件使用本身的安全而且可未被授權(quán)使用競爭者的類似硬件設(shè)備所具有的軟件。在軟件具有其他可獲得的情況下,這是很重要的。為了使用本發(fā)明的方法,至少一個硬件設(shè)備必須包括諸如標識號、序列號碼或者可由軟件所讀取的并且可清楚標識的其它嵌入式唯一代碼序列這樣的唯一不變的標識序列。
根據(jù)本發(fā)明可由附屬的權(quán)利要求獲得這些目的。
為了執(zhí)行軟件而需要存儲在軟件中的或者可由軟件存取的授權(quán)密鑰。軟件存取授權(quán)密鑰的類型取決于可執(zhí)行該軟件的設(shè)備。有利的是當將該軟件開發(fā)成可在普通個人計算機上執(zhí)行時,可將授權(quán)密鑰存儲在單獨的文件中。軟件從有關(guān)的硬件模塊中讀取唯一的硬件標識序列。授權(quán)密鑰還包含至少一個硬件標識序列。將所讀取的序列與所包含的序列進行比較。如果這兩個序列相匹配,則允許使用該軟件并且允許執(zhí)行。所包含的硬件標識序列是在其還包含有其他典型軟件授權(quán)密鑰的授權(quán)密鑰中共同編碼的(co-coded)。其他典型的軟件授權(quán)密鑰進一步包含與軟件有關(guān)的信息,例如用于標識軟件程序的序列、用于標識軟件程序的制造商或者經(jīng)銷者的序列等等。對所包含的硬件標識序列與軟件所讀取的標識序列進行比較,這可在不同的授權(quán)條件之間進行選擇。因此,可通過其包括有正確硬件標識序列的所標識的硬件設(shè)備的某個序列來使用該軟件是可能的。軟件授權(quán)密鑰不必僅包含單個硬件標識序列,而是可包含各種序列,其中只有一個或者某些所包含的序列必須匹配。硬件設(shè)備不需要與可執(zhí)行該軟件的計算機或者類似設(shè)備電連接,因為無線連接越來越重要,尤其是對于在家使用而言。
應(yīng)盡可能寬的來理解單詞“共同編碼”并且尤其是其覆蓋了同類術(shù)語的等價解釋,其中假定單詞“共同編碼”是an additional codingin、a composed coding with、a coding of等等。例如,授權(quán)密鑰可以是一段序列或者可以是由若干個相關(guān)序列或者不相關(guān)序列所組成的,其包含在與一個或者若干存儲器位置有關(guān)的一個或者若干個數(shù)據(jù)記錄中。進一步包括根據(jù)下述功能來對序列進行編碼(相關(guān)的或者不相關(guān)的,例如根據(jù)相同的編碼方法或者根據(jù)不同的編碼方法或者與另一個編碼參數(shù)相結(jié)合的編碼方法),該功能表示通過對其表示授權(quán)密鑰的唯一序列或者若干序列進行編碼來選出各個序列或者子序列。
根據(jù)本發(fā)明的一實施例,通過這樣一個接口來進行從硬件模塊中讀取硬件標識序列的操作,該接口就是適合于至少一個硬件模塊與處理設(shè)備之間的接口通信,該處理設(shè)備是用于分別執(zhí)行并運行由上述方法所保護的軟件的設(shè)備。
此外根據(jù)另一個實施例,通過這樣一個接口來進行讀出操作,該接口采用有線或者無線通信連接以使至少一個硬件模塊與用于分別執(zhí)行并運行上述軟件的處理設(shè)備互連。
最好是,對其包含于授權(quán)密鑰中的硬件號進行加密。存在多個用于對所期望的硬件標識序列進行加密并且對所需授權(quán)密鑰中的它們進行共同編碼。
方便的是,通過使用私用密鑰來對所加密的硬件標識序列進行解密。分別在軟件代碼中實現(xiàn)并對密鑰進行編碼。制造商或者軟件的經(jīng)銷人必須知道其包含在授權(quán)密鑰中的相應(yīng)硬件設(shè)備的硬件標識序列。使用相同的私用密鑰來對這些序列進行加密和解密。類似的方法使用保密算法而不是私用密鑰。相同的算法用來加密并且可用來對包含在授權(quán)密鑰中的硬件標識序列進行解密。因此,必須在軟件代碼中實現(xiàn)這些算法或者對其進行編碼。這兩個方法提供了相關(guān)的防止未被授權(quán)使用軟件的保護。另外,從經(jīng)濟上來說這些方法可在低成本的軟件工具中執(zhí)行。
更優(yōu)選的,使用公共密匙加密方法來產(chǎn)生授權(quán)密鑰并且在軟件執(zhí)行期間檢索硬件標識序列。公共密匙加密方法需要私用密鑰和公共密鑰這兩個不同的密鑰。使用私用密鑰來加密僅利用公共密鑰來解密的數(shù)據(jù)。與上述加密方法相反,不能從軟件代碼當中提取加密密鑰或者方法。在分布式軟件中不能實現(xiàn)私用密鑰,因為公共密鑰可足以對所包含的硬件標識序列進行解密。私用密鑰只是被可產(chǎn)生授權(quán)的可靠授權(quán)密鑰所知。在軟件代碼中可實現(xiàn)公共密鑰但是其與授權(quán)密鑰一起提交或者通過網(wǎng)頁等等來獲得。
方便的是,可自由獲得的公共密鑰及與授權(quán)密鑰的與國際格式相關(guān)的信息可使得為某些未被授權(quán)的硬件設(shè)備構(gòu)造“黑客”密鑰成為可能,因為該軟件程序不能區(qū)分已授權(quán)方的合法公共密鑰與未被授權(quán)資源的公共密鑰。因此,對公共密鑰進行編碼是有益的。
另外,為防止同時交換公開密鑰和授權(quán)密鑰(這可允許未被授權(quán)使用軟件),因此由第三職權(quán)方來簽署公共密鑰。所簽署的公開密鑰通常被稱為證書。然而,密鑰的簽署是再次基于如上所述的公共密匙加密方法。使用相應(yīng)的一對密鑰來進行加密與解密。由第三方密鑰職權(quán)方提供了相應(yīng)的一對密鑰,該第三方密鑰職權(quán)方通常專用于提供密鑰。由第三方密鑰職權(quán)方的私用密鑰來對軟件的制造商或者經(jīng)銷人的公共密鑰進行加密。為了獲得其用于對包含在授權(quán)密鑰中的硬件標識序列進行解密的公共密鑰,第三方密鑰職權(quán)方的相應(yīng)公共密鑰被用于證書以便對證書進行解密。通過應(yīng)用每一個都為不同的獨立密鑰職權(quán)方所知的兩個私用密鑰來進行交錯的加密,這更難以克服軟件的保護以便于未被授權(quán)使用。
在如上所述使用由軟件的制造商或者經(jīng)銷人分配的證書以及第三方密鑰職權(quán)方的公共密鑰的情況下,可通過可自由訪問的資源來分配證書及第三方公共密鑰??赡艿馁Y源例如是制造商或者經(jīng)銷人的網(wǎng)絡(luò)服務(wù)器,該網(wǎng)絡(luò)服務(wù)器可通過網(wǎng)頁和有效下載來提供必要證書并且附加提供與第三方密鑰職權(quán)方的網(wǎng)絡(luò)服務(wù)器的網(wǎng)頁的超級鏈接以便為賣方提供一整套證書和公共密鑰。
最好是,將軟件程序綁定到至少一個網(wǎng)絡(luò)接口模塊上。網(wǎng)絡(luò)接口模塊包括被稱為媒介訪問控制層(MAC)地址的在世界范圍內(nèi)有效的唯一標識序列。MAC地址最好是用作唯一標識序列。更好的是,將軟件程序綁定到至少一個藍牙模塊上,該藍牙模塊包括在世界范圍內(nèi)唯一的藍牙地址。
根據(jù)本發(fā)明的另一個實施例,提供了一種防止未被授權(quán)使用軟件的軟件工具。該軟件工具包括程序部分,當在計算機程序或者代碼部分中分別執(zhí)行和/或操作該軟件工具時,該程序部分執(zhí)行上述方法的操作。
根據(jù)本發(fā)明的另一個實施例,提出了一種用于防止未被授權(quán)使用軟件的計算機程序。該計算機程序包括程序代碼部分,當在處理設(shè)備、計算機或者網(wǎng)絡(luò)設(shè)備上執(zhí)行該程序時,該程序代碼部分執(zhí)行上述方法。
根據(jù)本發(fā)明的另一個實施例,提供了一種計算機程序產(chǎn)品,該計算機程序產(chǎn)品包括存儲在計算機可讀介質(zhì)上的程序代碼部分,當在處理設(shè)備、計算機或者網(wǎng)絡(luò)設(shè)備上執(zhí)行所述程序產(chǎn)品時該程序代碼部分用于執(zhí)行上述方法。
根據(jù)本發(fā)明的另一個實施例,提供了一種可防止未被授權(quán)使用軟件的處理設(shè)備。因此,該處理設(shè)備包括或者裝載有防止其被濫用的軟件,其中在該處理設(shè)備上執(zhí)行或者運行該軟件并且該軟件包括分別執(zhí)行和運行該軟件所需的一授權(quán)密鑰。另外,該設(shè)備包括接口、用于讀取的部件、用于檢索的部件、用于比較的部件、以及用于許可的部件。用于讀取的部件可讀取至少一個硬件模塊所包含的一硬件標識序列,該硬件標識序列包括可標識至少一個硬件模塊并且尤其是可唯一標識至少一個硬件模塊的硬件標識序列。用于讀取的部件進一步包括接口,該接口通過采用可連接在處理設(shè)備與至少一個硬件模塊之間的數(shù)據(jù)通信的接口來讀取硬件標識序列。用于檢索的部件可獲得存儲在授權(quán)密鑰中的硬件標識序列,和用于比較的部件對所讀取的以及所檢索的硬件標識序列進行比較以便確定該軟件是否被授權(quán)使用。在所讀取的硬件標識序列與所檢索的硬件標識序列相匹配的情況下,用于許可可執(zhí)行該軟件的部件允許操作該軟件的功能。
如果所讀取的硬件標識序列與所檢索的硬件標識序列相匹配,那么完全允許操作整個軟件,如果所讀取的硬件標識序列與所檢索的硬件標識序列不匹配那么僅允許部分操作軟件。
根據(jù)本發(fā)明的另一個實施例,上述接口基于有線或者無線數(shù)據(jù)通信接口,該接口可使至少一個硬件模塊與分別用于執(zhí)行和運行受保護軟件的處理設(shè)備之間進行數(shù)據(jù)通信。
根據(jù)本發(fā)明的另一個實施例,該處理設(shè)備進一步包括用于解密的部件,該部件適用于并且可對包含在授權(quán)密鑰中的且已加密的硬件標識序列進行解密。
根據(jù)本發(fā)明的另一個實施例,用于解密的部件執(zhí)行基于公共密匙加密方法的解密處理。其涉及第一公共密鑰和第一私用密鑰的公共密鑰加密方法如上所述并且參考根據(jù)本發(fā)明實施例的方法來其進行詳細的描述。根據(jù)本發(fā)明的另一個實施例,用于解密的部件執(zhí)行交錯的解密處理,該處理包括另外的已加密的第一公共密鑰。其涉及第一公共密鑰、第一私用密鑰、第二公共密鑰、以及第二私用密鑰的交錯公共密匙加密方法如上所述并且參考本發(fā)明實施例的方法對其進行了詳細的描述。可以自由的存取加密的或者未加密的第一和第二公共密鑰。
根據(jù)本發(fā)明的另一個實施例,提供了一種可防止未被授權(quán)使用軟件的系統(tǒng),該系統(tǒng)包括處理設(shè)備和至少一個硬件模塊。
因此,該處理設(shè)備包括或者裝載有防止其被濫用的軟件,其中在該處理設(shè)備上執(zhí)行或者運行該軟件并且該軟件包括分別執(zhí)行和運行該軟件所需要的授權(quán)密鑰。另外,該設(shè)備包括接口、用于讀取的部件、用于檢索的部件、用于比較的部件、以及用于許可的部件。用于讀取的部件可讀取至少一個硬件模塊所包含的硬件標識序列,該硬件標識序列包括允許標識至少一個硬件模塊并且尤其是可唯一標識至少一個硬件模塊的硬件標識序列。用于讀取的部件進一步包括接口,該接口通過采用可連接在處理設(shè)備與至少一個硬件模塊之間的數(shù)據(jù)通信的接口來讀取硬件標識序列。用于檢索的部件可獲得存儲在授權(quán)密鑰中的硬件標識序列,和用于比較的部件對所讀取的以及所檢索的硬件標識序列進行比較以便確定該軟件是否被授權(quán)使用。在所讀取的硬件標識序列與所檢索的硬件標識序列相匹配的情況下,用于許可軟件操作的部件允許操作該軟件的功能。如果所讀取的硬件標識序列與所檢索的硬件標識序列相匹配那么允許完全操作軟件,并且如果所讀取的硬件標識序列與所檢索的硬件標識序列不匹配那么僅允許部分操作軟件。
另外,至少一個硬件模塊因此包括所要讀取的硬件標識序列以及相應(yīng)接口,該接口可使分別執(zhí)行和運行該軟件的處理設(shè)備讀取該硬件模塊。
根據(jù)本發(fā)明的另一個實施例,上述接口基于有線或者無線數(shù)據(jù)通信接口,該接口可使至少一個硬件模塊與分別用于執(zhí)行和運行受保護軟件的處理設(shè)備之間進行數(shù)據(jù)通信。
根據(jù)本發(fā)明的另一個實施例,該處理設(shè)備進一步包括用于進行解密的部件,該部件適用于并且可對包含在授權(quán)密鑰中的且已加密的硬件標識序列進行解密。
根據(jù)本發(fā)明的另一個實施例,用于解密的部件執(zhí)行基于公共密匙加密方法的解密處理。其涉及第一公共密鑰和第一私用密鑰的公共密鑰加密方法如上所述并且參考根據(jù)本發(fā)明實施例的方法來其進行詳細的描述。
根據(jù)本發(fā)明的另一個實施例,用于解密的部件執(zhí)行交錯的解密處理,該處理包括另外的已加密的第一公共密鑰。其涉及第一公共密鑰、第一私用密鑰、第二公共密鑰、以及第二私用密鑰的交錯公共密匙加密方法如上所述并且參考本發(fā)明實施例的方法對其進行了詳細的描述。
在整個下文中,在附圖中使用附圖標記,并且在對附圖的整個說明中都使用了相同的附圖標記以描述本發(fā)明實施例的相應(yīng)部分。
圖1是說明用于第一次激活所保護的軟件所要執(zhí)行的方法步驟的流程圖;圖2是說明在第一次激活之后用于重復(fù)激活所保護的軟件所要執(zhí)行的方法步驟的流程圖;圖3給出了其每一個均裝備有藍牙網(wǎng)絡(luò)接口的兩個個人計算機的可能配置以作為硬件配置的例子;圖4給出了其每一個均配備有藍牙網(wǎng)絡(luò)接口的移動終端和移動電話的可能配置以作為硬件配置的例子;圖5給出了其涉及諸如移動電話這樣的控制器單元或者個人計算機的另一個實施例,該控制器單元或者個人計算機都裝備有藍牙網(wǎng)絡(luò)接口以控制諸如DVD播放器、VCR錄像機這樣的家用電子設(shè)備;圖6給出了根據(jù)本發(fā)明一實施例的與終端設(shè)備進行交互操作的移動電話的結(jié)構(gòu);以及圖7給出了根據(jù)本發(fā)明一實施例的其外部附裝有照相機模塊的一移動電話的配置。
具體實施例方式
圖1給出了一流程圖。該流程圖示出了根據(jù)本發(fā)明的方法的一實施例。所給出的實施例應(yīng)用上述的分別結(jié)合簽署的公共密鑰和證書的公共密匙加密方法。
下面將對典型的示例性方案進行描述以教導(dǎo)防止未被授權(quán)使用的軟件保護方法這樣的優(yōu)點。通過因特網(wǎng)來使用制造商或者經(jīng)銷人的網(wǎng)上商店或者通過傳統(tǒng)商店來購買硬件設(shè)備以及相應(yīng)軟件。如果通過因特網(wǎng)聯(lián)系信息來進行購買,那么將諸如郵件地址或者電子郵件地址提交給賣方。將硬件設(shè)備和相應(yīng)軟件放在一起并將其送到買方。例如通過硬件產(chǎn)品的序列號可獲得各個硬件標識號碼。通過數(shù)據(jù)庫系統(tǒng)將唯一的硬件標識號碼和序列號鏈接起來。為了可使用該軟件,還必須將授權(quán)密鑰提交給買方。根據(jù)公共密匙加密方法利用私用密鑰來對硬件標識號碼進行加密。為了確保私用密鑰的特定安全性,應(yīng)由單個密鑰職權(quán)方來對硬件標識號碼的加密以及授權(quán)密鑰中的已加密號碼編碼以避免廣泛的分布私用密鑰。最好是利用另一個提交方式來提交所產(chǎn)生的授權(quán)密鑰。還可由用戶來請求授權(quán)密鑰。用戶將例如由專用軟件工具和聯(lián)系地址所確定的其資產(chǎn)中的硬件設(shè)備的序列號或者唯一的硬件標識號碼提交給密鑰職權(quán)方。密鑰職權(quán)方必須能夠檢查硬件號碼以確保授權(quán)該硬件設(shè)備可與軟件一起使用。此刻用戶擁有硬件設(shè)備、相應(yīng)軟件、以及個人授權(quán)密鑰。
還提供了根據(jù)私用密鑰的公共密鑰。公共密鑰的編碼可以很簡單,但是也提供了不安全的方式。根據(jù)當前的優(yōu)選實施例,提供了公共密鑰以作為證書或者所簽署的公共密鑰。所簽署的公共密鑰包括第三方密鑰職權(quán)方,該第三方密鑰職權(quán)方根據(jù)用于對包含在授權(quán)密鑰中的硬件標識號碼進行加密的私用密鑰來對公共密鑰進行加密。通過電子郵件將所簽署的公共密鑰以及第三方密鑰職權(quán)方的公共密鑰提交給用戶或者用戶通過利用因特網(wǎng)來對其進行存取。
在兩步解密中軟件此刻對授權(quán)密鑰的硬件標識號碼進行解密。在第一解密步驟中利用第三方密鑰職權(quán)方的公共密鑰來分別對所簽署的公共密鑰或者證書進行解密。該解密步驟產(chǎn)生了制造商或者經(jīng)銷人的公共密鑰。在涉及所獲得的公共密鑰及授權(quán)密鑰的下述第二解密步驟產(chǎn)生對包含于授權(quán)密鑰中的硬件號碼的披露。此刻對所包含的硬件號碼和由可存取的硬件設(shè)備的軟件所讀取的硬件標識號碼進行比較。如果號碼匹配,那么允許用戶存取軟件并且對其執(zhí)行。在另一個情況下,例如允許對具有限制性功能的軟件進行存取是可能的。
由于對用于對授權(quán)密鑰數(shù)據(jù)進行解密的公共密鑰的附加加密,因此與利用編碼的公共密鑰來進行解密的情況相比,該軟件的操作以及因此未被授權(quán)使用該軟件則變得更困難。該證書可確保只有制造商或者經(jīng)銷人的公共密鑰是合法的公共密鑰。另外,如果以任何可與提交授權(quán)密鑰相并行的方式來提交證書及第三方密鑰職權(quán)方的相應(yīng)公共密鑰,那么密鑰的交換更容易并且可以交換以前的泄密密鑰對抗新的安全密鑰。
圖2給出了在第一次激活之后所執(zhí)行的用于重復(fù)激活保護軟件的方法步驟。在根據(jù)圖2的實施例中,分別存儲了第三方密鑰職權(quán)方的公共密鑰或者證書、制造商或者經(jīng)銷人的公共密鑰以及授權(quán)密鑰。每次重新啟動該軟件時,利用制造商或者經(jīng)銷人的公共密鑰對所簽署的公共密鑰進行解密并且隨后對所包含的硬件標識號碼進行解密和提取以用于授權(quán)密鑰并且將其與可訪問的硬件設(shè)備進行比較以便保證可使用被授權(quán)的硬件設(shè)備。該進程保證不能交換制造商的公共密鑰以對抗被授權(quán)方的公共密鑰。因此,可分別實現(xiàn)防止軟件程序的濫用或者使軟件保護的短路(short-circuiting)難得多。
通常一旦安裝在計算機系統(tǒng)上的軟件程序不能復(fù)制并且不能重新安裝在另一個上。在這種情況下防止制造商或者經(jīng)銷人的公共密鑰的交換不再是必須的。因此,僅僅一次檢查公共密鑰以便確保來自授權(quán)源的公共密鑰起源是足夠的。只是必須存儲已解密的證書及授權(quán)密鑰,這節(jié)省了要執(zhí)行一個解密處理。完整的軟件保護是優(yōu)選的,因為經(jīng)常使用相同的解密方法及算法并且完全交錯的解密過程的執(zhí)行不能使軟件程序擴大很多。
在根據(jù)本發(fā)明一實施例的軟件保護方法的最后的操作中,比較或者核實所提取的硬件標識序列(由公共密匙加密方法的上述裝置所提取的授權(quán)密鑰)與所讀出的硬件標識密鑰(從與用于執(zhí)行根據(jù)本發(fā)明一實施例的軟件保護方法的軟件處理設(shè)備有關(guān)的硬件模塊中所讀取的),在所提取的硬件標識序列和所讀出的硬件標識序列有效(匹配)的情況下,產(chǎn)生對軟件功能進行完全操作。對軟件功能進行完全操作是指允許用戶訪問和使用該軟件所提供的所有功能。
在根據(jù)第一實施例的所提取的硬件標識序列和所讀出的硬件標識序列是無效(不匹配)的情況下,阻止軟件的處理以使用戶不能訪問或者使用其任何功能。在根據(jù)第二實施例的所提取的硬件標識序列和所讀出的硬件標識序列是無效(不匹配)的情況下,不是全部阻止軟件的處理以便允許用戶可訪問和使用全部軟件功能的有限功能。根據(jù)共享軟件的概念,這種部分阻止或者部分解除軟件功能是公知的。可自由下載、安裝并且使用某些共享軟件,其中使用被限制在功能受限版本。例如用戶所輸入的注冊密鑰將功能受限共享軟件版本轉(zhuǎn)換成功能不受限共享軟件版本。
圖3給出了其每一個均裝備有藍牙網(wǎng)絡(luò)接口303的兩個計算機301的可能配置以作為硬件配置的一個例子。這兩個藍牙網(wǎng)絡(luò)接口303均包括唯一的硬件標識地址。由安裝在兩個計算機301之一上的兩個軟件來讀取兩個標識地址,因為藍牙網(wǎng)絡(luò)接口303可彼此進行訪問并且所有的網(wǎng)絡(luò)接口卡必須包括唯一的硬件標識地址以可在世界范圍內(nèi)對其進行識別。將應(yīng)用根據(jù)本發(fā)明的保護方法的軟件安裝在兩個計算機之一上并且檢查其包括有某些硬件標識地址的至少兩個藍牙網(wǎng)絡(luò)接口303是否是可訪問的。甚至可以對其它的授權(quán)條件進行共同編碼。例如,能夠被編碼成藍牙網(wǎng)絡(luò)接口303之一必須與執(zhí)行該軟件的計算機電連接并且可通過射頻傳輸305來訪問另一個網(wǎng)絡(luò)接口303。顯然,其包括有唯一硬件標識地址的已核實硬件設(shè)備的數(shù)目根據(jù)授權(quán)條件而變化。
圖4給出了其每一個均裝備有藍牙網(wǎng)絡(luò)接口303,405的移動終端401和移動電話403的可能配置以作為硬件配置的另一個例子。該配置與圖3所示的配置相類似。移動電話403用于使移動終端401通過訪問服務(wù)器而鏈接到因特網(wǎng)上。利用藍牙網(wǎng)絡(luò)接口303,405來執(zhí)行移動電話403與移動終端401之間的數(shù)據(jù)通信。在只授權(quán)與某個制造商的移動電話403一起使用的移動終端401上可執(zhí)行特定軟件。插入到移動電話403上的藍牙網(wǎng)絡(luò)接口405的制造商經(jīng)銷必要的通信軟件,只有當某一藍牙網(wǎng)絡(luò)接口405被相連時該通信軟件才是可用的。使用根據(jù)本發(fā)明的方法可防止未被授權(quán)使用在移動終端上所執(zhí)行的軟件。授權(quán)密鑰包括藍牙網(wǎng)絡(luò)接口405的藍牙硬件地址。與移動終端401相連的相應(yīng)藍牙網(wǎng)絡(luò)接口303不涉及該核實過程以使得任何制造商的藍牙網(wǎng)絡(luò)接口都可以被使用。
圖5給出了其包括諸如移動電話403這樣的控制器單元或者個人計算機301的另一個實施例,該控制器單元或者個人計算機都裝備有藍牙網(wǎng)絡(luò)接口303以控制諸如數(shù)字化視頻光盤播放器(DVD)、錄像機(VCR)、數(shù)字錄像機(DVCR)這樣的家用電子設(shè)備。所出現(xiàn)的包括在家用電子設(shè)備中的許多特征僅僅需要可操作的用戶接口。尤其是,其包括有多個特征的視頻處理設(shè)備適合安裝有接口裝置以由諸如個人計算機、移動電話、或者可執(zhí)行控制軟件的類似裝置這樣的另一個終端設(shè)備對其進行遠程控制。藍牙網(wǎng)絡(luò)接口是作為優(yōu)選的接口設(shè)備來執(zhí)行。必須保護在控制設(shè)備上所執(zhí)行的有關(guān)的控制軟件并且只能與某些制造商的家用電子設(shè)備一起使用,但是可在多個制造商的控制設(shè)備上執(zhí)行。因此,本發(fā)明的方法可防止未被授權(quán)使用軟件以控制其執(zhí)行相同控制接口的競爭者的未被授權(quán)的設(shè)備。
圖6給出了根據(jù)本發(fā)明一實施例的與在這里即就是一移動電話的外部硬件模塊交互操作的軟件執(zhí)行設(shè)備的配置以作為軟件操作設(shè)備的一例子,該軟件執(zhí)行設(shè)備在這里即就是其呈現(xiàn)為個人計算機的終端設(shè)備,其中例如移動電話與個人計算機之間的交互操作關(guān)系允許在其之間同步數(shù)據(jù)。根據(jù)其依照該發(fā)明一實施例的上述方法,其包含有一部分或者多個部分指令代碼的某個軟件或者計算機程序可在終端設(shè)備600上進行操作。該某個軟件或者計算機程序的操作并不局限于某個終端設(shè)備600,即某一軟件或者計算機程序是可執(zhí)行的并且可在任何類似種類的終端裝置上運行,應(yīng)將該軟件或者計算機程序理解為例如可在各個其具有某個操作系統(tǒng)的處理設(shè)備上、某一類相關(guān)的中央處理單元等等上執(zhí)行。
另外,通過可執(zhí)行專用軟件或者計算機程序的終端設(shè)備600的通信裝置來使專用軟件或者計算機程序與外部硬件模塊610交互操作,也就是說,數(shù)據(jù)在終端設(shè)備600與外部硬件模塊610之間進行通信,該外部硬件模塊610是專用軟件或者計算機程序進行操作所需要的。然而,根據(jù)上述的發(fā)明構(gòu)思,該軟件的操作或者使用不受限,也就是說,該軟件或者計算機程序的操作不受限制,即例如只有利用特定的外部硬件模塊610來執(zhí)行數(shù)據(jù)的相互通信的情況下可能對所有的軟件特性進行操作,該特定的外部硬件模塊610是由外部硬件模塊610所包括的唯一標識序列來標識的并且可通過專用軟件或者計算機程序來檢索。
為了根據(jù)所提供的發(fā)明構(gòu)思來教導(dǎo)軟件保護思想,在這里由外部硬件模塊所表示的移動電話允許與同步對應(yīng)設(shè)備同步數(shù)據(jù)。在這里由終端設(shè)備600所表示的同步對應(yīng)設(shè)備必須運行與移動電話交互操作的某個同步軟件。將移動電話的制造商所經(jīng)銷的同步軟件僅附加地銷售給制造商所制造的移動電話的所有者。例如,兩個主要的考慮是制造商所關(guān)心的。第一,可有效防止在支持同步的某些移動電話的所有者當中的其它同步軟件的交換。第二,其它的同步軟件只與制造商所制造的移動電話一起使用,即使原理上用競爭者的移動電話可對該軟件進行適當?shù)牟僮?。然而,其它的同步軟件可在許多同步對應(yīng)設(shè)備上執(zhí)行。
通過執(zhí)行上述實施例以及所描述的用于防止未被授權(quán)使用軟件的方法可解決上述這兩個與用戶濫用軟件有關(guān)的考慮。通過檢索用于識別某個移動電話的唯一硬件標識序列可防止在能夠同步的移動電話的所有者之間交換未被授權(quán)的軟件這樣的上述第一個問題。在與硬件標識序列有關(guān)的設(shè)備上測試同步的軟件并且只有在硬件標識序列有效的情況下允許使用該同步的軟件??紤]到上述的例子,適合的唯一硬件標識序列可以是IMEI(國際移動設(shè)備標識)、1MSI(國際移動用戶標識)等等。類似地可解決結(jié)合競爭者所制造的移動電話未授權(quán)使用軟件這樣的上述第二個問題。為此,一個制造商的移動電話包括可唯一標識制造商的唯一硬件標識序列。在與硬件標識序列有關(guān)的制造商上測試同步的軟件并且只有在硬件標識序列有效的情況下允許使用同步的軟件。例如可從IMEI(國際移動設(shè)備標識)中獲得與硬件標識序列有關(guān)的制造商。
根據(jù)參考圖1和圖2所給出的對實施例的描述來執(zhí)行對一個或多個有效硬件標識序列的說明,也就是說如果硬件標識序列是有關(guān)的設(shè)備或者有關(guān)的制造商,那么其是獨立的。
終端設(shè)備600和外部硬件模塊610具有公共的通信連接,采用該通信連接來檢索標識序列以及用于在執(zhí)行軟件或者計算機程序期間進行數(shù)據(jù)通信。例如,圖6給出了其通過無線電頻率通信鏈路602而基于終端設(shè)備600的藍牙模塊601以及外部硬件模塊610的相對應(yīng)的藍牙模塊611進行互連的藍牙。另外,通信是基于其它有線或者無線通信連接,諸如通用串行總線(USB)連接、串行RS-232連接、基于串行或者并行連接的專有電纜、紅外線(IRDA)連接、無線本地回路(WLL)連接、無線局域網(wǎng)(WLAN)連接、專有低功率無線電頻率通信連接,其中這些所給定的連接僅構(gòu)成了對可能的通用通信連接的選擇。終端設(shè)備600和外部硬件模塊610還可以通過數(shù)據(jù)通信總線而互連,其中可采用多個標準化且專用的數(shù)據(jù)通信總線以便允許在用以防止未被授權(quán)使用的軟件或者計算機程序與外部硬件模塊之間進行數(shù)據(jù)通信。
盡管已根據(jù)外部硬件模塊610而給出了多個例子,但是該硬件模塊另外也可在用以執(zhí)行軟件的處理設(shè)備中被執(zhí)行,其中該硬件模塊表示不需操作處理設(shè)備的對處理設(shè)備的輔助硬件擴充部分,但是為處理設(shè)備提供了附加功能。
圖7給出了依照本發(fā)明一實施例的具有外部附連照相機模塊的移動電話的配置。作為所示的照相機模塊615的所述移動電話610表示其可利用專用軟件和所附連的硬件模塊進行操作的處理設(shè)備的步置,根據(jù)在本發(fā)明基礎(chǔ)上的發(fā)明構(gòu)思,該專用軟件與所附連的硬件模塊進行交互操作。在這里,移動電話610包括用于對照相機特征進行處理的成像軟件,即用于對照相機模塊615所拍攝的圖片進行記錄及操作。照相機模塊615是移動電話的輔助設(shè)備,但是缺省時在每個移動電話610中執(zhí)行相應(yīng)的成像軟件。只有在照相機模塊615對移動電話的用戶接口所安心使用的成像軟件進行訪問的情況下才允許用戶使用成像軟件。與上述任一個實施例相類似,通過檢索硬件標識序列來獲得對與用戶接口的項有關(guān)的照相機模塊的可見度進行控制。根據(jù)本發(fā)明的實施例,移動電話610和照相機模塊通過外部數(shù)據(jù)通信總線620來互連,該通信總線620可基于牢固的串行總線、牢固的并聯(lián)總線、或者例如類似于多媒體卡(MMC)總線這樣的總線。
相應(yīng)的,表示軟件執(zhí)行設(shè)備的移動電話包括至少一個用于從包含有硬件標識序列的硬件模塊中讀取該硬件標識序列的部件700、用于從存儲在適當存儲器711中的授權(quán)密鑰中檢索至少一個硬件標識序列的部件710、用于對所檢索的硬件標識序列和至少一個所存儲的硬件標識序列進行比較的部件720、以及用于管理軟件執(zhí)行許可的部件730。用于從硬件模塊中檢索硬件標識序列的部件700需要并包括一個或者多個通信部件705以允許與輔助的硬件模塊進行通信,例如通信部件705是基于上述任何一種通信連接標準或者專用通信解決方案。用于檢索至少一個所存儲的硬件標識序列的部件710需要對授權(quán)密鑰存儲器711進行訪問,該授權(quán)密鑰存儲器711例如是用于存儲的其提供了專用存儲區(qū)的存儲器、大容量存儲器介質(zhì)等等。在加密的情況下,也可執(zhí)行與用于解密的部件712相對應(yīng)的已存儲的硬件標識序列,訪問所需的其它有關(guān)解密的信息,諸如公共密鑰。
諸如照相機模塊這樣的硬件模塊進一步還包括至少一個用于存儲硬件標識序列的部件755以及當軟件執(zhí)行設(shè)備請求時用于將硬件標識序列傳送到軟件執(zhí)行設(shè)備上的部件750。用于傳送的部件750與上述的軟件執(zhí)行設(shè)備的數(shù)據(jù)通信接口相對應(yīng)。硬件標識序列例如存儲在諸如只讀存儲器(ROM)或者閃速存儲器這樣的存儲器中、存儲在諸如用戶標識模塊這樣的智能卡中、或者存儲在其他適合的硬件部件中,該硬件部件可存儲標識序列并且可通過在用于傳送的部件750上由軟件執(zhí)行設(shè)備通過由讀取部件700所啟動的通信接口705所發(fā)出的請求來讀取標識序列。
通過上述部件的方式,可在移動電話610中即在包含在移動電話610中的成像軟件中執(zhí)行根據(jù)本發(fā)明實施例的用于防止未被授權(quán)使用軟件的方法。
應(yīng)該強調(diào)的是,與已知方法相比,根據(jù)本發(fā)明的發(fā)明構(gòu)思可防止未被授權(quán)使用軟件。公知的方法可解決限制獨占性的執(zhí)行軟件的某個專用處理設(shè)備使用該軟件的期望。這里所提出的發(fā)明構(gòu)思解決了不對某個專用處理設(shè)備使用某個軟件進行限制,而是限制所存在的某個輔助硬件模塊使用該軟件的期望,該輔助硬件模塊也可執(zhí)行該軟件并且可擴展該處理設(shè)備的功能。在其上執(zhí)行軟件本身的處理設(shè)備不是任意關(guān)聯(lián)以致只是與提供對其測試的標識序列的硬件模塊結(jié)合可在多個處理設(shè)備上執(zhí)行和運行軟件。
為了例示并說明,前面已對本發(fā)明的優(yōu)選實施例進行了描述。這不是意圖詳盡或者限制本發(fā)明為所公開的具體形式。根據(jù)上述教導(dǎo)可做出許多修改和變化。本發(fā)明的范圍并不局限于該詳細說明,而是由附屬的權(quán)利要求書來限定。
防止使用未被授權(quán)的軟件的方法使用了可由軟件存取的硬件設(shè)備的唯一硬件標識序列。將該標識序列與其包括有硬件標識序列的特定授權(quán)密鑰中的編碼的序列進行比較。為了防止非法操作所包含的硬件標識序列,根據(jù)所期望的保護程度可利用不同的加密方法來對該序列進行加密。因此,通過采用本發(fā)明的方法合理并有效地保護與某些硬件設(shè)備綁定在一起使用的軟件。
權(quán)利要求
1.一種用于防止未被授權(quán)使用軟件的方法,該軟件可對包括有唯一的硬件標識序列的至少一個特定硬件模塊進行訪問,其中所述軟件包括要被執(zhí)行的授權(quán)密鑰,其特征在于讀取所述至少一個特定硬件模塊的所述硬件標識序列,檢索其包含在所述授權(quán)密鑰中的預(yù)定的硬件標識序列,對所述所讀出的硬件標識序列與包含在授權(quán)密鑰中的所述硬件標識序列進行比較,并且-如果兩個序列匹配,則允許執(zhí)行所述軟件。
2.根據(jù)權(quán)利要求1的方法,利用與所述至少一個硬件模塊進行接口通信的接口來操作所述讀出步驟。
3.根據(jù)權(quán)利要求2的方法,利用其基于有線或者無線數(shù)據(jù)通信接口的接口來操作所述讀出步驟,該有線或者無線數(shù)據(jù)通信接口可使所述至少一個硬件模塊與利用所述軟件來操作的處理設(shè)備互連。
4.根據(jù)前面任一個權(quán)利要求的方法,其特征在于對其包含在所述授權(quán)密鑰中的所述硬件標識序列進行加密。
5.根據(jù)權(quán)利要求4的方法,其特征在于通過采用公共密匙加密方法來對包含在所述授權(quán)密鑰中的所述硬件標識序列進行加密,包括第一私用密鑰,該第一私用密鑰只是為授權(quán)密鑰分配職權(quán)方所知,以及第一公共密鑰,該第一公共密鑰與第一私用密鑰相對應(yīng),其中所述第一私用密鑰用于對所述硬件標識序列進行加密并且所述第一公共密鑰用于對所述硬件標識序列進行解密并且其中所述第一公共密鑰是僅有的允許對被所述第一私用密鑰加密的數(shù)據(jù)進行解密的密鑰。
6.根據(jù)權(quán)利要求5的方法,其中另外利用公共密匙加密方法來對所述第一公共密鑰進行加密,包括第二私用密鑰,該第二私用密鑰只是為信賴的第三職權(quán)方所知,以及第二公共密鑰,該第二公共密鑰與所述第二私用密鑰相對應(yīng),其中所述第二私用密鑰用于對所述第一公共密鑰進行加密并且所述第二公共密鑰用于對所述已加密的第一公共密鑰進行解密,并且其中所述第二公共密鑰是僅有的允許對被第二私用密鑰加密的數(shù)據(jù)進行解密的密鑰。
7.根據(jù)權(quán)利要求5或6的方法,其中可自由訪問第一公共密鑰和第二公共密鑰中的至少一個。
8.用于防止未被授權(quán)使用軟件的軟件工具,其包括用于執(zhí)行權(quán)利要求1至7的任一個權(quán)利要求的操作的程序代碼部分,當所述程序是在計算機程序中實現(xiàn)以可在處理設(shè)備、計算機、用戶終端、或者網(wǎng)絡(luò)設(shè)備上執(zhí)行時。
9.用于防止未被授權(quán)使用軟件的計算機程序,其包括用于執(zhí)行權(quán)利要求1至7任一個權(quán)利要求的操作的程序代碼部分,當所述程序是在在處理設(shè)備、計算機、用戶終端、或者網(wǎng)絡(luò)設(shè)備上運行時。
10.用于防止未被授權(quán)使用軟件的計算機程序產(chǎn)品,其中所述計算機程序產(chǎn)品包括存儲在計算機可讀介質(zhì)上的程序代碼部分以用于執(zhí)行權(quán)利要求1至7中任一個權(quán)利要求的方法,當所述程序產(chǎn)品在處理設(shè)備、計算機、用戶終端、或者網(wǎng)絡(luò)設(shè)備上運行時。
11.一種用于防止未被授權(quán)使用軟件的處理設(shè)備,其中利用所述處理設(shè)備來操作所述軟件并且所述軟件包括要被執(zhí)行的授權(quán)密鑰,其特征在于接口,該接口使所述處理設(shè)備與包括有硬件標識序列的至少一個硬件模塊互連,部件,該部件讀出所述至少一個硬件模塊的所述硬件標識序列,部件,該部件檢索其包含在所述授權(quán)密鑰中的預(yù)定硬件標識序列,部件,該部件對所述所讀出的硬件標識序列與包含在授權(quán)密鑰中的所述硬件標識序列進行比較,以及部件,如果兩個序列匹配則該部件允許執(zhí)行所述軟件。
12.根據(jù)權(quán)利要求11的設(shè)備,其中所述接口是基于可使所述至少一個硬件模塊與所述處理設(shè)備互連的有線或者無線數(shù)據(jù)通信接口。
13.根據(jù)權(quán)利要求11或者12的設(shè)備,進一步包括部件,該部件對包含在所述授權(quán)密鑰中的已被加密的所述預(yù)定硬件標識序列進行解密。
14.根據(jù)權(quán)利要求13的設(shè)備,用于解密的所述部件還可采用公共密匙加密方法,包括第一私用密鑰,該第一私用密鑰只是為授權(quán)密鑰分配職權(quán)方所知,以及第一公共密鑰,該第一公共密鑰與第一私用密鑰相對應(yīng),其中所述第一私用密鑰用于對所述硬件標識序列進行加密并且所述第一公共密鑰用于對所述硬件標識序列進行解密并且其中所述第一公共密鑰是僅有的允許對被所述第一私用密鑰加密的數(shù)據(jù)進行解密的密鑰。
15.根據(jù)權(quán)利要求14的設(shè)備,用于解密的所述部件還可采用公共密匙加密方法,包括第二私用密鑰,該第二私用密鑰只是為可信賴的第三職權(quán)方所知,以及第二公共密鑰,該第二公共密鑰與所述第二私用密鑰相對應(yīng),其中所述第二私用密鑰用于對所述第一公共密鑰進行加密并且所述第二公共密鑰用于對所述已加密的第一公共密鑰進行解密,并且其中所述第二公共密鑰是僅有的允許對被第二私用密鑰加密的數(shù)據(jù)進行解密的密鑰。
16.一種可防止未被授權(quán)使用軟件的系統(tǒng),包括處理設(shè)備,至少一個硬件模塊其特征在于所述處理設(shè)備裝載有所述軟件,并且利用所述處理設(shè)備來操作所述軟件并且所述軟件包括要被執(zhí)行的授權(quán)密鑰,提供了接口以使所述處理設(shè)備與和所述處理設(shè)備相關(guān)的至少一個硬件模塊互連,該硬件模塊包括硬件標識序列,部件,該部件讀出所述至少一個硬件模塊的所述硬件標識序列,部件,該部件檢索其包含在所述授權(quán)密鑰中的預(yù)定硬件標識序列,部件,該部件對所述所讀出的硬件標識序列與包含在授權(quán)密鑰中的所述硬件標識序列進行比較,以及部件,如果兩個序列匹配則該部件允許執(zhí)行所述軟件,其中所述至少一個硬件模塊包括接口,該接口使所述處理設(shè)備與至少一個硬件模塊互連。
17.根據(jù)權(quán)利要求16的系統(tǒng),其中所述處理設(shè)備和所述至少一個硬件模塊的所述接口都是基于可使其互連的有線或者無線數(shù)據(jù)通信接口。
18.根據(jù)權(quán)利要求16或者17的系統(tǒng),進一步包括部件,用于對包含在所述授權(quán)密鑰中的所述預(yù)定硬件標識序列進行解密。
19.根據(jù)權(quán)利要求18的系統(tǒng),其中用于解密的所述部件還可采用公共密匙加密方法,包括第一私用密鑰,該第一私用密鑰只是為授權(quán)密鑰分配職權(quán)方所知,以及第一公共密鑰,該第一公共密鑰與第一私用密鑰相對應(yīng),其中所述第一私用密鑰用于對所述硬件標識序列進行加密并且所述第一公共密鑰用于對所述硬件標識序列進行解密并且其中所述第一公共密鑰是僅有的允許對被所述第一私用密鑰加密的數(shù)據(jù)進行解密的密鑰。
20.根據(jù)權(quán)利要求19的系統(tǒng),用于解密的所述部件還可采用公共密匙加密方法,包括第二私用密鑰,該第二私用密鑰只是為可信賴的第三職權(quán)方所知,以及第二公共密鑰,該第二公共密鑰與所述第二私用密鑰相對應(yīng),其中所述第二私用密鑰用于對所述第一公共密鑰進行加密并且所述第二公共密鑰用于對所述已加密的第一公共密鑰進行解密,并且其中所述第二公共密鑰是僅有的允許對被第二私用密鑰加密的數(shù)據(jù)進行解密的密鑰。
全文摘要
本發(fā)明描述了一種防止未被授權(quán)使用與至少一個特定硬件設(shè)備綁定在一起的軟件。該硬件設(shè)備包括諸如唯一的硬件號碼/地址、序列號、或者其他的嵌入的硬件特征序列這樣的唯一的硬件識別序列。將特定的授權(quán)密鑰傳送到該軟件以可激活該軟件。授權(quán)密鑰包含其他事物中的已加密的硬件識別序列,將該已加密的硬件識別序列與可存取的硬件設(shè)備的讀取的序列進行比較。如果序列匹配則許可使用軟件特征。
文檔編號G06F1/00GK1582422SQ02822040
公開日2005年2月16日 申請日期2002年8月29日 優(yōu)先權(quán)日2001年9月4日
發(fā)明者Y·霍洛佩恩 申請人:諾基亞有限公司