1.简述HTTP与HTTPS协议的区别
- HTTPS是HTTP协议的安全加强版
- HTTPS站点会在地址栏上显示一把绿色小锁,表明这是加密过的安全网站
- HTTP标准端口是80,HTTPS标准端口是443
- HTTP无需证书,HTTPS需要CA机构颁发的SSL证书
- HTTP工作于应用层,HTTPS工作于传输层
2.什么是数字证书?
数字证书是指在互联网通信中标志通信各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。数字证书是可信任组织颁发给特定对象的认证。
数字证书包括:证书格式,版本号,证书序列号,签名算法,有效期,对象名称,对象公开密钥...
3.TLS建立连接的过程,SSL安全参数握手的过程
TLS:传输层安全性协议(Transport Layer Security)
首先,客户端通过443端口与服务端建立TCP连接;然后,进行SSL安全参数握手,握手完双方会获得对称的密钥,之后就可以数据的传输了。
握手过程:
- 客户端向服务端发送:随机数1(客户端生成),协议版本,加密算法(对称加密的算法)
- 服务端向客户端发送:确定加密算法,数字证书,随机数2(服务端生成)
- 客户端首先确认证书是否有效(向颁发机构确认),然后随机数3(客户端生成),最后向服务端发送使用证书中的公钥加密后随机数3
- 服务端有自己的私钥可以解密随机数3,此时双方都拥有了随机数1,2,3,各自根据随机数和加密算法生成对称密钥,之后双方通过密钥进行加密通信
为什么不直接使用非对称加密来进行通信?
1.非对称加密通信的前提是双方各自都要拥有对方的公钥,成本高
2.非对称加密解密的运算量比对称的大很多
4.简述对称加密与飞非对称加密
对称加密:我们都拥有同一个密钥,对传输内容用该密钥进行加密解密
非对称加密:你用我给你的公钥对信息进行加密,发送给我之后,我用自己的私钥进行解密
5.MD5是加密算法吗?为什么?什么是加盐处理?
不是,因为只有加密,不能解密。
在进行哈希操作前,给要哈希的对象添加一个自定义的字符。