Elektronická pošta
 (body)  | 
		m (formátování)  | 
		||
| (Není zobrazeno 25 mezilehlých verzí od 3 uživatelů.) | |||
| Řádka 20: | Řádka 20: | ||
== Historický základ - Standardy ==  | == Historický základ - Standardy ==  | ||
Původní zadání pro koncepci elektronické komunikace znělo asi takto: '''Budou se přenášet co nejefektivněji krátké, čistě textové zprávy.'''  | Původní zadání pro koncepci elektronické komunikace znělo asi takto: '''Budou se přenášet co nejefektivněji krátké, čistě textové zprávy.'''  | ||
| − | Od toho se odvíjí veškeré protokoly a techniky pro přenos, protože dnes se   | + | Od toho se odvíjí veškeré protokoly a techniky pro přenos, protože dnes se do tohoto zadání nevejdeme → velké zprávy, nestandardní znakové sady, přílohy...  | 
Koncepce elektronické pošty je dodnes založena na dvou dokumentech:  | Koncepce elektronické pošty je dodnes založena na dvou dokumentech:  | ||
| Řádka 34: | Řádka 34: | ||
** Předpokládá, že '''přenášená data jsou sedmibitová'''  | ** Předpokládá, že '''přenášená data jsou sedmibitová'''  | ||
*** Zpráva může obsahovat 128 ASCII znaků (základní sada ASCII)  | *** Zpráva může obsahovat 128 ASCII znaků (základní sada ASCII)  | ||
| − | *** Každý znak je zobrazitelný v sedmi bitech ( 2   | + | *** Každý znak je zobrazitelný v sedmi bitech ( 2<sup>7</sup>  = 128)  | 
*** Při přenosu osmibitových zpráv není zaručen správný přenos  | *** Při přenosu osmibitových zpráv není zaručen správný přenos  | ||
| Řádka 49: | Řádka 49: | ||
** Return Path: zpáteční cesta k odesílateli  | ** Return Path: zpáteční cesta k odesílateli  | ||
** Received: záznamy přidané během zpracování  | ** Received: záznamy přidané během zpracování  | ||
| − | **   | + | ** Reply to: adresa pro zaslání odpovědi  | 
** Sender: adresa skutečného odesílatele pokud je jiná než From: nebo je ve From: více adres.  | ** Sender: adresa skutečného odesílatele pokud je jiná než From: nebo je ve From: více adres.  | ||
** Message ID: identifikace zprávy  | ** Message ID: identifikace zprávy  | ||
** Resent-klic: při přeposílání se klíče původních hlaviček uvodí Resent-  | ** Resent-klic: při přeposílání se klíče původních hlaviček uvodí Resent-  | ||
** X-neco: doplňující hlavička (např. X-priority: 3)  | ** X-neco: doplňující hlavička (např. X-priority: 3)  | ||
| − | ** Mime-version:   | + | ** Mime-version: použitá verze MIME. viz dále  | 
* Říká, co smí a nesmí být v '''těle zprávy'''  | * Říká, co smí a nesmí být v '''těle zprávy'''  | ||
* Definuje přesný '''formát adres''', které lze používat pro potřeby elektronické pošty  | * Definuje přesný '''formát adres''', které lze používat pro potřeby elektronické pošty  | ||
| − | ** frantisek@vysmrkmaslo.cz  | + | ** <code>frantisek@vysmrkmaslo.cz</code>  | 
| + | |||
== Postup při komunikaci ==  | == Postup při komunikaci ==  | ||
[[Soubor:Mail2.gif|thumb]]  | [[Soubor:Mail2.gif|thumb]]  | ||
| − | * Uživatel spustí klientský program('''Microsoft Outlook''', '''Mozilla Thunderbird''',   | + | * Uživatel spustí klientský program ('''Microsoft Outlook''', '''Mozilla Thunderbird''',...) a napíše zprávu  | 
* Zpráva je upravena tak, aby vyhovovala standardu RFC822 a pokud zpráva obsahuje nepovolené znaky (diakritika) nebo přílohy, je na ni aplikován standard '''MIME'''.  | * Zpráva je upravena tak, aby vyhovovala standardu RFC822 a pokud zpráva obsahuje nepovolené znaky (diakritika) nebo přílohy, je na ni aplikován standard '''MIME'''.  | ||
* Poté je zpráva předána serveru pro odchozí poštu pomocí protokolu SMTP. Klientský program zde vystupuje jako SMTP klient.  | * Poté je zpráva předána serveru pro odchozí poštu pomocí protokolu SMTP. Klientský program zde vystupuje jako SMTP klient.  | ||
** Jako poštovní servery se používají např.: '''Sendmail, Postfix'''  | ** Jako poštovní servery se používají např.: '''Sendmail, Postfix'''  | ||
| − | * Zpráva je na serveru zařazena do fronty zpráv. Server se je postupně pokouší odeslat: (pokud se nezdaří, zpráva   | + | * Zpráva je na serveru zařazena do fronty zpráv. Server se je postupně pokouší odeslat: (pokud se nezdaří, zpráva jde zpátky do fronty, v případě vypršení limitu je zpráva označena jako nedoručitelná...)  | 
** Nejprve se podívá na část adresy vpravo od zavináče (seznam.cz)  | ** Nejprve se podívá na část adresy vpravo od zavináče (seznam.cz)  | ||
** Snaží se ptát systému DNS kam má být doručena pošta pro "seznam.cz"  | ** Snaží se ptát systému DNS kam má být doručena pošta pro "seznam.cz"  | ||
** Odpověď mu může dát pouze cílový name server (seznam.cz), (cesta k němu může vést postupně nejdřív přes name server pro CZ doménu)  | ** Odpověď mu může dát pouze cílový name server (seznam.cz), (cesta k němu může vést postupně nejdřív přes name server pro CZ doménu)  | ||
** V name serveru Seznam.cz bude tzv. '''MX''' záznam (Mail Exchange), který nám řekne, kam tuto zprávu doručit  | ** V name serveru Seznam.cz bude tzv. '''MX''' záznam (Mail Exchange), který nám řekne, kam tuto zprávu doručit  | ||
| + | *** může existovat druhý MX záznam, který určuje adresu záložního serveru příjemce - tento server je použit v případě, kdy je primární server nedostupný  | ||
** Odesílací server tedy naváže spojení se serverem příjemce a zprávu mu pošle pomocí SMTP protokolu (server odesílatele je zde jako SMTP klient)  | ** Odesílací server tedy naváže spojení se serverem příjemce a zprávu mu pošle pomocí SMTP protokolu (server odesílatele je zde jako SMTP klient)  | ||
* Podle části adresy vlevo od zavináče uloží server příjemce zprávu k příslušnému uživateli  | * Podle části adresy vlevo od zavináče uloží server příjemce zprávu k příslušnému uživateli  | ||
| − | * Příjemce si poté zprávu vyzvedne pomocí svého klientského programu  | + | * Příjemce si poté zprávu vyzvedne pomocí svého e-mailového klienta (klientského programu).  | 
| + | * E-mailový klient stahuje zprávy ze serveru pomocí protokolu '''POP3''', nebo '''IMAP'''.  | ||
| + | |||
| + | [[Soubor:Mail1.gif|center]]  | ||
| + | |||
| + | === Problémy e-mailu ===  | ||
| + | Mezi hlavní problém e-mailové komunikace patří především nevyžádaná pošta - '''SPAM'''. Jako obrana před SPAMem se nasazuje na cestě od serveru příjemce do e-mailového klienta příjemce tzv. antispamová ochrana. Jedním ze zástupců takové antispamové ochrany je např. SPAM Assassin.  | ||
| − | |||
== Protokoly pro stahování zpráv ==  | == Protokoly pro stahování zpráv ==  | ||
| Řádka 82: | Řádka 89: | ||
* '''IMAP4'''  | * '''IMAP4'''  | ||
** Emaily zůstávají na serveru, pouze se stáhnou, když si je chceme prohlédnout  | ** Emaily zůstávají na serveru, pouze se stáhnou, když si je chceme prohlédnout  | ||
| + | |||
== MIME ==  | == MIME ==  | ||
| + | [[Soubor:Zprava.gif|thumb]]  | ||
* Multipurpose Internet Mail Extension  | * Multipurpose Internet Mail Extension  | ||
| − | * Umožňuje posílat   | + | * Umožňuje posílat nestandardní ASCII znaky (8-bitové - s ASCII kódem 128-255) a umožňuje posílat přílohy  | 
| − | * Pomocí MIME se   | + | * Pomocí MIME se 8-bitové znaky překódují do 7-bitového vyjádření, aby šli odeslat přes SMTP  | 
| − | * MIME   | + | * MIME je především záležitostí e-mailových klientů - ti mají za úkol zprávu používající MIME při odeslání zakódovat, při přijetí dekódovat  | 
| + | * Ukázka zprávy, na kterou bylo použito MIME → viz. obrázek →  | ||
| + | * Metody pro překódování nestandardních znaků do 7-bit. vyjádření:  | ||
** '''Quated Printable'''  | ** '''Quated Printable'''  | ||
*** použití tam, kde se text příliš neliší od čistého ASCII textu  | *** použití tam, kde se text příliš neliší od čistého ASCII textu  | ||
| − | *** převod nestandardních znaků na základní ASCII znaky  | + | *** převod nestandardních znaků na základní ASCII znaky v 7-bitovém vyjádření  | 
| − | *** např.: Č → "=C8"  | + | *** např.: Č → "=C8" (kód znaku v šestnáctkové soustavě)  | 
*** zakódovaný text je stále pro člověka čitelný (při malém výskytu cizích znaků)  | *** zakódovaný text je stále pro člověka čitelný (při malém výskytu cizích znaků)  | ||
** '''Base64'''  | ** '''Base64'''  | ||
| Řádka 99: | Řádka 110: | ||
*** pro člověka zcela nesrozumitelný text  | *** pro člověka zcela nesrozumitelný text  | ||
*** text se rozdělí na bity a ty se pak po šesti useknou a vytvoří standardní ASCII znak → viz. obrázek  | *** text se rozdělí na bity a ty se pak po šesti useknou a vytvoří standardní ASCII znak → viz. obrázek  | ||
| − | [[Soubor:Mail3.gif]]  | + | [[Soubor:Mail3.gif|center|framed|Princip fungování Base64]]  | 
| − | + | ||
== Zabezpečení zprávy ==  | == Zabezpečení zprávy ==  | ||
Pro zabezpečení elektronických zpráv se využívá šifrování pomocí klíčů, které zajistí, že zprávu přečtou jen povolané osoby, a digitální podpisy pro ověření identity odesílatele.  | Pro zabezpečení elektronických zpráv se využívá šifrování pomocí klíčů, které zajistí, že zprávu přečtou jen povolané osoby, a digitální podpisy pro ověření identity odesílatele.  | ||
| − | |||
'''Šifrování'''  | '''Šifrování'''  | ||
| Řádka 112: | Řádka 121: | ||
** '''Symetrické šifrování'''  | ** '''Symetrické šifrování'''  | ||
*** použití jednoho (privátního) klíče  | *** použití jednoho (privátního) klíče  | ||
| − | *** privátním klíčem se šifruje i   | + | *** privátním klíčem se šifruje i dešifruje  | 
| − | *** rychlejší, ale nemožnost předání klíče  | + | *** rychlejší, ale nemožnost bezpečného předání klíče  | 
*** Přehled šifrovacích algoritmů:  | *** Přehled šifrovacích algoritmů:  | ||
**** DES  | **** DES  | ||
***** klíč o 56 bitech  | ***** klíč o 56 bitech  | ||
| − | *****   | + | ***** používá se i víckrát za sebou (Double DES, Triple DES...)  | 
**** RC  | **** RC  | ||
**** IDEA  | **** IDEA  | ||
** '''Asymetrické šifrování'''  | ** '''Asymetrické šifrování'''  | ||
*** používá dva klíče - veřejný a privátní  | *** používá dva klíče - veřejný a privátní  | ||
| − | ***   | + | *** předává se jen veřejný klíč, kterým druhá strana zprávu zašifruje a příjemce ho pak svým privátním klíčem dešifruje  | 
| − | *** šifruje se veřejným klíčem, přečíst zprávu   | + | *** šifruje se veřejným klíčem příjemce, přečíst zprávu jde jen pomocí příjemcova privátního klíče  | 
*** algoritmus RSA - klíč s libovolnou délkou, používá se i jako základ pro digitální podpisy  | *** algoritmus RSA - klíč s libovolnou délkou, používá se i jako základ pro digitální podpisy  | ||
| + | |||
| + | |||
| + | * díky svým vlastnostem se v případě el. pošty spíše používá '''asymetrické''' šifrování, protože je výhodnější  | ||
| Řádka 130: | Řádka 142: | ||
* HASH = otisk  | * HASH = otisk  | ||
* díky HASHi máme jistotu, že zpráva nebyla změněna  | * díky HASHi máme jistotu, že zpráva nebyla změněna  | ||
| − | * HASH je obsažen v   | + | * HASH je obsažen v digitálním podpisu, který je zašifrován privátním (podpisovým klíčem)  | 
| − | * V   | + | * V podpisu je Veřejný klíč odesílatele, zašifrovaný HASH a adresa odesílatele  | 
** Obsahuje také podpis certifikační autority  | ** Obsahuje také podpis certifikační autority  | ||
** Celý certifikát obsahuje jak privátní tak veřejný klíč, ale posílá se pouze veřejná část !  | ** Celý certifikát obsahuje jak privátní tak veřejný klíč, ale posílá se pouze veřejná část !  | ||
Aktuální verze z 1. 5. 2012, 15:15
- schéma funkce distribuce zprávy elektronického emailu (včetně role DNS)
 - serverový a klientský software
 - formát zprávy podle standardu RFC822
 - protokoly pro práci s poštou
 - MIME
 - zabezpečení zprávy elektronického mailu
 
Elektronická pošta je forma datové komunikace po internetu, označována také jako e-mail nebo SMTP pošta (podle používaného protokolu zajišťující přenos), která není vlastněna žádnou osobou nebo firmou → vychází z plně otevřených standardů (není proprietární).
Elektronická pošta je:
- rychlá (čas doručení v minutách a sekundách, i když může být ovlivněno stavem serveru...)
 - levná (záleží na způsobu připojení, používaném softwaru...)
 - pohodlná (možnost automatizace některých úkolů - třídění apod. (záleží na softwaru...))
 - efektivní (snadná propojitelnost s ostatními aplikacemi, hromadné odesílání zpráv...)
 - funguje "off-line" (nevyžaduje současné připojení odesílatele a příjemce)
 
Obsah | 
Historický základ - Standardy
Původní zadání pro koncepci elektronické komunikace znělo asi takto: Budou se přenášet co nejefektivněji krátké, čistě textové zprávy. Od toho se odvíjí veškeré protokoly a techniky pro přenos, protože dnes se do tohoto zadání nevejdeme → velké zprávy, nestandardní znakové sady, přílohy...
Koncepce elektronické pošty je dodnes založena na dvou dokumentech:
- RFC821 - definuje přenosový protokol SMTP
 - RFC822 - definuje formát zpráv
 
RFC821 - Přenosový protokol SMTP
Tento dokument definuje přenosový protokol SMTP:
-  Přenosový protokol SMTP (Simple Mail Transfer Protocol)
- Podle tohoto protokolu spolu komunikují jednotlivé poštovní servery (jednotky MTA - Message Transfer Agents), když si mezi sebou předávají jednotlivé zprávy.
 - Spojení probíhá na smluveném portu 25
 -  Předpokládá, že přenášená data jsou sedmibitová
- Zpráva může obsahovat 128 ASCII znaků (základní sada ASCII)
 - Každý znak je zobrazitelný v sedmi bitech ( 27 = 128)
 - Při přenosu osmibitových zpráv není zaručen správný přenos
 
 
 
RFC822 - Definice zpráv
Tento dokument definuje formát zpráv přenášených přes SMTP. Říká že:
- Zpráva se skládá z hlavičky a těla
 -  Definuje typ a přesný tvar (syntaxi i sémantiku) jednotlivých položek v hlavičce:
- From: adresy odesilatelů
 - To: adresáti
 - Cc: adresy na které se dopis odešle i když nejsou hlavními adresáty
 - Bcc: tajné kopie. Jako cc, ale adresy se vymažou z ostatních mailů
 - Subject: předmět
 - Return Path: zpáteční cesta k odesílateli
 - Received: záznamy přidané během zpracování
 - Reply to: adresa pro zaslání odpovědi
 - Sender: adresa skutečného odesílatele pokud je jiná než From: nebo je ve From: více adres.
 - Message ID: identifikace zprávy
 - Resent-klic: při přeposílání se klíče původních hlaviček uvodí Resent-
 - X-neco: doplňující hlavička (např. X-priority: 3)
 - Mime-version: použitá verze MIME. viz dále
 
 - Říká, co smí a nesmí být v těle zprávy
 -  Definuje přesný formát adres, které lze používat pro potřeby elektronické pošty
-  
frantisek@vysmrkmaslo.cz 
 -  
 
Postup při komunikaci
- Uživatel spustí klientský program (Microsoft Outlook, Mozilla Thunderbird,...) a napíše zprávu
 - Zpráva je upravena tak, aby vyhovovala standardu RFC822 a pokud zpráva obsahuje nepovolené znaky (diakritika) nebo přílohy, je na ni aplikován standard MIME.
 -  Poté je zpráva předána serveru pro odchozí poštu pomocí protokolu SMTP. Klientský program zde vystupuje jako SMTP klient.
- Jako poštovní servery se používají např.: Sendmail, Postfix
 
 -  Zpráva je na serveru zařazena do fronty zpráv. Server se je postupně pokouší odeslat: (pokud se nezdaří, zpráva jde zpátky do fronty, v případě vypršení limitu je zpráva označena jako nedoručitelná...)
- Nejprve se podívá na část adresy vpravo od zavináče (seznam.cz)
 - Snaží se ptát systému DNS kam má být doručena pošta pro "seznam.cz"
 - Odpověď mu může dát pouze cílový name server (seznam.cz), (cesta k němu může vést postupně nejdřív přes name server pro CZ doménu)
 -  V name serveru Seznam.cz bude tzv. MX záznam (Mail Exchange), který nám řekne, kam tuto zprávu doručit
- může existovat druhý MX záznam, který určuje adresu záložního serveru příjemce - tento server je použit v případě, kdy je primární server nedostupný
 
 - Odesílací server tedy naváže spojení se serverem příjemce a zprávu mu pošle pomocí SMTP protokolu (server odesílatele je zde jako SMTP klient)
 
 - Podle části adresy vlevo od zavináče uloží server příjemce zprávu k příslušnému uživateli
 - Příjemce si poté zprávu vyzvedne pomocí svého e-mailového klienta (klientského programu).
 - E-mailový klient stahuje zprávy ze serveru pomocí protokolu POP3, nebo IMAP.
 
Problémy e-mailu
Mezi hlavní problém e-mailové komunikace patří především nevyžádaná pošta - SPAM. Jako obrana před SPAMem se nasazuje na cestě od serveru příjemce do e-mailového klienta příjemce tzv. antispamová ochrana. Jedním ze zástupců takové antispamové ochrany je např. SPAM Assassin.
Protokoly pro stahování zpráv
Pro stahování příchozích zpráv z poštovního serveru se používají dva protokoly:
-  POP3
- Dávkově se stahuje pošta do PC, nezůstává na serveru
 
 -  IMAP4
- Emaily zůstávají na serveru, pouze se stáhnou, když si je chceme prohlédnout
 
 
MIME
- Multipurpose Internet Mail Extension
 - Umožňuje posílat nestandardní ASCII znaky (8-bitové - s ASCII kódem 128-255) a umožňuje posílat přílohy
 - Pomocí MIME se 8-bitové znaky překódují do 7-bitového vyjádření, aby šli odeslat přes SMTP
 - MIME je především záležitostí e-mailových klientů - ti mají za úkol zprávu používající MIME při odeslání zakódovat, při přijetí dekódovat
 - Ukázka zprávy, na kterou bylo použito MIME → viz. obrázek →
 -  Metody pro překódování nestandardních znaků do 7-bit. vyjádření:
-  Quated Printable
- použití tam, kde se text příliš neliší od čistého ASCII textu
 - převod nestandardních znaků na základní ASCII znaky v 7-bitovém vyjádření
 - např.: Č → "=C8" (kód znaku v šestnáctkové soustavě)
 - zakódovaný text je stále pro člověka čitelný (při malém výskytu cizích znaků)
 
 -  Base64
- použití při větší odlišnosti textu od klasických ASCII znaků
 - určeno především pro obecná binární data
 - kódovaná data jsou o třetinu delší než originální text
 - pro člověka zcela nesrozumitelný text
 - text se rozdělí na bity a ty se pak po šesti useknou a vytvoří standardní ASCII znak → viz. obrázek
 
 
 -  Quated Printable
 
Zabezpečení zprávy
Pro zabezpečení elektronických zpráv se využívá šifrování pomocí klíčů, které zajistí, že zprávu přečtou jen povolané osoby, a digitální podpisy pro ověření identity odesílatele.
Šifrování
- nebo-li moderní kryptografie
 -  dělí se na:
-  Symetrické šifrování
- použití jednoho (privátního) klíče
 - privátním klíčem se šifruje i dešifruje
 - rychlejší, ale nemožnost bezpečného předání klíče
 -  Přehled šifrovacích algoritmů:
-  DES
- klíč o 56 bitech
 - používá se i víckrát za sebou (Double DES, Triple DES...)
 
 - RC
 - IDEA
 
 -  DES
 
 -  Asymetrické šifrování
- používá dva klíče - veřejný a privátní
 - předává se jen veřejný klíč, kterým druhá strana zprávu zašifruje a příjemce ho pak svým privátním klíčem dešifruje
 - šifruje se veřejným klíčem příjemce, přečíst zprávu jde jen pomocí příjemcova privátního klíče
 - algoritmus RSA - klíč s libovolnou délkou, používá se i jako základ pro digitální podpisy
 
 
 -  Symetrické šifrování
 
- díky svým vlastnostem se v případě el. pošty spíše používá asymetrické šifrování, protože je výhodnější
 
Podepisování - HASH
- HASH = otisk
 - díky HASHi máme jistotu, že zpráva nebyla změněna
 - HASH je obsažen v digitálním podpisu, který je zašifrován privátním (podpisovým klíčem)
 -  V podpisu je Veřejný klíč odesílatele, zašifrovaný HASH a adresa odesílatele
- Obsahuje také podpis certifikační autority
 - Celý certifikát obsahuje jak privátní tak veřejný klíč, ale posílá se pouze veřejná část !
 - Certifikáty mají příponu .P12
 
 
-  Hashovací algoritmy:
- MD5 (128 bitový výtah)
 - SHA (160 bitový výtah)
 
 
-  Uložení certifikátu
- v počítači (nedoporučuje se)
 - zakryptován pomocí operačního systému
 - Šifrovací token (iKey)
 - Čipová karta
 
 


