Information processing apparatus, control method, storage medium, and computer program product

By realizing the automatic pattern generation and notification functions in the information processing device, the login difficulty when users forget pattern authentication is solved, user operations are simplified, and convenience and security are improved.

CN119271154APending Publication Date: 2025-01-07CANON KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410776184.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-07-05
Filing Date
2024-06-17
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In the prior art, the user forgets to register and cannot resend the pattern on its own, resulting in a failed login, requiring administrator intervention, and the process is cumbersome.

Method used

An information processing device is designed that allows the user to resend and log in by automatically generating and notifying new patterns when the user forgets the pattern authentication.

Benefits of technology

Users can receive and use new patterns on their own, simplifying the login process, reducing dependence on administrators, and improving user experience and convenience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271154A_ABST
    Figure CN119271154A_ABST
Patent Text Reader

Abstract

The invention provides an information processing apparatus, a control method, a storage medium, and a computer program product. In response to the pattern generation request, a new pattern is automatically generated, and a notification is made to the user's email address. Control is performed to generate a pattern satisfying a predetermined condition without generating a too complex pattern.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Some embodiments of the present disclosure generally relate to an information processing device that performs authentication processing, a control method thereof, a non-transitory computer-readable storage medium, and a computer program product including the program. Background Art

[0002] Nowadays, there are various authentication methods on devices such as multifunction printers. As one of the various authentication methods, as disclosed in Japanese Patent Laid-Open No. 2016-170721, the following authentication method (pattern authentication) is known. The user moves the user's fingertip on the touch-sensitive panel to draw a graphic. The pattern of the graphic (track) drawn by the finger swiping is compared with a pre-registered pattern to check whether the two patterns are consistent. Summary of the invention

[0003] An information processing device according to a specific embodiment of the present disclosure is as follows. The information processing device is configured to provide at least a printing function by performing authentication in a login operation. The information processing device includes one or more memories storing a set of instructions, and one or more processors executing the instructions. The instructions cause the information processing device to operate when executed. The operations include receiving instructions, generating patterns, storing the generated patterns, and making notifications. The received instructions are instructions for generating patterns to be used in pattern authentication. The pattern authentication is one of the authentication methods in the login operation. In the event of a failure in the login operation, the pattern is regenerated, and in the notification, information related to the pattern generated again by the regeneration is notified to the notification address corresponding to the user registered in the information processing device.

[0004] Further features of the present disclosure will become apparent from the following description of exemplary embodiments with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] Figure 1 is a diagram showing a system configuration.

[0006] Figure 2 is a diagram showing the hardware configuration of the MFP.

[0007] Figure 3 is a diagram showing the software configuration of the MFP.

[0008] Figure 4 is a diagram showing a user interface for user authentication settings.

[0009] Figure 5 is a diagram showing a user interface for editing user account information.

[0010] Figure 6It is a diagram of a user interface showing a menu and a login screen.

[0011] Figure 7 It is a diagram showing the operation flow and screen transition when pattern registration is performed.

[0012] Figure 8 is a diagram showing an operation flow and screen transition when pattern authentication is used.

[0013] Fig. 9 is a flow chart showing operations for pattern generation and notification.

[0014] Fig.10 is a diagram showing an example of an e-mail for notifying a new pattern.

[0015] Fig.11 is a diagram of a table showing an example of a static subsequent point candidate list.

[0016] Fig.12 is a diagram showing a table of point continuity.

[0017] Fig.13 It is a diagram of vector tables, each of which contains a movement group with the same direction from the movement start point to the movement end point.

[0018] Fig.14 is a diagram illustrating a series of processes of pattern generation according to the first pattern generation example.

[0019] Fig.15 is a diagram illustrating a series of processes of pattern generation according to the second pattern generation example.

[0020] Fig.16 is a diagram showing a pattern example. DETAILED DESCRIPTION

[0021] In the pattern authentication according to the prior art, when the user does not remember the registered pattern, the user cannot log in. Japanese Patent Application Laid-Open No. 2016-170721 also does not mention how to deal with the situation when the user does not remember the registered pattern.

[0022] In the case of a shared device with an administrator (e.g., a multifunction printer as an information processing device with a printing function), a user who has forgotten his or her registration pattern may contact the administrator of the multifunction printer and request the administrator to reset the pattern, or request the administrator to delete the user's account and perform account registration again as a possible solution. In this case, it is cumbersome for the user to contact the administrator and for the administrator to implement the requested operation.

[0023] The present disclosure proposes an information processing device that enables a user who has forgotten a registered pattern for pattern authentication to receive pattern retransmission through the user's own operation and thus enables it to be used again.

[0024] Embodiments for implementing the present disclosure will now be described with reference to the drawings.

[0025] First embodiment

[0026] An embodiment of the present disclosure will now be described by taking an information processing device (MFP (Multi-Function Peripheral) having a printing function and a reading function for copying, printing, scanning, etc.) to which the technology of the present disclosure is applicable as an example. The information processing device may be an inkjet printer. The technology of the present disclosure may be applied to any type of information processing device as long as the device is equipped with a touch sensing panel.

[0027] System Configuration

[0028] Now refer to Figure 1 The system configuration of the present embodiment is described. The MFP 101 is a multifunction peripheral to which the technology of the present disclosure is applicable, and is a so-called multifunction printer. The MFP 101 can receive a print job from a terminal (eg, PC 102 ) connected thereto via a network LAN 103 .

[0029] Hardware Configuration

[0030] Figure 2 2 is a simplified diagram of the hardware configuration of the MFP 101. The CPU 201 is a central arithmetic device (processor) that controls the overall operation of the MFP 101. A RAM (Random Access Memory) 203 is a volatile memory configured to provide a work area, and is used as a temporary storage area for loading various control programs stored in a ROM (Read Only Memory) 202 and a HDD (Hard Disk Drive) 204.

[0031] The ROM 202 is a nonvolatile memory and stores therein a boot program and the like of the MFP 101. The HDD 204 is a nonvolatile hard disk having a capacity larger than that of the RAM 203. Programs for MFP control are stored in the HDD 204. In addition to the control programs, an OS (Operating System) and application programs are also stored in the HDD 204.

