计算机网络自顶向下方法【九】——安全

纵饮孤独 提交于 2020-02-03 08:45:11

  这两周,加班,周末团建,朋友喊出去吃饭看电影……似乎好多好多事情,都能成为不看书的理由啊!但归根结底,还是自己懒惰了。

  这次看的是计算机安全。我才加入项目时,就在改安全,直到今天,已经近一年了,还是没改完安全。办公桌周围熟悉的面孔倒是少了不少,我竟从刚进来时的萌新,变成了别人眼中有经验的人了!

  没看之前,我也看过不少安全方面的东西,加密、SQL注入,要用占位符不能直接拼,前台不能写表名SQL语句(这个很坑,是前人有个大佬在前台封装了个好用的控件),响应和请求不能有敏感信息……

  看看这本书里是怎么理解“安全”的吧!

  安全,一直是我们希望拥有的东西,就像理财时我们希望能保本并且盈利一样,书中举了个例子:Alice和Bob是一对私下里保持秘密关系的人;他们当然希望相互之间的通信是安全的。

  安全通信,需要的特性:机密性(报文需要加密)、报文完整性(发送的内容未被改变)、端点鉴别(和我通信的人,是我想通信的那个人吗?)、运行安全性(防火墙)。

  入侵者可能做的操作:窃听(看到2人的报文)、修改2人之间的报文。

  应对这个问题,做出的应对就是加密。和我工作里做的处理一样嘛。

  这边提到了密码学原则。我知道的是,我们现在系统里用的是对称加密,这在之后肯定是需要改变的。

  密码学就是,发出报文前加密,这样在传输过程中传的就是密文,接收方接受时先解密,再查看报文。这样就实现了传输过程的加密,接收人获取的信息则是密文,查不到有效信息。

  所有密码算法,都是一种东西替换另一种的思想。然而加密算法是公开的……这就需要密钥了。

  对称加密技术,块密码与流密码,块密码,把加密的报文处理为k比特的块,每块独立加密,为了加密一个块,采用一对一映射的方式。举了几个对称加密的函数例子,我们项目里用的正是AES啊!

  然后,RSA,一堆公式,反正就知道他是个加密算法的标准就行了。

  为确保报文完整性,需要用到数字签名与端点鉴别。

  接收方需要知道,报文的发送源头确实是那个发送方,并且报文在中途没被改变。

  密码散列函数:散列值是唯一的,入侵者不可能替换。

  报文鉴别码:就是一个共享密钥,和报文一起生成个散列(这不就是hash码吗!我们发包时也这样验证,压缩包获取hash码,每个现场用密钥弄一下,对比下hash码,确保邮件发过去的内容是我们这边要发的那个。)

  数字签名:就是给个不会重复的字符串?公钥与私钥的概念还是。

  端点鉴别:人类世界,鉴别一个人的方式有许多,但在计算机世界却不一样。简单来说,应该就是生成个token值一起发给接收方,确保我是我。

  

  

  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!