Béton brut

1UP or STFU

tuscany

Kolejny gorący weekend.

Nie będzie dziś notki (bo dopiero w ¼ wklepana), nie będzie widea, nie będzie nawet listy artykułów do czytania, bo niczego nie czytałem w tym tygodniu. Nie zostawię was jednak samych sobie!

Weekendowe dni idealnie nadają się do spacerów po zacienionych parkach. Do towarzystwa może przygrywać wam muzyczka. Na ten przykład ze znanych gier.

1UP or STFU: na Spotify lub rdio.


Emil czyta #3

emil

Odcinek trzeci, spóźniony. Poszedłem z Bartkiem na długi, dwudziestokilometrowy spacer i zrobiłem sobie dziurę w nodze. Dziura boli mnie brakiem, a braku nie mogę zapełnić nawet mocnymi proszkami. Dlatego od razu przepraszam, że zdania będą poszarpane.

„Baer’s Odyssey: Meet the serial inventor who built the world’s first game console”

Słowo „innowacja” odmieniane jest przez wszystkich marketingowców. O! Innowacja! Kogo, czego nie ma? Innowacji. Jednym, tak jak bohaterowi artykułu, przychodzi ona łatwiej niż innym.

„We Are a Creative Agency Specializing in All Your Branding Needs.”

Agencja kreatywna „Syzyf” podejmie się każdego zadania.

„On Getting Drunk in Antarctica”

Co mogę dodać do tytułu, który mówi „O Chlaniu Na Antarktyce”? Na zdrowie i nie sikajcie na dworzu pod wiatr.

J.K. Rowling and the Chamber of Literary Fame”

Dobra wiadomość: jakość nie przekłada się na widownie, brakuje Ci głównie szczęścia. Zła wiadomość: brakuje Ci głównie szczęścia.

„Fuck the Super Game Boy”

Pięcioczęściowa seria artykułów o konsoli Super Game Boy. Od sprzętowo-programistycznych sztuczek pozwalających uzyskać więcej niż cztery kolory na ekranie po powód, dla którego należy go pieprzyć.

„Top Myths of Renaissance Martial Arts & Swords”

Bullshido, ale na miecze.

W następnym odcinku: wideo! 1 Próbuję od dwóch tygodni przełamać się i zostawić ścieżkę dźwiękową z moim głosem. No nie da się. W następnym następnym odcinku długi, dydaktyczny tekst o Chmurze. Wcześniej leki przeciwbólowe na bazie opiatów.

  1. wideo!!11omgwtf

Emil czyta #2

Witajcie w drugim, możliwe że ostatnim, odcinku „Emil czyta”. I od razu praktyczna porada: nie biegajcie z butelką piwa i tabletem w tej samej przegródce torby/plecaka. Nie wiem ile lat nieszczęść sprowadza stłuczony ekran, ale z pewnością nie ułatwił mi zebranie tej listy.

„Open Waters”, Simon Winchester

Esej o Oceanie. Oceanie jako kolebce życia, grobie statków, wielkim nieznanym.

„Alan Moore: the revolution will be croud-funded”, Scott Thil

Autor takich klasycznych komiksów jak „Watchmen” i „V for Vendetta” wierzy w moc sprawczą Kickstarterów i niezależność autorów.

„Nothing like this will be built again”, Charles Stross

Podróż w paszczę reaktora atomowego.

„The Animator”, Michael Slater

Fantastyczny esej o Dickensie, znawcy londyńskiej mgły i organizatorze związków zawodowych otwieraczy mięczaków.

„On Git’s shortcomings”, Peter Lundgren

Jaki jest Git każdy widzi. Z pozycji ludzi o filozofii podobnej do Linusa wygląda jak miliard dolarów. Inni będą kręcić nosami na niektóre rzeczy.

„If Films Were Reviewed Like Video Games”, Dennis Farrell

Najważniejsze, że frame-rate w ostatnim przeboju był stabilny, a aktorzy nigdy nie wychodzili z kadru.

„Historia niebieskiej tasiemki”, Michał Łaszczyk

Sport wyczynowy to 90% treningu, 10% szczęścia i jakieś 17% guseł, zaklęć i fatalnej voodoo medycyny.

„Prison Break”, Karrie Jacobs

Nie wiem nic o architekturze. No, może te kolumny i rozety. Nieforemna perła. Artykuł próbuje odpowiedzieć na pytanie, czy architekci powinni projektować więzienia. Zawsze fascynuje mnie, gdy ktoś na serio próbuje podjąć dyskusję o etykę zawodową. W tym świecie pytanie „czy powinniśmy?” wydaje się prawie nie na miejscu. Chyba, że uściślone „za ile?”.

„Your First Short Story Speaks”, Peter Kispert

Odradzam czytanie tego tekstu ludziom, którzy bawią się w pisanie.

„I Look Good in My Pork Pie Hat”, Ryan O’Neill

To są teksty dla których żyję. Nic nie wnoszące, trzy piąte zmyślone, teksty o kapeluszach.

Mods


Emil czyta #1

8165693058_b5fbe3aaf5_c
(cc) Sam Howitz

Bardzo ciężko jest być moim bliskim znajomym. Nie tylko dlatego, że zapraszany się nie stawiam, a nieproszony dzwonię do drzwi, trzymając torby foliowe pełne brzęczącej radości. Chodzi też o moje „dzielenie się linkami”. Nie ma dnia, żebym komuś nie podesłał odnośnika do jakiegoś tekstu. Większość osób przepytana ze znajomości treści przyznaje, że skasowała od razu i robi to od lat. Ci o miękkim sercu twierdzą, że odłożyli na później.

Jestem tym absolutnie niezrażony. Przez lata zmieniałem formy, słałem do przyjaciół poranne e-maile zawierające ciekawą prasówkę (wstawanie o piątej ma ten plus, że daje dużo czasu na spokojną lekturę), wieszałem je po społecznościówkach, drukowałem i zostawiałem w kiblu ludziom, którzy zostawili swoje telefony na biurkach i tym samym zostali skazani na lekturę naklejki na środku dezynfekującym. Kilka razy przeszło mi przez myśl zrobienie specjalnego blożka z linkami, ale potem zorientowałem się, że ktoś mógłby nazwać mnie „kuratorem treści w Internecie” i byłoby mi przykro, że upadłem tak nisko, nie ruszając się nawet z fotela.

Mniejszym złem będzie jedna notatka tygodniowo. Na weekend. Nie na „specjalnym blożku”, ale tu. Kilka odnośników. Krótki opis. Miałem więcej pisać, a taki półautomatyczny tekst pomoże mi w utrzymaniu rytmu.

Zaczynamy, Emil czytał, sezon pierwszy, epizod pierwszy, scena!

„Art of Translation”, Nabakov

http://www.newrepublic.com/article/113310/vladimir-nabokov-art-translation

Złe tłumaczenia bywają zabawne i zajmujące. Wszyscy wspominają legendy o Łaziku i krzatowych kaloszach. Najmniej rozbawieni wydają się autorzy, których dzieła przepuszczone są przez magiel kiepskich tłumaczeń. Nabakov poucza, grozi i wydaje się momentami okładać swoją twarz palmami. 1

„Drugs and the Meaning of Life”, Harris

http://www.samharris.org/blog/item/drugs-and-the-meaning-of-life

Czym są narkotyki, czym są odmienne stany świadomości. Jak o nich rozmawiamy, jak o nich myślimy. O mechanice i biochemii używania.

„Jim Patterson: Black Soviet Icons Lonely American Sojourn”

http://rianovosti.com/analysis/20130611/181603045/Jim-Patterson-Black-Soviet-Icons-Lonely-American-Sojourn.html

Kilka lat temu Microsoft wpakował się w jedną z setek wpadek „piarowskich”. Seria reklam (chyba) pakietu Office zamieszczona w polskich gazetach wycięła głowę czarnoskórego biznesmena, a na jego miejsce wstawiła łeb bardziej aryjski. Świat odebrał to jako rasizm, a ja w kuluarach tłumaczyłem zagranicznym znajomym, że w Polsce nadal pokazuje się czarnoskórych palcami i że są oni nowinką w każdym mniejszym mieście. To pragmatyczne działanie ze strony Microsoftu mówi więcej o nas, obywatelach, niż o zleceniodawcy zmiany reklamy.

