对称/非对称加密、https单/双向认证、数字签名

密钥主要有两类用途:加密和鉴别(验证通信对象是否是自己要通信的对象,而不是其他冒充的对象,并且传输的报文是未被篡改的)。一般公钥密码体制既可用来加密,又可用来鉴别;对称加密一般用来加密。

对称加密(对称密码体制)

加密密钥与解密密钥相同。DES、IDEA等

非对称加密(公钥密码体制)

加密密钥与解密密钥不同。主要是用于解决对称加密中密钥分配问题和数字签名需求。RSA等

加密密钥PK(public key,即公钥)是公开的,解密密钥SK(secret key,即私钥或秘钥)是保密的。加密算法和解密算法也是公开的。

公钥加密过程

公钥密码体制特点

任何加密方方式的安全性取决于密钥的长度,以及攻破密文所需的计算量,而不是简单取决于加密的体制(公钥密码体制或对称密钥体制)

数字签名

对纯数字的电子信息进行签名,表明该信息确实是某个特定的对象产生的。(报文鉴别)

数字签名必须钥实现的三点功能

数字签名过程

任何人用A的公钥解密后都可以还原出明文X,可见数字签名并非为了保密,而是为了进行签名的核实,即确认此明文是A发送的。

为什么数字签名能具有上述三点功能

但上述仅对报文进行了签名,并未对报文本身加密,任何截获了密文并通过查阅得知公钥者都可以通过公钥解密得知报文的真实内容,以下通信方式可以实现既加密和数字签名的功能。发送端对签名的内容加密后再传输,接收端先解密再验证身份。

更简单的数字签名

以上数字签名能够实现对报文的鉴别,但是有个缺点,对较长的报文进行数字签名会极大增加计算机的负担。加解密都需要花费非常多计算机的CPU时间。密码散列函数可以相对简单地对报文进行鉴别。SHA-1,MD5MD5已被破解,建议SHA-1)。

散列函数输入长度可以很长,但是其输出长度固定且较短。

原理

以上报文鉴别对整个报文是不需要加密的。虽然需要对散列码进行加密,但由于散列码的长度通常远小于报文长度,因此这种加密不会消耗很多计算资源。

注意:公钥加密,私钥解密,解决加密问题。私钥加密,公钥解密,解决身份验证问题,两者同时使用,都可以解决。

实体鉴别

实体鉴别与报文鉴别不同。报文鉴别是对每个收到的报文都要鉴别报文的发送者,而实体鉴别是在系统接入的全部时间内对只对通信方验证一次。不展开讲了,中间还涉及到密钥的管理与分配,比较复杂。可以参考谢希仁《计算机网络第六版》第七章。

SSL

ssl是一种安全协议,ssl应用最多的是http,但并非仅用于http,可以用于任何应用层的协议。ssl作用在应用层的http和传输层之间,在tcp之上建立一个安全通道,为通过tcp传输的应用层提供安全保障。

在发送方,ssl从ssl套接字接受应用层的数据,对数据进行加密,然后将加密的数据送往tcp套接字;在接收方,ssl从tcp套接字读取数据,解密后,通过ssl套接字将数据交给应用层

ssl工作过程(以万维网为例):

ssl既用到了公钥加密又用到了对称加密。用公钥传递对称密钥,用对称密钥进行数据加密传输

https单向认证与双向认证

图7-18过程就是https单向认证过程,即客户端验证服务端,客户端保存着服务端证书并信任该证书。https一般是单向认证,这样可以让他人访问你的站点。双向认证即客户端和服务端互相验证。客户端与服务端互相保存着对方的证书并互相信任对方的证书。双向认证一般用于企业间服务对接。证书中保存着域名,公钥、证书过期时间等信息

双向认证具体过程

客户端验证服务端过程:

服务端生成自己的证书,客户端信任服务端的证书,即在浏览器导入服务端证书(一般为cer文件)。客户端与服务端通信时需验证客户端身份,服务端会将自身的证书信息发送给客户端,由于客户端信任过该证书,所以验证通过,客户端可以安全的访问该站点。否则浏览器会弹出所要访问的站点不安全的警告信息。

服务端验证客户端过程:

客户端生成自己的证书,服务端信任客户端的证书,即将客户端的证书(一般为cer文件)导入服务端信任的keyStore文件,(使用命令),keyStore是存放密钥的容器,包括私钥和公钥,有jks,keyStore,trustStore等后缀格式,并在服务端配置文件中配置。(此处的配置服务端自身密钥库与服务端需要安装自己的证书一个道理,因为在被验证的时候会将自身的证书发给对方)

客户端还需安装自己的证书,在与服务端通信时会将自己的证书信息发送给服务端,由于服务端信任过客户端的证书,所以验证通过。

双向认证的配置:https://www.cnblogs.com/xiaofanke/p/6504552.html

各种证书后缀解释:https://www.cnblogs.com/testlife007/p/6888191.html

参考:

《计算机网络》第七版 谢希仁

http://www.cnblogs.com/2333/p/6601769.html

推荐阅读:

http://www.williamlong.info/archives/2058.html

https://zhuanlan.zhihu.com/p/60690241

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值