Live data from Hacker News

Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

blog.teller.io

91–100 of 186 posts

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#91

Earlier quoted context omitted.

Author here: > For one, bearer token [1] is only one type of "Access Token" described by the OAuth2 spec [2]. In fact, the OAuth2 spec is very vague on quite a few implementation details (such as how to obtain user info, how to validate an Access Token), which the author seems to just assume are part of the spec, as he does with bearer token. Other parts, like the client/user distinction, and the recommendation for s…

>This is shit developer experience. Why bother with a Rube Goldberg sequence of piped commands when you can just curl? For which developers?

The ones I spoke with when doing user research.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#92

In my opinion, having worked extensively with OAuth2 (mostly in the form of OIDC) and other modern AuthN/Z protocols, the author of this post does not truly understand OAuth 2, nor have they looked in any appropriate depth into supplements like OIDC or alternatives. For one, bearer token [1] is only one type of "Access Token" described by the OAuth2 spec [2]. In fact, the OAuth2 spec is very vague on quite a few impl…

Author here: > For one, bearer token [1] is only one type of "Access Token" described by the OAuth2 spec [2]. In fact, the OAuth2 spec is very vague on quite a few implementation details (such as how to obtain user info, how to validate an Access Token), which the author seems to just assume are part of the spec, as he does with bearer token. Other parts, like the client/user distinction, and the recommendation for s…

> This is shit developer experience. Why bother with a Rube Goldberg sequence of piped commands when you can just curl?

If you are a developer tasked with working with web security related techniques, I would expect being able to use Bash, Curl, and anything needed to string together a couple of HTTP requests on the command line before your first cup of coffee of the day to be the least requirement of their skill set.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#93

In my opinion, having worked extensively with OAuth2 (mostly in the form of OIDC) and other modern AuthN/Z protocols, the author of this post does not truly understand OAuth 2, nor have they looked in any appropriate depth into supplements like OIDC or alternatives. For one, bearer token [1] is only one type of "Access Token" described by the OAuth2 spec [2]. In fact, the OAuth2 spec is very vague on quite a few impl…

As a developer currently working with OpenID Connect (OIDC) and JSON Web Token (JWT), using curl is indeed not a problem at all: curl -i ... // Perform authentication to obtain JWT export JWT="eY..." // Place JWT in a shell variable curl -i -H "Authorization: Bearer $JWT" ... // Call your API That's all there is to it.

Exactly, perhaps even simpler:

   curl ... // perform authentication to obtain JWT | xargs -I TOKEN curl -H "Authorization: Bearer TOKEN" ... // Call your API

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#95

One big problem with OAuth on mobile apps is this scenario. I've seen this in the wild for non security-critical apps. As far as I can tell, it's not a bug so much as it is a problem with the OAuth protocol and webview permissions: 1) MyLittleApp wants OAuth access to BankOfMars 2) MyLittleApp bundles BankOfMars SDK into MyLittleApp 3) MyLittleApp requests oauth access via SDK 4) SDK opens WebView for user to log int…

The flow we (Mondo) are considering for this: 1. MyLittleApp opens web view to log into Mondo 2. User enters something to identify themselves into the web view (eg. email address, phone number) 3. We dispatch a notification to the user's registered device (ie. the Mondo app where the user is logged in – this may be the same device or a different device) 4. User opens the Mondo app and accepts/rejects the authorisatio…

This is unnecessary - if you are assuming that people will have Mondo app already, then the SDK will simply trigger an intent to open the app.

The reason webviews are present in the SDK is because of the possibility that your app is not installed.

You cannot depend on SMS pin without your app, because that can be spoofed. I don't see any option except for manual pin copy paste from the app to a well known website that can be opened in the browser.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#96

Relying on SMS for bank security has always seemed crazy to me. It's not secure. Didn't Telegram creator just got hacked by the Russian mobile provider that sent an SMS to itself?

