新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 保障系統(tǒng)安全的密鑰解決方案

保障系統(tǒng)安全的密鑰解決方案

作者: 時間:2010-06-06 來源:網(wǎng)絡(luò) 收藏

獨立型系統(tǒng)正瀕于滅絕,這一趨勢使得開發(fā)人員在安全性問題上面臨越來越大的壓力。這個問題涉及手機、具有Wi-Fi功能的數(shù)碼相框等幾乎所有電子產(chǎn)品。使用防火墻或加密幾個數(shù)據(jù)文件是遠遠不夠的,性就像最脆弱的鏈路一樣需要受到保護。

本文引用地址:http://m.butianyuan.cn/article/197674.htm

基本的安全性概念

信息能夠以明文、認證或加密方式進行傳輸(圖1)。認證是指那些可讀懂的文字信息,但它也經(jīng)常用來指沒有簽名或加密信息。經(jīng)鑒定的信息是經(jīng)過數(shù)字簽名的信息。修改信息將使簽名失效,藉此可以判斷信息是否被篡改。這時信息仍是可以訪問的,這點與加密信息不同,加密信息在解密之前是無法辨認的。

圖1:通信鏈路突出了不同類型的數(shù)據(jù)交換,包括從認證的數(shù)據(jù)交換到加密的數(shù)據(jù)交換。
圖1:通信鏈路突出了不同類型的數(shù)據(jù)交換,包括從認證的數(shù)據(jù)交換到加密的數(shù)據(jù)交換。

數(shù)字簽名通常是使用被稱為消息的相關(guān)信息來加密附屬于這個信息的標簽,也稱為消息摘要或簡稱摘要。如果簽名是在信息被修改后創(chuàng)建的,那么兩個標簽將不再匹配。發(fā)現(xiàn)修改通常并不能提供誰修改、怎樣修改或修改了什么的信息。數(shù)字簽名可以使用加密,但更多的是使用哈希函數(shù)。哈希函數(shù)和加密之間的區(qū)別在于哈希函數(shù)是單向操作,而加密通常是雙向過程,因為原始明文可以用正確的和算法重新構(gòu)建。

一般來說,哈希函數(shù)比加密快,它們用于從口令存儲到通信握手的廣泛應(yīng)用領(lǐng)域。例如,Linux將用戶名和口令存儲在“passwd”文件中。這是一個明文文件,但訪問這個文件只能得到用戶名和經(jīng)過哈希算法處理過的口令。

可以使用這個信息對用戶進行認證,方法是使用口令產(chǎn)生一個新的哈希值,然后將結(jié)果與passwd文件中的內(nèi)容進行比較。當然,泄露passwd文件將形成安全漏洞。實際上大多數(shù)Linux實現(xiàn)將哈希過的口令保存在影子文件中,passwd文件只是減去哈??诹詈蟮溺R像文件。

加密通常會使用一個或兩個。單個用在對稱加密算法中,即加密和解密使用相同的密鑰。對稱加密速度一般要比非對稱或兩個密鑰的系統(tǒng)快。非對稱系統(tǒng)中加密用一個密鑰,解密用另一個相關(guān)密鑰。在這種雙密鑰案例中,其中一個密鑰不能用另一個密鑰重建。

大多數(shù)公開密鑰系統(tǒng)采用兩個密鑰(一個公鑰,一個私鑰)進行雙向數(shù)據(jù)交換,這意味著一個密鑰的主人加密的信息可以被另一個密鑰的主人解密。單向系統(tǒng)允許一個密鑰用于加密,另一個密鑰用于解密。而在雙向系統(tǒng)中,同一密鑰不能用于加密同時又用于解密加密過的數(shù)據(jù)。如果兩個密鑰都保密,那么在信息交換時這兩個密鑰可以用來識別主人。

RSA公鑰算法是MIT的Ron Rivest、Adi Shamir和Leonard Adleman在1978年提出的。這種算法基于兩個大的素數(shù)以及分解大素數(shù)非常耗時的事實,從而使得強力攻擊非常困難。在公鑰環(huán)境中,通常有一個密鑰可提供給感興趣方。同樣,每一方通常都有自己的密鑰(后面的密鑰交換中會用到多個密鑰)。

