Airplanes and Iphones

About a year ago, I was taking a flight that had to abort takeoff by coming to a screeching halt halfway down the runway.

The captain reassured us it was a minor problem with the wing….the part that kinda like, keeps the plane in the air. But the captain said not to worry; the mechanics would get it sorted. “Okay”, I thought and went back to scrolling through my iPhone.

A bit later he came back on to let us know that the problem was not a mechanical one, it was a software bug.

“No big deal” he said, “We’re downloading a software patch and should be good to take off in 20 minutes”

This got me thinking… While my iPhone is downloading a software update from Apple, my airplane is downloading a “Do Not Die” update from the airplane manufacturers.

This lead me to a dark realization- if there are bugs with wing software, there could soon be wing software hackers.

Such worries intensify as we enter the world of autonomous cars, robots that perform surgery and computers that give financial advice.

In fact, professors at the University of Michigan demonstrated it was possible to kill patients who have pacemakers by hacking into their devices wirelessly.

A lot of smart people think that blockchain can help give us some security in this automated world.

If you look at the hacked plane scenario- picture 100 planes around the world, each communicating to one another on a network before take off. My plane could take its wing software and dump it into the cryptographic hash function, thus generating a unique 20 digit code.

From there, the other 99 planes all have ledgers for one another with records of the appropriate 20 digit code the plane should have for its wing software. My plane can then compare the code generated by each wing just before takeoff with the code stored on ledgers in the other 99 planes.

If the code is a match the plane can be sure that the software has not been tampered with and can take off. Why? Because a hacker would have to have changed the ledger of the other 99 planes around the world for my code to agree with the codes stored there. If the plane was autonomous it could decide not to take off unless the code was a match.

This would create a world of safe smart devices and this contrasts how we solve problems today. My plane today would have communicated with a central server, a single point failure vulnerable to fault and tampering. That central server would also be in a closed system owned by one company making it hard for other devices to inter-operate.