-
-
[分享]移动应用安全开发系列(4,支付安全)
-
发表于: 2021-4-15 20:35 2776
-
通常,移动应用的生命周期包括可行性分析与项目开发计划、需求分析、设计、编码、测试、维护等活动,这种按时间分配不同任务的思想方法是软件工程中的一种重要思想原则,即按部就班、逐步推进,每个阶段都要有各自的定义、工作、审查、形成文档以便工作交流或备查,进而达到提高软件质量的目的。
目前,按照应用开发生命周期的思想进行软件设计和开发的理念已经得到广大软件设计和开发人员的广泛认同,但是在应用开发生命周期中对安全性的考虑则往往被忽略,进而产生了很多的软件产品漏洞,给使用应用的人们带来很多工作生活上的不便,甚至造成巨大的经济损失。
在本文中,我们探讨Android应用程序开发过程中对于移动应用支付都有哪些安全开发要求。
支付安全
移动支付业务应采取有效技术措施保证移动终端处理的敏感信息、移动终端与服务器交互的重要信息的机密性和完整性,应保证所提供的移动应用的真实性和完整性,以及敏感程序逻辑的机密性。
通用要求
1.数据录入时,输入认证/支付密码等敏感信息时,需采取技术措施防止密码盗取,并不得在移动终端界面上显示明文;
2.移动终端交易异常处理。当客户端检测到移动终端交易出现异常时应向用户提示出错信息;
3.密码输入框使用自绘随机键盘,反移动终端键盘劫持;
4.进行服务器证书合法性校验,客户端的网络协议层应对远程支付系统进行身份认证,防止中间人攻击;
5.通过客户端发送的报文的关键要素宜进行数字签名,以确保支付内容的真实性和不可抵赖性;
6.采用密码技术,保证通讯过程中交易数据的完整性和机密性。对交易过程中的整个报文或会话过程进行加密;
7.采用安全的网络通讯协议。在客户端和服务器之间建立安全的传输通道,进行双向认证,例如使用SSL/TLS或IPSEC等协议
增强要求
1.使用强壮的加密算法和安全协议,例如安全套接字层(SSL)/传输层安全(TLS)/IP安全协议(IPSEC)/WTLS协议来保护敏感数据在开放/公共的网络上的传输;
2.可使用手机短信请求客户反馈确认交易信息,采用二维码、特征支付码、秘钥等方式进行验证;
3.保护在移动终端启动的用于访问网上银行的进程,防止非法程序获取该进程的访问权限;
4.交易数据在传输时,客户端应采取安全措施以确保交易数据的完整性;
5.加强代码编程安全,注重支付环节相关的所有代码的安全审计;
6.可通过移动CA认证来确认用户的身份和防抵赖;
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [分享]移动应用安全开发系列(4,支付安全) 2777
- [分享]移动应用安全开发要求(3,访问控制) 2976
- [分享]移动应用安全开发要求(2,密码安全) 2933
- [分享]移动应用安全开发系列(1,源码安全) 3454