secure rsh analog, stray pointer reference?

Dan Stromberg - OAC-DCS (strombrg@bingy.acs.uci.edu)
Thu, 25 Aug 1994 18:14:13 GMT

I've set up a simple rsh-like facility that uses
repeatedly-re-exchanging shared-key stuff for unsniffable (after
initial configuration of the system) mutual authentication - I know
about Diffie-Helman, but it's unclear if I'd need to pay royalties to
use it (for that matter, is it strictly legal for me to be using the
rotor module, since it was imported from outside the US?).

The intent is to use this system to automate repetitive
system-administration tasks, like data gathering, removal of core
files and installing patches, across hundreds of machines - without
the risk of someone impersonating a critical machine and destroying a
Lot of data.

Anyway.

I'm finding that once in every, say, 200 connections, my keys, which
are strictly hexadecimal by design, are getting a random character or
two mixed in. Has anyone seen something like this? Perhaps I'm
leaping to blame something other than my own code, but it just doesn't
seem possible that I'm somehow slicing up these strings after getting
a result from hex().

I'm using modules socket, SOCKET, sys, regex, posix, string, whrandom,
rotor and dbm. The keys all pass through my string_to_hex and
hex_to_string, rotor and dbm, being stored in a single dbm database,
and transmitted across the net encrypted with the rotor module. Is
anyone using the rotor and/or dbm modules extensively?

I doubt it matters, but: The hub machine (all connections are done
from a single, highly secured host) is a sun3 running SunOS 4.1.1_U1,
but it is connecting to many different sun, dec and sgi platforms.
The keys are generated on these many different platforms, not the sun3
- but the sun3 does have to decrypt them.