Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Obr. 1 Úvod do PKI (Public Key Infrastructure) Ing., BcA. Ivan Doležal Centrum výpočetní techniky VŠB-TUO Ostravské linuxové semináře, říjen 2001 Public.

Podobné prezentace


Prezentace na téma: "Obr. 1 Úvod do PKI (Public Key Infrastructure) Ing., BcA. Ivan Doležal Centrum výpočetní techniky VŠB-TUO Ostravské linuxové semináře, říjen 2001 Public."— Transkript prezentace:

1 Obr. 1 Úvod do PKI (Public Key Infrastructure) Ing., BcA. Ivan Doležal Centrum výpočetní techniky VŠB-TUO Ostravské linuxové semináře, říjen 2001 Public Key Infrastructure - infrastruktura veřejných klíčů

2 Obr. 2 literatura : 1 Ivan Doležal: Experimentální certifikační autorita VŠB-TUO Centrum výpočetní techniky VŠB-TUO, 2000 Libor Dostálek a kolektiv: Velký průvodce protokoly TCP/IP: Bezpečnost Computer Press, 2001

3 Obr. 3 pojmy eavesdropping - informace je přenesena nedotčena, ale je při přenosu odposlechnuta eaves - okraj klobouku; eavesdropping - nepozorovaný odposlech tampering - informace je při přenosu změněna tamper - vmísit se; změnit; zfalšovat; střelmistr na dole spoofing - odesílatel předstírá cizí identitu spoof - parodovat; napálit, ušít boudu, dělat si legrácky, vodit za nos

4 Obr. 4 On the Internet, nobody knows you’re a dog. - Na Internetu nikdo neví, že jsi pes. Problém identity na Internetu

5 Obr. 5 šifrování: vojenství, autorská práva, obchodní zájmy,... Digital Millenium Copyright Act –Dešifrování je trestné. –deCSS, Adobe eBook Security Systems Standards and Certification Act –V USA bude trestné sestrojit nebo prodávat cokoliv, co nevyužívá bezpečnostní technologie certifikované americkou vládou. Asociace nahrávacího průmyslu: když kradete MP3ky, stahujete si komunismus! zdroj: modernhumorist.com

6 Obr. 6 pojmy autentifikace - je uživatel tím, za koho se vydává? autorizace - má uživatel přidělena práva k této akci? authentication - ověření, důkaz pravosti / authorization - zplnomocnění

7 Obr. 7 symetrické šifrování key - klíč, tónina, klávesa, závěrník, první tah v šachu, kilo drogy,... klíč Byl klíč přenesen, aniž by byl odposlechnut? Alice Bob Ed

8 Obr. 8 Alice Bob Ed symetrické šifrování message - zpráva / encryption - zašifrování zašifrovánízprávašifr. zprávadešifrovánízpráva klíč přičti klíč! odečti klíč! klíč 8

9 Obr. 9 Alice Bob Ed symetrické šifrování decryption - dešifrování / Zimmermann - pruský ministr zahraničí (WW1) zašifrovánízprávašifr. zprávadešifrovánízpráva klíč přičti klíč! odečti klíč! velmi staré (Caesar, “Cimrman”) velmi výpočetně rychlé klíč 8

10 Obr. 10 symetrické šifrování blowfish - “puffer” - jedovatá ryba z rodu Tetraodontidae DES - Data Encryption Standard (1976, IBM, NSA) bloková šifra - slovo má pevnou délku (pro DES 64 bitů, z nich využito jen 56) GOST RC4 3DES IDEA CAST-128 BLOWFISH (1994, standard v OpenBSD) Rijndael => AES

11 Obr. 11 pojmy šifra s veřejným / tajným algoritmem rozlomení klíče - zjištění klíče rozlomení hrubou silou - nalezení klíče vyzkoušením všech možností breaking - rozlomení / cipher - šifra

12 Obr. 12 symetrické šifrování : rychlost rozlomení (leden 2001) brutal force - hrubá síla; trillion - bilión DES - 56bit klíč - hrubou silou několik hodin (distributed.net; “DES Cracker”) Německý soud označil již v září 1998 jako nedostatečný pro ochranu finančních aplikací. AES - 128bit klíč - hrubou silou 149 biliónů let při rychlosti 1 DES/s

13 Obr. 13 asymetrické šifrování Jim Bidzos (45) vnutil RSA alg. do Netscape; dnes řídí spendcash.com UK: Coxova rovnice (1960’s) USA: Diffie, Hellman (1976) RSA (1977) * Ronald Rivest, Adi Shamir, Leonard Adleman; dnes majetkem Security Dynamics, Inc. El Gamal (diskrétní logaritmus) Lucent DSA (“Digital Signature Algorithm”) nástroj pro původní DSS Federal Information Processing Standard ECC ECDSA

