HTTPS
所有的HTTP请求和响应数据都需要加密。 一个传输级的安全密码层:SSL
后继者:TLS。 我们不严格的用SSL表示SSL和TLS
HTTPS是位于安全层之上的HTTP,这个安全层位于TCP之上。
为什么用HTTPS (必要性)
服务器认证 :客户端知道它是在与真正的而不是伪造的服务器通话
客户端认证:服务器知道他们是在与真正的而不是伪造的客户端通话
完整性: 客户端和服务器的数据不会被修改
加密:对话是私密的,不怕被窃听
效率: 一个运行足够快速的算法
普遍性:所有的客户和服务器都支持这些协议
管理的可扩展性:任何地方的任何人都可以立即进行安全通信
加密原理
对称加密技术
编码的时候使用的密钥值 和 解码的一样
e=d . 对称密钥加密中发送端和接收端共享相同的密钥才能通信!
举例
一个客户端发送信息给另一个节点,它用自己的一个密钥加密这个信息,然后发送给另一个节点客户端,另一个节点也要使用这个对应的密钥来解密这个信息。 如果一个通信链路上有N个节点,那么其中一个节点和其他N-1个节点进行通信的话就需要N^2个密钥。这对于管理来说非常困难。
非对称加密技术
一把公钥发给多个客户端,它们可以用这个公钥加密自己的信息然后发送给服务端,如果要对内容解密的话就必须用服务端的私钥才能解密。
对于一个通信链路中的一个节点来说,就是,任何想要发送报文给节点X的人它的密钥是公开的,你使用它提供的密钥加密即可。 X接收到信息后,使用它自己的私钥才能解密。 别人就算获取了它的报文,也无法破解。
RSA
RSA是一种用在公开密钥非对称加密系统的算法。
公开密钥(公有的)
一小片拦截下来的密文(可通过网络获取)
一条报文及与之相关的密文&