KR102101719B1 - A method and system for simple authentication by using web storage - Google Patents

A method and system for simple authentication by using web storage Download PDF

Info

Publication number
KR102101719B1
KR102101719B1 KR1020190125975A KR20190125975A KR102101719B1 KR 102101719 B1 KR102101719 B1 KR 102101719B1 KR 1020190125975 A KR1020190125975 A KR 1020190125975A KR 20190125975 A KR20190125975 A KR 20190125975A KR 102101719 B1 KR102101719 B1 KR 102101719B1
Authority
KR
South Korea
Prior art keywords
key
authentication
session
received
server
Prior art date
Application number
KR1020190125975A
Other languages
Korean (ko)
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 KR1020190125975A priority Critical patent/KR102101719B1/en
Application granted granted Critical
Publication of KR102101719B1 publication Critical patent/KR102101719B1/en
Priority to EP20873442.6A priority patent/EP4044499A4/en
Priority to PCT/KR2020/012396 priority patent/WO2021071116A1/en
Priority to SG11202107607WA priority patent/SG11202107607WA/en
Priority to JP2021540594A priority patent/JP7212169B2/en
Priority to CN202080007983.5A priority patent/CN113272810B/en
Priority to US17/369,342 priority patent/US11271744B2/en

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
    • H04L9/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • 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/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L9/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Abstract

According to one embodiment of the present invention, provided is a simple authentication method using a web storage of a browser, which comprises the following steps. A server generates an authentication token, a public key, and a private key based on a received user key to store the authentication token, the public key, and the private key in a session, and transmits a session key corresponding to the session, the authentication token, and the public key to a terminal. The terminal uses the received public key to encrypt PIN number data input by a user, and transmits the encrypted data to a server together with the received session key. The server uses the private key corresponding to the received session key to decrypt the PIN number data so as to perform simple authentication. The user key and the PIN number data can be stored in a web storage of the terminal and can be differently set for each device or browser.

Description

브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템{A METHOD AND SYSTEM FOR SIMPLE AUTHENTICATION BY USING WEB STORAGE}Simple authentication method and system using web storage of a browser {A METHOD AND SYSTEM FOR SIMPLE AUTHENTICATION BY USING WEB STORAGE}

본 발명은 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템에 관한 것으로 보다 구체적으로 웹스토리지에 저장된 간편인증 데이터를 이용하여 사용기기 및 브라우저별 1회성 공개키 및 개인키를 발급하고, 발급된 공개키 및 개인키를 이용하여 간편 인증을 수행하는 방법 및 시스템에 관한 것이다.The present invention relates to a simple authentication method and system using a web storage of a browser, and more specifically, to issue a one-time public key and a private key for each device and browser using the simple authentication data stored in the web storage, and the issued public key. And a method and system for performing simple authentication using a private key.

인터넷 서비스의 발달로 인해 대부분의 사람들은 인터넷을 통해 정부기관, 교육기관, 의료기관, 통신회사, 금융회사, 여객회사, 자산관리, 신용정보, 포털, 소셜네트워크서비스(Social Network Service: SNS), 게임, 쇼핑, 발권, 택배, 전자투표 등의 수많은 온라인 서비스를 이용한다.Due to the development of Internet services, most people use government Internet, educational institutions, medical institutions, telecommunications companies, financial companies, passenger companies, asset management, credit information, portals, social network services (SNS), and games. , Shopping, ticketing, courier, electronic voting, and many other online services.

따라서, 이러한 서비스를 이용하고자 하는 사용자는 자신의 실명 등을 포함한 개인정보를 입력하여 회원에 가입하거나, 특정 아이디와 비밀번호를 입력하여 가입된 사용자임을 인증해야 한다. 그런데 여러 사이트마다 이러한 인증 절차를 반복하는 것은 상당히 번거롭기 때문에, 최근에는 간편 인증이라고 하여 보다 쉽게 로그인을 도와주어 인터넷 상에서 금융거래를 쉽게진행할 수 있도록 하는 방법이 발전되고 있다.Therefore, a user who wants to use such a service must authenticate by entering a personal information including his / her real name or the like, or a user by entering a specific ID and password. However, since it is quite cumbersome to repeat such an authentication process for each site, recently, a method for making a financial transaction on the Internet easier by facilitating login is called simple authentication.

한편, 과거 이러한 사용자들을 인증하는 방법에 주로 사용되었던 방식은 대칭키를 이용하는 방법이었다. 그러나 이러한 대칭키방식은 하나의 비밀키를 서버와 단말 양쪽에서 같이 사용하기에 해커로부터 안전하지 못한 문제가 있었다.On the other hand, in the past, a method mainly used for authenticating these users was a method using a symmetric key. However, this symmetric key method has a problem in that it is not safe from hackers because a single secret key is used by both the server and the terminal.

한편, 이러한 문제를 해결하고자 공개키(Public Key) 와 개인키(Private Key) 조합을 이용하여 데이터를 암호화 하고, 인증을 수행하는 방법으로 발전되었다.On the other hand, in order to solve this problem, it has been developed as a method of encrypting data and performing authentication using a combination of a public key and a private key.

그러나, 기존의 사용자 인증을 위한 공개키(Public Key) 와 개인키(Private Key)를 사용함에 있어서 브라우저 저장소(local storage)는 여전히 평문 저장방식을 사용하고 있어 보안의 문제가 많았다. 물론, 보안책으로 암호화 방식을 취하고 있기는 하지만 이러한 방법도 여전히 개인정보 유출이나 보안의 문제가 있다. 따라서, 이러한 문제 해결을 위해 공개키(Public Key) 와 개인키(Private Key)의 안전 보관 및 그 사용방법이 필요로 하다.However, in using a public key and a private key for authenticating an existing user, the browser storage (local storage) still uses a plaintext storage method, and thus has many security problems. Of course, although it uses an encryption method as a security measure, these methods still have problems with personal information leakage or security. Therefore, in order to solve these problems, it is necessary to safely store and use public key and private key.

등록특허공보 제10-1666374호, 2016.10.14Registered Patent Publication No. 10-1666374, 2016.10.14

본 발명이 해결하고자 하는 과제는 웹 스토리지를 이용한 간편인증 방법 및 시스템에 있어서, 웹스토리지에 저장된 간편인증 데이터를 이용하여 사용기기 및 브라우저별 1회성 공개키를 발급하고, 발급된 공개키를 이용하여 간편 인증을 수행하여 개인정보의 보호화 보안을 강화할 수 있다.The problem to be solved by the present invention is a simple authentication method and system using web storage, issuing a one-time public key for each device and browser using simple authentication data stored in web storage, and using the issued public key By performing simple authentication, you can enhance the security of personal information protection.

또한, 생성된 개인키를 서버의 세션에 저장하고, 저장된 세션에 대한 세션키 및 공개키를 단말에 전송하는 방식을 취함으로써 2차 인증을 수행하도록 할 수 있다.In addition, it is possible to perform secondary authentication by storing the generated private key in a session of the server and transmitting a session key and a public key for the stored session to the terminal.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 브라우저의 웹스토리지를 이용한 간편인증 방법은, 서버가 수신된 사용자키에 기초하여 인증토큰, 공개키 및 개인키를 생성하여 세션에 저장하고, 상기 세션에 대응하는 세션키, 상기 인증토큰 및 상기 공개키를 단말에 전송하는 단계; 상기 단말이 상기 수신한 공개키를 이용하여, 사용자가 입력한 PIN 번호 데이터를 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송하는 단계; 및 상기 서버는 상기 수신된 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호화 하여 간편인증을 수행하는 단계를 포함하고, 상기 사용자키는 단말의 웹스토리지에 저장되어 기기 또는 브라우저별로 다르게 설정되는 것일 수 있다.A simple authentication method using a web storage of a browser according to an aspect of the present invention for solving the above-described problem, the server generates an authentication token, a public key and a private key based on the received user key and stores it in a session, Transmitting a session key corresponding to the session, the authentication token and the public key to a terminal; Encrypting the PIN number data input by the user using the received public key, and transmitting the encrypted data to the server together with the received session key; And the server decrypting the PIN number data using a private key corresponding to the received session key to perform simple authentication, and the user key is stored in the web storage of the terminal and is different for each device or browser. It can be set.

또한, 상기 간편인증을 수행하는 단계는, 상기 서버가 상기 수신된 세션키를 통해 불러온 개인키를 기초로 암호화된 PIN 번호 데이터를 복원하여 1차 인증을 진행 하는 단계; 상기 1차인증이 통과되면, 상기 단말에서 상기 인증토큰을 상기 공개키를 이용하여 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송하는 단계; 및 상기 서버에서 상기 개인키를 기초로 복원한 인증토큰과 상기 세션에 저장된 인증토큰을 비교하여 2차 인증을 수행한 뒤 상기 세션을 삭제하는 단계를 더 포함할 수 있다.In addition, the step of performing the simple authentication may include: performing the primary authentication by restoring the encrypted PIN number data based on the private key retrieved by the server through the received session key; If the primary authentication passes, encrypting the authentication token at the terminal using the public key, and transmitting the encrypted data to the server together with the received session key; And comparing the authentication token restored on the basis of the private key with the authentication token stored in the session, and performing the second authentication to delete the session.

