Mega Cloud Storage Stiahnite si na PC. Berieme kontrolu nad kryptografiou v Skladu Mega Cloud

  • 03.08.2019

Mega Cloud je pomerne populárny úložný priestor pre rôzne súbory, fotografie, video a dokumenty. Každý užívateľ, ktorý vytvára svoj účet na mieste, je vybavený 50 GB voľného miesta v úložisku absolútne zadarmo. V budúcnosti sa tento objem môže zvýšiť za dodatočný poplatok, môžete napríklad kúpiť 4 TB za 30 dolárov za mesiac.

Teraz chcem robiť s mega cloud review a povedať o svojich hlavných výhodách. Mnohí používatelia nazývajú toto cloudové úložisko, je najziskovejšia cena za cenu a bezplatné miesto. Tiež sa tam konajú rôzne propagačné akcie, môžete si tu tiež držať balík na jeden rok a získať dva mesiace absolútne zadarmo, čo ušetrí pomerne vážnu sumu.

Hlavné výhody

Teraz poviem svojich čitateľom o hlavných výhod MEGA Storage:

  • viacnásobná služba, takže používatelia nebudú mať žiadne problémy s ťažkosťami spojenými s nevedomosťou cudzieho jazyka. Pred prácou s cloudovým skladom si môžete vybrať požadovaný jazyk;
  • dostatočné väčšie miesto na disku, ktoré je poskytnuté úplne bezprostredne po registrácii;
  • môžete nahrať súbory akejkoľvek veľkosti a expanzie, pretože na to neexistujú žiadne obmedzenia;
  • prenos súborov svojim priateľom pomocou šifrovaného prístupu. Šifrovanie sa vyskytuje v prehliadači pomocou špeciálneho algoritmu, takže používatelia sú spoľahlivo chránení pred neoprávneným prístupom k osobným súborom.

prihlásiť sa

Aby ste mohli začať používať Skladovanie MEGA Cloud, musíte sa zaregistrovať na oficiálnej stránke. To si vyžaduje:

DÔLEŽITÉ! Pri vypĺňaní formulára môžete zadať akékoľvek údaje. Avšak, e-mailová adresa musí byť prítomná, inak nebudete môcť začať používať ukladanie cloud.

Začiatok práce

Po dokončení registrácie je Skladovanie súborov MEGA pripravené na prácu. Začať s:

  1. Vyberte voľné miesto, napríklad 50 GB, ktoré sú poskytované bezplatne a kliknite na tlačidlo "Complete".
  2. Kliknite na tlačidlo "Download File" a vyberte požadovaný súbor z počítača, aby ste ho stiahli do oblaku.

Všetky priečinky, fotografie a dokumenty, ktoré budú nahrané do úložiska, môžete zobraziť z akéhokoľvek počítača alebo iné zariadenie.

vchod

Ak chcete zadať súbory MEGA ukladanie z počítača:


Na to by som chcel dokončiť svoje stať sa o Mega, recenzie, ktoré nájdete na internete. Samostatne chcem dodať, že tí, ktorí používajú prehliadač, môžu vytvoriť špeciálne komplement MEGA rozšírenie, čo vám umožní výrazne zvýšiť rýchlosť sťahovania súborov do oblaku. Aj po inštalácii doplnku môžete vykonávať dávkové sťahovanie súborov v neobmedzenom objeme. Bez inštalácie akýchkoľvek aplikácií je najlepšie využiť prehliadač.

MEGA CLUKT Skladovanie je moderné virtuálne ukladanie informácií, ktoré je prospešné pre vystupovanie medzi podobnými kontajnermi so zvýšeným objemom voľného miesta na disku - až 50 GB. Podporuje prístup k prenosným zariadeniam založeným na BlackBerry, IOS, Android a Windows Mobile. Služby zakladatelia - vývojári predtým známej zdieľania súborov Megauload.

Schopnosti:

  • zásobník virtuálnej súboru s veľkým objemom voľného miesta (50 GB);
  • Šifrovanie údajov na algoritme AES;
  • podpora pre mobilné zariadenia;
  • dostupnosť dodatkov pre chróm a firefox;
  • rozhranie v ruštine.

Zásada prevádzky:

po stiahnutí a spustení pomôcky na vykonanie údajov účtu - bez registrácie, nebude fungovať. Potom vyberte typ synchronizácie - kompletný (všetky informácie sa prenesú na "cloud") alebo selektívne (špecifické adresáre).

Po parametroch bude aplikácia "prísť" v systémovej lište. Kliknutím na ikonu môžete zobraziť voľné miesto a pridať nové priečinky na výmenu údajov.

Okno Rozhranie programu je logicky rozdelené na päť kariet. Vďaka ruskej lokalizácii sa dokonca neskúsení používatelia budú môcť vysporiadať s funkčnosťou. Najviac "chutné" v našom názore je v poslednej časti (tlačidlo "Rozšírené"). Zahŕňa individuálny synchronizačný algoritmus pre určité typy objektov.

Pros:

  • veľký objem "mraky";
  • flexibilné cenové návrhy;
  • môžete zadať podmienky na zdieľanie súborov.

Minusy:

  • malý počet užívateľov v rukete;
  • pri načítaní údajov z "oblakov" existujú obmedzenia premávky s veľkým počtom používateľov.

Mega Cloud je hodný konkurent dokonca slávny Google Drive. Úložisko zdrží svoju jednoduchosť, vysoký stupeň bezpečnosti a prítomnosť zákazníkov pre populárne platformy. Klienti firemní sa budú páčiť lojálnu cenovú politiku vývojárov a schopnosť objednať veľké množstvo virtuálneho ukladania informácií. Napríklad tarifná tarifa PRO III ponúka až 4 TB priestoru.

ANALOGY:

  • Yandex.disk - virtuálne ukladanie od vývojárov najobľúbenejších vyhľadávačov RANET;
  • Skladovanie cloud cloud je výkonný chránený archív.

Mega je cloud úložisko, ktoré ponúka na ukladanie dát 50 GB miesta na disku zdarma. Podobný nárast pamäte na pevný disk pre každého nebude zbytočný.

Rozšírenie sa otvorí prístup k úložisku cloud cez prehliadač. To znižuje čas na stiahnutie, zlepšuje výkon a zlepšuje bezpečnosť. Hovoríme o MEGA Disk Skladom, hovoríme o globálnom zabezpečení prístupu. Pomocou rozšírenia prehliadača budú potrebné súbory k dispozícii v deň a noci. Mega poskytuje šifrovanie end-to-end. To znamená, že správy, fotografie, videá sú chránené pred vniknutím v rukách iných ľudí. Pod vašou kontrolou majú len tie zariadenia cloud, ktoré majú prístup k osobným údajom. Dokonca aj MEGA k nim nemá prístup! Na rozdiel od väčšiny ostatných cloudových služieb spoločnosť MEGA vývojári obhajujú bezpečnú spoluprácu. To vám umožní vymieňať si informácie, obráťte sa na kontakty, zobraziť aktualizácie v reálnom čase.

Veľký úložný priestor

MEGA nie je len bezpečnejší konkurenti. Suma poskytnutá množstvom slobodného úložiska je mnohonásobne viac, než ostatných. Vďaka funkcii Synchronizácia súborov v reálnom čase je možné obnoviť všetky bezpečnostné súbory av prípade potreby. Aby sa zabezpečilo nezávislé overenie správnosti a integrity kryptografického modelu, ako aj jej implementácia, MEGA zverejňuje plný zdrojový kód klientskych aplikácií. A to poteší!

Dnes internet ponúka široký počet skladovacích súborov podobných. Prvá vec, ktorá príde na myseľ, je Yandex.disk, Google Dropbox, Dropbox, Onedrive. Rozdiel medzi Mega od konkurentov je, že poskytuje 50 GB diskového skladu zadarmo pre registrovaných užívateľov. MEGA neobmedzuje veľkosť súborov naložených do zamračeného priestoru.

