SSL协议及其应用

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协议具体握手过程描述如下:

  1. 客户client端发送Client Hello信息给服务器Server端,Server回答Server Hello。这个过程建立的安全参数包括协议版本,“佳话”标识,加密算法,压缩方法。另外,还交换2个随机数:Client Hello. Random和Server Hello. random.用以计算机“会话主密钥”
  2. Hello消息发送完后,Server会发送它的证书和密钥交换信息,如果Server端被认证,它就会请求Client端的证书,在验证以后,Server就发送Hello-done消息以示达成了握手协议,即双方握手接通
  3. Server请求Client证书时,Client要返回证书或返回“没有证书的指示,这种情况用于单向认证,即客户端不装有证书。然后Client发送密钥交换消息。
  4. 服务器Server此时要回答“握手完成“消息(Finished),以示完整的握手消息交换,已经全部完成。
  5. 握手协议完成后,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

 

SSL/TLS协议详解及其在安全传输中的应用 本文深入探讨了SSL/TLS协议在网络安全传输中的作用,包括其在OSI模型中的位置、握手过程、密钥交换和加密机制。同时,分析了SSL/TLS与IPSec、SSH、RADIUS和LEAP等其他安全协议的关系,以及它们在不同场景下的应用。文章还讨论了SSL/TLS的优缺点,包括其依赖的加密密钥大小、安全性以及在出口限制方面的影响。 阅读详情

相关推荐

保姆级教程:用中移ML307模组对接高德/OneOS定位服务,从配置apikey到解析+MLBSLOC状态码

本文详细介绍了如何使用中移ML307系列模组对接高德/OneOS定位服务,从配置apikey到解析+MLBSLOC状态码的全过程。涵盖高德定位服务和OneOS定位服务的配置步骤、常见错误处理及性能优化技巧,帮助开发者快速实现基站定位功能,提升物联网项目的定位精度和稳定性。

weixin_30632089的博客 508

10、SSL协议