Tytułowy Jim Patterson jest nie tylko czarnoskórym amerykańskim poetą, ale także dziecięcą gwiazdą rosyjskiego kina z lat 30-tych. Nie ma czego więcej dodawać.

„The Top F2P Monetization Tricks”, Ramin Shokrizade

http://www.gamasutra.com/blogs/RaminShokrizade/20130626/194933/The_Top_F2P_Monetization_Tricks.php

Model „free to play” (zwany przeze mnie „pierwsza działka darmo”) jest promowany wśród autorów aplikacji mobilnych jako ten, który przynosi największe korzyści finansowe. Gazety co i rusz dostarczają nowej, łamiącej serce historii o dziecku, które zakupiło wirtualnych rybek za tysiące dolarów. Autor analizuje najpopularniejsze metody wyciągania pieniędzy z niczego niespodziewających się graczy i naświetla problemy związane z takim podejściem.

„A few words on Doug Engelbart”, Bert Victor

http://worrydream.com/Engelbart/

Nazwisko Engelbart nie jest pewnie obce żadnemu z entuzjastów komputerów. Czy jego pomysły da się zamknąć w „wynalazca myszki komputerowej”?

  1. Specjalnie, redakcję prosimy o powstrzymanie się od poprawek

Czerwone śmierdzi zbukiem

Ostatnio dużo rozmyślam o szczęściu. To normalne: spragnieni chcą wody, głodni posiłku, a nieszczęśliwi się wygadać. Próbowałem wrócić do momentu, kiedy byłem świadomie szczęśliwy; bycie nieświadomie szczęśliwym, pijanym, zaćpanym, czy po prostu wsiąść do tramwaju pięć minut przed ulewą, jest łatwe.

Kiedy jesteś szczęśliwy, świadomie widzisz miejsce, w którym nie byłeś, a teraz jesteś. A kiedy już znów przestaniesz, bo świat jest kiepskim brokerem i zwykle przychodzi grać z parą dziewiątek, możesz zaznaczyć to miejsce, by móc wrócić do niego w noc, kiedy nie możesz zasnąć, a książka, którą czytasz, ma w pierwszym rozdziale śmierć księdza i nic nie wydaje się dość dobre.

Ostatnio dużo rozmyślam o szczęściu i próbuję destylować je tak, żeby móc zakupić odpowiednie składniki w markecie, a potem stanąć o odpowiedniej godzinie i w odpowiednim miejscu, powiedzieć „O! To tu”.

Najłatwiej jest znaleźć takie chwile w młodości, młodość jest zawsze w trybie samoczynnego rozgrzeszania. Każda zła historia zakończona „ale miałem wtedy naście lat” zyskuje status przypowiastki, ludowej mądrości, nauki, z którą można iść przez życie. Historia, o której pomyślałem, nie jest zła, jest zwyczajnie głupia. Jest szczeniacka i niewinna. I ma wyraźną zakładkę, na której mogę odczytać „świadomie szczęśliwy”.

Było wczesne lato, wakacje stały się już częścią naszej świadomości. Jeszcze coś zadawali, ale nikt już się nie martwił, poza tymi, którzy musieli poprawiać oceny. Byłem w tym podwójnie szczęśliwy, gdyż lekcji zwykle nie odrabiałem, a rok kończyłem z bardzo dobrym świadectwem. Pierwszy raz w życiu. Po szkole poszliśmy na rowery. Ja i sześć dziewczyn z naszej klasy. Tu mógłbym praktycznie skończyć, bo jako niezbyt popularny dzieciak, który bawił się w komputery i miał tylko jedną podkoszulkę z Van Dammem, nie mogłem trafić lepiej. Nawet teraz, gdy to piszę, wydaje mi się, że kłamię.

Prawa narracji są jednak nieubłagane i niedaleko lokalnego domu kultury, w którym puszczali nam pirackie wersje „Rybki zwanej Wandą” 1 i „Jurassic Park”, mojemu rowerowi odpadł pedał. Nic, co można naprawić. Chwilowo wstrzymany peleton koleżanek otoczył mnie, a ja myślałem tylko, jak wybrnąć z tej sytuacji, która za chwilę pozbawi mnie tej jedynej okazji na bycie zaakceptowanym nie tylko jako wartościowy bramkarz (numer dwa w szkole, ale tylko dlatego, że nie miałem serca prosić o strój i broniłem w rękawicach ochronnych dla budowlańców podkradanych Ojcu) i znawca asemblera 6502, ale jako kolega z którym można iść na rower.

Nie znajdując rozwiązania, zaciągnąłem rower w krzaki i z determinacją oświadczyłem, że mogę bez problemu biec obok. Zimą trenowałem zwykle lekkoatletykę, bo bronienie bramki na skamieniałej ziemi nie należało do przyjemności. Byłem pewny siebie. Po kilometrowym podjeździe rozpocząłem proces znany tylko fizjologom zajmującym się polskim sportem: oddychałem rękawami i marzyłem o możliwości szybkiego wyrzygania się w krzakach. Determinacja warta lepszego celu pchała mnie jednak do przodu. Kiedy dziewczyny wreszcie się zatrzymały, a ja doczłapałem na wpół martwy, podpierając się na wietrze, zebrałem nawet kilka komplementów. Pewnie coś w stylu „dobrze, że nie umarłeś”, ale mógłbym im potakiwać choćby i pół godziny. Tyle mniej więcej – zgadywałem – potrzeba, żebym mógł zrobić następny krok.

Podczas mojej (usprawiedliwionej) nieobecności wśród koleżanek narodziło się kilka pomysłów na dalszy ciąg dnia. Część chciała wracać na jakiś serial, jedna stwierdziła, że jest w sąsiedztwie swojej babci i złoży jej niezapowiedzianą wizytę. Ostatecznie na placu pozostałem ja i Julia, która stwierdziła, że pojedzie do Moniki po zeszyty do chemii. Monika mieszka rzut kamieniem ode mnie, zaproponowałem więc, że pobiegnę. Popatrzyła na mnie tymi swoimi oczami i powiedziała, że jest zbyt zmęczona, aby jechać taki kawał, ale możemy pojechać razem na jednym rowerze. Ach, ta cudowna Julia. Dlatego się w niej kochałem. Wszyscy się w niej kochali. Jechaliśmy więc, ja skoncentrowany na trasie, w stanie, który będę mógł nazwać dopiero w przyszłości, po pierwszych eksperymentach z narkotykami i ona, z czarnym warkoczem do pasa, opalona na oliwkowo, opowiadająca o jakiś zatargach z przyjaciółką.

Operacja „Zeszyt” przebiegła sprawnie, Monika, od której zawsze się odpisywało, przywykła do traktowania swoich zeszytów jako dobra publicznego. Julia wyszła przed bramę, gdzie czekałem, imaginując sobie, że ten dzień mógłby być lepszy tylko gdyby zza rogu wyskoczył na mnie trener seniorskiej drużyny ŁKS-u i powiedział, że podziwia mnie i chce, abym stanął między słupkami.

To było kilka zeszytów. Julia zapytała mnie, czy mam gdzie je przechować. Wzruszyłem ramionami. Po nieudanych próbach z kieszeniami szortów uniosła palec ku niebu w geście triumfu pomysłowości nad materią. Złapała za podkoszulkę, przytrzymała ją brodą i wsadziła zeszyty za szorty. Zapytała, czy jedziemy. Trawiłem jeszcze przez chwilę ostatnie dziesięć sekund. Wykreśliłem trenera ŁKS-u z listy życzeń na dziś. Przytaknąłem.

Jechaliśmy więc, odprawiając rytuał zgadywania, jakiego koloru będzie mijany ściek wielkiej fabryki farbującej ubrania. „Śmierdzi zbukiem” – powiedziałem – „Zbukiem śmierdzi czerwony”. Lata praktyki. Wreszcie zdobyłem się na odwagę, zwolniłem, żeby móc słyszeć dobrze odpowiedzi.

– No, tego. Czy Ty dziś nie założyłaś biustonosza?
– Co? A skąd wiesz?

Po chwili dostałem kuksańca i musieliśmy zatrzymać się, żeby się wyśmiać. Poprosiła, żebym nikomu nie mówił. Zgodziłem się. Dlatego teraz zapisuję to dla kilku tysięcy ludzi. Ale miałem wtedy naście lat.

  1. Aleśmy się zaśmiewali z motywu „Nie dotykaj jego kutasa”, wychowawczyni mniej

