Date: Mon, 08 Jan 2007 12:14:07 -0800 From: Garrett Cooper <youshi10@u.washington.edu> To: freebsd-questions@freebsd.org Subject: Re: pwgen's seeding looks insecure Message-ID: <45A2A60F.3080500@u.washington.edu> In-Reply-To: <20070108191411.GG41724@dan.emsphone.com> References: <20070108175314.27ce391f@gumby.homeunix.com> <20070108183645.GF41724@dan.emsphone.com> <EAE5160D-6B80-4C6A-BB8F-70518EE0711F@u.washington.edu> <20070108191411.GG41724@dan.emsphone.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Dan Nelson wrote: > In the last episode (Jan 08), Garrett Cooper said: > >> On Jan 8, 2007, at 10:36 AM, Dan Nelson wrote: >> >>> Even better: make RANDOM() call random() instead of rand(), and >>> initialize the rng with srandomdev(). >>> >>> Another random password generator is in security/apg, and that one >>> already uses /dev/random as a seed. >>> >> Not all architectures support random number generation though IIRC >> and random number generation can be removed from the kernel, so I >> think that the dev was playing it safe by using another, less random >> seed source than /dev/random or /dev/urandom. >> > > Luckily, if srandomdev() can't open /dev/random, it falls back to > seeding with gettimeofday() (so more variability than just time()), > getpid(), and some random data off the stack, so it's always safe to > use. I just noticed that there's also a sranddev, so fixing pwgen is > really as simple as replacing the srand() call with sranddev() Interesting--I didn't know that. That sounds a lot better than what's in place by a long shot and it would be nice to have that in the program considering that random number generators are quite ubiquitous in Unix nowadays. I'll CC the project devs later on today with this thread then. -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45A2A60F.3080500>