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

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

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

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

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

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

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

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

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

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

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

DGNB System Software: Unterschiede zwischen Version 1 und Version 2

DGNB System Software: Unterschiede zwischen Version 1 und Version 2 DGNB System Software: Unterschiede zwischen Version 1 und Version 2 1 DGNB GmbH 2015 Inhaltsverzeichnis (1) 1. Aufteilung in Web-Oberfläche und Client 2. Anmeldung in der Web-Oberfläche 3. Installieren

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

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

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

MultiCash@Sign. Ablaufbeschreibung/Anleitung

MultiCash@Sign. Ablaufbeschreibung/Anleitung Juni 2015 Willkommen zu MultiCash@Sign Was ist MultiCash@Sign? MultiCash@Sign ermöglicht es Benutzern von MultiCash, Zahlungsunterschriften von jedem beliebigen Ort und jedem beliebigen Windows-System

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

ÜBUNGSBETRIEB (MANAGER_INNEN) von Harald Jakobs und Yannic Hoffmann Stand: 05.10.2015

ÜBUNGSBETRIEB (MANAGER_INNEN) von Harald Jakobs und Yannic Hoffmann Stand: 05.10.2015 ÜBUNGSBETRIEB (MANAGER_INNEN) von Harald Jakobs und Yannic Hoffmann Stand: 05.10.2015 Inhalt 1. Allgemeines... 2 2. Rechteverteilung... 3 3. Tutorien nutzen mit aggregierten Lernräumen... 3 3.1. GRUPPENBILDUNG

Mehr

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

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

Verwendung der Support Webseite

Verwendung der Support Webseite amasol Dokumentation Verwendung der Support Webseite Autor: Michael Bauer, amasol AG Datum: 19.03.2015 Version: 3.2 amasol AG Campus Neue Balan Claudius-Keller-Straße 3 B 81669 München Telefon: +49 (0)89

Mehr

Dokumentation. juris Autologon-Tool. Version 3.1

Dokumentation. juris Autologon-Tool. Version 3.1 Dokumentation juris Autologon-Tool Version 3.1 Inhaltsverzeichnis: 1. Allgemeines... 3 2. Installation Einzelplatz... 3 3. Installation Netzwerk... 3 4. Konfiguration Netzwerk... 3 4.1 Die Autologon.ini...

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

Übungen zu. Grundlagen der Kryptologie SS 2008. Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159

Übungen zu. Grundlagen der Kryptologie SS 2008. Hochschule Konstanz. Dr.-Ing. Harald Vater. Giesecke & Devrient GmbH Prinzregentenstraße 159 Übungen zu Grundlagen der Kryptologie SS 2008 Hochschule Konstanz Dr.-Ing. Harald Vater Giesecke & Devrient GmbH Prinzregentenstraße 159 D-81677 München Tel.: +49 89 4119-1989 E-Mail: hvater@htwg-konstanz.de

Mehr

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort

Erlernbarkeit. Einsatzbereich. Preis. Ausführungsort 1.3 PHP Vorzüge Erlernbarkeit Im Vergleich zu anderen Sprachen ist PHP relativ leicht erlernbar. Dies liegt hauptsächlich daran, dass PHP im Gegensatz zu anderen Sprachen ausschließlich für die Webserver-Programmierung

Mehr

telpho10 Hylafax Server

telpho10 Hylafax Server telpho10 Hylafax Server Version 2.6.1 Stand 02.07.2012 VORWORT... 2 NACHTRÄGLICHE INSTALLATION HYLAFAX SERVER... 3 HYLAFAX ENDGERÄT ANLEGEN... 5 HYLAFAX ENDGERÄT BEARBEITEN... 6 ALLGEMEIN... 6 HYLAFAX

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

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

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Sophie Friedrich, Nicholas Höllermeier, Martin Schwaighofer 11. Juni 2012 Inhaltsverzeichnis Einleitung Motivation Mathematische Definitionen Wiederholung Gruppe Ring Gruppenhomomorphisums

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

Digitale Signaturen. Sven Tabbert

Digitale Signaturen. Sven Tabbert Digitale Signaturen Sven Tabbert Inhalt: Digitale Signaturen 1. Einleitung 2. Erzeugung Digitaler Signaturen 3. Signaturen und Einweg Hashfunktionen 4. Digital Signature Algorithmus 5. Zusammenfassung

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

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

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

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

Cloud Infrastrutktur Services

