教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

电子元器件应用-SHA iButton API 概述

来源:网络收集 时间:2026-09-13
导读: 1 of 38 绪论 Dallas SHA iButton? (DS1963S) 是一个智能令牌具有很高的安全性并支持多种服务本文简要介绍了使用SHA iButton 实现数字认证和交易的应用并以一个示范服务程序为例来具体说明安装服务数据和处理电子交易的步骤本文还论述了主要API的调用方法介

1 of 38

绪论

Dallas SHA iButton? (DS1963S) 是一个智能令牌具有很高的安全性并支持多种服务本文简要介绍了使用SHA iButton 实现数字认证和交易的应用并以一个示范服务程序为例来具体说明安装服务数据和处理电子交易的步骤本文还论述了主要API的调用方法介绍了命令注释列表和实现各种API的数据流程

SHA iButton适用于多种应用

批量运输

电子门锁

门镜控制

计算机和网络访问控制

电话付费

停车计费器

预付费表

自动售货机

软件授权

什么是

SHA

SHA安全散列算法经过加密专家多年来的发展和改进已经成为公认的最安全并被广泛使用的散列算法之一在SHA iButton Dallas Semiconductor的型号为DS1963S中实现的SHA 算法是SHA-1它符合联邦信息发行标准180-1即FIPS 180-1杂散函数可以简单的理解为

取一串输入码称为预映射或信息并把它转化为固定的较短长度的输出序列称为散列值

信息摘要或信息认证代码的过程由于SHA是对压缩后的信息摘要进行检查它对检测输入序列中的错误或变化是非常有效的单向散列函数的特征是产生摘要容易但从给定的摘要反求出输入信息非常困难单向散列函数的安全性就在于其产生摘要的操作过程具有较强的单向性在输入序列中嵌入密码任何人在不知道密码的情况下都不能产生正确的摘要从而保证其安全性SHA将输入流按照每块512位64个字节分块并产生20个字节被称为信息认证代码MAC或信息摘要的输出如果输入长度不是512位算法就把它凑成最接近于512的整倍数值下图说明了由多个输入块512位产生最后的MAC的链状图

应用笔记 157

SHA iButton API 概述iButton是Dallas Semiconductor的注册商标

AN157 2 of 38 SHA 计算器把输出 MAC 存入

暂存器 Dallas SHA iButton DS1963S 中的SHA

Dallas SHA iButton

DS1963S 在专门的快速电路中执行SHA-1

计算它可以在1ms 之内完成一次SHA-1计算SHA-1引擎的输入被限制为一块通过设计SHA-1引擎的输入数据块包括存储在读/写数据页32

个字节暂存器中的用户数据15

个字节和服务供应商预装在不可读取的加密页中的密钥8

个字节参见图1计算结果MAC 保存在暂存器中用于后续操

作由于对特定SHA 操作的依赖性该输出MAC 在通过外部访问的暂存器中不一定要隐藏起

SHA iButton 中MAC 生成器 图1

SHA iButton 的特性 SHA iButton 是一个只需最少硬件就能访问大约4k 位读/写数据的载体通过激活集成的512位SHA-1引擎算出基于器件内存储信息的160

位的信息认证代码

MAC 数据依照1-Wire ?协议串行传输该协议只需一根数据连线和一根地线每个SHA iButton 利用其相应的密钥和页计数器能够同时服务于8个独立的应用中SHA iButton

也可以作为协处理器保护系统密钥的安全也可以协助本地交易主机计算用户令牌认证和确认应用数据所需要的MAC SHA iButton 和其它iButton

一样有附加的存储区域

称为暂存器

向存储器写数据时用作缓冲器SHA iButton 的暂存器还用于向SHA-1引擎注入数据段或接收/比较信息认证代码向iButton

写数据的时候

数据首先被写到暂存器中

在这里

数据能被读回并验证是否有通信错误

数据被验证之后

复制暂存器命令把数据传到目标存储器位置这一过程在没有可靠的电接触环境下可以确保数

据的完整性

DS1963S SHA iButton

有如下特殊性能

4096位可读/

