智能卡范例6篇

前言:中文期刊网精心挑选了智能卡范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

智能卡

智能卡范文1

智能卡的发展史从70年代开始,它的最初设想是由一名叫有村国孝(KunitakaArimura)的日本人提出来的,并于1970年获得专利。1974年,法国的罗兰莫雷诺(RolandMoreno)进行改良,发明了带集成电路芯片的塑料卡片,获得了意外成功,成为了最早期的IC卡,从此推动了智能卡的研究和发展,当时的法国在智能卡及相关产业的拥有量居世界之首。80年代初,智能卡在美国和日本也得到很好的使用,美国人用做军人身份证的识别系统,而日本人则将它用于医疗系统中,将病人的病史情况储存在智能卡里,不但提高了看病效率,还可在智能卡中支付医疗费用,目前医疗体系中,人们都普遍在用这种医院规定的身份智能卡来看病取药。智能卡以独特的优势,在诞生后的10年内遍布世界各地,每年的发行量以40%在迅速增长。伴随着互联网技术的发展大潮,中国的智能卡技术也在马不停蹄地前进着,智能卡的应用领域也在一步步扩大:人们身上所携带的门禁卡、停车卡、公交IC卡、消费卡、医疗卡等,甚至包括现在使用的第二代身份证都属于智能卡的范畴。

智能卡常常又被称为IC卡、聪明卡、微电路卡、微芯片卡等。国际标准化组织使用术语为ICC,即集成电路卡。目前最为普遍的市场上所流通的智能卡外形尺寸标准为85.6mm×53.98mm×0.76mm,与银行所使用的磁卡相同。不过现在也有许多封装为钥匙扣、饰物等特殊形状的智能卡。智能卡作为一个新兴产业正蓬勃发展,智能卡的频繁使用已成为人们生活必需品中不可或缺的一部分,打开每个人的钱包,人们至少都拥有那么几张智能卡:银行卡、门禁卡、医疗保险卡等等,目前智能卡已在移动通信和交通管理、社会保险、人口管理、企事业内部管理等公共事业方面广泛的应用着。但是目前我国市场上设计出来的智能卡较为枯燥和呆板,在它的艺术领域上,人们的研究还较少,卡的设计往往不尽如意,主题不清晰或者卡的视觉设计不美观,还有待研究和扩展,因此,本文针对智能卡的外观视觉语言提出一个初步的设计理念。

以下是对智能卡视觉设计的四种理念:

1、外形变化:针对于非插入式的智能卡,可在不影响芯片使用的情况下,对外形做出各式各样的创意变化,同时还可像信用卡上凸起的数字和人名拼音一样,将智能卡加入凸起的盲文字体,使视觉障碍者能更方便分辨每张卡的用途。

2、质材变化:智能卡不一定局限于普通的塑料材质,还可做成其它材质:如金属材质,对于一些使用频繁的智能卡,可以延长智能卡的使用寿命;或是用PVC材质、树脂、亚克力等,既环保又能让智能卡多元化。

3、功能:智能卡不仅可以芯片多功能化,它的外形设计也可以更为人们所利用。如上述所说的金属材质的智能卡,中间就可以设计个开瓶器一样小缺口,在朋友聚会和旅游休闲中,当要拿起酒瓶畅饮时,不会因为借不到开瓶器而束手无策;也可在卡上嵌入一小块放大镜材质,老年人出门在外可以不用特地带上放大镜,在需要看点信息时可以用随身携带的智能卡应急一下。

智能卡范文2

关键词:智能卡;穿透性测试;非侵入式攻击;半侵入式攻击;侵入式攻击

中图分类号:TP274

智能卡也称CPU卡,具有较强的数据处理能力,其应用范围日趋广泛,2012年全球智能卡发行量约为70亿张。但智能卡在实际应用中却频频遭受破解,针对Mifare卡和英飞凌SLE66芯片的攻击实例表明,对于智能卡,不仅需要通过数学模型来证明其算法的安全性、通过功能测试来评估其安全功能实现的准确性,同时必须通过穿透性测试验证智能卡的实际安全。

对于智能卡穿透性测试的研究已经进行了一段时间,国内对各种攻击手段已开展相应分析,但缺少系统性的穿透性测试种类和测试方法的研究,亟待建立评估方法模型。本文在已有研究工作和成果的基础上,总结智能卡的穿透性测试技术,提出智能卡的穿透性测试评估方法,并通过示范应用实例对技术方法的有效性进行了分析验证。

1 智能卡的穿透性测试技术

近年来,对智能卡的穿透性测试手段越来越多,常用的大致分为三类:非侵入式攻击、半侵入式攻击和侵入式攻击。

