The “red book” and other bibles for hacker

In the movie Hackers (1995) was a famous scene, in which the computernerds are talking about books. They have given them special names like the “White book”, “Red book” and so on. A comprehensive list is available at From a library point of view, it is simply a bibliography of computerrelated printed books. The list is not very long, not more than 27 books are on the list, which can be subdivided in the following categories:

• programming languages: Lisp, Smalltalk, Perl, Smalltalk history, Smalltalk-88, Pascal, C, C new, C++
• misc: Hacker dictionary, AI
• graphic: OpenGL, OpenGL Programming,
• Postscript: Postscript, Postscript Language, Reference, Adobe Type1
• computer science: Automata theory, compiler, compiler-design, computerprograms
• Unix: UNIX books, UNIX interface, POSIX, Unix environment
• operating systems: IBM PC, trusted computer system

The similar featuure of all the books is, that they are containing knowledge about the computerhistory of the 1970-1990s. That means, knowledge about creating a free operating system from scratch. It starts with automata-theory and what a compiler is. The next step a concrete programming languages like Lisp and Smalltalk, then a bit Unix implementation and on top some computerpractice with Postscript, OpenGL and security. Overall it is a nice list, which contains carefully selected books from all major disciplines. Some of the books, for example about the Pascal programming language are outdated today, others for example about Postscript or Unix are very relevant.

The perhaps most important book on the list is not the purple book or the green book, it is a book which has no direct color and is referenced as “other bibles”. The name is “Artificial Intelligence: A Modern Approach by Russell and Norvig”. It is a special book, because it doesn’t fit into the above categories. AI is not a programming language, not an operating system and has nothing to do with compilers. To be onest, the Russel/Norvig book doesn’t really fit on the book list, instead it can be seen as an open question.

The hackers of the 1970s-1990s have made their homework in a sense, that they have read all the other book and programmed working software. All the books can be summarized to the Linux operating system. It is Unix compatible, it is opensource, contains compilers for all major languages, and it has even a postscript viewer integrated. What the old-school hackers and programmers didn’t have realized must do the next generation. That is Artificial Intelligence. It is a category, which the old hackers were aware of it. In the hackers dictionary the term is explained, and most programmer know what it is. But in general, AI is unexplored land. And even the Russel/Norvig book brings not really a deeper understanding of AI into the world, it is only an introdution, but not a reference manual.

The reason why AI is different from the classical hacker discplines like programming and Unix has to do with the number of literature which is needed for describing the subject. Classical Unix programming can be explained with a small amount of books. In the above list, around 20 books are mentioned, and in reality, 100 books are enough for explaining everything about programming in a high-level-language, make a compiler from scratch and write a Unix clone. But for AI, 100 books would be enough. That means, AI is more complex.

The way to AI

Let us investigate, which books from the list are useful for programming AI and robotics application. The first surprise is, that the Lisp book “Common Lisp: The Language by Guy Steele” is not very helpful in programming such things. Lisp was invented as an AI language, but the manual is focused on compiler development. That means, Lisp is a good language for meta-compiling and operating system development. The famous Emacs editor was written in it. But the Lisp book has no iinformation about AI. Other books are way more helpful, for example the smalltalk bible which explain what objectoriented programming is, and the book about opengl, because with opengl it is possible to draw robots on the screen for developing an interactive testbed for AI development. The most important is not surprising the book “Artificial Intelligence: A Modern Approach” which gives a first introduction to the subject. The bad news is, that the book failed. It is not a reference manual, it is more a bibliography to find other information from a special subject. That means, if somebody is interested in neural network, he finds at the end of the book with a bit luck additional material which explains the topic. The book itself can’t do it. Because it has only 1200 pages, which is equal to 600 DIN A4 pages, which is equal to 60 shorts papers which were uploaded to Arxiv.

And here is the answer, what the real bible for AI researcher is. It is not a special book, but a preprint server which hosts million of papers. It has nothing to do hacking or systemprogramming, instead reading a complete preprint server is similar to studying a subject in depth.

Hacking AI

In computer history, the term “Hacking” means to become familiar with the hacking books. That means to get an expert in compilers, UNIX, computer security and Postscript. The term hacking can be transferred to the subject AI. But what is the baseline there? What is the company or the book which has to be hacked? At first, AI can be recognized as information which is written down in academic papers about AI. I would guess, that around 10 million AI-related papers were written today. And 100% of them are published by publishing companies like Elsevier, Springer and so forth. AI Hacking means, to read the papers, understand it and perhaps become an publisher for its own.

