企事业单位都需要定期对信息系统和自动化资产进行系统安全等级检测,检测完毕后,承检公司会出具一份检测报告,其中会列出检查出来的一系列问题,其中对于设备远程管理方式归为高风险问题。我相信很多单位也没有全面改进远程管理问题,这个跟系统建设时期客户没有要求,同时为提高部署效率,乙方也没有此进行提议造成的。
尽管如此,我认为还是有必要重视明码数据在传输过程中的危险性,也建议技术人员至少把关键部位的管理技术进行升级,现行的技术最通用的基本是SSH、HTTPS,本文将从纯技术方向一点点剖析HTTPS。(本文适合从事研发、系统运维、信息安全人员阅读)
首先,我们将提出一个真实场景,以及目标。本位将围绕这个最终目标为您一点点架构出一个安全的传输方式HTTPS。
最终目标:A发送hello包给B,即使被中间人拦截也无法得到其内容。
王健林名言:先建立一个能达到的小目标
小目标1:A与B通信,且只有AB有能力看到通信真正内容。
实现手段:对称加密内容,只要密钥不公开给第三者,且只有A和B知道如何加、解密。
但在Web服务环境下,通信可没有那么简单,如下图:
服务器对所有客户段使用相同的对称加密算法,无异于没有加密了!有些人说那就对不同的客户端使用不同加密方法,但是双方协商过程没有被加密,还是会被中间人截取,所以下一个目标就是加密双发协商过程。
小目标2:加密双发协商过程
实现手段:我们只要解决协商过程保护这一问题,就可以保证目标完成。对协商过程使用非对称加密。
非对称加密特点:私钥加密,公钥都可以解开;公钥加密,只有私钥可解。
1、 私钥只有一个人有,而公钥发给所有人
2、 非对称加密只能保证AB向服务器方向是安全的,因为私钥是服务器私有的,信息被拦截也无法解密
3、 服务器向AB方向还是不安全,因为公钥公开
但服务器向客户端发送公钥过程是不安全的(为了后续非对称加密,客户端需要一开始就持有服务器公钥),因为中间人调包公钥,客户端无法分辨公钥是中间人还是服务器发送的。
小目标3:需要让客户端确定公钥是由服务器传递,即身份认证
实现手段:数字证书
数字证书:服务器将自己公钥提供给第三方机构,第三发机构用自己的私钥加密后,颁发给服务器管理者。
如果中间人用自己的私钥加密后传给客户端,客户端是无法用本地存储的第三方公钥解密的。但是这样就安全了吗?
我们知道,第三方也会给诸如中间人发放证书,由于客户端能解密同一家第三机构办法的所有证书。如果中间人截取你的证书调包,客户端是无法分辨是服务器还是中间人的证书,都可以用第三方公钥解密。
小目标4:解决同一机构颁发不同证书被篡改的问题
实现手段:数字签名(证书编号)
客户端拿到证书后,根据证书上的方法自己生成一个证书编号
如果编号与证书上编号相同,那么证书是真实的
但是第三方机构的公钥怎么跑到了客户端的机器中呢?
现实中,浏览器和操作系统都会维护一个权威的第三方机构列表(包括它们的公钥)。因为客户端接收到的证书中会写有颁发机构,客户端就根据这个颁发机构的值在本地找相应的公钥。
第三方如何颁发数字证书给服务器端的?
拿到证书后,我们就可以将证书配置到自己的服务器上了。
本文摘自 :https://blog.51cto.com/u