KR20120119490A - System and method for authentication interworking - Google Patents

System and method for authentication interworking Download PDF

Info

Publication number
KR20120119490A
KR20120119490A KR1020110037449A KR20110037449A KR20120119490A KR 20120119490 A KR20120119490 A KR 20120119490A KR 1020110037449 A KR1020110037449 A KR 1020110037449A KR 20110037449 A KR20110037449 A KR 20110037449A KR 20120119490 A KR20120119490 A KR 20120119490A
Authority
KR
South Korea
Prior art keywords
token
server
authentication
user terminal
interworking
Prior art date
Application number
KR1020110037449A
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 KR1020110037449A priority Critical patent/KR20120119490A/en
Publication of KR20120119490A publication Critical patent/KR20120119490A/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/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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

PURPOSE: A system and method for authentication interworking are provided to increase security by preventing information leakage by a third party in an authentication interworking process. CONSTITUTION: A first server(102) generates a token corresponding to a user terminal(106) logged in the first server. The first server registers the token in an authentication interworking database(108). The first server transmits the token to the user terminal. The first server registers an expiration date of the token in the authentication interworking database. A second server(104) transmits a token verification request of the user terminal to an authentication interworking server(110) using the received token. The authentication interworking server verifies the token according to the token verification request. The second server authenticates the user terminal. [Reference numerals] (102) First server; (104) Second server; (106) User terminal; (108) Authentication interworking database; (202) Login request of the first server; (204) Authentication results transmission; (206) Login service management agent update; (208) ID and token registration; (210) ID and token registration results transmission; (212) ID and token transmission; (214) Storing of an ID and a token in a registry; (216) Login request of the second server; (218) Registration request of a token expiration date; (220) Decoding of the registration request of the token expiration date; (222) Registration of the token expiration date; (224) ID and token transmission; (226) Authentication request of the token; (228) Decoding of the authentication request of the token; (230) Token authentication; (232) Token authentication results; (234) Token authentication results; (236) Authentication results transmission; (AA) Login service management agent updating

Description

인증 연동 시스템 및 방법{System and method for authentication interworking}Authentication interworking system and method {System and method for authentication interworking}

본 발명은 네트워크상에서의 사용자 인증을 복수의 서버 간 연동하기 위한 기술과 관련된다.
The present invention relates to a technique for interworking user authentication between a plurality of servers on a network.

인터넷으로 대표되는 네트워크가 대중화되면서, 개인용 컴퓨터 또는 스마트폰 등으로 다양한 서비스를 제공하는 네트워크상의 서버에 접속하여 서비스를 이용하는 것이 일상화되었다. 또한 네트워크상에서 제공되는 서비스의 형태가 다양화되면서 하나의 서버가 아닌 복수 개의 서버에 동시에 접속하여 서비스를 제공받는 경우 또한 늘어나고 있다.As the network represented by the Internet has been popularized, it has become common to use a service by accessing a server on a network that provides various services through a personal computer or a smartphone. In addition, as the types of services provided on the network are diversified, the number of cases in which a service is provided by simultaneously accessing a plurality of servers instead of a single server is increasing.

그러나 이러한 복수 개의 서버가 각각 다른 로그인 시스템을 가지고 있는 경우, 사용자는 복수 개의 서버에 접속하기 위하여 매번 아이디/패스워드를 입력해야 하는 불편함이 있었다.
However, when the plurality of servers have different login systems, users have to enter ID / password every time in order to access the plurality of servers.

본 발명은 상기와 같은 과제를 해결하기 위한 것으로서, 한 번의 로그인만으로 복수 개의 서버에 로그인한 것과 같은 효과를 줄 수 있는 인증 연동 시스템 및 방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, and an object thereof is to provide an authentication interworking system and method capable of providing the same effect as logging in to a plurality of servers with only one login.

또한 본 발명은 상기 인증 연동 과정에서 제3자 등에 의한 정보 유출 등을 차단할 수 있는, 즉 보안성이 강화된 인증 연동 알고리즘을 제공하는 데 그 목적이 있다.
In addition, an object of the present invention is to provide an authentication interworking algorithm with enhanced security that can block information leakage by a third party, etc. in the authentication interworking process.

1. 제1서버에서, 상기 제1서버에 로그인된 사용자 단말에 대응되는 토큰을 생성하고, 생성된 상기 토큰을 인증 연동 데이터베이스에 등록하는 단계; 상기 제1서버에서, 상기 토큰을 상기 사용자 단말로 송신하는 단계; 상기 제1서버에서, 상기 사용자 단말로부터 제2서버 로그인 요청을 수신하고, 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 등록하는 단계; 제2서버에서, 상기 사용자 단말로부터 상기 토큰을 수신하고, 수신된 상기 토큰을 이용하여 인증 연동 서버로 상기 사용자 단말의 토큰 검증 요청을 송신하는 단계; 상기 인증 연동 서버에서, 상기 인증 연동 데이터베이스에 등록된 상기 토큰의 만료일을 이용하여 상기 토큰 검증 요청에 따른 토큰 검증을 수행하는 단계; 및 상기 제2서버에서, 상기 인증 연동 서버로부터 상기 토큰 검증 결과를 수신하고 이에 따라 상기 사용자 단말을 인증하는 단계를 포함하는 인증 연동 방법.1. At a first server, generating a token corresponding to a user terminal logged in the first server, and registering the generated token in an authentication interworking database; At the first server, transmitting the token to the user terminal; Receiving, at the first server, a second server login request from the user terminal and registering an expiration date of the token in the authentication interworking database; Receiving, at a second server, the token from the user terminal and transmitting a token verification request of the user terminal to an authentication interworking server using the received token; Performing, at the authentication interworking server, token verification according to the token verification request by using an expiration date of the token registered in the authentication interworking database; And receiving, at the second server, the token verification result from the authentication interworking server and authenticating the user terminal accordingly.

2. 위 1에 있어서, 상기 인증 연동 데이터베이스는, 상기 사용자 단말의 아이디, 상기 토큰 및 상기 토큰의 등록일을 상기 제1서버로부터 등록받아 저장하는, 인증 연동 방법.2. The authentication interworking method of 1 above, wherein the authentication interworking database stores the ID of the user terminal, the token and the registration date of the token from the first server, and stores the registration.

3. 위 1에 있어서, 상기 토큰의 만료일은, 상기 사용자 단말로부터 상기 제2서버 로그인 요청을 수신한 시각에 기 설정된 인증 가능 시간만큼을 더한 시간으로 설정되는, 인증 연동 방법.3. In the above 1, the expiration date of the token is set to the time of receiving the second server login request from the user terminal plus a predetermined time available for authentication, the authentication interworking method.

4. 위 3에 있어서, 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 등록하는 단계는, 상기 제1서버에서, 상기 사용자 단말의 아이디 및 상기 토큰을 포함하는 문자열을 제1유동키 및 고정키를 이용하여 암호화하는 단계; 상기 제1서버에서, 암호화된 상기 문자열 및 상기 제1유동키를 상기 인증 연동 서버로 송신하는 단계; 상기 인증 연동 서버에서, 수신된 상기 제1유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하는 단계; 및 상기 인증 연동 서버에서, 복호화된 상기 문자열로부터 추출된 상기 토큰의 만료일 계산하고, 계산된 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 저장하는 단계를 포함하는, 인증 연동 방법.4. In the above 3, the step of registering the expiration date of the token in the authentication interworking database, the first server, using the first flow key and the fixed key to the string containing the ID and the token of the user terminal Encrypting by; Transmitting, at the first server, the encrypted string and the first flow key to the authentication interlocking server; Decrypting, at the authentication interworking server, the encrypted string using the received first floating key and a previously stored fixed key; And calculating, at the authentication interworking server, an expiration date of the token extracted from the decrypted string, and storing the calculated expiration date of the token in the authentication interworking database.

5. 위 1에 있어서, 상기 사용자 단말의 토큰 검증 요청을 송신하는 단계는, 상기 제2서버에서, 상기 사용자 단말의 아이디 및 상기 토큰을 수신하는 단계; 상기 제2서버에서, 수신된 상기 아이디, 상기 토큰 및 토큰 검증 요청 시각 정보를 포함하는 문자열을 제2유동키 및 고정키를 이용하여 암호화하는 단계; 상기 제2서버에서, 암호화된 상기 문자열 및 상기 제2유동키를 상기 인증 연동 서버로 송신하는 단계; 상기 인증 연동 서버에서, 수신된 상기 제2유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하는 단계; 및 상기 인증 연동 서버에서, 복호화된 상기 문자열로부터 추출된 상기 토큰 검증 요청 시간을 상기 인증 연동 데이터베이스로 송신하는 단계를 포함하는 인증 연동 방법.5. The method of 1 above, wherein the transmitting of the token verification request of the user terminal comprises: receiving, at the second server, the ID of the user terminal and the token; Encrypting, at the second server, a string including the received ID, the token, and token verification request time information using a second flow key and a fixed key; Transmitting, at the second server, the encrypted string and the second flow key to the authentication interlocking server; Decrypting, at the authentication interworking server, the encrypted string using the received second flow key and a previously stored fixed key; And transmitting, at the authentication interworking server, the token verification request time extracted from the decrypted string to the authentication interworking database.

6. 위 5에 있어서, 상기 토큰 검증 수행 단계는, 상기 인증 연동 데이터베이스에서, 상기 인증 연동 서버로부터 수신된 상기 토큰 검증 요청 시간을 저장하는 단계; 상기 인증 연동 데이터베이스에서, 수신된 상기 토큰 검증 요청 시간과 기 저장된 토큰의 만료일을 비교하여, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 빠른 경우 상기 토큰 검증 요청이 유효한 것으로 판단하고, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 느린 경우 상기 토큰 검증 요청이 유효하지 않은 것으로 판단하는 단계; 및 상기 인증 연동 데이터베이스에서, 상기 판단 단계에 따른 인증 결과를 상기 인증 연동 서버로 송신하는 단계를 포함하는 인증 연동 방법.6. In the above 5, wherein performing the token verification step, storing the token verification request time received from the authentication interworking server in the authentication interworking database; In the authentication interlocking database, comparing the received token verification request time with the expiration date of the previously stored token, and determines that the token verification request is valid when the token verification request time is earlier than the expiration date of the token, the token verification request Determining that the token verification request is invalid when a time is later than the expiration date of the token; And transmitting, from the authentication interworking database, an authentication result according to the determining step to the authentication interworking server.