1000+

Umarł król, niech żyją książęta. Książęta i lokalni wasale, gentlemani z własnymi armiami, przyszli zdobywcy wypalonych pól i wieśniaków, którym z podartych portek wystają brudne tyłki.

Mówię oczywiście o nadchodzącej śmierci króla, wyłączeniu Google Readera. Kiedy Google ogłosiło datę pogrzebu, internetowi komentatorzy wylali morza hypertekstowego atramentu: dlaczego i czy to dobrze, czemu darmowe produkty będą naszym końcem, paralele między Microsoftem wczesnych lat dziewięćdziesiątych a współczesnym mordercą czytnika, ostatecznie wystawiono scenę i przegoniono przez nią paradę pretendentów do tytułu królewskiego. Były rozczarowania, sukcesy, obietnice, stroje wieczorowe i bikini.

W reportażu z pogrzebu pojawił się też jeszcze jeden wątek. Pytano, czy w ogóle potrzebujemy takich koślawych agregatorów treści. Dlaczego nie iść na Twittera, dodać do swojej listy ludzi znanych i szanowanych, otrzymywać od nich linki i aktualizacje o bułkach z masłem? Dorzućmy do tego aplikację na tablet, która generuje „magazyn” na podstawie naszego konta w społecznościówce i już możemy konsumować treści tak, jak się powinno w 2013: obrazek, lead-in i spierdalać.

Prawie się z nimi zgadzam, ale w ogóle to jednak nie. Zacznijmy od małej anegdoty z mojego życia. Kiedy nie mogę już oglądać biura albo zawaliłem kolejny termin i wolę się schować przed światem do czasu naprostowania wyrządzonych krzywd, zaszywam się w domowym biurze Piotrka, gdzie siedzę przysypany Amigami i próbuję pracować. Przynajmniej raz dziennie z drugiej strony biurka pada „Kurwa, co za głupoty piszą na tym [wstaw popularny portal z wiadomościami]!”. Pytam wtedy, co zmusza go do czytania portali (bo zaczynam podejrzewać, że to jakiś pies Pawłowa siedzi i wczytuje mu te strony, czekając aż się mój tymczasowy współlokator oślini) i czy nie może po prostu raz dziennie zerknąć na BBC, a potem już olać?

Zwykle pada odpowiedź, że nie, bo na BBC nie ma nic o wydarzeniach w Polsce. I za każdym razem muszę mu przypominać, że się myli. Myli się w kluczowej sprawie: na BBC nie ma informacji o Polsce dzień w dzień, ponieważ dzień w dzień w kraju nie dzieje się nic ekstremalnie ważnego czy szczególnego. W ogóle na świecie dzieje się bardzo mało ciekawych i wartych uwagi rzeczy.

Tak więc zgadzam się ze stwierdzeniem, że może nie potrzebujemy czytników zdolnych do śledzenia tysiąca blogów rzygających dwudziestoma wpisami dziennie. Nie uważam jednak, że należy je wymienić na linki od celebrytów zamienione w magazyn TL;DR. Co natomiast należy, to oznajmić wam, że nie musicie wiedzieć o każdym starciu polityków, o każdej iteracji telefonu komórkowego, o każdej dramie rozgrywanej się w każdej niszy.

Wasza uwaga i wasz czas jest waszą walutą w Internecie. Nie chodzicie do knajpy, żeby kelner napierdział wam w twarz za dychę, czemu więc subskrybujecie blog, który jest jelitem cienkim dla oświadczeń prasowych?

Nie byłem smutny, kiedy ogłosili, że król zejdzie. Nie dlatego, że jestem przeciwny czytnikom. Jestem w tej całej grze bezpaństwowcem od wielu, wielu lat. Czytniki irytowały mnie zawsze tak, jak irytuje picie ze szlauchu. Interwał pomiędzy „Przeczytałem wszystko” a „o, są nowe” jest zdecydowanie za krótki. Kiedy postanowiłem złożyć paszport obywatela Google Readera, postawiłem sobie za cel stworzenie środowiska, w którym czytałbym dużo fajnych rzeczy, ale bez ciśnienia i dla siebie.

Zacząłem od przygotowania listy serwisów wartych mojej uwagi. Metoda eliminacji była prosta: patrzę na URL i pytam się „Kiedy i co ciekawego ostatnio tam przeczytałem?”. Jeżeli przez kilka sekund nie potrafiłem sobie odpowiedzieć na to pytanie, serwis trafiał do śmieci. Po selekcji zacząłem rozmyślać o czytniku. Jak wspominałem wcześniej, mam właściwie dwa oczekiwania co do takiego programu:

  • Nie musi być „na bieżąco” z nowinkami i kusić mnie,
  • Musi się integrować z moim trybem życia.

Po krótkiej debacie „napisać czy poszukać” znalazłem wybitnie znakomity program rss2email, który, jak sama nazwa wskazuje, wysyła nowinki e-mailem. Biorę swoją skrzynkę bardzo serio, dlatego nie pozwolę jej zagracać głupotami, co znów w teorii podkręci jakość dostarczanych treści!

Ustawiłem wszystko na domowym serwerze i kazałem Cronowi wysyłać mi komplet raz dziennie, o piątej rano. Ostatecznie zrezygnowałem z automatyzacji (może dziś nie jestem w ogóle zainteresowany światem, nawet jego najlepszymi częściami?) i logując się na serwer, stukam po prostu r2e run.

E-maile przychodzą, a ja je czytam, najczęściej pijąc pierwszą albo trzecią kawę 1 i kiedy skończę to… nie ma już nic więcej. Mogę spokojnie zająć się swoimi sprawami. Czasem nawet myślę sobie „ciekawe, co będzie jutro!” i jestem zadowolony, że mogę się dowiedzieć jutro. To bardzo ważne, umieć odkładać przyjemności na później 2

Chwileczkę, oszukuję. Części wiadomości nie czytam od razu. Wkładam je sobie do kieszonki i konsumuję w weekendy. Te dłuższe, ważniejsze, te nad którymi warto pomyśleć.

E-mail, Pocket i weekend

rss

Nie piszę tego, żeby chwalić się swoim hipsterskim stosem do RSS-ów, chcę wam powiedzieć, że śmierć Google Readera jest nie tylko okazją do ożywienia tej niszy branży, jest to niebywała okazja żeby skonfrontować swoje nawyki ze swoimi potrzebami. Ile razy przytłoczony komunikatem 1000+ zadeklarowałeś bankructwo, przyznając „Mark all as read”, skazując tym samym te kilka wartych uwagi perełek na śmierć z tonami błota? Może to, z czego byliśmy tak dumni - fakt, że utykamy na godziny na Wikipedii, klikając bez sensu, że czytamy z wypiekami wątek na trzysta siedemnaście komentarzy w którym osoby, których nie znamy, kłócą się o rzeczy, które nas tak na serio niezbyt interesują, nie jest czymś wartym pochwały?

Informacyjny bufet „all-you-can-eat” ugina się pod setkami paragrafów treści, wszystkie oblepione tłuszczem reklam i wypalcowane przez edytorów szukających jeszcze bardziej kłamliwych nazw dla potraw. Akurat zmieniają zastawy. Macie dobrą okazję rozważyć dietę.

  1. pierwsza kawa w domu, trzecia to pierwsza w biurze
  2. Stanford karmi słodyczami.

Krótki wstęp do osobistej kryptografii

Tu lepszy wstęp

Internet wydoroślał. Nie ma już w nim miejsca na zaufanie i nadzieję, że nikt nie czai się za ścianą z zamiarem dziabnięcia nas. Czasem tym kimś jest morderca nieświadomy swojej ofiary, skrypt, który szuka dziur, automat.

Na szczęście możemy się uzbroić.

Możemy użyć szyfrowania asymetrycznego! Ha, sama nazwa wystarczy, żeby nastoletniemu odpalaczowi skryptów zmiękły kolana. Niestety, jest to broń obosieczna, pistolet z dwoma lufami, granat z doczepioną gumką-recepturką; dobre narzędzie kryptograficzne jest po prostu skomplikowane. Wymaga nie tylko zrozumienia (choćby pobieżnego) kilku idei związanych z kryptografią, wymaga też odpowiedniej higieny: gdzie i jak przetrzymujemy swoje informacje, których programów używamy do szyfrowania informacji, kiedy, komu i będącemu gdzie ufamy.

