存储器映射SHA-1协处理器DSSHA1

19-5870; Rev 0; 5/11
存储器映射SHA-1协处理器
DSSHA1协处理器带有64字节RAM,为可合成的寄存器
传输级(RTL),用于实现FIPS 180-3安全散列算法(SHA1),无需为SHA-1认证开发执行复杂SHA-1算法的软件。
DSSHA1可计算SHA-1信息认证码(MAC),用于Maxim
的SHA-1器件,例如: DS1963S、DS1961S、DS28E10、
DS28E02、DS2460、DS28CN01和DS28E01-100。器件
可从寄存器输出20字节MAC结果,并与SHA-1从器件输
出进行比较。DSSHA1还可以嵌入到具体设计中,减轻微
控制器的SHA-1计算负荷,从而简化设计。
应用
打印机墨盒认证
防克隆系统设计及PCB设计
授权管理
系统安全控制
网络应用认证
特性
S在670个时钟周期(50MHz典型频率下需要13.4µs)内完
成SHA-1计算
S采用TSMC CL018G (0.18µm通用制程)工艺,芯片面积
约为102,256µm2
S专用硬件加速SHA-1引擎产生MAC
S64字节RAM用于信息输入
S五个32位寄存器读取MAC结果
S支持可合成Verilog®
S设计为底层模块,可由高层模块调用
S提供测试平台
典型工作电路
Verilog是Gateway Design Automation Corp.的注册商标。
_______________________________________________________________________________ Maxim Integrated Products 1
本文是英文数据资料的译文,文中可能存在翻译上的不准确或错误。如需进一步确认,请在您的设计中参考英文资料。
有关价格、供货及订购信息,请联络Maxim亚洲销售中心:10800 852 1249 (北中国区),10800 152 1249 (南中国区),
或访问Maxim的中文网站:china.maxim-ic.com。
DSSHA1
概述
DSSHA1
存储器映射SHA-1协处理器
说明
DSSHA1为可合成的存储器映射SHA-1协处理器,包括
64字节通用RAM,可储存64字节信息。输入信息用于计
算SHA-1 MAC。DSSHA1输入和输出端口信号设计成内
部连接32位总线。ASIC或FPGA内部执行的SHA-1散列
计算结果仅用来与Maxim器件的SHA-1散列计算结果进
行比较。如果比较结果正确,则认为通过了主系统与从
机配件之间的认证。Maxim拥有大量SHA-1从器件,例
如:DS28E01-100和DS28E10 1-Wire®器件、DS1961S
和DS1963S iButton®器件,以及DS28CN01 I2C器件。
图1说明了如何将64字节SHA-1信息插入RAM内。把输
入信号RUN_SHA触发为逻辑高电平,启动SHA-1计算。
输出BUSY信号表示计算状态。BUSY信号结束后,结果
寄存器内包含了20字节信息摘要,可供读取。
图1. 原理框图
1-Wire和iButton是Maxim Integrated Products, Inc.的注册商标。
2 _______________________________________________________________________________________
存储器映射SHA-1协处理器
名称
类型*
功能
CLK
I
时钟,在时钟的上升沿输入、输出DATAI[31:0]和DATAO[31:0]。
RSTZ
I
低电平有效复位,在每个CLK上升沿之间对RSTZ信号进行检测。有必要在每次装载512位信息、计算
MAC之前进行一次复位。
CSZ
I
低电平有效片选,进行所有寄存器和存储器访问操作时,该信号必须保持低电平。
WRZ
I
低电平有效写操作使能,进行写操作时,该信号必须为低电平。
ADDR[4:0]
I
地址[4:0],这5位信号为地址码。
DATAI[31:0]
I
数据总线输入,这32位信号为输入数据总线。
DATAO[31:0]
O
数据总线输出,这32位信号为输出数据总线。
BUSY
O
RUN_SHA
I
“忙”指示,高电平表示 SHA-1 协处理器
“忙”
,正在执行计算。 该信号为高电平时,不应该有数据访问。
运行SHA-1。该信号必须为一个时钟周期宽度,在CLK的上升沿开启SHA-1计算。
*I = 输入,O = 输出。
存储器映射
地址(HEX)
类型
访问
功能
0x00至0x0F
RAM
读/写
64字节缓存输入,为512位输入数据块,通常包含64位从器件密钥和
448位输入信息码(由随机质询码和各种数据组成)。
0x10至0x14
寄存器
读
20字节计算结果,该MAC用于比较从SHA-1从器件收到的MAC。
寄存器详细说明
器件操作
输入缓冲器(00h至0Fh)
DSSHA1在应用中的典型操作包括:写、读和运行SHA-1
引擎,以及将MAC结果与外部1-Wire SHA-1器件的MAC
进行比较。通过具有独立输入和输出总线的32位接口控制
所有这些操作,总线可轻松连接到ASIC或FPGA的内部总
线。SHA-1引擎控制 部分介绍了输入、输出数据格式,以
及如何命令SHA-1引擎执行MAC计算。
SHA-1引擎通过64字节输入缓存器接收需要处理的数据。
该缓存器储存512位信息,供SHA-1引擎处理产生MAC。
输入缓存器包含密钥及其它信息,设计者须考虑密钥安全
性问题。数据格式由每个Maxim SHA-1从器件定义。
MAC结果(10h至14h)
SHA-1计算的20字节MAC驻留在MAC结果地址空间。
_______________________________________________________________________________________ 3
DSSHA1
信号说明
DSSHA1
存储器映射SHA-1协处理器
SHA-1引擎控制
DSSHA1用于执行SHA-1引擎操作。输入缓存器接收信息,
MAC输出缓存器接收SHA-1计算结果。图2所示为SHA-1
引擎的输入和输出数据流。
户脉冲产生RUN_SHA输入信号。进行SHA-1计算期间,
BUSY信 号 保 持 在 逻 辑 高 电 平。 一 旦 完 成SHA-1计 算,
BUSY信号将变为逻辑低电平。MAC结果储存在MRR的5个
寄存器(见表2),供用户读取。
首先,通过上电复位信号启动SHA-1引擎。然后,按照表1
所示格式把信息加载到输入缓存器。完成信息加载后,用
图2. 数据流框图
表1. 输入信息格式
Mx = SHA-1引擎的输入缓存器;0 ≤ t ≤ 15;32位字,起始地址为00h,终止地址为0Fh。
IB = 输入缓存器。
4 _______________________________________________________________________________________
存储器映射SHA-1协处理器
表2. 输出信息格式
MAC比较
主控制器要求比较从机MAC与DSSHA1 MAC。如果从机
MAC和DSSHA1 MAC数值相等,则判断通过认证。如果从
机MAC与DSSHA1 MAC数值不同,则判断为虚假产品。
功能验证
为了测试 DSSHA1,可以利用测试信息
“abc”进行功能性验
证。 经过适当填充的测试消息可以转换成输入数据块:
W[0] = 61626380 W[8] = 00000000
W[1] = 00000000 W[9] = 00000000
W[2] = 00000000 W[10] = 00000000
W[3] = 00000000 W[11] = 00000000
W[4] = 00000000 W[12] = 00000000
W[5] = 00000000 W[13] = 00000000
W[6] = 00000000 W[14] = 00000000
W[7] = 00000000 W[15] = 00000018
按照表1所示格式,测试消息的输入数据块如表3所示。
计算该数据块,输出为:
Output[0] = 42541B35
Output[1] = 5738D5E1
Output[2] = 21834873
Output[3] = 681E6DF6
Output[4] = D8FDF6AD
Maxim器件将这些字按照最高有效字在前排列,每个字节
则以最低有效字节(LSB)在前排列。器件输出顺序为:
AD F6 FD D8 F6 6D 1E 68 73 48 83 21 E1 D5 38 57 35 1B 54 42
表3.“abc”测试包的SHA-1输入
Mx = SHA-1引擎的输入缓存器;0 ≤ t ≤ 15;32位字,起始地址为00h,终止地址为0Fh。
_______________________________________________________________________________________ 5
DSSHA1
表2给出了保持MAC的5个32位变量A至E所映射的位置。
DSSHA1
存储器映射SHA-1协处理器
时序规格
图3、图4和表4所示为+25℃下,使用ARM TSMC CL018G
(0.18μm通用工艺) 1.8V SAGE-XTM标准单元库,2004q3v1
版,从数据沿的50%到50%测量得到的延时。输出信号没
有负载,输入信号采用标准斜率: 从数据沿的10%到90%,
需要0.200ns。
表4. 数据总线接口定时
参数
符号
最小值
CLK周期(注1)
tCYC
12.500
ns
CLK上升沿之前,片选建立时间(注1)
tCSS
0.229
ns
CLK上升沿之后,片选保持时间(注1)
tCSH
0.000
ns
CLK上升沿之前,地址和数据建立时间(注1)
tAS
0.229
ns
CLK上升沿之后,地址和数据保持时间(注1)
tAH
0.000
ns
DATAO有效输出时间(注1,2)
tAO
0.984
ns
tD
0.984
ns
DATAO[31:0]无效时间(注1)
最大值
单位
注1:这些数值取决于电路采用的工艺。表中数值仅为示例,采用ARM TSMC CL018G (0.18μm通用工艺) 1.8V SAGE-X标准单元库,
2004q3v1版建模。ARM型号为A0082。
注2:该时间定义为典型拐点有效输出的最大可能延迟。
图3. 写时序
SAGE-X是ARM Ltd.的商标。
6 _______________________________________________________________________________________
存储器映射SHA-1协处理器
DSSHA1
图4. 读时序
图5. FPGA或ASIC典型应用
应用信息
FPGA或ASIC集成所设计的DSSHA1。采用几个模块,即
可获得一套安全认证的设计资源。图5中,带微处理器的
设计模块可将SHA-1计算负载分配给DSSHA1。在图5中,
设计者首先处理随机码产生的质询,并将DSSHA1产生的
结果与DS28E01接收到的响应进行比较。如果结果与响应
完全一致,则证明设计可靠有效,可以使能产品的功能。
认证过程中,可以根据需要更改软件和硬件,降低遭受攻
击的可能性。详细信息请参考应用笔记1098:白皮书3 :为
什么1-Wire SHA-1器件是安全的?
_______________________________________________________________________________________ 7
DSSHA1
存储器映射SHA-1协处理器
预计物理需求
交付清单
• 门电路数:6,423 (以NAND 2x1计算)。
DSSHA1工具包包括:
• 面积:85,470μm2,没有布线。
• Verilog HDL
• 面积:102,256μm2,含工艺布线。
• Verilog测试平台
用于评估的库文件:
• 关于设置和脚本的说明
ARM TSMC CL018G (0.18μm通用工艺) 1.8V SAGE-X
标 准 单 元 库,2004q3v1版。ARM型 号 为A0082。 这 是
一个由代工厂赞助的免费库,可从以下地址免费获取:
www.arm.com/products/physicalip/productsservices.html。
通过https://support.maxim-ic.com/cn/1-Wire可申请
免费的DSSHA1 IP。
验证
业内通常采用以下约定指示IP电路的检验等级:
• 金牌IP,定位于硅片。
• 银牌IP,定位于FPGA的硅片。
• 铜牌IP,用于完成逻辑时序设计的硅模块验证。
• 开发阶段IP,尚未经过验证。
注:DSSHA1已经达到银牌等级。
8 _______________________________________________________________________________________
存储器映射SHA-1协处理器
修订号
修订日期
0
5/11
说明
修改页
最初版本。
—
Maxim北京办事处
北京8328信箱 邮政编码100083
免费电话:800 810 0310
电话:010-6211 5199
传真:010-6211 5299
Maxim不对Maxim产品以外的任何电路使用负责,也不提供其专利许可。Maxim保留在任何时间、没有任何通报的前提下修改产品资料和规格的权利。
Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600
© 2011
Maxim Integrated Products 9
Maxim是Maxim Integrated Products,Inc.的注册商标。
DSSHA1
修订历史