<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>fail &amp;mdash; Paweł Goleń, blog</title>
    <link>https://wampir.mroczna-zaloga.org/tag:fail</link>
    <description></description>
    <pubDate>Wed, 15 Apr 2026 04:49:22 +0000</pubDate>
    <item>
      <title>Wyciąganie błędnych wniosków II</title>
      <link>https://wampir.mroczna-zaloga.org/wyciaganie-blednych-wnioskow-ii</link>
      <description>&lt;![CDATA[Dziś dwa przykłady, w których na podstawie pewnych przesłanek wyciągnięty zostały pewne wnioski. Co w tym ciekawego? To, że wnioski te były nie do końca uzasadnione.&#xA;&#xD;&#xA;!--more--&#xD;&#xA;Pierwszy przykład to ta wypowiedź:&#xA;&#xA;  #fail #security rapidshare.com nie szyfruje haseł dostałem maila z moim hasłem. A nie link do zmiany jego ... &#xA;&#xA;Pytanie - czy na podstawie otrzymania zapomnianego hasła można wyciągnąć wniosek, że hasło nie jest szyfrowane? A może jest tak:&#xA;&#xA;  Przypominam, że jeśli hasło jest ZASZYFROWANE, to można je ODSZYFROWAĆ i wysłać użytkownikowi. Może więc jednak szyfruje :) &#xA;&#xA;Z dużym prawdopodobieństwem można przypuszczać, że rzeczywiście hasło po stronie serwera jest przechowywane w formie jawnej. Jest to jednak tylko przypuszczenie, przesłanka, którą w tym przypadku dysponujemy nie jest wystarczająca, by stwierdzić, że hasło nie jest szyfrowane. Wystarcza natomiast do tego, by stwierdzić, że hasło nie jest przechowywane w postaci hasha. W mojej ocenie pojęcie szyfrowania oznacza takie przekształcenie wiadomości, które umożliwia jej odzyskanie (odszyfrowanie). Nie jest więc wykluczone, że jakiś serwis przechowuje hasła w formie szyfrowanej, a gdy jakiś użytkownik hasła zapomni, jest ono odszyfrowane i wysyłane mu mailem. Temat przechowywania haseł poruszałem już wielokrotnie, zainteresowanych odsyłam na przykład tu: O przechowywaniu haseł.&#xA;&#xA;Ktoś może uznać, że się czepiam. Pewnie coś w tym jest, ale moim zdaniem precyzja wypowiedzi jest istotna. Szyfrowanie hasła to nie to samo, co przechowywanie hasha hasła. Przechowywanie hasła w formie szyfrowanej jest prawie tak złe, jak przechowywanie go w formie jawnej, ale... Tu niespodzianka - istnieją protokoły uwierzytelniania, które wymagają hasła użytkownika w formie jawnej, jeśli więc są one stosowane, przechowywanie hasła w formie zaszyfrowanej może być uzasadnione. Taka funkcja istnieje nawet w Windows: Store passwords using reversible encryption.&#xA;&#xA;Na zakończenie tego przykładu pytanie - czy fakt otrzymania linku do zmiany hasła pozwala na stwierdzenie, że po stronie serwera hasło nie jest przechowywane w formie jawnej lub szyfrowanej?&#xA;&#xA;Teraz drugi przykład. Natknąłem się na niego, gdy szukałem komentarzy ludzi na temat wygody i bezpieczeństwa haseł maskowanych. Znalazłem między innymi ten wpis:  Bezpieczne metody uwierzytelniania użytkowników, a pod nim następujący komentarz:&#xA;&#xA;  Krew się we mnie zagotowała jak przeczytałem ten wpis. Czy wie Pan o czym świadczy pytanie o losowe litery z hasła? O tym, że hasło trzymane jest w \\postaci niezaszyfrowanej\\ co urąga wszelkim zasadom bezpieczeństwa, szczególnie w banku! (...) &#xA;&#xA;Czy autor tego komentarza ma rację? Chodzi mi tu o cytowaną część komentarza, która dotyczy haseł maskowanych przy uwierzytelnieniu w systemach bankowości internetowej.&#xA;&#xA;Odpowiedź na to pytanie brzmi: to zależy. Nie jest tak, jak sugeruje autor, że użycie hasła maskowanego zawsze oznacza przechowywanie hasła w postaci jawnej (lub zaszyfrowanej). To zależy od konkretnej implementacji. Są takie, które w chwili zmiany hasła generują pewną liczbę masek i wyliczają stosowne hashe. W tym przypadku hasło nie musi i nie jest przechowywane w postaci jawnej. Są również i takie rozwiązania, w których hasło w takiej postaci najprawdopodobniej jest przechowywane. Świadczą o tym przekształcenia wykonywane po stronie klienta (w przeglądarce) po wpisaniu hasła. Takim sygnałem może być przekształcenie typu:&#xA;    &#xA;    &#xD;&#xA;    sha1(token, pwd)&#xD;&#xA;    &#xA;&#xA;gdzie token jest losowy i unikalny dla każdej próby uwierzytelnienia, natomiast pwd to fragment hasła wpisany przez użytkownika. Ale jeśli przekształcenie przyjmuje formę:&#xA;    &#xA;    &#xD;&#xA;    sha1(token, sha1(pwd))&#xD;&#xA;    &#xA;&#xA;nie ma już konieczności przechowywania w bazie hasła w formie jawnej. Tu pozwolę sobie przypomnieć o jednym z udostępnionych przeze mnie wyzwań, w którym przekształcenia wykonywane na wpisanym przez użytkownika haśle przed wysłaniem go do serwera są dość istotne.&#xA;&#xA;Dlaczego podaję te przykłady? Wyciąganie na podstawie istniejących przesłanek błędnych lub nieuprawnionych wniosków, może być szkodliwe. Jeśli dochodzimy do etapu wnioskowania, warto zastanowić się, które z naszych wniosków mają twarde dowody, a które opierają się w znacznej części na naszej intuicji. Być może warto przeprowadzić jakieś dodatkowe testy, które nasz wniosek potwierdzą, lub obalą.&#xA;&#xD;&#xA;&#xD;&#xA;Oryginał tego wpisu dostępny jest pod adresem Wyciąganie błędnych wniosków II&#xA;&#xA;smallAutor: Paweł Goleń/small]]&gt;</description>
      <content:encoded><![CDATA[<p>Dziś dwa przykłady, w których na podstawie pewnych przesłanek wyciągnięty zostały pewne wnioski. Co w tym ciekawego? To, że wnioski te były nie do końca uzasadnione.</p>



<p>Pierwszy przykład to <a href="http://blip.pl/s/105512171">ta wypowiedź</a>:</p>

<blockquote><p><a href="https://wampir.mroczna-zaloga.org/tag:fail" class="hashtag"><span>#</span><span class="p-category">fail</span></a> <a href="https://wampir.mroczna-zaloga.org/tag:security" class="hashtag"><span>#</span><span class="p-category">security</span></a> rapidshare.com nie szyfruje haseł dostałem maila z moim hasłem. A nie link do zmiany jego ...</p></blockquote>

<p>Pytanie – czy na podstawie otrzymania zapomnianego hasła można wyciągnąć wniosek, że hasło nie jest szyfrowane? A może <a href="http://blip.pl/s/105539181">jest tak</a>:</p>

<blockquote><p>Przypominam, że jeśli hasło jest ZASZYFROWANE, to można je ODSZYFROWAĆ i wysłać użytkownikowi. Może więc jednak szyfruje :)</p></blockquote>

<p>Z dużym prawdopodobieństwem można przypuszczać, że rzeczywiście hasło po stronie serwera jest przechowywane w formie jawnej. Jest to jednak tylko przypuszczenie, przesłanka, którą w tym przypadku dysponujemy nie jest wystarczająca, by stwierdzić, że hasło nie jest <em>szyfrowane</em>. Wystarcza natomiast do tego, by stwierdzić, że hasło nie jest przechowywane w postaci hasha. W mojej ocenie pojęcie <em>szyfrowania</em> oznacza takie przekształcenie wiadomości, które umożliwia jej odzyskanie (odszyfrowanie). Nie jest więc wykluczone, że jakiś serwis przechowuje hasła w formie szyfrowanej, a gdy jakiś użytkownik hasła zapomni, jest ono odszyfrowane i wysyłane mu mailem. Temat przechowywania haseł poruszałem już wielokrotnie, zainteresowanych odsyłam na przykład tu: <a href="//wampir.mroczna-zaloga.org/archives/678-o-przechowywaniu-hasel.html">O przechowywaniu haseł</a>.</p>

<p>Ktoś może uznać, że się czepiam. Pewnie coś w tym jest, ale moim zdaniem precyzja wypowiedzi jest istotna. Szyfrowanie hasła to nie to samo, co przechowywanie hasha hasła. Przechowywanie hasła w formie szyfrowanej jest prawie tak złe, jak przechowywanie go w formie jawnej, ale... Tu niespodzianka – istnieją protokoły uwierzytelniania, które wymagają hasła użytkownika w formie jawnej, jeśli więc są one stosowane, przechowywanie hasła w formie zaszyfrowanej może być uzasadnione. Taka funkcja istnieje nawet w Windows: <a href="http://technet.microsoft.com/en-us/library/cc784581%2528WS.10%2529.aspx">Store passwords using reversible encryption</a>.</p>

<p>Na zakończenie tego przykładu pytanie – czy fakt otrzymania linku do zmiany hasła pozwala na stwierdzenie, że po stronie serwera hasło nie jest przechowywane w formie jawnej lub szyfrowanej?</p>

<p>Teraz drugi przykład. Natknąłem się na niego, gdy szukałem komentarzy ludzi na temat wygody i bezpieczeństwa haseł maskowanych. Znalazłem między innymi ten wpis: <a href="http://wi%C4%99cek.pl/bezpieczne-metody-uwierzytelniania.html"> Bezpieczne metody uwierzytelniania użytkowników</a>, a pod nim <a href="http://wi%C4%99cek.pl/bezpieczne-metody-uwierzytelniania.html#comment-464">następujący komentarz</a>:</p>

<blockquote><p>Krew się we mnie zagotowała jak przeczytałem ten wpis. Czy wie Pan o czym świadczy pytanie o losowe litery z hasła? O tym, że hasło trzymane jest w \*postaci niezaszyfrowanej\* co urąga wszelkim zasadom bezpieczeństwa, szczególnie w banku! (...)</p></blockquote>

<p>Czy autor tego komentarza ma rację? Chodzi mi tu o cytowaną część komentarza, która dotyczy haseł maskowanych przy uwierzytelnieniu w systemach bankowości internetowej.</p>

<p>Odpowiedź na to pytanie brzmi: <em>to zależy</em>. Nie jest tak, jak sugeruje autor, że użycie hasła maskowanego <em>zawsze</em> oznacza przechowywanie hasła w postaci jawnej (lub zaszyfrowanej). To zależy od konkretnej implementacji. Są takie, które w chwili zmiany hasła generują pewną liczbę masek i wyliczają stosowne hashe. W tym przypadku hasło nie musi i nie jest przechowywane w postaci jawnej. Są również i takie rozwiązania, w których hasło w takiej postaci najprawdopodobniej jest przechowywane. Świadczą o tym przekształcenia wykonywane po stronie klienta (w przeglądarce) po wpisaniu hasła. Takim sygnałem może być przekształcenie typu:</p>

<p>    sha1(token, pwd)</p>

<p>gdzie <em>token</em> jest losowy i unikalny dla każdej próby uwierzytelnienia, natomiast <em>pwd</em> to fragment hasła wpisany przez użytkownika. Ale jeśli przekształcenie przyjmuje formę:</p>

<p>    sha1(token, sha1(pwd))</p>

<p>nie ma już konieczności przechowywania w bazie hasła w formie jawnej. Tu pozwolę sobie przypomnieć o <a href="http://threats.pl/bezpieczenstwo-aplikacji-internetowych/wyzwanie">jednym z udostępnionych przeze mnie wyzwań</a>, w którym przekształcenia wykonywane na wpisanym przez użytkownika haśle przed wysłaniem go do serwera są dość istotne.</p>

<p>Dlaczego podaję te przykłady? Wyciąganie na podstawie istniejących przesłanek błędnych lub nieuprawnionych wniosków, może być szkodliwe. Jeśli dochodzimy do etapu wnioskowania, warto zastanowić się, które z naszych wniosków mają <em>twarde</em> dowody, a które opierają się w znacznej części na naszej <em>intuicji</em>. Być może warto przeprowadzić jakieś dodatkowe testy, które nasz wniosek potwierdzą, lub obalą.</p>

<p><em>Oryginał tego wpisu dostępny jest pod adresem <a href="https://archive.mroczna-zaloga.org/archives/886-wyciganie-bdnych-wnioskow-ii.html">Wyciąganie błędnych wniosków II</a></em></p>

<p><small>Autor: <a href="https://wampir.mroczna-zaloga.org/o-mnie">Paweł Goleń</a></small></p>
]]></content:encoded>
      <guid>https://wampir.mroczna-zaloga.org/wyciaganie-blednych-wnioskow-ii</guid>
      <pubDate>Thu, 15 Jul 2010 20:04:00 +0000</pubDate>
    </item>
  </channel>
</rss>