Abstract:
Authentication in a system includes presenting information to a user containing a partial sequence of a passcode along with distractors. The user is challenged to identify the partial sequence from among the information in order to gain access to the system.

Description:
BACKGROUND 
       [0001]    Authenticated access to computing devices is increasingly important for computer-based devices (such as smartphones, personal data assistants, and the like) and home computer-based devices (such as desktop and laptop computer systems, computer tablets, and so on). Authenticated access to a computing device&#39;s functionality is also becoming important. For example, a television set top box or digital video recorder (DVR) may provide various levels of media access (e.g., kids-only television channels, limited playback only or full access on a DVR, and so on). A computing device may have multiple levels of access, for example, user-mode access (e.g., limited to executing already-installed applications) or administrative access (e.g., full access to the computing device; including installing, configuring or removing applications). A computing device may allow multiple users with different user-mode access rights (e.g., a user Alice might be able to make and receive phone calls since she is the primary device owner, but users Jonathon and Oliver may only be able to play games without any network access since they are secondary, underage device users). 
         [0002]    Conventional passcode entry systems include using a personal identification number (PIN) as the authentication technique. However, finger oil accumulation on a keypad over time may simplify an attacker&#39;s attempts to break a PIN-based security system. Another system uses a connect-the-dots strategy, where the user is presented with a set of images on a touch screen and is challenged to select a pattern of images to authenticate. Again, an attacker may use finger oil accumulation on the touch screen to increase their chances of breaking the security. 
         [0003]    Another security risk is the notion of “shoulder surfing”. Here, an attacker may simply be an onlooker from behind the user who is entering their passcode into the system. The attacker may simply see the unlock sequence and thus learn the PIN or pattern. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]      FIG. 1  is a high level system diagram of an embodiment illustrating authentication in accordance with the present disclosure. 
           [0005]      FIG. 1A  is a high level system diagram illustrating authentication in accordance another embodiment. 
           [0006]      FIG. 2  illustrates passcode generation in accordance with the present disclosure. 
           [0007]      FIG. 3  illustrates a workflow for passcode generation in accordance with the present disclosure. 
           [0008]      FIG. 4  illustrates a logical representation of a presentation of a challenge in accordance with the present disclosure. 
           [0009]      FIG. 5  illustrates a workflow for a challenge/response sequence. 
           [0010]      FIGS. 6A and 6B  illustrate examples of a login screen. 
           [0011]      FIG. 6C  illustrates an example of a challenge screen. 
           [0012]      FIG. 6D  illustrates additional aspects of a challenge screen. 
           [0013]      FIG. 7  is a high level block diagram illustrating a specific embodiment for authentication in accordance with the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    In accordance with the present disclosure, an authentication method may include presenting information relating to a portion of a passcode to a user who is requesting computer access; e.g., to logon on to the computer, to access certain functionality on the computer and the like. The information that is presented may include distractor information that is not part of the passcode. Access may be granted when the user selects only the portion of the passcode from among the presented information. 
         [0015]    In accordance with the present disclosure, a computer system may include program code that causes a processor to display images on a video display in response to receiving a request for access to the computer system. The images represent portions of a passcode along with distractor information that is not part of the passcode. The computer system may grant the user access when the user selects only portions of the passcode from among the images displayed on the video display. 
         [0016]    In accordance with the present disclosure, an authentication method may include presenting to a user a challenge that comprises first and second information. The first information represents only a portion of a passcode, while the second information does not represent any portion of the passcode. A successful response occurs when the user selects only the first information from among the first and second information that is presented to the user. 
         [0017]    These and other embodiments and aspects of the present disclosure will now be described in connection with the accompanying figures. 
         [0018]    In some embodiments, such as illustrated in  FIG. 1 , an authentication system may comprise a passcode generator  102 , a passcode datastore  104 , an authenticator  106 , and a computing device  108 . The passcode generator  102  may provide services to allow a user to provide a passcode, randomly generate a passcode, change their passcode, and the like. These services may be collectively referred to as passcode generation. The passcode datastore  104  may store passcodes provided to, randomly generated by, or changed within the passcode generator  102 . In some embodiments, the passcode datastore  104  may store a passcode source set (S)  112 . The passcode source set (S)  112  may be generated by the authentication system. For example, the passcode source set (S)  112  may comprise a set of randomly generated images, geometric patterns, and so on. In some embodiments, a user may supply their own passcode source set (S)  112 . For example, the user may provide a set of pictures of their friends, or their own collection of symbols or images, and so on. 
         [0019]    As will be explained below, the passcode source set (S)  112  may provide data to the passcode generator  102  for randomly generating passcodes and for confining provided or changed passcodes to only use segments from the passcode source set (S)  112 . In some embodiments, the passcode data store  104  may store the passcode source set (S)  112  and passcodes generated by the passcode generator  102 . In other embodiments, the passcode source set (S)  112  may be stored in a data store different from the passcodes generated by the passcode generator  102 . In still other embodiments, passcodes generated by the passcode generator  102  may be stored in one or more different data stores. 
         [0020]    The authenticator  106  may provide authentication services to grant or deny a user access to the computing device  108 . In accordance with the present disclosure, the authenticator  106  may access the passcode data store  104  to use the passcode source set (S)  112  and a previously generated stored passcode to perform the authentication. In some embodiments, a user may directly access the authenticator  106  as depicted in  FIG. 1 . In other embodiments, the user may initiate access to the computing device  108  at the computing device, such as illustrated in  FIG. 1A . The computing device  108  may communicate with the authenticator  106  to determine whether to grant or deny access to the user. 
         [0021]    In some embodiments, the passcode generator  102 , the passcode data store  104 , the authenticator  106 , and the computing device  108  may be hardware and/or software elements that are integrated in a single device; e.g., smartphone, desktop computer, STB, DVR, etc. In other embodiments, the passcode generator  102 , the passcode data store  104 , the authenticator  106 , and the computing device  108  may be distributed among multiple separate computer systems. For example, in a large enterprise, the passcode generator  102  may be on a server that users in the enterprise access (e.g., over a communication network). The passcode data store  104  may be included in an enterprise data server system. Several instances of the authenticator  106  may deployed throughout the enterprise, for example as servers, providing authentication services to access various resources in the enterprise. 
         [0022]    In some embodiments, the passcode data store  104  may store multiple unique passcodes. Each passcode may be related to a distinct user profile or login name. All such user profiles may be considered equal, users&#39; profiles may be grouped or tiered in some manner related to allowed functionality or one such profile may be deemed related to the primary device owner. For example, the primary device owner may be the person that bought the device or pays the bills for any related communication services. Secondary device users may be allowed by the primary device owner (as would be common in a family sharing a tablet or DVR). 
         [0023]      FIG. 2  illustrates a logical representation of the passcode source set (S)  112  in accordance with some embodiments. The passcode source set (S)  112  may comprise a set of segments  202 . The segments  202  may represent images, video clips, audio clips, printable characters, and so on. Using the passcode generator  102 , a user may select a subset (N)  204  from the passcode source set (S)  112 . The subset (N)  204  may constitute a passcode. Segments  206  which constitute the passcode  204  may be referred to as passcode segments. In some embodiments, the passcode  204  is an ordered set; i.e., the passcode segments  206  have an order. Thus, for example, the passcode  204  example shown in  FIG. 2  comprises the passcode segments A, C, G, and H. The passcode segments A, C, G, and H, which define the passcode  204 , are further defined with an order, namely H, A, C, and G. 
         [0024]      FIG. 3  shows a workflow for passcode generator  102 , in accordance with some embodiments. At block  302 , the passcode generator  102  may access the passcode source set (S)  112  (e.g., from passcode data store  104 ) and present the passcode source set to the user, for example, on a display device. The specific way by which the passcode generator  102  presents the passcode source set (S)  112  to the user may vary depending on the nature of the segments  202  in the passcode source set (S). For example, if the passcode source set (S)  112  comprises alphanumeric characters, the passcode generator  102  may simply instruct the user to enter a passcode that contains only letters or digits, for example on their keyboard. If the passcode source set (S)  112  comprises images, the passcode generator  102  may display the images on the display device and provide a scroll bar to allow the user to scroll through a list of images. If the passcode source set (S)  112  comprises audio segments, the passcode generator  102  may graphically represent each audio segment on the display device. An audio segment can be played when the user selects the corresponding graphic. 
         [0025]    In some embodiments, there may be different passcode source sets for different users, or for different purposes. For example, users in a financial department of a business may be presented with a first passcode source set “A”, while users in an engineering department may be presented with a different passcode source set “B”. Depending on the user, the passcode generator  102  may access and present a passcode source set (S)  112  that is associated with that user. 
         [0026]    In some embodiments, there may be different passcode source sets for different functions. For example, installing software on a system may be associated with one passcode source set, while logging onto the system to use existing software may be associated with another passcode source set. The passcode generator  102  may first determine the functionality or access level to be secured, and then determine an appropriate passcode source set to present to the user. 
         [0027]    At block  304 , the user may specify the segments  202  from the passcode source set (S)  112  that was presented to the user, and provide their selection of segments to the passcode generator  102  as the passcode  204 . In some embodiments, the user may specify an order to the segments  206  in the passcode  204 . For example, the order in which the user selected the segments  206  may define the ordering of the passcode segments  206  in the passcode  204 . At block  306 , the passcode generator  102  may store the passcode  204  in a suitable data store; e.g., passcode data store  104 . 
         [0028]      FIG. 4  illustrates a logical representation for setting up an authentication challenge in accordance with principles of the present disclosure when there is only one authenticated device user or multiple authenticated users with the pending authenticated user precisely known (i.e., because it was assumed correctly, requested of the pending user, or inferred by face detection scan, etc). The authentication challenge includes presenting a presentation set (P)  408  to the user. The presentation set (P)  408  may comprise a subset (M)  402  of passcode segments  206  that comprise the passcode  204 . In accordance with the present disclosure, the presentation set (P)  408  may further comprise distractor segments  406  of a distractor set (E)  404  obtained from a subset (S′)  112 ′ of the passcode source set (S)  112 . In some embodiments, the subset (S′)  112 ′ of the passcode source set (S)  112  is the difference set, S−N; i.e., the passcode source set (S)  112  minus the subset (N)  204 . The resulting presentation set (P)  408  comprises presentation segments  410  from the subset (M)  402  and the distractor set (E)  404 . 
         [0029]    In some embodiments supporting multiple authenticated users, the user may select his or her profile, the user may select his or her login name or the user may provide his or her login name before a presentation set (P)  408  is formed as above. 
         [0030]    In some embodiments supporting multiple authenticated users, a default or expected or last user may be assumed and presented along with a presentation set (P)  408  to the user. The presentation set (P)  408  is formed as above. If the pending authenticated (i.e. authenticating) device user is not listed, they may initiate the user profile or login name collection step to replace the default or expected or last user which was otherwise assumed. 
         [0031]    In some embodiments supporting multiple authenticated users sharing a common passcode source set (S)  112  (and which may be set by a primary device owner), a set of default or expected or recent users may be assumed and presented along with a presentation set (P)  408  to the user. The presentation set (P)  408  may comprise a sum of subset (M)  402  of passcode segments  206  that comprise the passcode  204  for each user in the set of default or expected or recent users. In accordance with the present disclosure, the presentation set (P)  408  may further comprise distractor segments  406  of a distractor set (E)  404  obtained from a subset (S′)  112 ′ of the passcode source set (S)  112 . In some embodiments, the subset (S′)  112 ′ of the passcode source set (S)  112  is the difference set, S−sum(N); i.e., the passcode source set (S)  112  minus the sum of subset (N)  204  for each user in the set of default or expected or recent users. The resulting presentation set (P)  408  comprises presentation segments  410  from the sum of subset (M)  402  for each user in the set of default or expected or recent users and the distractor set (E)  404 . If the pending authenticated (i.e. authenticating) device user is not listed in the set of default or expected or recent users, they may initiate the user profile or login name collection step as above to replace the default or expected or last user which was otherwise assumed. 
         [0032]      FIG. 5  shows a workflow for the authenticator  106 , in accordance with some embodiments. The authenticator  106  challenges the user by using a passcode  204  that is associated with the user in some way. The user may respond to the challenge, and if the response is successful the authenticator  106  may grant the user access to the computing device  108 . 
         [0033]    At a block  502 , the authenticator  106  may receive an access request to access the computing device  108 . Referring for a moment to  FIG. 6A , an example of an access request may be a login sequence such as depicted in display  602  (e.g., a display component of computing device  108 ).  FIG. 6B  illustrates an example of an access request that includes identifying the functionality being accessed; e.g., using a phone function of the computing device  108 . It might also be that no explicit user identity is displayed, as would be typical on certain personal mobile devices such as smartphones or early Android™ (Honeycomb-based or Ice Cream Sandwich-based) tablets. 
         [0034]    Returning to  FIG. 5 , at block  504 , the authenticator  106  may access the passcode source set (S)  112 ; e.g., from passcode data store  104 . As explained earlier, different users or different access levels or functionalities being accessed may be associated with different passcode source sets. Accordingly, the authenticator  106  may select the passcode source set (S)  112  based on the nature of the access request; e.g., who is doing the access, what functionality is the access for, and so on. 
         [0035]    At block  506 , the authenticator  106  may retrieve a passcode  204 ; e.g., from passcode data store  104 . The accessed passcode  204  will serve as the basis for challenging the user. In some embodiments, as explained above, the retrieved passcode  204  may depend on the user who is requesting access to the computing device  108 . For example, the authenticator  106  may access the user&#39;s profile information and retrieve a passcode that is contained in the profile information. Similarly, in other embodiments, the passcode  204  that is retrieved may be based on the functionality being accessed. In still other embodiments, the passcode  204  that is retrieved may be based on both the user&#39;s identification and the function being accessed. More generally, the selection of the passcode  204  may depend other factors such as time of day, the user&#39;s location, and so on. 
         [0036]    At block  508 , the authenticator  106  may select a subset (M)  402  from the retrieved passcode  204  that was accessed in block  504 . The segments in the subset (M)  402  may be randomly selected. In some embodiments, the segments in the subset (M)  402  may be selected via a scoreboard process wherein the unused segments of the retrieved passcode  204  are tracked to ensure constant changes in the selected subset (to better protect against the “shoulder surfing” attack). In other embodiments, the segments in the subset (M)  402  may be selected to exactly match the previous selection in cases where the last access was denied. 
         [0037]    In some embodiments, the number of segments in the subset (M)  402  may vary depending on the nature of the access request; e.g., who is doing the access, what functionality is the access for, etc. The number of segments in the subset (M)  402  may also vary depending on the total number of recent accesses either with or without considering the status of the recent accesses (granted or denied), the delta time since the last granted access either with or without considering any intervening denied access, or considering the notion of the device being present on a person or in his hand since the last granted access with no intervening denied access. 
         [0038]    In some embodiments, the size of the subset (M)  402  may depend on the desired level of security. For example, if a small number of segments in the subset (M)  402  is selected then an attacker trying to break the security may have an easier time at it because the small number of segments presents a smaller search space. This may be adequate for low security functionality such as making a phone call or checking one&#39;s calendar, for instance. However, higher security access (e.g., accessing a checking account) may require a larger number of segments in the subset (M)  402  to provide higher security against an event of an attack. 
         [0039]    At block  510 , in accordance with principles of the present disclosure, the authenticator  106  may identify a distractor set (E)  404  comprising one or more distractor segments  406 . The authenticator  106  may select the distractor segments  406  from the same passcode source set (S)  112  that was used to generate the passcode  204 . The distractor segments  406  may be randomly selected. In some embodiments, similar to the selection of segments in the subset (M)  402 , the distractor segments  406  may be selected via a scoreboard process, in this case, to ensure that the segments not in the passcode  204  change at a rate similar to the changes seen in the segments in the subset (M)  402 . The distractor segments  406  may be selected to exactly match the previous selection in cases where the last access was denied. The authenticator  106  may select the distractor segments  406  from the subset (S′)  112 ′, as shown in  FIG. 4 . 
         [0040]    It is worth noting that  FIG. 4  is a logical representation of the selection process, and that in a given implementation, the authenticator  106  need not actually generate the subset (S′)  112 ′. Instead, for example, the authenticator  106  may randomly select a segment  202  from the passcode source set (S)  112 . If the selected segment is a passcode segment  206  in the retrieved passcode  204  or is already in the distractor set (E)  404 , then the selected segment is discarded. Otherwise, the selected segment is added to the distractor set (E)  404 . This may continue until an appropriate number of distractor segments  406  have been selected. 
         [0041]    In some embodiments, the segments in the subset (M)  402  and the distractor segments  406  may constitute the presentation segments  410  of the presentation set  408  that the authenticator  106  presents to the user at block  512 . The authenticator  106  may present the presentation segments  410  on a visual display or as audio or both, depending on the nature of the presentation segments. In accordance with the present disclosure, the authenticator  106  may display the presentation segments  410  in a random arrangement on a visual display device, or play the presentation segments in random order on an audio device.  FIG. 6C  illustrates an example showing presentation segments  410  presented on the display  602 . In some embodiments, the presentation segments  410  may randomly arranged in a grid pattern (e.g., similar to an ATM keypad or numeric PIN unlock display of a smartphone but with graphic images or symbols associated with the presentation segments lain on the button faces), a circular pattern, or any other pattern. 
         [0042]    At block  514 , the user may respond to the challenge by inputting to the authenticator  106  their selection of one or more of the presented presentation segments  410 . For example, on a touch screen device, the user may tap one or more of the presentation segments  410  that are displayed on the touch screen device. If the display is not touch sensitive, the user may indicate their selection by clicking with a mouse. Alternatively, the displayed presentation segments  410  may include accompanying identification information (e.g., letters or numbers), which may be suitable if the presentation segments are images. The user may enter a sequence of letters or numbers that correspond to their selection of presentation segments  410 . 
         [0043]      FIG. 6D  shows examples of displays of the presentation segments  410  in accordance with some embodiments. Using the example presented in  FIG. 4 , the presentation segment  410  comprises the subset (M)  402  from the passcode  204  (namely, segments H, A, and C) and the distractor set (E)  404  (namely, segments D and F). Display  602   a  illustrates an example of a random display of the presentation segments  410 . The user may tap or mouse click one or more of the presentation segments  410  presented on the display  602   a . The display  602   a  may include a DONE button to indicate to the authenticator  106  that the user has made their selection. In some embodiments, a DONE button may not be required if the size of subset (M)  402  is fixed or if the authenticator  106  compares user-selected segments with the passcode  204  after each segment selection for a grant access condition. 
         [0044]    Display  602   b  illustrates an example of displaying the presentation segments  410  with accompanying identifying information, in this case digits. The user may enter a sequence of digits to specify their selection of presentation segments  410 . For example, if the user wishes to select the presentation segments H, D, C, in that order, the user may enter “2”, “5”, “4” on their keyboard. 
         [0045]    Returning to  FIG. 5 , if the presentation segments  410  comprise audio data, the authenticator  106  may play each of the presentation segments on the user&#39;s device. After hearing the list, the user may “speak” into their device to indicate their selection of the presentation segments  410 . Alternatively, the authenticator  106  may play each presentation segment  410  on the user&#39;s device and pause after each presentation segment to allow the user to indicate a selection, for example, by pressing a button on the device. 
         [0046]    In some embodiments, the authenticator  106  may determine the order of the user&#39;s selection of presentation segments  410 . On a visual display, the authenticator  106  may determine the order from the order of the user&#39;s taps or mouse clicks. If the user entered their selection using a keyboard, or other such input device, the authenticator  106  may determine the order from the sequence of the user&#39;s key presses. For audio-type presentation segments  410 , the order may be determined from the order of the user&#39;s spoken input. Alternatively, the authenticator  106  may play the list of presentation segments  410  several times. The first time around, the user may listen for and select the first presentation segment in their selection. The second time around, the user may listen for and select the second presentation segment in their selection, and so on until the user has completed their selection of presentation segments  410 . 
         [0047]    In some embodiments, a watermark, a set of watermarks, or other identifying marking may accompany each presentation segment  410  that is presented to the user. Referring again to  FIG. 6D , display  602   c  illustrates an example of watermarking each presentation segment  410  with a watermark  612 . The watermark may serve as a mnemonic to trigger the user&#39;s recollection as to which of the displayed presentation segments  410  belong to the passcode  204 . Thus, for example, the passcode segments C H A from the passcode  204  may have the same watermark (e.g., backslash character) so as to allow the user to identify the segments as being from the passcode  204 . The other presentation segments (i.e., the distractor segments) may have a different watermark (e.g., forward slash character). In some embodiments, the watermark display may be toggled ON and OFF (e.g., by tapping the space bar). This may allow the user to have a quick glance at the watermarks, while at the same time reducing the risk of a security breach due to shoulder surfing. 
         [0048]    In some embodiments, a set of watermarks may accompany each presentation segment  410  that is presented to the user. There is a particular watermark keyed to those segments related to the passcode  204 . This particular watermark may be selected by the user when they generate their passcode or it may be randomly assigned on a per authentication basis. Any additional watermarks are distributed to all segments of the presentation segment  410  at the same or similar density as the particular watermark keyed to those segments related to the passcode  204 . Under this arrangement, each presentation segment  410  may be covered by more than one watermark of a different kind. 
         [0049]    In some embodiments, the watermarks that are displayed with the passcode segments (e.g., C H A) may not be of the same image, but rather may share some characteristic. The watermarks that are displayed with the distractor segments would not share that characteristic. For example, each passcode segment may have a different watermark but is displayed in red; the distractor segments may use the same watermarks but in a different color. Using a characteristic to identify common watermarks may provide more security against shoulder surfing, since the shoulder surfer may not readily appreciate which of the watermarks identify passcode segments and which do not. 
         [0050]    Returning to  FIG. 5 , at block  516 , the authenticator  106  may evaluate the user&#39;s response. In accordance with the present disclosure, the evaluation may include comparing the user&#39;s selection of presentation segments  410  with the passcode  204  retrieved at block  506 . In some embodiments, if the user&#39;s selection of presentation segments  410  contains only segments that belong to the passcode  204 , then the authenticator  106  may grant access to the user via blocks  518  and  520 , otherwise access may be denied at block  522 . In other embodiments, access may be granted only if the order of the segments in the user&#39;s selection of presentation segments  410  matches the order of those same segments as they are defined in the passcode  204 . In embodiments where passcode  204  order is imposed, it is possible to support cases where passcode  204  contains the same segment multiple times similar to how an ATM PIN may contain the same digit multiple times. 
         [0051]    In some embodiments supporting multiple authenticated users, a set of passcode  204  used to generate presentation set (P)  408  needs to be considered against the user&#39;s selection of presentation segments  410 . Access is denied if all possible matches fail. Access for the related user of the set of default or expected or recent users used to generate presentation set (P)  408  is granted if a particular match is found. 
         [0052]    The example shown in  FIG. 4  will be used to illustrate some examples. The passcode  204  contains the following passcode segments  206  in the following order: H A C G. The distractor set (E)  404  contains the following distractor segments  406 : D F. The resulting presentation set (P)  408  contains the following presentation segments  410 : A C D F H. As explained above, the presentation segments  410  may be presented to the user in random order, see for example, the display  602  in  FIG. 6C . 
         [0053]    Suppose the user selects the following presentation segments (e.g., by tapping on a touch sensitive display): H F D. The authenticator  106  would deny access (e.g., via blocks  518  and  522  of  FIG. 5 ) because the user&#39;s selection of the presentation segments (H F D) does not contain only segments that belong to the passcode  204 ; segments F and D are not in the passcode  204 . 
         [0054]    Suppose the user selects the following presentation segments (e.g., by tapping on a touch sensitive display): H A C D. The authenticator  106  would deny access (e.g., via blocks  518  and  522 ) because the user&#39;s selection of the presentation segments (H A C D) does not contain only segments that belong to the passcode  204 ; segment D is not in the passcode  204 . 
         [0055]    Suppose the user selects the following presentation segments (e.g., by tapping on a touch sensitive display) in the following order: A C H. In an embodiment where segment ordering is not imposed, the authenticator  106  would grant access (e.g., via blocks  518  and  520 ) because the user&#39;s selection of the presentation segments (A C H) contains only segments that belong to the passcode  204 , despite the difference in the order; the user&#39;s selection is A C H, while the order of those same segments in the passcode  204  is H A C. 
         [0056]    In an embodiment where segment ordering is imposed, the authenticator  106  would deny access because the user&#39;s selection of the presentation segments (A C H) occurs in a different order than their order in the passcode  204 , namely H A C, despite that the user&#39;s selection contains only segments that belong to the passcode  204 . 
         [0057]    Suppose the user selects the following presentation segments in the following order: H A C. In an embodiment where segment ordering is imposed, the authenticator  102  would grant access because the user&#39;s selection of the presentation segments (H A C) contains only segments that belong to the passcode  204 , and the selected segments appear in the same order as they appear in the passcode  204 , namely H A C. 
         [0058]    To illustrate yet another example that is not depicted in the figures, consider the following configuration:
       passcode set (N)  204 : H A C G (ordered set)   subset (M)  402  contains: A G H   distractor set (E)  404  contains: D F   presentation set (P)  408  contains: A D F G H (displayed in random order)       
 
         [0063]    Suppose the user selects the following presentation segments in the following order: H A G. In an embodiment where segment ordering is imposed, the authenticator  106  would grant access because the user&#39;s selection of the presentation segments (H A G) contains only segments that belong to the passcode  204 , and the selected segments appear in the same order as they appear in the passcode  204 , namely H A G. Notice that the segment C in the passcode  204  is skipped over when comparing the user&#39;s selection with the passcode (e.g., at block  516 ). The skipped segment C is not considered in the comparison because it was not in the subset (M)  402 . 
         [0064]    In some embodiments where segment ordering is imposed, the user may select any segment from distractor set (E)  404  when the segment they know from passcode  204  is missing from the presentation set (P)  408 . In this case, authenticator  106  may evaluate responses while considering passcode  204  using subset (M)  402  to determine which user selections are to be ignored rather than skipped as described above. 
         [0065]    In some embodiments where segment ordering is imposed, the user may select any segment from presentation set (P)  408  when the segment they know from passcode  204  is missing from the presentation set (P)  408 . In this case, authenticator  106  would evaluate responses while considering passcode  204  using subset (M)  402  to determine which user selections are to be ignored rather than skipped as described above. 
         [0066]    Referring to  FIG. 7 , the passcode generator  102 , the authenticator  106 , and the computing device  108  may be implemented in a computer system  702 , or among multiple computer systems. In a typical implementation, the computer system  702  may include a processing unit  712 , a system memory  714 , and a system bus  711 . The system bus  711  may connect various system components including, but not limited to, the processing unit  712 , the system memory  714 , an internal data storage device  716 , and a communication interface  713 . In a configuration where the computer system  702  is a mobile device (e.g., smartphone, computer tablet), the internal data storage  716  may or may not be included. 
         [0067]    The processing unit  712  may comprise a single-processor configuration, or may be a multi-processor architecture. The system memory  714  may include read-only memory (ROM) and random access memory (RAM). The internal data storage device  716  may be an internal hard disk drive (HDD), a magnetic floppy disk drive (FDD, e.g., to read from or write to a removable diskette), an optical disk drive (e.g., for reading a CD-ROM disk, or to read from or write to other high capacity optical media such as the DVD, and so on). In a configuration where the computer system  702  is a mobile device, the internal data storage  716  may be a flash drive. 
         [0068]    The internal data storage device  716  and its associated non-transitory computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. Although the description of computer-readable media above refers to an HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it is noted that other types of non-transitory computer-readable media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like may also be used, and further, that any such media may contain computer-executable instructions for performing the methods disclosed herein. 
         [0069]    The system memory  714  and/or the internal data storage device  716  may store a number of program modules, including an operating system  732 , one or more application programs  734 , program data  736 , and other program/system modules  738 . For example, the application programs  734 , which when executed, may cause the computer system  702  to provide the function of passcode generator  102 . The application programs  734 , for example, may include programming for the authenticator  106  to perform method steps of  FIG. 5 . 
         [0070]    An external data storage device  742  may be connected to the computer system  702 . For example, the external data storage device  742  may be the passcode data store  104  shown in  FIG. 1 . In some embodiments, the internal data storage device  716  may serve the passcode data store  104 . 
         [0071]    Access to the computer system  702  may be provided by a suitable input device  744  (e.g., keyboard, mouse, touch pad, etc.) and a suitable output device  746  (e.g., a video device such as video display  602  ( FIG. 6A ), and/or a video controller or graphics controller for providing video data to video display  602 , etc.). In a configuration where the computer system  702  is a mobile device, input and output may be provided by a touch sensitive display. The input device  744  may be a virtual keyboard displayed on the touch sensitive display. 
         [0072]    The various embodiments described herein may employ various computer-implemented operations involving data stored in computer systems. For example, the various embodiments described herein may employ various computer-implemented operations involving data stored in computer systems. For example, these operations may require physical manipulation of physical quantities; usually, though not necessarily, these quantities may take the form of electrical or magnetic signals, where they or representations of them are capable of being stored, transferred, combined, compared, or otherwise manipulated. Further, such manipulations are often referred to in terms, such as producing, identifying, determining, or comparing. Any operations described herein that form part of one or more embodiments may be useful machine operations. In addition, one or more embodiments also relate to a device or an apparatus for performing these operations. The apparatus may be specially constructed for specific required purposes, or it may be a general purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations. 
         [0073]    These and other variations, modifications, additions, and improvements may fall within the scope of the appended claims(s). As used in the description herein and throughout the claims that follow, “a”, “an”, and “the” includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. 
         [0074]    The above description illustrates various embodiments of the present invention along with examples of how aspects of the present invention may be implemented. The above examples and embodiments should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the present invention as defined by the following claims. Based on the above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents may be employed without departing from the scope of the invention as defined by the claims.