Zakładanie konta dbNET – wrażenia.

Karta kredytowa

Źródło: karta kredytowa.

Ponieważ mBank wprowadził opłaty za kartę, co wyjątkowo mi się nie spodobało i się najprawdopodobniej niebawem pożegnam przynajmniej z ich kartą, postanowiłem założyć inne konta. Jako pierwsze, zostało wybrane konto dbNET Deutsche Banku (dead link) – to co w mBanku do tej pory, czyli zero opłat za prowadzenie, przelewy przez Internet oraz kartę debetową pod warunkiem 1 transakcji kartą miesięcznie (w przeciwnym wypadku 5 zł miesięcznie za kartę). Do tego bezpłatne wypłaty z bankomatów na całym świecie i – jeśli komuś zależy – wygląda, że lepsze oprocentowanie.

Ponieważ miałem parę pytań, udałem się do placówki. Pierwsza informacja od pracownika banku – za transakcję uznawana jest także wypłata gotówki w bankomacie. Miłe i czyni pilnowanie transakcji totalnie bezproblemowym – wypłaty z bankomatów to podstawowa funkcja z której korzystam. Oczywiście zobaczymy, jak będzie w praktyce, ale jedne zakupy też mogę kartą zrobić.

Druga informacja, tym razem negatywna – konto trzeba załatwiać przez Internet i kuriera. Bardzo nie na rękę, bo chciałem założyć na miejscu – oddział mam blisko, z adresami lekkie zamieszanie i przeczucie, że z kurierem będą problemy. Dostałem radę, żebym założył na stary adres, jako adres odbioru podał korespondencyjny, a potem zmienił korespondencyjny. Na szczęście nie było to potrzebne – procedura dopuszcza podanie adresu odbioru przesyłki jako niezależnego od adresu stałego zameldowania i adresu korespondencyjnego. Nie rozumiem, czemu nie ma możliwości założenia tego konta w oddziale, bo podczas paru wizyt (kumpel załatwia często sprawy po drodze, więc bywam) liczba pracowników przewyższała tam liczbę klientów…

Trzecia informacja, również negatywna – nic nie wiedzą o wprowadzeniu haseł jednorazowych przesyłanych przez  SMS. A gdzieś na jakimś forum/blogu, szukając informacji o tym koncie wygooglałem, że taka funkcjonalność jest planowana w sierpniu. Zamiast tego jest karta TAN, której idea mi się nie podoba (ale o tym później/innym razem).

Wypełniłem wniosek przez Internet – całkiem przyjemne, jedyna wada to fakt, że przy końcu pyta o potwierdzenie zaznajomienia się z kilkoma dokumentami (PDFy, kilkadziesiąt stron). Przeczytanie tego zajęło dłuższą chwilę, po czym po zatwierdzeniu i wybraniu kontynuacji okazało się, że „uzupełnij dane”, a wszystkie wprowadzone do tej pory dane są wyczyszczone. Irytujące, szczególnie, że zakładają, że ludzie i tak nie przeczytali dokumentów – w mailach otrzymanych później znowu zachęcają do przeczytania tychże PDFów, więc wymóg zatwierdzenia taki trochę od czapy.

Nie pomyliłem się co do problemów z kurierem. Przedstawiciel InPost zadzwonił w piątek i umówił się na sobotę, po czym zwyczajnie nie przyszedł, nawet nie racząc odwołać wizyty (a był proszony o telefon przed, żebym – na wypadek gdybym wyszedł, zdążył wrócić). Po paru dniach zadzwoniła pani z InPost, że mają przesyłkę i że… „adresat był nieobecny”. Ta jasne. Ostatecznie, zamiast w sobotę, to w środę, udaje się im dostarczyć przesyłkę.

