对称加密与非对称加密、证书、SSL/TLS握手过程

这篇具有很好参考价值的文章主要介绍了对称加密与非对称加密、证书、SSL/TLS握手过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

对称加密(Symmetrical Encryption):

对称加密,是一种既简单速度又快的加密方式,加密与解密使用的都是同一个密钥,别名又叫做:单密钥加密;对称加密有很多公开算法,并且因为它效率很高,所以适用于加密大量数据的场合;但其密钥的传输过程是不安全的,并且容易被破解,密钥管理起来也相对麻烦。

优点:

  • (1)对称加密算法的优点是算法公开。
  • (2)计算量小。
  • (3)加密速度快。
  • (4)加密效率高。

缺点:

  • 对称加密算法的缺点是在数据传送前,发送方和接收方必须商定好秘钥,然后使双方都能保存好秘钥。
  • 其次如果一方的秘钥被泄露,那么加密信息也就不安全了。
  • 另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

算法:

  • 在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。

非对称加密(Asymmetric Encryption):

非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private
key,简称私钥),如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。加密密钥是公开的,密钥的分配和管理就很简单,而且能够很容易地实现数字签名,因此最适合于电子商务应用的需要;但是如果对大数量进行操作,计算量特别大,速度远远比不上对称加密。

一图简单了解非对称加密:最后利用会话秘钥(棕色)给数据进行加密
对称加密与非对称加密、证书、SSL/TLS握手过程

优点:

  • (1)密钥分配简单。
  • (2)密钥的保存量少。
  • (3)可以满足互不相识的人之间进行私人谈话时的保密性要求。
  • (4)可以完成数字签名和数字鉴别。

缺点:

  • (1)公钥密码是对大数进行操作,计算量特别浩大,速度远比不上私钥密码体制。
  • (2)公钥密码中要将相当一部分密码信息予以公布,势必对系统产生影响。
  • (3)在公钥密码中,若公钥文件被更改,则公钥被攻破。

算法:

  • 在非对称加密算法中常用的算法又:RSA、DSA、ECDSA等。

区别:

  • (1)对称加密中加密和解密使用的秘钥是同一个;非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密。
  • (2)对称加密解密的速度比较快,非对称加密和解密花费的时间长、速度相对较慢。
  • (3)对称加密的安全性相对较低,非对称加密的安全性较高。

SSL证书

  • 保存在源服务器的数据文件,包含公钥和私钥
  • SSL证书是数字证书的一种,因为配置在服务器上,也称为SSL服务器证书。
  • SSL 证书 就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

TLS1.2握手过程

  • SSL由从前的网景公司开发,有1,2,3三个版本,但现在只使用版本3
  • SSL是TLS的前身,TLS是SSL的标准化后的产物,有1.0 1.1 1.2三个版本,默认使用1.0

三次握手成功后进行SSL握手
对称加密与非对称加密、证书、SSL/TLS握手过程

  • Client Hello(TLS版本,加密套件,Client随机数):Client首先发送Hello,告诉Server支持的TLS版本以及支持的加密套件,再把Client随机数发给Server。

  • Server Hello:Server收到Client Hello也给Client发送Hello,并告知Server确认支持的TLS版本以及选择的加密算法。同样,也会把Server随机数发给Client。

  • Certificate:Server接着再发送自己的证书给Client,这样Client浏览器就可以对照自己的证书信任列表来确认这个服务器是否可信。

  • Server Key Exchange:发送完证书,Server就把公钥发送给Client。

  • Client Key Exchange, Change Cipher Spec, Encrypted Handshake Message:Client用刚刚收到的公钥加密pre-master预主密钥,并把这个加密后的随机数发送给Server。Server收到加密后的预主密钥,会用自己的私钥进行解密从而得到预主密钥。

  • Change Cipher Spec: 这一步就是告诉服务器往后的数据就用商议好的算法和密钥来加密。

  • Encrypted Handshake Message: 表示Client这边的TLS协商已经OK了。同时服务器也会发送这个,表示也TLS准备完成【此时完成的握手,可以进行数据加密交换】

Client会用Client随机数、Server随机数和预主密钥(也就是三个随机数)计算出会话密钥。Server也同样计算出和Client一样的会话密钥。之后,Client和Server就都只使用这个会话密钥对数据进行加密。文章来源地址https://www.toymoban.com/news/detail-438099.html

  • 服务器和客户端采用非对称加解密方式交换对称加密的密钥(随机数3),保证这个对称密钥不泄露,交换成功后就采用对称加密方式。

