关闭

HTTPS请求步骤详解

247人阅读 评论(0) 收藏 举报

概念

HTTPS可以简单的理解为HTTP + TLS(SSL),在传输层之上多了一层加密层。


HTTPS加密请求过程

HTTPS协议请求时序图


  • CA:Digital Certificate,数字证书
  • random key:对称加密的秘钥
  • 由于非对阵加密效率低下,不适合用于加密操作频繁且数据量较大的请求内容
  • 生成的random key需要用证书提供的公钥加密,再传送给Server端,Server端再解密random key用于加密content

数字证书

作用

数字证书与公钥密码体制紧密相关。在公钥密码体制中,每个实体都有一对互相匹配的密钥:公开密钥(Pubic Key公钥)和私有密钥(Private Key私钥)。公开密钥为一组用户所共享,用于加密或验证签名,私有密钥仅为证书拥有者本人所知,用于解密或签名。
当发送一份秘密文件时,发送方使用接收方的公钥对该文件加密,而接收方则使用自己的私钥解密。因为接收方的私钥仅为本人所有,其他人无法解密该文件,所以能保证文件安全到达目的地。
用户也可以用自己的私钥对信息进行处理,由于私钥仅为本人所有,所以能生成别人无法仿造的文件,也就形成了数字签名。同时,由于数字签名与信息的内容相关,因此,一份经过签名的文件如有改动,就会导致数字签名的验证过程失败,这样就保证了文件的完整性。
以数字证书为核心的加密传输、数字签名、数字信封等安全技术,使得在Internet上可以实现数据的真实性、完整性、保密性及交易的不可抵赖性。

内容

◆Issuer (证书的发布机构)

指出是什么机构发布的这个证书,也就是指明这个证书是哪个公司创建的(只是创建证书,不是指证书的使用者)。对于上面的这个证书来说,就是指"SecureTrust CA"这个机构。

 

◆Valid from , Valid to (证书的有效期)

也就是证书的有效时间,或者说证书的使用期限。 过了有效期限,证书就会作废,不能使用了。

 

◆Public key (公钥)

这个我们在前面介绍公钥密码体制时介绍过,公钥是用来对消息进行加密的,第2章的例子中经常用到的。这个数字证书的公钥是2048位的,它的值可以在图的中间的那个对话框中看得到,是很长的一串数字。

 

◆Subject (主题)

这个证书是发布给谁的,或者说证书的所有者,一般是某个人或者某个公司名称、机构的名称、公司网站的网址等。 对于这里的证书来说,证书的所有者是Trustwave这个公司。

 

◆Signature algorithm (签名所使用的算法)

就是指的这个数字证书的数字签名所使用的加密算法,这样就可以使用证书发布机构的证书里面的公钥,根据这个算法对指纹进行解密。指纹的加密结果就是数字签名(第1.5节中解释过数字签名)。

 

◆Thumbprint, Thumbprint algorithm (指纹以及指纹算法)

这个是用来保证证书的完整性的,也就是说确保证书没有被修改过,这东西的作用和2.7中说到的第3个问题类似。 其原理就是在发布证书时,发布者根据指纹算法(一个hash算法)计算整个证书的hash值(指纹)并和证书放在一起,使用者在打开证书时,自己也根据指纹算法计算一下证书的hash值(指纹),如果和刚开始的值对得上,就说明证书没有被修改过,因为证书的内容被修改后,根据证书的内容计算的出的hash值(指纹)是会变化的。 注意,这个指纹会使用"SecureTrust CA"这个证书机构的私钥用签名算法(Signature algorithm)加密后和证书放在一起。



数字签名

用于验证内容是否被修改

1
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9029次
    • 积分:309
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:3篇
    • 译文:1篇
    • 评论:1条
    最新评论