对称加密与公钥加密体制

对称加密体制

1.对称加密概念

       对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。而在大多数的对称算法中,加密密钥和解密密钥是相同的。

2.对称加密图解

假设bob与alice进行通信,双方公用一个密钥key,消息内容(明文)先经过密钥加密后发送给Alice,Alice收到消息后也用密钥key对消息进行解密,得到明文。

3.对称加密的优缺点

优点:

  1. 加密和解密的速度都比较快,具有很高的数据吞吐率,不仅软件能实现较高的吞吐率,还易于硬件实现,硬件加密 / 解密的处理速度更快。

  2. 对称密码体制容易实现。根据对称密码体制中只存在一个单一的密钥的这种特性,单钥加解密算法可通过低费用的芯片来实现,特别是便于硬件实现和大规模生产。

  3. 对称密码体制中使用的密钥相对较短。

  4. 密文的长度往往与明文长度相同。

缺点:

  1. 密钥分发需要安全通道。发送方如何安全、高效地把密钥送到接收方是对称密码体制的软肋,对称密钥的分发过程往往很烦琐,需要付出的代价较高。

  2. 密钥量大,难以管理。多人用对称密码算法进行保密通信时,将极大地增加密钥管理(包括密钥的生成、使用、存储、备份、存档、更新等)的复杂性。

  3. 难以解决不可否认的问题。因为通信双方拥有同样的密钥,所以接收方可以否认接收到某消息,发送方也可以否认发送过某消息,即对称密码体制很难解决鉴别认证和不可否认的问题。

  4. 密钥交换缺乏安全性保证。如果密钥交换不安全,密钥的安全性就会丧失。特别是在电子商务环境下,当客户是未知的、不可信的实体时,如何使客户安全地获得密钥就成为一大难题

  公钥加密体制

1.公钥加密体制的提出背景

       公钥密码可以解决传统密码中的密钥分配困难的问题,公钥密码的提出是为了解决“签名”问题和身份认证问题,网络的普及需要提供另外一些服务(与保密性不同的身份认证和数字签名)

2.公钥密码体制的加解密流程

       与对称密码体制不同,公钥密码体制不采用单个密钥,而是采用密钥对的形式进行加解密。用户会生成自己的密钥对,即公钥和私钥,公钥是公开的而私钥只有生产的用户自己知道。bob与Alice通信,bob发送的明文信息用Alice的公钥进行加密处理,Alice收到后用自己的私钥对消息进行解密,得到明文,同理Alice给bob发送消息会用bob的公钥对消息明文进行加密,bob收到后用自己的私钥进行解密得到明文。虽然公钥是公开的,但在正常情况下私钥只有自己知道,其他人无法解密。

通常常用对称加密方式对消息进行加密,公钥密码体制用于数字签名实现身份的认证。

数据安全传输案例

 如图,alice与bob进行通信,原始的明文信息先通过哈希函数得到消息摘要 hash(原始明文信息),接着用alice的私钥对摘要进行加密得到数字签名来实现身份的认证  E(消息摘要,key_pri_alice),

alice再将数字签名,原始明文信息,和alice的证书 一同利用对称加密体制,alice和bob共用的密钥s_key进行加密,得到加密信息 E(数字签名,原始明文信息,s_key),用bob的公钥对对称加密的密钥s_key进行加密得到密钥信封,E(s_key,key_pub_bob),加密信息与密钥信封封装发送给bob。

bob收到加密信息和密钥信封后利用自己的私钥 key_pri_bob对密钥信封进行解密得到对称加密用到的密钥s_key,接着用s_key对加密信息进行解密得到数字签名,alice的证书,和原始明文信息。bob用alice的公钥 key_pub_alice对解密得到的数字签名进行解密得到bob对明文进行哈希运算的摘要信息(摘要1),bob验证签名的过程是对解密得到的明文信息也做相同的哈希运算,得到值(摘要2),摘要1与摘要2做对比,如果相同则身份认证成功。

同理bob给alice发消息也做哈希运算得到摘要,用bob自己的私钥进行数字签名,将数字签名,明文信息,bob的证书通过对称加密共用的密钥s_key进行加密,将s_key通过alice的公钥key_pub_alice进行加密得到密钥信封,将加密信息和密钥信封封装发送给alice,alice收到后用自己的私钥key_pri_alice对密钥信封进行解密得到s_key,用s_key对加密信息进行解密得到原始信息,数字签名等信息,验证签名过程是对明文信息做相同哈希运算得到摘要3,用bob的公钥key_pub_bob对数字签名信息进行解密得到摘要4,摘要3与摘要4做对比来验证身份。 

TLS协议详解

1.TLS协议介绍

传输层安全性协议 (Transport Layer Security,缩写作 TLS),它的前身是安全套接层 (Secure Sockets Layer,缩写作 SSL),是一个被应用程序用来在网络中安全通信的 protocol (通讯协议),防止电子邮件、网页、消息以及其他协议被篡改或是窃听。

是用来替代SSL的,是一种密码协议,用来提供计算机之间交互的安全通信。主要用于https通信,也用于email,即使通信等。

SSL 即安全套接字层,它在 OSI 七层网络模型中处于第五层,SSL 在 1999 年被 IETF(互联网工程组)更名为 TLS ,即传输安全层,直到现在,TLS 一共出现过三个版本,1.1、1.2 和 1.3 ,目前最广泛使用的是 1.2,所以接下来的探讨都是基于 TLS 1.2 的版本上的。

所有现代浏览器都支持 TLS 协议,它们都要求服务器提供一个有效的digital certificate(数字证书)来确认身份以建立安全连接。如果客户端和服务器都能提供自己的数字证书,则它们可以互相认证。

2.TLSv1.2协议过程

访问https协议的网站抓包分析

        1.客户端先向服务端发送client hello包,服务端收到后发送ACK确认信息

       client hello包含的主要信息是客户端向服务端发送一个随机数,记为随机数1,如下图的Random字段

        另一个主要信息是加密套件信息,如下图所示的Cipher Suites,服务端选取相应的加密方式。

 

        2.服务端向客户端发送数据包,其中包含的重要信息是:服务端生产的一个随机数,记作随机数2,服务端的证书信息,以及服务端的公钥。客户端收到后发送ACK确认。

         服务端生成的随机数2,Random字段

 

        服务端的公钥,Pubkey字段

 

        服务端的证书信息,Certificates包含了服务端的证书信息。

 

         3.客户端收到服务端发过来的公钥后,用这个公钥加密过后的预主密钥。

         预主密钥,Pubkey字段。

以上数据信息若均正常发送接收则对称加密的密钥s_key由随机数1,随机数2和预主密钥共同构成。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值