电子元器件应用-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 协处理器用于本地主机执行必要的器件认证和服务数据验证本文将用到的一些术语定义如下
相关推荐:
- [基础教育]2016-2022年中国钢芯铝绞线市场现状调
- [基础教育]语文部编版初一语文下册练习题 句式变
- [基础教育]南京继续教育参考答案--深入学习贯彻习
- [基础教育]国旗下讲话稿——珍惜时间好读书
- [基础教育]北师大版六年级数学下册圆锥的体积教学
- [基础教育]人教版-音乐-四年级下册-四年级下册音
- [基础教育]乔布斯2019年斯坦福大学毕业典礼致辞.d
- [基础教育]2015年加油站安全知识竞赛试题及答案
- [基础教育]2020年教师年度考核个人工作总结
- [基础教育]2019年中考历史试题-2019年大庆市初中
- [基础教育]初三仁爱英语第一轮总复习教案
- [基础教育]SG-A094电气配管安装工程隐蔽验收记录
- [基础教育]冀教版小学数学三年级下册第六单元教材
- [基础教育]青岛版(五制)小学科学二年级下册16《制
- [基础教育]2018-2019年初中科学初一中考真卷测试
- [基础教育]幼儿园大班期末简短评语精选
- [基础教育]2018云南临沧公务员考试申论技巧:这样
- [基础教育]学校食堂经营管理方案
- [基础教育]新中国砥砺奋进的七十年原文
- [基础教育]真空泵的选型及常用计算公式
- 高职田径课程教学现状与对策
- 全髋关节置换术在老年股骨颈骨折患者中
- 青人社厅函〔2016〕576号(附件)工资
- cp101-07砂子检验作业指导书 - secret
- 微观经济学 第八章 博弈论 习题
- 2014高考真题(词语运用)汇编及答案
- 2018年人教版七年级语文下册《第三单元
- 苏教版数学四年级上册第一单元试题 - M
- 四川大学新闻与传播考研2000-2010年真
- 浙江万里学院英语专业四年制本科教学计
- 最新2018马年事业祝福语-范文word版(2
- 最全模具行业术语英文翻译
- 皮亚杰的发展心理学理论
- 64篇高考情景式默写 练习题及答案
- 仿写(学生稿)
- 《SQL Server数据库技术》试卷A
- 第七章作业答案
- 江苏省赣榆县海头高级中学高中语文必修
- 浙江省2001年10月自考正常人体解剖学答
- 2012英语重点短语




