System

The system addresses security and efficiency gaps in authentication by encrypting and securely storing user data, enhancing protection against unauthorized access.

JP2026038253APending Publication Date: 2026-03-06SOFTBANK GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-22
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

Current authentication systems fail to balance security and efficiency, with vulnerabilities arising from insufficient password hashing and secure storage, leading to risks of unauthorized access.

Method used

A system that includes means for receiving, encrypting, storing, and comparing authentication data, using cryptographic libraries like bcrypt, to ensure secure and efficient user authentication.

Benefits of technology

Ensures the security of user data while providing an efficient authentication process, reducing unauthorized access and improving user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026038253000001_ABST
    Figure 2026038253000001_ABST
Patent Text Reader

Abstract

To provide a system for solving a security problem of an authentication process and realizing safe and efficient authentication of user data.SOLUTION: The user authentication system includes means for receiving authentication data entered by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from the user, means for comparing the authentication data of the received authentication request with the encrypted data in the database, and means for transmitting an authentication result to the user.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology of the present disclosure relates to a system. [Background technology]

[0002] Patent document 1 discloses a persona chatbot control method performed by at least one processor, the method including the steps of receiving a user utterance, adding the user utterance to a prompt including an instruction sentence related to a description of the chatbot character, encoding the prompt, and inputting the encoded prompt into a language model to generate a chatbot utterance in response to the user utterance. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2022-180282 Summary of the Invention [Problem to be solved by the invention]

[0004] Many current authentication systems do not adequately balance the security of user data with the efficiency of the authentication process. In particular, security vulnerabilities often occur due to insufficient password hashing or secure storage in the database. Furthermore, there is a risk that authentication data can be easily decrypted, potentially leading to unauthorized access to user accounts. A system that solves these security issues and enables secure and efficient authentication of user data is needed. [Means for solving the problem]

[0005] The present invention solves the above problems by providing a system that includes means for receiving authentication data entered by a user, encrypting the authentication data, and storing it in a database, and means for receiving an authentication request from a user and securely comparing the authentication data with encrypted data in the database. Specifically, the system of the present invention includes the following means:

[0006] The system includes a means for receiving authentication data entered by a user, a means for encrypting the received authentication data, a means for storing the encrypted authentication data in a database, a means for receiving an authentication request from a user, a means for comparing the authentication data in the received authentication request with the encrypted data in the database, and a means for transmitting the authentication result to the user. This configuration enables secure and efficient management of authentication data.

[0007] "User" refers to an individual or organization using the system and providing authentication data.

[0008] "Authentication data" is information a user provides to access a system, typically including a username and password.

[0009] "Means for receiving" refers to technical elements including processes and functions for capturing authentication data and authentication requests entered by a user on the server side.

[0010] "Encryption means" refers to a technical element that transforms received authentication data using a specific algorithm or process in order to store it securely.

[0011] "Database" means a storage device or system that allows a system to securely store, retrieve, and manage authentication data for long periods of time.

[0012] "Means of storage" refers to technical elements including processes and functions for storing encrypted authentication data in a database.

[0013] An "authentication request" is request data that a user sends to a system in order to access the system.

[0014] The "means for comparing" is a technical element for comparing the authentication data of the authentication request received from the user with the encrypted data stored in the database.

[0015] "Authentication result" is the result of determining whether the authentication data provided by the user matches the data stored in the system.

[0016] "Means of sending" refers to technical elements including processes and functions for notifying the user of the authentication result. [Brief explanation of the drawings]

[0017] [Figure 1] 1 is a conceptual diagram showing an example of the configuration of a data processing system according to a first embodiment. [Figure 2] 1 is a conceptual diagram showing an example of main functions of a data processing device and a smart device according to a first embodiment. [Figure 3] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a second embodiment. [Figure 4] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and smart glasses according to a second embodiment. [Figure 5] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a third embodiment. [Figure 6] FIG. 11 is a conceptual diagram showing an example of main functions of a data processing device and a headset-type terminal according to a third embodiment. [Figure 7] FIG. 10 is a conceptual diagram showing an example of the configuration of a data processing system according to a fourth embodiment. [Figure 8] FIG. 10 is a conceptual diagram showing an example of main functions of a data processing device and a robot according to a fourth embodiment. [Figure 9] 1 shows an emotion map onto which multiple emotions are mapped. [Figure 10]1 shows an emotion map onto which multiple emotions are mapped. [Figure 11] FIG. 3 is a sequence diagram showing a processing flow of the data processing system according to the first embodiment. [Figure 12] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 1. [Figure 13] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system according to the second embodiment when an emotion engine is combined. [Figure 14] FIG. 10 is a sequence diagram showing the flow of processing in the data processing system in Application Example 2 when an emotion engine is combined. DETAILED DESCRIPTION OF THE INVENTION

[0018] An example of an embodiment of a system according to the technology of the present disclosure will be described below with reference to the accompanying drawings.

[0019] First, the terms used in the following description will be explained.

[0020] In the following embodiments, a coded processor (hereinafter simply referred to as a "processor") may be a single arithmetic device or a combination of multiple arithmetic devices. Furthermore, a processor may be a single type of arithmetic device or a combination of multiple types of arithmetic devices. Examples of arithmetic devices include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a GPGPU (General-Purpose computing on Graphics Processing Units), and an APU (Accelerated Processing Unit).

[0021] In the following embodiments, a coded RAM (Random Access Memory) is a memory in which information is temporarily stored and is used as a working memory by a processor.

[0022] In the following embodiments, the coded storage is one or more non-volatile storage devices that store various programs, various parameters, etc. Examples of non-volatile storage devices include flash memory (SSD (Solid State Drive)), magnetic disks (e.g., hard disks), and magnetic tapes.

[0023] In the following embodiments, a communication I / F (Interface) with a symbol is an interface including a communication processor, an antenna, etc. The communication I / F controls communication between multiple computers. Examples of communication standards applied to the communication I / F include wireless communication standards including 5G (5th Generation Mobile Communication System), Wi-Fi (registered trademark), Bluetooth (registered trademark), etc.

[0024] In the following embodiments, "A and / or B" is synonymous with "at least one of A and B." In other words, "A and / or B" means that it may be only A, only B, or a combination of A and B. Furthermore, in this specification, the same concept as "A and / or B" is also applied when three or more things are expressed connected by "and / or."

[0025] [First embodiment]

[0026] FIG. 1 shows an example of the configuration of a data processing system 10 according to the first embodiment.

[0027] 1, a data processing system 10 includes a data processing device 12 and a smart device 14. An example of the data processing device 12 is a server.

[0028] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0029] The smart device 14 includes a computer 36, a reception device 38, an output device 40, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The reception device 38, the output device 40, and the camera 42 are also connected to the bus 52.

[0030] The reception device 38 includes a touch panel 38A, a microphone 38B, and the like, and receives user input. The touch panel 38A detects contact with an indicator (for example, a pen or a finger) to receive user input by the touch of the indicator. The microphone 38B detects the user's voice to receive user input by voice. The control unit 46A transmits data indicating the user input received by the touch panel 38A and the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the data indicating the user input.

[0031] The output device 40 includes a display 40A and a speaker 40B, and presents data to the user 20 by outputting the data in a form of expression that the user 20 can perceive (for example, audio and / or text). The display 40A displays visible information such as text and images in accordance with instructions from the processor 46. The speaker 40B outputs audio in accordance with instructions from the processor 46. The camera 42 is a compact digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor.

[0032] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 control the exchange of various information between the processor 46 and the processor 28 via the network 54.

[0033] FIG. 2 shows an example of the main functions of the data processing device 12 and the smart device 14.

[0034] 2, in the data processing device 12, a specific process is performed by the processor 28. A specific processing program 56 is stored in the storage 32. The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific process is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0035] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0036] In the smart device 14, the processor 46 performs the reception output process. The storage 50 stores a reception output program 60. The reception output program 60 is used in conjunction with the specific processing program 56 by the data processing system 10. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0037] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0038] The present invention relates to a user authentication system, and includes technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. An embodiment of the present invention is described below.

[0039] User authentication system overview

[0040] 1. User registration procedure

[0041] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[0042] 2. User authentication procedure

[0043] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[0044] As an example, the operation of the system will be specifically explained using the following flow chart.

[0045] Example 1: User registration example

[0046] 1. Fill out the registration form

[0047] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0048] 2. Submitting a Registration Request

[0049] The device sends this information to the server as a POST request.

[0050] 3. Server-side processing

[0051] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[0052] 4. Sending the Response

[0053] The server sends a message to the terminal saying "registration successful", which the user confirms.

[0054] Example 2: User login example

[0055] 1. Fill in the login form

[0056] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0057] 2. Send a login request

[0058] The device sends this information to the server as a POST request.

[0059] 3. Server-side processing

[0060] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[0061] 4. Sending authentication results

[0062] If the passwords match, the server sends a message to the terminal saying "Login successful" and the user confirms this. If they do not match, the server sends a message saying "Password incorrect."

[0063] This allows the system of the present invention to provide an efficient authentication process while ensuring the security of user data.

[0064] The processing flow will be explained below.

[0065] User registration process flow

[0066] Step 1:

[0067] The user opens a web form and enters the requested "username" and "password."

[0068] Step 2:

[0069] When the user clicks the "Register" button on the form, the terminal sends a POST request containing the entered data to the server.

[0070] Step 3:

[0071] The server receives the POST request and extracts the "username" and "password" from the request data.

[0072] Step 4:

[0073] The server searches its database to see if the entered "username" already exists.

[0074] Step 5:

[0075] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[0076] Step 6:

[0077] The server stores the encrypted "password" and "username" in the database.

[0078] Step 7:

[0079] The server generates a response including the message "registration successful" and sends it to the terminal.

[0080] Step 8:

[0081] The terminal receives the response from the server and notifies the user that "registration was successful."

[0082] User login process flow

[0083] Step 1:

[0084] The user opens a web form and enters the requested "username" and "password."

[0085] Step 2:

[0086] When the user clicks the "Login" button on the form, the terminal sends a POST request containing the entered data to the server.

[0087] Step 3:

[0088] The server receives the POST request and extracts the "username" and "password" from the request data.

[0089] Step 4:

[0090] The server searches its database to see if the entered "user name" exists.

[0091] Step 5:

[0092] If the server finds the "username" it will retrieve the encrypted "password" stored in the database.

[0093] Step 6:

[0094] The server compares the entered "password" with the encrypted "password" in the database.

[0095] Step 7:

[0096] If the server confirms that the password matches, it generates a message stating "login successful" and sends it to the terminal.

[0097] Step 8:

[0098] If the password does not match, the server generates a message saying "Incorrect password" and sends it to the terminal.

[0099] Step 9:

[0100] The terminal receives the response from the server and notifies the user of the authentication result.

[0101] Example 1

[0102] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0103] In conventional user authentication systems, it is difficult to perform authentication efficiently while ensuring the security of user data, and there are particular issues regarding unauthorized access to data and the efficiency of the authentication process. In addition, there is a demand for technology that can perform authentication quickly and reliably even in the comparison process of encrypted data.

[0104] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0105] In this invention, the server includes means for receiving authentication data entered by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with encrypted data in the database, means for sending the authentication result to the user, means for sending the authentication data entered by the user in a web form to the server as a POST request, means for the server to compare the authentication data with the encrypted data after receiving the request, means for encrypting the password using the bcrypt library and storing it in the database, and means for sending a message to the user corresponding to whether the authentication was successful or not. This ensures the security of user data and realizes an efficient authentication process.

[0106] "User" means an individual or member of an organization who accesses the Authentication System and enters and submits Authentication Data.

[0107] "Terminal" refers to a device operated by a user, and refers to hardware such as a PC, smartphone, tablet, etc.

[0108] "Server" refers to a computer system that processes requests sent by users and manages the authentication process in conjunction with a database.

[0109] "Authentication data" refers to information for authentication, such as a username and password that a user enters into an authentication system.

[0110] A "POST request" is one of the HTTP request methods for sending information from a user's terminal to a server.

[0111] "Database" refers to a system for structuring and storing user data, and for retrieving and managing it as needed.

[0112] "Encryption" refers to the process of transforming authentication data using specific algorithms to make it into a form that cannot be easily deciphered by third parties.

[0113] "bcrypt" is a cryptographic library that provides strong password encryption and is used for password hashing.

[0114] "Authentication Request" refers to a request sent by a user to a server to authenticate itself through an authentication system.

[0115] The "authentication result" is information indicating whether the user authentication was successful or unsuccessful, and refers to a message notified to the user based on the result.

[0116] A "web form" is an interface that allows a user to enter and submit data, and is constructed using HTML.

[0117] "Comparison" refers to the process of matching the received authentication data with the encrypted data stored in the database.

[0118] "Message" refers to text or notification containing information to inform the user of the result of authentication.

[0119] The present invention relates to a user authentication system, and provides technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. Specific embodiments of the system will be described in detail below.

[0120] First, the user enters a "username" and "password" using a web form. The device sends this information to the server as a POST request. The server receives the request and checks whether the "username" already exists in the database. If it does not, the server encrypts the password using the bcrypt library and stores the encrypted password and username in the database. This completes the user registration process.

[0121] Next, we will explain the user authentication procedure. The user again uses the web form to enter their "user name" and "password" and sends an authentication request from their terminal to the server. The server receives the request and checks whether the entered "user name" exists in the database. If it does, the server compares the provided password with the encrypted password stored in the database. If the passwords match, the server sends the user a message indicating that authentication was successful. If they do not match, the server sends the user a message indicating that authentication failed.

[0122] This system uses the following hardware and software:

[0123] Hardware:

[0124] Devices: PC, smartphone, tablet, etc.

[0125] Servers: Web servers, database servers (e.g. SQL servers)

[0126] software:

[0127] Front-end: HTML, CSS, JavaScript (registered trademark)

[0128] Backend: Python (Flask / Django), Node.js, Java (registered trademark) (Spring Boot), etc.

[0129] Database: MySQL (registered trademark), PostgreSQL, MongoDB, etc.

[0130] Cryptography libraries: bcrypt, argon2, etc.

[0131] Specific examples

[0132] Example of user registration

[0133] 1. Fill out the registration form

[0134] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0135] 2. Submitting a Registration Request

[0136] The device sends this information to the server as a POST request.

[0137] 3. Server-side processing

[0138] The server receives the request and verifies that "username123" does not exist in the database.

[0139] The server encrypts "password123" using the bcrypt library and stores it in the database.

[0140] 4. Sending the Response

[0141] The server sends a message to the terminal saying "registration successful", which the user confirms.

[0142] Example of user login

[0143] 1. Fill in the login form

[0144] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0145] 2. Send a login request

[0146] The device sends this information to the server as a POST request.

[0147] 3. Server-side processing

[0148] The server receives the request and checks if "username123" exists in the database.

[0149] If it exists, the server compares the entered "password123" with the bcrypt encrypted password in the database.

[0150] 4. Sending authentication results

[0151] If the passwords match, the server sends a message to the terminal saying "login successful," which the user confirms.

[0152] If they do not match, the server will send a "wrong password" message.

[0153] In this way, the system of the present invention can provide an efficient authentication process while ensuring the security of user data.

[0154] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0155] User registration procedure

[0156] Step 1:

[0157] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[0158] Step 2:

[0159] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[0160] Step 3:

[0161] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does not exist, it proceeds to the next step.

[0162] Step 4:

[0163] The server encrypts the password using the bcrypt library: "password123" is hashed with bcrypt to obtain the encrypted password (e.g., $2a$12$examplehashedpassword).

[0164] Step 5:

[0165] The server stores the encrypted password and username in the database. The database store operation is performed, and if successful, proceeds to the next step.

[0166] Step 6:

[0167] The server generates a response indicating that registration was successful and sends it to the device. Specifically, a message stating "Registration was successful" is sent to the device in JSON format. The user confirms this.

[0168] User authentication procedure

[0169] Step 1:

[0170] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[0171] Step 2:

[0172] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[0173] Step 3:

[0174] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does, it proceeds to the next step.

[0175] Step 4:

[0176] The server compares the entered password with the hashed password stored in the database: specifically, it hashes "password123" again using the bcrypt library and checks it against the stored encrypted password (e.g., $2a$12$examplehashedpassword).

[0177] Step 5:

[0178] If the password matches, the server generates a message stating "Login was successful" and sends it to the terminal. Specifically, the message "Login was successful" is sent in JSON format to the terminal, and the user confirms it.

[0179] Step 6:

[0180] If the password does not match, the server generates a message stating "The password is incorrect" and sends it to the terminal. Specifically, the error message stating "The password is incorrect" is sent in JSON format to the terminal, and the user confirms it.

[0181] (Application example 1)

[0182] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0183] Conventional vehicle access control systems lack a means for fast and secure user authentication, resulting in security risks and a poor user experience. Furthermore, there is a need for a system that allows users to easily access vehicles while maintaining high security.

[0184] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0185] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with the encrypted data in the database, means for transmitting the authentication result to the user, means for presenting the authentication data when the user needs access to the vehicle, means for granting vehicle access if the user's authentication data matches, and means for displaying the authentication result on a smart display or a visual display device, thereby enabling the user to access the vehicle easily and safely and enhancing vehicle security.

[0186] The "means for receiving authentication data input by the user" refers to a component or program that has the function of transmitting the authentication data input by the user to the server.

[0187] The "means for encrypting received authentication data" refers to a component or program that has the function of encrypting received authentication data to protect it from unauthorized access.

[0188] The "means for storing encrypted authentication data in a database" refers to a component or program that has the function of storing encrypted authentication data in a database within a server.

[0189] The "means for receiving an authentication request from a user" refers to a component or program that has a function for the server to receive an authentication request sent by a user.

[0190] "Means for comparing authentication data of a received authentication request with encrypted data in a database" refers to a component or program that has the function of comparing received authentication data with encrypted data in a database.

[0191] The "means for transmitting the authentication result to the user" refers to a component or program that has the function of notifying the user of the authentication result.

[0192] The "means for presenting authentication data when the user needs access to the vehicle" refers to a component or program that has the function of presenting authentication data when the user requests access to the vehicle.

[0193] The "means for granting permission to access the vehicle when the authentication data of the user matches" refers to a component or program that has the function of granting permission to access the vehicle when the authentication data matches.

[0194] The "means for displaying the authentication result through a smart display or a visual display device" refers to a component or program that has the function of displaying the authentication result through a visual display device.

[0195] The present invention relates to a user authentication system for an access control system for an autonomous vehicle. The specific configuration and operation of the system will be described below.

[0196] Hardware and Software

[0197] The system uses the following hardware and software:

[0198] Hardware: In-car smart display, driver's smartphone or visual display device (e.g. head-mounted display).

[0199] Software: Flask (web framework), SQLite (database), and an application for visual display devices.

[0200] Data processing and calculation

[0201] The server authenticates the user as follows:

[0202] 1. User registration procedure

[0203] The user enters their username and password into the smartphone app, and this data is sent from the device to the server.

[0204] The server checks if the username already exists in the database, and if not, encrypts the password and stores it in the database.

[0205] The server will send a registration successful message to the user.

[0206] 2. User authentication procedures

[0207] The user enters their username and password using a smartphone or visual display device.

[0208] The server receives the authentication request, checks it against the data stored in its database, and sends the result.

[0209] If the passwords match, permission to access the vehicle is granted; if they do not match, an error message is displayed.

[0210] The authentication results are displayed on the vehicle's smart display or visual display device.

[0211] Add specific examples to the description

[0212] A concrete example of how this works is shown below:

[0213] 1. User Registration Procedure

[0214] Example: When a user submits a registration request with "username123" and "password123", the server receives it and stores the user information in the database.

[0215] 2. User authentication procedures

[0216] Example: When a user sends a login request using "username123" and "password123", the server receives it, compares the authentication data, and if the login is successful, displays "Login successful" and allows access to the vehicle. If they do not match, displays "Incorrect password."

[0217] Prompt Sentence Examples

[0218] When registering:

[0219] "'username': 'userA123', 'password': 'securePassword!' Submit registration request"

[0220] Result: "Registration successful"

[0221] When a user authenticates:

