數字安全是電子設計領(lǐng)域最熱門(mén)的話(huà)題之一。對于許多工程師,當提到安全性時(shí),腦海中閃現出的第一個(gè)詞可能就是加密??赡苤挥袠O少數人會(huì )想到安全認證。然而,安全認證是安全器件或交易的基礎功能。
我們以家庭銀行為例,顯然,您希望余額和賬號等保密信息能夠加密,此時(shí),您的網(wǎng)絡(luò )瀏覽器上會(huì )顯示一個(gè)小鎖標識以及“https://”。也就是說(shuō),網(wǎng)絡(luò )瀏覽器在建立安全連接時(shí),第一件事情就是檢查銀行站點(diǎn)的真實(shí)性;換句話(huà)說(shuō),就是要對銀行站點(diǎn)進(jìn)行安全認證。實(shí)際上,如果將登錄和密碼信息發(fā)送到釣魚(yú)網(wǎng)站,危害性非常大,因為這些憑據可被進(jìn)一步重用,以銀行賬戶(hù)持有人的名義執行未經(jīng)授權的交易,而實(shí)際持有人卻毫不知情。通過(guò)TLS/SSL協(xié)議,一般能夠實(shí)現安全的互聯(lián)網(wǎng)瀏覽,確保真實(shí)性和保密性。
安全認證對于物聯(lián)網(wǎng)(IoT)應用也非常重要:不可信的終端可能會(huì )將整個(gè)基礎設施置于危險之中。我們以連接到配電系統的智能電表為例。對于要破壞電網(wǎng)的攻擊者,一種簡(jiǎn)單方法是將病毒或惡意軟件加載到智能電表。然后被干擾的電表會(huì )向基礎設施發(fā)送假消息,反應出的功耗與實(shí)際功耗相差非常大。電網(wǎng)將會(huì )出現不平衡;更壞情況下,攻擊可能觸發(fā)全網(wǎng)斷電。為了避免這種情況,必須檢驗電表硬件和固件的真實(shí)性。對固件進(jìn)行安全認證的過(guò)程稱(chēng)為安全引導。
實(shí)施有效的安全認證方法
現在我們已經(jīng)理解了安全認證的重要性,接下來(lái)我們討論如何實(shí)施。最簡(jiǎn)單的安全認證方法是使用密碼。在智能電表的例子中,設備可向電網(wǎng)控制系統發(fā)送密碼。服務(wù)器驗證密碼,然后再授權執行下一步。雖然這種方法非常容易理解,但并不是最好的方法。攻擊者很容易監聽(tīng)通信、記錄密碼,然后用其來(lái)對非真實(shí)的設備進(jìn)行安全認證。所以,我們認為基于密碼的安全認證方法比較薄弱。
數字領(lǐng)域執行安全認證的更好方法是質(zhì)詢(xún)-應答方法。我們來(lái)看看兩種方式的質(zhì)詢(xún)-應答方法:一種基于對稱(chēng)加密,另一種基于非對稱(chēng)加密。
對稱(chēng)加密安全認證依賴(lài)于共享密鑰。主機和被認證設備持有相同的密鑰。主機向設備發(fā)送一個(gè)隨機數,即質(zhì)詢(xún)。設備計算一個(gè)數字簽名,該簽名是密鑰和質(zhì)詢(xún)的函數,并發(fā)送回主機。主機執行相同的運算并對結果進(jìn)行比較。如果兩項計算結果一致,則設備通過(guò)安全認證(圖1)。為了確保結果不被模仿,必須使用數學(xué)屬性足夠的函數;例如必須保證不可能通過(guò)計算結果獲得密鑰。SHA-256等安全散列函數滿(mǎn)足這些要求。對于質(zhì)詢(xún)-應答方法,設備在不泄露密鑰的情況下證明自己知道密鑰。即使攻擊者攔截通信,也無(wú)法接觸到密鑰。
圖1. 基于對稱(chēng)加密的安全認證依賴(lài)于主機和設備之間的共享密鑰。
基于非對稱(chēng)加密的安全認證依賴(lài)于兩個(gè)密鑰:私鑰和公鑰。只有被認證的設備知道私鑰,而公鑰可透露給希望對設備進(jìn)行安全認證的任何一方。與上文中討論的方法一樣,主機向設備發(fā)送質(zhì)詢(xún)。設備根據質(zhì)詢(xún)和私鑰計算數字簽名,并將其發(fā)送給主機(圖2)。但此時(shí),主機使用公鑰對數字簽名進(jìn)行驗證。用于計算數字簽名的函數擁有特定數學(xué)屬性至關(guān)重要。非對稱(chēng)方法中最常用的函數是RSA和ECDSA。同樣,設備也在不泄露密鑰情況下提交了自己知道密鑰的證明,即私鑰。
圖2. 非對稱(chēng)密鑰安全認證依賴(lài)于公鑰和私鑰。
為什么安全IC有益于安全認證
質(zhì)詢(xún)-應答安全認證始終要求被認證的對象持有密鑰。對稱(chēng)加密方法中,該密鑰為主機和設備之間的共享密鑰;對于非對稱(chēng)加密方法,該密鑰為私鑰。無(wú)論哪種情況,一旦密碼泄露,質(zhì)詢(xún)-應答式安全認證就失效了。安全IC有助于防范這種情況。安全IC的一項基本特性是為密鑰和密碼提供強保護。
Maxim提供三種支持安全認證的解決方案。
安全認證IC:IC是可配置但固定功能的器件,為實(shí)施質(zhì)詢(xún)-應答安全認證提供最經(jīng)濟的途徑,并且具有基本的加密操作。
安全微控制器:在支持質(zhì)詢(xún)-應答安全認證的基礎上,提供全面的密碼學(xué)功能,包括加密。
低功耗微處理器:盡管這些產(chǎn)品并非專(zhuān)用于加密,但擁有支持強安全認證所需的電路模塊。
安全認證IC中,基于SHA-256的產(chǎn)品支持基于共享密鑰的安全認證(圖3),而基于ECDSA的IC使用私鑰/公鑰對(圖4)。除加密引擎外,這些產(chǎn)品擁有板載EEPROM存儲器。該存儲器是可配置的,可用于儲存經(jīng)過(guò)安全認證的用戶(hù)數據,例如傳感器的校準信息。
基于SHA-256的產(chǎn)品是最經(jīng)濟的方案。盡管支持相互認證,但共享密鑰的分發(fā)要求采取一定的防范措施,保證設備制造和配置期間不會(huì )泄露密鑰。為克服該缺點(diǎn),可在Maxim工廠(chǎng)對密鑰進(jìn)行編程。
圖3. SHA-256密鑰安全認證基于共享密鑰。
Maxim的DS28E15/22/25 IC基于SHA-256技術(shù),擁有不同的內部存儲器容量。由于主機和設備側儲存有相同的密鑰,我們建議主機側使用協(xié)處理器,例如DS2465。
DS28C36和DS28E35等基于非對稱(chēng)加密的產(chǎn)品提供更靈活的方法,因為主機側不需要防止密鑰被泄露。然而,為降低公鑰算法負荷并且提供附加安全操作,可利用DS2476 (DS28C36的配套IC)等主機側協(xié)處理器簡(jiǎn)化系統方案的開(kāi)發(fā)。
圖4. 基于ECDSA的安全認證算法依賴(lài)于私鑰/公鑰對。
支持對稱(chēng)和非對稱(chēng)加密的安全微控制器
Maxim提供各種各樣的安全微控制器,包括從MAX32590 (ARM9,工作頻率384MHz)應用級處理器(支持Linux等高級操作系統)到MAX32555或MAXQ1061等小尺寸協(xié)處理器。
這些微控制器支持對稱(chēng)和非對稱(chēng)加密,適用于數字簽名和安全認證,以及加密算法。器件擁有支持SHA、RSA、ECDSA和AES的硬件加速器,以及完整的加密算法庫,提供符合標準的整體API方案。器件內置安全引導,所以能夠保證固件可靠性。得益于齊全的加密功能,器件能夠支持多種安全認證方法。
MAXQ1061協(xié)處理器不僅支持安全認證,而且也支持使用IP的TLS/SSL標準安全通信協(xié)議的大多數關(guān)鍵步驟。在芯片內實(shí)現TLS協(xié)議可提高安全水平并減輕主處理器執行計算密集型任務(wù)的負荷。這對于資源受限的嵌入式系統非常寶貴。
MAX32626等低功耗微控制器的目標應用為可穿戴設備,所以不是“安全為中心”的IC。然而,隨著(zhù)攻擊現象日益頻繁,產(chǎn)品的設計也充分考慮了未來(lái)的安全挑戰。所以,MAX32626具有支持安全認證的硬件信賴(lài)保護單元,以及用于加密的硬件AES和內置安全引導。
總結
本文中,我們探討了什么是安全認證及其重要性。同時(shí)我們也看到,得益于已有基于硅的方案,不需要是加密專(zhuān)家,也完全能夠實(shí)現安全認證。
推薦閱讀:
物聯(lián)網(wǎng)浪傳感器技術(shù)的研究方向有哪些?
這十大傳感器 是當之無(wú)愧的“黑科技”之王
電池管理系統BMS,靜電防護不到位咋補救?