1.1 非侵入式攻击,不需要打开智能卡芯片的封装,攻击者通过观察电路中的某些物理量如能量消耗、电磁辐射、时间等的变化规律来分析智能卡的加密数据。包括简单能量攻击,对密码算法执行过程中所采集到的能量消耗信息进行直接分析;差分能量攻击,通过使用大量的密文和能量迹,分析固定时刻设备的能量消耗,使用统计分析技术提取密钥信息;电磁辐射攻击,通过电磁辐射信号查找算法泄露位置,并通过对电磁信号的统计分析提取密钥信息[1]。

1.2 半侵入式攻击,需要打开智能卡芯片的封装来访问芯片表面。由于智能卡控制器的集成电路芯片是由硅制成的,其电性能会随不同的环境参数而改变。如异常温度、光照,可能导致程序执行错误;故障注入攻击,在智能卡密码算法运行的过程中注入电压毛刺和时钟毛刺,使得芯片产生错误结果,或直接将高能量的激光或放射线注入芯片表面,借此在特定的运算过程中引入错误[2]。

1.3 侵入式攻击,先对其进行反向工程,攻击者使用切割研磨机、电子显微镜等设备,进行重构版图,并通过干刻、湿刻、染色、总线探测等技术,获取存储器中各单元的信息;攻击者在反向工程后,使用聚焦离子束、微探针、激光切割器等设备对总线进行修改;对存储单元进行覆盖和改变,对各安全模块进行修改和破坏。从而尝试获取密钥信息[3]。

2 智能卡的穿透性测试评估方法

对于任何智能卡,都必须通过穿透性测试证明:智能卡安全功能完备合理、实现准确;安全数据无法获取、不可篡改。国际大多依据通用准则(Common Criteria)实施信息技术产品安全性评估与认证,国内则基于GB/T 18336-2008(等同采用通用准则2.3版)实施。本文在已有研究工作和成果的基础上,研究认为,智能卡穿透性测试评估可以采用离散的定量设计方法,通过计算攻击潜力分值,结合通用准则的评分要求来定量分析脆弱性。本文制定出智能卡穿透性测试的评估方法如下:

(1)每个攻击场景均由非侵入式、半侵入式、侵入式攻击进行选择或组合,并可以根据需要进行扩展、裁剪、循环,以达到攻击目标。

(2)设定每一个攻击场景均包含了2个攻击阶段:分析阶段、攻击阶段。在分析阶段,攻击者创建各种攻击思路,并论证攻击思路的可行性,包括设计攻击设备;在攻击阶段,攻击者利用分析阶段设计的攻击设备、攻击脚本来完成具体攻击测试。

(3)针对每个攻击场景,均设定6个关键评估因素:攻击时间、人员水平、芯片资料、样本数、攻击设备、开放样本;对6个评估因素的评分规则参见表1。

(4)攻击者设计出一个攻击场景后,首先对分析阶段和攻击阶段分别进行6个因素的评分,然后依据表1查表分别计算出分析阶段和攻击阶段的攻击分值,最后将分析阶段攻击分值和攻击阶段攻击分析相加,得到总攻击分值。

(5)根据通用准则要求,智能卡应至少“抵御中等攻击潜力的攻击者发起的攻击”。即计算得到的总攻击分值应大于等于25分[4]。如针对某测试案例设计的攻击场景的总攻击分值超过25分,表示该测试案例符合安全要求。否则表明智能卡无法抵御该项穿透性测试,应有针对性的制定合理有效的软硬件防护策略,以增加其安全性。

3 智能卡穿透性测试实例

为了验证基于上文的穿透性测试技术和评估结算方法,设计了一个实验穿透性测评环境,系统由上位机、读卡器、开发板和一系列穿透性测试工具组成,包括信号发生器、智能卡检测仪、高低温冲击试验箱、能量攻击测试平台、激光攻击测试平台、微探针台等。攻击者拟通过各种穿透性测试技术,对某款智能卡实施攻击和评估,以获得卡片保密数据。

3.1 非侵入式攻击

针对该款智能卡,使用示波器采集该智能卡密码运算时的功耗信息,使用电磁探头采集电磁信号。通过频谱分析、滤波、重采样、对齐、相关性分析等工作,可以判断加密精确位置,对该位置进行能量和电磁分析,由于该智能卡采用了随机掩码技术,所有中间变量均被随机S盒掩膜,不存在明显的信息泄露,非侵入式分析无法获获得密钥。

3.2 半侵入式/侵入式攻击

