Offline-Einreichung von Übungsaufgaben mittels RSA Time-Lock Puzzles

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Offline-Einreichung von Übungsaufgaben mittels RSA Time-Lock Puzzles"

Transkript

1 Offline-Einreichung von Übungsaufgaben mittels RSA Time-Lock Puzzles Bachelorarbeit von Julius Römmler aus Bonn vorgelegt am Lehrstuhl für Rechnernetze Prof. Dr. Martin Mauve Heinrich-Heine-Universität Düsseldorf Januar 2011 Betreuer: Yves Igor Jerschow, M.Sc.

2

3 Danksagung Herrn Professor Martin Mauve möchte ich an dieser Stelle ganz herzlich für die Überlassung des Themas danken. Mein ganz besonderer Dank gilt Herrn Yves Igor Jerschow für die ausgezeichnete Betreuung während der Bachelorarbeit und den immer gewährten Einsatz. In zahlreichen Gesprächen half er mir, die Arbeit zielstrebig voranzubringen. Vor allem für die kritischen Anregungen zur schriftlichen Ausarbeitung möchte ich ihm sehr danken. Herrn Marc Fontaine und Herrn Christian Knieling möchte ich auf diesem Wege danken, die mich bei der Einarbeitung in das bestehende PHP-Webabgabesystem engagiert unterstützt haben. Nicht zuletzt danke ich meinen Eltern und meinem Bruder, die mich mit emotionaler Unterstützung bei der Anfertigung der Arbeit begleitet haben. iii

4

5 Inhaltsverzeichnis Abbildungsverzeichnis Tabellenverzeichnis vii ix 1. Einleitung Motivation Problemstellung und Beitrag Struktur der Arbeit OSRTLP RSA Time-Lock Puzzles Grundlagen Schlüsselerzeugung Öffentliche und private Schlüsseloperationen Das Protokoll Designentscheidungen Multiplattformfähigkeit Bibliotheken für graphische Benutzeroberflächen Die Entwicklungswerkzeuge Das Web-Abgabesystem Lernplattformen Das bestehende System Der Aufbau Der Ablauf Das modifizierte System Die neue Abgabefrist v

6 Inhaltsverzeichnis Der Deadline-Check Die gepackte Abgabe Implementierung der OSRTLP-Schnittstelle Angriffsmöglichkeit Sicherheit Cross-Site Scripting SQL-Injections Die graphische Benutzeroberfläche Ein Überblick Der Programm-Ablauf Das Programm im Detail Der Wizard Das Format der Lösungsdateien Die Vorbereitungs-Schleife Die Berechnungs-Schleife Der Upload zum Abgabe-Server Resümee 37 A. Weitere Einsatzmöglichkeiten des OSRTLP-Protokolls 39 B. Etablierte Lernplattformen 41 B.1. Moodle B.2. ILIAS B.3. OLAT B.4. Weitere Literaturverzeichnis 43 vi

7 Abbildungsverzeichnis 3.1. Der Qt-Designer im Einsatz - am Beispiel des Progressfensters der OSRTLP- GUI Die Ordnerstruktur des PHP-Webabgabesystems in vereinfachter Darstellung Die Ordner- und Dateistruktur des osrtlp-ordners OSRTLP-GUI: Der Startbildschirm OSRTLP-GUI: Die Übersichtsseite der laufenden Berechnungen Der Automat der Vorbereitungs-Schleife Der Automat der Berechnungs-Schleife vii

8

9 Tabellenverzeichnis 4.1. Die mit einem Deadline-Check erweiterten Methoden in der abgabe.php. 20 ix

10

11 1. Einleitung 1.1. Motivation Durch die rasante Entwicklung und stetig steigende Verbreitung des Internets hat sich die Online-Abgabe von Bewerbungen, Publikationen, Anträgen, Erklärungen oder auch Haus- und Übungsaufgaben immer mehr durchgesetzt. In vielen Fällen ist nur noch eine elektronische Abgabe über das Internet möglich, da sich auf diese Weise Kosten senken lassen und im Allgemeinen die Produktivität der Prozessverarbeitung steigern lässt. Oftmals gilt es eine vorgegebene Frist einzuhalten, nach der keine weiteren Dokumente seitens der Institution entgegengenommen werden. In der Praxis können jedoch Situationen eintreten, in denen es unmöglich ist, die gestellte Frist einzuhalten, obwohl die einzureichenden Dokumente dem Autor rechtzeitig und vollständig vorliegen. So kann das lokale Zugangsnetzwerk gestört sein oder ein Fehler beim Internet Service Provider den Zugang zum System der Institution verhindern. Vorstellbar ist aber auch ein Ausfall des Abgabe-Servers selbst, etwa durch eine Denial-of-Service (DoS) Attacke verursacht. Befindet sich der Autor zum Zeitpunkt der Abgabe in einem Gebiet ohne Internetanschluss, ist eine rechtzeitige Abgabe ebenfalls nicht möglich. Die technischen Gründe dafür, dass ein Autor nicht in der Lage ist, seine Dokumente fristgerecht einreichen, können also vielfältig sein. Im Normalfall hat in einem solchen Szenario ein Autor die Nachsicht, da er der Institution keinen Beweis liefern kann, dass seine Dokumente rechtzeitig und in eben dieser Form zum Abgabezeitpunkt vorgelegen haben. Aus Gründen der Fairness wird die Institution die nachträgliche Annahme verweigern. Trotz oder auch gerade wegen der zunehmenden Verbreitung des Internets sind die beschriebenen Probleme keine Seltenheit, weshalb es umso mehr einer Abhilfemaßnahme bedarf. Aus diesem Grund wurde am Lehrstuhl für Rechnernetze das Protokoll Offline Submission with RSA Time-Lock Puzzles (OSRTLP) [27], ein auf RSA-Puzzles basierendes Verfahren für Offline-Abgaben, entwickelt. Befindet sich ein Autor nicht in der Lage, den Abgabe- 1

12 1. Einleitung Server rechtzeitig zu kontaktieren, beginnt er vor Ende der Abgabefrist ein von seinem Dokument abhängiges kryptographisches Rätsel zu lösen. Die Berechnungen werden solange fortgesetzt, bis der Anwender wieder Kontakt zum Abgabe-System erhält. Steht die Verbindung, überträgt der Autor bereits nach Ablauf der Frist sein abzugebendes Dokument und zusätzlich die Lösung des Rätsels. Die Institution schätzt daraufhin ab, wie lange die Berechnung der Lösung gedauert haben muss und wie viel Zeit dem Autor gutgeschrieben werden kann. So ist auch noch nach Fristablauf eine fristgerechte Abgabe möglich Problemstellung und Beitrag Im Rahmen dieser Bachelorarbeit soll das Protokoll zur Offline-Einreichung in das bestehende PHP-basierte Abgabesystem des Lehrstuhls für Übungsaufgaben integriert werden. Bei einer Fristüberschreitung soll es den Studenten im Gegensatz zum bisherigen Abgabesystem dennoch möglich sein, ihre Dokumente über das System hochzuladen, sofern sie rechtzeitig vor der Abgabefrist mit der Berechnung von Lösungen von OSRTLP-Rätseln begonnen haben und diese dann nach Fristablauf mit abgeben. Sind die übertragenen Lösungen der Rätsel korrekt und liegt eine ausreichende, durch Verkettung erzeugte Zeitgutschrift vor, werden die Übungsaufgaben nachträglich in die Abgabe-Datenbank übernommen und zur Korrektur freigegeben. Für die Korrektoren der Aufgaben ergibt sich kein zusätzlicher Aufwand. Zum Lösen von Rätseln kann ein plattformunabhängiges Kommandozeilen-Tool benutzt werden, das bereits zusammen mit OSRTLP entwickelt wurde. Um mehr Bedienkomfort zu bieten, wird dieses Tool in der Bachelorarbeit um eine graphische Benutzeroberfläche (GUI) erweitert, die ebenfalls multiplattformfähig ist. Vor allem ist es mit ihrer Hilfe möglich, Rätsel unterschiedlicher Rechenzeit miteinander zu verbinden, so dass die entstehende Lösungskette die geschätzte Zeit, um die der Autor das Dokument verspätet abgeben wird, so effizient wie möglich ausfüllt. Für den Fall, dass der Autor seinen Rechner aufgrund eines abzusehenden längeren Verbindungsausfalls verlässt und ein entsprechend langes Rätsel gelöst wird, prüft die Anwendung von sich aus vor Beginn eines neuen Rätsels, ob der Abgabe-Server wieder erreichbar ist und nimmt bei Bedarf automatisch den Upload vor, so dass keine Anwesenheit beziehungsweise Intervention durch den Nutzer notwendig ist. 2

13 1.3. Struktur der Arbeit 1.3. Struktur der Arbeit In Kapitel 2 erfolgt zunächst die Vorstellung des OSRTLP-Protokolls, wobei besonders auf die Schritte der Schlüsselerzeugung und die öffentlichen und privaten Schlüsseloperationen eingegangen wird. Kapitel 3 zeigt die Designentscheidungen der GUI auf und klärt die Wahl der GUI-Bibliothek, indem die geforderten Eigenschaften mit denen etablierter Bibliotheken verglichen werden. Ferner werden die Arbeitswerkzeuge beleuchtet, die zur Entwicklung der GUI und des verbesserten Abgabesystems verwendet wurden. Nachdem dann am Anfang von Kapitel 4 ein Überblick über die Funktionsweise der PHP-Webabgabe gegeben wird, konzentriert sich der folgende Teil auf die Implementation der Offline-Abgabe in das bestehende Webabgabesystem. Danach werden mögliche Angriffsszenarien - wie etwa Cross-Site Scripting Attacken (XSS) - aufgezeigt und Abwehrstrategien vorgestellt. Kapitel 5 erläutert den Aufbau und die Funktionsweise der graphischen Benutzeroberfläche, sowie den Aufbau der Lösungsdateien und den Ablauf des Uploads zum Abgabe-Server. Zum Schluss zieht Kapitel 6 ein Resümee des Erreichten. 3

14

15 2. OSRTLP 2.1. RSA Time-Lock Puzzles Grundlagen Time-Lock Puzzles wurden bereits von Rivest et al. [19] vorgestellt, mit deren Hilfe es möglich wurde, das Entschlüsseln von verschlüsselten Nachrichten mit einer Zeitkomponente zu versehen. Erst wenn diese Zeitkomponente verstrichen ist, liegt die entschlüsselte Nachricht vor. Mögliche Anwendungsgebiete sind vielfältig. So kann dieses Verfahren für das Veröffentlichen von Dokumenten nützlich sein, die erst nach einer bestimmten Zeit lesbar sein sollen, wie zum Beispiel nachrichtendienstliche Unterlagen oder Tagebücher. Elektronisches Bezahlen mit festgelegtem Zeitpunkt wäre ebenso denkbar. Das Hauptcharakteristikum von Time-Lock Puzzles ist dabei die Nicht-Parallelisierbarkeit von wiederholten Quadrieroperationen. Ein Anwender, der ein entsprechendes Puzzle löst, hat keine Möglichkeit, den Berechnungsvorgang durch den Einsatz mehrerer Prozessorkerne oder CPUs zu beschleunigen, da jeder Rechenschritt von dem Ergebnis des vorherigen Schritts abhängt. Die Parallelisierung der Quadrieroperationen selbst verspricht ebenfalls keine signifikanten Geschwindigkeitsvorteile, da jede Quadrierung auf einfachsten CPU-Befehlen aufbaut und mit jeder Auf- und Verteilung auf weitere Maschinen zusätzlicher Overhead erzeugen würde, der der gewünschten Beschleunigung entgegenwirkt [23]. Die Zeit, die benötigt wird, um ein Puzzle in optimaler Zeit zu lösen, ist bei Ausgabe des Rätsels bekannt, da man sich an der möglichst schnellen Referenz-Maschine orientieren wird. Es kann jedoch nicht davon ausgegangen werden, dass jeder Anwender im Besitz eines solch schnellen Rechners ist, womit sich die Frage stellt, wie die Geschwindigkeit der Rätselberechnungen auf Rechnern sein wird, wie man sie im Laden um die Ecke käuflich erwerben kann. Rivest argumentiert, dass sich die handelsüblichen CPUs nur wenig in der Geschwindigkeit voneinander unterscheiden und sich somit, 5

