En l'instant précis du 01/17/07 17:00, Peter Crowther s'exprimait dans
toute sa noblesse:
>> From: David Delbecq [mailto:[EMAIL PROTECTED] 
>> Those are generated by taking the first 16 characters of
>> the md5 sum of a random byte[16].
>>     
>
> Interesting.  Note that although the existing code makes considerable
> effort to ensure this *is* random, a number of factors can apparently
> decrease the randomness:
>
> - Running on Windows, which removes the ability to use /dev/urandom;
>
> - Running without APR, which reduces the set of values that getEntropy()
> can return to the set of valid addresses of Java objects on the Tomcat
> heap at the time (more of an issue with a small webapp);
>
> - Best-practise time synchronisation between servers plus running on
> operating systems with relatively large millisecond clock granularity
> (like Windows on x86, which I think still has a 20ms granularity), which
> can result in the major entropy source (the millisecond clock) being
> closely synchronised between the servers;
>
> - Restarting the containers and then opening for business via a load
> balancer, which may result in the first requests coming in to multiple
> servers at very similar times - particularly a problem if the clocks are
> closely synchronised, as it drastically increases the chance of the same
> millisecond clock value on multiple servers.
>   
Yes, it's not impossible that 2 tomcat instance infortunately starts
with the same seed when servers are synchronized and your os has big
granularity.. I didn't go fully in the insides of random generation, and
particulary the seed part.

I found the analysis of this article
(http://research.microsoft.com/~dalia/pubs/GM05.pdf) a good argument for
switching to somewhere where exists a urandom :)
> If you ever happen to get the same seed between two servers, you're
> seriously hosed - I *think* the way the code works, those systems will
> generate and continue to generate duplicate session IDs until one is
> restarted.
>
> I don't know how much of an effect these factors have in reality, but I
> think I'd prefer to run on some OS other than Windows and/or enable APR
> if I were planning to rely on the session IDs.  This is based on a
> relatively superficial analysis of the code; it may be that there are
> built-in defences against the problems described above that I've not
> found!
>
>               - Peter
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>   


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to