IP Library Granted Patent US 7,841,000
Granted Patent B2
US 7,841,000 · App. 11/581,319 · Granted Nov 23, 2010

Authentication password storage method and generation method, user authentication method, and computer

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,841,000
App. No.
11/581,319
Granted
Nov 23, 2010
Kind
B2
Abstract

Protection of an authentication password stored in a database held by a SAM of Windows® is strengthened. A GINA, a part of the OS, receives an authentication password in ASCII codes. The authentication password is converted to first UNICODES, and the first UNICODES are salted with a random number and converted to second UNICODES. The random number used for salting is associated with a user account and a password and stored in a read/write protected non-volatile memory or a non-volatile memory which can be accessed only by a BIOS. An LSA of the OS can process UNICODES without being changed.

Claims (50)

1. A method for a computer to store an authentication password for an operating system (OS) which is constituted by ASCII codes, the method comprising the steps of:

receiving, at a GINA (Graphic Identification and Authentication) of the OS, the authentication password and a user account;

the GINA converting the authentication password to UNICODE data;

salting the UNICODE data with a random number to establish a salted string some of which is not necessarily UNICODE characters;

format-reconverting the salted string to establish a completely UNICODE salted data;

hashing the completely UNICODE salted data to establish hashed UNICODE data; and

storing the user account and the hashed UNICODE data in a user account database held by an SAM (Security Account Manager) of the OS.

2. The storage method according to claim 1 , wherein the conversion to the UNICODE data includes converting the authentication password to first UNICODE data and salting the first UNICODE data with the random number to generate second UNICODE data.

3. The storage method according to claim 2 , wherein the conversion to the UNICODE data includes using a conversion table for mapping which includes code numbers and characters corresponding to the code numbers, if the data obtained by salting the first UNICODE data includes a character which does not exist in the conversion table, replace the character with a character which exists in the conversion table and which has the nearest code number.

4. The storage method according to claim 2 , wherein the conversion to the UNICODE data includes using a conversion table for mapping which includes code numbers and characters corresponding to the code numbers, if the data obtained by salting the first UNICODE data includes a character which does not exist in the conversion table, detect a code number which exists in the conversion table by increasing or decreasing the code number of the character which does not exist in the conversion table.

5. The storage method according to claim 1 , wherein the random number is stored in a read/write protected non-volatile memory.

6. The storage method according to claim 1 , wherein the random number is stored in a non-volatile memory which is accessible only by a BIOS.

7. The storage method according to claim 1 , wherein the random number is provided by a TPM (Trusted Platform Module).

8. A method for a computer to store an authentication password for an operating system (OS) which is constituted by ASCII codes, the method comprising the steps of:

providing a random number for the computer;

receiving the authentication password and the user account;

converting the authentication password to UNICODE data;

salting the UNICODE data with the random number;

if the salted UNICODE data includes a character with a code number which is not included among UNICODES, a GINA (Graphic Identification and Authentication) of the OS changing the code number and generating UNICODE data constituted only by UNICODES;

hashing the UNICODE data; and

storing the user account and the hashed UNICODE data in a user account database held by an SAM (Security Account Manager) of the OS.

9. The storage method according to claim 8 , wherein the conversion to the UNICODE data and the salting are performed inside a TPM (Trusted Platform Module).

10. The storage method according to claim 8 , wherein the conversion to the UNICODE data and the salting are performed by a BIOS.

11. A method for a computer to authenticate each of multiple users with a user account and an authentication password constituted by ASCII codes which have been inputted into the computer on which an operating system (OS) is operating, the method comprising the steps of:

providing a list of random numbers corresponding to user accounts of the respective users for the computer;

providing data related to the users' authentication passwords for a user account database held by an SAM (Security Account Manager) of the OS;

a GINA (Graphic Identification and Authentication) of the OS receiving the user account and the authentication password constituted by ASCII codes;

the GINA acquiring a random number corresponding to the received user account from the list of random numbers and converting the received authentication password to UNICODE data salted with the acquired random number;

hashing the UNICODE data; and

an Authentication Package of the OS comparing the hashed UNICODE data with the data related to the users' authentication passwords which is stored in the user account database.

12. The authentication method according to claim 11 , wherein the conversion to the UNICODE data includes converting the authentication password to first UNICODE data, salting the first UNICODE data with the random number to generate second UNICODE data, and using a conversion table for mapping which includes code numbers and characters corresponding to the code numbers.

13. A computer mounted with an operating system (OS) which authenticates each of multiple users with a user account and an authentication password constituted by ASCII codes, the computer including a processor executing logic comprising:

storing a list of random numbers corresponding to the respective user accounts;

storing data related to the authentication passwords corresponding to respective user accounts;

receiving a user account and an authentication password;

acquiring a random number corresponding to the received user account from the list of random numbers and converting the received authentication password to UNICODE data salted with the acquired random number;

hashing the UNICODE data; and

comparing the hashed UNICODE data and the data related to the authentication passwords stored in storage.

14. The computer according to claim 13 , comprising a user account database held by an SAM (Security Account Manager) of the OS and storing data related to the authentication passwords.

15. The computer according to claim 13 , wherein the processor converts to UNICODE data using a GINA (Graphic Identification and Authentication) of the OS.

16. A method for a computer to authenticate each of multiple users with a user account and an authentication password constituted by ASCII codes which have been inputted into the computer on which an operating system (OS) is operating, the method comprising the steps of:

providing a list of random numbers corresponding to user accounts of the respective users for the computer;

providing data related to the users' authentication passwords for a user account database held by an SAM (Security Account Manager) of the OS;

receiving the user account and the authentication password;

converting the received authentication password to UNICODE data;

acquiring a random number corresponding to the received user account from the list of random numbers;

salting the UNICODE data with the acquired random number;

if the salted data includes a character with a code number which is not included among UNICODES, a GINA (Graphic Identification and Authentication) of the OS changing the code number and generating UNICODE data constituted only by UNICODES;

hashing the UNICODE data; and

an Authentication Package of the OS comparing the hashed UNICODE data with the data related to the users' authentication passwords which is stored in the user account database.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 069870/0670 →
NUNC PRO TUNC ASSIGNMENT Recorded Nov 25, 2015
From: LENOVO (SINGAPORE) PTE LTD.
To: LENOVO PC INTERNATIONAL
Reel/Frame 037160/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2006
From: KAWANO, SEIICHI; SUGIYAMA, YUJI; CHALLENER, DAVID CARROLL; CHILDS, PHILIP LEE; DION II, NORMAN ARTHUR
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 018448/0876 →