16 2. OSRTLP aufgrund der Nicht-Parallelisierbarkeit, keine großen Unterschiede in der jeweiligen Berechnungszeit der Puzzle entstehen. In Praxistests wurde gezeigt, dass der Performance- Unterschied zwischen einem Core 2 Duo E GHz, einem High-Performance Xeon X GHz und einem Core 2 Duo T GHz nicht mehr als den Faktor 1.5 beträgt [27]. Erst- und letztgenannter Prozessor sind um circa 3 Jahre versetzt auf den Markt gekommen. Der Unterschied zwischen 32-Bit und 64-Bit Betriebssystemen macht dagegen einen Faktor von 3.4 bis 4.0 aus. Aufgrund der großen Verbreitung 64-Bit fähiger CPUs stellt dies jedoch kein Problem dar, solange die Anwender 64-Bit Betriebssysteme zur Lösung von Time-Lock Puzzles einsetzen. Nutzer älterer CPUs können den geringen Performancenachteil ausgleichen, indem sie früher beginnen, Rätsellösungen zu berechnen Schlüsselerzeugung RSA [20], benannt nach den Anfangsbuchstaben der Entwickler Ronald L. Rivest, Adi Shamir und Leonard Adleman, ist ein asymmetrisches Verschlüsselungsverfahren, das zur Verschlüsselung und digitalen Signierung von Dokumenten verwendet wird. Der wichtigste Unterschied zu einem symmetrischen Verschlüsselungssystem ist die Schlüsselstruktur. Dabei besitzt jeder Teilnehmer - nennen wir sie in unserem Fall Alice und Bob - ein Schlüsselpaar aus einem öffentlichen und einem privaten Schlüssel. Möchte Bob eine verschlüsselte Nachricht an Alice schicken, chiffriert Bob diese mit Alices öffentlichem Schlüssel. Nur Alice kann die Nachricht mit ihrem geheimen privaten Schlüssel dechiffrieren. OSRTLP kombiniert nun das Standard-RSA-Kryptosystem mit dem beschriebenen Time-Lock-Puzzle-Mechanismus. Jeder, dem Alices öffentlicher Schlüssel bekannt ist, hat die Möglichkeit, ein Puzzle zu lösen, indem eine Nachricht m verschlüsselt wird. Wie lange das Lösen des Rätsels dauert, hängt von der Größe von Alices öffentlichem Schlüssel ab. Die Begriffe Puzzle-Stärke und Puzzle-Länge bedeuten in diesem Kontext dasselbe. Der öffentliche Schlüssel ist ein Zahlenpaar (n, ẽ), der private Schlüssel besteht aus dem Zahlenpaar (n, d). Der RSA-Modul n ist dabei bei beiden Paaren identisch. Zu Beginn muss Alice ein RSA-Schlüsselpaar erstellen, das einen künstlich vergrößerten öffentlichen Schlüssel enthält: 1. Wähle zufällig zwei große Primzahlen p und q von gleicher Bit-Länge (zum Beispiel 1024 Bit), wobei gelten muss p q. In der Praxis kann man jeweils eine 6

17 2.1. RSA Time-Lock Puzzles große Zahl raten und einen Primzahltest durchführen. 2. Berechne den RSA-Modul n = p q. 3. Berechne die Euler sche ϕ-funktion: ϕ(n) = (p 1) (q 1). 4. Wähle eine zu ϕ(n) teilerfremde Zahl d, den Entschlüsselungsexponenten, so dass gilt: 1 < d < ϕ(n). 5. Berechne das multiplikative Inverse zu d modulo ϕ: e = d 1 mod ϕ(n). Im normalen Anwendungsfall wäre e der öffentliche Exponent. Hier erfolgt jedoch noch die künstliche Vergrößerung dieses Exponenten. 6. Wähle die Puzzle-Länge t, die die Anzahl der modularen Quadrierungsoperationen angibt, die Bob durchführen muss, um das Puzzle zu lösen. Soll das Lösen eines Puzzles T Sekunden dauern und Alices Referenz-Maschine führt S modulare Quadrierungsoperationen pro Sekunde durch, so ergibt sich für die Puzzle-Länge t = T S. 7. Berechne nun den Rest r = 2 t mod ϕ(n) und den endgültigen öffentlichen Exponenten ẽ = 2 t + ϕ(n) r + e. An vorderster Position t befindet sich damit ein 1-Bit, gefolgt von einer langen 0-Bit-Kette bis zum hinteren Teil, der durch z = ϕ(n) r + e festgelegt wird. Aus Platzgründen bietet es sich daher an, für die Repräsentation des öffentlichen Exponenten ẽ nur die Komponenten bestehend aus dem RSA-Modulus n, der Puzzle- Länge t und dem hintersten Teil z zu speichern. Es ergibt sich das eindeutige Tripel (n,t,z), wobei in Binärdarstellung z höchstens zweimal so lang wie n ist. Das Aufblähen des öffentlichen Schlüssels ẽ wird erreicht, indem zum regulären Exponenten e ein großes Vielfaches von ϕ(n) addiert wird. Wegen e ẽ(mod ϕ(n)) gilt nach wie vor für alle m Z n : m e mẽ (mod n). Dabei ist n, wie im zweiten Schritt vorausgesetzt, ein Produkt aus zwei teilerfremden Primzahlen. Die Zeit, die für die Berechnung der modularen Reduktion in Schritt 7 benötigt wird, hängt von der Puzzle-Länge t ab. Je größer t gewählt wird, desto länger dauert die Reduktion beim Erstellen des Puzzles. In der Praxis hält sich die Berechnungsdauer jedoch in Grenzen. So benötigt der siebte Schritt für ein Puzzle mit einer Länge von mehreren Tagen nur wenige Minuten. 7

18 2. OSRTLP Öffentliche und private Schlüsseloperationen Das Lösen eines Puzzles in Abhängigkeit von Bobs Nachricht m, wobei 0 < m < n gilt, entspricht dem Verschlüsseln der Nachricht m mit Alices öffentlichem Schlüsselpaar (n,ẽ) in der bei RSA üblichen Art und Weise. Dabei wird der verschlüsselte Text c berechnet: c = mẽ mod n. (2.1) Da ẽ außergewöhnlich groß ist, wird das folgende Puzzle am besten durch wiederholtes Quadrieren in T Sekunden gelöst: α = m 2t mod n. (2.2) Direkt im Anschluss wird eine modulare Exponentiation durchgeführt: β = m z mod n. (2.3) Das führt zu dem Gesamtergebnis c, das den verschlüsselten Text, beziehungsweise die Lösung des Puzzles darstellt: c = α β mod n. (2.4) Aufgrund der sich wiederholenden modularen Exponentiationen empfiehlt es sich, die geschwindigkeitssteigernde Montgomery-Reduktion anzuwenden [15]. Dabei wird eine alternative Darstellung von Integer-Werten modulo n gewählt, so dass die modulare Multiplikation durchgeführt werden kann, ohne den vergleichsweise langsamen Weg über den klassischen modularen Reduktionsschritt zu gehen. Im folgenden Schritt schickt Bob seine Nachricht m sowie die zugehörige Puzzle- Lösung c an Alice. Möchte diese sich vergewissern, dass Bob mindestens T Sekunden an der Lösung gerechnet hat, entschlüsselt sie die Puzzle-Lösung c mit ihrem privaten Schlüsselpaar (n, d) in gewohnter Weise. Das Resultat muss mit der Nachricht m übereinstimmen, sofern das Puzzle korrekt gelöst wurde: c d mod n! = m. (2.5) 8

19 2.2. Das Protokoll Da d im Gegensatz zu ẽ eine normale Größe aufweist, dauert die Verifikation lediglich ein paar Millisekunden Das Protokoll Auf der Technik der RSA Time-Lock Puzzles basierend stellt OSRTLP ein Protokoll dar, das es einem Autor ermöglicht, ein fertiges Dokument quasi einzureichen, noch während er offline ist. Später, wenn wieder eine Verbindung zum Abgabe-Server aufgebaut werden kann, wird das Dokument inklusive der Puzzle-Lösungen verspätet eingereicht. Die Institution kann mittels der korrekten Puzzle-Lösungen davon überzeugt werden, dass der Autor bereits eine bestimmte Zeit lang das abzugebende Dokument in der Form fertiggestellt hat, wie es vorliegt. Dazu muss die Institution lediglich die Puzzle-Lösungen mit ihrem privaten Schlüssel validieren. Anfangs generiert die Institution ein RSA-Puzzle-Schlüsselpaar, dessen Public-Key- Operation die Zeit T benötigt. Die Zeitangabe sollte sich dabei auf einen von der Institution bestimmten Hochleistungsrechner beziehen, um zu gewährleisten, dass nicht doch ein Autor mit einem leistungsfähigeren Rechner Puzzlelösungen schneller als vorgesehen berechnen kann und damit sogar erst nach der Abgabefrist mit dem Lösen des Rätsels anfangen müsste. Das öffentliche Schlüsselpaar wird in gewohnter Weise veröffentlicht. Autoren sollten dieses vorab herunterladen, um im Notfall, wenn keine Verbindung zum Abgabe-Server besteht, ein Rätsel lösen zu können. Tritt dieser Fall ein, wendet der Autor eine Hashfunktion, wie zum Beispiel SHA-1 oder RIPEMD-160, auf sein Dokument an. Die Prüfsumme dient als Nachricht m für die weiteren RSA-Schritte. Angenommen, der Rechner des Autors ist so schnell wie die Referenzmaschine der Institution, so wird die Puzzle-Lösung in T Sekunden berechnet: c = mẽ mod n. (2.6) Ist der Abgabe-Server nach der Berechnung der Lösung c wieder verfügbar, so wird neben dem abzugebenden Dokument selbst auch noch c abgegeben. Die Institution kann nun mittels des privaten Schlüssels d überprüfen, ob das Puzzle korrekt gelöst wurde: c d mod n? = m. (2.7) 9

20 2. OSRTLP Dafür wendet die Institution ihrerseits nochmals die Hashfunktion auf die Abgabe an. Der resultierende Hashwert entspricht der Nachricht m auf der rechten Seite der Gleichung. Stimmen nun der entschlüsselte mit dem berechneten Hashwert überein, kann man davon ausgehen, dass der Autor bereits vor mindestens T Sekunden das Dokument zur Abgabe fertig vorliegen hatte. Sofern durch Abziehen von T ein Zeitpunkt vor der Abgabefrist erreicht wird, kann die Abgabe akzeptiert werden. Wie lange noch nachträglich Dokumente über OSRTLP abgegeben werden können sollen, ist ganz der Institution überlassen. Sollte ein Autor eine deutlich langsamere Maschine als die Referenz-Maschine besitzen, so kann er versuchen, den Nachteil der geringeren Geschwindigkeit durch den besonders frühen Beginn von Berechnungen der Puzzle-Lösungen auszugleichen. In der Praxis ist es schwer abzuschätzen, wie lange ein Internet-Ausfall andauern kann. Präventiv ein besonders langes Puzzle zu lösen bringt Nachteile mit sich. So ist es allgemein ungünstig, länger zu rechnen, als nötig. Weiterhin können Autoren, die langsamere Hardware als die Referenzmaschine einsetzen, die Zeit, die nach Erreichen der Abgabefrist (engl. deadline) verstreicht, nicht mehr aufholen. Alle Berechnungen ab diesem Zeitpunkt geschehen zu ihrem Nachteil. Aus diesem Grund sollte die Institution Puzzles unterschiedlicher Länge veröffentlichen, so zum Beispiel jeweils eins für 5 Minuten, 30 Minuten, 1 Stunde, 5 Stunden und 10 Stunden. Auf diese Weise ist ein Autor flexibler in der Wahl eines geeigneten Puzzles. Ist der Abgabe-Server nach dem Lösen eines Puzzles immer noch nicht erreichbar, kann eine Puzzle-Kette gebildet werden: Dafür wird die Lösung c 1 die Eingabe m 2 des nächsten Puzzles und so weiter. Sobald der Abgabe-Server erreichbar ist, wird nun als Lösung die gesamte Puzzle-Kette hochgeladen. Nun kann die Institution beginnend am Ketten-Anfang die Lösungen verifizieren und die entsprechende Zeit gutschreiben. Formal muss also mit 1 i k gelten: wobei m 1 = m und m i = c i 1 für i > 1 ist. c d i i mod n i? = mi (2.8) Aufgrund der Vielfalt vorstellbarer Einsatzszenarien des OSRTLP-Protokolls werden weitere Verwendungsmöglichkeiten im Anhang beschrieben. 10

21 3. Designentscheidungen Vor Entwicklungsbeginn der graphischen Benutzeroberfläche (GUI) für die Offline-Einreichung von Übungsaufgaben gilt es, grundlegende Entscheidungen über das Design zu treffen Multiplattformfähigkeit Eine wesentliche Eigenschaft der GUI ist es, auf mehreren unterschiedlichen Betriebssystemen wie Windows oder Linux lauffähig zu sein. Das bestehende in C++ geschriebene Kommandozeilentool verwendet die plattformunabhängigen Bibliotheken Botan [1] und MPIR [12], so dass die Multiplattformfähigkeit von Hause aus gegeben ist. So bietet es sich an, auch die GUI in C++ zu schreiben, um den bestehenden Code ohne großen Aufwand durch Anpassungen in die neue Oberfläche zu integrieren. Wird das GUI-Programm ohne Parameter aufgerufen, so startet die graphische Benutzeroberfläche. Andernfalls wird der bestehende Teil des Kommandozeilentools mit den übergebenen Parametern ausgeführt. Durch diese Zwei-In-Einem-Lösung stehen dem Anwender in einem Tool zusammengefasst alle verfügbaren Bedienmöglichkeiten offen, ohne dass man mehrere Programmvarianten verwalten müsste Bibliotheken für graphische Benutzeroberflächen Die einzusetzende Bibliothek für die Programmierung der graphischen Benutzeroberfläche soll Plattformunabhängigkeit bieten, also die Unterstützung von zumindest Windows, Linux und Mac OS vorsehen und in C++ geschrieben sein. Hierfür bieten sich mehrere Bibliotheken an: Qt [17], wxwidgets [25], FLTK [5], FOX-Toolkit [6], gtkmm [8] sowie U++ [22]. Hinsichtlich der Lesbarkeit des GUI-Quellcodes, der Aktualisierungsintervalle, der Größe der zugehörigen Online-Community und der Verbreitung der 11

