美文网首页
初识对称加密与非对称加密实际项目中的运用

初识对称加密与非对称加密实际项目中的运用

作者: CA_ | 来源:发表于2017-11-18 16:12 被阅读0次

这是最近关于公司内部技术分享,对其进行的梳理,学习了关于信息传输过程中如何通过加密技术来保证信息传输的安全。

RSA+AES通信流程着

在了解其中的通讯流程之前,先来了解下对应的加密技术概念

对称加密(Symmetric Cryptography)

对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key)。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中,常见的对称加密:DES、AES等。

非对称加密(Asymmetric Cryptography)

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用公钥进行加密,而解密则需要另一个密钥(私钥)。

保险箱例子

有个比较生动的例子就是:公钥就像是一个打开保险门的保险箱,这个打开门的保险箱,只要你要保存东西就会给你一个,你把保护的东西放进去,当你关上保险门的时候,自己将无法获取到里面的东西(公钥只负责加密,无法对已加密的信息进行解密)。在传输的过程中可以保证保险箱里面东西的安全,因为只有拥有钥匙🔑(私钥)的人才可以打开这个箱子,而这个钥匙只会在特定的人手里,拿不到钥匙是无法打开保险箱(可以想象这个保险箱无法暴力破解)。常见的加密方式:RSA。

我们假设的场景就是在信息传输的过程中,有可能会被黑客监听你的传输内容,如何在有中间人监听行为的情况下,还能保证传输信息的安全。

关于通讯流程这块的设计:

获取RSA公钥过程

1. 客户端通过请求服务端,获取到RSA公钥,公钥是谁来请求都会给的,私钥只会保存在服务端这边,不会进行私钥的传输。

利用RSA、AES进行加密与解密

2. 当客户端拿到服务端的传来RSA公钥,就像前面说到的打开保险箱例子,我们拿这个公钥对临时随机AES密钥登陆信息(账号、密码等)进行RSA加密(关上保险箱)。我们知道在网络传输中,账号与密码一般不允许通过明文来传输的,通过RSA加密,就算被中间人获取到了RSA加密后的信息,中间人手上没有对应的RSA私钥,无法对其进行RSA解密,所以无法获取到加密前的信息。中间人手上公钥只能进行加密,无法对加密的信息进行解密。

3. 服务端获取到RSA加密后的信息,通过手上的私钥对其进行解密,获取到对应加密前的信息(临时随机AES密钥与账号、密码等),服务端拿到账号密码后登陆校验其身份是否符合要求,当符合要求时会生成对应的正式AES密钥与返回的用户信息。这时需要用到之前从客户端拿到的临时随机AES密钥,对需要返回的正式AES密钥与用户信息进行AES加密(对称加密),返回登陆信息后,客户端通过临时随机AES密钥进行AES解密,拿到服务端返回的正式AES密钥与用户信息。对称加密这块使用的都是同一的密钥。

PS:这里可能会有疑问,就是为什么不直接通过RSA来传输信息呢?因为在使用RSA加密过程中,虽然安全性非常高,不过其对加密信息的长度与效率这块都有很大的限制,打个比喻,可以想象对称加密的效率是非对称加密效率的1000倍。所以在通讯过程中,一般对关键信息进行RSA加密,其它的信息通讯一般使用非对称加密。

正式AES密钥进行网络通讯

4. 最终客户端拿到的正式AES密钥服务端也有正式AES密钥,它们之间的网络通讯就是对网络模块的信息进行AES加密与解密,在此过程中,就能有效的保证传输信息的安全。网络模块中的签名验签的过程为了保证传输的信息完整性,防止串改。签名这块也有有效性的限制,有些只能检验(验签)一次就失效了,所以就算被中间人拿到这些传输信息也无法再次对服务端发起请求。

相关文章

  • 初识对称加密与非对称加密实际项目中的运用

    这是最近关于公司内部技术分享,对其进行的梳理,学习了关于信息传输过程中如何通过加密技术来保证信息传输的安全。 在了...

  • Web开发必须了解的密码学技术

    对称加密与非对称加密 按照密钥的使用形式,加密算法可以分为对称加密和非对称加密(又叫公钥加密)。对称加密在加密和解...

  • 4-对称加密

    对称加密与非对称加密 按照密钥的特征不同, 密码体制分为对称密码体制和非对称密码体制。对称加密和非对称加密都是可逆...

  • kotlin版本RSA非对称加密解密与分段加密解密

    基于kotlin语言的RSA非对称加密解密与分段加密解密 RSA非对称加密 RSA非对称加密的具体算法与来源我就不...

  • https交互流程简述

    https使用到的加密算法 对称加密非对称加密 通过非对称加密,交换对称加密的密钥,之后采用对称加密传输非对称加密...

  • 第四篇:非对称加密及RSA加密算法

    目录一、非对称加密 1、什么是非对称加密? 2、对称加密的工作过程 3、非对称加密的优点 4、非对称加密的不足二、...

  • 学习笔记:HTTPS协议原理

    对称加密和非对称加密 加密分两种,对称加密和非对称加密。对称加密是指加密的双方使用同一个密钥加密和解密数据。非对称...

  • 凯撒挪移码

    密码学中我所知道的加密算法分为对称加密和非对称加密,其中对称加密与非对称加密相比较为简单,我将从对称加密开始讲...

  • Https加密原理图解

    1. 为什么要用对称加密+非对称加密? 结合对称加密的快和非对称加密的安全。 2. 为什么不能只用非对称加密? 如...

  • ios开发之证书和签名机制(一)

    非对称加密和摘要 1、非对称加密的特性和用法 1) 非对称加密算法(RSA):非对称加密算法指加密秘钥和解密秘钥是...

网友评论

      本文标题:初识对称加密与非对称加密实际项目中的运用

      本文链接:https://www.haomeiwen.com/subject/teuevxtx.html