自从智能卡开始进入人们的日常生活之后,大家对于智能卡的安全性普遍看好,但是不同公司的智能卡在安全机制的实现方面也存在很多的差异.对于智能卡应用开发和智能卡COS设计人员来说,如果能够更多地了解不同公司的智能卡安全机制,无疑会对自己的开发过程有所帮助.在此将逐步介绍一些流行的智能卡操作系统中各具特色的安全机制,究竟这些安全机制孰优孰劣,其实无关紧要,只要这种安全机制能够满足系统的安全需求就足够了. 首先看看早期的CardOS,CardOS是西门子公司基于自己的44C40/80系列芯片而设计的,该系…
DS Smart Card是飞利浦公司自己开发的一款CPU卡产品,在早期芯片厂商开发自己的COS并进行推广很普遍,现在像英飞凌(前西门子半导体)以及恩智普(前飞利浦半导体)几乎很少推广自己的COS,大多时候都是在集中精力推广自己的芯片. 飞利浦的DS系列智能卡COS结合了ISO7816和ETSI的规范(也就是SIM卡规范),在安全机制上采取了和SIM卡类似的密码验证方式,即主要通过密码比对的方式获取对文件的访问控制权限. DS CPU卡一共定义了三种基本的访问权限,分别是发卡商权限(0到3)共享…
TimeCOS是握奇公司推出的智能卡操作系统,也可以说是国内早期自己开发的为数不多的几款COS之一.当然随着后来国内公司对于CPU卡开发的投入,其他公司的COS产品也纷纷推出. 其实从握奇的TimeCOS来看,早期的1.0版本和目前流行的TimeCOS版本之间在安全机制方面存在很大的差别.TimeCOS1.0采用的是按位比较的状态机机制,也就是说TimeCOS1.0在内存中维护一个安全状态字节,这个字节的每个位分别对应一种安全状态,在初始情况下这个状态字节为00,只有通过外部认证或者是通过PIN…
StarCOS是捷德公司的推出的智能卡COS,和前面说过的几种COS不同的是,国内的用户对于StartCOS可以说非常熟悉,而且因为握奇.明华.天喻等公司的安全机制都基本上是脱胎于StarCOS,所以经常会给大家造成一种错觉,好像智能卡的COS就该是这样的.其实完全不然,稍后会介绍握奇的TimeCOS,从TimeCOS V1.0中可以看出来,和StarCOS还是有很大差别的. 捷德中国为了满足国内PBOC的需求,在StarCOS的基础上推出了Star China,安全机制和StarCOS相同.…
MPCOS是金普斯早期推出的一款多应用支付芯片卡操作系统,支持ISO7816以及PCOS的数据格式和命令.MPCOS具有两级目录文件结构,即MF下可以有一级DF,每个DF下最多可创建63个EF. MPCOS的文件访问控制是由密码来实现的,该密码存储在一个特殊的密码文件EFsc中,每个DF下只有一个EFsc,每个EFsc可以存储8个密码,对应的编号分别为0-7.对于EF和DF分别对应不同的访问控制操作,比如创建文件,读写操作等.这些访问控制操作就需要通过访问控制条件来实现.对于DF和EF而言,分别…
PayFlex是斯伦贝谢公司(经过若干整合现在是金雅拓的一部分)在上世纪90年代推出的一款电子钱包支付COS,从功能上看可以说PayFlex是EMV96以及PBOC电子钱包规范的雏形. PayFlex同时具备用户卡和SAM卡功能,支持电子钱包用户卡的消费.圈存等交易. 从文件结构上看,仅支持定长记录文件和循环记录文件两种格式.PIN和密钥都是存储在定长记录文件中,PIN也就是所谓的持卡人验证CHV,密钥分为验证密钥和计算密钥,CHV文件中只有一个记录来存储PIN,而密钥文件中最多可以存储16条密…
最近时间又有了新的想法,当我用新的眼光在整理一些很老的知识库时,发现很多东西都已经过时,或者是很基础很零碎的知识点.如果分享出去大家不看倒好,更担心的是会误人子弟,但为了保证此系列的完整,还是选择分享出去,毕竟也是自己的成长过程,各取所好吧! 在分享知识库节点时,我会写清楚此知识库节点的入手级别,请大家根据需要下载,免得不必要的吐嘈.但我确定总有子节点对你有用,并且相信接下来的分享会更精彩,不了解前文请请移步:[知识库分享系列] 一.开篇 此篇文章是个提醒,文章内容本身没有什么技术含量,发到园子…
date: 2018-8-01 14:22:17title: swoft| 源码解读系列二: 启动阶段, swoft 都干了些啥?description: 阅读 sowft 框架源码, 了解 sowft 启动阶段的那些事儿 小伙伴刚接触 swoft 的时候会感觉 压力有点大, 更直观的说法是 难. 开发组是不赞成 难 这个说法的, swoft 的代码都是 php 实现的, 而 php 又是 世界上最好的语言, swoft 的代码阅读起来是很轻松的. 之后开发组会用 系列源码 解读文章, 深入解析…
WPF入门教程系列(二) 深入剖析WPF Binding的使用方法 同一个对象(特指System.Windows.DependencyObject的子类)的同一种属性(特指DependencyProperty)只能拥有一个binding. 这一点可以通过设置binding对象的方法名得知: public static BindingExpressionBase SetBinding( DependencyObject target, DependencyProperty dp, BindingB…
WCF编程系列(二)了解WCF   面向服务     服务是复用进化的结果,起初的复用是函数,面向对象编程的出现使复用从函数上升到对象,随后面向组件编程又将复用从对象上升到组件,现在面向服务编程将复用提升到服务层次. 在面向服务的应用程序中,开发者只需要关注业务逻辑的编写,以及通过可交换的.可互操作的服务终结点暴露业务逻辑.客户端调用这些终结点,而不是服务代码 或它的实现包.客户端与服务终结点的交互基于标准的消息交换,服务发布各种标准元数据,描述服务的功能,以及客户端调用服务操作的方式.正因为是…