home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / mag_discs / 29 / Programs / RNDPass / !RNDpass / !Tips < prev    next >
Text File  |  1998-08-15  |  8KB  |  153 lines

  1. Choosing a good pass phrase (Contributed by Nat Queen)
  2. ******************************************************
  3.  
  4.  
  5. Why do we speak of a 'pass phrase' instead of a 'password'?
  6. -----------------------------------------------------------
  7.  
  8. When many people are asked to choose a password, they select some common
  9. word or name. This can be cracked easily by a 'dictionary attack', i.e. a
  10. computer program that uses a dictionary to try all possibilities. Many such
  11. programs exist. They are sometimes used by people who have forgotten their
  12. own password. But a password that can be recovered in this way is weak. It
  13. can be recovered just as easily by anyone else who may gain access to your
  14. encrypted data.
  15.  
  16. A somewhat stronger type of 'password' is one which is not a real word, and
  17. perhaps even includes some numbers or other special symbols, if these are
  18. allowed by the software that you are using. Although this is safe from a
  19. classical dictionary attack, it can be cracked by a brute-force attack, i.e.
  20. a program that simply tries all possible sets of characters until it finds
  21. the right combination. Of course, the longer the password, the more
  22. difficult such an attack becomes. Suppose, for example, that 50 different
  23. characters are allowed in the password. Then if you add one extra character
  24. to an existing password, a brute-force search for the correct password would
  25. be expected to take 50 times as long.
  26.  
  27. Many Unix systems, for example, accept logon passwords of up to eight
  28. characters. Logon passwords for ISPs are usually similar. Unfortunately,
  29. such passwords are rather weak and are easily attacked. You should certainly
  30. use longer passwords if your software allows this.
  31.  
  32. Documents on PGP and some other encryption software always speak of pass
  33. phrases, rather than passwords, in order to stress that they can be of any
  34. reasonable length, consisting of *many* words or groups of characters,
  35. separated (optionally) by spaces.
  36.  
  37. How strong should a pass phrase be?
  38. -----------------------------------
  39.  
  40. The pass phrase is by far the weakest part of many cryptosystems, at least
  41. for many users, who use a weak pass phrase in practice. If an attacker wants
  42. to read a typical user's encrypted messages, it would be far more efficient
  43. to try to crack the pass phrase than to attempt any real cryptanalysis. This
  44. is why it is very important to choose a good pass phrase.
  45.  
  46. Even for powerful organisations like government agencies with huge computing
  47. resources, it would be most cost-effective to try to crack the pass phrase.
  48. It is often said that the simplest technique for gaining access to encrypted
  49. data is the 'rubber-hose attack' (beating the victim, or using other
  50. methods of torture, until the pass phrase is revealed). Another such
  51. technique is to plant an electronic bug or a hidden program in the user's
  52. computer, to capture all the keystrokes. Alternatively, without even any
  53. physical access to a computer or its user, a serious attacker can monitor,
  54. from a distance, the electronic emissions from the computer and thereby
  55. record the pass phrase. This is known as a 'Tempest attack'. It's not easy
  56. to guard against any of these possible attacks. But you probably do not need
  57. to worry about them, unless you are a serious target of government
  58. investigations, or if you live under an oppressive regime.
  59.  
  60. It makes sense to choose a pass phrase which is equal in strength to the
  61. cryptosystem being used, since any such system is only as strong as its
  62. weakest link. This document explains some simple tricks which can help to
  63. achieve that goal.
  64.  
  65. How can I choose a strong pass phrase?
  66. --------------------------------------
  67.  
  68. In general terms, the aim should be to create a pass phrase that is easy to
  69. remember and to type when needed, but very hard for anyone else to guess,
  70. even for someone who knows you well. It should also be long enough to make
  71. any dictionary attack or brute-force attack impractical.
  72.  
  73. One well known method is to select, by some random process, a set of words
  74. from a dictionary. This technique is sometimes called 'diceware'. This is
  75. what !RNDpass does.
  76.  
  77. With a dictionary as large as the one included in !RNDpass, a pass phrase
  78. consisting of 6 or more random words is likely to withstand any conceivable
  79. attack, because of the enormous number of possible combinations, especially
  80. if it's modified in some unpredictable way to prevent a pure dictionary
  81. attack.
  82.  
  83. Some simple tips for 'distorting' a pass phrase are described below. If they
  84. are applied with a little ingenuity, they will work well even if the user
  85. starts with a 'normal' pass phrase in plain English (instead of random
  86. words, as given by !RNDpass) and distorts it in such a way that it becomes
  87. quite unpredictable.
  88.  
  89. A few special methods of doing this can be automated in !RNDpass, as an
  90. option. 'Random' (computer-generated) distortions of a pass phrase
  91. consisting of normal words are undoubtedly more secure than distortions
  92. added by hand in an intuitive manner, but it may take more effort to
  93. remember them.
  94.  
  95. How can a 'normal' pass phrase be distorted to make it stronger?
  96. ----------------------------------------------------------------
  97.  
  98. • First of all, you may start with either a set of random words like those
  99. generated by !RNDpass (more secure, but harder to remember) or a meaningful
  100. sequence of words (less secure, but easier to remember). If you choose the
  101. latter approach, do not use any famous quotations, proverbs or sayings. All
  102. these exist in dictionaries, including some in electronic form, which can be
  103. used for cracking purposes. One possibility would be to select a phrase from
  104. a book at random, preferably avoiding any complete sentence. Try to avoid
  105. phrases with a conventional, predictable grammatical structure. If
  106. necessary, replace some words with silly, unexpected words.
  107.  
  108. • When 'distorting' a 'normal' pass phrase, it is best to avoid the use of
  109. only dictionary words, in order to foil any possible dictionary attack.
  110.  
  111. • You can use non-alphabetic characters, such as numbers or any other
  112. symbols on your keyboard. These can be inserted in unexpected places. For
  113. example, you can change the word 'computer' to 'c0mputer', '98%computer', or
  114. 'comput#'. The use of additional characters can increase the number of
  115. possible pass phrases enormously, without making them much harder to
  116. remember. It is best to put them in unexpected places. An attacker may
  117. guess, for example, that you replaced 'o' by '0'.
  118.  
  119. • Pass phrases in many programs, such as PGP, are case-sensitive. This means
  120. that it is a good idea to mix upper and lower case. For example, 'computer',
  121. comPUTer and COMPUTER would all be treated as distinct.
  122.  
  123. • If you know any words from foreign languages, you can include some in your
  124. pass phrase.
  125.  
  126. • You can invent your own nonsense words, like the famous word 'jabberwocky'
  127. coined by Lewis Carroll.
  128.  
  129. • You can create completely meaningless 'words' consisting of apparently
  130. 'random' characters, but which are easy to remember. For example, 'ilro'
  131. might stand for 'I love RISC OS'.
  132.  
  133. • Bear in mind that you can use any printable ASCII characters, not just the
  134. ones that appear on the keyboard. For example, the copyright symbol © can be
  135. obtained by holding down the ALT key, typing 169 on the numeric keypad, and
  136. then releasing the ALT key. Details of how to get all such characters can be
  137. found in your computer's User Guide.
  138.  
  139. • You can disguise dictionary words by using strange and unexpected
  140. spellings. For example, the word 'computer' can be changed to 'komputta'.
  141.  
  142. • Dictionary words can also be hidden by using extra spaces, or omitting
  143. spaces, as in 'com puter' or 'Acorncomputer'.
  144.  
  145. • The techniques suggested above become even more effective when used in
  146. combination. An example might be the 'word' 'MY2c0mputas@home'.
  147.  
  148. A final word of advice: Whatever you do, don't ever write down your pass
  149. phrase or store it in any computer file. If you do, it's asking for trouble. 
  150. Your pass phrase should exist only in your head!
  151.  
  152.  
  153.