网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > PKI > 文章  
基于USB接口和智能卡的PKI客户端设计
文章来源: 单片机及嵌入式系统应用 文章作者: 刘培德 尉永青 刘培玉 发布时间: 2006-05-24   字体: [ ]
 

 

  (1)卡内操作系统COS的设计

 

智能卡内设计了一个小型的操作系统COS. COS的主要功能是:控制智能卡与外界信息进行交换,管理智能卡存储器中的文件系统,并在智能卡内完成各种命令的处理。COS的基本功能必须遵循ISO7816—4标准[3]

 

COS系统是由传输管理、文件管理、安全体系、命令解释四个功能模块组成的。

 

 传输管理。按ISO7816—3标准,监督卡与终端之间的通信,保证数据正确地传输,防止与终端之间通信数据被非法窃取和篡改。

 

 文件管理。文件管理模块用来管理智能卡芯片内存储的各种数据,如证书、密钥和其他用户信息等。

 

智能卡芯片内的文件分为MFDFEF三种。MF(主文件)是所有文件的根文件;DF文件是目录文件,根据DF可以区分存在于智能卡上的不同应用;EF是基本文件,用来存储具体的数据和记录,也是COS命令所要操作的具体对象。本设计中,EF分为四种类对象:密钥、证书、认证对象和数据对象。其中认证对象中保存识别用户身份的PIN码。EF的存放分为文件头和文件体两个部分。文件头中包含文件的标识符、访问权限和文件体的指针;而文件体中存放具体数据。

 

IC卡的操作,是通过命令的方式实现的。实际上是通过命令对IC卡内文件的操作。增加功能即是增加文件,所以,下面着重就文件系统进行说明。

 

a.文件的空间结构

 

每个文件在EEPROM中的存放格式为:

1

 

COS整个的文件空间划分如下:

 

当建立完.MF之后,COS自动将整个EEPROM空间都分配给它。MF的文件头长度为13字节十文件名长度(516字节)

每个DF所占空间=DF文件头空间(等同于MF)+DF下所有的文件空间之和。

二进制结构文件的空间=文件头空间(13字节)+EF所申请的空间。

定长记录和循环定长记录文件的空间=文件头空间(13字节)+记录数×记录长度。 

变长记录结构文件的空间=文件头空间(13字节)+建立时申请的空间。

安全基本文件的空间一文件头空间(13字节)+密钥个数×(25字节)

 

bKEY文件及其文件中的密钥

 

每个DFMF下有且只有一个KEY文件,在任何情况下密钥均无法读出。在KEY文件中可存放多个密钥,每个密钥为一条定长记录。记录中规定了其标识、版本、算法、属性及密钥本身等相关内容。

 

在满足KEY文件的增加权限时,可用Write KEY命令增加一条记录。只有在满足某个密钥的使用权限时才可以使用该密钥,在满足某个密钥的修改权限时才可以修改该密钥。

 

每种密钥具有其独立性,用于一种特定功能的密钥不可作为它用。本设计支持以下几种密钥:个人密码(PIN)、外部认证密钥、内部认证密钥、(Crypt密钥、PIN解锁密钥、PIN重装密钥、应用维护密钥等。

 

 安全体系。主要是对所传送的信息进行安全性的检查和处理,防止非法的窃听或侵入。安全体系包括3部分:安全状态、安全属性和安全机制。安全状态是指当前智能卡所处的一种系统状态,这种安全状态是在智能卡完成复位应答或完成某个命令后得到的;安全属性是智能卡执行特定的命令所需要的安全条件,只有满足了这个安全条件,命令才能执行;安全机制是指安全状态实现转移所采取的方法和手段,它是与安全状态和安全属性相联系的。

 

 命令解释。根据接收到的命令检查各项参数是否正确,执行相应的操作。

 

IC卡通过USB接口与终端之间使用命令与应答的通信机制,即终端,把命令送到1C卡,IC卡接收并处理后发送响应给终端。这种机制包括两种应用协议数据单元(APDU)——命令应用数据单元与响应应用数据单元。

 

命令应用数据单元包含两部分:固定的4字节命令头和长度可变的命令体,其内容为:


1

 

CLA字节代表命令的类型。

INS字节表示命令编码,P1P2为具体命令参数。Lc字节表示数据的长度,只有一个字节表示,取值范围为1115。如果Lc0,表示没有数据域。

Le表示期望卡返回的数据长度,由单字节表示,取值范围为1115

 

响应应用数据单元也包括两部分:可能存在的响应数据体(应答体)和两个状态字节(应答尾部),其内容为:

1

 

  基于保密的原因,具体的命令代码和状态字节(SWlSW2)的编码略。

 

(2)算法库的实现

 

算法库是一个根据不同需要可扩展的函数库。目前,算法库里有:

对称加密算法——DES算法、3DES算法、RC2RC4算法;

摘要(散列值)算法——SHA1算法、MD5算法;

非对称加密算法——RSA算法、DSA算法、ECC算法。
   

以上算法全部在设备内实现。

 

2.2.2 USB接口层的软件设计

 

USB接口层软件主要完成计算机主机和客户端设备之间的数据传输,完成主机与IC卡之间交互的命令及响应。一方面将主机来的USB信息包转换成符合IS07816--4标准的智能卡可识别的命令,另一方面,根据IS07816--4标准,将智能卡的响应数据转化成USB数据包,上传给主机。

 

USB的初始化中,完成终端设备USB的自举过程。考虑到设备与计算机之间的数据交换具有数量少、传输速度不要求很高的特点,因而将其配置为HID类设备,实现在WIN2000Win Me等环境下免安装驱动程序的特点。本设备使用了3个端点:端点0用于控制信息的传输,端点1用于接收主机发来的数据,端点3用于向主机发送数据。

 

USB的消息处理过程是:USB发出中断请求,单片机响应中断,首先查看各中断寄存器,找出产生中断的事件,然后处理。程序的设计主要集中在中断处理服务程序上,如图2所示。

1

 

 
推荐文章
·智能卡与公共密钥体系PKI
 

 
共3页: 上一页 [1] 2 [3] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·PKI基础 三.PKI组成
·PKI基础 四.PKI核心-认
·电子签名的幕后英雄—PK
·PKI基础 四.PKI核心-认
·PKI基础 二.PKI基础--3
·PKI基础 二.PKI基础--5
·智能卡与公共密钥体系PK
·PKI基础 四.PKI核心-认
相关分类
相关文章
·智能卡与公共密钥体系PK
·PKI基础 四.PKI核心-认
·PKI基础 三.PKI组成
·PKI基础 二.PKI基础--5
·PKI基础 二.PKI基础--4
·PKI基础 二.PKI基础--3
·PKI基础 二.PKI基础--2
·PKI基础 二.PKI基础--1
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $