移动终端APP安全防护规范及安全开放标准解决方案

移动终端APP安全防护规范及安全开放标准解决方案
移动终端APP安全防护规范及安全开放标准
解决方案
2016年10月
一、前言 (2)
二、术语与解释 (2)
三、开发阶段安全要求 (2)
1、安全编码原则 (2)
2、安全需求设计与分析 (3)
3、APP客户端安全功能要求 (3)
4、开发环境安全管理 (6)
5、源代码的安全管理 (7)
6、委外开发安全要求 (8)
7、罚则 (8)
四、上线阶段安全要求 (8)
1、APP应用上线前安全评估原则 (8)
2、组织与职责 (8)
3、APP安全评估内容 (9)
4、罚则 (10)
5、附件 (10)
五、运行阶段安全要求 (10)
六、下线阶段安全要求 (11)
一、前言
为了加强和规范湖南电信企业信息化部(以下简称:企信部)APP应用的开发阶段、上线阶段、运行阶段、下线阶段的安全建设,有效防范来自应用层的威胁和攻击,保证APP 应用整个生命周期的安全,特编制本解决方案。
企信部APP应用全生命周期管理遵循“谁开发谁负责”“谁使用谁负责”的原则;即:企信部APP应用相关各单位开发的应用由该单位负责开发过程的安全管理和安全功能的设计工作以及上线前安全评估发现问题的加固工作、APP使用部门负责运行阶段的安全维护管理及下线阶段数据销毁工作、安全中心负责APP上线前安全评估工作。
二、术语与解释
机密性:个人或团体的信息不为其他不应获得者获得。
完整性:在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。
抗抵赖性:发送者不能在事后否认其发送的信息。
SQL注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
XSS:跨站脚本攻击,恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
SSL:安全套接层协议,是为网络通信提供安全及数据完整性的一种安全协议。
APP客户端:是指具有新功能或新使用价值的移动终端APP软件程序。包括软件程序状态处于建设试点、试商用和商用的所有移动终端APP软件程序。
APP服务端:是指为APP客户端提供应用交互服务的后台应用平台。
三、开发阶段安全要求
1、安全编码原则
程序只实现制定的功能
用户输入都是不可信的,对用户输入数据做有效性检查
必须对异常情况进行处理
尽可能使用安全函数编程
2、安全需求设计与分析
在APP应用立项开发批准前,需要明确所有的安全需求并形成文档。安全需求可以从以下几个方面考虑:
1)信息的机密性和完整性保护;
2)抗抵赖性;
3)身份鉴别和认证;
4)访问控制和授权;
5)数据校验及消息验证;
6)数据传输安全保护;
7)密码保护;
8)跟踪监控与审计;
10)合法性和符合性需求;
11)灾难恢复等
在APP应用的开发过程中,开发人员需对安全需求进行详细的分析,并将已确定的安全需求体现于应用程序设计中,包括安全架构的设计和安全功能的设计。
APP应用服务端的安全设计参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。
APP客户端的基本安全设计见“3..APP客户端安全功能要求”,通用安全要求参照《湖南电信企业信息化部应用系统安全设计与开发管理规范(试行)》执行。
3、APP客户端安全功能要求
APP客户端数据安全存储
APP客户端应用程序本地存储的数据(包括但不限于数据文件,日志文件、数据库文件、会话cookie、配置文件、SD卡等)应采取加密方式保护存放敏感信息的文件。
对于关键数据加密,应使用TripleDES(192 位密钥)加密算法。要减慢并加强对
大量数据的加密,应使用Rijndael (256 位密钥)算法。要对将暂时存储的数据加密,可以考虑使用较快但较弱的算法,如DES。对于数字签名,应使用RSA 或DSA 算法。对于哈希,应使用SHA1.0 算法。对于用户键入的哈希,应使用基于哈希的消息验证代码(HMAC)SHA1.0 算法。
APP客户端数据安全传输
APP客户端应用程序传输敏感信息过程中应采用SSL/TLS数据加密传输方式(推荐密钥长度为:2048位),并在客户端对SSL证书合法性进行校验。具体数据安全传输要求如下:
(1)全流程使用HTTPS传输,且是强制使用;
(2)敏感信息传输过程中应采用SSL/TLS数据加密传输方式(推荐密钥长度为:2048位);
(3)证书锁定(Certificate Pinning),在客户端对SSL证书合法性进行校验;
(4)完全正向保密(perfect forward secrecy)一个密钥只能访问由它所保护的数据;
用来产生密钥的元素一次一换,不能再产生其他的密钥;一个密钥被破解,并
不影响其他密钥的安全性。
APP客户端安全认证与鉴权机制
(1)APP客户端应用程序应对密钥/密码采取安全的存储保护方式(推荐哈希算法:SHA-512,加密算法:RSA-2048、AES-256);
(2)APP客户端应用程序应根据APP重要程度不同采用适宜的安全认证方式(如“密码+验证码”、“密码+动态密码”、“密码+令牌”、“密码+证书”等);
普通APP安全认证与鉴权要求如下:
密码强度要求:对用户设置密码进行检测,输入至少6位字符,其中要包
含大写字母、小写字母、数字和特殊字符中的至少两种。
账号密码传输要求:客户端向服务器第一次发起登录请求(不传输用户名
和密码)。服务器利用RSA\AES算法产生一对公钥和私钥。并保留私钥,将
公钥发送给客户端。客户端收到公钥后,加密用户密码,向服务器发送用
户名和加密后的用户密码;同时另外产生一对公钥和私钥,自己保留私钥,
向服务器发送公钥;在第二次登录请求时传输用户名和加密后的密码以及
客户端生成的公钥。服务器利用保留的私钥对密文进行解密,得到真正的
密码。
为提升用户体验,在首次登陆时用户只需要输入用户名和密码,当服务器
发现异常情况时启用验证码、动态密码等机制。
自动登陆:在实现自动登陆功能时,应将token和用户使用该App的移动

本文发布于:2024-09-20 13:44:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/87953.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:客户端   应用   密码   用户   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议