[0032] When the MFP 101 is started, the CPU 201 runs a boot program stored in the ROM 202. The boot program is run to read out a program of an OS (Operating System) stored in the HDD 204 and load it onto the RAM 203. After running the boot program, the CPU 201 runs the program of the OS loaded onto the RAM 203 to control the MFP 101. Data for the operation of the control program is also loaded onto the RAM 203, and the CPU 201 performs reading and writing of the data.

[0033] Although it is assumed here that a single CPU 201 performs each process in the flowchart described later, any other type of configuration may be adopted for the MFP 101. For example, a plurality of CPUs and microprocessors (MPUs) may work together to perform each process in the flowchart described later. Part of the process described later may be performed using a hardware circuit such as an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like.

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

[0035] The communication unit 208 is a network interface for connecting to the Internet, an office LAN (local area network), etc. The IC card reader 209 is a device for reading information for user authentication from an IC card. This unit is required to implement IC card authentication. In the present embodiment, a multifunction printer (MFP 101) having a printer function and a scanner function is taken as an example; however, the scope of application of the technology disclosed in the present invention is not limited to a multifunction printer, and the technology disclosed in the present invention can be applied to any type of information processing device as long as the device includes an operation panel capable of receiving input of pattern information.

[0036] Software Configuration

[0037] Figure 3 3 is a simplified diagram of the software configuration of the MFP 101. The local UI 301 of the MFP 101 provides a user interface displayed on the display of the operation panel 205. The local UI 301 includes a menu for the user to select a function, an application, and a UI platform for controlling screen transitions, etc. For example, the following applications are included: a copy application that provides a copy function to the user by controlling the printer 206 and the scanner 207, a scan and send application that provides a function of scanning a document and sending the scanned document data to the user by controlling the scanner 207 and the communication unit 208, and the like.

[0038] The remote UI 302 has an HTTP (Hypertext Transfer Protocol) server function and provides a user interface written in HTML (Hypertext Markup Language) to a user who performs remote access. The user can access the remote UI 302 by using a Web browser of a PC terminal to receive HTML and display various screens on the Web browser, and can make setting changes of the MFP 101 and use its functions by giving user instructions.

[0039] 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. The driver acquires IC card information from an IC card and provides the login service 303 with the IC card information.

[0040] User Accounts

[0041] The user accounts managed by the login service 303 will now be described. The login service 303 stores and manages user accounts in a user account table (such as the user account table shown in Table 1). The user account table (Table 1) is a database stored in the HDD 204. In the case where the communication path and storage are encrypted and tamper-proof protected, the databases of other nodes on the network can be used. User names, passwords, card IDs for IC card authentication, patterns, roles, email addresses, etc. are included in the user account table.

[0042] Table 1

[0043] username password Card ID pattern Role email address Admin ******** F1EABB15... [3,7,11,12,8,6] administrator admin@ΔΔΔ.com Alice ******** 44E7158E... [1,10,14,11,7] administrator alice@ΔΔΔ.com Bob ******** 045BB438... Normal User bob@ΔΔΔ.com Carol ******** 19E313B6... Normal User carol@ΔΔΔ.com Dave ******** BDFDB35... Restricted Users dave@ΔΔΔ.com

[0044] "User name" is identification information for user identification. "Password" is information that needs to be input when performing user authentication based on the user's identification information and the user's password. "Role" is information indicating the user's authority to use MFP 101. An example of roles and usage rights is shown in the role information table (Table 2) disclosed below. In addition to the definition of roles included in the default settings at factory shipment, MFP 101 can also be configured so that a user can create a new role by setting detailed usage rights.

[0045] Table 2

[0046] Role Permissions administrator Allows you to change settings, allows you to print in color, allows you to edit the address book Normal User Do not allow changing settings, allow color printing, allow referring to address book Restricted Users Changing settings is not allowed, color printing is not allowed, and address book reference is not allowed

[0047] User authentication function

[0048] Next, we will refer to Figure 4 , Figure 5 and Figure 6 The user authentication function that the MFP 101 has is described. Figure 4302 is a diagram showing an example of a UI (User Interface) for user authentication setting of the MFP 101 provided by the remote UI 302. Not only the shown UI but also a similar UI may be provided to the administrator via the local UI 301.

[0049] The user authentication setting 401 is an example of a remote UI screen for performing user authentication settings. Only users with an administrator role are eligible to access this screen. Although not shown, the login service 303 displays a login screen created in HTML to a user accessing the remote UI 302. On the login screen for accessing the remote UI 302, user authentication is performed based on a user name and password, thereby checking whether the user is authorized to access the remote UI 302.

[0050] The local UI login method setting 402 is an example of a user interface for setting a method of how to perform local UI login. As a selection of a method of how to perform local UI login, one or more can be selected from "keyboard authentication", "simple login" and "IC card authentication". For example, if multiple login methods are selected, each user will be required to perform two login operations to enable the use of a multifunction printer. Each of these login methods will now be described.

[0051] Keyboard Authentication

[0052] Keyboard authentication provides a method for logging in by entering a user name and password on the login screen. Figure 6 An example of a login screen based on keyboard authentication is shown in 602 of FIG. When a user name and a password are input, a hardware key provided on the MFP 101 or a software key not shown is used.

[0053] Simple login

[0054] Simple login provides a method for logging in by displaying a pre-registered user button on the login screen. An icon image serving as a user avatar and a user name are displayed on the button. The user is required to select a button corresponding to the user avatar, thereby being allowed to log in to the MFP 101. In order to prevent unauthorized login, simple login can be used in combination with pattern authentication. In the case where the user sets a pattern for pattern authentication, the user is identified based on the button selection, and the identified user is subjected to pattern authentication. Pattern authentication will be described in detail later.

[0055] Figure 6An example of a login screen based on simple login is shown in 603. When keyboard authentication is turned on (ON) in addition to simple login, a button for switching the display to the keyboard authentication screen is displayed on the simple login screen 603. When IC card authentication is turned on in addition to simple login, the user is identified by holding the user's IC card over the IC card reader 209 (instead of pressing a button) while the simple login screen 603 is displayed.