7. 위 1에 있어서, 상기 제2서버에서의 사용자 단말 인증 단계의 수행 후, 상기 제1서버 또는 상기 제2서버에서, 상기 사용자 단말로부터 토큰 폐기 요청을 수신하는 단계; 상기 제1서버 또는 상기 제2서버에서, 상기 인증 연동 서버로 암호화된 토큰 폐기 요청을 송신하는 단계; 상기 인증 연동 서버에서, 수신된 상기 암호화된 토큰 폐기 요청을 복호화하고 인증 연동 데이터베이스에 저장된 토큰을 폐기하는 단계; 상기 인증 연동 서버에서, 상기 토큰 폐기 요청을 송신한 상기 제1서버 또는 상기 제2서버로 토큰 폐기 결과를 송신하는 단계; 및 상기 제1서버 또는 상기 제2서버에서, 사용자 단말에 저장된 토큰을 삭제하는 단계를 더 포함하는 인증 연동 방법.7. In the above 1, after performing the user terminal authentication step in the second server, at the first server or the second server, receiving a token discard request from the user terminal; Transmitting an encrypted token revocation request from the first server or the second server to the authentication interworking server; Decrypting, at the authentication interworking server, the received encrypted token discard request and discarding the token stored in the authentication interlocking database; Transmitting, at the authentication interworking server, a token discard result to the first server or the second server that has sent the token discard request; And deleting the token stored in the user terminal in the first server or the second server.

8. 위 7에 있어서, 상기 암호화된 토큰 폐기 요청을 송신하는 단계는, 상기 제1서버 또는 제2서버에서, 상기 아이디 및 상기 토큰을 포함하는 문자열을 제3유동키 및 고정키를 이용하여 암호화하는 단계; 상기 제1서버 또는 제2서버에서, 암호화된 상기 문자열 및 상기 제3유동키를 상기 인증 연동 서버로 송신하는 단계;상기 인증 연동 서버에서, 수신된 상기 제3유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하는 단계; 및 상기 인증 연동 서버에서, 복호화된 상기 문자열로부터 추출된 토큰에 대한 폐기를 상기 인증 연동 데이터베이스로 요청하는 단계를 포함하는 인증 연동 방법.8. In the above 7, the transmitting of the encrypted token discard request, the first server or the second server, encrypting the string containing the ID and the token using a third flow key and a fixed key Making; Transmitting, at the first server or the second server, the encrypted string and the third flow key to the authentication interworking server; using the received third flow key and the stored fixed key at the authentication interworking server. Decrypting the encrypted string; And requesting, at the authentication interworking server, the revocation of the token extracted from the decrypted string to the authentication interlocking database.

9. 위 8에 있어서, 상기 인증 연동 데이터베이스에 저장된 토큰을 폐기하는 단계는, 상기 토큰이 저장된 레코드의 필드 값을 사용 가능(GOOD)에서 사용 불가(REVOKE)로 변경함으로써 수행되는, 인증 연동 방법.9. The method of claim 8, wherein the revocation of the token stored in the authentication interworking database is performed by changing a field value of a record in which the token is stored from GOOD to REVOKE.

10. 사용자 단말로부터 제1서버 로그인 요청을 수신하여 상기 사용자 단말을 인증하고, 로그인된 상기 사용자 단말에 대응되는 토큰을 생성하며, 생성된 상기 토큰을 인증 연동 데이터베이스에 등록하고, 상기 토큰을 상기 사용자 단말로 송신하며, 상기 사용자 단말로부터 제2서버 로그인 요청이 수신되는 경우 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 등록하는 제1서버; 상기 사용자 단말로부터 상기 토큰을 수신하고, 수신된 상기 토큰을 이용하여 인증 연동 서버로 상기 사용자 단말의 토큰 검증 요청을 송신하며, 상기 인증 연동 서버로부터 수신된 상기 토큰 검증 결과에 따라 상기 사용자 단말을 인증하는 제2서버; 상기 제1서버로부터 전송된 상기 토큰 및 상기 토큰의 만료일을 저장하는 인증 연동 데이터베이스; 및 상기 인증 연동 데이터베이스에 등록된 상기 토큰의 만료일을 이용하여 상기 토큰 검증 요청에 따른 토큰 검증을 수행하는 인증 연동 서버를 포함하는 인증 연동 시스템.10. Receive a first server login request from a user terminal to authenticate the user terminal, generate a token corresponding to the logged in user terminal, register the generated token in an authentication interworking database, and register the token to the user. A first server transmitting to the terminal and registering an expiration date of the token in the authentication interworking database when a second server login request is received from the user terminal; The token is received from the user terminal, the token verification request of the user terminal is transmitted to the authentication interworking server using the received token, and the user terminal is authenticated according to the token verification result received from the authentication interworking server. A second server; An authentication interworking database that stores the token transmitted from the first server and an expiration date of the token; And an authentication interworking server configured to perform token verification according to the token verification request by using an expiration date of the token registered in the authentication interworking database.

11. 위 1에 있어서, 상기 인증 연동 데이터베이스는, 상기 사용자 단말의 아이디, 상기 토큰 및 상기 토큰의 등록일을 상기 제1서버로부터 등록받아 저장하는, 인증 연동 시스템.11. The authentication interworking system of 1 above, wherein the authentication interworking database stores the ID of the user terminal, the token, and the registration date of the token by registering from the first server and storing the authentication interworking system.

12. 위 10에 있어서, 상기 토큰의 만료일은, 상기 사용자 단말로부터 상기 제2서버 로그인 요청을 수신한 시각에 기 설정된 인증 가능 시간만큼을 더한 시간으로 설정되는, 인증 연동 시스템.12. The authentication interworking system of 10 above, wherein the expiration date of the token is set to the time when the second server login request is received from the user terminal plus a preset authentication time.

13. 위 12에 있어서, 상기 제1서버는, 상기 사용자 단말의 아이디 및 상기 토큰을 포함하는 문자열을 제1유동키 및 고정키를 이용하여 암호화하고, 암호화된 상기 문자열 및 상기 제1유동키를 상기 인증 연동 서버로 송신하며, 상기 인증 연동 서버는, 수신된 상기 제1유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하고, 복호화된 상기 문자열로부터 추출된 상기 토큰의 만료일을 계산하여 상기 인증 연동 데이터베이스에 등록하는, 인증 연동 시스템.13. In the above 12, wherein the first server encrypts the string including the ID and the token of the user terminal using a first flow key and a fixed key, and encrypts the encrypted string and the first flow key Transmitting to the authentication interworking server, the authentication interworking server decrypts the encrypted string using the received first floating key and a pre-stored fixed key, and calculates an expiration date of the token extracted from the decrypted string. And registering in the authentication interworking database.

14. 위 10에 있어서, 상기 제2서버는, 상기 사용자 단말의 아이디 및 상기 토큰을 수신하고, 수신된 상기 아이디, 상기 토큰 및 토큰 검증 요청 시각 정보를 포함하는 문자열을 제2유동키 및 고정키를 이용하여 암호화하며, 암호화된 상기 문자열 및 상기 제2유동키를 상기 인증 연동 서버로 송신하고, 상기 인증 연동 서버는, 수신된 상기 제2유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하고, 복호화된 상기 문자열로부터 추출된 상기 토큰 검증 요청 시간을 상기 인증 연동 데이터베이스로 송신하는 인증 연동 시스템.14. In the above 10, wherein the second server, receiving the ID and the token of the user terminal, the second flow key and the fixed key to the string containing the ID, the token and token verification request time information received Encrypts the data and transmits the encrypted string and the second flow key to the authentication interlocking server, wherein the authentication interlocking server encrypts the string using the received second flow key and the stored fixed key. And decrypts the token and transmits the token verification request time extracted from the decrypted string to the authentication interworking database.

15. 위 14에 있어서, 상기 인증 연동 데이터베이스는, 상기 인증 연동 서버로부터 수신된 상기 토큰 검증 요청 시간을 저장하고, 수신된 상기 토큰 검증 요청 시간과 기 저장된 토큰의 만료일을 비교하여, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 빠른 경우 상기 토큰 검증 요청이 유효한 것으로 판단하고, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 느린 경우 상기 토큰 검증 요청이 유효하지 않은 것으로 판단하여, 상기 판단에 따른 인증 결과를 상기 인증 연동 서버로 송신하는, 인증 연동 시스템.15. The token verification request according to the above 14, wherein the authentication interworking database stores the token verification request time received from the authentication interworking server, and compares the received token verification request time with an expiration date of a previously stored token. If the time is earlier than the expiration date of the token, the token verification request is determined to be valid. If the token verification request time is later than the expiration date of the token, the token verification request is determined to be invalid, and the authentication result according to the determination is determined. Transmitting the authentication to the authentication interlocking server.

16. 위 10에 있어서, 상기 제2서버에서의 사용자 단말 인증 수행 후, 상기 사용자 단말로부터 상기 제1서버 또는 상기 제2서버로 토큰 폐기 요청이 수신되는 경우, 상기 제1서버 또는 상기 제2서버는, 상기 인증 연동 서버로 암호화된 토큰 폐기 요청을 송신하고, 상기 인증 연동 서버는, 수신된 상기 암호화된 토큰 폐기 요청을 복호화하고 인증 연동 데이터베이스에 저장된 토큰을 폐기하며, 상기 토큰 폐기 요청을 송신한 상기 제1서버 또는 상기 제2서버로 토큰 폐기 결과를 송신하고, 상기 제1서버 또는 상기 제2서버는, 사용자 단말에 저장된 토큰을 삭제하는, 인증 연동 시스템.16. In the above 10, when the token revocation request is received from the user terminal to the first server or the second server after performing the user terminal authentication in the second server, the first server or the second server Transmits an encrypted token discard request to the authentication interworking server, and the authentication interworking server decrypts the received encrypted token discard request, discards the token stored in the authentication interlocking database, and transmits the token discard request. And transmitting the token discard result to the first server or the second server, wherein the first server or the second server deletes the token stored in the user terminal.

