网络安全问题一直是我们关注的焦点问题。现在的商务活动越来越多地在网上展开。所以一个安全的网络环境是必不可少的。所以我们现在来看看SET应用层协议的网络安全都有哪些技术。
◆SET应用层协议中采用的安全技术
SET是在一些早期协议如MasterCard的SEPP以及VISA和Microsoft的STT的基础上合并而成的,它定义了交易数据在卡用户、商家、发卡行、收单行之间的流通过程,也定义了各种支持这些交易的安全功能(数字签名、Hash算法、加密等)。
为了进一步加强安全性,SET使用两组密钥对分别用于加密和签名。SET不希望商家得到顾客的账户信息,同时也不希望银行了解到交易内容,但又要求能对每一笔单独的交易进行授权。通过双签名(dual signature)机制将订购信息同账户信息链在一起签名,SET巧妙地解决了这一矛盾。
SET将对称密钥的快速、低成本和非对称密钥的有效性***地结合在一起。考虑网上商店的情况,对于成千上万的消费者和商家在INTERNET交换信息,要对每一个消费者通过某个渠道发放一个密钥,在现实中是不可取的。而用公开密钥,商家生成一个公共密钥对,任何一个消费者都可用商家公开发布的公钥与商家进行保密通信,具体介绍如下。
(1)数字信封,SET依靠密码系统保证消息的可靠传输,在SET中,使用DES算法产生的对称密钥来加密数据,然后,将此对称密钥用接收者的公钥加密,称为消息的“数字信封",将其和数据一起送给接收者,接收者先用他的私钥解密数字信封,得到对称密钥,然后使用对称密钥解开数据。
(2)数字签名,由于公开密钥和私有密钥之间存在的数学关系,使用其中一个密钥加密的数据只能用另一个密钥解开。SET中使用RSA算法来实现。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可确定消息来自于谁,这就保证了发送者对所发信息不能抵赖。
(3)双重签名,为了保证消费者的帐号等重要信息对商家隐蔽,SET中采用了双重签名技术。在交易中持卡人发往银行的支付指令是通过商家转发的,为了避免在交易的过程中商家窃取持卡人的信用卡信息,以及避免银行跟踪持卡人的行为,侵犯消费者隐私,但同时又不能
影响商家和银行对持卡人所发信息的合理的验证,只有当商家同意持卡人的购买请求后,才会让银行给商家负费,SET应用层协议采用双重签名来解决这一问题。
◆SET应用层协议主要特点
(1)信息的保密性。SET的一个重要特点是持卡人的信用卡号码只提供给银行,而商家无法知道信用卡号码。SET利用DES密码算法提供信息的保密性。
(2)数据完整性。从持卡人发往商家的支付信息包括订购信息、个人数据及支付指令。SET引入RSA数字签名及Sha-1杂凑函数确保这些消息的内容在传输过程中不被非法更改。
(3)持卡人身份的鉴别。SET可以让商家鉴别持卡人是有效信用卡账号的合法用户。SET采用X.509V3数字证书和RSA数字签名达到这一目的。
(4)商家的鉴别。SET是持卡人可以鉴别商家真实性,而且可以验证商家能否接受信用卡支付。SET同样采用X.509V3数字证书和RSA数字签名实现这一功能。
◆SET应用层协议的安全性分析与总结
SET应用层协议主要通过使用密码技术和数字证书方式来保证信息的机密性和安全性,它实现了电子交易的数据完整性、机密性、身份的合法性和不可否认性。
数据完整性(Data Integrity) SET应用层协议通过使用Hash函数来保证数据完整性。报文发送后,Hash函数将为之产生一个惟一的报文摘要值,一旦报文中包含的数据被篡改,该值就会改变,从而被检测到,这样就保证了信息的完整性。
机密性(Confidentiality)在SET应用层协议下,客户将支付信息PI和订单信息OI进行双重签名商家解密后得到OI,银行解密后得到PI,从而避免了商家访问客户的支付信息。
身份验证(Verification Of Identity)身份认证,是电子商务中非常重要的环节,SET应用层协议使用数字证书来确认商家、持卡客户、受卡行和支付网关的身份,为网上交易提供了一个完整的可信赖的环境。
不可否认性(Non-repudiation of Disputed charges) SET应用层协议中数字证书的发布过程也包含了商家和客户在交易中存在的信息,因此,如果客户发出了一个商品的订单,在收到货物后它不能否认发出这个订单,同样,商家以后也不能否认收到过这个订单。
◆小结
SET应用层协议位于网络的应用层中,安全性较好,是实现安全电子交易的重要保障,它规范了整个商务活动的流程,制定了严格的加密和认证标准,已经成为网上交易安全通信协定的产业标准。但也存在着一些缺陷,如SET涉及的交易参与主体较多,从而导致协议比较复杂,使用成本高,其安全性在某些方面还存在着一些缺陷,这些都是以后需要研究和改进的地方。