Sicherheit von Seriennummern für die Pharma Serialisierung

Im Rahmen der EU Fälschungsrichtlinie 2011/62/EU ist die individuelle Seriennummer einer Arzneimittelverpackung ein verbindliches „Sicherheitsmerkmal“ zum Schutz vor dem Eindringen gefälschter Arzneimittel in die legale Lieferkette. Angebracht wird dieses Merkmal an der äußeren Umhüllung verschreibungspflichtiger Arzneimittel und wird in einem End-to-End-Verfahren durch die Ausgabestellen geprüft. 

In diesem Artikel klären wir die Voraussetzungen, unter welchen Umständen Seriennummern zum Schutz vor Arzneimittel-Fälschungen beitragen und welche Faktoren für ihre Sicherheit entscheidend sind. Dabei werden zunächst grundsätzliche Gedanken zur Sicherheit des Verfahrens angestellt und mit den Vorgaben aus der EU Fälschungsrichtlinie abgeglichen. Daran anschließend stellen wir Verfahren zur Erzeugung von Seriennummern vor und beurteilen diese hinsichtlich ihrer Leistungsfähigkeit.

Die Vorgaben der EU Fälschungsrichtlinie

Der delegierte Rechtsakt zur EU Fälschungsrichtline führt genauer aus, wie die Sicherheitsmerkmale beschaffen sein sollen, damit sie im Kampf gegen Arzneimittelfälschungen erfolgreich sein können. Dreh und Angelpunkt ist dabei das End-To-End-Verifikationssystem. Hersteller laden die Seriennummern gültiger Verpackungen in eine zentrale Datenbank. An der Abgabestelle wird geprüft, ob die Kombination aus Herstellernummer und Seriennummer in der Datenbank enthalten ist. Trifft das zu, muss das Produkt echt sein, so die Logik des Verfahrens.

Neben dem resultierenden Aufwand für die Akteure im Pharma-Handel und für produzierende Pharma-Unternehmen, werden kritische Argumente gegen dieses Vorhaben vorgebracht:

  • Sollte es Fälschern gelingen, unbemerkt eigene Seriennummern in das Datenbank-System einzuschleusen, ist die ganze Maßnahme  mit einem mal praktisch wirkungslos. Die Situation für die Patienten würde dadurch sogar noch verschärft: aufgrund der vorgenommen Sicherungsmaßnahmen blieben Fälschungen lange unbemerkt, da man die Lieferkette abgesichert wähnt. Dieser zunächst theoretische Einwand wird realistisch, wenn man IT-Sicherheit als eine Kette betrachtet, die immer am schwächsten Glied reißt: z.B. wenn Passwörter kompromittiert werden;
  • Auf der anderen Seite wäre es ebenfalls dramatisch, wenn gültige Seriennummern nachgemacht oder kopiert werden könnten. Dieses Szenario erscheint nur auf den ersten Blick aufwändig, denn gerade Fälscherbanden arbeiten wirtschaftlich. Wenig erfolgsversprechend wäre demnach, die Seriennummern von einzelnen Arzneimittel-Verpackungen abzuschreiben und selbstständig in Umlauf zu bringen.
  • Für Fälscher wäre es aber vorteilhaft, in Besitz ganzer Listen gültiger Seriennummern zu kommen. Diese würden auf gefälschte Produkte gebracht und über graue Kanäle in die legale Lieferkette eingeschleust. Im Resultat wäre dann z.B. ein original Produkt in einer Apotheke in Köln vorrätig, während eine Fälschung mit derselben Seriennummer in Hamburg verkauft wird. Noch einfacher wird dieses Prinzip unter Umgehung der nationalen Datengrenzen.

Securpharm antwortet darauf:

„Das Erraten von Seriennummern bzw. Denial-of-Service Attacken, bei denen durch massenhafte, quasi gleichzeitige Anfragen ein Überlastungszustand des Systems provoziert wird, kann somit abgefangen werden.“[Quelle]

Folgt man in Hinblick auf die Fragestellung jedoch dem zweiten Kritikpunkt, bleibt offen, wie Fälscher an echte Seriennummern kommen könnten. Denkbar sind: unrechtmäßig in Besitz nehmen oder nachmachen.

  • Entwenden von Seriennummern ist prinzipiell an jeder Stelle der Prozesskette möglich. Von dem USB-Stick, der in die Produktion getragen wird; aus der E-Mail, die unverschlüsselt übertragen wird; oder von dem Daten-Server, dessen Zugang nicht ausreichend gesichert ist.
  • Nachmachen bzw. nachahmen von Seriennummern ist immer dann möglich, wenn ihre Systematik z.B. durch Raten ersichtlich wird. Wenn auf 0000123 die 0000124 kommt, kann auch ein Fälscher folgern, dass die nächste Seriennummer 0000125 lautet. Wenn die Erzeugung zufällig ist, aber nur 8 Zahlen umfasst, lässt sich schnell eine gültige Seriennummer raten, usw.

Daraus ergibt sich, dass Seriennummern so vor Fälschung und Nachahmung geschützt werden müssen, dass sie nicht erraten oder abgeleitet werden können. Die EU Fälschungsrichtlinie für die Pharma Serialisierung führt dazu konkret aus:

„Damit die Wahrscheinlichkeit, dass eine Seriennummer von Fälschern abgeleitet werden kann, vernachlässigbar ist, sollte die Seriennummer nach spezifischen Randomisierungsregeln generiert werden.“ (Delegierter Rechtsakt, S. 8)

Genauer werden in der Richtlinie daher zwei technische Spezifikationen benannt, die es Fälschern unmöglich machen sollen, eigene nachgemachte oder entwendete Seriennummern in Verkehr zu bringen:

„eine numerische oder alphanumerische Folge von höchstens 20 Zeichen, generiert durch einen deterministischen oder nicht-deterministischen Randomisierungsalgorithmus („Seriennummer“);
[…]
Die Wahrscheinlichkeit, dass die Seriennummer abgeleitet werden kann, ist vernachlässigbar und in jedem Fall geringer als 1:10 000.“ (Delegierter Rechtsakt, S. 17)

Anhand dieser Definition lassen sich nun taugliche Verfahren zur Erzeugung von Seriennummern auf ihre Schutzwirkung für die EU Fälschungsrichtlinie hin überprüfen. Im Folgenden wird zunächst das Begriffspaar deterministisch / nicht-deterministisch inhaltlich bestimmt und anschließend daran eine Bewertung vorgenommen.

Nicht-Deterministische Verfahren

Alle Verfahren, die in keiner Weise auf ein geordnetes System zurück zu führen sind, werden als nicht-deterministisch bezeichnet. Beliebt sind diese Verfahren z.B. im Glücksspiel, beim Würfeln oder Karten ziehen.

Randomisierung / zufällige Werte

Der Zufall ist per Definition nicht-deterministisch, sonst wäre er eben nicht zufällig. Unter IT-Experten bleibt strittig, ob reiner Zufall überhaupt möglich ist: Computer kennen keinen Zufall. So ist streng genommen jedes Verfahren zur Erzeugung von Zufall wieder ein Verfahren und damit eben nicht zufällig. Eine Zufallszahl ist dabei immer nur so unvorhersehbar, wie groß die Menge an möglichen Kombinationen ist. Mit den genannten Spezifikationen (alphanummerisch, 20 Stellen)  lässt sich jedenfalls theoretisch eine große Menge an Zufallswerten erzeugen.

Die erste Schwierigkeit bei randomisierten Verfahren liegt allerdings an anderer Stelle: beim Daten-Handling zufälliger Werte. Es ist notwendig, dass der zufällige Wert mindestens über den Lebenszeitraum des Produktes im Datenbanksystem einmalig bleibt. Beim Erzeugen von zufälligen Seriennummern muss also immer gleichzeitig auch geprüft werden, ob der Zufall nicht bereits in der Vergangenheit dieselbe Werte-Kombination hervorgebracht hat.

Es liegt damit in der Natur der Sache, dass dieser Vorgang immer rechenintensiver wird, je mehr Zufallswerte bereits existieren: Spielen Sie diesen Gedanken einmal mit 10 Millionen Einheiten pro Jahr und einer Lebensdauer von 5 Jahren durch.

Zum anderen: zufällige Werte erlauben keinen Rückschluss auf die Ausgangsdaten (also die fortlaufende Serie). Ohne Zugriff auf die Verwaltungssoftware für Seriennummern ist es also unmöglich, einen zufälligen Wert einem bestimmten Produkt bei zu ordnen. Im Fall eines Produktrückrufs müssten also alle Zufallswerte aus großen Listen herausgesucht und mit den Zahlenwerten in Klarschrift abgeglichen werden.

Deterministische Verfahren

Einfache Nummerierung: fortlaufende Zahlen

Das wohl einfachste algorithmische Verfahren: Ein bestimmter Nummernkreis wird definiert und die Werte fortlaufend inkrementiert. Bei jeder neuen Verpackungseinheit wird der Zähler nach einem bestimmten System erhöht. Nach der [Eins] kommt die [Zwei] etc., in Schritten ausgedrückt: [1234, 1384, 1534, 1684] oder etwas kreativer: [a020, a032, a052, a084, a136]; So entstehen lange Zahlenfolgen, die auf ewig fortgesetzt werden können.

Problematisch dabei: wer nur zwei Zahlen kennt, kann mit hoher Wahrscheinlichkeit die dritte Zahl vorhersagen.

Komplexe Nummerierung: algorithmische Verschleierung

Streng genommen war bereits diese einfache, fortlaufende Nummerierung algorithmisch ausgedrückt: z. B. [x+1] wenn der Wert sich laufend um 1 erhöht. Da das jedoch etwas offensichtlich ist, wird gerne zusätzliche Verschleierung angewandt: z.B. indem Buchstaben in Zahlenwerte gewandelt, Zahlenfolgen vertauscht (1,3,2,5,4,6,9) oder Ausgangswerte (Datum) mit einberechnet werden. Am Ende erhält man eine Zahlenfolge („Code“), die auf den ersten Blick sehr zufällig aussieht.

