[go: up one dir, main page]

KR20250071163A - Gateway service system and method supporting user authentication for database access control - Google Patents

Gateway service system and method supporting user authentication for database access control Download PDF

Info

Publication number
KR20250071163A
KR20250071163A KR1020240132676A KR20240132676A KR20250071163A KR 20250071163 A KR20250071163 A KR 20250071163A KR 1020240132676 A KR1020240132676 A KR 1020240132676A KR 20240132676 A KR20240132676 A KR 20240132676A KR 20250071163 A KR20250071163 A KR 20250071163A
Authority
KR
South Korea
Prior art keywords
authentication
information
server
access control
ecp
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
KR1020240132676A
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 주식회사 신시웨이
Publication of KR20250071163A publication Critical patent/KR20250071163A/en
Pending legal-status Critical Current

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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템 및 방법에 관한 것으로서, 더욱 상세히는 네트워크/OS 정보로 사용자 단말의 식별이 어려운 환경에서도 고유 식별값을 이용하여 안전하고 효과적으로 사용자 인증을 수행할 수 있는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템 및 방법에 관한 것이다. 본 발명은, 사용자 단말에 대해 미리 저장된 고유 식별값인 클라이언트 식별값을 사용자의 인증시 랜덤하게 생성한 서버 식별값으로 암호화처리한 인증 정보를 기초로 보안 대상 데이터베이스 서버로의 접근 제어를 위한 암호화 세션을 생성하고, 이러한 암호화 세션의 접근 권한에 대한 자격증명 검증을 상기 클라이언트 식별값을 이용하여 수행함으로써, 네트워크 정보 및 OS 정보로 사용자 단말의 식별이 어려운 게이트웨이 서비스 환경에서도 일관되면서도 정확한 사용자 인증을 지원하여 게이트웨이 서비스의 보안성 및 효율성을 높이는 효과가 있다.The present invention relates to a gateway service system and method supporting user authentication for database access control, and more particularly, to a gateway service system and method supporting user authentication for database access control capable of safely and effectively performing user authentication using a unique identification value even in an environment where it is difficult to identify a user terminal with network/OS information. The present invention creates an encrypted session for access control to a secured database server based on authentication information in which a client identification value, which is a unique identification value stored in advance for a user terminal, is encrypted with a server identification value randomly generated at the time of user authentication, and performs credential verification for access authority of the encrypted session using the client identification value, thereby supporting consistent and accurate user authentication even in a gateway service environment where it is difficult to identify a user terminal with network information and OS information, thereby enhancing the security and efficiency of the gateway service.

Figure P1020240132676
Figure P1020240132676

Description

데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템 및 방법{Gateway service system and method supporting user authentication for database access control}{Gateway service system and method supporting user authentication for database access control}

본 발명은 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템 및 방법에 관한 것으로서, 더욱 상세히는 네트워크/OS 정보로 사용자 단말의 식별이 어려운 환경에서도 고유 식별값을 이용하여 안전하고 효과적으로 사용자 인증을 수행할 수 있는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템 및 방법에 관한 것이다.The present invention relates to a gateway service system and method supporting user authentication for database access control, and more specifically, to a gateway service system and method supporting user authentication for database access control capable of safely and effectively performing user authentication using a unique identification value even in an environment where it is difficult to identify a user terminal using network/OS information.

기존의 데이터베이스(DB) 접근 제어를 위한 게이트웨이 서비스는, 하나의 데이터베이스 계정을 여러 단말에서 사용하는 사례를 방지하기 위해, 사용자 식별 단위를 단말에서 개별 사용자(조직, 사번 등 인사정보)로 확장하면서 인증 절차가 필요하게 되었다.The gateway service for existing database (DB) access control has become necessary for authentication procedures as the user identification unit has been expanded from terminals to individual users (organization, employee number, etc. personnel information) to prevent cases where a single database account is used on multiple terminals.

즉, 과거의 DB 접근 제어를 위한 게이트웨이 서비스는, IP 주소와 같은 단말 속성을 기반으로 사용자를 식별했으나, 단말 단위 식별에서는 보안사고 발생 시 특정 사용자를 식별하는데 한계가 있고, 단말의 보안 요소(OS 로그인 정책 등)에 이를 맡겨야 하는 문제가 있어, 이를 개선한 기존의 DB 접근 제어를 위한 게이트웨이 서비스는 사용자 식별을 IP 등 단말 속성에서 사용자 단위로 인증 단위를 확대하고 있다.That is, gateway services for DB access control in the past identified users based on terminal properties such as IP addresses, but terminal-level identification has limitations in identifying specific users in the event of a security incident, and there is a problem that this must be left to the terminal's security elements (OS login policy, etc.). Therefore, the existing gateway service for DB access control, which has improved this, is expanding the authentication unit from terminal properties such as IP to user-level identification.

그러나, 이 경우 하나의 단말을 여러 명이 사용하는 환경에서는 과거 게이트웨이가 데이터베이스 계정별 통제에서 단말 속성별 통제로 사용자 속성을 확장했던 것과 동일한 요구가 발생하게 된다.However, in this case, in an environment where multiple people use one terminal, the same need arises as when the gateway in the past expanded user properties from control by database account to control by terminal property.

도 1을 참고하여 기존 DB 접근 제어를 위한 게이트웨이 서비스 시스템을 설명하면, 도시된 바와 같이 보안 대상 DB에 접근하기 위해 사용자 단말에 설치되는 DB 접속 프로그램 및 해당 DB 접속 프로그램의 보안 대상 DB에 대한 접근 제어를 수행하는 DB 접근 제어 게이트웨이로 구성될 수 있다.Referring to Fig. 1, the gateway service system for existing DB access control can be described. As shown, it can be composed of a DB access program installed on a user terminal to access a secured DB and a DB access control gateway that performs access control for the secured DB of the DB access program.

이러한 DB 접근 제어를 위한 게이트웨이 서비스 시스템은, 보안대상 통제 기본 단위를 세션으로 하기에, 인증 역시 각 세션별로 자격증명 여부를 검토해야 한다. 이는, 웹에서 URL 단위로 로그인 여부를 확인하는 것과 동일하다. 다만, 문제는 세션이 DB 접속 프로그램에 의해 생성된다는 점으로 DB 접근 제어 게이트웨이에서 DB 접속 프로그램에 인증을 강제할 수 없다는 것이다. 이로 인해, DB 접근 제어 게이트웨이는, DB 접속 프로그램의 보안 대상 DB에 대한 접속 시도가 있을 때 이를 중단하고 인증을 해당 단말에 요구하는 방식을 취해야만 한다. 그리고 이 요청 단위는 DB 접속 프로그램의 세션 단위이다.The gateway service system for this DB access control must check whether there is a credential for each session, because the basic unit of security target control is a session. This is the same as checking whether there is a login for each URL on the web. However, the problem is that since the session is created by the DB access program, the DB access control gateway cannot force authentication to the DB access program. Therefore, the DB access control gateway must take the method of stopping the DB access program's attempt to access the secured DB and requesting authentication from the terminal. And this request unit is the session unit of the DB access program.

이와 같은 세션 단위 인증을 위해서는, 도 2에 도시된 바와 같이, 세션 단위로 DB 접속을 중단하고 인증 여부를 확인하려면, 인증시 세션 식별에 사용할 정보(이하 인증 정보)를 보관하여야 자격증명이 가능하다. 이때, 세션 식별을 위한 가장 기본이 되는 인증 정보는 단말의 네트워크/OS(operating system) 정보이다. 즉, 세션에서 추출되는 네트워크/OS 정보를 보관 중인 인증 정보에서 찾아 자격증명을 진행하는 것이다.For this type of session-based authentication, as shown in Fig. 2, in order to suspend DB access per session and check authentication status, information used for session identification at the time of authentication (hereinafter referred to as authentication information) must be stored to enable authentication. At this time, the most basic authentication information for session identification is the terminal's network/OS (operating system) information. In other words, the network/OS information extracted from the session is found in the stored authentication information and authentication is performed.

그러나, 이러한 세션 단위 인증 방식의 문제는, 세션에서 보관 중인 인증 정보 식별에 필요한 속성(네트워크/OS 정보)을 전달하지 못하는 상황이 발생할 수 있다는 것이다. 이는 접속 세션의 자격증명 검증을 어렵게 한다.However, the problem with this session-based authentication method is that there may be situations where the attributes (network/OS information) required to identify the authentication information stored in the session are not transmitted. This makes it difficult to verify the credentials of the connected session.

이러한 상황은 크게 두가지로서, 세션을 구성하는 DB 프로토콜에 인증 정보 식별에 필요한 속성이 누락되는 경우, 그리고 인증 정보를 구성하는 속성은 존재하나 그 값이 환경적 요인으로 인해 신뢰할 수 없게 되어 버리는 경우다. 예를 들면, 데이터베이스에 따라 세션 구성 정보에 OS user 등이 빠져있기도 하고, 네트워크 환경에 따라 NAT(Network Address Translation)가 발생하면 세션 IP가 바뀌기도 한다.There are two main situations: when the DB protocol that configures the session is missing the attributes required to identify authentication information, and when the attributes that configure the authentication information exist but their values become unreliable due to environmental factors. For example, depending on the database, the OS user, etc. may be missing from the session configuration information, and depending on the network environment, if NAT (Network Address Translation) occurs, the session IP may change.

이러한 문제의 원인은 사용자 단말에서 인증을 담당하는 단말 에이전트(Client Agent)는 사용자 단말에서 직접 정보를 수집하여 게이트웨이로 전달하는 반면, DB 접속 프로그램은 DB 프로토콜을 사용하여 TCP/IP로 게이트웨이에 전달하기 때문이다. DB 접속 프로그램의 데이터베이스 접속 시 DB 접근제어 인증을 강제할 수 없듯이 세션에도 자격증명 검증을 위한 인증 정보 전달을 요구할 수 없는 것이다.The reason for this problem is that the terminal agent (Client Agent) responsible for authentication on the user terminal collects information directly from the user terminal and transmits it to the gateway, while the DB access program transmits it to the gateway via TCP/IP using the DB protocol. Just as the DB access control authentication cannot be forced when the DB access program accesses the database, the session cannot be required to transmit authentication information for credential verification.

따라서, 네트워크/OS 정보로 사용자 식별이 어려운 조건에서도 안전하고 효과적으로 사용자 인증을 수행할 수 있는 새로운 방식의 인증 시스템 및 방법이 요구되고 있다.Therefore, a new authentication system and method that can perform user authentication safely and effectively even in conditions where user identification using network/OS information is difficult is required.

한국공개특허 제10-2012-0058670호Korean Patent Publication No. 10-2012-0058670

본 발명은 데이터베이스 접근제어 게이트웨이 서비스에서 사용자 단말의 고유 식별값을 활용한 암호화 세션을 생성하고 해당 암호화 세션을 통해 보안 대상 DB로 접근하는 사용자의 자격증명 방법을 구현하여, 네트워크/OS 정보로 사용자 단말 식별이 어려운 환경에서도 안정적으로 일관된 사용자 인증을 지원함과 아울러 사용자 인증을 위해 사용되는 인증 정보의 보안성을 강화하는데 그 목적이 있다.The purpose of the present invention is to support stable and consistent user authentication even in an environment where it is difficult to identify a user terminal using network/OS information by creating an encryption session using a unique identification value of a user terminal in a database access control gateway service and to implement a method for authenticating the credentials of a user accessing a secured target DB through the encryption session, thereby enhancing the security of authentication information used for user authentication.

또한, 본 발명은 사용자 단말과, 데이터베이스 접근제어 게이트웨이 서버 및 키 관리 서버 간의 안전하고 효율적인 인증 정보 교환 및 관리 방식을 제공하여 다양한 네트워크 환경에서도 안정적이고 보안성 높은 데이터베이스 접근 제어를 위한 게이트웨이 서비스 시스템을 구현하는데 그 목적이 있다.In addition, the present invention provides a safe and efficient authentication information exchange and management method between a user terminal, a database access control gateway server, and a key management server, thereby implementing a gateway service system for stable and highly secure database access control even in various network environments.