目前流行的一些哈希算法包括MD4、MD5、SHA-1和SHA-256。普通加密系統(tǒng)包括DES(數(shù)據(jù)加密標準)、RSA和AES(高級加密標準)。DES加密密鑰長度為56位,對于目前處理器性能而言強力攻擊并不容易。在DES發(fā)布的20世紀70年代這種算法還是相當安全的。三倍DES(3DES)同樣使用DES算法和密鑰,但彌補了DES的缺點。3DES使用三個密鑰,數(shù)據(jù)要被加密三次。

AES密鑰可以是128位、192位或256位長。目前AES已經(jīng)成為微控制器上的標準配置。AES在ZigBee等無線標準中被廣泛采用,能用于全盤加密和大量其它應(yīng)用。

還有一種方法叫橢圓曲線加密(ECC)法,它能使用很小的密鑰達到與使用大型密鑰的其它技術(shù)相同的安全性。這種高效算法可以用硬件輕松實現(xiàn)。安全軟件通常支持一種或一種以上的加密和哈希算法,同時許多通信標準允許使用不同的算法和密鑰長度。這些參數(shù)一般在初始握手期間選擇。

安全要從最基本的做起

安全需要從最基本的做起。如果任何一層不安全,那么它上面的所有層都將變得不安全。這也是安全深度之所以重要的原因。同樣,劃分可以隔離問題,但前提條件是劃分機制沒有被攻破。破壞性攻擊經(jīng)常是通過尋找安全機制中的漏洞進行的,這正是蠕蟲和病毒利用操作系統(tǒng)、應(yīng)用軟件或系統(tǒng)配置中的缺陷攻擊系統(tǒng)的做法。

對大多數(shù)計算機系統(tǒng)來說,物理安全和啟動過程是起點。保證的方法之一是使用Trusted Computing Group公司(TCG)的可信平臺模塊(TPM)啟動系統(tǒng)。TPM包含個人電腦中常見的安全微控制器和存儲器(圖2)。防篡改硬件可以從物理上保護器件,破壞性地打開器件將導致存儲的安全密鑰丟失。TPM會在系統(tǒng)啟動時自檢,然后完成系統(tǒng)剩余部分的啟動,包括處理用戶輸入的PIN碼、認證通常存儲在另一個器件中并經(jīng)數(shù)字簽名或加密的啟動程序。

圖2:可信平臺模塊(TPM)被設(shè)計用于提供安全啟動環(huán)境。
圖2:可信平臺模塊(TPM)被設(shè)計用于提供安全啟動環(huán)境。

一般情況下,TPM會將安全控制權(quán)轉(zhuǎn)交給主機,但也可以用于與安全有關(guān)的其它操作。TPM還包含一個唯一的RSA私鑰用于TPM的識別。TPM允許系統(tǒng)對信息進行數(shù)字簽名,從而實現(xiàn)其它系統(tǒng)對它自身的認證。

此外,TPM可以用來對機器上的器件進行遠程認證或識別,方法是獲得硬件和軟件的數(shù)字特征,然后簽名這些信息。簽名過的信息隨后即可發(fā)往第三方。這種方法一般可以用來確保使用的是特定版本的音樂播放程序。

為了解決基本遠程認證缺少匿名的問題,TCG開發(fā)出了一種稍有不同的方法,叫做直接匿名認證(DAA)。DAA執(zhí)行類似的過程,但結(jié)果只驗證目標硬件或軟件的狀態(tài),它不識別TPM模塊本身。

TPM也能提供安全密鑰存儲以及執(zhí)行加密和數(shù)字簽名工作。密鑰不需要存儲在TPM上,因為加密版本可以存儲在其它系統(tǒng)存儲器中。TPM可以利用這個信息提取和解密密鑰以供使用。

TPM功能可以被集成進微控制器,而不僅是個人電腦,從而打開了更為廣泛的消費設(shè)備市場。許多TPM功能可以使用帶I2C/SMBus接口的安全串行存儲器進行訪問。這些存儲器通常是TPM中常見的功能類子集,但具有更低的功耗要求和更簡單的接口。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