key decoding and duplication attacks for the schlage primus high

31
Key Decoding and Duplication Attacks for the Schlage Primus High-Security Lock David Lawrence Eric Van Albert Robert Johnson [email protected] DEF CON 21 August 3, 2013 dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 1 / 31

Upload: lenhi

Post on 13-Feb-2017

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Key Decoding and Duplication Attacks for the Schlage Primus High

Key Decoding and Duplication Attacks for theSchlage Primus High-Security Lock

David Lawrence Eric Van Albert Robert Johnson

[email protected]

DEF CON 21

August 3, 2013

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 1 / 31

Page 2: Key Decoding and Duplication Attacks for the Schlage Primus High

Standard pin-tumbler locks

Photo credit: user pbroks13 on Wikimedia Commons. Licensed under GFDL or CC-BY-SA-3.0.

Vulnerabilities1 Key duplication: get copies made in any hardware store.

2 Manipulation: susceptible to picking, impressioning, etc.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 2 / 31

Page 3: Key Decoding and Duplication Attacks for the Schlage Primus High

The Schlage Primus

Based on a pin-tumbler lock, but with a second independent lockingmechanism.

Manipulation is possible but extremely difficult. Some people can pickthese in under a minute. Most people cannot.

We will focus on key duplication and the implications thereof.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 3 / 31

Page 4: Key Decoding and Duplication Attacks for the Schlage Primus High

1 Reverse-engineering the Primus

2 3D modeling Primus keys

3 Fabricating Primus keys

4 What it all means

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 4 / 31

Page 5: Key Decoding and Duplication Attacks for the Schlage Primus High

1 Reverse-engineering the Primus

2 3D modeling Primus keys

3 Fabricating Primus keys

4 What it all means

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 5 / 31

Page 6: Key Decoding and Duplication Attacks for the Schlage Primus High

Security through patents

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 6 / 31

Page 7: Key Decoding and Duplication Attacks for the Schlage Primus High

Look up the patent. . .

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 7 / 31

Page 8: Key Decoding and Duplication Attacks for the Schlage Primus High

Primus service manual

w3.securitytechnologies.com/IRSTDocs/Manual/108482.pdf

(and many other online sources)

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 8 / 31

Page 9: Key Decoding and Duplication Attacks for the Schlage Primus High

Sidebar operation

DO

NO

T D

UP

LIC

AT

EP

AT

.NO

.4,7

56

,17

7

PRIMUS

Finger pins must be lifted to the correct height.

Finger pins must be rotated to the correct angle.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 9 / 31

Page 10: Key Decoding and Duplication Attacks for the Schlage Primus High

Disassembly

Fill in any missing details by obtaining a lock and taking it apart.

Photo credit: user datagram on lockwiki.com. Licensed under CC-BY-3.0.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 10 / 31

Page 11: Key Decoding and Duplication Attacks for the Schlage Primus High

1 Reverse-engineering the Primus

2 3D modeling Primus keys

3 Fabricating Primus keys

4 What it all means

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 11 / 31

Page 12: Key Decoding and Duplication Attacks for the Schlage Primus High

Top bitting specifications

MACS = 7

.031"

1.012"

100°

.8558"

.6996"

.5434"

.3872"

.231"

1 2 3 4 5 6

0 .335”1 .320”2 .305”3 .290”4 .275”5 .260”6 .245”7 .230”8 .215”9 .200”

Increment:Progression:Blade Width:

Depth Tolerance:Spacing Tolerance:

.015”Two Step.343”+.002”-0”±.001”

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 12 / 31

Page 13: Key Decoding and Duplication Attacks for the Schlage Primus High

Side bitting specificationsScan 10 keys on flatbed scanner, 1200 dpi, and extract parameters.

Index Position Height from bottom Horizontal offset

1 Shallow left 0.048 inches 0.032 inches left2 Deep left 0.024 inches 0.032 inches left3 Shallow center 0.060 inches None4 Deep center 0.036 inches None5 Shallow right 0.048 inches 0.032 inches right6 Deep right 0.024 inches 0.032 inches right

1

2

35

6

14

35

6

1

24

351

4

35

6

1

24

35

26 4 2 6

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 13 / 31

Page 14: Key Decoding and Duplication Attacks for the Schlage Primus High

Modeling the side bitting

Design requirements

1 Minimum slope: finger pin must settle to the bottom of its valley.

2 Maximum slope: key must go in and out smoothly.

3 Radiused bottom: matches the radius of a finger pin.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 14 / 31

Page 15: Key Decoding and Duplication Attacks for the Schlage Primus High