SSL协议 SSL(Secure Sockets Layer)为“安全套接层协议 ”,它是网景(Netscape)公司提出的基于 WEB 应用的安全协议。SSL协议指定了一种在应用程序协议(如HTTP、Telnet、NNTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。SSL可以和应用层的http协议配合形成https,也可以保证邮件协议的安全。当前版本为3.0。 SSL协议主要用于提高应用程序之间数据的安全性。

安全学习笔记 3534

记录——影刀RPA高级操作题(二)——使用影刀RPA内置包和”Xpath“获取数据,获取数据写入目标MySQL

【代码】记录——影刀RPA高级操作题(二)——使用影刀RPA内置包和”Xpath“获取数据,获取数据写入目标MySQL。

m0_74824002的博客 843

商业虚拟专用网络技术九 SSL技术

SSL(Secure Sockets Layer,安全套接字协议),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。为基于TCP的应用层协议提供安全连接。SSL协议内嵌在浏览器中,因此任何拥有浏览器的终端都天然支持SSL。SSL协议广泛应用于电子商务、网上银行、个人或企业私有云等的应用场景。SSL协议常常用于Web浏览器与服务器之间的身份认证和加密数据传输。

weixin_42227328的博客 6723

程序化广告行业(23/89):深度剖析广告效果评估指标

大家好,我一直希望能和大家一起在技术领域不断探索、共同进步。在之前的文章中,我们了解了程序化广告中腾讯的业务布局和广告效果评估的基础概念,今天让我们进一步深入剖析广告效果评估的各项指标,这对理解程序化广告的运作机制至关重要

yyy173611的博客 4865

Design Compiler时序约束实战:如何用set_clock_uncertainty解决时钟抖动问题?

本文深入探讨了在Design Compiler时序约束实战中,如何精准运用set_clock_uncertainty命令解决时钟抖动等非理想性问题。文章详细解析了该命令在时钟树综合前后的不同应用策略、建立时间与保持时间的差异化设置,并对比了其与set_clock_jitter的适用场景,旨在帮助数字IC设计工程师制定稳健的时序约束,为后端物理实现预留合理的安全裕量,从而高效达成时序收敛。

weixin_29196891的博客 300

SSL通信的详细介绍:概念、原理、开发步骤、使用方法、应用场景及C语言客户端、服务端示例代码

SSL通信的详细介绍:概念、原理、开发步骤、使用方法、应用场景及C语言客户端、服务端示例代码

深耕嵌入式领用多年, 致力于分享嵌入式领域技术! 3374

1.4 《SST通用技术规范》整体框架与核心条款解读

本小节以**GB/T《电力电子变压器通用技术要求》**(固态变压器SST核心通用规范)为核心依据,结合电力电子变压器技术特性与工程应用边界,系统解析规范的整体章节框架、层级逻辑与强制性/推荐性核心条款,明确规范与传统工频变压器标准的差异,为SST拓扑设计、性能验证、出厂检验与工程落地提供标准化依据。全文以标准原文、期刊文献数据与试验规范为支撑,无主观推演与感性表述。

技术工作者 1695

保护网络安全的利器:SSL(Secure Socket Layer)全面解析

Secure Socket Layer(安全套接字层),即SSL,是一种用于在两个网络应用程序之间提供安全性的协议。它使用了加密算法来保护数据的完整性、机密性和认证性,使得数据传输变得更加安全可靠。SSL最初由网景公司开发,后被国际标准化组织(ISO)发展成为传输层安全性协议(TLS)。

m0_72410588的博客 825

《Python等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级谁》Python编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,限时9.9元,欢迎订阅!

人生就是一个不断学习的过程 1880

中国工商银行企业架构建设实践最全总结

中国工商银行参考IBM持续价值创新方法并吸收TOGAF等主流企业架构的框架理念,结合业务实际情况形成工行自己的企业架构方法论并实践,为数字化转型提供支撑。本案例通过介绍中国工商银行企业架构之业务架构设计方法,为其他银行企业架构建设提供参考。 企业架构是数字化转型的抓手,可以帮助企业规划、管理和实施数字化解决方案,以实现业务目标并适应不断变化的市场条件。中国工商银行通过战略目标指导业务架构的规划和设计,业务架构建模后指导IT架构建模。

银行信息系统应用架构详解 2733

SSL/TLS协议

SSL协议

zzw3354353337的博客 1897

① Django手把手从零开发个人博客-前言

手把手教你从零开始玩转手把手教你从零开始玩转Django,全面学习并了解django的运行机制、开发全流程及线上部署。Django,全面学习并了解django的运行机制、开发全流程及线上部署。 专栏介绍 本套教程遵循Django的设计思想,开门见山,快速切入主题,拒绝拖沓,在实战中学习每一个知识点,提高学习的趣味性以及个人成就感,并且能快速将所学运用到实际项目中。 将从零手把手带着你一步步完成博客的每一个功能,通过实现博客文章列表页、文章详情页、作者页面等功能来学习和了解django的视图查询模块相关知.

轻编程的博客 515

SSL是什么?SSL怎么用?

目录SSL是什么SSL协议的三个特性SSL 的工作原理1.握手协议2.记录协议3.警报协议SSL协议的应用---SSL VPN1.SSL VPN的优势2.SSL VPN的实现 (★★★★★)3.SSL VPN要求的终端安全 SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。如今被广泛使用,如网页,电子邮件,互联网传真,即时消息和语音在IP电话(VoIP)

weixin_62107875的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SSL协议与Nginx安装SSL模块和ssl证书

一、SSL概述 SSL(Security Socket Layer)是一个安全协议,为基于TCP(Transmission Control Protocol)的应用层协议提供安全连接,SSL介于TCP/IP协议栈第四层和第七层之间。主要提供私密性、完整性和身份验证;我们常见的就是 SSL为HTTP(Hypertext Transfer Protocol)协议提供安全连接。SSL协议是一种在两个机器之间提供安全通道的协议,它具有保护数据传输以及识别通信机器的功能。 1、 ......

weixin_56270746的博客 2227

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

SSL,TLS协议在OSI模型中的哪一层

一、SSL是啥? SSL(Secure Socket Layer安全套接层)以及其继承者TSL(Transport Layer Security 传输层安全)是为了网络通信安全 提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 二、SSL具体有啥内容? SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、

weixin_38858749的博客 1万+

SSL协议的分析及实现

SSL协议的分析及实现 1.引言          SSL是一种在客户端和服务器端之间建立安全通道的协议。SSL一经提出,就在Internet上得到广泛的应用。SSL最常用来保护Web的安全。为了保护存有敏感信息Web的服务器的安全,消除用户在Internet上数据传输的安

jiangxinyu的专栏 3115

https(ssl)协议以及wireshark抓包分析与解密

根据之前一篇安全协议的分析中分析了ssl协议,先回顾下ssl协议的内容然后用wireshark来抓包看具体流量包内容。          SSL协议栈位置介于TCP和应用层之间,分为SSL记录协议层和SSL握手协议层。其中SSL握手协议层又分为SSL握手协议、SSL密钥更改协议和SSL警告协议。SSL握手协议作用是在通信双方之间协商出密钥,SSL记录层的作用是定义如何对上层的协议进行封装。S

Q1n6 11万+

HTTPS协议与SSL协议的完整交互过程

http,ssl,https

hjyzjustudy的专栏 7416

SSL协议到底工作在OSI模型中的哪一层

一、SSL是啥? SSL(Secure Socket Layer安全套接层)以及其继承者TSL(Transport Layer Security 传输层安全)是为了网络通信安全 提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 二、SSL具体有啥内容? SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(...

yrx420909的博客 2万+

SSL网络协议安全性分析

  SSL网络协议安全性分析2006-10-10 作者:joeytang 语言:中文   <!--google_ad_

jiangxinyu的专栏 6055

Java SSL/TLS 安全通讯协议介绍

Java 的安全通讯 本文主要介绍了网络安全通讯协议 SSL/TLS 和 Java 中关于安全通讯的实现部分。并通过一个简单的样例程序实现,来展示如何在 Java 平台上正确建立安全通讯。 0 评论: 刘 进, 高级软件工程师 , IBM 关闭 [x] 刘进目前在 IBM STG 云计算团队从事云管理平台产品开发,拥有十年的 Java

yumeng8525的专栏 1423
上一篇: JavaScript 随笔汇集[转]
下一篇: XmlHttp中文参考
csbison
博客等级 码龄23年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值