abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 22:11 | Komunita

Vývojáři svobodného 3D softwaru Blender představili nejnovějšího firemního sponzora Blenderu. Je ním společnost AMD a úroveň sponzoringu je stejná jako u společnosti Nvidia, tj. nejvyšší úroveň Patron, tj. minimálně 120 tisíc eur ročně.

Ladislav Hagara | Komentářů: 1
dnes 10:55 | Nová verze

OpenOrienteering Mapper je svobodný program pro vytváření map pro orientační běh. Vydána byla nová stabilní verze 0.9.0. Přehled novinek v oficiálním oznámení.

Ladislav Hagara | Komentářů: 0
dnes 09:11 | Zajímavý projekt

Mozilla.cz informuje, že Mozilla spolupracuje na projektu offline překladače Bergamot. Jedná se o výzkumný projekt spolufinancovaný Evropskou unií. Na výzkumu se podílí také Univerzita Karlova. Videoukázka integrace Bergamotu do Firefoxu na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 06:00 | Komunita

Nadace GNOME informuje o pokračování soudního sporu Rothschild Patent Imaging vs. GNOME Foundation ohledně údajného porušování patentu US 9,936,086 B2 ve správci fotografií Shotwell. Společnost Rothschild Patent Imaging nabídla nadaci GNOME za pětimístnou částku žalobu zrušit a poskytnout licenci k použití patentu. Dle nadace by bylo snadné částku zaplatit a dál to neřešit. Proti patentovým trollům je ale třeba bojovat. Soudní spor bude pokračovat. Nadaci GNOME lze finančně podpořit na stránce GNOME Patent Troll Defense Fund.

Ladislav Hagara | Komentářů: 18
dnes 00:22 | Nová verze

Google Chrome 78 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 78.0.3904.70 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 37 bezpečnostních chyb. Za nalezení dvou nejvážnější bylo vyplaceno 35 tisíc dolarů.

Ladislav Hagara | Komentářů: 0
včera 19:55 | Nová verze

Byla vydána nová major verze 4.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Jedná se o první verzi postavenou na Debianu 10 s kódovým názvem Buster. Přehled změn v příslušném seznamu. Z novinek lze zdůraznit nahrazení správce hesel KeePassX aktivně vyvíjeným KeePassXC, Tor Browser 9.0 nebo MAT 0.8.0. Opravena byla také řada bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 08:00 | Komunita

Dnes a zítra proběhne v Nokia Bell Labs oslava padesátin Unixu. Dnešní panelovou diskusi bude možné sledovat živě od 14:45 na YouTube.

Ladislav Hagara | Komentářů: 9
včera 07:00 | Nová verze

Dnes vyjde Mozilla Firefox 70.0. Přehled novinek v poznámkách k vydání a na stránce věnované vývojářům. Zdůraznit lze odstranění informace o EV certifikátu z adresního řádku, nového správce hesel Firefox Lockwise nebo také nové logo.

Ladislav Hagara | Komentářů: 19
21.10. 18:11 | Komunita

Project Trident je desktopový operační systém aktuálně postavený na TrueOS, což je operační systém vycházející z FreeBSD, s grafickým prostředím Lumina. Vývojáři Tridentu oznámili, že přechází z TrueOS na Void Linux. Výhody ale i nevýhody přechodu v oficiálním oznámení.

Ladislav Hagara | Komentářů: 0
20.10. 13:22 | IT novinky

Samsung oznámil, že program Linux on DeX končí. Android 10 už nebude podporován. Linux on DeX umožňuje spouštět linuxový desktop a aplikace z vybraných telefonů od Samsungu připojených pomocí Samsung DeX.

