• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CUC2009
 

CUC2009

on

  • 730 views

CUC2009 prezentacija

CUC2009 prezentacija

Statistics

Views

Total Views
730
Views on SlideShare
719
Embed Views
11

Actions

Likes
0
Downloads
2
Comments
0

2 Embeds 11

http://www.linkedin.com 6
https://www.linkedin.com 5

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    CUC2009 CUC2009 Presentation Transcript

    • Analiza kvalitete kriptografskih sustava sa nepoznatim kriptoalgoritmima Tonimir Ki šasondi, dipl.inf prof.dr.sc. Željko Hutinski 2009
    • Tema rada:
      • Utvrditi dali je moguće utvrditi korišteni kriptoalgoritam iz kriptirane poruke ako je korišten popularan software za enkripciju
      • Na koji način implementacija kriptoalgoritma zaslužna za ukupnu sigurnost sustava
      • Koji su ostali elementi koji utječu na sigurnost
    • Element promatranja: Promatramo simetrične sustave: C = f(M,K) -> M = f(C,K)‏ f -> aes, des, 3des, bf, tf, rc4 M -> tekst C -> kriptotekst K -> ključ Uvijek pretpostavljamo Kerckhoffov princip -> Sustav je siguran ako poznajemo C,f
    • Element promatranja: Software: dm-crypt/LUKS TrueCrypt GnuPG OpenSSL ...
    • dm-crypt/LUKS Open Source disk enkripcija pod Linux baziranim OS. ~# cryptsetup luksDump /dev/sda2 LUKS header information for /dev/sda2 Version: 1 Cipher name: aes Cipher mode: cbc-essiv:sha256 Hash spec: sha1 Payload offset: 2056 MK bits: 256 .... Key Slot 0: ENABLED ....
    • TrueCrypt TrueCrypt – Multiplatform disk enkripcija ~# truecrypt -vl /dev/mapper/truecrypt0: Volume: /dev/sda3 Type: Normal Size: 743836745728 bytes Encryption algorithm: AES Mode of operation: LRW Read-only: No Hidden volume protected: No
    • GnuPG GnuPG -> Multiplatform -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.9 (GNU/Linux)‏ jA0EAwMCvRtDZw+LN1hgycBqQ9zXPb8VQRdBXMB1lxdMVeKtz6V4VctbmMctHUQhZtKOZ0gfCi1M3cpqP.....Wi/s/yzqQRP8dtgn/skgxEZHfs3HEuprpzrifaf9RNuyV284xfJooN8KI9uVB0g/omtnZeWl73EacbeKJO4I4Pcp5Q870JA== =EanM -----END PGP MESSAGE-----
    • GnuPG GnuPG -> Multiplatform -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.9 (GNU/Linux)‏ jA0EAwMCvRtDZw+LN1hgycBqQ9zXPb8VQRdBXMB1lxdMVeKtz6V4VctbmMctHUQhZtKOZ0gfCi1M3cpqP.....Wi/s/yzqQRP8dtgn/skgxEZHfs3HEuprpzrifaf9RNuyV284xfJooN8KI9uVB0g/omtnZeWl73EacbeKJO4I4Pcp5Q870JA == =EanM -----END PGP MESSAGE----- Base64 Encoding
    • GnuPG RFC 2440 -> http://www.ietf.org/rfc/rfc2440.txt Algorithm Identifier -> Numeric ~$ gpg --list-packets cuc.txt.asc :symkey enc packet: version 4, cipher 3, s2k 3, hash 2 salt e6200e71482390e9, count 65536 (96)‏ gpg: CAST5 encrypted data Enter passphrase: gpg: Interrupt caught ... exiting
    • GnuPG Ref: RFC 2440 1 ← IDEA 2 ← 3DES 3 ← CAST5 4 ← Blowfish 7 ← AES (128)‏ 8 ← AES192 9 ← AES256 10 ← Twofish
    • OpenSSL ~/openssl$ openssl enc -aes-256-cbc -in file -out file.enc enter aes-256-cbc encryption password: Verifying - enter aes-256-cbc encryption password: ~/openssl$ openssl enc -d -aes-256-ecb -in file.enc -out file.dec enter aes-256-ecb decryption password: bad decrypt 5653 :error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:461:
    • Isplativost za štite : Postoji više napada koji mogu zaobići disk enkripciju: Uvjet: Računalo radi (locked) ili je u sleepu te napadač ima fizički pristup stroju Cold boot attacks Evil maid attacks (npr, Bootkits) Keyloggeri i sl.
    • Implementacije: Nepoznati algoritam otežava kriptoanalizu U većini slučajeva – može se doznati iz sadržaja i nije adekvatna zaštita Ručna implementacija – Dodatno otežavanje kriptoanalize Koristite javno poznate i provjerene algoritme Fizički pristup automatski podrazumijeva mogućnost proboja
    • Implementacije:
    • Grafički prikaz: Vlastita implementacija toolkita za analizu kriptosadržaja u pythonu: Analiza kriptoteksta, entropijska analiza... Vizualizacija pomoću SciPy Redukcija sadržaja + koloracija po byteu.
    • 0x00, File dump – redukcija na 7 :
    • Blowfish u ECB modu – redukcija na 7 :
    • Blowfish u CBC načinu – redukcija na 7 :
    • Implementacija algoritma: Sekvencijalni načini rada – ECB odavaju mogućnost analize sadržaja (npr, 0x00, 0xFF itd.)‏ Prazni segmenti diska, poznata zaglavlja datoteka, poznate datoteke... Omogućavamo napadaču “Chosen-plaintext” napad, kad zapravo mislimo da imamo “Ciphertext only” napad Koristite CBC ili GCM na čin rada!
    • Slabost vjerodostojnica: Lozinke ili Passfraze koje se koriste za kriptografske ključeve su slabije nego što ljudi vjeruju. 128 bitni ključ = 16 byteova (16 znakova)‏ ASCII = 94 printabilna znaka (161 non-printabilna)‏ Realno – Manje od 37% ukupnog spektra U praksi = 112 bitni ključ
    • Analiza korisničkih lozinki: e ainsrtoludmckgphvbfyzjw 'qxSA&quot;CETMNBP`ILRDG /HFKOWUVJZ^X.YQ2&+,48!()1{:?03#9567=%$@|*;_<}][>~ perica22 perica22! (a0, a0! …)
    • Učinkovitost kriptoanaliti čkih napada: Napadi na algoritam: Kriptoanalitički napad = 2^64 -> 2^63 2^64/2^63 = 2 AES192 - > Kompleksnost napada 2^192 -> CPT napad 2^176 -> 65536x jednostavnije -> 100k god. / 65536 = 1.5god.
    • Efekt sinergije:
      • Sve navedene ranjivosti imaju sinergijski učinak.
      • Određena količina “mikroranjivosti” prilikom izrade sustava može biti kobna.
      • Ranjivosti imaju sinergijski učinak, a ukupna zaštita je na razini najslabije.
    • Umjesto zaključka:
      • Kvalitetna implementacija kriptosustava je iznimno bitna, koristite preporuke prakse (NIST, NSA, BSI)
      • Koristite pravilne načine rada za šifre
      • Koristite implementacije koje su provjerene i standardizirane (OpenSSL, BouncyCastle itd…), NE koristite “vlastite” ili “wikipedia” algoritme
      • Koristite kvalitetne lozinke i ne koristite ih na više lokacija, pazite gdje upisujete lozinke!
    • Hvala
      • Pitanja?
      • [email_address] [email_address]