22 3. Designentscheidungen Bibliotheken fielen Qt und wxwidgets in die engere Auswahl. Ein weiteres wichtiges Kriterium ist die Verfügbarkeit einer gut strukturierten und umfangreichen Dokumentation, die nicht nur das bequeme Nachschlagen der GUI-Klassen und -Methoden ermöglicht, sondern auch ausführliche Texte über grundlegende Funktionalitäten und nützliche Code-Beispiele bieten soll. Qt erfüllt diese Ansprüche zum heutigen Zeitpunkt am besten und wurde daher gewählt. Qt wird von Nokia entwickelt und wurde bis zur Version 4.4 sowohl unter der GNU General Public License (GPL) als auch unter einer proprietären Lizenz angeboten. Die proprietäre Lizenz ist jedoch nur für Fälle vorgesehen, in denen mit der Bibliothek Applikationen entwickelt werden, die selbst unter keiner freien Lizenz stehen. Ab Version 4.5 wird Qt zusätzlich auch unter der GNU Lesser General Public License (LGPL) angeboten. Neben dem Erstellen von graphischen Benutzeroberflächen bietet Qt weitreichende Funktionen zur Programmierung von Netzwerkkomponenten, von 2D- und 3D-Computergrafik (OpenGL) und von Datenbanken mittels SQL. Ferner werden Klassen zur Arbeit mit XML-Dateien zur Verfügung gestellt. Sogar WebKit, eine freie HTML-Rendering- Bibliothek, ist Bestandteil von Qt. Die funktionale Vielfalt von Qt lässt der möglichen Weiterentwicklung der GUI in jeder Hinsicht großen Spielraum. Um die resultierende Applikation aufgrund der gebotenen Funktionsvielfalt nicht zu groß werden zu lassen, ist es den Entwicklern überlassen, nur die wirklich benötigten Module einzubinden. Für die OSRTLP-GUI werden QtCore, die Kern-Klasse, die die Grundlage für alle anderen Qt-Module bildet, QtGui, die der Darstellung der Benutzeroberfläche dient sowie QtNetwork, die die Netzwerkfunktionalität wie Sockets, HTTP etc. zur Verfügung stellt, benötigt Die Entwicklungswerkzeuge Für die Weiterentwicklung des Webabgabesystems ist grundsätzlich jeder Texteditor ausreichend, da lediglich PHP-Dateien editiert werden müssen. Da PHP eine interpretierende Sprache ist, werden keine Compiler benötigt. Dennoch bieten einige Editoren zusätzlichen Komfort an, die eine schnellere Entwicklung ermöglichen. So stellen die als Eclipse-Plugin verfügbaren PHP Development Tools (PDT) [16] unter anderem Syntax- Highlighting, Code-Vervollständigung, Code-Faltung, einfache Datei- und Projektent- 12

23 3.3. Die Entwicklungswerkzeuge wurfsmethoden und Debugging-Schnittstellen zur Verfügung. Ein Debugger ist von Hause aus nicht enthalten, kann aber nachinstalliert werden. Weitverbreitete Kandidaten sind der Zend-Debugger [28] oder auch XDebug [26], wobei für diese Arbeit aufgrund der hohen Stabilität und Zuverlässigkeit und der vergleichsweise einfachen Installation die Wahl auf XDebug fiel. Die Implementierung der graphischen Benutzeroberfläche fand sowohl unter Windows, als auch unter Linux statt. Unter Windows kam die integrierte Entwicklungsumgebung Microsoft Visual Studio 2008 [13], unter Linux Eclipse [4] mit der C++-Integration C/C++ Development Tooling (CDT) [2], zum Einsatz. Beide Umgebungen ermöglichen das direkte Kompilieren der Quelltexte, sowie das Debuggen über eine komfortable graphische Oberfläche. Als Compiler unter Linux wurde der C++-Compiler g++ aus der GNU-Compilersammlung GCC [7] verwendet. Abbildung 3.1.: Der Qt-Designer im Einsatz - am Beispiel des Progressfensters der OSRTLP-GUI. In Qt gibt es mehrere Wege, graphische Benutzeroberflächen zu entwerfen. Eine vergleichweise aufwändige und langwierige Methode ist das manuelle Erstellen jedes ein- 13

24 3. Designentscheidungen zelnen GUI-Elementes per eigens geschriebenem C++-Code. Dabei wird jede Schaltfläche, jedes Textfeld, jedes Fenster einzeln als C++-Objekt erstellt. Darauf folgend werden notwendige Eigenschaften wie Größe oder Position festgelegt. Dieser sehr umständliche Prozess führt zu einer beträchtlichen Entwicklungszeit, da der Code zunächst komplett kompiliert und danach ausgeführt werden muss, um das entsprechende Resultat betrachten zu können. Auch größere nachträgliche Änderungen können sich aufgrund der Code-Komplexität schwierig gestalten. Ferner ist die Lesbarkeit des Quelltextes äußerst schlecht, da für jedes einzelne GUI-Element mehrere Zeilen Code aufgewendet werden müssen. Um diese Nachteile zu umgehen, bietet Qt einen eigenen GUI-Designer namens Qt Designer an, mittels dessen Hilfe graphische Benutzeroberflächen nach dem sogenannten What You See Is What You Get (WYSIWYG)-Prinzip erstellt werden können. Dabei lässt sich die Gestalt einer zu entwickelnden GUI direkt anzeigen. Etwaige Änderungen am Design werden in Echtzeit dargestellt. Das Ergebnis lässt sich in einer ui-datei abspeichern, einem Qt-eigenen Dateiformat auf XML-Basis. Diese wird später vom Qt User Interface Compiler (UIC) als Eingabe verwendet, um C++-Code zu generieren, der die GUI zeichnet und darstellt. Aufgrund der genannten Vorteile gegenüber der manuellen Codeentwicklung wurden die kompletten Wizardseiten der GUI mit Hilfe des Qt Designers entworfen. Wird nun eine ui-datei im Entwicklungsprozess verändert, muss jedes Mal der UIC ausgeführt werden, um aktualisierten C++-Gui-Code zu erhalten. In der Praxis gibt es auch dafür Tools, die diese Arbeit übernehmen. So erkennt das Qt Visual Studio Add-in beziehungsweise das Gegenstück unter Eclipse, die Qt Eclipse Integration etwaige Veränderungen an betreffenden ui-dateien und stößt den UIC-Prozess automatisch an. Darüber hinaus lassen sich mit deren Hilfe direkt in den Entwicklungsumgebungen Qt- Projekte erstellen und einstellen, Formulare wie im Qt Designer entwerfen und eine integrierte Qt-Dokumentation in Anspruch nehmen. Aktionen zwischen Objekten, wie zum Beispiel das Drücken einer Schaltfläche oder das Starten eines Zeitgebers, realisiert Qt mit dem sogenannten Signal-Slot-Konzept. Dabei schickt das auslösende Objekt ein Signal, das beim Empfänger, dem Slot, eine Reaktion auslöst. Die zugrundeliegende Funktionalität wird vom Qt Meta-Object-Compiler (MOC) zur Verfügung gestellt. Das Qt Visual Studio Add-in und die Qt Eclipse Integration erstellen mittels des MOCs entsprechende moc-dateien ebenfalls automatisch. 14

25 4. Das Web-Abgabesystem 4.1. Lernplattformen Web-Abgabesysteme, deren primäre Funktion das Hochladen von Übungsaufgaben ist, sind im Internet sowohl als offene und freie Software, als auch in kommerziellem Umfang kaum zu erhalten. Stattdessen hat sich die Struktur der Lernplattformen durchgesetzt, die wesentlich mehr Funktionen anbieten, unter anderem auch das Einreichen von Übungsaufgaben. Eine Lernplattform, auch als Learning Management System (LMS) bezeichnet, ist eine umfangreiche Softwarestruktur, dessen Hauptzweck sowohl die Bereitstellung von Lehrmaterialien, als auch die Vereinfachung der Kommunikation zwischen Lehrenden und Lernenden ist. Lernunterlagen können durch die zentrale Struktur einfacher verteilt, Lern- und Übungsgruppen leichter erstellt, Neuigkeiten gezielter verschickt und sogar Tests in Form von Online-Fragebögen durchgeführt werden. Viele Verwaltungsaufgaben werden automatisiert erledigt. Ein Nachteil ist jedoch oftmals die aufgrund der hohen Funktionsmöglichkeiten einhergehende Bedienkomplexität. So ist die Einarbeitungszeit in großen Lernplattformen vergleichsweise hoch. Aus administrativer Sicht ist es ein entscheidender Vorteil, dass der Quellcode mit hoher Wahrscheinlichkeit auch bezüglich der Sicherheit gepflegt und weiterentwickelt wird. Bei kleineren Projekten kann davon ausgegangen werden, dass einmal geschriebener Code nicht weiter auf Schwachstellen untersucht wird, sofern einmal alle Anforderungen erfüllt sind. Im Gegensatz dazu werden bei Großprojekten Sicherheitslücken, die im Laufe der Zeit aufgrund neuer Angriffstechniken entstanden sind, eher entdeckt und beseitigt. Durch regelmäßiges Einspielen von Updates bleibt ein solches System mit höherer Wahrscheinlichkeit stabil und sicher, ohne dass ein Administrator im Bereich der Sicherheitstechnik auf dem neuesten Stand sein muss. Die an den Lehrstühlen für Rechnernetze und Softwaretechnik seit einigen Jahren eingesetzte, selbst geschriebene PHP-Webabgabe bietet gegenüber den etablierten Plattfor- 15

26 4. Das Web-Abgabesystem men den Vorteil, dass sie auf die lokal benötigen Funktionen reduziert ist und die daraus resultierende Kompaktheit mit sich bringt. Die Funktionalität setzt ihren Schwerpunkt auf die Belegung von Übungsgruppenterminen und die Abgabe von Übungsaufgaben. Da das System sich bis heute bewährt hat, liegt es nahe, OSRTLP in diese Software zu integrieren. Weil es sich eventuell langfristig, beispielsweise aufgrund gestiegener Bedürfnisse oder erhöhtem Sicherheitsbedarf, dennoch anbietet, auf ein etabliertes Projekt umzusteigen, befindet sich im Anhang eine kurze Vorstellung der Lernplattformen, die zum heutigen Zeitpunkt am meisten verbreitet sind Das bestehende System Nachfolgend wird ein Überblick über den grundlegenden Aufbau und die Funktionsweise des bestehenden Abgabesystems gegeben Der Aufbau In Abbildung 4.1 ist die auf das Wesentliche reduzierte Ordnerstruktur des vorhandenen Systems abgebildet, das funktional in zwei Bereiche unterteilt werden kann. Der erste Teil, der in der Abbildung mit einem gepunkteten Viereck umrandete ntool- Ordner, bildet das Herzstück der Software. Hier befinden sich die eigentlichen Quelltexte des Abgabetools. Der zweite Teil, der durch den public_html-ordner gebildet wird, dient dem Zweck, (zumindest theoretisch) mehrere Instanzen der Abgabesoftware nutzen zu können und gleichzeitig eine logische Abschottung zum Kern der Abgabesoftware zu bilden. Dieser Bereich ist, im Gegensatz zum oberen ntool-ordner, für Außenstehende über den Apache-Webserver zugänglich. Im Unterordner vorlesung kann Arbeitsmaterial einer Veranstaltung gespeichert werden, wie zum Beispiel Folien, Übungsaufgaben oder Beispielquelltexte. Der im public_html-ordner befindliche ntool-ordner beinhaltet zum großen Teil Ordner und Dateien, die per symbolischem Link auf den obersten ntool- Ordner zeigen. Um das Abgabesystem an die jeweilige Vorlesung anzupassen, reicht es daher aus, Dateien im unteren ntool-order ohne symbolische Verlinkung zu erstellen, die dann nur in dieser Instanz wirken. Da sich die eigentliche Funktionalität des Abgabesystems hinter dem oberen ntool- Ordner verbirgt, konzentriert sich die folgende Funktionsbeschreibung auf diesen Teil. 16

