商業物聯網 SSL CIA HSM

以受保護硬體儲存密鑰 物聯網邊緣節點更安全

物聯網(IoT)掀起了近幾10年來最大的技術浪潮,預計到2020年將有五百億台裝置實現互聯,對個人、機構和系統的影響範圍甚廣。其中,安全性成為所有物聯網系統最關鍵的部分,任何負責的商業物聯網企業都必須真正把握安全性。
在評估物聯網網路脆弱性時,開發人員將目光對準最基本的元素--邊緣節點,而做為物聯網中的物,數量眾多的感測器和執行器向物聯網提供資料,並執行來自雲端或用戶與電腦、手機、車載系統、智慧家電或其他平台交互產生的指令。

邊緣節點通常是小型低成本的智慧裝置,由於它們存取的資源有限,往往被錯誤地認為不易受到攻擊。事實上,與邊緣節點交互的伺服器及與之連接的網路已經擁有成熟的安全技術,而邊緣節點到目前為止還未具備這樣的技術。

創建安全環境的首要任務之一是穩妥地發現和證明連接到您網路的元素身分,首先,要確定是誰要連接到網路,因為如果沒有預先建立起安全的身分認證,加密和傳輸層安全協議(如SSL/TLS)做的就是從保護那些不應該進入您的網路訪問者開始。

以登錄網路銀行帳戶為例,首先在個人電腦和銀行網站之間建立一個安全的(即經過加密和認證的)連接(這是一個https連結)。然而,這個安全連結只是在個人電腦和銀行之間創建加密通信通道時對電腦進行驗證,而並沒有對使用者本人進行認證。

此時,銀行還不了解使用者是不是一個騙子,因此使用者須輸入密碼。這個密碼就是加密密鑰,理論上來講,只有使用者和銀行知道,一旦它被發送到銀行就會與已經保存的使用者密碼進行比較。如果相匹配,就能證明是使用者本人。

從這個例子可以看到,網路銀行的安全性由兩個層次來提供。第一,傳輸層建立安全連接,第二,應用層透過密碼證明(認證)身分。同樣,如果物聯網受到足夠重視,那麼物聯網的節點安全也必須由多個層次來提供。

物聯網節點也使用傳輸層安全協定來創建到雲等端點的安全連接,但要實現真正的安全,物聯網節點還必須獲得應用層的安全性。這意味著不只是通訊通道(即,管道),節點本身也需要經過認證,除了通道認證,應用層應建立加密和資料完整性檢查機制來保護流經管道的資料。

考慮到這一點,由於物聯網裝置往往是一些簡單小型裝置,而其操作絕少或毋須與人互動,因此也帶來新的網路連接範式。這通常會引發各種各樣的疑問。一方面,對基礎設施安全性的擔憂讓人們懷疑,例如「如何確定一台物聯網裝置是可信的?」甚至怎麼知道連接到您的網路的是一台真實的物聯網裝置,而不是假扮物聯網節點的某台惡意裝置。

事實上,幾宗廣泛報導的資料洩漏事故是由非安全網路節點透過假冒身分造成的,而惡意入侵者可以偽裝成一個物聯網節點從而進入公司網路。

一旦進入網路,安全性變得更加脆弱,它們最終能夠訪問受害者的客戶資料庫並破壞生產流程。如果您認為惡意入侵者除了訪問雲服務,還可能訪問並控制節點本身的操作,那麼確定節點的身分(認證)將成為一個極為重要的考慮因素。

儘管現有的SSL/TLS等網路安全技術可以很好地保護未遭受入侵的邊緣節點,與伺服器之間的通訊通道,但卻不是無敵的--不能防止非入網型攻擊。如果攻擊者控制了邊緣節點,SSL/TLS將無濟於事。

嚴密的安全性包括三個基本要素,其首字母縮寫為CIA:

•保密性(Confidentiality):儲存或以消息形式進行發送的資料都應只對授權人可見。

•完整性(Integrity):發送的消息不應在到達目的地之前被修改。

•真實性(Authenticity):可以向人們保證消息的發送者正是聲稱的本人。

滿足這些元素要求的技術有多種,其共性是使用密鑰,或私密密鑰作為驗證識別標籤的獨特部分,而如何管理這些密鑰的存儲和通訊決定了系統安全性。

目前面臨的挑戰是在實現邊緣節點安全性的同時確保可用計算能力、記憶體、電源以及預算維持在有限範圍內。

圖1 儘管有安全通道,攻擊者仍然可以從邊緣節點侵入網路。

節點安全四大破綻

一旦某個節點或裝置被確認為是可信的,便可充分獲得無數的其他好處。包括安全通訊、生態系統控制和安全存儲。