Zapamätajte si časy, keď sa zdalo, že 40 GB na pevnom disku vášho počítača je neschopnosť? Teraz účet ide o stovky gigabajtov, a často - oba terabajty, a my sme zvyknutí na to, že zaberáme na diskoch PC bez analýzy - na všetko.

Medzitým nikto nezrušil úspory a pohodlie a existenciu, prosperitu a dúhovky vyhliadky na cloudové sklady dokazujú svoju konzistenciu. Za posledných niekoľko rokov sa služby takýchto internetových služieb vyvíjajú priamo gigantickými krokmi a ako príklad možno priniesť niekoľko dátových skladov cloudových dát:

1. Yandex.disk - ponúka nováčikov 5 GB voľného miesta na ukladanie súborov rôznych formátov a rozšírení plus rôzne bonusy. Napríklad, ak používate Yandex Mail na 5 rokov - Dáte vám ďalšie 2 GB miesta na disku.
2. Google Drive - zadarmo 15 GB miest.
3. Microsoft SkyDrive - 7 GB zadarmo namiesto 25 GB ponúkaných skôr.
4. - 2 GB plus expanzia miesta na disku na prilákanie odporúčaní.
5. Apple iCloud - 5 voľných gigabajtov priestoru.
6. - Tu môžete trvať viac ako 40 MB zadarmo pre každú poznámku, a použite objem návštevnosti na zápis / úpravu poznámok do 60 MB mesačne.
7. Amazon Google Drive - 5 GB.
8. Cloud Service Box - 5 GB.
9. Služba CYARTERSYNC - 5 GB.
10. Cloud Storage MEGA.C.NZ - 50 GB voľného miesta na disku.

Zamračené skladovanie mega.so.nz.

Všetky vyššie uvedené služby môžu pracovať nielen na stacionárnych počítačoch, ale aj na všetkých mobilných aplikáciách, ktoré nepochybne rozširujú ich rozsah a zvyšuje popularitu. Ale líder v navrhovaných voľných gigabajtoch je stále mega.c.nz - 50 GB nie je vtip, stále musia byť podarilo naplniť niečo, takže navrhujem viac hovoriť o tejto službe Cloud - Mega.c.nz. Mimochodom, aktívne využijem túto službu, pretože je stabilný, anonymista, a tvorcovia z neho nie sú citlivými ľuďmi.

Hlava spoločnosti, ktorá ponúka služby tohto úložiska - Kim Dotcom, Zakladateľ služby Megaupload, ktorá uzavrela pred dvoma rokmi predložením Ministerstva spravodlivosti a FBI Ameriky. Možno si pamätáte ten príbeh. Vlastne bol výmenník svojho starého dosť pohodlný. Ale teraz sa nový Kim's BrainChild stal ešte chladičom. Hovorme o tom podrobnejšie.

Teraz Mega Service poskytuje nielen obvyklé ukladanie údajov v oblaku pomocou na PC, ale ako sľúbil skorší vývojári, už zahŕňali schopnosť pracovať s mobilnými zariadeniami - iPhone, iPad, zariadenia na, vyhrať 8, montáž súborový systém pre systém Windows a atď. To znamená, že súbory môžete odosielať ihneď do cloudu. Napríklad vaše fotografie z smartfónu budú uložené v gadget, ale zároveň budú prenášané do Mega.c.nz, takže pravdepodobnosť neočakávanej straty alebo poškodenia súboru bude úplne vylúčená. Všetky vaše údaje sú zašifrované počas prenosu a nikto okrem vás nemôžete rozbaliť na čítanie.

Výhody a rozdiely MEGA

1. Hlavná prvka a rozdiel medzi Cloud Service Mega.CO.NZ z podobných zdrojov v navrhovanom počiatočnom voľnom priestore na disku - 50 GB. V Mega.co.nz môžete nahrať súbory akéhokoľvek objemu, s akýmkoľvek rozšírením, v akomkoľvek formáte - neexistujú žiadne obmedzenia na tomto účte.

2. Skratka MEGA je názov "MEGA šifrovaný globálny prístup" (Mega šifrovaný globálny prístup).

3. Hlavné funkcie Mega sú rovnaké ako iné zdroje sťahovania, ukladanie súborov na disku tretej strany a schopnosť výmenu súborov so svojimi priateľmi a kolegami vysielaním odkazov alebo šifrovaného prístupu. Šifrovanie súborov v prehliadači sa vyskytuje s AES algoritmom, to znamená, že ochrana pred neoprávneným prístupom je vám poskytnutá. Odkazy pre prenos súborov sú tiež šifrované a dokonca aj servisní pracovníci nemajú prístup k vašim údajom. Aspoň si to uplatnia.

4. Výmena a skladovanie súborov Mega súborov je viacjazyčná, takže pri práci s ním nebudete mať jazykové ťažkosti - v ovládacom paneli môžete vybrať požadovaný jazyk.

Ale začať používať ukladanie cloud, musíte prejsť jednoduchý postup registrácie.

Registrácia a začiatok práce v mega.co.nz

Ako môžete vidieť z referenčného odkazu, vstup do stránky https://mega.co.nz/ sa vyskytuje na bezpečnom pripojení. Ďalej na hlavnej stránke, musíte vybrať rusky pre pohodlnú prevádzku - menu je na vrchole vpravo. Teraz sa môžete zaregistrovať:

Pri registrácii potrebujete skutočnú e-mailovú adresu, zostávajúce údaje môžu byť jednoducho prevzaté z hlavy. Po vyplnení všetkých polí a kliknite na tlačidlo "Vytvoriť účet", príde list na našej pošty s odkazom na potvrdenie našej registrácie:

Kliknite na tento odkaz v písmene a na stránke Service potvrďte svoj účet - pre tento účet je vo pravom hornom rohu, to znamená, že jednoducho zadajte svoju e-mailovú adresu a heslo. Toto sa vykonáva raz - služba bude používať cookies nášho prehliadača. Ak potvrdíte registráciu, budeme vyzvaní, aby sme vytvorili vlastný individuálny kľúč, ktorý určí našu autentifikáciu. Vytvorenie kľúčového kľúča je hranie v prírode, a dokonca som hral, \u200b\u200bže som vynechal okamih, keď bol kľúč už vytvorený.

Hra vyzerá ako klepanie tehál, z ktorých tvoria Mega. Akonáhle vytočíte 100% na stupnici v hornej časti obrazovky, bude vytvorený kľúč:

A po kliknutí na tlačidlo "Kompletné", prejdite na svoju stránku v službe MEGA.CO.NZ CLUTPLY:

Ako používať službu Mega.co.nz

Tam je úplne malý rozdiel v používaní služby pri práci na a Google Chrome, ktoré poviem nižšie. Medzitým - o všeobecných bodoch kontroly a použitia. Na pravej strane na vašej stránke vidíte riadiaci stĺpec a zobrazenie skladovacieho konštrukcie. V hornom menu pre sťahovanie a prezeranie súborov a ovláda ich. To znamená, že v rozbaľovacej ponuke, keď už stiahnete súbory, uvidíte možnosť získať odkaz na súbor, možnosť kopírovať, upraviť atď.

Používatelia prehliadača Mozilla Firefox môžu nainštalovať do pridania vášho prehliadača MEGA rozšírenie.. Vývojári tohto doplnkového sľubujú, že po jeho inštalácii si všimnete výrazné zlepšenie rýchlosti sťahovania súborov. Tento výsledok je poskytovaný balením načítaním neobmedzeného počtu súborov bez obmedzenia ich veľkosti. Každý odkaz v službe Mega.co.NZ je zachytený vaším aplikáciou MEGA rozšírenie a zostáva lokálne (javascript skripty nie sú stiahnuté zo serverov). Spoľahlivé služby Automatické aktualizácie poskytuje kryptografický podpis so šifrovaným kľúčom.

