SSL与SET协议

SSL与SET协议SSL SecureSocket 为 Netscape 所研发 用以保障在 Internet 上数据传输之安全 利用数据加密 Encryption 技术 可确保数据在网络 上之传输过程中不会被截取及窃听 目前一般通用之规格为 40bit 之安全标准 美国则已推出 128bit 之更高安全 标准 但限制出境 只要 3 0 版本以上之 I E 或 Netscape 浏览器即可支持 SSL

SSL (Secure Socket Layer)

  为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络

  上之传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全

  标准,但限制出境。只要3.0版本以上之I.E.Netscape浏览器即可支持SSL

  当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

  SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

  SSL协议提供的服务主要有:

  1)认证用户和服务器,确保数据发送到正确的客户机和服务器;

  2)加密数据以防止数据中途被窃取;

  3)维护数据的完整性,确保数据在传输过程中不被改变。

  SSL协议的工作流程:

  服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

  用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

  从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。在这种情况下,Visa MasterCard两大信用卡公组织制定了SET协议,为网上信用卡支付提供了全球性的标准。

  https介绍

  HTTPSSecure Hypertext Transfer Protocol)安全超文本传输协议

  它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPSSSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。。

  https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL

  它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTPTCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

  限制

  它的安全保护依赖浏览器的正确实现以及服务器软件、实际加密算法的支持.

  一种常见的误解是“银行用户在线使用https:就能充分彻底保障他们的银行卡号不被偷窃。”实际上,与服务器的加密连接中能保护银行卡号的部分,只有用户到服务器之间的连接及服务器自身。并不能绝对确保服务器自己是安全的,这点甚至已被攻击者利用,常见例子是模仿银行域名的钓鱼攻击。少数罕见攻击在网站传输客户数据时发生,攻击者尝试窃听数据于传输中。

  商业网站被人们期望迅速尽早引入新的特殊处理程序到金融网关,仅保留传输码(transaction number)。不过他们常常存储银行卡号在同一个数据库里。那些数据库和服务器少数情况有可能被未授权用户攻击和损害。

 

SET

为了实现更加完善的即时电子支付,SET协议应运而生。SET协议(Secure Electronic Transaction),被称之为安全电子交易协议,是由Master CardVisa联合NetscapeMicrosoft等公司,于199761日推出的一种新的电子支付模型。SET协议是B2C上基于信用卡支付模式而设计的,它保证了开放网络上使用信用卡进行在线购物的安全。SET主要是为了解决用户,商家,银行之间通过信用卡的交易而设计的,它具有的保证交易数据的完整性,交易的不可抵赖性等种种优点,因此它成为目前公认的信用卡网上交易的国际标准。

 

SET交易过程中要对商家,客户,支付网关等交易各方进行身份认证,因此它的交易过程相对复杂。

 

  (1)客户在网上商店看中商品后,和商家进行磋商,然后发出请求购买信息。

 

  (2)商家要求客户用电子钱包付款。

 

  (3)电子钱包提示客户输入口令后与商家交换握手信息,确认商家和客户两端均合法。

 

  (4)客户的电子钱包形成一个包含订购信息与支付指令的报文发送给商家。

 

  (5)商家将含有客户支付指令的信息发送给支付网关。

 

  (6)支付网关在确认客户信用卡信息之后,向商家发送一个授权响应的报文。

 

  (7)商家向客户的电子钱包发送一个确认信息。

 

  (8)将款项从客户帐号转到商家帐号,然后向顾客送货,交易结束。

 

  从上面的交易流程可以看出,SET交易过程十分复杂性,在完成一次S ET协议交易过程中,需验证电子证书9次,验证数字签名6次,传递证书7次,进行签名5次,4次对称加密和非对称加密。通常完成一个SET协议交易过程大约要花费1.52分钟甚至更长时间。由于各地网络设施良莠不齐,因此,完成一个SET协议的交易过程可能需要耗费更长的时间。

 

SET的安全性

采用公钥加密和私钥加密相结合的办法保证数据的保密性

  SET协议中,支付环境的信息保密性是通过公钥加密法和私钥加密法相结合的算法来加密支付信息而获得的。它采用的公钥加密算法是RSA的公钥密码体制,私钥加密算法是采用DES数据加密标准。这两种不同加密技术的结合应用在SET中被形象的成为数字信封,RSA加密相当于用信封密封,消息首先以56位的DES密钥加密,然后装入使用1024RSA公钥加密的数字信封在交易双方传输。这两种密钥相结合的办法保证了交易中数据信息的保密性。

 