使用去层设备、对智能卡芯片进行物理去层,通过显微镜观察智能卡芯片,通过分析,可知该款智能卡采用了金属屏蔽层,无法通过芯片表面进行攻击,但背面缺乏相应防御措施,在版图重构获取算法逻辑区位置后,尝试从背面进行激光攻击。

与芯片建立通信,分析波形并计算DES故障注入时间,使用1064nm波长的激光重点扫描芯片背面相应的算法逻辑区,随机注入激光毛刺,使芯片工作异常,产生密码运算输出结果错误,对输入错误进行分析,可以成功获得DES密钥。

3.3 穿透性测试评估计算

非侵入式攻击结果表明,某智能卡采用的时钟加扰、随机掩码等措施合理有效,通过1个月的实际攻击,证明该智能卡可以对非侵入式测试实施有效防御。非侵入式攻击打分结果如表2所示,对能量攻击、电磁攻击的穿透性测试最终评分在25分以上,证明智能卡可以抵御具有中等攻击潜力的攻击者发起的非侵入式攻击。

而半侵入式和侵入式攻击结果表明,虽然某智能卡采用了安全传感器、金属屏蔽层等安全措施,但测试者通过深入分析智能卡安全机制和各逻辑区域位置,从芯片背面对芯片成功实施激光注入攻击,破解了智能卡密钥。证明其无法抵御半侵入式和侵入式攻击,建议智能卡设计商对芯片关键逻辑单元实施完整性校验、对关键的程序流向以及加密运算结果实施故障监测、通过多次比较检测密码运算输出结果的有效性,从而有效防护此类攻击事件。

4 展望

智能卡的安全问题正日益引起人们的关注,智能卡穿透性测试技术已经日益显现出其重要性,把各种先进的穿透性测试技术引入智能卡领域,以保证智能卡应用系统的安全,正成为一个重要的课题。本文研究了针对智能卡的穿透性测试技术,提出了智能卡穿透性测试评估计算方法,通过示范应用实例对技术方法的有效性进行了验证。测试结果将为国内智能卡提供穿透性测试指导,有助于提高智能卡企业和用户对智能卡安全的重视程度、有助于提高智能卡检测认证综合水平,具有十分重要的现实意义。

参考文献:

[1]P Kocher,J Jae and B Jun,Dierential Power Analysis,In M. Wiener,editor,Advances in Cryptology:Proceedings of CRYPTO’99[J].Santa Barbara,CA,USA.LNCS,Springer-Verlag,1999:388-397.

[2]S.Skorobogatov,R.Anderson,Optical fault induction attacks,Cryptographic Hardware and Embedded Systems Workshop(CHES-2002) [J],LNCS 2523:2-12.

[3]C Ajluni,Two New Imaging Techniques Promise To Improve IC Defect Identication[J].in Electronic Design (vol.43 no.14)10 July,1995:37-38.

[4]ISO/IEC 18045-2008,Common Methodology for Information Technology Security Evaluation[S]

作者简介:张俊彦(1978.1-),男,江苏人,本科,学士学位,工程师,主要研究方向:信息安全。

智能卡范文3

很少有人像明华澳汉智能卡科技股份有限公司董事长李启明那样在钱包里放上十几张卡。他说“我现在几乎不用现金,连洗澡和理发都刷卡。”李启明的钱包几乎就是中国卡行业发展的“微型博物馆”:无论是最早的磁卡、随后的IC卡、还是最新的CPU卡,里面一应俱全。

在10余年左右的时间里,李启明把一个做磁卡印刷的深圳小厂变成了一个年销售额近2亿元,即将赴港上市的“明星企业”。10年来,他的企业共生产出3亿多张卡,差不多平均每5个中国人就有一个使用过明华的卡。当大多数IC卡制造商躲在行业保护的大伞下,徘徊在年销售额1000万左右的时候,明华澳汉却能够以销售额近20倍的规模出现,这完全得益于明华澳汉在李启明带领下的“健身”不辍。

淘金

1992年,磁卡刚刚进入中国人的生活。凭着嗅觉,李启明在深圳注册了明华澳汉磁卡有限公司。但由于磁卡的生产工艺简单,仅仅是一个印刷、贴膜和加磁的过程,而且印刷业那时基本上是香港老牌印刷企业的天下,明华澳汉只能拿到一些零散小额定单,并没有获得很好的收益。

真正的转机出现在1994年,国家启动“金卡”工程,而李启明其时正在北京参加一个展览并接触到了IC卡。IC卡不仅比磁卡更加美观、还能存储个人信息。李启明认定,未来IC卡一定会取代磁卡。当了解到国内还少有厂家能够生产IC卡的情况之后,李启明看到了商机。从决定上马IC卡到赴国外考察采购生产线,直到第一张卡出厂,李启明只用了5个月时间。