17. 위 16에 있어서, 상기 제1서버 또는 제2서버는, 상기 아이디 및 상기 토큰을 포함하는 문자열을 제3유동키 및 고정키를 이용하여 암호화하고, 암호화된 상기 문자열 및 상기 제3유동키를 상기 인증 연동 서버로 송신하며, 상기 인증 연동 서버는, 수신된 상기 제3유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하고, 복호화된 상기 문자열로부터 추출된 토큰에 대한 폐기를 상기 인증 연동 데이터베이스로 요청하는, 인증 연동 시스템.17. In the above 16, wherein the first server or the second server, the character string including the ID and the token is encrypted using a third flow key and a fixed key, the encrypted string and the third flow key Is transmitted to the authentication interlocking server, and the authentication interlocking server decrypts the encrypted string using the received third floating key and the pre-stored fixed key, and discards the token extracted from the decrypted string. Authentication interworking system for requesting the authentication interlocking database.

18. 위 17에 있어서, 상기 인증 연동 데이터베이스에 저장된 토큰의 폐기는, 상기 토큰이 저장된 레코드의 필드 값을 사용 가능(GOOD)에서 사용 불가(REVOKE)로 변경함으로써 수행되는, 인증 연동 시스템.
18. The system of claim 17, wherein the revocation of the token stored in the authentication interlocking database is performed by changing a field value of a record in which the token is stored from GOOD to REVOKE.

본 발명의 실시예들에 따를 경우 하나의 서버에 대한 로그인 만으로 복수의 서버에 인증을 연동할 수 있게 되는 바, 사용자의 편의성을 증대시킬 수 있다.According to the embodiments of the present invention, the authentication can be linked to a plurality of servers only by logging in to one server, thereby increasing user convenience.

또한 상기 인증 연동 과정에서 암호화된 프로토콜 및 토큰을 이용하여 인증 연동을 수행하는 바, 외부의 공격에 강력한 인증 연동 알고리즘을 제공할 수 있다.
In addition, the authentication interworking process is performed using the encrypted protocol and token in the authentication interworking process, thereby providing a strong authentication interworking algorithm against external attacks.

도 1은 본 발명의 일 실시예에 따른 이종 시스템간 인증 연동 시스템(100)을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 복수 개의 서버로의 로그인 연동 방법(200)을 설명하기 위한 순서도이다.
도 2은 본 발명의 일 실시예에 따른 복수 개의 서버로의 로그아웃 연동 방법(300)을 설명하기 위한 순서도이다.
1 is a view for explaining the authentication interworking system 100 between heterogeneous systems according to an embodiment of the present invention.
2 is a flowchart illustrating a login interworking method 200 for a plurality of servers according to an embodiment of the present invention.
2 is a flowchart illustrating a logout interworking method 300 to a plurality of servers according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is merely an example and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.

도 1은 본 발명의 일 실시예에 따른 이종 시스템간 인증 연동 시스템(100)을 설명하기 위한 도면이다.1 is a view for explaining the authentication interworking system 100 between heterogeneous systems according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 일 실시예에 따른 인증 연동 시스템(100)은 제1서버(102), 제2서버(104), 사용자 단말(106), 인증 연동 데이터베이스(108) 및 인증 연동 서버(110)를 포함하며, 상기 각 구성요소들은 네트워크(112)를 통하여 서로 연결되어 데이터를 주고받는다.As shown, the authentication interworking system 100 according to an embodiment of the present invention is the first server 102, the second server 104, the user terminal 106, the authentication interlocking database 108 and the authentication interlocking server 110, each of which is connected to each other through a network 112 to exchange data.

제1서버(102) 및 제2서버(104)는 네트워크상에서 사용자 단말(106)로 서비스를 제공하기 위한 서버로서, 네이버(Naver), 구글(Google) 등의 포털 서버, 또는 기타 네트워크 상에서 사용자에게 필요한 서비스를 제공하는 서버들이 이에 해당한다. 본 발명에서 제1서버(102) 및 제2서버(104)는 서로 독립된 사용자 로그인 및 인증 시스템을 가지도록 구성된다. 즉, 제1서버(102)에 로그인한 사용자 단말(106)이 제2서버(104)의 서비스를 이용하기 위해서는 원칙적으로 먼저 제2서버(104)에 로그인하는 과정을 거쳐야 하며, 이는 제2서버(104)에 로그인한 사용자 단말(106)이 제1서버(102)의 서비스를 이용하는 경우에도 마찬가지이다. 다만, 이 경우 사용자 단말(106)은 사용하려는 서비스의 개수만큼의 로그인 과정(아이디, 패스워드 입력 등)을 거쳐야 하는 바, 이러한 불편을 해소하기 위하여 본 발명에서는 제1서버(102)(또는 제2서버(104)) 에 사용자 로그인이 완료된 경우 자동적으로 제2서버(104)(또는 제1서버(102))에도 로그인이 완료되도록 구성된다(로그인 연동 또는 인증 연동). 이와 같은 복수 개의 서버 간 로그인 연동 과정에 대해서는 이하에서 상세히 설명하기로 한다.The first server 102 and the second server 104 are servers for providing a service to the user terminal 106 on a network, and are provided to a user on a portal server such as Naver, Google, or other networks. This includes servers that provide the necessary services. In the present invention, the first server 102 and the second server 104 is configured to have a user login and authentication system independent of each other. That is, in order for the user terminal 106 logged in to the first server 102 to use the service of the second server 104, in principle, the user terminal 106 must first log in to the second server 104, which is the second server. The same applies to the case where the user terminal 106 logged in to 104 uses the service of the first server 102. In this case, however, the user terminal 106 must go through a login process (ID, password input, etc.) as many as the number of services to be used. In order to solve such inconvenience, the first server 102 (or the second) When the user login to the server 104 is completed, the second server 104 (or the first server 102) is automatically configured to complete the login (login interlocking or authentication interlocking). The login interworking process between the plurality of servers will be described in detail below.

설명의 편의를 위하여, 후술할 설명에서는 사용자 단말(104)이 먼저 제1서버(102)에 로그인한 이후 제2서버(104)로의 인증 연동이 수행되는 것으로 가정하기로 한다. 그러나 이는 예시적인 것일 뿐이며, 본 발명에서는 순서에 상관없이 네트워크상(112)에 존재하는 서버 중 하나에 로그인이 완료된 경우 로그인되지 않은 나머지 서버(들)에 대해서도 자동적으로 인증 과정이 수행되도록 구성된다. 또한, 도면에서는 네트워크(112)에 제1서버(102) 및 제2서버(104)의 2개의 서버만 존재하는 것으로 도시하였으나, 서버의 개수에는 제한이 없으며 제3서버, 제4서버 등 다수 개의 서버가 추가적으로 존재할 수도 있다. 이 경우 복수의 서버 중 하나의 서버에 로그인하면 다른 서버들에도 자동적으로 인증 과정이 수행되어 한 번의 로그인만으로 복수 개의 서버에 로그인한 것과 같은 효과를 가져올 수 있다.For convenience of explanation, in the following description, it is assumed that the user terminal 104 first logs in to the first server 102 and then performs authentication interworking with the second server 104. However, this is merely exemplary, and in the present invention, when the login is completed in one of the servers existing in the network 112 in any order, the authentication process is automatically performed for the remaining server (s) not logged in. In addition, although only two servers of the first server 102 and the second server 104 are shown in the network 112, the number of servers is not limited and a plurality of servers such as a third server and a fourth server are shown. There may be additional servers. In this case, when logging in to one of the plurality of servers, the authentication process is automatically performed on the other servers, so that the same effect as logging in to the plurality of servers with only one login.

사용자 단말(106)은 제1서버(102) 및 제2서버(104)에 로그인하여 서비스를 제공받기 위한 단말이다. 이와 같은 사용자 단말(106)은 예를 들어 일반적인 퍼스널 컴퓨터, 노트북 컴퓨터, 태블릿, PDA, 휴대폰(스마트폰) 등을 포함할 수 있다. 즉, 서버에 연결되어 데이터를 주고받을 수 있는 형태의 단말이라면 그 형태에 관계 없이 본 발명의 사용자 단말(106)이 될 수 있다.The user terminal 106 is a terminal for logging in to the first server 102 and the second server 104 to receive a service. Such a user terminal 106 may include, for example, a general personal computer, a notebook computer, a tablet, a PDA, a mobile phone (smartphone), and the like. That is, any type of terminal connected to the server to exchange data may be the user terminal 106 of the present invention regardless of its type.

사용자 단말(106)은 그 내부에 로그인 서비스 관리 에이전트(미도시)를 포함할 수 있다. 상기 로그인 서비스 관리 에이전트는 사용자 단말(106)이 특정 서버에 로그인된 경우 해당 서버의 정보를 저장한다. 예를 들어, 사용자 단말(106)이 제1서버(102) 또는 제2서버(104)에 로그인된 경우, 상기 로그인 서비스 관리 에이전트는 로그인된 제1서버(102) 또는 제2서버(104)의 식별 정보 및 로그인 시간 등의 정보를 리스트 형식으로 저장한다. 또한 사용자 단말(106)이 제1서버(102) 또는 제2서버(104)에서 로그아웃된 경우, 상기 로그인 서비스 관리 에이전트는 로그아웃된 서버의 정보를 상기 리스트에서 삭제한다.The user terminal 106 may include a login service management agent (not shown) therein. The login service management agent stores information of the server when the user terminal 106 is logged in to a specific server. For example, when the user terminal 106 is logged in to the first server 102 or the second server 104, the login service management agent may be configured to log in to the logged in first server 102 or the second server 104. Information such as identification information and login time is stored in a list format. In addition, when the user terminal 106 is logged out of the first server 102 or the second server 104, the login service management agent deletes the information of the logged out server from the list.

사용자 단말(106)은 또한 로그인된 제1서버(102) 또는 제2서버(104)로부터 생성되어 전송되는 토큰(token)을 저장하기 위한 공간을 포함한다. 상기 토큰은 서버 간의 인증 연동을 위하여 사용되는 것으로서, 예를 들어 소정 자리수의 난수(random number)로 구성될 수 있다. 이와 같은 토큰은 예를 들어 사용자 단말(106)의 레지스트리(registry)에 저장될 수 있다.The user terminal 106 also includes a space for storing tokens generated and transmitted from the logged in first server 102 or the second server 104. The token is used for authentication interworking between servers, and may be configured, for example, with a random number of predetermined digits. Such tokens may be stored, for example, in the registry of the user terminal 106.

인증 연동 데이터베이스(108)는 사용자 단말(106)이 로그인한 제1서버(102) 또는 제2서버(104)로부터 수신되는 상기 토큰 및 상기 토큰의 만료일(EXP_DATE)을 저장한다. 상기 토큰의 만료일은 서버 간 인증 연동 과정에서 토큰 검증을 위해 사용된다.The authentication interworking database 108 stores the token received from the first server 102 or the second server 104 to which the user terminal 106 logs in and the expiration date EXP_DATE of the token. The expiration date of the token is used for token verification in the authentication interworking process between servers.