采用信息摘要技术保证信息的完整性

  SET协议是通过数字签名方案来保证消息的完整性和进行消息源的认证的,数字签名方案采用了与消息加密相同的加密原则。即数字签名通过RSA加密算法结合生成信息摘要,信息摘要是消息通过HASH函数处理后得到的唯一对应于该消息的数值,消息中每改变一个数据位都会引起信息摘要中大约一半的数据位的改变。而两个不同的消息具有相同的信息摘要的可能性及其微小,因此HASH函数的单向性使得从信息摘要得出信息的摘要的计算是不可行的。信息摘要的这些特征保证了信息的完整性。

 

采用双重签名技术保证交易双方的身份认证

  SET协议应用了双重签名(Dual Signatures)技术。在一项安全电子商务交易中,持卡人的定购信息和支付指令是相互对应的。商家只有确认了对应于持卡人的支付指令对应的定购信息才能够按照定购信息发货;而银行只有确认了与该持卡人支付指令对应的定购信息是真实可靠的才能够按照商家的要求进行支付。为了达到商家在合法验证持卡人支付指令和银行在合法验证持卡人订购信息的同时不会侵犯顾客的私人隐私这一目的,SET协议采用了双重签名技术来保证顾客的隐私不被侵犯。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233001.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月25日 下午12:01
下一篇 2025年8月25日 下午12:22


相关推荐

  • gfortran在linux下安装

    gfortran在linux下安装在 http gfortran meteodat ch download x86 64 nightlies gcc trunk tar xz 下载 gfortran nbsp wgethttp gfortran meteodat ch download x86 64 nightlies gcc trunk tar xz nbsp nbsp xz dgcc trunk tar xztar

    2026年3月17日
    2
  • opencv是什么

    opencv是什么nbsp nbsp nbsp nbsp nbsp OpenCV 是一个用于图像处理 分析 机器视觉方面的开源函数库 nbsp nbsp nbsp nbsp nbsp 无论你是做科学研究 还是商业应用 opencv 都可以作为你理想的工具库 因为 对于这两者 它完全是免费的 该库采用 C 及 C 语言编写 可以在 windows linux macOSX 系统上面运行 该库的所有代码都经过优化 计算效率很高 因为 它更专注于设计成为一种用于实时系统的开源库 opencv 采用 C 语言进行优化 而且 在多核机器上面 其运行速度会更快 它的一个目标是提供友好的机器视觉接口函数 从而使得复杂的机器

    2026年3月26日
    3
  • 电视处理器a53和a55哪个厉害(cortexa55处理器好吗)

    小编语:手机处理器从32位向64位的迁移过程中,功耗增加以及给手机厂商带来的散热成为一个很大的问题。目前Cortex-A57已经是64位手机处理器芯片的主流内核,它的功耗不降下来,更多手机功能的开发可能受限于系统总功耗而无法实现,ARM这次推出的Cortex-A35显然在这方面下了不少功夫,究竟能给手机厂商带来多少实惠,还要等终端产品推出后才见分晓……64位元处理器应用版图…

    2022年4月13日
    752
  • js语法(1)_css语法

    js语法(1)_css语法js自动插入分号规则a.什么时候需要写分号什么时候不能写分号要有换行符,且下一个符号是不符合语法的,那么就尝试插入分号。有换行符,且语法中规定此处不能有换行符,那么就自动插入分号。源代码结束处,不能形成完整的脚本或者模块结构,那么就自动插入分号。noLineTerminatorhere规则表示它所在的结构中的这一位置不能插入换行符。带有标签的continue语句不能在continue后插入换行带标签的break语句不能在break后插入换行return后不能插入换行..

    2022年10月21日
    5
  • VB.NET数据库编程基础教程

    VB.NET数据库编程基础教程关键词:作者罗姗众所周知,VB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NETFrameWorkSDK中面向数据库编程的类库和微软的MDAC来实现的。其中,ADO.NET

    2022年7月1日
    26
  • Deepseek 正确打开方式:90%的人都不知道的 8 个使用技巧,强烈建议收藏!

    Deepseek 正确打开方式:90%的人都不知道的 8 个使用技巧,强烈建议收藏!

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号