Hacker Dudes// alternate deck. same feed.
FEED ~13/h Δ0 ────:──── LINK ░ SIGNAL
95%
SPOOLED 0/45 CYCLE 61339.624.104.66
Around a dozen banking apps began specifically permitting GrapheneOSgrapheneos.social
682pts/328 comments/3d/─
by privacyishuman / hn> / « feed
▲▼ ronsor08:22 hn>
>many have memory corruption bugs and incorrect anti-tampering code requiring our per-app exploit protection compatibility mode toggle

Ironic for apps that are often so paranoid about "security" and "hardware attestation"

▲▼ przmk08:52 hn>

Because it’s mostly about checking compliance boxes than really caring about security.

▲▼ paweladamczuk09:02 hn>

Corporation are not able to "care". It's the boxes's fault. That is, legislation and/or enforcement.

─ 10 more ─
▲▼ paulnpace12:38 hn>

In my experience, banks are among the worst at following email standards. Why would we expect more sophisticated security protections from them?

▲▼ OsrsNeedsf2P09:38 hn>

Is this new? It's unclear why the word "began" is in the title

▲▼ pizzaiolo10:11 hn>

After that guy was arrested for wiping his GrapheneOS phone with a duress password, some reports appeared of previously usable apps becoming unusable specifically on GrapheneOS. This now reads like a possible reversal of that trend.

▲▼ grapheneos18:49 hn>

We're not aware of any apps banning GrapheneOS because of that. Play Integrity API adoption has been ongoing for a while. The device and strong integrity levels don't specifically ban using GrapheneOS but rather any non-Google-certified OS. Google certification isn't available to GrapheneOS.

▲▼ blendergeek10:27 hn>

That sentence is lifted from the post.

▲▼ riedel10:50 hn>

Where is this list of 12+ banks that explicitly allow graphene. My understanding is if the banks do not explicitly state support also in terms of ToS, they might pull the rug any moment. With neo banks you are then basically left without a bank.

▲▼ riedel11:06 hn>

I found some evidence of half a dozen that there might be support 'by desogn' (all of them might pull the rug at any time again as far as I understand TOS, which however seems true for any android in theory): Swissquote, Yuh, UBS, Starling Bank, Triodos Bankieren NL, AmeriCU Credit Union. More?

▲▼ grapheneos18:54 hn>

Banking app compatibility has greatly improved, mainly due to GrapheneOS working around bugs in the apps and adding per-app opt-out for exploit protections known to cause incompatibilities. Around a dozen banking apps have explicitly permitted using GrapheneOS in one way or another. Some removed or changed checks they had to begin permitting it. Other apps began verifying it and potentially other operating systems via Android hardware attestation as an alternative to the Play Integrity API.

There are around 6-8 banking companies which have made changes to explicitly permit GrapheneOS that we're aware of and several have multiple apps which add up to around a dozen apps. There are likely other apps which have made changes to support it without us being aware. Compatibility has improved a lot and we can't attribute that all to any one particular change.

▲▼ Roark6610:15 hn>

Why not lineageos23?

▲▼ LightBug110:36 hn>

Excellent. That was one of my main issues with Graphene.

I'm just starting a deep-dive on it.

As a newbie, can existing users point out any other gotchas?

* EDIT: Oh ffs, only on Pixel phones ...

▲▼ Arch-TK11:41 hn>

It's not Pixel only for no reason, there aren't any other phones which meet the rather sensible requirements at this moment. And even the latest Pixel phones have regressed.

▲▼ LightBug114:50 hn>

Thanks for the heads up. Will wait for the Moto reboot! Hopefully this becomes more of a thing.

▲▼ anonym2912:25 hn>

Coming to a Motorola flagship next year!

▲▼ LightBug114:41 hn>

Thanks for the heads up!!!

I'm a previous Moto user and despite Pixel supposedly being more advanced, I really disliked them. I always preferred the Moto phones.

Gives me hope!

▲▼ subscribed15:23 hn>

Complain to other hardware vendors that they sell insecure crap or do not release updates :/

And yeah, it'll be Motorola from the next year on, but a proper, first party cooperation. I think that Motorola wants to become the answer to the question: "what's the best, safest android smartphone?"

▲▼ edent10:36 hn>

In my experience with UK banks & financial institutions, GrapheneOS support can be roughly divided into four types.

None. Explicitly banned. And, though I feel bad for saying it, I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

Some. App works, but some functionality is unavailable. I've got a credit card app which works, but refuses to set up virtual cards or use "remember me". That's good enough for my use. Similarly, I had a merchant account which let me see my balance, but I couldn't use my phone as a credit card reader.

Works, but only in main profile. I'd rather keep financial things in a locked profile. But lots of banks disallow that.

Full. Everything works (although you may need to toggle some exploit protection off).

Some banks are reasonably good at letting you pass on technical queries to their developers - mostly the smaller ones. The nice thing about the UK banking sector is that it is trivial to move banks. So I switched accounts to providers which worked with my phone and let the old ones know why I was moving.

▲▼ embedding-shape10:43 hn>
>The nice thing about the UK banking sector is that it is trivial to move banks.

Are there countries where this is a hassle? Now I've only had personal banking accounts in ~3 countries (so far?), so maybe I'm in a bubble, but in none of the countries has "switching banks" been more than basically create a new account, start using new IBAN for incoming transfers, move direct debits to use new IBAN and start using new card(s). Those last two were even automatic in the last move I did for a lot of stuff. Is it typically more difficult than that in other countries?

▲▼ TFNA10:48 hn>

There are countries where, as a result of mergers, banking is now down to 3-4 banks, and they all have the same Android requirements, so switching won't get one anywhere.

─ 7 more ─
▲▼ lmz11:19 hn>

Having the debits move to the new IBAN automatically had to be mandated and built. It doesn't just happen. In markets with large incumbent banks they have no incentive whatsoever to make switching easy.

▲▼ vanviegen11:52 hn>

Having to change IBAN is a hassle, and shouldn't have been necessary. In fact, I think some countries (Germany?) actually got that right, and allow you to take your IBAN with you when switching banks. Like keeping your phone number when switching telco.

─ 3 more ─
▲▼ edent12:35 hn>

In the UK we use https://www.currentaccountswitch.co.uk/

It automatically moves all of your Direct Debits, recurring payments, balance etc. It even redirects incoming payments to your old account to your new one.

It other countries it is a lot less trivial.

▲▼ basilikum17:44 hn>

It can hurt your credit score.

▲▼ justonenote11:21 hn>
>None. Explicitly banned. ... I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

I mean this is the whole reason GrapheneOS does not ship a rooted version that they attest to. I doubt they are explicitly banning GrapheneOS, what they are doing is only trusting Google attestation.

The reason some banks explicitly allow GrapheneOS is because its easy for them to also trust GrapheneOS attestation, because it is not a rooted OS, and sensible security teams in banks can see that its more secure than any other Android phone including Pixels.

I wish people would understand this better, its what gives GrapheneOS a fighting chance of becoming a legitimate open source mobile OS that is accepted as secure for consumer use and that is not controlled by Apple or Google.

▲▼ Zak11:53 hn>

That's not the whole reason, or even the main reason GrapheneOS doesn't support or encourage root access.

The central design theme of GrapheneOS is to have stronger sandboxes and more limits on what apps can access than stock Android does. Granting an app root access does exactly the opposite; someone behaving rationally and consistently usually won't want to do both on the same device.

▲▼ grapheneos20:11 hn>

Providing root access to a huge portion of the OS with a way for apps to obtain it goes against the privacy and security focus. It's never a reasonable way to implement the features provided by those kinds of apps. It's an insecure shortcut being taken to implement features poorly and insecurely without proper integration. Providing root access to end users is a much different thing than giving it to a huge portion of the OS with a way for apps to request it.

We wouldn't mind providing a 2nd set of releases with user root access but those would have separate signing keys for privacy and security reasons. It would not be accessible to large portions of the OS to apps. We don't do it because it would double the number of builds and would be a massive amount of additional work for managing and testing it. It would take immense resources to create a variant of the OS which we'd recommend against almost anyone using mainly to provide a novelty. We have much better uses for our resources. Resources are always limited and doubling the number of OS releases for a 2nd time would have a huge cost.

▲▼ Zak11:23 hn>

Without evidence that using an OS that isn't approved by Google or Apple actually correlates with a higher rate of account compromise or fraud, I do blame them for trying to force it on users.

I've done a couple casual web searches for such evidence and come up short. If somebody has good data on this, I don't think they're publishing it.

▲▼ stymaar12:32 hn>

I'm pretty sure it's actually anti correlated: not because degoogled Androids are safer by themselves, but because the average user is way savier than the average Joe (which have an out of date Android full of unpatched security vulnerabilities, in the first place).

─ 5 more ─
▲▼ jmaker14:48 hn>

Since that’s “likely” correlated (and a “likely” is often enough), a product manager will take the most optimal decision for themselves and the company - reject such use cases as unsupported. This is easier than to manage such an edge case for “a few” legitimate users.

Few orgs understand compliance. While there might be some compliance people at the org level, individual teams implementing features will need to have a good line to them. In the end, knowledge is siloed and everyone needs to deliver on time. So it’s easier to forbid with some controlled collateral damage than to permit with an uncontrolled downside variance. Just a derisking hedge.

Serving use cases that drift away a bit “too far away” from the average (+ some sigmas) use case is not economically justified for a product manager - their KPIs would deteriorate from such “altruism”. No one will care if a few low-margin customers can’t use the product.

─ 1 more ─
▲▼ grapheneos20:02 hn>

Their main concern is malware not capable of exploiting OS vulnerabilities. They focus on protecting against malicious clones or modifications of their apps along with enforcing having a mandatory app sandbox and not running non-approved accessibility services, non-approved keyboards, etc.

Most of the banks don't require not being months or years behind on bare minimum Android security patches let alone requiring anything close to proper security patches. That may rapidly change in the near future due to AI accelerated exploit development making exploits far more accessible and broadly deployed.

Nearly all these apps aren't banning GrapheneOS on purpose but rather because they're doing the least possible work to implement weak anti-tampering measures. Play Integrity device or strong integrity levels are an easy way to do it. They can use strong integrity if they're willing to forbid extraordinarily insecure devices failing to meet a very low bar for security. Most banks aren't willing to do that since it would mean blocking the majority of Android devices so they use device integrity which barely does anything more than enforcing licensing Google Mobile Services to reinforce Google's monopolies. Even the strong integrity level doesn't enforce much more than that, it's mostly just much harder to bypass at scale.

▲▼ GreyStache11:40 hn>

I have two to add: Works, but only every other app version. Second: works if the aosp keyboard or gboard are active but not with LeanType. Easy fix once you know, but that was not a fun time debugging.

▲▼ logifail11:43 hn>
>though I feel bad for saying it, I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

Most of us understand the desire to protect customers from fraud, but I don't think we should accept blanket restrictions on everyone's freedom simply because some people might make poor security decisions.

There's also the unspoken/uncomfortable economic reality here: the optimal level of fraud isn't zero. At some point, the cost of preventing additional fraud, including the loss of individual choice and autonomy, exceeds the benefit.

Could we aim for proportionate, evidence-based security rather than treating the least capable user as the benchmark for everyone?

▲▼ Zak11:58 hn>

Someone flagged this comment to death (I vouched and restored it), and mine attracted some downvotes.

I'm surprised to see that in this thread. That's usually reserved for politics and arguments about AI.

─ 1 more ─
▲▼ oneplane11:58 hn>
>blanket restrictions on everyone's freedom

The scope is much smaller than that: restriction on what banking conveniences are provided.

>Most of us understand the desire to protect customers from fraud > At some point, the cost of preventing additional fraud, including the loss of individual choice and autonomy, exceeds the benefit > Could we aim for proportionate

I think you have answered your own question here; if a less than single percentage of retail customers use something that's not a general iOS or Android device, anything beyond that is not really worth it until regulation says otherwise.

─ 2 more ─
▲▼ nefariousoctopi12:18 hn>
>Works, but only in main profile.

Would anyone know why? My understanding of profiles is arguably very limited, but I always saw those as equivalent to device owner profile from app runtime standpoint.

▲▼ eddythompson8014:57 hn>

I’m not very familiar with android because I don’t daily it, but I have an old Pixel 4 with GOS that I was using to evaluate GOS. I know for example that some MDMs don’t work on a secondary “Work” profile in GOS, despite it being one of the main use cases for secondary profiles. If I recall correctly, it was because of how some MDMs can be configured by the organization’s admin they require some handshake with the Owner profile that doesn’t work in GOS. you would have to install them on the owner profile defeating the point I think,

─ 3 more ─
▲▼ flotzam19:52 hn>

An app is able to check if it's running in the main profile: https://stackoverflow.com/a/54765470

I can't think of a legitimate reason to check this and refuse to run in a secondary profile. But banking apps sure love to cargo-cult invasive nonsense.

▲▼ kilpikaarna12:47 hn>
>”If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them.”

This obviously depends on jurisdiction, but how commonly is this actually the case?

I’ve thankfully never personally been on the receiving end of fraud or identity theft, but my impression is that here, everything that happens up until the point you tell your bank ”hey, uh, I think my account’s been compromised” is pretty much on you. I don’t think rooting your phone, installing a banking app from some umauthorized source et.c would be hard to construe as negligence.

▲▼ Retr0id13:50 hn>

I don't know anything about the actual legal responsibilities, but even there aren't any, a defrauded customer takes up support resources just having the conversation about it. Upset customers (regardless of how well placed that upset is) will complain about it in reviews etc.

A lot of people aren't able to distinguish "I got scammed" from "the bank took my money away".

▲▼ avianlyric14:54 hn>

In the UK, the bank is liable for any transactions on your account that you didn't approve. Doesn't matter that they thought you approved it because someone knew your pin, or compromised your device.

Unless the bank has reason to believe that you're either trying to defraud the bank, or where unduly careless with your banking credentials (and you have to be really careless to meet that bar in the eyes of the regulator and the courts), then they're expected to refund you.

I've seen banks refund £100ks to customers that were defrauded over many months via romance scams. There are cases ruling by the Financial Ombudsman forcing banks to refund customers to handed over their cards and PINs to carers that then stole money.

The general attitude of the law in the UK, the regulators, and the courts, is basically it's the banks responsibility to provide appropriate security, in a form that their customers can easily use and understand. If banks want to make it easy for customers to move and spend money, then the risks associated with that convenience accrue with the bank, not their customers.

Obviously banks work very hard to worm their way out of their responsibilities here. But if you use the consumer protection tools that exist in the UK, which are very easy to access, and which your bank is required to inform you of, then it's surprisingly easy to force a bank to refund you for any fraud you suffer.

─ 1 more ─
▲▼ fersarr13:14 hn>

