首页 > 其他分享 >信息安全 -- 数据加密 -- HTTPS原理

信息安全 -- 数据加密 -- HTTPS原理

时间:2023-07-15 17:57:59浏览次数:38  
标签:摘要 加密 证书 -- 信息安全 公钥 HTTPS Pat 数字证书

对称加密:同一个密钥进行加解密,典型的对称加密方式 AES 算法

优点:运算速度快

缺点:密钥需要信息交换的双方共享,一旦被窃取,消息会被破解

 非对称加密:公钥加密,私钥解密;或者私钥加密,公钥解密

优点:私钥严格保密,公钥任意分发,黑客获取公钥无法破解密文

缺点:运算速度非常慢

非对称加密的更多细节:

1、公钥加密私钥解密:公钥可以分发给多人,任何人可以用公钥对信息进行加密,加密后的信息只能被对应的私钥解密。从而,公钥加密私钥解密能保证信息安全性,但是无法确认信息来源

2、私钥加密公钥解密:私钥加密后的数据,只能对应的公钥解密,因为每个私钥的拥有者是可以确定,所以私钥加密公钥解密能确认信息来源

 摘要算法和数据完整性

 摘要算法的四种特性(常见的摘要算法:MD5,SHA1,SHA2):

  1. 不可逆:只有算法,没有密钥,只能加密,不能解密
  2. 难题友好性:想要破解,只能暴力破解
  3. 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
  4. 抗碰撞性:原文不同,计算后的摘要也要不同

如何保证信息不被篡改,即信息的完整性:

方式一:Bob通过摘要算法将信息生成一个摘要,再将摘要附在信息上一起发送给Pat,Pat取下摘要A,使用和Bob一样的摘要算法生成一个新的摘要B,Pat通过对比摘要A和摘要B是否一致来判断信息是否是Bob发送过来的,并且还是未篡改的

优点:速度快,校验简单

缺点:不够安全,黑客可以拦截Bob发送的信息,然后模拟Bob的操作,将新信息生成一个新摘要,一起发送给Pat,Pat校验也能通过,但是信息却被改变

方式二:先用摘要算法生成信息的摘要,将用Bob的私钥将摘要加密,加密后的结果(数字签名),将数字签名附在信息下面一起发送给Pat,Pat收到信息后,取下数字签名,用Bob给的公钥解密得到信息的摘要,再用和Bob一样的摘要算法加密信件的原文,得到信息的摘要,Pat将两个摘要进行对比,如果一致,则表示信息是Bob发送的,并且是未篡改过的

数字证书

在实际业务中,上面第二种方式也不是最安全的。举个例子:Doug伪造Bob将自己的公钥发给Pat,Doug就可可以用自己的私钥对加密后的摘要进行验签,Pat以为将信息发送给了Bob,实际是被Doug获取了。所以存在伪造公钥的风险,于是就有了数字证书

 数字证书的组成:

  1. 公钥:Bob的公钥
  2. 颁发者:CA(证书认证机构)
  3. 有效期:证书的使用期限
  4. 签名哈希算法:指定摘要算法,用来计算证书的摘要
  5. 指纹:证书的摘要,保证证书的完整性
  6. 签名算法:用于生成签名,确保证书是由CA签发
  7. 序列号:证书的唯一标识

数字证书生成步骤:

  1. CA中根据证书中指定的哈希算法,根据证书信息,计算整个证书信息的摘要,即生成证书的指纹
  2. CA根据证书中的签名算法,用CA自己的私钥将摘要信息进行加密,生成证书的签名
  3. 将证书的签名和证书一起发布,就能得到一个数字证书

数字证书的使用:

  1. Pat收到Bob的信时,将数字证书取出
  2. Pat根据指定的Hash算法计算证书基本信息,得到整个证书的摘要A
  3. Pat再用CA的公钥对数字证书进行解密,得到证书的摘要B
  4. 比较摘要A和摘要B是否相等,完成证书验签;如果相等,则取出证书基本信息中Bob的公钥
  5. Pat利用上一步得到的公钥对信件进行解密,得到一个摘要C
  6. Pat根据哈希算法计算信件信息的摘要,得到另一个摘要D
  7. 比较摘要C和摘要D,完成信件验签,如果相等,则Pat可以放心读取数据了

 HTTPS的原理

  1. 一个网站需要使用https协议,需要向CA申请数字证书
  2. CA用自己的私钥对数字证书的基本信息进行加密,并且进行签名
  3. 由于数字证书信息中存有网站公钥,有了数字证书和一些必要条件之后,网站就可以以https协议的形式发布到互联网上
  4. 客户端浏览器向网站发送加密请求
  5. 网站对网页进行加密之后,会连同数字证书一起发送给浏览器
  6. 浏览器接收到服务器发送的数字证书之后,会使用CA的公钥去解密数字证书,并对数字证书进行验签
  7. 验签通过,则获取网站的公钥,如果验签不通过或者证书过期,则提示不安全信息
  8. 获取网站公钥之后就可以和网站进行加密传输了

 

