博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
https原理
阅读量:4359 次
发布时间:2019-06-07

本文共 649 字,大约阅读时间需要 2 分钟。

这里做个笔记,看了网上的一些资料后自己理解的https协议的工作原理。

  先来说下对称加密和非对称加密,对称加密就是当在对信息进行加密和解密时使用的秘钥是同一个秘钥,对称加密的优点是效率高但是相对不安全;非对称加密秘钥分为公钥和私钥,我们可以使用私钥加密用公钥解密,当然也可以使用公钥加密使用私钥解密,非对称加密的优点就是要比对称加密安全,但是效率要低。

  客户端与服务器之间的通讯是使用非对称加密和对称加密相结合的方式进行的,即先使用非对称加密的方式来协商对称加密的加密秘钥,然后再使用对称加密的方式来进行信息的传输。这样既保证了信息的安全性又解决了信息传输时解密信息所带来的效率问题。

  为了保证在传递加密公钥的过程中不会别黑客劫持而导致信息被篡改,所有这里需要一个CA机构来保证加密公钥的正确性。一般的过程:

1.网站的管理员向CA服务商申请服务器秘钥(公钥和私钥)

2.客户端请求服务器获取公钥,并使用CA机构预置在客户端的CA根证书来验证服务器公钥是否正确,是否在有效期内等等

3.如果验证服务器公钥没有问题,客户端生成一个用来对称加密的秘钥并使用服务器公钥加密,并发送给服务器端

4.服务端接收到被加密的秘钥后使用私钥解密,并得到实际的对称加密的秘钥值,然后使用对称加密的方式加密之后要传输的信息

5.客户端接收到信息后使用对称加密秘钥解密,获取到服务器传输的实际信息内容  

转载于:https://www.cnblogs.com/itsuibi/p/11407392.html

你可能感兴趣的文章
XenServer网卡Bonding
查看>>
Redis的简单动态字符串实现
查看>>
day63-webservice 08.在web项目中配置带有接口的webservice服务
查看>>
win10+vs2015+opencv3.0 x86/x64配置(debug+release)
查看>>
ES6箭头函数-2
查看>>
BZOJ4499: 线性函数
查看>>
HDU 4941 Magical Forest
查看>>
Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。...
查看>>
putty network error:software caused connection abort
查看>>
存储过程 <3> 和函数的区别
查看>>
高级service之ipc ADIL用法
查看>>
Django框架-基础篇
查看>>
Leetcode: Binary Tree Maximum Path Sum
查看>>
通过虚拟环境创建并开始一个django
查看>>
关于 input[type="button"] , button
查看>>
Android ViewDragHelper全然解析 自己定义ViewGroup神器
查看>>
微信遇到的几个小问题
查看>>
c++ 基础 const char* 转 char*
查看>>
usaco-2.1-hamming-pass
查看>>
使用Spring Boot开发Web项目(二)之添加HTTPS支持
查看>>