14 Obr. 14 asymetrické šifrování : algoritmus RSA : vytvoření klíče p, q... prvočísla, součin vyšší než nejvyšší zašifrovatelné číslo p = 3, q = 7 n - modulus (“část” veřejného klíče) n = p · qn = 3 · 7 = 21  = (p - 1) · (q - 1)  = 2 · 6 = 12 e - enkrypční exponent (veřejný klíč): zvolme e … e< , e je nesoudělné s  e = 5 d - dekrypční exponent (soukromý klíč): zbytek po dělení e · d /  je 15 · d / 12 = x, zbytek 1 tj. (e · d) mod  = 1např. d = 17 při x = 7 Veřejný klíč: e = 5, modulus n = 21 / Soukromý klíč: d = 17.

15 Obr. 15 asymetrické šifrování : algoritmus RSA : zašifrování / dešifrování zpráva … 0 < M < (n - 1) zašifrovaná zpráva … C Nechť zpráva M = 2. C = M e mod nC = 2 5 mod 21 = = 32 mod 21 = 11 M = C d mod nM = mod 21 = = mod 21 = 2 Veřejný klíč: e = 5, modulus n = 21 / Soukromý klíč: d = 17.

16 Obr. 16 Ed asymetrické šifrování : distribuce veřejného klíče public key - veřejný klíč / private key - soukromý klíč Alice Bob Bobův veřejný klíč Bobův soukromý klíč

17 Obr. 17 Bob Alice asymetrické šifrování : přenos zprávy zašifrovánízprávašifr. zprávadešifrovánízpráva Bobův veřejný klíč public key - veřejný klíč / private key - soukromý klíč Ed Bobův soukromý klíč

18 Obr. 18 jednosměrná funkce - hash hash - sekaná, patlanina, páté přes deváté, hašiš; zpackat, rozsekat jednosměrnost - z výsledku funkce nelze rekonstruovat vstup bezkoliznost - nelze najít dvě různé hodnoty, pro které funkce dává stejný výsledek

19 Obr. 19 jednosměrná funkce - hash digest - zhuštěný výtah; natrávená potrava MD5 (Message Digest) výstup 128 bitů SHA-1 (Secure Hash Algorithm) výstup 160 bitů

20 Obr. 20 Ed Bob Alice elektronický podpis zašifrováníhashvýpočet hashe zpráva Bobův veřejný klíč public key - veřejný klíč / private key - soukromý klíč Bobův soukromý klíč dešifrování výpočet hashe shoda? Dokument je pravý. ano

21 Obr. 21 Ed podvržení veřejného klíče při distribuci Je klíč, který mám, skutečně klíčem osoby, které chci poslat zprávu? counterfeit - podvrhnout Alice Bob Bobův veřejný klíč Bobův soukromý klíč Edův veřejný klíč Edův soukromý klíč “Jsem Bobův veřejný klíč!”

22 Obr. 22 Ed podvržení veřejného klíče při distribuci Je klíč, který mám, skutečně klíčem osoby, které chci poslat zprávu? counterfeit - podvrhnout Alice Bob Bobův veřejný klíč Bobův soukromý klíč Edův veřejný klíč Edův soukromý klíč “Jsem Bobův veřejný klíč!”

23 Obr. 23 Jak zabránit tamperingu? X.509 certifikát doporučení ITU X.509 ( ), nyní verze 3 RFC 2459 EDI certifikát PGP - podepsání veřejného klíče ___________________ Snake Oil - “hadí olej” - něco, co dodává pocit řešení problému, bezpečí sign - podepsat / request - žádost, prosba, přání, zdvořilý požadavek; poptávka

24 Obr. 24 X.509 certifikát : žádost o certifikát (žádost o podepsání certifikátu) certificate - certifikát, osvědčení, vysvědčení, dobrozdání, průkaz, potvrzení, … Bobův veřejný klíč Bob „Bob“ Cecilia CSR

25 Obr. 25 X.509 certifikát : certifikační autorita authority - autorita; úřední moc, úřady; oprávnění, pravomoc; vrcholná úroveň

26 Obr. 26 X.509 certifikát : certifikační autorita Thawte CA Thawte notáři koncový uživatel jsem se v Glivicích (Polsko) stal notářem Thawte CA pro “Web Of Trust” s právem přidělit 10 bodů.

27 Obr. 27 X.509 certifikát : registrační autorita certifikační autorita registrační autorita koncový uživatel registration authority - registrační autorita CMP - Certificate Management Protocol pro vydávání a správu certifikátů RFC 2510 poštou, http ( Content-Type: application/pkixcmp ) nebo 829/tcp CMC - Certificate Management Messages over CMS Cisco, Microsoft

28 Obr. 28 X.509 certifikát : vystavení certifikátu (podepsání certifikátu) certificate - certifikát, osvědčení, vysvědčení, dobrozdání, průkaz, potvrzení, … Bobův veřejný klíč Bob „Bob“ Cecilia Bobův veřejný klíč „Bob“ DN ručí „Cecilia“ DN S/MIME software Ceciliin veřejný klíč

29 Obr. 29 X.509 certifikát : vystavení certifikátu (podepsání certifikátu) certificate - certifikát, osvědčení, vysvědčení, dobrozdání, průkaz, potvrzení, … Alicin veřejný klíč „Alice“ Alicin veřejný klíč „Alice“ DN ručí „Daria“ DN S/MIME Dariin veřejný klíč Alice Daria