Ladislav Hagara | Komentářů: 41
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (21%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 459 hlasů
 Komentářů: 25, poslední dnes 09:04
Rozcestník

www.AutoDoc.Cz

SSL - 2 (elektronický podpis)

6. 3. 2006 | Rastislav Stanik | Bezpečnost | 15638×

Jak využít SSL k bezpečnému podepisování dokumentů, použití grafických programů, zabezpečení komunikace na webu, zrušené certifikáty.

Elektronický podpis

Elektronický podpis sa vyrába tak, že zo vstupného dokumentu sa spočíta kontrolný súčet. Kontrolný súčet sa počíta špeciálnym matematickým algoritmom. Jeho špeciálnosť spočíva v tom, že pre ľubovoľný vstup poskytne na výstupe reťazec, z ktorého nie je možné odvodiť pôvodný vstup a zároveň aj tá najmenšia zmena vo vstupe má za následok zmenu vo výstupe. V minulosti sa používal jednoduchý algoritmus zvaný CRC, v súčasnosti sa používa napr. algoritmus s označením MD5, ale ten je vytláčaný algoritmom SHA1 resp. SHA2. Získaný výstupný reťazec sa potom zašifruje pomocou súkromného kľúča:

openssl dgst -sign RSprivatekey vstupny_subor > podpis
Enter pass phrase for RSprivatekey:

Program si vypýta heslo prislúchajúce ku RSprivatekey a s jeho pomocou vytvorí elektronický podpis. Podpis je unikátny pre daný súkromný kľúč a vstupný súbor. Nikto iný, než ten, kto disponuje súkromným kľúčom, nemôže vytvoriť rovnaký podpis. Ten, kto chce zistiť, či dokument je pravý (nebol zmenený jeho obsah), spočíta jeho kontrolný súčet. Ten sa potom porovná s kontrolným súčtom, ktorý sme získali dešifrovaním overovaného podpisu:

openssl dgst -verify RSpublickey -signature podpis < vstupny_subor
Verified OK

Ak by súbor medzičasom niekto pozmenil, elektronický podpis už nebude sedieť:

openssl dgst -verify RSpublickey -signature podpis < zmeneny_subor
Verification Failure

Od CUI ku GUI

V predchádzajúcich odsekoch sme používali pre prácu s certifikátmi program openssl z balíka OpenSSL. Teraz sa pozrieme, ako využiť SSL v maileri či browseri. Aby certifikáty používateľov bolo možné používať na šifrovanie či podpisovanie správ, musíme najprv naučiť program rozoznávať certifikačnú autoritu, ktorá certifikáty vydáva.

Náš vlastný certifikát potrebujeme importovať, ak plánujeme podpisovať odosielané správy. Mailové programy spravidla požadujú certifikát v inom formáte, ako sme používali doteraz - PKCS#12. Našťastie openssl poskytuje možnosť previesť certifikáty do požadovaného formátu:

openssl pkcs12 -in RScertificate.pem -inkey RSprivatekey -export \
 -out RScertificate.p12
Enter pass phrase for RSprivatekey:
Enter Export Password:
Verifying - Enter Export Password:

Certifikáty ľudí, ktorých podpisy budeme overovať alebo ktorým budeme posielať šifrované správy, musíme takisto importovať.

Po ukončení importovania môžeme potom pri písaní správy nastaviť či má byť šifrovaná, alebo podpísaná, alebo oboje:

Pri takomto nastavení bude text správy šifrovaný. Pozor však na to, že informácie v hlavičke mailu, teda odosielateľ, príjemca, predmet správy a podobne, šifrované nie sú.

Bezpečný web

Ďalšou oblasťou, kde sa s SSL certifikátmi stretávame, sú webové servery. Typickým príkladom sú webové servery pre internetbanking. Zmyslom je, aby si používateľ bol istý, že je skutočne spojený s webovým serverom banky a nie nejakého podvodníka, ktorý sa snaží vylákať cenné informácie, číslo kreditky a podobne. Okrem autentickosti servera sa SSL postará aj o šifrovanie dát prenášaných medzi webovým serverom a browserom. Ako to funguje, si môžeme vyskúšať pomerne jednoducho. Potrebujeme k tomu webový server Apache, ktorý bol skompilovaný s podporou SSL - pri kompilovaní bol použitý prepínač --with-openssl. SSL funkcionalita je dostupná vo forme modulu s názvom mod_ssl. Aby bola aktivovaná, musí konfigurácia Apache obsahovať direktívu:

LoadModule ssl_module libexec/apache/libssl.so

Moja distribúcia to konkrétne rieši tak, že v konfiguračnom súbore /etc/apache/httpd.conf treba zrušiť komentár na riadku, ktorý includuje súbor s konfiguráciou SSL:

# ==> mod_ssl configuration settings <==
Include /etc/apache/mod_ssl.conf

Správne nahratie mod_ssl sa prejaví aj v logu (o umiestnení logu rozhoduje direktíva ErrorLog a vplyv má aj LogLevel v httpd.conf):

tail /var/log/apache/error_log
...
[Wed Feb  8 21:25:24 2006] [notice] Apache/1.3.33 (Unix) mod_ssl/2.8.22
OpenSSL/0.9.7d configured -- resuming normal operations

Okrem správneho nahratia mod_ssl potrebujeme prinajmenšom certifikát a zodpovedajúci súkromný kľúč. O ich umiestnení rozhodujú direktívy v konfiguračnom súbore:

SSLCertificateFile /etc/apache/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache/ssl.key/server.key

Podstatné je aj nastavenie portu. Webové spojenia chránené pomocou SSL sa tradične robia na porte https (s číslom 443):

<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>

Teraz nám už ostáva iba prekrížiť prsty a odštartovať to:

httpd -DSSL
Apache/1.3.33 mod_ssl/2.8.22 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.

Server ras:443 (RSA)
Enter pass phrase:
Ok: Pass Phrase Dialog successful.

Či Apache počúva na porte https, nám povie napr. netstat.

netstat -ltp |grep http
tcp  0  0  *:http  *:*  LISTEN  3616/httpd
tcp  0  0  *:https *:*  LISTEN  3616/httpd

Ak je všetko v poriadku, tak sa môžeme pokúsiť pripojiť pomocou browsera. Pretože ja som použil certifikát, ktorý som si vyrobil sám, tak ma browser upozorní, že taký certifikát ani CA nepozná a ponúkne mi zaradiť ho medzi dôveryhodné certifikáty. Tomu sa dá vyhnúť, ak certifikát CA vopred zaradíme do zoznamu dôveryhodných CA:

SSL modul servera apache dokáže oveľa viac. Môžete povoliť prístup k niektorým URL len pre browsery, ktoré sa preukážu správnym certifikátom a podobne. Detailnejší popis je mimo rozsah tohto článku, ale s dôverou sa môžete obrátiť na dokumentáciu.

Odvolávam, čo som odvolal...

Ak ste robili kroky popísané vyššie, isto ste si všimli, že súkromný kľúč je chránený heslom. Čo sa stane, keď sa heslo prezradí? V takom prípade môže niekto predstierať, že sme to my. Samozrejme za predpokladu, že získa aj náš súkromný kľúč. Môže tiež dešifrovať správy určené len nám. Tento problém riešia odvolávacie certifikáty (Revocation Certificate). Certifikačná autorita, okrem vydávania certifikátov aj udržiava a publikuje CRL - zoznam certifikátov, ktoré už nie sú platné.

openssl ca -revoke RScertificate.pem -keyfile CAdsaprivtekey -cert
CAcertificate

V parametroch vidíme, že odvolávame certifikát signed.pem a potrebný je na to súkromný kľúč CA a certifikát CA. O revokačných certifikátoch sa všeobecne málo vie. V prípade, že sa napr. pripájate na internet-banking, tak by ste si mali nielen overiť, že sa pripájate skutočne na ten správny server, ale aj to, že jeho certifikát nebol medzičasom odvolaný. Niektoré prehliadače to dokážu robiť za nás, ak sú správne nastavené:

Záver

Program openssl z balíka OpenSSL, ktorý sme používali v uvedených príkladoch, nie je určený pre koncového používateľa a ani nie je tou najdôležitejšou časťou tohto balíka. Najpodstatnejšou časťou sú knižnice implementujúce jednotlivé šifrovacie a hashovacie algoritmy a program openssl len poskytuje základný prístup k týmto knižniciam. Okrem openssl sú súčasťou balíka aj ďalšie skripty napr. CA.pl a podobne. Knižnice z balíka OpenSSL sú používané v množstve Open Source projektov, kde majú na starosti bezpečnosť ukladania a prenosu dát. Udržiavanie aktuálnosti tohoto balíka je významnou súčasťou bezpečnosti celého systému.

       

Hodnocení: 100 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

6.3.2006 10:26 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Super články. Jen škoda, že screenshoty jsou z anglického TB.
6.3.2006 14:13 karely
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Super články. Je dobře, že screenshoty jsou z anglického TB
6.3.2006 14:31 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Proč to je dobře? Tvůj rodný jazyk není čeština?
7.3.2006 08:44 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Rodný jazyk autora nie je čeština ;-). Ale o to nejde. Zastávam názor, že prekladaný program stráca na kvalite a preto používam prakticky všetok software nelokalizovaný - anglický. Problém je tiež v tom, že preklady niektorých pojmov nie sú ustálené. A to sa potom človek čuduje keď lúšti chybovú hlášku "neplatný popisovač" a podobne :-). Pravdou je, že by som pri tých screenshotoch mal rád aj linky na screenshoty z iných klientov než TB, ale nejak som sa k tomu nedokopal. Zatiaľ.
7.3.2006 09:03 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
No, já jsem se ptal na rodný jazyk autora toho příspěvku "karely", který ho napsal česky :). Zajímavý názor s tou lokalizací, ale internet bude jistě plný screenshotů v angličtině. Naopak smysl článků a screenshotů vidím, když na českém webu budou v nějakém pro čecha dobře srozumitelném jazyce (např. slovenštině). Pokročilí uživatelé ty screenshoty nepotřebují a navíc lidí, kteří používají programy v originále je hodně málo. Což je fakt. Denně na czilla.cz řešíme "nemám to česky", ale nepamatuju si, že bych řešil "chci to anglicky". V podstatě pro člověka, který neumí anglicky je pak dost velký problém s těmi screenshoty, protože se vůbec neshodují s tím co má v PC. Co se týká ustálení pojmů tak to je možné, ale osobně v tom velký problém nevidím. Docela by mě zajímalo proč by měla lokalizace snižovat kvalitu - máte na mysli funkčnost?
7.3.2006 10:28 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Docela by mě zajímalo proč by měla lokalizace snižovat kvalitu - máte na mysli funkčnost?

