美文网首页
网络层的安全处理

网络层的安全处理

作者: Coder_LRT | 来源:发表于2018-02-02 16:06 被阅读0次

1、尽量使用https

https可以过滤掉大部分的安全问题。https在证书申请,服务器配置,性能优化,客户端配置上都需要投入精力,所以缺乏安全意识的开发人员容易跳过https,或者拖到以后遇到问题再优化。https除了性能优化麻烦一些以外其他都比想象中的简单,如果没精力优化性能,至少在注册登录模块需要启用https,这部分业务对性能要求比较低。

2、不要传输明文密码

不知道现在还有多少app后台是明文存储密码的。无论客户端,server还是网络传输都要避免明文密码,要使用hash值。客户端不要做任何密码相关的存储,hash值也不行。存储token进行下一次的认证,而且token需要设置有效期,使用refresh

token去申请新的token。

3、Post并不比Get安全

事实上,Post和Get一样不安全,都是明文。参数放在QueryString或者Body没任何安全上的差别。在Http的环境下,使用Post或者Get都需要做加密和签名处理。

4、不要使用301跳转

301跳转很容易被Http劫持攻击。移动端http使用301比桌面端更危险,用户看不到浏览器地址,无法察觉到被重定向到了其他地址。如果一定要使用,确保跳转发生在https的环境下,而且https做了证书绑定校验。

5、http请求都带上MAC(消息认证码)

所有客户端发出的请求,无论是查询还是写操作,都带上MAC(Message Authentication

Code)。MAC不但能保证请求没有被篡改(Integrity),还能保证请求确实来自你的合法客户端(Signing)。当然前提是你客户端的key没有被泄漏,如何保证客户端key的安全是另一个话题。MAC值的计算可以简单的处理为hash(request

params+key)。带上MAC之后,服务器就可以过滤掉绝大部分的非法请求。MAC虽然带有签名的功能,和RSA证书的电子签名方式却不一样,原因是MAC签名和签名验证使用的是同一个key,而RSA是使用私钥签名,公钥验证,MAC的签名并不具备法律效应。

6、http请求使用临时密钥

高延迟的网络环境下,不经优化https的体验确实会明显不如http。在不具备https条件或对网络性能要求较高且缺乏https优化经验的场景下,http的流量也应该使用AES进行加密。AES的密钥可以由客户端来临时生成,不过这个临时的AES

key需要使用服务器的公钥进行加密,确保只有自己的服务器才能解开这个请求的信息,当然服务器的response也需要使用同样的AES

key进行加密。由于http的应用场景都是由客户端发起,服务器响应,所以这种由客户端单方生成密钥的方式可以一定程度上便捷的保证通信安全。

7、AES使用CBC模式

不要使用ECB模式,记得设置初始化向量,每个block加密之前要和上个block的秘文进行运算。

相关文章

  • 网络层的安全处理

    1、尽量使用https https可以过滤掉大部分的安全问题。https在证书申请,服务器配置,性能优化,客户端配...

  • 一.基于AFN的简单网络架构

    manager管理网络请求 client发送网络(网络层) service处理数据(数据层,处理网络返回来的数据)...

  • 防火墙和网闸

    防火墙:(网络层) 防火墙工作在网络层,存在被劫持和复用的风险。 重点保证网络层安全的边界安全工具。为了内网的安全...

  • 网络层安全认知

    Apsara Clouder云安全专项技能认证:网络层安全认知 网络层安全认知认证旨在帮助学员理解云计算环境下网络...

  • 13.读书笔记一

    《软件定义安全SDN/NFV新型网络的安全揭秘》 一、SDN研究方向基础设施层:交换机处理流程的设计与实现、转发规...

  • 计算机网络安全(2)——安全电子邮件、SSL、IPSec介绍

    1、题目中这几种安全协议分别位于应用层、运输层、网络层,那么为什么需要在每一层提供安全性功能?仅在网络层提供安全性...

  • [网络] 传输层 & 安全

    IPSec 和SSL SSL位于传输层和应用层中间, IPSec是一个真实的网络层数据报, 都是通过加密的方法保证...

  • iOS网络层的安全

    保证网络请求之来自于规定的APP 采用设计签名来保证网络请求的API来自于自己的APP。具体做法如下:客户端密钥+...

  • 物联网核心协议MQTT快速入门5 Mosquitto服务器SSL

    安全 物联网的安全特别重要。Mosquitto服务器的常见措施如下: 网络层 使用虚拟专用网络(VPN)。 传输层...

  • 面试题

    6.项目中网络层如何做安全处理? 1、尽量使用https https可以过滤掉大部分的安全问题。https在证书申...

网友评论

      本文标题:网络层的安全处理

      本文链接:https://www.haomeiwen.com/subject/kejezxtx.html