Bez inštalácie tohto doplnku na efektívnejšiu prácu s službou Mega, vývojári sú ponúkané, že používajú prehliadač Google Chrome. Vzhľadom k tomu, že používam všetok môj počítačový život naraz s niekoľkými prehliadačmi, potom v Firefoxe som nainštaloval odporúčanú expanziu, ale, aby som bol úprimný, nevšimol som žiadny rozdiel v práci cloudovej služby. Aplikácia je možné nainštalovať tak z "Add-ons" prehliadača a zo služby MEGA ("Menu" - "Aplikácie" - "Aplikácia Firefox")

Je lepšie použiť prehliadač prehliadača Google Chrome, ak sa chystáte stiahnuť celé zložky súborov v oblaku - nie je táto možnosť v Mozille a chróm môže tiež prevziať súbory a priečinky:

Takto vyzerá, ako vyzerá kontrolný panel Storage CHROME v prehliadači Google Chrome, a tam je jednoducho nie "Download Folder" tlačidlo v Mozille Firefox - Tam je len tlačidlo "Stiahnuť súbor". Pomocou tlačidla "Download File" si môžete prevziať súbor do oblaku z vášho osobného počítača. Po kliknutí na tlačidlo "Download Folder" v Google Chrome sa otvorí okno Explorer, vyberte priečinok v ňom, aby ste ho stiahli do skladu súborov a všetky načítanie.

Teraz o tom, ako sa dostať okolo tohto problému v Firefoxe. Predpokladajme, že chcete prevziať celý priečinok - neinštalovať nový prehliadač! Potom stačí vytvoriť priečinok rovnakého mena v Mega ("Nový priečinok" v menu), a už sťahovať všetky súbory k nej (stlačte kláves Ctrl + A vybrať všetko naraz), ktoré sú v rovnakom priečinku na vašom počítač.

Pokračujeme v oboznámení sa s službou. V odseku "Môj účet" uvidíte nielen to, čo používate bezplatný účet, ale tiež vidíte svoj rozsah priestoru cloudu a môžete tiež zmeniť nastavenia profilu alebo konfigurovať prenos údajov:

V nastaveniach ("Menu" - "Môj účet") môžete urobiť veľa. Zmeňte napríklad počet paralelných pripojení na prevzatie súborov, ako aj počet paralelných pripojení pri sťahovaní súborov. Môžete tiež zadať limit a rýchlosť sťahovania.

Ak kliknete na tlačidlo MENU MENU - "Môj účet" menu, môžete si prečítať viac podrobností s pravidlami pre používanie služby Cloud Service Mega.co.NZ. Nebudem hovoriť veľa o pro-účet, pretože ešte neboli použité - je dosť zadarmo 50 GB. Ale po kliknutí na tlačidlo "Vylepšiť svoj stav" vo vašom bezplatnom účte si môžete vybrať akýkoľvek platený balík z možnej možnej miery, aby ste mohli uložiť väčšie množstvo vašich údajov v oblaku - od 500 GB do 96 TB. I osobne, taký objem - 96 Terrabyate - nerozumiem zle, ale napriek tomu, ak si myslíte dobre, môžete nájsť aplikáciu. Napríklad na zálohovanie databáz lokalít atď.

Budeme pokračovať v práci so súbormi - jednoducho si môžete vytvoriť nový priečinok, aby ste do nej mohli stiahnuť nejaké tematické súbory. Ak to chcete urobiť, kliknite na tlačidlo "Nový priečinok" a premenujte priečinok podľa potreby. V tomto novom priečinku môžete tiež vytvoriť ďalšie podpriečinky, v ktorých už sťahovali súbory. Ak kliknete na priečinok (súbor) s pravou tlačidlom myši, môžete vidieť zodpovedajúce príkazy pre vašu akciu s priečinkom v kontextovej ponuke rozbaľovacieho zariadenia. Ako vidíte, existuje mnoho príležitostí, vrátane schopnosti získať odkaz na iných používateľov. Odkaz bude šifrovaný.

Ak ste sa neobmedzili rýchlosť sťahovania súborov v nastaveniach svojho mraku, potom sa rýchlosť sťahovania bude neobmedzená, a bude závisieť len od rýchlosti pripojenia k internetu počítača. Ďalej, práca s priečinkami / súbormi sa vyskytuje rovnakým spôsobom ako na obvyklom počítači - môžete ich upravovať, dostať odkazy na ne, presunúť, vyriešiť prístup k nim, kopírovať, atď. Proces sťahovania a sťahovania súborov sa zobrazí vpravo v dolnej časti stránky v službe - kliknite na ikonu

Ako organizovať zdieľanie priečinkov

Na priečinkoch, ktoré uložíte v MEGA CO NZ Cloud Storage, môžete nastaviť celkové prístupové práva. Ak to chcete urobiť, jednoducho kliknite pravým tlačidlom myši v priečinku av výslednom kontextovom menu kliknite na tlačidlo "Zdieľanie". Ďalej uvidíte okno "Zdieľanie", v ktorom musíte zadať e-mailovú adresu používateľa, ktorú chcete poskytnúť všeobecné prístupové práva. Pre tohto používateľa môžete konfigurovať práva - napríklad na nastavenie práv "len na čítanie", "čítanie a písanie", "plný prístup". Potom, čo je správne zdieľať používateľov s autoritou a upravovať súbory, alebo ich jednoducho zobraziť, alebo ich jednoducho prevezmite. Títo užívatelia môžu byť rovnako ako vy.

Po zadaní e-mailovej adresy na poskytnutie zdieľaného prístupu, príde list s odkazom na odkaz, ktorý je potrebný na prejdite na službu a získať prístup do zadaného priečinka. Priečinky, na ktoré sa poskytuje zdieľaný prístup, sa mierne odlišujú od iných priečinkov úložiska cloud a vyzerajú takto:

Ako získať odkaz na Mega.co.nz

Služba MEGA.CO.NZ má možnosť poskytnúť ostatným používateľom odkazy na prevzatie súborov, ktoré uverejníte v službe MEGA Cloud Service. Ak chcete získať takýto odkaz, musíte kliknúť pravým tlačidlom myši na súbor av rozbaľovacej ponuke kliknite na položku Menu "Získať odkaz". V novom okne, ktoré sa otvorí, uvidíte váš (šifrovaný alebo nezaznamenaný) odkaz na prevzatie súboru. Všeobecne platí, že všetky odkazy na prevzatie súborov v Cloud Service Mega.CO.NZ sú vydané dva typy a pohľad na odkaz bude závisieť od stupňa bezpečnosti súkromia.

Ak je samotný odkaz vytvorený v nešifrovanom formulári, súbor sa prenáša všetky rovnaké šifrované a len vtedy, ak užívateľ prejdete cez tento odkaz, súbor je dešifrovaný a bude k dispozícii na stiahnutie. To znamená, že kým sa tento súbor nezobrazí, bude uložený v šifrovanej forme. Ak bude samotný odkaz šifrovaný, môžete súbor sťahovať len pre tento odkaz na súbor odkaz na súbor spolu so špeciálnym bezpečnostným kódom (kľúčom). Bez tohto bezpečnostného kódu, príjemca nebude môcť prevziať súbor podľa odkazu.

Na obrázku uvedenom v obrázku - ak je aktivovaná položka "s kľúčovým kľúčom", šifrovaný kód je vložený do samotného odkazu a je k dispozícii na prevzatie všetkým používateľom. A naopak - Ak nezaškrtnite začiarknutie v tomto bode, užívateľ adresy bude môcť prevziať súbor len vtedy, ak ste vstúpili do kľúč oddelene.

Aj užívateľ, ktorý bol určený na obrat, aby obal súbor môže zachrániť v jeho oblaku sa nachádza na Mega.co.nz. Ak to chcete urobiť, po prijatí odkazu kliknite na tlačidlo "Import". S touto voľbou sa odkaz nezobrazí do počítača a jednoducho sa presunie z jedného účtu do druhého. Je jasné, že na implementáciu takejto operácie je potrebné, aby príjemca má tiež svoje miesto na disku v momóne Mega.co.NZ, rovnako ako napríklad v. Všetky tieto funkcie vidíte na obrázku nižšie:

Ako stiahnuť odkaz s individuálnym kľúčom (druhá možnosť)? Nižšie v obrázku vidíte jeho riešenie. V prípade samostatne prenášaného kľúča bude príjemca schopný prevziať súbor, ak dostanete odkaz a kľúč na prevzatie súboru z úložiska cloud. Kláves dostanete pri odosielaní súboru (na obrázku vyššie - položka "kopírovanie kľúčov"). Všetky tieto údaje (a odkaz na zdieľaný prístup a odkaz so samostatným kľúčom) pošlete používateľa bežným e-mailom.

Po prepojení na "dešifrovanie", v novom okne, užívateľ zadá bezpečnostný kľúč, ktorý dostanete od vás, aby ste si stiahli súbor, alebo ho uložte do vlastného úložiska cloud. Po zadaní kľúča musí užívateľ kliknúť na tlačidlo "Download" a položte si začiatok na "Súhlasím s podmienkami poskytovania mega služieb", alebo jednoducho importujte súbor do svojho cloudu.

Po úplnom stiahnutí súboru sa otvorí okno sťahovania, a bude požiadaný o dokončenie preberania na dokončenie preberania. Súbor manuálne uložiť do akéhokoľvek vhodného umiestnenia na počítači.

A posledný - všetky súbory, ktoré budete odoslaní na službe Mega.co.NZ Cloud Storage Bude šifrovaný - už som o tom hovoril vyššie. Na jednej strane je to skvelé, ale na druhej strane - nebudete môcť vizuálne zobraziť ich obsah, stratiť alebo počúvať zvukové a video súbory, kým nie sú v oblaku. Na použitie týchto súborov ich budete musieť presunúť do počítača alebo mobilného zariadenia. Ak chcete úplne odstrániť všetky správne súbory, musíte ich presunúť do košíka a potom ju vyčistiť.

Po ukončení do určitej miery boli škandalózne servis MEGA rozhovory o jeho bezpečnosti trochu zamrmlané a rukávy. K dnešnému dňu, služba žije svoj vlastný život a nikto to úplne nezlomil. Z nejakého dôvodu bol pojem "užívateľský kontrolovaný šifrovanie" (UCE, alebo užívateľom riadená kryptografia) vynechaná termínom "užívateľom kontrolovaný šifrovanie". Pod slovom "zmeškanie" mám na mysli skutočnosť, že sme nepovažovali všetky možnosti, že kryptografický motor nám dáva, beží v Javascript na strane klienta.

Samozrejme, samotná služba MEGA podľa toho znamená len to, že šifrovacie klávesy nie sú uložené na serveri, ale všetko ich Kryptografia sa vykonáva v kontexte prehliadača. Zároveň po spustení služby bolo mnoho konverzácií, že v ňom boli nestabilné kryptografické algoritmy a že všetko nie je všetko zlé a zomrieme, a naše súbory budú čítať FSB. To ma pretlačilo myšlienku rozšíriť koncepciu "UCE" a skutočne brať kryptografiu pod jeho kontrolou, a to, aby nahradil alebo doplnili niektoré mechanizmy na zabezpečenie bezpečnosti služby.

V tomto článku som čiastočne rozložím magické regály, ktoré sa vyskytujú v dvoch megabajtoch Javascript Code mega a ukázať, ako môžete prepísať niektoré metódy, aby ste prestali znepokojujúce a lízať kryptografie. V dôsledku toho dostaneme súbory služby Cloud Storage Service s dvomi faktorovými autentifikáciami a šifrovaním kritických informácií.

Mega, uce a all-all-all

Začnime tým, že technológie považujeme za technológie, kde je postavená časť klienta, ako nahrávať nových používateľov, autentifikáciu registrovaných užívateľov, zmenu hesla a načítanie / sťahovanie súborov.

JavaScript.

Ako už viete, celá klientská časť služby je založená na Javascriptov, kontrolné súčiastky SHA-256 sú predpísané v hlavnom poradí pre všetky skripty a stránky, ktoré prevzali prehliadač. Samotné zaťaženie sa vyskytuje nasledovne: Všetky súbory sú kontrolované kontrolné súčet, po ktorých sú kombinované do jedného blob, ktorý je daný prehliadaču. Na zdrojovom kóde JS súborov je vidieť, že im to napísali rôznymi ľuďmi a niekedy sú vtipné perly, ako sú dôsledky kopírovania, bezvýznamné podmienky a jednoducho zvláštne premenné.

V procese štúdia zdrojového kódu stránky som si tiež všimol, že je celkom aktívne aktualizovaný, vývojári opravujú malé chyby a optimalizujú už písomný kód, ktorý sa nemôže radovať. Samotný kód je napísaný pomerne jednoducho a bez nadmerného podvádzania vo forme prototypov: stránka stojí tri stovky globálnych premenných a viac ako 8000 funkcií. Zobuďte sa v architektúre lokality a zmeňte jeho kód je veľmi jednoduchý.

MEGA z tretích strán používa MEGA JQUYER (bez neho nikde), ext JS a SJCL. Ten to len zavádza kryptografické jadro s šifrovaním AES. SJCL tiež spôsobuje zaujímavý formát skladovania kľúčov a iné bajty: namiesto jednoducho riadiť bajty v bežnom poli, sú "komprimované" do formátu, ktorý sa nazýva A32. Jeho podstatou je, že obsah ľubovoľných bajtov je zabalený v 32-bitových číslach a je zaznamenaný v množstve menšej dĺžky. To znamená, že každý 4 bajt poľa je premenený na jeden banálny int. V kóde lokality existujú funkcie, ktoré vykonávajú všetky druhy konverzií oproti improvizovanému nastaveniu (A32 Array, String, Base64 String).

Kľúčové informácie

Pred pokračovaním v opise registračných a autentifikačných procesov stojí za zváženie informácií, ktoré podlieha šifrovania, a to:
  • Kľúčový kľúčktorý je vytvorený náhodne v čase registrácie používateľa a má dĺžku 128 bitov. Áno, a v zásade dĺžka všetkých kľúčov používaných na symetrické šifrovanie je 128 bitov.
  • Zatvorené RSA KEY: Vytvorené v čase registrácie na základe pohybov myši a vstupu z klávesnice. V tomto článku sa nezameriavam na asymetrickú kryptografiu, pretože sa používa na zdieľanie stiahnutých súborov a mal som úlohu na zmenu procesu autentifikácie a proces užívateľského šifrovania.
  • Individuálne klávesy a súboryStiahnuteľné na službe. Klávesy sú náhodne vytvorené, keď je súbor zavádzací, tento kľúč sa používa na šifrovanie súborov súborov a šifrovať atribúty kľúč vytvorené na základe individuálneho kľúča súboru a jeho kontrolného súboru.

Bližšie k CODA

Teraz navrhujem demontovať registráciu a autentifikačné procesy, pozrite si, ako sa vytvorí hlavný kľúč a ako ho zašifrovať.
Tu som sa snažil vykresliť tieto procesy na kus papiera a aby vám dal pochopiť všetku podstatu šialenstva, dokonca urobil túto fotografiu:

Nová registrácia používateľa

Samotný proces registrácie je pomerne mätúci, po vyplnení užívateľa dotazníka spôsobí mocný handicap funkcií, ale máme záujem o funkciu API_Createuser:

// Vytvorenie nového používateľa a jeho hlavného tlačidla Funkcia API_CREATEUMER (CTX, INVITECODE, INVITENAME, UH) (VAR I; VAR SSC \u003d ARRAY (4); // Seplikánna výzva, bude použitý na overenie hesla var req, res; ak (! ctx.passwordkey) (ctx.passwordkey \u003d pole (4); pre (i \u003d 4; i--;) ctx.passwordkey [i] \u003d rand (0x10000000000);) ak (! U_K) API_CREATE_U_K (); // Generovanie náhodného hlavného kľúča U_K pre (I \u003d 4; I--;) SSC [I] \u003d RAND (0x100000000); // Generovanie náhodnej autentizačnej sekvencie, ak (d) konzola.log ("API_CREATEUMER - MasterKey:" + U_K + "PASSPURYKEY:" + CTX.PASPPISLYNYKEY); // Šifrovací kláves na aktuálnom hesle a odoslanie na server (pole K) // Pole TS je koncentrácia SSC s jeho šifrovanou hodnotou Req \u003d \\ t : "UP", K: A32_TO_BASE64 (ENCYPT_KEY (NOVÝ SJCL.CIPHER.AES (CTX.PASPPERNYKEY), U_K)), TS: BASE64URLENCODE (A32_TO_STR (SSC) + A32_TO_STR (ENCYPT_KEY (NOVÝ SJCL.CIPHER.AES (U_K), SSC))); ak (invicikode) (req.uh \u003d uh; req .ic \u003d Invicode; req.name \u003d Invitename; ) ak (d) konzoly.log ("bodový kľúč:" + req.k); api_req (, CTX); )
V tejto funkcii sa zaujímame o nasledujúce veci:

  • u_K - Samotný hlavný kľúč, globálna premenná. Pole 4 32-bitové čísla, ktoré je vytvorené funkciou API_Create_UK
  • sSC je len náhodné pole, ktoré je šifrované na hlavnom tlačidle, zrekonštruuje s otvorenou hodnotou a prejde na server. Neskôr sa použije na overenie správnosti hlavného tlačidla pri autentifikácii
  • sJCL - Cryptographic Library Implementácia AES
  • rand () - Miestna implementácia generátora Pseudo-náhodného čísla založeného na RC4
  • encrypt_key () - Funkčný kameň symetrickej kryptografie služby. Prijíma inicializovaný objekt SJCL a pole, ktoré musia byť šifrované. Funkčný kód je uvedený nižšie a dúfam, že nepotrebuje vysvetlenia.
// šifrovanie / dešifrovanie 4- alebo 8-prvok 32-bitové funkcie integrovaného poľa Encrypt_key (Cipher, A) (ak (A.Length \u003d\u003d 4) Return Cipher.encrypt (A); var x \u003d; pre (var I \u003d 0; I.< a.length; i += 4) x = x.concat(cipher.encrypt(, a, a, a])); return x; }
Výsledkom je, že po registrácii, server opustí:
  • Hlavný kľúč šifrovaný na kľúč zobrazenom z hesla účtu
  • Riadok SSC View || Encrypt_Aes-128 (U_K, SSC)

Prihláste sa do systému

Teraz môžete hladko ísť do procesu autentifikácie. Stručne sa vyrába takto:
  1. Užívateľ zadá prihlasovacie / heslo
  2. Ak je prvá fáza autentifikácie prenesená, potom zašifrovaný hlavný kľúč a autentifikačná sekvencia (SSC), vytvorená počas registrácie, pochádza zo servera
  3. Vykonané na dešifrovanie hlavného tlačidla na používateľa zadané užívateľom
  4. Autentifikačná sekvencia je dešifrovaná na hlavnom tlačidle a v porovnaní s jeho otvorenou hodnotou - skontroluje sa správnosť hlavného tlačidla a hesla.
Pre všetkých vyššie uvedených respondentov, funkcia spätného volania API_GETSID2:

// Očistenie hlavného tlačidla po zaznamenávaní používateľa vo funkcii API_GETSID2 System (res, CTX) (var t, k; var r \u003d false; ak (TypeOf Res \u003d\u003d "objekt") (// inicializovať SJCL-AES aktuálne heslo AES AESE AESE \u003d NEW SJCL.CIPHER.AES (CTX.PASPPASWORDLYKEY); // Ak je klávesový kľúč prišiel v odpovedi ... ak (typf res.k \u003d\u003d "reťazec") (k \u003d base64_to_a32 (res .K); ak (k.Length \u003d\u003d 4) (// ... potom sme dešifrovať K \u003d dešifrit_Key (AES, K); // a znovu inicializujte SJCL-AES pomocou AES MASTER KEY \u003d NEW SJCL. CIPHER.AES (K); // Ak SSC pochádza z procesu registrácie, ak sú proces registrácie (TYTOF res.tsid \u003d\u003d "reťazec") (t \u003d base64urldecode (res.tsid); // šifrovať prvú polovicu čiary a porovnať s Hodnota zo servera // Ak sa zhodujú - to znamená, že sa všetky objavy a heslá dohodli a môžete nechať yuzer, ak (A32_TO_STR (Encrypt_key (AES, STR_TO_A32 (T.SUBSTR (0, 16)))) \u003d\u003d T. Substr (-16)) R \u003d;) // Nižšie je zavretý kľúč RSA pár, ešte nie je zaujímavé pre nás ostatné, ak (TYTOF RES.CSID \u003d\u003d "S ") (Var t \u003d MPI2B (base64urldecode (res.csid)); Var Privek \u003d A32_TO_STR (Decrypt_Key (AES, BASE64_TO_A32 (RES.PRIVK)); var RSA_PRIVK \u003d ARRAY (4); // rozkladať súkromný kľúč pre (var i \u003d 0; ja< 4; i++) { var l = ((privk.charCodeAt(0) * 256 + privk.charCodeAt(1) + 7) >\u003e 3) + 2; RSA_PRIVK [I] \u003d MPI2B (PRIVK.SUBSTR (0, L)); Ak (TYTOF RSA_PRIVK [I] \u003d\u003d "ČÍSLO") privils \u003d privk.substr (L); ) // kontrolný formát, ak (i \u200b\u200b\u003d\u003d 4 && revolft.length< 16) { // TODO: check remaining padding for added early wrong password detection likelihood r = ; } } } } } ctx.result(ctx, r); }
Ako bonus pre registráciu / autentifikáciu sa môžete pozrieť na proces zmeny hesla.

// Zmena funkcie Heslo užívateľského hesla (VAR PW_AES \u003d Nový SJCL.Cipher.Aes (Pripraviť_Key_PW (Newpw)); API_REQ ([(A: UP, CURRK: A32_TO_BASE64 (Encrypt_Key (NEW SJCL. CIPHER.AES (Pripraviť_Key_pw (CIPHER.AES) ), U_K)), K: A32_TO_BASE64 (Encrypt_key (PW_AES, U_K)), UH: StringHash (U_ATTR ["EMAIL"]. TOTOWERCASE (), PW_AES)]], CTX);)
Kód tejto funkcie hovorí za seba: šifrujeme hlavné tlačidlo na dvoch tlačidlách prijatých zo starých a nových hesiel a potom tieto hodnoty odosielajú na server. Ak sa priblížilo aktuálne heslo, je nahradené novým. Tu som chcel venovať pozornosť funkcii Pripraviť_Key_PW, ktorá implicitne navštevovala všetky predchádzajúce operácie. Jeho úlohou je previesť heslo reťazca v A32 Array a potom vykonať prevádzku derivácie kľúča nasledovne:

// Prevod používateľom dodaného poľa Array Password Pripraviť_Key (A) (var I, J, R; var AES \u003d; var Pkey \u003d; pre (J \u003d 0; J< a.length; j += 4) { key = ; for (i = 0; i < 4; i++) if (i + j < a.length) key[i] = a; aes.push(new sjcl.cipher.aes(key)); } for (r = 65536; r--;) for (j = 0; j < aes.length; j++) pkey = aes[j].encrypt(pkey); return pkey; }
Táto funkcia spôsobila veľa sťažností, pretože je založená na domácom algoritme. Počas písania článku sa tvorcovia služby podarilo zmeniť svoj kód trochu, ale nevšimli som žiadne významné zmeny. Jeho podstatou je, že heslo je zašifrované 65536 krát na konštantnom kľúči, aby sa dostal nerozoznateľný z náhodného kľúča. Prečo tvorcovia služieb nemali prospech z existujúcich algoritmov (napríklad PBKDF2) zostáva záhadou.

Načítanie a šifrovanie súborov

Stručne povedané, tento celý proces môže byť zastúpený takto:

Upozorňujem ťa, dlhé pochopenie v tomto obrázku je nebezpečné pre mozog, takže vám poviem nižšie, ako sa to všetko stane.

Ako som povedal, pri sťahovaní pre každý súbor sa vytvorí váš náhodný kľúč 6 32-bitových čísel. Prvé štyri prvky tohto poľa sa používajú na šifrovanie obsahu súboru a posledné dva - ako počiatočné hodnoty merača, ktoré sa vypočíta kontrolným súboru súboru. Toto pole je uložené v globálnej premennej UL_KEY. Jeho obsah je zapísaný do JSON-Serializovaného ul_keynonce reťazec.

Šifrovanie (RAC) sa vyskytuje s webovým pracovníkom (ak prehliadač podporuje túto technológiu) alebo jednoducho vo vnútri hlavného kódu stránky. Keď sa súbor pripraví na odosielanie, na šifrovanie svojich atribútov (v súčasnosti je určený len názov súboru) je nový kláves FileKey založený na UL_KEY a súboru Kontrolný súčet. Tento kľúč je potom šifrovaný na hlavnom tlačidle a odoslaný na server spolu s atribútmi súborov. Za všetky tieto akcie sú zodpovedné initupload3 a API_COMPLEUPLOAD2. Vytvorenie klávesu FileKey sa vyskytuje v UL_ChunkComplete Function, pod I Dám jej časť.

// Začnite sťahovať súbor: Vytvorenie jeho individuálneho kľúča a inicializácia funkcie šifrovacieho mechanizmu INTUTUPLOAD3 () (// ... CUT OUT \u003d) // Vytvorenie náhodného individuálneho kódu súboru // UL_KEY sa používa na kód stránok, // UL_KEYNONCE sa prenáša na webový pracovník a použije sa tam // na šifrovanie súboru a vypočítať kontrolný súčet UL_KEY \u003d ARRAY (6); Pre (i \u003d 6; i--;) ul_key [i] \u003d rand (0x10000000000); Ul_keynonce \u003d json.stringify (ul_key); ul_macs \u003d; // ... Ďalej je spracovanie download fronty, nenesie úroky ... // inicializácia SJCL-AES pre súbor založený na UL_KEY UL_AES \u003d NEW SJCL.CIPHER.AES (); // ... // Spustenie procesu preberania súborov: // Prečítajte si ho z disku, šifrovania a odosielania OnulOadstart (ul_queeue_num); ul_dispatch_chain (); ) // Vytvorenie tlačidla pre šifrovanie funkcie Atribúty súborov UL_ChunkComplete (Slot, POS, POS, Response) (// ... var t \u003d; // UL_macs - pole s kontrolným súčtom súboru prijatého vnútra pracovníka "a pre ( p v ul_macs) t .push (p); // plnenie a triedenie dočasného poľa, ak niekto vie, prečo - vysvetlite t.sort (funkcia (A) -Parseint (B))); pre (var I \u003d 0; Ja< t.length; i++) t[i] = ul_macs]; // внутри condenseMacs производится зашифрование // и "уплотнение" контрольной суммы файла в массив из 4х элементов var mac = condenseMacs(t,ul_key); ul_settimeout(-1); // на основе контрольной суммы и ключа файла создается ключ для шифрования атрибутов // он же в зашифрованном виде позже будет отправлен на сервер var filekey = ; // ... } // завершение загрузки файла: зашифрование атрибутов и ключа файла и отправка их на сервер function api_completeupload2(ctx, ut) { var p; if (ctx.path && ctx.path != ctx.n && (p = ctx.path.indexOf("/")) > 0) (var pc \u003d ctx.path.substr (0, p); ctx.path \u003d ctx.path.substr (P + 1); FM_REQUESTFOLDERIDID (UT, PC, CTX);) inak (// očarujúce názov súboru na kľúč odvodených z UL_KEY a CHEPHYSUM // CTX.K \u003d\u003d Filedkey A \u003d (N: CTX.N); ak (d) konzola.log (CTX.K); var EA \u003d ENC_ATTR (A, CTX.K) IF (D) Console.Log (EA); // Prenosové atribúty a šifrovaný kľúč Key var Req \u003d (A: "P", T: UT, N: [(H: CTX.T, T: 0, A: AB_TO_BASE64 (EA), // Atribúty K: A32_TO_BASE64 (Encrypt_key (U_K_AES, CTX.K)), // \u003d\u003d AES_ENCYPT (U_K, FileKey) Fa: CTX.FA)]); ak (UT) (// cieľ Bol dodaný: Šifrovanie na všetky relevantné akcie Var SN \u003d FM_GETSHARENODES (UT); ak (sn.Length) (req.cr \u003d crypto_makecr (, sn, false); req.cr \u003d ctx.t;)) API_REQ (CTX .ctx);)

Stiahnite a dešifrovať súbory

Samozrejme, že tieto procesy by mali byť jednoducho späť k šifrovaniu súboru. Jediná vec, ktorá by mohla zaujímať, je získať hodnotu UL_KEY Tlačidlo z šifrovanej hodnoty FileKey zo servera.

V čase stiahnutia súboru v kontexte prehliadača je už obsiahnutý objekt, ktorý ukladá dešifrované súbory súborov. Preto prvé dáva zmysel zvážiť proces, ktorý sa vyskytuje bezprostredne po overení používateľa, konkrétne, sťahovanie správcu súborov. Potom, čo bol užívateľ povolený pre službu, prirodzene chce pristupovať k jeho súborom (predpokladať, že už boli tam). Aby sme to urobili, musíme najprv dešifrovať súbory súborov a potom ich atribúty. Tento prípad sa zaoberá iným balíkom funkcií, z ktorých máme záujem o loadfm_callback a proces_f_f.

Stručne povedané, proces získavania atribútov súborov môže byť opísaný nasledujúcim algoritmom:

  1. Počkajte na stiahnutie Správcu súborov (LoadFM_Callback), kde získať JSON s popisom všetkých prevzatých súborov
  2. Vytvorte pole FARRAY, v ktorom je potrebné pole s informáciami o súboroch
  3. Beh (rekurzívne) pre každú funkciu File Funkcia_F_F
  4. Pre každý súbor, ktorý má kľúč na dešifrovanie tohto tlačidla a atribútov (Crypto_Processkey Function) a uložte ich späť do poľa s informáciami o súboroch
  5. Po tom, uložte dešifrované hodnoty do premennej FOTESESTORE (koniec rekurzie v procese_f_f)
Nižšie vydám expozíciu z kódu ilustrujúceho tento algoritmus