Mám na mysli nepresnosť prekladu. Veľmi často sa stáva, že prekladateľ nepozná, resp. dostatočne nepreskúma, súvislosti v ktorých je daný termín použitý. Problémom, je tiež to, že niektoré stringy v originálnom programe sú použité na viacerých miestach v rôznych pádoch. V angličtine to nevadí, pretože vo všetkých pádoch má to slovo stále rovnaký tvar, ale v našich jazykoch dochádza k tomu, že slovo je na jednom mieste správne a na inom nesprávne vyskloňované. Ďalším príkladom je niečo, čo som zažil nedávno pri čítaní jednej knižky o SQL - prekladateľ prekladal aj príklady. Ale nie konzistentne. Takže meno stĺpca v CREATE TABLE bolo anglické, ale v SELECT statemente už bolo preložené. Skrátka urobiť dobrý preklad nie je jednoduché. A keď chcem mať istotu tak sa obraciam na originál.

Ale samozrejme priznávam, že máš svoju pravdu. Považuj moju náchylnosť používať anglický soft za moju úchylku, a ja sa budem snažiť pri písaní ďalšieho článku myslieť na Tvoju pripomienku.

7.3.2006 10:44 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Aha už chápu. Já myslel, že to ovlivňuje funkčnost. Slyšel jsem to totiž už 2x, ale ohledně lokalizace software pro Windows. * Když jsem studoval tak můj spolužá dělal brigádu na překladu Win95 a nedoporučoval mi lokalizaci používat, že se na to kašle. Nevím, jestli si vzpomenu dobře, ale říkal něco o překladu maker nebo co. * Podobně kamarád mi nedávno říkal něco podobného. Asi to souvisí s tím, jak se to provádí. Windows programy nejsou tak pěkně na překlad připravené a řetězce se vytahují z binárek speciálním softem atd. Ale to všechno mám jen z doslechu. A myslím, že u většiny open source je to trochu jinak. To s tou terminologií z Mozilly znám. Pojmy se snažíme ladit a je to docela náročné: vybrat správný termín a pak ho ještě na správných místech správně používat. Díky. Jsem učitel a začal jsem s šifrováním a podpisem laborovat právě teď. A ukázky v angličtině nejsou pro moje studenty to pravé.
6.3.2006 17:00 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Co srovnani podpisu emailu s GPG?
7.3.2006 08:37 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
GPG (resp. PGP) pracuje na trocha inom princípe. Osobne ho považujem za príťažlivejšie ako certifikáty, ale jeho podpora v rôznych mailových klientoch je nižšia ... teda ... samozrejme pre mozillu/thunderbird existuje enigmail a tuším funguje aj v kmaili a ďalších linuxových mail-klientoch. Ale v outlooku to nie je ono. (Nie že by som našiel odvahu to skúšať ;-) ) Pre PGP existuje tiež celkom dobrá dokumentácia. Najviac sa mi páčili dva textové dokumenty, ktoré boli súčasťou verzie 2.6.x. Jednu zaujímavú pasáž som si dokonca preložil.