본 발명의 실시예에 따른 보안 대상 데이터베이스 서버에 접속하기 위한 데이터베이스 접속 툴과 사용자 인터페이스가 구성된 사용자 단말과 상기 보안 대상 데이터베이스 서버에 대한 접근 제어 기능을 수행하는 DB 접근제어 게이트웨이 서버 및 상기 DB 접근 제어 게이트웨이 서버와 연동하는 키 관리 서버를 포함하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템에 있어서, 상기 사용자 단말은, 사용자 ID 및 인증키와 미리 저장된 클라이언트 식별값을 포함하는 사용자 인증 요청을 위한 인증 요청 정보를 생성하는 단말 에이전트부 및 상기 인증 요청 정보를 상기 DB 접근제어 게이트웨이 서버에 전송하고 인증 성공시 상기 클라이언트 식별값을 포함하는 제 1 암호키 요청 정보를 전송하며, 상기 제 1 암호키 요청 정보에 대응하는 암호키 수신시 상기 DB 접근제어 게이트웨이 서버와 ECP(Encrypted Communication Proxy) 프로토콜을 통해 암호화 세션을 구성하고, 상기 데이터베이스 접속 툴이 제공하는 데이터베이스 프로토콜 패킷 및 상기 클라이언트 식별값을 포함하는 ECP 패킷을 상기 암호화 세션을 통해 전송하는 ECP 통신부를 포함하고, 상기 DB 접근제어 게이트웨이 서버는, 상기 인증 요청 정보 수신시 상기 사용자 ID 및 인증키를 상기 키 관리 서버에 전송하여 인증을 요청하고, 인증 성공시 상기 키 관리 서버로부터 제공된 서버 식별값을 기초로 상기 인증 요청 정보에 포함된 클라이언트 식별값을 암호화하여 서버 보관용 인증 정보를 생성한 후 상기 키 관리 서버에 전송하며, 상기 ECP 통신부로부터 수신된 상기 제 1 암호키 요청 정보에 포함된 클라이언트 식별값을 상기 서버 식별값으로 암호화하여 생성한 암호키 요청용 인증 정보를 기초로 암호키 요청을 위한 제 2 암호키 요청 정보를 생성하여 상기 키 관리 서버에 전송하고, 상기 키 관리 서버로부터 상기 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부에 따라 제공된 암호키를 상기 ECP 통신부로 전달하고, 상기 암호키를 기초로 상기 ECP 프로토콜을 통해 상기 ECP 통신부와의 암호화 세션을 생성하며, 상기 암호화 세션을 통해 수신되는 상기 ECP 패킷에 포함된 클라이언트 식별값을 기초로 접근 권한 여부를 판단하고, 판단 결과에 따라 상기 보안대상 데이터베이스 서버에 대한 상기 사용자 단말의 접근을 제어하는 ECP 접근 제어부를 포함하는 것을 특징으로 할 수 있다.In a gateway service system supporting user authentication for database access control, which includes a user terminal configured with a database access tool and a user interface for accessing a secured database server according to an embodiment of the present invention, a DB access control gateway server performing an access control function for the secured database server, and a key management server interlocked with the DB access control gateway server, the user terminal includes a terminal agent unit for generating authentication request information for a user authentication request including a user ID and an authentication key and a pre-stored client identification value, and an ECP communication unit for transmitting the authentication request information to the DB access control gateway server and transmitting first encryption key request information including the client identification value upon successful authentication, and configuring an encryption session with the DB access control gateway server through an ECP (Encrypted Communication Proxy) protocol upon receiving an encryption key corresponding to the first encryption key request information, and transmitting an ECP packet including a database protocol packet provided by the database access tool and the client identification value through the encryption session, wherein the DB access control gateway server, upon receiving the authentication request information, transmits the user ID and the authentication key to the key management server to request authentication, and upon successful authentication, stores the server identification value provided from the key management server in the authentication request information based on the server identification value. The present invention may be characterized by including an ECP access control unit which encrypts the included client identification value to generate server-storage authentication information and transmits the encrypted information to the key management server, generates second encryption key request information for an encryption key request based on the encryption key request authentication information generated by encrypting the client identification value included in the first encryption key request information received from the ECP communication unit with the server identification value, transmits the encrypted information to the key management server, and transmits an encryption key provided from the key management server to the ECP communication unit based on whether the encryption key request authentication information and the server-storage authentication information match, creates an encryption session with the ECP communication unit through the ECP protocol based on the encryption key, determines whether access is authorized based on the client identification value included in the ECP packet received through the encryption session, and controls access of the user terminal to the secured database server based on the determination result.

본 발명과 관련된 일 예로서, 상기 서버 식별값은, 상기 키 관리 서버에 의해 인증 성공시 랜덤하게 생성된 값이며, 암호화 세션 단위로 사용되는 일회성의 범용 고유 식별자(Universally Unique Identifier, UUID)로 구성된 것을 특징으로 할 수 있다.As an example related to the present invention, the server identification value may be characterized by being a value randomly generated upon successful authentication by the key management server and consisting of a one-time universally unique identifier (UUID) used as a unit of encryption session.

본 발명과 관련된 일 예로서, 상기 키 관리 서버는, 상기 사용자 ID 및 인증키를 기초로 상기 사용자 단말의 사용자에 대한 인증을 수행하는 인증부와, 상기 인증부의 인증 결과에 따라 상기 서버 식별값을 랜덤 생성하고, 상기 서버 식별값을 상기 ECP 접근 제어부로 전송하는 식별값 생성부와, 상기 서버 보관용 인증 정보를 저장하는 인증 정보 관리부 및 상기 ECP 접근 제어부로부터 수신된 상기 제 2 암호키 요청 정보에 포함된 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보를 상호 비교하여 일치하는 경우 상기 암호화 세션에 사용되기 위한 암호키를 생성하여 상기 ECP 접근 제어부에 제공하는 암호키 생성부를 포함하는 것을 특징으로 할 수 있다.As an example related to the present invention, the key management server may include an authentication unit that performs authentication on a user of the user terminal based on the user ID and an authentication key, an identification value generation unit that randomly generates a server identification value according to an authentication result of the authentication unit and transmits the server identification value to the ECP access control unit, an authentication information management unit that stores the server storage authentication information, and an encryption key generation unit that compares the encryption key request authentication information included in the second encryption key request information received from the ECP access control unit with the server storage authentication information, and if they match, generates an encryption key to be used for the encryption session and provides the encryption key to the ECP access control unit.

본 발명과 관련된 일 예로서, 상기 ECP 통신부는, 상기 데이터베이스 프로토콜 패킷 및 클라이언트 식별값을 상기 암호키로 암호화한 후 상기 암호화된 데이터베이스 프로토콜 패킷 및 암호화된 클라이언트 식별값을 포함하는 상기 ECP 패킷을 상기 ECP 접근 제어부로 전송하고, 상기 ECP 접근 제어부는, 상기 ECP 패킷에 포함된 상기 암호화된 데이터베이스 프로토콜 패킷 및 상기 암호화된 클라이언트 식별값을 상기 암호키로 복호화하는 것을 특징으로 할 수 있다.As an example related to the present invention, the ECP communication unit may be characterized in that it encrypts the database protocol packet and the client identification value with the encryption key and then transmits the ECP packet including the encrypted database protocol packet and the encrypted client identification value to the ECP access control unit, and the ECP access control unit decrypts the encrypted database protocol packet and the encrypted client identification value included in the ECP packet with the encryption key.

본 발명과 관련된 일 예로서, 상기 ECP 접근 제어부는, 상기 암호화 세션에 상기 서버 식별값을 할당하고, 상기 암호화 세션을 통해 수신된 상기 ECP 패킷으로부터 획득한 클라이언트 식별값을 상기 서버 식별값으로 암호화한 자격증명용 인증 정보를 상기 키 관리 서버에 전송하며, 상기 키 관리 서버와 연동하여 상기 자격증명용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부에 따른 자격증명 검증시 상기 데이터베이스 프로토콜 패킷을 상기 보안대상 데이터베이스 서버로 전송하는 것을 특징으로 할 수 있다.As an example related to the present invention, the ECP access control unit may be characterized in that it assigns the server identification value to the encryption session, encrypts the client identification value obtained from the ECP packet received through the encryption session with the server identification value to transmit, to the key management server, authentication information for credentials, and transmits, to the secured database server, the database protocol packet upon verification of credentials based on whether the authentication information for credentials matches the server storage authentication information in conjunction with the key management server.

본 발명과 관련된 일 예로서, 상기 단말 에이전트부는, 상기 사용자 단말에 대한 네트워크 정보 및 OS 정보를 상기 인증 요청 정보에 포함시키고, 상기 ECP 접근 제어부는, 상기 인증 요청 정보에 대응하는 암호화 세션 생성시 상기 인증 요청 정보에 포함된 네트워크 정보 및 OS 정보를 상기 암호화 세션에 할당하며, 상기 ECP 패킷에 포함된 네트워크 정보 및 OS 정보가 상기 암호화 세션에 할당된 네트워크 정보 및 OS 정보와 일치하지 않는 경우 상기 자격증명용 인증 정보를 생성한 후 상기 키 관리 서버와 연동하여 자격증명 검증을 수행하는 것을 특징으로 할 수 있다.As an example related to the present invention, the terminal agent unit may include network information and OS information about the user terminal in the authentication request information, and the ECP access control unit may assign network information and OS information included in the authentication request information to the encryption session when creating an encryption session corresponding to the authentication request information, and if the network information and OS information included in the ECP packet do not match the network information and OS information assigned to the encryption session, generate authentication information for the credential and then perform credential verification in conjunction with the key management server.

본 발명과 관련된 일 예로서, 상기 ECP 접근 제어부는, 상기 클라이언트 식별값을 상기 서버 식별값으로 해시 처리하여 생성한 해시값을 포함하는 인증 정보를 상기 서버 보관용 인증 정보 또는 상기 암호키 요청용 인증 정보 또는 상기 자격증명용 인증 정보로서 생성하는 것을 특징으로 할 수 있다.As an example related to the present invention, the ECP access control unit may be characterized by generating authentication information including a hash value generated by hashing the client identification value with the server identification value as authentication information for server storage, authentication information for requesting an encryption key, or authentication information for the credential.

본 발명과 관련된 일 예로서, 상기 ECP 접근 제어부는, 상기 키 관리 서버의 상기 사용자 ID 및 인증키를 이용한 인증 성공시 인증 성공에 대한 인증 결과 정보를 상기 ECP 통신부로 전송하는 것을 특징으로 할 수 있다.As an example related to the present invention, the ECP access control unit may be characterized by transmitting authentication result information on successful authentication to the ECP communication unit when authentication is successful using the user ID and authentication key of the key management server.

본 발명의 실시예에 따른 보안 대상 데이터베이스 서버에 접속하기 위한 데이터베이스 접속 툴과 사용자 인터페이스가 구성된 사용자 단말과 상기 보안 대상 데이터베이스 서버에 대한 접근 제어 기능을 수행하는 DB 접근제어 게이트웨이 서버 및 상기 DB 접근 제어 게이트웨이 서버와 연동하는 키 관리 서버를 포함하는 게이트웨이 서비스 시스템의 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 방법은, 상기 사용자 단말에 구성된 단말 에이전트부가, 사용자 ID, 인증키 및 미리 저장된 클라이언트 식별값을 포함하는 인증 요청 정보를 생성하는 단계와, 상기 사용자 단말의 ECP 통신부가, 상기 인증 요청 정보를 상기 DB 접근제어 게이트웨이 서버에 전송하는 단계와, 상기 DB 접근제어 게이트웨이 서버가, 상기 인증 요청 정보에 포함된 사용자 ID 및 인증키를 상기 키 관리 서버에 전송하여 인증을 요청하는 단계와, 상기 DB 접근제어 게이트웨이 서버가, 인증 성공 시 상기 키 관리 서버로부터 제공된 서버 식별값을 기초로 상기 인증 요청 정보에 포함된 클라이언트 식별값을 암호화하여 서버 보관용 인증 정보를 생성한 후 상기 키 관리 서버에 전송하는 단계와, 상기 ECP 통신부가, 인증 성공 시 상기 클라이언트 식별값을 포함하는 제 1 암호키 요청 정보를 상기 DB 접근제어 게이트웨이 서버에 전송하는 단계와, 상기 DB 접근제어 게이트웨이 서버가, 상기 제 1 암호키 요청 정보에 포함된 클라이언트 식별값을 상기 서버 식별값으로 암호화하여 암호키 요청용 인증 정보를 생성하고, 상기 암호키 요청용 인증 정보를 기초로 제 2 암호키 요청 정보를 생성하여 상기 키 관리 서버에 전송하는 단계와, 상기 DB 접근제어 게이트웨이 서버가, 상기 키 관리 서버로부터 상기 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부에 따라 제공된 암호키를 상기 ECP 통신부로 전달하는 단계와, 상기 ECP 통신부와 상기 DB 접근제어 게이트웨이 서버가, 상기 암호키를 기초로 ECP(Encrypted Communication Proxy) 프로토콜을 통해 암호화 세션을 생성하는 단계와, 상기 ECP 통신부가, 상기 데이터베이스 접속 툴이 제공하는 데이터베이스 프로토콜 패킷 및 상기 클라이언트 식별값을 포함하는 ECP 패킷을 상기 암호화 세션을 통해 전송하는 단계 및 상기 DB 접근제어 게이트웨이 서버가, 상기 암호화 세션을 통해 수신되는 상기 ECP 패킷에 포함된 클라이언트 식별값을 기초로 접근 권한 여부를 판단하고, 판단 결과에 따라 상기 보안대상 데이터베이스 서버에 대한 상기 사용자 단말의 접근을 제어하는 단계를 포함할 수 있다.A gateway service method for supporting user authentication for database access control of a gateway service system including a user terminal configured with a database access tool and a user interface for accessing a secured database server according to an embodiment of the present invention, a DB access control gateway server performing an access control function for the secured database server, and a key management server interlocked with the DB access control gateway server, comprises: a step in which a terminal agent configured in the user terminal generates authentication request information including a user ID, an authentication key, and a pre-stored client identification value; a step in which an ECP communication unit of the user terminal transmits the authentication request information to the DB access control gateway server; a step in which the DB access control gateway server transmits the user ID and the authentication key included in the authentication request information to the key management server to request authentication; a step in which the DB access control gateway server encrypts the client identification value included in the authentication request information based on the server identification value provided from the key management server upon successful authentication, generates server-storage authentication information, and transmits the encrypted client identification value included in the authentication request information to the key management server; a step in which the ECP communication unit transmits first encryption key request information including the client identification value upon successful authentication to the DB access control gateway server; and a step in which the DB access control gateway server transmits first encryption key request information including the client identification value to the DB access control gateway server upon successful authentication. The method may include: a step of encrypting an included client identification value with the server identification value to generate authentication information for a request for an encryption key, generating second encryption key request information based on the authentication information for the request for an encryption key and transmitting the same to the key management server; a step, by the DB access control gateway server, transmitting an encryption key provided from the key management server based on whether the authentication information for the request for an encryption key matches the authentication information for the server storage to the ECP communication unit; a step, by the ECP communication unit and the DB access control gateway server, generating an encryption session based on the encryption key through an ECP (Encrypted Communication Proxy) protocol; a step, by the ECP communication unit, transmitting an ECP packet including a database protocol packet provided by the database access tool and the client identification value through the encryption session; and a step, by the DB access control gateway server, determining whether access is authorized based on the client identification value included in the ECP packet received through the encryption session, and controlling access of the user terminal to the secured database server based on the determination result.