Symetrycznie nie jest ślicznie

Może jednak nie warto się tyle kłopotać? Prawie każdy program do archiwizacji danych (ZIP, RAR, 7Zip, etc.) ma możliwość założenia hasła na utworzony plik. Wydawałoby się, że jest to wystarczająca ochrona dla informacji. I jest to prawda, o ile w archiwum czyhają jakieś krępujące materiały pornograficzne, wypożyczone z największej wypożyczalni na świecie pliki muzyczne czy kolekcja limeryków. Rzeczy, które – gdyby wyciekły – zażenowałyby znajomych. Może załatwiły wydanie jakiegoś tomiku wierszy. No wiecie: nic, czego potrzebujecie, ale też nic, co zniszczy Wam życie.

Hasło jest drugim co do słabości ogniwem w łańcuchu bezpieczeństwa. Pierwszym jesteś Ty, wymyślający hasło. Jedno wynika z drugiego. Przytoczę anegdotkę: pisałem kiedyś oprogramowanie dla pewnej firmy, która zażyczyła sobie poziomów dostępu dla swoich pracowników. W miarę standardowa robota: X może Y, Z nie może B. Kiedyś, podczas aplikowania zmian w bazie, moją uwagę przykuł pewien fakt – napisałem odpowiednie zapytanie, które zgrupowało mi skróty haseł: wszyscy pracownicy mieli takie same. Co oznaczało, że wszyscy mieli to samo hasło, będące numerem telefonu do biura. 1

Wyobraźmy sobie jednak sytuację w której autor archiwum poświęcił chwilkę na wymyślenie w miarę „ciężkiego”, unikalnego hasła. Teraz pozostaje nam przetransportowanie tak utworzonego pliku do celu. Dajemy go więc znajomemu na przenośnej pamięci USB lub wysyłamy e-mailem. Gotowe! A, chwileczkę, co z hasłem? Zadzwonić i powiedzieć przez telefon? Może wyślę drugim e-mailem hasło, będzie łatwiej?

Znów: załóżmy, że zrobiłeś najlepsze co mogłeś i wyszeptałeś odbiorcy hasło wprost do ucha. Jaką masz pewność, że nie zostanie zapisane na „przylepnej karteczce”? Praktycznie zerową, kontrola nad dostępem do hasła (czyli, de facto, zawartości pliku) została przekazana drugiej osobie.

„Dwie osoby są w stanie dochować tajemnicy o ile jedna z nich jest martwa.”

Teraz – naciągając naszą sytuację do ram fantastyki – przyjmijmy, że jesteście akurat dwiema najbardziej odpowiedzialnymi osobami na świecie, hasło nigdy nie zostało zapisane i siedzi tylko w Waszych głowach. Pozostaje nadal sprawa dostępu do pliku: plik może zostać wykradziony. Nie mówimy tu o nocnym ataku zakonu ninja, którego członkowie wpełzną po suficie i zwisając z elastycznych lin ukradną twardy dysk. Mówimy o kimś, kto wyśle go sobie e-mailem z Twojego komputera gdy będziesz w toalecie.

Teraz między nim a dostępem do Twoich danych stoi tylko hasło.

Jak widzicie proste metody ukrywania informacji stają się skomplikowane gdy tylko zaczniemy brać bezpieczeństwo na poważnie. Dodatkowo wszystkie procedury zabezpieczające wykorzystują elementy, które prawie zawsze padają jako pierwsze.

Podsumujmy więc problemy z tradycyjnym modelem „przesyłam Ci archiwum z hasłem”:

  • pojedyncze hasło umożliwia uzyskanie dostępu do archiwum,
  • każdy może skopiować archiwum i próbować wymusić do niego dostęp,
  • archiwum można podmienić, a odbiorca nie będzie tego świadomy.

Przejdźmy do meritum tego tekstu – jak poprawić bezpieczeństwo naszych danych i jak zmniejszyć szanse na wpadnięcie ich w niepowołane ręce. Zanim jednak rozpoczniemy zabawę z pakietem GPG musimy pomówić trochę o teorii.

Czy hasło to tylko znaki?

Zanim przejdziemy do kluczy prywatnych i publicznych porozmawiajmy przez chwilę o hasłach. Co jest takiego złego w prostych hasłach, jak się je zwykle zapisuje i na jakie problemy z tym możemy się natknąć w systemach informatycznych?

Każdego dnia logujemy się do wielu systemów. Od poczty, przez intranetowy system w pracy, kończąc na Facebooku. Większość z tych czynności sprowadza się do podania identyfikatora (zwykle adresu e-mail lub nazwy użytkownika) i hasła. Te wartości są sprawdzane w bazie danych i jeżeli para się zgadza, system zaczyna udostępniać dane.

Dobrą (jedyną!) praktyką jest składowanie tzw. skrótu hasła, matematycznie wyliczonej wartości przedstawionej najczęściej w zapisie szesnastkowym o stałej „długości”. Powodem używania tej metody jest ograniczenie dostępu do samego hasła zarówno dla administratorów, jak i w przypadku włamania do systemu.

Co to znaczy, że skrót jest wyliczany? Zróbmy własny, okrutnie zły i niepraktyczny skrót; jego koszmarne założenia pozwolą mi zademonstrować jeszcze jeden problem, ale po kolei.

Jeżeli A = 1, Ą = 2, B = 3, C =4, to Z = 35, jasne? Nie rozróżniamy wielkości liter. Teraz zapiszmy wyraz:

EMIL = 
  E[7] + 
  M[17] + 
  I[12] + 
  L[15] = 
  51 = 
  0x33

Czyli nasz „algorytm” to dodawanie wartości pozycji liter w alfabecie. Teraz, gdy ktoś będzie się próbował zalogować hasłem EMIL, mogę policzyć skrót hasła i sprawdzić, czy w bazie mam zapisane 0x33. „Nikt” nie wie, czym jest ten ciąg i hasło jest „bezpieczne”.

Czy potraficie zgadnąć jaki jest z nim problem?

GOAAAAAL = 
  G[10] + 
  O[20] + 
  A[1] + 
  A[1] + 
  A[1] + 
  A[1] + 
  A[1] + 
  A[1] + 
  L[15] = 
  51 = 
  0x33

Jak to? Co to znaczy, że EMIL = GOAAAAAAL? Tak, nazywamy to konfliktem w skrócie, czyli takim wypadku, gdy więcej niż jeden ciąg generuje tą samą wartość skrótu. Ktoś, kto widzi 0x33 i zna metodę liczenia może przygotować hasło, które nie jest hasłem użytkownika a mimo to można go używać do logowania.

Płynie z tego pewna nauka: jeżeli myślisz, że możesz napisać sobie własne „skracanie” to mylisz się (o ile nie jesteś jednym z dwustu-trzystu matematyków, którzy zajmują się tym zawodowo). Jeśli jesteś jednym z tych matematyków to bardzo mi przyjemnie, że czytasz ten tekst!

Co jeszcze? Kolejną dobrą praktyką jest „solenie” skrótu. Oznacza to, że do hasła dodawane jest jeszcze coś, tajemnica pozwalająca na zmianę standardowego skrótu. Czemu się to robi? Hakerzy to sprytne bestie, wzięli słownik i przepuścili go przez popularne metody skracania uzyskując wieeeelką tablelę ze skrótami. Teraz, w przypadku nieposolonych skrótów, wykradziona baza danych z użytkownikami o hasłach takich jak „kot”, „pies” i„herbata” jest czytelna niemal automatycznie. Wystarczy porównać tabelkę już przeliczonych skrótów z tymi w bazie, hop i już mamy! Stąd tylko krok do wypróbowania haseł w innych serwisach.

Kiedy posolimy hasło „pies” naszą T4J3MN1C0M, skrót wyliczony z ciągu „piesT4J3MN1C0M” nie ma nic wspólnego ze skrótem ciągu „pies” i unikamy możliwości łatwego odkrycia hasła.

Klucz prywatny, klucz publiczny

Widzieliście pewnie jakiś film o piratach. W filmach o piratach chodzi głównie o to, kto pierwszy odkopie skrzynię ze skarbami. I czy ma do niej klucz, a jeśli nie klucz, czy skrzynia wytrzyma uderzenia łopatą. Taka skrzynia reprezentuje szyfrowanie symetryczne. Jest skrzynia (archiwum) i klucz (hasło) w którego posiadanie może wejść każdy: na drodze rozboju, dziedziczenia czy też fantastycznego zbiegu okoliczności. Jest też ostra część łopaty, która służy za metaforyczny dostęp nieautoryzowany.

