Copyright © 1997 RNDr. Libor Dostálek
MIME: Multipart/Signed a Multipart/Encrypted
Zásadní průlom přinesla norma RFC1847, která rozšiřuje MIME o hlavičky
vhodné pro elektronický podpis a šifrování zprávy.
Jedná se o poměrně krátkou normu specifikující rozšíření typu Multipart
hlavičky Content-Type. Ve stati o MIME jsme se podrobně zabývali hlavičkou
Content-Type: Multipart, která nám umožňuje v jedné zprávě (např.
jednom mailu) odesílat několik dílčích zpráv (několik samostatných částí).
Jednotlivé části jsou odděleny oddělovačem definovaným parametrem boundary.
Pro elektronický podpis nám stačí, aby se zpráva skládala ze dvou částí:
-
Z textu zprávy.
-
Elektronického podpisu. Tato část také nese informace o:
-
Algoritmech použitých k výpočtu kontrolního součtu a k šifrování kontrolního
součtu.
-
Identifikaci odesilatele, přesněji řečeno toho, kdo zprávu podepisuje a
jeho šifrovacího klíče.
Norma RFC1847 je obecnou normou, tj. specifikuje pouze obecný tvar zprávy,
která je elektronicky podepsána nebo šifrována. Tj. specifikuje syntaxi
rozšiřujících hlaviček MIME. Kryptografické protokoly jsou tu obecně vyjádřeny
pouze řetězcem typ/subtyp. Algoritmus výpočtu kontrolního součtu
pro elektronický podpis se obecně vyjadřuje parametrem micalg=algoritmus.
Následující normy pak rozpracovávají jednotlivé tvary "bezpečných zpráv",
tj. určují konkrétní hodnoty dosazené za typ/subtyp. Např. MOSS
používá řetězce application/moss-signature a application/moss-encrypted
všude tam, kde je v RFC1847 uveden řetězet typ/subtyp.
Jednotlivé části se pak skládají ze záhlaví odděleného prázdným řádkem
od textu části zprávy. Záhlaví je tvořeno jednotlivými hlavičkami. Hlavička
Content-Type se může vyskytnout až třikrát:
-
V záhlaví celé zprávy (mailu), tj. zprávy RFC822 (rozšířené podle MIME).
Zde se používá typ Multipart specifikující, že zpráva je složena z více
částí. Jako subtypy se zadává informace, zda-li se jedná o zprávu elektronicky
podepsanou (Multipart/Signetd) případně šifrovanou (Multipart/Encrypted).
V případě elektronického podpisu se parametrem micalg specifikuje algorimus
pro výpočet kontrolního součtu.
-
V záhlaví první části zprávy, tj. části nesoucí text zprávy. Zde specifikuje
např. typ znakové sady (charset).
-
V záhlaví části nesoucí elektronický podpis. Zde specifikuje, že se jedná
právě o část nesoucí elektronický podpis.
Následující obrázek schématicky znázorňuje tvar elektronicky podepsané
zprávy.
Dále norma RFC1847 specifikuje zprávu šifrovanou. Její tvar je analogický
tvaru zprávy elektronicky podepsané. Opět se zpráva skládá ze dvou částí:
-
Z informacích o šifrování, tj. informaci o použitých šifrovacích klíčích.
-
Z vlastního šifrovaného textu.
Schématicky je tvar takovéto zprávy znázorněn na následujícím obrázku:
Tato norma nespecifikuje zprávu elektronicky podepsanou a zároveň šifrovanou.
Potřebujeme-li vytvořit takovou zprávu pak máme dvě možnosti:
-
Zprávu nejprve elektronicky podepsat a z celé takto vzniklé zprávy udělat
zprávu šifrovanou, tj. tato norma se v podstatě použije dvakrát.
-
Specifikovat ji jinak. Příkladem je S/MIME, kterému se budeme věnovat dále.
MOSS