인증 연동 서버(110)는 제1서버(102) 및 제2서버(104) 간의 인증을 연동하기 위한 서버이다. 예를 들어, 사용자 단말(106)이 제1서버(102)로 로그인한 경우, 인증 연동 서버(110)는 제1서버(102)에서 생성된 토큰을 이용하여 제2서버(104)로의 인증을 수행한다. 즉, 인증 연동 서버(110)를 통할 경우, 사용자 단말(106)은 제1서버(102) 또는 제2서버(104)에 한 번만 로그인을 수행하더라도 나머지 서버에 자동으로 로그인을 완료할 수 있다.The authentication interworking server 110 is a server for interlocking authentication between the first server 102 and the second server 104. For example, when the user terminal 106 logs in to the first server 102, the authentication interworking server 110 authenticates the second server 104 using the token generated in the first server 102. To perform. That is, when the authentication interworking server 110 passes through, the user terminal 106 may automatically log in to the remaining server even if the first server 102 or the second server 104 logs in only once.

본 발명의 실시예에서, 인증 연동 서버(110)는 서버들 간 인증 연동을 구현하기 위한 함수(메소드; method)를 제공하기 위한 웹 서비스 서버(Web service server)로 구현될 수 있다. 웹 서비스(Seb service)란 서로 다른 컴퓨팅 환경에서 사용되는 모든 애플리케이션들이 직접 소통하고 실행될 수 있도록 동적 시스템 환경을 구현해 주는 소프트웨어 컴포넌트로 데이터와 서비스를 다른 응용 프로그램에 제공하고, 응용 프로그램의 작성 시 HTTP, XML, SOAP와 같은 표준화된 웹 프로토콜과 데이터 형식을 사용함으로써 운영 체계(OS) 등 특정 플랫폼과 상관없이 모든 컴퓨터 간 원활한 데이터의 흐름을 보장하기 위한 서비스이다. 즉, 본 발명에서 인증 연동 서버(110)는 표준화된 웹 프로토콜 및 데이터 전송 형식을 이용한 웹 서비스로 구현됨으로써 각각의 서버들이 서로 다른 플랫폼을 사용하더라도 원활하게 서버간 인증 연동을 제공할 수 있도록 구성된다.In an embodiment of the present invention, the authentication interworking server 110 may be implemented as a web service server for providing a function (method) for implementing authentication interworking between the servers. Seb service is a software component that implements a dynamic system environment so that all applications used in different computing environments can communicate and run directly. Web services provide data and services to other applications. By using standardized web protocols and data formats such as XML and SOAP, this service ensures smooth data flow between all computers regardless of specific platform such as operating system (OS). That is, in the present invention, the authentication interworking server 110 is implemented as a web service using a standardized web protocol and a data transmission format, so that even if each server uses a different platform, the authentication interworking server 110 can provide a smooth interworking between servers. .

네트워크(112)는 제1서버(102), 제2서버(104), 사용자 단말(106), 인증 연동 데이터베이스(108) 및 인증 연동 서버(110)가 서로 연결되어 데이터를 주고받기 위한 매개체이다. 이와 같은 네트워크(112)는 유, 무선 인터넷망 또는 이동통신망 등을 포함할 수 있으며, 패킷 통신이 가능한 어떤 형태의 망 또한 본 발명의 네트워크(112)에 포함될 수 있다.
The network 112 is a medium through which the first server 102, the second server 104, the user terminal 106, the authentication interworking database 108, and the authentication interworking server 110 are connected to each other to exchange data. Such a network 112 may include a wired, wireless Internet network or a mobile communication network, and any type of network capable of packet communication may also be included in the network 112 of the present invention.

도 2 및 도 3은 본 발명의 일 실시예에 따른 인증 연동 방법을 설명하기 위한 순서도이다. 구체적으로 도 2는 본 발명의 일 실시예에 따른 복수 개의 서버로의 로그인 연동 방법(200), 도 3은 본 발명의 일 실시예에 따른 복수 개의 서버로의 로그아웃 연동 방법(300)을 나타낸 순서도이다.
2 and 3 are flowcharts illustrating an authentication interworking method according to an embodiment of the present invention. Specifically, FIG. 2 illustrates a login interworking method 200 to a plurality of servers according to an embodiment of the present invention, and FIG. 3 illustrates a logout interworking method 300 to a plurality of servers according to an embodiment of the present invention. Flowchart.

로그인 연동Login Integration

먼저 도 2를 참조하여 본 발명의 일 실시예에 따른 복수 개의 서버로의 로그인 연동 방법(200)을 설명한다. First, a login interworking method 200 to a plurality of servers according to an exemplary embodiment of the present invention will be described with reference to FIG. 2.

사용자 단말(106)은 제1서버(102)로의 로그인을 위하여 제1서버(102)로 로그인 요청을 송신한다(202). 상기 로그인 요청은 제1서버(102)에 등록된 사용자 단말(106)의 아이디 및 패스워드를 포함할 수 있다. 상기 로그인 요청을 수신한 제1서버(102)는 수신된 아이디 및 패스워드를 이용하여 사용자 단말(106)을 인증하고, 인증이 완료된 경우 그 결과를 사용자 단말(106)로 송신한다(204). 만약 상기 204 단계에서 아이디 또는 패스워드가 일치하지 않거나 한 경우 제1서버(102)는 인증 불가 메시지를 사용자 단말(106)로 송신하며, 이 경우 사용자 단말(202)은 상기 202 단계부터 다시 본 과정을 수행할 수 있다.The user terminal 106 transmits a login request to the first server 102 for login to the first server 102 (202). The login request may include an ID and a password of the user terminal 106 registered in the first server 102. Upon receiving the login request, the first server 102 authenticates the user terminal 106 using the received ID and password, and transmits the result to the user terminal 106 when authentication is completed (204). If the ID or password do not match in step 204 or the first server 102 transmits a non-authentication message to the user terminal 106, in this case, the user terminal 202 repeats the process from step 202 again. Can be done.

제1서버(102)로의 로그인이 완료된 경우, 사용자 단말(106)은 로그인 서비스 관리 에이전트의 관리 리스트에 제1서버(102)의 식별 정보 및 로그인 시각 정보를 추가하여 상기 로그인 서비스 관리 에이전트를 업데이트한다(206).When the login to the first server 102 is completed, the user terminal 106 updates the login service management agent by adding identification information and login time information of the first server 102 to the management list of the login service management agent. (206).

한편, 제1서버(102)는 사용자 단말(106)의 로그인이 완료된 경우, 사용자 단말(106)에 대응되는 토큰을 생성하고, 생성된 상기 토큰 및 사용자 단말(106)의 아이디(ID)를 인증 연동 데이터베이스(108)에 등록한다(208). 전술한 바와 같이, 상기 토큰은 소정 자리수, 예를 들어 32자리의 난수(random number)로 구성될 수 있다. 본 발명의 실시에 있어 상기 토큰의 자리수(길이) 및 이를 생성하기 위한 방법에 특별한 제한은 없으며, 보안 등을 고려하여 적절한 난수 생성 함수를 이용할 수 있다.Meanwhile, when the login of the user terminal 106 is completed, the first server 102 generates a token corresponding to the user terminal 106, and authenticates the generated token and ID of the user terminal 106. Register with the interlocking database 108 (208). As described above, the token may consist of a predetermined number, for example, a random number of 32 digits. In the practice of the present invention, there is no particular limitation on the number of digits (length) of the token and a method for generating the token, and an appropriate random number generation function may be used in consideration of security.

인증 연동 데이터베이스(108)는 제1서버(102)로부터 수신된 상기 토큰 및 상기 아이디, 토큰의 등록일(REG_DATE)을 저장하고, 저장이 완료된 경우 등록 완료 메시지를 제1서버(102)로 송신한다(210). 상기 토큰의 등록일은 상기 토큰이 인증 연동 데이터베이스(108)에 등록되는 시각으로서, 이는 제1서버(102)로부터 상기 아이디 및 토큰과 함께 전송받거나, 또는 인증 연동 데이터베이스(108)가 상기 아이디 및 토큰을 제1서버(102)로부터 수신한 시각 정보를 이용할 수 있다.The authentication interworking database 108 stores the token received from the first server 102, the ID, and the registration date REG_DATE of the token, and transmits a registration completion message to the first server 102 when the storage is completed ( 210). The registration date of the token is the time when the token is registered in the authentication interlocking database 108, which is received from the first server 102 together with the ID and the token, or the authentication interlocking database 108 transmits the ID and the token. The time information received from the first server 102 can be used.

인증 연동 데이터베이스(108)에 상기 토큰 및 관련 정보들을 저장하기 위한 데이터베이스 테이블은 예를 들어 다음과 같이 구성될 수 있다.
A database table for storing the token and related information in the authentication interworking database 108 may be configured as follows, for example.

필드명Field name 데이터 타입Data type 설명Explanation USER_IDUSER_ID VARCHAR2(40)VARCHAR2 (40) 사용자 단말(106)의 아이디ID of the user terminal 106 TOKENTOKEN VARCHAR2(32)VARCHAR2 (32) 토큰 값Token value REG_DATEREG_DATE DATEDATE 토큰 등록일Token registration date VERIFY_DATEVERIFY_DATE DATEDATE 토큰 검증 요청 시각Token Verification Request Time EXP_DATEEXP_DATE DATEDATE 토큰 만료일Token Expiration Date STATESTATE VARCHAR2(10)VARCHAR2 (10) 토큰 상태 값
- GOOD: 이용가능
- REVOKE: 토큰 폐기상태
Token status value
GOOD: Available
REVOKE: Token Revocation

상기 값들 중 토큰 검증 요청 시각, 토큰 만료일 및 토큰 상태 값에 대해서는 이하의 설명 중 해당 항목에서 설명하기로 한다.Among the above values, the token verification request time, token expiration date, and token status values will be described in the corresponding items of the following description.

이후, 제1서버(102)는 생성된 상기 토큰을 사용자 단말(106)로 전송하고, 사용자 단말(106)은 이를 사용자 단말(106) 내부에 저장한다(212, 214). 이때, 제1서버(102)는 필요한 경우 상기 토큰과 함께 사용자 단말(106)의 아이디를 함께 전송할 수 있다.Thereafter, the first server 102 transmits the generated token to the user terminal 106, and the user terminal 106 stores it inside the user terminal 106 (212, 214). In this case, the first server 102 may transmit the ID of the user terminal 106 together with the token if necessary.

