As much as I love Stevie, teller.io and this demo: Why not both? OAuth 2 is not "bad" in general, you just need to consider the implications of using it. If you have an API that allows clients to move customers' money or take out loans, you should take additional steps to defend against MITM attacks. For example using client side certificates :) That said, TAuth looks really good and tidy. Of course the developer may…
Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
11–20 of 186 posts
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#12I thought client certificates were being phased out, didn't Chrome just remove the html tag?
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#13Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#14As much as I love Stevie, teller.io and this demo: Why not both? OAuth 2 is not "bad" in general, you just need to consider the implications of using it. If you have an API that allows clients to move customers' money or take out loans, you should take additional steps to defend against MITM attacks. For example using client side certificates :) That said, TAuth looks really good and tidy. Of course the developer may…
Hey Jonas! TAuth is simpler than OAuth 2.0 and doesn't suffer the same security issues. So… why use OAuth?
IIRC we didn't go too far down the client cert route because we're behind CloudFlare and we like it that way. Something to revisit in the future.
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#151) 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 into BankOfMars
5) MyLittleApp has full control over the DOM presented to the user since the WebView is technically its own.
6) MyLittleApp extracts the user's password from the DOM of the WebView
7) MyLittleApp disappears and... profit?
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#16This is unlikely to work - developers in general can't cope with managing SSL certificates. They won't know what to do with them or handle them securely. You need full integrity verification, with a secure store and whitebox crypto keys to make such a scheme secure.
If you can cope with OAuth you can definitely manage TAuth. The cert and private key are just opaque things you pass to any HTTP client.
If you're banking on strong app protection working you really need to be notified of it's state on the server which this won't do, you need to use a securely signed message from the verification/protection libraries on the client.
That can be done by storing this key into a cryptographic whitebox and then linking using it to integrity verification.
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#17As much as I love Stevie, teller.io and this demo: Why not both? OAuth 2 is not "bad" in general, you just need to consider the implications of using it. If you have an API that allows clients to move customers' money or take out loans, you should take additional steps to defend against MITM attacks. For example using client side certificates :) That said, TAuth looks really good and tidy. Of course the developer may…
Hey Jonas! TAuth is simpler than OAuth 2.0 and doesn't suffer the same security issues. So… why use OAuth?
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#18It's kinda crazy that it has taken so long for someone to actually take an initiative and attempt to make the authentication more secure. I wonder if this is a custom built solution or if Teller.io is using something like HashiCorps Vault to do the whole SSL cert dance. Either way, this looks promising.
Not when you consider we've all been subjected to decades of "don't write your own security!!!"
Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#19Re: Introducing TAuth: Why OAuth 2.0 is bad for banking APIs and how we're fixing it
#20Earlier quoted context omitted.
If you can cope with OAuth you can definitely manage TAuth. The cert and private key are just opaque things you pass to any HTTP client.
I agree - but as you say OAuth also suffers from MITM weaknesses. I'm just not convinced 'plain' client certs solve that as it's very hard to distribute those securely and manage them. I guess it depends where you see these being used, if used Server to Server it's not too bad, but if pushed out mobile devices (as I suspect they will be) they are very likely to leak unless strong app protection is applied. If you're…