또한, 상기 사용자키는 암호화 알고리즘으로 암호화 되고, PIN번호는 해시 암호화 되어 상기 웹스토리지에 저장될 수 있다.In addition, the user key may be encrypted with an encryption algorithm, and the PIN number may be hash-encrypted and stored in the web storage.

또한, 상기 공개키를 단말에 전송하는 단계는, 상기 서버의 인증정책을 조회하는 단계; 및 상기 서버의 인증정책에 따라 상기 단말에서 사용자키를 간편인증 방식 또는 사용자 공개키로 조회하는 단계를 포함할 수 있다.In addition, the step of transmitting the public key to the terminal, querying the authentication policy of the server; And in accordance with the authentication policy of the server may include the step of inquiring the user key in the simple authentication method or the user public key in the terminal.

또한, 상기 공개키를 단말에 전송하는 단계는, 단말은 상기 웹스토리지에 상기 사용자키가 저장되어 있는지 판단하는 단계; 및 상기 사용자키가 저장되어 있지 않은경우, 사용자로부터 PIN 번호를 등록 받는 단계를 더 포함할 수 있다.In addition, the step of transmitting the public key to the terminal, the terminal determining whether the user key is stored in the web storage; And when the user key is not stored, registering a PIN number from the user.

또한, 상기 간편 인증을 진행 하는 단계 상기 PIN번호가 비매칭 될때마다 인증시도 횟수를 갱신하고, 상기 인증시도 횟수가 소정 개수 이상 증가하는경우 상기 서버 및/또는 단말에 저장된 PIN번호 데이터를 삭제할 수 있다.In addition, the step of performing the simple authentication may update the number of authentication attempts whenever the PIN number is mismatched, and delete the PIN number data stored in the server and / or terminal when the number of authentication attempts increases by a predetermined number or more. .

상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 웹스토리지를 이용한 간편인증 시스템은, 수신된 사용자키에 기초하여 인증토큰, 공개키 및 개인키를 생성하여 세션에 저장하고, 상기 세션에 대응하는 세션키, 상기 인증토큰 및 상기 공개키를 단말에 전송하고, 상기 단말로부터 암호화된 데이터와 세션키를 수신하면 수신된 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호화 하여 간편인증을 수행하는 서버; 및 사용자키에 기초하여 공개키 발행을 요청하고, 서버에서 수신한 공개키를 이용하여, 사용자가 입력한 PIN 번호 데이터를 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송하는 단말을 포함하고, 상기 사용자키는 단말의 웹스토리지에 저장되어 기기 또는 브라우저별로 다르게 설정될 수 있다.A simple authentication system using web storage according to another aspect of the present invention for solving the above-described problems, generates an authentication token, a public key, and a private key based on the received user key and stores it in a session, and corresponds to the session Simple authentication by transmitting the session key, the authentication token and the public key to the terminal, and decrypting the PIN number data using the private key corresponding to the received session key when the encrypted data and the session key are received from the terminal A server to perform the; And a terminal that requests issuance of a public key based on the user key, encrypts the PIN number data entered by the user using the public key received from the server, and transmits the encrypted data to the server along with the received session key. Including, the user key is stored in the web storage of the terminal may be set differently for each device or browser.

또한, 상기 서버는 상기 수신된 세션키를 통해 불러온 개인키를 기초로 암호화된 PIN 번호 데이터를 복원하여 1차 인증을 진행 하고, 상기 단말은 상기 1차인증이 통과되면, 상기 단말에서 상기 인증토큰을 상기 공개키를 이용하여 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송하며, 서버는 상기 개인키를 기초로 복원한 인증토큰과 상기 세션에 저장된 인증토큰을 비교하여 2차 인증을 수행한 뒤 상기 세션을 삭제하는 동작을 수행할 수 있다.In addition, the server performs primary authentication by restoring the encrypted PIN number data based on the private key retrieved through the received session key, and when the primary authentication passes, the terminal authenticates the terminal. The token is encrypted using the public key, and the encrypted data is transmitted to the server along with the received session key, and the server compares the authentication token restored based on the private key and the authentication token stored in the session and compares the 2 After performing secondary authentication, an operation of deleting the session may be performed.

또한, 상기 서버는, 상기 복원된 PIN번호가 비매칭 될때마다 인증시도 횟수를 갱신하고, 상기 인증시도 횟수가 소정 개수 이상 증가하는경우 상기 서버 및/또는 단말에 저장된 PIN번호 데이터를 삭제 할 수 있다.In addition, the server may update the number of authentication attempts whenever the restored PIN number is mismatched, and delete the PIN number data stored in the server and / or terminal when the number of authentication attempts increases by a predetermined number or more. .

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific matters of the present invention are included in the detailed description and drawings.

본 발명은 일 실시예에 따라 웹스토리지에 저장된 간편인증 데이터를 이용하여 기기 또는 브라우저별로 다르게 개인키를 발급하여 인증을 수행 할 수 있다. 또한, 인증 요청시마다 공개키 기반의 1회성 키 생성을 지원함으로서 간편 인증 방식에 있어서 보다 강력한 보안을 제공할 수 기 때문에, 공인인증서를 대체할 수 있을 정도로 신뢰성이 높으면서도 간편한 인증방법을 제공할 수 있다.According to an embodiment of the present invention, authentication may be performed by issuing a private key differently for each device or browser by using simple authentication data stored in web storage. In addition, since it supports public key-based one-time key generation for each authentication request, it can provide stronger security in a simple authentication method, so it can provide a simple and reliable authentication method that is high enough to replace a public certificate. have.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 일 실시예에 따른 브라우저의 웹스토리지를 이용한 간편인증 시스템을 설명하기 위한 개념도이다.
도 2는 일 실시예에 따른 웹스토리지를 이용한 간편인증 방법을 설명하는 순서도이다.
도 3은 일 실시예에 PIN 번호를 등록하는 일 예를 설명하는 도이다.
도 4는 일 실시예에 따라 웹스토리지를 이용한 간편인증을 수행하는 일 예를 설명하는 순서도이다.
도 5는 일 실시예에 따라 웹스토리지를 이용한 간편인증을 수행하는 다른 예를 설명하는 순서도이다.
도 6은 일 실시예에 따른 서버의 내부 구성을 개략적으로 나타낸 블록 도이다.
도 7은 일 실시예에 따른 단말의 내부 구성을 개략적으로 나타낸 블록 도이다.
1 is a conceptual diagram illustrating a simple authentication system using a web storage of a browser according to an embodiment.
2 is a flowchart illustrating a simple authentication method using web storage according to an embodiment.
3 is a diagram illustrating an example of registering a PIN number in an embodiment.
4 is a flowchart illustrating an example of performing simple authentication using web storage according to an embodiment.
5 is a flowchart illustrating another example of performing simple authentication using web storage according to an embodiment.
6 is a block diagram schematically showing an internal configuration of a server according to an embodiment.
7 is a block diagram schematically showing the internal configuration of a terminal according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and are common in the technical field to which the present invention pertains. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing the embodiments and is not intended to limit the present invention. In the present specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, “comprises” and / or “comprising” does not exclude the presence or addition of one or more other components other than the components mentioned. Throughout the specification, the same reference numerals refer to the same components, and “and / or” includes each and every combination of one or more of the components mentioned. Although "first", "second", etc. are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings commonly understood by those skilled in the art to which the present invention pertains. In addition, terms defined in the commonly used dictionary are not ideally or excessively interpreted unless explicitly defined.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여 질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The spatially relative terms “below”, “beneath”, “lower”, “above”, “upper”, etc., are as shown in the figure. It can be used to easily describe a correlation between a component and other components. The spatially relative terms should be understood as terms including different directions of components in use or operation in addition to the directions shown in the drawings. For example, when a component shown in the drawing is turned over, a component described as "below" or "beneath" of another component is placed "above" another component. Can lose. Accordingly, the exemplary term “below” can include both the directions below and above. The component can also be oriented in other directions, so that spatially relative terms can be interpreted according to the orientation.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 브라우저의 웹스토리지를 이용한 간편인증 시스템을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a simple authentication system using a web storage of a browser according to an embodiment.

도 1을 참조하면 일 실시예에 따른 브라우저의 웹스토리지를 이용한 간편인증 시스템은 서버(100) 및 단말(200)을 포함할 수 있다.Referring to FIG. 1, a simple authentication system using a web storage of a browser according to an embodiment may include a server 100 and a terminal 200.

우선 서버(100)와 단말(200)은 SSL 암호화 방식을 통해 모든 통신구간(10)에 대해 종단간(End-to-End) 암호화가 수행될 수 있다. 먼저 서버(100)는 공개키 및 개인키를 생성하여 세션에 저장하고 있다가, 단계 101에서 공개키를 배포하면서, 공개키 대응하는 세션에 대한 세션키를 단말(200)에 전송할 수 있다.First, the server 100 and the terminal 200 may perform end-to-end encryption for all communication sections 10 through an SSL encryption method. First, the server 100 generates a public key and a private key and stores it in a session. In step 101, while distributing the public key, the session key for the session corresponding to the public key may be transmitted to the terminal 200.

