《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 用DS2432實現(xiàn)雙向認證及軟件功能保護

用DS2432實現(xiàn)雙向認證及軟件功能保護

2008-07-17
作者:羅 敬, 張益星

??? 摘 要: 介紹了一種應(yīng)用DS2432器件實現(xiàn)雙向認證及軟件功能保護的方法。首先分析了信息認證的基本計算模型,然后應(yīng)用DS2432器件并使用SHA-1算法實現(xiàn)了1-Wire" title="1-Wire">1-Wire網(wǎng)絡(luò)的安全認證" title="安全認證">安全認證。分析了其質(zhì)詢-響應(yīng)認證過程,從而得出可將系統(tǒng)密鑰存放在安全存儲器" title="安全存儲器">安全存儲器中,而不必存放在程序代碼內(nèi)。這種系統(tǒng)便于擴展,DS2432的數(shù)據(jù)安全性甚至可以實現(xiàn)遠程配置信息修改,節(jié)省設(shè)計時間,實現(xiàn)了低成本的安全認證功能。
??? 關(guān)鍵詞: 認證? 密鑰? SHA-1算法? 信息認證碼MAC? 1-Wire? 數(shù)據(jù)安全

?

??? 高技術(shù)電子產(chǎn)品保證正確的身份識別至關(guān)重要,系統(tǒng)供應(yīng)商需要在外有黑客攻擊這樣的“外患”,內(nèi)有克隆硬件這樣的“內(nèi)憂”的環(huán)境中保護其產(chǎn)品的安全性。實現(xiàn)這些安全需求的關(guān)鍵是認證。Maxim/Dallas Semiconductor公司的DS2432器件[1]以安全存儲器形式提供加密控制和保護方案,非常適合需要知識產(chǎn)權(quán)保護、HW/SW許可權(quán)管理、安全軟件功能與狀態(tài)設(shè)置、防篡改數(shù)據(jù)存儲等 方面的應(yīng)用。
1 認證機制
1.1 認證
??? 認證是指兩個或多個實體之間建立身份認可的過程。單向認證情況下,一方需向另一方證明其身份的合法性。對于雙向認證,雙方需要彼此向?qū)Ψ阶C明自己的身份。最常用的認證方法是利用口令實現(xiàn)的。使用口令的主要問題是應(yīng)用中口令是暴露的,極易被探測。
??? 1883年,弗蘭德斯語言學(xué)家Auguste Kerckhoffs發(fā)表了一篇關(guān)于軍事加密的文章,震驚了整個世界。Kerckhoffs認為:安全不應(yīng)依靠隱匿性(例如非公開的保密算法),而應(yīng)依靠算法及其密鑰的力量。如果安全受到破壞,只需替換密鑰,而不是替換整個系統(tǒng)[2]。
??? 基于密鑰的認證過程[2]如圖1所示。密鑰(私密)和需要認證的數(shù)據(jù)(“信息”)作為輸入,計算出信息認證碼MAC后附加到信息上。信息接收方進行相同的運算,將MAC計算結(jié)果與隨信息一起收到的MAC比較,如果二者相同,則信息是合法的。

??????????????????????????????????
??? 但是,這種認證過程有一個弱點。非法者如果截取到信息,可隨后回放此信息,以仿冒合法身份。為克服這種固有的MAC弱點和證明MAC發(fā)送方的合法身份,接收方可產(chǎn)生一個隨機數(shù),作為質(zhì)詢碼回送給發(fā)送方。MAC發(fā)送方必須根據(jù)密鑰、信息和質(zhì)詢碼重新計算新的MAC,并返回給接收方。如果對應(yīng)任何質(zhì)詢碼發(fā)送方都可產(chǎn)生有效的MAC,則可以確信發(fā)送方是知道密鑰的,其身份是合法的,該過程就是質(zhì)詢-響應(yīng)認證。
1.2 SHA-1算法
??? 在加密學(xué)中,由信息產(chǎn)生固定長度MAC的算法稱為“單向”散列算法。單向算法從固定長度MAC輸出推演出較長的原始信息極為困難。相反,通過加密的方法則較為容易,因為加密的信息與原始信息是成正比的。
??? SHA-1是經(jīng)過深入研究和國際認可的單向散列算法[2-4],由National Institute of Standards and Technology (NIST)開發(fā)。SHA-1已經(jīng)發(fā)展成為國際標(biāo)準(zhǔn)ISO/IEC 10118-3:2004,算法的數(shù)學(xué)基礎(chǔ)是公開的。
??? SHA-1算法的主要特點包括以下幾點: (1)不可逆性,從計算角度講,不可能從MAC推演出輸入信息。(2) 抗沖突性,對于特定MAC,找到多于一種輸入信息是不現(xiàn)實的。(3)高雪崩效應(yīng),輸入的任何變化都會使MAC結(jié)果產(chǎn)生巨大的變化?;谶@些原因以及對該算法的國際性研究,Maxim/Dallas Semiconductor公司選擇SHA-1作為其安全存儲器的質(zhì)詢-響應(yīng)認證算法。
2 利用DS2432實現(xiàn)低成本安全認證功能
??? DS2432 EEPROM內(nèi)置SHA-1引擎,借助1-Wire接口,可以方便地將其加入到任何帶有數(shù)字處理能力的電路中,例如帶微控制器(μC)或FPGA的電路。最簡單的情況下,僅僅需要一個空閑I/O引腳以及一個上拉電阻即可構(gòu)成1-Wire接口。如果板上的計算能力或者剩余的程序存儲空間不足以完成SHA-1算法MAC計算,設(shè)計者可以采用DS2460 SHA-1協(xié)處理器,或?qū)⒂嬎闳蝿?wù)轉(zhuǎn)交給系統(tǒng)或網(wǎng)絡(luò)中最近的主機。協(xié)處理器還有另一個好處,即可將系統(tǒng)密鑰存放在安全存儲器中,而不必存放在程序代碼內(nèi)[1]。
??? 每個子系統(tǒng)電路板上的DS2432可以保護系統(tǒng)供應(yīng)商免受上述欺騙。除了進行質(zhì)詢-響應(yīng)認證外,DS2432還可以在其用戶EEPROM內(nèi)存儲獨立的配置信息。配置數(shù)據(jù)可防止非法篡改,且系統(tǒng)供應(yīng)商具有完全的控制權(quán)。配置信息可以位圖形式或代碼字形式存儲,完全由系統(tǒng)設(shè)計者決定。根據(jù)實際需要,應(yīng)盡可能簡單地設(shè)置配置信息。由于DS2432提供方便的1-Wire接口,設(shè)計者只需增加如圖2所示的一個MOSFET和一個探測點,就可以在電路板其他部分不上電的情況下,通過探測點向DS2432寫入配置信息。MOSFET將DS2432與其他電路隔離,當(dāng)子系統(tǒng)正常工作時,也不會妨礙DS2432的正常訪問。