Dieses deterministische Verfahren ist bereits ganz robust. Im Vergleich zu zufälligen Werten bringt es den Vorteil, dass anhand des Algorithmus immer auf den dahinter liegenden Ausgangswert geschlossen werden kann. Zusätzlich kann, wer den Algorithmus kennt, mit Sicherheit die nächsten Zahlen vorher sagen. Dubletten im System lassen sich bei richtiger Anwendung ausschließen.

Allerdings bleiben alle rein algorithmischen Verfahren hinsichtlich der Sicherheit kritisch. Unabhängig, wie kreativ der Algorithmus ist: der Algorithmus alleine ist die Sicherheit. Wird er entschlüsselt, oder gerät er an die Öffentlichkeit / in falsche Hände, ist es vorbei damit. Da letztlich alles, was auf demselben Algorithmus beruht, in gewisser Weise „echt“ ist, wäre die Folge reines Chaos und niemand würde unterscheiden können, welche „Codes“ echt und welche falsch sind – noch schlimmer, möglicherweise bleibt es jahrelang vollkommen unbemerkt.

Kryptographie: algorithmische Nummerierung mit Verschlüsselung

Kryptographie schließt diese Lücke. Der Schutz besteht nicht mehr im Algorithmus, sondern im kryptographischen Schlüssel. Dieser erst öffnet den Blick in die Daten und zeigt in den scheinbar zufälligen Buchstaben-Zahlen-Kombinationen eine sinnvolle Zahl. Da auf diese Weise Seriennummern nur berechnet und nicht in einer Datenbank gespeichert werden müssen, bleibt das System so auch gegen Datendiebe immun. Der Vorteil liegt darin, dass es möglich bleibt, die Codes rückwärts ab zu bilden, also zu entschlüsseln. So kann jederzeit ein eindeutiger Echtheitsnachweis erbracht werden.

Bewertung für die Arzneimittel Serialisierung

Zufällig erzeugte Zahlenfolgen nicht deterministischer Verfahren decken zwar die Sicherheitsanforderungen aus der Fälschungsrichtlinie ab, bleiben aber hinsichtlich des Datenhaushalts problematisch, vor allem auf längere Sicht. Während die Datenmengen kontinuierlich anwächst, sinkt damit langfristig der Pool an möglichen Kombinationen und die Gefahr von Dubletten nimmt stetig zu. Das ist mit Software zu beherrschen, bleibt hinsichtlich der Daten- und Prozesssicherheit nur eingeschränkt empfehlenswert.

Dem gegenüber steht die algorithmische Berechnung. Ohne Kryptographie jedoch gelten für jedes mathematische Berechnungsverfahren dieselben Einschränkungen:

    1. Ist der Algorithmus bekannt (weil offensichtlich oder erraten), kann ein Fälscher sehr einfach vorhersagen, welche Packungen zum Nummernkreis gehören. Im einfachsten Fall sind nur zwei Packungen und minimale Mathematik ausreichend.
    2. Um die Sicherheitsbestimmungen zu erfüllen, muss daher die Wahrscheinlichkeit, dass die nächste Zahl sinnvoll erraten werden kann unter 1:10 000 liegen. Das bedingt entsprechende Sprünge im Zahlenraum oder einen ausgereiften Algorithmus.
    3. Alle verwendeten Seriennummern müssen konsistent und dauerhaft frei von Wiederholungen sein. Sowohl beim Pharma-Hersteller als auch im PU-System, wo die Daten bis zum Verkauf gespeichert bleiben. Das wiederum ist anfällig für Datendiebstahl und setzt umfangreiche Maßnahmen beim Daten-Management der Serialisierung voraus.

Für eine abschließende Betrachtung der vorgestellten Verfahren bei der Erzeugung von „sicheren“ Seriennummern liegt das Hauptaugenmerk auf der Risikobewertung. Zufallszahlen können hinsichtlich der Prozessrisiken kaum ernsthaft in betracht kommen. Sie wären zwar fälschungssicher, gleichzeitig jedoch extrem sensibel im Handling. Bei algorithmischen Verfahren ohne Kryptografie bleibt das Risiko der Decodierung.

Bei der Entwicklung von SecIdent wurden genau diese Punkte daher zugrunde gelegt. Einerseits ist es wichtig, eine 1:1-Zuordnung von Codes zu Seriennummern zu gewährleisten. Zum anderen muss das Verschlüsselungsverfahren sicher vor (unbemerkter) Kompromittierung bleiben. Das ist von zentraler Bedeutung bei der Umsetzung der Fälschungsrichtlinie.

Wir können das gewährleisten, da das SecIdent-System die Codes kryptographisch erzeugt. Bei diesen Verfahren kann der Algorithmus problemlos offen gelegt werden, ohne dass der Code anhand dessen in eine Seriennummer zurückgerechnet werden kann.

Es ist die Kombination von hochsicheren Verschlüsselungs-Mechanismen und ausgefeilter System-Architektur, die das SecIdent-System vorzüglich für die Anwendung im Kontext der Pharma Serialisierung empfiehlt.