단말(200)은 단계 201에서 수신한 세션키에 대해서 암호화를 수행할 수 있으며, 단계 202에서 수신된 공개키를 이용하여 간편인증 데이터를 암호화 한다. 여기서, 간편인증 데이터는 사용자키 및 PIN 번호 데이터를 포함할 수 있다. 단계 101에서 서버(100)는 수신된 인증 정보의 무결성을 검증하고, 단계 102에서 단말(200)로부터 암호화된 데이터와 세션키를 수신하면 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호함으로써, 간편인증을 수행할 수 있다. 한편 전달정보 무결성 검증에는 인증토큰이 별도로 이용될 수 있으며, 인증 토큰을 활용하여 2단계로 간편인증을 수행함으로써 보다 보안을 강화 할 수 있다. The terminal 200 may perform encryption on the session key received in step 201, and encrypt the simple authentication data using the public key received in step 202. Here, the simple authentication data may include user key and PIN number data. In step 101, the server 100 verifies the integrity of the received authentication information, and when the encrypted data and the session key are received from the terminal 200 in step 102, the PIN number data is used using the private key corresponding to the session key. By decoding, simple authentication can be performed. On the other hand, an authentication token can be used separately to verify the integrity of the delivered information, and security can be further strengthened by performing simple authentication in two steps using an authentication token.

단계 203에서 최종적으로 단말(200)은 간편 인증 결과에 기초하여 로그인 등 동작을 수행하도록 할 수 있다.Finally, in step 203, the terminal 200 may perform an operation such as login based on the simple authentication result.

다른 실시예에 따른 간편인증 방법에서 간편인증을 위한 정보가 블록체인에 저장되고, 인증 단계에서 검증될 수 있다.In a simple authentication method according to another embodiment, information for simple authentication is stored in a blockchain and can be verified in an authentication step.

예를 들면, 간편인증을 위한 공개키 정보는 블록체인에 저장될 수 있다. 간편인증 정보는 공개키 및 개인키 기반으로 암호화 및 복호화 되는데, 사용자가 입력한 PIN 번호를 암호화 하기 위한 공개키가 변조/조작된 경우가 발생할 수 있다. 따라서 이러한 경우를 막기 위해 공개키를 블록체인 방식으로 저장하여 신뢰성을 담보하고 서버(100)가 없이도 단말(200)에서 공개키를 획득하여 PIN 번호를 암호화 할 수 있다.For example, public key information for simple authentication can be stored on the blockchain. The simple authentication information is encrypted and decrypted based on the public key and the private key, which may occur when the public key for encrypting the PIN number entered by the user is tampered / manipulated. Therefore, in order to prevent such a case, the public key can be stored in a blockchain manner to ensure reliability, and a public key can be obtained from the terminal 200 without the server 100 to encrypt the PIN number.

또 다른 예로, 공개키 기반으로 암호화된 인증 데이터(사용자키 및 PIN번호)가 블록체인에 저장될 수 있다. 따라서, 서버(100) 또는 단말은 블록체인을 기반으로 사용자가 입력한 PIN번호의 인증 및 검증을 수행하여 변조가능성을 낮춤으로서 신뢰성을 높일 수도 있다.As another example, authentication data (user key and PIN number) encrypted based on the public key may be stored in the blockchain. Therefore, the server 100 or the terminal may increase the reliability by lowering the possibility of tampering by performing authentication and verification of the PIN number input by the user based on the blockchain.

상술한 바와같이, 일 실시예에 따른 브라우저의 웹스토리지를 이용한 간편인증 시스템은 웹스토리지에 저장된 간편인증 데이터를 이용하여 사용기기 및 브라우저별 1회성 공개키를 발급하고, 발급된 공개키를 이용하여 간편 인증을 수행하여 개인정보의 보호화 보안을 강화할 수 있다.As described above, the simple authentication system using the web storage of the browser according to an embodiment issues a one-time public key for each device and browser using the simple authentication data stored in the web storage, and uses the issued public key. By performing simple authentication, you can enhance the security of personal information protection.

또한, 생성된 개인키를 서버(100)의 세션에 저장하고, 저장된 세션에 대한 세션키 및 공개키를 단말(200)에 전송하는 방식을 취함으로써 2차 인증을 수행하도록 하여 보다 보안을 강화시킬 수 있다.In addition, by storing the generated private key in the session of the server 100 and transmitting a session key and a public key for the stored session to the terminal 200, secondary authentication is performed to enhance security. Can be.

도 2는 일 실시예에 따른 웹스토리지를 이용한 간편인증 방법을 설명하는 순서도이다.2 is a flowchart illustrating a simple authentication method using web storage according to an embodiment.

도 2를 참조하면, 일 실시예에 따른 웹스토리지를 이용한 간편인증 방법은, 단계 S200에서 서버(100)가 수신된 사용자키에 기초하여 인증토큰, 공개키 및 개인키를 생성하여 세션에 저장하고, 세션에 대응하는 세션키, 인증토큰 및 상기 공개키를 단말(200)에 전송한다. 여기서, 사용자키는 단말(200)의 웹스토리지에 저장되어 기기 또는 브라우저별로 다르게 설정될 수 있다.Referring to FIG. 2, in the simple authentication method using web storage according to an embodiment, in step S200, the server 100 generates an authentication token, a public key, and a private key based on the received user key and stores it in a session. , The session key corresponding to the session, the authentication token and the public key are transmitted to the terminal 200. Here, the user key may be stored in the web storage of the terminal 200 and set differently for each device or browser.

다음으로, 단계 S210에서, 일 실시예에 따른 웹스토리지를 이용한 간편인증 방법은, 단말(200)이 수신한 공개키를 이용하여, 사용자가 입력한 PIN 번호 데이터를 암호화 하고, 암호화된 데이터를 수신된 세션키와 함께 서버(100)로 전송 한다. Next, in step S210, the simple authentication method using web storage according to an embodiment uses the public key received by the terminal 200 to encrypt the PIN number data entered by the user and receives the encrypted data. The transmitted session key is transmitted to the server 100.

다음으로, 단계 S220에서, 일 실시예에 따른 웹스토리지를 이용한 간편인증 방법에서, 서버(100)는 수신된 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호화 하여 간편인증을 수행한다.Next, in step S220, in a simple authentication method using web storage according to an embodiment, the server 100 performs simple authentication by decrypting the PIN number data using a private key corresponding to the received session key. .

보다 구체적으로, 서버(100)는 수신된 세션키를 통해 불러온 개인키를 기초로 암호화된 PIN 번호 데이터를 복원하여 1차 인증을 진행 한다. 여기서 1차 인증은 사용자키에 대응하는 PIN번호 데이터를 서버가 저장하고 있는 경우 서버에서 인증이 수행되고, 단말이 가지고 있는 경우 단말에서 인증이 수행된다. 물론 서버와 단말에서 교차 검증이 수행될 수 있다. 1차인증이 통과되면, 단말(200)에서 상기 인증토큰을 상기 공개키를 이용하여 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버(100)로 전송한다. 만약 PIN번호가 비매칭되어 1차 인증을 통과하지 못하면 서버(100)는 사용자키별 인증시도 횟수를 카운트하고, 누적 카운트가 소정값 이상이면 해킹 가능성을 고려하여 서버(100) 및/또는 단말(200)에 저장된 PIN번호 데이터를 삭제한다.More specifically, the server 100 performs primary authentication by restoring the encrypted PIN number data based on the private key retrieved through the received session key. Here, the first authentication is performed by the server when the server stores the PIN number data corresponding to the user key, and when the terminal has it, authentication is performed by the terminal. Of course, cross-validation can be performed at the server and the terminal. When the primary authentication passes, the terminal 200 encrypts the authentication token using the public key, and transmits the encrypted data to the server 100 together with the received session key. If the PIN number is mismatched and the first authentication fails, the server 100 counts the number of authentication attempts for each user key, and if the cumulative count is greater than or equal to a predetermined value, the server 100 and / or the terminal 200 in consideration of the possibility of hacking ), Delete the PIN number data.

한편, 서버(100)는 개인키를 기초로 복원한 인증토큰과 세션에 저장된 인증토큰을 비교하여 2차 인증을 수행한 뒤 상기 세션을 삭제한다. 즉, 세션 및 세션키는 인증 요청시마다 1회성으로 생성되며 인증이 완료되면 삭제됨으로써 생성된 키가 유출되는 것을 방지할 수 있다.Meanwhile, the server 100 compares the authentication token restored based on the private key and the authentication token stored in the session, performs secondary authentication, and then deletes the session. That is, the session and the session key are generated once for each authentication request, and when authentication is completed, the generated key can be prevented from being leaked.

이하 도 3 내지 도 5를 참조하여 일 실시예에 따른 간편인증 방법에서 사용자의 PIN 번호를 등록하는 일 예 및 간편인증을 수행하는 예들을 상세히 살펴본다.Hereinafter, an example of registering a PIN number of a user and an example of performing simple authentication will be described in detail with reference to FIGS. 3 to 5.

도 3은 일 실시예에 PIN 번호를 등록하는 일 예를 설명하는 도이다.3 is a diagram illustrating an example of registering a PIN number in an embodiment.

