• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 現實世界中的嵌入式安全

    現實世界中的嵌入式安全

    作者: 時間:2011-05-02 來源:網絡 收藏

    假如您是一位電子工程師,受聘于一家公司,職責是為汽水自動售貨機添加性能。在面試時,憑著對加密技術的淵博知識,您給新雇主留下了深刻印象。現在,表現的時候到了。從表面看來,這個工作應該像利用優良的加密算法挑選芯片一樣簡單,但可不是這樣簡單的。

    本文引用地址:http://www.czjhyjcfj.com/article/150810.htm

    自動售貨機等嵌入設備的隱憂
    為什么要召集大隊人馬來保護汽水自動售貨機?因為汽水自動售貨機存在隱憂,而且各地的機器制造商都感受到了這種實際存在的問題。通過機器固件提高安全性呈現出日益上升的趨勢,雖然乍一看來,這些機器似乎并不需要這樣的安全性能。汽水自動售貨機是本文所選取的一個例子,你不難想到其他這樣的例子:例如停車計時器、自助洗衣房里的洗衣機和烘干機、收費亭和售票機等。


    目前的售貨機正在實現聯網,以便提供有助于削減運營成本和增加收益的直觀實時信息。現在,機主可以知道哪臺機器需要維修,而且掌握著相關資料,可以選擇最適合的產品組合并安裝機器。實時信息是對抗競爭和盜賊的有利武器。利用這一信息流的競爭者可以利用這些信息來提高產品的競爭攻勢,也可隱藏機主信息(例如,拒絕服務攻擊)。同樣,現在盜賊也知道可以搶劫哪臺機器或者何時進行搶劫。

    圖1 越來越多的應用領域發現了實現機器聯網的價值,從而引發了對安全的需求

    如何實施保護
    上面做了簡要的介紹,得出的結論是:產品設計者必須保護由自動售貨機發送的信息。一種相當簡單的方法就是對網絡上的信息進行加密,并防止自動收貨機內的密鑰和固件被非法訪問。


    網絡信息的加密簡單而直接。首先,確定一種良好的加密算法,最佳候選算法是那些公開算法而非私密性算法,因為公開算法已經通過了公眾檢驗,高級加密標準(AES)算法便是一個很好的例子;接著,在自動售貨機的MCU中應用該算法。為了實現這一點,您可以通過在固件中嵌入該算法,也可以選擇在硬件中固化該算法的MCU。


    最后但同樣重要的是,按照推薦模式使用算法。為了通過加密算法實現信息的安全性,所需的不僅僅是將明文順序全部打亂以獲得密文。大部分公開的算法都有運行的推薦模式,以此來保證它們加密數據的保密性。


    AES可用的樣例模式包括密碼段鏈接(CBC)、密碼反饋(CFB)、填充密碼塊鏈接(PCBC)、輸出反饋(OFB)和計數器(CTR),可將他們按照不同組合方式來加以使用,從而提高加密強度。有關這些算法類型和使用的深入討論不屬于本文討論的范圍。需要知道的一點是,僅僅擁有這些算法并不能保障安全。


    防止無正當理由獲悉密鑰或未經授權訪問固件,這種做法不是那么直接,因此理解起來難度較大。對于許多安全措施而言,這往往最容易產生弱點。這一弱點源自對攻擊者資源的低估和對硬件防入侵篡改的集成電路價值的低估。通常,人們把加密等同于安全,因此,沒有看到防篡改保護集成電路的投資價值。

    選擇安全MCU,還是采用其他方法
    您作為一名受人尊重的電子工程專業人士,通過閱讀本雜志保持與當前業界趨勢同步,您能夠快速分析事實,并提出十分簡單的解決方案:利用安全MCU替換自動售貨機中的MCU,并增加少量的額外固件。安全MCU可以保護固件和密鑰,加密通信,并實現硬件防篡改和防侵入。


    事實上,它們可以檢測到多種復雜的攻擊,并采取從簡單的延遲應答到關機的各種措施。安全MCU是銀行用來運營ATM機的IC芯片。現在讓您設計一個解決方案,方案中不采用安全MCU,能辦到嗎?


    事實是,安全MCU成本更高,而且,您的公司也許要堅持使用它們的標準處理器。安全MCU的編寫代碼也比較難,導致更高的工程成本。

    中的工程解決方案
    當市場營銷、采購乃至工程師同事們集體投票,對一個看上去具有絕對把握的解決方案進行表決,作為一名工程師,您該怎么做?重新設定您的期望。我們的做法是,這意味著,不必依賴安全MCU,不必期望固件的更大內存,也不要忽視任何改變。


    重新評估您的策略。不是把一切都集成一團,以放入安全MCU的單個保護外殼中,而是以不損害安全性能的方式,把系統分解成非安全的和安全的部分。非安全的部分將包含售貨機的核心業務(銷售)邏輯,而安全的部分將包括兩個子組件,一個用于保護密鑰,另一個用于驗證系統完整性。


    密鑰保護需要在物理保護之下進行存儲和使用,這種物理保護與安全MCU所提供的安全保護相類似。這需要采用一種集成電路,這種集成電路須與安全MCU一樣具備較強的物理性能,此外,無須其他東西。

    linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 伊川县| 宜宾县| 浙江省| 博客| 青浦区| 驻马店市| 唐河县| 大邑县| 喀喇沁旗| 三门县| 青冈县| 施甸县| 凯里市| 柳河县| 六安市| 固原市| 新干县| 舟曲县| 永平县| 武功县| 三明市| 宁陕县| 富民县| 廊坊市| 石嘴山市| 红桥区| 金昌市| 华宁县| 河南省| 泰宁县| 吉首市| 博客| 自治县| 枣强县| 牙克石市| 都江堰市| 郓城县| 华容县| 全椒县| 米脂县| 额尔古纳市|