The hero in AI hacking is Google Scholar, there is no doubt, because they have build a search engine for retrieving information already out there. I would call AI a topic from computer science, because programming and compiler-design is only a small part of it. At first, AI is a section in a library, which means it is a science written down in papers. Writing papers, and reading papers is primary task of AI researchers and AI hackers. AI can be compared with classical hacking, only with more information. The classical UNIX systemprogrammer needs not more than 100 books. This was enough to become an expert in C++ and Unix. The classical AI hacker needs million of papers, otherwise he is not familiar with important subject in the field.

Let us investigate the intersection between UNIX hacking and AI hacking in detail. If the Unix hacker was successful, he has programmed an operating system for himself, or at least some parts of it. Eric S. Raymond, Dennis Ritchie, Bjarne Stroustrup and Linus Torvalds are typical examples. If they have made their homework, a normal PC boots a Linux system until the GUI, and all user programs like the compiler, texteditor and graphics programs are ready. A Unix system programmer was successful, if the operating system is hardened against malware, has no major bugs, and gives the user what he needs. If the Unix operating system works, the systemprogrammer is out of the loop. It is up to the user, to do something interesting with it. The systemprogrammer only provides the compiler, the programming language, the GUI and the Postscript definition.

A working operating system can be seen as the intersection between Unix hackers and AI hackers. A bugfree OS is the result of what Unix hackers have done, and the startpoint for AI programmers. Now, let us observe the situation from AI programmers point of view. He powers up the computer, and gets a working environment. It has a highlevel texteditor which can output LaTeX, it contains of a objectoriented programming language which is compiled to fast machine code, and the software which is created runs under every POSIX operating system. And now, it is up to the AI hacker, to make something useful of it.

Today, this is unexplored land. It is unclear how to use C++ for programming a robot, or how to use a texteditor for writing an impressive paper about AI. There is a need for new generation of hackers, which are focussed entirely on the AI. That means, the classical problems like programming a compiler, inventing a programming language or program a multitasking operating system are done by the above mentioned heroes of the past. The wheel can’t be invented twice. New hackers must play on a different court.

Book count

Suppose, that one printed book is equal to 10 written papers. From the area of AI and robotics, around 10 million papers are available at Google Scholar. Printing them out would result into 1 million books. In comparison, the hackers dictionary is referencing to 25 important books about programming and Unix, while a AI hacker must have read around 1 million books.

Hardware vs Software vs. AI

Software developers see themself as independent from hardware developer. That means, they are not interested in how a CPU works, or what graphicscard a PC has. Instead the idea is to use the current hardware for doing something with it. The next step is to separate between software development, which has to do with operating systems, system administration, compilers and programminglanguages and on the other hand we have Artificial Intelligence. That means, an AI Engineer is not interested in a specific programming langauge or operating system. He is focussed on the algorithm itself and the paper which described him.

Even AI engineers are software developers too, both groups have not much in common. The normal software developer are interested in programming a computer. That means, they want to try out what a machine can do. For example, they want to print a character on the screen, or they want to write a mouse driver. From AI perspective this activities are not very interesting. Because apart from programming a computer, the focus is in developing autonomous systems.


Is Windows dead?

It may be a bit surprising to speculate about the question, if Windows is dead, because the market share on the desktop is around 95%, while Linux only has a marketshare of 1%. That means, MS-Windows is installed on billion of PCs worldwide. But from a technological perspective Windows is dead. We should compare the Windows operating system with the Playstation gaming console. The playstation 4 was sold more than 100 million times, the same is true for the playstation 3, and the customer has loved the system. The problem with playstation is, that it is like Windows a proprietary and closed system which means it is not possible to write software for it, or even run a playstation emulator in Linux. And the same problem has Windows too. It is impossible to boot the system in qemu and it is also impossible to write software for the target platform. In theory, Microsoft is providing some tools for doing so, for example the Visual Studio IDE, but in reality only certified programmer have access to it. It is the same procedure like in the Nintendo world, in which not everybody can write a program for the system.

Let us compare Windows with another non-linux system, for example with Minix. Minix is not the best system if somebody wants to run a program. But in contrast tot MS-Windows it runs very well in an emulator, and it is possible to write software for it. So from a technical point of view, Minix is superior to MS-Windows. This statement may be surprising because Minix is sometimes called dead and the users worldwide is very limited. But the ecosystem behind Minix is stable, while the ecosystem behind Windows is not.

