Information processing device, control method, and program

The information processing device enables users to regenerate their pattern independently and receive it via notification, addressing the inconvenience of forgotten patterns in conventional systems by allowing self-service recovery.

JP2025008364APending Publication Date: 2025-01-20CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023110475
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-05
Publication Date
2025-01-20

AI Technical Summary

Technical Problem

Conventional pattern authentication systems fail to provide a user-friendly solution when a user forgets their registered pattern, necessitating contact with the device administrator for pattern reset, which is cumbersome.

Method used

An information processing device equipped with pattern authentication capabilities allows users to regenerate their pattern independently and receive the new pattern via notification, enabling self-service recovery.

Benefits of technology

Users can regain access to device functions without administrative intervention by generating and receiving a new pattern, enhancing user convenience and reducing administrative burden.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025008364000001_ABST
    Figure 2025008364000001_ABST
Patent Text Reader

Abstract

To solve the problem that login is disabled in conventional pattern authentication if a user forgets a registered pattern.SOLUTION: An information processing device automatically generates a new pattern upon receipt of a pattern generation request and sends a notification to a mail address of a user. The information processing device provides control to generate a pattern according to a predetermined condition so as not to generate a pattern that is too complex.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing apparatus that executes authentication processing, a control method thereof, and a program. [Background technology]