Właśnie zdałem sobie sprawę, że strzeliłem sobie w stopę piracką metaforą. Z armaty. Szyfrowanie symetryczne nie ma łatwej analogii w rzeczywistym świecie, a wynika to właśnie z natury fizyczności; każdy dostatecznie skomplikowany zamek ma liczbę n łopat, która go wreszcie rozwali.

Niech będzie, że nasi piraci poza korsarskim rzemiosłem parają się też czarną magią. I skrzynia jest magiczna. (Jęczenie, które teraz słyszycie, to analogia rozciągana jak guma w starych gaciach).

Ojej, z przykrością zawiadamiam, że piraci nie żyją. Wypadek przy pracy. Nie wiedzieli, że armata jest załadowana. Zginęli w słusznej sprawie. Dzięki ich śmierci mogą uniknąć dalszego męczenia tej anegdoty!

Kryptografia asymetryczna sprowadza się do posiadania pary kluczy; treści zaszyfrowane jednym z nich można odszyfrować tylko drugim i odwrotnie. Jeden z tych kluczy nazywamy prywatnym i w jego posiadaniu jesteśmy wyłącznie my (a każda z osób, z którymi przychodzi nam się wymieniać zaszyfrowanym informacjami, jest w posiadaniu własnego); drugi nazywamy publicznym i udostępniamy reszcie świata. Jeżeli ktoś chciałby przekazać mi plik dostępny tylko dla mnie, musiałby pobrać mój klucz publiczny i dodać do swojego „pęku kluczy”. Podczas szyfrowania archiwum wskazałby mój klucz publiczny, i tylko ja byłbym w stanie odszyfrować zabezpieczone archiwum (bo odszyfrować je można tylko moim kluczem prywatnym).

Klucz prywatny i publiczny tworzą nierozłączoną parę, która umożliwia osobom będącym w posiadaniu naszego klucza publicznego wygenerować zaszyfrowane informacje dostępne tylko dla nas. Nie musimy się umawiać „na hasło”, nie musimy się nawet widzieć czy też uprzednio informować o fakcie. Każdy, kto ma mój publiczny klucz może przysłać mi swoje tajemnice z pewną dozą pewności, że nikt postronny nie będzie mógł z łatwością dostać się „do środka”. Klucz prywatny jest (a przynajmniej: powinien być) dodatkowo zabezpieczony hasłem, tak więc odkodowanie informacji od nadawcy wymaga nie tylko posiadania specjalnego pliku w postaci klucza prywatnego, ale także znania hasła.

Jest to pewien szczególny wypadek „two factor authenitcation”, modelu autoryzacji który polega na „tym co wiesz” (tu: haśle do klucza prywatnego) i „tym, co masz” (tu: pliku zawierającego klucz prywatny). W podobny sposób działają tokeny, które niektórzy z Was otrzymali z banków. Autoryzacja odbywa się na podstawie skrótu RSA generowanego algorytmicznie („to, co masz”) i hasła („to, co wiesz”).

Starczy może suchej teorii. Może to niewielka dawka, ale kto próbował zjeść łyżkę cynamonu ten wie, że nawet niewielkie dawki czasem ciężko przełknąć.

W części praktycznej zainstalujemy pakiet GNU Privacy Guard, który jest otwartym odpowiednikiem PGP. GPG jest oczywiście dostępny na większość systemów operacyjnych, tych płynących w głównym nurcie jak i tych hobbistycznych. Potęga otwartego kodu.

W tekście posługuję się klientem terminalowym. Jest on wspólny dla wszystkich wersji, a i dużo łatwiej uczyć się wydając świadomie polecenia, a nie klikając guziory w interfejsie graficznym. Gdybym miał władzę nad światem to zabroniłbym w ogóle guzików. OK, może grafikom bym pozwolił, ale reszta z Was może zapomnieć. Na wasze szczęście moje dyktatorskie zapędy stępiłem grając w The Sims 2, gdzie prowadziłem postać powoli starzejącego się faceta, który pracował jako programista i czasami mdlał ze zmęczenia w kałuży własnego moczu. Lubię odmianę.

Rozkład zajęć:

  1. Wygenerowanie własnej pary kluczy
  2. Import klucza publicznego dostępnego na stronie
  3. Import klucza z serwera
  4. Eksport własnego klucza publicznego
  5. Podpisanie pliku i weryfikacja sygnatury
  6. Szyfrowanie pliku i jego odszyfrowanie
  7. Szyfrowanie symetryczne

Wygenerowanie własnej pary kluczy

— gpg --gen-key 2

gpg (GnuPG) 2.0.19; Copyright (C) 2012 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Proszę wybrać rodzaj klucza:
  (1) RSA i RSA (domyślne)
  (2) DSA i Elgamala
  (3) DSA (tylko do podpisywania)
  (4) RSA (tylko do podpisywania)

Klucze RSA będą miały od 1024 do 4096 bitów długości.
Jakiej długości klucz wygenerować? (2048)

Żądana długość klucza to 2048 bitów.

Okres ważności klucza.

        0 = klucz nie ma określonego terminu ważności
       = termin ważności klucza upływa za n dni
     w = termin ważności klucza upływa za n tygodni
     m = termin ważności klucza upływa za n miesięcy
     y = termin ważności klucza upływa za n lat
Okres ważności klucza? (0) 2y

Klucz traci ważność sob, 13 cze 2015, 16:35:36 CEST

Czy wszystko się zgadza (t/N)? t

Odpalenie gpg z parametrem —gen-key rozpoczyna procedurę generowania klucza. W pierwszym kroku wybieramy domyślną pozycję, tj. parę kluczy RSA, dzięki czemu możemy szyfrować i podpisywać informacje.

Długość klucza jest wprost proporcjonalna do jego “siły”. Możemy przez to rozumieć jego odporność na najbardziej prymitywne (ale często zaskakująco skuteczne) metody łamania haseł. Długość klucza wpływa też na czas, który będzie potrzebny na zaszyfrowanie/odszyfrowanie wiadomości. Dla większości zastosowań można spokojnie wybrać maksymalną długość.

Okres ważności klucza to czas po którym klucz stanie się bezużyteczny. Teoretycznie, gdyż informację tę możemy zmienić w dowolnej chwili edytując klucz. Pole to służy bardziej jako element higieny.

GnuPG musi utworzyć identyfikator użytkownika do identyfikacji klucza.

Imię i nazwisko: Emil Oppeln-Bronikowski
Adres poczty elektronicznej: emil@adrespoczty.pl
Komentarz: Testowa parka
Twój identyfikator użytkownika będzie wyglądał tak:
    "Emil Oppeln-Bronikowski (Testowa parka) "
Zmienić (I)mię/nazwisko, (K)omentarz, adres (E)mail, przejść (D)alej,
czy (W)yjść z programu? d

Musisz podać długie, skomplikowane hasło aby ochronić swój klucz prywatny.

[...]

Musimy wygenerować dużo losowych bajtów. Dobrym pomysłem aby pomóc komputerowi
podczas generowania kluczy jest wykonywanie w tym czasie innych
działań (pisanie na klawiaturze, poruszanie myszką, odwołanie się do dysków);
dzięki temu generator liczb losowych ma możliwość zebrania odpowiedniej ilości
entropii.

gpg: sprawdzanie bazy zaufania
gpg: potrzeba 3 marginalnych, 1 pełnych, model zaufania PGP
gpg: poziom: 0 poprawnych:   1 podpisanych:   0 zaufanie: 0-,0q,0n,0m,0f,1u
gpg: następne sprawdzanie bazy odbędzie się 2015-06-13

pub   2048R/EFB571A3 2013-06-13 [wygasa: 2015-06-13]
      Odcisk klucza = 6D42 0F8B E9EA 0100 A5A8  5F82 F0F6 7FBF EFB5 71A3
uid                  Emil Oppeln-Bronikowski (Testowa parka) 
sub   2048R/693FF3FC 2013-06-13 [wygasa: 2015-06-13]

W tym kroku nie ma niczego magicznego, podajemy dane idetyfikacyjne i czekamy, aż generator liczb losowych zdobędzie się na odwagę wygenerowania dla nasz kluczy. Kiedy wreszcie gpg odda kontrolę konsoli możemy zacząć zabawę w szyfrowanie.

