隨著軟件密鑰長度的增加,以適應對更高安全性不斷變化的需求,因此市場需要更多種類的加密實現。隨著最近內核設計和頻率性能的改進,設計人員現在開始詢問這些安全算法是否仍需要定制IP模塊。簡而言之,設計人員是否可以在硬件中使用通用內核來節省空間和成本,并將密碼算法嵌入軟件中?答案很簡單——嗯,沒那么簡單——這取決于需要。
介紹
加密算法是高性能、安全的引擎,在設計中需要相當大的空間。當添加對策以阻止安全攻擊時,空間和內存要求變得更加苛刻。由于這些原因,加密算法傳統上作為專有設計(即知識產權,IP)嵌入到智能卡或8位芯片上的硬件中。隨著最近內核設計和頻率性能的改進,設計人員現在正在詢問這些安全算法是否仍然需要定制的IP模塊。簡而言之,設計人員是否可以在硬件中使用通用內核來節省空間和成本,并將密碼算法嵌入軟件中?答案很簡單——嗯,沒那么簡單——這取決于需要。
保密科學
密碼學最初被設計并被稱為保密科學。它是國王、將軍、間諜和大使的武器。在上個世紀,密碼學已經成長為一個更復雜的工具箱,為用戶提供信息信任。
加密設備的歷史悠久,比微處理器的歷史還要長。(提醒一下,密碼學及其陰暗面密碼分析是計算機技術的起源,這要歸功于Colossus項目。1軍隊和外交官開發了加密機器來保護他們的通信。根據所需的強度(即戰場上的戰術通信比外交信息的壽命短),這些機器滿足了幾個限制:速度、可靠性、完整性、機密保護、易用性和可接受的成本。
當安全需求蔓延到民用世界時,新技術和制約因素隨之發展。非對稱加密2這些市場尤其飆升,而成本成為一個更大的問題。與此同時,信任、真實性和可信度始終是金融和銀行市場的首要考慮因素。只有當加密機制能夠取代傳統的面對面協議和握手時,遠程金融交易才有可能。
因此,最早的加密設備嚴格致力于安全性。憑借類似于地板保險箱的外形尺寸,不斷發展的硬件安全模塊 (HSM) 可以安全地托管和處理大多數密鑰。HSM 由鋼制成,很重,過去和現在都與軍用加固箱非常相似。這些安全模塊由一個安全盒和處理的安全密鑰組成,主要用于身份驗證,但也用于密鑰生成、PIN 碼生成和密鑰保護(存儲)。開發了安全標準,例如 NIST FIPS 140-2 認證計劃、用于智能卡的 EMV 標準和通用標準 (ISO 15408),然后加速了這些設備的部署。?
機密性、完整性和身份驗證
首字母縮略詞CIA(代表機密性,完整性和身份驗證)象征著密碼學今天可以提供的主要服務。用最簡單的術語來說,它為明確識別的威脅提供了準確的答案。
需要保密以避免竊聽和未經授權訪問所有者只想與授權人員共享的敏感數據。因此,大使館向其外交部發送照會;間諜傳輸行動的結果,其他人不得閱讀所寫的內容(“僅供你的眼睛使用”)。在消費者的世界里,只有授權用戶才能訪問的付費電視節目的傳輸需要保密性。需要保護通過公共網絡傳輸的個人數據,否則這些數據很容易訪問。移動電話和Wi-Fi連接就是典型的例子。?
完整性可保護未經授權和/或不受控制的修改。修改設備意味著改變行為(軟件已被修改)和由此產生的置信度喪失(數據不再可信)。這種類型的惡意修改通常是在設備所有者被誤導時在其他可信賴設備上運行的惡意軟件完成的。銀行數據對這種威脅特別敏感,因為如果金融交易被惡意修改,數據完整性就會丟失。
身份驗證保證了信息的來源。如果來源未經驗證,信息有多大價值?顯然,答案取決于該信息的來源和敏感性。已簽名的合同會提交簽名者,因此身份驗證與合同內容本身一樣重要?,F代移動設備和 PC 僅接受經過身份驗證的授權應用程序更新和/或修改。這可確保沒有人控制設備并運行未經授權的軟件。身份驗證可保護設備或組件免遭偽造。受信任的元素不僅可以證明其來源,還可以驗證其所附加到的設備的來源。因此,電池、打印機墨盒或耗材向托管設備顯示其“憑據”,而托管設備又對該耗材進行身份驗證“信任”。
加密算法需要成本
加密社區開發了許多算法來確保這些安全服務。非對稱密碼學基于數論,對稱密碼學基于更實用的“配方”。由于它們被廣泛采用和發布,這些算法今天可以作為標準使用,通常很容易測量并擴展到應用程序。
這些算法有一個明顯的缺點,即為已識別的威脅提供準確的答案:成本,或者更準確地說,成本。成本是根據執行時間、內存使用、功耗和芯片表面來衡量的。這些都不是微不足道的小問題;眾所周知,他們過去曾阻止甚至阻止在設備中實施有效的安全措施。專有算法和加擾算法是設計捷徑,在行業中經常使用,并被認為足夠了。誠然,這些快捷方式消耗的資源更少或簡化了安全管理。這些解決方案總比沒有好,并不能真正阻止攻擊者。相反,專業的安全方法可以促進對客觀識別的威脅進行可靠、標準化和適當的防御。
安全行業早就了解這些原則。它的所有歷史都表明,在最低實施成本與所需安全級別的權衡之間不斷斗爭。一個明顯的例子是非對稱加密(例如,RSA,橢圓曲線),其中密鑰長度對應于安全級別;密鑰越長,保護越強。但在這種情況下還有一條規則適用:密鑰越長,復雜性就越高。重述,計算時間更長,所需資源更大。謹慎的風險評估估計哪個密鑰長度足以完成任務,因此,實施所需的最低復雜程度是多少。事實上,今天在簡單設備上使用的RSA密鑰正在非常緩慢地延長,而設備的計算能力卻在增加。最后,使用太短的鍵會削弱實現;使用太長的密鑰是不必要的昂貴。
嵌入式密碼學的演變
加密算法最常用于智能卡。該芯片通過檢查持卡人憑據(通常是PIN碼)和執行加密操作來確保安全性。
這些卡在架構方面非常簡單,最初嵌入了算法和8位內核,運行頻率為幾十兆赫。嵌入式算法提供了一些服務,但絕對無法執行任何加密計算。出于這個原因,必須添加加密硬件塊。
最初,加密硬件塊僅執行對稱加密操作,因為算法不如非對稱對應算法復雜。因此,這些硬件塊存在很強的安全限制,因為它們需要仔細管理卡個性化、密鑰分發和密鑰多樣化。此外,無法執行板載RSA計算導致了安全漏洞。因此,EMV靜態認證方案是用于卡認證的唯一方法。因為這些卡并不是那么“聰明”,所以該方案很容易受到欺詐卡的攻擊。
黑客繼續利用RSA硬件塊的弱點,而該硬件的成本也在下降?;诎遢dRSA計算的更安全的身份驗證方案出現了。盡管如此,芯片成本仍然限制了所用密鑰的長度,內核仍然無法執行復雜的計算。
其他形式因素出現在 1990 年代。Maxim的iButton器件通過提出創新的密鑰保護方法和使平臺更加靈活,增強了安全性。PCMCIA卡也因其易于在PC中接受,快速的數據交換速率和更大的外殼而非常受歡迎。?
盡管取得了所有這些進步,但直到2003年,密碼學的架構仍然保持不變:一個緩慢的8位內核,通常是8051,由加密硬件塊支持。其他限制仍然存在:RAM大小?。ㄍǔ閿蛋僮止潱?,以及應用程序范圍有限(主要是ROM代碼,特別是對于智能卡)。后來出現的非易失性存儲器(如EEPROM和閃存)增加了某些應用的靈活性,但并沒有顯著改變加密條件或應用方法。
針對不斷變化的安全需求進行重新設計
對于安全性優先級較低且設備不太關注加密/安全需求的應用程序,軟件實現通常是靈丹妙藥。如今,檢查完整性并驗證嵌入式固件真實性的引導加載程序通常用于防止對消費者和工業設備的大多數威脅。這些不太復雜的安全應用程序的基本加密需求是哈希函數和數字簽名驗證,所有這些都可以通過軟件實現來解決。該軟件實現顯然比嵌入式保護更簡單,并且不會影響芯片尺寸。它不需要可能不是每個客戶都使用的專用硬件塊,最后也不會增加系統成本。
當然,應用程序在發展。如果昨天不需要安全,明天可能變得至關重要。由于現有解決方案中沒有嵌入加密塊,因此只有加密軟件和后續更新將提供加密升級。如果安全需求很高并且必須嵌入到硬件中,則需要重新設計設備,這會導致潛在的解決方案故障。
這一過程的一個典型例子是能源計量,這是一個標準化尚未完成的行業,專有解決方案和計劃仍有相當大的自由度。與使用軟件添加簡單的加密服務相比,將安全芯片添加到現有電表可能過于復雜(即,額外的芯片和未確定的PCB修改),太昂貴,因此為時過早。如果只是在儀表生命周期中的某些時間偶爾使用,所有這些甚至可能都不需要。成本與風險分析將量化儀表制造商和用戶的價值和回報。從歷史上看,如果在大眾市場中增加安全性的理由不明顯,那么安全性總是因其額外費用而被拒絕。
加密軟件引入新風險
現在是時候承認,通過加密軟件增加安全性確實有其自身的風險。當算法執行在其他應用程序同時運行的環境中執行時,來自計時度量或時序變化或緩存數據的信息泄漏可能允許這些其他應用程序檢索有關已處理密鑰的信息。3這種威脅是嚴重的,任何“開放”平臺都會受到這種威脅的影響。只有經過身份驗證的平臺,特別是運行經過身份驗證的應用程序的平臺,才應被視為設計可接受的平臺。
了解權衡:加密硬件還是軟件實現?
您可能會問自己是使用軟件還是硬件實現來獲得所需的安全性。答案取決于需求:應用程序真正需要多少安全性?
在很多情況下,使用加密硬件實現安全性是最有意義的。當需要像付費電視或SSL加速器一樣處理大量安全數據時,可以在硬件中最好地實現高性能安全性。
如果使用快速微控制器實現安全性,則數據處理速度將比使用外部軟件實現更快。硬件模塊還可以簡化設計,避免內核處理數據的問題。在應用程序執行時同時處理數據可提供更好的實時系統性能。最后,回想一下,硬件實現的成本高于軟件實現。
為了使主題進一步復雜化,請注意,硬件或軟件實現之間的權衡可以存在于同一應用程序中。在這種情況下,最終的設計決策應基于密碼學的不同預期用途。對稱的批量加密需求可以在硬件中解決,而身份驗證、密鑰交換和協議設置最好由軟件解決。最終,關于如何設置密碼學的決定將基于時間、空間、成本或所有平衡。
還有另一個非常重要的情況需要考慮。如果應用程序不知道正在使用加密機制,則加密必須在硬件中。這種情況最典型的例子是出于程序安全而動態自動加密/解密。只有加密硬件可以透明地處理此類服務,因為它允許從不安全的上下文輕松移植和執行軟件到非常安全的上下文,而無需額外費用。假設加密引擎配置已完成,則一切都以透明方式執行。這種嵌入式加密解決方案存在于多個芯片上,從MAXQ系列RISC微控制器到DeepCover安全微控制器(USIP)平臺。像這些設備這樣的嵌入式解決方案有主要的好處:軟件開發不需要開發密碼學,甚至像完整的Linux操作系統這樣的復雜軟件也可以輕松移植到安全平臺,而無需修改代碼。???
一些傳統情況傾向于硬件加密。具有非常小內核的芯片(如IC的“古老”時代)沒有資源或時間以合理的方式執行加密計算。即使考慮到非常優化的實現,也是如此。RSA 加密幾乎在每個平臺上都是可行的,而 RSA 解密對于密鑰長度大于 1024 位是完全不現實的。
當由于芯片不嵌入任何內核而沒有軟件執行空間時,硬件中的加密是唯一的解決方案。這種情況在成本面臨壓力且安全性不是銷售優勢的消費品中很常見。事實上,這就是制造商希望保護其知識產權免受造假者或競爭對手侵害的地方和方式。雖然這種防御性功能沒有向客戶聲明或推廣,但它仍然以盡可能低的成本存在。保持這些低成本意味著最小的芯片尺寸,這意味著芯片功能最小化。我們通常只在這些情況下看到身份驗證芯片。這些芯片執行對稱的加密計算,這涉及挑戰和響應:發送秘密并接收身份驗證。對稱質詢和響應密碼學現在通常用于筆記本電腦和手機的電池,因為制造商非常關注假冒。
隨機數生成(如果不是偽隨機)也需要在硬件中進行加密實現。隨機數的質量(即真正的隨機性)和易用性(即不需要存儲狀態號)要求硬件資源。理想情況下,軟件后處理可以通過應用單向函數來幫助生成更多數字。
金融終端對安全性要求更高
最近的標準,如EMV,萬事達卡PayPass。??,或VISA PED導致了新類別安全設備的開發和改進。今天,每當人們談到智能卡時,你實際上指的是智能卡讀卡器。通過 PIN 碼進行身份驗證意味著對該 PIN 碼的保護,最后,PIN 碼加密意味著可以使用加密服務。?
這種增強安全性的最大市場之一是金融終端,銷售點(POS)和自動取款機(ATM)。雖然POS機和ATM機已經在使用磁條技術,但由于銀行和信用卡計劃的大力支持,EMV標準的實施最近激增。從美國國內的幾個市場,POS機和ATM已經擴展到一個全球性的標準化市場。與支付交易相關的服務正在增長,因為POS和ATM設備現在托管豐富的多個應用程序。事實上,這些商業設備現在的功能更像消費類設備,因為它們在計算能力方面就像舊的PC,它們通過回收技術(例如觸摸屏,顏色,便攜性,設計)來模仿智能手機。
然而,與種類繁多的消費設備不同,金融終端仍然需要高水平的安全性。這些終端是篡改的關鍵目標,因此標準 PCI PTS 地址的安全性必須包括物理保護和廣泛使用加密技術。
智能卡架構不再是保護這些金融終端的唯一選擇?,F在兩種主要方法并存,雙芯片架構和單芯片架構。
雙芯片架構結合了多用途、通用、32位功能強大的微控制器和更小的配套安全芯片。此體系結構使制造商能夠將安全服務和其他服務分開;安全芯片處理安全服務,而其他服務由通用微控制器尋址。安全芯片可能具有足夠的計算能力,但它通常包含加密硬件塊。這種配置主要用于歷史原因,因為這些芯片通常繼承基于智能卡或iButton設備等先行者設計的技術。此方法允許您將具有現成芯片的加密服務添加到已設計的舊技術的繼承認證中。當這種“智能”軟件運行并利用硬件塊時,用戶可以實現幾乎所有常用算法。因此,軟件的靈活性和硬件的性能結合在一起,以實現最大的結果。
單芯片架構使用具有強大 32 位內核的單芯片,時鐘頻率為數百兆赫,能夠運行具有圖形效果的豐富操作系統并處理各種通信鏈路(例如以太網、Wi-Fi、移動)。該芯片解決了所有加密任務,并且很有意義,因為它可以利用軟件的大量資源來實現幾個明顯的好處。
算法選擇的靈活性;向平臺添加新算法就像軟件更新一樣簡單。
滿足性能與應用需求相對應。
無限制地支持較大的密鑰長度,從而延長了安全設備的使用壽命。
添加簡單的對策。
芯片上沒有額外的成本;由于加密使用,沒有芯片增加。
這種安全單芯片的一個例子是Maxim USIP PRO,它非常有效地運行最常見加密算法的軟件實現(表1)。
算法 | 速度 |
SHA-1 | 2083kBps |
RSA 2048 CRT 解密 | 400毫秒 |
RSA 2048 加密 | 18毫秒 |
ECDSA P-192 標志 | 23毫秒 |
ECDSA B-163 標志 | 16毫秒 |
此性能表明,通常的加密需求(如 PCI PTS 要求中表示的需求)可在可接受的時間內得到解決。
結論
隨著軟件密鑰長度的增加,以適應對更高安全性不斷變化的需求,因此市場需要更多種類的加密實現。新算法(橢圓曲線)可能會降低應用程序的復雜性,但設計人員仍然必須在軟件或硬件中實現安全性之間進行權衡。盡管特定服務、利基市場或非常小的芯片總會有例外,但嵌入式密碼學正在取代軟件密碼學,提供更廣泛的服務。金融交易的高度安全性是一個及時的例子,說明為什么以及如何只有嵌入式密碼學才能保護這些系統及其用戶。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7572瀏覽量
151653 -
芯片
+關注
關注
456文章
50967瀏覽量
424874 -
以太網
+關注
關注
40文章
5442瀏覽量
172056
發布評論請先 登錄
相關推薦
評論