Question: In the UK, thanks open banking, couldn't you use a compatible bank like monzo and load all the other bank accounts via open banking into that single app?

▲▼ louthy13:24 hn>

Yes. Banks like Monzo allow you to import your other bank accounts into their app. I did it for a while, but ultimately I found it easier to just have separate apps for each. Most apps are very good and improving all the time, so usually one isn’t much better than the other.

I haven’t looked for a one-app-to-rule-them-all, but in principle it’s possible.

I think the UK banking sector is in rude health. It’s very competitive and it’s easy to move. The quality of the apps is very much part of any competitive advantage.

I have accounts with four uk banks and it’s trivial to manage them. It’s an example of legislation working really well.

▲▼ vlyan13:20 hn>
>If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them.

I keep reading this justification, and it doesn't make an ounce of sense to me.

first of all, the number of people who want to root their phones is a fraction of 1%. children, teenage girls, and senile boomers don't do that. the number of people with rooted phones who could fall for "hello sir, I am sir John Whiteman from Microsoft, you're phone have virus, sir, please do the needful install this a pee kaa, sir" is near zero.

second of all, phones get stolen all the time, and it would make sense to reduce liability by not providing apps at all.

it's security theater.

▲▼ rationalist13:45 hn>
>people who want to root their phones is a fraction of 1%. children, teenage girls…

If someone lies to them and tells them there is an app that lets them get free Roblox bucks or whatever, but first they have to root their phone, they will. If someone lies or makes an app that removes pimples or adds makeup in realtime, or something, but they make it only work on rooted phones, they will.

▲▼ KMnO414:37 hn>

I did a rough estimate of all the people I know and the number of those people who would want to root their phone. It’s not a big number but it’s way bigger than “a fraction of 1%”.

And it’s a completely different demographic than those would would fall for the phone call scam, but it’s incredibly disingenuous of you to suggest that the only malware distribution vector is being tricked into installing an APK.

I know people who are interested in modding games, pirating software, and installing “cool” apps just for the novelty. I would argue the most likely reason those people installed malware is voluntarily, because they searched out a hacked version of Bloons Tower Defence. Not because they “needed to pay an outstanding Windows service bill”.

▲▼ jon12814:39 hn>

A Trezor Safe 5 costs roughly $130.

If the banks were really so concerned about malware on the user's endpoint, and they had competent CTO, then they would write an app for Trezor or offer a Trezor with their own logo and app on it and users could sign transactions with it.

Trezors show on a screen to the user "this is the amount and where to be sent that you are signing for".

Malware with high privileges on a compromised user endpoint can bamboozle the user but a hardware wallet would catch that.

▲▼ MostlyStable14:49 hn>

You are suggesting an entirely second piece of hardware when there are people in this thread claiming (IMO correctly) that many customers prefer an app over the browser because it's very mildly more convenient.

And there is a very large swath of banking customers who I wouldn't be surprised to learn that banks will earn less than $130 from over the course of a decade.

─ 4 more ─
▲▼ xorcist17:22 hn>

I don't know where you live or with whom you bank, but there were plenty of hardware tokens for banking for almost two decades until phone apps took over. They are not likely to return. Managing many hardware tokens is a big undertaking and people regularly forget them or destroy them. Phones are so much easier and people generally don't want to carry extra devices. They don't even want to carry comparably tiny credit cards given the choice.

─ 1 more ─
▲▼ cowlevel14:45 hn>

FWIW, GrapheneOS can't be rooted. It's far more safe for the bank than any other version of Android.

▲▼ drnick118:03 hn>

It absolutely can be rooted by building it from source. And having this ability is what makes the project open.

─ 1 more ─
▲▼ grapheneos18:40 hn>

GrapheneOS doesn't have app accessible root and has it limited to a tiny set of processes where it's still largely contained via SELinux. Debug builds of GrapheneOS have root for Android Debug Bridge (ADB) and it doesn't limit how people can modify it. We don't recommend using a debug build on a production device and people should at least set ro.adb.secure=1 if they do.

GrapheneOS is an open source project and people can make their own builds with arbitrary modifications. We recommend not adding a third party system giving root access to a large portion of the OS and making it possible to grant to apps with a dialog since it greatly reduces security if it isn't used. People can do what they want regardless of our recommendations.

Modifying GrapheneOS in any way creates a new OS which is no longer GrapheneOS itself. Forks of GrapheneOS must come up with their own name and branding if they're going to distribute their modifications. We don't want software which isn't GrapheneOS being confused with it.

─ 2 more ─
▲▼ yjftsjthsd-h16:57 hn>
>And, though I feel bad for saying it, I can't blame them. If some idiot roots their phone and downloads malware, the bank may be responsible for refunding them. I can see why they don't want that headache.

This argument has never held any water for a simple reason:

Consider 2 phones.

1. Runs self-built lineageos (latest version), with magisk installed.

2. Runs official stock ROM, no mods, all apps from Play Store. Also, hasn't gotten any updates in 6-9 months and is running a 4.4.x kernel that isn't even the latest version on its branch.

If your app blocks phone 1 and allows phone 2, then you're doing security theater in a way that actively undermines actual security. The ability for a user to flash an OS or allow apps root access doesn't make a device insecure, but the ability for any app to grant itself root because the vendor can't be bothered to patch the OS certainly does.

▲▼ LoganDark10:46 hn>

I truly hope that this is not a pure whitelist of only the official signing keys via attestation.

▲▼ cowlevel14:50 hn>

it is

▲▼ grapheneos18:48 hn>

Not necessarily, it depends on how they fixed it. It isn't up to us. Some of these apps began supporting it by fixing their own anti-tampering code to stop being incompatible with our exploit protections to avoid needing users to opt-out for the app.

Some were using the Play Integrity API and stopped doing it.

Others were using the Play Integrity API and implemented the Android key attestation API as an alternative which means only a list of operating systems and hardware they choose to permit will work in addition to Google certified devices with the stock OS via the Play Integrity API.

▲▼ LoganDark19:15 hn>

Thanks. It's unfortunate that some of them decide to use the key attestation API. I guess that's one of its intended purposes, but not where I'd personally like to see it. Just a little salty that certain things like rooting will be forever out of reach on GrapheneOS for users of those apps, because you will never be able to do that with the official signing keys.

─ 2 more ─
▲▼ readthenotes110:55 hn>

A better link to the actual list of hundreds of banking apps supported

https://privsec.dev/posts/android/banking-applications-compa...

▲▼ jruohonen11:18 hn>

The list is here:

https://privsec.dev/posts/android/banking-applications-compa...

Looks like good progress to me.

▲▼ shevy-java11:27 hn>

Good. I am tired of vendor-lock-in of a few corporations dominating the world here. Capitalism was never corporate-fascism - after all one element is free competition in a free market. This has been broken numerous times again and again, and the US justice department is deliberately unwilling to remedy this situation - thus also betraying the idea behind capitalism. No wonder since the orange mafia is running the show right now, with all signs of real dementia now being obvious.

▲▼ cowlevel14:51 hn>

Capitalism was never the same as free-market. In a free market there's competition, but in capital-ism it's all centralised at a few people, the ones who have all the capital.

▲▼ eks39111:37 hn>

You singlehandedly created the synapse connection I needed to understand why people hate capitalism. I've defended it so many times and now realize what I was actually trying to defend was the free market and me and the arguer were talking past each other.

▲▼ vaylian11:31 hn>

I wonder how many of these supported apps are supported, because there are some geeks on the inside of the banks who want to have their favorite mobile OS supported.

▲▼ z3dd12:09 hn>

