WO2013176491A1 - 웹 서비스 사용자 인증 방법 - Google Patents

웹 서비스 사용자 인증 방법 Download PDF

Info

Publication number
WO2013176491A1
WO2013176491A1 PCT/KR2013/004503 KR2013004503W WO2013176491A1 WO 2013176491 A1 WO2013176491 A1 WO 2013176491A1 KR 2013004503 W KR2013004503 W KR 2013004503W WO 2013176491 A1 WO2013176491 A1 WO 2013176491A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
user
web service
web
server
Prior art date
Application number
PCT/KR2013/004503
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 아주대학교산학협력단
Priority to US14/402,572 priority Critical patent/US9208304B2/en
Publication of WO2013176491A1 publication Critical patent/WO2013176491A1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • 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
    • G06F21/33User authentication using certificates
    • 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
    • G06F21/36User authentication by graphic or iconic representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/77Graphical identity

Definitions

  • the present invention relates to a web service user authentication method that can increase convenience while providing high security strength.
  • the ID / password method has been recognized as a convenient and secure authentication method because it is easy to implement from a service provider's point of view, and is difficult to find unless the user records the password somewhere or directly informs the other person.
  • devices that can access a web page such as a personal computer or a smart phone, most of them include a keyboard, so there is no inconvenience in inputting English letters and numbers. Based on these advantages, almost all web services currently use this method to authenticate users.
  • Forcing the combination of alphanumeric characters is to prevent common words from being used as passwords.
  • Passwords have the paradoxical condition that users must always remember them easily, even though they must use words or numbers that are difficult for others to figure out. Therefore, the user needs to create a password by combining a combination of words or numbers that can be easily memorized.
  • the English combination often selected one English word.
  • password Currently, it does not change much and 'password1' is used a lot. The same is true for numbers. Using only numbers will often set your birthday or anniversary as your password, which will increase the chances that others can guess. Combining alphanumeric characters can solve this problem to some extent.
  • the length of the password is to counter random attacks. If you enter all the numbers from 0000 to 9999 for 4 digit PIN, it will be exposed someday. Combining alphanumeric and case-sensitive letters, you get 62 candidates per letter, so it's much more powerful than a PIN with numbers, but if it's too short, it's still vulnerable to random attacks. In the past, more than six characters were common, but as the trend is increasing, many services require passwords of eight or more characters these days.
  • the ID / password method has been widely used because it is excellent in convenience and has no complaints from the user's point of view and is easy to implement from the service provider's point of view. Increasingly strong passwords are required, but the user's memory is limited and falls short of security requirements.
  • the present invention is to solve the conventional problems as described above, the object of the present invention is to keep the user's password in the device that always carry and use it so as to relieve the burden on the user's memory and use a strong password It is to provide a technique that can be conveniently authenticated.
  • the web server of the web service includes a code including the authentication server Uniform Resource Locator (URL) of the web service on the web browser screen Displaying;
  • the authentication device confirms whether the authentication information of the user is stored by checking the authentication server URL of the web service in the code; If it is determined that the authentication information is stored, the authentication device generating an authentication token that encrypts the authentication information, and transmitting the authentication token to the authentication server URL of the web service in the code; And checking, by the authentication server of the web service, a result of decrypting the received authentication token and notifying the web server of the web service of the web service of the web service if it is determined that the message is a normal message and a normal user login attempt. It includes.
  • the web server of the web service displays the QR code including the authentication server URL of the web service on the web browser screen
  • the web server provides a form for subscription to the user; Sending, by the web server, a bit string for identifying the authentication device to the authentication device of the user when the user fills out a form; Generating, by the web server, a code including a public key of a web service and displaying the code on a web browser screen;
  • a user ID and a key pair are generated by the user when the user confirms that the user has not subscribed using information received from a code including the public key of the web service, the key pair including a public key and a private key;
  • the authentication device encrypts a message by encrypting a user ID, a public key in a key pair, a bit string, a public key of a web service, a signature for a bit string, and a signature for a public key of a web service using the public key of a web service.
  • the web server deciphering the message received from the authentication device with its secret key and confirming that the signature is correct; And storing, in the database, the web server the contents of the form input by the user and the public key of the user obtained through decryption. It includes.
  • the authentication device in the user's authentication device Transmitting a bit string for confirmation; Generating, by the web server, a code including a public key of a web service and displaying the code on a web browser screen; Generating a user ID and a key pair by the user when it is confirmed that the user has not subscribed using the information of the code, wherein the key pair includes a public key and a private key;
  • the authentication device encrypts a message by encrypting a user ID, a public key in a key pair, a bit string, a public key of a web service, a signature for a bit string, and a signature for a public key of a web service using the public key of a web service.
  • the web server may solve the message received from the authentication device with its private key and verify that the signature is correct, and store the contents of the form input by the user and the public key of the user obtained through decryption in a database of the user; Displaying, by the web server, a code including an authentication server URL of a web service on a web browser screen; When the user photographs the code including the authentication server URL of the web service using the authentication device, the authentication device checks the authentication server URL of the web service in the code including the authentication server URL of the web service, and the authentication information is stored.
  • the authentication device Checking to see if; If it is determined that the authentication information is stored, the authentication device generates an authentication token that encrypts the authentication information, and transmits the authentication token to the authentication server URL of the web service in the code; And verifying, by the authentication server, a result of decrypting the received authentication token and notifying that the web server is normally authenticated when it is determined that the message is a normal message and a normal user login attempt.
  • the present invention when there is a dedicated device can be authenticated by recognizing a two-dimensional bar code on the screen using a camera, and even when using a smart phone only need to drive after the application to authenticate the user There is an effect of increasing the convenience of. In the case of a disabled person who is difficult to enter the keyboard has the effect of increasing convenience.
  • the present invention since the present invention uses an encryption key instead of a password, the present invention can effectively cope with random search attacks or dictionary attacks.
  • the existing 8 to 12 digit password combined only with alphanumeric characters requires up to 62 8 ( ⁇ 2 47 ) to 62 12 ( ⁇ 2 71 ) attack attempts
  • the encryption key is usually 512 bits, 1024 bits, Since 2048 bits are used, a maximum of 2 512 , 2 1024 , and 2 2048 attack attempts are required for random attack detection, respectively. Therefore, the present invention has the effect of providing high security strength.
  • the present invention since the essential secret key for authentication is not stored in the authentication server, the present invention has the effect of not being able to log in under a user name even if a specific web service is exposed to the contents of the database in the authentication server.
  • the present invention uses different authentication information for each web service, even if a particular web service is exposed to hacking, there is no damage to the account of the other service, and since the web service is always used with a different key, it is safe and the user needs to remember the ID. Since it is not possible to set it differently for each web service, it is difficult to find an association between users even if some web services are maliciously tuned.
  • the present invention has the effect of being safe from keyloggers (keyloggers, keyboard hacking) because there is no user input directly at the time of login.
  • FIG. 1 is a diagram illustrating a procedure of creating an account when a user wants to join a web site in the web service user authentication method according to an exemplary embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a message exchange procedure between a user and a web service when creating an account through the procedure of FIG. 1.
  • 3 and 4 illustrate a procedure for logging in using a previously held account in the web service user authentication method according to an embodiment of the present invention.
  • the present invention stores all IDs and passwords that a user uses to log in to a web service in a device (for example, a mobile phone) that always possesses the user, so that the user can remember the ID and password at all. It is not necessary.
  • a device for example, a mobile phone
  • a smartphone that satisfies all of the above conditions is a typical smartphone.
  • the camera is sufficient to be able to interpret two-dimensional barcodes (or two-dimensional codes) such as QR codes.
  • Computing power needs to be able to do encryption and decryption. Since the encryption technology used here uses a public key method, it requires computing power that can perform RSA or DSA in a short time, and must be able to access the Internet. According to the method proposed by the present invention, since the authentication device must be able to directly access the authentication server of the website, user authentication is impossible when the authentication device cannot connect to the Internet.
  • the user To authenticate a user of a web service, the user must create his own account in the service. After the account is created, the user can be authenticated and receive personalized services through the login procedure.
  • the account creation method and the login method will be described in the following.
  • FIG. 1 illustrates a procedure of creating an account in order when a user wants to join a website
  • FIG. 2 illustrates a message exchange procedure between a user and a web service at the time of creating an account.
  • the account creation method will be described in detail with reference to FIGS. 1 and 2 as follows.
  • the web service provides a form for subscription to the user (S101).
  • the web service needs to verify the user's authentication device so that the user can later log in through the authentication device. In other words, a binding between the user and the authentication device is required.
  • the web service sends a bit string to the user to identify the authenticating device.
  • SMS Short Message Service
  • SMS is not available (for example, using a device such as an iPod touch)
  • an arbitrary bit string is sent to the user via email or the like. In the following description of the present invention, such a bit string is referred to as nonce 1 (S102).
  • the web service generates a two-dimensional bar code and displays it through a web browser.
  • Two-dimensional barcodes can be used with anything, and QR codes are the most common.
  • the two-dimensional bar code contains the URL of the web service, the public key of the web service, and a new random bit string that is different from nonce 1 . In the following description of the present invention, such a bit string will be referred to as nonce 2 .
  • the public key of the web service may use any public key algorithm without departing from the gist of the present invention. In the following description of the present invention, the public key of the web service is denoted by W pub .
  • the user uses the information received from the two-dimensional barcode to determine whether he or she has already signed up for the website (ie, has created an account).
  • the website ie, has created an account.
  • one user may be allowed to have multiple accounts. In this case, it is preferable to go through a process of confirming whether to open a new account.
  • the new authentication information (confidential) consists of a public key in the ID and the newly generated key pair (public key and secret key. In the following description of the present invention, D pub and D priv , respectively). It can be seen that the public key replaces the password among the generated key pairs.
  • the user ID is included in the QR code and sent to the authentication device, or the user can directly enter the authentication device. Although the user ID is included in the QR code and transmitted to the authentication device, it is convenient, but there is a problem that the user is exposed. In the method of directly inputting the user ID, the user ID is less likely to be exposed, but the user is troublesome. have.
  • the authenticating device receives the user ID, the newly created public key (D pub ), nonce 1 , nonce 2 , and the signature of the nonce 1 and nonce 2 public key (W). pub ).
  • D pub the newly created public key
  • W the signature of the nonce 1 and nonce 2 public key
  • D priv the newly created secret key
  • the encrypted message is sent to a web service, but when the message is sent, the URL received through the QR code is used (S105).
  • the web service unpacks the message received from the user's authentication device with its own private key (W priv ) and verifies that the signature is correct.
  • the user has two connections to the web service, one initially connected with a computer and the other sent with encrypted authentication information using an authentication device.
  • the web service must be able to find out that these two connections are from the same user, and that's what nonce 2 is used for. Since the authentication device copies and takes nonce 2 through the camera, the computer and the authentication device share the same nonce 2 value (S106).
  • the web service completes the account creation process by storing the user's input and the user's public key (D pub ) obtained through decryption in its database (S107).
  • 3 and 4 illustrate a procedure for logging in using an existing account.
  • the web service displays a QR code through the web browser.
  • the QR code includes the URL of the web service's authentication server, the web service's public key (W pub ), and an arbitrary bit string.
  • W pub web service's public key
  • a nonce is newly created each time a user requests a login, and a timer is started when the user receives a login request.
  • the timer is a time limit that shows the QR code, which is set in advance by the web server of the website. For example, if you set the user to perform authentication within 60 seconds, the QR code is only shown for 60 seconds, and the QR code is automatically hidden after 60 seconds. The reason for setting the timer is to prevent the recycling of nonce values.
  • the authentication request must be made again, in which case the value of nonce is updated. Since the web server of the web site knows that a user wants to log in, it subscribes to the authentication server to notify the authentication server when the authentication is completed (S201).
  • the user photographs the QR code on the web browser screen using the authentication device.
  • the authentication device is a smartphone
  • a separate application for authentication hereinafter, referred to as an app
  • the authentication device checks the URL included in the QR code and checks whether the authentication device already has authentication information.
  • the authentication token includes authentication information (ie, user ID (userID) and a public key (D pub ) of a key pair generated by the user) and a nonce obtained from a QR code. It also includes a signature for the nonce, which uses a secret key (D priv ). If all the contents are encrypted using the public key (W pub ) of the web server, this becomes an authentication token (S204).
  • the authentication server of the web service decrypts the authentication token and checks the signature to check whether it is a normal message. If it is confirmed that the message is a normal message, it checks the authentication information and determines that it is a login attempt of the correct user. Informs the web server of the web service that it has successfully authenticated. As mentioned above, the web server of the web service has registered to receive a message from the authentication server for a predetermined time, and the authentication server responds to this, so that the web server can log in to the user (S205).
  • the communication between the web server and the authentication server of the web server is preferably using a message queue (massage queue), but the present invention is not limited thereto, the communication between the web server and the authentication server of the web server is Any method may be used without departing from the gist of the present invention.
  • the size of the public key is significantly larger than that of the password when verifying that the public key matches, but the cost increase is expected. It can be seen that the cost increase problem does not occur because the cost can be minimized by efficiently calculating and storing the data, and then retrieving it effectively by comparing hash values.
  • the present invention when there is a dedicated device can be authenticated by simply touching the camera on the web browser screen, and even when using a smartphone, the user only needs to shoot after driving an application that can authenticate. Increases. In the case of a disabled person who has a difficult keyboard input, convenience is further increased.
  • the present invention since the present invention uses an encryption key instead of a password, the present invention can effectively cope with random search attacks or dictionary attacks.
  • the existing 8 to 12 digit password combined only with alphanumeric characters requires up to 62 8 ( ⁇ 2 47 ) to 62 12 ( ⁇ 2 71 ) attack attempts
  • the encryption key is usually 512 bits, 1024 bits, Since 2048 bits are used, a maximum of 2 512 , 2 1024 , and 2 2048 attack attempts are required for the random attack search, so the present invention can provide high security strength.
  • the present invention cannot log in under a user name even if a specific web service is exposed by hacking of all the contents of the database in the authentication server.
  • the present invention uses different authentication information for each web service, even if a particular web service is exposed to hacking, there is no damage to the account of the other service, and since the web service is always used with a different key, it is safe and the user needs to remember the ID. Since it is not available, it can be set differently for each web service, so it is difficult to find an association between users even if some web services are maliciously tuned.
  • the present invention is safe from keylogger (keylogger, keyboard hacking) because there is no user input directly at the time of login.
  • the present invention is not necessarily limited to these embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more.
  • all of the components may be implemented in one independent hardware, each or some of the components of the components are selectively combined to perform some or all of the functions combined in one or a plurality of hardware It may be implemented as a computer program having a.
  • such a computer program is stored in a computer readable medium such as a USB memory, a CD disk, a flash memory, and the like, and is read and executed by a computer, thereby implementing embodiments of the present invention.
  • the recording medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.