Cloud Infrastrutktur Services Cloud Infrastrutktur Services Sage Cloud Infrastructure Services Stand März 2012 Einsatzbereiche / Zielgruppen Sage Academy Trainings Presales Präsentationen Qualitäts- Management Software Entwicklung

Mehr

TimePunch. TimePunch Command. Benutzerhandbuch 14.08.2013. TimePunch KG, Wormser Str. 37, 68642 Bürstadt

TimePunch. TimePunch Command. Benutzerhandbuch 14.08.2013. TimePunch KG, Wormser Str. 37, 68642 Bürstadt TimePunch TimePunch Command Benutzerhandbuch 14.08.2013 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, TimePunch Command Revisions-Nummer 37 Gespeichert

Mehr

Benutzer-Handbuch. elearning-portal Sportbootführerscheine

Benutzer-Handbuch. elearning-portal Sportbootführerscheine Benutzer-Handbuch elearning-portal Sportbootführerscheine Inhalt 1 Login... 3 1.1 Passwort vergessen?... 4 2 Zentrale... 5 3 Kurse... 6 3.1 Mein Zielende setzen... 7 3.2 Kurs starten... 8 3.3 Keine Kursmaterialien...10

Mehr

WordPress installieren und erste Einblicke ins Dashboard

WordPress installieren und erste Einblicke ins Dashboard WordPress installieren und erste Einblicke ins Dashboard Von: Chris am 16. Dezember 2013 In diesem Tutorial zeige ich euch wie ihr WordPress in der aktuellen Version 3.7.1 auf eurem Webspace installieren

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

Kryptographie oder Verschlüsselungstechniken

Kryptographie oder Verschlüsselungstechniken Kryptographie oder Verschlüsselungstechniken Dortmund, Dezember 1999 Prof. Dr. Heinz-Michael Winkels, Fachbereich Wirtschaft FH Dortmund Emil-Figge-Str. 44, D44227-Dortmund, TEL.: (0231)755-4966, FAX:

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

Dokumentation: MediaWizard Installationsanleitung

Dokumentation: MediaWizard Installationsanleitung Dokumentation: MediaWizard Installationsanleitung Inhaltsverzeichnis 1 Aufbau von MediaWizard... 2 2 Installation... 2 2.1 Bestehende Installation und Daten... 2 3 Übersicht, wo wird was installiert...

Mehr

IT-Sicherheit Kapitel 3 Public Key Kryptographie

IT-Sicherheit Kapitel 3 Public Key Kryptographie IT-Sicherheit Kapitel 3 Public Key Kryptographie Dr. Christian Rathgeb Sommersemester 2013 1 Einführung In der symmetrischen Kryptographie verwenden Sender und Empfänger den selben Schlüssel die Teilnehmer

Mehr

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz Entwicklung der Asymmetrischen Kryptographie und deren Einsatz Peter Kraml, 5a hlw Facharbeit Mathematik Schuljahr 2013/14 Caesar-Verschlüsselung Beispiel Verschiebung der Buchstaben im Alphabet sehr leicht

Mehr

Migration anhand von Wordpress

Migration anhand von Wordpress Migration anhand von Wordpress 1. Legen Sie eine Datenbank an... 2 1.1. Unterkonto anlegen... 2 2. Übertragen Sie die Dateien mittels FTP... 3 3. Anpassung der Variablen... 4 4. Verbindung zum neuen Server

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

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit Thema: Asymmetrische Verschlüsselung, Digitale Signatur Vortragender: Rudi Pfister Überblick: Asymmetrische Verschlüsselungsverfahren - Prinzip

Mehr

CINEMA 4D RELEASE 10. Installationsanleitung 3D FOR THE REAL WORLD

CINEMA 4D RELEASE 10. Installationsanleitung 3D FOR THE REAL WORLD CINEMA 4D RELEASE 10 3D FOR THE REAL WORLD Installationsanleitung 1 Die Installation von CINEMA 4D Release 10 1. Vor der Installation Bevor Sie das Programm installieren, beachten Sie bitte folgendes:

Mehr

Einstiegsdokument Kursleiter

Einstiegsdokument Kursleiter Einstiegsdokument Kursleiter Inhaltsverzeichnis 1. Die Anmeldung...2 1.1 Login ohne Campus-Kennung...2 1.2 Login mit Campus-Kennung...2 1.3 Probleme beim Login...3 2. Kurse anlegen...4 3. Rollenrechte...4

Mehr

Webconnect xdsl Tool V 4.0

