A project has published a method of generating 3D printed keys. Is this concerning?
Hackaday contributor Dave Pedu has posted a project on Hackaday.io that enables you to generate a custom 3D model for the popular Kwikset key system used in many homes and businesses.
The project is centered around an OpenSCAD script to perform the generation. OpenSCAD is a system for programmatically generating a 3D model; it uses code instead of visuals. The advantage in doing so is that all portions of the 3D model are thus parametric; you can adjust any part of the structure numerically. You can see a bit of the code at here:
By tweaking the parameters in the code you can theoretically generate any conceivable Kwikset key. Of course, having a 3D model means you can 3D print it.
And if you have a 3D printed key, perhaps it might open the corresponding lock!
But does it? That was a “key” part of the Pedu’s investigation. He explains:
I even broke off one key deep in the lock and had to disassemble it. Luckily, with this kind of lock a few minutes of disassembly gets you down to the tumbler and housing.
And that’s the problem with this approach: casually 3D printed keys on casual 3D printers usually end up with at best ABS material, but more usually brittle PLA material.
Unless your key is absolutely perfect and the lock is in pristine condition, you will have to wiggle it, and often provide some force to overcome the slight mis-alignments that are inevitable. That force is sometimes greater than the strength of the rather thin 3D printed key.
And you can’t make it any thicker because it won’t fit in the lock.
While the keys printed “look almost perfect”, according to Pedu, they have to be strong enough to actually open a lock. This will have to be done with more exotic materials, and even then still risk breakage.
Yes, you could 3D print this in metal, but it would be prohibitively expensive and probably more expensive than paying a locksmith (or hacker) to open the lock for you anyway.
There’s another problem: if you intended on using this process to actually burgle a home by producing a key, it could be very difficult because YOU DON’T KNOW THE KEY SHAPE. Even though this method could produce a key, it requires you to HAVE a key to find the necessary patterns.
I suppose it could work if there was some kind of numerical system in which a serial number could correspond to the shape of the key. But that’s not the case in most key system.
In any case, if you already have a key, then why would you need to 3D print one to break in? Just use the key you already have, and it probably won’t break.
Finally, this project works only on Kwikset style key systems. However, Pedu says:
With more options implemented, it's possible to expand this code to generate models of other key types. However, at present, you can really only change the size of the handle or add length to the key you don't need anyway. But hey, that's a project for another rainy day.