본 발명은, 사용자 단말에 대해 미리 저장된 고유 식별값인 클라이언트 식별값을 사용자의 인증시 랜덤하게 생성한 서버 식별값으로 암호화처리한 인증 정보를 기초로 보안 대상 데이터베이스 서버로의 접근 제어를 위한 암호화 세션을 생성하고, 이러한 암호화 세션의 접근 권한에 대한 자격증명 검증을 상기 클라이언트 식별값을 이용하여 수행함으로써, 네트워크 정보 및 OS 정보로 사용자 단말의 식별이 어려운 게이트웨이 서비스 환경에서도 일관되면서도 정확한 사용자 인증을 지원하여 게이트웨이 서비스의 보안성 및 효율성을 높이는 효과가 있다.The present invention creates an encrypted session for access control to a secured database server based on authentication information in which a client identification value, which is a unique identification value stored in advance for a user terminal, is encrypted with a server identification value randomly generated at the time of user authentication, and performs credential verification for access authority to this encrypted session using the client identification value, thereby supporting consistent and accurate user authentication even in a gateway service environment in which it is difficult to identify a user terminal with network information and OS information, thereby enhancing the security and efficiency of the gateway service.

또한, 본 발명은, 사용자 인증에 따라 랜덤하게 생성되는 서버 식별값으로 클라이언트 식별값을 암호화 처리하여 인증 정보를 생성하고, 인증 정보를 기반으로 생성한 암호키로 클라이언트 식별값을 암호화 처리함으로써, 암호화 세션의 자격증명에 이용되는 클라이언트 식별값과 인증정보에 대한 악의적인 접근을 효과적으로 차단할 수 있어, 보안 대상 데이터베이스 서버로의 접근 제어에 대한 게이트웨이 서비스의 보안성을 크게 높일 수 있다.In addition, the present invention can effectively block malicious access to the client identification value and authentication information used for credentials of an encrypted session by encrypting a client identification value with a server identification value randomly generated according to user authentication to generate authentication information, and encrypting the client identification value with an encryption key generated based on the authentication information, thereby significantly enhancing the security of the gateway service for access control to the secured target database server.

도 1은 기존 게이트웨이 서비스 시스템의 구성도.
도 2는 기존 게이트웨이 서비스 시스템의 동작 예시도.
도 3은 본 발명의 실시예에 따른 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템의 구성도.
도 4는 본 발명의 일 실시예에 따른 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템의 동작 예시도.
도 5는 본 발명의 다른 실시예에 따른 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템의 동작 예시도.
도 6 및 도 7은 본 발명의 다른 실시예에 따른 게이트웨이 서비스 시스템의 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 방법에 대한 순서도.
Figure 1 is a configuration diagram of an existing gateway service system.
Figure 2 is an example of the operation of an existing gateway service system.
FIG. 3 is a configuration diagram of a gateway service system that supports user authentication for database access control according to an embodiment of the present invention.
FIG. 4 is an exemplary operation diagram of a gateway service system that supports user authentication for database access control according to one embodiment of the present invention.
FIG. 5 is an exemplary operation diagram of a gateway service system that supports user authentication for database access control according to another embodiment of the present invention.
FIGS. 6 and 7 are flowcharts of a gateway service method supporting user authentication for database access control of a gateway service system according to another embodiment of the present invention.

이하, 도면을 참고하여 본 발명의 상세 실시예를 설명한다.Hereinafter, detailed embodiments of the present invention will be described with reference to the drawings.

도 3은 본 발명의 실시예에 따른 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템(이하, 게이트웨이 서비스 시스템)의 구성도이다.FIG. 3 is a configuration diagram of a gateway service system (hereinafter, “gateway service system”) that supports user authentication for database access control according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 실시예에 따른 게이트웨이 서비스 시스템은, 사용자가 이용하는 사용자 단말(100)과, 통신망을 통해 상기 사용자 단말(100)과 통신하는 DB 접근제어 게이트웨이(Gateway) 서버(이하, 게이트웨이 서버)(200)와, 상기 게이트웨이 서버(200)와 연동하는 키 관리 서버(300)와, 상기 사용자 단말(100)의 접근 대상이면서 사용자 단말(100)의 접근 제어가 필요한 보안 대상인 보안 대상 데이터베이스 서버(이하, 보안 대상 DB)(400) 등을 포함하여 구성될 수 있다.As described above, a gateway service system according to an embodiment of the present invention may be configured to include a user terminal (100) used by a user, a DB access control gateway server (hereinafter, “gateway server”) (200) that communicates with the user terminal (100) via a communication network, a key management server (300) that is linked to the gateway server (200), and a security target database server (hereinafter, “security target DB”) (400) that is an access target of the user terminal (100) and a security target that requires access control of the user terminal (100).

이때, 상기 키 관리 서버(300)는, 상기 게이트웨이 서버(200)와 상기 통신망을 통해 상호 통신할 수 있으며, 상기 키 관리 서버(300)는 상기 게이트웨이 서버(200)에 상기 게이트웨이 서버(200)를 구성하는 구성부로 포함되어 구성될 수도 있다.At this time, the key management server (300) can communicate with the gateway server (200) through the communication network, and the key management server (300) can be configured to be included in the gateway server (200) as a component that constitutes the gateway server (200).

도 3에 도시된 게이트웨이 서비스 시스템의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 3에 도시된 구성 요소보다 많은 구성 요소에 의해 게이트웨이 서비스 시스템이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 게이트웨이 서비스 시스템이 구현될 수도 있다.Not all of the components of the gateway service system illustrated in FIG. 3 are essential components, and the gateway service system may be implemented with more components than the components illustrated in FIG. 3, or may be implemented with fewer components.

또한, 사용자 단말(100)은, 통신 기능을 구비한 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook) 등과 같은 다양한 단말기를 포함할 수 있다.In addition, the user terminal (100) may include various terminals such as a smart phone equipped with a communication function, a portable terminal, a mobile terminal, a personal digital assistant (PDA), a portable multimedia player (PMP) terminal, a telematics terminal, a navigation terminal, a personal computer, a notebook computer, a slate PC, a tablet PC, an ultrabook, etc.

또한, 본 발명에서 설명하는 통신망은 유/무선 통신망을 포함할 수 있으며, 이러한 무선 통신망의 일례로 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 5G 이동통신 서비스, 블루투스(Bluetooth), LoRa(Long Range), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 유선 LAN(Local Area Network), 유선 WAN(Wide Area Network), 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.In addition, the communication network described in the present invention may include a wired/wireless communication network, and examples of such wireless communication networks include Wireless LAN (WLAN), Digital Living Network Alliance (DLNA), Wireless Broadband (Wibro), World Interoperability for Microwave Access (Wimax), Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Code Division Multi Access 2000 (CDMA2000), Enhanced Voice-Data Optimized or Enhanced Voice-Data Only (EV-DO), Wideband CDMA (WCDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), Wireless Mobile Broadband Service (WMBS), 5G mobile communication service, This may include Bluetooth, LoRa (Long Range), RFID (Radio Frequency Identification), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, Near Field Communication (NFC), Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, etc. In addition, wired communication networks may include wired Local Area Network (LAN), wired Wide Area Network (WAN), Power Line Communication (PLC), USB communication, Ethernet, serial communication, optical/coaxial cables, etc.

또한, 상기 사용자 단말(100)은, 상기 보안 대상 DB(400)에 접속하기 위한 데이터베이스 접속 툴(데이터베이스 접속 도구)(130)과, 사용자 인증을 위한 입력 정보를 수신하기 위한 사용자 인터페이스를 제공하는 단말 에이전트(Client Agent)부(110), 상기 게이트웨이 서버(200)와 미리 설정된 암호화 프로토콜에 따른 암호화 통신 채널(암호화 세션)을 통해 통신하기 위한 ECP 통신부(120) 등을 포함하여 구성될 수 있다.In addition, the user terminal (100) may be configured to include a database access tool (database access tool) (130) for accessing the security target DB (400), a terminal agent (client agent) unit (110) for providing a user interface for receiving input information for user authentication, and an ECP communication unit (120) for communicating with the gateway server (200) through an encrypted communication channel (encrypted session) according to a preset encryption protocol.

이때, 상기 암호화 프로토콜의 일례로서, ECP(Encrypted Communication Proxy) 프로토콜이 사용될 수 있으나 이에 한정되지 않고 다양한 암호화 프로토콜이 사용될 수 있다.At this time, as an example of the encryption protocol, the ECP (Encrypted Communication Proxy) protocol may be used, but is not limited thereto and various encryption protocols may be used.

또한, 상기 사용자 단말(100)은, 사용자 입력을 수신하기 위한 단말 입력부와, 각종 정보를 저장하는 단말 저장부와, 각종 정보를 표시하기 위한 단말 표시부와, 상기 게이트웨이 서버(200), 보안 대상 DB(400) 등과 같은 다양한 외부 장치와 통신망을 통해 통신하기 위한 단말 통신부와, 상기 사용자 단말(100)의 전반적인 제어 기능을 수행하는 단말 제어부 등을 포함하여 구성될 수 있으며, 상기 데이터베이스 접속 툴(130)과 단말 에이전트부(110) 및 ECP 통신부(120) 등은 상기 단말 제어부를 구성하는 구성부로 구성되거나 단말 제어부에 포함되는 구성일 수 있다.In addition, the user terminal (100) may be configured to include a terminal input unit for receiving user input, a terminal storage unit for storing various types of information, a terminal display unit for displaying various types of information, a terminal communication unit for communicating with various external devices such as the gateway server (200) and a security target DB (400) through a communication network, and a terminal control unit for performing overall control functions of the user terminal (100), and the like, and the database access tool (130), the terminal agent unit (110), and the ECP communication unit (120), etc. may be configured as components constituting the terminal control unit or may be components included in the terminal control unit.

이에 따라, 상기 단말 제어부에 포함되는 상기 데이터베이스 접속 툴(130)과, 상기 단말 에이전트부(110) 및 ECP 통신부(120)는, 상기 단말 통신부를 통해 상기 게이트웨이 서버(200)를 비롯한 각종 외부 장치와 통신할 수 있으며, 이하에서 상기 단말 통신부를 통한 통신 구성은 생략하기로 한다.Accordingly, the database access tool (130), the terminal agent unit (110) and the ECP communication unit (120) included in the terminal control unit can communicate with various external devices including the gateway server (200) through the terminal communication unit, and the communication configuration through the terminal communication unit will be omitted below.

또한, 상기 게이트웨이 서버(200), 키 관리 서버(300), 보안 대상 DB(400) 등은 각각 다양한 외부 장치와 통신망을 통해 통신하기 위한 서버 통신부, 각종 정보를 저장하는 서버 저장부, 상기 서버 통신부 및 상기 서버 저장부를 비롯한 서버에 구성되는 각종 구성부를 제어하여 서버의 전반적인 제어 기능을 수행하는 서버 제어부 등을 포함하여 구성될 수 있다.In addition, the gateway server (200), key management server (300), security target DB (400), etc. may be configured to include a server communication unit for communicating with various external devices through a communication network, a server storage unit for storing various types of information, a server control unit for controlling various components configured in the server including the server communication unit and the server storage unit to perform the overall control function of the server, etc.

또한, 상기 게이트웨이 서버(200)는, 상기 게이트웨이 서버(200)의 전반적인 제어 기능을 수행하는 ECP 접근 제어부(210)를 포함하여 구성될 수 있고, 상기 ECP 접근 제어부(210)는 상기 서버 제어부로서 구성되거나 상기 서버 제어부에 포함되는 구성일 수 있으며, 상기 ECP 접근 제어부(210)는 상기 서버 통신부를 통해 각종 외부 장치와 통신망을 통해 통신할 수 있다.In addition, the gateway server (200) may be configured to include an ECP access control unit (210) that performs the overall control function of the gateway server (200), and the ECP access control unit (210) may be configured as the server control unit or may be configured to be included in the server control unit, and the ECP access control unit (210) may communicate with various external devices through a communication network via the server communication unit.

이때, 상기 서버 통신부를 통한 통신 구성 역시 이하 설명에서 생략하기로 한다.At this time, the communication configuration via the server communication unit will also be omitted from the description below.

