我是靠谱客的博主 生动睫毛膏,最近开发中收集的这篇文章主要介绍RF射频卡的介绍与与手机NFC的通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、简单介绍

射频卡的8K位EEPROM分为16个扇区,每扇区由四块组成,每块由16个字节。每个扇区的四块中的块三(第四块)包含了该扇区的KEYA(6字节)、存取控制(4字节)和KEYB(6字节),其余的三块位数据块。在0块至63块中,0块为固化块,其中有厂家代码等特殊内容。它广泛应用在身份鉴别、信用鉴别、自动化控制、安全防范等领域,其安全性、保密性,实用性是目前各种通用防范电路无法比拟的。

射频卡是一种无源内藏特殊密匙数码的密码卡,它利用双向无线电射频技术,完成卡的数码识别,亦即代表了持卡人的身份和相关信息。它的基本工作原理并不复杂,标签进入磁场后,接收解读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息,或者由标签主动发送某一频率的信号,解读器读取信息并解码后,送至中央信息系统进行有关数据处理。

2、介绍S70卡

该射频卡有40个扇区,4K字节
前面32个扇区中,每个扇区有4块,每块16个字节
后8个扇门中,每个扇区有16个数据块,每块有16字节
0扇区同样不保存数据,只有1-15块中保存数据
总计算可以有效保存31*48+8*240=3408字节(最后一块不使用)

扇区1-31作为POS(系统软件)写入区
扇区32-39作为表计返写区

3、逻辑数据地址映射

S70卡每个扇区由数据块和控制块组成,实际用来存储数据的空间是不连续的。
因此对各扇区的数据块进行映射转换,定义逻辑上连续的数据存储空间。
它分为0-31为小扇区
     32-39大扇区

S70卡根据保存属性分为三个区域:
卡信息区、写入区、反写区
扇区1位信息区、2-31写入区、32-39返写区
扇区1由POS制卡时写入
读卡过程 :读取信息区内容-->验证--->读取后续写入区

4、POS写入区

扇区2-31为写入区
包含三类数据:
1、充值token/修改密钥token
2、POS需要设置到表计的参数:
    计量、价格、预付费、友好时段、STS密钥、参数密钥
3、POS需要从表计获取数据:
    所有参数、表计充值记录、计量信息、充值信息、状态信息、事件及告警信息

5、表计返写区

扇区32-39位表计返写区
数据:
1、充值、修改密钥的结果代码
2、设置参数结果代码
3、POS指定读取的数据项目
4、表计主动返写最近产生的时间记录

6、密钥及控制字

所有卡所有扇区控制字固定为 08778F69
KeyA 只读,KeyB读写
KeyA 固定为0x524443415244(左边高字节)
KeyB 固定为0x12DEF3456789(左边高字节)

7、表计参数密钥管理

系统根密钥产生算法(AES加密算法 、STA算法)

密文由 根密钥明文和POS代码混合加密生成

    1-16字符根密钥明文            1-16字符POS代码


   根密钥明文=                   加密密码=
  根密钥明文.PadLeft(16, ‘0’)     POS代码.PadLeft(16, ‘0’)

                        根密钥密文=
                AES(根密钥明文, 加密密码)

                      16字节根密钥密文

8、NFC在android中的使用

android SDK中有三种NDEF数据的操作
1、从NFC便签中读取NDEF格式的数据
2、向NFC便签中写入NDEF格式的数据
3、通过android Beam技术奖NDEF数据发送到另一个NFC设备中

NFC三重过滤机制
1、NDEF_DISCOVERED
    只过滤固定格式的NDEF的数据,比如文本指定协议(HTTP FTP SMB等)URI
2、TECH_DISCOVERED
    当ACTION_NDEF_DISCOVERED指定的过滤机制无法匹配Tag时,就会使用这种过
    滤机制进行匹配,这种过滤机制并不是通过Tag的数据进行匹配的,而是根据
    Tag支持的数据存储格式进行匹配,因此这种机制使用范围很广
3、TAG_DISCOVERED
    如果将NFC的过滤机制看成if….else…if….语句的话,那么这种机制相当于
    else语句,前面两种都失败了之后,就会用这个来处理了,这种机制用来处理未
    识别的Tag
    eg:
 <intent-filter>
         <!--指定NDEF_DISCOVERED-->
        <action 
             android:name="android.nfc.action.TECH_DISCOVERED" />
        <category
            android:name="android.intent.category.DEFAULT" />
  </intent-filter>

 <meta-data
      android:name="android.nfc.action.TECH_DISCOVERED"
      android:resource="@xml/nfc_tech_filter" />
限制设备:
<uses-feature
    android:name="android.hardware.nfc"
    android:required="true"/>

权限:
<uses-permission android:name="android.permission.NFC" />

最后

以上就是生动睫毛膏为你收集整理的RF射频卡的介绍与与手机NFC的通信的全部内容,希望文章能够帮你解决RF射频卡的介绍与与手机NFC的通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部