[0056] IC card authentication

[0057] User authentication is performed using the user's IC card. Figure 6 An example of a login screen based on IC card authentication is shown in 604 of FIG. In IC card authentication, a card ID is obtained from an IC card of a user held above the IC card reader 209, and a user associated with the card ID is identified by looking up a user information table, and the identified user is allowed to log in to the MFP 101. In order to prevent fraudulent use or counterfeiting of IC cards by unauthorized third parties, IC card authentication can be used in conjunction with pattern authentication. In the case where the user sets a pattern, after IC card authentication, pattern authentication is performed on the user identified by the card ID. Combining the former authentication based on the ownership element of the IC card with the latter authentication based on the knowledge element of the pattern realizes a dual-factor authentication function.

[0058] The login screen display method setting 403 is an example of a user interface for setting the timing of displaying the login screen. As the timing of displaying the login screen, "when the MFP is started to be operated" or "when a function is selected" can be set.

[0059] In the case where "When selecting a function" is selected, a function requiring login is further selectively set.

[0060] For example, the default selection when the MFP 101 is shipped is "When selecting a function", and "Personal settings" and "Management settings" are further set by default as functions requiring authentication. When "When selecting a function" is set, a menu screen 601 is displayed when the MFP 101 is started. Then, when the user selects "Personal settings" or "Management settings" as functions requiring authentication, a login screen (602, 603, 604) is displayed, and user authentication is performed.

[0061] When "When starting to operate MFP" is set, a login screen (602, 603, 604) is displayed when MFP 101 starts up, and each user who uses the menu screen 601 of MFP 101 is required to undergo authentication. The user performs a login operation on the login screen, and if user authentication succeeds, the menu screen is displayed.

[0062] Pattern reset setting 404 is a setting about the reset of the pattern. Pattern reset setting 404 provides a choice of whether to enable the function of "automatically resending the pattern when the user forgets the pattern". Pattern automatic generation condition setting 405 is a setting about the condition of automatic generation of the pattern. Automatic pattern generation condition setting 405 provides a choice of whether to set the condition of automatic generation of the pattern in detail. For example, the number of turns, the number of points and the angle limit can be set. In general, there are more combinations of patterns with complex shapes (including more turns, more points, and turns with acute angles and / or obtuse angles), and therefore it is safer. However, such patterns with complex shapes are cumbersome for users to input and are prone to input errors. For this reason, it is recommended that the administrator decide the conditions of the pattern to be generated while maintaining a good balance between security and user convenience.

[0063] User Management

[0064] The user account management 406 is an example of a user interface for managing the accounts of users using the MFP 101. This user interface provides a function of registering a new user account and a function of selecting a registered account and editing or deleting it. For example, assume that "Admin" selects the account of "Alice" in the user account management 406 and presses the edit button. In this case, the remote UI 302 displays Figure 5 The user editing screen is shown.

[0065] On the user editing screen, you can edit and save passwords, card IDs, roles, email addresses, icon images to be displayed on the button for simple login, etc. In addition, the user editing screen provides a pattern registration status display function so that the administrator can understand the registration status of ordinary users' patterns. In addition, considering the case where ordinary users who have forgotten to register patterns request the administrator to reset the pattern, the user editing screen provides a function to delete the registered pattern. Since pattern registration should be performed by each individual ordinary user via the local UI, the function of the administrator registering other people's patterns is not provided.

[0066] Pattern Registration Method

[0067] Next, we will refer to Figure 7 Describes how to register a pattern for authentication. Figure 7 The screen flow for the case where “IC card authentication” is set in the local UI login method setting 402 and “when starting to operate the MFP” is set in the login screen display method setting 403 is shown.

[0068] Operation and screen flow of pattern registration

[0069] The operation and screen flow of pattern registration will now be described. In a state where the login screen 604 based on IC card authentication is displayed, the user holds the user's own IC card above the IC card reader 209 to log in to the MFP 101. When successfully logged in to the MFP 101, the menu screen 601 is displayed. The user who wants to use pattern authentication selects "Personal Settings" on the menu to display the personal settings screen 701. "Personal Settings" provides a registration function and a change function related to the authentication information of the individual user and its profile. For example, the following functions are provided on the personal settings screen 701: a function of "registering / changing an icon image used as a user avatar", a function of "password registration / change", a function of "pattern registration / change", etc.

[0070] When the user selects "Pattern registration / change" on the personal setting screen 701, the pattern registration / change screen 702 is displayed. For example, on the pattern registration / change screen 702, a matrix consisting of a total of 16 dots arranged in four columns and four rows is displayed, and the user is required to move the user's fingertip on the screen area where the dots are displayed to draw an arbitrary shape thereon. In order to prevent input errors, the user may be required to input the same shape more than once. For example, the points passed by the user's fingertip and their order are stored as pattern information in the user account table (Table 1) in association with the account of the currently logged-in user. For example, Fig.16 As shown in 16A in FIG. 1 , pattern information can be stored by internally numbering dots arranged in a 4×4 layout (16 dots).

[0071] For example, the pattern shape (pattern information) shown on the pattern registration / change screen 702 can be expressed as "1, 2, 3, 4, 7, 10, 13, 14, and 15". The pattern information is encrypted when it is stored in the user account table (Table 1). Alternatively, the pattern information can be stored after being converted into a digest by using a hash function. Generally, it is recommended to generate a digest by using PBKDF2 (password-based key derivation function 2). Therefore, the salt used for PBKDF2 and the digest calculated by PBKDF2 can be stored. When the pattern information is successfully registered, a screen 706 is displayed to let the user know that the registration has been completed. When the user closes the screen 706, the display returns to the personal settings screen 701.

[0072] A button 703 for going to the screen for automatic generation of patterns may be displayed on the pattern registration / change screen 702. In the case where the administrator has not set 405 the conditions for automatic generation of patterns, a screen 704 may be displayed, and the user may be allowed to set the conditions for automatic generation of patterns by himself. In the case where the administrator has set 405 the conditions for automatic generation of patterns, the pattern is automatically generated according to the conditions set by the administrator. The automatically generated pattern is displayed on the screen 705. After memorizing the pattern, the user presses the registration button. The system is preferably configured so that the user is allowed to press the "auto generate" button again if the user does not like the automatically generated pattern. Note that the numbers shown on the points on the screen 705 do not refer to the numbers of the internal point numbers, but refer to the selection order of the points in the generated pattern.

