PIN-Cracking Anne Eggels & Aukje Boef
21 juni 2012
Where innovation starts
Inhoud • Uitleg probleem • Kleine herhaling vorige presentatie • Codes kraken aan de hand van bewegingen • Statistieken • Conclusie en vragen
/k
2/23
Inleiding • Pincodes – Mobiele telefoons – Pinpassen – Huizen, bedrijfsruimtes
• Kraken? – Vorige presentatie: verschillende scheikundige zouten aanbrengen – Nu: bewegingsrichtingen observeren
/k
3/23
Herhaling scheikundige methode
4/23
Enkele aannames: – Code bestaat uit 4 cijfers – 3 pogingen om de code te kraken – Toets A wordt ingetoetst, vervolgens toets B. Dan zitten beide stoffen op B, op A is geen verschil merkbaar Onderscheid van gevallen: – Gebruik van één vinger – Gebruik van drie vingers
/k
Herhaling scheikundig - 1 vinger Vier mogelijkheden voor de code: – – – –
Bestaat uit vier dezelfde cijfers Bestaat uit twee verschillende cijfers Bestaat uit drie verschillende cijfers Bestaat uit vier verschillende cijfers
/k
5/23
Herhaling scheikundig - 1 vinger • Vier dezelfde cijfers – aaaa – Op het toetsenbord niks waar te nemen
• Twee verschillende cijfers – Neem a en b deze twee cijfers. Drie mogelijkheden: I b vervuild met a, maar niet andersom
aaab, aabb, abbb I a vervuild met b, maar niet andersom
bbba, bbaa, baaa I a en b met elkaars stoffen vervuild 8 codes mogelijk → 37, 5% resultaat
/k
6/23
Herhaling scheikundig - 1 vinger • Drie verschillende cijfers. Neem deze drie cijfers a, b en c. Vier gevallen: 1 2 3 4
a:a a:a b a:a a:a b
b:a b b:a b b:a b c b:a b c
c:a b c c:a b c c:a b c c:a b c
• Vier verschillende cijfers Altijd maar één oplossing
/k
7/23
Herhaling scheikundig - 1 vinger • Drie verschillende cijfers. Neem deze drie cijfers a, b en c. Vier gevallen: 1 2 3 4
a:a a:a b a:a a:a b
b:a b b:a b b:a b c b:a b c
c:a b c c:a b c c:a b c c:a b c
• Vier verschillende cijfers Altijd maar één oplossing
/k
abcc abbc aabc abac babc abcb acbc bacb
8/23
Herhaling scheikundig - 3 vingers • Aanname: voor elke kolom wordt precies één vinger gebruikt. x = {1, 4, 7}, y = {2, 5, 8, 0}, z = {3, 6, 9} • 4 toetsen bekend – 4 toetsen in 1 kolom I oplosbaar, is te reduceren tot het vorige probleem – 2 toetsen in 2 kolommen I 6 mogelijkheden, 50% resultaat
/k
9/23
Herhaling scheikundig - 3 vingers • 3 toetsen bekend – 1 kolom I a, b, c in kolom x of z · aabc, abbc, abcc · dabc, adbc, abdc, abcd (7 mogelijkheden voor d) · Resultaat 9,7 % I a, b, c in kolom y · aabc, abbc, abcc · dabc, adbc, abdc, abcd (6 mogelijkheden voor d) · Resultaat 11,1 %
/k
10/23
Herhaling scheikundig - 3 vingers • 2 toetsen bekend – Veel opties mogelijk – Resultaat rond de 1,5 %
• 0 toetsen bekend – Uit elke kolom maximaal 1 toets – Levert veel mogelijkheden
/k
11/23
Methode met bewegingen Onderscheid van gevallen:
• 31 richtingen – Alle richtingen zijn duidelijk waar te nemen
• 9 richtingen – Verschil tussen de richtingen niet altijd duidelijk
/k
12/23
Methode met bewegingen - 31 Alle 24 richtingen zonder 0 1
2
3
1
2
3
4
5
6
4
5
6
7
8
9
7
8
9
0
0
1
2
3
1
2
3
4
5
6
4
5
6
7
8
9
7
8
9
0
/k
0
13/23
Methode met bewegingen - 31
14/23
Met 0 erbij nog 6 extra richtingen
→ totaal 30 richtingen
1
2
3
Extra richting: op dezelfde plaats blijven
4
5
6
→ totaal 31 richtingen
7
8
9
0
/k
Methode met bewegingen - 31 • Alle richtingen door combinaties van vier standaardrichtingen: – Lef t (L), Down (D), Right (R) en U p (U ) – voorbeelden: I van toets 6 naar 2 → LU 1
2
3
4
5
6
7
8
9
0
I van toets 1 naar 0 → RDDD 1
2
3
4
5
6
7
8
9
0
/k
15/23
Methode met bewegingen - Setup
16/23
• Programma geschreven welke de mogelijke codes als output geeft • Het programma maakt een lijst van functies • Elke functie bepaalt een richting • Vervolgens maakt het programma een lijst met alle codes en bijbehorende richtingen
• Deze lijst wordt gesorteerd
/k
Methode met bewegingen - Werking
17/23
• Men kan bij een combinatie van 3 bewegingen de bijbehorende codes opvragen – Elke beweging heeft een nummer – Combinatie van 3 nummers legt bewegingen vast – Door te zoeken in de lijst vindt men de codes
• Daarnaast statistiek-functie – Aantal mogelijke codes bij bepaalde cijfercombinaties – Kans bij bepaalde code om code te achterhalen – Aantal mogelijke codes bij bepaald aantal mogelijkheden
/k
Methode met bewegingen - 9
18/23
• 9 verschillende richtingen • Richtingen niet precies waar te nemen • Verschillende richtingen lijken op elkaar, bijvoorbeeld: 1
2
3
1
2
3
4
5
6
4
5
6
7
8
9
7
8
9
0
0
• Ook hier is een programma gemaakt, als uitbreiding op het bestaande programma
/k
Methode met bewegingen - 9 • Kern van het programma is hetzelfde • Uitwerking is anders door de onzekerheid in stapgroottes • Grafisch • Demonstratie
/k
19/23
Methode met bewegingen - Statistiek • 95,5 % gemiddeld te kraken • 8724 codes gegarandeerd te kraken Verdeling aantal pincodes over aantal mogelijkheden
Aantal pincodes
4000
3000
2000
1000
0
1
2
3
4
5
6
Aantal mogelijkheden
/k
7
8
9
10
20/23
Methode met bewegingen - Statistiek • 54,8 % gemiddeld te kraken • 2498 codes gegarandeerd te kraken Begingetal bekend
2000
Aantal pincodes
1500
1000
500
0
0
5
10
15
20
25
Aantal mogelijkheden
/k
30
35
40
21/23
Methode met bewegingen - Statistiek • 19,8 % gemiddeld te kraken • 292 codes gegarandeerd te kraken Begingetal onbekend
1600 1400
Aantal pincodes
1200 1000 800 600 400 200 0
0
20
40
60
Aantal mogelijkheden
/k
80
100
22/23
Conclusie • 95,5 % kraakkans is onrealistisch • 19,8 % kraakkans is meest realistische geval • Aanzienlijke kans om code te kraken • Advies: scherm uw pincode af
/k
23/23