30 Obr. 30 X.509 certifikát : distribuce certifikátu soubor přes HTTP, FTP, HTTPS, , S/MIME LDAP inetOrgPerson ldif -b “userCertificate;binary” newcert.ldif CMP CMC DVCSP - Data Validation and Certification Server Protocols RFC-3029 provede i všechna ověření platnosti (CRL, OCSP)

31 Obr. 31 X.509 certifikát : cert. autority jsou podepsány jinými autoritami root - kořen Daria Cecilia Řetězce certifikačních autorit Kořenové certifikační autority

32 Obr. 32 X.509 certifikát : kořenové autority podepíšou samy sebe... Jsem to já…...a potvrdím si to sám!

33 Obr. 33 X.509 certifikát : …a nechají své certifikáty vestavět do software Výrobci software Marc Andreesen (Netscape) Bill Gates (Microsoft)

34 Obr. 34 X.509 certifikát : …a nechají své certifikáty vestavět do software

35 Obr. 35 X.509 certifikát : odvolání certifikátu revocation - odvolání, zrušení, stornování Certificate Revocation List - pravidelně (např. jednou měsíčně) byste si měli ve vašem kryptosoftware obnovovat seznam vydávaný certifikační autoritou –úplný seznam –delta seznam, pořadová čísla Online Certificate Status Protocol –HTTP přenos –podpora je ve fázi vývoje Certificate of health - anti-CRL

36 Obr. 36 Bob elektronický podpis : časové razítko zašifrovánívýpočet hashe zpráva stamp - razidlo, frankotyp, štempl, známka, kolek, etiketa, punc, tiskařský lis Bobův soukromý klíč Cecilia dodaný hash “Je 2. února 2000, 11:43:20.” Ceciliin elektronický podpis

37 Obr. 37 X.509 certifikát : struktura : jak se zapisuje ASN.1 - Abstract Syntax Notation 1 aka ITU X.208 jazyk pro popis dat OID - object identifier, součást ASN.1 číselný kód pro identifikaci objektu v certifikátu viz např. PEM, DER - “skupenství” certifikátu (DER je podmnožina BER) PEM - Privacy Enhaned Mail / DER - Distinguished Encoding Rules

38 Obr. 38 X.509 certifikát : struktura : jak se zapisuje : příklad If you can’t be a good example, then you’ll just have to be a horrible warning. Catherine Aird SEQUENCE { OBJECT IDENTIFIER sha1withRSAEncryption ( ) NULL } BIT STRING 0 unused bits 78 B3 5F 74 E C2 FA E2 38 7F DE 08 F6 B2 59 E9 3F BE B9 8F F FA DB C1 32 BC 1E 9B AD 2D 92 8C B3 B1 D FF 5E F5 C4 5B 6F D D8 C0 } OID popis v ASN.1 cert.der - binární data / cert.pem - DER v BASE64 s hlavičkou