Very few, unless this geek is a CTO, which is very unlikely.

▲▼ Arch-TK11:40 hn>

Thanks, but no thanks?

I use GrapheneOS, but if you as a bank want to gate access to my money via some kind of technology, you better be including it as part of the account.

For example, HSBC continues to let me manage my bank account via the web browser, and continues to offer a battery powered hardware token as the means of authentication.

I let you hold my money, for whatever reason. Why do you expect me to be your distributed infrastructure provider? I am not going to let you require that I run your proprietary malware in order to access my own money.

The idea where you are effectively _expected_ to constantly provide free compute for companies to run their complete garbage on hardware _you own_ just for the privilege of giving them money is one of the most absurd trend in recent times.

I'd say that JS webapps are the same but at least there you run things on your terms in a sandbox that you can inspect and look at the requests, and there's no effective enclave carved out of your hardware (except for EME but that's another topic for another day and I'd be complaining if banks started to use it too).

▲▼ oneplane11:54 hn>

You might be overthinking it. Most people want to use their phone for convenience, and if an app allows them to remove just one step in their banking activities, they'll probably do that.

As for the second part (separate authentication methods), sure, would be rather problematic if they require you to have a phone, but that's a completely separate and different issue.

▲▼ aceazzameen13:02 hn>

Most people don't know they're also being taken advantage of. I'm mostly referring to data exfiltration.

─ 16 more ─
▲▼ expedition3210:37 hn>

The app is also safe unlike the browser on your PC.

▲▼ finaard12:06 hn>
>As for the second part (separate authentication methods), sure, would be rather problematic if they require you to have a phone, but that's a completely separate and different issue.

It's getting somewhat annoying nowadays with banks pushing that crap, but fortunately legislation for access of people with disabilites forces them to provide tokens still.

A lot of them now switched to banking apps on the phone acting as token without a chance to opt out, though, so as a result I've stopped doing anything bank related on phones nowadays.

▲▼ spidermonkey2312:44 hn>

HSBC pressure you into using the app and I don't think there is a way back to the battery powered OTP device. At least not that I know in the UK. I resisted until the battery failed and they basically make you go into the branch and then plead why you can't use a smartphone. got sick of this dance after 3 years

▲▼ tengwar213:23 hn>

Most of those devices are interchangeable, so if you have one from NatWest, Barclays etc it will probably work with your card. It's also possible to replaec the battery on most of them.

▲▼ RobotToaster13:38 hn>

The one I got from Lloyds has a replaceable battery

▲▼ cowlevel14:43 hn>

The magic words that work at most banks are "close my account", but you have to be prepared to actually close your account if they don't back down.

─ 28 more ─
▲▼ fhdkweig14:48 hn>

This probably won't help you in the UK, but for those in the US, Wells Fargo uses an optional RSA SecurID Device.

https://www.wellsfargo.com/biz/online-banking/securid/

▲▼ iririririr15:02 hn>

hsbc app is also in the group that forces you to disable all keyboard apps (even Futo), and used only gboard or samsung.

▲▼ speedstyle15:04 hn>

I got a replacement widget recently, the website pushes the app but when I asked in branch they gave me one without even asking my name. I had to wait on the phone to register the new serial number, maybe I could've done that in person too, but it lasted years (and multiple phones) so I don't mind too much

▲▼ gvurrdon09:05 hn>

That their app wouldn't run on my phone "wasn't a valid reason" to not use it, they said. Luckily, it is a charitable/community account and an organisational rule prohibiting officers from having bank apps on their personal phones was accepted - for now.

─ 2 more ─
▲▼ louthy13:17 hn>

This is pretty extreme, it’s just an app for your convenience. I agree that web access should be provided too, but most people find apps more useful.

Do you not run apps at all?

▲▼ fuzzzerd15:24 hn>

In my case, the app offers functionality that isn't available on the web version. So I resentfully use the app, but I'd prefer all features were available via the web instead.

─ 9 more ─
▲▼ ifyoubuildit15:26 hn>
>it’s just an app for your convenience

How often do you think companies are in the habit of doing things for your convenience?

Not who you replied to, but requiring me to install your app or create an account is usually going to mean I skip your thing unless I'm really motivated (or forced basically) to use it.

─ 1 more ─
▲▼ 0c3ca8316:09 hn>

I will do what I can to avoid using apps.

─ 5 more ─
▲▼ switchbak16:51 hn>

I use a terrible investment platform that purposefully nerfs the web app so you are forced to use the mobile app.

For something like a bank, I think they ought to be mandated to offer a functional website, yes. A slick app is nice too, but not if it’s the only option, specifically designed to steal my data and spy on me.

▲▼ port1117:23 hn>

I empathise with GP’s anger. “You hold my money” should be enough of a reason to do all in their power to build great web apps and support alternative OS’es.

I find that banking apps deserve that extra bit of anger pointed towards them. (It’s also increasingly hard to find an ATM in many countries. What are banks up to?)

─ 6 more ─
▲▼ drnick118:31 hn>
>Do you not run apps at all?

No, I don't want to run any apps, particularly commercial ones. I only run a few FOSS apps like K9, IronFox, Signal, Home Assistant.

I have, on occasion, downloaded and tested apps from the Play Store in a separate profile, and my experience of such apps has been extremely negative. Clearly, these apps don't exist for the user's benefit, and their purpose is to extract information about the user, including phone number, location, other apps used, contacts, etc.

─ 1 more ─
▲▼ Arch-TK18:44 hn>

What's more convenient than a permanent irreversible requirement that if I ever want to do any banking, I must use my phone or go to a physical branch (which are slowly all disappearing) to recover access. I can never just go back to _not_ using the app, I can only move the app to another phone. And the app restricts which apps I can have installed and even which developer settings I can enable.

The average banking app is not about convenience, it is about restricting how a user can access their account, compliance box ticking and an endless march towards minimising liability at all cost. Meanwhile people are getting mugged and moving money at knifepoint because the device they normally carry around everywhere with them is now a gateway to their bank account.

I only run apps that are open source, or that I can audit and that don't abuse Android's silly features to restrict me, and only when the app isn't a requirement to access or interact with something. For example I refuse to buy any hardware which requires a proprietary app to use a feature.

─ 1 more ─
▲▼ megous13:31 hn>

JS webapps have one key feature in this respect, there's no possibility for banks to force particular OS/HW on you via attestation.

▲▼ cowlevel14:44 hn>

Passkeys come with device attestation.

─ 2 more ─
▲▼ frmersdog13:45 hn>
>Why do you expect me to be your distributed infrastructure provider?

...You realize that we're talking about banks, right? Institutions operating on a fractional reserve? Take your money, use it as collateral to print 10x their holdings in interest-bearing debt? Free to restrict your withdrawals and bail-in funds from your account to save their own hides? Those banks.

The Occupy Wall Street and Bitcoin dudes and dudettes had it right, which is why they were carefully marginalized and appropriated, respectively.

▲▼ cowlevel14:44 hn>

The bitcoin dudes and dudettes didn't understand how the same incentives that apply to fiat money also apply to bitcoin.

─ 1 more ─
▲▼ bennettnate513:50 hn>
>I am not going to let you require that I run your proprietary malware

This is likely meant as hyperbole, but South Korea's online banking requirements really tries to live up to this reputation

▲▼ Arch-TK00:29 hn>

My fiancée who _does_ have the HSBC app has had to choose between enabling accelerated animations in the android developer settings and being able to access her bank account.

