安全認(rèn)證的重要性 如何實(shí)施有效的安全認(rèn)證方法
當(dāng)前,數(shù)字安全是電子設(shè)計(jì)領(lǐng)域最熱門的話題之一。對于許多工程師,當(dāng)提到安全性時(shí),腦海中閃現(xiàn)出的第一個(gè)詞可能就是加密。可能只有極少數(shù)人會想到安全認(rèn)證。
然而,安全認(rèn)證是安全器件或交易的基礎(chǔ)功能。我們以家庭銀行為例。顯然,您希望余額和賬號等保密信息能夠加密,此時(shí),您的網(wǎng)絡(luò)瀏覽器上會顯示一個(gè)小鎖標(biāo)識以及“https://”。也就是說,網(wǎng)絡(luò)瀏覽器在建立安全連接時(shí),第一件事情就是檢查銀行站點(diǎn)的真實(shí)性;換句話說,就是要對銀行站點(diǎn)進(jìn)行安全認(rèn)證。實(shí)際上,如果將登錄和密碼信息發(fā)送到釣魚網(wǎng)站,危害性非常大,因?yàn)檫@些憑據(jù)可被進(jìn)一步重用,以銀行賬戶持有人的名義執(zhí)行未經(jīng)授權(quán)的交易,而實(shí)際持有人卻毫不知情。通過TLS/SSL協(xié)議,一般能夠?qū)崿F(xiàn)安全的互聯(lián)網(wǎng)瀏覽,確保真實(shí)性和保密性。
安全認(rèn)證對于物聯(lián)網(wǎng)(IoT)應(yīng)用也非常重要:不可信的終端可能會將整個(gè)基礎(chǔ)設(shè)施置于危險(xiǎn)之中。我們以連接到配電系統(tǒng)的智能電表為例。對于要破壞電網(wǎng)的攻擊者,一種簡單方法是將病毒或惡意軟件加載到智能電表。然后被干擾的電表會向基礎(chǔ)設(shè)施發(fā)送假消息,反應(yīng)出的功耗與實(shí)際功耗相差非常大。電網(wǎng)將會出現(xiàn)不平衡;更壞情況下,攻擊可能觸發(fā)全網(wǎng)斷電。為了避免這種情況,必須檢驗(yàn)電表硬件和固件的真實(shí)性。對固件進(jìn)行安全認(rèn)證的過程稱為安全引導(dǎo)。
現(xiàn)在我們已經(jīng)理解了安全認(rèn)證的重要性,接下來我們討論如何實(shí)施。最簡單的安全認(rèn)證方法是使用密碼。在智能電表的例子中,設(shè)備可向電網(wǎng)控制系統(tǒng)發(fā)送密碼。服務(wù)器驗(yàn)證密碼,然后再授權(quán)執(zhí)行下一步。雖然這種方法非常容易理解,但并不是最好的方法。攻擊者很容易監(jiān)聽通信、記錄密碼,然后用其來對非真實(shí)的設(shè)備進(jìn)行安全認(rèn)證。所以,我們認(rèn)為基于密碼的安全認(rèn)證方法比較薄弱。
數(shù)字領(lǐng)域執(zhí)行安全認(rèn)證的更好方法是質(zhì)詢-應(yīng)答方法。我們來看看兩種方式的質(zhì)詢-應(yīng)答方法:一種基于對稱加密,另一種基于非對稱加密。
對稱加密安全認(rèn)證依賴于共享密鑰。主機(jī)和被認(rèn)證設(shè)備持有相同的密鑰。主機(jī)向設(shè)備發(fā)送一個(gè)隨機(jī)數(shù),即質(zhì)詢。設(shè)備計(jì)算一個(gè)數(shù)字簽名,該簽名是密鑰和質(zhì)詢的函數(shù),并發(fā)送回主機(jī)。主機(jī)執(zhí)行相同的運(yùn)算并對結(jié)果進(jìn)行比較。如果兩項(xiàng)計(jì)算結(jié)果一致,則設(shè)備通過安全認(rèn)證(圖1)。為了確保結(jié)果不被模仿,必須使用數(shù)學(xué)屬性足夠的函數(shù);例如必須保證不可能通過計(jì)算結(jié)果獲得密鑰。SHA-256等安全散列函數(shù)滿足這些要求。對于質(zhì)詢-應(yīng)答方法,設(shè)備在不泄露密鑰的情況下證明自己知道密鑰。即使攻擊者攔截通信,也無法接觸到密鑰。
圖1. 基于對稱加密的安全認(rèn)證依賴于主機(jī)和設(shè)備之間的共享密鑰。
基于非對稱加密的安全認(rèn)證依賴于兩個(gè)密鑰:私鑰和公鑰。只有被認(rèn)證的設(shè)備知道私鑰,而公鑰可透露給希望對設(shè)備進(jìn)行安全認(rèn)證的任何一方。與上文中討論的方法一樣,主機(jī)向設(shè)備發(fā)送質(zhì)詢。設(shè)備根據(jù)質(zhì)詢和私鑰計(jì)算數(shù)字簽名,并將其發(fā)送給主機(jī)(圖2)。但此時(shí),主機(jī)使用公鑰對數(shù)字簽名進(jìn)行驗(yàn)證。用于計(jì)算數(shù)字簽名的函數(shù)擁有特定數(shù)學(xué)屬性至關(guān)重要。非對稱方法中最常用的函數(shù)是RSA和ECDSA。同樣,設(shè)備也在不泄露密鑰情況下提交了自己知道密鑰的證明,即私鑰。
圖2. 非對稱密鑰安全認(rèn)證依賴于公鑰和私鑰。