Import klucza publicznego dostępnego na stronie

Zacznijmy od zaimportowania mojego klucza, dostępnego na serwerze HTTP.

 wget http://bronikowski.com/emil.gpg
--2013-06-13 16:41:40--  http://bronikowski.com/emil.gpg
Translacja bronikowski.com (bronikowski.com)... 46.248.176.108
Łączenie się z bronikowski.com (bronikowski.com)|46.248.176.108|:80... połączono.

Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK

Długość: 2170 (2,1K) [text/plain]
Zapis do: `emil.gpg'

[...]

2013-06-13 16:41:40 (52,5 MB/s) - zapisano `emil.gpg' [2170/2170]
 gpg --import < emil.gpg
gpg: klucz 96769184: klucz publiczny ,,Emil Oppeln-Bronikowski '' wczytano do zbioru
gpg: Ogółem przetworzonych kluczy: 1
gpg:          dołączono do zbioru: 1
Pobrany plik zawiera mój klucz publiczny. Parametr --import odpowiada za dopięcie mojego klucza do pęku twoich kluczy.

 gpg --list-keys

pub   2048R/EFB571A3 2013-06-13 [wygasa: 2015-06-13]
uid                  Emil Oppeln-Bronikowski (Testowa parka) 
sub   2048R/693FF3FC 2013-06-13 [wygasa: 2015-06-13]
pub   1024D/96769184 2011-05-10
uid                  Emil Oppeln-Bronikowski 
uid                  Emil Oppeln-Bronikowski 
sub   2048g/F8FE0300 2011-05-10

Import klucza z serwera

Dzięki —list-keys możesz zobaczyć detale swojego pęku kluczy i dowiedzieć się, że mój odpowiada za dwa adresy e-mail. No dobrze, masz mój klucz bo ci powiedziałem gdzie dokładnie jest. Co w przypadku ludzi, których znasz tylko z nazwiska lub znasz ich adres e-mail? Na szczęście klucze można wysłać do specjalnego serwera zajmującego się ich dystrybucją. Klucz umieszczony w katalogu można odnaleźć bez większego problemu przy pomocy parametrów —keyserver i —search—keys

— gpg --keyserver pgp.mit.edu --search-keys marks@ubuntu.com

gpg: poszukiwanie ,,marks@ubuntu.com'' z serwera hkp pgp.mit.edu

(1)     Martin M Marks (sobankiithsa@UBUNTU.CASTER) 
       Mark Shuttleworth 
       Mark Shuttleworth 
       Mark Shuttleworth 
       Mark Shuttleworth 
       Mark Shuttleworth 
         1024 bit DSA key D54F0847, utworzono: 2004-02-18
Keys 1-2 of 2 for "marks@ubuntu.com".  Wprowadź numer(y), N)astępny lub Q)uit > 2

gpg: zapytanie o klucz D54F0847 z serwera hkp pgp.mit.edu
gpg: klucz D54F0847: klucz publiczny ,,Mark Shuttleworth '' wczytano do zbioru
gpg: potrzeba 3 marginalnych, 1 pełnych, model zaufania PGP
gpg: poziom: 0 poprawnych:   1 podpisanych:   0 zaufanie: 0-,0q,0n,0m,0f,1u
gpg: następne sprawdzanie bazy odbędzie się 2015-06-13
gpg: Ogółem przetworzonych kluczy: 1
gpg:          dołączono do zbioru: 1

— gpg --list-keys

pub   2048R/EFB571A3 2013-06-13 [wygasa: 2015-06-13]
uid                  Emil Oppeln-Bronikowski (Testowa parka) 
sub   2048R/693FF3FC 2013-06-13 [wygasa: 2015-06-13]
pub   1024D/96769184 2011-05-10
uid                  Emil Oppeln-Bronikowski 
uid                  Emil Oppeln-Bronikowski 
sub   2048g/F8FE0300 2011-05-10
pub   1024D/D54F0847 2004-02-18
uid                  Mark Shuttleworth 
uid                  Mark Shuttleworth 
uid                  Mark Shuttleworth 
uid                  Mark Shuttleworth 
uid                  Mark Shuttleworth 
uid                  Mark Shuttleworth 
sub   1024g/9DE743C9 2004-02-18

I już, Mark Shuttleworth został odnaleziony a jego publiczny klucz umieszczony w naszym pęku. Zanim przejdziemy dalej: aby wyeksportować klucz (w przykładzie poniżej: mój publiczny) możemy użyć parametry —export i idetyfikatora klucza. Opcja -armor powoduje, że wyeksportowany plik ma formę pliku ASCII, a nie jak standardowo, binarną.

— gpg --export -armor emil@adrespoczty.pl >/tmp/emil-at-adrespoczty.gpg

I już. Plik /tmp/emil-at-adrespoczty.gpg mogę wysłać komuś e-mailem, umieścić na serwerze lub wydrukować. 3

Podpisanie pliku i weryfikacja sygnatury

Termin „podpis elektroniczny” jest wam z pewnością znany, prawda? Zwykle myślimy o kwalifikowanym podpisie elektronicznym, który jest równoznaczy z podpisem i pozwala nam na załatwianie spraw drogą elektroniczną.

Podpisanie dokumentu to procedura w której użytkownik używając swojego klucza prywatnego (który znajduje się na karcie przy podpisie kwalifikowanym) tworzy unikalny skrót z dokumentu co pozwala nam, odbiorcom, potwierdzić:

  • że podpisujący znał hasło do klucza prywatnego użytkownika (czyli „był nim” lub „bił go aż zdradził”),
  • że dokument od tego czasu nie uległ modyfikacji (modyfikacja psuje skrót),
  • datę podpisu.

Podpiszmy więc Code of Conduct.

— xhtml2pdf http://www.ubuntu.com/about/about-ubuntu/conduct

Converting www.ubuntu.com-about-about-ubuntu-conduct to /home/emil/www.ubuntu.com-about-about-ubuntu-conduct.pdf...

Zrobimy sobie z tej strony dokument PDF, a następnie, używając —sign, podpiszemy go.

— gpg --sign www.ubuntu.com-about-about-ubuntu-conduct.pdf

Musisz podać hasło aby odbezpieczyć klucz prywatny użytkownika:

,,Emil Oppeln-Bronikowski (Testowa parka) ''
długość 2048 bitów, typ RSA, numer EFB571A3, stworzony 2013-06-13

— l www.ubuntu.com-about-about-ubuntu-conduct.pdf*

-rw-r--r-- 1 emil users 19596 06-13 17:10 www.ubuntu.com-about-about-ubuntu-conduct.pdf
-rw-r--r-- 1 emil users 11244 06-13 17:10 www.ubuntu.com-about-about-ubuntu-conduct.pdf.gpg

Do wygenerowanego dokumentu dołączony został podpis. Każdy, kto otrzyma tę parę plików może zweryfikować ich autora i czas powstania.

— gpg --verify www.ubuntu.com-about-about-ubuntu-conduct.pdf.gpg

gpg: Podpisano w czw, 13 cze 2013, 17:10:42 CEST kluczem RSA o numerze EFB571A3
gpg: Poprawny podpis złożony przez ,,Emil Oppeln-Bronikowski (Testowa parka) ''

Szyfrowanie pliku i jego odszyfrowanie

Czas wreszcie się zakonspirować. Mam dokument, który chcę przekazać temu innemu sobie (z prawdziwym kluczem). Podaję więc parametr -e (szyfruj) i -r, po którym podaję listę odbiorców, a na końcu sam plik, który ma zostać zaszyfrowany.

— gpg -e -r emil@fuse.pl ubuntu.com.pdf

gpg: F8FE0300: Nie ma żadnej pewności, czy ten klucz należy do tej osoby
pub  2048g/F8FE0300 2011-05-10 Emil Oppeln-Bronikowski

Odcisk klucza głównego: 820F D398 6D48 4BF3 3F3F  23CF 4276 4910 9676 9184
      Odcisk podklucza: 74BA 5DEF A968 0D74 0C4D  3197 76A2 538A F8FE 0300

NIE MA pewności, czy klucz należy do osoby wymienionej w identyfikatorze.
Jeśli nie masz co do tego żadnych wątpliwości i *naprawdę* wiesz co robisz,
możesz odpowiedzieć ,,tak'' na następne pytanie.

