KR102428409B1 - User authentication device, user authentication method using security code and computer program - Google Patents

User authentication device, user authentication method using security code and computer program Download PDF

Info

Publication number
KR102428409B1
KR102428409B1 KR1020200048316A KR20200048316A KR102428409B1 KR 102428409 B1 KR102428409 B1 KR 102428409B1 KR 1020200048316 A KR1020200048316 A KR 1020200048316A KR 20200048316 A KR20200048316 A KR 20200048316A KR 102428409 B1 KR102428409 B1 KR 102428409B1
Authority
KR
South Korea
Prior art keywords
security code
input data
login
user terminal
login input
Prior art date
Application number
KR1020200048316A
Other languages
Korean (ko)
Other versions
KR20210130042A (en
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 KR1020200048316A priority Critical patent/KR102428409B1/en
Publication of KR20210130042A publication Critical patent/KR20210130042A/en
Application granted granted Critical
Publication of KR102428409B1 publication Critical patent/KR102428409B1/en

Links

Images

Classifications

    • 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
    • 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
    • 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
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords

Abstract

본 개시는 단말로부터 아이디 및 아이디와 대응되는 패스워드를 포함하는 로그인 입력 데이터를 수신하는 로그인 입력 수신부; 상기 로그인 입력 데이터의 아이디, 및 입력 시점을 기초로 제1 보안 코드를 생성하는 보안 코드 생성부; 및 상기 단말로부터 제2 보안 코드를 수신하고, 상기 사용자 인증 장치가 상기 제1 보안 코드 및 상기 제2 보안 코드 사이의 일치 여부를 판단하고, 상기 일치 여부를 고려하여 상기 로그인 입력 데이터를 처리하는 보안 코드 처리부;를 포함하는, 보안 코드를 이용하여 사용자를 인증하는 사용자 인증 장치를 개시한다. The present disclosure provides a login input receiving unit for receiving login input data including an ID and a password corresponding to the ID from a terminal; a security code generator for generating a first security code based on the ID of the login input data and the input time; and receiving a second security code from the terminal, determining whether the user authentication device matches the first security code and the second security code, and processing the login input data in consideration of the match Disclosed is a user authentication device for authenticating a user using a security code, including; code processing unit.

Description

사용자 인증 장치, 보안 코드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램{User authentication device, user authentication method using security code and computer program}User authentication device, user authentication method and computer program using a security code {User authentication device, user authentication method using security code and computer program}

본 개시는 사용자 인증 장치, 보안 코드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램에 관한 것이다. The present disclosure relates to a user authentication device, a user authentication method using a security code, and a computer program.

일반적으로 통신망에 연결되어 일정한 서비스를 제공하는 패스워드 로그인 장치(통신망에 연결되어 패스워드로 로그인 접속하며, 일정한 리소스를 사용할 수 있도록 서비스를 제공하는 서버 장치를 통칭하며, 예를들어 인터넷 포털 사이트 서버, 이메일 서버, SNS 사이트 서버, 인터넷 웹 하드디스크 서버 등)에 접속하기 위해서는 서비스 허용 인증을 위한 패스워드가 필요하다. 경우에 따라서는 아이디와 패스워드를 동시에 입력하는 것이 필요하다. 이 때 패스워드(또는 아이디와 패스워드)는 한 개인에게만 제공된 것이 보통이나, 패스워드 로그인 장치에서 제공하는 서비스 리소스 자원을 다른 사람들과 공유하여 사용할 수 있는 경우에, 소유자나 관리자 이외의 다른 사람에게 해당 패스워드 로그인 장치의 패스워드(또는 아이디와 패스워드)를 함께 공유할 필요가 있다.In general, a password login device that is connected to a communication network and provides a certain service Server, SNS site server, Internet web hard disk server, etc.) requires a password for service permission authentication. In some cases, it is necessary to enter the ID and password at the same time. At this time, the password (or ID and password) is usually provided only to one individual, but if the service resource resource provided by the password login device can be shared with others, the password is logged in to someone other than the owner or administrator. You need to share the device's password (or ID and password) together.

본 발명은 상기 기술의 문제점을 극복하기 위해 안출된 것으로, 로그인 입력 데이터와 대응되는 보안 코드를 추가적으로 입력 받아 로그인 입력에 대한 최종적인 인증 여부를 결정하는 사용자 인증 장치, 보안 코드를 이용한 사용자 인증 방법 및 컴퓨터 프로그램을 제공할 수 있다. The present invention has been devised to overcome the problems of the above technology, and includes a user authentication device that additionally receives a security code corresponding to login input data to determine whether to finally authenticate the login input, a user authentication method using a security code, and A computer program may be provided.

본 발명의 실시예들에 따른 보안 코드를 이용한 사용자 인증 방법은 사용자 인증 장치가 단말로부터 아이디 및 아이디와 대응되는 패스워드를 포함하는 로그인 입력 데이터를 수신하는 단계, 상기 사용자 인증 장치가 상기 로그인 입력 데이터의 아이디, 및 입력 시점을 기초로 제1 보안 코드를 생성하는 단계, 상기 사용자 인증 장치가 상기 단말로부터 제2 보안 코드를 수신하는 단계, 및 상기 사용자 인증 장치가 상기 제1 보안 코드 및 상기 제2 보안 코드 사이의 일치 여부를 판단하고, 상기 일치 여부를 고려하여 상기 로그인 입력 데이터를 처리하는 단계;를 포함할 수 있다. A user authentication method using a security code according to embodiments of the present invention comprises the steps of: receiving, by a user authentication device, login input data including an ID and a password corresponding to the ID from a terminal; generating a first security code based on an ID and an input time point; receiving, by the user authentication device, a second security code from the terminal; and, by the user authentication device, the first security code and the second security code and determining whether codes match, and processing the login input data in consideration of whether the codes match.

상기 제1 보안 코드는 상기 로그인 입력 데이터의 아이디에 포함된 하나 이상의 입력 단위들을 보안 코드 생성 규칙으로 변환하여 포함할 수 있다. The first security code may include one or more input units included in the ID of the login input data converted into a security code generation rule.

상기 제2 보안 코드를 수신하는 단계 이전에 보안 코드 생성 규칙을 제공하는 출력 데이터를 상기 단말로 전송하는 단계를 더 포함할 수 있다. The method may further include transmitting output data providing a security code generation rule to the terminal before receiving the second security code.

상기 제1 보안 코드는 상기 로그인 입력 데이터가 입력되는 입력 시점과 대응되는 타임값을 기초로 변환된 타임 변환 코드를 더 포함할 수 있다. The first security code may further include a time conversion code converted based on a time value corresponding to an input time point at which the login input data is input.

