Navigate / search

Lotus Notes a kvalifikovaný certifikát (i SHA-2)

Lotus Notes umějí pracovat s bezpečnostní infrastrukturou založenou na principu soukromých a veřejných klíčů už od svého počátky — implementováno to bylo již v první verzi z roku 1989.

V Notesech existují tyto infrastruktury dvě, samostatné, ale propojitelné: Jedna se v každé instalaci klienta i serveru a říká se jí nejčastěji notesové certifikáty. To jsou ty známé Notes ID, které v sobě skrývají soukromý klíč uživatele; veřejné klíče všech uživatelů jsou potom uloženy v adresní knize, v Person dokumentech.

Druhá infrastruktura se týká internetových certifikátů. Tedy certifikátů, které umožňují použití i mimo hranice notesového světa, podle standardu X.509 pro PKI (public key infrastructure). Tyto certifikáty vydává certifikační autorita a záležitostí uživatelů či adminů je nějak je dostat do notesů. Nijak zvláštní problém v tom není, už léta umějí Lotus Notes naimportovat internetový certifikát do uživatelova Notes ID souboru a používat jej pro podepisování elektronické pošty (pomocí protokolu S/MIME pro bezpečný přenos MIME dat).

Potřebujeme k tomu jenom soubor s vyexportovaným osobním soukromým a veřejným klíčem, certifikáty a klíčem certifikační autority. Nejjednodušeji to uděláte z webového prohlížeče, do kterého vám automatický skript poskytovaný certifikační autoritou osobní certifikát nahraje. Export má zpravidla příponu .pfx.

Import certifikátu do Notes ID

Přihlásíme se do Lotus Notes s ID souborem, do kterého chceme internetový certifikát naimportovat. V menu vybereme File – Security – User security a přihlásíme se znovu do ID souboru. Vlevo v záložkách se přepneme do Your Identitiy – Your Certificates a v rozbalovací liště potom vybereme Your Internet Certificates. Seznam je prázdný, nemámě žádný internetový certifikát, jenom ten defaultní notesový.

Vpravo v seznamu akcí vybereme proto Get Certificates – Import Internet Certificates a vybereme již připravený exportovaný soubor (.pfx).

Vyběhne potvrzovací okno, zda byl správně rozeznán formát souboru (PKCS 12)

Samozřejmě to bude chtít heslo k tomuto souboru, protože jeho součástí je i náš soukromý klíč. (Poznámka: pozor, toto heslo není do Notes ID, ale do souboru .pfx s exportem klíčů a certifikátů; toto heslo jste zadávali, když jste v prohlížeči tento export prováděli.)

Pokud je heslo správně, objeví se okno se seznamem klíčů a certifikátů, které jsou v souboru obsaženy. V našem případě to je certifikát uživatele i certifikát Autority, která jej vydala. Dva jsou tam proto, protože při exportu z Internet Exploreru jsme zaškrtnuli volbu „Include all certificates in the certification path“, která uloží do .pfx souboru certifikáty všech nadřízených Autorit.

Dáme Accept all, zadáme heslo do Notes ID a certifikát je úspěšně nainstalován.

Je také vidět v seznamu certifikátů v Notes ID souboru, tam, kde před chvílí bylo jenom prázdné místo.

Jsme hotovi, nyní už můžeme odesílat podepsanou poštu do Internetu pomocí S/MIME protokolu.

Změny v roce 2010

Zkusili jste předchozí postup, a při importu vidíte hlášku, že se certifikát v .pfx souboru je neplatný?

Nelekejte se, postup děláte správně. Pravděpodobně u vás nastala kombinace těchto dvou podmínek:

  • máte Lotus Notes 8.5.1 a novější
  • chcete importovat kvalifikovaný certifikát vydaný českou certifikační autoritou v letošním roce

V takové situaci se opravu import internetového certifikátu přímo do Notes ID souboru nezdaří. Důvody?

  • Česká republika stanovila, že od roku 2010 budou muset být kvalifikované certifikáty tvořeny pomocí hashovacího algoritmu SHA-2 a nikoliv podle jeho předchozí verze SHA-1, tak jako v minulých letech.
  • V Lotus Notes 8.5.1 (a tedy i novějších verzích) došlo k výměně kryptografického jádra (kvůli sjednocení s ostatními produkty IBM). To znamená, že se vzaly všechny předchozí protokoly a formáty, které notesy oficiálně podporovaly a ty fungují i nadále. A oficiálně bylo podporováno právě jenom SHA-1 a ne SHA-2. A to ani ve starších verzích LN, kde šly SHA-2 certifikáty naimportovat. Šlo to, ale oficiální podporu to nemělo.

