智能卡芯片的发展及其所形成的设计方法 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

智能卡芯片的发展及其所形成的设计方法

来源:中国一卡通网  作者:许珊琳  发布时间:2007-03-06 21:48:17  字体:[ ]

关键字:智能卡  芯片  设计  

摘   要:智能卡芯片的发展及其所形成的设计方法

一、 智能卡的组成及发展

1.1 智能卡的基本组成
“中央处理单元(CPU)(或早期的中央控制逻辑)+ 各种存储器(ROM/RAM/EEPROM) + 通讯接口”就形成了智能卡的基本功能。

1.2 智能卡与读卡器的操作

以接触卡为例,读卡器给卡供电源、时钟信号、复位信号,IO 是双向数据信号线,读卡器和卡都通过IO 进行数据交换。在智能卡与读卡器的相互操作过程中,读卡器总是作为主动一方,卡作为被动的一方,所有的交易都是以读卡器发命令开始,卡完成有关操作,并应答作为结束。

1.3 智能卡的发展
智能卡的结构框图。

可以从结构、加密、通讯接口、CPU 体系结构、安全性设计、功耗降低以及供电电压等,了解智能卡的发展。

1.3.1 结构
卡的发展经历了从逻辑加密卡(memory 卡)->智能卡(CPU 卡)的发展。

早期的卡一般是所谓的逻辑加密卡,即卡内没有CPU,只有一些安全逻辑、EEPROM 数据存储器、通讯接口等单元,其优点是针对特定的安全算法、应用,可以做比较细致的设计优化;其缺点是不灵活,逻辑都是固定的,所有的功能都由硬件实现。

随着集成电路设计的发展,允许在一个较小的面积内集成更多的电路,真正的智能卡——卡内嵌入了CPU,并引入COS——才形成,严格意义上的智能卡是内嵌CPU 的卡。由于在智能卡中,卡芯片本身只是一个硬件平台,应用开发工程师开发针对不同应用的COS 也就形成了不同的卡,实现了硬件与软件的分离,给应用实现带来了极大的灵活性,形成了不同的逻辑抽象层次,芯片设计工程师可以在已定义的接口范围内优化芯片设计,COS 开发工程师着重考虑应用实现。

1.3.2 加密算法
简单的硬件加密逻辑—>对称加密算法(DES、AES 等)—>PKI 算法(RSA、ECC 等)

安全加密算法是智能卡的必要组成部分,是实现智能卡认证和加密功能的基础。

在逻辑加密卡阶段,一般都是采用一些私有的加密算法,即算法不公开。对应的读卡器也采用相应的算法,形成一套封闭系统。这种系统的安全性更多是依赖于对私有加密算法的保密来保证。

智能卡加密算法的发展引入了对称加密算法,典型的有国际通用的DES,以及其升级版AES。对称加密算法的算法本身是公开的,安全性依赖于密钥的保密来保证。由于算法是公开的,卡、读卡器的实现可以独立进行,从这个意义上来说,系统是开放的。

对称算法具有密钥管理相对困难、不具有不可抵赖性等特点。在电子商务、电子政务等应用中不能满足应用需求。在这种情况下,智能卡内嵌入了PKI 算法,形成了PKI 智能卡。比较通用的PKI 算法有RSA、ECC 等。公钥算法的算法也是公开的,公钥也公开,只要求保证私钥的保密。

智能卡内嵌入了PKI 算法,并不表明智能卡就不需要对称算法了。由于PKI 算法的计算量相对还是很大,运算速度相对对称算法也比较慢,所以PKI 加密系统更多应用在数字签名、对称算法密钥的传输加密等方面;而对称算法加密系统更多应用在认证、大量数据的加密传输等方面。在目前阶段,对称加密系统、PKI 系统各有千秋,缺一不可。

1.3.3 通讯接口
接触卡接口(ISO7816)、非接触卡接口(ISO14443,包括TYPE_A和TYPE_B;甚至一些RFID 等)、USB 接口(reader_less),现阶段已经发展到一个芯片中集成了多种通讯接口,形成所谓的双界面卡(接触/非接触、7816 接口/USB 接口等组合)。

