【安全】对称加密、非对称加密、数字签名和CA是什么?

这篇具有很好参考价值的文章主要介绍了【安全】对称加密、非对称加密、数字签名和CA是什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天学习了关于网络通信过程中的安全相关的知识,还有一些基础的概念,现做以总结,博客的图示都是自己画的,如果能够有助于你的理解,请点个赞收藏一下~~

目录

对称加密

非对称加密算法

 数字签名和CA

证书的信任链

根身份证和自签名


 文章来源地址https://www.toymoban.com/news/detail-402882.html

对称加密

对称加密的一方(比如小蓝)用秘钥 Key给消息 加密;另一方(比如老白)用同一个秘钥Key解密。

这有一个问题:当一方生成了秘钥 Key 之后得把 Key分享给另一方。但是通信隧道中途很可能有人窃听到 Key,窃听者就可以假扮双方中的任何一方与另一方通信。这叫中间人攻击。

【安全】对称加密、非对称加密、数字签名和CA是什么?

 

非对称加密算法

非对称加密算法利用成对的两个秘钥:K1 和 K2。公钥用来公布给所有人,私钥用来加密数据。特点是用私钥加密数据,只能用对应的公钥解密,反之亦然。

这样一来,通信中一方,比如小蓝,生成密钥对K1,K2,将K1作为私钥,K2作为公钥传输给老白。老白得到K2后,就可以用公钥来解密小蓝发的信息。

但是这同样也存在问题,中间人如果能够截获K2,那么他就可以伪造新的公钥,比如N2,来欺骗老白,因此同样存在安全问题。

图文版过程如下图所示,中间人截获小蓝的公钥K2,并生成自己的公钥私钥,将自己的公钥N2公布给老白,并欺骗他,这是小蓝的公钥。

【安全】对称加密、非对称加密、数字签名和CA是什么?

【安全】对称加密、非对称加密、数字签名和CA是什么?

 如此一来,对于小蓝来说,中间人的角色是老白,对于老白来说,中间人的角色是小蓝。

中间人一人分饰两角色,可以对小蓝和老白的通信内容进行查看甚至篡改。

【安全】对称加密、非对称加密、数字签名和CA是什么?

 数字签名和CA

 因此,为了使得老白获得的公钥确实是小蓝的而不是经过偷梁换柱后的中间人的,引入了数字签名和CA(权威机构,可以理解为说话很有信服力的机构)。