27 4.2. Das bestehende System Abbildung 4.1.: Die Ordnerstruktur des PHP-Webabgabesystems in vereinfachter Darstellung. Im Ordner admin liegen PHP-Skripte, die einem Administrator die Möglichkeit bieten, Informationen über PHP auszugeben, Dateien hochzuladen, Abgaben anzuzeigen und Informationen über Korrektoren einzuholen. Diese Skripte sind lediglich als Hilfswerkzeuge anzusehen, da sie keine Funktionalität für die Abgabe selbst bieten. Korrektoren melden sich über ein im Unterordner korrektor liegenden System an, um daraufhin Zugang zu den bereits abgegebenen Aufgaben der Studenten zu erhalten. Dort können sie diese kommentieren und bewerten. Das Abgabesystem der Studenten befindet sich im Unterordner student. Die dort liegenden Skripte werden ausgeführt, sofern ein Student einen Übungsgruppentermin auswählt oder offene Übungsaufgaben, bereits abgegebene Lösungen oder korrigierte Abgaben angezeigt bekommen möchte. Hier wird später der Ansatzpunkt für die Modifikationen sein, die für die Implementierung von OSRTLP notwendig sind. Abgaben von Studenten, die in Form von Texten und Dateien getätigt werden, werden in speziell dafür vorgesehenen Tabellen einer zentralen MySQL-Datenbank gespeichert. Dort werden auch die Daten über die registrierten Studenten und Korrekten gesichert, sowie die Eigenschaften der gestellten Aufgaben (Name, Nummer des zugehörigen Blattes und der Aufgabe selbst, die maximal zu erreichende Punktzahl, maximal abzugebende 17

28 4. Das Web-Abgabesystem Dateien und deren erlaubte Größe, usw.) sowie die Termine der Übungsgruppen festgelegt Der Ablauf Der typische Ablauf, vom Stellen der Aufgaben bis hin zur Einsicht der Korrektur durch den Studenten, lässt sich in fünf Schritte unterteilen. Schritt 1 Die Aufgabe wird gestellt: Üblicherweise werden ganze Übungsblätter veröffentlicht, die sich aus mehreren Aufgaben zusammensetzen, so dass pro Blatt für jede Aufgabe ein eigener Eintrag in der aufgaben-tabelle der Datenbank getätigt werden muss. Dies reicht jedoch noch nicht aus, da für jeden Studenten zu jeder neuen Aufgabe ein Eintrag in der abgaben-tabelle definiert wird. Unter anderem werden dort die Lösung (die initial noch leer ist), die erreichte Punktzahl (anfangs 0) und der zugehörige Korrektor gespeichert. Zusätzlich gibt die Eigenschaft status an, ob eine Abgabe noch offen ist, oder bereits geschlossen und abgegeben worden ist. Dieser Statuswert ist wichtig, um nach einem Überschreiten einer Deadline festlegen zu können, welche der Abgaben offiziell überhaupt abgegeben wurden und bewertet werden können. Behandelt ein Student eine Aufgabe nicht, bleibt der Zustand auf dem Initialwert offen stehen. Das Erstellen der notwendigen Abgabe-Einträge pro Student und einer hinzugekommenen Aufgabe wird mittels eines speziellen SQL-Statements durch den Administrator per Hand erledigt. Schritt 2 Aufgaben hochladen: Nach Anmeldung in der Web-Abgabe kann der Student sich die Aufgaben anzeigen lassen, die noch offen sind und abgegeben werden können.wird eine Aufgabe zur Bearbeitung ausgewählt, wird die bisher abgegebene Lösung angezeigt (sofern vorhanden). Es können dann, sofern vom Aufgabensteller vorgesehen, Dateien hochgeladen werden und die gesamte Aufgabe geschlossen und damit zur Korrektur freigegeben werden. Schritt 3 Aufgaben schließen: Das Schließen der Aufgaben bei erreichter Deadline eines Aufgabenblattes erfolgt über das PHP-Skript abgabe_ende.php im Ordner script. Dazu wird beim Neueinstellen eines Aufgabenblattes vom Administrator das Bash-Skript schedule_abgabe.sh ausgeführt, was bewirkt, dass mittels des Kommandozeilenprogramms at zu einem festgelegten Zeitpunkt abgabe_ende.php ausgeführt wird. Ist dieser Punkt erreicht, wird zunächst das komplette Abgabetool für Logins von Studenten und Korrektoren gesperrt. Nach einer kurzen Wartezeit werden, nachdem eine Vollsicherung der Datenbank erstellt wurde, alle Abgaben, die noch offen und leer sind, 18

29 4.3. Das modifizierte System auf den Zustand nicht_bearbeitet gesetzt und mit einem entsprechenden Kommentar für den Korrektor versehen. Die noch offenen, aber mit einer Lösung versehenen Abgaben, erhalten den Status abgabe_verpasst. Alle Stati der übrigen Einträge, die rechtzeitigen Abgaben, wurden bereits durch die betreffenden Studenten selbst auf abgegeben gesetzt. Nach weiteren 5 Minuten Wartezeit wird das Abgabesystem wieder für alle Teilnehmer entsperrt. Schritt 4 Aufgaben korrigieren: Über den Korrektorbereich können Korrektoren nun die getätigten Aufgaben in Augenschein nehmen und korrigieren. Nach Abschluss wird der Status einer Abgabe auf korrigiert gesetzt und ein Kommentar des Korrektors und die vergebene Punktzahl in der Datenbank gespeichert. Schritt 5 Korrektur einsehen: Sobald eine Abgabe den Status korrigiert erhält, wird diese dem Studenten mit dem Kommentar des Korrektors und der erhaltenen Punktzahl in der Abgabenübersicht gesondert angezeigt Das modifizierte System Für die Integration des OSRTLP-Protokolls bedarf es mehrerer Eingriffe in das Design der Abgabesoftware, die im folgenden beschrieben werden Die neue Abgabefrist Eine der wichtigsten Neuerungen im modifizierten System ist die Methode, Abgabefristen umzusetzen. Im vorherigen System wurde beim Erreichen einer Deadline das komplette System gesperrt, gesichert und Zustände in der Datenbank verändert. Das erschwert das nachträgliche Einreichen von Lösungen, da hierfür das Abgabesystem nach außen verfügbar sein sollte. Aus diesem Grund wurde in der Tabelle aufgaben die weitere Eigenschaft deadline mit dem Datentyp datetime aufgenommen, so dass nun in der Datenbank festgehalten ist, wie lange eine Aufgabe offiziell bearbeitet und abgegeben werden kann. Das ermöglicht nun eine flexiblere Realisierung eines Abgabeendes, da hierfür nicht mehr das komplette System gesperrt werden muss. So werden alle Blätter seperat angezeigt, zu denen offene Aufgaben vorliegen, die sich in einem Zeitfenster befinden, in dem verspätete Abgaben getätigt werden dürfen. Die Überprüfung des Zeitfensters wird in der im include-ordner befindlichen abgabe.php wie folgt erfragt: 19

30 4. Das Web-Abgabesystem Methode show_abgabe abgabe_commit abgabe_commit_for_sure show_osrtlp_abgabe_step1 show_osrtlp_abgabe_step2 update_txt_abgabe upload_abgabe delete_upload Funktionalität Anzeige einer Abgabe mit Kommentar und Dateien Bestätigung der Speicherung (von Änderungen) Endgültiges Speichern (von Änderungen) Anzeige der Upload-Maske für die verspätete Abgabe Einreichung der verspäteten Abgabe Speichern eines Kommentars Upload einer Datei Löschen einer zuvor hochgeladenen Datei Tabelle 4.1.: Die mit einem Deadline-Check erweiterten Methoden in der abgabe.php. SELECT DISTINCT aufgaben.blatt FROM ( aufgaben LEFT JOIN abgaben ON aufgaben.id_aufgabe= abgaben.id_aufgabe) WHERE aufgaben.deadline <= NOW() AND NOW() <= DATE_ADD( aufgaben.deadline, ".OSRTLP_DELAY.") AND abgaben.status= offen AND abgaben.matrikelnr= ". $matrikelnr." ; Die Konstante OSRTLP_DELAY gibt dabei an, wie lange nach Erreichen einer Deadline Aufgaben verspätet eingereicht werden dürfen. Diese und weitere Parameter müssen dazu in der config.php im ntool-ordner festgelegt werden. Dort wird auch definiert, welche durchschnittliche Zeit einem Studenten zusätzlich bei jeder Einreichung gutgeschrieben werden soll, die er für das Einloggen in das Abgabesystem und das Hochladen der berechneten Puzzle-Lösungen benötigt Der Deadline-Check Dadurch, dass das System bei Erreichen einer Deadline nun nicht mehr gesperrt wird, gilt es eine entsprechende Deadline-Überprüfung vor alle Codestellen einzubauen, die Einträge der abgabe-tabelle modifizieren. So sollen beispielsweise die Daten eines Studenten, dem vor Erreichen einer Deadline die Maske zum Modifizieren seines Abgaben- Kommentares angezeigt wurde, nicht mehr übernommen werden, wenn während der Bearbeitung die Abgabefrist überschritten worden ist. Die betroffenen Methoden aus der abgabe.php sind in Tabelle 4.1 aufgeführt. 20

31 4.3. Das modifizierte System Die gepackte Abgabe Als Eingabe für eine verspätete Abgabe akzeptiert OSRTLP ein einzelnes Dokument. Es kann jedoch vorkommen, dass mehrere Dateien zu unterschiedlichen Aufgaben abgegeben werden müssen. Ferner soll es möglich sein, Kommentare für die Korrektoren zu hinterlassen. Es bietet sich daher an, eine Ordnerstruktur zu definieren, auf deren Grundlage Aufgaben automatisiert eingelesen und in der Datenbank gespeichert werden können. Möchte ein Student eine verspätete Abgabe tätigen, muss diese Struktur eingehalten werden. Als oberster Ordner wird dabei Blatt x verwendet, wobei x die Nummer des einzureichenden Blattes ist. Darunter befinden sich die Aufgabenordner mit der Bezeichnung Aufgabe x. Innerhalb dieser Ordner können sich beliebige Dateien befinden, die als Dateiabgabe für die jeweilige Aufgabe interpretiert werden. Abgabe.txt ist dabei für den Kommentar einer Abgabe reserviert, die dem Korrektor angezeigt wird. Zuletzt wird der Ordner Blatt x inklusive aller Unterordner in eine Zip-Datei gepackt und später mit der zugehörigen OSRTLP-Lösungsdatei in der Webabgabe hochgeladen Implementierung der OSRTLP-Schnittstelle Einführung Die Kernfunktionen der verspäteten Abgabe bieten die Skripte im Ordner osrtlp. Einen Überblick verschafft Abbildung 4.2. Befindet sich ein Student in einem OSRTLP-Zeit- Abbildung 4.2.: Die Ordner- und Dateistruktur des osrtlp-ordners. 21

32 4. Das Web-Abgabesystem fenster (das heißt die Deadline eines Blattes ist verstrichen, jedoch noch nicht das Zeitfenster für die verspätete Abgabe), so kann er seine Lösungen nachträglich einreichen, indem er in der Webabgabe das nachzureichende Übungsblatt bestimmt. Im Anschluss hat er die Gelegenheit, seine Zip-Datei mit der gepackten Aufgabenstruktur sowie die zugehörige OSRTLP-Lösungsdatei zum Upload auszuwählen. Beim Klick auf die Schaltfläche Hochladen wird die Methode show_osrtlp_abgabe_step2() der im ntool-ordner befindlichen abgabe.php aufgerufen. Sie dient der Bearbeitung der hochgeladenen Dateien. Nach routinemäßigen Integritätsüberprüfungen werden die eingereichten Dokumente in einem temporären Unterverzeichnis zwischengespeichert. Um die Logik der OSRTLP-Verarbeitung von der Webabgabe-Software zu trennen, liegt diese separat in den Dateien osrtlp.php, stage1.php und stage2.php. Innerhalb der show_osrtlp_abgabe_step2()-methode wird als einzige Funktion runosrtlp() in der osrtlp.php aufgerufen, die für die Verarbeitung der eingereichten Aufgaben mit Hilfe von OSRTLP zuständig ist, so dass der Webabgabe die Details der Berechnungen verborgen bleiben. Als Rückgabewert erhält sie lediglich ein Array von Instanzen der Klasse Aufgabe, die in class.aufgabe.php definiert ist. Jede Instanz, die innerhalb der runosrtlp()- Methode erstellt wird, erhält Informationen darüber, ob diese Aufgabe vom Studenten eingereicht wurde und ob die Annahme akzeptiert wurde. Dabei werden nur Instanzen zu den Aufgaben erstellt, die verspätet abgegeben werden können. Lädt ein Student demnach Aufgaben x und y hoch, es kann aber nur z nachgereicht werden, besteht das Array aus einer Instanz der Aufgabe z mit dem Bearbeitungsstatus offen. Eine Annahme ist nicht erfolgt. Die Webabgabe-Software zeigt daher lediglich die in den zurückgegebenen Aufgaben-Instanzen gespeicherten Stati an. Ermittlung der Zeitgutschrift Die Methode runosrtlp() innerhalb der osrtlp.php lässt sich in zwei größere Einheiten aufteilen, die sich jeweils in den Skripten stage1.php und stage2.php befinden. Die primäre Aufgabe von stage1.php ist es, die Anzahl an Minuten in Erfahrung zu bringen, die dem Studenten mit dieser Abgabe gutgeschrieben werden kann. Lässt sich die Zeitspanne zwischen der offiziellen Abgabefrist und dem tatsächlichen Abgabezeitpunkt mit der vorgenommenen Zeitgutschrift überbrücken, so kann die Abgabe akzeptiert und nachträglich in die Datenbank aufgenommen werden. Dazu wird per Kommandozeile das PHP-Skript gettimecredit.php aufgerufen, dessen Aufgabe es ist, eine Kette von 22

