yashsingh1/xdaforums huggingface dataset:
[Nexus 5 Q&A, Help & Troubleshooting] gakio12:
I'm not using a nexus 5, but this came up in Google, so why not. I have the nexus 6 and I unrooted through superSU before adding the card and never rooted again. Payments worked fine, but today (week later) I decided to reenable root through the app and try paying. It actually went through at a vending machine WITH root enabled, I only had adblock plus running as root, but it worked none-the-less. I'm running the stock rom image with corresponding bootloader and radio IMG, but custom recovery and kernel, unlocked bootloader.
[Nexus 5 Q&A, Help & Troubleshooting] adeptustech:
But not impossible. If anyone wants to take the challenge I'll be happy to do any testing from any ROM you wish.
[Nexus 5 Q&A, Help & Troubleshooting] DAVe3283:
What is the SELINUX state on your guys phone? Permissive or enforcing?

I'm on a Nexus 5 with CM12.1, and the kernel I'm running has SELINUX set to permissive. Even unrooting with SuperSU, I can't get a card added. I'm wondering if SELINUX state is another factor it looks at?
[Nexus 5 Q&A, Help & Troubleshooting] ariesgodofwar:
Just wanted to say that this was exactly my experience as well.
[Nexus 5 Q&A, Help & Troubleshooting] gakio12:
You won't be able to add a card if you are running a custom rom from aosp, at least, I haven't been able to. Also SELinux must be enforcing.
[Nexus 5 Q&A, Help & Troubleshooting] Evo_Shift:
I know changing the dpi in your build.prop makes it so I couldn't add a card on my nexus 5. I am sure that's been stated before but just throwing it out there. I can't stand Google's kindergarten size icons so I am not willing to use the stock dpi (nor am I willing to give up root) which means I don't use Android Pay even though I used Google Wallet tap to pay just fine.
[Nexus 5 Q&A, Help & Troubleshooting] jasondclinton_google:
Hey Josh,

Android users who root their devices are among our most ardent fans and when this group speaks, we listen. A few of us around Google have been listening to threads like this one and we know that you're disappointed in us. I'm a security engineer who works on Android Pay and so this thread struck me particularly hard. I wanted to reach out to you all and tell you that we hear you.

Google is absolutely committed to keeping Android open and that means encouraging developer builds. While the platform can and should continue to thrive as a developer-friendly environment, there are a handful of applications (that are not part of the platform) where we have to ensure that the security model of Android is intact.

That "ensuring" is done by Android Pay and even third-party applications through the SafetyNet API. As you all might imagine, when payment credentials and--by proxy--real money are involved, security people like me get extra nervous. I and my counterparts in the payments industry took a long, hard look at how to make sure that Android Pay is running on a device that has a well documented set of API’s and a well understood security model. We concluded that the only way to do this for Android Pay was to ensure that the Android device passes the compatibility test suite--which includes checks for the security model.

The earlier Google Wallet tap-and-pay service was structured differently and gave Wallet the ability to independently evaluate the risk of every transaction before payment authorization. In contrast, in Android Pay, we work with payment networks and banks to tokenize your actual card information and only pass this token info to the merchant. The merchant then clears these transactions like traditional card purchases. I know that many of you are experts and power users but it is important to note that we don’t really have a good way to articulate the security nuances of a particular developer device to the entire payments ecosystem or to determine whether you personally might have taken particular countermeasures against attacks--indeed many would not have.

Let's keep the dialogue open: I'll be monitoring this and other threads for constructive ideas. I won't be able to reply to all messages but we will keep listening. We love our community and we want you to keep challenging us.
[Nexus 5 Q&A, Help & Troubleshooting] trickinit:
So what does that mean though? You're still open the possibility of allowing Android Pay to work on a rooted device?

I understand that rooting my device makes me more vulnerable, though I feel the the benefits outweigh the risks. I also know that when I choose to root my device I'm taking the responsibility upon myself to ensure that my phone remains secure. If there were some sort of breech, I would have no one to blame but myself. Could a disclaimer of some sort be added into the user agreement? Something that makes it clear that users with rooted devices are taking all the liability upon themselves?

