[sci.crypt] Challenge-Response alternative to Passwords

andrew@sask.UUCP (Derek Andrew) (04/02/88)

One problem with using passwords is their vulnerability to an eavesdropping
attack.  One solution is to implement a challenge and response algorithm as
described here.

1.  Let P(day) represent a secret permutation of the alphabet, unique every
    day.  e.g. P(today) = zfhkgjavitclbumxpwdonyrseq

2.  Let C(T,N) be a function which generates a string of N unique letters.
    T is the time of day (number of seconds since midnight).
    e.g. C(12:00:00,5) = jrmxo

3.  Let M(P(day),C(T,N)) be a mapping function such that every letter in
    C(T,N) is replaced by the letter following it in P(day). This mapping
    is simple and can be applied by visual inspection.
    e.g. C(zfhkgjavitclbumxpwdonyrseq,jrmxo) = asxpn

The permutation of the alphabet of the day P(today) is printed, then, when
the user is logging in, a challenge is issued using the C(T,N) function and
the user's response is compared with the result of M(P(day),C(T,N)).  If
they match, the user is allowed access.

How does one evaluate the security of this system?  What are the possible
attacks assuming 100% collection of the wiretap data?  How does one choose
a suitable value for N?  If N = 1, the attacker has a 1:26 chance getting in,
but if N = 26, the attacker can derive P(today) after one observation.

Does the C(T,N) function need to be secret or is it alright to allow the
attacker to anticipate the challenge?  I suggest using T as a parameter
to eliminate the problem of the same challenge being issued twice on the
same day (thus with the same P(day)).
--
   |		Derek Andrew, 306-966-4808, 0830-1700 CST,
   |		Computer Network and Technical Services, 35 Education,
,--|----.	U of Saskatchewan, Saskatoon, Saskatchewan, Canada S7N 0W0
|  | ,--|	uucp: {ihnp4 | utcsri | alberta} !sask!andrew
`--' `--`-	BitNet/NetNorth: Andrew@Sask	 52 11 23N 106 48 48W