home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 July / Chip_2004-07_cd1.bin / program / ctenari / Hytha / MCA.txt next >
Text File  |  2003-12-30  |  13KB  |  56 lines

  1. MCA 1.0 - Multi Crypted Archive
  2. (C)Y2k4 K.M.S. under free ZOA licence
  3.  
  4. Program MCA je urΦen k vytvo°enφ ÜifrovanΘho archφvu s r∙zn²mi klφΦi pro ka₧d² soubor. To umo₧≥uje distribuovat v∞tÜφ projekty s tφm, ₧e k jednotliv²m Φßstem bude mφt p°φstup pouze oprßvn∞n² u₧ivatel. Klasick²m p°φkladem je archφv, ve kterΘm je distribuovan² program Üifrovßn ve°ejn²m klφΦem a zdrojovΘ k≤dy firemnφm klφΦem; pop°φpad∞ hudebnφ album, kde jsou MP3 Üifrovßny ve°ejn²m klφΦem, fotografie a dalÜφ bonusy klφΦem pro registrovanΘ Φleny fanclubu a jednotlivΘ nemixovanΘ stopy skladeb soukrom²m klφΦem hudebnφ skupiny.
  5. Program MCA pou₧φvß 18 profesionßlnφch symetrick²ch Üifrovacφch algoritm∙ v zßvislosi na v²b∞ru u₧ivatele, samoz°ejmostφ je implementace souΦasnΘho Üifrovacφho standardu AES (Rijndael).
  6.  
  7. èifrovat ka₧d² soubor pod jin²m heslem a uklßdat je vÜechny do jednoho archφvu je b∞₧nou funkcφ komprimaΦnφch program∙. Lze vÜak zpochybnit bezpeΦnost takto ulo₧en²ch dat. Program∙ typu ZIPcrack nebo ARJcrack lze na Internetu najφt desφtky, co₧ nep°ispφvß k d∙v∞ryhodnosti heslovßnφ v b∞₧n²ch komprimaΦnφch programech. Koneckonc∙, u nich je ochrana heslem pouze vedlejÜφ funkcφ.
  8. Oproti tomu v∞tÜina kvalitnφch Üifrovacφch program∙ sice zajistφ bezpeΦnost dat takovou, ₧e na prolomenφ klφΦe by byla t°eba doba p°esahujφcφ trvßnφ vesmφru, ale nepodporujφ vytvß°enφ jednoho archφvu s vφce soubory s vlastnφmi klφΦi (nap°φklad PGP).
  9. Voln∞ Üi°iteln² program MCA poskytuje jednak zabezpeΦenφ dat v profesionßlnφ kvalit∞ a zßrove≥ umo₧≥uje vytvo°it archφv, u kterΘho lze mφt pro r∙znΘ soubory r∙znΘ Üifrovacφ klφΦe. V²robce produktu tedy m∙₧e zajistit, aby se b∞₧n² u₧ivatel dostal jen k Φßsti archφvu, kde₧to neve°ejnß data budou k dispozici jen oprßvn∞n²m osobßm.
  10. P°φkladem m∙₧e b²t odd∞lenφ binßrnφ distribuce od zdrojov²ch k≤d∙, p°iΦem₧ t°etφ Φßstφ archφvu m∙₧e b²t nap°φklad archφv ·Φetnictvφ, ke kterΘmu nemajφ p°φstup ani v²vojß°i software.
  11. Struktura archφvu programu MCA je takovß, ₧e bez konkrΘtnφho klφΦe nelze poznat ani to, kolik soubor∙ a jakΘ soubory jsou v n∞m obsa₧eny. U zaheslovan²ch soubor∙ v archφvech RAR, ZIP, ARJ a podobn²ch je na prvnφ pohled vid∞t, co je v nich obsa₧eno za soubory a u₧ tento fakt m∙₧e pomoci ·toΦnφkovi k prolomenφ samotnΘ Üifry. Program MCA vyu₧φvß prvky steganografie (i kdy₧ se o steganografii nejednß), dφky Φemu₧ je t°eba klφΦ i k tomu, aby bylo poznat, ₧e p°φsluÜn² soubor v ÜifrovanΘm archφvu v∙bec existuje. Archφv mß toti₧ p°i vytvß°enφ pevn∞ danou velikost, podobn∞ jako zßznamovΘ mΘdium, do kterΘ je mo₧no umφstit tolik soubor∙, kolik se jich tam vejde. Zb²vajφcφ mφsto umo₧≥uje program MCA vyplnit nßhodn²mi daty. Pokud je tedy velikost archφvu 1MB, nelze bez vÜech klφΦ∙ poznat, jestli je v n∞m pouze jeden 1MB soubor, jestli jsou v n∞m dva 100KB soubory, p°iΦem₧ je zbytek vypln∞n nßhodn²mi daty, nebo jestli je tam soubor∙ dvacet. Pokud u₧ivatel ztratφ jeden z klφΦ∙, p°ijde nejen o mo₧nost p°φsluÜn² soubor deÜifrovat, ale i o mo₧nost zjistit, zda tam n∞jak² soubor je a kde se v archφvu nachßzφ.
  12.  
  13. Jakß je struktura archφvu?
  14. Archφv programu MCA je rozd∞len na sektory, podobn∞ jako disketa. Jeden sektor mß velikost 256 bajt∙. P°i vytvß°enφ archφvu je k dispozici mapa voln²ch sektor∙. P°i Üifrovßnφ souboru je alokovßn nßhodn² sektor v archφvu, ten je oznaΦen do mapy jako obsazen² a jeho pozice je ulo₧ena do klφΦe. Do p°φsluÜnΘho sektoru se ulo₧φ Üifrovanß data a program MCA dßle vyhledßvß nßhodnΘ sektory, kterΘ jsou volnΘ. èifrovacφ klφΦ a mapa archφvu jsou tedy ekvivalenty FAT v souborovΘm systΘmu. Kdy₧ jsou v archφvu umφst∞ny vÜechny soubory, umo₧≥uje  program MCA projφt volnΘ sektory a zaplnit je nßhodn²mi daty. Tφm je archφv vytvo°en a je t°eba smazat mapu archφvu, kterß slou₧φ pouze jako pomocnß informace pro jeho vytvß°enφ.
  15. Dßle u₧ zßle₧φ jen na sprßvci archφvu, komu poskytne jak² klφΦ. S jednφm klφΦem lze zφskat p°φstup pouze k tomu souboru, ke kterΘmu pat°φ, a i samotnß existence ostatnφch z∙stane skryta. Potencißlnφ ·toΦnφk nemß bez klφΦ∙ Üanci zjistit ani to, jak jsou soubory v archφvu umφst∞ny, jeliko₧ tato informace je pouze souΦßstφ klφΦe. Soubory jsou dφky kvalitnφmu generßtoru nßhodn²ch Φφsel (viz dßle) v archφvu natolik fragmentovnΘ, ₧e je nelze bez klφΦe ani rekonstruovat (=defragmentovat), nato₧ deÜifrovat. To je jeÜt∞ posφleno tφm, ₧e nevyu₧itΘ mφsto (kterΘho m∙₧e b²t i znaΦn∞ vφce, ne₧ Üifrovan²ch dat) je vypln∞no nßhodn²mi Φφsly, kterß vypadajφ stejn∞ chaoticky, jako zaÜifrovanß data.
  16. Ani p°i odcizenφ soubor∙ s klφΦem nenφ vÜe ztraceno. KlφΦ je chrßn∞n stejn∞ kvalitnφm Üifrovßnφm, jako samotn² archφv, ovÜem zde ji₧ zßle₧φ jen na kvalit∞ hesla. èifrovßnφ klφΦe nenφ toti₧ posφleno fragmentacφ struktury souboru a zßvisφ jen na hesle, kterΘ zadßvß u₧ivatel.
  17.  
  18. ProΦ je program MCA tak kvalitnφ?
  19. AΦkoli je struktura archφvu a klφΦ∙ pro p°φstup k soubor∙m sama o sob∞ spolehlivß a originßlnφ, neznamenalo by to nic bez kvalitnφho Üifrovacφho algoritmu.
  20. Program MCA Üifruje i klφΦ i soubory v archφvu a₧ 18 kvalitnφmi Üifrovacφmi programy v zßvislosti na p°ßnφ u₧ivatele, kter² si sßm vybφrß pou₧itΘ Üifry. Podporovßny jsou nßsledujφcφ profesionßlnφ Üifry r∙znΘ kvality zabezpeΦenφ, od nejstarÜφch Üifrovacφch standard∙, p°es °adu kvalitnφch algoritm∙ a₧ po souΦasnou ÜpiΦku - oficißln∞ schvßlen² standard AES (=Üifra Rijndael).
  21. ProΦ nebyl pou₧it pouze standard AES, kdy₧ je mΘdii i odbornφky prezentovßn jako vynikajφcφ? Z jednoduchΘho d∙vodu. V jednΘ diskuzi se vyskytl nßzor, ₧e americkß vlßda ovliv≥uje v²vojß°e Üifrovacφch algoritm∙ tak, aby je bylo mo₧nΘ prolomit i bez klφΦe. Uvedu p°φklad: zdrojov² k≤d sice neprokß₧e, ₧e by se klφΦ n∞jak do zaÜifrovanΘho souboru uklßdal, ale co kdy₧ platφ n∞jakß na prvnφ pohled nepoznatelnß zßvislost? Nap°φklad, ₧e kdy₧ prvnφch 16 bajt∙ je lich²ch, tak je prvnφ bit klφΦe 0 a podobn∞. DotyΦn² ·Φastnφk diskuze mi poslal odkaz na Φlßnek, kde byly uvedeny konkrΘtnφ p°φpady, kdy byli v²vojß°i algoritmu ovlivn∞ni tak, aby umo₧nili vlßd∞ jednoho diktaturychtivΘho stßtu data kdykoli deÜifrovat i bez klφΦe. Jsme-li dostateΦn∞ opatrnφ, musφme p°ipustit, ₧e t∞₧ko ov∞°φme, zda souΦasnΘ Üifrovacφ standardy neposkytujφ zadnφ vrßtka n∞kterΘ diktatu°e, kterß by se vymluvila na "ochranu p°ed teroristy", nebo na n∞co podobnΘho. Z toho d∙vodu program MCA pou₧φvß velmi kvalitnφch Üifer 18 a to by v tom byl Φert, aby alespo≥ jedna z nich nebyla mimo kontrolu agent∙ :-) Toto pojetφ je trochu paranoidnφ, ale jin²mi slovy to lze shrnout, ₧e kdy₧ z jakΘhokoli d∙vodu sel₧e jeden algoritmus, jsou jeÜt∞ dalÜφ v zßloze.
  22. Program MCA pou₧φvß souΦasn∞ nßsledujφcφ Üifrovacφ algoritmy:
  23. Rijndael (souΦasn² Üifrovacφ mezinßrodn∞ uznßvan² standard), MARS, RC6, Serpent, TwoFish (vÜechny finalistΘ kandidatury na AES), CAST256 (kandidßt na AES), Blowfish, Cast128, DES, Tripple DES, ICE, ThinICE, ICE2, IDEA (pou₧it ve znßmΘm Üifrovacφm programu PGP), MISTY1, RC2, RC5, TEA
  24. V²b∞r Üifer je bohat² a v∞tÜina jmen naznaΦuje, ₧e program MCA je dφky jejich pou₧itφ velmi kvalitnφ.
  25.  
  26. StruΦn² popis ovlßdßnφ programu MCA
  27.  
  28. Vytvo°enφ archφvu
  29. Vytvo°enφ archφvu je mo₧nΘ provΘst v zßlo₧ce "Create empty archive". V levΘ hornφ Φßsti u₧ivatel vybφrß jmΘno archφvu, v pravΘ Φßsti volφ jeho velikost (pozor - u v∞tÜφho mno₧stvφ soubor∙ poΦφtejte s tφm, ₧e sektory se alokujφ po 256 bajtech - nechte si tedy rezervu, kterou m∙₧ete po archivaci vÜech soubor∙ vyplnit nßhodn²mi Φφsly) a samotnΘ vytvo°enφ archφvu se provede tlaΦφtkem "Create archive" (zßrove≥ dojde k vytvo°enφ mapy archφvu).
  30.  
  31. ZaÜifrovßnφ dat
  32. JeÜt∞ v zßlo₧ce "Create empty archive" mß mo₧nost u₧ivatel vybrat, kterΘ Üifry se pou₧ijφ. DoporuΦuji pou₧φt vÜechny. Program usnadnφ vybrßnφ pouze kandidßt∙ na AES, finalist∙ AES a pouze AES. Jednφm stiskem tlaΦφtka lze tΘ₧ oznaΦit vÜechny algoritmy, nebo naopak jejich oznaΦenφ zruÜit. Po v²b∞ru Üifer je nutno p°epnout do zßlo₧ky "Add files to archive".
  33. Zvolte archφv, do kterΘho budete p°idßvat soubory, v kolonce "Target archive name".
  34. Zadejte heslo pro p°φstup ke klφΦi. Pokud budete klφΦ pova₧ovat za ve°ejn², nechte heslo prßzdnΘ (pozor: absence hesla neznamenß, ₧e nenφ t°eba klφΦ, viz dßle!). Do kolonky "Key identification" m∙₧ete napsat komentß° k souboru, ke kterΘmu bude klφΦ vygenerovßn, nap°φklad popis a verzi produktu, kter² Üifrujete. Tuto polo₧ku m∙₧ete nechat prßzdnou.
  35. V tuto chvφli siln∞ doporuΦuji nechat vyÜkrtnutou volbu "Use pseudorandom generator". Pro vygenerovßnφ klφΦe je bezpodmφneΦn∞ nutnΘ, aby byl skuteΦn∞ nßhodn² a nikoli pseudonßhodn², jakΘ jsou generßtory programovacφch jazyk∙.
  36. V levΘ Φßsti formulß°e zvolte soubor, kter² chcete zaÜifrovat. ZaÜifrovßnφ a p°idßnφ do archφvu provedete tlaΦφtkem "Add file(s)". P°i stisku tohoto tlaΦφtka budete pravd∞podobn∞ po₧ßdßni programem o pomoc p°i generaci nßhodn²ch Φφsel pro vygenerovßnφ klφΦe. To spoΦφvß pouze v tom, ₧e budete chvφli jezdit myÜφ po ploÜe, co₧ postaΦφ k vygenerovßnφ opravdu nßhodn²ch Φφsel a nikoli jen pseudonßhodn²ch. Toto je jedin² zp∙sob, jak zφskat skuteΦn∞ nßhodnß Φφsla bez hardwarovΘho RND generßtoru (tento zp∙sob je pou₧it nap°φklad ve ÜpiΦkovΘm Üifrovacφm programu PGP). Program ale nßhodnß Φφsla generuje po dobu celΘho svΘho b∞hu, proto je mo₧nΘ, ₧e pokud jste program dΘle nastavovali, nebude p°i prvnφm Üifrovßnφ ₧ßdnß ₧ßdost o h²bßnφ myÜφ zobrazena. Program MCA spolupracuje se znßm²m programem pro generovßnφ nßhodn²ch Φφsel ExternalRND.
  37. Pokud budete Üifrovat vφce soubor∙, nastavte op∞t parametry pro jejich zaÜifrovßnφ (heslo, identifikace) a znovu pou₧ijte tlaΦφtko "Add file(s)".
  38. Jakmile mßte vÜechny soubory v archφvu, je t°eba provΘst jeÜt∞ dv∞ v∞ci.
  39. Prvnφ z nich je vypln∞nφ archφvu nßhodn²mi Φφsly. Bu∩ m∙₧ete zaplnit jen urΦitou Φßst, nebo jej m∙₧ete vyplnit cel². Zde ji₧ doporuΦuji zapnout pseudonßhodn² generßtor, jeliko₧ ruΦnφ generovßnφ by zdr₧ovalo b∞h programu. Pokud pseudonßhodn² generßtor zapomenete aktivovat na formulß°i, m∙₧ete tak uΦinit i na ploÜe ruΦnφho generßtoru.
  40. Druh²m a poslednφm krokem po zaÜifrovßnφ vÜech soubor∙ je smazßnφ nepot°ebnΘ mapy tlaΦφtkem "Delete map file". V tu chvφli ji₧ do archφvu nem∙₧ete p°idßvat dalÜφ soubory ani v p°φpad∞, ₧e jeÜt∞ nebyl zapln∞n.
  41. Nynφ je u₧ pouze na administrßtorovi archφvu, jak a komu rozd∞lφ p°φstupovΘ klφΦe k jednotliv²m soubor∙m. Nezapome≥te, ₧e jakmile bude klφΦ ztracen, nenφ ₧ßdnß mo₧nost obnovit p∙vodnφ data z archφvu. Pro p°φpad odcizenφ klφΦe je d∙le₧itΘ zadat kvalitnφ heslo, kterΘ by m∞lo ochrßnit data i tehdy, mß-li ·toΦnφk klφΦ k dispozici. Vynechßvejte heslo pouze pro soubory, kterΘ jsou opravdu ve°ejnΘ. Pozor: to, ₧e pro soubor nezadßte heslo, neznamenß, ₧e nenφ t°eba klφΦ! Heslo je pouze pojistka, nebo "poslednφ zßchrana", pro p°φpady odcizenΘho klφΦe, samotnΘ uklßdßnφ do archφvu na n∞m nenφ zßvislΘ (je - samoz°ejm∞, ale jen okrajov∞).
  42.  
  43. DeÜifrovßnφ dat
  44. Nejprve zvolte v lev²ch panelech klφΦe, kterΘ budou pou₧ity k deÜifrovßnφ soubor∙. OznaΦen² klφΦ p°idßte do seznamu tlaΦφtkem "Get key from source panel" v panelu "Key files". Seznam klφΦ∙ m∙₧ete smazat tlaΦφtkem "Clear key list". Jakmile zvolφte vÜechny klφΦe pro vÜechny soubory, kterΘ chcete z archφvu extrahovat, zm∞≥te filtr v panelu "Source archive" na "MultiCryptedArchive file", Φφm₧ se zobrazφ pouze archφvy. Po₧adovan² archφv v panelu "Source archive" oznaΦte. Jako poslednφ krok zvolte v panelu "Target directory" adresß°, kam budou deÜifrovanΘ soubory extrahovßny. 
  45. TlaΦφtkem "Extract archive" spustφte deÜifrovßnφ soubor∙. Pro ka₧d² klφΦ budete vyzvßni k zadßnφ hesla a k zadßnφ jmΘna deÜifrovanΘho souboru. Jako defaultnφ nßzev je nabφdnuto p∙vodnφ jmΘno souboru s cestou, kterou jste zvolili v panelu "Target directory".
  46. Program MCA ohlßsφ chybu, pokud dojde dφky nesprßvnΘmu klφΦi nebo heslu k odkazu mimo prostor archφvu, ale ·mysln∞ nenφ podporovßn ₧ßdn² kontrolnφ k≤d detekujφcφ poÜkozenφ archφvu. P°edpoklßdß se Üifrovßnφ zkomprimovan²ch archφv∙, kterΘ toto zabezpeΦenφ majφ, a proto je absence podobnΘho mechanismu v programu MCA obrovskou p°ekß₧kou pro p°φpadnΘ ·toΦnφky, kte°φ tak nemajφ jakoukoli mo₧nost ov∞°it, zda se jim poda°ilo Üifru prolomit, Φi zda jejich pokus skonΦil ne·sp∞Ün∞.
  47.  
  48. Ukßzka
  49. V adresß°i Ukazka\ se nachßzφ demonstraΦnφ archφv, kter² obsahuje dva soubory. KlφΦe k ob∞ma soubor∙m se nachßzφ ve stejnΘm adresß°i. Oba soubory jsou Üifrovßny bez pou₧itφ hesla.
  50.  
  51. Zßv∞r
  52. Produkt zajistφ tak dobrΘ zabezpeΦenφ soubor∙, ₧e v p°φpad∞ volby sprßvnΘho hesla a ochrßn∞nφ tajnΘho klφΦe p°ed ·toΦnφky nenφ prakticky Üance na zφskßnφ utajovan²ch dat. DalÜφ v²hodou tohoto programu je mo₧nost vytvo°it archφv tak, ₧e k r∙zn²m soubor∙m majφ u₧ivatelΘ p°φstup podle toho, zda jim administrßtor archφvu poskytl klφΦ k deÜifrovßnφ.
  53.  
  54. Program je samoz°ejm∞ voln∞ Üi°iteln², lze jej zdarma pou₧φvat i Üφ°it za p°edpokladu, ₧e jsou dodr₧eny licenΦnφ podmφnky ZOA.
  55.  
  56. Program nemß ₧ßdnΘ zvlßÜtnφ nßroky na hardware a funguje na vÜech t°icetidvoubitov²ch Windows.