Some hackers have fun with porting software to closed operating system. For example, they are able to run a program on WIndows or on the Playstation console even without beeing a certified programmer. But this is always illegal, that means it is not recommanded to use this technique everyday for professional software development. So the question is: is it possible to port legal software to MS-Windows? It is not possible. Because, the user isn’t allowed to booting Windows in qemu. The same is true if he wants to compile a hello world program for the platform, because for doing so he must first reverse engineering the GUI-api, otherwise his software will not run.

If we take software development serious, it is from technical and legal reasons not possible to program software for the WIndows operating system. So, this a sign, that the ecosystem is dead like the Playstation 4. Dead means not, the number of users is small or that the number of sales is low, dead means that MS-Windows is a legacy system which is not relevant for programmers.

Let us take a look at the original Gameboy from Nintendo. The device itself was nice. Many cool games were programmed for it. But from todays perspective the system is legacy hardware. That means, it is not supported by Nintendo and it is not possible to write software for it. The gameboy can be compared with a Windows 10 PC. It is a nice platform, but it was not designed that anybody can write software for it. Oh yes, in theory it is possible to create a super-game for Windows which has 3d graphics and lots of enemies. This game would perhaps run smoothly and some customers will buy it. But what comes after the game? Right, the platform itself was designed as blackbox, that means the game will get no further support, and it is not possible to find anybody who want’s to improve the game.

I wouldn’t call MS-Windows an operating system, it is more a gaming-console for running licensed cartridges. The main problem is, that this design-issue can’t be overcome with a new version. In the next iteration of Windows 11, 12, 13 the problem will be the same. So every new Windows version will look like the MS-Windows 3.11 plattform which has many users in the past, but it is a dead end. It is too difficult to crosscompiling software for it.

In the past, some efforts were undertaken for example Java and C# to make software more cross-compiler friendly. But the problem is not the programming language. C++ is a very good language, which runs on every system. The problem is the target platform itself. That means it is possible to build with C++ a minix application, but it is impossible to port this app to MS-Windows or the Gameboy.

Even Minix, which has no graphical user interface, is better suited for developing software or running apps than Windows. This has nothing to do with the number of users a system has or how powerful the operating system is. for example Minix is not able to speak with large harddrives. Instead it is a question how open the technology is. In a sense, that other people can improve it.

From all Opensource system, Linux is currently the most developed system. But for a Windows-PC it would be big improvement if the user is replacing it with a barebone Minix system. Because this results into a target platform which is more suited to run external programs.

SymbOS — ein Verriss

Ausnahmsweise nicht Heise Online sondern diesmal das Portal Golem hat die aktuelle Vintage Computer Festival Ausstellung besucht in der Beschreibung unter dem 2 Minuten Clip wurde auf ein bemerkenswertes Projekt verwiesen: SymbOS. Es handelt sich dabei um ein Betriebssystem für den MSX Heimcomputer was ähnlich wie MenuetOS komplett in Assembler geschrieben wurde. Auf der Projektseite kann man im Bereich “System library” einen Blick in den Assembly-Sourcecode werfen. Ebenfalls gibt es dort eine umfangreiche Doku. Vielleicht mögen jetzt Einsteiger sagen: Das ist aber mal ein cooles Projekt, doch ich betrachte das ganze etwas kritischer. Es gibt relativ viele solcher Hobbyprojekte wo Programmierer mit zuviel Zeit auf die Idee kommen, doch endlich mal Software für Computer-Oldies zu entwickeln. Mit Symbos gibt es jedoch mehrere Probleme. Zum einen fehlt es an einem C Compiler. Das heißt, will man für dieses System eigene Programme schreiben muss man wie das Betriebssystem selber alles in Assembler schreiben. Und zweitens ist die Hardware (MSX) inzwischen nur noch auf Flohmärkten oder als Emulator erhältlich. Das treibt die Projektkosten in astronomischen Höhen. Rein technisch kann man unter SymbOS vermutlich Texte schreiben, im Internet surfen und vielleicht programmiert noch jemand eine ERP-Software wie SAP R/3 für das System. Rein praktisch jedoch wird genau das nicht passieren. Weil wie gesagt, technisch ist das System extrem hochentwickeln, aber die Projektkosten … Hilfe. Es hat schon seine guten Gründen warum die Homecomputer aus den 1980’er heute in Musueen stehen und nicht mehr in Firmen verwendet werden. Rein funktional sind es natürlich vollausgestatte turing-mächtige Supercomputer, auf denen sich mit geschickter Programmierung jedes Problem lösen lässt. Insbesondere Probleme der Robotik und Künstlichen Intelligenz. Ich wage mal die These dass man sogar ROS auf 1 MB RAM bequem laufen lassen könnte, wenn man es vorher nach Assembly portiert und auf das nötigste reduziert. Das Problem ist ein anderes: Software wird von Menschen programmiert, und die sind teuer und arbeiten langsam. SymbOS ist vermutlich das teuerste Betriebssystem was jemals entwickelt wurde. Das heißt, der Aufwand und der Nutzen gehen massiv auseinander. Insofern ist es auch nicht minimalistisch wie man angesichts eines MSX Computer vielleicht denken mag, sondern ich wage mal die These dass SymbOS selbst für einen Großkonzern wie Microsoft den Kostenrahmen sprengen würde. Indem Sinne dass wenn man Microsoft sich entschließt auf diese Plattform zu wechseln, es binnen 12 Monate pleite wäre.

