CHAPTER12

Creating Pseudo-Random Passwords

Got security? Most of the user community does not know how to create secure passwords that are not easy to guess. Users tend to have several passwords that they rotate. The problem with these “rotating” passwords is that they are usually easy to guess. For example, users find that birth dates, children's names, Social Security numbers, addresses, department names/numbers, and so on make good passwords that are easy to remember. Sometimes they even use words found in any dictionary, which is a starting point for any cracker. In this chapter we are going to create a shell script that creates pseudo-random passwords.

Randomness

If you look back at Chapter 11, “Pseudo-Random Number and Data Generation,” you can see the exercise that we used to create pseudo-random numbers. If you have not studied Chapter 11, it would help a lot if you did.

The numbers we created in Chapter 11 are not true random numbers, but some are secure enough for encryption applications and software keys. Others, however, are not as secure because of the cyclical nature of how “random numbers” are created if the same seed is used as a starting point. For example, if you are using the RANDOM shell variable, and you always start a random number sequence with the same seed, or first number, you will always have the same sequence of numbers. In Chapter 11, one method used is to use the process ID (PID) of the current process, which is the executing shell script, as the seed ...

Get Mastering UNIX® Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.