Verschlüsselung

Die Sicherheit deiner Daten hat bei uns höchste Priorität. Wir verwenden einen sehr komplexen Prozess mit modernsten Verschlüsselungsmethoden, um sicherzustellen, dass nur du und niemand anders Zugriff auf deine Daten hat.

Transparenz ist uns wichtig und wir möchten dir diesen Prozess daher gerne erklären. Bei Interesse laden wir dich ein hier weiterzulesen; in der Hoffnung, es möglichst verständlich zu beschreiben. Sollte dich das Ganze nicht interessieren, dann kannst du diesen Teil überspringen und dir gewiss sein, dass deine Daten so sicher sind wie es technisch nur möglich ist.

Verschlüsselung auf dem Gerät

neno verschlüsselt deine Daten sogar schon bevor sie auf deinem Gerät gespeichert werden. Wenn du also z.b. einen neuen Kurs anlegst so wird dieser direkt verschlüsselt und erst dann in der lokalen Datenbank auf deinem Gerät gespeichert. Bei späteren Zugriffen auf diesen Kurs wird er beim Lesen aus der Datenbank in Echtzeit entschlüsselt. Es werden niemals unverschlüsselte Daten gespeichert.

Beispiel der Verschlüsselung

Nehmen wir an du hast einen neuen Kurs angelegt. Dieser beinhaltet folgende Daten:

  • Name: 11b
  • Fach: Deutsch
  • Schüler: (Liste der Schüler)
  • Farbe: rot
  • Noten: (Liste aller Noten und Notengruppen)
  • Schuljahr: 2023/2024

Nach der Verschlüsselung sieht er folgendermaßen aus:

g2hF0qdd4757VEkp6cla/Mdg1tj5y+JXboH26dNuMqBzMyiwu7DSv
nPan7jZdUumqALadmQiCLtEy7HBuZ4nGNiS9IK/2fFh3FnNTeu6EU
/FG7M4CR/8PM43TA8OrOYGs0Pj5uMLFsl/doBQPReRQF6g1g1Ywje
T398vm1OJ/qpNAzU2nixNdomDIW3ItHYVp2YBDHiq5W8B2cqh+Rh1
7YMhJdmLUD4T4Sg2tM7ciwbeFNfj8RHIP3Q3gcPsAWKmYAlnJsvTO
KlD1rmokTFyOQ2E9Cn/baCQsodYJGvKRDZs3JZdW9lEoENa/Yhhyj
bQhhjpYfClqzYwPbECfGk69eUiKW+EMBNcuOvThiqulAAWdz5vVIc
1M3ox9jxvljD/4o9FkSmPFy9fJeJks0XggbJHl3e/luDlI7vJ22QC
sn6VBI3avG5OWK21KzytQu/bY4Z61DY4+YhsMMFrbMmsh7Lla3elP
7y28SWyLdxwk/i6tOMW7mu9DryssGREnKtKhPqah/DnVCJNXrrx/H
+lMXgZfRyLLxXGU0/DeCVA2bcSrGRlf193q6R4zJBuu+uCe08nvKJ
t9ueizwH/jcyK3e+BG83tOYJVfNsLdjCoZriJcOFsuGfokAxbY14a
iRDSeujaggpefeYEfoAnvDShlTQoEX9ClBcyFTWodmyUkQ04sHCj2
rnUilPzzoBZ/TOBt9yyxsEj/1hvUm51lnJnye7NVJJ7h0wSpIjQFb
OvvS45mCKRDjx+nbPuxhGQp3r5xqBC6+ukPwaN0mJsnSSH0OU4oQq
bhUQAPEh2yoJLU7IgxYeQiNDOvfT1d2lbJelC

Nur diese verschlüsselte Version wird gespeichert. Ohne dein Passwort ist eine Entschlüsselung unmöglich.

Verschlüsselung bei der Synchronisation

Deine auf deinem Gerät verschlüsselten Daten werden über eine sichere, verschlüsselte Verbindung an unsere Server übertragen und dort gespeichert. Dies dient zum einen als Backup deiner Daten und ermöglicht zum anderen die Synchronisation mit anderen Geräten.

