资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
基于基于 OTPOTP 存储器的一次性电子钱包存储器的一次性电子钱包 RFIDRFID 卡卡2009/4/23/10:43 来源:RFID 世界网 1 1、引言、引言 电子钱包是顾客在电子商务购物活动中常用的一种支付工具,是在小额购 物或购买小商品时常用的新式钱包。电子钱包有两种概念:一种是纯粹的软件, 只要用于网上消费、账户管理,这类软件通常与银行账户或银行卡账户连接在 一起的;二是小额支付的智能储值卡,持卡人预先在卡中存入一定的金额,交 易时直接从卡中扣除交易金额,因为此类卡不像银行卡那样需要大型的系统支 持,所以在一些活动的、小额的交易中应用非常广泛,最具代表性时公交卡。 电子钱包智能储值卡一般是基于射频识别技术,并包括芯片、天线和封装 三个主要组成部分。电子钱包的芯片存储值可以是数字现金和其他电子货币, 可以在相应的装置上消费,并且可以显示有多少钱在用户的电子钱包内,如公 共交通卡可以在相应的公共交通读卡机上读出其存储值,在其上进行消费。 随着电子商务和技术的发展,电子钱包的使用已经越来越多,但是现有的 智能储值卡都是基于 EEPROM(电可擦除可编程只读存储器)工艺,其成本难以下 降,阻碍了对电子钱包的利用。利用低成本的 0TP(一次可编程)存储器,结合 模拟电路和数字电路实现一种一次性电子钱包。这种一次性电子钱包的基本功 能是在发卡时将一定的金额存入卡中,然后最终用户在读卡机上以单位值或是 单位值的倍数消费,直到金额消费完为止。因为 OTP 存储器的只能一次编程的 特性,使得基于这种存储器的一次性电子钱包与基于 EEPROM 的电子钱包在内部 操作上有很大的不同。 2 2、一次性电子钱包的功能、一次性电子钱包的功能 电子钱包一般包括以下几个主要功能:初始化钱包、扣钱包、加钱包和读 钱包。初始化钱包是指将一定的金额在发卡商那里存人电子钱包中;扣钱包是 支持电子钱包在指定的机具消费,每次消费扣除一定的金额;加钱包是指为电 子钱包充值;读钱包则是将电子钱包的余额读出。一次性电子钱包没有加钱包 的功能,但其它功能从用户层面来说跟 S50 等常用的电子钱包卡一样的。 21 存储器分配 一次性电子钱包的 OTP 存储器的大小为 8KBits,主要划分为两个功能区: 一个是存取面值和密码等信息的操作区,大小为 2KBits;另一个则是记录单位 值使用情况的减法区,大小为 6KBits,减法区中每个 Bit 代表一个单位值。操 作区又分为 4 个扇区,每个扇区有 4 块,每块的大小为 128Bits。每个扇区的第 4 块存储密码,扇区 0 的第一块由造卡厂商写入 UID 等数据,扇区 0 的第二 块写入一次性电子钱包面值的数据,其它用户自定义的数据块可以由用户写人 任何数据。 22 初始化钱包 电子钱包的面值是指发卡商将智能卡发到最终用户手上时的最初金额。基 于(OTP 存储器的一次电子钱包的面值由两个数表示,分别为如单位值 U 是 (32Bits)和单位值可使用次数是 T16(Bits),在一个大小为 128Bits 的 Block 中 它的分配如图 1 所示的格式写入数据。面值等于单位值 U 乘以可使用次数 T,如 单位值是 32d2,可使用次数是 16d50,则面值就是 100。减法区中,每个 Bit 代表一个单位值,一共有 6000 个 Bit,即可使用次数 T 可设定的最大值为 6000,但也可以是小于 6000 的任何数。面值块设置一个块指针,这个块被写入 后,就编程这个指针为 1。块指针设置为 1 后,就不能对这个块再进行写入操 作,且每次执行扣钱包和读钱包操作,都要检查这个块指针是否为 1。 图 1 存储器分配图点击此处查看全部新闻图片图 2 面值表示点击此处查看全部新闻图片23 扣钱包 一次性电子钱包进行面值的初始化后,就可以执行减法操作了,但不能像 S50 那样执行加法和再充值等操作。一次性电子钱包减法操作分以下几个步骤: 第一步,卡和读卡机之间相互通过身份认证和密码校验;第二步,从减法区的 最后一个地址(第 6000 个)开始,以倒序的方法寻找最高位的被编程比特的地址, 记为 LBAddr 第三步,从读卡机接受减法值 S,用 S 除以面值区中的单位值,得 到结果商 Q 和余数 R,如果余数 R 不为 0,则表明减法值 S 不是单位值的整数倍, 操作失败,否则进行下一步;第四步,用 LBAddr 减去减法区中的第一个比特的 地址 FBAddr,得到单位值使用次数 UT,如果商 Q 和单位值的使用次数 UT 的和 小于等于面值区中的次数 T,则进行下一步,否则中断。第五步,LBAddr 加上 商 Q 得到新的编程地址 NBAddr,接到读卡机的编程命令后,编程第 NBAddr 个 比特的值为 1,并向读卡机返回减法操作成功的信息。 图 3 扣钱包流程点击此处查看全部新闻图片扣钱包的操作步骤中,首先以倒序的方式寻找到第一个(以顺序的方法则是 最后一个)被编程的 Bit 的地址,然后根据这个地址以顺序的方式算出该电子钱 包中单位值的使用次数(即已消费的金额);如果再次消费的条件成立,则再次 用顺序的方式算出这次消费被编程的地址,最后在这个地址上编程为 1(所有 Bit 的初始化值为 0)。这样每次做减法,无论减法值 s 是单位值的多少倍,都 只编程一个 Bit,本设计所采用的 OTP 中,编程一个 Bit 的数据大约只要200s,而基于 EEPROM 的传统方法则要编程 1281 个 Bit 的数据,时间大约需 要 4ms,大大的缩小了编程时间。整个流程如图 3 所示。 24 读钱包 读钱包是指将余额读出,这是电子钱包中最基本的操作,其分三个步骤完 成:第一步,卡和读卡机之间相互通过身份认证和密码校验;第二步,从减法 区的最后一个地址开始,以倒序的方法寻找最高位的被编程比特的地址,记为 LBAddr;第三步,用 LBAddr 减去减法区中的第一个比特的地址 FBAddr,得到 单位值使用次数 UT,并用减法区中的可使用次数 T 减去 UT 得到电子钱包单位 值的未使用次数 RT;第四步,将 U 乘以 RT 得到余额 R,然后返回给读卡机。 25 其它 除了具有一次性电子钱包的功能外,本设计还有共 10 块的存储空间供用户 存储其它信息,可以作为一个具有加密功能的存储卡来使用。同时每个扇区对 应着一个密码块,每个密码块都对应着一个密码指针。在密码指针为零时,加 密校验使用的密码为默认密码,由数字电路自动给出。当用户对密码块进行编 程后,就同时对相应的密码指针编程,此后加密校验操作就使用用户写入的密 码。 3 3、电子钱包的实现、电子钱包的实现 一次性电子钱包采用 ISOIEC14443TypeA 协议,兼容市面上流行的 MifareOne 系列指令。除了不支持 INCREMENT 和 RESTORE 指令外,其它指令格 式与 S50 或其兼容卡一样。包括模拟电路,一次性电子钱包的芯片如图 4 所示。图 4 芯片总体框图点击此处查看全部新闻图片模拟电路中,整流电路的作用是将读卡机中耦合过来的射频信号交流电压 转换成直流电源电压,在整流电路后面加上一级稳压电路,防止直流电压过高; 上电复位电路为数字电路产生一个复位信号,在卡片进入卡机的有效磁场范围 后时复位数字电路的所有寄存器;解调电路则将载波中的数据信号解调出来作 为数字电路的信号输入;调制电路则是根据数字电路返回的信号调制天线,向 读卡机返回信号;时钟整形电路则是在载波中整形除 1356M 的时钟信号供给 数字电路。 数字电路中,接收模块主要是将以 14443TypeA 协议编码的信号译成二进制 码,并为以后的模块提供各种分频时钟;数据处理模块的功能主要是指令译码、 0TP 存储器进行读写操作、卡片的状态转移;加密单元采用流密码对数据进行 加密,除了 14443TypeA 规定的命令外,其它命令的通讯都经过加密;输出模块 则以 14443TypeA 协议规定的格式向读卡机返回信号。 存储器方面,采用凯路公司的专利技术 XPM 存储器。XPM 采取对氧化层击 穿的原理,实现一次写入多次读取。相对常规 RFID 中使用 EEPROM,这种存 储器在常规的 CMOS 工艺下就可以实现,其成本要比 EEPROM 工艺低,并且数据 保存能力可达 5O 年以上,而 EEPROM 的数据保存能力在 10 年以下。XPM 的存储 机理使得它不像 EEPROM 那样容易受外界干扰(如激光,微波)而造成数据丢失, 使得它特别适合在公交卡,电子护照等安全领域内应用。 4 4、结语、结语 在 14443TypeA 协议中实现了一种一次性电子钱包 RFID 卡。该一次性电子 钱包基于 OTP 存储器,指令和加密方法与市面通用的 S50 相兼容,可以很方便 地应用到现有的读卡机系统中。一次性电子钱包的基本原理是减法区中每一个 Bit 代表一个单位值的使用,据此给出了一次性电子钱包面值的表示方法,扣 钱包的实现步骤和读余额的操作方法。在 SMIC0.18m 的工艺条件下实现了 该一次性电子钱包,并流片测试成功。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号