CPU卡发卡程序设计
CPU卡的设定与读写操作
第4章 智能(CPU)卡技术
;安装圈提密钥DULK
send 80 D4 00 00 18 01 01 00 02 0F 00 F0 FF 12345678123456781234567812345678 ;安装TAC的密钥DTK send 80 D4 00 00 18 01 01 00 05 0F 00 F0 FF 12345678123456781234567812345678 ;安装应用维护密钥DAMK
;建立 ADF
;建立DF下密钥文件
send 80 D4 00 00 18 01 01 00 08 0F 02 2F 33 11223344556677881122334455667788
第4章 智能(CPU)卡技术
;安装外部认证密钥(DEAK):11223344556677881122334455667788 send 80 D4 00 00 18 02 01 00 00 0F 00 F0 33 11223344556677881122334455667788 ;安装消费密钥DPK send 80 D4 00 00 18 01 01 00 01 0F 00 F0 FF 11223344556677881122334455667788 ;安装圈存密钥DLK send 80 D4 00 00 18 01 01 00 03 0F 00 F0 FF 11223344556677881122334455667788 ;安装圈提密钥DULK send 80 D4 00 00 18 01 01 00 02 0F 00 F0 FF 11223344556677881122334455667788
第4章 智能(CPU)卡技术
;安装TAC的密钥DTK send 80 D4 00 00 18 01 01 00 05 0F 00 F0 FF 11223344556677881122334455667788 ;安装应用维护密钥DAMK send 80 D4 00 00 18 01 01 00 06 0F 00 F0 FF 11223344556677881122334455667788 ;安装PIN解锁密钥DPUK send 80 D4 00 00 18 01 01 00 07 0F 00 F0 FF 11223344556677881122334455667788 ;安装PIN重装密钥DRPK send 80 D4 00 00 18 01 01 00 04 0F 00 F0 FF 11223344556677881122334455667788
CPU卡PSAM发卡
1 引言构建IC卡应用系统过程中,如何定义卡中的数据信息(相对逻辑加密卡)或卡中的应用类型及其数据信息(相对CPU卡)及将数据信息写入卡中,以便应用于系统中进行交易是一个重要环节。
这一环节在业界通常称为卡片个人化。
卡片个人化既可以在专门的设备机器上进行,以便于对大批量的卡片进行个人化;也可以在PC机上通过连接IC卡读写器进行,以便于对小批量的卡片进行个化。
不管硬件设备如何,都必须设计一套程序软件来进行个人化。
这个程序软件通常称为发卡程序。
本文讨论CPU卡发卡程序设计过程中将会遇到的关键技术问题及其解决方法。
CPU卡发卡大体可分为三个组成部分:(1)卡结构建立;(2)密钥写入;(3)个人化数据写入。
当然,为确保正确发卡,程序设计过程中最好是采用一边建立卡结构,一边写入密钥和个人化数据。
2 发卡前的准备工作一般地,卡片供应商提供卡片时,已经对卡片进行过初始化(主要用于对卡片进行测试),亦即卡片上已经建立了主文件(MF)及主密钥文件(MF下的Keyfile文件),主密钥文件中也已写入了初始卡片主控密钥。
在对CPU卡建立特定的卡结构及写入密钥和数据之前,程序设计中的第一步应该对卡片进行外部认证。
外部认证所使用的密钥正是初始卡片主控密钥。
当完成外部认证后,接下来最好是擦除卡片上已有的卡片结构,然后再开始重新建立卡片结构。
许多发卡程序在设计过程中,没有考虑到擦除卡片上已有的卡片结构,而是在完成外部认证后直接改写原有卡片的主密钥文件的卡片主控密钥。
常见问题是由于原有主密钥文件创建时的空间大小不够,而发卡程序试图写入除卡片主控密钥外还想写入卡片维护密钥时,势必造成写入空间不够而导致写入不成功。
3 密钥文件的建立与密钥值的写入为了独立地管理一张卡上不同应用之间的安全问题,CPU卡中的每一个应用放在一个单独的ADF中。
各个ADF及其下属各文件数据的访问(包括改写、读取)只能应用该ADF下的密钥文件中的密钥数值。
为讨论方便,此处假设只有一个ADF。
CPU卡构成与文件操作
兼容性 ∆ ∆ √ √* √* √* * √* √* √ √ √ √ √ √ √ √* √* √* √* √* √ √ √ √
C
O
S
命
令 集
实训:发卡操作 ——CPU卡文件系统的建立
RESET ;复位,应答:3B6C0002(默认ATR)33(SmartCOS版本号)61(卡状态字节)8638(明华卡 制造机构标志)1113E789C61DA020(卡的唯一序列号) ;删除MF 80 0e 00 00 08 FFFFFFFFFFFFFFFF //80 0e 00 00 08 (命令头) FFFFFFFFFFFFFFFF (8字节传输代码) ;建立MF 80 e0 00 00 18 FFFFFFFFFFFFFFFF 0f 02 315041592e5359532e4444463031 ASSERT 9000 //80 e0 00 00 18 (命令头) FFFFFFFFFFFFFFFF (8字节传输代码) 0f (删除MF的权 限) 02(DIR文件的短文件标识符) 315041592e5359532e4444463031(MF的文件名 称,银行应用 必须用1PAY.SYS.DDF01 )
项目实现之第一步——卡型选择
• 接触式逻辑加密卡 • 非接触式逻辑加密卡
加密逻辑硬件实现, 加密逻辑固定,不灵活
卡与读写器采用相同的私钥加密 算法,系统的安全性依赖于对加 密算法的保密,系统封闭,不灵 活
智能卡里有什么? ——CPU卡硬件平台
输入输出接口 I/O 微控制器 MPU 加密运算 协处理器 CAU
• 在物理上, MF占有的存储空间包括MF文件头的大小 以及MF所管理的EF和DF的所有存储空间。
专有文件(Dedicated File)
CPU卡系统原理说明
CPU卡系统原理卡结构说明发卡器具有4个功能:发母卡,发PSAM卡,发用户卡,读用户卡。
一、发母卡:1、选择母卡根目录,用母卡出厂密钥进行外部认证,擦除卡片内容2、建立母卡根目录下的KEY文件,写入母卡主控密钥,此主控密钥和出厂密钥相同3、创建一个ADF目录,建立ADF目录下的KEY文件4、在ADF的KEY文件里写入4个密钥:导出密钥1:用来导出密钥到标准算法的PSAM卡和CPU卡导出密钥2:用来导出密钥到国密算法的PSAM卡和CPU卡导出保护密钥1:等于PSAM的根目录的主控密钥,用于把导出密钥加密写到PSAM卡导出保护密钥2:等于用户卡的根目录的主控密钥,用于把分散后的导出密钥加密写入用户卡。
根据用户输入的3个因子生成导出密钥1和导出密钥2.二、发PSAM卡:1、选择PSAM卡根目录,用PSAM卡出厂密钥进行外部认证,擦除卡片内容。
2、建立PSAM根目录下的KEY文件,写入PSAM卡主控密钥,此主控密钥和出厂密钥相同。
3、创建一个ADF目录,建立ADF目录下的KEY文件4、选择母卡的ADF目录,选择PSAM卡的ADF目录,对标准算法,用导出保护密钥1加密导出密钥1,不分散,把得到的密文写入到PSAM 卡的ADF目录下的KEY文件。
做为加密密钥。
对国密算法,用导出保护密钥1加密导出密钥2,不分散,把得到的密文写入到PSAM 卡的ADF目录下的KEY文件。
做为加密密钥。
三、发用户卡1、读用户CPU卡的4字节UID,组合成8字节分散因子。
2、选择CPU卡根目录,用CPU卡出厂密钥进行外部认证,擦除卡片内容。
3、建立根目录下KEY文件,写入CPU卡主控密钥,此主控密钥和出厂密钥相同4、创建一个ADF目录,建立ADF目录下的KEY文件。
5、选择母卡ADF目录,选择CPU卡ADF目录对标准算法,用导出保护密钥2加密导出密钥1,用CPU卡UID组合成的8字节做为分散因子,把得到的密文写入到CPU卡的ADF目录下的KEY文件。
CPU卡实验
实验十一、基于符合ISO/IEC 7816 标准协议的CPU卡RATS、PPS请求指令操作实验目的1、学习和了解ISO/IEC 7816标准。
2、学习和了解ATS各字节的具体定义。
3、学习和了解PPS设置的实现。
实验器材:1、RFID读写器模块1台2、笔记本电脑或台式电脑1台3、PC机软件及MINI型USB连接线实验内容:1、利用提供的底层程序及据于WINDOS环境下的上位机软件。
2、开启读写器的USB通信功能,打开上位机软件发送RATS命令,上位机可以通过USB来获取发送命令的实时返回CPU卡的响应,并对响应数据按ISO7816协议进行分析,判别其正确性。
3、开启读写器的USB通信功能,打开上位机软件发送PPS命令,上位机可以通过USB来获取发送命令的实时返回CPU卡的响应,并对响应数判别参数是否设置成功。
实验步骤:1、首先使用RFID读写模块对CPU卡进行激活,按图1流程进行操作。
a)将CPU卡放置到读卡模块的读卡区;b)按图1橙色虚线框内容对CPU卡进行选中,如下图所示点击按钮“寻卡”->“Select”进行选卡。
①②c)点击按钮“复位卡”对CPU进行复位,使CPU卡进入FMCOS模式,并返回ATS代码2、对返回的ATS进行字段分析,理解其表达的含义例1:如果一张CPU卡ATS为:10788090022090000000000066799D24,则这张CPU卡ATS的具体解释如下表:符号字节内容内容解释TL 0x10 长度字节T0 0x78 TA1、TB1和TC1存在,FSCI=8(FSC=256字节)TA1 0x80 两个方向可以支持相同的D,支持DR=1,DS=1TB1 0x90 FWI=0x9(FWT=155ms)SFGI=0(SFGT=302us)TC1 0x02 不支持NAD,支持CIDT1 0x20 COS版本号2.0T2 0x09 COS厂商代码(复量微电子)T3 0x00 保留字节T4-T11 0000000066799D24 卡序列号3、通过PPS指令设置CPU卡与读卡模块间的通信速率。
SmartCardCPU卡读写接口电路-Read
SmartcardCPU卡起源于20世纪 80年代,最初主要用于身份识别
领域。
发展
随着技术的不断进步和应用需求的 增加,SmartcardCPU卡逐渐扩展 到金融支付、网络安全等更多领域。
未来趋势
未来,随着物联网、云计算等技术 的普及,SmartcardCPU卡将进一 步拓展应用领域,实现更广泛的应 用价值。
展望
1 2 3
技术革新
未来,随着新材料、新工艺的引入, SmartcardCPU卡读写接口电路有望在速度、功 耗、尺寸等方面实现更大的突破。
应用拓展
随着5G、物联网等技术的普及,该技术的应用 领域将进一步拓展,可能在更多场景中替代传统 的身份认证方式。
安全与隐私保护
随着数据安全和隐私保护需求的提升,该技术将 更加注重数据加密和隐私保护功能,确保用户信 息安全。
04பைடு நூலகம்Read接口电路的实现
硬件实现
电路设计
根据CPU卡协议规范,设 计相应的硬件电路,包括 数据接收、解码、存储等 模块。
元器件选择
选择合适的电子元器件, 如电阻、电容、电感等, 确保电路性能稳定可靠。
PCB板布线
合理规划PCB板布线,降 低电磁干扰,提高信号传 输质量。
软件实现
驱动程序开发
读写接口电路是实现CPU卡与外 部设备进行数据交换的关键部分, 其性能直接影响CPU卡的应用效
果。
目的和意义
随着CPU卡的普及和应用,对 读写接口电路的要求也越来越 高。
设计一个稳定、高效、安全的 读写接口电路,对于提高CPU 卡的应用性能和安全性具有重 要意义。
本研究旨在深入探讨CPU卡读 写接口电路的设计原理,为实 际应用提供理论支持和实践指 导。
单片机应用系统课程设计 卡牌
单片机应用系统课程设计卡牌卡牌是一种经典的游戏元素,广泛应用于各类游戏中,如扑克牌、魔术卡牌和收集卡牌游戏。
在单片机应用系统课程设计中,我们可以利用单片机的功能,设计实现一款简单的卡牌游戏。
本文将介绍如何设计一个基于单片机的卡牌游戏系统,并提供一些参考内容。
首先,我们需要确定游戏的规则和功能。
一个简单的卡牌游戏系统可以包括以下几个模块:游戏初始化模块、发牌模块、玩家操作模块、游戏逻辑模块、显示模块和音效模块。
下面是这些模块的详细介绍:1. 游戏初始化模块:在游戏开始时,需要初始化游戏环境,包括设置游戏的初始参数、清空牌桌、洗牌等。
这个模块可以用单片机的GPIO口实现。
2. 发牌模块:在游戏开始时,需要将牌洗好并按照规则发给每个玩家。
这个模块可以使用单片机的PWM输出来模拟洗牌和发牌的过程。
3. 玩家操作模块:在游戏进行中,每个玩家可以根据游戏规则执行一系列操作,如出牌、抽牌、换牌等。
这个模块可以使用单片机的按键和LCD显示屏来实现。
4. 游戏逻辑模块:游戏逻辑模块负责判断每个玩家的操作是否合法,并根据游戏规则进行相应的处理。
例如,判断出牌是否符合规则,计算得分等。
这个模块需要编写相应的程序算法来实现。
5. 显示模块:显示模块用于显示游戏的界面和各种信息,如牌桌上的牌、玩家的得分等。
可以使用单片机的LCD显示屏来实现。
6. 音效模块:音效模块用于产生游戏中的音效,如发牌声音、背景音乐等。
可以通过单片机的DAC或PWM等模块来生成音频。
在设计卡牌游戏系统时,需要考虑以下几个方面的问题:1. 系统的稳定性:单片机应用系统需要能稳定运行,在设计时需要注意电路的可靠性和软件的健壮性。
2. 显示效果:可以使用单片机的LCD显示屏实现简单的图形显示,如绘制牌桌和卡牌的图像。
需要注意屏幕分辨率和色彩深度的限制。
3. 用户体验:设计一个友好的用户界面和操作方式,可以通过按键输入和LCD显示来实现用户与系统的交互。
cpu卡工作原理
cpu卡工作原理CPU(Central Processing Unit)是计算机的核心部件,负责执行计算机程序中的指令并进行数据处理。
它可以被视为计算机的大脑,决定了计算机的运行速度和性能。
那么,CPU卡是如何工作的呢?我们需要了解CPU的基本组成。
一个典型的CPU由控制单元、算术逻辑单元(ALU)和寄存器组成。
控制单元负责指令的解码和执行,它从内存中读取指令并将其转化为可以被执行的微操作。
ALU 负责进行算术和逻辑运算,如加法、减法和逻辑与、或运算。
寄存器则用来存储临时数据和地址信息。
CPU卡是一种将CPU集成在一张卡片上的设备,它通常用于嵌入式系统或特定应用场景下的计算设备。
与传统的CPU相比,CPU 卡具有体积小、功耗低、散热效果好等优势。
它一般采用BGA封装技术,将CPU芯片与卡片上的其他元件进行焊接,以实现整体集成和紧凑的设计。
CPU卡的工作原理可以简单描述为以下几个步骤:1. 供电和初始化:当CPU卡插入设备中时,系统会为其提供电源供应。
在供电的同时,CPU卡会进行一系列的初始化操作,包括检测系统硬件环境、加载固件和初始化寄存器等。
2. 指令解码和执行:CPU卡从内存中读取指令,并将其解码为微操作。
控制单元根据解码后的指令类型,将相应的微操作发送到ALU 或其他功能单元执行。
这些微操作可以包括算术运算、逻辑运算、数据传输等。
3. 数据处理和存储:ALU负责执行指令中的算术和逻辑运算。
它从寄存器中读取操作数,并将运算结果存储到指定的寄存器或内存位置。
寄存器在这一过程中起到了临时存储数据和地址信息的作用。
4. 中断处理:CPU卡能够响应外部中断信号,如硬件故障、输入/输出请求等。
当发生中断时,CPU会保存当前的执行状态,并跳转到中断处理程序进行相应的处理。
处理完成后,CPU会恢复到原来的执行状态继续执行。
5. 时钟同步:CPU卡通过时钟信号来同步各个部件的工作。
时钟信号会以固定的频率发出,用于控制指令的执行速度。
CPU卡的设定与读写操作
send 00 E2 00 08 13 61 11 4F 09 A0 00 00 00 03 86 98 07 01 50 04 50 42 4F 43
send 80 E0 01 00 0D 2F 01 0F 00 A0 00 00 00 03 86 98 07 01
send 80 E0 02 00 07 6F 02 05 0F 00 0A 00 send 80 D4 00 00 0A 01 01 00 0B 0F 01 1F 33 12 34 ;安装个人密码PIN1234
指令系统表46mc68hc05sc的指令集类型符号ld从存储器装入a或从存储器装入xst的内容存入存储器或将x的内容存入存储器txataxx的内容传送到aaddamam表示存储器内容下同adc为进位在ccr寄存器中下同subinca1a或x1x或m1mdeca1a或x1x或m1mcomx或mm取反码neg00aa或00xx或00mm智能cpu卡技术续表类型符号asl算术左移asr算术右移lsl逻辑左移lsr逻辑右移rol循环左移ror循环右移tst执行a00或x00根据结果置ccr寄存器中的nbit用m作为屏蔽位选择a的相应位并根据选择结果置ncmpam置条件码cpxxm置条件码sec进位位置11cclc进位位清除0csei中断屏蔽位置11ii为中断屏蔽位ccrcli中断屏蔽位清除0ieor逻辑指令智能cpu卡技术续表bhi如cz0转移大于转移bhs如c0转移大于等于转移bpl如n0转移正转移bmi如n1转移负转移beq如z1转移相等转移bne如z0转移不等转移bls如cz0转移小于等于转移blo如c1转移小于转移bcs如c1转移进位位为1转移bcc如c0转移进位位为0转移bra必转移pcdpcbrn不转移pc2pcbm转移或i1转移bmc或bmsi为中断屏蔽位biirq1转移或irq0转移irq为中断请求线bhc转移或h1转移根据ccr位转移bset根据a置存储器相应位1mnmn表示存储器m对应的比特位bclr根据a清存储器相应位0mnbrclr如存储器中的某指定位为0转移brset如存储器中的某指定位为1转移jmp转移智能cpu卡技术续表类型符号jsr转子程序pc堆栈sp2sp转移地址pcbsr转子程序pc堆栈sp2sppcdpc转移指令rts从子程序返回地址从堆栈送pcsp2sprti从中断返回swi软中断wait停止处理并等待超时或中断stop下电等待reset或外中断rsp置堆栈指针nop符号表示不操作智能cpu卡技术432芯片安全的实现为了保证智能卡的安全应用芯片制造商与卡的发行商要明确各自的职责
智能卡技术__深圳职业技术学院(24)--智能卡与RFID技术期末考试试卷(样卷)
5.请将下列专业词汇译成中文。
RFID ICC COS SN Anticollision
五、综合题(选做二题,每题 20 分,共 40 分)
【得
分: 】
1. 请在下表的卡中为智能小区管理系统选择最为合适的一种智能卡,实现小区的门禁、
Hale Waihona Puke (20 分)电子信息工程技术专业 《智能卡与 RFID 技术》试题 A 第 4 页 (共 7 页)
2.试设计一台非接触式 IC 卡饭堂收费机。 (1) 画出非接触式 IC 卡饭堂收费机硬件框图。 (2) 若系统采用 Mifare 1 卡,试编程读出卡中余额,并按键扣款,画出主程序流程图, 说明所调用的功能函数的作用及卡对该函数的应答。 (20 分)
天线的( )
A. 天线的工作频率
B. 天线的增益
C. 天线的极化方向
D. 天线的波瓣宽度
三、判断题(每题 1 分,共 10 分)
【得分:
】
( )1.大多数非接触式 IC 卡的工作电压由卡内的电池提供。 ( )2.MIFARE 1非接触式IC卡读写器的读写距离可达1m。 ( )3.高频卡工作频率为13.56MHz,其读写距离远大于工作频率为125KHz 的低频卡。 ( )4.目前银行卡普遍采用磁卡的原因是磁卡的安全性高于IC卡。 ( )5.逻辑加密卡多采用限制连续输入的错误密码的次数的方式来防止“用户密码”被 非授权持卡人恶意跟踪猜测。 ( )6.IC卡上不能再贴磁条,以免卡芯片与磁条相互干扰。 ( )7.SLE4442卡读写器校验用户密码只需编程执行比较校验数据命令即可。 ( )8.为实现不带电插拔IC卡,在对IC卡进行读写操作的过程中应使卡座的VCC端一直保 持低电平。 ( )9.常用于CPU卡的DES算法是私钥加密算法。 ( )10.EPCglobal所规定的RFID系统工作频率为125KHz
FM1208CPU卡发卡命令流
FM1208CPU 卡发卡命令流¾ 卡片上电,执行Request, Anticoll, Select 操作(成功) ¾ 执行RATS 进入CPU 卡流程(成功)发送:E051接收:1078809002209000FFFFFFFFFFFFFFFF ¾ 选择¾ 发送:0A010********* (8字节加密后数据,加密数据为<XXXXXXXX+00000000>) 返回:0A019000¾ 擦除MF 下数据:800E000000发送:0B01800E000000 ………… 接收:FA0101 发送:FA0101 接收:0B019000¾ 选择MF :发送:接收:¾ 建立密钥文件:80E00000073F005001F0FFFF发送:0B0180E00000073F005001F0FFFF 接收:0B019000¾ 写入密钥:80D401000D36F0F0FF33FFFFFFFFFFFFFFFF发送:0A0180D401000D36F0F0FF33FFFFFFFFFFFFFFFF 接收:0A019000 ……¾ 带MAC 写二进制文件:第一步:去随机数发送:0B010********* 接收:0B01xxxxxxxx9000第二步:计算MAC 并发送命令 发送:0A0104D6950022111122223333000603010006199808170000003019980815199812155566nn nn nn nn末尾四字节为使用随机数+四字节00为初始值对04D6950022111122223333000603010006199808170000003019980815199812155566计算MAC所得,具体算法见《PBOC电子钱包、电子存折卡片规范》接收:0A019000其他命令见脚本中命令,由于雷同,不一一列出,望见谅。
PBOC之CPU卡FM1208的发卡指令讲解
3、创建 0017 的公共信息文件 4、创建 0018 的终端交易序号文件
3F 密钥文件
问权限为 AA,那么就必须要求当前目录的安全状态值等于 A 才能访问了。 3、X<Y 表示禁止访问
应用中我们前两种的情况用的最多。到这里对权限已有所了解了吧。 3、 这里来讲解刚才余留下的问题,怎样才能使安全状态值等于我要的值呢?
这就需要密钥来验证啦,只要密钥验证通过后就会改变安全状态值,好像是有点道 理,那么问题又来了,我这个安全状态值在哪里写入啊?答案是你在装载密钥时写入 的,有一个述语叫做“后续状态”的就是了,意思就是你在验证密钥通过后的安全状 态,简称后续状态。
指令的内容的说明如下:
命令报文: 80 E0
0000
07
CAL INS P1 P2 文件标识 LC
报文数据:
3F
00
50
01
F0
密钥文件 文件空间(字节) 短文件标识 增加密钥的权限
FF 保留
FF 保留
2、在上面所建的密钥文件里面装载密钥
装载 8 字节的线路保护密钥: 80D401000D36F0F0FF33FFFFFFFFFFFFFFFF
以下所有章节是按照我们的开发板例程来讲解(所有章节的参数都是按 16 进制表示)
二、MF 下的文件建立及装载操作(空白的 CPU 卡或重新格式化的 CPU 卡)
3F00 这个根目录 FM1208 的 COS 出厂已建立的,不可删除
CPU卡操作流程说明文档
加气行业CPU卡操作流程说明文档一、卡片类型介绍1、加气卡(包括员工卡、司机卡等)卡片形式:非接触式CPU 卡、双界面CPU 卡(双界面是同时支持接触和非接触形式)。
卡片作用:最终用户或是加气站员工等用作加气使用。
2、PSAM卡片形式:SAM形式接触式CPU卡卡片作用:安装在加气机读头的读卡器上,用作加气卡做消费时的认证。
3、ISAM卡片形式:SAM形式接触式CPU卡卡片作用:安装在加气站管理系统的读卡器上,用作加气卡做充值时的认证。
4、母卡卡片形式:接触式CPU卡卡片作用:密管系统中用作密钥的存储和传输。
(无论是领导卡或是根密钥卡,应用在密管系统中的卡都被统一称作母卡,母卡的意思是能进行密钥导出)二、相关硬件设备介绍1、双界面读卡器双界面读卡器包含有接触式卡槽、非接触界面和SAM卡槽。
用来做卡片与上位机程序的通信,发卡时可插入母卡,非接界面放上用户卡,进行用户卡发行。
同时,在加气站营销管理系统端,要连接读卡器进行卡片充值等操作。
2、加密机用作密钥存储和加密的硬件机器,可用母卡来代替。
加密机和母卡相比优势在于,加密机更好的处理并发性,并且由于卡片内存大小的限制,加密机相较于母卡存储密钥存储条数更多。
不过,若是项目规模不大,一般用母卡代替没有问题。
3、发卡机用作卡片发行的硬件设备。
一般的发卡机入卡槽可放200~300张卡片,包括出卡槽及废卡槽,有效得节约人力。
不过,也可用读卡器配合发卡系统,通过人工操作来发行卡片。
发卡机是否使用根据用卡量来选择。
二、卡片制作流程介绍1、卡片从龙寰出厂时,成卡带有COS并装载有客户(以下客户由重庆巨创来代替)的初始密钥。
每家客户初始密钥唯一,初始密钥用于验证卡片出厂商,避免非正规出厂卡片介入,密钥值可由龙寰提供也可巨创自己指定,同时,卡片上面可印刷巨创指定的版面。
2、巨创收到龙寰提供的卡片后,首先,要有初始化工具(上位机小软件),初始化工具配合读卡器,进行卡片出厂初始密钥的验证和替换,替换成巨创自己的卡片主控。
CPU卡校园一卡通系统方案
基于CPU卡的校园一卡通系统解决方案系统设计总体方案简介CPU卡的技术特点CPU卡芯片通俗地讲就是指芯片内含有一个微处理器,它的功能相当于一台微型计算机。
人们经常使用的集成电路卡(IC卡)上的金属片就是CPU卡芯片。
IC卡有着广泛的用途,现在许多地方交税要用金税卡、纳税登记卡,开车要有机动车驾驶员信息卡,交水费、电费也用上了IC卡。
第一代IC卡只能实现简单的存储功能,如果IC卡要向多功能方向发展,实现电子钱包、个人数据管理、多媒体等等“一卡通”功能,就必须要求CPU卡芯片向智能化、小体积、高容量方向发展。
CPU卡:真正意义上的智慧化非接触式,CPU卡内具有中央处理器(CPU)、随机内存(RAM)、程序内存(ROM)、数据存储器(EEPROM)以及片内操作系统(COS),CPU卡不仅仅是单一的非接触卡,而是一个带有卡片操作系统(COS)的应用平台,装有COS的CPU卡相当于一台微型计算机,不仅具有数据存储功能,同时具有命令处理、计算和数据加密等功能。
CPU卡可适用于金融、保险、交警、政府行业等多个领域,具有用户空间大、读取速度快、支持一卡多用等特点,并已经通过中国人民银行和国家商秘委的认证。
系统的信息介质,从客户已经建立的办公室门禁系统所采用的智能卡类型,结合当今信息安全管理发展趋势的需要 ,选用复旦FM 1208标准的CPU卡,其芯片技术属于我国自主知识产权,符合我们国家目前信息安全防范标准的要求;也利于客户方在今后扩展各类应用子系统时可以继续使用这类卡片,保持技术的先进性,避免二次投资。
复旦的FM1208 CPU卡和我公司提供的自主知识产权的考勤门禁管理软件能顺利实现无缝的结合,绝无使用任何外国保密技术,具有科技含量高、运行稳定可靠、安全保密性好、完全自主知识产权等显著特点。
并且我公司承诺为客户提供相应管理软件的维护、更新和升级服务。
FM1208是由上海复旦微电子自主研发的最新的高端智慧非接触CPU卡,该产品采用高新的工艺技术,具备多个创新点及产品优势,获得国家多项专利技术。
N101115国密CPU卡制卡流程及使用注意事项
国密CPU卡制卡流程及使用注意事项国密CPU卡操作流程:
国密CPU读卡器使用注意:
1.用于生成各种密钥的领导输入原则上由客户自己输入,并且只能
由客户关键人员掌握,发完卡之后和USBkey一起封存。
2.一个项目上面领导输入只能拥有一个,一般只是在第一次发卡时
输入,再此使用时不提倡再次输入,只要USBkey及目录文件即可发卡,避免出错。
3.国密CPU读卡器不同于mifare 1 读卡器,根密钥和传输密钥在一
个读卡器上只能拍一次,拍成功之后此读卡器无法更改,只能识别由相同的领导输入与USBkey生成的用户卡。
4.发完所有卡之后最好把目录文件做一个安全备份,以后如要继续
发卡只需要此目录文件和USBkey即可,不需要再次输入领导输入。
5.使用发卡时最好在同一个电脑上进行操作。
6.CPU读卡器和用户卡在使用时小心,工程师不要在自己的笔记本
上进行一次尝试发卡操作,一旦操作完成将不可更改,不符合需要只有报废。
ID卡 IC CPU卡电梯门禁控制器即梯控发卡方式说明
ID卡/IC/CPU卡电梯门禁控制器即梯控发卡方式说明联网发卡使用模式使用说明1.ID卡/IC卡/CPU卡电梯控制器读卡上位机本身发卡:完成ID卡/IC卡/CPU卡电梯控制器上电后,用户即可进行读卡操作。
用户将ID卡/IC卡/CPU卡移入读卡器感应范围内,控制器即可读到该卡,并进行处理。
目前,系统包含的卡片有管理卡、用户卡、接待卡、高级用户卡、高级接待卡。
管理中心发卡器授权:用户把卡放入管理中心发卡器即可进行读卡操作。
用户将ID卡/IC卡/CPU卡移入读卡器感应范围内,发卡器即可读到该卡,并进入软件界面处理。
目前,多奥拥有的自主知识产权软件系统非常简洁只需2个步骤即可完成。
*ID卡不存在管理卡的概念,但是有母卡。
*CPU卡可脱机发卡。
*IC卡可智能脱机发卡。
2.读用户卡、高级用户卡IC卡电梯门禁控制器上电后,即可进行操作,ID卡电梯控制器需要把发卡数据下载到各控制器。
住户将住户卡移至控制器感应区内时,CPU卡梯控控制器感应到卡后,会将卡内所有相关数据读出,并检查各数据是否合法。
如合法,控制器发出“嘀”一声响,P9、P4的A-C端约1秒钟、B-C端闭合约4秒钟,时间到后恢复成开路,根据接线方式的不同从而达到刷卡后再按键呼梯或刷卡直接呼梯的功能。
如住户卡非法,控制器会发出一串急促的“嘀嘀”响,继电器无动作。
智能脱机发卡使用模式使用说明1.ID卡/IC卡/CPU卡电梯控制器读卡完成ID卡/IC卡/CPU卡电梯控制器上电后,用户即可进行读卡操作。
用户将ID卡/IC卡/CPU卡移入读卡器感应范围内,控制器即可读到该卡,并进行处理。
目前,系统包含的卡片有添加卡、用户卡。
*ID卡用母卡可直接在设备上增加用户卡。
*CPU卡用管理中心发卡器发卡。
*IC卡可使用管理卡发用户卡。
2.添加用户卡A、控制器上刷添加卡,控制器进入发卡模式;B、然后刷要发行的卡片,成功则1短1长响;C、循环发行:刷添加卡,再刷要发行的卡片;D、刷添加卡约5秒钟后自动退出发卡模式;。
基于CPU卡的城市一卡通应用解决方案和总体设计思路
基于CPU卡的城市一卡通应用解决方案和总体设计思路基于CPU卡的城市一卡通应用是一种以CPU卡作为核心技术的城市智能交通系统,它将多种交通工具的支付和乘坐信息集成在一张卡上,方便市民出行和管理城市交通资源。
下面是基于CPU卡的城市一卡通应用解决方案和总体设计思路的详细阐述。
一、解决方案:1.建立智能卡片系统:采用CPU卡作为城市一卡通的载体,通过与城市交通系统的数据交换,实现交通支付、乘坐信息记录和查询等功能。
2.构建支付和结算平台:建立与银行、第三方支付机构等的对接平台,实现市民办理一卡通充值、消费、结算等操作。
3.建立多层次安全防护体系:通过密码技术、加密通信等手段,保障数据的安全性,防止信息泄露和卡片被伪造的风险。
4.实现多种交通工具的集成支付:通过与公交、地铁、出租车等交通工具的对接,支持一卡通在不同工具间的刷卡支付,方便市民出行。
5.提供个性化服务和优惠政策:通过与相关商业机构的合作,为市民提供优惠折扣、积分兑换等个性化服务,提高市民对一卡通的使用欲望。
二、总体设计思路:1.设计一卡通数据模型:建立一套有效的数据模型,包括市民个人信息、卡片充值和消费记录等,方便对数据进行统一管理和查询。
2.构建卡片和读卡器交互接口:设计卡片和读卡器之间的接口协议,实现读取和写入卡片数据的功能,确保交互的高效性和可靠性。
3.设计支付和结算流程:建立与银行和第三方支付机构的接口,实现卡片充值、支付和结算等操作,确保资金流动的安全和准确性。
4.建立多种交通工具的对接接口:与公交、地铁、出租车等交通工具的系统对接,实现刷卡支付、乘坐记录的同步等功能,提供实时的交通信息。
5.设计个性化服务接口:与商业机构的系统对接,实现优惠折扣、积分兑换等个性化服务的接口,为市民提供更多选择和便利。
6.构建安全防护机制:在交互接口和数据传输等关键环节采取密码学和加密通信等安全措施,确保市民信息的安全和卡片的可靠性。
7.设计用户界面和操作流程:通过友好的用户界面设计和简单易懂的操作流程,提高市民对一卡通的接受度和使用效率。
CPU卡程序设计实例(六)数据接收程序
CPU卡程序设计实例(六)数据接收程序1、CPU卡字节接收函数/*******************************************函数名称:CardReceChar函数功能:卡接收一个字节输入参数:无输出参数:cTemp,卡复位响应的13个字节描述:最多接收3次,接收10位,第一位是起始位,第10位是校验位,每接收一位(起始位除外),都要计算校验位(偶校验),然后与接收的校验位比较,相等则数据正确*******************************************/unsigned char CardReceChar(void){unsigned int iErrCoun;unsigned long int iTemp;unsigned char cT emp=0;CardWorkFlag=~(ICXOR+MXOR)&CardWorkFlag;for(iErrCoun=0;iErrCoun<3;iErrCoun++){for(iTemp=0;iT emp<40000;iTemp++){//判断起始位if(!(CardSDAInputCheck)) break;else if(iTemp>(40000-2)){//超时错误CardError=ErrorRWBIT|CardError;goto RstOkEnd;}}//接受1个字节,8位for(iTemp=8;iT emp>=1;iTemp--){cTemp=cTemp>>0x1;Delay1ETU();if(CardSDAInputCheck){CardWorkFlag=CardWorkFlag^0x80; //生成偶校验cTemp=0x80|cTemp;}else{cTemp=(~0x80)&cTemp;}}Delay1ETU();//判断偶校验是否正确if(CardSDAInputCheck)CardWorkFlag=ICXOR|CardWorkFlag;if(CardWorkFlag&ICXOR){if(CardWorkFlag&MXOR) goto RstOkEnd;}else if(!(CardWorkFlag&MXOR)) goto RstOkEnd;//如果校验位错,则将I/O口置低—高,等待字符的再次发送。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1摘要
构建IC卡应用系统过程中,如何定义卡中的数据信息(相对逻辑加密卡)或卡中的应用类型及其数据信息(相对CPU卡)及将数据信息写入卡中,以便应用于系统中进行交易是一个重要环节。
这一环节在业界通常称为卡片个人化。
卡片个人化既可以在专门的设备机器上进行,以便于对大批量的卡片进行个人化;也可以在PC机上通过连接IC卡读写器进行,以便于对小批量的卡片进行个化。
不管硬件设备如何,都必须设计一套程序软件来进行个人化。
这个程序软件通常称为发卡程序。
本文讨论CPU 卡发卡程序设计过程中将会遇到的关键技术问题及其解决方法。
CPU卡发卡大体可分为三个组成部分:(1)卡结构建立;(2)密钥写入;(3)个人化数据写入。
当然,为确保正确发卡,程序设计过程中最好是采用一边建立卡结构,一边写入密钥和个人化数据。
2发卡前的准备工作
一般地,卡片供应商提供卡片时,已经对卡片进行过初始化(主要用于对卡片进行测试),亦即卡片上已经建立了主文件(MF)及主密钥文件(MF下的Keyfile文件),主密钥文件中也已写入了初始卡片主控密钥。
在对CPU卡建立特定的卡结构及写入密钥和数据之前,程序设计中的第一步应该对卡片进行外部认证。
外部认证所使用的密钥正是初始卡片主控密钥。
当完成外部认证后,接下来最好是擦除卡片上已有的卡片结构,然后再开始重新建立卡片结构。
许多发卡程序在设计过程中,没有考虑到擦除卡片上已有的卡片结构,而是在完成外部认证后直接改写原有卡片的主密钥文件的卡片主控密钥。
常见问题是由于原有主密钥文件创建时的空间大小不够,而发卡程序试图写入除卡片主控密钥外还想写入卡片维护密钥时,势必造成写入空间不够而导致写入不成功。
3密钥文件的建立与密钥值的写入
为了独立地管理一张卡上不同应用之间的安全问题,CPU卡中的每一个应用放在一个单独的ADF中。
各个ADF及其下属各文件数据的访问(包括改写、读取)只能应用该ADF下的密钥文件中的密钥数值。
为讨论方便,此处假设只有一个ADF。
用户卡结构中主要存在以下两个密钥文件及相应的几个密钥:
(1)MF下的密钥文件(简称KMF),其装载的密钥是卡片主控密钥(简称CCK,以下同);
(2)ADF下的密钥文件(简称KADF),其装载的密钥有应用主控密钥(简称ACK,以下同),应用维护密钥(简称AMK),及其它应用密钥;
(3)其它密钥,如口令密钥PIN,口令解锁密钥,DES运算密钥等等。
3.1密钥文件的创建
各密钥文件在建立时必须慎重考虑以下两个要素:
(1)文件大小的分配;
(2)有关权限和密钥使用后的后续状态值的规定。
密钥文件的大小分配取决于要装载的密钥个数。
每个密钥均为一条可变长的记录,每条记录的长度为密钥数据长度加7。
以此可以计算密钥文件的大小。
在发卡程序设计过程中,常常会出现因为密钥文件的大小分配不够而造成后面的密钥无法写入。
密钥文件建立过程中的有关权限和密钥使用后的后续状态值的规定一方面起到对密钥文件本身的安全维护作用,另一方面也将决定对卡片操作的流程。
显然这个要素至关重要。
3.2各密钥值的写入
关于密钥值的写入,关键问题是要弄清楚该密钥要求以何种形式写入。
通常有以下几种形式:
(1)以明文形式写入(常见的如口令密钥PIN的写入);
(2)以带线路保护的形式写入(要求计算MAC);
(3)以对密钥值进行加密后的密文形式写入(要求计算DES或3DES);
(4)以对密钥值进行加密并带线路保护的形式写入(要求计算DES&MAC)
如果密钥值的写入要求加密并带线路保护,则密钥值写入时须对该密钥值进行DES&MAC计算后以密文形式写入(当然卡片操作系统内部会自动将其解释成明文),带线路保护的目的是防止密钥值在写入的过程中被劫取。
如果不要求带线路保护写入,可直接以明文方式写入。
在发卡程序设计过程中,尤其要注意卡片主控密钥、应用主控密钥、应用维护密钥及其它密钥之间的关系及其写入要求。
3.2.1卡片主控密钥与应用主控密钥
卡片主控密钥是对整个卡片的访问起控制作用的密钥,由卡片生产商写入,由发卡方替换为发卡方的卡片主控密钥。
发卡程序设计过程中,在对卡片进行任何操作之前,必须使用卡片主控密钥作外部认证,
应用主控密钥是应用的控制密钥,在卡片主控密钥控制下写入。
一般地,发卡方替换卡片的主控密钥之后,为验证替换工作正确,再用新的卡片主控密钥作一次外部认证。