???????????????????????????
??? 該配置信息寫入方法還帶來另一個好處,系統(tǒng)在用戶現(xiàn)場安裝完畢后,允許進行遠程更新/更改。任何未用于配置/功能管理的用戶EEPROM均可采用電子標(biāo)牌的形式實現(xiàn)電路板標(biāo)識功能。
3 DS2432認證功能的設(shè)計與實現(xiàn)
3.1 器件總體架構(gòu)
??? DS2432的1-Wire接口、1KB SHA-1安全存儲器的主要數(shù)據(jù)單元和數(shù)據(jù)流路徑如圖3所示。在這個模型中包含了8字節(jié)密鑰和臨時存儲質(zhì)詢碼的緩沖存儲器" title="緩沖存儲器">緩沖存儲器(暫存器)以及主要數(shù)據(jù)單元。數(shù)據(jù)單元包括獨一無二的器件ID號、四個用戶EEPROM頁面、控制寄存器" title="控制寄存器">控制寄存器和系統(tǒng)常數(shù)。

?????????????????????????????????
??? 器件ID號用作1-Wire網(wǎng)絡(luò)中的節(jié)點地址,同時還用于認證過程。用戶存儲器存放待認證“信息”的主要部分。系統(tǒng)常數(shù)有助于滿足格式需求和完成填充功能,從而構(gòu)成SHA-1算法的64字節(jié)輸入數(shù)據(jù)塊??刂萍拇嫫鲌?zhí)行特定的器件功能,例如可選的密鑰寫保護或EEPROM仿真模式,控制寄存器通常不參與認證過程。
??? 在這個模型中,可毫無限制地讀取器件ID號和用戶EEPROM的信息,并可完全讀/寫訪問緩沖存儲器,還可以直接裝入密鑰,但永遠不能讀取它。如若改變用戶存儲器或寄存器的內(nèi)容,則要求主機和從機(即DS2432)計算出相同的寫操作認證MAC,才可以打開緩沖存儲器至EEPROM的路徑。
??? 根據(jù)MAC結(jié)果的不同用途,DS2432 SHA-1引擎具有三種不同的工作方式[3]。任何情況下,SHA-1引擎均接收64字節(jié)輸入數(shù)據(jù),并計算出20字節(jié)的MAC結(jié)果。不同之處在于輸入數(shù)據(jù)。作為安全系統(tǒng)的根本需求,主機必須知道或者能夠計算出應(yīng)用中的有效/合法的從器件密鑰。
3.2 質(zhì)詢-響應(yīng)認證MAC
??? DS2432的主要功能是完成質(zhì)詢-響應(yīng)認證。主機發(fā)送一個隨機質(zhì)詢碼,指示DS2432根據(jù)該質(zhì)詢碼、密鑰、主機所選存儲器頁的數(shù)據(jù)以及其他數(shù)據(jù)計算出響應(yīng)MAC,如圖4所示。

?????????????????????????????

