Re: fyi: Adi Shamir's microprocessor bug attack

2007-11-28 Thread James Muir

James A. Donald wrote:

James Muir wrote:
 > Can anyone think of a deployed implementation of RSA
 > signatures that would be vulnerable to the attack
 > Shamir mentions?  Hashing and message blinding would
 > seem to thwart it.

As I said, public key encryption has long been known to
be weak against chosen plaintext and chosen cryptotext -
so protocols have long been designed to prevent this
sort of attack.  If they are not so designed, they were
known to be weak before this attack was discovered.


I completely agree with you.  Good public key cryptography should be
designed to resist chosen message attacks.  This has been a standard
part of cryptographic theory since the 80s.  But this is an
implementation attack, and real world implementations don't necessarily
follow all the rules of cryptographic theory.

If you or anyone else happened to know of a single real-world
implementation of RSA signatures that is vulnerable to this fault
attack, then that might give some justification for the incredible media
coverage it has received.  I can't think of any, and my feeling is that
this announcement has been over-hyped (and presented without proper
perspective).

-James


-
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]


Re: fyi: Adi Shamir's microprocessor bug attack

2007-11-23 Thread James A. Donald

James Muir wrote:
> Can anyone think of a deployed implementation of RSA
> signatures that would be vulnerable to the attack
> Shamir mentions?  Hashing and message blinding would
> seem to thwart it.

As I said, public key encryption has long been known to
be weak against chosen plaintext and chosen cryptotext -
so protocols have long been designed to prevent this
sort of attack.  If they are not so designed, they were
known to be weak before this attack was discovered.

-
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]


Re: fyi: Adi Shamir's microprocessor bug attack

2007-11-21 Thread Christian Paquin

' =JeffH ' wrote:

From: John Young <[EMAIL PROTECTED]>
[...]
Research Announcement: Microprocessor Bugs Can Be Security Disasters
[...]
A similar attack can be applied to any security scheme based on
discrete logs modulo a prime, and to any security scheme based on
elliptic curves (in which we can also exploit division bugs)


Does somebody know if, in case of a discrete log scheme, this would 
result in an attack using one chosen message (like for RSA), or would 
the attack be similar to the one described by Boneh, DeMillo and Lipton 
for Schnorr's identification protocol and require O(n log n) executions?


 - Christian

-
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]


Re: fyi: Adi Shamir's microprocessor bug attack

2007-11-21 Thread James A. Donald

' =JeffH ' wrote:
> Adi Shamir Computer Science Department The Weizmann
> Institute of Science Israel
>
> With the increasing word size and sophisticated
> optimizations of multiplication units in modern
> microprocessors, it becomes increasingly likely that
> they contain some undetected bugs. This was
> demonstrated by the accidental discovery of the
> obscure Pentium division bug in the mid 1990's, and by
> the recent discovery of a multiplication bug in the
> Microsoft Excel program. In this note we show that if
> some intelligence organization discovers (or secretly
> plants) even one pair of integers a and b whose
> product is computed incorrectly (even in a single low
> order bit) by a popular microprocessor, then ANY key
> in ANY RSA-based security program running on ANY one
> of the millions of PC's that contain this
> microprocessor can be trivially broken with a single
> chosen message. A similar attack can be applied to any
> security scheme based on discrete logs modulo a prime,
> and to any security scheme based on elliptic curves
> (in which we can also exploit division bugs), and thus
> almost all the presently deployed public key schemes
> will become vulnerable to such an attack.
>
> The new attack (which we call a "Bug Attack") is
> related to the notion of fault attacks discovered by
> Boneh, Demillo and Lipton in 1996, but seems to be
> much more dangerous in its implications. The original
> fault attack required physical possession of the
> computing device by the attacker, and the deliberate
> injection of a transient fault by operating this
> device in an unusual way (in a microwave oven, at high
> temperature, with high frequency clock, or with a
> sudden spike in the power supply). Such attacks are
> feasible against smart cards, but are much harder to
> carry out against PC's. In the new bug attack, the
> target PC can be located at a secure location half a
> world away, and the attacker has no way of influencing
> its operating environment in order to trigger a fault.
> In addition, millions of PC's can be attacked
> simultaneously, without having to manipulate the
> operating environment of each one of them
> individually.
>
> We now describe the basic idea of the new attack. We
> assume that the RSA decryption (or signature
> generation) is using the Chinese Remainder Theorem
> (CRT) which speeds up the operation by a factor of 4
> compared to naive implementations, that each
> multiplication of big  operation by a factor of 4
> compared to naive implementations, that each
> multiplication of big numbers proceeds by breaking
> them into the largest words which can be handled by
> the native multiplier in that microprocessor
> (typically 32 or 64 bits), and that all pairs of such
> words from the two numbers will be multiplied in some
> order. Knowing the target's public key n, the attacker
> can easily compute a half size number c which is
> guaranteed to be between the two secret factors p and
> q of n. For example, a number c which is the square
> root of n (rounded to the nearest integer) always
> satisfies p likely to satisfy this condition. The attacker now
> chooses a message m which is equal to c, except that
> two low order words in it are replaced by a and b, and
> submits this "poisoned input" to the target PC.
>
> The first step in the CRT computation is to reduce the
> input m modulo p and q. Due to its choice, m will be
> randomized mod the smaller p, but remain unchanged mod
> the larger q. The next step in RSA-CRT is always to
> square the reduced inputs mod p and q, respectively.
> Since a and b are unlikely to remain in the randomized
> value of m (mod p), the computation mod p is likely to
> be correct. However, mod q the squaring operation will
> contain a step in which the word a is multiplied by
> the word b, and by our assumption the result will be
> incorrect in at least one bit. Assuming that the rest
> of the two computations mod p and q will be correct,
> the final result of the two exponentiations will be
> combined into a single output y which is likely to be
> correct mod p, but incorrect mod q. The attacker can
> then finish off his attack in the same way as the
> original fault attack, by computing the gcd of n with
> y^e-m, where e is the public exponent of the attacked
> RSA key. With very high probability, this gcd will be
> the secret factor p of n. This completely breaks the
> security of this key.
>
> How easy is it to verify that such a single
> multiplication bug does not exist in a modern
> microprocessor, when its exact design is kept as a
> trade secret? There are 2^128 pairs of inputs in a
> 64x64 bit multiplier, so we cannot try them all in an
> exhaustive search. Even if we assume that Intel had
> learned its lesson and meticulously verified the
> correctness of its multipliers, there are many smaller
> manufacturers of microprocessors who may be less
> careful with their design. In addition, the problem is
> not limited to micropr