Webconnect xdsl Tool V 4.0 * Webconnect xdsl Tool V 4.0 Allgemeine Informationen www.camguard-security.com *CamGuard ist eingetragenes Warenzeichen der Fa. DVS-Gröger 89129 Langenau Inhalt 1. Beschreibung - Wichtig - Daten IMPORT

Mehr

Requirements Analysis Document

Requirements Analysis Document Requirements Analysis Document 1. Einleitung Dieses Dokument beschreibt die Anforderungen an ein automatisches Korrektur- und Abgabesystem für Uebungen mit dem Ziel einer Arbeitserleichterung für Assistenten.

Mehr

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie IT-Sicherheit: Kryptographie Asymmetrische Kryptographie Fragen zur Übung 5 C oder Java? Ja (gerne auch Python); Tips waren allerdings nur für C Wie ist das mit der nonce? Genau! (Die Erkennung und geeignete

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

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth

Tutorial: Systemportierung per Datenbank-Sicherung. version: 0.1 Author: Anja Beuth Tutorial: Systemportierung per Datenbank-Sicherung version: 0.1 Author: Anja Beuth Table of contents 1.1.1... 5 Voraussetzungen auf dem Zielsystem... Datenbank sichern... Datenbanksicherung auf Zielsystem

Mehr

LiLa Portal Leitfaden für Dozierende

LiLa Portal Leitfaden für Dozierende Library of Labs Lecturer s Guide LiLa Portal Leitfaden für Dozierende Meist werden Dozierende die Lerninhalte ihrer Studierenden festlegen und aus der großen Auswahl von LiLa Experimenten diejenigen auswählen,

Mehr

Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke. Update-Anleitung: Patch 2 für paedml Windows 2.7

Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke. Update-Anleitung: Patch 2 für paedml Windows 2.7 Windows 2003 Server paedml Windows 2.7 für schulische Netzwerke Update-Anleitung: Patch 2 für paedml Windows 2.7 Stand: 2.11.2012 Fehler! Kein Text mit angegebener Formatvorlage im Dokument. Impressum

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

Handreichung: Verschlüsselte Versendung von Protokollen bei elektronischer Kommunikation mit Ehrenamtlichen

Handreichung: Verschlüsselte Versendung von Protokollen bei elektronischer Kommunikation mit Ehrenamtlichen Der Beauftragte für den Datenschutz der Evangelischen Kirche in Deutschland Handreichung: Verschlüsselte Versendung von Protokollen bei elektronischer Kommunikation mit Ehrenamtlichen Metadaten: Version:

Mehr

Installation und Dokumentation. juris Autologon 3.1

Installation und Dokumentation. juris Autologon 3.1 Installation und Dokumentation juris Autologon 3.1 Inhaltsverzeichnis: 1. Allgemeines 3 2. Installation Einzelplatz 3 3. Installation Netzwerk 3 3.1 Konfiguration Netzwerk 3 3.1.1 Die Autologon.ini 3 3.1.2

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

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

Eine Online-Befragung durchführen Schritt für Schritt

Eine Online-Befragung durchführen Schritt für Schritt Anleitung für Schulleitende Eine Online-Befragung durchführen Schritt für Schritt 20. September 2010 IQES online Tellstrasse 18 8400 Winterthur Schweiz Telefon +41 52 202 41 25 info@iqesonline.net www.iqesonline.net

Mehr

Anleitung. Datum: 28. Oktober 2013 Version: 1.2. Bildupload per FTP. FTP-Upload / Datei-Manager FTP. Glarotech GmbH

Anleitung. Datum: 28. Oktober 2013 Version: 1.2. Bildupload per FTP. FTP-Upload / Datei-Manager FTP. Glarotech GmbH Anleitung Datum: 28. Oktober 2013 Version: 1.2 Bildupload per FTP FTP-Upload / Datei-Manager FTP Glarotech GmbH Inhaltsverzeichnis Bilder per FTP hochladen...3 1. Installation FileZilla...3 2. FileZilla

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

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

Newssystem für den eigenen Lehrstuhl einrichten

Newssystem für den eigenen Lehrstuhl einrichten Newssystem für den eigenen Lehrstuhl einrichten Zunächst muss unterhalb des Lehrstuhlordners (im Beispiel Schulpädagogik) ein Neuer Ordner config angelegt werden: Der Dateiname des neuen Ordners sollte

Mehr

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

Anleitungen und Informationen zu KK-NetServer

Anleitungen und Informationen zu KK-NetServer Anleitungen und Informationen zu KK-NetServer 1. Vorwort Unser KK-NetServer ist einer der modernsten und sichersten Daten-Server mit verschiedenen Nutzungsrechten. Er dient in erster Linie zur Bereitstellung

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

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

Wiederholung: Informationssicherheit Ziele

Wiederholung: Informationssicherheit Ziele Wiederholung: Informationssicherheit Ziele Vertraulichkeit : Schutz der Information vor unberechtigtem Zugriff bei Speicherung, Verarbeitung und Übertragung Methode: Verschüsselung symmetrische Verfahren

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

GnuPG für Mail Mac OS X 10.4 und 10.5

GnuPG für Mail Mac OS X 10.4 und 10.5 GnuPG für Mail Mac OS X 10.4 und 10.5 6. Nachrichten verschlüsseln und entschlüsseln mit Mail http://verbraucher-sicher-online.de/ 22.10.2009 Sie haben GPG installiert. Sie haben ein Schlüsselpaar und

Mehr

Microsoft Office 2010

Microsoft Office 2010 Microsoft Office 2010 Office-Anpassungstool Author(s): Paolo Sferrazzo Version: 1.0 Erstellt am: 15.06.12 Letzte Änderung: - 1 / 12 Hinweis: Copyright 2006,. Alle Rechte vorbehalten. Der Inhalt dieses

Mehr

Comtarsia SignOn Familie

Comtarsia SignOn Familie Comtarsia SignOn Familie Handbuch zur RSA Verschlüsselung September 2005 Comtarsia SignOn Agent for Linux 2003 Seite 1/10 Inhaltsverzeichnis 1. RSA Verschlüsselung... 3 1.1 Einführung... 3 1.2 RSA in Verbindung

Mehr

Bedienungsanleitung GOZ-Handbuch der Landeszahnärztekammer Baden-Württemberg

Bedienungsanleitung GOZ-Handbuch der Landeszahnärztekammer Baden-Württemberg Bedienungsanleitung GOZ-Handbuch der Landeszahnärztekammer Baden-Württemberg LZK BW 12/2009 Bedienungsanleitung GOZ-Handbuch Seite 1 Lieferumfang Zum Lieferumfang gehören: Eine CD-Rom GOZ-Handbuch Diese

Mehr

Schwachstellenanalyse 2013

Schwachstellenanalyse 2013 Schwachstellenanalyse 2013 Sicherheitslücken und Schwachstellen in Onlineshops Andre C. Faßbender Schwachstellenforschung Faßbender 09.01.2014 Inhaltsverzeichnis 1. Abstract... 3 2. Konfiguration der getesteten

Mehr

Qargo.com Qargo X - Online Freight-Exchange-System - Frachtenbörse

Qargo.com Qargo X - Online Freight-Exchange-System - Frachtenbörse Qargo.com Qargo X - Online Freight-Exchange-System - Frachtenbörse Dokumentation Version: 1.0 Stand: 08.08.2008 Seite 1 von 16 Inhaltsverzeichnis 1 Erste Schritte... 3 1.1 Über qargo x... 3 1.2 Installation...

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Anleitung zur Verifizierung der ene t Dateien mit Gpg4win. Anwenderhandbuch

Anleitung zur Verifizierung der ene t Dateien mit Gpg4win. Anwenderhandbuch Anwenderhandbuch Anleitung zur Verifizierung der ene t Dateien mit Gpg4win ene t GmbH Weserstraße 9 Tel. 0 24 33-52 60 10 E-Mail: info@enet.eu 41836 Hückelhoven Fax 0 24 33-52 60 11 Internet: www.enet.eu

Mehr

Helpdesk Online Benutzungshinweise

Helpdesk Online Benutzungshinweise Über Helpdesk Online Helpdesk Online ist ein Webportal für CGS-Händler und -Kunden, über das Softwarefehler, Lizenzprobleme, Verbesserungsvorschläge und andere Supportanfragen abgewickelt werden. Mit Helpdesk

Mehr

Handbuch organice Business Intelligence

Handbuch organice Business Intelligence Handbuch organice Business Intelligence Stand: Februar 2014, Version 1.1.0.1 2001-2014 organice Software GmbH Grunewaldstr. 22, 12165 Berlin Alle Rechte vorbehalten. Die Software und dieses Handbuch dürfen

Mehr

Installation/Update und Konfiguration des Renderservice (v1.7.0)

Installation/Update und Konfiguration des Renderservice (v1.7.0) Installation/Update und Konfiguration des Renderservice (v1.7.0) [edu- sharing Team] [Dieses Dokument beschreibt die Installation und Konfiguration des Renderservice.] edu- sharing / metaventis GmbH Postfach

Mehr

Dokumente digitalisieren

Dokumente digitalisieren Seite 1 Inhalt Eine neuartige optische Schnittstelle...3 Vorteile im Überblick...4 DoDi-Benutzeranleitung...5 Voraussetzung...5 Installation...5 Einstellungen/Konfiguration...6 Zuordnung...6 Quelle wählen...7

Mehr

Installationsanleitung

Installationsanleitung Für Gambio GX2 Installation v2.0.12.2 20130402 2013 Gambio GmbH. www.gambio.de 1 Voraussetzungen Systemvoraussetzungen: mindestens 50MB Webspace eine Domain PHP 5.1.2 oder neuer MySQL5 Datenbank GDlib

Mehr

OSx / MAC. MegaZine3 MZ3-Tool3. Server Upload. Video 2-4

OSx / MAC. MegaZine3 MZ3-Tool3. Server Upload. Video 2-4 OSx / MAC MegaZine3 MZ3-Tool3 Server Upload Video 2-4 Grundlagen Eine MegaZine3 Online Version unterscheidet sich in ein paar Dingen von einer lokalen Version: Online / Server / Browser Version Offline

Mehr

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz.

Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. IInsttallllattiionslleiittffaden Dieses Dokument beschreibt die Installation des Governikus Add-In for Microsoft Office (Governikus Add-In) auf Ihrem Arbeitsplatz. Voraussetzungen Für die Installation

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

1st News Version 3 Personal

1st News Version 3 Personal 1st News Version 3 Personal Installationshandbuch 1st News Version 3 Personal...1 Vorwort...1 Funktionen...2 Änderungen/Neuerungen/behobene Fehler...2 Installation...2 Voraussetzungen...2 Update von Version

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

Mehr

Tutorial Grundlagen der Softwareverteilung

Tutorial Grundlagen der Softwareverteilung Tutorial Grundlagen der Softwareverteilung Inhaltsverzeichnis 1. Einführung... 3 2. Clientsysteme einrichten... 3 2.1 Den SDI Agent verteilen... 3 2.2 Grundeinstellungen festlegen... 4 3. Softwareverteiler...

Mehr

Skyfillers Hosted SharePoint. Kundenhandbuch

Skyfillers Hosted SharePoint. Kundenhandbuch Skyfillers Hosted SharePoint Kundenhandbuch Kundenhandbuch Inhalt Generell... 2 Online Zugang SharePoint Seite... 2 Benutzerpasswort ändern... 2 Zugriff & Einrichtung... 3 Windows... 3 SharePoint als

Mehr

Installationsanleitung für Internet Security. Inhalt

Installationsanleitung für Internet Security. Inhalt Installationsanleitung für Internet Security Inhalt 1 Systemanforderungen für Internet Security...2 2 Installationsanleitung: Internet Security für einen Test auf einem Computer installieren...3 3 Installationsanleitung

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

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

Schritt- für- Schritt Anleitung: Einrichten der Datenvererbung

Schritt- für- Schritt Anleitung: Einrichten der Datenvererbung Schritt- für- Schritt Anleitung: Einrichten der Datenvererbung Inhaltsverzeichnis Schritt- für- Schritt Anleitung: Einrichten der Datenvererbung 1 Überblick: Rollen bei der Datenvererbung 1 So aktivieren

Mehr

Anleitung zur Einrichtung des Virenscanners Sophos...1. A. Einstellungen unter dem Betriebssystem WINDOWS...4

Anleitung zur Einrichtung des Virenscanners Sophos...1. A. Einstellungen unter dem Betriebssystem WINDOWS...4 12.05.2015 Bezeichnung... : Anleitung zur Einrichtung des Virenscanners Sophos Ersteller... : Martin Neisser (ITSC) Inhaltsverzeichnis Anleitung zur Einrichtung des Virenscanners Sophos...1 A. Einstellungen

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

BitDisk 7 Version 7.02

BitDisk 7 Version 7.02 1 BitDisk 7 Version 7.02 Installationsanleitung für Windows XP, Vista, Windows 7 QuickTerm West GmbH Aachenerstrasse 1315 50859 Köln Telefon: +49 (0) 2234 915 910 http://www.bitdisk.de info@bitdisk.de

Mehr