[go: up one dir, main page]

KR20190014958A - Apparatus and method for access control - Google Patents

Apparatus and method for access control Download PDF

Info

Publication number
KR20190014958A
KR20190014958A KR1020170099150A KR20170099150A KR20190014958A KR 20190014958 A KR20190014958 A KR 20190014958A KR 1020170099150 A KR1020170099150 A KR 1020170099150A KR 20170099150 A KR20170099150 A KR 20170099150A KR 20190014958 A KR20190014958 A KR 20190014958A
Authority
KR
South Korea
Prior art keywords
packet
web service
protocol
information
connection
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.)
Ceased
Application number
KR1020170099150A
Other languages
Korean (ko)
Inventor
하성진
Original Assignee
주식회사 시큐아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시큐아이 filed Critical 주식회사 시큐아이
Priority to KR1020170099150A priority Critical patent/KR20190014958A/en
Publication of KR20190014958A publication Critical patent/KR20190014958A/en
Ceased 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/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

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)
  • Technology Law (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 외부와 패킷을 송수신하는 통신부 및 상기 패킷에 대응하여 판단되는 상기 웹 서비스에 관한 정보를 기초로, 상기 웹 서비스의 접속 허용 여부를 결정하여 상기 패킷의 전달을 허용 또는 차단하는 제어부를 포함하되, 상기 제어부는, 상기 패킷이 제1 프로토콜 기반 패킷이면, 상기 패킷으로부터 웹 서비스에 관한 정보를 추출하고, 상기 패킷이 제2 프로토콜 기반 패킷이면, 상기 패킷으로부터 추출되는 인증서를 기반으로 상기 웹 서비스에 관한 정보를 판단하는 것을 특징으로 하는 웹 서비스에 대한 접속 제어 장치 및 방법에 관한 것이다.The present invention includes a control unit for determining whether or not to allow access to the web service based on information related to the web service determined in correspondence with the packet, and a control unit for allowing or blocking the transmission of the packet, Wherein if the packet is a first protocol-based packet, the control unit extracts information on the web service from the packet, and if the packet is a second protocol-based packet, based on a certificate extracted from the packet, To a connection control apparatus and method for a web service.

Description

접속 제어 장치 및 방법{Apparatus and method for access control}[0001] APPARATUS AND METHOD FOR ACCESS CONTROL [0002]

본 발명은 접속 제어 장치 및 방법에 관한 것으로, 보다 구체적으로 HTTPS 기반 접속을 제어함에 있어서, 접속 응답에 포함된 인증서의 일반 이름(Common Name, 이하 CN)을 기초로 요청된 웹 서비스에 대한 접속을 허용 또는 차단 제어하는 접속 제어 장치 및 방법에 관한 것이다. The present invention relates to a connection control apparatus and method, and more particularly, in controlling an HTTPS-based connection, a connection to a requested web service is established based on a common name (CN) of a certificate included in a connection response And a connection control apparatus and method for controlling the connection or disconnection.

네트워크 보안 장비는 인터넷을 통해 제공되는 다양한 웹 서비스에 대한 사용자 단말의 접속 요청을 허용하거나 차단함으로써, 악의적인 웹 서비스에 의해 사용자 단말이 공격받는 것을 방지한다. The network security device prevents or prevents a user terminal from being attacked by a malicious web service by allowing or blocking a connection request of the user terminal to various web services provided through the Internet.

대부분은 웹 서비스는 HTTP(Hypertext Transfer Protocol)에 기반한 사용자 단말의 요청에 의해 제공된다. 그에 따라, 회사, 학교, 공공기관 등에서 동작하는 네트워크 보안 장비는 HTTP에 기반하여 송수신되는 패킷 내의 호스트(host), HTTP 데이터의 주소(URL) 정보를 이용하여 비업무용 웹 서비스 또는 불건전 웹 서비스에 대한 접근을 차단한다. For the most part, web services are provided at the request of a user terminal based on Hypertext Transfer Protocol (HTTP). Accordingly, a network security device operating in a company, a school, a public institution, or the like uses a host in a packet transmitted and received based on HTTP, address (URL) information of HTTP data, Block access.

최근에는 보안상의 이유로 SSL(Secure Sockets Layer)에 기반한 암호화를 이용하는 HTTPS(Hypertext Transfer Protocol over Secure socket layer)를 통해 웹 서비스에 접속할 수 있도록 하는 웹 서비스가 증가하고 있다. 이러한 웹 환경에서는 송수신 패킷이 암호화되기 때문에, HTTP 기반 접속에서와 동일한 방식으로 접근 제어를 수행할 수 없다. 즉, HTTPS 기반 웹 서비스 접속을 제어하기 위해서는, 송수신되는 패킷을 복호화하여 복호화된 패킷 내의 호스트, HTTP 데이터의 주소(URL) 정보를 확인하고, 웹 사이트 접속이 허용된 경우에 패킷을 다시 암호화하여 목적지로 전달해야 한다.Recently, for security reasons, there is an increasing number of Web services that allow users to access Web services through Hypertext Transfer Protocol over Secure Socket Layer (HTTPS), which uses encryption based on Secure Sockets Layer (SSL). In such a web environment, access control can not be performed in the same manner as in the HTTP based connection because the transmission / reception packet is encrypted. That is, to control the HTTPS-based web service connection, it decodes the packets transmitted and received to check the address (URL) information of the host and HTTP data in the decrypted packet, encrypts the packet again when the connection to the website is allowed, .

이러한 패킷 복호화 및 재암호화 과정은 접속 제어 처리의 지연을 가져오며, 과부하를 수반할 수 있어 네트워크 보안 장비의 성능 저하를 유발하게 된다. Such a packet decryption and re-encryption process leads to a delay in connection control processing and may involve an overload, which may lead to deterioration in the performance of network security equipment.

본 발명은 상기한 문제점을 해결하기 위한 것으로, HTTPS 기반 웹 서비스 접속에 있어서 패킷 복호화 및 재암호화 과정을 거치지 않고 요청된 웹 서비스에 대한 접속의 허용 여부를 결정할 수 있도록 하는 접속 제어 장치 및 방법을 제공한다. SUMMARY OF THE INVENTION The present invention provides a connection control apparatus and method for determining whether to allow a connection to a requested web service without performing a packet decryption and re-encryption process in an HTTPS-based web service connection do.

또한, 본 발명은, HTTPS 기반 웹 서비스 접속 시, 접속 응답에 포함된 인증서의 CN을 기초로 요청된 웹 서비스에 대한 접속을 허용 또는 차단 제어하는 접속 제어 장치 및 방법을 제공한다. In addition, the present invention provides an access control apparatus and method for allowing or blocking access to a requested web service based on a CN of a certificate included in a connection response when accessing an HTTPS-based web service.

상술한 과제를 해결하기 위한 본 발명에 따른 접속 제어 장치는, 웹 서비스에 대한 접속 제어 장치로, 외부와 패킷을 송수신하는 통신부 및 상기 패킷에 대응하여 판단되는 상기 웹 서비스에 관한 정보를 기초로, 상기 웹 서비스의 접속 허용 여부를 결정하여 상기 패킷의 전달을 허용 또는 차단하는 제어부를 포함하되, 상기 제어부는, 상기 패킷이 제1 프로토콜 기반 패킷이면, 상기 패킷으로부터 웹 서비스에 관한 정보를 추출하고, 상기 패킷이 제2 프로토콜 기반 패킷이면, 상기 패킷으로부터 추출되는 인증서를 기반으로 상기 웹 서비스에 관한 정보를 판단하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a connection control device for a web service, the communication control device including: a communication unit for transmitting and receiving a packet to and from the outside; And a control unit for determining whether or not to allow connection of the web service and allowing or blocking the transmission of the packet, wherein the control unit extracts information on the web service from the packet if the packet is a first protocol- If the packet is a second protocol-based packet, information on the web service is determined based on a certificate extracted from the packet.

또한, 상기 제1 프로토콜은, HTTP(Hypertext Transfer Protocol)이고, 상기 제2 프로토콜은, HTTPS(Hypertext Transfer Protocol over Secure socket layer)인 것을 특징으로 한다.In addition, the first protocol is HTTP (Hypertext Transfer Protocol), and the second protocol is HTTPS (Hypertext Transfer Protocol over Secure Socket Layer).

또한, 상기 제어부는, 상기 패킷이 상기 제1 프로토콜 기반 패킷이면, 상기 패킷의 헤더에 정의된 상기 웹 서비스에 관한 정보를 추출하는 것을 특징으로 한다.The control unit may extract information about the web service defined in the header of the packet if the packet is the first protocol-based packet.

또한, 상기 제어부는, 상기 패킷이 상기 제2 프로토콜 기반 패킷이면, 상기 패킷에 포함된 인증서로부터 일반 이름(Common Name; CN)을 추출하고, 상기 추출된 일반 이름으로부터 상기 웹 서비스에 관한 정보를 판단하는 것을 특징으로 한다.If the packet is the second protocol-based packet, the control unit extracts a common name (CN) from the certificate included in the packet, and determines information about the web service from the extracted common name .

또한, 상기 웹 서비스에 관한 정보는, 상기 패킷에 의하여 요청된 상기 웹 서비스의 호스트 및 데이터 주소 중 적어도 하나를 포함하는 것을 특징으로 한다.In addition, the information on the web service includes at least one of a host and a data address of the web service requested by the packet.

또한, 상기 제1 프로토콜 기반 패킷은, 사용자 단말로부터 전송되는 HTTP 데이터에 대한 요청 패킷이고, 상기 제2 프로토콜 기반 패킷은, 서버로부터 전송되는 인증 응답 패킷인 것을 특징으로 한다.The first protocol based packet is a request packet for HTTP data transmitted from a user terminal, and the second protocol based packet is an authentication response packet transmitted from a server.

또한, 상술한 과제를 해결하기 위한 본 발명에 따른 접속 제어 방법은, 웹 서비스의 접속 제어 장치에 의해 수행되는 접속 제어 방법으로, 외부로부터 패킷이 수신되면, 상기 패킷의 프로토콜을 판단하는 단계, 상기 판단된 프로토콜에 기반하여, 상기 패킷에 대응하는 웹 서비스에 관한 정보를 획득하는 단계 및 상기 웹 서비스에 관한 정보를 기초로, 상기 웹 서비스의 접속 허용 여부를 결정하는 단계를 포함하되, 상기 웹 서비스에 관한 정보를 획득하는 단계는, 상기 패킷의 프로토콜이 제1 프로토콜이면, 상기 패킷으로부터 상기 웹 서비스에 관한 정보를 추출하는 단계 및 상기 패킷의 프로토콜이 제2 프로토콜이면, 상기 패킷으로부터 추출된 인증서를 이용하여 상기 웹 서비스에 관한 정보를 판단하는 단계를 포함하는 것을 특징으로 한다. According to another aspect of the present invention, there is provided a connection control method performed by a connection control apparatus for a web service, the method comprising: determining a protocol of the packet when the packet is received from the outside; Obtaining information about a web service corresponding to the packet based on the determined protocol, and determining whether to allow access to the web service based on the information about the web service, Acquiring information about the web service from the packet if the protocol of the packet is the first protocol and extracting information about the web service from the packet if the protocol of the packet is the second protocol, And determining information about the web service by using the web service.

또한, 상기 제1 프로토콜은, HTTP(Hypertext Transfer Protocol)이고, 상기 제2 프로토콜은, HTTPS(Hypertext Transfer Protocol over Secure socket layer)인 것을 특징으로 한다. In addition, the first protocol is HTTP (Hypertext Transfer Protocol), and the second protocol is HTTPS (Hypertext Transfer Protocol over Secure Socket Layer).

또한, 상기 패킷으로부터 상기 웹 서비스에 관한 정보를 추출하는 단계는, 상기 패킷의 헤더에 정의된 적어도 하나의 파라미터를 상기 웹 서비스에 관한 정보로써 추출하는 단계를 포함하는 것을 특징으로 한다.The step of extracting information on the web service from the packet may include extracting at least one parameter defined in the header of the packet as information on the web service.

또한, 상기 패킷으로부터 추출된 상기 인증서를 이용하여 상기 웹 서비스에 관한 정보를 판단하는 단계는, 상기 패킷에 포함된 상기 인증서를 추출하는 단계, 상기 인증서로부터 일반 이름(Common Name; CN)을 추출하는 단계 및 상기 추출된 일반 이름으로부터 상기 웹 서비스에 관한 정보를 판단하는 단계를 포함하는 것을 특징으로 한다.The step of determining information on the web service using the certificate extracted from the packet may include extracting the certificate included in the packet, extracting a common name (CN) from the certificate, And determining information about the web service from the extracted common name.

본 발명에 따른 접속 제어 장치 및 방법은, HTTPS 기반 웹 서비스 접속의 허용 또는 차단 여부를 결정함에 있어서, 패킷 복호화 및 재암호화 과정에 의한 지연 및 부하를 제거하고, 신속한 접속 제어를 수행할 수 있도록 한다. The connection control apparatus and method according to the present invention allow delays and load caused by packet decryption and re-encryption processes to be removed and quick access control can be performed in deciding whether to allow or block HTTPS based web service connection .

도 1은 HTTP 기반 접속 제어 방법을 나타낸 흐름도이다.
도 2는 HTTP 패킷 구조를 나타낸 도면이다.
도 3은 HTTP 패킷 헤더의 일 예를 나타낸 도면이다.
도 4는 HTTPS 기반 접속 제어 방법을 나타낸 흐름도이다.
도 5는 HTTPS 패킷 구조를 나타낸 도면이다.
도 6은 본 발명에 HTTPS 기반 접속 제어 방법을 나타낸 흐름도이다.
도 7은 SSL 인증서의 일 예를 나타낸 도면이다.
도 8은 본 발명에 따른 접속 제어 장치의 구성을 나타낸 블록도이다.
도 9는 본 발명에 따른 접속 제어 장치의 접속 제어 방법을 나타낸 순서도이다.
1 is a flowchart illustrating an HTTP-based access control method.
2 is a diagram showing an HTTP packet structure.
3 is a diagram showing an example of an HTTP packet header.
4 is a flowchart illustrating an HTTPS-based access control method.
5 is a diagram showing an HTTPS packet structure.
6 is a flowchart illustrating an HTTPS-based access control method according to the present invention.
7 is a diagram showing an example of an SSL certificate.
8 is a block diagram showing a configuration of a connection control apparatus according to the present invention.
9 is a flowchart showing a connection control method of the connection control apparatus according to the present invention.

본 명세서의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우, 그 상세한 설명은 생략될 수 있다. In the description of the embodiments of the present invention, if it is determined that a detailed description of known configurations or functions related to the present invention can not be applied to the present invention, detailed description thereof may be omitted.

본 명세서에서 사용되는 "포함한다," "포함할 수 있다." 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.  Quot ;, " include, "" include," as used herein. And the like are intended to indicate the presence of disclosed features, operations, components, etc., and are not intended to limit the invention in any way. Also, in this specification, "include." Or "have." , Etc. are intended to designate the presence of stated features, integers, steps, operations, components, parts, or combinations thereof, may be combined with one or more other features, steps, operations, components, It should be understood that they do not preclude the presence or addition of combinations thereof.

본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.As used herein, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.

이하, 첨부된 도면을 참조하여 본 발명을 설명한다. Hereinafter, the present invention will be described with reference to the accompanying drawings.

도 1은 HTTP 기반 접속 제어 방법을 나타낸 흐름도이다.1 is a flowchart illustrating an HTTP-based access control method.

도 1을 참조하면, HTTP 기반 접속 제어에 있어서, 사용자 단말(클라이언트)(1)은 웹 서비스를 제공하는 서버(3)와 소켓 연결을 수행한다(11). 일 예로, 사용자 단말(2)이 서버(3)에게 HTTP 데이터를 요구하는 TCP 세션 연결을 요청(SYN)하면, 서버(3)는 사용자 단말(2)에게 HTTP 데이터를 전송할 준비가 되었음을 알리기 위한 응답(SYN+ACK)을 전송한다. 사용자 단말(2)은 자신도 HTTP 데이터를 수신할 준비가 되었음을 알리기 위한 응답(ACK)을 서버(3)로 전송함으로써, 서버(3)와의 소켓 연결을 완료한다.Referring to FIG. 1, in HTTP based connection control, a user terminal (client) 1 performs a socket connection with a server 3 providing a web service (11). For example, when the user terminal 2 requests (SYN) a TCP session connection requesting HTTP data to the server 3, the server 3 sends a response to inform the user terminal 2 that the HTTP data is ready to be transmitted (SYN + ACK). The user terminal 2 completes the socket connection with the server 3 by sending a response (ACK) to the server 3 to inform itself that it is ready to receive HTTP data.

소켓 연결이 완료되면, 사용자 단말(2)은 서버(3)로 HTTP 패킷을 전송한다(12). 여기서, HTTP 패킷은 요청(request)(요청 메시지)으로, 서버(3)가 제공하는 웹 서비스로부터 원하는 HTTP 데이터를 수신하기 위해 전송되는 것일 수 있다. 또는 HTTP 패킷은 요청으로, 사용자 단말(2)에서 생성된 데이터를 서버(3)에 업로드하기 위해 전송되는 것일 수 있다.When the socket connection is completed, the user terminal 2 transmits an HTTP packet to the server 3 (12). Here, the HTTP packet may be transmitted as a request (request message) in order to receive desired HTTP data from the web service provided by the server 3. Or an HTTP packet may be sent as a request to upload data generated at the user terminal 2 to the server 3. [

HTTP 패킷은 도 2에 도시된 것과 같이, HTTP 헤더(HTTP header)(21) 및 HTTP 바디(HTTP body)(22)로 구성될 수 있다. HTTP 헤더(21)에는 도 3에 도시된 것과 같이, 함수(211), Host(212), Connection(213), User-Agent(214), Accept(215), Referer(216), Accept-Encoding(217) 등을 포함하여 구성될 수 있다.The HTTP packet may be composed of an HTTP header (HTTP header) 21 and an HTTP body (HTTP body) 22, as shown in FIG. The HTTP header 21 includes a function 211, a Host 212, a Connection 213, a User-Agent 214, an Accept 215, a Referer 216, an Accept-Encoding 217), and the like.

함수(211)는 사용자 단말(2)이 서버(3)에게 요청하고자 하는 동작을 정의하는 HTTP 함수(method)를 정의하는 파라미터로, GET, POST, DELETE, PUT, UPDATE, OPTIONS 등의 함수가 정의될 수 있다. 도 3에는, 사용자 단말(2)이 서버(3)에게 요청하고자 하는 HTTP 데이터(HTTP 페이지)의 주소를 정의하는 GET 함수가 사용된 예가 도시되어 있다. Function 211 is a parameter that defines an HTTP function that defines an operation to be requested to the server 3 by the user terminal 2 and defines functions such as GET, POST, DELETE, PUT, UPDATE, and OPTIONS . 3 shows an example in which the GET function for defining the address of the HTTP data (HTTP page) that the user terminal 2 wants to request from the server 3 is used.

Host(212)는 현재 요청에 대응하는 호스트에 관한 정보를 정의하는 파라미터이다. Connection(213)은 현재 요청을 전송한 이후에 소켓 연결을 어떻게 처리할 것인지를 정의하는 파라미터로, 연결을 유지하는 경우 도 3에 도시된 바와 같이 'keep-alive'로 정의되거나, 연결을 종료하고자 하는 경우 'close'로 정의될 수 있다. Host 212 is a parameter that defines information about the host corresponding to the current request. The Connection 213 is a parameter that defines how to process the socket connection after the current request is transmitted. When the connection is maintained, the connection 213 is defined as 'keep-alive' as shown in FIG. 3, Can be defined as 'close'.

User-Agent(214)는 사용자 단말(2)이 사용하는 소프트웨어(브라우저)에 관한 정보를 정의하는 파라미터, Accept(215)는 사용자 단말(2)이 이해 가능한 미디어 타입에 관한 정보를 정의하는 파라미터, Referer(216)는 바로 직전에 머물렀던 웹 서비스(웹 링크) 주소를 정의하는 파라미터, Accept-Encoding(217)은 사용자 단말(2)이 이해 가능한 압축 방식을 정의하는 파라미터이다. The user-agent 214 is a parameter for defining information about the software (browser) used by the user terminal 2. Accept 215 is a parameter for defining information about the media type that the user terminal 2 can comprehend, The Referer 216 is a parameter for defining a Web service (Web link) address that immediately precedes the Accept-Encoding 217, and a Accept-Encoding 217 is a parameter for defining a compression method that the user terminal 2 can understand.

사용자 단말(2)로부터 전송된 HTTP 패킷은, 사용자 단말(2)과 서버(3) 간에 마련되어 사용자 단말(2)의 서버(3)에 대한 접속 제어를 수행하는 접속 제어 장치(1)에서 수신된다. The HTTP packet transmitted from the user terminal 2 is received by the connection control apparatus 1 provided between the user terminal 2 and the server 3 and performing connection control to the server 3 of the user terminal 2 .

접속 요청을 수신한 접속 제어 장치(1)는 수신된 HTTP 패킷을 분석하여 요청된 웹 서비스에 대한 정보를 판단한다(13).Upon receiving the connection request, the access control apparatus 1 analyzes the received HTTP packet and determines information about the requested web service (13).

일 예로, 접속 제어 장치(1)는 요청된 웹 서비스의 호스트 및 HTTP 데이터의 주소를 판단할 수 있다. 도 3의 실시 예에서, 호스트는 Host(212) 파라미터를 참조하여 t1.daumcdn.net으로 판단되고, 주소는 함수(211) 파라미터를 참조하여 daumtop_deco/images/top/2017/txt_pctop_170410.png로 판단될 수 있다.In one example, the connection control apparatus 1 can determine the host of the requested web service and the address of the HTTP data. 3, the host is determined as t1.daumcdn.net with reference to the Host 212 parameter, and the address is determined as daumtop_deco / images / top / 2017 / txt_pctop_170410.png referring to the function 211 parameter .

접속 제어 장치(1)는 판단된 웹 서비스에 대한 정보를 기저장된 접속 제어 목록과 비교하여 요청에 따른 웹 서비스의 접속 허용 여부를 결정한다(14). The connection control apparatus 1 compares the information about the determined web service with the pre-stored connection control list and determines whether the web service can be accessed according to the request (14).

웹 서비스의 접속을 허용할 것으로 결정한 경우, 접속 제어 장치(1)는 수신된 HTTP 패킷을 목적지인 서버(3)로 전달한다(15-1). 접속 제어 장치(1)로부터 HTTP 패킷을 전달받은 서버(3)는 요청된 HTTP 데이터를 포함하는 HTTP 패킷을 요청에 대한 응답으로 사용자 단말(2)에게 전송한다(15-2).If it is determined that the web service is to be accessed, the connection control apparatus 1 transfers the received HTTP packet to the destination server 3 (15-1). The server 3 having received the HTTP packet from the connection control apparatus 1 transmits an HTTP packet including the requested HTTP data to the user terminal 2 in response to the request (15-2).

한편, 웹 서비스의 접속을 차단할 것으로 결정한 경우, 접속 제어 장치(1)는 수신된 HTTP 패킷을 파기할 수 있다(16).On the other hand, if it is determined that the connection of the Web service is to be interrupted, the connection control apparatus 1 can discard the received HTTP packet (16).

도 4는 HTTPS 기반 접속 제어 방법을 나타낸 흐름도이다.4 is a flowchart illustrating an HTTPS-based access control method.

도 4를 참조하면, HTTPS 기반 접속 제어에 있어서, 사용자 단말(2)은 웹 서비스를 제공하는 서버(3)와 소켓 연결을 수행한다(41). 소켓 연결 과정은 도 1을 참조하여 설명한 바와 같으므로, 구체적인 설명은 생략한다.Referring to FIG. 4, in the HTTPS-based access control, the user terminal 2 performs socket connection with the server 3 providing the web service (41). Since the socket connection process is the same as that described with reference to FIG. 1, a detailed description thereof will be omitted.

소켓 연결이 완료되면, 사용자 단말(2)과 서버(3)는 인증(핸드 셰이킹, Hand Shaking)을 수행한다(42). When the socket connection is completed, the user terminal 2 and the server 3 perform authentication (handshaking, Hand Shaking) (42).

구체적으로, 사용자 단말(2)은 서버(3)에 인증 요청을 전송한다(421). 여기서, 인증 요청은 클라이언트 헬로 메시지(Client Hello Message)에 대응되는 것으로, 일 실시 예에서, SSL 연결 요청일 수 있다. Specifically, the user terminal 2 transmits an authentication request to the server 3 (421). Here, the authentication request corresponds to a client hello message, and in one embodiment, it may be an SSL connection request.

서버(3)는 인증 요청에 대한 인증 응답을 사용자 단말(2)로 전송한다(422). 여기서, 인증 응답은 서버 헬로 메시지(Server Hello Message)에 대응될 수 있다. 인증 응답은 서버(3)의 공개키(공용키)(Public Key)가 포함된 인증서로 구성된다. The server 3 transmits an authentication response to the authentication request to the user terminal 2 (422). Here, the authentication response may correspond to a server hello message. The authentication response is constituted by a certificate including the public key (Public Key) of the server 3.

공개키와 인증서를 전달받은 사용자 단말(2)은 전달받은 인증서를 검증한다(423). 사용자 단말(2)은 인증서의 CA(Certification Authority)를 기초로, 해당 인증서가 신용있는 인증 기관(trusted root CA)에 의하여 서명된 것인지, 날짜가 유효한지, 인증서가 이용하려는 웹 서비스와 관련성이 있는지 여부 등을 검증한다.The user terminal 2 having received the public key and the certificate verifies the received certificate (423). Based on the CA (Certification Authority) of the certificate, the user terminal 2 determines whether the certificate is signed by a trusted root CA, whether the date is valid, whether the certificate is relevant to the web service to be used And so on.

검증이 성공한 경우, 사용자 단말(2)은 공개키에 대응하는 세션키(랜덤키, 대칭키, 비밀키, 비공개키)(Session Key, Random key, Random Symmetric Encryption Key, Private Key, Pre Master Secret Key)를 생성하고, 이를 공개키로 암호화하여 서버(3)로 전송한다(424). When the verification is successful, the user terminal 2 transmits a session key (a random key, a symmetric key, a secret key, a secret key) corresponding to the public key (Session Key, Random Key, Random Symmetric Encryption Key, , Encrypts it with the public key, and transmits it to the server 3 (424).

상기한 인증 과정을 통하여, 사용자 단말(2)과 서버(3)는 세션키를 공유하게 된다. Through the authentication process, the user terminal 2 and the server 3 share a session key.

사용자 단말(2)과 서버(3) 간에 마련되어 사용자 단말(2)의 서버(3)에 대한 접속 제어를 수행하는 접속 제어 장치(1)는 인증 과정에서 송수신되는 공개키, 세션키 및 인증서를 획득할 수 있다. The connection control device 1 provided between the user terminal 2 and the server 3 and performing control of connection to the server 3 of the user terminal 2 acquires the public key, can do.

이후에, 사용자 단말(2)은 서버(3)로 HTTPS 패킷을 전송한다(43). 여기서, HTTPS 패킷은 요청(요청 메시지)으로, 서버(3)가 제공하는 웹 서비스로부터 원하는 HTTPS 데이터를 수신하기 위해 전송되는 것일 수 있다. 또는 HTTPS 패킷은 요청으로, 사용자 단말(2)에서 생성된 데이터를 서버(3)에 업로드하기 위해 전송되는 것일 수 있다.Thereafter, the user terminal 2 transmits an HTTPS packet to the server 3 (43). Here, the HTTPS packet may be transmitted as a request (request message) in order to receive desired HTTPS data from the web service provided by the server 3. Or an HTTPS packet may be sent as a request to upload data generated at the user terminal 2 to the server 3. [

HTTPS 패킷은 도 5에 도시된 것과 같이, IP 헤더(IP header)(51), TCP 헤더(TCP header)(52), SSL 헤더(SSL header)(53) 및 SSL 바디(SSL body)(54)로 구성될 수 있다. 여기서, SSL 바디(54)는 세션키를 이용하여 암호화된 HTTP 헤더(541) 및 HTTP 바디(542)를 포함하여 구성될 수 있다. HTTP 헤더(541) 내에는 상술한 바와 같이 사용자 단말(2)의 요청에 대응하는 웹 서비스에 대한 정보가 포함될 수 있다.The HTTPS packet includes an IP header 51, a TCP header 52, an SSL header 53 and an SSL body 54, as shown in FIG. ≪ / RTI > Here, the SSL body 54 may be configured to include an HTTP header 541 and an HTTP body 542 encrypted using the session key. The HTTP header 541 may include information on the web service corresponding to the request of the user terminal 2 as described above.

사용자 단말(2)로부터 전송된 HTTPS 패킷은 접속 제어 장치(1)에서 수신된다.The HTTPS packet transmitted from the user terminal 2 is received by the connection control device 1. [

접속 요청을 수신한 접속 제어 장치(1)는 수신된 HTTPS 패킷을 복호화한다(44). 접속 제어 장치(1)는 사용자 단말(2)과 서버(3) 간의 인증 과정에서 획득한 세션키를 이용하여 HTTPS 패킷을 복호화할 수 있다. The connection control apparatus 1 which has received the connection request decrypts the received HTTPS packet (44). The connection control apparatus 1 can decrypt the HTTPS packet using the session key acquired in the authentication process between the user terminal 2 and the server 3. [

접속 제어 장치(1)는 복호화된 HTTPS 패킷을 분석하여 요청된 웹 서비스에 대한 정보를 판단한다(45). 일 예로, 접속 제어 장치(1)는 요청된 웹 서비스에 대한 호스트 및 HTTP 데이터의 주소를 판단할 수 있다. 접속 제어 장치(1)는 복호화를 통해 추출되는 HTTP 헤더로부터 웹 서비스에 대한 정보를 판단할 수 있다. The access control apparatus 1 analyzes the decrypted HTTPS packet to determine information about the requested web service (45). In one example, the connection control apparatus 1 can determine the address of the host and HTTP data for the requested web service. The connection control apparatus 1 can determine information about the web service from the HTTP header extracted through the decryption.

접속 제어 장치(1)는 판단된 웹 서비스에 대한 정보를 기저장된 접속 제어 목록과 비교하여 요청에 따른 웹 서비스의 접속 허용 여부를 결정한다(46).The connection control apparatus 1 compares the information on the determined web service with the pre-stored connection control list and determines whether to permit the connection of the web service according to the request (46).

웹 서비스의 접속을 허용할 것으로 결정한 경우, 접속 제어 장치(1)는 복호화된 HTTPS 패킷을 세션키를 이용하여 재암호화하고(47-1), 재암호화된 HTTPS 패킷을 목적지인 서버(3)로 전달할 수 있다(47-2). 접속 제어 장치(1)로부터 HTTPS 패킷을 전달받은 서버(3)는 기공유된 세션키를 이용하여 HTTPS 패킷을 복호화하고, 요청된 HTTPS 데이터를 포함하는 HTTPS 패킷을 요청에 대한 응답으로 사용자 단말(2)에게 전송한다(47-3).The connection control apparatus 1 re-encrypts the decrypted HTTPS packet using the session key (step 47-1), and transmits the re-encrypted HTTPS packet to the destination server 3 (47-2). The server 3 that has received the HTTPS packet from the connection control apparatus 1 decrypts the HTTPS packet using the shared session key and transmits an HTTPS packet including the requested HTTPS data to the user terminal 2 (47-3).

한편, 웹 서비스의 접속을 차단할 것으로 결정한 경우, 접속 제어 장치(1)는 수신된 HTTPS 패킷을 파기할 수 있다(48).On the other hand, if it is determined that the connection of the Web service is to be blocked, the connection control apparatus 1 can discard the received HTTPS packet (48).

상술한 바와 같이 HTTPS 기반 접속 제어에 있어서는 HTTPS 패킷의 복호화 및 재암호화 과정이 수행되어야 하므로 접속 제어 처리의 지연을 가져오며, 과부하를 수반할 수 있어 접속 제어 장치(1)의 성능 저하를 유발하게 된다.As described above, in the HTTPS-based access control, the process of decrypting and re-encrypting the HTTPS packet must be performed, thereby delaying the connection control process and accompanying the overload, thereby causing the performance degradation of the connection control apparatus 1 .

본 발명에서는 이러한 문제점을 해결하기 위하여, HTTPS 기반 접속 제어 시, 인증서의 CN을 기초로 접속 제어를 수행하는 방법을 제공한다. In order to solve such a problem, the present invention provides a method of performing access control based on a CN of a certificate upon HTTPS-based access control.

도 6은 본 발명에 HTTPS 기반 접속 제어 방법을 나타낸 흐름도이다.6 is a flowchart illustrating an HTTPS-based access control method according to the present invention.

도 6을 참조하면, 본 발명에 따른 HTTPS 기반 접속 제어 방법은 사용자 단말(200)과 서버(300) 간 인증 단계에서, 인증서에 포함된 CN을 기초로 사전에 웹 서비스에 대한 접속 허용 여부를 판단한다.Referring to FIG. 6, in the HTTPS-based access control method according to the present invention, at the authentication step between the user terminal 200 and the server 300, it is determined whether or not to allow access to the Web service in advance based on the CN included in the certificate do.

구체적으로, 사용자 단말(200)과 서버(300)는 소켓 연결이 완료된 후(61), 인증을 수행한다(62).Specifically, after the socket connection is completed (61), the user terminal (200) and the server (300) perform authentication (62).

구체적으로, 사용자 단말(200)은 서버(300)에 인증 요청을 전송한다(621). 여기서, 인증 요청은 클라이언트 헬로 메시지(Client Hello Message)에 대응되는 것으로, 일 실시 예에서, SSL 연결 요청일 수 있다. Specifically, the user terminal 200 transmits an authentication request to the server 300 (621). Here, the authentication request corresponds to a client hello message, and in one embodiment, it may be an SSL connection request.

서버(300)는 인증 요청에 대한 인증 응답을 사용자 단말(200)에 전송한다(622). 여기서, 인증 응답은 서버 헬로 메시지에 대응되는 것으로, 공개키가 포함된 인증서로 구성될 수 있다. The server 300 transmits an authentication response to the authentication request to the user terminal 200 (622). Here, the authentication response corresponds to the server hello message, and may be constituted by a certificate including a public key.

서버(300)로부터 전송된 인증 응답은 접속 제어 장치(100)에서 수신될 수 있다.The authentication response sent from the server 300 may be received at the connection control apparatus 100. [

인증 응답을 수신한 접속 제어 장치(100)는 인증서에 포함된 CN을 기초로 요청된 웹 서비스에 대한 정보를 판단할 수 있다(623). 일 예로, 접속 제어 장치(100)는 인증서에 포함된 CN으로부터 요청된 웹 서비스의 호스트 및 HTTP 데이터 주소를 판단할 수 있다.Upon receiving the authentication response, the access control apparatus 100 can determine the information about the requested web service based on the CN included in the certificate (623). In one example, the connection control apparatus 100 can determine the host and HTTP data address of the requested web service from the CN included in the certificate.

인증 응답에 포함되는 인증서에는, 도 7에 도시된 것과 같이, 인증서 상태(Status), 버전(version), 시리얼 넘버(serial number), 발행자(Issuer), 증명 대상(Subject), 유효기간(Validity Data), 증명 대상의 공개키에 관한 정보(Subject public key) 등이 정의될 수 있다. The certificate included in the authentication response includes a certificate status, a version, a serial number, an issuer, a subject, a validity period, ), Information on the public key of the certificate subject (Subject public key), and the like.

여기서 인증서의 증명 대상(Subject) 필드에는 증명 대상, 예를 들어 서버(300)의 CN이 정의되어 있다. CN은 증명 대상의 이름을 정의하는데, 대체로 해당 인증서를 발급받는 웹 서비스 제공 서버(300)의 도메인에 기반하여 작성된다. 이러한 CN을 정의하기 위해 이용되는 도메인은 해당 서버(300)에서 제공하는 웹 서비스에 대한 대표적인 정보로써, HTTP 기반의 호스트 및 HTTP 데이터 주소와 적어도 일부분에서 일치한다. 따라서, 접속 제어 장치(100)는 인증서 내의 CN으로부터 요청된 웹 서비스에 대한 정보, 예를 들어 웹 서비스의 호스트 및 주소를 판단할 수 있다.Here, the certificate subject, for example, the CN of the server 300 is defined in the certificate subject field. The CN defines the name of the proof object, and is generally created based on the domain of the web service provision server 300 to which the corresponding certificate is issued. The domain used to define the CN is representative information about the web service provided by the corresponding server 300, and is at least partially identical to the HTTP-based host and the HTTP data address. Accordingly, the connection control apparatus 100 can determine the information about the requested web service, for example, the host and the address of the web service, from the CN in the certificate.

접속 제어 장치(100)는 CN을 기초로 판단된 웹 서비스에 대한 정보를 기저장된 접속 제어 목록과 비교하여 요청에 따른 웹 서비스의 접속 허용 여부를 결정할 수 있다(624).The connection control apparatus 100 compares the information about the web service determined based on the CN with the pre-stored connection control list, and determines whether to permit the connection of the web service according to the request (624).

웹 서비스의 접속을 허용할 것으로 결정한 경우, 접속 제어 장치(100)는 수신된 인증 응답을 사용자 단말(200)로 전달할 수 있다(625-1). If it is determined that the web service is to be accessed, the connection control apparatus 100 may forward the received authentication response to the user terminal 200 (625-1).

인증 응답이 전달되면, 사용자 단말(200)의 인증서 검증(625-2) 및 세션키 전송(625-3)을 거쳐, 사용자 단말(200)과 서버(300)는 인증을 완료하고, 이후부터는 인증 과정에서 공유된 세션키를 이용하여 HTTPS 패킷을 송수신할 수 있다(625-4). When the authentication response is transmitted, the user terminal 200 and the server 300 complete authentication through the certificate validation 625-2 and the session key transmission 625-3 of the user terminal 200, An HTTPS packet can be transmitted / received using the shared session key (625-4).

한편, 웹 서비스의 접속을 차단할 것으로 결정한 경우, 접속 제어 장치(100)는 수신된 인증 응답을 파기할 수 있다(626). 접속 제어 장치(100)는 추가로 사용자 단말(200)로 접속 차단 또는 접속 실패를 알리는 알림 메시지를 전송할 수 있다.On the other hand, if it is determined to block the connection of the Web service, the connection control apparatus 100 may discard the received authentication response (626). The connection control apparatus 100 may further transmit a notification message to the user terminal 200 to notify the connection disconnection or connection failure.

상기한 본 발명에 따르면, 접속 제어 장치(100)는 HTTPS 기반 웹 서비스 접속의 허용 또는 차단 여부를 결정함에 있어서, 패킷 복호화 및 재암호화 과정에 의한 지연 및 부하를 제거하고, 신속한 접속 제어를 수행할 수 있다.According to the present invention, in determining whether to allow or block HTTPS-based web service connection, the connection control apparatus 100 removes delay and load caused by the packet decryption and re-encryption process and performs quick access control .

도 8은 본 발명에 따른 접속 제어 장치의 구성을 나타낸 블록도이다. 8 is a block diagram showing a configuration of a connection control apparatus according to the present invention.

본 발명의 다양한 실시 예에서, 접속 제어 장치(100)는 네트워크에서 동작하는 보안 장비로, 예를 들어, 방화벽(Firewall), IDS(Intrusion Detection System), IPS(Intrusion Prevention System), UTM(Unified Threat Management), PMS(Patch Management System), ESM(Enterprise Security Management), WAF(Web Application Firewall), XTM(eXtensible unified Threat Management) 등일 수 있다. 그러나 본 발명의 기술적 사상은 이에 한정되는 것은 아니며, 네트워크 내에서 단말, 서버 등 간의 접속을 허용 또는 차단하기 위하여 설치되는 다양한 네트워크 장비들에 본 발명이 적용될 수 있다. In various embodiments of the present invention, the access control apparatus 100 is a security device that operates in a network, for example, a firewall, an Intrusion Detection System (IDS), an Intrusion Prevention System (IPS) (PMS), Enterprise Security Management (ESM), Web Application Firewall (WAF), eXtensible Unified Threat Management (XTM), and the like. However, the technical idea of the present invention is not limited to this, and the present invention can be applied to various network devices installed to allow or block access between terminals, servers, and the like in the network.

도 8을 참조하면, 본 발명에 따른 접속 제어 장치(100)는 통신부(110), 제어부(120) 및 저장부(130)를 포함하여 구성될 수 있다.Referring to FIG. 8, the connection control apparatus 100 according to the present invention may include a communication unit 110, a control unit 120, and a storage unit 130.

통신부(110)는 유/무선 통신 기술을 이용하여 접속 제어 장치(100)가 연결된 네트워크를 통해 외부의 단말, 서버 등과 데이터 통신을 수행할 수 있다. 통신부(110)는 외부로부터 수신되는 패킷을 처리하여 제어부(120)로 전달하기 위한 적어도 하나의 통신 모듈, 통신 인터페이스 등을 포함할 수 있다. The communication unit 110 can perform data communication with an external terminal, a server, and the like through a network to which the connection control apparatus 100 is connected using wire / wireless communication technology. The communication unit 110 may include at least one communication module for processing a packet received from the outside and transmitting the packet to the control unit 120, a communication interface, and the like.

본 발명의 다양한 실시 예에서, 통신부(110)는 사용자 단말(200)과 서버(300) 간에 인증 과정 또는 HTTP/HTTPS 데이터 교환 과정에서 송수신되는 패킷을 획득하여 제어부(120)로 전달할 수 있다. In various embodiments of the present invention, the communication unit 110 may acquire a packet transmitted / received between the user terminal 200 and the server 300 during the authentication process or the HTTP / HTTPS data exchange process, and may transmit the packet to the control unit 120.

제어부(120)는 본 발명에 따른 접속 제어 동작을 수행하기 위하여, 접속 제어 장치(100)의 각 구성 요소를 제어한다. The control unit 120 controls each component of the connection control apparatus 100 to perform the connection control operation according to the present invention.

본 발명의 다양한 실시 예에서, 제어부(120)는 통신부(110)를 통하여 HTTP 기반 웹 서비스 접속을 위한 패킷이 수신되는 경우, 수신된 패킷의 HTTP 헤더로부터 웹 서비스에 관한 정보를 추출할 수 있다. 여기서, HTTP 기반 웹 서비스 접속을 위한 패킷은 HTTP 패킷일 수 있다. 제어부(120)는 추출된 웹 서비스에 관한 정보를 기저장된 접속 제어 목록과 비교하여, 수신된 패킷에 의한 웹 서비스의 요청을 허용할지 여부에 대해 결정할 수 있다. In various embodiments of the present invention, when a packet for accessing an HTTP-based web service is received through the communication unit 110, the control unit 120 may extract information about the web service from the HTTP header of the received packet. Here, the packet for HTTP based web service connection may be an HTTP packet. The control unit 120 compares the information about the extracted web service with the pre-stored connection control list to determine whether to allow the request of the web service by the received packet.

예를 들어, 접속 제어 목록이 접속을 차단할 웹 서비스의 정보를 포함하는 경우, 제어부(120)는 판단된 웹 서비스에 대한 정보가 접속 제어 목록에 포함된 경우, 해당 웹 서비스의 요청을 차단할 것으로 결정하고, 판단된 웹 서비스에 대한 정보가 접속 제어 목록에 포함되지 않은 경우, 해당 웹 서비스의 요청을 허용할 것으로 결정할 수 있다. For example, when the connection control list includes information of a web service to be blocked, the controller 120 determines that the web service request is to be blocked if information about the determined web service is included in the connection control list And if the information about the determined web service is not included in the access control list, it can be determined that the request for the corresponding web service is allowed.

한편, 접속 제어 목록이 접속을 허용할 웹 서비스의 정보를 포함하는 경우, 제어부(120)는 판단된 웹 서비스에 대한 정보가 접속 제어 목록에 포함된 경우, 해당 웹 서비스의 요청을 허용할 것으로 결정하고, 판단된 웹 서비스에 대한 정보가 접속 제어 목록에 포함되지 않은 경우, 해당 웹 서비스의 요청을 차단할 것으로 결정할 수 있다. On the other hand, when the connection control list includes the information of the web service to be permitted to be connected, the control unit 120 determines that the information about the determined web service is included in the connection control list, And if the information on the determined web service is not included in the access control list, it can be determined to block the request of the corresponding web service.

웹 서비스의 요청을 허용할 것으로 결정한 경우, 제어부(120)는 수신된 패킷을 목적지로 전달하도록 통신부(110)를 제어할 수 있다. 한편, 웹 서비스의 접속을 차단할 것으로 결정한 경우, 제어부(120)는 수신된 HTTP 패킷을 파기하거나, 해당 웹 서비스에 대한 접속 차단 또는 접속 실패를 알리는 알림 메시지를 전송하도록 통신부(110)를 제어할 수 있다. If it is determined that the request for the web service is to be accepted, the control unit 120 may control the communication unit 110 to transmit the received packet to the destination. On the other hand, if it is determined that the connection to the web service should be blocked, the control unit 120 may control the communication unit 110 to discard the received HTTP packet or to transmit a notification message indicating that the connection is blocked or failed have.

본 발명의 다양한 실시 예에서, 제어부(120)는 통신부(110)를 통하여 HTTPS 기반 웹 서비스 접속을 위한 패킷이 전송되는 경우, 수신된 패킷의 인증서로부터 CN을 추출할 수 있다. 여기서, HTTPS 기반 웹 서비스 접속을 위한 패킷은 인증 과정에서 송수신되는 인증 응답일 수 있다. 제어부(120)는 추출된 CN 또는 CN의 적어도 일부분으로부터 요청된 웹 서비스에 대한 정보를 판단할 수 있다. 제어부(120)는 판단된 웹 서비스에 관한 정보를 기저장된 접속 제어 목록과 비교하여, 수신된 패킷에 의한 웹 서비스의 요청을 허용할지 여부에 대해 결정할 수 있다. In various embodiments of the present invention, when a packet for HTTPS-based web service connection is transmitted through the communication unit 110, the control unit 120 may extract the CN from the received packet's certificate. Here, the packet for HTTPS-based web service connection may be an authentication response transmitted and received in the authentication process. The control unit 120 may determine information about the requested web service from at least a part of the extracted CN or CN. The control unit 120 compares the information about the determined web service with the pre-stored connection control list to determine whether to allow the request of the web service based on the received packet.

보다 구체적인 제어부(120)의 동작은 상기에서 도 1 내지 도 7을 참조하여 설명한 바와 동일하다.More specifically, the operation of the control unit 120 is the same as that described above with reference to Figs. 1 to 7.

저장부(130)는 접속 제어 장치(100)의 동작을 위한 운영 체제(Operating System), 모듈, 애플리케이션, 프로그램 등을 저장하거나, 접속 제어 장치(100)에서 입출력되거나 생성되는 데이터들을 임시 또는 영구적으로 저장할 수 있다.The storage unit 130 stores an operating system, a module, an application program, and the like for operating the connection control apparatus 100 or temporarily or permanently stores input / output data generated in the connection control apparatus 100 Can be stored.

이를 위하여, 저장부(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 xD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The storage unit 130 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, an SD or xD memory A static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM) Magnetic disk, magnetic disk, magnetic disk, or optical disk.

본 발명의 다양한 실시 예에서, 저장부(130)는 접속 제어 목록으로써, 웹 서비스 접속을 허용할 도메인에 관한 정보(화이트 리스트) 및/또는 웹 서비스 접속을 차단할 도메인에 관한 정보(블랙 리스트)를 저장하고 관리할 수 있다. 접속 제어 목록은 웹 서비스 접속을 허용 및/또는 차단할 도메인의 도메인 명칭, 호스트, 주소 등을 저장할 수 있다. In various embodiments of the present invention, the storage unit 130 may store, as a connection control list, information (black list) about the domain (white list) and / or domains for which the web service access is to be blocked You can save and manage. The access control list may store a domain name, a host, an address, and the like of a domain in which a web service connection is allowed and / or blocked.

웹 서비스 접속을 허용 또는 차단할 도메인에 관한 정보는 네트워크를 통하여 외부로부터 수신되거나, 접속 제어 장치(100)의 관리자로부터 직접 입력될 수 있다.  The information on the domain in which the web service connection is permitted or blocked may be received from the outside via the network or directly from the manager of the connection control apparatus 100. [

도 9는 본 발명에 따른 접속 제어 장치의 접속 제어 방법을 나타낸 순서도이다. 9 is a flowchart showing a connection control method of the connection control apparatus according to the present invention.

도 9를 참조하면, 본 발명에 따른 접속 제어 장치(100)는 외부로부터 패킷이 수신되면(901), 수신된 패킷이 HTTP 기반 패킷인지 여부를 판단한다(902). 일 예로, 접속 제어 장치(100)는 패킷이 암호화되어 있지 않은 HTTP 헤더를 포함하고 있는지 여부를 판단할 수 있다. Referring to FIG. 9, the connection control apparatus 100 according to the present invention determines whether a received packet is an HTTP-based packet (902) when receiving a packet from the outside (901). For example, the connection control apparatus 100 can determine whether or not the packet includes an HTTP header that is not encrypted.

수신된 패킷이 HTTP 기반 패킷이면, 접속 제어 장치(100)는 수신된 패킷으로부터 웹 서비스에 관한 정보를 추출한다(903). 여기서, HTTP 기반 패킷은 HTTP 기반 웹 서비스를 요청하기 위한 요청 패킷일 수 있고, 웹 서비스에 관한 정보는 헤더로부터 추출되는 호스트 및 주소일 수 있다. If the received packet is an HTTP-based packet, the connection control apparatus 100 extracts information on the web service from the received packet (903). Here, the HTTP-based packet may be a request packet for requesting an HTTP-based web service, and the information about the web service may be a host and an address extracted from the header.

한편, 수신된 패킷이 HTTP 기반 패킷이 아니면, 접속 제어 장치(100)는 수신된 패킷이 HTTPS 기반 패킷인지 여부를 판단한다(904). 일 예로, 접속 제어 장치(100)는 패킷이 암호화되어 있는지, SSL 헤더를 포함하고 있는지, 암호화된 HTTP 패킷을 포함하고 있는지 여부 등을 판단할 수 있다. On the other hand, if the received packet is not an HTTP based packet, the connection control apparatus 100 determines whether the received packet is an HTTPS based packet (904). For example, the connection control apparatus 100 can determine whether a packet is encrypted, whether it contains an SSL header, whether it contains an encrypted HTTP packet, and the like.

수신된 패킷이 HTTPS 기반 패킷이면, 접속 제어 장치(100)는 수신된 패킷으로부터 인증서를 추출한다(905). 여기서, HTTPS 기반 패킷은 HTTPS 기반 인증을 위한 인증 응답 패킷일 수 있다. If the received packet is an HTTPS-based packet, the access control apparatus 100 extracts the certificate from the received packet (905). Here, the HTTPS-based packet may be an authentication response packet for HTTPS-based authentication.

접속 제어 장치(100)는 인증서에 포함된 CN을 기초로 웹 서비스에 관한 정보를 판단한다(906). 여기서, 웹 서비스에 관한 정보는 CN을 기초로 결정되는 호스트 및 주소일 수 있다. The connection control apparatus 100 determines information about the web service based on the CN included in the certificate (906). Here, the information on the web service may be a host and an address determined based on the CN.

접속 제어 장치(100)는 추출 또는 판단된 웹 서비스에 관한 정보를 기초로 접속 허용(또는 차단) 여부를 결정한다(907). 접속 제어 장치(100)는 웹 서비스에 관한 정보를 기저장된 접속 제어 목록과 비교하여, 해당 패킷을 이용한 웹 서비스의 접속을 허용할지 여부를 결정한다.The connection control apparatus 100 determines whether the connection is allowed (or blocked) based on information about the extracted or determined web service (907). The connection control apparatus 100 compares the information about the web service with the pre-stored connection control list and determines whether or not to allow connection of the web service using the packet.

접속이 허용된 경우(908), 접속 제어 장치(100)는 수신된 패킷을 목적지로 전달한다(909). 반면, 접속이 허용되지 않은 경우, 접속 제어 장치(100)는 수신된 패킷을 파기하거나, 해당 패킷을 전송한 단말로 접속 차단 또는 접속 실패를 알리는 알림 메시지를 전송하는 등 차단 동작을 수행할 수 있다(910). If the connection is allowed (908), the access control apparatus 100 delivers the received packet to the destination (909). On the other hand, if the connection is not allowed, the connection control apparatus 100 may perform a blocking operation such as discarding the received packet or transmitting a notification message indicating that connection is blocked or connection failure to the terminal that transmitted the packet (910).

본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. Accordingly, the scope of the present invention should be construed as being included in the scope of the present invention, all changes or modifications derived from the technical idea of the present invention.

100: 접속 제어 장치
110: 통신부
120: 제어부
130: 저장부
200: 사용자 단말
300: 서버
100: Connection control device
110:
120:
130:
200: user terminal
300: server

Claims (10)

웹 서비스에 대한 접속 제어 장치로,
외부와 패킷을 송수신하는 통신부; 및
상기 패킷에 대응하여 판단되는 상기 웹 서비스에 관한 정보를 기초로, 상기 웹 서비스의 접속 허용 여부를 결정하여 상기 패킷의 전달을 허용 또는 차단하는 제어부를 포함하되,
상기 제어부는,
상기 패킷이 제1 프로토콜 기반 패킷이면, 상기 패킷으로부터 웹 서비스에 관한 정보를 추출하고, 상기 패킷이 제2 프로토콜 기반 패킷이면, 상기 패킷으로부터 추출되는 인증서를 이용하여 상기 웹 서비스에 관한 정보를 판단하는 것을 특징으로 하는 접속 제어 장치.
A connection control device for a web service,
A communication unit for transmitting and receiving a packet with the outside; And
And a control unit for determining whether or not the connection of the web service is permitted based on the information about the web service judged corresponding to the packet to allow or block the transmission of the packet,
Wherein,
If the packet is a first protocol-based packet, information on the web service is extracted from the packet. If the packet is a second protocol-based packet, information on the web service is determined using a certificate extracted from the packet And the connection control device.
제1항에 있어서, 상기 제1 프로토콜은,
HTTP(Hypertext Transfer Protocol)이고,
상기 제2 프로토콜은,
HTTPS(Hypertext Transfer Protocol over Secure socket layer)인 것을 특징으로 하는 접속 제어 장치.
2. The method of claim 1,
HTTP (Hypertext Transfer Protocol)
Wherein the second protocol comprises:
(Hypertext Transfer Protocol over Secure Socket Layer).
제1항에 있어서, 상기 제어부는,
상기 패킷이 상기 제1 프로토콜 기반 패킷이면, 상기 패킷의 헤더에 정의된 상기 웹 서비스에 관한 정보를 추출하는 것을 특징으로 하는 접속 제어 장치.
The apparatus of claim 1,
And if the packet is the first protocol-based packet, extracts information on the web service defined in the header of the packet.
제1항에 있어서, 상기 제어부는,
상기 패킷이 상기 제2 프로토콜 기반 패킷이면, 상기 패킷에 포함된 인증서로부터 일반 이름(Common Name; CN)을 추출하고, 상기 추출된 일반 이름으로부터 상기 웹 서비스에 관한 정보를 판단하는 것을 특징으로 하는 접속 제어 장치.
The apparatus of claim 1,
Extracting a common name (CN) from the certificate included in the packet if the packet is the second protocol-based packet, and determining information about the web service from the extracted common name controller.
제1항에 있어서, 상기 웹 서비스에 관한 정보는,
상기 패킷에 의하여 요청된 상기 웹 서비스의 호스트 및 데이터 주소 중 적어도 하나를 포함하는 것을 특징으로 하는 접속 제어 장치.
2. The method of claim 1,
And at least one of a host and a data address of the web service requested by the packet.
제1항에 있어서, 상기 제1 프로토콜 기반 패킷은,
사용자 단말로부터 전송되는 HTTP 데이터에 대한 요청 패킷이고,
상기 제2 프로토콜 기반 패킷은,
서버로부터 전송되는 인증 응답 패킷인 것을 특징으로 하는 접속 제어 장치.
2. The method of claim 1, wherein the first protocol-
A request packet for HTTP data transmitted from a user terminal,
Wherein the second protocol-
And the authentication response packet is an authentication response packet transmitted from the server.
웹 서비스의 접속 제어 장치에 의해 수행되는 접속 제어 방법으로,
외부로부터 패킷이 수신되면, 상기 패킷의 프로토콜을 판단하는 단계;
상기 판단된 프로토콜에 기반하여, 상기 패킷에 대응하는 웹 서비스에 관한 정보를 획득하는 단계; 및
상기 웹 서비스에 관한 정보를 기초로, 상기 웹 서비스의 접속 허용 여부를 결정하는 단계를 포함하되,
상기 웹 서비스에 관한 정보를 획득하는 단계는,
상기 패킷의 프로토콜이 제1 프로토콜이면, 상기 패킷으로부터 상기 웹 서비스에 관한 정보를 추출하는 단계; 및
상기 패킷의 프로토콜이 제2 프로토콜이면, 상기 패킷으로부터 추출된 인증서를 이용하여 상기 웹 서비스에 관한 정보를 판단하는 단계를 포함하는 것을 특징으로 하는 접속 제어 방법.
A connection control method performed by a connection control apparatus of a web service,
Determining a protocol of the packet when the packet is received from the outside;
Obtaining information on a web service corresponding to the packet based on the determined protocol; And
Determining whether or not the connection of the web service is permitted based on the information about the web service,
Wherein acquiring information about the web service comprises:
If the protocol of the packet is a first protocol, extracting information on the web service from the packet; And
And if the protocol of the packet is the second protocol, determining information about the web service using the certificate extracted from the packet.
제7항에 있어서, 상기 제1 프로토콜은,
HTTP(Hypertext Transfer Protocol)이고,
상기 제2 프로토콜은,
HTTPS(Hypertext Transfer Protocol over Secure socket layer)인 것을 특징으로 하는 접속 제어 방법.
8. The method of claim 7,
HTTP (Hypertext Transfer Protocol)
Wherein the second protocol comprises:
(Hypertext Transfer Protocol over Secure Socket Layer).
제7항에 있어서, 상기 패킷으로부터 상기 웹 서비스에 관한 정보를 추출하는 단계는,
상기 패킷의 헤더에 정의된 적어도 하나의 파라미터를 상기 웹 서비스에 관한 정보로써 추출하는 단계를 포함하는 것을 특징으로 하는 접속 제어 방법.
8. The method of claim 7, wherein extracting information about the web service from the packet comprises:
And extracting at least one parameter defined in a header of the packet as information on the web service.
제7항에 있어서, 상기 패킷으로부터 추출된 상기 인증서를 이용하여 상기 웹 서비스에 관한 정보를 판단하는 단계는,
상기 패킷에 포함된 상기 인증서를 추출하는 단계;
상기 인증서로부터 일반 이름(Common Name; CN)을 추출하는 단계; 및
상기 추출된 일반 이름으로부터 상기 웹 서비스에 관한 정보를 판단하는 단계를 포함하는 것을 특징으로 하는 접속 제어 방법.
The method of claim 7, wherein the step of determining information about the web service using the certificate extracted from the packet comprises:
Extracting the certificate included in the packet;
Extracting a common name (CN) from the certificate; And
And judging information about the web service from the extracted common name.
KR1020170099150A 2017-08-04 2017-08-04 Apparatus and method for access control Ceased KR20190014958A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170099150A KR20190014958A (en) 2017-08-04 2017-08-04 Apparatus and method for access control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170099150A KR20190014958A (en) 2017-08-04 2017-08-04 Apparatus and method for access control

Publications (1)

Publication Number Publication Date
KR20190014958A true KR20190014958A (en) 2019-02-13

Family

ID=65366619

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170099150A Ceased KR20190014958A (en) 2017-08-04 2017-08-04 Apparatus and method for access control

Country Status (1)

Country Link
KR (1) KR20190014958A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102628775B1 (en) * 2023-02-02 2024-01-23 (주)케이스마텍 Cloud HSM system for accessing token based on certificates and ID and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102628775B1 (en) * 2023-02-02 2024-01-23 (주)케이스마텍 Cloud HSM system for accessing token based on certificates and ID and method thereof

Similar Documents

Publication Publication Date Title
US8904178B2 (en) System and method for secure remote access
CN107666383B (en) Message processing method and device based on HTTPS (hypertext transfer protocol secure protocol)
CN109413060B (en) Message processing method, device, equipment and storage medium
CN101510877B (en) Single-point logging-on method and system, communication apparatus
EP3142327B1 (en) Intermediate network entity
CA2662686C (en) Method and system for establishing a secure over-the-air (ota) device connection
US20110107410A1 (en) Methods, systems, and computer program products for controlling server access using an authentication server
US20170317836A1 (en) Service Processing Method and Apparatus
US8386783B2 (en) Communication apparatus and communication method
US20130019092A1 (en) System to Embed Enhanced Security / Privacy Functions Into a User Client
US20170127280A1 (en) Secure handling of secure socket layer ("ssl") traffic
KR20160093856A (en) Apparatus and method for protecting user data in cloud-computing environment
CN114244569B (en) SSL VPN remote access method, system and computer equipment
CN112839062B (en) Port hiding method, device and equipment with mixed authentication signals
US11444958B2 (en) Web server security
CN106169990A (en) A kind of encrypt data on flows monitoring method, Apparatus and system
KR101881279B1 (en) Apparatus and method for inspecting the packet communications using the Secure Sockets Layer
Sathyadevan et al. Portguard-an authentication tool for securing ports in an IoT gateway
KR20190014958A (en) Apparatus and method for access control
CN107209751B (en) Business processing method and device
EP3200420B1 (en) Providing communications security to an end-to-end communication connection
KR100366403B1 (en) Method for authenticating user in internet and system for the same
CN118316618B (en) Networking communication method and communication system based on zero trust security management platform
KR101628094B1 (en) Security apparatus and method for permitting access thereof
KR102086489B1 (en) Method for decrypting a secure socket layer for securing packets transmitted from a predetermined operating system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170804

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20190213

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20190501

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20190213

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I