aha, und warum werden dann AMD CPUs auch als betroffen gelistet?
Vielleicht weil zu der Zeit der Entdecker noch nicht wusste, daß die kommenden Dual-Core CPUs getrennte Caches haben werden?
"..."multi-core" processors should either avoid sharing caches between the processor cores or use thread-
aware cache eviction strategies...."
Mehr kann man Caches nicht mehr trennen als wenn jeder Core seinen eigenen besitzt (und zwar sowohl 1st Level, als auch 2nd Level, was sowohl Pentium D als auch AMD X2 und Opteron implementiert haben)
Außerdem schreibt der Entwickler nirgendwo, daß AMD-Dualcore-CPUs betroffen sind, er bezieht sich auf FreeBSD/AMD64 und FreeBSD/i386, welches die betroffenen Versionen dieses Betriebssystems sind und FreeBSD/AMD64 läuft auf 64-Bit XEONs von Intel mit Hyperthreading wodurch die Verletzlichkeit zustande kommt.
Also ich hab mir das File vom "entwickler" recht genau durchgelesen und habe das anders verstanden. Wo steht diese Textstelle mit der du argumentierst?
Wohl nicht genau genug gelesen:
"...To ensure that the two processes
run simultaneously, we start running the Spy process before we start
OpenSSL, and stop it after OpenSSL has nished, while minimizing the number of other processes running; without these steps, an attacker
might need to make several attempts before he successfully \spies"
upon OpenSSL..."
"...From the sequence of multiplications and squarings, we can typically
obtain about 200 bits out of each 512-bit exponent..."
"...This alone is not quite enough to make factoring the RSA modulus..."
"and even once the correct cache set has been identied, the multiplier
is often not uniquely determined; but in the case of OpenSSL we can
typically identify the multiplier to within two possibilities in 50% of
the modular multiplications. This provides us with an additional 110
bits from each exponent on average, for a total of 310 out of 512 bits,..."
Ich erinnere mal an diese Stelle was FreeBSD da gemacht hat....
Die Timings sind eben nicht genau gleich
Wie Dir vielleicht nicht entgangen ist geht es in dem Paper um die in OpenSSL implementierte Variante von AES, ich habe dagegen geschrieben, daß es einige Kryptoalgorithmen und Implementierungen von Kryptoalgorithmen gibt, welche gegen Side-Channel-Attacks gehärtet sind durch "constant time".
Lies Dir einfach einmal etwas ältere Literatur zu dem selben Problem (denn es ist ein altes Problem) durch, z.B.
dieses. Hier geht es um den gleichen Angriff über Netzwerk. Lies Dir vor Allem Kapitel 8 durch:
"Suppose that we are given several implementations of AES. How do we tell which
implementations actually take constant time?
One answer is to collect timings and look for input-dependent patterns. For
example, one can repeatedly measure the time taken by AES for one (key; input)
pair, convert the distribution of timings into a small block of colors, and then
repeat for many keys and inputs. Constant-time AES software would have the
same block of colors for every key and input, as in Figure 8.1. A glance at
Figure 8.2 shows instantly that the AES implementation in OpenSSL does
not take constant time."