电子商务的一个重要技术特征是利用IT技术来传输和处理商业信息。因此,电子商务安全从整体上可分为两大部分:网络安全和商务交易安全。
网络安全的内容包括:网络设备安全、网络系统安全、数据库安全等。其特征是针对网络本身可能存在的安全问题,实施网络安全增强方案,以保证网络自身的安全为目标。
商务交易安全则紧紧围绕传统商务在互联网络应用时产生的各种安全问题,在网络安全的基础上,保障以电子交易和电子支付为核心的电子商务过程的顺利进行。即实现电子商务的保密性、完整性、可认证性、不可拒绝性、不可伪造性和不可抵赖性。
首先,网络部可能绝对安全,在这种情况下,还需要运行安全的电子商务。其次,即使网络绝对安全,也不能保障电子商务的安全。电子商务安全除了基础要求之外,还有特殊要求。
认证性(Authentication)是指网络两端的使用者在沟通之前互相确认对方的身份。
保密性(Confidentiality)是指信息在传送或存储的过程中不被他人窃取、不被泄露或披露给未经授权的人或组织,或者经过加密伪装后,使未经授权者无法了解其内容。
完整性(Integrity)是指保护数据不被未经授权者修改、建立、嵌入、删除、重复传送或者由于其他原因使原始数据被更改。
不可抵赖性又叫不可否认性(Non-repudiation)是指信息的发送方不能否认已经发送的信息,接收方不能否认已经收到的信息,只是一种法律有效性要求。
商务服务的有效性或可用性,是保证授权用户在正常访问信息和资源时不被拒绝,即保证为用户提供稳定的服务。
访问控制性(Access Control)是指在网络上限制和控制通信链路对主机系统和应用的访问。
在Internet上开发对所有公众开放的电子商务系统,从技术角度讲,关键的技术问题有两个:一是信息传递的准确性;二是信息传递的安全可靠性。前者是各种数据交换协议已经解决了的问题,后者则是目前学术界、工商界和消费者最为关注的问题。
SET协议是一个基于可信的第三方认证中心的方案,其主要的实现目标是:
·保证电子商务参与者信息的相互隔离。
·保证信息在Internet上安全传输,防止数据被黑客或被内部人员窃取。
·解决多方认证问题,不仅要对消费者的信用卡认证,而且要对在线商店的信誉程度认证,同时还要消费者、在线商店与银行间的认证, 保证付款的安全。
·保证网上交易的实时性,使所有的支付过程都是在线的。
·提供一个开放式的标准、规范协议和消息格式,促使不同厂家开发的软件具有兼容性和互操作功能,并且可运行在不同的硬件和操作系统平台上。
SET协议主要是通过使用密码技术和数字证书方式来保证信息的机密性和安全性,它实现了电子交易的机密性、数据完整性、身份的合法性和不可否认性。
机密性(Confidentislity)
SET支付环境中信息的机密性是通过使用混合加密算法(即公钥加密算法和对称加密算法相结合)来加密支付信息而获得的。一般的做法是,用公钥加密算法来加密包含一个短密钥的真实信息,该短密钥是通过公钥——私钥密钥对秘密发布的。SET中采用的公钥加密算法是RSA的公钥密码体制,私钥加密算法采用的是DES数据加密标准,消息首先以56位DES密钥加密,然后装入使用1024位RSA公钥加密的数字信封在通信双方传输。56位DES密钥是使用信息接收者的公钥加密后附在加密的消息中的。消息接收者很容易用自己的私钥解密来提取出加密的DES密钥,然后使用DES密钥完成消息块的解密过程。这种混合加密技术在SET中被形象地称为数字信封(Digital Envelope),RSA加密相当于用信封密封。
SET协议使用数字签名来保证数据的完整性。SET使用安全Hash算法(Secure Hash Algorithrn,SHA-1)的RSA数字签名,SHA-1对于任意长度的消息都生成一个160位的消息摘要。如果消息中有一位发生变化,那么消息摘要中会大约有10位数据发生变化,两个不同消息的摘要完全相同的概率是10%—48%。
SET使用基于使用基于X、509的PKI,通过数字证书和RSA来达到对持卡人帐户、商家、支付网关以及银行的认证。
不可否认性(Non-repudiation of Disputed Charges)
SET协议中数字证书的发布过程也包含了商家和客户在交易中存在的信息。因此,如果客户用SET发出了一个商品的订单,在收到货物后,他不能否认发出这个订单,同样,商家以后也不能否认收到过这个订单。
虽然SET在电子支付中得到了广泛的应用,受到电子商务推动者的高度重视,但它也有下面一些局限:
·SET报文消息太复杂。
·SET涉及的实体较多。
·SET没有解决交易中证据的生成和保留。
·SET协议中没有对交易过程作状态描述,这可能使顾客或商家对交易的状态难以把握。
1、SSL协议概述
SSL是一个两层协议,包括SSL握手协议和SSL记录层协议。
SSL协议提供的服务可以归纳为如下三个方面:
(1)用户和服务器的合法性认证
(2)加密数据以隐藏被传送的数据
SSL协议采用的加密技术既有对称密钥,也有公开密钥。
(3)维护数据的完整性
SSL协议采用Hash函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过SSL协议处理的业务在传输过程中都能完整、准确无误地到达目的地。
SSL握手协议被封装在记录协议中,该协议允许服务器与客户机在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。
SSL记录协议为SSL连接提供两种服务:机密性和报文完整性。
SSL记录协议位于SSL协议的底层,用于定义传输数据的格式,加密/解密、压缩和解压缩、MAC计算等操作。
鉴别机制
SSL协议通过使用公开密钥技术和数字证书可以实现客户端和服务器的身份鉴别。
SSL握手协议还定义了共享的、可以用来形成消息认证码MAC(Message Authentication Code)的密钥。SSL在对所传输的数据进行分片压缩后,使用单向散列函数(如MD5、SHA-1等)产生一个MAC,加密后置于数据包的后部,并且再一次和数据一起被加密,然后加上SSL首部进行网络传输。这样,如果数据被修改,其散列值就无法和原来的MAC相匹配,从而保证了数据的完整性。
SSL使用序列号里保护通信方免受报文重放攻击。这个序列号被加密后作为数据包的负载,在整个SSL握手中,都有一个唯一的随机数来标记这个SSL握手,这样重放便无机可乘了。
SSL协议自身的缺陷
客户端假冒。
SSL协议无法提供基于UDP应用的安全保护。
SSL协议不能对抗通信流量分析。
进程中的主密钥泄露。除非SSL的工程实现大部分驻留在硬件中,否则主密钥将会存留在主机的主存储器,这就意味着任何可以读取SSL进程存储空间的攻击者都能读取主密钥,因此,不可能面对掌握机器管理特权的攻击者而保护SSL连接,这个问题要依靠用户管理策略来解决。
磁盘上的临时文件可能遭受攻击。对于使用虚拟内存的操作系统,不可避免地有些敏感数据甚至主密钥都交换到存盘上,可采取内存加锁和及时删除磁盘临时文件等措施来降低风险。
现有的SSL版本中所用到的加密算法包括:RC4、RC2、IDEA、DES和3DES,而加密算法所用的密钥由消息散列函数MD5产生。RC4、RC2、是由RSA定义的,其中RC2适用于块加密,RC4适用于流加密。
SSL协议中对称加密用于加密应用数据,非对称加密用于验证实体和交换密钥。SSL给出的序列加密算法有RC4;给出的分组加密算法有48位密钥的RC2[RC2 98]。DES[DES83],3DES[3DES79],IDEA[IDEA92]和Fortezza。目前SSL协议给出的密钥交换算法有RSA、DIFFIE—Hellman和Fortezza dms;数字签名算法有RSA和DSA。SSL协议指定的Hash算法有128位密钥的MD5和160位密钥的SHA。
各省软考办 | ||||||||||