Das ganze ist kein Betriebssystem sondern es ist ein Kostengrab. Es wird lediglich von Systemen getoppt die noch aufwendiger sind. Immerhin ist Assembly Languge für den Z80 noch halbwegs weit verbreitet, Wer es noch aufwendiger mag der ist dem Hive Projekt gut bedient, Diesmal wird die Hardware komplett selbst entwickelt und als Programmiersprache läuft ontop dann ein Forth System. Wie man vielleicht schon ahnt, erhöht das die Kosten weiter, weil man auf einer Stackmachine garantiert keinen C-Compiler laufen lassen kann. Anders gesagt, ich würde mal grob schätzen dass selbst ein Apple MacPro mit 12 Terabyte RAM billiger kommt, als wenn man den obigen Hive Computer baut.

Richard Stallman hat keine Ahnung von Bitcoins

In dem obigen Video erläutert Richard Stallman die Vorteile von Bitcoin, so führt er an, dass man damit Geld überweisen könnte und man sich unabhängig machen könnte von großen Konzernen. Diese Pro-Bitcoin Attitüde lässt darauf schließen, dass Stallman das Prinzip noch nicht wirklich verstanden hat, und nur das nachplappert was auf seinem Teleprompter steht. Die Wahrheit ist, dass Bitcoin keine Vorteile hat. Es handelt sich um Teufelswerk, was erfunden wurde, um die Menschen zu versklaven. Man kann damit auch kein Geld überweisen, sondern man kann lediglich Betrügern auf den Leim gehen, die sowas in Aussicht stellen. Bitcoin ist darüberhinaus verantwortlich für schwere Wirtschaftskrisen wie sie derzeit in Venezuela passieren. Dort hat Bitcoin dafür gesorgt, dass die Inflationsrate des Landes extrem gestiegen ist und es zu Arbeitslosigkeit und Massenarmut gekommen ist. Bitcoin ist ein Krisenphänomen das immer dort Fuß fassen kann, wo die Menschen kein Vertrauen mehr haben und wo ein Krieg unmittelbar bevorsteht. Bitcoin zu loben ist so ähnlich als würde man die Pest loben.

Hier findet sich ein sehr viel sachlicher Bericht über Bitcoin. Darin wird das P2P-Geld als das gefährlichste Projekt seit langem bezeichnet, was dazu führt, dass komplette Staaten ruiniert werden. Die beste Methode wie man mit Bitcoin umgehen kann ist es, die Teilnehmer zu kriminalisieren und jeder der auch nur einen Satoshi über die Blockchain sendet für Jahre in den Knast zu stecken. Auch Pro-Bitcoin Propaganda sollte man als Hate-Speech werten. Wichtig ist vor allem, dass man Unternehmen fertigmacht die Bitcoin heute schon einsetzen. Der Lebensmittelhändler REWE bietet beispielsweise Bitcoin als Zahlungsmittel an. Das wäre ein guter Grund wenn man da mal die Steuerprüfung vorbeischickt.

