On Mon, 02 Feb 2004 20:25:32 +1300, Lawrence DčOliveiro wrote:
> So the question is, is there a suitable encryption algorithm that
> renders the Shamir Three-Step Protocol workable?
I've struggled with similar myself, and have come to the conclusion that
the only way to avoid MITM (Man-In-The-Middle) attacks is to make recourse
to some 'out of band' communication.
Also that, logically, the quest for an MITM-proof self-contained key
exchange and authentication protocol is almost identical to the quest for
a perpetual-motion machine - unless the machine uses an external energy
source, it's screwed.
My opinion is that no symmetric cipher will defeat against MITM attack,
not even with Shamir.
For instance, with your post office and padlock scenario, there's nothing
to stop a postal worker from grabbing the package, and sticking a post
office padlock on the box and sending it back to Alice. Alice takes off
her padlock and posts the box back to Bob. The postal worker gets the box,
takes off the post office padlock, and gets the key. Then, the postal
worker sends a fake box to Bob containing a post office key and does the
same protocol. In which case, Bob ends up with the post office key, the
postal worker ends up with Alice's key, and can intercept (and modify) all
communication.
In this scenario, the only way out is for Alice to use a brand of padlock
that is monogrammed with her signature, in a way that the postal worker
can't copy. If Bob receives a box that doesn't have this brand of padlock,
with Alice's signature on it, he knows not to trust it. (Or, he knows to
mistrust it, and might pretend to have fallen for it, which might give him
an advantage, ditto for Alice).
Perhaps the most common form of oob communication is to use a
certifying authority (CA) - someone whom Alice and Bob both trust.
As we all know, the CA takes steps to verify Alice and Bob's identity, and
can furnish the electronic equivalent of such rare-brand, monogrammed
padlocks.
In which case, Bob would send the box to his friend Trent, and get back an
unforgeable signal from Trent that the padlock is indeed Alice's.
But there's another way to protect against MITM as well, that I've
seen being used on the Freenet network.
Suppose there is a communication medium over which Alice has complete
control, and ditto for Bob.
For instance, Alice is a sales rep for billboard advertising, and Bob is a
sound recording engineer for a band.
Alice puts up nationwide billboards for a real estate company, and on the
picture of the houses, under the window, there is a small number. After
sending the box to Bob, the number on the billboards is the serial number
of the padlock on the box she has sent.
Ditto for Bob. If he matches up the padlock serial number with the number
on the billboards, he trusts the padlock, and sticks his own padlock on
the box and sends it. Then when he does the mix for the band's latest
single, he manipulates some drum beats and bar counts to spell out a
number, but without undesirable artistic impact. Alice hears the song on
the radio, counts the bars and decodes the number from the
snare/hh/kick/cym beats. She compares this number to the serial number on
the padlock, and decides to trust Bob's padlock.
This method works within Freenet, because that network avoids
human-readable addresses (such as
www.somedomain.com), and opts for
gobbledegook addresses (such as SSK@weriuy2438fhfjhweuyw38742fhs), which
are based on hashed content or signatures. It is very difficult for an
attacker to substitute his/her own content at a given address.
This is similar to the CA solution in one respect - the existence of
out-of-band communication which cannot be tampered with by an attacker.
Get some kind of untamperable OOB communication, and you're home free.
Without it, you're a sitting duck.
All this being said, I'm open to being proven wrong (and would actually
love to be - it would make my life easier).
Cheers
EB