상술한 구성을 토대로 본 발명의 일 실시예에 따른 게이트웨이 서비스 시스템의 동작 구성을 설명한다.Based on the above-described configuration, the operation configuration of a gateway service system according to one embodiment of the present invention is described.

우선, 도 4는 본 발명의 실시예에 따른 게이트웨이 서비스 시스템의 동작 예시도로서, 도시된 바와 같이, 사용자 단말(100)에는 보안 대상 DB(400)에 접속하기 위한 데이터베이스 접속 툴(130)과, 사용자 인터페이스를 제공하는 단말 에이전트부(110)와, 상기 데이트베이스 접속 툴을 통해 상기 보안 대상 DB(400)에 접속하기 위해 상기 게이트웨이 서버(200)와의 사용자 인증을 수행하고 암호화 세션을 생성하는 ECP 통신부(120)가 구성될 수 있다.First, FIG. 4 is an exemplary operation diagram of a gateway service system according to an embodiment of the present invention. As illustrated, a user terminal (100) may be configured with a database access tool (130) for accessing a security target DB (400), a terminal agent unit (110) for providing a user interface, and an ECP communication unit (120) for performing user authentication with the gateway server (200) and creating an encrypted session in order to access the security target DB (400) through the database access tool.

이때, 상기 단말 에이전트부(110)는, 사용자 단말(100)의 단말 표시부를 통해 사용자의 상기 보안 대상 DB(400)에 대한 접속권한을 인증하기 위해 필요한 사용자 ID 및 인증키를 입력하기 위한 사용자 인터페이스를 표시하고, 단말 입력부를 통해 상기 사용자 인터페이스에 입력된 사용자 입력을 기초로 상기 사용자 ID 및 인증키를 포함하는 인증 요청 정보를 생성할 수 있다.At this time, the terminal agent unit (110) can display a user interface for entering a user ID and authentication key required to authenticate the user's access rights to the security target DB (400) through the terminal display unit of the user terminal (100), and can generate authentication request information including the user ID and authentication key based on the user input entered into the user interface through the terminal input unit.

또한, 상기 단말 에이전트부(110)는, 상기 인증 요청 정보 생성시 상기 사용자 단말(100)의 네트워크 정보 및 OS(operating system) 정보를 수집하여, 상기 인증 요청 정보에 포함시킬 수 있다.In addition, the terminal agent unit (110) may collect network information and OS (operating system) information of the user terminal (100) when generating the authentication request information and include them in the authentication request information.

이때, 상기 네트워크 정보는, 상기 사용자 단말(100)의 IP, 호스트명(Hostname), 사용자 단말(100)의 Mac 주소(media access control address), 포트 번호 등을 포함할 수 있고, 상기 OS 정보는, 상기 사용자 단말(100)의 OS(Operating System)에 대한 OS 버전 정보, 사용자의 OS 계정 정보 등을 포함할 수 있다.At this time, the network information may include the IP of the user terminal (100), the host name, the Mac address (media access control address) of the user terminal (100), the port number, etc., and the OS information may include the OS version information for the OS (Operating System) of the user terminal (100), the user's OS account information, etc.

또한, 상기 단말 에이전트부(110)는, 상기 ECP 통신부(120)로 상기 인증 요청 정보를 제공할 수 있다.Additionally, the terminal agent unit (110) can provide the authentication request information to the ECP communication unit (120).

또한, 상기 ECP 통신부(120)는, 상기 인증 요청 정보를 상기 게이트웨이 서버(200)로 전송할 수 있다.Additionally, the ECP communication unit (120) can transmit the authentication request information to the gateway server (200).

또한, 상기 게이트웨이 서버(200)는, 상기 사용자 단말(100)의 사용자에 대한 정확한 인증을 수행하고 상기 ECP 통신부(120)와의 암호화 세션 생성을 위한 ECP 접근 제어부(210)를 포함하여 구성될 수 있다.In addition, the gateway server (200) may be configured to include an ECP access control unit (210) for performing accurate authentication of a user of the user terminal (100) and creating an encrypted session with the ECP communication unit (120).

상기 ECP 접근 제어부(210)는, 상기 인증 요청 정보 수신시 상기 인증 요청 정보에 포함된 사용자 ID 및 인증키를 포함하는 인증 대상 정보를 생성하여 상기 키 관리 서버(300)에 전송할 수 있다.The above ECP access control unit (210) can, when receiving the authentication request information, generate authentication target information including the user ID and authentication key included in the authentication request information and transmit it to the key management server (300).

또한, 상기 키 관리 서버(300)는, 상기 인증 대상 정보를 기초로 사용자에 대한 인증을 수행할 수 있으며, 인증 성공 여부에 대한 인증 결과 정보를 상기 게이트웨이 서버(200)의 ECP 접근 제어부(210)에 제공할 수 있다.In addition, the key management server (300) can perform authentication on a user based on the authentication target information, and provide authentication result information on whether authentication was successful to the ECP access control unit (210) of the gateway server (200).

또한, 상기 ECP 접근 제어부(210)는, 상기 인증 결과 정보를 기초로 사용자 인증 성공시 상기 인증 요청 정보에 포함된 상기 네트워크 정보 및 OS 정보를 기초로 인증 정보를 생성하고, 상기 인증 정보를 상기 키 관리 서버(300)에 전송할 수 있으며, 상기 키 관리 서버(300)에 상기 인증 정보가 저장되도록 할 수 있다.In addition, the ECP access control unit (210) can generate authentication information based on the network information and OS information included in the authentication request information when user authentication is successful based on the authentication result information, transmit the authentication information to the key management server (300), and cause the authentication information to be stored in the key management server (300).

이때, 상기 인증 정보는, 상기 네트워크 정보 및 OS 정보를 포함할 수 있다.At this time, the authentication information may include the network information and OS information.

또한, 상기 ECP 접근 제어부(210)는, 상기 사용자 단말(100)의 ECP 통신부(120)로 상기 인증 결과 정보를 전송할 수 있다.In addition, the ECP access control unit (210) can transmit the authentication result information to the ECP communication unit (120) of the user terminal (100).

또한, 상기 ECP 통신부(120)는, 상기 인증 결과 정보에 따른 인증 성공시 상기 암호화 세션에 사용하기 위한 암호화 키 요청을 위한 암호화키 요청 정보를 상기 ECP 접근 제어부(210)에 전송할 수 있다.In addition, the ECP communication unit (120) can transmit encryption key request information for requesting an encryption key for use in the encryption session to the ECP access control unit (210) when authentication is successful according to the authentication result information.

또한, 상기 ECP 접근 제어부(210)는, 상기 암호화키 요청 정보 수신시 상기 키 관리 서버(300)에 상기 인증 정보에 기반한 암호화키 및 복호화키 생성을 요청하기 위한 키 생성 요청 정보를 생성하여 상기 키 관리 서버(300)로 전송할 수 있다.In addition, the ECP access control unit (210) may, upon receiving the encryption key request information, generate key generation request information for requesting the key management server (300) to generate an encryption key and decryption key based on the authentication information and transmit the generated key generation request information to the key management server (300).

또한, 상기 키 관리 서버(300)는, 상기 키 생성 요청 정보 수신시 상기 인증 정보를 기초로 암호화 키 및 복호화 키를 생성한 후 상기 게이트웨이 서버(200)의 ECP 접근 제어부(210)에 상기 암호화 키를 제공할 수 있다.In addition, the key management server (300) can generate an encryption key and a decryption key based on the authentication information when receiving the key generation request information and then provide the encryption key to the ECP access control unit (210) of the gateway server (200).

이때, 상기 키 관리 서버(300)는, 상기 인증 정보와 상기 복호화 키를 상호 매칭한 상태로 저장하여 관리할 수 있다.At this time, the key management server (300) can store and manage the authentication information and the decryption key in a mutually matched state.

또한, 상기 ECP 접근 제어부(210)는, 상기 암호화 키 수신시 상기 암호화키 요청 정보에 대한 응답으로 상기 암호화 키를 상기 사용자 단말(100)의 ECP 통신부(120)에 전송하고, ECP(Encrypted Communication Proxy) 프로토콜을 통해 상기 ECP 통신부(120)와의 암호화 세션을 생성할 수 있다.In addition, the ECP access control unit (210) can transmit the encryption key to the ECP communication unit (120) of the user terminal (100) in response to the encryption key request information when receiving the encryption key, and create an encryption session with the ECP communication unit (120) through the ECP (Encrypted Communication Proxy) protocol.

이에 따라, 상기 사용자 단말(100)의 ECP 통신부(120)는, 상기 암호화 키 수신 이후 상기 사용자 단말(100)에 구성된 데이터베이스 접속 툴(130)에서 사용자 입력에 따라 상기 보안 대상 DB(400)에 접근하기 위한 패킷 생생시 상기 패킷을 ECP 프로토콜에 따라 상기 암호화 키로 암호화한 후 상기 ECP 접근 제어부(210)로 전송할 수 있다.Accordingly, the ECP communication unit (120) of the user terminal (100) can, after receiving the encryption key, encrypt the packet with the encryption key according to the ECP protocol and transmit it to the ECP access control unit (210) when a packet for accessing the security target DB (400) is generated according to user input in the database access tool (130) configured in the user terminal (100).

이때, 상기 ECP 통신부(120)는, 상기 네트워크 정보 및 OS 정보를 포함하는 인증 정보를 상기 암호화 세션을 통해 상기 ECP 접근 제어부(210)로 전송할 수 있다.At this time, the ECP communication unit (120) can transmit authentication information including the network information and OS information to the ECP access control unit (210) through the encryption session.

또한, 상기 ECP 접근 제어부(210)는, 상기 암호화 세션을 통해 상기 암호화된 패킷 수신시 상기 암호화된 패킷이 수신된 암호화 세션을 통해 수신된 인증 정보를 기초로 상기 키 관리 서버(300)에 복호화 키를 요청하고, 상기 복호화 키 요청에 따라 상기 키 관리 서버(300)로부터 상기 인증 정보에 대응하는 복호화 키 수신시 해당 수신된 복호화 키를 기초로 상기 암호화된 패킷을 복호화할 수 있다.In addition, the ECP access control unit (210) requests a decryption key from the key management server (300) based on authentication information received through the encryption session in which the encrypted packet was received when the encrypted packet is received through the encryption session, and upon receiving a decryption key corresponding to the authentication information from the key management server (300) in response to the decryption key request, the ECP access control unit (210) can decrypt the encrypted packet based on the received decryption key.

또한, 상기 ECP 접근 제어부(210)는, 상기 보안 대상 DB(400)와의 중계 세션을 통해 상기 패킷을 보안 대상 DB(400)로 전송할 수 있다.In addition, the ECP access control unit (210) can transmit the packet to the security target DB (400) through a relay session with the security target DB (400).

이와 같이, 본 발명의 실시예에 따른 게이트웨이 서비스 시스템은, ECP 기반의 암호화 세션(암호화 통신 채널) 구성을 위해 사용자 인증을 수행하고, 해당 사용자 인증에 기반한 인증 결과에 따라 단말 에이전트부(110)가 사용자 단말(100)의 OS로부터 수집한 네트워크 정보 및 OS 정보를 포함하는 인증 정보를 기초로 암호화 세션을 생성한 후 상기 인증 정보를 상기 암호화 세션의 자격증명 검증과 상기 중계 세션의 감사 항목으로 사용할 수 있으며, 이를 통해 인증 정보가 유지되는 동안에는 사용자가 추가 인증 절차 없이도 상기 보안 대상 DB(400)에 대한 접속 세션의 자격증명 검증에 성공할 수 있도록 할 수 있다.In this way, the gateway service system according to an embodiment of the present invention performs user authentication for configuring an encrypted session (encrypted communication channel) based on an ECP, and, based on an authentication result based on the user authentication, generates an encrypted session based on authentication information including network information and OS information collected from an OS of a user terminal (100) by a terminal agent unit (110), and then uses the authentication information as a credential verification item for the encrypted session and an audit item for the relay session, thereby enabling the user to successfully verify the credential of an access session to the secured target DB (400) without an additional authentication procedure while the authentication information is maintained.

그러나, 상술한 본 발명의 일 실시예에 따른 게이트웨이 서비스 시스템에서, 사용자 단말(100)이 보안 대상 DB(400)와 같은 외부 서버에 접속하기 위해 패킷을 전송하는 과정에서 NAT(Network Address Translation) 장비나 프로세스를 통해 사용자 단말(100)을 특정하기 위한 네트워크 정보가 변경되거나 OS 정보에 일부 정보가 누락되는 경우 상기 사용자 단말(100)이 암호화 세션 생성에 이용한 인증 정보와 다른 인증 정보를 제공하기 때문에 상기 사용자 단말(100)이 보안 대상 DB(400)에 대한 접근 권한이 있음에도 불구하고 사용자 단말(100)을 특정할 수 없어 암호화 세션의 자격증명 검증에 실패하는 문제가 발생한다.However, in the gateway service system according to one embodiment of the present invention described above, when the user terminal (100) transmits a packet to access an external server such as a security target DB (400), if the network information for specifying the user terminal (100) is changed through a NAT (Network Address Translation) device or process or some information is missing in the OS information, a problem occurs in which the user terminal (100) provides authentication information different from the authentication information used to create the encryption session, and thus, even though the user terminal (100) has access rights to the security target DB (400), the user terminal (100) cannot be specified, and thus the authentication verification of the encryption session fails.

