GNU/Linux >> Znalost Linux >  >> Linux

Co je kryptografie s veřejným klíčem (Jak fungují sítě VPN, část 2)

Tento článek ze série „Jak fungují sítě VPN“ popisuje, jak funguje kryptografie s veřejným klíčem (asymetrické šifrování). Pokud jste již ztraceni, nepropadejte panice! Tato série článků je napsána tak, aby vysvětlila koncepty a metody VPN, aniž by vyžadovala hluboký ponor do matematiky, která je pohání.

Pokud jste s konceptem VPN úplně noví, podívejte se na tento úvod. Pokud už víte něco o tom, jak VPN fungují, a chcete vědět trochu víc, tato série je pro vás. Každý článek se zabývá jedním aspektem prostředků, kterými VPN pomáhá zabezpečit data vyprávěním příběhu, který slouží jako metafora zapojených logických mechanismů. Tyto příběhy zahrnují dva lidi, Adama a Burta, kteří se snaží udržet tajemství, a třetí osobu, Cesara, snažící se hanebně odhalit jejich tajemství. Vzhledem k tomu, že VPN nemají žádný dokonalý ekvivalent fyzického světa, mohou existovat některé prvky, které rozšiřují hranice důvěryhodnosti (například Cesar má přístup k paprsku duplikátoru). Pamatujte, že je to jen příběh…

Každý článek má také rozbalitelné sekce (označené ozubeným kolečkem icon), které obsahují o něco podrobnější vysvětlení, které je poněkud techničtější, ale přesto se v matematice příliš neztratí. Tyto části spojují události příběhu trochu více s komponentami nebo kroky šifrování nebo ověřování, ale nejsou vyžadovány pro základní pochopení tématu.

Adam a Burt již objevili slabinu v používání skříňky se sdíleným symetrickým klíčem k zajištění bezpečnosti. Burt tedy navrhuje, aby vyzkoušeli novou metodu, ve které má každý z nich svou vlastní jedinečnou sadu klíčů (asymetrické šifrování).

Kryptografie veřejného klíče

Public Key Cryptography je metodologie asymetrického šifrování, která se snaží zachovat důvěrnost, aniž by bylo nutné sdílet tajný klíč přes nezabezpečený kanál (jako je nešifrovaný e-mail). V tomto vysvětlení mají Adam a Burt každý jedinečný zámek, ale ve zbytku tohoto příkladu se budeme zabývat Burtovým zámkem a klíči (Adamův zámek a klíče budou fungovat stejným způsobem). Každý zámek má dvě speciální vlastnosti:za prvé, zámek má dva odlišné a související klíče, které s ním mohou pracovat, a za druhé, každý klíč, který funguje se zámkem, se může v zámku otáčet pouze jedním směrem – pro účely tohoto příkladu, otáčejí se pouze ve směru hodinových ručiček.

Párové klíče

Dva klíče v tomto asymetrickém systému fungují pouze jako pár. Pokud by měl Burt tento zámek znovu zaklíčovat, musel by vytvořit dva nové klíče. Pro snazší rozlišení těchto dvou kláves je Burt barevně odlišuje. Jednu dělá zelenou a druhou červenou. Burt udržuje červený klíč zabezpečený (svůj soukromý klíč), ale může zpřístupnit zelený klíč komukoli, kdo ho chce (jeho veřejný klíč). To může znít neintuitivně. Důležitým rysem těchto klíčů je však to, že i když spolu souvisí, je prakticky nemožné zjistit jeden klíč na základě znalosti druhého. Jako takový může být jeden klíč zpřístupněn veřejnosti, aniž by se prozradilo cokoliv o jeho protějšku.


Šifrovací systémy veřejného klíče.

Tyto klíče se ve skutečnosti používají jako veřejný a soukromý klíč (označení barev má pomoci vysvětlení trochu snazší sledovat). Generování těchto klíčů zahrnuje docela šikovnou a komplikovanou matematiku. (Tyto algoritmy začínají výpočty zahrnujícími součin dvou velmi velkých prvočísel a daleko přesahují rámec tohoto příkladu.) Mezi běžné algoritmy používané v kryptografii s veřejným klíčem patří RSA (pojmenovaný po jeho tvůrcích Rivest, Shamir a Adleman), DSA /DSS (Algoritmus digitálního podpisu/Standard digitálního podpisu) a ECDSA (Algoritmus digitálního podpisu s eliptickou křivkou). Tento druhý algoritmus místo toho využívá matematiku kolem eliptických křivek a je přinejmenším stejně zastrašující pro matematické averze jako algoritmus RSA.