标签:摘要,加密,证书,--,信息安全,公钥,HTTPS,Pat,数字证书
From: https://www.cnblogs.com/liaozk/p/17555908.html

相关文章

  • 云计算(PaaS / SaaS / IaaS)
    目录SaaS:软件即服务PaaS:平台即服务IaaS:基础架构即服务SaaSvsPaaSvsIaaS从小型企业到全球企业,云都是一个非常热门的话题,它是一个非常广泛的概念,涵盖了很多在线领域。无论是应用程序还是基础架构部署,当您开始考虑将业务转移到云时,了解各种云服务的差异和优势比以往任何时候都......
  • 项目使用分库分表
     股票关联分管人的分管中心,标的信息,投标信息,先对数据库进行分库,相同发标人的数据还要保证不能分散,就用的任务id+发标人的分管人id进行基因法拼凑,避免跨库查询 ......
  • 数据结构之顺序表
    顺序表顺序表的定义     线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列   顺序表---用顺序存储的方式实现线性表。顺序存储---把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。   如何知道一个......
  • 类型转换
    类型转换低---------------------------------------------------->高byte,short,char->int->long->float->double强制类型转换高-->低inti=128;bytej=(byte)i;自动类型转换低-->高inti=128;doublej=i;注意不能对布尔值进行转换不能把对象类型转换为不......
  • linux 批量生成文件 随机数据
    seq20|xargs-iddif=/dev/urandomof=$(date+"%Y%m%d_%H%M%S"){}.databs=102400count=1#随机生成20个100K数据文件,文件名字为“日期时间_序号.data”nohupseq100000|xargs-iddif=/dev/zeroof={}.databs=102400count=1>>/dev/null2>&1&#加上后台运......
  • Eyoucms安全设置教程(目录权限设置)
    大致整理易优cms的网站目录权限设置如下,此教程仅供参考,如有问题欢迎反馈纠正。【安装环境】1、推荐采用apache服务器环境,官方已经内置一些限制执行脚本的权限,分别在各自文件夹的 .htaccess里,比如:图片上传目录2、如果是用nginx服务器环境,可以参考.htaccess文件对nginx做限......
  • JavaWeb
    JavaWeb基本概念1.1前言web开发:web:网页的意思静态webhtml,css提供给所有人看的数据始终不会发生变化动态web提供给所有人看的数据始终会发生变化,每个人在不同的时间不同的地点看到的信息各不相同。几乎所有的网站。技术栈:Servlet/JSP,ASP,PHP......
  • 将jar包以docker方式部署
    1、把要部署的工程打成一个jar包。(target目录下获取2、将jar包上传到服务器指定的目录下,如:/root/selonsy/test.jar3、编写dockerfile文件,如:/root/selonsy/dockerfile#必须是第一句,表示当前新镜像是基于哪个镜像进行创建。即当前镜像继承自哪个镜像。如:FROMscratch;scratch......
  • lightdb plpgsql函数in/inout参数示例
    lightdb支持oraclepl/sql以及开源postgresqlPlpgsql两种过程性(增强)语言。本文讲解pgpgsql函数出参的典型用法及限制。注:匿名块实际上走的是plorasql,而非plpgsql,即使调用的是plpgsql过程。本文我们假设对于函数、存储过程的调用是进行逻辑处理,而不是返回结果集或游......
  • 第一周总结
    本周总结:本周我主要做了以下几件事情:首先,我投入了大量时间进行学习。我在学校和自学中花费了约20小时的时间,主要关注于深入学习计算机科学的基础知识和相关技术。此外,我在编程方面也投入了相当一部分时间,大约有15小时左右。我致力于提高我的编程技能,学习新的编程语言和框架,并完成......