Copying High Security Keys With OpenSCAD And Light

The ability to duplicate keys with a 3D printer is certainly nothing new, but so far we’ve only seen the technique used against relatively low hanging fruit. It’s one thing to print a key that will open a $15 Kwikset deadbolt from the hardware store or a TSA-approved “lock” that’s little more than a toy, but a high-security key is another story. The geometry of these keys is far more complex, making them too challenging to duplicate on a consumer-level printer. Or at least, you’d think so.

Inspired by previous printed keys, [Tiernan] wanted to see if the techniques could be refined for use against high security Abloy Protec locks, which are noted for their resistance to traditional physical attacks such as picking. The resulting STLs are, unsurprisingly, beyond the capabilities of your average desktop FDM printer. But with a sub-$300 USD Anycubic Photon DLP printer, it’s now possible to circumvent these highly regarded locks non-destructively.

Of course, these keys are far too intricate to duplicate from a single picture, so you’ll need to have the physical key in hand and decode it manually. [Tiernan] wisely leaves that step of the process out, so anyone looking to use this project will need to have a good working knowledge of the Abloy Protec system. Hopefully this keeps bad actors from doing anything too nefarious with this research.

Once you have the decoded values for the key you want to duplicate, you just need to provide them to the OpenSCAD library [Tiernan] has developed and print the resulting STL on your sufficiently high-resolution printer. Generally speaking, the parts produced by resin-based printing have a high tensile strength but are very brittle, so perhaps not the kind of thing you want to stick in your expensive Abloy lock. That said, there are some “Tough Resin” formulations available now which produce parts that are at least as strong as those made with thermoplastics. So while the printed keys might not be strong enough for daily use, they’ll certainly work in a pinch.

23 thoughts on “Copying High Security Keys With OpenSCAD And Light

    1. You could make the key out of a spring with a known spring constant, so when inserted it twists a certain amount in addition to having the right slots and bevels. Insert a plastic key, and it will fail

    1. Abloy Protec (original) is either a 9 or 11 disc detainer (that said, two positions, 1 and 8 are always 0 cut for tensioning the lock so this reduces the keyspace to 7 and 9 respectively). The dimples are not active, if you were picking the lock just don’t touch them and it’s fine. They’re used to ensure the cylinder can’t rotate until the key is fully inserted and so you can’t remove the key until it’s fully rotated back to the starting position.

      The reason there’s 3 dimples is there are two styles, either a disc steering system (used in cam locks, padlocks, etc that only turn one way) which is in a different position for 9 and 11 disc locks, while the disc controller is in a different position again (only for 11 disc locks and used where the lock needs to turn both ways, like a door lock).

      The bigger issue with picking Abloy Protec or Protec 2 locks is the Disk Blocking System which as soon as you apply tension to the core causes the disks to become locked up so you can no longer rotate any of them until you remove tension. Needless to say this makes traditional picking impossible (my understanding is the only way these locks have been picked is by first finding a way to bypass the Disk Blocking System go figure).

    1. Since it has to have been added to the original key by a milling process, putting a starter feature into a resin print and finishing that off with hand tools does not seem to be a high bar.

      1. Indeed if I can find a Protec 2 cylinder for cheap to tinker with (cheap so I’m not too fearful of destroying it!) I would definitely attempt this. My plan would be to have a hole partially plugged on one end, then just buy some ball bearings the right size to drop into the hole and cap the other end with a 3D printed plug (either press fit or use some CA glue to hold it in)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.