UC San Diego computer scientists have built a software program that can perform key duplication without having the key.
Instead, the computer scientists only need a photograph of the key.
The bumps and valleys on your house or office keys represent a numeric code that completely describes how to open your
particular lock. If a key doesn't encode this precise "bitting code," then it won't open your door.
"We built our key duplication software system to show people that their keys are not inherently secret,"
said Stefan Savage, the computer science professor from UC San Diego's Jacobs School of Engineering who led the student-run
project. "Perhaps this was once a reasonable assumption, but advances in digital imaging and optics have made it easy
to duplicate someone's keys from a distance without them even noticing."
Professor Savage presented this work on
October 30 at ACM's
Conference on Communications and Computer Security (CCS) 2008, one of the premier academic computer security conferences.
The keys used in the most common residential locks in the United States have a series of 5 or 6 cuts, spaced out at regular
intervals. The computer scientists created a program in MatLab that can process photos of keys from nearly any angle and
measure the depth of each cut. String together the depth of each cut and you have a key's bitting code, which together with
basic information on the brand and type of key you have, is what you need to make a duplicate key.
The chief challenge for the software system, called "Sneakey", is to adjust for a wide range of different angles
and distances between the camera and the key being captured. To do so, the researchers relied on a classic computer vision
technique for normalizing an object's orientation and size in three dimensions by matching control points from a reference
image to equivalent points in the target image.