我们必须拥有根访问权限及其带来的所有好处

导读 点击薪资。完成如果你是运行4 4版本并支持NFC的安卓手机的所有者,你可能听说过安卓支付。该应用程序支持添加许多不同银行的卡,可以在许多

点击薪资。完成如果你是运行4.4版本并支持NFC的安卓手机的所有者,你可能听说过安卓支付。该应用程序支持添加许多不同银行的卡,可以在许多主要零售商中使用,并且设置起来也非常容易。谷歌居然要求你注册!

也就是说,除非您是拥有根设备的高级用户。对我们来说,我们必须在拥有根访问权和它的所有好处(广告拦截、主题设置、Xposed等)之间做出选择。)和使用安卓支付。谷歌表示,限制根用户访问安卓支付是一种预防措施,以防止任何可能的金融安全漏洞。

尽管该平台能够并且应该在开发者友好的环境中继续蓬勃发展,但我们必须确保少数应用程序(不是平台的一部分)能够确保安卓安全模型的完整性。

这种“保证”是由安卓Pay甚至第三方应用通过SafetyNet API完成的。众所周知,说到支付凭证和真金白银(通过代理),像我这样的安全人员特别紧张。我和支付行业的同事们,就如何保证Android Pay在具备API和安全模型、文档集良好的设备上运行,进行了长期艰苦的研究。

我们得出的结论是,安卓支付做到这一点的唯一方法是确保安卓设备通过兼容性测试套件,包括检查安全模型。早期的谷歌电子钱包自掏腰包服务在结构上有所不同,这使得电子钱包能够在支付授权前独立评估每笔交易的风险。相比之下,在安卓支付中,我们与支付网络和银行合作,对您的实际卡信息进行令牌化,只将此令牌信息传递给商家。然后,商家清除这些交易,例如购买传统卡。我知道你们很多人都是专家和高级用户,但需要注意的是,我们真的没有一个好的方法来澄清特定开发者设备和整个支付生态系统之间的安全差异,或者确定你个人是否可能对攻击采取了特殊的对策——事实上,很多人不会采取这些措施。谷歌安全工程师jasondclinton _谷歌在我们的论坛上发言。

幸运的是,XDA总能找到办法(尽管这一次是无意的)。通过在不修改/系统分区的情况下扎根设备(即XDA高度认可的开发者和开发者管理链火的非系统根),用户可以绕过根限制,访问安卓支付。然而,Chainfire在谷歌帖子中提到,这一“修复”只是“偶然的,并非出于设计原因,Android Pay将更新以阻止它。”在非系统生根法发布91天后,似乎谷歌终于介入并更新了他们的SafetyNet API。

你真黑,我的老朋友。

在Reddit和我们自己的论坛上有几篇报道,其中最新的SafetyNet检查可以检测到没有系统的root用户,这意味着你不能再在root用户设备上使用Android Pay。如果你是安卓Pay用户,你的设备是没有系统的根方法扎根,你可能会注意到应用还是会为你打开,你会被拒绝(我知道,这很难接受……),但很遗憾,真的是。安卓支付在首次安装和打开应用、添加新卡和进行交易时,只检查你的设备是否通过了兼容的设备套件。我们论坛上的用户注意到,应用程序可能会给你一个绿色的复选标记,这让你认为它可以工作,但不幸的是,不,交易将不会被处理。

然而,并不是一切都失去了。幸运的是,您可以在购买前从SuperSu应用程序中禁用su,以暂时允许您的设备通过CTS检查。然后,完成购买后,可以打开SuperSu应用程序,忽略“更新二进制”弹出窗口,然后重新启用Su。不便是肯定的,但至少你在手机上购物时,仍然可以享受你的Xposed模块使用广告拦截器。