Veľa sa dá dočítať aj vo FAQ pre comp.security.pgp ( jedna stará verzia je tu: 1, 2, 3, 4, 5, 6, 7, 8, 9 ) Skrátka som mal pocit, že fungovanie PGP/GPG je medzi linuxákmi, ktorí si vedia pohľadať trocha dokumentácie na googli, dostatočne známe a článok o ňom by bolo nosenie dreva do lesa.
7.3.2006 09:11 kowalski
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
7.3.2006 16:40 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Rozdily jsou mi principialne jasne (trusted CA vs. model web of trust), mozna by stalo za clanek rozvest oboji.
9.3.2006 16:30 lovec
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Hm .. Ako mozes uverejnovat take strasne bludy. Keby som o podpise tusil tak malo ako ty, tak by som nenasiel v sebe odvahu napisat clanok (a podpisat ho, no brr...).

Ak pozabudneme na hroznu terminologiu.. Napisat, ze predtym sa na vypocet hashu pre podpis pouzival algoritmus CRC, alebo uplne suverenne prekrstit SHA256 na SHA2 a pododne [CENSURED].
10.3.2006 08:39 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Hm .. Ako mozes uverejnovat take strasne bludy. Keby som o podpise tusil tak malo ako ty, tak by som nenasiel v sebe odvahu napisat clanok (a podpisat ho, no brr...).

