專利名稱:使用抗干預處理器分發程序的方法和系統的制作方法
技術領域:
本發明涉及一種通過公共網絡例如因特網將加密的可執行程序分發至具有內裝微處理器例如PC的硬件設備的方法和系統。
近年以來,微處理器的性能大有改進,因此微處理器能夠在傳統功能例如計算和圖形處理之外還能重現和編輯視頻圖像和音頻聲音。通過在為終端用戶(今后將稱為PC)設計的系統中實施這類微處理器,用戶能夠在監視器上欣賞各種視頻圖像和音頻聲音。還有,通過將用于重現視頻圖像和音頻聲音的功能與PC的計算能力結合起來,可以改進游戲及類似內容的可應用性。這類微處理器不是為任何專用硬件設計的,它可以實施于不同硬件中,因此其優點是已經擁有PC的用戶只需簡單地改變微處理器以使之用于執行程序,就能夠花費很少而欣賞視頻圖像和音頻聲音的重現和編輯功能。
當在PC上處理視頻圖像和音頻聲音時,產生一個保護原始圖像和音樂的版權的問題。在MD或數字視頻重放設備中,可以在這些設備中預先實施一個用于防止非法復制的機理來防止無限制的復制。通過拆卸和修改這些設備而試圖進行非法復制的情況比較少,以及即使做出這些設備,也有全球性的努力來按照法律禁止制造和銷售那些為非法復制而修改的設備。因此,由于使用硬件進行非法復制而造成的損害并不很嚴重。
然而,更多的是在PC上使用軟件而不是硬件來實際地處理圖像數據和音樂數據,而終端用戶可以自由地修改PC上的軟件。也即,如果用戶具有一定知識水平,則很可能他會分析程序并且將可執行軟件重寫來進行非法復制。此外,不像硬件那樣,如此產生的用于非法復制的軟件能夠通過媒體例如網絡非常迅速地散布開來。
為解決這些問題,有過一些建議,使微處理器具有防止分析和修改程序的功能(R.Hartman,美國專利號5,224,166;T.Gilmont等,“用于支持軟件私有權的硬件安全性”,Electronic Letters,Vol.35,No.24,pp.2096-2098,November1999;M.Hashimoto等,日本專利申請號2000-135010)。具體地,在由日本專利申請號2000-135010建議的微處理器中,在多任務環境下將組成程序的三類元素即指令、執行狀態和數據全部加密,從而防止分析和修改程序。
在這些微處理器中,在處理器內部提供一個保密密鑰和使用該保密密鑰的解密功能,以使這些加密程序可供外部處理器讀取,而可使用對應于該保密密鑰的公共密鑰來或者直接地或者間接地將這些程序解密和執行。與抗干預軟件技術比較,使用這些微處理器可以使這些程序的分析和修改在原理上要難得多。以下將具有此功能的微處理器稱為抗干預微處理器。
現在,在使用這些處理器的情況下,必須由程序供應商使用處理器的公共密鑰來或者直接地或者間接地將程序加密后提供出來。然而,尚無已知的可用于安全地實現這類程序分發的方案。
因此本發明的一個目的是提供一種程序分發設備,能夠用于通過網絡安全地將程序分發至客戶側設備。
本發明的另外一個目的是提供一種客戶側設備,能夠用于通過網絡安全地接收分發的程序。
本發明的又一個目的是提供一種程序分發系統,能夠用于通過網絡安全地分發程序。
本發明還有一個目的是提供一種程序分發方法,用于通過公共網絡安全地分發程序。
根據本發明的一個方面,提供了一種程序分發設備,用于通過網絡將可執行程序分發至具有抗干預處理器的客戶設備,該抗干預處理器事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一的保密密鑰的公共密鑰,該程序分發設備包括一個第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接該程序分發設備與抗干預處理器的第二通信路徑;一個加密處理單元,配置為將準備分發至客戶設備的可執行程序加密從而產生一個加密程序;以及一個傳輸單元,配置為通過第二通信路徑將加密程序傳輸至抗干預處理器。
根據本發明的另一個方面,提供了一種客戶設備,用于通過網絡接收由程序分發設備所分發程序,該客戶設備包括一個抗干預處理器,事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一的保密密鑰的公共密鑰;一個第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接該程序分發設備與抗干預處理器的第二通信路徑;以及一個程序接收單元,配置為通過第二通信路徑接收來自程序分發設備的加密程序。
根據本發明的另一個方面,提供了一種程序分發系統,包括一個連至網絡的程序分發設備,用于通過網絡分發可執行程序;以及一個連至網絡的客戶設備,用于通過網絡接收由程序分發設備分發的可執行程序;其中客戶設備具有一個抗干預處理器,事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一的保密密鑰的公共密鑰;一個客戶側第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個客戶側第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接該程序分發設備與抗干預處理器的第二通信路徑;以及一個程序接收單元,配置為通過第二通信路徑接收來自程序分發設備的加密程序;以及該程序分發設備具有一個服務器側第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個服務器側第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接該程序分發設備與抗干預處理器的第二通信路徑;一個加密處理單元,配置為將準備分發至客戶設備的可執行程序加密從而產生一個加密程序;以及一個傳輸單元,配置為通過第二通信路徑將加密程序傳輸至抗干預處理器。
根據本發明的另一個方面,提供了一種用于通過網絡將可執行程序自程序分發設備分發至具有抗干預處理器的客戶設備的方法,該抗干預處理器事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一的保密密鑰的公共密鑰,該方法包括以下步驟;在程序分發設備與客戶設備之間設置一條第一通信路徑;在第一通信路徑之上設置一條用于直接連接程序分發設備與抗干預處理器的第二通信路徑;在程序分發設備處將準備分發至客戶設備的可執行程序加密從而產生一個加密程序;以及通過第二通信路徑將加密程序自程序分發設備傳輸至抗干預處理器。
結合附圖進行的以下描述將使本發明的其他特征和優點更為明顯。
圖1是用于顯示根據一個本發明實施例的程序分發系統的配置的框圖。
圖2是圖1的程序分發設備中程序分發操作順序的順序圖。
圖3是圖2的操作順序中客戶設備的處理過程的流程圖。
圖4是圖2的操作順序中程序分發設備(服務器)的處理過程的流程圖。
圖5是圖2的操作順序中微處理器的處理過程的流程圖。
首先,簡要地描述本發明的主要特征。
本發明提供了一種程序分發設備,用于通過網絡將可執行程序分發至具有內裝抗干預微處理器的客戶設備,其中該微處理器事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一的保密密鑰的公共密鑰。此程序分發設備具有一個加密處理單元,它使用自客戶設備的微處理器送來的獨一公共密鑰將程序加密,或者使用任意加保密密密鑰將程序加密并且使用自客戶設備的微處理器送來的獨一公共密鑰將該加保密密密鑰加密。加密的密碼密鑰然后與加密的程序一起分發至客戶設備。
在本發明的程序分發方法中,通過網絡設置一條自客戶設備至程序分發設備的第一通信路徑。然后在第一通信路徑之上設置一條用于直接將微處理器連至該程序分發設備的第二通信路徑。通過第二通信路徑將獨一的公共密鑰自微處理器送至程序分發設備。在程序分發設備處接收通過網絡送來的該獨一的公共密鑰,以及該程序分發設備將程序加密。然后通過第二通信路徑將加密的程序直接送至客戶設備的微處理器。
以此方式分發的程序或者使用客戶設備的微處理器的獨一公共密鑰進行加密,或者使用普通密鑰進行加密,而此普通密鑰又由微處理器的獨一公共密鑰加密。該程序直接傳輸至微處理器而不被任何計算機截留,并且只能由具有對應于此公共密鑰的獨一的保密密鑰的微處理器來解密。以此方式,有可能有效地防止第三方非法解密。
現在參照圖1至圖5來詳細地描述根據本發明的程序分發設備的一個實施例。
圖1顯示根據此實施例的程序分發系統,它基本上設計為將程序分發至一個具有內裝抗干預微處理器的計算機系統。因此,準備分發的可執行程序或者使用對于微處理器是獨一的保密密鑰直接加密,或者使用任意普通密鑰加密并且使用對于微處理器是獨一的保密密鑰將該普通密鑰本身加密及將其依附于可執行程序上。在此情況下,不可能使用相同程序記錄媒體的復制副本例如大批產生的CD-ROM來分發程序,以使程序通過網絡來分發。
圖1的程序分發系統90包括一個網絡95,一個連至網絡95以便通過網絡95分發可執行程序的程序分發設備93,一個連至網絡95以便通過網絡95接收自程序分發設備93分發來的可執行程序的客戶設備91。
程序分發設備93具有一個用于在程序分發設備93與客戶設備91之間設置第一通信路徑的第一通信路徑設置單元932,一個用于通過第一通信路徑對使用客戶設備91的用戶進行用戶證實的用戶證實單元933,一個用于設置直接連至配備于客戶設備91內的微處理器的第二通信路徑的第二通信路徑設置單元934,一個用于通過第二通信路徑對客戶設備91的微處理器901進行證實的處理器證實單元935,一個使用對應于客戶設備91的微處理器的密碼密鑰將可執行程序加密從而產生一個加密程序的程序加密處理單元936,一個用于通過第二通信路徑將加密程序分發至客戶設備91的網絡接口931,以及一個付費處理單元937。
客戶設備91具有一個其中事先配備有一個獨一的保密密鑰和公共密鑰的微處理器901,一個網絡接口903,一個用于在客戶設備91與程序分發設備93之間設置第一通信路徑的第一通信路徑設置單元905,一個用于通過第一通信路徑傳輸正在使用客戶設備91的用戶的用戶ID的用戶證實單元910,一個用于設置直接將微處理器901連至程序分發設備93的第二通信路徑的第二通信路徑設置單元906,一個用于傳輸證書至程序分發設備93的證書單元,其中該證書確認微處理器901的確具有只對此微處理器901是獨一的保密密鑰和公共密鑰,一個用于通過第二通信路徑接收加密的可執行程序的程序接收單元908,一個程序傳輸單元909,以及一個付費處理證實單元912。
可以在同一傳輸線的不同信道上,也可在不同傳輸線上設置第一和第二通信路徑。在對微處理器901進行證實之后,通過直接連至微處理器901的第二通信路徑將加密程序傳輸至微處理器901,以便保證程序分發的安全性以及防止用戶的非法操作。
程序分發設備(服務器)93具有在世界上是獨一的一對公共密鑰K′p和保密密鑰K′s以及作為準備分發的程序的原始形式的非加密程序文件。另一方面,客戶設備91所具有的微處理器901中配備有一個專用于通過網絡將程序下載的專用程序。下載用的程序既可在購買微處理器901時也可在購買包含微處理器901的系統時提供,也可使用任何方法例如郵寄來單獨地分發至每個用戶。
在下載程序內埋嵌著一些信息,例如對于微處理器901是獨一的公共密鑰Kp和證書。更具體地,這個用于確認微處理器901的公共密鑰Kp是對應于實際存在的微處理器的證書是存于下載程序內的。提供此證書的目的在于防止用戶通過使用不對應于實際微處理器901的公共密鑰和保密密鑰的已知集合而獲得加密程序及使用已知保密密鑰將加密程序解密,進而非法地獲得普通文本程序內容。
該證書包含公共密鑰Kp和一個值SKcert[Kp],它是一個使用公共密鑰Kp上的證書權威的密鑰Kcert來預先計算的電子簽字。Kcert的值由證書權威秘密地進行管理并且不包含于下載程序內。通過使用供證實用的公共密鑰Kval來證實包含于證書中的公共密鑰Kp和簽字SKcert[Kp],有可能證明Kp是由證書權威所賦予的無法使用已知密鑰集合的恰當的公共密鑰。
此證書可以事先在微處理器內提供。然而,在下載程序中存儲帶有有效期限的證書和銷售微處理器時一起銷售下載程序,可以進一步改進安全性。在此情況下,存有經常更新的證書的下載程序可以分送至微處理器的買主。
準備用于下載過程的保密密鑰Ks是在下載程序的數據區內加密和存儲的。將加密的保密密鑰Ks解密時所需密鑰作為常量分布式地埋嵌于下載程序代碼內。準備由下載程序使用于證實過程中的保密密鑰Ks與對微處理器901是獨一的保密密鑰Ks一樣地具有相同的值,但它不是通過從微處理器901中讀取保密密鑰Ks而獲得的,因為對微處理器901是獨一的的保密密鑰Ks不能由程序讀出。
一般而言,證書權威CA應用于證明一定的主人具有具體公共密鑰。在使用本系統的證書權威的情況下,或者在購買微處理器901時,或者稍后通過在線處理,將微處理器901和用戶(購買者)的公共密鑰的組合向證書權威登記。在此情況下,可以省略由程序分發設備對證書的證實。
然而,證書權威的使用對用戶帶來不方便,即用戶必須將購買的微處理器901向證書權威登記。由于這個原因,在此實施例中將加密的證書存于下載程序中,以便單獨由程序分發設備93和客戶設備91實行證實操作。
注意到,在此實施例中假設程序分發設備83是值得信賴的,即程序分發設備93不會進行非法活動例如盜竊證書,并且事先由證書權威或類似機構確認以下事實程序分發設備93具有一對在世界中是獨一的密鑰K′p和K′s。
圖2顯示圖1的程序分發設備90中程序分發處理的操作順序。下面將程序分發設備93也稱為服務器93。
在圖2的操作順序中,由相應的設備的第一通信路徑設置單元在客戶設備91與服務器93之間設置一條安全的第一通信路徑(步驟1001)。更具體地,通過網絡95自客戶設備91分發一個開始通信請求至服務器93,并且實行密鑰分享以便保持通信路徑處于秘密狀態中。這可由已知的密鑰分享協議或DH(Diffie Hellman)方案來實現。隨后通過以此方式設置的同時對于竊聽而言是安全的這條通信路徑實行客戶設備91與服務器93之間的通信。
在設置第一通信路徑之后,客戶設備91請求將文件(程序)下載至服務器93(步驟1002),以及服務器93在用戶級別上執行的與客戶設備91證實和付費處理操作。在下載過程中為對用戶保持處理的秘密,至少一部分將于下面描述的客戶設備91處的下載順序將要使用加密代碼來執行。此處將要使用加密代碼來執行的部分將被描述為微處理器901的操作。
然后在第一通信路徑之上設置一條用于直接連接客戶設備91的微處理器901與服務器93的安全的第二通信路徑(步驟1003)。
在本發明中,為防止用戶非法地獲得在下載過程中一部分處理過的數據,在處理期間準備放置于存儲器內的不僅代碼而且數據所具有的形式都是用戶在下載程序內難以讀取和理解的。此外,在步驟1003中執行服務器93與微處理器901之間的使用保密密鑰的密碼通信,以便改進防止用戶非法操作的保護措施。
采取此措施是因為如果不采用保密密鑰共享,則有可能發生以下情況用戶通過非法操作在服務器93和微處理器901之間的通信消息內使用一個偽裝公共密鑰來替代微處理器901的公共密鑰Kp從而獲得加密程序,以及通過使用對應于偽裝公共密鑰的已知的保密密鑰來將加密程序解密從而獲得普通文本程序。通過使用保密密鑰將服務器93與微處理器901之間的通信加用密碼,有可能防止以上所述的用戶非法操作。此處在微處理器901與服務器93之間的通信意味著受保護的通信,它使用一個由微處理器901中的抗干預程序與服務器93所共享的密碼密鑰來將通信進行加密。
在設置安全的第二通信路徑之后,微處理器901和服務器93執行相互證實操作。也即,微處理器901生成一個隨機數Rc,作為對服務器93的挑戰,并且通過第二通信路徑將此隨機數Rc與對于微處理器901是獨一的公共密鑰Kp一起傳輸至服務器93(步驟1004)。在收到該挑戰后,服務器93將一個使用服務器93的保密密鑰K′s將隨機數Rc加密而獲得的簽字SK's[Rc]與服務器93的挑戰Rs和服務器93的公共密鑰K′p一起傳輸至微處理器901(步驟1005)。注意到在圖2中SK′s[Rc]標為S[Rc](K′s)以及類似標記用于其他類似表示。
微處理器901檢查自服務器93傳輸來的簽字SK′s[Rc]是否與使用服務器93的公共密鑰K′p將Rc進行散列函數計算所得VK′p[Rc]重合。如果它們不重合,則服務器93的證實操作失敗,因而將隨后的處理過程中斷。如果證實操作成功,則根據服務器93的挑戰Rs計算一個響應SK′s[Rs]并且將它與證書E[Cert]一起傳輸至服務器93(步驟1006)。
服務器93將響應SK′s[Rs]與VK′p[Rs]進行比較,并且如果它們不重合則將處理過程中斷。如果它們重合,則根據微處理器901的公共密鑰Kp和證書權威的公共密鑰Kval計算VKval[Kp],并且將它與對應于自證書Cert獲得的公共密鑰的VKcert[Kp]進行比較。如果它們不重合,則證實操作失敗,從而將處理過程中斷。如果它們重合,則通過將EK′p[Cert]解密而獲得證書Cert并且對它進行證實。如果證實操作失敗,則將處理過程中斷。
如果證實操作成功從而由證書確認微處理器901具有公共密鑰Kp這一事實,則服務器93使用微處理器901的公共密鑰Kp自可執行程序中產生加密程序EK′p[Prog]。在此處使用微處理器901的公共密鑰Kp將程序的代碼部分加密。在此加密操作中,由跳轉表的具有普通文本形式的“.IAT(輸入地址表)”部分將程序本身的“.text”部分加密。
服務器93然后通過第二通信路徑將加密程序EK′p[Prog]與使用服務器93的保密密鑰K′s所獲得的簽字SK′s[EK′p[Prog]]傳輸至微處理器901(步驟1007)。這些加密的程序和簽字通過直接在微處理器901與服務器93之間建立起來的第二通信路徑進行傳輸,從而使客戶設備91無法竊聽它們。
當完成程序的接收后,微處理器901向客戶設備91通知下載完畢(步驟1008)。客戶設備91然后向服務器93請求實行付費處理,以及服務器93向客戶設備91傳輸一個收據Rcpt,一個使用服務器93的保密密鑰K′s所獲得收據的簽字SK′p[Rcpt]和一個程序的簽字SK′s[EK′p[Prog]](步驟1009)。客戶設備91保持收到的收據及其簽字,同時將自服務器93收到的程序簽字SK′s[EK′p[Prog]]分發至微處理器901(步驟1010)。
微處理器901使用服務器93的公共密鑰K'p來證實自客戶設備91收到的程序簽字SK′s[EK′p[Prog]],以及如果它是恰當的則微處理器901將加密的可執行程序EK′p[Prog]送至客戶設備91(步驟1011)。在收到加密的可執行程序EK′p[Prog]后,客戶設備91執行相對于服務器93的通信信道的結束處理過程(步驟1012)。
此后,微處理器901按照規定方式執行加密程序。
圖3顯示圖2的操作順序中客戶設備91的處理過程。此處理過程已經基本上參照圖2解釋過,它如下進行首先,在客戶設備91與服務器93之間設置第一通信路徑(步驟1101)。然后提出相對于服務器93的程序下載請求,并且執行以上所述的證實處理過程(步驟1103)。然后實行微處理器901與服務器93之間的證實操作及將該程序傳輸至微處理器901(步驟1105)。然后自微處理器901接收一個接收完成通知(步驟1107),使用服務器93實行付費處理過程(步驟1109),以及自服務器93接收收據和簽字(步驟1111)。然后將簽字送至微處理器901(步驟1113),自微處理器901接收加密程序(步驟1115),以及結束客戶設備91與服務器93之間的通信信道(步驟1117)。
圖4顯示圖2的操作順序中服務器93的處理過程,它如下進行。
首先,響應于來自客戶設備91的請求而設置第一通信路徑(步驟1201)。然后接收來自客戶設備91的程序下載請求,以及為付費或類似目的而實行客戶證實(步驟1203)。然后設置服務器93與微處理器901之間的第二通信路徑(步驟1205),以及自微處理器901接收挑戰Rc和公共密鑰Kp(步驟1207)。然后生成服務器側挑戰Rs和響應SK′s[Rc]并且將它們與服務器93的公共密鑰K′p一起傳輸至微處理器901(步驟1209)。然后自微處理器901接收響應SK′s[Rs]和證書E[Cert](步驟1211),以及對自微處理器901收到的SK′s[Rs]和E[Cert]進行證實(步驟1213)。當證實操作失敗時,即將處理過程中斷。當證實操作成功時,生成加密程序和對應于微處理器901的簽字并且將它們傳輸至微處理器901(步驟1215),以及結束服務器93與微處理器901之間的程序傳輸(步驟1217)。然后執行相對于客戶設備91的付費處理過程并且傳輸收據和簽字(步驟1219),以及結束服務器93與客戶設備91之間的通信信道(步驟1221)。
圖5顯示圖2的操作順序中微處理器901的處理過程,它如下進行。
首先,在微處理器901與服務器93之間設置第二通信路徑(步驟1301)。然后生成挑戰Rc并且將它與對于微處理器901是獨一的公共密鑰Kp一起傳輸至服務器93(步驟1303)。當傳輸成功時,自服務器93接收響應SK′s[Rc]、挑戰Rs和公共密鑰K′p(步驟1305)。然后判斷該響應是否恰當(步驟1307)。如果它不恰當則將處理過程中斷。如果它是恰當的,則生成相對于服務器93的響應和對應于服務器93的證書并且將它們傳輸(步驟1309)。然后自服務器93接收加密程序(步驟1311),以及當接收完畢時,向客戶設備91通知下載完成(步驟1313)。然后自客戶設備91接收簽字(步驟1315)并且證實該簽字(步驟1317)。如果證實操作失敗則將處理過程中斷。如果證實操作成功,則將加密程序傳輸至客戶設備91(步驟1319)。
在圖2的操作順序中,如果在完成付費處理過程之后由于下載程序的非正常結束而無法獲得加密程序E[prog],則客戶有權根據所保留的收據來再次從服務器93下載該程序。在此情況下,將不再進行付費操作,但無法獲得微處理器901的加密程序之外的其他程序。
還有,在圖2的操作順序中,服務器93可以使用普通密鑰將程序加密而不用微處理器901的公共密鑰。在此情況下,服務器93選擇普通密鑰Kx和加密算法,使用普通密鑰Kx將程序加密,使用對于微處理器901是獨一的公共密鑰來將普通密鑰Kx加密,以及在將服務器93與微處理器901之間的通信加用密碼之后將該程序傳輸至微處理器901。在此處可以增加一個步驟,即在設置第二通信路徑之后由服務器93向微處理器901查詢在微處理器901中提供的加密/解密功能,從而使服務器93可以從可由微處理器901處理的加密算法中選擇一個加密算法。
在此情況下,每個程序的臨時使用的普通密鑰可用于將執行代碼解密以便將密鑰長度縮短及將客戶設備91的存儲器中所構造的頁表減小或者微處理器901的高速緩存縮小。
以上所述的下載過程也可用于處理秘密信息例如數據庫或顧客信息。此下載過程也可擴展而應用于除可執行程序以外的任何音樂或視頻數據,其中與執行程序的情況的唯一差別是在執行程序的情況下程序如此加密以致程序只能由目標微處理器執行。
根據本發明的程序分發設備,可以通過網絡安全地和肯定地將加密程序自程序分發設備分發至客戶設備。還有,通過使用準備在微處理器處執行的抗干預下載程序,可以直接在程序分發設備與微處理器之間安全地和有效地下載程序而不受第三方的干預。
還有,通過在計算機可讀記錄媒體中以加密形式記錄程序代碼部分及以非加密普通文本形式存儲直接涉及外部程序的IAT區域,可以在執行程序期間正確地執行重定位操作。
應該注意到,以上實施例用于描述一個使用抗干預微處理器的示例,但很清楚本發明同樣可以應用于使用抗干預處理器的一般情況。
還應該注意到,除以上所述以外,可以在不背離本發明的新穎和有利的特征的情況下對以上各實施例作出許多修改和變動。因此,所有這些修改和變動都會包括于所附權利要求書的范圍之內。
權利要求
1.一種用于通過網絡分發可執行程序至具有抗干預處理器的客戶設備的程序分發設備,該抗干預處理器事先配備有獨一的保密密鑰和獨一的對應于該獨一保密密鑰的公共密鑰,該程序分發設備包括一個第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接程序分發設備與抗干預處理器的第二通信路徑;一個加密處理單元,配置為將準備分發至客戶設備的可執行程序加密從而產生一個加密程序;及一個傳輸單元,配置為通過第二通信路徑將加密程序傳輸至抗干預處理器。
2.權利要求1的程序分發設備,還包括一個用戶證實單元,配置為使用通過第一通信路徑自客戶設備接收的正在使用客戶設備的用戶的用戶ID來證實該用戶。
3.權利要求1的程序分發設備,還包括一個處理器證實單元,配置為通過證實一個證書來證實該抗干預處理器,其中該證書確認該抗干預微處理器的確具有通過第二通信路徑自客戶設備接收的獨一的保密密鑰和獨一的公共密鑰。
4.權利要求1的程序分發設備,其中加密處理單元使用通過第二通信路徑自抗干預處理器接收的獨一公共密鑰將可執行程序加密。
5.權利要求1的程序分發設備,其中加密處理單元使用普通密鑰將可執行程序加密,以及使用通過第二通信路徑自抗干預處理器接收的獨一公共密鑰將該普通密鑰加密;及該傳輸單元通過第二通信路徑將加密程序與加密的普通密鑰一起傳輸至抗干預處理器。
6.權利要求1的程序分發設備,其中通過第二通信路徑的通信是密碼通信。
7.一種用于通過網絡接收由程序分發設備所分發程序的客戶設備,該客戶設備包括一個抗干預處理器,事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一保密密鑰的公共密鑰;一個第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接程序分發設備與抗干預處理器的第二通信路徑;及一個程序接收單元,配置為通過第二通信路徑接收來自程序分發設備的加密程序。
8.權利要求7的客戶設備,還包括一個用戶證實單元,配置為通過第一通信路徑傳輸正在使用客戶設備的用戶的用戶ID至程序分發設備而相對于該程序分發設備來證實該用戶。
9.權利要求7的客戶設備,還包括一個確認單元,配置為通過第二通信路徑傳輸一個證書,其中該證書確認該抗干預處理器的確具有獨一的保密密鑰和獨一的公共密鑰,從而相對于程序分發設備而證實該抗干預處理器。
10.權利要求7的客戶設備,其中程序接收單元接收使用自抗干預處理器通過第二通信路徑通知至程序分發設備的獨一的公共密鑰而加密的加密程序。
11.權利要求7的客戶設備,其中程序接收單元接收使用普通密鑰加密的加密程序以及使用自抗干預處理器通過第二通信路徑通知至程序分發設備的獨一的公共密鑰而加密的普通密鑰。
12.權利要求7的客戶設備,其中通過第二通信路徑的通信是密碼通信。
13.一種程序分發系統,包括一個連至網絡的程序分發設備,用于通過網絡分發可執行程序;及一個連至網絡的客戶設備,用于通過網絡接收由程序分發設備分發的可執行程序;其中該客戶設備具有一個抗干預處理器,事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一保密密鑰的公共密鑰;一個客戶側第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個客戶側第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接該程序分發設備與抗干預處理器的第二通信路徑;及一個程序接收單元,配置為通過第二通信路徑接收來自程序分發設備的加密程序;以及該程序分發設備具有一個服務器側第一通信路徑設置單元,配置為在程序分發設備與客戶設備之間設置一條第一通信路徑;一個服務器側第二通信路徑設置單元,配置為在第一通信路徑之上設置一條用于直接連接程序分發設備與抗干預處理器的第二通信路徑;一個加密處理單元,配置為將準備分發至客戶設備的可執行程序加密從而產生一個加密程序;及一個傳輸單元,配置為通過第二通信路徑將加密程序傳輸至抗干預處理器。
14.一種用于通過網絡自程序分發設備分發可執行程序至具有抗干預處理器的客戶設備的方法,該抗干預處理器事先配備有獨一的保密密鑰和獨一的對應于該獨一保密密鑰的公共密鑰,該方法包括以下步驟設置一條程序分發設備與客戶設備之間的第一通信路徑;在第一通信路徑之上設置一條用于直接連接程序分發設備和抗干預處理器的第二通信路徑;在程序分發設備處將準備分發至客戶設備的可執行程序加密,從而產生一個加密程序;及通過第二通信路徑將加密程序自程序分發設備傳輸至抗干預處理器。
15.權利要求14的方法,還包括以下步驟使用通過第一通信路徑自程序分發設備接收的正在使用客戶設備的用戶的用戶ID來證實該用戶。
16.權利要求14的方法,還包括以下步驟通過證實一個通過第二通信路徑自客戶設備接收的證書而證實該抗干預處理器,其中該證書確認該抗干預處理器的確具有獨一的保密密鑰和獨一的公共密鑰。
17.權利要求14的方法,其中該產生步驟使用通過第二通信路徑自抗干預處理器接收的獨一的公共密鑰將可執行程序加密。
18.權利要求1的程序分發設備,其中該產生步驟使用普通密鑰將可執行程序加密,以及使用通過第二通信路徑自抗干預處理器接收的獨一的公共密鑰將該普通密鑰加密。該傳輸步驟通過第二通信路徑將加密程序與加密的公共密鑰一起傳輸至抗干預處理器。
19.權利要求14的方法,其中通過第二通信路徑的通信是密碼通信。
全文摘要
本發明公開了一種方案,用于通過網絡將可執行程序自程序分發設備分發至具有抗干預處理器的客戶設備,該抗干預處理器事先配備有一個獨一的保密密鑰和一個獨一的對應于該獨一保密密鑰的公共密鑰。在此方案中,在程序分發設備與客戶設備之間設置一條第一通信路徑,及在第一通信路徑之上設置一條用于直接連接程序分發設備與抗干預處理器的第二通信路徑。然后通過第二通信路徑將加密程序自程序分發設備傳輸至抗干預處理器。
文檔編號G06F21/10GK1309355SQ0110451
公開日2001年8月22日 申請日期2001年2月14日 優先權日2000年2月14日
發明者橋本幹生, 藤本謙作, 白川健治, 寺本圭一, 齊藤健 申請人:株式會社東芝