博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Https为什么安全?使用到了什么关键技术?
阅读量:6496 次
发布时间:2019-06-24

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

概念 1.对称加密 2.非对称加密(公钥加密) 3.消息摘要 4.消息认证码 5.数字签名 6.公钥证书

推荐先查看这篇文章再进行下文阅读: https://foofish.net/https-story-1.html 这里由一个请求来解释为什么需要这些东西并对其概念做简短解释,结合这篇文章希望能更便于理解。

流程

这个相信大概用过或了解过的都知道,一句话:由Client发起请求进行公钥加密发送到Server,Server使用私钥进行解密,最后将数据同样进行公钥加密返回,Client进行私钥解密后处理业务。

看着似乎就是那么理所应当的简单啊。我本身也是这么天真的以为的就是加个密解个密么哈哈

好 接下来就从这个看似简单的流程来说说上面这些概念都是什么作用

首先 流程中最明显的一环“加密”先来看看这个

对称加密与非对称加密

对称加密:加密解密使用的是相同密钥 优点:速度快 缺点:因为Client要告诉Server加密方式而攻击者在拦截后知道了加密方式也就知道了解密方式。 非对称加密:一端进行公钥加密而另一端进行私钥解密 优点:解决了对称加密可能被拦截破解的可能 因为拦截者没有私钥,他无从知道怎么解密 缺点:速度比公钥慢很多

ok到这里加密应该有个大概的概念了,加密的事情解释差不多了,这里提个问题,如果拦截者进行了篡改这时怎么办。这就用到了消息摘 要和消息认证码

消息摘要消息认证码

简单来说这个是保证数据的完整唯一性,当拦截者把消息改变后,Server进行比对发现不同就会认为这是被篡改的消息

但是问题又来了,虽说可以保整完整性,但是拦截者可以进行伪造,拦截者伪造订单信息进行攻击你会有口说不清。这时又怎么办呢,“数字签名”

数字签名

数字签名就是Client把消息哈希函数处理生成消息摘要,摘要信息使用私钥加密之后生成签名发送给Server再由Server提取进行同样的哈希处理得到再与Client发送过来的签名解密如,如果相等则证明是对应的Client发送的

这下看着似乎都很完善了。还差最后一步就是公钥证书,他是做什么的呢,如果遭到拦截者把公钥换掉了呢,这时就需要有一个权威机构来认证也就是Certification Authority)CA。

公钥证书

证书中有用户的姓名组织邮箱地址等信息,还有公钥信息,并由CA提供数字签名生成公钥证书(Public-Key Certificate)PKC,简称证书。

这就是基本的大致流程了。 菜鸟讲解,主要是为了自己熟悉也希望这相对的白话文能帮小白理解

转载地址:http://otuyo.baihongyu.com/

你可能感兴趣的文章
vim 命令
查看>>
Ubuntu 16.04 LTS安装sogou输入法详解
查看>>
计算几何专题
查看>>
GNU/Linux 正则表达式与三剑侠(grep,sed,awk)(精)
查看>>
36、自定义控件详解(一)-- 自定义属性
查看>>
bootstrap弹窗居中处理
查看>>
DOM学习笔记二
查看>>
[Array]189. Rotate Array
查看>>
iuap
查看>>
inkscape
查看>>
关于C语言中单双引号的问题
查看>>
I00003 贝尔三角形
查看>>
HDU1200 POJ2039 ZOJ2208 UVALive3084 To and Fro【密码】
查看>>
CCF201403-1 相反数(100分)
查看>>
表单通过连接数据库数据进行验证
查看>>
redis hash操作 list列表操作
查看>>
利用Hibernate 框架,实现对数据库的增删改查
查看>>
mysql开启远程连接权限
查看>>
关于商米D1S,USB默认权限在关机后丢失的FAQ
查看>>
css3 text-transform变形动画
查看>>