또한, 상술한 바와 같이 네트워크 정보 및 OS 정보를 포함하는 인증 정보로 암호화 세션에 대한 사용자의 자격증명 검증을 수행하는 경우 인증 정보를 탈취하는 것만으로 용이하게 암호화 세션에 대한 접근이 가능하여 보안상 취약점이 발생한다.In addition, as described above, if user credentials for an encrypted session are verified using authentication information that includes network information and OS information, it is easy to access the encrypted session simply by stealing the authentication information, which creates a security vulnerability.

따라서, 상기 도 3에 따른 게이트웨이 서비스 시스템의 구성을 바탕으로, 도 4에서 설명한 게이트웨이 서비스 시스템의 문제를 개선한 본 발명의 다른 실시예에 따른 게이트웨이 서비스 시스템의 동작 예시를 하기와 같이 제안한다.Therefore, based on the configuration of the gateway service system according to the above-mentioned Fig. 3, an operation example of a gateway service system according to another embodiment of the present invention that improves the problem of the gateway service system described in Fig. 4 is proposed as follows.

도 5는 본 발명의 다른 실시예에 따른 게이트웨이 서비스 시스템의 상세 구성도 및 동작 예시도이며, 도 6 및 도 7은 본 발명의 다른 실시예에 따른 게이트웨이 서비스 시스템의 동작 순서도이다.FIG. 5 is a detailed configuration diagram and an example operation diagram of a gateway service system according to another embodiment of the present invention, and FIGS. 6 and 7 are operation flowcharts of a gateway service system according to another embodiment of the present invention.

도시된 바와 같이, 사용자 단말(100)에는 보안 대상 DB(400)에 접속하기 위한 데이터베이스 접속 툴(130)과, 사용자 인터페이스를 제공하는 단말 에이전트부(110)와, 상기 단말 에이전트부(110)와 연동하며 상기 데이트베이스 접속 툴을 통해 상기 보안 대상 DB(400)에 접속하기 위해 상기 게이트웨이 서버(200)와의 사용자 인증을 수행하고 암호화 세션을 생성하는 ECP 통신부(120) 등이 구성될 수 있다.As illustrated, the user terminal (100) may be configured with a database access tool (130) for accessing the security target DB (400), a terminal agent unit (110) providing a user interface, and an ECP communication unit (120) that performs user authentication with the gateway server (200) and creates an encrypted session to access the security target DB (400) through the database access tool while interlocked with the terminal agent unit (110).

상기 사용자 단말(100)에 구성되는 단말 에이전트부(110)는, 사용자 단말(100)의 단말 표시부를 통해 사용자의 상기 보안 대상 DB(400)에 대한 접속권한을 인증하기 위해 필요한 사용자 ID 및 인증키를 입력하기 위한 사용자 인터페이스를 단말 표시부를 통해 표시하고, 단말 입력부를 통해 상기 사용자 인터페이스에 입력된 사용자 입력을 기초로 상기 사용자 ID 및 인증키를 포함하는 인증 요청 정보를 생성할 수 있다.The terminal agent unit (110) configured in the user terminal (100) displays a user interface for inputting a user ID and authentication key required to authenticate the user's access rights to the security target DB (400) through the terminal display unit of the user terminal (100), and can generate authentication request information including the user ID and authentication key based on the user input entered into the user interface through the terminal input unit.

이때, 상기 단말 에이전트부(110)는, 상기 사용자 단말(100)에 대응하는 클라이언트 식별값이 미리 설정될 수 있으며, 상기 사용자 단말(100)에 대해 미리 설정된 클라이언트 식별값을 더 포함하는 상기 인증 요청 정보를 생성할 수 있다(S1).At this time, the terminal agent unit (110) may preset a client identification value corresponding to the user terminal (100) and may generate the authentication request information further including the preset client identification value for the user terminal (100) (S1).

또한, 상기 단말 에이전트부(110)는, 상기 인증 요청 정보 생성시 상기 사용자 단말(100)의 네트워크 정보 및 OS 정보를 수집하여, 상기 인증 요청 정보에 포함시킬 수도 있다.In addition, the terminal agent unit (110) may collect network information and OS information of the user terminal (100) when generating the authentication request information and include them in the authentication request information.

이때, 상기 네트워크 정보는, 상기 사용자 단말(100)의 IP, 호스트명(Hostname), 사용자 단말(100)의 Mac 주소, 포트 번호 등을 포함할 수 있고, 상기 OS 정보는, 상기 사용자 단말(100)의 OS(Operating System)에 대한 OS 버전 정보, 사용자의 OS 계정 정보 등을 포함할 수 있다.At this time, the network information may include the IP of the user terminal (100), the hostname, the Mac address of the user terminal (100), the port number, etc., and the OS information may include the OS version information for the OS (Operating System) of the user terminal (100), the user's OS account information, etc.

또한, 상기 단말 에이전트부(110)는, 상기 ECP 통신부(120)로 상기 인증 요청 정보를 제공할 수 있다.Additionally, the terminal agent unit (110) can provide the authentication request information to the ECP communication unit (120).

또한, 상기 ECP 통신부(120)는, 상기 인증 요청 정보를 상기 게이트웨이 서버(200)로 전송할 수 있다(S2).Additionally, the ECP communication unit (120) can transmit the authentication request information to the gateway server (200) (S2).

또한, 상기 게이트웨이 서버(200)에 구성되는 ECP 접근 제어부(210)는, 상기 사용자 단말(100)의 ECP 통신부(120)로부터 상기 인증 요청 정보 수신시 상기 인증 요청 정보에 포함된 사용자 ID 및 인증키를 포함하는 인증 대상 정보를 생성하여 상기 키 관리 서버(300)에 전송함으로써, 상기 인증 대상 정보에 대한 인증(사용자 인증)을 요청할 수 있다(S3).In addition, the ECP access control unit (210) configured in the gateway server (200) can request authentication (user authentication) for the authentication target information by generating authentication target information including the user ID and authentication key included in the authentication request information and transmitting the authentication request information to the key management server (300) when receiving the authentication request information from the ECP communication unit (120) of the user terminal (100) (S3).

이에 따라, 상기 키 관리 서버(300)는, 상기 인증 대상 정보 수신시 상기 인증 대상 정보에 포함된 사용자 ID 및 인증키를 기초로 사용자 인증을 수행할 수 있으며, 인증 성공 여부에 대한 인증 결과 정보를 상기 ECP 접근 제어부(210)에 전송할 수 있다.Accordingly, the key management server (300) can perform user authentication based on the user ID and authentication key included in the authentication target information when receiving the authentication target information, and transmit authentication result information on whether the authentication was successful to the ECP access control unit (210).

일례로, 상기 키 관리 서버(300)는, 상기 키 관리 서버(300)에 사용자 인증을 위해 미리 저장된 서로 다른 복수의 사용자별 사용자 등록 정보 중 상기 사용자 ID 및 인증키와 일치하는 사용자 등록 정보가 존재하면, 상기 인증 대상 정보에 대응하는 사용자의 인증에 성공한 것으로 판단하고, 인증 성공에 대한 인증 결과 정보를 상기 ECP 접근 제어부(210)에 제공할 수 있다.For example, if there is user registration information that matches the user ID and authentication key among the user registration information of multiple different users pre-stored in the key management server (300) for user authentication, the key management server (300) may determine that the authentication of the user corresponding to the authentication target information is successful and provide authentication result information on the successful authentication to the ECP access control unit (210).

또한, 상기 키 관리 서버(300)는, 상기 인증 대상 정보를 기초로 인증 성공시 서버 식별값을 생성한 후 상기 서버 식별값 및 인증 결과 정보를 함께 상기 ECP 접근 제어부(210)에 제공할 수 있다.In addition, the key management server (300) can generate a server identification value upon successful authentication based on the authentication target information and then provide the server identification value and authentication result information together to the ECP access control unit (210).

이때, 상기 키 관리 서버(300)는, 인증 성공시(사용자 인증 성공시) 일회성의 상기 서버 식별값을 랜덤(random)하게 생성할 수 있으며, 상기 서버 식별값은 암호화 세션 단위로 사용되는 일회성의 범용 고유 식별자(Universally Unique Identifier, UUID)로 구성될 수 있다.At this time, the key management server (300) can randomly generate a one-time server identification value when authentication is successful (when user authentication is successful), and the server identification value can be configured as a one-time universally unique identifier (UUID) used as an encryption session unit.

또한, 상기 ECP 접근 제어부(210)는, 상기 키 관리 서버(300)로부터 제공된 인증 결과 정보를 기초로 인증 성공시 상기 인증 요청 정보에 포함된 클라이언트 식별값을 추출하고, 상기 클라이언트 식별값을 상기 서버 식별값으로 암호화하여 서버 보관용 인증 정보를 생성할 수 있다.In addition, the ECP access control unit (210) can extract the client identification value included in the authentication request information when authentication is successful based on the authentication result information provided from the key management server (300), and encrypt the client identification value with the server identification value to generate authentication information for server storage.

이때, 상기 ECP 접근 제어부(210)는, 상기 클라이언트 식별값을 미리 설정된 해시(Hash) 알고리즘에 따라 상기 서버 식별값으로 해시 처리하여 해시값을 생성한 후 상기 해시값으로 구성되거나 상기 해시값을 포함하는 상기 서버 보관용 인증 정보를 생성할 수 있다.At this time, the ECP access control unit (210) can generate a hash value by hashing the client identification value with the server identification value according to a preset hash algorithm, and then generate the server storage authentication information composed of or including the hash value.

또한, 상기 ECP 접근 제어부(210)는, 상기 서버 보관용 인증 정보를 상기 키 관리 서버(300)에 전송하여 상기 키 관리 서버(300)에 저장되도록 할 수 있다(S4).In addition, the ECP access control unit (210) can transmit the server storage authentication information to the key management server (300) so that it is stored in the key management server (300) (S4).

또한, 상기 ECP 접근 제어부(210)는, 상기 인증 결과 정보를 상기 ECP 통신부(120)로 제공할 수 있다.Additionally, the ECP access control unit (210) can provide the authentication result information to the ECP communication unit (120).

또한, 상기 ECP 통신부(120)는, 상기 인증 결과 정보를 수신하고, 상기 인증 결과 정보에 따른 인증 결과가 인증 성공인 경우 상기 클라이언트 식별값을 포함하는 제 1 암호키 요청 정보를 생성하여 상기 ECP 접근 제어부(210)로 전송할 수 있다(S5).In addition, the ECP communication unit (120) can receive the authentication result information, and if the authentication result according to the authentication result information is a success, generate first encryption key request information including the client identification value and transmit it to the ECP access control unit (210) (S5).

또한, 상기 ECP 접근 제어부(210)는, 상기 ECP 통신부(120)로부터 제 1 암호키 요청 정보 수신시 상기 제 1 암호키 요청 정보에 포함된 클라이언트 식별값을 상기 서버 식별값으로 암호화하여 인증 정보(이하에서는, 암호키 요청용 인증 정보)를 생성할 수 있다.In addition, the ECP access control unit (210) can, when receiving the first encryption key request information from the ECP communication unit (120), encrypt the client identification value included in the first encryption key request information with the server identification value to generate authentication information (hereinafter, authentication information for encryption key request).

이때, 상기 ECP 접근 제어부(210)는, 상기 제 1 암호키 요청 정보에 포함된 상기 클라이언트 식별값을 미리 설정된 해시 알고리즘에 따라 상기 서버 식별값으로 해시 처리하여 해시값을 생성할 수 있으며, 해당 해시값으로 구성되거나 해당 해시값을 포함하는 암호키 요청용 인증 정보를 생성할 수 있다.At this time, the ECP access control unit (210) can generate a hash value by hashing the client identification value included in the first encryption key request information with the server identification value according to a preset hash algorithm, and can generate authentication information for an encryption key request composed of or including the hash value.

또한, 상기 ECP 접근 제어부(210)는, 상기 암호키 요청용 인증 정보를 기초로 상기 제 1 암호키 요청 정보에 대응하는 제 2 암호키 요청 정보를 생성하여 상기 키 관리 서버(300)에 전송할 수 있다(S6).In addition, the ECP access control unit (210) can generate second encryption key request information corresponding to the first encryption key request information based on the authentication information for the encryption key request and transmit it to the key management server (300) (S6).

이때, 상기 ECP 접근 제어부(210)는, 암호키 요청을 위한 상기 암호키 요청용 인증 정보를 포함하는 제 2 암호키 요청 정보를 생성하여 상기 키 관리 서버(300)에 전송할 수 있다.At this time, the ECP access control unit (210) can generate second encryption key request information including authentication information for the encryption key request and transmit it to the key management server (300).

또한, 상기 키 관리 서버(300)는, 상기 제 2 암호키 요청 정보 수신시 상기 제 2 암호키 요청 정보에 포함된 상기 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부를 판단하고, 상기 일치 여부에 따라 상기 암호키 요청용 인증 정보와 일치하는 미리 저장된 상기 서버 보관용 인증 정보가 존재하면 암호키를 생성하여 상기 ECP 통신부(120)에 전송할 수 있다.In addition, when receiving the second encryption key request information, the key management server (300) determines whether the encryption key request authentication information included in the second encryption key request information matches the server storage authentication information, and if there is pre-stored server storage authentication information that matches the encryption key request authentication information based on the match, the key management server (300) can generate an encryption key and transmit it to the ECP communication unit (120).

