Nikolaus Heusler Archiv

Erschienen in 64'er Magazin, Ausgabe unbekannt · Originaldatei: TOP_SECR.TXT

Hinweis: Dies ist das an die Redaktion eingereichte Manuskript, nicht der gedruckte Endtext. Layout, Bildunterschriften, Korrekturen und Kürzungen der Redaktion können in der veröffentlichten Fassung abweichen.

Top Secret - Daten sicher geschützt

Datenschutz auf dem Computer ist in! Schließen auch Sie Ihre geheimen Files vor neugierigen oder unbefugten Blicken sicher weg. »Top Secret«, ein sehr komfortables Maschinensprache-Utility codiert Files aller Art direkt auf Diskette. Nicht einmal ein Experte mit Diskmonitor wird ohne Kenntnis des Paßworts an die Daten gelangen. Dabei findet ein Chiffrier-Algorithmus Verwendung, der sonst auch von Geheimdiensten eingesetzt wird.

von Nikolaus M. Heusler

Haben Sie eine spezielle Programmiertechnik, die vor fremden Blicken geschützt werden soll? Oder enthält Ihr Programm DATA-Zeile, die vor fremden Blicken sicher sein sollen? Verwalten Sie Personendaten und wollen die Bestimmungen des Bundesdatenschutzgesetzes (BDSG) exakt einhalten? Oder stellen Sie sich vor, Sie haben eine Diskette randvoll mit Programmen, die Sie an verschiedene Bekannte weitergeben möchten, von denen aber nicht jeder alle Programme erhalten soll, sondern nur einen für ihn bestimmten Teil. Schützen Sie alle Programme und geben jedem File ein individuelles Paßwort. Dann können Sie die ganze Disk vervielfältigen und müssen Ihren Freunden nur jeweils die für sie bestimmten Codewörter mitteilen.
Das Programm »Top Secret« codiert sequentielle Dateien auf Diskette, also PRG, SEQ und USR-Files. Das Programm läßt sich danach zwar noch laden, es erscheint aber nur Unsinn. Nur mit Hilfe von Top Secret lassen sich die Daten wieder rekonstruieren. Dabei kann für jede Datei ein individuelles Codewort vereinbart werden, ohne das kein Zugriff möglich ist. Sichere Verschlüsselungs-Mechanismen garantieren absolute Datensicherheit selbst vor Profis, denen Teile des Originals bekannt sind. Obwohl das Programm aus Gründen des Komforts und der Geschwindigkeit vollständig in Maschinensprache geschrieben ist, benötigen Sie keinerlei Assemblerkenntnisse, um damit arbeiten zu können. Das sichere und leicht zu bedienende Utility kann wie ein Basicprogramm geladen, gestartet und ggf. kopiert werden. Sie sollten nur niemals den Fehler machen und Top Secret mit sich selbst codieren, wenn Sie keine Kopie mehr davon haben. Dann ist nämlich keine Rückgängigmachung mehr möglich!
Laden Sie das Programm mit

LOAD "TOP SECRET",8

