TSA Sentry Locks and the Analogs with Cryptography
After several months of speculation and chatter, the pictures originally posted as part of a Washington Post article on the TSA and subsequently removed, has resulted in key templates posted on GitHub. This example of government controlled keys aligns with the September Wired magazine article by Matt Jancer regarding TrueCrypt and how it is one of the few (Jancer suggests only) cryptographic programs provably (through the Open Crypto Audit Project) without a backdoor. Although not directly correlated at first blush, there is a significant lesson to be learned.
While there are multiple methods of creating a second entryway, including “not telling” anyone it’s there (security by obscurity), the more elegant manner involves a second key, otherwise known as Key escrow. The TSA travel sentry keys are a tangible example of key escrow, and how the advances of technology (3D Printing) wreak havoc on cryptography. Luggage locks are subject to several forms of attack, including trying all combinations (aka brute force) or a soft touch with the spindles (key space reduction). The recent 3D printable TSA key patterns released use the backdoor. Say you are looking to minimize the amount of attention drawn at an airport terminal in rifling through a bag – you don’t want to spend 5 minutes trying all one thousand numbers or even fidgeting with the lock for 2 minutes feeling for the tumblers. The direct TSA key copy takes 3 seconds in the demonstration, and therein lies the flaw with key escrow. Except it’s even bigger in the digital realm.
We rarely have “the” original for a digital file. Everything works off of a copy, be it in memory, on disk, in transit or when compressed. The copies are perfect matches, containing the same information as the original. With very few, and very intentional (immutable logging), exceptions, a user simply does not know how many replicas of their work exist. It takes ownership of the whole system to prevent copying, and even in those military/intelligence style environments leaks still occur. We worry about unauthorized copying, placing locked tunnels between our systems and online banks, locking our desktops when we walk away or scrambling files on laptops and thumbdrives before taking them on a trip. We even occasionally encrypt email or attachments, which is probably the easiest parallel with the TSA Sentry keys.
Electronic mail is not carried by a digital postal worker and handed off at each distribution station. It is received, stored and a copy eventually sent to the next post office. Anyone with access to any hop along the line could arguably capture that email. If it’s taken, there are algorithms for calculating how long the encrypted envelope will survive and the letter will be safe. In the letter analogy, key escrow allows postal workers to find shiny envelopes or interesting recipients, steam open and Xerox the package and send it on its merry way with no one the wiser; the envelope never stands a chance.
There are other examples of US Government escrow attempts. SkipJack in the early 90′s was a pretty famous flop. Nowadays, cloud service providers typically manage the keys for their users. The Government doesn’t have to escrow the keys in those instances, just provide a warrant. Several high profile examples, including the Lavabit case with Elliott Snowden, Apple’s iCloud and Google’s Gmail service, demonstrate the range of responses to Government key requests. A previous treatment of cloud crypto, including who can access what, may be found on the Cloud Security Alliance’s site. With the Snowden revelations on how much information was being collected, some providers, including Amazon Web Services, are making it easier to utilize user owned keys. So know the risks, and don’t expect the backdoor requests to die down anytime soon.