DS1991L多密钥iButton替代方案

时间:2011-03-29来源:网络


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协处理器的情况。

1 2 3

关键词: 方案 替代 iButton 密钥 DS1991L

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版