[0222] "'username': 'userA123', 'password': 'securePassword!' Send login request"

[0223] Result: "Login successful"

[0224] This system allows users to easily and securely access their vehicles, while also improving vehicle security.

[0225] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0226] Step 1:

[0227] (User registration procedure) The user enters a username and password using a smartphone app. This sends the input data from the device to the server. The server searches the database for the entered username, and if the username does not exist, it stores the user information in the database along with the encrypted password. The output from the server is a message that registration was successful.

[0228] Step 2:

[0229] (Sending a user authentication request) The user enters their username and password using a smartphone or visual display device and sends a login request to the server. This request contains data for user authentication. The input data includes the username and password.

[0230] Step 3:

[0231] (Receiving and verifying authentication data) The server verifies the authentication request received from the user against the data stored in the database. The input data is the user name and encrypted password. The server compares the received authentication data with the encrypted data in the database to see if they match.

[0232] Step 4:

[0233] (Sending authentication result) The server sends the authentication result to the user based on the result of matching the authentication data. If authentication is successful, it displays "Login successful" and allows access to the vehicle. If there is a mismatch, it displays "Incorrect password." The output is a message indicating whether authentication was successful or failed.

[0234] Step 5:

[0235] (Permit Access) If the user authentication is successful, the server grants permission to access the vehicle. This permission unlocks the vehicle and allows it to start. The result is displayed on the smart display or visual display device.

[0236] Step 6:

[0237] (Visual display of authentication result) The authentication result is displayed on the in-vehicle smart display or visual display device. This allows the user to visually confirm the authentication result. The output is a message displayed on the visual display device.

[0238] Furthermore, an emotion engine that estimates the user's emotion may be combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59 and perform identification processing using the user's emotion.

[0239] The present invention improves the security and convenience of the authentication process by combining a user authentication system with an emotion engine that recognizes user emotions. This system includes technical elements for receiving, encrypting, storing, and comparing authentication data, as well as analyzing user emotions.

[0240] User authentication system overview

[0241] 1. User registration procedure

[0242] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[0243] 2. User authentication procedure

[0244] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[0245] Additional features of the Emotion Engine

[0246] The present invention further includes an emotion engine for analyzing the user's emotion data and reflecting it in the authentication process. The emotion engine performs the following processes:

[0247] 1. Collecting Emotional Data

[0248] It collects emotional data about users by using data they enter into web forms, mouse movements, and keystroke timing.

[0249] 2. Sentiment Analysis

[0250] The emotion engine analyzes the collected data and determines the user's emotional state (e.g., stress, anxiety, calmness, etc.).

[0251] 3. Reflection in the certification process

[0252] The emotion engine adjusts the authentication process based on the analysis results. For example, if the user is in a state of high stress, an additional authentication step can be requested.

[0253] Specific examples

[0254] User Registration

[0255] 1. Fill out the registration form

[0256] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0257] 2. Submitting a Registration Request

[0258] The device sends this information to the server as a POST request.

[0259] 3. Server-side processing

[0260] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[0261] 4. Sending the Response

[0262] The server sends a response to the terminal containing the message "registration successful", which the user confirms.

[0263] User Login

[0264] 1. Fill in the login form

[0265] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0266] 2. Send a login request

[0267] The device sends this information to the server as a POST request.

[0268] 3. Server-side processing

[0269] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[0270] 4. Sentiment Analysis

[0271] The server uses an emotion engine to analyze the user's emotions based on their input data and behavior. For example, if stress is detected, additional authentication is required.

[0272] 5. Sending authentication results

[0273] If the password matches and the sentiment analysis is successful, the server sends a "Login successful" message to the terminal, which the user confirms. If the password does not match or if the sentiment analysis is unsuccessful, the server sends a "Password is incorrect" or "Additional authentication is required" message.

[0274] In this way, the system of the present invention provides a flexible authentication process that takes into account the user's emotional state while ensuring the security of user data.

[0275] The processing flow will be explained below.

[0276] User registration process flow

[0277] Step 1:

[0278] A user opens a web form and enters their username and password.

[0279] Step 2:

[0280] When the user clicks the "Register" button, the terminal sends the entered data to the server as a POST request.

[0281] Step 3:

[0282] The server receives the POST request and extracts the "username" and "password" from the request data.

[0283] Step 4:

[0284] The server checks its database to see if the "username" already exists.

[0285] Step 5:

[0286] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[0287] Step 6:

[0288] The server stores the encrypted "password" and "username" in the database.

[0289] Step 7:

[0290] The server generates a response stating "registration successful" and sends it to the terminal.

[0291] Step 8:

[0292] The terminal receives the response and displays a "Registration successful" notification to the user.

[0293] User login process flow

[0294] Step 1:

[0295] A user opens a web form and enters their username and password.

[0296] Step 2:

[0297] When the user clicks the "Login" button, the terminal sends the entered data to the server as a POST request.

[0298] Step 3:

[0299] The server receives the POST request and extracts the "username" and "password" from the request data.

[0300] Step 4:

[0301] The server checks in its database to see if the "username" exists.

[0302] Step 5:

[0303] If the server finds the username, it retrieves the encrypted "password" from the database.

[0304] Step 6:

[0305] The server encrypts the entered "password" and compares it with the encrypted "password" in the database.

[0306] Step 7:

[0307] The server determines if the passwords match, and if so, proceeds to the next step.

[0308] Step 8:

[0309] The server uses an emotion engine to analyze user input data, such as timing of keystrokes and mouse movements, to determine the user's emotional state.

[0310] Step 9:

[0311] The server adjusts the authentication process based on the emotion engine's analysis, for example by displaying additional security questions if a high-stress state is detected.

[0312] Step 10:

[0313] The server generates an authentication result and sends a response requesting additional authentication measures from the terminal if necessary.

[0314] Step 11:

[0315] The device receives the response from the server and notifies the user of the authentication result, for example, by displaying a message such as "Login successful" or "Additional authentication required."

[0316] Specific examples

[0317] Example of user login

[0318] 1. Fill in the login form

[0319] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0320] 2. Send a login request

[0321] The device sends this information to the server as a POST request.

[0322] 3. Server-side processing

[0323] The server receives the request and checks if "username123" exists in the database. If it does, the server compares the entered "password123" with the encrypted password in the database.

[0324] 4. Sentiment Analysis

[0325] The server uses an emotion engine to analyze the emotions from the user's input data, for example, by analyzing the timing of keystrokes and mouse movements to determine whether the user is feeling stressed.

[0326] 5. Adjustment of authentication results

[0327] The server adjusts the authentication process based on the emotion engine's analysis, for example, if the user is highly stressed, additional authentication is requested.

[0328] 6. Sending authentication results

[0329] The server generates an authentication result and sends a response to the terminal requesting additional authentication measures if necessary.

[0330] 7. User Notices

[0331] The device receives the response from the server and displays a notification to the user saying "Login successful" or "Additional authentication required."

[0332] This process ensures the security of user data while providing flexible authentication that takes into account the user's emotional state.

[0333] Example 2

[0334] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0335] Conventional user authentication systems have struggled to ensure the security and convenience of user authentication data. In particular, there has been no system that can flexibly adjust the authentication process by taking into account the user's emotional state, in addition to receiving, encrypting, storing, and comparing authentication data. This has led to problems such as inappropriate responses in situations of high stress or impatience. Therefore, there is a need for improved security and user experience in the authentication process.

[0336] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0337] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, and means for analyzing the user's input data and behavioral data to determine the user's emotional state, thereby improving the safety and convenience of the user authentication process.

[0338] "Authentication data" is information a user enters to access a system, and typically includes a username and password.

[0339] "Encryption" is a technology that converts received data using a specific algorithm to protect it from unauthorized access or eavesdropping.

[0340] A "database" is a system for efficiently storing, managing, and retrieving data.

[0341] An "authentication request" is a request for information sent when a user attempts to access a system.

[0342] An "emotion engine" is a system or algorithm that analyzes a user's input data and behavioral data to determine their emotional state.

[0343] "Emotional state" is information that indicates the user's psychological or emotional state, and includes, for example, stress, impatience, composure, and the like.

[0344] "User input data" refers to all information that a user inputs into a system, including keystrokes, mouse movements, and the like.

[0345] An "additional authentication step" is any additional verification method required of a user beyond the normal authentication process, including, for example, security questions or two-factor authentication.

[0346] An "emotion analysis engine" is a system or algorithm that analyzes a user's emotional state and adjusts the authentication process based on the results.

[0347] An "authentication process" is a series of steps a user goes through to gain access to a system, including receiving, encrypting, storing, comparing, and sentiment analysis of user data.

[0348] The present invention provides a system that automatically adjusts the authentication process by taking into account the user's emotional state while securely handling the user's authentication data. This system is comprised of a combination of various technical components for receiving, encrypting, storing, and comparing authentication data, as well as collecting and analyzing the user's emotional data.

[0349] Specific names of hardware and software

[0350] 1. Web Form (HTML, JavaScript)

[0351] 2. Server (Node.js, Express.js)

[0352] 3. Database (MongoDB)

[0353] 4. Emotion Engine (a machine learning model implemented in Python)

[0354] 5. Encryption Library (Bcrypt.js)

[0355] 6. Browser JavaScript API (Event Listeners)

[0356] User registration procedure

[0357] First, the user enters a "username" and "password" into a web form. For example, enter "username123" and "password123" and click the "Register" button. The device uses JavaScript to send this input data to the server as a POST request. The server processes the received request and confirms that "username123" does not already exist in the database (MongoDB). It then encrypts "password123" using the Bcrypt.js library and saves the username along with the encrypted password in the database. The server responds by sending the user a message stating "Registration successful."

[0358] User authentication procedure

[0359] A user enters a "username" and "password" into a web form and clicks the "Login" button. For example, the user enters the username "username123" and password "password123." The device sends this information to the server as a POST request. After receiving the request, the server checks the database to verify that "username123" exists, and then compares "password123" with the hashed password stored in the database. This comparison is performed using the Bcrypt.js library.

[0360] Emotion data collection and analysis

[0361] Additionally, the server uses a JavaScript API to collect user input and behavioral data, such as data entered into web forms, mouse movements, and keystroke timing. Once collected, the emotion data is analyzed by an emotion engine (a machine learning model implemented in Python). This analysis determines the user's emotional state (e.g., high stress, impatience, calm, etc.).

[0362] Reflection in the certification process

[0363] Based on the analysis, the server adjusts the authentication process. For example, if the user is determined to be in a high-stress state, it may request an additional authentication step (e.g., secret questions or two-factor authentication). If the password is correct and there are no problems with the emotional state, it may send a "Login successful" message. If there are problems, it may send a "Additional authentication required" or "Incorrect password" message.

[0364] Examples of concrete examples and prompts

[0365] For example, if a user attempts to log in with "username123" and "password123" and the emotion engine detects a high level of stress, the server will display a message saying "Additional authentication required" and an additional security question. Once the user completes this additional step, authentication will be completed.

[0366] Example prompt sentence:

[0367] Please enter your username and password to register.

[0368] "Please enter your username and password to log in."

[0369] "Analyzing your current emotional state. Please wait."

[0370] Please complete additional authentication steps.

[0371] In this way, it is possible to significantly improve the security and convenience of the user authentication process.

[0372] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0373] Step 1:

[0374] The user enters a "username" and "password" into a web form.

[0375] Enter: username "username123" and password "password123"

[0376] Output: The user completes the form and clicks the "Register" button.

[0377] Step 2:

[0378] The terminal sends the form input data to the server as a POST request.

[0379] Input: Username and password entered in the form

[0380] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[0381] Output: POST request sent to the server

[0382] Step 3:

[0383] The server receives the request and checks if the username already exists in its database.

[0384] Input: Username and password in the POST request

[0385] Data processing: Run a database (MongoDB) query to check if "username123" exists

[0386] Output: If username does not exist, go to next step

[0387] Step 4:

[0388] The server encrypts the password and stores the encrypted data in the database.

[0389] Enter: username "username123" and password "password123"

[0390] Data Calculation: Encrypting a password using the Bcrypt.js library

[0391] Output: The encrypted password is stored in the database.

[0392] Step 5:

[0393] The server sends a registration success message to the terminal.

[0394] Input: None (internal processing only)

[0395] Output: A "Registration successful" message is sent to the terminal and confirmed by the user

[0396] Step 6:

[0397] The user enters a "username" and "password" into a web form.

[0398] Enter: username "username123" and password "password123"

[0399] Output: The user completes the form and clicks the "Login" button.

[0400] Step 7:

[0401] The terminal sends a login request to the server as a POST request.

[0402] Input: Username and password entered in the form

[0403] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[0404] Output: POST request sent to the server

[0405] Step 8:

[0406] The server receives the request and checks if the username exists in the database.

[0407] Input: Username and password in the POST request

[0408] Data processing: Run a database (MongoDB) query to check if "username123" exists

[0409] Output: If username exists, go to next step

[0410] Step 9:

[0411] The server compares the entered password with the hashed password.

[0412] Input: The entered password "password123" and the hashed password from the database

[0413] Data calculation: comparing hashed passwords using the Bcrypt.js library

[0414] Output: If matched, go to next step

[0415] Step 10:

[0416] The server collects user input and behavioral data.

[0417] Input: User behavioral data such as mouse movements and keystroke timing

[0418] Data processing: Collecting behavioral data using JavaScript APIs

[0419] Output: Collected behavioral data is sent to the server

[0420] Step 11:

[0421] The server analyzes the collected data and determines the user's emotional state.

[0422] Input: Collected behavioral data

[0423] Data calculation: Analyze data using emotion engine (machine learning model)

[0424] Output: The user's emotional state (e.g., high stress, calm, etc.) is determined.

[0425] Step 12:

[0426] The server adjusts the authentication process based on the emotional state.

[0427] Input: Emotional state

[0428] Data manipulation: Apply additional authentication steps under high stress conditions

[0429] Output: An additional authentication step (e.g. security question) is required

[0430] Step 13:

[0431] The server sends a message to the terminal based on the authentication result and the emotion analysis result.

[0432] Input: Authentication result and emotional state

[0433] Output: A message "Login successful" or "Additional authentication required" is sent to the terminal for the user to confirm.

[0434] In this way, user authentication with improved security and convenience is realized.

[0435] (Application example 2)

[0436] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart device 14 will be referred to as a "terminal."

[0437] Conventional user authentication systems rely on static authentication information such as passwords, which increases the risk of information leaks and unauthorized access. Furthermore, if a user experiences stress or impatience in their daily lives, this can affect the authentication process and increase the chance of authentication failures. This reduces the convenience of the system. The present invention aims to provide a user authentication system that solves these problems and improves safety and convenience.

[0438] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving authentication information input by a user, means for encrypting the received authentication information, means for storing the encrypted authentication information in a storage device, means for receiving an authentication request from a user, means for comparing the authentication information of the received authentication request with the encrypted information in the storage device, means for collecting emotional data from the user's input data and behavior, means for analyzing the emotional data to determine the user's emotional state, means for adjusting the authentication process based on the emotional state, and means for notifying the user of the authentication result and the emotion analysis result. This increases the security of the authentication process and enables flexible authentication according to the user's emotional state.

[0439] "User" refers to a person who uses a system or application and participates in the authentication process.

[0440] "Authentication information" is data used to verify a user's identity, examples of which include a username and password.

[0441] "Means for receiving" refers to a device or function that can accept data input from the outside.

[0442] "Encryption means" refers to a device or function that algorithmically transforms authentication information for secure storage.

[0443] "Storage device" refers to a physical or digital database for storing and managing data.

[0444] An "authentication request" refers to a request in which a user submits their authentication information to the system and seeks authentication.

[0445] "Means for comparing" refers to a device or function that matches the received authentication information with information in a database.

[0446] "Input data" refers to information entered by a user into a system.

[0447] "Behavior" refers to the operations and movements that a user makes when using a system.

[0448] "Emotion data" is data that indicates the user's emotional state, and includes data that is inferred from input data, behavior, and the like.

[0449] "Means for analyzing" refers to a device or function that analyzes collected data to extract meaningful information.

[0450] The "emotional state" is a state that indicates the user's emotions, and examples include a stressed state and a normal state.

[0451] "Means for adjusting" refers to a device or function that changes or adjusts system processes based on the results of the analysis.

[0452] "Means for notifying" refers to a method or device for conveying results or information from the system to the user.

[0453] A system for implementing the present invention includes the following components and processing steps.

[0454] The server has the function of receiving authentication information entered by the user, encrypting that information, and storing it in the storage device. For example, it receives the username and password entered by the user during registration and stores them in encrypted form. The server also has a means for receiving an authentication request from the user and comparing the authentication information included in the request with the encrypted information in the storage device. This comparison determines whether the authentication was successful.

[0455] The server also has the ability to collect user input and behavioral data and analyze the resulting emotional data. Behavioral data, such as the text the user enters into forms, mouse movements, and keystroke timing, is collected and analyzed by an emotional engine to determine the user's emotional state. Based on the results of this analysis, the server can adjust the authentication process. For example, if the user is in a state of high stress, it can increase security by requiring an additional authentication step.

[0456] Furthermore, the server has a means to notify the user of the authentication result and the sentiment analysis result. If the authentication is successful, the server notifies the user and also displays the sentiment analysis result. If the authentication fails or additional authentication is required, the server notifies the user so that the user knows what to do next.

[0457] The hardware and software used include the Python language, the Flask web framework, and a tentative emotion recognition library called EmoLib. Python is used for basic data processing and server-side logic implementation, while Flask is used to build the API server. EmoLib is used to analyze user input and behavioral data to identify emotional states.

[0458] As a concrete example, consider the user registration scenario. A user opens an app and enters their username and password on the "Registration" page. The system then sends this input data and initial emotion recognition data to the server, where it processes and stores them. Next, consider the user login scenario. A user opens an app, enters their username and password on the login page, and the system sends this data to the server. The authentication process is executed on the server side, where emotion analysis is performed and additional authentication steps are requested if necessary. The result is then notified to the user.

[0459] An example of a prompt for the generative AI model is as follows:

[0460] "Generate an example of the authentication process below.

[0461] The user enters "username123" and "password123" into the login form.

[0462] The emotion engine analyzes your stress level and requires additional authentication due to high stress levels.

[0463] It displays security questions for additional authentication and the user answers them correctly.

[0464] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0465] Step 1: User launches the application and sees the registration or login screen.

[0466] The user launches the application and enters their username and password into a registration or login screen, which is then sent from the device to the server.

[0467] Step 2: The server encrypts the received authentication information.

[0468] The server receives the username and password sent by the user and encrypts the password. Specifically, it converts the password using an encryption algorithm such as SHA-256. The inputs to this step are the username and password, and the output is the username and encrypted password.

[0469] Step 3: The encrypted authentication information is stored on the storage device.

[0470] The server stores the encrypted authentication information in a storage device (database). When storing, the username and encrypted password are stored as a pair.

[0471] Step 4: The user submits a login request.

[0472] The user enters the username and password on the login screen and clicks the login button, which sends an authentication request from the terminal to the server.

[0473] Step 5: The server receives the login request and compares the credentials.

[0474] The server receives the login request and compares the entered username and password with the encrypted information in the database. The input for this step is the username and password, and the output is the result of authentication success or failure.

[0475] Step 6: The server collects the user's input data and behavior data.

[0476] The text entered by the user into the form, the mouse movements, the timing of keystrokes, and other behavioral data are sent to the server. The input is the user's input data and behavioral data, and the output is the collected emotional data.

[0477] Step 7: The server analyzes the emotion data to determine the user's emotional state.

[0478] The server analyzes the collected data using an emotion engine (e.g., EmoLib) to determine the user's emotional state. The input of this step is the collected emotion data, and the output is the analysis result of the user's emotional state.

[0479] Step 8: The server adjusts the authentication process based on the emotional state.

[0480] The server then requests additional authentication steps based on the emotional state analysis, if necessary. For example, if a high-stress state is detected, additional security questions may be displayed. The input to this step is the emotional state analysis, and the output is a tailored authentication process.

[0481] Step 9: The server notifies the user of the authentication result and the sentiment analysis result.