Pora na aktywację. Rzut oka na instrukcję (przejrzysta i dobrze opisana), telefon na podany numer, w sensowny IVR, szybkie połączenie z konsultantką, seria durnych pytań (imię i nazwisko, choć przed chwilą się przedstawiłem), ale taka procedura. Skupić się i nie dywagować (na pytanie czy ma Pan konto w naszym banku odpowiadam twierdząco w ostatniej chwili gryząc się w język i hamując jeszcze nie, właśnie jestem w trakcie zakładania; niech wasza mowa będzie tak, tak, nie, nie). Kod dwa razy. Rozłącz. Poniżej 5 minut. Nieźle, biorąc pod uwagę, że wysłuchiwałem całego IVRa.

Próba zalogowania przez net z użyciem świeżo założonego kodu zakończona porażką: Niepoprawne dane do autoryzacji / Authorization fault, nara. Co ciekawe NIK ma 10 cyfr (ciekawe czy kiedykolwiek nauczę się go na pamięć), kod dostępu 6 – trochę mało, szczególnie, że muszą być cyfry, dokładnie 6 i tylko cyfry. Mało i szkoda, że nie ma liter – te łatwiej zapamiętać. No ale 6 „losowych” cyfr nie jest problemem.

Nie ruszyło aż do następnego dnia. Ponowny telefon (sobota przed 8 rano) i ponowne ustawienie kodu. Łączny czas połączenia – lekko ponad 3 minuty. Tym razem mogę się zalogować. Dziwne, bo kod dokładnie ten sam, wymyślony wcześniej, więc raczej nie zrobiłem błędu. Niestety, po zalogowaniu widzę Internet service is currently unavailable. Wszystko po angielsku, próba przełączenia polski lub niemiecki nie działa. Nieszczęścia chodzą najwidoczniej parami, mBank nigdy, przez parę lat korzystania mi czegoś takiego nie odwalił.

Po paru godzinach próbuję zalogować się ponownie. Tym razem działa. Obejrzałem sobie, nie wygląda źle, zobaczymy jak będzie w praktyce. Niestety, tym razem znowu bug – mało profesjonalnie (eufemizm) wygląda debetowa, ???pl_PL.kartSUOLista.status.P??? jako rodzaj karty.

Pierwsze wrażenie – tylko 3/10. Niezłe przemyślenie i przygotowanie zepsute jest niestety przez wykonanie, a problemy z serwisem przy koncie internetowym przepełniają czarę goryczy. Jak konto mBanku był przez lata jedynym bankiem, tak konto dbNET na pewno nie dostanie takiej szansy po tym wstępnie.

UPDATE: Aktywowałem też kartę i kody TAN (w sumie bez sensu była aktywacja samego konta, tyle że sobie pooglądałem). Nie sprawdzałem jeszcze, czy działa, ale co ciekawe, tym razem zostałem poinformowany, że kod dostępu może „ruszyć” dopiero jutro po 8 rano „bo jest po 18 już i może to nie zadziałać dziś”. Co wyjaśnia problemy opisane 3-4 akapity wyżej. Czas aktywacji: 6 minut.

Zniknął też podany dziwny komunikat nt. stanu karty, jest trochę lepsze (ciekawe czy wynikające z aktywacji) debetowa, Production in progress. Tylko trochę, bo i po angielsku, i niezupełnie zgodnie ze stanem faktycznym (no dobra, niech będzie, że „się aktywuje”).

Jakby tak było od razu to 5/10. Przydałoby się trochę dopracować procedury…

Niebezpieczny świat.

Ostatnie wydarzenia coraz bardziej skłaniają mnie do – paranoicznego, przyznaję – wniosku, że żadne dane, niezależnie od tego jak zabezpieczane, nie są bezpieczne i prędzej czy później nastąpi ich ujawnienie. O ile tylko komuś będzie zależało.

Na początek – hasła. Niektóre portale, jak Allegro, trzymają hasła otwartym tekstem. Niezależnie od podjętych środków bezpieczeństwa, przy takim podejściu wyciek tych haseł jest IMHO kwestią czasu.

