代码编织梦想

APP产品安全架构

目标

主要涉及软件设计层面的企业级安全措施,网络基础安全方面,DDOS、CSRF、XSS等防护措施不在本文范围内。

目标:

  • 网络数据传输保护:包括数据加密,防窃听保护
  • 防范api接口恶意攻击与破坏
  • 网络病毒防护:隔离互联网潜在病毒

当前企业级APP系统常用安全架构方案

当前企业级APP系统面临的软件设计层面的安全问题包括:网络数据传输保护、恶意api接口攻击与破坏、网络病毒防护,针对这些问题,分别有不同的成熟的解决方案,如下图所示:

                           

网络数据传输保护

    网络数据传输保护方面,需要重点保护敏感数据信息,如用户密码、用户个人基本信息不泄露,除了采用https协议的安全传输外,还需要辅助数据加解密设计实现数据保护。具体实现的方案为:采用一些常见的加密算法,如AES、DES、RSA对网络传输数据进行对称/非对称加密。总体数据流转如下:

                      

    对称加密与非对称加密在加解密过程、加解密速度、传输的安全性上有所不同。对称加密用不变的密匙加解密,加解密速度快。非对称加密用公钥和私钥配合进行加解密,并且每一次加解密过程中私钥是基于不同的算法生成的随机数,所以非对称加密安全性较高。在APP系统架构中常根据业务场景需求将两种加密方式配合使用以保护网络传输的数据。

  

防范api接口恶意攻击与破坏

    针对服务器端接口恶意攻击与破坏包括:请求参数被篡改,恶意重复请求或者爬虫爬取请求。对于参数被篡改的情况,需要采用签名的设计方式加以解决。

                       

   签名的过程中,将用户的参数进行加密生成签名字符串,和原有明文合并发送至服务器端,服务器端校验将明文参数和解密后的签名进行对比。如果在网络传输过程中,用户参数被恶意拦截并更改,在服务端,由参数明文HASH得到的摘要字符串和由签名解密得到的摘要字符串会对比失败,从而识别出请求参数已被篡改。针对重复请求或者爬虫请求,需要设计TOKEN标识,以识别重复请求或者限定请求频率。增加或者修改类重复请求,会导致脏数据或者重复数据,防止重复增加或者修改数据的

TOKEN设计流程如下:

                                 

   当重复请求时,根据session中是否存在TOKEN来判断请求是否合法。

   对于查询类请求或者爬虫爬取类请求,通过设置TOKEN的有效期来限制该类请求在指定时间段内允许访问的最大次数,以控制查询类请求的访问频率。

  

网络病毒防护

   网络病毒防护防止互联网侧的病毒和恶意散播程序扩散至内网。对于外网的防护主要通过网络隔离来实现,通过DMZ区域的设置,隔离企业内网和外部网络。在DMZ区两侧的防火墙,包括外部防火墙和内部防火墙。外部防火墙防止外来网络的攻击,内部防火墙管理DMZ区对内网的访问。配合一定的防火墙隔离策略,实现网络病毒的防护。

          

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yijukang/article/details/90720412

产品app架构说明文档_杨充的博客-爱代码爱编程_产品架构文档

目录介绍 1.关于项目架构的技术堆栈1.1 该项目App整体架构 1.1.1 目前项目[准备中]使用的架构1.1.2 市面常见的架构1.1.3 MVP架构使用心得1.2 主要的技术要点 1.2.1 视频播放

app架构接口”安全机制”的设计_脚步6978的博客-爱代码爱编程

现在,大部分App的接口都采用RESTful架构,RESTFul最重要的一个设计原则就是,客户端与服务器的交互在请求之间是无状态的,也就是说,当涉及到用户状态时,每次请求都要带上身份验证信息。实现上,大部分都采用token的认证方式,一般流程是: 用户用密码登录成功后,服务器返回token给客户端;客户端将token保存在本地,发起后续的相关请求时,将to

saas架构设计之saas应用安全_iteye_17686的博客-爱代码爱编程

此文选自《互联网时代的软件革命—SaaS架构设计》一书 一日,杨康正与郭靖在办公室总结最近两个月公司的运行情况。 郭靖:最近的销售进展好像不是很理想? 杨康:现在的销售很难开展了,熟悉的能拉上关系的都已经是我们的客户了。 郭靖:那我们要开拓渠道,向全国乃至全世界的客户销售。 杨康:我也是这样想啊,但人家不相信我们的系统啊! 郭靖:主要是什么原

APP架构设计相关资料-爱代码爱编程

文章目录 注解处理器数据存储--MMKV使用及原理数据存储--room使用RxAndroid的使用方式自定义类加载器加载加密类文件Android动态化框架App BundlesMVC、MVP、MVVM混合开发及Android WebView应用Android屏幕适配全方位解析Android中的Apk的加固(加壳)原理解析和实现Android 中使用

容器安全产品能力与架构分析-爱代码爱编程

容器安全产品能力与架构分析 市场容器安全产品能力比较 市场上容器运行安全的产品和工具主要分为商业产品和开源工具,商业类的产品根据防护的侧重点不同分为通用的容器防护和容器网络的安全产品,但有些产品功能有交叉,很多产品的功能相似,其中NeuVector是较少涵盖网络安全和运行态安全方案的厂商。 通用的容器安全商用产品,侧重运行态容器的内部及对外部的攻击防

app 调用后台 安全_中后台产品案例剖析,开放平台产品设计-爱代码爱编程

这个月,聚焦了客服系统、CRM系统、HR系统的产品设计。有朋友留言给我,说“Kevin,能不能讲讲其他后台产品?” 说实话,之前的分享都是基于我在工作和团队的案例来复盘的。对于中后台这样的业务系统来说,业务变则产品变、业务不变则产品稳中迭代 之前在腾讯医疗碳云智能负责和参与过开放平台的设计。今天也借此分享下互联网产品在用户上升后所累积的开放平台

app架构图,330页PDF,10万字的知识点总结,全网独家首发!-爱代码爱编程

前言 众所周知,Android是一个基于Linux实现的操作系统。但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别。 所以Android也需要运行环境,需要Linux内核在启动完成后加载Android Framework运行所需要的资源。当Framework完成初始化后才能继续启

数据安全笔记-爱代码爱编程

数据安全笔记 文章目录 数据安全笔记前言一、安全架构安全术语安全架构5A方法论二、产品安全架构1.基础三层架构2.B/S架构(浏览器Browser/服务器Server)3.C/S架构(客户端Client/服务器Server)三、身份认证1.单点登录(Single Sign On)2.Ticket的使用方式(1)会话机制(2) 全程Ticket机制

什么是安全架构?_u014536648的博客-爱代码爱编程

1. 前言 随着时间增长, 看事情的思路也会产生一些变化。回顾之前安全架构评审时的一些思路和细节, 同现在对比来看, 又有了些许思考。记录于此, 以飨读者。 2. 架构基础 你可能会下面列的东西觉得有点虚, 但是根

app端上通用安全体系建设_从哪些纬度评估app安全能力-爱代码爱编程

背景:APP端上安全在谈什么 APP的每个业务场景都有其既定的运行模式,若被人为破坏就可认为是不安全的。举个栗子,比如秒杀场景:大量用户在特定时间点,通过点击抢购来秒杀优惠商品,从而营造一种紧迫而有噱头的营销场景,但如果能