密鑰是系統(tǒng)安全的基礎(chǔ)
一個(gè)安全系統(tǒng)的基礎(chǔ),在與其所擁有的密鑰,用以提供系統(tǒng)身分的真實(shí)性與確保系統(tǒng)數(shù)據(jù)的機(jī)密性,其最基本需要具備的密鑰,包括了:
Hardware Unique Key (HUK) 每個(gè)設(shè)備實(shí)體所擁有的專屬密鑰,具有唯一性與秘密性,用來(lái)生成不同應(yīng)用所需的密鑰與鏈接裝置專屬的加密數(shù)據(jù)
Root of Trust Public Key (ROTPK) 用以驗(yàn)證簽章的公鑰,在裝置安全開(kāi)機(jī)流程中,確保只有通過(guò)認(rèn)證的軟件能夠在裝置上執(zhí)行
為了確保系統(tǒng)的安全,無(wú)論HUK或ROTPK,都必須不能被修改。
除此之外,因應(yīng)各種應(yīng)用,在系統(tǒng)中還可能存在各種不同功能的密鑰,包括加、解密用的AES Key,驗(yàn)證簽章用的RSA Key或ECC Key等等。
這些密鑰架構(gòu)在密碼學(xué)的基礎(chǔ)上,提供系統(tǒng)身分認(rèn)證,數(shù)據(jù)保護(hù),傳輸加密等等功能,是系統(tǒng)中,所有安全的基礎(chǔ),因此對(duì)密鑰本身的儲(chǔ)存與保護(hù),更是整個(gè)系統(tǒng)中,最重要的一環(huán),這里我們將儲(chǔ)存密鑰的地方,稱之為Key Store。
Key Store的特點(diǎn)
為了確保密鑰的安全,Key Store密需要具備幾個(gè)特點(diǎn)
所儲(chǔ)存的秘鑰,必須是一個(gè)不可分割整體
在Key Store中的每一把密鑰,都必須被視為一個(gè)整體來(lái)建立、更改與刪除,因?yàn)椋粢话衙荑€有機(jī)會(huì)被以已知的值取代其部分內(nèi)容,便很容易被使用分割與暴力破解的方法攻擊 (divide and conquer brute-force attack)。
根據(jù)密鑰的種類,提供不同的儲(chǔ)存類型,包括
靜態(tài)儲(chǔ)存
靜態(tài)儲(chǔ)存的密鑰,必須具有不可更改的特性,這通常會(huì)使用ROM或Fuse的特性來(lái)達(dá)成。然而,雖然靜態(tài)儲(chǔ)存的密鑰無(wú)法被更改,卻仍必須可以被撤銷,撤銷后的密鑰,將不再能夠存取或利用,以確保密鑰使用上的安全。
短期儲(chǔ)存
短期儲(chǔ)存的密鑰,有較短的壽命,這可以是只存在當(dāng)次聯(lián)機(jī)期間,也可以只存在當(dāng)次的上電周期,或是只存續(xù)在裝置當(dāng)次的注冊(cè)期間內(nèi),這些特性,通常可透過(guò)使用Flash或SRAM為儲(chǔ)存媒體來(lái)達(dá)成。
設(shè)定密鑰屬性,以限制密鑰的使用范圍
根據(jù)密鑰的用途與對(duì)應(yīng)的密碼學(xué)算法,可限縮密鑰的使用范圍,包括限制只能用于AES加解密、只能用于ECC簽章、只能用于驗(yàn)證等。這樣的限制理由,主要基于下面幾點(diǎn)
限制CPU對(duì)密鑰的讀取,可避免因軟件漏洞造成密鑰的暴露。
限制密鑰的使用范圍,可以降低當(dāng)密鑰被破解時(shí),損失波及的范圍。
一把密鑰使用于不同的算法,將增加被攻擊的危險(xiǎn)。
一把密鑰使用于不同的用途,可能造成密鑰存續(xù)期間長(zhǎng)短的沖突,因而需要延長(zhǎng)其存續(xù)時(shí)間,造成密鑰存續(xù)時(shí)間超過(guò)實(shí)務(wù)上最佳的存續(xù)期限。
防止物理攻擊
Key Store內(nèi)所儲(chǔ)存的密鑰,是整個(gè)系統(tǒng)安全的基礎(chǔ),不只要防范來(lái)自軟件漏洞的暴露風(fēng)險(xiǎn),也要防止來(lái)自物理性的攻擊,包括利用物理特性的旁道攻擊 (Side-Channel Attack)與打開(kāi)封裝,直接量測(cè)芯片儲(chǔ)存內(nèi)容的攻擊。
Key Store實(shí)例
以Nuvoton M2354 為例,其中包含 Key Store 硬件單元,提供密鑰儲(chǔ)存的功能,能夠儲(chǔ)存由128 bits 到 4096 bits長(zhǎng)度的密鑰,以完整的key為單位,進(jìn)行寫key、刪除與注銷(Revoke),并具備完整性檢測(cè),只要密鑰有任意的位出錯(cuò),那么這把密鑰,就會(huì)失效,無(wú)法使用。
Key Store 提供OTP、Flash與SRAM三種儲(chǔ)存媒體,可因應(yīng)不同密鑰存續(xù)時(shí)間的需求,其中OTP可用來(lái)儲(chǔ)存不可更改的密鑰,例如HUK、ROTPK,而Flash可用來(lái)儲(chǔ)存云端聯(lián)機(jī)認(rèn)證用的密鑰等,而SRAM則可用來(lái)儲(chǔ)存云端聯(lián)機(jī)時(shí),所使用的隨機(jī)加密密鑰。
此外,Key Store在建立密鑰時(shí),可以指定相關(guān)屬性,限制秘鑰只能由CPU或特定的加密引擎使用,進(jìn)一步限制密鑰的使用,以加強(qiáng)密鑰的安全性。
針對(duì)旁道攻擊, Key Store支持Silent Access功能,可以降低儲(chǔ)存操作時(shí),因?yàn)槲锢硖匦栽斐傻?a target="_blank">信息泄露。而針對(duì)打開(kāi)芯片封裝,利用物理量測(cè)儲(chǔ)存內(nèi)容的攻擊,則提供Data Scrambling來(lái)防護(hù)。更近一步,也可以設(shè)定Key Store在系統(tǒng)攻擊偵測(cè)(Tamper Detection)觸發(fā)時(shí),直接硬件連動(dòng),清除、注銷所有Key Store中的密鑰,確保密鑰不被泄露。
總結(jié)
現(xiàn)代的安全系統(tǒng),仰賴密碼學(xué)的保護(hù),而再好密碼學(xué)算法,還是要依靠密鑰的安全儲(chǔ)存,才能真正達(dá)到效果,一旦密鑰暴露出來(lái),所有架構(gòu)于該密鑰的秘密將不再安全,因此具備一個(gè)足夠安全的Key Store來(lái)存放密鑰,對(duì)整個(gè)系統(tǒng)而言,是一件相當(dāng)重要事。
-
ROM
+關(guān)注
關(guān)注
4文章
573瀏覽量
85804 -
安全系統(tǒng)
+關(guān)注
關(guān)注
0文章
410瀏覽量
66935 -
密鑰
+關(guān)注
關(guān)注
1文章
139瀏覽量
19775
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論