论文部分内容阅读
NFC移动支付是一种新型的支付手段,受到很多用户和服务提供商的青睐。NFC移动支付其主要方式是用手机来模拟智能卡,传统的手机卡模拟是基于安全芯片(Secure Element,SE)的卡模拟,但是由于供应商之间的恶意竞争和SE移动支付技术的封闭性,使得手机卡模拟技术发展的非常缓慢,因此NFC移动支付也跟着受到了很大程度上的限制。主机卡模拟(Host Card Emulation,HCE)是近年来推出的新兴技术,目的在于降低NFC手机支付技术的门槛,其打破了传统的使用安全元素进行NFC卡模拟的局限性,尤其是在Android的4.4系统版本之后增加了HCE作为系统的一个服务,这样大大促进了NFC移动支付的发展。HCE技术安全元素完全由软件实现,它虽然脱离了对硬件安全元素的依赖,但是无论软件如何实现,还是无法达到硬件级别的安全性。因此,安全性问题是HCE技术发展所面临的最大难题。本文对HCE技术进行了系统的研究,取得了如下的研究成果:1.对NFC移动支付进行了研究。首先是对NFC移动支付的原理进行了研究,分析目前常见的三种传统卡模拟方式和工作原理,对每种卡模拟的优势和缺点进行了详细的了解,接着对HCE技术进行了说明,并指出了HCE技术相对与传统的卡模拟技术的优势。2.对HCE技术的安全性进行了分析,指出了其依赖于手机操作系统存在的安全威胁,并提出了几种增强HCE安全性的解决方案。通过对几种不同的解决方案进行对比,提出了远端SE的HCE应用模型。该模型将敏感信息的存储和处理从本地转移到远端服务器中来完成,然后移动设备使用网络与远端服务器进行交互,这样大大增加了HCE的安全性。此外,对远端SE的HCE应用模型的业务流程进行说明,提出了三个不同的应用场景,并对三个不同的应用场景的模型进行了说明。3.根据远端SE的HCE应用模型,设计了一种远程刷卡系统。首先对系统的架构进行了设计。整个系统有若干模块组成,模块功能在设计方案里进行了详细描述。在此基础之上,提出客户端和服务端的设计方案,设计了身份认证协议和安全交易协议。身份认证协议用来保证客户端和服务端之间的认证安全。安全交易协议用来保护客户端和服务端交互的数据安全。4.采用Android操作系统作为HCE的运行平台,使用Java对远程刷卡系统进行了实现,并对实现的系统进行了测试,结果表明系统工作正常,完成了远程刷卡的预期目标,证明了远程刷卡系统的可行性和有效性。