SHA 512 dostačující?

Vred

SHA 512 dostačující?
« kdy: 05. 07. 2015, 16:22:00 »
Zdravím,

dělám si těď na jednom menším projektu a jeho hlavní účel bude šifrovaná komunikace a data celkově. Chtěl jsem šifrovat pomoci OpenPGP. V PHP GNUPG, jenže jsem nalezl pro mě jednoduší alternativu a tou je OpenSSL.

Vytvářím proto certifikáty (privátní a public) s tím že privátní je zaheslovaný (500 znaků dlouhé heslo). Samotný certifikát má konfiguraci

Kód: [Vybrat]
$config = array(
"digest_alg" => "sha512",
"private_key_bits" => 4096,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
);

Jde mi o to zda je tento způsob dostačující nebo pro rozluštění komunikace je tato metoda slabá.


Re:SHA 512 dostačující?
« Odpověď #1 kdy: 05. 07. 2015, 17:18:43 »
Pro šifrování komunikace se obvykle nepoužívá asymetrická kryptografie, protože je pomalá. Používá se podstatně rychlejší symetrická kryptografie s tím, že se na začátku vytvoří náhodný klíč, a pouze ten se vymění pomocí asymetrické kryptografie.

Heslem se obvykle označuje něco, co si má uživatel pamatovat. Pětisetznakové si nebude pamatovat nikdo, takže to spíš bude klíč, který bude někde uložen - takže bude záležet spíš na tom, jak bezpečné bude to úložiště. Navíc je dost možné, že to pětisetznakové heslo se ani nepoužije celé. Útoku hrubou silou (hádáním hesel), pokud je jinak implementace správná, brání už hesla s nízkou desítkou znaků, takže pětisetznakové heslo nesvědčí o super zabezpečení, ale o neznalosti autora a tím pádem nejspíš o slabém až žádném zabezpečení.

Veřejné a soukromé jsou klíče, certifikát je podepsaný dokument, který ověřuje vazbu mezi veřejným klíčem a nějakými informacemi (typicky "privátní klíč příslušející k přiloženému veřejnému klíči má v držení osoba XY"). SHA-512 je hash, který se může použít pro vytvoření toho certifikátu. Pro šifrovanou komunikaci ale certifikát nepotřebujete, ten slouží pouze k tomu, abyste nemusel znát předem veřejný klíč protistrany. Např. v případě SSH komunikace nepotřebujete žádný certifikát, protože znáte rovnou veřejný klíč serveru. V případě HTTPS by bylo nepraktické, kdybyste si musel ke každému serveru bezpečnou cestou opatřovat veřejný klíč, proto se tam používají certifikáty - veřejný klíč vám pošle sám server spolu s certifikátem, a vy si podle certifikátu ověříte, že klíč patří opravdu tomu, s kým chcete komunikovat.

Certifikát tedy nijak nesouvisí s luštěním komunikace. Falešný certifikát by bylo možné použít jedině tak, že byste komunikoval s někým jiným, než s kým chcete (a s ním byste si dohodl to heslo pro symetrické šifrování - dotyčný by tedy nic neluštil, prostě by dešifroval jemu známým klíčem).

Závěr - SHA-512 je dostatečný hash, 4096 bitů je dostatečná délka RSA klíče, 500 znaků je nesmyslně dlouhé heslo, nicméně celý systém nebude zabezpečený vůbec nebo jen velmi málo, protože tam budou chyby v návrhu i v implementaci.

Počítačová bezpečnost se nedá dělat způsobem, že použijete něco silného a nevíte ani proč ani jak - v případě počítačové bezpečnosti musíte mít správný nástroj, ale také musíte velice dobře vědět, jak ho použít. Jako příklad lze uvést třeba nedávno dokončený audit TrueCryptu - prakticky nikdo nepochyboval o tom, že algoritmy používané TrueCryptem jsou bezpečné. Bez auditu kódu ale nikdo nedokázal říci, zda se používají bezpečným způsobem. Audit TrueCryptu dělali odborníci, přesto jejich výstupem bylo "jen" konstatování "těchhle pár věcí je nešikovných ale na bezpečnost by to nemělo mít přímý dopad, jinak jsme si žádného problému nevšimli". Kdyby bezpečnost záležela jenom na tom, jaké používáte nástroje, veškerý audit TrueCryptu by bylo "používá silné šifry: ano", a tím by byl audit hotov.


