CAPICOM在安全电子商务中的应用研究.docx_第1页
CAPICOM在安全电子商务中的应用研究.docx_第2页
CAPICOM在安全电子商务中的应用研究.docx_第3页
CAPICOM在安全电子商务中的应用研究.docx_第4页
CAPICOM在安全电子商务中的应用研究.docx_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CAPICOM在安全电子商务中的应用研究摘 要 电子商务的出现变革了贸易方式,在带来便利的同时也带了很多安全隐患,如何构建电子商务的安全性成为商务信息化的研究热点。分析了电子商务交易模型的安全需求,探讨了密码中间件CAPICOM在安全交易模型中的应用,讨论CAPICOM的数据结构和COM对象,指出使用标准接口的密码中间件能使电子商务应用零开销地本地化CSP。 关键字 密码中间件; 电子商务; 交易模型; 信息安全; CAPICOM 1 前言 随着Internet的不断普及,人们的消费观念和商务模式也发生了巨大了变化,人们更希望通过网络的便利来进行网络采购和交易,从而导致了(Electronic Commerce)电子商务的出现,并在世界范围内掀起了一股热潮。但是,美国密执安大学一个调查机构通过对23000名因特网用户的调查显示,超过60%的人由于担心电子商务的安全问题而不愿进行网上购物。因此,研究和分析电子商务的信息安全问题,特别是针对我国国情,充分借鉴国外的先进技术和经验,开发和研究出具有独立知识产权的电子商务信息安全产品,成为目前我国电子商务的热点。 2 电子商务安全威胁 电子商务中的安全隐患可分为如下几类,1.信息截获和窃取。如果没有采用加密措施或加密强度不够,攻击者可能通过因特网、电话网、电磁波辐射域内安装截收装置或在网关和路由器上截获数据等方式,窃取机密信息,或通过对信息流量和流向、通信频度和长度等参数的分析,导出有用信息,如银行帐号、密码等;2.信息篡改。如果攻击者熟悉了网络信息格式,可对网络传输的信息进行中途修改,并发往目的地,从而破坏信息完整性。如篡改信息流的次序,更改信息内容;3.信息假冒。当攻击者掌握了网络信息数据规律或解密了商务信息以后,可以假冒合法用户来欺骗其他用户,例如伪造电子邮件,虚开网站和商店,发送电子邮件,收定货单;伪造大量用户穷尽商家资源,使合法用户不能正常访问网络资源,使有严格时间要求的服务不能及时得到响应等;4.交易抵赖。交易抵赖包括多个方面,如发信者事后否认曾经发送过某条信息或内容,收信者事后否认曾经收到过某条消息或内容,购买者做了定货单不承认,商家卖出的商品因价格差而不承认原有的交易。 3 电子商务安全需求 电子商务面临的威胁直接导致了电子商务对于信息安全的需求,也就是实现一个安全电子商务系统务必具备的信息安全品质,主要包括机密性、完整性、认证性和不可抵赖性。1.秘密性(Confidentiality),电子商务作为贸易的一种手段,其信息直接代表着个人、企业或国家的商业机密。传统纸面贸易都是通过邮寄封装的信件或通过可靠的通信渠道发送商业报文来达到保守机密的目的。电子商务是建立在一个较为开放的网络环境上的如Internet,维护商业机密是电子商务全面推广应用的重要保障。因此,要预防非法的信息存取和信息在传输过程中被非法窃取。2.完整性(Data Integrity),电子商务简化了贸易过程,减少了人为的干预,同时也带来维护贸易各方商业信息的完整、统一的问题。由于数据输入时的意外差错或欺诈行为,可能导致贸易各方信息的差异。此外,数据传输过程中信息丢失、信息重复或信息传送的次序差异也会导致混乱。因此,要预防对信息的随意生成、修改和删除,同时要防止数据传送过程中信息的丢失和重复并保证信息传送次序的统一。3.认证性(Verification of Identity),网络电子商务交易系统的特殊性,企业或个人的交易通常都是在虚拟的网络环境中进行,所以对个人或企业实体进行身份性确认成了电子商务中得很重要的一环。对人或实体的身份进行鉴别,为身份的真实性提供保证,即交易双方能够在相互不见面的情况下确认对方的身份。这意味着当某人或实体声称具有某个特定的身份时,鉴别服务将提供一种方法来验证其声明的正确性。4.不可抵赖性(Non-repudiation of Disputed Charges)。电子商务可能直接关系到贸易双方的商业交易,如何确定要进行交易的贸易方的确是进行交易所期望的贸易方这一问题则是保证电子商务顺利进行的关键。在传统纸面贸易中,双方通过在交易合同、契约或贸易单据等书面文件上手写签名或印章来鉴别贸易伙伴,确定合同、契约、单据的可靠性并预防抵赖行为的发生。这也就是人们常说的白纸黑字。在无纸化的电子商务方式下,通过手写签名和印章进行贸易方的鉴别已是不可能的。因此,要在交易信息的传输过程中为参与交易的个人、企业或国家提供可靠的标识4 密码中间件和CAPICOM 中间件是独立的系统软件或服务程序,它屏蔽了操作系统和网络协议的差异,并提供相应的平台以满足不同领域的需要。它成功地解决了网络计算和分布计算环境下资源的通信,共享,管理,控制等问题。其技术本身很复杂,技术标准多,产品多。在Windows技术体系下,应用最为广泛的是DEC/RPC标准下的COM/DCOM,和DNA标准下的COM+。在诸多行业应用中,信息安全特性已成为软件的一个重要品质,密码服务也成为一个重要的构件支撑,基于中间件技术来构造密码中间件成为当前的主流技术路线,涌现出相当成功的产品,如微软的CAPICOM, SUN的Crypto Java。 Windows操作系统采用分层的加密体系模型CSP密码服务提供者(Cryptographic Service Provider)架设系统安全。CSP提供了齐全的具有密码功能的Win32API函数供程序员调用,称为CryptoAPI。然而,调用CryptAPI完成密码操作仍然相当复杂。使用COM,开发人员可以把注意力集中在解决用户所需要的问题上而不用关心网络协议等底层结构的细节。微软提供了CAPICOM组件,它以COM对象的形式封装了上述的复杂操作,使用它获取密码服务更方便。因为在不同的开发环境中,往往先要对API函数进行某种封装或转换,这增加了使用难度,CAPICOM以中间件的形式提供了一个标准的密码应用层接口,是介于应用与CSP之间的中间层,使得应用与CSP具有逻辑独立性。 在工作时,CAPICOM按一定顺序列检索CSP。首先检查缺省CSP是否支持用户指定的算法及密钥长度,如果失败,则搜索系统提供的CSP,并判断其是否支持指定的算法和密钥长度,直至遍历完所有CSP。两者关系如图1所示。5 安全电子商务交易模型 安全电子商务交易模型从组成来讲一般有以下几个组件:(1)电子商店作为电子经济中买卖发生的场所,它从传统的市场渠道中取得价值。(2)信息中介是内容、信息、知识及经验的代理商,能够成为某一特定电子商务领域增加价值。(3)信用中介是在买卖双方建立信用的机构。(4)电子商务实施者为其他电子商店或信息中介提供组件、功能及相关服务,使得电子商务得以进行或者进行得更好。(5)基础设施供应商作为由跨越不同领域机构,如NII(国家信息化设施),PKI(公钥基础设施)等,它们来提供网络应用平台和安全交易全环境。 从电子商务系统的架构上来分类,主要有B2B和B2C。B2B模式下参与的双方都是企业,特点是定单数量大,平均在75000美元,需要商业洽谈,按照固定合同条款和商业规则进行交易。信用开始是依托信用卡,尔后需要更复杂的银行信用管理系统,基础设施包括局域网、定制的目录和流程规则;B2C模式下是顾客直接与商家接触,特点是定单数量小,平均在75美元,主要是按价目表或者固定价格,属于冲动购买或者偶尔购买,所以广告的作用很大。信用依靠消费者信用卡,基础设施主要是互联网的链接。 仅就交易工作流而言,它有很多业务需求如:客户管理,商品浏览,身份认证,订单管理,配送和转账等,本文当中,重点讨论在密码服务和安全性上的需求,通过实施安全性措施,确保在交易的生命周期当中,在交易信息的运动过程中,敏感信息不会丧失信息安全性。 6 CAPICOM的应用 在交易流程中,证书的操作主要有:证书库的打开,证书检索,证书验证,证书加密数据和数字签名CryptoAPI只提供了基本的密码函数,对于数字证书很少涉及,而CAPICOM组件对这些高层应用服务提供了方便的接口。图2 十六进制形式密文和解密结果图3 签名过程 6.1 证书操作图4 十六进制形式密文和解密结果 WINDOWS平台中,证书存于证书库CertStore的结构中,使用时必检索证书库,取得证书句柄,获得证书的基本信息如:有效期,公钥等,同时,还要对证书的有效性进行验证。私钥存于密钥容器中(Key Container),有对应私钥的证书,还存有私钥容器的句柄。默认的证书库有4个:Trust,My,CA,Root,其中My存放了个人的证书,其中还有私钥容器句柄,Trust存放了通信群体中其它人的证书,仅公钥。证书的管理必须用到CAPICOM的几个接口:IStorePtr指向证书库,ICertificates2Ptr指向证书集合,ICertificatePtr指向证书,三个接口形成操作证书的三级索引。图5 验证过程 6.2 证书参与加密运算:保证秘密性 证书加密实际是用接收方证书的公钥加密,过程有两步:用公钥加密对称密钥,用对称密钥加密数据如支付的信息:客户帐号和PIN码等。CAPICOM定义的对象IenvelopedData Ptr对两步进行了包装,对于编程人员是透明的。 定义数据信封 IEnvelopedDataPtr pEncryptIEnvelopedData(_uuidof(Enveloped Data);IEnvelopedDataPtr pDecryptIEnvelopedData(_uuidof(EnvelopedData); 设定算法参数和对称密钥长度 CAPICOM对密码算法的标识标准和密钥长度进行了定义,以常量形式给出。这里以RC4为例。pEncryptIEnvelopedData-Algorithm-Name =CAPICOM_ENCRYPTION_ALGORITHM_RC4 ;pEncryptIEnvelopedData-Algorithm-KeyLength =CAPICOM_ENCRYPTION_KEY_LENGTH_40_BITS; 加密 bstrtemp=SysAllocStringByteLen(Hello Capicom!,14);_bstrta;bstrciphertext=pEncryptIEnvelopedData-Encrypt(CAPICOM_ENCODE_BINARY); 取出密文 bstrtemp是BSTR指针,指向双字节的字符串,即以两个Bytes来存一个ASCII字符,_bstr_t类型对双字节字符串进行了对象装箱,字节数是字符数据量的两倍。加密Hello Capicom!后,以字符形式看密文则呈乱码形式。二进制形式则如图2所示。 PCHAR pCiphertext=NULL;pCiphertext=(PCHAR)bstrciphertext;printf(密文字符流:n);PVOID pchartemp=malloc(24);for (int k=0;kbstrciphertCiphertext,24);pCiphertext+; 解密 pDecryptIEnvelopedData-Decrypt(bstrciphertext);printf(解密后:%sn,(PCHAR)pDecryptIEnvelopedData-Cont结果如图4所示。6.3 数字签名和验证:保证完整性和抗抵赖性 签名是对消息哈希值进行签名,先算出数据的哈希值,再用签名者的私钥对哈希值签名,通过这个过程来保证订单信息如商品数量,品名等的完整性和非抵赖性。此步骤中,会检索MY证书库的证书,找证书公钥对应的私钥的容器句柄,再找到私钥,这对于程序员是透明的。签名和数据可以“依附”发送也可“独立”发送,接收者收到数据和签名后,重算数据的哈希值,将哈希值和数据的签名送进验证运算将会得出验证结果。CAPICOM组件,用接口ISignedDataPtr和IHashedDataPtr来封装此功能。 定义哈希对象和设定哈希算法 IHashedDataPtr pIHashedDataPtr(_uuidof(HashedData);pIHashedDataPtr-Algorithm=CAPICOM_HASH_ALGORITHM_SHA1。 哈希和取哈希值 哈希对象的哈希值是字符串形式的以十六进制的格式返回,SHA-1算法的哈希值为160位,即20字节,表示成HEX格式一个字节表示为两个字符,共40个ASCII字符,再用双字节字符表示。则为40个宽字符,80字节,所以哈希值的字节长度变成了80字节。如图3所示。 bstrtemp=SysAllocStringByteLen(Hello Capicom!,14); _bstrh(_bstr_ta);bstrHashValue=pIHashedDataPtr-Value; 签名 签名加入时间戳和签名者信息,还要编码成一定的格式,有时还加入了签名者的证书,故签名消息的长度取决于多个因素。而不只取决签名者的公钥长度。如以二进制编码为格式则为898字节,如图5所示。ISignedDataPtrpISignedDataPtr(_uuidof(SignedData); pISignedDataPtr-Content=pIHashedDataPtr-Value;bstrSignature=pISignedDataPtr-Sign(0,TRUE,CAPICOM_ENCODE_BINARY); 验证 pISignedDataPtr-Content=pIHashedDataPtr-Value;pISignedDataPtr-Verify(bstrSi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论