이후, 사용자 단말(106)은 제1서버(102)로 제2서버(104)에 대한 로그인 요청을 송신한다(216). 전술한 202 단계에서의 제1서버(102) 로그인 과정은 사용자 단말(106)의 사용자가 직접 아이디 및 패스워드를 입력하여 이루어지는 과정이나, 본 단계에서는 제2서버(104)에 대한 아이디/패스워드 입력 등의 과정을 거치지 않고, 단순히 사용자 단말(106)이 제1서버(102)로 제2서버(104)에 대한 로그인을 요청하는 것만으로 후술할 단계를 거쳐 제2서버(104)에 대한 로그인이 완료된다는 점이 202 단계와 상이하다. 즉, 본 단계는 상기 사용자의 직접적 개입(아이디/패스워드 입력 등)이 포함되지 않으며, 사용자 단말(106)의 내부에서 자동적으로 진행된다는 점에 유의한다.Thereafter, the user terminal 106 transmits a login request for the second server 104 to the first server 102 (216). The log-in process of the first server 102 in step 202 is a process in which a user of the user terminal 106 directly inputs an ID and password, but in this step, an ID / password input to the second server 104 is performed. Without going through the process, the user terminal 106 simply logs in to the second server 104 through the steps described below by simply requesting the first server 102 to log in to the second server 104. Is different from step 202. In other words, it is noted that the present step does not include the user's direct intervention (ID / password input, etc.), but proceeds automatically inside the user terminal 106.

제2서버(104)에 대한 로그인 요청을 송신한 제1서버(102)는 인증 연동 서버(110)로 사용자 단말(106)과 대응되는 토큰의 만료일(EXP_DATE) 등록을 요청한다(218). 상기 토큰의 만료일(EXP_DATE)이란 기 저장된 토큰을 이용하여 제2서버(104)로의 로그인 연동이 가능한 시간을 의미한다. 이와 같은 토큰의 만료일은 제1서버(102)가 사용자 단말(106)로부터 제2서버(104) 로그인 요청을 수신(216 단계)한 시각에 기 설정된 인증 가능 시간만큼을 더한 시간으로 설정될 수 있다. 즉, 상기 토큰의 만료일은 다음과 같이 구성될 수 있다.
The first server 102 that transmits the login request to the second server 104 requests the authentication interworking server 110 to register the expiration date (EXP_DATE) of the token corresponding to the user terminal 106 (218). The expiration date (EXP_DATE) of the token means a time when login interworking with the second server 104 can be performed using a previously stored token. The expiration date of such a token may be set to the time when the first server 102 receives the login request of the second server 104 from the user terminal 106 (step 216), and adds the preset authentication time. . That is, the expiration date of the token may be configured as follows.

EXP_DATE = 제2서버 로그인 요청 시각 + 인증 가능 시간
EXP_DATE = Second Server Login Request Time + Authentication Time

상기 인증 가능 시간은 네트워크(112)에 연결된 각 구성요소들의 응답 지연 및 보안성 등을 고려하여 적절하게 정할 수 있으며, 예를 들어 1분 내지 5분 사이의 값을 가질 수 있다.The authentication available time may be appropriately determined in consideration of response delay and security of each component connected to the network 112, and may be, for example, a value between 1 minute and 5 minutes.

또한, 상기 토큰의 만료일은 보안을 위하여 암호화된 형태로 인증 연동 서버(110)로 송신될 수 있다. 예를 들어, 상기 토큰의 만료일 등록에는 다음과 같은 형태의 함수가 사용될 수 있다.
In addition, the expiration date of the token may be transmitted to the authentication interworking server 110 in encrypted form for security. For example, a function of the following form may be used to register an expiration date of the token.

ExpireToken(String EncryptedExpire, String Key1)
ExpireToken (String EncryptedExpire, String Key1)

이때 ExpireToken은 암호화된 토큰의 만료일 및 이를 복호화하기 위한 키를 전달하기 위한 함수(메소드)로서, 해당 만료일 등록 성공 시 True를 리턴하고 등록 실패 시 False를 리턴하도록 구성될 수 있다.
In this case, ExpireToken is a function (method) for delivering an expiration date of an encrypted token and a key for decrypting the encrypted token, and may be configured to return True when registration of the expiration date succeeds and False when registration fails.

EncryptedExpire는 만료일 등록을 요청한 토큰을 식별하기 위한 암호화된 문자열(string)로서, 다음과 같은 형태로 구성될 수 있다.EncryptedExpire is an encrypted string for identifying a token requesting registration of an expiration date, and may be configured as follows.

0: 의미 없는 값으로서 보안 강화를 위하여 삽입되는 값0: meaningless value inserted for added security

1: 사용자 단말(106)의 ID1: ID of the user terminal 106

2: 토큰2: token

EncryptedExpire = (0 + 1 + 2)를 암호화한 값
EncryptedExpire = Encrypted (0 + 1 + 2)

Key1은 상기 EncryptedExpire를 암호화하는 데 사용되는 유동키(제1유동키)이다. 즉, 제1서버(102)는 제1유동키 및 고정키(각 서버들이 공통적으로 가지고 있는 키)를 이용하여 상기 아이디 및 토큰을 암호화하고, 암호화된 아이디/토큰과 상기 제1유동키를 ExpireToken함수를 통하여 인증 연동 서버(110)로 송신한다.
Key1 is a floating key (first floating key) used to encrypt the EncryptedExpire. That is, the first server 102 encrypts the ID and token by using a first flow key and a fixed key (keys that each server has in common), and encrypts the encrypted ID / token and the first flow key by using ExpireToken. Send to the authentication interworking server 110 through the function.

인증 연동 서버(110)는 상기 암호화된 아이디/토큰과 상기 제1유동키를 수신하고, 수신된 제1유동키 및 인증 연동 서버(110) 내에 기 저장된 고정키를 이용하여 암호화된 문자열을 복호화한 뒤(220), 복호화된 문자열로부터 추출된 토큰의 만료일(EXP_DATE)을 계산하여 인증 연동 데이터베이스(108)의 EXP_DATE 필드에 저장한다(222).The authentication interworking server 110 receives the encrypted ID / token and the first flow key, and decrypts the encrypted string using the received first flow key and the fixed key previously stored in the authentication interworking server 110. Next, the expiration date EXP_DATE of the token extracted from the decrypted string is calculated and stored in the EXP_DATE field of the authentication interworking database 108 (222).

이후, 사용자 단말(106)은 제2서버(104)로 레지스트리에 저장된 아이디 및 토큰을 전송하고(224), 제2서버(104)는 사용자 단말(106)로부터 수신된 상기 아이디 및 토큰을 이용하여 인증 연동 서버(110)로 사용자 단말(106)의 토큰 검증 요청을 송신한다. 이때 상기 토큰 검증 요청에는 상기 아이디 및 토큰과 함께 검증 요청 시각(VERIFY_DATE)을 포함한다. 상기 검증 요청 시각은 인증 연동 서버(110)가 상기 토큰 검증 요청을 송신하는 시각을 의미한다.
Thereafter, the user terminal 106 transmits the ID and token stored in the registry to the second server 104 (224), and the second server 104 uses the ID and token received from the user terminal 106. The token verification request of the user terminal 106 is transmitted to the authentication interworking server 110. At this time, the token verification request includes a verification request time (VERIFY_DATE) together with the ID and token. The verification request time means a time at which the authentication interworking server 110 transmits the token verification request.

상기 토큰 검증 요청은 보안을 위하여 암호화된 형태로 인증 연동 서버(110)로 송신될 수 있다. 예를 들어, 상기 토큰 검증 요청에는 다음과 같은 형태의 함수가 사용될 수 있다.
The token verification request may be transmitted to the authentication interworking server 110 in an encrypted form for security. For example, the following types of functions may be used for the token verification request.

IsValidToken(String EncryptedAuth, String Key2)
IsValidToken (String EncryptedAuth, String Key2)

이때 IsValidToken은 암호화된 토큰 검증 요청 및 이를 복호화하기 위한 키를 전달하기 위한 함수(메소드)로서, 해당 아이디의 토큰값이 유효하면 True를 리턴하고, 유효하지 않으면 False를 리턴하도록 구성될 수 있다.
In this case, IsValidToken is a function (method) for transmitting an encrypted token verification request and a key for decrypting the token. The IsValidToken may be configured to return True if the token value of the corresponding ID is valid and False if it is not valid.

EncryptedAuth는 다음과 같은 형태로 구성될 수 있다.EncryptedAuth can consist of the following forms:

0: 의미 없는 값으로서 보안 강화를 위하여 삽입되는 값0: meaningless value inserted for added security

1: 사용자 단말(106)의 ID1: ID of the user terminal 106

2: 토큰2: token

3: VERIFY_DATE3: VERIFY_DATE

EncryptedAuth = (0 + 1 + 2 + 3)을 암호화한 값
EncryptedAuth = encrypted value of (0 + 1 + 2 + 3)

Key2은 상기 EncryptedAuth를 암호화하는 데 사용되는 유동키(제2유동키)이다. 즉, 제2서버(104)는 제2유동키 및 고정키(각 서버들이 공통적으로 가지고 있는 키)를 이용하여 상기 아이디, 토큰 및 검증 요청 시각을 암호화하고, 암호화된 문자열과 상기 제2유동키를 IsValidToken 함수를 통하여 인증 연동 서버(110)로 송신한다.
Key2 is a floating key (second floating key) used to encrypt the EncryptedAuth. That is, the second server 104 encrypts the ID, token and verification request time by using a second flow key and a fixed key (keys that each server has in common), and encrypts the encrypted string and the second flow key. Is transmitted to the authentication interworking server 110 through the IsValidToken function.

이후 인증 연동 서버(110)는 수신된 상기 제2유동키 및 기 저장된 고정키를 이용하여 암호화된 문자열(EncryptedAuth)을 복호화하고(228), 복호화된 문자열 및 인증 연동 데이터베이스(108)에 등록된 토큰의 만료일을 이용하여 토큰 검증 요청에 따른 토큰 검증을 수행한다(230, 232).Thereafter, the authentication interworking server 110 decrypts an encrypted string (EncryptedAuth) using the received second flow key and the previously stored fixed key (228), and the token registered in the decrypted string and the authentication interworking database 108. Token verification according to the token verification request is performed using the expiration date of the 230 and 232.

구체적으로, 인증 연동 서버(110)는 복호화된 문자열로부터 추출된 아이디, 토큰 및 검증 요청 시간을 인증 연동 데이터베이스(108)로 송신한다(230). 인증 연동 데이터베이스(108)는 인증 연동 서버(110)로부터 수신된 상기 토큰 검증 요청 시간을 저장하고, 수신된 토큰 검증 요청 시간과 기 저장된 토큰의 만료일(EXP_DATE)을 비교하여, 토큰 검증 요청 시간이 토큰의 만료일보다 빠른 경우 토큰 검증 요청이 유효한 것으로 판단하고, 토큰 검증 요청 시간이 토큰의 만료일보다 느린 경우 토큰 검증 요청이 유효하지 않은 것으로 판단한다. 즉, 본 발명에서는 제2서버(104)의 토큰 검증 요청 시간이 기 설정된 토큰 만료일 이내일 경우에만 상기 토큰을 유효한 것으로 판단하여 사용자 단말(106)의 제2서버(104)로의 로그인을 허용한다. In detail, the authentication interworking server 110 transmits an ID, a token, and a verification request time extracted from the decrypted string to the authentication interlocking database 108 (230). The authentication interworking database 108 stores the token verification request time received from the authentication interworking server 110 and compares the received token verification request time with the expiration date (EXP_DATE) of the pre-stored token, so that the token verification request time is equal to the token. If the token verification request is earlier than the expiration date of the token, the token verification request is determined to be valid. That is, in the present invention, the token is determined to be valid only when the token verification request time of the second server 104 is within a preset token expiration date, thereby allowing the user terminal 106 to log in to the second server 104.

이와 같은 토큰 검증 결과는 인증 연동 서버(110)를 거쳐 제2서버(104)로 전달되며(232, 234), 제2서버(104)는 인증 연동 서버(110)로부터 수신한 토큰 검증 결과에 따라 사용자 단말(106)을 인증한다. 즉, 상기 토큰의 검증 결과 기 송신한 토큰이 유효한 토큰인 경우 사용자 단말(106)의 제2서버(104)로의 로그인을 허용하고, 유효하지 않은 토큰인 경우 사용자 단말(106)의 로그인을 허용하지 않는다. 제2서버(104)로의 로그인이 허용된 경우, 사용자 단말(106)은 로그인 서비스 관리에이전트에 포함된 리스트에 제2서버(104)를 추가하여 상기 로그인 서비스 관리에이전트를 업데이트한다.
The token verification result is transmitted to the second server 104 via the authentication interworking server 110 (232, 234), the second server 104 in accordance with the token verification result received from the authentication interworking server 110 Authenticate user terminal 106. That is, as a result of the verification of the token, if the previously transmitted token is a valid token, login of the user terminal 106 to the second server 104 is allowed, and if the token is invalid, the login of the user terminal 106 is not allowed. Do not. If login to the second server 104 is allowed, the user terminal 106 updates the login service management agent by adding the second server 104 to the list included in the login service management agent.

로그아웃Log out 연동 peristalsis

다음으로, 도 3을 참조하여 본 발명의 일 실시예에 따른 복수 개의 서버로의 로그아웃 연동 방법(300)을 설명한다. Next, a logout interworking method 300 to a plurality of servers according to an embodiment of the present invention will be described with reference to FIG. 3.

먼저, 사용자 단말(106)은 기 로그인된 제1서버(102)와 제2서버(104) 각각으로부터 로그아웃 과정을 수행하고(302, 306), 로그아웃된 제1서버(102) 및 제2서버(104)를 로그인 서비스 관리에이전트로부터 삭제한다(304, 308). 상기와 같은 로그아웃 단계는 각 서버 별로 동시에 수행될 수도 있고 순차적으로 수행될 수도 있다. 또한 도면에서는 제1서버(102)의 로그아웃(302) 및 로그인 서비스 관리에이전트 업데이트(304)가 수행된 이후 제2서버(104)의 로그아웃(306) 및 로그인 서비스 관리에이전트 업데이트(308)가 수행되는 것으로 기재되었으나, 이는 예시적인 것일 뿐이며 상기 단계들은 서버 별로 순서를 바꾸어 수행될 수도 있음은 자명하다.First, the user terminal 106 performs a logout process from each of the first server 102 and the second server 104 previously logged in (302, 306), and the logged out first server 102 and the second. The server 104 is deleted from the login service management agent (304, 308). The logout step as described above may be performed simultaneously for each server or sequentially. Also, in the figure, after the logout 302 and the login service management agent update 304 of the first server 102 are performed, the logout 306 and the login service management agent update 308 of the second server 104 are performed. Although described as being performed, this is merely exemplary and it is obvious that the above steps may be performed in a server-by-server order.

이와 같이 모든 서버에 대한 로그아웃이 완료되면, 사용자 단말(106)은 제1서버(102) 또는 제2서버(104) 중 어느 하나의 서버로 토큰 폐기 요청을 송신한다(310). 상기 토큰 폐기 요청(312)은 로그아웃된 서버 중 임의로 선택된 하나의 서버를 통하여 이루어질 수 있으며, 이하에서는 제2서버(104)로 토큰 폐기 요청이 송신된 것으로 가정한다.As such, when the logout of all the servers is completed, the user terminal 106 transmits a token discard request to one of the first server 102 or the second server 104 (310). The token revocation request 312 may be made through one server arbitrarily selected from among the logged out servers. Hereinafter, it is assumed that the token revocation request is transmitted to the second server 104.

상기 요청을 수신한 제2서버(104)는 인증 연동 서버(110)로 암호화된 토큰 폐기 요청을 송신한다(312). 상기 암호화된 토큰 폐기 요청은 다음과 같은 함수(메소드)를 통하여 이루어질 수 있다.
Upon receiving the request, the second server 104 transmits an encrypted token discard request to the authentication interworking server 110 (312). The encrypted token revocation request can be made through the following function (method).

RequestRevokeToken(String EncryptedRevoke, String Key3)
RequestRevokeToken (String EncryptedRevoke, String Key3)

RequestRevokeToken은 암호화된 토큰 폐기 요청을 전송하기 위한 함수로서, 토큰의 폐기 성공시 True를, 실패시 False를 반환한다.
RequestRevokeToken is a function to send an encrypted token revocation request. It returns True if the token is successfully revoked and False if it fails.

EncryptedRevoke는 폐기할 토큰을 식별하기 위한 암호화된 문자열로서 다음과 같이 구성된다.
EncryptedRevoke is an encrypted string to identify the token to be discarded.

0: 의미 없는 값으로서 보안 강화를 위하여 삽입되는 값0: meaningless value inserted for added security

1: 아이디1: ID

2: 토큰2: token

EncryptedRevoke = (0 + 1 + 2)를 암호화한 값
EncryptedRevoke = encrypted value of (0 + 1 + 2)

Key3은 상기 EncryptedRevoke 를 암호화하는 데 사용되는 유동키(제3유동키)이다. 즉, 제2서버(104)는 제3유동키 및 고정키(각 서버들이 공통적으로 가지고 있는 키)를 이용하여 상기 아이디 및 토큰을 암호화하고, 암호화된 문자열과 상기 제3유동키를 RequestRevokeToken 함수를 통하여 인증 연동 서버(110)로 송신한다.
Key3 is a floating key (third floating key) used to encrypt the EncryptedRevoke. That is, the second server 104 encrypts the ID and token by using a third flow key and a fixed key (keys that each server has in common), and uses the RequestRevokeToken function to encrypt the encrypted string and the third flow key. It transmits to the authentication interworking server 110 through.

이후 인증 연동 서버는 수신된 상기 제3유동키 및 기 저장된 고정키를 이용하여 암호화된 문자열을 복호화하고(314), 복호화된 문자열로부터 추출된 토큰에 대한 폐기를 인증 연동 데이터베이스(108)로 요청한다(316).Thereafter, the authentication interworking server decrypts the encrypted string by using the received third flow key and the previously stored fixed key (314), and requests the authentication interworking database 108 to discard the token extracted from the decrypted string. (316).

상기 요청을 수신한 인증 연동 데이터베이스(108)는 해당 토큰을 폐기한다. 이때 상기 토큰의 폐기는, 토큰이 저장된 레코드의 상태 값(STATE)을 사용 가능(GOOD)에서 사용 불가(REVOKE)로 변경함으로써 수행될 수 있다. 즉, 해당 레코드 자체를 삭제하는 것이 아니라 레코드의 상태 값만을 변경함으로써 차후 로그인 이력 등의 정보를 추적할 수 있도록 한다.Upon receipt of the request, the authentication association database 108 discards the token. In this case, the token may be discarded by changing the status value (STATE) of the record in which the token is stored from GOOD to REVOKE. In other words, instead of deleting the record itself, only the status value of the record is changed so that information such as the login history can be tracked later.

이후, 인증 연동 서버(110)는 토큰 폐기 요청을 송신한 제2서버(104)로 토큰 폐기 결과를 송신하고(318), 이를 수신한 제2서버(104)는 사용자 단말(106)에 저장된 토큰의 삭제를 요청한다(320). 그러면 사용자 단말(106)은 레지스트리에 저장된 토큰을 삭제하고(322), 로그인 서비스 관리에이전트를 종료함으로써 로그아웃 과정이 완료된다.
Thereafter, the authentication interworking server 110 transmits the token discarding result to the second server 104 that has sent the token discard request (318), and the second server 104 that received the token is stored in the user terminal 106. Request deletion of (320). The user terminal 106 then deletes the token stored in the registry (322) and terminates the login service management agent to complete the logout process.

한편, 본 발명의 실시예에서 각 구성요소들 간의 데이터 전송은 HTTPS(TCP443) 또는 이와 유사한 보안 강화 프로토콜을 통하여 이루어질 수 있다. 이와 같이 암호화된 프로토콜을 사용함으로써 각 메시지, 특히 토큰 등의 중요한 메시지의 외부 유출 등을 방지할 수 있다.
Meanwhile, in the embodiment of the present invention, data transmission between each component may be performed through HTTPS (TCP443) or a similar security enhancement protocol. By using the encrypted protocol in this way, it is possible to prevent the leakage of each message, especially important messages such as tokens.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. I will understand.

