电子商务中的身份认证技术及实现

作者:张小刚;。

[摘要] 电子商务的安全问题是电子商务发展的核心问题。本文针对电子商务的安全问题,分析了基于CA体系的电子商务安全体系结构。深入阐述了CA安全技术中的加解密技术、CA数字证书技术、数字信封、数字签名技术,以及电子商务中的信息加密身份认证的一般过程,并对数字签名过程用JAVA进行了实现。   [关键词] 电子商务 信息安全 加/解密 CA数字证书 数字信封 数字签名      一、引言   电子商务指的是利用简单、决捷、低成本的电子通讯方式,买卖双方不见面地进行各种商贸活动。目前电子商务工程正在全国迅速发展,实现电子商务的关键是要保证商务活动过程中系统的安全性。电子商务的安全是通过使用加密手段来达到的,非对称密钥加密技术(公开密钥加密技术)是电子商务系统中主要的加密技术。CA体系为用户的公钥签发证书,以实现公钥的分发并证明其有效性。本文深入研究了CA安全技术,分析了CA安全技术实现的主要过程和原理。   二、CA 基本安全技术   CA就是认证中心(Certificate Authority),它是提供身份验证的第三方机构, 认证中心通常是企业性的服务机构,主要任务是受理数字凭证的申请、签发及对数字凭证的管理。认证中心依据认证操作规定(CPS:CertificationPracticeStatement)来实施服务操作。例如,持卡人要与商家通信,持卡人从公开媒体上获得了商家的公开密钥,但持卡人无法确定商家不是冒充的(有信誉),于是持卡人请求CA对商家认证,CA对商家进行调查、验证和鉴别后,将包含商家PublicKey(公钥)的证书传给持卡人。同样,商家也可对持卡人进行。证书一般包含拥有者的标识名称和公钥,并且由CA进行过数字签名。   1.数字信封   数字信封技术结合了秘密密钥加密技术和公开密钥加密技术的优点,可克服秘密密钥加密中秘密密钥分发困难和公开密钥加密加密时间长的问题,使用两个层次的加密来获得公开密钥技术的灵活性和秘密密钥技术的高效性,保证信息的安全性。数字信封的具体实现步骤如下:   (1)当发信方需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文。   (2)发信方用收信方的公钥加密上述对称密钥生成数字信封。   (3)发信方将第一步和第二步的结果传给收信方。   (4)收信方使用自己的私钥解密数字信封,得到被加密的对称密钥。   (5)收信方用得到的对称密钥解密被发信方加密的报文,得到真正的报文。   数字信封技术在外层使用公开密钥加密技术,享受到公开密钥技术的灵活性;由于内层的对称密钥长度通常较短,从而使得公开密钥加密的相对低效率被限制在最低限度;而且由于可以在每次传送中使用不同的对称密钥,系统有了额外的安全保证。   2.数字签名   数字签名用来保证信息传输过程中信息的完整和提供信息发送者身份认证和不可抵赖性。使用公开密钥算法是实现数字签名的主要技术。使用公开密钥算法实现数字签名技术,类似于公开密钥加密技术。它有两个密钥:一个是签名密钥,它必须保持秘密,因此称为私有密钥,简称私钥;另一个是验证密钥,它是公开的,因此称为公开密钥,简称公钥公开密钥算法的运算速度比较慢,因此可使用安全的单向散列函数对要签名信息进行摘要处理,减小使用公开密钥算法的运算量。实现数字签名的过程如下:   (1)信息发送者使用一单向散列函数(Hash算法)对信息生成信息摘要。   (2)信息发送者使用自己的私钥签名信息摘要。   (3)信息发送者信息本身和已签名信息摘要一起发送出去。   (4)任何接收者通过使用与信息发送者使用的同一个单向散列函数对接收的信息生成新的信息摘要,再使用信息发送者公钥信息摘要进行验证,以确认信息发送者身份信息是否被修改过。

3.双重数字签名   双重签名是为了保证在事务处理过程中三方安全传输信息的一种技术,用于三方通信时的身份认证信息完整性、交易防抵赖的保护。为理解双重签名的必要性,可考虑以下情况:某人A购买商品,B为商家,C为银行,A的付款账户在C处。交易过程中,A需要给B发送购买信息和A的付款账户信息(如果B接受购买信息后用于转账),但A不愿让B看到自己的付款账户信息(即A不希望商家看到自己的银行账户信息),也不愿让处理A付款信息的C看到订购信息(即A不希望银行看到自己的购买商品信息)。此时A使用双重签名技术对两种信息数字签名,来完成以上功能。双重数字签名的实现步骤如下:   (1)信息发送者A对发给B的信息1生成信息摘要1。   (2)信息发送者A对发给C的信息2生成信息摘要2。   (3)信息发送者A把信息摘要1和信息摘要2合在一起,对其生成信息摘要3,并使用自己的私钥签名信息摘要3。   (4)信息发送者A把信息1、信息摘要2和信息摘要3的签名发给B,B不能得到信息2。   (5)信息发送者A把信息2、信息摘要1和信息摘要3的签名发给C,C不能得到信息1。   (6)B接收信息后,对信息1生成信息摘要,把这信息摘要和收到的信息摘要2合在一起,并对其生成新的信息摘要,同时使用信息发送者A的公钥信息摘要3的签名进行验证,以确认信息发送者A的身份信息是否被修改过。   (7)C接收信息后,对信息2生成信息摘要,把这信息摘要和收到的信息摘要1合在一起,并对其生成新的信息摘要,同时使用信息发送者A的公钥信息摘要3的签名进行验证,以确认信息发送者A的身份信息是否被修改过。   三、实现数字签名认证过程   这里提供一种对传递信息进行签名的方法。用户在提交定单和个人账号信息时,同时生成一个私钥和证书,即可以对传递的重要数据需要签署的信息进行数字签名,然后把该账号连同生成的证书和对该文件的签名文件作为一个签名文件包传输给接受方。   而接受方获得发送方的签名账号信息后,可以首先到某个可以信任的CA中心去验证该证书的合法性,来确定发送方所宣称的身份是否可信。如果可信则可以用证书中所包含的公钥来验证传输来的文件是否为发送方所签署的。

1 次访问