This article was first published at owncloud.

Your Data is at risk. And thus is your personal life and your company’s values.
You avoid hackers, trade espionage and rogue governments getting your data by using your own cloud storage like ownCloud. Your data under your control.

But depending on where your storage is located some risks still remain. The connection to your ownCloud installation in the hosted datacenter is TLS protected. All data are encrypted on their transport to the datacenter. But within the datacenter your data is plain text.
You are using ownClouds integrated encryption? You even have the full disk encrypted using LUKS or similar methods? This is fine but only protects you from certain attacks like stealing the sole hard disk.
But if the attacker gains access to the very location where the actual encryption takes place, the encryption is useless, since this location also contains the encryption key! Thus, if the attacker has access to the datacenter or – more probably – is a rogue or bribed employee of the datacenter the attacker can get physical access to your encryption key and finally to your data.

This is why client side encrpytion is such a good idea. With client side encryption the data is encrypted on your own client. The key material is only available on your client, not on the ownCloud server. The data is sent already encrypted to the server. Not only is the transport layer encrypted using TLS but the payload itself within the TLS can not be read anymore.
The ownCloud server and the storage never sees any clear text data and never has access to the encryption key.
The tool cryptomator which was introduced in this[link] previous blog post works this way.


But enterprise scenarios come with a longer requirements list than tools like the slick cryptomater can cover.
Even smaller companies have to comply with the requirements of the enteprrises if they are supplier for the bigger ones.
I have run several projects where supplying companies were confronted with the requirements for encrpytion and two factor authentication since they delivered to bigger enterprises, that simple defined those requirements. Let us take a look at the requirements when you run a company or bigger organization.

File Encryption

In such scenarios when encrypting data it is important to encrypt files. In contrast to full disk encryption and encrypted containers encrypted files can be moved around without breaking the encryption. Even the encrypting file system does not provide this sticky encryption. If the user moves the file to another disk or a USB stick, the file would not be encrypted anymore, since with full disc encryption and container encryption the encryption is bound to the storage and not to the data.
The data should not be decrypted when the file is moved. This is why we require to encrypt the files and keep them encrypted when moving the file to another locatoin.

Client Side Encryption

As mentioned in the beginning the files should be encrypted and decrypted on the client. This way only encrypted data is transferred via the network. The user can also move the files as in the previous requirement but most important the encryption gets independent from the storage location.
The administrator can access the file but can not read the data in the file. This way all backup mechanisms still work, but the data is persistently protected.


When working with data in a company users are usually working on projects with other colleages.
Thus several users need access to the encrypted data. The project leader or data owner might need to add other users to the group and grant them access to the encrypted data or withdraw this access again.

It is important to note, that usually not *the* administrator gives access to the data. Complying to the concept of duty of separation, the administrator may be responsible for providing the storage and taking care of the backup, but he might not be allowed, to read the data and probalby will not be allowed to decide who is allowed to read the data.

This leads us to the requirement for a bit more sophisticated key management.

Key Management

If files are encrypted with passwords then a password based key derivation function (PBKDF) is used to generate the encryption key. A badly implemented encryption would use this key to encrypt the file. This would result in the problem, that – if you change the password – the complete file needs to be decrypted with the old password and re-encrypted with the new password. This might be fine for one small file but totally fails with a complete directory, a harddisk or a huge storage.

When you look at encryption a multi-step encryption has proven to be sensible. Even in the case of a PGP encrypted Email, the email is for many reasons not encrypted with the public key of the recipient directly but with a symmetric data encryption key (DEK), which is unique to this email.
Only this DEK is encrypted with the public key of the recipient. This is called Key Encryption Key (KEK).

The other great thing when using a DEK and KEK is, that several users can have access to the same data with different passwords – or different KEKs. This way a user who has access to the data can also be allowed to grant access on the data to a new user. The software can access the DEK with the KEK of the old user and encrypt the DEK of the file with the KEK of the new user.

This way, each file has a list of KEK-encrypted DEKs attached to it. Thus an enterprise encryption software needs to allow adding users with their key encryption key to files.
Users need to have different roles like adding users to access groups or only being allowed to access the data.

(Of course you can not effectively avoid the user breach: The user who has been granted access to the data can go rogue and print the data, take a photograph or copy. If you want to tackle with this threat you need to think about implementing data leakage prevenion.)

So what the heck with the KEK?

You might use the latest and greatest symmetric unbreakable encryption algorithms for actually encrypting the data. But these are of no use, if the access to this encryption – usually the password – is week. An attacker would always target the KEK (a.k.a. Passwords) and not the DEK (The encryption itself).

