O teoreticky neprolomitelné šifře už tu byla zmínka. Takže existuje. Akorát není moc praktická.
Odvozovat z kratší délky klíče u ECC nižší výpočetní náročnost je značně diskutabilní. ECC sice potřebuje méně operací, ale jednotlivá operace je výrazně výpočetně náročnější.
ECC není nová šifra, a to ani relativně vůči RSA: RSA je z konce sedmdesátých let, ECC z poloviny osmdesátých let.
Jasnou náhradou SHA-1 by měla být spíš SHA-3 než SHA-2.
V minulosti bolo pouzivanie "one time pad" sifier naozaj komplikovane (pouzivali sa napriklad pocas studenej vojny na "horucu linku" Moskva-Washington a dokonca aj v "predpocitacovej" dobe na diplomaticku komunikaciu).
Dnes je ale mozne s pomocou HW RNG generovat dostatocne nahodne kluce relativne rychlo a distribucia napriklad na microSD kartach, ktore mozu obsahovat niekolko 100GB sifrovacieho kluca je tiez relativne jednoducha (kluc by bol samozrejme zasifrovany este "beznou" sifrou na ochranu proti kradezi karty).
Dokazem si predstavit napriklad administrativne rozhranie citliveho servra, ktore je zabezpecene takouto jednorazovou sifrou.
>Akorát není moc praktická.
Jen pro info, některé tajné služby využívají OTP poměrně dost prakticky a stále ;)
viz. třeba https://www.youtube.com/watch?v=TWnxlUhi-rk od SVR
Tvrzení "Není moc praktická" kupodivu není ekvivalentní tvrzení "Za žádných okolností ji nelze použít, nikdy, i kdyby uživatel stokrát chtěl". Proč se mi tedy s kolegou vyvracíte to druhé tvrzení, když píšu to první?
Je hezké, že si tajné služby mohou dovolit praktické nepříjemnosti OTP vyřešit a šifru používat. Jsem z toho nadšený. Ale to nemění nic na tom, že pokud si budu chtít tajně dopisovat s Bruce Schneierem, tak pro mě jako soukromou osobu jsou ty nepříjemnosti tak velké, že činí celou šifru mimořádně obtížně použitelnou. Až budeme mít spolehlivý kvantový kanál, tak to ano, to se k OTP rád vrátím, ale v současné situaci sotva.
Vygenerovat niekolko 100GB nahodneho kluca (staci na desiatky rokov aj intenzivnej textovej komunikacie) pomocou RNG, zasifrovat ho "slabou" sifrou ako AES a fyzicky (idealne osobne) na microSD, SD karte alebo HDD dorucit Bruce Schneierovi spolu s AES klucom, ktorym je nahodny kluc zasifrovany, su velke neprijemnosti ktore sifru robia "mimoriadne obtiazne pouzitelnou" ?
Je to samozrejme narocnejsie ako klasicke algoritmy vymeny klucov, ale uz pre cloveka s miernou paranojou a obavami voci vladnemu (a inemu) sledovaniu komunikacie je to prakticky pouzitelne riesenie (na rozdiel od minulosti, ked bola distribucia klucov vo fyzickej forme naozaj narocna).
Takový klíč ovšem bude jen tak bezpečný, jak je bezpečné jeho uložení. Při každém dešifrování zprávy jej bude muset adresář použít, stejně tak odesílatel při každém šifrování. Navíc bude potřeba, aby adresát dostal všechny zprávy. Stačí, když se útočníkovi podaří jedinou zprávu stopit, a adresát už si žádnou další nerozšifruje.
KAZDY kluc, v kazdom sifrovacom algoritme, je len tak bezpecny ako je bezpecne jeho ulozenie (aj pri asymetrickych algoritmoch musi byt privatny kluc bezpecne ulozeny), teda "one time pad" nie je v tomto ziadna vynimka. Rozdiel je len v tom, ze kluc je ovela dlhsi ako pri "beznych" sifrovacich algoritmoch a v minulosti bol problem fyzicky (co je z hladiska bezpecnosti idealne riesenie) prenasat take velke mnozstva dat.
Nie je nutne aby adresat dostal vsetky spravy, staci ak je na zaciatku kazdej spravy (nezasifrovany) index do klucoveho suboru odkial je sprava sifrovana. Utocnikovi tento index bez vlastnictva kluca nepomoze, maximalne moze odhadnut dlzku posielanych sprav porovnanim indexu medzi jednotlivymi spravami, comu sa da zabranit tak, ze sa bude generovat pre kazdu spravu nahodny index. Samozrejme, ze po zasifrovani (a odsifrovani u prijemcu) sa prislusna cast klucoveho suboru znici (aby sa nedala pouzit na opakovane sifrovanie).
Oprava: Dlzku spravy utocnik samozrejme pozna, v zasifrovanej forme je rovnaka ako v nezasifrovanej. Teda netreba robit tie upravy s nahodnym indexom a moze sa posielat index linearne ako sa bude postupne subor s klucom pouzivat. Chybajuci index (nepride ocakavany vo forme predchadzajuci index + dlzka predchadzajucej spravy) adresatovi umozni potom zistit, ze sa predchadzajuca sprava/spravy stratila/bola utocnikom odchytena. Desifrovat spravu ale samozrejme bude moct.
Kluc je spristupneny len lokalne, po sieti sa neprenasa.
Bezpecnost lokalneho systemu je nutnou podmienkou pre akekolvek sifrovanie, pokial ma utocnik pristup k lokalnym suborom moze odchytavat rovno spravy a kluc nepotrebuje.
Samozrejme, ze je mozne, pri nemoznosti zabezpecit bezpecnost lokalneho systemu, riesit ulozenie kluca v specializovanom "tamper resistant" HW, ktory len vyda jednorazovo prislusnu cast kluca od daneho indexu (a potom ju interne znici).
Lokálně nebo po síti nejsou termíny z kryptografie. Pokud někdo potřebuje tak důkladné zabezpečení, že použije jedině Vernamovu šifru, nebude tak naivní, aby si myslel, že když se něco nepřenáší po síti, je to perfektně zabezpečené. Specializovaný hardware je myslím přesně to, co vede k tvrzení „není moc praktická“. Jinak zapojení kouzelné černé krabičky s několika LEDkami do procesu šifrování/dešifrování vypadá cool, hlavně na křídovém papíře – ale se skutečnou bezpečností to mívá málo co společného.
ach jo :), proste si predstavte ze tech 1GB(TB) dat neni jeden klic ale tisic nebo milion mensich klicu, a pokazde pouzijete (jak vy rikate zpristupnite) jen ten jeden malej kousek co prave potrebujete a vse ostatni zustava v bezpeci (nebo nebudete nosit klic ke zprave ale zpravu ke klici) - jak jsem psal vcera vse je otazka "protokolu"
zapojte trochu predstavivosti a jiste prijdete na 10 dalsich zpusobu ;)
Certifikační autority, banky, správci domén atd. používají pro uchování privátních klíčů HSM, znalí uživatelé proto používají USB flashky s FIPS Level 3 nebo 2 certifikací nebo alespoň čipové karty, a ono by přitom bylo mnohem bezpečnější uložit klíč prostě na starý počítač. Že to do dneška nikoho nenapadlo. Útočník se ke starému počítači nemůže vůbec nijak dostat, a NSA je tak zblblá těmi svými moderními technologiemi a louskáním neprolomitelných šifer, že je ani nenapadne, že by klíč mohl být uložen na starém počítači. Ale abyste viděl, že mám také fantazii, nabízím také jeden neprolomitelný způsob uložení klíče: vytisknout klíč na papír, a spolu s nůžkami, zapalovačem a sirkami (pro případ selhání zapalovače) schovat do šuplíku. Použitá část klíče se vždy odstřihne a spálí.
kazdy kdo to mysli s bezpecnosti trochu vazne a kteremu to jeho modus operandi dovoli, pouziva ostrovni systemy
pro nekoho je ostrovnim systemem specializovany HW ve faradayho kleci s galvanicky oddelenym napajenim, zakopany 100m pod zemi v betonovem bunkru
pro jineho starej nepouzivanej pocitac. (a o tom tu mluvime protoze k dyz se podivate na zacatek vlaktna, resime tu prakticnost pouziti OTP pro bezne smrtelniky)
VZDY je nutnym predpokladem fyzicka bezpecnost, protoze jinak nastupuje termorektalni kryptoanalyza
BTW: doufam ze vite co FIPS level 2 a 3 o certifikovanem zarizeni vypovida ;) a uz vubec se nechci poustet do uvah, jak by mohl nejaky HSM u OTP fungovat
Bavíme se o praktičnosti použití Vernamovy šifry v porovnání s jinými stejně bezpečnými šiframi. Mít uložený klíč několik let na dvou starých nijak nezabezpečených počítačích bych bezpečností řadil někam na úroveň Caesarovy šifry. Takže pokud běžný smrtelník použije nějakou asymetrickou šifru dnes považovanou za bezpečnou, a klíč bude mít uložen na USB tokenu nebo na čipové kartě, bude mít bezpečnost nesrovnatelně lepší a praktičnost výrazně lepší.
Ta písmenka O a T v OTP znamenají „one-time“, nebo-li jednorázový. Vtip je právě v tom, že to heslo je použitelné pouze velmi krátkou dobu, takže útočník má pro získání a zneužití hesla jen krátký čas. Naopak oprávněný uživatel musí pouze tento krátký čas to heslo „bránit“. „Velmi krátká doba“ opravdu neznamená několik let.
tak v tomto se asi neshodneme:
- zadna jina sifra neni vuci vernamove stejne bezpecna
- hw udelatka (tokeny,cipove kart) poskytuji ochranou POUZE proti zkopirovani ci kradezi klice, nijak vas neochrani proti utocnikovi, ktery ma pristup k zarizeni na kterem s nimi pracujete (fyzicky ale i vzdaleny!)
- One Time nema nic spolecneho s casem, znamena to JEDNORAZOVY = klic lze pouzit jen jednou
zkuste se zamyslet nad tim jake vektory utoku realne hrozi a jak jsou proti nim oba systemy (OTP vs asymetricka sifra v cipu) odolne. Mozna si pak uvedomite ze ten token ci cipovou kartu stejne do niceho jineho nez "ostrovniho" PC strcit nemuzete a ze i tam vam dokonce v nekterych pripadech poskytuje horsi zabezpecni nez OTP. ;)
V tom je právě ten problém. Vy se spokojíte s tím, že jde o Vernamovu šifru, a to vám stačí. To, že klíč servírujete útočníkovi na podnose, vás netrápí.
Tokeny nebo čipové karty poskytují pouze ochranu proti zkopírování klíče, což je ale pořád lepší, než starý počítač, který takovou ochranu neposkytuje.
Pod „jednou použít“ si nikdo nepředstaví, že to použití trvá několik let.
Právě že si různé vektory útoku představuju. Například se útočník dostane k vám do bytu, zkopíruje si starý počítač, a má vše, co potřebuje. A vy si budete vesele několik dalších let šifrovat a dešifrovat, protože přece používáte nejbezpečnější Vernamovu šifru.
Čipovou kartu dám do počítače, na kartě se privátním klíčem dešifruje klíč k symetrické šifře, kterou je zašifrována zpráva, a na počítači se dešifruje ta zpráva. I pokud má útočník v moci ten počítač, dešifruje pouze tu jednu zprávu, nebude ještě dalších několik let dešifrovat moje zprávy, protože privátní klíč nemá.
A co tak si precitat este raz zaciatok vlakna:
" (kluc by bol samozrejme zasifrovany este "beznou" sifrou na ochranu proti kradezi karty)."
A pri kazdom pouziti by samozrejme bolo nutne zadat heslo, ktorym by bol kluc zasifrovany (ktore by sa samozrejme nikde neukladalo).
A ak by aj utocnik zasifrovany kluc ziskal a bol by schopny ho cez "zadne dvierka" k sifrovaciemu algoritmu desifrovat (co je nepravdepodobne), tak overit ci dostal spravny vysledok desifrovania, v situacii kde spravnym vysledkom je niekolko 100 GB nahodny subor bez dalsej struktury, je extremne narocne.
a na tom se zase shodneme :)
muj vyhrazeny pocitac bude muset nekdo navstivit fyzicky ( o fyzicke bezpecnosti jako nutne podmince tu mluvime od zacatku)
vasi cipovou kartu zneuzije utocnik vzdalene: keyloggerem zjisti PIN a v okamziku kdy budete mit kartu ve ctecce si vesele odbavi vsechny transakce, ktere potrebuje
-u obou z nas bude potrebovat data z klavesnice (vas pin, moje heslo k OTP klici)
-u vas desifruje veskerou komunikaci z minulosti a kazdou budouci dokud nebude odhalen (bude mit pristup ke karte)
-u me pouze tu ke ktere ziska klic = zadnou minulou (klice jsou znicene) u aktualni a budouci zalezi na tom jak je OTP klic sifrovan (zda cely nebo po castech)
- gumova hadice nebo letlampa bude stale fungovat na nas na oba ;)