??? DS2432完成計算后,將MAC回送給主機進行驗證。主機使用有效密鑰和DS2432所使用的相同信息數(shù)據(jù)重新進行MAC計算。如果該結(jié)果和DS2432給出的MAC是匹配的,則器件是合法的,因為只有合法的DS2432才能正確地響應(yīng)質(zhì)詢-響應(yīng)認證過程。質(zhì)詢碼是隨機數(shù)據(jù)這一點是非常重要的。如果質(zhì)詢碼始終不變,很容易遭受一個利用有效、靜態(tài)、記錄和回放的MAC (不是使用認證DS2432實時算出的MAC)進行回放攻擊。
3.3 數(shù)據(jù)安全
??? 除了提供從器件的認證功能外,還強烈要求存放在器件中的數(shù)據(jù)是可信的。為實現(xiàn)這一點,DS2432的寫訪問是安全受限的。將數(shù)據(jù)從暫存器拷貝到EEPROM或控制寄存器之前,DS2432要求主機提供寫訪問認證MAC來證明其合法身份。如圖5所示,DS2432要根據(jù)暫存器中的新數(shù)據(jù)、密鑰、需要更新的存儲器頁數(shù)據(jù)以及其他數(shù)據(jù)計算該MAC。
?????????????????????????????

??? 合法主機知道密鑰后可計算出有效的寫訪問MAC??截惷顖?zhí)行過程中收到主機MAC時,DS2432將其與自身計算的結(jié)果進行比較。只有二者匹配,數(shù)據(jù)才會從緩沖存儲器傳輸至目標(biāo)EEPROM,但不能修改寫保護的存儲器頁,即使MAC是正確的。
3.4 密鑰保護
??? DS2432的架構(gòu)允許直接向器件裝入密鑰??赏ㄟ^讀保護提供密鑰保護,如果需要,還可以采用寫保護提供密鑰保護,但這將永遠不能改變密鑰。只要在設(shè)備制造現(xiàn)場訪問密鑰是安全和可控的,這種保護等級是很有效的。
??? 可以采用不同方法提升密鑰保護等級[1]:(1)由DS2432計算其密鑰。(2)由DS2432在不同場合分階段計算其密鑰。(3)計算密鑰時包含利用獨一無二的器件ID號,生成與器件相關(guān)的密鑰。(4)組合利用(2)和(3)兩種方法。

??? 如果采用上面第1種方法,每個DS2432自己計算其密鑰,只知道計算密鑰的原始數(shù)據(jù),永遠不會暴露密鑰本身。如果采用第2種方法,密鑰在不同場合分階段計算,只知道密鑰的“本地”原始數(shù)據(jù)。這種方法可有效控制“最終”密鑰的信息。如果采用第3種方法,密鑰是與器件相關(guān)的,主機還需要增加一個計算步驟。但如果一個器件的密鑰被意外發(fā)現(xiàn),潛在危害卻可降至最低。如果采用第4種方法,密鑰分階段計算,并且與具體器件相關(guān),可獲得最高保護等級。但是,為確保系統(tǒng)保密性,主機和從機一樣需要在不同地點進行設(shè)置。
??? 計算密鑰之前,必須先裝入一個已知數(shù)值作為密鑰。有了這個已知密鑰,必須向四個存儲器頁之一寫入計算新密鑰的32字節(jié)數(shù)據(jù)。接下來,需要向DS2432的暫存器寫入一個局部密鑰。局部密鑰可以是用于計算的存儲器頁碼和獨一無二的器件ID號(CRC字節(jié)除外),或任何其他與應(yīng)用相關(guān)的8字節(jié)數(shù)據(jù)。
??? 如果指示DS2432計算密鑰,則DS2432啟動SHA-1引擎,使用圖6所示的輸入數(shù)據(jù)計算MAC。20字節(jié)MAC的最低8個字節(jié)自動拷貝到密鑰存儲器地址,立即成為有效密鑰。

?????????????????????????????????
??? DS2432巧妙實現(xiàn)的安全認證功能,不但保護了程序代碼,而且公共硬件平臺利用安全的軟件功能設(shè)置也有助于降低生產(chǎn)成本;DS2432的數(shù)據(jù)安全性甚至可以實現(xiàn)遠程配置信息修改,節(jié)省了技術(shù)人員的寶貴時間;從DS2432所展示的功能可以看出,一個小小的硅晶片將對收益產(chǎn)生巨大的影響,實現(xiàn)了低成本的安全認證。
參考文獻
[1] Maxim/Dallas Semiconductor. Protecting the R&D investment—two-way authentication and secure soft-feature?settings. www.maxim.com.cn. 2005.
[2] SCHNE1ER B.應(yīng)用密碼學(xué):協(xié)議,算法與C源程序[M].吳世忠,祝世雄,張文政等,譯.北京:機械工業(yè)出版社,
?2000.
[3] MEDHI D. HUANG D. MEHTA M, et al. Locationaware?key management scheme for wireless seflS0r networks[C].Procedings of 2004 ACM Workshop on Se. curity of Ad?Hoc and Sensor Networks.Washington DC. USA: ACM ??Press. 2004:29-42.
[4] LEE P P C, LUI J C S,YAU D K Y. Distributed collaborative key agreement protocols for dynam ic peer
?groups[C]. Proc.of the ICNP,2002:53-62.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。