You can link an OpenPGP key to a German eID
pgp.governikus.de
pgp.governikus.de
> Governikus provides the online service for authenticating your OpenPGP key on behalf of the German Federal Office for Information Security (BSI). This online service compares the name read from your ID card, your electronic residence permit or eID card for citizens of the European Union with the name specified in your OpenPGP key. If the names match, your public key is electronically signed by Governikus, confirming the match. The Governikus public key can be used to verify the Governikus electronic signature.
So this is apparently useful if somebody wants to send an encrypted email to somebody else and want to ensure that only the desired person can read the email. For that the sender would have to check that the OpenPGP key got signed with the Governikus public key before encrypting and sending the message.
What that doesn't seem to address are multiple people with the same name. So the sender know he's sending an email only John Doe can read, but he still don't know which John Doe it is.
To me that sounds like something which makes only sense for a few limited use cases.
The goal is to have a CA for (existing) OpenPGP keys which checks if the name in it is matching the one from the identity card. When you sign a PGP key to tell that you trust it you should compare the name in the identity card or passport with the one from the key, this system does it automatically.
One tricky part is that many people like me leave out some names in the PGP key. In the first implementation of the PGP signing service it only ensured that at least one first name and one last name is also in the PGP key. I do not know if this is still the case.
The German Federal Office for Information Security (BSI) is supporting GPG4Win since many years, see for example here: https://www.golem.de/news/bsi-deutsche-behoerden-bekommen-gp...
Disclaimer: I worked for Governikus some years ago and worked on the initial version of this service.
Do you happen to still know some people at Governikus? I've been wondering for years why their AusweisApp2 is so ridiculously bad. (For everyone else: It's the official government app to scan the NFC chip in your ID to use it for authentication online.) I have not been able to authenticate successfully even once in all these years. Every single time the app keeps telling me I should scan my ID again, and again, and again. Contacting Governikus support has been completely useless as well, and the reviews on the Google Play Store speak for themselves I think.
Why is it so hard to fix this and why does Governikus support keep pretending I'm simply not scanning my ID "correctly" (i.e. holding my ID against my phone in the right way) when clearly the app is not working properly?
But you have to hold the ID in the spot for NFC scanning for a solid minute, including while you type the PIN.
And I did. I have tried all kinds of ID <> phone positions (I also looked up where exactly the NFC chip is in my phone) and always made sure not to move ID at all while scanning it.
I have even tried it on other phones, and I also asked several friends. No one has been able to use the app successfully.
Try if you can reliably read and write simpler NFC cards (e.g. a Mifare card as common for eTicket or university cafeteria cards). I'd like to see if it's something NFC-related or related to the eID specifically.
I'll make sure to continue to check this thread for a reply from you, as I'm now genuinely interested in what's going wrong here.
I don't have any other NFC cards, unfortunately. But I've tried it on a BQ Aquaris X Pro, Google Pixel 3a and Google Pixel 5 (my current phone).
Also, the app manages to read my ID initially (it displays some personal data of mine) but then it asks me to scan the card another couple times and the third or fourth readout then fails (every single time) and I end up being back to square one (because I need to start the whole authentication process again).
Then it's definitely a case of bad positioning. The app has a limit of three or four attempts, so you're definitely running into that, but if you're seeing the app able to read some data but not reliably, then you don't have the card in the right position.
It may be that while positioning the card you, unknowingly, put it in the right position for a short moment, which allows it to read some data, but by the time it's actually trying to authenticate, you're already out of position.
I don't think that's the case. As I mentioned, the first reads always work. But then, later, when it asks me to hold my ID card against my phone once more (for the final authentication) it always fails.
Again, I have looked up my phone's NFC wiring and I have also tried other phones. The card is in the right place.
That's not the way I read this. Governikus validates the names match, but they're linking the PGP key with the government ID, which should have some sort of unique identifier. What Governikus ought to be signing is a link between the PGP key and the government card's unique identifier. The name ought to be purely informational, and I wouldn't be surprised if the government has a public service showing the name of a person after supplying the unique ID as a parameter.
Similar to this service, but linking not just the name, but more secure unique identity data. Linking the person’s name to the key is not very useful, since there are many people with that name.
That’s basically a government issued smart card, that would allow the use of OpenPGP A-E-S keys for arbitrary data through a FOSS API.
Keybase was a good idea, but it’s semi dead.
What kind of data?
eID pretty much replicates Keybase, except it's concerned with real world identity (matching your given and surname to your pubkey) rather than pseudonymous identity (matching your twitter handle or reddit account or whatever else to your pubkey).
> that would allow the use of A-E-S keys for arbitrary data through a FOSS API.
You can use your ECC (or RSA) keypairs to negotiate an AES or chacha+poly session key. Most cryptosystems do that (ECDHE, or DHE for RSA) now since:
1. session keys are faster (in terms of CPU) than just encrypting with the remote's pubkey.
2. if the session key is stolen, you just get access to that session (perfect forward secrecy).
3. group chats just store the session key encrypted chat, plus copies of the session key encrypted with everyone's pubkey, to save storage.
Some numbers need to be verified every few years.
A public key is a pretty bad identifier by itself. The combination of a good identifier with a public key/certificate binding to it is pretty powerful, though.
The US has a good public identifier (SSNs), but they are completely unauthenticated. German arguably has the opposite: Widely available e-signature capable ID cards – but they only bind to your name (and DOB).
Is all the best ideas of keybase. Basically if you trust someone has control over multiple different accounts you can also trust their pgp key.
https://news.ycombinator.com/item?id=26758099 ; blockcerts.org, blockcerts-verifier-js, ILP ledger addresses
> Holder, Issuer, Subject, Verifier, Verifiable Data Registry
> Clear doesn’t do any actual security screening of passengers, a process reserved solely for the TSA. The New York-based company verifies customers’ identities and escorts them to the front, using revenue-sharing agreements with the airports or airlines that control the lines to secure an advantage for its fliers.
They do. That is what Clear is for (just as Ticketmaster takes the heat for venues or artists taking more from customers via fees). You mean "why don't they make it more overt?" That's a great question.
Personally, I don’t get the point. I can pay for clear and avoid a line at Yankee stadium because they validated my drivers license and confirmed that I’m not a felon. If I am a felon, some dude looks at my backpack and I experience the same outcome.
I worked with a few of these things during the pandemic. They are all vulnerable to frauds with online validation. If you care about that, the best option is something like Idemia with in-person validation.
Asking out of real curiousity. I am German citizen, but have not lived there after the first government office got a PC.
The document number in the upper right corner in the picture, I imagine.
One motivation is that you want to travel to Israel and to some Arab country, which do not accept passports with stamps of the "enemy" in it.
I don't know if they verify the motivation in any way or whether it's enough to say so.
Seems like motivation enforcement is quite strict, as they do state that you can't even get two passports for the "enemy visa" reason when the visits are just planned, but you can't prove it yet (palne tickets etc.) you won't get it, and you'll have to go to the German embassy after you can prove it...
[1]https://www.bmi.bund.de/SharedDocs/faqs/DE/themen/moderne-ve...
There’s also another one which changes every time you move across financial administrative districts.
Germany has had a constitutional restriction in place explicitly prohibiting an SSN equivalent.
These days, the tax ID can supposedly be used for that purpose, but I haven’t seen much use of that yet.
Very interesting! Thank you for this
FWIW, I think in this age of massive databases that can be effortlessly joined on fuzzy matching criteria, the lack of a unique person identifier is more of a hurdle for legitimate use cases than a safety measure against government or corporate overreach.
One good thing about it is the complete lack of the horrible "SSN as both primary key and bearer authentication token" pattern that's commonplace in the US, though – but the alternatives are pretty annoying, in my experience.
TIL. My last and current number had the first 4 characters the same, so I didn’t even realize that (and the times before I never thought of it).
> This online service compares the name read from your ID card, your electronic residence permit or eID card for citizens of the European Union with the name specified in your OpenPGP key. If the names match, your public key is electronically signed by Governikus, confirming the match.
See https://www.bmi.bund.de/SharedDocs/pressemitteilungen/DE/202...
Is it allowed to use the Steuer-ID for non-government purposes?
The number is only intended to be used by government entities. The law restricts usage to census and communication with government entities (as well as already established tax-related use).
In any case, Germany does not have one, yet Schufa (the German credit scoring agency) still exists and still is able to build profiles on everybody living in Germany. So what's the gain?
Data mining operations like them will be able to perform good-enough matching based on fuzzy data like current and previous address; it just makes it more likely for errors to happen due to non-unique names and incorrectly merged or split credit profiles, and makes legitimate requests for your own data more difficult than necessary.
Creating one that is shared between private instances would require explicit consent by the citizen to every company to use it according to GDPR. Well, of course Schufa requires consent too, which is not truly a decision a citizen can make. If you don't agree I don't think you'd find any bank opening an account. But I do hope there will such a public outcry if anybody tried to start such surveillance again today, it would fail in the beginning. Like Google Streetview did.
I am not convinced the Schufa score data quality is always very good. (Not living there I cannot request my own one, just a feeling.)
That still does not make it "government information". It's a primary key that (currently) may not be used by the industry. But by itself, it does not identify anything or anyone. In that sense, it's even less sensitive than a name; realistically though, if it's widely stored next to the associated name anyway, it's effectively the same as a name in terms of sensitivity.
A credit score is effectively a database shared across the financial industry. As such, it needs some sort of primary key. That can be either be something globally unique, like an SSN or equivalent, or a wonky composite primary key (first_name, last_name, date_of_birth, last_known_address) which will cause lots of false positives and false negatives:
What if you change your name? What if you move? What if there's somebody with the same name born on the same day in the same city? What if the spelling of your city has changed between your birth and your time of requesting a loan/credit card?
You may object to the idea of credit scoring in general, but being ok with credit scoring, yet objecting to the usage of a sane primary key to do it, makes no sense to me.
I don't want to live in such society. Yes, bad things can and have be done before. But making them simpler, cheaper, and more scalable needs to be avoided.
The much more effective solution here is to regulate businesses in when they can request/use somebody's primary key and/or other PII, and to simply not allow it in any case where a pseudonymous identifier or partial information (e.g. only somebody's approximate age rather than their full date of birth) would do just as well.
And Germans arguably aren’t “forgetting their history”, they are just regulating to achieve desired outcomes (no government and corporate privacy invasion; strong authentication where necessary), not mechanisms (no unique identifiers).
Times and technology change, so why uphold an old (interpretation of) law that is neither necessary nor sufficient to achieve the desired outcome in the present day?
An identifier is issued by the government for legally-specified government uses is government information.
Other identifiers may or may not be, but other identifiers aren’t the issue here.
Overgeneralizing the issue in dispute to obscure relevant context is not productive.
(At the moment I am citizen, but not a resident so I have no Steuer-ID yet. But a) it might become a resident some day again and b) as a citizen I occasionally have interact with various authorities anyway. So on top of being interested what happens in Germany in general it might affect me personally.)
An increasing number of previosly public administrative functions have been privatized. Does that immediately mean that data exchange stops there?
I can't think of a service like the ones on the list that has been privatized. The law as written would not extend to that but who knows what would be enacted in that case.
Anyway, this is all theory so far as they are still in the stage of drawing up a technical architecture.
The Steuerindentifikationsnummer used to be strictly limited to tax purposes. Against original political promises the legislation has been changed 2 years ago, weakening the limitations. I am not familiar with the details.
Of course it'd be complicated if e.g. the 2 Hanses were born in a foreign country with no such checks, and moved to Germany later on...
This should allow you to actually send legal save communication to the government.
Actual electronic signatures recognized by law are not based on GPG.
Using your eID?
Do you know this or do you assume this?
GPG signatures convey no special legal status above regular email even if the key is signed by a government-owned company that verified your eID.
But let's see how it is currently reading this can become the defacto standard.
And technically it's a good workflow/choice
This would even allow companies to offer this for you because the only interface necessary is the key
I can envision a _lot_ of use cases for having your name publicly recognized by a trusted party.
Signing message contents I understand. But email headers can be faked in various ways.
Have PGP, have a web of trust with...people you actually trust.
Let's state instead a fictional scenario: you got an email from John Doe, is really from him? Well, if it's signed with a GPG key signed by a government authority probably yes (at least, if it's not him he have successfully steal card&credentials to sign his key or something even more complex). Did you know the small "key-icon" GMail offer in it's WebUI for "trusted messages" from some well-known vendors? Well, with this you can replicate the same with anybody in Germany, trusted not by a private company but by a government authority.
It's still marginal since most would not use such system, but potentially it's a pretty logic idea and a very good news.
You can then use your PGP key to sign or encrypt emails or sign your git commits or other stuff you can do with PGP keys. Others who trust this signing service then known that this key really belongs to someone with your name.
Yeah, but who are these others?
I mean I know how PGP key signing is supposed to work. But that all is entirely hypothetical.
It would be meaningful if e.g. there would be a requirement for gov agencies to accept communication with such keys with the same value as written communication. But "some fictional people may care about this signature" is meaningless.
Government agencies are required to accept de-mail, which is a proprietary email-like service. However, rollout has been nonexistent even among government agencies such that you cannot practically use it anywhere, they are a decade behind their rollout plan. The system itself is design-by-committee fugly, insecure and plain weird. You have to get an account with a commercial provider, all of which have closed down by now. PGP/GPG cannot be used with de-mail (except if you copy&paste the ascii-armored ciphertext into the software), and de-mail encryption is intentionally breakable anyways (officially "to scan for viruses").
The eID/ePA "elektronischer Personalausweis" electronic RFID passport which you need to use is another such weird proprietary waste of taxpayer money, accepted nowhere because it doesn't follow any standards and using the RFID function (e.g. as a bank for opening an account) costs tens of thousands per year just for the certificate you need. So nobody uses it and nobody enables the RFID functionality. Therefore the govt got the brilliant idea (among other, far less pleasant ideas such as requiring it for certain payouts) to offer free signatures on GPG/PGP keys using the ePA.
That is rather slim picking considering all other government interactions and especially private business interactions I did where it could’ve been useful but I’m glad I could do all least some stuff online.
But in the end you can only get/use it using Google, Microsoft, Apple or Huawei. As a German citizen I don't agree that I have to sell my freedom to American companies or a Chinese one, which show little respect for our legislation. Neither as companies nor countries they reside in and whose legislation they have to comply with.
I mean your government already sells it to the USA government; why would you expect it to go any other way?
It doesn't look like it's going to change either especially since the EU is writing laws and policies that guarantee dependence on American tech companies.
> I mean your government already sells it to the USA government; why would you expect it to go any other way?
Citation needed to show that German gov't sells data to US gov't. They may provide it for free, but I never heard of payments between gov'ts.
"gives us your data, then we will continue to warn you about terrorist attacks".
How different this OpenPGP key stuff is, minus the "OpenPGP is so bad we decided to sunset it" vibe?
I don't believe that in 20+ years "nobody found a good UI/UX designers for it"
[0] https://latacora.micro.blog/2019/07/16/the-pgp-problem.html
* https://articles.59.ca/doku.php?id=pgpfan:tpp
Who would want to immediately destroy their access to their received emails in the name of forward secrecy?