상기 제1 보안 코드를 생성하는 단계 이전에, 상기 단말로부터 보안 코드 생성과 관련된 사용자 코드를 전송하는 단계를 더 포함하고, 상기 제1 보안 코드를 생성하는 단계는 상기 로그인 입력 데이터의 아이디, 및 입력 시점을 기초로 제1 보안 코드를 생성하고, 상기 제1 보안 코드에 상기 사용자 코드를 더 포함하여 생성할 수 있다. Prior to generating the first security code, the method further includes transmitting a user code related to generation of a security code from the terminal, wherein the step of generating the first security code includes an ID of the login input data, and input A first security code may be generated based on a time point, and the first security code may be generated by further including the user code.

본 발명의 실시예들에 따른 사용자 인증 장치는 단말로부터 아이디 및 아이디와 대응되는 패스워드를 포함하는 로그인 입력 데이터를 수신하는 로그인 입력 수신부; 상기 로그인 입력 데이터의 아이디, 및 입력 시점을 기초로 제1 보안 코드를 생성하는 보안 코드 생성부; 및 상기 단말로부터 제2 보안 코드를 수신하고, 상기 사용자 인증 장치가 상기 제1 보안 코드 및 상기 제2 보안 코드 사이의 일치 여부를 판단하고, 상기 일치 여부를 고려하여 상기 로그인 입력 데이터를 처리하는 보안 코드 처리부;를 포함하는, 보안 코드를 이용하여 사용자를 인증할 수 있다. A user authentication apparatus according to embodiments of the present invention includes: a login input receiving unit for receiving login input data including an ID and a password corresponding to the ID from a terminal; a security code generator for generating a first security code based on the ID of the login input data and the input time; and receiving a second security code from the terminal, determining whether the user authentication device matches the first security code and the second security code, and processing the login input data in consideration of the match The user may be authenticated using a security code, including a code processing unit.

본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다. A computer program according to an embodiment of the present invention may be stored in a medium to execute any one of the methods according to an embodiment of the present invention using a computer.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다. In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method are further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다. Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

본 발명에 따르면, 로그인 입력 데이터와 대응되는 보안 코드를 추가적으로 입력 받아 로그인 입력에 대한 최종적인 인증 여부를 결정할 수 있다. According to the present invention, it is possible to additionally receive a security code corresponding to the log-in input data to determine whether to finally authenticate the log-in input.

도 1 및 도 2는 본 발명의 실시예들에 따른 로그인 처리 시스템의 네트워크 환경에 대한 도면들이다.
도 3은 본 발명의 실시예들에 따른 TTP 서버(100)의 블록도이다.
도 4 내지 도 6은 본 발명의 실시예들에 따른 보안 코드를 이용한 사용자 인증 방법의 흐름도들이다.
1 and 2 are diagrams of a network environment of a login processing system according to embodiments of the present invention.
3 is a block diagram of a TTP server 100 according to embodiments of the present invention.
4 to 6 are flowcharts of a user authentication method using a security code according to embodiments of the present invention.

이하 첨부된 도면들에 도시된 본 발명에 관한 실시예를 참조하여 본 발명의 구성 및 작용을 상세히 설명한다.Hereinafter, the configuration and operation of the present invention will be described in detail with reference to the embodiments of the present invention shown in the accompanying drawings.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. Effects and features of the present invention, and a method for achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when described with reference to the drawings, the same or corresponding components are given the same reference numerals, and the overlapping description thereof will be omitted. .

이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. In the following embodiments, terms such as first, second, etc. are used for the purpose of distinguishing one component from another, not in a limiting sense.

이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. In the following examples, the singular expression includes the plural expression unless the context clearly dictates otherwise.

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. In the following embodiments, terms such as include or have means that the features or components described in the specification are present, and the possibility that one or more other features or components may be added is not excluded in advance.

도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다. In the drawings, the size of the components may be exaggerated or reduced for convenience of description. For example, since the size and thickness of each component shown in the drawings are arbitrarily indicated for convenience of description, the present invention is not necessarily limited to the illustrated bar.

이하의 실시예에서, x축, y축 및 z축은 직교 좌표계 상의 세 축으로 한정되지 않고, 이를 포함하는 넓은 의미로 해석될 수 있다. 예를 들어, x축, y축 및 z축은 서로 직교할 수도 있지만, 서로 직교하지 않는 서로 다른 방향을 지칭할 수도 있다. In the following embodiments, the x-axis, the y-axis, and the z-axis are not limited to three axes on the Cartesian coordinate system, and may be interpreted in a broad sense including them. For example, the x-axis, y-axis, and z-axis may be orthogonal to each other, but may refer to different directions that are not orthogonal to each other.

어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다.In cases where certain embodiments are otherwise practicable, a specific process sequence may be performed different from the described sequence. For example, two processes described in succession may be performed substantially simultaneously, or may be performed in an order opposite to the order described.

이해의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다. In the description of understanding, the same identification symbol means the same configuration, and unnecessary redundant descriptions and descriptions of well-known technologies will be omitted.

본 발명의 실시예에서, '통신', '통신망' 및 '네트워크'는 동일한 의미로 사용될 수 있다. 상기 세 용어들은 파일을 사용자 단말, 다른 사용자들의 단말 및 다운로드 서버 사이에 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미한다. In an embodiment of the present invention, 'communication', 'communication network' and 'network' may be used with the same meaning. The above three terms refer to a wired/wireless short-distance and wide-area data transmission/reception network capable of transmitting and receiving files between a user terminal, terminals of other users, and a download server.

본 명세서에서, TTP(Term Time Password)는 정해진 시간 동안 패스워드(보안 코드)로 동작되도록 설정된 패스워드(보안 코드)로서, 정해진 시간이 만료되면 이전 TTP 패스워드 대신에 다른 TTP 패스워드로 변경되도록 동작될 수 있다. In the present specification, a Term Time Password (TTP) is a password (security code) set to operate as a password (security code) for a predetermined time, and may be operated to be changed to another TTP password instead of the previous TTP password when a predetermined time expires. .

도 1 및 도 2는 본 발명의 실시예들에 따른 로그인 처리 시스템의 네트워크 환경에 대한 도면들이다. 1 and 2 are diagrams of a network environment of a login processing system according to embodiments of the present invention.

로그인 처리 시스템은 TTP서버(100), 사용자 단말들(201, 202, 203), 데이터베이스(300)를 포함할 수 있다. The login processing system may include a TTP server 100 , user terminals 201 , 202 , 203 , and a database 300 .

TTP 서버(100)는 사용자 단말(201, 202, 203)로부터의 로그인 입력 데이터들을 처리하여 로그인 입력 데이터에 대해서 인증 여부를 처리할 수 있다. TTP 서버(100)는 타 서비스 서버(400)를 통해 사용자 단말(201, 202, 203)로부터의 로그인 입력 데이터를 전달 받고 로그인 입력 데이터와 대응되는 보안 코드를 통해 로그인 입력 데이터에 대한 인증 과정을 더 수행할 수 있다. 보안 코드는 정해진 시간 동안 유효하도록 설정되며, 정해진 시간이 만료된 이후에는 다른 코드로 변경될 수 있다. 보안 코드는 로그인 사용자에 의해 설정되기도 하지만, 관리자에 의해 설정되기도 한다. ㄷThe TTP server 100 may process login input data from the user terminals 201 , 202 , and 203 to determine whether to authenticate the login input data. The TTP server 100 receives the login input data from the user terminals 201 , 202 , 203 through the other service server 400 and further performs an authentication process for the login input data through a security code corresponding to the login input data. can be done The security code is set to be valid for a set time, and after the set time expires, it can be changed to another code. The security code is sometimes set by the login user, but also by the administrator. do