도 3을 참고하면, 단계 300에서 사용자가 PIN등록을 요청하면 단말(200)은 단계 301에서, PIN등록유무를 판단한다. 만약 PIN이 등록되어 있다면 바로 PIN인증 단계로 진행한다. 한편, PIN 인증단계는 도 4 및 도 5에 관한 설명에서 상세히 후술한다.Referring to FIG. 3, when the user requests PIN registration in step 300, the terminal 200 determines in step 301 whether a PIN is registered. If the PIN is registered, the process proceeds immediately to the PIN authentication step. Meanwhile, the PIN authentication step will be described later in detail with reference to FIGS. 4 and 5.

단계 301에서 PIN등록이 되어있지 않다고 판단되면, 단말(200)은 단계 303으로 진행하여 본인인증 또는 ID/PW인증을 수행한다. 그리고, 인증 결과를 기반으로 획득된 사용자 정보를 서버(100)로 전송한다. 여기서 사용자 정보는 CI 또는 사용자 ID에 연동되거나 기간계 시스템을 통해 조회 되는 정보일 수 있다.If it is determined in step 301 that the PIN is not registered, the terminal 200 proceeds to step 303 to perform identity authentication or ID / PW authentication. Then, the user information obtained based on the authentication result is transmitted to the server 100. Here, the user information may be information linked to a CI or a user ID or searched through a periodic system.

단계 304에서 서버는 PIN 등록을 위한 사용자 정보를 기초로 등록토큰을 생성한다. 여기서 등록토큰은 사용자의 브라우저 정보에 호스트네임 및 타임스탬프가 결합된 형태로 해시 암호화된 데이터일 수 있다.In step 304, the server generates a registration token based on the user information for PIN registration. Here, the registration token may be hash-encrypted data in the form of a host name and a time stamp combined with the user's browser information.

그리고 단계 305에서 PIN번호 정책을 조회한다. 단계 306에서 사용자 정보를 이용하여 공개키 및 개인키를 생성한다. 그리고 단계 307에서 사용자 정보를 기초로 PIN사용자키를 생성한다. 예를 들면 PIN 사용자키는 사용자 정보에 브라우저 정보와 서비스도메인 정보가 추가된 데이터일 수 있다. 따라서, 사용자키는 단말(200)에서 생성되어 서버(100)로 전달될 수도 있다. Then, in step 305, the PIN number policy is queried. In step 306, a public key and a private key are generated using the user information. Then, in step 307, a PIN user key is generated based on the user information. For example, the PIN user key may be data in which browser information and service domain information are added to the user information. Accordingly, the user key may be generated in the terminal 200 and transmitted to the server 100.

단계 308에서, 서버는 생성된 등록토큰 및 개인키는 세션에 저장하고, PIN번호 정책, 공개키, 세션키 및 PIN 사용자키를 단말로 전송한다.In step 308, the server stores the generated registration token and private key in the session, and transmits the PIN number policy, public key, session key, and PIN user key to the terminal.

단계 309에서 단말(200)은 사용자로부턴 PIN 번호를 입력 받는다. 단계 310에서 단말(200)은 수신한 PIN번호 정책에 따른 PIN번호가 입력되어 있는지 확인 한다. 예컨대, 동일 숫자 또는 연속숫자가 기준에 부합하지 않는 경우 오류로 판단하여 단계 309를 반복한다.In step 309, the terminal 200 receives a PIN number from the user. In step 310, the terminal 200 checks whether a PIN number is input according to the received PIN number policy. For example, if the same number or consecutive numbers do not meet the criteria, it is determined as an error and step 309 is repeated.

단계 311에서, PIN번호 정책에 부합하는 PIN번호 데이터는 공개키 기반으로 암호화 된다. 또한 단말(200)은 공개키 기반으로 암호화 된 PIN사용자키, PIN번호, 등록토큰 및 세션키를 다시 서버로 전달한다. 이때, 단말(200)과 서버(100) 사이에 SSL통신이 사용되어 보안이 강화 될 수 있다.In step 311, PIN number data conforming to the PIN number policy is encrypted based on the public key. In addition, the terminal 200 transmits the encrypted PIN user key, PIN number, registration token, and session key back to the server based on the public key. At this time, SSL communication may be used between the terminal 200 and the server 100 to enhance security.

단계 312에서 서버(100)는 수신된 세션키에 대응하는 개인키를 이용하여 수신한 데이터를 복호화 할 수 있다.In step 312, the server 100 may decrypt the received data using the private key corresponding to the received session key.

단계 313에서 서버(100)는 등록토큰을 체크한다. 예를 들면, 브라우저, 호스트네임 등록 정보를 기초로 등록토큰이 재사용 되었는지 확인하거나, 타임스템프를 이용하여 유효시간이 경과 되었는지 체크 한다. 만약 재사용이 확인된다면 단계 314로 진행하여 세션을 삭제하고 단계 315에서 PIN등록 절차를 종?한다.In step 313, the server 100 checks the registration token. For example, check whether the registration token has been reused based on the browser and hostname registration information, or check if the validity time has elapsed using a timestamp. If reuse is confirmed, proceed to step 314 to delete the session and terminate the PIN registration procedure in step 315.

한편, 서버(100)는 단계 316에서 한번 더 PIN 번호 정책을 확인한뒤 단계 317에서 PIN번호 관련 기타 정책을 체크한다. 예컨대 생년월일, 휴대폰번호가 포함되어 있는지를 기간계 시스템의 등록 정보를 통해서 조회 할 수 있다.Meanwhile, the server 100 checks the PIN number policy once more in step 316 and then checks other policies related to the PIN number in step 317. For example, the date of birth and whether the mobile phone number is included can be inquired through the registration information of the periodic system.

PIN 번호 관련 기타정책 체크를 통과하면 단계 318에서 세션을 삭제하고 단계 319 및 단계 320으로 진행하여 PIN사용자키에 대한 등록토큰 및 PIN번호를 저장한다. If the other policy check related to the PIN number is passed, the session is deleted in step 318 and the process proceeds to steps 319 and 320 to store the registration token and PIN number for the PIN user key.

다음으로 PIN사용자키, PIN번호, 인증정책은 단말(200)로 전달되며, 단계 321에서 웹스토리지의 지원여부에 따라 웹스토리지에 저장되거나(322) 쿠키에 저장되며(323), 저장이 완료되면 단계 324에서 PIN등록 절차가 종료된다. 한편, PIN사용자키는 암호화 알고리즘으로 암호화 되고, PIN번호는 해시 암호화 될 수 있다. Next, the PIN user key, PIN number, and authentication policy are transferred to the terminal 200, and stored in the web storage (322) or stored in a cookie (323), or completed when the storage is completed in step 321. In step 324, the PIN registration process ends. Meanwhile, the PIN user key may be encrypted by an encryption algorithm, and the PIN number may be hash encrypted.

상술한 바에 따라서 PIN 번호 등록이 완료되면 다음으로, 도 4 또는 도 5를 후술하는 일 실시예에 따라 등록된 PIN번호로 인증이 수행될 수 있다. 도 4는 서버(100)가 1차 인증을 수행하고 단말(200)이 검증을 수행하는 방법을 나타내며, 도 5는 단말(200)이 1차 인증을 수행하고 서버(100)가 검증을 수행하는 방법을 설명한다. 한편, 후술하는 동작에서 일부 간편인증 절차는 블록체인을 이용하여 구현될 수 있음을 본 발명이 속하는 기술분야의 당업자에게는 자명할 것이다.When the PIN number registration is completed according to the above, next, authentication may be performed with the registered PIN number according to an embodiment described later with reference to FIGS. 4 or 5. 4 shows how the server 100 performs primary authentication and the terminal 200 performs verification, and FIG. 5 shows how the terminal 200 performs primary authentication and the server 100 performs verification. Explain how. On the other hand, it will be apparent to those skilled in the art to which the present invention pertains that some simple authentication procedures may be implemented using a blockchain in the operation described below.

도 4는 일 실시예에 따라 웹스토리지를 이용한 간편인증을 수행하는 일 예를 설명하는 순서도이다.4 is a flowchart illustrating an example of performing simple authentication using web storage according to an embodiment.

도 4를 참조하면, 단계 400에서 PIN 인증 절차가 시작된다. 단계 401 내지 단계 409를 통해 PIN번호 등록이 필요한지 판단한다. 우선 단계 401에서 서버(100)는 인증정책을 조회하여 단말(200)에 전달하고, 단말(200)은 사용자키를 조회하여 단계 403에서 PIN등록여부를 판단한다. 만약 PIN 번호가 웹스토리지에 등록되어 있다면 서버(100)에서는 PIN등록이 해지되었거나(404) 유효기간이 만료(405)되었는지 확인하고 이에 따라 PIN번호를 해지(406)하고 해지로그를 저장(407)한뒤 최종적으로 단말(200)에서 PIN을 해지(408)하고 단계 409에서 PIN등록 절차를 다시 진행할 수 있다.4, the PIN authentication process is started in step 400. In step 401 to step 409, it is determined whether PIN number registration is required. First, in step 401, the server 100 queries the authentication policy and delivers it to the terminal 200, and the terminal 200 queries the user key to determine whether PIN registration is performed in step 403. If the PIN number is registered in the web storage, the server 100 checks whether the PIN registration has been revoked (404) or the expiration date has expired (405), and thus the PIN number is revoked (406) and the termination log is stored (407). After that, finally, the PIN is revoked (408) at the terminal 200 and the PIN registration procedure may be performed again at step 409.