1997年,明华澳汉公司接到第一个大定单,要为北京煤气公司生产100万张卡,而且限时两个月完成。业界当时纷纷怀疑明华的生产能力。而明澳汉华却完成了任务,于是也就在业界获得了声名,并开始拥有一个相对稳定的客户群。

攻坚

1995年到1998年,是明华澳汉公司成长速度最快的四年。1999年,IC卡行业的拐点来临:由于整体产能过剩(产能与需求的比例达到了6比1),价格竞争日趋激烈。一张完全相同的卡,1998年的价格还不到3年前的1/6。明华澳汉的销售额增长速度明显放慢。同时,IC卡消费心理趋于成熟:卡的应用功能、安全性等技术指标已经取代美观、耐用的外在标准,成为用户选择供应商时考虑的首要因素。而解决应用功能、安全性等问题,需要卡商具备围绕芯片的系统设计能力,明华澳汉的强项,是印刷、封装等制造领域,如果不能在系统设计能力上获得突破,必将失去市场。

李启明决定请高人出山,帮助明华澳汉研发IC卡操作系统。1998年,明华澳汉在北京成立了卡技术研究院,首次把研发重心从硬件向软件和操作系统转移,并力邀国内加密算法资深人士――清华大学博士后郭宝安担任研究院院长兼公司技术总监。

1999年6月18日,研究院结出了第一粒果实。远在香港的李启明接到北京同事的报喜电话:“明华澳汉研发的具有自主知识产权的CPU操作系统SmartCOS通过了人民银行总行的技术检测。”李启明兴奋不已,这意味着明华澳汉从此可以向各大行业用户提供基于SmartCOS的IC卡,明华澳汉终于摆脱了扼住自己命运喉咙的枷锁,跳出了下游卡制造商的圈子,获得通向银行、电信等行业用卡大户大门的钥匙。

裂变

重新占领战略制高点的李启明现在审视明华澳汉的业务结构稍感欣慰:2001年,磁卡和普通记忆卡为公司贡献了70%的销售额;IC卡是20%;另外10%来自于技术含量最高,市场规模仍然有限的EKEY电子钥匙产品。磁卡和普通卡市场虽然不可能再有大的增长,但明华澳汉已经凭借品牌影响力和适当的规模摊薄了成本,并带来了稳定的现金流。李启明希望明后两年,高低端产品的比例达到40%和60%。“那会是一个更加健康的组合。”李启明说。

从一个以制造为主的小厂,发展成为技术密集型的企业,现在最让李启明费心的,是企业的人员知识结构和组织体系能否与企业的战略转型保持同步。

事实上,高端产品的转型已经在明华澳汉内部掀起了一场不大不小的波澜:销售普通卡只需对产品有基本了解;销售高端卡则需要对客户的IT体系和所处行业有深刻的认识,以本科以下学历为主的销售队伍就显得力不从心。为解决这一问题,明华澳汉一方面提高高端卡销售的返点率,以激励销售人员克服畏难情绪;一方面定期对销售人员进行新产品和技术的培训。仅在今年,7个核心分公司的总经理中就有3个因业绩不佳,并对新产品的推广缺乏积极性而被撤换。

如果明华澳汉顺利裂变,她就能为预计中明年的IPO澳汉攒下个好身价;而如果裂变失败,以李启明的倔强,他还会从头再来。

智能卡范文4

作为OBCC集团重要业务之一的智能卡事业,它运用了奥林巴斯集团在医疗及影像事业方面积累的技术经验,与现有业务相得益彰。

奥林巴斯的智能卡产品着眼于新生代的智能卡, 目前主要涵盖视窗智能卡和指纹智能卡。 其产品满足ISO国际标准,结合金融、社保、健康、交通以及各政府和企事业单位的行业应用,必将在身份认证、持卡人掌握卡内信息、密切发卡和持卡人关系,以及可视化管理等方面做出开创性的贡献。

奥林巴斯的视窗智能卡产品主要包括动态密码(OTP)卡式令牌和多功能视窗智能(SVC)卡。

视窗智能卡产品采用了最新的显示技术――电子纸,其显著特点为显示状态下无须供电,实现了视窗智能卡的薄型化,并具备相关智能卡的机械性能,满足ISO7810标准。

动态密码认证方式是一种国际通行的安全、便捷、跨平台使用的双因子认证方式。奥林巴斯动态密码卡式令牌产品现有三类,包括:标准型单键OTP卡、带PIN码型十二键OPT卡和挑战相应型十二键OTP卡。