Zámek ve směru hodinových ručiček (jak fungují klávesy)

Kromě toho, že tyto klíče fungují pouze jako součást páru, fungují také pouze v zámku v jednom směru. Například Burt používá zelený (veřejný) klíč k zajištění zámku, což vyžaduje poloviční otočení zámku. Protože zámek funguje pouze v jednom směru, zelený klíč nemůže zámek odemknout obrácením směru jako běžný zámek. V tuto chvíli je kvůli speciální povaze tohoto zamykacího mechanismu jediným způsobem, jak jej odemknout, použít spárovaný červený (soukromý) klíč.

Tímto způsobem, když je zámek zabezpečen zeleným (veřejným) klíčem, může jej otevřít pouze osoba, která vlastní červený (soukromý) klíč. Tímto způsobem může Burt zpřístupnit zelený klíč široké veřejnosti. Může poslat kopii zeleného klíče Adamovi (dokonce by mohl kopii zpřístupnit pro veřejné vyzvednutí nebo duplikaci). Každý, kdo má kopii tohoto zeleného klíče, může tento zámek zamknout a v tu chvíli může zámek otevřít pouze Burt – za předpokladu, že má svůj červený (soukromý) klíč v bezpečí. Nyní, když chce Adam něco bezpečně poslat Burtovi, může použít Burtův zelený (veřejný) klíč. Podobně by měl Adam svůj vlastní klíčový pár a mohl by také zpřístupnit svůj zelený klíč Burtovi (nebo komukoli jinému), aby jej mohl použít.

Nyní, pokud by se náš nezkušený Cesar pokusil prolomit tuto metodu zabezpečení, musel by prolomit dva různé zámky, aby získal celou konverzaci. I kdyby dokázal překonat jen jednu, viděl by jen polovinu rozhovoru.


Jednosměrné šifrování.

Toto použití jednosměrného šifrování se používá v některých zabezpečených e-mailových výměnách, jako je použití PGP (Pretty Good Privacy) nebo GPG (Gnu Privacy Guard). Pokud jste někdy viděli zmínku o něčím veřejném klíči PGP nebo GPG (a pravděpodobně o bloku náhodně vypadajícího textu, který byl samotným klíčem), můžete vidět, proč může být zveřejněn jako součást e-mailového podpisu nebo veřejně přístupný webová stránka. Pomocí tohoto klíče může kdokoli zašifrovat e-mail, který může dešifrovat pouze vlastník soukromého klíče (příjemce).

Dvakrát uzamčená schránka

Tady má Burt chytrý nápad. Umístí do krabice nějaké kresby pro komiks, na kterém s Adamem pracují, umístí na krabici svůj zámek a zajistí ji svým zeleným (veřejným) klíčem. Nyní je jedinou osobou (protože má jedinou kopii červeného klíče), která může odemknout tuto schránku. Pošle tuto krabici Adamovi.

Adam, který nemá kopii Burtova červeného (soukromého) klíče, nemůže zámek odemknout. Může ale na krabici umístit svůj vlastní zámek. Tento zámek si zajistí vlastním zeleným (veřejným) klíčem. Adam pošle tuto dvakrát zamčenou krabici zpět Burtovi.

Burt dostane krabici a jediný způsob, jak ji může otevřít, je mít svůj vlastní červený klíč a Adamův červený klíč. Ale Adam drží svůj červený klíč v tajnosti stejně jako Burt svůj vlastní červený klíč, takže Burt nebude moci krabici otevřít. Burt však nechce krabici otevřít – pamatujte, že tento proces začal, takže chce, aby Adam získal umění obsažené v krabici. Může však odemknout svůj vlastní zámek svým vlastním červeným (soukromým) klíčem. Když to udělá, jediným zabezpečením na krabici je zámek, který Adam zajistil.

Burt pošle krabici zpět Adamovi a nyní Adam pomocí svého červeného klíče odemkne zbývající zámek. Burt úspěšně a bezpečně odeslal tento balíček. Tato metoda přidává několik vrstev zabezpečení v tom, že existují dvě vrstvy zamykání/šifrování a ve skutečnosti, že žádný sdílený klíč nemusí být nikdy vyměňován prostřednictvím potenciálně nezabezpečeného média. Není to však příliš efektivní systém, pokud potřebují posílat bezpečnější zprávy tam a zpět včas.


Zdvojnásobte šifrování.

Tato schopnost je jednou ze zajímavých vlastností matematiky za kryptografií s veřejným klíčem. Zpráva může být zašifrována vícekrát; pak při dešifrování lze toto dešifrování provést v libovolném pořadí. Funguje to komutativním způsobem jako některé jednoduché matematické funkce. Pokud byste například začali číslem 10 a přidali tři další čísla – řekněme 3, 5 a 7 (takže 10 + 3 + 5 + 7, abyste dostali 25), můžete je odečíst od svého součtu v libovolnou objednávku, abyste se dostali zpět na stejné původní číslo (25 – 5 – 7 – 3 =10). Matematika za touto kryptografií je samozřejmě podstatně složitější.

Složitý, robustní zámek

I když Adam a Burt nyní vypracovali metodu šifrování s veřejným klíčem, není to bez nevýhod. Tato metoda dvakrát zamknuté schránky pro zabezpečení komunikace trvá třikrát déle na jednu zprávu. Kromě toho metody šifrování s veřejným klíčem bývají pracnější, pokud jde o provádění šifrování nebo dešifrování. Ve výše uvedeném příkladu si představte, že místo toho, aby se každý klíč otočil v zámku o půl otáčky, vyžaduje to 10 úplných otočení. To by znamenalo 40 otočení (Burt zamkne (10) + Adam zamkne (10) + Burt odemkne (10) + Adam odemkne (10)) na zprávu!

Tato neefektivita má však jednu výhodu. Pokud by Cesar použil zařízení, které by dokázalo simulovat jakýkoli klíč, a za předpokladu, že otevření jednoho z těchto zámků vyžaduje plných 10 otočení, jen aby zjistil, zda tento klíč funguje, pak by čas, který by mu zabralo vyzkoušet každou kombinaci kláves (brutální silový útok) se zvýší také 10krát.


Jak větší klíče zlepšují zabezpečení.

Délka šifrovacího klíče se měří v bitech. Čím větší je bitová délka klíče, tím odolnější je klíč objeven pomocí pokusů o rozbití hrubou silou. Čím větší je bitová délka klíče, znamená to také, že se zvyšuje práce potřebná k provedení šifrování nebo dešifrování. Protože však asymetrické a symetrické šifrovací algoritmy fungují různými způsoby, jejich délky klíčů nejsou přímo srovnatelné. Například RSA (asymetrický) 1024bitový klíč má přibližně stejnou sílu jako 80bitový symetrický klíč. K dispozici jsou nástroje pro porovnání relativních délek klíčů mezi různými metodami šifrování, jako je ta, kterou udržuje BlueKrypt, které mohou pomoci objasnit rozdíl ve výpočetních nákladech mezi těmito metodami.

Tyto rozdíly zdůrazňují jeden z hlavních rébusů počítačové bezpečnosti:bezpečnost vs. pohodlí. Práce na zlepšení jednoho jde často na úkor druhého. Zvětšením bitové délky šifrovacího klíče se zvýší jeho síla, ale také to znamená, že provedení šifrování a dešifrování bude trvat déle. Když jsou přijata opatření ke zlepšení pohodlí, jako je zvýšení výpočetního výkonu nebo zkrácení délky klíče, stejná opatření také znamenají, že úspěšné uhodnutí klíče pomocí metod hrubé síly vyžaduje méně práce.

Více v sérii „Jak fungují sítě VPN“

Část 1:Algoritmy symetrického šifrování
Část 3:Výměna sdíleného klíče
Zjistěte více o službách od Atlantic.Net, včetně hostingu VPS.


Linux
  1. Co je Makefile a jak funguje?

  2. Co je NGINX? Jak to funguje?

  3. Co je webový server a jak webový server funguje?

  1. Ssh – vzhledem k soukromému klíči Ssh, jak obnovit veřejný klíč?

  2. Co je výměna sdíleného klíče (Jak fungují sítě VPN, část 3)

  3. Jak rm funguje? Co dělá rm?

  1. Jak funguje vstup z klávesnice a textový výstup?

  2. Co je DNS a jak funguje?

  3. Jak zašifrovat velký soubor v openssl pomocí veřejného klíče