Key cross-section

One shape fits in all Primus locks.

Dictated by physical constraints.

CP

PRIMUS

HP

CEP

PRIMUS

J P

EFP

PRIMUS

FPPR

IMUS

FGP

PRIMUS

EP

PRIMUS

LP

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 15 / 31

Page 16: Key Decoding and Duplication Attacks for the Schlage Primus High

Modeling the key in OpenSCAD

Programming language that compiles to 3D models.

First use to model keys was by Nirav Patel in 2011.

Full implementation of Primus key is a few hundred lines of code.

// top_code is a list of 6 integers.

// side_code is a list of 5 integers.

// If control = true, a LFIC removal key will be created.

module key(top_code, side_code, control = false) {

bow();

difference() {

envelope();

bitting(top_code, control);

sidebar(side_code);

}

}

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 16 / 31

Page 17: Key Decoding and Duplication Attacks for the Schlage Primus High

The result

key([4,9,5,8,8,7], [6,2,3,6,6]);

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 17 / 31

Page 18: Key Decoding and Duplication Attacks for the Schlage Primus High

1 Reverse-engineering the Primus

2 3D modeling Primus keys

3 Fabricating Primus keys

4 What it all means

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 18 / 31

Page 19: Key Decoding and Duplication Attacks for the Schlage Primus High

Hand machining

Materials needed:

Hardware store key blank ($1)

Dremel-type rotary tool ($80)

Calipers ($20)

Cut, measure, and repeat ad nauseum.

Rob can crank one out in less than an hour.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 19 / 31

Page 20: Key Decoding and Duplication Attacks for the Schlage Primus High

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 20 / 31

Page 21: Key Decoding and Duplication Attacks for the Schlage Primus High

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 21 / 31

Page 22: Key Decoding and Duplication Attacks for the Schlage Primus High

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 22 / 31

Page 23: Key Decoding and Duplication Attacks for the Schlage Primus High

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 23 / 31

Page 24: Key Decoding and Duplication Attacks for the Schlage Primus High

Computer-controlled milling

This is what the Schlage factory does.

High setup cost (hundreds of dollars): not practical for outsourcedone-off jobs.

Keep an eye on low-cost precision micromills.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 24 / 31

Page 25: Key Decoding and Duplication Attacks for the Schlage Primus High

3D printing

This is the game changing technology.

(From bottom to top, picture shows low resolution plastic, high resolutionplastic, and titanium.)

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 25 / 31

Page 26: Key Decoding and Duplication Attacks for the Schlage Primus High

3D printing results

1 shapeways.com “frosted ultra detail”I $5 setup fee plus $2 per key.I Very good precision.I Insufficient strength to retract a latch.

2 shapeways.com “white, strong, and flexible”I $2 setup fee plus $1 per key.I Acceptable precision (operation is less smooth, but it works).I Strong enough to operate most locks.

3 i.materialise.com “titanium”I $150 per key (ouch!).I Very good precision.I Very good strength (similar to that of a brass key).

Expect to see prices decrease even more in the near future.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 26 / 31

Page 27: Key Decoding and Duplication Attacks for the Schlage Primus High

1 Reverse-engineering the Primus

2 3D modeling Primus keys

3 Fabricating Primus keys

4 What it all means

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 27 / 31

Page 28: Key Decoding and Duplication Attacks for the Schlage Primus High

Primus-specific results

Key decoding is easy.

Key duplication is easy.

Master key extrapolation is easy.

Keyless manipulation is still hard.

Our recommendations

Primus should not be used for high-security applications.

Existing Primus installations should reevaluate their security needs.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 28 / 31

Page 29: Key Decoding and Duplication Attacks for the Schlage Primus High

General implications

This is an industry-wide problem.

Key duplication will become much more accessible.

Physical security will depend on information security.

Patent protection will become less useful.

Figure: A 3D printed car key, by Ryan Weaving,and a 3D printed disc detainer key, by Nirav Patel.

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 29 / 31

Page 30: Key Decoding and Duplication Attacks for the Schlage Primus High

Audience projects

Contribute 3D models of other keys. (Medeco, anyone?)

Integrate 3D models with existing image-to-key decoding software.

Start a website for the exchange of 3D models of interesting keys.

Figure: New York City “master keys”.What will happen once 3D models of these become available?

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 30 / 31

Page 31: Key Decoding and Duplication Attacks for the Schlage Primus High

Questions?

dlaw, ervanalb, robj (DEF CON 21) Attacking the Schlage Primus August 3, 2013 31 / 31