Drücke „Enter”, um zum Inhalt zu springen.
Ausprobieren
Online Webseiten-Check
sofort das Ergebnis sehen
Auf meiner Webseite sind externe Links mit dem Symbol gekennzeichnet. Datenschutzhinweise · Wissensartikel

Alkatraz-Verschlüsselung, Jahr 1991: Mein Beitrag zum Datenschutz (inkl. verstecktem Pseudonym im Programmcode)

0

Bereits im Jahr 1991 war Datenschutz für mich ein Thema, wie mein Printartikel zum Alkatraz-System aus einer Computerzeitschrift beweist. Meine Lösung wurde in Assembler programmiert. In den Programmzeilen ist mein Pseudonym von früher versteckt.

Einleitung

Dieser Artikel zeigt, dass Datenschutz bereits im Jahr 1991 ein Thema war. Während heute Hochsprachen wie Java oder PHP üblich sind, war damals wegen der geringen Chip-Geschwindigkeiten Assembler notwendig. Assembler ist eine Maschinensprache. Niemand versteht sie, wenn er sie liest. Basic oder andere höhere Sprachen kann unter Umständen auch jemand in Teilen verstehen, der gar nicht programmieren kann.

Damals hatte ich noch einen Amstrad CPC Home Computer, der zuvor Schneider CPC hieß (wegen Übernahme der Firma Schneider durch Amstrad). Mein Modell war der CPC 6128. Andere Modelle waren der 464 und 664. Die Nomenklatur bedeutet Folgendes:

  • 464: Modell 4, 64 Kilobyte Hauptspeicher. Dieses Modell hatte eine Datasette und kein Diskettenlaufwerk
  • 664: Modell 6, 64 Kilobyte Hauptspeicher. Dieses Modell hatte ein Diskettenlaufwerk
  • 6128: Modell 6, 2 x 64 Kilobyte Hauptspeicher. Die zweimal 64 Kilobyte waren auf zwei RAM-Bänke verteilt, die man programmatisch umschalten konnte.

Der CPC basiert auf einem Z80-Prozessor von Zilog mit 4,77 MHz und einem 8-Bit Prozessor.

Zum Vergleich: heutige PCs haben gerne 16 Gigabyte Hauptspeicher, das sind 262144 Mal mehr als der CPC 6126 hatte. Die Taktfrequenz beträgt heute beispielsweise 4 GHz. Das sind ca. 1000 Mal mehr als der CPC hatte. Heute sind 64-Bit Prozessoren üblich, statt wie früher 8 Bit.

Weil der Vorgang über 30 Jahre zurückliegt, erlaube ich mir den Abdruck diverser Werke, die damals urheberrechtlich geschützt waren. Darin sind auch personenbezogene Daten von anderen enthalten, die mir nach dieser langen Zeit für nicht besonders schützenswert vorkommen. Ich bin übrigens nicht nahe der Rente, sondern begann einfach sehr früh, mich mit Computern zu beschäftigen.

Datenschutz im Jahr 1991

Hier das Titelbild der Zeitschrift, in der mein Datenschutzbeitrag erschienen ist.

Der im Titel genannten Computer PCW Joyce war der erste Personal Computer von Amtrad. Der CPC war ein Vorgänger und galt als Home Computer. Der PCW basierte auf Windows 3.0, der CPC hatte DOS und CPM als Betriebssysteme.

Damals war die gute Deutsche Mark noch die Währung. Mein Autorenhonorar wurde dementsprechend in DM ausbezahlt. Es betrug 350 DM, wie folgende Mitteilung des DMV-Verlags zeigt. Der DMV war der Daten- und Medienverlag.

Autorenvergütung für meinen Datenschutz-Beitrag 1991.

Für mich als damals 17-Jährigen waren die 350 DM ein richtig nettes Einkommen. Beim Stöbern habe ich weitere Gutschriften für andere Artikel von mir für denselben Verlag gefunden. Von einer anderen Zeitschrift bekam ich 70 DM für den Abdruck eines Programms von 0 Byte Länge (so stand es auf der Gutschrift). Dieser Abdruck bezog sich auf einen sogenannten Peek & Poke im Aktuellen Software Markt (ASM), einer damals bekannten Zeitschrift. Peeks & Pokes waren Schummelcodes, mit denen man die Anzahl der Leben oder die Energie des Protagonisten in einem Spiel erhöhen konnte.

Verschlüsseln von Programmen

