>>与软件开发有关的知识:操作系统,数据库,网络通信等 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 16067 个阅读者 刷新本主题
 * 贴子主题:  SSL知识简介 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2020-12-27 10:55:54     消息  查看  搜索  好友  邮件  复制  引用

     1 、什么是 SSL

   SSL(或安全套接字层)是基于加密的 Internet安全协议。  它最初由 Netscape于 1995年开发,旨在确保 Internet通信中的隐私,身份验证和数据完整性。 SSL是当今使用的现代 TLS加密的前身。使用 SSL/TLS的网站的 URL中带有 “ HTTPS”,而不是 “ HTTP”。

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

2 SSL/TLS 如何工作?

   1)为了提供高度的隐私, SSL会对通过网络传输的数据进行加密。这意味着任何试图拦截此数据的人都只会看到乱码,而且几乎无法解密。

   2) SSL在两个通信设备之间启动称为握手的身份验证过程,以确保两个设备确实是它们声称的真实身份。

   3) SSL还对数据进行数字签名,以提供数据完整性,并在到达目标收件人之前验证数据是否被篡改。

   SSL已经进行了多次迭代,每次迭代都比上一次更安全。  SSL于 1999年更新为 TLS。

   3 、为什么 SSL/TLS 如此重要?

   最初, Web上的数据是以明文形式传输的,任何人只要截获该消息都可以阅读。  例如,如果消费者访问了购物网站,下了订单并在网站上输入了他们的信用卡号,那么该信用卡号将在互联网上明文传播。

   创建 SSL是为了纠正此问题并保护用户隐私。  通过对用户和 Web服务器之间传输的任何数据进行加密, SSL可确保拦截数据的任何人只能看到混乱的字符。  消费者的信用卡号现在是安全的,仅在他们输入该密码的购物网站上可见。

   SSL还可以阻止某些类型的网络***:它对 Web服务器进行身份验证,这很重要,因为***者通常会尝试建立伪造网站来欺骗用户并窃取数据。它还可以防止***者篡改传输中的数据。

   4 SSL TLS 是一回事吗?

   SSL是 TLS(传输层安全性)协议的直接前身。  在 1999年, IETF提出了要对 SSL的更新。由于此更新是由 IETF开发的,不再涉及 Netscape,因此名称也更改为 TLS。 SSL的最终版本( 3.0)与 TLS的第一版本之间的差异并不大。名称的更改更多的由于所有权变更造成的。

   由于它们是如此紧密地联系在一起,因此这两个术语经常互换使用和混淆。有些人仍然使用 SSL来指代 TLS,其他人则使用术语 “ SSL/TLS加密 ”,因为 SSL的名称仍然具有很高的辨识度。

   5 SSL 还在更新吗?

   自 1996年开始使用 SSL 3.0以来,尚未对 SSL进行任何更新,现在认为已弃用。 SSL协议中存在多个已知漏洞,安全专家建议停止使用它。实际上,大多数现代网络浏览器根本不再支持 SSL。

   TLS是最新的加密协议,它依然在用,尽管许多人仍将其称为 “ SSL加密 ”。对于购买安全解决方案的人来说,可能对这些概念发生混淆。事实是,如今提供 “ SSL”的任何供应商几乎都可以肯定地提供 TLS保护,这已经成为 20多年来的行业标准。  但是,由于许多人仍在搜索 “ SSL保护 ”,因此该术语在许多产品页面上仍是醒目位置。

   6 、什么是 SSL 证书?

   只有拥有 SSL证书(技术上实际应该是 “ TLS证书 ”)的网站才能实施 SSL。 SSL证书就像身份证或徽章一样,用来证明某人就是他们所说的真实身份。 SSL证书由网站或应用程序的服务器存储并显示在 Web上。

   SSL证书中最重要的信息之一是网站的公钥,公钥使加密成为可能。用户的设备查看公共密钥,并使用它与 Web服务器建立安全的加密密钥。同时, Web服务器还具有一个保密的私有密钥,私钥用来解密使用公钥加密的数据。证书颁发机构( CA)负责颁发 SSL证书。

   7 SSL 证书的类型是什么?

   有几种不同类型的 SSL证书。  一个证书可以应用于一个或多个网站,具体取决于类型:

   1)单域:单域 SSL证书仅适用于一个域( “域 ”是网站的名称,例如 www.cloudflare.com)。

   2 )通配符:与单域证书一样,通配符SSL 证书仅适用于一个域。但是,它也包括该域的子域。例如,通配符证书可以覆盖www.cloudflare.com ,blog.cloudflare.com 和developers.cloudflare.com ,而单域证书只能覆盖第一个。

   3)多域:顾名思义,多域 SSL证书可以应用于多个不相关的域。

   SSL证书还具有不同的验证级别。验证级别就像背景检查一样,并且级别会根据检查的彻底性而变化。

   1)域验证:这是最严格的验证级别,也是最便宜的级别。企业要做的就是证明他们控制着域。

   2)组织验证:这是一个更加实际的过程: CA直接与请求证书的人员或企业联系。这些证书更受用户信赖。

   3)扩展验证:在颁发 SSL证书之前,这需要对组织进行全面的后台检查。

