「安全性」過去只是國防專案、財務系統以及「高安全性」要求的設備和平臺才會考慮到的特性,但隨著物聯網(IOT)、穿戴式設備、車聯網、智慧手機、平板電腦等新技術和應用不斷湧現,所有設備互聯互通,而且我們日常都可能會使用這些設備來處理財務關鍵事務,因此這些通訊處理都需要以安全性來做為保障,這意味著今後所設計的任何系統,其安全特性都將變得非常重要。
然而,安全特性必須從一開始就加入系統設計中,它不像掛鎖和鎖鏈那樣單獨的模組可以直接加掛在現有的系統上即可;而且,我們也不能單靠軟體來保證它的安全性,因為只有硬體本身內建的特性才可以確保真正的安全。
美高森美宣佈其SmartFusion 2和 IGLOO 2 FPGA器件是率先加入了物理不可複製(PUF)特性的產品,為多項安全功能奠下了基礎。PUF提供了一種稱作「生物計量」識別器的功能,如同人類的指紋一樣,每個晶片也都具有不能夠被複製而且獨一無二的識別碼。
FPGA器件在安全領域具有獨特優勢,因為它們是至少三個對安全感興趣的群體的交匯點。首先,FPGA供應商需要通過安全特性來防止有人利用複製、過度生產、掃樓(floor sweeping)或其它業界常見的欺詐手段來進行未經授權的晶片複製。其次,開發FPGA應用的OEM廠商希望其比特流(bitstream)和所設計的IP可以得到保護,以防止其系統被複製。最後是系統的最終使用者,他們希望保障其隱私資料和交易的安全性。
由於FPGA位於這些因素的交匯點,同時還常常涉及系統設計的通訊路徑,因此往往被當作實現安全功能的部件。美高森美FPGA產品在其硬IP中構建PUF模組,無疑是合理的選擇,也為系統設計人員提供了一個基於硬體的高等級安全平臺。
長久以來,美高森美產品一直被應用在航空航太和國防工業,其SOC FPGA產品線之SmartFusion 2和IGLOO 2 系列的產品,可以追溯到美高森美收購愛特公司(Actel)之前。愛特公司一直是航空應用領域內的重要供應商之一,因此,該公司在FPGA器件整合安全功能,也就不足為奇了。在此背景下,美高森美與Intrinsic-ID就PUF技術層面展開了合作。
建基於FPGA的PUF特性,可以想像為由許多SRAM正反器(flip-flop)組成的大型暫存器組,每個正反器都是由交叉耦合柵極所組成的,正反器上電之後的狀態,取決於製造環境的差別。通常其中一個驅動器會稍微比其它驅動器強大,它往往會在上電時「勝出」,使該位元在每次上電啟動時的狀態都保持一致。
這聽起來很簡單,對不對?如果利用許多驅動器來構建長長的鏈條,便可以獲得一個任意長度的私密金鑰(private key)。這樣,每個晶片在啟動時都能產生自己的一致性金鑰,該金鑰無法被複製,完全取決於晶片的製造環境。
你可能會問:那麼溫度和其它環境因素又怎樣呢?是的,環境因素或許會造成影響,使某些位元(隨機)比其它位元更穩定,而其餘的位元則具有更強烈的不對稱性。解決方法是把位元的數量增加至多於你所需要的數目,並且後處理一個位元。通過僅為金鑰選擇最穩定的資料位元,以及利用內置錯誤校正代碼以防止在隨機環境下突發出現不一致情況(公司預計原始位元上的錯誤餘量為15%),便可以如你所願,獲得具備一致性的良好金鑰。
結果,當可以使用這些位元來獲得強大的功能,這些位元可以當作極好的亂數種子來使用,在許多安全相關應用中是非常有用的。因此,PUF中的「好」位元和「壞」位元無論是否具有一致性,均可物盡其用。
美高森美指出,經過加強的PUF已經獲得許多M2M和IoT設計的青睞,除了為最終用戶提供市場所需的基本安全特性之外,PUF也可以保護OEM廠商的系統避免偽造和盜版侵權,從而幫助避免公司利潤受到影響。將這些功能內置於一個低成本FPGA(由於其它原因,FPGA器件通常已經存在於系統中)器件中,既合情合理,也符合經濟效益。
PUF產生的密碼儲存在每個器件的eNVM中,可作為由美高森美簽署的產業標準X.509認證證書。該認證證書可核實器件及其內容:包括器件序號、日期代碼、器件編號、速度等級、篩選級等。在較大容量的器件中,它還包括器件的ECC公鑰。密匙驗證協議會將這份證書和PUF產生的私密金鑰結合起來。我們通過協定的挑戰流程來驗證器件的真實性,以及確保器件沒有被偽造,且沒有被非法“更新”,符合證書中所描述的特性級別。
OEM廠商從美高森美代理商處收到器件產品後,可以驗證器件的真實性,並且提供器件私密金鑰的所有權證明(proof-of-possession)。之後,它們可以產生一組用戶密匙對,並且將器件加入到用戶的PKI。下游應用可以利用X.509證書為眾多特定應用提供安全特性,並連接到系統或網路中的其它安全性群組件,以及與它們通訊。隨後可以產生各種級別之認證證書,以用於不同應用領域,例如醫療和軍事航空等,所有這些特性都可以回溯到由硬體PUF維護的晶片中之私密金鑰。
由於私密金鑰從不傳遞到外部,也不會被軟體讀取,對任何人或系統中的機器而言,它總是不可見的,這意味著它無需依賴「安全隱蔽(security by obscurity)」或任何組織性的金鑰資料維護方法。它還具有多重保護,例如可以通過PUF架構以及FPGA內置、可以對抗DPA(anti-DPA)的IP(從DPA專業廠商 Cryptography Research, Inc.獲得授權許可)來抵抗DPA的攻擊。此外,這些器件還具有強大的反篡改(anti-tamper)功能集,如果檢測到篡改攻擊,便會將關鍵性資料「歸零(zeroing out)」。
雖然沒有任何系統或器件可以達到百分之百安全,但該方案可說是提供了一個穩健的起點。當然,這不是一顆萬靈仙丹,OEM廠商和系統的最終使用者也要瞭解自己在此安全鏈中所應該負的責任。在任何設計中,均有可能在鎖緊前門的同時,後門卻是洞開著的情形發生。作為系統設計人員,我們必需從全系統的宏觀視角來看待安全性,不能短視地只專注在特定的平臺或技術。
(本文作者Kevin Morris任職於美高森美(Microsemi)公司)