`

手机支付的思考(转载)

阅读更多
2010年10月20日 Suzg 没有评论

    今天,听了支付宝支付和移动互联网峰会,会上介绍了支付宝的手机支付。会上提到的支付方式,是与Apple的IAP (In-App Purchase) 类似,在应用中通过调用支付宝的接口来实现支付,购买游戏中道具或关卡、以及应用中的某些功能。

演示这个支付方式的程序,是运行在Android平台的,但这是Google Android market明文禁止的。前些天我还听说有Android开发者因为在程序中使用了Paypal支付方式而被Google suspend了。这样说来,使用这种支付方式就不能在Google Android market上发布了。不过,要是在其他market发布,现在没听说哪个非Google的market能占绝对的市场份额,开发者就要忙于在各个 market发布了。

在介绍过程中,我还想到另一个问题:如何防钓鱼。开始时我只是觉得或许会有人钓鱼,窃取用户资料。在会议结束后,恰好碰到一个阿里巴巴的人,和他讨 论了这个问题,他也没说出什么好的解决办法,更多的是事后补救。在回来的路上,我又仔细想了想,这个问题影响将很大,不仅仅是被钓鱼者,也会使有防范意识 的人不敢使用这种支付方式。

先来看看正常的支付过程:某个应用中,有需要付费的项目,用户点击后,进入到支付宝界面,用户在支付宝界面中输入用户帐号密码,成功后返回应用。

那么,钓鱼的应用也可以在界面上模仿这个过程,只不过不使用支付宝界面,而是用自己的界面模拟支付宝。在获取用户资料后,发给钓鱼服务器。

电脑上,可以通过安全控件防止监听键盘,通过检查url来防止把账户信息输入到不信任的服务器上。但对于手机用户来说,并不知道这个支付界面的到底是谁的,支付宝还是钓鱼程序,因为支付界面都是由一个未必通过认证的程序展示出来的。

某个界面,并没有url可以让用户检查。虽然有package的名字,但对用户不可见,并且这也是可以模仿的。

在支付界面显示预留信息,或者短信认证,也不是安全的办法。首先,要显示预留信息,就要求用户先登录,之后才能判断。这时即使发现问题,用户帐号也 已经泄露了。另外,钓鱼程序可以通过夹在用户和支付宝之间,做一个代理来获取帐号信息,骗过用户。这里不存在电脑上MITM会遇到的证书错误问题。

其他防钓鱼的方法,我能想到的就是在程序之外验证,比如OTP (one time password),这肯定能保护帐号,但需要额外设备,有成本。

这个认证是一个双向认证,用户要认证服务器是正确的服务器,而服务器也要认证用户身份。在电脑上,这个过程有CA机构签发证书保证,但手机上缺少了这个角色,就无法认证服务提供者。OTP可以说是另一个认证服务器的方式,来保证服务器的身份。

或者,如果确认程序本身是没有恶意的,也可以。但目前的Google market没有审核机制,这个无法保证。Apple的app store也有IAP方式,但因为程序是要经过审核的,钓鱼程序会被审核过滤,也很难有鱼上钩。

Android程序虽然有签名,但这是开发者自己建立的签名,并不能说明身份。不像ssl证书,是由可信机构签发。

总之,问题的根本在于要求我输入帐号信息的界面不能证明自己是支付界面,只能通过程序之外来证明,增加了认证成本。但目前没有看到这方面的支持,在解决这个疑问之前,没有防范意识的用户有安全风险,有防范意识的用户也无法识别真伪。

不知道Google禁止第三方支付是不是也基于这个原因,或许是为了保证用户安全。

分享到:
评论
1 楼 hhb19900618 2012-12-21  
我问一下 ios平台有钓鱼的风险吗?

相关推荐

    支付宝手机支付接口

    支付宝手机支付接口是移动应用中实现在线支付的关键技术,它允许用户通过智能手机便捷地完成交易。这个接口适用于Android和iOS两大主流操作系统,涵盖了客户端和服务器端的交互过程,确保了跨平台的兼容性和安全性。...

    支付宝手机支付源码

    支付宝手机支付源码是移动应用开发中的一个重要组成部分,它涉及到移动支付、安全性、网络通信等多个技术领域。在本文中,我们将深入探讨这个主题,解析支付宝手机支付的核心技术和流程。 首先,"PayDemoActivity...

    支付宝 手机支付asp版

    支付宝手机支付ASP版是针对ASP开发环境而设计的一种支付接口实现,主要目的是为了让使用ASP语言构建的网站能够集成支付宝的移动支付功能。由于支付宝官方并未直接提供ASP版本的SDK,开发者通常需要参考其他语言(如...

    ASPNET支付宝和微信支付源代码(PC扫描支付和手机支付)源码

    微信支付,支付宝支付,PC扫描支付和手机支付 二、功能介绍 1、支持“支付宝”扫描支付和手机支付,只要把相关支付参数配置到程序里面,就可以正常使用支付; 2、支持“微信”扫描支付和公众号支付,只要把相关...

    移动互联网时代的手机支付商业模式研究-论文.zip

    在移动互联网时代,手机支付已经成为了我们日常生活中不可或缺的一部分,其背后的商业模式研究具有深远的意义。这篇论文深入探讨了这一主题,旨在理解并分析手机支付在商业领域的应用和发展趋势。 手机支付,也称为...

    支付宝手机支付dome

    支付宝手机支付Dome是一款用于帮助开发者快速接入支付宝支付功能的示例应用。它包含了详细的步骤和配置信息,使得开发者能够更高效地集成支付宝支付接口,从而实现应用内的便捷支付功能。下面将详细介绍这个Dome中...

    当前最新手机支付相关文献资源

    手机支付在当今数字化社会中扮演着至关重要的角色,它结合了移动通信技术和金融交易,使得消费者可以在任何时间、任何地点进行便捷的支付操作。本文将深入探讨与手机支付相关的几个核心知识点,包括电子现金、支付...

    手机支付业务发展思路专题汇报

    这个时期的手机支付业务发展思路专题汇报,揭示了中国移动如何前瞻性地布局并推动这一创新服务的发展,以满足日益增长的移动支付需求。 一、市场背景与机遇 在2010年,随着3G网络的普及和智能手机的广泛使用,中国...

    iOS银联手机支付

    在iOS平台上实现银联手机支付涉及多个技术环节和标准,主要涵盖了移动支付的安全性、集成方式、支付流程以及银联的UPMP(UnionPay Mobile Payment)规范。以下将详细阐述这些知识点。 首先,iOS银联手机支付的核心...

    支付宝手机网站支付demo

    支付宝手机网站支付Demo是针对移动端网页的一个支付接口示例,主要使用了Java语言进行开发,并且编码格式为UTF-8。这个Demo可以帮助开发者快速理解和实现支付宝的手机网站支付功能,适用于电商平台、在线服务提供商...

    支付宝手机网站网站截图案例

    在移动互联网时代,支付宝作为国内领先的在线支付平台,其手机网站支付功能对于许多商家和用户来说至关重要。在进行支付宝手机网站支付签约时,确保网站的合法性和安全性是支付宝审核的重要环节。根据标题“支付宝...

    支付宝手机网页支付+单笔转账到支付宝.rar

    支付宝手机网页支付与单笔转账到支付宝是移动支付领域中常见的功能,主要应用于电商、O2O服务等场景。在Java环境下实现这些功能,开发者通常会利用支付宝提供的开放API和SDK。下面将详细介绍这两个功能的实现原理及...

    中国移动手机支付系统安全技术规范-应用(业务)分册V1.0.0

    中国移动手机支付系统安全技术规范是一个针对手机支付领域的安全技术标准文档,由标准号QB-F-003-2009规范,由2009年3月13日正式发布并实施。该技术规范的制定是为了满足手机支付业务需求,为手机支付系统的应用层...

    java支付宝手机支付

    Java支付宝手机支付是一种在线支付方式,它允许用户通过支付宝应用程序在移动设备或PC上进行交易。这个技术基于Java编程语言,使得开发者能够集成支付宝接口到他们的应用或网站中,为客户提供便捷的支付体验。 首先...

    DZ3.2PC支付宝+PC微信扫码+手机支付宝+微信内支付免签约充值插件

    《DZ3.2PC支付宝+PC微信扫码+手机支付宝+微信内支付免签约充值插件》是一款专为Discuz! 3.2论坛系统设计的支付解决方案,它旨在为用户提供便捷、安全的在线支付方式,无需直接与支付宝、微信支付等第三方支付平台...

    支付宝 微信 手机网页 app支付

    在中国的数字支付领域,支付宝和微信支付是两大巨头,它们为用户提供便捷的手机网页和App支付方式,极大地推动了无现金社会的发展。本文将详细探讨这两大支付平台以及手机网页和App支付的相关知识点。 首先,支付宝...

    手机支付用于完成手机支付

    手机支付,作为一种便捷的金融交易方式,已经成为现代生活中不可或缺的一部分。这一技术的崛起极大地改变了我们的消费习惯,使得购物、支付账单、转账等金融活动变得轻而易举,只需要一部智能手机即可实现。以下是对...

    alipay支付宝手机网站支付

    **支付宝手机网站支付集成详解** 在当今的电子商务环境中,支付接口的集成对于任何在线业务都是至关重要的。"Alipay支付宝手机网站支付"是支付宝提供的一个服务,允许用户通过手机浏览器直接进行安全便捷的在线交易...

    银联手机网页支付demo

    银联手机网页支付demo是一个用于演示如何在移动设备上实现银联支付功能的应用示例。这个demo涵盖了三种主流的编程语言:Java、PHP和.NET,为开发者提供了在各自平台上集成银联支付接口的实例代码。下面我们将详细...

Global site tag (gtag.js) - Google Analytics