Wiele nie zmienia trzymanie skrótów (hashy) haseł. Ostatnio – poza małymi wyciekami polskimi typu JPwyciekły hashe haseł z Gawkera i niesolone hashe haseł z FSF. To drugie jest wielką porażką, bo mówimy o środowisku z – teoretycznie – wysoką świadomością dotyczącą bezpieczeństwa i spraw technicznych, a tymczasem korzystano z najsłabszej funkcji skrótu i w najgorszym wydaniu. Powinno być najlepiej, było najgorzej. Klasyczne szewc bez butów chodzi.

Zresztą, pomału można zacząć stawiać znak równości między wyciekiem hashy haseł (zwł. niesolonych), a wyciekiem samych haseł – crackery MD5 są coraz szybsze. Co prawda to tylko benchmark, ale najnowsza wersja crackera whitepixel, który podobno jest chyba obecnie najszybszy, sprawdza 33 miliardy (nie miliony, miliardy) kombinacji na sekundę (dla pojedynczego hasha). Na potężnym, co prawda (4 dwurdzeniowe GPU; 1,2 kW poboru prądu przy obciążeniu, 2700 USD w tej chwili), ale pojedynczym komputerze PC.

Inne funkcje skrótu też nie są wiele lepsze. SHA1 to wg tego benchmarku w tym momencie 390 milionów kombinacji na sekundę, oczywiście na pojedynczej maszynie. A przecież bez problemu można mieć tych maszyn więcej, i to za niewielkie pieniądze.

Ale nie tylko haseł się to tyczy. Dane, które nie powinny ujrzeć światła dziennego wyciekły z „wewnętrznego”, rządowego systemu. Oczywiście mowa o wikileaksowym Cablegate. Swoją drogą ciekawe, jak długo w tych okolicznościach w stanie nieujawnionym pozostanie polisa Wikileaks (dead link)?

Głośno też było o rzekomym backdoorze w OpenBSD, a konkretniej IPSEC, który miało zamieścić FBI 10 lat temu (celowo nie linkuję, AFAIK rozeszło się po kościach i backdoora nie było, ale nie śledziłem). Co nie jest takie niemożliwe, bo korzystając z różnych „dziwnych” właściwości matematyki, da się zmusić algorytm szyfrujący, by „wyciekał” klucze. W mało zauważalny sposób – na przykład 128 bajt zaszyfrowanej wiadomości, przexorowany przez arbitralny klucz, będzie ujawniał klucz, którym była szyfrowana cała wiadomość. Albo coś na podobnej zasadzie – sky – i wiedza matematyczna – is the limit.

I raczej nie wierzę w to, żeby programista – czy użytkownik, który zwykle nie ma wielkiej wiedzy matematycznej/kryptograficznej, był w stanie coś takiego zauważyć. Przykład tego widać było przy dziurze w OpenSSL w Debianie. Efekt był dość spektakularny – do każdego konta umożliwiającego logowanie SSH po kluczach można się było dostać przy – IIRC – maksimum 65 tys. prób (bo tylko tyle różnych kluczy było generowanych). Na dowolnym systemie. O ile tylko klucz publiczny użytkownika był generowany na podatnym Debianie.

Niedowiarkom przykład ciekawych właściwości matematycznych można łatwo i zrozumiale zaprezentować na przykładzie listy 18 ulubionych filmów. Oto test (przetłumaczyłem na polski, z wyjtkiem tytułów, polecam IMDB):

Zrób test i dowiedz się, jaki film jest twoim ulubionym. Ten prosty matematyczny quiz przewiduje, który z 18 filmów spodoba ci się najbardziej. Nie pytaj w jaki sposób, ale to działa!

  • Wybierz cyfrę z zakresu 1-9.
  • Pomnóż ją przez 3.
  • Do wyniku dodaj 3.
  • Otrzymany wynik ponownie pomnóż przez 3.
  • Zsumuj obie cyfry otrzymanej liczby. Wynik to numer twojego przewidzianego ulubionego film na poniższej liście:

Lista filmów:

  1. Gone With The Wind
  2. E.T.
  3. Blazing Saddles
  4. Star Wars
  5. Forrest Gump
  6. The Good, The Bad, and the Ugly
  7. Jaws
  8. Grease
  9. The Joy of Anal Sex With A sheep
  10. Casablanca
  11. Jurassic Park
  12. Shrek
  13. Pirates of the Caribbean
  14. Titanic
  15. Raiders Of The Lost Ark
  16. Home Alone
  17. Mrs. Doubtfire
  18. Toy Story

W zasadzie koniec mijającego roku widzę trochę na zasadzie do kogóż to włamano się dzisiaj? I to tylko patrząc na najgłośniejsze i ujawnione sprawy i dziury (taki wariant minimum dla administratora – trochę wypada się w security orientować)…

Korzystając z okazji – bo to ostatni wpis, życzę wszystkim użytkownikom komputerów (ze specjalnym uwzględnieniem adminów) w nadchodzącym Nowym Roku mniej dziur bezpieczeństwa i awarii.

UPDATE: Paranoje dotyczące postępującej szybkości łamania hashy studzi ten wpis o przechowywaniu haseł. Polecam.

Jak często powinny występować cyfry w kodzie jednorazowym?

Wszystko zaczęło się od tego wpisu, którego głównym bohaterem jest paradoks urodzin, a który przeczytałem niedawno. Kto by pomyślał, że wybierając losowo (tylko) tysiąc liczb ze zbioru (aż) czterech milionów liczb mamy (aż!) 10% szans na to, że wybrane liczby się powtórzą? Co prawda nie liczyłem samodzielnie, ale wynik wygląda na prawidłowy. WolframAlpha co prawda wymięka dla czterech milionów, ale dla jednego miliona liczy i wychodzi ok. 39%.

Przypomniało mi się niedawne narzekanie – nie pamiętam niestety czyje – że w hasłach jednorazowych przysyłanych przez mbank SMSem takie same cyfry występują obok siebie się zbyt często, więc chyba generator pseudolosowy jest słaby czy też wręcz zepsuty. Jak mi się przypomniał ten temat, to postanowiłem policzyć prawdopodobieństwo zdarzenia, że SMS, który dostaliśmy, zawiera hasło jednorazowe z powtarzającymi się obok siebie cyframi.

Cyfr w przysyłanym haśle jednorazowym jest osiem. Prawdopodobieństwo, że cyfra kolejna jest różna od cyfry poprzedniej wynosi dokładnie 0,9. Czyli, żeby cyfry się nie powtarzały, to druga musi być inna, niż pierwsza, trzecia inna, niż druga, …, i na koniec ósma inna, niż siódma. Pierwsza cyfra nie ma się z czym powtarzać, oczywiście.

Prawdopodobieństwo zdarzenia, że wszystkie cyfry są różne wynosi zatem dla ośmiocyfrowego hasła jednorazowego 0,9^7 (pierwsza cyfra nie ma znaczenia, bo nie ma się z czym powtarzać) czyli 47,83%. Jaka jest zatem szansa, że cyfry się koło siebie powtórzą? Oczywiście prawdopodobieństwo odwrotne, czyli 1 – 0,9^7. Czyli 52,17%. Zatem, jeśli wszystkie cyfry mają takie samo prawdopodobieństwo wylosowania na wszystkich pozycjach (a tak teoretycznie być powinno), to częściej dostaniemy hasło jednorazowe, gdzie mamy powtarzające się cyfry koło siebie, niż takie, w którym się nie powtarzają. Nie ma to oczywiście nic wspólnego z pierwotnym paradoksem urodzin, ale jest ciekawe.

Nawiasem, prawdopodobieństwo, że którekolwiek cyfry w otrzymanym haśle jednorazowym się powtórzą (niekoniecznie obok siebie) wynosi aż 98% (i to już liczymy wykorzystując wzór do paradoksu urodzin).