myViewBoard Sicherheitsrichtlinien

From myViewBoard
Jump to navigation Jump to search
DSGVO logo.png

Dieses Dokument wurde als Antwort auf die Anfrage an ViewSonic zu unseren Sicherheitsrichtlinien für das myViewBoard-Projekt hin erstellt. Sicherheit und Datenschutz sind bereits bei der Konzeption und Entwicklung von myViewBoard ein zentraler Bestandteil.

In diesem Dokument beschreiben wir,

  • wie wir Github, Docker und Circle CI in myViewBoard integriert haben.
  • wie wir eine sichere und skalierbare Umgebung mit Amazon's Web Service erstellt haben.
  • wie wir mit dem WebRTC Protokoll unsere Streaming-Dienste sichern.
  • wie wir PGP (PrettyGoodPrivacy) nutzen, um die Übertragung von Dateien zu sichern.

Wir möchten damit unseren Kunden zeigen, dass wir bei ViewSonic Datenschutz ernst nehmen. Auch alle Drittanbieter, von denen wir Dienste in das myViewBoard Ecosystem integriert haben, erfüllen die höchsten Datenschutzrichtlinien.


Phasen der Softwareentwicklung

Der Prozess zur Entwicklung einer sicheren Software kann in vier verschiedene Phasen unterteilt werden:

  • Planung und Design
  • Umsetzung
  • Test
  • Veröffentlichung

Nach Abschluss jeder einzelnen Phase, wird eine Überprüfung der Software durchgeführt. Folgende Abbildung stellt diese vier Phasen grafisch dar:


Security lifecycle stages.png

Ablauf einer Softwareentwicklung mit Hilfe von Cloudservices

Security docker.png

Softwareentwicklung Übersicht

Speichern und Verwalten von Verschlüsselungsinformationen in der Cloud

Sicherheit, welche durch Verschlüsslung erreicht wird, erfordert einen Schlüssel, den so genannten Encryption Key. Egal ob in der Cloud, oder lokal auf Ihrem Rechner, ein Schlüssel muss immer sicher aufbewahrt werden. Amazon Web Services verwendet für die server-seitige Verschlüsselung die AWS Schlüsselverwaltungs- und Speicherfunktionen und stellt einen HSM-Service in der Cloud bereit, der auch als AWS CloudHSM bezeichnet wird.

Stellen Sie sich Amazon Web Service als privates Netzwerk vor, auf das Sie mit SSH zugreifen können, um dort ganz individuelle Zugriffsberechtigungen zu konfigurieren.


Security mng encrypt keys.png

Reference: Amazon Web Services

Sicherheit bei der Übertragung von Daten zu Amazon S3

Auf Amazon S3 wird mittels HTTPS zugegriffen. Dies umfasst alle Anfragen an Amazon S3, sprich Anfragen zur Verwaltung der Amazon Dienste, sowie Anfragen zu Benutzerdaten, wie z.B. deren gespeicherten Dateien inkl. den dazugehörigen Metadaten. Wenn die AWS Konsole zur Verwaltung von Amazon S3 genutzt wird, wird zwischen Ihrem Rechner und Amazon eine sichere und verschlüsselte Verbindung mittels dem SSL/TLS Protokoll aufgebaut. Jeglicher anderer Datenaustausch wird dann über diese Verbindung sicher eingekapselt übertragen.

Security Amazon S3.png

Referenz: Amazon Web Services

Sichere Übertragung der Daten zu Amazon RDS

Eine Verbindung von Amazon RDS nach Amazon EC2 in der gleichen Netzwerkumgebung basiert auf den Sicherheitsrichtlinien des AWS Netzwerkes. Verbindungen über das Internet werden über SSL/TLS geschützt. SSL/TLS bietet Peer Authentication über das X.509 Server Zertifikat, Datenintegrität und Datenverschlüsselung für die Client-Server Verbindung. SSL/TLS wird für Verbindungen zu Amazon RDS, MySQL und Microsoft SQL Instanzen unterstützt. Für beide Produkte bietet Amazon Web Services ein selbst-signiertes Zertifikat mit dem Sie auf die Datenbanken zugreifen können. Amazon RDS verwendet für den Datenbankzugriff die ONN (Oracle Native Network) Verschlüsselung. Oracle Native Network verschlüsselt Ihren Datenverkehr über den Oracle Net Service mit Industriestandards wie AES und Triple DES. Die sichersten Verschlüsselungsalgorithmen auf dem Markt.

Security amazon rds vpc.png

Amazon RDS VPC

Sichere Übertragung Ihrer Daten zu Amazon DynamoDB

Verbindungen zu DynamoDB, welche von anderen AWS Services ausgehen, verwenden alle die Sicherheitsstandards des AWS Netzwerkes wie HTTP über SSL/TLS (HTTPS).


Security dynamoDB.png

WebRTC (Web Real-Time Communication)

