赞
踩
思考
首先对于服务器数据的安全,我们可以考虑到,三种情况,
第一种完全不让进入服务器,很直接,也很不合实际,手动狗头
第二种让进入服务器,但是不让拿走数据,想法很简单,操作很复杂
第三种拿到数据,也无法看懂,或者说无法解密,这就是现行的方法,及通过证书文件进行加密
前置知识
HTTPS 通过 TLS/SSL 协议实现 HTTP 的加密安全传输。而 TLS/SSL 协议主要依赖三种算法实现安全功能:
HTTPS使用的是对称加密和非对称加密结合的方式,具体流程如下:
客户端使用服务器给的公钥加密 对称密钥
服务器使用私钥解密客户端的 对称密钥
对称加密和非对称加密
对称加密 的 特点是 加密和解密的密钥是一样的。其加密简单速度快,但是不够安全
非对称加密的 特点是加密和解密的密钥是不同的。分为公钥和私钥,公钥是人人可以获得的,而私钥是自己持有的,用来解密别人用公钥加密的信息。 其安全,而且只用维护一个私钥即可。但加密解密复杂耗费时间。
自签名和CA签名
自签名顾名思义是自己证明自己,只有root是自签名的
而CA签名是由Root根据其私钥签发的证书,包含有CA签名,及由上一级提供证明的签名
Root 证书 ,CA证书,x509证书的关系
使用Root证书的私钥签发CA证书,再用CA证书的签发其他的X.509证书
1.向第三方CA提供信息,获取认证合法后的证书,包含一个签名,签名是通过散列函数计算公开的明文信息生成的信息摘要,然后,利用CA的私钥对其进行加密,最后的密文及签名。
2.客户端向服务器发出请求,然后服务器返回证书文件
3.客户端读取证书中的明文信息,采用相同的散列函数计算得到信息摘要。然后利用对应CA的公钥解密签名获得信息摘要,对比,如果一致,则说明证书有效。
4.有效后,客户端随机生成对称密钥,利用服务器的公钥加密,发送给服务器,服务器通过密钥解密后获取到客户端的对称密钥。后续服务器可以根据对称密钥解密客户端的密文。
通过浏览器可以查看网址的安全性以及证书信息,如下,我截取了CSDN的证书信息以作展示
证书层次,从下图,可以发现,证书是层级,由上一级发布下一级的证书,而最终的根CA是系统厂商在出场时设置的,它是一个自签名,因为没有更上一级,其自己为自己正名。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。