Test Infrastructure -- PersoSim
During the development and testing of components or applications for the eID function, test ID cards with different personalisations are often required. At present, however, physical sample cards can only be provided with a few fixed profiles.
This was the reason why the BSI commissioned the development of the ID card simulator PersoSim. This tool simulates an eIDAS token in line with Technical Guideline BSI TR-03110, which corresponds to the eID token found in electronic ID cards. Various interfaces are available for communicating with the simulator core.
The PersoSim project website makes this open-source ID card simulator available free of charge for commonly used platforms along with detailed user documentation. In January 2015, the BSI officially confirmed PersoSim's conformity with the Technical Guideline cited above by issuing the certificate BSI-K-TR-0198-2015. A description of this ID card simulator can also be found in the following article: DuD PersoSim
Virtual card-reader driver
For Windows, macOS, and Linux, a card reader driver is available that installs a virtual Personal Computer/Smart Card (PC/SC) card reader in a system. This card reader, which can be used directly with any eID client available on the market, integrates the ID card simulator (running in parallel) into the eID client at hand. When installing the driver on current Windows 10 platforms, please bear in mind the FAQ on the project website.
'Smartphone as card reader' interface
The 'smartphone as card reader' interface provides remote IFD functionality in line with the annex to part six of Technical Guideline BSI TR-03112. The corresponding coupling and access to a simulator running on Windows, macOS, Linux, or Android take place via the local network at hand. Usage by means of remote IFD is supported by AusweisApp2 (for example). This app can be located on the same device or another in the corresponding network.
Card reader mode
PersoSim can simulate a basic reader (without a PIN pad) or a standard reader (with a PIN pad and a rights display). Depending on the card reader mode selected, a PIN can be entered either in the eID client in use or in the ID card simulator itself. In the standard reader mode, the PIN to be used can also be entered automatically so that no further interaction is required during testing.
![Ausweissimulator PersoSim - GUI Ausweissimulator PersoSim - GUI](/SharedDocs/Bilder/DE/BSI/Themen/ElektronischeAusweise/PersoSim_GUI.jpg?__blob=normal&v=1)
ID card personalisation
The ID card simulator comes with 10 different personalisations for German electronic ID cards and five for eID cards used by European Union citizens. Like physical sample cards, these personalisations are already signed by the Country Signing Certificate Authority (CSCA) that is used for testing purposes. They can be read by eID servers and terminals that have an authorisation certificate from the test Country Verifying Certificate Authority (CVCA). (See also: Background System)
The menu of the ID card simulator makes it easy to select these ready-made profiles for immediate use. In early 2020, the profiles were brought up to date with the latest real identity documents (which now contain capital 'Eszett' letters, nationalities, and modified text for citizens who live abroad). For testing purposes, profiles continue to be available that lack a birth name and nationality, have an expired validity date, or have a deactivated eID function. Most of the profiles provided are valid until October 2029.
In addition, a profile editor is available with which all manner of changes can be made to the data of these ready-made profiles. Modified profiles can be saved as files and loaded into the ID card simulator. Furthermore, the editor makes it possible to generate and allocate keys for Restricted Identification (recognition). The pseudonym generated by an ID card can then be modified, which is generally recommended when changing personal data. This can be used to simulate a change of ID card, as well. An ID card's PIN can also be set in the editor. This makes it possible to reassign a five-digit transport PIN to profiles.
![Ausweissimulator PersoSim - Editor Ausweissimulator PersoSim - Editor](/SharedDocs/Bilder/DE/BSI/Themen/ElektronischeAusweise/PersoSim_Editor.jpg?__blob=normal&v=1)
Host card emulation (NFC)
On Android systems, the simulator can address the NFC interface directly. The Android device in use then behaves like an NFC reader. That said, restrictions in the Android operating system do require further adjustments in order to control all the aspects of card communication with the ID card simulator. For further information on this topic, please refer to the PersoSim app for Android project on GitHub.
Logging of card communications
Finally, the ID card simulator PersoSim offers extensive logging functions that can be used for detailed analysis of card communications. This is particularly helpful during the development and testing of other components of the eID infrastructure.
![Ausweissimulator PersoSim - Logging Ausweissimulator PersoSim - Logging](/SharedDocs/Bilder/DE/BSI/Themen/ElektronischeAusweise/PersoSim_Logging.png?__blob=normal&v=1)