No ale jak si ho predaji, kdyz nemaji (vetsina) verejne ip? Musi pres kanal telegramu, tedy telegram potencialne vidi hned do prvniho poslani prvniho klice a maximalne to zabezpecuje tim svym klicem. Tedy nad tim ma potencialne (spis vlastne fakticky) plnou kontrolu. Nebo si ty klice posilaji nejakyn jinym kanalem mimo telegram, kde i pri prvnim shake overi protistranu? Ale jak, kdyz nemaji verejne ip a primo ty zarizeni se nevidi, ipv6 taky neni vsude a pro vsechny ...
No klient je otevreny, ale ty servery asi ne a co na nich presne bezi asi taky ne. Takze potencialne uchovat oba klice neni vubec zadny problem.
Ty smajliky jsem nevidel. Ale mitm na serveru telegramu evidentne nebrani. Takze takova obdoba zeleneho ramecku v browseru. Hele jen se snazim dopatrat toho jak to funguje ze je to tak skvele vyresene a ani telegram udajne nema jak zasahnout do komunikace. Rad bych se poucil, to se vzdy hodi ;-)
Uchovat veřejné klíče je k ničemu. Jejich znalost útočníkovi nepomůže k dešifrování komunikace. Navíc existuje například Diffieho–Hellmanova výměna klíčů, kdy vůbec nemusí symetrický šifrovací klíč putovat mezi klienty, takže není co zachytit. Později tedy ani vyzrazení privátního klíče jedné ze stran neznamená žádné riziko pro komunikaci, která se vedla pomocí jednorázového symetrického klíče. Ten se zpětně zjistit už nedá.
Souvislost se zeleným rámečkem (asi zámečkem?) je nasnadě: při správné implementaci nemá například poskytovatel připojení nebo útočník ovládající kavárenskou Wi-Fi možnost obsah komunikace s web serverem číst nebo ji ovlivnit. Přesně proto tam to šifrování je.
No to sice ano, ale pokud nekdo vleze mezi ne (server telegramu pres ktery se posilaji klice na zacatku poprve) tak muze s obema stranama vymenit svuj klic a tak se pro obe strany tvarit jako ze nic, vzdy komunikaci desifruje a zasifruje ... u U DH jde prece o to, ze se ten verejny musi dostat AŽ k zamyslene protistrane, jinak si bude sice povidat zabezpecene, ale s prostrednikem ....
Ano, tomu se říká Man-in-the-middle a v případě TLS tomu brání důvěryhodné certifikáty. U jiných služeb (Telegram, GPG, SSH…) musí prostě klienti jiným kanálem ověřit, že používají stejný klíč. V případě Telegramu se třeba můžou potkat a obrázek vygenerovaný na základě toho klíče si ukázat nebo, jak už tu bylo řečeno, můžou použít hlasový hovor a říct si, jaké obrázky se jim objevily na displeji. Já to tak dělám.
Popisují to na webu: v části FAQ for the Technically Inclined a Key Verification. Dohodnutý symetrický klíč se prožene SHA256 a výsledný haš se rozdělí na čtyři části. Každá z nich se pak použije jako index do tabulky 333 vybraných emoji, takže se oběma uživatelům objeví čtyři symboly reprezentující otisk jejich společného klíče.
Je to vizualizace unikátního hashe, který se vygeneruje z kombinace klíčů obou stran. Pokud je obrázek na obou zařízeních stejný, je komunikace mezi zařízeními e2e šifrovaná. Vypadá to takto: http://www.dignited.com/wp-content/uploads/2016/04/photo_2016-04-05_08-55-29.jpg
U šifrovaných hovorů se pak vygenerují emoji, které si můžou hovořící sdělit hlasem. Tady stačí ověření na dálku po stejném kanálu, protože vydávat se u hlasové komunikace za někoho jiného je výrazně obtížnější než u textové a MITM útok je (zatím) vysoce nepravděpodobný.
"útočník ovládající kavárenskou Wi-Fi možnost obsah komunikace s web serverem číst nebo ji ovlivnit. Přesně proto tam to šifrování je."
Dluzno dodat ze tohle se zaclo pouzivat az po pruseru (jak typicke pro lidstvo!) zvanem
https://en.wikipedia.org/wiki/Firesheep
@Yak
"...se snazim dopatrat toho jak to funguje..."
Zkus si procist tohle vlakno https://forum.root.cz/index.php?topic=14332.60
tam jsme sifrovany komunikatory probirali.
Jinak lze v kostce rict, ze vetsina dnesnich komunikatoru pouziva standardni model kdy si kazde zarizeni vygeneruje 1 par ASYMTERICKYCH KLICU, ten verejny uploadne nekam na "rendez vous"server a ten privatni si strezi lokalne (casto v zasifrovane podobe)
Kdyz chce potom Anca komunikovat s Bobem, udela 2 veci= vygeneruje si JENDORAZOVY SYMTERICKY KLIC a zaroven si sosne ze serveru Bobuv verejny klic.
Ten pak pouzije k zasifrovani sveho jednorazoveho klice a cely to odesle Bobovi pres nebezpecny interfernet se zadosti o komunikaci.
Bob si prichozi blob desifruje pomoci sveho privatniho klice a zahaji komunikaci sifrovanou timto JENDORAZOVYM SYMETRICKYM KLICEM.
Po skonceni komunikace obe strany klic zahodi a uz ho nikdy nepouziji.
Toto zarucuje tzv Perfect forward secrecy, alias (jak spravne poznamenal kolega Krcmar) i kdyby doslo ke kompromitaci privatniho klice jedne nebo obou zarizeni a utocnik by mel ulozenou i celou sifrovanou komunikaci, stejne ji nebude schopen rozsifrovat protoze jednorazovy klic mu bude chybet alias muze si to jit mrsknout! :o)
A tak je to spravne tak to ma byt.
Tvuj dotaz ohledne potencialniho MitM rizika pri PRVNI vymene klice aka autentifikaci protistrany, je velmi spravny a ja nechapu ktery debilove ti tady za to dali minusy....!??
V principu se hodne uzivatelu spoleha na tzv TOFU alias Trust On First Use= nepredpokladaji ze by hned pri prvni vymene kontaktu= verejneho klice protistrany doslo k MitM utoku.
Ale protoze ty jsi premyslivy a drobet paranoidni chlapec tak te takove reseni urcite neuspokoji a budes chtit MANUALNE overit protistranu.
To se jak tady ctu u Telegramu dela pres nejaky smajliky-no budiz, ale u komunikatoru ktere jsou urceny pro dospele jako trebas Signal se uvereni protistrany dela pres QR code anebo prectenim pres telefon 60ti mistneho cisla rozhozeneho do 5ti cifernych kombinaci ve 3 radcich a 4sloupcich.
QR code je ultrarychly zpusob, kdy se prostym oskenovanim porovna, zda jsou QR cody na obou zarizenich totozne- coz znamena ze do vymeny klicu nikdo nezasahl, nebot QR code se genereruje z pulky z vlastniho VEREJNEHO klice ktere si zarizeni SAMO vygenerovalo a z pulky z VEREJNEHO klice protistrany ktery obdrzelo- oba se zhasuji a vysledek by mel byt na obou koncich identicky, pokud neni, nekdo podstrcil klic ktery 1 ze zarizeni nezna.
Tohle je samozrejme jen zaklad, ten se vylepsuje ruznymi variacemi, napr. prof Damgaard ktery vyucuje kryptografii na DTU (=mistni obdoba CVUT) vylepsil system tak ze BEHEM komunikace PRUBEZNE zahazuje klice a generuje nove a meni pritom i sifrovaci algoritmus, z cehoz vojaci (pro ktere to vyvinul) a tajna sluzba maji pravidelne vlhke kalhotky.
U Signalu se navic sprava klicu resi tak ze koncove zarizeni vygeneruje 100 paru asymterickych klicu kde jejich verejnou cast umisti na server a kazdy novy zajemce o kontakt pak dostane 1 novy verejny klic odlisny od tech ostatnich -coz zrejme vychazi z predpokladu ze vetsinou si lidi pisou s mene nez 100lidma a dava to zarovne moznost poskytnout klic i nekomu neznamemu v dobe kdy prijemce je offline.
Takze asi tak.
Pokud mas dalsi dotazy klidne se ptej- za optani nic nedas :o)
PS: par linku pro samostudium:
https://en.wikipedia.org/wiki/Signal_Protocol
https://en.wikipedia.org/wiki/Double_Ratchet_Algorithm
Private Contact Discovery- Moxie Marlinspike and Signal
https://twit.tv/shows/security-now/episodes/631
PS: Private Contact Discovery- Moxie Marlinspike and Signal
https://twit.tv/shows/security-now/episodes/631
pokec o Signalu zacina @1h56m10s
Enjoy! :o)
> To se jak tady ctu u Telegramu dela pres nejaky smajliky-no budiz, ale u komunikatoru ktere jsou urceny pro dospele jako trebas Signal se uvereni protistrany dela pres QR code anebo prectenim pres telefon 60ti mistneho cisla rozhozeneho do 5ti cifernych kombinaci ve 3 radcich a 4sloupcich.
V principu v tom není rozdíl. Hlavně že něco je pro dospělé a něco pro dětičky (hm, na které z těch sítí mám rodinu a přátele?). Prostě si ověříš, že máš na obou koncích to samé. Nakonec mi ti smajlíci přijdou jednodušší než číst 60 znaků čehokoliv. Algoritmus generování smajlů si můžou paranoidnější jedinci ověřit přímo ve zdrojáku.
@ravise
"Nakonec mi ti smajlíci přijdou jednodušší než číst 60 znaků čehokoliv"
Tak proti gustu zadny disputat :o)))
Jen pro uplnost, jelikoz jde o "hash" tak neni nutne predcitat celych 60znaku, v principu staci kdyz jedna strana do tlf nadiktuje prvnich 5 cifer, druha odpovi poslednich 5 cifer a je to v principu overeny.....coz je mozna i rychlejsi nez si slozite popisovat coze to vlastne vidim za smiley......
QR code je naprosto bezkonkurencni a da se vyuzit i na dalku pres videohovor.
Na telegramu je super ověřování při hovoru: vygenerují se tři emoji znaky, které vidíte na obrazovce a řeknete to druhé straně svým hlasem. Pro důvěryhodné podvržení by útočník potřeboval hlasový syntetizér s vašim modelem hlasu.
Take that, Diffie-Hellman! Má to vtip a to se mi líbí.
Zas píšu rychleji než myslím. To není místo Diffie-Hellmana, to je k něčemu jinému.
Ten se právě při tom provede. A toto pak už umožní ověřit, jestli nebyl D-H výměna napadnuta MitM, proti kterému je bezbranná.
Kdyžtak mě někdo znalejší doplňte, šířit nepravdy je jedna z posledních věcí, co bych chtěl dělat.