home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 April / Chip_2003-04_cd1.bin / tema / krypta / articles.php@ID=225 < prev    next >
Text File  |  2003-02-02  |  14KB  |  314 lines

  1. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4.  <title>Krypta.cz - Secret sharing, secret splitting?</title>
  5.  <link rel="StyleSheet" href="server/main.css" type="text/css">
  6.  <link rel="SHORTCUT ICON" href="server/favicon.ico">
  7.  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  8.  <meta http-equiv="Cache-control" content="no-cache">
  9.  <meta http-equiv="Pragma" content="no-cache">
  10.  <meta http-equiv="Expires" content="0">
  11.  <meta name="robots" content="ALL,FOLLOW">
  12.  <meta http-equiv="Content-language" content="cs">
  13.  <meta name="description" content="Internetov² bezpeΦnostnφ portßl, zab²vajφcφ se kryptografiφ (Üifrovßnφm), ochranou dat, internetovou bezepeΦnostφ a poΦφtaΦov²mi viry">
  14.  <meta name="keywords" content="Üifrovßnφ cryptography pgp des aes rsa dss digital signatures pki linux free bezpeΦnost ochrana hacking cracking virus worm">
  15.  <meta name="copyright" content="Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>.">
  16.  <!-- No caching for this document.Trying to write to art225.html. ?> -->
  17.  
  18.  <!-- output.php -->
  19.  
  20.   <script language="JavaScript">
  21.   <!-- 
  22. //    if(top != self) { window.top.location.href=document.location; }  -->
  23.   </script>
  24.  
  25.  
  26. <!-- NAVRCHOLU.cz -->
  27. <script language="JavaScript" type="text/javascript">
  28. <!--
  29. pxDepth = screen.pixelDepth;
  30. if (!(pxDepth > 0))
  31.     pxDepth = screen.colorDepth;
  32. if (!(pxDepth > 0))
  33.     pxDepth = 0; 
  34. document.write("<img style=\"position:absolute; top:0px; left: 0px;\" src=\"../hit.navrcholu.cz/hit@id=00039669;n=1;screenx=" + screen.width + ";screeny=" + screen.height + ";cdepth=" + pxDepth + ";ref=" + escape(top.document.referrer) + "\" width=\"1\" height=\"1\" alt=\"\">");
  35. // -->
  36. </script>
  37. <noscript>
  38. <img style="position:absolute; top:0px; left: 0px;" src="../hit.navrcholu.cz/hit@id=00039669;n=1" width="1" height="1" alt="" border="0">
  39. </noscript>
  40. <!-- NAVRCHOLU.cz - konec -->
  41.  
  42. <STYLE Type=text/css>
  43.     BODY                { font-size:110%; background-color: #ffffff; color: #000000; margin: 0px;   background-image: url(images/backgr.gif); }
  44.  
  45.  
  46.  
  47.     .Copyright        { color: #000000; }
  48.     .Copyright A    { color: #000000; }
  49. </STYLE>
  50. </head>
  51. <SCRIPT>
  52. </SCRIPT><SCRIPT Src=charts.php@version=1621></SCRIPT><SCRIPT>
  53.  // Nalezeno  1 polozek. 
  54. var SectionTitles=new Array( "Secret sharing, secret splitting?" );
  55. var SectionURLs=new Array( "225" );
  56.  
  57. var BrothersNames = new Array("Secret sharing, secret splitting?","MS Script Encoder: ukßzka tzv. bezpeΦnosti p°es obstrukce","MS Script Encoder","MS Script Encoder: ukßzka bezpeΦnosti p°es obstrukce","");
  58. var BrothersIDs = new Array("225","236","237","238","");
  59. //=====INFO======
  60. ItemName='Article225';
  61.  
  62. InIFrame='No';
  63. TableNum=2; 
  64. ItemID=225; 
  65. ArticleType='1'; 
  66. Action='articles'
  67. ItemTitle='Secret sharing, secret splitting?';
  68. ItemComment='Secret sharing, secret splitting?';
  69. TabName='Articles'
  70. Parent1Title='Matematika' ;
  71. Parent2Title='Kryptografie v praxi' ;
  72. Parent1ID='28' ;
  73. Parent2ID='7' ;
  74. ParentTitle='Matematika' ;
  75. AuthorName='Michal Till' ;
  76. AuthorDesc='' ;
  77. AuthorEMail='Michal.Till@Seznam.cz' ;
  78. AuthorID='1' ;
  79. ItemDate='29.10.2002';
  80. Views='306' ;
  81. Average='2.00' ;
  82. Grade='2' ;
  83. NumVotes='0' ;
  84. SourceName='' ;
  85. SourceURL='' ;
  86. SourceLink='' ;
  87. Ref1URL='' ;
  88. Ref2URL='' ;
  89. Ref3URL='' ;
  90. Ref4URL='' ;
  91. Ref5URL='' ;
  92. Ref1Link='' ;
  93. Ref2Link='' ;
  94. Ref3Link='' ;
  95. Ref4Link='' ;
  96. Ref5Link='' ;
  97. Ref1Desc='' ;
  98. Ref2Desc='' ;
  99. Ref3Desc='' ;
  100. Ref4Desc='' ;
  101. Ref5Desc='' ;
  102. Possible=1 ;
  103. Answer1='' ;
  104. Answer2='' ;
  105. Answer3='' ;
  106. Answer4='' ;
  107. Answer5='' ;
  108. Num1='';
  109. Num2='';
  110. Num3='';
  111. Num4='';
  112. Num5='';
  113. Type= ''; //def
  114. WebName='Krypta.cz';
  115. //====ENDINFO======
  116.  
  117. </SCRIPT>
  118.  
  119. <BODY>
  120. <DIV Style="position:absolute;z-index:-50;left:190px;top:20px;"><FONT Face=Arial Size=2 Color=#a0a0a0>╚ekejte prosφm...<a href=text.php><FONT Face=Arial Size=2 Color=#a0a0a0>textovß verze</FONT></a></FONT></DIV>
  121.  
  122. </SCRIPT>
  123. <SCRIPT Language=JavaScript Src="server/startfeatures.php@Rand=ddd "> </SCRIPT><SCRIPT Language=JavaScript Src="server/features.php"> </SCRIPT><!-- Rozdeleni na sloupce -->
  124.  
  125. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%">
  126. <tr>
  127.  
  128. <!-- Levy sloupec -->
  129.  
  130.  
  131.  
  132. <td  width="161" align="center" valign="top">
  133.  
  134. <img src=space.gif height=1 width=161>
  135. <SCRIPT SRC=server/left_js.php@version=1621></SCRIPT></td>
  136.  
  137. <!-- /Levy sloupec -->
  138.  
  139. <!-- Mezera 1-->
  140. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  141. <!-- /Mezera 1-->
  142.  
  143. <!-- Mezera 2 -->
  144. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  145. <!-- /Mezera 2-->
  146.  
  147. <!-- Mezera 3 -->
  148. <td width=10><img src="images/spacer.gif" width="10" height="1" border="0" alt=""></td>
  149. <!-- /Mezera 3-->
  150.  
  151.  
  152. <!-- Prostredni sloupec -->
  153. <td align="center" valign="top">
  154.  
  155. <!-- Hlavicka -->
  156. <!-- Horni lista s reklamou -->
  157.  
  158. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" class="hrlista">
  159. <tr>
  160.  
  161. <!-- Logo-->
  162. <td VAlign=Top>
  163. <a href="default.htm"><img src="images/logo.gif"  style="z-index:100;" vspace=0 cwidth="222" cheight="48" border="0" alt="Krypta.cz - Magazφn o informaΦnφ bezpeΦnosti"></a>
  164. </td>
  165. <!-- /Logo -->
  166.  
  167. <td align=center>
  168. </td></tr></table>
  169. <!-- /Horni lista s reklamou-->
  170. <!-- /Hlavicka -->
  171.  
  172. <TABLE Width=100% Border=0><TD><SCRIPT>
  173. </SCRIPT><SCRIPT>
  174. ArticleHead('Secret sharing, secret splitting?', 'Michal Till', 'Michal.Till@Seznam.cz', '29.10.2002', '19:21:32', '╚lßnek');
  175. Intro('StarΘ moudro °φkß, ₧e t°i mu₧i dokß₧ou uchovat spoleΦnΘ tajemstvφ jen za p°edpokladu, ₧e dva z nich jsou mrtvφ. B²vßvalo r∙zn∞, ale te∩ je na sv∞t∞ kryptografie, aby tento problΘm °eÜila. ╪φkß se mu secret sharing, resp. secret splitting.');
  176. ArticleBanner_smallres('margin-bottom:10px;margin-top:-3px;');
  177. </SCRIPT>
  178. <DIV Class=Article><SCRIPT>
  179. AuthorData();
  180. if (Type != 'Pure') if ((ArticleType!=19) && (ArticleType!=20)) ShowSections();
  181. ArticleBanner_bigres('margin-top:12px;margin-bottom:-3px;');
  182. </SCRIPT><FONT Size=2><DIV Align=Justify Class=Paragraph>
  183.     Z praxe nenφ ojedin∞lß situace, kdy se p°i ochran∞ (nap°φklad) firemnφho tajemnstvφ, know-how apod. z pochopiteln²ch d∙vod∙ nenφ mo₧nΘ spolΘhat na jednu jedinou osobu. Je nutnΘ vytvo°it n∞jak² mechanizmus, jeho₧ primßrnφm ·kolem bude rozd∞lit n∞jakß privilegia mezi n∞kolik lidφ tak, aby p°i kompromitovßnφ jednΘ osoby Φi n∞jakΘ Φßsti skupiny byl p°edm∞t ochrany stßle stejn∞ dob°e st°e₧en.
  184. </DIV></FONT></b></i>
  185. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  186.     V reßlnΘm sv∞t∞ mi na mysl okam₧it∞ padnou ΦeskΘ KorunovaΦnφ klenoty - dve°e do sφn∞, kde jsou ulo₧eny, majφ n∞kolik zßmk∙ a jednotlivΘ jsou prop∙jΦeny n∞kolika p°edstavitel∙m stßtu. Cesta fyzickß, cesta bezpeΦnß. Jak ji₧ to ale b²vß, informaΦnφ technologie hrajφ v ₧ivot∞ Φφm dßl tφm v∞tÜφ roli a i tento problΘm mß svΘho elektronickΘho bratra. ╪φkß se mu Secret splitting Φi Secret sharing.
  187. </DIV></FONT></b></i>
  188. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  189.     Na rozd∞lenφ d∙v∞rnΘ informace existuje n∞kolik metod, nejjednoduÜÜφ je pou₧itφ b∞₧nΘho logickΘho XORu. XOR je binßrnφ operace, kterß pro dva souhlasnΘ bity (dv∞ nuly nebo dv∞ jedniΦky) vracφ nulu, v opaΦnΘm p°φpad∞ jedniΦku. V p°φpad∞ xorovßnφ v∞tÜφch objekt∙ (nap°φklad Φφsel) se kratÜφ z nich (pokud nejsou stejn∞ dlouhΘ) doplnφ zleva nulami a xorujφ se jednotlivΘ bity (tj. vlastn∞ Φφslice ve dvojkovΘ soustav∞). Nenφ t∞₧kΘ ov∞°it, ₧e Φφslo dvakrßt xorovanΘ stejnou hodnotou vracφ op∞t hodnotu p∙vodnφ, tedy ₧e (a XOR b) XOR b = a, jinak °eΦeno a XOR a = 0 pro jakΘkoliv a. Pokud chceme my, jako₧to d∙v∞ryhodnß a nezßvislß "t°etφ" strana rozd∞lit zprßvu M nap°φklad mezi Φty°i osoby, nßhodn∞ vygenerujeme t°i °et∞zce A, B, C o stejnΘ dΘlce jako M a Φtvrt², D, dopoΦφtßme xorovnßnφm p°edchozφch a M. Tedy D = A XOR B XOR C XOR M. Nenφ t∞₧kΘ ov∞°it, ₧e dφky v²Üe zmi≥ovanΘ vlastnosti si tato skupinka lidφ M lehce dopoΦφtß pouh²m sexorovßnφm sv²ch dφl∙, A XOR B XOR C XOR (A XOR B XOR C XOR M) = M.
  190. </DIV></FONT></b></i>
  191. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  192.     Pokud je vÜe provedeno sprßvn∞ a t°etφ strana je skuteΦn∞ d∙v∞ryhodnß jak se o nφ p°edpoklßdß, je tato metoda naprosto bezpeΦnß. V minul²ch dφlech povφdßnφ o Üifrßch jsme si popisovali tzv. jednorßzov² blok jako₧to jedinou neprolomitelnou Üifru. T∞₧φ jednak z toho, ₧e klφΦ je generovßn nßhodn∞ a, jak u₧ z nßzvu vypl²vß, pou₧it jen jednou a jednak z toho ₧e je stejn∞ dlouh² jako zprßva. ┌toΦnφkovi pak nepom∙₧e ani ·tok hrubou silou (vyzkouÜenφ vÜech mo₧nostφ), nebo¥ pravd∞podobnost, ₧e dostane p∙vodnφ tajn² text je stejnß jako ₧e obdr₧φ Shakespearovy sonety Φi Zßkon o dani z p°φjmu. Pokud se nad algoritmem zamyslφte, shledßte, ₧e takov²m jednorßzov²m blokem vlastn∞ je.
  193. </DIV></FONT></b></i>
  194. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  195.     TakovΘto schΘma mß ale spoustu nev²hod. P°edn∞ je to nutnost generovßnφ a skladovßnφ Φty° stejn∞ dlouh²ch Φφsel, °et∞zc∙ Φi text∙, co₧ m∙₧e b²t pravda vy°eÜeno klasickou symetrickou kryptografiφ. Mφsto dlouhΘho souboru pak jednotlivΘ osoby budou sdφlet pouze svojφ "Φßst" krßtkΘho Üifrovacφho klφΦe. Dßle, jak ji₧ bylo °eΦeno, je pot°eba n∞jakΘ d∙v∞ryhodnΘ t°etφ stany. To samo o sob∞ je obrovskß nesnßz. Ke skuteΦn∞ bezpeΦnΘmu elektronickΘmu podpisu pro komunikaci se stßtem pot°ebujeme sφ¥ certifikaΦnφch autorit, ·°ad∙, vyhlßÜek apod. a jak jsme daleko... Navφc nutn² prost°ednφk mß v naÜem p°φpad∞ neomezenou moc, nejen₧e on znß tajemstvφ celΘ, ale m∙₧e jednotliv²m ·Φastnφk∙m podstrΦit jakΘkoliv vymyÜlenΘ hodnoty (D), ti podvod nepoznajφ dokud se nepokusφ sklßdanku slo₧it.
  196. </DIV></FONT></b></i>
  197. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  198.     A co kdy₧ jeden z nich sv∙j "dφl" ztratφ? Pak majφ vÜichni problΘm, nenφ zp∙sob jak²m by mohli v²sledek slo₧it. To vÜe proto, ₧e zprßva nebyla "rozd∞lena" v pravΘm slova smyslu, ale jen zaxorovßna nßhodn²mi hodnotami.
  199. </DIV></FONT></b></i>
  200. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  201.     V praxi vÜak m∙₧e b²t situace komplikovan∞jÜφ. P°edn∞ m∙₧eme po₧adovat, aby se tajemstvφ dalo rekonstruovat i p°i n∞jakΘm poΦtu chyb∞jφcφch ·Φastnφk∙ a to nejen proto, ₧e by sv∙j dφl mohl n∞kter² z nich ztratit. Dßle by se hodilo, pokud by n∞kterß osoba mohla mφt v∞tÜφ d∙le₧itost ne₧ statnφ. Nap°φklad podpisovΘ prßvo by mohl mφt bu∩ jednatel spoleΦnosti, nebo, v jeho nep°φtomnosti, pokud se shodnou vÜichni t°i jeho nßm∞stci.
  202. </DIV></FONT></b></i>
  203. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  204.     Tyto a dalÜφ po₧adavky °eÜφ komplikovan∞jÜφ algoritmy, kterΘ se anglicky naz²vajφ threshold schemes, n∞co jako "prahovß schΘmata". ZjednoduÜen∞ fungujφ tak, ₧e zprßva M se rozd∞lφ do n dφl∙ (orig. shadows), p°iΦem₧ m z nich m∙₧e M rekonstruovat. Mluvφme pak o (m,n)-threshold scheme. 
  205. </DIV></FONT></b></i>
  206. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  207.     Na obrßzku je vid∞t d∞lenφ Üifrovacφho klφΦe v PGP. Celkem jsou k dispozici 4 dφly, kterΘ byly rozd∞leny mezi t°i osoby. Platn² podpis p°itom zajistφ alespo≥ dv∞ Φtvrtiny.
  208. </DIV></FONT></b></i>
  209. <SCRIPT>
  210. _Image('file.php@Name=pgp','D∞lenφ Üifrovacφho klφΦe v PGP. Celkem jsou k dispozici 4 dφly, kterΘ byly rozd∞leny mezi t°i osoby. Platn² podpis p°itom zajistφ alespo≥ dv∞ Φtvrtiny','153','Left');
  211. </SCRIPT><FONT Size=2><DIV Align=Justify Class=Paragraph>
  212.     Tφm jsme zamezili faktickΘmu zniΦenφ zprßvy v p°φpad∞ ztrßty n∞jakΘho dφlu, navφc m∙₧eme namodelovat jakoukoliv situaci chceme. A co pokud po₧adujeme v∞tÜφ d∙le₧itost toho Φi onoho Φlov∞ka? JednoduÜe mu dßme vφc dφl∙, v popisovanΘm p°φpad∞ s obchodnφ spoleΦnostφ bychom vytvo°ili (3,6)-threshold schema, p°iΦem₧ zßstupc∙m dßme po jednom (specißln∞ v tomto p°φpad∞ se takΘ nask²tß mo₧nost (3,3) p°iΦem₧ jednatel bude vlastnit dφly jeho zßstupc∙).  
  213. </DIV></FONT></b></i>
  214. </DIV>
  215. <SCRIPT>
  216. TextEnd('')
  217. </SCRIPT><OL Class=None Type=Disc></OL><SCRIPT>
  218. nie('<br>');AdditionalTablesBegin();
  219.  
  220. CommentsBegin('Secret sharing, secret splitting?',0);
  221. NoComments()
  222. CommentsEnd();
  223. </SCRIPT><SCRIPT>
  224. ArticleEnd()
  225. </SCRIPT></TABLE>
  226. <!-- /Prostredni sloupec -->
  227.  
  228.  
  229. <!-- Mezera 3 -->
  230.  
  231. <td width=5><img src="images/spacer.gif" width="5" height="1" border="0" alt=""></td>
  232. <!-- /Mezera 3-->
  233.  
  234. <!-- Mezera 2 -->
  235. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  236. <!-- /Mezera 2-->
  237.  
  238. <!-- Mezera 1-->
  239. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  240. <!-- /Mezera 1-->
  241.  
  242. <!-- Pravy sloupec -->
  243. <td bgcolor=#006792 width="0" align="center" valign="top">
  244. <SCRIPT SRC=server/right_js.php@version=1621></SCRIPT><br>
  245. </td>
  246. <!-- /Pravy sloupec -->
  247.  
  248.  
  249. </tr>
  250.  
  251. <!-- Bilo -->
  252. <tr>
  253. <td bgcolor=#000000><img src=space.gif height=1 width=1></td>
  254. <td bgcolor=#000000></td>
  255. <td bgcolor=#000000></td>
  256. <td bgcolor=#FFFFFF></td>
  257. <td bgcolor=#FFFFFF></td>
  258. <td bgcolor=#FFFFFF></td>
  259. <td colspan=5 bgcolor=#000000></td>
  260. </tr>
  261. <tr  bgcolor=#FFFFFF>
  262. <td><img src=space.gif height=20 width=1></td>
  263. <td></td>
  264. <td></td>
  265. <td></td>
  266. <td></td>
  267. <td></td>
  268. <td colspan=5></td>
  269. </tr>
  270. <!-- /Bilo-->
  271.  
  272.  
  273.  
  274. </table>
  275. <!-- /Rozdeleni na sloupce -->
  276.  
  277. <SCRIPT>
  278.     Exec(ToExecute);
  279.     ToExecute="";
  280. </SCRIPT>
  281.  
  282. <!-- Dolni lista -->
  283.  
  284.  
  285. <!-- Paticka -->
  286. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor=#ffffff>
  287. <TR><td colspan=5 align="center" bgcolor=#000000><img src=space.gif height=1 width=1></td></TR>
  288. <TR bgcolor=#f0f0f0>
  289. <td align="center">
  290. <IMG Src=images/logo2.gif hspace=10 vspace=5>
  291. </td>
  292. <td>
  293. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  294.  
  295. <b><u>Krypta.cz</u></b> -  Magazφn o informaΦnφ bezpeΦnosti.<br>
  296. Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>. VÜechna prßva vyhrazena. <br>
  297. Tento server dodr₧uje prßvnφ p°edpisy o ochran∞ osobnφch ·daj∙, vΦetn∞ standardu P3P (<a href=server/policy.xml>policy</a>). </FONT></DIV>
  298. </td>
  299. <td>
  300. <IMG Src=geronimo.gif hspace=10 vspace=5>
  301. </td>
  302. <td>
  303. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  304. RedakΦnφ systΘm Geronimo<br>
  305. Copyright (C) 2001-2002 <a href=mailto:michal.till@krypta.cz>Michal Till</a>
  306. </FONT></DIV>
  307. </td>
  308. </td></tr></table>
  309. <!-- Paticka -->
  310.  
  311. <!-- /Dolni lista -->
  312.  
  313. </body>
  314. </html>