I think the HSBC app qualifies as malware but I'm morbidly curious how bad South Korea's version is...

─ 1 more ─
▲▼ jonathanstrange14:37 hn>

My bank pestered me so much to use their app that I eventually caved in. Ironically, they claim it's more secure than normal internet banking from the PC with 2-factor authorization, even though they send the SMS token for in-app transfers to the same phone as the app...it makes no sense.

▲▼ iririririr15:05 hn>

The EU two years ago rolled back all their proper OTP 2nd factor logins and now exclusively allow their EU app otp or sms

it's so obvious they need backdoor access it's not even funny.

─ 2 more ─
▲▼ tredre318:02 hn>

Assuming your phone cannot be trivially unlocked by a thief, it likely is safer to bank on it than on a computer.

Because unless your desktop is dedicated to banking, there's always the chance that one of your other activities will install malware. If you don't use FDE (the majority of people) and you saved your banking password in the browser rather than a password manager (likely a scary amount of people), then theft is also an issue.

Neither of those things are really a problem on a mobile device.

─ 1 more ─
▲▼ cowlevel14:42 hn>

Most banks will have a second option to stop you from closing your account with them, but it's hidden.

▲▼ teekert14:55 hn>
▲▼ SmashDan15:42 hn>

I like the idea but it has some pretty suspect TrustPilot reviews, and its connection to crypto is a bit of a red flag to me.

─ 1 more ─
▲▼ Dove16:31 hn>

Wow - I really want that to succeed!

▲▼ knocte17:52 hn>

I've heard that an NFC alternative to ApplePay & Google{Pay|Wallet} is Curve Pay, but sadly it requires KYC (while the former ones don't). Do you know if Walt will require KYC too? It's not clear from their website.

─ 1 more ─
▲▼ user0917297614315:43 hn>

Right... and let's just hope those banks pushing the app-everything culture with semi-working web interfaces still online don't start requiring unauditable WASM binaries to run them.

▲▼ judge202015:57 hn>
>I am not going to let you require that I run your proprietary malware in order to access my own money.

Why do they need to tailor to you how they do business? They could cut you off from accessing your money over the internet entirely if they wanted. They don't even have to offer a debit card, it could be a bank where you can only deposit and withdraw cash in-person.

My point is that you choose the institution you want to bank with based on what they offer and if it works for you. Banking is the poster child for an industry where people switch institutions based on what the institution offers.

>The idea where you are effectively _expected_ to constantly provide free compute for companies to run their complete garbage on hardware _you own_ just for the privilege of giving them money is one of the most absurd trend in recent times.

Corporations offer services for money only under very narrow requirements and conditions because relaxed requirements would cost them money overall. If people are expected to provide free compute, and 99.9999999% of your customer base is okay providing that free compute*, then they'll go that route.

*: The actual cost to run any given javascript or web app is probably less than a penny, even if you add the actual energy cost to do so plus amortize the hardware cost over the lifetime of your hardware

▲▼ 0c3ca8316:09 hn>
>Why do they need to tailor to you how they do business?

Exactly, VCRs should be banned -- why should cable companies tailor to you how they do business, and be forced to allow you to plug in anything into their distribution network? Only approved TVs should be an option.

─ 1 more ─
▲▼ Arch-TK00:26 hn>

In the UK, you _must_ have a bank account if you want to exist. I can't pay my mortgage in cash, and I can't take a salary in cash. So while I can _choose_ a bank, if there is no law literally preventing them from all requiring a smartphone to manage your money, then I imagine at some point that will happen, and then what do I do? Move to a different country?

▲▼ PeterStuer16:33 hn>

Maybe naive on my part, but from a security pov I trust my bank's app more than the browser on my pc.

▲▼ Grazester17:28 hn>

I rather travel by horse down to my local bank to get my money than to use HSBC to do any sort of banking.

▲▼ xorcist17:33 hn>

"Let you hold my money"? In what society is that true? Banks run our financial infrastructure, and you can't just opt out of them. If you want to have a salary, do your taxes, or raise children you will need a bank. They have an immense amount of power and operate in a heavily regulated area so there's guaranteed to be very little competition.

Voting with your wallet does not work here. There is only a handful of banks, and in many (most?) countries they all force proprietary software and/or unreasonable contracts on their customers, switching between them does not help.

▲▼ howunfortunate17:40 hn>

Google tells me there are about 4.3k FDIC insured banks that operate in the US.

At what number would you consider this to be more than "very little competition"?

─ 1 more ─
▲▼ lostlogin17:43 hn>
>Banks run our financial infrastructure, and you can't just opt out of them. If you want to have a salary, do your taxes, or raise children you will need a bank.

After getting screwed around by my bank (ASB) I am looking to get away from them. Wise is tempting. They are not a bank.

My salary can go to them. Why would I need a bank for taxes or my children?

The only thing holding me back is the fact that money isn’t government guaranteed as secure with them. With ASB NZ$100k is government guaranteed.

▲▼ agile-gift026218:02 hn>

My way of thinking is that if I can only manage my money through your app, I'm not givig you my money

▲▼ ForHackernews11:50 hn>

Very good news. It's a good sign if banking companies are considering the actual security issues at play and not just blindly rejecting all unofficial ROMs.

▲▼ grapheneos19:47 hn>

GrapheneOS will have official support on multiple devices from Motorola and will likely eventually have green verified boot state on the subset of their devices with support for it. This won't help with the Play Integrity API banning using it. Apps aren't banning non-stock operating systems but rather non-Google-certified operating systems.

Google certification isn't open to us due to requiring licensing Google Mobile Services and agreeing to an enormous amount of anti-competitive terms including banning many of the privacy and security features we provide. It would also be incompatible with providing updates without unacceptable delays.

▲▼ warrantisall20:25 hn>

Have you tried to challenge Google's anti-competitive requirements in any way? Would make a case in EU.

─ 1 more ─
▲▼ ForHackernews20:38 hn>
>Apps aren't banning non-stock operating systems but rather non-Google-certified operating systems.

Potato, potato, right?

Is there such a thing as a non-stock operating system that is certified by Google?

─ 3 more ─
▲▼ drnick101:02 hn>
>GrapheneOS will have official support on multiple devices from Motorola

This is excellent news, because the phone that has been confirmed so far (the Signature 27) is absurdly large and expensive. The Pixel 9 I currently run Graphene on is already too big for my taste.

▲▼ iLoveOncall12:27 hn>

Why is the title "a dozen", when the link given in the post covers hundreds of banks that support it?

▲▼ paulnpace12:39 hn>

I didn't have time to review it, but there is some way to explicitly trust GrapheneOS. Maybe that is what they mean?

▲▼ grapheneos18:56 hn>

The way they fixed compatibility with GrapheneOS varies. Our post says around 90% of banking apps are working and around a dozen are known to have specifically made changes to support GrapheneOS. That mainly involves them no longer banning using it one way or another. Some did so by verifying GrapheneOS via the Android hardware attestation API but others simply fixed broken anti-tampering checks. Some apps including certain banking apps relaxed their Play Integrity API checks but we expect they'll undo that and use Android hardware attestation to support multiple alternatives otherwise banned by it. We don't choose what these apps do and would prefer if they entirely removed all of the misguided anti-tampering code and restrictions on what can be used. It still causes problems regularly for apps permitting GrapheneOS since the checks often have bugs or they don't permit newly supported devices promptly.

▲▼ left-struck13:01 hn>

This post is actually really bad for a Hn post, it appears to be a reply to someone else hence the lack of context here, and the link appears to be a list of banking apps that are have some level of compatibility at all, not the official 12.

