diff options
author | jaseg <git@jaseg.de> | 2025-06-30 15:37:11 +0200 |
---|---|---|
committer | jaseg <git@jaseg.de> | 2025-06-30 15:37:11 +0200 |
commit | 754e3c8c02c249dfb328d3f37ed96e6aa6b8d620 (patch) | |
tree | 726a284ccae80d91403e2b433788d1fb8d29782a /content/blog/epa-sgd-crypto | |
parent | 16655c00e0a84f6bfe58870c918fbfc016fe58ec (diff) | |
parent | 458a5fdfc598517b9fbddd02d3e1ae7cc70ceb9d (diff) | |
download | blog-754e3c8c02c249dfb328d3f37ed96e6aa6b8d620.tar.gz blog-754e3c8c02c249dfb328d3f37ed96e6aa6b8d620.tar.bz2 blog-754e3c8c02c249dfb328d3f37ed96e6aa6b8d620.zip |
deploy.py auto-commit
Diffstat (limited to 'content/blog/epa-sgd-crypto')
-rw-r--r-- | content/blog/epa-sgd-crypto/index.rst | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/content/blog/epa-sgd-crypto/index.rst b/content/blog/epa-sgd-crypto/index.rst deleted file mode 100644 index ccbf648..0000000 --- a/content/blog/epa-sgd-crypto/index.rst +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: "75 Million Lives, Two Keys" -date: 2025-01-05T23:42:00+01:00 -draft: true ---- - -2025 has begun. In this new year, with its new national healthcare record system, the country of Germany will start one -of the largest rollouts of a cryptographic system in history. While the system has received scrutiny as well as -resulting harsh criticism from a number of parties ranging from NGOs to everyday civilians, the system has received -surprisingly little attention from the academic applied cryptography crowd. Additionally, previous criticism of -the system has largely revolved around organizational issues. While valid, we belive that some cryptographic issues at -the core of the system have escaped attention unitl now. In particular, at the core of the system is a key escrow system -that contains several questionable design choices and that in its overall design seems out of place in 2025. - -The aim of the system is to serve as a shared storage for all healthcare records of a person. In the system, a person's -entire patient file with all documentation on the treatment process including test results, images and other raw data -will be stored in something vaguely resembling cloud storage such that all healthcare providers that the person visits -can access the entire file. This centralized, synchronized storage eliminates the need for transferring this data -between hospitals and doctors offices by fax, mail or physical media as it was common practice until now. After a -development and testing phase lasting approximately five years, the German government decided to roll out the system to -everybody insured under Germany's mandatory national health insurance scheme, totalling approximately 75 million people, -on January 15th 2025. - -In this article, we will give an overview of the system's cryptographic design before highlighting a few odd -design choices that could amount to a viable attack vector to the powerful adversaies - -## Context and involved parties - -Germany has a national, mandatory health insurance system. The system is open to any permanent resident of the country -irrespective of citizenship. The system is mandatory in that while residents can choose between a number of both -publically owned as well as private healthcare providers, it is not possible to opt out of the system. The public health -insurance providers cover approximately 90% of German residents. These providers are organized in an umbrella -organization named "GKV Spitzenverband". The resposibility of this umbrella organization largely revolves around -negotiating prices with pharmaceutical companies and with healthcare providers as a publically sanctioned cartel, but -also includes the specification and operation of shared IT infrastructure for billing and data exchange between -healthcare providers. - -While GKV Spitzenverband is the party that ultimately holds responsibility for the regulatory administration of national -healthcare IT infrastructure, it has delegated large parts of both the technical specification of this infrastructure as -well as its day-to-day operation to Gematik GmbH, a state-owned limited liability corporation created specifically for -the purpose of developing and implementing national healthcare IT standards. The electronic healthcare record system we -describe in this article was standardized and implemented by Gematik GmbH under the direction of GKV Spitzenverband. - -Healthcare providers in Germany need to be registered with GKV Spitzenverband to serve members of public health -insurance providers. Since these public providers constitute approximately 90% market share, the vast majority of -healthcare providers are registered this way. - -Before the new national health record system, a number of healthcare IT processes have already been standardized and -implemented by the parties above. In particular, every insured person already owns a cryptographic smartcard that acts -as their proof of identity when accessing healthcare services. On the other side of such transactions, healthcare -providers are likewise identified by cryptographic smartcards. Until now, these cards were used to facilitate billing of -services from healthcare providers to insurers and to transfer prescriptions from prescribing doctors to pharmacies. - -A central role in this existing infrastructure is assumed by VPN gateways that link healthcare providers to -the centrally-run backend infrastructure. Gematik GmbH calls these devices "Konnektor". They are specially-built -hardware devices that contain multiple smart cards to authenticate the VPN connection towards the backend, and besides -acting as a standard VPN gateway for client applications in the healthcare provider's network to tunnnel their backend -requests through, the Konnektors also perform cryptographic operations in some of Gematik GmbH's protocols, such as -authenticating certain requests using signatures. - -## Design principles - -The new health record system was built on top of the existing infrastructure described above. In particular, access to -health records is managed through keys stored in the patient's and the healthcare provider's existing smartcards, and -all backend communication is tunneled through the existing VPN. Access to the files is mediated through the healthcare -provider's existing patient management software. While in early drafts of the system, access to healthcare records -through the patient's smartcard was gated behind a PIN, the impracticality of making the entire patient populace -remember PINs led the implementors to scrap this provision, meaning that the patient's smartcard is all a healthcare -provider needs to access the patient's record. - -A critical cornerstone in the system's design is that the system's designers decided that a lost smartcard should not -lead to any data loss. As a consequence of this decision, while some of the record's access keys are kept on the -patient smartcard, in contravention to conventional smartcard designs the same keys are kept accessible in a centralized -key escrow system named "Schlüsselgenerierungsdienst" and abbreviated as SGD. Furthermore, these keys are not generated -on the smartcard either -- instead, the key escrow system generates these access keys, one copy of which is then -transmitted and stored inside the smartcard. - -The system supports re-issuing a smartcard to gain access to a healthcare record. Since the record's privacy pivots on -this process, the system incorporates some organziational countermeasures that aim to make it hard to gain access to a -re-issued copy of a patient smartcard without the patient's help or otherwise multiple colluding parties. - -## Cryptographic design - - - -## The implied adversary model - -While Gematik GmbH publishes detailed specifications of the systems they standardize, these specifications and some -associated implementation guidelines are about the extent of public information. Software implementations are being kept -secret, and while standardization results are available, a large fraction of design rationale is discussed behind closed -doors. From an academic perspective, the most glaring omission in Gematik GmbH's public documents is any definition of a -threat model or an adversary model. As a result of this, we will deduce an adversary model below by contextualizing the -published standards in the national healthcare setting. We will base our further analysis of the system on this -adversary model. - - - -## Previous reviews and audits of the system - -[0] https://www.destatis.de/DE/Themen/Arbeit/Arbeitsmarkt/Qualitaet-Arbeit/Dimension-2/krankenversicherungsschutz.html |