이때, 상기 키 관리 서버(300)는, 상기 암호키 요청용 인증 정보와 일치하는 상기 서버 보관용 인증 정보를 기초로 상기 암호키를 생성할 수 있으며, 상기 암호키 생성시 상기 서버 보관용 인증 정보와 암호키를 상호 매칭하여 상기 키 관리 서버(300)의 서버 저장부에 저장하여 관리할 수 있다.At this time, the key management server (300) can generate the encryption key based on the server storage authentication information that matches the encryption key request authentication information, and when generating the encryption key, the server storage authentication information and the encryption key can be matched with each other and stored in the server storage of the key management server (300) for management.

상술한 구성에서, 상술한 바와 같은 키 관리 서버(300)의 동작 구성을 위해, 상기 키 관리 서버(300)는, 인증부, 식별값 생성부, 인증 정보 관리부, 암호키 생성부 등을 포함하여 구성될 수 있으며, 상기 인증부, 식별값 생성부, 인증 정보 관리부, 암호키 생성부 등은 상기 키 관리 서버(300)의 서버 제어부를 구성하는 구성부일 수 있다.In the above-described configuration, for the operation configuration of the key management server (300) as described above, the key management server (300) may be configured to include an authentication unit, an identification value generation unit, an authentication information management unit, an encryption key generation unit, etc., and the authentication unit, the identification value generation unit, the authentication information management unit, the encryption key generation unit, etc. may be components that constitute the server control unit of the key management server (300).

상기 인증부는, 상기 사용자 ID 및 인증키를 기초로 상기 사용자 단말(100)의 사용자에 대한 인증을 수행할 수 있으며, 상기 키 관리 서버(300)에 포함된 서버 저장부에 미리 저장되는 사용자별 사용자 등록 정보와 상기 인증 대상 정보에 포함된 사용자 ID 및 인증키를 비교하여, 상기 사용자 ID 및 인증키와 일치하는 사용자 ID 및 인증키가 포함된 사용자 등록 정보가 존재하면, 상기 사용자 ID에 대응하는 사용자에 대한 인증에 성공한 것으로 판단할 수 있다.The above authentication unit can authenticate the user of the user terminal (100) based on the user ID and authentication key, and compare the user registration information for each user pre-stored in the server storage unit included in the key management server (300) with the user ID and authentication key included in the authentication target information, and if there is user registration information including a user ID and authentication key that matches the user ID and authentication key, it can be determined that the authentication of the user corresponding to the user ID is successful.

또한, 상기 식별값 생성부는, 상기 인증부와 연동하여 상기 인증부의 인증 결과에 따라 서버 식별값을 랜덤 생성하고, 상기 서버 식별값 및 상기 인증부의 인증 결과(인증 성공 또는 인증 실패)에 대한 인증 결과 정보를 상기 ECP 접근 제어부(210)로 제공할 수 있다.In addition, the identification value generation unit can randomly generate a server identification value based on the authentication result of the authentication unit in conjunction with the authentication unit, and provide authentication result information on the server identification value and the authentication result of the authentication unit (authentication success or authentication failure) to the ECP access control unit (210).

또한, 상기 인증 정보 관리부는, 상기 ECP 접근 제어부(210)로부터 전송되는 상기 서버 보관용 인증 정보를 상기 서버 저장부에 저장할 수 있다.In addition, the authentication information management unit can store the server storage authentication information transmitted from the ECP access control unit (210) in the server storage unit.

또한, 상기 암호키 생성부는, 상기 ECP 접근 제어부(210)로부터 수신된 상기 제 2 암호키 요청 정보에 포함된 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보를 상호 비교하여 일치하는 경우 상기 암호화 세션에 사용되기 위한 암호키를 생성하여 상기 ECP 접근 제어부(210)에 제공할 수 있다.In addition, the encryption key generation unit can compare the encryption key request authentication information included in the second encryption key request information received from the ECP access control unit (210) with the server storage authentication information, and if they match, can generate an encryption key to be used in the encryption session and provide it to the ECP access control unit (210).

한편, 상기 ECP 접근 제어부(210)는, 상기 암호키 수신시 상기 암호키를 상기 ECP 통신부(120)로 전송할 수 있으며(S7), 상기 암호키를 기초로 ECP 프로토콜을 통해 상기 ECP 통신부(120)와의 암호화 세션(session)을 생성할 수 있다(S8).Meanwhile, the ECP access control unit (210) can transmit the encryption key to the ECP communication unit (120) upon receiving the encryption key (S7), and can create an encryption session with the ECP communication unit (120) through the ECP protocol based on the encryption key (S8).

이때, 상기 ECP 접근 제어부(210)는, 상기 암호화 세션에 상기 서버 식별값을 할당할 수 있다.At this time, the ECP access control unit (210) can assign the server identification value to the encryption session.

또한, 상기 ECP 통신부(120)는, 상기 암호화 세션 생성 이후 상기 데이터베이스 접속 툴(130)이 사용자 입력을 기초로 생성한 패킷인 데이터베이스 프로토콜 패킷과 상기 클라이언트 식별값을 포함하는 ECP 패킷을 생성하여 상기 암호화 세션을 통해 상기 ECP 접근 제어부(210)로 전송할 수 있다(S9).In addition, the ECP communication unit (120) can generate an ECP packet including a database protocol packet, which is a packet generated by the database access tool (130) based on user input after the encryption session is created, and the client identification value, and transmit the packet to the ECP access control unit (210) through the encryption session (S9).

이때, 상기 ECP 통신부(120)는, 상기 데이터베이스 프로토콜 패킷과 상기 클라이언트 식별값을 미리 설정된 암호화 알고리즘(또는 암복호화 알고리즘)에 따라 상기 암호키로 암호화한 후 암호화된 데이터베이스 프로토콜 패킷 및 암호화된 클라이언트 식별값을 포함하는 ECP 패킷을 생성할 수 있다.At this time, the ECP communication unit (120) can encrypt the database protocol packet and the client identification value with the encryption key according to a preset encryption algorithm (or encryption/decryption algorithm) and then generate an ECP packet including the encrypted database protocol packet and the encrypted client identification value.

또한, 상기 ECP 통신부(120)는, 상기 ECP 패킷을 상기 ECP 접근 제어부(210)로 전송할 수 있다.Additionally, the ECP communication unit (120) can transmit the ECP packet to the ECP access control unit (210).

한편, 상기 ECP 접근 제어부(210)는, 상기 암호화 세션을 통해 수신되는 ECP 패킷에 포함된 클라이언트 식별값을 기초로 상기 사용자 단말(100)의 상기 보안 대상 DB에 대한 접근 권한 여부(접속 권한 여부 또는 접근(접속) 권한 존재 여부)를 판단하고, 판단 결과에 따라 상기 보안 대상 DB(400)에 대한 상기 사용자 단말(100)의 접근을 제어할 수 있다(S10).Meanwhile, the ECP access control unit (210) determines whether the user terminal (100) has access to the security target DB (whether access is granted or whether access (connection) authority exists) based on the client identification value included in the ECP packet received through the encryption session, and can control the user terminal's (100) access to the security target DB (400) based on the determination result (S10).

이때, 상기 ECP 접근 제어부(210)는, 상기 ECP 패킷에 포함된 클라이언트 식별값 및 상기 암호화 세션에 대해 할당된 서버 식별값을 기초로 상기 사용자(또는 상기 사용자 단말(100))의 상기 보안 대상 DB(400)에 대한 접근 권한 여부(접근 권한의 존재 여부)를 판단하고, 상기 접근 권한 여부에 따라 상기 보안 대상 DB(400)에 대한 상기 사용자 단말(100)의 접근을 허용하거나 차단할 수 있다.At this time, the ECP access control unit (210) determines whether the user (or the user terminal (100)) has access to the security target DB (400) (whether access authority exists or not) based on the client identification value included in the ECP packet and the server identification value assigned to the encryption session, and may allow or block the user terminal's (100's) access to the security target DB (400) based on the presence or absence of the access authority.

이를 상세히 설명하면, 상기 ECP 접근 제어부(210)는, 상기 ECP 패킷에 포함된 암호화된 데이터베이스 프로토콜 패킷 및 상기 암호화된 클라이언트 식별값을 상기 암호키로 복호화하여, 상기 데이터베이스 프로토콜 패킷 및 클라이언트 식별값을 획득할 수 있다.To explain this in detail, the ECP access control unit (210) can decrypt the encrypted database protocol packet and the encrypted client identification value included in the ECP packet using the encryption key to obtain the database protocol packet and the client identification value.