단계 410에서는 PIN등록이 확인되면, 서버(100)는 간편인증을 위한 인증토큰을 생성하여 세션에 저장하고 또 단말(200)로 전달한다. 여기서 인증토큰은 호스트네임, 아이피, 타임스템프가 결합된 형태의 데이터일 수 있다.In step 410, when PIN registration is confirmed, the server 100 generates an authentication token for simple authentication, stores it in a session, and transmits it to the terminal 200. Here, the authentication token may be a combination of host name, IP, and time stamp.

단말(200)은 인증토큰이 수신되면 단계 411에서 사용자로부터 PIN번호를 입력받고, 단계 412에서 공개키를 요청한다. When the authentication token is received, the terminal 200 receives the PIN number from the user in step 411 and requests the public key in step 412.

단계 413에서, 서버(100)는 사용자키를 기초로 공개키 및 개인키를 생성하되, 공개키 및 개인키를 생성하여 세션에 저장하고 세션에 대응하는 세션키 및 공개키를 단말(200)에 전달한다.In step 413, the server 100 generates a public key and a private key based on the user key, but generates a public key and a private key and stores it in a session, and stores the session key and the public key corresponding to the session in the terminal 200 To deliver.

단계 414에서, 단말(200)이 상기 수신한 공개키를 이용하여, 사용자가 입력한 PIN 번호 데이터를 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송한다.In step 414, the terminal 200 encrypts the PIN number data input by the user using the received public key, and transmits the encrypted data to the server along with the received session key.

단계 415에서, 서버(100)는 상기 수신된 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호화 하고, 단계 416에서 PIN 인증시도 횟수가 초과 되었는지 확인한다. 만약 PIN인증시도 횟수가 초과되었다면 단계 417 내지 421을 수행하여 PIN 인증을 종료한다.In step 415, the server 100 decrypts the PIN number data using the private key corresponding to the received session key, and checks in step 416 whether the number of PIN authentication attempts has been exceeded. If the number of PIN authentication attempts has been exceeded, steps 417 to 421 are performed to end PIN authentication.

단계 422에서, PIN 인증 시도 횟수를 증가시키고 단계 423에서 PIN번호가 서버(100)에 저장된 PIN번호와 일치하는지 확인하는 1차 인증을 수행한다. 동일한 동작은 단계425의 단말(200) 및/또는 서버(100)에서 수행될 수 있다. 만약 PIN번호가 일치하지 않는다면 단계 424에서 인증 실패로그를 저장하고 다시 단계 411의 PIN번호 입력 단계를 반복한다. 만약 1차인증이 통과되면, 단말(200)은 인증토큰을 서버에서 수신하였던 공개키를 이용하여 암호화 하고, 암호화된 데이터를 기 수신한 세션키와 함께 서버로 전송한다.In step 422, the number of PIN authentication attempts is increased, and in step 423, primary authentication is performed to check whether the PIN number matches the PIN number stored in the server 100. The same operation may be performed in the terminal 200 and / or the server 100 in step 425. If the PIN numbers do not match, the authentication failure log is stored in step 424 and the PIN number input step of step 411 is repeated. If the primary authentication passes, the terminal 200 encrypts the authentication token using the public key received from the server, and transmits the encrypted data to the server along with the previously received session key.

단계 426에서 서버(100)는 인증 토큰을 체크한다. 예를들면 인증토큰 재사용 또는 인증 유효시간이 경과하였는지 2차 인증을 수행한다.In step 426, the server 100 checks the authentication token. For example, the second authentication is performed whether the authentication token is reused or the validity time of the authentication has elapsed.

만약 체크를 통과하지 못하면 세션을 삭제하고(단계 427) 인증실패로그를 저장한뒤(단계 428) PIN인증을 종료한다(단계 429). 서버(100)는 인증 토큰 체크가 통과되면 세션을 삭제(단계 430)하되 인증토큰을 별도로 저장(단계 431)하고, 인증시도 횟수를 초기화(단계 432)한다. 단계 433에서, 최종적으로 PIN번호 간편인증을 통한 단말(200)의 로그인이 완료된다. If the check fails, the session is deleted (step 427), the authentication failure log is stored (step 428), and PIN authentication is terminated (step 429). When the authentication token check passes, the server 100 deletes the session (step 430) but separately stores the authentication token (step 431) and initializes the number of authentication attempts (step 432). In step 433, finally, the login of the terminal 200 through the simple authentication of the PIN number is completed.

도 5는 일 실시예에 따라 웹스토리지를 이용한 간편인증을 수행하는 다른 예를 설명하는 순서도이다.5 is a flowchart illustrating another example of performing simple authentication using web storage according to an embodiment.

단계 500에서 PIN 인증이 시작되면, 단계 501에서 PIN등록 유무를 판단하고 PIN 등록이 되어 있지 않다면 단계 502로 진행하여 도 3에 상술된 등록단계를 진행한다.If PIN authentication is started in step 500, it is determined in step 501 whether a PIN is registered, and if PIN registration is not performed, the process proceeds to step 502 and the registration step described in FIG.

단계 503에서, PIN 등록이 된것으로 확인되면 웹스토리지 또는 쿠키에 저장되어 있는 사용자키를 조회하여 서버로 전달한다. 서버(100)는 단계 504에서 PIN 등록이 해지되었는지 체크하고, 단계 505에서 PIN번호 유효기간을 체크한다.In step 503, if it is confirmed that the PIN is registered, the user key stored in the web storage or cookie is inquired and transmitted to the server. In step 504, the server 100 checks whether the PIN registration has been canceled, and in step 505, the PIN number validity period is checked.

만약 PIN 등록이 해지되었거나 해지되었다면 단계 506 내지 509를 통해 PIN 등록 절차를 수행한다.If the PIN registration is canceled or canceled, the PIN registration process is performed through steps 506 to 509.

단계 510에서는 PIN등록이 확인되면, 서버(100)는 간편인증을 위한 인증토큰을 생성하여 세션에 저장하고 또 단말(200)로 전달한다. 여기서 인증토큰은 호스트네임, 아이피, 타임스템프가 결합된 형태의 데이터일 수 있다.In step 510, when PIN registration is confirmed, the server 100 generates an authentication token for simple authentication, stores it in a session, and transmits it to the terminal 200. Here, the authentication token may be a combination of host name, IP, and time stamp.

단말(200)은 인증토큰이 수신되면 단계 511에서 사용자로부터 PIN번호를 입력받고, 단계 512에서 공개키를 요청한다. When the authentication token is received, the terminal 200 receives the PIN number from the user in step 511, and requests the public key in step 512.

단계 513에서, 서버(100)는 사용자키를 기초로 공개키 및 개인키를 생성하되, 공개키 및 개인키를 생성하여 세션에 저장하고 세션에 대응하는 세션키 및 공개키를 단말(200)에 전달한다.In step 513, the server 100 generates a public key and a private key based on the user key, but generates the public key and the private key in a session and stores the session key and the public key corresponding to the session in the terminal 200 To deliver.

단계 514에서, 단말(200)이 상기 수신한 공개키를 이용하여, 사용자가 입력한 PIN 번호 데이터를 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송한다.In step 514, the terminal 200 encrypts the PIN number data input by the user using the received public key, and transmits the encrypted data to the server along with the received session key.

단계 515에서, 서버(100)는 상기 수신된 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호화 하고, 단계 516에서 PIN 인증시도 횟수가 초과 되었는지 확인한다. 만약 PIN인증시도 횟수가 초과되었다면 단계 517 내지 522을 수행하여 PIN 인증을 종료한다.In step 515, the server 100 decrypts the PIN number data using the private key corresponding to the received session key, and checks in step 516 whether the number of PIN authentication attempts has been exceeded. If the number of PIN authentication attempts has been exceeded, steps 517 to 522 are performed to end PIN authentication.

단계 523에서 서버(100)는 복호화된 PIN번호를 해시 암호화 하여 단말(200)로 전송한다. 단계 524에서 단말(200)은 수신된 PIN번호화 저장된 PIN번호가 일치하는지 체크한다. 만약 PIN번호가 일치하지 않는다면 단계 532에서 인증 실패로그를 저장하고 다시 단계 511의 PIN번호 입력 단계를 반복한다. 만약 1차인증이 통과되면, 단말(200)은 서버에서 수신하였던 사용자키, PIN번호, 인증토큰을 공개키를 이용하여 암호화 하고, 암호화된 데이터를 기 수신한 세션키와 함께 서버로 전송한다.In step 523, the server 100 hashes the decrypted PIN number and transmits it to the terminal 200. In step 524, the terminal 200 checks whether the received PIN number and the stored PIN number match. If the PIN numbers do not match, the authentication failure log is stored in step 532 and the PIN number input step of step 511 is repeated. If the primary authentication passes, the terminal 200 encrypts the user key, PIN number, and authentication token received from the server using the public key, and transmits the encrypted data to the server along with the previously received session key.

