Jste zde

HTTPS v jednotkách Poseidon2

Pod zkratkou HTTPS (Hypertext Transfer Protocol Secure) se skrývá zabezpečená, či chcete-li šifrovaná podoba komunikačního protokolu HTTP, který se používá k zobrazení WWW stránek. Běžný uživatel se s ním setká vždy při placení přes internet, používání elektronického bankovnictví a dalších operacích, při kterých je důležité zachování soukromí. 

Jak to celé pracuje

Protokol HTTPS je ve své podstatě standardní protokol http, pouze komunikace a autorizace je zabalena do protokolu SSL (Secure Sockets Layer) nebo TLS (Transport Layer Security – novější podoba SSL).

Základem komunikace jsou certifikáty. Těch je řada typů lišících se použitím, způsobem šifrování, délkou klíče apod. Z uživatelského hlediska se navíc dělí na zákaznické a zprostředkující.

Zákaznické certifikáty vystavují takzvané certifikační autority (CA) a ty rovněž vystavují své vlastní certifikáty – zprostředkující - prokazující jejich totožnost (též zvaný certifikát certifikační autority či intermediate). Zprostředkující certifikát si instaluje klient do svého prohlížeče a během komunikace se jím prokazuje důvěryhodnost zákaznického certifikátu protistrany. Má-li být spojení považované za důvěryhodné, musí být na klientské straně nainstalovaný zprostředkující certifikát (CA), která vystavila zákaznický certifikát protistrany. Navíc musí být nainstalovaný jako důvěryhodný.

Jinak řečeno, důvěryhodné certifikační autority jsou takové, jejichž certifikát je nainstalovaný v sekci „Důvěryhodné certifikační autority“. V rámci instalace Windows jsou již některé certifikáty důvěryhodných CA nainstalovány (Thawte, Symantec (VeriSign), GeoTrust, DigiCert a další).

Zákaznický certifikát se skládá z veřejného a privátního klíče

Nejprve si obě strany, tedy klient (uživatel)  a server (webová stránka) vymění své veřejné klíče, které potvrdí jejich identitu. Aby se tak mohlo stát, musí mít klientská strana uložen kořenový certifikát certifikační autority, která veřejný klíč vystavila.  Klientská strana nyní ze získaných údajů připraví základ šifrovacího klíče a odešle jej serveru. Tem právu dešifruje svým privátním klíčem a obě strany si dopočítají výsledný šifrovací klíč.  Jakmile si ho potvrdí, je ustaveno zabezpečené spojení pomocí šifrovacího klíče.

Instalace certifikátů do jednotek Poseidon

Otevřete si WWW rozhraní jednotky Poseidon na záložce Security:

Nahrajte do jednotky Poseidon veřejný klíč (SSLCertificateFile) a soukromý klíč (SSLCertificateKeyFile). Po nahrátí stisknu Apply Changes:

 

Zkontroluj, že State certifikátu a klíče je Valid.

Zkus načíst web Poseidonu přes HTTPS:

Jak vygenerovat certifikáty

Pro generování certifikátů podepsaných sama sebou (self-signed) nejlépe poslouží OpenSSL, což je open source implementace protokolů SSL a TLS. Stáhnout ho lze ze stránek https://www.openssl.org/

Po stažení a instalaci se celý program  ovládá z příkazové řádky:

Veřejný i privátní klíč se vygeneruje příkazem:

openssl req -new -x509 -days 3650 -nodes -newkey rsa:2048 -keyout C:\cert\server-key.key -out C:\
cert\server-cert.crt

Kde příkaz days určuje délku platnosti certifikátu a cesty jeho uložení (keyout pro soukromý klíč a out pro veřejný).

C:\OpenSSL-Win32\bin>openssl req -new -x509 -days 3650 -nodes -newkey rsa:2048 -keyout C:\cert\
server-key.key -out C:\cert\server-cert.crt
Generating a 2048 bit RSA private key
..........................+++
.......................................+++
writing new private key to 'C:\cert\server-key.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CZ
State or Province Name (full name) [Some-State]:Czech Republic
Locality Name (eg, city) []:Prague
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HW group
Organizational Unit Name (eg, section) []:Support
Common Name (e.g. server FQDN or YOUR name) []:poseidon-test.hwg.cz
Email Address []:support@hwg.cz

C:\OpenSSL-Win32\bin>

Při provádění příkazu budeme požádáni o zadání doplňujících informací, jména, organizace, adresy, emailu a také jména (CN). To je nejdůležitější pole, zde se vyplní jméno serveru, pro který má být certifikát vystaven, například www.poseidon.cz.

Tímto jsme vytvořili certifikát podepsaný sám sebou. Když jej použijeme například pro WWW server, bude browser upozorňovat, že je certifikát nedůvěryhodný, protože v klientském PC není nainstalován certifikát zprostředkující CA. Internetové prohlížeče však umožňují zobrazit stránky i tak.

Zobrazení WWW stránky se self signed certifikátem

Nechceme-li již být obtěžováni upozorněním na nedůvěryhodnost certifikátu je třeba do PC nainstalovat zprostředkující certifikát certifikační autority, nebo přidat certifikát zařízení do PC jako Důvěryhodnou kořenovou certifikační autoritu. K tomu poslouží Internet Explorer

Nejprve uvedeme web jako důvěryhodný. Otevřete si stránku zařízení přes HTTPS, odklikněte otevření stránky. Poté otevřete v menu prohlížeče Možnosti Internetu, na záložce Zabezpečení se přepněte na Důvěryhodné weby a tlačítkem Weby přidejte adresu do seznamu důvěryhodných.

Nyní klikneme v adresním řádku na upozornění na chybu certifikátu, dáme si zobrazit certifikát a nainstalovat ho:

Po spuštění je třeba ukládat certifikát do konkrétní složky. V našem případě jako důvěryhodné kořenové certifikační autority:

Po dokončení instalace se nám zobrazí otisk klíče.

Hodnocení článku: