SSL协议

  • 一、SSL
    • 1 为什么需要SSL?
    • 2 名词解释
    • 3 使用SSL作为Web服务的传输协议(Https)
  • 二、密匙交换过程
  • 三、SSLVPN
    • 1 为什么需要SSL
    • 2 SSLVPN、IPsecVPN

一、SSL

1 为什么需要SSL?

本文将以《喜羊羊与灰太狼》为引子贯穿全文介绍对称加密与非对称加密,本文所使用的网络拓扑如下:

早期的网络通信是明文通信,即传递的消息均未加密,又因为网络通信的本质是通过广播实现的数据包传递,因此只要能够在网络节点进行监听就很容易获取传递消息中未加密的敏感信息,比如用于身份认证的用户名密码,并且即使认证信息进行了加密,因为消息传递的整个过程没有加密处理,所以也很容易实现中间人攻击,因此明文通信的方式已经在实际环境中逐渐被淘汰,取而代之的就是秘钥加密技术,秘钥的设计和产生算法涉及深奥的密码学,使用秘钥加密的消息即使被人监听也无法获取真实信息,但即便如此秘钥本身的传递也是加密无法解决的悖论,于是证书认证机制便应运而生。

接下来带入其中:因为早期属于明文未加密传输,也就是说我们的拓扑中的灰太狼和黑大帅密谋一点坏事,我们聪明的懒羊羊如果监听ISP-A的0/0/1接口,是不是灰太狼那点小心思就全暴露了,这个中间人就是我们的懒羊羊。因此在这种情况下我们就需要做三件事:1、密文传输;2、消息加密;3、密钥交换。

2 名词解释

**对称加密:**对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。

常见的对称加密算法:DES,AES,3DES等等。

**非对称加密:**非对称加密指的是加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。私钥加密的信息,只有公钥才能解密。

常见的非对称加密算法:RSA,ECC。

**证书:**由CA机构对合法用户颁发的证书,每个证书持有者都有两个密钥,分别是公钥和私钥。证书相当于是身份证。

CA机构:证书授权中心(Certificate Authority ),或称证书授权机构,作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法,拥有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持卡人、商户发放证书,还要对获款的银行、网关发放证书。它负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节;它相当于我们的公安局。

**数字证书:**是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机构的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,任何人都可以查询和下载,因此数字证书和公钥一样是公开的。它相当于由CA机构认证后的公钥。

**密钥:**key,它分为公钥和私钥。

**公钥:**公开的密钥。

**私钥:**私钥一般情况都是由证书持有者在自己本地生成的,由证书持有者自己负责保管。

3 使用SSL作为Web服务的传输协议(Https)

Http+SSL=Https!

SSL由两个共同工作的协议组成:“SSL 记录协议”(SSL Record Protocol)和"SSL 握手协议"(SSL Handshake Protocol)。

SSL 记录协议建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持;SSL 握手协议建立在SSL记录协议之上,用于在实际的数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等。因此本文重点就是SSL握手协议中的密匙交换过程

SSL握手协议包含两个阶段,第一个阶段用于建立私密性通信信道,第二个阶段用于客户认证。

第一阶段是通信的初始化阶段,在此阶段,首先SSL要求服务器向浏览器出示证书;然后浏览器中的SSL软件发给服务器一个随机产生的传输密钥,此密钥由已验证过的公钥加密,随机产生的传输密钥是核心机密,只有客户的浏览器和此公司的Web服务器知道这个数字序列。

第二阶段的主要任务是对客户进行认证,此时服务器已经被认证了。服务器方向客户发出认证请求消息。客户收到服务器方的认证请求消息后,发出自己的证书,并且监听对方回送的认证结果。而当服务器收到客户的证书后,给客户回送认证成功消息,否则返回错误消息。到此为止,握手协议全部结束。

要使用SSL协议,服务器至少有一个私有密匙和一个用于验证身份的证书。私有密匙在密匙交换算法中用到,证书将发送到客户端,以通知服务器端的身份。如果SSL服务器要验证客户端的身份,那么客户端必须也有自己的密匙库(包含私有密匙和证书)。JSSE中引入了信任库(truststore)的概念,它是用来保存证书的数据库。客户端或者服务器通过信任库来验证对方的身份。

文中也提到了客户端浏览器,那本地浏览器是否存在证书呢?如图展示。

以Chrome为例:设置-隐私设置和安全性-管理证书;

二、密匙交换过程

还是以刚才的“青青草原”拓扑作为依据,以懒羊羊和红太狼通信为例。

以上的密钥交换过程中部分用词并不严谨,仅为了理解其中过程而已,希望看客还是以官方文档为学习依据。

在浏览网页时部分网页会弹出以下界面,即是因其无证书罢了。

三、SSLVPN

了解SSL和Https的关系之后,不妨再理解下SSLVPN来加深印象。

1 为什么需要SSL

还是以“青青草原”作为理解对象如下图。

场景一:善良的灰太狼出门去草原觅食,问题来了:那他可以访问自己的实验室资源吗?

场景二:不慎掉入古古怪界的懒羊羊经过不懈的努力,在古古怪界这一亩三分地上建立了羊村Pro,问题来了:它该怎么打通羊村和羊村Pro的网络,让它们在同一内网呢?

