美文网首页
项目中网络层如何做安全处理?

项目中网络层如何做安全处理?

作者: Crics | 来源:发表于2019-06-29 11:57 被阅读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的秘文进行运算。

相关文章

  • 面试题

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

  • 项目中网络层如何做安全处理?

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

  • 项目中网络层如何做安全处理?

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

  • 项目中网络层如何做安全处理?

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

  • IOS 网络知识整理

    ****.项目中网络层如何做安全处理? 1.判断API的调用请求是否来自于经过授权的APP。如若不是则拒绝请求访问...

  • 网络层的安全处理

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

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

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

  • 网络层安全认知

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

  • 防火墙和网闸

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

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

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

网友评论

      本文标题:项目中网络层如何做安全处理?

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