数字签名的具体步骤是:

  1. 小蓝用自己的公钥加上ID,ID包含自己的身份信息或者域名,得到一个CSR(certificate signing request
  2. 将这个CSR发给权威的证书机构CA(certificate authority)
  3. CA进行一个签名的操作,具体是:用自己的私钥加密小蓝的CSR,得到数字签名(digital signature)
  4. 数字签名加上小蓝的CSR得到CRT(CA signed certificate),明文发给小蓝,小蓝有身份证啦~

图文版的过程如下:

STEP1:小蓝用自己公钥加上ID生成CSR给CA-1这个权威机构

【安全】对称加密、非对称加密、数字签名和CA是什么?

 STEP2:CA-1得到小蓝CSR之后,用自己的私钥加密CSR,得到signature,这又被称为数字签名

 STEP3:CA-1将数字签名和CSR一同合为CRT(CA signed certificate)明文发给小蓝

【安全】对称加密、非对称加密、数字签名和CA是什么?

 在进行HTTPS通信时,小蓝向对方展示自己的CRT,这就像是权威的身份证,证明自己的身份

如下图所示,通信时,小蓝向老白展示了自己的CRT,老白拿到CRT之后,会进行一个CSR的比对,具体过程是:

  1. 从CRT中拿到小蓝的CSR和经过CA加密后的C1(CSR)
  2. 由于老白有CA的证书,因此可以解密C1(CSR)得到小蓝的CSR1
  3. 比对CSR1 和CSR是否相等

【安全】对称加密、非对称加密、数字签名和CA是什么?

 

证书的信任链

 由此可见,经过权威机构签名后,就相当于身份证上签了德高望重的人名了,这样出去和人谈话别人也会相信你,但是如果上面例子中所述的CA-1大家都不信任怎么办?

可以找一个大家都信任的CA,这里姑且叫他大boss好了,用大boss的私钥在上述不受信任的CA-1身份证上签名,如果浏览器或者OS里安装了大boss的公钥,就可以验证“CA-1的身份证是大boss确认并且签过名的”,如果大boss也不被通信过程中的对方信任,就可以再找一个CA来签名来确认大boss身份,这个过程可以不断递推,从而形成一个信任链(trust of chain)

根身份证和自签名

根身份证在信任链的顶端,根身份证由自己签名,具体的过程是:

  1. 自己生成一对密钥,私钥K1,公钥K2
  2. 创建自己的CSR,等于K2+ID
  3. 用自己的密钥加密CSR得到signature,然后将CSR明文和signature一起发布

我们知道HTTPS等于HTTP+TLS/SSL,举一个例子,当我们通过浏览器访问银行的网页时,这里会有两个验证的过程,一个是浏览器验证银行身份,一个是银行验证浏览器身份。

浏览器验证银行身份时:在双方HTTPS服务建立安全连接过程中,银行会把自己的CRT(身份证)发给浏览器,浏览器使用内置CA进行一个身份的验证

银行验证浏览器的用户身份:浏览器展示银行HTTPS服务发来的登录页面,用户在这个页面内输入账号信息,银行的HTTPS基于此来验证用户身份

而有时候的通信双方都是程序,没有人就不需要输入账户信息,这时候就需要双方都通过TLS身份证来验证。比如在K8S集群中,来自客户端控制程序kubectl程序或者各个节点运行的kubelet进程,再或者控制平面的成员组件在向api-server发出请求时,必须向集群网关api-server进行身份验证,否则将被视为匿名用户。

API-server程序自动启动的认证方式是Service Account令牌认证(简称sa),该认证方式可以通过--apiserver-account-key-file加载签署承载令牌的密钥文件,未指定时将使用API server自己的TLS私钥。

 

 

 

到了这里,关于【安全】对称加密、非对称加密、数字签名和CA是什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • python实现对称加密、数字签名、数字证书颁发

    一.开发目的: 理解开源密码库实现的基本架构,熟悉对称算法的加解密函数封装与调用,并能能够利用开源设计接口进行二次封装,并实现一个界面友好,功能正确的采用对称算法的文件加解密工具。 二.开发环境: 硬件环境: 处理器:Intel®Core™i5-1035G1 CPU @1.00GHz 1.19GHz2

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

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

    2024年02月16日
    浏览(54)
  • 算法2_非对称加密算法之ECDSA(椭圆曲线数字签名算法)

    ECDSA(椭圆曲线数字签名算法) AES(高级加密标准): =对称加密 ​ 对业务数据进行加密,防止他人可以看见 ECDSA(椭圆曲线数字签名算法):=非对称加密算法(公钥和私钥) ​ 验证数据的真实性,防止业务数据被篡改 SHA(安全哈希算法)=哈希算法 1. 作用: 因为ECDSA椭圆曲线数字签名算法获得

    2024年02月02日
    浏览(63)
  • Linux gpg命令(gpg指令、gpg加密工具)(GNU Privacy Guard、GnuPG)文件压缩加密、文件加密、文件解密、文件压缩密码、解压密码、GPG密钥、数字签名、非对称加密

    GNU Privacy Guard (GnuPG或GPG) 是一个完全免费的开源实现,用于OpenPGP标准的数据加密和解密。这种加密方式可以用于保护敏感数据,确保其在传输过程中不被截获或篡改。本文将介绍在Linux环境中如何使用GPG加密工具。 安装gpg 在大多数Linux发行版中,GPG已经预先安装了。 如果未安

    2024年02月03日
    浏览(85)
  • 【网络安全】理解报文加密、数字签名能解决的实际问题

    工作中重新接触了 【公钥、私钥、签名】的概念。抽空重新看了《计算机网络》和国外的小黑书,把这块基础知识再收敛一下。基于小黑书的叙事结构,把网络安全解决的实际问题拆解成: 防止报文泄露 防止报文被篡改 实体鉴别 端点鉴别 防止重放攻击 1. 防止报文泄露 —

    2024年02月11日
    浏览(45)
  • Https、CA证书、数字签名

    Https Http协议 Http协议是目前应用比较多应用层协议,浏览器对于Http协议已经实现。Http协议基本的构成部分有 请求行 : 请求报文的第一行 请求头 : 从第二行开始为请求头内容的开始部分。每一个请求头都是由K-V键值对组成。 请求体: 请求头完成后以空行结束、从空行开始

    2024年02月12日
    浏览(46)
  • CA与区块链之数字签名详解

    CA与区块链验证本质上都是数字签名,首先,我们看一下什么是数字签名! 数字签名是 公钥密码学 中的一种技术,用于 验证信息的完整性和发送者的身份 。简而言之,数字签名是一种 确认信息来源和信息完整性 的手段。它通常与区块链、数字证书、加密邮件等技术结合使

    2024年02月04日
    浏览(56)
  • 数字证书:签名证书&加密证书

    数字证书是基于认证机构(可信第三方)实现的,若不懂请复习PKI相关知识,我国为了加强对数据机密性的管控,采用双证书体系(签名证书加密证书),签名密钥对由用户自己产生,而加密密钥对则是由KMC(密钥管理中心)生成。 ———————————————————

    2024年02月08日
    浏览(48)
  • SpringCloudGateway实现数字签名与URL动态加密

    再网络传递数据的时候,为了防止数据被篡改,我们会选择对数据进行加密,数据加密分为对称加密和非对称加密。其中RSA和AES,TLS等加密算法是比较常用的。 对称加密是指加密和解密使用相同的密钥的加密方法。其基本流程包括以下步骤: 密钥生成 : 双方协商生成一个共

    2024年02月07日
    浏览(35)
  • 计算机网络实验之加密、数字签名与证书

    1.对称加密 2.散列函数 3.非对称加密 4.数字签名 5.证书 2.1 对称加密 (1)安装 OpenSSL:登录阿里云服务器,输入命令:“yum install openssl openssl-devel -y”,结果如下图所示,OpenSSL安装成功。 图2.1-1 安装OpenSSL (2)创建lx.txt文件:输入“vi lx.txt”命令创建 lx.txt 文件,并写入“世

    2024年02月08日
    浏览(85)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包