단계 526에서 서버(100)는 세션키에 대응하는 개인키를 이용하여 인증 토큰, 사용자키, PIN번호를 복호화 하고 단계 527에서 서버(100)는 인증 토큰을 체크한다. 예를들면 인증토큰 재사용 또는 인증 유효시간이 경과하였는지 2차 인증을 수행한다.In step 526, the server 100 decrypts the authentication token, user key, and PIN number using the private key corresponding to the session key, and in step 527, the server 100 checks the authentication token. For example, the second authentication is performed whether the authentication token is reused or the validity time of the authentication has elapsed.

만약 체크를 통과하지 못하면 세션을 삭제하고(단계 528) 인증실패로그를 저장한뒤(단계 529) PIN인증을 종료한다(단계 530). 서버(100)는 인증 토큰 체크가 통과되면, PIN번호 체크를 수행한 뒤(단계 531), 체크를 통과하지 못한다면 인증실패 로그를 저장(단계 532)하고 체크를 통과한다면 세션을 삭제(단계 533)한다. 서버(100)는 인증토큰을 별도로 저장(단계 534)하고, 인증시도 횟수를 초기화(단계 535)한다. 단계 536에서, 최종적으로 PIN번호 간편인증을 통한 단말(200)의 로그인이 완료된다.If the check fails, the session is deleted (step 528), the authentication failure log is stored (step 529), and PIN authentication is terminated (step 530). If the authentication token check passes, the server 100 performs a PIN number check (step 531), and if the check fails, the authentication failure log is stored (step 532) and if the check passes, the session is deleted (step 533). do. The server 100 stores the authentication token separately (step 534) and initializes the number of authentication attempts (step 535). In step 536, finally, the login of the terminal 200 through the simple authentication of the PIN number is completed.

도 6은 일 실시예에 따른 서버(100)의 내부 구성을, 도 7은 일 실시예에 따른 단말(200)의 내부 구성을 개략적으로 나타낸 블록 도이다.6 is a block diagram schematically showing the internal configuration of the server 100 according to an embodiment, and FIG. 7 is a schematic view showing the internal configuration of the terminal 200 according to an embodiment.

도 6 및 도 7에는 본 발명의 일 실시 예를 설명하기 위해 필요한 구성만이 도시되었으나, 디스플레이 장치 등 다양한 구성이 더 포함될 수 있다. 또한 도 6 및 도 7에 대한 설명에서 생략되더라도 도 1 내지 5에서 상술된 방법을 수행하기 위해 필요한 구성이 더 포함 될 수 있음을 본 발명이 속하는 분야의 통상의 기술자에게는 자명하다. 6 and 7, only the components necessary for explaining an embodiment of the present invention are shown, but various components such as a display device may be further included. In addition, although omitted from the description of FIGS. 6 and 7, it is apparent to those skilled in the art that the present invention may further include a configuration necessary to perform the method described in FIGS. 1 to 5.

도 6을 참조하면 일 실시예에 따른 서버(100)는, 프로세서(130), 메모리(140) 및 통신부(150)를 포함할 수 있다. 간편인증을 수행하는 서버(100)의 동작은 메모리(140)에 저장된 프로그램을 프로세서(130)를 통해서 실행시킴으로써 수행될 수 있다. Referring to FIG. 6, the server 100 according to an embodiment may include a processor 130, a memory 140, and a communication unit 150. The operation of the server 100 performing simple authentication may be performed by executing a program stored in the memory 140 through the processor 130.

일 실시예에 따른 프로세서(130)에서 수행되는 연산은, 수신된 사용자키에 기초하여 인증토큰, 공개키 및 개인키를 생성하여 세션에 저장하고, 상기 세션에 대응하는 세션키, 상기 인증토큰 및 상기 공개키를 단말에 전송하고, 상기 단말로부터 암호화된 데이터와 세션키를 수신하면 수신된 세션키에 대응하는 개인키를 이용하여 상기 PIN 번호 데이터를 복호화 하여 간편인증을 수행할 수 있다.The operation performed by the processor 130 according to an embodiment generates an authentication token, a public key, and a private key based on the received user key and stores it in a session, the session key corresponding to the session, the authentication token, and When the public key is transmitted to the terminal and the encrypted data and the session key are received from the terminal, simple authentication can be performed by decrypting the PIN number data using the private key corresponding to the received session key.

또한, 프로세서(130)는 수신된 세션키를 통해 불러온 개인키를 기초로 암호화된 PIN 번호 데이터를 복원하여 1차 인증을 진행 할수도 있다. In addition, the processor 130 may perform the primary authentication by restoring the encrypted PIN number data based on the private key retrieved through the received session key.

또한, 프로세서(130)는 개인키를 기초로 복원한 인증토큰과 상기 세션에 저장된 인증토큰을 비교하여 2차 인증을 수행한 뒤 세션을 삭제하는 동작을 수행할 수 있다.In addition, the processor 130 may perform an operation of deleting the session after performing the second authentication by comparing the authentication token restored based on the private key and the authentication token stored in the session.

또한, 프로세서(130)는 상기 복원된 PIN번호가 비매칭 될때마다 인증시도 횟수를 갱신하고, 상기 인증시도 횟수가 소정 개수 이상 증가하는경우 상기 서버 및/또는 단말에 저장된 PIN번호 데이터를 삭제할 수 있다.In addition, the processor 130 may update the number of authentication attempts whenever the restored PIN number is mismatched, and delete the PIN number data stored in the server and / or terminal when the number of authentication attempts increases by a predetermined number or more. .

일 실시 예에서, 통신부(150)는, 단말(200)과 또는 다른 서버 또는 다른 외부 장치간의 무선 또는 유선 통신을 수행할 수 있다. 예를 들면 통신부(150)는 단말(200)과 SSL방식으로 암호화 통신을 수행할 수 있으며, 공개키 및 암호화된 데이터를 전달할 수 있다.In one embodiment, the communication unit 150 may perform wireless or wired communication between the terminal 200 and another server or other external device. For example, the communication unit 150 may perform encrypted communication with the terminal 200 in an SSL method, and may transmit a public key and encrypted data.

도 7을 참조하면 일 실시예에 따른 단말(200)은, 프로세서(230), 메모리(240), 통신부(250) 및 입력부(260)를 포함할 수 있다. 간편인증 단말(200)의 동작은 메모리(240)에 저장된 프로그램을 프로세서(230)를 통해서 실행시킴으로 수행될 수 있다. Referring to FIG. 7, the terminal 200 according to an embodiment may include a processor 230, a memory 240, a communication unit 250, and an input unit 260. The operation of the simple authentication terminal 200 may be performed by executing a program stored in the memory 240 through the processor 230.

일 실시예에 따른 프로세서(230)에서 수행되는 연산은, 사용자키에 기초하여 공개키 발행을 요청하고, 서버에서 수신한 공개키를 이용하여, 사용자가 입력한 PIN 번호 데이터를 암호화 하고, 암호화된 데이터를 상기 수신된 세션키와 함께 서버로 전송하는 연산을 포함할 수 있다. 상기 사용자키 및 PIN번호는 단말의 웹스토리지에 저장되어 기기 또는 브라우저별로 다르게 설정될 수 있다.The operation performed by the processor 230 according to an embodiment requests a public key issuance based on the user key, encrypts the PIN number data entered by the user, and uses the public key received from the server to encrypt the data. It may include an operation of transmitting data to the server along with the received session key. The user key and PIN number may be stored in the web storage of the terminal and set differently for each device or browser.

다른예로, 프로세서(230)는 인증토큰을 공개키를 이용하여 암호화 하고, 암호화된 데이터를 서버(100)로부터 수신된 세션키와 함께 서버로 전송 할 수 있다.As another example, the processor 230 may encrypt the authentication token using a public key, and transmit the encrypted data to the server along with the session key received from the server 100.

또 다른 예로, 공개키 기반으로 암호화된 인증 데이터(사용자키 및 PIN번호)가 블록체인에 저장될 수 있다. 따라서, 프로세서(230)는 블록체인을 기반으로 사용자가 입력한 PIN번호의 인증 및 검증을 수행하여 변조가능성을 낮춤으로서 신뢰성을 높일 수도 있다.As another example, authentication data (user key and PIN number) encrypted based on the public key may be stored in the blockchain. Accordingly, the processor 230 may increase the reliability by lowering the possibility of tampering by performing authentication and verification of the PIN number input by the user based on the blockchain.

또 다른 예로, 프로세서(230)는 블록체인에 저장된 공개키를 이용하여 사용자가 입력한 PIN번호 데이터를 암호화 할 수 있다.As another example, the processor 230 may encrypt the PIN number data entered by the user using a public key stored in the blockchain.

