zoukankan      html  css  js  c++  java
  • 计算机网络自顶向下方法【九】——安全

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      

      

      

  • 相关阅读:
    用Django开发简单的POST/GET接口
    搭建Django环境
    用Django创建一个项目
    NodeJS服务器退出:完成任务,优雅退出
    linux 常用bash
    泛型笔记
    finderweb日志查看系统配置使用
    finderweb日志查看系统部署
    jenkins+gitlab自动部署代码
    jenkins 配置 git拉取代码
  • 原文地址:https://www.cnblogs.com/weixin-tt/p/11258321.html
Copyright © 2011-2022 走看看