1APGD(8) User Manual APGD(8)
2
3
4
6 apgd - server that generates several random passwords
7
8
10 apgd [-a algorithm] [-M mode] [-E char_string] [-n num_of_pass] [-m
11 min_pass_len] [-x max_pass_len] [-r dictfile] [-b filter_file] [-p
12 min_substr_len] [-k] [-t] [-l]
13
15 apgd program is a server that supports Password Generation Protocol
16 described in RFC972. It uses several password generation algorithms
17 (currently two) and a built-in pseudo random number generator.
18
19 apgd is normally invoked by the Internet superserver (see inetd (8))
20 for requests to connect to the pwdgen port (pwdgen port is 129 accord‐
21 ing to RFC1700 ) as indicated by the /etc/services file (see services
22 (5)).
23
24 Default algorithm is pronounceable password generation algorithm
25 designed by Morrie Gasser and described in "A Random Word Generator For
26 Pronounceable Passwords" National Technical Information Service (NTIS)
27 AD-A-017676. The original paper is very old and had never been put
28 online, so I have to use NIST implementation described in FIPS-181.
29
30 Another algorithm is simple random character generation algorithm, but
31 it uses four user-defined symbol sets to produce random password. It
32 means that user can choose type of symbols that should appear in pass‐
33 word. Symbol sets are: numeric symbol set (0,...,9) , capital letters
34 symbol set (A,...,Z) , small letters symbol set (a,...,z) and special
35 symbols symbol set (#,@,!,...).
36
37 Built-in pseudo random number generator is an implementation of algo‐
38 rithm described in Appendix C of ANSI X9.17 or RFC1750 with exception
39 that it uses CAST or SHA-1 instead of Triple DES. It uses local time
40 with precision of microseconds (see gettimeofday(2)) and /dev/random
41 (if available) to produce initial random seed.
42
43 apgd also have the ability to check generated password quality using
44 dictionary. You can use this ability if you specify command-line option
45 -r dictfile or -b filtername where dictfile is dictionary file name and
46 filtername is the name of Bloom filter file. In that dictionary you may
47 place words (one per line) that should not appear as generated pass‐
48 words. For example: user names common words, etc. You even can use one
49 of the dictionaries that come with dictionary password crackers. Bloom
50 filter file should be created with apgbfm(1) utility included in apg
51 distribution. In future releases I plan to implement some other tech‐
52 niques to check passwords just to make life easier.
53
54 apgd has the ability log user password generation activity and internal
55 debug information. It does this using
56 facility = daemon
57 priority = info for user password generation activity logging
58 priority = debug for internal debug information
59 See the syslogd(8) and syslog.conf(5) man pages for information on how
60 to configure your syslog daemon.
61
62
64 Password generation modes options
65 -a algorithm
66 use algorithm for password generation.
67 0 - (default) pronounceable password generation
68 1 - random character password generation
69
70 -n num_of_pass
71 generate num_of_pass number of passwords. Default is 6.
72
73 -m min_pass_len
74 generate password with minimum length min_pass_len. If
75 min_pass_len > max_pass_len then max_pass_len = min_pass_len.
76 Default minimum password length is 8.
77
78 -x max_pass_len
79 generate password with maximum length max_pass_len If
80 min_pass_len > max_pass_len then max_pass_len = min_pass_len.
81 Default maximum password length is 10.
82
83 -M mode
84 Use symbolsets specified with mode for password generation.
85 mode is a text string consisting of characters S, s, N, n, C, c,
86 L, l. Where:
87
88 S generator must use special symbol set for every generated
89 password.
90
91 s generator should use special symbol set for password gen‐
92 eration.
93
94 N generator must use numeral symbol set for every generated
95 password.
96
97 n generator should use numeral symbol set for password gen‐
98 eration.
99
100 C generator must use capital symbol set for every generated
101 password.
102
103 c generator should use capital symbol set for password gen‐
104 eration.
105
106 L generator must use small letters symbol set for every
107 generated password (always present if pronounceable pass‐
108 word generation algorithm is used).
109
110 l generator should use small letters symbol set for pass‐
111 word generation.
112
113 R,r not supported any more. Use -E char_string option
114 instead.
115 mode can not be more than 4 characters in length.
116
117 Note:
118 Usage of L, M, N, C will slow down password generation process.
119
120 Examples:
121 -M sncl or -M SNCL or -M Cn
122
123 -E char_string
124 exclude characters in char_string from password generation
125 process (in pronounceable password generation mode you can not
126 exclude small letters). To include special symbols that can be
127 recognized by shell (apostrophe, quotes, dollar sign, etc.) in
128 char_string use the backslashed versions.
129
130 Examples:
131
132 Command apgd -a 1 -M n -n 3 -m 8 -e 23456789 will generate a set
133 of passwords that will look like this
134 10100110
135 01111000
136 11011101
137
138 Command apgd -a 1 -M nc -n 3 -m 26 -e GHIJKLMNOPQRSTUVWXYZ will
139 generate a set of passwords that will look like this
140 16A1653CD4DE5E7BD9584A3476
141 C8F78E06944AFD57FB9CB882BC
142 8C8DF37CD792D36D056BBD5002
143
144 Password quality control options
145 -k check every generated password using cracklib. To use this abil‐
146 ity you must enable cracklib support during programm building.
147
148 -r dictfile
149 check generated passwords for their appearance in dictfile
150
151 -b filter_file
152 check generated passwords for their appearance in filter_file.
153 filter_file should be created with apgbfm(1) utility.
154
155 -p min_substr_len
156 this option tells apg(1) to check every substring of the gener‐
157 ated password for appearance in filter_file. If any of such sub‐
158 strings would be found in the filter_file then generated pass‐
159 word would be rejected and apg(1) will generate another one.
160 min_substr_len is specifies minimum substring length to check.
161 This option is active only if -b option is defined.
162
163 Password output options
164 -l spell genetated passwords. Useful when you want to read gener‐
165 ated password by telephone.
166 WARNING: Think twice before read your password by phone.
167
168 -t print pronunciation for generated pronounceable password
169
171 apgd -a 0 -M sncl -n 6 -x 10 -m 8 (new style)
172
174 On successful completion of its task, apgd will complete with exit code
175 0. An exit code of -1 indicates an error occurred. Textual errors are
176 written to the syslogd (8).
177
179 All textual info is written to the syslogd(8).
180
182 None.
183
185 None. If you've found one, please send bug description to the author.
186
188 apg(1), apgbfm(1)
189
191 Adel I. Mirzazhanov, <a-del@iname.com>
192 Project home page: http://www.adel.nursat.kz/apg/
193
194
195
196Automated Password Generator 2003 Aug 4 APGD(8)