▲▼ fph13:09 hn>

A dozen is the number of banks that whitelist Grapheneos keys via hardware attestation.

▲▼ grapheneos18:48 hn>

Our linked reply says most banking apps work on GrapheneOS and that only around 10% are unavailable due to banning a non-Google-certified OS. What we said about banks specifically permitted it means some of those former 10% of apps not allowing it began explicitly permitting it in one way or another. Some did it by removing or modifying certain checks while others did it by checking for GrapheneOS and potentially other operating systems via Android hardware attestation as an alternative to the Play Integrity API.

▲▼ evolve2k12:45 hn>

Any idea which banks support “tap to pay”. Usually on Android or iPhone users access Googld pay or Apple Pay.

Word is that banking apps that implement their own nfc interface within their app can be used for “tap to pay” on Graphene.

Curious as to how we can know which providers support this.

▲▼ fph13:07 hn>

Curve in Europe (which can be linked to any card) and Paypal.

▲▼ hollow-moe13:21 hn>

Curve has been requiring Google Services for months now it seems. Tried to get the thing working on my GrapheneOS the app won't start without them.

─ 4 more ─
▲▼ codethief13:36 hn>

In Germany Sparda-Banken and, I think, Volks- und Raiffeisenbanken support tap-to-pay through their apps. (And maybe other banks providing apps developed by the same contractor, Atruvia AG.)

PayPal also offers tap-to-pay, though I recently had to disable Graphene's "secure app spawning" feature for the PayPal app to get it to open.

▲▼ evolve2k20:55 hn>

If we want our bank to add suppprt for GrapheneOS and specifically for “tap to pay” on GrapheneOS, without Google pay, what technically and specifically should we be asking for?

─ 1 more ─
▲▼ no_time12:51 hn>

Mine (KH bank) does perform a safetynet attestation that fails, as I don't even pass basicintegrity, then proceeds to completely ignore the result and still let me in on GOS.

I wonder if it's intentional.

▲▼ subscribed14:46 hn>

Weird, you should pass the basic and fail the remaining two:

https://play.google.com/store/apps/details?id=gr.nikolasspyr...

(FWIW, sometimes when you _block_ the app from the Play Integrity API (in this pop-up) the app that wants to perform the check works, while it fails when you do not block it)

▲▼ no_time15:57 hn>

I'm not logged in to any google account and get apps through aurora. I read somewhere that could be the reason.

─ 1 more ─
▲▼ grapheneos19:52 hn>

Basic integrity requires being logged into an account. You can create a throwaway account and you'll pass. You may need a VoIP number if you're using a VPN to meet the phone number requirement for IPs without a good reputation.

▲▼ left-struck13:05 hn>

This post is awful, the link posted here is to a social media reply and even that reply does not contain a list of the 12 banks, it does however contain a link to a much larger list of banks, which are supported but not necessarily officially supported.

▲▼ qbane15:01 hn>

I have avoided grapheneos.social links on HN just like quanta magazine ones.

▲▼ jon12814:29 hn>

I always have to roll my eyes when someone tells me they consult for banks like that's supposed to be impressive.

That crowd thinks 12 Factor applications are some monumental thing, "oh no, we can't do that, we would have to hire only the most expert experts, nobody does 12 Factor applications". They're all Windows tards.

Then as highlighted the other day, the big banks, including LLoyds, all run on Google's Cloud because ding ding ding big surprise they couldn't figure it out themselves, and they didn't deploy multi-AZ. They didn't do a rudimentary thing that virtually every startup knows to do and does.

The banks and the clowns that surround them are, by today's standards, barely computer literate.

▲▼ codedokode14:50 hn>

Why not just use a web app from laptop at home? Why do you even need an app on your phone? So that you can urgently transfer money to some scammers you met in the street?

I do not have any banking apps, and I log into a bank account maybe once in month or less often.

▲▼ treyd14:52 hn>

Unfortunately the only way I can spend directly from my work-sponsored FSA account is if I download their app. I haven't, since I can still just submit receipts, but they won't send you a physical card.

▲▼ WhyNotHugo14:53 hn>

A lot of banks are dropping support for making transfers from their regular webapp. AFAIK, in some countries a total of zero banks support this.

▲▼ codedokode14:56 hn>

In Russia, all banks I tried, are usable via web app (because smartphone apps live only 1-2 months before they are detected and removed from app stores). The disadvantage of a web app is that it is not always-on, doesn't allow tracking users are well as a real app, and cannot display advertisement notifications.

▲▼ grapheneos19:46 hn>

EU regulations require banks to require confirmation in an app with device and app integrity verification. They don't specify what that means but they have to do it. SMS 2FA is temporarily allowed for the transition period.

Apps are not required to use the Play Integrity API or a similar attestation API. The details of what they're required to do are unspecified and open ended. Many are interpreting it as meaning they use the Play Integrity API and we have to convince each one to permit GrapheneOS via the Android attestation API. It's not good and we would greatly prefer if this wasn't happening even if we were managing to convince most apps to permit GrapheneOS.

▲▼ exceptione14:55 hn>

Agreed that a website should be fine, but (Dutch) banks require the app as a second factor to log into the website. Fido2 hardware tokens could replace the bullshit requirement of "choose Apple or Google to be your overlord in order to use our service".

▲▼ codedokode15:00 hn>

We use SMS OTP as a second factor. Although banks of course want to save some cents and use push notifications for those who has a mobile app.

─ 2 more ─
▲▼ dutchbart16:40 hn>

Ehm, no. They don’t all do at least. For one, Rabobank does not require it. You can use the app to authorize in the browser. But for big transfers you still need their Rabo Scanner (which you get the first one of for free).

─ 1 more ─
▲▼ prmoustache17:02 hn>

I think EU regulation kind of force the banks into app usage as 2nd factor

▲▼ grapheneos19:44 hn>

Yes, they're required to move to apps with device and app integrity checks. SMS 2FA is temporarily permitted for the transition period.

▲▼ grapheneos19:42 hn>

The same functionality available through a web app on a laptop is available on a GrapheneOS phone through the same web app. Banks increasingly limit features such as sending transfers or depositing cheques to their iOS and Android apps. There are government regulations and industry standards being put in place which require using an app with device and app integrity checks to approve transfers. The EU has these kinds of regulations but temporarily allowed using insecure SMS 2FA for confirmation instead.

▲▼ warrantisall20:05 hn>
>Banks increasingly limit features such as sending transfers or depositing cheques to their iOS and Android apps.

Not only these features. Viewing PIN, enabling bank cards for internet purchases, enabling/disabling cards.

▲▼ barnacs14:55 hn>
>banking apps began specifically permitting GrapheneOS

In my view, that's not any better than specifically permitting Google only. This should not be a whitelist at all. I assume my self-signed GrapheneOS would fail this test?

▲▼ grapheneos18:24 hn>

Not necessarily, it depends on how they fixed it. It isn't up to us.

Some of these apps began supporting it by fixing their own anti-tampering code to stop being incompatible with our exploit protections to avoid needing users to opt-out for the app.

Some were using the Play Integrity API and stopped doing it.

Others were using the Play Integrity API and implemented the Android key attestation API as an alternative which means only a list of operating systems and hardware they choose to permit will work in addition to Google certified devices with the stock OS via the Play Integrity API.

▲▼ NotPractical15:26 hn>

By GrapheneOS, they mean "official builds of GrapheneOS". If you build GrapheneOS yourself, you won't be allowed to use these banking apps due to remote attestation.

