Ile cyfr potrzeba, by numer konta był unikatowy?

Temat (nie)unikatowych numerów kont pojawił się w tej dyskusji nt. tokenów (dead link, domena przejęta), a szerzej opisany jest w tym wpisie, ile cyfr potrzeba, by numer rachunku bankowego był unikatowy. Przyznam, że nie miałem zielonego pojęcia nt. algorytmu weryfikacji numeru IBAN, ale na chłopski rozum kolizje zdarzą się wszędzie. Stwierdziłem, że najlepsza metoda nauki to napisać skrypt do sprawdzania. Oczywiście w Perlu. Przy okazji wyszło mi, że Perl średnio sobie radzi z dużymi liczbami, a Python dobrze, ale dzięki temu znalazłem pięknego gotowca w postaci modułu do sprawdzania poprawności numeru IBAN.

Pierwsze, co rzuca się w oczy, to fakt, że tak naprawdę numer IBAN jest zamieniany na liczbę, a czy jest poprawny określane jest tylko na podstawie jednego testu – jeśli reszta z dzielenia tej dużej cyfry przez 97 wynosi 1, to numer jest poprawny.

Chwila zabawy programem i okazuje się, że dla 3 brakujących cyfr w dowolnym miejscu rachunku można wygenerować ok. 10 kolizji. Pewnie ma to coś wspólnego z faktem, że 97 jest liczbą pierwszą, a samo 97 mieści się w każdym tysiącu właśnie 10-11 razy, ale tutaj już by się matematyk przydał i zasady podzielności przez 97 (hasło do Google cechy podzielności przez 97 nic sensownego nie znalazło niestety).

Inna szansa, że nasze PL na początku numeru (które wraz z następującymi po nim dwiema cyframi jest przesuwane na koniec i zamieniane na liczby patrz algorytm weryfikacji numeru IBAN) jest na tyle pechowe, że powoduje taką przykrą przypadłość. Ale to łatwo sprawdzić – dzięki użyciu ogólnej biblioteki skrypcik do bruteforce’owania numerów IBAN powinien działać dla wszystkich krajów.

Póki co konkluzja jest taka, że aby numer był unikatowy, to trzeba podać wszystkie cyfry. Przy dobrym wietrze może się zdarzyć, że 1 można opuścić.

PS. Nie cierpię słowa unikalny. Dla mnie oznacza ono możliwy do uniknięcia. Zamiast niego możnaby używać słowa unikatowy. Niestety SJP traktuje je jako synonimy.

Nie taki błąd straszny, jak go malują.

Dziś przeczytałem wpis na Niebezpieczniku o backdoorze w switchach. I z jednej strony ewidentny fail, a z drugiej błąd niezupełnie (czy też: nie tylko) tu leży…

  • Jaki administrator zostawia dostęp po SNMP włączony (niestety, sporo administratorów nie widzi w tym nic złego, zwłaszcza jeśli tylko RO jest)?
  • Jaki producent sprzętu ma w defaulcie włączone SNMP (niestety, wielu vendorów domyślnie włącza SNMP z domyślnymi community)?
  • Kto daje nieograniczony dostęp ze świata do klasy zarządzania swoich urządzeń?
  • Poznanie MAC mimo wszystko nie jest trywialne. Trzeba mieć dostęp albo po warstwie drugiej (ew. do odczytu tablicy ARP urządzenia, które ma dostęp po L2 do switcha), albo do wspomnianego SNMP.

Jasne, ludzie się mylą. Jasne, kwestię hasła serwisowego (padło pytanie, czy inne sprzęty mają coś takiego – chyba każdy sprzęt sieciowy ma możliwość przynajmniej resetu hasła przy podłączeniu się RSem, sporo ma hasła serwisowe – mam nadzieję, że tylko po RS dostępne). Jasne, taki zdalny backdoor nie powinien mieć miejsca. Ale czy to naprawdę dramat?

