專利名稱:機密地提供軟件組件的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于機密地提供軟件組件、特別是OEM軟件組件的方法和系統(tǒng)。
背景技術(shù):
軟件組件的開發(fā)或制造是依靠開發(fā)工具(Entwicklimgstools)來進(jìn)行的。軟件組件或軟件模塊例如可以是程序段或子程序。這些軟件組件借助于開發(fā)環(huán)境由軟件組件制造商或OEM (Original Equipment Manufacturer)制訂生成。在制訂生成軟件組件或?qū)浖M件編程時,生成軟件組件的源代碼(Sourcecode)。制訂生成軟件組件時,軟件組件制造商或OEM會使用其行業(yè)內(nèi)的專門知識或技術(shù)秘密(Know-how).為了阻止第三方訪問這一內(nèi)部技術(shù)秘密,軟件組件制造商會盡量保護(hù)源代碼中的軟件組件免于被讀取。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于實現(xiàn)一種用于機密地提供一個或多個軟件組件的方法和系統(tǒng),以便于有效地阻止讀取相應(yīng)的軟件組件,同時允許使用標(biāo)準(zhǔn)工具進(jìn)行處理。該目的根據(jù)本發(fā)明通過一種具有權(quán)利要求1中所述特征的、用于機密地提供軟件組件的方法來實現(xiàn)。本發(fā)明實現(xiàn)的用于機密地提供軟件組件的方法具有以下步驟a)借助于軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Kra)將軟件組件(SWK)加密;b)借助于帶密碼的第一系統(tǒng)密鑰(Ksysl)將OEM密鑰(Kra)加密;c)軟件組件制造商(OEM)將加密的軟件組件(ENC-SffK )和加密的OEM密鑰(ENC-Kra)傳輸給目標(biāo)系統(tǒng)裝置(3);d)借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)對傳輸?shù)募用躉EM密鑰(ENC-Kcjem)進(jìn)行解密;e)借助于已經(jīng)解密的OEM密鑰(Kot)對傳輸?shù)募用苘浖M件(ENC-SWK)進(jìn)行解密,其中,提供已經(jīng)解密的軟件組件(SWK ),用于在目標(biāo)系統(tǒng)裝置(3 )上執(zhí)行。在根據(jù)本發(fā)明的方法的一種實施方式中,帶密碼的第一系統(tǒng)密鑰是帶密碼的公共密鑰,而帶密碼的第二系統(tǒng)密鑰是非對稱加密法的帶密碼的私人密鑰。在根據(jù)本發(fā)明的方法的一種可替換實施方式中,帶密碼的第一系統(tǒng)密鑰和帶密碼的第二系統(tǒng)密鑰是對稱加密法的帶密碼的私人密鑰。在根據(jù)本發(fā)明的方法的一種可能的實施方式中,目標(biāo)系統(tǒng)裝置由可編程存儲控制單元構(gòu)成。在根據(jù)本發(fā)明的方法的一種實施方式中,帶密碼的第一系統(tǒng)密鑰和帶密碼的第二系統(tǒng)密鑰作為密碼對由目標(biāo)系統(tǒng)裝置的制造商生成。在根據(jù)本發(fā)明的方法的一種實施方式中,借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰將軟件組件對稱加密。
在根據(jù)本發(fā)明的方法的一種實施方式中,借助于帶密碼的公共密鑰將軟件組件制造商OEM的機密的帶密碼的OEM密鑰非對稱加密。在根據(jù)本發(fā)明的方法的一種實施方式中,私人密鑰以防篡改的形式集成在目標(biāo)系統(tǒng)裝置中。在根據(jù)本發(fā)明所述的方法的一種可能的實施方式中,在對軟件組件加密時生成一個密碼校驗和,在對傳輸?shù)募用苘浖M件進(jìn)行解密時檢驗該密碼校驗和。在根據(jù)本發(fā)明的方法的一種可能的實施方式中,密碼校驗和由消息認(rèn)證碼(MAC)構(gòu)成。在根據(jù)本發(fā)明的方法的一種可替換實施方式中,密碼校驗和由電子簽名構(gòu)成。在根據(jù)本發(fā)明的方法的一種可能的實施方式中,軟件組件制造商OEM的加密軟件組件和加密OEM密鑰被傳輸?shù)綌?shù)據(jù)載體上保存。在根據(jù)本發(fā)明的方法的一種可替換實施方式中,軟件組件制造商OEM的加密軟件組件和加密OEM密鑰通過網(wǎng)絡(luò)被傳輸?shù)綌?shù)據(jù)程序包中。在根據(jù)本發(fā)明的方法的一種可能的實施方式中,借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰對一個軟件組件加密。在根據(jù)本發(fā)明的方法的另一種可能的實施方式中,借助于軟件組件制造商OEM的機密的帶密碼的機密OEM密鑰同時對多個軟件組件加密。本發(fā)明還實現(xiàn)了一種用于機密地為使用者提供具有權(quán)利要求13中所述特征的軟件組件的系統(tǒng)。本發(fā)明實現(xiàn)了一種用于機密地為使用者提供軟件組件(SWK)的系統(tǒng),它具有軟件組件制造商(OEM)的至少一個開發(fā)裝置,在該開發(fā)裝置上可以借助于開發(fā)工具來生產(chǎn)軟件組件(SWK),這些軟件組件相應(yīng)地由軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Kra)來加密,其中軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Kra)通過帶密碼的第一系統(tǒng)密鑰(Ksysl)加密,并與加密的軟件組件(ENC-SWK) —起被傳輸給目標(biāo)系統(tǒng)裝置,該目標(biāo)系統(tǒng)裝置借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)首先對軟件組件制造商(OEM)的傳輸?shù)募用躉EM密鑰(ENC-Kcjem)進(jìn)行解密,然后借助于軟件組件制造商(OEM)的已經(jīng)解密的OEM密鑰(Koem)對傳輸?shù)募用苘浖M件(ENC-SffK )進(jìn)行解密,其中提供已經(jīng)解密的軟件組件(SWK ),用于在目標(biāo)系統(tǒng)裝置(3 )上執(zhí)行。在根據(jù)本發(fā)明的系統(tǒng)的一種實施方式中,目標(biāo)系統(tǒng)裝置具有可編程存儲控制裝置,其中設(shè)置有私人密鑰,該密鑰由目標(biāo)系統(tǒng)裝置的制造商生成。在根據(jù)本發(fā)明的系統(tǒng)的一種實施方式中,軟件組件制造商OEM的開發(fā)裝置通過網(wǎng)絡(luò)與目標(biāo)系統(tǒng)裝置連接。在根據(jù)本發(fā)明的系統(tǒng)的一種可能的實施方式中,軟件組件具有至少一個可以在目標(biāo)系統(tǒng)裝置上運行的程序。本發(fā)明還實現(xiàn)了一種具有權(quán)利要求17中所述特征的目標(biāo)系統(tǒng)裝置。本發(fā)明實現(xiàn)了一種目標(biāo)系統(tǒng)裝置,其具有借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)對傳輸?shù)能浖M件制造商(OEM)的加密OEM密鑰(Kot)進(jìn)行解密的第一解密單元,借助于由第一解密單元解密的軟件組件制造商(OEM)的OEM密鑰(Kot)對傳輸?shù)募用苘浖M件(ENC-SWK)進(jìn)行解密的第二解密單元,和執(zhí)行由第二解密單元解密的軟件組件(SWK)的執(zhí)行單元。在根據(jù)本發(fā)明的目標(biāo)系統(tǒng)裝置的一種實施方式中,目標(biāo)系統(tǒng)裝置具有至少一個界面,用于接收軟件組件制造商的傳輸?shù)募用苘浖M件和加密OEM密鑰。在根據(jù)本發(fā)明的目標(biāo)系統(tǒng)裝置的一種實施方式中,目標(biāo)系統(tǒng)裝置具有用于傳感器和執(zhí)行元件的外圍元件,這些外圍元件通過母線與目標(biāo)系統(tǒng)裝置的執(zhí)行單元連接。在根據(jù)本發(fā)明的目標(biāo)系統(tǒng)裝置的一種實施方式中,帶密碼的第二系統(tǒng)密鑰是非對稱加密法的帶密碼的私人密鑰。本發(fā)明還實現(xiàn)了一種具有權(quán)利要求22中所述特征的開發(fā)裝置。本發(fā)明實現(xiàn)了軟件組件制造商的一種開發(fā)裝置,其具有借助于軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Kot)對軟件組件(SWK)加密的第一加密單元;借助于帶密碼的第一系統(tǒng)密鑰(Ksysl)對軟件組件制造商(OEM)的帶密碼的OEM密鑰加密的第二加密單元,其中提供目標(biāo)系統(tǒng)裝置的加密軟件組件(ENC-SWK)和加密OEM密鑰(ENC-K·)。在根據(jù)本發(fā)明的開發(fā)裝置的一種實施方式中,帶密碼的第一系統(tǒng)密鑰是非對稱加密法的帶密碼的公共密鑰。
以下根據(jù)附圖對根據(jù)本發(fā)明的用于機密地提供軟件組件的方法和系統(tǒng)的優(yōu)選實施方式加以說明。其示出圖1示出了描述根據(jù)本發(fā)明的用于機密地提供軟件組件的方法的一種可能的實施方式的流程圖;圖2示出了描述根據(jù)本發(fā)明的用于機密地為使用者提供軟件組件的系統(tǒng)的一種可能的實施方式的框圖。
具體實施例方式如由圖1識別出的,根據(jù)本發(fā)明的用于機密地提供軟件組件的方法基本上具有S1-S5五個步驟。在第一步驟Sl中,借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰Kra將軟件組件SWK加密。然后,在步驟S2中,借助于帶密碼的第一系統(tǒng)密鑰Ksysl將軟件組件制造商OEM的OEM密鑰Kqem加密。在下一個步驟中,軟件組件制造商OEM將加密的軟件組件ENC-SWK和加密的OEM密鑰(ENC-Kcjem)傳輸給目標(biāo)系統(tǒng)裝置。該目標(biāo)系統(tǒng)裝置例如通過可編程存儲控制單元SPS構(gòu)成。在一種可能的實施方式中,加密軟件組件ENC-SWK和加密OEM密鑰ENC-Kot被傳輸?shù)綌?shù)據(jù)載體上,該數(shù)據(jù)載體可以存儲加密的軟件組件和加密的OEM密鑰。在一種可替換的實施方式中,軟件組件制造商OEM的加密軟件組件和加密OEM密鑰以數(shù)據(jù)包的形式通過網(wǎng)絡(luò)傳輸。在接下來的步驟S4中,借助于帶密碼的第二系統(tǒng)密鑰Ksys2對傳輸?shù)募用躉EM密鑰ENC-Kra進(jìn)行解密。在接下來的步驟S5中,借助于已經(jīng)解密的OEM密鑰Kot對傳輸?shù)募用苘浖M件ENC-SWK進(jìn)行解密,其中提供已經(jīng)解密的軟件組件SWK,用于在目標(biāo)系統(tǒng)裝置、例如可編程存儲控制裝置SPS上執(zhí)行。在根據(jù)本發(fā)明的方法的一種優(yōu)選實施方式中,帶密碼的第一系統(tǒng)密鑰Ksysl和帶密碼的第二系統(tǒng)密鑰Ksys2作為密碼對由目標(biāo)系統(tǒng)裝置的制造商生成。在根據(jù)本發(fā)明的方法的一種可能的實施方式中,借助于非對稱加密法進(jìn)行加密和解密,其中帶密碼的第一系統(tǒng)密鑰Ksysl是帶密碼的公共密鑰Kpub,而帶密碼的第二系統(tǒng)密鑰Ksys2是帶密碼的私人密鑰κ_ν。在根據(jù)本發(fā)明的方法的一種可替換實施方式中,借助于對稱加密法進(jìn)行加密和解密,其中帶密碼的第一系統(tǒng)密鑰Ksysl和帶密碼的第二系統(tǒng)密鑰Ksys2是帶密碼的私人密鑰。在一種實施方式中,在步驟Sl中,借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰以對稱的方式將軟件組件SWK加密。借助于帶密碼的公共密鑰Kpub以非對稱的方式將軟件組件制造商OEM的帶密碼的機密OEM密鑰Kot加密。同時,為了在目標(biāo)系統(tǒng)裝置上進(jìn)行解密而使用私人密鑰Kphv,它以防篡改的形式集成在目標(biāo)系統(tǒng)裝置、例如可編程存儲控制單元SPS中。在一種可能的實施方式中,在步驟Sl中對軟件組件SWK加密時,生成一個密碼校驗和,對傳輸?shù)募用苘浖M件ENC-SWK進(jìn)行解密時檢驗該校驗和。該密碼校驗和可以例如由消息認(rèn)證碼MAC構(gòu)成。在一種可替換的實施方式中,密碼校驗和由電子簽名構(gòu)成。在一種可能的實施方式中,在步驟Sl中借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰對軟件組件SWK加密。在一種可能的實施方式中,借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰,同時對多個軟件組件SWK加密。圖2示出描述根據(jù)本發(fā)明的用于機密地為使用者提供軟件組件SWK的系統(tǒng)1的一種可能的實施方式的框圖。系統(tǒng)1包含軟件組件制造商OEM的至少一種開發(fā)布置2和具有例如可編程存儲控制裝置SPS的目標(biāo)系統(tǒng)裝置3。軟件組件制造商OEM的OEM開發(fā)環(huán)境2包含至少一個開發(fā)裝置2A,在該開發(fā)裝置上可以借助于開發(fā)工具制造軟件組件SWK。這些軟件組件可以是任意的軟件組件或軟件模塊,特別是程序、子程序(或Subroutines)或文件。軟件組件制造商的開發(fā)環(huán)境2包含一個第一加密單元2B,通過該加密單元可以借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰對被輸送的軟件組件SWK進(jìn)行加密。第一加密單元2Β可以借助于軟件組件制造商的機密的帶密碼的OEM密鑰對一個軟件組件或同時對多個軟件組件加密。軟件組件制造商的機密的帶密碼的OEM密鑰K·,如圖2所示,例如位于OEM開發(fā)環(huán)境2的一個存儲器2C中。借助于軟件組件制造商OEM的機密的帶密碼的OEM密鑰K·,在加密單元2B中優(yōu)選地以對稱的方式加密軟件組件SWK,并達(dá)到OEM開發(fā)環(huán)境2的一個界面2D。OEM開發(fā)環(huán)境2,如圖2所示,除了具有第一加密單元2B,還具有一個第二加密單元2e。在第二加密單元2E中,通過帶密碼的第一系統(tǒng)密鑰Ksysl,對從存儲器2C中讀出的、軟件組件制造商OEM的機密的帶密碼的OEM密鑰進(jìn)行加密。經(jīng)過OEM開發(fā)環(huán)境2的界面2D,
7借助于傳輸工具4,將由第二加密單元2E加密的軟件組件制造商OEM的機密的OEM密鑰以及由第一加密單元2B加密的軟件組件ENC-SWK傳輸?shù)侥繕?biāo)系統(tǒng)裝置3的界面3A。目標(biāo)系統(tǒng)裝置3例如可以是可編程存儲控制裝置SPS。在圖3所示的實施例中,傳輸工具4由線路或網(wǎng)絡(luò)構(gòu)成。在這種實施變體中,軟件組件制造商OEM的加密軟件組件ENC-SWK和加密的OEM密鑰ENC-Kra以數(shù)據(jù)包的形式通過網(wǎng)絡(luò)傳輸給目標(biāo)系統(tǒng)裝置3。在一種可替換實施方式中,傳輸工具4是數(shù)據(jù)載體,加密的軟件組件ENC-SWK和加密的OEM密鑰ENC-Kot存儲在這個數(shù)據(jù)載體上。在這種實施變體中,加密的OEM密鑰和加密的軟件組件ENC-SWK通過界面2D寫入或存入數(shù)據(jù)載體。在這一實施變體中,目標(biāo)系統(tǒng)裝置3的界面3A從數(shù)據(jù)載體中讀取存儲在數(shù)據(jù)載體上的加密OEM密鑰ENC-Kot以及加密的軟件組件ENC-SWK。目標(biāo)系統(tǒng)裝置3具有第一解密單元;3B,其借助于帶密碼的第二系統(tǒng)密鑰Ksys2對傳輸?shù)募用躉EM密鑰ENC-Kcjem進(jìn)行解密。軟件組件制造商OEM的以這種方式生成或進(jìn)行解密的OEM密鑰Kqes^目標(biāo)系統(tǒng)裝置3的第一解密單元;3B提供給第二解密單元3C。然后,目標(biāo)系統(tǒng)裝置3的第二解密裝置3C借助于已經(jīng)解密的OEM密鑰對傳輸?shù)幕蚪邮盏能浖M件ENC-SWK進(jìn)行解密,并為在目標(biāo)系統(tǒng)裝置3上執(zhí)行而提供已經(jīng)解密的軟件組件SWK。在一種可能的實施方式中,目標(biāo)系統(tǒng)裝置3具有執(zhí)行單元3D,其通過母線5與用于傳感器和執(zhí)行元件的外圍元件6-1至6-Ν連接。執(zhí)行單元3D例如可以是CPU或微處理器。由第二解密單元3C重新獲取的軟件組件SWK例如可以由可執(zhí)行的程序或子程序構(gòu)成,在解密之后通過目標(biāo)系統(tǒng)裝置3的執(zhí)行單元3D直接執(zhí)行該程序或子程序。在根據(jù)本發(fā)明的用于機密地提供軟件組件SWK的系統(tǒng)1的一種實施方式中,存儲在存儲器2C中的帶密碼的第一系統(tǒng)密鑰Ksysl是帶密碼的公共密鑰Kpub。存儲在目標(biāo)系統(tǒng)裝置3的存儲裝置3E中的帶密碼的第二系統(tǒng)密鑰Ksys2,在這一實施變體中是帶密碼的私人密鑰Κ_ν。這個私人密鑰選地以防篡改的形式集成在目標(biāo)系統(tǒng)裝置3中。在根據(jù)本發(fā)明的系統(tǒng)1的一種可替換實施方式中,存儲在存儲器2C中的帶密碼的第一系統(tǒng)密鑰Ksysl和存儲在目標(biāo)裝置3的存儲器3Ε中的帶密碼的第二系統(tǒng)密鑰Ksys2是對稱加密法的帶密碼的私人密鑰。在兩種實施變體中,帶密碼的第一系統(tǒng)密鑰Ksysl和帶密碼的第二系統(tǒng)密鑰Ksys2作為密碼對優(yōu)選地由目標(biāo)系統(tǒng)裝置3的制造商生成。根據(jù)本發(fā)明的用于機密地提供軟件組件SWK的方法和系統(tǒng)通過使用密碼加密法和解密法來防止未經(jīng)授權(quán)的閱讀和操作。根據(jù)本發(fā)明的方法和系統(tǒng)能夠機密地提供開發(fā)的軟件組件SWK,其中未經(jīng)授權(quán)的第三方既不能在明文中或者作為源代碼或目標(biāo)代碼閱讀軟件組件SWK,也不能未被注意地修改軟件組件SWK,從而保護(hù)軟件組件的技術(shù)秘密。在根據(jù)本發(fā)明的方法和系統(tǒng)中,進(jìn)行兩級加密和兩級解密,其中借助于由OEM密鑰加密的軟件組件ENC-SWK將軟件組件制造商OEM的加密OEM密鑰EWC-Kra —起傳輸給目標(biāo)系統(tǒng)裝置3。在提供目標(biāo)系統(tǒng)裝置或SPS硬件以及開發(fā)環(huán)境2之前,首先生成相應(yīng)的系統(tǒng)密鑰Ksysl,Ksys20這例如可以由目標(biāo)系統(tǒng)裝置3的制造商來完成。此時,可以由目標(biāo)系統(tǒng)裝置3的制造商將第二系統(tǒng)密鑰Ksys2優(yōu)選地以防篡改的形式保存在受特殊保護(hù)的存儲器3E中。用于對軟件組件制造商的OEM密鑰加密的第一系統(tǒng)密鑰Ksysl存儲在開發(fā)環(huán)境2的存儲器2C中。為了盡可能簡化密碼傳輸,在一種可能的實施方式中,可以將公共密鑰或第一系統(tǒng)密鑰Ksysl直接通過開發(fā)環(huán)境2提供給軟件組件制造商OEM。第二系統(tǒng)密鑰,例如私人密鑰,優(yōu)選地以防篡改的方式保存在例如目標(biāo)系統(tǒng)裝置3的固件中。借助于開發(fā)裝置2開發(fā)軟件部件或軟件組件SWK的軟件組件制造商OEM,首先需要能夠?qū)iT為軟件組件SWK選擇的或可以通過推導(dǎo)從主密鑰(Master-Schlussel)中得出的機密的OEM密鑰。為了保護(hù)軟件組件制造商OEM開發(fā)的軟件組件SWK,軟件組件制造商OEM借助于集成在開發(fā)環(huán)境2中的帶密碼的軟件,在使用軟件組件制造商OEM的OEM密鑰的情況下對軟件部件或軟件組件進(jìn)行加密。在一種可能的實施方式中,加密是以對稱的方式進(jìn)行的,因為這樣可以獲得比非對稱加密法更高的性能(Performance)。采用對稱加密法,特別是當(dāng)后來在目標(biāo)系統(tǒng)裝置3中對軟件保護(hù)進(jìn)行解密時,能夠使解密速度得到顯著提高。如果對相應(yīng)的密碼不了解,就不能再讀取通過對稱加密生成的密文。用于加密的OEM密鑰在其自身方面利用第一系統(tǒng)密鑰Ksysl加密,使得這個OEM密鑰也不出現(xiàn)在明文中,從而也不能用來對之前加密的OEM軟件組件進(jìn)行解密。此時,加密的軟件或軟件組件SWK可以和加密的OEM密鑰一起發(fā)送或傳輸。將加密的OEM軟件組件和加密的OEM密鑰一起發(fā)送之后,可以將這兩個數(shù)據(jù)包載入目標(biāo)系統(tǒng)裝置3或SPS硬件中。自從提供給硬件開始,密碼存儲器3E中的第二系統(tǒng)密鑰就已經(jīng)存在于SPS硬件或目標(biāo)系統(tǒng)裝置3中了。這個第二系統(tǒng)密鑰Ksys2可以是例如私人密鑰?,F(xiàn)在使用這個私人密鑰Ksys2可以對OEM密鑰進(jìn)行解密。然后,優(yōu)選地借助于對稱解密方式使用OEM密鑰對軟件模塊或軟件組件SWK進(jìn)行解密。因此可以在SPS硬件中以明文的形式提供軟件組件用于執(zhí)行。利用根據(jù)本發(fā)明的方法和系統(tǒng),軟件組件制造商OEM可以保護(hù)其制造的軟件模塊或軟件組件SWK,并且可以重新撤消這種保護(hù),而不需在軟件組件制造商OEM與目標(biāo)系統(tǒng)裝置3制造商之間相互影響。軟件組件制造商OEM的用戶或組件制造商不能對軟件組件進(jìn)行解密,也就是說,用戶或其他軟件組件制造商不能撤銷軟件組件制造商OEM的技術(shù)秘密保護(hù)。在對軟件組件制造商OEM的軟件組件進(jìn)行加密的基礎(chǔ)上,也可以通過不安全的通道提供這些軟件或軟件組件。例如,軟件組件可以以電子形式通過互聯(lián)網(wǎng)下載被發(fā)送或發(fā)送到存儲卡MMC中。因此在使用根據(jù)本發(fā)明的方法和系統(tǒng)時,技術(shù)秘密保護(hù)與傳輸通道4的安全性無關(guān)。
權(quán)利要求
1.一種用于機密地提供軟件組件(SWK)的方法,包括以下步驟a)借助于軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Kot)將所述軟件組件(SWK)加密;b)借助于帶密碼的第一系統(tǒng)密鑰(Ksysl)將所述OEM密鑰(Kot)加密;c)所述軟件組件制造商(OEM)將加密的軟件組件(ENC-SWK)和加密的OEM密鑰(ENC-Kra)傳輸給目標(biāo)系統(tǒng)裝置(3);d)借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)對傳輸?shù)乃黾用躉EM密鑰(ENC-Kra)進(jìn)行解密;e)借助于已經(jīng)解密的所述OEM密鑰(Kot)對傳輸?shù)乃黾用艿能浖M件(ENC-SWK)進(jìn)行解密,其中提供已經(jīng)解密的軟件組件(SWK),用于在所述目標(biāo)系統(tǒng)裝置(3)上執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其中所述帶密碼的第一系統(tǒng)密鑰(Ksysl)是帶密碼的公共密鑰(Kpub),而所述帶密碼的第二系統(tǒng)密鑰(Ksys2)是非對稱加密法的帶密碼的私人密鑰(Kpriv) O
3.根據(jù)權(quán)利要求1所述的方法,其中所述帶密碼的第一系統(tǒng)密鑰(Ksysl)和帶密碼的第二系統(tǒng)密鑰(Ksys2)是對稱加密法的帶密碼的私人密鑰(K)。
4.根據(jù)權(quán)利要求1-3所述的方法,其中所述目標(biāo)系統(tǒng)裝置(3)由可編程存儲控制單元(SPS)構(gòu)成。
5.根據(jù)權(quán)利要求1-4所述的方法,其中,所述帶密碼的第一系統(tǒng)密鑰(Ksysl)和所述帶密碼的第二系統(tǒng)密鑰(Ksys2)作為密碼對由所述目標(biāo)系統(tǒng)裝置(3)的制造商生成。
6.根據(jù)權(quán)利要求1-5所述的方法,其中所述私人密鑰(Κ_ν)以防篡改的形式集成在所述目標(biāo)系統(tǒng)裝置(3)中。
7.根據(jù)權(quán)利要求1-6所述的方法,其中,在對所述軟件組件(SWK)加密時生成密碼校驗和,在對傳輸?shù)乃黾用苘浖M件(ENC-SWK)進(jìn)行解密時檢驗所述密碼校驗和。
8.根據(jù)權(quán)利要求7所述的方法,其中所述密碼校驗和由消息認(rèn)證碼(MAC)構(gòu)成。
9.根據(jù)權(quán)利要求7所述的方法,其中所述密碼校驗和由電子簽名構(gòu)成。
10.根據(jù)權(quán)利要求1-9所述的方法,其中,所述軟件組件制造商(OEM)的所述加密軟件組件(ENC-SWK)和加密OEM密鑰(ENC-Kot)被傳輸?shù)綌?shù)據(jù)載體上保存(4)。
11.根據(jù)權(quán)利要求1-9所述的方法,其中,所述軟件組件制造商(OEM)的所述加密軟件組件(ENC-SWK)和加密OEM密鑰(ENC-Kot)以數(shù)據(jù)包的形式通過網(wǎng)絡(luò)(4)傳輸。
12.根據(jù)權(quán)利要求1-11所述的方法,其中借助于所述軟件組件制造商(OEM)的所述帶密碼的機密OEM密鑰對一個軟件組件或同時對多個軟件組件進(jìn)行加密。
13.一種用于機密地為使用者提供軟件組件(SWK)的系統(tǒng)(1),具有軟件組件制造商(OEM)的至少一個開發(fā)裝置(2),在所述開發(fā)裝置上可以借助于開發(fā)工具來生產(chǎn)所述軟件組件(SWK),所述軟件組件相應(yīng)地通過所述軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Koem)來加密,其中所述的軟件組件制造商(OEM)的機密的所述帶密碼的OEM密鑰(Kot)通過帶密碼的第一系統(tǒng)密鑰(Ksysl)加密,并與加密的軟件組件(ENC-SWK)—起被傳輸(4)給目標(biāo)系統(tǒng)裝置(3),所述目標(biāo)系統(tǒng)裝置借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)首先對所述軟件組件制造商(OEM)的傳輸?shù)乃黾用躉EM密鑰(ENC-Kcjem)進(jìn)行解密,然后借助于所述軟件組件制造商(OEM)的已經(jīng)解密的OEM密鑰(Kcjem)對傳輸?shù)乃黾用苘浖M件(ENC-SWK)進(jìn)行解密,其中提供已經(jīng)解密的所述軟件組件(SWK ),用于在所述目標(biāo)系統(tǒng)裝置(3 )上執(zhí)行。
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述目標(biāo)系統(tǒng)裝置(3)具有可編程存儲控制裝置(SPS),在所述可編程存儲控制裝置中設(shè)置有私人密鑰(Κ_ν),所述私人密鑰由所述目標(biāo)系統(tǒng)裝置(3)的制造商生成。
15.根據(jù)權(quán)利要求13,14所述的系統(tǒng),其中所述軟件組件制造商(OEM)的所述OEM開發(fā)裝置(2 )通過網(wǎng)絡(luò)(4 )與所述目標(biāo)系統(tǒng)裝置(3 )連接。
16.根據(jù)權(quán)利要求13-15所述的系統(tǒng),其中所述軟件組件(SWK)具有至少一個可以在所述目標(biāo)系統(tǒng)裝置(3 )上運行的程序。
17.一種目標(biāo)系統(tǒng)裝置,特別是用于權(quán)利要求13-16所述的系統(tǒng)的目標(biāo)系統(tǒng)裝置,具有借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)對傳輸?shù)能浖M件制造商(OEM)的加密OEM密鑰(Koem)進(jìn)行解密的第一解密單元(3B),借助于由所述第一解密單元解密的軟件組件制造商(OEM)的OEM密鑰(Kot)對傳輸?shù)募用苘浖M件(ENC-SWK)進(jìn)行解密的第二解密單元(3C),和執(zhí)行由所述第二解密單元(3C)解密的軟件組件(SWK)的執(zhí)行單元(3D)。
18.根據(jù)權(quán)利要求17所述的目標(biāo)系統(tǒng)裝置,其中所述目標(biāo)系統(tǒng)裝置(3)具有可編程存儲控制裝置(SPS)。
19.根據(jù)權(quán)利要求17或18所述的目標(biāo)系統(tǒng)裝置,其中所述目標(biāo)系統(tǒng)裝置(3)具有至少一個界面(3A),用于接收所述軟件組件制造商(OEM)的傳輸?shù)乃黾用苘浖M件(ENC-SffK)和加密 OEM 密鑰(ENC-K。em)。
20.根據(jù)權(quán)利要求17-19所述的目標(biāo)系統(tǒng)裝置,其中所述目標(biāo)系統(tǒng)裝置(3)具有用于傳感器和執(zhí)行元件的外圍元件(6. 1)至(6. N),所述外圍元件通過母線(5)與所述目標(biāo)系統(tǒng)裝置(3)的執(zhí)行單元(3D)連接。
21.根據(jù)權(quán)利要求17-20所述的目標(biāo)系統(tǒng)裝置,其中所述帶密碼的第二系統(tǒng)密鑰(Ksys2)是非對稱加密法的帶密碼的私人密鑰(Κ_ν)。
22.—種軟件組件制造商(OEM)的開發(fā)裝置,特別是用于權(quán)利要求13-16所述的系統(tǒng)的開發(fā)裝置,具有借助于所述軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(Kot)對軟件組件(SWK)加密的第一加密單元(2B);借助于帶密碼的第一系統(tǒng)密鑰(Ksysl)對所述軟件組件制造商(OEM)的所述帶密碼的OEM密鑰加密的第二加密單元(2E),其中提供目標(biāo)系統(tǒng)裝置(3)的加密軟件組件(ENC-SWK)和加密OEM密鑰(ENC-Kcjem)15
23.根據(jù)權(quán)利要求22所述的開發(fā)裝置,其中所述帶密碼的第一系統(tǒng)密鑰(Ksysl)是非對稱加密法的帶密碼的公共密鑰(Kpub)。
全文摘要
本發(fā)明涉及一種用于機密地提供軟件組件(SWK)的方法和系統(tǒng)(1)。借助于軟件組件制造商(OEM)的機密的帶密碼的OEM密鑰(KOEM)將軟件組件(SWK)加密,并且然后借助于帶密碼的第一系統(tǒng)密鑰(Ksys1)將OEM密鑰(KOEM)加密。軟件組件制造商(OEM)將加密的軟件組件(ENC-SWK)和加密的OEM密鑰(ENC-K-OEM)傳輸給目標(biāo)系統(tǒng)裝置(3)。借助于帶密碼的第二系統(tǒng)密鑰(Ksys2)對傳輸?shù)募用躉EM密鑰(ENC-KOEM)進(jìn)行解密之后,借助于已經(jīng)解密的OEM密鑰(KOEM)對傳輸?shù)募用艿能浖M件(ENC-SWK)進(jìn)行解密,其中提供已經(jīng)解密的軟件組件(SWK),用于在目標(biāo)系統(tǒng)裝置(3)上執(zhí)行。這種方法可以保護(hù)開發(fā)出的軟件組件的源代碼或目標(biāo)代碼免受第三方訪問,同時還允許使用標(biāo)準(zhǔn)工具進(jìn)行處理。
文檔編號G06F21/10GK102598014SQ201080050758
公開日2012年7月18日 申請日期2010年10月14日 優(yōu)先權(quán)日2009年11月9日
發(fā)明者貝恩德·邁爾, 邁克爾·布勞恩, 馬庫斯·迪希特 申請人:西門子公司