Business Problem
Many business processes in Germany involve paper (or better TONS OF PAPER!) and surely many manual steps: think of opening a bank account or registering a car at your local “Zulassungsstelle”. In my opinion one of the main reasons for that is that the identity of a user cannot be properly verified online. You could now argue that things like video identification or Deutsche Post PostIdent came up to address this problem. However this only solves part of the problem, since the signature still needs to be done manually.
In Germany the so called nPA (neuer Personalausweis) is able to solve this problem by providing a qualified signature. So you will be able to digitally sign contracts online. Therein lays the potential to completely transform tons of paper-based processes. And huge amounts of time and money could be saved as well!

Use cases of the eID system
The nPA has two main functions “Identification with Online-Ausweisfunktion” and “Electronic Signature”, which allow to implement many exciting use cases. These range from simple verifications (like age check, address validation) to login mechanisms for websites (the nPA can be considered as a single-sign-on system in this context). Moreover the nPA also allows to apply a qualified digital signature to documents, which is equal to a genuine signature (according to German law).
Since its launch in 2010 a couple of federal institutes and enterprises have made their services ready for the nPA:
- ElsterOnline (German tax)
- Rentenkonto online (German pension fund)
- Punkteauskunft aus dem Verkehrszentralregister (VZR)
- UrkundenService
- Allianz Kundenportal
A complete list of applications can be found here: http://www.personalausweisportal.de/DE/Buergerinnen-und-Buerger/Anwendungen/Anwendungen_node.html. However, from my perception the adoption still leaves a lot of room for improvement.
Architectural overview
There is extensive documentation available which describes the technical architecture behind the eID system (personally I recommend the information from BSI found here: https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr03130/tr-03130.html). That it why I do not want to go into the nitty gritty details.
However, to give you a rough understanding have a look at the following illustration, which looks similar to what is available in token based authentication systems (think of SAML and/or OpenID Connect concepts). There is something like a service provider (“WebServer”) who wants to protect a service; then an authority that is able to validate the identity (“eID-Server”); and a login component (“AusweisApp”) that allows the end user to enter login information like a PIN. Last but not least the user must have a card reader connected to his local system, which talks to the login component (“AusweisApp”).

It is important to understand that the login component (“AusweisApp”) is implemented as a standalone application, which must run on the user’s computer (and of course be installed beforehand). For 2017 it is planned to release mobile versions of the app (see Google Play Store) in order to use a mobile device as a card reader. In my opinion this will help to reduce the overall complexity from an end user’s perspective.
When looking at the system from a service provider’s point of view (e.g. I am an online shop provider who wants to enable users to login with their nPA), you have to consider a lot of things. Since their is neither a public instance of the “eID-Server” nor source code available, you have two options: create your own implementation based on the BSI spec or buy the service from a provider. Additionally you will have to think of how to integrate the token into your application: since there is no “reference implementation” of the “eID-Server” spec there is little to no documentation available. Overall the process feels rather complex and intransparent to me.
A detailed description of the application process can be found here: “Become Service Provider”.
Conclusion
The opportunity behind the German eID system is really huge and could speed up lots of processes and make all of our lives easier. But in my opinion there are a lot of things hindering the adoption and success of the system:
- There is no public eID-Server instance that can be used by public and private institutions. This makes the adoption unnecessarily complicated because all service providers have to find a solution for themselves.
- Little documentation for service providers available. Instead only tons of specs available that need a lot of work lifted by the service provider.
- Many services require that you map your eID to the identity in their system (at least once). This makes the process very uncomfortable for the end user.
- Currently an external card reader is needed. Firstly it has to be bought by the end user and secondly this does not work on the go. Fortunately this caveat has already been addressed with the mobile app version.
My final thoughts: the adoption cannot be forced by laws. Instead, I think that the eID system should be developed in a more transparent and community based manner. Moreover the integration by service providers should be as easy as putting a social login on my personal website.
2 replies on “My personal look at the German eID system (“Neuer Personalausweis”)”
Hello Sebastian,
an interesting article on a controversial topic. I was not aware there is no public eid Service available. Actually, I see this as a prerequisite for broad usage of the eID.
From my point of view, having a lot of different Implementations of this functionality based on undocumented specs is not the way to go forward (who would control proper Implementation?). I would not trust these considering the risk of a compromised eID.
Sincerely
Nils
Hi Nils,
the specs are documented very well by the BSI (see here https://www.bsi.bund.de/ElektronischeAusweiseTR.html) and imply a lot of techniques to make the overall architecture secure. Nevertheless I agree with you that there is the risk of having security flaws in the actual implementation by the eID Server provider. Bu we would also have these risks, if there was a central implementation.
In my opinion these risks could be addressed by creating a open source reference implementation, whereas the Bund and all existing service providers contribute. This would really drive the adoption.
Regards,
Sebastian