Fórumok
Sziasztok!
A Mega cloudban ha jól értem a jelszavammal titkosítva vannak a fileok. Ha megosztok egy filet, akkor a link utén íródik egy kulcs. Ez fileonként eltérő. Nomost ha publikussá válik egy link tőlem akkor a jelszavam is kompromitálódik?
Köszönöm.
Hozzászólások
Az nagy lámerség lenne - az a kulcs arra szolgál, hogy a letöltés jogosultságát az adott fájlra ellenőrizzék. Szerintem.
Oké, de akkor mivel van visszatitkosítva a letöltendő adat?
Van egy key - passwd táblázat, ahol a key az egy random generált egyedi ellenőrző kód, a passwd pedig maga a titkosításhoz használt titkos kulcs...?
-------------
"Mérnökkel vitatkozni olyan, mint disznóval birkózni a sárban - kis idő múlva rájössz: Ő ezt élvezi..."
Winben blogja
Itt van egy cikk arrol, hogy hogy mukodik.
Hat ettol sajna en nem lettem okosabb.
Vagy te latsz a kerdesre vonatkozo reszt?
Ha jol olvastam, a dolog ugy mukodik, hogy a publikalt link egy sajat kulcs amire titkositod a filet. Ergo titkositva van, de sajat kulccsal. Ha tursz egy kicsit, talalsz a neten egy par eleg reszletes analizist a MEGA titkositasarol.
Előre szólok, hogy kicsit offtopic leszek, mert a Mega titkosítását nem ismerem, de a linkeket elnézve hasonló elven működhet, mint amit mindjárt leírok.
Az RSA (aszimmetrikus) titkosítás számításigényes, és a titkosítás kimenete kb. 30 %-kal nagyobb, mint a bemenet (néhány nem reprezentatív, saját mérés eredménye). Az adatokat ezért egy szimmetrikus (pl.: AES) kódolással szokták titkosítani, ami kevésbé számításigényes, és az output mérete kb. megegyezik az input méretével (maximum padding miatt hosszabb lehet ~60 byte-tal (fixme)). Az AES által használt szimmetrikus kulcsot elő lehet állítani egy jelszóból, valamiféle hash-eléssel, ennek részleteit nem ismerem. Tehát van egy jelszó, amiből AES kulcs lesz, és evvel titkosítják az adatokat. Majd ezt az AES kulcsot mellékelik egy vagy több példányban, a címzettek RSA publikus kulcsával titkosítva. Kb. így:
Kódolt file a lemezen = [aes-titkosított adat] + [Felhasználó1 RSA publikus kulcsával kódolt AES kulcs] + [Felhasználó2 RSA publikus kulcsával kódolt AES kulcs]
Így lehet megoldani, hogy többen is ki tudják kódolni ugyanazt a fájlt.
"Kódolt file a lemezen = [aes-titkosított adat] + [Felhasználó1 RSA publikus kulcsával kódolt AES kulcs] + [Felhasználó2 RSA publikus kulcsával kódolt AES kulcs]"
Ez így biztos nem jó arra, hogy publikusan letölthető legyen az a titkosított adat és még olvasható is legyen mindenki számára. Ugyanis, ha két ember a publikus kulcsával titkosít akkor külön külön nem tuják megnézni az adatokat. Max Felhasználó2 tudja majd megnézni az adatokat, amennyiben Felhasználó1 levette a saját titkosítását róla.
Szerintem nem értetted meg, amit írtam. Lehet, hogy nem jól fejeztem ki magamat. :)
Az adat csak egyszer van titkosítva, egy - akár jelszóból generált - AES kulccsal. Innentől kezdve ha valakinek hozzáférést akar a tulajdonos biztosítani, elkéri az új felhasználó publikus-RSA kulcsát (tegyük fel, hogy ez triviálisan hozzáférhető), és ezzel elkódolja az AES kulcsot. A tulajdonos a jelszava begépelésével előlállítja a titkosítatlan AES kulcsot, amit az új felhasználó publikus RSA kulcsával eltitkosít, és az így titkosított AES kulcsot elküldi neki. Az új felhasználó a nála lévő privát RSA kulccsal ki tudja nyitni az AES kulcsot, azzal pedig hozzáfér a tartalomhoz.
A lakatos példánál maradva: adott egy lezárt széf, aminek a kombinációja egy papíron van. Amikor új felhasználónak akarod engedélyezni a hozzáférést, a következőket kell tenned:
* Lemásolod a papírt
* Elkéred a felhasználó publikus lakatját (könnyen hozzáférhető)
* Belakatolod egy új ládikába a papírt, és elküldöd neki
Így nem az egész széf, és a tartalma utazik, csak a zárnyitó kombináció. Egyszerűsítettem egy kicsit a működésen, feltételeztem, hogy nem kell plusz köröket futni a publikus, meg a privát lakatok feltételével-levételével.