그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100: 인증 연동 시스템 102: 제1서버
104: 제2서버 106: 사용자 단말
108: 인증 연동 데이터베이스 110: 인증 연동 서버
100: authentication interworking system 102: first server
104: second server 106: user terminal
108: authentication interworking database 110: authentication interworking server

Claims (18)

제1서버에서, 상기 제1서버에 로그인된 사용자 단말에 대응되는 토큰을 생성하고, 생성된 상기 토큰을 인증 연동 데이터베이스에 등록하는 단계;
상기 제1서버에서, 상기 토큰을 상기 사용자 단말로 송신하는 단계;
상기 제1서버에서, 상기 사용자 단말로부터 제2서버 로그인 요청을 수신하고, 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 등록하는 단계;
제2서버에서, 상기 사용자 단말로부터 상기 토큰을 수신하고, 수신된 상기 토큰을 이용하여 인증 연동 서버로 상기 사용자 단말의 토큰 검증 요청을 송신하는 단계;
상기 인증 연동 서버에서, 상기 인증 연동 데이터베이스에 등록된 상기 토큰의 만료일을 이용하여 상기 토큰 검증 요청에 따른 토큰 검증을 수행하는 단계; 및
상기 제2서버에서, 상기 인증 연동 서버로부터 상기 토큰 검증 결과를 수신하고 이에 따라 상기 사용자 단말을 인증하는 단계를 포함하는 인증 연동 방법.
Generating, at a first server, a token corresponding to a user terminal logged in the first server, and registering the generated token in an authentication interworking database;
At the first server, transmitting the token to the user terminal;
Receiving, at the first server, a second server login request from the user terminal and registering an expiration date of the token in the authentication interworking database;
Receiving, at a second server, the token from the user terminal and transmitting a token verification request of the user terminal to an authentication interworking server using the received token;
Performing, at the authentication interworking server, token verification according to the token verification request by using an expiration date of the token registered in the authentication interworking database; And
Receiving, at the second server, the token verification result from the authentication interworking server and authenticating the user terminal accordingly.
제1항에 있어서,
상기 인증 연동 데이터베이스는, 상기 사용자 단말의 아이디, 상기 토큰 및 상기 토큰의 등록일을 상기 제1서버로부터 등록받아 저장하는, 인증 연동 방법.
The method of claim 1,
The authentication interworking database, the ID of the user terminal, the token and the registration date of the token registered and stored in the first server, authentication interworking method.
제1항에 있어서,
상기 토큰의 만료일은, 상기 사용자 단말로부터 상기 제2서버 로그인 요청을 수신한 시각에 기 설정된 인증 가능 시간만큼을 더한 시간으로 설정되는, 인증 연동 방법.
The method of claim 1,
The expiration date of the token is set to the time when the second server login request is received from the user terminal plus a preset authentication time.
제3항에 있어서,
상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 등록하는 단계는,
상기 제1서버에서, 상기 사용자 단말의 아이디 및 상기 토큰을 포함하는 문자열을 제1유동키 및 고정키를 이용하여 암호화하는 단계;
상기 제1서버에서, 암호화된 상기 문자열 및 상기 제1유동키를 상기 인증 연동 서버로 송신하는 단계;
상기 인증 연동 서버에서, 수신된 상기 제1유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하는 단계; 및
상기 인증 연동 서버에서, 복호화된 상기 문자열로부터 추출된 상기 토큰의 만료일 계산하고, 계산된 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 저장하는 단계;
를 포함하는, 인증 연동 방법.
The method of claim 3,
Registering the expiration date of the token in the authentication interworking database,
Encrypting, at the first server, a string including the ID of the user terminal and the token using a first flow key and a fixed key;
Transmitting, at the first server, the encrypted string and the first flow key to the authentication interlocking server;
Decrypting, at the authentication interworking server, the encrypted string using the received first floating key and a previously stored fixed key; And
Calculating, at the authentication interworking server, an expiration date of the token extracted from the decrypted string, and storing the calculated expiration date of the token in the authentication interworking database;
Including, authentication interworking method.
제1항에 있어서,
상기 사용자 단말의 토큰 검증 요청을 송신하는 단계는,
상기 제2서버에서, 상기 사용자 단말의 아이디 및 상기 토큰을 수신하는 단계;
상기 제2서버에서, 수신된 상기 아이디, 상기 토큰 및 토큰 검증 요청 시각 정보를 포함하는 문자열을 제2유동키 및 고정키를 이용하여 암호화하는 단계;
상기 제2서버에서, 암호화된 상기 문자열 및 상기 제2유동키를 상기 인증 연동 서버로 송신하는 단계;
상기 인증 연동 서버에서, 수신된 상기 제2유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하는 단계; 및
상기 인증 연동 서버에서, 복호화된 상기 문자열로부터 추출된 상기 토큰 검증 요청 시간을 상기 인증 연동 데이터베이스로 송신하는 단계;
를 포함하는 인증 연동 방법.
The method of claim 1,
Transmitting the token verification request of the user terminal,
Receiving, at the second server, an ID of the user terminal and the token;
Encrypting, at the second server, a string including the received ID, the token, and token verification request time information using a second flow key and a fixed key;
Transmitting, at the second server, the encrypted string and the second flow key to the authentication interlocking server;
Decrypting, at the authentication interworking server, the encrypted string using the received second flow key and a previously stored fixed key; And
Transmitting, at the authentication interworking server, the token verification request time extracted from the decrypted string to the authentication interworking database;
Authentication interworking method comprising a.
제5항에 있어서,
상기 토큰 검증 수행 단계는,
상기 인증 연동 데이터베이스에서, 상기 인증 연동 서버로부터 수신된 상기 토큰 검증 요청 시간을 저장하는 단계;
상기 인증 연동 데이터베이스에서, 수신된 상기 토큰 검증 요청 시간과 기 저장된 토큰의 만료일을 비교하여, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 빠른 경우 상기 토큰 검증 요청이 유효한 것으로 판단하고, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 느린 경우 상기 토큰 검증 요청이 유효하지 않은 것으로 판단하는 단계; 및
상기 인증 연동 데이터베이스에서, 상기 판단 단계에 따른 인증 결과를 상기 인증 연동 서버로 송신하는 단계;
를 포함하는 인증 연동 방법.
The method of claim 5,
The token verification step,
Storing the token verification request time received from the authentication interlocking server in the authentication interlocking database;
In the authentication interworking database, the token verification request time is compared with the expiration date of the previously stored token, and when the token verification request time is earlier than the expiration date of the token, the token verification request is determined to be valid, and the token verification request is performed. Determining that the token verification request is invalid when a time is later than the expiration date of the token; And
Transmitting, at the authentication interworking database, an authentication result according to the determining step to the authentication interworking server;
Authentication interworking method comprising a.
제1항에 있어서,
상기 제2서버에서의 사용자 단말 인증 단계의 수행 후,
상기 제1서버 또는 상기 제2서버에서, 상기 사용자 단말로부터 토큰 폐기 요청을 수신하는 단계;
상기 제1서버 또는 상기 제2서버에서, 상기 인증 연동 서버로 암호화된 토큰 폐기 요청을 송신하는 단계;
상기 인증 연동 서버에서, 수신된 상기 암호화된 토큰 폐기 요청을 복호화하고 인증 연동 데이터베이스에 저장된 토큰을 폐기하는 단계;
상기 인증 연동 서버에서, 상기 토큰 폐기 요청을 송신한 상기 제1서버 또는 상기 제2서버로 토큰 폐기 결과를 송신하는 단계; 및
상기 제1서버 또는 상기 제2서버에서, 사용자 단말에 저장된 토큰을 삭제하는 단계;
를 더 포함하는 인증 연동 방법.
The method of claim 1,
After performing the user terminal authentication step in the second server,
Receiving, at the first server or the second server, a token discard request from the user terminal;
Transmitting an encrypted token revocation request from the first server or the second server to the authentication interworking server;
Decrypting, at the authentication interworking server, the received encrypted token discard request and discarding the token stored in the authentication interlocking database;
Transmitting, at the authentication interworking server, a token discard result to the first server or the second server that has sent the token discard request; And
Deleting the token stored in the user terminal in the first server or the second server;
Authentication interworking method further comprising.
제7항에 있어서,
상기 암호화된 토큰 폐기 요청을 송신하는 단계는,
상기 제1서버 또는 제2서버에서, 상기 아이디 및 상기 토큰을 포함하는 문자열을 제3유동키 및 고정키를 이용하여 암호화하는 단계;
상기 제1서버 또는 제2서버에서, 암호화된 상기 문자열 및 상기 제3유동키를 상기 인증 연동 서버로 송신하는 단계;
상기 인증 연동 서버에서, 수신된 상기 제3유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하는 단계; 및
상기 인증 연동 서버에서, 복호화된 상기 문자열로부터 추출된 토큰에 대한 폐기를 상기 인증 연동 데이터베이스로 요청하는 단계;
를 포함하는 인증 연동 방법.
The method of claim 7, wherein
The transmitting of the encrypted token discard request may include:
Encrypting, at the first server or the second server, a string including the ID and the token using a third flow key and a fixed key;
Transmitting, at the first server or the second server, the encrypted string and the third flow key to the authentication interworking server;
Decrypting, by the authentication interworking server, the encrypted string using the received third floating key and a previously stored fixed key; And
Requesting, at the authentication interworking server, the revocation of the token extracted from the decrypted string to the authentication interlocking database;
Authentication interworking method comprising a.
제8항에 있어서,
상기 인증 연동 데이터베이스에 저장된 토큰을 폐기하는 단계는, 상기 토큰이 저장된 레코드의 필드 값을 사용 가능(GOOD)에서 사용 불가(REVOKE)로 변경함으로써 수행되는, 인증 연동 방법.
9. The method of claim 8,
The discarding of the token stored in the authentication interlocking database is performed by changing a field value of a record in which the token is stored from GOOD to REVOKE.
사용자 단말로부터 제1서버 로그인 요청을 수신하여 상기 사용자 단말을 인증하고, 로그인된 상기 사용자 단말에 대응되는 토큰을 생성하며, 생성된 상기 토큰을 인증 연동 데이터베이스에 등록하고, 상기 토큰을 상기 사용자 단말로 송신하며, 상기 사용자 단말로부터 제2서버 로그인 요청이 수신되는 경우 상기 토큰의 만료일을 상기 인증 연동 데이터베이스에 등록하는 제1서버;
상기 사용자 단말로부터 상기 토큰을 수신하고, 수신된 상기 토큰을 이용하여 인증 연동 서버로 상기 사용자 단말의 토큰 검증 요청을 송신하며, 상기 인증 연동 서버로부터 수신된 상기 토큰 검증 결과에 따라 상기 사용자 단말을 인증하는 제2서버;
상기 제1서버로부터 전송된 상기 토큰 및 상기 토큰의 만료일을 저장하는 인증 연동 데이터베이스; 및
상기 인증 연동 데이터베이스에 등록된 상기 토큰의 만료일을 이용하여 상기 토큰 검증 요청에 따른 토큰 검증을 수행하는 인증 연동 서버를 포함하는 인증 연동 시스템.
Receive a first server login request from a user terminal to authenticate the user terminal, generate a token corresponding to the logged in user terminal, register the generated token in an authentication interworking database, and register the token to the user terminal. A first server that transmits and registers an expiration date of the token in the authentication interworking database when a second server login request is received from the user terminal;
The token is received from the user terminal, the token verification request of the user terminal is transmitted to the authentication interworking server using the received token, and the user terminal is authenticated according to the token verification result received from the authentication interworking server. A second server;
An authentication interworking database that stores the token transmitted from the first server and an expiration date of the token; And
And an authentication interworking server that performs token verification according to the token verification request by using an expiration date of the token registered in the authentication interworking database.
제10항에 있어서,
상기 인증 연동 데이터베이스는, 상기 사용자 단말의 아이디, 상기 토큰 및 상기 토큰의 등록일을 상기 제1서버로부터 등록받아 저장하는, 인증 연동 시스템.
The method of claim 10,
The authentication interworking database, the authentication interlocking system for storing the ID of the user terminal, the token and the registration date of the token received from the first server.
제10항에 있어서,
상기 토큰의 만료일은, 상기 사용자 단말로부터 상기 제2서버 로그인 요청을 수신한 시각에 기 설정된 인증 가능 시간만큼을 더한 시간으로 설정되는, 인증 연동 시스템.
The method of claim 10,
The expiration date of the token is set to the time when the second server login request is received from the user terminal plus a preset authentication time.
제12항에 있어서,
상기 제1서버는, 상기 사용자 단말의 아이디 및 상기 토큰을 포함하는 문자열을 제1유동키 및 고정키를 이용하여 암호화하고, 암호화된 상기 문자열 및 상기 제1유동키를 상기 인증 연동 서버로 송신하며,
상기 인증 연동 서버는, 수신된 상기 제1유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하고, 복호화된 상기 문자열로부터 추출된 상기 토큰의 만료일을 계산하여 상기 인증 연동 데이터베이스에 등록하는, 인증 연동 시스템.
The method of claim 12,
The first server encrypts a string including the ID of the user terminal and the token using a first flow key and a fixed key, and transmits the encrypted string and the first flow key to the authentication interworking server. ,
The authentication interworking server decrypts the encrypted string using the received first flow key and the stored fixed key, calculates an expiration date of the token extracted from the decrypted string, and registers it in the authentication interlocking database. , Certification interlock system.
제10항에 있어서,
상기 제2서버는, 상기 사용자 단말의 아이디 및 상기 토큰을 수신하고, 수신된 상기 아이디, 상기 토큰 및 토큰 검증 요청 시각 정보를 포함하는 문자열을 제2유동키 및 고정키를 이용하여 암호화하며, 암호화된 상기 문자열 및 상기 제2유동키를 상기 인증 연동 서버로 송신하고,
상기 인증 연동 서버는, 수신된 상기 제2유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하고, 복호화된 상기 문자열로부터 추출된 상기 토큰 검증 요청 시간을 상기 인증 연동 데이터베이스로 송신하는 인증 연동 시스템.
The method of claim 10,
The second server receives the ID and the token of the user terminal, encrypts the string including the received ID, the token and token verification request time information using a second flow key and a fixed key, and encrypts the string. Transmitting the string and the second flow key to the authentication interlocking server,
The authentication interworking server decrypts the encrypted string using the received second flow key and the stored fixed key, and transmits the token verification request time extracted from the decrypted string to the authentication interlocking database. Interlock system.
제14항에 있어서,
상기 인증 연동 데이터베이스는, 상기 인증 연동 서버로부터 수신된 상기 토큰 검증 요청 시간을 저장하고, 수신된 상기 토큰 검증 요청 시간과 기 저장된 토큰의 만료일을 비교하여, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 빠른 경우 상기 토큰 검증 요청이 유효한 것으로 판단하고, 상기 토큰 검증 요청 시간이 상기 토큰의 만료일보다 느린 경우 상기 토큰 검증 요청이 유효하지 않은 것으로 판단하여, 상기 판단에 따른 인증 결과를 상기 인증 연동 서버로 송신하는, 인증 연동 시스템.
15. The method of claim 14,
The authentication interworking database stores the token verification request time received from the authentication interworking server, and compares the received token verification request time with an expiration date of a previously stored token, so that the token verification request time is greater than the expiration date of the token. If it is early, it is determined that the token verification request is valid, and if the token verification request time is later than the expiration date of the token, the token verification request is determined to be invalid, and the authentication result according to the determination is transmitted to the authentication interworking server. Certification interworking system.
제10항에 있어서,
상기 제2서버에서의 사용자 단말 인증 수행 후, 상기 사용자 단말로부터 상기 제1서버 또는 상기 제2서버로 토큰 폐기 요청이 수신되는 경우,
상기 제1서버 또는 상기 제2서버는, 상기 인증 연동 서버로 암호화된 토큰 폐기 요청을 송신하고,
상기 인증 연동 서버는, 수신된 상기 암호화된 토큰 폐기 요청을 복호화하고 인증 연동 데이터베이스에 저장된 토큰을 폐기하며, 상기 토큰 폐기 요청을 송신한 상기 제1서버 또는 상기 제2서버로 토큰 폐기 결과를 송신하고,
상기 제1서버 또는 상기 제2서버는, 사용자 단말에 저장된 토큰을 삭제하는, 인증 연동 시스템.
The method of claim 10,
After the user terminal authentication is performed in the second server, when a token discard request is received from the user terminal to the first server or the second server,
The first server or the second server sends an encrypted token discard request to the authentication interworking server,
The authentication interworking server decrypts the received encrypted token discard request, discards the token stored in the authentication interlocking database, and sends a token discard result to the first server or the second server that has sent the token discard request. ,
The first server or the second server, the authentication interlock system to delete the token stored in the user terminal.
제16항에 있어서,
상기 제1서버 또는 제2서버는, 상기 아이디 및 상기 토큰을 포함하는 문자열을 제3유동키 및 고정키를 이용하여 암호화하고, 암호화된 상기 문자열 및 상기 제3유동키를 상기 인증 연동 서버로 송신하며,
상기 인증 연동 서버는, 수신된 상기 제3유동키 및 기 저장된 고정키를 이용하여 암호화된 상기 문자열을 복호화하고, 복호화된 상기 문자열로부터 추출된 토큰에 대한 폐기를 상기 인증 연동 데이터베이스로 요청하는, 인증 연동 시스템.
17. The method of claim 16,
The first server or the second server encrypts the string including the ID and the token using a third flow key and a fixed key, and transmits the encrypted string and the third flow key to the authentication interworking server. ,
The authentication interworking server decrypts the encrypted string using the received third flow key and the stored fixed key, and requests the authentication interworking database to discard the token extracted from the decrypted string. Interlock system.
제17항에 있어서,
상기 인증 연동 데이터베이스에 저장된 토큰의 폐기는, 상기 토큰이 저장된 레코드의 필드 값을 사용 가능(GOOD)에서 사용 불가(REVOKE)로 변경함으로써 수행되는, 인증 연동 시스템.
18. The method of claim 17,
The discarding of the token stored in the authentication interlocking database is performed by changing a field value of a record in which the token is stored from GOOD to REVOKE.
KR1020110037449A 2011-04-21 2011-04-21 System and method for authentication interworking KR20120119490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110037449A KR20120119490A (en) 2011-04-21 2011-04-21 System and method for authentication interworking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110037449A KR20120119490A (en) 2011-04-21 2011-04-21 System and method for authentication interworking

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020130033472A Division KR20130039745A (en) 2013-03-28 2013-03-28 System and method for authentication interworking

