Úvod do PKI (Public Key Infrastructure)

Slides:



Advertisements
Podobné prezentace
Praha ročník největší odborné IT konference v ČR! Ondřej Ševeček MCM:Directory | MVP:Security | CEH | sevecek.com Certifikační.
Advertisements

SÍŤOVÉ PROTOKOLY.
jak to funguje ? MUDr.Zdeněk Hřib
Asymetrická kryptografie
SÍŤOVÉ SLUŽBY DNS SYSTÉM
Programování v jazyku C# II.
XML, RDF a Dublin Core Petr Žabička
Základy informatiky Internet Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Správa webserveru Přednáška 4
Analýza síťového provozu
Informatika Internet.
M O R A V S K O S L E Z S K Ý K R A J 1 Zavedení hash algoritmů SHA - 2 V návaznosti na oznámení Ministerstva vnitra o změně v kryptografických algoritmech,
Šifrovaná elektronická pošta Petr Hruška
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
Public Key Infrastructure Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
IBM Software Group © 2006 IBM Corporation Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
INTERNET – struktura, fungování a přehled využití
1 I NTERNETOVÁ INFRASTRUKTURA. H ISTORIE SÍTĚ I NTERNET RAND Corporation – rok 1964 Síť nebude mít žádnou centrální složku Síť bude od začátku navrhována.
CZ.1.07/1.4.00/ VY_32_INOVACE_166_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
2005 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe Řešení pro veřejnou správu Transformace služeb veřejné správy a PDF Inteligentními Dokumenty.
Úvod do klasických a moderních metod šifrování ALG082
Prezentace – X33BMI Petr PROCHÁZKA
Úvod do klasických a moderních metod šifrování Jaro 2008, 9. přednáška.
BEZPEČNÝ Petr Fortelný
1 Elektronický podpis v ČR Bezpečnost IS/IT Jaroslav Malý.
Internetové protokoly Autor: Milan Bílek. Internet Internet je celosvětová systém propojených počítačových sítí. Počítače mezi sebou komunikují pomocí.
Sdílení dat nejen v prostředí Sémantického webu Roman Špánek Výjezdní seminář projektu SemWeb
Šifrovací algoritmy EI4. DES – Data Encryption Standard  Soukromý klíč  56 bitů  Cca 7,2 x klíčů  Rozluštěn v roce 1997.
VPN - Virtual private networks Přednášky z Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.
BIS Elektronický podpis Roman Danel VŠB – TU Ostrava.
Teorie čísel Prvočíslo Eulerova funkce φ(n)
Elektronický podpis Ochrana Dat Jan Renner
ASN.1: Cryptographic files CMS + S/MIME Zdeněk Říha.
Protokol SSL Petr Dvořák. Obsah prezentace  Co je SSL  Popis protokolu  Ukázka  Použití v praxi.
Digital Rights Managment Diplomová práce Petr Švenda MASARYKOVA UNIVERSITA Fakulta Informatiky Brno 06/2004
Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES Horst Feistel Německo, USA IBM.
Hybridní kryptosystémy
Josef Petr Obor vzdělání: M/01 Informační technologie INSPIROMAT PRO TECHNICKÉ OBORY 1. ČÁST – VÝUKOVÉ MATERIÁLY URČENÉ PRO SKUPINU OBORŮ 18 INFORMAČNÍ.
McEllisova šifra. James Ellis( ) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu.
Bezpečnost systémů 2. RSA šifra *1977 Ronald Rivest *1947 Adi Shamir *1952 Leonard Adelman *1945 University of Southern California, Los Angeles Protokol.
Symetrická šifra Šifrovací zobrazení y = φ(x,k) Dešifrovací zobrazení x = ψ(y,k)
Accelerating Your Success TM IBM Tivoli NEWS Petr Klabeneš
ELEKTRONICKÝ PODPIS Jiří Suchomel tel.: Přihlášení na:Tester kraj Heslo:ecibudrap.
Informační bezpečnost VY_32_INOVACE _BEZP_16. SYMETRICKÉ ŠIFRY  Používající stejný šifrovací klíč jak pro zašifrování, tak pro dešifrování.  Výhoda.
Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ ) Bezpečnostní technologie.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
PB 169 Počítačové sítě a operační systémy1 Bezpečnost v informačních technologiích PB 169 Počítačové sítě a operační systémy.
Bezpečnostní technologie I IPSec Josef Kaderka Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg.
Elektronick ý podpis v Lotus Notes Josef Honc, M-COM LAN solution
Informační bezpečnost VY_32_INOVACE _BEZP_17.  obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci osoby v prostředí digitálního světa.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
FTP-SSL FTP-SSL Martin Dušek Martin Fúsek Josef Vlček.
Transportní vrstva v TCP/IP Dvořáčková, Kudelásková, Kozlová.
Symetrická šifra Šifrovací zobrazení y = φ(x,k) Dešifrovací zobrazení x = ψ(y,k)
3. Ochrana dynamických dat
Internet Historie, adresy serverů
Prezentace – X33BMI Petr PROCHÁZKA
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
ASN.1: Cryptographic files CMS + S/MIME
Seminář 11 DHCP + HTTP + IPTABLES
Feistlovy kryptosystémy
Hybridní kryptosystémy
Business intelligence shapes security
Bezpečnost systémů 2.
Web Application Scanning
Application Layer Functionality and Protocols
Elektronický (digitální) podpis
Informatika Internet.
Transkript prezentace:

Ú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íčů

literatura : 1 Ivan Doležal: Experimentální certifikační autorita VŠB-TUO http://www.vsb.cz/ca/ 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

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

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

š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

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í

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

symetrické šifrování Ed klíč klíč zpráva zašifrování šifr. zpráva dešifrování zpráva Alice Bob 1-2-3 přičti klíč! 9-10-11 odečti klíč! 1-2-3 8 8 message - zpráva / encryption - zašifrování

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

symetrické šifrování 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 28147 RC4 3DES IDEA CAST-128 BLOWFISH (1994, standard v OpenBSD) Rijndael => AES RC4 40bitové je snadno rozlomitelné, 128bitové je dnešní standard. blowfish - “puffer” - jedovatá ryba z rodu Tetraodontidae

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

symetrické šifrování : rychlost rozlomení (leden 2001) 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 brutal force - hrubá síla; trillion - bilión

asymetrické šifrování UK: Coxova rovnice (1960’s) USA: Diffie, Hellman (1976) RSA (1977) *1982 - 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 186-1 ECC ECDSA Jim Bidzos (45) vnutil RSA alg. do Netscape; dnes řídí spendcash.com

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 · q n = 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 1 5 · d / 12 = x, zbytek 1 tj. (e · d) mod  = 1 např. d = 17 při x = 7 Veřejný klíč: e = 5, modulus n = 21 / Soukromý klíč: d = 17 .

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 = Me mod n C = 25 mod 21 = = 32 mod 21 = 11 M = Cd mod n M = 1117 mod 21 = = 505447028499293771 mod 21 = 2 Veřejný klíč: e = 5, modulus n = 21 / Soukromý klíč: d = 17 .

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

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

jednosměrná funkce - hash 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 hash - sekaná, patlanina, páté přes deváté, hašiš; zpackat, rozsekat

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

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

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

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

Jak zabránit tamperingu? X.509 certifikát doporučení ITU X.509 (1988 - 1999), 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

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

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

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

certifikační autorita X.509 certifikát : 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 certifikační autorita registrační autorita koncový uživatel CMS je nástupce PKCS#7 Oba protokoly mají stejný smysl, ale ten druhý asi zvítězí. registration authority - registrační autorita

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

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

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

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

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

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

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

X.509 certifikát : odvolání certifikátu 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 revocation - odvolání, zrušení, stornování

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

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ř. http://www.alvestrand.no/objectid/ PEM, DER - “skupenství” certifikátu (DER je podmnožina BER) PEM - Privacy Enhaned Mail / DER - Distinguished Encoding Rules

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