▲▼ Vaushite16:01 hn>

So it's not open source.

▲▼ 0c3ca8316:12 hn>

This is the problem with remote attestation. The free software foundation has been talking about this endpoint since the late 2000s.

─ 1 more ─
▲▼ josephcsible17:09 hn>

The fact that GrapheneOS digitally signs their releases doesn't make them not open source. This is indeed a bad situation, but the badness is 100% the fault of Google for having a hardware attestation "feature".

─ 1 more ─
▲▼ grapheneos17:41 hn>

GrapheneOS is open source. This has no connection to open or closed source. GrapheneOS has heavily pushed back against apps using remote attestation to restrict which operating systems and hardware can be used. When apps are unwilling or unable to remove it such as due to government regulations, we try to convince them to permit GrapheneOS and other alternatives via a standard Android API instead of only using the Play Integrity API.

Banks are increasingly adding checks for Google certified devices. In the EU, there are regulations requiring banks to start verifying device integrity. It's headed that way worldwide with a growing number of regulations and industry standards requiring it. Apple's App Attest API and Google's Play Integrity API have repeatedly been the only options recommended by the EU which has contributed to the worsening situation in the EU in particular. We convinced the EU to remove those specific examples from several official standards. No one has been able to convince them to stop heading down this path despite a lot of people pushing back against it. We haven't been able to convince them to define actual requirements let alone to require permitting anything which meets those requirements. They give a vague description of what they require doing shaped around the Apple and Google integrity APIs.

We convinced around a dozen banks mostly in the EU to use the standard Android key attestation API included in the Android Open Source Project as an alternative. It allows apps to verify the OS verified boot key hash, patch level, app signing key hash(es) and app version code based on a root of trust. This meets the requirements for the EU standards and enables permitting any alternative with verified boot and a mandatory app sandbox with support for verifying the app's signing key and passing it to the hardware keystores. Other operating systems can publish their signing keys in the signed JSON format we published and ask the same companies to include their keys too.

Once apps implement an alternative to the Play Integrity API to permit a single OS, it's easy for them to add more. The hardest part is getting them to even consider doing it. It's nearly impossible to get in contact with the right people and to convince them to do it. Once we establish that contact and convince them to ship it, it's a lot easier. There has been an ongoing issue of these apps not adding our new verified boot keys which are per-device-model for security reasons similarly to the Pixel OS. We tried to solve that by creating a standard signed JSON format which can be automatically retrieved and used to automatically include the new signing keys. Exactly the same approach can be used to delegate certification and inclusion of arbitrary operating systems to other organizations. It can also be used for handling which roots of trust for non-Google-certified hardware are also permitted.

We would prefer if none of this existed but we don't live in that world and we're doing what we can to convince apps to permit GrapheneOS and other alternatives. We're heavily fighting against it being done in the first place and against more standards and regulations requiring it. We're also fighting against more centralized attestation systems such as the Play Integrity API as opposed to systems with actual standards where anything meeting those standards can be included. It would not be a good thing for there to an EU alternative to the Play Integrity API permitting specific operating systems and devices based on geopolitics and business interests. That would only accelerate adoption of attestation by EU apps which is already happening at a faster pace than elsewhere thanks to both EU regulations and what many of the countries are doing themselves.

─ 7 more ─
▲▼ drnick117:35 hn>

I think this is the real problem here if it's true. The community must absolutely retain the ability to fork the project and reintroduce things like root that the developers are obstinately against. If not, then Graphene will simply become another Google/Apple.

▲▼ agile-gift026218:06 hn>

I think root is precisely what most of these apps are trying to avoid. They think (at least the finance app I used to work for thought) that with root, user credentials the app stored would be accessible by whatever uses those root permissions and they didn't want the risk

─ 2 more ─
▲▼ greggsy18:29 hn>

But you can do that. You can go and root it with a fork. You just won’t run banking apps on it, because it introduces undue risk that they don’t want to absorb.

This ‘all or nothing’ attitude in the comments is a bit silly to be honest.

─ 1 more ─
▲▼ octoberfranklin00:36 hn>

GPLv3 fixes this.

▲▼ grapheneos18:30 hn>

Not necessarily, it depends on how they fixed it. It isn't up to us. Some of these apps began supporting it by fixing their own anti-tampering code to stop being incompatible with our exploit protections to avoid needing users to opt-out for the app.

Some were using the Play Integrity API and stopped doing it.

Others were using the Play Integrity API and implemented the Android key attestation API as an alternative which means only a list of operating systems and hardware they choose to permit will work in addition to Google certified devices with the stock OS via the Play Integrity API.

▲▼ iririririr15:31 hn>

what's the point of having grapheneOS and then installing all the google spyware back?

all these reports assume user installed google play store and google services.

this is like installing linux, then wine, then all the windows bloatware back.

▲▼ max-privatevoid15:53 hn>

It's properly sandboxed, which is a lot better than Google Play Services on regular Android. Far from ideal of course, but I assume GrapheneOS is built with those people in mind for whom Google is unavoidable.

▲▼ 0c3ca8316:08 hn>

And if I decide to patch my OS to fix some annoyance, then what?

Thanks, but no thanks. Remote attestation is simply not acceptable. You use it, I won't use your app.

▲▼ grapheneos18:41 hn>

It depends on how they fixed it. It isn't up to us. Some of these apps began supporting it by fixing their own anti-tampering code to stop being incompatible with our exploit protections to avoid needing users to opt-out for the app.

Some were using the Play Integrity API and stopped doing it.

Others were using the Play Integrity API and implemented the Android key attestation API as an alternative which means only a list of operating systems and hardware they choose to permit will work in addition to Google certified devices with the stock OS via the Play Integrity API.

▲▼ 0c3ca8323:44 hn>

Graphene doesn't control this, but the only acceptable fix should be to drop remote attestation.

You get the roughly the same security properties by enrolling user-owned pubkeys.

▲▼ privacyishuman17:32 hn>

There's five banking apps that support it specifically listed here [1]. I guess the dozen is not listed somewhere. Roblox, Hyundai, and Kia are also apps that officially support GrapheneOS. We should note that not all that are supporting it are using attestation.

I find all the people complaining about this to be rather insane. This is a completely open source linux distro getting official support from banks, some of the most legacy companies of all. This is good news. If companies are open-minded enough to support GrapheneOS, they're gonna be much more likely to also officially support other secure operating systems that are open source.

These are banking apps that weren't previously possible to be used on GrapheneOS. We're going from zero to one, not a step back.

[1] https://github.com/PrivSec-dev/banking-apps-compat-report/is...

▲▼ GalaxyNova17:43 hn>

GrapheneOS isn't a Linux distro it's an AOSP distro

▲▼ grapheneos18:00 hn>

GrapheneOS and AOSP are Linux distributions. Linux is not glibc, systemd, GNU coreutils, GCC and GNOME. Linux doesn't have a specific libc, init system, command-line utilities, compiler toolchain, graphical environment or other userspace components. There are many Linux distributions beyond Android not using those components. There's no standard Linux userspace and a distribution using OpenRC, musl, Clang/LLVM, uutils coreutils and other software isn't somehow not Linux. Linux distribution doesn't mean systemd/GNU/Linux.

GrapheneOS and AOSP do use the userspace components developed with the Linux kernel such as iproute2. GNU components aren't part of Linux or the broader Linux project. Those don't even use a compatible license. It isn't legal to use the Linux kernel source code as a reference for writing glibc code since GPLv2-only does not permit the additional restrictions of GPLv3.