Generell gilt es zu unterscheiden zwischen nützlicher Technologie wie Paypall, was seriöse Online-Händler nutzen um den Zahlungsverkehr abzuwickeln und illegalem Geld wie Bitcoin, was ausschließlich von Kriminellen verwendet wird um Geld zu waschen. Bei Paypall wie auch beim Online-Banking was immer mehr Banken ihren Kunden anbieten handelt es sich um eine sichere Technologie die aus rechtlicher Sicht ohne Beanstandung ist und für den Verbraucher Vorteile bringt. Auch für Unternehmen bieten Paypall und SEPA Überweisungen einen bedeutenden Effizienzgewinn weil das Geld erstens sehr schnell übertragen wird und zweitens das Abtippen von Einzahlungsbelegen entfällt. Bitcoin jedoch ist kein weiterentwickeltes Paypal oder eine neue Art zu bezahlen sondern Bitcoin ist illegal. Dass es heute im Darknet eingesetzt wird, ist schlimm genug, im normalen Geschäftsverkehr hat es nichts verloren. Wenn in einer Stadt wie Wien ein Bitcoin Automat aufgestellt wird, so handelt es sich nicht etwa um die moderne Form des Geldverkehrs sondern es handelt sich um Staatsversagen. Die Wiener Polizei ist entweder schlecht ausgebildet, hat zuwenig Personal oder hat die Gefahr nicht erkannt, die von Kriminellen ausgeht.

Die neueste Entwicklung in Sachen seriöses aber innovatives Zahlungsmittel ist Paypall Cash. Es handelt sich um eine Smartphone App mit der man im Supermarkt bezahlen kann. Dort wird ein QR Code verwendet um die Transaktion auszuführen. Sowohl für Unternehmen als auch für Verbraucher ist das eine nützliche Technologie, die man benkenlos empfehlen kann. Es ist eine weitere Zahlungsmöglichkeit unter vielen.

Was jedoch ein No-go ist, dass sind Bitcoin Apps die auf einem Smartphone installiert werden um ebenfalls via QR Code zu bezahlen. Auf den ersten Blick ist der vorgang derselbe, doch Bitcoin ist eben kein Geld sondern es ist illegal. Jedes Unternehmen das sowas anbietet sollte man ins Gefängnis stecken und Verbraucher sollte man aufklären, über die Nachteile.

Auch bei Paypall tummeln sich schwarze Schafe. Beispielsweise wenn ein Händler bei ebay eine bereits geöffnete Verpackung versendet oder überhaupt nicht verschickt, das Geld aber einbehält. Das sind dann Fälle für das Beschwerdemanagement. Grundsätzlich ist Paypal jedoch der richtige Weg. Bei Bitcoin hingegen ist jede Transaktion ein Fail. Das heißt, Bitcoin an sich ist falsch, mit Bitcoin kann man keine seriösen Geschäfte ausführen.

Gegen Bitcoin vorgehen aber wie?

Grundsätzlich ist Bitcoin illegal. Damit ist gemeint, dass es anders als Paypall oder Online-Banking kein reguläres Geld ist sondern automatisch ein Fall für den Staatsanwalt darstellt. Paypall ist grundsätzlich legal, man kann jedoch mit Paypal auch illegales machen. Bitcoin ist immer illegal ohne Ausnahme. Die Frage ist jetzt wie Staaten gegen Bitcoin effektiv vorgehen können. Pro-Bitcoin Reden als Hatespeech einzustufen wäre eine Möglichkeit. Das heißt, Anleitungen in denen dazu aufgerufen wird Bitcoin zu verwenden, können als staatsgefährdende Indoktrination interpretiert werden. Das Problem besteht darin, dass bei den hohen Internationalen Standards und insbesondere weil Bitcoin auch in wissenschaftlichen Veröffentlichungen thematisiert wird, es so einfach nicht geht. Auch ist es schwer jemanden zu bestrafen, weil er sich einen Bitcoin Client auf sein Handy herunterlädt, weil das an sich noch nicht illegal ist. Dennoch gibt es eine Methode wie man gegen Bitcoin vorgehen kann, und zwar verurteilt man die Leute nicht direkt weil sie Bitcoin einsetzen sondern verurteilt sie wegen Taten, die damit in Zusammenhang stehen. Das heißt, den Lebensmittelkonzern REWE wird man nicht deswegen vor ein Gericht stellen können, weil sie Bitcoin als Zahlungsmittel akzeptieren sondern man muss nach etwas anderem suchen. Also nicht abgeführte Steuern, nicht ausgezahlte Sozialleistungen, abgelaufenes Haltbarkeitsdatum bei Frischeprodukten oder ähnliches. Die Stoßrichtung sollte jeodch unmissverständlich sein, und zwar dass jeder der sich mit Bitcoin einlässt sich einem Verfolgungsdruck aussetzt. Nur so wird man das Problem gelöst bekommen.

