Doug Moeller - Autonet Mobile CTO
Musings and Ruminations
Why does it take a few seconds for the Smartphone App to unlock your door?
We had a conversation within Autonet the other day about why some other companies Smartphone Application was able to unlock a door faster then our Smartphone Application. Obviously, faster is better and there was a perception that this other solution was therefore better. Since this is bound to be a question that will come up with customers later I thought I'd share our reasoning about this publicly . The short answer is that we could make it faster, but you'd be sacrificing security and the battery life of your car. There's always trade-offs in engineering around these sorts of things and we feel like we've made the right call, but you decide. The details are a little bit involved, so bear with me.
First, let's look at how it works now.
Step 1. From your Smartphone App you send a "Door Unlock" command to your car.
Step 2. That message is encrypted and goes to the Autonet Data Center where it's decrypted and validated.
Step 3. Once the message has been validated it sends a wakeup message to your car to let it know that a command is waiting.
Step 4. The car wakes up and then retrieves the command from the server via an encrypted data session over a private network.
Step 5. Once the car has the command it does some security checks of the cars other systems to make sure it is safe to execute the command. (e.g. You wouldn't want to open the trunk while the car is in motion and things like that)
Step 6. It then executes the command
Step 7. The car tells the Autonet Data Center that the command was executed successfully and a message is sent to the Smartphone App telling it so.
Doing all of that takes a few seconds, so it doesn't have that instantaneous feel you get from your standard keyfob.
So, how could we make it faster?
Method 1 - Include the Command in the wakeup message so you don't have to send two messages to the car.
This is actually the method that the other solution we were discussing uses and it does indeed significantly improve the speed, but it's got some serious security problems. The wakeup message is essentially just a text (SMS) message to the car. In our wakeup message we just say "wakeup" in the message, we don't actually tell it what to do. We could simply say "Unlock Doors" in the text message and then unlock the doors immediately. The problem with this approach is that anyone who has your phone number could then unlock your doors by simply sending a text message to it. No Bueno.
OK, what about encrypting the text message so that it doesn't say "Unlock Doors", but uses an encrypted message like "87435hj4gkgerh786hv87tb6w!~#@^DSFsdgDFHfgsdg" that gets decoded to mean "Unlock Doors". That's better, but remember that a text message can only contain 160 characters and you can't do very good encryption with that short of a message. You might keep your friends and family out of your car, but any decent high school hacker can get around that easily enough. (not to mention car thief)
OK then, how about stringing a bunch of text messages together so you can do proper encryption? Sure, that would work, but that would take even longer. All of the text messages would have to be completely received before decryption could start and that might consist of half a dozen messages or more. Too slow.
By using the Text channel only for wakeup we guarantee that no one can send unauthorized commands to the car. The worst they could do is wake the car up. Once the car sees it has no authorized commands in it's queue, it goes back to sleep right away and no harm done.
Method 2 - Send the Command Directly from the phone to the car so that it doesn't have to go through the data center.
This is another method we've seen used, but it also has some significant security risks. One thing I didn't mention about our network is that it's on a private cellular network that's overlaid onto the regular cellular networks. You can't just set up a direct connection from your phone to your car. Only the Autonet Data Center can set up a connection to your car. This is important for safety and security reasons.
Imagine if your car was just a node on the standard Internet, it would be susceptible to all of the attacks and viruses that your desktop computer is. Sure, we have lot's of security in the car and we can push updates to it just like Microsoft and Apple do with your computer, but that's just not good enough. One of the main attacks that hackers use these days are called Denial Of Service (DOS) attacks. They don't actually get into your computer, but they so overload it with bad requests to perform a function that actual requests can't get through. Imagine 10,000 requests per second coming to your car to unlock the doors. The requests may all get denied because they are invalid requests, but your car is going to be so busy denying these requests that none of the valid requests will be able to get through.
In our solution, no one can make a request directly. It has to go through the Autonet Data Center and it makes sure that only valid requests get forwarded onto your car. The processing power and bandwidth in the data center can handle these DOS attacks and keep them from ever getting to your car.
Method 3 - Keep the car awake so you don't have to send it a wakeup message.
You keep your phone turned on all the time, so why not keep the car awake all the time? The problem is power consumption. Using too much power and not having your car be able to start is much worse then your Smartphone App taking a couple of extra seconds to unlock your door. We have a rule that says that you should be able to leave your car idle for at least 30 days and still be able to start it with no problem. When we're turned on, we're using power and we have to be very conservative about how much power we use. Every time we check for a wakeup message that uses power, but less power then just staying on all the time. We actually 5 different power modes on our device that power on/off different components depending on how long the car has been idle and what service are being used.
One thing you may notice with our solution is that it longer to execute a command the longer the car has been idle. We calculate that most people drive their cars daily, so if your car has been idle for less then 24 hours it executes a command faster then if it's been idle for 72 hours, and that goes faster then if it's been idle for 7 days, etc. Now, one interesting note is that with electric cars becoming more widespread we have the opportunity to stay on longer because they have massive batteries when compared to a standard car. Of course, you'll be giving up range to do this, but it won't be that significant.
The Aftermarket solutions are much more aggressive about power consumption then we are, and to be frank it's because they don't have to care about reducing the life of your car battery or stranding you with a dead battery somewhere. Most people drive their car at least once every couple of weeks, so this usually works out for them. Because our solution is largely sold by the car companies themselves, we have to worry about it on their behalf. Imagine how you'd feel if your brand new car wouldn't start because of something that came with the car vs. the car not starting because of some cheap thing you had installed at Best Buy. There's a different expectation about quality, security and reliability when it comes with the car.
So, that's why ours takes a little longer. I think we've made the right trade-offs, but I'm concerned about the lack of security in some of the other solutions and how that will impact the market. Some of them have already been hacked and others will be hacked. I'm sure that the media is going to latch onto that at some point and scare people about the security and safety of connected cars and I'm afraid that people will lump us all together and damage us.
Let me know what you think!
Posted at 04:08PM Apr 13, 2013 by dmoeller in Doug Moeller |
No need to fear "Super WiFi"
There's been a bit of press lately about a "Super WiFi" project being proposed by the U.S. government and there seems to be a lot of confusion about this project, so I thought I'd try and clarify what's going on.
Basically, the FCC is trying to recover some wireless spectrum that is currently used some UHF channel's across the country. They've been doing this for several years and hardly anyone has really noticed because most folks watch cable, FTTH or satellite television these days. The FCC has a few goals for this spectrum; They'd like to create a nationwide dedicated channel for emergency responders and they'd like to create a nationwide free public WiFi network.
Predictably, the cellular carriers are freaking out about this since no one wants to compete with "free". They've got some really deep lobbying pockets and a lot of influence in Washington, so I'm sure they will have an impact on this. I think their fears are largely unwarranted though. This "Super WiFi" network (A meaningless term, but the media seems to latched upon it) won't be competitive to the carriers at all since it is a shared resource and just won't be appropriate for things like streaming movies, large downloads or online gaming. It's a "subsistence" level of internet access that will be appropriate for email, usable web access and research. In the same way that the Public Library provides books, but really doesn't impact book readers or book stores, this will gave basic Internet access to everyone and isn't that really a requirement in the world today?
This is exactly the type of project that centralized government should be doing. It promotes growth, increased productivity, jobs, and general welfare. It's of benefit to the people, and not pork directed to specific selected companies.
Posted at 03:24PM Feb 06, 2013 by dmoeller in Doug Moeller |
Are you being overcharged for Data?
The short answer is that you probably are being overcharged on your Smartphone, but definitely not on your Autonet Mobile service.
A recent study conducted by UCLA professor Chunyi Peng shows that in testing on different cellular networks that data can be billed to an account even though it was never received. In one case, 450 megabytes of data was charged to an account where not a single bit of it had been received.
The reasons they do it this way are tied to their history of really being a legacy phone company rather then an Internet company. In the traditional phone world the endpoints (i.e. phones) are dumb devices and all of the intelligence is back at the central switch. That's where calls are routed and where billing records are calculated. Whatever goes in or out of that switch is what get's billed for and it doesn't matter what happens with the phones on the end. That worked for voice calls because if the call wasn't working, you knew it right away, so you hung up and tried again. You didn't just sit and listen to dead air for long periods of time.
As data came along, the wireless carriers adopted the same model. Since all of the traffic was going through their switches, that was an easy place to count bytes being sent or received from a Smartphone. The problem with this model is that the bytes might never be received by the Smartphone and the switch wouldn't know that, but it would still count them and charge you for it. It is extremely routine in data networks for packets to not make it the first time and require re-transmission. In our testing we've seen about a 5% packet retransmission rate on cellular networks. This number will be significantly higher if you're in an area with low or poor reception.
So why is Autonet Mobile different?
Because of our TRU technology that is implemented on the device in your vehicle (think of it as a phone for right now), we are able to count the bytes that are actually successfully received in the vehicle. That is the usage data that we use in our calculations and what appears on your my.autonet usage reports. If it wasn't successfully received, we don't count it.
So why don't the cellular carries do the same thing?
It's a bit trickier for them since they don't have control of the Smartphone or a management connection to it. On an iPhone for example it would require that the carrier install some special software on the phone that reports usage back to them. Apple controls the software on the iPhone and it's just not in their interest to have cellular carriers adding stuff to their software. It can be argued that a huge part of their success is the fact that they control the software and apps independently from the cellular carriers.
In addition, this would require a complete re-vamp of their billing systems and that would be a huge and costly burden that quite frankly would only reduce their revenues. You've never seen anything as convoluted and complicated as a large phone companies billing system. These things have been patched and coded over decades and no one wants to touch them.
The good news is that LTE is changing everything, and with VoLTE (Voice over LTE) on the horizon there's a good opportunity to add intelligence to the endpoints and update the backend systems. Autonet has proven that it's possible and we hope they will follow our lead and make usage data accurate.
Posted at 08:55AM Sep 15, 2012 by dmoeller in Doug Moeller |
What is 4G anyway?
4G is everywhere these days and everyone wants it, but there seems to be confusion and conflicting information about what exactly it is. For most folks, it just means faster Internet on your wireless device. Faster then 3G, but how much faster depends on the interpretation of what 4G actually means.
Here's what the four major cellular companies out there say:
AT&T says it has "The nation’s largest 4G network."
Verizon say it has "America's largest 4G LTE network"
T-Mobile says it has "America’s largest 4G network"
Sprint says it has "The first 4G network"
All of the above statements are true, but appear to be conflicting. There are basically three types of 4G standards for networks.
1. LTE - Verizon, Sprint, AT&T
2. HSPA+ - AT&T, T-Mobile
3. WiMax - Sprint
The standards body that creates 4G standards is called the ITU, and they say that technically the term 4G only applies to LTE and WiMax. Wimax is a dead technology for mobile broadband and Sprint is moving to LTE as fast as they can. While HSPA+ is faster then 3G, it doesn't get near the speeds of LTE. LTE is clearly the winner in the 4G wars and all of the carriers are moving there. If you want 4G, make sure it's LTE.
Beyond what the network is technically capable of, the real question is, "How fast is it on my device?" Just because the network is capable of get 50 megabits per second doesn't mean you're going to actually get that kind of throughput. And even if you did, the pricing plans have not changed enough that it makes it economically feasible. Like any wireless technology, the answer is that "It depends". It Depends on:
a. How close you are to the tower
b. How many other users are using the same tower.
c. How much bandwidth is supporting the tower for backhaul
d. How the carrier has configured the network.
We see speeds all over the map from less then 1 Mbps, up to 30Mbps and while LTE coverage is growing, it's going to be many years before it's dominant and it's never going to completely cover the U.S., so it's important to have a device that can also work with 2.5G and 3G networks.
Another common confusion point is that since LTE is a worldwide standard that everyone seems to be migrating to, won't I be able to move my device between networks and change carriers when I want to? Of course not. While the carriers may be using the same LTE technology, they don't use the same wireless spectrum, so the radio's and antennas in your device won't work on a different carriers spectrum. Autonet is dealing with this by using multi-band radios and antennas so we can support 6 different wireless spectrums and move between networks. While this allows us to support multiple carriers and have a solution that works world wide, it also adds to the cost. In the handset business where phones are heavily subsidized and the carriers want to lock you into their network, this will never happen.
There's so much more to say on each of these topics, but I was hoping to not make it more confusing. Hit me up on the Autonet Mobile Facebook site if you have questions.
Posted at 12:10PM Aug 02, 2012 by dmoeller in Doug Moeller |