从最开始的接触卡接口,随着应用的推广及集成电路设计水平的提高,智能卡所能完成的功能越来越复杂,速度越来越快。ISO7816 的通讯速度就成为了智能卡交易的瓶颈,虽然可以采用高波特率的通讯模式,并且提高读卡器供给智能卡的时钟频率等多种方法以提高智能卡的通讯效率。但是还是远远没有能满足实际应用的要求,尤其是在PKI 应用环境,随着智能卡所处理的数据量的增大,通讯时间已经增加到约占智能卡处理时间的1/3 的程度,矛盾越来越突出。在这种情
况下,就产生了所谓的USB KEY 这样一种特殊的智能卡形式,也就是在智能卡内直接嵌入了一个符合USB 规范的通讯接口。这样卡就可以直接与计算机相连接,并进行交易,大大地提高了智能卡的处理效率。由于这种形式的USB KEY 直接与主机通讯,不需要读卡器,通常也称为“reader_less”卡。在目前阶段,USB KEY 还没有成为一个国际标准,但是据分析,USB 接口很可能会成为ISO7816 规范的一个可选接口,从而纳入ISO7816 规范。

接触卡接口由于有触点的物理接口,属于机械接触。在实际应用中,存在一个机械寿命的问题。另外,在公共交通应用中,接触卡接口还具有其固有的一系列技术限制。而非接触卡则具有潜在的优势,能解决接触卡接口所固有的限制问题。非接触卡不需要把卡插入到读卡器的卡槽内,而且卡操作时对卡的方向性没有要求,易于操作。随着一些关键设计技术的成熟,非接触卡的使用范围正在迅速扩大,并且必将越来越大,尤其是在公共交通、物流管理等方面。

智能卡接口发展的一个有趣的形式是双界面卡(也叫复合卡),在一个卡内集成了两个不同的通讯接口,既可以是“ISO7816+USB”方式,也可以是“ISO7816+非接触接口”形式。

但是智能卡接口的多样性,并没有从本质上改变智能卡的功能及特性,智能卡的核心功能没有改变。

1.3.4 智能卡CPU 体系结构的发展
作为智能卡引擎的CPU 也在不断的发展。早期智能卡内的CPU 与普通的嵌入式微控制器没有太多的区别,仅仅是一个CPU 核而已。但是随着智能卡安全性、多用途等需求的不断提高,智能卡内CPU 的体系结构也相应地发生了很大的变化。除了必须具有通用嵌入式微控制器的各种特性外,更多的是表现在安全性能方面逐步形成为一个特定的、安全的智能卡CPU 核。

智能卡特定的、安全的 CPU 核可以从以下几方面得到体现。

1、 CPU 支持多个状态,比如系统态或内核态、用户态。不同状态的权限定义不同,处在系统态的程序可以操作(读/写)所有的硬件资源;处在用户态的程序只能操作(读或写或读/写)有限的硬件资源(根据权限的定义)。

2、 CPU 指令执行时间(指令周期)的随机化。

3、 中断系统支持CPU 状态的转换,从而实现不同层次的安全级别控制,支持多应用的实现。

4、 MMU 系统;逻辑地址、物理地址的隔离;及地址映射,从体系结构上支持应用(多应用)、安全性的设计实现,与CPU 不同状态一起有机的组成一个硬件防火墙。

5、 中断系统、定时器(timer)可以认为是智能卡特定的CPU 的基本组成部分。随着智能卡的发展,许多功能的实现(尤其是PKI算法的实现)都是软、硬件共同组成的,也就是说一些本来属于芯片功能的设计可能会采用软件(一般称为系统函数库)来实现。系统函数库是芯片的一部分,是芯片厂商的知识产权,必须进行保护;同时也必须允许用户(COS)使用。中断系统能很好地支持系统函数库与用户程序COS 的接口及权限传递和切换。

6、 扩展的存储器地址空间。智能卡发展到今天,64KB 的程序空间已经不能满足应用需求。程序存储器空间一般都支持20 以上的地址位宽。数据存储器空间也支持64KB 范围。SFR 地址范围也达到128KB 或256KB。总体上,具有很好的扩展性。

7、 不挥发存储器(EEPROM/EFLASH)从逻辑上被划分为程序存储器,以支持程序下载。

1.3.5 安全性设计
智能卡的安全性设计不仅仅表现在某一个部件方面,而是表现在整体方案方面,包括逻辑设计、物理实现都应该考虑。从逻辑上,各种加密算法、CPU 的状态设置及MMU 实现、算法函数实现时间的随机化、具有真随机数发生器、频率检测、电压检测、温度检测等,都属于安全性设计的范畴。从物理实现上,防止各种物理解剖、探测都是安全性设计应该考虑的措施。