到了这里,关于对称加密与非对称加密、证书、SSL/TLS握手过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解释SSL/TLS握手过程&如何设计一个安全的Web应用身份验证机制

    一、请解释SSL/TLS握手过程 SSL/TLS握手过程是实现安全通信的关键步骤,它确保了通信双方能够建立一个加密且可信赖的连接。以下是SSL/TLS握手过程的主要步骤: ClientHello :客户端向服务器发送一个起始握手消息,这个消息包含支持的SSL/TLS版本号、加密套件候选列表以及一个

    2024年04月10日
    浏览(22)
  • HttpCannary根证书未安装,无法抓取SSL,TLS加密数据包问题解决方法

    解决HttpCannary根证书未安装,无法抓取SSL/TLS加密数据包的问题 目前我使用的版本信息如下: MIUI 13,Android 12 HttpCanary v3.3.6,Plugin-SDK v1.0.0 可以在【设置】-抓包设置里的【HttpCanary根证书】中查到目前是没有导入跟证书的,有很多包抓不到。 这个问题可以利用手机的备份恢复机

    2024年02月05日
    浏览(23)
  • 什么是HTTPS加密协议?HTTPS安全传输原理,SSL和TLS介绍,NGINX如何配置SSL证书

    HTTPS是超文本传输协议(HTTP)的安全版本。它使用SSL(安全套接层)或TLS(传输层安全)加密协议来保护数据传输的安全性和机密性,以防止未经授权的访问和窃听。HTTPS协议通常用于处理敏感信息,如在线支付或登录凭证等。可以通过URL的前缀来识别一个网站是否使用了H

    2024年02月03日
    浏览(28)
  • 根据验证过程,远程证书无效。未能为 SSL/TLS 安全通道建立信任关系。

    提示:这里简述项目相关背景: 例如:项目场景:vs2022,HttpClient调用接口出现错误(根据验证过程,远程证书无效。未能为 SSL/TLS 安全通道建立信任关系。) 缺少证书,需要在安装证书 点击安装证书=》本地计算机=》下列存储,选择受信任的根证书颁发机构,安装完成之后

    2024年02月11日
    浏览(34)
  • HttpCannary根证书未安装,无法抓取SSL/TLS加密数据包问题解决方法(无需ROOT权限)

    解决HttpCannary根证书未安装,无法抓取SSL/TLS加密数据包的问题 目前我使用的版本信息如下: Redmi K40 Pro,MIUI 13,Android 12 HttpCanary v3.3.6,Plugin-SDK v1.0.0 可以在【设置】-抓包设置里的【HttpCanary根证书】中查到目前是没有导入跟证书的,有很多包抓不到。 这个问题可以利用手机

    2024年02月02日
    浏览(18)
  • 根据验证过程,远程证书无效。未能为 SSL-TLS 安全通道建立信任关系。

    提示:这里简述项目相关背景: 例如:项目场景:vs2022,HttpClient调用接口出现错误(根据验证过程,远程证书无效。未能为 SSL/TLS 安全通道建立信任关系。) 缺少证书,需要在安装证书 点击安装证书=》本地计算机=》下列存储,选择受信任的根证书颁发机构,安装完成之后

    2024年03月22日
    浏览(32)
  • 常见的对称式加密与非对称式加密算法

            对称式加密 :对称加密算法就是传统的用一个密码进行加密和解密,通信发送方使用这种算法加密数据,接收方也用同样的算法解密数据. 因此对称式加密本身不是安全的。从程序的角度看,所谓加密,就是这样一个函数:         它接收密码和明文,然后输出密

    2023年04月08日
    浏览(21)
  • 区块链学习系列:对称与非对称加密区别?

    图表:在这篇博文中,我们讨论了对称加密(一种单密钥加密技术)与非对称加密(也称为公钥密码术)之间的区别,后者使用私钥和公钥对加密密钥。 传输密钥或不传输密钥。就是那个问题。 目前使用的数据加密主要有两种形式:对称加密和非对称加密。每天,当您使用

    2023年04月08日
    浏览(21)
  • c++中的OpenSSL加密(对称与非对称)

    使用OpenSSL实现安全加密通信的服务器与客户端项目 https://gitee.com/lzhiqiang1999/sec-tans 欢迎star 1 特点: 不可逆 抗碰撞性强 不同的数据拥有不同的哈希值, 相同的数据哈希值是相同的 原始数据有细微的变化, 哈希值的变化是非常大的 通过哈希函数将原始数据进行运算, 得到的哈希

    2024年02月13日
    浏览(21)
  • 一文搞懂对称加密与非对称加密(RSA)、信息摘要、数字签名

    目录 一、对称加密与非对称加密 二、信息摘要 三、数字签名 四、小练习 对称加密: 加密和解密使用同一个秘钥(如加密方式为+1,那解密方式为-1)常见的对称加密算法:DES,AES,3DES等 非对称加密: 加密和解密使用不同密钥。两个密钥:公共密钥和私有密钥。通常将公钥

    2024年02月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包