The Schlage Primus is a relatively common mechanical lock. It is deemed a “high-security lock” due to the introduction of a secondary locking mechanism (the “side-bit milling”) which makes lockpicking very difficult. Schlage claims that the side-bit milling also makes unauthorized key duplication difficult or impossible. Eric Van Albert, Rob Johnson, and I decided to see if we could compromise the Primus by making it easy to duplicate keys.
We started by making an accurate 3D model of a Primus key, fully parameterized by the top bitting and side bitting, in OpenSCAD. Most of the necessary information is readily available from the patent, lockwiki, and various service manuals floating around the internet. We also bought a Primus lock and key from Ebay, filling in the last few dimensions by direct measurement.
(Eric now maintains a neat website called keygen, which makes it even easier to generate 3D models of keys by running OpenSCAD in the cloud.)
Obviously, one could manufacture this key with a CNC milling machine – that’s how the Schlage factory makes Primus keys – but we wanted to see how cheaply and easily keys could be duplicated. So we uploaded the 3D model to Shapeways and I.Materialise and ordered 3D printed keys in a variety of materials. They all worked. We presented our results at DEF CON 21 and received a bit of press.
The 3D printing industry has advanced by leaps and bounds since this work was presented in 2013. Shapeways introduced a brass casting process which makes perfect brass Primus keys for less than $30 each. Low-cost desktop 3D printers (in particular, the Formlabs line of SLA printers) have advanced to the point where printed-at-home high-security keys have ample strength and precision. In short, once you have a 3D model of the key, it’s “game over”.