基于USB接口和智能卡的PKI客户端设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于USB接口和智能卡的PKI客户端设计

来源:中国一卡通网  作者:不详  发布时间:2014-10-23 16:54:35  字体:[ ]

关键字:USB  智能卡  PKI  

摘   要:PKI的基础是基于非对称加密算法的,每个用户需要有一个能够确保其安全的场所,用以存放一些个人密钥(Private Key)、被其直接信任的CA(root CA)名字和证书,以及其他一些重要数据。智能卡(Smart Card)具有安全性高、保密性好的特点,为密钥的存储管理提供了良好的介质。智能卡具有嵌入卡片内部的CPU和存储器,同时还有一系列的安全机制来保证内部数据的安全。

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

基于USB接口和智能卡的PKI客户端设计——中国一卡通网

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

  (2)算法库的实现

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

  ◆对称加密算法——DES算法、3DES算法、RC2、RC4算法;

  ◆摘要(散列值)算法——SHA一1算法、MD5算法;

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

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

  2.2.2 USB接口层的软件设计

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

  在USB的初始化中,完成终端设备USB的自举过程。考虑到设备与计算机之间的数据交换具有数量少、传输速度不要求很高的特点,因而将其配置为HID类设备,实现在WIN2000、Win Me等环境下免安装驱动程序的特点。本设备使用了3个端点:端点0用于控制信息的传输,端点1用于接收主机发来的数据,端点3用于向主机发送数据。
USB的消息处理过程是:USB发出中断请求,单片机响应中断,首先查看各中断寄存器,找出产生中断的事件,然后处理。程序的设计主要集中在中断处理服务程序上,如图2所示。

基于USB接口和智能卡的PKI客户端设计——中国一卡通网

  上述2.2.1节和2.2.2节软件设计为PKI终端设备内软件设计,整个软件采用了Keil C51语言编写。与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势。Keil C51提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面。最后生成标准的HEX文件,以直接写入程序存储器,如Flash中。

  2.2.3应用层软件设计

  应用层(计算机主机)软件开发主要是提供底层API库函数,在此基础上实现CSP[4](Cryptographic Service Provider,加密服务提供者)软件设计,为用户提供符合微软加密服务要求的中间件。应用层软件结构如图3所示。

基于USB接口和智能卡的PKI客户端设计——中国一卡通网

  应用程序不能直接与CSP进行通信。取而代之,应用程序通过调用由Advapi32.d11和Crypt32.dll模块所提供的一些CryptoAPI接口函数来与CSP进行通信,从而完成相应的功能。操作系统过滤这些函数调用,并把它们通过C2ryptoSPI(系统编程接口)传递给相应的CSP函数。

  整个软件的实现过程为:首先,根据智能卡COS命令,完成底层API库函数CLlB。通过对库函数进行封装生成PKIKEY类,即PKIKEY.CPP,PKIKEY.H,进而生成CSP所需的DLL文件,最后通过向微软申请认证,通过后微软将进行签名。

  本设计中,可以向客户提供底层API函数和CSP两种中间件接口,以支持客户的二次开发。

  在应用软件方面,我们设计了客户端管理工具软件和管理端管理工具软件。

  客户端管理工具实现的功能:证书的自动注册注销,修改用户密码等功能。

  管理端管理工具实现的功能:除具有客户端管理工具的功能外,还提供了格式化设备、清空设备、解锁用户密码、修改管理员密码等功能。

  2.3 主要技术指标

  操作系统:Windows 98/Me/2000/XP,Mac OS 8/9,Linux.

  证书及标准:PKCS#1l,MS CAPI,PC/SC,X.509 v3证书存储。

  加密算法:MD5,SHA - l,DES/3DES,RC2,RC4,RSA,DSA,ECC等。

  接口类型:USB V1.1 A型。

  功耗:<250 mW。

  3 总 结

  本文提出的PKI客户端设备已经小批量生产。它是整个PKI体系的重要组成部分,可以实现密钥安全保管、证书管理、签名、验证签名、加/解密和身份认证等功能,具有高稳定性、高安全性、高可靠性、安装和携带方便、操作简便、运算速度快等特点;可广泛应用于要求个人身份认证、识别、数据加密、安全存储等领域,如电子商务、电子政务等,所提供的底层库函数和CSP软件以中间件方式极大地方便了客户的二次开发。总之,本设计思想先进,代表了当前该领域的发展方向,应用前景广泛。

更多

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

推荐文章

论坛热帖