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

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

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

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

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

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

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Datensicherung. Beschreibung der Datensicherung

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

Mehr

TeamSpeak3 Einrichten

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

Mehr

Ü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

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

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

Die Dateiablage Der Weg zur Dateiablage

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

Mehr

Anleitung Thunderbird Email Verschlu sselung

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

Mehr

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

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

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

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

PHPNuke Quick & Dirty

PHPNuke Quick & Dirty PHPNuke Quick & Dirty Dieses Tutorial richtet sich an all die, die zum erstenmal an PHPNuke System aufsetzen und wirklich keine Ahnung haben wie es geht. Hier wird sehr flott, ohne grosse Umschweife dargestellt

Mehr

Erstellen einer PostScript-Datei unter Windows XP

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

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

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

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

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

Mehr

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

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

Mehr

Thunderbird Portable + GPG/Enigmail

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

Mehr

FTP-Leitfaden RZ. Benutzerleitfaden

FTP-Leitfaden RZ. Benutzerleitfaden FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...

Mehr

AUF LETZTER SEITE DIESER ANLEITUNG!!!

AUF LETZTER SEITE DIESER ANLEITUNG!!! BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Kurzanleitung SEPPmail

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

Mehr

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

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Vorlagen benutzen und ändern Dateiname: ecdl_p2_02_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 2 Tabellenkalkulation

Mehr

Kurzeinführung Moodle

Kurzeinführung Moodle Kurzeinführung Moodle 1. Einstieg, Kursinhalte, Datei-Download Nachdem Sie sich erfolgreich registriert und eingeloggt haben, gelangen Sie zu Ihrer Hauptseite. Aktivieren Sie Meine Startsteite um Ihren/Ihre

Mehr

1. Was sind Aufgaben?... 1 2. Aufgaben einrichten... 2 3. Ansicht für die Teilnehmer/innen... 3

1. Was sind Aufgaben?... 1 2. Aufgaben einrichten... 2 3. Ansicht für die Teilnehmer/innen... 3 AG elearning Service und Beratung für E-Learning und Mediendidaktik ZEIK Zentrale Einrichtung für Informationsverarbeitung und Kommunikation Moodle an der Universität-Potsdam How-To: Aufgaben Inhalt: 1.

Mehr

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

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

Mehr

Anleitung für den Euroweb-Newsletter

Anleitung für den Euroweb-Newsletter 1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf

Mehr

Durchführung der Datenübernahme nach Reisekosten 2011

Durchführung der Datenübernahme nach Reisekosten 2011 Durchführung der Datenübernahme nach Reisekosten 2011 1. Starten Sie QuickSteuer Deluxe 2010. Rufen Sie anschließend über den Menüpunkt /Extras/Reisekosten Rechner den QuickSteuer Deluxe 2010 Reisekosten-Rechner,

Mehr

Ust.-VA ab 01.01.2013. Release 1.0.0

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

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Registrierung am Elterninformationssysytem: ClaXss Infoline

Registrierung am Elterninformationssysytem: ClaXss Infoline elektronisches ElternInformationsSystem (EIS) Klicken Sie auf das Logo oder geben Sie in Ihrem Browser folgende Adresse ein: https://kommunalersprien.schule-eltern.info/infoline/claxss Diese Anleitung

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Hilfedatei der Oden$-Börse Stand Juni 2014

Hilfedatei der Oden$-Börse Stand Juni 2014 Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten

Mehr

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT Elektronische Unterschrift Neue Dokumente hochladen Dokumente direkt hochladen Dokumente aus KV Live Rechner hochladen Dokumente aus PKV Lotse hochladen

Mehr

Patch Management mit

Patch Management mit Patch Management mit Installation von Hotfixes & Patches Inhaltsverzeichnis dieses Dokuments Einleitung...3 Wie man einen Patch installiert...4 Patch Installation unter UliCMS 7.x.x bis 8.x.x...4 Patch

Mehr

WordPress lokal mit Xaamp installieren

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

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox

FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox FTP-Server einrichten mit automatischem Datenupload für SolarView@Fritzbox Bitte beachten: Der im folgenden beschriebene Provider "www.cwcity.de" dient lediglich als Beispiel. Cwcity.de blendet recht häufig

Mehr

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen Um die maximale Sicherheit für das Betriebssystem und Ihre persönlichen Daten zu gewährleisten, können Sie Programme von Drittherstellern

Mehr

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT Neue Dokumente hochladen Neue Dokumente hochladen Loggen Sie sich auf unserer Homepage ein, um neue Dokumente bei insign hochzuladen. Neue Dokumente

Mehr

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz Diese Anleitung soll als Kurzreferenz und Schnellanleitung dienen um einfach und schnell Berichte auf der Homepage www.dav-koblenz.de

Mehr

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern 1 Einleitung Lernziele Symbolleiste für den Schnellzugriff anpassen Notizenseiten drucken eine Präsentation abwärtskompatibel speichern eine Präsentation auf CD oder USB-Stick speichern Lerndauer 4 Minuten

Mehr

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden. In einer Website haben Seiten oft das gleiche Layout. Speziell beim Einsatz von Tabellen, in denen die Navigation auf der linken oder rechten Seite, oben oder unten eingesetzt wird. Diese Anteile der Website

Mehr

Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue E-Mail und Groupware-System Communigate Pro

Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue E-Mail und Groupware-System Communigate Pro Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue E-Mail und Groupware-System Communigate Pro 29. Apr. 2010 V 1.00.0 Seite 1 / 13 Inhaltsverzeichnis Windows Mail einrichten...3 Kontakte...9

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

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

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

Mehr

10. Kryptographie. Was ist Kryptographie?

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

Mehr

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen. HACK #39 Hack Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.»verschlüsseln Sie Ihren Temp-Ordner«[Hack #33] hat Ihnen gezeigt, wie Sie Ihre Dateien mithilfe

Mehr

Handbuch ZfEditor Stand 24.08.2012

Handbuch ZfEditor Stand 24.08.2012 Handbuch ZfEditor Stand 24.08.2012 Inhaltsverzeichnis Einführung... 1 Ansprechpartner... 1 Installation und Update... 1 Installation... 1 Update... 2 Bedienung des ZfEditors... 2 Aufruf... 2 Auswahl Gemeinde,

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

OS Anwendungsbeschreibung

OS Anwendungsbeschreibung Inhalt Einleitung... 2 Start des Programms... 2 Scannen einer neuen Zeitungsseite... 4 Presse-Clipping... 8 Artikel ausschneiden und bearbeiten... 11 Übernahme aus der Zwischenablage... 19 Ausdruck in

Mehr

BAYERISCHES STAATSMINISTERIUM DES INNERN

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

Mehr

Installation im Netzwerk

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

Mehr

Installationsanleitungen

Installationsanleitungen Installationsanleitungen INPA SGBD-Entwicklungsumgebung (EDIABAS) INPA für Entwickler Bevor Sie EDIABAS / INPA installieren können, müssen Sie sich für den Ordner sgref auf smuc0900 freischalten lassen.

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

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

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

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

Steganos Secure E-Mail Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

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

Mehr

E-Mail-Verschlüsselung mit S/MIME

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

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

FrogSure Installation und Konfiguration

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

Mehr

Anleitung zum Online-Monitoring für Installateure

Anleitung zum Online-Monitoring für Installateure Anleitung zum Online-Monitoring für Installateure Herzlich Willkommen zum neuen Online-Monitoring von SENEC.IES! Diese Anleitung erläutert Ihnen als Installateur die Einrichtung des Online-Monitorings

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

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

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH

Funktionsbeschreibung. Lieferantenbewertung. von IT Consulting Kauka GmbH Funktionsbeschreibung Lieferantenbewertung von IT Consulting Kauka GmbH Stand 16.02.2010 odul LBW Das Modul LBW... 3 1. Konfiguration... 4 1.1 ppm... 4 1.2 Zertifikate... 5 1.3 Reklamationsverhalten...

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

In dem unterem Feld können Sie Ihre E-Mail eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt.

In dem unterem Feld können Sie Ihre E-Mail eintragen, wenn sie im System hinterlegt wurde. Dann wird Ihnen Ihr Passwort noch einmal zugeschickt. Wyhdata Hilfe Login: www.n-21online.de (Login Formular) Ihr Login-Name: Hier tragen Sie Redak1 bis Redak6 ein, der Chefredakteur bekommt ein eigenes Login. Ihr Passwort: Eine Zahlenkombination, die vom

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

Einrichtung des WS_FTP95 LE

Einrichtung des WS_FTP95 LE Einrichtung des WS_FTP95 LE Das Herunterladen des Programms (siehe Seite Hochladen) dauert durch die Größe von 656 KB auch mit dem Modem nicht lange. Im Ordner der herunter geladenen Dateien erscheint

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

etermin Einbindung in Outlook

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

Mehr

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen

Mehr

YouTube: Video-Untertitel übersetzen

YouTube: Video-Untertitel übersetzen Der Easytrans24.com-Ratgeber YouTube: Video-Untertitel übersetzen Wie Sie mit Hilfe von Easytrans24.com in wenigen Schritten Untertitel für Ihre YouTube- Videos in mehrere Sprachen übersetzen lassen können.

Mehr

EASYINSTALLER Ⅲ SuSE Linux Installation

EASYINSTALLER Ⅲ SuSE Linux Installation EASYINSTALLER Ⅲ SuSE Linux Installation Seite 1/17 Neuinstallation/Update von Meytonsystemen!!! Die Neuinstallation von MEYTON Software ist relativ einfach durchzuführen. Anhand dieser Beschreibung werden

Mehr

SharePoint Workspace 2010 Installieren & Konfigurieren

SharePoint Workspace 2010 Installieren & Konfigurieren [Geben Sie Text ein] SharePoint Workspace 2010 Installieren & Konfigurieren SharePoint Workspace 2010 Installieren & Konfigurieren Inhalt SharePoint Workspace 2010 Installieren... 2 SharePoint Workspace

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

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

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

BEDIENUNGSANLEITUNG: EINREICH-TOOL

BEDIENUNGSANLEITUNG: EINREICH-TOOL BEDIENUNGSANLEITUNG: EINREICH-TOOL Bewerber können ihre maximal 60 Minuten langen Beiträge in neun Kategorien bis zum 07.04.2015 per Upload über die Website www.oesterreichischer-radiopreis.at einreichen.

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

Anleitung für die Registrierung und das Einstellen von Angeboten

Anleitung für die Registrierung und das Einstellen von Angeboten Anleitung für die Registrierung und das Einstellen von Angeboten Das FRROOTS Logo zeigt Ihnen in den Abbildungen die wichtigsten Tipps und Klicks. 1. Aufrufen der Seite Rufen Sie zunächst in Ihrem Browser

Mehr