Information processing device, information processing method, data structure and program
The information processing device enhances password security by calculating user-specific scores and determining personalized change methods, addressing the inflexibility and vulnerability of existing systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-12-11
- Publication Date
- 2026-03-10
AI Technical Summary
Existing password management systems are inflexible and prone to password reuse and vulnerability due to uniform change methods, leading to increased risks of unauthorized access and data theft.
An information processing device that calculates a password strength score based on user-specific factors and determines a personalized password change method, including adding or deleting characters and positions, to enhance password security.
This approach allows for flexible and tailored password changes, reducing the risk of unauthorized access by adapting to individual user circumstances and improving password strength.
Smart Images

Figure 2026041995000001_ABST
Abstract
Description
[Technical Field]
[0001] One aspect of the present invention relates to an information processing device, an information processing method, a data structure, and a program for managing passwords for authenticating users. [Background technology]
[0002] With the development of communication technology, online services such as internet banking and online shopping have become widespread. Generally, each user can log in to a system and receive services by entering account identification information, also known as a user ID, and an authentication password.
[0003] With the spread of these online services, password management has become a problem. Due to the complexity of managing numerous passwords, users often reuse the same password for multiple services. Using the same password for multiple services risks the password being leaked from one service and potentially being misused on other services. If a malicious third party uses a leaked password to log in as a genuine user, a so-called "spoofed login," this could result in the theft of personal information and the fraudulent use of cash and points. Meanwhile, there have also been reported cases where passwords have been cracked using a brute-force attack. Hereinafter, such logins or attempts by users other than the genuine user will be collectively referred to as "illegal attacks."
[0004] However, simply requiring users to change their passwords periodically is not a sufficient measure. If users are left to change their passwords, the new passwords may not be unique and may be easily guessed by third parties. Furthermore, password reuse across multiple services is likely to occur. Requiring users to change their passwords frequently tends to further encourage password reuse.
[0005] To prevent unauthorized attacks, a password generation device has been proposed that generates a new password by adding a pre-registered code string to the current password based on pre-set rules when the number of incorrect password entries reaches a predetermined number (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-310819 Summary of the Invention [Problem to be solved by the invention]
[0007] However, the technology of Patent Document 1 changes passwords based on predetermined rules, and is not a sufficiently flexible solution.
[0008] The present invention has been made in light of the above circumstances, and its object is to provide a password management technique that allows a password change method to be flexibly determined depending on the situation. [Means for solving the problem]
[0009] In order to solve the above problem, a first aspect of the present invention is an information processing device that manages passwords for authenticating users, and includes an acceptance unit that accepts a login request from the user, a score calculation unit that calculates a score indicating the need to improve the strength of the user's current password in response to the login request, an change method determination unit that determines a password change method for the user based on the calculated score, and a presentation unit that presents the determined change method to the user. [Effects of the Invention]
[0010] According to the first aspect, an information processing device that manages passwords for authenticating a user calculates a score that indicates the need to improve the strength of the user's current password, determines a password change method for the user based on the calculated score, and presents the determined change method to the user.
[0011] In this way, the information processing device determines the password change method taking into account the strength of the user's current password, so a different change method is determined for each user, rather than a uniform change method for all users. Also, since password changes are not left up to the user, the strength of the changed password can be expected to improve.
[0012] That is, according to one aspect of the present invention, it is possible to provide a password management technique that allows a password change method to be flexibly determined. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a diagram showing the overall configuration of a system including an information processing device according to an embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram showing the hardware configuration of an information processing apparatus according to an embodiment of the present invention. [Figure 3] FIG. 3 is a block diagram showing the software configuration of the information processing device according to the embodiment of the present invention. [Figure 4] FIG. 4 is a flowchart showing the processing procedure and processing contents of the information processing device shown in FIG. [Figure 5] FIG. 5 is a flowchart showing the procedure and content of the change method determination process from the procedure shown in FIG. [Figure 6] FIG. 6 is a diagram showing an example of a score calculation table used to calculate a password strength score. [Figure 7] FIG. 7 is a diagram showing an example of a change method determination table used to determine a password change method. [Figure 8]FIG. 8 is a diagram showing an example of an image of a notification of a password change method to a user. [Figure 9] FIG. 9 is a diagram showing an example of a management image of passwords and structure pattern codes. [Figure 10] FIG. 10 is a diagram illustrating an example of rules for generating structure pattern codes. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0015] [One embodiment] (composition) (1) System FIG. 1 is a diagram showing an example of the overall configuration of a system including an information processing device according to an embodiment of the present invention. This system enables communication between an information processing device 1 and user terminals UT1, UT2, . . . UTi (hereinafter collectively referred to as "user terminals UT") used by users via a network NW.
[0016] The user terminal UT includes any type of client terminal, such as a smartphone, a tablet terminal, a mobile phone, or a personal computer, and is equipped with a browser or an application that replaces it.
[0017] The network NW is composed of, for example, a wide area network and multiple access networks for accessing this wide area network. A public network such as the Internet is used as the wide area network. Access networks include, for example, wireless LANs (Local Area Networks), mobile phone networks, wired telephone networks, FTTH (Fiber To The Home), and CATV (Cable Television) networks.
[0018] The information processing device 1 is, for example, a server device, which manages passwords for authenticating users, determines a password change method as needed, and presents it to the user.
[0019] (2) Information processing device (2-1) Hardware configuration FIG. 2 is a block diagram showing an example of a hardware configuration of the information processing device 1 according to an embodiment of the present invention.
[0020] The information processing device 1 includes a hardware processor 10A such as a CPU (Central Processing Unit), etc. A program memory 10B, a data memory 30, and a communication interface 20 are connected to the hardware processor 10A via a bus 40.
[0021] The communication interface 20 includes, for example, one or more wired or wireless communication interface units, and enables transmission and reception of information to and from external devices. The communication interface 20 transmits data to and from the user terminal UT in accordance with a communication protocol defined by the communication network NW. Examples of communication protocols that may be used include, but are not limited to, TCP / IP (Transmission Control Protocol / Internet Protocol).
[0022] The program memory 10B is a storage medium that combines a non-volatile memory that can be written to and read from at any time, such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), with a non-volatile memory such as a ROM, and stores programs necessary to execute various control processes according to one embodiment.
[0023] The data memory 30 is a storage medium that combines a non-volatile memory such as an HDD or SSD that can be written to and read at any time with a volatile memory such as RAM (Random Access Memory), and is used to store various data acquired and created during processing.
[0024] (2-2) Software configuration FIG. 3 is a block diagram showing the software configuration or functional configuration of an apparatus according to an embodiment of the present invention in relation to the hardware configuration shown in FIG. The communication interface 20 includes a receiving unit 21 and a transmitting unit 22 as its functional units. The receiving unit 21 has a function of receiving various data from an external device via a network and passing the data to the control unit 10. The transmitting unit 22 has a function of transmitting various data received from the control unit 10 to an external device via the network. For example, the receiving unit 21 receives a message including a login request or a password change request from the user terminal UT and passes the message to the control unit 10. The receiving unit that receives the login request and the receiving unit that receives the password change request may be provided separately. Also, for example, the transmitting unit 22 transmits a message including the presentation information received from the control unit 10 to the user terminal UT.
[0025] The storage area of the data memory 30 includes a score calculation table storage unit 31, a modification method determination table storage unit 32, and a structure pattern code storage unit 33.
[0026] The score calculation table storage unit 31 is used to store a score calculation table used to calculate a score that indicates the need for improving the strength of a password.
[0027] The change method determination table storage unit 32 is used to store a change method determination table used to determine a password change method based on the calculated score.
[0028] The structure pattern code storage unit 33 is used to store structure pattern codes as management codes that represent the structure of a user's password.
[0029] The storage units 31 to 33 are not essential components of the information processing device 1, and may be provided in an external storage device such as a database server, for example.
[0030] The control unit 10 is composed of the hardware processor 10A and the program memory 10B, and includes software processing function units, such as a login request receiving unit 11, a change necessity determining unit 12, a score calculating unit 13, a change method determining unit 14, a presentation information generating unit 15, a password change processing unit 16, and a structure pattern code generating unit 17. These processing function units are all realized by causing the hardware processor 10A to execute programs stored in the program memory 10B. The control unit 10 may also be realized in various other forms, including integrated circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array).
[0031] The login request receiving unit 11 receives a login request from the user terminal UT via the receiving unit 21 , extracts necessary information such as a user ID, and passes the information to the change necessity determining unit 12 .
[0032] The change necessity determination unit 12 determines whether the user ID related to the login request is subject to a password change. If the user ID is subject to a password change, the change necessity determination unit 12 passes information related to the user ID to the score calculation unit 13 for a password change method determination process. If the user ID is not subject to a password change, the change necessity determination unit 12 passes information related to the user ID to the presentation information generation unit 15 for a normal login process.
[0033] The score calculation unit 13 calculates a score indicating the need to improve the strength of the current password corresponding to the specified user ID, and passes the calculated score to the changing method determination unit 14. According to one embodiment, the score calculation unit 13 reads out the score calculation table stored in the score calculation table 31 and the structural pattern code stored in the structural pattern code storage unit 33, and calculates the score using these.
[0034] The change method determination unit 14 reads the change method determination table stored in the change method determination table storage unit 32 based on the score received from the score calculation unit 13, determines the change method, and passes the determined change method to the presentation information generation unit 15.
[0035] The presentation information generation unit 15 generates presentation data including information to be presented to the user, and transmits the data to the user terminal UT via the transmission unit 22.
[0036] The password change processing unit 16 receives a password change request from the user terminal UT via the receiving unit 21 and performs processing to change the password.
[0037] The structure pattern code generating unit 17 generates a structure pattern code as a management code that represents the structure of the password, and stores the code in the structure pattern code storage unit 33 .
[0038] (operation) Next, the information processing operation of the information processing device 1 configured as above will be described. FIG. 4 shows an example of the procedure and contents of the processing performed by the information processing device 1.
[0039] (1) Accepting a login request First, in step S1, the information processing device 1 accepts a login request from the user terminal UT under the control of the login request acceptance unit 11. The login request includes, for example, a user ID and a password entered via a browser on the user terminal UT. The login request acceptance unit 11 may also perform user authentication. For example, the login request acceptance unit 11 can perform user authentication by determining whether the password matches a password stored in a storage area of the information processing device 1. Alternatively, another authentication server that can communicate via a network may perform user authentication, and the login request acceptance unit 11 may receive the authentication result.
[0040] If the user authentication fails, the login request accepting unit 11 instructs, for example, the browser of the user terminal UT to display a message prompting the user to re-enter the information. If the user authentication is successful, the login request accepting unit 11 proceeds to step S2.
[0041] In step S2, the information processing device 1, under the control of the change necessity determination unit 12, determines whether a password change is required for the user ID. The determination of whether a password change is required is made, for example, by comparing the password with a pre-created "password change target ID table" that specifies users whose passwords are to be changed. This "password change target ID table" is created based on registered user attributes, password details, change history, etc., when, for example, a system including the information processing device 1 is subjected to an attack such as unauthorized login, or an incident of information leakage in another company's system is revealed, and it is necessary to reduce the risk of the user becoming a victim of fraud by requiring the user to change their password in response to the method or problem identified in the attack or incident. However, this is merely an example, and target IDs may be extracted and created manually by an operator, etc. Alternatively, all user IDs may be designated as targets.
[0042] If it is determined that a password change is required for the user ID (YES), the process proceeds to step S3 to determine the specific details of the change. If it is determined that a password change is not required (NO), the process proceeds to step S8, where normal login processing is performed. The normal login processing is, for example, a process of creating a response message including an HTML file for displaying an initial screen after authentication for each user, and sending the response message to the browser of the user terminal UT.
[0043] (2) Deciding on the change method In step S3, the information processing device 1 performs a change method determination process to determine the specific contents of the password change. FIG. 5 shows an example of the detailed procedure and contents of the change method determination process.
[0044] (2-1) Score calculation First, in step S31, the information processing device 1 calculates a password strength score under the control of the score calculation unit 13. Here, the password strength score refers to an index that indicates the need to improve the strength of a password after it is changed, and the higher the score, the greater the need to improve the strength of the password after it is changed, i.e., the greater the vulnerability of the current password. The password strength score is calculated for each user ID. The score may be calculated by any method using a preset correspondence table, a preset formula, or the like.
[0045] FIG. 6 shows an example of a score calculation table used by the score calculation unit 13 to calculate a score. As shown in FIG. 6, according to one embodiment, the score calculation unit 13 calculates a score from the perspective of "general theory" and "individual theory." The "general theory" determines a score based on an "external situation" common to all users, while the "individual theory" determines a score common to an individual user or a specific user group. Furthermore, the "individual theory" includes structural attributes based on the structure of the password and personal attributes related to the individual user.
[0046] More specifically, the table in Figure 6 sets up categories according to the number of fraudulent attacks per day, the cumulative number of fraudulent attacks, the actual number of damages per day, and the cumulative number of actual damages, as "general principles," and scores are added up according to the category that corresponds to each occurrence situation.
[0047] For example, if the number of fraudulent attacks per day is 99 or less, it corresponds to a "low level of intensity required" and the score is increased by "+1." Similarly, if the number of fraudulent attacks per day is 100 or more, it corresponds to a "medium level of intensity required" and the score is increased by "+3." If the number of fraudulent attacks per day is 1,000 or more, it corresponds to a "high level of intensity required" and the score is increased by "+5." The number of fraudulent attacks per day is, for example, the number of fraudulent attacks that occurred on the previous day, but it can also be based on other criteria (such as the average number of attacks per day in the previous month). "Fraudulent attacks" are determined, for example, based on the number of multiple login attempts from the same IP address or the number of login errors.
[0048] Similarly, the "number of actual damages" is determined based on the number of reports from users that they believe transactions they do not recognize or that unauthorized logins have occurred. The "number of actual damages" may also include the number of cases where service providers have discovered or confirmed information leaks or fraudulent use of points based on IT security evidence in various logs.
[0049] The "cumulative number of fraudulent attacks" is, for example, the cumulative value from the day when the fraudulent attacks are recognized as having started until they are resolved, and the same is true for the "cumulative number of actual damages."
[0050] For "numeric appending PASS attacks," the structural characteristics of the password being attacked are reflected, for example, when an unauthorized attack is being carried out on a password with a specific number of numeric digits inserted. This attack is judged, for example, based on the "cumulative number of actual attacks" mentioned above. For example, in the example shown in Figure 6, if a user added a "three-digit number" to their previous password change, and if "brute force attacks with three-digit number insertion" account for 10% or more of the cumulative actual attacks, the attack is judged to have a "high level of strength required," and a score of "+7" is added. Similarly, if a user added a "four-digit string to the end" to their previous password change, the strength is judged based on the percentage of "brute force attacks with four-digit string insertion" that account for the cumulative actual attacks. The type of password a user changed last time can be determined by extracting information from the management code, which will be described later.
[0051] "Specific Group Affiliation Attacks" reflect information such as malicious attacks against "specific groups." A "specific group" represents user attributes and affiliated services based on the membership path, such as users who registered through a specific route, solicited or recruited through a company website or a chain store, users who registered through a specific website, or users who use a specific email domain address as their ID. For example, in the example shown in Figure 6, if a user belongs to a specific "Group A" as their membership path, and attacks against Group A account for 10% or more of the total actual damage, the attack will be judged as "high strength required" and a score of "+5" will be added. Similarly, although not explicitly shown in Figure 6, malicious attacks against users who use a specific email domain address as their ID can be classified into a specific category by setting up a category in the score calculation table in advance. The membership path a user took and the services to which a user belongs can be determined by extracting information from the management code, which will be described later. The email address, which is the ID of a user, can be determined, for example, by extracting information from the data structure stored in the structural pattern code storage unit 33 described below, or by extracting the user's information from the user's personal information database stored in a storage unit not shown.
[0052] The score calculation unit 13 uses the table described above to calculate the final score by adding up the scores for the corresponding categories. The score calculation table shown in FIG. 6 may be preset or may be updated as needed. For example, if the total number of fraudulent attacks increases sharply, the score value for each category can be increased. Also, if a specific pattern of fraudulent attacks or a bias toward fraudulent attacks against users belonging to a specific membership route / group is observed, the number of items (rows) in the table can be added or changed.
[0053] That is, the table shown in Fig. 6 is used to consider the "ideal password strength" after the password change for each person whose password is to be changed. Therefore, the "strength" is calculated for each person, and the system selects the change method based on that value. In this way, the information processing device 1 realizes flexible and multi-dimensional measures to improve the strength of passwords after they are changed by calculating scores using multiple attributes with different orientations.
[0054] Note that with reference to FIG. 6, an example was described in which information related to the password structure was used as an "individual theory." However, this is not limited to this, and scores may be calculated based on various information related to the user, such as the user's personal attributes, the user's membership attributes, and the user's account information. The user's personal attributes include, for example, gender, age, occupation, place of residence, place of work, and the type of user terminal UT used. The user's membership attributes include, for example, not only the membership path at the time of initial registration but also the stores or chains (and their brands) frequently used. The user's account information includes, for example, the period of use, frequency of use, point balance, number of transactions, and transaction amount.
[0055] (2-2) Selecting the change target and deciding the change method 5, the information processing device 1 determines a password change method for each user based on the calculated score under the control of the password change method determination unit 14. The password change method is a method for specifying specific details of the password change. The password change method may be calculated by any method using a preset correspondence table, a preset formula, or the like.
[0056] 7 shows an example of an alteration method determination table used by the alteration method determination unit 14 to determine an alteration method based on the calculated score, and an example of an alteration method determined thereby. In this example, the alteration method determination table includes "score range" and "change target" columns, and specifies what and how to change the password before the change (hereinafter referred to as "old password") depending on the score range.
[0057] First, the modification method determination unit 14 selects a modification target based on the score calculated by the score calculation unit 13 and the modification method determination table. For example, in the example of FIG. 7, if the score is "6," it is in the range of "0 to 10," so "N (number of digits)" is randomly designated as the modification target from among "P (position)," "N (number of digits)," and "D (value determiner)." The modification method determination unit 14 then randomly selects the "specific number of digits" and "addition or deletion." In FIG. 7, "N+2" is shown in the "Example of Selected Modification Target" column as an example of the result of this random selection. This example indicates that "add two digits" was selected as the modification method. As long as "add two digits" is selected, the user can freely determine what character string to add and where. Therefore, D=U is automatically set (at least in the recorded content), so two is the starting point. For example, if the old password is "PASS," the new password may be, for example, "PAS12S" or "PxASyS." The characters that can be used or that cannot be used may be separately specified. Note that if the same change method as the previous time is selected for the same user, the selection of the change target may be started again.
[0058] Similarly, if the score range is "11 to 20," the example in Figure 7 specifies that two of "P (position)," "N (number of digits)," and "D (value determiner)" are randomly selected as the change targets. For example, if the combination of "P" and "N" is selected, the "specific position" of "P" and the "specific number of digits" and "addition or deletion" of "N" are further randomly selected. Figure 7 shows an example of the result of this random selection: "P = 0, N + 2." This means that the change method of "adding two digits" to the "beginning (0th digit position)" is selected. Again, the type of "two-digit character" to be added is left to the user's discretion, and is recorded as D = U. Therefore, if the old password is "PASS," the new password could be, for example, "34PASS" or "yzPASS."
[0059] Similarly, in the example shown in Figure 7, if the score range is "21 to 30," all of "P (position)," "N (number of digits)," and "D (value determiner)" are specified as change targets. In this case, the "specific position" for "P," the "specific number of digits" and "addition or deletion" for "N," and "whether the value determiner is the system or user" for "D" are further randomly selected. Figure 7 shows an example of the result of this random selection: "P=8,N-3,D=S." This means that the change method selected is to "shorten the number of digits by three digits from the position "after the eighth character"" and "the system will select the character string." Therefore, if the old password is "PASSWORDABCD," the new password is determined to be "PASSWORDD," with "ABC" deleted from the old password. Note that if "N" is "- (deletion)," it is unlikely that "D=U (user)" would be the value determiner, so the system may automatically select only "D=S (system)."
[0060] The above are merely examples, and the number of change targets can be increased, or appropriate restrictions can be added to avoid unclear instructions as a change method. The value ranges for "N" and "P" can also be specified in advance. For example, "N" can be set to be randomly selected from [-5, -4, -3, -2, -1, +1, +2, +3, +4, +5] excluding 0 (zero). Similarly, the selection range for "P" can be limited each time, taking into account the length of the current password. Alternatively, if the specified position does not exist (for example, if "P=8" is selected for the old password "PASS"), the random selection can be restarted.
[0061] The determined change method may instruct a change to the password immediately before the change (current), or may instruct a change to the password at the time of initial registration (user's original). For example, if "N+n (n is any number)" or "D=S" is selected, the change method determination unit 14 further randomly selects an "n-digit character string" to "add an n-digit character string determined by the system."
[0062] (2-3) Output of change method In step S33, the information processing device 1 outputs the selected change method to the presentation information generation unit 15 under the control of the change method determination unit 14.
[0063] 4, the information processing device 1 generates display data for presenting the change method received from the change method determination unit 14 to the user under the control of the presentation information generation unit 15, and transmits the display data to the browser of the user terminal UT. Upon receiving the display data, the browser of the user terminal UT generates and displays a change method presentation screen.
[0064] 8 shows an example of a change method presentation screen 60 displayed by the browser of the user terminal UT. Presentation screen 60 includes a text area 61 explaining the change method, a text area 62 explaining the new password after the change (hereinafter referred to as the "new password"), an input box 63 for the new password, a box 64 for re-entering the new password for confirmation, and a button 65 for instructing the password change.
[0065] In the example of Fig. 8, as shown in display units 61 and 62, adding a new password by adding the character string "1234" before "registered password XXXXXXXX" is instructed. In relation to the example of Fig. 7, this indicates that "P=0 (at the beginning)," "N+4 (add 4 digits)," and "D=S (character string determined by the system)" are determined as the change methods, and further, "1234" is selected as the 4-digit character string to be added by change method determination unit 14 of information processing device 1. Note that the "XXXXXXXX" portion of the registered password on presentation screen 60 may be displayed in obscured characters or in plain text.
[0066] The user looks at this screen 60 displayed on the browser of the user terminal UT, and enters the instructed new password "1234XXXXXXXX" into the new password input box 63 via, for example, the touch panel of a smartphone, then enters the same password again in the re-input box 64 for confirmation, and presses the password change button 65. The browser of the user terminal UT then generates a signal requesting a password change together with information representing the entered character string, and transmits this to the information processing device 1.
[0067] (3) Acceptance of new password In step S5, under the control of the password change processing unit 16, the information processing device 1 accepts input of a new password from the browser of the user terminal UT.
[0068] In step S6, the information processing device 1 determines whether the new password is appropriate under the control of the password change processing unit 16. The password change processing unit 16 determines whether the new password is appropriate, for example, based on the information generated by the presentation information generation unit 15 (or based on the information determined by the change method determination unit 14). If the new password is appropriate (YES), the process proceeds to step S7. If the new password is not appropriate (NO), the process returns to step S4, and the change method presentation screen is displayed again. At this time, a message indicating that the entered password is incorrect may be added. Furthermore, if the password entered in the input box 63 and the password re-entered in the input box 64 are different, the password may also be determined to be inappropriate.
[0069] (4) Generation of structural pattern code In step S7, the information processing device 1 updates the structural pattern code of the new password as a management code representing the password structure under the control of the structural pattern code generation unit 17. For example, the structural pattern code generation unit 17 reads the structural pattern code of the old password related to the user ID from the structural pattern code storage unit 33, generates a structural pattern code for the new password, and updates the information in the structural pattern code storage unit 33. The structural pattern code generation unit 17 may further generate the structural pattern code based on the modification method determined by the modification method determination unit 14.
[0070] 9 shows an example of a data structure stored in the structure pattern code storage unit 33. This data structure is used by the information processing device 1 and includes a user ID, a user password, and a structure pattern code. The data structure is then used by the information processing device 1 to calculate a score indicating the need for improving the password strength, as described above.
[0071] In the example of Figure 9, an email address is registered as the user ID. For ease of explanation, it is assumed in this example that all users have set the five-digit character string "abcde" as their initial password. For example, record "No. 1" is data related to the user with the user ID "aaa@aaaa.com," and the structure pattern code "00010000050000A0" is assigned to the password "abcde." This code indicates that this is the original password set by the user at the time of initial registration.
[0072] FIG. 10 shows an example of the rules for assigning the structure pattern code shown in FIG. 9. In this example, of the 16-digit code, the first, eighth, and sixteenth digits are set as spares to ensure scalability (initial value = 0). In this example, the second to fifth digits, "Brand / Group" (initial value = 0010), indicate, for example, the registration or membership route at the time of initial registration, the sixth and seventh digits, "Generation" (initial value = 01), indicate the number of password changes, and the ninth and tenth digits, "Length" (initial value = 08), indicate the password length. The eleventh and twelfth digits, "Position" (initial value = 00), indicate the position where a character string was added or deleted from the previous password during the last change. If a character string is inserted at the beginning (digit 0), the value "00" is assigned. If the previous password was five digits long and a character string is added to the end, the value "05" is assigned. The 13th and 14th digits, "Number of division digits" (initial value = 00), indicate the number of characters added or deleted. The 15th digit, "Value selection," indicates the person who decides the password change rules: "A (initial value)," "S (system)," or "U (user)." The value range "AN" indicates alphanumeric characters, "HX" indicates hexadecimal numbers, "N" indicates numbers, and "A" indicates alphabetic characters.
[0073] In FIG. 9, record "No. 1" is the initial password as described above, and has the structure pattern code "0 0010 00 0 05 00 00 A 0." Of this structure pattern code, the second to fifth digits, "0010," indicate the "brand / group" as described above, and indicate the "initial value" (here, for example, the parent company of all brands / groups). The ninth and tenth digits, "05," indicate the "length" as described above, and indicate that the current password is 5 digits long. The other items, "generation," "position," "number of division digits," and "value determiner," are all assigned their initial values because the password has not yet been changed.
[0074] On the other hand, record "No. 2" is data related to user ID "bbb@bbbb.co.jp," and the current password "123abcde" has a structure in which "123" has been added to the front of the old password "abcde." Therefore, the structure pattern code "0 0010 01 0 08 00 03 S 0" for record "No. 2" indicates that the "Brand / Group" digits 2 to 5 remain "0010," but the "Generation" digits 6 to 7 are "01," indicating that this is the first change, the "Length" digits 9 to 10 are "08," indicating that the total length of the password after the change is 8 digits, and the "Position" and "Number of Segment Digits" digits 11 to 14 are "0003," indicating that a "03" digit was added to the "00" digit during the previous change. Additionally, the 15th digit, "Value Selection," is "S," indicating that the added three-digit string is the value selected by the system.
[0075] As described above, the score calculation unit 13 can extract necessary information from such a structure pattern code and use it to calculate the score. For example, the score calculation unit 13 reads the second to fifth digits of the structure pattern code and determines which level in the score calculation table shown in FIG. 6 the group to which the user belongs corresponds. The score calculation unit 13 also reads the number of characters added or deleted at the time of the previous change from the management code (for example, the 13th to 14th digits of the structure pattern code) and determines which level in the score calculation table shown in FIG. 6 the group to which the user belongs corresponds. This makes it possible to determine the need for a password change by reflecting the actual state of unauthorized attacks, such as when unauthorized attacks are biased toward a specific group or when a brute force attack using a password with a specific number of digits inserted is observed.
[0076] The codes and their assignment rules shown in Figures 9 and 10 are also merely examples, and other code forms based on other rules may be used. For example, while an example has been described in which the number of password changes is coded as "generation," information regarding the time of password change may alternatively or additionally be included. For example, the "generation" may include date information of the password change (e.g., the first half / second half of 2019). Alternatively, the "generation" may include information indicating the number of attacks detected since the system began operation that the change was made in response to. Also, it is not necessary to use an email address as the user ID.
[0077] After updating the structure pattern code, the information processing device 1 executes a normal login process in step S8.
[0078] (effect) As described above in detail, in one embodiment of the present invention, an information processing device 1 that manages passwords for authenticating users, a method executed by the information processing device 1, a data structure used by the information processing device 1, or a program that causes a processor to execute processing by each part of the information processing device 1 accepts a login request from the user, calculates a score representing the need to improve the strength of the user's current password in response to the login request, determines a password change method for the user based on the calculated score, and presents the determined change method to the user.
[0079] In this way, the information processing device 1 determines the password change method taking into account the need to improve the strength of the current password, so rather than using a uniform change method, it can flexibly determine a change method with different policies for each user and take appropriate action. Also, by performing a two-stage process of calculating the score and determining the password change method, it is possible to pursue maximum effectiveness according to individual circumstances.
[0080] Conventional technologies burden users with the need to create and manage a new password every time they change it, which encourages reuse of the same password. Furthermore, since password rules, such as the type of characters and length, generally remain the same between the initial password creation and the reset password, users may still be subject to brute-force attacks after resetting. Furthermore, because the system typically cannot grasp the structure of new passwords created by users, it is unable to evaluate the risk of password attacks, which means that preventative measures against unauthorized attacks can only be applied uniformly to all users.
[0081] According to the above embodiment, individual responses are possible, and the system (information processing device 1) intervenes in determining the change method, so that a more diverse change policy can be adopted, thereby achieving an improvement in password strength.
[0082] In the information processing device 1, the change method determined by the change method determination unit 14 may specify a change method for the current password of the user, or may specify a change method for the original password at the time of initial registration of the user. This allows for more flexible measures to be taken in consideration of the situation of unauthorized attacks and the load on the system, and also allows for the use of a password based on a character string used in the past, rather than an entirely new character string, as the changed password, which improves user recognition, ease of memorization, and convenience.
[0083] The change method determination unit 14 can also determine the password change method by randomly selecting at least one of the number of digits of the character string to be added, the position to add, the number of digits of the character string to be deleted, the position to delete, the character string selected by the user, and the character string randomly selected by the information processing device. This allows a variety of change methods to be adopted, rather than a uniform method for all users.
[0084] As described above, the score calculation unit 13 can calculate the score based on information about the occurrence of the fraudulent attack and attributes specific to the user. This allows the score to be calculated based on the general situation of the fraudulent attack that is common to other users, and various attributes specific to each user, allowing for a multi-dimensional and flexible response.
[0085] The score calculation unit 13 can also calculate a score based on a management code (structure pattern code) that indicates the structure of the user's password. This allows the score to be calculated according to the structure of the actual password, and allows appropriate measures to be taken according to individual specific situations.
[0086] The management code may include, for example, the user's membership attributes (such as the membership process), the number of password changes, the password length, the position of the change the last time the password was changed, the number of characters added or deleted the last time the password was changed, and the entity that determined the changed character string the last time the password was changed, etc. This allows appropriate action to be taken based on information that indicates how the password was actually changed as the specific situation of each user.
[0087] As described above, by generating and updating a structure pattern code as a management code that represents the password structure each time it is changed, it is possible to properly manage a huge number of passwords and easily extract the necessary information in the unlikely event of an unauthorized attack.In addition, based on the relationship between actual damage and password change frequency or membership route, it becomes easier to analyze attack patterns and leakage routes, leading to more flexible and appropriate responses.
[0088] [Other embodiments] The present invention is not limited to the above-described embodiment. The password change method may be determined taking into account factors other than those listed above. For example, a restriction may be imposed so that the total length of the changed password does not exceed a predetermined value. Also, certain restrictions may be imposed on the selection of values for P and N depending on the length of the current password.
[0089] In the above example, when "N+n (add n digits, n is a randomly selected number)" is selected for "N (number of digits)," an n-digit character string arbitrarily specified by the user or an n-digit character string randomly selected by the system is added. However, this is not limited to this. For example, it is also possible to share multiple patterns of "secret questions" and "answers to the secret questions" between each user and the information processing device 1 in advance, and specify that the character string of the "answer" be added.
[0090] If the user does not follow the change method instructed by the information processing device 1 (for example, if the NO branch is repeated a certain number of times in step S6 of Figure 4), measures such as suspending service or restricting access may be taken, or the change method may be randomly re-determined.
[0091] Each functional unit included in the information processing device 1 according to the embodiment does not necessarily have to be provided in a single device, but may be distributed across multiple devices, with these devices cooperating to perform processing. Furthermore, each functional unit may be realized using a circuit. The circuit may be a dedicated circuit for realizing a specific function, or a general-purpose circuit such as a processor.
[0092] Furthermore, the flow of each process described above is not limited to the procedures described, and the order of some steps may be changed, or some steps may be performed simultaneously in parallel. Furthermore, the series of processes described above do not need to be performed consecutively, and each step may be performed at any timing. For example, the score may be calculated each time a user ID that has received a login request is determined to be subject to a password change, as described above, or may be calculated when a password is newly registered or changed.
[0093] The above-described method can be stored as a program (software means) that can be executed by a computer on a recording medium (storage medium), such as a magnetic disk (floppy disk, hard disk, etc.), optical disk (CD-ROM, DVD, MO, etc.), or semiconductor memory (ROM, RAM, flash memory, etc.), or can be transmitted and distributed via a communication medium. The program stored on the medium also includes a configuration program that configures the software means (including not only execution programs but also tables and data structures) that the computer executes. The computer that realizes the above-described device reads the program stored on the recording medium and, in some cases, configures the software means using the configuration program, and executes the above-described processing by having the operation controlled by this software means. The term "recording medium" as used herein is not limited to a storage medium for distribution, but also includes a storage medium such as a magnetic disk or semiconductor memory installed inside the computer or in a device connected via a network.
[0094] In addition, the methods for detecting attacks and determining the level of threat can be modified in various ways without departing from the spirit of the present invention.
[0095] In short, this invention is not limited to the above-described embodiments, and various modifications can be made in the implementation stage without departing from the spirit of the invention. Furthermore, the embodiments may be implemented in appropriate combinations, in which case the combined effects can be obtained. Furthermore, the above-described embodiments include various inventions, and various inventions can be extracted by combining selected elements from the disclosed elements. For example, if the problem can be solved and the desired effect can be obtained even if some elements are deleted from all elements shown in the embodiments, the configuration from which these elements are deleted can be extracted as an invention. [Explanation of symbols]
[0096] 1...Information processing device 10...Control unit 10A...Hardware processor 10B...Program memory 11...Login request reception section 12...Change necessity determination section 13...Score calculation section 14...Change method determination section 15...Presentation information generation unit 16...Password change processing section 17...Structural pattern code generator 20...Communication interface 21...Receiver 22...Transmitter 30...Data memory 31...Score calculation table storage unit 32...Change method determination table storage unit 33...Structural pattern code storage section 40...Bus
Claims
1. An information processing device that manages passwords for authenticating users, a reception unit that receives a login request from the user; a score calculation unit that calculates a score indicating the need to improve the strength of the user's current password in response to the login request; a change method determination unit that determines a password change method for the user based on the calculated score; a presentation unit that presents the determined password change method to the user; An information processing device comprising:
2. The information processing apparatus according to claim 1 , wherein the change method determination unit determines a change method for the current password of the user.
3. The information processing apparatus according to claim 1 , wherein the change method determination unit determines a change method for an original password at the time of initial registration of the user.
4. 4. The information processing device according to claim 1, wherein the change method determination unit determines the password change method by randomly selecting at least one of the number of digits of the string to be added, the position to add, the number of digits of the string to be deleted, the position to delete, the string selected by the user, and the string randomly selected by the information processing device.
5. The information processing device according to claim 1 , wherein the score calculation unit calculates the score based on information relating to the occurrence of an unauthorized attack and an attribute unique to the user.
6. The information processing device according to claim 1 , wherein the score calculation unit calculates the score based on a management code that represents a structure of the user's password.
7. 7. The information processing device according to claim 6, wherein the management code includes at least one of the user's membership attributes, the number of times the password has been changed, the length of the password, the change position the password was last changed, the number of characters added or deleted the last time the password was changed, and the entity that determined the changed character string the password was last changed to.
8. An information processing method executed by an information processing device that manages passwords for authenticating users, comprising: accepting a login request from the user; calculating a score in response to the login request that indicates the need to improve the strength of the user's current password; determining a password change method for the user based on the calculated score; presenting the determined password change method to the user; An information processing method comprising:
9. A data structure used by an information processing device that manages passwords for authenticating users, comprising: The system includes the user's password and a management code that indicates the structure of the password, and is used in a process of calculating a score that indicates the need to improve the strength of the user's password using at least the management code, and determining a password change method for the user based on the calculated score. Data structure.
10. A program that causes a processor to execute processing by each unit of the information processing device according to any one of claims 1 to 7.
Citation Information
Patent Citations
Password generation method with improved resistance to password analysis, and authentication apparatus using this password
JP2007310819A