`
xcxinghai
  • 浏览: 33503 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

https学习总结

阅读更多

1、https简介

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,RFC2818文档中https也称作TLS之上的HTTP。因此加密的详细内容请看SSL。 https所用的端口号是443。见下图:
11111

22222

从上面两张图中可知,https协议是基于SSL协议的。

2、https的实现原理

有两种基本的加解密算法类型:

1)对称加密:密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;

2)非对称加密:密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。

下面看一下https的通信过程:

33333

https通信的优点:

1)客户端产生的密钥只有客户端和服务器端能得到;

2)加密的数据只有客户端和服务器端才能得到明文;

3)客户端到服务端的通信是安全的。

3、服务器验证客户端

如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:

①客户的证书使用日期是否有效

②为客户提供证书的CA 是否可靠

③发行CA 的公钥能否正确解开客户证书的发行CA 的数字签名

④检查客户的证书是否在证书废止列表(CRL)中

4、加密

在https的通信过程中,组合使用了公用密钥方式加密和共享密钥方式加密这两种技术。

公用密钥方式要比共享密钥方式慢得多,因此使用公用密钥来完成共享密钥的交换。公用密钥是从证书中获得的。

拿到共享密钥之后,所有的内容之间的通信都会使用共享密钥来进行加密和解密。

公用密钥的作用就是为了安全的交换共享密钥,共享密钥是用来通信内容的加密和解密。这样既确保了通信之间的安全,也确保了加密和解密的效率。

5、SSL的连接

   连接分为两个阶段,即握手和数据传输阶段。

握手阶段对服务器进行认证并确立用于保护数据传输的加密密钥。必须在传输任何应用数据之前完成握手。一旦握手完成,数据就被分成一系列经过保护的记录进行传输。

weixin

原创文章,转载请注明: 转载自成长的企鹅

本文链接地址: https学习总结

关于我:成长的企鹅简介

0
3
分享到:
评论
1 楼 lijunwyf 2013-12-09  
请问,你配置过HTTPS的双向认证吗?怎么通过抓包得到它传输的公钥是哪个?或者公钥的序列号

相关推荐

    机器学习算法总结

    ### 机器学习算法总结 #### 一、回归算法概述 回归算法是一类核心的机器学习技术,用于预测连续型变量的输出。这类算法的核心在于找到输入特征与目标变量之间的最佳数学关系,通常通过最小化预测值与实际观测值...

    微信开发学习总结(二)——微信开发环境准备(2)项目源码

    为微信开发学习总结(二)——微信开发环境准备(2)博客讲解中附带源码。 参考博客: 微信开发学习总结(二)——微信开发环境准备(2) https://blog.csdn.net/qq_29914837/article/details/82896861

    jquery总结学习资料JQuery总结

    在实际开发中,jQuery 可以极大地提高工作效率,减少代码量,使得动态交互和界面美化变得更加简单。然而,随着 ES6 和现代前端框架的崛起,如 React 和 Vue,jQuery 在某些场景下可能不再是首选。然而,对于初学者和...

    Spring Security 学习总结1_3

    文章链接提到的博客(https://fengshen-xia.iteye.com/blog/293799)可能提供了一些关于Spring Security的学习资料。除此之外,官方文档、GitHub仓库、Stack Overflow和各种在线课程都是深入学习Spring Security的好...

    activiti工作流学习总结

    ### Activiti工作流学习总结 #### 一、Activiti学习资源汇总 - **官方网站**: 提供了Activiti的最新版本信息、文档和技术支持等。地址为:[http://www.activiti.org/](http://www.activiti.org/) - **下载页面**: ...

    SSL加密技术学习总结

    总结来说,SSL加密技术是现代互联网安全的基础,它通过证书、加密算法和安全握手过程确保了数据的安全传输。了解并掌握SSL/TLS的工作原理和最佳实践,对于维护网络安全至关重要。在日常网络应用中,正确配置和使用...

    AJAX学习总结(一)--基于jQuery第一个实例

    在本篇“AJAX学习总结(一)--基于jQuery第一个实例”中,我们将探讨如何使用jQuery库实现异步JavaScript和XML(AJAX)技术。AJAX允许我们在不刷新整个页面的情况下,更新网页的部分内容,从而提供更流畅的用户体验...

    golang学习路线总结

    golang学习路线总结 本文档旨在为读者提供一个系统的Golang学习路线总结,涵盖了Golang的基础知识、语法、流程控制、函数、指针、内置容器、常用内置包等方面的内容,旨在帮助读者快速掌握Golang语言。 基础知识 ...

    swagger小白学习总结

    " Swagger 小白学习总结" Swagger 是一个流行的 API 框架,用于生成 API 文档和在线测试 API。下面是 Swagger 的学习总结,包括 Swagger 的概念、作用、集成到 Spring Boot 中的步骤等。 一、Swagger 简介 ...

    前端知识点总结,课程学习路线及学习链接

    前端知识点总结,课程学习路线及学习链接。部分内容如下: ## 基础知识 ### 网络知识 1. [HTTP](https://www.bilibili.com/video/BV1js411g7Fw/) 2. [DNS](https://www.bilibili.com/video/BV1GW411j7Ts/) 3. [域名...

    SpringCloud学习基础入门学习心得.7z

    个人在工作中,在忙完本职工作之后,提高自己技能,学习SpringCloud。这里面就是自己学习 SpringCloud一天的功夫就可以掌握SpringCloud。其实学习很简单。当然要提高效率,时间很紧迫哦,突然发现今天都是20200115了...

    jetson的学习资料总结

    本博文是本人学习jetson的学习资料汇总 https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#intro这个是官方给的准备工作和系统安装教程 ...

    视觉SLAM——g20学习总结

    视觉SLAM中的g20学习总结 视觉SLAM(Simultaneous Localization and Mapping)是一种同时进行定位和mapping的技术,在机器人和计算机视觉领域中有广泛的应用。本文将从g20学习总结的角度,详细介绍视觉SLAM中的一些...

    http学习总结文档

    本文将深入探讨HTTP的学习总结,涵盖其基本概念、工作原理、请求方法、响应状态码、报文结构以及HTTP/1.1与HTTP/2的区别等核心知识点。 一、HTTP基础 HTTP是一种无状态、基于TCP/IP的协议,用于在Web上传输数据。无...

    web学习总结(2)

    在“Web学习总结(2)”这篇博文中,作者Fernador主要分享了他在Web开发领域的深入学习体验和一些实用工具的使用心得。虽然没有直接给出详细的描述,但我们可以从标题和标签中推测出一些关键知识点。以下是根据这些...

    我的学习心得与总结。希望大家能够指出我的错误

    标题中的“我的学习心得与总结”表明这是一份个人的学习笔记或者经验分享,可能是作者在IT领域的学习过程中积累的知识和感悟。描述与标签相同,强调了作者希望得到他人的反馈和指正,暗示了这份资料可能包含了一些...

    GitHub优秀的学习总结资料4

    - `SpiderBook-master`:这可能是一个爬虫学习项目,包含了网络爬虫的基本概念,如HTTP/HTTPS请求、HTML解析(如使用Jsoup或BeautifulSoup)、数据存储(如CSV、JSON)以及反爬策略的应对方法。 - `scrapy-master`...

    linux 学习总结文档

    NULL 博文链接:https://wellfrog.iteye.com/blog/1175930

    免费视频学习资料网站

    总结: 综合上述内容,该网站是一个集历史、文化、管理、健康等多方面知识于一体的免费学习平台,涉及的知识面广泛,专家讲座资源丰富,适合各个年龄段和领域的学习者使用。通过网站提供的视频学习资料,学习者可以...

Global site tag (gtag.js) - Google Analytics