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