X.509 certifikát : formát DER souboru 0‚ˇ0‚  0  *†H†÷  0Ť1 0 UCZ10UNorthern Moravia10UOstrava1 0UVSB10U Computer Center10 UCA VSB10 *†H†÷   ca@vsb.cz0 000816102332Z 030513102332Z0Ť1 0 UCZ10UNorthern Moravia10UOstrava1 0UVSB10U Computer Center10   ca@vsb.cz0ź0  Ť 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

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

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 VSB/Email=ca@vsb.cz Validity Not Before: Aug 16 13:15:29 2000 GMT Not After : May 13 10:23:32 2003 GMT Subject: C=CZ, ST=Northern Moravia, L=Ostrava, O=VSB, OU=Computer Center, CN=Ivan Dolezal/Email=ivan.dolezal@vsb.cz 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: 65537 (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 VSB/Email=ca@vsb.cz serial:00 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 VSB/Email=ca@vsb.cz Validity Not Before: Aug 16 13:15:29 2000 GMT Not After : May 13 10:23:32 2003 GMT Subject: C=CZ, ST=Northern Moravia, L=Ostrava, O=VSB, OU=Computer Center, CN=Ivan Dolezal/Email=ivan.dolezal@vsb.cz 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: 65537 (0x10001) atd...

X.509 certifikát : struktura : Distinguished Name a další Common Name{2.5.4.3}=Ivan Doležal Country {2.5.4.6}=Czech Republic Organization {2.5.4.10}=Vysoká škola báňská Organizational Unit {2.5.4.11}=Centrum výpočetní techniky Nikdy se nepodařilo zaručit jednoznačnost, dokonce ani ujednotit názvosloví Email=ivan.dolezal@vsb.cz SubjectAltName= … Serial Number= OBJECT IDENTIFIER subjectAltName (2 5 29 17) OCTET STRING, encapsulates { SEQUENCE { { OBJECT IDENTIFIER mpeg-1 (1 3 6 1 4 1 3029 42 11172 1) OCTET STRING 00 00 01 B3 16 01 20 83 02 AE 60 A4 00 00 01 B8 E4 C4 87 11 EA EF 22 05 00 27 0E 49 1B DF 67 28 … a dalších 1.220.786 bajtů … } distinguish - rozeznat, odlišit, odlišovat, charakterizovat

X.509 certifikát : Distinguished Name a distribuce certifikátu LDAP - toto jsem si odzkoušel přes Netscape

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

X.509 certifikát : struktura : profily 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í. distinguish - rozeznat, odlišit, odlišovat, charakterizovat

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 e-mail, 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 CRMF = Certificate Request Message Format

X.509 certifikát : extensions 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 extension - rozšíření

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-email-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í

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

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

X.509 a elektronická pošta - S/MIME From: <ivan.dolezal@vsb.cz> To: <ivan.dolezal@vsb.cz> Subject: Katastrofalni ztraty ve tretim kvartale Date: Tue, 23 Oct 2001 09:52:08 +0200 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==

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 PCT se nesnaží zvlášť prosazovat ani firma Microsoft SSL v1 - bylo zlomeno publikem během první předváděčky firmy Netscape

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

X.509 a přenosy - SSL/TLS : Handshake Protocol 1 klient ClientHello: verze SSL/TLS informace o možnostech klientova šifrování náhodná data “client-nonce” server SeverHello: verze SSL/TLS informace o volbě šifrovací metody náhodná data “server-nonce” certifikát serveru Handshake protocol: Zpráva ClientHello obsahuje nevyplněné identifikační číslo relace. To přidělí server ve zprávě ServerHello. Zprávy obsahují náhodná čísla Client nonce a Servernonce, vstupující do procesu výpočtu sdíleného tajemství. Dále klient nabídne podporované kryptografické algoritmy a server si z nich vybere. Server pošle svůj certifikát, případně řetězec certifikátů až ke kořenu. Server také může poslat požadavek na klientův certifikát . nonce - projednou, protentokrát, pro teď, příležitostně

ClientHello, ServerHello X.509 a přenosy - SSL/TLS : Handshake Protocol 2 klient ClientHello, ServerHello server 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í Pokud byl vznesen požadavek na certifikát, klient odpoví. Klient pak odešle další náhodná data, tentokrát zašifrovaná veřejným klíčem certifikátu. Pokud by byla činnost serveru counterfait, nemohl by podvodník získat další kus dat. Oba - server i klient - pak vypočítají hash ze všech tří dat a zahají symetricky šifrovaný přenos.

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

X.509 a přenosy - obecné protokoly a SSL IANA porty POP3 (110) -> POP3S (995) IMAP (143) -> IMAPS (993) … běžný démon (např. imapd) nad ním SSL wrapper (sslwrap) 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 wrap - obalit, zabalit, obtočit, zahalit

X.509 a šifrovaný autentifikovaný přenos - SSL a Apache #!/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 e-mailova adresa: $SSL_CLIENT_S_DN_Email" echo "Vase cela identita: $SSL_CLIENT_S_DN" echo "Podepsala vas autorita: $SSL_CLIENT_I_DN" echo "APACHE-SSL ======================================================" echo "Prave sifrujeme na $HTTPS_KEYSIZE bitu algoritmem $SSL_CIPHER." echo "Vase jmeno: $SSL_CLIENT_CN" echo "Vase e-mailova adresa: $SSL_CLIENT_EMAIL" echo "Vase cela identita: $SSL_CLIENT_DN" 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 <Directory " /cesta/cgi-bin"> SSLOptions +StdEnvVars </Directory>

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

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

X.509 a podepisování - XML dokumenty W3C Proposed Recommendation XML-Signature Syntax and Processing z 20. srpna 2001, na http://www.w3.org/ 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

X.509 a podepisování - Microsoft Authenticode

X.509 a podepisování Java Netscape Object Signing 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

X.509 a podepisování - Netscape Form Signing (nefunguje v MSIE) <script LANGUAGE="javascript1.2"> function signForm(theForm, theWindow, validation) { var formSize = theForm.elements.length; var signedText = theWindow.crypto.signText (theForm.prohlaseni.value, "ask"); validation.value = signedText; return true; } </SCRIPT> <form ACTION="signform2.php" METHOD="get" ONSUBMIT="return signForm(this, window, this.validation);"> <textarea NAME="prohlaseni"> </textarea> <input TYPE="hidden" NAME="validation"> <input TYPE="submit"> </form> http://decsys.vsb.cz/~dol72/signform2.php?prohlaseni=ZABIL+JSEM+SEKALA.&validation=%0AhTgu…PKCS#7 data

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

X.509 a IP protokol - IPsec Režimy: Protokoly: 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

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.

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

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 2050. 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”

X.509v3 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. 1996 vydal Verisign certifikát pro adresu root@localhost (DigiCrime) Bud, if dynamite was dangerous, do you think they’d sell it to an idiot like me? Al Bundy, “Married With Children”

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.

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. http://www.wired.com/news/privacy/0,1848,47551,00.html

Vytvoření požadavku na certifikát - Netscape <FORM NAME="CertReqForm" ACTION="zadost2.php3"> <INPUT NAME="CommonName"> …a další DN položky... <KEYGEN NAME="SPKAC" CHALLENGE="challengePassword"> <INPUT TYPE="submit" NAME="SUBMIT" value="Send The Request"> </FORM>

Vytvoření požadavku na certifikát - MSIE CryptoAPI Objekt „Certificate Enrollment Control” <OBJECT CLASSID="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1" CODEBASE="xenroll.dll" ID="Enroll"> VBScript szName = "C=" & TheForm.countryName.value ... Enroll.KeySpec = 1 Enroll.GenKeyFlags = 3 sz10 = Enroll.CreatePKCS10(szName,"1.3.6.1.5.5.7.3.2")

http://ca.czweb.org/ 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 e-mailu, 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) 699-3479 .

software Mozilla Open Source PKI Services http://www.mozilla.org/ (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 http://www.openssl.org/ (Apache licence) vznikl z SSLeay zvládne, na co si vzpomenete široce využívané GNU komunitou (Dr. Stephen Henson)

software Oscar/uPKI/JCSI http://oscar.dstc.qut.edu.au/ Ostatní 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 1.4 - integrální součástí,dříve jako options: JCE, JSSE Microsoft CryptoAPI (součást Windows NT, MSIE) SSLref Java Cyptography Extension, Java Secure Socket Extension

literatura : 2 Menezes, Oorschot, Vanstone: Handbook Of Applied Cryptography, 1996 http://www.cacr.math.uwaterloo.edu/hac/ Bruce Schneier’s “Counterpane” http://www.counterpane.com/ Peter Gutmann http://www.cs.auckland.ac.nz/~pgut001/ Frederick Hirsch http://www.ultranet.com/~fhirsch/ National Institute of Standards and Technology http://www.nist.gov/

literatura : 2 Netscape - iPlanet DevEdge http://devedge.netscape.com/ Mozilla.org http://www.mozilla.org/ Microsoft Developer Network http://msdn.microsoft.com/ Sun http://java.sun.com/ RSA Laboratories http://www.rsalabs.com/

literatura : 2 Free On-Line Dictionary Of Computing http://www.foldoc.org/ OpenCA http://www.openca.org/ XML Signature Working Group http://www.w3.org/Signature/ National Security Agency http://www.nsa.gov/ Electronic Frontier Foundation http://www.eff.org/ http://pauillac.inria.fr/~doligez/ssl/sources.html

Dobrou noc! Ed