Die einzige Nachricht die erstrebenswert lautet, wenn irgendwo auf der Welt Bitcoin-Betrüger festgenommen wurden. Bitcoin-Kriminielle unschädlich gemacht wurden, oder ein Bitcoin-Ring aufgeflogen ist. Dann hat die Polizei hervorragende Arbeit geleistet und die Sicherheit im Land wiederhergestellt.

Hier das Pressestatement des Bundesverband digtale Wirtschaft in dem eindringlich von Bitcoin abgeraten wird:

Volle Zustimmung auch für folgendes Statement:

“Auch in Zukunft werden einzelne, zersetzende Kräfte immer wieder ihr Interesse bekunden, eine eigene neue Währung losgelöst von staatlicher Kontrolle zu schaffen.”

Damit wurde die Sachlage ganz gut beschrieben und die Notwendigkeit zum staatlichen Handeln herausgearbeitet. Bitcoin ist eine zersetzende Kraft, gegen die man mit rechtsstaatlichen Mitteln vorgehen muss.

Yubikey, was ist das?

Yubikey ist nach meiner Recherche ein kommerzielles Produkt was die Passwortsicherheit erhöhen soll. Wenn ich das Prinzip richtig verstanden habe, handelt es sich um Public-Key-Kryptographie die in Hardware one-time-passworte erzeugt. Das Prinzip ist vergleichbar wie bei SSH wo man den privaten Schlüssel auf seinem Rechner speichert, und den öffentlichen Schlüssel auf der Gegenseite hinterlegt. Wenn jetzt der öffentliche Schlüssel entwendet wird, bleibt das System trotzdem noch sicher. Beim Yubikey wurde das ganze zusätzlich noch in Hardware realisiert.

Wenn man dem Hersteller glauben schenken will, wird hier am ganz großen Rad gedreht. Im Grunde sollen alle Dienste auf Yubikey umgestellt werden. Das betrifft:

– Anmeldung bei Linux
– SSH Verbindungen
– E-Mail Passworte
– Verschlüsselung wie PGP
– Anmeldung bei Online-Diensten wie dropbox und github
– VPN Verbindungen

Eine Demo gibt es auf Dort wird unterschieden zwischen two factor und one-factor Authentifzierung. Bei der Two factor Authentifizierung wird Yubikey als Ergänzung zu einem vorhandenen Passwort genutzt, beim One-Factor kommt nur der Yubikey zum Einsatz und sonst gar nichts. Ist das grundsätzlich eine gute Idee? Meiner Meinung nach ja. Aktuell ist der Sicherheitsstandard für die meisten Nutzer so, dass sie halbwegs lange Passworte nutzen. Beim Yubikey ist das Passwort sehr viel länger und es wird ein öffentliches + privates Passwort verwendet. Dadurch steigt die Sicherheit signifikant an.

Natürlich kann man auch den Yubikey knacken. So ähnlich wie man heute auch SSH Anmeldungen hacken kann. Auch Public Key Kryptographie ist kein ultimativer Schutz. Aber, gegenüber einem simplen Passwort ist die Verwendung von Yubikey eine Sicherheitsverbesserung. Hinzu kommt, dass es den Anwender entlastet. Man könnte sich Passwortlisten schenken und stattdessen alles mit dem Key machen.

Am leichtesten lässt sich das Prinzip anhand der “Single-factor authentication”, das ist ein Verfahren was zwar nicht empfohlen wird, es macht jedoch deutlich wie es funktioniert. Bei Single Factor Authentification steckt man den Yubikey in den USB Port und fertig. Darüber meldet man sich beim jeweiligen Dienst an. Spannend wird es, wenn der Yubikey verloren geht oder ihn jemand klaut. Dann kann der andere sich damit ebenfalls einloggen, bzw. wenn er verloren geht kann man sich selber nicht mehr einloggen. soweit zur “Single Factor Autentification”. Um das Problem mit dem gestohlenen / verlorenen Stick zu entschärften gibt es jetzt allerhand erweiterungen. Diese werden als Two Factor authentification bezeichnet. Meist geht es darum, dass selbst bei Diebststahl der Angreifer sich noch nicht einloggen kann. Ebenfalls wichtig ist die Frage, wie man sein Passwort zurücksetzt, wenn der Yubikey verloren ging oder kaputt ist.