Mein Artikel stellte eine Möglichkeit bereit, Programme ziemlich sicher zu verschlüsseln. Das Verfahren nannte ich Alkatraz Protection System. Es war angelehnt an den damals modernen Kopierschutz von kommerziellen Programmen (danke an BSC für die tiefen Einblicke, ohne die ich das damals nicht hinbekommen hätte). Der Kopierschutz funktionierte so:

  1. Eine Diskette war mit einem Speziallaufwerk so formatiert, dass die Diskette mit dem Standardlaufwerk im CPC ausgelesen werden konnte. Formatierung bedeutet: Vorbereitung eines nichtflüchtigen Speichermediums wie Diskette oder Festplatte, sodass danach Daten in strukturierter Form darauf gespeichert werden können.
  2. Das Standardlaufwerk war nicht in der Lage, die Spezialformatierung selber vorzunehmen.
  3. Beim Kopieren der Diskette ist die Spezialformatierung verloren gegangen. Das Programm auf der Diskette wäre dennoch ausführbar gewesen.
  4. Das Programm auf der Diskette prüfte, ob die Spezialformatierung vorhanden war. War sie es nicht, wurde das Programm beendet bzw. gar nicht erst ordentlich gestartet.

Diese Prüfung im eben genannten Schritt 4 konnte man natürlich ausbauen. Um das zu verhindern, wurde das Programm verschlüsselt. Um den Kopierschutz-Code auszubauen, musste das Programm händisch entschlüsselt werden, was mühselig war und einiges an Gehirnschmalz erforderte.

Mein Beitrag zum Datenschutz aus dem Jahr 1991, erste Seite.

Diese Seite zeigt übrigens einen Schreibfehler, den die Redaktion des Magazins zu verantworten hatte. Die Redaktion schrieb "Alkatrax", obwohl es "Alkatraz" heißt. Oder kennen Sie das Alkatrax-Gefängnis? Mir ist damsals wohl auch ein Schreibfehler unterlaufen (damals gab es noch kein Internet zum Nachschlagen), denn anscheinend heißt es richtig Alcatraz.

Das Thema Datenschutz ist schon seit den Kindertagen der Computer in aller Munde.

Auszug aus dem Anfangstext meines Artikels aus dem Jahr 1991.

Die Verschlüsselung von Programmen, die mein Programm anbietet, basiert auf einer Eigenart des Z80-Prozesses des Amstrad CPC. Der Z80 hat ein sogenanntes Refresh-Register. Ein Register ist eine Variable, die einen Wert im Hauptspeicher halten kann. Das Refresh-Register wurde nach jeder ausgeführten Maschinenanweisung vom Prozessor automatisch um einen bestimmten Wert erhöht. Der Wert ergab sich aus der Anzahl der CPU-Instruktionen, die nötig waren, um den Befehl auszuführen. Einfachste Befehle benötigten nur eine CPU-Instruktion. Komplexere Befehle benötigten einige Instruktionen mehr.

Das Programm war nun wie durch beispielsweise 100 Kodierschleifen verschlüsselt. Nachdem die äußerste, also 100. Kodierschleife (bzw. dann Dekodierschleife) ausgeführt war, war das Programm also 1/100 dekodiert. Die Dekodierschleifen enthielten zig verschiedene Varianten von Entschlüsselungsmechanismen. Jede Variante bezog das Refresh-Register mit ein. Man konnte also den Entschlüsselungsmechanismus nicht einfach abändern, weil dann die Laufzeit des Programms verändert worden wäre. Dadurch hätte aber das Refresh-Register andere Werte gehabt, wodurch die Entschlüsselung nicht mehr funktioniert hätte.

Hinzu kam, dass eine Dekodierschleife nahtlos an die vorherige anschloss. Die äußerste, 100., Dekodierschleife, entschlüsselte als die zweitäußerste, 99. Schleife vollständig und die drittäußerste, 98. Schleife zur Hälfte (die andere Hälfte macht dann die 99. Schleife). Man konnte also keinen Break Point hinter die Dekodierschleifen setzen. Ein Break Point ist eine von der Hardware unterstütze Möglichkeit, ein Programm anhalten zu lassen. Damit können auch heute noch Entwickler Programme debuggen und Fehler suchen.

Mein Beitrag zum Datenschutz aus dem Jahr 1991, zweite Seite.

Letztendlich gelang es mit einem Trick dennoch, diese Art von Verschlüsselung zu knacken. Der Aufwand war allerdings immens. Man durfte auch keinen Fehler machen, denn sonst wäre der Computer abgestürzt und die ganze Arbeit als Hacker wäre umsonst gewesen. Man musste also nach jedem Fehler von vorne anfangen. Das ist ungefähr so, als müsste man 500 Dominosteine hintereinander aufstellen, um sie dann in einer Kettenreaktion umzustoßen. Macht man an einer Stelle einen Fehler, muss man von vorne beginnen.