▲▼ privacyishuman19:20 hn>

I’d just like to interject for a moment. What you’re referring to as “Android,” is in fact Android/Linux, or as I’ve recently taken to calling it, Android plus Linux kernel.

Linux is not an operating system unto itself, but rather a kernel—a core component that manages hardware resources. Android uses the Linux kernel, but replaces the traditional GNU userland with its own runtime, libraries, and system framework.

Many users run Linux-based systems every day without realizing it. Through a peculiar turn of events, the Linux kernel combined with Android’s userspace is often simply called “Android,” and many of its users are not aware that it is built on Linux at its core.

There really is Linux in Android, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs you run. The kernel is an essential part of the system, but useless by itself; it can only function in the context of a complete operating system.

Android is normally used in combination with the Linux kernel: the whole system is basically Android/Linux, a Linux-based operating system with a distinct userspace, not a GNU/Linux system like traditional desktop distributions.

▲▼ grapheneos17:55 hn>

It's very difficult to convince these apps to officially support a single alternative to Apple and Google Mobile Services devices. Once they're convinced to it and have committed to it, it's much easier to convince them to support more alternatives. Many of these apps are required to check device and app integrity by government regulations or industry standards. The EU has defined multiple standards requiring it. Multiple of the EU standards have at least initially explicitly referred to the Apple App Attest API and Google Play Integrity API as ways to verify device and app integrity. People were unable to convince them not to do it. We convinced them to remove references to specific Apple and Google APIs from several standards. We were unable to convince them to define any actual requirements or especially to require permitting any OS or hardware meeting those requirements. We tried very hard to convince them to do that and were unsuccessful.

GrapheneOS has heavily pushed back against using attestation to permit only specific software and hardware for running apps and using services. We've convinced dozens of apps to stop doing it altogether. We haven't had much success convincing banking apps to stop using the Play Integrity API to enforce Google certification, but we have convinced at least around 6 companies published at least around 12 apps to use the Android key attestation API to permit GrapheneOS. Those apps can now also easily add other operating systems supporting verified boot too. They're now aware of this being a choice and are considering how to handle it instead of simply going along with the typical approach of permitting only Google certified hardware running the stock OS.

We defined a signed JSON format for distributing verified boot key hashes for use with the Android key attestation API. This can be implemented by other operating systems implementing verified boot, a mandatory app sandbox and support for passing the signing key hashes and version of an app using it to the standard hardware keystores. It can be implemented beyond Android-based operating systems.

Unless people can convince the EU and other regulators to move in the opposite direction, this is where things are headed for access to many important government, banking and other services. We've tried our best to convince the EU and others to stop heading down this path and to start forbidding apps and services from doing this instead. They've continued heading down this path and we're working hard to keep apps working and to roll back the gradual loss in compatibility with banking apps gradually adopting the Play Integrity API. We need our community to help heavily pressure apps using it to stop or provide an alternative. We're gradually having success due to our growing userbase and influence. Perhaps one day we can convince the EU and many countries around the world to forbid using attestation to limit which OS or hardware can be used but right now they're doing the opposite.

▲▼ smallerfish17:39 hn>

Hm, what's the definition of works? https://github.com/PrivSec-dev/banking-apps-compat-report/is... - closed without a fix for Zelle. Another user later opened a ticket about Zelle not working, and it got closed as a dupe of the first, which had been closed 2-3 years earlier. Not promising.

▲▼ grapheneos18:24 hn>

It's a community project maintaining a list of banking apps compatible with GrapheneOS. The issues are used to submit feedback and are closed once the page is updated. It isn't a tracker with open issues for incompatible banking apps or functionality. The open issues are feedback which hasn't been incorporated yet. It lists whether the overall app is working on the main page and links to the feedback issue for each app to provide additional information.

Zelle does work on GrapheneOS via many banking apps. It isn't clear why it wouldn't work for that app when it works in others and no one has investigated it.

Most banking apps around the world only support Google Pay and Apple Pay for tap-to-pay on a smartphone. Google Pay bans using GrapheneOS so that's why tap-to-pay on GrapheneOS is only available in regions with alternatives to Google Pay. Europe has Curve Pay, PayPal tap-to-pay and many banks implementing their own tap-to-pay. That site currently doesn't list whether an app has their own working tap-to-pay or similar additional details.

▲▼ seertaak18:26 hn>

The days of GrapheneOS not working with banking apps are long gone. I'm using 5 banking apps (which will remain unnamed for security) -- they all work, with the important caveat that NFC payments don't work. For me, this is no longer a huge issue: I just swipe a card rather than my phone. Once you get (back) used to it, it's frankly only marginally less convenient. Ymmv.

▲▼ simpaticoder18:47 hn>

Why don't banks use PKI? It doesn't have to be in the users face. It might be that your app generates a keypair on startup and sends the public key to the bank server, and the bank server sends you a public key, and you talk to each other with a shared secret. Maybe even you have to go in physically to the bank with your device to set it up and attest the legitimacy of your private key. Personally I'd really love that.

▲▼ grapheneos19:10 hn>

They do often use hardware keystore keys for authentication and other purposes. That's a standard feature supported by all Android devices with greatly varying quality of implementation. There are even rare cases of banking apps using key attestation to provide evidence of those keys being in an actual hardware keystore which has been a standard feature on every device launched with Android 8 or later.

They want to stop people from using tampered or fake versions of their app which could be tricking the user into doing things. They also want to enforce using a device with a mandatory app sandbox and some level of security patches/protections intact. Most aren't willing to ban using highly insecure Android devices which haven't received security patches for many years, but it's trending in that direction.

Around 90% of banking apps are currently compatible with GrapheneOS. It would likely be more like 50% if we hadn't put a lot of effort into improving compatibility with a lot of workarounds for the bugs and problematic anti-tampering checks done by these apps. It would be closer to 20% if we not only didn't have that but also didn't have our sandboxed Google Play compatibility layer feature.

The remaining apps not compatible with GrapheneOS is mainly due the Play Integrity API device and strong integrity levels enforcing having a Google certified device running the unmodified stock OS. Google doesn't allow GrapheneOS to be certified. Certification also disallows many of our privacy and security features. It also isn't compatible with providing fast security updates and would waste substantial resources as it does for Android OEMs. Those apps need to be convinced to stop using the Play Integrity API or to use the Android hardware attestation API provided as part of key attestation to verify the hardware, OS and app are genuine. The latter only solves it for operating systems and hardware they choose to permit.

▲▼ warrantisall20:10 hn>

How do you see the not so distant future when the vast majority of banking and gov apps would require an integrity level higher thar BASIC_INTEGRITY? Which alternatives would you suggest to GrapheneOS users? A second device, perhaps?

─ 1 more ─
▲▼ warrantisall20:00 hn>

Revolut isn't among them.

▲▼ grapheneos20:26 hn>

Revolut currently works on GrapheneOS though.

▲▼ warrantisall20:29 hn>

It does for now, thanks to your countermeasures.

But they are explicitly changing their terms: https://discuss.grapheneos.org/d/17714-revolut-mobile-financ...

─ 1 more ─
▲▼ gewetensleegte11:18 hn>

Hey nice, from posts and comments here on HN, I almost got the impression that most bank apps don't work on GrapheneOS, but according to this list:

https://privsec.dev/posts/android/banking-applications-compa...

All of the ones relevant to me, just work fine.

▲▼ morfredus12:20 hn>

That’s good news, finally the option to use your banking app on something other than Google or Apple.