Hezký den, moc děkuji za vyjasnění. Jen zkusím vysvětlit svoji reakci - totiž vaše první odpověď mě společně s ne docela jasným populárním úvodem (jiným než tim vámi odkazovaným) docela zmátla a chvíli jsem si myslel, že je to zcela nesmyslně naopak - tedy že se použije symetrická šifra pro výměnu asymetrických klíčů. To je samozřejmě nesmysl :-), což mi je teď už díky vám jasné.
S SSL jsem doteď neměl žádné zkušenosti a bohužel krom oficiálních komplexních materiálů je mnoho těch snázeji čitelných a zavádějících. Dalším matoucím faktorem je poněkud zmatený bezpečnostní expert zákazníka ;-) Jsem tedy velmi rád, že jsem to mohl prodiskutovat s někým znalým věci, kdo navíc není zatížen matoucími faktory v mém okolí. mějte se Dne úterý 04 prosinec 2007 14:41 Martin Kuba napsal(a): > Pírko, Jiří Mikulášek napsal(a): > >Díky, > >myslím, že si rozumíme a sám jsem si u zákazníka ověřoval tuto skutečnost > > a jedná se o ten symetrický klíč použitý při handshake. > > Ne, neroumíme, jedná se *asymetrický* klíč použitý pro výměnu symetrického > klíče. Než se pustíte do čtení norských textů, zkuste si přečíst nějaký > populární úvod do SSL, třeba > http://www.ica.cz/home_cs/?acc=teorie_symetricke_a_asymetricke_kryptografie > na konci obrázek 4b zobrazuje princip výměny náhodně vygenerovaného > symetrického klíče pomocí asymetrického klíče. > > Při navazování SSL spojení server zašle svůj certifikát obsahující > asymetrický klíč, klient vygeneruje náhodný symetrický klíč, zašifruje > ho asymetrickým klíčem serveru a pošle ho serveru. Dále je veškerá > komunikace zašifrovaná oním náhodně vygenerovaným symetrickým klíčem. > > Používané asymetrické algoritmy jsou RSA a DSA a jejich klíče mívají > délky 1024 nebo 2048 bitů. > > Používané symetrické algoritmy jsou DES, AES, IDEA, BlowFISH, RC2, RC4, RC5 > a jejich klíče mívají 50 až 256 bitů. > > > Dobrý den, > > protože už z těch různých informací od zákázníků, kolegů a různých popisů > > SSL protokolu začínám být zamotaný, tak jsem ještě hledal trochu víc z dá > > se mi, že tady: > > http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefG > >uide.html#HowSSLWorks v části SSL process, konkrétně: > > The client and server exchange information that allows them to agree > > on the same secret key. For example, with RSA, the client uses the > > server's public key, obtained from the public key certificate, to encrypt > > the secret key information. The client sends the encrypted secret key > > information to the server. Only the server can decrypt this message since > > the server's private key is required for this decryption. > > To je přesně to, co popisuji, akorát že používají výraz 'secret key' > místo symetrický klíč. > > Např. se vygeneruje náhodný AES256 klíč a ten se zašifruje RSA klíčem > získaným z certifikátu serveru. > > > vyvrací vaši myšlenku, respektive jestli to správně chápu, použijí se > > klíče z certifikátu například v RSA pro ustanovení symetrického session > > key, to by i souhlasilo s oním požadavkem. Avšak měl byste pravdu s tím > > že je třeba implementovat vlastní TrustManager > > Moji myšlenku nic nevyvrací :-) Potřebujete zkontrolovat, že > asymetrický klíč ze serverového certifikátu má určitou délku, > a přesně to můj kód dělá. > > Nicméně bych dodal, že požadavek zákazníka ukazuje, že nemá vůbec > tušení, že existují různé algoritmy (DSA a RSA) a v nich jsou stejné > délky klíče různě bezpečné, takže bezpečnost výsledného systému bude > pravděpodobně diskutabilní :-) > > > Makub -- Pírko Bc. Jiří Mikulášek E-mail: [EMAIL PROTECTED] || [EMAIL PROTECTED] Tel: +420 721 571 280 ICQ# 330718616 Skype: pirkojm web: http://pirko.bloguje.cz http://www.fi.muni.cz/~xmikula2
