Method and apparatus for securing a list of passwords and personal identification numbers7036016Abstract A method for securing passwords, personal identification numbers and identifying patterns utilizes a MasterCode camouflaged within a grid which contains all the characters, symbols or pictograms of which the MasterCode is a subset. For securing numeric sequences, the MasterCode is comprised of ten characters randomly associated to a corresponding digit (including zero). The characters thereby associated with each numeric password are expanded into an ordinary, natural language word, a SecureWord using non-associated letters. The MasterCode is masked by its unique placement in a MasterGrid known only to the user. For securing passwords comprised of alpha numeric symbolic characters, each unique character, the MasterCode, is assigned a sequential number which becomes a sequence of positions in the MasterGrid with each MasterCode character placed in the appropriate position and the remainder of the character set filled in. SecureNumbers are the positions in the MasterGrid of each character in a password. For securing patterns, a MasterGrid containing a set of pictograms is chosen from an offered array of such sets. The user then makes a pattern in the MasterGrid, his MasterCode. To gain access, the user must identify his MasterGrid from an array of similar grids and correctly recreate his pattern. Apparati for implementing the method are also described. Claims What is claimed: Description FIELD OF THE INVENTION
This represents the MasterCode, which can then be embedded into a MasterGrid such as that shown in Table 2.
Referring to Table 3 the MasterCode is shown found in the first and third lines of the MasterGrid with the corresponding numeric relationship. The MasterGrid when printed or written would only appear in the form that is shown in Table 2. The corresponding numeric relationships would only be known to the SecureWord system user. Thus even having access to the actual MasterGrid and the SecureWords would not easily permit decoding of the SecureWords to determine the original numeric sequences. The location of the MasterCode within the MasterGrid is the only item that a user must memorize in order to retain security. Optionally a SecureWord system user can memorize their SecureWords and even their SecureWords for enhanced security.
The actually arrangement of the MasterCode within the MasterGrid can be almost unlimited, with the MasterCode being embedded vertically, which is shown in Table 4, as well as horizontally, which was shown in Table 3, embedded in alternating locations which is shown in Table 5, diagonally, as well as various other permutations and other sequences.
The SecureWords "SHORT ROAR", "LOOSE NOOSE", "STREAKY", "ACNE ZIT" and "NO MORE CHOO—CHOO" represent particular numeric sequences. In this particular MasterCode, no vowels are used. Referring to Table 2 in conjunction with Table 3 (or optionally Tables 4 or 5), the sequence used to simply decode the SecureWords can easily be seen. In the actual decoding, extraneous letters and symbols are removed. Then the remaining letters are related back to the original digit. Referring to Table 6 this two—step process is shown.
The SecureWord system user can also alias letters. In one example, if the letter Z is an alias for S then ACNE ZIT would become CNST and decode to 9354. The complexity of aliasing is limited only by the user. The aliasing would result in compression on decoding (Z and S both map to S) and an expansion in encryption (S mapping to both S and Z). Referring to FIG. 1 there is shown a flow chart of the steps involved in the SecureWord system for generating a MasterCode and a MasterGrid. In step 10 a unique MasterCode is generated. The generation is done in two sub-steps. In sub-step 12 a set of ten characters are selected. NOTE: In English this is practical, but not necessary to the invention. The actual selection may be chosen to optimize the generation of multiple words, may be random, or have a particular meaning. In sub-step 14 the system randomly associates each selected character with a corresponding digit. The association of the selected characters should be tested to reject an obvious relationship such as the letter/number arrangement on a telephone dial or in any of the various memory aid systems described herein. In step 20 a unique MasterGrid is generated. The generation is done in three sub-steps. In sub-step 22 a grid size is selected. While the examples are for square grids, the grid may be an n by m rectangle or other shape providing it accommodates one instance of each character in the set from which the MasterCode is drawn. In sub-step 24 a method for embedding the MasterCode is selected. In sub-step 26 the remaining entries of the MasterGrid which do not contain the embedded MasterCode are filled. Referring to FIG. 2 there is shown a flow chart of the steps involved in the SecureWord system for generating a SecureWord. In step 30 a SecureWord is generated using the MasterCode. In sub-step 32 a numeric sequence is translated into the corresponding characters of the MasterCode. In sub-step 34 the letter sequence is expanded into an ordinary English word. If too few, by user criteria, or no SecureWords are created, the group of characters will be broken into smaller groupings so as to produce at least one word from each sub group. If SecureWords or sets of SecureWords are not yet produced, the subsets are further broken into smaller groupings. If no SecureWord or an insufficient number to satisfy the user are available a new MasterCode is generated and the procedure repeated. Referring to FIG. 3 there is shown a flow chart of the steps involved in the SecureWord system for decoding a SecureWord. In step 40 a particular SecureWord is decoded in three sub-steps. In sub-step 42 the MasterCode is located within the MasterGrid. In sub-step 44 extraneous letters and symbols are removed. In sub-step 46 the reduced letter sequence is then translated, using the MasterCode within the MasterGrid, into the original numeric sequence. Referring to FIG. 4 there is shown a block diagram of a SecureWord computer system. The SecureWord computer system can be implemented on a general-purpose computer, a specialized computer system or even on a chip level. A hand held SecureWord computer 90 can be used to generate the MasterCode and MasterGrid. While the particular embodiment is shown with only a numeric keypad 92, it can easily be expanded to a full alphanumeric keypad. The SecureWord computer 90 has an integral display 94 sufficiently large to show the MasterGrid. After a MasterCode and a MasterGrid is generated and permanently stored within internal memory, the SecureWord computer permits entry of a numeric sequence. The numeric sequence is then translated into letters and word list lookup is provided. This lookup then permits the expansion of the letter sequences into words in the word list fitting the aforementioned criteria. These extracted words are then shown on the display allowing the user to make external copies. To decode a SecureWord the user selects the display of the permanently stored MasterGrid on the integral display 94 of the SecureWord computer 90. The user then determines how the MasterCode is embedded into the MasterGrid that is being displayed. Thus permitting the decoding of the SecureWord into the original numeric sequence. Referring to FIG. 5, there is shown a flow chart of one embodiment of the present invention for securing a list of numeric codes. Initially, in step 102, the system accepts (such as from a user) the number of numeric codes (passwords) and the length of each code (number of digits contained in each code/password). Alternately, the number and length of the codes may be dynamically determined during entry of the passwords. In step 104, the system accepts entry of the numeric codes, such as numeric passwords, safe combinations, numeric sequences, etc. A default identifier (tag), such as Password1, Password2 . . . Passwordn, is associated with each numeric code in step 106. Optionally, in step 108, the system accepts enhanced identifiers or tags for each password (descriptions such as "safe", "padlock", "ss no", etc.). A 6×6 MasterGrid (which defines 36 grid squares) is generated and then displayed in step 110. This MasterGrid contains the 26 alphabet characters and 10 symbols, which are randomly positioned within the MasterGrid. In step 112, the system prompts the user to trace a path. The path is selected by traveling once through each of ten (10) MasterGrid squares, which is recorded in step 114. The selected path may be continuous, over lapping or discontinuous. If the selected path crosses (over laps) itself, then only the first time a square is crossed wills the square be counted. In the case where the path crosses itself, the system will consider the path to be discontinuous and skip a square the second occurrence of a particular square in the path. However, for user simplicity, the actual tracing may be continuous. A MasterCode, in step 116, is generated by the system internally. As previously explained, the MasterCode, in step 118, is used to create a character alias for each password. (In alternative embodiments, other systems of encryption may be used.) The system then prompts the user to confirm the path previously traced in step 120. If the path is not confirmed to match the selected path, then the system notifies the user of the error and repeats step 120. (Alternatively, the system may allow reentry of the original path and then request confirmation). When the path is confirmed to match the selected path, then the MasterGrid squares, which are contained in the traced path, are assigned the MasterList characters in step 122. The passwords' digits are then replaced with their corresponding MasterCode letters and stored in step 124. The actual passwords, which where entered in step 104 are now erased in step 126. 2. SecureNumber In an alternate embodiment, it is recognized that passwords to date are becoming increasingly more complex. Changes in the use of input devices, driven by the advent of computers on the Internet, have drawn away from devices that corresponded to a telephone key pad, with alphanumeric characters represented thereon, to a fully functional typewriter/computer keyboard including upper and lower case alpha characters, numerals and typographical symbols. This change has been reflected in advancing password security through the use of requirements for various combinations of alpha characters, numbers and symbols. The result is a non-uniform format for the use and entry of passwords. This has increased the users ability to create various combinations, which are difficult at best to memorize on first viewing. This requires users to write down these passwords and keep them in a safe place if this increased capability is to be at all useful. One solution to this problem is to provide a way of masking the various combinations in a way that is easy for the user to remember how the passwords are to be viewed. An implementation of this solution is to draw a numerical relationship to the characters that are being used that is then incorporated into a MasterGrid to mask the passwords. The present embodiment uses numbers (Secure Numbers) to protect passwords drawn from a character set that can include upper and lower case letters, numbers and symbols. The present invention may be utilized equally well with a pencil and paper as well as being implemented by a computer program or stored in a microprocessor device. It can be built into a computer integrated circuit designed for this purpose or reside as software in a digital device. With reference to FIG. 11 a representation of a password character set 700 is shown that represent all of the characters currently being used in an individual's family of passwords. This family is a subset of the 90 alphanumeric symbolic character found on standard alphanumeric keyboards, which include symbols. Since many computer programs reserve the use of some symbols, a set of 81 characters is used for illustrative purposes. The characters are identified numerically in sequential order. The exact order of the characters is not important. It is desired, however, that the sequence appear to be random and does not form any pattern or recognizable natural language words. For purposes of illustrating the inventive features of this embodiment, the password character set is described as having fifteen characters; however, the number of characters can be more or less as dictated by the user concerns In administrated setting, the unique character count of the passwords already assigned will vary among assignees with no adverse or compromising consequences to any of them using SecureNumbers to protect their own group of passwords. Once the characters have been identified a 9×9 grid is formed (FIG. 12), the user identifies a pattern 704 by selecting in order a set of cells from the grid corresponding to the number of characters in the password character set. The selection of the cells preferably forms a pattern, which is easy for the user to remember. The order of the cells can be continuous as shown in FIG. 12 or can be discontinuous points or any combination thereof. The pattern selection can be any image that is easy for the user to remember and corresponds to the number of characters in the password character set. With reference to FIG. 13, once the cells have been chosen in numerical order, the characters are then filled in according to their numerical relationship assigned earlier. By retracing the grid pattern in numerical order the user can then identify the characters of the password character set. Once the characters of the MasterCode have been placed in the grid, the remainder of the grid (FIG. 14) is filled in randomly with the other characters 706 to form a MasterGrid. In this way the pattern formed by the password character set is masked. The formation of the password character set is by taking each of the passwords assigned to the user and adding each character once from each of the passwords to the list. With reference to FIG. 15, five passwords 708-712 are shown each of, which has contributed one or more characters to the password character set. It will be appreciated by those skilled in the art that passwords may be pre-existing passwords that the user has acquired from a number of different computer accounts or the list of passwords may be assigned by a central authority such as a system administrator. With reference to FIG. 16, once the character set has been developed and provided with a numerical order, such order forms a MasterCode that can then be used to translate each of the passwords to a numerical combination. As will be shown in the coming figures, the MasterCode may be identified only when the pattern has been retraced in the grid. With reference to FIGS. 17 and 18, by retracing the pattern according to a numerical sequence each of the characters comprising the password character set are located. Then using the MasterCode, the passwords are derived from the numerical representations of the passwords. It will be appreciated by those skilled in the art, the identification of the MasterCode is virtually impossible without knowledge of the pattern chosen by the user and the order in which the cells are selected that make up the pattern. FIG. 19 illustrates how the MasterCode and the MasterGrid may be left in plain view, but has no value to anyone without the pictorial relationship provided by the retracing of the pattern on the MasterGrid. It will further be appreciated that any or all SecureNumbers may be transposed or reordered, such as reverse order, for additional password protection in plain view. Referring to FIG. 6, there is shown a flow chart for accessing a Secure Number. When access to a secured code (secured numeric sequence) is desired, in step 202, the system displays the user's grid. The system, in step 204, then prompts the user to trace their particular user path through the displayed user grid. A comparison is made in step 206 by the system between the traced path and the previously selected user path. If the traced path corresponds to the previously selected user path, then in step 208 the system queries the user for which password is to be retrieved, otherwise when the paths do not correspond, the system returns to step 206 for up to a predetermined number of times for entry of the correct path. In step 210, the system retrieves the encrypted sequence, from the systems memory or storage, which corresponds to the selected password, based on the response to the query in step 208. The encrypted sequence is converted using the MasterList into the original password in step 210. The converted password is then displayed in step 212. After a time interval the system will cause the displayed password to blink, in step 214. After a further time interval, in step 216 the system will blank out the displayed password. At this point, the system can return to waiting for another user access prior to display of the user's grid, or alternatively power down or enter a reset mode. Referring to FIG. 7, there is shown a flow chart of another exemplary embodiment of the present invention, which enables the securing of preexisting passwords, which are alphanumeric as well as include other keyboard symbols. Consider a particular example with 4 passwords, each 6 characters long, containing a total of 15 different characters (some of the characters occur in more than one password and may occur more than once in a particular password). In step 302, the system accepts entry of a sequence of codes, such as passwords, safe combinations, etc. A default identifier (tag), such as Password1, Password2 . . . Passwordn, is associated with each code in step 304. Optionally, in step 306, the system accepts enhanced identifiers or tags for each password (descriptions such as "safe", "padlock", "ss no", etc.). A MasterGrid such as a 6×6, 6×7, 6×8, 7×6, 7×7, 7×8, etc. is generated and then displayed in step 308. This MasterGrid is then filled with alphanumeric characters, symbols, pictograms, etc., which are randomly positioned within the MasterGrid in step 310. (The symbols and characters, which are used to fill the grid, may include characters contained within the passwords themselves.) In step 312, the system prompts the user to trace a path. The path is selected by traveling once through each of fifteen (15) MasterGrid squares, which is recorded in step 314. The length of the path must be at least as long as the number of unique characters contained in the passwords (which is 15 in this example). The selected path may be continuous, over lapping or discontinuous. If the selected path crosses (over laps) itself, then only the first time a square is crossed will the square be counted. In the case where the path crosses itself, the system will consider the path to be discontinuous and skip a square the second occurrence of a particular square in the path. However, for user simplicity, the actual tracing may be continuous. A MasterCode, in step 316, is generated by the system internally. As previously explained, the MasterCode, in step 318, is used to create a character alias for each password. (In alternative embodiments, other systems of encryption may be used.) The system then prompts the user to confirm the path previously traced in step 320. If the path is not confirmed to match the selected path, then the system notifies the user of the error and repeats step 320. (Alternatively, the system may allow reentry of the original path and then request confirmation.) When the path is confirmed to match the selected path, then the MasterGrid squares, which are contained in the traced path, are assigned the MasterList characters in step 322. The passwords' digits are then replaced with their corresponding MasterCode letters and stored in step 324. The actual passwords, which where entered in step 302 are now erased in step 326. When the user desires to access a Secured Password, the user's MasterGrid is displayed and the user is prompted to trace the user path through the user grid. Details of the access are the same as previously described for steps 202 through 216. Referring to FIG. 8, there is shown a flow chart of yet another exemplary embodiment of the present invention, which enables generating passwords using a full 90 character keyboard set (52 upper case and lower case letters, 10 numeric digits, and 28 special characters). In step 402, a randomly generated subset of the full set is made available for a particular user. The size of the subset can be determined by the user or by an administrator. A MasterGrid containing approximately two to four times as many squares as there are elements in the subset is generated in step 404. When the full—or almost full—keyboard set is used as the subset, the MasterGrid would be 9×9 or 9×10. The MasterGrid is filled with randomly positioned characters from the full set in step 406. In step 408, the system prompts the user to trace a path. The path is selected by choosing a number of MasterGrid squares corresponding to the number of elements in the subset. The selected path is recorded in step 410. The selected path may be continuous, over lapping or discontinuous. If the selected path crosses (over laps) itself, then only the first time a square is crossed will the square be counted. In the case where the path crosses itself, the system will consider the path to be discontinuous and skip a square the second occurrence of a particular square in the path. However, for user simplicity, the actual tracing may be continuous. The MasterCode, which is the subset, is then embedded into the MasterGrid in the selected path in step 412. The SecureWord method previously described is used in step 414 to create passwords. Pattern Recognition Embodiment Referring to FIGS. 9 and 10, there is shown a flow chart and functional diagram of a further exemplary embodiment of the present invention, in which a pathway through a MasterGrid is used as a means of authentication of a remote application or system. In step 502, the controlling application 602 generates a randomized MasterGrid 604. The MasterGrid, in step 504 is communicated to a slave unit 606. The slave unit 606 stores in memory 608 the MasterGrid in step 506. The slave unit, in step 508, creates a pathway 610 through the MasterGrid. The pathway 610 is then communicated to the controlling application 602 in step 510. The controlling application 602 stores in memory 612 the pathway 610 in step 512. When a query is made to the control application 602 in step 514, where the query claims to be a valid slave, the slave's name is checked. In step 516, when the name is found on a lookup list 614, the query slave 606 is placed in a holding status, otherwise access is denied. After the query slave 606 is placed in a holding status, the query slave 606 is then asked for the query slave's stored MasterGrid in step 518. If the MasterGrid supplied by the query slave from memory 608 corresponds to the MasterGrid currently assigned to the slave as found in the lookup list 614, the query slave 606 is asked to trace its path 610 in step 520, otherwise access is denied. In step 522, if the controlling application 602 confirms that the query slave 606 trace of the path 610 is correct (corresponds to the path stored in the lookup list 614), the query slave 606 is authenticated and access is provided, otherwise access is denied. The path 610 may be encoded as a grid reference, a character string corresponding to the traced path, or by other positional/sequential references. It will further be appreciated that the present embodiment of the invention may be implemented on a computer or processor enabled handheld device, including, but not limited to a cellular phone, personal data assistant (PDA) or a beeper. Those skilled in the art will appreciate that the computer implementation is well suited for devices that have a graphical user interface such a mouse that controls a pointer on a screen. The mouse can be used with the pointer to unmask a password either using it internally or displaying it for use elsewhere. Numerous modifications and alternative embodiments of the invention will be apparent to those skilled in the art in view of the foregoing description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode of carrying out the invention. Details of the structure may be varied substantially without departing from the spirit of the invention and the exclusive use of all modifications, which come within the scope of the appended claim, is reserved.
|
Same subclass Same class Consider this |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