[0002] In recent years, there are a wide variety of authentication methods for devices such as multifunction peripherals. One of the authentication methods is known as a pattern authentication method in which a user traces their finger on a touch panel and compares whether the pattern of the traced figure (trajectory) matches a preregistered pattern (see Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication 2016-170721 Summary of the Invention [Problem to be solved by the invention]

[0004] Conventional pattern authentication has a problem that if a user forgets the registered pattern, the user cannot log in. Patent Document 1 also does not describe how to deal with the case where the user forgets the registered pattern.

[0005] In the case of a shared device with an administrator, such as a multifunction peripheral that is an information processing device with a printing function, a user who has forgotten his / her own registered pattern may contact the administrator of the multifunction peripheral and ask the administrator to reset the pattern or delete the account and re-register it. In this case, there is a problem that the user has to take the trouble of contacting the administrator and the trouble of performing operations related to the administrator, which is troublesome.

[0006] The present invention has been made in consideration of the above problems, and proposes an information processing device that enables a user who has forgotten a registered pattern in pattern authentication to reissue the pattern by his / her own operation and use the device again. [Means for solving the problem]

[0007] An information processing device according to one embodiment of the present invention is an information processing device that provides at least a printing function by performing authentication in response to a login operation, and is characterized in comprising: a receiving means for receiving an instruction to generate a pattern to be used in pattern authentication, which is one of the login operations; a generating means for generating the pattern; a storage means for storing the generated pattern; and a notification means for causing the generating means to regenerate the pattern when the login operation fails, and notifying a notification destination corresponding to a user registered in the multifunction device of information regarding the regenerated pattern. Effect of the Invention

[0008] According to the present invention, a user who has forgotten a registered pattern can reissue the pattern by his / her own operation and can again use the functions of the information processing device, including the printing function. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram illustrating a system configuration. [Diagram 2] FIG. 2 is a diagram illustrating a hardware configuration of an MFP. [Diagram 3] FIG. 2 is a diagram illustrating a software configuration of the MFP. [Figure 4] FIG. 13 is a diagram showing a user interface for user authentication settings. [Diagram 5] FIG. 13 illustrates a user interface for editing user account information. [Figure 6] FIG. 2 is a diagram showing a user interface of a menu and a login screen. [Figure 7] 11A and 11B are diagrams illustrating an operation flow and screen transitions when registering a pattern. [Figure 8] 11A and 11B are diagrams illustrating an operation flow and screen transitions when pattern authentication is used. [Figure 9] 13 is a flowchart showing operations of generating and notifying a pattern. [Figure 10] This is an example of an email notifying a new pattern. [Figure 11] 1 is a table showing a static runner-up candidate list. [Figure 12] 1 is a table showing dot continuity. [Figure 13] This is a vector table that collects vectors with the same start and end directions. [Figure 14] FIG. 11 is a diagram showing a flow of a series of processes for generating a pattern in a first pattern generation example. [Figure 15] FIG. 11 is a diagram showing a sequence of processing steps for generating a pattern in a second pattern generation example. [Figure 16] FIG. 13 is a diagram showing an example of a pattern. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

[0011] [Embodiment 1] As an example of an information processing device to which the present invention is applied, an embodiment of the present invention will be described taking an MFP (Multifunction Peripheral) equipped with printing functions such as copying, printing, and scanning, and reading functions, as an example. The information processing device may be an inkjet printer. The present invention can be applied to any information processing device equipped with a touch panel.

[0012] <System configuration> The system configuration of this embodiment will be described with reference to Fig. 1. The MFP 101 is an MFP (Multifunction Peripheral) to which the present invention is applied, and is a so-called multifunction peripheral. The MFP 101 can receive print jobs from a terminal (e.g., a PC 102) connected via a network LAN 103.

[0013] <Hardware configuration> 2 is a simplified diagram showing the hardware configuration of the MFP 101. The CPU 201 is a central processing unit (processor) that controls the overall operation of the MFP 101. The RAM (Random Access Memory) 203 is a volatile memory, a work area, and is used as a temporary storage area for expanding various control programs stored in the ROM 202 and the HDD 204.

[0014] The ROM 202 is a non-volatile memory and stores a boot program of the MFP 101. The HDD 204 is a non-volatile hard disk having a larger capacity than the RAM 203. The HDD 204 stores a program for controlling the MFP. The OS (Operating System) and application programs are also stored in the HDD 204.

[0015] When the MFP 101 starts up, the CPU 201 executes a boot program stored in the ROM 202. This boot program is for reading out an OS (Operating System) program stored in the HDD 204 and loading it onto the RAM 203. After executing the boot program, the CPU 201 subsequently executes the OS program loaded onto the RAM 203 and controls the MFP 101. The CPU 201 also stores data used for operations according to the control program onto the RAM 203 and reads and writes it.

[0016] In the MFP 101, one CPU 201 executes each process shown in the flowcharts described later, but other configurations are also possible. For example, multiple CPUs or microprocessors (MPUs) can cooperate to execute each process shown in the flowcharts described later. Also, some of the processes described later can be executed using hardware circuits such as ASICs (Application SpecifIC Integrated Circuits) and FPGAs (Field-Programmable Gate Arrays).

[0017] The operation panel 205 is a touch-operable display (touch panel). The printer 206 is a printer engine that prints print data received from the outside via a communication unit 208 and digital data acquired from a scanner 207. The scanner 207 is a scanner device that reads a paper document and converts it into digital data.

[0018] A communication unit 208 is a network interface for connecting to the Internet or an office LAN (Local Area Network). An IC card reader 209 is a device for reading information used for user authentication from an IC card, and is a unit required for realizing IC card authentication. In this embodiment, a multifunction peripheral (MFP101) having a printer function and a scanner function will be described as an example, but the information processing device may be any information processing device having an operation panel that can accept input of pattern information, and is not limited to a multifunction peripheral.

[0019] <Software configuration> 3 is a simplified diagram showing the software configuration of the MFP 101. A local UI 301 of the MFP 101 provides a user interface to be displayed on the display of the operation panel 205. The local UI 301 also includes a menu from which the user selects a function, and a UI platform that controls applications and screen transitions. For example, the local UI 301 includes a copy application that controls the printer 206 and scanner 207 to provide the user with a copy machine, and an application that controls the scanner 207 and communication unit 208 to provide a function for transmitting scanned documents.

[0020] The remote UI 302 has an HTTP (HyperText Transfer Protocol) server function and provides a user interface configured in HTML (HyperText Markup Language) to a user who remotely accesses the remote UI 302. The user can access the remote UI 302 using a web browser on a PC terminal, receive HTML, display various screens on the web browser, and accept user instructions to change the settings and use the functions of the MFP 101.

[0021] The login service 303 is a software module that authenticates a user who uses the local UI 301 or the remote UI 302. The IC card reader driver 304 is a driver that controls the IC card reader 209, obtains information from the IC card, and provides the login service 303 with the IC card information.

[0022] <user account> The user count managed by the login service 303 will now be described. The login service 303 stores and manages the user count in a user count table as shown in Table 1. The user count table (Table 1) is a database recorded in the HDD 204. Note that a database of another node on the network may be used after encrypting the communication path and storage and preventing tampering. The user count table records the user name, password, card ID used for IC card authentication, pattern, role, email address, etc.

[0023] [Table 1]

[0024] "User name" is identification information used to identify a user. "Password" is required to be entered when authenticating a user based on the user's identification information and password. "Role" is information indicating the user's usage authority for MFP 101. Examples of roles and usage authority are shown in the role information table (Table 2) below. In addition to the role definitions that MFP 101 has when shipped from the factory, it is also possible to allow users to set detailed usage authority and create new roles.

[0025] [Table 2]

[0026] <User authentication function> Next, a user authentication function of the MFP 101 will be described with reference to Fig. 4, Fig. 5, and Fig. 6. Fig. 4 shows an example of a UI (user interface) for user authentication settings of the MFP 101 provided by the remote UI 302. A similar UI may be provided for the administrator not only by the remote UI 302 but also by the local UI 301.

[0027] User authentication settings 401 shows a Remote UI screen for setting up user authentication. Only users with the Administrator role can access it. Although not shown, the login service 303 displays a login screen created in HTML to users who access the Remote UI 302. On the login screen for accessing the Remote UI 302, the user is authenticated with a user name and password, and it is confirmed whether or not the user has permission to access the Remote UI 302.

[0028] A local UI login method setting 402 is an example of a user interface for setting the login method of the local UI. As the login method, one or more login methods can be selected from "keyboard authentication", "simple login", and "IC card authentication". For example, if multiple login methods are selected, the user will need to perform two login operations to use the multifunction device. Each login method will be described below.

[0029] <Keyboard Authentication> Keyboard authentication provides a method for logging in by entering a username and password on the login screen. An example of a login screen for keyboard authentication is shown in 602 of FIG. 6. When entering, it is assumed that it is entered by the hard keys provided in the MFP101 or software keys (not shown).

[0030] <Simple Login> Simple login provides a method for logging in by displaying buttons for registered users on the login screen. The buttons display an icon image serving as the user's avatar and the username. By having the user select the button corresponding to their avatar, the user is logged in to the MFP101. Simple login can be used in combination with pattern authentication to prevent unauthorized logins. When the user has set a pattern for pattern authentication, the user is identified by button selection, and pattern authentication for the identified user is performed. Details of pattern authentication will be described later.

[0031] An example of a login screen for simple login is shown in 603 of FIG. 6. In addition to simple login, when keyboard authentication is enabled, a button for switching the display to the keyboard authentication screen is displayed on the simple login screen 603. Also, in addition to simple login, when IC card authentication is enabled, instead of pressing a button while the login screen for simple login is being displayed, the user is identified from the IC card placed on the IC card reader 209.

[0032] <IC Card Authentication> User authentication is performed using an IC card. An example of a login screen for IC card authentication is shown in 604 in FIG. 6. IC card authentication acquires a card ID from an IC card held over IC card reader 209, refers to a user information table to identify the user associated with the card ID, and logs the user into MFP 101. This can be used in combination with pattern authentication to prevent unauthorized use or counterfeiting of IC cards by others. If the user has set a pattern, after IC card authentication, authentication of the user's pattern identified from the card ID is performed. It can be used as a two-factor authentication function by combining authentication of the IC card possession element and authentication of the pattern knowledge element.

[0033] A login screen display method setting 403 is an example of a user interface for setting the timing for displaying the login screen. The timing for displaying the login screen can be set to either "when MFP operation starts" or "when a function is selected."

[0034] When "When function is selected" is selected, a function that requires login is also selected and set. For example, when MFP 101 is shipped from the factory, "When function is selected" is selected by default, and "Personal settings" and "Administrative settings" are set by default as functions that require authentication. If "When function is selected" is set, menu screen 601 is displayed when the MFP starts up. If the user selects a function that requires authentication, such as "Personal settings" or "Administrative settings," login screens (602, 603, 604) are displayed to authenticate the user.

[0035] If "When device operation starts" is set, when the MFP 101 starts up, a login screen (602, 603, 604) is displayed, and authentication is required for all users who use the MFP menu 601. If the user performs a login operation on the login screen and user authentication is successful, the menu screen is displayed.

[0036] The pattern reset setting 404 is a setting related to the reset of the pattern. In the pattern reset setting 404, it is possible to select whether or not to enable the function of "automatically reissue the pattern when the pattern is forgotten." The automatically generated pattern condition setting 405 is a setting related to the conditions of the pattern to be automatically generated. In the automatically generated pattern condition setting 405, it is possible to select whether or not to set the conditions of the pattern to be automatically generated in detail. For example, it is possible to set the number of turns, the number of dots, and the angle. In general, a complex pattern shape with a large number of turns and dots and a turning angle including acute and obtuse angles has more combinations and is more secure. However, a complex pattern shape makes it difficult for the user to input and is prone to input errors. For this reason, it is recommended that the administrator decides the conditions of the pattern to be generated while considering the balance between security and convenience.

[0037] <User Management> User Account Management 406 is an example of a user interface for managing the accounts of users who use the MFP 101. It provides a function for registering a new user account and selecting an already registered account to edit or delete it. For example, when an "Admin" selects the "Alice" account in User Account Management 406 and presses the edit button, the remote UI 302 displays the user edit screen shown in FIG. 5.

[0038] The user edit screen allows users to edit and save passwords, card IDs, roles, email addresses, and the icon image displayed on the simple login button. The user edit screen also provides a function to display the pattern registration status so that administrators can understand the pattern registration status of general users. It also provides a function to delete pattern registration in the event that a general user forgets a registered pattern and asks the administrator to reset the pattern. It is assumed that patterns will be registered by each general user themselves using the local UI, so it does not provide a function for administrators to register other people's patterns.

[0039] <How to register a pattern> Next, the registration of a pattern used for authentication will be described with reference to Fig. 7. Fig. 7 shows a screen flow assuming that "IC card authentication" is set in the login method setting 402 of the local UI, and "when device operation starts" is set in the login screen display method setting 403.

[0040] <Pattern registration operations and screen flow> The operation and screen flow for pattern registration will be explained. With login screen 604 for IC card authentication displayed, the user holds their IC card over the card reader to log in to MFP 101. If login to MFP 101 is successful, menu screen 601 is displayed. A user who wants to use pattern authentication selects "Personal settings" from the menu to display personal settings screen 701. "Personal settings" provides functions for registering and changing the user's personal authentication information and profile. For example, personal settings screen 701 provides functions such as "registering and changing an icon image to be used as an avatar," "registering and changing a password," and "registering and changing a pattern."

[0041] When the user selects "Pattern registration / change" on the personal setting screen 701, a pattern registration / change screen 702 is displayed. For example, the pattern registration / change screen 702 displays a total of 16 dots in 4 columns and 4 columns, and the user is prompted to trace any shape with his / her finger on the screen area where the dots are displayed. To prevent the user from making an input error, the user may be prompted to input the same shape multiple times as a confirmation input. For example, the dots and the order in which the user's finger has passed through are treated as pattern information, and are stored in a user count table (Table 1) in association with the account of the logged-in user. For example, the pattern information can be internally numbered for 4×4 (16 dots) dots, as shown in 16A of FIG. 16.

[0042] For example, the pattern shape (pattern information) shown in the pattern registration change screen 702 can be expressed as "1, 2, 3, 4, 7, 10, 13, 14, 15". When storing in the user count table (Table 1), the pattern information is encrypted and stored. Alternatively, it may be converted into a digest using a hash function and stored. In general, it is recommended to generate a digest using PBKDF2 (Password-Based Key Derivation Function 2). For this reason, the salt used in PBKDF2 and the digest calculated by PBKDF2 may be stored. When the registration of the pattern information is successful, a screen 706 indicating the completion of registration is displayed. When the user closes the screen 706, the screen returns to the personal setting screen 701.

[0043] Also, the pattern registration / change screen 702 may display a transition button 703 to a screen for automatically generating a pattern. If the administrator has not set the conditions for the automatically generated pattern in 405, a screen 704 may be displayed so that the user can set the conditions for the automatically generated pattern. If the administrator has set the conditions for the automatically generated pattern in 405, the pattern is automatically generated according to the conditions set by the administrator. The automatically generated pattern is displayed on the screen 705. The user presses the registration button after memorizing the pattern. If the automatically generated pattern shape is not to his liking, it is preferable to be able to press the "Automatic Generation" button again. The numbers illustrated on each dot on the screen 705 indicate the selection order of the dots in the generated pattern, not the internal numbering of the dots.

[0044] Also, a setting for forcing the use of a pattern may be provided so that a user logging in for the first time using IC card authentication or simple login is guided to display the pattern registration / change screen 702 so as to be forced to set a pattern.

[0045] <Patterns that can be registered> In this embodiment, the patterns that a user can register are based on the following rules. ·Select four or more dots. When two selected dots are connected by a straight line, the dots in between will be considered selected starting from the one closest to the starting point. For example, if you select 1→4, and 2 and 3 are not selected, they will be considered selected in the order "1, 2, 3, 4". Once a dot is selected, it cannot be reselected. However, it is possible to select another dot by passing over a dot that has already been selected. In other words, if the user passes over the dots in the order "1, 6, 11, 7, 3, 6, 9" when registering a pattern, the 6 that is passed over the second time will not be recorded, so the pattern recorded will be "1, 6, 11, 7, 3, 9."

[0046] The above rules are merely examples, and rules different from the above may also be applied to the present invention, and are not intended to limit the content of the present invention.

[0047] <Pattern authentication operation> Next, an operation during pattern authentication will be described with reference to Fig. 8. Fig. 8 is a diagram showing screen transitions when a user who has registered pattern information logs in to MFP 101 using simple login and pattern authentication.

[0048] When the user presses a button displaying the user's user name and avatar image while the simple login screen 603 is displayed, the user attempts to log in to the MFP 101. The login service 303 identifies the user account corresponding to the pressed button. It refers to the user count table (Table 1) to confirm that the pattern of the identified user account has been registered, and displays the pattern authentication screen 801.

[0049] The user touches a pattern input area displayed on operation panel 205 with a finger, and without removing the finger from operation panel 205, slides the finger to trace the pattern shape as if selecting dots. During this time, it is better not to change the appearance of the dots or draw lines or trajectories between the dots, so that other users looking at operation panel 205 cannot infer the pattern shape that was input based on the drawing on operation panel 205. However, if the UI does not respond, the user may mistakenly think that the UI has hung up and become anxious, so a response to the pattern input is made by changing the drawing of indicator 802.

[0050] When it is detected that the user has removed his / her finger from the operation panel 205 after tracing the pattern shape, the input pattern shape is converted into an internal storage format ("1, 2, 3, 4, 7, 10, 13, 14, 15" or a hash value) and made available for comparison with pre-stored data. The input pattern shape is compared with the pre-registered pattern of the identified user to perform pattern authentication.

[0051] If the patterns match, the successfully authenticated user is logged into the MFP. Specifically, information on the successfully authenticated user is read from the user count table (Table 1) into RAM 203, and a structure (hereinafter referred to as a login context) that stores information on the currently logged-in user is instantiated. Information stored in the login context includes the user name, role, email address, etc., as shown in Table 3.

[0052] [Table 3]

[0053] The login service 303 notifies the local UI 301 that the user has logged in to the MFP 101 together with the login context. If the input pattern does not match the preregistered pattern that displays the menu screen 601, the local UI 301 displays a pattern authentication screen 804 together with a message indicating that authentication has failed. If the automatic pattern reissue function is enabled, the automatic pattern reissue function provides the user with the automatic pattern reissue function. If the user fails to authenticate the pattern a predetermined number of times in succession, the automatic pattern reissue function displays a screen 805 asking "Have you forgotten your pattern?" and "Do you want to issue a new pattern?". The predetermined number of times may be one or three times. The administrator may be able to set the number of times in advance. If the user presses a "Yes" button 806, the login service 303 automatically generates a new pattern and notifies the email address to which the user is to be notified. When the sending of the email is completed, a screen 807 including a message indicating that the email has been sent is displayed.

[0054] <Flow related to automatic generation of patterns and notification processing> The flow relating to the automatic generation of a pattern and the email notification after the user presses the "Yes" button 806 will be described in detail with reference to the flowchart in Fig. 9. In this embodiment, the procedure shown in the flow below is recorded in a software program such as the login service 303. The software program is stored in non-volatile storage such as the ROM 202 and the HDD 204, and is loaded into the RAM 203, and the flow is executed by the CPU 201.

[0055] In the process of this flowchart, the login service 303 detects that the user has pressed the "Yes" button 806 on the screen 805 and receives an instruction to generate a pattern, thereby starting the pattern generation process (S901).

[0056] In S902, the login service 303 automatically generates a pattern. In S903, the login service 303 associates information about the generated pattern with the account of the identified user and stores it in the HDD 204. At this time, it may be determined whether the newly automatically generated pattern is the same as the pattern currently being used by the user, and if it is the same, the automatic pattern generation process of S902 may be repeated until a different pattern is generated. Also, if there is a history of patterns that have been used in the past, it may be determined whether it is the same as the pattern used in the past, and if it is the same, the automatic pattern generation process of S902 may be repeated until a different pattern is generated.

[0057] Next, in S904, the login service 303 notifies the user of the newly generated pattern. Specifically, the login service 303 refers to the user count table (Table 1), obtains the email address associated with the identified user account, and notifies the user of the automatically generated pattern information by email to the email address. An example of the notification email is shown in FIG. 10.

[0058] 10A is an example of attaching an image showing automatically generated pattern information to an email. The login service 303 generates an image file in an image format such as JEPG, GIF, BMP, PNG, etc. based on the automatically generated pattern information and attaches it to the email. The body of the email contains a message indicating that an image has been attached. The numbers illustrated on each dot in 10A are not the internal numbering of the dots, but indicate the selection order of the dots selected by the user. Instead of numbers, the selection order may be indicated using arrows or symbols or graphic expressions showing the start and end points.

[0059] 10B is an example of a case where information on an automatically generated pattern is conveyed not in an image but in the text of an email body. The internal dot numbering and the selection order are expressed in the text. Instead of numbers, symbols indicating arrows or start / end points may be used to indicate the selection order. Email transmission is performed using general email protocols such as SMTP, POP, and IMAP. Image attachment can use the MIME (Multipurpose Internet Mail Extension) standard.

[0060] By receiving and checking the email, the user can learn about the newly generated pattern shape. At the simple login screen 603, press the button with the user's name and avatar image displayed, and at the displayed pattern authentication screen 801, the user can enter the new pattern and log in.

[0061] The automatically generated pattern may be stored temporarily separately from the currently set pattern. If the new pattern notified by email is not used for login within a predetermined time, it is advisable to delete the temporarily stored new pattern and return to the state of using the currently set pattern again. This can prevent pranks where a third party intentionally changes someone else's pattern.

[0062] Also, when the user logs in using the new pattern notified by email, a pattern change screen may be displayed on the operation panel to allow the user to set the new pattern themselves. This can reduce the risk of the new pattern being known to users who have illegally eavesdropped on the email or peeked at the email.

[0063] <Detailed flow of S902> The detailed flow of the pattern automatic generation process in S902 (from S911 to S917) will be described.

[0064] In S911, the login service 303 acquires the pattern generation conditions. If the administrator has set one or more pattern generation conditions (number of turns, number of dots, angle restrictions) in the UI for setting auto-generation pattern conditions 405, these are acquired. If the administrator has not set any conditions, the system may operate with the factory default generation conditions.

[0065] Next, in S912, the login service 303 randomly selects a starting point from the 16 points of the pattern. For example, in a Java program, a random number between 1 and 16 can be substituted for i using the following standard function. nextInt(16) generates a random number between 0 and 15, so 1 is added to it. If the nextInt(16) function cannot be used, it is possible to substitute nextInt(16) by calculating the remainder when a random number of an appropriate length is divided by 16. SecureRandom sr = SecureRandom.getInstance(“SHA1PRNG”); int i = sr1.nextInt(16) + 1; The selected point is stored as a selected dot in a selected dot list.

[0066] Next, in S913, the login service 303 randomly selects a next point. In S913, one or more next points are selected. The flow of S913 will be described in detail later. The selected points are stored in the selected dot list in the order of selection. Next, in S914, the login service 303 counts the number of dots recorded in the selected dot list. Also, if the pattern generation conditions include the number of turns, in S915, the selected dot list is used to calculate the number of turns. The method of calculating the number of turns will be described in detail later.

[0067] Next, in S916, compare the calculated number of selected dots, the number of turns, and the pattern generation conditions (for example, the number of turns is 3, and the number of dots is 4 to 9) to determine whether it is necessary to further select the next point or end the selection process of the next point. If the pattern generation conditions are not met, repeat the processes from S913 to S916 and select the next point until the conditions are met. Also, since there is no need to calculate the number of turns until 4 or more dots, which is the default number, the step of S915 can be omitted. For example, when the number of turns is set to 3, instead of stopping the selection of the next point when it is determined that there have been 3 turns, continue the selection process of the next point until it is determined that there have been 4 turns. This is because it is not certain that there will be another turn at the next point after 3 turns. As a process, continue the selection process of the next point until it is determined that there have been 4 turns. Also, when the number of dots is set to 9 or less and the selected dot list contains 9 or more dots, end the selection process of the next point.

[0068] Next, in S917, the login service 303 determines whether the pattern of the selected dot list exceeds the conditions. For example, if more than 10 dots are selected or there are 4 or more turns, in S918, delete the last dot from the selected dot list. Further, return to S917 and calculate the number of dots and the number of turns again to determine whether the conditions are exceeded. Repeat the processes of S917 and S918 until the conditions are met.

[0069] If it is determined in S917 that the conditions are not exceeded, end the pattern automatic generation process. At this point, the dots and the selection order included in the selected dot list become the automatically generated pattern shape.

[0070] <Detailed flow of S913> A detailed flow (S921 to S924) of the process of randomly selecting the runner-up in S913 will be described. The login service 303 uses a list of runner-up candidates to select the runner-up. FIG. 11 shows an example of a static runner-up candidate list. 11A is a table in the case where the runner-up candidates are not limited. For example, the first row shown in row 1101 of table 11A indicates that the dots that can be moved from dot 1 are "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16" excluding itself 1. The second row shown in row 1102 indicates that the dots that can be moved from dot 2 are "1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16" excluding itself 2. The same applies below.

[0071] Table 11B is a table for restricting the next candidate. For example, the first row indicated by 1103 in table 11B indicates that the dots that can be moved from dot 1 are "2, 3, 4, 5, 9, 13, 6, 11, 16" as indicated by vector 1105. In other words, the pattern shape is restricted so that 7 must be selected by going between 2 and 6, as indicated by vector 1106, such as 1 → 7. In other words, it is restricted from turning at angles other than 45 degrees, 90 degrees, and 135 degrees. The second row indicated by row 1104 indicates that the dots that can be moved from dot 2 are "1, 3, 4, 5, 6, 10, 14, 7, 12". The same applies below.

[0072] If the administrator has set "Limit angle" in the automatically generated pattern condition setting 405, the static runner-up candidate list of 11B is obtained and used in S921. For example, if the last selected dot was 2, "1, 3, 4, 5, 6, 10, 14, 7, 12" in the second row of 11B is obtained as the static runner-up candidate list.

[0073] Next, in S922, the login service 303 creates a dynamic candidate list by deleting the dots stored in the selected dot list from the static candidate list "1, 3, 4, 5, 6, 10, 14, 7, 12." If the selected dot list is "1, 2," the next dynamic candidate list will be "3, 4, 5, 6, 10, 14, 7, 12."

[0074] If "Limit angle" is not set, all dots except the selected dot will be the next candidate. For this reason, you can create a dynamic candidate list for the next position by deleting the dots stored in the selected dot list from the list of all dots without using the 11A table. For example, if the selected dot list is "1,2", the dynamic candidate list is "3,4,5,6,7,8,9,10,11,12,13,14,15,16" from the list of all dots excluding the selected dot.

[0075] Next, in S923, the login service 303 randomly selects a runner-up from the created dynamic candidate list of runner-ups. For example, if there are eight points in the dynamic candidate list, "3, 4, 5, 6, 10, 14, 7, 12," assign indexes 1 to 8 starting from the top, generate random numbers I from 1 to 8, and set the Ith generated number as the runner-up. For example, if 6 is generated as a random number, the sixth number, 14, is selected.

[0076] Next, the login service 303 checks whether any dots have been skipped due to the above selection. If any dots have been skipped, the skipped dots are complemented in order of proximity to the starting point. For example, if dots 2 and 14 are connected by a straight line, 6 and 10 are between them. If 6 and 10 are not in the selected dot list, 6 and 10 are complemented next to 2, and the selected dot list becomes [1, 2, 6, 10, 14]. In order to check the skipped dots, the login service 303 has a table showing the continuity of dots shown in FIG. 12 prepared in advance. For example, each row of the table shown in FIG. 12 is checked to search for a table with a starting point of 2 and an end point of 14. The row 1201 is found by the search, and it is found that 2 and 6 are between them.

[0077] Moreover, the table shown in 12C is a table that defines a set of start and end points that are not strictly on a straight line, but are difficult to select by skipping the points in between. For example, row 1202 indicates that when selecting 1 → 15, it is difficult to select 15 without passing through 6 and 10 in between. Therefore, if 15 is randomly selected as the next point after 1, it is complemented by assuming that 6 and 10 in between were selected. Similarly, row 1203 indicates that when selecting 1 → 14, it is difficult to select 14 without passing through 5 and 10 in between. Therefore, if 14 is randomly selected as the next point after 1, it is complemented by assuming that 5 and 10 in between were selected.

[0078] By using the 12C table, even if the angle is not restricted, it is possible to suppress the generation of patterns that are difficult to trace with a finger in practice. In the process of randomly selecting the next dot in S913, dots 1 to 3 are added to the selected dot list by the above process.

[0079] <How to calculate the number of bends> The method of calculating the number of turns in S915 will now be described in detail. To calculate the number of turns, the login service 303 is provided with a vector table in advance that collects vectors with the same start and end directions (vectors) as shown in FIG.

[0080] For example, if the selected dot list is "1,2,6,10,14", the combination "1,2" is searched for in tables 13A-13H. Since the table for "1,2" is in 13A, it is memorized that it is in 13A. The next combination, "2,6", is searched for. The combination "2,6" is in 13C, which is known to be in a different table from the memorized 13A. If it is different from the memorized table, it is determined to have been bent and the number of bends is incremented.

[0081] The last table referenced is stored, and then the combination "6,10" is searched for. The combination "6,10" is in the same 13C as the previous time, so it can be determined that it is not curved. In this way, the number of curves can be calculated by searching the vector table in FIG. 13 for combinations of two points from the top of the selected dot list. Also, for a combination of two points that is not in any of the tables 13A to 13H, the vectors between the two points are not continuous. For this reason, if the combination is not found by searching any of the tables 13A to 13H, it is determined that there is a curve, and the number of curves is incremented.

[0082] <Pattern generation example 1> The flow of a series of processing steps for pattern generation and changes in the selected list will be described with reference to Fig. 14. Column 1401 shows the processing steps of Fig. 9. Column 1402 shows an example of the dynamic candidate list used in S923. Column 1403 shows an example of the results obtained in each process. Column 1404 shows changes in the selected dot list. Column 1405 shows the number of dots obtained from the selected dot list. Column 1406 shows the number of turns calculated from the selected dot list.

[0083] In No. 1, the pattern generation conditions are acquired, and the conditions "Number of turns: 3", "Number of dots: 4 to 9", and "Limit angle" are acquired. Since "Limit angle ON" is selected, the next static candidate list 11B is used. This process corresponds to the process of S911 in FIG. 9.

[0084] In No. 2, the starting point is randomly selected and "3" is selected. "3" is stored in the selected dot list. This process corresponds to the process of S912 in FIG. 9. In No. 3, the candidate list of the next point to be used is [1, 2, 4, 6, 9, 7, 11, 15, 8]. Let's say 11 is randomly selected. This process corresponds to the process of S923 in FIG. 9. In No. 4, the skipped point is complemented. Since there is a 7 between 3 and 11, the 7 between them is complemented and the selected dot list becomes [3, 7, 11]. This process corresponds to the process of S924 in FIG. 9. In No. 5, the end is determined using the number of dots obtained from the selected dot list and the calculated number of bends. At this point, there are only three points, which is less than the minimum required four points, so the process is determined to be "continue." This process corresponds to the processes of S914, S915, and S916 in FIG. 9.

[0085] In No. 6, the next point is selected at random again. The dynamic candidate list used is [1, 6, 7, 8, 9, 10, 12, 14], which is the static candidate list of the next point of 11, excluding the dots that have already been selected. Here, it is assumed that 12 is selected. The selected dot list becomes [3, 7, 11, 12]. This process corresponds to the process of S923 in FIG. 9. In No. 7, a termination determination is made. Although the number of points has increased to four or more, the condition for turning three times is not met, so the process is determined to be "continue". This process corresponds to the process of S916 in FIG. In No. 8, the next point is selected at random again. Here, it is assumed that 8 is selected. The selected dot list becomes [3, 7, 11, 12, 8]. This process corresponds to the process of S923 in FIG. In No. 9, a termination determination is made. Since the condition for turning three times is not met, the process is determined to be "continue". This process corresponds to the process in S916 in FIG.

[0086] In No. 10, the next point is selected at random again. Here, it is assumed that 6 is selected. The selected dot list is [3, 7, 11, 12, 8, 6]. There is 7 between 8 and 6, but since 7 has already been selected, it is not complemented. This process corresponds to the process of S923 in FIG. 9. In No. 11, an end determination is made. It can be determined that three turns have been made, but there is a possibility that 5 will be selected at the next point without making a turn, so the process is "continue". This process corresponds to the process of S916 in FIG. 9. In No. 12, the next point is selected at random again. Here, it is assumed that 14 is selected. This process corresponds to the process of S923 in FIG. In No. 13, the skipped point is complemented. Since there is 10 between 6 and 14, the 10 between them is complemented, and the selected dot list is [3, 7, 11, 12, 8, 6, 10, 14]. If the pattern generated at this point is illustrated, it will be pattern 1407. This process corresponds to the process in S924 in FIG.

[0087] In No. 14, an end determination is made. Since the number of turns has exceeded three and is now four, it is determined to be "end." This process corresponds to the process of S916 in FIG. 9. In No. 15, it is determined whether the condition is met. Since the number of turns has been four, the result is determined to be No. This process corresponds to the process of S917 in FIG. 9. In No. 16, the last point 14 in the selected dot list is deleted, and the selected dot list becomes [3, 7, 11, 12, 8, 6, 10]. This process corresponds to the process of S918 in FIG. In No. 17, the "number of dots" and "number of turns" are calculated again from the selected dot list, and it is determined whether the condition is met. Since the number of turns has still been four, the result is determined to be No. This process corresponds to the process of S917 in FIG. 9.

[0088] In No. 18, the last point 10 in the selected dot list is deleted, and the selected dot list becomes [3, 7, 11, 12, 8, 6]. This process corresponds to the process of S918 in FIG. 9. In No. 19, it is determined whether the generated pattern satisfies the conditions. Since there are six points and three turns, the result is Yes. This process corresponds to the process of S917 in FIG. 9. Finally, the remaining selected dot list [3, 7, 11, 12, 8, 6] becomes the generated pattern. If the finally generated pattern is illustrated, it will look like pattern 1408.

[0089] <Pattern generation example 2> With reference to FIG. 15, a series of processing flows for pattern generation and variations in the selected list will be described. In No. 1, the pattern generation conditions are acquired, and the conditions "number of turns: 3", "number of dots: 4 to 9", and "angle not limited" are acquired. Since "angle not limited", a list excluding the selected points from all points becomes the dynamic static candidate list of the next point. This process corresponds to the process of S911 in FIG. 9. In No. 2, the start point is randomly selected, and "1" is selected. "1" is stored in the selected dot list. This process corresponds to the process of S912 in FIG. 9. In No. 3, the candidate list of the next point to be used is [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]. Here, it is assumed that 10 is randomly selected. This process corresponds to the process of S923 in FIG. 9.

[0090] At No. 4, a determination is made as to whether to end the process. At this point, there are only two points, which is less than the minimum required four points, so the process determines to "continue." This process corresponds to the process of S916 in FIG. 9. At No. 5, the next point is selected at random again. Here, it is assumed that 14 is selected. This process corresponds to the process of S923 in FIG. 9. At No. 6, a determination is made as to whether to end the process. At this point, there are only three points, which is less than the minimum required four points, so the process determines to "continue." This process corresponds to the process of S916 in FIG. 9. At No. 7, the next point is selected at random again. Here, it is assumed that 4 is selected. This process corresponds to the process of S923 in FIG. 9.

[0091] In No. 8, the skipped point is completed. The table in 12C is referenced, and "11, 7" between 14 and 4 is completed. The selected dot list becomes [1, 10, 14, 11, 7, 4]. This process corresponds to the process of S924 in FIG. 9. In No. 9, an end determination is made. Since the number of turns has exceeded three, making it four, it is determined to be "end". If the pattern generated at this point is illustrated, it becomes pattern 1501. This process corresponds to the process of S916 in FIG. 9. In No. 10, it is determined whether the generated pattern satisfies the conditions. Since the number of turns has been four, the result is determined to be No. This process corresponds to the process of S917 in FIG. 9. In No. 11, the last point 4 in the selected dot list is deleted, and the selected dot list becomes [1, 10, 14, 11, 7]. This process corresponds to the process of S918 in FIG. 9. In No. 12, it is determined whether the generated pattern satisfies the conditions. Since there are five points and three turns, the answer is Yes. This process corresponds to the process of S917 in Fig. 9. Finally, the selected dot list becomes [1, 10, 14, 11, 7], and the generated pattern is illustrated as 1502.

[0092] The pattern generation function can be used not only to reissue a pattern when the user forgets the pattern, but also to generate a pattern when registering a new pattern as shown in 703 to 705 in Fig. 7. In this case, the automatic freeze button for the pattern is pressed to receive an instruction to generate a pattern, and the flow in Fig. 9 is started. The notification of the generated pattern in S904 is not sent by email, but by the UI 705.

[0093] This makes it possible to provide a function for automatically generating patterns to users who are unsure of what pattern to register. In addition, automatically generated patterns are generally more difficult to guess than patterns that users come up with, making them more secure.

[0094] Also, when an administrator registers a new account for a general user, the MFP may generate a pattern and notify the registered general user of the pattern to the email address of the general user. This allows a pattern for each account to be preset at the same time as the new account is created.

[0095] <Effects of the Invention> As explained above, a user who forgets a registered pattern can reissue the pattern by his / her own operation and log in to the MFP again to use it. In addition, in this embodiment, it is possible to restrict the conditions of the pattern to be generated (number of dots, number of turns, turning angle). This makes it possible to prevent the generation of an overly complicated pattern shape, which would impair user convenience.

[0096] In addition, in this embodiment, the conditions of the generated pattern can be changed by settings, so that the conditions of the generated pattern can be changed in consideration of the balance between security and convenience desired by the administrator.

[0097] [Other Examples] In the first embodiment, an example of a 4×4 (16 points) pattern is shown, but even in the case of a 3×3 (9 points) pattern such as 16B in FIG. 16, the present invention can be applied to automatically generate a pattern.

[0098] It is only necessary to prepare the runner-up candidate list shown in FIG. 11, the table showing the dot continuity shown in FIG. 12, and the vector table shown in FIG. 13 for 3×3 (9 points).

[0099] Also, pattern data for all combinations may be stored in the MFP in advance, and when a pattern generation request is received from a user, a pattern may be selected randomly from a list of pattern data stored in advance. For example, there are about 380,000 patterns with 4 or more points that can be generated from 3×3 (9 points). One is selected from the 380,000 patterns. There are about 600 billion patterns with 4 or more points that can be generated from 4×4 (16 points). There are about 100 million patterns with 4 to 9 points. A large memory area is required to hold all pattern data in advance. Also, the pattern conditions and complexity (number of dots, number of turns, angle) may be stored in association with the pattern data, so that the pattern data with the specified conditions can be extracted from the memory area.

[0100] The present invention can also be realized by supplying a program that realizes one or more functions of each of the above-mentioned embodiments to a system or device via a network or a storage medium, and having one or more processors in a computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC or FPGA) that realizes one or more functions. [Explanation of symbols]

