WebSecurity - Secure E-Mail

Aus THM-Wiki
Wechseln zu: Navigation, Suche
Dokumentation
Arbeitstitel WebSecurity - Secure E-Mail
Kurs Web-Security
Semester WS 10/11
Teilnehmer Andreas Sebastian Fiedler, Peter Gabriel, Jan Kammer, Daniel Knapp


Ziel

Unterstützung der Lehrenden und der Fachbereichssekretariate bei der datenschutzkonformen (gemäß HDSG) und sicheren (gemäß BSI-Standards) Mitteilung personenbezogener Daten per E-Mail wie Testate, Studienleistungen, Klausurergebnisse oder Kursnoten.[1]

Motivation

Die Art und Weise der Notenbekanntgabe an der FH Gießen-Friedberg ist nicht tragbar. Die Notenbekanntgabe wird überwiegend in der Art durchgeführt, dass irgendwo in den Gebäuden der FH an Wänden, Durchgangs- und Bürotüren der Fachbereiche Notenlisten unter Angabe von Matrikelnummern ausgehängt werden, üblicherweise ohne vorherige schriftliche Einwilligung der Betroffenen. Dieses Vorgehen widerspricht den Bestimmungen des Hessischen Datenschutzgesetzes (HDSG).[2]

Ist-Analyse

Probleme bei lokaler Nutzung

  • Fehlende Tabelle in der Datenbank (secureemail)
    • Musste aus MySQL Fehlermeldungen rekonstruiert werden
    • Inhalt wurde erraten
  • Policy lässt sich nicht akzeptieren
    • Wenn in einem Kurs der Notenversand aktiviert ist, muss es eine Policy geben. Diese lässt sich aber nicht akzeptieren
  • Probleme/Konflikte mit PHPids
    • Notices, verursacht von PHPids werden auf StdOut ausgegeben. Diese werden auch in die exportierte CSV-Datei übernommen und machen Sie damit unbrauchbar.
    • Lösung: PHPids vorerst deaktivieren
  • Fehlendes root-Zertifikat
    • Es war uns nicht möglich ein funktionierendes Zertifikat als Root-Zertifikat einzustellen
  • Kein Akzeptieren des Notenversands
    • Wert der entsprechenden Checkbox wurde nicht in Datenbank übernommen
  • Stärke des Zertifikat-Passworts ist egal
Meldet euch doch mal bei mir, ich hab das im letzten Semester schon überarbeitet...

Die Tabelle secureemail wurde von mir entfernt, weil sie außer dem ein/aus Schalter und dem root-zertifikat nichts enthielt.
Alle Zertifikate inklusive dem root-zertifikat befinden sich seitdem in der Tabelle "certificate". Siehe die alte Dokumentation, der Oberfläche fehlt lediglich die Möglichkeit, ein Zertifikat als root-Zertifikat zu markieren (das muß bisher manuell in der DB getan werden). Psnr96

Auffälligkeiten

  • Schlechte Menüführung
  • Unverständliche Fehlermeldungen
  • Missverständliche Beschriftung der Buttons
  • Keine Hilfetexte > User ist völlig auf sich selbst gestellt
  • Notendurchschnitt im Notenspiegel wird nicht berechnet

Diagramme

Klassendiagramm

Secure email notenliste.jpg

Datenbankschema

Secure email v2.jpg

User Stories

Notenliste

Notenliste exportieren

Im Administrations-Menü des Kurses unter „Mitgliederliste“ auf „Notenliste“ klicken. Im daraufhin in der Mitte auftauchenden Menü erst auf „Notenliste exportieren“ und dann auf „CSV exportieren“ klicken.

Notenliste importieren

Im Administrations-Menü des Kurses unter „Mitgliederliste“ auf „Notenliste“ klicken. Im daraufhin in der Mitte auftauchenden Menü auf „Notenliste importieren“ klicken, und dann entweder den Pfad der Datei angeben oder sie mit „Durchsuchen...“ auswählen, und mit einem Klick auf „Upload“ hochladen.

Individual-Tasks

Generelle Zertifizierung ausgehender Mails aus eStudy

(Autor: Peter Gabriel)

Ziel

  • eStudy soll auf Basis des eigenen Portal-Zertifikat, die Möglichkeit bieten, Benutzern ein Zertifikat auszustellen.
  • Mit diesem Zertifikat kann der Benutzer seine ausgehenden E-Mails verschlüsseln und signieren.

Ist-Analyse

  • Es wurde bereits die Funktionalität, zum Versenden signierter und verschlüsselter E-Mails, vorbereitet.
    • Im Ist-Zustand ohne Funktion.
  • Ebenfalls existiert bereits eine Vorbereitung, zur Integration eines eigenen Zertifikates für das Portal.
    • Im Ist-Zustand ohne Funktion


Optimierung des Work-Flows für den signierten und verschlüsselten Notenversand

(Autor: Daniel Knapp)

Ziel

Das Ziel meiner Arbeit ist es, das Modul benutzerfreundlicher zu gestalten.

Ist-Analyse

Der "erste Kontakt" mit dem Modul
IST Notenliste 02.jpg

1. Der Benutzer klickt auf den Menüpunkt "Notenliste".

Folgende Fragen könnten auftreten:

  • Was kann ich hier eigentlich machen?
  • Warum sieht da "Notenlistenmenue"?
    • Der Menüpunkt heißt doch "Notenliste" - aber es ist keine Notenliste zu sehen?
    • "...menue?" Warum wird kein "ü" verwendet?
    • Wieso ist an dieser Stelle überhaupt ein Menü? Normal wird dort doch der Seiteninhalt dargestellt!
  • Ich kann eine Liste exportieren oder importieren - was ist richtig?
    • Okay, exportiere ich zuerst eine Notenliste...
      • "Export von Notenlisten"? Auf dem Button ging es doch nur um eine Liste?
      • "CSV exportieren"?
        • Was ist das?
        • Wohin exportiere ich diese Datei überhaupt?
      • Wieviele Arbeitsschritte muss ich noch durchführen, bis ich an die Notenliste komme?

2. Nach einem weiteren Klick auf den "CSV exportieren" Button erhält der Benutzer die Notenliste.

Folgende Probleme können auftreten:

  • Benutzer hat kein Excel (oder ein anderes Programm, dass CSV Datei "hübsch" anzeigt installiert)
  • Wird die CSV-Datei mit einem Texteditor angezeigt, ist das Bearbeiten sehr mühsam und fehleranfällig

Der Benutzer hat die CSV-Datei entsprechend ergänzt und möchte Sie zurück ins Portal laden.

  • Die Oberfläche hat sich nicht verändert.
    • Wie kann man die Datei wieder hochladen?

Der Benutzer muss erst komplett neu auf "Notenliste" klicken und dann auf "Notenliste importieren". Dies ist sehr umständlich und unnötig, falls ein Benutzer die Datei direkt bearbeitet und hochladen möchte.


Verifizierung des Notenlisten-Import/-Export durch Hashing

(Autor: Jan Kammer)

Ziel

  • Es kann nur die zuletzt exportierte Notenliste importiert werden.
  • Betritt ein Student nachdem schon eine Notenliste erstellt wurde den Kurs, wird der Student und der Dozent (per EMail) darüber informiert.

Ist-Analyse

  • Es kann jede Notenliste importiert werden, was oft zu unverständlichen Fehlermeldungen führt
  • Ein Student erfährt nicht das in diesem Kurs eine Notenliste geführt wird, in welcher er wegen späteren Beitretens zum Kurs nicht eingetragen ist
  • Erst beim importieren wird der Dozent darauf hingewiesen das im Kurs ein Mitglied ist, welches nicht in der Notenliste ist
    • Die erstellte Notenliste ist nichtmehr brauchbar.


Implementierung einer alternativen Zertifikats-Einbindung (benutzereigenes Zertifikat)

(Autor: Andreas Sebastian Fiedler)

Ziel

  • Nutzer können ein eigenes, bereits vorhandenes Zertifikat hochladen.

Ist-Analyse

  • Die bereits geschriebene Funktionalität um Nutzereigene Zertifikate hochzuladen ist abgeschaltet
  • Wenn sichere Emails gewünscht sind, muss der Nutzer ein Zertifikat vom Portal generieren lassen
    • Zusätzlicher Aufwand für Nutzer, die bereits ein Zertifikat besitzen
  • Zustand der Uploadfunktion
    • Zertifikatdaten werden in falsche Tabellen der Datenbank geschrieben
    • Der Uploadbereich ist nicht gänzlich an das Aussehen des Portals angepasst
    • Der öffentliche Schlüssel wird nicht aus dem Zertifikat ausgelesen
      • Niemand kann Emails für einen Nutzer mit eigenem Zertifikat verschlüsseln
      • Mit einem eigenen Zertifikat signierte Emails können nicht validiert werden

Stand

  • Die Eingabemaske über die Zertifikate ausgewählt und hochgeladen werden können ist im Bereich "Zertifikat erstellen/downloaden" zu finden
  • Darstellung der Eingabemaske ist an die restlichen Elemente angepasst
  • Alle benötigten Zertifikatdaten werden ausgelesen
  • Zertifikatdaten werden nun in der richtigen Tabelle (certificate) der Datenbank hinterlegt
  • Upload mit Hilfe der Klasse SecureUpload gesichert


Implementierung einer Löschfunktion für Zertifikate

(Autor: Andreas Sebastian Fiedler)

Ziel

  • Nutzer können Ihr Zertifikat aus der Datenbank löschen.

Ist-Analyse

  • Zertifikate können deaktiviert werden
    • Durch direktes deaktivieren
    • Durch erstellen eines neuen Zertifikates
  • Die Zertifikate bleiben nach dem deaktivieren in der Datenbank enthalten
    • Vergrößert den Schaden der bei einem Einbruch in die Datenbank entstehen kann

Stand

  • Neuer Bereich in der Zertifikatsverwaltung angelegt
  • Zertifikate lassen sich löschen
    • Nur das Aktuelle
    • Alle in der Datenbank für einen Nutzer hinterlegten Zertifikate