Live data from Hacker News

Using your SIM card for MFA when logging in to an SSH server

developer.tru.id

11–20 of 35 posts

Re: Using your SIM card for MFA when logging in to an SSH server

#11
What is actually happening here?

I can think of at least three different ways of performing that kind of authentication (SMS-OTP, leveraging the operator’s metadata about via a HTTP proxy, or actually using the SIM via e.g. EAP-AKA).

Arguably, only the last one would be "using a SIM card", as the title suggests, and neither of them are appealing to me as a user:

Why would I tie authentication to a mobile operator (which aren‘t usually known for stellar security practices) when all new iOS and Android phones support FIDO, both internally and with external authenticators?

Re: Using your SIM card for MFA when logging in to an SSH server

#12

I recently wrote this tutorial to add an extra factor of authentication when logging in to an SSH server, using tru.ID's PhoneCheck, which uses your SIM card and an active data connection to the mobile network operator. Let me know what you think?

What are some of the reasons to use tru.ID over sending an sms?

It sounds like it has some features around sim swap protection. I’d be interested in this, but how realiable is it? And what countries does it work in?

Why use this over OTOP via a generator?

Re: Using your SIM card for MFA when logging in to an SSH server

#13

Can someone explain how PhoneCheck is able to verify the phone number with the mobile provider using a "mobile data session"?

Some mobile operators can add the phone number or some other user identifier as an HTTP header via a transparent proxy on all requests passing through their network.

This is/was used for micropayments for services and app downloads via phone bill, for example.

It would only work over mobile data, though (i.e. users would need to disable wi-fi for every authentication and it would not work without cell signal at all, unlike SMS-OTP or actual SIM authentication).

Re: Using your SIM card for MFA when logging in to an SSH server

#14
post #13

Can someone explain how PhoneCheck is able to verify the phone number with the mobile provider using a "mobile data session"?

Some mobile operators can add the phone number or some other user identifier as an HTTP header via a transparent proxy on all requests passing through their network. This is/was used for micropayments for services and app downloads via phone bill, for example. It would only work over mobile data, though (i.e. users would need to disable wi-fi for every authentication and it would not work without cell signal at all,…

Huh... so I guess it's entirely reliant on the mobile operator adding this header then, and it's literally just checking whether the phone number in the header matches?

I think the intended method of using this API is to use apis from within a mobile app to make the request transparently (and ensure mobile data is used to avoid users having to manually disable wifi), but the person in the article is just generating a QR code that you have to scan so I assume you would indeed have to disable wifi by hand each time which would make it more trouble than its worth.

I had no idea mobile network operators were tacking on my phone number to requests though (presumably unsecure http only but still)...

Re: Using your SIM card for MFA when logging in to an SSH server

#15

Instant PhoneCheck USD 0.030 Active SIMCheck USD 0.090 Strong SubscriberCheck USD 0.200

I haven‘t tried it, but I‘m willing to bet that at least one of these would claim that my primary phone number "is not a mobile phone number" (but I use it on a phone), "is not registered in my name" (it is, and how do you claim to know?), or "is a VoIP number, which is insecure and therefore not allowed".

Phone numbers are neither good user identifiers nor viable authentication factors.

Re: Using your SIM card for MFA when logging in to an SSH server

#16
post #13

Earlier quoted context omitted.

Some mobile operators can add the phone number or some other user identifier as an HTTP header via a transparent proxy on all requests passing through their network. This is/was used for micropayments for services and app downloads via phone bill, for example. It would only work over mobile data, though (i.e. users would need to disable wi-fi for every authentication and it would not work without cell signal at all,…

Huh... so I guess it's entirely reliant on the mobile operator adding this header then, and it's literally just checking whether the phone number in the header matches? I think the intended method of using this API is to use apis from within a mobile app to make the request transparently (and ensure mobile data is used to avoid users having to manually disable wifi), but the person in the article is just generating a…

Sorry, that was imprecise – as far as I know it's not actually all HTTP requests, but rather only those on a list of URLs that the operator has a contractual agreement with. (I'd like to believe that this does not include advertisement/tracking purposes, or that the identifier is at least hashed for those...)

Regarding an API to bypass Wi-Fi: I think at least on iOS, such a thing does not exist, and on Android I'd be extremely annoyed as well if an app were to possibly incur data and/or roaming charges for this. (I'm not sure whether there is an Android API to send only a specific request over mobile data without impacting other, already existing connections.)