Už v diskusii pri prvej časti som sa Ťa pýtal, či by si bol ochotný urobiť recenziu druhej časti - prv než vyjde. Nereagoval si.

Máš pravdu. Nie som expert na SSL, CA ani X.509. Som len človek, čo pozná PGP a chcel vedieť ako bezpečne komunikovať s inými ľuďmi, pre ktorých používanie PGP/GPG nie je praktické. Niečo som si o tom prečítal, vyskúšal a zafungovalo mi to. Tak som to popísal v článku. Asi z toho neurobím doktorantskú prácu, ale niektorým sa to tu zišlo a páčilo.

CRC - nehovorím, že by sa CRC používal v kontexte elektronického podpisu ako ho chápe zákon či SSL alebo PGP. CRC - cyclic redundancy check - je algoritmus, ktorý sa používal ešte v časoch DOS-u a pkzip-u na overenie toho, že nejaký súbor nebol poškodený - napr. pri chybe čítania z diskety a podobne. Už v polovičke 90 rokov som stretával na unixoch program sum, ktorý slúži na podobné účely.

SHA-2 - wikipedia - The first member of the family, published in 1993, is officially called SHA; however, it is often called SHA-0 to avoid confusion with its successors. Two years later, SHA-1, the first successor to SHA, was published. Four more variants have since been issued with increased output ranges and a slightly different design: SHA-224, SHA-256, SHA-384, and SHA-512 — sometimes collectively referred to as SHA-2.

Na záver zopakujem to čo som Ti povedal už v diskusii k minulej časti: ak nesúhlasíš s niečím čo je v článku, je tu diskusia, v ktorej to môžeme uviesť na pravú mieru.

10.3.2006 09:08 GeBu | skóre: 27 | blog: zápisky
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)
Podle způsobu jakým lovec píše bych se vykašlal na něj jakokoliv reagovat. Každý pozná co je zač.
8.7.2010 08:39 peko
Rozbalit Rozbalit vše Re: SSL - 2 (elektronický podpis)

Hezký článek, jinak zajímavé info o tom, jak to technicky funguje mají třeba tady: www.digitalni-podpis.cz

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.