Mayerhofer, M. (2007). Embedded mass storage management system with conditional access restriction [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/183175
embedded; mass storage; conditional access restriction; write-only
en
Abstract:
Diese Diplomarbeit basiert auf einem Projekt der Firma StreamUnlimited Engineering und befasst sich mit dem Design und der Implementierung eines Prototyps eines Multimediagerätes (tragbarer Musikplayer o.ä.) mit eingebautem Massenspeicher. Dieser kann ein Flash-Speicher oder eine Festplatte sein. Die Funktionalität des Gerätes wird um eine bedingte Zugriffsbeschränkung zu dem Massenspeicher erweitert. Zugriffsrechte können während der Benutzung des Gerätes verändert werden. Die Software im Gerät führt eine solche Änderung aus, sobald gewisse Bedingungen erfüllt sind.<br />Das Gerät kann auch an einen Personal Computer (PC) angeschlossen werden, um Dateien vom PC auf das Gerät, oder umgekehrt, zu transferieren. Die neuen Funktionen sind zum Großteil in der Gerätesoftware, auf der niedrigstmöglichen Ebene der Softwarehierarchie, eingebaut. Die Architektur, das Design und die Implementierung eines ersten Prototypen sind Teil dieser Arbeit.<br />Das Speichermedium wird in Segmente unterschiedlicher Größe unterteilt, für welche jeweils Zugriffsrechte fürs Schreiben und Lesen vergeben werden können. Zusätzlich zu den allgemein bekannten Zugriffsarten "nur-lesen" und "lesen-schreiben", wird noch eine dritte Art "nur-schreiben" verwendet.<br />Der zentrale Teil des Systems ist der sogenannte "Access Guard" in der Gerätesoftware. Er befindet sich im Kommunikationspfad zwischen Dateisystem und Treiber und überwacht Lese- und Schreibzugriffe auf das Medium, die entweder vom internen Dateisystem oder von einem Dateisystem auf einem angeschlossenen PC herrühren. Dieser Access Guard besitzt eine interne Tabelle, in der die Speichersegmente und deren Zugriffsmodi enthalten sind. Entscheidungen, ob ein Zugriff erlaubt ist, werden aufgrund dieser Tabelle getroffen.<br />Zusätzlich wird allerdings berücksichtigt, ob ein Zugriff auf Daten, die das Dateisystem betreffen erfolgt. Zu diesem Zweck werden dafür relevante Daten bei jedem Zugriff des Dateisystems analysiert und gespeichert.<br />Die Anwendungen in der Gerätesoftware überprüfen, ob ein Ereignis eingetroffen ist, das eine vorher definierte Bedingung erfüllt, um den Zugriffsmodus zu einem Speichersegment zu ändern. Ist dies der Fall, so wird der Access Guard angewiesen, die Änderung durchzuführen. Die Konfiguration der Vorbedingungen, Speichersegmente oder sicherheitsrelevanter Daten kann nur vom Hersteller des Geräts vorgenommen werden. Dafür ist ein eigenes PC-Programm vorhanden. Die Implementierung des Systems ist hier als reine Softwarelösung beschrieben, obwohl das Design auch eine Implementierung von gewissen Teilen derselben in Hardware erlaubt.<br />
de
This thesis is based upon a project of StreamUnlimited Engineering and shows the design and implementation of a prototype of a multimedia device (like a portable audio player) with an internal mass storage medium like a hard disc or flash memory. The device is extended in its functionality by a conditional access restriction to the mass storage medium. Access rights may be changed during the use of the device. Application software on the device triggers such a change due to some conditions that must be fulfilled. The device can also be hooked to a personal computer (PC) to copy files from or to it. The new functionality is organized as a subsystem within the device. It operates at the lowest possible and useful level in the system's hierarchy. The architecture and the design, including the implementation of a first prototype of the necessary systems and subsystems are part of this work.<br />Access rights for reading or writing to the medium are defined by dividing the memory into segments of variable size. Each segment gets an access mode-attribute. In addition to the well known attributes "read-only" and "read/write", a "write-only" mode is introduced, too.<br />The central part of the system is working in the software on the device.<br />It is an access guard that monitors read or write accesses done by the device-internal file system or a file system on a PC the device may be hooked onto. It is located between the file system and the device driver.<br />The access guard manages a table of the memory segments and the corresponding access mode-attributes. Its decisions are not only based on this table's content, it also distinguishes between file system data and the file content. Therefore it memorizes relevant data at every access from the file system. The applications of the device check if an event occurred that fulfils a predefined condition to change the access mode of a memory segment. Then the access guard is triggered to perform the change.<br />Configuration of the predefined conditions, memory segments, or security passwords can only be done by the manufacturer. A separately designed PC-based tool is available for this purpose.<br />Due to time constraints and simplicity the solution provided in this work is built in software only, but it is designed in a modular way to keep the possibility of implementing various modules in hardware, alternatively.