[0101] 101 MFP 205 Operation Panel 303 Login Service 801 Pattern authentication screen 805 Screen for issuing a new pattern

Claims

1. An information processing apparatus that provides at least a printing function by performing authentication in response to a login operation, a reception means for receiving an instruction to generate a pattern to be used in pattern authentication, which is one of the login operations; A generating means for generating the pattern; A storage means for storing the generated pattern; an information processing device characterized in that the generation means re-generates a pattern when the login operation fails, and a notification means notifies a notification destination corresponding to a user registered in the information processing device of information regarding the re-generated pattern.

2. 2. The information processing apparatus according to claim 1, wherein said notification means notifies information about the regenerated pattern by email.

3. 3. The information processing apparatus according to claim 1, wherein the generating means generates a pattern that satisfies a pattern generating condition set on a setting screen for user authentication setting of the information processing apparatus.

4. The information processing apparatus according to claim 3 , wherein the pattern generation conditions set on the setting screen include at least one of information regarding the number of dots in the pattern, the number of turns, and the angle of turns.

5. 2. The information processing apparatus according to claim 1, further comprising means for using a static candidate list of next points indicating points to which each point can be moved.

6. A method for controlling an information processing apparatus that provides at least a printing function by performing authentication in response to a login operation, comprising: a receiving step of receiving an instruction to generate a pattern to be used in pattern authentication, which is one of the login operations; A generating step of generating the pattern; a storing step of storing the generated pattern; a notification step of regenerating a pattern in the generation step when the login operation fails, and notifying a notification destination corresponding to the user registered in the information processing device of information regarding the regenerated pattern.

7. 7. The method according to claim 6, wherein said notification step notifies information about the regenerated pattern by email.

8. 7. The control method according to claim 6, wherein said generating step generates a pattern that satisfies a pattern generation condition set on a setting screen for user authentication setting of said information processing device.

9. The control method according to claim 8 , wherein the pattern generation conditions set on the setting screen include at least one of information regarding the number of dots in the pattern, the number of turns, and the angle of turns.

10. 7. The method of claim 6, further comprising using a static candidate list of next points indicating points to which each point can be moved.

11. A program for causing a computer to execute the control method according to any one of claims 6 to 10.

Citation Information

Patent Citations

  • Image processing apparatus, authentication method, and authentication program

    JP2016170721A