1.3.6 其它一些发展
在功耗方面,现阶段接触卡ISO7816 规范的定义是100ma(Class A),但是一些实际的行业规范都比ISO7816 规范严格,比如SIM 卡,由
于是电池供电,一般要求工作电流<10ma)。对于非接触卡,受到射频信号的影响,对芯片功耗的要求比接触卡更为严格,低功耗设计是一个挑战。

关于电源电压,受到手持设备应用的驱动,芯片供电电压范围也在发展,发展趋势是5V —> 3V —> 1.8V,为了兼容机具,要求智能卡的端口支持较宽的端口电平范围,比如5V-2.7V 等。

1、 软、硬件结合


2、 项目的交付件:除了芯片外,还应该完成开发系统的设计与开发,具有配套的辅助产品(开发系统、仿真器、软掩膜卡、一些支持COS 开发的算法函数/系统函数、配套的读卡器)

3、 芯片只是一个平台,在其上开发不同的COS,就形成不同的产品。

4、 在产品整个生命周期中,会源源不断地有新COS 应用在芯片平台上。不同的COS 通过掩膜写入在ROM 中

二、 智能卡的设计方法

智能卡芯片是一个SOC 的解决方案,与之对应,CPU 智能卡的设计开发方法就与一般的集成电路芯片设计有所不同,有一个方法学的概念。

1、CPU 卡的存储器包括:ROM(COS)、EEPROM/EFLASH(支持程序下载)、RAM(或XRAM)、支持SFR 扩展。一般都具有MMU机制。

2、智能卡设计包括两大方面:即功能设计、安全性设计。安全性设计是智能卡的一个必要的设计内容,这是智能卡设计与一般的SOC设计的最大区别。

安全性设计不是项目中某一阶段、某一个工程师的责任,而是一个整体解决方案,是设计过程中软件、硬件、算法、设计实现都必须考虑的设计要素,必须贯穿整个设计、生产、项目管理过程中。

3、CPU 是芯片的核心,所有的算法协处理器(DES、RSA、ECC、CRC 等)、通讯接口(ISO7816、typeA、typeB RF 接口、USB 接口、包括一些通用IO 接口)、安全模块(TRNG、VD、FD、TD 等)都作为CPU 的外设,通过SFR 总线与CPU 相接。

4、芯片的逻辑验证基本上是通过编写不同的ASM 程序,装入ROM或EEPROM,进行仿真验证。

5、 在设计的总体设计及创建阶段,必须考虑到开发系统的实现及其支持能力。开发系统具有两个主要功能(作用),一是作为芯片的FPGA 验证手段;二是作为COS 开发平台,供COS 开发人员使用。

6、 应该考虑把软开发系统作为设计的必要组成部分,尤其在各种算法的软、硬件划分还没有完全确定的时候,软开发系统能在设计的较早期阶段,对方案进行评估,进行设计优化。

7、 芯片的技术规范(datasheet)必须在设计的早期完成(随着设计的创建完成,基本同步完成),以便于COS 开发人员尽早介入到项目中。

8、 随着设计复杂度的增加,设计必须按层次结构的方式组织。一般可以分为三个层次:1)IP 设计开发(包括模拟IP、数字IP、定制IP、软IP 等),2)芯片整合或集成(以CPU 为核心)和3)COS 开发并与芯片配合形成具体的产品。

第一层的设计是为第二层的设计服务,在其设计阶段、文档完成过程中,都应该清楚其服务对象是第二层,并支持第二层的设计实现。

第二层的设计是为第三层的设计服务,在其设计阶段、文档完成过程中,都应该清楚其服务对象是第三层,并支持第三层的设计实现。

每个层次之间的接口、文档都必须清晰,从使用者的角度完成技术规范(datasheet)。

各个IP 及CPU 的开发相互独立、并行进行,原理上是并在芯片的整合开始之前完成,但是一个IP 可以整合到芯片中(为了并行开
发)的基本前提条件是:

􀁺 具备明确的接口信号定义、时序关系定义,
􀁺 具有技术规范(Datasheet)
􀁺 对应的仿真模型(.V)

一个IP 可以发布(release)(可以开始芯片实现设计)的前提条件是:

􀁺 具备明确的接口信号定义、时序关系定义,
􀁺 具有技术规范(Datasheet)
􀁺 对应的仿真模型(.V)
􀁺 在IP 设计师所假设的仿真(模拟)条件下,通过仿真(模拟)。
    
对应软IP,必须是可综合的
􀁺 对于硬IP,必须具备综合库模型.db 等等。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