[0482] The server notifies the user whether authentication was successful or failed, and whether additional authentication is required. The result of the sentiment analysis is also provided to the user. The input of this step is the authentication result and the sentiment analysis result, and the output is a notification message.

[0483] The above are the specific processing steps for carrying out the present invention.

[0484] The specific processing unit 290 transmits the result of the specific processing to the smart device 14. In the smart device 14, the control unit 46A causes the output device 40 to output the result of the specific processing. The microphone 38B acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 38B to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0485] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (registered trademark) (Internet search engine).<URL: https: / / openai.com / blog / chatgpt> ), Gemini (registered trademark) (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0486] In the above embodiment, an example in which the specific process is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific process may be performed by the smart device 14.

[0487] [Second embodiment]

[0488] FIG. 3 shows an example of the configuration of a data processing system 210 according to the second embodiment.

[0489] 3, the data processing system 210 includes the data processing device 12 and smart glasses 214. An example of the data processing device 12 is a server.

[0490] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0491] The smart glasses 214 include a computer 36, a microphone 238, a speaker 240, a camera 42, and a communication I / F 44. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, and the camera 42 are also connected to the bus 52.

[0492] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0493] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0494] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0495] Fig. 4 shows an example of the main functions of the data processing device 12 and the smart glasses 214. As shown in Fig. 4, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0496] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0497] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0498] In the smart glasses 214, the reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0499] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the smart glasses 214 will be referred to as the "terminal."

[0500] The present invention relates to a user authentication system, and includes technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. An embodiment of the present invention is described below.

[0501] User authentication system overview

[0502] 1. User registration procedure

[0503] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[0504] 2. User authentication procedure

[0505] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[0506] As an example, the operation of the system will be specifically explained using the following flow chart.

[0507] Example 1: User registration example

[0508] 1. Fill out the registration form

[0509] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0510] 2. Submitting a Registration Request

[0511] The device sends this information to the server as a POST request.

[0512] 3. Server-side processing

[0513] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[0514] 4. Sending the Response

[0515] The server sends a message to the terminal saying "registration successful", which the user confirms.

[0516] Example 2: User login example

[0517] 1. Fill in the login form

[0518] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0519] 2. Send a login request

[0520] The device sends this information to the server as a POST request.

[0521] 3. Server-side processing

[0522] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[0523] 4. Sending authentication results

[0524] If the passwords match, the server sends a message to the terminal saying "Login successful" and the user confirms this. If they do not match, the server sends a message saying "Password incorrect."

[0525] This allows the system of the present invention to provide an efficient authentication process while ensuring the security of user data.

[0526] The processing flow will be explained below.

[0527] User registration process flow

[0528] Step 1:

[0529] The user opens a web form and enters the requested "username" and "password."

[0530] Step 2:

[0531] When the user clicks the "Register" button on the form, the terminal sends a POST request containing the entered data to the server.

[0532] Step 3:

[0533] The server receives the POST request and extracts the "username" and "password" from the request data.

[0534] Step 4:

[0535] The server searches its database to see if the entered "username" already exists.

[0536] Step 5:

[0537] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[0538] Step 6:

[0539] The server stores the encrypted "password" and "username" in the database.

[0540] Step 7:

[0541] The server generates a response including the message "registration successful" and sends it to the terminal.

[0542] Step 8:

[0543] The terminal receives the response from the server and notifies the user that "registration was successful."

[0544] User login process flow

[0545] Step 1:

[0546] The user opens a web form and enters the requested "username" and "password."

[0547] Step 2:

[0548] When the user clicks the "Login" button on the form, the terminal sends a POST request containing the entered data to the server.

[0549] Step 3:

[0550] The server receives the POST request and extracts the "username" and "password" from the request data.

[0551] Step 4:

[0552] The server searches its database to see if the entered "user name" exists.

[0553] Step 5:

[0554] If the server finds the "username" it will retrieve the encrypted "password" stored in the database.

[0555] Step 6:

[0556] The server compares the entered "password" with the encrypted "password" in the database.

[0557] Step 7:

[0558] If the server confirms that the password matches, it generates a message stating "login successful" and sends it to the terminal.

[0559] Step 8:

[0560] If the password does not match, the server generates a message saying "Incorrect password" and sends it to the terminal.

[0561] Step 9:

[0562] The terminal receives the response from the server and notifies the user of the authentication result.

[0563] Example 1

[0564] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0565] In conventional user authentication systems, it is difficult to perform authentication efficiently while ensuring the security of user data, and there are particular issues regarding unauthorized access to data and the efficiency of the authentication process. In addition, there is a demand for technology that can perform authentication quickly and reliably even in the comparison process of encrypted data.

[0566] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[0567] In this invention, the server includes means for receiving authentication data entered by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with encrypted data in the database, means for sending the authentication result to the user, means for sending the authentication data entered by the user in a web form to the server as a POST request, means for the server to compare the authentication data with the encrypted data after receiving the request, means for encrypting the password using the bcrypt library and storing it in the database, and means for sending a message to the user corresponding to whether the authentication was successful or not. This ensures the security of user data and realizes an efficient authentication process.

[0568] "User" means an individual or member of an organization who accesses the Authentication System and enters and submits Authentication Data.

[0569] "Terminal" refers to a device operated by a user, and refers to hardware such as a PC, smartphone, tablet, etc.

[0570] "Server" refers to a computer system that processes requests sent by users and manages the authentication process in conjunction with a database.

[0571] "Authentication data" refers to information for authentication, such as a username and password that a user enters into an authentication system.

[0572] A "POST request" is one of the HTTP request methods for sending information from a user's terminal to a server.

[0573] "Database" refers to a system for structuring and storing user data, and for retrieving and managing it as needed.

[0574] "Encryption" refers to the process of transforming authentication data using specific algorithms to make it into a form that cannot be easily deciphered by third parties.

[0575] "bcrypt" is a cryptographic library that provides strong password encryption and is used for password hashing.

[0576] "Authentication Request" refers to a request sent by a user to a server to authenticate itself through an authentication system.

[0577] The "authentication result" is information indicating whether the user authentication was successful or unsuccessful, and refers to a message notified to the user based on the result.

[0578] A "web form" is an interface that allows a user to enter and submit data, and is constructed using HTML.

[0579] "Comparison" refers to the process of matching the received authentication data with the encrypted data stored in the database.

[0580] "Message" refers to text or notification containing information to inform the user of the result of authentication.

[0581] The present invention relates to a user authentication system, and provides technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. Specific embodiments of the system will be described in detail below.

[0582] First, the user enters a "username" and "password" using a web form. The device sends this information to the server as a POST request. The server receives the request and checks whether the "username" already exists in the database. If it does not, the server encrypts the password using the bcrypt library and stores the encrypted password and username in the database. This completes the user registration process.

[0583] Next, we will explain the user authentication procedure. The user again uses the web form to enter their "user name" and "password" and sends an authentication request from their terminal to the server. The server receives the request and checks whether the entered "user name" exists in the database. If it does, the server compares the provided password with the encrypted password stored in the database. If the passwords match, the server sends the user a message indicating that authentication was successful. If they do not match, the server sends the user a message indicating that authentication failed.

[0584] This system uses the following hardware and software:

[0585] Hardware:

[0586] Devices: PC, smartphone, tablet, etc.

[0587] Servers: Web servers, database servers (e.g. SQL servers)

[0588] software:

[0589] Frontend: HTML, CSS, JavaScript

[0590] Backend: Python (Flask / Django), Node.js, Java (Spring Boot), etc.

[0591] Database: MySQL, PostgreSQL, MongoDB, etc.

[0592] Cryptography libraries: bcrypt, argon2, etc.

[0593] Specific examples

[0594] Example of user registration

[0595] 1. Fill out the registration form

[0596] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0597] 2. Submitting a Registration Request

[0598] The device sends this information to the server as a POST request.

[0599] 3. Server-side processing

[0600] The server receives the request and verifies that "username123" does not exist in the database.

[0601] The server encrypts "password123" using the bcrypt library and stores it in the database.

[0602] 4. Sending the Response

[0603] The server sends a message to the terminal saying "registration successful", which the user confirms.

[0604] Example of user login

[0605] 1. Fill in the login form

[0606] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0607] 2. Send a login request

[0608] The device sends this information to the server as a POST request.

[0609] 3. Server-side processing

[0610] The server receives the request and checks if "username123" exists in the database.

[0611] If it exists, the server compares the entered "password123" with the bcrypt encrypted password in the database.

[0612] 4. Sending authentication results

[0613] If the passwords match, the server sends a message to the terminal saying "login successful," which the user confirms.

[0614] If they do not match, the server will send a "wrong password" message.

[0615] In this way, the system of the present invention can provide an efficient authentication process while ensuring the security of user data.

[0616] The flow of the identification process in the first embodiment will be described with reference to FIG.

[0617] User registration procedure

[0618] Step 1:

[0619] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[0620] Step 2:

[0621] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[0622] Step 3:

[0623] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does not exist, it proceeds to the next step.

[0624] Step 4:

[0625] The server encrypts the password using the bcrypt library: "password123" is hashed with bcrypt to obtain the encrypted password (e.g., $2a$12$examplehashedpassword).

[0626] Step 5:

[0627] The server stores the encrypted password and username in the database. The database store operation is performed, and if successful, proceeds to the next step.

[0628] Step 6:

[0629] The server generates a response indicating that registration was successful and sends it to the device. Specifically, a message stating "Registration was successful" is sent to the device in JSON format. The user confirms this.

[0630] User authentication procedure

[0631] Step 1:

[0632] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[0633] Step 2:

[0634] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[0635] Step 3:

[0636] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does, it proceeds to the next step.

[0637] Step 4:

[0638] The server compares the entered password with the hashed password stored in the database: specifically, it hashes "password123" again using the bcrypt library and checks it against the stored encrypted password (e.g., $2a$12$examplehashedpassword).

[0639] Step 5:

[0640] If the password matches, the server generates a message stating "Login was successful" and sends it to the terminal. Specifically, the message "Login was successful" is sent in JSON format to the terminal, and the user confirms it.

[0641] Step 6:

[0642] If the password does not match, the server generates a message stating "The password is incorrect" and sends it to the terminal. Specifically, the error message stating "The password is incorrect" is sent in JSON format to the terminal, and the user confirms it.

[0643] (Application example 1)

[0644] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0645] Conventional vehicle access control systems lack a means for fast and secure user authentication, resulting in security risks and a poor user experience. Furthermore, there is a need for a system that allows users to easily access vehicles while maintaining high security.

[0646] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[0647] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with the encrypted data in the database, means for transmitting the authentication result to the user, means for presenting the authentication data when the user needs access to the vehicle, means for granting vehicle access if the user's authentication data matches, and means for displaying the authentication result on a smart display or a visual display device, thereby enabling the user to access the vehicle easily and safely and enhancing vehicle security.

[0648] The "means for receiving authentication data input by the user" refers to a component or program that has the function of transmitting the authentication data input by the user to the server.

[0649] The "means for encrypting received authentication data" refers to a component or program that has the function of encrypting received authentication data to protect it from unauthorized access.

[0650] The "means for storing encrypted authentication data in a database" refers to a component or program that has the function of storing encrypted authentication data in a database within a server.

[0651] The "means for receiving an authentication request from a user" refers to a component or program that has a function for the server to receive an authentication request sent by a user.

[0652] "Means for comparing authentication data of a received authentication request with encrypted data in a database" refers to a component or program that has the function of comparing received authentication data with encrypted data in a database.

[0653] The "means for transmitting the authentication result to the user" refers to a component or program that has the function of notifying the user of the authentication result.

[0654] The "means for presenting authentication data when the user needs access to the vehicle" refers to a component or program that has the function of presenting authentication data when the user requests access to the vehicle.

[0655] The "means for granting permission to access the vehicle when the authentication data of the user matches" refers to a component or program that has the function of granting permission to access the vehicle when the authentication data matches.

[0656] The "means for displaying the authentication result through a smart display or a visual display device" refers to a component or program that has the function of displaying the authentication result through a visual display device.

[0657] The present invention relates to a user authentication system for an access control system for an autonomous vehicle. The specific configuration and operation of the system will be described below.

[0658] Hardware and Software

[0659] The system uses the following hardware and software:

[0660] Hardware: In-car smart display, driver's smartphone or visual display device (e.g. head-mounted display).

[0661] Software: Flask (web framework), SQLite (database), and an application for visual display devices.

[0662] Data processing and calculation

[0663] The server authenticates the user as follows:

[0664] 1. User registration procedure

[0665] The user enters their username and password into the smartphone app, and this data is sent from the device to the server.

[0666] The server checks if the username already exists in the database, and if not, encrypts the password and stores it in the database.

[0667] The server will send a registration successful message to the user.

[0668] 2. User authentication procedures

[0669] The user enters their username and password using a smartphone or visual display device.

[0670] The server receives the authentication request, checks it against the data stored in its database, and sends the result.

[0671] If the passwords match, permission to access the vehicle is granted; if they do not match, an error message is displayed.

[0672] The authentication results are displayed on the vehicle's smart display or visual display device.

[0673] Add specific examples to the description

[0674] A concrete example of how this works is shown below:

[0675] 1. User Registration Procedure

[0676] Example: When a user submits a registration request with "username123" and "password123", the server receives it and stores the user information in the database.

[0677] 2. User authentication procedures

[0678] Example: When a user sends a login request using "username123" and "password123", the server receives it, compares the authentication data, and if the login is successful, displays "Login successful" and allows access to the vehicle. If they do not match, displays "Incorrect password."

[0679] Prompt Sentence Examples

[0680] When registering:

[0681] "'username': 'userA123', 'password': 'securePassword!' Submit registration request"

[0682] Result: "Registration successful"

[0683] When a user authenticates:

[0684] "'username': 'userA123', 'password': 'securePassword!' Send login request"

[0685] Result: "Login successful"

[0686] This system allows users to easily and securely access their vehicles, while also improving vehicle security.

[0687] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[0688] Step 1:

[0689] (User registration procedure) The user enters a username and password using a smartphone app. This sends the input data from the device to the server. The server searches the database for the entered username, and if the username does not exist, it stores the user information in the database along with the encrypted password. The output from the server is a message that registration was successful.

[0690] Step 2:

[0691] (Sending a user authentication request) The user enters their username and password using a smartphone or visual display device and sends a login request to the server. This request contains data for user authentication. The input data includes the username and password.

[0692] Step 3:

[0693] (Receiving and verifying authentication data) The server verifies the authentication request received from the user against the data stored in the database. The input data is the user name and encrypted password. The server compares the received authentication data with the encrypted data in the database to see if they match.

[0694] Step 4:

[0695] (Sending authentication result) The server sends the authentication result to the user based on the result of matching the authentication data. If authentication is successful, it displays "Login successful" and allows access to the vehicle. If there is a mismatch, it displays "Incorrect password." The output is a message indicating whether authentication was successful or failed.

[0696] Step 5:

[0697] (Permit Access) If the user authentication is successful, the server grants permission to access the vehicle. This permission unlocks the vehicle and allows it to start. The result is displayed on the smart display or visual display device.

[0698] Step 6:

[0699] (Visual display of authentication result) The authentication result is displayed on the in-vehicle smart display or visual display device. This allows the user to visually confirm the authentication result. The output is a message displayed on the visual display device.

[0700] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[0701] The present invention improves the security and convenience of the authentication process by combining a user authentication system with an emotion engine that recognizes user emotions. This system includes technical elements for receiving, encrypting, storing, and comparing authentication data, as well as analyzing user emotions.

[0702] User authentication system overview

[0703] 1. User registration procedure

[0704] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[0705] 2. User authentication procedure

[0706] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[0707] Additional features of the Emotion Engine

[0708] The present invention further includes an emotion engine for analyzing the user's emotion data and reflecting it in the authentication process. The emotion engine performs the following processes:

[0709] 1. Collecting Emotional Data

[0710] It collects emotional data about users by using data they enter into web forms, mouse movements, and keystroke timing.

[0711] 2. Sentiment Analysis

[0712] The emotion engine analyzes the collected data and determines the user's emotional state (e.g., stress, anxiety, calmness, etc.).

[0713] 3. Reflection in the certification process

[0714] The emotion engine adjusts the authentication process based on the analysis results. For example, if the user is in a state of high stress, an additional authentication step can be requested.

[0715] Specific examples

[0716] User Registration

[0717] 1. Fill out the registration form

[0718] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0719] 2. Submitting a Registration Request

[0720] The device sends this information to the server as a POST request.

[0721] 3. Server-side processing

[0722] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[0723] 4. Sending the Response

[0724] The server sends a response to the terminal containing the message "registration successful", which the user confirms.

[0725] User Login

[0726] 1. Fill in the login form

[0727] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0728] 2. Send a login request

[0729] The device sends this information to the server as a POST request.

[0730] 3. Server-side processing

[0731] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[0732] 4. Sentiment Analysis

[0733] The server uses an emotion engine to analyze the user's emotions based on their input data and behavior. For example, if stress is detected, additional authentication is required.

[0734] 5. Sending authentication results

[0735] If the password matches and the sentiment analysis is successful, the server sends a "Login successful" message to the terminal, which the user confirms. If the password does not match or if the sentiment analysis is unsuccessful, the server sends a "Password is incorrect" or "Additional authentication is required" message.

[0736] In this way, the system of the present invention provides a flexible authentication process that takes into account the user's emotional state while ensuring the security of user data.

[0737] The processing flow will be explained below.

[0738] User registration process flow

[0739] Step 1:

[0740] A user opens a web form and enters their username and password.

[0741] Step 2:

[0742] When the user clicks the "Register" button, the terminal sends the entered data to the server as a POST request.

[0743] Step 3:

[0744] The server receives the POST request and extracts the "username" and "password" from the request data.

[0745] Step 4:

[0746] The server checks its database to see if the "username" already exists.

[0747] Step 5:

[0748] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[0749] Step 6:

[0750] The server stores the encrypted "password" and "username" in the database.

[0751] Step 7:

[0752] The server generates a response stating "registration successful" and sends it to the terminal.

[0753] Step 8:

[0754] The terminal receives the response and displays a "Registration successful" notification to the user.

[0755] User login process flow

[0756] Step 1:

[0757] A user opens a web form and enters their username and password.

[0758] Step 2:

[0759] When the user clicks the "Login" button, the terminal sends the entered data to the server as a POST request.

[0760] Step 3:

[0761] The server receives the POST request and extracts the "username" and "password" from the request data.

[0762] Step 4:

[0763] The server checks in its database to see if the "username" exists.

[0764] Step 5:

[0765] If the server finds the username, it retrieves the encrypted "password" from the database.

[0766] Step 6:

[0767] The server encrypts the entered "password" and compares it with the encrypted "password" in the database.

[0768] Step 7:

[0769] The server determines if the passwords match, and if so, proceeds to the next step.

[0770] Step 8:

[0771] The server uses an emotion engine to analyze user input data, such as timing of keystrokes and mouse movements, to determine the user's emotional state.

[0772] Step 9:

[0773] The server adjusts the authentication process based on the emotion engine's analysis, for example by displaying additional security questions if a high-stress state is detected.

[0774] Step 10:

[0775] The server generates an authentication result and sends a response requesting additional authentication measures from the terminal if necessary.

[0776] Step 11:

[0777] The device receives the response from the server and notifies the user of the authentication result, for example, by displaying a message such as "Login successful" or "Additional authentication required."

[0778] Specific examples

[0779] Example of user login

[0780] 1. Fill in the login form

[0781] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0782] 2. Send a login request

[0783] The device sends this information to the server as a POST request.

[0784] 3. Server-side processing

[0785] The server receives the request and checks if "username123" exists in the database. If it does, the server compares the entered "password123" with the encrypted password in the database.

[0786] 4. Sentiment Analysis

[0787] The server uses an emotion engine to analyze the emotions from the user's input data, for example, by analyzing the timing of keystrokes and mouse movements to determine whether the user is feeling stressed.

[0788] 5. Adjustment of authentication results

[0789] The server adjusts the authentication process based on the emotion engine's analysis, for example, if the user is highly stressed, additional authentication is requested.