한편, 상술한 서버(100) 및 단말(200)은 하나 이상의 프로세서(130, 230) 및/또는 하나 이상의 메모리(140, 240)을 포함할 수 있다. 또한, 메모리(140, 240)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 하나 이상의 메모리(140, 240)는, 하나 이상의 프로세서(130, 230)에 의한 실행 시, 하나 이상의 프로세서(130, 230)가 연산을 수행하도록 하는 명령들을 저장할 수 있다. 본 개시에서, 프로그램 내지 명령은 메모리(140, 240)에 저장되는 소프트웨어로서, 서버(100)의 리소스를 제어하기 위한 운영체제, 어플리케이션 및/또는 어플리케이션이 장치의 리소스들을 활용할 수 있도록 다양한 기능을 어플리케이션에 제공하는 미들 웨어 등을 포함할 수 있다.Meanwhile, the server 100 and the terminal 200 described above may include one or more processors 130 and 230 and / or one or more memories 140 and 240. Also, the memory 140 and 240 may include volatile and / or nonvolatile memory. The one or more memories 140 and 240 may store instructions that, when executed by the one or more processors 130 and 230, cause the one or more processors 130 and 230 to perform operations. In the present disclosure, programs or commands are software stored in the memory 140 and 240, and various functions are applied to applications so that an operating system, applications, and / or applications for controlling the resources of the server 100 can utilize resources of the device. It may include middleware provided.

하나 이상의 프로세서(130, 230)는, 소프트웨어(예: 프로그램, 명령)를 구동하여 프로세서(130, 230)에 연결된 서버(100) 및 단말(200)의 적어도 하나의 구성요소를 제어할 수 있다. 또한 프로세서(130, 230)는 본 개시와 관련된 다양한 연산, 처리, 데이터 생성, 가공 등의 동작을 수행할 수 있다. 또한 프로세서(130, 230)는 데이터 등을 메모리(140, 240)로부터 로드하거나, 메모리(140, 240)에 저장할 수 있다The one or more processors 130 and 230 may control at least one component of the server 100 and the terminal 200 connected to the processors 130 and 230 by driving software (eg, programs and instructions). Also, the processors 130 and 230 may perform various operations related to the present disclosure, such as processing, data generation, and processing. Also, the processor 130 or 230 may load data or the like from the memory 140 or 240 or store the data in the memory 140 or 240.

일 실시예에서는, 서버(100) 및 단말(200)의 구성요소들 중 적어도 하나가 생략되거나, 다른 구성요소가 추가될 수 있다. 또한 추가적으로(additionally) 또는 대체적으로(alternatively), 일부의 구성요소들이 통합되어 구현되거나, 단수 또는 복수의 개체로 구현될 수 있다. In one embodiment, at least one of the components of the server 100 and the terminal 200 may be omitted, or another component may be added. In addition, additionally or alternatively, some of the components may be integrated or implemented, or may be implemented as singular or plural entities.

상술한, 통신부(150, 250)는 eMBB(enhanced Mobile Broadband), URLLC(Ultra Reliable Low-Latency Communications), MMTC(Massive Machine Type Communications), LTE(long-term evolution), LTE-A(LTE Advance), UMTS(Universal Mobile Telecommunications System), GSM(Global System for Mobile communications), CDMA(code division multiple access), WCDMA(wideband CDMA), WiBro(Wireless Broadband), WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication), GPS(Global Positioning System) 또는 GNSS(global navigation satellite system) 등의 방식에 따른 무선 통신을 수행할 수 있다.As described above, the communication units 150 and 250 include enhanced Mobile Broadband (eMBB), Ultra Reliable Low-Latency Communications (URLLC), Massive Machine Type Communications (MMTC), long-term evolution (LTE), LTE Advance (LTE-A) , Universal Mobile Telecommunications System (UMTS), Global System for Mobile communications (GSM), Code division multiple access (CDMA), Wideband CDMA (WCDMA), Wireless Broadband (WiBro), Wireless fidelity (WiFi), Bluetooth (Bluetooth), NFC Wireless communication according to a method such as (near field communication), Global Positioning System (GPS) or global navigation satellite system (GNSS) may be performed.

상술한 입력부(260)는, 키보드, 마우스, 터치패드, 카메라 모듈 등 사용자의 간편인증 정보(PIN 번호)를 단말(200)에 입력하는 수단을 포함할 수 있다.The above-described input unit 260 may include means for inputting the user's simple authentication information (PIN number) to the terminal 200, such as a keyboard, mouse, touch pad, and camera module.

한편, 본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 추출가능 기록매체에 상주할 수도 있다.Meanwhile, steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, a software module executed by hardware, or a combination thereof. The software modules may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-extractable recording medium well known in the art.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.The embodiments of the present invention have been described above with reference to the accompanying drawings, but a person skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing its technical spirit or essential features. You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not restrictive.

100 : 서버
200 : 단말
100: server
200: terminal

Claims (10)