OTP生成模式都包含时间同步和时间同步。可提供包括OAHT、SM3等算法的产品(产品规格详见文中表格)。

奥林巴斯动态密码卡式令牌产品可谓是新生代的动态密码令牌产品。它不仅扩充了动态密码令牌产品的种类,而且带来了良好的用户体验。

智能卡范文5

关键词:操作系统;ISO7816-3;测试模块;Testing COS

中图分类号:TP368.1 文献标识码:A 文章编号:1004-373X(2009)04-027-04

Research on Design and Testing Scheme of Smart Card COS Chip Module

ZHANG Lijing,ZHANG Qiuyan

(Electronic and Communication Project Engineering,Tianjin University of Technology,Tianjin,300191,China)

Abstract:A bottom drive module of smart card and the read and write module of FLASH are designed,and a programme to test the functions of these modules is proposed.First,it introduces the basic concept of the COS and the basic construction of the chip′s hardware.Then,takes the contact chip as an example,proposes communication and hardware module and the anomaly handling mechanism of the COS based on the chip′s hardware.At the same time,it supplies a testing programme of bottom of the operating system,namely Testing COS.The bottom module is designed based on the performance of COS,and testing method of the bottom module is put forward.

Keywords:operating system;ISO7816-3;testing module;Testing COS

0 引 言

随着科学技术的不断进步,智能卡的应用已经越来越广泛,涉及到人类生活的各个领域,如商业、医疗、保险、交通、社会公共事业等多种领域,所以如何设计一个高效稳定的智能卡操作系统[1]具有较高的社会意义。这里针对智能卡的硬件结构设计了操作系统的通信和硬件其他模块[2],并提出了一种测试方案以检测芯片底层模块的稳定性。

1 智能卡操作系统概述

片内操作系统(Chip Operating System,COS)一般是紧紧围绕着它所服务的智能卡的特点而开发的[3]。与常见的微机上的操作系统相比,COS在本质上更加接近于监控程序[4]。在此以具体开发实例说明卡片操作系统的基本问题,并提出一种可行可测试的芯片层设计方案及一种芯片底层的测试方案。

2 COS芯片模块设计

COS底层模块在设计时一般都是紧密结合智能卡内存储器分区的情况,按照国际标准中所

规定的一些功能进行设计、开发。

ISO7816是接触式智能卡必须遵循的国际规范[5]。其中ISO7816-3主要描述接触式智能卡的电信号和传输协议,其中包括各个触点的电压电流承受范围、卡复位应答各个信息位的实际表示和T=0,T=1的传输协议。 ISO/IEC 7816-3规定了IC卡的电气特性和传输协议。包括该类卡和接口设备间的电源、电气信号协议和信息交换协议。通信过程中,由接口设备给IC卡提供电源(Vcc),复位信号(RST)和时钟(CLK),卡和接口设备间通过I/O端口进行串行通信。

(1)通信模块设计。

根据T=0异步半双工字符传输协议,IC卡和接口设备之间以字符为单位(简称字符帧)进行传输,采用偶校验,每个字符由10 b组成。传输字符帧之前,I/O线处于状态Z,第1 b为起始位(状态A);后面8 b为数据位D1~D8;第10 b为偶校验位,即8位数据和奇偶校验位中1的个数为偶数。

串行通信是按位传送的,每位信息宽度(持续时间)定义为基本时间单位ETU(Elementary Time Unit)。在复位应答期间的信息宽度称为“初始ETU”,它等于372个时钟周期,即1ETU=372/f。复位应答后的信息宽度称为“当前ETU”,其计算公式为:当前ETU=(F/D)(1/f)。其中:F是时钟频率变换因数;D是比特率调整因数;f是时钟频率。

IC卡必须与相应的读写设备(IFD)通信。从这个角度讲,智能IC卡操作系统的作用就是从读写设备(IFD)接收命令、执行命令并将结果返回读写设备(IFD)[6]。所以,通信管理功能模块在操作系统中具有十分重要的作用。通信管理功能模块主要实现以下几种功能:实现某一通信协议的数据链路层的传输管理功能;实现ISO/IEC 7816标准规定的ATR(复位响应)等功能;为操作系统中的其他功能模块提供相应接口。

按ISO/IEC 7816标准,IC卡和读写设备之间的通信协议有多种,一般一种卡片只支持某一种通信协议。下面以符合ISO/IEC 7816-3标准的T=0字符传输协议的智能IC卡为例介绍通信管理功能(支持其他通信协议的卡的通信管理功能与此相似)。

