Inspiration
It's cold out and I want to use my car app to remote start my car. The manufacturer app is about to permanently expire in two months and the dealer does not have a solution due to the fact that built in car 3G modem will no longer be supported by AT&T.
I need to DIY a solution to securely start my car.
In addition I want to restore all services built in to the car that depend on the cellular modem that will no longer be supported by the carrier. I will work with manufacturer's dev team to implement a solution under the "right to repair" rather than buy a new car to regain this feature set. So far it looks promising, the manufacturer has promised a solution but has not yet delivered and is over a year behind.
I might be able to wait. I also may be able to upgrade the modem and use a REST API supplied by the manufacturer, either on their test simulator, or using the VIN on my own car. Either works for the sake of the project.
That should give me total access to the virtual or actual car telematics assuming the hardware and networking can be worked out.
Popular culture references
I find this amazingly similar to the 2008 novel "Rainbow's End" by Victor Vinge where an elderly dementia sufferer who had been a brilliant (yet also highly acerbic) character is forced to attend a vocational high school, and attempts to "repair" a future version of a car built out of unrepairable modules.
His classmates look upon the car entirely differently as composed of parts that can not be modified, but they also have mastered extremely high tech tools that do not allow access to lower level components.
What it does
Convert the car to accept a separate standalone WIFI hotspot I already own that will work with the existing car from my phone.
Key management will be handled via SSI and DID, I can generate and store my own x.509v3certificate s. I anticipate many car owners will be confronting this same situation, obviously the remote start requires a secure solution. I do not want to re-invent the wheel and will use existing connected car API
How I built it
The car already has a signed certificate associated with the service that starts the car remotely. I will replace this with my own SSI key management hosted in the Azure cloud. How much hardware replacement needs to take place is TBD but the WIFI will work as a proof of concept and I want a repair solution if feasible.
Challenges I ran into
I am repairing an existing mobile and automobile proprietary solution, but am somewhat familiar with car telematics security issues in general having interacted with an automobile engineer that specialized in this area.
Ultimately I want to replace the modem with a compatible model for the manufacturer to maintain services like automatic calls to 911 in case of a crash, which it does by interacting with the airbags, probably using the CANBUS In terms of priorities this is more important than sitting in my car while it warms up.
Security Risks of older cars to hackers
One of my previous older cars had a known Bluetooth vulnerability that some local EE students hacked into during an Uber ride and subsequently triggered my ABS brake system.
I was able to fix this by temporarily disconnecting the battery, but I was already aware of the history of the vulnerability and the lack of follow through by the dealer to address the issue, so I ultimately disconnected the problematic Bluetooth module instead of upgrading it at an exorbitant cost due to a design flaw by Delphi.
The car dealership has the latest software/firmware upgrades I can get for free or minimal cost. The manufacturer does offer a developer API that can specifically target either a test vehicle dataset, generally to develop the concept, and which I can then use to target my specific registered vehicle. My phone can run my own written and signed apps.
My WIFI hotspot can use my existing WIFI without a subscription, by hooking up to the house WIFI which is ok, because I only want to use it within range of my house.
I probably only use this remote start feature a few times a year when it is really cold out. My thought is if you can update a cellular modem in a laptop, one should be able to plug in a similar model in a car. The issue will be to use my own SSI/DID in the authentication process and examine the security risks.
Accomplishments that I'm proud of
Enabling x.509v3 encryption for S/MIME email in 1996 for Nuclear Treaty Test Ban verification using X.500 as requested by ESNET.
What I learned
There is a learning curve to securely adapt services to use your own identity, but there is an opportunity to use existing code if one can simplify the solution. Tried using a full node BTC instance and ION protocol, but the BTC used too much resources locally, so I am opting for the Azure solution if it is cost effective to be my own IDP.
What's next for Repairing Technology using SSI and Encryption
Create a project plan with requirements in Microsoft Project. Create a flow chart using Lucid Chart
