『壹』 系统接口,有哪一些协议,具体实现方式有什么区别,例如http
摘要:在电子商务中,SSL协议得到了广泛的协议,而SET协议则是今后的发展趋势,本文在分析这两种协议原理的基础上,对两者的特点进行了比较。 关键词:电子商务;SSL协议;SET协议 1 SSL协议 1.1 SSL协议概述 SSL(Secure Sockets Layer)安全套接层协议 是Netscape公司1995年推出的一种安全通信协议。SSL提供了两台计算机之间的安全连接,对整个会话进行了加密,从而保证了安全传输。SSL协议建立在可靠的TCP传输控制协议之上,并且与上层协议无关,各种应用层协议(如:HTTP,FTP,TELNET等)能通过SSL协议进行透明传输。 SSL协议分为两层:SSL握手协议和SSL记录协议。SSL协议与TCP/IP协议间的关系如图一所示: HTTPSFTPSTELNETSIMAPS等 SSL握手协议 SSL记录协议 TCP传输控制协议 IP因特网协议 图一SSL协议与TCP/IP协议间的关系 SSL协议提供的安全连接具有以下三个基本特点: (1)连接是保密的:对于每个连接都有一个唯一的会话密钥,采用对称密码体制(如DES、RC4等)来加密数据; (2)连接是可靠的:消息的传输采用MAC算法(如MD5、SHA等)进行完整性检验; (3)对端实体的鉴别采用非对称密码体制(如RSA、DSS等)进行认证。 1.2 SSL握手协议 SSL握手协议用于在通信双方建立安全传输通道,具体实现以下功能:(1)在客户端验证服务器,SSL协议采用公钥方式进行身份认证;(2)在服务器端验证客户(可选的);(3)客户端和服务器之间协商双方都支持的加密算法和压缩算法,可选用的加密算法包括:IDEA、RC4、DES、3DES、RSA、DSS、Diffie_hellman、Fortezza、MD5、SHA等;(4)产生对称加密算法的会话密钥;(5)建立加密SSL连接。一般的握手过程如图二所示: 图二SSL协议的握手过程 握手过程分为4个阶段: (1)初始化逻辑连接,客户方先发出ClientHello消息,服务器方也应返回一个ServerHello消息,这两个消息用来协商双方的安全能力,包括协议版本、随机参数、会话ID、交换密钥算法、对称加密算法、压缩算法等。 (2)服务器方应发送服务器证书(包含了服务器的公钥等)和会话密钥,如果服务器要求验证客户方,则要发送CertificateRequest消息。最后服务器方发送ServerHelloDone消息,表示hello阶段结束,服务器等待客户方的响应。 (3)如果服务器要求验证客户方,则客户方先发送Certificate消息,然后产生会话密钥,并用服务器的公钥加密,封装在ClientKeyExchange消息中,如果客户方发送了自己的证书,则再发送一个数字签名CertificateVerify来对证书进行校验。 (4)客户方发送一个ChangeCipherSpec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,最后再发送一个加密后的Finished消息。服务器在收到上述两个消息后,也发送自己的ChangeCipherSpec消息和Finished消息。至此,握手全部完成,双方可以开始传输应用数据。 SSL握手协议在通信双方建立起合适的会话状态信息要素,如下表所示: 会话状态信息要素 描述 对话标识 服务器选择的用于标识一个活跃的、重新开始的对话标识 对等证书 对等实体的X509证书 压缩方法 所采用的数据压缩算法 加密说明 所采用的数据加密算法和MAC算法 会话密钥 客户端和服务器所共享的会话密钥 可重开始 标识此对话是否可以用来初始化新的标志 1.3 SSL记录协议 SSL记录协议从高层接收到数据后要经过分段、压缩和加密处理,最后由传输层发送出去。在SSL协议中,所有的传输数据都被封装在记录中,SSL记录协议规定了记录头和记录数据的格式。 每个SSL记录包含以下信息:(1)内容类型:指SSL的高层协议;(2)协议版本号:指所用的SSL协议版本号,目前已有2.0和3.0版本;(3)长度:指记录数据的长度,记录数据的最大长度为16383个字节;(4)数据有效载荷:将数据用SSL握手阶段所定义的压缩方法和加密方法进行处理后得到的结果;(5)MAC:MAC在有效数据被加密之前计算出来并放入SSL记录中,用于进行数据完整性检查,若使用MD5算法,则MAC数据长度是16个字节。SSL记录协议采用了RFC2104中关于HMAC结构的修正版,在HASH函数作用之前将一个序号放入消息中,以抵抗各种形式的重传攻击,序号是一个32位的递增计数器。 2 SET协议 2.1 SET协议概述 SET(Secure Electronic Transaction)安全电子交易协议是1996年由MasterCard(维萨)与Visa(万事达)两大国际信用卡公司联合制订的安全电子交易规范。它提供了消费者、商家和银行之间的认证,确保交易的保密性、可靠性和不可否认性,保证在开放网络环境下使用信用卡进行在线购物的安全。 2.2 SET协议中采用的数据加密模型 SET协议采用的数据加密模型如图三所示。 图三SET协议采用的数据加密模型 该模型具有以下特点: (1)交易参与者的身份鉴别采用数字证书的方式来完成,数字证书的格式一般采用X.509国际标准; (2)交易的不可否认性用数字签名的方式来实现。由于数字签名是由发送方的私钥产生,而发送方的私钥只有他本人知道,所以发送方便不能对其发送过的交易数据进行抵赖; (3)用报文摘要算法来保证数据的完整性; (4)由于非对称加密算法的运算速度慢,所以要和对称加密算法联合使用,用对称加密算法来加密数据,用数字信封来交换对称密钥。 2.3 SET协议的数据交换过程 SET协议的购物系统由持卡人、商家、支付网关、收单银行和发卡银行五个部分组成,这五大部分之间的数据交换过程如图四所示。 图四SET协议的数据交换过程 3 SSL协议和SET协议的对比 SSL协议和SET协议的差别主要表现在以下几个方面: (1)用户接口:SSL协议已被浏览器和WEB服务器内置,无需安装专门软件;而SET协议中客户端需安装专门的电子钱包软件,在商家服务器和银行网络上也需安装相应的软件。 (2)处理速度:SET协议非常复杂、庞大,处理速度慢。一个典型的SET交易过程需验证电子证书9次、验证数字签名6次、传递证书7次、进行5次签名、4次对称加密和4次非对称加密,整个交易过程可能需花费1.5至2分钟;而SSL协议则简单得多,处理速度比SET协议快。 (3)认证要求:早期的SSL协议并没有提供身份认证机制,虽然在SSL3.0中可以通过数字签名和数字证书实现浏览器和Web服务器之间的身份验证,但仍不能实现多方认证,而且SSL中只有商家服务器的认证是必须的,客户端认证则是可选的。相比之下,SET协议的认证要求较高,所有参与SET交易的成员都必须申请数字证书,并且解决了客户与银行、客户与商家、商家与银行之间的多方认证问题。 (4)安全性:安全性是网上交易中最关键的问题。SET协议由于采用了公钥加密、信息摘要和数字签名可以确保信息的保密性、可鉴别性、完整性和不可否认性,且SET协议采用了双重签名来保证各参与方信息的相互隔离,使商家只能看到持卡人的订购数据,而银行只能取得持卡人的信用卡信息。SSL协议虽也采用了公钥加密、信息摘要和MAC检测,可以提供保密性、完整性和一定程度的身份鉴别功能,但缺乏一套完整的认证体系,不能提供完备的防抵赖功能。因此,SET的安全性远比SSL高。 (5)协议层次和功能:SSL属于传输层的安全技术规范,它不具备电子商务的商务性、协调性和集成性功能。而SET协议位于应用层,它不仅规范了整个商务活动的流程,而且制定了严格的加密和认证标准,具备商务性、协调性和集成性功能。 总结: 由于SSL协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中SET协议将会逐步占据主导地位。
『贰』 电子商务中的安全协议是什么意思
安全协议是以密码学为基础的消息交换协议,其目的是在网络环境中提供各种安全服务。密码学是网络安全的基础,但网络安全不能单纯依靠安全的密码算法。安全协议是网络安全的一个重要组成部分,我们需要通过安全协议进行实体之间的认证、在实体之间安全地分配密钥或其它各种秘密、确认发送和接收的消息的非否认性等。
安全协议是建立在密码体制基础上的一种交互通信协议,它运用密码算法和协议逻辑来实现认证和密钥分配等目标。
安全协议可用于保障计算机网络信息系统中秘密信息的安全传递与处理,确保网络用户能够安全、方便、透明地使用系统中的密码资源。安全协议在金融系统、商务系统、政务系统、军事系统和社会生活中的应用日益普遍,而安全协议的安全性分析验证仍是一个悬而未决的问题。在实际社会中,有许多不安全的协议曾经被人们作为正确的协议长期使用,如果用于军事领域的密码装备中,则会直接危害到军事机密的安全性,会造成无可估量的损失。这就需要对安全协议进行充分的分析、验证,判断其是否达到预期的安全目标。
网络安全是实现电子商务的基础,而一个通用性强,安全可靠的网络协议则是实现电子商务安全交易的关键技术之一,它也会对电子商务的整体性能产生很大的影响。由美国Netscape公司开发和倡导的SSL协议(Secure Sockets Layer,安全套接层),它是目前安全电子商务交易中使用最多的协议之一,内容主要包括协议简介、记录协议、握手协议、协议安全性分析以及应用等。本文在简单介绍SSL协议特点和流程的基础上,详细介绍了SSL协议的应用和配置过程。
1 、SSL协议简介
SSL作为目前保护Web安全和基于HTTP的电子商务交易安全的事实上的,被许多世界知名厂商的Intranet和Internet网络产品所支持,其中包括Netscape、Microsoft、IBM 、Open Market等公司提供的支持SSL的客户机和服务器产品,如IE和Netscape浏览器,IIS、Domino Go WebServer、Netscape Enterprise Server和Appache等Web Server等。
SSL采用对称密码技术和公开密码技术相结合,提供了如下三种基本的安全服务:秘密性。SSL客户机和服务器之间通过密码算法和密钥的协商,建立起一个安全通道。以后在安全通道中传输的所有信息都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。
完整性。SSL利用密码算法和hash函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息内容受到破坏。
认证性。利用证书技术和可信的第三方CA,可以让客户机和服务器相互识别的对方的身份。为了验证证书持有者是其合法用户(而不是冒名用户),SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。
SSL协议的实现属于SOCKET层,处于应用层和传输层之间,由SSL记录协议(SSL RECORD PROTOCOL)和SSL握手协议(SSL HAND-SHAKE PROTOCOL)组成的,其结构如图1所示:
SSL可分为两层,一是握手层,二是记录层。SSL握手协议描述建立安全连接的过程,在客户和服务器传送应用层数据之前,完成诸如加密算法和会话密钥的确定,通信双方的身份验证等功能;SSL记录协议则定义了数据传送的格式,上层数据包括SSL握手协议建立安全连接时所需传送的数据都通过SSL记录协议再往下层传送。这样,应用层通过SSL协议把数据传给传输层时,已是被加密后的数据,此时TCP/IP协议只需负责将其可靠地传送到目的地,弥补了 TCP/IP协议安全性较差的弱点。
Netscape公司已经向公众推出了SSL的参考实现(称为SSLref)。另一免费的SSL实现叫做SSLeay。SSLref和SSLeay均可给任何TCP/IP应用提供SSL功能,并且提供部分或全部源代码。Internet号码分配当局(IANA)已经为具备SSL功能的应用分配了固定端口号,例如,带SSL的HTTP(https)被分配以端口号443,带SSL的SMTP(ssmtp)被分配以端口号465,带SSL的NNTP (snntp)被分配以端口号563。
微软推出了SSL版本2的改进版本,叫做PCT(私人通信技术)。SSL和PCT非常类似。它们的主要差别是它们在版本号字段的最显著位(The Most Significant Bit)上的取值有所不同:SSL该位取0,PCT该位取1。这样区分之后,就可以对这两个协议都给予支持。
1996年4月,IETF授权一个传输层安全(TLS)工作组着手制订一个传输层安全协议(TLSP),以便作为标准提案向IESG正式提交。TLSP将会在许多地方酷似SSL。
2 、SSL安全性
目前,几乎所有操作平台上的WEB浏览器(IE、Netscatp)以及流行的Web服务器(IIS、Netscape Enterprise Server等)都支持SSL协议。因此使得使用该协议便宜且开发成本小。但应用SSL协议存在着不容忽视的缺点:
1. 系统不符合国务院最新颁布的《商用密码管理条例》中对商用密码产品不得使用国外密码算法的规定,要通过国家密码管理委员会的审批会遇到相当困难。
2. 系统安全性差。SSL协议的数据安全性其实就是建立在RSA等算法的安全性上,因此从本质上来讲,攻破RSA等算法就等同于攻破此协议。由于美国政府的出口限制,使得进入我国的实现了SSL的产品(Web浏览器和服务器)均只能提供512比特RSA公钥、40比特对称密钥的加密。目前已有攻破此协议的例子:1995年8月,一个法国学生用上百台工作站和二台小型机攻破了Netscape对外出口版本;另外美国加州两个大学生找到了一个“陷门”,只用了一台工作站几分钟就攻破了Netscape对外出口版本。
但是,一个安全协议除了基于其所采用的加密算法安全性以外,更为关键的是其逻辑严密性、完整性、正确性,这也是研究协议安全性的一个重要方面,如果一个安全协议在逻辑上有问题,那么它的安全性其实是比它所采用的加密算法的安全性低,很容易被攻破。从目前来看,SSL比较好地解决了这一问题。不过SSL协议的逻辑体现在SSL握手协议上,SSL握手协议本身是一个很复杂的过程,情况也比较多,因此我们并不能保证SSL握手协议在所有的情况下逻辑上都是正确的,所以研究SSL协议的逻辑正确性是一个很有价值的问题。
另外,SSL协议在“重传攻击”上,有它独到的解决办法。SSL协议为每一次安全连接产生了一个128位长的随机数——“连接序号”。理论上,攻击者提前无法预测此连接序号,因此不能对服务器的请求做出正确的应答。但是计算机产生的随机数是伪随机数,它的实际周期要远比2128小,更为危险的是有规律性,所以说SSL协议并没有从根本上解决“信息重传”这种攻击方法,有效的解决方法是采用“时间戳”。但是这需要解决网络上所有节点的时间同步问题。
总的来讲,SSL协议的安全性能是好的,而且随着SSL协议的不断改进,更多的安全性能、好的加密算法被采用,逻辑上的缺陷被弥补,SSL协议的安全性能会不断加强。
3、 windows 2000中SSL的配置与应用SSL的典型应用主要有两个方面,一是客户端,如浏览器等;另外一个就是服务器端,如Web服务器和应用服务器等。目前,一些主流浏览器(如IE和 Netscape等)和IIS、Domino Go WebServer、Netscape Enterprise Server、Appache等Web服务器都提供了对SSL的支持。要实现浏览器(或其他客户端应用)和Web服务器(或其他服务器)之间的安全SSL 信息传输,必须在Web服务器端安装支持SSL的Web服务器证书,在浏览器端安装支持SSL的客户端证书(可选),然后把URL中的“http://” 更换。
『叁』 电子商务合同分为哪几种
电子商务合同的形式
传统的合同形式主要有两种,口头形式和书面形式。口头形式是指当事人采用口头或电话等直接表达的方式达成的协议。而书面形式是指当事人采用非直接表达方式即文字方式来表达协议的内容。我国《合同法》已经将传统的书面合同形式扩大到数据电文形式。根据((合同法》规定,书面形式是指合同书、信件以及数据电文(包括电报、电传、传真、电子数据交换和电子邮件)等可以有形地表现所载内容的形式。也就是说,不管合同采用什么载体,只要可以有形地表现所载内容,即视为符合法律对“书面”的要求。
希望我的回答您能满意,您的采纳也是对我的一种鼓励!
(一)要约和要约邀请
要约是指缔约一方以缔结合同为目的而向对方当事人作出的意思表示。关于要约的形式,联合国的《电子商务示范法》第11条规定:除非当事人另有协议,合同要约及承诺均可以通过电子意思表示的手段来表示,并不得仅仅以使用电子意思表示为理由否认该合同的有效性或者是可执行性。要约的形式,即可以是明示的,也可以是默示的。
要约通常都具有特定的形式和内容,一项要约要发生法律效力,则必须具备特定的有效要件:
1、要约是由具有订约能力的特定人做出的意思表示。
2、要约必须具有订立合同的意图。
3、要约必须向要约人希望与之缔结合同的受要约人发出。
4、要约的内容必须明确具体和完整。
5、要约必须送达受要约人。
要约邀请是指希望他人向自己发出要约的意思表示。在电子商务活动中,从事电子交易的商家在互联网上发布广告的行为到底应该视为要约还是要约邀请?在该问题上学界有不同的观点,一种观点认为是要约邀请,他们认为这些广告是针对不特定的多数人发出的。另一种观点认为是要约,因为这些广告所包含的内容是具体确定的,其包括了价格、规格、数量等完整的交易信息。
要约一旦做出就不能随意撤销或者是撤回,否则要约人必须承担违约责任。我国《合同法》第18条规定:“要约到达受要约人时生效”。
由于电子交易均采取电子方式进行,要约的内容均表现为数字信息在网络上传播,往往要约在自己的计算机上按下确认键的同时对方计算机几乎同步收到要约的内容,这种技术改变了传统交易中的时间和地点观念,为了明确电子交易中何谓要约的到达标准,《合同法》第16条第2款规定:“采用数据电文形式订立合同,收件人指定特定系统接收数据电文的,该数据电文进入该特定系统的时间,视为到达时间,未指定特定系统的,该数据电文进入收件人的任何系统的首次时间,视为到达时间。”
(二)承诺
承诺,又称之为接盘或接受,是指受要约人做出的,对要约的内容表示同意并愿意与要约人缔结合同的意思表示。我国的《合同法》第21条规定:“承诺是受要约人同意要约的意思表示”。意思表示是否构成承诺需具备以下几个要件:
1、承诺必须由受要约人向要约人做出。
2、承诺必须是对要约明确表示同意的意思表示。
3、承诺的内容不能对要约的内容做出实质性的变更。
4、承诺应在要约有效期间内做出。要约没有规定承诺期限的,若要约以对话方式做出的,承诺应当即时做出,要约以非对话方式做出的,
『肆』 电子商务的主要安全协议有哪些
电子商务的主要安全协议主要就是包括平台跟商家,还有买家的交易安全。还有关于交易平台对商家还有买家的规定。
『伍』 什么是ssl
ssl加密的方法
关键词: ssl加密的方法
随着计算机网络技术的发展,方便快捷的互连网使人们渐渐习惯了从Web页上收发E-mail、购物和
交易,这时Web页面上需要传输重要或敏感的数据,例如用户的银行帐户、密码等,所以网络安全
就成为现代计算机网络应用急需解决的问题。
现行网上银行和电子商务等大型的网上交易系统普遍采用HTTP和SSL相结合的方式。服务器端采用
支持SSL的Web服务器,用户端采用支持SSL的浏览器实现安全通信。
SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。
Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准,目前已有3.0版本。SSL采用公
开密钥技术。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支
持。目前,利用公开密钥技术的SSL协议,已成为Internet上保密通讯的工业标准。本文着重在
SSL协议和SSL程序设计两方面谈谈作者对SSL的理解。
SSL协议初步介绍
安全套接层协议能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,
还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于
它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于
SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证
工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
通过以上叙述,SSL协议提供的安全信道有以下三个特性:
1.数据的保密性
信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要
用到密匙来加密数据然后再解密。没有了密钥,就无法解开加密的数据。数据加密之后,只有密匙
要用一个安全的方法传送。加密过的数据可以公开地传送。
2.数据的一致性
加密也能保证数据的一致性。例如:消息验证码(MAC),能够校验用户提供的加密信息,接收者可
以用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。
3.安全验证
加密的另外一个用途是用来作为个人的标识,用户的密匙可以作为他的安全验证的标识。
SSL是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密资料时的加密通讯协定。
目前,大部分的Web 服务器及浏览器都广泛支持SSL 技术。当浏览器试图连接一个具有SSL认证加
密的服务器时,就会唤醒一个SSL会话,浏览器检查认证,必须具备下面三个条件:
1)有一个权威机构发放证书,当然可以创建自我签订的证书(x509 结构)。
2)证书不能过期。
3)证书是属于它所连接的服务器的。
只有全部具备了这三个条件,浏览器才能成功完成认证。通过这三个条件,用户能确认其浏览器连接
到正确的服务器,而不是连接到一些想盗取用户密码等重要信息的虚假的服务器上。
在当今的电子商务中还有一项被广泛使用的安全协议是SET协议。SET(Secure Electronic Transaction,
安全电子交易)协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET能在电
子交易环节上提供更大的信任度、更完整的交易信息、更高的安全性和更少受欺诈的可能性。SET交
易分三个阶段进行:用户向商家购物并确定支付;商家与银行核实;银行向商家支付货款。每个阶段都
涉及到RSA对数据加密,以及RSA数字签名。使用SET协议,在一次交易中,要完成多次加密与解密操作,
故有很高的安全性,但SET协议比SSL协议复杂,商家和银行都需要改造系统以实现互操作。
在Linux 下,比较流行支持SSL认证的是OpenSSL服务器。OpenSSL项目是一个合作的项目,开发一个
健壮的、商业等级的、完整的开放源代码的工具包,用强大的加密算法来实现安全的Socket层
(Secure Sockets Layer,SSL v2/v3)和传输层的安全性(Transport Layer Security,TLS v1)。
这个项目是由全世界的志愿者管理和开发OpenSSL工具包和相关文档。
如何在Linux下配置OpenSSL服务器,首先从OpenSSL的主页(http://www.openssl.org/)上下载
openssl-version.tar.gz软件包来编译安装,与Apache服务器配合可以建立支持SSL的Web服务器,
并可以使用自我签订的证书做认证,关于如何编译、安装OpenSSL服务器,可以参考一下OpenSSL HOWTO
文档。
SSL 程序设计初步介绍
SSL 通讯模型为标准的C/S 结构,除了在 TCP 层之上进行传输之外,与一般的通讯没有什么明显的区
别。在这里,我们主要介绍如何使用OpenSSL进行安全通讯的程序设计。关于OpenSSL 的一些详细的信
息请参考OpenSSL的官方主页 http://www.openssl.org。
在使用OpenSSL前,必须先对OpenSSL 进行初始化,以下的三个函数任选其一:
SSL_library_init(void);
OpenSSL_add_ssl_algorithms();
SSLeay_add_ssl_algorithms();
事实上 后面的两个函数只是第一个函数的宏。
如果要使用OpenSSL的出错信息,使用SSL_load_error_strings (void)进行错误信息的初始化。以后
可以使用void ERR_print_errors_fp(FILE *fp) 打印SSL的错误信息。
一次SSL连接会话一般要先申请一个SSL 环境,基本的过程是:
1. SSL_METHOD* meth = TLSv1_client_method(); 创建本次会话连接所使用的协议,如果是客户端可
以使用
SSL_METHOD* TLSv1_client_method(void); TLSv1.0 协议
SSL_METHOD* SSLv2_client_method(void); SSLv2 协议
SSL_METHOD* SSLv3_client_method(void); SSLv3 协议
SSL_METHOD* SSLv23_client_method(void); SSLv2/v3 协议
服务器同样需要创建本次会话所使用的协议:
SSL_METHOD *TLSv1_server_method(void);
SSL_METHOD *SSLv2_server_method(void);
SSL_METHOD *SSLv3_server_method(void);
SSL_METHOD *SSLv23_server_method(void);
需要注意的是客户端和服务器需要使用相同的协议。
2.申请SSL会话的环境 CTX,使用不同的协议进行会话,其环境也是不同的。申请SSL会话环
境的OpenSSL函数是
SSLK_CTX* SSL_CTX_new (SSL_METHOD*); 参数就是前面我们申请的 SSL通讯方式。返回当前
的SSL 连接环境的指针。
然后根据自己的需要设置CTX的属性,典型的是设置SSL 握手阶段证书的验证方式和加载自己
的证书。
void SSL_CTX_set_verify (SSL_CTX* , int , int* (int, X509_STORE_CTX*) )
设置证书验证的方式。
第一个参数是当前的CTX 指针,第二个是验证方式,如果是要验证对方的话,就使用
SSL_VERIFY_PEER。不需要的话,使用SSL_VERIFY_NONE.一般情况下,客户端需要验证对方,而
服务器不需要。第三个参数是处理验证的回调函数,如果没有特殊的需要,使用空指针就可以了。
void SSL_CTX_load_verify_locations(SSL_CTX*, const char* , const char*);
加载证书;
第一个参数同上,参数二是证书文件的名称,参数三是证书文件的路径;
int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);
加载本地的证书;type 指明证书文件的结构类型;失败返回-1
int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);
加载自己的私钥;type 参数指明私钥文件的结构类型;失败返回-1
加载了证书和文件之后,就可以验证私钥和证书是否相符:
BOOl SSL_CTX_check_private_key (SSL_CTX*);
3.既然SSL 使用TCP 协议,当然需要把SSL attach 到已经连接的套接字上了:
SSL* SSL_new (SSL_CTX*); 申请一个SSL 套节字;
int SSL_set_rfd (SSL*); 绑定只读套接字
int SSL_set_wfd (SSL*); 绑定只写套接字
int SSL_set_fd ( SSL*); 绑定读写套接字
绑定成功返回 1, 失败返回0;
4. 接下来就是SSL 握手的动作了
int SSL_connect (SSL*); 失败返回 -1
5. 握手成功之后,就可以进行通讯了,使用SSL_read 和SS_write 读写SSL 套接字代替传统的
read 、write
int SSL_read (SSL *ssl, char *buf, int num );
int SSL_write (SSL *ssl, char *buf, int num);
如果是服务器,则使用 SSL_accept 代替传统的 accept 调用
int SSL_accept(SSL *ssl);
6. 通讯结束,需要释放前面申请的 SSL资源
int SSL_shutdown(SSL *ssl); 关闭SSL套接字;
void SSL_free (ssl); 释放SSL套接字;
void SSL_CTX_free (ctx); 释放SSL环境;
OpenSSL 虽然已经发展到了0.9.96版本,但是它的文档还很少,甚至连最基本的man 函数手
册都没有完成。所以,本文紧紧是讲述了使用OpenSSL 进行程序设计的框架。更加详细的资
料可以参考OpenSSL 的文档或者 Apache mod_ssl 的文档。
通过以上的介绍,我想读者对SSL协议已经有了一定的了解,作者有机会将会继续给大家介绍
SSL协议的其他方面的内容。
SSL原理解密
本文出自:
http://noc.cstnet.net.cn/
范晓明
RSA公钥加密在计算机产业中被广泛使用在认证和加密。可以从RSA Data Security Inc.获得的RSA公钥加密许可证。公钥加密是使用一对非对称的密码加密或解密的方法。每一对密码由公钥和私钥组成。公钥被广泛发布。私钥是隐密的,不公开。用公钥加密的数据只能够被私钥解密。反过来,使用私钥加密的数据只能用公钥解密。这个非对称的特性使得公钥加密很有用。
使用公钥加密法认证
认证是一个身份认证的过程。在下列例子中包括甲和乙,公钥加密会非常轻松地校验身份。符号{数据} key意味着"数据"已经使用密码加密或解密。假如甲想校验乙的身份。乙有一对密码,一个是公开的,另一个是私有的。乙透露给甲他的公钥。甲产生一个随机信息发送给乙。甲——〉乙:random-message
乙使用他的私钥加密消息,返回甲加密后的消息。 乙——〉甲:{random-message}乙的私钥
甲收到这个消息然后使用乙的以前公开过的公钥解密。他比较解密后的消息与他原先发给乙的消息。如果它们完全一致,就会知道在与乙说话。任意一个中间人不会知道乙的私钥,也不能正确加密甲检查的随机消息。
除非你清楚知道你加密的消息。用私钥加密消息,然后发送给其他人不是一个好主意。因为加密值可能被用来对付你,需要注意的是:因为只有你才有私钥,所以只有你才能加密消息。所以,代替加密甲发来的原始消息,乙创建了一个信息段并且加密。信息段取自随机消息(random-message)并具有以下有用的特性:
1. 这个信息段难以还原。任何人即使伪装成乙,也不能从信息段中得到原始消息;
2. 假冒者将发现不同的消息计算出相同的信息段值;
3. 使用信息段,乙能够保护自己。他计算甲发出的随机信息段,并且加密结果,并发送加密信息段返回甲。甲能够计算出相同的信息段并且解密乙的消息认证乙。
这个技术仅仅描绘了数字签名。通过加密甲产生的随机消息,乙已经在甲产生的消息签名。因此我们的认证协议还需要一次加密。一些消息由乙产生:
甲——〉乙:你好,你是乙么?
乙——〉甲:甲,我是乙
{信息段[甲,我是乙] } 乙的私钥
当你使用这个协议,乙知道他发送给乙的消息,他不介意在上面签名。他先发送不加密的信息,"甲,我是乙。",然后发送信息段加密的消息版本。甲可以非常方便地校验乙就是乙,同时,乙还没有在他不想要的信息上签名。
提交公钥
那么,乙怎样以可信的方式提交他的公钥呢?看看认证协议如下所示:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的公钥
甲——〉乙:prove it
乙——〉甲:甲,我是乙 {信息段[甲,我是乙] } 乙的私钥
在这个协议下,任何人都能够成为"乙"。所有你所要的只是公钥和私钥。你发送给甲说你就是乙,这样你的公钥就代替了乙的密码。然后,你发送用你的私钥加密的消息,证明你的身份。甲却不能发觉你并不是乙。为了解决这个问题,标准组织已经发明了证书。一个证书有以下的内容:
* 证书的发行者姓名
* 发行证书的组织
* 标题的公钥
* 邮戳
证书使用发行者的私钥加密。每一个人都知道证书发行者的公钥(这样,每个证书的发行者拥有一个证书)。证书是一个把公钥与姓名绑定的协议。通过使用证书技术,每一个人都可以检查乙的证书,判断是否被假冒。假设乙控制好他的私钥,并且他确实是得到证书的乙,就万事大吉了。
这些是修订后的协议:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的校验
甲——〉乙:prove it
乙——〉甲:甲,我是乙 {信息段[甲, 我是乙] } 乙的私钥
现在当甲收到乙的第一个消息,他能检查证书,签名(如上所述,使用信息段和公钥解密),然后检查标题(乙的姓名),确定是乙。他就能相信公钥就是乙的公钥和要求乙证明自己的身份。乙通过上面的过程,制作一个信息段,用一个签名版本答复甲。甲可以校验乙的信息段通过使用从证书上得到的公钥并检查结果。
如果一个黑客,叫H
甲——〉H:你好
H——〉不能建立一个令甲相信的从乙的消息。
交换密码(secret)
一旦甲已经验证乙后,他可以发送给乙一个只有乙可以解密、阅读的消息:
甲——〉乙:{secret}乙的公钥
唯一找到密码的方法只有使用乙的私钥解码上述的信息。交换密码是另一个有效使用密码加密的方法。即使在甲和乙之间的通讯被侦听,只有乙才能得到密码。
使用密码作为另一个secret-key增强了网络的安全性,但是这次这是一个对称的加密算法(例如DES、RC4、IDE甲)。因为甲在发送给乙之前产生了密码,所以甲知道密码。乙知道密码因为乙有私钥,能够解密甲的信息。但他们都知道密码,他们都能够初始化一个对称密码算法,而且开始发送加密后的信息。这儿是修定后的协议:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的校验
甲——〉乙:prove it
乙——〉甲:甲,我是乙 {信息段[甲,我是乙] }乙的私钥
甲——〉乙:ok 乙,here is a secret {secret}乙的公钥
乙——〉甲:{some message}secret-key
黑客窃听
那么如果有一个恶意的黑客H在甲和乙中间,虽然不能发现甲和乙已经交换的密码,但能干扰他们的交谈。他可以放过大部分信息,选择破坏一定的信息(这是非常简单的,因为他知道甲和乙通话采用的协议)。
甲——〉H:你好
H——〉乙:你好
乙——〉H:嗨,我是乙,乙的校验
H——〉甲:嗨,我是乙,乙的校验
甲——〉H:prove it
H——〉乙:prove it
乙——〉H:甲,我是乙 {信息段[甲,我是乙] }乙的私钥
H——〉甲:甲,我是乙 {信息段[甲,我是乙] }乙的私钥
甲——〉H:ok 乙,here is a secret {secret} 乙的公钥
H——〉乙:ok 乙,here is a secret {secret} 乙的公钥
乙——〉H:{some message}secret-key
H——〉甲:Garble[{some message}secret-key ]
H忽略一些数据不修改,直到甲和乙交换密码。然后H干扰乙给甲的信息。在这一点上,甲相信乙,所以他可能相信已经被干扰的消息并且尽力解密。
需要注意的是,H不知道密码,他所能做的就是毁坏使用秘钥加密后的数据。基于协议,H可能不能产生一个有效的消息。但下一次呢?
为了阻止这种破坏,甲和乙在他们的协议中产生一个校验码消息(message authentication code)。一个校验码消息(MAC)是一部分由密码和一些传输消息产生的数据。信息段算法描述的上述特性正是它们抵御H的功能:
MAC= Digest[some message,secret ]
因为H不知道密码,他不能得出正确的值。即使H随机干扰消息,只要数据量大,他成功的机会微乎其微。例如,使用HD5(一个RSA发明的好的加密算法),甲和乙能够发送128位MAC值和他们的消息。H猜测正确的MAC的几率将近1/18,446,744,073,709,551,616约等于零。
这是又一次修改后的协议:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的校验
甲——〉乙:prove it
乙——〉甲:嗨,我是乙,乙的校验
甲,我是乙
{信息段[甲,我是乙] } 乙的私钥
ok 乙,here is a secret {secret} 乙的公钥
{some message,MAC}secret-key
现在H已经无技可施了。他干扰了得到的所有消息,但MAC计算机能够发现他。甲和乙能够发现伪造的MAC值并且停止交谈。H不再能与乙通讯。
OpenSSL FAQ
『陆』 电子商务简答题:简述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协议,为网上信用卡支付提供了全球性的标准。
二、与SET协议相比,SSL协议的优点
两种都是应用于电子商务用的网络安全协议。都能保证交易数据的安全性、保密性和完整性。SSL叫安全套接层协议,是国际上最早用的,已成工业标准,但它的基点是商家对客户信息保密的承诺,因此有利于商家而不利于客户。SET叫安全电子交易协议,是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范。因它的对象包括消费者、商家、发卡银行、收单银行、支付网关、认证中心,所以对消费者与商家同样有利。它越来越得到众人认同,将会成为未来电子商务的规范近年来,IT业界与金融行业一起,推出不少更有效的安全交易标准。主要有:(1) 安全超文本传输协议(S-HTTP):依靠密钥对的加密,保障Web站点间的交易信息传输的安全性。(2) 安全套接层协议(SSL协议:Secure Socket Layer)是由网景(Netscape)公司推出的一种安全通信协议,是对计算机之间整个会话进行加密的协议,提供了加密、认证服务和报文完整性。它能够对信用卡和个人信息提供较强的保护。SSL被用于Netscape Communicator和Microsoft IE浏览器,用以完成需要的安全交易操作。在SSL中,采用了公开密钥和私有密钥两种加密方法。(3) 安全交易技术协议(STT:Secure Transaction Technology):由Microsoft公司提出,STT将认证和解密在浏览器中分离开,用以提高安全控制能力。Microsoft将在Internet Explorer中采用这一技术。(4) 安全电子交易协议(SET:Secure Electronic Transaction):SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密匙加密、电子数字签名、电子信封、电子安全证书等。目前公布的SET正式文本涵盖了信用卡在电子商务交易中的交易协定、信息保密、资料完整及数字认证、数字签名等。这一标准被公认为全球网际网络的标准,其交易形态将成为未来“电子商务”的规范。支付系统是电子商务的关键,但支持支付系统的关键技术的未来走向尚未确定。安全套接层(SSL)和安全电子交易(SET)是两种重要的通信协议,每一种都提供了通过Internet进行支付的手段。但是,两者之中谁将领导未来呢?SET将立刻替换SSL吗?SET会因其复杂性而消亡吗?SSL真的能完全满足电子商务的需要吗?我们可以从以下几点对比作管中一窥:SSL提供了两台机器间的安全连接。支付系统经常通过在SSL连接上传输信用卡卡号的方式来构建,在线银行和其他金融系统也常常构建在SSL之上。虽然基于SSL的信用卡支付方式促进了电子商务的发展,但如果想要电子商务得以成功地广泛开展的话,必须采用更先进的支付系统。SSL被广泛应用的原因在于它被大部分Web浏览器和Web服务器所内置,比较容易被应用。SET和SSL除了都采用RSA公钥算法以外,二者在其他技术方面没有任何相似之处。而RSA在二者中也被用来实现不同的安全目标。SET是一种基于消息流的协议,它主要由MasterCard和Visa以及其他一些业界主流厂商设计发布,用来保证公共网络上银行卡支付交易的安全性。SET已经在国际上被大量实验性地使用并经受了考验,但大多数在Internet上购的消费者并没有真正使用SET。SET是一个非常复杂的协议,因为它非常详细而准确地反映了卡交易各方之间存在的各种关系。SET还定义了加密信息的格式和完成一笔卡支付交易过程中各方传输信息的规则。事实上,SET远远不止是一个技术方面的协议,它还说明了每一方所持有的数字证书的合法含义,希望得到数字证书以及响应信息的各方应有的动作,与一笔交易紧密相关的责任分担。.SSL安全协议SSL安全协议最初是由Netscape Communication公司设计开发的,又叫“安全套接层(Secure Sockets Layer)协议”,主要用于提高应用程序之间的数据的安全系数。SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。SSL安全协议主要提供三方面的服务:1.用户和服务器的合法性认证认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,安全套接层协议要求在握手交换数据进行数字认证,以此来确保用户的合法性。2.加密数据以隐藏被传送的数据安全套接层协议所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。3.保护数据的完整性安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。要说明的是,安全套接层协议是一个保证计算机通信安全的协议,对通信对话过程进行安全保护。例如,一台客户机与一台主机连接上了,首先是要初始化握手协议,然后就建立了一个SSL。对话进段。直到对话结束,安全套接层协议都会对整个通信过程加密,并且检查其完整性。这样一个对话时段算一次握手。而HTTP协议中的每一次连接就是一次握手,因此,与HTTP相比。安全套接层协议的通信效率会高一些。(1)接通阶段:客户通过网络向服务商打招呼,服务商回应;(2)密码交换阶段:客户与服务器之间交换双方认可的密码,一般选用RSA密码算法,也有的选用Diffie-Hellmanf和Fortezza-KEA密码算法;(3)会谈密码阶段:客户与服务商间产生彼此交谈的会谈密码;(4)检验阶段:检验服务商取得的密码;(5)客户认证阶段:验证客户的可信度;(6)结束阶段,客户与服务商之间相互交换结束的信息。当上述动作完成之后,两者间的资料传送就会加密,另外一方收到资料后,再将编码资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。发送时信息用对称密钥加密,对称密钥用非对称算法加密,再把两个包绑在一起传送过去。接收的过程与发送正好相反,先打开有对称密钥的加密包,再用对称密钥解密。在电子商务交易过程中,由于有银行参与,按照SSL协议,客户的购买信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,并将商品寄送客户。SSL安全协议是国际上最早应用于电子商务的一种网络安全协议,至今仍然有很多网上商店使用。在传统的邮购活动中,客户首先寻找商品信息,然后汇款给商家,商家将商品寄给客户。这里,商家是可以信赖的,所以客户先付款给商家。在电子商务的开始阶段,商家也是担心客户购买后不付款,或使用过期的信用卡,因而希望银行给予认证。SSL安全协议正是在这种背景下产生的。SSL协议运行的基点是商家对客户信息保密的承诺。但在上述流程中我们也可以注意到,SSL协议有利于商家而不利于客户。客户的信息首先传到商家,商家阅读后再传至(银行,这样,客户资料的安全性便受到威胁。商家认证客户是必要的,但整个过程中,缺少了客户对商家的认证。在电子商务的开始阶段,由于参与电子商务的公司大都是一些大公司,信誉较高,这个问题没有引起人们的重视。随着电子商务参与的厂商迅速增加,对厂商的认证问题越来越突出,SSL协议的缺点完全暴露出来。SSL协议将逐渐被新的电子商务协议(例如SET)所取代。11. SET安全协议在开放的因特网上处理电子商务,保证买卖双方传输数据的安全成为电子商务的重要的问题。为了克服SSL安全协议的缺点,满足电子交易持续不断地增加的安全要求,为了达到交易安全及合乎成本效益的市场要求,VISA国际组织及其它公司如Master Card、Micro Soft、IBM等共同制定了安全电子交易(SET:Secure Electronic Transactions)公告。这是一个为在线交易而设立的一个开放的、以电子货币为基础的电子付款系统规范。SET在保留对客户信用卡认证的前提下,又增加了对商家身份的认证,这对于需要支付货币的交易来讲是至关重要的。由于设计合理,SET协议得到了许多大公司和消费者的支持,己成为全球网络的工业标准,其交易形态将成为未来“电子商务”的规范。安全电子交易规范,为在因特网上进行安全的电子商务提供了一个开放的标准。SET主要使用电子认证技术,其认证过程使用RS三、请问哪位知道SSL协议和SET协议有什么区别?
摘 要:在电子商务中,SSL协议得到了广泛的协议,而SET协议则是今后的发展趋势,本文在分析这两种协议原理的基础上,对两者的特点进行了比较。关键词:电子商务;SSL协议;SET协议 1 SSL协议1.1 SSL协议概述SSL(Secure Sockets Layer)安全套接层协议是Netscape公司1995年推出的一种安全通信协议。SSL提供了两台计算机之间的安全连接,对整个会话进行了加密,从而保证了安全传输。SSL协议建立在可靠的TCP传输控制协议之上,并且与上层协议无关,各种应用层协议(如:HTTP,FTP,TELNET等)能通过SSL协议进行透明传输。SSL协议分为两层:SSL握手协议和SSL记录协议。SSL协议与TCP/IP协议间的关系如图一所示:HTTPS FTPS TELNETS IMAPS等SSL握手协议SSL记录协议TCP传输控制协议IP因特网协议
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zwjxf/archive/2010/07/30/5776171.aspx
『柒』 什么协议是用于开放网络进行信用卡电子支付的安全协议
安全电子交易协议 (Secure Electronic Transaction,简称SET协议),是基于信用卡在线支付的电于商务安全协议,它是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付命令的机密、支付过程的完整、商户及持卡人的合法身份,以及可操作性。SET通过制定标准和采用各种密码技术手段,解决了当时困扰电子商务发展的安全问题。
SET是在开放网络环境中的卡支付安全协议,它采用公钥密码体制(PKI)和X.509电子证书标准,通过相应软件、电子证书、数字签名和加密技术能在电子交易环节上提供更大的信任度、更完整的交易信息、更高的安全性和更少受欺诈的可能性。SET协议用以支持B-C这种类型的电子商务模式,即消费者持卡在网上购物与交易的模式。
SET协议的功能
SET协议是信用卡在因特网上进行支付的一种开放式安全协议和格式。解决持卡人、商家和银行之间通过信用卡来进行网上支付的交易,旨在保证支付命令的机密性、支付过程的完整性、商家以及持卡人身份的合法性以及可操作性。
SET协议采用的加密和认证技术
SET使用多种密钥技术来达到安全交易的要求,其中对称密钥技术、公钥加密技术和Hash算法是其核心。综合应用以上三种技术产生了数字签名、数字信封、数字证书等加密与认证技术。
SET标准的应用与局限性
SET 1.0版自1997年推出以来推广应用较慢,没有达到预期的效果。最大的挑战在于定期进行网上购物的消费者极少,原因主要是SET协议为了保证安全性而牺牲了简便性、操作过于复杂、成本较高、具有较大竞争力的SSL协议的广泛应用以及部分经济发达国家的法律规定了持卡人承担较低的信用卡风险等。SET协议提供了多层次安全保障,复杂程度显著增加;这些安全环节在一定程度上增加了交易的复杂性。
另外,SET协议目前只局限于银行卡的网上支付,对其他方式的支付没有给出很好的解决方案。SET协议只支持B2C模式的电子商务,而不支持目前最具有前途和影响力的B2B电子商务交易。
SET由于其高度的安全性和规范性,使其逐步发展成为目前安全电子支付的国际标准。由于SSL协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中SET协议将会逐步占据主导地位。
『捌』 电子商务中的主要安全技术有哪些
1、访问控制技术:这种技术主要采用防火墙,最初是针对Internet网络不安全因素所采取的一种保护措施。是用来阻挡外部不安全因素影响的内部网络屏障,其目的就是防止外部网络用户未经授权的访问。它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关,从而保护内部网免受非法用户的侵入,防火墙主要由服务访问政策、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。
2、加密技术:加密技术是一种主动的信息安全防范措施,其原理是利用一定的加密算法,将明文转换成为无意义的密文,阻止非法用户理解原始数据,从而确保数据的保密性。在加和解密的过程中,由加密者和解密者使用的加解密可变参数叫做密钥。目前,获得广泛应用的两种加密技术是对称密钥加密体制和非对称密钥加密体制。
3、数字签名:利用通过某种密码运算生成的一系列符号及代码组成电子密码进行“签名”,来代替书写签名或印章,这种数字化的签名在技术上还可进行算法验证,其验证的准确度是在物理世界中与手工签名和图章的验证是无法相比的。实现电子签名的技术手段目前有多种,比如基于公钥密码技术的数字签名;或用一个独一无二的以生物特征统计学为基础的识别标识。
4、安全认证协议:安全认证协议包括安全电子商务交易协议和安全套接层协议。 安全电子交易协议,是为了在互联网上进行在线交易时保证信用卡支付的安全而设立的一个开放的规范。由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。
(8)目前电子商务中广泛采用的协议有扩展阅读:
电子商务是因特网爆炸式发展的直接产物,是网络技术应用的全新发展方向。因特网本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值,它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。以互联网为依托的“电子”技术平台为传统商务活动提供了一个无比宽阔的发展空间,其突出的优越性是传统媒介手段根本无法比拟的。