33 4.3. Das modifizierte System OSRTLP-Lösungen zu überprüfen, entsprechende Zeitgutschriften zu addieren und als Summe zurückzugeben. Dazu sind die ausführbare Anwendung OSRTLP in den Ordner programm, sowie die privaten Schlüssel der veröffentlichten Puzzles in den Ordner pk zu legen. Die Auslagerung in ein eigenes Skript erfolgte, um unabhängig von dieser speziellen Webabgabe-Software eine Möglichkeit zu bieten, Lösungsketten automatisiert zu überprüfen, da das Kommandozeilentool von OSRTLP dies nicht unterstützt. So kann die enthaltene Methode auf jedem Rechner ausgeführt werden, auf dem PHP installiert ist. Weitere Bibliotheken oder Tools werden nicht benötigt. Der gutzuschreibende Zeitwert in Minuten wird als Integer-Wert in eine Pickup-Datei geschrieben, deren Pfad dem get- TimeCredit.php-Skript beim Aufruf übergeben wird. Den Rückgabewert über die Kommandozeile zurückzugeben scheitert an der Tatsache, dass nur Werte bis 255 möglich sind. Da jedoch Minutenwerte zurückgegeben werden sollen, die bis in die Zehntausende reichen, ist dieser Weg ungeeignet. stage1.php liest den Wert aus der Pickup-Datei und gibt ihn weiter an die Hauptmethode runosrtlp() zurück. Daraufhin wird dort die oberste Ordnerstruktur der entpackten eingereichten Aufgabenstruktur überprüft. Ist diese in Ordnung, werden per SQL die für die verspätete Abgabe in Frage kommenden Aufgaben erfragt. Für jede dieser Aufgaben wird nun eine Instanz der Klasse Aufgabe erstellt, die unter anderem den Bearbeitungsstatus festhalten soll. Übernahme der eingereichten Aufgaben Das Einlesen der eingereichten Aufgaben übernimmt die Methode dostage2() in der PHP-Datei stage2.php. Bei ihrem Aufruf wird als Parameter das vorbereitete Array der Aufgaben-Instanzen übergeben. Im Anschluss wird für jede Aufgabeninstanz überprüft, ob eine Abgabe vorliegt, diese ein gültiges Format besitzt, eventuell zusätzlich eingereichte Dateien erlaubt sind und angenommen werden können und ob Kommentare für die Korrektoren vorliegen. Sind alle Anforderungen erfüllt, wird die Abgabe in die Datenbank übernommen und der Status auf abgegeben gesetzt. Zusätzlich wird ein spezieller Hinweis im Kommentarfeld der Korrektoren hinterlassen, so dass diese davon in Kenntnis gesetzt werden, dass eine Abgabe per OSRTLP nachgereicht wurde. Ansonsten gibt es innerhalb der Datenbank keinen Unterschied zu einer regulären Abgabe. Anschließend wird der Status der betreffenden Aufgabeninstanz auf abgegeben gesetzt und mit der Verarbeitung der nächsten Aufgabe begonnen. Sind alle Aufgaben des Arrays 23

34 4. Das Web-Abgabesystem abgearbeitet, wird die Methode dostage2() verlassen. runosrtlp() übergibt daraufhin der show_osrtlp_abgabe_step2()-methode das Array der Aufgabeninstanzen, um mittels dessen Hilfe dem Studenten den Bearbeitungsstatus der eingereichten Aufgaben anzuzeigen. Daraufhin werden die erfolgreich nachgereichten Aufgaben in der Web-Abgabe wie gewöhnliche Abgaben aufgelistet. Die Schnittstelle für den GUI-Upload Die Aufgabe der acceptance.php ist das Annehmen von Lösungen per HTTP-POST- Anfragen über die im folgenden Kapitel vorgestellten OSRTLP-GUI. Dabei werden vier Parameter erwartet: Die Benutzerkennung, ein Passwort, die gepackte Aufgabenstruktur und die zugehörige OSRTLP-Lösungskette. Sind alle vier Parameter gesetzt, wird nach der Überprüfung der Zugangsdaten der aus der show_osrtlp_abgabe_step2()-methode bekannte Prozess gestartet: Die beiden eingereichten Dateien werden zur weiteren Bearbeitung in einen temporären Ordner kopiert und die runosrtlp()-methode aufgerufen. Zuletzt wird das Ergebnis der Bearbeitung der eingereichten Aufgaben im Klartext als Antwort auf den HTTP-POST ausgegeben. Neben der Realisierung der Annahme über HTTP-POST wäre auch der Weg über FTP oder WEBDAV möglich gewesen. Da diese Protokolle jedoch keinen Vorteil bringen, sondern im Gegenteil zusätzlichen Installations- und Verwaltungsaufwand verursachen, wurde von ihrem Einsatz abgesehen Angriffsmöglichkeit Interessant ist die Frage, ob der Webabgabe-Server durch sehr viele gleichzeitige HTTP- POST-Anfragen an die acceptance.php mit angehängten Dateien absichtlich überlastet werden kann, ob also ein Distributed Denial of Service (DDoS)-Angriff möglich wäre. Schließlich erfolgen der Benutzerlogin und das Entgegennehmen der einzureichenden Dateien in einem einzigen HTTP-POST-Schritt. So könnten Nutzer Daten hochladen und den Server für diese Zeit auslasten, obwohl sie offensichtlich keine gültigen Zugangsdaten besitzen. Bei näherer Betrachtung wird jedoch klar, dass über diesen Weg im Prinzip jede Webseite angegriffen werden kann, da die an HTTP-POST-Anfragen angehängten Dateien bis zu einer bestimmten Größe von den meisten Webservern direkt entgegengenommen werden. Ein solches Problem besteht also unabhängig davon, ob sich ein Benutzer in ein System eingeloggt hat oder nicht. 24

35 4.4. Sicherheit Einen in diesem Kontext interessanten Angriffsvektor auf Webserver mittels DDoS- Attacken wird in [24] aufgezeigt. Dabei wird ein korrekter HTTP-POST-Header an den Server übertragen, bevor äußerst langsam die übrigen Daten gesendet werden. Werden sehr viele Anfragen dieses Typs gleichzeitig an ein Ziel geschickt, ist wegen der aufwendigen Verbindungsverwaltung eine starke Beanspruchung der Server-Ressourcen die Folge. Das Resultat kann die Nichterreichbarkeit des Servers sein. Die Tatsache, dass diese Methode auf dem Application-Layer arbeitet und von üblichem HTTP-Verkehr im Prinzip nicht zu unterscheiden ist, erschwert das Entdecken und macht sie dadurch für Angreifer umso attraktiver Sicherheit Da das bestehende Web-Abgabesystem vor mehr als fünf Jahren entwickelt wurde, wird an dieser Stelle näher auf das Thema Sicherheit eingegangen. So sind in der Zwischenzeit viele neue Angriffsvektoren auf Webschnittstellen und Datenbanksysteme entwickelt worden. Im folgenden werden zwei grundlegende Angriffstechniken vorgestellt, von denen die bestehende Web-Abgabesoftware zumindest teilweise betroffen ist Cross-Site Scripting Cross-Site Scripting (XSS) bezeichnet den Typ einer Sicherheitsverwundbarkeit in Webanwendungen, bei dessen Ausnutzung Daten aus einem nicht vertrauenswürdigen Kontext in einen anderen Kontext eingeschleust werden, in dem sie als vertrauenswürdig gelten. Ziel eines Angriffs über diese Art von Sicherheitslücke ist meistens das Ausspähen fremder Benutzeridentitätsdaten. Cross-Site Scripting ist immer dann möglich, wenn Skripte Daten von Nutzern entgegennehmen und diese weiterverarbeiten, ohne deren Zusammensetzung genauer zu prüfen. Werden diese Eingaben in einem anderen Zusammenhang wieder ausgegeben, lassen sich so ganze (Schädlings-)Programme auf entfernte anzugreifende Rechner übertragen und ausführen. Ein Beispiel: Eine Suchmaschine ermöglicht das Durchsuchen von Dokumenten per Websuche. Der Suchbegriff wird dabei als Parameter an das ausführende Suchskript übergeben: 25

36 4. Das Web-Abgabesystem Bei regulärer Verwendung würde zusammen mit dem Suchergebnis als Rückgabe Ihr Suchbegriff lautet: HalloWelt. ausgegeben werden. Übergibt man nun jedoch als Parameter statt HalloWelt folgenden JavaScript-Code, wird dieser in den HTML-Quelltext eingebaut, an den Benutzer verschickt und dort vom Browser ausgeführt: <script type="text/javascript">alert("achtung!")</script> Der Browser erhält als Antwort auf die Suche den Teilstring Ihr Suchbegriff lautet: <script type= text/javascript >alert( Achtung! )</script>. Da der Browser natürlich nicht wissen kann, dass der Script-Teil untergeschoben wurde, führt er diesen aus; eine Meldung mit der Nachricht Achtung! wird angezeigt. Im Web-Abgabesystem gibt es eine entsprechende Lücke in der Namensbehandlung von hochgeladenen Abgabedateien. Lädt ein Nutzer einen zu einer Aufgabe gehörenden Anhang hoch, wird der Dateiname ohne weitere Überprüfung in die Datenbank übernommen: $file_name_hex="0x".bin2hex($_files[ datei ][ name ]); Zwar wird die Länge des Dateinamens innerhalb der Datenbank auf 30 Zeichen begrenzt, Angriffe werden dadurch jedoch nur erschwert, aber nicht unmöglich gemacht. An all den Stellen, wo dieser Anhang nun angezeigt wird also auch auf der Korrektorseite wird der Dateiname, ohne vorherige Überprüfung auf spezielle Sonderzeichen, ausgegeben. So wäre es möglich, über den Dateinamen Code in das System zu schmuggeln, so dass dieser nicht nur beim Studenten selbst, sondern auch beim zuständigen Korrektor ausgeführt wird. Dabei könnte man mittels Inlineframes externen Code nachladen oder JavaScript einschleusen. Um das beschriebene Problem zu beheben, empfiehlt es sich, Dateinamen vor der Übernahme in die Datenbank auf entsprechenden Code zu prüfen: $dateiname = strip_tags($_files[ datei ][ name ]); Die PHP-Funktion strip_tags entfernt dabei alle vorkommenden HTML- und PHP-Befehle im übergebenen Dateinamen und gibt das Resultat als String zurück. Diese Überprüfung wurde in das Abgabesystem integriert, um die gezeigte Sicherheitslücke zu schließen SQL-Injections Auch bei SQL-Injections wird der Umstand ausgenutzt, dass Nutzereingabedaten oftmals nicht gründlich genug auf Schadcode überprüft und deshalb in einem falschen Kontext vom SQL-Interpreter ausgeführt werden. Rain Forest Puppy ist einer der ersten, der 26

37 4.4. Sicherheit diese Technik beschrieben hat [18]. Ziel dieser Angriffe ist es, Informationen auszuspähen, Datenbestände zu verändern oder gar ganze Datenbankserver zu übernehmen, ohne über eine entsprechende Berechtigungen dafür zu verfügen. Zu Schadcode lassen sich alle die Zeichenketten zählen, die für den SQL-Interpreter Sonderfunktionen besitzen. Ein Beispiel: SELECT * FROM benutzer WHERE name = " + benutzername + " Mittels dieser SQL-Abfrage sollen die Informationen über einen in einem System registrierten Benutzer abgefragt werden. Die Variable benutzername wird dabei direkt durch die Eingabe des Anwenders gefüllt und der gesamte SQL-String an den Datenbankinterpreter übergeben. Wird nun als Eingabe or 1 = 1 verwendet, ergibt das zusammengesetzte SQL-Statement einen völlig neuen Sinn: SELECT * FROM benutzer WHERE name = OR 1 = 1 Die Bedingung im rechten Teil ist immer wahr, so dass sich ein Angreifer Zugriff zu dem System verschaffen könnte, da von der Datenbank immer ein gültiger Benutzername zurückgegeben werden würde. Im bestehenden Web-Abgabesystem werden Eingaben des Benutzers über reguläre Ausdrücke auf Validität überprüft. Meist ist es jedoch günstiger, spezielle Methoden des eingesetzten Datenbanksystems zu nutzen, die Eingaben auf Schadcode überprüfen und diesen unschädlich machen. Eine entsprechende Funktionalität in der MySQL-Datenbank bietet die Methode mysql_real_escape_string(). Ab PHP Version 5.1 wird empfohlen, Datenbankabfragen über so genannte PHP Data Objects (PDO) durchzuführen, über die auch Prepared Statements möglich sind. Dabei wird dem PDO für jede SQL-Abfrage bekannt gemacht, welcher Teil statisch und welcher dynamisch ist. Dem dynamischen Part kann zusätzlich ein erwarteter Datentyp vergeben werden, so dass mögliche Einbruchsversuche noch früher erkannt werden. Da sich das bestehende Web-Abgabesystem unter anderem auf besondere Eigenschaften der MySQL-Datenbank stützt, ist eine Umwandlung in die Verwendung von PDOs nur mit sehr hohem Aufwand möglich. Der in der acceptance.php befindliche Code zur Benutzerauthentifizierung verwendet jedoch Prepared Statements unter Einsatz von PDOs. 27