ICC上电之后,IFD将向ICC发送命令数据,在这样一次典型的通信过程中,通信管理功能主要从事6个步骤的具体工作。如图1所示。

以下是卡片接收指令相关的源代码:

BYTE General_Receive(void)

{

BYTE i,j,c1;

BYTE c2 =0;

BYTE XOR_PPS = 0;

WORD addr;

ccc:

CommandHead[0] = UART_IO_ReceiveByte(); //接收指令第1字节

if( (FlagByte & 0x80) == 0 )

{

if( CommandHead[0] == 0xff )//PPS选择

{

CommandHead[1] = UART_IO_ReceiveByte();//接收PPS0

i = 1;

if(CommandHead[1]&0x40) i++;

if(CommandHead[1]&0x20) i++;

if(CommandHead[1]&0x10) i++;

for(j=2;i>0;j++,i--)

{

if(j == 5)

{

XOR_PPS = UART_IO_ReceiveByte();

break;

}

CommandHead[j] = UART_IO_ReceiveByte();

}

i = j;

c1= 0;

for(j=0;j

c1 ^= CommandHead[j];

if( c1 ^ XOR_PPS) //如果PPS校验和错误,死锁

{

for(;;) ;

}

else

{

UART_IO_SendString(CommandHead,i); //回送PPS数据,表示支持94

if(j == 5)

UART_IO_SendByte(XOR_PPS);

UART_Set_Baud(CommandHead[2]); //更改BAUD参数设置

FlagByte = FlagByte | 0x80;//设置PPS有效标志

goto ccc;

}

}

}

FlagByte = FlagByte | 0x80;//设置PPS有效标志

for(i=1;i

c1 = API_JudgeClaIns();

if( c1 != 0 ) return c1; //判断CLA/INS

for(i=0;i

{

if(Command_INS== GetByte_C((ADWORD)(s2Command+i)) )

goto Receive_OK;//2S指令,5个头接完就返回

}

addr = GetSysWord(S2_COMMADDR);

c1 = GetSysByte(addr);

for( i = 0;i

{

if(Command_INS==GetSysByte(addr+1+i))

goto Receive_OK;//2S指令,5个头接完就返回

}

UART_IO_SendByte(Command_INS);//3S指令,先回送INS再接后续数据

for(i=0;i

CommandData[i]= UART_IO_ReceiveByte();

Receive_OK:

UART_RunWaitingEtuTimer(0x01); //打开计时器

return 0;

}

(2) 硬件模块设计。

智能卡COS上电后首先要进行芯片初始化,其主要设置以下几个方面:芯片初始工作时的频率,以及使用外频还是内频;芯片串口初始工作的速率(一般为“11”的波特率);芯片串口的工作模式(包括T=0还是T=1协议,正向传输还是反向传输,奇校验还是偶校验等);存储器的初始映射方式。

智能卡芯片(以下以51系列智能卡芯片为例)一般包含几十到几百KB的FLASH,以1个页面为单位进行擦除,根据FLASH编程写的特点,也就是1能写成0,而0不能写成1,故在设计编程写函数时为了保证写数据的正确性,特采取如下的方式实现此功能:

第一步:取出要写入地址的数据(为A),与要写入的数据(为B)进行与操作(结果为C);

第二步:在要写入数据的地址写入数据(B);

第三步:取出写入数据后的地址的数据与数据C进行比较。

对于51系列智能卡芯片,由于标准的8051对程序存储器最大值支持64 KB,所以芯片采用BANK的编址方式[7]。这时往往需要一个映射函数来实现不同BANK的跳转。如果一款智能卡芯片的程序存储器采用128 KB的FLASH用来存放COS和用户数据。128 KB的FLASH均分4个32 KB的BANK,在这4个区域里,Commom区是3个Bnak的公共区域,即Commom区和每个32 KB的BANK都可以组成64 KB的连续空间。3个Bnak之间不能直接互相访问,而必须调用Commom区里的程序才能实现相互的访问[2]。所以在创建工程时要把经常使用的程序和常数,如中断入口函数、Bank Switch跳转表等都放到Commom区里,这样才能实现各个区域的相互访问。

(3) 异常保护模块设计。

ISO7816-3规定2个连续字符上升沿之间的延迟至少是12 ETU,且2个连续字符上升沿之间的延迟应不超过9 600 ETU。所以COS在设计时要加入发送“60”来实现正常的通信[8]。

发送“60”采用芯片定时器中断的方式,设置定时器的工作模式,使用时钟和的初始值。定时器的中断服务程序的实现流程:关闭发送“60”定时器;发送“60”;打开发送“60”定时器。

操作系统的异常处理,此函数为COS进行异常状态时调用的函数。进入异常状态时,要关闭发送“60”的定时器,然后进入死循环状态。

3 芯片测试方案设计

以下提出一种针对芯片模块函数的测试方案。即嵌入式Testing COS。

(1) Testing COS测试平台组成。

T-COS平台由MAIN.C文件、API.C文件、常量配置、A51文件以及芯片库、LIB文件组成。其中,针对不同的芯片,main.c,api.c是相同的,而常量配置文件和芯片库文件则不同,在使用时需要更改或更换。

另外,MAIN.C文件中的CommandInterpreter()命令解释器函数是对发送命令的识别解释(在此函数中,为所有需要测试的函数定义了指令吗)。被测函数的函数体在API.C文件中。芯片库在API.C文件中被具体调用。

此Testing COS可直接写入智能卡中,设计思路是:采用直接APDU指令调用的形式,直接调用硬件模块函数,如擦一页函数。执行完指令,函数返回一个状态字。

主程序是一个死循环,如下:

void main(void)

{

UART_InitChip();

ClearRam(); //清全局变量

MakeATRSend(); //回送ATR(rom数据)

//主程序循环

while (1)

{

if( (General_Receive() ) == 0 )//数据接收错误,直接返回错误码

{

CommandInterpreter(); //命令解释器

}

else

{

FlagByte = FlagByte & 0xfd;

//接受数据错误,如果已经有返回数据标志位,清除

}

MakeData();//回送数据

}

}

命令解释器函数支持多个函数,为用户对硬件的直接操作提供接口,可以通过发送APDU指令实现对芯片的多种操作[9]。

void CommandInterpreter()

{

switch(Command_INS)

{

case 0x00: g_bStatusByte = Api_ErasePage();break;

case 0x02: g_bStatusByte = Api_WriteByte();break;

case 0x06: g_bStatusByte = Api_Mem_Copy();break;

case 0x07: g_bStatusByte = Api_Mem_Set();break;

case 0x08: g_bStatusByte = Api_Mem_Cmp();break;

case 0x09: g_bStatusByte = Api_ReadByte();break;

case 0x0A: g_bStatusByte = Api_ReadWord();break;

case 0x0B: g_bStatusByte = Api_ReadTriByte();break;

case 0x0C: g_bStatusByte = Api_ReadData();break;

case 0x0D: g_bStatusByte = Api_ReadByte_C();break;

case 0x0E: g_bStatusByte = Api_ReadData_C();break;

case 0x16: g_bStatusByte = Api_PrgByte();break;

case 0x17: g_bStatusByte = Api_PrgData();break;

default : break;

}

}

例如:APDU:80 00 10 00 00 表示擦除地址0x1000所在页面。

APDU:80 0C 10 00 10 表示从地址0x1000开始读取长度为0x10的数据。

(2) Testing COS测试平台的使用。

T-COS测试平台测试流程,如图2所示:

(3) Testing COS测试平台局限性分析。

T-COS平台使用方便简洁,易于观察执行结果,但是其不能观察过程。因此,在返回结果与预期结果不一致,或者出现错误的情况下,无法判断产生错误的原因。在这种情况下,需要借助仿真器,跟踪执行过程,最终找出产生问题的原因。

4 结 语

智能卡操作系统根本的部分就在于芯片底层各个模块的稳固性。芯片层开发是电信、税控等产品开发的重要组成部分之一,也是最基础的部分。为了保证电信、税控产品可以在不同芯片之间的平稳移植,需要对芯片层的开发提出一定的要求和标准,这样可以保证上层开发的一致性。

参 考 文 献

[1]王爱英.智能卡技术\.北京:清华大学出版社,1996.

[2][德]Rankl W.智能卡大全:智能卡的结构功能应用\.北京:电子工业出版社,2002.

[3]张志刚,赵奎.智能卡操作系统研究和实例分析\.企业技术开发,2005,24(9):20-22.

[4]亨德里.智能卡安全与应用\.北京:人民邮电出版社,2002.

[5]International Standard ISO 7816-1,-2,-3,-4[S].Identification Cards:Integrated Circuits Cards with Contacts:1997.

[6]杨志峰,王志新.智能卡的操作系统:COS\.现代电子技术,2005,28(8):91-93.

[7]李金良.智能卡操作系统(COS)编程语言及编译器系统设计与实现\.中国集成电路,2005(11):67-69.

[8]李翔.智能卡研发技术与工程实践\.北京:人民邮电出版社,2003.

[9]张利华.智能卡操作系统开发中的测试技术\.计算机工程与设计,2004,25(6):901-902.

[10]李浩,谢桂海,王新锋,等.一种基于零知识证明的RFID鉴别协议\.现代电子技术,2006,29(17):23-25.

智能卡范文6

【关键词】压力传感器;智能提醒;电开水器;单片机控制

引言

随着现代高科技的日新月异,各式各样的智能家用电器取代了用人力来进行日常繁杂的工作,并占据了主要市场。如今为了各大高校的教职员工,学生以及各个企业的员工的日常饮用热水更加智能方便化,大部分的企业及高校,均在楼层和茶水间等公共热水服务区安装了刷卡计时计费的电开水器。即当大家想饮用热开水时,将校园卡或员工卡放置于计时器卡槽内,水杯对准出水口放于承接板,按下开关进行取水,接满水后,再次按下闭合开关,即完成了一次打水。通过看计时计费器dret上的显示,也可以了解到卡的消费余额,为人们的日常生活带来了极大的便利。

1.系统设计方案

基于压力传感技术的电开水器智能卡取卡提醒装置由电开水器主箱体1、显示器2、传输线3、4、压力传感器传感器5、承接板6、排水管7、计时器8,计费显示屏9、开关按钮10、扬声器12、控制器(单片机)13、出水口(水龙头)14、组成。托物盘由三个托物板拼接起来,每一板块都装有压力传感器。压力传感器包括力的感应与力的输出,并通过传输线与上方对应的控制器相连接,计时器设有插卡槽,控制器内设置有单片机、信号处理系统。工作过程中,在单片机程序的设定下,当系统检测到打水人员接水操作完成时,将压力信号的变化转变为电信号,然后输出相应、功率足够的声信号,以提醒用户取走智能卡。

2.工作过程

程序设定的压力传感器通过感受压力的变化,并由传输线3传递给控制器13,控制器的信号A,当没有人使用电热水器装置时,托物盘5是空的,单片机记录压力初始值始终为A。当有打水人员来打水时,将其卡插入卡槽11,把水杯放在出水口(水龙头)14下端,按下开关按钮10进行打水,主体箱1流经出水口14,随着托物盘5所受的压力在接水过程中渐渐增加,压力传感器的压力发生改变后,通过传输线3传给控制器13,控制器信号处理系统自动记录值为B、C、D、E等。等待打水完成后,此时按下开关按钮10,出水口14停止出水。当打水人员拿走水杯,压力数值恢复到初始值A,控制室中的信号处理系统便将从其他压力数值B、C、D、E到压力初始值A的变化信号转化处理转变成电信号,反馈给控制器13,然后传递给扬声器12,并推动其发出两声“请拔出您的卡”的语音提示,之后便不再发声。直到下一位打水人员使用时,重复上述工作过程。

系统是当传感器测得的压力信号从A-变到B、C、D、E时,才发出两声“请拔出您的卡”的语音,所以即使不使用打水时,系统虽然长时间处于值A,但也不会不断的发声,因此有效的避免了电能的浪费。

3.小结

新装置是一种具有自动提醒取卡功能的插卡式电热水器,它通过压力传感器测得力学信号的变化,将变化的信号传给控制器的信号处理系统,然后执行之前设定好的程序,输出响应扬声器发出提示音,从而及时提醒打水人员将自己的卡拔出。该新加的自动提示功能弥补了先前电热水器的缺陷,完善其功能,避免卡遗失之后,对企业的职员及和高校的教职工造成不必要的麻烦,对于广大的学生群众而言,保证了校园卡的正常使用,例如吃饭买东西,进出图书馆等日常活动,具有良好的实用性。

参考文献:

[1]颜晓河,董玲娇,苏绍兴.压力传感器的发展及其应用[J].电子工业专用设备,2006(1).

[2]张敏. 自动控制中压力传感器的应用探讨[J].大科技,2014,(16).

[3]张书玉,张维连,张生才等.高温压力传感器的研究现状[J].传感技术学报,2006,19.

[4]郭强,吕浩杰.胡国清新型接触式电容压力传感器[J].仪表技术与传感器,2008,(3).

[5]王佳茂,梁卓等.一种具有自动提醒取卡功能的插卡式热水器.专利号ZL 201420137984.3.

[6]陈宇珂,张延武,卢育华,肖强.一种基于单片机的数据采集及控制系统的设计[J].医疗设备信息, 2005,20(3).

作者简介:

蒋金鑫:(1995.8),女,本科在读生,现就读于上海电机学院机械电子工程专业本科生。

蒯云帆:(1994.2),女,本科在读生,现就读于上海电机学院机械电子工程专业本科生。