Top Banner
MARKO HÖLBL, BOŠTJAN BRUMEN PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI SVET
16

PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

Jul 07, 2018

Download

Documents

buibao
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

M A R K O H Ö L B L , B O Š T J A N B R U M E N

PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI

SVET

Page 2: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

KRIPTOGRAFIJA

• Zgoščevalne funkcije (hash functions)• Prilagojene (dedicated)

• Šifrirni algoritmi (encryption algorithms)• Simetrične šifre (symmetric ciphers)• Asimetrične šifre (asymmetric cipers)

• Digitalni podpisi (digital signatures)• Kriptografija javnega ključa

(public key cryptography)

Page 3: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

• ECB• CBC• OFB

• .cer, .crt, .der• .p7b, .p7c• .p12• .pfx

KRIPTOGRAFIJA

Page 4: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

• Zaupnost

• Celovitost

• Overjanje

• Ne-zanikanje

NALOGE KRIPTOGRAFIJE

Page 5: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

PROBLEM?

• Algoritmi

• Implementacija

Page 6: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

NA KRATKO

• Zgoščevalne funkcije (hash functions)• MD5, SHA1

• Šifrirni algoritmi (encryption algorithms)• Simetrične šifre (symmetric ciphers)

• Blokovne• DES, AES

• Tokovne• RC4

• Asimetrične šifre (asymmetric cipers)• RSA

• Digitalni podpisi (digital signatures)• RSA• DSS

Page 7: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

Asimetrična kriptografija =

Kriptografija javnega ključa

NA KRATKO

Page 8: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

PASTI

• V teoriji težko razbiti

• Napake pri implementaciji in rabi

• Najbolj pogoste ranljivosti in napake

Page 9: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

NAPAČNA RABA ALGORITMOV

• Zastareli / ranljivi algoritmi

• Pravilna dolžina ključa• Vsaj 128 bitov pri simetričnih algoritmih

• Vsaj 1024 bitov pri asimetričnih

• Daljši ključ = počasnejše delovanje

Page 10: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

NEPRAVILNOSTI POVEZANE S KLJUČI (IN DIGITALNIMI POTRDILI)

• nepravilno shranjevanje in zaščita ključev in digitalnih potrdil• Močno geslo• hranjenje na zunanjem varnem nosilcu (pametna kartica)

• Neustrezno:• Ključ zakodirati v prog. Kodi

• Prenos preko varnih kanalov

• Socialno inženirstvo

Page 11: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

NEVARNOST POVEZANE Z IMPLEMENTACIJO ALGORITMOV

• Zelo pogosta vrzel• posegamo po uveljavljenih implementacijah

• incident z OpenSSL knjižnico• Bližnjica

• Dostop do ključev - shranjevati najmanjšo možno mero podatkov, ki jih potrebujemo

• Temeljito testiranje• Tudi pri uveljavljenih implementacijah so možne

ranljivosti

Page 12: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

PASTI POVEZANE Z NEOZAVEŠČENOSTJO IN POMANJKLJIVIM ZNANJEM

• Razumevanje konceptov

• Tudi končni uporabniki

• Napačna raba = varnostna luknja

• Priporočljivo vpeljati standardne procedure

Page 13: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

TEŽAVA NAKLJUČNIH ŠTEVIL

• Zelo pomembna

• Preizkušene implementacije

• Ranljivosti v implementacijah

Page 14: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

SMERNICE

• Povzete po OWASP in NIST priporočilih1. Pazite na napake pri prehodu v produkcijo2. Uporaba uveljavljenih implementacij3. Hranite samo podatke, ki jih resnično potrebujete4. Bodite pazljivi pri uporabi generatorjev psevdonaključnih

števil5. Uporabite močne načine šifrirnih algoritmov [14] (načini

OFB, CFB ali CBC).6. Dobra dokumentacija in redno izobraževanje7. Kriptografski ključi naj bodo pravilno in zadostno varovani 8. Varnostno kritične hranite na zunanjih varnih nosilcih9. Ključi in digitalna potrdila morajo imeti omejen čas

veljavnosti, ki je odvisen od njihove pomembnosti

Page 15: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

SMERNICE

10. Varujte centralna ali jedrna digitalna potrdila in ključe11. Arhiviranje digitalni potrdil in ključev12. Zavedanje uporabnikov o odgovornosti13. Šifrirajte in/ali digitalno podpišite vse pomembne podatke14. Varujte dele programske kode, ki so zadolženi za

kriptografijo15. Gesla shranjujete v obliki izvlečkov s soljo

Page 16: PASTI PRI VGRADNJI KRIPTOGRAFIJE V APLIKACIJSKI … · KRIPTOGRAFIJA • Zgoščevalne funkcije (hash functions) • Prilagojene (dedicated) • Šifrirni algoritmi (encryption algorithms)

SKLEP

• Izobraževanje in zavedanje• Spremljanje dogodkov

• Človek = najšibkejši člen