Jak si s tím poradit? Například využít nástroj třetí strany, který se umí propojit s Lotus Notes 8.5.1 a novější a umí pracovat s kvalifikovanými certifikáty se SHA-2 algoritmem. Já takový našel a vyzkoušel – PGP Desktop Email.

Poznámka: Software PGP (Pretty Good Privacy) byl první otevřený a zdarma dostupný SW, který implementoval technologii soukromých a veřejných klíčů. Společnost PGP Corporation byla letos v dubnu koupena společností Symantec.

V dalším textu tedy popíšu, jak jsem tento PGP Desktop Email nainstaloval, provedl základní konfiguraci připojení k Lotus Notes, naimportoval certifikát a vyzkoušel podpis e-mailu.

Příprava prostředí

Budeme potřebovat klienta Lotus Notes verze 8.5.1 a vyšší.

V lokalitě v Lotus Notes byste měli mít správně nastavenu vaši e-mailovou adresu. Je to ta adresa, která se do odchozích e-mailů dává jako From: a přesně na tuto adresu by měl být vydán i váš internetový certifikát. Pozor, tato internetová adresa se do lokality automaticky stahuje z vašeho domovského serveru, z Person dokumentu. Proto, pokud experimentujete a dáváte si tam nějakou testovací adresu, vždy po spuštění LN klienta zkontrolujte, co je v lokalitě za e-mail a případně opravte.

Budete potřebovat internetový certifikát. Pokud vás tato problematiky zajímá, tak už pravděpodobně nějaký kvalifikovaný certifikát od české certifikační autority máte. Pokud ne, testovací kvalifikovaný certifikát se dá pořídit například i I.CA.

Dále na stejný počítač, na jakém běží tyto notesy, musíme nainstalovat PGP Desktop klienta. Pro začátek a první experimenty doporučuji stáhnout trial verzi. Trial verze je pro celý desktopový balík PGP, pokud bude někde výběr na instalaci jen některých částí produktu, vyberte PGP Desktop Email, ten stačí.

Instalace PGP klienta

Spustíme staženou instalačku, samotný instalační proces je velmi jednoduchý. Stačí číst a odklikávat.

Po skončení kopírování souborů restartujeme.

Po přihlášení zpět do Windows do začne být už zajímavější. Nejdříve PGP klient sám pozná, že není nakonfigurován a nabídne nám povolit PGP funkce pro právě přihlášeného člověka do operačního systému. Dáme Yes.

Vyplníme naše údaje (jméne a e-mail) a licenční číslo. Pokud nemáme, vybereme 30-denní trial.

Pokračujeme dál a vybíráme I am a new user, protože nemáme uchovány žádné exporty z předchozího používaní PGP klienta.

PGP klient potřebuje ke své činnosti klíče a certifkáty. Proto se hned na začátku rozhlédne po počítači, jestli by se nedalo něco použít. Může se vám tak stát, že najde třeba vaše osobní certifikáty ve standardním úložišti Windows. Tak či tak, my to chceme mít pod kontrolou, tak dáme v této chvíli Skip, a nebudeme nic importovat.

V dalším kroku vám tedy nabídne, ať si vygenerujete novou dvojici klíčů (soukromý a veřejný) úplně od znova — to ale taky nechceme, my už klíče máme, generovali jsme si je při tvorbě žádosti o kvalifikovaný certifikát u Certifikační autority. Takže opět Skip.

Další dialog se ptá, jestli má automaticky detekovat e-mailové účty, které přihlášený uživatel bude na počítači používat. Mezi tyto účty patří i Lotus Notes poštovní systém, dáváme tedy Ano na detekci e-mailových účtů a Ne na detekci AOL chatů.

Následuje informační obrazovka, která je ale důležitá. Říká, že hned od začátku jsou v systému určitá pravidla, podle kterých se řídí podepisování a šifrování odchozí pošty. Jedno z nich (Opportunistic Encryption) určuje, že každý odchozí e-mail se digitálně podepíše a, když to jde, i zašifruje. Nebojte se, pravidle budeme upravovat vzápětí, zatím to berte jako informaci, že první mail, který za chvíli pošleme, půjde podepsaný a šifrovaný.

Poslední obrazovka říká, že už jsme hotovi. PGP klient se bude spouštět po každém restartu Windows a ikonka se usadila do systray vedle hodin.

Tím jsme s instalací hotovi. Zvídaví čtenáři se mohou  podívat do notes.ini pro klienta Lotus Notes a najdou tam na konci řádek

EXTMGR_ADDINS=nPGPNote.dll