[0790] 6. Sending authentication results

[0791] The server generates an authentication result and sends a response to the terminal requesting additional authentication measures if necessary.

[0792] 7. User Notices

[0793] The device receives the response from the server and displays a notification to the user saying "Login successful" or "Additional authentication required."

[0794] This process ensures the security of user data while providing flexible authentication that takes into account the user's emotional state.

[0795] Example 2

[0796] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0797] Conventional user authentication systems have struggled to ensure the security and convenience of user authentication data. In particular, there has been no system that can flexibly adjust the authentication process by taking into account the user's emotional state, in addition to receiving, encrypting, storing, and comparing authentication data. This has led to problems such as inappropriate responses in situations of high stress or impatience. Therefore, there is a need for improved security and user experience in the authentication process.

[0798] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[0799] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, and means for analyzing the user's input data and behavioral data to determine the user's emotional state, thereby improving the safety and convenience of the user authentication process.

[0800] "Authentication data" is information a user enters to access a system, and typically includes a username and password.

[0801] "Encryption" is a technology that converts received data using a specific algorithm to protect it from unauthorized access or eavesdropping.

[0802] A "database" is a system for efficiently storing, managing, and retrieving data.

[0803] An "authentication request" is a request for information sent when a user attempts to access a system.

[0804] An "emotion engine" is a system or algorithm that analyzes a user's input data and behavioral data to determine their emotional state.

[0805] "Emotional state" is information that indicates the user's psychological or emotional state, and includes, for example, stress, impatience, composure, and the like.

[0806] "User input data" refers to all information that a user inputs into a system, including keystrokes, mouse movements, and the like.

[0807] An "additional authentication step" is any additional verification method required of a user beyond the normal authentication process, including, for example, security questions or two-factor authentication.

[0808] An "emotion analysis engine" is a system or algorithm that analyzes a user's emotional state and adjusts the authentication process based on the results.

[0809] An "authentication process" is a series of steps a user goes through to gain access to a system, including receiving, encrypting, storing, comparing, and sentiment analysis of user data.

[0810] The present invention provides a system that automatically adjusts the authentication process by taking into account the user's emotional state while securely handling the user's authentication data. This system is comprised of a combination of various technical components for receiving, encrypting, storing, and comparing authentication data, as well as collecting and analyzing the user's emotional data.

[0811] Specific names of hardware and software

[0812] 1. Web Form (HTML, JavaScript)

[0813] 2. Server (Node.js, Express.js)

[0814] 3. Database (MongoDB)

[0815] 4. Emotion Engine (a machine learning model implemented in Python)

[0816] 5. Encryption Library (Bcrypt.js)

[0817] 6. Browser JavaScript API (Event Listeners)

[0818] User registration procedure

[0819] First, the user enters a "username" and "password" into a web form. For example, enter "username123" and "password123" and click the "Register" button. The device uses JavaScript to send this input data to the server as a POST request. The server processes the received request and confirms that "username123" does not already exist in the database (MongoDB). It then encrypts "password123" using the Bcrypt.js library and saves the username along with the encrypted password in the database. The server responds by sending the user a message stating "Registration successful."

[0820] User authentication procedure

[0821] A user enters a "username" and "password" into a web form and clicks the "Login" button. For example, the user enters the username "username123" and password "password123." The device sends this information to the server as a POST request. After receiving the request, the server checks the database to verify that "username123" exists, and then compares "password123" with the hashed password stored in the database. This comparison is performed using the Bcrypt.js library.

[0822] Emotion data collection and analysis

[0823] Additionally, the server uses a JavaScript API to collect user input and behavioral data, such as data entered into web forms, mouse movements, and keystroke timing. Once collected, the emotion data is analyzed by an emotion engine (a machine learning model implemented in Python). This analysis determines the user's emotional state (e.g., high stress, impatience, calm, etc.).

[0824] Reflection in the certification process

[0825] Based on the analysis, the server adjusts the authentication process. For example, if the user is determined to be in a high-stress state, it may request an additional authentication step (e.g., secret questions or two-factor authentication). If the password is correct and there are no problems with the emotional state, it may send a "Login successful" message. If there are problems, it may send a "Additional authentication required" or "Incorrect password" message.

[0826] Examples of concrete examples and prompts

[0827] For example, if a user attempts to log in with "username123" and "password123" and the emotion engine detects a high level of stress, the server will display a message saying "Additional authentication required" and an additional security question. Once the user completes this additional step, authentication will be completed.

[0828] Example prompt sentence:

[0829] Please enter your username and password to register.

[0830] "Please enter your username and password to log in."

[0831] "Analyzing your current emotional state. Please wait."

[0832] Please complete additional authentication steps.

[0833] In this way, it is possible to significantly improve the security and convenience of the user authentication process.

[0834] The flow of the identification process in the second embodiment will be described with reference to FIG.

[0835] Step 1:

[0836] The user enters a "username" and "password" into a web form.

[0837] Enter: username "username123" and password "password123"

[0838] Output: The user completes the form and clicks the "Register" button.

[0839] Step 2:

[0840] The terminal sends the form input data to the server as a POST request.

[0841] Input: Username and password entered in the form

[0842] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[0843] Output: POST request sent to the server

[0844] Step 3:

[0845] The server receives the request and checks if the username already exists in its database.

[0846] Input: Username and password in the POST request

[0847] Data processing: Run a database (MongoDB) query to check if "username123" exists

[0848] Output: If username does not exist, go to next step

[0849] Step 4:

[0850] The server encrypts the password and stores the encrypted data in the database.

[0851] Enter: username "username123" and password "password123"

[0852] Data Calculation: Encrypting a password using the Bcrypt.js library

[0853] Output: The encrypted password is stored in the database.

[0854] Step 5:

[0855] The server sends a registration success message to the terminal.

[0856] Input: None (internal processing only)

[0857] Output: A "Registration successful" message is sent to the terminal and confirmed by the user

[0858] Step 6:

[0859] The user enters a "username" and "password" into a web form.

[0860] Enter: username "username123" and password "password123"

[0861] Output: The user completes the form and clicks the "Login" button.

[0862] Step 7:

[0863] The terminal sends a login request to the server as a POST request.

[0864] Input: Username and password entered in the form

[0865] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[0866] Output: POST request sent to the server

[0867] Step 8:

[0868] The server receives the request and checks if the username exists in the database.

[0869] Input: Username and password in the POST request

[0870] Data processing: Run a database (MongoDB) query to check if "username123" exists

[0871] Output: If username exists, go to next step

[0872] Step 9:

[0873] The server compares the entered password with the hashed password.

[0874] Input: The entered password "password123" and the hashed password from the database

[0875] Data calculation: comparing hashed passwords using the Bcrypt.js library

[0876] Output: If matched, go to next step

[0877] Step 10:

[0878] The server collects user input and behavioral data.

[0879] Input: User behavioral data such as mouse movements and keystroke timing

[0880] Data processing: Collecting behavioral data using JavaScript APIs

[0881] Output: Collected behavioral data is sent to the server

[0882] Step 11:

[0883] The server analyzes the collected data and determines the user's emotional state.

[0884] Input: Collected behavioral data

[0885] Data calculation: Analyze data using emotion engine (machine learning model)

[0886] Output: The user's emotional state (e.g., high stress, calm, etc.) is determined.

[0887] Step 12:

[0888] The server adjusts the authentication process based on the emotional state.

[0889] Input: Emotional state

[0890] Data manipulation: Apply additional authentication steps under high stress conditions

[0891] Output: An additional authentication step (e.g. security question) is required

[0892] Step 13:

[0893] The server sends a message to the terminal based on the authentication result and the emotion analysis result.

[0894] Input: Authentication result and emotional state

[0895] Output: A message "Login successful" or "Additional authentication required" is sent to the terminal for the user to confirm.

[0896] In this way, user authentication with improved security and convenience is realized.

[0897] (Application example 2)

[0898] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the smart glasses 214 will be referred to as a "terminal."

[0899] Conventional user authentication systems rely on static authentication information such as passwords, which increases the risk of information leaks and unauthorized access. Furthermore, if a user experiences stress or impatience in their daily lives, this can affect the authentication process and increase the chance of authentication failures. This reduces the convenience of the system. The present invention aims to provide a user authentication system that solves these problems and improves safety and convenience.

[0900] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving authentication information input by a user, means for encrypting the received authentication information, means for storing the encrypted authentication information in a storage device, means for receiving an authentication request from a user, means for comparing the authentication information of the received authentication request with the encrypted information in the storage device, means for collecting emotional data from the user's input data and behavior, means for analyzing the emotional data to determine the user's emotional state, means for adjusting the authentication process based on the emotional state, and means for notifying the user of the authentication result and the emotion analysis result. This increases the security of the authentication process and enables flexible authentication according to the user's emotional state.

[0901] "User" refers to a person who uses a system or application and participates in the authentication process.

[0902] "Authentication information" is data used to verify a user's identity, examples of which include a username and password.

[0903] "Means for receiving" refers to a device or function that can accept data input from the outside.

[0904] "Encryption means" refers to a device or function that algorithmically transforms authentication information for secure storage.

[0905] "Storage device" refers to a physical or digital database for storing and managing data.

[0906] An "authentication request" refers to a request in which a user submits their authentication information to the system and seeks authentication.

[0907] "Means for comparing" refers to a device or function that matches the received authentication information with information in a database.

[0908] "Input data" refers to information entered by a user into a system.

[0909] "Behavior" refers to the operations and movements that a user makes when using a system.

[0910] "Emotion data" is data that indicates the user's emotional state, and includes data that is inferred from input data, behavior, and the like.

[0911] "Means for analyzing" refers to a device or function that analyzes collected data to extract meaningful information.

[0912] The "emotional state" is a state that indicates the user's emotions, and examples include a stressed state and a normal state.

[0913] "Means for adjusting" refers to a device or function that changes or adjusts system processes based on the results of the analysis.

[0914] "Means for notifying" refers to a method or device for conveying results or information from the system to the user.

[0915] A system for implementing the present invention includes the following components and processing steps.

[0916] The server has the function of receiving authentication information entered by the user, encrypting that information, and storing it in the storage device. For example, it receives the username and password entered by the user during registration and stores them in encrypted form. The server also has a means for receiving an authentication request from the user and comparing the authentication information included in the request with the encrypted information in the storage device. This comparison determines whether the authentication was successful.

[0917] The server also has the ability to collect user input and behavioral data and analyze the resulting emotional data. Behavioral data, such as the text the user enters into forms, mouse movements, and keystroke timing, is collected and analyzed by an emotional engine to determine the user's emotional state. Based on the results of this analysis, the server can adjust the authentication process. For example, if the user is in a state of high stress, it can increase security by requiring an additional authentication step.

[0918] Furthermore, the server has a means to notify the user of the authentication result and the sentiment analysis result. If the authentication is successful, the server notifies the user and also displays the sentiment analysis result. If the authentication fails or additional authentication is required, the server notifies the user so that the user knows what to do next.

[0919] The hardware and software used include the Python language, the Flask web framework, and a tentative emotion recognition library called EmoLib. Python is used for basic data processing and server-side logic implementation, while Flask is used to build the API server. EmoLib is used to analyze user input and behavioral data to identify emotional states.

[0920] As a concrete example, consider the user registration scenario. A user opens an app and enters their username and password on the "Registration" page. The system then sends this input data and initial emotion recognition data to the server, where it processes and stores them. Next, consider the user login scenario. A user opens an app, enters their username and password on the login page, and the system sends this data to the server. The authentication process is executed on the server side, where emotion analysis is performed and additional authentication steps are requested if necessary. The result is then notified to the user.

[0921] An example of a prompt for the generative AI model is as follows:

[0922] "Generate an example of the authentication process below.

[0923] The user enters "username123" and "password123" into the login form.

[0924] The emotion engine analyzes your stress level and requires additional authentication due to high stress levels.

[0925] It displays security questions for additional authentication and the user answers them correctly.

[0926] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[0927] Step 1: User launches the application and sees the registration or login screen.

[0928] The user launches the application and enters their username and password into a registration or login screen, which is then sent from the device to the server.

[0929] Step 2: The server encrypts the received authentication information.

[0930] The server receives the username and password sent by the user and encrypts the password. Specifically, it converts the password using an encryption algorithm such as SHA-256. The inputs to this step are the username and password, and the output is the username and encrypted password.

[0931] Step 3: The encrypted authentication information is stored on the storage device.

[0932] The server stores the encrypted authentication information in a storage device (database). When storing, the username and encrypted password are stored as a pair.

[0933] Step 4: The user submits a login request.

[0934] The user enters the username and password on the login screen and clicks the login button, which sends an authentication request from the terminal to the server.

[0935] Step 5: The server receives the login request and compares the credentials.

[0936] The server receives the login request and compares the entered username and password with the encrypted information in the database. The input for this step is the username and password, and the output is the result of authentication success or failure.

[0937] Step 6: The server collects the user's input data and behavior data.

[0938] The text entered by the user into the form, the mouse movements, the timing of keystrokes, and other behavioral data are sent to the server. The input is the user's input data and behavioral data, and the output is the collected emotional data.

[0939] Step 7: The server analyzes the emotion data to determine the user's emotional state.

[0940] The server analyzes the collected data using an emotion engine (e.g., EmoLib) to determine the user's emotional state. The input of this step is the collected emotion data, and the output is the analysis result of the user's emotional state.

[0941] Step 8: The server adjusts the authentication process based on the emotional state.

[0942] The server then requests additional authentication steps based on the emotional state analysis, if necessary. For example, if a high-stress state is detected, additional security questions may be displayed. The input to this step is the emotional state analysis, and the output is a tailored authentication process.

[0943] Step 9: The server notifies the user of the authentication result and the sentiment analysis result.

[0944] The server notifies the user whether authentication was successful or failed, and whether additional authentication is required. The result of the sentiment analysis is also provided to the user. The input of this step is the authentication result and the sentiment analysis result, and the output is a notification message.

[0945] The above are the specific processing steps for carrying out the present invention.

[0946] The specific processing unit 290 transmits the result of the specific processing to the smart glasses 214. In the smart glasses 214, the control unit 46A causes the speaker 240 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[0947] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[0948] In the above embodiment, an example in which the specific processing is performed by the data processing device 12 has been given, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the smart glasses 214.

[0949] [Third embodiment]

[0950] FIG. 5 shows an example of the configuration of a data processing system 310 according to the third embodiment.

[0951] 5, the data processing system 310 includes the data processing device 12 and a headset terminal 314. An example of the data processing device 12 is a server.

[0952] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[0953] The headset type terminal 314 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a display 343. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the display 343 are also connected to the bus 52.

[0954] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[0955] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[0956] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[0957] Fig. 6 shows an example of the main functions of the data processing device 12 and the headset type terminal 314. As shown in Fig. 6, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[0958] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[0959] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[0960] In the headset type terminal 314, a reception output process is performed by the processor 46. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[0961] Next, a description will be given of the identification process performed by the identification processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as the "server" and the headset type terminal 314 will be referred to as the "terminal."

[0962] The present invention relates to a user authentication system, and includes technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. An embodiment of the present invention is described below.

[0963] User authentication system overview

[0964] 1. User registration procedure

[0965] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[0966] 2. User authentication procedure

[0967] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[0968] As an example, the operation of the system will be specifically explained using the following flow chart.

[0969] Example 1: User registration example

[0970] 1. Fill out the registration form

[0971] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[0972] 2. Submitting a Registration Request

[0973] The device sends this information to the server as a POST request.

[0974] 3. Server-side processing

[0975] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[0976] 4. Sending the Response

[0977] The server sends a message to the terminal saying "registration successful", which the user confirms.

[0978] Example 2: User login example

[0979] 1. Fill in the login form

[0980] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[0981] 2. Send a login request

[0982] The device sends this information to the server as a POST request.

[0983] 3. Server-side processing

[0984] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[0985] 4. Sending authentication results

[0986] If the passwords match, the server sends a message to the terminal saying "Login successful" and the user confirms this. If they do not match, the server sends a message saying "Password incorrect."

[0987] This allows the system of the present invention to provide an efficient authentication process while ensuring the security of user data.

[0988] The processing flow will be explained below.

[0989] User registration process flow

[0990] Step 1:

[0991] The user opens a web form and enters the requested "username" and "password."

[0992] Step 2:

[0993] When the user clicks the "Register" button on the form, the terminal sends a POST request containing the entered data to the server.

[0994] Step 3:

[0995] The server receives the POST request and extracts the "username" and "password" from the request data.

[0996] Step 4:

[0997] The server searches its database to see if the entered "username" already exists.

[0998] Step 5:

[0999] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[1000] Step 6:

[1001] The server stores the encrypted "password" and "username" in the database.

[1002] Step 7:

[1003] The server generates a response including the message "registration successful" and sends it to the terminal.

[1004] Step 8:

[1005] The terminal receives the response from the server and notifies the user that "registration was successful."

[1006] User login process flow

[1007] Step 1:

[1008] The user opens a web form and enters the requested "username" and "password."

[1009] Step 2:

[1010] When the user clicks the "Login" button on the form, the terminal sends a POST request containing the entered data to the server.

[1011] Step 3:

[1012] The server receives the POST request and extracts the "username" and "password" from the request data.

[1013] Step 4:

[1014] The server searches its database to see if the entered "user name" exists.

[1015] Step 5:

[1016] If the server finds the "username" it will retrieve the encrypted "password" stored in the database.

[1017] Step 6:

[1018] The server compares the entered "password" with the encrypted "password" in the database.

[1019] Step 7:

[1020] If the server confirms that the password matches, it generates a message stating "login successful" and sends it to the terminal.

[1021] Step 8:

[1022] If the password does not match, the server generates a message saying "Incorrect password" and sends it to the terminal.

[1023] Step 9:

[1024] The terminal receives the response from the server and notifies the user of the authentication result.

[1025] Example 1

[1026] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1027] In conventional user authentication systems, it is difficult to perform authentication efficiently while ensuring the security of user data, and there are particular issues regarding unauthorized access to data and the efficiency of the authentication process. In addition, there is a demand for technology that can perform authentication quickly and reliably even in the comparison process of encrypted data.

[1028] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1029] In this invention, the server includes means for receiving authentication data entered by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with encrypted data in the database, means for sending the authentication result to the user, means for sending the authentication data entered by the user in a web form to the server as a POST request, means for the server to compare the authentication data with the encrypted data after receiving the request, means for encrypting the password using the bcrypt library and storing it in the database, and means for sending a message to the user corresponding to whether the authentication was successful or not. This ensures the security of user data and realizes an efficient authentication process.

[1030] "User" means an individual or member of an organization who accesses the Authentication System and enters and submits Authentication Data.

[1031] "Terminal" refers to a device operated by a user, and refers to hardware such as a PC, smartphone, tablet, etc.

[1032] "Server" refers to a computer system that processes requests sent by users and manages the authentication process in conjunction with a database.

[1033] "Authentication data" refers to information for authentication, such as a username and password that a user enters into an authentication system.

[1034] A "POST request" is one of the HTTP request methods for sending information from a user's terminal to a server.

[1035] "Database" refers to a system for structuring and storing user data, and for retrieving and managing it as needed.

[1036] "Encryption" refers to the process of transforming authentication data using specific algorithms to make it into a form that cannot be easily deciphered by third parties.

[1037] "bcrypt" is a cryptographic library that provides strong password encryption and is used for password hashing.

[1038] "Authentication Request" refers to a request sent by a user to a server to authenticate itself through an authentication system.

[1039] The "authentication result" is information indicating whether the user authentication was successful or unsuccessful, and refers to a message notified to the user based on the result.

[1040] A "web form" is an interface that allows a user to enter and submit data, and is constructed using HTML.

[1041] "Comparison" refers to the process of matching the received authentication data with the encrypted data stored in the database.

[1042] "Message" refers to text or notification containing information to inform the user of the result of authentication.

[1043] The present invention relates to a user authentication system, and provides technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. Specific embodiments of the system will be described in detail below.

[1044] First, the user enters a "username" and "password" using a web form. The device sends this information to the server as a POST request. The server receives the request and checks whether the "username" already exists in the database. If it does not, the server encrypts the password using the bcrypt library and stores the encrypted password and username in the database. This completes the user registration process.

