欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

加密技术入门——从对称加密到CA证书

程序员文章站 2022-07-04 11:37:16
...

加密技术入门——从对称加密到CA证书

几个基本概念

对称加密

对称加密是最传统的加密方式,简单说就是用一个密钥对原文加密,再用同样密钥对原文解密。对称加密的优点就是加密速度快,但是缺点也很明显,密钥的传递无法保障。常见的对称加密算法有DES、3DES、AES等

非对称加密

为了解决密钥传递的问题,聪明的人类罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman) 加密技术入门——从对称加密到CA证书
            
    
    博客分类: 安全 对称加密非对称加密数字签名数字信封CA数字证书 

发明了非对称加密算法RSA。简单来说就是有一个公钥和一个私钥,私钥自己保留,公钥分发给别人。可以用公钥加密用私钥解密,也可以用私钥加密用公钥解密,但是不能用私钥加密私钥解密,也不能用公钥加密公钥解密。非对称加密很好的解决了对称加密中的密钥传递的问题。

摘要

摘要可以看作是你传递的内容的唯一指纹,独一无二的。摘要的这个特征能很好的验证传递的内容是否被别人篡改了。摘要最著名的算法当属MD5,更安全的可以采用SHA。

一个典型的应用场景

A(客户端)传递给B(服务器端)一段内容,要求不被篡改,密钥不能公开

加密技术入门——从对称加密到CA证书
            
    
    博客分类: 安全 对称加密非对称加密数字签名数字信封CA数字证书 

  1. A用对称加密des将原文加密
  2. A用md5对原文生成摘要
  3. A用B给的公钥(PB)将对称密钥加密
  4. B接到上述内容后,先用自己的私钥(SB)解密,获得对称密钥
  5. 用对称密钥解密密文获得原文
  6. 将解密出来的原文进行md5获得摘要2
  7. 用摘要1和摘要2比对,看看是否一致
  8. 如果一致表示内容没有篡改,是一个可信的内容

问题

这存在一个安全隐患,A的身份B无法确认,B不能确定这段密文一定是A给他发的。解决方案就是用数字签名。

数字签名

数字签名其实就是非对称加密和摘要的结合使用。原理很简单,对称加密支持私钥加密,公钥解密。那么我们用A的私钥加密,如果能用A的公钥解密那就能确定这段内容一定是A发送的。非对称加密效率较低,所以通常会结合摘要来实现。

数字信封

上述场景结合数字签名其实就是一个数字信封的应用。

加密技术入门——从对称加密到CA证书
            
    
    博客分类: 安全 对称加密非对称加密数字签名数字信封CA数字证书 

交互过程基本相同,唯一不同的地方就是摘要需要用A的私钥(SA)加密,B收到后用A公钥(PB)来获得摘要1。

问题

问题1:B(服务器端)需要知道所有A(客户端)的公钥

问题2:B(服务器端)和A(客户端)的公钥变得十分重要,公钥是公开的,如果其他人冒充身份提供公钥如何解决?

CA数字证书

解决公钥可靠性的方法就是CA数字证书。公钥的分配都有一个可信的机构来分配,就是CA。

 

  1. CA用它的私钥做数字签名就是CA提供的证书:证书=CA的私钥(B的身份+B公钥)
  2. 客户端获取证书 -> CA的公钥(证书)-> 获得B的身份和B的公钥