Frankly, I just don't understand the reason for changing the model. I have been an avid user of Google Wallet for several years. I love the tech. Why make the change to tokenization? I understand that it's more of a standard and more secure. But the virtual cards seemed to work just fine. I've never had an issue with them. Better yet, why not let the user choose whether or not they use the tokens.

Simply put, rooting is more important to me. So if that means forfeiting the ability to use Android Pay, so be it. I just don't see why it has to be that way.
[Nexus 5 Q&A, Help & Troubleshooting] Joshmccullough:
Wow, never expected this :)

I greatly appreciate the response, like the commenter above, if I had to make a choice between having a rooted phone that I can make my own and being able to use Android Pay, the rooted phone would win out. However, I'm hopeful that the security concerns of moving money using phones and customers' ability to use their phones as they see fit can co-exist.

I'm glad to see that Google's taking active steps to see what the power user/dev community is doing and thinks about advances in Android and its various related applications. Thanks for reaching out to us, it's a cool thing, and make sure to say hi to Eric/Sergei/Larry/et. al. for me ;)
[Nexus 5 Q&A, Help & Troubleshooting] baknblack:
I for one would agree to terms where I take the responsibility. I've been rooting my devices for years.

I think most of us understand what we're doing and understand the risk. I hope google can come up with a compromise.

Choosing root or Android pay. Root wins.
[Nexus 5 Q&A, Help & Troubleshooting] jasondclinton_google:
I don't want to falsely get your hopes up, so to be completely honest: I don't know of any way to currently or in the near future make an assertion that a particular app's datastore is secure on a non-CTS compatible device. As such, for now, the answer is "no". I could speculate about the future but I'm just one engineer.

I think what you are asking for is a "power user" bit that we would pass along when you set up Android Pay with a card. Something like, "I'm an Android Pay user who understands the risks but I want to root anyway." I think that this would be too hard to build a risk model for: every financial institution in the world would need to build a risk model that incorporates this signal and weigh it against all of the other signals that go in to approving or declining a transaction.

I can't speak for Google but I think that the virtual card didn't work particularly well for my use-case: I didn't get the full name of the merchant on my credit card statements and I didn't get all of the reward points that I was supposed to be getting. I also found chargebacks to challenging. With tokenization--which I've been using for months--my relationship with my credit card company is much better.

Yea, I don't blame you: I completely understand that you are disappointed. I wish that you could get the benefits of rooting without the root.

---------- Post added at 09:45 PM ---------- Previous post was at 09:41 PM ----------

Glad to reach out and completely understand why you find root valuable.

Actually, I'm just a lowly engineer so I think you're about as likely as I am to ever casually say hello to the founders. ;)
[Nexus 5 Q&A, Help & Troubleshooting] trickinit:
I appreciate you taking the time to respond to this. It's nice to finally have some clarity as to why I can't get the app to work. It really is a bummer, but I understand why. Hopefully there can be some kind of compromise to get it working eventually.

One recommendation I have would be to add some kind of disclaimer either in the Play Store or in the app itself that makes it clear that Android Pay won't work on rooted devices. The message I've been getting that says "Google is unable to verify that your device or the software running on it is Android compatible" doesn't really make sense. It seems like there has a been a lot of confusion and frustration, with no clear explanation as to what the real problem is.
[Nexus 5 Q&A, Help & Troubleshooting] chazall1:
Very disappointed. Any alternatives?????????
[Nexus 5 Q&A, Help & Troubleshooting] jasondclinton_google:
That's really good feedback. I'll see what I can do.
[Nexus 5 Q&A, Help & Troubleshooting] crl775m:
Jason, do you know if any version of the Jiayu S3 is supported? I have the 5.1.1 firmware from jaiyu.de on the device, which is pretty close to stock LP and non-rooted (beta 4), but AP fails to recognize it as a valid device. I'd consider rolling back to a different rom if there's a chance of it being supported.
[Nexus 5 Q&A, Help & Troubleshooting] jasondclinton_google:
At the moment, any non-official build will not pass SafetyNet because the system image signature isn't what was expected :( . One way of thinking about this is that the signature can be used as a proxy for previous CTS passing status. (If we were to scan every file and phone device enumerated by the kernel to infer what environment we are running on, we'd bog down your device for tens of minutes.)

