Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...


German

...

...

width70%

Informationen zu den verwendeten Verschlüsselungsverfahren in SmartNotes.

...

Die zur Authentifizierung gespeicherten Informationen sind Hash und Salt.

Beim Anlegen eines Nutzers hasht der Client das eingegebene Passwort mit einem Salt, welcher u.A. den Benutzernamen enthält (client-seitiges PBKDF2). Dieser Hash wird an den Server gesendet und dort mit dem für den Nutzer in der Datenbank hinterlegten Salt nochmals gehasht (server-seitiges PBKDF2). Bei Anmeldung eines Benutzers wird sein dabei eingegebenes Passwort gehasht und mit dem gespeicherten Hash verglichen. Eine Authentifizierung erfolgt nur dann, wenn die beiden Hashes übereinstimmen. Wenn identische Passwörter eingegeben werden, bleiben die Hash-Werte für verschiedene Benutzer trotzdem unterschiedlich. Dies gilt sogar, wenn die Salt-Werte für zwei Benutzer identisch wären. D.h. es ist nicht möglich, die Datenbankeinträge eines Benutzers auf die eines anderen Benutzers sinnvoll zu übertragen. Der server-seitige Salt besteht aus einer Folge der zufällig gewählten Bytes und wird individuell für jeden Benutzer generiert. Dieses Vorgehen stellt folgende Punkte sicher:

  • Das Passwort wird nie im Klartext an den Server übertragen.

  • Das Passwort wird nie im Klartext in der Datenbank gespeichert.

  • Die an den Server gesendete Information (Hash 1) unterscheidet sich von der zu diesem Benutzer in der Datenbank gespeicherten Information (Hash 2).

  • Der Client erhält keine Kenntnis über die in der Datenbank hinterlegten Werte für Hash oder Salt.

  • Das eingesetzte Verfahren ist Bestandteil der Standard .NET-Bibliotheken.

  • Die Hash-Berechnung ist so gestaltet, dass Brute-Force-Attacken erschwert werden.

...

width30%

...

bgColor#ECECEC

...

...

Column
width34%

Zurück zur Übersicht - SmartNotes --

Column
width33%

Weiter mit -- Lizenzinformationen >>

English

Information on the encryption methods used in SmartNotes.

The information stored for authentication is hash and salt.

When creating a user, the client hashes the entered password with a salt, which, among other things, Contains the user name (client-side PBKDF2). This hash is sent to the server, where it is hashed again with the salt stored in the database for the user (server-side PBKDF2). When a user logs in, the password he has entered is hashed and compared with the stored hash. Authentication  is enabled only if the two hashes match. If identical passwords were entered, the hash values ​​will still be different for verious users. This is true even if the salt values ​​were the same for two users. This means that it is not possible to transfer the database entries of one user to those of another user in a meaningful way. The server-side salt consists of a sequence of randomly selected bytes and is generated individually for each user.

This procedure ensures the following points:

  • The password is never sent to the server in clear text.

  • The password is never stored in plain text in the database.

  • The information sent to the server (hash 1) differs from the information stored about this user in the database (hash 2).

  • The client has no knowledge of the hash or salt values ​​stored in the database.

  • The hash calculation is designed in such a way that brute force attacks are made more difficult.

  • The used method is part of the standard .NET libraries.

German

Panel
Panel
titlePasswort zur Anmeldung


Section


Column
width100%

SmartNotes speichert die Passwörter der Benutzer in der Datenbank. Die Umwandlung des Passworts in einen Schlüssel erfolgt mit dem Password-Based Key Derivation Function 2 (PBKDF2)Verfahren. Die Beschreibung des angewandten Algorithmus ist hier zu finden.



Panel
titleKommunikation zwischen Client- und Server-Anwendung


Section


Column
width100%

Der Kommunikationskanal wird mit dem  asymmetrischen kryptographischen Verfahren RSA aufgebaut. In dem sogenannten Handshake zu Beginn der Kommunikation wird dabei ein Schlüssel zwischen Client und Server ausgehandelt, welcher im Anschluss für die symmetrische Verschlüsselung mit Advanced Encryption Standard (AES) verwendet wird.  AES verwendet  eine definierte Schlüssellänge von 256 Bit. Bei RSA wird eine Schlüssellänge von 3072 Bit verwendet.

Diese Schlüssel können derzeit nicht über ein Zertifikat festgelegt werden. Wird Single-Sign-On in Verbindung mit Kerberos eingesetzt, so wird der Kerberos Token verwendet, um den AES Schlüssel auszutauschen.


Panel
titleZertifikat (Ab Version 2.8.1.287 bzw. > 2.9.0.88)