[1045] Next, we will explain the user authentication procedure. The user again uses the web form to enter their "user name" and "password" and sends an authentication request from their terminal to the server. The server receives the request and checks whether the entered "user name" exists in the database. If it does, the server compares the provided password with the encrypted password stored in the database. If the passwords match, the server sends the user a message indicating that authentication was successful. If they do not match, the server sends the user a message indicating that authentication failed.

[1046] This system uses the following hardware and software:

[1047] Hardware:

[1048] Devices: PC, smartphone, tablet, etc.

[1049] Servers: Web servers, database servers (e.g. SQL servers)

[1050] software:

[1051] Frontend: HTML, CSS, JavaScript

[1052] Backend: Python (Flask / Django), Node.js, Java (Spring Boot), etc.

[1053] Database: MySQL, PostgreSQL, MongoDB, etc.

[1054] Cryptography libraries: bcrypt, argon2, etc.

[1055] Specific examples

[1056] Example of user registration

[1057] 1. Fill out the registration form

[1058] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[1059] 2. Submitting a Registration Request

[1060] The device sends this information to the server as a POST request.

[1061] 3. Server-side processing

[1062] The server receives the request and verifies that "username123" does not exist in the database.

[1063] The server encrypts "password123" using the bcrypt library and stores it in the database.

[1064] 4. Sending the Response

[1065] The server sends a message to the terminal saying "registration successful", which the user confirms.

[1066] Example of user login

[1067] 1. Fill in the login form

[1068] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1069] 2. Send a login request

[1070] The device sends this information to the server as a POST request.

[1071] 3. Server-side processing

[1072] The server receives the request and checks if "username123" exists in the database.

[1073] If it exists, the server compares the entered "password123" with the bcrypt encrypted password in the database.

[1074] 4. Sending authentication results

[1075] If the passwords match, the server sends a message to the terminal saying "login successful," which the user confirms.

[1076] If they do not match, the server will send a "wrong password" message.

[1077] In this way, the system of the present invention can provide an efficient authentication process while ensuring the security of user data.

[1078] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1079] User registration procedure

[1080] Step 1:

[1081] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[1082] Step 2:

[1083] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[1084] Step 3:

[1085] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does not exist, it proceeds to the next step.

[1086] Step 4:

[1087] The server encrypts the password using the bcrypt library: "password123" is hashed with bcrypt to obtain the encrypted password (e.g., $2a$12$examplehashedpassword).

[1088] Step 5:

[1089] The server stores the encrypted password and username in the database. The database store operation is performed, and if successful, proceeds to the next step.

[1090] Step 6:

[1091] The server generates a response indicating that registration was successful and sends it to the device. Specifically, a message stating "Registration was successful" is sent to the device in JSON format. The user confirms this.

[1092] User authentication procedure

[1093] Step 1:

[1094] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[1095] Step 2:

[1096] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[1097] Step 3:

[1098] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does, it proceeds to the next step.

[1099] Step 4:

[1100] The server compares the entered password with the hashed password stored in the database: specifically, it hashes "password123" again using the bcrypt library and checks it against the stored encrypted password (e.g., $2a$12$examplehashedpassword).

[1101] Step 5:

[1102] If the password matches, the server generates a message stating "Login was successful" and sends it to the terminal. Specifically, the message "Login was successful" is sent in JSON format to the terminal, and the user confirms it.

[1103] Step 6:

[1104] If the password does not match, the server generates a message stating "The password is incorrect" and sends it to the terminal. Specifically, the error message stating "The password is incorrect" is sent in JSON format to the terminal, and the user confirms it.

[1105] (Application example 1)

[1106] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1107] Conventional vehicle access control systems lack a means for fast and secure user authentication, resulting in security risks and a poor user experience. Furthermore, there is a need for a system that allows users to easily access vehicles while maintaining high security.

[1108] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1109] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with the encrypted data in the database, means for transmitting the authentication result to the user, means for presenting the authentication data when the user needs access to the vehicle, means for granting vehicle access if the user's authentication data matches, and means for displaying the authentication result on a smart display or a visual display device, thereby enabling the user to access the vehicle easily and safely and enhancing vehicle security.

[1110] The "means for receiving authentication data input by the user" refers to a component or program that has the function of transmitting the authentication data input by the user to the server.

[1111] The "means for encrypting received authentication data" refers to a component or program that has the function of encrypting received authentication data to protect it from unauthorized access.

[1112] The "means for storing encrypted authentication data in a database" refers to a component or program that has the function of storing encrypted authentication data in a database within a server.

[1113] The "means for receiving an authentication request from a user" refers to a component or program that has a function for the server to receive an authentication request sent by a user.

[1114] "Means for comparing authentication data of a received authentication request with encrypted data in a database" refers to a component or program that has the function of comparing received authentication data with encrypted data in a database.

[1115] The "means for transmitting the authentication result to the user" refers to a component or program that has the function of notifying the user of the authentication result.

[1116] The "means for presenting authentication data when the user needs access to the vehicle" refers to a component or program that has the function of presenting authentication data when the user requests access to the vehicle.

[1117] The "means for granting permission to access the vehicle when the authentication data of the user matches" refers to a component or program that has the function of granting permission to access the vehicle when the authentication data matches.

[1118] The "means for displaying the authentication result through a smart display or a visual display device" refers to a component or program that has the function of displaying the authentication result through a visual display device.

[1119] The present invention relates to a user authentication system for an access control system for an autonomous vehicle. The specific configuration and operation of the system will be described below.

[1120] Hardware and Software

[1121] The system uses the following hardware and software:

[1122] Hardware: In-car smart display, driver's smartphone or visual display device (e.g. head-mounted display).

[1123] Software: Flask (web framework), SQLite (database), and an application for visual display devices.

[1124] Data processing and calculation

[1125] The server authenticates the user as follows:

[1126] 1. User registration procedure

[1127] The user enters their username and password into the smartphone app, and this data is sent from the device to the server.

[1128] The server checks if the username already exists in the database, and if not, encrypts the password and stores it in the database.

[1129] The server will send a registration successful message to the user.

[1130] 2. User authentication procedures

[1131] The user enters their username and password using a smartphone or visual display device.

[1132] The server receives the authentication request, checks it against the data stored in its database, and sends the result.

[1133] If the passwords match, permission to access the vehicle is granted; if they do not match, an error message is displayed.

[1134] The authentication results are displayed on the vehicle's smart display or visual display device.

[1135] Add specific examples to the description

[1136] A concrete example of how this works is shown below:

[1137] 1. User Registration Procedure

[1138] Example: When a user submits a registration request with "username123" and "password123", the server receives it and stores the user information in the database.

[1139] 2. User authentication procedures

[1140] Example: When a user sends a login request using "username123" and "password123", the server receives it, compares the authentication data, and if the login is successful, displays "Login successful" and allows access to the vehicle. If they do not match, displays "Incorrect password."

[1141] Prompt Sentence Examples

[1142] When registering:

[1143] "'username': 'userA123', 'password': 'securePassword!' Submit registration request"

[1144] Result: "Registration successful"

[1145] When a user authenticates:

[1146] "'username': 'userA123', 'password': 'securePassword!' Send login request"

[1147] Result: "Login successful"

[1148] This system allows users to easily and securely access their vehicles, while also improving vehicle security.

[1149] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1150] Step 1:

[1151] (User registration procedure) The user enters a username and password using a smartphone app. This sends the input data from the device to the server. The server searches the database for the entered username, and if the username does not exist, it stores the user information in the database along with the encrypted password. The output from the server is a message that registration was successful.

[1152] Step 2:

[1153] (Sending a user authentication request) The user enters their username and password using a smartphone or visual display device and sends a login request to the server. This request contains data for user authentication. The input data includes the username and password.

[1154] Step 3:

[1155] (Receiving and verifying authentication data) The server verifies the authentication request received from the user against the data stored in the database. The input data is the user name and encrypted password. The server compares the received authentication data with the encrypted data in the database to see if they match.

[1156] Step 4:

[1157] (Sending authentication result) The server sends the authentication result to the user based on the result of matching the authentication data. If authentication is successful, it displays "Login successful" and allows access to the vehicle. If there is a mismatch, it displays "Incorrect password." The output is a message indicating whether authentication was successful or failed.

[1158] Step 5:

[1159] (Permit Access) If the user authentication is successful, the server grants permission to access the vehicle. This permission unlocks the vehicle and allows it to start. The result is displayed on the smart display or visual display device.

[1160] Step 6:

[1161] (Visual display of authentication result) The authentication result is displayed on the in-vehicle smart display or visual display device. This allows the user to visually confirm the authentication result. The output is a message displayed on the visual display device.

[1162] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1163] The present invention improves the security and convenience of the authentication process by combining a user authentication system with an emotion engine that recognizes user emotions. This system includes technical elements for receiving, encrypting, storing, and comparing authentication data, as well as analyzing user emotions.

[1164] User authentication system overview

[1165] 1. User registration procedure

[1166] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[1167] 2. User authentication procedure

[1168] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[1169] Additional features of the Emotion Engine

[1170] The present invention further includes an emotion engine for analyzing the user's emotion data and reflecting it in the authentication process. The emotion engine performs the following processes:

[1171] 1. Collecting Emotional Data

[1172] It collects emotional data about users by using data they enter into web forms, mouse movements, and keystroke timing.

[1173] 2. Sentiment Analysis

[1174] The emotion engine analyzes the collected data and determines the user's emotional state (e.g., stress, anxiety, calmness, etc.).

[1175] 3. Reflection in the certification process

[1176] The emotion engine adjusts the authentication process based on the analysis results. For example, if the user is in a state of high stress, an additional authentication step can be requested.

[1177] Specific examples

[1178] User Registration

[1179] 1. Fill out the registration form

[1180] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[1181] 2. Submitting a Registration Request

[1182] The device sends this information to the server as a POST request.

[1183] 3. Server-side processing

[1184] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[1185] 4. Sending the Response

[1186] The server sends a response to the terminal containing the message "registration successful", which the user confirms.

[1187] User Login

[1188] 1. Fill in the login form

[1189] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1190] 2. Send a login request

[1191] The device sends this information to the server as a POST request.

[1192] 3. Server-side processing

[1193] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[1194] 4. Sentiment Analysis

[1195] The server uses an emotion engine to analyze the user's emotions based on their input data and behavior. For example, if stress is detected, additional authentication is required.

[1196] 5. Sending authentication results

[1197] If the password matches and the sentiment analysis is successful, the server sends a "Login successful" message to the terminal, which the user confirms. If the password does not match or if the sentiment analysis is unsuccessful, the server sends a "Password is incorrect" or "Additional authentication is required" message.

[1198] In this way, the system of the present invention provides a flexible authentication process that takes into account the user's emotional state while ensuring the security of user data.

[1199] The processing flow will be explained below.

[1200] User registration process flow

[1201] Step 1:

[1202] A user opens a web form and enters their username and password.

[1203] Step 2:

[1204] When the user clicks the "Register" button, the terminal sends the entered data to the server as a POST request.

[1205] Step 3:

[1206] The server receives the POST request and extracts the "username" and "password" from the request data.

[1207] Step 4:

[1208] The server checks its database to see if the "username" already exists.

[1209] Step 5:

[1210] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[1211] Step 6:

[1212] The server stores the encrypted "password" and "username" in the database.

[1213] Step 7:

[1214] The server generates a response stating "registration successful" and sends it to the terminal.

[1215] Step 8:

[1216] The terminal receives the response and displays a "Registration successful" notification to the user.

[1217] User login process flow

[1218] Step 1:

[1219] A user opens a web form and enters their username and password.

[1220] Step 2:

[1221] When the user clicks the "Login" button, the terminal sends the entered data to the server as a POST request.

[1222] Step 3:

[1223] The server receives the POST request and extracts the "username" and "password" from the request data.

[1224] Step 4:

[1225] The server checks in its database to see if the "username" exists.

[1226] Step 5:

[1227] If the server finds the username, it retrieves the encrypted "password" from the database.

[1228] Step 6:

[1229] The server encrypts the entered "password" and compares it with the encrypted "password" in the database.

[1230] Step 7:

[1231] The server determines if the passwords match, and if so, proceeds to the next step.

[1232] Step 8:

[1233] The server uses an emotion engine to analyze user input data, such as timing of keystrokes and mouse movements, to determine the user's emotional state.

[1234] Step 9:

[1235] The server adjusts the authentication process based on the emotion engine's analysis, for example by displaying additional security questions if a high-stress state is detected.

[1236] Step 10:

[1237] The server generates an authentication result and sends a response requesting additional authentication measures from the terminal if necessary.

[1238] Step 11:

[1239] The device receives the response from the server and notifies the user of the authentication result, for example, by displaying a message such as "Login successful" or "Additional authentication required."

[1240] Specific examples

[1241] Example of user login

[1242] 1. Fill in the login form

[1243] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1244] 2. Send a login request

[1245] The device sends this information to the server as a POST request.

[1246] 3. Server-side processing

[1247] The server receives the request and checks if "username123" exists in the database. If it does, the server compares the entered "password123" with the encrypted password in the database.

[1248] 4. Sentiment Analysis

[1249] The server uses an emotion engine to analyze the emotions from the user's input data, for example, by analyzing the timing of keystrokes and mouse movements to determine whether the user is feeling stressed.

[1250] 5. Adjustment of authentication results

[1251] The server adjusts the authentication process based on the emotion engine's analysis, for example, if the user is highly stressed, additional authentication is requested.

[1252] 6. Sending authentication results

[1253] The server generates an authentication result and sends a response to the terminal requesting additional authentication measures if necessary.

[1254] 7. User Notices

[1255] The device receives the response from the server and displays a notification to the user saying "Login successful" or "Additional authentication required."

[1256] This process ensures the security of user data while providing flexible authentication that takes into account the user's emotional state.

[1257] Example 2

[1258] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1259] Conventional user authentication systems have struggled to ensure the security and convenience of user authentication data. In particular, there has been no system that can flexibly adjust the authentication process by taking into account the user's emotional state, in addition to receiving, encrypting, storing, and comparing authentication data. This has led to problems such as inappropriate responses in situations of high stress or impatience. Therefore, there is a need for improved security and user experience in the authentication process.

[1260] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1261] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, and means for analyzing the user's input data and behavioral data to determine the user's emotional state, thereby improving the safety and convenience of the user authentication process.

[1262] "Authentication data" is information a user enters to access a system, and typically includes a username and password.

[1263] "Encryption" is a technology that converts received data using a specific algorithm to protect it from unauthorized access or eavesdropping.

[1264] A "database" is a system for efficiently storing, managing, and retrieving data.

[1265] An "authentication request" is a request for information sent when a user attempts to access a system.

[1266] An "emotion engine" is a system or algorithm that analyzes a user's input data and behavioral data to determine their emotional state.

[1267] "Emotional state" is information that indicates the user's psychological or emotional state, and includes, for example, stress, impatience, composure, and the like.

[1268] "User input data" refers to all information that a user inputs into a system, including keystrokes, mouse movements, and the like.

[1269] An "additional authentication step" is any additional verification method required of a user beyond the normal authentication process, including, for example, security questions or two-factor authentication.

[1270] An "emotion analysis engine" is a system or algorithm that analyzes a user's emotional state and adjusts the authentication process based on the results.

[1271] An "authentication process" is a series of steps a user goes through to gain access to a system, including receiving, encrypting, storing, comparing, and sentiment analysis of user data.

[1272] The present invention provides a system that automatically adjusts the authentication process by taking into account the user's emotional state while securely handling the user's authentication data. This system is comprised of a combination of various technical components for receiving, encrypting, storing, and comparing authentication data, as well as collecting and analyzing the user's emotional data.

[1273] Specific names of hardware and software

[1274] 1. Web Form (HTML, JavaScript)

[1275] 2. Server (Node.js, Express.js)

[1276] 3. Database (MongoDB)

[1277] 4. Emotion Engine (a machine learning model implemented in Python)

[1278] 5. Encryption Library (Bcrypt.js)

[1279] 6. Browser JavaScript API (Event Listeners)

[1280] User registration procedure

[1281] First, the user enters a "username" and "password" into a web form. For example, enter "username123" and "password123" and click the "Register" button. The device uses JavaScript to send this input data to the server as a POST request. The server processes the received request and confirms that "username123" does not already exist in the database (MongoDB). It then encrypts "password123" using the Bcrypt.js library and saves the username along with the encrypted password in the database. The server responds by sending the user a message stating "Registration successful."

[1282] User authentication procedure

[1283] A user enters a "username" and "password" into a web form and clicks the "Login" button. For example, the user enters the username "username123" and password "password123." The device sends this information to the server as a POST request. After receiving the request, the server checks the database to verify that "username123" exists, and then compares "password123" with the hashed password stored in the database. This comparison is performed using the Bcrypt.js library.

[1284] Emotion data collection and analysis

[1285] Additionally, the server uses a JavaScript API to collect user input and behavioral data, such as data entered into web forms, mouse movements, and keystroke timing. Once collected, the emotion data is analyzed by an emotion engine (a machine learning model implemented in Python). This analysis determines the user's emotional state (e.g., high stress, impatience, calm, etc.).

[1286] Reflection in the certification process

[1287] Based on the analysis, the server adjusts the authentication process. For example, if the user is determined to be in a high-stress state, it may request an additional authentication step (e.g., secret questions or two-factor authentication). If the password is correct and there are no problems with the emotional state, it may send a "Login successful" message. If there are problems, it may send a "Additional authentication required" or "Incorrect password" message.

[1288] Examples of concrete examples and prompts

[1289] For example, if a user attempts to log in with "username123" and "password123" and the emotion engine detects a high level of stress, the server will display a message saying "Additional authentication required" and an additional security question. Once the user completes this additional step, authentication will be completed.

[1290] Example prompt sentence:

[1291] Please enter your username and password to register.

[1292] "Please enter your username and password to log in."

[1293] "Analyzing your current emotional state. Please wait."

[1294] Please complete additional authentication steps.

[1295] In this way, it is possible to significantly improve the security and convenience of the user authentication process.

[1296] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1297] Step 1:

[1298] The user enters a "username" and "password" into a web form.

[1299] Enter: username "username123" and password "password123"

[1300] Output: The user completes the form and clicks the "Register" button.

[1301] Step 2:

[1302] The terminal sends the form input data to the server as a POST request.

[1303] Input: Username and password entered in the form

[1304] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[1305] Output: POST request sent to the server

[1306] Step 3:

[1307] The server receives the request and checks if the username already exists in its database.

[1308] Input: Username and password in the POST request

[1309] Data processing: Run a database (MongoDB) query to check if "username123" exists

[1310] Output: If username does not exist, go to next step

[1311] Step 4:

[1312] The server encrypts the password and stores the encrypted data in the database.

[1313] Enter: username "username123" and password "password123"

[1314] Data Calculation: Encrypting a password using the Bcrypt.js library

[1315] Output: The encrypted password is stored in the database.

[1316] Step 5:

[1317] The server sends a registration success message to the terminal.

[1318] Input: None (internal processing only)

[1319] Output: A "Registration successful" message is sent to the terminal and confirmed by the user

[1320] Step 6:

[1321] The user enters a "username" and "password" into a web form.

[1322] Enter: username "username123" and password "password123"

[1323] Output: The user completes the form and clicks the "Login" button.

[1324] Step 7:

[1325] The terminal sends a login request to the server as a POST request.

[1326] Input: Username and password entered in the form

[1327] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[1328] Output: POST request sent to the server

[1329] Step 8:

[1330] The server receives the request and checks if the username exists in the database.

[1331] Input: Username and password in the POST request

[1332] Data processing: Run a database (MongoDB) query to check if "username123" exists

[1333] Output: If username exists, go to next step

[1334] Step 9:

[1335] The server compares the entered password with the hashed password.

[1336] Input: The entered password "password123" and the hashed password from the database

[1337] Data calculation: comparing hashed passwords using the Bcrypt.js library

[1338] Output: If matched, go to next step

[1339] Step 10:

[1340] The server collects user input and behavioral data.