Wer den Trick nicht kannte, wer keine Assembler-Kenntnisse hatte oder wer zu faul war, konnte die Verschlüsselung nicht knacken.

Abtippen von Programmcode

Der Artikel war noch länger. Ich glaube, er war insgesamt vier Seiten lang. Die restlichen zwei Seiten, die nicht gezeigt sind, enthalten Programmcode. Der Programmcode besteht aus einem Assembler-Teil und einem Basic-Teil. Auf der eben gezeigten Seite links unten steht der Assembler-Code. In diesem Code habe ich mein damaliges Pseudonym versteckt. Damals war es in der Szene üblich, ein Pseudonym zu haben. Die Aktivitäten umfassten einiges, was ein Pseudonym rechtfertigte. Vielleicht ist manchen noch der Name Gravenreuth bekannt.

Auf der rechten Seite des Artikels ist der Basic-Teil des Programms gezeigt. Er liest den Assembler-Code ein und führt ihn aus. Neben jeder Programmzeile ist in eckigen Klammern eine Prüfsumme gedruckt. Dies hatte folgenden Hintergrund: Damals war es üblich, Programme abzutippen. So konnte man nebenbei seine Programmierkenntnisse extrem verbessern. Nicht so wie heute, wo jeder Depp meint, er könnte programmieren und man wäre schon nach 3 Jahren ein Top-Programmierer.

Es gab auch Disketten mit den abgedruckten Programmen zu kaufen. Aber diese kosteten damals ca. 70 DM oder so. Es war natürlich wichtig, das Programm, völlig fehlerfrei abzutippen. Ein einziges falsches Zeichen konnte insbesondere bei Assembler-Code zum Absturz des Programms führen.

Also gab es ein Hilfsprogramm, mit dem man andere Programme mit Prüfsumme abtippen konnte. Das Hilfsprogramm zeigte nach jeder abgetippten Programmzeile die errechnete Prüfsumme an. Die konnte man dann mit der Prüfsumme aus dem abgedruckten Programm vergleichen. So ließen sich schnell Tippfehler erkennen und korrigieren.

Fazit

Zwei Sachen zum Schluss.

Erstens: NOP. Wer weiß, was es damit auf sich hat? Es handelt sich um einen Z80-Assembler-Befehl. Kennt jemand seine Bedeutung? Kleiner Hinweis: Er beschreibt die Arbeitsweise zahlreicher Beamter (der Beamtenvergleich ist nur aus plastischen Gründen gewählt, es gibt auch viele Beamte, die als Positivbesipiel herhalten könnten).

Zweitens: Meine Printbroschüre mit wissenswerten Informationen zum digitalen Datenschutz ist fertig. Ich verschicke Sie per Post. Wer sie haben möchte, kann gerne eine Nachricht an mich schicken und seine Postadresse nennen (oder den Beitrag mit seiner Adresse kommentieren, der Kommentar wird dann nicht veröffentlicht). Ich verwende die Postadresse nur für den Versand dieser Broschüre.

Wer schreibt hier?
Mein Name ist Klaus Meffert. Ich bin promovierter Informatiker und beschäftige mich seit über 30 Jahren professionell und praxisbezogen mit Informationstechnologie. In IT & Datenschutz bin ich auch als Sachverständiger tätig. Mir sind juristische Gegebenheiten nicht fremd. Meine Ergebnisse gewinne ich durch Betrachtung von Technik und Recht. Das scheint mir absolut notwendig, wenn es um digitalen Datenschutz geht. Über neue Beiträge werden Sie informiert, wenn Sie meinen Newsletter abonnieren. Über Ihre Unterstützung für meine Arbeit würde ich mich besonders freuen. Als Geschäftsführer der IT Logic GmbH berate ich Kunden und biete Webseiten-Checks an.
Bitte nutzen Sie bei Verwendung meiner Ergebnisse die Quellenangabe oder verlinken Sie gut wahrnehmbar auf diesen Artikel:
Einen Kurzlink oder eine Bestätigung für Ihre Quellenangabe erhalten Sie kurzfristig auf Anfrage. Ein Teilen oder Verteilen dieses Beitrags ist natürlich ohne weiteres möglich und gewünscht.

Schreiben Sie einen Kommentar

Ihre Mail-Adresse wird nicht veröffentlicht.

Nächster Beitrag

Google Analytics verboten: Welche datenschutzfreundlichen Alternativen gibt es?