Re: Who cares about side-channel attacks?

2008-11-02 Thread Peter Gutmann
Wouter Slegers [EMAIL PROTECTED] writes:

Timing analysis is quite possible to pull of in straightforward
implementations as demonstrated over the Internet on OpenSSL prior to their
implementation of blinding (
http://crypto.stanford.edu/~dabo/papers/ssl-timing.pdf). But frankly, I have
never heard of such an attack actually being used in the field. Real side
channel analysis (DPA, EMA etc) seems mostly limited to academics and labs,
not the field.

One of the XBox attacks, allowing rollback to a vulnerable kernel, was a
timing attack.  I'd heard it was also tried in some form (unsuccessfully)
against the Wii as part of the breadth-first attack approach.

I'm afraid that the best at this moment is mostly rumors. There is some
knowledge about attacks in the field but it is spread out a lot and the ones
that aggregate this information are not sharing this (it also gives the
attackers a view on what works and what not).

You can see this with the games-console hacking, the attackers try and release
the least amount of information possible so they've got something in reserve
when the countermeasures appear.  In some cases they use attack method A to
find a weakness and then exploit it using unrelated method B, allowing reuse
of method A once B is patched by the vendor.

As I read his story, he eavesdropped the bus between the bridge chip and the
CPU to recover the real bootloader code with the real RC4 key,

Sorry, I was referring to two different attacks in the same sentence, and on
re-reading managed to make the result quite unclear :-).  The timing attack
didn't directly recover the authentication key directly but avoided the need
to know it, thus allowing unauthorised vulnerable kernels to be loaded.

not the incorrect one in the ROM (very nasty trick, kudo's for the Microsoft
development team there ;-) ).

Often the simplest tricks are the most effective, e.g. stick a PGP header on
the data to be protected and the attackers spend forever trying to decrypt it
when in fact the processing function is (in pseudocode):

  seek( file, 16 );// Skip red-herring junk at start
  processData( file );

(the problem with this one was that they memcpy()'d the fixed header on and
the lengths were wrong, but apart from that it would probably have distracted
attackers for some time).

Peter.

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


Re: Bitcoin P2P e-cash paper

2008-11-02 Thread James A. Donald

Satoshi Nakamoto wrote:

I've been working on a new electronic cash system that's fully
peer-to-peer, with no trusted third party.

The paper is available at:
http://www.bitcoin.org/bitcoin.pdf


We very, very much need such a system, but the way I understand your 
proposal, it does not seem to scale to the required size.


For transferable proof of work tokens to have value, they must have 
monetary value.  To have monetary value, they must be transferred within 
a very large network - for example a file trading network akin to 
bittorrent.


To detect and reject a double spending event in a timely manner, one 
must have most past transactions of the coins in the transaction, which, 
 naively implemented, requires each peer to have most past 
transactions, or most past transactions that occurred recently. If 
hundreds of millions of people are doing transactions, that is a lot of 
bandwidth - each must know all, or a substantial part thereof.


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


Re: Bitcoin P2P e-cash paper

2008-11-02 Thread Satoshi Nakamoto
Satoshi Nakamoto wrote:
 I've been working on a new electronic cash system that's fully
 peer-to-peer, with no trusted third party.
 
 The paper is available at:
 http://www.bitcoin.org/bitcoin.pdf

We very, very much need such a system, but the way I understand your 
proposal, it does not seem to scale to the required size.

For transferable proof of work tokens to have value, they must have 
monetary value.  To have monetary value, they must be transferred within 
a very large network - for example a file trading network akin to 
bittorrent.

To detect and reject a double spending event in a timely manner, one 
must have most past transactions of the coins in the transaction, which, 
  naively implemented, requires each peer to have most past 
transactions, or most past transactions that occurred recently. If 
hundreds of millions of people are doing transactions, that is a lot of 
bandwidth - each must know all, or a substantial part thereof.



Long before the network gets anywhere near as large as that, it would be safe 
for users to use Simplified Payment Verification (section 8) to check for 
double spending, which only requires having the chain of block headers, or 
about 12KB per day.  Only people trying to create new coins would need to run 
network nodes.  At first, most users would run network nodes, but as the 
network grows beyond a certain point, it would be left more and more to 
specialists with server farms of specialized hardware.  A server farm would 
only need to have one node on the network and the rest of the LAN connects with 
that one node.

The bandwidth might not be as prohibitive as you think.  A typical transaction 
would be about 400 bytes (ECC is nicely compact).  Each transaction has to be 
broadcast twice, so lets say 1KB per transaction.  Visa processed 37 billion 
transactions in FY2008, or an average of 100 million transactions per day.  
That many transactions would take 100GB of bandwidth, or the size of 12 DVD or 
2 HD quality movies, or about $18 worth of bandwidth at current prices.

If the network were to get that big, it would take several years, and by then, 
sending 2 HD movies over the Internet would probably not seem like a big deal. 

Satoshi Nakamoto

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