Thus, another important requirement is not only to encrypt the data but also to protect the access to this encryption. A good way to do this is not to use a password based access but to use public key cryptography.
As mentioned with the PGP example, the KEK is the public key of the user. The DEK is encrypted with the public key.
The user has to provide his private key to decrypt the DEK to access the data.

Perfectly the private key is located on a smartcard, so that the private key can not (easily) be copied or stolen.
If the private key was initially created on the smartcard, you can in addition be sure that the private key was not stolen or copied.

Data Read Escalation

As we required earlier the administrator usually can not read the data and can not add users to the group of data users, who can read the encrypted data.
But in certain cases – when all users have lost their smartcard, forgotten their passwords, have quit the job – the company needs to be able to access the encrypted data without one of the originial users available.

In this case the encryption solution needs to provide a process with preferably 4 eyes principle to regain access.
4 eyes principle is important to increase the trust and allow full deniability for all participants.

Technicaly the key management can to this by adding a system-KEK or recovery-KEK to all files.

Hardware Security Modules

Besides using smartcards for the user’s KEKs, the support for hardware security modules can be a good idea. The HSM can be used to protect the system-KEK or recovery-KEK or to sign configuration data. Otherwise a user with the right to only read encrypted data could escalate his rights to „assign-new-users to the encryption group“ by flipping some bytes in the database.


We already said, that reencrypting the data is a bad idea and should be avoided. Nevertheless it can be necessary. E.g. if the symmetric encryption algorithm used to encrypt the files is know to have weeknesses. This is especially important if you need to upgrade the encrpytion algorithm.
In a worst case scenario the system- or backup-key could be compromized, then this keys need to be changed.
The solution should provide the possibility to reencrypt the data.

Possible Solutions

There is a quite nice long list of commercial products, which cover those requirements. Some are better and more convenient in smartcard support, some in group management and some in automation.
It is always a good idea, to identify your own needs and evaluate the right solution.
Most of the tools are products of companies located in Germany and thus comply to the (still) stirct data protection laws.

Why is there no open source?

Nevertheless there is no open source tool, which is capable of covering the requirements and competing with the commercial tools available. This might be due to the scratch-your-own-itch concept of open source development. Individuals start open source projects, which will provide a solution to their own problem. A perfect example is the tool cryptomator. It does a great job in file encryption and covers a lot of requirements but totally lacks the key management and because of this will only work for a single user, but not for project groups in a company.
Another reason might be, that the customers for such an enterprise file encryption tool in 95% of the cases runs Windows on their clients and may thus be used to install and use closed source software – so why should the software vendor bother about an open source busines model?

With the growing pressure of undemocratic survailance requests even by the German government the threat through backdoors and unpublished zero days increases dramatically. In a sensitive area like data encryption, where data obviously is to be protected from preying eyes, open source solutions can help to regain the trust in such software.
So I urge all open source companies with data storage centric products to think about enhancing their portfolio with an open source project for a trustyworthy, modern, enterprise ready file encryption solution. In my opinion this is not only a gap in the market but would also be a great help for a mature and democratic society.

Zwei-Faktor-Authentifizierung für ownCloud mit privacyIDEA.

Am 23. Mai 2017 fand in Köln das ownCloud X Launch Event statt. Die NetKnights GmbH war als Sponsor dort vertreten und ich selber hielt einen Vortrag über Zwei-Faktor-Authentifizierung – speziell mit ownCloud.

In den Pausen konnten die Besucher an den Ständen der Sponsoren vorbeischauen oder etwas zu Trinken oder zu Essen genießen.

Zwei-Faktor-Authentifizierung im ganzen Unternehmen

Die Gespräche mit den Interessenten zeigten erneut deutlich:

Der Wunsch nach Zwei-Faktor-Authentifizierung ist nicht isoliert auf eine Anwendung wie ownCloud zu betrachten sondern Teil einer übergeordneten Sicherheitsstrategie.

privacyIDEA bietet einen zentralen Authentifizierungs-Dienst der die ideale Ergänzung für das Identity-Management im Unternehmen ist. ownCloud kann mit Hilfe der privacyIDEA ownCloud App an privacyIDEA angebunden werden – doch genauso kann das Authentifizierungsobjekt des Benutzers für die Anmeldung an Firewall, VPN, CRM, CMS oder jedem anderen beliebigen TLA genutzt werden.

