專利名稱:一種可控的構件發布與使用保護方法
技術領域:
本發明涉及計算機軟件技術領域,具體的說是一種可控的軟件構件發布與使用保 護方法。
背景技術:
軟件的可復用性是軟件產業興旺發展的關鍵所在,而要達到軟件的可復用性,“軟 件構件化”是實現這個目標的基礎。隨著技術和時間的發展,面向構件的軟件開發和應用是 軟件發展的新趨勢。軟件的構件化發展必然對軟件構件的發布與使用以及保護提出了新的要求。當今 軟件使用的保護方法多種多樣。按物理保護方式可以分成軟保護與硬保護。軟保護通過軟 件自身的認證機制與注冊機制進行軟件保護,而硬保護通過“類硬件狗”的方式進行保護。 按物理分布又可以分成網絡保護與單機保護。網絡保護需要通過網絡進行身份認證與識 別,或通過網絡服務器注冊來使網絡上的軟件獲得使用權限。而單機保護則通過在單臺機 器上的某種注冊與服務獲得使用權限,如通過硬件ID識別與注冊,或通過單機license授 權等。軟件構件化技術已經開始蓬勃發展,但是對于如何使用和發布構件目前還缺少有 效的保護方法,現在更多的是構件本身運行通過自身的license方法使構件運行獲得權 限。這種方法只能保護構件生產者的利益,并不能對整個構件的發布與使用進行控制,以及 不能對軟件構件用戶產生保護作用。另外,構件化技術帶來了軟件開發與使用方法的革新,但是構件的使用和發布在 一些行業內卻沒有統一的管理,因此會存在一些使用和運行的安全隱患,不能很好保證構 件生產者以及客戶的利益。在一些行業或組織領域,特別需要對構件的發布使用提出高度 可控的要求,從而保證構件發布以及客戶使用的信息安全及運行安全,如金融信息系統、國 防信息系統等領域以及其它對自身軟件環境需要高度控制的組織和企業等。
發明內容
本發明的目的是針對現在軟件構件的發布和使用缺少有效的安全控制機制,提出 一種在工作機制和流程上進行高度授權的數字化技術方案,保證那些使用構件化技術運行 環境工作的部門、企業、組織在構件發布與使用方面的安全性,提高安全防護的等級,減少 構件使用方面的安全漏洞,保護構件生產者、使用者的利益以及整個組織軟件應用環境的 安全;保證構件發布的合法性和軟件客戶使用構件的合法性,使構件的發布和使用表現在 一種高度可控的狀態,從而抵制非法或非認可的構件發布并參與系統運行,在最大程度上 保證了整個組織的構件發布與使用安全。本發明一種可控的構件發布與使用保護方法,需要建立五種角色,這五種角色分 別為角色1 方案管理員 SHCEME ADMINISTRATOR(簡稱 SA)
角色2 原始軟件制造者 ORIGINAL SOFTWARE PR0DUCT0R(簡稱 OSP)角色3 構件生產者 COMPONENT PR0DUCT0R(簡稱 CP)
角色4 構件發布服務者COMPONENT SERVER(簡稱CS)角色5 軟件構件用戶COMPONENT USER(簡稱CU)各個角色之間相互授權,并通過數字證書、簽名、加密的方式使構件在發布與使用 過程中得到有效的控制,使只有得到認可的原始軟件制造者OSP生產的軟件才能使用到合 法構件,只有得到認可的構件發布服務者CS才能發布合法的構件給軟件構件用戶CU使用; 軟件構件用戶CU只有從合法的原始軟件制造者OSP那里得到應用軟件才能申請得到合法 的軟件構件。所述的五種角色,其職能分別為(1)所述方案管理員SA全權負責此方案的維護與協調,由組織內最高的管理機構 擔任;方案管理員SA負責控制保護方案的成員資格,并確保所有參與者都按照既定程序進 行操作;方案管理員SA負責管理頂層加密密鑰,用于操作完整的數據保護方案;同時它也 是有權向其他保護方案參與者發行證書的唯一實體;(2)所述構件發布服務者CS負責按照此保護方案定義的程序和方法對構件信息 進行加密和簽名;通常由軟件版本管理的機構或部門來擔任;(3)所述原始軟件制造者OSP是支持此方案的軟件制作者,方案管理員SA提供各 個原始軟件制造者OSP —個唯一的制造者密鑰(P_KEY)和制造者標識符(P_ID);原始軟件 制造者OSP必須在軟件系統中提供相應的安全機制使每個軟件都必須擁有一個唯一的標 識符(SW_ID),以唯一標識出每個客戶軟件;(4)所述構件生產者CP是遵循一定的構件接口標準生產構件的機構或部門,他們 將生產后的符合要求的構件遞交給構件發布服務者CS,由構件發布服務者CS向軟件構件 用戶⑶發布經簽名的軟件構件單元;(5)所述軟件構件用戶CU將使用原始軟件制造者OSP制作的軟件,原始軟件 制造者OSP的客戶端軟件可以利用P_KEY對內嵌于軟件SW_ID進行加密生成用戶許可 (UserPermit);此用戶許可用于向構件發布服務者CS申請客戶所需的構件。所述五種角色之間的授權關系如下1、方案管理員SA與原始軟件制造者OSP的關系方案管理員SA是這個方案的最高維護與協調的管理機構,整個方案中是唯一的; 它負責對每個原始軟件制造者(或部門)0SP成員資格進行審核,因此原始軟件制造者OSP 可以有多個,原始軟件制造者OSP向方案管理員SA提交方案參與申請(1),方案管理員SA 對申請進行審核,批準后會向原始軟件制造者OSP頒發與OSP唯一對應的制造者密鑰(P_ KEY)和制造者標識符(P_ID)⑵;方案管理員SA負責存儲和管理原始軟件制造者P_ KEY和P_ID,以備查詢;2、方案管理員SA與構件發布服務者CS的關系構件發布服務者CS將創建自身的密鑰對,并將公鑰和樣本簽名結合在自簽名密 鑰(SSK)中,并將SSK (4)遞交給方案管理員SA,方案管理員SA驗證SSK中的公鑰是否來自 構件發布服務者CS,之后方案管理員SA在構件發布服務方公鑰上簽署SA頂層密鑰對,經過 簽名的密鑰就是構件服務方證書,方案管理員SA向構件發布服務者CS提供數字證書(5);
5
3、構件生產者CP與構件發布服務者CS的關系構件生產者CP將制作好的構件遞交給構件發布服務者CS(3),并由構件發布服務 者CS存儲到構件庫中,以備發布給不同的軟件構件用戶CU ;4、軟件構件用戶CU與構件發布服務者CS的關系軟件構件用戶⑶把原始軟件制造者OSP的軟件自產生的用戶許可Userpermit遞 交給構件發布服務者CS并申請自己需要的構件(6),構件發布服務者CS根據Userpermit 從中解密得到軟件的唯一標識符(SW_ID),并利用SW_ID作為密鑰采用對稱加密算法對軟 件構件單元進行加密生成加密后的構件體,同時構件發布服務者CS還要向軟件構件用戶 CU提供相應的構件數字簽名文件(7),數字簽名文件是由加密的構件體和方案管理員SA頒 發的數字證書組成的;軟件構件用戶CU使用的軟件必須來自原始軟件制造者0SP,用戶端軟件必須在使 用構件發布服務者CS發布的加密構件體前安裝SA公鑰證書;并利用SA公鑰對構件簽名文 件進行驗證,以確認構件發布服務者CS的合法性;只有驗證合法性后才能對構件體進行解 密并使用;5、軟件構件用戶⑶與原始軟件制造者OSP的關系軟件構件用戶CU所使用的軟件必須來自于遵循本方案的原始軟件制造者 OSP (8),并且最終用戶軟件必須裝載了方案管理員SA頒布的SA公鑰(9);此公鑰是用戶軟 件用來驗證構件發布者發布構件時提供的數字簽名,從而驗證構件發布者的合法性,保證 用戶使用的構件具有合法性。本發明一種可控的構件發布與使用保護方法所述各個角色之間相互授權是這樣 實現的(1)分別建立五種構件發布與使用的角色他們分別為方案管理員SA、原始軟件 制造者0SP、構件生產者CP、構件發布服務者Cs、軟件構件用戶CU,后面敘述用字母代號表 示他們的名稱;(2)方案管理員SA用對稱加密算法產生密鑰對,即SA公鑰和SA私鑰,SA要高度 對SA私鑰保密;(3)原始軟件制造者OSP向方案管理員SA提出申請,方案管理員SA批準后向原始 軟件制造者OSP頒發唯一的原始軟件制造者識別號P_ID和原始軟件制造者密鑰P_KEY ;方 案管理員SA負責管理這些密鑰和識別號;(4)原始軟件制造者OSP在自己生產的軟件中必須具有生成用戶許可Userpermit 的功能,且原始軟件制造者OSP每個軟件必須具有唯一的軟件標識號SW_ID,Userpermit是 按照一定格式存放的原始軟件制造者OSP用P_KEY作為密鑰對SW_ID加密的密碼文件;此 解密算法和密碼文件格式是構件發布服務者CS獲知的,但構件發布服務者CS只有獲得P_ KEY后才能解密;(5)構件發布服務者CS向方案管理員SA提出加入申請,方案管理員SA批準后,構 件發布服務者CS用和方案管理員SA相同的可互認證的對稱加密算法產生密鑰對,即CS公 鑰和CS私鑰,構件發布服務者CS用私鑰產生一個自簽名的公鑰文件SSK,并和CS公鑰一起 提交給方案管理員SA ;方案管理員SA用CS公鑰驗證構件發布服務者CS提交的SSK ;如果 驗證成功,則方案管理員SA用SA私鑰對SSK進行簽名產生一個簽名文件,并將CS公鑰附著在簽名文件內容中,這個簽名文件就是方案管理員SA頒發給構件發布服務者CS的數字 證書SkCk,并交給構件發布服務者CS保管;(6)每當一個新的構件發布服務者CS成員加入方案,方案管理員SA都會發布所有 保管的原始軟件制造者OSP的P_KEY和P_ID給構件發布服務者CS ;構件發布服務者CS同 時保存這些P_KEY和P_ID ;(7)每當一個新的原始軟件制造者OSP成員加入,方案管理員SA也會把這個新成 員的P_KEY和P_ID發布給所有的構件發布服務者CS ;(8)原始軟件制造者OSP每一個給用戶使用的軟件中都會保存SA公鑰;(9)軟件構件用戶CU的軟件在需要使用構件時,必須向構件發布服務者CS提交由 軟件生成的Userpermit ;構件發布服務者CS通過Userpermit獲取該軟件原始軟件制造者 OSP的P_KEY和軟件SW_ID ;構件發布服務者CS驗證P_KEY合法后會用SW_ID作為密鑰加 密軟件構件用戶CU申請使用的軟件構件文件;并會將SACA和加密后的軟件構件文件組成 構件單元簽名文件一起發布給軟件構件用戶CU ;(10)原始軟件制造者OSP的軟件必須具有用SA公鑰驗證SACA正確性的功能;當 驗證成功后,軟件能夠利用自身的SW_ID作為密鑰解密經構件發布服務者CS加密的構件 體,只有解密成功后才能正確的使用該構件;(11)構件生產者CP生產的構件必須提交給構件發布服務者CS,由構件發布服務 者CS保存在構件庫中,當只有軟件構件用戶CU申請使用時才能由構件發布服務者CS發布。本發明一種可控的構件發布與使用保護方法的優點是(1)軟件制造者可以通過本方案獲得合法的軟件制造資格,從而保證生產的軟件 能夠使用到合法的軟件構件;(2)軟件構件生產者生產的構件必須提交給構件發布者簽名之后才能被最終用戶 使用,保證了構件的合法來源;(3)構件發布服務者通過構件的簽名實現了對構件發布與使用的安全控制和管 理,保證了軟件用戶得到合法的構件,并只有遵循本方案的用戶軟件才能得到只有本軟件 能使用的合法構件;(4)軟件構件用戶只能使用被軟件構件發布者簽名的構件,非法構件或未經許可 的構件不能被用戶軟件使用,保證了整個組織內軟件構件使用環境的安全可靠,從而保證 了整個組織軟件運行環境的安全。
圖1為一種可控的構件發布與使用保護方法的五種角色的關系圖。圖2為可控的構件發布與使用保護方法的授權流程圖。圖3為公鑰和私鑰的使用及管理流程圖。
具體實施例方式根據圖1-3所示,一種可控的構件發布與使用保護方法,包括需要建立五種角 色,這五種角色分別為
角色1 方案管理員 SHCEME ADMINISTRATOR(SA)角色2 原始軟件制造者 ORIGINAL SOFTWARE PR0DUCT0R(OSP)角色3 構件生產者 COMPONENT PR0DUCT0R(CP)角色4 構件發布服務者COMPONENT SERVER(CS)角色5 軟件構件用戶 COMPONENT USER(CU)各個角色之間相互授權,并通過數字證書、簽名、加密的方式使構件在發布與使用 過程中得到有效的控制,使只有得到認可的原始軟件制造者OSP生產的軟件才能使用到合 法構件,只有得到認可的構件發布服務者CS才能發布合法的構件給軟件構件用戶CU使用; 軟件構件用戶CU只有從合法的原始軟件制造者OSP那里得到軟件才能申請得到合法的軟 件構件。所述的五種角色,其職能分別為;(1)所述方案管理員SA全權負責此方案的維護與協調,由組織內最高的管理機構 擔任;方案管理員SA負責控制保護方案的成員資格,并確保所有參與者都按照既定程序進 行操作;方案管理員SA負責管理頂層加密密鑰,用于操作完整的數據保護方案;同時它也 是有權向其他保護方案參與者發行證書的唯一實體;(2)所述構件發布服務者CS負責按照此保護方案定義的程序和方法對構件信息 進行加密和簽名;通常由軟件版本管理的機構和部門來擔任;(3)所述原始軟件制造者OSP是支持此方案的軟件制作者,方案管理員SA提供各 個原始軟件制造者OSP —個唯一的制造者密鑰(P_KEY)和制造者標識符(P_ID);原始軟件 制造者OSP必須在軟件系統中提供相應的安全機制使每個軟件都必須擁有一個唯一的標 識符(SW_ID),以唯一標識出每個客戶軟件;(4)所述構件生產者CP是遵循一定的構件接口標準生產構件的機構或部門,他們 將生產后的符合要求的構件遞交給構件發布服務者CS,由構件發布服務者CS向軟件構件 用戶⑶發布經簽名的軟件構件單元;(5)所述軟件構件用戶CU將使用原始軟件制造者OSP制作的軟件,原始軟件 制造者OSP的客戶端軟件可以利用P_KEY對內嵌于軟件SW_ID進行加密生成用戶許可 (UserPermit);此用戶許可用于向構件發布服務者CS申請客戶所需的構件。各個角色之間的傳遞的信息在圖1中用⑴到⑶的數字標識符來標注。所述五 種角色之間的授權關系如下1、方案管理員SA與原始軟件制造者OSP的關系方案管理員SA是這個方案的最高維護與協調的管理機構,整個方案中是唯一的; 它負責對每個原始軟件制造者(或部門)0SP成員資格進行審核,因此原始軟件制造者OSP 可以有多個,原始軟件制造者OSP向方案管理員SA提交方案參與申請(1),方案管理員SA 對申請進行審核,批準后會向原始軟件制造者OSP頒發與OSP唯一對應的制造者密鑰(P_ KEY)和制造者標識符(P_ID) (2);方案管理員SA負責存儲和管理原始軟件制造者P_ KEY和P_ID,以備查詢;2、方案管理員SA與構件發布服務者CS的關系構件發布服務者CS將創建自身的密鑰對,并將公鑰和樣本簽名結合在自簽名密 鑰(SSK)中,并將SSK (4)遞交給方案管理員SA,方案管理員SA驗證SSK中的公鑰是否來自構件發布服務者CS,之后方案管理員SA在構件發布服務方公鑰上簽署SA頂層密鑰對,經過 簽名的密鑰就是構件服務方證書,方案管理員SA向構件發布服務者CS提供數字證書(5);3、構件生產者CP與構件發布服務者CS的關系構件生產者CP將制作好的構件遞交給構件發布服務者CS (3),并由構件發布服務 者CS存儲到構件庫中,以備發布給不同的軟件構件用戶CU ;4、軟件構件用戶CU與構件發布服務者CS的關系軟件構件用戶⑶把原始軟件制造者OSP的軟件自產生的用戶許可Userpermit遞 交給構件發布服務者CS并申請自己需要的構件(6),構件發布服務者CS根據Userpermit 從中解密得到軟件的唯一標識符(SW_ID),并利用SW_ID作為密鑰采用對稱加密算法對軟 件構件單元進行加密生成加密后的構件體,同時構件發布服務者CS還要向軟件構件用戶 CU提供相應的構件數字簽名文件(7),數字簽名文件是由加密的構件體和方案管理員SA頒 發的數字證書組成的;軟件構件用戶CU使用的軟件必須來自原始軟件制造者0SP,用戶端軟件必須在使 用構件發布服務者CS發布的加密構件體前安裝SA公鑰證書;并利用SA公鑰對構件簽名文 件進行驗證,以確認構件發布服務者CS的合法性;只有驗證合法性后才能對構件體進行解 密并使用;5、軟件構件用戶⑶與原始軟件制造者OSP的關系軟件構件用戶CU所使用的軟件必須來自于遵循本方案的原始軟件制造者 OSP (8),并且最終用戶軟件必須裝載了方案管理員SA頒布的SA公鑰(9);此公鑰是用戶軟 件用來驗證構件發布者發布構件時提供的數字簽名,從而驗證構件發布者的合法性,保證 用戶使用的構件具有合法性。本發明一種可控的構件發布與使用保護方法所述各個角色之間相互授權是這樣 實現的(1)分別建立五種構件發布與使用的角色他們分別為方案管理員SA、原始軟件 制造者0SP、構件生產者CP、構件發布服務者CS、軟件構件用戶CU,后面敘述用字母代號表 示他們的名稱;(2)方案管理員SA用對稱加密算法產生密鑰對,即SA公鑰和SA私鑰,SA要高度 對SA私鑰保密;(3)原始軟件制造者OSP向方案管理員SA提出申請,方案管理員SA批準后向原始 軟件制造者OSP頒發唯一的原始軟件制造者識別號P_ID和原始軟件制造者密鑰P_KEY ;方 案管理員SA負責管理這些密鑰和識別號;(4)原始軟件制造者OSP在自己生產的軟件中必須具有生成用戶許可Userpermit 的功能,且原始軟件制造者OSP每個軟件必須具有唯一的軟件標識號SW_ID,Userpermit是 按照一定格式存放的原始軟件制造者OSP用P_KEY作為密鑰對SW_ID加密的密碼文件;此 解密算法和密碼文件格式是構件發布服務者CS獲知的,但構件發布服務者CS只有獲得P_ KEY后才能解密;(5)構件發布服務者CS向方案管理員SA提出加入申請,方案管理員SA批準后,構 件發布服務者CS用和方案管理員SA相同的可互認證的對稱加密算法產生密鑰對,即CS公 鑰和CS私鑰,構件發布服務者CS用私鑰產生一個自簽名的公鑰文件SSK,并和CS公鑰一起提交給方案管理員SA ;方案管理員SA用CS公鑰驗證構件發布服務者CS提交的SSK ;如果 驗證成功,則方案管理員SA用SA私鑰對SSK進行簽名產生一個簽名文件,并將CS公鑰附 著在簽名文件內容中,這個簽名文件就是方案管理員SA頒發給構件發布服務者CS的數字 證書SkCk,并交給構件發布服務者CS保管;(6)每當一個新的構件發布服務者CS成員加入方案,方案管理員SA都會發布所有 保管的原始軟件制造者OSP的P_KEY和P_ID給構件發布服務者CS ;構件發布服務者CS同 時保存這些P_KEY和P_ID ;(7)每當一個新的原始軟件制造者OSP成員加入,方案管理員SA也會把這個新成 員的P_KEY和P_ID發布給所有的構件發布服務者CS ;(8)原始軟件制造者OSP每一個給用戶使用的軟件中都會保存SA公鑰;(9)軟件構件用戶CU的軟件在需要使用構件時,必須向構件發布服務者CS提交由 軟件生成的Userpermit ;構件發布服務者CS通過Userpermit獲取該軟件原始軟件制造者 OSP的P_KEY和軟件SW_ID ;構件發布服務者CS驗證P_KEY合法后會用SW_ID作為密鑰加 密軟件構件用戶CU申請使用的軟件構件文件;并會將SACA和加密后的軟件構件文件組成 構件單元簽名文件一起發布給軟件構件用戶CU ;(10)原始軟件制造者OSP的軟件必須具有用SA公鑰驗證SACA正確性的功能;當 驗證成功后,軟件能夠利用自身的SW_ID作為密鑰解密經構件發布服務者CS加密的構件 體,只有解密成功后才能正確的使用該構件;(11)構件生產者CP生產的構件必須提交給構件發布服務者CS,由構件發布服務 者CS保存在構件庫中,當只有軟件構件用戶CU申請使用時才能由構件發布服務者CS發布。
權利要求
一種可控的構件發布與使用保護方法,其特征在于本方法需要建立五種角色,這五種角色分別為方案管理員SA、原始軟件制造者OSP、構件生產者CP、軟件構件用戶CU、構件發布服務者CS;各個角色之間相互授權,并通過數字證書、簽名、加密的方式使構件在發布與使用過程中得到有效的控制,使只有得到認可的原始軟件制造者OSP生產的軟件才能使用到合法構件,只有得到認可的構件發布服務者CS才能發布合法的構件給軟件構件用戶CU使用;軟件構件用戶CU只有從合法的原始軟件制造者OSP那里得到軟件才能申請得到合法的軟件構件。
2.根據權利要求1所述的一種可控的構件發布與使用保護方法,其特征在于所述方 案管理員SA全權負責此方案的維護與協調,由組織內最高的管理機構擔任;方案管理員SA 負責控制保護方案的成員資格,并確保所有參與者都按照既定程序進行操作;方案管理員 SA負責管理頂層加密密鑰,用于操作完整的數據保護方案;同時它也是有權向其他保護方 案參與者發行證書的唯一實體。
3.根據權利要求1所述的一種可控的構件發布與使用保護方法,其特征在于所述構 件發布服務者CS負責按照此保護方案定義的程序和方法對構件信息進行加密和簽名;通 常由軟件版本管理的機構和部門來擔任。
4.根據權利要求1所述的一種可控的構件發布與使用保護方法,其特征在于所述原 始軟件制造者OSP是支持此方案的軟件制作者,方案管理員SA提供各個原始軟件制造者 OSP —個唯一的制造者密鑰(P_KEY)和制造者標識符(P_ID);原始軟件制造者OSP必須在 軟件系統中提供相應的安全機制使每個軟件都必須擁有一個唯一的標識符(SW_ID),以唯 一標識出每個客戶軟件。
5.根據權利要求1所述的一種可控的構件發布與使用保護方法,其特征在于所述構 件生產者CP是遵循一定的構件接口標準生產構件的機構或部門,他們將生產后的符合要 求的構件遞交給構件發布服務者CS,由構件發布服務者CS向軟件構件用戶CU發布經簽名 的軟件構件單元。
6.根據權利要求1所述的一種可控的構件發布與使用保護方法,其特征在于所述軟 件構件用戶CU將使用原始軟件制造者OSP制作的軟件,原始軟件制造者OSP的客戶端軟件 可以利用?_腿¥對內嵌于軟件SW_ID進行加密生成用戶許可(UserPermit);此用戶許可用 于向構件發布服務者CS申請客戶所需的構件。
7.根據權利要求1所述的一種可控的構件發布與使用保護方法,其特征在于所述五 個角色之間相互授權的方法如下(1)方案管理員SA用對稱加密算法產生密鑰對,即SA公鑰和SA私鑰,SA要高度對SA 私鑰保密;(2)原始軟件制造者OSP向方案管理員SA提出申請,方案管理員SA批準后向原始軟件 制造者OSP頒發唯一的原始軟件制造者識別號P_ID和原始軟件制造者密鑰P_KEY ;方案管 理員SA負責管理這些密鑰和識別號;(3)原始軟件制造者OSP在自己生產的軟件中必須具有生成用戶許可Uerpermit的功 能,且原始軟件制造者OSP每個軟件必須具有唯一的軟件標識號SW_ID,Uerpermit是按照 一定格式存放的原始軟件制造者OSP用P_KEY作為密鑰對SW_ID加密的密碼文件;此解密 算法和密碼文件格式是構件發布服務者CS獲知的,但構件發布服務者CS只有獲得P_KEY后才能解密;(4)構件發布服務者CS向方案管理員SA提出加入申請,方案管理員SA批準后,構件發 布服務者CS用和方案管理員SA相同的可互認證的對稱加密算法產生密鑰對,即CS公鑰和 CS私鑰,構件發布服務者CS用私鑰產生一個自簽名的公鑰文件SSK,并和CS公鑰一起提交 給方案管理員SA ;方案管理員SA用CS公鑰驗證構件發布服務者CS提交的SSK ;如果驗證 成功,則方案管理員SA用SA私鑰對SSK進行簽名產生一個簽名文件,并將CS公鑰附著在 簽名文件內容中,這個簽名文件就是方案管理員SA頒發給構件發布服務者CS的數字證書 SkCk,并交給構件發布服務者CS保管;(5)每當一個新的構件發布服務者CS成員加入方案,方案管理員SA都會發布所有保管 的原始軟件制造者OSP的P_KEY和P_ID給構件發布服務者CS ;構件發布服務者CS同時保 存這些P_KEY和P_ID ;(6)每當一個新的原始軟件制造者OSP成員加入,方案管理員SA也會把這個新成員的 P.KEY和P_ID發布給所有的構件發布服務者CS ;(7)原始軟件制造者OSP每一個給用戶使用的軟件中都會保存SA公鑰;(8)軟件構件用戶CU的軟件在需要使用構件時,必須向構件發布服務者CS提交由軟件 生成的Userpermit ;構件發布服務者CS通過Userpermit獲取該軟件原始軟件制造者OSP 的P_KEY和軟件SW_ID ;構件發布服務者CS驗證P_KEY合法后會用SW_ID作為密鑰加密軟 件構件用戶CU申請使用的軟件構件文件;并會將SACA和加密后的軟件構件文件組成構件 單元簽名文件一起發布給軟件構件用戶CU ;(9)原始軟件制造者OSP的軟件必須具有用SA公鑰驗證SACA正確性的功能;當驗證 成功后,軟件能夠利用自身的SW_ID作為密鑰解密經構件發布服務者CS加密的構件體,只 有解密成功后才能正確的使用該構件;(10)構件生產者CP生產的構件必須提交給構件發布服務者CS,由構件發布服務者CS 保存在構件庫中,當只有軟件構件用戶CU申請使用時才能由構件發布服務者CS發布。
全文摘要
一種可控的構件發布與使用保護方法,包括本方法需要建立五種角色,各個角色之間相互授權,并通過數字證書、簽名、加密的方式使構件在發布與使用過程中得到有效的控制,使只有得到認可的原始軟件制造者OSP生產的軟件才能使用到合法構件,只有得到認可的構件發布服務者CS才能發布合法的構件給軟件構件用戶CU使用;軟件構件用戶CU只有從合法的原始軟件制造者OSP那里得到軟件才能申請得到合法的軟件構件。其優點是軟件制造者可以通過本方案獲得合法的軟件制造資格,從而保證生產的軟件能夠使用到合法的軟件構件;軟件構件生產者生產的構件必須提交給構件發布者簽名之后才能被最終用戶使用,保證了構件的合法來源。
文檔編號G06F21/00GK101908109SQ20101022239
公開日2010年12月8日 申請日期2010年7月2日 優先權日2010年7月2日
發明者古尚利, 李峻林, 趙恒 , 陸煒, 黃偉 申請人:中國船舶重工集團公司第七○九研究所