论文部分内容阅读
随着智能手机的普及,手机支付变得越来越快捷,但是基于.手机支付的安全解决方案大多集中在硬件层面,软件层面研究内容并没有硬件层面丰富,因此智能手机的支付安全问题一直是人们关注的话题,尤其是市场占有率非常高的Android手机。本文研究目的,是在研究android系统安全机制和进程间通信机制,尤其是activity与service之间通信机制的基础上,实现能为任何支付程序提供账户及个人信息本地加密的服务,即当用户在使用支付软件或者是交易软件时,不用输入账户信息,直接解密本地存储的加密账户信息或个人信息来支付,在输入密码的过程中,使用随机数字软键盘,以防止手机木马记录触点从而破解密码。文章将具体阐述为手机支付提供安全加密的方案是如何实现的,并通过一个简单程序---Android钱包,展示研究成果。本课题耗时一年,期间研究内容曾考虑应用于实际项目中,但最终因商业原因,项目放弃收费,虽然研究结果并没有得到实际应用,但也说明该技术对于实际应用的潜力。在经历一年的实践后,基本达到了预定设计的目标,完成了应用程序和service的通信、加密技术以及随机软件盘的开发,.其中通信机制用到了android系统的接口定义语言AIDL,加密使用的是传统的AES的CBC工作模式,具体的加密函数在利用C语言开发的OpenSSL开发库的基础上进行了针对本文的二次开发,随机软件盘是通过自行设计的随机数生成器和软键盘开发接口来实现。另外,本文也发现了今后可以改进的很多地方,例如验证方式除了传统数字输入,还可以加入语音识别或者图像识别等技术等等。