【技術(shù)干貨】安全性產(chǎn)品生命周期管理 Product Life Cycle Management
前言
安全的產(chǎn)品,在產(chǎn)品的設(shè)計、開發(fā)、組裝一直到送到用戶手上,都必須要完整的考慮其安全,并進(jìn)行有效的管理,這便是產(chǎn)品生命周期管理。
以MCU這類產(chǎn)品而言,其產(chǎn)品生命周期可以分為芯片制造商(Vendor)、原廠出廠狀態(tài)(OEM)、產(chǎn)品布署(Deployed)狀態(tài)與退料審查(RMA)狀態(tài)。
芯片制造商(Vendor)狀態(tài)
MCU在芯片廠生產(chǎn)制造出來,經(jīng)過測試、原廠設(shè)置后,就可以送給產(chǎn)品制造商,進(jìn)行產(chǎn)品的開發(fā)與制造。
以M2354為例,原廠出廠時芯片具有不可更改且唯一的身分碼(UID),也可以根據(jù)客戶需求設(shè)置UCID。此時MCU不含韌體與密鑰,可以進(jìn)行讀取、刻錄或除錯等等操作。
原廠出廠(OEM)狀態(tài)
在OEM狀態(tài)下的MCU,需要能夠用來開發(fā)產(chǎn)品韌體,也需要能夠在產(chǎn)品韌體開發(fā)完成后,讓工廠能夠刻錄產(chǎn)品韌體,所以此時的MCU是呈現(xiàn)開放狀態(tài),能夠讀取、燒寫內(nèi)部數(shù)據(jù)與進(jìn)行程序的開發(fā)與除錯,包含基于信任根(Root of Trust)機制的安全開機流程,在此時都是關(guān)閉的,并且可以根據(jù)開發(fā)的不同階段,一一打開。
以M2354為例,此時客戶可以用Nu-Link ICE進(jìn)行韌體的開發(fā)與除錯,確認(rèn)沒問題之后,就可以將密鑰寫入芯片當(dāng)中,之后MCU將會啟動信任根基機制,強制執(zhí)行安全開機認(rèn)證流程,所有非經(jīng)授權(quán)的韌體都將不允許被執(zhí)行,也可以啟動Debug Protection Mechanism (DPM)機制,開啟除錯功能的授權(quán)機制,以限制對讀取、刻錄與除錯功能的存取。
產(chǎn)品布署(Deployed)狀態(tài)
產(chǎn)品的的固件開發(fā)完成,并在產(chǎn)線組裝完成后,進(jìn)入產(chǎn)品布署狀態(tài),就可以送到市場上販賣,最終到達(dá)消費者的手上,此時為了保護(hù)用戶數(shù)據(jù)的安全,產(chǎn)品的安全機制都會打開,這包括了安全開機流程、禁止讀取、燒寫與除錯接口等等,所有非經(jīng)授權(quán)的操作都是不允許的。
然而,為了能夠讓產(chǎn)品必要時,進(jìn)入退料審查的狀態(tài),以符合故障分析等需求,因此特別允許在原廠設(shè)置的授權(quán)條件符合的情況下,可以讓MCU進(jìn)入退料審查狀態(tài)。
退料審查(RMA)狀態(tài)
當(dāng)產(chǎn)品出現(xiàn)問題,需要進(jìn)行分析時,可能會需要對MCU進(jìn)行讀取、寫入、除錯等操作,為了避免用戶的數(shù)據(jù)因此泄露,即使擁有原廠的授權(quán),能夠進(jìn)入RMA狀態(tài)。對M2354而言,其在進(jìn)入RMA狀態(tài)的同時,也會強制將MCU內(nèi)部的所有數(shù)據(jù)清除,而芯片內(nèi)的密鑰也會因此失效,以兼顧用戶的數(shù)據(jù)安全與RMA需求,并且在RMA狀態(tài)的除錯,仍受到DPM的管理,禁止任何非授權(quán)的存取。
值得注意的是,產(chǎn)品生命周期內(nèi)的所有的狀態(tài)都是單向且不可逆的,以M2354的產(chǎn)品生命周期管理機制為例,在Vendor/OEM狀態(tài)下,芯片可以讀取、燒寫與除錯,且只能往Deployed狀態(tài)更改,在Deployed狀態(tài)下會強制打開相關(guān)的安全機制,禁止一切非授權(quán)的存取,且只能往RMA狀態(tài)變化,而進(jìn)入RMA狀態(tài),則是會強制清除用戶數(shù)據(jù),并且讓芯片內(nèi)部的密鑰無效化之后才能進(jìn)行其他的授權(quán)操作,以避免任何可能的安全漏洞。一旦進(jìn)入RMA狀態(tài),就表示該芯片已經(jīng)進(jìn)入生命周期的尾聲,此時MCU再也無法更改狀態(tài),也無法再次使用在產(chǎn)品上,因為MCU內(nèi)部失效的密鑰將造成所有韌體都無法通過安全開機的認(rèn)證。
傳統(tǒng)的MCU對于安全性的設(shè)計,通常是設(shè)計成所謂的LOCK機制,目的是讓產(chǎn)品出貨時,能夠鎖住內(nèi)部的內(nèi)存,以避免被盜取韌體來制作所謂的盜版,所以安全機制就只有鎖定與非鎖定狀態(tài)。然而,一個真正完整的安全性產(chǎn)品,則必須對整個產(chǎn)品生命周期的安全,都有縝密的規(guī)劃,從一開始的唯一身分碼,開發(fā)除錯時的便利性與安全性,到產(chǎn)品上市的安全性,一直到最后產(chǎn)品退回原廠時的分析處里,每一個階段都要確保其使用的需求與安全,才能夠真正防堵在各個階段所面臨的安全威脅,因此產(chǎn)品生命周期的管理,是安全MCU產(chǎn)品必不可少的功能。
編輯:zzy 最后修改時間:2023-03-06