Ten říká, že PGP klient se uvedenou knihovnou „zakousnul“ do Lotus Notes a bude na nízké úrovni sledovat, co se uvnitř děje a případně na to reagovat. Takto třeba fungují antiviry pro Lotus Domino. V našem případě to znamená, že knihovna og PGP klienta bude sledovat mailovou komunikaci, která z notesů odchází a prožene ji svými pravidly. Pokud bude některé pravidlo splněno, provede se jeho akce — například se podepíše odchozí pošta. Jinak se to nechá tak, jak je.

Konfigurace PGP – propojení s Lotus Notes

Veškeré nastavování, které bude třeba provést, budeme dělat pouze v PGP klientu. Nebudeme muset nic nastavovat v Lotus Notes adni nic importovat do ID souboru.

Import certifikátů

Nejdříve musíme naimportovat klíče a certifikáty. Spustíme PGP klienta a přejdeme do sekce PGP Keys – All Keys — zatím je prázdná.

Nakoukneme také do sekce PGP Messaging – PGP Log. Zde najdeme prvních pár systémových zpráv, mj. také info o tom, že PGP se správně „zakousnulo“ do Lotus Notes (Lotus Notes component connected).

Zkusme tedy importovat ty kvalifikované certifikáty, které jsme dostali od Certifikační Autority — menu File – Import Personal Certificates.

No jo, ale PGP klient píše, že nic nenašel; a to proto, že se dívá pouze do systémové úložiště certifikátů ve Windows (to je to, co vidíte z Internet Exploreru, když procházíte Certifikáty).

Nevadí, vše přece máme uloženo v souboru .pfx. Volíme tedy druhou volbu importu a najdeme cestu k uloženému souboru.

Musíme zadat heslo do souboru s exportovanými certifikáty, což je dobře, protože tam je i náš soukromý klíč.

Následný import potom proběhne v pořádku.

Poznámka: Jestliže  tento postup provádíte na počítači, kde jste si o kvalifikovaný certifikát žádali, velmi pravděpodobně jej máte i nainstalován v úložišti Windows, a tedy tedy vám zabere už ten první import. Není třeba importovat .pfx znovu.

Pojďme se podívat, co jsme vlastně naimportovali — přepneme se do PGP Keys – All Keys. Už to není prázdné, vidíme tam jednu skupinu záznamů pro Certifikační Autoritu a potom osobní záznamy a certifikáty. Povšimněte si vpravo šedých ikon, vypadají jako značka zákaz vjezdu do jednosměrky. Časem je změníme na zelené ikonky s fajfkou.

Vytvoření mailového profilu

Klíče a certifikáty jsme nainstalovali, nyní to musíme nějak propojit s notesovou poštou. PGP klient na to má pěknou fintu: sám hlídá mailové komunikace (pamatujete, při instalaci jsme tuhle volbu zaškrtávali?), takže stačí poslat nějaký mail a sledovat, co se stane. Pošleme mail sami sobě. Normální mail, z notesů, žádné šifrování ani podepisování nedáváme.

Po odeslání se objeví hláška, jestli chceme tento poštovní účet propojit z PGP. Ano, chceme.

A jaké klíče a certifikáty chceme pro tento poštovní účet používat? No přece ty, které jsme před chvíli úspěšně naimportovali. Volíme tedy PGP Desktop Key.

Na výběr máme nyní jenom ten jeden…

A hotovo, poštovní účet je propojen s PGP klientem. To znamená, že odchozí pošta bude PGP klientem kontrolována a pokud nastane ta správná kombinace pravidel, tak se odchozí mail podepíše nebo zašifruje.

Asi si všimnete, že hned po odeslání se vpravo dole na chvíli objevilo informační okno, které říká, v jakém stavu mail odešel: zda byl nebo nebyl podepsán či šifrován.

Poznámka: Protože to posíláme sami sobě, tak máme k dispozici veřejný klíč příjemce. A jestli si pamatujete, tak při instalaci PGP klienta se objevilo upozornění, že hned po instalaci budou v činnosti určitá defaultní pravidla a jedno z nich je: když to jde, tak podepisuj a šifruj. Proto se tento úplně první mail odešle podepsaný a šifrovaný (šifrovaný na vás).

Když se nyní podíváme do seznamu klíčů, tak již vidíme, že osobní klíče dostaly zelenou fajfku a jsou tedy verified.

Abychom dostali fajfku i do  záznamů pro Certifikační autoritu, provedeme ruční „potvrzení důvěry“, něco jako křížový certifikát v notesech. Pravým tlačítkem klikneme na hlavní řádek Certifikační Autority a zvolíme Sign.

