DS1991L多密鑰iButton替代方案
摘要:DS1991L多密鑰iButton是由Maxim的6英寸晶圓廠生產,該晶圓廠的生產工藝已過時,且不再使用。DS1991L所提供的密碼保護已不再是數據安全領域的新技術。Maxim已開發出安全級別高于DS1991L而且成本更低的替代方案。因此,為了降低舊設備升級到新的生產工藝時的開發成本,Maxim啟動了最后一次采購DS1991L的流程,并鼓勵所有DS1991L用戶在現有庫存用完之前,將產品移植到更新、更安全的iButton器件。本應用筆記討論了替代現有DS1991L應用的三種選擇。每種替代方案都具有更好的性能。
DS1991L概述及背景資料
密碼保護不再屬于先進技術?;诿艽a保護的系統其最大缺陷是通過竊聽通信可以最終破譯密碼。由于DS1991L不提供任何寫保護功能,惡意攻擊者可以很容易篡改密鑰信息(標識、密碼、數據),從而造成器件在應用中失效。具有質詢-響應認證功能以及對應用數據加密的器件成為更安全、性價比更高的替代方案。
在DS1991L應用中,1-Wire?主機必須知道如何識別相關密鑰,必須知道對應的密碼。使用DS1991L之前,必須安裝識別碼、密碼和密鑰數據。在此之后,器件可以進行現場操作,經常需要讀取密鑰數據、更換密鑰。該器件優勢之一是內置電池的NV SRAM技術,即便主機(讀寫頭)掉電,也能保證從暫存器到加密數據區域的復制過程不受影響。
DS1991L替代方案
三款iButton可用來替代DS1991L。這三款器件是DS1977、DS1961S和DS1963S。表1列出了這三款器件與DS1991L以及各自特性比較。DS1977與DS1991L類似,采用密碼保護功能,兩者特性非常接近。DS1961S和DS1963S采用基于SHA-1的認證方案,即采用加密措施。沒有加密時,應用數據是公開的,并可讀取。DS1961S和DS1977采用EEPROM工藝,DS1963S采用NV SRAM工藝。
表1. 器件比較
? | 器件型號 | |||
特性 | DS1991L | DS1977 | DS1961S | DS1963S |
用戶存儲器 | 3 x 48字節,稱為密鑰 | 32K字節 | 128字節 | 8 x 2頁,每頁32字節(共512字節) |
安全性 | 三個獨立的8字節密碼(每個密碼對應一個密鑰),讀、寫操作采用同一密碼 | 兩個8字節密碼(一個用于讀操作、一個用于完全訪問) | 一個8字節密鑰,用于安全寫操作 | 八個8字節密鑰 |
數據管理 | 三個8字節密鑰標示區域(每個區域對應一個密鑰) | 推薦1-Wire文件系統 | 推薦1-Wire文件系統 | 推薦1-Wire文件系統 |
用于中間存儲和數據驗證的數據緩存器 | 64字節暫存器 | 64字節暫存器 | 8字節暫存器 | 32字節暫存器 |
認證 | — | — | 3字節質詢碼;20字節MAC碼響應 | 3字節質詢碼;20字節MAC碼響應 |
寫操作計數器 | 0 | 0 | 0 | 16個(8個用于存儲器頁、8個用于密鑰) |
工藝 | NV SRAM | EEPROM | EEPROM | NV SRAM |
電源 | 內置電池 | 主機寄生供電 | 主機寄生供電 | 內置電池 |
1-Wire速率 | 標準速率 | 標準速率和高速模式 | 標準速率和高速模式 | 標準速率和高速模式 |
相對成本1 | — | 高于DS1991L | 遠低于DS1991L | 略高于DS1991L |
溫度范圍 | -40°C至+70°C | -40°C至+85°C | -40°C至+85°C | -40°C至+85°C |
其它功能 | 密碼不匹配時,偽隨機數發生器產生虛假數據 | 可工作在無密碼保護狀態 | 存儲器和密鑰帶有寫保護;EPROM仿真模式 | 偽隨機數發生器;可用作SHA-1協處理器 |
DS1977密碼保護的32KB EEPROM iButton
與DS1991L相比,DS1977存儲器容量更大(32KB)、支持1-Wire高速模式并使用兩個密碼,一個用于讀操作,另一個用于完全訪問操作。可禁止DS1977的密碼保護功能,使其用于無需安全保護的設備。盡管成本高于DS1991L,但從單字節成本看,DS1977在所有替代型號和DS1991L中成本最低。由于采用EEPROM,DS1977應用中的1-Wire主機必須能夠實現強上拉,以便為讀、寫操作提供電源。在接觸式操作環境下,可能導致讀操作錯誤,在寫操作時需要額外的防護措施。如果使能密碼保護,則1-Wire主機必須知道至少一個密碼(讀操作或完全訪問)。對于任何基于密碼保護的系統,可通過竊聽通信最終破譯密碼。
將DS1977用于密碼保護之前,必須安裝密碼并使能了密碼保護功能。為了優化大容量存儲器的使用,建議按照1-Wire文件系統(參考應用筆記114:“1-Wire File Structure”)格式化并使用存儲器。然后將應用文件(或數據)寫入DS1977。寫操作完成后,該器件準備就緒,可用于存儲區域操作,即可以訪問存儲器數據并更改數據。
為將當前的DS1991L應用升級到DS1977,需要更改相應的應用程序,以識別新器件、器件命令,并在正確的時間置于強上拉狀態,為器件供電。通常,建議在更改密碼前先禁止密碼保護功能。安裝密碼時,須確保已定義密碼的所有8個字節。發送Copy Scratchpad命令之前,需要驗證暫存器內容。在新密碼從暫存器成功復制到對應的存儲區域后,應采用不同數據覆蓋暫存器內容,以便擦除“開放空間”保留的密碼。為在接觸式操作環境下可靠運行,強烈建議按照應用筆記159:“在iButton應用中通過軟件方法實現可靠的1-Wire通信”中有關保證數據完整性的措施進行設計。
DS1961S帶有SHA-1引擎的1K位保護EEPROM iButton
DS1961S的安全性比DS1991L高得多。DS1961S采用EEPROM,并支持1-Wire高速通信模式。與基于密碼的系統不同,該器件的安全功能基于所安裝的密鑰,而且永遠不會在存儲區之間傳輸(暴露信息)。密鑰可以是器件特定信息,如:利用主機密鑰、存儲器數據、注冊碼以及常數按照SHA-1算法計算得到密鑰。除密鑰外,所有保存在DS1961S的數據開放讀取權限。但是,進行寫操作時需要知道密鑰。需要進行數據加密,以防止公眾得到器件存儲的數據。這三款替代型號,包括DS1991L在內,DS1961S的成本最低。由于采用EEPROM,DS1961S可從1-Wire主機獲得供電電源。在接觸式操作環境下,器件的寫操作與NV SRAM器件相比,數據遭到破壞的風險略高一些。在5V電源、采用2.2kΩ或更低上拉電阻的環境中,DS1961S 應用中的1-Wire主機無需采取任何特殊的供電措施。如果上拉電壓低于5V,應減小上拉電阻(最方便的方法,見應用筆記4255:“為1-Wire器件的擴展功能供電”),或采用強上拉以便提供寫操作和器件運行SHA-1引擎所需的額外功率。DS1961S主機必須知道或能夠計算所需的密鑰,以便驗證DS1961S是系統合法用戶,從而可以更改EEPROM數據。與計算自身SHA-1 MAC碼(信息認證碼)不同,主機可使用帶EEPROM的DS2460 SHA-1協處理器。
使用DS1961S之前,必須先定義、安裝器件密鑰。經過計算的密鑰其安全性要高于類似于加載密碼的固定密鑰(常數)。其次,應用所需的數據必須寫入器件。對于容量相對較小的存儲器,可選擇使用1-Wire文件系統。如果適用,可對單頁或所有存儲器頁以及密鑰進行寫保護,以防止使用過程中發生變化。也可以將其中一個存儲器頁置于EPROM仿真模式,該模式下對應位只能從1變為0;該項功能在一些應用中非常有用。初始設置完成后,DS1961S準備就緒可以進行現場操作,即訪問存儲器數據、改寫數據。
為將現有的DS1991L應用升級到DS1961S,需要以下兩個改動:
- 修改應用軟件,使其識別新器件并知道如何使用。
- 如果工作在低壓環境,必須通過軟件激活強上拉功能,以便為計算和安裝新密鑰、計算頁MAC和更新EEPROM提供所需的功率。
DS1963S SHA iButton
DS1963S的安全性遠遠高于DS1991L。DS1963S采用NV SRAM,對存儲器頁和密鑰執行寫操作計數,并支持1-Wire高速通信模式。DS1963S和DS1961S類似,均采用密鑰進行認證;密鑰已安裝但永遠不會在存儲區之間傳輸(暴露信息)。器件支持8個密鑰,每個密鑰對應兩個存儲器頁。這些密鑰可以是器件特定信息,如:利用主機密鑰、存儲器數據、注冊碼、存儲器頁號以及常數按照SHA-1算法計算得到的密鑰。除密鑰外,保存在DS1963S的數據可以開放讀取權限。為了防止公眾得到器件存儲的數據,需要進行數據加密。DS1963S與DS1961S的不同之處在于:在不知道密鑰的情況下也可以更改DS1963S的數據;器件的存儲器頁或密鑰不帶寫保護功能。DS1963S成本低于DS1977;如果四個或多個應用共用一片DS1963S,每個應用的成本低于其它幾款替代型號。由于采用NV SRAM,讀操作、寫操作以及SHA-1計算所需電源均由內部電池提供。這一功能對寫操作非常有利。一旦接受Copy Scratchpad命令,即使器件斷開與主機的連接也不會影響數據傳送到存儲器頁或密鑰。DS1963S的存儲器數據在無需知道密鑰的前提下即可進行修改。因此,必須保留部分器件提供的應用數據空間,用于存儲“簽名”,以便驗證應用數據的有效性。器件通過質詢-響應進行認證后,還要進行其它認證操作,利用存儲器頁的內部密鑰進行驗證。簽名可以是20字節的SHA-1 MAC碼。密鑰用來計算簽名數據,通常不存儲在DS1963S內;除器件認證密鑰外,主機必須知道簽名密鑰,以便驗證數據并產生將要寫入器件的驗證數據。與計算自身SHA-1 MAC不同,主機應使用帶EEPROM的DS2460 SHA-1協處理器。在存儲舊數據的地址(例如,電子支付應用中完成一次支付后),為防止回復攻擊,嵌入簽名的計算必須包含頁的寫操作計數值。
使用DS1963S之前,必須先定義、安裝器件認證密鑰。經過計算的密鑰其安全性要高于類似于加載密碼的固定密鑰(常數)。其次,應將所需的數據,包括用于數據認證的有效嵌入簽名,寫入器件。為允許多個應用共用一個DS1963S,推薦使用1-Wire文件系統。初始化設置完成后,DS1963S就緒可以進行現場操作,即可訪問存儲器并更改數據。
為將現有的DS1991L應用升級到DS1963S,需要對應用軟件進行修改,以識別新型號、了解命令、識別相應的數據頁(多頁)并可驗證器件及其存儲數據的有效性。典型情況下,應用改變存儲區的數據,需要計算并在新的數據頁嵌入有效簽名。發送Copy Scratchpad命令之前總是需要驗證暫存器。為保證在接觸式操作環境下可靠運行,建議按照應用筆記159有關保證數據完整性的措施進行設計。有關SHA-1安全性的詳細信息,請參考本文檔最后給出的應用筆記列表。需要強調的是應用筆記1820中說明了DS1963S在電子支付應用中作為令牌使用以及SHA-1協處理器的情況。
方案選擇
上述每款替代器件需要對現有軟件進行改動(如DS1977)或需要開發新軟件。DS1977需要(DS1961S可能需要)將1-Wire主機升級到支持強上拉,以便提供足夠的功率。表2列出了每種替代方案的優、缺點。表2. 替代方案
? | DS1977 | DS1961S | DS1963S |
所需主機硬件改動 | 增加強上拉 | 增加強上拉(必要時) | 無 |
應用軟件改動 | 修改現有軟件 | 需要開發新軟件 | 需要開發新軟件 |
優點 | ??存儲器容量遠大于DS1991L、DS1961S以及DS1963S ??獨立密碼,分別用于讀操作和完全訪問 |
??成本最低 ??無法捕獲密碼 ??寫操作需要知道器件密鑰 ??基于質詢-響應認證和安全寫操作,支持更高的安全等級 |
??無法捕獲密碼 ??基于質詢-響應認證、數據內嵌簽名和寫操作計數值,支持更高的安全等級 ??多達8個程序可以共用同一器件 |
缺點 | ??安全性與DS1991L相似 ??單個程序或多個程序共用同一密鑰 |
??單個程序或多個程序共用同一密鑰 | ??沒有密鑰的情況下可以更改數據或使其無效 |
如果不能修改硬件(強上拉),則DS1977無法用作替代產品。
如果硬件接口無法提供足夠的電流支持DS1961S通信,DS1963S則是唯一選擇。由于該器件的安全性基于密鑰(而不是密碼),DS1963S的安全性更高,如果4個應用或更多應用共用同一器件,性價比也更高。DS1963S的應用軟件比較復雜,但速度不會低于DS1991L,因為該器件支持1-Wire高速通信模式。DS1963S的缺點是每個程序由于嵌入簽名,數據容量較低。但是,單個程序可利用多個數據存儲器頁和密鑰補償這一缺陷。
如果系統能夠選擇強上拉或不需要強上拉,DS1961S則是一個性價比較高的選擇。由于DS1977與DS1991L的原理最接近,使用該器件對軟件的改動最少。
總結
本應用筆記討論了替代現有DS1991L應用的三款器件以及采用新技術的優勢。每個器件都需要對應用軟件進行修改(有些情況下改動較大)以及對1-Wire主機硬件進行修改(DS1963S除外,DS1961S在某些情況下不需要)。盡管軟件改動較大,但采用基于SHA-1認證的應用具有更高的安全性,并且性價比高于DS1991L。利用DS2460 SHA-1協處理器有助于簡化實現SHA-1安全算法所需的軟件改動。補充文檔
應用筆記# | 標題 | 注釋 | 適用性 |
114 | 1-Wire File Structure | 1-Wire文件系統詳細說明。 | 所有存儲器iButton;不適合DS1991L |
152 | SHA iButton Secrets and Challenges | 質詢-響應應用中使用密鑰和質詢的建議。 | DS1961S, DS1963S |
159 | 在iButton應用中通過軟件方法實現可靠的1-Wire通信 | 接觸式環境下實現iButton可靠通信的軟件說明。 | 所有存儲器iButton |
190 | Challenge and Response with 1-Wire SHA devices | 質詢-響應認證概述。 | DS1961S, DS1963S |
1098 | 白皮書3:為什么1-Wire SHA-1器件是安全的? | 各種攻擊方式介紹,說明SHA-1如何防止這些攻擊。 | DS1961S, DS1963S |
1099 | White Paper 4: Glossary of 1-Wire SHA-1 Terms | 質詢-響應認證的相關技術術語解釋。 | DS1961S, DS1963S |
1201 | 白皮書8: 1-Wire SHA-1概述 | SHA-1安全性說明及其它信息。 | DS1961S, DS1963S |
1820 | White Paper 1: SHA Devices Used in Small Cash Systems | 詳細說明DS1961S和DS1963S在金融領域的應用,提供詳細的示例流程圖。 | DS1961S, DS1963S |
4255 | 為1-Wire器件的擴展功能供電 | 1-Wire器件供電的設計指南。 | DS1977, DS1961S |
評論
查看更多