写的非易失存储器分成16

页每页256位

16个存储页中的8个有独自的64位密钥和32位只读可回溯写次数计数器 内置512位SHA-1引擎

作为用户令牌器件能同时支持8个独立的服务

可用作协处理器存储系统密钥和计算用户令牌认证确认应用数据所需要的MAC

1-Wire 是Dallas Semiconductor 的注册商标

AN157

3 of 38

SHA iButton 存储器图

通用的读/写访问数据存储器16页每页32个字节 页码

地址范围 (TA1 TA2)

密钥号 计数器值 计数器递增

0 0000H

至 001FH 0 0

无 1 0020H 至 003FH 1 1 无 2 0040H 至 005FH 2 2 无 3 0060H 至 007FH 3 3 无 4 0080H 至 009FH 4 4 无 5 00A0H 至 00BFH 5 5 无

6 00C0H

至 00DFH 6 6 无 7 00E0H 至 00FFH 7 7 无 8 0100H

至 011FH 0 0 写数据时

9 0120H 至 013FH 1 1 写数据时 10 0140H 至 015FH 2 2 写数据时 11 0160H 至 017FH 3 3 写数据时 12 0180H 至 019FH 4 4 写数据时 13 01A0H 至 01BFH 5 5 写数据时 14 01C0H 至 01DFH 6 6 写数据时 15 01E0H 至 01FFH 7

7 写数据时

不可读取不可读取的加密存储器的加密存储器

八个64位密钥

页码

地址范围 (TA1 TA2)

说明

16 0200H 至 0207H 密钥 0

0208H 至 020FH 密钥 1 0210H 至 0217H 密钥 2 0218H 至 021FH 密钥 3 17 0220H 至 0227H 密钥 4 0228H 至 022FH 密钥 5 0230H 至 0237H 密钥 6 0238H 至 023FH

密钥 7

值得注意的是只有向第8到第15页写数据时页计数器才会递增在特定操作中一对匹配数据页共用一个计数器和密钥例如第0页和第8页共用0号计数器和0号密钥向第8页写数据时0号计数器增1而向第0页写数据时对0号计数器没有影响在第0页或第8页执行Read Authenticated Page 读鉴别页命令时都将返回0号计数器的值计算MAC 都将使用密钥0

AN157

4 of 38

只读计数存储器

九个32位计数器

页码

地址范围

(TA1 TA2)

说明

0260H 至 0263H 第8页的写次数计数器 0264H 至 0267H

第9页的写次数计数器

0268H

至 026BH 第

10页的写次数计数器

026CH 至 026FH 第11页的写次数计数器 0270H 至 0273H 第12页的写次数计数器 0274H 至

0277H 第13页的写次数计数器 0278H 至 027BH 第14页的写次数计数器 19

027CH 至 027FH

第15页的写次数计数器 0280H 至 0283H 密钥0的写次数计数器 0284H 至 0287H 密钥1的写次数计数器 0288H 至 028BH 密钥2的写次数计数器 028CH 至 028FH 密钥3的写次数计数器 0290H 至 0293H 密钥4的写次数计数器 0294H 至 0297H 密钥5的写次数计数器 0298H 至 029BH 密钥6的写次数计数器 20

029CH 至 029FH

密钥7的写次数计数器

21 02A0H 至 02A3H

PRNG 计数器 (SHA 引擎实现计数)

在电子付费应用中使用SHA iButton

SHA iButton 既可以用作用户令牌又可以用作协处理器协处理器可以完成交易会话期间的器件认证和验证应用数据所需要的MAC 计算无需执行SHA 计算代码有效缩短了开发周期把SHA iButton 用作协处理器的另一个好处是可以把系统密钥存储在钮扣内而钮扣不能够被检测也就不会泄漏密钥在本文中我们假设SHA iButton 协处理器用于本地主机执行必要的器件认证和服务数据验证本文将用到的一些术语定义如下

本地 …… 此处隐藏:15353字,全部文档内容请下载后查看。喜欢就下载吧 ……

电子元器件应用-SHA iButton API 概述.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/339171.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)