Titkosítás - Kriptográfia 02.25. Titkosítás - Kriptográfia
Miért akarunk titkosítani? Bizalmasság Sértetlenség Hitelesség Letagadhatatlanság Visszajátszhatatlanság
XBEFMREH
XBEFMREH KORSZERU ROT13, Ceasar cipher
JBHMWGATOMMVPGQDI
JBHMWGATOMMVPGQDI IT BIZTONSAGTECHNIKA Vigenere, Battista cipher
kjjlzfy
kjjlzfy kihivas 0123456
Kriptográfia Titkosítási módszerek (cipher) Caesar, Battista,Veignere, Fairplay, Enigma Modern algoritmusok: DES, 3DES, AES, IDEA, BLOWFISH, TWOFISH „Szimetrikus” alogriutmusok Nyilvános algoritmus – titkos kulcs HASH-ek A világ legjobb titkosítása: One-Time-Pad (XOR) Visszafejtés: Kriptoanalizis Érdekesség: Steganográfia
A probléma A szeretne B-vel titkositva kommunikálni Megálapodnak egy titokban, ezzel titkositja A az üzenetet és elküldi B-nek, aki visszafejti. Probléma: A “titok” kicserélésének módja biztonságos modon. Ha többen tudják az már nem titok Könnyen támadható Man-In-The-Middle módszerrel. Mi a megoldás?
A Megoldás? Szimetrikus titkositás helyett alternativa: Több kulcs használata. De hogyan? Privát(titkos) – publikus kulcspár (aszimetrikus) A publikus kulccsal titkositott adat csak a privát kulccsal visszafejthetõ. Mindenkinek van egy kulcspárja, a privát részét elzárja. A publikus részét lehet terjeszteni Megoldás: aszimetrikus titkositás ?
tangsinul sarang ha yo
tangsinul sarang ha yo Korean i love you
További problémák... A titkositja az üzenetet B publikus kulcsával és elküldi B-nek, aki a privát kulcsával elolvassa. Probléma: A publikus kulcs terjesztésének hatékony, de biztonságos modja. Valóban B-hez tartozik a publikus kulcs? Valóban az van az üzenetben, amit A elküldött ? Nagy erõforrásigényû és lassu Továbbra is fenn áll a MITM attack. Megoldás ?
További megoldások... Ellenörzõ összeg az üzenetre, és azt mellekelni. Message Digest eljárás, visszafejthetetlen Digitális aláirás a titkos kulccsal, ellenörzés a publikus részével Célok: Confidentality, Integrity, Authenticity Letagadhatatlanság, Visszajátszhatatlanság Aszimetrikus kulccsal, szimetrikus kulcs egyeztetés, a gyorsabb müködés érdekében. Publikus kulcs megbizhatóságának problémája.
HASH algoritmusok Fix ellenörzõ összeg képzése (integritás) HASH-bõl az eredeti szöveg nem vissza-fejthetõ 2 különböző adat ugyanazt a HASH-t adja Szöveg változása esetén nem kiszámítható a HASH változás Birthday-paradoxon Elterjedt algoritmusok: MD4, MD5 (feltörve?!), SHA-1, SHA-256 Támadási módszerek: Rainbow-table Kulcsok fingerprintjéhez is ezt használják “One-way compression”
Jelszavak tárolása Hogyan tudunk jelszavakt biztonságosan tárolni késõbbi azonosítás céljából? Titkosítottan tároljuk és az ellenörizendõ jelszót is titkosítjuk, ha két titkosított adata egyforma akkor jó a jelszó. Nem biztos, hogy ugyanaz a jelszó Egyforma jelszavak könnyen észrevehetõek SALT használata: $1$M.e0kU2c$zPpVv8Pe3K/.uGCE0H6fE1
Digitális aláírás Problémák: Módszer: Ellenörzés: Mit irtam alá? Melyik az eredeti példány? Módszer: Ellenörzõ összeg készítése az adatról Ellenörzõ összeg titkosítása a privát kulccsal Ellenörzés: Titkosított ellenörzõ összeg visszafejtése a publikus kulccsal és a készített ellenörzõ összeggel hasonlítás
Publikus kulcs hitelesitése “Web of trust” rendszer: Én megbizok, akiben Te megbizol! Másik publikus kulcsának hitelesitése, aláirása Tul sok mindenkiben kell megbizni Publikus kulcs-szerverek PKI rendszer (CA) Van valaki akiben mindenki megbizik! Központban mindenki publikus kulcsának aláirása “Single point of failure”
PKI müködése Publikus kulccsal certificate request generálás Név (DN: CN, OU, O, L, C) Certificate érvényessége, célja (CA?) CSR aláirása a CA által -> Certificate (X.509) Sorszám, érvényességi idõ, aláiró, stb. Certificate visszavonás a CA által: CRL Self-signed certificatek (pl: CA saját magának) CA hierarchiák, felülhitelesités
Web Of Trust Elterjedt, fõleg „community” alapon Pretty Good Privacy: PGP GNU Privacy Guard: GnuPG Különbözõ kulcs tipusokkal, és titkosító algoritmusokkal
Szabványok - Felhasználás Szimetrikus: DES, 3DES, AES, Blowfish, etc. Aszimetrikus: RSA, DSA Message Digest: MD4, MD5, SHA-1 Kulcs-csere: Diffie-Hellman Formátumok: DER, PEM: crt, key, csr, crl PKCS12: crt, key, (ca.crt) Felhasználás SSL/SSH kommunikáció IPSec VPN authentikálása, titkositása Digitális aláirás SMIME X.509 certificatekkel
Kulcshossz Minél nagyobb egy kulcs, annál nehezebb brute-force módszerrel törni De sokkal hosszabb is vele dologzni AES, BLOWFISH hossz: kb 256 – 512 bit RSA, DSS hossz: 1024 – 4096 bitt Fontos, hogy a teljes kulcs teljesen véletlen legyen! Elliptic Curve Cryptography aszimmetrikus rendszer, rövidebb kulcsokkal 128-256 bit
Véletlenszámok Probléma: Egy alapvetõen determinisztikus rendszer, hogyan tud nem determinisztikusan mûködni? PRNG: Pseudorandom Number Generation Mennyire véletlenek a véletlenszámok? Ismétlõdés, bizonyos minták kiszámíthatóak stb. Példa: 1111*1111 = 1234321 2343*2343 => 4896
Kis visszatekintés Block – Stream cipher Block kódolási módszerek? Különbség? VoIP titkosítás Block kódolási módszerek? Initialization vector ECB, CBC, CFB, OFB
Pár érdekes kérdés Hogyan dönthető el egy adatról, hogy titkosított-e? Hogyan biztosítható, hogy a titkos kulcs kompromitálódása ne érintse az eddigi kommunikációkat? Perfect Forward Secrecy – DH Mire lehet következtetni a titkosított forgalomból? jelszavak, egyéb információk Deniable encryption (letagadhatatlanság)
Szorgalmi http://www.hellboundhackers.org/challenges/encryption/index.php http://www.infoshackers.com/Master/ http://www.hackits.de/challenge/crypt/ http://www.bright-shadows.net/
Szorgalmi 2. PGP/GnuPG-vel aláírt és titkosított levél küldése nekem Fingerprint F78C 25CA 5F88 6FAF EA21 779D 3279 9F9E 1155 670D Email cím: illes.marton@balabit.hu marton.illes@balabit.com