39 Obr. 39 X.509 certifikát : formát DER souboru 0‚ˇ0‚ 0 *†H†÷ 0Ť1 0UCZ10UNorthern Moravia10UOstrava10UVSB10U Computer Center10 UCA VSB10*†H†÷ Z Z0Ť1 0UCZ10UNorthern Moravia10UOstrava10UVSB10U Computer Center10 UCA VSB10*†H†÷ *†H†÷ Ť 0‰ ĽXxaođeŹ\«Ă1TŃP2áôîdm<ÉXÉţ&/Öšű„t2đ~wçkJYö˘ÁRsQ TuMŻĽŻGX¤„gŔvş±ń¸($-eYĽµ;·yCá‹Î/¨ —%Í™vü͆ÓđDîŐýů¸ěţbXąśÓ‚s÷»f· Ł‚ 0‚ DER - Distinguished Encoding Rules

40 Obr. 40 X.509 certifikát : formát PEM souboru -----BEGIN CERTIFICATE----- (REQUEST, PRIVATE KEY, CRL) MIIEoTCCBAqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBjTELMAA1UEBhMCQ1ox GTAXBgNVBAgTEE5vcnRoZXJuIE1vcmF2aWExEDAOBgNVBAcTB0dHJhdmExDDAK BgNVBAoTA1ZTQjEYMBYGA1UECxMPQ29tcHV0ZXIgQ2VudGVyMQDQYDVQQDEwZD QSBWU0IxGDAWBgkqhkiG9w0BCQEWCWNhQHZzYi5jejAeFw0wMDMTYxMDIzMzJa Fw0wMzA1MTMxMDIzMzJaMIGNMQswCQYDVQQGEwJDWjEZMBcGA1CBMQTm9ydGhl cm4gTW9yYXZpYTEQMA4GA1UEBxMHT3N0cmF2YTEMMAoGA1UEChVlNCMRgwFgYD VQQLEw9Db21wdXRlciBDZW50ZXIxDzANBgNVBAMTBkNBIFZTQjMBYGCSqGSIb3 DQEJARYJY2FAdnNiLmN6MIGfMA0GCSqGSIb3DQEBAQUAA4GNADiQKBgQC8WA54 YW/wFWWPXKvDMVTRUDLh9O5kbTzJWMn+Ji/WmvuEdDLwfnfna09qLBUghzUSBU AnVNrwa8r0dYpIRnwHa6sfG4KAYkLRtlWby1gTu3eUPhi84vqHGZclzZl2/M2G 0/BE7tX9Afm47P5iWLkBnBrTgggXGHP3u2a3CQIDAQABo4ICDTAgkwHQYDVR0O BBYEFGSvSMAHPM2g0diLe1yxhKxNhgyxMIG6BgNVHSMEgbIwga+AFGSvSMAHPM jzRkitf0tRJ0fu6MT5jmELHsePq5AK60LtXa4xlhg8zgVj9wmA1+K+bKiJ5lrD ZNYhHM6AhWCDSGIx37ahKL/fvy8fdR2rWeIRf26NkbkeJHkg== -----END CERTIFICATE----- PEM byl předchůdcem S/MIME

41 Obr. 41 X.509 certifikát : formát PEM souboru Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=CZ, ST=Northern Moravia, L=Ostrava, O=VSB, OU=Computer Center, CN=CA Validity Not Before: Aug 16 13:15: GMT Not After : May 13 10:23: GMT Subject: C=CZ, ST=Northern Moravia, L=Ostrava, O=VSB, OU=Computer Center, CN=Ivan Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bd:da:7e:76:e5:e6:60:fb:b4:f7:e5:b0:38:48: 8b:a7:75:d0:4a:a2:2e:b1:02:fd:1b:5b:ec:e6:04: e9:fc:22:0e:ce:e0:d8:f4:6a:41:bc:cb:f0:e4:ed: 4e:8b:e7:f9:b9:6c:62:7d:0e:3a:86:3e:89:38:73: 28:b4:10:2f:d4:3a:06:af:fc:2a:59:2c:7f:b0:3a: a0:1f:be:d8:9f:12:85:04:c5:fd:10:59:7e:d5:b1: ad:db:05:6a:36:78:e3:f7:2c:69:c6:10:8c:72:73: f6:89:85:aa:70:da:7e:3c:f1:2c:e4:7a:cd:7e:de: 24:94:1a:28:ce:5d:e4:c6:75 Exponent: (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE Netscape Cert Type: SSL Client, S/MIME, Object Signing X509v3 Key Usage: Digital Signature, Non Repudiation, Key Encipherment Netscape Comment: OpenSSL and ICA Generated User Certificate X509v3 Subject Key Identifier: F8:43:4C:1C:45:D1:40:89:48:11:49:98:8E:D1:F6:43:67:5D:5F:F6 X509v3 Authority Key Identifier: keyid:64:AF:48:C0:07:3C:CD:A0:D1:D8:8B:7B:5C:B1:84:AC:4D:86:0C:B1 DirName:/C=CZ/ST=Northern Moravia/L=Ostrava/O=VSB/OU=Computer Center/CN=CA serial:00 Signature Algorithm: md5WithRSAEncryption 07:55:a8:5b:ea:9c:ac:e9:6d:c8:01:e0:9e:ea:6c:37:e6:ed: 14:3a:4e:cb:ed:2a:37:1c:89:5d:5c:07:9f:f9:50:8a:5c:ea: 7d:9a:69:0d:e5:9c:f2:b7:c3:c1:87:ec:d5:3d:3d:c8:00:d2: fd:c7:ba:23:71:20:0d:69:b9:b7:6f:7b:86:b2:6e:5c:a8:d0: f4:a5:66:00:0c:10:13:e4:f5:2b:8c:01:54:6c:03:1c:a6:a4: 73:cf:95:5f:3a:3f:6a:6d:2b:6e:20:d1:ce:ec:15:21:20:3c: 0a:e0:02:29:a7:9d:e2:ef:c3:35:b0:16:9a:0b:a2:09:5e:28: 98:3b -----BEGIN CERTIFICATE----- MIID6jCCA1OgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBjTELMAkGA1UEBhMCQ1ox GTAXBgNVBAgTEE5vcnRoZXJuIE1vcmF2aWExEDAOBgNVBAcTB09zdHJhdmExDDAK BgNVBAoTA1ZTQjEYMBYGA1UECxMPQ29tcHV0ZXIgQ2VudGVyMQ8wDQYDVQQDEwZD QSBWU0IxGDAWBgkqhkiG9w0BCQEWCWNhQHZzYi5jejAeFw0wMDA4MTYxMzE1Mjla dHJhdmExDDAKBgNVBAoTA1ZTQjEYMBYGA1UECxMPQ29tcHV0ZXIgQ2VudGVyMQ8w DQYDVQQDEwZDQSBWU0IxGDAWBgkqhkiG9w0BCQEWCWNhQHZzYi5jeoIBADANBgkq hkiG9w0BAQQFAAOBgQAHVahb6pys6W3IAeCe6mw35u0UOk7L7So3HIldXAef+VCK XOp9mmkN5Zzyt8PBh+zVPT3IANL9x7ojcSANabm3b3uGsm5cqND0pWYADBAT5PUr jAFUbAMcpqRzz5VfOj9qbStuINHO7BUhIDwK4AIpp53i78M1sBaaC6IJXiiYOw== -----END CERTIFICATE----- Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=CZ, ST=Northern Moravia, L=Ostrava, O=VSB, OU=Computer Center, CN=CA Validity Not Before: Aug 16 13:15: GMT Not After : May 13 10:23: GMT Subject: C=CZ, ST=Northern Moravia, L=Ostrava, O=VSB, OU=Computer Center, CN=Ivan Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:bd:da:7e:76:e5:e6:60:fb:b4:f7:e5:b0:38:48: 8b:a7:75:d0:4a:a2:2e:b1:02:fd:1b:5b:ec:e6:04: e9:fc:22:0e:ce:e0:d8:f4:6a:41:bc:cb:f0:e4:ed: 4e:8b:e7:f9:b9:6c:62:7d:0e:3a:86:3e:89:38:73: 28:b4:10:2f:d4:3a:06:af:fc:2a:59:2c:7f:b0:3a: a0:1f:be:d8:9f:12:85:04:c5:fd:10:59:7e:d5:b1: ad:db:05:6a:36:78:e3:f7:2c:69:c6:10:8c:72:73: f6:89:85:aa:70:da:7e:3c:f1:2c:e4:7a:cd:7e:de: 24:94:1a:28:ce:5d:e4:c6:75 Exponent: (0x10001) atd...

42 Obr. 42 X.509 certifikát : struktura : Distinguished Name a další distinguish - rozeznat, odlišit, odlišovat, charakterizovat Common Name{ }=Ivan Doležal Country { }=Czech Republic Organization { }=Vysoká škola báňská Organizational Unit { }=Centrum výpočetní techniky Nikdy se nepodařilo zaručit jednoznačnost, dokonce ani ujednotit názvosloví SubjectAltName= … Serial Number= OBJECT IDENTIFIER subjectAltName ( ) OCTET STRING, encapsulates { SEQUENCE { { OBJECT IDENTIFIER mpeg-1 ( ) { OCTET STRING B AE 60 A B8 E4 C EA EF E 49 1B DF … a dalších bajtů … }

43 Obr. 43 X.509 certifikát : Distinguished Name a distribuce certifikátu

44 Obr. 44 X.509 certifikát : struktura : serverový certifikát Common Name=decsys.vsb.cz Country=Czech Republic Organization=Vysoká škola báňská Organizational Unit=CVT

45 Obr. 45 X.509 certifikát : struktura : profily distinguish - rozeznat, odlišit, odlišovat, charakterizovat Instituce či státy se rozhodují, co bude/nebude přesně součástí certifikátu a k čemu bude takto vydaný certifikát sloužit. Třídy certifikátů - číselné ohodnocení důvěryhodnosti certifikovaného jedince/organizace podle míry ověření.

46 Obr. 46 PKCS - [RSA] Public-Key Cryptography Standards PKCS#1 RSA Cryptography Standard PKCS#3 Diffie-Hellman Key Agreement Standard PKCS#5 Password-Based Cryptography Standard PKCS#6 Extended-Certificate Syntax Standard PKCS#7 Cryptographic Message Syntax Standard –S/MIME , platba SET…, Netscape CRL, MSIE však používá PKIX –IETF: CMS - Cryptographic Message Standard (RFC-2630) PKCS#8 Private-Key Information Syntax Standard PKCS#9 Selected Attribute Types PKCS#10 Certification Request Syntax Standard –MSIE dodržuje, Netscape používá vlastní formát SPKAC, IETF: CRMF PKCS#11 Cryptographic Token Interface Standard PKCS#12 Personal Information Exchange Syntax Standard –formát pro přenos osobních informací (klíč, certifikát) –ještě Netscape 4.0x však používal vlastní formát PFX PKCS#13 Elliptic Curve Cryptography Standard PKCS#15 Cryptographic Token Information Format Standard

47 Obr. 47 X.509 certifikát : extensions extension - rozšíření Přesný účel certifikátu - podpis dokumentů, podpis software, elektronická platba SET, certifikace serveru pro SSL/TLS (https://…), s tímto certifikátem lze podepisovat jiné certifikáty Další informace o uživateli - (viz dříve) kritické rozšíření: –X.509: jde o doporučující položku –IETF PKIX: certifikační autority by je měly “podporovat” –IETF S/MIME: implementace by s nimi měly “správně zacházet” –MailTrusT: ta nekritická jsou jenom informativní a smějí být ignorována –Microsoft je dodržuje, Netscape nikoliv

48 Obr. 48 X.509 certifikát : distribuce 2 Přenos certifikátu CA přes HTTP –Content-Type: application/x-x509-ca-cert –Netscape 4: PEM, Microsoft 4,5: DER Přenos uživatelského certifikátu –Content-Type: application/x-x509- -cert –PEM –RFC 2585 (květen 1999): typ.cer, application/pkix-cert Přenos Cert. Revocation Listu –Netscape: Content-Type: application/x-pkcs7-crl, MSIE: Content-Type: application/pkix-crl –MSIE, Netscape: PEM Instalace certifikátu do webserveru –Apache: PEM, snáší dobře i komentáře kolem certifikátu –MS Personal, Netscape Enterprise: PEM, nesnášejí

49 Obr. 49 X.509 technologie : postavení v modelu OSI 1 (Physical) 2 (Data Link) 3 (Network) 4 (Transport) 5 (Session) 6 (Presentation) 7 (Application) SSL, TLS IPsec PEM, S/MIMESSH S-HTTP HTTPS, POP3S,... PGPDNSsec Authenticode, SUN,... PGP

50 Obr. 50 X.509 a elektronická pošta - S/MIME

51 Obr. 51 X.509 a elektronická pošta - S/MIME From: To: Subject: Katastrofalni ztraty ve tretim kvartale Date: Tue, 23 Oct :52: MIME-Version: 1.0 Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7m" MIAGCSqGSIb3DQEHA6CAMIACAQAxggJlMIIBKwIBADCBkzCBjTELMAkGA1UE BAgTEE5vcnRoZXJuIE1vcmF2aWExEDAOBgNVBAcTB09zdHJhdmExDDAKBgNV... FnNbIKlteb5iTszq3oCnwhue8AQf4pOEi8I/UVGJicIyrN2nriyyGo546zp3 xm9ZQWOkFPrzceiIuvXTG9WJgSF+LEPyIMGSYWmGNBQHAAAAAAAAAAAAAA==

52 Obr. 52 X.509 a přenosy SSL - Netscape: Secure Socket Layer v2, v3 PCT - Microsoft: Private Communications Technology –nepoužívá se TLS - IETF RFC-2246: Transport Layer Security –odvozeno z SSL –vzájemně nekompatibilní –nepodporuje šifrovací standard Fortezza, více Alertů v AP (revokace), jiný algoritmus výpočtu hashe SSL v1 - bylo zlomeno publikem během první předváděčky firmy Netscape

53 Obr. 53 X.509 a přenosy - SSL/TLS : protokoly RLP - Record Layer Protocol –šifruje a počítá kontrolní součty HP - Handshake protocol –vyjednává typ šifrování a hash –připravuje data pro výpočet master secret -> symetrické klíče, MAC secret CCSP - Change Cipher Specification Protocol –změna šifrovacího algoritmu AP - Alert Protocol –signalizace závady Red Alert - písnička skupiny Basement Jaxx, používá se v upoutávkách MTV

54 Obr. 54 X.509 a přenosy - SSL/TLS : Handshake Protocol 1 klient server ClientHello: verze SSL/TLS informace o možnostech klientova šifrování náhodná data “client- nonce” SeverHello: verze SSL/TLS informace o volbě šifrovací metody náhodná data “server- nonce” certifikát serveru nonce - projednou, protentokrát, pro teď, příležitostně

55 Obr. 55 X.509 a přenosy - SSL/TLS : Handshake Protocol 2 klient server ClientHello, ServerHello ClientCertificate (optional) ClientKeyExchange Náhodná data “Předběžné tajemství (PreMasterSecret)” šifrovaná veřejným klíčem z certifikátu serveru. MasterSecret=hash(client nonce + master nonce + PremasterSecret) přepnutí na symetrické šifrování MasterSecret=hash(client nonce + master nonce + PremasterSecret) přepnutí na symetrické šifrování

56 Obr. 56 X.509 a přenosy - SSL/TLS : Record Layer Protocol

57 Obr. 57 X.509 a přenosy - obecné protokoly a SSL pop3s stream tcp nowait nobody /.../sslwrap sslwrap -cert /.../cert.pem -key /.../key.pem -port 110 imaps stream tcp nowait nobody /.../sslwrap sslwrap -cert /.../cert.pem -key /.../key.pem -port 143 IANA porty POP3 (110) -> POP3S (995) IMAP (143) -> IMAPS (993) … běžný démon (např. imapd ) nad ním SSL wrapper ( sslwrap ) wrap - obalit, zabalit, obtočit, zahalit

58 Obr. 58 X.509 a šifrovaný autentifikovaný přenos - SSL a Apache ukázka… Listen 443 SSLEngine on SSLCertificateFile /cesta/cert.pem SSLCertificateKeyFile /cesta/key.pem SSLCertificateChainFile /cesta/ca.pem SSLCACertificatePath /cesta/cacert.pem SSLVerifyClient optional (0-3 v Apache-SSL) SSLVerifyDepth 10 SSLOptions +StdEnvVars #!/usr/bin/bash echo "Content-Type: text/plain" echo "" echo "APACHE + MODSSL ==================================================" echo "Prave sifrujeme na $SSL_CIPHER_USEKEYSIZE bitu algoritmem $SSL_CIPHER." echo "Overeni autenticity: $SSL_CLIENT_VERIFY" [ $SSL_CLIENT_VERIFY = "NONE" ] && echo "Nepovolil(a) jste overeni certifikatem nebo jej vubec nemate." echo "Vase jmeno: $SSL_CLIENT_S_DN_CN" echo "Vase ova adresa: $SSL_CLIENT_S_DN_ " echo "Vase cela identita: $SSL_CLIENT_S_DN" echo "Podepsala vas autorita: $SSL_CLIENT_I_DN" echo "" echo "APACHE-SSL ======================================================" echo "" echo "Prave sifrujeme na $HTTPS_KEYSIZE bitu algoritmem $SSL_CIPHER." echo "Vase jmeno: $SSL_CLIENT_CN" echo "Vase ova adresa: $SSL_CLIENT_ " echo "Vase cela identita: $SSL_CLIENT_DN" echo "Podepsala vas autorita: $SSL_CLIENT_I_DN"

59 Obr. 59 X.509 a šifrovaný autentifikovaný přenos - SSL a Apache

60 Obr. 60 X.509 a šifrovaný autentifikovaný přenos - SSL a Apache

61 Obr. 61 X.509 a podepisování - XML dokumenty W3C Proposed Recommendation XML-Signature Syntax and Processing z 20. srpna 2001, na XML Security Suite For Java (XSS4J) - IBM Alphaworks XML Encryption Implementation XML Signature Implementation XML Access Control ASN.1/XML Translator DOMHASH Calculation Library XML Canonicalizer zkoumáno v půlce října 2001

62 Obr. 62 X.509 a podepisování - Microsoft Authenticode

63 Obr. 63 X.509 a podepisování Java –utilita javakey pro podepisování JARů, vytváření, zobrazování certifikátů –podepsaný applet smí vykročit z Java sandboxu, pokud mu to uživatel/administrátor dovolí Netscape Object Signing –utilita Netscape Signing Tool pro podepisování JARů a HTML stránky s JavaScriptem

64 Obr. 64 X.509 a podepisování - Netscape Form Signing (nefunguje v MSIE) function signForm(theForm, theWindow, validation) { var formSize = theForm.elements.length; var signedText = theWindow.crypto.signText (theForm.prohlaseni.value, "ask"); validation.value = signedText; return true; }

BIL+JSEM+SEKALA.&validation=%0AhTgu…PKCS#7 data

65 Obr. 65 X.509 a IP protokol - IPsec IP security - bezpečnost vestavěná do IP šifrování a autentifikace mezi hostiteli (firewally) Cisco Encryption Technology možnost v IPv4, součást IPv6 Sestává ze dvou částí: –IPSEC funkčnost (autentifikace a šifrování) –IPSEC správa klíčů mezi počítači, směrovači

66 Obr. 66 X.509 a IP protokol - IPsec Režimy: –Transportní bezpečnostní hlavička je vklíněna mezi IP hlavičku a TCP hlavičku (resp. hlavičku vyšší vrstvy) používá se mezi počítači –Tunel celý IP paket je vložen jako data do nového IP paketu používá se mezi směrovači Protokoly: –AH - IP Authentication Header –ESP - IP Encapsulation Security Payload –ISAKMP - Security Association And Key Management Protocol (500/udp) Nejen X.509, ale i PGP, Kerberos, klíče DNSsec

67 Obr. 67 X.509 a bankovní operace - SET Vynález IBM. V ČR pouze Komerční banka. Celosvětově patrně nedojde rozšíření pro přílišnou rafinovanost, která produkuje vysoké náklady.

68 Obr. 68 X.509v3 Pokud vše funguje hladce, máte téměř zaručeno, že víte, s kým komunikujete.

69 Obr. 69 X.509v3 Nedopracované normy, plné nejednoznačností (kódování řetězců, použití kritických omezení). Variace na Y2K: problém nastane při ověřování starých podpisů hned ve dvou letech: 2049 a Existence několika silných skupin (IETF: PKIX, IETF S/MIME, RSA, provozovatelé CA). Každý výrobce software používá svá OID, která se obtížně zjišťují. Některé profesionální certifikační autority vydávají certifikáty se špatnou syntaxí. Nemáte jednoznačně zaručeno, že víte, s kým komunikujete. Rozhodnutí o důvěře přenášíte na certifikační autoritu. Expirovaný certifikát je neplatný certifikát. Bud, if dynamite was dangerous, do you think they’d sell it to an idiot like me? Al Bundy, “Married With Children”

70 Obr. 70 X.509v3 Bud, if dynamite was dangerous, do you think they’d sell it to an idiot like me? Al Bundy, “Married With Children” VERISIGN MAKES NO REPRESENTATION OR WARRANTY THAT ANY CA OR USER TO WHICH IT HAS ISSUED A DIGITAL ID IN THE VERISIGN SECURE SERVER HIERARCHY IS IN FACT THE PERSON OR ORGANIZATION IT CLAIMS TO BE WITH RESPECT TO THE INFORMATION SUPPLIED TO VERISIGN. VERISIGN MAKES NO ASSURANCES OF THE ACCURACY, AUTHENTICITY, INTEGRITY, OR RELIABILITY OF INFORMATION CONTAINED IN DIGITAL IDS OR IN CRLs COMPILED, PUBLISHED OR DISSEMINATED BY VERISIGN, OR OF THE RESULTS OF CRYPTOGRAPHIC METHODS IMPLEMENTED. 29. a 30. ledna 2001 vydala kořenová certifikační autorita Verisign dva certifikáty Class 3 pro elektronický podpis programů osobě, která o sobě nepravdivě uvedla, že je zamestnancem firmy Microsoft. "Common Name” (položka v certifikátu, která se ihned zobrazuje při pokusu o spuštění programu) je "Microsoft Corporation". V r vydal Verisign certifikát pro adresu (DigiCrime)

71 Obr. 71 X.509 versus PGP U PGP - tak jak je dnes využíváno (“web of trust”) - nemáte většinou už vůbec žádnou představu o tom, kdo jsou ti lidé, kteří se zaručují za něčí veřejný klíč - pokud je vůbec klíč zaručený. Větší zranitelnost takového ověření: na jednom špatném členu řetězce je závislý nejasný počet ověřovatelů. Problematické odvolávání. Postačí pro kontakt dvou přátel nebu teroristů, nedostačující pro skutečnou autentifikaci, spoofing.

72 Obr. 72 A Pretty Good Privacy Sale By Joanna Glasner 4:10 p.m. Oct. 12, 2001 PDT Privacy protection -- although sought after by Internet users -- seems to be proving itself a difficult business for computer security firms. This week, the latest indication of trouble in privacy-land came when the company that distributes a popular encryption software package for businesses said it is getting out of the business. On Thursday, Network Associates, the Santa Clara, California, developer of computer and network security tools, said it is seeking a buyer for its PGP, or Pretty Good Privacy, file and desktop encryption products and Gauntlet Firewall. Network Associates said that part of its line of PGP security products will be folded into McAfee and its Sniffer network security division. But the transfer won't include its core PGP offering, the file and desktop application, which the company bought from its creator, cryptologist Philip Zimmermann, nearly four years ago.

73 Obr. 73 Vytvoření požadavku na certifikát - Netscape …a další DN položky...

74 Obr. 74 Vytvoření požadavku na certifikát - MSIE CryptoAPI Objekt „Certificate Enrollment Control” VBScript szName = "C=" & TheForm.countryName.value... Enroll.KeySpec = 1 Enroll.GenKeyFlags = 3 sz10 = Enroll.CreatePKCS10(szName," ")

75 Obr. 75 Nevydává testovací, ale platné certifikáty (tj. s ověřením). Žádost o certifikát pomocí Netscape/Mozilly či MSIE, přijmout lze i žádosti vytvořené OpenSSL apod. po dohodě. Způsob, jak získat certifikát pro podpis u, objektů, serverů s minimálními náklady (pouze kolik utratíte za dopravu autentifikačních dat). Dosud neexistuje dostatečný konsensus pro akceptaci ca.czweb.org jako kořenové CA. Fingerprint kořenového certifikátu u Ing. Ivana Doležala, tel. (069)

76 Obr. 76 software Mozilla Open Source PKI Services (GNU licence) –stejní autoři jako OpenSSL –i v produktech iPlanet (Sun-Netscape Alliance) –Network Security Services, Java Security Services, Personal Security Manager –PSM i jako jar plug-in pro Netscape 4.7x OpenSSL (Apache licence) –vznikl z SSLeay –zvládne, na co si vzpomenete –široce využívané GNU komunitou

77 Obr. 77 software Oscar/uPKI/JCSI –původně studentský GNU projekt přešel na tvrdou komerci –uPKI - ANSI C, pro přenosná zařízení / JCSI - Java služby Ostatní –RSA –Java integrální součástí,dříve jako options: JCE, JSSE –Microsoft CryptoAPI (součást Windows NT, MSIE) –SSLref

78 Obr. 78 literatura : 2 Menezes, Oorschot, Vanstone: Handbook Of Applied Cryptography, Bruce Schneier’s “Counterpane” Peter Gutmann Frederick Hirsch National Institute of Standards and Technology

79 Obr. 79 literatura : 2 Netscape - iPlanet DevEdge Mozilla.org Microsoft Developer Network Sun RSA Laboratories

80 Obr. 80 literatura : 2 Free On-Line Dictionary Of Computing OpenCA XML Signature Working Group National Security Agency Electronic Frontier Foundation

81 Obr. 81 Dobrou noc! Ed


Stáhnout ppt "Obr. 1 Úvod do PKI (Public Key Infrastructure) Ing., BcA. Ivan Doležal Centrum výpočetní techniky VŠB-TUO Ostravské linuxové semináře, říjen 2001 Public."

Podobné prezentace


Reklamy Google