이때, 상기 ECP 접근 제어부(210)는, 상기 ECP 통신부(120)에 설정된 암호화 알고리즘에 대응하는 미리 설정된 복호화 알고리즘(또는 상기 ECP 통신부(120)에 설정된 상기 암복호화 알고리즘과 동일한 미리 설정된 암복호화 알고리즘)을 통해 상기 암호화된 데이터베이스 프로토콜 패킷 및 상기 암호화된 클라이언트 식별값을 상기 암호키로 복호화할 수 있다.At this time, the ECP access control unit (210) can decrypt the encrypted database protocol packet and the encrypted client identification value with the encryption key through a preset decryption algorithm corresponding to the encryption algorithm set in the ECP communication unit (120) (or a preset encryption/decryption algorithm that is identical to the encryption/decryption algorithm set in the ECP communication unit (120).

또한, 상기 ECP 접근 제어부(210)는, 상기 암호키로 상기 데이터베이스 프로토콜 패킷의 복호화에 성공하면, 상기 보안 대상 DB(400)에 대한 접근 권한이 있는 것으로 판단하고, 상기 데이터베이스 프로토콜 패킷을 보안 대상 DB(400)에 전송할 수 있다.In addition, if the ECP access control unit (210) succeeds in decrypting the database protocol packet with the encryption key, it determines that it has access authority to the security target DB (400) and can transmit the database protocol packet to the security target DB (400).

이때, 상기 ECP 접근 제어부(210)는, 상기 게이트웨이 서버(200)와 상기 보안 대상 DB(400) 사이에 설정된 중계 세션을 통해 상기 데이터베이스 프로토콜 패킷을 상기 보안 대상 DB(400)에 전송할 수 있다.At this time, the ECP access control unit (210) can transmit the database protocol packet to the security target DB (400) through a relay session established between the gateway server (200) and the security target DB (400).

상술한 구성에서, 상기 암호키는 암호화키 및 복호화키를 포함할 수 있으며, 상기 ECP 접근 제어부(210)는, 상기 암호화키를 상기 ECP 통신부(120)로 전송할 수 있고, 상기 복호화키를 상기 암호화 세션에 대응하도록(대해) 설정(할당)할 수 있다.In the above-described configuration, the encryption key may include an encryption key and a decryption key, and the ECP access control unit (210) may transmit the encryption key to the ECP communication unit (120) and set (assign) the decryption key to correspond to the encryption session.

이에 따라, 상기 ECP 통신부(120)는, 상기 암호화키로 상기 데이터베이스 프로토콜 패킷 및 상기 클라이언트 식별값을 암호화한 후 상기 암호화된 데이터베이스 프로토콜 패킷 및 상기 암호화된 클라이언트 식별값을 포함하는 ECP 패킷을 생성하여 전송할 수 있다.Accordingly, the ECP communication unit (120) can encrypt the database protocol packet and the client identification value with the encryption key, and then generate and transmit an ECP packet including the encrypted database protocol packet and the encrypted client identification value.

또한, 상기 ECP 접근 제어부(210)는, 상기 암호화 세션을 통해 수신된 ECP 패킷에 포함되는 상기 암호화된 데이터베이스 프로토콜 패킷 및 상기 암호화된 클라이언트 식별값을 상기 암호화 세션에 대해 할당된 복호화키로 복호화할 수 있다.In addition, the ECP access control unit (210) can decrypt the encrypted database protocol packet and the encrypted client identification value included in the ECP packet received through the encrypted session using a decryption key assigned to the encrypted session.

또한, 상술한 구성에서, 상기 ECP 접근 제어부(210)는, 상기 ECP 패킷으로부터 얻어진 상기 클라이언트 식별값을 상기 암호화 세션에 할당된 서버 식별값으로 암호화한 자격증명용 인증 정보를 상기 키 관리 서버(300)에 전송할 수 있다.In addition, in the above-described configuration, the ECP access control unit (210) can transmit authentication information for credentials, which is encrypted with the client identification value obtained from the ECP packet using the server identification value assigned to the encryption session, to the key management server (300).

이때, 상기 자격증명용 인증 정보는, 상기 ECP 패킷으로부터 얻어진 클라이언트 식별값을 미리 설정된 해시 알고리즘을 통해 상기 서버 식별값으로 해시 처리하여 얻어진 해시값으로 구성되거나 해당 해시값을 포함하여 구성될 수 있다.At this time, the authentication information for the credentials may be composed of a hash value obtained by hashing the client identification value obtained from the ECP packet with the server identification value through a preset hash algorithm, or may be composed including the hash value.

또한, 상기 ECP 접근 제어부(210)는, 암호화 세션을 통해 접근한 사용자의 자격증명 검증 요청을 위해 상기 자격증명용 인증 정보를 포함하는 자격증명 검증 요청 정보를 생성하여 상기 키 관리 서버(300)에 전송할 수도 있다.In addition, the ECP access control unit (210) may generate credential verification request information including authentication information for the credential to request credential verification of a user who accessed through an encrypted session and transmit it to the key management server (300).

또한, 상기 키 관리 서버(300)는, 상기 자격증명 검증 요청 정보 수신시 상기 자격증명용 인증 정보와 일치하는 상기 서버 보관용 인증 정보의 존재 여부에 따라 자격증명 검증 여부를 판단하고, 자격증명 검증 여부시(자격증명 검증 성공 여부 또는 자격증명 검증 완료 여부)에 대한 검증 결과 정보를 상기 ECP 접근 제어부(210)로 제공할 수 있다.In addition, the key management server (300) determines whether to verify the credential based on the presence of the server storage authentication information that matches the authentication information for the credential upon receiving the credential verification request information, and can provide the verification result information on whether to verify the credential (whether the credential verification is successful or whether the credential verification is complete) to the ECP access control unit (210).

이때, 상기 키 관리 서버(300)에 포함된 암호키 생성부가, 상기 자격증명 검증을 수행하거나 상기 자격증명 검증을 수행하기 위한 별도의 자격증명 검증부가 상기 키 관리 서버(300)에 구성될 수도 있다.At this time, the encryption key generation unit included in the key management server (300) may perform the credential verification, or a separate credential verification unit for performing the credential verification may be configured in the key management server (300).

또한, 상기 ECP 접근 제어부(210)는, 상기 검증 결과 정보를 기초로 자격증명 검증시(검증 성공시 또는 검증 완료시) 상기 데이터베이스 프로토콜 패킷을 상기 보안 대상 DB(400)에 전송할 수 있다.In addition, the ECP access control unit (210) can transmit the database protocol packet to the security target DB (400) when verifying credentials (when verification is successful or when verification is completed) based on the verification result information.

상술한 구성에서, 상기 단말 에이전트부(110)는, 상기 사용자 단말(100)에 대한 네트워크 정보 및 OS 정보를 상기 인증 요청 정보에 포함시킬 수도 있다.In the above-described configuration, the terminal agent unit (110) may include network information and OS information for the user terminal (100) in the authentication request information.

또한, 상기 ECP 통신부(120)는, 상기 사용자 단말(100)의 네트워크 정보 및 OS 정보를 포함하는 ECP 패킷을 상기 ECP 접근 제어부(210)로 전송할 수 있다.In addition, the ECP communication unit (120) can transmit an ECP packet including network information and OS information of the user terminal (100) to the ECP access control unit (210).

또한, 상기 ECP 접근 제어부(210)는, 상기 인증 요청 정보에 대응하는 암호화 세션 생성시 상기 인증 요청 정보에 포함된 네트워크 정보 및 OS 정보를 상기 암호화 세션에 할당할 수 있다.In addition, the ECP access control unit (210) can assign network information and OS information included in the authentication request information to the encryption session when creating an encryption session corresponding to the authentication request information.

또한, 상기 ECP 접근 제어부(210)는, 상기 ECP 패킷에 포함된 네트워크 정보 및 OS 정보가 상기 암호화 세션에 할당된 네트워크 정보 및 OS 정보와 일치하지 않는 경우(또는 경우에만) 상기 ECP 패킷로부터 획득한 클라이언트 식별값을 서버 식별값으로 암호화하여 상기 자격증명용 인증 정보를 생성한 후 상기 키 관리 서버(300)와 연동하여 자격증명 검증을 수행할 수 있다.In addition, the ECP access control unit (210) may encrypt the client identification value obtained from the ECP packet with a server identification value to generate authentication information for the credential if (or only if) the network information and OS information included in the ECP packet do not match the network information and OS information allocated to the encryption session, and then perform credential verification in conjunction with the key management server (300).

즉, 상기 ECP 접근 제어부(210)는, 상기 네트워크 정보 및 OS 정보를 중계 세션 감사 항목으로 이용하고, 상기 클라이언트 식별값을 상기 사용자 단말(100)의 사용자에 대한 보안 대상 DB(400)로부의 접근 권한에 대한 자격증명 검증에 사용함으로써, 사용자 단말(100)의 사용자를 정확하게 구분하여 식별하면서 해당 사용자의 보안 대상 DB(400)로의 접근 권한 여부를 정확하게 검증할 수 있다.That is, the ECP access control unit (210) uses the network information and OS information as relay session audit items and uses the client identification value to verify credentials for access rights to the security target DB (400) for the user of the user terminal (100), thereby accurately distinguishing and identifying the user of the user terminal (100) and accurately verifying whether the user has access rights to the security target DB (400).

상술한 바와 같이, 본 발명은, 사용자 단말(100)에 대해 미리 저장된 고유 식별값인 클라이언트 식별값을 사용자의 인증시 랜덤하게 생성한 서버 식별값으로 암호화처리한 인증 정보를 기초로 보안 대상 데이터베이스 서버로의 접근 제어를 위한 암호화 세션을 생성하고, 이러한 암호화 세션의 접근 권한에 대한 자격증명 검증을 상기 클라이언트 식별값을 이용하여 수행함으로써, 네트워크 정보 및 OS 정보로 사용자 단말(100)의 식별이 어려운 게이트웨이 서비스 환경에서도 일관되면서도 정확한 사용자 인증을 지원하여 게이트웨이 서비스의 보안성 및 효율성을 높일 수 있다.As described above, the present invention creates an encrypted session for access control to a secured database server based on authentication information in which a client identification value, which is a unique identification value stored in advance for a user terminal (100), is encrypted with a server identification value randomly generated at the time of user authentication, and performs credential verification for access authority to this encrypted session using the client identification value, thereby supporting consistent and accurate user authentication even in a gateway service environment in which it is difficult to identify a user terminal (100) with network information and OS information, thereby enhancing the security and efficiency of the gateway service.

또한, 본 발명은, 사용자 인증에 따라 랜덤하게 생성되는 서버 식별값으로 클라이언트 식별값을 암호화 처리하여 인증 정보를 생성하고, 인증 정보를 기반으로 생성한 암호키로 클라이언트 식별값을 암호화 처리함으로써, 암호화 세션의 자격증명에 이용되는 클라이언트 식별값과 인증정보에 대한 악의적인 접근을 효과적으로 차단할 수 있어, 보안 대상 데이터베이스 서버로의 접근 제어에 대한 게이트웨이 서비스의 보안성을 크게 높일 수 있다.In addition, the present invention can effectively block malicious access to the client identification value and authentication information used for credentials of an encrypted session by encrypting a client identification value with a server identification value randomly generated according to user authentication to generate authentication information, and encrypting the client identification value with an encryption key generated based on the authentication information, thereby significantly enhancing the security of the gateway service for access control to the secured target database server.

본 발명의 실시예들에서 설명된 구성요소는, 예를 들어, 메모리, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(programmable logic unit), 마이크로프로세서, 논리게이트(Logic gate) 등의 하드웨어, 명령어 세트를 포함하는 소프트웨어 내지 이들의 조합 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.The components described in the embodiments of the present invention may be implemented using one or more general-purpose computers or special-purpose computers, such as, for example, hardware such as a memory, 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), a microprocessor, a logic gate, software including an instruction set, or a combination thereof, or any other device capable of executing and responding to instructions.

본 명세서에 기술된 다양한 장치 및 구성부는 하드웨어 회로(예를 들어, CMOS 기반 로직 회로), 펌웨어, 소프트웨어 또는 이들의 조합에 의해 구현될 수 있다. 예를 들어, 다양한 전기적 구조의 형태로 트랜지스터, 로직게이트 및 전자회로를 활용하여 구현될 수 있다.The various devices and components described herein may be implemented by hardware circuits (e.g., CMOS-based logic circuits), firmware, software, or a combination thereof. For example, they may be implemented by utilizing transistors, logic gates, and electronic circuits in the form of various electrical structures.

전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above-described contents can be modified and changed by those skilled in the art to which the present invention pertains, without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain it, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the rights of the present invention.

100: 사용자 단말 110: 단말 에이전트부
120: ECP 통신부 130: 데이터베이스 접속 툴
200: DB 접근제어 게이트웨이 서버
210: ECP 접근 제어부 300: 키 관리 서버
400: 보안 대상 DB
100: User terminal 110: Terminal agent part
120: ECP Communications Section 130: Database Access Tool
200: DB Access Control Gateway Server
210: ECP Access Control 300: Key Management Server
400: Secure target DB

Claims (9)

