今天,听了支付宝支付和移动互联网峰会,会上介绍了支付宝的手机支付。会上提到的支付方式,是与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禁止第三方支付是不是也基于这个原因,或许是为了保证用户安全。
分享到:
相关推荐
YD/T XXXX《手机支付测试方法 基于13.56MHz的NFC技术的接口和协议》是手机支付系列标准之 一。该系列标准结构如下: — YD/T XXXX《手机支付技术要求基于13.56MHz的NFC技术的接口和协议》; — YD/T XXXX《手机支付...
支付宝手机支付源码
支付宝 手机支付 官网没有asp版 参照.net 做了一个asp版
支付宝最新手机支付接口(android,ios),包括客户端和服务器端接口
php手机网站支付,简单集成,php手机网站支付,简单集成,php手机网站支付,简单集成,php手机网站支付,简单集成,php手机网站支付,简单集成
iOS银联手机支付
支付宝 微信 手机网页 app支付支付宝 微信 手机网页 app支付支付宝 微信 手机网页 app支付支付宝 微信 手机网页 app支付
asp版微信支付扫描支付+支付宝支付,支付宝扫码支付,手机支付源码可用
支付宝手机网页支付加单笔转账到支付宝.rar
java版本 手机 PC 支付宝支付 下载dome 更改 config文件里面的私钥 公钥即可运行
最新实用的微信H5手机网站支付源码实例 微信手机端支付 微信网页支付
项目采用SpringBoot框架,可直接运行,更改AlipayConfig文件partner、private_key、ali_public_key、service、app_id即可完成当面付/APP支付/手机网站支付及回调功能
DZ3.2PC支付宝+PC微信扫码+手机支付宝+微信内支付免签约充值插件
手机支付相关知识,支付平台,移动支付 各电信运营商的支付业务
手机支付用于完成手机支付
支付宝手机网站支付接口文档,内有c# PHP java示例代码
参考支付宝官方文档,写出了一个支付宝手机网站支付的java版demo。在支付时可以调起手机支付宝进行支付
支付宝手机网站支付 demo 填写秘钥即可测试跳转支付宝后台
(银联)手机支付接口 c# php java 详细文档
2018-08-24最新SpringBoot2.0+支付宝手机网页 支付视频快速理解支付宝支付 按例子写可以实现支付功能支持原版视频 不懂可以加视频中的QQ了解(免费)。