*** ****** **** * * ***** ******* ******* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ***** * * * * ***** * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *** ****** **** ***** * * ******* * * Version 2.2 Uwe Reder - Kopernikusstr.7 - D8074 Gaimersheim ------------------ Tel: 08458.1239 (nur Wochenende) e-mail: uereder@faui09.informatik.uni-erlangen.de Hans-J”rg Zander - Kastenholzstr.36 - D8071 Lenting Tel: 08456.1460 (nur Wochenende) This is Shareware ------------------ Im SECURITY-Paket sind enthalten: * SECURITY v2.214 (ACC) Realtime-Codieraccessory * SINIT v1.0 (PRG) Initialisierungsprogramm fr Disks und Partitionen * SBOOT v1.1 (TOS) Initialisierprogramm und (ACC) Codieraccessory in spezieller Bootsektorversion * SCOPY v1.1 (PRG) Codier-Kopierprogramm fr Disketten allen Programmen und Accessories liegen Anleitungsfiles bei. Sie enden auf '.TXT'. Alle Rechte (Copyright, Vertrieb, usw.) liegen bei den beiden Autoren (Hans-J”rg Zander, Uwe Reder). Unter der Bedingung, daž die vorliegenden Dateien unver„ndert bleiben, darf/soll SECURITY weitergereicht werden. Wem SECURITY gef„llt und/oder es benutzt, der sollte fr den von den Programmierern gleisteten Aufwand eine kleine Entsch„digung in H”he von DM20,- einem der Autoren zukommen lassen. Eine kommerzielle Nutzung in jeder Form (dies schliežt auch den Vertrieb ber Public-Domain-Sammeldisketten oder „hnlichem ein) ist ohne ausdrck- liche Genehmigung der Autoren NICHT GESTATTET. Anwendungsgebiet ------------------ Sie kennen das Problem. Man hat wichtige private Daten, die zu Ihrem Leidwesen von jedem lesbar sind, der zuf„llig ihre Diskette zwischen die Finger bekommt. Was nun??? SECURITY! SECURITY codiert mit einem ausgefeilten Algorithmus gesamte Laufwerke (bzw. Partitionen Ihrer Festplatte). Die Codierung erfolgt mittels eines Codewortes, das Sie selbst festlegen und besser NICHT vergessen! Das Codewort findet sich n„mlich nirgens wieder, sondern muž nach jedem Systemstart im SECURITY-Accessory eingegeben werden. Erst an Hand dieser Eingabe wird eine Codierung sinnvoll. Deshalb drfte es selbst fr einen genialen Hacker schwer m”glich sein den Code zu knacken. Nach der Codeeingabe und Ausw„hlen der zu codierenden Laufwerke kann mit den codierten Disketten/Partitionen wie gewohnt gearbeitet werden. Die Daten werden w„hrend des Schreib-/Lesezugriffs codiert/decodiert. Sollten Sie ohne oder mit einem falschen Codewort versuchen, eine codierte Diskette zu lesen, werden Sie wenig Erfolg haben, da kein Betriebssystem der Welt mit einer vollst„ndig codierten Diskette (incl. Directory und FAT) irgendetwas anfangen kann. Rahmenbedingungen ------------------ SECURITY l„uft auf jedem ST in jeder Aufl”sung; besondere Anforderungen an Speicher oder andere Hardware werden nicht gestellen. Der Betrieb auf einem STE oder TT drfte ebenfalls problemlos sein. Sollte dem nicht so sein bitten wir um Feed Back!!!! Auf ihrer Diskette finden Sie ein Programm namens SINIT.PRG. Mit diesem Hilfsprogramm wird dem Benutzer die M”glichkeit gegeben eine Diskette oder Partitionen seiner Harddisk zu initialisieren (= codieren). Lesen Sie hierzu aber bitte erst SINIT.TXT (genaue Anleitung zu SINIT). Ab TOS 1.4 (= 1.04 warum auch immer??) kann auch mittels der DESKTOP- Funktion 'formatiere...' eine Diskette initialisiert werden. Vorher muž das SECURITY-Accessory installiert und mit den n”tigen Daten versorgt werden. SECURITY muž nachdem Sie eine Partition auf ihrer Harddisk codiert haben immer (!!) angemeldet sein. Dies geschieht aus Sicherheitsgrnden, da bei versehentlichem Aufruf der codierten Partition, das System allein mit den Daten nicht mehr zu recht kommen wrde. Also nie ohne! Ebenfalls geben Sie bitte acht, daž Sie, falls Sie einen Treiber besitzen der von jeder Partition booten kann, nicht von einem codierten Device booten. Dies wrde n„mlich dem oben beschriebenen Fall gleichen. Schon der Versuch SECURITY.ACC zu booten wird, da alles codiert ist, fehlschlagen! Aus diesem Grund ist das Standardbootlaufwerk fr Harddisks (C:) auch grunds„tzlich disabled (nicht selektierbar). Das Accessory ------------------ - Bei Klick auf den Info-Button erh„lt der interessierte Benutzer einige Informationen zur vorliegenden SECURITY-Version. - Das Codewort (8 signifikante Buchstaben) wird in das editierbare Feld eingegeben (weiž auf weižem Hintergrund). - Ein selektiertes Laufwerk wird codiert, ein nicht selektiertes Laufwerk bleibt uncodiert. - Mit dem Button "Save CNF" wird die momentane Einstellung der Laufwerkbuttons auf dem Bootlaufwerk unter dem Filenamen "SECURITY.CFG" abgespeichert. Selbstverst„ndlich wird das Codewort nicht mitgesichert! Beim n„chsten Booten sind die Laufwerksbutton dann selektiert und sie werden durch automatisches ™ffnen des Accessories zum Eingeben des Code- worts aufgefordert. - šber den Cancel-Button lassen sich alle Einstellungen wieder zurcksetzen, so daž sich der Dialog in dem Zustand wiederfindet, in dem Sie ihn beim Aufruf vorfanden. - Der Dialog wird bei korrekter Eingabe mit dem Ok-Button abgeschlossen. SECURITY erzwingt daraufhin einen MEDIACH-Wechsel. W„hrend dieser Zeit erscheint auf dem Monitor eine Box mit der Meldung 'Please wait'. Sollte der MEDIACH-Wechsel nicht fehlerfrei beendet worden sein, erhalten Sie eine Warnung (noch nie vorgekommen!). SECURITY-Intern ------------------ In diesem Absatz wollen wir noch kurz auf die Programmierung eingehen. Wenn Sie also nur benutzen wollen, ist es Ihnen erlaubt diesen Absatz zu berlesen. - SECURITY benutz die XBRA-Kennung "SRTY". Das XBRA-Protokoll taucht zwei mal im Accessory auf. Es sind die Vektoren fr hdv_rw ($476) sowie GEMDOS-trap-dispatcher ($84). - Die Codierroutine wird ber den Systemvektor hdv_rw ($476) angesprungen. - Laufwerk C: l„žt sich grunds„tzlich nicht codieren, da von hier gebootet wird. Was soll das System auch mit einem codierten Boot- laufwerk anfangen? - Bei Laufwerken > C:, sprich Harddisk etc. wird bevor eine Zugriffs- anweisung an den Platten-(...)-Treiber weitergegeben wird eine šber- prfung der Sektornummer vorgenommen. Liegt Sie aužerhalb des ansprech- baren Bereichs bricht SECURITY die Operation sofort mit der Fehlermeldung: "Daten auf Disk X: defekt..." ab. Dieser Fehler kann zwei Ursachen haben. Zum einen kann bei noch nicht bzw. falsch eingegebenem Codewort das Ergebnis der Sektornummernberechnung eines codierten Laufwerks schlichtweg Mll sein, oder ein kleiner Virus hat sich in Ihr System gemogelt und versucht eifrig Ihre Platte zu Schrott zu fahren. Dank der Sicherung in SECURITY kann aber in beiden F„llen nichts passieren. - SECURITY tr„gt sich, falls vorhanden in die Cookie Jar ein. Dabei wird die Kennung "SRTY" benutzt. Als Wert wird die Versionsnummer ber- geben. Format: Long $00022130 ~ v2.213. In der Resource erscheint brigens nur immer eine Stelle nach dem Punkt, also hier v2.2! - SECURITY codiert alle Sektoren auf der Diskette/Partition inclusive Directory und FATs. Nur der Bootsektor bleibt im Originalzustand. Das hat den Vorteil, daž Sie eine codierte Diskette problemlos mit einem normalen Kopierprogramm kopieren k”nnen. - SECURITY kann ber die Message-Pipe des ST bedient werden: int mbuf[8]; mbuf[0] : Nachrichtennummer mbuf[1] : Kennung des sendenden Prozesses (ap_id) mbuf[2] : šberl„nge (hier unbenutzt; sollte also 0 sein) (vgl.: (1) S.461 - Mitteilungs-Ereignisse) SRTY_SETUP ($5300) -------------------------- Animiert SECURITY die mitgeschickten Einstellungen als aktuelle zu ber- nehmen. mbuf[3] : Gltigkeitsliste: Bit auf 0 -> Datum ungltig Bit 0 - Codewort Bit 1 - dev_list Rest - reserviert, daher auf 0 halten. mbuf[4][5] : Zeiger auf neues Codewort (0-terminiert, max. 8 Zeichen) Das alte Codewort wird in einem Backupbuffer intern gespeichert. Nullzeiger l”st Reaktivierung des alten Codewortes aus. mbuf[6] : neue dev_list SRTY_GETDEVS ($5301) -------------------------- Fordert SECURITY auf die aktuelle dev_list zu bergeben. Keine weiteren Parameter in mbuf[3] und folgenden. SECURITY schickt hierauf DEV_STAT (1027). SRTY_DEVSTAT ($5302) -------------------------- Diese Mitteilung wird von SECURITY auf GET_DEVICES (1026) abgesetzt. Sie enth„lt die aktuelle dev_list. mbuf[3] : aktuelle dev_list * -> dev_list: Bitliste der un/codierten Laufwerke; Bit 0 steht fr * * Laufwerk A:, Bit 1 fr B: usw.; eine 1 steht fr codiert, eine 0 * * fr uncodiert. * KILL_ACC ($CA42) -------------------------- Zuknftige Versionen von Chameleon (K.Isakovic) sollen ein nachgeladenes ACC vor dem Auslinken informieren. Dies soll laut Karsten Isakovic ber die Message $CA42 ablaufen. SECURITY reagiert hierauf und h„ngt sich aus der Cookie Jar aus. - SECURITY benutzt nur dokumentierte Betriebssystemfunktionen und -vektoren. Es sollten also auch bei sp„teren TOS-Versionen keine Probleme auftreten. Dank an... ------------------ Martin Backschat fr zahlreiche Ideen Karsten Isakovic fr seine Hilfe via e-mail und fr Chameleon Christian Ernst fr's Beta-Testen Martin Bayer fr's Beta-Testen Gnter Sch„fer fr's Beta-Testen (1) Jankowski, Reschke, Rabich: "ATARI ST Profibuch", SYBEX 1988 (2) Klein: "68000 kompakt", FRANZIS 1989 und allen die wir hier vergessen haben! Hinweis ------------------ Wir hoffen, ein fehlerloses Programm geschrieben zu haben. Speziell sind uns keine Fehler bekannt, und es sind auch in einer ca. 1/2-j„hrigen Probephase keine Probleme aufgetreten. Trotzdem k”nnen wir keine Haftung fr irgendwelche Sch„den bernehmen, die durch die Verwendung unseres Programms direkt oder indirekt auftreten. Uwe Reder, Hans-J”rg Zander (12.01.1991)