Publications (1)

Publication Number Publication Date
KR20120119490A true KR20120119490A (en) 2012-10-31

Family

ID=47286725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110037449A KR20120119490A (en) 2011-04-21 2011-04-21 System and method for authentication interworking

Country Status (1)

Country Link
KR (1) KR20120119490A (en)

Similar Documents

Publication Publication Date Title
US10638321B2 (en) Wireless network connection method and apparatus, and storage medium
Chen et al. Lightweight and provably secure user authentication with anonymity for the global mobility network
US8059818B2 (en) Accessing protected data on network storage from multiple devices
Li et al. A secure chaotic maps and smart cards based password authentication and key agreement scheme with user anonymity for telecare medicine information systems
US9641344B1 (en) Multiple factor authentication in an identity certificate service
CN101507233B (en) Method and apparatus for providing trusted single sign-on access to applications and internet-based services
US9485246B2 (en) Distributed authentication with data cloud
US8538020B1 (en) Hybrid client-server cryptography for network applications
US20120265996A1 (en) Permitting Access To A Network
US20120266217A1 (en) Permitting Access To A Network
CN107708112A (en) A kind of encryption method suitable for MQTT SN agreements
US9807071B2 (en) Information processing apparatus, information processing system, information processing method and computer program
KR20120079892A (en) Method for authenticating personal network entity
JP2001186122A (en) Authentication system and authentication method
Chen et al. Enhanced authentication protocol for the Internet of Things environment
KR20130039745A (en) System and method for authentication interworking
CN113569210A (en) Distributed identity authentication method, equipment access method and device
Hanumanthappa et al. Privacy preserving and ownership authentication in ubiquitous computing devices using secure three way authentication
Chen et al. Improved Secure and Lightweight Authentication Scheme for Next‐Generation IoT Infrastructure
KR102171377B1 (en) Method of login control
KR102118556B1 (en) Method for providing private blockchain based privacy information management service
CN111698203A (en) Cloud data encryption method
Li A secure chaotic maps‐based privacy‐protection scheme for multi‐server environments
CN112035820B (en) Data analysis method used in Kerberos encryption environment
KR100993333B1 (en) Method for enrollment and authentication using private internet access devices and system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
A107 Divisional application of patent