如何设计一个安全的电商交易系统
发布网友
发布时间:2022-04-22 15:23
我来回答
共1个回答
热心网友
时间:2023-07-12 05:00
由于电子商务系统把服务商、客户和银行三方通过互联网连接起来,并实现了具体的业务操作。因此,电子商务安全系统可以由三个安全代理服务器及CA认证系统构成,它们遵循共同的协议,协调工作,实现电子商务交易信息的完整性、保密性和不可抵赖性等要求。其中采用的安全技术主要有以下几种:
1.防火墙(FireWall)技术
防火墙是一种隔离控制技术,在某个机构的网络和不安全的网络(如Internet)之间设置屏障,阻止对信息资源的非法访问,也可以使用防火墙阻止专利信息从企业的网络上被非法输出。
2.加密技术
数据加密技术是电子商务中采取的主要安全措施,贸易方可根据需要在信息交换的阶段使用。在网络应用中一般采取两种加密形式:对称加密和非对称加密,采用何种加密算法则要结合具体应用环境和系统,而不能简单地根据其加密强度来做出判断。
(1)对称加密
在对称加密方法中,对信息的加密和解密都使用相同的密钥。也就是说,一把钥匙开一把锁。这种加密算法可简化加密处理过程,贸易双方都不必彼此研究和交换专用的加密算法,如果进行通信的贸易方能够确保私有密钥在交换阶段未曾泄露,那么机密性和报文完整性就可以得到保证。不过,对称加密技术也存在一些不足,如果某一贸易方有n个贸易关系,那么他就要维护n个私有密钥。对称加密方式存在的另一个问题是无法鉴别贸易发起方或贸易最终方。因为贸易双方共享一把私有密钥。目前广泛采用的对称加密方式是数据加密标准(DES),它主要应用于银行业中的电子资金转账(EFT)领域。DES对64位二进制数据加密,产生64位密文数据。使用的密钥为64位,实际密钥长度为56位(8位用于奇偶校验)。解密时的过程和加密时相似,但密钥的顺序正好相反。
(2)非对称加密/公开密钥加密
在Internet中使用更多的是公钥系统,即公开密钥加密。在该体系中,密钥被分解为一对:公开密钥PK和私有密钥SK.这对密钥中的任何一把都可作为公开密钥(加密密钥)向他人公开,而另一把则作为私有密钥(解密密钥)加以保存。公开密钥用于加密,私有密钥用于解密,私有密钥只能由生成密钥对的贸易方掌握,公开密钥可广泛发布,但它只对应于生成该密钥的贸易方。在公开密钥体系中,加密算法E和解密算法D也都是公开的。虽然SK与PK成对出现,但却不能根据PK计算出SK.公开密钥算法的特点如下:用加密密钥PK对明文X加密后,再用解密密钥SK解密,即可恢复出明文,或写为:DSK (EPK (X))=X .加密密钥不能用来解密,即DPK (EPK (X))≠X在计算机上可以容易地产生成对的PK和SK.从已知的PK实际上不可能推导出SK.加密和解密的运算可以对调,即:EPK (DSK (X))=X常用的公钥加密算法是RSA算法,加密强度很高。具体做法是将数字签名和数据加密结合起来。发送方在发送数据时必须加上数字签名,做法是用自己的私钥加密一段与发送数据相关的数据作为数字签名,然后与发送数据一起用接收方密钥加密。这些密文被接收方收到后,接收方用自己的私钥将密文解密得到发送的数据和发送方的数字签名,然后用发布方公布的公钥对数字签名进行解密,如果成功,则确定是由发送方发出的。由于加密强度高,而且不要求通信双方事先建立某种信任关系或共享某种秘密,因此十分适合Internet网上使用。
3.数字签名
数字签名技术是实现交易安全核心技术之一,它实现的基础就是加密技术。以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传送的报文又如何盖章呢?这就是数字签名所要解决的问题。数字签名必须保证以下几点:接收者能够核实发送者对报文的签名;送者事后不能抵赖对报文的签名;接收者不能伪造对报文的签名。现在己有多种实现数字签名的方法,采用较多的就是公开密钥算法。
4.数字证书
(1)认证中心在电子交易中,数字证书的发放不是靠交易双方来完成的,而是由具有权威性和公正性的第三方来完成的。认证中心就是承担网上安全电子交易认证服务、签发数字证书并确认用户身份的服务机构。
(2)数字证书数字证书是用电子手段来证实一个用户的身份及他对网络资源的访问权限。在网上的电子交易中,如双方出示了各自的数字证书,并用它来进行交易操作,那么交易双方都可不必为对方身份的真伪担心。
5.消息摘要(Message Digest)
消息摘要方法也称为Hash编码法或MDS编码法。它是由Ron Rivest所发明的。消息摘要是一个惟一对应一个消息的值。它由单向Hash加密算法对所需加密的明文直接作用,生成一串128bit的密文,这一串密文又被称为“数字指纹”( Finger Print )。所谓单向是指不能被解密,不同的明文摘要成密文,其结果是绝不会相同的,而同样的明文其摘要必定是一致的,因此,这串摘要成为了验证明文是否是“真身”的数字“指纹”了。追问能不能说的简单点