TTP 서버(100)는 사용자 단말(201, 202, 203)과 네트워크 망을 통해 통신하여 로그인 입력 데이터 또는 로그인 입력 데이터와 대응되는 보안 코드를 송수신할 수 있다. 여기서, 로그인 입력 데이터와 대응되는 보안 코드는 보안 코드 생성 규칙에 의해서 로그인 입력 데이터와 대응되어 다양한 조합으로 생성되며, 구체적으로는 로그인 입력 데이터에 포함된 아이디, 패스워드에 포함된 입력 단위들(음절, 알파벳, 숫자, 특수문자 등)의 다양한 조합의 코드 또는 상기 코드에 입력된 시점의 타임값(time stamp)을 결합한 형태로 생성될 수 있으며 사용자의 요청에 의해 생성되거나 시스템에 의해 자동적으로 생성될 수 있다. The TTP server 100 may communicate with the user terminals 201 , 202 , and 203 through a network to transmit and receive login input data or a security code corresponding to the login input data. Here, the security code corresponding to the login input data is generated in various combinations corresponding to the login input data according to the security code generation rule, and specifically, input units (syllables, syllables, It can be generated in the form of a code of various combinations of alphabets, numbers, special characters, etc.) or a time stamp of the time entered in the code, and can be generated by the user's request or automatically generated by the system. have.

TTP 서버(100)는 데이터베이스(300)에 등록된 사용자 정보(아이디, 패스워드, 보안 코드 등)을 이용하여 사용자 단말(201, 202, 203)들의 로그인 입력 데이터를 처리할 수 있다. The TTP server 100 may process login input data of the user terminals 201 , 202 , 203 using user information (ID, password, security code, etc.) registered in the database 300 .

사용자 단말(201, 202, 203)들은 본 발명의 실시예들에 따라 스마트폰(smart phone), PC(personal Computer), 노트북 컴퓨터, 휴대폰(mobile phone), 태블릿 PC, 내비게이션(navigation) 단말기, PDA(personal digital assistants), 스마트 TV(smart TV), PMP(portable Multimedia player) 및 디지털 방송 수신기일 수 있으나, 이에 한정되는 것은 아니다. The user terminals 201, 202, and 203 are a smart phone, a personal computer (PC), a notebook computer, a mobile phone, a tablet PC, a navigation terminal, and a PDA according to embodiments of the present invention. (personal digital assistants), a smart TV (smart TV), PMP (portable multimedia player), and may be a digital broadcast receiver, but is not limited thereto.

사용자 단말(201, 202, 203)들은 네트워크 망을 통해 TTP 서버(100)에 접속하여 로그인 입력 데이터에 대한 인증을 요청할 수 있다. The user terminals 201, 202, and 203 may request authentication for login input data by accessing the TTP server 100 through a network.

사용자 단말(201, 202, 203)들은 아이디 및 패스워드를 포함하는 로그인 입력 데이터와 로그인 입력 데이터와 대응되는 보안 코드를 TTP 서버(100)로 전송하여 로그인 입력 데이터의 인증 과정을 요청할 수 있다. The user terminals 201 , 202 , and 203 may transmit login input data including an ID and password and a security code corresponding to the login input data to the TTP server 100 to request an authentication process of the login input data.

도 2에 도시된 바와 같이, 로그인 처리 시스템은 TTP 서버(100), 사용자 단말들(201, 202, 203), 타 서비스 서버(400)를 포함하여 구현될 수 있다. As shown in FIG. 2 , the login processing system may be implemented including a TTP server 100 , user terminals 201 , 202 , 203 , and other service servers 400 .

TTP 서버(100)는 로그인 입력 데이터에 추가 인증을 요청하는 타 서비스 서버(400)와 연계하여 동작할 수 있다. 이런 경우, TTP 서버(100)는 사용자 단말(201)에서 입력된 로그인 입력 데이터를 타 서비스 서버(400)를 통해 수신하고, 로그인 입력 데이터와 대응되는 보안 코드를 생성하고 로그인 입력 데이터를 입력한 사용자 단말(201)로 보안 코드를 요청할 수 있다. TTP 서버(100)는 생성된 보안 코드와 사용자 단말(201)에서 입력된 보안 코드 사이의 동일성을 판단하여 로그인 입력 데이터에 대한 인증 정보를 생성할 수 있다. 타 서비스 서버(400)는 TTP 서버(100)로부터 수신한 로그인 입력 데이터에 대한 인증 정보와 대응하여 사용자 단말(201)의 로그인 입력 데이터를 성공(Y) 또는 실패(N)로 처리할 수 있다. The TTP server 100 may operate in conjunction with another service server 400 that requests additional authentication for login input data. In this case, the TTP server 100 receives the login input data input from the user terminal 201 through the other service server 400 , generates a security code corresponding to the login input data, and a user who inputs the login input data A security code may be requested from the terminal 201 . The TTP server 100 may determine the identity between the generated security code and the security code input from the user terminal 201 to generate authentication information for the login input data. The other service server 400 may process the login input data of the user terminal 201 as success (Y) or failure (N) in response to the authentication information for the login input data received from the TTP server 100 .

사용자 단말(201, 202, 203)들은 네트워크 망을 통해 TTP 서버(100) 또는 타 서비스 서버(400)로 접속하고 다양한 서비스를 제공 받을 수 있다. The user terminals 201 , 202 , and 203 may access the TTP server 100 or another service server 400 through a network and receive various services.

사용자 단말(201, 202, 203)은 타 서비스 서버(400)에 접속하여 로그인 과정을 수행하는 과정에서, 보안 코드 등의 정보를 TTP 서버(100)와 송수신하는 프로그램을 설치할 수 있다. 사용자 단말(201, 202, 203)은 TTP 서버(100)로 접속하여 로그인 과정을 수행하고, 로그인 과정에 대한 인증 정보를 가지고 타 서비스 서버(400)로 접속할 수 있다. The user terminals 201 , 202 , and 203 may install a program for transmitting and receiving information such as a security code to and from the TTP server 100 in the process of accessing the other service server 400 and performing a login process. The user terminals 201 , 202 , and 203 may access the TTP server 100 and perform a login process, and may access other service servers 400 with authentication information for the login process.

도 3은 본 발명의 실시예들에 따른 TTP 서버(100)의 블록도이다. 3 is a block diagram of a TTP server 100 according to embodiments of the present invention.