[0073] A setting for forcing the user to use a pattern may be provided, and a user who logs in for the first time through IC card authentication or through simple login may be guided to display of the pattern registration / change screen 702 so that setting of a pattern will be necessary.

[0074] Registrable Patterns

[0075] In this embodiment, the patterns that users can register are based on the following rules:

[0076] ●4 or more points must be selected.

[0077] ● Assuming that two selected points are connected to each other by a straight line segment, the intermediate points between them are considered to be selected in order from the point located closer to the starting point of the selection. That is, it is assumed that two points are selected in the order of 1→4. In this case, assuming that the internally numbered points 2 and 3 have not been selected, it is considered that the selection of "1, 2, 3, and 4" is performed in sequence through the swipe.

[0078] ● An already selected point cannot be selected again. However, it is allowed to select another point by passing through the already selected point. That is, suppose that the user moves the user's fingertip through the points in the order of "1, 6, 11, 7, 3, 6, and 9" when registering a pattern. In this case, the second passing through point No. 6 will not be recorded. Therefore, the pattern stored in this case is "1, 6, 11, 7, 3, and 9".

[0079] The above rules are just examples. Even if rules different from the above rules are adopted, the technology of the present disclosure can be applied. This example should not be understood as a limitation on the content of the present disclosure.

[0080] Operations performed during pattern authentication

[0081] Next, we will refer to Figure 8 Describes the operations performed during pattern authentication. Figure 81 is a diagram showing screen transitions for a case where a user who has registered pattern information logs in to the MFP 101 by using simple login and pattern authentication.

[0082] In a state where the simple login screen 603 is displayed, the user presses a button on which the user's own name and the user's own avatar image are displayed, thereby attempting to log in to the MFP 101 .

[0083] The login service 303 identifies the user account corresponding to the pressed button.

[0084] The user account table (Table 1) is looked up to confirm that there is a registered pattern for the identified user account, and the pattern authentication screen 801 is displayed.

[0085] The user touches the pattern input area displayed on the operation panel 205 with a finger, and then slides the finger without releasing the fingertip from the operation panel 205, thereby selecting a point to draw a pattern shape. While the user is performing the finger sliding operation, in order to ensure that the operation panel 205 is not peeped by any third-party user and to prevent the input pattern shape from being guessed based on the graphic action of the operation panel 205, it is best not to change the appearance of the point or display the line between the points or display the finger trajectory. However, if there is no UI response at all, the user may feel uncertain and suspect that the UI is down, which is not the case. To avoid this, a response to the pattern input can be made by changing the display of the indicator 802.

[0086] After drawing the pattern shape, the user releases the fingertip from the operation panel 205. When the release is detected, the input pattern shape is converted into an internal storage format (such as "1, 2, 3, 4, 7, 10, 13, 14, and 15" or a hash value) so that it can be compared with pre-stored data. Pattern authentication is performed by comparing the input pattern shape with the pre-registered pattern of the identified user.

[0087] In the case where the patterns match, the authentication is successful, and the user is allowed to log in to the MFP 101. Specifically, information about the successfully authenticated user is read from the user account table (Table 1) into the RAM 203, and a structure for storing user information of the currently logged in user (hereinafter referred to as "login context") is presented as an instance. As shown in Table 3, the information stored in the login context includes a user name, a role, an email address, and the like.

[0088] Table 3

[0089] project value username Alice Role administrator email address alice@ΔΔΔ.com

[0090] The login service 303 notifies the local UI 301 of the user's login to the MFP 101 together with the login context. The local UI 301 displays a menu screen 601. In the case where the input pattern does not match the pre-registered pattern, a pattern authentication screen 804 is displayed with a message indicating that the authentication is unsuccessful. If the automatic pattern resending function is enabled, the automatic pattern resending function is provided to the user. In the case where the user fails in pattern authentication for a predetermined number of consecutive times, the automatic pattern resending function displays a screen 805 including the following questions: "Forgot your pattern?"; "Do you need a new pattern to be issued?". The predetermined number of times can be one or three times. The predetermined number of times can be preset by the administrator. If the user presses the "Yes" button 806, the login service 303 automatically generates a new pattern and notifies the email address that is the user's notification address. When the email sending is completed, a screen 807 including a message meaning that the email has been sent is displayed.

[0091] Automatically generate patterns and notify processing flow

[0092] Now refer to Fig. 9 The flowchart of describes the process of automatically generating a pattern and the process of email notification after the user presses the "Yes" button 806. In the present embodiment, the steps of the process described below are recorded in a software program such as the login service 303. The software program is stored in a nonvolatile storage device such as the ROM 202, the HDD 204, etc., is loaded onto the RAM 203, and is run by the CPU 201 to execute the process.

[0093] The processing in this flowchart is started as follows: The login service 303 receives a pattern generation instruction by detecting that the user presses the "Yes" button 806 on the screen 805 (S901), and starts the pattern generation processing.

[0094] In S902, the login service 303 automatically generates a pattern. In S903, the login service 303 stores information about the generated pattern in association with the account of the identified user in the HDD 204. In this step, the login service 303 can determine whether the automatically generated new pattern is the same as the pattern currently used by the user, and if so, the pattern generation process in S902 can be repeated until a different pattern is generated. In the case where there is a log of patterns used in the past, the login service 303 can determine whether the automatically generated new pattern is the same as any pattern used in the past, and if so, the pattern generation process in S902 can be repeated until a different pattern is generated.

[0095] Next, in S904, the login service 303 notifies the user of the newly generated pattern. Specifically, the user account table (Table 1) is searched to obtain the email address associated with the identified user's account, and an email notification of information about the automatically generated pattern is made to the destination specified by the email address. Fig.10 An example of this notification email is shown.

