Mifare卡在北京交通一卡通的应用
Mifare卡在北京交通一卡通的应用
Mifare One(S50)是1KBYTE逻辑加密卡,它分为16个扇区,每区4块,每块16个字节。每个扇区的前三块为数据区,第四块是特殊的,由A密钥、控制字、B密钥组成。基本操作步骤为:寻卡》防冲撞》锁定一张卡》验证密钥》读、写、充值、扣款、钱包区的备份处理》休眠》寻未进入休眠状态的卡。。。。。。由此可对天线区内的多张卡操作。
Mifare One是专为金融应用设计的,每个扇区A/B密钥的后续权限及可读性是由控制字决定的,控制字有严格的逻辑,错误地改写控制字会锁死扇区。把一个块写成如下格式:4字节值+~(4字节值)+4字节值+1字节绝对块号+~(1字节绝对块号)+1字节绝对块号+~(1字节绝对块号),则该块成为一个钱包,可进行扣款和充值操作,而此时最更本的变化是,无论扣款和充值其结果都是改写了卡片,但对于钱包块,得到读权限就可以扣款,充值则必须有写权限。由此在不同的机具上,消费机、充值机使用的SAM是不同的,这象CPU卡的应用,是目前其它逻辑加密卡不具备的。
应用中Mifare One的密钥由SAM卡计算,因安全性的问题,不便细说。SAM标准由建设部制定,为加快交易速度采用38400而非常用的9600那种。
实际使用中,由于卡片可能在任何时刻移出感应区,钱包必须要有备份,软件则需有相应的出错及纠正处理。交易时除了改写钱包外,还有交易计数和交易记录,交易记录区循环使用。
Mifare Pro是双界面的CPU卡,北京一卡通项目由握奇供卡,其非接触界面遵循ISO14443-3-4协议,接触面遵循ISO7816,多卡处理方法同Mifare One,交易流程则遵循PBOC规范。
就个人感觉,非接触卡的应用中,速度是个关键指标,PBOC在此并不适合,而又没有别的选择。