TTP 서버(100)는 프로세서(110), 통신부(120), 입력부(130), 출력부(140), 저장 매체(150)를 포함할 수 있다. The TTP server 100 may include a processor 110 , a communication unit 120 , an input unit 130 , an output unit 140 , and a storage medium 150 .

프로세서(110)는 TTP 서버(100)를 전반적으로 제어하기 위한 구성이다. 구체적으로, 프로세서(110)는 TTP 서버(100)의 저장매체(150)에 저장된 각종 프로그램을 이용하여 TTP 서버(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(110)는 CPU, 램(RAM), 롬(ROM), 시스템 버스를 포함할 수 있다. 여기서, 롬은 시스템 부팅을 위한 명령어 세트가 저장되는 구성이고, CPU는 롬에 저장된 명령어에 따라 TTP 서버(100)의 저장된 운영체제를 램에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU는 저장된 각종 애플리케이션을 램에 복사하고, 실행시켜 각종 동작을 수행할 수 있다. 이상에서는 TTP 서버(100)가 하나의 CPU만을 포함하는 것으로 설명하였지만, 구현 시에는 복수의 CPU(또는 DSP, SoC 등)으로 구현될 수 있다.The processor 110 is a configuration for controlling the TTP server 100 as a whole. Specifically, the processor 110 controls the overall operation of the TTP server 100 using various programs stored in the storage medium 150 of the TTP server 100 . For example, the processor 110 may include a CPU, a RAM, a ROM, and a system bus. Here, the ROM is a configuration in which an instruction set for system booting is stored, and the CPU copies the stored operating system of the TTP server 100 to the RAM according to the instructions stored in the ROM, and executes O/S to boot the system. When booting is complete, the CPU can perform various operations by copying various stored applications to RAM and executing them. Although it has been described above that the TTP server 100 includes only one CPU, it may be implemented with a plurality of CPUs (or DSPs, SoCs, etc.).

본 발명의 일 실시 예에 따라, 프로세서(110)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP)), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(110)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.According to an embodiment of the present invention, the processor 110 may be implemented as a digital signal processor (DSP) processing a digital signal, a microprocessor, or a time controller (TCON). However, the present invention is not limited thereto, and a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), or It may include one or more of a communication processor (CP) and an ARM processor, or may be defined by a corresponding term. In addition, the processor 110 may be implemented as a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) type having a built-in processing algorithm.

출력부(140)는 TTP 서버(100)가 저장 매체(150)에 의해 생성된 인터페이스를 디스플레이할 수 있다. 본 발명의 일 실시예에 따르면 출력부(140)는 입력부(130)를 통해 입력된 사용자 입력에 대한 사용자 인터페이스를 디스플레이할 수 있다. 출력부(140)는 저장된 그래픽 데이터, 시각 데이터, 청각 데이터, 진동 데이터를 저장 매체(150)의 제어에 의해 출력할 수 있다. The output unit 140 may display an interface generated by the TTP server 100 by the storage medium 150 . According to an embodiment of the present invention, the output unit 140 may display a user interface for a user input input through the input unit 130 . The output unit 140 may output the stored graphic data, visual data, auditory data, and vibration data under the control of the storage medium 150 .

입력부(130)는 TTP 서버(100)에 다양한 정보를 입력하기 위한 사용자 인터페이스를 포함할 수 있다. 선택적 실시예에서, 출력부(140) 또는 입력부(130)는 TTP 서버(100)와 일체형으로 구현되거나 분리형으로 구현될 수 있다. 분리형의 출력부(140) 또는 입력부(130)는 TTP 서버(100)와 전기적으로 또는 네트워크 망을 통해 연결될 수 있다. 분리형의 출력부(140) 또는 입력부(130)는 선택적으로 TTP 서버(100)와 통신할 수 있다. The input unit 130 may include a user interface for inputting various information to the TTP server 100 . In an optional embodiment, the output unit 140 or the input unit 130 may be implemented integrally with the TTP server 100 or implemented separately. The separate output unit 140 or the input unit 130 may be electrically connected to the TTP server 100 or through a network. The separate output unit 140 or the input unit 130 may selectively communicate with the TTP server 100 .

통신부(120)는 서버, 다른 전자장치 등의 장치와 데이터를 송수신하기 위한 구성이다. 통신부(120)는 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등의 근거리 통신부, 이동통신 망, 또는 유선 이더넷 망 등을 포함할 수 있다.The communication unit 120 is configured to transmit/receive data to and from devices such as a server and other electronic devices. The communication unit 120 includes a Bluetooth communication unit, a BLE (Bluetooth Low Energy) communication unit, a near field communication unit, a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared (IrDA, infrared Data Association) communication unit, a WFD ( It may include a Wi-Fi Direct) communication unit, an ultra wideband (UWB) communication unit, a short-distance communication unit such as an Ant+ communication unit, a mobile communication network, or a wired Ethernet network.

