七色坊IC卡应用方案 案例
用户需求 :
原需求:
在七色坊现在使用的软件上增加读写IC卡的功能,由于不能直接在原软件上修改增加读写IC卡的功能,所以采用外挂一款IC卡软件的方式,将读写到的IC卡数据传到七色坊使用的原软件上;
功能要求:
a) 能自动或手动启动IC卡设备;
b) 单次发卡;
c) 批量发卡:通过读取导出的文件,写入卡号;
d) 刷卡时也只读会员卡的卡号;
e) 发卡:需要发卡密码,才能进行发卡;并且只记录会员卡的卡号;
f) 刷卡:无需密码;只读会员卡的卡号;将卡号读取到当前光标的任意输入点的位置;
g) 能够修改发卡密码;
现增需求:
1、 密码安全性要求:
a) 对每张发出的IC卡进行密码保护;
b) 密码方案由七色坊自由设定;
c) 同样的两张IC卡,密码可能不一致;
d) 刷卡时能对两种密码方案加密的IC卡内数据进行读取;
2、 增加对会员卡的余额存储功能;
3、 依然提供以中间介或外挂的方式将数据中转一次存储到IC卡中;
4、 方案中提供硬件设备的对比资料及推荐设备;
5、 方案中提供类似的IC卡应用案例 。
密码设计方案原则
针对七色坊IC卡安全密码的设计方案的设计原则如下:
1、 软件开发人员开发完成后密码方案由七色坊设定后,软件开发人员在不知道设定密码的前提下是不能解码或破解的,保证客户的密码安全;
2.、 客户方或第三方在得到设定密码后,不能破解密码的加密规则;即保证密码的安全;
3、 完全满足七色坊对密码安全性需求:
a) 对每张发出的IC卡进行密码保护;
b) 密码方案由七色坊自由设定;
c) 同样的两张IC卡,密码可能不一致;
d) 刷卡时能对两种密码方案加密的IC卡内数据进行读取;
1、 IC卡的特性:(S50卡)
扇区数: 16个;
每个扇区组成: 1个密码块 + 3个数据块
2、 密码安全方案: 保护密码 + IC卡读取密码
3、 保护密码
作用:保护密码是用来保护IC卡读取密码的密码;由于加密规则的特性,使每张卡的保护密码不一致;充分的防止了密码被解;
组成:激活码+IC卡随机码+不可反加密运算规则1
激活码:由七色坊设定;
IC卡随机码:IC卡片每张的出厂号,每张卡不同;
不可反加密运算规则1:由开发人员定义的不可反的一种加密规则;
4、 IC卡读取密码
作用:读取密码由七色坊设定;由加密规则进行加密;用于读取IC卡的数据区存储的会员卡号及余额;
组成: IC卡读取密码+不可反加密规则2;
IC卡读取密码:由七色坊设定;
不可反加密运算规则2:由开发人员定义的不可反的第二种加密规则;
此方案是在原有外挂软件方案的基础上增加功能:
1、 启动外挂软件,由托盘图标的方式在任务栏中,对IC卡设备进行刷卡时实监控;
(托盘图标)
2、 一次启动时:检测是否有激活码;如没有激活码,要求输入激活码;(注:密码安全要求必须输入,是形成保护码的关键)
3、 密码设置:包括发卡管理密码、IC卡读取密码设置;(注:功能增强)
a) 发卡管理密码:指通过进入发卡管理功能界面的进入密码;
b) IC卡读取密码:设置IC卡数据区的会员卡和余额的读取密码;
(功能菜单)
4、 刷卡数据输出
c) 将刷卡时读取到的数据传到光标指定位置;
d) 格式为:卡号+回车+余额+回车;
5、 余额写入:在原有功能中增加“余额写入”功能,通过此功能写入余额到IC卡中,如图:
本方案的优点:
1、 在七色坊新旧系统更新的时期,可以不用修改七色坊现有软件任何功能,可以完成IC卡的管理;
2、 可以使刷卡的数据输出到任意光标所在位置,也就是说适合任何软件按扩展IC卡功能;
本方案的缺点:
1、 写入IC卡的数据不只是以前的一个会员卡号,而是会员卡号+余额;所以在刷卡输出到七色坊的软件上时,只能输出到当前光标所在的位置;所以格式被定义为:卡号+回车+余额+回车,必须要求输入会员卡号 与 余额 两个输入点必须为同一软件界面,支持回车输入点换位;
2、 发卡时,操作员必须在外挂软件中输入余额写入;不能从其它软件传入到外挂软件中进行写入;
动态链接库方案
将外挂软件中的所有功能写入动态链接库,提供调用接口;供第三方软件进行调用;如:
1、 余额写入接口;
2、 激活码接口;
3、 IC卡密码修改接口;
4、 会员卡号写入接口;
本方案的优点:
1、 可以由第三方软件进行第二次开发调用;
2、 加密规则由动态链接库内部定义好,不由第二次开发进行修改;可以充分的保证七色坊对密码安全性的要求;
3、 对七色坊原有软件的接合性好,能达到无缝结合的要求;
4、 会员卡号、余额、其它信息等都可以直接写入IC卡;不需要额外的操作;
功能设计:
国内蕊片和国外蕊片技术参数基本样的,据说国内蕊片没有国外蕊片稳定、我在很多项目上都用的国外蕊片,在有些项目上用过国内蕊片,实质体验上没有发现问题,感觉上都是一样的;
IC卡读卡器 — URF-35
1、 性能指标
a) 工作频率:13.56MHZ
b) 通讯接口:RS232、USB、RS485、脱机
c) 读写卡距离:0~70mm
d) 串口通讯波特率:1200BPS~115200BPS
e) 可扩充1~3个SAM卡座和1个大卡座
f) 外型尺寸:143mm×110mm×28mm
2、 功能特点:
a) 读写器和射频卡之间的数据传输采用加密算法,卡和设备双向验证
b) 防冲突机制,可同时处理多张射频卡
c) 实时时钟显示
d) 蜂鸣提示操作状态
e) 8位LED显示或者双行汉字液晶显示
f) 提供丰富的二次开发接口函数和范例
3、 支持卡型:可读写符合ISO14443标准的射频卡,PHILIPS公司的TYPEA MF1ICS50、MF1ICL10、MF1ICS70、MIFAREPRO、MIFAREDES、MF Ultralight、DESFire, SIEMENS公司的TYPEA、上海华虹的SHC1102、复旦筹码卡、以及国内兼容上述卡型的卡片;SAM卡,符合 T=0和T=1协议的CPU卡
DL8210
1、 特点:
a) 频率:13.56MHz,支持ISO14443 TYPE A/B
b) USB1.1通讯接口(HID协议),即插即用,无驱动安装
c) USB接口供电
d) 内置“看门狗”电路,保障可靠工作
e) 无盲区天线设计
f) 防冲突多卡读写设计
g) 丰富、完善的接口函数(动态链接库DLL)以及二次开发包
h) 支持符合 ISO14443 Type A,Type B 的非接触智能卡,如: Mifare S50 ,Mifare S70,MF1ICL10,Mifare Pro,Mifare desfire,Mifare ultralight 、 SLE44R31 、 SLE6-6cl 系列、 AT88RF020 、华虹 1102 等