Wissenschaftler von der TU Darmstadt haben Sicherheitslücken in einer australischen Chipkarten-Anwendung aufgezeigt. Dazu nutzten sie einen Rechentrick, den bereits Mathematiker der Alliierten im Zweiten Weltkrieg verwendet hatten – um die Anzahl der von den Deutschen produzierten Panzer abzuschätzen.

Im Zweiten Weltkrieg wollten die Alliierten wissen, wie viele Panzer die Deutschen monatlich produzierten. Die Geheimdienste konnten keine belastbaren Zahlen liefern. Der einzige Anhaltspunkt waren die Seriennummern erbeuteter oder zerstörter Panzer. Die Alliierten gingen davon aus, dass die Deutschen mit ihrer bekannten Gründlichkeit ihre Panzer fortlaufend durchnummeriert und dabei bei 1 begonnen hatten. Ein erbeuteter oder zerstörter Panzer mit der Seriennummer 345 ließ daher darauf schließen, dass mindestens 345 Exemplare produziert worden waren. Aber wie viele waren es insgesamt?

Mathematiker der Alliierten nahmen sich des Problems an. Sie nutzten eine Formel, in der die größte entdeckte Seriennummer eines Panzers (als m bezeichnet) eine Rolle spielt. In die Berechnung floss außerdem die Zahl k der insgesamt bekannten Seriennummern ein. Für die Gesamtzahl der Panzer N entwickelten sie folgende Formel:

N = m + m/k – 1

Wenn beispielsweise die sieben Seriennummern 10, 29, 46, 50, 81, 86 und 99 bekannt sind, lautet der Schätzwert für die Gesamtzahl:

N = 99 + 99/7 – 1 = 112,1

Im Zweiten Weltkrieg folgerten die alliierten Mathematiker mit dieser Formel aus den Seriennummern, dass die monatliche deutsche Panzer-Produktion im Sommer 1942 bei etwa 330 lag. Diese Zahl war deutlich niederiger als befürchtet. Nach Kriegsende stellte sich heraus: Im August 1942 waren etwa 340 Exemplare vom Band gelaufen – verblüffend nah an der Schätzung.

Wie man auf die genannte Formel kommt, steht in einem Artikel auf Spiegel Online aus dem Jahr 2010.

Angriff auf das PLAID-Protokoll

2014 veröffentlichte eine Gruppe von IT-Sicherheitsexperten (darunter Victoria Fehr, Marc Fischlin, Tommaso Gagliardoni, Felix Günther, Giorgia Azzurra Marson, Arno Mittelbach von der TU Darmstadt) einen Angriff auf das so genannte PLAID-Protokoll (hier ist die zugehörige Forschungsarbeit, hier eine leichter zu verstehende Erklärung).

PLAID ist ein kryptografisches Netzwerk-Protokoll, das in Australien entwickelt wurde und dort eingesetzt wird. Es kommt unter anderem zum Einsatz, wenn ein australischer Bürger seine Krankenversichertenkarte (es handelt sich um eine Chipkarte) nutzt. PLAID soll sicherstellen, dass der Karteninhaber korrekt und sicher identifiziert wird. Dazu wird das RSA-Verfahren genutzt.

Ein Sicherheitsziel von PLAID lautet: Für einen Unbefugten soll es – aus Gründen des Datenschutzes – nicht möglich sein, die Seriennummer (oder eine sonstige eindeutige Kennung) einer Karte auszulesen. Deshalb ist auch der öffentliche RSA-Schlüssel einer Karte (eine Zahl mit mehreren Hundert Stellen), nicht ohne Weiteres auslesbar – obwohl öffentliche Schlüssel normalerweise nicht geheimgehalten werden.

Die genannten Wissenschaftler haben jedoch einen Weg gefunden, den öffentlichen Schlüssel einer australischen Krankenversichertenkarte abzuschätzen. Dabei nutzen sie aus, dass eine Karte auf Anfrage eine RSA-Signatur liefert. Dies ist eine Zahl, die gleichverteilt zwischen 0 und dem öffentlichen Schlüssel N liegt. Die Vorgehensweise liegt nun auf der Hand: Der Angreifer lässt die Karte einige Hundert Signaturen erstellen und berechnet mit der “Panzer-Formel” einen Näherungswert für N.

Dieser Näherungswert ist gut genug, um N als eine eindeutige Kennung der jeweiligen Karte verwenden zu können. Das besagte Sicherheitsziel von PLAID ist damit widerlegt – mit einem Rechentrick, der bereits im Zweiten Weltkrieg verwendet wurde.

Zum Weiterlesen: Wie ein Industriespion eine Verschlüsselung knackte

Kommentare (3)

  1. #1 Gert Brantner
    Berlin
    1. November 2015

    Immer wieder erstaunlich was relativ simple Mathematik leisten kann. Bloß, was mir auch der Spiegel-Artikel nicht erklärt, wie kommt es zu -1?

    • #2 Klaus Schmeh
      1. November 2015

      Wenn man beispielsweise sieben Seriennummern (s1 bis s7) hat, dann verteilen diese sich im statistischen Mittel mit identischen Abständen zwischen 0 und N:
      0—s1—s2—s3—s4—s5—s6—s7—N
      Es gibt also insgesamt acht Zwischenräume (einen mehr als Sweriennummern). Löst man die entsprechende Gleichung nach N auf, dann wird ein “-1” daraus.

  2. #3 BreitSide
    Beim Deich
    1. November 2015

    Bestärkt meine Entscheidung, kein online-Banking zu betreiben…

    Auch wenn das sicher eine andere Baustelle ist.