News for hackers. Stuff that matters.
Re:Feds ordered Google location dragnet to solve Wisconsin b... by salawat on Thursday August 29, 2019 @10:19PM (#20835465)
Probably an annoyed location data salesman?

In all seriousness though, I'm pretty sure your system fails in the deliverability department.

Mobile phones are meant to be...well... mobile, and that functionality basically requires that when a call intended for you is started from somewhere else, there has to be a way for the signal to get correctly switched to where you are.

If you treat cell towers as switches, that then means that each tower maintains a routing table of handsets within it's area which allows the signal to eventually find it's way to you. This is the fundamental operating principle behind packet switching and the Internet in general.

Let's say there's 4 cells. A, B, C, and D.

I call you from A. You're in D's coverage area. A can connect to B and C, and C can connect to A, B, and D, B cannot see D.

My handset tells the switch behind cell tower A I'm looking for you. It checks it's routing table to see if it's serving you, and finds it can't, so it pings the next switch that has announced a possible route (C). C checks it's routing table, to find you and doesn't, but it sees D knows of you, so forwards to D. D knows you're there, so it finally connects the call. The circuit is made. This works because information about what handsets are in range, and which cell knows routes to what is constantly updated and propagated through the network. So if you took a trip out of D to B while on a call, the call would not have to terminate since the towers hand you off from tower to tower as your handset's location changes.

The system you propose though, breaks that paradigm. Since the cell tower has no way of tracking the handsets in its service area, every possible tower has to chirp to see if your phone will respond. Once your session is established, some of the normal routing protocols can still be reused, however, the initial connection stage is where it gets problematic.

Routing tables clean themselves up over time, so if you don't use your phone for long enough, you essentially cause the system to attempt a network-wide chirp just for you.

Now multiply that by everyone, times the timeout to voicemail, on every tower on the network. Not ideal. You have no way of telling whether the call connected with the handset until the handset actually answers, or every switch gives up and returns cannot connect as dialed. You're a walking DoS attack because someone wants to call you, and you won't pick up your damn phone.

Furthermore, your scheme degenerates to the current arrangement if an always available mobile data connection is assumed, as your phone will just establish a session every time it sends data.

Basically, it's not the telephone part that makes you traceable. It's the "I can guarantee synchronous delivery part". And hell, even if you throw out the mobile bit, phone records still the you to a location; it just takes a bit more footwork and a cooperative witness/wiretap to prove it's you.

It's a pretty in depth problem, with a lot of nuances to be squirreled out. It takes a long time to explain, and even if someone could get most of the way there, that's only the start of the issue. I've got friends who have tried making ISP's before, and the amount of friction created by monolithic telco's is absolutely insane even when you aren't doing anything exotic.

You have to remember as well, telephony isn't magic. You're eating up bandwidth all the time. Stuff is incredibly fast nowadays, but everyone is using it too. Also, all successful networking suffers from tracibility problems. Things just get mitigated slightly by jurisdictional boundaries and the impracticalities of being able to trace through sufficient levels of proxy links. So it's not surprising you got a few "you really don't get it" downvotes.

Anyway... Hope that explains things, and I'm sure there's a bunch of detail I'm missing.

EDIT: Additional thinking: there's other reasons why a telco/mobile provider would want all handsets connected at all times even when not doing calls. It gives them an idea of where they need to install or upgrade infrastructure based on metrics w.r.t how many handsets are in the cell.

Basically, from a business standpoint, there is little reason to not go the direction that we have. The privacy concern does change things a bit. Not sure whether it would be enough to drive a push to abandon/change things so drastically. It's an interesting thought experiment though that I will happily cogitate on for weeks in my idle time. I like devising new protocols.

There are no comments on this comment yet.