Da die Daten nach wie vor verschlüsselt sind, lassen sie sich nur mit deinem Passwort entschlüsseln und lesen. Dein Passwort wird niemals gespeichert - weder auf deinem Gerät, noch auf unseren Servern. Auch für den Login-Prozess wird dein Passwort niemals an unsere Server übertragen. Selbst wenn jemand unsere Server hacken würde, wäre es ihm nicht möglich die Daten zu lesen (mehr dazu unter Technische Details).

Deine anderen Geräte verbinden sich zu unserem Server, laden den verschlüsselten Kurs herunter und speichern in ihn verschlüsselter Form. Erst wenn du ihn in der App öffnest wird er lokal auf dem Gerät entschlüsselt.

Dein Passwort wird niemals gespeichert - weder auf unseren Servern, noch auf deinem Gerät. Es ist also sogar unmöglich, deinen Kurs zu enschlüsseln falls jemand dein Handy klaut und die Daten manuell ausliest.

Browserversion

Das obige gilt übrigens auch, wenn du neno im Browser verwendest. Die Daten werden verschlüsselt geladen und erst lokal auf deinem Gerät entschlüsselt. Sie werden nicht im Browser gespeichert. Du bist also auch sicher, wenn du neno an einem öffentlich zugänglichen PC verwendest.

Technische Details

Hier findest du die technischen Details zum gesamten Verschlüsselungsablauf in neno. Wörter, deren Bedeutung u.U. nur von technisch versierten Personen verstanden werden können, haben wir beim ersten Auftreten mit einer Erklärung verlinkt.

Passwort und Userkey

Bei der Registrierung wählst du ein Passwort und gibst dieses im Registrierungsformular ein. Dieses wird allerdings nie gespeichert und niemals irgendwohin übertragen. neno erzeugt aus deinem Passwort einen sicheren Hashwert. Aus diesem Hashwert wird ein weiterer Hashwert erzeugt, welcher als Passwort für die Anmeldung bei unseren Servern (Backendpasswort) dient. Dieses Backendpasswort wird über eine verschlüsselte Verbindung an unsere Server übertragen und dort erneut gehasht gespeichert. So können wir dich bei zukünftigen Anmeldungen authentifizieren.

Aus dem ursprünglichen Hashwert wird über ein weiteres Hashverfahren ein AES-Key generiert, diesen nennen wir Userkey. Das Verfahren ist eindeutig, d.h. dasselbe Passwort führt stets zum selben generierten Key. Dieser Key wird für die Dauer der Nutzung der App im Arbeitsspeicher vorgehalten, um alle Daten vor Speicherung verschlüsseln zu können. Beim Schließen der App geht er verloren und muss beim nächsten Start erneut aus dem Passwort generiert werden. Als Verschlüsselungsverfahren kommt AES zum Einsatz.

Sicheres Passwort erforderlich

Das ganze Verfahren ist nur so sicher wie das von dir gewählte Passwort selbst. Wenn dein Passwort "123456" lautet, dann bietet auch das ausgeklügelste Verschlüsselungsverfahren keine Sicherheit.

Dokumentbasierte Verschlüsselung

Jeder Kurs, jede Liste, jedes Dokument in deiner Datenbank wird mit einem zufällig generierten Schlüssel verschlüsselt. Dieser Schlüssel wird dann mit deinem Userkey verschlüsselt und zusammen mit dem Dokument gespeichert. Dadurch lässt sich viel Zeit sparen, wenn ein neuer Userkey generiert wird; es muss nicht die ganze Datenbank neu verschlüsselt werden, sondern nur die Dokumentenschlüssel. Darüber hinaus dient dies als Vorbereitung für das spätere sichere Teilen von Noten mit Kollegen (noch nicht implementiert).

Biometrisches Entsperren

Aktivierst du das Biometrische Entsperren, so wird ein neuer, zufälliger Key erzeugt und in einem speziell dafür bereitgestellten Tresor deines Betriebssystems gespeichert. Dieser Key lässt sich nur nach biometrischer Authentifizierung auslesen. Mit diesem Key wird nun dein UserKey verschlüsselt und in der Datenbank gespeichert. Du kannst die biometrische Anmeldung ab sofort unabhängig von deinem Passwort nutzen.

Biometrische Verfahren sind unsicher

Beachte, dass du durch das Verwenden des biometrischen Entsperrens die Sicherheit deiner Daten verringerst. Insbesondere Fingerabdrucksensoren können teilweise sehr einfach ausgetrickst werden.