See it always pays to read the Eagle book several times - in this case pages
213-218.  Excuse my question if it seems dumb I'm not 100% on NAT and
proxies, but the Eagle book says to 1 Choose a secret, 2 Select fields to be
user for the MAC. It also suggests to use the remote IP address as one of
those fields. 3 Compute the MAC via a MD5 hash and store in the clients
browser. 4 On subsequent visits recompute the MAC and verify it matches the
original stored MAC. How is this reliable in a situation where many
similarly configured computers are behind a NAT/Proxy and one of the users
try to steal someone else's session by getting their cookie/session_id info?

Thanks for the help,

--Joe Breeden
---------------------------------------
If it compiles - Ship It!
Aranea Texo

> -----Original Message-----
> From: Perrin Harkins [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, November 15, 2001 4:52 PM
> To: Joe Breeden; mod_perl List
> Subject: Re: Cookie authentication
> 
> 
> > Here we insert a session id on all requests, with 
> Apache::Session whether
> > the request is for a static or dynamic page and have a 
> TransHandler to
> strip
> > the session id and insert it into %ENV which seems to work 
> for us. With
> this
> > approach  we don't necessarily need cookies, but verifying 
> if a user is
> who
> > the session was originally assigned to without a cookie is really
> > impossible. At least to me with the limited amount of brain 
> time I have
> put
> > into it. Using some algorithm consisting of the end-users 
> IP and some
> random
> > number is OK until users behind the same NAT device try to 
> steal each
> others
> > session. Using the cookie is a way to verify that a user is 
> the owner of
> the
> > session id.
> 
> Cookies are very easy to fake and modify on the client side.  
> If you want to
> verify that a user is returning a session ID you sent him 
> without modifying
> it you should use a MAC, like the ticket access stuff in the 
> Eagle book.
> 
> - Perrin
> 

Reply via email to