用于用密碼處理數據的方法
【專利摘要】本發明涉及用于用密碼處理數據的方法,所述數據在第一單元和控制設備之間被交換。在此,由秘密密鑰(160)和標志得出的衍生密鑰(164)被使用。
【專利說明】
用于用密碼處理數據的方法
技術領域
[0001 ] 本發明涉及一種用于用密碼(kryptographisch)處理數據的方法,所述數據在第一單元(例如測試器)和被設置用于機動車的控制設備之間被交換。此外,本發明還涉及一種用于執行該方法的裝置。
【背景技術】
[0002]控制設備是例如在機動車中被采用的電子模塊,以便對過程進行控制和調節。對此,控制設備與機動車的如下部件相關聯:所述部件的運行利用相關聯的控制設備而被監控。對此,該控制設備讀入由傳感器所檢測到的數據并且通過執行機構的激勵而對該運行產生影響。
[0003]所描述的方法可以與電子安全模塊相結合地投入應用,所述電子安全模塊在控制設備中、尤其是在機動車領域中在與安全相關的領域中被采用。在與安全相關的領域中的大多數應用的情況下,不可操縱的或者不可查看的數據存儲是重要的要求。在這種情況下,在對稱的或者非對稱的加密方法中投入應用的密碼密鑰被采用。
[0004]所使用的密鑰和加密方法是必須對攻擊者保密的秘密。在與安全相關的領域中的其他應用例如涉及預防不被允許的改變、例如對被改變的序列號或者已行駛的公里數的存儲、禁止不被許可的調整措施等等。
[0005]因而必要的是在控制設備中提供安全的環境,在所述安全的環境中可以實施必須查看和/或改變這些秘密的功能。這些環境總是具有安全的計算單元或CPU(也被稱作安全CPUCsecure CPU))以及存儲模塊。在這一點上,這種環境被稱作硬件安全模塊(HSM:Hardware Security Module)。該硬件安全模塊是具有硬件部件和軟件部件的有工作能力的模塊,所述有工作能力的模塊改善對嵌入式系統的保護和值得信任性。在此,該HSM尤其是支持對與安全相關的應用和數據進行保護。利用HSM,安全成本同樣可以被減少,而同時可以提供對攻擊者的有效預防。關于HSM的基本結構參閱圖3。
[0006]在這一點上,如下測試環境被稱作測試器:該測試環境用于測試控制設備的運行能力。對此,軟件、尤其是被包含在容器(Container)中的軟件從該測試器被傳輸到控制設備上。
[0007]要注意的是,秘密的數據和代碼序列可以以簡單的方式從未被加密的軟件容器中被讀出,例如用于供給數據(Bedatung)。為了避免這曾建議,在傳送之前對數據進行加密。在公知的方法中設置,在軟件容器中傳輸被加密的數據連同密鑰。因此,為了進行加密所必要的密鑰相對不安全地存在,這導致對數據的安全性的損壞。
[0008]要注意的是,目前在控制設備中,對于軟件容器的加密,從制訂(Erstellung)直到軟件容器的解密沒有普遍的方法可供使用。
【發明內容】
[0009]在所述背景下,一種根據權利要求1所述的方法和一種具有權利要求10的特征的裝置被介紹。所述方法和裝置的構造方案由從屬權利要求和說明書得知。
[0010]利用所介紹的方法,如下行為方式被初次提供:所述行為方式可以在控制設備中從軟件容器在制訂時的加密直到該軟件容器的解密普遍地投入使用。由此,數據在第一單元(例如測試器)和控制設備之間的安全傳輸是可能的。
[0011]所介紹的方法因此在一構造方案中被考慮用于對數據進行加密,并且在另一實施形式中被考慮用于對數據進行解密。在另一實施方案中,該方法從加密直到解密被普遍采用。用密碼處理因此包括數據的加密和/或解密。
[0012]本發明的其它優點和構造方案由說明書和附上的附圖得出。
[0013]不言而喻的是,在前面所提到的和在后面還要闡述的特征不僅以分別說明的組合而且以其他組合或者單獨地是可使用的,而不離開本發明的范疇。
[0014]此外,所介紹的方法尤其是與HSM相結合地投入使用,如該HSM在這一點上被描述的那樣。可是,該方法不限于與HSM相結合的使用。這一切也適合于在這一點上被描述的裝置。
【附圖說明】
[0015]圖1不出了信任金字塔(Vertrauenspyramide)。
[0016]圖2以示意圖示出了HSM的功能。
[0017]圖3以示意圖示出了HSM的實施方案的結構。
[0018]圖4示出了根據現有技術的對軟件容器的加密。
[0019]圖5示出了所介紹的方法的可能的實施形式。
【具體實施方式】
[0020]本發明依據實施形式在附圖中示意性地被示出并且在下面參考附圖詳細地被描述。
[0021]然而為了信任IT系統它總是如這被期望的那樣行動,要求相繼地信任所有被相互連接的層,以便產生值得信任的IT系統。
[0022]圖1示出了用于典型的IT系統的被稱作TrustPyramid的信任金字塔。該信任金字塔總體用參考數字10標明,并且包括針對組織安全性的層12、針對系統安全性的層14、針對硬件安全性的層16、針對軟件安全性的層18和針對信任或Trust的最上層20。
[0023]為了可以信任整個IT系統,必要的是每層都可以信任在其下面的層的有效的安全性,而不能直接驗證這一點。這例如意味著,完美的軟件安全性解決方案和硬件安全性解決方案可以通過弱的在其下面的安全性系統設計而被證明為是無用的。除此之外可能存在的是,可能的弱點在系統設計中沒有被檢測到或者通過上面的硬件層和軟件層而被阻止。
[0024]與典型的Back和IT系統相反,嵌入式系統的硬件層常常遭受物理攻擊,所述攻擊通過物理手段影響硬件功能或者軟件功能(例如操縱閃速存儲器(Flash-Speicher)或者禁用報警功能)。使這種攻擊變得困難的辦法在于,尤其是采用被操縱保護的(manipuliergeschuetzt)硬件安全模塊(HSM),如這些硬件安全模塊例如在圖2中被示出的那樣。這種HSM例如通過強的物理屏蔽保護重要的信息(例如個人標識號碼(PIN)、安全密鑰)和關鍵的操作(例如P IN驗證、數據加密)。
[0025]在下面示出HSM可以如何被構造,并且該HSM的什么樣的功能可以被執行,以便改善嵌入式系統的安全性。
[0026]圖2示出了典型的硬件安全模塊的核心功能。該圖示示出了軟件層30和被保護以免未經準許的訪問的硬件層32。
[0027]軟件層30包括一系列應用34,所述應用34中的三個在這里被示出。此外還設置有操作系統36。硬件層32包括嵌入式標準硬件38和硬件安全模塊(HSM)40。在該HSM 40中,設置有用于接口和控制裝置的第一塊42、用于安全加密功能的第二塊44、用于安全功能的第三塊46和安全存儲器48。
[0028]安全存儲器48是在所述被操縱保護的HSM40之內的例如具有數千字節容量的小的非易失性數據存儲器,以便阻止沒有被授權的讀出、對關鍵信息、諸如密碼密鑰、密碼證書或者認證數據(例如PIN或者口令)的操縱或者清除。此外,所述HSM 40的安全存儲器48還包含所有HSM配置信息(例如HSM 40的所有者的信息或者對受保護的內部單元的訪問授權)。
[0029]在用于安全加密功能的第二塊44中包含有:被用于數據加密和數據解密的密碼算法(例如AES或者3DES)、數據完整性增強(例如MAC或者HMAC)或者數據源驗證(例如通過使用諸如RSA或者ECC的數字簽名算法)和所有附屬的使用密碼的活動(諸如密鑰產生、密鑰驗證)。
[0030]在第三塊46中的安全功能包括所有不是直接與使用密碼的方法相關聯的被保護的功能,其中該HSM 40用作物理上受保護的“信任銷(Trust Anchor)”。這可能例如是物理上被保護的時鐘信號、內部的隨機數生成器、加載程序保護機制或者任何一個關鍵的應用功能,例如以便實現加密鎖(s i cherer DongI e )。
[0031 ]用于接口和控制裝置的第一塊42包括內部的HSM邏輯,所述內部的HSM邏輯實施與外部世界的HSM通信并且管理所有內部的基礎部件的運行,如這些基礎部件在前面被提及的那樣。
[0032]硬件安全模塊40的所有功能基礎部件(如其在前面所描述的那樣)被連續的物理邊界包圍,這阻止:內部數據和過程可能被監聽、被復制或被仿制或者被操縱。這會導致未被授權的用戶可以使用或者危害壞內部秘密。使用密碼的邊界通常利用具有專用訪問保護手段的算術的和物理的時間通道對策(Zeitkanal-Gegenmassnahmen)(例如特定的屏蔽或者涂層)而被實施,以便使得邊信道防范(Seitenkanalwiderstand)、訪問提示、訪問防范(Zugriffswiderstand)或者訪問應答成為可能。
[0033]所述HSM40可以如何改善嵌入式產品解決方案的安全性在下面被陳述:
所述HSM 40通過物理屏蔽保護關鍵信息(例如身份、簽名密鑰或者密鑰),所述物理屏蔽不能由于軟件易受侵蝕性而被規避。
[0034]在此,所述HSM40可以幫助檢測、削弱或者擋住強大的POI(感興趣點(Point ofInterest))攻擊者,其方式是甚至針對被授權的用戶實施有效的邊信道防范屏障和訪問保護屏障,所述有效的邊信道方法屏障和訪問保護屏障此外還有強烈的訪問限制。例如一些信息總是排外地被保持在HSM 40之內。
[0035]所述HSM40可以加速安全機制,在所述安全機制中確定的加速電路被應用。
[0036]利用HSM40,安全成本可以被減少,其方式是添加例如用于標準化的密碼術的高度優化的專用電路。
[0037]HSM的可能的結構在圖3中被示出。該圖3示出了被嵌入到環境中的HSM 70。該圖示示出了主計算單元72、系統總線74、具有要共同使用的區的RAM組件76和測試程序78或具有相關聯的硬件80和接口82的調試程序,其又包括寄存器84。此外,該圖示還示出了用于閃爍代碼(Flash-Code)的具有數據區88和安全區90的存儲器組件86,在所述安全區90中包含安全的核心數據。
[0038]在HSM 70中設置有用于測試程序78的接口 100、安全計算核心102、安全RAM組件104、隨機生成器106(例如TRNG或者PRNG)和密鑰108(例如AES)。
[0039]在所介紹的方法中,已經存在的用于例如利用實時數據追蹤(RealTime TrackData;RTTD)來識別操縱或者例如借助于MPU、管理程序(Hypervisor)來識別超出存儲器邊界和例如借助于看門狗(Watchdog)、操作系統來識別超出運行時間邊界的機制被HSM分析利用,并且必要時由其得出功能的禁用或轉換到替代功能。
[0040]例如通過所述MPU確定功能是否離開與該功能相關聯的存儲區。可替換地或者補充地,通過所述看門狗可以確定的是,所述功能是否違背對運行時間的要求。在此,在主計算核心的操作系統和HSM之間的緊密聯系存在,也就是說,所述HSM可以定期地將功能是否允許被實施的信息給予所述操作系統。
[0041 ] 現行的安全基礎設施被用于激活新的性能特征或專題節目(Feature)。在該概念的情況下,對新的專題節目的事后的編程是可能的。要注意的是,到目前為止要激活的專題節目已經在機上(onboard)。如果后安裝的APP要不正確地正常工作,則可以被再次切換回到之前的軟件。
[0042]圖4示出了根據現有技術的用于對軟件容器進行加密的方法。在此,該軟件容器可以在測試器和控制設備之間被交換。首先,存在軟件容器120,數據未被加密地被存放在所述軟件容器120中。這些數據利用秘密密鑰122被加密124,使得容器126將保存被加密的數據。該容器連同秘密密鑰被傳輸到控制設備128,所述控制設備128具有秘密密鑰被存放在其中的區域130(所謂的客戶塊(Customer Block(CB)))。
[0043]由于除了被加密的數據以外也還傳輸相對地未被保護的適用于解密的秘密密鑰的事實,該方法是不安全的。
[0044]在圖5中示出了所描述的方法的實施形式。在該圖示中,在上方利用箭頭140標明地描述了被加密的軟件容器的制訂,而在下方利用箭頭200標明地描述了所述軟件容器的解密。
[0045]在所述用于進行加密的方法中,所謂的PKI(公鑰基礎設施(Public-Key-1nfrastruktur)) 150和在這一點上也被稱作工具鏈(tooI chain)的工具環境152投入使用。所述PKI 150是可以簽發、分發和檢查數字證書的系統。
[0046]在PKI 150中存放有秘密的、在該實施方案的情況下為對稱的密鑰160。在PKI 150中從所述秘密密鑰160得出另一秘密密鑰164,所述另一秘密密鑰164隨后也被稱作衍生(abgeleitet)密鑰164。這利用所述秘密密鑰160和隨機數166實現,所述隨機數166在本情況下為在工具環境152中生成的并且在步驟170被傳送給PKI 150的標志。
[0047]在另一步驟172中,該衍生的秘密密鑰164由所述PKI 150被傳送給所述工具環境152。在其中存放有數據或軟件的軟件容器162供所述工具環境152支配,在其上,工具環境152利用衍生的秘密密鑰164對所述數據進行加密。于是,工具環境152清除所述衍生的秘密密鑰164。緊接著在步驟176中,被加密的容器180由所述工具環境152利用被加密的數據182和存放有隨機數166的區域184來制訂。
[0048]該圖示在下方利用箭頭200標明地示出了在與在這一點上已經曾被稱作CB的區域204相結合地進行解密的情況下對HSM 202的采用。首先,來自其中存放有秘密密鑰160的HSM 202的編程軟件要求利用隨機數166得出所述秘密密鑰160。為此,在第一步驟210中,所述隨機數166從區域204被傳輸到HSM 202中。所述HSM 202由其得出衍生的秘密密鑰164。
[0049]此外,該編程軟件在另一步驟212中將用于進行解密的被加密的軟件容器遞交給HSM 202。那么,所述HSM 202利用衍生的秘密密鑰164對軟件容器解密。
[0050]重要的是,在傳輸時沒有秘密密鑰必須被一起傳輸,而是僅僅是對于未經準許的攻擊者來說單獨地不足以對所傳送的數據進行解密的標志(例如隨機數)被一起傳輸。
【主權項】
1.用于用密碼處理數據的方法,所述數據在第一單元和被設置用于機動車的控制設備之間被交換,其中由秘密密鑰(160)和標志得出的衍生密鑰(164)被用于用密碼進行處理。2.根據權利要求1所述的方法,其中,所述數據被加密,對此使用所述衍生密鑰(164)。3.根據權利要求2所述的方法,其中,所述數據在提供標志的工具環境(152)中被加密。4.根據權利要求3所述的方法,其中,隨機數(166)用作標志。5.根據權利要求2至4之一所述的方法,其中,所述秘密密鑰(160)由公鑰基礎設施(150)提供,所述公鑰基礎設施(150)基于所述秘密密鑰(160)和所述標志確定所述衍生密鑰(164)。6.根據權利要求1至5之一所述的方法,其中,軟件容器(162)中的數據連同標志從所述第一單元被傳送到所述控制設備。7.根據權利要求1所述的方法,其中,被加密的數據、尤其是根據按照權利要求2至6之一所述的方法之一而被加密的數據被解密。8.根據權利要求7所述的方法,其中,所述被加密的數據在硬件安全模塊(40、70、202)中被解密。9.按照權利要求1至8之一所述的方法,其中,用于測試所述控制設備的測試器被用作第一單元。10.用于用密碼處理數據的裝置,所述數據在第一單元和被設置用于機動車的控制設備之間被交換,其中所述裝置被設立成針對用密碼進行處理而使用衍生密鑰(164),所述衍生密鑰(164 )由秘密密鑰(160 )和標志得出。
【文檔編號】G06F21/64GK105827388SQ201610048269
【公開日】2016年8月3日
【申請日】2016年1月25日
【發明人】B.卡斯佩爾, T.施韋普, A.佐恩肯斯
【申請人】羅伯特·博世有限公司