[0096] In example 10A, an image showing information about the automatically generated pattern is attached to an email. The login service 303 generates an image file in an image format such as JPEG, GIF, BMP, PNG, etc. based on the information about the automatically generated pattern, and attaches the image file to the email. The text of the email contains a "Please find the attached image" message. Note that the numbers shown on the points in 10A do not refer to the numbers of the internal point numbers, but to the order in which the user selects the points. Instead of numbers, the selection order can be shown by using arrows, symbols indicating the starting and ending points, and / or graphical representations.

[0097] Example 10B discloses the following situation: information about the automatically generated pattern is not transmitted in the form of an image, but in the form of text in the body of an email. The internal point numbers and the selection order are expressed as sentences. Instead of numbers, the selection order can be shown by using arrows and / or symbols indicating the start and end points. Email sending is performed using common email protocols such as SMTP, POP, and IMAP. Images can be attached using the MIME (Multipurpose Internet Mail Extensions) standard.

[0098] By confirming the received email, the user can know the automatically generated new pattern shape. The user can log in by entering a new pattern on the pattern authentication screen 801, which is displayed in response to the user pressing a button on which the user's own name and the user's own avatar image are displayed on the simple login screen 603.

[0099] The automatically generated pattern may be stored as a temporary pattern different from the currently set pattern. In the case where the new pattern notified by e-mail is not used for login within a predetermined time, it is preferable to delete the temporarily stored new pattern and return to a state where the currently set pattern can be used. This can thwart a deliberate attempt by a third party to tamper with the user's pattern.

[0100] When the user logs in by using a new pattern notified by e-mail, a pattern change screen can be displayed on the operation panel 205 to allow the user to set a new pattern by himself. This can reduce the risk of the new pattern becoming known to a third party user who intercepts the e-mail by illegal means or a third party user who peeks at the e-mail.

[0101] Detailed process of S902

[0102] The detailed flow of the automatic pattern generation process in S902 (from S911 to S917 ) will now be described.

[0103] In S911, the login service 303 obtains pattern generation conditions. If the administrator has set one or more pattern generation conditions (number of turns, number of points, angle limit) via the UI of the automatic pattern generation condition setting 405, these conditions are obtained. If the administrator has not set pattern generation conditions, generation can be performed under the default conditions at the factory.

[0104] Next, in S912, the login service 303 randomly selects a starting point from the 16 points of the pattern matrix. For example, if the program is a Java program, a number randomly selected from 1 to 16 can be substituted into i by using the standard function shown below. Since nextInt(16) generates a random number from 0 to 15, 1 is added to it. In the case where the function of nextInt(16) cannot be used, the division remainder calculated by dividing a random number with an appropriate length by 16 can be used instead of nextInt(16).

[0105] SecureRandom sr=SecureRandom.getInstance("SHA1PRNG");

[0106] int i=sr1.nextInt(16)+1.

[0107] The selected point is stored in the selected point list as a selected point.

[0108] Next, in S913, the login service 303 randomly selects a subsequent point. In S913, one or more subsequent points are selected. The process of S913 will be explained in detail later. The selected points are stored in the selected point list in the order of selection. Next, in S914, the login service 303 counts the number of points stored in the selected point list. In the case where the pattern generation condition includes the number of turns, in S915, the number of turns is calculated by using the selected point list. How to calculate the number of turns will be explained in detail later.

[0109] Next, in S916, the number of selected points calculated above and the calculated number of turns are compared with the pattern generation condition (e.g., number of turns: 3 turns; number of points: 4 to 9 points) to determine whether other subsequent points need to be selected or the subsequent selection process should be terminated. In the case where the pattern generation condition has not been met, the processing from S913 to S916 is repeated, and the subsequent point selection process is continued until the condition is met. The step S915 can be skipped because the number of turns does not need to be calculated before selecting 4 or more points (4 is a number required by the rule). For example, when the number of turns set is 3, the subsequent point selection process is continued until the number of turns is judged to be 4, instead of terminating the subsequent point selection process at the time point when the number of turns is judged to be 3. This is because the subsequent points after the third turning point are not always turning points. Therefore, the subsequent point selection process is continued until the number of turns is judged to be 4. In the case where the upper limit of the number of points set is 9, the subsequent point selection process is terminated when 9 or more points are included in the selected point list.

[0110] Next, in S917, the login service 303 determines whether the condition is satisfied according to the pattern of the selected point list. For example, in the case where the number of selected points is more than 10 or the number of turns is more than 4, the condition is not satisfied; therefore, in this case, in S918, the last point is deleted from the selected point list. Then, the processing flow returns to S917, the number of points and the number of turns are calculated again, and it is further determined whether the condition is satisfied. The processing in S917 and S918 is repeated until the condition is satisfied.

[0111] When it is determined in S917 that the condition is satisfied, the automatic pattern generation process ends. At this time, the points included in the selected point list and their selection order specify the pattern shape.

[0112] Detailed process of S913

[0113] The detailed flow of the process of randomly selecting a subsequent point in S913 (from S921 to S924) will now be described. The login service 303 performs subsequent point selection by using the subsequent point candidate list. Fig.11An example of a static subsequent point candidate list is shown. Example 11A is a table for a case where no restrictions are imposed on the subsequent point candidates. For example, the first row represented by reference numeral 1101 in the table of 11A indicates that the points that can be moved from point No. 1 are "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, and 16" excluding point No. 1 itself. The second row represented by reference numeral 1102 in the table indicates that the points that can be moved from point No. 2 are "1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, and 16" excluding point No. 2 itself. The same is true for subsequent rows.

[0114] Example 11B is a table for situations where restrictions are imposed on subsequent point candidates. For example, the first row represented by reference numeral 1103 in the table of 11B indicates that the points that can be moved to from point 1 are "2, 3, 4, 5, 9, 13, 6, 11, and 16", as shown by the vector in 1105. That is, for example, the following pattern shape is not permitted, which includes an angle that requires selecting point 7 while passing through the gap between point 2 and point 6 as shown by vector 1→7 in 1106. In other words, turning at any angle other than 45°, 90°, and 135° is not permitted. The second row represented by reference numeral 1104 in the table indicates that the points that can be moved to from point 2 are "1, 3, 4, 5, 6, 10, 14, 7, and 12". The same is true for subsequent rows.