由此可見,一旦可以驗證物聯網裝置與自稱相符,使用者就可以獲得只可在可信、安全的環境中才能擁有的好處。

但是在討論解決方案之前,我們須了解邊緣節點存在哪些隱患,以便提供有效的保護。這其中包含兩個方面:識別攻擊者侵害節點的方法和了解這種攻擊的後果。

有四種方法來侵入邊緣節點。透過網路、透過外部埠、透過毗鄰攻擊(有時被稱為旁路攻擊),以及透過侵入裝置。

網路攻擊

只有網路的入口得到最好的保護才能算是安全的。處在密切監控下卻毫無保護的節點不再能夠倖免,Shodan等網路工具可以抓取網路、識別出所有未受保護的節點。

雖然TLS保護可以發揮巨大作用,但是邊緣節點的TLS實現缺陷、加密演算法未充分使用亂數、未監測出的惡意軟體、專家發起的猛烈協議攻擊,甚至是最近發現的FREAK攻擊等協議本身的弱點都可能導致細微的漏洞。即使在受到全面保護的網路中,攻擊者也可以透過偽造固件更新,並以其編寫的代碼替換合法代碼的方式來入侵防禦薄弱的邊緣節點。

埠攻擊

(有線或無線的)網路埠可能是小型基礎邊緣節點上唯一可用的連接。然而,複雜的邊緣節點可能配有插入不同感測器的模組埠、USB或其他埠,甚至是無線埠來連接一些配件、耗材(如墨水匣),或是用於測試和調試裝置。

每種埠均提供一個接入邊緣節點的機會。攻擊可能透過一個未使用的埠,或者一個可以被拆卸並更換為設計用於實現攻擊的其他硬體的配件來實施,與網路埠不同,沒有既定的標準來保護這些埠。

毗鄰攻擊

不連接任何邊緣節點也可能發生複雜攻擊,透過在無保護裝置上進行電源線竊聽,或是測量訊號發送或振動,可以提取出密鑰資訊,而利用製造功率波動等非法行為或故障可以把裝置置於無記錄非安全的狀態下。

物理攻擊

最後,堅定的攻擊者可能會拆卸邊緣節點來探查其(有/無電源的)內部電路,甚至取出並逆向處理晶片來獲取嵌入式記憶體的內容。值得注意的是,全面的安全保護必須防範所有這些攻擊模式。

簡單的感測器節點對於攻擊者來說似乎沒什麼價值,但是成功攻擊的後果卻可以把整個網路和連接到該網路的所有東西都置於危險境地。

透過突破邊緣節點,甚至是網路的安全性漏洞,攻擊者可以獲得其安全性應受到保護的所有秘密,特別是實現安全性所需的密鑰。一旦獲取了鑰匙,便可突破包括加密和消息認證在內的所有安全保護。

一旦攻擊者控制邊緣節點,他或她就可以在不引發任何警報的情況下改變網路節點的行為。對於其他的伺服器而言,被控制的邊緣節點仍然是一個可信的實體,於是繼續主動向其洩漏秘密而絲毫沒有發覺它們已經落入壞人之手。

這種洩密會削弱消費者對其財務、醫療,身分及其他資料的隱私和安全的信心。同時(在美國)還可能違反美國聯邦貿易委員會(FTC)對於貿易問題、美國醫治保險攜帶和責任法案(HIPAA)/美國食品藥品監督管理局(FDA)對於醫療保健應用,或美國證券交易委員會(SEC)/聯邦存款保險公司(FDIC)對於金融交易的規定。

對空域控制和道路交通系統等網路、電網、飛機和汽車的攻擊還可能影響公共安全,部分不安全會造成工業運作的不可靠。

圖2 透過身分驗證的節點可以獲得的眾多好處。

加密密鑰打下節點安全性基礎

有很多種協議和方法可以解決各種安全問題,而所有這些均以一種或另一種方式使用了加密密鑰。密鑰類似於密碼,但有兩個關鍵不同。

•密碼歸可以控制和隨意改變它們的用戶所有。相反,密鑰是系統固有的一部分,密鑰的某些方面必須保密,使用者並不知道其安全事務中涉及的秘密或私密密鑰。

•密碼往往很短,只有十幾個字左右。相比之下,鑰匙長而神秘,只能由電腦而不是人類來讀取。碼往往很短,只有十幾個字左右。相比之下,鑰匙長而神秘,只能由電腦而不是人類來讀取。

密鑰可能是永久性的也可能是暫時性的,這意味著可以為特定的交易或通訊會話生成,然後銷毀密鑰。在大多數情況下,密鑰是系統中的秘密。為保證這些系統的安全通訊,必須或者在創建系統時插入預先共用的密鑰,或在部署之後實地進行安全的密鑰交換。

一旦獲知對方的密鑰,系統可以使用它們來驗證消息或作為加密和解密演算法的輸入。由於多台終端裝置可能擁有相同的密鑰,將裝置序號引入演算法有助於確保如果單台裝置遭到駭客攻擊,其獲取的密鑰只在該裝置所在系統有效,而不會傷及其他,這種技術被稱為採用多元化密鑰的對稱認證。

還有許多其他類型的交易,舉例來說,人們可能透過互聯網從某個公司購買一件商品,這種交易就沒有必要與其分享用戶的秘密。因此,最安全的做法是使用公開密鑰/私密密鑰對,即所謂的「非對稱」或「公開密鑰基礎設施(PKI)」系統。

這意味著用戶有兩個密鑰:從來不與任何人分享的私密密鑰和共用的公開密鑰。它們之間透過複雜的數學關係,如RSA或橢圓曲線(Elliptic Curve)關聯起來,關鍵是要確保用公開密鑰計算出私密密鑰是極端困難的。

基於大素數分解的RSA密鑰已使用多年。橢圓曲線密碼機制(ECC)是一種新方法,由於可以用更短的密鑰達到類似的安全級別,因此減少計算量,而越來越受歡迎。這兩種密鑰都是所謂的數學陷門系統,意味著其計算是極難反轉的。(因為很容易透過,卻不可能反向走出而被稱之為陷門。)使用ECC和RSA(陷門函數)分解來嘗試確定私密密鑰的值是行不通的。

安全性最基本的要求是避免密鑰落入未授權人的手中。絕不能明文(沒有加密)傳輸密鑰,而私密密鑰更是不能在任何時間任何範圍內傳輸,包括在可以被攻擊者嗅探到簡單密鑰檢索操作的系統內;此外,用軟體實現的密鑰意味著存儲在RAM中的密鑰可以被攻擊者使用正確的工具探測到。

保護密鑰的最好方法是存儲在受保護的硬體,尤其是可以處理所有涉及密鑰計算的硬體中。這樣,密鑰不會離開它的藏身之處,並且如果措施得當,可以對任何外部觀察者屏蔽所有涉及密鑰的操作。

如果必須與其他實體共用密鑰,那麼它應該是一個使用秘密密鑰計算出來並在通信時加密的(如在使用RSA的TLS協定情況下)臨時(會話)密鑰,私密密鑰不應該離開它的保險櫃。安全地共用工作階段密鑰的另一種方式是使用橢圓曲線密鑰交換機制(ECDH)等密鑰協定演算法,安全地保護各方私密密鑰的同時只明文發送公開密鑰。

滿足CIA關鍵要求 邊緣節點安全有保障

上述已介紹邊緣節點受到攻擊的多種可能方式,所有下列措施均涉及以一種或另一種方式保存密鑰來確保挫敗這些攻擊,雖然不可能百分之百地保證安全,不過這些措施至少提供了可能的最佳保護,並確保攻擊者無法獲取關鍵系統的密鑰,且每個方法都滿足CIA重要元素的要求。

•證明進入網路的所有訪客的身分(真實性)。

•加密消息(機密性)。

•為所有消息附加消息認證碼(MAC)以證明消息沒有在途中被篡改(完整性)。

•驗證試圖附加到節點的所有配件(真實性)。

此外,可以採取以下措施防止毗鄰或旁路攻擊,這些都是可以在整個系統或只在某一關鍵子系統中採用的實用方法。

•將密鑰存儲在受到保護的硬體中,確保無電路接觸密鑰。

•遮罩系統以防止電磁輻射洩露密鑰資訊。

•添加特別電路以挫敗監控功率或其他訊號的企圖。其中可能包括虛假計數器或帶有隨機元素爭奪有用資訊的電路。

•加密存儲的密鑰。儘管可以防止電路接觸密鑰,一個堅定的攻擊者可能會嘗試剝離晶片外層來查看其內部的嵌入式快閃記憶體,並以這種方式獲取密鑰。加密可以化解這種攻擊。

•避免使用不必要的埠。有些埠看起來是有用的,例如除錯埠;但是,如果存在不使用它的可能,那麼沒有該埠,系統反到更加安全。

在整個製造過程中保護密鑰也極其重要。一個深思熟慮的方案必須要保持密鑰從其誕生到插入密鑰存儲裝置的全程機密性。使用加密格式並在受保護硬體中存儲密鑰的硬體安全模組(HSM)是一個絕佳的、行之有效的方法。

安全性是成功部署物聯網的基礎。目前,邊緣節點是物聯網安全性中最薄弱的環節,而加密密鑰的保護鎖定了邊緣節點。實現鎖定的最佳方式是採用受保護的硬體,這是保持這些密鑰和其他秘密遠離窺探的唯一途徑。

(本文作者皆任職於Atmel)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!