DS1991L多密鑰iButton替代方案
本文引用地址:http://www.ex-cimer.com/article/156514.htm
DS1961S帶有SHA-1引擎的1K位保護(hù)EEPROM iButton
DS1961S的安全性比DS1991L高得多。DS1961S采用EEPROM,并支持1-Wire高速通信模式。與基于密碼的系統(tǒng)不同,該器件的安全功能基于所安裝的密鑰,而且永遠(yuǎn)不會(huì)在存儲(chǔ)區(qū)之間傳輸(暴露信息)。密鑰可以是器件特定信息,如:利用主機(jī)密鑰、存儲(chǔ)器數(shù)據(jù)、注冊(cè)碼以及常數(shù)按照SHA-1算法計(jì)算得到密鑰。除密鑰外,所有保存在DS1961S的數(shù)據(jù)開(kāi)放讀取權(quán)限。但是,進(jìn)行寫(xiě)操作時(shí)需要知道密鑰。需要進(jìn)行數(shù)據(jù)加密,以防止公眾得到器件存儲(chǔ)的數(shù)據(jù)。這三款替代型號(hào),包括DS1991L在內(nèi),DS1961S的成本最低。由于采用EEPROM,DS1961S可從1-Wire主機(jī)獲得供電電源。在接觸式操作環(huán)境下,器件的寫(xiě)操作與NV SRAM器件相比,數(shù)據(jù)遭到破壞的風(fēng)險(xiǎn)略高一些。
在5V電源、采用2.2kΩ或更低上拉電阻的環(huán)境中,DS1961S 應(yīng)用中的1-Wire主機(jī)無(wú)需采取任何特殊的供電措施。如果上拉電壓低于5V,應(yīng)減小上拉電阻(最方便的方法,見(jiàn)應(yīng)用筆記4255:“為1-Wire器件的擴(kuò)展功能供電”),或采用強(qiáng)上拉以便提供寫(xiě)操作和器件運(yùn)行SHA-1引擎所需的額外功率。DS1961S主機(jī)必須知道或能夠計(jì)算所需的密鑰,以便驗(yàn)證DS1961S是系統(tǒng)合法用戶,從而可以更改EEPROM數(shù)據(jù)。與計(jì)算自身SHA-1 MAC碼(信息認(rèn)證碼)不同,主機(jī)可使用帶EEPROM的DS2460 SHA-1協(xié)處理器。
使用DS1961S之前,必須先定義、安裝器件密鑰。經(jīng)過(guò)計(jì)算的密鑰其安全性要高于類似于加載密碼的固定密鑰(常數(shù))。其次,應(yīng)用所需的數(shù)據(jù)必須寫(xiě)入器件。對(duì)于容量相對(duì)較小的存儲(chǔ)器,可選擇使用1-Wire文件系統(tǒng)。如果適用,可對(duì)單頁(yè)或所有存儲(chǔ)器頁(yè)以及密鑰進(jìn)行寫(xiě)保護(hù),以防止使用過(guò)程中發(fā)生變化。也可以將其中一個(gè)存儲(chǔ)器頁(yè)置于EPROM仿真模式,該模式下對(duì)應(yīng)位只能從1變?yōu)?;該項(xiàng)功能在一些應(yīng)用中非常有用。初始設(shè)置完成后,DS1961S準(zhǔn)備就緒可以進(jìn)行現(xiàn)場(chǎng)操作,即訪問(wèn)存儲(chǔ)器數(shù)據(jù)、改寫(xiě)數(shù)據(jù)。
為將現(xiàn)有的DS1991L應(yīng)用升級(jí)到DS1961S,需要以下兩個(gè)改動(dòng):
- 修改應(yīng)用軟件,使其識(shí)別新器件并知道如何使用。
- 如果工作在低壓環(huán)境,必須通過(guò)軟件激活強(qiáng)上拉功能,以便為計(jì)算和安裝新密鑰、計(jì)算頁(yè)MAC和更新EEPROM提供所需的功率。
發(fā)送Copy Scratchpad命令之前,始終驗(yàn)證暫存器。為保證在接觸式操作環(huán)境下可靠運(yùn)行,強(qiáng)烈建議按照應(yīng)用筆記159中有關(guān)保證數(shù)據(jù)完整性的措施進(jìn)行設(shè)計(jì)(參見(jiàn)上文)。有關(guān)SHA-1安全性的其它信息,請(qǐng)參考本文檔最后給出的應(yīng)用筆記列表。需要強(qiáng)調(diào)的是應(yīng)用筆記1820:“White Paper 1: SHA Devices Used in Small Cash Systems”中說(shuō)明了DS1961S在電子支付應(yīng)用中作為令牌的使用情況。
DS1963S SHA iButton
DS1963S的安全性遠(yuǎn)遠(yuǎn)高于DS1991L。DS1963S采用NV SRAM,對(duì)存儲(chǔ)器頁(yè)和密鑰執(zhí)行寫(xiě)操作計(jì)數(shù),并支持1-Wire高速通信模式。DS1963S和DS1961S類似,均采用密鑰進(jìn)行認(rèn)證;密鑰已安裝但永遠(yuǎn)不會(huì)在存儲(chǔ)區(qū)之間傳輸(暴露信息)。器件支持8個(gè)密鑰,每個(gè)密鑰對(duì)應(yīng)兩個(gè)存儲(chǔ)器頁(yè)。這些密鑰可以是器件特定信息,如:利用主機(jī)密鑰、存儲(chǔ)器數(shù)據(jù)、注冊(cè)碼、存儲(chǔ)器頁(yè)號(hào)以及常數(shù)按照SHA-1算法計(jì)算得到的密鑰。除密鑰外,保存在DS1963S的數(shù)據(jù)可以開(kāi)放讀取權(quán)限。為了防止公眾得到器件存儲(chǔ)的數(shù)據(jù),需要進(jìn)行數(shù)據(jù)加密。DS1963S與DS1961S的不同之處在于:在不知道密鑰的情況下也可以更改DS1963S的數(shù)據(jù);器件的存儲(chǔ)器頁(yè)或密鑰不帶寫(xiě)保護(hù)功能。DS1963S成本低于DS1977;如果四個(gè)或多個(gè)應(yīng)用共用一片DS1963S,每個(gè)應(yīng)用的成本低于其它幾款替代型號(hào)。由于采用NV SRAM,讀操作、寫(xiě)操作以及SHA-1計(jì)算所需電源均由內(nèi)部電池提供。這一功能對(duì)寫(xiě)操作非常有利。一旦接受Copy Scratchpad命令,即使器件斷開(kāi)與主機(jī)的連接也不會(huì)影響數(shù)據(jù)傳送到存儲(chǔ)器頁(yè)或密鑰。
DS1963S的存儲(chǔ)器數(shù)據(jù)在無(wú)需知道密鑰的前提下即可進(jìn)行修改。因此,必須保留部分器件提供的應(yīng)用數(shù)據(jù)空間,用于存儲(chǔ)“簽名”,以便驗(yàn)證應(yīng)用數(shù)據(jù)的有效性。器件通過(guò)質(zhì)詢-響應(yīng)進(jìn)行認(rèn)證后,還要進(jìn)行其它認(rèn)證操作,利用存儲(chǔ)器頁(yè)的內(nèi)部密鑰進(jìn)行驗(yàn)證。簽名可以是20字節(jié)的SHA-1 MAC碼。密鑰用來(lái)計(jì)算簽名數(shù)據(jù),通常不存儲(chǔ)在DS1963S內(nèi);除器件認(rèn)證密鑰外,主機(jī)必須知道簽名密鑰,以便驗(yàn)證數(shù)據(jù)并產(chǎn)生將要寫(xiě)入器件的驗(yàn)證數(shù)據(jù)。與計(jì)算自身SHA-1 MAC不同,主機(jī)應(yīng)使用帶EEPROM的DS2460 SHA-1協(xié)處理器。在存儲(chǔ)舊數(shù)據(jù)的地址(例如,電子支付應(yīng)用中完成一次支付后),為防止回復(fù)攻擊,嵌入簽名的計(jì)算必須包含頁(yè)的寫(xiě)操作計(jì)數(shù)值。
使用DS1963S之前,必須先定義、安裝器件認(rèn)證密鑰。經(jīng)過(guò)計(jì)算的密鑰其安全性要高于類似于加載密碼的固定密鑰(常數(shù))。其次,應(yīng)將所需的數(shù)據(jù),包括用于數(shù)據(jù)認(rèn)證的有效嵌入簽名,寫(xiě)入器件。為允許多個(gè)應(yīng)用共用一個(gè)DS1963S,推薦使用1-Wire文件系統(tǒng)。初始化設(shè)置完成后,DS1963S就緒可以進(jìn)行現(xiàn)場(chǎng)操作,即可訪問(wèn)存儲(chǔ)器并更改數(shù)據(jù)。
為將現(xiàn)有的DS1991L應(yīng)用升級(jí)到DS1963S,需要對(duì)應(yīng)用軟件進(jìn)行修改,以識(shí)別新型號(hào)、了解命令、識(shí)別相應(yīng)的數(shù)據(jù)頁(yè)(多頁(yè))并可驗(yàn)證器件及其存儲(chǔ)數(shù)據(jù)的有效性。典型情況下,應(yīng)用改變存儲(chǔ)區(qū)的數(shù)據(jù),需要計(jì)算并在新的數(shù)據(jù)頁(yè)嵌入有效簽名。發(fā)送Copy Scratchpad命令之前總是需要驗(yàn)證暫存器。為保證在接觸式操作環(huán)境下可靠運(yùn)行,建議按照應(yīng)用筆記159有關(guān)保證數(shù)據(jù)完整性的措施進(jìn)行設(shè)計(jì)。有關(guān)SHA-1安全性的詳細(xì)信息,請(qǐng)參考本文檔最后給出的應(yīng)用筆記列表。需要強(qiáng)調(diào)的是應(yīng)用筆記1820中說(shuō)明了DS1963S在電子支付應(yīng)用中作為令牌使用以及SHA-1協(xié)處理器的情況。
評(píng)論