5 ms·
Why can't the app just talk directly to the car? Oh yeah, because we broke the Internet with NAT.
by api 6y ago
Why can't the app just talk directly to the car?
Oh yeah, because we broke the Internet with NAT.
- mey 6y agoThat has nothing to do with NAT.
- function_seven 6y agoWhy can't the app just talk directly to the car? No Internet needed at all[1]. NAT shouldn't even come into it. Local Wi-Fi or Bluetooth should work. [1] Well, I suppose if you're not near the car, Internet would be needed. Does the car have a publicly reachable IP?
- stu2b50 6y agoI mean, it does talk to the car with Bluetooth. You can unlock it without internet connectivity, just locally via Bluetooth.
- bdamm 6y agoThe car does not have a publicly reachable IP. It is using message bus (Kafka pub-sub, I believe) to bridge phone and car. Tesla does publish an API for anyone that wants to control a car (uses OAUTH for authorization.) Other than being unable to revoke tokens from within the car, it works great and solves the fleet management problem. (It is possible to simply entirely disable remote access from within the car, so this is a partial solution that Tesla does already.)
- trca 6y agoThe app does talk directly to the car, when you're in range of Bluetooth. That's how the phone key functions, all handoff and communications are done via bluetooth, not the internet when the devices are in range. Even with my phone in airplane mode (WiFi/Cellular disabled), and only Bluetooth on, I'm still able to unlock/lock the car, drive, and open the frunk/trunk.
- api 6y agoThat's not what I meant. I mean why can't the app learn the car's IP address using the cloud and then just connect directly to the car? That way if the cloud goes down it still works as long as its IP doesn't change. It just amazes me that literally everything has to round trip to the cloud for everything. It's like we forgot that things can connect to each other.
- ta8964586 6y agoThis doesn't have to do with communicating with the car. I believe internet is needed because tesla acts as a CA for your phone. That allows you to revoke a device, for instance if it were stolen. My guess is that the phone has authorizations that it renews fairly frequently and in this case apps could renew auths so once the current set expired you couldn't use the phone to unlock, etc. I can't immediately think of a better solution to the problem that allows using a phone for some functions and being able to remotely revoke a device. If letsencrypt went down we'd similarly see a large portion of sites be inaccessible through browsers after 90 days even though you could directly connect to those servers
- api 6y agoIt must be a pretty frequent CA refresh or a must-be-online OCSP server situation for a short outage to cause that much havoc.
- Sohcahtoa82 6y agoHaving your car be directly connectable from the Internet opens a whole can of worms for security.
- api 6y agoWhy is it harder to secure the cloud endpoint than the car? Is it immune to remote attacks because it lives in a data center? A CPU is a CPU. Code is code. Having every car aggregated at one cloud system means if you got into that you could simultaneously attack every single Tesla in the world. There is no good reason for this. It's just a mixture of "how things are done nowadays" and superstition.