[0115] In the case where the administrator has enabled "apply angle restriction" in the automatic pattern generation condition setting 405, in S921, the static subsequent point candidate list 11B is acquired and used. For example, if the last selected point is point No. 2, "1, 3, 4, 5, 6, 10, 14, 7, and 12" on the second line of 11B are acquired as the static subsequent point candidate list.

[0116] Next, in S922, the login service 303 creates a dynamic subsequent point candidate list by removing the points stored in the selected point list from "1, 3, 4, 5, 6, 10, 14, 7, and 12" of the static subsequent point candidate list. If the points stored in the selected point list are "1 and 2", the dynamic subsequent point candidate list is "3, 4, 5, 6, 10, 14, 7, and 12".

[0117] In the case where the administrator does not enable "Impose Angle Limit", all points except the selected point are candidates. Therefore, a dynamic subsequent point candidate list can be created by deleting points stored in the selected point list from the list of all points without using Table 11A.

[0118] For example, if the points stored in the selected point list are "1 and 2", the dynamic subsequent point candidate list is "3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16" obtained by removing the selected points from the list of all points.

[0119] Next, in S923, the login service 303 randomly selects a subsequent point from the created dynamic subsequent point candidate list. For example, in the case where the dynamic subsequent point candidate list contains 8 points, indexes 1 to 8 are assigned to "3, 4, 5, 6, 10, 14, 7 and 12" from the beginning, respectively, a random number I from 1 to 8 is generated, and the Ith point indexed by the generated random number is selected as the subsequent point. For example, if the generated random number is 6, point No. 14 is selected, which is the sixth point in the list.

[0120] Next, the login service 303 checks whether there are any intermediate points that are selected to be skipped. In the event that there are intermediate points, the intermediate points are interpolated in order from the point located closer to the starting point of the selection. For example, if point 2 and point 14 are connected to each other by a straight line segment, then point 6 and point 10 are located between them. If neither point 6 nor point 10 is included in the selected point list, 6 and 10 are interpolated after 2, and the selected point list is overwritten as "1, 2, 6, 10, and 14." In order to check whether there are any intermediate points, the login service 303 includes Fig.12 For example, by checking Fig.12 The rows of the table shown in FIG. 1200 are searched for a table row starting with the start point 2 and ending with the end point 14. As a search result, row 1201 is found, and it is found that there are intermediate points No. 2 and No. 6.

[0121] The table shown in 12C defines a set of start points and end points that are difficult to select without passing through the intermediate points between them (although, to be precise, these intermediate points are not on a straight line). For example, row 1202 indicates that when a selection of 1→15 is made, it is difficult to select point 15 without passing through the intermediate points 6 and 10 between them. For this reason, in the case of randomly selecting point 15 as the subsequent point after point 1, the intermediate points 6 and 10 are interpolated by being considered as selected. Similarly, row 1203 indicates that when a selection of 1→14 is made, it is difficult to select point 14 without passing through the intermediate points 5 and 10 between them. For this reason, in the case of randomly selecting point 14 as the subsequent point after point 1, the intermediate points 5 and 10 are interpolated by being considered as selected.

[0122] Even in the case where no angle restriction is imposed, the use of the 12C table can prevent the generation of a pattern that is actually difficult to trace with a fingertip. Through the above process, when the subsequent points are randomly selected in S913, one to three points are added to the selected point list.

[0123] Method for calculating the number of turns taken

[0124] The method of calculating the number of turns in S915 will now be described in detail. In order to calculate the number of turns, the login service 303 includes a pre-stored vector table, each vector table including a group of movements in the same direction (with the same vector) from the starting point to the end point, such as Fig.13 shown.

[0125] For example, in the case where the selected point list is "1, 2, 6, 10, and 14", the combination "1, 2" is searched through Tables 13A to 13H. The combination "1, 2" can be found in Table 13A; therefore, it is stored that Table 13A contains this combination. Next, the combination "2, 6" is searched as a subsequent move. The combination "2, 6" can be found in Table 13C, which is different from the stored Table 13A. In the case where the table where the combination can be found is different from the stored table, it is determined that a turn has been made, and the count of the number of turns is incremented.

[0126] The last searched table is stored, and then the combination "6, 10" is searched. The combination "6, 10" can be found in the same table 13C as before; therefore, it can be determined that the turn has not been made. As described above, by using Fig.13 The vector table in the table searches for each pair of two points from the head of the selected point list in turn, and the number of turns can be calculated. For a combination of two points that cannot be found in any table in Tables 13A to 13H, there is no continuous vector between the two points in any case. Therefore, if the combination cannot be found in any table in Tables 13A to 13H, it is determined that a turn has been made, and the count of the number of turns is incremented.

[0127] First example of pattern generation

[0128] Now refer to Fig.14 Describes the process of a series of processing of pattern generation and the changes of the selected point list. Column 1401 shows Fig. 9 Column 1402 shows an example of the dynamic subsequent point candidate list used in S923. Column 1403 shows an example of the results obtained from each process. Column 1404 shows the change of the selected point list. Column 1405 shows the number of points obtained from the selected point list. Column 1406 shows the number of turns calculated based on the selected point list.

[0129] In the process No. 1, the pattern generation conditions are acquired. Assume that the following conditions are acquired: "Number of turns: 3 turns", "Number of points: 4 to 9 points", and "Angle restriction applied". Since the angle restriction is turned on, the static subsequent point candidate list 11B is used. This process corresponds to Fig. 9 The processing in S911.

[0130] In the process No. 2, it is assumed that "3" is selected as the random selection result of the starting point. Therefore, "3" is stored in the selected point list. This process is the same as Fig. 9 In process 3, the available choices in the subsequent point candidate list are "1, 2, 4, 6, 9, 7, 11, 15, and 8". Assume that "11" is randomly selected. This process is the same as Fig. 9 In the process No. 4, the intermediate point interpolation is performed. Since point No. 7 is between point No. 3 and point No. 11, the intermediate point No. 7 is interpolated. Therefore, the content of the selected point list becomes "3, 7 and 11". This process is the same as Fig. 9 In step 5, the number of points obtained from the selected point list and the calculated number of turns are used to determine the termination. At this time, the number of points is only 3, which does not reach the required minimum number of points of 4. Therefore, it is determined here that the subsequent point selection process should be continued. This process is similar to Fig. 9 The processing in S914, S915 and S916 corresponds to the processing in S914, S915 and S916.

[0131] In the process No. 6, the subsequent point is further randomly selected. The dynamic subsequent point candidate list used here is "1, 6, 7, 8, 9, 10, 12, and 14" obtained by removing the selected points from the static subsequent point candidate list of "11". Assume that "12" is selected here. The content of the selected point list becomes "3, 7, 11, and 12". This process is the same as Fig. 9 The processing in S923 of 7 corresponds to the processing in S924. In the processing of No. 7, the termination judgment is performed. Although the number of points has reached 4, the condition of 3 turns has not been met. Therefore, it is judged here that the subsequent point selection processing should be continued. This processing is the same as Fig. 9 The processing in S916 of corresponds to . In the processing of No. 8, the subsequent points are further randomly selected. Assume that "8" is selected here. The content of the selected point list becomes "3, 7, 11, 12 and 8". This processing is the same as Fig. 9 In the process No. 9, the termination judgment is performed. Since the condition of three turns has not been met, it is judged here that the subsequent point selection process should be continued. This process corresponds to Fig. 9 The processing in S916.

[0132] In the process No. 10, the subsequent points are further randomly selected. Assume that "6" is selected here. The content of the selected point list becomes "3, 7, 11, 12, 8, and 6". Although point No. 7 is between points No. 8 and No. 6, since point No. 7 has already been selected, interpolation is not performed. This process is the same as Fig. 9 The processing in S923 of 11 corresponds to the processing in S924. In the processing in step 11, the termination judgment is performed. Although three turns are made, point 5 may be selected as the subsequent point without turning again. Therefore, it is judged here that the subsequent point selection processing should be continued. This processing is the same as Fig. 9 The processing in S916 of corresponds to . In the processing of No. 12, the subsequent point is further randomly selected. Assume that "14" is selected here. This processing is the same as Fig. 9 In the process No. 13, the intermediate point interpolation is performed. Since point No. 10 is between point No. 6 and point No. 14, the intermediate point No. 10 is interpolated. Therefore, the content of the selected point list becomes "3, 7, 11, 12, 8, 6, 10 and 14". The pattern generated at this time can be shown as pattern 1407. This process corresponds to Fig. 9 The processing in S924.

[0133] In the process No. 14, a termination judgment is made. Since the number of turns is 4 (exceeding 3), it is judged here that the subsequent point selection process should be terminated. Fig. 9 The processing in S916 of 15 corresponds to the processing in S916. In the processing in step 15, it is determined whether the condition is satisfied. Since the number of turns is 4, the result of the determination is "No". Fig. 9 In the process No. 16, the last point (point No. 14) in the selected point list is deleted. Therefore, the content of the selected point list becomes "3, 7, 11, 12, 8, 6 and 10". This process is the same as Fig. 9 In the process No. 17, the "number of points" and "number of turns" are calculated according to the selected point list, and it is judged whether the conditions are met. Since the number of turns is still 4, the judgment result is "no". This process corresponds to Fig. 9 The processing in S917.

[0134] In the process No. 18, the last point (point No. 10) in the selected point list is deleted to change the content of the selected point list to "3, 7, 11, 12, 8 and 6". Fig. 9 In the process No. 19, it is determined whether the generated pattern meets the conditions. Since the number of points is 6 and the number of turns is 3, the result of the determination is "yes". Fig. 9The processing in S917 of FIG. 1408 corresponds to the processing in S917 of FIG. 1409 . The selected point list “3, 7, 11, 12, 8 and 6” is used as the final generated pattern. The final generated pattern can be shown as pattern 1408 .

[0135] Second example of pattern generation

[0136] Now refer to Fig.15 Describes the flow of a series of processing for pattern generation and a variation example of changes in the selected point list. In processing No. 1, the pattern generation conditions are obtained. Assume that the following conditions are obtained: "Number of turns: 3 turns", "Number of points: 4 to 9 points", and "No angle restriction is imposed". Since no angle restriction is imposed, the dynamic subsequent point candidate list is a list obtained by removing the selected points from all points. This processing is the same as Fig. 9 The processing in S911 of . In the processing No. 2, the starting point is randomly selected. Assume that as a result of the random selection, "1" is selected. Therefore, "1" is stored in the selected point list. This processing is the same as Fig. 9 In the process No. 3, the list of subsequent point candidates used is "2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16". Assume that "10" is randomly selected here. This process corresponds to Fig. 9 The processing in S923.

[0137] In the process No. 4, the termination judgment is made. At this time, the number of points is only 2, which does not reach the required minimum number of points 4. Therefore, it is judged here that the subsequent point selection process should be continued. This process is the same as Fig. 9 The process in S916 corresponds to the process in S916.

[0138] In the process No. 5, the subsequent point is further randomly selected. Assume that "14" is selected here. This process corresponds to Fig. 9 In the processing of S923 of step 6, the termination judgment is performed. At this time, the number of points is only 3, which does not reach the required minimum number of points 4. Therefore, it is judged here that the subsequent point selection processing should be continued.

[0139] This processing and Fig. 9 In the process No. 7, a subsequent point is further randomly selected. Assume that "4" is selected here. This process corresponds to Fig. 9 The processing in S923.

[0140] In process 8, the intermediate points are interpolated. The table of 12C is searched, and points 11 and 7 between points 14 and 4 are interpolated. The content of the selected point list becomes "1, 10, 14, 11, 7, and 4". This process is the same as Fig. 9The processing in S924 of 9 corresponds to the processing in S924. In the processing of No. 9, the termination judgment is performed. Since the number of turns is 4 (exceeding 3), it is judged here that the subsequent point selection processing should be terminated. The pattern generated at this time can be shown as pattern 1501. This processing is the same as Fig. 9 In step 10, it is determined whether the generated pattern meets the condition. Since the number of turns is 4, the result of the determination is "No". Fig. 9 In the process No. 11, the last point (point No. 4) in the selected point list is deleted so that the content of the selected point list becomes "1, 10, 14, 11 and 7". This process corresponds to the process in S917 of Fig. 9 In the process No. 12, it is determined whether the generated pattern meets the conditions. Since the number of points is 5 and the number of turns is 3, the judgment result is "yes". Fig. 9 The resulting selected point list is “1, 10, 14, 11, and 7”, and the finally generated pattern can be shown as pattern 1502 .

[0141] The pattern generation function can be used not only to resend the pattern when the user forgets it, but also to Figure 7 The pattern generation when the initial pattern is registered as shown in 702 to 705 of FIG. In this case, the pattern generation instruction is received by operating the automatic pattern generation button, and the pattern generation instruction is started. Fig. 9 In this case, the notification source of the generated pattern in S904 is not the email but the UI 705.

[0142] This can provide an automatic pattern generation function to users who want to know what pattern to register. In addition, in general, automatically generated patterns are more difficult to guess and are therefore safer than patterns that users think of.

[0143] When the administrator initially registers a new general user account, the MFP may generate a pattern and notify the registered general user's email address of the pattern.

[0144] This allows you to preset patterns for each account when creating a new account.

[0145] Effects of the present disclosure

[0146] As described above, a user who forgets to register a pattern can receive a retransmission of the pattern through his own operation and log in to the MFP to enable it to be used again. In addition, in this embodiment, the conditions (number of points, number of turns, and turn angle) of the pattern to be generated can be limited. This can avoid poor user convenience due to the generation of overly complex pattern shapes.

[0147] Furthermore, in this embodiment, by making settings, the conditions of the pattern to be generated can be changed. This makes it possible to change the conditions of the pattern while taking into account a good balance between security required by the administrator and user convenience.

[0148] Other embodiments

[0149] Although a pattern example of a 4×4 matrix layout (16 dots) is described in the first embodiment, the technology of the present disclosure can be applied to a pattern of a 3×3 matrix layout (9 dots) such as Fig.16 16B in the figure) for automatic pattern generation.

[0150] This will be done by preparing a 3×3 matrix layout (9 points) with Fig.11 The subsequent point candidate list corresponding to the subsequent point candidate list of Fig.12 The point continuity table corresponding to the point continuity table of Fig.13 It is implemented by the vector table corresponding to the vector table.

[0151] Alternatively, pattern data for each possible combination can be pre-stored in the MFP, and when a request for pattern generation is received from a user, pattern data can be selected from a pre-stored list. For example, for pattern shapes that can be generated using 4 or more points on a 3×3 (9 points) matrix, there are approximately 380,000 patterns. Select one from the pattern data of the 380,000 patterns. For pattern shapes that can be generated using 4 or more points on a 4×4 (16 points) matrix, there are approximately 600 billion patterns. The number of patterns for pattern shapes with more than 4 points and less than 9 points is approximately 100 million. A large storage area is required to pre-store each pattern data. By storing pattern conditions and complexity (number of points, number of turns, turning angles) in association with pattern data, pattern data that meets specified conditions can be configured to be extractable from the storage area.

[0152] The present disclosure may be embodied in the following manner: a program that implements one or more functions of the above-mentioned embodiments is supplied to a system or device via a network or in the form of a storage medium, and one or more processors in a computer of the system or device read and run the program. The present disclosure may be embodied in a circuit (e.g., ASIC, FPGA) that implements one or more functions.

[0153] With the present disclosure, a user who has forgotten to register a pattern can receive pattern retransmission through the user's own operation and use the functions (including the printing function) of the information processing apparatus.

[0154] While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the present disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.

Claims

1. An information processing device configured to provide at least a printing function by performing authentication in a login operation, the information processing device comprising: a receiving component configured to receive an instruction for generating a pattern to be used in pattern authentication, the pattern authentication being one of the authentication methods in the login operation; a generating component configured to generate the pattern; a storage component configured to store the generated pattern; as well as A notification component configured to perform notification, wherein, in the event of a failure in the login operation, the generation component regenerates the pattern, and the notification component notifies a notification address corresponding to a user registered in the information processing device of information related to the pattern regenerated by the regeneration.

2. The information processing device according to claim 1, wherein: The notification means notifies information on the regenerated pattern by electronic mail.

3. The information processing device according to claim 1 or 2, wherein: The generating means generates a pattern satisfying a pattern generating condition set on a setting screen of a user authentication setting of the information processing apparatus.

4. The information processing device according to claim 3, wherein: The pattern generation condition set on the setting screen includes at least one of the number of points in the pattern, the number of turns, and the turning angle.

5. The information processing device according to claim 1, further comprising: A component configured to use a static subsequent point candidate list showing points to which each point can be moved from.

6. A control method of an information processing device, the information processing device being configured to provide at least a printing function by performing authentication in a login operation, the control method comprising: a receiving step for receiving an instruction for generating a pattern to be used in pattern authentication, wherein the pattern authentication is one of the authentication methods in the login operation; A generating step for generating the pattern; A storing step for storing the generated pattern; as well as A notification step for making a notification, wherein, in the case of a failure in the login operation, the pattern is regenerated in the generation step, and in the notification step, information related to the pattern regenerated by the regeneration is notified to a notification address corresponding to the user registered in the information processing device.

7. The control method according to claim 6, wherein: In the notification step, information on the regenerated pattern is notified by electronic mail.

8. The control method according to claim 6, wherein: In the generating step, a pattern satisfying a pattern generating condition set on a setting screen of a user authentication setting of the information processing device is generated.

9. The control method according to claim 8, wherein: The pattern generation condition set on the setting screen includes at least one of the number of points in the pattern, the number of turns, and the turning angle.

10. The control method according to claim 6, wherein: A static subsequent point candidate list showing points that can be moved to from each point is used. 11 . A non-transitory computer-readable storage medium storing a program for causing a computer to execute the control method according to claim 6 .

12. A computer program product comprising a program which, when executed by a computer, causes the computer to execute the method according to any one of claims 6 to 10.

Citation Information

Patent Citations

  • Image processing apparatus, authentication method, and authentication program

    JP2016170721A