Użyć tego klucza pomimo to? (t/N)

Przyznam, że sam byłem zaskoczony tą wiadomością. Oczywiście zaraz strzeliłem się w czoło i przypomniałem sobie o tym, o czym nigdy nie chcę pamiętać: o poświadczaniu posiadania klucza. Widzicie, każdy może stworzyć sobie dowolny klucz i użyć w nim danych jakich mu się podoba. Nic nie stoi na przeszkodzie żebym wygenerował sobie klucz z fałszywymi informacjami i namówił ludzi do zaimportowania takiego klucza do ich systemów.

Jeżeli ktoś zaimportuje mój klucz, który mówi, że jestem billg@microsoft.com to w komunikacji z taką osobą mogę nie tylko udawać Billa, mogę używać tego klucza jako podpisu pod plikami.

Aby prawidłowo poświadczyć autentyczność pary klucz/osoba należałoby umówić się z drugą osobą na piwo, mieć przy sobie wydrukowany odcisk swojego klucza publicznego, wymienić się swoimi wydrukami, potwierdzić tożsamość i po stwierdzeniu poprawności, powrocie do domu i kacu wyedytować zaimportowany klucz i zwiększyć (lub zmiejszyć jeśli współpiwoszowi źle z oczu patrzyło) zaufanie do jego klucza, po czym ostatecznie podpisać jego klucz publiczny swoim kluczem prywatnym.

To chyba najgorsza część tej całej zabawy. Jeżeli na serio chcemy pewność korespondencji nie możemy po prostu zaufać elektronicznym drogom komunikacji. Zdaję sobie sprawę, że chodzenie z wydrukiem heksów i zmuszanie przyjaciół do składania na nich podpisów stawia nas pomiędzy zwolennikami teorii o tym, że Żydzi wysadzili WTC, a ludźmi którzy odbierają radio AM dzięki plombom. Kryptografia jest bardzo łatwa póki nie jest ciężka.

— gpg --edit-key emil@fuse.pl

gpg> trust

pub  1024D/96769184  utworzono: 2011-05-10  wygasa: nigdy       użycie: SC  
                    zaufanie: marginalne    poprawność: nieznany

sub  2048g/F8FE0300  utworzono: 2011-05-10  wygasa: nigdy       użycie: E   
[    nieznane   ] (1). Emil Oppeln-Bronikowski 
[    nieznane   ] (2)  Emil Oppeln-Bronikowski

Zastanów się jak bardzo ufasz temu użytkownikowi w kwestii sprawdzania
tożsamości innych użytkowników (czy sprawdzi on odciski kluczy pobrane
z różnych źródeł, dokumenty potwierdzające tożsamość, itd.).
 1 = nie wiem albo nie powiem
 2 = NIE ufam
 3 = mam ograniczone zaufanie
 4 = mam pełne zaufanie
 5 = ufam absolutnie
 m = powrót do głównego menu

Twoja decyzja? 3

pub  1024D/96769184  utworzono: 2011-05-10  wygasa: nigdy       użycie: SC  
                    zaufanie: marginalne    poprawność: nieznany
sub  2048g/F8FE0300  utworzono: 2011-05-10  wygasa: nigdy       użycie: E   
[    nieznane   ] (1). Emil Oppeln-Bronikowski 
[    nieznane   ] (2)  Emil Oppeln-Bronikowski 
gpg> sign

Czy na pewno podpisać wszystkie identyfikatory użytkownika? (t/N) t
pub  1024D/96769184  utworzono: 2011-05-10  wygasa: nigdy       użycie: SC  
                    zaufanie: marginalne    poprawność: nieznany

Odcisk klucza głównego: 820F D398 6D48 4BF3 3F3F  23CF 4276 4910 9676 9184
    Emil Oppeln-Bronikowski 
    Emil Oppeln-Bronikowski

Czy jesteś naprawdę pewien, że chcesz podpisać ten klucz
swoim kluczem ,,Emil Oppeln-Bronikowski (Testowa parka) '' (EFB571A3)

Czy na pewno podpisać? (t/N) t

Po tym jak wyedytowałem klucz i zadeklarowałem do niego pewne zaufanie, a ostatecznie podpisałem go swoim, wcześniej występujący komunikat nie powinien się już pojawiać.

— touch tajnydokument
— gpg -r emil@fuse.pl -e tajnydokument
— l tajnydokument*

-rw-r--r-- 1 emil users   0 06-13 17:20 tajnydokument
-rw-r--r-- 1 emil users 603 06-13 17:20 tajnydokument.gpg

Szyfrowanie symetryczne

Jeżeli po przeczytaniu tego całego tekstu poczułeś nienawiść do ludzi, którzy próbują skomplikować ci życie — nie rozpaczaj — GPG/PGP potrafi szyfrować też pliki „na hasło”, wystarczy, że użyjeszcz parametru -c i podasz unikalne hasło, które dowolny inny użytkownik, bez względu czy jest w posiadaniu twojego klucza, czy też nie może odszyfrować używając hasła.

— gpg -c test.pdf

Koniec

Tekst ten przeleżał kwartał na dysku i właściwie miał już nigdy nie trafić do edytora, ale ostatnie doniesienia o tym, że amerykańskie służby szpiegowskie szpiegują wystraszyły niemało ludzi, którzy używają wszędzie tego samego hasła i pomyślałem, że to czas żeby poodcinać trochę kuponów od nowej fali paranoi.

Mówiąc już zupełnie serio. Jeżeli używacie komputerów tak jak ja to są duże szanse, że macie na dyskach wiele ważnych dokumentów. Dokumentów, które może wkładacie do Dropboksa? Albo trzymacie na pulpicie? Wystarczy, że wygenerujecie dla siebie tę parę kluczy i zaczniecie przepuszczać te pliki przez gpg -e -r . Bams. Nie musicie się z nikim wymieniać kluczami prywatnymi, nie musicie ustawiać swoich klientów pocztowych, po prostu od czasu do czasu zaszyfrujcie „sami na siebie” ten dump bazy danych.

Dodatkowo

Piotr Szotkowski, który robił mi kurektę, poleca także następujące teksty:

  1. Co nie powinno się zdarzyć. Działo się to dawno temu kiedy jeszcze nie wiedziałem o czymś, co nazywamy „soleniem haseł”.
  2. Wytłuszczam komendy i klawisze
  3. wydrukować? Tak, o tym trochę później

Dobre intencje

Nie ma dla mnie nic bardziej niepokojącego niż Internet unoszący dłonie w geście zwycięstwa. Naturą Internetu jest to, że „wygrana” nie musi być wygraną obiektywną i mierzalną, uczciwym zwycięstwem nad jasno określonym przeciwnikiem według zasad. Tłum nie jest sumą głów. Tłum jest sumą odbytów i pięści.

Jeszcze niedawno takie zjawisko żyło w popkulturze dzięki wieśniakom dokonującym szturmu na zamek Doktora Frankensteina. Żyło też jako piętno publicznych linczów. Internet ukrył sznur i zamiast pochodni ma latarkę z LED. Internet przyczepił sobie też gwiazdę szeryfa, wystawił licencję na zabijanie, a za Fedorę zatknął przepustkę prasową.

Wydarzenia w Bostonie wstrząsnęły mną w sposób, jakiego nie byłem w stanie przewidzieć. Pomiędzy moją sympatią do miasta i podziwem dla maratońskiego wysiłku, pomiędzy zdjęciami z ludźmi, którzy rzucają się do pomocy i mną, wracającym na lekkim podpiciu do domu, wszystko nabrało dla mnie hiper-realności, której nie było w stanie przegonić kolejne piwo wypite już w pozycji leżącej. Spałem mało, o piątej wyszedłem do biura by przykleić się ekranu i czytać.

Czym więcej czytałem, tym bardziej rosła we mnie nienawiść. Na moich oczach powtarzał się cykl szaleństwa: garbage-in, garbage-out. Niesprawdzone, fantastyczne teorie wyprodukowane przez internetowych Batmanów uzbrojonych w kompletny brak empatii i MS Paint trafiały do szerszej konsumpcji, a po trawieniu zamieniały się w gówno, w którym taplali się spece od spiskowych teorii. Tempo produkcji oskarżycielskich obrazków rosło wraz z uczuciem podniecenia wśród klawiaturowych detektywów. Kulminacyjnym punktem był pościg bostońskiej policji za podejrzanymi. Stwierdzono deficyt rąk wśród tłumu poklepującego się po plecach, aż wreszcie ogłoszono ex cathedra, że oto jesteśmy światkami ostatecznego triumfu posiadaczy telefonów komórkowych z aparatami i stałego dostępu do sieci nad mediami tradycyjnymi. Jeden z użytkowników reddita z dumą rozdawał linka każdemu, kto chciał słuchać. Odgadł on słusznie, że zamachowcem będzie dwudziestoparolatek. Nie, że będzie ich dwóch i że 26 i 19 lat ledwie mieści się w jego przepowiedni. „Remember the hits, forget the misses”.

