上述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所示。
应用程序不能直接与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软件以中间件方式极大地方便了客户的二次开发。总之,本设计思想先进,代表了当前该领域的发展方向,应用前景广泛。
-- ※ 原文链接: http://info.ec.hc360.com/2006/05/24111072099-3.shtml
共3页: 上一页 [1] [2] 3 下一页
|