[1341] Input: User behavioral data such as mouse movements and keystroke timing

[1342] Data processing: Collecting behavioral data using JavaScript APIs

[1343] Output: Collected behavioral data is sent to the server

[1344] Step 11:

[1345] The server analyzes the collected data and determines the user's emotional state.

[1346] Input: Collected behavioral data

[1347] Data calculation: Analyze data using emotion engine (machine learning model)

[1348] Output: The user's emotional state (e.g., high stress, calm, etc.) is determined.

[1349] Step 12:

[1350] The server adjusts the authentication process based on the emotional state.

[1351] Input: Emotional state

[1352] Data manipulation: Apply additional authentication steps under high stress conditions

[1353] Output: An additional authentication step (e.g. security question) is required

[1354] Step 13:

[1355] The server sends a message to the terminal based on the authentication result and the emotion analysis result.

[1356] Input: Authentication result and emotional state

[1357] Output: A message "Login successful" or "Additional authentication required" is sent to the terminal for the user to confirm.

[1358] In this way, user authentication with improved security and convenience is realized.

[1359] (Application example 2)

[1360] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the headset type terminal 314 will be referred to as a "terminal."

[1361] Conventional user authentication systems rely on static authentication information such as passwords, which increases the risk of information leaks and unauthorized access. Furthermore, if a user experiences stress or impatience in their daily lives, this can affect the authentication process and increase the chance of authentication failures. This reduces the convenience of the system. The present invention aims to provide a user authentication system that solves these problems and improves safety and convenience.

[1362] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving authentication information input by a user, means for encrypting the received authentication information, means for storing the encrypted authentication information in a storage device, means for receiving an authentication request from a user, means for comparing the authentication information of the received authentication request with the encrypted information in the storage device, means for collecting emotional data from the user's input data and behavior, means for analyzing the emotional data to determine the user's emotional state, means for adjusting the authentication process based on the emotional state, and means for notifying the user of the authentication result and the emotion analysis result. This increases the security of the authentication process and enables flexible authentication according to the user's emotional state.

[1363] "User" refers to a person who uses a system or application and participates in the authentication process.

[1364] "Authentication information" is data used to verify a user's identity, examples of which include a username and password.

[1365] "Means for receiving" refers to a device or function that can accept data input from the outside.

[1366] "Encryption means" refers to a device or function that algorithmically transforms authentication information for secure storage.

[1367] "Storage device" refers to a physical or digital database for storing and managing data.

[1368] An "authentication request" refers to a request in which a user submits their authentication information to the system and seeks authentication.

[1369] "Means for comparing" refers to a device or function that matches the received authentication information with information in a database.

[1370] "Input data" refers to information entered by a user into a system.

[1371] "Behavior" refers to the operations and movements that a user makes when using a system.

[1372] "Emotion data" is data that indicates the user's emotional state, and includes data that is inferred from input data, behavior, and the like.

[1373] "Means for analyzing" refers to a device or function that analyzes collected data to extract meaningful information.

[1374] The "emotional state" is a state that indicates the user's emotions, and examples include a stressed state and a normal state.

[1375] "Means for adjusting" refers to a device or function that changes or adjusts system processes based on the results of the analysis.

[1376] "Means for notifying" refers to a method or device for conveying results or information from the system to the user.

[1377] A system for implementing the present invention includes the following components and processing steps.

[1378] The server has the function of receiving authentication information entered by the user, encrypting that information, and storing it in the storage device. For example, it receives the username and password entered by the user during registration and stores them in encrypted form. The server also has a means for receiving an authentication request from the user and comparing the authentication information included in the request with the encrypted information in the storage device. This comparison determines whether the authentication was successful.

[1379] The server also has the ability to collect user input and behavioral data and analyze the resulting emotional data. Behavioral data, such as the text the user enters into forms, mouse movements, and keystroke timing, is collected and analyzed by an emotional engine to determine the user's emotional state. Based on the results of this analysis, the server can adjust the authentication process. For example, if the user is in a state of high stress, it can increase security by requiring an additional authentication step.

[1380] Furthermore, the server has a means to notify the user of the authentication result and the sentiment analysis result. If the authentication is successful, the server notifies the user and also displays the sentiment analysis result. If the authentication fails or additional authentication is required, the server notifies the user so that the user knows what to do next.

[1381] The hardware and software used include the Python language, the Flask web framework, and a tentative emotion recognition library called EmoLib. Python is used for basic data processing and server-side logic implementation, while Flask is used to build the API server. EmoLib is used to analyze user input and behavioral data to identify emotional states.

[1382] As a concrete example, consider the user registration scenario. A user opens an app and enters their username and password on the "Registration" page. The system then sends this input data and initial emotion recognition data to the server, where it processes and stores them. Next, consider the user login scenario. A user opens an app, enters their username and password on the login page, and the system sends this data to the server. The authentication process is executed on the server side, where emotion analysis is performed and additional authentication steps are requested if necessary. The result is then notified to the user.

[1383] An example of a prompt for the generative AI model is as follows:

[1384] "Generate an example of the authentication process below.

[1385] The user enters "username123" and "password123" into the login form.

[1386] The emotion engine analyzes your stress level and requires additional authentication due to high stress levels.

[1387] It displays security questions for additional authentication and the user answers them correctly.

[1388] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1389] Step 1: User launches the application and sees the registration or login screen.

[1390] The user launches the application and enters their username and password into a registration or login screen, which is then sent from the device to the server.

[1391] Step 2: The server encrypts the received authentication information.

[1392] The server receives the username and password sent by the user and encrypts the password. Specifically, it converts the password using an encryption algorithm such as SHA-256. The inputs to this step are the username and password, and the output is the username and encrypted password.

[1393] Step 3: The encrypted authentication information is stored on the storage device.

[1394] The server stores the encrypted authentication information in a storage device (database). When storing, the username and encrypted password are stored as a pair.

[1395] Step 4: The user submits a login request.

[1396] The user enters the username and password on the login screen and clicks the login button, which sends an authentication request from the terminal to the server.

[1397] Step 5: The server receives the login request and compares the credentials.

[1398] The server receives the login request and compares the entered username and password with the encrypted information in the database. The input for this step is the username and password, and the output is the result of authentication success or failure.

[1399] Step 6: The server collects the user's input data and behavior data.

[1400] The text entered by the user into the form, the mouse movements, the timing of keystrokes, and other behavioral data are sent to the server. The input is the user's input data and behavioral data, and the output is the collected emotional data.

[1401] Step 7: The server analyzes the emotion data to determine the user's emotional state.

[1402] The server analyzes the collected data using an emotion engine (e.g., EmoLib) to determine the user's emotional state. The input of this step is the collected emotion data, and the output is the analysis result of the user's emotional state.

[1403] Step 8: The server adjusts the authentication process based on the emotional state.

[1404] The server then requests additional authentication steps based on the emotional state analysis, if necessary. For example, if a high-stress state is detected, additional security questions may be displayed. The input to this step is the emotional state analysis, and the output is a tailored authentication process.

[1405] Step 9: The server notifies the user of the authentication result and the sentiment analysis result.

[1406] The server notifies the user whether authentication was successful or failed, and whether additional authentication is required. The result of the sentiment analysis is also provided to the user. The input of this step is the authentication result and the sentiment analysis result, and the output is a notification message.

[1407] The above are the specific processing steps for carrying out the present invention.

[1408] The specific processing unit 290 transmits the result of the specific processing to the headset type terminal 314. In the headset type terminal 314, the control unit 46A causes the speaker 240 and the display 343 to output the result of the specific processing. The microphone 238 acquires audio indicating a user input regarding the result of the specific processing. The control unit 46A transmits audio data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the audio data.

[1409] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1410] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the headset type terminal 314.

[1411] [Fourth embodiment]

[1412] FIG. 7 shows an example of the configuration of a data processing system 410 according to the fourth embodiment.

[1413] 7, a data processing system 410 includes a data processing device 12 and a robot 414. An example of the data processing device 12 is a server.

[1414] The data processing device 12 includes a computer 22, a database 24, and a communication I / F 26. The computer 22 is an example of a "computer" according to the technology of the present disclosure. The computer 22 includes a processor 28, a RAM 30, and a storage 32. The processor 28, the RAM 30, and the storage 32 are connected to a bus 34. The database 24 and the communication I / F 26 are also connected to the bus 34. The communication I / F 26 is connected to a network 54. Examples of the network 54 include a WAN (Wide Area Network) and / or a LAN (Local Area Network).

[1415] The robot 414 includes a computer 36, a microphone 238, a speaker 240, a camera 42, a communication I / F 44, and a control target 443. The computer 36 includes a processor 46, a RAM 48, and a storage 50. The processor 46, the RAM 48, and the storage 50 are connected to a bus 52. The microphone 238, the speaker 240, the camera 42, and the control target 443 are also connected to the bus 52.

[1416] The microphone 238 receives instructions and the like from the user 20 by receiving voice uttered by the user 20. The microphone 238 captures the voice uttered by the user 20, converts the captured voice into audio data, and outputs it to the processor 46. The speaker 240 outputs audio in accordance with instructions from the processor 46.

[1417] Camera 42 is a small digital camera equipped with an optical system including a lens, aperture, and shutter, and an imaging element such as a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor or a CCD (Charge Coupled Device) image sensor, and captures images of the surroundings of user 20 (for example, an imaging range defined by an angle of view equivalent to the field of vision of a typical healthy person).

[1418] The communication I / F 44 is connected to a network 54. The communication I / Fs 44 and 26 are responsible for the exchange of various information between the processor 46 and the processor 28 via the network 54. The exchange of various information between the processor 46 and the processor 28 using the communication I / Fs 44 and 26 is carried out in a secure state.

[1419] The control object 443 includes a display device, LEDs in the eyes, and motors for driving the arms, hands, and feet. The posture and gestures of the robot 414 are controlled by controlling the motors of the arms, hands, and feet. Some of the emotions of the robot 414 can be expressed by controlling these motors. In addition, the facial expressions of the robot 414 can also be expressed by controlling the light emission state of the LEDs in the eyes of the robot 414.

[1420] Fig. 8 shows an example of the main functions of the data processing device 12 and the robot 414. As shown in Fig. 8, in the data processing device 12, a specific process is performed by the processor 28. A specific process program 56 is stored in the storage 32.

[1421] The specific processing program 56 is an example of a "program" according to the technology of the present disclosure. The processor 28 reads the specific processing program 56 from the storage 32 and executes the read specific processing program 56 on the RAM 30. The specific processing is realized by the processor 28 operating as a specific processing unit 290 in accordance with the specific processing program 56 executed on the RAM 30.

[1422] The storage 32 stores a data generation model 58 and an emotion identification model 59. The data generation model 58 and the emotion identification model 59 are used by the identification processing unit 290.

[1423] In the robot 414, the processor 46 performs the reception output process. A reception output program 60 is stored in the storage 50. The processor 46 reads the reception output program 60 from the storage 50 and executes the read reception output program 60 on the RAM 48. The reception output process is realized by the processor 46 operating as the control unit 46A in accordance with the reception output program 60 executed on the RAM 48.

[1424] Next, a description will be given of the specific processing performed by the specific processing unit 290 of the data processing device 12. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1425] The present invention relates to a user authentication system, and includes technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. An embodiment of the present invention is described below.

[1426] User authentication system overview

[1427] 1. User registration procedure

[1428] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[1429] 2. User authentication procedure

[1430] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[1431] As an example, the operation of the system will be specifically explained using the following flow chart.

[1432] Example 1: User registration example

[1433] 1. Fill out the registration form

[1434] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[1435] 2. Submitting a Registration Request

[1436] The device sends this information to the server as a POST request.

[1437] 3. Server-side processing

[1438] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[1439] 4. Sending the Response

[1440] The server sends a message to the terminal saying "registration successful", which the user confirms.

[1441] Example 2: User login example

[1442] 1. Fill in the login form

[1443] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1444] 2. Send a login request

[1445] The device sends this information to the server as a POST request.

[1446] 3. Server-side processing

[1447] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[1448] 4. Sending authentication results

[1449] If the passwords match, the server sends a message to the terminal saying "Login successful" and the user confirms this. If they do not match, the server sends a message saying "Password incorrect."

[1450] This allows the system of the present invention to provide an efficient authentication process while ensuring the security of user data.

[1451] The processing flow will be explained below.

[1452] User registration process flow

[1453] Step 1:

[1454] The user opens a web form and enters the requested "username" and "password."

[1455] Step 2:

[1456] When the user clicks the "Register" button on the form, the terminal sends a POST request containing the entered data to the server.

[1457] Step 3:

[1458] The server receives the POST request and extracts the "username" and "password" from the request data.

[1459] Step 4:

[1460] The server searches its database to see if the entered "username" already exists.

[1461] Step 5:

[1462] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[1463] Step 6:

[1464] The server stores the encrypted "password" and "username" in the database.

[1465] Step 7:

[1466] The server generates a response including the message "registration successful" and sends it to the terminal.

[1467] Step 8:

[1468] The terminal receives the response from the server and notifies the user that "registration was successful."

[1469] User login process flow

[1470] Step 1:

[1471] The user opens a web form and enters the requested "username" and "password."

[1472] Step 2:

[1473] When the user clicks the "Login" button on the form, the terminal sends a POST request containing the entered data to the server.

[1474] Step 3:

[1475] The server receives the POST request and extracts the "username" and "password" from the request data.

[1476] Step 4:

[1477] The server searches its database to see if the entered "user name" exists.

[1478] Step 5:

[1479] If the server finds the "username" it will retrieve the encrypted "password" stored in the database.

[1480] Step 6:

[1481] The server compares the entered "password" with the encrypted "password" in the database.

[1482] Step 7:

[1483] If the server confirms that the password matches, it generates a message stating "login successful" and sends it to the terminal.

[1484] Step 8:

[1485] If the password does not match, the server generates a message saying "Incorrect password" and sends it to the terminal.

[1486] Step 9:

[1487] The terminal receives the response from the server and notifies the user of the authentication result.

[1488] Example 1

[1489] Next, a description will be given of Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1490] In conventional user authentication systems, it is difficult to perform authentication efficiently while ensuring the security of user data, and there are particular issues regarding unauthorized access to data and the efficiency of the authentication process. In addition, there is a demand for technology that can perform authentication quickly and reliably even in the comparison process of encrypted data.

[1491] The specific processing by the specific processing unit 290 of the data processing device 12 in the first embodiment is realized by the following means.

[1492] In this invention, the server includes means for receiving authentication data entered by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with encrypted data in the database, means for sending the authentication result to the user, means for sending the authentication data entered by the user in a web form to the server as a POST request, means for the server to compare the authentication data with the encrypted data after receiving the request, means for encrypting the password using the bcrypt library and storing it in the database, and means for sending a message to the user corresponding to whether the authentication was successful or not. This ensures the security of user data and realizes an efficient authentication process.

[1493] "User" means an individual or member of an organization who accesses the Authentication System and enters and submits Authentication Data.

[1494] "Terminal" refers to a device operated by a user, and refers to hardware such as a PC, smartphone, tablet, etc.

[1495] "Server" refers to a computer system that processes requests sent by users and manages the authentication process in conjunction with a database.

[1496] "Authentication data" refers to information for authentication, such as a username and password that a user enters into an authentication system.

[1497] A "POST request" is one of the HTTP request methods for sending information from a user's terminal to a server.

[1498] "Database" refers to a system for structuring and storing user data, and for retrieving and managing it as needed.

[1499] "Encryption" refers to the process of transforming authentication data using specific algorithms to make it into a form that cannot be easily deciphered by third parties.

[1500] "bcrypt" is a cryptographic library that provides strong password encryption and is used for password hashing.

[1501] "Authentication Request" refers to a request sent by a user to a server to authenticate itself through an authentication system.

[1502] The "authentication result" is information indicating whether the user authentication was successful or unsuccessful, and refers to a message notified to the user based on the result.

[1503] A "web form" is an interface that allows a user to enter and submit data, and is constructed using HTML.

[1504] "Comparison" refers to the process of matching the received authentication data with the encrypted data stored in the database.

[1505] "Message" refers to text or notification containing information to inform the user of the result of authentication.

[1506] The present invention relates to a user authentication system, and provides technical elements for realizing secure and efficient authentication for users. The main characteristic elements of this system are a receiving means, an encryption means, a storage means, a comparison means, and a transmission means. Specific embodiments of the system will be described in detail below.

[1507] First, the user enters a "username" and "password" using a web form. The device sends this information to the server as a POST request. The server receives the request and checks whether the "username" already exists in the database. If it does not, the server encrypts the password using the bcrypt library and stores the encrypted password and username in the database. This completes the user registration process.

[1508] Next, we will explain the user authentication procedure. The user again uses the web form to enter their "user name" and "password" and sends an authentication request from their terminal to the server. The server receives the request and checks whether the entered "user name" exists in the database. If it does, the server compares the provided password with the encrypted password stored in the database. If the passwords match, the server sends the user a message indicating that authentication was successful. If they do not match, the server sends the user a message indicating that authentication failed.

[1509] This system uses the following hardware and software:

[1510] Hardware:

[1511] Devices: PC, smartphone, tablet, etc.

[1512] Servers: Web servers, database servers (e.g. SQL servers)

[1513] software:

[1514] Frontend: HTML, CSS, JavaScript

[1515] Backend: Python (Flask / Django), Node.js, Java (Spring Boot), etc.

[1516] Database: MySQL, PostgreSQL, MongoDB, etc.

[1517] Cryptography libraries: bcrypt, argon2, etc.

[1518] Specific examples

[1519] Example of user registration

[1520] 1. Fill out the registration form

[1521] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[1522] 2. Submitting a Registration Request

[1523] The device sends this information to the server as a POST request.

[1524] 3. Server-side processing

[1525] The server receives the request and verifies that "username123" does not exist in the database.

[1526] The server encrypts "password123" using the bcrypt library and stores it in the database.

[1527] 4. Sending the Response

[1528] The server sends a message to the terminal saying "registration successful", which the user confirms.

[1529] Example of user login

[1530] 1. Fill in the login form

[1531] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1532] 2. Send a login request

[1533] The device sends this information to the server as a POST request.

[1534] 3. Server-side processing

[1535] The server receives the request and checks if "username123" exists in the database.

[1536] If it exists, the server compares the entered "password123" with the bcrypt encrypted password in the database.

[1537] 4. Sending authentication results

[1538] If the passwords match, the server sends a message to the terminal saying "login successful," which the user confirms.

[1539] If they do not match, the server will send a "wrong password" message.

[1540] In this way, the system of the present invention can provide an efficient authentication process while ensuring the security of user data.

[1541] The flow of the identification process in the first embodiment will be described with reference to FIG.

[1542] User registration procedure

[1543] Step 1:

[1544] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[1545] Step 2:

[1546] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[1547] Step 3:

[1548] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does not exist, it proceeds to the next step.

[1549] Step 4:

[1550] The server encrypts the password using the bcrypt library: "password123" is hashed with bcrypt to obtain the encrypted password (e.g., $2a$12$examplehashedpassword).

[1551] Step 5:

[1552] The server stores the encrypted password and username in the database. The database store operation is performed, and if successful, proceeds to the next step.

[1553] Step 6:

[1554] The server generates a response indicating that registration was successful and sends it to the device. Specifically, a message stating "Registration was successful" is sent to the device in JSON format. The user confirms this.

[1555] User authentication procedure

[1556] Step 1:

[1557] The user enters a "username" and a "password" into a web form, which gives the username (e.g., username123) and password (e.g., password123) as input data.

[1558] Step 2:

[1559] The terminal sends the input data to the server as a POST request. The input data is encoded in JSON format and sent to the server.

[1560] Step 3:

[1561] The server receives the POST request and queries its database to see if "username" exists. Specifically, the server performs a database lookup query to see if "username123" exists. If it does, it proceeds to the next step.

[1562] Step 4:

[1563] The server compares the entered password with the hashed password stored in the database: specifically, it hashes "password123" again using the bcrypt library and checks it against the stored encrypted password (e.g., $2a$12$examplehashedpassword).

[1564] Step 5:

[1565] If the password matches, the server generates a message stating "Login was successful" and sends it to the terminal. Specifically, the message "Login was successful" is sent in JSON format to the terminal, and the user confirms it.

[1566] Step 6:

[1567] If the password does not match, the server generates a message stating "The password is incorrect" and sends it to the terminal. Specifically, the error message stating "The password is incorrect" is sent in JSON format to the terminal, and the user confirms it.

[1568] (Application example 1)

[1569] Next, a description will be given of Application Example 1. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1570] Conventional vehicle access control systems lack a means for fast and secure user authentication, resulting in security risks and a poor user experience. Furthermore, there is a need for a system that allows users to easily access vehicles while maintaining high security.

[1571] The specific processing by the specific processing unit 290 of the data processing device 12 in the application example 1 is realized by the following means.

[1572] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, means for receiving an authentication request from a user, means for comparing the authentication data of the received authentication request with the encrypted data in the database, means for transmitting the authentication result to the user, means for presenting the authentication data when the user needs access to the vehicle, means for granting vehicle access if the user's authentication data matches, and means for displaying the authentication result on a smart display or a visual display device, thereby enabling the user to access the vehicle easily and safely and enhancing vehicle security.

[1573] The "means for receiving authentication data input by the user" refers to a component or program that has the function of transmitting the authentication data input by the user to the server.

[1574] The "means for encrypting received authentication data" refers to a component or program that has the function of encrypting received authentication data to protect it from unauthorized access.

[1575] The "means for storing encrypted authentication data in a database" refers to a component or program that has the function of storing encrypted authentication data in a database within a server.

[1576] The "means for receiving an authentication request from a user" refers to a component or program that has a function for the server to receive an authentication request sent by a user.

[1577] "Means for comparing authentication data of a received authentication request with encrypted data in a database" refers to a component or program that has the function of comparing received authentication data with encrypted data in a database.

[1578] The "means for transmitting the authentication result to the user" refers to a component or program that has the function of notifying the user of the authentication result.

[1579] The "means for presenting authentication data when the user needs access to the vehicle" refers to a component or program that has the function of presenting authentication data when the user requests access to the vehicle.

[1580] The "means for granting permission to access the vehicle when the authentication data of the user matches" refers to a component or program that has the function of granting permission to access the vehicle when the authentication data matches.

[1581] The "means for displaying the authentication result through a smart display or a visual display device" refers to a component or program that has the function of displaying the authentication result through a visual display device.

[1582] The present invention relates to a user authentication system for an access control system for an autonomous vehicle. The specific configuration and operation of the system will be described below.

[1583] Hardware and Software

[1584] The system uses the following hardware and software:

[1585] Hardware: In-car smart display, driver's smartphone or visual display device (e.g. head-mounted display).

[1586] Software: Flask (web framework), SQLite (database), and an application for visual display devices.

[1587] Data processing and calculation

[1588] The server authenticates the user as follows:

[1589] 1. User registration procedure

[1590] The user enters their username and password into the smartphone app, and this data is sent from the device to the server.

[1591] The server checks if the username already exists in the database, and if not, encrypts the password and stores it in the database.

[1592] The server will send a registration successful message to the user.

[1593] 2. User authentication procedures

[1594] The user enters their username and password using a smartphone or visual display device.

[1595] The server receives the authentication request, checks it against the data stored in its database, and sends the result.

[1596] If the passwords match, permission to access the vehicle is granted; if they do not match, an error message is displayed.

[1597] The authentication results are displayed on the vehicle's smart display or visual display device.

[1598] Add specific examples to the description

[1599] A concrete example of how this works is shown below:

[1600] 1. User Registration Procedure

[1601] Example: When a user submits a registration request with "username123" and "password123", the server receives it and stores the user information in the database.

[1602] 2. User authentication procedures

[1603] Example: When a user sends a login request using "username123" and "password123", the server receives it, compares the authentication data, and if the login is successful, displays "Login successful" and allows access to the vehicle. If they do not match, displays "Incorrect password."

[1604] Prompt Sentence Examples

[1605] When registering:

[1606] "'username': 'userA123', 'password': 'securePassword!' Submit registration request"

[1607] Result: "Registration successful"

[1608] When a user authenticates:

[1609] "'username': 'userA123', 'password': 'securePassword!' Send login request"

[1610] Result: "Login successful"

[1611] This system allows users to easily and securely access their vehicles, while also improving vehicle security.

[1612] The flow of the specific processing in the application example 1 will be described with reference to FIG.

[1613] Step 1:

[1614] (User registration procedure) The user enters a username and password using a smartphone app. This sends the input data from the device to the server. The server searches the database for the entered username, and if the username does not exist, it stores the user information in the database along with the encrypted password. The output from the server is a message that registration was successful.

[1615] Step 2:

[1616] (Sending a user authentication request) The user enters their username and password using a smartphone or visual display device and sends a login request to the server. This request contains data for user authentication. The input data includes the username and password.

[1617] Step 3:

[1618] (Receiving and verifying authentication data) The server verifies the authentication request received from the user against the data stored in the database. The input data is the user name and encrypted password. The server compares the received authentication data with the encrypted data in the database to see if they match.

[1619] Step 4:

[1620] (Sending authentication result) The server sends the authentication result to the user based on the result of matching the authentication data. If authentication is successful, it displays "Login successful" and allows access to the vehicle. If there is a mismatch, it displays "Incorrect password." The output is a message indicating whether authentication was successful or failed.

[1621] Step 5:

[1622] (Permit Access) If the user authentication is successful, the server grants permission to access the vehicle. This permission unlocks the vehicle and allows it to start. The result is displayed on the smart display or visual display device.

[1623] Step 6:

[1624] (Visual display of authentication result) The authentication result is displayed on the in-vehicle smart display or visual display device. This allows the user to visually confirm the authentication result. The output is a message displayed on the visual display device.

[1625] Furthermore, an emotion engine that estimates the user's emotion may be further combined. That is, the identification processing unit 290 may estimate the user's emotion using the emotion identification model 59, and perform identification processing using the user's emotion.

[1626] The present invention improves the security and convenience of the authentication process by combining a user authentication system with an emotion engine that recognizes user emotions. This system includes technical elements for receiving, encrypting, storing, and comparing authentication data, as well as analyzing user emotions.

[1627] User authentication system overview

[1628] 1. User registration procedure

[1629] The user first enters a "username" and "password" using a web form. The device then sends this information to the server. The server receives the request and checks whether the "username" already exists in the database. If it doesn't, the server encrypts the password and stores the encrypted password and username in the database.

[1630] 2. User authentication procedure

[1631] A user enters a "username" and "password" into a web form and sends an authentication request from the terminal to the server. The server receives the request and checks whether the entered "username" exists in its database. If it does, the server compares the provided password with the hashed password stored in the database. If they match, it sends a message to the user indicating that authentication was successful. If they do not match, it sends a message to the user indicating that authentication failed.

[1632] Additional features of the Emotion Engine

[1633] The present invention further includes an emotion engine for analyzing the user's emotion data and reflecting it in the authentication process. The emotion engine performs the following processes:

[1634] 1. Collecting Emotional Data

[1635] It collects emotional data about users by using data they enter into web forms, mouse movements, and keystroke timing.

[1636] 2. Sentiment Analysis

[1637] The emotion engine analyzes the collected data and determines the user's emotional state (e.g., stress, anxiety, calmness, etc.).

[1638] 3. Reflection in the certification process

[1639] The emotion engine adjusts the authentication process based on the analysis results. For example, if the user is in a state of high stress, an additional authentication step can be requested.

[1640] Specific examples

[1641] User Registration

[1642] 1. Fill out the registration form

[1643] The user enters "username123" and "password123" into the web form and clicks the "Register" button.

[1644] 2. Submitting a Registration Request

[1645] The device sends this information to the server as a POST request.

[1646] 3. Server-side processing

[1647] The server receives the request, verifies that "username123" does not exist in the database, encrypts "password123", and stores it in the database.

[1648] 4. Sending the Response

[1649] The server sends a response to the terminal containing the message "registration successful", which the user confirms.

[1650] User Login

[1651] 1. Fill in the login form

[1652] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1653] 2. Send a login request

[1654] The device sends this information to the server as a POST request.

[1655] 3. Server-side processing

[1656] The server receives the request and checks if "username123" exists in its database. If it does, the server compares the entered "password123" with the hashed password in the database.

[1657] 4. Sentiment Analysis

[1658] The server uses an emotion engine to analyze the user's emotions based on their input data and behavior. For example, if stress is detected, additional authentication is required.

[1659] 5. Sending authentication results

[1660] If the password matches and the sentiment analysis is successful, the server sends a "Login successful" message to the terminal, which the user confirms. If the password does not match or if the sentiment analysis is unsuccessful, the server sends a "Password is incorrect" or "Additional authentication is required" message.

[1661] In this way, the system of the present invention provides a flexible authentication process that takes into account the user's emotional state while ensuring the security of user data.

[1662] The processing flow will be explained below.

[1663] User registration process flow

[1664] Step 1:

[1665] A user opens a web form and enters their username and password.

[1666] Step 2:

[1667] When the user clicks the "Register" button, the terminal sends the entered data to the server as a POST request.

[1668] Step 3:

[1669] The server receives the POST request and extracts the "username" and "password" from the request data.

[1670] Step 4:

[1671] The server checks its database to see if the "username" already exists.

[1672] Step 5:

[1673] If the server determines that the "user name" does not exist, it encrypts the entered "password."

[1674] Step 6:

[1675] The server stores the encrypted "password" and "username" in the database.

[1676] Step 7:

[1677] The server generates a response stating "registration successful" and sends it to the terminal.

[1678] Step 8:

[1679] The terminal receives the response and displays a "Registration successful" notification to the user.

[1680] User login process flow

[1681] Step 1:

[1682] A user opens a web form and enters their username and password.

[1683] Step 2:

[1684] When the user clicks the "Login" button, the terminal sends the entered data to the server as a POST request.

[1685] Step 3:

[1686] The server receives the POST request and extracts the "username" and "password" from the request data.

[1687] Step 4:

[1688] The server checks in its database to see if the "username" exists.

[1689] Step 5:

[1690] If the server finds the username, it retrieves the encrypted "password" from the database.

[1691] Step 6:

[1692] The server encrypts the entered "password" and compares it with the encrypted "password" in the database.

[1693] Step 7:

[1694] The server determines if the passwords match, and if so, proceeds to the next step.

[1695] Step 8:

[1696] The server uses an emotion engine to analyze user input data, such as timing of keystrokes and mouse movements, to determine the user's emotional state.

[1697] Step 9:

[1698] The server adjusts the authentication process based on the emotion engine's analysis, for example by displaying additional security questions if a high-stress state is detected.

[1699] Step 10:

[1700] The server generates an authentication result and sends a response requesting additional authentication measures from the terminal if necessary.

[1701] Step 11:

[1702] The device receives the response from the server and notifies the user of the authentication result, for example, by displaying a message such as "Login successful" or "Additional authentication required."

[1703] Specific examples

[1704] Example of user login

[1705] 1. Fill in the login form

[1706] The user enters "username123" and "password123" into the web form and clicks the "Login" button.

[1707] 2. Send a login request

[1708] The device sends this information to the server as a POST request.

[1709] 3. Server-side processing

[1710] The server receives the request and checks if "username123" exists in the database. If it does, the server compares the entered "password123" with the encrypted password in the database.

[1711] 4. Sentiment Analysis

[1712] The server uses an emotion engine to analyze the emotions from the user's input data, for example, by analyzing the timing of keystrokes and mouse movements to determine whether the user is feeling stressed.

[1713] 5. Adjustment of authentication results

[1714] The server adjusts the authentication process based on the emotion engine's analysis, for example, if the user is highly stressed, additional authentication is requested.

[1715] 6. Sending authentication results

[1716] The server generates an authentication result and sends a response to the terminal requesting additional authentication measures if necessary.

[1717] 7. User Notices

[1718] The device receives the response from the server and displays a notification to the user saying "Login successful" or "Additional authentication required."

[1719] This process ensures the security of user data while providing flexible authentication that takes into account the user's emotional state.

[1720] Example 2

[1721] Next, a description will be given of Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1722] Conventional user authentication systems have struggled to ensure the security and convenience of user authentication data. In particular, there has been no system that can flexibly adjust the authentication process by taking into account the user's emotional state, in addition to receiving, encrypting, storing, and comparing authentication data. This has led to problems such as inappropriate responses in situations of high stress or impatience. Therefore, there is a need for improved security and user experience in the authentication process.

[1723] The specific processing by the specific processing unit 290 of the data processing device 12 in the second embodiment is realized by the following means.

[1724] In this invention, the server includes means for receiving authentication data input by a user, means for encrypting the received authentication data, means for storing the encrypted authentication data in a database, and means for analyzing the user's input data and behavioral data to determine the user's emotional state, thereby improving the safety and convenience of the user authentication process.

[1725] "Authentication data" is information a user enters to access a system, and typically includes a username and password.

[1726] "Encryption" is a technology that converts received data using a specific algorithm to protect it from unauthorized access or eavesdropping.

[1727] A "database" is a system for efficiently storing, managing, and retrieving data.

[1728] An "authentication request" is a request for information sent when a user attempts to access a system.

[1729] An "emotion engine" is a system or algorithm that analyzes a user's input data and behavioral data to determine their emotional state.

[1730] "Emotional state" is information that indicates the user's psychological or emotional state, and includes, for example, stress, impatience, composure, and the like.

[1731] "User input data" refers to all information that a user inputs into a system, including keystrokes, mouse movements, and the like.

[1732] An "additional authentication step" is any additional verification method required of a user beyond the normal authentication process, including, for example, security questions or two-factor authentication.

[1733] An "emotion analysis engine" is a system or algorithm that analyzes a user's emotional state and adjusts the authentication process based on the results.

[1734] An "authentication process" is a series of steps a user goes through to gain access to a system, including receiving, encrypting, storing, comparing, and sentiment analysis of user data.

[1735] The present invention provides a system that automatically adjusts the authentication process by taking into account the user's emotional state while securely handling the user's authentication data. This system is comprised of a combination of various technical components for receiving, encrypting, storing, and comparing authentication data, as well as collecting and analyzing the user's emotional data.

[1736] Specific names of hardware and software

[1737] 1. Web Form (HTML, JavaScript)

[1738] 2. Server (Node.js, Express.js)

[1739] 3. Database (MongoDB)

[1740] 4. Emotion Engine (a machine learning model implemented in Python)

[1741] 5. Encryption Library (Bcrypt.js)

[1742] 6. Browser JavaScript API (Event Listeners)

[1743] User registration procedure

[1744] First, the user enters a "username" and "password" into a web form. For example, enter "username123" and "password123" and click the "Register" button. The device uses JavaScript to send this input data to the server as a POST request. The server processes the received request and confirms that "username123" does not already exist in the database (MongoDB). It then encrypts "password123" using the Bcrypt.js library and saves the username along with the encrypted password in the database. The server responds by sending the user a message stating "Registration successful."

[1745] User authentication procedure

[1746] A user enters a "username" and "password" into a web form and clicks the "Login" button. For example, the user enters the username "username123" and password "password123." The device sends this information to the server as a POST request. After receiving the request, the server checks the database to verify that "username123" exists, and then compares "password123" with the hashed password stored in the database. This comparison is performed using the Bcrypt.js library.

[1747] Emotion data collection and analysis

[1748] Additionally, the server uses a JavaScript API to collect user input and behavioral data, such as data entered into web forms, mouse movements, and keystroke timing. Once collected, the emotion data is analyzed by an emotion engine (a machine learning model implemented in Python). This analysis determines the user's emotional state (e.g., high stress, impatience, calm, etc.).

[1749] Reflection in the certification process

[1750] Based on the analysis, the server adjusts the authentication process. For example, if the user is determined to be in a high-stress state, it may request an additional authentication step (e.g., secret questions or two-factor authentication). If the password is correct and there are no problems with the emotional state, it may send a "Login successful" message. If there are problems, it may send a "Additional authentication required" or "Incorrect password" message.

[1751] Examples of concrete examples and prompts

[1752] For example, if a user attempts to log in with "username123" and "password123" and the emotion engine detects a high level of stress, the server will display a message saying "Additional authentication required" and an additional security question. Once the user completes this additional step, authentication will be completed.

[1753] Example prompt sentence:

[1754] Please enter your username and password to register.

[1755] "Please enter your username and password to log in."

[1756] "Analyzing your current emotional state. Please wait."

[1757] Please complete additional authentication steps.

[1758] In this way, it is possible to significantly improve the security and convenience of the user authentication process.

[1759] The flow of the identification process in the second embodiment will be described with reference to FIG.

[1760] Step 1:

[1761] The user enters a "username" and "password" into a web form.

[1762] Enter: username "username123" and password "password123"

[1763] Output: The user completes the form and clicks the "Register" button.

[1764] Step 2:

[1765] The terminal sends the form input data to the server as a POST request.

[1766] Input: Username and password entered in the form

[1767] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[1768] Output: POST request sent to the server

[1769] Step 3:

[1770] The server receives the request and checks if the username already exists in its database.

[1771] Input: Username and password in the POST request

[1772] Data processing: Run a database (MongoDB) query to check if "username123" exists

[1773] Output: If username does not exist, go to next step

[1774] Step 4:

[1775] The server encrypts the password and stores the encrypted data in the database.

[1776] Enter: username "username123" and password "password123"

[1777] Data Calculation: Encrypting a password using the Bcrypt.js library

[1778] Output: The encrypted password is stored in the database.

[1779] Step 5:

[1780] The server sends a registration success message to the terminal.

[1781] Input: None (internal processing only)

[1782] Output: A "Registration successful" message is sent to the terminal and confirmed by the user

[1783] Step 6:

[1784] The user enters a "username" and "password" into a web form.

[1785] Enter: username "username123" and password "password123"

[1786] Output: The user completes the form and clicks the "Login" button.

[1787] Step 7:

[1788] The terminal sends a login request to the server as a POST request.

[1789] Input: Username and password entered in the form

[1790] Data processing: Convert data into JSON format using JavaScript's XMLHttpRequest or Fetch API.

[1791] Output: POST request sent to the server

[1792] Step 8:

[1793] The server receives the request and checks if the username exists in the database.

[1794] Input: Username and password in the POST request

[1795] Data processing: Run a database (MongoDB) query to check if "username123" exists

[1796] Output: If username exists, go to next step

[1797] Step 9:

[1798] The server compares the entered password with the hashed password.

[1799] Input: The entered password "password123" and the hashed password from the database

[1800] Data calculation: comparing hashed passwords using the Bcrypt.js library

[1801] Output: If matched, go to next step

[1802] Step 10:

[1803] The server collects user input and behavioral data.

[1804] Input: User behavioral data such as mouse movements and keystroke timing

[1805] Data processing: Collecting behavioral data using JavaScript APIs

[1806] Output: Collected behavioral data is sent to the server

[1807] Step 11:

[1808] The server analyzes the collected data and determines the user's emotional state.

[1809] Input: Collected behavioral data

[1810] Data calculation: Analyze data using emotion engine (machine learning model)

[1811] Output: The user's emotional state (e.g., high stress, calm, etc.) is determined.

[1812] Step 12:

[1813] The server adjusts the authentication process based on the emotional state.

[1814] Input: Emotional state

[1815] Data manipulation: Apply additional authentication steps under high stress conditions

[1816] Output: An additional authentication step (e.g. security question) is required

[1817] Step 13:

[1818] The server sends a message to the terminal based on the authentication result and the emotion analysis result.

[1819] Input: Authentication result and emotional state

[1820] Output: A message "Login successful" or "Additional authentication required" is sent to the terminal for the user to confirm.

[1821] In this way, user authentication with improved security and convenience is realized.

[1822] (Application example 2)

[1823] Next, a description will be given of Application Example 2. In the following description, the data processing device 12 will be referred to as a "server" and the robot 414 will be referred to as a "terminal."

[1824] Conventional user authentication systems rely on static authentication information such as passwords, which increases the risk of information leaks and unauthorized access. Furthermore, if a user experiences stress or impatience in their daily lives, this can affect the authentication process and increase the chance of authentication failures. This reduces the convenience of the system. The present invention aims to provide a user authentication system that solves these problems and improves safety and convenience.

