Secure Sockets Layer: Porovnání verzí

Smazaný obsah Přidaný obsah
Obsah stránky nahrazen textem „ahoj“
m Editace uživatele „195.113.86.69“ vrácena do předchozího stavu, jehož autorem je „89.176.206.219“.
Řádek 1:
{{Internetové protokoly}}
ahoj
'''Secure Sockets Layer''', '''SSL''' (doslova ''vrstva bezpečných [[socket]]ů'') je [[protokol (informatika)|protokol]], resp. vrstva vložená mezi vrstvu transportní (např. [[TCP/IP]]) a aplikační (např. [[Hyper Text Transfer Protocol|HTTP]]), která poskytuje zabezpečení komunikace [[šifrování]]m a [[autentizace|autentizaci]] komunikujících stran.
 
== Využití ==
Protokol SSL se nejčastěji využívá pro bezpečnou komunikaci s internetovými servery pomocí [[HTTPS]], což je zabezpečená verze protokolu [[Hyper Text Transfer Protocol|HTTP]]. Po vytvoření SSL spojení (''session'') je komunikace mezi serverem a klientem šifrovaná a tedy zabezpečená.
 
== Princip ==
Ustavení SSL spojení funguje na principu asymetrické šifry, kdy každá z komunikujících stran má dvojici šifrovacích klíčů - veřejný a soukromý. Veřejný klíč je možné zveřejnit a pokud tímto klíčem kdokoliv zašifruje nějakou zprávu, je zajištěno, že ji bude moci rozšifrovat jen majitel použitého veřejného klíče svým soukromým klíčem.
 
Ustavení SSL spojení (''SSL handshake'', tedy potřásání rukou) pak probíhá následovně:
# Klient pošle serveru požadevek na SSL spojení, spolu s různými doplňujícími informacemi (verze SSL, nastavení šifrování atd.).
# Server pošle klientovi odpověď na jeho požadavek, která obsahuje stejný typ informací a hlavně certifikát serveru.
# Podle přijatého certifikátu si klient ověří autentičnost serveru. Certifikát také obsahuje veřejný klíč serveru.
# Na základě dosud obdržených informací vygeneruje klient základ šifrovacího klíče, kterým se bude šifrovat následná komunikace. Ten zašifruje veřejným klíčem serveru a pošle mu ho.
# Server použije svůj soukromý klíč k rozšifrování základu šifrovacího klíče. Z tohoto základu vygenerují jak server, tak klient hlavní šifrovací klíč.
# Klient a server si navzájem potvrdí, že od teď bude jejich komunikace šifrovaná tímto klíčem. Fáze handshake tímto končí.
# Je ustaveno zabezpečené spojení šifrované vygenerovaným šifrovacím klíčem.
# Aplikace od teď dál komunikují přes šifrované spojení. Například [[Hyper Text Transfer Protocol|POST]] požadavek na server se do této doby neodešle.
 
Během první fáze ustanovení bezpečného spojení si klient a server dohodnou kryptografické algoritmy, které budou použity.
V dnešní implementaci jsou následující volby:
* pro výměnu klíčů: [[RSA]], [[Diffie-Hellman]], [[DSA]] nebo [[Fortezza]];
* pro symetrickou šifru: [[RC2]], [[RC4]], [[IDEA]], [[DES]], [[DES|3DES]] nebo [[Advanced Encryption Standard|AES]];
* pro jednocestné hašovací funkce: [[MD5]] nebo [[Hašovací funkce|SHA]].
 
== Chyby v používání ==
;Důvěra k mnoha CA:V PC je předinstalováno několik CA (Certificate authority - Certifikační autorita). Těmto se při prohlížení stránek https:// automaticky důvěřuje a uživatel si to ani nemusí uvědomit. Chyba je v tom, že v úložišti pro CA může být i nějaká testovací CA. Ta samozřejmě důvěryhodná není!
 
;Podepsaný certifikát je dobrý certifikát:Další častá chyba je, že uživatelé předpokládají, že podepsaný certifikát je správný certifikát. To je samozřejmě špatně, neboť certifikát mohl být podepsán útočníkovou CA. Je důležité kontrolovat, kdo certifikát vydal.
 
;Návrat k TCP:Uživatel má vepsat URL adresu, která má na začátku https://, ale připojení se nezdaří (např. prohlížeč napíše, že vypršela doba na připojení). Uživatel si řekne, že někde nastala chyba (třeba že se překlepl) a vepíše adresu znova bez „s“. Tedy zůstane mu jen http:// a SSL se nepoužije.
 
;Povolení nebezpečných šifer:Existuje několik šifrovacích algoritmů. Některé jsou bezpečné a jiné nikoli. Chyba je v tom, že někde může být povoleno použít již překonané šifrovací algoritmy. Uživatel by si měl tedy zkontrolovat, že používá ty (v současné době) bezpečné.
 
;Považovat SSL za magii:SSL není žádná magie, i když se tak může zdát. Vše se opírá o matematiku a logiku. Matematika v šifrách je složitá, ale běžný uživatel s ní nepřijde do styku. Mělo by ho zajímat jen jaká šifra je silná a jaké CA důvěřuje.Také by měl znát postupy, jimiž se příslušná CA řídí při vydávání certifikátů.
 
== Doplňující informace ==
* Adresy stránek zabezpečených pomocí SSL začínají <nowiki>https://</nowiki> . Prohlížeč také zabezpečené stránky označuje ikonkou zámku ve stavové liště. Moderní prohlížeče zobrazují ikonku zámku rovněž v řádku adresy a podbarvují tuto řádku různými barvami (zelená pro plně vyhovující, žlutá nebo oranžová pro částečně vyhovující (např. vyhovující certifikát, ale vydaný pro jinou doménu), červená pro nevyhovující certifikát).
* Standardní port pro komunikaci přes HTTPS/SSL je 443, standardní port [[Hyper Text Transfer Protocol|HTTP]] je 80.
* HTTPS/SSL dokáže zajistit důvěrnost dat jen na cestě od klienta k serveru (a naopak). Je na provozovateli serveru, jak potom s důvěrnými daty po rozšifrování naloží. Výjimkou není uložení v nešifrované podobě do nechráněné databáze.
 
== Externí odkazy ==
*[http://wp.netscape.com/eng/ssl3/ SSL 3.0 Specification]
*[http://www.pseudonym.org/ssl/ssl_intro.html Introducing SSL and Certificates]
*[http://www.ssl-forum.com/ SSL Security Forum]
 
[[Kategorie:Aplikační protokoly IP]]
 
[[bg:SSL]]
[[en:Transport Layer Security]]
[[ga:SSL]]
[[he:SSL]]
[[it:Secure Sockets Layer]]
[[ja:Secure Socket Layer]]
[[ko:SSL]]
[[lt:SSL]]
[[nl:Secure Sockets Layer]]
[[ru:SSL]]
[[sl:Secure Sockets Layer]]
[[sv:SSL]]
[[tr:Secure Sockets Layer]]
[[uk:SSL]]