브라우저의 웹스토리지를 이용한 간편인증 방법에 있어서,
서버가 인증 요청에 따라 1회성으로 세션 및 상기 세션에 대응하는 세션키를 생성하고, 단말로부터 수신한 사용자키에 기초하여 인증토큰, 공개키 및 개인키를 생성하여 상기 세션에 저장하고, 상기 세션키, 상기 인증토큰 및 상기 공개키를 단말에 전송하는 단계;
상기 단말이 상기 수신한 공개키를 이용하여, 사용자가 입력한 PIN번호 데이터를 암호화하여 상기 수신한 세션키와 함께 상기 서버로 전송하는 단계;
상기 서버가 상기 수신한 세션키에 대응하는 세션에 저장된 개인키를 이용하여 상기 수신한 암호화된 PIN번호 데이터를 복호화하고, 복호화된 PIN번호 데이터가 웹 스토리지에 사전 저장된 PIN번호 데이터와 매칭되는지 확인하여 1차 인증을 진행하는 단계;
상기 1차 인증 결과, 매칭되는 경우, 상기 단말이 상기 수신한 공개키를 이용하여 상기 수신한 인증토큰을 암호화하여 상기 수신한 세션키와 함께 상기 서버로 전송하는 단계;
상기 서버가 상기 수신한 세션키에 대응하는 세션에 저장된 개인키를 이용하여 상기 수신한 암호화된 인증토큰이 상기 세션에 저장된 인증토큰과 매칭되는지 확인하여 2차 인증을 진행하는 단계; 및
상기 서버가 상기 2차 인증이 완료되면 상기 세션 및 상기 세션키를 삭제하는 단계를 포함하고,
상기 사용자키 및 상기 PIN번호 데이터는 웹스토리지에 저장되어 기기 또는 브라우저별로 다르게 설정되는 것이고,
상기 인증토큰, 공개키, 개인키, 세션 및 세션키는 인증 요청시마다 1회성으로 생성되는 것인 방법.
In the simple authentication method using the web storage of the browser,
The server generates a session key corresponding to the session and the session one-time according to an authentication request, and generates an authentication token, a public key, and a private key based on the user key received from the terminal and stores the session key in the session. Transmitting a key, the authentication token and the public key to a terminal;
Encrypting the PIN number data input by the user by using the public key received by the terminal and transmitting it to the server together with the received session key;
The server decrypts the received encrypted PIN number data using the private key stored in the session corresponding to the received session key, and checks whether the decrypted PIN number data matches the PIN number data previously stored in the web storage. Performing the first authentication;
The result of the primary authentication, when matching, the terminal encrypts the received authentication token using the received public key and transmits the received authentication key to the server together with the received session key;
Performing secondary authentication by confirming whether the received encrypted authentication token matches the authentication token stored in the session using the private key stored in the session corresponding to the received session key by the server; And
And when the second authentication is completed by the server, deleting the session and the session key.
The user key and the PIN number data is stored in web storage and is set differently for each device or browser,
The authentication token, a public key, a private key, a session and a session key are generated once for each authentication request.
삭제delete 제1항에 있어서, 상기 사용자키는 암호화 알고리즘으로 암호화되고, PIN번호는 해시 암호화되어 상기 웹스토리지에 저장되는 것인 방법.
The method of claim 1, wherein the user key is encrypted with an encryption algorithm, and the PIN number is hash encrypted and stored in the web storage.
삭제delete 제1항에 있어서, 상기 공개키를 단말에 전송하는 단계는,
상기 단말은 상기 웹스토리지에 상기 사용자키가 저장되어 있는지 판단하는 단계; 및
상기 사용자키가 저장되어 있지 않은 경우, 사용자로부터 PIN번호를 등록 받는 단계를 더 포함하는 방법.
The method of claim 1, wherein the step of transmitting the public key to the terminal,
The terminal determining whether the user key is stored in the web storage; And
If the user key is not stored, the method further comprising the step of registering a PIN number from the user.
제1항에 있어서,
상기 서버는 상기 1차 인증 결과, 비매칭되는 경우, 인증시도 횟수를 갱신하고, 상기 인증시도 횟수가 소정값 이상이면 상기 서버에 사전 저장된 PIN번호 데이터를 삭제하는 것인 방법.
According to claim 1,
The server is a result of the first authentication, if it is mismatched, the number of authentication attempts is updated, and if the number of authentication attempts is greater than or equal to a predetermined value, the PIN number data stored in the server is deleted.
웹스토리지를 이용한 간편인증 시스템에 있어서,
인증 요청에 따라 1회성으로 세션 및 상기 세션에 대응하는 세션키를 생성하고, 단말로부터 수신한 사용자키에 기초하여 인증토큰, 공개키 및 개인키를 생성하여 상기 세션에 저장하고, 상기 세션키, 상기 인증토큰 및 상기 공개키를 단말에 전송하고, 상기 단말로부터 암호화된 PIN번호 데이터와 세션키를 수신하면 수신한 세션키에 대응하는 세션에 저장된 개인키를 이용하여 상기 암호화된 PIN번호 데이터를 복호화하고, 복호화된 PIN번호 데이터가 웹스토리지에 사전 저장된 PIN번호 데이터와 매칭되는지 확인하여 1차 인증을 진행하고, 상기 단말로부터 암호화된 인증토큰과 세션키를 수신하면 수신한 세션키에 대응하는 세션에 저장된 개인키를 이용하여 상기 수신한 암호화된 인증토큰이 상기 세션에 저장된 인증토큰과 매칭되는지 확인하여 2차 인증을 진행하고, 상기 2차 인증이 완료되면 상기 세션 및 상기 세션키를 삭제하는, 서버; 및
상기 서버로 사용자키에 기초하여 공개키 발행을 요청하고, 상기 서버에서 수신한 공개키를 이용하여, 사용자가 입력한 PIN번호 데이터를 암호화하여 상기 수신된 세션키와 함께 상기 서버로 전송하고, 상기 1차 인증 결과, 매칭되는 경우, 상기 수신한 공개키를 이용하여 상기 수신한 인증토큰을 암호화하여 상기 수신한 세션키와 함께 상기 서버로 전송하는, 단말을 포함하고,
상기 사용자키 및 상기 PIN번호 데이터는 웹스토리지에 저장되어 기기 또는 브라우저별로 다르게 설정되는 것이고,
상기 인증토큰, 공개키, 개인키, 세션 및 세션키는 인증 요청시마다 1회성으로 생성되는 것인 시스템.
In the simple authentication system using web storage,
Generates a session key corresponding to the session and the session one-time according to an authentication request, generates an authentication token, a public key, and a private key based on the user key received from the terminal and stores it in the session, and stores the session key, When the authentication token and the public key are transmitted to the terminal, and the encrypted PIN number data and session key are received from the terminal, the encrypted PIN number data is decrypted using the private key stored in the session corresponding to the received session key. Then, it checks whether the decrypted PIN number data matches the PIN number data pre-stored in the web storage and proceeds with the first authentication. Upon receiving the encrypted authentication token and session key from the terminal, it connects to the session corresponding to the received session key. A server that performs secondary authentication by confirming whether the received encrypted authentication token matches the authentication token stored in the session using the stored private key, and deletes the session and the session key when the secondary authentication is completed. ; And
Requesting to issue a public key based on the user key to the server, encrypting the PIN number data entered by the user using the public key received from the server, and transmitting it to the server together with the received session key. The first authentication result, if matched, includes a terminal that encrypts the received authentication token using the received public key and transmits the received authentication key together with the received session key to the server,
The user key and the PIN number data is stored in web storage and is set differently for each device or browser,
The authentication token, the public key, the private key, the session and the session key are generated once for each authentication request.
삭제delete 제7항에 있어서,
상기 서버는 상기 1차 인증 결과, 비매칭되는 경우, 인증시도 횟수를 갱신하고, 상기 인증시도 횟수가 소정값 이상이면 상기 서버에 사전 저장된 PIN번호 데이터를 삭제하는 시스템.
The method of claim 7,
The server updates the number of authentication attempts when the first authentication result is mismatched, and deletes PIN number data previously stored in the server when the number of authentication attempts is greater than or equal to a predetermined value.
하드웨어인 컴퓨터와 결합되어, 제1항, 제3항, 제5항 및 제6항 중 어느 한 항의 방법을 실행시키기 위하여 기록매체에 저장된, 간편인증 프로그램.A simple authentication program stored in a recording medium to execute the method of any one of claims 1, 3, 5, and 6 in combination with a computer that is hardware.
KR1020190125975A 2019-10-11 2019-10-11 A method and system for simple authentication by using web storage KR102101719B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020190125975A KR102101719B1 (en) 2019-10-11 2019-10-11 A method and system for simple authentication by using web storage
EP20873442.6A EP4044499A4 (en) 2019-10-11 2020-09-14 Simple authentication method and system using web storage of browser
PCT/KR2020/012396 WO2021071116A1 (en) 2019-10-11 2020-09-14 Simple authentication method and system using web storage of browser
SG11202107607WA SG11202107607WA (en) 2019-10-11 2020-09-14 Simple authentication method and system using browser web storage
JP2021540594A JP7212169B2 (en) 2019-10-11 2020-09-14 SIMPLE AUTHENTICATION METHOD AND SYSTEM USING BROWSER WEB STORAGE
CN202080007983.5A CN113272810B (en) 2019-10-11 2020-09-14 Simple authentication method and system for web page memory using browser
US17/369,342 US11271744B2 (en) 2019-10-11 2021-07-07 Simple authentication method and system using browser web storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190125975A KR102101719B1 (en) 2019-10-11 2019-10-11 A method and system for simple authentication by using web storage

Publications (1)

Publication Number Publication Date
KR102101719B1 true KR102101719B1 (en) 2020-05-29

Family

ID=70911502

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190125975A KR102101719B1 (en) 2019-10-11 2019-10-11 A method and system for simple authentication by using web storage

Country Status (1)

Country Link
KR (1) KR102101719B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021071116A1 (en) * 2019-10-11 2021-04-15 (주)소프트제국 Simple authentication method and system using web storage of browser
WO2024019217A1 (en) * 2022-07-22 2024-01-25 주식회사 블록체인기술연구소 Did and biometric information-based private key reconstructing system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100109008A (en) * 2009-03-31 2010-10-08 루멘소프트 (주) System for creating one time password being possibled media both direction communication and transfer method therefor
KR20120037314A (en) * 2010-10-11 2012-04-19 서정훈 Online credit card issue system and method using user identity authentication device
KR20150005789A (en) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 Method for Authenticating by using Certificate
KR101666374B1 (en) 2015-02-13 2016-10-14 크루셜텍 (주) Method, apparatus and computer program for issuing user certificate and verifying user
KR101879758B1 (en) * 2017-06-14 2018-08-17 주식회사위즈베라 Method for Generating User Digital Certificate for Individual User Terminal and for Authenticating Using the Same Digital Certificate

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100109008A (en) * 2009-03-31 2010-10-08 루멘소프트 (주) System for creating one time password being possibled media both direction communication and transfer method therefor
KR20120037314A (en) * 2010-10-11 2012-04-19 서정훈 Online credit card issue system and method using user identity authentication device
KR20150005789A (en) * 2013-07-05 2015-01-15 주식회사 비즈모델라인 Method for Authenticating by using Certificate
KR101666374B1 (en) 2015-02-13 2016-10-14 크루셜텍 (주) Method, apparatus and computer program for issuing user certificate and verifying user
KR101879758B1 (en) * 2017-06-14 2018-08-17 주식회사위즈베라 Method for Generating User Digital Certificate for Individual User Terminal and for Authenticating Using the Same Digital Certificate

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021071116A1 (en) * 2019-10-11 2021-04-15 (주)소프트제국 Simple authentication method and system using web storage of browser
US11271744B2 (en) 2019-10-11 2022-03-08 Swempire Co., Ltd. Simple authentication method and system using browser web storage
WO2024019217A1 (en) * 2022-07-22 2024-01-25 주식회사 블록체인기술연구소 Did and biometric information-based private key reconstructing system

Similar Documents

Publication Publication Date Title
TWI667585B (en) Method and device for safety authentication based on biological characteristics
CN109618326B (en) User dynamic identifier generation method, service registration method and login verification method
US10348706B2 (en) Assuring external accessibility for devices on a network
US8549298B2 (en) Secure online service provider communication
KR102248237B1 (en) Decentralized identifiers system using browser-based security personal identification number authentication and method thereof
CN110990827A (en) Identity information verification method, server and storage medium
WO2019109097A1 (en) Identity verification document request handling utilizing a user certificate system and user identity document repository
CN112425114A (en) Password manager protected by public-private key pair
KR102101726B1 (en) A method and system for simple authentication by using web storage based on the block chain
KR101210260B1 (en) OTP certification device
US20190327235A1 (en) External accessibility for network devices
US20110302406A1 (en) Method and system for recovering a security credential
KR102248249B1 (en) Decentralized identifiers system using a plurality of browsers and method thereof
KR20190122655A (en) Update of Biometric Data Template
CN104580256A (en) Method and device for logging in through user equipment and verifying user's identity
KR102012262B1 (en) Key management method and fido authenticator software authenticator
KR102101719B1 (en) A method and system for simple authentication by using web storage
KR101659847B1 (en) Method for two channel authentication using smart phone
JP6712707B2 (en) Server system and method for controlling a plurality of service systems
KR101856530B1 (en) Encryption system providing user cognition-based encryption protocol and method for processing on-line settlement, security apparatus and transaction approval server using thereof
US11271744B2 (en) Simple authentication method and system using browser web storage
KR101996317B1 (en) Block chain based user authentication system using authentication variable and method thereof
KR102053993B1 (en) Method for Authenticating by using Certificate
KR102117871B1 (en) A method and system for simple authentication through distributed storage of public key and private key elements
KR101708880B1 (en) Integrated lon-in apparatus and integrated log-in method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant