Komentáře ke článku: To, že jsi paranoidní, ještě neznamená, že po tobě nejdou! (Joseph Heller) (ze dne 21.06.2015, autor článku: [Neregistrovaný autor])
Přidat nový komentář
|
Proboha, proč??? Dnes je používána mnohem bezpečnější kryptografie založená na soukromých/veřejných klíčích, která je při bezpečném použití téměř neprolomitelná. (A programy na tohle, přes možné bezpečnostní díry, jsou open-source dostupné na Internetu.)
Vernamova šifra se dnes dá prolomit celkem snadno kvůli nenáhodnosti klíče.
Upřímně řečeno se tohle zdá spíš jako parodie na šifrování.
|
|
|
Přijde na to, jak volíte klíč; máte-li skutečně náhodou posloupnost (vygenerovanou hardwarovým generátorem, ne pseudonáhodnou), pak je Vermanova šifra dobrá volba.
Pokud však použijete metodu, kterou navrhuje autor v článku, je to pak samozřejmě na hovno, protože udělá neuvěřitelné množství paranoidních kroků, ale celé mu to shoří na blbém klíči. Když si ale vygenerujete skutečně NÁHODNÝ (a dostatečně dlouhý) klíč, který si s druhou stranu komunikace vyměníte, je to bezpečné.
|
|
|
Nesouhlasím. Náhodně vybraný text náhodného autora v náhodném jazyce se výpočtu z odvození od radiaktiního rozpadu nebo jiného hardwarowého řešení nebude lišit, biologické faktory se při generování používají. Důležité je také, že bez 100% jistoty zanalosti klíče si útočník nemůže být jist, jestli mu nevyšel jen náhodný řetězec o stejné délce, jen náhodou dávající smysl.
Důvodem je omezená možnost posunu (musí být, jinak by Vám mohla jako výsledek v krajním případě vyjít zpráva sama - přetíkání pole), samozřejmě navrhovaný způsob nemůže konkurovat v délce.
|
|
|
To bohužel ani náhodou. Náhodně vybraný text náhodného autora v náhodném jazyce je TĚŽCE nenáhodná posloupnost. Dokonce i náhodně vybraná slova v náhodných jazycích od žádného autora je stále TĚŽCE nenáhodná posloupnost.
Z odvození od radioaktivního rozpoadu se to bude lišit EXTRÉMNĚ a bude to představovat rozdíl mezi tím, zda je to "reálně neprolomitelné", nebo "velmi snadno prolomitelné".
Co se týče toho důkazu, že bez 100 % jistoty znalosti klíče, si útočník nemůže být jist, jestli mu nevyšel jen náhodný řetězec o stejné délce, jen náhodou dávající smysl, tak to je absurdně absurdní (nemluvě o tom, že v tom se Vernamova šifra nijak neliší od šifer ostatních). Důvodem, proč si to myslíte, je to, že nevidíte, jak málo entropie je v textu (jakémkoliv).... proč si myslíte, že text (jakýkoliv) jde tak snadno komprimovat? To je právě z důvodu nízké entropie. Čistá náhodnost znamená, že je tam entropie nejvyšší, ergo to NELZE vůbec komprimovat. Texty jsou ke kompresi jako dělané.
Chápu, že jste o šifrování přečetl nějaké knížky, že Vás to baví, jako koníček je to fajn. Každopádně Vám říkám (a to se fakt nechci nijak povyšovat, nebo Vás shazovat, jen prostě těm věcem rozumím, chápu i tu matematiku za tím, což Vy –bez urážky– ani smykem, to je zjevné z toho, co píšete), Vaše znalosti jsou příliš chabé, abyste mohl cokoliv reálně zabezpečit, případně cokoliv vymýšlet, byť i jen na základě kombinace několika dobrých rad.
Vážně to nepíšu proto, abych Vás nějak ponížil, jen Vás chci varovat, že ač Vás třeba šifrování zajímá (předpokládám, že je to nový koníček), nemáte o něm (zatím) páru. Studujte, studujte, pak zjistíte, co všechno nevíte. Každopádně je moc dobře, že jste ten článek napsal, alespoň jste dostal příležitost poučit se.
|
|
|
|
Open source bezpečnostní díra je stále bezpečnostn dírou.
|
|
|
Opensource si clovek muze zkontrolovat a opravit, closed source nikoli.
|
|
|
To je klasicke OS klise. Ve skutecnosti si muze clovek zkontrolovat a dokonce i opravit i closed source, akorat to vyzaduje nejake schopnosti a obvykle i vic usili.
Co se sifrovani tyce, jde hlavne o kontrolu a tam muze byt vyhodnejsi kontrolovat binarku. Protoze v ni uz je presne to, co vidi procesor a ne to, co si myslime, ze uvidi na zaklade prekladu zdrojaku. U sifrovani muze i velmi drobna chyba implementace, ktera je ve zdrojaku temer neviditelna, zpusobit bezpecnostni diru. V binarce muze byt videt lip.
Paradoxem OS je to, ze si ho kazdy muze zkontrolovat, ale nikdo to nedela. Protoze spoleha na to, ze to udelaji ostatni. Ale mne si nevsimejte, jen jsem sel okolo a neodolal.
|
|
|
Jo jo, opravdovi programatori pisou program pomoci copy con > program.exe.
A code sanity check tooly jako napr valgrind, nebo jine lint obdoby, ro opravdovy koder nepousti.Mrkne na assembler, tedy ten bordel plny subcallu vygenerovany kompilatorem, hned uvidi na instrukci cislo 1334215, ze alokuje maly buffer a ze ten vehement pretece.
|
|
|
Opravdovi programatori nakoduji program na prednim panelu pocitace. Opravdovy analytik pouzije disassembler, ktery mu ten bordel pekne roztridi a vysledek bude citelnejsi, nez prumerny Linuxovy zdrojak.
Lint je fajn vec, ale zkus si ho pustit na nejaky vetsi kus OS kodu. Nez u kazdeho z milionu warningu zvazis, jestli ma nejaky realny dopad, tak uz bude analytik davno hotov. Nemluve o tom, ze chyba, ktera snizi bezpecnost sifrovani o mnoho radu, vubec nemusi byt lintem zachytitelna. Protoze kod muze byt perfektne validni a presto nebezpecny.
|
|
|
Ale x-dlajs. Opravdovemu programatorovi staci hole hexa (coz se, pravda, tomu prednimu panelu dost blizi).
Dokonce jeste pamatuju dobu, kdy jsem vicemene opovrhoval i relativnimi skoky.
|
|
|
Kolik analytiků nejraději pracující s binárním kódem znáte?
Já žádného. Disassembler je až poslední možnost.
Od doby, kdy ajťáci psali podobné výkřiky, uplynulo 30 let. Zatímco před 30 lety ještě bylo možné najít chybu ve stostránkovém hexdumpu paměti, dnes už nikoho nenapadne tisknout si padesát tisíc stran hexdumpu při pádu pitomého Adobe Flash.
Dobře napsaný kód samozřejmě nemá žádné warningy. Protože pokud najde problém kompilátor nebo valgrind, cracker už to nějak dokáže využít. Kód s warningy píší prasata, a jejich kód nebude bezpečný nikdy.
|
|
|
Asi se pohybujeme nekde jinde. Ja v kernelu a diassembler nekdy byva prvni a nejlepsi moznost. Protoze kdyz ma clovek jen memory dump a zadny dalsi pokus, musi se s tim nejak poprat. Tady mam taky jen jeden pokus, jelikoz se nehodlam registrovat. Takze mozna trochu zareaguju i na ten druhy komentar, ale moc se mi nechce, prijde mi, ze ja o koze a vy o koze. Od zacatku je rec ciste o sifrovani, takze resit hexadump Flashe je trochu mimo.
Dobre napsany kod nema zadne warningy od kompilatoru. Napsat netrivialni kod, u ktereho se nebude muset vypinat zadny warning od lintu je jiny level a v praxi jsem to snad jeste nevidel, vzdycky se pouzije nejaka predefinovana konfigurace, ktera cast warningu vypina. Reakce ovsem byla na existujici OS kod. Kdysi jsem omylem pustil lint na OpenSSL, to bylo radosti.
Odporujete si. Pokud neni hledani chyb v closed source problem (souhlasim, neni), proc by mela byt problem revize kodu? Vzdyt jde v zasade o to same. A rec byla na zacatku ciste o tom, jestli jde closed source zkontrolovat nebo ne, nikoliv o slozitosti ulohy. U velkych kusu kodu je to samozrejme problem, ale rec je o sifrovani a sifrovaci algoritmy jsou obvykle celkem male.
Opravou binarek jsem samozrejme myslel zaplatovani, na tom neni nic spatneho.
Co se tyce kontroly OS, zase slo puvodne o neco jineho. O predstavu, ze OS je bezpecny, protoze ho kazdy muze zkontrolovat. Muze, ale nekontroluje. Zazil jsem chybu v OS kodu, ktere vznikla nekdy pred 20 lety a od te doby se kopirovala a kopirovala a kdyz se na ni konecne prislo, byly postizeny vsechny OS implementace a znacna cast komercnich, ktere z te puvodni vychazely. K dukazu sporem ale vlastne ale staci jedno slovo: heartbleed.
Abych to nejak uzavrel. V realu bychom nejspis nasli spolecnou rec, takkhle se spis mijime. Puvodne jsem jen chtel reagoval na to OS klise typu ctyri nohy dobre, dve nohy spatne.
|
|
|
Dobrá, v kernelu občas disassembler potřebujete. Ale kolikrát má chyba viditelná jen v disassembleru bezpečnostní dopad? Já vím o jediném případu.
Revize kódu je něco jiného než hledání bezpečnostních děr.
Zatímco revize vyžaduje kontrolu všech použitých funkcí, algoritmů a aplikovaných mezí, hledání děr naslepo zkouší všechny běžné vektory útoků (např. se pokouší přetéct všechny buffery ve vstupu, zkouší rozvoj znaků, které v daném kontextu nemají být interpretované.
Hledání útoků v closed source programu většinou pouze zkouší známé typy útoků.
Že to funguje, ukazuje Flash Player, kde black hats najdou neznámou zneužitelnou díru průměrně jednou za měsíc.
Revizí zdrojového kódu však lze nalézt unikátní typy útoků, které prosté zkoušení nad closed source programem nenajde.
Také znám z praxe programy, kde se chyba zachovala desítky let. Ale jednoduché bezpečnostní díry to nebývají. Je spousta lidí, která se jejich hledáním živí, anebo si na tom dělají jméno v oboru.
Chyby v šifrovacích programech jsou trochu specifické. Málo lidí tomu rozumí natolik, aby takové chyby odhalili.
|
|
|
"Ale kolikrát má chyba viditelná jen v disassembleru bezpečnostní dopad? Já vím o jediném případu."
Může mít dopad často. Například jsem (bohužel si teď nevzpomínám, kde) četl o tom, když jedna verze kompilátoru Visual C++ "optimalizovala" kód, kde se po použití hesla provedl memset dotyčné proměnné na \0, aby heslo nezůstávalo v paměti a nemohlo být zjištěno memory dumpem (kompilátor usoudil, že když se proměnná dále nepoužívala, byla tato operace zbytečná). Všechny programy zkompilované pomocí tohoto kompilátoru používající tento pattern tak byly napadnutelné.
|
|
|
To je dobry priklad, vzpominam si na to. Mam pocit, ze pote pridali pro takove pripady nove warningy. Kazdopadne je to ale cela trida problemu, ktere ze zdrojaku videt byt nemusi. A bohuzel ani pri debugovani, jelikoz to se obvykle dela s debug verzi, kde jsou agresivni optimalizace vypnute.
2 Standa: ano, ale slo mi od zacatku o to, ze veci nejsou tak cernobile a ze OS nutne neznamena vyssi bezpecnost. A taky prave o to, ze sifrovani je specificky pripad. Nektere pokusy o utok jsou velmi rafinovane a tam se uz vyplati znalost kodu na urovni instrukci. Ono to neni az tak davno, 10, maximalne 15 let, co jsme ty sifrovaci algoritmy psali rucne v assembleru. Hlavne kvuli rychlosti, takze se slo az na optimalizaci pro jednotlive procesory, ale diky tomu mam predstavu, jak by to vypadalo z druhe strany a nevidim zasadni problem v kompletni revizi celeho sifrovaciho algoritmu. Nakonec, nejdulezitejsi schopnost analytika je vytahnout z kodu to podstatne a ignorovat balast okolo. Ale kdyz tak koukam na uplny zacatek tehle diskuse, tak bych rekl, ze na tom prvnim se shodneme a na tom druhem asi taky. Proc teda vlastne diskutujeme? ;-)
|
|
|
To není pravda. Revize bezpečnosti closed source kódu je řádově náročnějším úkolem, zvlášť co se týká revize použitých algoritmů. Řádově, tím myslím tak zhruba dva až tři řády. Kód, který v C zkontroluje za den jeden programátor, bude ve strojovém kódu louskat a interpretovat desítka specialistů půl roku.
Jestli je někdo natolik nepozorný, že přehlédne třeba one-off nebo použití jiné proměnné ve zdrojáku, je velmi pravděpodobné, že i v binární podobě přehlédne jinou číslici v šestnáctimístném hexadecimálním čísle.
Příkladem budiž program InterBase. Byla v něm 15 let zadní vrátka. Po otevření zdrojového kódu byla nalezena za jednotky dnů.
A oprava closed source binárek je víceméně nemožná. Je možné pouze jejich zazáplatování.
Zato při hledání děr není closed source až tak velkým problémem. Pravda, chyby, kdy je použit nevhodný algoritmus, či je možný univerzální přístup, se sice hůře hledají. Ale na testování přetečení, one-off, race condition, sanitization, buffer overflow nemá fakt, že jde o closed source, žádný vliv.
Bezpečnostních chyb, které lze identifikovat již ve zdrojovém kódu, je 99,9%. (Ve skutečnosti vím o jedné jediné bezpečnostní chybě, ve které nějak figuroval kompilátor. A i ta šla identifikovat ve zdrojovém kódu spolu se znalostí kompilátoru. Případ, kdy by došlo k mis-kompilaci, které by měla bezpečnostní dopad, nepamatuji.)
Jste na omylu. V každém okamžiku desítky lidí procházejí OS a kontrolují jeho bezpečnost. Jen jde o to, pro koho pracují.
|
|
Myslel jsem, že nevýhody používání jsem v článku snažil vysvětlit. Nehledě na možnou děravost samotného systému.
Namátkou ...
www.linuxexpres.cz/novinky/dvacetileta-bezpecnostni-chyba-v-shellu- bash
it-blog.cz/zavazna-bezpecnostni-chyba-v-openssl
V těchto a podobných případech si samozřejmě lidé znalí těhto bugů? mohli Vaši komunikaci číst naprosto bez problémů, pokud by o to stáli.
Několikrát jsem náhodnost a klíče (a tedy i neopakování) zdůraznil, při dodržení tohoto pravidla je šifra neprolomitelná. Matematická obhajoba třeba tady web.mit.edu/6.933/www/Fall2001/Shannon1.pdf.
Jako základní princip Vernamu šifru přejímá i kvantová kryptografie.
Zajímavá přednáška ke kvantovému šifrování
https://www.youtube.com/watch?v=MB5PlIiIkkU
Co se běžného používání týká tak s Vámi souhlasím a rozhodně se nebudu složitě domlouvat s kamarády na pivo. Ale vzhledem k varovným zprávám o "sponzoringu" vývojářů různými agenturami bych si o jejich "dostatečné" síle nebyl tak jist.
Stejně tak u one man projektů s malým počtem vývojářů hrozí nebezpečí, že někdo někoho chytne za koule. Vzpomeňte na svého času vynikající TrueCrypt ...
|
|
|
To byla samozřejmě odpověď pro Malloryho
|
|
|
Jste si jist, že víte, co znamená, že klíč má být NÁHODNÝ?
V článku jste psal například: zdroj pro klíč musí být minimálně tak dlouhý jako zpráva - nejlépe vybrat si nějaký dostatečne stabilní zdroj třeba z nějakého internetového měsíčníku, nebo klidně z nějaké knihy v pdf
To ale rozhodně nejsou náhodné klíče. Dokonce ani pseudonáhodná posloupnost není náhodný klíč.
Jestli jste četl a pochopil důvod, proč je ta šifra bezpečná při náhodném klíči, pak musíte vědět i to, že použití jakékoliv textu coby klíče je naprosto nepřípustné. Dokonce i když budete nahodile třískat do klávesnice, nebo když Vám tam bude chodit kočka, je to špatné, protože to není náhodnost. Pokud jste ale jen slyšel, že při použití náhodného klíče je šifra neprolomitelná, tu "náhodnost" jste si vyložil nějak "selským rozumem", pak je to špatné, protože se snažíte něco zabezpečit v dobré víře a podle dobrých rad, ale vůbec nerozumíte tomu, co vlastně děláte. To neberte jako nějaký výsměch, rozhodně je fajn být zapáleným amatérem, jen si musíte být vědom, že pokud nechápete, co děláte, tak se Vám to může vymstít (tady je dobře, že jste o tom napsal článek, my jsme Vás na tuto konkrétní chybu upozornili.... ale podobné omyly jsou fatální.... a nerozumíte-li, jak to šifrování funguje, pak se takovým omylům ani nelze vyvarovat).
|
|
|
Nechci se pouštět do debaty co je to ta pravá náhoda Urzo. Jen k principu, stěžejní rozdíl mezi zažitými pojmy pseudonáhodnost a náhodnost je ten, že pseudonáhodné prvky jsou generovány známým algoritmem z předvídatelných dějů, typicky generátory pracující v OS.
|
|
|
Ach jo.... v mnohých filosofických debatách mi můžete říci, že je to slovíčkaření a ať jdu s tím svým matfyzáctvím někam a podobně.... problém je, že Vy právě píšete o tom takovém "matfyzáckém" tématu.
Toto není slovíčkaření a filosofická debata o tom, "co je ta pravá náhoda", tohle je zcela praktická debata o tom, že použijete-li náhodnost skutečnou, je ta šifra velmi bezpečná, zatímco proužijete-li tu Vaši náhodnost, je ta šifra úplně k ničemu.
|
|
|
To bych trochu upresnil: Vernamova sifra (OTP) je absolutne bezpecna pokud se dela spravne, t.j., pouziva opravdu nahodny zdroj dat. K tomu existuje relativne jednoduchy dukaz.
Je ale neskutecne neprakticka, protoze je potreba dorucit klic (ktery nesmi byt kratsi nez zprava a smi se pouzit jen jednou) prijemci. Takze pouzivat by to mohli snad spioni vyslani s fleskou plnou nahodnych dat.
Vyber "nahodnych" dat "z nějakého internetového měsíčníku" je uplny nesmysl. Tech mesicniku existuje rekneme par tisic, takze to bude asi tak dobre jako ctyrpismene heslo. NEPOUZIVAT!!!.
Pro prakticke ucely je rekneme AES-128 nebo 256 uplne stejne dobre, teda za predpokladu silneho hesla. Ona totiz NSA ci jini sraci neinvestuje svuj rocni rozpocet za elektrinu do rozsifrovani vaseho mejlu, pokud o to bude stat, tak vam zaviruje comp nebo to z vas necha vymlatit.
|
|
|
KeePass
KeePass+PGP
Ano
Ano, ale ani ročný ani tisícročný rozpočet na elektrinu nestačí.
|
|
|
Pravá náhodnost je definovaná matematicky, a nazývá se kvalitou náhodného generátoru. Cokoliv, co vykazuje míru náhodnosti menší, než 99,9999%, bych si nikdy nedovolil na Vernanovu šifru použít. A dokonce i těch 99,9999% je pro velmi dlouhé zprávy málo, a může znamenat ohrožení nedešifrovatelnosti dat.
A nejde jen o teorii. Takové útoky na nedokonalost náhodných generátorů se skutečně pužívají, a bývají poměrně úspěšné. Dešifrování se z milionu let zkrátí třeba na několik hodin. Například slavná Enigma byla mimo jiné prolomena právě proto, že v kódu se nesmělo písmeno nikdy mapovat na to samé písmeno. Pro laiky, kteří si to vymysleli, to vypadalo jako vylepšení bezpečnosti. Ve skutečnosti to bylo snížení náhodnosti dat o 3%.
Vámi vybraný náhodný text v náhodném jazyce v PDF má tuto míru stěží 30%. Prolomení bude na silném počítači otázkou sekund. PDF například začíná přesně definovanou sekvencí. Tedy pokud je použitá jako klíč, máte prvních několik bajtů zprávy okamžitě.
|
|
|
PDF jsem myslel jako zdroj úseku textu, tedy ne jako binárku.
|
|
|
To vám nepomůže. Vernamova šifra je jednoduchá šifra, která naprosto fatálně stojí na kvalitě náhodného generátoru.
Ve vašem případě se dešifrování zjednoduší na úkol dešifrovat XOR dvou textových souborů. Slov ve všech jazycích není vic než miliarda. Na standardní slovníkový útok stačí otestovat miliardu kombinací, a výsledek XOR porovnat s toutéž miliardou slov na možnou shodu. Dnešní počítač to tedy bude schopen lámat přinejhorším rychlostí jednotek slov za sekundu, a to i v případě, že klíč bude v jazyce Xhosa a zpráva v jazyce Navajo.
I kdyby to měl porovnávat s naprosto všemi binárními soubory, které najde na internetu, nevzroste složitost více než o čtyři řády. Pro NSA ve spolupráci s archive.org naprosto triviální úloha, kterou tam možná dávají studentům!
|
|
|
Pokud by Enigma byla používána správně - tj. vždy s 11 kabely na steckerbrettu a méně predikovatelným plaintextem (začátek „an der“ a konec „heil hitler“), Thuringovy metody by pravděpodobně moc úspěšné nebyly bez ohledu na zmíněnou zranitelnost. Enigmu nenavrhoval žádný blbec či laik a tahle vlastnost byla daní za symetrii, jednoduchou konstrukci a snadnost používání. (Ono je to logické, že signál nemůže jít jedním drátem tam i zpátky.) Existovaly i jiné podobné stroje, z nichž o některých dodnes není známo, že by byly prolomeny (např. sovětská Fialka).
Stran náhodnosti klíče pro Vernamovu šifru je to takové všelijaké. Samozřejmě že Vy a Urza máte pravdu v tom, že brát jako klíč nějaký text v existujícím jazyce je pitomost non plus ultra. Na druhou stranu i s matematicky slabými klíči může být reálná bezpečnost solidní. V SSSR byly jeden čas klíče generovány tím, že halda písařek náhodně mlátila do klávesnic, přičemž pokud je známo, k prolomení těchto klíčů nedošlo.
Dnes jsou ale slušné hardwarové generátory dostupné v podstatě každému, takže nemá cenu řešit pitomosti jako kniha či webová schránka.
|
|
|
Thuringovy metody by pravděpodobně moc úspěšné nebyly bez ohledu na zmíněnou zranitelnost
Tehdy možná ne; dnes už bez problémů.
V SSSR byly jeden čas klíče generovány tím, že halda písařek náhodně mlátila do klávesnic, přičemž pokud je známo, k prolomení těchto klíčů nedošlo.
Máte-li jich haldu a jejich vstupy se slévají, je to MNOHEM náhodnější, než když to dělá jedna (nebo kdyby se jejich vstupy neslévaly).
|
|
|
Před časem se někdo pokoušel louskat dosud nedešifrované druhoválečné zprávy pomocí sítě počítačů (a la SETI @home). Mám dojem, že jim to zabralo nízké tisíce let strojového času na zprávu, ačkoli šlo o reálné zprávy se známými operačními chybami. Takže ano, pro NSA žádný problém, asi i víceméně v reálném čase. Zda by to vůbec napadlo průměrné české šmíráky těžko říct.
Docela by mě zajímalo, zda se podařilo lousknout tu Fialku. Třeba se to za pár desítek let dozvíme. Hagelinovy mechanické šifrovací přístroje prolomeny byly, ale pokud vím, tak jen kvůli úmyslnému backdooru, který tam autor nechal po dohodě s CIA či NSA.
Tvorbu bezpečných klíčů z více nebezpečných tuším popisoval už von Neumann. Jak přesně to dělali ti Rusáci ale netuším.
|
|
|
Zda by to vůbec napadlo průměrné české šmíráky těžko říct.
Tak ty průměrné určitě ne; ale vím (sice z druhé ruky, ale od velmi důvěryhodného zdroje), že i PČR disponuje nějakými v tomto směru kvalitními lidmi.... nevím sice, kolik jich je a co je přesně náplní jejich práce, ale jsou tam.
|
|
|
Stando, problém nebyl ve snížení náhodnosti o 3%, problém byl, že vznikl přímý vztah mezi vstupem a výstupem - tedy že určitá slova se na mnoha místech nemohla vyskytovat.
PS.: Ta diskuse tady je komická, "to je hovno náhoda" a "to je dostatečná náhoda" sem a tam, ale pořádný argument, jakože místo "já rozumim i tomu matematickýmu pozadí za tim narozdíl od tebe debile" by třeba komentující napsal "hezky je to vysvětleno tady" nebo "o lámání šifer s malou entropií klíče více zde:" už tady nikde neni.
Výsledkem je diskuse k hovnu včetně reagujícího článku, ve kterém jsme se dozvěděli, že autor tomu rozumí a tak bychom neměli ty slabé klíče používat - dík, hned sem chytřejší.
|
|
|
No tak pardon, že to tady vysvětlujeme v diskusi a neházíme linky.
|
|
|
Nechci se pouštět do debaty co je to ta pravá náhoda Urzo.
Přirozený text nelze použít jako náhodný klíč proto, že pravděpodobnost výskytu jednotlivých znaků (elementů textu) není pro všechny znaky stejná (např. existují tabulky četnosti znaků pro různé jazyky a abecedy). Důsledkem je, že některé znaky se v přirozeném textu vyskytují častěji, než jiné a libovolný text vytvořený v přirozené řeči tedy nemá charakter náhodného signálu. Pro snazší pochopení si musíte uvědomit, že souvislý text vytvořený v přirozené řeči nese informační obsah, který se mimo jiné projeví tím, že posloupnost jednotlivých elementů v textu není náhodná, ale uspořádaná podle syntaktických a sémantických pravidel použitého jazyka.
Tentokrát má Urza pravdu, i když ji jako obvykle prezentuje se zdvořilostí řeznického psa :-)
|
|
|
Jo, prirozeny text ma snad min nez jeden bit na pismeno, coz je tady pekny pruser. Musel by se hashovat aby se zahustil (a zkratil) a porad zbyva problem vyberu textu. K OTP to ma daleko jako EU k prosperite.
> Tentokrát má Urza pravdu, i když ji jako obvykle prezentuje se zdvořilostí řeznického psa :-)
To mi neprijde... a i kdyby. Kdyz nekdo radi skocit protoze ten asfalt je vlastne mekoucky, pak zdvorilost neni moc namiste.
|
|
|
Ale jo, máte pravdu, dementy a idioty tentokrát vynechal. Nejspíš jsem přecitlivělý na jeho styl :-)
|
|
Autor názorně ukázal, proč by si člověk neměl psát vlastní krypto, pokud tomu opravdu perfektně nerozumí.
Kromě už zmíněného problému s nenáhodným klíčem (ne, přirozený text opravdu není náhodná posloupnost) je i ta implementace naprosto blbě. Hint: Jaké bylo písmeno v plaintextu, pokud na daném místě v ciphertextu najdu 02?
A to nemluvím o tom, že stáhnout si software z neznámého zdroje po nezabezpečeném kanálu a používat ho pro kryptografii (resp. vůbec ho spouštět) může jen někdo opravdu naivní.
|
|
|
... pokud na daném místě v ciphertextu najdu 02?
No to přece záleží na tom jak budete mít písmena naindexovaná ...
|
|
|
A neměla by náhodou odpověď záviset taky na klíči?
Leda byste to očíslování písmenek považoval taky za klíč. Pak bychom ale měli blbě implementovanou Vernamovu šifru s nenáhodným klíčem kombinovanou s jednoduchou substituční šifrou. Pořád nic moc.
Krom toho, v článku nikde nevidím upozornění, že číslování si má každy vyrobit vlastní (a dohodnout s partnerem, se kterým komunikuje). Jaké očíslování používá ten skript na liveCD?
Hint2: modulo
|
|
|
Je to napsáno jen v kódu, ano do textu jsem to dát mohl. Na CD je to tak jak v ukázce scriptu, dát to tam jinak každý kdo to stáhne by měl stejně měl stejně.
Předpokádal jsem že řešíte situace kdy zpráva A se potká s klíčem A.
modulo? nikde nedělím
|
|
|
I kdyby to bylo napsáno velkým červeným písmem a každý to dodržel, bezpečnost se vylepší pouze kombinací s jednoduchou substituční šifrou. Vernama to nezachrání.
Sčítat se tam má modulo, vizte třeba https://en.wikipedia.org/wiki/One-time_pad#Example.
Tam mířil i ten první hint. Když se akorát sčítá, tak o plaintextu ciphertext leccos prozradí, a to nejen když se potká A s A (nebo jiné písmenko s číslem 1).
Omlouvám se, ale dál diskutovat asi nemá cenu. Než budete psát další články na toto téma a pokoušet se o vlastní implementace, zkuste si téma pořádně nastudovat.
|
|
|
Vernama to nezachrání.
Lépe: Váš pokus o implementaci Vernamovy šifry to nezachrání.
|
|
Jediné bezpečné použití Vernanovy šifry je nejprve odeslat na místo příjmu šifrovací klíč vytvořený ověřeným hardwarovým náhodným generátorem. Fyzicky, zapečetěný takovým způsobem, aby bylo možné s jistotou poznat, že s klíčem bylo manipulováno, např. někdo rozbalil médium.
Tor a podobné síťové technologie jsou absolutně nedůvěryhodné.
Jediný bezpečný vzdálený přenos dat je vysílačem kvantově svázaných párů. Tam máte fyzikální jistotu, že existuje jen jeden příjemce dat. Bohužel, takový vysílač není běžnou součástí IT pracovišť.
Pokud klíč dorazí na místo určení bez prozrazení, potřebujete o tom ještě podat zajištěnou a nepodvrhnutelnou zprávu budoucímu odesílateli. Buď ji opět doručí důvěryhodný posel, nebo je zpráva odeslaná s pomocí dříve ověřeného klíče.
Pokud je důvěryhodnost šifry prozrazena, nic se neděje. Jediné, co narušitel získal, je blok dokonale náhodných dat. A vy ho prostě odepíšete, a nikdy nepoužijete. Akorát potřebujete dalšího posla.
Důležité je, aby narušitel nikdy, ale opravdu nikdy, nedostal do rukou obě části zprávy – tedy jak klíč, tak zprávu.
Pokud použijete nějaký neškodný text jako klíč, Vernanova šifra sice zafunguje, ale zachycenou zprávu pak lze s určitou námahou rozšifrovat.
Ale ani samotná supernáhodná Vernanova šifra bezpečnost nezaručí. Stále nemáte jistotu, že šifra je použita správnou osobu ve správném kontextu. Je proto dobré zavést ještě další úroveň metakomunikace. Například máte 1TB bezpečně dopravených náhodných dat. Máte jistotu, že jste jediný, kdo má druhou kopii. Z nich pro zprávu vybíráte nikdy nepoužité bloky. A máte dohodnuto, odkud tato data budete brát, pokud je vše v pořádku. Pokud protistrana pošle data od jiného indexu, znamené to, že data neposlala pověřená osoba. Nebo že je poslala, ale činí tak pod nátlakem.
|
|
Vernamova šifra je bezpečná jedině za předpokladu, že klíč má vysokou entropii v celé své délce. Použití nějakého kusu textu je nepřijatelné hlavně z toho důvodu, že útočník nepotřebuje správně uhádnout celý klíč, ale stačí mu jen jeho malá část, pač mu nic nebrání postupovat "per partes". Ergo, 10 náhodných slov jako klíč je sice naprosto OK u všech v současnosti používaných šifer, ale u Vernamovy (nebo jakékoli jiné XOR "šifry") tomu není tak. Mail zašifrovaný způsobem popsaným v článku je podle mě možné rozluštit slovníkovým útokem v řádu minut. Případný útok navíc není skoro vůbec výpočetně náročný, na rozdíl od algoritmů které používají nějakou funkci odvozování klíčů jako třeba SCRYPT.
Jediný přijatelný způsob výroby klíče je tudíž HW generátor náhodných čísel, který funguje na principu zesílení tepelného šumu. Dokonce je součástka která tohle umí už obsažena ve většině noťasů a jmenuje se TPM (https://en.wikipedia.org/wiki/Trusted_Platform_Module), ale osobně jsem to ještě nikdy neměl potřebu používat tak nevím jak vypadá SW obsluha. Tak teď když jsme jakože vygenerovali klíč s dostatečnou entropíí, je třeba jej ještě předat a bezpečně uschovat na obou stranách. To je ale úloha, kterou se obávám že nikdo z nás nedokáže uspokojivě zvládnout. A tím tuplem ne, jestli mají být přenesená data chráněna třeba proti nějakému pazdrátímu státu. Tento typ šifry je proto použitelný leda tak u linek typu Bubáček -> raketové silo, kde se předpokládá, že obojí je dokonale chráněno a šifra má zabezpečit jen přenosové médium mezi nima. Pro jakýkoliv jiný účel doporučuju prostě zvolit některou z běžně používaných implementací a nepokoušet se vymýšlet něco "nového", zvláště pokud tomu kurva dobře nerozumím nebo nejsem ochotný vynaložit značné prostředky na verifikaci. Třeba ten v článku zmíněný TOR už šifruje všechno inherentně a každý uzel může být i "server" bez ohledu na to, jestli má veřejnou IP, takže tady vůbec není co řešit.
Doufám že to takhle stačilo a hlavně ať nikoho ani nenapadne něco podobného používat. Mimochodem, dobře že se D-FENS nakonec rozhodl proti jeho vůli zachovat diskuse pod články. Když už nic, tak aspoň nějaká forma verifikace nikdy není na škodu :-)
|
|
|
Osobně bych ani TPM, ani Toru nesvěřil nic životně důležitého. Náhodnému generátoru, který není vyroben z diskrétních součástek a otevřeného zpracovávajícího algoritmu, mám tendenci nevěřit.
Dokonce byl veřejně přezentován útok na náhodný generátor v procesorech, za pomoci otevření pouzdra, nadopování zvoleného přechodu, a opětovného uzavření. Celý procesor nadále fungoval, prošel všemi běžnými testy, ovšem jeho náhodný generátor byl cinknutý. A přitom úprava nebyla detekovatelná žádnou nedestruktivní metodou, a dokonce ani žádnou dostupnou destruktivní metodou. (Zkuste si ověřit, že na pečlivě vybraných několika desítkách nanometrech čtverečních má čip o několik miliontin jiné podíly chemických látek, než by měl mít.)
Tor je, kromě přímého ovládnutí nodů, zranitelný metodou postranních kanálů. Útočníkovi stačí ovládnout dráty mezi nody (to je po schválení Data Retention pro stát mission complete), a z časové koincidence snadno pozná, kdo s kým komunikuje.
|
|
|
Já jsem na tu možnost identifikace komunikujících stran pomocí statistických metod nad toky dat před časem koukal v rámci jednoho projektu a v současné době je to zatím reálné jen ve velmi omezeném měřítku. Internet je pořád relativně decentralisovaný a i pokud bychom se bavili například jen o komunikaci v rámci jednoho peeringového centra, tak sběr a zpracování takového množství dat je zatím pořád poměrně drahá legrace.
I v případě, že by se podařilo tyhle věci výrazně zlevnit, dá se proti tomuto typu úotku bránit docela úspěšně genrováním falešného provozu.
Udělat si generátor náhodných čísel z diskrétních součástek by nemělo být tak těžké.
|
|
|
Data retention vyžaduje logování hlaviček veškeré komunikace, v některých zemích pak přímo umožnit připojení policejního black boxu.
Takže peeringové centrum má povinnost potřebná data logovat a archivovat nebo to umožnit.
Uzlové body Tor jistě budou předmětem obzvláštního zájmu policie. Z časové koincidence mohou v poklidu rozplétat obchodní vztahy v černé zóně, a přemýšlet nad tím, do kterých koncových bodů namontují backdoor.
Jinak si nedovedu představit, proč by represivní složky nechávaly tak „nebezpečnou“ technologii v klidu žít, zatímco i obyčejné poklidné šifrování jim hýbe žlučí.
A pak se najednou skupina fundamentalistických pedofilních obchodníků s drogami diví, kdo že jim to klepe na dveře tak silně, až vypadly z pantů. A marně přemýšlejí, zda se někdo z nich o připravované akci neublognul na Twitter.
|
|
|
Tuhle nám šéfstvo ze Států zase přednášelo o tom, jak je budoucnost v analýze Big Data, kterým se akorát už nebude říkat Big Data, a vyzvali nás, ať si tipneme, co se analyzuje nejvíc. Se 70% to samozřejmě vyhrály metainformace a logy.
A kolaborantská IBM se svými projekty "inteligentních měst" a sítí se na tuto roli samozřejmě snaží napasovat své nejnovější mainframy, protože s 10 TB RAM, desítkami specializovaných procesorů a koprocesorů a stovkami pentabajtů diskového prostoru za provozní náklady běžného UNIXového datacentra se dá dělat leccos.
|
|
|
Ale jo, to nikdo nezpochybňuje. Jenže na dnešním internetu se zrovna tohle analyzuje blbě.
Dejme tomu, že sedím u nás v Sudetech, připojený s holandskou SIM kartou do polské celulární sítě a vybavuju se po nějakém VoIPu s media proxy na Islandu či v Německu s Tebou, který sedíš v Praze a jsi za dvojitým NATem nějakého sídlištního providera. Z kolika míst bys musel mít detailní flows, abys byl schopen určit koncové účastníky? A to je ještě vcelku normální scénář, žádná konspirace.
Samozřejmě, že celá úloha se výrazně zjednodušuje v případě, že jsi schopen provoz stáhnout do jednoho či dvou uzlů, sledovat provoz na nich a koncové terminály mít jednoznačně identifikovatelné (např. přes IPv6 adresy nebo když se nepoužije šifrování a můžeš využít i obsah packetů). To ale není současná situace.
Ad IBM - ať jsou mainframy sebevýkonnější, tak podobně jako v případě druhé světové války a holocaustu to nakonec stojí na občanovi, ochotném vyplnit formulář, či zvolit politika, který ta svinstva objedná a nasadí.
|
|
|
Předpokládám, pánové, že odkazovat zde knihu IBM a holocaust (nebo jí inspirovaný seriál: www.root.cz/serialy/derne-stitky-a-holocaust/ ) by zde bylo nošením sov do Athén. Poslední věta příspěvku JJ by se měla do kamene tesat.
|
|
|
Autor té knihy se dopouští stejného omylu jako tady často Cover. Totiž že na osmdesát let staré technologie aplikuje dnešní představy o funkci výpočetní techniky. Skutečnost je taková, že s dnešními „big data“ to nemělo společného v podstatě nic a přínos IBM a spol. se výrazně přeceňuje, protože velká firma je prostě vděčný cíl.
Představa jak v Osvětimi na rampě někdo pečlivě zaznamenává osobní údaje dorazivších aby to pak mohl vyděrovat na štítek a perfektně zaevidovat je absurdní a v rozporu s dochovanými svědectvími. Absurdnější je jen představa, že něco takového by umožnilo vyvražďování zefektivnit. Evidence pomocí děrných štítků mohla maximálně vylepšit management kvalifikovanějších pracovních sil.
Coverovu představu o tom, jak technologie IBM umožňovaly vyhledávat Židy a židovské míšence jsem tu před časem rozebíral detailně. Realita byla taková, že na to bohatě stačil pologramotný úředník gestapa či jiné podobné organisace - pokud seznamy nedodala přímo židovská obec.
|
|
|
Moderní technologie však pomohla dohledat ty lidi, kteří dotazník nebyli ochotni vyplnit.
Ale je pravda, že dotazník byl asi primární.
Jen pro srovnání:
O 25 let později se o vyhlazení celé části populace pokusil jistý Pol Pot. Neměl za sebou IBM, a přesto se mu to podařilo téměř dokonale. Například učitelé zbyli v celé Kambodži údajně pouze tři. Jeden z nich vypověděl, že to bylo nejspíš proto, že do předrevolučního dotazníku vyplnil jako svou profesi taxikáře.
|
|
|
Ne, to je možné dnes. V době Třetí říše děrné štítky takto použít nešly, protože mj. v tom dotazníku po rasovém původu nebyla uváděna jména rodičů, prarodičů, místa původ apod. Prostě se nebylo čeho chytnout a nešla udělat ani prachsprostá křížová kontrola.
|
|
|
Délka zprávy a časová koincidence je dost specifická věc.
Překlady portů NATu u providerů jsou součástí data retention. Vazby mezi přiřazeným IP, telefonním číslem a IMEI telefonu také. Lokalizační údaje telefonního čísla taktéž.
Pokud přibude do data retention databáze každou sekundu v rámci země milion záznamů, round trip paketu, který oběhne planetu, není vyšší než jedna sekunda, začínáme těžit data, kdy první dotaz dá milion možných shod, po druhém kliknutí řádově tisíce. A když uživatel klikne počtvrté, mám již nejspíš jediného kandidáta na koncový bod s jedinečnou sekvencí kliknutí. A to počítám, že by se to dělalo v rámci celé země, nejen odposlechem Tor uzlů.
Pravda, v EU to ještě nejde těžit online, neboť data retention databáze je uložena u providera. V USA je to ovšem jiná, tam má provider povinnost strpět erární blackbox. A i v EU existují silné tlaky na poskytování těchto dat online.
|
|
|
> připojený s holandskou SIM kartou do polské celulární sítě
Vy vychazite z toho ze je zajmem sledovat zlocince pripadne jine lidi kteri se chrani pouzivanim takovyhle komplikace.
Ale ve skutecnosti jde nejpis a smirovani vseho a vsech. Cim vic tim lip a kdyz par lidi unikne, tak se nic nedeje, na ne se najde neco jineho kdyz se bude chtit. Nebo se data proste podvrhnou, vzdyt co na tom zalezi jestli jste to napsal/rekl vy nebo to tam pridal soudruh prislusnik?
|
|
|
SW pristup k HW RNG je v linuxu pres klasicky /dev/random
Kernel detekuje HWRNG pri startu.
Ve woknech to bude podobne. Lec paranoic sasici s samodomo sifrovanim necht na wokna rovnou zapomene.
|
|
|
Kdepak jsem to jen četl ? NSA prej sleduje přísupty na www.torproject.org a kdo si Tor stahuje... No, já už příště vízum do USA taky nedostanu :-P
|
|
|
Tady je, jako vždy, řešení v mase: pokud si Tor stáhne dost lidí, nebude samotné stažení relevantním.
(Jakkoli si myslím, že a) to NSA takto neřeší ani dnes a b) se my středoevropané nemuásíme zdaleka tolik bát NSA, jako jiných... Samozřejmě pokud nemáme průmyslové tajemství nebo patenty, které NSA krade.)
|
|
|
Ono i u nás je třeba dávat si pozor. Takhle zastupuji mládence, po kterém Česká protipirátská unie požaduje něco přes 60.000.000 Kč.
|
|
|
Já si naopak myslím, že sledování vstupních bodů Tor je velmi účinná metoda, jak chytat různé jedince, kteří podlehli představě o anonymitě Toru.
Dokonce mám podezření, zda Tor není trpěn právě jako honeypot.
|
|
|
Jenže
a) sledování svtupních bodů Toru není totéž, co sledování přístupů k jeho stažení
b) vstupní body Toru se dají uživatelsky zvolit na domluvených bezpečných
c) i pokud by byl Tor prolomený NSA, ta by si to držela na jó větší ryby, když prolomení samotného Toru nevyužila ani k likvidaci TheSilkRoad a namísto toho šla po zranitelnosti Firefoxu
Jinak citát od jednoho suporťáka, co je daleko spíše relevantní než toto teoretizování:
»I recommend you not to use tor browser because when you used it today it was communicationg with suspicious ISP. That is how we got alerts on your machine«
|
|
|
Takže byl cinklý samotný Tor browser?!
Tor instalace běžně spouštějí samotný prohlížeč v sandboxu, a znemožňují mu komunikaci mimo Tor. Navíc tyto instalace odstraňují z prohlížeče vše, co by umožnilo vytvořit jeho jedinečný otisk, a vypínají vše, co není nezbytně nutné.
Nepoužít prohlížeč vůbec by samozřejmě bylo ideální. Anebo mu alespoň znemožnit komunikaci mimo vybranou doménu.
|
|
Celý článok by nebol potrebný, ak by autor napísal PGP so 4096 bitovými kľúčmi. Tým je dané všetko. Plus šifrovať a dešifrovať v textovom editore a nie (!!) v nejakom webovom rozhraní, čo pokladám za samozrejmosť.
Bezpečná komunikácia je niečo, čo by mal používať naprosto každý. Na to totiž máme to políčko "komu", aby správu dostal len ten, komu je určená. Tiež je potrebné pochopiť, že policajné zložky u komunikácie drvivej väčšiny občanov nehrajú úlohu, keďže komunikujú o úplne normálnych, obyčajných veciach. Preto sa sústrediť na policajtov nemá veľkého zmyslu. Napr pre mňa je to o ochrane pred hackermi a hňupmi čo sa hrajú na nete.
|
|
co se týče dopadů a souvislostí, je to už o hodně horší.
Autor měl asi dobrou vůli připomenout lidem, že je vhodné nenechat cizí lidi strkat cizí nos do svch věcí, hlavě ten státní, a že šifrování je jednou z metod, jak si chránit soukromí. Technické a matematické nuance tu rozeberou rádi jiní, ostatně někteří evidentně umírají touhou poučit neznalé. Mně jde o jinou věc, která mě napadla už před čtvrstoletím u článku o šifrování v tehdejším časopisu Bajt, a to byla informatika takřka v bodě nula, maily, mobily, sítě, prakticky neexistovaly: totiž, že se rodí disproporce mezi objemem informací, možnostmi komunikace, nadšením uživatelů z ní VERSUS jejich reálné znalosti, mentální schopnosti a ochotu se něco okolo učit.
Zkrátka, že hodně lidí začne komunikovat a používat technologie, aniž kdy bude ochotna (a schopna) se zamyslet, zda nás někdo fízluje a co proti tomu.
V druhém levelu, zda se ti nejschopnější z oboru budou ochotní dát koupit sběračem informací (zpravidla státem, ale i komerční mafií).
A ve třetím levelu, jestli nezačne být přijatelný veřejný názor, že sluníčkové je nic neskrývat, že fízl je náš kamarád (a když tady Ríšu co má tuhle ajťáckou fakultu vnitro tak krásně platí, fízlové nemůžou být zlí lidi) a že skrývají jen teroristi a podnikatelé co lejou lidem chudákům metyl do rumu a posílají si konta do Švýcar tajnýma kanálama.
Zkrátka, "...shledá protivník, že jediný efektivní způsob jak se dostat k obsahu zprávy je vymlátit ho z Vás či příjemce" - že bude politicky průchozí prohlasovat zákony zakazující znepřístupňovat svá data, a že se VŽDYCKY najde pro vnitro, BISku, finančák, kolaborace ochotný IT specialista.
Protože pak je každé učené blábolení o délce a náhodnosti klíče pro kočku.
A navíc stačí, co o vás napráskaji povinné předepsané technologie, často rukama, klávesama a objektivem vašich blízkých.
|
|
|
Dobre zvolena sifra znamena pro buteforce attack vypocetni problem, na ktery je potreba idelani pocitac o hmotnosti prevysujici hmotnost zemekoule. A ten momentalne v Alze nemaji na sklade.
A zadny Risa ajtak v BISce s tim nic neudela.
Proto je tu rec o sifrach. Ze masa useru to nepouziva (vcetne me, odposlechu citlivych informaci se branim zkratka tim, ze je na elektronicke komunikacni kanaly nedavam) naprosto nebrani zdatnejsim uzivatelu toto pouzivat.
|
|
|
Pokud na někoho nasadí BIS, tak ho taky mohou sledovat a odposlouchávat, tedy nejsnazší cestou k získání dat není útok na ně, ale jednoduchá kamera sledující prostředí v PC roomu. Následné zatčení ve chvíli, kdy uživatel odblokuje veškerá data a jde na záchod/pro pití/atd.
Proč to řešit složitě...
|
|
Já bych článek raději odstranil (nic proti autorovi) nebo minimálně vymazal odkaz na ten pochybný software na ulozto.
Protože článek v této podobě napáchá nepřiměřeně víc škody než užitku.
|
|
|
Přidat nový komentář
Zobraz článek To, že jsi paranoidní, ještě neznamená, že po tobě nejdou! (Joseph Heller)
|