// Callback Download File Manager Funkcia LoadFm_callback (JSON, RES) (// ... // JSON spracovanie s informáciami o súboroch JSON \u003d JSON; IF (D) Console.log (JSON); IF (D) Console.log ( JSON); ak (json.u) proces_U (JSON.U, FALSE); IF (JSON.OK) Process_OK (JSON.OK); ak (JSON.S) (pre (I v JSON.S) (ak (ak (ak) (U_SHAREKEYS.H]) (Sharingdata.Push ((ID: JSON.S [I] .H + "_" + JSON.S [I] .U, UserID: JSON.S [I] .U, FOORTIOND: JSON , S [i] .h, práva: json.s [i] .r, dátum: json.s [i] .ts); SharredNodes.h] \u003d true;))) // ... nič viac zvláštne , .. // Zadanie informácií o súbore do iného globálneho poľa Farray \u003d Nový objekt; Farray.f \u003d JSON.F; // Spustenie IT Spracovanie, spätné volanie bolo vyhlásené vyššie // V tejto funkcii a jednoducho modifikuje rozloženie procesov_F ( FI, FALSE, CALLBACK); FI ++;) // Rekurzívna funkcia, v ktorej sú zobrazené tlačidlá a atribúty súborov // nazývané z Process_f funkcie proces_f_f (FID) (// koniec rekurzného stavu - sme spracovali všetky súbory v FA ARAY Rray If (! Farray.f.i]) (ak (farray.AP) Filestorore.suspenVents (); // zaznamenávanie údajov v programe Filestorore Filestore.loaddata (Farray.mdata, TRUE); ak (farray.AP) súborySestore.Resumeevents (); if (d) konzoly.log ("Call ReqmissingKeys:"); crypto_reqmissingkeys (); ak (farray.callback) farray.callback.fn (farray.callback); Návrat false; ) Var f \u003d farray.f.i]; F.attrs \u003d f.a; ak (f.SK) u_sharekeys \u003d crypto_process_sharekey (F.H, F.SK); // ak je súbor vhodný pre typ a má kľúč, potom budeme spracovať, ak ((ft! \u003d\u003d 2) && (ft! \u003d\u003d 3) && (FT! \u003d\u003d 4) && (FK)) ( Crypto_processkey (U_Handle, U_K_AES, F); // Popis tejto funkcie pod U_NodeKeys \u003d F.Key; ak (TOPEOF F.NAME! \u003d\u003d "Undefined") && (FP \u003d\u003d Inboxid)) INTROXCOUNT ++;) (Ak (fa) (ak (! Chýbajúce) (chýbajúcejšie \u003d pravdivé; newmissingskeyys \u003d true;)) fk \u003d ""; f.name \u003d "";) IF (FT \u003d\u003d 2) ROOTID \u003d FH; Inak, ak (f.t \u003d\u003d 3) inboxid \u003d f.h; Inak, ak (f.t \u003d\u003d 4) trashbinid \u003d f.h; Inak, ak ((f.t< 2) || (f.t == 5)) { // тут идет обработка расшаренных файлов } else { // подготовка массива для записи в FileStore farray.mdata.push({ id: f.h.replace(/[^a-z^A-Z^0-9^_^-]/g, ""), name: f.name, size: f.s, type: filetype(f.name, f.t), icon: fileicon(f.name, icontype), parentid: f.p, folder: f.t, owner: f.u, date: f.ts, attrs: f.attrs, key: f.key, r: f.r, su: f.su, fa: f.fa, }); if (f.p == TrashbinID) trashbinfull = true; if (((f.t) && (farray.ap)) || (f.p == InboxID)) refreshtree = true; } farray.i++; // проверка таймаута (видимо, чтобы загрузка файл-менеджера не выглядела слишком долгой) timeoutcount++; if (!(timeoutcount & 63)) { // если у нас больше 63 файлов - дальше грузим их асинхронно setTimeout("process_f_f(" + fid + ")", 1); timeoutcount2++; } // иначе - запускаем обработку следующего файла else process_f_f(fid); } // обработка ключа файла и его атрибутов function crypto_processkey(me, master_aes, file) { var id, key, k, n; if (!file.k) { if (!keycache) return; file.k = keycache; } id = me; // do I own the file? (user key is guaranteed to be first in .k) // ключ записан в виде ":/"var p \u003d file.k.indexof (ID +": "); // prvá kontrola, ak je súbor všeobecný, ak (p) (// i don" t - mám vhodný queey, pre (ID v U_SHAREKEYYS ) (p \u003d file.k.indexof (ID + ":"); ak (p\u003e \u003d 0 && (! P || file.k.charat (p - 1) \u003d\u003d "/")) prestávka; p \u003d -1;)) // a potom môžeme už ísť na dešifrovanie, ak (p\u003e \u003d 0) (vymazanie klávesnice; // flash - zrejme znamenia guľôčok var pp \u003d file.k.indexof ("/", P); Ak (pp.< 0) pp = file.k.length; p += id.length + 1; key = file.k.substr(p, pp - p); // we have found a suitable key: decrypt! if (key.length < 46) { // short keys: AES k = base64_to_a32(key); // check for permitted key lengths (4 == folder, 8 == file) if (k.length == 4 || k.length == 8) { // ключ расшифровывается либо на мастер-ключе, либо на общем ключе шары k = decrypt_key(id == me ? master_aes: new sjcl.cipher.aes(u_sharekeys), k); } else { if (d) console.log("Received invalid key length (" + k.length + "): " + file.h); return; } } else { // long keys: RSA if (u_privk) { var t = mpi2b(base64urldecode(key)); if (t) k = str_to_a32(crypto_rsadecrypt(t, u_privk).substr(0, file.t ? 16: 32)); else { if (d) console.log("Corrupt key for node " + file.h); return; } } else { if (d) console.log("Received RSA key, but have no public key published: " + file.h); return; } } // декодируем атрибуты файла var ab = base64_to_ab(file.a); // и расшифровываем их с помощью только что полученного ключа var o = dec_attr(ab, k); if (typeof o == "object") { if (typeof o.n == "string") { if (file.h) { u_nodekeys = k; if (key.length >\u003d 46) RSA2AES \u003d A32_TO_STR (Encrypt_key (U_K_AES, K)); ) // Ak budeme správne dešifrovať kľúčové a atribúty - ukladáme ich do file objektového súboru.Key \u003d K; file.name \u003d O.N; )))) Inak (ak (ak (d) konzoly.log ("Prijaté žiadne vhodné kľúč:" + súboru); ak (! Chýbajúci) (newmissingKeys \u003d true; chýbajúcejšie \u003d true;) Keycache \u003d File.k;)
Potom môžeme získať hodnotu zdroja kľúč UL_KEY z kontextu prehliadača nasledovne: DL_KEYYNONCE \u003d JSON.stringify ();
Táto konverzia sa vyskytuje v funkcii štartovacieho zaťaženia. Ak sa domnievame, že hodnota je DL_KEY \u003d\u003d FileKey z funkcie UL_ChunkComplete a vykonajte jednoduché pridanie operácií pridania modulu, potom si všimneme, že hodnota UL_KEY, ktorú vytvorila pri načítaní súboru, bude uložená v premennej DL_KEYNONCE. Ilustrácia je možné pozorovať v ľavom dolnom rohu dosiek na fotografii na začiatku časti na prevzatie súborov.

"Preťaženie" kryptografických operácií

Napriek tomu, že vyššie opísané princípy pre ochranu súborov a kľúčov sú veľmi bezpečné, niekto nemusí rád, že sme stále závislí od implementácie algoritmov, ktoré služba poskytuje. V tomto prípade môžeme rozvíjať vaše rozšírenie pre prehliadač, ktorý prepíše niektoré z funkcií služby, ktoré vykonávajú ďalšie šifrovanie v nich. Konkrétne som sa rozhodol implementovať ochranu kľúčových informácií (hlavné tlačidlo a súbory) pomocou hardvérového šifrovania na nevolenom tlačidle podľa algoritmu GOST 28147-89. Bonus k tomu bude zahrnutý aj na dvojfaktorovej autentifikačnej službe.
Zvážte tak takýto prípad:
  • Užívateľ je zaregistrovaný v službe.
  • Potom nastaví rozšírenie
  • S ním sa hardvérový šifrovací kľúč vykonáva na kľúč od tokenu
  • Hlavný kľúč je šifrovaný tak načítaný na server.
Potom bude možné získať hodnotu hlavného tlačidla bez toho, aby ste mali token a jeho PIN kód. To dá:
  1. Dvojfaktorová autentifikácia na službe (bez správneho dešifrovaného hlavného tlačidla "jeseň" Funkcia API_GETSID2)
  2. Bez tokenu, nebude možné zmeniť heslo aktuálneho účtu.
Ďalší krok bude šifrovaný pomocou kľúča šifrovania súborov (je tiež UL_KEY) a kľúč atribútu súborov (FileKey), ktorý je práve uložený na serveri. Získame teda, že každý súbor bude šifrovaný na kľúč, ktorý nikdy nenarazí na server, kde je FileKey šifrovaný z funkcie API_COMPLETEUPLOAD2. Atribúty súborov budú šifrované na otvorenej hodnote FileKey. Pre značnú viditeľnosť som načrtnil nasledujúci diagram ilustrujúci proces načítania súborov:

Chcem si poznamenať, že som tu použil veľmi zložitú metódu. V tomto prípade je pre nás dôležité, aby útočník nemohol dešifrovať súbor, aj keď to zachytáva súbor, ktorý prišiel zo servera a bude poznať hlavné tlačidlo používateľa. Preto sa dá prehrať na funkciách servisnej architektúry a používanie pre (S) šifrovania súborov Hodnota kľúča UL_KEYKEYNONCE (je tiež DL_KEYNONCE), získaná v dôsledku šifrovania na tokenovej hodnote UL_KEYE KEY (alebo Dl_key).

Od okamihu písania týchto článkov v našom produkte sa pridalo možnosť hardvérového šifrovania podľa algoritmu GOST 28147-89. Beta verzia plug-in s funkčnosťou hardvérového šifrovania podľa GOST 28147-89 algoritmu je možné stiahnuť. Táto verzia pluginu ešte nešlal úplnú testovanie, takže vás varoval, že v ňom môže byť chyby, o zistení, ktoré žiadam o správu v osobnom.
V zásuvnom rozhraní je symetrická šifrovanie implementovaná funkciou šifrovania, ktorá má nasledujúcu syntax:
Šifrovanie (DeviceID, keylabel, dáta, výsledokCallback, errorcallback) → (String)
Ako vstupné údaje, funkcia prijíma:

  • ID zariadenia, číslo
  • Kľúčový štítok pre šifrovanie, číslo (ak nie je takýto kľúč, bude generovaný)
  • Enchantable Data, String (reťazec obsahujúci byte-array typu "AA: BB: CC: DD")
  • Funkcie spätného volania pre úspešné a neúspešné ukončenie operácie šifrovania
Dešifrovanie sa vykonáva podobne používanie funkcie dešifrovania
Reklamná pozornosť by sa mala venovať kľúčovému štítku, pretože určuje, ako sa kľúčový kľúč bude vykonávať na šifrovanie údajov (RAC). Štítok je ľubovoľný reťazec a slúži hlavne na pohodlné identifikáciu kľúča. V tomto prípade používam dva dvojice kľúčov: jeden pre (RACE) šifrovací master kľúč, druhý - na šifrovanie jednotlivých súborov súborov. Kľúč, na ktorom je klávesový kľúč šifrovaný, má štítok, ktorý sa rovná hesla používateľa (teraz som prišiel na mysli nápad použiť hash z e-mailovej linky || heslo, v blízkej budúcnosti budem opraviť). Ak chcete šifrovať tlačové tlačidlá prevzatých súborov, kľúč sa používa s označením rovným zobrazením reťazca na hlavné tlačidlo (tu stojí aj pomocou hash z hlavného tlačidla).

Priamo vyvinuté

Ihneď chcem urobiť poznámku o mojom zdrojovom kódexe: je v podstate v alfa verzii, hoci vykonáva funkčnosť opísanú vyššie. Nekontroloval som, koľko moja zmena bola kompatibilná so zvyškom servisných funkcií, takže všetky zdroje, ktoré som uverejnil na Github a ja by som bol rád, že by som rád pomoci pri revízii tohto systému. Preto nebudem upchať článok ďalej s obrovskými záznammi, ale opím len celkový rozsah expanzie.

Pripravené rozšírenie je možné stiahnuť. Je navrhnutý s použitím služby Crossrider, ktorý dáva rozšírenia pre tri prehliadače (Chrome, Firefox a IE), ale je lepšie skontrolovať svoju prácu v Chrome alebo Firefox a v prvom práve funguje oveľa stabilnejšie.

Expanzný kód na banál je jednoduchý: kontroluje, či sme na stránke služby a ak áno, jednoducho načítava ďalšie skripty. Tieto skripty upravujú kód stránky pridaním niekoľkých dialógov a predefinovať nasledujúce funkcie služieb:

  • zMENAPW: Zodpovedný za zmenu hesla
  • aPI_GETSID2: Jeden z prihlasovacích hovorov
  • aPI_COMPLTEUPLOAD2: Callback Súbor Download Ukončenie
  • loadFM_Callback: Callback Download Správca súborov
  • processPacket: Ďalšia spätná spätná väzba, v ktorej boli atribúty dešifrované len stiahnuté súbor
  • parsepage: Zodpovedný za čerpanie ďalších dialógov
  • dOLOGIN: Rozšírňuje autentifikačné schopnosti
  • iNTUTUPLOAD3: Zodpovedný za vytvorenie šifrovacieho kľúča súboru
  • startDownload: Reverse Place Key Diswanding and Sťahovanie
Ešte raz chcem varovať, že by ste nemali pretiahnuť rozšírenie na pracovný účet (ak niekto používa túto službu vôbec), ale je lepšie začať test. Aby ste mohli používať rozšírenie po jeho inštalácii, budete potrebovať:
  1. Ak chcete začať s, nie je zlé získať RUCTEN EDS (alebo RUCTATE WEB) a nainštalovať plugin prehliadača
  2. Nainštalujte rozšírenie
  3. Prihláste sa do služby s expanziou so zdravotným postihnutím
  4. Povoliť expanziu v prehliadači
  5. Prejdite na stránku účtu
  6. Kliknite na tlačidlo "TIE TOOKEN"
  7. Zadajte aktuálne heslo a vykonajte túto operáciu.
Namiesto rozšírenia môžete použiť nasledujúci bookmarklet (overené v Chrome, Safari, Firefox): JavaScript: (Funkcia () (ak (dokument.geTelementById ("CryptoTocenJs")) (ALERT ("plugin je už nainštalovaný"); ) Funkcia LoadRemOteScript (URL) (var Script \u003d Document.Createlement ("Script"); Script.Type \u003d "Text / Javascript"; Script.Src \u003d URL; dokument.ed.ed.ed.APEndChild (skript)) Funkcia LoadRemtestyle (URL) (URL) Var Style \u003d Document. Stielko ("Link"); štýl.rel \u003d "TEXT / CSS"; style.href \u003d URL; Document.head.AppendChild (štýl)) LoadRemotesle ("HTTPS: // mega-crypto .googlecode.com / git / mega.css "); loadRemotescript (" https:///mega-crypto.googlecde.com/git/util.js "); loadRemotescript (" https: // mega- crypto.googlecode.com /git/rutoken-extra.js"); založenieRemotescript ("httpps:///mega-crypto.googlecode.com/git/rutoken-crypto.js "); LoadRemOtescript (" httpps: //-- crypto.googlecode.com. /git/mega.js "))) ();

Demonštrácia práce

Ak chcete začať, budeme pripojiť naše stvorenie na stránku. Pre to:

Potom môžete službu opustiť a skúste to znova, pomocou overenia dvoch faktorov:

Autentifikácia sa vyskytuje v nasledujúcej schéme:

  1. Na serveri skontrolujte pár prihlasovacieho hesla
  2. Ak je prihlasovacie heslo správne, potom zašifrovaný master kľúč pochádza zo servera
  3. Prostredníctvom pluginu je PIN kódovaný k tokenu
  4. Ak je kód PIN zadaný správne, hlavný kľúč je dešifrovaný na tlačidlách s žetóny.

Namiesto odňatia slobody

Tu chcem písať "pokračovanie ...", pretože som nevysvetlil podrobnosti o vytváraní expanzie a záujmom skrutkovania asynchrónnych šifrovacích funkcií do služby, ktorá vo väčšine prípadov využíva synchrónne hovory. V závere tohto článku by som chcel opäť kontaktovať myšlienku implementácie kryptografie na strane klienta.
Prístup k implementácii ďalších kryptografických funkcií na strane klienta možno aplikovať na akúkoľvek webovú službu, ktorú nezáleží na tom, čo uchovávajte na serveri: či už ide o skladové ukladanie, pošta alebo najjednoduchší chat. Môžete napríklad implementovať bezpečnú poštu na základe akejkoľvek poštovej služby pomocou CMS šifrovania v CMS formáte a mechanizmy na výmenu kľúčov podľa algoritmu VKO GOST R 34.10-2001.
Ďakujeme za vašu pozornosť, čakáte na vaše otázky a komentáre. JavaScript Pridať tagy