Re: Using your SIM card for MFA when logging in to an SSH server

#17
So in addition to all of the nags websites have created that make logging in painful, now there can be nags to interrupt me in the terminal? Why in the hell would developers ever want this?

Maybe the next feature could be sending a bombardment of emails every time ssh is used. Subject: WARNING: ssh session "attempt" (msg 1/10). Subject: WARNING: non interactive ssh command rsync blah blah blah (msg 2/10). Subect: Are you sure you wanted to run ssh? (msg 3/10). Subject: We noticed the ssh client isn't running on OSX/Windows, and is therefore insecure (msg 4/10). Subject: Is your SSH up to date? Think about upgrading ssh today (msg 5/10)...

Seriously this "MFA" shit has gotten ridiculous. I don't want to open my email and copypaste crap every time I want to login to a website, and I don't need another email telling me I've logged in "from a new device". Your website is not that important. Yes, yours.

Re: Using your SIM card for MFA when logging in to an SSH server

#18

Can someone explain how PhoneCheck is able to verify the phone number with the mobile provider using a "mobile data session"?

The phone number is used to create the check url. This check url is returned from the mobile network operator that phone number and SIM card belong to.

The device makes a GET request to the check url, with a cellular data connection. The mobile network operator is able to verify that the phone number used to create the check URL matches that of the phone number assigned to that SIM Card making the data connection request.

And if SIM Swap is a concern, we also have an API that allows you to first check whether that phone number has recently switched SIM cards before proceeding with the verification.

Re: Using your SIM card for MFA when logging in to an SSH server

#19

I recently wrote this tutorial to add an extra factor of authentication when logging in to an SSH server, using tru.ID's PhoneCheck, which uses your SIM card and an active data connection to the mobile network operator. Let me know what you think?

What are some of the reasons to use tru.ID over sending an sms? It sounds like it has some features around sim swap protection. I’d be interested in this, but how realiable is it? And what countries does it work in? Why use this over OTOP via a generator?

If you were, for example building a mobile application. tru.ID's PhoneCheck is superior to SMS in several ways. The first is, it provides a seamless UX. The user only has to enter their phone number (or your backend may already have this stored?). Then all they see is a couple seconds loading followed by a success or failure.

It's also taking away the possibilities of the user entering numbers incorrectly (TOTP for example).

Some countries have started introducing rules for certain industries where they're not allowed to switch between apps on a mobile phone. For example when trying to find their Authenticator app or checking their SMS/email for a TOTP.

And finally, it is phishing resistant. You can phish for a users TOTP. You can't with a data connection the mobile device itself has to make over cellular data to the mobile network operator directly.

There is an API specifically for SIM Swap. Or SubscriberCheck does both PhoneCheck and SimSwap together. Further increasing the security of the authentication process for the mobile app.

Re: Using your SIM card for MFA when logging in to an SSH server

#20

I recently wrote this tutorial to add an extra factor of authentication when logging in to an SSH server, using tru.ID's PhoneCheck, which uses your SIM card and an active data connection to the mobile network operator. Let me know what you think?

What are some of the reasons to use tru.ID over sending an sms? It sounds like it has some features around sim swap protection. I’d be interested in this, but how realiable is it? And what countries does it work in? Why use this over OTOP via a generator?

Sorry, answering to your other questions. We are ever increasing coverage, but currently have quite a number of countries in Europe, most of India covered, Canada is covered. the US is in progress.
Post reply on HN