应用笔记 4421

DS1991L多密钥iButton®替代方案


摘要 : DS1991L多密钥iButton是由Maxim的6英寸晶圆厂生产,该晶圆厂的生产工艺已过时,且不再使用。DS1991L所提供的密码保护已不再是数据安全领域的新技术。Maxim已开发出安全级别高于DS1991L而且成本更低的替代方案。因此,为了降低旧设备升级到新的生产工艺时的开发成本,Maxim启动了最后一次采购DS1991L的流程,并鼓励所有DS1991L用户在现有库存用完之前,将产品移植到更新、更安全的iButton器件。本应用笔记讨论了替代现有DS1991L应用的三种选择。每种替代方案都具有更好的性能。

DS1991L概述及背景资料

密码保护不再属于先进技术。基于密码保护的系统其最大缺陷是通过窃听通信可以最终破译密码。

由于DS1991L不提供任何写保护功能,恶意攻击者可以很容易篡改密钥信息(标识、密码、数据),从而造成器件在应用中失效。具有质询-响应认证功能以及对应用数据加密的器件成为更安全、性价比更高的替代方案。

在DS1991L应用中,1-Wire®主机必须知道如何识别相关密钥,必须知道对应的密码。使用DS1991L之前,必须安装识别码、密码和密钥数据。在此之后,器件可以进行现场操作,经常需要读取密钥数据、更换密钥。该器件优势之一是内置电池的NV SRAM技术,即便主机(读写头)掉电,也能保证从暂存器到加密数据区域的复制过程不受影响。

DS1991L替代方案

三款iButton可用来替代DS1991L。这三款器件是DS1977DS1961SDS1963S表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速率 标准速率 标准速率和高速模式 标准速率和高速模式 标准速率和高速模式
相对成本¹ 高于DS1991L 远低于DS1991L 略高于DS1991L
温度范围 -40°C至+70°C -40°C至+85°C -40°C至+85°C -40°C至+85°C
其它功能 密码不匹配时,伪随机数发生器产生虚假数据 可工作在无密码保护状态 存储器和密钥带有写保护;EPROM仿真模式 伪随机数发生器;可用作SHA-1协处理器
¹实际产品价格,请参考定购信息以及Maxim网站的价格信息。

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,需要以下两个改动:
  1. 修改应用软件,使其识别新器件并知道如何使用。
  2. 如果工作在低压环境,必须通过软件激活强上拉功能,以便为计算和安装新密钥、计算页MAC和更新EEPROM提供所需的功率。
发送Copy Scratchpad命令之前,始终验证暂存器。为保证在接触式操作环境下可靠运行,强烈建议按照应用笔记159中有关保证数据完整性的措施进行设计(参见上文)。有关SHA-1安全性的其它信息,请参考本文档最后给出的应用笔记列表。需要强调的是应用笔记1820:“White Paper 1: SHA Devices Used in Small Cash Systems”中说明了DS1961S在电子支付应用中作为令牌的使用情况。

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
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 4421:
应用笔记 4421,AN4421, AN 4421, APP4421, Appnote4421, Appnote 4421