Pośród tego pościgu o dowody jeszcze mętniejsze, jeszcze lepiej korelujące z wyznawanym przez wskazującego smakiem rasizmu zdjęcia „potencjalnych podejrzanych”, hipotez o rządzie, który wysadził obywateli żeby ukryć to lub tamto, przepchnąć taką a nie inną ustawę, nikt nie wziął nawet oddechu by przystanąć i zastanowić się nad skutkami takich działań.

Internet stał się repozytorium głupoty, z której garściami czerpać może każdy, kto ma akurat ochotę na usztywnienie poglądów, jakie już wyznaje. Na tragediach budowane są kariery, które wspierają się o mantrę „ja tylko zadaję pytania!”.

I nie piszę tego żeby „bronić” mediów tradycyjnych. One też przykładają się do kociokwiku, legitymizując czasem te bajdurzenia. Piszę o tym dlatego, że czuję obrzydzenie do ludzi, którzy widzą się jako bohaterów, ponieważ mają konto w popularnym serwisie i potrafią narysować czerwoną linię na zdjęciu. Nie jesteście dziennikarzami śledczymi, nie jesteście Batmanami, nie jesteście bystrymi obserwatorami. Macie dostęp do Internetu.


git branch five-stages-of-fuckup

Popełniłem błąd w kodzie. Strasznie głupi, amatorski, „PHP w dwa tygodnie” błąd. Taki, którego się nie popełnia. Pominąłem jedną z warstw autoryzacji aplikacji i „wyciekłem” dane.

Zaprzeczenie

Nie ma szans, żeby był błąd. Dopisywałem wprawdzie w piątek poprawkę niedaleko middleware, ale przecież ona nie mogła wpłynąć na działanie warstwę niżej. Dzwonię do zgłaszającego błąd. Weryfikuję zgłoszenie. Użytkownik, który widzi niepoprawne informacje został dodany bez nadania roli. Ha ha. Nie ma błędu. Wysyłam głośnego e-maila, dwa razy używam wytłuszczenia. Moje na wierzchu, hurra.

Godzinę później otrzymuję paczkę e-maili od pracowników, którzy błąd znaleźli. Jest. Akurat w tym samym miejscu. Popełniłem błąd.

Gniew

Kurwa! Kurwa jebana mać. Ja pierdolę. To dlatego, że nigdy nie mam czasu. I w ogóle wszystko o kant dupy potłuc. Przecież to głupie. Pierdolę, nie robię.

Targowanie się

Może jednak nic się nie stało? O, praktycznie tylko jeden widok cieknie, a reszta i tak będzie rzucała wyjątkiem podczas filtrowania. Wezmę logi i sprawdzę.

Jeden grep, trzeci. -v lokalne_adresy. Wygląda normalnie. Może się jednak nic nie stało, prawda? No i ktoś musiałby świadomie wpisać cały URL. Nie ma szans, nie ma szans.

Depresja

Tyle lat to robię i nadal sadzę takie kwiatki. Może ja tylko świetnie gram światłego nerda ku uciesze internetowej gawiedzi? Nic dziwnego, że nic nie osiągnąłem i jestem zupełnie nikim, tak spieprzyć. W czym ja w ogóle jestem dobry? Stare meble nieźle rozwalam na kawałki. Może powinienem się zająć czymś prostszym tak żeby nie nieść zagrożenia?

Pogodzenie się

Jeszcze czekam.


中国银

Obudziłem się na podłodze w biurze. Dzień tak rozpoczęty nie może być dobry, prawda? Zerknąłem w pocztę firmową, potem w prywatną. W prywatnej natknąłem się na e-mail, który teoretycznie powinien był zostać zjedzony przez spam-maszynę. Zaśmiałem się do siebie i przekleiłem propozycję na socjalweb, żeby inni mogli się pośmiać ze mną. Oto treść pierwszego e-maila:

(It’s very urgent, Please transfer this email to your CEO or appropriate person, thanks)

Dear CEO,
We are the department of asian domain registration service in China. Here I have something to confirm with you. We formally received an application on January 18, 2013 that a company claimed ”VTCC Intl Company” were applying to register”bronikowski”as their Net Brand and some “bronikowski” domain names through us.

Now we are handling this registration, and after our initial checking, we found the name were similar to your company’s, so we need to check with you whether your company has authorized that company to register these names. If you authorized this, we would finish the registration at once. If you did not authorize, please let us know within 5 workdays, so that we could handle this issue better. After the deadline we will unconditionally finish the registration for ”VTCC Intl Company”.

Looking forward to your prompt reply.

Popatrzyłem w swoją listę zadań na dziś. Powinienem pracować. Z drugiej strony istnieje zagrożenie, że stracę swoją sieciową markę w Chinach, a pomocny pracownik firmy patrzy w przód na moją natychmiastową odpowiedź.

Odpisałem więc, że to przerażające. Dodałem, że po otrzymaniu dokumentów natychmiast poinformuję Radę Starszyzny, która to Rada zarządza ogólnoświatową marką bronikowski. Zanim wysłałem list, przełączyłem szybko From: z adresu prywatnego (w domenie bronikowski.com) na adres firmowo-pracowy (w domenie fuse.pl).

Otrzymałem następującą odpowiedź:

At present, we haven’t passed their application, we need your opinion.If your company consider these names of importance to your company’s business or interest, we suggest that your company register these names first so as to avoid confusion or speculation.If you don’t think their application will affect
your company,then we will finish registering for VTCC Intl Company as per our duty. we will not bear any responsibility in future because we had informed you.

Kindly inform us your company’s decision as soon as possible in order to handle this issue better.

Muszę przyznać, że doceniłem zagrywkę. „Róbcie jak chcecie, ale jeżeli wiecie, co robicie, to zajmiecie się tematem, prawda?”. Postanowiłem dopytać, czym jest ten Net Brand. Domeny? Marki? Proszę powiedzieć, nie mogę iść do Starszyzny z pustymi rękami.

Odpisano mi niemal natychmiast:

They wants to register “fuse” net brand and following domain names:

fuse.my
fuse.ae
fuse.com.my
fuse.sg

Ojej, ale jak to „fuse”? Przecież pierwszy e-mail dotyczył marki „bronikowski”. Wytłuściłem moje wątpliwości, zaznaczając, że początkowo korespondencja dotyczyła innej marki i pytając, czy ma to jakiś związek z faktem, że piszę z innego adresu e-mail? Mój chiński rozmówca nawet nie mrugnął okiem i odpisał:

Yes,plus the “bronikowski” net brand and following domain names:

bronikowski.asia
bronikowski.cn
bronikowski.co.in
bronikowski.com.cn
bronikowski.com.hk
bronikowski.com.tw
bronikowski.hk
bronikowski.in
bronikowski.net.cn
bronikowski.org.cn
bronikowski.tw

Pokiwałem głową i zachwyciłem się kompleksową obsługą. Potwierdziłem, że mam już klucz do skarbca i poprosiłem o wycenę ww. domen. Dopytałem też, czy przypadkiem podstępni piraci marek internetowych nie zaczaili się na AntyWeb. Dmucham na zimne.

Nie uwierzycie w moje szczęście: AntyWeb też był do przejęcia. No, w takim razie nie pozostało mi nic innego, jak uratować siebie i polski Internet! Tylko nie mam specjalnie pieniędzy na przelewy. Przeprosiłem i dodałem, że jeżeli przyjmą srebro, które mój pradziad ukradł żydowskim 1 rodzinom, to z pewnością się jakoś dogadamy.

Do tej pory nie otrzymałem odpowiedzi z adresem, gdzie mam przesłać monety. Wygląda na to, że moja przyszłość na rynku chińskiego blogerstwa została przekreślona.

  1. nie, ale historia równie wiarygodna jak firmy polujące na bronikowski