Als weitere Möglichkeit der Verschlüsselung haben wir für Kunden mit einem SmartNotes Server außerhalb des eigenen Firmennetzwerks die Verschlüsselung per SSL implementiert.

Client und Server müssen sich hier mit einem gültigen Zertifikat authentifizieren und die Daten werden per SSL verschlüsselt.

Um die SSL Verschlüsselung zu aktivieren, müssen in der Server und Client Config die Schlüssel UseSslForEncryption, SslServerAuthenticationX509CertificateSubjectName und SslClientAuthenticationX509CertificateSubjectName hinterlegt und die entsprechenden Client / Server Zertififikate auf den jeweiligen Maschinen installiert werden.

Zur Umsetzung und bei Fragen wenden Sie sich gerne an unseren Support.




Panel
titleSQL Serververschlüsselung

Zwar ist die Verschlüsselung ein wertvolles Mittel, Sicherheit zu gewährleisten, sollte jedoch nicht für alle Daten oder Verbindungen verwendet werden. Bevor Sie sich dafür entscheiden, Verschlüsselung zu verwenden, prüfen Sie, wie Benutzer auf die Daten zugreifen. Wenn Benutzer über ein öffentliches Netzwerk auf Daten zugreifen, könnte die Datenverschlüsselung die Sicherheit erhöhen. Wenn sich aber der gesamte Zugriff innerhalb einer sicheren Intranetkonfiguration abspielt, ist eine Verschlüsselung möglicherweise nicht erforderlich. Jede Verwendung der Verschlüsselung sollte auch eine Wartungsstrategie für Kennwörter, Schlüssel und Zertifikate einschließen.

...

Column
width33%

<< Zurück zu - Technische Details --



English



Panel

...

width70%

...

titleInformation on the encryption methods used in SmartNotes.

...

Column
width100%

The information stored for authentication is hash and salt.

When creating a user, the client hashes the entered password with a salt, which, among other things, Contains the user name (client-side PBKDF2). This hash is sent to the server, where it is hashed again with the salt stored in the database for the user (server-side PBKDF2). When a user logs in, the password he has entered is hashed and compared with the stored hash. Authentication  is enabled only if the two hashes match. If identical passwords were entered, the hash values ​​will still be different for verious users. This is true even if the salt values ​​were the same for two users. This means that it is not possible to transfer the database entries of one user to those of another user in a meaningful way. The server-side salt consists of a sequence of randomly selected bytes and is generated individually for each user.

This procedure ensures the following points:

  • The password is never sent to the server in clear text.
  • The password is never stored in plain text in the database.
  • The information sent to the server (hash 1) differs from the information stored about this user in the database (hash 2).
  • The client has no knowledge of the hash or salt values ​​stored in the database.
  • The hash calculation is designed in such a way that brute force attacks are made more difficult.
  • The used method is part of the standard .NET libraries.

...

width30%
Panel
bgColor#ECECEC

<< Technical Documentation

Panel
titleLogin password


Section


Column
width100%

SmartNotes stores the users' passwords in the database. The password is converted into a key using the Password-Based Key Derivation Function 2 (PBKDF2) method. The description of the algorithm used can be found here.

...

...



Panel
titleCommunication between client and server application


Section


Column
width100%

The communication channel is set up with the asymmetric cryptographic method RSA. In the so-called handshake at the beginning of communication, a key is negotiated between client and server, which is then used for symmetrical encryption with  Advanced Encryption Standard (AES). AES uses a defined key length of 256 bits. With RSA a key length of 3072 bits is used.

These keys cannot  be currently set using a certificate. If single sign-on is used in conjunction with Kerberos, the Kerberos token is used to exchange the AES key.

Panel
titleCertificate (as of version 2.8.1.287 or > 2.9.0.88)

As a second option for encryption, we have implemented SSL encryption for customers with a SmartNotes server outside their own company network.

Client and server must authenticate themselves with a valid certificate and the data is encrypted via SSL.

To activate SSL encryption, the keys UseSslForEncryption, SslServerAuthenticationX509CertificateSubjectName and SslClientAuthenticationX509CertificateSubjectName must be stored in the server and client config and the corresponding client / server certificates must be installed on the respective machines.

For implementation and questions, please contact our support.





Panel
titleSQL Server Encryption

While encryption is a valuable means of ensuring security, it should not be used for all data or connections. Before deciding to use encryption, consider how users access data. If users are accessing data over a public network, data encryption could increase security. But if all access is within a secure intranet configuration, encryption may not be necessary. Any use of encryption should also include a maintenance strategy for passwords, keys and certificates.

...



German

...

width33%

...

...

width33%

...

<< Back to - Technical details --

Column
width34%

Back to overview - SmartNotes --