




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CSP在基于智能卡的移动终端中的开发与应用来源:中国一卡通网作者:聂曼,谭成翔,汪海航发布时间:2010-02-09 16:32:20字体:大中小关键字:智能卡加解密服务提供者加解密接口移动安全摘要:IPSec VPN技术因其方便、安全性高等特点,成为现在普遍采用的一种增加网络安全性的方法。智能卡是一张内含嵌入式集成电路芯片的信用卡般大小的电子卡,它将密钥对与证书封在卡内,能够使加密操作在卡内进行,从而保证私钥不需出卡,大大提高了安全性。IPSec VPN和智能卡的结合在网络中应用已经越来越广泛。智能卡软硬件相结合的CSP能够通过微软的Crypto API向应用程序提供各种网络安全应用。该文在移动安全终端系统的背景下,详细介绍了基于智能卡的CSP的设计与开发过程。 1 引言 由于移动公网的广泛发展和手机PDA 的大力普及,移动终端作为固网上业务服务器的访问接入终端也变得越来越常见。然而,移动终端通过基于GPRSCDMA的移动公网接入业务服务器的过程存在着较大的安全风险。在没有执行任何安全保护措施的情况下,移动终端就与业务服务器进行数据传输,很容易导致双方传输的数据被别有用心的人截取或者篡改,如果这些数据涉及到商业敏感信息,这将对双方的利益带来巨大的损失。并且,移动终端虽然体积小巧,方便携带,也容易丢失和被盗,再加上设备的非授权使用,授权用户的不合理或者恶意的行为,这些全都会带来安全威胁。因而,寻找给移动终端和业务服务器的访问过程增加安全性的解决方案是人们追求的目标。IPSec VPN技术是目前普遍使用的方法,先在公共网络上建立一个私有隧道,然后才在这个隧道上进行双方的数据传输。这样,安全性确实会得到一定的提高,但是如果没有智能卡的帮助,安全性还是会大打折扣。因此,针对这种情况,设计了一个基于智能卡的移动IPSec VPN安全接入终端系统,本文重点介绍该系统中CSP的开发。 2 相关背景 2.1智能卡与PCSC规范 智能卡是一张内含嵌入式集成电路芯片的信用卡般大小的塑料卡,具有储存信息量大,数据保密性好,抗干扰能力强,储存可靠,读写设备简单,使用灵活,操作速度快,脱机工作能力强,易于携带等特点。本系统所使用的智能卡是一张特制的内含有交换密钥对,签名密钥对和证书用以提供加解密、认证等服务的电子卡。 PCSC规范是一套为集成电路卡(ICC)与个人计算机系统设计进行交互的规范,能够让智能卡方便地访问WindoW平台。其主要优点就是让应用程序不必为了与智能卡通信而去了解智能卡读卡器的细节,应用程序通过PCSC规范和智能卡读卡器通信,后者再通过ISO7816与智能卡进行通信来获取智能卡提供的服务,其传输的包结构是TPDU。 12 Crypto API体系结构与CSP Crypto API是微软提供的一套公共接口,包含了一系列的函数,为应用程序提供加解密、数字签名、哈希等安全服务,而应用程序不必关心其具体实现。不同的供应商可以开发独立的加密模块,这些模块成为加密服务提供者(Cryptographic Service Provider CSP),完成密钥生成交换、加解密、数字签名、认证等服务的真正模块。微软默认的CSP是RSA Based Provider,使用RSA公司的加密算法。一个系统中可以加载多个CSP模块,它们相互独立。应用程序可以使用任意一个CSP模块,而不必关心它的具体实现,每个CSP都对Crypto API进行不同的实现。 Crypto API的体系结构如图1所示。 从图1可以看出,它分为应用层:系统层和加密服务提供层。处于应用层的应用程序通过Crypto API来调用CSP模块提供的各种服务。 3 软硬件结合的CSP开发 本文介绍的移动安全接入终端系统在WINCE下开发,使用WIND0w MOBILE 50 SDK。系统分两层,彼此间相互独立,上层进行拨号,下层给上层提供CSP支撑,上下两层通过系统来整合。CSP可以基于软件实现,也可以基于硬件实现,还可以基于软硬件结合实现。基于软件实现的C SP,其使用的密钥对及算法与操作系统有关,安全性不高;而基于硬件实现的CSP虽然安全性较高,但是费用昂贵;而基于软硬件实现的CSP, 由于将密钥技术对生成和加解密操作与操作系统分离,所以其密钥的管理和加解密比基于软件的CSP安全提高了很多,而与安全性方面没有多少关系的部分使用软件实现,费用比基于硬件实现的CSP降低了许多,可以说是一种比较折中的选择。本系统使用的CSP采用软硬件结合的方案, 目标是提供一个基于SDIO智能卡的CSP。哈希、解密等功能是不需要硬件实现的, 因此这些部分可以用软件实现。而WINCE系统中包含了这部分的软实现,所以在设计中可以利用现有资源,只在需要硬实现的部分才对卡进行操作,这样既提高了性能又不影响安全性。 在对卡的调用中, 命令和响应报文要符合IS07816-4标准,因此需要一个将数据根据智能卡指令组装成智能卡可识别的APDU的程序,由此程序负责数据格式的转换。 根据以上设计原理的分析,可得图2所示的CSP系统结构图。 将CSP的实现分为3个模块:CSP主程序模块、CSP图形界面模块、CSP智能卡访问模块 (1)CSP主程序模块 主程序模块是CSP的核心模块,实现CSP中的业务逻辑并以Crypto SPI标准接口形式提供。主程序模块通过调用图形界面模块的相应图形界面实现与用户的交互(在CRYPTSLIENT标志未设置时)。主程序模块对智能卡的访问及数据传送都是通过智能卡访问模块来实现的。 (2)CSP图形界面模块 图形界面模块负责CSP与用户的交互实现。主要有卡片初始化时的PIN码设置界面和程序运行中提示用户输入PIN码以验证其合法性的界面。 (3)CSP智能卡访问模块 智能卡访问模块是CSP使用智能卡上服务的实现模块。它负责与智能卡建立连接,数据传输,释放连接等。它接收主程序模块的智能卡访问请求,并根据请求组织相应的APDU发送到智能卡,以及从卡上获取返回的结果,最终将结果数据提交给主程序模块。 将CSP划分成3个模块,可以降低程序各个模块之间的耦合度,实现起来比较灵活。如果需要更改程序界面就不需要去改变CSP主程序模块。同样,当使用另外一种智能卡时,只需要替换相应的智能卡实现模块,而不需要去改变主程序模块和程序界面,这样就可以很方便地将第三方的智能卡实现模块加载进来,实现对多智能卡的支持。 CSP主程序模块以DLL形式提供,是实现CSP的关键,其中的各个类都有具体的功能职责,并且通过组合和关联关系形成一定的层次关系。此外在CSP中,还有其他的辅助函数定义,如块加密时的编码与解码函数等。其类设计如下: (1)CContext CContext类对应了一个用户上下文对象,在逻辑上相当于密钥库。它通过组合关系包括了CSP中的其他类对象,并通过这些类对象来进行相应的操作。C C ontext作为用户上下文对象,是提供Crypto SPI中23个接口函数实现的对象。 (2)C Container CContainer类对应了一个密钥容器,一个用户上下文往往包含多个密钥容器。C Container对象中会缓存其包括的证书信息,这里缓存交换密钥对证书和签名密钥对证书两个证书。 (3)CCard CCard类代表了扩展卡类型。在这个类中封装了所有对卡的安全操作,包括验证、加解密、存储管理等。一个CCard对象会缓存对应扩展卡上的所有密钥容器对象,这样要访问密钥容器的相关信息就会变得方便、快捷。 (4)CRSAProvider CRSAProvider类是用于调用系统提供的CSP的。它负责获取系统提供CSP的句柄,利用此句柄调用相关的功能实现以及释放得到的句柄。 (5)CPPManager CPPManager类也是一个辅助控制类,它的定义只是为了使得程序更加清晰。它的功能是根据CPGetProvParam中参数的不同值取得CSP的相关信息。 (6)CHandleTable CHandleTable类是一个辅助存储类,它用于存储CSP中密钥容器等对象的句柄。它采用Hash表结构来存储对象句柄,并且提供了相应的增加、删除、读取等功能。CSP编写测试完成后,必须要让微软对其CSPDLL进行签名,这样该C SP才能装进操作系统内。这步比较简单, 只需要将其DLL与一个资源描述文件作为附件发往cspsignmicrosoftcom就可以了,签名周期一般为3天。完成签名后,CSP就可以安装到系统中工作了。在Windows Mobile 50系统中,需在注册表中注册该CSP,CSP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑方案设计评审意见医院
- 股权激励方案咨询维权
- 咨询婚介方案
- 三山区营销解决方案
- 河流护坡护底施工方案
- 产品咨询策划方案模板
- 建筑产品运营方案设计模板
- 企业咨询薪酬管理方案
- 股权设计方案咨询
- 连锁餐饮店营销管理方案
- 数字化印花工艺智能化
- 成人鼻肠管的留置与维护
- 专题02 概率与统计解答题综合(解析版)
- MOOC 模拟电子电路实验-东南大学 中国大学慕课答案
- 多格列艾汀使用指南2024课件
- MOOC 创业基础-暨南大学 中国大学慕课答案
- GB/T 41666.4-2024地下无压排水管网非开挖修复用塑料管道系统第4部分:原位固化内衬法
- 云端药历健保署电子病历-慈济大学医学资讯学系
- 道路车辆 局域互联网络(LIN) 第3部分:协议规范
- 桩基工程施工总体部署
- 电梯故障分析报告
评论
0/150
提交评论