A lot of banks do use proper hardware tokens (TOTP and similar) for all transactions though. I am under the impression that we are now in a phase where security needs to be stepped up, but in the mean time tokens send via SMS are considered 'good enough'. There are lots of initiatives for the next step, each providing proper two-factor authentication, but a lot of services are waiting it out because the hardware toke…

> Ideally, a standard such as FIDO U2F gains ground, so users can safely and conveniently reuse a single hardware token for any service supporting that standard. Who knows, perhaps having your 'internet key' on you can become as commonly accepted as having your house keys on you.

Unfortunately, most FIDO U2F services allow SMS as a fallback authentication method, including Google and Github. At least Github has some strong warnings about it.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#97

Earlier quoted context omitted.

Author here: > For one, bearer token [1] is only one type of "Access Token" described by the OAuth2 spec [2]. In fact, the OAuth2 spec is very vague on quite a few implementation details (such as how to obtain user info, how to validate an Access Token), which the author seems to just assume are part of the spec, as he does with bearer token. Other parts, like the client/user distinction, and the recommendation for s…

> This is shit developer experience. Why bother with a Rube Goldberg sequence of piped commands when you can just curl? If you are a developer tasked with working with web security related techniques, I would expect being able to use Bash, Curl, and anything needed to string together a couple of HTTP requests on the command line before your first cup of coffee of the day to be the least requirement of their skill set…

Additionally, the kind of developer who uses cURL is not, in my experience, the kind to shy away from using bash pipes or writing a quick bash alias or function to streamline that process if they have to do it more than a few times.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#98

Earlier quoted context omitted.

The flow we (Mondo) are considering for this: 1. MyLittleApp opens web view to log into Mondo 2. User enters something to identify themselves into the web view (eg. email address, phone number) 3. We dispatch a notification to the user's registered device (ie. the Mondo app where the user is logged in – this may be the same device or a different device) 4. User opens the Mondo app and accepts/rejects the authorisatio…

This is unnecessary - if you are assuming that people will have Mondo app already, then the SDK will simply trigger an intent to open the app. The reason webviews are present in the SDK is because of the possibility that your app is not installed. You cannot depend on SMS pin without your app, because that can be spoofed. I don't see any option except for manual pin copy paste from the app to a well known website tha…

The user may be on a desktop, or a different device. We want to support such flows too.

I agree in the "native app on same device" situation, we can bypass all this by bouncing straight to our app though.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#99

Earlier quoted context omitted.

A lot of banks do use proper hardware tokens (TOTP and similar) for all transactions though. I am under the impression that we are now in a phase where security needs to be stepped up, but in the mean time tokens send via SMS are considered 'good enough'. There are lots of initiatives for the next step, each providing proper two-factor authentication, but a lot of services are waiting it out because the hardware toke…

> Ideally, a standard such as FIDO U2F gains ground, so users can safely and conveniently reuse a single hardware token for any service supporting that standard. Who knows, perhaps having your 'internet key' on you can become as commonly accepted as having your house keys on you. Unfortunately, most FIDO U2F services allow SMS as a fallback authentication method, including Google and Github. At least Github has some…

That is to be expected at this time though, and for a service like Github letting the user choose their level of authentication strength is fine — you are mostly responsible for what data you store there yourself. In the mean time it will help the adoption of this standard to at least have the option available.

If a service is actually guarding private data by definition (like a bank or an insurance agency) than phasing out SMS in favour of FIDO U2F or another true hardware factor is a much more likely scenario.

Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it

#100
post #9
post #6

Earlier quoted context omitted.

Even dev's can't cope. Most apps leak credentials severely. You need integratity verification, obfuscation and whitebox crypto to do this sort of thing securely. All of that is available in the banking world and is often deployed by people like Irdeto (who I work for) and Arxan etc.

Is that why irdeto.com does not use SSL on their site? Because you're not willing to manage SSL certificates?

Wow it doesn't even redirect 443 it just hangs...
Post reply on HN