PS. Dziś spotkałem się z opinią (na szczęście od nikogo ode mnie z firmy), że trzymanie dokumentów firmy (nie najtajniejsze tajemnice, ale nie dane dostępne na publicznym WWW) na Google Docs to nic złego. W porównaniu z tym backdoor w switchu, którego można zneutralizować/zminimalizować to IMO pikuś.

Pojutrze wybory.

Ponieważ na Blipie ciężko przekazać całą myśl spójnie, to jeszcze raz poruszę kwestię, którą już kiedyś poruszałem, czyli jak nie głosować w wyborach.

Czemu ktoś miałby nie głosować? Powodów jest wiele. Weźmy taki brak przekonania co do kandydata. Iść aby iść, kiedy ma się do tego tak luźny stosunek, że można rzucać kostką/monetą i na tej podstawie skreślać zdecydowanie nie warto. Bez sensu przysparza się w takim przypadku pracy komisjom, zużywa się więcej kart i napędza się to wszystko. Takie typowo konsumpcyjne i bezrefleksyjne podejście jak dla mnie.

Oczywiście, głosowanie przeciw kandydatowi też jest powodem do głosowania, ale z głosowaniem przeciw mamy raczej do czynienia w drugiej turze. Nieoddanie głosu w pierwszej też wpływa na wynik, zwłaszcza może wpłynąć na to, czy będzie druga tura, ale zakładam, że czytają ludzie myślący i mający tego świadomość, a nie tylko podniecający się TV.

Kiedy jeszcze nie warto głosować? Padł argument, że zawsze znajdzie się kandydat z którym mamy „najbardziej zbieżne” poglądy. No nie zawsze, moim zdaniem, ale nawet jeśli, to niekoniecznie „największa zbieżność” jest wystarczającą motywacją do tego, żeby telepać się kilkaset km. Zaświadczenia do głosowania to świetna sprawa, ale tylko w teorii. W praktyce, jeśli pracuje się w innym mieście, to załatwienie zaświadczenia to przejazd tych kilkuset km w dzień powszedni. W praktyce – koszt przejazdu to zawsze będzie i dzień urlopu (urzędnicy państwowi mają wyborców – a w zasadzie petentów ogólnie – w dupie i nawet w głupią jedną czy dwie soboty w miesiącu urzędy nie są czynne, choćby nawet w skróconych godzinach). Szczególnie przy takich niespodziewanych wyborach upierdliwe, bo przy planowanych można po prostu wcześniej pomyśleć i wziąć zaświadczenie z wyprzedzeniem.

Dlatego nie ma się co dziwić niegłosującym.

A w ogóle, jeśli prawdą jest to, co wyczytałem w gazecie niedawno, że obywatele polscy mieszkający na stałe za granicą mogą głosować w dowolnym obwodzie, za okazaniem stosownego zaświadczenia, to mamy do czynienia ze sporą dziurą bezpieczeństwa. Przecież takie osoby niezupełnie nielegalnie mogą głosować w różnych komisjach. I pewnie nikt tego nie sprawdza (a może ktoś był w wyżej niż pojedynczy obwód wyborczy w hierarchii i wie, jak jak to wygląda na wyższych szczeblach, czy dane dopisanych osób są jakoś sprawdzane pod kątem dublowania się na szczeblu wojewódzkim/krajowym)?

PS. Dla jasności – akurat będę jechał te kilkaset km, m. in. po to, by zagłosować (znaczy termin wyjazdu przesunął się od dzień). Ale tylko dlatego, że – wyjątkowo – jakiś kandydat został upatrzony, którego popieram trochę bardziej. W przeciwnym wypadku z czystym sumieniem bym nie poszedł głosować.

PS2. Uprasza się o nieagitowanie w komciach. Szczególnie, że jest ta parodia ciszy wyborczej. Ale i tak zostaną uznane za spam (patrz zasady).