- 浏览: 156056 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
驭乐MJ:
好!谢谢啦!正在学习使用sean中。。
Seam学习笔记 -
laorer:
00 -现在,互联网造就了一批富翁,但那时,似乎什么都不会去想 ...
如果时光能够回流到八年前 -
liuqizhi0925:
八年前,OMG ,能改变的事情真的很多...
如果时光能够回流到八年前
SSL协议及其应用
目前,随着Internet的快速发展,互联网上的信息安全越来越引起人们的关注。特别是近年来网上银行、电子商务和电子政务的发展,如何保证传输信息,特别是交易信息的保密性、完整性已成为继续解决的问题。安全套接层协议(Security Socket Layer Protocol , 简称SSL)是Internet上进行保密通信的一个安全协议。
一、 SSL协议概述
安全套接层协议SSL是网景公司(Netscape)提出的基于公钥密码机制的网络安全协议,用于在客户端浏览器软件与Web服务器之间建立一条安全通道,实现Internet上信息传送的保密性。它包括服务器认证、客户认证(可选)、SSL链路上的数据完整性和SSL链路上数据保密性。现在国内外一些对保密性要求较高的网上银行、电子商务和电子政务等系统大多数是以SSL协议为基础建立的,SSL协议已成为Web安全方面的工业标准。目前广泛采用的是SSL v3版。SSL提供的面向连接的安全性作用,具有以下三个基本功能:(1)连接是秘密的,在初始握手定义会话密钥后,用对称密码(例如用DES)加密数据。(2)连接是可认证的,实体的身份能够用公钥密码(例如RSA、DSS等)进行认证。(3)连接是可靠的,消息传输包括利用安全Hash函数产生的带密钥MAC(Message Authentication Code :报文鉴别码)
二、SSL的组成
SSL协议由两层组成,分别是握手协议层和记录协议层,握手协议建立在记录协议之上,此外还有警告协议,更改密码说明协议和应用数据协议等对话协议和管理提供支持的子协议。其组成如图一所示:
图一:SSL协议的组成及其在TCP/IP中的位置
在上图中的每一层,三者可以包括长度、描述和内容字段。SSL发出消息是将数据分为可管理的块、压缩、使用MAC和加密并发出加密的结果。接受消息需要解密、验证、解压和重组,再把结果发往更高一层的客户。
1、记录协议:
具体实现压缩/解压缩、加密/解密,计算机MAC等与安全有关的操作。建立之上的还有:
――更改密码说明协议:此协议由一条消息组成,可由客户端或服务器发送,通知接收方后面的记录将被新协商的密码说明和密钥保护,接收方得此消息后,立即指示记录层把即将读状态变成当前读状态,发送方发送此消息后,应立即指示记录层把即将写状态变成当前写状态。
――警告协议:警告消息传达消息的严重性并描述警告。一个致命的警告将立即终止连接。与其他消息一样。警告消息在当前状态下被加密和压缩。警告消息有以下几种:
关闭通知消息,意外消息,错误记录MAC消息,解压失败消息,握手失败消息,无证书消息,错误证书消息,不支持的证书消息,证书撤回消息,证收过期消息,证书未知和参数非法消息等等。
――应用数据协议:将应用数据直接传递给记录协议。
2、握手协议
SSL握手协议是用来在客户端和服务和服务器端传输应用数据而建立的 安全通信机制
――算法协商:首次通信时,双方通过握手协议协商密钥加密算法。数据加密算法和文摘算法。
――身份验证:在密钥协商完成后,客户端与服务器端通过证书互相验证对方的身份。
――确定密钥:最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器各自根据这个秘密信息确定数据加密算法的参数(一般是密钥)
由此可见,SSL协议是端对端的通信安全协议。
三.SSL协议工作过程
1.握手协议工作过程
SSL协议具体握手过程描述如下:
- 客户client端发送Client Hello信息给服务器Server端,Server回答Server Hello。这个过程建立的安全参数包括协议版本,“佳话”标识,加密算法,压缩方法。另外,还交换2个随机数:Client Hello. Random和Server Hello. random.用以计算机“会话主密钥”
- Hello消息发送完后,Server会发送它的证书和密钥交换信息,如果Server端被认证,它就会请求Client端的证书,在验证以后,Server就发送Hello-done消息以示达成了握手协议,即双方握手接通
- Server请求Client证书时,Client要返回证书或返回“没有证书的指示,这种情况用于单向认证,即客户端不装有证书。然后Client发送密钥交换消息。
- 服务器Server此时要回答“握手完成“消息(Finished),以示完整的握手消息交换,已经全部完成。
- 握手协议完成后,Client端即可与Server端传输应用加密数据,应用数据加密一般是用第(2)步密钥协商时确定的对称加/解密密钥。如DES、3DE等等,目前商用加密强度为128位。非对称密钥一般为RAS,商用强度1024位,用于证书的验证。
其完整的握手协议消息交换过程如图所示
其中要说明的时带*号的命令是可选的,或依据状态而发的消息,而改换加密算法协议(Change Cipher Spec)并不在实际的握手协议之中,它在第(3)步与第(4)步之间,用于Client与Server协商新的加密数据包时而改变原先的加密算法。
3、记录层协议组成
记录层协议规定了即有发送和接收数据的打包形式,该协议提供了通信,身份认证等功能,它是一个面向连接的可靠传输协议。
在SSL中,即有数据被打装在记录中,一个记录由两部份组成,记录和非零长度的数据。SSL的握手协议和报文要求必须放在一个SSL记录层协议的记录中,而应用层报文允许占用多个SSL记录来传递。
(1)SSL记录头格式
SSL的记录头可以是两个或三个字节长的编码。SSL记录头包含的信息有记录头的长度、记录数据的长度、记录数据中是否有填充数据。其中填充数据是在使用块加密算法时,填充实际数据,使其长度恰好是块的整数倍,以便利传输和加/解密。
(2)SSL记录数据格式
SSL记录数据部份含有三个分量
――MAC数据:用于数据完整性检查
――ACTUAL数据:是被传送的应用数据
――PADDING数据:是当采用分组码时即需要的填充数据
四.SSL的应用
1.单向认证:又称匿名SSL连接,这是SSL安全连接的最基本模式,它便于使用,主要的浏览器都支持这种方式,适合单向数据安全传输应用。在这种模式下客户端没有数字证书,只是服务器端具有证书,以不在认用户访问的是自己要访问的站点。典型的应用就是用户进行网站注册时彩ID+口令的匿名认证,过去网上银行的所谓“大众版”就是这种?? 因子认证。
2.双方认证:是对等的安全认证,这种模式通信双方都可以发起和接收SSL连接请求。通信双方可以利用安全应用程序(控键)或安全代理软件,前者一般适合于B/S结构,而后者适用于C/S结构,安全代理相当于一个加密/解密的网关,这种模式双方皆需安装证书,进行双向认证。这就是网上银行的B2B的专业版等应用。
3.电子商务中的应用。电子商务与网上银行交易不同,因为有商户参加,形成客户――商家――银行,两次点对点的SSL连接。客户,商家,银行,都必须具证书,两次点对点的双向认证。
如图三所示
五.SSL协议在实际应用中的几个问题
1.不能提供交易的不可否认性,SSL协议是基于Web应用的安全协议,它只能提供安全认证,SSL链路上的数据完整性和保密性。对于电子商务的交易应用层的信息不进行数据签名,因此,不能提供交易的不可否认性,这是SSL在电子商务中使用的最大缺欠。为此,各公司纷纷推出“安全代理软件”,“安全应用控制”或“表单签名软件”等等,以弥补SSL不足。
2服务器的处理速度问题,由于在网上交易时,一定要使用SSL加/解密用户数据,这样服务器就占用了大量CPU的处理时间,增大了系统的开销,使SSL登陆和传输数据的速度变慢。为此,有的公司研发出硬件SSL加/解密方案,即通称的SSL加速器,它可以转移大量占用CPU的SSL协商处理,提高SSL流量和改善Web服务器处理性能。
原文地址:http://www.cfca.com.cn/zhishi/wz-001.htm
发表评论
-
Weblogic的update和stop/start的区别
2009-10-28 19:50 2177Weblogic的update和stop/s ... -
Web Service HTTP1.0 and HTTP1.1性能测试报告
2009-10-21 17:55 3107第1章 测试需求分析 1.1 测试目的 w ... -
SOA与业务敏捷
2006-08-30 00:00 826作者:TIBCO中国研发中心 胡长城(银狐999) ... -
RESTful Web Services
2006-08-23 00:00 9711. The Fundamental 1.1 What ... -
CAS学习笔记
2006-08-02 00:00 1255•相关文档 官方文档: http://www.ja- ... -
SOA学习笔记
2006-07-26 00:00 933SOA是为了解决在Internet ... -
Lucene 基础指南[转]
2006-07-12 00:00 1282Lucene 基础指南 作者:lighter, 江南白衣 ... -
OSGi入门笔记
2006-07-05 00:00 979借助网上的一些资料,对OSGi有了一些了解,将到目前的一些粗浅 ... -
x509数字证书介绍
2006-06-28 00:00 1304一、什么是数字证书 数字证书就是互联网通讯中标志通讯各方身 ... -
JSR 168与WSRP
2006-06-07 00:00 1603作者:Rachel Greenblatt ... -
JBoss学习笔记
2006-05-31 00:00 1366JBoss架构是由JMX MBean服务器、微内核组成的。 ... -
UDDI笔记
2006-05-24 00:00 1092◆UDDI的目的实际上是想提供一个针对公众网商业用户的在全 ... -
选择Seam的十大理由
2006-05-17 00:00 951一、增加AJAX特征的最快捷方式 在功能上,Ajax改变了W ... -
Seam学习笔记
2006-05-10 00:00 1362FAQ: seam的英文意思是:缝、接合处。seamless ... -
JSF学习笔记
2006-05-03 00:00 2846FAQ: 1. JSF跟Spring如何结合? A ... -
Spring学习笔记
2006-04-26 00:00 1081Spring笔记 0. 背景 Spring F ... -
iBATIS学习笔记
2006-04-19 00:00 13971. iBATIS 关于iBATIS,iBATIS是一个Da ... -
Hibernate's FAQ
2006-04-05 00:00 7881. 关于session 1) 什么时机对session ... -
Hibernate学习笔记
2006-03-29 00:00 967● 相关文档: Hibernate参考文档 v3.0.2 ... -
JMX学习笔记
2006-03-22 00:00 1005JMX 笔记 一些JMX的简单入门资料如下: ...
相关推荐
ssl协议,包括ssl协议作用的位置,传输时的格式,过程详解,还有安全性分析等
在Java中,SSL协议的实现主要依赖于`java.security`和`javax.net.ssl`这两个包中的类和接口。 **一、SSL协议简介** SSL协议是一种网络安全协议,它为网络通信提供了加密处理、服务器认证以及可选的客户端认证功能。...
6.1 SSL协议及其应用 SSL协议的目标是加密通信内容,确保双方身份验证,以及提供可靠的连接。SSL握手协议包括客户端和服务器的身份验证以及安全参数的协商。在SSL会话中,存在待定状态和当前状态,它们分别处理不同...
SSL协议位于应用层和传输层之间,它能够应用于多种上层协议,如HTTP(HTTPS)、FTP等,为这些协议的数据交换提供安全保障。SSL协议主要包括三个子协议:握手协议、记录协议和警告协议。 1. **握手协议**:握手协议...
总的来说,SSL协议及其相关的OpenSSL库为互联网通信提供了一套全面的安全解决方案,保护了用户信息的隐私和完整性,确保了网络交易和其他敏感信息交换的安全性。随着网络安全威胁的不断演变,SSL协议也在不断演进,...
SSL(Secure Socket Layer)协议是一种在客户端和服务器之间建立安全通信通道的协议,它最初由网景公司...在当前的互联网环境中,SSL协议及其变体TLS(Transport Layer Security)仍然是保障网络安全传输的基础性技术。
SSL协议是由网景公司(Netscape)开发的一种基于WEB应用的安全协议。它位于应用程序协议(如HTTP、Telnet、NMTF和FTP等)与TCP/IP协议之间,为TCP/IP连接提供了数据加密、服务器认证、消息完整性以及可选的客户端...
SSL协议(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。
流谱理论及其应用 为了克服传统基于机器学习和深度学习方法存在的黑盒模型问题以及原始时空域空间网络流有限的分离性问题,本文提出流谱理论。该理论通过将复杂的网络流转换到新的空间中,使得原本难以区分的网络...
本资源“应用层协议与应用.rar”显然聚焦于这个主题,旨在深入解析应用层的各种协议及其在网络中的作用。这里我们将探讨一些关键的应用层协议,以及它们如何与传输层及更低层次的协议协同工作,特别是在访问Web页面...
SSL协议的核心组成部分包括记录协议、握手协议、改变密码规格协议、警报协议和应用数据协议。 - **SSL记录协议**:负责封装高层协议的数据,并为这些数据提供端到端的保密性和消息完整性保护。 - **SSL握手协议**:...
8. **安全协议**:如IPSec用于保护网络层通信,TLS/SSL用于应用层,IKE用于密钥协商,这些协议确保了不同层次的安全。 9. **密码分析与安全性**:分析加密系统的弱点,包括穷举攻击、差分攻击、线性攻击等。设计...
在本课程设计报告中,我们将...完成这个课程设计,学生不仅可以掌握IIS的配置和管理,还能深入了解SSL协议的工作原理及其在网络安全中的作用。这对于将来从事网络管理和系统安全工作的专业人士来说,是非常宝贵的经验。
OpenSSL是一个强大的安全套接字层密码库,不仅包含各种主要的密码算法、常用的密钥和证书封装管理功能,还提供了SSL协议及其上层协议的支持。其中: - libeay32.dll:这是OpenSSL的加密库,提供了加密算法的实现,如...
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
2. **SSL/TLS**:SSL(Secure Sockets Layer)与TLS(Transport Layer Security)都是用于在Internet上进行安全数据传输的协议。它们通过建立加密通道来保护数据免受窃听、篡改和伪造。 3. **数字证书**:一种用于...