WebRTC (Web Real-Time Communication, deutsch „Web-Echtzeitkommunikation“) ist ein offener Standard, der eine Sammlung von Kommunikationsprotokollen und Programmierschnittstellen (API) definiert, die Echtzeitkommunikation von Rechner-zu-Rechner Verbindungen ermöglichen. Damit können Webbrowser nicht mehr nur Datenressourcen von Backend-Servern abrufen, sondern auch Echtzeitinformationen von Browsern anderer Benutzer.

Dies ermöglicht Anwendungen wie Videokonferenzen, Dateitransfer bzw. Datenübertragung, Chat und Desktopsharing. Nur für den Verbindungsaufbau zwischen den beteiligten Rechnern ist ein Webserver erforderlich. Der eigentliche Datenaustausch findet hinterher nur zwischen den zwei Rechnern statt.

WebRTC ist beim World Wide Web Consortium (W3C) als offener Standard standardisiert. Die Standardisierung wird maßgeblich beaufsichtigt und unterstützt von Google, der Mozilla Foundation und Opera Software ASA.

OpenWebRTC stellt eine weitere freie Implementierung auf Basis des Multimedia-Frameworks GStreamer dar, das sich besonders für Browser-unabhängige, native Anwendungen eignen soll und auch H.264 unterstützt.

WebRTC Sicherheitsfunktionen

Das Herunterladen von Software beinhaltet immer ein großes Sicherheitsrisiko. Ihr Rechner kann mit einem Virus, Malware, Spyware oder anderen Schädlingen infiziert werden. Deswegen sollte auf jedem Rechner eine Antivirus Software installiert sein.

Mit WebRTC muss sich über all das keine Gedanken mehr machen. Da WebRTC nicht direkt auf das Internet zugreift, sondern der gesamte Datenaustausch direkt zwischen zwei Rechnern stattfindet, muss keine zusätzliche Software oder Plugins heruntergeladen und installiert werden.

Alles was für eine Videokonferenz benötigt wird ist bereits in Ihrem Browser enthalten. Einige Sicherheitsfunktionen von WebRTC sind:


  • Ende-zu-Ende Verschlüsselung zwischen zwei Rechnern bzw. Internetbrowsern.
  • Datagram Transport Layer Security (DTLS)
  • Secure Real-Time Protocol (SRTP)


Ende-zu-Ende Verschlüsselung

Verschlüsselung ist in WebRTC als permanente Funktion eingebaut und somit sind die meisten Sicherheitsbedürfnisse effektiv abgedeckt. Ungeachtet dessen, welcher Server oder Browser benutzt wird, private Peer-to-Peer Verbindungen (Rechner-zu-Rechner) sind dank WebRTC immer sicher und verschlüsselt.


Data Transport Layer Security (DTLS)

Alle Daten die über das WebRTC Protokoll übertragen werden sind über die Datagram Transport Layer Security Methode verschlüsselt. Diese Verschlüsselungstechnik ist bereits in vielen Webbrowsern eingebaut (z.B. Firefox, Chrome, Opera). Mithören und Datenmanipulation sind damit ausgeschlossen.

Secure Real-Time Protocol (SRTP)

WebRTC bietet zusätzlich zu DTLS, die SRTP Verschlüsselung. SRTP schützt die IP Verbindung vor Hackern, sodass eine Video- und Audiokommunikation immer privat bleibt.

Signalling Server

Security signalling server.png


WebRTC Standard Verfahren - P2P

Alle Daten werden verschlüsselt und direkt zwischen zwei Rechnern ausgetauscht.

Security E2E.png

WebRTC Standard Verfahren - TURN

Ein TURN Server wird verwendet wenn Daten nicht direkt zwischen zwei Rechner ausgetauscht werden können. Alle Daten werden jedoch verschlüsselt übertragen. Nur Ihr Rechner und der Empfänger können die Daten entschlüsseln. Der TURN-Server leitet dabei nur verschlüsselte Daten weiter.

Security TURN.png

WebRTC Default Case - PGP

Security default case p2.png

Anhang

Dieses Dokument bezieht sich sehr auf die technischen Details der Protokolle, welche in myViewBoard integriert wurden. Dieser Abschnitt beschreibt nun wie myViewBoard in Ihr System bzw. Ihr Windows installiert/integriert wird:

myViewBoard's Softwarekomponenten werden alle in das Standardverzeichnis des Benutzers installiert. Ausnahmen sind:

  • Crossmatch Fingerprint SDK
  • SQLCipher

Die myViewBoard Software nimmt auch Änderungen an folgenden Systemeinstellungen vor:

  • Registrierung
  • Firewall
  • digitale Zertifikate
  • Kernel Mode Treiber
  • Browser Plugins
  • Registierungsschlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\DigitalPersona\Products\U.are.U RTE 


Folgende Dienste werden für die Verschlüsselung verwendet:

  • Hashing Algorithms: SHA25
  • Public-Key Algorithms: RSA-204
  • SSL Schemes: TLS 1.2


Folgende Drittanbieter-Anwendungen sind in myViewBoard integriert.

  • WebRTC
  • mqtt
- MQTT 3.1 and 3.1.1 compliant
- QoS 0 and QoS 1