最近十年,SHA-1安全認(rèn)證一直作為防偽及防止非法竊取知識(shí)產(chǎn)權(quán)的有效武器。隨著計(jì)算機(jī)技術(shù)的進(jìn)步,用戶亟待獲取更高級(jí)別的安全方案。 基于這一需求,Maxim Integrated推出了一組新的SHA-256安全認(rèn)證器和配套的安全協(xié)處理器。該系列產(chǎn)品提供高級(jí)物理安全,可實(shí)現(xiàn)無(wú)與倫比的低成本IP保護(hù)、防克隆及外設(shè)安全認(rèn)證技術(shù)。本文介紹了基于SHA-256安全認(rèn)證的工作原理,以及安全認(rèn)證系統(tǒng)采用的雙向認(rèn)證功能。 安全認(rèn)證系統(tǒng) 實(shí)現(xiàn)安全認(rèn)證系統(tǒng)需要用傳感器/外設(shè)模塊連接主機(jī)系統(tǒng),圖1所示的系統(tǒng)由1-Wire SHA-256安全認(rèn)證器和具有1-Wire主機(jī)功能的SHA-256協(xié)處理器組成。主機(jī)和外設(shè)之間的工作通過(guò)1-Wire接口單個(gè)引腳實(shí)現(xiàn),降低互聯(lián)的復(fù)雜度,簡(jiǎn)化設(shè)計(jì),并降低成本。 SHA-256安全認(rèn)證 該系統(tǒng)的SHA-256安全認(rèn)證支持256位質(zhì)詢,采用256位密鑰。圖1所示安全認(rèn)證器為1-Wire從機(jī),具有唯一的64位ROMID,作為安全認(rèn)證計(jì)算的基本數(shù)據(jù)單元。系統(tǒng)設(shè)計(jì)者可將認(rèn)證器的EEPROM分為可公開(kāi)訪問(wèn)(無(wú)保護(hù))的區(qū)域和主機(jī)必須對(duì)自身進(jìn)行安全認(rèn)證才能訪問(wèn)的區(qū)域。表1所示為可用的保護(hù)模式及保護(hù)措施組合。 內(nèi)置1-Wire主機(jī)的SHA-256協(xié)處理器 圖1中的SHA-256協(xié)處理器為I2C從機(jī),由主機(jī)處理器控制。從主機(jī)的I2C 端口看,SHA-256協(xié)處理器為256字節(jié)讀/寫(xiě)存儲(chǔ)器,特定區(qū)域(數(shù)據(jù)源)分配給特殊目的。 安全邏輯 基于SHA的安全性依賴于由公開(kāi)數(shù)據(jù)及密鑰計(jì)算得到的信息驗(yàn)證碼(MAC ) 。為確保安全驗(yàn)證,兩側(cè)(即主機(jī)或協(xié)處理器和1-Wire安全認(rèn)證器)必須知道“永不泄露”的密鑰。此外,為實(shí)現(xiàn)最大程度的安全性,每個(gè)1-Wire安全認(rèn)證器中的密鑰必須唯一。按照這種方式,一旦某個(gè)安全認(rèn)證器的密鑰受到威脅,整個(gè)系統(tǒng)的安全性不受影響。 乍一看, 似乎沒(méi)有辦法達(dá)到這些目標(biāo)。但我們采用了一個(gè)簡(jiǎn)單的解決途徑,即利用一些“數(shù)據(jù)源”計(jì)算密鑰,然后在受信任/受控制的生產(chǎn)環(huán)境下將其安裝到器件內(nèi)部。用于計(jì)算安全認(rèn)證密鑰的數(shù)據(jù)源包括:主密鑰、綁定數(shù)據(jù)、分密鑰、安全認(rèn)證器的ROM ID,以及填充符/格式化符號(hào)(“其它數(shù)據(jù)”),過(guò)程如圖2所示。盡管數(shù)據(jù)源在某個(gè)時(shí)間點(diǎn)是公開(kāi)的,例如在受信任的生產(chǎn)環(huán)境,但計(jì)算得到的密鑰永遠(yuǎn)不會(huì)暴露,始終是隱蔽的。 出于安全性和存儲(chǔ)空間的考慮,系統(tǒng)中所有安全認(rèn)證器的唯一密鑰不能儲(chǔ)存在協(xié)處理器或主機(jī)中;協(xié)處理器僅在受保護(hù)的存儲(chǔ)器部分儲(chǔ)存主密鑰和綁定數(shù)據(jù)。分密鑰是系統(tǒng)常數(shù),可在主處理器的固件中編碼并公開(kāi)交換。讀取安全認(rèn)證器的ROMID后,協(xié)處理器即可計(jì)算安全認(rèn)證器的唯一密鑰,如圖2所示。然后安全認(rèn)證器和協(xié)處理器共用唯一的安全認(rèn)證密鑰,系統(tǒng)即可進(jìn)行工作。 質(zhì)詢-應(yīng)答安全認(rèn)證 安全認(rèn)證的主要目的是驗(yàn)證所連接的對(duì)象真實(shí)有效。基于對(duì)稱密鑰的認(rèn)證方法將密鑰和被驗(yàn)證數(shù)據(jù)(即“信息”)作為輸入以計(jì)算MAC。主機(jī)利用預(yù)先制定的密鑰和相同信息數(shù)據(jù)執(zhí)行相同的計(jì)算,然后將計(jì)算得到的MAC與從安全認(rèn)證器接收到的MAC進(jìn)行比較。如果兩個(gè)MAC完全相同,則說(shuō)明安全認(rèn)證器是系統(tǒng)的一部分。 在這種SHA-256安全認(rèn)證系統(tǒng)中,信息是主機(jī)質(zhì)詢和安全認(rèn)證器中儲(chǔ)存的數(shù)據(jù)單元組合。質(zhì)詢基于隨機(jī)數(shù)據(jù),這一點(diǎn)至關(guān)重要,如果質(zhì)詢從不變化,就為資源竊取打開(kāi)了方便之門(mén),即攻擊者記錄并恢復(fù)有效的靜態(tài)MAC,而非即時(shí)計(jì)算MAC。 安全認(rèn)證器利用質(zhì)詢、密鑰、存儲(chǔ)器數(shù)據(jù)及附加數(shù)據(jù)計(jì)算一個(gè)MAC (圖3)。如果安全認(rèn)證器能夠計(jì)算任何質(zhì)詢碼的有效MAC,則可以認(rèn)為其已知密鑰并被視為可靠。 數(shù)據(jù)保護(hù)(安全認(rèn)證寫(xiě)操作) 除有效性驗(yàn)證以外,多數(shù)系統(tǒng)還需要確保安全認(rèn)證器中儲(chǔ)存的數(shù)據(jù)可信。出于這一考慮,可對(duì)安全認(rèn)證器中的部分或全部EEPROM進(jìn)行“安全保護(hù)”。如果激活安全保護(hù),在執(zhí)行存儲(chǔ)器寫(xiě)操作時(shí),要求主機(jī)向安全認(rèn)證器提供主機(jī)安全認(rèn)證MAC,證明自身的有效性。 主機(jī)安全認(rèn)證MAC是利用新的存儲(chǔ)器數(shù)據(jù)、已有存儲(chǔ)器數(shù)據(jù)、安全認(rèn)證器的唯一密鑰以及ROM ID、附加數(shù)據(jù)計(jì)算得到的。安全認(rèn)證器使用自身的密鑰按照相同方式計(jì)算一個(gè)MAC。 合法主機(jī)重建安全認(rèn)證器的密鑰,能夠生成有效的寫(xiě)保護(hù)MAC。接收到來(lái)自主機(jī)的MAC時(shí),安全認(rèn)證器將其與自身的計(jì)算結(jié)果進(jìn)行比較。只有兩個(gè)MAC相匹配時(shí),才允許將數(shù)據(jù)寫(xiě)入EEPROM。即使MAC正確,也不能更改受寫(xiě)保護(hù)的用戶存儲(chǔ)區(qū)域(圖4)。 密鑰保護(hù) 安全認(rèn)證器的密鑰和協(xié)處理器的主密鑰通過(guò)硬件設(shè)計(jì)進(jìn)行讀保護(hù)。如果需要,密鑰可采取寫(xiě)保護(hù),防止利用已知密鑰代替未知密鑰來(lái)篡改安全認(rèn)證器的存儲(chǔ)數(shù)據(jù)。綁定數(shù)據(jù)一般儲(chǔ)存在協(xié)處理器的存儲(chǔ)器內(nèi),應(yīng)在安裝之后進(jìn)行讀保護(hù)。只要在受信任的生產(chǎn)環(huán)境下針對(duì)應(yīng)用設(shè)置協(xié)處理器和安全認(rèn)證器,這種級(jí)別的保護(hù)就非常有效。 DeepCover DeepCover技術(shù)提供強(qiáng)大、經(jīng)濟(jì)的保護(hù)方案,可防止試圖偵測(cè)密鑰的芯片級(jí)攻擊。DeepCover技術(shù)包括多種監(jiān)測(cè)芯片級(jí)篡改事件的有源電路,采用先進(jìn)的芯片級(jí)布線、布局技術(shù),以及專利技術(shù),有效抵御各種攻擊性操作。 雙向安全認(rèn)證 上述系統(tǒng)的密鑰認(rèn)證支持質(zhì)詢-應(yīng)答安全認(rèn)證和寫(xiě)保護(hù)操作(主機(jī)安全認(rèn)證)。整個(gè)用戶存儲(chǔ)器可用于質(zhì)詢-應(yīng)答安全認(rèn)證,雙向安全認(rèn)證適用于儲(chǔ)存安全數(shù)據(jù)(安全認(rèn)證寫(xiě)操作)的存儲(chǔ)器區(qū)域。 總結(jié) SHA-256的密鑰、質(zhì)詢和MAC均為256位,相對(duì)于原來(lái)的SHA-1安全認(rèn)證方案有了顯著改進(jìn)。本文介紹了最新的安全認(rèn)證系統(tǒng),該系統(tǒng)對(duì)主機(jī)系統(tǒng)(具有1-Wire主機(jī)的SHA-256協(xié)處理器)與傳感器/外設(shè)模塊(1-Wire SHA-256安全認(rèn)證器)的匹配性進(jìn)行驗(yàn)證。協(xié)處理器內(nèi)部的1-Wire主機(jī)代替主機(jī)執(zhí)行實(shí)時(shí)1-Wire通信。提供三種存儲(chǔ)器配置的DeepCover 1-WireSHA-256安全認(rèn)證器,采用3.3V和1.8V供電,也可選擇采用3.3V和1.8V供電的協(xié)處理器/ 主機(jī), 支持三種安全認(rèn)證器件。SHA-256安全認(rèn)證的實(shí)施方案比以往任何時(shí)候都簡(jiǎn)單。 |