[1825] The identification process by the identification processing unit 290 of the data processing device 12 in Application Example 2 is realized by the following means. In this invention, the server includes means for receiving authentication information input by a user, means for encrypting the received authentication information, means for storing the encrypted authentication information in a storage device, means for receiving an authentication request from a user, means for comparing the authentication information of the received authentication request with the encrypted information in the storage device, means for collecting emotional data from the user's input data and behavior, means for analyzing the emotional data to determine the user's emotional state, means for adjusting the authentication process based on the emotional state, and means for notifying the user of the authentication result and the emotion analysis result. This increases the security of the authentication process and enables flexible authentication according to the user's emotional state.

[1826] "User" refers to a person who uses a system or application and participates in the authentication process.

[1827] "Authentication information" is data used to verify a user's identity, examples of which include a username and password.

[1828] "Means for receiving" refers to a device or function that can accept data input from the outside.

[1829] "Encryption means" refers to a device or function that algorithmically transforms authentication information for secure storage.

[1830] "Storage device" refers to a physical or digital database for storing and managing data.

[1831] An "authentication request" refers to a request in which a user submits their authentication information to the system and seeks authentication.

[1832] "Means for comparing" refers to a device or function that matches the received authentication information with information in a database.

[1833] "Input data" refers to information entered by a user into a system.

[1834] "Behavior" refers to the operations and movements that a user makes when using a system.

[1835] "Emotion data" is data that indicates the user's emotional state, and includes data that is inferred from input data, behavior, and the like.

[1836] "Means for analyzing" refers to a device or function that analyzes collected data to extract meaningful information.

[1837] The "emotional state" is a state that indicates the user's emotions, and examples include a stressed state and a normal state.

[1838] "Means for adjusting" refers to a device or function that changes or adjusts system processes based on the results of the analysis.

[1839] "Means for notifying" refers to a method or device for conveying results or information from the system to the user.

[1840] A system for implementing the present invention includes the following components and processing steps.

[1841] The server has the function of receiving authentication information entered by the user, encrypting that information, and storing it in the storage device. For example, it receives the username and password entered by the user during registration and stores them in encrypted form. The server also has a means for receiving an authentication request from the user and comparing the authentication information included in the request with the encrypted information in the storage device. This comparison determines whether the authentication was successful.

[1842] The server also has the ability to collect user input and behavioral data and analyze the resulting emotional data. Behavioral data, such as the text the user enters into forms, mouse movements, and keystroke timing, is collected and analyzed by an emotional engine to determine the user's emotional state. Based on the results of this analysis, the server can adjust the authentication process. For example, if the user is in a state of high stress, it can increase security by requiring an additional authentication step.

[1843] Furthermore, the server has a means to notify the user of the authentication result and the sentiment analysis result. If the authentication is successful, the server notifies the user and also displays the sentiment analysis result. If the authentication fails or additional authentication is required, the server notifies the user so that the user knows what to do next.

[1844] The hardware and software used include the Python language, the Flask web framework, and a tentative emotion recognition library called EmoLib. Python is used for basic data processing and server-side logic implementation, while Flask is used to build the API server. EmoLib is used to analyze user input and behavioral data to identify emotional states.

[1845] As a concrete example, consider the user registration scenario. A user opens an app and enters their username and password on the "Registration" page. The system then sends this input data and initial emotion recognition data to the server, where it processes and stores them. Next, consider the user login scenario. A user opens an app, enters their username and password on the login page, and the system sends this data to the server. The authentication process is executed on the server side, where emotion analysis is performed and additional authentication steps are requested if necessary. The result is then notified to the user.

[1846] An example of a prompt for the generative AI model is as follows:

[1847] "Generate an example of the authentication process below.

[1848] The user enters "username123" and "password123" into the login form.

[1849] The emotion engine analyzes your stress level and requires additional authentication due to high stress levels.

[1850] It displays security questions for additional authentication and the user answers them correctly.

[1851] The flow of the specific processing in the application example 2 will be described with reference to FIG.

[1852] Step 1: User launches the application and sees the registration or login screen.

[1853] The user launches the application and enters their username and password into a registration or login screen, which is then sent from the device to the server.

[1854] Step 2: The server encrypts the received authentication information.

[1855] The server receives the username and password sent by the user and encrypts the password. Specifically, it converts the password using an encryption algorithm such as SHA-256. The inputs to this step are the username and password, and the output is the username and encrypted password.

[1856] Step 3: The encrypted authentication information is stored on the storage device.

[1857] The server stores the encrypted authentication information in a storage device (database). When storing, the username and encrypted password are stored as a pair.

[1858] Step 4: The user submits a login request.

[1859] The user enters the username and password on the login screen and clicks the login button, which sends an authentication request from the terminal to the server.

[1860] Step 5: The server receives the login request and compares the credentials.

[1861] The server receives the login request and compares the entered username and password with the encrypted information in the database. The input for this step is the username and password, and the output is the result of authentication success or failure.

[1862] Step 6: The server collects the user's input data and behavior data.

[1863] The text entered by the user into the form, the mouse movements, the timing of keystrokes, and other behavioral data are sent to the server. The input is the user's input data and behavioral data, and the output is the collected emotional data.

[1864] Step 7: The server analyzes the emotion data to determine the user's emotional state.

[1865] The server analyzes the collected data using an emotion engine (e.g., EmoLib) to determine the user's emotional state. The input of this step is the collected emotion data, and the output is the analysis result of the user's emotional state.

[1866] Step 8: The server adjusts the authentication process based on the emotional state.

[1867] The server then requests additional authentication steps based on the emotional state analysis, if necessary. For example, if a high-stress state is detected, additional security questions may be displayed. The input to this step is the emotional state analysis, and the output is a tailored authentication process.

[1868] Step 9: The server notifies the user of the authentication result and the sentiment analysis result.

[1869] The server notifies the user whether authentication was successful or failed, and whether additional authentication is required. The result of the sentiment analysis is also provided to the user. The input of this step is the authentication result and the sentiment analysis result, and the output is a notification message.

[1870] The above are the specific processing steps for carrying out the present invention.

[1871] The specific processing unit 290 transmits the result of the specific processing to the robot 414. In the robot 414, the control unit 46A causes the speaker 240 and the control target 443 to output the result of the specific processing. The microphone 238 acquires voice indicating a user input regarding the result of the specific processing. The control unit 46A transmits voice data indicating the user input acquired by the microphone 238 to the data processing device 12. In the data processing device 12, the specific processing unit 290 acquires the voice data.

[1872] The data generation model 58 is a so-called generative AI (Artificial Intelligence). An example of the data generation model 58 is ChatGPT (Internet Search<URL: https: / / openai.com / blog / chatgpt> ), Gemini (Internet search <url: https: gemini.google.com ?hl="ja">) and other generation AIs. The data generation model 58 is obtained by performing deep learning on a neural network. A prompt including an instruction is input to the data generation model 58, and inference data such as voice data indicating voice, text data indicating text, and image data indicating an image is also input. The data generation model 58 performs inference on the input inference data in accordance with the instruction indicated by the prompt, and outputs the inference result in a data format such as voice data and text data. Here, inference refers to, for example, analysis, classification, prediction, and / or summarization.

[1873] In the above embodiment, an example was given in which the specific processing is performed by the data processing device 12, but the technology of the present disclosure is not limited to this, and the specific processing may be performed by the robot 414.

[1874] The emotion identification model 59 as an emotion engine may determine the user's emotion according to a specific mapping. Specifically, the emotion identification model 59 may determine the user's emotion according to an emotion map (see FIG. 9), which is a specific mapping. Similarly, the emotion identification model 59 may determine the robot's emotion, and the identification processing unit 290 may perform identification processing using the robot's emotion.

[1875] FIG. 9 is a diagram illustrating an emotion map 400 on which multiple emotions are mapped. In the emotion map 400, emotions are arranged in concentric circles radiating from the center. Emotions closer to the center of the concentric circles are more primitive. Emotions representing states and actions arising from a state of mind are arranged on the outer edges of the concentric circles. The concept of emotion includes both affect and mental states. Emotions generally generated from reactions occurring in the brain are arranged on the left side of the concentric circles. Emotions generally induced by situational judgment are arranged on the right side of the concentric circles. Emotions generally generated from reactions occurring in the brain and induced by situational judgment are arranged on the upper and lower sides of the concentric circles. Furthermore, the emotion of "pleasure" is arranged on the upper side of the concentric circles, and the emotion of "discomfort" is arranged on the lower side. In this way, in the emotion map 400, multiple emotions are mapped based on the structure by which emotions are generated, and emotions that tend to occur simultaneously are mapped close to each other.

[1876] These emotions are distributed in the 3 o'clock direction on emotion map 400, and typically fluctuate between relief and anxiety. In the right half of emotion map 400, situational awareness dominates over internal sensations, resulting in a sense of calm.

[1877] The inside of emotion map 400 represents what is going on in the mind, and the outside of emotion map 400 represents behavior, so the further you go outside emotion map 400, the more visible the emotions become (the more they are expressed in behavior).

[1878] Human emotions are based on various balances, such as posture and blood sugar levels. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. Emotions can also be created for robots, automobiles, and motorcycles, based on various balances, such as posture and remaining battery life. When these balances deviate from the ideal, a state of discomfort is indicated, and when they approach the ideal, a state of pleasure is indicated. An emotion map can be generated, for example, based on Dr. Mitsuyoshi's emotion map (Research on Voice Emotion Recognition and Emotional Brain Physiological Signal Analysis Systems, Tokushima University, Doctoral Dissertation: https: / / ci.nii.ac.jp / naid / 500000375379). The left half of the emotion map lists emotions belonging to the "reaction" domain, where sensation is dominant. The right half of the emotion map lists emotions belonging to the "situation" domain, where situational awareness is dominant.

[1879] The emotion map defines two emotions that promote learning. One is a negative emotion on the situation side, around the middle of "repentance" or "reflection." In other words, this occurs when the robot experiences negative emotions such as "I never want to feel this way again" or "I don't want to be scolded again." The other is a positive emotion on the response side, around "desire." In other words, this occurs when the robot experiences positive feelings such as "I want more" or "I want to know more."

[1880] The emotion identification model 59 inputs user input into a pre-trained neural network, obtains emotion values ​​indicating each emotion shown in the emotion map 400, and determines the user's emotion. This neural network is pre-trained based on multiple pieces of training data that are combinations of user input and emotion values ​​indicating each emotion shown in the emotion map 400. Furthermore, this neural network is trained so that emotions that are located close to each other have similar values, as in the emotion map 900 shown in FIG. 10. FIG. 10 shows an example in which multiple emotions, "relieved," "calm," and "reassuring," have similar emotion values.

[1881] The system according to the present disclosure has been described above mainly with respect to the functions of the data processing device 12, but the system according to the present disclosure is not necessarily implemented on a server. The system according to the present disclosure may be implemented as a general information processing system. The present disclosure may be implemented, for example, as a software program running on a personal computer or an application running on a smartphone, etc. The method according to the present disclosure may be provided to users in the form of SaaS (Software as a Service).

[1882] In the above embodiment, an example was given in which the specific processing is performed by one computer 22, but the technology of the present disclosure is not limited to this, and the specific processing may be distributed and performed by a plurality of computers including the computer 22. For example, the data generation model 58 may be provided in an external device of the data processing device 12, and data may be generated in the external device in accordance with input data.

[1883] In the above embodiment, an example in which the specific processing program 56 is stored in the storage 32 has been described, but the technology of the present disclosure is not limited to this. For example, the specific processing program 56 may be stored in a portable, computer-readable, non-transitory storage medium such as a USB (Universal Serial Bus) memory. The specific processing program 56 stored in the non-transitory storage medium is installed in the computer 22 of the data processing device 12. The processor 28 executes the specific processing in accordance with the specific processing program 56.

[1884] Alternatively, the specific processing program 56 may be stored in a storage device such as a server connected to the data processing device 12 via the network 54, and the specific processing program 56 may be downloaded and installed on the computer 22 in response to a request from the data processing device 12.

[1885] It is not necessary to store all of the specific processing program 56 in a storage device such as a server connected to the data processing device 12 via the network 54, or to store all of the specific processing program 56 in the storage 32; only a portion of the specific processing program 56 may be stored.

[1886] The hardware resource for executing a specific process can be any of the following processors: An example of a processor is a CPU, which is a general-purpose processor that functions as a hardware resource for executing a specific process by executing software, i.e., a program. Another example of a processor is a dedicated electrical circuit, such as an FPGA (Field-Programmable Gate Array), a PLD (Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit), which is a processor with a circuit configuration designed specifically for executing a specific process. Each processor has built-in or connected memory, and each processor uses the memory to execute the specific process.

[1887] The hardware resource that executes the specific processing may be configured with one of these various processors, or may be configured with a combination of two or more processors of the same or different types (for example, a combination of multiple FPGAs, or a combination of a CPU and an FPGA). Also, the hardware resource that executes the specific processing may be a single processor.

[1888] As an example of a system configured with a single processor, first, one processor is configured by combining one or more CPUs and software, and this processor functions as a hardware resource that executes a specific process. Second, there is a system that uses a processor that realizes the functions of an entire system including multiple hardware resources that execute a specific process on a single IC chip, as typified by SoC (System-on-a-chip). In this way, a specific process is realized using one or more of the above-mentioned various processors as hardware resources.

[1889] Furthermore, the hardware structure of these various processors can be, more specifically, an electric circuit that combines circuit elements such as semiconductor devices. The specific processing described above is merely an example. Therefore, it goes without saying that unnecessary steps may be deleted, new steps may be added, or the processing order may be rearranged, without departing from the spirit of the invention.

[1890] The above-described description and illustrations are a detailed explanation of the parts related to the technology of the present disclosure and are merely an example of the technology of the present disclosure. For example, the above description of the configuration, functions, actions, and effects is an explanation of an example of the configuration, functions, actions, and effects of the parts related to the technology of the present disclosure. Therefore, it goes without saying that unnecessary parts may be deleted, new elements may be added, or replacements may be made to the above-described description and illustrations within the scope of the gist of the technology of the present disclosure. Furthermore, to avoid confusion and facilitate understanding of the parts related to the technology of the present disclosure, the above-described description and illustrations omit explanations of common technical knowledge that do not require particular explanation to enable the implementation of the technology of the present disclosure.

[1891] All publications, patent applications, and technical standards mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication, patent application, or technical standard was specifically and individually indicated to be incorporated by reference.

[1892] The following is further disclosed regarding the above embodiment.

[1893] (Claim 1)

[1894] means for receiving authentication data entered by a user;

[1895] means for encrypting the received authentication data;

[1896] a means for storing the encrypted authentication data in a database;

[1897] means for receiving an authentication request from a user;

[1898] means for comparing authentication data from a received authentication request with encrypted data from a database;

[1899] means for transmitting the authentication result to the user;

[1900] A system including:

[1901] (Claim 2)

[1902] 2. The system according to claim 1, further comprising means for receiving an authentication request from a user and notifying the user of the authentication result at the source of the request.

[1903] (Claim 3)

[1904] 10. The system of claim 1, further comprising means for comparing encrypted authentication data without decrypting it.

[1905] "Example 1"

[1906] (Claim 1)

[1907] means for receiving authentication data entered by a user;

[1908] means for encrypting the received authentication data;

[1909] a means for storing the encrypted authentication data in a database;

[1910] means for receiving an authentication request from a user;

[1911] means for comparing authentication data from a received authentication request with encrypted data from a database;

[1912] means for transmitting the authentication result to the user;

[1913] a means for transmitting authentication data entered by a user into a web form to a server as a POST request;

[1914] a means for the server to process a comparison of the authentication data with the encrypted data after receiving the request;

[1915] A way to encrypt passwords using the bcrypt library and store them in the database,

[1916] means for sending a message to the user in response to a successful or unsuccessful authentication attempt;

[1917] A system including:

[1918] (Claim 2)

[1919] 2. The system according to claim 1, further comprising means for receiving an authentication request from a user and notifying the user of the authentication result at the source of the request.

[1920] (Claim 3)

[1921] 10. The system of claim 1, further comprising means for comparing encrypted authentication data without decrypting it.

[1922] "Application Example 1"

[1923] (Claim 1)

[1924] means for receiving authentication data entered by a user;

[1925] means for encrypting the received authentication data;

[1926] a means for storing the encrypted authentication data in a database;

[1927] means for receiving an authentication request from a user;

[1928] means for comparing authentication data from a received authentication request with encrypted data from a database;

[1929] means for transmitting the authentication result to the user;

[1930] means for the user to present authentication data in situations where access to the vehicle is required;

[1931] means for granting vehicle access if the user authentication data matches;

[1932] means for displaying the authentication result through a smart display or visual display device;

[1933] A system including:

[1934] (Claim 2)

[1935] 2. The system according to claim 1, further comprising means for receiving an authentication request from a user and notifying the user of the authentication result at the source of the request.

[1936] (Claim 3)

[1937] 10. The system of claim 1, further comprising means for comparing encrypted authentication data without decrypting it.

[1938] "Example 2: Combining Emotion Engines"

[1939] (Claim 1)

[1940] means for receiving authentication data entered by a user;

[1941] means for encrypting the received authentication data;

[1942] a means for storing the encrypted authentication data in a database;

[1943] means for receiving an authentication request from a user;

[1944] means for comparing authentication data from a received authentication request with encrypted data from a database;

[1945] a means for collecting user input data and behavioral data;

[1946] means for analyzing the collected data to determine the user's emotional state;

[1947] a means for adjusting the authentication process based on the emotional state;

[1948] means for transmitting the authentication result to the user;

[1949] A system including:

[1950] (Claim 2)

[1951] 2. The system according to claim 1, further comprising means for receiving an authentication request from a user and notifying the user of the authentication result at the source of the request.

[1952] (Claim 3)

[1953] 10. The system of claim 1, further comprising means for comparing encrypted authentication data without decrypting it.

[1954] (Claim 4)

[1955] 10. The system of claim 1, further comprising means for requesting an additional authentication step if the analyzed emotional state is high stress, impatience, or the like.

[1956] (Claim 5)

[1957] 10. The system of claim 1, further comprising means for providing an emotion analysis engine for improving the security and convenience of the user authentication process.

[1958] "Application example 2 when combining emotion engines"

[1959] (Claim 1)

[1960] means for receiving authentication information input by a user;

[1961] means for encrypting the received authentication information;

[1962] means for storing the encrypted authentication information in a storage device;

[1963] means for receiving an authentication request from a user;

[1964] means for comparing authentication information in a received authentication request with encrypted information in the storage device;

[1965] means for collecting emotion data from user input data and behavior;

[1966] means for analyzing the emotion data to determine the user's emotional state;

[1967] a means for adjusting the authentication process based on the emotional state;

[1968] means for notifying the user of the authentication result and the sentiment analysis result;

[1969] A system including:

[1970] (Claim 2)

[1971] 2. The system according to claim 1, further comprising means for receiving an authentication request from a user and notifying the user of the authentication result and the emotion analysis result upon receiving the request.

[1972] (Claim 3)

[1973] 10. The system of claim 1, further comprising means for comparing encrypted authentication information without decrypting it. [Explanation of symbols]

[1974] 10, 210, 310, 410 Data Processing Systems 12 Data Processing Device 14 Smart Devices 214 Smart Glasses 314 Headset-type terminal 414 Robot< / url:> < / url:> < / url:> < / url:>

Claims

1. means for receiving authentication data entered by a user; means for encrypting the received authentication data; a means for storing the encrypted authentication data in a database; means for receiving an authentication request from a user; means for comparing authentication data from a received authentication request with encrypted data from a database; means for transmitting the authentication result to the user; A system including:

2. 2. The system according to claim 1, further comprising means for receiving an authentication request from a user and notifying the user of the authentication result at the source of the request.

3. 2. The system of claim 1, further comprising means for comparing encrypted authentication data without decrypting it.

Citation Information

Patent Citations

  • Persona chatbot control method and system

    JP2022180282A