Bisher wurde weitestgehend ein Loblied auf den Yubikey eingestimmt. Es gibt jedoch eine Reihe von Kritikpunkten. Zunächst einmal kostet das gute Stück 50 US$, bei Amazon wird es derzeit mit 100 EUR angegeben. Das ist ziemlich teuer, nur um damit irgendwelche Accounts abzusichern. Zum Zweiten gibt es das Problem, dass die großen Anbieter wie Google, Amazon und github zwar Yubikey unterstützen aber nur in Kombination mit two factor Authentification. Das heißt konkret: der Anwender muss zunächst einmal seine Telefon-Nummer angeben, dann auf den Bestätigungscode warten und erst dann kann er den Yubikey einschieben. Im täglichen Betrieb muss der Anwender um in seinen Account zu gelangen dann folgendes tun:

1. Eingabe E-Mail Adresse
2. Eingabe Passwort
3. Bestätigung per SMS
4. Yubikey einstecken

Das heißt, die Dinge werden komplizierter als sie es ohnehin schon sind. Aber das größte Problem ist wohl, dass für die wirklich wichtigen Dinge der Yubikey nicht genutzt werden kann. Man kann damit weder Bitcoin absichern, noch seinen Bankaccount sichern. Weil dafür das gute Stück immernoch zu wenig Sicherheit besitzt. Ein wenig zynisch gesagt, ist der Yubikey einfach nur ein Zifferngenerator, so als wenn man auf der Tastatur irgendwelchen Unsinn eintippt. Es gaukelt Sicherheit vor wo keine da ist. Das heißt, der Endverbraucher gibt sich alle Mühe seinen Account zu sichern, wählt supersichere Passwörter und nutzt den Yubikey und auf der Gegenseite bei github hat der Root-Admin ein simples Passwort was die Hacker erraten und dann mit dem kompletten Datenbestand aus 10 Mio Accounts abhauen.

Schauen wir uns die Kosten dochmal etwas genauer an. Laut besitzt Youtube derzeit 1 Milliarde Nutzer, wenn sich jeder einen Yubikey für 50 US$ kauft um die Sicherheit zu erhöhen, wären das 50 Mrd US$. Wirklich sicherer wird dadurch gar nichts, weil das oben genannte Szenario das ein Angreifer bei Youtube die Server hackt ja trotzdem besteht. Dann dürfen die User trotzdem ihre Passwörter ändern, selbst wenn sie einen schicken USB Key besitzen. Ich will damit andeuten, dass das Konzept Yubikey sehr viel mit Marketing zu tun hat, jedoch keine technische Antworten gibt, wie man die Sicherheit erhöht.

Two-factor authentication

Heute soll es mal um ein unbeliebtes Thema gehen: die Zwei Faktor Authentifizierung. Laut der letzten Statistik sind weniger als 5% der User bereit, dieses Feature für ihre Apple, Google oder sonstigen Accounts zu aktivieren. Trotz massiver Indoktrination durch die Konzerne. Auf der anderen Seite stehen eben diese Konzerne unter Erfolgsdruck, weil im Wochenrythmus Millionen an Zugangsdaten geklaut werden und dann die Nutzer aufgefordert werden, ihre Passwörter zu ändern, obwohl sie gar keine Schuld haben. Das Problem lässt sich einfach beschreiben: derzeit hat niemand einen Plan, wie man Sicherheit im Internet realisieren soll. Die Kombination aus login plus Passwort ist die älteste Methode, gleichzeitig wissen aber alle, dass sie nicht wirklich sicher ist. Vor allem taugt sie nichts wenn man Bankdaten und Geldüberweisungen sichern möchte. Das Problem bei diesen Anwendungen ist, dass die Motivation für den Angreifer vorhanden ist, eine Brute-Force Attacke zu fahren. Was also tun? Wie gesagt, selbst die Informatik-Experten tappen im Dunkeln. Was man derzeit beobachten kann ist, dass die Firmen mit allerhand Verfahren herumexperimentieren. Das bekannteste wird als Two-factor authentication bezeichnet und bezeichnet überlicherweise die Verwendung eines Handys um einen Account zu sichern.

Ein weiteres Verfahren ist der Fingerabdruckscannner der von Apple in die neuen iPhones verbaut wurde. Wiederum schon länger auf dem Markt ist die Smartcard und ganz neu der U2F USB Key. Letzterer ist meiner Meinung nach die Zukunft in Sachen Authentifizierung, ob sich das Konzept jedoch durchsetzt steht in den Sternen. Fakt ist folgendes: solange das Internet eine reine Hobby-Veranstaltung war, galt das Motto dass es egal ist ob die Daten sicher sind. In den 1980’er gab es sogar Hacker, welche die Erfindung des Passwortes als den falschen Weg ansahen, weil Informationen immer frei sein müssen. In den letzten Jahren hat jedoch eine zunehmende Kommerzielisierung stattgefunden, und wenn im Fall von Amazon oder Apple mit einem Account auch Umsätze in realen Währungen getätigt werden, würde der Verzicht auf Passwörter keine gute Idee sein.

