Exprexxo Thoughts

There are no S's in Exprexxo!

Sunday, March 06, 2016

Apple and the FBI play Mastermind

You know the game: four entries in a pattern made up of six color choices and you have 10 chances to get it right or you lose.     Or is it four  entries in a pattern of 10 'color' choices and you have 10 chances or the contents and the pattern are randomized.    Perhaps you see the analogy but let me create a little visualization:

In 2016, there is a specific instance of the game being played and it has some important concepts at play.   I am not going to argue about the ethical stance of either player but rather talk about the value of ethical software engineering.    You see the unknown software engineers and product owners had to come up with a security solution that would be respectable in any situation that their product would end up in.   Key would be you would want to have your content protected in the case that your phone was stolen.

So these programmers came up with 10 'guesses' or you loose your content. Who knows they may have even thought of Mastermind in the process. So the FBI is guessing and wants Apple to flip the blind over and show them the answer.  Everyone who has played this game knows the urge and the banter that has taken place over the kitchen table for  decades about this situation.   However our ethical programmers did one thing different: instead on a half cover they created a full cover.    Now this means the only way to reveal the code is to replace the board to see under the full cover.   And there lies another ethical programming edge.  Do you allow and then write a code the would let that happen?  If you did hundreds of Mastermind games could be compromised.

So here we sit with the FBI on one side and Apple on the other. But really it is a present day coder on one side versus the future on the other.  If ever you are building a product,  think well your security model and write from an ethical computer science view.  Make the model both obvious and shareable.   Make it compromisable based on principle.  Backdoors make no sense if you want noone to be able to use them.   You might find a classic logic game as a reference.  Richard Feynman would have loved this dilemma!

 So could you imagine if the Apple coders made the OS unchangeable if the screen is locked ?  Seems  reasonable to me.   Locked should mean it can't change without my permission.  And what if instead of 10 'colors' ( the digits) they had used 36 'colores'  (alphanumeric) ?   One out of 4 to the 36th in 10 tries is just this side of impossible.    Seems reasonable too because if I can't remember in 10 tries, I never will.     In the future the 'phone' will likely be connected to you and such challenges to replace to OS will be very concerning.  This is a very important game of Mastermind we are all watching. May the best outcome win!