erdgeist is a Berlin based freelance and open source developer and political activist. Feel free to stroll around in the public parts of his brain.

Contact

Write an email to erdgeist@erdgeist.org preferredly PGP encrypted, the key, fingerprint: 68D0 5298 6E09 BF62 94B8 4DD0 B8DD 7017 2A6C 30D3. Reach me via Jabber at xmpp:erdgeist@erdgeist.org, where my OTR fingerprint is 7A4BC16B 479D4D10 EAC30B3B B52FD269 ADF818E3.

Follow @erdgeist on Twitter. Listen to the OHM podcast with monoxyd and CCC's monthly radio show Chaosradio. Look out for contributions to Die Datenschleuder and www.ccc.de, sporadically also on Frühstücksblog. Get the book 1984.exe.

Software projects

opentracker is a highly scalable tracker software for the bittorrent protocol, currently in use on the largest bulk trackers around.

ezjail is a jail management framework for the FreeBSD operating system, aiming to aid in setting up und updating virtual FreeBSD instances.

jaildaemon is a tool for the FreeBSD operating system to allow flexible and secure communication from jail environments to the host system.

minimunin is a tiny munin-node implementation for FreeBSD written in pure bourne shell providing basic plugin support.

elektropost is an ongoing mail server and webmail frontend project, documented to be set up on a FreeBSD jail and instanced on elektropost.org.

el is a unix tool aiding the Telefonbuch project for export and search queries.

anonbox is a web service to generate and maintain throw away email addresses, instanced on anonbox.net, including a javascript implementation of a unicode capable mbox-to-html renderer.

Telefonbuch is a project to quickly dump a certain kind of digital phone books.

vchat-client is a curses based chat client for the arcane vchat protocol.

briefkasten is a web service to anonymously submit messages via the web generating PGP mails and is instanced on the zeit-online briefkasten.

timestretch is a fast implementation for SOLA, a sample time stretching algorithm.

etherpad is a documentation project on how to setup the classic etherpad software in a FreeBSD jail.

Unless state otherwise, the software is released under beerware license. Some project's documentation is not yet migrated. You can also browse around my gitweb.

