WO2017039156A1 - 솔티드 패스워드 인증방법 - Google Patents

솔티드 패스워드 인증방법 Download PDF

Info

Publication number
WO2017039156A1
WO2017039156A1 PCT/KR2016/008316 KR2016008316W WO2017039156A1 WO 2017039156 A1 WO2017039156 A1 WO 2017039156A1 KR 2016008316 W KR2016008316 W KR 2016008316W WO 2017039156 A1 WO2017039156 A1 WO 2017039156A1
Authority
WO
WIPO (PCT)
Prior art keywords
password
salt
variable
user
salted
Prior art date
Application number
PCT/KR2016/008316
Other languages
English (en)
French (fr)
Inventor
김동현
Original Assignee
주식회사 엔터소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔터소프트 filed Critical 주식회사 엔터소프트
Publication of WO2017039156A1 publication Critical patent/WO2017039156A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to a password authentication method, and more particularly, among a plurality of variables included in a one time password (OTP) provided to a user by a server (hereinafter referred to as a server) of a client server system.
  • a salt password generated by inserting a variable in a position (salt variable) into a position defined in a salt rule among a plurality of variables constituting a password is input to a server, and the server inputs the salt to the salt variable and the salted password.
  • User authentication is the process of verifying the eligibility to access certain information. It is introduced to prevent unauthorized access to confidential, corporate and personal confidential information of the country to be protected. User authentication is based on knowledge-based authentication using passwords and pre-assigned questions and answers, token-based (holder-based) authentication and pre-registration using information held by the user, such as an accredited certificate or one-time password (OTP). It can be divided into bio-based authentication method using the user's fingerprint or iris.
  • Possession-based authentication using OTP a public certificate or a one-time password
  • OTP Authentication methods using OTP include S / KEY method, time synchronization method, challenge / response method, and event synchronization method, but they are vulnerable when the OTP list is leaked or fail to be synchronized. The disadvantage is that it costs.
  • Biometrics-based authentication method has a disadvantage in that the recognition rate of the fingerprint is not high, so it is often necessary to repeat the operation for recognition and the installation cost is considerable when using the iris.
  • the above-described knowledge-based authentication is used as a basic authentication method, and financial institutions and public institutions additionally use the token-based authentication described above when enhanced authentication is required.
  • Hacker attacks on user accounts are mainly based on knowledge-based authentication, which is based on brute force attacks in several advanced forms.
  • the Korea Internet & Security Agency proposes to use a password of at least 8 digits in three or more types of characters or a password of 10 or more digits in two or more types of characters.
  • the knowledge-based authentication method includes a disadvantage that it is easy for the user to forget a password having a complicated structure because the same user must remember a plurality of passwords.
  • the technical problem to be solved by the present invention is a salted password authentication method using a variable password generated by applying a variable OTP in order to neutralize hacker attacks, such as brute force attack exploiting the weakness that the password is fixed Is to provide.
  • a salted password authentication method includes performing an authentication step in which a server performs an authentication procedure for a user accessing a server.
  • the user selects N (N is a natural number of 2 or more) variables generated and provided by the server using a random access means, according to a salt rule previously promised and stored from a salt variable string arranged in a line.
  • N is a natural number of 2 or more variables generated and provided by the server using a random access means, according to a salt rule previously promised and stored from a salt variable string arranged in a line.
  • Selects a specified variable and transmits the salt password and ID which mixed the selected variable with the password according to the salt rule to the corresponding server, and the server reverses the salt rule to the salted password received from the user.
  • the dissolved password obtained by the application and the ID are compared with the ID and password stored in the database to check the suitability of the ID and the salted password input by the user.
  • the authentication password that should be transmitted to the server is changed every time a user attempts to authenticate, so that an attack in which a brute force attack and a brute force attack by a hacker are developed is fundamental.
  • the user only needs to memorize the salt rules and the relatively uncomplicated password, which are promised in advance with the server, and the complicated and difficult to memorize the password as the inconvenience of carrying the OTP and the recommendation of the Korea Internet & Security Agency.
  • FIG. 1 shows a member registration step of the salted password authentication method according to the present invention.
  • FIG 2 shows an authentication step in the salted password authentication method according to the present invention.
  • FIG. 3 illustrates a salt variable string generation step of the authentication step shown in FIG. 2.
  • FIG. 4 illustrates a method of generating a salted password using a salt variable string, a salt rule, and a password.
  • FIG. 6 shows an initial screen provided by a server.
  • FIG. 7 illustrates a hacking time for a password that does not use the salted password authentication method according to the present invention.
  • FIG. 8 illustrates a hacking time for a salted password determined using the salted password authentication method according to the present invention.
  • FIG. 1 shows a member registration step of the salted password authentication method according to the present invention.
  • the member registration step 110 of the salted password authentication method according to the present invention performs In the setting information input step (120; 111, 112, 113), the user who wishes to register as a member according to the input method provided by the server (hereinafter referred to as a server) of the client server system using a first access means such as a computer. And salt rules.
  • a predetermined review procedure for presetting the ID, salt rule, and password input by the user in the setting information input step 120; 111, 112, 113 Register through and store the encrypted password, registered ID and registered salt rules in the database.
  • the client server system is a concept including a web system
  • the server of the client server system and a server which is a term for the server, are a concept including a web server.
  • the first connection means for the user to connect to the server for use after registration and authentication of the member and the second connection means used in the following description are various, for example, a computer or a smart phone. Therefore, the first connection means and the second connection means used in the following description means one of various means that can be connected to the server by wireless or wired, such as a computer or a smart phone.
  • the server When the user connects to the server 111 to register the member, the server requests the user to directly enter the user ID, password, and salt rule that the user wants to use in the future (112). Password and salt rules will be entered (113) to pass to the server.
  • the server determines whether or not to use the duplicate ID and password received from the user, and if it is available, registers the ID, password, and salt rules (114), and in particular encrypts the password to generate an encryption password After 115, the ID, encryption password and salt rules are stored in a database (116).
  • the member registration step 110 has been described in which a user directly accesses and performs a server, but in any manner, a process of promising and registering a salt rule before the user connects to the server and communicates with the actual server. Will be included in the membership registration phase.
  • an administrator performs a member registration step on behalf of a user.
  • Such a registration method is also included in the member registration step of the present invention.
  • the member registration step 110 is completed, and the user who has completed the registration of the member can access the server through the authentication step described below.
  • FIG 2 shows an authentication step in the salted password authentication method according to the present invention.
  • the authentication step 210 of the salted password authentication method includes a connection step 211, a salt variable string generation step 212, an input window providing step 214, and an authentication information input step. 215, the ID suitability determination step 217, the salted password suitability determination step 219, the dissolved password encryption step 220, and the password determination step 222 are performed.
  • the user accesses the server using the first access means or the second access means for authentication.
  • salt variable string used in the present invention is a concept corresponding to the OTP.
  • a plurality of variables used in a salt variable string may be used by calling a plurality of variables stored in a memory or a database of the server itself, and selected N (N is a natural number of two or more) among them.
  • N is a natural number of two or more
  • a session is a technique for maintaining the identity of a user on a client server system by destroying when the user does not communicate again within a certain time-out after closing the communication or closes the browser.
  • the server When the salt variable string 213 is stored in the database, the server must connect to the database to refer to the salt variable string 213, which may cause an excessive load on data processing. It is also possible to use a method in which a large load is not generated in the process by utilizing session variables that can be temporarily stored and used in the memory.
  • the server provides the user with an ID input window, a password input window, and a salt variable string window through the first access means or the second access means.
  • the ID input window and the password input window are empty so that a user can input an arbitrary variable
  • the salt variable string window displays the salt variable string generated in the salt variable string generation step 212.
  • the user inputs the ID and the salted password into the input window provided by the server.
  • the generation process of the salted password will be described later.
  • the server calls the ID stored in the database (216), and determines whether the ID input by the user is the same as the ID stored in the database.
  • the salt password suitability determination step 219 is performed in the salt variable string and the database stored in the database or session variable.
  • the stored salt rule is referenced 218 to determine whether the salted password input by the user is created according to the salt rule.
  • the salted password suitability determination step 219 simultaneously determines whether the user selects the right variable from the salt variable string and whether the user inserts the right variable in the correct place. If one of the wrong selection of the right variable and the insertion of the correct position of the selected variable is performed incorrectly, it will not pass through the salted password suitability determination step 219.
  • the detached password encryption step 220 performed is performed to reverse the salt rule to the salted password. Generates a password isolated and generates an encrypted password by encrypting the password in the same manner as the method for encrypting the password registered in the information storage step 130 included in the member registration step (110). .
  • the server calls the encryption password stored in the database (221), and determines whether the encrypted dissolved password is the same as the encryption password stored in the database.
  • the encryption password is the encryption of the user's password promised between the user and the server in the member registration step 110, the encryption password registered in advance and the encryption detached password entered during the authentication process If so, the user will have to be admitted to enter the correct password in the normal way.
  • the salted password entered by the user in the salted password suitability determination step 219 is created according to the salt rule. If not determined (No) and password determination step 222, if the encrypted password does not match the encryption password stored in the database (No) to perform the salt variable string generation step (212). When the salt variable string generation step 212 is performed again, the existing sort variable string stored in the database or session variable is replaced with the newly created salt variable string.
  • the determination result in the password determination step 222 determines that the encrypted detached password is the same as the encryption password stored in the database (Yes), the user is authenticated (223).
  • the salted password suitability determination step 219 may be selectively used according to an embodiment.
  • FIG. 3 illustrates a salt variable string generation step of the authentication step shown in FIG. 2.
  • a variable selection step 311 for randomly selecting N (N is a natural number of two or more) variables among a plurality of letters, a plurality of numbers, and a plurality of symbols;
  • Salt variable string storage step 312 for storing the selected N variables in a database or session variable, variable image transformation step 313 for generating and storing the selected N variables as image variables using CAPTCHA technology
  • a variable string generation step 314 for generating a salt variable string by arranging N variables of the image state in a line is performed.
  • the salt variable string displayed in the salt variable string window in the input window providing step 214 is a variable of the modified image state generated in the variable string generation step 314.
  • the salt variable string proposed in the present invention is arranged by arranging N variables randomly selected from at least one of a plurality of letters, a plurality of numbers (0 to 9), and a plurality of symbols in a row. It is clear that the larger the number of N, the more effective it will be. Herein, it is preferable to use at least one of the uppercase letters A to Z and the lowercase letters a to z of the alphabet.
  • the salt rule comprises at least one variable at a predetermined position among a plurality of variables constituting the salt variable string, that is, a first selection rule for selecting a salt variable and a salt variable selected according to the first selection rule to be arranged in a row. And a second selection rule that determines which of the variables to insert after. Therefore, the salted password may be obtained by inserting the salt variable selected according to the first selection rule into a position selected according to the second selection rule among the plurality of variables constituting the password.
  • the first selection rule indicates to select the fourth variable from the left among the plurality of variables constituting the salt variable string.
  • the second selection rule is promised to be 3
  • a variable selected by the first selection rule is inserted after the third variable among the plurality of variables constituting the password.
  • FIG. 4 illustrates a method of generating a salted password using a salt variable string, a salt rule, and a password.
  • the first selection rule is selected as 4 and the second selection rule is selected as 3, and the salt variable string provided from the server is N 10 (ten).
  • the "entQersoft” obtained by inserting the fourth character "Q” after the third character of the password into the non-portable OTP string. Will be.
  • the ten variables constituting the salt variable string shown in FIG. 4 are not simply letters and numbers, but images of the letters and numbers using the CAPTCHA method.
  • CATCHA Completely Automated Public Turing test to tell Computers and Humans Aparts
  • the salt variable inserted in the password has “9” in addition to the existing “Q”. More will be included.
  • the second selection rule may also maintain the existing "3" as it is, for example, "4" may be further added.
  • the second selection rule keeps 3, then the "Q" and “9” should be inserted consecutively after the third digit of the password, and the third password if the second selection rule is selected as 3 and 4 "Q" is inserted after the digit, but "9" should be inserted after the fourth digit of the password.
  • the method of insertion may be set in various ways by a program in advance, and the above description has been described taking one of them as an example.
  • FIG. 5 which shows a case where the password is used as it is (no salt), when one salt variable is inserted into the password (1 Salt) and when two salt variables are inserted into the password (2 Salts), the English letter ( If 62 passwords are used as the password target, the number of salt variables inserted in the password is one, and the number of cases in no Salt, 1 Salt, and 2 Salts is 62 , 1240 and 5580, and 3844, 115320 and 1037880 when the number of salt variables is two. If the number of salt variables is 8, it can be seen that using two salt variables (2 Salts) has 3240 times the number of cases compared with no salt variables (no Salt).
  • FIG. 6 shows an initial screen provided by a server.
  • the user inputs his / her ID in the ID input window (ID *) presented at the top, and selects a variable determined according to a predetermined salt rule among the variables presented in the salt variable string window shown at the bottom.
  • ID * the ID input window
  • password * the password generated by inserting the selected variable in the contracted position of the password according to the salt rule
  • the form and location of the ID input window, password input window, and salt variable string window may vary according to embodiments.
  • the effect of the salted password authentication method according to the present invention can be found on the Internet site (https://howsecureismypassword.net/) that informs the possibility of hacking of the password.
  • FIG. 7 illustrates a hacking time for a password that does not use the salted password authentication method according to the present invention.
  • FIG. 8 illustrates a hacking time for a salted password determined using the salted password authentication method according to the present invention.
  • FIGS. 7 and 8 are for the case where the variable to be added is fixed to "Y". In practice, since the added variable is changed at each attempt, the hacking of the brute force attack method will not be practically possible.
  • the salted password authentication method according to the present invention which proposes to use a mixture of token-based authentication using OTP and knowledge-based authentication using password, is one of the disadvantages of OTP by not carrying OTP.
  • OTP is newly created for each authentication of the password, so it is possible to create a dictionary attack or a string within the range of a dictionary attack that checks whether the password matches by making a dictionary that can be used as a password.
  • Hacking methods such as brute force attacks that substitute all passwords were not effective.
  • CAPTCHA CAPTCHA

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 사용자는 자신이 휴대하는 것이 아니라 서버가 제공하는 OTP에 포함되는 변수를 미리 약속한 솔트규칙에 따라 비밀번호에 혼용하여 생성시킨 솔티드 비밀번호를 서버에 입력하고, 상기 서버는 상기 솔티드 비밀번호에 상기 솔트규칙을 역으로 적용하여 생성시킨 디솔티드 비밀번호를 이용하여 사용자의 인증 여부를 결정하는 솔티드 패스워드 인증방법을 개시(introduce)한다. 상기 본 발명에 따른 솔티드 패스워드 인증방법은, 사용자가 서버에 접속하여 회원을 등록하는 회원등록단계 및 사용자가 서버에 접속하여 인증 절차를 수행하는 인증단계를 수행한다.

Description

솔티드 패스워드 인증방법
본 발명은 패스워드 인증방법에 관한 것으로, 특히, 클라이언트 서버 시스템의 서버(이하 서버)가 사용자에게 제공하는 OTP(One Time Password)에 포함되는 복수의 변수 중 사용자와 서버가 미리 약속한 솔트규칙에 정해진 위치에 있는 변수(솔트변수)를, 비밀번호를 구성하는 복수의 변수 중 솔트규칙에 정해진 위치에 삽입하여 생성한 솔티드비밀번호를 서버에 입력하고, 해당 서버는 상기 솔트변수, 솔티드비밀번호에 상기 솔트규칙을 역으로 적용하여 생성시킨 디솔티드비밀번호를 이용하여 OTP로부터 적합한 솔트변수를 선택하였는가, 적합한 개수의 솔트변수를 선택하였는가, 솔트변수를 비밀번호의 적합한 위치에 삽입하였는가 및 디솔트드비밀번호와 미리 약속해 놓은 암호화비밀번호의 일치 여부를 판단하여 사용자의 인증 여부를 결정하는 솔티드 패스워드 인증방법에 관한 것이다.
사용자 인증이란 특정한 정보에 접근할 수 있는 자격을 확인하는 절차로서, 보호되어야 할 국가의 비밀정보, 기업의 비밀정보 및 개인의 비밀정보에 대하여 허가되지 않은 접근을 방지하기 위해 도입한 것이다. 사용자 인증은 비밀번호와 사전에 약정된 질문과 대답을 이용하는 지식 기반 인증방식, 공인인증서나 OTP(One-Time Password)와 같이 사용자가 소지하고 있는 정보를 이용하는 토큰 기반(소지 기반) 인증방식 및 미리 등록해 놓은 사용자의 지문이나 홍체를 이용하는 생체기반 인증방식으로 크게 구분할 수 있다.
공인인증서나 일회성 비밀번호인 OTP를 사용하는 소지기반 인증방식은, 주로 높은 수준의 보안을 유지할 수 있기 때문에 온라인 뱅킹, 온라인 게임, 포털 사이트 및 기업의 네트워크에 사용된다. OTP를 사용하는 인증방식으로는 S/KEY 방식, 시간 동기화 방식, 챌린지/응답방식 및 이벤트 동기화방식 등이 있으나, OTP 목록이 유출되거나 동기화에 실패하는 경우에 취약하고, 휴대가 불편하고 비용이 많이 든다는 단점이 있다.
생체기반의 인증방식은 지문의 인식률이 높지 않아 인식을 위한 반복 동작이 필요한 경우가 많은 편이고 홍체를 이용하는 경우에는 설치 비용이 상당하다는 단점이 있다.
클라이언트 /서버 기반의 사용자 인증에는 상술한 지식 기반 인증이 기본적인 인증방법으로 사용되고 있으며, 금융기관 및 공공기관 등에서는 강화된 인증이 필요한 경우에는 상술한 토큰 기반 인증을 추가로 사용하고 있다. 사용자 계정에 대한 해커의 공격은 지식기반 인증에 대한 공격이 주를 이루는데, 무차별 대입 공격(Brute Force Attack)을 기본으로 하여 여러 발전 된 형태의 방법으로 이루어진다.
한국인터넷진흥원(KISA)에서는 해킹을 방지하기 위하여 3가지 종류 이상의 문자 구성으로 8자리 이상 길이의 비밀번호를 사용하거나 2가지 종류 이상의 문자 구성으로 10자리 이상 길이의 비밀번호를 사용할 것을 제안한다. 그렇지만, 사이트마다 비밀번호의 적합 조건이 달라 동일 사용자가 복수의 비밀번호를 기억하여야 하기 때문에 정작 본인은 복잡한 구조를 가지는 비밀번호는 잊어버리기가 쉽다는 단점이 지식기반 인증방식에 포함되어 있다.
본 발명이 해결하고자 하는 기술적 과제는, 비밀번호가 고정되어 있다는 약점을 악용한 무차별 대입 공격과 같은 해커의 공격을 무력화하기 위하여, 가변적인 OTP를 적용하여 생성한 가변적인 비밀번호를 이용한 솔티드 패스워드 인증방법을 제공하는 것에 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 솔티드 패스워드 인증방법은, 서버에 접속한 사용자에 대하여 서버가 인증 절차를 수행하는 인증단계를 수행한다. 상기 인증단계에서 사용자는 임의의 접속수단을 이용하여, 서버가 생성하여 제공하는 N(N은 2 이상의 자연수) 개의 변수를 선택하여 일렬로 배열한 솔트 변수스트링으로부터 미리 약속하여 저장해 놓은 솔트규칙에 따라 특정된 변수를 선택하고, 선택된 상기 변수를 상기 솔트규칙에 따라 비밀번호와 혼합한 솔티트 비밀번호 및 아이디를 해당 서버에 전달하고, 상기 서버는 사용자로부터 전달받은 상기 솔티드 비밀번호에 상기 솔트규칙을 역으로 적용하여 얻은 디솔티드 비밀번호 및 상기 아이디를 데이터베이스에 저장된 아이디 및 비밀번호와 비교하여 사용자가 입력한 아이디 및 솔티드 비밀번호의 적합성을 확인한다.
본 발명에 따른 솔티드 패스워드 인증방법은, 사용자가 인증을 시도할 때마다 서버에 전송하여야 하는 인증용 비밀번호가 달라지도록 함으로써, 해커에 의한 무차별 대입 공격 및 무차별 대입 공격을 발전시킨 형태의 공격이 원천적으로 불가능하게 됨은 물론, 스니핑(Sniffing)과 같은 네트워크의 허점을 이용한 공격으로부터도 국가, 기업 및 개인의 사용자 계정을 보호할 수 있다는 장점이 있다.
또한, 사용자는 서버와 미리 약속한 솔트규칙 및 비교적 복잡하지 않은 비밀번호만 암기하고 있으면 되며, 보안성을 강화하기 위해 OTP를 휴대해야 하는 불편함 및 한국인터넷진흥원의 권고 정도의 복잡하고 암기하기 어려운 비밀번호를 외워야 하거나 주기적으로 비밀번호를 변경하여야 하는 불편함을 해소할 수 있다는 장점이 있다.
도 1은 본 발명에 따른 솔티드 패스워드 인증방법 중 회원등록단계를 나타낸다.
도 2는 본 발명에 따른 솔티드 패스워드 인증방법 중 인증단계를 나타낸다.
도 3은 도 2에 도시된 인증단계 중 솔트변수스트링 생성단계를 나타낸다.
도 4는 솔트변수스트링, 솔트규칙 및 비밀번호를 이용하여 솔티드비밀번호를 생성하는 방법을 설명한다.
도 5는 본 발명에 따른 솔트규칙 사용의 효과를 설명한다.
도 6은 서버에서 제공하는 초기 화면을 나타낸다.
도 7은 본 발명에 따른 솔티드 패스워드 인증방법을 사용하지 않은 비밀번호에 대한 해킹시간을 나타낸다.
도 8은 본 발명에 따른 솔티드 패스워드 인증방법을 사용하여 결정한 솔티드비밀번호에 대한 해킹시간을 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 예시적인 실시 예를 설명하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 솔티드 패스워드 인증방법 중 회원등록단계를 나타낸다.
도 1을 참조하면, 본 발명에 따른 솔티드 패스워드 인증방법 중 회원등록단계(110)는, 설정정보입력단계(120; 111, 112, 113) 및 정보저장단계(130; 114, 115, 116)를 수행한다. 설정정보입력단계(120; 111, 112, 113)에서는 회원등록을 희망하는 사용자가 컴퓨터와 같은 제1접속수단을 이용하여 클라이언트 서버 시스템의 서버(이하 서버)에서 제공하는 입력방식에 따라 아이디, 비밀번호 및 솔트규칙을 입력한다. 해당 서버에서 수행하는 정보저장단계(130; 114, 115, 116)에서는 설정정보입력단계(120; 111, 112, 113)에서 사용자가 입력한 아이디, 솔트규칙 및 비밀번호를 미리 설정한 소정의 심의절차를 거쳐 등록하고, 등록된 비밀번호를 암호화한 암호화비밀번호, 등록된 아이디 및 등록된 솔트규칙을 데이터베이스에 저장한다.
여기서 클라이언트 서버 시스템은 웹 시스템을 포함하는 개념이며, 클라이언트 서버 시스템의 서버 및 이를 대신하는 용어인 서버는 웹 서버를 포함하는 개념이다.
사용자가 회원의 등록 및 인증 후 사용을 위해 서버에 접속하는 수단이 되는 제1접속수단 및 후속하는 설명에 사용되는 제2접속수단은 다양한데 컴퓨터 또는 스마트폰 등이 그 예가 될 것이다. 따라서, 이하의 설명에서 사용되는 제1접속수단 및 제2접속수단은 컴퓨터 또는 스마트폰 등과 같이 무선 또는 유선으로 서버에 접속할 수 있는 다양한 수단 중 하나를 의미한다.
사용자가 회원의 등록을 위해 해당 서버에 접속(111)하면, 서버는 사용자가 앞으로 사용하고자 하는 아이디, 비밀번호 및 솔트규칙을 사용자가 직접 입력할 것을 요구(112)하고, 사용자는 사용하고자 하는 아이디, 비밀번호 및 솔트규칙을 입력(113)하여 서버에 전달하게 될 것이다.
서버는 사용자로부터 전달받은 아이디 및 비밀번호의 중복사용 여부 등 사용 가능성 여부를 판단하고, 사용 가능하다고 판단한 경우에는 아이디, 비밀번호 및 솔트규칙을 등록(114)하고, 특히 비밀번호는 암호화하여 암호화비밀번호를 생성한 후(115), 아이디, 암호화비밀번호 및 솔트규칙을 정리하여 데이터베이스에 저장한다(116).
상기의 설명에서는 회원등록단계(110)를 사용자가 직접 서버에 액세스하여 수행하는 방식에 대해 기재하였지만, 어떠한 방식이든 사용자가 서버에 접속하여 실제 서버와 통신하기 이전에 솔트규칙을 약속하고 등록하는 과정은 회원등록단계에 포함될 것이다. 예를 들면, 인트라넷 시스템은 관리자가 사용자를 대신하여 회원등록단계를 수행하는데 이러한 등록방식도 본 발명의 회원등록단계에 포함된다.
본 발명에서 제안하는 솔트규칙은 후술하는 솔트변수스트링과 함께 나중에 자세하게 설명한다.
상기의 과정을 거쳐 사용자의 아이디, 비밀번호 및 솔트규칙이 등록이 됨으로써 회원등록단계(110)는 완료되며, 회원의 등록이 완료된 사용자는 이하에서 설명하는 인증단계를 거쳐 서버에 접근할 수 있게 된다.
도 2는 본 발명에 따른 솔티드 패스워드 인증방법 중 인증단계를 나타낸다.
도 2를 참조하면, 본 발명에 따른 솔티드 패스워드 인증방법 중 인증단계(210)는, 접속단계(211), 솔트 변수스트링 생성단계(212), 입력창 제공단계(214), 인증정보입력단계(215), 아이디 적합성 판단단계(217), 솔티드 비밀번호 적합성 판단단계(219), 디솔티드 비밀번호 암호화단계(220) 및 비밀번호 판단단계(222)를 수행한다.
접속단계(211)에서는 사용자가 인증을 위해 제1접속수단 또는 제2접속수단을 이용하여 서버에 액세스한다.
서버에서 수행하는 솔트 변수스트링 생성단계(212)에서는 솔트 변수스트링을 생성하고, 생성된 솔트 변수스트링(213)을 데이터베이스 또는 세션변수(미도시)에 저장한다. 본 발명에서 사용하는 솔트 변수스트링은 OTP에 대응되는 개념이다. 솔트 변수스트링에 사용되는 복수의 변수는, 예를 들면, 서버 자체의 메모리 또는 데이터베이스에 저장되어 있는 복수의 변수를 호출하여 사용하는 것이 가능하며, 이들 중 선택한 N(N은 2 이상의 자연수) 개의 변수를 일렬로 나열한 것이 솔트 변수스트링이 되며, 이에 대해서는 후술한다.
세션(session)은 통신을 시작한 후 일정한 시간(time-out) 내에 다시 통신하지 않거나 사용하던 브라우저를 닫으면 파기되는 것으로써, 클라이언트 서버 시스템상에서 사용자의 동일성을 유지하는 기술이다. 솔트 변수스트링(213)을 데이터베이스에 저장하는 경우 서버가 솔트 변수스트링(213)을 참조하기 위하여 데이터베이스에 접속하여야 하는데 이는 데이터 처리과정에 과도한 부하를 야기할 수 있으므로, 솔트 변수스트링(213)을 서버의 메모리에 한시적으로 저장하여 사용할 수 있는 세션변수를 활용함으로써 처리과정에 큰 부하가 발생하지 않도록 하는 방식을 사용하는 실시 예도 가능하다.
입력창 제공단계(214)에서는 서버가 아이디 입력창, 비밀번호 입력창 및 솔트 변수스트링 창을 제1접속수단 또는 제2접속수단을 통해 사용자에게 제공한다. 아이디 입력창 및 비밀번호 입력창은 사용자가 임의의 변수를 입력할 수 있도록 비어있는 상태이지만, 솔트 변수스트링 창은 솔트 변수스트링 생성단계(212)에서 생성한 솔트 변수스트링을 디스플레이한다.
인증정보 입력단계(215)에서는 서버가 제공한 입력창으로 사용자가 아이디 및 솔티드 비밀번호를 입력한다. 솔티드 비밀번호의 생성과정에 대해서는 후술한다.
아이디 적합성 판단단계(217)에서는, 서버가 데이터베이스에 저장된 아이디를 호출하여(216), 사용자가 입력한 아이디가 데이터베이스에 저장되어 있는 아이디와 동일한가를 판단한다.
아이디 적합성 판단단계(217)에서 사용자가 입력한 아이디가 데이터베이스에 포함되어 있다고 판단한 경우(Yes)에 수행되는 솔티드 비밀번호 적합성 판단단계(219)에서는, 데이터베이스 또는 세션변수에 저장된 솔트 변수스트링 및 데이터베이스에 저장된 솔트규칙을 참조(218)하여 사용자가 입력한 솔티드 비밀번호가 솔트규칙에 따라 작성되었는가를 판단한다. 솔티드 비밀번호 적합성 판단단계(219)는 사용자가 솔트 변수스트링으로부터 정당한 변수를 선택하였는가와 정당한 변수를 정확한 자리에 삽입하였는가를 동시에 판단한다. 정당한 변수의 선택 및 선택된 변수의 정확한 위치의 삽입 중 하나라도 잘못 수행한 경우에는, 솔티드 비밀번호 적합성 판단단계(219)를 통과하지 못하게 될 것이다.
솔티드 비밀번호 적합성 판단단계(219)에서 사용자가 입력한 솔티드 비밀번호가 솔트규칙에 따라 작성되었다고 판단한 경우(Yes)에 수행되는 디솔티드 비밀번호 암호화단계(220)는, 솔티드 비밀번호에 솔트규칙을 역으로 적용하여 디솔티드 비밀번호를 생성하고, 회원등록단계(110)에 포함되는 정보저장단계(130)에서 등록된 비밀번호를 암호화하는 방식과 동일한 방식으로 디솔티드 비밀번호를 암호화하여 암호화 디솔티드 비밀번호를 생성한다.
비밀번호 판단단계(222)에서는 서버가 데이터베이스에 저장된 암호화 비밀번호를 호출하여(221), 암호화 디솔티드 비밀번호가 데이터베이스에 저장된 암호화 비밀번호와 동일한가를 판단한다. 상술한 바와 같이, 암호화 비밀번호는 회원등록단계(110)에서 사용자와 서버가 상호 간에 약속한 사용자의 비밀번호를 암호화한 것으로, 사전에 등록해 놓은 암호화 비밀번호와 인증과정에서 입력한 암호화 디솔티드 비밀번호가 일치한다면, 사용자는 정상적인 방법으로 정확한 비밀번호를 입력한 것으로 인정되어야 할 것이다.
아이디 적합성 판단단계(217)에서 사용자가 입력한 아이디가 데이터베이스에 포함되어 있지 않다고 판단되는 경우(No), 솔티드 비밀번호 적합성 판단단계(219)에서 사용자가 입력한 솔티드 비밀번호가 솔트규칙에 따라 작성되지 않았다고 판단한 경우(No) 및 비밀번호 판단단계(222)에서 암호화 디솔티드 비밀번호가 데이터베이스에 저장된 암호화 비밀번호와 일치하지 않는 경우(No)에는 솔트 변수스트링 생성단단계(212)를 재수행하도록 한다. 솔트 변수스트링 생성단계(212)를 재수행하는 경우 데이터베이스 또는 세션변수에 저장되어 있던 기존의 소트 변수스트링은 새로 생성된 솔트 변수스트링으로 교체된다.
본 발명에서는 상술한 바와 같이, 인증과정에서 정당한 사용자의 입력의 실수는 물론이고 정당한 사용자가 아닌 사용자의 잘못된 정보를 입력한 경우에도 새롭게 솔트변수스트링을 생성시키고 이를 이용하여 새로운 솔티드 비밀번호를 생성하여 입력하도록 함으로써, 해킹의 가능성을 최소한으로 하였다.
비밀번호 판단단계(222)에서의 판단결과, 암호화 디솔티드 비밀번호가 데이터베이스에 저장된 암호화비밀번호와 동일하다고 판단한 경우(Yes)에는 사용자를 인증(223)한다.
상기의 설명에서 솔티드 비밀번호 적합성 판단단계(219)는 실시 예에 따라 선택적으로 사용하는 것이 가능하다.
도 3은 도 2에 도시된 인증단계 중 솔트 변수스트링 생성단계를 나타낸다.
도 3을 참조하면, 솔트 변수스트링 생성단계(212)에서는, 복수의 문자, 복수의 숫자 및 복수의 기호 중 무작위로 N(N은 2 이상의 자연수) 개의 변수를 선택하는 변수선택단계(311), 선택된 N개의 변수를 데이터베이스 또는 세션변수에 저장하는 솔트 변수스트링 저장단계(312), 선택된 N 개의 변수를 CAPTCHA 기술을 이용하여 이미지 상태의 변수로 생성하여 저장하는 변수이미지 변형단계(313), 변형된 이미지 상태의 N 개의 변수를 일렬로 배열하여 솔트 변수스트링을 생성하는 변수스트링 생성단계(314)를 수행한다.
입력창 제공단계(214)에서 솔트 변수스트링 창으로 디스플레이되는 솔트 변수스트링은 변수스트링 생성단계(314)에서 생성한 변형된 이미지 상태의 변수이다.
본 발명에서 제안하는 솔트 변수스트링은 복수의 문자, 복수의 숫자(0~9) 및 복수의 기호 중 적어도 하나로부터 무작위로 선택한 N 개의 변수를 일렬로 배열한 것이다. N의 개수가 많으면 많을수록 효과적이 될 것은 분명하다. 여기서 문자는 알파벳 대문자(A~Z) 및 알파벳 소문자(a~z) 중 적어도 하나를 사용하는 것이 바람직하다.
솔트규칙은 솔트 변수스트링을 구성하는 복수의 변수 중 일정한 위치에 있는 적어도 하나의 변수 즉 솔트변수를 선택하는 제1선택규칙 및 제1선택규칙에 따라 선택된 솔트변수를 비밀번호를 구성하는 일렬로 배열된 변수 중 어느 변수 다음에 삽입할 것인가를 결정하는 제2선택규칙을 포함한다. 따라서, 솔티드 비밀번호는, 제1선택규칙에 따라 선택된 솔트변수를, 비밀번호를 구성하는 복수의 변수들 중 제2선택규칙에 따라 선택된 위치에 삽입시켜 얻을 수 있을 것이다.
예를 들어, 제1선택규칙이 솔트변수로 4가 약정되었다면 솔트 변수스트링을 구성하는 복수의 변수 중 왼쪽에서 4번째 변수를 선택할 것을 지시하는 것이다. 또한, 제2선택규칙이 3으로 약정되었다면 비밀번호를 구성하는 복수의 변수 중 3번째 변수 다음에 제1선택규칙에 의해 선택된 변수를 삽입할 것을 지시한다.
도 4는 솔트 변수스트링, 솔트규칙 및 비밀번호를 이용하여 솔티드 비밀번호를 생성하는 방법을 설명한다.
도 4를 참조하면, 비밀번호가 "entersoft"로 미리 설정되어 있는 경우, 제1선택규칙이 4, 제2선택규칙이 3으로 선택되어 있으며, 서버로부터 제공되는 솔트 변수스트링이 N이 10(ten)인 "MK6QY92C4H"이라고 가정할 때, 사용자가 입력하여야 하는 솔티드 비밀번호는 비 휴대 OTP가 되는 솔트 변수스트링의 4번째 문자인 "Q"를 비밀번호의 3번째 문자의 다음에 삽입하여 구한 "entQersoft"가 될 것이다.
도 4에 도시된 솔트 변수스트링을 구성하는 10개의 변수는 단순하게 문자 및 숫자가 아니라 해당 문자 및 숫자에 CAPTCHA방식을 이용하여 변형시킨 이미지라는 것을 알 수 있다.
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Aparts) 기술은 사람은 구별할 수 있지만, 컴퓨터는 구별하기 어렵게 의도적으로 대상을 비틀거나 덧칠하여 얻은 이미지로써, 해킹 프로그램이 OTP 문자열을 읽어서 자동으로 로그인을 시도할 수 없도록 하는 것이다.
도 4를 참조하면, 제1선택규칙에 숫자 4가 선택되었는데, 만일 4 및 6과 같이 솔트변수에 2개의 변수가 약정되었다면, 비밀번호에 삽입되는 솔트변수는 기존의 "Q" 이외에 "9"가 더 포함될 것이다. 이 경우에는 제2선택규칙도 기존의 "3"이 그대로 유지될 수 있지만 예를 들어 "4"가 더 추가될 수도 있을 것이다.
제2선택규칙이 3을 그대로 유지하는 경우, 비밀번호 3번째 자리 다음에 "Q" 및 "9"가 연속하여 삽입되어야 할 것이고, 제2선택규칙이 3 및 4로 선택되어 있는 경우에는 비밀번호 3번째 자리 다음에는 "Q"가 삽입되지만, 비밀번호 4번째 자리 다음에는 "9"가 삽입되어야 할 것이다. 삽입되는 방식 등은 사전에 프로그램으로 다양한 방식으로 설정이 가능하며, 상기의 설명은 그 중 하나의 방식을 예로 들어 설명한 것이다.
도 5는 본 발명에 따른 솔트규칙 사용의 효과를 설명한다.
비밀번호를 그대로 사용하는 경우(no Salt), 비밀번호에 하나의 솔트변수를 삽입하는 경우(1 Salt) 및 비밀번호에 2개의 솔트변수를 삽입하는 경우(2 Salts)를 나타낸 도 5를 참조하면, 영문자(대, 소) 및 숫자 총 62개의 변수를 비밀번호의 대상으로 하는 경우, 비밀번호에 삽입되는 솔트변수의 개수가 하나(one)일 경우 no Salt, 1 Salt 및 2 Salts에서의 각각의 경우의 수는 62, 1240 및 5580이고, 솔트변수의 개수가 2(two)일 경우에는 3844, 115320 및 1037880이다. 솔트변수의 개수가 8인 경우, 2개의 솔트변수를 사용(2 Salts)하면 솔트변수를 사용하지 않는(no Salt) 경우에 비해 3240배의 경우의 수를 가진다는 것을 알 수 있다.
도 6은 서버에서 제공하는 초기 화면을 나타낸다.
도 6을 참조하면, 사용자는 자신의 아이디를 상부에 제시된 아이디 입력창(ID*)에 입력하고, 가장 하부에 제시된 솔트 변수스트링 창에 제시된 변수 중 미리 약속한 솔트규칙에 따라 정해진 변수를 선택하고, 선택된 변수를 솔트규칙에 따라 비밀번호의 약정된 위치에 삽입하여 생성되는 비밀번호를 중간에 제시되는 비밀번호 입력창(암호*)에 입력하면 된다는 것을 알 수 있다. 아이디 입력창, 비밀번호 입력창 및 솔트 변수스트링 창의 형태 및 위치는 실시 예에 따라 다르게 될 수도 있다.
본 발명에 따른 솔티드 패스워드 인증방법의 효과는 비밀번호의 해킹가능성을 알려주는 인터넷 사이트(https://howsecureismypassword.net/)에서 확인할 수 있다.
도 7은 본 발명에 따른 솔티드 패스워드 인증방법을 사용하지 않은 비밀번호에 대한 해킹시간을 나타낸다.
도 7을 참조하면, 인터넷 사이트에서 제공하는 해킹가능성에 대해 시험한 결과, 비밀번호로 "entersoft"를 사용할 경우 해킹에 소용되는 시간이 22분(22 minutes)이라는 판단을 하였다.
도 8은 본 발명에 따른 솔티드 패스워드 인증방법을 사용하여 결정한 솔티드비밀번호에 대한 해킹시간을 나타낸다.
도 8을 참조하면, 하나의 변수를 비밀번호에 삽입하였을 경우 해킹에 1년이 걸린다는 것을 알 수 있다.
도 7 및 도 8을 참조하면, 하나의 변수(Y)를 비밀번호에 추가 삽입하였을 경우는 하나의 변수도 비밀번호에 추가 삽입하지 않는 경우에 비해 23891배의 시간이 해킹에 소요된다는 것을 알 수 있다.
도 7 및 도 8의 설명은 추가되는 변수가 "Y"로 고정되어 있는 경우에 대한 것으로, 실제로는 추가되는 변수가 시도 시마다 변경되므로 무작위 대입 공격 방식의 해킹은 사실한 불가능하게 될 것이다.
상술한 바와 같이, OTP를 사용하는 토큰기반 인증과 비밀번호를 사용하는 지식기반 인증을 혼합하여 사용할 것을 제안하는 본 발명에 따른 솔티드 패스워드 인증방법은, OTP를 휴대하지 않음으로써 OTP의 단점 중 하나인 편의성을 보완하였고, 비밀번호의 매 인증 시마다 OTP를 새롭게 조합하여 생성하므로 패스워드로 사용할 만한 것을 사전으로 만들어 놓고 이를 하나씩 대입하여 패스워드의 일치 여부를 확인하는 딕셔너리 어택(Dictionary Attack)이나 문자열 범위 내에서 생성 가능한 모든 패스워드를 대입하는 무차별 대입 공격 등의 해킹 방식은 효과적이지 못하게 하였다. OTP의 구성변수에 CAPTCHA를 적용함으로써 자동화된 공격을 원천적으로 차단하였다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 기술자라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방 가능함은 명백한 사실이다.

Claims (10)

  1. 사용자는 임의의 접속수단을 이용하여, 클라이언트 서버 시스템의 서버(이하 서버)가 생성하여 제공하는 N(N은 2 이상의 자연수) 개의 변수를 선택하여 일렬로 배열한 솔트 변수스트링으로부터 미리 약속하여 저장한 솔트규칙에 따라 특정된 변수를 선택하고, 선택된 상기 변수를 상기 솔트규칙에 따라 비밀번호와 혼합한 솔티트 비밀번호 및 아이디를 해당 서버에 전달하고, 상기 서버는 사용자로부터 전달받은 상기 솔티드 비밀번호에 상기 솔트규칙을 역으로 적용하여 얻은 디솔티드 비밀번호 및 상기 아이디를 데이터베이스에 저장된 아이디 및 비밀번호와 비교하여 사용자가 입력한 아이디 및 솔티드 비밀번호의 적합성을 확인하는 인증단계;를
    수행하는 것을 특징으로 하는 솔티드 패스워드 인증방법.
  2. 제1항에 기재된 상기 솔티드 패스워드 인증방법은,
    사용자 또는 상기 서버의 관리자가 임의의 접속수단을 이용하여, 사용자가 상기 서버에 액세스할 때 사용자 인증을 위해 필요한 아이디, 비밀번호 및 비밀번호의 입력 과정에 적용되는 솔트규칙을 약속하여 등록하고, 상기 서버는 등록된 아이디, 등록된 비밀번호 및 등록된 솔트규칙을 데이터베이스에 저장하는 회원등록단계;를
    더 수행하는 것을 특징으로 하는 솔티드 패스위드 인증방법.
  3. 제2항에 기재된 상기 솔트 변수스트링은 복수의 문자, 복수의 숫자 및 복수의 기호 중 적어도 하나로부터 무작위로 선택한 N 개의 변수를 일렬로 배열한 것이고,
    상기 솔트규칙은 상기 솔트 변수스트링을 구성하는 복수의 변수 중 일정한 위치에 있는 적어도 하나의 변수를 선택하는 제1선택규칙 및 상기 제1선택규칙에 따라 선택된 변수를 상기 비밀번호를 구성하는 일렬로 배열된 변수 중 어느 변수 다음에 삽입할 것인가를 결정하는 제2선택규칙을 포함하며,
    상기 솔티드 비밀번호는,
    상기 제1선택규칙에 따라 선택된 변수를, 상기 비밀번호를 구성하는 복수의 변수들 사이에 상기 제2선택규칙에 따라 선택된 위치에 삽입시켜 얻는 것을 특징으로 하는 솔티드 패스워드 인증방법.
  4. 제3항에 기재된 상기 문자는,
    알파벳 대문자, 알파벳 소문자 및 특수문자 중 적어도 하나인 것을 특징으로 하는 솔티드 패스워드 인증방법.
  5. 제4항에 기재된 상기 솔트 변수스트링을 구성하는 각각의 변수들은,
    CAPTCHA방식을 이용하여 변형시킨 이미지인 것을 특징으로 하는 솔티드 패스워드 인증방법.
  6. 제2항에 기재된 상기 회원등록단계에서는,
    회원등록을 희망하는 사용자가 상기 임의의 접속수단을 이용하여 접속한 서버에서 제공하는 입력방식에 따라 아이디, 비밀번호 및 솔트규칙을 입력하는 설정정보 입력단계; 및
    해당 서버는 상기 설정정보입력단계에서 사용자가 입력한 아이디, 솔트규칙 및 비밀번호를 미리 설정한 소정의 심의절차를 거쳐 등록하고, 등록된 비밀번호를 암호화한 암호화비밀번호, 등록된 아이디 및 등록된 솔트규칙을 상기 데이터베이스에 저장하는 정보 저장단계;를
    수행하는 것을 특징으로 하는 솔티드 패스워드 인증방법.
  7. 제2항에 기재된 상기 인증단계에서는,
    사용자가 상기 임의의 접속수단을 이용하여 서버에 액세스하는 접속단계;
    상기 서버에서 상기 솔트 변수스트링을 생성하고, 생성된 솔트 변수스트링을 상기 데이터베이스 또는 세션변수에 저장하는 솔트 변수스트링 생성단계;
    상기 서버가 아이디 입력창, 비밀번호 입력창 및 솔트 변수스트링 창을 상기 임의의 접속수단을 통해 사용자에게 제공하는 입력창 제공단계;
    사용자가 상기 솔트규칙 및 상기 솔트 변수스트링 창에 제공되는 솔트 변수스트링을 이용하여 솔티드 비밀번호를 생성하고, 상기 입력창으로 사용자가 아이디 및 상기 솔티드 비밀번호를 입력하는 인증정보입력단계;
    사용자가 입력한 아이디가 상기 데이터베이스에 저장된 아이디에 포함되어 있는가를 판단하는 아이디 적합성 판단단계;
    사용자가 입력한 아이디가 상기 데이터베이스에 포함되어 있는 경우에 수행되며, 상기 솔티드 비밀번호에 상기 솔트규칙을 역으로 적용하여 디솔티드 비밀번호를 추출하고, 상기 회원등록단계에 포함되는 상기 정보저장단계에서 상기 등록된 비밀번호를 암호화하는 방식과 동일한 방식으로 상기 디솔티드 비밀번호를 암호화하여 암호화 디솔티드 비밀번호를 생성하는 디솔티드 비밀번호 암호화단계; 및
    상기 암호화 디솔티드 비밀번호가 상기 데이터베이스에 저장된 암호화비밀번호와 동일한가를 판단하는 비밀번호 판단단계;를 수행하며,
    상기 아이디 적합성 판단단계에서 사용자가 입력한 아이디가 상기 데이터베이스에 포함되어 있지 않다고 판단되는 경우 및 상기 비밀번호 판단단계에서 상기 암호화 디솔티드 비밀번호가 상기 데이터베이스에 저장된 암호화 비밀번호와 일치하지 않는 경우에는 상기 솔트 변수스트링 생성단계를 재수행하도록 하며,
    상기 비밀번호 판단단계에서의 판단결과, 상기 암호화 디솔티드 비밀번호가 상기 데이터베이스에 저장된 암호화 비밀번호와 동일하다고 판단한 경우에는 사용자를 인증하는 것을 특징으로 하는 솔티드 패스워드 인증방법.
  8. 제7항에 기재된 상기 인증단계에서,
    상기 아이디 적합성 판단단계에서 사용자가 입력한 아이디가 상기 데이터베이스에 포함되어 있다고 판단한 경우에 수행되며, 상기 데이터베이스 또는 상기 세션변수에 저장된 솔트 변수스트링 및 상기 데이터베이스에 저장된 솔트규칙을 참조하여 사용자가 입력한 상기 솔티드 비밀번호가 솔트규칙에 따라 작성되었는가를 판단하는 솔티드 비밀번호 적합성 판단단계;를 더 포함하며,
    상기 디솔티드 비밀번호 암호화단계는 상기 솔티드 비밀번호 적합성 판단단계에서 사용자가 입력한 솔티드 비밀번호가 솔트규칙에 따라 작성되었다고 판단한 경우에 수행되고,
    상기 솔티드 비밀번호 적합성 판단단계에서 사용자가 입력한 솔티드 비밀번호가 솔트규칙에 따라 작성되지 않았다고 판단한 경우에는 상기 솔트 변수스트링 생성단계를 재수행하도록 하는 것을 특징으로 하는 솔티드 패스워드 인증방법.
  9. 제7항 또는 제8항에 기재된 상기 솔트 변수스트링 생성단계에서는,
    복수의 문자, 복수의 숫자 및 복수의 기호 중 무작위로 N 개의 변수를 선택하는 변수선택단계;
    상기 변수선택단계에서 선택한 N개의 변수를 상기 데이터베이스 또는 상기 세션변수에 저장하는 솔트 변수스트링 저장단계;
    상기 변수선택단계에서 선택한 N 개의 변수를 CAPTCHA 기술을 이용하여 이미지 상태로 생성하여 저장하는 변수이미지변형단계; 및
    변형된 이미지 상태의 N 개의 변수를 일렬로 배열하여 상기 솔트 변수스트링을 생성하는 변수스트링생성단계;를
    수행하는 것을 특징으로 하는 솔티드 패스워드 인증방법.
  10. 제9항에 기재된 상기 디솔티드 비밀번호 암호화단계에서는,
    상기 데이터베이스에 저장된 상기 솔트규칙 및 상기 데이터베이스 또는 상기 세션변수에 저장된 상기 솔트 변수스트링을 이용하여, 상기 솔티드 비밀번호를 구성하는 변수 중 상기 비밀번호에 추가된 변수를 제거하여 상기 디솔티드 비밀번호를 생성하는 것을 특징으로 하는 솔티드 패스워드 인증방법.
PCT/KR2016/008316 2015-08-28 2016-07-28 솔티드 패스워드 인증방법 WO2017039156A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150122084A KR101600474B1 (ko) 2015-08-28 2015-08-28 솔티드 패스워드 인증방법
KR10-2015-0122084 2015-08-28

Publications (1)

Publication Number Publication Date
WO2017039156A1 true WO2017039156A1 (ko) 2017-03-09

Family

ID=55540381

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/008316 WO2017039156A1 (ko) 2015-08-28 2016-07-28 솔티드 패스워드 인증방법

Country Status (2)

Country Link
KR (1) KR101600474B1 (ko)
WO (1) WO2017039156A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320774B2 (en) * 2016-08-05 2019-06-11 Route1 Inc. Method and system for issuing and using derived credentials
CN112636910A (zh) * 2020-12-29 2021-04-09 北京深思数盾科技股份有限公司 临时密码的生成与验证方法、设备及系统
CN113078999A (zh) * 2021-04-13 2021-07-06 傲普(上海)新能源有限公司 一种密码安全加密保存方式

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044054A (ja) * 2003-07-25 2005-02-17 Base Technology Inc 符号列の処理システム
JP2007310819A (ja) * 2006-05-22 2007-11-29 Sharp Corp パスワード解析への耐性を高めたパスワード生成方法及びこのパスワードを用いた認証装置
KR101221955B1 (ko) * 2010-11-02 2013-01-15 한국과학기술정보연구원 일회용 비밀번호 인증 방법 및 이에 적합한 인증 장치
JP2014029650A (ja) * 2012-07-31 2014-02-13 Kyocera Document Solutions Inc パスワード生成装置、及び電子機器
KR101467247B1 (ko) * 2014-01-20 2014-12-02 성균관대학교산학협력단 그래픽 기반 일회성 패스워드 인증 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005044054A (ja) * 2003-07-25 2005-02-17 Base Technology Inc 符号列の処理システム
JP2007310819A (ja) * 2006-05-22 2007-11-29 Sharp Corp パスワード解析への耐性を高めたパスワード生成方法及びこのパスワードを用いた認証装置
KR101221955B1 (ko) * 2010-11-02 2013-01-15 한국과학기술정보연구원 일회용 비밀번호 인증 방법 및 이에 적합한 인증 장치
JP2014029650A (ja) * 2012-07-31 2014-02-13 Kyocera Document Solutions Inc パスワード生成装置、及び電子機器
KR101467247B1 (ko) * 2014-01-20 2014-12-02 성균관대학교산학협력단 그래픽 기반 일회성 패스워드 인증 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320774B2 (en) * 2016-08-05 2019-06-11 Route1 Inc. Method and system for issuing and using derived credentials
CN112636910A (zh) * 2020-12-29 2021-04-09 北京深思数盾科技股份有限公司 临时密码的生成与验证方法、设备及系统
CN113078999A (zh) * 2021-04-13 2021-07-06 傲普(上海)新能源有限公司 一种密码安全加密保存方式

Also Published As

Publication number Publication date
KR101600474B1 (ko) 2016-03-07

Similar Documents

Publication Publication Date Title
CN101601222B (zh) 在线数据加密和解密
US9684780B2 (en) Dynamic interactive identity authentication method and system
US9117065B2 (en) Dynamic interactive identity authentication method and system
US8041954B2 (en) Method and system for providing a secure login solution using one-time passwords
US8918851B1 (en) Juxtapositional image based authentication system and apparatus
US8752147B2 (en) System and method for two-factor user authentication
US8875264B2 (en) System, method and program for off-line two-factor user authentication
Por et al. Graphical password: prevent shoulder-surfing attack using digraph substitution rules
EP1789901A2 (en) System, method of generation and use of bilaterally generated variable instant passwords
WO2017039156A1 (ko) 솔티드 패스워드 인증방법
Gupta et al. Passblot: A highly scalable graphical one time password system
JP2018536931A (ja) 傍受防止認証および暗号化システムならびに方法
KR100927280B1 (ko) 페이크 라운드를 이용한 보안 문자열 노출 방지 방법
LeJeune et al. An algorithmic approach to improving cloud security: The MIST and Malachi algorithms
CA2611549C (en) Method and system for providing a secure login solution using one-time passwords
Nasiri et al. Using Combined One-Time Password for Prevention of Phishing Attacks.
Kenneth et al. Web Application Authentication Using Visual Cryptography and Cued Clicked Point Recall-based Graphical Password
Pierce et al. A conceptual model for graphical authentication
WO2016042473A1 (en) Secure authentication using dynamic passcode
KR101632582B1 (ko) 랜덤키가 포함된 패스워드를 이용한 사용자 인증 방법 및 시스템
Majdalawieh et al. Assessing the Attacks Against the Online Authentication Methods Using a Comparison Matrix: A Case of Online Banking
WO2021010778A1 (ko) 고유 정보를 이용한 실시간 문자열 변조/복조 장치 및 방법
Pais et al. Illusion PIN: tricking the eye to defeat shoulder surfing attack by using hybrid images
Liou et al. A study of biometric feature for a recall-based behavioral graphical mobile authentication
Chakravarthy et al. A Probabilistic Approach For Authenticating Text Or Graphical Passwords Using Back Propagation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16842122

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC DATED 11.07.2018 F1205A).

122 Ep: pct application non-entry in european phase

Ref document number: 16842122

Country of ref document: EP

Kind code of ref document: A1