Sichere Apps für Proffix Px5

In Proffix Px5 sind alle Ihre Geschäftsdaten gespeichert: Rechnungen, Kreditoren, Löhne, Umsatzahlen etc. – alles besonders schützenswerte Daten. Umso wichtiger, dass auch der Zugang via pfx Apps sicher ist.

Sicherheit durch Transparenz

Alle pfx Apps verwenden nur die offizielle Proffix Px5 Rest-API. Zudem stellen wir das Grundgerüst welches pfx zur Authentifizierung verwendet sogar OpenSource und komplett transparent auf Github; jeder kann sich den Code anschauen und selbst prüfen ob er «sicher» ist (siehe Dart Wrapper für PROFFIX REST-API)

Aus alten Fehlern lernen

Im den Vorgängerversionen von pfx («p-App») entschieden wir uns für einen Zwischenschritt.

Jede Anfrage wurde damals an einen Microservice weitergeleitet, welcher die entsprechenden Abfragen dann aus der Proffix Rest-API holte und Sie an die Apps weiterleitete. Das vereinfachte zwar die Lizenzierung und die Kontrolle – verunmöglichte aber gewisse Sicherheitskonzepte.

Proffix Rest-API mit Fremden Servern
Abbildung 1: Indirekte Verbindung via «fremde Server»

So müssen bei dieser Variante sensitive Daten wie Benutzername und Passwort auf einem fremden Server gespeichert werden. Zudem könnten die Daten aus der Proffix Rest-API auf dem Microservice theoretisch «mitgelesen» werden.

Risiken:

  • Der «fremde Server» wird kompromittiert – alle Benutzerdaten werden geleakt und fremde Personen haben Zugang zu Ihren Proffix – Daten.
  • Fällt der Server aus betrifft das alle Benutzer egal von welchem Kunden
  • Schlechte Skalierung. Je mehr Benutzer desto langsamer wird der zentrale Server
  • Daten sind auf dem «fremden Server» unverschlüsselt und könnten also theoretisch mitgelesen werden

Dezentral und sicher

In den aktuellen pfx Apps erfolgt die Verbindung hingegen direkt mit der dedizierten Proffix Rest-API des Kunden. Ohne Umwege über Proxys, fremde Server oder ähnliches, komplett dezentral – der Kunde bestimmt den Weg.

Proffix Rest-API Ohne Fremde Server
Abbildung 2: Direkte Verbindung ohne «fremde Server»

Es gibt keinerlei Abhängigkeiten zu externen Services – wenn die Infrastruktur des Kunden funktioniert, werden auch die pfx Apps immer funktionieren: es gibt keine Downtime oder Wartungsintervalle.

Sämtliche Verbindungsinformationen werden nur auf den mobilen Endgeräten verschlüsselt gespeichert.

Vorteile:

  • Dezentral – dadurch keine Abhängigkeiten mit externen Systemen
  • Funktioniert immer (solange Ihre Proffix Rest-API und Internet funtionieren)
  • Benutzerdaten liegen nicht irgendwo auf einem fremden Server sondern sind nur auf dem mobilen Endgerät
  • Wird durch SSL ab Rest-API bis zum mobilen Gerät verschlüsselt – ohne Zwischenstation
  • Skalierbarkeit – der Flaschenhals ist Ihre Proffix Px5 Installation bzw. die Proffix Rest-API und nicht externe Server

Besonders cool: man kann pfx auch nur «Netzwerkintern» verwenden. Möchte etwa ein Kunde seine Rest-API nur im Intranet freigeben (z.B. per WLAN im Lager) funktioniert das mit pfx da die Verbindung eben direkt ist

Verschlüsselung

Auch wenn ein mobiles Gerät gestohlen oder kompromittiert werden würde – mit pfx sind sämtliche Benutzerdaten (übrigens auch der Cache) auf dem Gerät verschlüsselt.

Da die Authentifizierung bei jeder Abfrage geprüft wird reicht es das Passwort in Proffix für einen betroffenen Benutzer zu ändern – die Apps werden dann nicht mehr funktionieren.

Fun Fact: Selbst die Webversionen / Progressiven Webapps von pfx verwenden eine experimentelle Verschlüsselung im lokalen Speicher des Browsers mittels WebCrypto wobei die Daten mit einem via Browser generierten Privaten Key verschlüsselt werden (d.h. dieser liegt nur im lokalen Browser und sonst nirgends)

Datenschutz

Da pfx direkt mit der dedizierten Proffix Installation kommuniziert wissen wir nicht wer wann was wie macht.

Fehlermeldungen werden nur in stark anonymisierter Form geloggt (vgl. auch unsere Datenschutzbestimmungen).

Und irgendwelche Daten aus Proffix werden sowieso nicht gespeichert – entsprechend übrigens auch der Hinweis in den jeweiligen Stores «Daten können nicht gelöscht werden»: Was wir nicht haben – können wir auch nicht löschen…