Landscapes

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

Abstract

본 발명은 높은 보안 강도를 제공하면서 편의성을 높일 수 있는 웹 서비스 사용자 인증 방법에 관한 것이다. 이러한 본 발명에 따른 웹 서비스 사용자 인증 방법은, 웹 서비스의 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL을 포함하는 코드를 표시하는 단계; 사용자가 인증 기기를 이용해 상기 웹 브라우저 화면 상의 코드를 촬영하면, 상기 인증 기기는 상기 코드에 있는 웹 서비스의 인증 서버 URL을 확인하여 상기 사용자의 인증 정보가 저장되어 있는지 확인하는 단계; 인증 정보가 저장되어 있다고 판단되면 상기 인증 기기는 인증 정보를 암호화한 인증 토큰을 생성하여 상기 코드에 있는 웹 서비스의 인증 서버 URL로 전달하는 단계; 및 상기 웹 서비스의 인증 서버는 수신한 인증 토큰을 복호화한 결과를 확인하여 정상적인 메시지이고 정상적인 사용자의 로그인 시도라고 확인되면 웹 서비스의 웹 서버에 정상 인증되었음을 알리는 단계; 를 포함한다.

Description

웹 서비스 사용자 인증 방법
본 발명은 높은 보안 강도를 제공하면서 편의성 또한 높일 수 있는 웹 서비스 사용자 인증 방법에 관한 것이다.
현재 대부분의 웹 서비스는 접속하는 사용자를 구분하고 인증하기 위하여 아이디와 패스워드 방식을 이용하고 있다. 인터넷 뱅킹과 같이 높은 수준의 보안이 필요할 경우에는 특별히 하드디스크나 USB 디스크에 보관된 공인 인증서를 이용하여 인증하는 경우도 있으나 대부분의 경우 사용자의 기억력에 의존하여 패스워드를 키보드로 직접 입력하여 인증을 하는 방식을 취하고 있다.
아이디/패스워드 방식은 서비스 제공자 입장에서 구현이 쉽고, 사용자가 패스워드를 어딘가에 기록해둔 것이 노출되거나 타인에게 직접 알려주지 않는 이상 알아내기가 쉽지 않아 편리하면서도 안전한 인증 방식으로 인식되어 왔다. 그리고, 퍼스널 컴퓨터나 스마트폰과 같이 웹 페이지에 접속할 수 있는 기기들은 대부분 키보드가 포함되어 있어서 영문자 및 숫자 입력에 불편함이 없으므로 사용자 편의성이 높다. 이러한 장점을 바탕으로 거의 대부분의 웹 서비스가 현재 이 방식을 이용하여 사용자 인증을 행하고 있다.
하지만, 컴퓨터 성능의 발전으로 무작위 공격(brute force attack)의 위협이 높아지고 있으며 해커들이 축적한 사전(dictionary, 패스워드로써 사용 빈도수가 높은 단어들의 집합)이 갈수록 정교해져, 간단하거나 많이 사용되는 패스워드는 짧은 시간 내에 공격자가 알아낼 수 있게 되었다. 이에 따라, 아이디/패스워드 방식을 채택한 서비스 제공자들은 사용자들이 너무 간단한 패스워드를 설정하기 않도록 유도해야 했고, 지켜야 할 사항을 권고하거나 강제하게 되었는데, 주요 사항은 다음과 같다.
① 영문자와 숫자를 조합할 것. 경우에 따라 특수 문자(!, @, # 등의 알파벳과 숫자를 제외한 문자)도 포함.
② 패스워드의 길이를 길게 할 것.
③ 주기적으로 패스워드를 바꿀 것.
영문자와 숫자를 조합하도록 강제하는 것은 일반적인 단어를 패스워드로 사용하지 못하게 하기 위함이다. 패스워드는 다른 사람이 알아내기 어려운 단어나 숫자 조합을 이용해야 하면서도 사용자 본인은 항상 쉽게 기억할 수 있어야 한다는 역설적인 조건을 가지고 있다. 따라서, 사용자는 자신이 쉽게 외울 수 있는 단어나 숫자 조합을 여러 개 조합하여 패스워드를 만들 필요가 있다. 그러나, 영문 조합을 하게 하면 하나의 영단어를 선택하는 경우가 많았다. 오래된 연구 결과이지만 세계적으로 가장 많이 사용되는 패스워드는 'password' 이었다. 현재에도 크게 변하지 않아 'password1'이 많이 사용된다. 숫자의 경우도 마찬가지다. 숫자만을 사용하게 하면 자신의 생일이나 기념일을 패스워드로 설정하는 경우가 많아지고 곧 다른 사람이 추측할 수 있는 확률을 높이게 된다. 영문자와 숫자를 조합하도록 하면 이와 같은 문제점을 어느 정도 해결할 수 있게 된다.
패스워드의 길이는 무작위 공격에 대응하기 위함이다. 4자리 PIN의 경우 0000부터 9999까지 모두 입력해보면 언젠가는 노출된다. 영문자와 숫자를 조합하고 대소문자를 구분할 경우에, 한 글자당 62개의 후보가 발생하므로 숫자만 사용하는 PIN보다는 훨씬 강력하지만 그 길이가 너무 짧을 경우 무작위 공격에는 여전히 취약하다. 예전의 경우 여섯 글자 이상이 일반적이었으나 점차 늘어나는 추세로 요즘에는 8자리 이상의 패스워드를 요구하는 서비스도 많다.
주기적으로 패스워드를 바꾸기를 요구하는 서비스도 있다. 3개월이나 6개월마다 다른 패스워드로 변경할 것을 요구하는 것이 일반적인데 사용자 입장에서는 보안상 안전한 새로운 패스워드를 만들어 내는 것이 상당히 부담스러운 작업이다. 이런 정책에 사용자들은 대부분 두 세 개의 패스워드를 돌려가며 사용하는 것이 일반적이기 때문에 유도한 만큼의 효과를 얻기는 어렵다.
위와 같은 이유로 현재의 웹 서비스들은 사용자들이 상당히 어려운 조합의 패스워드를 설정하도록 강제하고 있다. 아이디/패스워드가 가지는 가장 큰 장점인 사용성(usability)는 그만큼 낮아지고 있다. 아이디가 점점 길어지면 타이핑의 어려움이 있는데다가 훔쳐보는 것을 방지하기 위해 시각적인 피드백(visual feedback)을 하지 않는다. 일반적으로 *나 ●와 같은 문자를 사용하여 사용자 자신도 어떤 문자를 입력했는지 알 수가 없어 입력이 편리하지만은 않다.
어려운 조합의 패스워드를 여러 개 만들어내는 것, 그리고 기억하는 것은 사용자에게 부담스러운 작업이며 그 결과 사용자들은 다른 웹 사이트에 같은 패스워드를 사용하는 경우도 많다. 이 결과 하나의 서비스가 서버 관리의 부주의로 패스워드를 노출시키게 되면 공격자는 얻어낸 정보를 이용하여 다른 서비스에 쉽게 사용자 명의로 로그인을 할 수 있게 된다.
우리는 패스워드를 키보드를 통해 직접 입력하는 경우가 많은데 이로 인해 발생하는 위협이 또 존재한다. 공격자들은 사용자의 기기에 악성 코드를 몰래 설치해두고 키보드 입력을 가로채 훔쳐보기도 한다. 높은 보안 수준을 만족하는 패스워드를 만들고 그것을 정확히 기억하고 있으며 시각적 피드백 없이 정확히 입력하여도 패스워드가 인증 과정에서 노출되면 앞선 모든 노력이 의미를 잃게 된다.
즉, 아이디/패스워드 방식은 편의성 면에서 우수하여 사용자 입장에서 불만이 없고 서비스 제공자의 입장에서도 구현이 쉬워 널리 활용되어 왔으나 최근 빈번히 발생하는 보안 사고에 따라 보안 요구 사항은 계속 강화되어 서비스 제공자는 사용자에게 점점 더 강력한 패스워드를 요구하고 있으나, 사용자의 기억력에는 한계가 있어 보안 요구사항에 미치지 못하고 있다.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 사용자의 기억에 대한 부담을 해소하고 강도 높은 패스워드를 사용할 수 있도록 사용자의 패스워드를 항상 소지하고 다니는 기기에 보관하고 이를 이용하여 편리하게 인증할 수 있는 기법을 제공하는 것이다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 웹 서비스 사용자 인증 방법은, 웹 서비스의 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL(Uniform Resource Locator)을 포함하는 코드를 표시하는 단계; 사용자가 인증 기기를 이용해 상기 웹 브라우저 화면 상의 코드를 촬영하면, 상기 인증 기기는 상기 코드에 있는 웹 서비스의 인증 서버 URL을 확인하여 상기 사용자의 인증 정보가 저장되어 있는지 확인하는 단계; 인증 정보가 저장되어 있다고 판단되면 상기 인증 기기는 인증 정보를 암호화한 인증 토큰을 생성하여 상기 코드에 있는 웹 서비스의 인증 서버 URL로 전달하는 단계; 및 상기 웹 서비스의 인증 서버는 수신한 인증 토큰을 복호화한 결과를 확인하여 정상적인 메시지이고 정상적인 사용자의 로그인 시도라고 확인되면 웹 서비스의 웹 서버에 정상 인증되었음을 알리는 단계; 를 포함한다.
그리고, 상기 웹 서비스의 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL을 포함하는 QR 코드를 표시하는 단계 전에는, 상기 웹 서버는 사용자에게 가입을 위한 양식을 제공하는 단계; 상기 웹 서버는 사용자가 양식을 작성하면 사용자의 인증 기기에 인증 기기 확인을 위한 비트 스트링을 전송하는 단계; 상기 웹 서버는 웹 서비스의 공개키를 포함하는 코드를 생성하여 웹 브라우저 화면 상에 표시하는 단계; 상기 웹 서비스의 공개키를 포함하는 코드로부터 받은 정보를 이용하여 사용자가 가입하지 않았다고 확인한 경우에 사용자에 의해 사용자 아이디와 키 페어가 생성되며, 상기 키페어는 공개키와 비밀키를 포함하는 단계; 상기 인증 기기는 사용자 아이디, 키 페어 중에 공개키, 비트 스트링, 웹 서비스의 공개키, 비트 스트링에 대한 서명, 및 웹 서비스의 공개키에 대한 서명을 웹 서비스의 공개 키를 이용해 암호화한 메시지를 웹 서버로 보내는 단계; 상기 웹 서버는 인증 기기로부터 받은 메시지를 자신의 비밀 키로 풀어보고 서명이 맞는지 확인하는 단계; 및 상기 웹 서버는 사용자가 입력한 양식의 내용과 복호화를 통해 얻은 사용자의 공개 키를 자신의 데이터베이스에 저장하는 단계; 를 포함한다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 웹 서비스 사용자 인증 방법은, 웹 서비스의 웹 서버가 사용자에게 가입용 양식을 제공하고 사용자가 양식을 작성하면 사용자의 인증 기기에 인증 기기 확인을 위한 비트 스트링을 전송하는 단계; 상기 웹 서버는 웹 서비스의 공개키를 포함하는 코드를 생성하여 웹 브라우저 화면 상에 표시하는 단계; 상기 코드의 정보를 이용하여 사용자가 가입하지 않았다고 확인한 경우에 사용자에 의해 사용자 아이디와 키 페어가 생성되며, 상기 키페어는 공개키와 비밀키를 포함하는 단계; 상기 인증 기기는 사용자 아이디, 키 페어 중에 공개키, 비트 스트링, 웹 서비스의 공개키, 비트 스트링에 대한 서명, 및 웹 서비스의 공개키에 대한 서명을 웹 서비스의 공개 키를 이용해 암호화한 메시지를 웹 서버로 보내는 단계; 상기 웹 서버는 인증 기기로부터 받은 메시지를 자신의 비밀 키로 풀고 서명이 맞는지 확인하고, 사용자가 입력한 양식의 내용과 복호화를 통해 얻은 사용자의 공개 키를 자신의 데이터베이스에 저장하는 단계; 상기 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL을 포함하는 코드를 표시하는 단계; 사용자가 인증 기기를 이용해 상기 웹 서비스의 인증 서버 URL을 포함하는 코드를 촬영하면, 인증 기기는 웹 서비스의 인증 서버 URL을 포함하는 코드에 있는 웹 서비스의 인증 서버 URL을 확인하여 인증 정보가 저장되어 있는지 확인하는 단계; 인증 정보가 저장되어 있다고 판단되면 인증 기기는 인증 정보를 암호화한 인증 토큰을 생성하여 코드에 있는 웹 서비스의 인증 서버 URL로 전달하는 단계; 및 상기 인증 서버는 수신한 인증 토큰을 복호화한 결과를 확인하여 정상적인 메시지이고 정상적인 사용자의 로그인 시도라고 확인되면 상기 웹 서버에 정상 인증되었음을 알리는 단계;를 포함한다.
상기와 같은 본 발명은, 전용 기기가 있을 경우에는 카메라를 이용하여 화면의 2차원 바코드를 인식하는 것으로 인증이 가능하며 스마트폰을 이용할 경우에도 인증할 수 있는 어플리케이션을 구동한 후 촬영만 하면 되므로 사용자의 편의성이 증가하는 효과가 있다. 키보드 입력이 힘든 장애인의 경우에는 편의성이 더욱 증대되는 효과가 있다.
그리고, 본 발명은 패스워드 대신에 암호 키를 이용하므로 무작위 탐색 공격이나 사전 공격에 효과적으로 대처할 수 있다. 기존의 알파벳과 숫자만으로 조합되는 8 ~ 12자리 패스워드는 최대 628(≒247) ~ 6212(≒271)번의 공격 시도가 요구되지만, 본 발명에서 암호 키는 보통 512 bits, 1024 bits, 2048 bits를 사용하므로 무작위 공격 탐색 시 각각 최대 2512, 21024, 22048번의 공격 시도가 요구되므로, 본 발명은 높은 보안 강도를 제공할 수 있는 효과가 있다.
그리고, 본 발명은 인증 서버에 인증을 위한 필수적인 비밀 키가 저장되지 않으므로, 특정 웹 서비스가 해킹으로 인증 서버에 있는 데이터베이스의 내용이 모두 노출되더라도 사용자 명의로 로그인할 수 없다는 효과가 있다.
그리고, 본 발명은 웹 서비스마다 다른 인증 정보를 사용하므로 특정 웹 서비스가 해킹에 노출되어도 타 서비스의 계정에 피해가 없으며, 웹 서비스마다 항상 다른 키를 사용하므로 안전하며 아이디의 경우에도 사용자가 기억할 필요가 없으므로 웹 서비스마다 다르게 설정할 수 있어, 몇몇 웹 서비스가 악의적으로 동조하여도 사용자 간의 연관성을 찾기 어렵다는 효과가 있다.
그리고, 본 발명은 로그인 시에 사용자가 직접 입력하는 내용이 전혀 없으므로 키로거(keylogger, 키보드 해킹)으로부터 안전하다는 효과가 있다.
그리고, 본 발명은 모든 보안 관련 정보는 사용자의 스마트폰에 저장되어 있고 스마트폰이 웹 서버와 직접 통신하므로, 사용하는 PC의 안정성이 보장되지 않은 경우(예를 들어, 피씨방 등의 공용 컴퓨터)에도 안전하다는 효과가 있다.
도 1은 본 발명의 바람직한 실시예에 따른 웹 서비스 사용자 인증 방법에 있어서, 사용자가 웹 사이트 가입을 원할 때 계정을 생성하는 절차를 차례로 도시한 도면이다.
도 2는 도 1과 같은 절차를 통해 계정을 생성할 시에 사용자와 웹 서비스 간의 메시지 교환 절차를 도시한 도면이다.
도 3과 도 4는 본 발명의 바람직한 실시예에 따른 웹 서비스 사용자 인증 방법에 있어서, 기 보유한 계정을 이용하여 로그인하는 절차를 도시한 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.
본 발명은 사용자가 웹 서비스에 로그인하기 위해 사용하는 모든 아이디와 패스워드를 항상 소지하고 있는 기기(예를 들어, 휴대폰)에 저장하고 해당 기기가 인증 과정을 진행하도록 함으로써 사용자가 아이디와 패스워드를 전혀 기억할 필요가 없도록 하는 것이다.
아이디와 패스워드를 기억하는 기기가 가져야하는 조건은 다음과 같다.
① 카메라가 있어야 한다.
② 컴퓨팅 능력이 있어야 한다. (암호화 작업을 수행할 수 있어야 한다.)
③ 인터넷 접속이 가능해야 한다.
④ 사용자가 항상 소지하여야 한다.
상기와 같은 조건을 모두 만족하는 기기는 스마트폰이 대표적이다. 카메라는 QR 코드와 같은 2차원 바코드(또는, 2차원 코드)를 해석할 수 있는 수준이면 충분하다. 컴퓨팅 능력의 경우 암호화 및 복호화 작업을 할 수 있어야 한다. 여기서 사용되는 암호 기술은 공개키 방식을 이용해야 하므로 RSA나 DSA를 짧은 시간 내에 수행할 수 있을 정도의 컴퓨팅 능력이 요구되며, 인터넷 접속이 가능해야 한다. 본 발명이 제안하는 방식은 인증 기기가 직접 웹 사이트의 인증 서버에 접근할 수 있어야 하기 때문에 인증 기기가 인터넷에 연결할 수 없는 경우 사용자 인증이 불가능해진다.
웹 서비스의 사용자 인증을 위해 사용자는 서비스에 자신의 계정을 생성해야 하며, 계정 생성 후에는 로그인 절차를 통해 사용자 인증을 받고 개인화된 서비스를 받을 수 있다. 계정 생성 방법과 로그인 방법을 차례로 설명하면 다음과 같다.
○ 계정 생성 시
도 1에는 사용자가 웹 사이트 가입을 원할 때 계정을 생성하는 절차를 차례로 도시하였으며, 도 2에는 계정 생성 시에 사용자와 웹 서비스 간의 메시지 교환 절차를 도시하였다.
도 1 및 도 2를 참조하여 계정 생성 방법에 대하여 상세히 설명하면 다음과 같다.
먼저, 사용자가 어떤 웹 서비스에 가입하기를 원하는 경우에, 웹 서비스는 사용자에게 가입을 위한 양식을 제공한다.(S101)
*다음으로, 사용자가 아이디를 비롯하여 양식을 모두 작성하면 웹 서비스는 사용자가 이후에 인증 기기를 통해 로그인할 수 있도록 사용자가 가지고 있는 인증 기기를 확인할 필요가 있다. 즉, 사용자 본인과 인증 기기를 묶는 작업(binding)이 필요하다. 따라서, 웹 서비스는 인증 기기를 확인하기 위해 비트 스트링(bit string)을 사용자에게 보낸다. 비트 스트링을 보내는 방법은 여러 가지가 있을 수 있으나 스마트폰의 경우 SMS를 이용하는 것이 가장 편리할 것이다. SMS를 이용할 수 없는 경우(예를 들어, iPod touch와 같은 기기를 활용하는 경우)는 이메일 등을 통해 사용자에게 임의의 비트 스트링을 보낸다. 이하에서 본 발명을 설명함에 있어서 이와 같은 비트 스트링을 nonce1이라고 표기한다.(S102)
다음으로, 웹 서비스는 2차원 바코드를 생성하여 웹 브라우저를 통해 보여준다. 2차원 바코드는 어떤 것을 사용해도 무관하며 QR 코드가 가장 일반적이다. 2차원 바코드에는 웹 서비스의 URL, 웹 서비스의 공개 키, 그리고 nonce1과는 다른 새로운 임의의 비트 스트링이 담겨있다. 이하에서 본 발명을 설명함에 있어서 이와 같은 비트 스트링을 nonce2라고 하겠다. 웹 서비스의 공개 키는 본 발명의 요지를 벗어나지 않는 범위 내에서 어떠한 공개키 알고리즘을 사용해도 무방하다. 이하에서 본 발명을 설명함에 있어서 웹 서비스의 공개 키는 Wpub으로 표기한다.(S103)
다음으로, 사용자는 2차원 바코드로부터 받은 정보를 이용하여 자신이 해당 웹 사이트에 이미 가입했었는지(즉, 계정을 생성했었는지) 확인한다. 웹 서비스의 성격에 따라 다수 계정을 한 사용자가 가질 수 있도록 허가할 수도 있는데, 이 경우에는 새로운 계정을 추가로 개설할 것인지 확인하는 과정을 거치는 것이 바람직하다.(S104)
다음으로, 해당 웹 사이트에 이미 가입되어 있다고 확인되었거나 새로운 계정을 추가로 개설하기를 원한다고 확인된 경우에, 사용자에게 경고 메시지를 보여주고 계정 생성 프로세스를 중단한다.
반면에, 계정을 기보유하지 않았다고 확인되었거나 사용자가 새로운 계정을 추가로 개설하기를 원하는 경우에는 계정 생성 프로세스를 계속 진행한다. 새로운 인증 정보(confidential)는 아이디와 새롭게 생성된 키 페어(공개 키와 비밀 키. 이하에서 본 발명을 설명함에 있어서 각각 Dpub과 Dpriv로 표기한다.) 중에 공개 키로 구성된다. 생성된 키 페어 중에 공개 키가 패스워드를 대체하는 것으로 볼 수 있다. 사용자 아이디는 QR 코드에 포함되어 인증 기기로 전송되거나 사용자가 직접 인증 기기에 입력할 수 있다. 사용자 아이디가 QR 코드에 포함되어 인증 기기로 전송되는 방식은 편리하지만 사용자가 아이디가 노출된다는 문제점이 있고, 사용자 아이디를 직접 입력하는 방식은 사용자 아이디 노출의 가능성이 낮지만 사용자가 번거롭다는 단점이 있다. 키 페어 생성이 완료되면 인증 기기는 사용자 아이디와 새로 생성한 공개 키(Dpub), nonce1, nonce2, 그리고 nonce1과 nonce2에 대한 서명(signature)을 앞서 받아온 웹 서비스의 공개 키(Wpub)를 이용하여 암호화한다. 서명을 할 때는 앞서 새로 생성한 비밀 키(Dpriv)를 활용한다. 암호화된 메시지는 웹 서비스로 보내지는데, 보낼 때는 QR 코드를 통해서 받은 URL을 활용한다.(S105)
다음으로, 웹 서비스는 사용자의 인증 기기로부터 받은 메시지를 자신의 비밀 키(Wpriv)로 풀어보고 서명이 맞는지 확인한다. 사용자는 웹 서비스에 두 개의 접속을 가지는데, 하나는 초기에 컴퓨터를 이용하여 접속한 것이며, 다른 하나는 인증 기기를 이용해서 암호화된 인증 정보를 보낸 접속이다. 웹 서비스는 이 두 개의 접속이 동일한 사용자로부터 왔다는 것을 알아낼 수 있어야 하는데, 그것을 위해 사용된 것이 nonce2이다. 인증 기기가 카메라를 통해 nonce2를 복사해서 가져갔기 때문에 컴퓨터와 인증 기기는 같은 nonce2 값을 공유하게 된다.(S106)
다음으로, 웹 서비스는 사용자가 입력한 내용과 복호화를 통해 얻은 사용자의 공개 키(Dpub)를 자신의 데이터베이스에 저장함으로써 계정 생성 작업이 완료된다.(S107)
○ 로그인 시
도 3과 도 4에는 기보유한 계정을 이용하여 로그인하는 절차를 도시하였다.
도 3 및 도 4를 참조하여 로그인하는 방법에 대하여 상세히 설명하면 다음과 같다.
먼저, 사용자는 웹 브라우저를 통해 웹 서비스에 접속하여 로그인 요청을 하면 웹 서비스는 웹 브라우저를 통해 QR 코드를 표시한다. QR 코드에는 웹 서비스의 인증 서버의 URL과 웹 서비스의 공개 키(Wpub), 그리고 임의의 비트 스트링(nonce)이 포함된다. nonce는 사용자가 로그인 요청을 할 때마다 새롭게 생성되며, 사용자의 로그인 요청을 받는 순간부터 타이머가 작동된다. 타이머는 QR 코드를 보여주는 제한 시간으로서 웹 사이트의 웹 서버가 미리 시간을 정해둔다. 예를 들어, 60초 내에 사용자가 인증을 수행하도록 설정하면 60초 동안만 QR 코드를 보여주며 60초가 경과한 후에는 QR 코드가 자동으로 감춰진다. 타이머를 설정하는 이유는 nonce 값의 재활용을 방지하기 위해서이다. QR 코드가 감춰진 후에 사용자가 인증을 원한다면 다시 인증 요청을 해야하며, 이 경우에 nonce의 값은 갱신된다. 웹 사이트의 웹 서버는 어떤 사용자가 로그인을 원한다는 것을 알게 되었으므로, 인증 서버에게 인증이 완료되면 알려달라고 등록(subscribe)한다.(S201)
다음으로, 사용자는 인증 기기를 이용하여 웹 브라우저 화면 상의 QR 코드를 촬영한다. 인증 기기가 스마트폰인 경우에는 인증을 위한 별도의 어플리케이션(이하, 앱)을 구동하고 QR 코드를 촬영한다. 인증 기기는 QR 코드에 포함된 URL을 확인하여 인증 기기에 이미 인증 정보가 있는지 점검한다.(S102, S103)
다음으로, 인증 정보가 저장되어 있지 않다고 확인된 경우에는 오류 메시지를 출력한다(즉, 인증 실패).(S214)
반면에, 인증 정보가 저장되어 있다고 확인된 경우에는 인증 토큰을 생성하여 QR 코드에 있는 URL로 전달된다. 상기 인증 토큰은 인증 정보(즉, 사용자 아이디(userID)와 사용자가 생성한 키 페어의 공개 키(Dpub))와 QR 코드로부터 얻은 nonce가 포함된다. 또한, nonce에 대한 서명도 포함되는데, 서명은 비밀 키(Dpriv)를 이용한다. 이 모든 내용을 웹 서버의 공개 키(Wpub)를 이용하여 암호화하면 이것이 인증 토큰이 된다.(S204)
다음으로, 웹 서비스의 인증 서버는 인증 토큰이 오면 복호화한 후에 서명을 확인하여 정상적인 메시지인지 점검하여, 정상적인 메시지라고 확인되면 인증 정보를 보고 이것을 올바른 사용자의 로그인 시도인지 판단하여, 정상 사용자라고 확인되면 웹 서비스의 웹 서버에게 정상적으로 인증되었음을 알린다. 앞서 언급했듯이 웹 서비스의 웹 서버는 정해진 시간 동안 인증 서버에게 메시지를 받겠다고 등록을 한 상태에며, 인증 서버가 이에 대해 응답함으로써 웹 서버는 해당 사용자에 대하여 로그인 처리할 수 있게 된다.(S205)
상술한 바와 같은 본 발명에 있어서 웹 서버의 웹 서버와 인증 서버 간의 통신은 메시지 큐(massage queue)를 이용하는 것이 바람직하지만 본 발명이 이에 한정되는 것은 아니며, 웹 서버의 웹 서버와 인증 서버 간의 통신은 본 발명의 요지를 벗어나지 않는 범위 내에서 어떠한 방법을 사용하든 무관하다.
그리고, 웹 서비스의 인증 서버가 인증 정보를 확인할 때 공개 키가 일치하는지 확인할 시에 공개 키의 크기가 패스워드에 비해 상당히 커서 비용 증가가 예상되지만, 공개 키에 대한 해시 값(digest)를 계정 생성 시에 계산하여 저장하였다가 해시 값의 비교를 통해 효과적으로 검색함으로써 비용을 최소화할 수 있으므로, 비용 증가 문제는 발생하지 않음을 알 수 있다.
상술한 바와 같은 본 발명은, 전용 기기가 있을 경우에는 카메라를 웹 브라우저 화면에 대는 것만으로 인증이 가능하며 스마트폰을 이용할 경우에도 인증할 수 있는 어플리케이션을 구동한 후 촬영만 하면 되므로 사용자의 편의성이 증가한다. 키보드 입력이 힘든 장애인의 경우에는 편의성이 더욱 증대된다.
그리고, 본 발명은 패스워드 대신에 암호 키를 이용하므로 무작위 탐색 공격이나 사전 공격에 효과적으로 대처할 수 있다. 기존의 알파벳과 숫자만으로 조합되는 8 ~ 12자리 패스워드는 최대 628(≒247) ~ 6212(≒271)번의 공격 시도가 요구되지만, 본 발명에서 암호 키는 보통 512 bits, 1024 bits, 2048 bits를 사용하므로 무작위 공격 탐색 시 각각 최대 2512, 21024, 22048번의 공격 시도가 요구되므로, 본 발명은 높은 보안 강도를 제공할 수 있다.
그리고, 본 발명은 인증 서버에 인증을 위한 필수적인 비밀 키가 저장되지 않으므로, 특정 웹 서비스가 해킹으로 인증 서버에 있는 데이터베이스의 내용이 모두 노출되더라도 사용자 명의로 로그인할 수 없다.
그리고, 본 발명은 웹 서비스마다 다른 인증 정보를 사용하므로 특정 웹 서비스가 해킹에 노출되어도 타 서비스의 계정에 피해가 없으며, 웹 서비스마다 항상 다른 키를 사용하므로 안전하며 아이디의 경우에도 사용자가 기억할 필요가 없으므로 웹 서비스마다 다르게 설정할 수 있어, 몇몇 웹 서비스가 악의적으로 동조하여도 사용자 간의 연관성을 찾기 어렵다.
그리고, 본 발명은 로그인 시에 사용자가 직접 입력하는 내용이 전혀 없으므로 키로거(keylogger, 키보드 해킹)으로부터 안전하다.
그리고, 본 발명은 모든 보안 관련 정보는 사용자의 스마트폰에 저장되어 있고 스마트폰이 웹 서버와 직접 통신하므로, 사용하는 PC의 안정성이 보장되지 않은 경우(예를 들어, 피씨방 등의 공용 컴퓨터)에도 안전하다.
이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 기록매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 기록매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (12)

  1. 웹 서비스의 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL(Uniform Resource Locator)을 포함하는 코드를 표시하는 단계;
    사용자가 인증 기기를 이용해 상기 웹 브라우저 화면 상의 코드를 촬영하면, 상기 인증 기기는 상기 코드에 있는 웹 서비스의 인증 서버 URL을 확인하여 상기 사용자의 인증 정보가 저장되어 있는지 확인하는 단계;
    인증 정보가 저장되어 있다고 판단되면 상기 인증 기기는 인증 정보를 암호화한 인증 토큰을 생성하여 상기 코드에 있는 웹 서비스의 인증 서버 URL로 전달하는 단계; 및
    상기 웹 서비스의 인증 서버는 수신한 인증 토큰을 복호화한 결과를 확인하여 정상적인 메시지이고 정상적인 사용자의 로그인 시도라고 확인되면 웹 서비스의 웹 서버에 정상 인증되었음을 알리는 단계;
    를 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  2. 제 1 항에 있어서, 상기 코드는 웹 서비스의 인증 서버의 URL, 웹 서비스의 공개 키, 및 임의의 비트 스트링을 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  3. 제 2 항에 있어서, 상기 임의의 비트 스트링은 사용자가 로그인 요청을 할 때마다 새롭게 생성되며, 사용자가 로그인 요청을 하는 순간부터 타이머가 작동되는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  4. 제 1 항에 있어서, 상기 인증 정보가 저장되어 있는지 확인하는 단계에서 저장되어 있지 않다고 확인된 경우에, 인증 기기는 오류 메시지를 출력하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  5. 제 1 항에 있어서, 상기 인증 토큰은 상기 인증 정보, 상기 코드로부터 얻은 임의의 비트 스트링, 및 상기 임의의 비트 스트링에 대한 서명을 공개 키를 이용하여 암호화 한 것이며,
    상기 인증 정보는 사용자가 웹 서비스에 가입을 위해 계정을 생성할 시에 생성한 사용자 아이디와 키 페어의 공개 키를 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  6. 제 1 항에 있어서, 상기 웹 서비스의 웹 서버에 정상 인증되었음을 알리는 단계는,
    웹 서비스의 인증 서버는 인증 토큰을 복호화한 후에 서명을 확인하여 정상적인 메시지인지 점검하여, 정상적인 메시지라고 확인되면 인증 정보를 보고 정상적인 사용자의 로그인 시도인지 판단하여, 정상적인 사용자의 로그인 시도라고 판단되면 웹 서비스의 웹 서버에 정상적으로 인증되었음을 알리는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  7. 제 1 항에 있어서, 상기 웹 서비스의 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL을 포함하는 코드를 표시하는 단계 전에는,
    상기 웹 서버는 사용자에게 가입을 위한 양식을 제공하는 단계;
    상기 웹 서버는 사용자가 양식을 작성하면 사용자의 인증 기기에 인증 기기 확인을 위한 비트 스트링을 전송하는 단계;
    상기 웹 서버는 웹 서비스의 공개키를 포함하는 코드를 생성하여 웹 브라우저 화면 상에 표시하는 단계;
    상기 웹 서비스의 공개키를 포함하는 코드로부터 받은 정보를 이용하여 사용자가 가입하지 않았다고 확인한 경우에 사용자에 의해 사용자 아이디와 키 페어가 생성되며, 상기 키페어는 공개키와 비밀키를 포함하는 단계;
    상기 인증 기기는 사용자 아이디, 키 페어 중에 공개키, 비트 스트링, 웹 서비스의 공개키, 비트 스트링에 대한 서명, 및 웹 서비스의 공개키에 대한 서명을 웹 서비스의 공개 키를 이용해 암호화한 메시지를 웹 서버로 보내는 단계;
    상기 웹 서버는 인증 기기로부터 받은 메시지를 자신의 비밀 키로 풀어보고 서명이 맞는지 확인하는 단계; 및
    상기 웹 서버는 사용자가 입력한 양식의 내용과 복호화를 통해 얻은 사용자의 공개 키를 자신의 데이터베이스에 저장하는 단계;
    가 추가로 수행되는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  8. 제 7 항에 있어서, 상기 2차원 바코드는 웹 서비스의 URL, 웹 서비스의 공개 키, 및 상기 비트 스트링과는 별개의 새로운 임의의 비트 스트링을 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  9. 제 1 항에 있어서, 상기 코드는 2차원 코드인 것을 특징으로 하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  10. 웹 서비스의 웹 서버가 사용자에게 가입용 양식을 제공하고 사용자가 양식을 작성하면 사용자의 인증 기기에 인증 기기 확인을 위한 비트 스트링을 전송하는 단계;
    상기 웹 서버는 웹 서비스의 공개키를 포함하는 코드를 생성하여 웹 브라우저 화면 상에 표시하는 단계;
    상기 코드의 정보를 이용하여 사용자가 가입하지 않았다고 확인한 경우에 사용자에 의해 사용자 아이디와 키 페어가 생성되며, 상기 키페어는 공개키와 비밀키를 포함하는 단계;
    상기 인증 기기는 사용자 아이디, 키 페어 중에 공개키, 비트 스트링, 웹 서비스의 공개키, 비트 스트링에 대한 서명, 및 웹 서비스의 공개키에 대한 서명을 웹 서비스의 공개 키를 이용해 암호화한 메시지를 웹 서버로 보내는 단계;
    상기 웹 서버는 인증 기기로부터 받은 메시지를 자신의 비밀 키로 풀고 서명이 맞는지 확인하고, 사용자가 입력한 양식의 내용과 복호화를 통해 얻은 사용자의 공개 키를 자신의 데이터베이스에 저장하는 단계;
    상기 웹 서버는 웹 브라우저 화면 상에 웹 서비스의 인증 서버 URL을 포함하는 코드를 표시하는 단계;
    사용자가 인증 기기를 이용해 상기 웹 서비스의 인증 서버 URL을 포함하는 코드를 촬영하면, 인증 기기는 웹 서비스의 인증 서버 URL을 포함하는 코드에 있는 웹 서비스의 인증 서버 URL을 확인하여 인증 정보가 저장되어 있는지 확인하는 단계;
    인증 정보가 저장되어 있다고 판단되면 인증 기기는 인증 정보를 암호화한 인증 토큰을 생성하여 코드에 있는 웹 서비스의 인증 서버 URL로 전달하는 단계; 및
    상기 인증 서버는 수신한 인증 토큰을 복호화한 결과를 확인하여 정상적인 메시지이고 정상적인 사용자의 로그인 시도라고 확인되면 상기 웹 서버에 정상 인증되었음을 알리는 단계;
    를 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  11. 제 10 항에 있어서, 상기 코드는 웹 서비스의 인증 서버의 URL, 웹 서비스의 공개 키, 및 임의의 비트 스트링을 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
  12. 제 10 항에 있어서, 상기 인증 토큰은 인증 정보, 코드로부터 얻은 임의의 비트 스트링, 및 상기 임의의 비트 스트링에 대한 서명을 공개 키를 이용하여 암호화 한 것이며,
    상기 인증 정보는 사용자가 웹 서비스에 가입을 위해 계정을 생성할 시에 생성한 사용자 아이디와 키 페어의 공개 키를 포함하는 것을 특징으로 하는 웹 서비스 사용자 인증 방법.
PCT/KR2013/004503 2012-05-24 2013-05-23 웹 서비스 사용자 인증 방법 WO2013176491A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/402,572 US9208304B2 (en) 2012-05-24 2013-05-23 Method for web service user authentication

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0055413 2012-05-24
KR1020120055413A KR101381789B1 (ko) 2012-05-24 2012-05-24 웹 서비스 사용자 인증 방법

Publications (1)

Publication Number Publication Date
WO2013176491A1 true WO2013176491A1 (ko) 2013-11-28

Family

ID=49624103

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/004503 WO2013176491A1 (ko) 2012-05-24 2013-05-23 웹 서비스 사용자 인증 방법

Country Status (3)

Country Link
US (1) US9208304B2 (ko)
KR (1) KR101381789B1 (ko)
WO (1) WO2013176491A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639566A (zh) * 2015-03-10 2015-05-20 四川省宁潮科技有限公司 基于带外身份认证的交易授权方法
CN112383542A (zh) * 2020-11-12 2021-02-19 建信金融科技有限责任公司 一种用户登录的方法和系统、认证端以及用户端

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102267798B1 (ko) * 2014-03-25 2021-06-23 삼성전자주식회사 사용자 단말을 통한 로그인 지원 방법 및 그 장치
US10136315B2 (en) * 2014-04-17 2018-11-20 Guang Gong Password-less authentication system, method and device
CN103986720B (zh) * 2014-05-26 2017-11-17 网之易信息技术(北京)有限公司 一种登录方法及装置
US9813400B2 (en) * 2014-11-07 2017-11-07 Probaris Technologies, Inc. Computer-implemented systems and methods of device based, internet-centric, authentication
US10904234B2 (en) 2014-11-07 2021-01-26 Privakey, Inc. Systems and methods of device based customer authentication and authorization
US9667600B2 (en) 2015-04-06 2017-05-30 At&T Intellectual Property I, L.P. Decentralized and distributed secure home subscriber server device
CN105791259B (zh) * 2015-10-26 2018-11-16 北京中金国盛认证有限公司 一种个人信息保护的方法
US10630675B2 (en) * 2016-04-14 2020-04-21 Microsoft Technology Licensing, Llc Generating web service picture passwords with user-specific cypher keys
US10708244B2 (en) * 2017-06-07 2020-07-07 Virtual Connect Technologies, Inc. System and method for encryption, storage and transmission of digital information
US10740211B2 (en) * 2017-11-28 2020-08-11 Vmware, Inc. Methods and systems to tag tokens in log messages
EP3827420A4 (en) * 2018-07-24 2022-05-04 Validvoice, Llc BIOMETRIC ACCESS CONTROL SYSTEM AND METHODS
US11271933B1 (en) * 2020-01-15 2022-03-08 Worldpay Limited Systems and methods for hosted authentication service
EP4094173A4 (en) * 2020-01-22 2024-02-14 CPlabs Inc. METHOD FOR PROVIDING AN AUTHENTICATION SERVICE USING DECENTRALIZED IDENTITY AND SERVERS THEREFOR
US20210377309A1 (en) * 2020-06-02 2021-12-02 Hid Global Cid Sas System and method for establishing secure session with online disambiguation data
US11750599B2 (en) * 2020-06-04 2023-09-05 Wipro Limited Method and server for authentication using continuous real-time stream as an authentication factor
US12101284B2 (en) 2021-11-29 2024-09-24 Virtual Connect Technoloties, Inc. Computerized system for analysis of vertices and edges of an electronic messaging system
EP4387167A1 (fr) * 2022-12-15 2024-06-19 Bull Sas Procédé et système d'authentification d'un utilisateur auprès d'un serveur d'authentification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050100772A (ko) * 2004-04-14 2005-10-20 주식회사 팬택 이동통신단말기를 이용한 사용자 인증정보 관리시스템 및그 제어방법
JP2007193762A (ja) * 2005-12-23 2007-08-02 Toshiba Corp ユーザー認証システムと、このユーザー認証システムで使用される提供用サーバ装置、携帯通信装置、利用者用携帯通信装置、承認者用携帯通信装置および認証用サーバ装置と、これらの装置のためのプログラム
KR20110006734A (ko) * 2010-01-08 2011-01-20 김주한 휴대 단말을 이용한 회원 등록 시스템 및 인증 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379921B1 (en) * 2004-11-08 2008-05-27 Pisafe, Inc. Method and apparatus for providing authentication
US20090293112A1 (en) * 2004-12-03 2009-11-26 Stephen James Moore On-line generation and authentication of items
US20090117883A1 (en) * 2006-07-20 2009-05-07 Dan Coffing Transaction system for business and social networking
WO2009134213A2 (en) * 2008-05-02 2009-11-05 Radiantrust Pte Ltd Method and system for on-screen authentication using secret visual message
KR101304275B1 (ko) * 2008-09-30 2013-09-11 (주)테크윙 전자부품 테스트 시스템
GB201010546D0 (en) * 2010-06-23 2010-08-11 Applied Neural Technologies Ltd Method of indentity verification
US20120138679A1 (en) * 2010-12-01 2012-06-07 Yodo Inc. Secure two dimensional bar codes for authentication
US8627438B1 (en) * 2011-09-08 2014-01-07 Amazon Technologies, Inc. Passwordless strong authentication using trusted devices
US8751794B2 (en) * 2011-12-28 2014-06-10 Pitney Bowes Inc. System and method for secure nework login

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050100772A (ko) * 2004-04-14 2005-10-20 주식회사 팬택 이동통신단말기를 이용한 사용자 인증정보 관리시스템 및그 제어방법
JP2007193762A (ja) * 2005-12-23 2007-08-02 Toshiba Corp ユーザー認証システムと、このユーザー認証システムで使用される提供用サーバ装置、携帯通信装置、利用者用携帯通信装置、承認者用携帯通信装置および認証用サーバ装置と、これらの装置のためのプログラム
KR20110006734A (ko) * 2010-01-08 2011-01-20 김주한 휴대 단말을 이용한 회원 등록 시스템 및 인증 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639566A (zh) * 2015-03-10 2015-05-20 四川省宁潮科技有限公司 基于带外身份认证的交易授权方法
CN112383542A (zh) * 2020-11-12 2021-02-19 建信金融科技有限责任公司 一种用户登录的方法和系统、认证端以及用户端

Also Published As

Publication number Publication date
KR101381789B1 (ko) 2014-04-07
US9208304B2 (en) 2015-12-08
US20150220718A1 (en) 2015-08-06
KR20130131682A (ko) 2013-12-04

Similar Documents

Publication Publication Date Title
WO2013176491A1 (ko) 웹 서비스 사용자 인증 방법
US9185096B2 (en) Identity verification
JP5619007B2 (ja) サーバ・オペレーションの認可を行うための装置、システムおよびコンピュータ・プログラム
EP2166697B1 (en) Method and system for authenticating a user by means of a mobile device
US8214888B2 (en) Two-factor USB authentication token
EP2954451B1 (en) Barcode authentication for resource requests
KR101878149B1 (ko) 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법
EP2314090B1 (en) Portable device association
US8661254B1 (en) Authentication of a client using a mobile device and an optical link
US8335925B2 (en) Method and arrangement for secure authentication
US20180062863A1 (en) Method and system for facilitating authentication
EP2999189A1 (en) Network authentication method for secure electronic transactions
US20090158033A1 (en) Method and apparatus for performing secure communication using one time password
US20110159848A1 (en) Methods and apparatus for provisioning devices with secrets
US20090063850A1 (en) Multiple factor user authentication system
WO2018021708A1 (ko) 공개키 기반의 서비스 인증 방법 및 시스템
EP2404255A1 (en) Method and computer program for generation and verification of otp between server and mobile device using multiple channels
EP2690840B1 (en) Internet based security information interaction apparatus and method
US9332011B2 (en) Secure authentication system with automatic cancellation of fraudulent operations
Aravindhan et al. One time password: A survey
WO2020086846A1 (en) Network and device security system, method, and apparatus
WO2010128451A2 (en) Methods of robust multi-factor authentication and authorization and systems thereof
JP2023532976A (ja) ユーザの身元の検証のための方法およびシステム
JP2017530636A (ja) 認証スティック
KR101651607B1 (ko) 익명 아이디를 사용하는 원클릭 사용자 인증 방법 및 시스템

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: 13793849

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14402572

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13793849

Country of ref document: EP

Kind code of ref document: A1