Re: fyi: Adi Shamir's microprocessor bug attack

2007-11-21 Thread Florian Weimer
Perhaps I'm missing something, but real-world RSA implementations are
not vulnerable to this because they implement RSA blinding to prevent
timing attacks (which prevents a magic a * b fault from being exploited
deterministically) or verify the signature after creation (which
protects against random faults, a very good idea anyway).

Something can't be "new" and "big" if it's been addressed in GnuPG,
Crypto++ and others years ago. 8-P

-
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]


Re: fyi: Adi Shamir's microprocessor bug attack

2007-11-21 Thread James Muir

' =JeffH ' wrote:

From: John Young <[EMAIL PROTECTED]>
Subject: Adi Shamir's microprocessor bug attack
To: [EMAIL PROTECTED]
Date: Sat, 17 Nov 2007 09:50:31 -0500 (GMT-05:00)


Adi Shamir's note on a microprocessor bug attack on public key cryptography 
featured in the NY Times today:


http://cryptome.org/bug-attack.htm

The NYT report:

http://www.nytimes.com/2007/11/17/technology/17code.html



Can anyone think of a deployed implementation of RSA signatures that 
would be vulnerable to the attack Shamir mentions?  Hashing and message 
blinding would seem to thwart it.


Incidentally, in the 2001 Boneh-DeMillo-Lipton paper they do mention the 
Intel floating point division bug.


-James

-
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to [EMAIL PROTECTED]


fyi: Adi Shamir's microprocessor bug attack

2007-11-18 Thread ' =JeffH '
From: John Young <[EMAIL PROTECTED]>
Subject: Adi Shamir's microprocessor bug attack
To: [EMAIL PROTECTED]
Date: Sat, 17 Nov 2007 09:50:31 -0500 (GMT-05:00)


Adi Shamir's note on a microprocessor bug attack on public key cryptography 
featured in the NY Times today:

http://cryptome.org/bug-attack.htm

The NYT report:

http://www.nytimes.com/2007/11/17/technology/17code.html


--


Research Announcement: Microprocessor Bugs Can Be Security Disasters

[reformatted to 64 cols single-spaced]

Adi Shamir
Computer Science Department
The Weizmann Institute of Science
Israel

With the increasing word size and sophisticated optimizations of
multiplication units in modern microprocessors, it becomes
increasingly likely that they contain some undetected bugs. This
was demonstrated by the accidental discovery of the obscure
Pentium division bug in the mid 1990's, and by the recent
discovery of a multiplication bug in the Microsoft Excel
program. In this note we show that if some intelligence
organization discovers (or secretly plants) even one pair of
integers a and b whose product is computed incorrectly (even in
a single low order bit) by a popular microprocessor, then ANY
key in ANY RSA-based security program running on ANY one of the
millions of PC's that contain this microprocessor can be
trivially broken with a single chosen message. A similar attack
can be applied to any security scheme based on discrete logs
modulo a prime, and to any security scheme based on elliptic
curves (in which we can also exploit division bugs), and thus
almost all the presently deployed public key schemes will become
vulnerable to such an attack.  

The new attack (which we call a "Bug Attack") is related to the
notion of fault attacks discovered by Boneh, Demillo and Lipton
in 1996, but seems to be much more dangerous in its
implications. The original fault attack required physical
possession of the computing device by the attacker, and the
deliberate injection of a transient fault by operating this
device in an unusual way (in a microwave oven, at high
temperature, with high frequency clock, or with a sudden spike
in the power supply). Such attacks are feasible against smart
cards, but are much harder to carry out against PC's. In the new
bug attack, the target PC can be located at a secure location
half a world away, and the attacker has no way of influencing
its operating environment in order to trigger a fault. In
addition, millions of PC's can be attacked simultaneously,
without having to manipulate the operating environment of each
one of them individually.

We now describe the basic idea of the new attack. We assume that
the RSA decryption (or signature generation) is using the
Chinese Remainder Theorem (CRT) which speeds up the operation by
a factor of 4 compared to naive implementations, that each
multiplication of big  operation by a factor of 4 compared to
naive implementations, that each multiplication of big numbers
proceeds by breaking them into the largest words which can be
handled by the native multiplier in that microprocessor
(typically 32 or 64 bits), and that all pairs of such words from
the two numbers will be multiplied in some order. Knowing the
target's public key n, the attacker can easily compute a half
size number c which is guaranteed to be between the two secret
factors p and q of n. For example, a number c which is the
square root of n (rounded to the nearest integer) always
satisfies p