Vred

Re:SHA 512 dostačující?
« Odpověď #3 kdy: 05. 07. 2015, 18:02:54 »
Mnohokrat dekuji za odpoved. Chyba v navrhu implementace zatim neni (doufam) a pokud tvrdite ze 500 znaku je zbytecne moc tak jsem naprosto spokojeny. Cely system nebude fungovat na principu zadej si sve heslo a prihlasovaci jmeno.

Chci jit trosku dal a vyzkouset novy zpusob. Registrace bude fungovat na principu tlacitka "Registrovat" a system Vam automaticky vyhodi neco jako:

Kód: [Vybrat]
------------------------------Start------------------------------
[yOY1851i#4Xv1EM0ZUyg0L1HvPm@WRsiseeEbj#@aKx6c6a$4Mh1kmCT$@IYG$4]
[2flDuHqwV$13e03f1SA40#uW$jrN@tU@L3s2OWCxYwp@AviwaWneJV#y2s81Y6Xx
2cDO228XCA#@15z74#oAIo2NT7IE1t@1IFSIK1s9rgcnoPxgCYU89TZ64vy1$A2x2
S2QIy12R3n3VXmkJ3wW#iPRQbNEOM@Ur4y#Fo#kunqc8QAUX5EKfhp1v@B7PD44Kp
4dR5A8w4oHH@prZ6$2ar$JtDT63LdR$l1Stv4@mgx66Zl1Tn$1R0D7GjhN1xr1VlO
cUG13ZC#1ol35L6@q5FBE@VeXfIT$1veO$iV$XWX94PhTJk7G@L8StpCM5iO4Q3GS
bpG28r8g3t2QQ7kGVvlbX#$V6CN#uhFIJ8HUDT#Ka#n47Lx33W44K1MTynG6H9Cdl
65$15y05Y14wt#Dc4u#04HCubv$n5fL4cz095@7W5fgqfWGnetrm#6TbpVBn#audM
sqKvAtsSNV0xomOVQ#VKU5#CynDLVTlb61JKp$q0XoA9Ob1scQ@1N0z9q0X9W6n61
5Du01xWi51591ppHsmhvYuZ@e0MomFsj6#i0l2mi$jv3MXz16Uz1bmXtlwUL@a19$
dcmjCIkZ0dy$QC0y@1NoS3Nc$le@hq0xGpU5521$is121@x5W7mBe#Q3m15Gm913B
Y$z11B9pr8kgJi@UHE2Ii21dbACnEv@qwpgs1tUhF1BbmE1151Cr$xHd57ECFt3$V
9tMFb67fvmF2iA5e0zfA4vye2#Wt3Yc2e$KtVVMd4edqSlHVX#j4jU6jU3QNQ3S1U
qoC8#Tgf1K5heT22@5pW3ME2pfQi0M@o$EA$kUhgrfBJ2GO$D1YKQqJ2JmnH0p1#1
w@fdjyIC2eBG6D65pTNTqTpP31Ow3OqpQIG#4bC4s1NlIWi5D1Q6P2JW@lf1#JkR]
-------------------------------End-------------------------------

Cely tento kod obsahuje jak prihlasovaci jmeno tak samotne heslo. Ukladam pouze otisk pro porovnani zda jde o spravny kod. Jde mi o to kdyz dojde jakykoli organ a bude chtit data tak aby dostal jen zasifrovana data a otisk tohoto kodu.


Re:SHA 512 dostačující?
« Odpověď #4 kdy: 05. 07. 2015, 18:23:12 »
Chyba v navrhu implementace zatim neni (doufam)
Vzhledem k tomu, že nemáte jak poznat,kdyby tam chyba byla, je to tvrzení celkem bezpředmětné.

pokud tvrdite ze 500 znaku je zbytecne moc tak jsem naprosto spokojeny
To je právě chyba.

Chci jit trosku dal a vyzkouset novy zpusob.
Tento "nový způsob", kdy je na serveru uložen pouze otisk hesla, se používá naprosto běžně. Šifrovaná komunikace, kdy šifrují koncové body a zprostředkovatel klíče nezná, je také běžná - a na rozdíl od vašeho řešení je normální, že server ani klíče znát nemůže, protože si je vygenerují přímo uživatelé na svém zařízení. Takhle funguje třeba šifrovaný e-mail.

Jde mi o to kdyz dojde jakykoli organ a bude chtit data tak aby dostal jen zasifrovana data a otisk tohoto kodu.
Proti policii to fungovat bude, protože ta musí postupovat podle zákona a nemůže vám ten systém jednoduše hacknout, i když by to bylo nesrovnatelně jednodušší, než o něco žádat.


Vred

Re:SHA 512 dostačující?
« Odpověď #5 kdy: 05. 07. 2015, 18:45:56 »
Citace
Tento "nový způsob", kdy je na serveru uložen pouze otisk hesla, se používá naprosto běžně. Šifrovaná komunikace, kdy šifrují koncové body a zprostředkovatel klíče nezná, je také běžná - a na rozdíl od vašeho řešení je normální, že server ani klíče znát nemůže, protože si je vygenerují přímo uživatelé na svém zařízení. Takhle funguje třeba šifrovaný e-mail.

Spatne to chapete a vytahujete si jen to co se Vam hodi. "Novy zpusob" je mysleno ze jednim tlacitkem provedete registraci bez zadneho zadavani prihlasovaciho jmena a hesla a ziskate kod.

Citace
Proti policii to fungovat bude, protože ta musí postupovat podle zákona a nemůže vám ten systém jednoduše hacknout, i když by to bylo nesrovnatelně jednodušší, než o něco žádat.

Opravdu? Hacknout? Nedelejte z Policie vic nez jsou. V tomto pripade opravdu prehanite ale i tak jsem rad za Vas nazor.

Tany

Re:SHA 512 dostačující?
« Odpověď #6 kdy: 05. 07. 2015, 19:12:18 »
Citace
Tento "nový způsob", kdy je na serveru uložen pouze otisk hesla, se používá naprosto běžně. Šifrovaná komunikace, kdy šifrují koncové body a zprostředkovatel klíče nezná, je také běžná - a na rozdíl od vašeho řešení je normální, že server ani klíče znát nemůže, protože si je vygenerují přímo uživatelé na svém zařízení. Takhle funguje třeba šifrovaný e-mail.

Spatne to chapete a vytahujete si jen to co se Vam hodi. "Novy zpusob" je mysleno ze jednim tlacitkem provedete registraci bez zadneho zadavani prihlasovaciho jmena a hesla a ziskate kod.

Citace
Proti policii to fungovat bude, protože ta musí postupovat podle zákona a nemůže vám ten systém jednoduše hacknout, i když by to bylo nesrovnatelně jednodušší, než o něco žádat.

Opravdu? Hacknout? Nedelejte z Policie vic nez jsou. V tomto pripade opravdu prehanite ale i tak jsem rad za Vas nazor.

Hm o bezpečnosti očividně nevíte vůbec nic, ale vymýšlíte novotu, která tu je bezmála možná 30 let. Napište prosím, co to bude za službu, ať se ji případně raději mohu obloukem vyhnout.


Vred

Re:SHA 512 dostačující?
« Odpověď #7 kdy: 05. 07. 2015, 19:56:22 »
Citace
Hm o bezpečnosti očividně nevíte vůbec nic, ale vymýšlíte novotu, která tu je bezmála možná 30 let. Napište prosím, co to bude za službu, ať se ji případně raději mohu obloukem vyhnout.

Prosim, prosim uvedte jednu jedinou webovou sluzbu, ktera resi registraci timto zpusobem.

Lol Phirae

Re:SHA 512 dostačující?
« Odpověď #8 kdy: 05. 07. 2015, 20:07:48 »
Koukám, zase jeden zneuznanej znovuobjevitel kola...  ;D

Jenda

Re:SHA 512 dostačující?
« Odpověď #9 kdy: 05. 07. 2015, 20:08:35 »
pokud tvrdite ze 500 znaku je zbytecne moc tak jsem naprosto spokojeny

Myslím že netvrdíme, protože jsi vůbec nepopsal jakým způsobem ten systém má fungovat, co má vlastně dělat (!) a jak je implementovaný. Obecně ano, 500 znaků je nesmyslně mnoho, pokud to ale třeba omylem pošleš uživateli, uložíš na nějaké volně dostupné úložiště nebo tak něco, tak to může být úplně k prdu.

A z toho jak se ptáš se bojím, že tyto chyby dokážeš udělat.

Cely tento kod obsahuje jak prihlasovaci jmeno tak samotne heslo. Ukladam pouze otisk pro porovnani zda jde o spravny kod. Jde mi o to kdyz dojde jakykoli organ a bude chtit data tak aby dostal jen zasifrovana data a otisk tohoto kodu.

Prosímtě, zkus si představit, že vůbec nevíš, o co jde (v té situaci jsme teď my, nemáme předchozí znalosti tvého systému), přečti si své příspěvky a po pravdě odpověz jestli z toho jsi moudrý.

Jenda

Re:SHA 512 dostačující?
« Odpověď #10 kdy: 05. 07. 2015, 20:11:45 »
Prosim, prosim uvedte jednu jedinou webovou sluzbu, ktera resi registraci timto zpusobem.
mBank internetové bankovnictví. Podepíšeš smlouvu a přihlašovací údaje dostaneš v obálce.

Nějak ale nevidím jakou to má mít výhodu.

Re:SHA 512 dostačující?
« Odpověď #11 kdy: 05. 07. 2015, 20:15:36 »
500 znaků je nesmyslně mnoho, pokud to ale třeba omylem pošleš uživateli
Myslím, že to nechce posílat uživateli omylem, ale záměrně...

Re:SHA 512 dostačující?
« Odpověď #12 kdy: 05. 07. 2015, 20:59:20 »
Koukám, zase jeden zneuznanej znovuobjevitel kola...  ;D
Už jenom čekám, kdy zazní slovo "Bitcoin" :)

Peter

Re:SHA 512 dostačující?
« Odpověď #13 kdy: 05. 07. 2015, 21:46:14 »
Koukám, zase jeden zneuznanej znovuobjevitel kola...  ;D
Už jenom čekám, kdy zazní slovo "Bitcoin" :)
Ǔspešne som si vyskúšal investíciu do Bitcoinu, a teraz ešte potrebujem doriešiť peňaženku. Nechcem nič veľkého, také potrály len priťahujú pozornosť kadejakých drogových hekrov. Nemá niekto nejakú domácu peňaženku, najlepšie chránenú 500 znakovým heslom ku silnému kľúču?

Re:SHA 512 dostačující?
« Odpověď #14 kdy: 05. 07. 2015, 23:07:32 »
Ǔspešne som si vyskúšal investíciu do Bitcoinu, a teraz ešte potrebujem doriešiť peňaženku. Nechcem nič veľkého, také potrály len priťahujú pozornosť kadejakých drogových hekrov. Nemá niekto nejakú domácu peňaženku, najlepšie chránenú 500 znakovým heslom ku silnému kľúču?
Mám problém, prosím o radu. Uložil jsem si pár Bitcoinů do lokální peněženky, zadal sem pětisetznakové heslo, aby to bylo v bezpečí. Teď jsem si chtěl koupit za bitcoiny zmrzku, ale zanic na světě si nemůžu vzpomenout, jaký byl v hesle ten pětistý znak. Všechny ostatní si pamatuju, co mám dělat? Jde to nějak hacknout?