openssl 详解
//如果需要帮助共同学习,可添加微信号:sandyAndroid,添加时请备注来源和请求信息,也可以入全栈新QQ群1009769932
openssl 是网络通信的基石和安全保证,没有openssl,可以说我们的网络传输的信息都是明文,裸奔数据,对安全性大打折扣。下面我们先熟悉几个名词:
一: 概念
1. SSL
SSL的全名叫做secure socket layer(安全套接字层),最开始是由一家叫网景的互联网公司开发出来,主要是防止信息在互联网上传输的时候不被窃听或者篡改,后来网景公司提交SSL给ISOC组织做标准化,改名为TLS。
数据如何被窃取:很简单,如果你上网通过wifi,那么你的数据一定会经过路由器, 通过对路由器做一些处理就可以很容易拿到这些路由经过的数据。
2. 非对称加密
首先说下两个名称,公钥和私钥,公钥可以在网络传输,私钥只能保存在本地,可以使用公钥加密信息,也可以使用私钥加密信息。公钥和私钥是可以相互推导的,根据私钥可以很容易的计算出公钥,但是根据公钥却很难拿到私钥(所以安全),在互联网上,私钥一般都是保存在服务器端, 公钥则是由客户端保存使用。
3. 对称加密
对称加密的安全性相比较非对称加密降低很多, 对称加密顾名思义,客户端和服务端都约定使用同一个加解密算法A,客户端使用算法A对传输信息M进行解密成密文, 然后将密文传输到服务端, 服务端使用算法A对密文数据进行解密获取传输信息M,这样服务端就拿到了客户端传输的数据信息,完成一次数据通信。
4. 数字签名
数字签名用的比较多, 一直在做windwos usb生物识别驱动开发, 为了驱动在windows系统上安装并工作正常,需要进行对驱动进行数字签名,我是用过CA证书数字签名,EV证书数字签名,好了扯远了,回到数字签名概念上来。
网络传输报文经过Hash算法生成固定位数的摘要信息1,然后用私钥将摘要加密,和之前的报文一起,发送给接收者,接收者通过公钥将摘要解密出来,同样通过Hash算法加密出报文摘要2,如果摘要1和摘要2一直,说明数据没有被纂改,证明数据是完整的。
因为接收者是使用公钥解密的数据,如果数据完整,证明发送数据的人是持有私钥信息的,就能证明发送者的身份,因此数字签名具有证明发送者身份和防止纂改的功能。
5. 数字证书
由CA颁发给网站的身份证书,里面包含了该网站的公钥,有效时间,网站的地址,CA的数字签名等。
所
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