TTP 서버(100)는 프로세서(110)의 처리 또는 제어를 위한 프로그램 등 전반의 동작을 위한 다양한 데이터를 저장한 저장 매체(미도시)를 더 포함할 수 있다. 저장 매체(150)는 TTP 서버(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), TTP 서버(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, TTP 서버(100)의 기본적인 기능을 위하여 출고 당시부터 TTP 서버(100) 상에 존재할 수 있다. 응용 프로그램은, 저장 매체에 저장되고, 프로세서(110)에 의하여 TTP 서버(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.The TTP server 100 may further include a storage medium (not shown) storing various data for overall operations, such as a program for processing or controlling the processor 110 . The storage medium 150 may store a plurality of application programs (or applications) driven in the TTP server 100 , data for the operation of the TTP server 100 , and commands. At least some of these application programs may be downloaded from an external server through wireless communication. Also, at least some of these application programs may exist on the TTP server 100 from the time of shipment for the basic function of the TTP server 100 . The application program is stored in the storage medium, and may be driven by the processor 110 to perform the operation (or function) of the TTP server 100 .

저장 매체(150)는 로그인 입력 수신부(151), 보안 코드 생성부(152), 보안 코드 처리부(153)를 포함할 수 있다. The storage medium 150 may include a login input receiving unit 151 , a security code generating unit 152 , and a security code processing unit 153 .

로그인 입력 수신부(151)는 사용자 단말(201)로부터 로그인 입력 데이터를 수신한다. 사용자 단말은 201로 표시되어 있으나, 202, 203의 사용자 단말로 대체할 수 있다. 로그인 입력 수신부(151)는 타 서비스 서버(400)로부터 사용자 단말(201)에서 입력된 로그인 입력 데이터를 수신할 수 있다. The login input receiving unit 151 receives login input data from the user terminal 201 . Although the user terminal is indicated by 201, the user terminals 202 and 203 may be substituted. The login input receiving unit 151 may receive login input data input from the user terminal 201 from the other service server 400 .

로그인 입력 수신부(151)는 아이디 및 패스워드를 포함하는 로그인 입력 데이터를 암호화하여 암호화된 로그인 입력 데이터를 수신할 수 있다. The login input receiving unit 151 may receive encrypted login input data by encrypting login input data including an ID and password.

로그인 입력 수신부(151)는 아이디 및 패스워드를 포함하는 로그인 입력 데이터와 로그인 입력 데이터가 사용자 단말에 입력된 시점과 관련된 타임값을 수신할 수 있다. 로그인 입력 데이터는 입력된 아이디, 패스워드 외에 사용자 단말(201)과 연결되는 연결 링크를 더 포함할 수 있다. TTP 서버(100)는 타 서비스 서버(400)로부터 로그인 입력 데이터를 수신하는 경우에는, 사용자 단말(201)에 대한 링크를 통해 사용자 단말(201)에 데이터를 전송할 수 있다. The login input receiving unit 151 may receive login input data including an ID and password and a time value associated with a time point at which the login input data is input to the user terminal. The login input data may further include a connection link connected to the user terminal 201 in addition to the input ID and password. When receiving login input data from another service server 400 , the TTP server 100 may transmit data to the user terminal 201 through a link to the user terminal 201 .

보안 코드 생성부(152)는 로그인 입력 데이터와 대응되는 보안 코드를 생성할 수 있다. 보안 코드 생성부(152)는 로그인 입력 데이터가 입력된 시점을 고려하여 보안 코드를 생성할 수 있다. 보안 코드 생성부(152)는 로그인 입력 데이터의 아이디 또는 패스워드에 보안 코드 생성 규칙을 적용하여 보안 코드를 생성할 수 있다. The security code generator 152 may generate a security code corresponding to the login input data. The security code generator 152 may generate a security code in consideration of a time point when login input data is input. The security code generator 152 may generate a security code by applying a security code generation rule to the ID or password of the login input data.

보안 코드 생성부(152)는 로그인 입력 데이터의 아이디에 포함된 하나 이상의 입력 단위들을 보안 코드 생성 규칙으로 변환하여 포함하는 보안 코드를 생성할 수 있다. The security code generation unit 152 may generate a security code including one or more input units included in the ID of the login input data by converting it into a security code generation rule.

보안 코드 생성부(152)는 보안 코드의 생성에 앞서 사용자 단말의 출력부를 통해 보안 코드 생성 규칙을 출력하도록 할 수 있다. The security code generation unit 152 may output a security code generation rule through the output unit of the user terminal prior to generation of the security code.

보안 코드는 로그인 입력이 입력되는 입력 시점과 대응되는 타임값을 기초로 변환된 타임 변환 코드를 더 포함할 수 있다. The security code may further include a time conversion code converted based on a time value corresponding to an input time point at which a login input is input.

보안 코드는 일정 주기로 재 생성될 수 있다. 예를 들어, 제1 시간 주기 동안 제1 아이디의 로그인 입력에 대해서는 제1 보안 코드로 로그인 입력을 인증 처리할 수 있다. 제1 시간 주기가 만료되고 제2 시간 주기가 시작되면 제1 아이디의 로그인 입력에 대해서 새로운 제2 보안 코드를 생성하여 로그인 입력을 인증할 수 있다. The security code may be regenerated at regular intervals. For example, with respect to the login input of the first ID during the first time period, the login input may be authenticated with the first security code. When the first time period expires and the second time period begins, a new second security code may be generated for the login input of the first ID to authenticate the login input.

보안 코드 생성부(152)는 사용자 단말(201)로부터 수신한 사용자 코드를 이용하여 보안 코드를 생성할 수 있다. 로그인 입력 데이터의 아이디 및 입력 시점과 대응되는 타임 값을 기초로 보안 코드를 생성하고, 보안 코드에 사용자 단말(201)로부터 수신한 사용자 코드를 더 포함시켜 최종적인 보안 코드를 생성할 수 있다. The security code generator 152 may generate a security code using the user code received from the user terminal 201 . A security code may be generated based on the ID of the login input data and a time value corresponding to the input time, and the final security code may be generated by further including the user code received from the user terminal 201 in the security code.

다른 실시예에서, 보안 코드 생성부(152)는 생성된 보안 코드를 사용자와 연계된 매체로 전송할 수 있다. 예를 들어, 사용자의 이메일 주소, 사용자의 전자 장치, 사용자 단말(201)로 전송할 수 있다. In another embodiment, the security code generator 152 may transmit the generated security code to a medium associated with the user. For example, the transmission may be performed to the user's email address, the user's electronic device, and the user terminal 201 .

또 다른 실시예에서 보안 코드 생성부(152)로부터 수신된 보안 코드는 사용자 단말(201)는 보안 코드 생성부(152)로부터 보안 코드를 수신하고, 수신된 보안 코드를 보안 코드 처리부(153)의 요청의 응답 신호에 자동적으로 포함되도록 설정될 수 있다. 예를 들어, 사용자 단말(201)의 메모리에는 보안 코드를 저장하는 영역이 존재하고, 사용자 단말(201)로 보안 코드의 요청이 수신되면, 사용자 단말(201)의 명령어들은 보안 코드가 저장된 영역에 저장된 값(value)를 로드하여, 상기 값(value)가 보안 코드의 요청의 응답 신호에 포함되도록 할 수 있다. 이때, 사용자 단말(201)의 명령어들은 보안 코드가 저장된 영역인 제1 영역에 저장된 제1 값을 로드하고, 제1 영역에 저장된 제1 값을 현재 시점의 현재 타임값을 고려하여 변형한 제2 값을 보안 코드로 생성하고, 보안 코드의 요청의 응답 신호에 포함시킬 수 있다. In another embodiment, the security code received from the security code generation unit 152 is the user terminal 201 receives the security code from the security code generation unit 152, and receives the security code from the security code processing unit 153. It can be set to be automatically included in the response signal of the request. For example, there is an area for storing a security code in the memory of the user terminal 201 , and when a request for a security code is received from the user terminal 201 , the commands of the user terminal 201 are stored in the area where the security code is stored. By loading the stored value, the value can be included in the response signal of the request of the security code. In this case, the commands of the user terminal 201 load the first value stored in the first area, which is the area where the security code is stored, and transform the first value stored in the first area in consideration of the current time value of the current time. A value can be generated as a security code and included in the response signal of the request of the security code.

보안 코드가 저장된 영역은 TTP 서버에 의해 지정된 주소 영역일 수 있으나, 이에 한정되지 않고 사용자 단말(201)의 시스템(운영 체제)에 의해 결정된 영역일 수 있다. 이를 통해, 로그인 시에 필요한 보안 코드를 입력해야 하는 수고로움을 덜 수 있다. The area in which the security code is stored may be an address area designated by the TTP server, but is not limited thereto and may be an area determined by the system (operating system) of the user terminal 201 . In this way, the trouble of having to enter a security code required for logging in can be saved.

보안 코드 처리부(153)는 사용자 단말(201)로 로그인 입력 데이터 외에 보안 코드를 요청하는 출력 데이터를 전송할 수 있다. 보안 코드 처리부(153)는 생성된 보안 코드와 사용자 단말(201)로부터 입력된 보안 코드 사이의 일치 여부를 판단할 수 있다. 보안 코드 처리부(153)는 생성된 보안 코드와 사용자 단말(201)로부터 수신된 보안 코드가 일치하는 경우, 로그인 입력에 대한 인증 정보를 생성할 수 있다. The security code processing unit 153 may transmit output data requesting a security code in addition to the login input data to the user terminal 201 . The security code processing unit 153 may determine whether the generated security code matches the security code input from the user terminal 201 . When the generated security code matches the security code received from the user terminal 201 , the security code processing unit 153 may generate authentication information for a login input.

다른 실시예에서, 보안 코드 처리부(153)는 사용자 단말(201)로부터 수신된 제1 보안 코드와 이전에 생성된 제2 보안 코드를 비교하여 로그인 입력에 대한 인증 정보를 생성할 수 있다. 또한, 보안 코드 처리부(153)는 이전에 생성된 제2 보안 코드를 현재 시점의 타임값을 적용하여 변형한 제3 보안 코드를 생성할 수 있다. 보안 코드 처리부(153)는 사용자 단말(201)로부터 수신된 제1 보안 코드와 제3 보안 코드를 비교하여 로그인 입력에 대한 인증 정보를 생성할 수 있다. In another embodiment, the security code processing unit 153 may generate authentication information for the login input by comparing the first security code received from the user terminal 201 with the previously generated second security code. Also, the security code processing unit 153 may generate a third security code in which the previously generated second security code is modified by applying the time value of the current time. The security code processing unit 153 may generate authentication information for a login input by comparing the first security code and the third security code received from the user terminal 201 .

보안 코드 처리부(153)는 로그인 입력에 대한 인증 정보를 통해서 로그인 입력에 대한 성공(Y) 또는 실패(N)를 처리할 수 있다. The security code processing unit 153 may process success (Y) or failure (N) for the login input through authentication information for the login input.

보안 코드 처리부(153)는 다양한 방식으로 생성된 보안 코드를 사용자 단말(201), 데이터베이스(300), 및 타 서비스 서버(400) 중 적어도 하나로 전송할 수 있다. The security code processing unit 153 may transmit the security code generated in various ways to at least one of the user terminal 201 , the database 300 , and another service server 400 .

도 4 내지 도 6은 본 발명의 실시예들에 따른 보안 코드를 이용한 사용자 인증 방법의 흐름도들이다. 4 to 6 are flowcharts of a user authentication method using a security code according to embodiments of the present invention.

S110에서, 사용자 단말(201)은 아이디 및 패스워드를 포함하는 로그인 입력을 수신할 수 있다. 사용자 단말(201)은 로그인 입력 데이터를 TTP 서버(100)로 전송할 수 있다. In S110, the user terminal 201 may receive a login input including an ID and a password. The user terminal 201 may transmit login input data to the TTP server 100 .

S120에서 TTP 서버(100)는 로그인 입력 데이터에 응답하여 로그인 입력과 대응되는 제1 보안 코드를 생성할 수 있다. In S120, the TTP server 100 may generate a first security code corresponding to the login input in response to the login input data.

TTP 서버(100)는 로그인 입력 데이터와 대응되는 제1 보안 코드를 생성할 수 있다. 다른 실시예에서, TTP 서버(100)는 로그인 입력 데이터와 대응되는 제1 보안 코드를 로그인 입력 데이터가 입력된 시점을 고려하여 제2 보안 코드를 다시 생성할 수 있다. The TTP server 100 may generate a first security code corresponding to the login input data. In another embodiment, the TTP server 100 may re-generate the second security code in consideration of the time when the login input data is input, the first security code corresponding to the login input data.

다른 실시예에서, 제1 보안 코드는 로그인 입력 데이터의 아이디 또는 패스워드에 보안 코드 생성 규칙을 적용하여 제1 보안 코드를 생성될 수 있다. In another embodiment, the first security code may be generated by applying a security code generation rule to an ID or password of the login input data.

다른 실시예에서, TTP 서버(100)는 로그인 입력 데이터의 아이디에 포함된 하나 이상의 입력 단위들을 보안 코드 생성 규칙으로 변환하여 포함하는 제1 보안 코드를 생성할 수 있다. In another embodiment, the TTP server 100 may generate a first security code including one or more input units included in the ID of the login input data by converting it into a security code generation rule.

보안 코드는 로그인 입력이 입력되는 입력 시점과 대응되는 타임값을 기초로 변환되는 코드인 타임 변환 코드를 더 포함할 수 있다. The security code may further include a time conversion code, which is a code converted based on a time value corresponding to an input time point at which a login input is input.

다른 실시예에서, 보안 코드는 일정 주기로 재 생성될 수 있다. 예를 들어, 제1 시간 주기 동안 제1 아이디의 로그인 입력에 대해서는 제1 보안 코드로 로그인 입력을 인증 처리할 수 있다. 제1 시간 주기가 만료되고 제2 시간 주기가 시작되면 제1 아이디의 로그인 입력에 대해서 새로운 제2 보안 코드를 생성하여 로그인 입력을 인증할 수 있다. In another embodiment, the security code may be regenerated at regular intervals. For example, with respect to the login input of the first ID during the first time period, the login input may be authenticated with the first security code. When the first time period expires and the second time period begins, a new second security code may be generated for the login input of the first ID to authenticate the login input.

TTP 서버(100)는 사용자 단말(201)로부터 수신한 사용자 코드를 이용하여 보안 코드를 생성할 수 있다. 로그인 입력 데이터의 아이디 및 입력 시점과 대응되는 타임 값을 기초로 보안 코드를 생성하고, 보안 코드에 사용자 단말(201)로부터 수신한 사용자 코드를 더 포함시켜 최종적인 보안 코드를 생성할 수 있다. The TTP server 100 may generate a security code using the user code received from the user terminal 201 . A security code may be generated based on the ID of the login input data and a time value corresponding to the input time, and the final security code may be generated by further including the user code received from the user terminal 201 in the security code.

S125에서는 TTP 서버(100)는 보안코드를 요청하는 요청 신호를 사용자 단말(201)로 전송할 수 있다. In S125 , the TTP server 100 may transmit a request signal for requesting a security code to the user terminal 201 .

S130에서는 사용자 단말(201)은 사용자로부터 제2 보안 코드를 수신 받을 수 있다. TTP 서버(100)는 제2 보안 코드를 수신하고, 생성된 제1 보안 코드와 제2 보안 코드 사이의 동일성 여부를 판단할 수 있다(S135, S140). TTP 서버(100)는 제1 보안 코드 및 제2 보안 코드가 동일한 것으로 판단된 경우, 로그인 입력을 성공(Y)로 처리하고, 제1 보안 코드 및 제2 보안 코드가 동일하지 않은 것으로 판단된 경우, 로그인 입력을 실패(N)로 처리할 수 있다. In S130, the user terminal 201 may receive the second security code from the user. The TTP server 100 may receive the second security code, and determine whether the generated first security code and the second security code are identical (S135 and S140). When it is determined that the first security code and the second security code are the same, the TTP server 100 processes the login input as a success (Y), and when it is determined that the first security code and the second security code are not the same , the login input can be treated as a failure (N).

도 5에 도시된 바와 같이, S210에서 사용자 단말(201)은 아이디 및 패스워드를 포함하는 로그인 입력을 수신할 수 있다. As shown in FIG. 5 , in S210 , the user terminal 201 may receive a login input including an ID and a password.

S215에서 TTP 서버(100)는 아이디 및 패스워드를 포함하는 로그인 입력을 사용자 단말(201)로부터 수신할 수 있다. In S215 , the TTP server 100 may receive a login input including an ID and a password from the user terminal 201 .

S220에서는 TTP 서버(100)는 보안 코드 생성 규칙을 사용자 단말(201)로 전송할 수 있다. TTP 서버(100)는 사용자 단말(201)로부터 수신한 사용자 코드를 이용하여 보안 코드를 생성할 수 있다. 로그인 입력 데이터의 아이디 및 입력 시점과 대응되는 타임 값을 기초로 보안 코드를 생성하고, 보안 코드에 사용자 단말(201)로부터 수신한 사용자 코드를 더 포함시켜 최종적인 보안 코드를 생성할 수 있다. In S220 , the TTP server 100 may transmit a security code generation rule to the user terminal 201 . The TTP server 100 may generate a security code using the user code received from the user terminal 201 . A security code may be generated based on the ID of the login input data and a time value corresponding to the input time, and the final security code may be generated by further including the user code received from the user terminal 201 in the security code.

S225에서는 TTP 서버(100)는 로그인 입력과 대응되는 제3 보안 코드를 생성할 수 있다. In S225, the TTP server 100 may generate a third security code corresponding to the login input.

S230에서는 TTP 서버(100)는 보안코드를 요청하는 요청 신호를 사용자 단말(201)로 전송할 수 있다. In S230 , the TTP server 100 may transmit a request signal for requesting a security code to the user terminal 201 .

S235에서는 사용자 단말(201)은 제4 보안 코드를 입력하는 사용자 입력을 수신할 수 있다. 사용자 단말(201)의 명령어들은 제4 보안 코드를 자동적으로 생성하는 동작을 실행시킬 수 있다. 사용자 단말(201)의 메모리에 기록된 값을 기초로 제4 보안 코드가 생성될 수 있다. 제4 보안 코드는 사용자 단말(201)의 메모리에 기록된 값을 포함하거나 사용자 단말(201)의 메모리에 기록된 값으로부터 변형된 값을 포함할 수 있다. In S235, the user terminal 201 may receive a user input for inputting a fourth security code. The instructions of the user terminal 201 may execute an operation of automatically generating the fourth security code. A fourth security code may be generated based on the value recorded in the memory of the user terminal 201 . The fourth security code may include a value recorded in the memory of the user terminal 201 or a value modified from the value recorded in the memory of the user terminal 201 .

보안 코드의 생성과 관련하여 기록된 값은 TTP 서버로부터 수신된 값이거나 사용자 관련 정보와 관련된 값일 수 있다. The value recorded in connection with the generation of the security code may be a value received from a TTP server or a value related to user-related information.

S240에서는 사용자 단말(201)은 제4 보안 코드를 TTP 서버(100)로 전송할 수 있다. In S240 , the user terminal 201 may transmit the fourth security code to the TTP server 100 .

도 6에 도시된 바와 같이, TTP 서버(100)는 타 서비스 서버(400)와 연동하여 동작할 수 있다. As shown in FIG. 6 , the TTP server 100 may operate in conjunction with another service server 400 .

S310에서는 사용자 단말(201)은 타 서비스 서버(400)에서 제공하는 서비스를 이용하기 위해서, 로그인 과정을 실행한다. 사용자 단말(201)은 로그인 과정 중에서, 아이디 및 패스워드를 포함하는 로그인 입력 데이터를 수신할 수 있다. 타 서비스 서버(400)는 사용자의 로그인이 필요한 서비스를 제공하는 서버를 말한다. 예를 들어, 타 서비스 서버(400)는 학교, 어린이집, 학원 등과 같은 교육 기관, 보건소, 구청 등의 공공기관, 카페 서비스, SNS 서비스, 블로그 서비스 등을 제공하는 서버일 수 있다. In S310, the user terminal 201 executes a login process in order to use the service provided by the other service server 400. The user terminal 201 may receive login input data including an ID and password during a login process. The other service server 400 refers to a server that provides a service that requires a user's login. For example, the other service server 400 may be a server that provides educational institutions such as schools, daycare centers, and private institutes, public institutions such as public health centers and ward offices, cafe services, SNS services, blog services, and the like.

S315에서는 사용자 단말(201)은 타 서비스 서버(400)로 로그인 입력 데이터를 전송할 수 있다. In S315 , the user terminal 201 may transmit login input data to another service server 400 .

S320에서는 타 서비스 서버(400)는 로그인 입력 및 메타 데이터를 TTP 서버(100)로 전송할 수 있다. 타 서비스 서버(400)는 사용자에 입력된 아이디 및 패스워드 외에, 로그인 입력 데이터가 입력된 입력 시점, 로그인 입력 데이터가 입력된 사용자 단말(201)로의 링크를 메타 데이터로 생성할 수 있다. 타 서비스 서버(400)는 로그인 입력 데이터 및 메타 데이터, 보안 코드 생성 규칙을 TTP 서버(100)로 전송할 수 있다. In S320 , the other service server 400 may transmit a login input and metadata to the TTP server 100 . In addition to the ID and password input to the user, the other service server 400 may generate, as metadata, an input time point at which the login input data is input, and a link to the user terminal 201 where the login input data is input. The other service server 400 may transmit login input data, metadata, and security code generation rules to the TTP server 100 .

S325에서는 TTP 서버(100)는 로그인 입력과 대응되는 제5 보안 코드를 생성할 수 있다. TTP 서버(100)는 로그인 입력 데이터 및 메타 데이터와 대응되는 제5 보안 코드를 생성할 수 있다. In S325, the TTP server 100 may generate a fifth security code corresponding to the login input. The TTP server 100 may generate a fifth security code corresponding to the login input data and the metadata.

S330에서는 TTP 서버(100)는 사용자 단말(201)로 보안 코드를 요청하는 요청 신호를 전송할 수 있다. In S330 , the TTP server 100 may transmit a request signal for requesting a security code to the user terminal 201 .

S335에서는 사용자 단말(201)은 요청 신호에 응답하여 제6 보안 코드를 입력하고, 제6 보안 코드를 TTP 서버(100)로 전송할 수 있다(S340). In S335, the user terminal 201 may input the sixth security code in response to the request signal, and transmit the sixth security code to the TTP server 100 (S340).

S345에서는 TTP 서버(100)는 생성된 제5 보안 코드 및 입력된 제6 보안 코드 사이의 동일성 여부를 판단하고, 제5 보안 코드와 제6 보안 코드가 동일한 것으로 판단된 경우, 로그인 입력에 대한 인증 정보를 생성할 수 있다. In S345, the TTP server 100 determines whether the generated fifth security code and the input sixth security code are identical, and when it is determined that the fifth security code and the sixth security code are the same, authentication for the login input information can be generated.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (7)

타 서비스 서버가 사용자 단말로부터 아이디 및 아이디와 대응되는 패스워드를 포함하는 로그인 입력 데이터를 수신하고, 로그인 입력 데이터에 대응하여 로그인 입력, 메타 데이터, 보안 코드 생성 규칙을 TTP 서버로 전송하는 단계- 상기 메타 데이터는 로그인 입력 데이터가 입력된 입력 시점, 로그인 입력 데이터가 입력된 사용자 단말로의 연결 링크를 포함함,
상기 TTP 서버가 상기 타 서비스 서버로부터 상기 로그인 입력, 메타 데이터, 보안 코드 코드 생성 규칙을 수신하고, 수신한 상기 보안 코드 생성 규칙을 이용하여 상기 로그인 입력과 대응되는 제1 보안 코드를 생성하고, 상기 사용자 단말로의 연결 링크를 이용하여 상기 타 서비스 서버를 거치지 않고 상기 사용자 단말로, 보안 코드를 요청하여 상기 사용자 단말로부터 제2 보안 코드를 수신하는 단계,
상기 TTP 서버가 상기 제1 보안 코드 및 상기 제2 보안 코드 사이의 일치 여부를 판단하고, 상기 일치 여부를 고려하여 상기 로그인 입력 데이터를 처리하고, 상기 로그인 입력 데이터에 대한 인증 정보를 생성하여 상기 타 서비스 서버로 전송하며 상기 사용자 단말로의 연결 링크를 통해 데이터를 상기 사용자 단말로 전송하는 단계, 및
상기 타 서비스 서버가 상기 로그인 입력 데이터에 대한 인증 정보와 대응하여 사용자 단말의 로그인 입력 데이터를 성공 또는 실패로 처리하는 단계,를 포함하고,
상기 제1 또는 제2 보안 코드는 로그인 입력 데이터에 포함된 아이디, 패스워드에 포함된 입력 단위들의 조합의 코드 및 상기 코드에 입력된 시점의 타입값(time stamp)을 상기 보안 코드 생성 규칙으로 변환한 형태로, 소정의 시간 주기마다 새로 생성되는 것인, 보안 코드를 이용한 사용자 인증 방법.
The step of receiving, by another service server, login input data including an ID and a password corresponding to the ID from the user terminal, and transmitting the login input, metadata, and security code generation rules to the TTP server in response to the login input data - the meta The data includes an input time point at which the log-in input data is input, and a link to a user terminal where the log-in input data is input,
The TTP server receives the login input, metadata, and security code code generation rule from the other service server, and generates a first security code corresponding to the login input by using the received security code generation rule, and receiving a second security code from the user terminal by requesting a security code from the user terminal without going through the other service server by using a connection link to the user terminal;
The TTP server determines whether the first security code and the second security code match, processes the login input data in consideration of the match, and generates authentication information for the login input data to generate authentication information for the login input data. transmitting to a service server and transmitting data to the user terminal through a connection link to the user terminal; and
Including, by the other service server, processing the login input data of the user terminal as success or failure in response to the authentication information for the login input data,
The first or second security code is a code of a combination of input units included in an ID and password included in the login input data, and a type value (time stamp) of the time input in the code is converted into the security code generation rule. In the form, the user authentication method using a security code that is newly generated every predetermined time period.
삭제delete 삭제delete 삭제delete 삭제delete 컴퓨터를 이용하여 제1항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium for executing the method of claim 1 using a computer.
삭제delete
KR1020200048316A 2020-04-21 2020-04-21 User authentication device, user authentication method using security code and computer program KR102428409B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200048316A KR102428409B1 (en) 2020-04-21 2020-04-21 User authentication device, user authentication method using security code and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200048316A KR102428409B1 (en) 2020-04-21 2020-04-21 User authentication device, user authentication method using security code and computer program

Publications (2)

Publication Number Publication Date
KR20210130042A KR20210130042A (en) 2021-10-29
KR102428409B1 true KR102428409B1 (en) 2022-08-03

Family

ID=78231488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200048316A KR102428409B1 (en) 2020-04-21 2020-04-21 User authentication device, user authentication method using security code and computer program

Country Status (1)

Country Link
KR (1) KR102428409B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118605B1 (en) * 2011-10-18 2012-02-27 이경민 Log-in system and method with strengthened security

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101739446B1 (en) * 2015-11-12 2017-05-29 에이티투소프트 주식회사 User authentication system and user authentication method therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101118605B1 (en) * 2011-10-18 2012-02-27 이경민 Log-in system and method with strengthened security

Also Published As

Publication number Publication date
KR20210130042A (en) 2021-10-29

Similar Documents

Publication Publication Date Title
JP6556943B2 (en) Single sign-on method for appliance secure shell
US10382426B2 (en) Authentication context transfer for accessing computing resources via single sign-on with single use access tokens
JP5928854B2 (en) Method, device and system for managing user authentication
US10467385B2 (en) User-specific application activation for remote sessions
US10270757B2 (en) Managing exchanges of sensitive data
US10216937B2 (en) Secure BIOS password method in server computer
US11627129B2 (en) Method and system for contextual access control
KR101746279B1 (en) System and method for authenticating user using contact list
US20060047944A1 (en) Secure booting of a computing device
KR102080156B1 (en) Auto Recharge System, Method and Server
KR102017505B1 (en) User authentication method using random number generator
CN110447033B (en) Authentication based on client access restrictions
US20210036859A1 (en) Method and system for authenticating a secure credential transfer to a device
US10117097B1 (en) Short-range cross-device authorization
US8904508B2 (en) System and method for real time secure image based key generation using partial polygons assembled into a master composite image
KR102428409B1 (en) User authentication device, user authentication method using security code and computer program
KR102389590B1 (en) Method and system for authenticating a user terminal based on disposable authentication information using mobile device
US11882116B2 (en) Method and system for near field communication authorization sharing
US20170012979A1 (en) Non-transitory computer-readable recording medium storing information processing program, information processing apparatus, and information processing method
US20230345240A1 (en) Contextual authentication for secure remote sessions
JP6172774B2 (en) Method, device and system for managing user authentication
JP2019087172A (en) Terminal authentication system
WO2017048278A1 (en) Communicate with server using credential

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)