So, we start with the CTS status inferred by a production image signature and then go about looking for things that don't look right. This community has identified quite a few of the things that we are looking at, already: presence of 'su', for example.
[Nexus 5 Q&A, Help & Troubleshooting] RusherDude:
Jason, how do you expect to be able to completely "detect" root and any counter-measures that have been taken in order to disguise it? Shouldn't an entire "chain of truth" like KNOX on the latter Samsung phones, from bootloader to OS, be exhaustively needed to determine that nothing has been tampered? In this case, if most of the devices doesn't have such "chain of truth" sequence, how could you control this? would you only let those kind of devices to use Android Pay?

Because as Android's history shows, Knox is by far one of the most

public

succesful attempts at detecting root (and other modifications) and acting against it, and it has been found some puntual vulnerabilities that also permitted exploits at some points.

Or talking in real, this is only just another measure that its going to get bypassed at some point, in this case maybe adding a great risk for not only users?

Shouldn't this end just with a popup window warning everyone signing on Google Pay that the use of a modified system denies any responsability by part of Google or such? Didn't Wallet have this?

Thanks for your input!
[Nexus 5 Q&A, Help & Troubleshooting] gakio12:
Just an update on my post a few pages back. After re-rooting and immediately paying with Android pay (without rebooting) I am able to make a purchase. However, after 24 hours passed of staying rooted, I can no longer make a payment. I did not have to unroot and re-add all my card, though. I just unrooted, rebooted the phone, and I was able to make a purchase.

So it seems Android Pay doesn't check for root at the time of the transaction, rather at some other time (every few hours or day, etc, I'm not sure).

Unrooting and rooting means I am toggling the Enable Root box in SuperSU settings.
[Nexus 5 Q&A, Help & Troubleshooting] anantharam:
You do understand that you are fighting a loosing battle?

Devs will come up with RootCloak and other alternatives for every restriction that you place. I guess Google's great resources like you are better well spent on improving Android Pay and delegating the risk of getting data stolen to the rooted users. After all we do know what we are getting into if we root our phone, cloak that root status to Android Pay app and try to add our credit card in there. A disclaimer pop-up would be more than sufficient there.
[Nexus 5 Q&A, Help & Troubleshooting] kkozma:
Here's my issue. I don't use credit cards. I do however use my debit card from my credit union that does not and has already said will not support Android Pay or Apple Pay. FWIW, I imagine this will be the case for the vast majority of the local banks and credit unions out there. So, I don't care about ANY of that crap. What I do care about is that google wallet worked on my phone two weeks ago. Why can you simply just allow us to continue to use google wallet? Why must I be forced to "upgrade" an app that works on my phone to one that doesn't? I have managed to get google wallet back to a functioning state on my phone, but it's really annoying having the Android Pay update sitting there preventing me from using the update all button. It would be great if I could opt out of the update and keep what I have that's currently working for me.

I mean at this point, if this is how its going to be with getting the big giant middle finger from Google because I decided to root my phone, I may as well switch to an iPhone. At least they 100% get it right with system updates and 3rd party hardware support.

I can tell you one thing for sure, I will tell everyone I know not to bother with NFC payments going forward.
[Nexus 5 Q&A, Help & Troubleshooting] mikeymop:
I signed in just to thank you. I know a lot of us, including me feel betrayed by this decision as much as I know it's probably necessary. It's necessary, even to ensure the rooted user isn't trying to do break open the secure network build to support this service.

With this in mind, I dont feel AP will take a similar path as Wallet. I would love to see Android Pay with a disclaimer explaining to the user that they are rooted, and the risks involved.

I frankly wouldn't mind, if Google Wallet wasn't killed off as a result. It wasn't competitive with Google's and Apple's new solutions, but it worked.

