说得直白点,数字证书(Digital Certificate)即通过对通信双方(比如浏览器和服务器)之间传输的数据进行加密以达到安全通信的目的。除了加密功能外,数字证书还用于身份认证,即数字证书就像是居民身份证一样,能够向别人证明“你确是你”。
一点点理论基础
我们都知道,HTTP协议对数据采用明文传输,浏览器和服务器之间的所有数据传输都赤裸裸地暴露在互联网上,包括你在登陆某个网站时输入的密码。为了解决这个问题,前人发明了对数据进行加密传输的HTTPS协议,该协议又建立在SSL/TLS协议之上。SSL/TLS位于HTTPS与TCP协议之间,是实现数据加密的核心协议,其本质上讲是对TCP协议的一层封装。由此可见,SSL/TLS其实不止可以用于HTTP,任何采用TCP协议的数据通信都可以采用SSL/TLS进行传输,比如FTP。只是就当前而言,SSL/TLS最为广泛的应用在于HTTPS。
在计算机密码学里,存在着对称加密和非对称加密两种加密方式,对称加密即通信双方均使用相同的密钥,如果Alice要将密文发给Bob,那么她首先需要将密钥发给Bob,那么问题来了——密钥又通过什么方式能够安全地发给Bob?为了解决这个问题,出现了非对称加密算法,即加密采用一个密钥,解密采用另一个密钥,两个密钥组成一个密钥对,由一个密钥加密的数据只能由密钥对中另一个密钥才能解密,最典型的非对称加密算法非RSA莫属。RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥(Public Key),而两个大素数组合成私钥(Private Key)。公钥是可发布的供任何人使用,私钥则为自己所有,供解密之用。SSL/TLS便使用了非对称加密。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26