보안 대상 데이터베이스 서버에 접속하기 위한 데이터베이스 접속 툴과 사용자 인터페이스가 구성된 사용자 단말과 상기 보안 대상 데이터베이스 서버에 대한 접근 제어 기능을 수행하는 DB 접근제어 게이트웨이 서버 및 상기 DB 접근 제어 게이트웨이 서버와 연동하는 키 관리 서버를 포함하는 게이트웨이 서비스 시스템에 있어서,
상기 사용자 단말은, 사용자 ID 및 인증키와 미리 저장된 클라이언트 식별값을 포함하는 사용자 인증 요청을 위한 인증 요청 정보를 생성하는 단말 에이전트부 및 상기 인증 요청 정보를 상기 DB 접근제어 게이트웨이 서버에 전송하고 인증 성공시 상기 클라이언트 식별값을 포함하는 제 1 암호키 요청 정보를 전송하며, 상기 제 1 암호키 요청 정보에 대응하는 암호키 수신시 상기 DB 접근제어 게이트웨이 서버와 ECP(Encrypted Communication Proxy) 프로토콜을 통해 암호화 세션을 구성하고, 상기 데이터베이스 접속 툴이 제공하는 데이터베이스 프로토콜 패킷 및 상기 클라이언트 식별값을 포함하는 ECP 패킷을 상기 암호화 세션을 통해 전송하는 ECP 통신부를 포함하고,
상기 DB 접근제어 게이트웨이 서버는, 상기 인증 요청 정보 수신시 상기 사용자 ID 및 인증키를 상기 키 관리 서버에 전송하여 인증을 요청하고, 인증 성공시 상기 키 관리 서버로부터 제공된 서버 식별값을 기초로 상기 인증 요청 정보에 포함된 클라이언트 식별값을 암호화하여 서버 보관용 인증 정보를 생성한 후 상기 키 관리 서버에 전송하며, 상기 ECP 통신부로부터 수신된 상기 제 1 암호키 요청 정보에 포함된 클라이언트 식별값을 상기 서버 식별값으로 암호화하여 생성한 암호키 요청용 인증 정보를 기초로 암호키 요청을 위한 제 2 암호키 요청 정보를 생성하여 상기 키 관리 서버에 전송하고, 상기 키 관리 서버로부터 상기 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부에 따라 제공된 암호키를 상기 ECP 통신부로 전달하고, 상기 암호키를 기초로 상기 ECP 프로토콜을 통해 상기 ECP 통신부와의 암호화 세션을 생성하며, 상기 암호화 세션을 통해 수신되는 상기 ECP 패킷에 포함된 클라이언트 식별값을 기초로 접근 권한 여부를 판단하고, 판단 결과에 따라 상기 보안대상 데이터베이스 서버에 대한 상기 사용자 단말의 접근을 제어하는 ECP 접근 제어부
를 포함하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
A gateway service system including a user terminal configured with a database access tool and a user interface for accessing a secured database server, a DB access control gateway server performing an access control function for the secured database server, and a key management server linked with the DB access control gateway server,
The user terminal includes a terminal agent unit which generates authentication request information for a user authentication request including a user ID and an authentication key and a pre-stored client identification value, and an ECP communication unit which transmits the authentication request information to the DB access control gateway server and, upon successful authentication, transmits first encryption key request information including the client identification value, and, upon receiving an encryption key corresponding to the first encryption key request information, configures an encryption session with the DB access control gateway server through an ECP (Encrypted Communication Proxy) protocol, and transmits a database protocol packet provided by the database access tool and an ECP packet including the client identification value through the encryption session.
The DB access control gateway server, upon receiving the authentication request information, transmits the user ID and authentication key to the key management server to request authentication, and upon successful authentication, encrypts the client identification value included in the authentication request information based on the server identification value provided from the key management server to generate server-storage authentication information and transmits the encrypted information to the key management server, and generates second encryption key request information for an encryption key request based on encryption key request authentication information generated by encrypting the client identification value included in the first encryption key request information received from the ECP communication unit with the server identification value and transmits the encrypted information to the key management server, and transmits the encrypted information provided from the key management server to the ECP communication unit based on whether the encryption key request authentication information and the server-storage authentication information match, and creates an encryption session with the ECP communication unit through the ECP protocol based on the encryption key, determines whether access is authorized based on the client identification value included in the ECP packet received through the encryption session, and controls access of the user terminal to the secured database server based on the determination result.
A gateway service system supporting user authentication for database access control including .
청구항 1에 있어서,
상기 서버 식별값은, 상기 키 관리 서버에 의해 인증 성공시 랜덤하게 생성된 값이며, 암호화 세션 단위로 사용되는 일회성의 범용 고유 식별자(Universally Unique Identifier, UUID)로 구성된 것을 특징으로
In claim 1,
The above server identification value is a value randomly generated upon successful authentication by the key management server, and is characterized by being composed of a one-time universally unique identifier (UUID) used per encryption session.
청구항 1에 있어서,
상기 키 관리 서버는,
상기 사용자 ID 및 인증키를 기초로 상기 사용자 단말의 사용자에 대한 인증을 수행하는 인증부;
상기 인증부의 인증 결과에 따라 상기 서버 식별값을 랜덤 생성하고, 상기 서버 식별값을 상기 ECP 접근 제어부로 전송하는 식별값 생성부;
상기 서버 보관용 인증 정보를 저장하는 인증 정보 관리부; 및
상기 ECP 접근 제어부로부터 수신된 상기 제 2 암호키 요청 정보에 포함된 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보를 상호 비교하여 일치하는 경우 상기 암호화 세션에 사용되기 위한 암호키를 생성하여 상기 ECP 접근 제어부에 제공하는 암호키 생성부
를 포함하는 것을 특징으로 하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
In claim 1,
The above key management server,
An authentication unit that performs authentication on a user of the user terminal based on the user ID and authentication key;
An identification value generation unit that randomly generates the server identification value according to the authentication result of the authentication unit and transmits the server identification value to the ECP access control unit;
An authentication information management unit that stores authentication information for the above server storage; and
An encryption key generation unit that compares the encryption key request authentication information included in the second encryption key request information received from the ECP access control unit with the server storage authentication information and, if they match, generates an encryption key to be used for the encryption session and provides it to the ECP access control unit.
A gateway service system supporting user authentication for database access control, characterized by including:
청구항 1에 있어서,
상기 ECP 통신부는, 상기 데이터베이스 프로토콜 패킷 및 클라이언트 식별값을 상기 암호키로 암호화한 후 상기 암호화된 데이터베이스 프로토콜 패킷 및 암호화된 클라이언트 식별값을 포함하는 상기 ECP 패킷을 상기 ECP 접근 제어부로 전송하고,
상기 ECP 접근 제어부는, 상기 ECP 패킷에 포함된 상기 암호화된 데이터베이스 프로토콜 패킷 및 상기 암호화된 클라이언트 식별값을 상기 암호키로 복호화하는 것을 특징으로 하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
In claim 1,
The ECP communication unit encrypts the database protocol packet and the client identification value with the encryption key and then transmits the ECP packet including the encrypted database protocol packet and the encrypted client identification value to the ECP access control unit.
A gateway service system supporting user authentication for database access control, characterized in that the ECP access control unit decrypts the encrypted database protocol packet and the encrypted client identification value included in the ECP packet using the encryption key.
청구항 1에 있어서,
상기 ECP 접근 제어부는, 상기 암호화 세션에 상기 서버 식별값을 할당하고, 상기 암호화 세션을 통해 수신된 상기 ECP 패킷으로부터 획득한 클라이언트 식별값을 상기 서버 식별값으로 암호화한 자격증명용 인증 정보를 상기 키 관리 서버에 전송하며, 상기 키 관리 서버와 연동하여 상기 자격증명용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부에 따른 자격증명 검증시 상기 데이터베이스 프로토콜 패킷을 상기 보안대상 데이터베이스 서버로 전송하는 것을 특징으로 하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
In claim 1,
A gateway service system supporting user authentication for database access control, characterized in that the ECP access control unit assigns the server identification value to the encryption session, encrypts the client identification value obtained from the ECP packet received through the encryption session with the server identification value, transmits the credential authentication information to the key management server, and transmits the database protocol packet to the secured database server when verifying the credential according to whether the credential authentication information and the server storage authentication information match in conjunction with the key management server.
청구항 5에 있어서,
상기 단말 에이전트부는, 상기 사용자 단말에 대한 네트워크 정보 및 OS 정보를 상기 인증 요청 정보에 포함시키고,
상기 ECP 접근 제어부는, 상기 인증 요청 정보에 대응하는 암호화 세션 생성시 상기 인증 요청 정보에 포함된 네트워크 정보 및 OS 정보를 상기 암호화 세션에 할당하며, 상기 ECP 패킷에 포함된 네트워크 정보 및 OS 정보가 상기 암호화 세션에 할당된 네트워크 정보 및 OS 정보와 일치하지 않는 경우 상기 자격증명용 인증 정보를 생성한 후 상기 키 관리 서버와 연동하여 자격증명 검증을 수행하는 것을 특징으로 하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
In claim 5,
The above terminal agent part includes network information and OS information for the user terminal in the authentication request information,
A gateway service system supporting user authentication for database access control, characterized in that the ECP access control unit, when creating an encryption session corresponding to the authentication request information, assigns network information and OS information included in the authentication request information to the encryption session, and if the network information and OS information included in the ECP packet do not match the network information and OS information assigned to the encryption session, creates authentication information for the credentials and then performs credential verification in conjunction with the key management server.
청구항 5에 있어서,
상기 ECP 접근 제어부는, 상기 클라이언트 식별값을 상기 서버 식별값으로 해시 처리하여 생성한 해시값을 포함하는 인증 정보를 상기 서버 보관용 인증 정보 또는 상기 암호키 요청용 인증 정보 또는 상기 자격증명용 인증 정보로서 생성하는 것을 특징으로 하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
In claim 5,
A gateway service system supporting user authentication for database access control, characterized in that the ECP access control unit generates authentication information including a hash value generated by hashing the client identification value with the server identification value as authentication information for server storage, authentication information for requesting the encryption key, or authentication information for the credential.
청구항 1에 있어서,
상기 ECP 접근 제어부는, 상기 키 관리 서버의 상기 사용자 ID 및 인증키를 이용한 인증 성공시 인증 성공에 대한 인증 결과 정보를 상기 ECP 통신부로 전송하는 것을 특징으로 하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 시스템.
In claim 1,
A gateway service system supporting user authentication for database access control, characterized in that the ECP access control unit transmits authentication result information on successful authentication to the ECP communication unit when authentication is successful using the user ID and authentication key of the key management server.
보안 대상 데이터베이스 서버에 접속하기 위한 데이터베이스 접속 툴과 사용자 인터페이스가 구성된 사용자 단말과 상기 보안 대상 데이터베이스 서버에 대한 접근 제어 기능을 수행하는 DB 접근제어 게이트웨이 서버 및 상기 DB 접근 제어 게이트웨이 서버와 연동하는 키 관리 서버를 포함하는 게이트웨이 서비스 시스템의 게이트웨이 서비스 방법에 있어서,
상기 사용자 단말에 구성된 단말 에이전트부가, 사용자 ID, 인증키 및 미리 저장된 클라이언트 식별값을 포함하는 인증 요청 정보를 생성하는 단계;
상기 사용자 단말의 ECP 통신부가, 상기 인증 요청 정보를 상기 DB 접근제어 게이트웨이 서버에 전송하는 단계;
상기 DB 접근제어 게이트웨이 서버가, 상기 인증 요청 정보에 포함된 사용자 ID 및 인증키를 상기 키 관리 서버에 전송하여 인증을 요청하는 단계;
상기 DB 접근제어 게이트웨이 서버가, 인증 성공 시 상기 키 관리 서버로부터 제공된 서버 식별값을 기초로 상기 인증 요청 정보에 포함된 클라이언트 식별값을 암호화하여 서버 보관용 인증 정보를 생성한 후 상기 키 관리 서버에 전송하는 단계;
상기 ECP 통신부가, 인증 성공 시 상기 클라이언트 식별값을 포함하는 제 1 암호키 요청 정보를 상기 DB 접근제어 게이트웨이 서버에 전송하는 단계;
상기 DB 접근제어 게이트웨이 서버가, 상기 제 1 암호키 요청 정보에 포함된 클라이언트 식별값을 상기 서버 식별값으로 암호화하여 암호키 요청용 인증 정보를 생성하고, 상기 암호키 요청용 인증 정보를 기초로 제 2 암호키 요청 정보를 생성하여 상기 키 관리 서버에 전송하는 단계;
상기 DB 접근제어 게이트웨이 서버가, 상기 키 관리 서버로부터 상기 암호키 요청용 인증 정보와 상기 서버 보관용 인증 정보의 일치 여부에 따라 제공된 암호키를 상기 ECP 통신부로 전달하는 단계;
상기 ECP 통신부와 상기 DB 접근제어 게이트웨이 서버가, 상기 암호키를 기초로 ECP(Encrypted Communication Proxy) 프로토콜을 통해 암호화 세션을 생성하는 단계;
상기 ECP 통신부가, 상기 데이터베이스 접속 툴이 제공하는 데이터베이스 프로토콜 패킷 및 상기 클라이언트 식별값을 포함하는 ECP 패킷을 상기 암호화 세션을 통해 전송하는 단계; 및
상기 DB 접근제어 게이트웨이 서버가, 상기 암호화 세션을 통해 수신되는 상기 ECP 패킷에 포함된 클라이언트 식별값을 기초로 접근 권한 여부를 판단하고, 판단 결과에 따라 상기 보안대상 데이터베이스 서버에 대한 상기 사용자 단말의 접근을 제어하는 단계
를 포함하는 데이터베이스 접근 제어를 위한 사용자 인증을 지원하는 게이트웨이 서비스 방법.
A gateway service method of a gateway service system including a user terminal configured with a database access tool and a user interface for accessing a secured database server, a DB access control gateway server performing an access control function for the secured database server, and a key management server linked with the DB access control gateway server,
A step for generating authentication request information including a user ID, an authentication key, and a pre-stored client identification value by a terminal agent configured in the user terminal;
A step in which the ECP communication unit of the user terminal transmits the authentication request information to the DB access control gateway server;
A step in which the DB access control gateway server requests authentication by transmitting the user ID and authentication key included in the authentication request information to the key management server;
A step in which the DB access control gateway server, upon successful authentication, encrypts the client identification value included in the authentication request information based on the server identification value provided from the key management server, creates server-storage authentication information, and then transmits the encrypted client identification value to the key management server;
A step in which the ECP communication unit transmits first encryption key request information including the client identification value to the DB access control gateway server when authentication is successful;
A step in which the DB access control gateway server encrypts the client identification value included in the first encryption key request information with the server identification value to generate authentication information for an encryption key request, and generates second encryption key request information based on the authentication information for the encryption key request and transmits the information to the key management server;
The step of the DB access control gateway server transmitting the provided encryption key to the ECP communication unit based on whether the authentication information for requesting the encryption key matches the authentication information for storing the server from the key management server;
A step in which the ECP communication unit and the DB access control gateway server create an encrypted session through the ECP (Encrypted Communication Proxy) protocol based on the encryption key;
The step of the ECP communication unit transmitting an ECP packet including a database protocol packet provided by the database access tool and the client identification value through the encrypted session; and
A step in which the DB access control gateway server determines whether access is authorized based on the client identification value included in the ECP packet received through the encrypted session, and controls the user terminal's access to the secured database server based on the determination result.
A gateway service method supporting user authentication for database access control including .
KR1020240132676A 2023-11-14 2024-09-30 Gateway service system and method supporting user authentication for database access control Pending KR20250071163A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230157296 2023-11-14
KR20230157296 2023-11-14

Publications (1)

Publication Number Publication Date
KR20250071163A true KR20250071163A (en) 2025-05-21

Family

ID=95931481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240132676A Pending KR20250071163A (en) 2023-11-14 2024-09-30 Gateway service system and method supporting user authentication for database access control

Country Status (1)

Country Link
KR (1) KR20250071163A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120058670A (en) 2010-10-29 2012-06-08 (주)대성정보기술 Unified gateway device for providing dbtabase security

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120058670A (en) 2010-10-29 2012-06-08 (주)대성정보기술 Unified gateway device for providing dbtabase security

Similar Documents

Publication Publication Date Title
US10554420B2 (en) Wireless connections to a wireless access point
KR101861026B1 (en) Secure proxy to protect private data
EP2632108B1 (en) Method and system for secure communication
KR101202671B1 (en) Remote access system and method for enabling a user to remotely access a terminal equipment from a subscriber terminal
US8438631B1 (en) Security enclave device to extend a virtual secure processing environment to a client device
US8191124B2 (en) Systems and methods for acquiring network credentials
EP2973188B1 (en) Secondary device as key for authorizing access to resources
US20160337347A1 (en) Secondary device as key for authorizing access to resources
EP2879421B1 (en) Terminal identity verification and service authentication method, system, and terminal
US20160014112A1 (en) Wireless communication of a user identifier and encrypted time-sensitive data
US20160261576A1 (en) Method, an apparatus, a computer program product and a server for secure access to an information management system
EP2060050A2 (en) Systems and methods for acquiring network credentials
EP2706717A1 (en) Method and devices for registering a client to a server
US20240305607A1 (en) Authentication procedure in a virtual private network
KR20250071163A (en) Gateway service system and method supporting user authentication for database access control
WO2018172776A1 (en) Secure transfer of data between internet of things devices
JP2018011191A (en) Device list creation system and device list creation method
CN114222296B (en) Security access method and system for wireless network
JP2018067327A (en) Secure proxy to protect private data
GB2560895A (en) Secure transfer of data between internet of things devices

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240930

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20240930

Comment text: Patent Application

PG1501 Laying open of application