Why not offer to Rom developers what SafetyNet checks for in the CTS and give Rom developers a chance to up their game, allowing them to properly secure their roms. Allow the community to vote roms into review by Google once all these checks are made. Allow rom developers to be a more legitimate entity in the Android world, competing with the OEM's. Cyanogen got to this point, only by privatizing, others can do it too. I see this as a compromise, Google get's their secure environment and ROM users get the freedom they desire.
[Nexus 5 Q&A, Help & Troubleshooting] NedDasty:
Might you include, somewhere in the settings, a CTS scan which generates a signature which is marked safe if it passes? I wouldn't mind running even an hour-long one-time scan on my phone if it meant being able to use Android Pay.
[Nexus 5 Q&A, Help & Troubleshooting] Joshmccullough:
Hey, easy with the 'kill Google Wallet' suggestions there, I love my Google Wallet card/service :) I agree that it hasn't been competitive; not for nothing, but for being a company that built its fortune off of advertising, Google's not the best with advertising many of its own services (Google Wallet, Google Docs as an alternative to MS Office for the masses, Google Health - shuttered because not enough people knew about/used it, etc.) I find myself explaining to about 80% of servers in restaurants what the card is, how it works, etc. They all agree it's a cool thing, don't know how many of them have gone back home and started using it themselves, tho. I think it's a great option to use when you're out and about and don't want to worry about the potential security breach of handing out your debit card and leaving it out of sight/in possibly untrustworthy hands for too long.
[Nexus 5 Q&A, Help & Troubleshooting] ExTREmE99:
it's kind of sad that even if you jailbreak an iphone 6/+ you can still use apple pay just fine because the secure element that stores the credit card information is inaccessible even if you root the phone. get your **** together google. thankfully i was able to "uninstall updates" and go back to google wallet for the time being
[Nexus 5 Q&A, Help & Troubleshooting] pyler:
Dear Google (@jasondclinton_google?), when stock Android has atleast half of custom ROM features, than you can tell people which they can/can't do with their devices.

Nevermind, let's hack it guys =D

I pushed No Device Check 1.1 with disable checks for root and SELinux state. This could potentionally make Android Pay working atleast on stock rooted ROMs. We need to look on custom ROMs and - Android Pay/SafetyNet's "system signature verification". Too bad I have no so much time to do time-killing analysis since I started to attend IT university this week.

But w/ me or w/o me, it just matter of time when somebody broke it fully.

http://repo.xposed.info/module/com.pyler.nodevicecheck

BTW, I miss here SafetyNet traffic capture, somebody did it and it is interesting. I must check my reddit inbox, maybe I have it there.
[Nexus 5 Q&A, Help & Troubleshooting] jasondclinton_google:
On a personal note, Samsung Knox is an impressive piece of technology. A+, would read about again.

Indeed, I have been thinking about this for the past few months. I don't have any thoughts to share at this moment, though.
[Nexus 5 Q&A, Help & Troubleshooting] pyler:
Okey, here it is :
[Nexus 5 Q&A, Help & Troubleshooting] trickinit:
Haha.. you're awesome!

It's still not working for me though, unfortunately. Maybe I'm doing something wrong. I'll keep playing with it though.
[Nexus 5 Q&A, Help & Troubleshooting] jasondclinton_google:
Yea, this is interesting tech. I'm really interested in this.

Unfortunately, as an attacker, once you have root, you have kernel context. Once you have kernel context, you have everything. Another way to think about this: the current "best practice" among security people is to use a password manager so you don't reuse passwords across the hundreds of things that you log in to. Imagine what a sweet target that is for an attacker: once you have root on an Android phone, you could do any number of things to get a person's passwords from their password manager which leads to--for example--the ability to send money on some web sites. That's why root is so dangerous.

There's not really a way to do this right now. I agree it would be amazing if we could do it, though.

Another way to think about this: "I want to add capabilities on top of the CTS system image and still pass CTS." In a manner of speaking, that's what a manufacturer ROM does.

We're always looking for good ideas across the community. Thanks for bringing this up.

We had a bunch of announcements related to security updates at I/O and in subsequent months. I am definitely thinking about this.

---------- Post added at 05:53 PM ---------- Previous post was at 05:43 PM ----------

I totally hear that you're disappointed. I actually have a bank card that isn't supported yet, either. I can't speak to the proxy card situation for a smaller credit union except to say that I am are aware that there is a "long tail" of banks that I want to bring in to Android Pay. I'm sorry that we took a step backward for you.

