News for hackers. Stuff that matters.
Re:TSA Master Keys by tptacek on Tuesday September 08, 2015 @10:32AM (#10185884)
I'm asking a different question.

Forget about leaks for a second.

If a mechanical engineer can get their hands on 1,000 sample locks and keys (for instance: by simply buying them) and then imaging them, is it that difficult to reverse engineer the skeleton key system?

Re:TSA Master Keys by mrjones on Tuesday September 08, 2015 @11:36AM (#10186309)
Matt Blaze developed a very cool attack against master-key lock systems: http://www.crypto.com/papers/mk.pdf

It requires access to one (non-master) key as well as a lock which is open-able by that key. It also requires being able to generate a modest number of new keys with a key cutter (however significantly fewer than brute forcing the entire space).

IIRC, the attack boils down to: - Start with the known non-master key - Hold all but one of the teeth constant, and try different values of that one tooth until you get a different working key. This other value must be the master key's value. - Repeat until you have the master value for each tooth.

If TSA locks work the same way as the locks described in this paper, a single lock/key seems sufficient to generate the master key.

Re:TSA Master Keys by tedunangst on Tuesday September 08, 2015 @10:55AM (#10186042)
I recall reading that it really only takes about one (maybe two) regular office keys to create the master key that unlocks them all. There were flaws in that system which made it easier (given only keys), but I would wager it's not too hard to make a master key given a few locks as well.
Re:TSA Master Keys by Vexs on Tuesday September 08, 2015 @10:51AM (#10186006)
It's very easy to do actually, you just need one lock actually. It's called key impressioning, and basically you put a blank in a lock, look for the scratches on it, file it down a bit, rinse/repeat.
Re:TSA Master Keys by tptacek on Tuesday September 08, 2015 @10:59AM (#10186064)
It shouldn't be quite that easy, because the engineer has locks A, B, and C, and needs to discern from them the skeleton key that unlocks X, which they do not have.