Generell kann man sagen, dass es die Notwendigkeit gibt, über Sicherheit neu nachzudenken. Also neue Verfahren zu entwickeln und diese in den Markt zu pushen. Die Kombination aus Login plus eines Passwortes wie “geheim” ist jedenfalls nicht zukunftsfähig.

Die wohl neueste Innovation in Sachen 2-Faktor Authentifizierung heißt “Ledger Nano S”. Wirklich unterstützt wird das derzeit noch von niemandem und Youtube-Erklärvideos gibt es auch keine. Aber in der Theorie geht es um folgendes: der Stick ist eine Mischung aus 2 Faktor Authentifizierung plus Bitcoin Wallet. Man kann sich damit bei einem Dienst einerseits einloggen ohne Passwörter nur mit dem Stick und man kann damit auch gleich bezahlen und zwar in Bitcoin. Es ist noch nicht ganz geklärt, ob das jetzt die Revolution in Sachen Sicherheit oder der Albtraum ist, weil Bitcoin ja keinen guten Ruf besitzt.

Fragt man einmal Youtube nach Beispielen wo so ein Stick Verwendung findet, so sehen die Leute die es demonstrieren nicht besonders vertrauenserweckend aus. Üblicherweise haben sie dunkle Sonnenbrillen auf und sehen aus wie Gauner. Und wenn man den Stick in Aktion sieht, fühlt man sich an die Szene aus Terminator II erinnert wo der Junge mit einem selbstgebastelten Gerät den Bankautomaten knackt.

Die Frage die sich stellt lautet: was hat Bitcoin mit 2-Factor-Authentifizierung zu tun? Die Antwort lautet, dass üblicherweise Account geknackt werden, die etwas mit Payment zu tun haben. Wo also echtes Geld im Spiel ist. Folglich haben die Anbieter ein Interesse solche Accounts besser zu sichern. Auf der anderen Seite ist Bitcoin als Internet-Währung dazu entwickelt worden, um im Internet zu bezahlen. Also liegt es eigentlich gar nicht mal so fern, beides miteinander zu mischen. Schauen wir uns einmal die Ist-Situation.

Der Ist-Stand ist leider, dass die meisten User in ihren Online Konten Bankdaten hinterlegen oder Kreditkartennummern und den Account mit einem schwachen Passwort sichern. Irgendein Hacker klaut den Account und geht damit dann einkaufen. Die nächst bessere Lösung ist es, wenn man die User zu starken Passwörtern erzieht. Also dass der User 14 und mehr Buchstaben Zahlen Kombinationen eingibt. Jetzt wird es für Hacker schwerer aber nicht unmöglich den Account zu hacken. Die nächste Steigerungsform im “Arms Race” sind 2 Faktor Authentifzierungen. Dort muss der User neben dem Passwort noch über sein Smartphone bestätigen dass er wirklich der Eigentümer ist. Aber auch das wird gerne und viel gehackt.

Ein weitere Methode die in der Gegenwart angewendet wird um Hacker abzuschrecken ist, wenn man im Online-Account nicht die kompletten Bankdaten speichert sondern das Konto mit Gutscheinen auflädt. Das wird vor allem im Umfeld von Android Konten gemacht. Gutscheincodes kann man über Tankstellen und neuerdings auch Supermärkte erwerben. Auf dem Konto befinden sich so maximal 20 EUR und selbst wenn das Konto gehackt wird, ist der Schaden minimal. Der oben erwähnte “Ledger Nano S” Stick verbindet jetzt zwei Dinge: einmal wird das Bitcoin Konto als Gutschein betrachtet, wo im Worstcase nur ein kleiner Geldbetrag weg ist, gleichzeitig wird das Konto über ein Hardware-Generiertes One-Time-Passwort über den USB Stick gesichert.

Soweit die Theorie. Ob das die Kunden haben wollen und ob das die Gegenseite technisch unterstützt muss sich noch zeigen.

Noch einen Schritt weiter als den “Ledger Nano S” geht das Bitid Verfahren. Das ist ein Ersatz zum heute verbreiteten “Login with your Google Account”. Bei Bitid gibt es überhaupt keinen Usernamen mehr, sondern man loggt sich ein mit seinem Bitcoin-Konto.