---------- Post added at 05:57 PM ---------- Previous post was at 05:53 PM ----------

Welcome and sorry that you feel betrayed: that's exactly why I wanted to come here and talk with you all engineer-to-engineer.
[Nexus 5 Q&A, Help & Troubleshooting] crl775m:
This seems like it might be the answer for Google if they really care about keeping their power users (and usually very vocal supporters) happy. Continue to allow tap and pay from Wallet using the old virtualized card system, and use Android Pay for the tokenized cards that rooted/custom/chinese phone owners are locked out of.

My workers know I've spent a bunch of money on phones this year trying to get tap and pay working, and currently my zenfone 2 does work, but my wife's Jiayu S3 doesn't and probably won't, even though it's non-rooted and pretty close to stock LP. I think most of them by this point think it's a silly enterprise just by witnessing the hassle I've had with it.
[Nexus 5 Q&A, Help & Troubleshooting] pyler:
Can somebody upload build.prop from stock ROM of Nexus 5/6 device? Any Nexus is ok. Just we need stock rom.
[Nexus 5 Q&A, Help & Troubleshooting] lionelhuts:
I can understand the initial concerns about security with rooted devices. From a statistical perspective, however, I would be willing to bet that users who keep their devices up-to-date with the latest AOSP commits are more secure than some old, CTS-compatible stock ROMs that never get updated by OEMs.

Even disregarding all that, it seems the simplest solution would be just to provide developers with tools to submit their work just as any traditional OEM for signature verification.
[Nexus 5 Q&A, Help & Troubleshooting] JagLau:
Thinking of Knox, would it be feasible to create an inverse container? A container where you could have "root" access to anything installed in that container. The Android OS outside the container would be unaccessible with containerized pseudo "root" accessed. Win-win for most usage.
[Nexus 5 Q&A, Help & Troubleshooting] lucky13:
I just came here from g+, and I've read the thread. I'm not going to weigh in on this while debacle too much, but what I can say is this; power users are the people who recommend and set up apps like Android pay for friends and family members, I know, as I've done it numerous times. I've had several people ask me about pay, and after being blind sided by a now non functioning app (a simple statement on the party store would be nice) and no way to regain functionality (I went back to stock, non locked bootloader and it still failed to verify Android on a Nexus 6, ffs) I will not set it up or recommend anyone I know to use , sorry, but what a mess.
[Nexus 5 Q&A, Help & Troubleshooting] trickinit:
Agreed. I unrooted and went back to stock on my G2 and still can't get it to work. I'm normally the one showing off cool new features like this to my friends and family. That won't be the case with Android Pay.
[Nexus 5 Q&A, Help & Troubleshooting] AndrewJB88:
I've got a HTC One M8 Google Play Edition (Android 5.1) running Google Play Services 8.1.15 (2250156-238) , I'm in the UK.

Android Pay will open, once I press the plus button to add a card it comes up as loading and then crashes "Unfortunately, Google Play Services has stopped."

Is this because I'm based in the UK? or is there another issue here? I know AP isn't released for the UK but wanted to have a play with it at least.
[Nexus 5 Q&A, Help & Troubleshooting] RusherDude:
Thanks for the reply! Appreciated :good:

However you skipped the main point :(, which was in resume: "Do you think that you can put any security on that system without a total chain of truth from bootloader to kernel/os loading?". Because Android is still veeeery young in terms of security, and public exploits come into the game very frequently (and private exploits.. well that discussion doesn't belong here, but they exist :( ).

I don't think that it's fair for us, the power users, to just be skipped of Android Pay just for "security" when the platform can't be secured at all in reasonable terms. In fact, if some exploit / root trick / xposed module / others permits bypassing the protection, that protection doesn't have any sense at all in the first place..

Unless Marshmallow changes some of this obviously.
[Nexus 5 Q&A, Help & Troubleshooting] trickinit:
Did you sideload Google Play Services, or did it auto update? I ask because there are a lot of different versions, and it will crash unless you use the right one. I had the same issue when the Android Pay apk first leaked. It took a few attempts to find the correct version of Google Play Services.