Der Start erfolgt mit RUN. Legen Sie die nicht schreibgeschützte Diskette mit der zu schützenden oder freizugebenden Datei ein, und betätigen eine Taste. Aus technischen Gründen können keine GEOS-Disketten verarbeitet werden, das Programm erkennt diesen Fall automatisch und bricht mit einer entsprechenden Meldung ab. Weitere Einschränkung: Dateien vom Typ DEL und REL, die in der Praxis kaum vorkommen, lassen sich aufgrund ihrer komplizierten Struktur ebenfalls nicht chiffrieren. Ausgenommen sind außerdem »open write-files«, also Dateien mit einem Stern vor dem Filetyp im Directory sowie Files, die auf dem Track 18 lagern. Dazu gehören insbesondere die Trennstriche, die von Programmen wie dem Disc-Wizzard erzeugt werden. Da diese Files allerdings keine Daten enthalten, wäre ein Verschlüsseln ziemlich sinnlos.
Nach dem Einlegen der Diskette darf die Laufwerksklappe bis zum Erlöschen der roten Leuchtdiode nicht mehr geöffnet werden. Es erscheint eine Auflistung der auf dieser Diskette gespeicherten in Frage kommenden Dateien. Angezeigt werden Filename und -typ. Hinter dem Typ weist ein Schrägstrich »/« auf eine normal und ein Prozentsymbol »%« auf eine nach dem Delta-Verfahren (siehe unten) chiffrierte Datei hin. Bei jedem gemeldeten File können Sie mit den Tasten J, N und A wählen: J selektiert die Datei. Ist sie noch ungeschützt, verzweigt das Programm in die Codier-Routine, bei einer bereits chiffrierten Datei wird das Entsichern eingeleitet. Es ist also nicht möglich, eine bereits codierte Datei nochmals zu verschlüsseln, oder ein File zweimal hintereinander zu dechiffrieren. Antworten Sie mit N, geht es mit der nächsten Datei weiter. Bei A wie »Abbruch« schließlich wird das Programm vorzeitig beendet.
Haben Sie sich für ein File entschieden, betätigen Sie also J. Sowohl beim Codieren wie auch beim Decodieren ist jetzt ein maximal 14 Zeichen umfassendes Paßwort einzugeben. Beim Codieren wählen Sie es beliebig, bei Decodieren ist es als Sicherheitsabfrage wieder einzugeben. Die Tasten Space, Ausrufezeichen und Anführungszeichen sind gesperrt, ansonsten stehen alle alphanumerischen Zeichen (Buchstaben, Ziffern, Satzzeichen) zur Verfügung. Die Eingabe kann mit DEL korrigiert werden und wird mit RETURN abgeschlossen. Geben Sie nichts ein und drücken nur die RETURN-Taste, geht es in der Auswahl mit dem nächsten File weiter, das vorher gewählte wird dann nicht bearbeitet.
Eine mit Top Secret geschützte Datei kann ohne das Codewort nicht, auch nicht mit Hilfe von Tricks, wiederhergestellt werden. Geben Sie also eine Zeichenfolge ein, die Sie sich leicht merken können, zum Beispiel den Namen von Freundin/Freund, Ihr Geburtsdatum oder dergleichen mehr. Sorgen Sie dafür, daß es nicht zu offensichtlich ist und erraten werden könnte. Wenn Sie eine geschriebene Liste all Ihrer Kennwörter anlegen, bewahren Sie sie an einem sicheren Ort auf. Am besten verwenden Sie für all Ihre Sicherheitsfiles das selbe Paßwort, dann kommt keine Verwirrung auf. Die Eingabe eines fehlerhaften Codeworts wird beim Decodieren mit einer entsprechenden Meldung quittiert, geben Sie dann nochmals das korrekte Paßwort ein.
Achtung: Aus technischen Gründen kann es rein theoretisch in äußerst seltenen Fällen vorkommen, daß der Computer ein absichtlich falsches Paßwort annimmt und dann versucht, damit das File zu decodieren. In diesem Fall wird nur Unsinn erzeugt, die Datei ist dann rettungslos verloren. Grund: Das Paßwort wird nicht Zeichen für Zeichen auf Diskette gespeichert, sondern nur seine Länge und eine Art Quersumme. Hat nun ein falsches Kennwort die selben Daten, akzeptiert das Programm es als korrekt. Da beim Codieren die zu verschlüsselnde Datei mit den Zeichen des Codeworts verknüpft wird und der Decodiervorgang nicht rückgängig gemacht werden kann, hätte ein falsches Paßwort fatale Auswirkungen. Die Routine ist aber so programmiert, daß zum Beispiel Tippfehler wie »Dreher« zuverlässig erkannt werden. Die Einschränkung wirkt auch sonst nicht schwer, da nur etwa 0,3 % aller falschen, von der Länge aber korrekten Paßwörter vom Programm »gefressen« werden. Nur durch diese Technik kann verhindert werden, daß ein Experte durch Auslesen der gesicherten Diskette das Paßwort ermitteln kann. Diese Technik wird »Falltür-Algorithmus« genannt und findet übrigens auch beim Speichern der persönlichen Geheimzahl (PIN) auf Kreditkarten (Magnetstreifen) Verwendung. Am sichersten freilich ist es, eine ungeschützte Kopie des Programms auf Band oder Disk an einem sicheren Ort zu verwahren.
Beim Codieren erscheint nun die Abfrage, ob das Delta-Verfahren zu verwenden ist. Bei diesem relativ kompliziert arbeitenden Verfahren handelt es sich um eine sehr sichere Methode, die auch bei Kenntnis einiger Teile des Originals nicht zu knacken ist und darüber hinaus die chiffrierte Datei nicht verlängert. Dieses Verfahren beruht auf einem Vergleich der im File aufeinanderfolgenden Bits und wurde in Ausgabe 6/90 (Seite 62) des 64'er-Magazins genau besprochen. Übrigens bedienen sich auch viele Geheimdienste bei der Informationsübermittlung des Delta-Verfahrens, das nur den Nachteil hat, daß die Codierung etwas länger dauert. Antworten Sie auf die Frage mit J, wird die Datei auch nach dem Delta-Verfahren behandelt. Bei N unterbleibt dies, und es wird »nur« der Inhalt der Datei auf geheimnisvolle Weise mit den Zeichen des Paßworts verknüpft (auch bei Eingabe von J, dann allerdings eben zusätzlich mit Delta-Codierung).
Beim Decodieren merkt das Programm vollautomatisch, ob die Datei im Delta-Verfahren verschlüsselt wurde oder nicht, und berücksichtigt dies. Eine besondere Eingabe ist nicht erforderlich.
Die Datei wird jetzt zunächst im Directory als geschützt oder wieder decodiert gekennzeichnet. Diese Markierung können Sie auf herkömmliche Weise nicht sichtbar machen, sie erscheint nur in Form des Schrägstrichs bzw. Prozentzeichens bei der Auflistung in Top Secret.
Dann erfolgt der Zugriff auf sämtliche Bereiche der Diskette, die vom File belegt sind. Alle werden verschlüsselt bzw. wieder zurückgerechnet. Gerade bei längeren Dateien kann dies durchaus etwas dauern, im allgemeinen ist etwa die doppelte Ladezeit für den gesamten Vorgang anzusetzen. Beispiel: Eine Datei mit 122 Blocks wird mit Delta in 4:12 Minuten codiert und in 4:38 wieder freigegeben, ohne Delta-Verfahren dauert's jeweils 3:27. Wie in allen anderen Phasen auch werden hier Diskettenfehler erkannt und sofort gemeldet. Beseitigen Sie ggf. die Ursache für die Störung und starten durch einen Tastendruck das Programm nochmals.
Noch einige Hinweise zur praktischen Anwendung. Beim Codieren von PRG-Dateien wird auch die in den ersten beiden Bytes gespeicherte Ladeadresse verändert. Versuchen Sie also, eine geschützte Datei absolut (,8,1) an die vorgesehene Stelle in den Speicher zu holen, so wird Ihnen nicht einmal das gelingen. Vorsicht beim Kopieren von geschützten Files: Da Top Secret die Organisation der geschützten Diskette verändert, können chiffrierte Files weder mit File-Kopierprogrammen, noch beispielsweise mit dem Copy-Befehl der Diskettenstation dupliziert werden. Die Kopien lassen sich dann weder laden (weil sie codiert sind) noch decodieren (weil die Information, daß sie chiffriert sind, nicht mitkopiert wurde und daher von Top Secret nicht mehr gefunden wird). Dennoch lassen sich auch gesicherte Dateien ganz normal löschen, auch gibt es sicher keine Probleme beispielsweise beim Validieren. Beim Kopieren mit einem Backup-Programm, das die gesamte Diskseite vervielfältigt, sind keine Probleme zu erwarten.
Zuletzt noch einige kurze Hinweise zur Funktionsweise. Das Programm vermerkt in den normalerweise (außer bei REL- oder GEOS-Dateien) unbenutzen Bytes 22, 23 und 24 des Directory-Fileeintrags, ob und ggf. wie das File codiert wurde. Bit 7 in Byte 22 wird für ein geschütztes File gesetzt, Bit 6 ist 1, wenn das Delta-Verfahren aktiviert wurde. In Byte 23 findet sich eine Prüfsumme über das Codewort. Zusammen mit Byte 24, in dem codiert die Länge des Paßworts erfaßt wurde, erfolgt so beim Entschlüsseln die Prüfung, ob die Eingabe korrekt ist. Die Codierung der Filedaten selbst erfolgt per Direktzugriff (U1 und U2-Befehle) auf die vom File belegten Sektoren. Für jeden Sektor wird das erste Byte mit dem ersten Byte des Paßworts verknüpft, das zweite Byte mit dem zweiten Zeichen und so weiter bis zum Ende des Codeworts. Danach geht es mit dem ersten Byte des Kennworts von vorn los. Außerdem erfolgen Bit-Rotationen, um den Schutz zu verbessern. Falls gewünscht, wird danach noch die Delta-Codierung durchgeführt, für die im Programm eine eigene Routine vorhanden ist.