Möchten Sie gerne mehr erfahren, wie Zwei-Faktor-Authentifizierung auch in Ihrem Unternehmen sinnvoll umgesetzt werden kann?

Dann kontaktieren Sie uns!

Möchten Sie auf dem Laufenden bleiben? Dann abonnieren Sie unseren Newsletter!

Im Mai diesen Jahres haben wir privacyIDEA als Projekt bei dem Open Source Business Award eingereicht.

Am Mittwoch Abend wurden im Rahmen der Open!2016 Konferenz die Gewinner gekührt.

privacyIDEA belegt den ersten Platz beim Open Source Business Award

Die Spannung steigt! Schließlich wurde privacyIDEA auf die Bühne gerufen. Die hochkarätig besetzte Jury verleiht dem Open Source Projekt privacyIDEA den ersten Platz (in Gold 😉 beim OSBAR. 

Ich war in Stuttgart am Mittwoch Abend zugegen und konnte freudig den Preis entgegennehmen. Die Sponsoren Kopano, Nextcloud und Spreed unterstützen die Auszeichnung außerdem noch jeweils mit einem Sachwert. Das erstplatzierte Projekt darf sich über eine Spreedbox freuen, mit der sichere Webkonferenzen durchgeführt werden können.

Ausgezeichnete Sicherheit

Nicht nur wurden Projekte nach dem Innovations- und Reifegrad bewertet sondern vor allem auch nach dem Nutzen für Business-Anwender. Lange schien in der Öffentlichkeit die Bereitschaft, etwas für Sicherheit zu tun, ein Lippenbekenntnis zu sein.

Meine persönliche Interpretation der Auszeichnung ist, dass die Jury erkannt hat, dass durch die Verwendung einer Sicherheitslösung wie privacyIDEA eben durchaus ein Mehrwert für Unternehmen geschaffen wird – indem geheime Daten geschützt und Complience-Regeln eingehalten werden. Als Open Source Produkt, das unter der Kontrolle des Anwenders on Premise läuft, behält ein Unternehmen vollständig seine Identitätssouveränität.

Ihre Sicherheit

privacyIDEA ist ein System zur zentralen Verwaltung von Authentifizierungsobjekten zur Zwei- oder Mehr-Faktor-Authentifizierung. Das Open Source Produkt ist produktiv zuverlässig einsetzbar, für den Unternehmenseinsatz ist eine Enterprise Edition mit entsprechenden Subskriptionen/SLAs verfügbar.

Seit einiger Zeit macht das NIST von sich Reden. Es aktualisiert seinen Digital Authentication Guideline.


Das NIST ist das National Institute of Standards and Technologies. Es gehört zum Handelsministerium der Vereinigten Staaten und legt Standards fest, an denen sich andere Behörden und Unternehmen orientieren oder nach denen sogar richten. Als ebenfalls physikalisches Labor geht es hier auch um Themen wie Erdbeben und Feuerschutzrichtlinien aber eben auch um Standards in der IT. So gehen die Verschlüsselungsprotokolle DES und AES auch aus die Mitarbeit des NIST hervor.

Digital Authentication Guideline

Die Verwendung von SMS für Authentifizierung wird von NIST als veraltet eingestuft.

Die Verwendung von SMS für Authentifizierung wird von NIST als überholt eingestuft.

Nun hat das NIST eine neue Vorabversion seiner Digital Authentication Guideline herausgebracht. Eine Richtlinie, die zum einen beschreibt, wie die Kritikalität verschiedener Anmeldesituationen in der IT zu bewerten sind aber dann auch konkrete Empfehlungen ausspricht, wie hier in den verschiedenen Sicherheitsstufen zu handeln ist. Das Thema Zwei-Faktor-Authentifizierung wird ins Feld geführt.

Interessant ist nun, dass im Draft SP800-63B explizit auf die Risiken von Out-Of-Band Authentifizierung mit SMS hingewiesen wird und in Abschnitt sogar die Verwendung von SMS als überholt eingestuft wird.

OOB using SMS is deprecated, and may no longer be allowed in future releases of this guidance.

Authentifizierungsverfahren nicht für die Ewigkeit

Nun müssen wir nicht über SMS herziehen. Es sollte uns aber bewusst machen, dass auch kein Authentifizierungsverfahren für die Ewigkeit gemacht ist. Das Verfahren, mit dem wir heute noch sehr glücklich sind, kann morgen für Hacker schon ein leichtes Spiel sein.

Hier müssen wir also einen viel allgemeineren Schluss ziehen: Die eingesetzten Authentifizierungsverfahren sollten austauschbar sein. Wir sollten nicht auf ein Produkt setzen, das ausschließlich auf ein Authentifizierungsverfahren – in diesem Fall  auf SMS – baut. Denn der Aufwand, nun wieder zu einem zeitgemäßen Authentifizierungsverfahren zu wechseln, bedeutet den kompletten Austausch eines solchen Produkts, des Backends nach einer langen Evaluierung eines geeigneten Herstellers und einer entsprechenden neuen Lösung.

Zukunftssicherheit mit privacyIDEA

Deswegen setzt die NetKnights GmbH auf privacyIDEA. privacyIDEA ist ein Authentifizierungssystem, das eine breite Anzahl an Token, Authentifizierungsgeräten und eben auch Authentifizierungsarten oder -protokollen unterstützt. Natürlich unterstützt privacyIDEA OTP per SMS oder Email. Aber eben auch Einmalpasswörter mittels Smartphone Apps, per Challenge Response, verschiedete OTP-Hardware-Token, Yubikeys und aber auch x.509-Zertifikate und SSH-Keys.

In diesem Fall kann ein Unternehmen, das privacyIDEA einsetzt, bei einer Veröffentlichung wie der des NISTs, entspannt neue Authentifizierungsgeräte an die Benutzer ausrollen, ohne die Software, den Hersteller und die Prozesse ändern zu müssen.

Auf diese Art und Weise spart privacyIDEA auch in Zukunft Verwaltungskosten und reduziert den TCO. Die NetKnights GmbH bietet verschiedene Support-Stufen für privacyIDEA, berät Sie bei der Integration in Ihr Netzwerk und liefert entsprechende Token-Hardware.

Sprechen Sie uns an.



Der Open Source Business Award (auch OSBAR) wird von der Open Source Business Alliance durchgeführt. Dabei werden Open Source Projekt und auch Ideen prämiert, die innovativ sind und einen entscheidenden Mehrwert für Unternehmen und Institutionen der öffentlichen Hand bieten.


Wir glauben, dass das Open Source Projekt privacyIDEA dies voll erfüllt. Gegenüber herkömmlichen OTP-Systemen setzt es viele, neue Ideen um und ermöglich den Anwendern so, individuelle und elegante Lösungen in ihrer Infrastruktur zu bauen.

Daher hat die NetKnights GmbH das Projekt privacyIDEA beim Open Source Business Award eingereicht. Hier können Sie die Einreichung lesen: privacyIDEA_OSBAR_2016.

privacyIDEA wird in der kommenden Version um ein Event Handler Framework erweitert.

Richtlinien für Zwei-Faktor-Authentifizierung

Das Zwei-Faktor-Authentifizierungssystem privacyIDEA lässt sich bereits über Richtlinien (Policies) detailliert konfigurieren und das Verhalten abhängig von vielen Rahmenbedingungen beeinflussen. So lassen sich mit Hilfe der Richtlinien unterschiedliche Szenarien abbilden und zu nahezu allen Herausforderungen eine Lösungen finden. Richtlinien verändern das Authentifizierungs- und Autorisierungsverhalten. Der Administrator kann beispielsweise verschiedene Sicherheitsstufen abbilden oder einfache Migrationen durchführen.


Mit Hilfe der neuen Event-Handler eröffnen sich noch mehr Möglichkeiten. Die Richtlinien beeinflussen und verändern das Verhalten von privacyIDEA an sich. Der Event-Handler hingegen ändert nichts an dem Verhalten, sondern startet, abhängig von eintretenden Ereignissen, zusätzliche Aktionen, ohne das eigentliche Ereignis zu verändern.


So wird in dem obigen Beispiel an das Ereignis „token_init“ (Ein Token wird für einen Benutzer ausgerollt) die Aktion „sendmail“ gehängt.

Um die Logik kümmert sich das Event-Handler-Modul „UserNotification“. Das Interessante ist nun, dass der Administrator ganz flexibel die entsprechende Aktion an jedes beliebige Ereignis hängen kann.

Weitere Event-Handler-Module

Als erstes Event-Handler-Modul wird „UserNotification“ ausgeliefert. Weitere Module sind denkbar und können schnell folgen. So könnte ein Modul „Enrollment“ für einen Benutzer einen speziellen Token-Typen ausstellen — als Reaktion auf ein beliebiges Ereignis.

Somit eröffnen sich ungeahnte Möglichkeiten, neue, kreative Konfigurationen und Workflows abzubilden. Einmal mehr beweist privacyIDEA, dass es ein modernes, innovatives und richtungsweisendes Authentifizierungssystem ist.

Abonnieren Sie unseren Newsletter, um immer auf dem Laufenden zu sein.

Leichte Migration eines bestehenden OTP-Systems zu privacyIDEA

Oftmals entscheiden sich Kunden, ihr bestehendes, proprietäre OTP-System zur Zwei-Faktor-Authentifizierung abzulösen. Dies hat verschiedene Gründe. Das bestehende System ist zu alt und es gibt keine Updates mehr. Gleichzeitig wird es zu unflexibel. Die für das System verfügbaren Token erfüllen nicht mehr die Anforderungen der heutigen Zeit. Unternehmen wachsen zusammen und jedes Unternehmen bringt seine eigene, proprietäre Lösung mit. Manchmal ist das bestehende System auch einfach zu teuer oder im Zuge der Vertrauens- und Überwachungsthematik möchte man lieber ein Open Source System einsetzen.

Dies sind Gründe, wieso sich Kunden für die Nutzung von privacyIDEA entscheiden.

privacyIDEA bietet schon heute verschiedene Möglichkeiten — bspw. mit den RADIUS Token, eine solche Migration sanft durchzuführen. Doch mit der Version 2.11 wird eine solche Migration nochmal leichter. privacyIDEA 2.11 wird am 18. März veröffentlicht. Wenn Sie auf dem Laufenden bleiben wollen, abonnieren Sie bitte hier unseren Newsletter.

Zentral definierte RADIUS-Server

In privacyIDEA 2.11 ist es möglich, an zentraler Stelle mehrere RADIUS-Sever zu konfigurieren. Dies ist vergleichbar mit der letztens eingeführten Möglichkeit, zentral SMTP-Server zu konfigurieren.

Zentral definierte RADIUS-Server

Zentral definierte RADIUS-Server „RSA SecurID“.

Diese RADIUS-Server können für den RADIUS-Token oder auch in den Richtlinien verwendet werden.

Bisher (bis einschließlich privacyIDEA 2.10) muss für jeden Benutzer in privacyIDEA ein RADIUS-Token ausgestellt werden. Dieser RADIUS-Token verweist auf den alten RADIUS-Server des abzulösenden OTP-Systems. Solange der Benutzer also noch keinen OTP-Token innerhalb von privacyIDEA hat, kann er sich noch immer mit dem alten Token authentisieren.

Eine Richtlinie für alle Benutzer

Ab Version 2.11 können die zentral definierten RADIUS-Server in den privacyIDEA-Richtlinien verwendet werden.


Der zentral definierte RADIUS-Server „RSA SecurID“ wird in der passthru-Policy verwendet.

Hierzu wurde die bereits existierende passthru-Richtlinie erweitert. Die passthru-Richtlinie greift, wenn ein Benutzer innerhalb von privacyIDEA noch keinen Token zugewiesen bekommt. Die Authentifizierungsanfrage wird dann an das LDAP oder AD weitergereicht oder – nun neu in 2.11 – an einen konfigurierten RADIUS-Server.

Das bedeutet, dass in einem sanften Migrationsszenario von Ihrem alten OTP-System hin zu privacyIDEA nur noch eine einzige Richtlinie zu definieren ist, und Sie nach und nach allen Benutzern einen neuen Token innerhalb von privacyIDEA ausstellen können!


Das hier beschriebene Szenario funktioniert problemlos für alle Systeme, die einen RADIUS-Server bereitstellen. Darunter Systeme wie Kobil, RSA SecurID, SafeNet, Vasco (in alphabetischer Reihenfolge).

Sprechen Sie uns an!

Die Entwicklungen für privacyIDEA 2.10 rund um das Thema Benutzerregistrierung laufen auf Hochtouren.

Benutzerregistrierung in privacyIDEA.

In der Version 2.10 von privacyIDEA wird es die Möglichkeit geben, dass sich neue Benutzer registrieren. Im Blog von finden sich weitere technische Details.

Neue Szenarien mit Benutzerregistrierung

Mit der Möglichkeit, dass sich Benutzer am privacyIDEA-System selber registrieren können, ergeben sich neue Benutzungsszenarien für Zwei-Faktor Authentisierung.


Zwei-Faktor Authentifizierung kann nun also Benutzer angeboten werden, die vorher nicht bekannt sind. So kann bspw. ein Provider mit Hilfe einer privacyIDEA-Installation einen öffentlichen Zwei-Faktor-Dienst anbieten. Benutzer können sich somit frei an privacyIDEA registrieren, der Provider kann mit einem entsprechenden Abrechnungsmodell für den Benutzer eine monatliche Gebühr erheben. Der Benutzer kann ein Authentisierungs-Gerät aus der vom Provider vorgegebenen Liste wählen. Dies können klassische HOTP oder TOTP Token sein, Google Authenticator oder andere Apps oder U2F-Geräte wie der Yubikey oder NitroKey.

Die Authentifizierung kann der Provider über unterschiedliche Protokolle wie bspw. SAML, RADIUS oder die WebAPI anbieten.


In Unternehmen oder Hotels können sich Gäste an einem privacyIDEA System registrieren, um einen zweiten Faktor auszurollen. Damit können sie bspw. für einen bestimmten Zeitraum Zugriff auf sensible Resourcen erhalten. Wenn sich ein externer Mitarbeiter registriert und einen zweiten Authentisierungs-Faktor im privacyIDEA erstellt hat, könnte das Unternehmen ihm mit diesem zweiten Faktor Zugriff auf schützenswerte Projektinformationen gewähren.

Neue Workflows

Auch innerhalb eines Unternehmens, einer Organisation oder einer Universität ermöglicht die Benutzerregistrierung neue Abläufe. Anstatt während des Rollout-Prozesses aktiv den Benutzern den Token zuzuweisen oder den Rolloutprozess lediglich an das Wissen des Domänenpasswortes zu binden, kann ein Mitarbeiter sich selber registrieren müssen. Durch den Registrierungsprozess wird er identifiziert und erhält seinen zweiten Faktor, den er dann bpsw. für den Remote-Zugriff mittels VPN nutzen kann.

Die Registrierung kann auf einen bestimmten Mitarbeiterkreis bspw. anhand der Email-Adresse beschränkt werden.

privacyIDEA Workshop

Über die Registrierung hinaus bietet privacyIDEA bereits eine Vielzahl an flexiblen Einsatzmöglichkeiten. Lernen Sie privacyIDEA besser kennen und sehen Sie, wie es in Ihrem Unternehmen die Anmeldeverfahren sicherer machen kann und wie Sie auf einfache Art und Weise Ihren Mitarbeitern einen zweiten Faktor ausstellen. Besuchen Sie hierzu im Januar das kostenlosen privacyIDEA-Webinar.


Das Video zum privacyIDEA Talk auf der T-Dose ist nun verfügbar (Englisch).

Cornelius Kölbel hielt am 28.11.2015 auf der T-Dose in Einhoven (Niederlande) einen Vortrag mit dem Titel

No Need For Gemalto -- Do it yourself! Two Factor Authentication with privacyIDEA.

Hierbei wird dargelegt, wie man sich von kommerziellen, proprietären Herstellern in Bezug auf starke Authentifizierung unabhängig machen kann.

Das besondere Augenmerk ist zu richten auf:

  • Kontrolle über das Schlüsselmaterial
  • Kontrolle über den Code (Open Source)
  • Kontrolle über den Computer, auf dem die Software läuft.

Die Open Source Software privacyIDEA bietet hierfür die entsprechenden Voraussetzungen.

Dieses Video ansehen auf YouTube.

Universal 2nd Factor ist ein von der FIDO Alliance spezifiziertes Protokoll, bei dem die Anmeldung an einer Webseite um einen zweiten Faktor — konkret einen Hardware-Besitz — ergänzt wird.

Die FIDO Alliance

In der FIDO Alliance engagieren sich große Player mit einer großen Benutzeranzahl wie Google und Paypal und klassische Hardwarehersteller wir RSA, Gemalto, Feitian und Yubico. Die Masse der Benutzer bei Google und Paypal sind überwiegend denzentrale, nicht organisierte Endanwender.

Das U2F Protokoll


Yubico U2F Yubiky

Die Idee bei U2F ist, dass ein Benutzer lediglich ein Hardware-Gerät hat, mit dem er sich ausweisen kann. Dazu registriert er dieses Gerät an den Webdiensten und Portalen, die das U2F Protokoll unterstützen. Das besondere hierbei ist, dass die einzelnen Webdienste nichts voneinander wissen. D.h. der Webdienst B weiß nicht, dass das gleiche Gerät bei Webdienst A registriert wurde. Dies soll die Anonymität des Endanwenders sicherstellen und die komplette Unabhängigkeit zwichen den einzelnen Webdiensten gewährleisten.

U2F ist also ein Protokoll für eine denzentrale Authentifizierung von Endanwendern.

Die Registrierung und Authentifizierung

Um dies zu ermöglichen, muss der Benutzer an jedem Webdienst, das Gerät registrieren. Dabei wird ein asymmetrisches  Schlüsselpaar erzeugt. Der öffentliche Schlüssel wird mit weiteren Meta-Informationen bei dem Webdienst gespeichert.

Wenn nun der Benutzer sich später an dem Webdienst authentisieren möchte, kann der Webdienst eine Challenge zusammen mit den Metainformationen an das U2F-Device senden. Die Authentifizierung erfolgt als Challenge-Response-Verfahren mit dem asymmetrischen Schlüsselmaterial.

Wieviele Schlüsselpaare passen auf den Yubikey?

Unendlich viele. Wenn der Yubikey bei der Registrierung das Schlüsselpaar erzeugt, speichert er den privaten Schlüssel nicht ab. Sondern er generiert das Schlüsselpaar aus einem Masterkey, der fest auf dem Yubikey gespeichert ist.

In die Generierung fließen außerdem die Metainformationen mit ein. Allem voran die sogenannte AppId, die im wesentlichen der URL des Webdienstes entspricht. Hierzu später mehr.

D.h. wenn der Webdienst die Challenge und die Metainformationen an das U2F-Device sendet, kann der Yubikey daraus mit dem fest gespeicherten Masterkey wiederum den speziellen, privaten Schlüssel für diesen Webdienst berechnen und die Challenge korrekt beantworten.

U2F im Unterschied zu klassischen 2FA

OTP Authentifizierung

Die Authentifizierung mit Einmalpasswörtern setzt auf symmetrische Kryptographie. Außerdem wird für die Authentifizierung mit Einmalpasswörtern ein Backend benötigt, das den gemeinsamen, symmetrischen Schlüssel kennt. Will man sich mit Einmalpasswörtern an mehreren Webdiensten anmelden, so benötigt man entweder eine zentrale Authentifizierungsinstanz, die die symmtrischen Schlüssel kennt, oder man benötigt für jeden Webdienst ein eigenen OTP-Token.

Eine Weile sind verschiedene Anbieter den zweiten Ansatz gefahren. Bei allen möglichen Webdiensten konnte man sich einen Google Authenticator — speziell bei diesem Webdienst — ausrollen. Die Google Authenticator App quillt über mit Profilen unterschiedlicher Webdienste. Der Benutzer muss in der langen Liste der Profile, jeweils im richtigen Moment das richtige finden.

Mit einem U2F-Token ist das nicht nötig. Der Benutzer hat nur ein Gerät und wo er sich mit diesem Gerät überall registriert hat, ist im Endeffekt egal. Die Anzahl der registrierten Webdienste beeinträchtigt die Usability nicht.

Authentifizierung mit Smartcard

Eine Authentifizierung mit einer Smartcard arbeitet genau wie U2F mit einem asymmetrischen Schlüsselpaar. Der große Nachteil der Smartcard ist aber die Notwendigkeit eines Treibers. Nicht zuletzt ist das ein entscheidender Grund, weshalb in den vergangenen Jahren OTP ein solches Revival erlebt hat. Gerade im B2C bzw. Endanwender-Bereich ist es undenkbar, von Benutzern die Installation eines Treibers zu fordern.

Das U2F Protokoll wird mittels einer Javascript Bibliothek, die der jeweilige Webdienst einbinden muss, bereitgestellt.

Die Nutzung des USB-basierten U2F-Tokens funktioniert zur Zeit allerdings lediglich im Chrome Browser. Andere Browser sollen folgen.

U2F im Unternehmenseinsatz

U2F ist ein Protokoll, das deutlich für den Endanwender-Bereich gedacht ist. Es ist dezentral. Es schottet die einzelnen Webdienste gegeneinander ab. Der Benutzer kann bzw. muss den U2F-Token selber registrieren.

Wenn man sich die Player vom Anfang anschaut, dann macht auch dies Sinn. Die FIDO Alliance Mitglieder kommen zum größten Teil aus dem Endanwender-Markt. Ob Google, Mastercard, American Express. D.h. per se ist U2F nicht für den Unternehmenseinsatz entworfen.

Die charmante Handhabung bei der Anmeldung und der vergleichsweise niedrige Preis der Hardwaregeräte lassen uns aber trotzdem ein zweites mal über den Unternehmenseinsatz nachdenken.

Die AppId und Trusted Facets

Die oben erwähnte AppId ist im wesentlichen die URL. Anhand derer wird das für diesen Webdienst gültige Schlüsselpaar erzeugt bzw. später identifiziert. D.h. andere Webdienste mit anderen URLs müssten selber ein Schlüsselpaar registrieren. Da aber manche Anbieter wie,, unter unterschiedlichen URLs mehrere Webdienste bereitstellen, für die der Anwender nicht jeweils wieder seinen U2F-Token registrieren soll, gibt es das Konzept der „Trusted Facets“. Hier kann definiert werden, dass ein einmal registrierter U2F-Token für spezielle Subdomains bzw. Hosts innerhalb der gleichen Domain verwendet werden darf.

D.h. der U2F-Token, der einmal für registriert wurde kann außerdem auf und ohne erneute Registrierung verwendet werden.

Im Unternehmenseinsatz kommt man um die Nutzung der „Trusted Facets“ nicht umhin. Denn kein Unternehmen erwartet von seinen Benutzern, dass er sein Authentifizierungs-Device an, und registrieren soll. Mit den „Trusted Factes“ lässt sich eine einmalige Registrierung realisieren.

Grenzen der Trusted Facets

Das Leben im Unternehmen gestaltet sich aber oft nicht so geradlinig. Innerhalb des Unternehmensnetzwerks sind manche Resourcen evtl. über andere Domainnamen als extern erreichbar. Manche Unternehmen verwenden intern bspw. eine Domain wie example.intranet oder, währen sie extern verwenden.

Das CRM, das innerhalb des Unternehemsnetzwerk steht, ist also über erreichbar, während der VPN-Zugang über läuft. Die Trusted Facets erlauben aber nicht, eine andere Domain als vertrauenswürdig anzugeben. D.h. mit einem U2F-Token, der an registriert wurde, kann man sich nicht an https://… anmelden. In dieser Domäne wäre eine erneute Registrierung nötig.

Zentrales Rollout

privacyIDEA-200pxWeiterhin will man im Unternehmensumfeld die Verteilung von Authentifizierungsgeräten zentral kontrollieren und nicht unbegrenzt und unkontrolliert dem Benutzer überlassen. Hierzu unterstützt ein Management-System wie privacyIDEA die Registrierung von U2F-Token nicht nur durch den Anwender, sondern auch durch den Administrator bzw. den Helpdesk. So können U2F-Geräte zentral und kontrolliert für die Mitarbeiter im Unternehmen ausgerollt bzw. registriert werden.

Der Masterkey

Schließlich gibt es bei den U2F-Geräten weiterhin einen Punkt, über den man sich im Klaren sein muss. Das Schlüsselmaterial. Zwar wird bei der Registrierung das asymmetrische Schlüsselpaar für den jeweiligen Webdienst erzeugt. Allerdings passiert dies auf Basis des Masterkeys. Dieser wurde vom Hersteller in einer konktrollierten Umgebung auf dem U2F-Token erzeugt. Es ist nicht vorgesehen, den Masterkey selber zu erzeugen. An anderer Stellen hatten wir bereits über die Risiken, das eigene Schlüsselmaterial nicht selber zu erzeugen, berichtet.

Die Argumentationslinie bei U2F ist hierbei folgende. Das Gerät schickt bei der Registrierung ein sogenanntes „Attestation Certificate“ — ein Beglaubigungszertifikat. Dieses Zertifikat soll gegenüber dem Registrar nachweisen, dass es sich um ein bestimmtes Gerät einer gewissen Klasse handelt. Somit könnte der Registrar sicherstellen, dass bspw. nur Geräte des Herstellers A registriert werden dürfen, weil diese vermeindlich einen höheren Sicherheitsstandard haben. D.h. durch das Beglaubigungszertifikat ist somit auch nachgewiesen, dass dies ein Gerät des Herstellers A ist und dieses Gerät nach gewissen Sicherheitsstandards erzeugt und initialisiert worden war. Könnte nun ein Anwender oder Unternehmen ein U2F-Token selber initialisieren, so wäre das Beglaubigungzertifikat nutzlos, da für den Registrar nicht mehr ersichtlich wäre, mit welchen Sicherheitsstandards der Token initialisiert wurde.

Hier muss jeder für sich abwägen, ob der Einsatz von vorinitialisierten U2F-Token im Unternehemsumfeld eine Option ist. Yubikeys im OTP- oder Challenge-Response-Modus lassen sich mit privacyIDEA initialieren, so dass Sie die Wahl zwischen U2F, OTP und Challenge Response haben.