8 SSL/TLS 密码套件介绍

   任何受 SSL/TLS保护的连接的安全性在很大程度上取决于客户端和服务器对密码套件的选择。但是什么是密码套件?如果您使用 HTTPS, FTPS和 AS2之类的文件传输协议,但不知道密码套件是什么,则需要阅读这篇文章。

   密码套件的定义简单说来就是通过 SSL/TLS保护网络连接所需的完整方法集(技术上称为算法)。每个集合的名称代表组成它的特定算法。构成典型密码套件的算法如下:

   1)密钥交换算法:规定交换对称密钥的方式;

   2)认证算法:指示如何执行服务器身份验证和(如果需要)客户端身份验证;

   3)批量加密算法:指示将使用哪种对称密钥算法来加密实际数据; ?

   4)消息认证码( MAC)算法:指示连接将用于执行数据完整性检查的方法;

   一个密码套件通常由一个密钥交换算法,一个身份验证算法,一个批量加密算法和一个 MAC算法组成。密钥交换算法包含有 RSA, DH, ECDH, ECDHE 等;身份验证算法包含有 RSA, DSA, ECDSA; 批量加密算法包含有 AES, 3DES, CAMELLIA; MAC算法包含有 SHA, MD5等。下面我们来看一个密码套件的例子:

   TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384?

   让我们逐一拆解开来看:

   1) TLS代表使用的协议;

   2) ECDHE表示密钥交换算法;

   3) ECDSA表示认证算法;

   4 )AES_256_CBC 表示批量加密算法;

   5 )SHA384 表示MAC 算法。

   AES_256_CBC表示此密码套件专门使用以 CBC(密码块链接)模式运行的 256位 AES。同样, SHA384表示密码套件正在使用特定版本的安全哈希算法( SHA)。有时,会省略使用的协议,如下面的例子所示:

   DHE_RSA_AES256_SHA
1 )DHE :表示密钥交换算法;

   2) RSA:表示认证算法;

   3) AES256:表示批量加密算法;

   4 )SHA :表示MAC 算法。

   有时,重复的算法只写一次。例如,在密码套件 RSA_AES256_SHA中,暗指了授权算法是 RSA。

            

----------------------------
原文链接:https://blog.51cto.com/14857544/2572245

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2021-01-11 14:17:41 重新编辑]
  Java面向对象编程-->数据类型
  JavaWeb开发-->JSP中使用JavaBean(Ⅰ)
  JSP与Hibernate开发-->立即检索和延迟检索策略
  Java网络编程-->创建非阻塞的HTTP服务器
  精通Spring-->Vue Router路由管理器
  Vue3开发-->计算属性和数据监听
  一文读懂非关系型数据库(NoSQL)
  关于Mongodb的全面总结
  我必须得告诉大家的MySQL优化原理
  解决mysql问题:The server quit without updating PID file
  DNS原理及其解析过程
  打开黑盒:从 MySQL架构设计出发,看它是如何执行一条SQL语句...
  MySQL 删除数据表
  SQL 撤销索引、表以及数据库
  SQL CHECK 约束
  SQL PRIMARY KEY 约束
  SQL FULL OUTER JOIN 关键字
  解决电脑网络受限制或无连接造成无法上网的方法
  关系型数据库全表扫描分片详解
  MySQL日期函数与日期转换格式化函数大全
  为什么要分库分表?用过哪些分库分表中间件?
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。