Worm/Passwords
Brandon S. Allbery
allbery at ncoast.UUCP
Sun Dec 4 03:51:14 AEST 1988
As quoted from <8998 at smoke.BRL.MIL> by gwyn at smoke.BRL.MIL (Doug Gwyn ):
+---------------
| In article <220 at twwells.uucp> bill at twwells.UUCP (T. William Wells) writes:
| >Using a better database might create more or better passwords. And
| >each user could have his own database; this makes knowledge of the
| >travesty algorithm useless for guessing someone's password.
|
| I didn't mean to imply that this approach wasn't viable, but I
| couldn't resist the experiment and thought (since the posted travesty
| program wasn't runnable on anything except MS-DOS) that an illustration
| of what "travesty" produces might be informative to many readers.
|
| Indeed, use of samples of a natural language itself as a database
| for producing statistically similar "random" text is a good idea.
| I seem to recall one of the Computer Recreations columns in
| Scientific American a couple of years ago exploring this method.
|
| Certainly a larger, more varied database would have produce a better
| selection of lasswords.
+---------------
Since I seem to have started this thread, let me point out that I never
expected that "pwgen" was perfect. Indeed, the version I posted was only a
first approximation. (I should mention that the phoneme and spelling
databases were culled from a number of comp.unix.wizards articles. ;-)
I'm not going to leave "pwgen" as is; I'm going to experiment with more
phonemes, combinations of same, and random number generation. It was pointed
out to me that my srand() call was fairly easy to predict; true, but it was
just an example; add in such things as a checksum of the contents of the
process table and etc. and it becomes impossible to duplicate the RNG seed
without a snapshot of the entire system at the time the program is run.
Hardware random numbers (i.e. "/dev/static", which is just a A/D converter
attached to a radio receiver tuned to a frequency filled with static ;-) are
another possibility. Not that I can test that last on ncoast.... (Note the
smiley; I can think of a fairly easy way for a hardware hacker to break it,
and a good reason why it wouldn't work anyway. It's just an idea for people
to think about, to get the creative juices flowing. For that matter, so is
pwgen.)
At least one person has expressed a desire to add pwgen to the UN*X his
company is shipping. One word to all who are contemplating this: DON'T.
Pwgen is a first attempt at code to implement an idea; I don't claim it to
be the best way to do it, and it has a number of problems as is. (The
biggest may be the databases. Look at them and tell me how easy it is to
change them, either to add phonemes or spellings or to "nationalize" it.
When I put the databases together I decided that the next upgrade would
include a database generator.) Nor do I claim that the idea itself is in
either a final or a useable form. Pwgen DOES work to some extent, but I'd
hate to see a large number of sites try to base their security on it as is.
Just in case anyone's interested, here's a run of "pwgen 8 96". This was
run on ncoast, with its less-than-useable rand(); I will recompile with
another RNG and see how it affects the output.
(Press "n" if you aren't interested...)
shetheg ehooshi ooreyov uudotush fequasi ifoomih etequam aroochoo
ronuthi phelide ngaehoo ngoomoh ushudath rongovi ipalema uchukoe
tixoora chibith hooburi komoofo koosiqu tingofi soyichoo goothur
soovire epaethoo thidoqu meidong oojaqui uchokix xithabo jogirath
tofiqua nuphadi mooloot jithulu neoouse rofunequ ratheth nerekos
uboroaqu quiloop giligath nofedij yoteeub ooxekam mothoob achaniu
senohev aeboove mebokeu quigooy gujinoo chetone ixoosil ngadeyi
nihochi modaepu peraboth ngitooth hoothoch oudutix ichafea boyothe
joonguf patuxong egooxoo thotahu oosoipe choongi ogootha hiheeip
hogoojee ipaedaa thipair hipusab ehoothae thilise oopuloo isimequ
agiuveb singaab oojasho iyefooj ootuoov thaniay revisai akichoo
vojeting ngiremae rikakee nathehe mithisi beaepin xeruvep ihayouu
I see a few problems in here, like a tendency to overuse "oo"; since "pwgen"
has a few bugs, it'll be interesting to see what happens when I fix them.
++Brandon
--
Brandon S. Allbery, comp.sources.misc moderator and one admin of ncoast PA UN*X
uunet!hal.cwru.edu!ncoast!allbery <PREFERRED!> ncoast!allbery at hal.cwru.edu
allberyb at skybridge.sdi.cwru.edu <ALSO> allbery at uunet.uu.net
comp.sources.misc is moving off ncoast -- please do NOT send submissions direct
Send comp.sources.misc submissions to comp-sources-misc@<backbone>.
More information about the Comp.unix.wizards
mailing list