Kilka tygodni temu opublikowałem krótki tekst o eDO App, aplikacji mobilnej pozwalającej na użycie tzw. warstwy elektronicznej dowodu osobistego. Mój własny dowód pochodził jednak sprzed pięciu lat i nie zawierał chipa z anteną indukcyjną. Aby dokończyć artykuł, musiałem wyrobić sobie nowy dokument.
Wtedy pojawił się chytry pomysł – a może by tak wstrzyknąć do e-dowodu jakieś własne treści? Steganografia, czyli ukrywanie treści przekazu, to wynalazek mający tysiące lat, ale nowe zastosowanie zawsze cieszy. Postanowiłem osadzić w fotografii dowodowej reklamę bloga Informatyk Zakładowy. Poniżej dowiecie się, czy mi się to udało.
Uwaga – obrazki w niniejszym tekście są podlinkowane do samych siebie, więc wystarczy kliknięcie by obejrzeć grafikę w pełnym rozmiarze. Połowa odwiedzających korzysta z urządzeń mobilnych, ale jeśli możesz, tym razem skorzystaj z komputera.
Wstęp w którym dowiadujemy się, że e-dowód zawiera zdjęcie właściciela
Gdy włączymy aplikację eDO App i podamy numer CAN wygrawerowany na froncie dowodu osobistego, oczom naszym ukaże się następujący widok.
Chodzi w każdym razie o to, że aplikacja wyświetli dane z warstwy elektronicznej i będzie tam kolorowe zdjęcie właściciela. Niestety, tu kończy się użyteczność eDO App, bo choć możemy obejrzeć fotkę odczytaną z chipa w e-dowodzie, to nie dowiemy się o niej niczego więcej.
Dalsze badanie tematu było dwutorowe – po pierwsze musiałem dowiedzieć się, jak karty procesorowe przechowują obrazki, po drugie zaś chciałem znaleźć narzędzie które pomoże mi odczytać zdjęcie w “surowym” formacie, bez skalowania, zmiany przestrzeni barw ani innych operacji tego typu. Miałem nadzieję, że jest do tego jakaś darmowa aplikacja. Gdybym jej nie znalazł, zmodyfikowałbym eDO App tak, by dane graficzne przez nią odczytane zostały przed wyświetleniem zapisane do pliku.
Dobieramy się do zdjęcia
Na stronie www.gov.pl/web/e-dowod znajdziemy przystępny opis funkcji e-dowodu osobistego. Jedna z podstron mówi, że chip dowodu osobistego zawiera aplikację ICAO w której osadzona jest fotografia właściciela, dzięki czemu dowód jest dokumentem podróży zgodnym z wymogami Organizacji Międzynarodowego Lotnictwa Cywilnego. Każdy, kto podróżuje z takim dokumentem, może skorzystać na lotnisku z bramek oznaczonych następującym symbolem – kolejka do nich jest z reguły krótsza.
Informacja ta jest dla nas ważna z dwóch powodów – po pierwsze takie globalne standardy są z reguły dobrze udokumentowane, po drugie zaś istnieją narzędzia do ich obsługi. Bardzo szybko trafiłem na dokument opisujący standardy zdjęć do dokumentów podróżnych. Okazało się to strzałem w dziesiątkę, bo uniknąłem wertowania wieloczęściowych dokumentów w rodzaju ICAO 9303. Od razu znalazłem tam informację, że sama fotografia jest zapisywana w chipie w formacie JPEG albo JPEG2000. To bardzo dobrze, bo format ten obsługują praktycznie wszystkie narzędzia do obróbki grafiki.
Informacja dodatkowa – gdy gdzieś mowa o MRZ czyli Machine Readable Zone, to chodzi o fragment dokumentu przeznaczony do odczytu przez skanery optyczne, nie warstwę elektroniczną. Termin MRTD (Machine Readable Travel Document) to ogólna nazwa na dokument którego treść w ten czy inny sposób odczyta maszyna.
Jak więc odczytamy zdjęcie z e-dowodu? Gdy w wyszukiwarce aplikacji Play Store wpiszemy hasło “icao nfc photo”, już na drugim miejscu trafimy na aplikację o nazwie “ReadID – NFC Passport Reader”.
O tym, że jesteśmy na dobrym tropie, upewnia nas oficjalna strona aplikacji mówiąca wprost o polskim dowodzie osobistym (wskazówka – w opcjach programu musimy włączyć opcję PACE). Oczywiście szukając dokumentów czy programów nie znajduję wszystkiego w magiczny sposób za pierwszym razem, ale gdy ślepe zaułki nie wnoszą niczego ciekawego, to się w tej opowieści nie pojawiają.
Jak przeprowadziłem eksperymenty?
Uważny czytelnik zauważy, że szukając odpowiedniej aplikacji nie miałem jeszcze własnego e-dowodu. Mogłem to zrobić dzięki zaufaniu kolegi Adama i koleżanki, która zdecydowała się na pełną anonimowość. Oboje użyczyli mi do badań swoich dokumentów, za co im w tym miejscu bardzo dziękuję.
Aplikacja ReadID pozwala odczytać zawartość warstwy elektronicznej zaś zdjęcie może zostać zapisane albo wysłane do innego programu. Pozyskałem więc zdjęcia dwójki znajomych, czego się dowiedziałem?
Specyfikacja zdjęcia z e-dowodu
Oto, co mówi mi o zdjęciach z e-dowodu aplikacja IrfanView:
rozmiar w pikselach: 224 x 288
rozmiar w bajtach po zdekodowaniu: 193 576 bajtów
rozmiar w bajtach na dysku: 9900-12000 bajtów
format zapisu: JPEG, quality: 85, subsampling ON (2×2)
ImageMagick, do którego zaraz wrócimy, dorzuca jeszcze dodatkowe informacje (magick identify -verbose obrazekzdowodu.jpg
): przestrzeń barw sRGB, głębokość przestrzeni barw 8-bitowa. Słowem – najbardziej klasyczny JPEG, jaki można sobie wyobrazić, bez żadnych metadanych EXIF.
Widzimy, że kompresja obrazu przekracza zalecaną przez ICAO wartość 15:1, dzięki czemu plik jest mniejszy, za to traci nieco na jakości. Co ciekawe, choć ICAO określa, że rozstaw oczu na zdjęciu powinien wynosić co najmniej 90 pikseli, w polskich dowodach osobistych jest to 66 pikseli.
Zdjęcie używane przy składaniu wniosku o e-dowód
Aby wyrobić sobie nowy dowód osobisty, potrzebowałem zdjęcia zgodnego z wymogami podanymi przez administrację państwową.
Minimalna rozdzielczość zdjęcia dołączanego do wniosku składanego przez internet to 492 x 633 piksele. Dokładnie taki rozmiar miało zdjęcie, które zrobiłem u fotografa, a które zostało obrobione programem Dokumenty Pro 8 firmy PIXEL-TECH (skoro już znalazłem tę informację w metadanych, to ją tu cytuję, co mi szkodzi). Odległość między źrenicami – 140 pikseli.
W porównaniu z innymi fotkami dowodowymi, moje zdjęcie wydało mi się dość blade, mało kontrastowe. Zdecydowałem się podbić trochę kontrast, by uniknąć korekcji na etapie produkcji dowodu osobistego.
Osadzam reklamę we wniosku o dowód
Plan jest taki: do wniosku o nowy dowód dołączę zdjęcie zawierające ukryty przekaz, który będzie musiał przetrwać skalowanie i mocną kompresję obrazu. Nie wiem, jakim oprogramowaniem przeprowadzane jest skalowanie obrazu podczas produkcji dowodu a w zdjęciach odczytanych z cudzych dokumentów nie znalazłem metadanych, które stanowiłyby jakąkolwiek wskazówkę.
Proporcje boków w obu zdjęciach (czyli załączniku do wniosku i zdjęciu z e-dowodu), są takie same i wynoszą 0.77. Problem jest taki, że rozmiar pierwszego zdjęcia nie jest całkowitą wielokrotnością drugiego, mnożnik wynosi 2.2. Ułamkowa proporcja sprawia, że jeden piksel większego obrazu pierwotnego może wpływać nawet na dziewięć pikseli wynikowych – strata jakości będzie nieunikniona.
Postanowiłem osadzić w dowodzie osobistym logo oraz nazwę bloga, dorysowane na białym tle wokół mojej sylwetki. Ponieważ tło musi być “białe, oświetlone jednolicie, pozbawione cieni i elementów ozdobnych”, jedyną szansą jest maksymalne obniżenie kontrastu między tłem a moim dodatkiem. W ten sposób dodatkowe elementy będą niewidoczne w wersji drukowanej, jednak dadzą się odtworzyć z postaci elektronicznej.
Automatyzacja
Ręczne eksperymenty byłyby zbyt pracochłonne, potrzebowałem więc narzędzi do realizacji tego zadania. Do automatyzacji wszystkich czynności użyłem aplikacji ImageMagick będącej kombajnem obsługującym ponad 200 różnych formatów i pozwalających na przeprowadzanie setek jeśli nie tysięcy różnego rodzaju transformacji. ImageMagick dostępny jest na otwartej licencji i jest osadzony w wielu innych programach. Kto wie, może używa go także PWPW? Jeśli chcesz zobaczyć możliwości pakietu, zajrzyj do licznych przykładów: tutaj, tutaj, tutaj czy tutaj.
Użyłem wersji 7.0.10-14 Q16 x64 dla systemu Windows. Uwaga – bardzo wiele tutoriali i przykładów użycia dostępnych w sieci dotyczy wersji 6.x, gdzie składnia poleceń nieznacznie się różniła.
Teraz trochę teorii – w najpopularniejszych formatach graficznych jeden piksel (kwadracik na ekranie) opisany jest natężeniem trzech kolorów: czerwonego, zielonego i niebieskiego czyli RGB, Red-Green-Blue. Zerowe natężenie każdego z nich to kolor czarny. Pełne natężenie wszystkich – kolor biały. Ponieważ wartość natężenia każdej z barw składowych przechowywana jest w jednym bajcie, przedział możliwych do zapisania wartości rozciąga się od 0 do 255. Mamy trzy składowe, więc liczba kolorów które możemy pokazać na ekranie to 256 x 256 x 256 = 16.777.216.
Gdy natężenie trzech składowych jest jednakowe, mamy do czynienia z kolorem szarym – możemy więc używać 256 stopni nasycenia. Będziemy liczyć od zera, jak programiści, używając indeksów od 0 (czerń) do 255 (biel).
Ukryty przekaz będzie narysowany kolorem “prawie białym” na całkowicie białym tle. Oznacza to jednak, że nie zmieścimy tam już dodatkowych informacji o kolorach, bo cała przestrzeń kolorystyczna zostanie “spłaszczona” do koloru czarnego i białego.
Dobrze znacie kolorowe i pełne szczegółów logo Informatyka Zakładowego. Jeśli przeskalujemy je i zasymulujemy utratę jakości, dostajemy rozmytą plamę.
Na potrzeby eksperymentu przygotowałem więc logo w wariancie, który lepiej zniesie skalowanie. Gdy zastosujemy taki sam zestaw przekształceń, efekt będzie znacznie lepszy.
Do tego dodamy czarno-biały napis z nazwą serwisu. Docelowo więc zdjęcie dowodowe będzie zawierało logo w lewym górnym rogu oraz tekst po prawej stronie.
Magiczna automatyzacja
Teraz docenicie potęgę pakietu ImageMagick. Zrobienie ręcznie wszystkich przekształceń opisanych w tekście byłoby masakrycznie pracochłonne, tymczasem napisanie kilkunastu skryptów zajęło kilka godzin, podczas których mogłem wracać do wcześniejszych kroków, nanosić poprawki i natychmiast sprawdzać efekty.
Obrazki używane w dalszej części tekstu wyglądają następująco (komenda tworzy kolaż, wstawiam go poniżej):
Programowe połączenie obrazów wygląda następująco
Używam opcji Darken_Intensity
, aby biała ramka wokół logo nie zasłaniała mi fragmentu głowy. Alternatywą byłoby nakładanie obrazków ze zdefiniowaną przezroczystością. Efekt jest następujący:
Takie zdjęcie wyślę we wniosku o nowy dowód. Producent dokumentu przeprowadzi skalowanie i kompresję. Aby sprawdzić spodziewany rezultat, zasymuluję dokładnie takie same operacje poniżej:
Efekt jest następujący:
Jeszcze więcej automatyzacji
W obrazku powyżej logo i napis są trochę za bardzo widoczne, aby mogły przemknąć niezauważone 😉. Zobaczmy, jak bardzo musimy zredukować nasycenie, by dodatki przestały rzucać się w oczy. W tym celu wykonamy następujący skrypt wywołujący w pętli program ImageMagick, efektem będą 52 obrazki z zanikającym logo serwisu:
Porada dla użytkowników Windows
Uwaga dla piszących tego typu skrypty jako pliki BAT uruchamiane pod Windows: już ileś razy naciąłem się na to, że obsługa zmiennych w pętli działa w sposób dziwaczny. Więcej informacji o dodawaniu wiodących zer znajdziesz tutaj a o opóźnionej ewaluacji zmiennych przeczytasz tutaj.
Ciekawe, ile jeszcze razy w życiu nauczę się tego, zapomnę i odkryję ponownie.
Do rzeczy. Po wykonaniu komendy
dostajemy taki obrazek, łączący wszystkie pliki w jeden.
Gdy wiadomo, gdzie patrzeć, wówczas nawet kolor “szary nr 250” jest zbyt widoczny. Musimy więc użyć któregoś koloru z przedziału od 251 do 254, bo oczywiście “szary 255” to już pełny biały (pamiętamy, że liczenie natężenia zaczynamy od zera).
Czy to się może udać?
Przerwę na chwilę pracę by zastanowić się, czy ten numer w ogóle się uda. Zerknijmy na stronę romek.info/ut/paszport.html, gdzie znajdziemy wykres pokazujący liczbę dowodów osobistych wyprodukowanych w ostatnich dwóch dekadach (oraz bardzo wiele innych ciekawych obserwacji, zachęcam do kliknięcia).
Między rokiem 2008 a 2018 liczba wydanych dowodów wzrosła z ~33 milionów do ~73 milionów, co oznacza produkcję czterech milionów rocznie. W roku mamy jakieś 250 dni roboczych, więc tempo produkcji to około 16 tysięcy dowodów dziennie. Nie mam pojęcia, na ilu stanowiskach zatwierdzane są zdjęcia, ale oglądając dokumenty znajomych przekonałem się, że czasem trafiają tam zdjęcia naprawdę słabej jakości, np. bardzo mało kontrastowe.
Oznacza to, że po pierwsze chyba nikt nie poprawia tych fotek w procesie produkcyjnym, a po drugie raczej nie uwzględniono dokładnej kontroli tła. W pewnym procencie dostarczonych fotek tło nie będzie przecież złożone w całości z białych pikseli. Bardzo jasne, lecz szare piksele spełniają warunek, zgodnie z którym tło ma być “białe, oświetlone jednolicie”.
Na pewno ktoś spojrzy na moją fotkę przed drukiem, ale sądzę, że poświęci na to kilka sekund no i raczej nie będzie dysponować profesjonalnym, kalibrowanym monitorem do zastosowań DTP, na którym moja wrzutka byłaby możliwa do zauważenia. Dlaczego? Zwykły monitor kosztuje 400 zł zaś ceny wyświetlaczy naprawdę wiernie odwzorowujących kolory startują od 4000 zł.
Odpowiadając na pytanie – tak, to się może udać. Niniejszy tekst piszę przed złożeniem wniosku, więc wszystko może się wydarzyć. Jedźmy zatem dalej.
Czy kolory nam pomogą?
Do tej pory rozważaliśmy tylko wariant z kolorami szarości, może jednak warto rozważyć także inne kolory? W końcu żółty napis na białym tle będzie trudniejszy do zauważenia, niż szary napis na białym tle.
Zdecydowałem się wypróbować wszystkie kombinacje pełnego nasycenia składowych RGB. Pracochłonność takiego zadania rośnie sześciokrotnie, więc ręczne przygotowanie eksperymentu byłoby pozbawione sensu.
Skrypt do generowania obrazków z logo i tekstem modyfikujemy tak, aby obsłużył jedynie grafiki z interesującego nas przedziału 251-254 (w zapisie szesnastkowym są to liczby od fb do fe, tak będzie wygodniej)
Przetestujmy teraz po raz pierwszy podkręcanie kontrastu. Użyjemy do tego komendy level
, by przeskalować zakres tonalny całego obrazka. Komenda przyjmuje dwa parametry, pierwszy regulujemy od 96% do 99.5%, drugi to zawsze 100%. Dzięki temu najjaśniejszy wycinek spektrum zostaje przeskalowany tak, by jego dolna granica stała się kolorem czarnym. W ten sposób elementy niemalże białe tracą dużą część postrzeganej jasności i znów stają się dobrze widoczne.
Efekty są lepsze od spodziewanych. Widzimy, że nawet kolory o “jedno oczko” poniżej białego odzyskały nasycenie. Te wyniki dotyczą jednak przekształceń, w których zapisujemy obrazy w bezstratnym formacie PNG. Teraz jesteśmy już gotowi do ostatniego testu, w którym przeprowadzimy zmianę rozmiaru i zapis obrazu w formacie JPEG o kompresji 85%.
Finalny test obrazka z ukrytą treścią
Łączymy zdjęcie z ukrywanymi obrazkami o różnym nasyceniu i kolorystyce.
Teraz przetestujemy przesunięcie poziomów obrazu tak, by rozciągnąć zakres tonalny rejonów najjaśniejszych (do kosza leci “ciemniejsze” 96%-99% a z tego, co zostanie, robimy nowy pełny zakres).
Przykład symulujący docelową zmianę rozmiaru i kompresję nie wygląda już tak dobrze. Wokół głowy widzimy wianuszek kolorowych pikseli będących artefaktami kompresji JPEG. Normalnie są niewidoczne, ale tu podbiliśmy ich kontrast kilkadziesiąt razy. Widzimy też, że dwa najjaśniejsze poziomy czyli kolory o numerach 253 (fd) i 254 (fe) padają ofiarą stratnej kompresji i po rozkodowaniu nie przypominają już niczego. Ciekawostką jest, że na najjaśniejszym poziomie barwy nie traci jedynie wariant żółty, zaś zielony obszar znika zupełnie.
Optymalna wydaje się jasność z poziomu 252 (fc). Wszystkie warianty kolorowe obarczone są kolorowymi plamami, więc ostatecznie do eksperymentu zostaje nominowany obrazek z szarymi treściami. Oto on:
Po przesunięciu poziomów wygląda on tak
Składam wniosek o nowy dowód!
Cały powyższy tekst powstał przed złożeniem wniosku, opisałem w nim proces przygotowania zdjęcia dowodowego z ukrytą reklamą mojego bloga.
Jest niedzielny wieczór, wyklikuję wniosek w portalu moj.gov.pl… Gotowe. “Twój wniosek wpłynął do urzędu i jest rozpatrywany” – pisze e-Puap. Ciekawe, który status będzie oznaczał, że zdjęcie pokonało wszystkie przeszkody. Cóż, zobaczymy.
Poniedziałek, godzina 12:38. Powiadomienie: “Dowód jest w produkcji. Nie możesz jeszcze go odebrać”. Status sprawy przeskoczył na drugi koralik – “Dowód w realizacji w urzędzie”. Czyżby najtrudniejsze było już za mną?
Wtorek po południu. Sprawdzaczka się zepsuła i nie pokazuje statusu. Zajrzałem do debuggera przeglądarki, API ministerstwa zwraca pole idCardStatus
z wartością SPERSONALIZOWANY
. Internety mówią, że to oznacza gotowy dowód. Pewnie już do mnie jedzie.
Czwartek. Znalazłem działającą sprawdzaczkę korzystającą – co ciekawe – z innego API. Dowód nadal w produkcji.
Still not king.
Piątek. Pierwsza sprawdzarka została naprawiona, ale dowód nie jest gotowy.
Not king yet.
Drugi poniedziałek. Minął tydzień.
Not king today, either.
Druga niedziela, minęły dwa tygodnie od złożenia wniosku.
Still not King, but at least Boromir seemed to think I was. Might however have been blood loss.
Poniedziałek. JEST! Dzisiaj nie zdążę pojechać do urzędu, ale jutro – koniecznie!
Przy okazji – pamiętacie artykuł o rejestrze danych kontaktowych? Po raz pierwszy rejestr zadziałał – powiadomienie o możliwości odbioru dowodu osobistego przyszło mailem i wyglądało tak
Wszystko, co przeczytasz poniżej, piszę we wtorek – już po odebraniu nowego dowodu osobistego.
A teraz prędko, zanim dotrze do nas, że to bez sensu!
Powyższe motto Króla Juliana nadaje się doskonale do akcji szybkich, jednak w przypadku wielotygodniowych realizacji zawsze przypałęta się myśl “czy to jest w ogóle legalne”? Gdy sięgniemy do ustawy o dowodach osobistych, znajdziemy następujące przepisy karne:
Art. 79. Odpowiedzialność karna za naruszenie przepisów ustawy
Kto:
* uchyla się od obowiązku posiadania lub wymiany dowodu osobistego,
* zatrzymuje bez podstawy prawnej cudzy dowód osobisty,
* nie zwraca dowodu osobistego w razie utraty obywatelstwa polskiego,
podlega karze ograniczenia wolności albo karze grzywny.
Tu nie zachodzi żadna z opisanych okoliczności.
Po drugie – nic w opisie wymagań dotyczących zdjęcia nie zabrania wstawiania do fotografii ukrytych treści. Po trzecie – nigdzie w procesie składania wniosku nie ma pouczenia o sankcjach za wstawianie do fotografii ukrytych treści.
Trzy argumenty za bezkarnością i zero przeciw. Czy trzeba czegoś więcej? Nie trzeba, ale i tak zasięgnąłem niezobowiązującej opinii prawnika – oto, co na ten temat myśli Olgierd Rudak prowadzący Czasopismo Lege Artis
Przepisy dotyczące wydawania dowodów osobistych poświęcają sporo uwagi warunkom jakie musi spełniać dołączana do wniosku fotografia (wymiarom odbitki czy pliku, sposobowi odwzorowania wizerunku osoby, oświetleniu i rodzajowi tła), nie skupiają się jednak na pozostałych parametrach ujęcia. Oczywiście nie oznacza to, że przejdzie każde zdjęcie, badanie jego jakości odbywa się na każdym etapie wnioskowania (organoleptycznie jeśli przyszliśmy do okienka w urzędzie, odmowa może też nastąpić przy wytwarzaniu dokumentu). W przypadku stwierdzenia, że do wniosku dołączono fotografię nieodpowiadającą przepisom, wydawana jest decyzja odmowna. Nie ma jednak przepisów przewidujących kary za składanie zdjęcia wadliwego – ustawa o dowodach osobistych penalizuje uchylanie się od posiadania dowodu osobistego, ale nie posiadanie dowodu, który nie odpowiada warunkom ustawowym, natomiast ustawa o dokumentach publicznych, której głównym zadaniem jest zapewnienie bezpieczeństwa dokumentom, nie wprowadza żadnych kar dla posiadaczy dokumentów za posiadanie – legalnego, wytworzonego przez powołany do tego organ – dowodu osobistego.
Inaczej należałoby natomiast podejść do ewentualnego fałszowania czy podrabiania dokumentu (w tym także próby uzyskania dokumentu na inną osobę), lub też potencjalnego wykorzystania dowodu osobistego jako nośnika informacji służącego do dokonywania czynów zabronionych, choćby przy użyciu warstwy elektronicznej, która z pewnością nie jest odporna na wszystkie wyobrażalne sztuczki – ale to już jest chyba nieco inna para kaloszy.
No i tak to – w tym przypadku nie zachodzi żadne zagrożenie czynami zabronionymi, bo przemycane przeze mnie informacje mogły być równie dobrze spowodowane zabrudzeniami na ścianie u fotografa. Ciekawe, jak byłyby klasyfikowane nieco bardziej zaawansowane tricki, gdyby spowodowały gdzieś jakąś rzeczywistą utratę danych – jak opisano tutaj (albo w obligatoryjnym XKCD, little Bobby Tables we call him). No ale to nie nasza kategoria – agresywność zero.
O tym, że w urzędzie nie czeka ukryta grupa antyterrorystów, upewniło mnie ziewanie strażnika miejskiego mierzącego temperaturę interesantom stojącym w kolejce.
Odczytuję swoje zdjęcie z dowodu osobistego
Oto zdjęcie, które odczytałem z warstwy elektronicznej mojego e-dowodu (powiększone dwukrotnie)
Od razu spostrzegłem, że wzrosło nasycenie barw oraz nieco zmieniła się kompozycja obrazka – krawędzie zostały obcięte. Bez dramatu, ale asymetryczność cięcia sugerowała, że kadrowania dokonał człowiek. Zły znak. Ucięty fragment oryginalnego zdjęcia zaznaczony jest na czerwono:
Czas na ostateczny test – fotka z dowodu z podbitym kontrastem:
Achhhhhh… Wszystko stracone. Niestety, w procesie produkcji dowodu osobistego tło zostało wyczyszczone z wszelkich ponadprogramowych dodatków.
Jeśli tekst czyta ktoś znający proces walidacji i adiustacji zdjęcia trafiającego do dowodu osobistego – proszę o kontakt. Chętnie dowiem się, na którym etapie miała miejsce interwencja i czy w ogóle miałem szansę na sukces. Czy szarość nr 253 albo 254 mogłaby przemknąć niezauważona?
Na tym etapie nie pozostaje mi nic innego, jak zmienić wykrzyknik w tytule na znak zapytania. Tym samym zachowamy zgodność z prawem nagłówków Betteridge’a, zgodnie z którym na każdy nagłówek prasowy kończący się znakiem zapytania można odpowiedzieć „nie”.
Porażka? Być może. Strata czasu? Na pewno nie!
Tworzenie tego artykułu było frajdą. Choć na końcu drogi nie było nagrody, razem mieliśmy okazję lepiej poznać e-dowód, zajrzeć do dokumentacji opisującej formaty zapisu danych w dokumencie podróżnym ICAO, nauczyć się automatyzacji obróbki grafiki. Mało?
Uważny czytelnik zauważył, że na zrzucie ekranu z eDO App na początku tego tekstu moje nazwisko pojawia się dwukrotnie – drugi raz w miejscu drugiego imienia (którego nie mam). Miałem nadzieję, że zgłoszenie błędu w wersji 1.0.8 będę mógł zaliczyć na konto niniejszej publikacji ale spóźniłem się – opublikowana dzień przed napisaniem tych słów wersja 1.0.9 usuwa usterkę.
Moją osobistą korzyścią jest nowy dowód, który posłuży do przygotowania kolejnych artykułów dotykających tematyki podpisu cyfrowego i rodzimego podpisu osobistego (nie mylić z odręcznym).
A co na temat szans na przemycenie treści do e-dowodu myśleli czytelnicy bloga? Oto wyniki ankiet z Twittera i Facebooka:
I tak to. Niniejszy artykuł powstawał trzy tygodnie, świetnie się przy nim bawiłem i mam nadzieję że nie żałujecie czasu poświęconego na lekturę! Jeśli tekst podobał ci się, napisz to w komentarzu. Dzięki!
Zagadka na zakończenie
Przypominam fotkę, którą załączyłem do wniosku o wydanie e-dowodu:
Logo i nazwa Informatyka Zakładowego to dwa spośród czterech elementów ukrytych w obrazku. Wszystkie cztery miały przeżyć skalowanie i dać się odnaleźć na fotce odczytanej z warstwy elektronicznej. Czy potrafisz znaleźć pozostałą parę i objaśnić jej znaczenie? Jeśli tak, zapraszam do opisania znaleziska w komentarzu.
Rozwiązanie zagadki
Co tu widzimy? Logo firmy Commodore oraz emblemat hakerski.
Drogi czytelniku/czytelniczko – mam prośbę. Jeśli podobał Ci się niniejszy artykuł, prześlij go kilku innym osobom którym też może się spodobać. Przygotowanie tekstów o takiej długości i różnorodności trwa wiele godzin rozłożonych na wiele wieczorów, więc nie pojawiają się one jakoś strasznie często. Mam jednak nadzieję, że – podobnie jak ja – lubisz długie teksty pełne odnośników do różnych zasobów dodatkowych. Daj znać w komentarzu, jeśli udało ci się dotrzeć aż tu.
Dla chętnych jest też Twitter, Facebook i Linkedin, gdzie anonsuję każdy kolejny artykuł i czasem dorzucam dodatkowe informacje czy linki, w zamian przyjmując skromne ilości lajków. Poniżej możesz zapisać się na newsletter, tam NIE daję znać o nowych tekstach. Dostaniesz jednego maila na wiele tygodni ale o tym, o czym koniecznie będę chciał poinformować. Na razie!
O autorze: zawodowy programista od 2003 roku, pasjonat bezpieczeństwa informatycznego. Rozwijał systemy finansowe dla NBP, tworzył i weryfikował zabezpieczenia bankowych aplikacji mobilnych, brał udział w pracach nad grą Angry Birds i wyszukiwarką internetową Microsoft Bing.
30 odpowiedzi na “Pierwszy na świecie dowód osobisty z reklamą bloga?”
Super artykuł Tomek, czytając aż czułem to podniecenie które Ci towarzyszyło przez 3 tygodnie, kibicując bardzo mocno 🙂 Nawet bez nagrody widać że miałeś dużo funu. Tak trzymać 🙂
Aha… C64 i emblemat hakerski na t-shircie.
Jak robiłeś zajawkę tego wpisu to tak coś czułem, że będziesz majstrował przy fotce, żeby coś w niej ukryć. Ale pomysł z ukryciem „prawie niewidzialnej” grafiki w tle był mało realny. I myślę, że nie dlatego, iż przy produkcji dowodów korzystają z monitorów za 4 tysie, a bardziej dlatego, że zapewne zdjęcia obrabiane są jakimś automatem, który „obcina” takie niuanse, jak te Twoje albo po prostu „szparuje” zdjęcie głowy z tła. A jeśli nie to, to Twoje „dodatki” mógł po prostu uśrednić algorytm kompresji jpg na którymś-tam etapie zapisywania zdjęcia.
Sam obstawiałem, że może spróbujesz użyć narzędzia w stylu Digimarc. No, ale do odczytania informacji potrzebna jest wówczas specjalna apka/plugin; nie wystarczy samo podkręcenie kontrastu.
Jeśli chodzi o przyczynę porażki, to liczę na jakieś wskazówki od osób zaangażowanych w proces produkcyjny 😉
nie do końca porażka bo przecież 3 kropki i kawałek litery c zostały
Szanowny Informatyku Zakładowy,
może powinieneś ukryć grafikę w części „aktywnej” zdjęcia – np. na czole lub w ciemnych regionach obrazu (koszulka). Strzelam, że zamiast optycznie rozpoznawalnego elementu można było osadzić np. kod QR i dane naprawcze…
No dobra, pytanie za 100 pkt:
Abstrahując już od tematu przemycania dodatkowych elementów graficznych na fotce dowodowej…
Czy naprawdę trzeba się bawić bibliotekami i poleceniami wiersza poleceń by te elementy tam wcisnąć?? A programy takie jak gimp, photoshop? Zaznaczam całe tło, wypełniam kolorem białym, i nakładam elementy w kolorze „prawie białym”. W twoim przypadku ukryte elementy mają kolor #FCFCFC. Ot po prostu.
No nie trzeba. Ręcznie też się da. Ale ręczne eksperymenty byłyby tak żmudne i długotrwałe, że projekt nigdy by się nie zakończył. W tekście opisałem może z 1/3 eksperymentów, które przeprowadziłem, zaś te opisane były kilkukrotnie poprawiane. Tu właśnie automaty wygrywają – wpadam na nowy pomysł i 10 minut później jest przetestowany.
Kolejny świetny artykuł Tomek!
Znaczek commodorka rozumiem, ale te kropki to co to? Nie pasuje mi żadna z liter Breiile’a.
Układ kropek, wypisz wymaluj favicona NF.sec.
Też się spodziewałem próby osadzenia czegoś w zdjęciu, by potem sprawdzić na warstwie elektronicznej czy plik ICAO posiada twoje dodatki.
Na 99% szparowanie. Ukryj logo w plamie na czole à-la Gorbi. 😉
Co do zagadki, to ewidentnie broda z kłaczkiem powyżej to nawiązanie do katastrofy lechickiej haplogrupy pod naporem muzułmańskich hord a brak brwi, łysina i przedziałek na niej to nawiązanie to pewnego prezydenta w EU. Obrazek kraju w pigułce.
Być może trzeba było zastosować mniej wyszukane metody: reklama w tle. Dla mniej odważnych: jakaś przypinka tuż pod szyją 😉
Lubię pozytywnie zakręconych wariatów, którzy tracą kupę czasu na rzecz nikomu do niczego niepotrzebną, ale za to dającą masę frajdy 🙂
Tak trzymać!
Zgaduję: C= (?) i kropeczki z drukarek (do przeciwdziala falszowaniu pieniedzy).
Fajnie piszesz, Olgierda niedawno odkryłem i bardzo spodobał mi się jego styl i dobór tematów. Podrzucam Wam kolejny temat – fałszowanie kart wyborczych 😉
Dotarłem aż tam i z przyjemnością o tym informuję;)
Dzięki serdeczne!
Pozostałe dwa elementy widać dobrze w negatywie 🙂
Dotarłem do końca, więc komentuję. Dość długi wpis (ale ciekawy!), jakbyś podzielił na przygotowania i format dowodów, obróbka graficzna i wyniki ostateczne też by się nic nie stało, a łatwiej strawić, zwł. ze wszystkimi odnośnikami.
Jeśli chodzi o reklamę na zdjęciu w dowodzie, to przychodzi mi do głowy pewien sposób, niestety dość hardcore’owy. Tatuaż. Nie musi być permanentny i/lub można usunąć po wyrobieniu dowodu, ale nadal hardcore. Zaleta jest taka, że na pewno zadziała.
Ale obowiązkowo taki w stylu Vladimíra Franza, ex-kandydata na prezydenta Czeskiej Republiki 😉
[…] [PL] Pierwszy na świecie dowód osobisty z reklamą bloga? […]
A co z pegasus’em podobno też tam jest
znaczek Commodore i duże Z w alfabecie Braille ? Z tym drugim to miałem najwięcej kłopotów….
To nie Braille, to hacker emblem!
Piękna rozkmina. Szkoda, że nie zakończyła się sukcesem.
Pytanie trochę z innej beczki. Tak się złożyło, że odebrałem dzisiaj nowy dowód osobisty i jednocześnie dostałem podpis kwalifikowany. Podpis mam m.in w postaci pliku tekstowego. W e-dowód Menedżerze na czwartym kafelku jest komunikat „Możesz dodawać certyfikaty kwalifikowane”. Sęk w tym, że jest on nieaktywny. Nigdzie nie mogę znaleźć informacji (poza możliwością zakupu certyfikatu od razu na DO) jak ten certyfikat wgrać na kartę.
A kto wystawia podpis kwalifikowany w pliku?
Mam Certum SimplySign. Certyfikat pobrałem z https://cloudsign.webnotarius.pl/ccm/detail/card/certificates
Od pomocy PWPW dostałem informację, że: „aplikacja e-dowód Menedżer nie ma możliwości importu certyfikatu na kartę. Karta e-dowód nie ma również funkcjonalności umożliwiającej importu kluczy na kartę”.
Z informacji w ustawie wynika, że dogrywki do chipa można tylko wgrać w Urzędzie. Być może Urząd wysyła dowód do Personalizacji i po wgraniu odsyłają do Urzędu.
Stawiam na to, że grafik używa różdżki w programie graficznym by zaznaczyć tło i wypełnić je bielą. Różdżka działa tak, że zaznacza też kolory bardzo zbliżone (da się to skonfigurować jak bardzo). Steganografii pewnie nie podejrzewają ale upewniają się w ten sposób, że tło zgodnie z wymogami jest białe (#ffffff), a nie tylko podobne do białego.
Szukając informacji o statusach dowodu osobistego natknąłem się na ten niezwykle ciekawy artykuł. Przeczytałem wszystko, byłem nieco rozczarowany wynikiem, ale najważniejsze jest, że autor najwyraźniej miał sporo frajdy.
Co do „emblematu hakerskiego”, to jest to twórcy z pseudo-gry „Life”. To najmniejsza wyjściowa konstrukcja trwała, nie będąca ani elementem stałym (w ogóle się nie zmieniającym), ani elementem pulsującym. Ten element podróżóje w nieskończoność po skosie powtarzając ten wygląd (z pamięci: co 4 cykle) plus tzw. spaliny (dodatki, które nie wpływają na główny kształt i znikają w ciągu 1-2 cykli).
Polecam wygooglanie, można znaleźć zarówno zasady gry, jak i symulatory odtwarzające wygląd kolejnych cykli.
wow, to naprawdę imponujące!
Tak bardzo, że aż przeczytałam cały artykuł, szacun