38

39 5. Die graphische Benutzeroberfläche 5.1. Ein Überblick Die graphische Benutzeroberfläche ermöglicht Autoren mittels des OSRTLP-Protokolls auf komfortablem Weg Dokumente verspätet einzureichen. Abbildung 5.1 zeigt den Startbildschirm des Programms, das in Form eines Wizards gestaltet ist. Abbildung 5.1.: OSRTLP-GUI: Der Startbildschirm. Die Wizard-Struktur bietet mehrere Vorteile. So wird der Anwender nicht mit zu vielen Informationen auf einmal überhäuft, sondern bekommt nur die für den Einzelschritt notwendigen Eingabemöglichkeiten und Daten angezeigt. Ferner lassen sich so voneinander abhängige Datenstrukturen Stück für Stück aufbauen. Im Gegensatz zum reinen Kommandozeilentool bietet diese Applikation die Möglichkeit, ganze Lösungsketten zu berechnen, so dass nicht bekannt sein muss, wie lange die 29

40 5. Die graphische Benutzeroberfläche Kommunikation zur Institution, die die Dokumente entgegennimmt, gestört sein wird. Ist zu erwarten, dass der Offline-Zeitraum länger ausfällt, kann dies über die GUI eingegeben werden, so dass das Programm durch eine günstige Kombination von Puzzles unterschiedlichster Komplexität die Zahl der eingesetzten Rätsel minimiert. Denn jede anfallende Puzzle-Lösung benötigt auf dem Institutionsserver bei der Überprüfung eine Private-Key-Operation, die sehr rechenintensiv ist und einige Millisekunden dauern kann. Eine weitere wichtige Unterstützung für den Nutzer bildet die automatische Upload- Funktion der Applikation. Ist der Server der betreffenden Institution für mehrere Stunden nicht erreichbar, so kann es für den Anwender günstig sein, das Programm vor dem Lösen eines neuen Puzzles prüfen zu lassen, ob eine Verbindung zum Server hergestellt werden kann. Ist dies der Fall, so können die abzugegeben Dokumente mit den OSRTLP- Lösungen zusammen automatisch hochgeladen werden, ohne dass der Benutzer anwesend sein muss Der Programm-Ablauf Bei Programmstart kann der Anwender einen Dialog mit erweiterten Einstellungen aufrufen. Dort lassen sich die Logindaten für den automatischem Upload eintragen und ein SSL-Zertifikat bestimmen, das bei der Verbindung per SSL mit dem des Institutionsservers übereinstimmen muss, sofern das Institutions-Zertifikat selbst unterzeichnet wurde und nicht von einer bekannten Root-Zertifikat-Quelle stammt. Zuletzt kann ein Ordner für Root-Zertifikate ausgewählt werden, mittels denen die Puzzle-Dateien auf Gültigkeit überprüft werden können. Sind diese Eingaben getätigt, wird im nächsten Schritt der Ordner mit den zu verwendenen Puzzle-Dateien ausgewählt. Klickt der Benutzer auf Next, erscheint im darauffolgenden Dialog eine Auflistung der gefundenen Puzzle-Dateien sowie die zugehörige relative Berechnungskomplexität in Form der Berechnungzeit. Die Ergebnisse einer Überprüfung der Puzzles mittels der angegebenen Root-Zertifikate werden dabei in einer eigenen Spalte angezeigt. Auf den weiteren Wizardseiten legt der Anwender das betreffende einzureichende Dokument sowie die minimale Berechnungszeit fest. Diese kann sinnvoll sein, wenn von Beginn an bekannt ist, wie lange die Instititution mindestens nicht erreichbar sein wird. Ist der Zeitraum vergleichsweise groß, wird direkt im ersten Schritt ein entsprechend komplexes Puzz- 30

41 5.2. Der Programm-Ablauf le gelöst. Nach einer Übersicht der getätigten Einstellungen zeigt eine eigene Seite den Berechnungsfortschritt eines zu lösenden Rätsels an (siehe Abbildung 5.2). Abbildung 5.2.: OSRTLP-GUI: Die Übersichtsseite der laufenden Berechnungen. Da auf einem Rechner, der im Vergleich zu einer Referenzmaschine langsamer ist, das Lösen eines Puzzles mehr Zeit in Anspruch nimmt, als die offizielle Berechnungsdauer eines Puzzles angibt, wird der Benutzer unter anderem auch über die vorraussichtliche verbleibende Berechnungszeitspanne informiert. Stellt sich während der Berechnungen heraus, dass auf absehbare Zeit kein Kontakt zum Server zustande kommen wird, kann der Benutzer eine Mindest-Berechnungszeit (Lower-Calculation-Threshold = LCT) festlegen. Über eine eigene Checkbox lässt sich ein automatischer Upload-Mechanismus aktivieren, sofern hierfür zu Beginn entsprechende Logindaten eingegeben worden sind. Sobald der Institutionsserver wieder zu erreichen ist, erfolgt dann automatisch die Abgabe der Dokumente. Im Anschluss an den Upload-Prozess erhält der Anwender eine 31

42 5. Die graphische Benutzeroberfläche kurze Zusammenfassung über die Ergebnisse der Berechnungen sowie über den genauen Speicherort der Datei, die die errechneten Lösungen beinhaltet Das Programm im Detail Der Wizard Die Hauptklasse der GUI wird durch OsrtlpWizard gebildet. Sie besitzt alle Wizardseiten, die jeweils in eigenen Klassen enthalten sind. Das Aufteilen der Seiten in eigene Klassen gewährleistet, dass spezielle Methoden der Wizardseiten-Klassen, die von Qt gestellt werden, durch eigene überschrieben werden können. Dies ist dann notwendig, wenn zum Beispiel eine Next -Schaltfläche einer Wizardseite erst unter ganz bestimmten Voraussetzungen anklickbar sein soll oder wenn vor dem erstmaligen Anzeigen einer Seite bestimmte Vorbereitungen getroffen werden sollen. Wäre der gesamte Assistent inklusive der einzelnen Seiten mittels des Qt Designers in einer einzigen ui-datei vereint erstellt worden, so wäre das Überschreiben der Methoden der einzelnen Wizardseiten nicht möglich gewesen, da auf diese Weise nur der Zugriff auf die Hauptklasse gewährt wird. Aus diesem Grund befindet sich jede Wizardseite in einer eigenen ui-datei mit einer jeweils seperat vorliegenden Klasse Das Format der Lösungsdateien Das zu OSRTLP gehörende Kommandozeilentool unterstützt die Berechnung und Speicherung einer einzelnen Lösung in einer Datei mit der Endung sol. Ganze Lösungsketten können auf direktem Wege nicht erstellt werden. Aus diesem Grund wurde ein neues Dateiformat multiple solutions mit der Endung mol eingeführt, das als Erweiterung eine Unterstützung für Lösungsketten mitbringt. So werden nun pro Zeile nicht mehr nur die Lösung selbst, sondern auch der Name des verwendeten Puzzles gespeichert Die Vorbereitungs-Schleife Hat ein Anwender bereits einmal eine Lösungskette (mol-datei) errechnet, den Vorgang dann aber vor dem Lösen eines neuen Puzzles unterbrochen, so können später die Berechnungen an der letzten Puzzle-Lösung fortgeführt werden. Dazu wird das letzte 32

43 5.3. Das Programm im Detail Ergebnis einer Kette als Eingabe genutzt. Die Zwischenresultate der Berechnung einer Puzzle-Lösung selbst werden in einer Datei mit der Endung molbackup gespeichert. Wurde das Lösen eines Puzzles etwa durch einen Rechnerabsturz unterbrochen, kann ab dem gespeicherten Zwischenschritt an der Lösung weitergerechnet werden. Diese Vorbereitungsphase, die aus der Verarbeitung einer eventuell vorhandenen mol- und molbackup- Datei besteht, wird durch den Automaten in Abbildung 5.3 im Detail abgebildet. Abbildung 5.3.: Der Automat der Vorbereitungs-Schleife Die Berechnungs-Schleife Sobald der Anwender alle Eingaben getätigt hat, kann die Berechnung der Puzzle-Lösungen beginnen. Aufgrund des sehr rechenintensiven Prozesses empfiehlt es sich, die Berechnungs-Schleife in einen eigenen Loop-Thread auszulagern, der durch die Klasse OsrtlpLoop realisiert wird. Ohne eines solchen seperaten Threads hätte die Berechnung 33

44 5. Die graphische Benutzeroberfläche im GUI-Thread erfolgen müssen, was die Folge hätte, dass Nutzereingaben nur sporadisch verarbeitet werden: Das Programm begänne zu ruckeln. Abbildung 5.4.: Der Automat der Berechnungs-Schleife. Da in Qt aus dem Loop-Thread heraus keine direkten GUI-Zeichenoperationen, wie zum Beispiel das Anzeigen einer MessageBox, erfolgen dürfen, müssen diese mittels des Signal-Slot-Konzeptes über emit ausgelöst und im GUI-Thread ausgeführt werden. Das korrekte Abarbeiten der ausgelösten Signale übernimmt Qt automatisch. Aufgrund der Komplexität der Berechnungs-Schleife, die in Abbildung 5.4 als Schema dargestellt ist, wurde die Umsetzung des Automaten in Form einer großen Switch- Anweisung gewählt. So können später funktionale Veränderungen einfacher eingearbeitet werden. 34

Leitfaden Datensicherung und Datenrücksicherung

Leitfaden Datensicherung und Datenrücksicherung Leitfaden Datensicherung und Datenrücksicherung Inhaltsverzeichnis 1. Einführung - Das Datenbankverzeichnis von Advolux... 2 2. Die Datensicherung... 2 2.1 Advolux im lokalen Modus... 2 2.1.1 Manuelles

Mehr

Übungsbetrieb in L²P aus Studierenden-Sicht

Übungsbetrieb in L²P aus Studierenden-Sicht Übungsbetrieb in L²P aus Studierenden-Sicht Allgemeines In vielen Lehrveranstaltungen werden Übungen ausgeteilt oder zum Download angeboten, die von den Studierenden alleine oder in Gruppen zu bearbeiten

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

Rembo/mySHN. Version 2.0 Kurzanleitung. das selbstheilende Netzwerk. Stand: 01.05.2006. my selfhealing network

Rembo/mySHN. Version 2.0 Kurzanleitung. das selbstheilende Netzwerk. Stand: 01.05.2006. my selfhealing network Rembo/mySHN Version 2.0 Kurzanleitung das selbstheilende Netzwerk my selfhealing network Stand: 01.05.2006 Postanschrift: SBE network solutions GmbH Edisonstrasse 21 74076 Heilbronn IV Inhalt Kurzanleitung...i

Mehr

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien

Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien 3. Installation Ihres Shops im Internet / Kurzanleitung Kurzanleitung: Starten Sie das Shopinstallatonsprogramm und übertragen Sie alle Dateien Geben Sie während der Webbasierten Installationsroutine alle

Mehr

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Zugriff auf Cloud Object Storage mit Cyberduck...Seite 04 3. Neuen Container

Mehr

Beantragen und installieren eines Nutzerzertifikats der CA HS-Bochum - Basic

Beantragen und installieren eines Nutzerzertifikats der CA HS-Bochum - Basic CAMPUS IT DEPARTMENT OF INFORMATION TECHNOLOGY Beantragen und installieren eines Nutzerzertifikats der CA HS-Bochum - Basic Seite 1 Ein Dokument der Campus IT Hochschule Bochum Stand 12.2013 Version 0.02

Mehr

Handbuch für Android 1.5

Handbuch für Android 1.5 Handbuch für Android 1.5 1 Inhaltsverzeichnis 1 Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 3 2. Installation... 5 3. Grundfunktionen... 5 3.1 Einrichtung von Boxcryptor

Mehr

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück Mehrdad Momeny Übersetzung: Burkhard Lück 2 Inhaltsverzeichnis 1 Einführung 5 2 Blogilo benutzen 6 2.1 Erste Schritte......................................... 6 2.2 Einen Blog einrichten....................................

Mehr

Anleitung zur Installation von Thunderbird

Anleitung zur Installation von Thunderbird Anleitung zur Installation von Thunderbird Download und Installation 1. Dieses Dokument behandelt die Installation von PGP mit Thunderbird unter Windows 7. Im Allgemeinen ist diese Dokumentation überall

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Handbuch für ios 1.4 1

Handbuch für ios 1.4 1 Handbuch für ios 1.4 1 Inhaltsverzeichnis 1. Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 4 2. Installation... 5 3. Grundfunktionen... 6 3.1. Einrichtung von Boxcryptor

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

EBW Systems HANDBUCH Offline Programm

EBW Systems HANDBUCH Offline Programm EBW Systems HANDBUCH Offline Programm Seite 1 von 7 Inhaltsverzeichnis 1. Programmsteuerung 2. Veranstaltungen verwalten 3. Daten absenden 4. Sonstige Hinweise Seite 2 von 7 1. Programmsteuerung Programm

Mehr

Auftrags- und Rechnungsbearbeitung. immo-office-handwerkerportal. Schnelleinstieg

Auftrags- und Rechnungsbearbeitung. immo-office-handwerkerportal. Schnelleinstieg Auftrags- und Rechnungsbearbeitung immo-office-handwerkerportal Schnelleinstieg Dieser Schnelleinstieg ersetzt nicht das Handbuch, dort sind die einzelnen Funktionen ausführlich erläutert! Schnelleinstieg

Mehr

Dropbox Verschlüsselung mit TrueCrypt

Dropbox Verschlüsselung mit TrueCrypt 1 von 8 19.04.2013 15:17 Datenbank Dropbox Verschlüsselung mit TrueCrypt http://www.hpier.de/wb» Software» Dropbox Verschlüsselung mit TrueCrypt Daten in der Dropbox Cloud mit TrueCrypt sicher verschlüsseln

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python. 1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

WordPress lokal mit Xaamp installieren

WordPress lokal mit Xaamp installieren WordPress lokal mit Xaamp installieren Hallo und willkommen zu einem weiteren Teil der WordPress Serie, in diesem Teil geht es um die Lokale Installation von WordPress mithilfe von Xaamp. Kurz und knapp

Mehr

Die eigene, persönliche Webseite der Fakultät mittels Imperia (CMS) pflegen

Die eigene, persönliche Webseite der Fakultät mittels Imperia (CMS) pflegen Die eigene, persönliche Webseite der Fakultät mittels Imperia (CMS) pflegen 27.10.2004 Dipl.Ing. Dirk Osterkamp/@com 1 Die eigene, persönliche Webseite der Fakultät mittels Imperia (CMS) pflegen Zusammenhang

Mehr

Installationsanleitung für den Online-Backup Client

Installationsanleitung für den Online-Backup Client Installationsanleitung für den Online-Backup Client Inhalt Download und Installation... 2 Login... 4 Konfiguration... 5 Erste Vollsicherung ausführen... 7 Webinterface... 7 FAQ Bitte beachten sie folgende

Mehr

Inhaltsverzeichnis. 1. Einführung 2. Login 3. Persöhnliche Daten 4. Meine Webseite 5. Navigation 6. Backups

Inhaltsverzeichnis. 1. Einführung 2. Login 3. Persöhnliche Daten 4. Meine Webseite 5. Navigation 6. Backups Erste Schritte Wir heißen Sie herzlich willkommen im CMS-System der Euroweb Internet GmbH. Hier erfahren Sie die grundlegendsten Informationen, die Sie zur Bearbeitung Ihrer Website benötigen. Inhaltsverzeichnis

Mehr

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH Copyright Wolters Kluwer Deutschland GmbH AnNoText AnNoText Online-Update Wolters Kluwer Deutschland GmbH Software + Services Legal Robert-Bosch-Straße 6 D-50354 Hürth Telefon (02 21) 9 43 73-6000 Telefax

Mehr

Version Datum Grund 1.01 12.04.05 Abschnitt Automatische Umstellung hinzugefügt und Hilfe ergänzt um Webseiten

Version Datum Grund 1.01 12.04.05 Abschnitt Automatische Umstellung hinzugefügt und Hilfe ergänzt um Webseiten Outlook-Umstellung (im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005) Änderungen in diesem Dokument Version Datum Grund 1.01 Abschnitt Automatische Umstellung hinzugefügt und Hilfe ergänzt um

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Merkblatt: Sichere E-Mail-Kommunikation zur datenschutz cert GmbH

Merkblatt: Sichere E-Mail-Kommunikation zur datenschutz cert GmbH Version 1.3 März 2014 Merkblatt: Sichere E-Mail-Kommunikation zur datenschutz cert GmbH 1. Relevanz der Verschlüsselung E-Mails lassen sich mit geringen Kenntnissen auf dem Weg durch die elektronischen

Mehr

Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball

Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball Anleitung: Sammel-Rechnungen für Lizenzen bei Swiss Basketball Inhalt 1. Login: Wo und Wie kann ich mich einloggen?... 2 Die Webseite: www.basketplan.ch... 2 Mein Klub-Login?... 2 2. Orientierung: Was

Mehr

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ

6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6RIW&OHDQ Š 9HUVLRQ8SJUDGHDQOHLWXQJ 6HKUJHHKUWH6RIW&OHDQ $QZHQGHU LQ XQVHUHP 6RIW&OHDQ 8SGDWHV 'RZQORDGEHUHLFK ILQGHQ 6LH ]ZHL $UWHQ YRQ 8SGDWHV 1DFKIROJHQGHUIDKUHQ6LHZHOFKHV8SGDWHI U6LHGDVULFKWLJHLVWXQGZLH6LHGDV8SGDWHDXI,KUHP$UEHLWVSODW]GXUFKI

Mehr

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird.

Alle alltäglichen Aufgaben können auch über das Frontend durchgeführt werden, das in den anderen Anleitungen erläutert wird. Der Admin-Bereich im Backend Achtung: Diese Anleitung gibt nur einen groben Überblick über die häufigsten Aufgaben im Backend-Bereich. Sollten Sie sich nicht sicher sein, was genau Sie gerade tun, dann

Mehr

Anbindung an Wer-hat-Fotos.net

Anbindung an Wer-hat-Fotos.net Anbindung an Wer-hat-Fotos.net Stand: 7. Juni 2012 2012 Virthos Systems GmbH www.pixtacy.de Anbindung an Wer-hat-Fotos.net Einleitung Einleitung Dieses Dokument beschreibt, wie Sie Ihren Pixtacy-Shop an

Mehr

Hosting Control Panel - Anmeldung und Funktionen

Hosting Control Panel - Anmeldung und Funktionen Hosting Control Panel - Anmeldung und Funktionen Unser technischer Support steht Ihnen von Montag bis Freitag von 09:00-12:00 Uhr und von 14:00-17:00 Uhr zur Seite. Sie können uns Ihre Fragen selbstverständlich

Mehr

ELWIS 3.0. Dokumentation E-Mail-Verteilerlisten

ELWIS 3.0. Dokumentation E-Mail-Verteilerlisten ELWIS 3.0 Dokumentation E-Mail-Verteilerlisten Dienstleistungszentrum Informationstechnik im Geschäftsbereich des BMVBS (DLZ-IT BMVBS) Bundesanstalt für Wasserbau Am Ehrenberg 8, 98693 Ilmenau Stand, 10.02.2011

Mehr

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata

Nutzerhandbuch Softwaresystem Inspirata. Benutzerhandbuch Softwaresystem Inspirata Benutzerhandbuch Softwaresystem Inspirata 1 Inhaltsverzeichnis 1. Login und Logout... 3 2. Kalender/Buchungen auswählen... 5 3. Betreuer... 7 3.1 Buchung anlegen... 7 3.2 Betreuer zuordnen... 8 3.3 Notiz

Mehr

PeDaS Personal Data Safe. - Bedienungsanleitung -

PeDaS Personal Data Safe. - Bedienungsanleitung - PeDaS Personal Data Safe - Bedienungsanleitung - PeDaS Bedienungsanleitung v1.0 1/12 OWITA GmbH 2008 1 Initialisierung einer neuen SmartCard Starten Sie die PeDaS-Anwendung, nachdem Sie eine neue noch

Mehr

Thunderbird Portable + GPG/Enigmail

Thunderbird Portable + GPG/Enigmail Thunderbird Portable + GPG/Enigmail Bedienungsanleitung für die Programmversion 17.0.2 Kann heruntergeladen werden unter https://we.riseup.net/assets/125110/versions/1/thunderbirdportablegpg17.0.2.zip

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Installationsanleitung OpenVPN

Installationsanleitung OpenVPN Installationsanleitung OpenVPN Einleitung: Über dieses Dokument: Diese Bedienungsanleitung soll Ihnen helfen, OpenVPN als sicheren VPN-Zugang zu benutzen. Beachten Sie bitte, dass diese Anleitung von tops.net

Mehr

Leitfaden für die Veränderung von Texten auf der Metrik- Seite

Leitfaden für die Veränderung von Texten auf der Metrik- Seite Leitfaden für die Veränderung von Texten auf der Metrik- Seite 1. Einloggen... 2 2. Ändern vorhandener Text-Elemente... 3 a. Text auswählen... 3 b. Text ändern... 4 c. Änderungen speichern... 7 d. Link

Mehr

Bedienungsanleitung für den SecureCourier

Bedienungsanleitung für den SecureCourier Bedienungsanleitung für den SecureCourier Wo kann ich den SecureCourier nach der Installation auf meinem Computer finden? Den SecureCourier finden Sie dort, wo Sie mit Dateien umgehen und arbeiten. Bei

Mehr

Zentrale Installation

Zentrale Installation Einführung STEP 7 wird durch ein Setup-Programm installiert. Eingabeaufforderungen auf dem Bildschirm führen Sie Schritt für Schritt durch den gesamten Installationsvorgang. Mit der Record-Funktion steht

Mehr

So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage

So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage Anleitung zum Einpflegen von Praxisnachrichten auf LGNW Praxishomepages Stand: 15.September 2013 So erstellen bzw. ändern Sie schnell und einfach Texte auf der Aktuelles -Seite Ihrer Praxishomepage 1.

Mehr

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

ESecuremail Die einfache Email verschlüsselung

ESecuremail Die einfache Email verschlüsselung Wie Sie derzeit den Medien entnehmen können, erfassen und speichern die Geheimdienste aller Länder Emails ab, egal ob Sie verdächtig sind oder nicht. Die Inhalte von EMails werden dabei an Knotenpunkten

Mehr

Informationszentrum Hochschule Karlsruhe. Anleitung Plotter

Informationszentrum Hochschule Karlsruhe. Anleitung Plotter Informationszentrum Hochschule Karlsruhe Anleitung Plotter Inhaltsverzeichnis 1 Einführung 3 1.1 Begriffe..................................... 3 1.1.1 Plotserver................................ 3 1.1.2

Mehr

Installation im Netzwerk

Installation im Netzwerk Lernwerkstatt GS - Version 7 / Installation im Netzwerk Version 7.0.6 Installation im Netzwerk INHALTSVERZEICHNIS ALLGEMEINES... 2 DIE INSTALLATION... 3 Anlegen des Datenablage-Ordners auf dem Server...

Mehr

Typo 3 installieren. Schritt 1: Download von Typo3

Typo 3 installieren. Schritt 1: Download von Typo3 Typo 3 installieren Bevor Sie Typo3 installieren, müssen Sie folgende Informationen beachten: Typo3 benötigt eine leere Datenbank. Mit Ihrem Abonnement verfügen Sie über eine einzige Datenbank. Sie können

Mehr

Fiery Driver Configurator

Fiery Driver Configurator 2015 Electronics For Imaging, Inc. Die in dieser Veröffentlichung enthaltenen Informationen werden durch den Inhalt des Dokuments Rechtliche Hinweise für dieses Produkt abgedeckt. 16. November 2015 Inhalt

Mehr

9.2 Weitergeben. 9.2.1 Online-Album. 9.2 Weitergeben. Flash-Player

9.2 Weitergeben. 9.2.1 Online-Album. 9.2 Weitergeben. Flash-Player 9.2 Weitergeben Das Weitergeben und das Erstellen unterscheiden sich eigentlich nur wenig. Beim Erstellen liegt das Augenmerk mehr auf dem Ausdrucken, bei der Weitergabe handelt es sich eher um die elektronische

Mehr

Bedienungsanleitung EasyStechuhr

Bedienungsanleitung EasyStechuhr Thomas Schiffler Langestrasse 4 65366 Geisenheim http://www.thomasschiffler.de info@thomasschiffler.de Version 1.2 Inhaltsverzeichnis Inhaltsverzeichnis... 2 Einleitung... 3 Datenspeicherung... 3 Grundvoraussetzung...

Mehr

Kryptographie. nur mit. Freier Software!

Kryptographie. nur mit. Freier Software! Michael Stehmann Kryptographie nur mit Freier Software! Kurze Einführung in Kryptographie ErsterTeil: Bei der Kryptographie geht es um die Zukunft von Freiheit und Demokratie Artur P. Schmidt, 1997 http://www.heise.de/tp/artikel/1/1357/1.html

Mehr

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

Mehr

Anleitung zur. Installation und Konfiguration von x.qm. Stand: Februar 2014 Produkt der medatixx GmbH & Co. KG

Anleitung zur. Installation und Konfiguration von x.qm. Stand: Februar 2014 Produkt der medatixx GmbH & Co. KG Anleitung zur Installation und Konfiguration von x.qm Stand: Februar 2014 Produkt der medatixx GmbH & Co. KG Inhaltsverzeichnis Einleitung... 3 Systemvoraussetzungen... 3 SQL-Server installieren... 3 x.qm

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Handbuch zu Kontact für den Systemverwalter. Allen Winter

Handbuch zu Kontact für den Systemverwalter. Allen Winter Handbuch zu Kontact für den Systemverwalter Allen Winter 2 Inhaltsverzeichnis 1 Einführung 5 2 Kompatibilitäts-Probleme 6 2.1 Outlook und Exchange................................... 6 3 Anpassung des Verhaltens

Mehr

Steganos Secure E-Mail Schritt für Schritt-Anleitung EINLEITUNG SCHRITT 1: INSTALLATION

Steganos Secure E-Mail Schritt für Schritt-Anleitung EINLEITUNG SCHRITT 1: INSTALLATION Steganos Secure E-Mail Schritt für Schritt-Anleitung EINLEITUNG Obwohl inzwischen immer mehr PC-Nutzer wissen, dass eine E-Mail so leicht mitzulesen ist wie eine Postkarte, wird die elektronische Post

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

KOMPRIMIERUNGS & VERSCHLÜSSELUNGS- TOOL

KOMPRIMIERUNGS & VERSCHLÜSSELUNGS- TOOL SECRETZIP KOMPRIMIERUNGS- & VERSCHLÜSSELUNGS-Programm (nur für Windows) Das Programm ist auf dem USB Flash Drive enthalten. Bitte lesen Sie das Handbuch für den USB Flash Drive oder besuchen Sie integralmemory.com,

Mehr

FrogSure Installation und Konfiguration

FrogSure Installation und Konfiguration FrogSure Installation und Konfiguration 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis...1 2 Installation...1 2.1 Installation beginnen...2 2.2 Lizenzbedingungen...3 2.3 Installationsordner auswählen...4 2.4

Mehr

etermin Einbindung in Outlook

etermin Einbindung in Outlook etermin Einbindung in Outlook 1. Einführung Über etermin gebuchte Termine können bei Bedarf auch mit externen Terminkalendern, wie zum Beispiel Outlook, ical oder Google synchronisiert werden. Dieses Dokument

Mehr

KompetenzManager http://www.kompetenzmanager.ch/mah Manual für die Benutzung der Website

KompetenzManager http://www.kompetenzmanager.ch/mah Manual für die Benutzung der Website KompetenzManager http://www.kompetenzmanager.ch/mah Manual für die Benutzung der Website Inhalt Inhalt... 1 1. Anmelden beim Kompetenzmanager... 3 2. Erstellen eines neuen Kompetenzprofils... 4 2.1. Wizard

Mehr

Ihr(e) Gutachten bei der Zeitschrift Natur und Landschaft

Ihr(e) Gutachten bei der Zeitschrift Natur und Landschaft Kurzanleitung für Gutachter: Ihr(e) Gutachten bei der Zeitschrift Natur und Landschaft Stand: Juli 2010 Sehr geehrte Gutachterin, sehr geehrter Gutachter, wir begrüßen Sie herzlich beim Online-Einreichungssystem

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

BAYERISCHES STAATSMINISTERIUM DES INNERN

BAYERISCHES STAATSMINISTERIUM DES INNERN BAYERISCHES STAATSMINISTERIUM DES INNERN Bayer. Staatsministerium des Innern 80524 München Einsatznachbearbeitung und vermeintlicher Zertifikatfehler unter Internet Explorer bzw. Mozilla Firefox Bei sicheren

Mehr

ISA Server 2004 - Best Practice Analyzer

ISA Server 2004 - Best Practice Analyzer ISA Server 2004 - Best Practice Analyzer Die Informationen in diesem Artikel beziehen sich auf: Microsoft ISA Server 2004 Seit dem 08.12.2005 steht der Microsoft ISA Server 2004 Best Practice Analyzer

Mehr

Tutorial. Tutorial. Microsoft Office 2010 Standard Edition verteilen. 2011 DeskCenter Solutions AG

Tutorial. Tutorial. Microsoft Office 2010 Standard Edition verteilen. 2011 DeskCenter Solutions AG Tutorial Microsoft Office 2010 Standard Edition verteilen 2011 DeskCenter Solutions AG Inhaltsverzeichnis 1. Einführung...3 2. Office 2010 Ressourcen bereitstellen...3 3. Anpassung der Office Installation...4

Mehr

Ust.-VA ab 01.01.2013. Release 1.0.0

Ust.-VA ab 01.01.2013. Release 1.0.0 Ust.-VA ab 01.01.2013 Release 1.0.0 2012 myfactory International GmbH Seite 1 von 9 Ohne ausdrückliche schriftliche Erlaubnis dürfen weder das Handbuch noch Auszüge daraus mit mechanischen oder elektronischen

Mehr

Inhaltsverzeichnis Abbildungsverzeichnis

Inhaltsverzeichnis Abbildungsverzeichnis Inhaltsverzeichnis Abbildungsverzeichnis... 1 1 Eigener lokaler Webserver... 2 1.1 Download der Installationsdatei... 2 1.2 Installation auf externer Festplatte... 2 1.3 Dienste starten... 5 1.4 Webserver

Mehr

How2 Moodle 2.UP Aufgaben in Moodle anlegen

How2 Moodle 2.UP Aufgaben in Moodle anlegen How2 Moodle 2.UP wird herausgegeben von: AG elearning Service und Beratung für E Learning und Mediendidaktik How2 Moodle 2.UP Aufgaben in Moodle anlegen Universität Potsdam Am Neuen Palais 10 Haus 2, Raum

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Kurzanleitung SEPPmail

Kurzanleitung SEPPmail Eine Region Meine Bank Kurzanleitung SEPPmail (E-Mail Verschlüsselungslösung) Im folgenden Dokument wird Ihnen Schritt für Schritt die Bedienung unserer Verschlüsselungslösung SEPPmail gezeigt und alle

Mehr

Installation und Bedienung von vappx

Installation und Bedienung von vappx Installation und Bedienung von vappx in Verbindung mit WH Selfinvest Hosting Inhalt Seite 1. Installation Client Software 2 2. Starten von Anwendungen 5 3. Verbindung zu Anwendungen trennen/unterbrechen

Mehr

Anleitung zur Verwendung der Applikation zur Bezahlung der Maut über das Internet

Anleitung zur Verwendung der Applikation zur Bezahlung der Maut über das Internet Anleitung zur Verwendung der Applikation zur Bezahlung der Maut über das Internet Durch Anklicken der Ikone Benutzerportal haben Sie Zugang zur Applikation zur Bezahlung der slowenischen Maut über das

Mehr

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine)

Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen. Public-Key-Kryptographie (2 Termine) Digital Rights Management (DRM) Verfahren, die helfen Rechte an virtuellen Waren durchzusetzen Vorlesung im Sommersemester 2010 an der Technischen Universität Ilmenau von Privatdozent Dr.-Ing. habil. Jürgen

Mehr

10. Kryptographie. Was ist Kryptographie?

10. Kryptographie. Was ist Kryptographie? Chr.Nelius: Zahlentheorie (SoSe 2015) 39 10. Kryptographie Was ist Kryptographie? Die Kryptographie handelt von der Verschlüsselung (Chiffrierung) von Nachrichten zum Zwecke der Geheimhaltung und von dem

Mehr

Adressetiketten mit Hilfe der freien Namenslisten in BS und der Seriendruckfunktion von Microsoft Word erstellen

Adressetiketten mit Hilfe der freien Namenslisten in BS und der Seriendruckfunktion von Microsoft Word erstellen Adressetiketten mit Hilfe der freien Namenslisten in BS und der Seriendruckfunktion von Microsoft Word erstellen Mit dem Programmpunkt freie Namenslisten können Sie in Verbindung mit Microsoft Word Adressetiketten,

Mehr

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2015 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

E-Mail Verschlüsselung

E-Mail Verschlüsselung E-Mail Verschlüsselung S/MIME Standard Disclaimer: In der Regel lässt sich die Verschlüsselungsfunktion störungsfrei in den E-Mail-Programmen einrichten. Es wird aber darauf hingewiesen, dass in einigen

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

Anleitung Thunderbird Email Verschlu sselung

Anleitung Thunderbird Email Verschlu sselung Anleitung Thunderbird Email Verschlu sselung Christoph Weinandt, Darmstadt Vorbemerkung Diese Anleitung beschreibt die Einrichtung des AddOn s Enigmail für den Mailclient Thunderbird. Diese Anleitung gilt

Mehr

TS3 Hilfe. TS3 Erste Schritte

TS3 Hilfe. TS3 Erste Schritte TS3 Hilfe TeamSpeak 3 ist ein von Grund auf neu entwickeltes Programm. Der neue TeamSpeak 3 Client ist im Vergleich zu seinen Vorgängern stark verbessert worden. So bieten sowohl Client als auch Server

Mehr

Erstellen einer PostScript-Datei unter Windows XP

Erstellen einer PostScript-Datei unter Windows XP Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,

Mehr

Updatebeschreibung»GaLaOffice 2«Version 2.6.02 Stand: Februar 2013

Updatebeschreibung»GaLaOffice 2«Version 2.6.02 Stand: Februar 2013 Updatebeschreibung»GaLaOffice 2«Version 2.6.02 Stand: Februar 2013 Hinweise: Vor dem Einspielen eines Updates schließen Sie alle geöffneten»galaoffice 2«- Programmteile. Falls Sie das Programm im Netzwerk

Mehr

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel 2 Inhaltsverzeichnis 1 Cookies 4 1.1 Regelungen......................................... 4 1.2 Verwaltung..........................................

Mehr

Installationsanleitung. Novaline Finanzbuchhaltung Fibu.One

Installationsanleitung. Novaline Finanzbuchhaltung Fibu.One Installationsanleitung Novaline Finanzbuchhaltung Fibu.One Mai 2013 Inhaltsverzeichnis Systemvoraussetzungen...3 Installation der Programme...5 1. Überprüfen / Installieren von erforderlichen Software-Komponenten...5

Mehr

E-Mail-Verschlüsselung mit S/MIME

E-Mail-Verschlüsselung mit S/MIME E-Mail-Verschlüsselung mit S/MIME 17. November 2015 Inhaltsverzeichnis 1 Zertifikat erstellen 1 2 Zertifikat speichern 4 3 Zertifikat in Thunderbird importieren 6 4 Verschlüsselte Mail senden 8 5 Verschlüsselte

Mehr

Installation über MSI. CAS genesisworld mit MSI-Paketen installieren

Installation über MSI. CAS genesisworld mit MSI-Paketen installieren Installation über MSI CAS genesisworld mit MSI-Paketen installieren 1 Copyright Die hier enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Die in den Beispielen verwendeten

Mehr

d e S I G n & d e v e L O P M e n T TYPO3 AdvAnced

d e S I G n & d e v e L O P M e n T TYPO3 AdvAnced DESIGN & DEVELOPMENT TYPO3 Advanced 1 Einleitung / Inhalt 2 / 13 Einleitung Dieses Dokument weist Sie durch die Funktion des Open Source CMS TYPO3. In wenigen, einfachen Schritten wird Ihnen bebildert

Mehr

DocuWare unter Windows 7

DocuWare unter Windows 7 DocuWare unter Windows 7 DocuWare läuft unter dem neuesten Microsoft-Betriebssystem Windows 7 problemlos. Es gibt jedoch einige Besonderheiten bei der Installation und Verwendung von DocuWare, die Sie

Mehr

Dropbox Schnellstart. Was ist Dropbox? Eignet sich Dropbox für mich?

Dropbox Schnellstart. Was ist Dropbox? Eignet sich Dropbox für mich? Dropbox Schnellstart Was ist Dropbox? Dropbox ist eine Software, die alle deine Computer über einen einzigen Ordner verknüpft. Dropbox bietet die einfachste Art, Dateien online zu sichern und zwischen

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 1 Modul Diskrete Mathematik WiSe 2011/12 Ergänzungsskript zum Kapitel 4.2. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Veranstaltungen anlegen und bearbeiten

Veranstaltungen anlegen und bearbeiten Veranstaltungen anlegen und bearbeiten Dieses Dokument beschreibt, wie Sie Veranstaltungen anlegen und bearbeiten können. Login Melden Sie sich an der jeweiligen Website an, in dem Sie hinter die Internet-

Mehr

Einrichten der Outlook-Synchronisation

Einrichten der Outlook-Synchronisation Das will ich auch wissen! - Kapitel 3 Einrichten der Outlook-Synchronisation Inhaltsverzeichnis Überblick über dieses Dokument... 2 Diese Kenntnisse möchten wir Ihnen vermitteln... 2 Diese Kenntnisse empfehlen

Mehr

Das Formular-Management-System (FMS) der Bundesfinanzverwaltung

Das Formular-Management-System (FMS) der Bundesfinanzverwaltung Formulare ausfüllen FormsForWeb ist das Formular Management System, mit dem Formulare der Bundesfinanzverwaltung im Internet und Intranet bereitgestellt werden. Die Installation eines zusätzlichen Ausfüll-Programms"

Mehr