对,没错。就是VPN!什么是VPN?

**VPN:**在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现。

那它可以做什么呢?

场景一:灰太狼就像出差的你,可以通过接入公司VPN实现访问公司内网资源以及居家办公。

场景二:羊村Pro就像是远在异地的分公司,最好的解决办法就是拉跟网线直接怼起来吧?但是成本高、实现困难等诸多实际问题,所以VPN可以。

总结起来:我个人理解就是VPN逻辑上就像是给你和目标直接怼了一根线,物理上还是没变。

2 SSLVPN、IPsecVPN

SSLVPN、IPsecVPN都是经常可以见到的VPN实现方式。具体的这里就不多赘述,感兴趣可自行学习。

我个人的理解就是VPN它是一个隧道技术,它负责链路打通但隧道本身并不安全,而SSL、IPsec提供的是一个安全机制。因此将他们结合起来就实现了类似于专线的效果,相应低成本的解决了问题。

读者觉得有不对的地方,劳请指正。

它是一个隧道技术,它负责链路打通但隧道本身并不安全,而SSL、IPsec提供的是一个安全机制。因此将他们结合起来就实现了类似于专线的效果,相应低成本的解决了问题。

读者觉得有不对的地方,劳请指正。

SSL协议密钥交换过程理解相关推荐

  1. HTTPS(身披SSL协议的HTTP)

    参考链接: HTTP 与 HTTPS 的区别 HTTPS科普扫盲帖 HTTPS小结 HTTP 和 HTTPS 区别 HTTP是明文传输未加密,安全性差,HTTPS(HTTP + SSL)数据传输是加密 ...

  2. SSL协议(HTTPS) 握手、工作流程详解(双向HTTPS流程)

    SSL协议的工作流程: 服务器认证阶段:1)客户端向服务器发送一个开始信息"Hello"以便开始一个新的会话连接:2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器 ...

  3. 【SSL协议】SSL协议详解

    背景介绍 最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密码学的相关概念 ...

  4. 【Http协议】深入理解HTTP协议

    来源:http://www.blogjava.net/zjusuyong/articles/304788.html 深入理解HTTP协议 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text ...

  5. 【转】SSL协议、SET协议、HTTPS简介

    一.SSL协议简介 SSL是Secure Socket Layer的缩写,中文名为安全套接层协议层.使用该协议后,您提交的所有数据会首先加密后,再提交到网易邮箱,从而可以有效防止黑客盗取您的用户名.密 ...

  6. https SSL协议详解

    最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密码学的相关概念 密码学( ...

  7. SSL协议原理(Secure Socket Layer)【转载】

    摘要 伴随企业信息化程度的加深,远程安全访问.协同工作需求的日益明显,SSL VPN技术逐渐成为企业用户远程安全接入的重要方式.本文着重阐述SSL(安全套接层)协议的基本原理,比较SSL VPN与IP ...

  8. 嵌入式 ssl协议详解

    背景介绍 最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密码学的相关概念 ...

  9. TLS/SSL 协议详解 (30) SSL中的RSA、DHE、ECDHE、ECDH流程与区别

    我的TLS实现:https://github.com/mrpre/atls/ 大家可以参考,代码里面的逻辑较清晰. 我的SSL专栏见:https://blog.csdn.net/mrpre/artic ...

最新文章

  1. 皮一皮:这真是兄弟能做的事???
  2. Linux vi 双屏显示,manjaro AwesomeWM 上使用双显示器
  3. 路畅畅云固件升级教程_斐讯K2P MTK版简单几步刷入breed教程,附刷第三方固件方法...
  4. ofdma技术_SC-FDMA技术
  5. 13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复
  6. cshop是什么开发语言_C语言是用什么语言编写出来的?
  7. 使用Beautiful Soup 中遇到的小问题-----只能提取网页上第一页信息
  8. 一个基于特征向量的近似网页去重算法
  9. Java面试学习资源
  10. ASM1117-3.3V稳压芯片的典型电路图及分析
  11. windows 超级终端
  12. 20小时快速学习【系统动力学】
  13. 视频教程-EOS 入门实战-区块链
  14. matlab 拉斯,魏尔斯特拉斯函数
  15. map取固定key_Map获取key值
  16. html的nofollow标签,HTML中的A标签的nofollow属性解读
  17. HTML网页上常见的3种单位是,HTML_CSS中常用的单位,一、长度单位 长度单位 - phpStudy...
  18. 手把手教你配置哔哔点啥
  19. 交流电及整流滤波电路
  20. Maven的下载以及安装

热门文章

  1. 递归实现数组的扁平化
  2. python-matplotlib制作图表与中文正常显示
  3. 【千锋Python2205班8.29笔记-day06-冒泡排序和字符串基础】
  4. PMP 敏捷管理相关知识点
  5. word批注怎么删除计算机名字,word 2007 如何删除批注者姓名?
  6. Android studio 回退按钮显示
  7. Android NFC基础
  8. 30%自媒体从业者才知道的爆款标题的专用模板,封面图的文案同样适用。
  9. 2023年全国最新工会考试精选真题及答案37
  10. HDU1302——蜗牛爬井(注意使用float)