Abstract:
A security system and method for authenticating a user&#39;s access to a target system is disclosed. The security system receives an authentication request from the user and generates a security matrix which comprises a mapping between each symbol within a symbol set and a code value randomly selected from a distinct code set. The number of elements in the symbol set and in the code set are selected to provide a predetermined level of security against capture of a user-defined keyword by an unauthorized observer. The security system sends the security matrix to the user and awaits a one-time code in response. The user forms the one-time code based on the user keyword and the security matrix. The security system validates the one-time code against the security matrix and the keyword to determine an authentication result, permitting or denying the user access to the target system.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation-in-part of U.S. application Ser. No. 13/281,330, filed on 25 Oct. 2011 and titled “METHOD AND SYSTEM FOR ABSTRACTED AND RANDOMIZED ONE-TIME USE PASSWORDS FOR TRANSACTIONAL AUTHENTICATION”, which claims priority to U.S. provisional patent application No. 61/418,276, filed on Nov. 30, 2010 and titled “METHOD AND SYSTEM FOR ABSTRACTED AND RANDOMIZED ONE-TIME USE PASSWORDS FOR TRANSACTIONAL AUTHENTICATION”, which applications are incorporated by reference into the present application. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to authentication systems and methods and more particularly to authentication systems that are highly secure. 
     DESCRIPTION OF THE RELATED ART 
     Security relating to personal identity has become the fundamental cornerstone of all transactions in the modern electronic world, with high levels of investment being applied to security and authentication methods, the technology to support it, and also to the hacking thereof. Most of the banking world depends on a pre-arranged personal identification number (PIN), which is a secret numeric password shared between a user and a system to authenticate the user to the system, while most electronic systems with full-text interfaces depend upon Passwords. 
     It is common practice to trust heavily in cryptographic hash functions (CHF). These deterministic procedures take arbitrary data and return a mathematically calculated hash value that is unique to the data. A well-documented example of a CHF is the MD5 algorithm. Hash functions and smart security methods between the client and the server make it difficult to reverse-engineer the individual&#39;s Password or PIN from a copy of the data. However, using visual observation along with phishing techniques, most passwords or PINs can be compromised thereby allowing fraudulent transactions to be processed. Therefore, it is desirable to have a security scheme that reduces the likelihood that an authentication can be compromised. 
     BRIEF SUMMARY OF THE INVENTION 
     One embodiment of the present invention is a method for abstracting the interaction with a Client Interface such that every time the User wishes to authenticate against a Secure System, the Security System presents to the user a one-time randomized set of characters and numbers in a form that allows him to use a predefined Keyword to determine the PIN that matches the randomized Keyword. 
     More specifically, an embodiment of the present invention is a method for validating a user&#39;s authenticity to access a secure system. The method includes the steps of receiving an authentication request from the user, generating a security matrix based on a user ID and user preference data and sending said matrix to the user, receiving a one-time code from the user in response to the security matrix, validating the one-time code based on the security matrix, the user ID, at least one user keyword, and user preference data, after validating the one-time code, sending an authentication result to the user, said authentication result being based on the one-time code, the security matrix, the user ID, the user keyword, and user preferences; and sending a success or fail message, distinct from the authentication result, to the secure system based on the authentication result. 
     Yet another embodiment of the present invention is a security system for validating a user&#39;s authenticity to access a secure system. The security system includes a security computer and a client interface. The security computer is programmed to store a user keyword and user preference data, to receive an authentication request including a user ID from the user to access the secure system and to generate a security matrix in response to said authentication request based on stored user preference data and the user ID, to send the security matrix to the user and to receive from the user a one-time code, to validate the one-time code using the generated security matrix, the user keyword, and user preference data and to send an authentication result based on the validation to the user, and to send a success or fail message, distinct from the authentication result, to the secure system based on the authentication result. The client interface enables the user to transmit to the security system an authentication request to access the secure system, receives and displays the security matrix, and enables the user to send the one-time code to the security system. 
     Under present method, there is no correlation between the User&#39;s Keyword and the Security Matrix provided to the user for him to validate against. A Security System randomly constructs The Security Matrix and the User employs the Security Matrix to determine the One-Time Code that is valid for that User and for that Security Matrix. Each request to authenticate results in a new Security Matrix being calculated ensuring the probability of determining the Keyword to be minimal. 
     The present invention is a novel approach to authentication security, allowing the user to define one or more Keywords, which are then used as a personal reference, enabling the User to create a One-Time Code from a randomized, system-generated Security Matrix. A Keyword is never directly entered during the authentication process at any stage and should never be disclosed or shared. 
     By separating the authentication process into three phases, (i) request to authenticate, (ii) validation of credentials, and (iii) the transmittal of the authorization details, a security method is produced that can have all transactional authentication requests observed, recorded, and analyzed between the User, the Client Interface, and the Security System, while keeping it improbable that the user&#39;s keyword can be identified. 
     The strength of the Security Matrix can be altered by the user to make determination simpler or more complex, not the system he is authenticating against. 
     The method of the present invention can be applied to any system requiring User Authentication with minimal changes to the Secure System or the User experience. Because the Security Matrix and the One-Time Code are fully abstracted from the Keyword, there is no pressing security requirement to encode them for transmission in either direction. Thus, method of the present invention is highly suited to any system where the connection between the Client Interface and the Secure System can easily be monitored or observed. 
     The method can be implemented for a single system, multiple systems, or as a unified public validation system, and works against any transaction that requires a user to validate his identity. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where: 
         FIG. 1  shows an Authentication request; 
         FIG. 2  shows a Validation request; 
         FIG. 3  shows a first example of a One-Time Code in which an offset is used; 
         FIG. 4  shows a second example of a One-Time Code in which an offset and crawl are used; 
         FIG. 5  shows a third example of a One-Time Code in which a crawl is used; 
         FIG. 6  shows a fourth example of a One-Time Code in which a jump is used; 
         FIG. 7A  shows an example architecture of an Internal Security Server for Local Authentication; 
         FIG. 7B  shows portions of the Client Interface during the authentication process; 
         FIG. 8  shows an example architecture of an Internal Security Server for Remote Web Authentication; 
         FIG. 9  shows an example architecture of an External Security Server for Remote Web Authentication; 
         FIG. 10  shows an example architecture of an Internal Security Server for Internal and External Web Authentication and Internal System Authentication; 
         FIG. 11  shows Message Structure Definitions; 
         FIG. 12  shows User Preferences; 
         FIG. 13  shows Secure System Preferences; 
         FIG. 14  shows a flow chart of an embodiment of the present invention; and 
         FIG. 15  shows a flow chart of an embodiment for generating and sending the one-time code. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following description the following identifications are used. 
     The Secure System  20  is a system that requires a User to authenticate as a pre-requisite to processing transactions or requests for information. 
     The Security System  30  is the system in which the User&#39;s Keyword and Preferences, the Secure Systems preferences are stored and where processing for the Security System&#39;s interfaces is performed.
         Authentication Request  11     Security Matrix  31     One-Time Code  12     Authentication Result  32     Success Message  33         

     The User Preferences  40  are defined in Table 3 and are stored internally by the Security System  30 . 
     A keyword  41  is a linear string of alpha characters that is defined by the User  10 . In the examples given, the keyword is limited to being alpha characters only (A to Z) however, the method and system supports Alpha (case sensitive or case insensitive), Numeric, Symbolic or any combination thereof. 
     The Secure System Preferences  50  are defined in Table 4 and are stored internally by the Security System  30 . 
     A Client Interface  60  is the Human Machine Interface (HMI) where a User  10  is required to interact with a keyboard, touch screen, pin pad, or other entry device to provide authentication details, e.g., an Automated Teller Machine or a logon screen to an internet service. 
     In  FIG. 1 , a User  10  has previously provided to the Security System  30  User Preferences  40  and a Keyword  41 . The Keyword  41  is stored in an encrypted form on the Security System  30  and is never transmitted in any function. 
     In  FIG. 1 , a User  10  requests to authenticate at a Client Interface  60 , which in turn sends the Authentication Request  11  to the Secure System  20  which forwards the Authentication Request  11  to the Security System  30 . 
     In  FIG. 2 , the Secure System Preferences data  50  is used to determine the format required and the limitations of the Client Interface  60 . The User Preferences data  40  is used to determine the complexity level of the Security Matrix  11  that the User  10  prefers. The security system  30  produces a Security Matrix  31  and sends it back to the Secure System  20 , which then forwards the Security Matrix  31  directly to the Client Interface  60  or uses the information within it to build a custom representation of the Security Matrix  31 , which it then presents to the User  10 . The format of the user ID is system independent and can be any unique ID across all systems being supported by the security server. Examples of a user ID are a customer ID or an email address. 
     In  FIG. 2 , a User  10  authenticates, using the presented Security Matrix  31  to determine the One-Time Code number  12  by applying the User Preferences  40  in association with the Keyword  41 . This One-Time Code number  12  is entered into the Client Interface  60 , which is then sent to the Secure System  20  and then to the Security System  30  where it is validated by the Security System  30  by using the Security Matrix  31  data in conjunction with the One-Time Code  12 , the User&#39;s  10  stored keyword  41 , and the User Preferences  40 . In response to the request, the security system  30  then returns an Authentication Result  32  back to the Secure System  20 , which is then sent back to the Client Interface  60 . A second interaction occurs in parallel in which the security system  30 , upon a successful authentication, then initiates a send of the Success Message  33  to the Secure System  30 &#39;s success notification point as detailed in the Secure System Preferences  50 . 
     Every Authentication Request  11  and every One-Time Code  12  validation, results in the Security Matrix  31  being re-randomized to prevent reuse. A log of Authentication Requests  11  and One-Time Code  12  requests is maintained for limiting the maximum number of attempts in a given timeframe to prevent brute force attacks and for providing an auditable trace. 
     A brief cryptanalysis of a random mapping method embodying the invention will now be described. In this analysis, a security matrix comprises a randomised mapping of symbols within a keyword set comprising K symbols to a code set comprising N code values. For example, if the keyword is limited to alphabetical characters, and that code is limited to numeric values, K=26 and N=10. 
     For the purposes of analysis, we assume that an eavesdropper (‘Eve’) observes at least two successful authentication attempts by a user (‘Alice’). 
     In the first observation, Eve obtains a code symbol corresponding with each character of the user&#39;s keyword. For K&gt;N, these code symbols will not, in general, uniquely identify the corresponding keyword characters. However, it is expected that Eve will, on average, be able to narrow the set of possible symbols to K/N, for each character. 
     It should be noted, at this point, that even a simple embodiment of the invention provides an improvement over conventional passwords or PIN entry, in which a single observation is sufficient to completely determine Alice&#39;s keyword (i.e. password or PIN). In accordance with the principles of the invention, this is only possible after Eve has been able to obtain one or more further observations. 
     A statistical analysis of the outcome following a second observation by Eve can be conducted as follows. Considering just a single character of the keyword (each character can be independently attacked in exactly the same manner) there are a number of possibilities for the knowledge acquired by Eve from a second observation of a successful authentication attempt by Alice. 
     As will be appreciated, in the second observation, Eve will be focussing only on an observed subset of characters (of size ‘r’) identified in the first observation as mating the code entered by Alice. Eve will see Alice enter a new code value (say ‘x’), and will compare this with the codes in the security matrix corresponding with the observed subset. 
     In one scenario, all members of the observed subset are associated with the same code, i.e. the one entered by Alice, and Eve is no wiser as to the identity of the keyword character. 
     At the other extreme, the code entered by Alice may match only one member of the observed subset, in which case Eve now has certain knowledge of the character. 
     In intermediate circumstances, the code entered by Alice matches two or more (call this number ‘k’, where 1&lt;k&lt;r) members of the observed subset, and is able to further narrow the field of possible characters, i.e. to reduce the observed subset, accordingly. 
     In order to determine the probability that Eve will be able to reduce the observed subset of ‘r’ character to a subset of ‘k’ characters, we need to compute the probability that the number of characters in the observed subset associated with code ‘x’ is equal to ‘k’ (which we will call event A), given that we know at least one of the characters (i.e. the actual character in Alice&#39;s keyword) is associated with code ‘x’ (which we will call event B). In standard notation, this conditional probability is written:
 
 Pr ( x  appears  k  times| x  appears at least once)= Pr ( A|B )
 
     Assuming completely random association of code values with characters (at least within the observed subset) the probability that any single character is associated with code ‘x’ is simply p=1/N. Thus the (independent) probability that ‘x’ appears exactly ‘k’ times among the ‘r’ members of the observed set, is given by the Binomial distribution as: 
     
       
         
           
             
               Pr 
               ⁡ 
               
                 ( 
                 
                   x 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   appears 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   k 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   times 
                 
                 ) 
               
             
             = 
             
               
                 
                   Pr 
                   bin 
                 
                 ⁡ 
                 
                   ( 
                   
                     
                       k 
                       ; 
                       r 
                     
                     , 
                     p 
                   
                   ) 
                 
               
               = 
               
                 
                   ( 
                   
                     
                       
                         r 
                       
                     
                     
                       
                         k 
                       
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   
                     
                       p 
                       k 
                     
                     ⁡ 
                     
                       ( 
                       
                         1 
                         - 
                         p 
                       
                       ) 
                     
                   
                   
                     r 
                     - 
                     k 
                   
                 
               
             
           
         
       
     
     The conditional probability can be evaluated by applying Bayes Rule: 
     
       
         
           
             
               Pr 
               ⁡ 
               
                 ( 
                 
                   A 
                   | 
                   B 
                 
                 ) 
               
             
             = 
             
               
                 
                   Pr 
                   ⁡ 
                   
                     ( 
                     
                       B 
                       | 
                       A 
                     
                     ) 
                   
                 
                 · 
                 
                   Pr 
                   ⁡ 
                   
                     ( 
                     A 
                     ) 
                   
                 
               
               
                 Pr 
                 ⁡ 
                 
                   ( 
                   B 
                   ) 
                 
               
             
           
         
       
     
     In this case, Eve has the prior information that ‘x’ appears at least once (i.e. corresponding with the character actually appearing in Alice&#39;s code word), thus the conditional probability of the event B, Pr(B|A)=1. Further, the independent probability of event B (i.e. that ‘x’ appears at least once in the absence of Eve&#39;s prior knowledge) is simply 1−Pr(k=0). 
     Thus, the probability that Eve will be able to reduce the observed subset of ‘r’ character to a subset of ‘k’ characters after the second observation is given by: 
     
       
         
           
             
               Pr 
               ⁡ 
               
                 ( 
                 
                   r 
                   → 
                   k 
                 
                 ) 
               
             
             = 
             
               
                 
                   ( 
                   
                     
                       
                         r 
                       
                     
                     
                       
                         k 
                       
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   
                     
                       p 
                       k 
                     
                     ⁡ 
                     
                       ( 
                       
                         1 
                         - 
                         p 
                       
                       ) 
                     
                   
                   
                     r 
                     - 
                     k 
                   
                 
               
               
                 1 
                 - 
                 
                   
                     ( 
                     
                       1 
                       - 
                       p 
                     
                     ) 
                   
                   r 
                 
               
             
           
         
       
     
     Table 1 shows calculated values of Pr(r→k) for various values of K and N for 1≦k≦5. The table also shows the probability, p=1/N, of guessing the code value to be entered for a single character, assuming no prior knowledge. 
     Table 2 shows corresponding calculated values of the probability of Eve acquiring all of the characters in Alice&#39;s keyword on a second observation for keyword lengths between 4 and 12 characters. Since the code value associated with each character is independent of all others, these values are be obtained simply by multiplying the probabilities for each individual character, i.e. for keyword length L:
 
 Pr (all  L  characters acquired)= Pr ( r→ 1) L  
 
     Notably, the probability of Eve acquiring a complete keyword on a second observation becomes prohibitively small, i.e. on the order of 1:10,000 or less, for moderately small N (e.g. N≦4), without requiring excessive keyword length (e.g. L=8). 
     The calculations of Table 1 can be extended for a sequence of observations, as illustrated in Table 3, which shows calculated values of Pr(r→k) for K=26 and N=10 for r=3 . . . 1. Also shown are the probabilities of Eve acquiring Alice&#39;s keyword character in one, two, three, or more further observations (obtained by accumulating the probabilities of all possible sequences of events leading to acquisition of the character in the specified number of further observations). On average, Eve expects to acquire the character in 2.11 observations (i.e. the initial observation, plus 1.11 further observations). 
     The following observations may be made:
         security against eavesdropping is enhanced by increasing K and/or by decreasing N;   generally, decreasing N is more effective than increasing K (e.g. doubling K from 32 to 64, for N=10, reduces the probability that Eve will obtain a character on a second observation from 84.8% to 71.3%, whereas halving N from 10 to 5 for K=32 reduces the probability to 46.4%);   overall, very small values of N provide greater security against eavesdropping, e.g. N=2 (i.e. a binary input code) provides a probability that Eve will obtain a character on a second observation that is around two orders of magnitude lower in all cases than N=3;   the disadvantage of small values of N is that Alice&#39;s code becomes more vulnerable to random or brute force attacks, e.g. four a four-character PIN, with N=2. there is a 1:16 chance that an attacker will gain access simply by guessing a four-digit binary code;   while the number of observations required for Eve to acquire one of Alice&#39;s keyword characters may not be large, particularly for larger values of N, embodiments of the invention have a significant advantage over convention password or PIN entry systems, in which a single observation fully discloses the user&#39;s code—in systems embodying the invention, a single observation is not sufficient to deduce Alice&#39;s keyword with certainty.       

     Overall, therefore, security is enhanced by employing longer passwords (or pass-phrases) in combination with small values of N. However, small values of N may expose keywords to greater risk of compromise by ‘brute force’, or random, attacks. Table 4 illustrates the trade-off between these two factors, using a Figure of Merit (TOM′) defined as: 
     
       
         
           
             
               F 
               ⁢ 
               
                   
               
               ⁢ 
               O 
               ⁢ 
               
                   
               
               ⁢ 
               M 
             
             = 
             
               
                 ( 
                 
                   
                     Pr 
                     ⁡ 
                     
                       ( 
                       
                         r 
                         → 
                         1 
                       
                       ) 
                     
                   
                   N 
                 
                 ) 
               
               4 
             
           
         
       
     
     This number represents the probability of ‘guessing’ a four-character keyword (such as a PIN) by random chance, multiplied by the probability of acquiring the full PIN after only two observations. It thus takes on smaller values when one or other of the two attacks is most unlikely to succeed (and, accordingly, the other attack is most likely to succeed), and has its highest value when there is a ‘balance’ between the likelihood of success of the two forms of attack. While this particular FOM is not a unique measure of the trade-off, it does confirm that there may be a preferred range of parameters which, for this measure, correspond with K/N in the range of about 4 to about 7 (depending upon the other system parameters). 
     While embodiments of the invention employing only randomisation of the security matrix enable security of the system to be controlled, by suitable choice of parameters K, N, and minimum keyword length L, further enhancement can be attained through use of additional User Preference Data. In particular, the user may (and may be required to) specify one or more additional computational, combinatorial or other transformational methods, to be applied to the code values in the security matrix in order to derive the One-Time Code  12 . Since such a method is a further shared secret, known only to the user, and to the security system  30 , it renders the information gather by the eavesdropper, as described in the foregoing analysis, effectively worthless. As a practical matter, if Eve does not know the additional transformational method(s) selected by the user, she needs to replicate the observation attack for all possible methods to have any chance of obtaining Alice&#39;s keyword. Since the set of all methods may be made arbitrarily large, there is no limit on the level of security against observation that may be implemented by embodiments of the invention. 
     A number of exemplary transformational methods will now be described. 
     The example in  FIG. 3  shows a Security Matrix  31 , the user preference data  40  and the user Keyword  41 . The User  10  uses his keyword and User Preferences data  40  to generate the One-Time Code  12 . 
     In this example, the User  10  prefers:
         (a) The Security matrix  31  be displayed Alphabetically; and   (b) To add 1 to the displayed number that corresponds to the keyword letters       

     Obtaining the matrix value for each character of the Keyword yields 17572. Adding an offset of +1 to the matrix result gives 28683 as the One-Time Code  12 . 
     The example in  FIG. 4  shows a Security Matrix  31 , the user preferences  40  and the user Keyword  41 . The User  10  uses his keyword and User Preferences  40  to generate the One-Time Code  12 . 
     In this example, the User  10  prefers:
         (a) The Security matrix  31  be displayed in Random order;   (b) To add 1 to the number displayed against the keyword letters; and   (c) To add an extra 3 to the first keyword letter, and extra 6 to the second keyword letter and so on.       

     Obtaining the matrix value for each character of the key word yields 28672. Adding a +1 offset yields 39783. Adding a +3 crawl yields 65608, which is the One-Time Code. Note that in the example addition is modulo ten but can be any modulo addition. 
     The example in  FIG. 5  shows a Security Matrix  31 , the user preferences  40  and the user Keyword  41 . The User  10  uses his keyword and User Preferences  40  to generate the One-Time Code  12 . 
     In this example, the User  10  prefers:
         (a) The Security matrix  31  be displayed in Random order;   (b) To add 2 to the first keyword letter, 4, to the second keyword letter and so on; and   (c) The second and fourth numbers to be any number the user wishes in this example, a valid One-Time Code response is
           a. 41215   b. 42225   c. 43235   d. 41235   e. 49285   f. and so on—only the first, third and fifth numbers are relevant.   
               

     Obtaining the matrix value for each character of the key word yields 2#8#9. Adding a +2 crawl gives 4#2#5, which is the One-Time Code. Note again that addition is module  10 . 
     The example in  FIG. 6  shows a Security Matrix  31 , the user preferences  40  and the user Keyword  41 . The User  10  uses his keyword and User Preferences  40  to generate the One-Time Code  12 . 
     In this example, the User  10  prefers:
         (a) The Security matrix  31  be displayed in Random order;   (b) To add 1 to the first keyword letter, subtract 1 from the second keyword letter, add 1 to the third keyword letter and so on.       

     Obtaining the matrix value for each character of the key word yields 98428. Adding a +1 jump gives 07519, which is the One-Time Code. Again, addition or subtraction is modulo  10 . 
     In  FIG. 7A , an internally hosted Security System  30  is utilized by a Secure System  20  to validate users  60  that are logging onto it through a Local Network  70  to which the user is connected either by wire or wirelessly via wireless transceiver  72 . 
     Step  1 : User accesses Secure System logon portal—only requested to supply User ID, which could be an email address, in accordance with  82  and  84  of  FIG. 7B . 
     Step  2 : User enters User ID, as in  84  of  FIG. 7B . 
     Step  3 : Secure System sends User ID and System ID to Security System, which performs validation and returns a Security Matrix  31  as in  86  of  FIG. 7B , which is then displayed by the Secure System  20  back to the User  60 . 
     Step  4 : User enters One-Time Code  12  and logs in as normal, as in  86  of  FIG. 7B . Secure System  20  sends One-Time Code  12 , User ID, and System ID to Security System  30 , which validates the code and provides a Session ID to the Secure System  20  if it is valid. 
     In  FIG. 8 , an internally hosted Security System  30  is utilized by a Secure System  20  to validate users  60  that are logging onto it through the Internet  90 , say through modem  96 . 
     Remote User accesses Secure System logon portal—only requested to supply User ID, which could be an email address, in accordance with  82  and  84  of  FIG. 7B . 
     Step  2 : User enters User ID, as in  84  of  FIG. 7B . 
     Step  3 : Secure System sends User ID and System ID to Security System  30 , which performs validation and returns a Security Matrix  31 , which is then displayed by the Secure System  20  back to the User  60 . 
     Step  4 : User enters One-Time Code and logs in as normal as, in  86  of  FIG. 7B . Secure System  20  sends One-Time Code  12 , User ID, and System ID to Security System  30 , which validates the code and provides a Session ID to the Secure System  20  if it is valid. 
     In  FIG. 9 , a publicly hosted Security System  30  is utilized by a Secure System  20  to validate users  60  that are logging onto it through the Internet  90 . In this configuration, a single Security System  30  can service multiple Secure Systems  20 , allowing Users  60  to have one keyword for all registered systems. As before, remote users  60  connect through a modem  96  to the Internet  90 . 
     Step  1 : Remote User  60  accesses Secure System  20  logon portal—only requested to supply User ID, which could be an email address, in accordance with  82  and  84  of  FIG. 7B . 
     Step  2 : User  60  enters User ID, as in  84  of  FIG. 7B . 
     Step  3 : Secure System  20  sends User ID and System ID to Security System  30 , which performs validation and returns a Security Matrix  31 , which is then displayed by the Secure System  20  back to the User  60 . 
     Step  4 : User  60  enters One-Time Code and logs in as normal. Secure System  20  sends One-Time Code, User ID, and System ID to Security System  30 , which validates the code and provides a Session ID to the Secure System  20  if it is valid. 
     In  FIG. 10 , an internal security system  30  is configured to service a financial institution across its entire business, effectively replacing standard authentication systems such as passwords and PIN numbers for debit and credit systems at the counter, ATM (Automated Teller Machine), merchant sale or Internet. The example above shows:
         (a) Internet banking via the internet   (b) Other internet services such as shares or foreign exchange   (c) ATMs   (d) Points of sale   (e) Customer Service PC   (f) Office PCs.       

     The above systems are described below. 
     Internet Banking Via the Internet 
     If a user logs onto the bank&#39;s Internet portal  90  as normal, however the logon process only requests that the user&#39;s User ID be submitted, in accordance with  82 ,  84  in  FIG. 7B . Upon receiving the user ID, the Bank Computer  20  contacts the Security System  30  with the User&#39;s ID and the Bank&#39;s System ID. Upon validating the User ID and System ID, the Security System  30  generates a Security Matrix and returns it to the Bank Computer  20 , which then displays it to the User  110  along with a request to enter the One-Time Code, as in  86  of  FIG. 7B . Using the Security Matrix, the User works out the One-Time Code and enters it into the system. The One-Time Code is returned to the Bank Computer  20 , which then forwards the One-Time Code, User ID, and Bank System ID back to the Security System  30  where the One-Time Code is validated. If Valid, a Session ID is created and passed back to the Bank Computer  20 , which is then passed back to the Internet Application  110  to form part of all subsequent requests made to the Bank Computer  20 . 
     Other Internet Services Such as Shares or Foreign Exchange 
     A user logs onto the bank&#39;s internet portal as normal, however the logon process only requests that the user&#39;s User ID be submitted, in accordance with  82 ,  84  in  FIG. 7B . Upon receiving the user ID, the Bank Computer  20  contacts the Security System  30  with the User&#39;s ID and the Bank&#39;s System ID. Upon validating the User ID and System ID, the Security System  30  generates a Security Matrix and returns it to the Bank Computer  20 , which then displays the matrix to the User  112  along with a request to enter the One-Time Code. Using the Security Matrix, the User  112  works out the One-Time Code and enters it into the system. The One-Time Code is returned to the Bank Computer  20 , which then forwards the One-Time Code, User ID, and Bank System ID back to the Security System  30  where the One-Time Code is validated. If Valid, a Session ID is created and passed back to the Bank Computer  20  which is then passed back to the Internet Application  112  and forms part of all subsequent requests made to the Bank Computer  20 . 
     ATMs 
     A user inserts an ATM or Credit Card into the bank&#39;s ATM  102   a ,  102   b  as normal upon which the ATM transmits the user ID and any other pertinent information to the Bank Computer  20  via the Bank ATM network  116 . The Bank Computer  20  then contacts the Security System  30  with the User ID and the Bank&#39;s System ID. Upon validating the User ID and System ID, the Security System  30  generates a Security Matrix and returns it to the Bank Computer  20 , which then returns the matrix to the ATM  102   a ,  102   b  to be displayed to the User. Using the Security Matrix, the User  102   a ,  102   b  works out the One-Time Code and enters it into the ATM keypad. The One-Time Code is returned via the Bank ATM network  116  to the Bank Computer  20 , which then forwards the One-Time Code, User ID, and Bank System ID back to the Security System  30  where the One-Time Code is validated. If Valid, a Session ID is created and passed back to the Bank System  20  to form part of all subsequent requests made to the Bank Computer  20 . 
     Point of Sale 
     A user enters/swipes an ATM or Credit Card into the vendor&#39;s point of sale device  104  and the sale price is entered by the vendor as normal and information is sent back to the Bank Computer  20  via the Bank Credit Card Network  114 . The Bank Computer  20  then contacts the Security System  30  with the User ID and the Bank&#39;s System ID. Upon validating the User ID and System ID, the Security System  30  generates a Security Matrix and returns it to the Bank Computer  20 , which then returns it to the point of sale device  104  to be either displayed on the screen if it is capable or printed on the paper receipt. Using the Security Matrix, the User works out the One-Time Code and enters it into the point of sale keypad  104 . The One-Time Code is returned to the Bank Computer  20 , which then forwards the One-Time Code, User ID and Bank System ID back to the Security System  30  where the One-Time Code is validated. If Valid, a Session ID is created and passed back to the Bank System  20  which then processes the rest of the transaction as normal. 
     Customer Service PC 
     Upon approaching a customer service point within a Branch of the Bank, the User identifies himself using Banking Cards or any other valid identification method that allows the Customer Service Representative to identify the user&#39;s User ID and enter it into the Customer Service Portal  108 . The Customer Service PC  108  sends the User ID to the Bank&#39;s Computer  20 . The Bank Computer  20  then contacts the Security System  30  with the User ID and the Bank&#39;s System ID. Upon validating the User ID and System ID, the Security System  30  generates a Security Matrix and returns it to the Bank Computer  20 , which then returns it to the Customer Service PC  108  to be displayed to the User. Using the input device provided, the User works out the One-Time Code and enters it in the Customer Service PC  108 . The One-Time Code is returned to the Bank Computer  20 , which then forwards the One-Time Code, User ID, and Bank System ID back to the Security System  30  where the One-Time Code is validated. If Valid, a Session ID is created and passed back to the Bank System  20 , which is then passed back to the Customer Service PC  108  to form part of all subsequent requests made to the Bank Computer. 
     Office PCs 
     A user logs onto the corporate network by logging in through the normal portal  106 , however the logon process only asks for the user&#39;s user ID to be submitted. Upon submitting the user ID, the Bank Computer contacts the Security System  30  with the User&#39;s ID and the Bank&#39;s System ID. Upon validating the User ID and System ID, the Security System  30  generates a Security Matrix and returns it to the Bank Computer  20 , which then displays it to the User along with a request to enter the One-Time Code. Using the Security Matrix the User works out the One-Time Code and enters it into the Office PC system  106 . The One-Time Code is returned to the Bank Computer  20 , which then forwards the One-Time Code, User ID, and Bank System ID back to the Security System  30  where the One-Time Code is validated. If Valid, a Session ID is created and passed back to the Bank Computer  20  which then passes it back to the Office PC  106  to form part of all subsequent requests made to the Bank Computer  20 . 
     User Panic Support 
     In one embodiment, the security system is further enhanced to allow for panic support. In this embodiment, a user or the system owner uses a particular prefix number or an alternative keyword instead of the normal keyword to form the one-time code from the security matrix. When the Security System  30  validates the one-time code and determines that the alternative keyword was used, it triggers a panic alert that is passed onto the Secure System  20 . This provides an opportunity for the Secure System  20  to respond in a manner which protects the person under duress, e.g., by showing a significantly reduced available balance for internet or ATM systems  102   a ,  102   b , or reporting to security while providing “sandboxed” access to a business system. 
       FIG. 11  shows Message Structure Definitions. The messages are Authentication Request Message  11 , One-Time Code Message, Security Matrix Message  31 , Authentication Result Message  32 , and the Success Message  33 . The Authentication Request Message  11  includes the Unique User ID, and in some embodiments, the ID of the system requesting Authentication. The One-Time Code message includes the Unique User ID, and in some embodiments, the ID of the system Requesting Authentication, and the One-Time Code as entered by the user. The Security Matrix Message  31  includes the collection of Key, Value pairs composed in accordance with the Secure System Preferences  50 . The Authentication Result Message  32  includes in some embodiments the Session ID, a success indication or an error indication. The Success Message  33  includes a Unique User ID and in some embodiments the ID of the system validated against and the Session ID. 
       FIG. 12  shows User Preferences. The user preferences include an order parameter, an offset parameter, a crawl parameter, a jump parameter, and a mask parameter. According to the order parameter, a linear abstraction means that the Matrix has the key letters presented in linear order from A to Z and from 0 to 9. A random abstraction means that the Matrix has the key letters presented in a randomized order. 
     The offset parameter specifies either a positive offset or a negative offset. With a positive offset, a positive amount is added to each Value associated with the Key. Addition is modulo  10  and letters are modulo  26 , so that Z+1=A. With a negative offset, a negative amount is added to each Value assocated with a Key. Addition is modulo  10  for numbers and modulo  26  for letters. 
     The Crawl parameter specifies either a positive increment or a negative increment. A positive increment means that a positive specified amount is added to a Value associated with a Key and then incremented by the specified amount for the next addition. A negative increment means that a negative specified amount is added to a Value associated with a Key and then incremented by the specified amount for the next addition. Again, addition is module  10  for numbers and modulo  26  for letters. 
     The Jump parameter specifies either an odd or even amount for a jump. If Odd is specified, then a specified amount is added to every Value associated with a Key at an odd index of the Keyword and subtracted from every Value located at an even index of the Keyword. If Even is specified, then a specified amount is subtracted from every Value associated with a Key at an odd index and added to every Value located at an even index of the Keyword. Addition or subtraction is modulo  10  for numbers and modulo  26  for letters. 
     The Mask parameter specifies that a specified character at one or more indices in the Keyword is not to be altered by an other Parameter. Additionally, the hash mark (#) at a location in the Keyword represents a wildcard match at which the user can enter any number or symbol in that location. 
     The Randomizer can be either a letter or a word having the same number of letters as the Keyword. If the Randomizer is a letter, its numerical value from the matrix is added modulo  10  to each numerical value of the Keyword. If the Randomizer is a word, then the value of each letter in the Randomizer word is added to the corresponding letter in the keyword modulo  10 . 
       FIG. 13  shows Secure System Preferences. These preferences specify a Return Format, a Key Scope and a Value Scope. The Return Format can be either XML, HTML, an Image, or CSV text. The Key Scope specifies that the Security System should build the Security Matrix Keys using the specified characters. The Value Scope specifies that the Security System should build the Security Matrix Values using the specified characters. 
       FIG. 14  shows a flow chart of an embodiment of the present invention. The flow chart describes the steps that the client interface, the secure system, and the security system take to authenticate a user requesting access to the secure system. In step  150 , the user provides a keyword and his user preferences to the Security System, which receives these items in step  152 , and saves them in persistent storage. 
     In step  154 , the user makes an authorization request at a Client Interface, which, in step  156 , sends the request to the Secure System. In step  158 , the Secure System receives the Authentication Request and forwards it along with the System ID to the Security System, which receives the Authentication Request in step  160 . The Security System then generates the Security Matrix in step  162  and send the Matrix to the Secure System in step  164   a  or  164   b . In Step  164   a , the Secure System forwards the Matrix to the Client Interface, which receives the Matrix in step  166 . In step  164   b , the Secure System builds a custom representation of the Security Matrix and sends it to the Client Interface, which receives it in step  166 . 
     In step  166 , the User also creates the One-Time Code using the Security Matrix, the User Keyword, and the Uer Preferences and enters the One-Time Code into the Client Interface in step  168 . The Client Interface then sends the One-Time Code to the Secure System in step  170 , which receives the One-Time Code in step  172  and forwards it, along with the User ID and System ID, to the Security System, which receives it in step  174 . In step  174 , the Security System validates the One-Time Code using the Security Matrix it previously sent, the User Keyword, and the User Preferences. In step  176 , the Security System sends the results of its Authentication to the Secure System, along with a Session ID, if the Authentication Result was successful. In step  178 , the Secure System forwards the Result to the Client Interface. Separately, in step  182 , the Security System sends a success or fail message to the Secure System, which receives the message in step  184 . 
       FIG. 15  shows a flow chart of an embodiment for generating and sending the one-time code. In step  190 , the Security Matrix is displayed on the Client Interface. The Matrix can be in either Alphabetic or Random Order as specified by the User Preferences. In step  192 , the user creates a One-Time Code using the Keyword, the Security Matrix, and the User Preferences, which specify whether Offsets, Crawls, Jumps and Masks, or any combination thereof should be used to form the One-Time Code. In step  194 , the user inputs the One-Time Code into the Client Interface so that it can be transferred to the Secure System. 
     Although the present invention has been described in considerable detail with reference to certain preferred versions thereof, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein. 
     
       
         
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                   
                   
                   
                   
                 k 
               
             
          
           
               
                 K 
                 N 
                 r 
                 p 
                 1 
                 2 
                 3 
                 4 
                 5 
               
               
                   
               
             
          
           
               
                 26 
                 10 
                 3 
                 0.100000  
                 0.896679 
                 0.099631 
                 0.003690 
                 0.000000 
                 0.000000 
               
               
                 26 
                 9 
                 3 
                 0.111111  
                 0.884793 
                 0.110599 
                 0.004608 
                 0.000000 
                 0.000000 
               
               
                 26 
                 8 
                 4 
                 0.125000  
                 0.809440 
                 0.173451 
                 0.016519 
                 0.000590 
                 0.000000 
               
               
                 26 
                 7 
                 4 
                 0.142857  
                 0.781900 
                 0.195475 
                 0.021719 
                 0.000905 
                 0.000000 
               
               
                 26 
                 6 
                 5 
                 0.166667  
                 0.671899 
                 0.268759 
                 0.053752 
                 0.005375 
                 0.000215 
               
               
                 26 
                 5 
                 6 
                 0.200000  
                 0.532917 
                 0.333073 
                 0.111024 
                 0.020817 
                 0.002082 
               
               
                 26 
                 4 
                 7 
                 0.250000  
                 0.359442 
                 0.359442 
                 0.199690 
                 0.066563 
                 0.013313 
               
               
                 26 
                 3 
                 9 
                 0.333333  
                 0.120182 
                 0.240363 
                 0.280424 
                 0.210318 
                 0.105159 
               
               
                 26 
                 2  
                 13 
                 0.500000  
                 0.001587 
                 0.009523 
                 0.034916 
                 0.087291 
                 0.157124 
               
               
                 32 
                 10 
                 4 
                 0.100000  
                 0.847921 
                 0.141320 
                 0.010468 
                 0.000291 
                 0.000000 
               
               
                 32 
                 9 
                 4 
                 0.111111  
                 0.830832 
                 0.155781 
                 0.012982 
                 0.000406 
                 0.000000 
               
               
                 32 
                 8 
                 4 
                 0.125000  
                 0.809440 
                 0.173451 
                 0.016519 
                 0.000590 
                 0.000000 
               
               
                 32 
                 7 
                 5 
                 0.142857  
                 0.717529 
                 0.239176 
                 0.039863 
                 0.003322 
                 0.000111 
               
               
                 32 
                 6 
                 6 
                 0.166667  
                 0.604234 
                 0.302117 
                 0.080565 
                 0.012085 
                 0.000967 
               
               
                 32 
                 5 
                 7 
                 0.200000  
                 0.464392 
                 0.348294 
                 0.145122 
                 0.036281 
                 0.005442 
               
               
                 32 
                 4 
                 8 
                 0.250000  
                 0.296668 
                 0.346113 
                 0.230742 
                 0.096142 
                 0.025638 
               
               
                 32 
                 3  
                 11 
                 0.333333  
                 0.064329 
                 0.160823 
                 0.241235 
                 0.241235 
                 0.168864 
               
               
                 32 
                 2  
                 16 
                 0.500000  
                 0.000244 
                 0.001831 
                 0.008545 
                 0.027771 
                 0.066651 
               
               
                 48 
                 10 
                 5 
                 0.100000  
                 0.801079 
                 0.178018 
                 0.019780 
                 0.001099 
                 0.000024 
               
               
                 48 
                 9 
                 6 
                 0.111111  
                 0.730079 
                 0.228150 
                 0.038025 
                 0.003565 
                 0.000178 
               
               
                 48 
                 8 
                 6 
                 0.125000  
                 0.697893 
                 0.249247 
                 0.047476 
                 0.005087 
                 0.000291 
               
               
                 48 
                 7 
                 7 
                 0.142857  
                 0.600787 
                 0.300393 
                 0.083443 
                 0.013907 
                 0.001391 
               
               
                 48 
                 6 
                 8 
                 0.166667  
                 0.484875 
                 0.339413 
                 0.135765 
                 0.033941 
                 0.005431 
               
               
                 48 
                 5  
                 10 
                 0.200000  
                 0.300726 
                 0.338316 
                 0.225544 
                 0.098676 
                 0.029603 
               
               
                 48 
                 4  
                 12 
                 0.250000  
                 0.130850 
                 0.239892 
                 0.266547 
                 0.199910 
                 0.106619 
               
               
                 48 
                 3  
                 16 
                 0.333333  
                 0.012198 
                 0.045743 
                 0.106733 
                 0.173441 
                 0.208130 
               
               
                 48 
                 2  
                 24 
                 0.500000  
                 0.000001 
                 0.000016 
                 0.000121 
                 0.000633 
                 0.002533 
               
               
                 64 
                 16 
                 4 
                 0.062500  
                 0.905372 
                 0.090537 
                 0.004024 
                 0.000067 
                 0.000000 
               
               
                 64 
                 15 
                 5 
                 0.066667  
                 0.866979 
                 0.123854 
                 0.008847 
                 0.000316 
                 0.000005 
               
               
                 64 
                 14 
                 5 
                 0.071429  
                 0.857528 
                 0.131927 
                 0.010148 
                 0.000390 
                 0.000006 
               
               
                 64 
                 13 
                 5 
                 0.076923  
                 0.846637 
                 0.141106 
                 0.011759 
                 0.000490 
                 0.000008 
               
               
                 64 
                 12 
                 6 
                 0.083333  
                 0.795691 
                 0.180839 
                 0.021920 
                 0.001495 
                 0.000054 
               
               
                 64 
                 11 
                 6 
                 0.090909  
                 0.777644 
                 0.194411 
                 0.025921 
                 0.001944 
                 0.000078 
               
               
                 64 
                 10 
                 7 
                 0.100000  
                 0.713066 
                 0.237689 
                 0.044016 
                 0.004891 
                 0.000326 
               
               
                 64 
                 9 
                 8 
                 0.111111  
                 0.638657 
                 0.279413 
                 0.069853 
                 0.010915 
                 0.001091 
               
               
                 64 
                 8 
                 8 
                 0.125000  
                 0.598265 
                 0.299133 
                 0.085466 
                 0.015262 
                 0.001744 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
               
               
               
               
               
               
               
               
               
             
           
               
                 TABLE 2 
               
             
             
               
                   
               
               
                   
                   
                   
                   
                 Keyword Length, L 
               
             
          
           
               
                 K 
                 N 
                 r 
                 p 
                 4 
                 6 
                 8 
                 10 
                 12 
               
               
                   
               
             
          
           
               
                 26 
                 10 
                 3 
                 0.100000 
                 0.646469  
                 0.519783 
                 0.417923 
                 0.336024  
                 0.270174 
               
               
                 26 
                 9 
                 3 
                 0.111111 
                 0.612867  
                 0.479788 
                 0.375606 
                 0.294046  
                 0.230196 
               
               
                 26 
                 8 
                 4 
                 0.125000 
                 0.429277  
                 0.281259 
                 0.184279 
                 0.120738  
                 0.079107 
               
               
                 26 
                 7 
                 4 
                 0.142857 
                 0.373771  
                 0.228512 
                 0.139705 
                 0.085411  
                 0.052218 
               
               
                 26 
                 6 
                 5 
                 0.166667 
                 0.203805  
                 0.092007 
                 0.041536 
                 0.018752  
                 0.008465 
               
               
                 26 
                 5 
                 6 
                 0.200000 
                 0.080656  
                 0.022906 
                 0.006505 
                 0.001848  
                 0.000525 
               
               
                 26 
                 4 
                 7 
                 0.250000 
                 0.016692  
                 0.002157 
                 0.000279 
                 0.000036  
                 0.000005 
               
               
                 26 
                 3 
                 9 
                 0.333333 
                 0.000209  
                 0.000003 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 26 
                 2 
                 13 
                 0.500000 
                 0.000000  
                 0.000000 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 32 
                 10 
                 4 
                 0.100000 
                 0.516918  
                 0.371648 
                 0.267204 
                 0.192112  
                 0.138122 
               
               
                 32 
                 9 
                 4 
                 0.111111 
                 0.476488  
                 0.328911 
                 0.227041 
                 0.156722  
                 0.108182 
               
               
                 32 
                 8 
                 4 
                 0.125000 
                 0.429277  
                 0.281259 
                 0.184279 
                 0.120738  
                 0.079107 
               
               
                 32 
                 7 
                 5 
                 0.142857 
                 0.265068  
                 0.136469 
                 0.070261 
                 0.036174  
                 0.018624 
               
               
                 32 
                 6 
                 6 
                 0.166667 
                 0.133297  
                 0.048667 
                 0.017768 
                 0.006487  
                 0.002368 
               
               
                 32 
                 5 
                 7 
                 0.200000 
                 0.046509  
                 0.010030 
                 0.002163 
                 0.000466  
                 0.000101 
               
               
                 32 
                 4 
                 8 
                 0.250000 
                 0.007746  
                 0.000682 
                 0.000060 
                 0.000005  
                 0.000000 
               
               
                 32 
                 3 
                 11 
                 0.333333 
                 0.000017  
                 0.000000 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 32 
                 2 
                 16 
                 0.500000 
                 0.000000  
                 0.000000 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 48 
                 10 
                 5 
                 0.100000 
                 0.411815  
                 0.264273 
                 0.169592 
                 0.108832  
                 0.069840 
               
               
                 48 
                 9 
                 6 
                 0.111111 
                 0.284105  
                 0.151432 
                 0.080716 
                 0.043023  
                 0.022932 
               
               
                 48 
                 8 
                 6 
                 0.125000 
                 0.237222  
                 0.115540 
                 0.056274 
                 0.027409  
                 0.013349 
               
               
                 48 
                 7 
                 7 
                 0.142857 
                 0.130281  
                 0.047024 
                 0.016973 
                 0.006126  
                 0.002211 
               
               
                 48 
                 6 
                 8 
                 0.166667 
                 0.055274  
                 0.012995 
                 0.003055 
                 0.000718  
                 0.000169 
               
               
                 48 
                 5 
                 10 
                 0.200000 
                 0.008179  
                 0.000740 
                 0.000067 
                 0.000006  
                 0.000001 
               
               
                 48 
                 4 
                 12 
                 0.250000 
                 0.000293  
                 0.000005 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 48 
                 3 
                 16 
                 0.333333 
                 0.000000  
                 0.000000 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 48 
                 2 
                 24 
                 0.500000 
                 0.000000  
                 0.000000 
                 0.000000 
                 0.000000  
                 0.000000 
               
               
                 64 
                 16 
                 4 
                 0.062500 
                 0.671905  
                 0.550759 
                 0.451457 
                 0.370058  
                 0.303336 
               
               
                 64 
                 15 
                 5 
                 0.066667 
                 0.564981  
                 0.424669 
                 0.319203 
                 0.239930  
                 0.180344 
               
               
                 64 
                 14 
                 5 
                 0.071429 
                 0.540746  
                 0.397640 
                 0.292406 
                 0.215022  
                 0.158117 
               
               
                 64 
                 13 
                 5 
                 0.076923 
                 0.513794  
                 0.368284 
                 0.263984 
                 0.189222  
                 0.135633 
               
               
                 64 
                 12 
                 6 
                 0.083333 
                 0.400847  
                 0.253786 
                 0.160678 
                 0.101730  
                 0.064407 
               
               
                 64 
                 11 
                 6 
                 0.090909 
                 0.365699  
                 0.221149 
                 0.133736 
                 0.080874  
                 0.048907 
               
               
                 64 
                 10 
                 7 
                 0.100000 
                 0.258535  
                 0.131455 
                 0.066840 
                 0.033986  
                 0.017280 
               
               
                 64 
                 9 
                 8 
                 0.111111 
                 0.166369  
                 0.067859 
                 0.027679 
                 0.011290  
                 0.004605 
               
               
                 64 
                 8 
                 8 
                 0.125000 
                 0.128108  
                 0.045852 
                 0.016412 
                 0.005874  
                 0.002102 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
               
               
             
               
               
               
               
               
               
             
               
               
               
               
             
           
               
                 TABLE 3 
               
               
                   
               
             
             
               
                   
                   
                   
                 k 
               
             
          
           
               
                 K 
                 N 
                 r 
                 1 
                 2 
                 3 
               
               
                   
               
               
                 26 
                 10 
                 3 
                 0.896679 
                 0.099631 
                 0.003690 
               
               
                 26 
                 10 
                 2 
                 0.884793 
                 0.110599 
                 0.004608 
               
               
                 26 
                 10 
                 1 
                 0.809440 
                 0.173451 
                 0.016519 
               
               
                   
               
             
          
           
               
                 No. of observations  
                 Probability 
                   
                   
               
               
                   
               
               
                 1 
                 0.896679 
                   
                   
               
               
                 2 
                 0.091462 
                   
                   
               
               
                 3 
                 0.010087 
                   
                   
               
               
                 &gt;3 
                 0.001772 
                   
                   
               
               
                 Approx. average: 
                 1.109863 
                   
                   
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
               
             
               
               
               
             
           
               
                 TABLE 4 
               
               
                   
               
               
                   
                   
                 “FOM” 
               
               
                 K 
                 N 
                 (x1e-5) 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 26 
                 10 
                 6.464693 
               
               
                 26 
                 9 
                 9.341055 
               
               
                 26 
                 8 
                 10.480396 
               
               
                 26 
                 7 
                 15.567314 
               
               
                 26 
                 6 
                 15.725691 
               
               
                 26 
                 5 
                 12.905007 
               
               
                 26 
                 4 
                 6.520426 
               
               
                 26 
                 3 
                 0.257553 
               
               
                 26 
                 2 
                 0.000000 
               
               
                 32 
                 10 
                 5.169177 
               
               
                 32 
                 9 
                 7.262432 
               
               
                 32 
                 8 
                 10.480396 
               
               
                 32 
                 7 
                 11.039884 
               
               
                 32 
                 6 
                 10.285301 
               
               
                 32 
                 5 
                 7.441445 
               
               
                 32 
                 4 
                 3.025822 
               
               
                 32 
                 3 
                 0.021142 
               
               
                 32 
                 2 
                 0.000000 
               
               
                 48 
                 10 
                 4.118150 
               
               
                 48 
                 9 
                 4.330207 
               
               
                 48 
                 8 
                 5.791547 
               
               
                 48 
                 7 
                 5.426126 
               
               
                 48 
                 6 
                 4.264966 
               
               
                 48 
                 5 
                 1.308584 
               
               
                 48 
                 4 
                 0.114514 
               
               
                 48 
                 3 
                 0.000027 
               
               
                 48 
                 2 
                 0.000000 
               
               
                 64 
                 16 
                 1.025246 
               
               
                 64 
                 15 
                 1.116012 
               
               
                 64 
                 14 
                 1.407606 
               
               
                 64 
                 13 
                 1.798934 
               
               
                 64 
                 12 
                 1.933098 
               
               
                 64 
                 11 
                 2.497774 
               
               
                 64 
                 10 
                 2.585346 
               
               
                 64 
                 9 
                 2.535724 
               
               
                 64 
                 8 
                 3.127626