Blog

  • Ergebnisse für Sie maßgeschneidert

    Im Rahmen des Symposiums "Nähe auf Distanz" des Fachbereichs Kultur an der Uni Hamburg werde ich am 14. Juni zur Wirkmacht politischer Bilder im Internet einen Vortrag mit dem Titel "Ergebnisse für Sie maßgeschneidert" halten. Abstract und Konklusio gibt es hier.

    Abstract

    Die schiere Masse von Informationen, die inzwischen an allen Enden der Welt verteilt ist und für uns mit einem Klick auffindbar wäre, ist lediglich von unserem kulturellen Verständnisvermögen begrenzt. Um uns nur “relevante” Ergebnisse auf der Suche nach Nachrichten, Bildern, Videos und Webseiten auf den Rechner zu holen, benutzen wir vertraute Portale und Suchindexe, die ein Modell von genau unserem kulturellen Wohlfühlhorizont haben und deren Serviervorschläge unseren major consensus narrative nicht verletzen. Diese Filterdienste unterliegen jedoch eigenen marktwirtschaftlichen, politischen und juristischen Sachzwängen, die nicht immer im Sinne des Informationssuchenden sind.

    Für einen Zugang zu unvertrauten kulturellen Textquellen und zum Einordnen der Informationen benötigen wir einen kontextgebenden Vermittler – allein schon bei der Übersetzung. Klassisch übernahmen Korrespondenten institutionalisierter Nachrichtenformate diese Aufgabe und traten dabei auch mitsamt ihrer Reputation in den Vordergrund.

    Seit der ubiquitären weltweiten Durchdringung mit erschwinglichen Kameras ist das Bild als authentisches Medium ins Zentrum der Wahrnehmung anderer Regionen getreten. Längst haben sich Gruppen wie Anonymous und ISIS durch die gegenseitige Allverfügbarkeit von Informationen über unsere Bildersprache, Hollywoodfilmen und Nachrichtennetzwerken an unsere Medienkonsumgewohnheiten angepasst. Sie kennen und bedienen die narrativen Rituale, mit denen wir zu erreichen sind und benutzen das Modell, ihre Botschaften zu vermitteln. Die technischen Mittel stehen selbst Laien zur Verfügung.

    Das Korrektiv dieses Vermittlers – dessen Auswahl zuletzt ohnehin schon aus Bildungs-, Kaufkraft- und Technologieaffinitätsgründen nicht unbefangen geschah – tritt durch den Schritt hinter die Kamera zurück und wird durch die Neutralität suggerierende Kraft des Bilds zum potentiellen Manipulator. Doch selbst ohne bewusste Beeinflussung des Bildinhalts durch den Mittler repräsentiert in Zeiten automatischer Bildoptimierung, -selektion und -rekomposition keine digitale Fotografie mehr die Realität. Bilder erreichen uns direkter und erlauben, uns emotional zu vereinnahmen und deren Konsum wiederum beeinflusst unsere Wahrnehmung von der Welt und im Zirkelschluss das Modell, das unsere selbstgewählten Filter von uns haben.

    Konklusio

    Die Transparenz erzeugende Kraft des Internets hat eine Krise der Institutionen verursacht, die auch die tradierten Rituale der Nachrichtenvermittlung erfasst hat. Doch ohne ein Reputationssystem bleibt die Kontextualisierung, Übersetzung und Plausibilitätsprüfung von Datenfetzen an jedem Einzelnen hängen.

    Bilder im Internet suggerieren dabei momentan noch notorisch Neutralität und Authentizität, treffen direkt emotionale Nerven und machen uns anfällig, auf Manipulationen hereinzufallen. Meine Hoffnung ist, dass sich nach einem Sortierungsprozess neue Arten von Reputationsdelegation herauskristallisieren.

  • Little big data

    Ein Geheimdienst im 21. Jahrhundert, der was auf sich hält, muss Big Data machen: Möglichst alles über alle Bürger sammeln, horten, sortieren, filtern, rastern und ja niemandem was von den Ergebnissen mitteilen. Da hab ich mir gedacht: Das kann ich auch! Daher mache ich für meinen eigenen Kurznachrichtendienst eben in Little Big Data.

    Praktischerweise stellt die Deutsche Telekom im Halbjahrestakt eine digitale Offlinedatenbank bereit, die schonmal Adressen, Telefonnummern und Geokoordinaten der meisten Einwohner enthält - und das seit 1992. Einzige Nachlässigkeit: Die Informationen sind in binärer Form auf den Datenträgern abgelegt und die Gewissenhaftigkeit der Informanten im Post- und Telekomdienst lässt ausweislich offensichtlicher Fehler in den Datensätzen zu wünschen übrig.

    Von meiner Sammelleidenschaft habe ich ja bereits ausgiebig berichtet. Vor sieben Jahren war ich der festen Meinung, ich hätte alle Telefonbuch-CDs zusammen und mein Code würde alle verfügbaren Daten aus den Binärwust der Datenspender extrahieren. Doch plötzliche Funde von verschollen geglaubten Ausgaben mit noch exotischeren Formaten und die bei näherem Nachschauen auftretenden syntaktischen und semantischen Probleme in den Daten haben einen zweiten Anlauf der Pflege nötig gemacht.

    Begleitet mich nun am Dienstag, dem 9. Juni 2015 ab achte im Chaos Computer Club Berlin beim Datengarten 53 in einem besinnlichen Diaabend bei Geschichten einer abenteuerlichen Jagd nach den Datensätzen, von nervenaufreibendem Starren auf Binärmuster, um den Geheimnissen der Encraption auf den Grund zu gehen und dem überwältigenden Gefühl, mal an Datenmengen zu schnuppern, die noch vor ein paar Jahren problemlos als “Big Data” durchgegangen wären.

  • Weltreisetips

    Neulich wurde ich von Freunden gefragt, ob ich ihnen ein paar Reisetips für eine Rucksack-Tour um die Welt geben kann. Eventuell findet ihn ja noch irgendjemand nützlich, wenn er seine Reisepläne auf Plausibilität checken möchte.

    Kohle

    Auch wenn Ihr ein Jahr lang weg seid, gibt es Verpflichtungen zu hause, die ins Reisebudget schneiden. Es ist wichtig, sich das vorher auszurechnen, um am Ende nicht von überraschenden Geldlecks zur Rückkehr gezwungen zu werden: Miete, Versicherungen (Kranken-, Auto-, Haftpflicht, etc.), Telefonieverträge, Bausparkram. Gern verpeilt werden Betriebskostennachzahlungen, eventuelle Steuerüberraschungen, Kreditkarten- und Kontoführungsgebühren. Macht Euch einen präzisen Plan der unvermeidlichen Ausgaben, wenn Ihr zum Mietesparen Eure Wohnungen/Zimmer untervermietet, vorher checken, ob Untervermietung klargeht und dem Vermieter bescheidgeben. Rechnet das auch für den Ernstfall durch, dass der Untermieter rumspinnt, früher auszieht, etc.

    In unterschiedlichen Gegenden der Welt verbrennt man unterschiedlich schnell Kohle. Ich habe in Japan in einer Woche mehr auf den Kopf gehauen, als in Südamerika in zwei Monaten. Man _kann_ “on a shoe string” weltreisen, die einschlägigen Reiseführer sagen einem auch, mit wieviel Kohle man pro Tag Reise rechnen muss und das geht bei US$25 in Ländern wie Bolivien und Vietnam los, wenn man Dorms in den Hostels nimmt. Zum Vergleich: Für Deutschland werden so US$55 angesagt. Das sind so Richtwerte für Unterkunft, Mampf, Party, lokalen Transport und Sightseeing. Damit kann man schon mal grob die Kosten für’s Jahr abschätzen. Unter 10.000 Euro pro Jahr wegzukommen, ist unrealistisch. (Man kann aber unterwegs was dazuverdienen.)

    Dazu kommen natürlich Flüge, Fähren und Landtransporte. Geheimtip zum Kontinente wechseln sind Frachtschiffe, auf denen man günstige Überfahrten bekommt, die dauern aber zuweilen. Ansonsten sind Klassiker die round-the-world-Tickets, mit denen man zeitlich recht flexibel Regionen der Welt andüsen kann wie hier http://www.statravel.de/flug-around-the-world-beliebte-routen.htm oder das deutlich weniger zeitlich, dafür aber umso mehr örtlich flexible und zuweilen billigere Schnäppchensuchen bei skyscanner.com/opodo/expedia, um sich die einzelnen Routenteile zusammenzusuchen. Wenn ich dabei eins aus leidvoller Erfahrung empfehlen darf: Wenns irgendwie geht, reist westwärts, Euer Biorhythmus wirds Euch danken. Ich bin damals mit selber Klicken, um die um die Welt verteilten Freunde zu besuchen, mit 1800 Euro ostwärts rumgekommen. Ein wenig Reserve zu haben, um im Notfall einen Flug zur deutschen Botschaft zu organisieren, lässt entspannender reisen. Neben den großen Hops müsst ihr natürlich noch Rumreisen bis zum Weiterfliegen organisieren. In Südamerika ist z. B. Busfahren eine echt gut organisierte, sichere und saubere Option. Ich bin von Lima bis Sao Paolo auf dem Landweg.

    Dem Abfluss von Geld kann man mit Jobben entgegenwirken, was jedoch den Urlaubsspaß deutlich schmälert. Klassiker sind 2 Monate Kiwipflücken in Neuseeland (auf die Saison achten), in den Hostels an Bar, Putzfront oder Kasse auszuhelfen und deutschen oder englischen Sprachunterricht zu geben. Wenn Ihr nicht durch Zufall Kfz-Mechaniker seid oder sonst Fähigkeiten habt, die weltweit nützlich sind, solltet Ihr eher nicht damit rechnen, mehr als Hilfsarbeiten zu machen. Zudem gibts ordentlich Konkurrenz, auch aus Gegenden mit deutlich höherer Schmerztoleranz. Reiseführer zu konsultieren hilft ein bisschen.

    Für weltweit Kohle Ziehen holt Euch eine Kreditkarte bei der DKB.

    Route

    Wie oben schon angedeutet, ist Umrunden ne recht schlaue Option, achtet drauf, möglichst ähnliche Regionen nicht direkt hintereinander abzugrasen. Wenn man Neuseelands Sounds gesehen hat, sind die Anden weniger spannend, Mexiko Stadt und Buenos Aires direkt hintereinander ermüdet auch. Am besten ist, Temporawechsel einzubauen, sowas wie Kambodscha => Seoul => Bali => Auckland. Wenn ihr schon wisst, welche Regionen Ihr spannend findet, bucht Euch feste Flüge, wenn Ihr mal reinschnuppern und bei Bedarf doch wieder weiterrocken wollt, die roundtheworld-Tickets.

    Hier lohnt ins Detail zu gehen erst nach dem Vorfühlen, was Euch so reizt. Visums- und Impfnachweispflicht bei Einreise checken. Auswärtiges Amt hilft. Pass muss ich sicher nicht extra erwähnen.

    Reiseführer

    Die gängigen Führer (Lonely Planet, Rough Guide, Let’s Go, Bädicker ;) sprechen ganz unterschiedliche Zielgruppen an. Lest Euch testweise einen für Eure Heimatstadt und einen durch, wo Ihr Euch auskennt, um ein Gefühl für Akkuratesse der Informationen, Lebensgefühl der Autoren und Kompatibilität mit Euren Vorstellungen von Spaß zu bekommen. Ich für meinen Teil benutze die “Geheimtips” im Lonely Planet als Warnliste für Reisen.

    Wenn man in eine neue Stadt fährt, ist es praktisch, einen Anlaufpunkt (also ein Hostel) im mittleren Preissegment für eine Nacht zu buchen und von da aus alle anderen zu besuchen und bei Gefallen umzuziehen. Feilschen in Hostels ist meist nicht. Für diese Übersicht ist ein Papier-Reiseführer nützlich. Nach nem Internet-Cafe mit vollem Gepäck und gerädert von der Busfahrt zu suchen, ist unnötig stressig. Im Hostel gibts meist Internet.

    Wegwerfnotebook

    Mit einem gebrauchten Netbook für <100 Euro kann man sich viel Ärger und Internetcafegebühren sparen. Die Dinger sind inzwischen leicht und dünn und in fast allen Hostels und Cafes gibts Wifi. Damit muss man nicht drauf warten, bis die gelangweilten Wohlstandstouris auf den trojanerverseuchten Büchsen zuende-ge-facebooked haben, man kann Backups der Fotoapparate machen und schnell mal eben welche auf CD brennen und heimschicken und sorglos Onlinebanking machen.

    Ansonsten ist Musikabspielgerät unabdingbar. Busreisen ohne Musik auf den Ohren ist öde. Ans Netzteil denken.

    Reisegepäck

    Mehr als zwei Rucksäcke zu 20kg und max 10kg solltet Ihr nicht mitnehmen. Merinowolleklamotten rocken. Kann man im Wechsel auch mal mit zwei Shirts ne Woche klarkommen. In einigen Regionen der Welt verschwinden auch gern mal Dinge aus Fluggepäck, also nicht die unersetzlichen Lieblingssachen mitnehmen, sondern im Notfall vor Ort shoppen. Auch für Partybekleidung vorausschauend denken ;)

    Was Ihr sonst so braucht, hängt von der Art der Reise ab: Wenn Ihr nur von Hostel zu Hostel hopst, findet Ihr in den Küchen alles vor. Wenns ab und zu ein Abenteuer-Campingtrip sein soll, brauchts natürlich Outdoorgeschirr, etc. Man kann in den meisten Unterkünften auch Reisegepäck für längere Zeit parken, also die Stadtklamotten inna Plastetüte in den Gepäckraum, während man Wildnis guckt.

    Ansonsten bereitet Euch drauf vor, zu latschen wie noch nie, selbst wenn Ihr sonst gern und viel wandert: Beim Traveln ist man praktisch nur am irgendwo Rumlatschen und Dinge Angucken, wenn man nicht gerade seine Wirbelsäule im Bus ruiniert.

    Andere Traveller

    Übertriebener Pathos ist unter Rucksacktouris weit verbreitet. Ignoriert am besten alles was mit “You _HAVE_ to see XY” oder “If you haven’t seen XY, you’ve missed it all” anfängt. Die 18jährigen Amitouris sind leicht zu beeindrucken und meist haben sie nur ein paar zufällige positive Erlebnisse an einem Ort mitgenommen, die die Erinnerungen trüben, oder sie lügen gar und geben die Infos aus dem Lonely Planet als eigene Storys aus. Die ruhigen, meist etwas älteren Traveler in der Ecke, die Euch abgewogene Pros und Kontras von den Etappen ihrer Reise(n) aufzählen, sind verlässlichere Tippgeber.

    Wirklich gute Tipps gibts natürlich bei den Locals, sich einfach mal angenehm verirren und Leute in was anderem als Englisch anquatschen, wirkt Wunder (… wenn man nicht gerade in den Favelas von Rio spaziert. Aber auch da kanns angenehme Überraschungen geben: Townships in Südafrika sind herzlicher als man so denkt.)

    Sport

    Wenn mans nicht eh schon tut, ist so eine Reise eine Supergelegenheit, mit dem Schwimmen anzufangen. Kann man praktisch überall machen, der Rücken braucht das echt und braucht kein zusätzliches Gepäck, wie Joggen oder Ballsport.

    Frauendinge

    Guckt am besten für alle Ziele die Sektionen “Reisen als Frauen” durch. Nicht überall ist als einzelne Frau rumzureisen entspannt. Im Notfall schnappt Euch den am wenigsten aufdringlich aussehenden Hippietraveler mit dem gleichen nächsten Ziel zum Zusammenreisen. Quotenmännchen in der Reisegruppe spart Nerven.

  • Steueranachronismus

    Nachdem mir neulich schon das wundersame Relikt des Kirchgelds über den Wahrnehmungshorizont purzelte, mit dem sich die traurigen Reste des sich dem Laizismus wiedersetzenden Staatskirchentums ihre Pfründe auch von all denen zusammenschmarotzen, die auch nur das Leben mit einem Partner teilen, der seinen Kirchenaustritt nicht mehr belegen kann oder als EU-Bürger in Deutschland in bürokratische Hamsterräder verwickelt wird. Nach der Wende wurde arbeitslos gemeldeten Freunden gar die Kirchensteuer standardmäßig einbehalten mit dem Verweis darauf, dass eine präzise Nachforschung im Einzelfall zu hohen Aufwand bedeuten würde.

    Heute nun weist mich die Sparkasse in einem Kundenschreiben auf Folgendes hin

    Diese Information ist für Sie nur dann von Bedeutung, wenn sie einer
    Religionsgemeinschaft angehören, für die Kirchensteuer abgezogen wird.
    Sofern dies der Fall ist, führen wir für Kirchenmitglieder ab 2015 die
    Kirchensteuer auf Kapitalertragsteuer automatisch an das Finanzamt ab,
    sofern die Kapitalerträge oberhalb eines uns erteilten Freistellungsauf-
    trages liegen, spätestens also oberhalb des gesetzlichen Sparerpauschbe-
    trages (Ledige: 801 EUR, Zusammenveranlagte: 1602 EUR). Zur Vereinfachung
    fragen wir Ihre Religionszugehörigkeit jährlich beim Bundeszentralamt für
    Steuern (BZSt) ab.
    
    Möchten Sie nicht, dass das BZSt uns Ihre Religionszugehörigkeit ver-
    schlüsselt übermittelt, können Sie der Datenweitergabe bis zum 30.06. eines
    Jahres widersprechen (www.formulare-bfinv.de,"Kirchensteuer").
    

    Kann sich diese Sekte nicht einfach mal aus dem Leben Unbescholtener raushalten, solange diese sich nicht explizit bei denen melden? Ich zumindest will mit denen nichts zu tun haben und finde, in ihrer Geschichte haben sie genug Unheil angerichtet und könnten sich gefälligst in ihrer selbstpropagierten Demut üben. Danke.

  • Write the flogging manual

    More than thirteen years ago I set up my personal website. Proudly aligning everything with tables, hand writing HTML with pico vi, using "clever" apache server side includes to inherit styles from parent directories and making everything so artsy bordering unreadability. And while in the beginning writing in HTML seemed fun, in the end it became so tedious, that updating the blog came to a grinding halt (we're all not getting younger).

    So in order to be able to publish again, I needed something more seasonable, with a responsive theme and simple enough to last another thirteen years. But my site accumulated so much cruft others depended on, replacing the apache alone with something more modern seemed unfeasible. Yet, my rather static content would best be served as static files by a simple web server – using an insecure scripting language on top of a complex database setup was completely out of the question. I once went through the pain of setting up and maintaining a wordpress site for my dad, there's no need to repeat that agony for something I'd like to use on a daily basis.

    But all the projects out there that would allow me to generate a static site from a simple markup language, like blogofile or pelican too narrowly focussed on the use case they were born from – to generate a somewhat dynamic blog, with an optional static about page – this was not how I imagined my content to be assembled together. I wanted something richer, teasers for my blog posts on my front page, lists of all projects and songs, without the need to write my own code to do that. So – I made tomster write some code to accomplish that. However, after writing enough code to scratch his own itches, he left the code for good ;)

    scratching MY itch

    Enter nikola. After a good soul implemented custom post lists, I finally could describe what I imagined my site should look like in a markup language and not in code (although restructured text is not the simplest markup language). It would support bootstrap and bootswatch out of the box, solving all my skinning needs.

    I will not go into much details on how to get a nikola site running, there is an excellent nikola static page primer for that. From there I installed the cosmo bootswatch skin for its free and elegant font Source Sans Pro and its simple yet modern look. nikola bootswatch_theme cosmo and I'm done.

    After creating some pages and posts and giving them tags, a simple rst statement in my index.rst would be enough to list all those posts and render them via my custom template (although the default template will suffice for he sake of experiments):

    .. post-list::
      :all:
      :tags: project
      :template: list_projects.tmpl
      :id: projects
      :sort: prio
      :reverse:
    

    Note, that the sort parameter was only added in version 7.3.4. In the process of making the pages look good it took some tricks to use the full power of bootstrap. One is to add custom classes to whole sections inline in rst:

    .. class:: col-md-6 pull-left
    
    Software projects
    =================
    

    The other is to skin the hell out of the default bootswatch theme using my own css themes/erdgeist/assets/css/erdgeist.css and adding it to the bundles file inside the theme.

    short comings

    However, even nikola is not perfect. It uses a dependency system to figure out what to rebuild when content has changed. It will however not know in which order to render pages, so that includes like the blog post previews may be missing when the front page to show them is rendered. A work around is to set the date (in the meta fields) of any page that aggregates posts with the post-list directive to something very ancient, as the site is rendered in reverse timeline order, so the then newer posts will be there when you need them.

  • Hello world

    Colorizing countries I have visited and can remember :)

    This is just to demonstrate my new static blog and web engine nikola

    Pygal [Trip] Argentina: 1 [Urlaub] Austria: 1 [Trip] Australia: 1 [Urlaub] Belgium: 1 [Urlaub] Bolivia, Plurinational State of: 1 [Transit] Brazil: 1 [Urlaub] Canada: 1 [Trip] Switzerland: 1 [Transit] China: 1 [Trip] Cuba: 1 [Trip] Czech Republic: 1 [Urlaub] Denmark: 1 [Trip] Estonia: 1 [Urlaub] Egypt: 1 [Trip] Finland: 1 [Urlaub] France: 1 [Urlaub] United Kingdom: 1 [Urlaub] Greece: 1 [Urlaub] Croatia: 1 [Trip] Iceland: 1 [Trip] Italy: 1 [Urlaub] Japan: 1 [Urlaub] Liechtenstein: 1 [Urlaub] Lithuania: 1 [Urlaub] Latvia: 1 [Trip] Morocco: 1 [Trip] Netherlands: 1 [Trip] New Zealand: 1 [Urlaub] Oman: 1 [Urlaub] Peru: 1 [Trip] Poland: 1 [Urlaub] Portugal: 1 [Transit] Russian Federation: 1 [Trip] Rwanda: 1 [Trip] Sweden: 1 [Transit] Slovenia: 1 [Trip] Thailand: 1 [Urlaub] Tunisia: 1 [Urlaub] Turkey: 1 [Urlaub] United States: 1 TripTransitUrlaub
  • Using libressl

    I’ve been committing some code to the ressl project. I’ve found it worth to spend some time on that project that aims to make securing your communication more secure. But still people have some misconceptions about whether they can trust the new library and should make their code depend on libressl.

    I have prepared a simple FAQ for them:

    • Q: Should I base new code on the libressl API?
    • A: No.

    The reason is as simple as it gets. libressl was designed as a drop-in-replacement for openssl to protect the only asset openssl still has: an API that (even though it’s broken as hell) still is used widely. While they’re doing this, they try to do everything right that can be done right in a 201*-ish project.

    Thing is, openssl is not actually there to provide you with secure software, but to implement the “nobody ever has been fired for using openssl”-aspect of your average “crypto”-library. It’s – well it’s there and it has some FIPS certification. But let’s face it: the code is terrible, the “maintainers” haven’t done any maintenance besides reselling their FIPS-asset, the API is terrible, the cipher-defaults are terrible, the interfaces into certificate checking are next to unusable, the core functionally works hard to cloak their badness from any modern bug detection heuristics, covering most of their bugs, and openssl’s maintainers ignore bug reports, because fixing them would break their certification, hurting their business of selling FIPS-consultancy.

    Now, the OpenBSD guys were facing a tough challenge: write just another SSL library with a sane API that no one is going to use, or clean up the library that is de-facto standard and hard to rip out of each and every tool that tries to connect to the interwebs securely.

    Most users of the openssl library come there, because they stumbled across transport security as an afterthought. Maybe because it’s been another tick on their compliance chart, or because they’ve seen the passwords flowing through their wireshark window – throw some crypto on it, they thought. What they need to realize is, that they actually need three separate libraries in the first place – which openssl conveniently layer-violates into one (and even adds dangerous cruft like kerberos):

    a secure and sanely configured certificate exchange-, parser- and checker- library, a library of sane (and BY DEFAULT SECURE) crypto primitives that can apply ciphers on a data stream, a set of standard conforming heuristics that will (re-)negotiate cipher suites based on 1) and the availability of ciphers from 2) openssl fails in every single aspect of this. 99,999 percent of users nowadays do use openssl to secure their socket-based communication on servers or clients talking with each other via TCP. The whole BIO abstraction provided by openssl is wasted on them. The stack-like approach to look at “chains” of certificates falls short on modern setups with several expired and unexpired certs of the same CA in a single key store. You still can – as a MITM – trick most openssl setups into using null ciphers or weak algorithms. Checking CRLs still is a black art done right by no one. openssl still implements each and every memory allocation level bug ever displayed on “software security 101” in your favorite university.

    Now I will – judging by the current progress – give ressl a year until they matured enough to acknowledge them having picked all low hanging fruit. Then OpenBSD can proudly (and rightfully) announce that software linked agains libressl on their (and other) platforms is much more secure than before. And after looking into the source code I also understand that fixing it while also inventing a saner API exceeds the OpenBSD team’s capacities. So I urge you to consider what exactly you need secured and what tools provide you exactly what.

    If you’re up to implementing secure communication between your app and your server or between your appliances, first check if you really need all the TLS features – like the whole set of X.509 features that openssl gives you (and if so, check back which license of the available TLS implementations could possible also suite your needs) – or if you can just go with a public domain library like NaCl and put a little thought into what cryptographic primitives it gives you and where you need it.

    Until then rest assured that securing your application is not just a case of linking in another unreviewed lib.

Playground

See the lecture about opentracker on 24C3 (slides), Wahlcomputer in Erlangen, Format String Exploits, see the interviews and TV show contributions (todo).

Skypixels are helium balloons lit by independent LED boards remote controlled by a NFR2401 controller.

GodMachine was an installation in the Dresden Museum of hygiene, allowing visitors to control the weather by gestures.

Laserharfe is a music instrument built together with friends. It converts hands moving in laser beams to MIDI signals and works on off the shelf electronics.

Some rather personal content, songs I wrote or recorded, some in my former band, Pumpanickle. Poetry I wrote. Recently into selecting or writing intros for podcasts alternativlos, turing galaxis, Frühstücksblog podcast, Neusprech, Fnord News Show and OHM podcast.