1. A method of assigning an identification code from a finite grammar defining all possible identification codes, the method comprising the steps: a) selecting a word from each of a plurality of predetermined sets of words according to identification data relating to a user; b) concatenating said words to form a sequence for use as the identification code; and c) storing a record of the sequence and of the identity of the user associated with said identification code.