Vybereme, který z klíčů Autority chceme podepsat — je tam jenom jeden. Popis říká, že správně bychom měli nezávislým kanálem ověřit pravost certifikátu. Například telefonátem zkontrolovat fingerprint (otisk).

A kterým osobním klíčem to chceme podepsat — také máme jenom jeden.

A je tu výsledek – Certifikační Autorita je nyní Verified.

Pojďme se podívat, jak vypadá výsledek této „autokonfigurace“ poštovního účtu, který jsme před chvíli provedli. Je to sekce PGP Messaging a podsekce je označena vaším e-mailem. Vidíte, že správně doplnil adresu poštovního serveru, vaši e-mailovou adresu a klíč, se kterým je to spárováno. Kdyby bylo potřeba časem něco změnit, tak nyní víte, kde to najdete.

Nastavení pravidel

Co je ovšem musíme udělat hned, je nastavení pravidel. Zůstáváme ve stejném nastavení PGP Messagingu a dole si všimneme části Security Policies. Je tam sedm pravidel.

Až na jedno je nepotřebujeme. Zbytečně by nám komplikovali začátky. Časem si je můžete prozkoumat a případně některá znovu povolit nebo si vytvořit vlastní. Nyní je ale jdeme vypnout. Stihneme tlačítko Edit Policies vpravo.

Seznam pravidel se přepne to editačního režimu. Zrušíme fajfky u všech pravidel kromě pravidla Sign Button (default). To jediné necháme zapnuté. Toto pravidlo je inteligentní a říká „když uživatel explicitně u odchozí zprávy nastaví příznak Sign, tak to podepiš, jinak ne“. A to je to, co potřebujeme.

Musíme jenom udělat jednu malou úpravu tohoto pravidla. Pravidlo zeditujeme tlačítkem Edit Policy vpravo.

Vidíte, že pravidlo se konstruuje podobně, jako například pravidla v poštovní schránce Lotus Notes. Když je nějaká podmínka splněna, proveď určenou akci. V tomto konkrétním pravidle musíme změnit jedno políčko, na zbytek nesaháme. Jedná se o políčko Prefer encoding. Defaultně je tam automatic, ale to my nechceme. To by se pošta podepisovala podle protokolu PGP a my chceme podle protokolu S/MIME.

Proto změníme automatic na S/MIME.

Potom OK a uložit.

Seznam pravidel nám pěkně prořídnul.

A s nastavováním pravidel jsme hotovi a vlatně i s celou základní konfigurací propojení Lotus Notes a PGP klienta pro podepisování e-mailů.

Testování funkčnosti

Pojďme si vyzkoušet, jestli to funguje tak, jak chceme. Nejdříve se přesvědčíme, jestli nám PGP správně podepsalo a zašifrovalo tu úplně první zprávu, kterou jsme před chvílí posílali sami sobě.

Přepneme se do poštovní databáze v Lotus Notes a v Inboxu otevřeme zmiňovanou testovací zprávu. Měli byste vidět, že PGP klient zprávu za běhu rozkóduje a zobrazí informaci, že mail by podepsán a je nyní úspěšně rozšifrován a zobrazen. (Úspěšně proto, protože máme správný soukromý klíč naimportovaný v PGP klientu. Když to zkusíte z jiného PC, uvidíte hlášení, že nemáte správný soukromý klíč k rozšifrování.)

A ještě nahlédneme do logu, PGP Log. V něm krásně vidíme, že (v tomto případě) v 13:37 PGP klient podepsal a zašifroval odchozí mail (Encrypting a Signing – to byl ten první mail, sám sobě) a 13:43 jsme otevřeli ten stejný mail, a PGP muselo provést rozšifrování (Decrypting) a následně kontrolu podpisu (Verifying signature).

Teď je čas na další pokus — odešleme mail z Lotus Notes na nějakou externí adresu, a v mailu zaškrtneme Sign.

V logu vidíme, že i tento mail se správně podepíše, ale nešifruje (Sending unencrypted, Signing S/MIME).

Na straně příjemce potom ověříme, jak podepsaný mail přišel. Většinou na vás poprvé vyskočí nějaké okno, jestli odesílateli (nebo jeho Certifikační Autoritě) věříte, a když dáte, že ano, tento a všechny další příchozí maily se správně ukáží jako podepsané.

Tím jsme hotovi. Nainstalovali  jsme PGP klienta, importovali do něj osobní klíče a certifikáty, propojili PGP klienta s poštovním účtem v Lotus Notes, nechali jenom jedno pravidlo pro podpisy a vyzkoušeli celkovou funkčnost.