从这张图可以看到,中间人其实就是攻击者。通过这种原理,有很多实现的用途,比如说,你在手机上浏览不健康网站的时候,手机就会提示你,此网站可能含有病毒,是否继续访问还是做其他的操作等等。
中间人攻击的原理
举个例子,我和公司签了一个一份劳动合同,一人一份合同。不晓得哪个可能改了合同内容,不知道真假了,怎么搞?只好找专业的机构来鉴定,自然就要花钱。
在安全领域有句话:我们没有办法杜绝网络犯罪,只好想办法提高网络犯罪的成本。既然没法杜绝这种情况,那我们就想办法提高作案的成本,今天我们就简单了解下基本的网络安全知识,也是面试中的高频面试题了。
为了避免双方说活不算数的情况,双方引入第三家机构,将合同原文给可信任的第三方机构,只要这个机构不监守自盗,合同就相对安全。
如果第三方机构内部不严格或容易出现纰漏
虽然我们将合同原文给第三方机构了,为了防止内部人员的更改,需要采取什么措施呢
一种可行的办法是引入摘要算法。即合同和摘要一起,为了简单的理解摘要。大家可以想象这个摘要为一个函数,这个函数对原文进行了加密,会产生一个唯一的散列值,一旦原文发生一点点变化,那么这个散列值将会变化。
有哪些常用的摘要算法呢
目前比较常用的加密算法有消息摘要算法和安全散列算法(SHA)。MD5是将任意长度的文章转化为一个128位的散列值,可是在2004年,MD5被证实了容易发生碰撞,即两篇原文产生相同的摘要。这样的话相当于直接给黑客一个后门,轻松伪造摘要。
所以在大部分的情况下都会选择SHA算法
出现内鬼了怎么办?
看似很安全的场面了,理论上来说杜绝了篡改合同的做法。主要某个员工同时具有修改合同和摘要的权利,那搞事儿就是时间的问题了,毕竟没哪个系统可以完全的杜绝员工接触敏感信息,除非敏感信息都不存在。所以能不能考虑将合同和摘要分开存储呢
那如何确保员工不会修改合同呢
这确实蛮难的,不过办法总比困难多。我们将合同放在双方手中,摘要放在第三方机构,篡改难度进一步加大
那么员工万一和某个用户串通好了呢
看来放在第三方的机构还是不好使,同样存在不小风险。所以还需要寻找新的方案,这就出现了数字签名和证书
数字证书和签名
同样的,举个例子。Sum 和 Mike 两个人签合同。Sum 首先用 SHA算法计算合同的摘要,然后用自己私钥将摘要加密,得到数字签名。Sum 将合同原文、签名,以及公钥三者都交给 Mike
如果 Sum 想要证明合同是 Mike 的,那么就要使用 Mike 的公钥,将这个签名解密得到摘要x,然后Mike 计算原文的sha摘要Y,随后对比x和y,如果两者相等,就认为数据没有被篡改
在这样的过程中,Mike 是不能更改 Sum 的合同,因为要修改合同不仅仅要修改原文还要修改摘要,修改摘要需要提供Mike 的私钥,私钥即 Sum 独有的密码,公钥即 Sum 公布给他人使用的密码
总之,公钥加密的数据只能私钥可以解密。私钥加密的数据只有公钥可以解密,这就是非对称加密
对称与非对称加密
隐私保护?不是吓唬大家,信息是透明的兄die,不过尽量去维护个人的隐私吧,今天学习对称加密和非对称加密。
大家先读读这个字"钥",是读"yao",我以前也是,其实读"yue"
对称加密
对称加密,顾名思义,加密方与解密方使用同一钥匙(秘钥)。具体一些就是,发送方通过使用相应的加密算法和秘钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的秘钥解锁信息,从而有能力阅读信息。
常见的对称加密算法
DES
DES使用的密钥表面上是64位的,然而只有其中的56位被实际用于算法,其余8位可以被用于奇偶校验,并在算法中被丢弃。因此,DES的有效密钥长度为56位,通常称DES的密钥长度为56位。假设秘钥为 56 位,采用暴力破Jie的方式,其秘钥个数为2的56次方,那么每纳秒执行一次解密所需要的时间差不多1年的样子。当然,没人这么干。DES现在已经不是一种安全的加密方法,主要因为它使用的56位密钥过短。
IDEA
国际数据加密算法(International Data Encryption Algorithm)。秘钥长度128位,优点没有专利的限制。
AES
当DES被破解以后,没过多久推出了 AES算法,提供了三种长度供选择,128 位、192 位和 256,为了保证性能不受太大的影响,选择128即可。
SM1和SM4
之前几种都是国外的,我们国内自行研究了国密 **SM1 **和 SM4。其中S都属于国家标准,算法公开。优点就是国家的大力支持和认可
总结下几种