KR20170106694A - Method and apprapatus for watching encrypted traffic - Google Patents

Method and apprapatus for watching encrypted traffic Download PDF

Info

Publication number
KR20170106694A
KR20170106694A KR1020160030106A KR20160030106A KR20170106694A KR 20170106694 A KR20170106694 A KR 20170106694A KR 1020160030106 A KR1020160030106 A KR 1020160030106A KR 20160030106 A KR20160030106 A KR 20160030106A KR 20170106694 A KR20170106694 A KR 20170106694A
Authority
KR
South Korea
Prior art keywords
communication session
server
traffic
user terminal
data
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.)
Granted
Application number
KR1020160030106A
Other languages
Korean (ko)
Other versions
KR101847636B1 (en
Inventor
양철웅
양우석
이재혁
Original Assignee
주식회사 수산아이앤티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 수산아이앤티 filed Critical 주식회사 수산아이앤티
Priority to KR1020160030106A priority Critical patent/KR101847636B1/en
Publication of KR20170106694A publication Critical patent/KR20170106694A/en
Application granted granted Critical
Publication of KR101847636B1 publication Critical patent/KR101847636B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

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

Abstract

본 발명의 일 실시예에 따라 트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법이 개시된다. 상기 트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법은 세션 정보 관리 모듈에서 수행되는 사용자 단말과 서버 사이의 통신 세션 정보를 획득하는 단계, 트래픽 분석 모듈에서 수행되는 사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 단계, 상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 통신 세션 제어 모듈이 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하는 단계, 암호화 처리 모듈이 상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하는 단계, 상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하는 단계 및 트래픽 제어 모듈이 복호화된 데이터에 대하여 보안 제어를 수행하는 단계를 포함할 수 있다. A method for monitoring an encrypted traffic performed in a traffic monitoring apparatus according to an embodiment of the present invention is disclosed. The method for monitoring an encrypted traffic performed by the traffic monitoring apparatus includes the steps of acquiring communication session information between a user terminal and a server performed in the session information management module, monitoring a communication session between the user terminal and the server, Determining whether to intervene in a communication session between the user terminal and the server, when the communication session control module intervenes in a communication session between the user terminal and the server, A communication session and a second communication session between the user terminal and the traffic monitoring device, the encryption processing module performing encryption handshaking with the server in the first communication session, and in the second communication session, Performing shaking, determining whether the first communication session received through the first communication session Decrypting the first encrypted data received via the first communication session and the second encrypted data received through the second communication session, and performing a security control on the decrypted data by the traffic control module.

Description

암호화 트래픽을 감시하기 위한 방법 및 장치{METHOD AND APPRAPATUS FOR WATCHING ENCRYPTED TRAFFIC}[0001] METHOD AND APPARATUS FOR WATCHING ENCRYPTED TRAFFIC [0002]

본 발명은 통신에 관한 것으로서, 보다 구체적으로는 암호화 통신을 감시하기 위한 것이다. The present invention relates to communications, and more particularly to monitoring encrypted communications.

SSL(secure sockets layer)는 TCP/IP 통신을 보호하기 위한 암호화 기술을 의미할 수 있다. SSL 암호화 통신은 초기에는 뱅킹, 전자상거래, 기업 데이터 등의 웹을 통해 전송되는 중요한 컨텐츠와 메시지를 보호하기 위해 사용되었으나, 근래에는 소셜미디어, 오락, 게임, 웹포털 등 다양한 웹 컨텐츠 전송에 확대 적용되어 꾸준한 증가 추세에 있다. 예를 들어, 트위터, 구글 페이스북 등도 SSL암호화 전송을 사용하고 있다.A secure sockets layer (SSL) can mean a cryptographic technique to protect TCP / IP communications. SSL encrypted communication was initially used to protect important content and messages transmitted via the web, such as banking, e-commerce, and corporate data. Recently, however, SSL encryption has been widely applied to transmission of various web contents such as social media, entertainment, And is steadily increasing. For example, Twitter, Google Facebook and others are also using SSL encrypted transmissions.

컨텐츠 보호를 위해 도입한 SSL 암호화 전송으로 인해 기업, 교육기관, 공공기관 및 통신 사업자가 악의적인 멀웨어(malicious software, malware)의 유포 방지, 침입 방지 및 유해사이트 접속 방지를 위해 사용하던 보안 방화벽이 무력화 되는 문제가 초래되고 있다. 따라서, SSL 암호화 패킷을 감시하기 위한 솔루션에 대한 수요가 당업계에서 존재할 수 있다. The SSL encryption transmission introduced for content protection prevents the security firewalls used by corporations, educational institutions, public agencies, and telecommunication carriers to prevent the spread of malicious software and malware, and to prevent intrusion and access to harmful sites There is a problem that it is caused. Thus, there may be a need in the art for a solution for monitoring SSL encrypted packets.

한국 공개 특허 10-2015-0053520호(2015.05.18)는 서버로부터 인증서를 수신하여 서버를 인증하는 방법을 개시하고 있다.Korean Patent Laid-Open Publication No. 10-2015-0053520 (May 2015, May 18, 201) discloses a method of authenticating a server by receiving a certificate from a server.

본 발명은 전술한 배경기술에 대응하여 안출된 것으로, 암호화 통신을 감시하기 위한 솔루션을 제공하기 위한 것이다.The present invention has been devised to cope with the above-described background art, and is intended to provide a solution for monitoring encrypted communication.

본 발명은 암호화 통신을 감시하면서도, 성능저하를 경감하고, 안정성을 높이기 위한 솔루션을 제공하기 위한 것이다. The present invention is intended to provide a solution for reducing the performance degradation and increasing the stability while monitoring the encrypted communication.

전술한 바와 같은 과제를 실현하기 위한 본 발명의 일 실시예에 따라 트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법이 개시된다. 상기 트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법은 세션 정보 관리 모듈에서 수행되는 사용자 단말과 서버 사이의 통신 세션 정보를 획득하는 단계, 트래픽 분석 모듈에서 수행되는 사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 단계, 상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 통신 세션 제어 모듈이 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하는 단계, 암호화 처리 모듈이 상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하는 단계, 상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하는 단계 및 트래픽 제어 모듈이 복호화된 데이터에 대하여 보안 제어를 수행하는 단계를 포함할 수 있다. An encryption traffic monitoring method performed in a traffic monitoring apparatus according to an embodiment of the present invention for realizing the above-described problems is disclosed. The method for monitoring an encrypted traffic performed by the traffic monitoring apparatus includes the steps of acquiring communication session information between a user terminal and a server performed in the session information management module, monitoring a communication session between the user terminal and the server, Determining whether to intervene in a communication session between the user terminal and the server, when the communication session control module intervenes in a communication session between the user terminal and the server, A communication session and a second communication session between the user terminal and the traffic monitoring device, the encryption processing module performing encryption handshaking with the server in the first communication session, and in the second communication session, Performing shaking, determining whether the first communication session received through the first communication session Decrypting the first encrypted data received via the first communication session and the second encrypted data received through the second communication session, and performing a security control on the decrypted data by the traffic control module.

대안적으로, 상기 암호화된 데이터는 SSL(secure sockets layer) 암호화 데이터 및 TLS(transport layer security) 암호화 데이터 중 적어도 하나를 포함할 수 있다. Alternatively, the encrypted data may include at least one of secure sockets layer (SSL) encrypted data and transport layer security (TLS) encrypted data.

대안적으로, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 단계는, 사용자 단말의 서버 접속 요청 또는 서버의 응답에 포함된 IP주소 정보, 포트 번호 정보(port number information), 호스트 정보, 프로토콜 헤더, 및 페이로드의 적어도 일부 중 적어도 하나에 기초하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정할 수 있다. Alternatively, the step of determining whether or not to intervene in the communication session between the user terminal and the server comprises the steps of: determining whether to intervene in the communication session between the user terminal and the server, The protocol header, and at least a portion of the payload to determine whether to intervene in a communication session between the user terminal and the server.

대안적으로, 트래픽 제어 모듈이 보안 제어를 수행하는 단계는, 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터의 사용자 요청 URL이 사전설정된 URL 인지 여부를 판단하거나, 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터의 사용자 요청 URL이 사전설정된 URL 인지 여부를 판단하는 단계, 상기 사용자 요청 URL이 사전설정된 URL인 경우, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나가 종료되도록하는 단계 및 상기 사용자 요청 URL이 사전설정된 URL이 아닌 경우, 상기 제 1 복호화 데이터를 재 암호화 하여 사용자 단말에게 전달하거나, 상기 제 2 복호화 데이터를 재 암호화 하여 상기 서버에 전달하는 단계를 포함할 수 있다. Alternatively, the step of performing the security control by the traffic control module may include determining whether the user requested URL of the first decrypted data decrypted with the first encrypted data is a preset URL or decrypting the second encrypted data Determining whether a user requested URL of a second decoded data is a preset URL, if at least one of the first communication session and the second communication session is to be terminated if the user requested URL is a preset URL, and And re-encrypting the first decrypted data and delivering it to the user terminal if the user requested URL is not a predetermined URL, or re-encrypting the second decrypted data and delivering the decrypted data to the server.

대안적으로, 트래픽 제어 모듈이 보안 제어를 수행하는 단계는, 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인지 여부를 판단하는 단계, 상기 제 1 복호화 데이터 또는 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인 경우, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 QoS를 변경하거나, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나를 종료하거나, 또는 사용자 단말 및 서버 중 적어도 하나에게 트래픽 차단 메시지를 전송하는 단계 및 상기 제 1 복호화 데이터 및 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터가 아닌 경우, 상기 제 1 통신 세션 및 상기 제 2 통신 세션을 유지할 것을 결정하는 단계를 포함할 수 있다. Alternatively, the step of performing the security control by the traffic control module may include: determining whether the first decrypted data decrypting the first encrypted data or the second decrypted data decrypted the second encrypted data is data related to a predetermined application , Changing the QoS of at least one of the first communication session and the second communication session when the first decoded data or the second decoded data is data related to a predetermined application, Terminating at least one of a first communication session and a second communication session, or transmitting a traffic cutoff message to at least one of a user terminal and a server, and when the first decoded data and the second decoded data are not data related to a predetermined application , Maintaining the first communication session and the second communication session And determining to do so.

대안적으로, 상기 제 1 복호화 데이터 또는 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인지 여부를 판단하는 단계는, 상기 어플리케이션의 이름과 상기 어플리케이션의 프로토콜 또는 페이로드의 시그니처를 매핑하여 매핑 테이블에 저장하는 단계, 상기 제 1 복호화 데이터 또는 제 2 복호화 데이터의 프로토콜 또는 페이로드의 시그니처를 분석하여 매핑 테이블에 저장된 프로토콜 또는 페이로드의 시그니처와 일치하는지 여부를 판단하는 단계 및 일치하는 경우, 상기 제 1 복호화 데이터 또는 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터로 판단하는 단계를 포함할 수 있다. Alternatively, the step of determining whether the first decoded data or the second decoded data is data related to a predetermined application may include mapping a name of the application and a signature of a protocol or a payload of the application to a mapping table Analyzing the signature of the protocol or the payload of the first decoded data or the second decoded data and determining whether the signature matches the signature of the protocol or the payload stored in the mapping table; Deciding the decoded data or the second decoded data as data related to a predetermined application.

대안적으로, 트래픽 제어 모듈이 보안 제어를 수행하는 단계는, 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터가 사전설정된 사용자 정보, 사전설정된 사용자 그룹 정보, 사전 설정된 서버정보, 사전 설정된 서버 그룹 정보 및 사전설정된 시간 정보 중 적어도 하나에 관련된 데이터인지 여부를 판단하는 단계 및 상기 판단 결과에 기초하여, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 QoS를 변경하거나, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나를 종료하거나, 또는 서버 및 사용자 단말 중 적어도 하나에게 트래픽 차단 메시지를 전송하는 단계를 포함할 수 있다. Alternatively, the step of performing the security control by the traffic control module may include the steps of: performing first security by decrypting the first decrypted data obtained by decrypting the first encrypted data or the second decrypted data decrypted by the second encrypted data, Determining whether the data is related to at least one of group information, preset server information, preset server group information, and preset time information, and determining, based on the determination result, at least one of the first communication session and the second communication session Changing one QoS, terminating at least one of the first communication session and the second communication session, or sending a traffic cutoff message to at least one of the server and the user terminal.

대안적으로, 트래픽 제어 모듈이 보안 제어를 수행하는 단계는, 트래픽 제어 모듈이 사전설정된 보안장비가 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 및 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터 중 적어도 하나에 대한 보안 동작을 수행하도록 하기 위하여 상기 제 1 복호화 데이터 및 상기 제 2 복호화 데이터 중 적어도 하나를 상기 사전설정된 보안장비에 포워딩(forwarding)하는 단계를 포함할 수 있다. Alternatively, the step of performing security control by the traffic control module may include the steps of: when the traffic control module receives the first decrypted data decrypting the first encrypted data and the second decrypted data decrypting the second decrypted data And forwarding at least one of the first decrypted data and the second decrypted data to the predetermined security apparatus so as to perform a security operation on at least one of the first decrypted data and the second decrypted data.

대안적으로, 상기 사전설정된 보안장비로부터 보안 차단 신호를 수신하는 경우, 상기 제 1 통신 세션 및 상기 제 2 통신세션 중 적어도 하나를 차단하는 단계를 더 포함할 수 있다. Alternatively, the method may further include, when receiving the blocking signal from the predetermined security device, blocking at least one of the first communication session and the second communication session.

대안적으로, 상기 복호화된 데이터를 분석하여, 상기 제 1 및 제 2 통신 세션의 트래픽 분석을 수행하는 단계를 더 포함할 수 있다. Alternatively, the method may further include analyzing the decrypted data to perform traffic analysis of the first and second communication sessions.

또한, 본 발명의 일 실시예에 따라 암호화 트래픽을 감시하는 트래픽 감시장치가 개시된다. 상기 암호화 트래픽을 감시하는 트래픽 감시장치는 사용자 단말과 서버 사이의 통신 세션 정보를 획득하는 세션 정보 관리 모듈, 사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 트래픽 분석 모듈, 상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하는 통신 세션 제어 모듈, 상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하는 암호화 처리 모듈, 상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하는 암복호화 모듈 및 복호화된 데이터에 대하여 보안 제어를 수행하는 트래픽 제어 모듈을 포함할 수 있다. In addition, a traffic monitoring apparatus for monitoring encrypted traffic according to an embodiment of the present invention is disclosed. The traffic monitoring apparatus monitors the encrypted traffic. The traffic monitoring apparatus monitors a communication session between the user terminal and the server, acquires communication session information between the user terminal and the server, A first communication session between the server and the traffic monitoring device and a second communication session between the user terminal and the traffic monitoring device when intervening in the communication session between the user terminal and the server, A cryptographic processing module that performs cryptographic handshaking with the server in the first communication session and performs cryptographic handshaking with the user terminal in the second communication session; Lt; RTI ID = 0.0 > first < / RTI > encrypted data and the second & About decryption module and the decoded data to decrypt the encrypted data can include traffic control module that performs security control.

또한, 본 발명의 일 실시예에 따른 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 세션 정보 관리 모듈에서 사용자 단말과 서버 사이의 통신 세션 정보를 획득하도록 하기 위한 명령, 트래픽 분석 모듈에서 사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하도록 하기 위한 명령, 상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 통신 세션 제어 모듈이 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하도록 하기 위한 명령, 암호화 처리 모듈이 상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하도록 하기 위한 명령, 상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하기 위한 명령 및 트래픽 제어 모듈이 복호화된 데이터에 대하여 보안 제어를 수행하도록 하기 위한 명령를 포함할 수 있다. Also disclosed is a computer program stored on a computer-readable medium, comprising a plurality of instructions executed by one or more processors in accordance with an embodiment of the present invention. The computer program comprising instructions for: acquiring communication session information between a user terminal and a server in a session information management module; monitoring a communication session between the user terminal and the server in a traffic analysis module; Wherein the communication session control module is operable, when intervening in a communication session between the user terminal and the server, to cause the communication session to perform a first communication session between the server and the traffic monitoring device, Instructions for causing the encryption processing module to perform encryption handshaking with the server in the first communication session and to perform encryption handshaking with the user terminal in the second communication session, Command, a first password received via the first communication session, With respect to the data and the command and a traffic control module and the decoded data to decrypt the second encrypted data received over the second communication session may include myeongryeongreul to to perform a security control.

본 발명은 암호화 통신을 감시하기 위한 솔루션을 제공할 수 있다.The present invention can provide a solution for monitoring encrypted communication.

본 발명은 암호화 통신을 감시하면서도, 성능저하를 경감하고, 안정성을 높일 수 있는 솔루션을 제공할 수 있다.INDUSTRIAL APPLICABILITY The present invention can provide a solution capable of reducing the performance degradation and increasing the stability while monitoring the encrypted communication.

도 1 은 본 발명의 일 실시 예에 따라 암호화 트래픽을 감시하는 트래픽 감시장치의 블록 구성도(block diagram)이다.
도 2 는 본 발명의 일 실시 예에 따라 트래픽 감시 시스템을 나타낸 개략도이다.
도 3 은 본 발명의 일 실시 예에 따라 암호화 트래픽을 감시하는 암호화 트래픽 감시방법의 순서도이다.
1 is a block diagram of a traffic monitoring apparatus for monitoring encrypted traffic according to an embodiment of the present invention.
2 is a schematic diagram illustrating a traffic surveillance system in accordance with an embodiment of the present invention.
3 is a flowchart of a method for monitoring cryptographic traffic monitoring cryptographic traffic according to an embodiment of the present invention.

다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.Various embodiments are now described with reference to the drawings, wherein like reference numerals are used throughout the drawings to refer to like elements. In this specification, various explanations are given in order to provide an understanding of the present invention. It will be apparent, however, that such embodiments may be practiced without these specific details. In other instances, well-known structures and devices are provided in block diagram form in order to facilitate describing the embodiments.

본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터 내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통한 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다. The terms "component," "module," system, "and the like, as used herein, refer to a computer-related entity, hardware, firmware, software, combination of software and hardware, or execution of software. For example, a component may be, but is not limited to, a process executing on a processor, a processor, an object, an executing thread, a program, and / or a computer. For example, both an application running on a computing device and a computing device may be a component. One or more components may reside within a processor and / or thread of execution, one component may be localized within one computer, or it may be distributed between two or more computers. Further, such components may execute from various computer readable media having various data structures stored therein. The components may be, for example, a signal (e.g., a local system, data from one component interacting with another component in a distributed system, and / or data over a network, such as the Internet, Lt; RTI ID = 0.0 > and / or < / RTI >

제시된 실시예들에 대한 설명은 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다. The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features presented herein.

도 1 은 본 발명의 일 실시 예에 따라 암호화 트래픽을 감시하는 트래픽 감시장치의 블록 구성도(block diagram)이다. 1 is a block diagram of a traffic monitoring apparatus for monitoring encrypted traffic according to an embodiment of the present invention.

본 발명의 일 실시 예에 따라 암호화 트래픽을 감시하는 트래픽 감시 장치(100)는 제 1 통신 인터페이스(110), 제 2 통신 인터페이스(120), 세션 정보 관리 모듈(130), 트래픽 분석 모듈(140), 통신 세션 제어 모듈(150), 암호화 처리 모듈(160), 암복호화 모듈(170), 트래픽 제어 모듈(180), 메모리(190)를 포함할 수 있다. The traffic monitoring apparatus 100 for monitoring encrypted traffic according to an embodiment of the present invention includes a first communication interface 110, a second communication interface 120, a session information management module 130, a traffic analysis module 140, A communication session control module 150, an encryption processing module 160, an encryption / decryption module 170, a traffic control module 180, and a memory 190.

본 발명의 일 실시 예에 따른 암호화 트래픽을 감시하는 트래픽 감시 장치(100)는 사용자 단말(10)과 서버(20)의 통신경로상에 위치하는 보안장비, 방화벽, 중계장비 등을 포함할 수 있다. 상기 트래픽 감시 장치(100)는 기관, 회사 등의 내부망의 관문단에 설치될 수 있다. The traffic monitoring apparatus 100 for monitoring cryptographic traffic according to an exemplary embodiment of the present invention may include a security device, a firewall, a relay device, and the like located on a communication path between the user terminal 10 and the server 20 . The traffic monitoring apparatus 100 may be installed in a branch office of an internal network of an organization, a company, or the like.

사용자 단말(10)은, PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc)등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다.The user terminal 10 may include a personal computer (PC), a note book, a mobile terminal, a smart phone, a tablet PC, And may include any type of terminal capable of being connected to the Internet.

제 1 통신 인터페이스(110)는 서버(20)와 통신하기 위한 통신 인터페이스를 포함할 수 있다. 제 1 통신 인터페이스(110)는 서버(20)와 통신하는 기능을 수행한다. 제 1 통신 인터페이스(110)는 서버(20)와 통신하기 위한 유/무선 인터넷 모듈을 포함할 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), LTE(Long Term Evolution) 등이 이용될 수 있다. 유선 인터넷 기술로는 XDSL(Digital Subscriber Line), FTTH(Fibers to the home), PLC(Power Line Communication) 등이 이용될 수 있다.The first communication interface 110 may include a communication interface for communicating with the server 20. The first communication interface 110 performs a function of communicating with the server 20. The first communication interface 110 may include a wired / wireless Internet module for communicating with the server 20. WLAN (Wi-Fi), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), LTE (Long Term Evolution) . Wired Internet technologies include XDSL (Digital Subscriber Line), FTTH (Fiber to the home), and PLC (Power Line Communication).

제 2 통신 인터페이스(120)는 상기 트래픽 감시 장치(100)가 사용자 단말(10)과 통신하기 위한 통신 인터페이스를 포함할 수 있다. 제 2 통신 인터페이스(120)는 사용자 단말(10)과 통신하는 기능을 수행한다. 제 2 통신 인터페이스(120)는 사용자 단말(10)과 통신하기 위한 유/무선 인터넷 모듈을 포함할 수 있다. The second communication interface 120 may include a communication interface for the traffic monitoring device 100 to communicate with the user terminal 10. [ The second communication interface 120 performs communication with the user terminal 10. The second communication interface 120 may include a wired / wireless Internet module for communicating with the user terminal 10.

세션 정보 관리 모듈(130)은 사용자 단말(10)과 서버(20)사이의 통신 세션 정보를 획득할 수 있다. 상기 통신 세션 정보는 소스 IP 정보, 소스 포트 정보, 목적지 IP정보, 목적지 포트 정보, 프로토콜 정보 등을 포함할 수 있다. 상기 통신 세션 정보는 사용자 단말의 IP정보, 사용자 단말의 포트 정보, 서버의 IP정보, 서버의 포트 정보, 서버와 사용자 단말의 프로토콜 정보, 사용자 단말의 가입자 정보, 사용자 단말의 식별정보, 서버의 식별정보등을 포함할 수 있다. 사용자 단말(10)과 서버(20)는 직접 통신 세션을 맺을 수 있으며, 트래픽 감시 장치(100)는 필요한 경우 상기 사용자 단말(10)과 서버(20)간의 통신에 개입할 수 있다. 세션 정보 관리 모듈(130)은 사용자 단말(10)과 서버(20)가 맺은 통신 세션의 정보를 획득할 수 있다. 이를 위하여 세션 정보 관리 모듈(130)은 사용자 단말(10)과 서버(20)사이의 통신 세션을 감지할 수 있다. 세션 정보 관리 모듈(130)은 사용자 단말(10)과 서버(20)사이의 통신 세션의 정보를 획득하여 메모리(190)에 저장할 수 있다. The session information management module 130 may acquire communication session information between the user terminal 10 and the server 20. [ The communication session information may include source IP information, source port information, destination IP information, destination port information, protocol information, and the like. The communication session information includes IP information of a user terminal, port information of a user terminal, IP information of a server, port information of a server, protocol information of a server and a user terminal, subscriber information of a user terminal, identification information of the user terminal, Information, and the like. The user terminal 10 and the server 20 can establish a direct communication session and the traffic monitoring apparatus 100 can intervene in the communication between the user terminal 10 and the server 20 when necessary. The session information management module 130 can acquire information on a communication session between the user terminal 10 and the server 20. [ For this purpose, the session information management module 130 may sense a communication session between the user terminal 10 and the server 20. The session information management module 130 may acquire information of a communication session between the user terminal 10 and the server 20 and store the information in the memory 190. [

트래픽 분석 모듈(140)은 사용자 단말(10)과 서버(20)사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정할 수 있다. 상기 트래픽 분석 모듈(140)은 상기 사용자 단말(10)과 서버(20)가 암호화 통신을 수행하여 암호화된 데이터를 송수신하는 경우, 상기 사용자 단말(10)과 서버(20)의 통신 세션에 개입할 것을 결정할 수 있다. 상기 트래픽 분석 모듈(140)은 상기 사용자 단말(10)의 서버 접속 요청 또는 서버의 응답에 포함된 IP주소 정보, 포트 번호 정보(port number information), 호스트 정보, 프로토콜 헤더, 및 페이로드의 적어도 일부 중 적어도 하나에 기초하여 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정할 수 있다. 예를 들어, 복호화를 위한 세션 개입 여부를 결정하기 위해 상기 사용자 단말과 서버가 암호화 통신을 위한 포트(예컨데 443포트)를 통해 통신함을 감지하거나, 상기 사용자 단말이 SSL암호화 방식을 사용하는 서버와 핸드쉐이킹을 맺은 것을 서버 IP주소 또는 패킷 헤더 등을 통해 감지하는 경우, 트래픽 분석 모듈(140)은 상기 사용자 단말과 서버 사이의 통신 세션에 개입할 것을 결정할 수 있다. 전술한 정보는 예시이며, 트래픽 분석 모듈(140)은 사용자 단말과 서버가 암호화 통신을 수행하는지 여부를 판단할 수 있는 임의의 정보에 기초하여 상기 통신 세션에 개입할 것을 결정할 수 있다. 상기 암호화 통신이 감지되지 않는 경우에는 트래픽 감시 장치(100)는 상기 사용자 단말(20)과 서버(10) 사이의 통신 세션에 개입하지 않고, 사용자 단말(20)로부터 수신된 데이터가 서버(10)로 바이패스 되도록 하거나, 서버(10)로부터 수신된 데이터가 사용자 단말(20)로 바이패스 되도록 할 수 있다. The traffic analysis module 140 may monitor a communication session between the user terminal 10 and the server 20 to determine whether to intervene in the communication session between the user terminal and the server. The traffic analysis module 140 intervenes in the communication session between the user terminal 10 and the server 20 when the user terminal 10 and the server 20 perform encrypted communication to transmit and receive the encrypted data Can be determined. The traffic analysis module 140 analyzes at least a part of the IP address information, the port number information, the host information, the protocol header, and the payload included in the server connection request or the server response of the user terminal 10 The server may determine whether to intervene in a communication session between the user terminal and the server. For example, to determine whether to intervene in a session for decryption, the user terminal senses that the user terminal and the server are communicating through a port (for example, 443 port) for encrypted communication, or the user terminal uses a server When detecting handshaking through a server IP address or packet header, the traffic analysis module 140 may decide to intervene in a communication session between the user terminal and the server. The foregoing information is exemplary and the traffic analysis module 140 may decide to intervene in the communication session based on any information that can determine whether the user terminal and the server perform encrypted communications. If the encrypted communication is not detected, the traffic monitoring apparatus 100 does not intervene in a communication session between the user terminal 20 and the server 10, and data received from the user terminal 20 is transmitted to the server 10, Or to allow the data received from the server 10 to be bypassed to the user terminal 20. [

트래픽 분석 모듈(140)은 사용자 단말과 서버 사이의 통신 세션의 트래픽을 분석하여, HTTPS 등과 같이 SSL(secure sockets layer) 또는 TLS(transport layer security) 암호화 데이터 및/또는 프로토콜이 감지되는 경우에 상기 통신 세션에 개입할 것을 결정할 수 있다. 트래픽 분석 모듈(140)은 사용자 단말과 서버 사이의 통신 세션에서 암호화 트래픽 및/또는 프로토콜이 감지되지 않는 경우에는 상기 사용자 단말과 서버 사이의 통신 세션에 개입하지 않고, 사용자 단말로부터 수신된 데이터가 서버로 바이패스 되도록 하거나, 서버로부터 수신된 데이터가 사용자 단말로 바이패스 되도록 할 수 있다. The traffic analysis module 140 analyzes the traffic of the communication session between the user terminal and the server and analyzes the traffic when the secure sockets layer (SSL) or transport layer security (TLS) encrypted data and / You can decide to intervene in the session. The traffic analysis module 140 does not intervene in the communication session between the user terminal and the server when the encrypted traffic and / or protocol is not detected in the communication session between the user terminal and the server, , Or may allow data received from the server to be bypassed to the user terminal.

트래픽 분석 모듈(140)은 사용자 단말과 서버의 통신의 트래픽을 분석하여 각종 통계 데이터를 생성할 수 있다. 또한, 상기 트래픽 분석 모듈(140)은 서버와 트래픽 감시 장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션의 트래픽을 분석하여, 통계 데이터를 생성할 수 있다. 트래픽 분석 모듈(140)은 바이패스되는 사용자 단말과 서버 사이의 통신의 트래픽에 관해 L3 layer 기반의 트래픽 로깅 정보를 수집할 수 있다. 또한, 트래픽 분석 모듈(140)은 복호화된 데이터를 분석하여 트래픽 로깅 정보를 수집할 수 있다. 상기 통계 데이터에는 접속이 제한된 URL에 접속하거나, 사용이 제한된 어플리케이션을 사용한 사용자의 식별 정보, 접속 제한 시간에 접속을 시도하는 사용자의 식별정보, 접속이 제한된 사용자의 접속 시도 정보, 접속이 제한된 서버로의 접속시도 정보 및 전체 통신 트래픽에서 암호화 트래픽의 비율 등이 포함될 수 있다. 또한 상기 통계 데이터는 사용자가 접속한 URL/어플리케이션 서비스 정보 또는 URL/어플리케이션 서비스 정보 그룹, 사용자 정보 또는 사용자 정보 그룹, 서버 정보 또는 서버 정보 그룹 및 시간 정보 또는 시간정보 그룹 등의 조합에 따른 분석데이터를 포함할 수 있다. 전술한 통계 데이터의 기재는 예시일 뿐이며, 본 발명의 통계 데이터는 임의의 트래픽 분석 통계 데이터를 포함할 수 있다. The traffic analysis module 140 may analyze the traffic of the communication between the user terminal and the server to generate various statistical data. The traffic analysis module 140 may analyze the traffic of the first communication session between the server and the traffic monitoring device and the traffic of the second communication session between the user terminal and the traffic monitoring device to generate statistical data. The traffic analysis module 140 may collect traffic log information based on the L3 layer with respect to the traffic of communication between the user terminal and the server to be bypassed. Also, the traffic analysis module 140 may analyze the decrypted data to collect traffic logging information. The statistical data may include at least one of identification information of a user who uses an application with limited use, identification information of a user who tries to access at a connection time limit, access attempt information of a user whose access is restricted, The ratio of the encryption traffic in the entire communication traffic, and the like. Further, the statistical data may include analysis data according to a combination of URL / application service information or URL / application service information group, user information or user information group, server information or server information group and time information or time information group accessed by the user . The description of the statistical data described above is merely an example, and the statistical data of the present invention may include arbitrary traffic analysis statistical data.

통신 세션 제어 모듈(150)은 상기 트래픽 분석 모듈(140)이 상기 사용자 단말과 서버 사이의 통신 세션에 개입하기로 결정한 경우, 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리할 수 있다. 이를 위하여 서버 및 사용자 단말과 각각 핸드쉐이킹을 수행하여 서버와 사용자 단말의 통신 세션을 제 1 통신 세션 및 제 2 통신 세션으로 분리할 수 있다. 본 발명의 일 실시 예에 따라 트래픽 분석 모듈(140)은 사용자 단말과 서버가 암호화 통신을 사용하는 경우에 사용자 단말과 서버 사이의 통신 세션에 개입하므로, 통신 세션 제어 모듈(150)은 상기 제 1 및 제 2 통신 세션을 맺은 뒤, 암호화 처리 모듈(160)로 하여금 각각의 통신 세션에서 암호화 핸드쉐이킹을 수행하도록 할 수 있다. When the traffic analysis module 140 determines to intervene in the communication session between the user terminal and the server, the communication session control module 150 transmits the communication session to the first communication session between the server and the traffic monitoring device, And a second communication session between the traffic monitoring device and the traffic monitoring device. For this purpose, the communication session between the server and the user terminal can be divided into the first communication session and the second communication session by performing handshaking with the server and the user terminal, respectively. According to an embodiment of the present invention, the traffic analysis module 140 intervenes in a communication session between the user terminal and the server when the user terminal and the server use the encrypted communication, And after establishing the second communication session, cause the encryption processing module 160 to perform the encryption handshaking in each communication session.

암호화 처리 모듈(160)은 제 1 통신 세션에서 서버와 트래픽 감시장치 사이에 암호화 핸드쉐이킹을 수행하고, 제 2 통신 세션에서 사용자 단말과 트래픽 감시장치 사이에 암호화 핸드쉐이킹을 수행한다. 상기 암호화 핸드쉐이킹은 SSL 또는 TLS암호화 통신을 사용하기 위한 암호화 핸드쉐이킹을 포함할 수 있다. 상기 암호화 처리 모듈(160)에 의해 상기 트래픽 감시 장치(100)는 서버(20)에 클라이언트로 접속하여, client hello 동작을 수행한다. 상기 client hello동작에서, 상기 암호화 처리 모듈(160)은 서버에 전송할 제 1 랜덤 데이터를 생성하고, 생성된 랜덤 데이터, 트래픽 감시 장치(100)에서 사용 가능한 암호화 방식이 제 1 통신 인터페이스(110)를 통해 서버(20)에 전송되도록 할 수 있다. 또한, 세션 ID가 존재하는 경우, 암호화 처리 모듈(160)은 상기 세션 ID가 제 1 통신 인터페이스(110)를 통해 서버(20)에 전송되도록 할 수 있다. 또한 제 1 통신 인터페이스(110)는 암호화 처리 모듈(160)이 암호화 핸드세이킹을 수행하도록 서버(20)로부터 서버 측에서 생성한 제 2 랜덤 데이터, 서버가 선택한 클라이언트의 암호화 방식 및 인증서를 수신할 수 있다. 암호화 처리 모듈(160)은 상기 서버로부터 수신된 인증서가 신뢰할 수 있는 CA에 의해 발급된 것인지 확인하고, 인증서에 포함된 서버의 공개키를 이용하여 서버와의 암호화 통신에 사용할 제 1 대칭키 생성을 위해 필요한 secret들을 공개키 암호화 방식으로 교환한다. 암호화 처리 모듈(160)은 서버(20)로부터 수신된 제 2 랜덤 데이터, 암호화 처리 모듈(160)이 생성한 제 1 랜덤 데이터 및 secret 들을 조합하여 제 1 대칭키를 생성할 수 있다. 또한, 서버(20)는 제 2 랜덤 데이터, 제 1 랜덤 데이터 및 secret 들을 조합하여 제 1 대칭키를 생성할 수 있다. 전술한 동작을 통하여, 트래픽 감시 장치(100)는 서버(20)와 암호화 핸드쉐이킹을 완료할 수 있다.The encryption processing module 160 performs the encryption handshaking between the server and the traffic monitoring device in the first communication session and the encryption handshaking between the user terminal and the traffic monitoring device in the second communication session. The encryption handshaking may include encryption handshaking to use SSL or TLS encrypted communication. The traffic monitoring apparatus 100 accesses the server 20 as a client by the encryption processing module 160 and performs a client hello operation. In the client hello operation, the encryption processing module 160 generates first random data to be transmitted to the server, and the generated random data and the encryption method usable in the traffic monitoring apparatus 100 are transmitted to the first communication interface 110 To the server 20 via the Internet. In addition, if a session ID exists, the encryption processing module 160 may cause the session ID to be transmitted to the server 20 via the first communication interface 110. The first communication interface 110 receives the second random data generated by the server 20 from the server 20 so that the encryption processing module 160 performs encryption handshaking, the encryption method and the certificate of the client selected by the server . The encryption processing module 160 checks whether the certificate received from the server is issued by a trusted CA and generates a first symmetric key for use in encrypted communication with the server using the public key of the server included in the certificate Exchange secrets with public key cryptography. The encryption processing module 160 may generate the first symmetric key by combining the second random data received from the server 20, the first random data generated by the encryption processing module 160, and secrets. In addition, the server 20 may combine the second random data, the first random data, and the secrets to generate a first symmetric key. Through the above-described operation, the traffic monitoring apparatus 100 can complete the encryption handshaking with the server 20. [

암호화 처리 모듈(160)은 제 2 통신 세션에서 사용자 단말(10)과 암호화 핸드쉐이킹을 수행할 수 있다. 이때, 제 2 통신 세션에서 암호화 처리 모듈(160)은 전술한 서버(20)에서 수행되는 동작과 같은 방식의 동작을 수행하여 사용자 단말(10)과 암호화 핸드쉐이킹을 수행할 수 있다. 이때, 상기 암호화 처리 모듈(160)은 상기 서버(20)의 인증서를 자신의 Private CA 인증서로 Re-sign하여 제 2 대칭키 생성을 위한 사용자 단말과 암호화 핸드쉐이킹을 완료할 수 있다. 본 발명의 일 실시 예에 따라 암호화 처리 모듈(160)은 임의의 암호화 핸드쉐이킹 방법을 수행할 수 있다.The encryption processing module 160 may perform the encryption handshaking with the user terminal 10 in the second communication session. At this time, the encryption processing module 160 in the second communication session can perform the encryption handshaking with the user terminal 10 by performing the same operation as the operation performed in the server 20 described above. At this time, the encryption processing module 160 can complete the encryption handshaking with the user terminal for generating the second symmetric key by re-signing the certificate of the server 20 with the private CA certificate. According to one embodiment of the present invention, the encryption processing module 160 may perform any encryption handshaking method.

암복호화 모듈(encryption/decryption module)(100)은 상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화 하거나, 사용자 단말(10) 또는 서버(20)에 전달되는 데이터를 암호화 할 수 있다. 암복호화 모듈(170)은 서버(20)로부터 사용자 단말(10) 방향으로 전달되는 암호화된 데이터를 복호화하여 트래픽 감시 장치(100) 또는 사전설정된 보안 장비(30)가 데이터에 대한 보안 제어를 수행할 수 있도록 하고, 보안상의 문제가 없는 경우 사용자 단말(10)로 데이터가 암호화되어 전달되도록 데이터를 암호화할 수 있다. 또한, 암복호화 모듈(170)은 사용자 단말(10)로부터 서버(20) 방향으로 전달되는 암호화된 데이터를 복호화하여 트래픽 감시 장치(100) 또는 사전설정된 보안 장비(30)가 데이터에 대한 보안 제어를 수행할 수 있도록 하고, 보안 상의 문제가 없는 경우 서버(20)로 데이터가 암호화되어 전달되도록 데이터를 암호화 할 수 있다. 상기 암복호화 모듈(170)은 데이터를 암호화하기 위한 암호화 서브모듈, 암호화된 데이터를 복호화하기 위한 복호화 서브모듈을 포함할 수 있으며, 암복호화 모듈(170)은 데이터의 암호화 또는 암호화된 데이터의 복호화 동작을 수 행할 수 있다. 상기 암복호화 모듈(170)은 SSL, TSL 등의 암호화 통신에 있어서 데이터의 암호화 또는 복호화를 수행할 수 있다. The encryption / decryption module 100 decrypts the first encrypted data received through the first communication session and the second encrypted data received via the second communication session, ) Or the data transmitted to the server (20). The encryption / decryption module 170 decrypts the encrypted data transmitted from the server 20 toward the user terminal 10, and the traffic monitoring device 100 or the predetermined security device 30 performs security control on the data And encrypts the data so that the data is encrypted and transmitted to the user terminal 10 when there is no security problem. The encryption / decryption module 170 decrypts the encrypted data transmitted from the user terminal 10 toward the server 20 so that the traffic monitoring apparatus 100 or the predetermined security apparatus 30 performs security control on the data And encrypts the data so that the data is encrypted and transmitted to the server 20 when there is no security problem. The encryption / decryption module 170 may include an encryption sub-module for encrypting data and a decryption sub-module for decrypting encrypted data. The encryption / decryption module 170 may encrypt data or decrypt encrypted data Can be performed. The encryption / decryption module 170 can encrypt or decrypt data in encrypted communication such as SSL and TSL.

암호화 통신은 사용자 단말과 서버가 암호화된 데이터를 송수신하여, 서버와 사용자 단말 사이에 위치하는 트래픽 감시장치(예를 들어, 보안장치)가 서버와 사용자 단말간의 통신 내용에 대해서 보안동작을 수행하지 못하는 문제점이 있었으나, 본 발명에 따른 트래픽 감시 장치(100)는 상기 암호화된 데이터를 복호화 할 수 있는 암복호화 모듈(170)을 포함하여, 암호화된 데이터의 내용을 감시할 수 있다.In encrypted communication, a user terminal and a server send and receive encrypted data, and a traffic monitoring device (for example, a security device) located between the server and the user terminal does not perform a security operation on the communication content between the server and the user terminal However, the traffic monitoring apparatus 100 according to the present invention may include an encryption / decryption module 170 capable of decrypting the encrypted data to monitor the contents of the encrypted data.

상기 암복호화 모듈(170)은 서버로부터 수신된 제 1 암호화된 데이터를 상기 제 1 대칭키를 이용하여 복호화 할 수 있다. 복호화된 데이터는 트래픽 제어 모듈(180)에 의한 보안제어가 수행될 수 있다. 또한, 상기 암복호화 모듈(170)은 서버에서 전송된 데이터를 사용자 단말에게 전송하기 전에 제 2 대칭키로 복호화된 데이터를 재 암호화 할 수 있다. 또한, 상기 암복호화 모듈(170)은 사용자 단말로부터 수신된 제 2 암호화된 데이터를 상기 제 2 대칭키를 이용하여 복호화 할 수 있다. 복호호돤 데이터는 트래픽 제어 모듈(180)에 의한 보안 제어가 수행될 수 있다. 또한 상기 암복호화 모듈(170)은 사용자 단말(10)에서 전송된 데이터를 서버(20)에게 전송하기 전에 제 1 대칭키로 복호화된 데이터를 재 암호화 할 수 있다. 암복호화 모듈(170)에서 서버 또는 사용자 단말에서 수신된 암호화된 데이터를 복호화하고, 상기 복호화된 데이터를 사용자 단말(10) 또는 서버(20)에게 전달하기 위해 재 암호화함으로써, 트래픽 감시 장치(100)는 서버(20)와 사용자 단말(10)간의 암호화 통신에 대한 보안 제어를 수행하면서도, 서버(20)와 사용자 단말(10)의 암호화 통신을 유지할 수 있다. The encryption / decryption module 170 may decrypt the first encrypted data received from the server using the first symmetric key. The decrypted data can be subjected to security control by the traffic control module 180. Also, the encryption / decryption module 170 may re-encrypt the data decrypted with the second symmetric key before transmitting the data transmitted from the server to the user terminal. Also, the encryption / decryption module 170 may decrypt the second encrypted data received from the user terminal using the second symmetric key. And the security control by the traffic control module 180 can be performed on the data that is being stored. The encryption / decryption module 170 may re-encrypt the decrypted data with the first symmetric key before transmitting the data transmitted from the user terminal 10 to the server 20. The traffic monitoring apparatus 100 decrypts the encrypted data received from the server or the user terminal in the encryption / decryption module 170 and re-encrypts the decrypted data to be transmitted to the user terminal 10 or the server 20, Can maintain the encrypted communication between the server 20 and the user terminal 10 while performing security control on the encrypted communication between the server 20 and the user terminal 10. [

암복호화 모듈(170)은 서버로부터 전송된 암호화된 데이터에 대하여 트래픽 제어 모듈(180) 또는 사전설정된 보안 장비(30)가 상기 데이터의 내용을 감시할 수 있도록 상기 암호화된 데이터를 복호화 할 수 있다. 또한, 상기 암복호화 모듈(170)은 트래픽 감시 장치(100)가 사용자 단말(10)과 암호화 통신을 수행할 수 있도록, 상기 복호화된 데이터를 재 암호화 할 수 있다. The encryption / decryption module 170 can decrypt the encrypted data transmitted from the server so that the traffic control module 180 or the predetermined security equipment 30 can monitor the contents of the data. Also, the encryption / decryption module 170 may re-encrypt the decrypted data so that the traffic monitoring apparatus 100 can perform encrypted communication with the user terminal 10.

암복호화 모듈(170)은 사용자 단말로부터 전송된 암호화된 데이터에 대하여 트래픽 제어 모듈(180) 또는 사전설정된 보안 장비(30)가 상기 데이터의 내용을 감시할 수 있도록 상기 암호화된 데이터를 복호화 할 수 있다. 또한, 상기 암복호화 모듈(170)은 트래픽 감시 장치(100)가 서버(20)와 암호화 통신을 수행할 수 있도록, 상기 복호화된 데이터를 재 암호화 할 수 있다. The encryption / decryption module 170 can decrypt the encrypted data transmitted from the user terminal so that the traffic control module 180 or the predetermined security equipment 30 can monitor the contents of the data . In addition, the encryption / decryption module 170 may re-encrypt the decrypted data so that the traffic monitoring apparatus 100 can perform encrypted communication with the server 20.

이를 통해, 트래픽 감시 장치(100)는 서버(20)와 사용자 단말(10)간의 암호화 통신에 대하여 암호화된 데이터를 복호화하여 데이터의 내용을 감시하여 보안 제어를 수행할 수 있고, 상기 서버(20)와 사용자 단말(10)간에 데이터가 전달될 때, 암호화된 데이터가 전달되도록 할 수 있다.Accordingly, the traffic monitoring apparatus 100 can decrypt the encrypted data with respect to the encrypted communication between the server 20 and the user terminal 10, monitor the contents of the data to perform security control, And the user terminal 10, the encrypted data can be transmitted.

트래픽 제어 모듈(180)은 복호화된 데이터에 대하여 보안 제어를 수행할 수 있다. 상기 보안 제어는 서버(20)와 사용자 단말(10)사이의 트래픽의 차단, QoS 조정, 또는 사전설정된 보안 장비로 복호화된 데이터를 포워딩 하는 것을 포함할 수 있으나, 이에 제한되지 않는다. The traffic control module 180 may perform security control on the decrypted data. The security control may include, but is not limited to, blocking traffic between the server 20 and the user terminal 10, adjusting the QoS, or forwarding the decrypted data to the predetermined security equipment.

트래픽 제어 모듈(180)은 사용자 단말과 서버의 통신을 URL을 기준으로 하여 차단할 수 있다. 트래픽 제어 모듈(180)은 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터의 사용자 요청 URL이 사전설정된 URL인지 여부를 판단하거나, 또는 제 2 암호화된 데이터를 복호화환 제 2 복호화 데이터의 사용자 요청 URL이 사전설정된 URL인지 여부를 판단할 수 있다. 상기 사전설정된 URL은 사용자 단말의 접속이 제한될 수 있는 URL(예를 들어, 음란사이트, 도박 사이트 등)일 수 있다. 트래픽 제어 모듈(180)은 상기 사용자 요청 URL이 사전설정된 URL인 경우, 서버(20)와 트래픽 감시 장치(100)사이의 제 1 통신 세션 및 트래픽 감시 장치(100)와 사용자 단말(10)사이의 제 2 통신 세션 중 적어도 하나가 종료되도록 할 수 있다. 이를 위하여, 트래픽 제어 모듈(180)은 서버 및 사용자 단말 중 적어도 하나에게 통신 세션을 종료하도록 하는 메시지가 제 1 통신 인터페이스(110) 또는 제 2 통신 인터페이스(120)를 통해 전송되도록 할 수 있다. 또한, 트래픽 제어 모듈(180)은 사용자 요청 URL이 사전설정된 URL이 아닌 경우, 제 1 복호화 데이터를 제 암호화하여 사용자 단말에게 전달할 것을 결정하거나, 제 2 복호화 데이터를 재 암호화하여 서버에게 전달할 것을 결정할 수 있다. 트래픽 제어 모듈(180)은 사용자 단말에서 요청하는 URL이 접속이 차단된 URL인 경우 사용자 단말과 서버의 통신을 차단할 수 있으며, 서버에서 전송되는 데이터의 URL(사용자가 요청한 URL)이 접속이 차단된 URL인 경우 사용자 단말과 서버의 통신을 차단할 수 있다. 트래픽 제어 모듈(180)은 이를 통하여 암호화 통신 환경에서도 사용자 단말(10)이 접속이 차단된 URL에 접속하고자 하는 경우, 사용자 단말의 상기 URL접속을 차단할 수 있다. 또한, 트래픽 제어 모듈(180)은 사용자 단말(10)이 접속이 차단되지 않은 URL에 접속하고자 하는 경우에는 사용자 단말이 해당URL에 접속하도록 할 수 있다. The traffic control module 180 may block the communication between the user terminal and the server based on the URL. The traffic control module 180 determines whether the user request URL of the first decrypted data decrypted with the first encrypted data is a preset URL or decides whether the second encrypted data is a user request URL of the decrypted second decryption data It can be determined whether or not the URL is a preset URL. The predetermined URL may be a URL (for example, an obscene site, a gambling site, or the like) where connection of a user terminal can be restricted. The traffic control module 180 determines whether or not the first communication session between the server 20 and the traffic monitoring apparatus 100 and the first communication session between the traffic monitoring apparatus 100 and the user terminal 10, At least one of the second communication session may be terminated. For this, the traffic control module 180 may cause at least one of the server and the user terminal to transmit a message through the first communication interface 110 or the second communication interface 120 to terminate the communication session. If the URL requested by the user is not a predetermined URL, the traffic control module 180 may decide to encrypt the first decrypted data and deliver it to the user terminal, or decrypt the second decrypted data and deliver it to the server have. The traffic control module 180 may block the communication between the user terminal and the server when the URL requested by the user terminal is a blocked URL, and the URL of the data transmitted from the server (the URL requested by the user) If it is a URL, communication between the user terminal and the server can be blocked. The traffic control module 180 can block the URL connection of the user terminal when the user terminal 10 intends to access the URL whose connection is blocked even in the encrypted communication environment. Also, the traffic control module 180 may allow the user terminal to access the URL when the user terminal 10 intends to access the URL that is not blocked.

트래픽 제어 모듈(180)은 사용자 단말과 서버의 통신을 어플리케이션을 기준으로하여 차단할 수 있다. 트래픽 제어 모듈(180)은 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인지 여부를 판단할 수 있다. 상기 사전설정된 어플리케이션은 접속 또는 이용이 차단되거나, 제한되는 어플리케이션(예를 들어, 보안상 위협이 될 수 있거나, 대역폭을 과다 점유할 수 있는 P2P 어플리케이션, 웹하드 어플리케이션 등)을 포함할 수 있다. 트래픽 제어 모듈(180)은 사전에 어플리케이션의 이름과 어플리케이션의 트래픽에 관련된 정보를 매핑하여 메모리(190)에 저장하고, 사용자 단말과 서버 사이의 트래픽을 분석하여, 상기 어플리케이션의 트래픽에 관련된 정보와 매칭되는 경우, 사용자 단말과 서버 사이의 트래픽이 사전설정된 어플리케이션에 관련된 트래픽인 것으로 판단할 수 있다. 트래픽 제어 모듈(180)은 어플리케이션의 이름과 어플리케이션의 프로토콜 또는 페이로드의 시그니처를 매핑하여 매핑 테이블에 저장할 수 있다. 트래픽 제어 모듈(180)은 제 1 복호화 데이터 또는 제 2 복호화 데이터의 프로토콜 또는 페이로드의 시그니처를 분석하여 매핑 테이블에 저장된 프로토콜 또는 페이로드의 시그니처와 일치하는지 여부를 판단할 수 있다. 트래픽 제어 모듈(180)은 일치하는 경우, 제 1 복호화 데이터 또는 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인 것으로 판단할 수 있다. 트래픽 제어 모듈(180)은 제 1 복호화 데이터 또는 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인 경우, 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 QoS를 변경(예를 들어, 대역폭 제한, 통신 속도 제한, 응답 시간 지연 등)하거나, 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 통신 세션이 종료되도록 하거나, 사용자 단말 및 서버 중 적어도 하나에게 트래픽 차단 메시지를 전송할 것을 결정할 수 있다. 트래픽 제어 모듈(180)은 제 1 복호화 데이터 및 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터가 아닌 경우, 제 1 통신 세션 및 제 2 통신 세션을 유지할 것을 결정하여, 사용자 단말(10)과 서버(20)가 계속 통신할 수 있도록 할 수 있다. 트래픽 제어 모듈(180)은 이를 통하여 암호화 통신 환경에서도 사용자 단말(10)이 접속이 제한된 어플리케이션에 접속하고자 하는 경우, 사용자 단말의 어플리케이션 접속을 차단할 수 있다. 또한, 트래픽 제어 모듈(180)은 사용자 단말(10)이 접속이 허가된 어플리케이션(즉, 사전 설정된 어플리케이션이 아닌 어플리케이션)에 접속하고자 하는 경우 사용자 단말이 해당 어플리케이션에 접속하도록 할 수 있다. The traffic control module 180 may block the communication between the user terminal and the server based on the application. The traffic control module 180 may determine whether the first decrypted data obtained by decoding the first encrypted data or the second decrypted data obtained by decoding the second encrypted data is related to the preset application. The predefined applications may include applications that are blocked or restricted from accessing (e.g., P2P applications, WebHard applications, etc., which may be a security threat or may occupy excessive bandwidth). The traffic control module 180 maps the name of the application and the information related to the traffic of the application in advance and stores the information in the memory 190. The traffic control module 180 analyzes the traffic between the user terminal and the server, , It can be determined that the traffic between the user terminal and the server is traffic related to the predetermined application. The traffic control module 180 may map the name of the application and the protocol of the application or the signature of the payload and store the mapping in the mapping table. The traffic control module 180 may analyze the signature of the protocol or the payload of the first decoded data or the second decoded data to determine whether the signature matches the signature of the protocol or the payload stored in the mapping table. The traffic control module 180 can determine that the first decoded data or the second decoded data is data related to the predetermined application. The traffic control module 180 may change the QoS of at least one of the first communication session and the second communication session if the first decoded data or the second decoded data is data associated with a predetermined application (e.g., Communication speed limit, response time delay, etc.), or at least one of the first communication session and the second communication session is terminated, or to transmit a traffic interception message to at least one of the user terminal and the server. The traffic control module 180 determines to maintain the first communication session and the second communication session when the first decoded data and the second decoded data are not related to the predetermined application, 20 can continue to communicate. The traffic control module 180 can block the application connection of the user terminal when the user terminal 10 intends to access the application whose connection is restricted even in the encrypted communication environment. In addition, the traffic control module 180 may allow the user terminal to access the application when the user terminal 10 intends to access the application permitted to access (i.e., an application that is not a predetermined application).

트래픽 제어 모듈(180)은 사용자 단말과 서버의 통신을 사용자 정보, 서버 정보 및/또는 시간 정보를 기준으로하여 차단하거나, 차단 해제할 수 있다. 또한, 트래픽 제어 모듈(180)은 전술한 URL 및 어플리케이션 기준의 트래픽 제어를 사용자 정보, 서버 정보 및/또는 시간 정보를 기준으로 하여 적용할 수 있다. 트래픽 제어 모듈(180)은 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터가 사전설정된 사용자 정보, 사전설정된 서버 정보, 사전설정된 사용자 그룹 정보 및 사전설정된 시간 정보에 관련된 데이터인지 여부를 판단할 수 있다. 사전설정된 사용자 정보, 사용자 그룹 정보는 네트워크 접속이 차단된 사용자 정보(예를 들어, 회사의 임직원들만 사내 wifi에 접속할 수 있도록 외부인원의 접속을 차단하는 경우 등)를 포함할 수 있다. 사용자 정보는 상기 사용자 단말의 MAC 주소, IP주소 등의 사용자 단말 식별 정보와 매핑되어 사전저장될 수 있으며, 트래픽 제어 모듈(180)은 획득된 사용자 단말의 식별 정보와 사전저장된 매핑 테이블을 참조하여 사용자 정보를 판단할 수 있다. 사전설정된 서버 정보는 콘텐츠를 제공하는 서버의 IP주소 등의 서버 식별 정보를 포함할 수 있다. 사전설정된 시간 정보는 네트워크 접속이 차단된 시간 정보(예를 들어, 근무시간인 9시부터 6시까지는 사내 wifi의 접속을 차단하는 경우 등)를 포함할 수 있다. 트래픽 제어 모듈(180)은 상기 판단 결과에 기초하여 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 QoS를 변경하거나, 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 통신 세션이 종료되도록 하거나, 서버 및 사용자 단말 중 적어도 하나에게 트래픽 차단 메시지를 전송할 것을 결정할 수 있다. 또한, 트래픽 제어 모듈(180)은 상기 사용자 정보에 대한 판단 결과와 URL, 어플리케이션에 대한 판단 결과에 기초하여, 통신 세션을 제어하는 동작을 수행할 수도 있다. 트래픽 제어 모듈(180)은 이를 통하여 암호화 통신 환경에서도 접속이 제한된 사용자가 접속을 시도하거나, 접속 제한 시간에 접속을 시도하는 경우, 사용자 단말의 접속을 차단할 수 있다. The traffic control module 180 may block or unblock the communication between the user terminal and the server based on user information, server information, and / or time information. In addition, the traffic control module 180 may apply the URL and application-based traffic control described above based on user information, server information, and / or time information. The traffic control module 180 receives the first decrypted data obtained by decrypting the first encrypted data or the second decrypted data decrypted by the second decrypted data by using preset user information, preset server information, It can be determined whether or not the data is related to the set time information. The preset user information and user group information may include user information whose network connection has been blocked (for example, when only the employees of the company are disconnected from outside personnel so as to be able to access an in-house wifi). The user information may be mapped to user terminal identification information such as a MAC address and an IP address of the user terminal and may be pre-stored. The traffic control module 180 refers to the acquired user terminal identification information and a pre- Information can be judged. The preset server information may include server identification information such as the IP address of the server providing the content. The preset time information may include time information about the time when the network connection is blocked (for example, when the in-house wifi is disconnected from 9 o'clock to 6 o'clock, which is a working time). The traffic control module 180 changes the QoS of at least one of the first communication session and the second communication session based on the determination result, or at least one of the first communication session and the second communication session is ended , And may decide to send a traffic interception message to at least one of the server and the user terminal. Also, the traffic control module 180 may perform an operation of controlling the communication session based on the determination result of the user information, the URL, and the determination result of the application. The traffic control module 180 can block the connection of the user terminal when a user whose connection is limited even in an encrypted communication environment tries to connect or attempts to connect at the connection time limit.

트래픽 제어 모듈(180)은 사전설정된 보안 장비(30)가 보안 동작을 수행할 수 있도록 사용자 단말과 서버 사이의 통신의 데이터를 사전설정된 보안장비로 포워딩 할 수 있고, 사전설정된 보안 장비(30)의 보안 동작에 기초하여 사용자 단말과 서버 사이의 통신에 보안 제어를 수행할 수 있다. 상기 사전설정된 보안 장비(30)는 상기 트래픽 감시 장치(100)와 분리된 보안 장비(예를 들어, 비암호화 통신을 감시하기 위한 보안 장비 등)를 포함할 수 있다. 트래픽 제어 모듈(180)은 사전설정된 보안 장비(30)가 사용자 단말과 서버 사이의 통신의 데이터에 보안 동작을 수행하도록 하기 위하여, 제 1 복호화 데이터 및 제 2 복호화 데이터 중 적어도 하나를 사전설정된 보안 장비(30)에 포워딩(forwarding)할 수 있다. 상기 포워딩은 제 1 통신 인터페이스(110), 제 2 통신 인터페이스(120) 또는 다른 통신 인터페이스를 통해 사전설정된 보안 장비(30)로 복호화된 데이터를 전달하는 것을 포함할 수 있다. 암호화 통신 하에서 기존의 보안 장비는 무력화 될 수 있으나, 본원 발명의 트래픽 감시 장치(100)는 암호화 통신을 복호화하여, 보안 장비에 통신 내용을 포워딩 함으로써, 기존의 보안 장비가 암호화 통신 환경에서도 보안 동작을 수행할 수 있도록 할 수 있다. 트래픽 제어 모듈(180)은 사전설정된 보안 장비(30)로부터 보안 차단 신호를 수신하는 경우, 서버와 트래픽 감시 장치 사이의 제 1 통신 세션 및 트래픽 감시 장치와 사용자 단말 사이의 제 2 통신 세션 중 적어도 하나를 차단할 것을 결정할 수 있다. The traffic control module 180 can forward the data of the communication between the user terminal and the server to the predetermined security device so that the preset security device 30 can perform the security operation, Security control can be performed on the communication between the user terminal and the server based on the security operation. The predetermined security equipment 30 may include security equipment separate from the traffic monitoring device 100 (for example, security equipment for monitoring non-encrypted communication, etc.). The traffic control module 180 may transmit at least one of the first decoded data and the second decoded data to the predetermined security device 30 in order to allow the predetermined security device 30 to perform the security operation on the data of the communication between the user terminal and the server (30). ≪ / RTI > The forwarding may include delivering the decrypted data to the predefined security equipment 30 via the first communication interface 110, the second communication interface 120, or another communication interface. However, the traffic monitoring apparatus 100 of the present invention decrypts the encrypted communication and forwards the communication contents to the security apparatus, so that the existing security apparatus can perform the security operation even in the encrypted communication environment To be performed. When receiving the blocking signal from the predetermined security device 30, the traffic control module 180 detects a first communication session between the server and the traffic monitoring device, and a second communication session between the traffic monitoring device and the user terminal Or the like.

메모리(190)는 본원 발명의 각 모듈이 동작하기 위한 명령들을 저장할 수 있다. 상기 메모리에 저장된 명령들은 프로세서에 의하여 실행될 수 있다. 본 발명의 각 모듈들은 프로세서의 일부 또는 프로그램의 명령들의 집합으로 구성될 수 있다. 상기 메모리(190)는 트래픽 감시 장치(100)가 사용자 단말(10)과 서버 사이의 통신 세션에 개입 여부를 결정하는 기준들(예를 들어, 사전 설정된 IP주소, 포트 정보 정보, 호스트 정보 등), 사전설정된 URL 관련 정보, 사전설정된 어플리케이션 관련 정보(예를 들어, 어플리케이션의 이름과 어플리케이션 데이터 관련 정보의 매핑 정보 등), 사전설정된 사용자 정보(사용자 단말의 식별 정보와 매핑된 사용자 정보), 사전설정된 사용자 그룹 정보, 사전설정된 시간 정보 등을 저장할 수 있으며, 전술한 기재는 예시일 뿐이며 본 발명은 이에 제한되지 않는다. The memory 190 may store instructions for operation of each module of the present invention. The instructions stored in the memory may be executed by the processor. Each module of the invention may be comprised of a portion of a processor or a set of instructions of a program. The memory 190 stores the criteria (e.g., preset IP address, port information, host information, etc.) that determine whether the traffic monitoring apparatus 100 intervenes in a communication session between the user terminal 10 and the server, , Pre-set URL related information, pre-set application related information (e.g., application name and application data related information mapping information), preset user information (user information mapped with identification information of the user terminal) User group information, preset time information, and the like, and the above description is only an example, and the present invention is not limited thereto.

메모리(190)는 플래시 메모리 타입(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 memory 190 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory), a RAM (Random Access Memory), SRAM (Static Random Access Memory), ROM (Read Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM A disk, and / or an optical disk. The above description is only illustrative, and the present invention is not limited thereto.

본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 암호화 통신에서 암호화 데이터를 복호화 하여 보안 감시를 수행함으로써 암호화 통신 환경에서도 트래픽의 보안 감시가 가능하며, 트래픽에 대한 감시가 필요한 경우에만 사용자 단말과 서버 사이의 통신 세션에 개입하여 보안 감시 수행에 의한 성능 저하를 최소화 할 수 있다. 또한, 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 필요시만 개입하여 성능 저하를 최소화 할 수 있으므로, 모니터링 범위를 확대할 수 있어, 포트 호핑등의 보안장비 회피 시도를 차단하고 트래픽의 감시가 가능하다. 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 URL기준, 어플리케이션 기준, 사용자 정보 기준 또는 시간 정보 기준으로 보안 동작을 수행하여, 다양한 보안 정책에 대응될 수 있다. The traffic monitoring apparatus 100 according to an exemplary embodiment of the present invention decrypts encrypted data in encrypted communication to perform security surveillance so that security monitoring of traffic can be performed even in an encrypted communication environment. And interfere with the communication session between the server and the server, thereby minimizing the performance degradation due to security monitoring. In addition, since the performance of the traffic monitoring apparatus 100 according to an embodiment of the present invention can be minimized by minimizing performance degradation when necessary, it is possible to increase the monitoring range, thereby preventing attempts to avoid security equipment such as port hopping, Can be monitored. The traffic monitoring apparatus 100 according to an exemplary embodiment of the present invention performs a security operation based on a URL reference, an application reference, a user information reference, or a time information reference, and may correspond to various security policies.

도 2 는 본 발명의 일 실시 예에 따라 트래픽 감시 시스템을 나타낸 개략도이다. 2 is a schematic diagram illustrating a traffic surveillance system in accordance with an embodiment of the present invention.

본 발명의 일 실시 예에 따른 트래픽 감시 시스템은 사용자 단말(client)(10), 서버(20), 트래픽 감시 장치(100)를 포함할 수 있다. 또한, 대안적으로 사전설정된 보안 장비(30)를 포함할 수도 있다. The traffic monitoring system according to an embodiment of the present invention may include a user terminal 10, a server 20, and a traffic monitoring apparatus 100. Alternatively, it may alternatively comprise a predefined security device 30.

본 발명의 일 실시 예에 따른 암호화 트래픽을 감시하는 트래픽 감시 장치(100)는 사용자 단말(10)과 서버(20)의 통신경로상에 위치하는 보안장비, 방화벽, 중계장비 등을 포함할 수 있다. 상기 트래픽 감시 장치(100)는 기관, 회사 등의 내부망의 관문단에 설치될 수 있다. 사전설정된 보안 장비(30)는 사용자 단말과 서버의 통신을 감시할 수 있는 보안장, 방화벽, 중계장비 등을 포함할 수 있으며, 트래픽 감시 장치(100)와 별개로 구성될 수 있다. The traffic monitoring apparatus 100 for monitoring cryptographic traffic according to an exemplary embodiment of the present invention may include a security device, a firewall, a relay device, and the like located on a communication path between the user terminal 10 and the server 20 . The traffic monitoring apparatus 100 may be installed in a branch office of an internal network of an organization, a company, or the like. The preset security device 30 may include a security device, a firewall, a relay device, and the like that can monitor communication between the user terminal and the server, and may be configured separately from the traffic monitoring device 100.

사용자 단말(10)은, PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc)등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다.The user terminal 10 may include a personal computer (PC), a note book, a mobile terminal, a smart phone, a tablet PC, And may include any type of terminal capable of being connected to the Internet.

서버(20)와 사용자 단말(10)은 직접 통신 세션(210)을 맺으며, 트래픽 감시 장치(100)는 필요시 서버와 사용자 단말의 통신 세션(210)에 개입하여, 서버와 사용자 단말의 통신 세션을 서버와 트래픽 감시 장치와의 제 1 통신 세션(230), 트래픽 감시 장치와 사용자 단말과의 제 2 통신 세션(220)으로 분리하여, 서버와 사용자 단말 사이의 통신을 감시할 수 있다. 서버와 사용자 단말이 비 암호화 통신을 수행하는 경우에는 트래픽 감시 장치(100)는 서버와 사용자 단말의 통신 세션(210)에 개입하지 않으나, 서버와 사용자 단말이 암호화 통신을 수행하는 경우에는 트래픽 감시 장치(100)는 서버와 사용자 단말의 통신 세션(210)에 개입할 수 있다. The server 20 and the user terminal 10 establish a direct communication session 210 and the traffic monitoring apparatus 100 intervenes in the communication session 210 between the server and the user terminal when necessary, The communication between the server and the user terminal can be monitored by separating the session into a first communication session 230 between the server and the traffic monitoring device and a second communication session 220 between the traffic monitoring device and the user terminal. When the server and the user terminal perform non-encrypted communication, the traffic monitoring apparatus 100 does not intervene in the communication session 210 between the server and the user terminal. However, when the server and the user terminal perform the encrypted communication, (100) may intervene in the communication session (210) of the server and the user terminal.

트래픽 감시 장치(100)의 세션 정보 관리 모듈(130)은 필요시 사용자 단말과 서버 사이의 통신 세션(210)에 개입하기 위하여, 사용자 단말과 서버 사이의 통신 세션(210)의 통신 세션 정보를 획득하여 관리할 수 있다. 통신 세션 정보는 사용자 단말의 IP정보, 사용자 단말의 포트 정보, 서버의 IP정보, 서버의 포트 정보, 서버와 사용자 단말의 프로토콜 정보, 호스트 정보, 사용자 단말의 가입자 정보, 사용자 단말의 식별정보, 서버의 식별정보등을 포함할 수 있다.The session information management module 130 of the traffic monitoring device 100 may obtain communication session information of the communication session 210 between the user terminal and the server in order to intervene in the communication session 210 between the user terminal and the server, . The communication session information includes IP information of the user terminal, port information of the user terminal, IP information of the server, port information of the server, protocol information of the server and the user terminal, host information, subscriber information of the user terminal, And the like.

트래픽 감시 장치(100)의 트래픽 분석 모듈(140)은 사용자 단말과 서버 사이의 통신 세션(210)을 모니터링하여, 필요시 사용자 단말과 서버 사이의 통신 세션(210)에 개입 여부를 결정할 수 있다. 트래픽 분석 모듈(140)은 상기 사용자 단말(10)과 서버(20)가 암호화 통신을 수행하여 암호화된 데이터를 송수신하는 경우, 상기 사용자 단말(10)과 서버(20)의 통신 세션에 개입할 것을 결정할 수 있다. 데이터의 보안을 위한 암호화 통신에서 암호화된 데이터는 기존의 감시장비들이 데이터의 내용을 확인할 수 없어 기존의 감시장비들을 무력화 시키는 문제점이 있으며, 이를 위해서는 암호화 통신을 감시할 수 있는 감시 장치가 요구된다. 그러나, 암호화 통신을 감시할 수 있는 감시 장치가 사용자 단말과 서버 사이의 전체 통신에 관여하는 경우에는 통신 성능의 저하가 문제될 수 있다. 따라서, 본 발명의 일 실시 예에 따라 트래픽 감시 장치(100)는 사용자 단말과 서버 사이의 통신 세션(210)이 비암호화 통신을 수행하는 경우에는 사용자 단말과 서버가 직접 통신하도록 하나, 암호화 통신을 수행하는 경우에는 사용자 단말과 서버 사이의 통신 세션에 개입하여, 통신 성능의 저하를 최소하 하면서도, 트래픽에 대한 보안 감시를 제공할 수 있다. 트래픽 감시 장치(100)의 트래픽 분석 모듈(140)은 상기 사용자 단말(10)의 서버 접속 요청 또는 서버의 응답에 포함된 IP주소 정보, 포트 번호 정보(port number information), 호스트 정보, 헤더, 및 페이로드의 적어도 일부 중 적어도 하나에 기초하여 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정할 수 있다. 예를 들어, 상기 사용자 단말과 서버가 암호화 통신을 위한 포트(예컨데 443포트)를 통해 통신함을 감지하거나, 상기 사용자 단말이 SSL암호화 방식을 사용하는 서버와 핸드쉐이킹을 시도 하는 것을 프로토콜(헤더) 분석을 통해 감지하는 경우, 트래픽 분석 모듈(140)은 상기 사용자 단말과 서버 사이의 통신 세션에 개입할 것을 결정할 수 있다. 전술한 정보는 예시이며, 트래픽 분석 모듈(140)은 사용자 단말과 서버가 암호화 통신을 수행하는지 여부를 판단할 수 있는 임의의 정보에 기초하여 상기 통신 세션에 개입할 것을 결정할 수 있다. The traffic analysis module 140 of the traffic monitoring device 100 may monitor the communication session 210 between the user terminal and the server to determine whether to intervene in the communication session 210 between the user terminal and the server as needed. The traffic analysis module 140 may intervene in the communication session between the user terminal 10 and the server 20 when the user terminal 10 and the server 20 perform encrypted communication to transmit and receive the encrypted data You can decide. Encrypted data for security of data has a problem in that existing monitoring devices can not confirm the contents of the data, which disables existing monitoring devices. To do so, a monitoring device capable of monitoring encrypted communication is required. However, when the monitoring apparatus capable of monitoring the encrypted communication participates in the entire communication between the user terminal and the server, the degradation of the communication performance may be a problem. Therefore, according to an embodiment of the present invention, when the communication session 210 between the user terminal and the server performs non-encrypted communication, the traffic monitoring apparatus 100 allows the user terminal and the server to communicate directly, It is possible to intervene in a communication session between the user terminal and the server to provide security surveillance for the traffic while minimizing degradation in communication performance. The traffic analysis module 140 of the traffic monitoring apparatus 100 analyzes the IP address information, the port number information, the host information, the header, and the IP address information included in the server access request or the server response of the user terminal 10 And determine whether to intervene in a communication session between the user terminal and the server based on at least one of at least a portion of the payload. For example, if the user terminal detects that the user terminal and the server are communicating through a port (for example, port 443) for encrypted communication, or if the user terminal attempts to perform handshaking with a server using the SSL encryption scheme, Upon analysis, the traffic analysis module 140 may determine to intervene in a communication session between the user terminal and the server. The foregoing information is exemplary and the traffic analysis module 140 may decide to intervene in the communication session based on any information that can determine whether the user terminal and the server perform encrypted communications.

트래픽 감시 장치(100)의 통신 세션 제어 모듈(150)은 트래픽 분석 모듈(140)이 사용자 단말과 서버 사이의 통신 세션(210)에 개입하기로 결정한 경우, 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션(230) 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션(220)으로 분리할 수 있다. 이후 서버 및 사용자 단말과 각각 핸드쉐이킹을 수행하여 서버와 사용자 단말의 통신 세션을 제 1 통신 세션(230) 및 제 2 통신 세션(220)으로 분리할 수 있다. The communication session control module 150 of the traffic monitoring apparatus 100 may determine that the traffic analysis module 140 has determined to intervene in the communication session 210 between the user terminal and the server, A first communication session 230 of the user terminal and a second communication session 220 between the user terminal and the traffic monitoring device. And then perform handshaking with the server and the user terminal to separate the communication session of the server and the user terminal into the first communication session 230 and the second communication session 220, respectively.

트래픽 감시 장치(100)의 암호화 처리 모듈(160)은 제 1 통신 세션(230)에서 서버와 트래픽 감시 장치사이에 암호화 한드쉐이킹을 수행하고, 제 2 통신 세션(220)에서 사용자 단말과 트래픽 감시 장치 사이에 암호화 핸드쉐이킹을 수행할 수 있다. 상기 암호화 핸드쉐이킹은 SSL 또는 TLS암호화 통신을 사용하기 위한 암호화 핸드쉐이킹을 포함할 수 있다. 구체적인 암호화 핸드쉐이킹에 관해서는 전술한 바와 같다. The encryption processing module 160 of the traffic monitoring apparatus 100 performs encryption and hashaking between the server and the traffic monitoring apparatus in the first communication session 230 and performs encryption and hashing between the user terminal and the traffic monitoring apparatus in the second communication session 220. [ Lt; RTI ID = 0.0 > handshaking < / RTI > The encryption handshaking may include encryption handshaking to use SSL or TLS encrypted communication. Concrete encryption handshaking is as described above.

트래픽 감시 장치(100)의 암복호화 모듈(170)은 수신된 암호화 데이터에 대하여, 트래픽 제어 모듈(180) 또는 사전설정된 보안 장비(30)가 상기 데이터의 내용을 감시할 수 있도록, 암호화된 데이터를 복호화 할 수 있다. 트래픽 감시 장치(100)의 암복호화 모듈(170)은 제 1 통신 세션(230)을 통해 수신된 제 1 암호화된 데이터 및 제 2 통신 세션(220)을 통해 수신된 제 2 암호화된 데이터를 복호화 하거나, 사용자 단말(10) 또는 서버(20)에 전달되는 데이터를 암호화 할 수 있다. 데이터의 보안을 위한 암호화 통신에서 암호화된 데이터의 내용을 감시하기 위해서는 암호화된 데이터를 복호화할 필요가 있으며, 트래픽 감시 장치(100)의 암복호화 모듈(170)은 이러한 암호화된 데이터를 복호화 할 수 있다. 또한, 트래픽 감시 장치(100)의 암복호화 모듈(170)은 데이터의 보안을 위하여 암호화 통신이 계속되도록 내용에 대한 확인이 완료된 복호화된 데이터가 다시 암호화되어 데이터의 목적지인 서버(20) 또는 사용자 단말(10)에게 전달 되도록, 복호화된 데이터를 재 암호화 할 수 있다. The encryption / decryption module 170 of the traffic monitoring apparatus 100 encrypts the encrypted data so that the traffic control module 180 or the predetermined security equipment 30 can monitor the contents of the data It can be decoded. The encryption and decryption module 170 of the traffic monitoring device 100 decrypts the first encrypted data received via the first communication session 230 and the second encrypted data received via the second communication session 220 The user terminal 10, or the server 20. In this case, In order to monitor the contents of the encrypted data in the encrypted communication for data security, it is necessary to decrypt the encrypted data, and the encryption / decryption module 170 of the traffic monitoring apparatus 100 can decrypt the encrypted data . Also, the encryption / decryption module 170 of the traffic monitoring apparatus 100 encrypts the decrypted data whose contents have been confirmed so that the encrypted communication is continued to secure the data, so that the server 20, The decrypted data may be re-encrypted so that the decrypted data is delivered to the mobile terminal 10.

트래픽 감시 장치의 트래픽 제어 모듈(180)은 사용자 단말(10)과 서버(20)의 통신을 URL을 기준으로 차단하거나, 어플리케이션을 기준으로 차단 또는 QoS를 조정할 수 있다. 또한, 트래픽 감시 장치의 트래픽 제어 모듈(180)은 사용자 단말(10)과 서버(20) 사이의 통신을 사용자 정보, 사용자 그룹 정보, 서버정보, 서버 그룹 정보 또는 시간 정보 등을 기준으로 차단하거나, QoS를 조정할 수 있다. 또한, 트래픽 감시 장치의 트래픽 제어 모듈(180)은 전술한 기준들 중 복수의 기준들의 조합에 기초하여 트래픽 제어를 수행할 수 있다. 또한 트래픽 감시 장치의 트래픽 제어 모듈(180)은 사용자 단말(10)과 서버(20)사이의 통신을 사전설정된 보안 장비(30)가 감시할 수 있도록, 복호화된 데이터를 사전설정된 보안 장비(30)로 포워딩 할 것을 결정할 수 있고, 사전설정된 보안 장비(30)로부터 보안 차단 신호를 수신하여, 사용자 단말과 서버 사이의 통신을 차단하거나, QoS를 조정할 수 있다. The traffic control module 180 of the traffic monitoring apparatus can block the communication between the user terminal 10 and the server 20 on the basis of the URL or block or adjust the QoS based on the application. The traffic control module 180 of the traffic monitoring apparatus may block communication between the user terminal 10 and the server 20 based on user information, user group information, server information, server group information, or time information, QoS can be adjusted. In addition, the traffic control module 180 of the traffic monitoring device may perform traffic control based on a combination of a plurality of criteria among the above-described criteria. The traffic control module 180 of the traffic monitoring apparatus may transmit the decrypted data to the predetermined security equipment 30 so that the predetermined security equipment 30 can monitor communication between the user terminal 10 and the server 20. [ And can block the communication between the user terminal and the server or adjust the QoS by receiving the security shutdown signal from the preset security device 30. [

트래픽 감시 장치(100)의 트래픽 제어 모듈(180)은 복호화된 데이터의 내용을 검사하여, 사용자 단말이 접속이 제한된 URL에 접속하고자 하는지 여부, 사용이 제한된 어플리케이션을 사용하고자 하는지 여부를 판단할 수 있다. 또한, 트래픽 제어 모듈(180)은 복호화된 데이터의 내용을 검사하여, 접속을 시도한 사용자 단말이 접속이 허가된 사용자 단말인지 여부, 사용자 단말이 접속을 시도한 시간이 사용이 허가된 시간인지 여부를 판단할 수 있다. 이를 판단하기 위하여 트래픽 제어 모듈(180)은 사용자 단말로부터 수신된 데이터 또는 서버로부터 수신된 데이터로부터 사용자 요청 URL(사용자 단말이 접속하고자 하는 URL)을 획득하여, 상기 사용자 요청 URL 이 차단될 것으로 설정된 사전설정된 URL과 일치하는지 여부를 판단할 수 있다. 또한, 트래픽 제어 모듈(180)은 사전저장된 차단되어야 할 어플리케이션의 이름과 상기 어플리케이션의 정보(프로토콜 또는 페이로드의 시그니처 등)의 매핑 테이블과 사용자 단말 또는 서버로부터 수신된 데이터를 비교하여, 사용자 단말이 사용이 제한된 어플리케이션에 접속하고자 하는지 여부를 판단할 수 있다. 트래픽 제어 모듈(180)은 사용자 단말로부터 수신된 데이터에서 사용자 단말의 식별 정보를 획득하고, 사전저장된 매핑 테이블을 참조하여 사용자 정보를 판단하여, 접속이 허가되지 않은 사용자 단말이 접속을 시도하는지 여부를 판단할 수 있다. The traffic control module 180 of the traffic monitoring apparatus 100 may check the contents of the decrypted data to determine whether the user terminal desires to access a URL with limited access or whether to use an application with limited use . In addition, the traffic control module 180 checks the contents of the decrypted data to determine whether the user terminal attempting to connect is a user terminal permitted to access, or whether the time when the user terminal attempts to access is permitted can do. In order to determine this, the traffic control module 180 obtains a user request URL (a URL that the user terminal desires to access) from the data received from the user terminal or the data received from the server, It can be determined whether or not the URL matches the set URL. Also, the traffic control module 180 compares the mapping table between the name of the application to be blocked and the information of the application (signature of the protocol or the payload) and the data received from the user terminal or the server, It is possible to judge whether or not the user wants to access the restricted application. The traffic control module 180 obtains the identification information of the user terminal from the data received from the user terminal, judges the user information by referring to the pre-stored mapping table, and determines whether or not the user terminal whose connection is not permitted tries to connect It can be judged.

트래픽 제어 모듈(180)의 판단 결과 사용자 단말(10)과 서버(20) 사이의 통신이 차단되어야 할 경우, 트래픽 제어 모듈(180)은 제 1 통신 세션(230) 및 제 2 통신 세션(220) 중 적어도 하나가 종료되도록 할 수 있고, 이를 위해 트래픽 제어 모듈(180)은 서버 및 사용자 단말 중 적어도 하나에게 통신 세션을 종료하도록 하는 메시지가 제 1 통신 인터페이스(110) 또는 제 2 통신 인터페이스(120)를 통해 전송되도록 할 수 있다.The traffic control module 180 determines whether the communication between the user terminal 10 and the server 20 should be blocked as a result of the traffic control module 180. In this case, The traffic control module 180 may send a message to the first communication interface 110 or the second communication interface 120 to terminate the communication session to at least one of the server and the user terminal. As shown in FIG.

본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 암호화 통신에서 암호화 데이터를 복호화 하여 보안 감시를 수행함으로써 암호화 통신 환경에서도 트래픽의 보안 감시가 가능하며, 트래픽에 대한 감시가 필요한 경우에만 사용자 단말과 서버 사이의 통신 세션에 개입하여 보안 감시 수행에 의한 성능 저하를 최소화 할 수 있다. 또한, 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 필요시만 개입하여 성능 저하를 최소화 할 수 있으므로, 모니터링 범위를 확대할 수 있어, 포트 호핑등의 보안장비 회피 시도를 차단하고 트래픽의 감시가 가능하다. 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 URL기준, 어플리케이션 기준, 사용자 정보 기준 또는 시간 정보 기준으로 보안 동작을 수행하여, 다양한 보안 정책에 대응될 수 있다. The traffic monitoring apparatus 100 according to an exemplary embodiment of the present invention decrypts encrypted data in encrypted communication to perform security surveillance so that security monitoring of traffic can be performed even in an encrypted communication environment. And interfere with the communication session between the server and the server, thereby minimizing the performance degradation due to security monitoring. In addition, since the performance of the traffic monitoring apparatus 100 according to an embodiment of the present invention can be minimized by minimizing performance degradation when necessary, it is possible to increase the monitoring range, thereby preventing attempts to avoid security equipment such as port hopping, Can be monitored. The traffic monitoring apparatus 100 according to an exemplary embodiment of the present invention performs a security operation based on a URL reference, an application reference, a user information reference, or a time information reference, and may correspond to various security policies.

도 3 은 본 발명의 일 실시 예에 따라 암호화 트래픽을 감시하는 암호화 트래픽 감시방법의 순서도이다. 3 is a flowchart of a method for monitoring cryptographic traffic monitoring cryptographic traffic according to an embodiment of the present invention.

암호화 트래픽을 감시하는 암호화 트래픽의 감시방법은 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)에서 수행될 수 있다. The method for monitoring encrypted traffic for monitoring encrypted traffic can be performed in the traffic monitoring apparatus 100 according to an embodiment of the present invention.

본 발명의 일 실시 예에 따른 암호화 트래픽을 감시하는 트래픽 감시 장치(100)는 사용자 단말(10)과 서버(20)의 통신경로상에 위치하는 보안장비, 방화벽, 중계장비 등을 포함할 수 있다.The traffic monitoring apparatus 100 for monitoring cryptographic traffic according to an exemplary embodiment of the present invention may include a security device, a firewall, a relay device, and the like located on a communication path between the user terminal 10 and the server 20 .

사용자 단말(10)은 서버(20)와 통신을 위하여 통신 세션을 맺을 수 있다. The user terminal 10 may establish a communication session with the server 20 for communication.

트래픽 감시 장치(100)의 세션 정보 관리 모듈(130)은 사용자 단말과 서버 사이의 통신 세션의 정보를 획득할 수 있다(310). 상기 통신 세션 정보는 소스 IP 정보, 소스 포트 정보, 목적지 IP정보, 목적지 포트 정보, 프로토콜 정보 사용자 단말의 IP정보, 사용자 단말의 포트 정보, 서버의 IP정보, 서버의 포트 정보, 서버와 사용자 단말의 프로토콜 정보, 사용자 단말의 가입자 정보, 사용자 단말의 식별정보, 서버의 식별정보 등을 포함할 수 있다. The session information management module 130 of the traffic monitoring apparatus 100 may acquire information of a communication session between the user terminal and the server (310). The communication session information includes source IP information, source port information, destination IP information, destination port information, protocol information IP information of a user terminal, port information of a user terminal, IP information of a server, port information of a server, Protocol information, subscriber information of the user terminal, identification information of the user terminal, identification information of the server, and the like.

트래픽 감시 장치(100)의 트래픽 분석 모듈(140)은 사용자 단말(10)과 서버(20)사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정할 수 있다(320). 상기 트래픽 분석 모듈(140)은 상기 사용자 단말(10)과 서버(20)가 암호화 통신을 수행하여 암호화된 데이터를 송수신하는 경우, 상기 사용자 단말(10)과 서버(20)의 통신 세션에 개입할 것을 결정할 수 있다. 상기 트래픽 분석 모듈(140)은 상기 사용자 단말(10)의 서버 접속 요청 또는 서버의 응답에 포함된 IP주소 정보, 포트 번호 정보(port number information), 호스트 정보 및 프로토콜 정보 중 적어도 하나에 기초하여 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정할 수 있다. 예를 들어, 상기 사용자 단말과 서버가 암호화 통신을 위한 포트(예컨데 443포트)를 통해 통신함을 감지하거나, 상기 사용자 단말이 SSL암호화 방식을 사용하는 서버와 핸드쉐이킹을 시도하는 것을 프로토콜(헤더)분석을 통해 감지하는 경우, 트래픽 분석 모듈(140)은 상기 사용자 단말과 서버 사이의 통신 세션에 개입할 것을 결정할 수 있다. 전술한 정보는 예시이며, 트래픽 분석 모듈(140)은 사용자 단말과 서버가 암호화 통신을 수행하는지 여부를 판단할 수 있는 임의의 정보에 기초하여 상기 통신 세션에 개입할 것을 결정할 수 있다. 트래픽 분석 모듈(140)은 사용자 단말과 서버 사이의 통신 세션에서 암호화 트래픽이 감지되지 않는 경우에는 상기 사용자 단말과 서버 사이의 통신 세션에 개입하지 않고, 사용자 단말로부터 수신된 데이터가 서버로 바이패스 되도록 하거나, 서버로부터 수신된 데이터가 사용자 단말로 바이패스 되도록 할 수 있다. The traffic analysis module 140 of the traffic monitoring apparatus 100 may monitor a communication session between the user terminal 10 and the server 20 to determine whether to intervene in the communication session between the user terminal and the server 320 ). The traffic analysis module 140 intervenes in the communication session between the user terminal 10 and the server 20 when the user terminal 10 and the server 20 perform encrypted communication to transmit and receive the encrypted data Can be determined. Based on at least one of IP address information, port number information, host information, and protocol information included in a server connection request or a server response of the user terminal 10, It can decide whether or not to intervene in a communication session between the user terminal and the server. For example, if the user terminal detects that the user terminal and the server are communicating through a port (for example, port 443) for encrypted communication, or if the user terminal attempts to perform handshaking with a server using the SSL encryption scheme, Upon analysis, the traffic analysis module 140 may determine to intervene in a communication session between the user terminal and the server. The foregoing information is exemplary and the traffic analysis module 140 may decide to intervene in the communication session based on any information that can determine whether the user terminal and the server perform encrypted communications. The traffic analysis module 140 does not intervene in the communication session between the user terminal and the server but the data received from the user terminal is bypassed to the server when the encrypted traffic is not detected in the communication session between the user terminal and the server Or data received from the server may be bypassed to the user terminal.

트래픽 감시 장치(100)의 통신 세션 제어 모듈(150)은 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 상기 통신 세션을 서버와 트래픽 감시 장치 사이의 제 1 통신 세션(230) 및 사용자 단말과 트래픽 감시 장치 사이의 제 2 통신 세션(220)으로 분리할 수 있다(330). 이를 위하여 통신 세션 제어 모듈(150) 서버 및 사용자 단말과 각각 핸드쉐이킹을 수행하여 서버와 사용자 단말의 통신 세션을 제 1 통신 세션 및 제 2 통신 세션으로 분리할 수 있다. When the communication session control module 150 of the traffic monitoring apparatus 100 intervenes in the communication session between the user terminal and the server, the communication session is controlled by the first communication session 230 between the server and the traffic monitoring apparatus, And a second communication session 220 between the traffic monitoring devices (330). For this purpose, the communication session control module 150 may perform handshaking with the server and the user terminal, respectively, to separate the communication session between the server and the user terminal into the first communication session and the second communication session.

트래픽 감시 장치(100)의 암호화 처리 모듈(160)은 제 1 통신 세션(230)에서 서버와 암호화 핸드쉐이킹을 수행하고, 제 2 통신 세션(220)에서 사용자 단말과 암호화 핸드쉐이킹을 수행할 수 있다(340). 이때, 암호화 처리 모듈(160)은 서버의 인증서를 통해 서버와 암호화 핸드쉐이킹을 수행할 수 있고, 서버의 인증서를 자신의 Private CA 인증서로 Re-sign하여 사용자 단말과 암호화 핸드쉐이킹을 수행할 수 있다. The encryption processing module 160 of the traffic monitoring device 100 may perform the encryption handshaking with the server in the first communication session 230 and the encryption handshaking with the user terminal in the second communication session 220 (340). At this time, the encryption processing module 160 can perform encryption handshaking with the server through the certificate of the server, re-sign the server certificate with the private CA certificate, and perform encryption handshaking with the user terminal .

트래픽 감시 장치(100)의 암복호화 모듈(170)은 제 1 통신 세션(230)을 통해 수신된 제 1 암호화된 데이터 및 제 2 통신 세션(220)을 통해 수신된 제 2 암호화된 데이터를 복호화할 수 있다(350). 트래픽에 대한 보안 제어를 수행하기 위해서는 상기 트래픽의 내용을 보아야 하므로, 암복호화 모듈(170)은 암호화된 데이터를 복호화하여 트래픽 제어 모듈(180)이 보안제어를 수행할 수 있도록 할 수 있다. The encryption and decryption module 170 of the traffic monitoring device 100 decrypts the first encrypted data received through the first communication session 230 and the second encrypted data received via the second communication session 220 (350). In order to perform security control on traffic, the contents of the traffic should be viewed. Therefore, the encryption / decryption module 170 may decrypt the encrypted data to allow the traffic control module 180 to perform security control.

트래픽 제어 모듈(180)은 복호화된 데이터에 대하여 보안 제어를 수행할 수 있다(360). 트래픽 제어 모듈(180)은 복호화된 데이터를 통해, URL, 어플리케이션, 사용자 정보 및 시간 정보 중 적어도 하나를 기준으로 하여, 사용자 단말과 서버 사이의 통신에 대한 보안 제어를 수행할 수 있다. 상기 보안 제어는 통신의 차단, QoS조정 등을 포함할 수 있으나, 본 발명은 이에 제한되지 않는다. 트래픽 제어 모듈(180)은 사용자 요청 URL이 사전설정된 URL인지 여부, 사용자 단말이 접속하고자 하는 어플리케이션이 사전설정된 어플리케이션인지 여부, 사용자 정보가 사전설정된 사용자 정보에 해당하는지 여부 또는 접속 시간 등 데이터의 시간에 관련한 정보가 사전설정된 시간 정보에 해당하는지 여부에 기초하여, 서버와 사용자 단말의 통신을 차단하거나, QoS를 조정할 것을 결정할 수 있다. The traffic control module 180 may perform security control on the decrypted data (360). The traffic control module 180 can perform security control for communication between the user terminal and the server based on at least one of URL, application, user information, and time information through the decrypted data. The security control may include blocking of communication, QoS adjustment, and the like, but the present invention is not limited thereto. The traffic control module 180 determines whether or not the user request URL is a predetermined URL, whether the application to be accessed by the user terminal is a preset application, whether the user information corresponds to preset user information, Based on whether or not the related information corresponds to the preset time information, it is possible to decide to block the communication between the server and the user terminal or to adjust the QoS.

또한, 트래픽 제어 모듈(180)은 사전설정된 보안장비(예를 들어, 외부 보안 장비 등)이 복호화된 데이터에 대한 보안 동작을 수행할 수 있도록, 복호화된 데이터를 사전설정된 보안장비에 포워딩 할 것을 결정할 수도 있다. 사전설정된 보안 장비(30)는 복호화된 데이터의 내용을 검사하고, 트래픽 감시 장치(100)에게 보안 차단 신호를 송신하여, 사용자 단말과 서버 사이의 통신에 대한 보안 제어를 수행하도록 할 수 있다.The traffic control module 180 also determines to forward the decrypted data to the predetermined security device so that the predetermined security device (e.g., external security device, etc.) can perform the security operation on the decrypted data It is possible. The predetermined security device 30 may check the contents of the decrypted data and send a security shutdown signal to the traffic monitoring device 100 to perform security control for communication between the user terminal and the server.

본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 암호화 통신에서 암호화 데이터를 복호화 하여 보안 감시를 수행함으로써 암호화 통신 환경에서도 트래픽의 보안 감시가 가능하며, 트래픽에 대한 감시가 필요한 경우에만 사용자 단말과 서버 사이의 통신 세션에 개입하여 보안 감시 수행에 의한 성능 저하를 최소화 할 수 있다. 또한, 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 필요시만 개입하여 성능 저하를 최소화 할 수 있으므로, 모니터링 범위를 확대할 수 있어, 포트 호핑등의 보안장비 회피 시도를 차단하고 트래픽의 감시가 가능하다. 본 발명의 일 실시 예에 따른 트래픽 감시 장치(100)는 URL기준, 어플리케이션 기준, 사용자 정보 기준 또는 시간 정보 기준으로 보안 동작을 수행하여, 다양한 보안 정책에 대응될 수 있다. The traffic monitoring apparatus 100 according to an exemplary embodiment of the present invention decrypts encrypted data in encrypted communication to perform security surveillance so that security monitoring of traffic can be performed even in an encrypted communication environment. And interfere with the communication session between the server and the server, thereby minimizing the performance degradation due to security monitoring. In addition, since the performance of the traffic monitoring apparatus 100 according to an embodiment of the present invention can be minimized by minimizing performance degradation when necessary, it is possible to increase the monitoring range, thereby preventing attempts to avoid security equipment such as port hopping, Can be monitored. The traffic monitoring apparatus 100 according to an exemplary embodiment of the present invention performs a security operation based on a URL reference, an application reference, a user information reference, or a time information reference, and may correspond to various security policies.

본 발명의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.Those of ordinary skill in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced in the above description may include voltages, currents, electromagnetic waves, magnetic fields or particles, Particles or particles, or any combination thereof.

본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be embodied directly in electronic hardware, (Which may be referred to herein as "software") or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the design constraints imposed on the particular application and the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" includes a computer program, carrier, or media accessible from any computer-readable device. For example, the computer-readable medium can be a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic strip, etc.), an optical disk (e.g., CD, DVD, etc.), a smart card, But are not limited to, devices (e. G., EEPROM, cards, sticks, key drives, etc.). The various storage media presented herein also include one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" includes, but is not limited to, a wireless channel and various other media capable of storing, holding, and / or transferring instruction (s) and / or data.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It will be appreciated that the particular order or hierarchy of steps in the presented processes is an example of exemplary approaches. It will be appreciated that, based on design priorities, certain orders or hierarchies of steps in processes may be rearranged within the scope of the present invention. The appended method claims provide elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features presented herein.

Claims (12)

트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법으로서,
세션 정보 관리 모듈에서 수행되는 사용자 단말과 서버 사이의 통신 세션 정보를 획득하는 단계;
트래픽 분석 모듈에서 수행되는 사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 단계;
상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 통신 세션 제어 모듈이 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하는 단계;
암호화 처리 모듈이 상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하는 단계;
상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하는 단계; 및
트래픽 제어 모듈이 복호화된 데이터에 대하여 보안 제어를 수행하는 단계;
를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
A method for monitoring an encrypted traffic performed by a traffic monitoring device,
Acquiring communication session information between a user terminal and a server performed in a session information management module;
Monitoring a communication session between the user terminal and the server performed in the traffic analysis module and determining whether to intervene in a communication session between the user terminal and the server;
Wherein the communication session control module separates the communication session into a first communication session between the server and the traffic monitoring device and a second communication session between the user terminal and the traffic monitoring device when intervening in the communication session between the user terminal and the server step;
Performing an encryption handshaking with the server in the first communication session and an encryption handshaking with the user terminal in the second communication session;
Decrypting the first encrypted data received via the first communication session and the second encrypted data received via the second communication session; And
The traffic control module performing security control on the decrypted data;
/ RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
상기 암호화된 데이터는 SSL(secure sockets layer) 암호화 데이터 및 TLS(transport layer security) 암호화 데이터 중 적어도 하나를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
Wherein the encrypted data comprises at least one of secure sockets layer (SSL) encrypted data and transport layer security (TLS) encrypted data.
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 단계는,
사용자 단말의 서버 접속 요청 또는 서버의 응답에 포함된 IP주소 정보, 포트 번호 정보(port number information), 호스트 정보, 프로토콜 헤더, 및 페이로드의 적어도 일부 중 적어도 하나에 기초하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
Wherein determining whether to intervene in a communication session between the user terminal and the server comprises:
Based on at least one of the IP address information, the port number information, the host information, the protocol header, and the payload included in the server connection request or the server response of the user terminal, Lt; RTI ID = 0.0 > a < / RTI > communication session,
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
트래픽 제어 모듈이 보안 제어를 수행하는 단계는,
제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터의 사용자 요청 URL이 사전설정된 URL 인지 여부를 판단하거나, 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터의 사용자 요청 URL이 사전설정된 URL 인지 여부를 판단하는 단계;
상기 사용자 요청 URL이 사전설정된 URL인 경우, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나가 종료되도록하는 단계; 및
상기 사용자 요청 URL이 사전설정된 URL이 아닌 경우, 상기 제 1 복호화 데이터를 재 암호화 하여 사용자 단말에게 전달하거나, 상기 제 2 복호화 데이터를 재 암호화 하여 상기 서버에 전달하는 단계;
를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
The step of the traffic control module performing the security control includes:
It is determined whether the user request URL of the first decrypted data decrypted with the first encrypted data is a preset URL or whether the user requested URL of the second decrypted data decrypted with the second encrypted data is a preset URL ;
Causing at least one of the first communication session and the second communication session to end if the user requested URL is a preset URL; And
Encrypting the first decrypted data and transmitting it to the user terminal if the user requested URL is not a predetermined URL, or re-encrypting the second decrypted data and transmitting the decrypted data to the server;
/ RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
트래픽 제어 모듈이 보안 제어를 수행하는 단계는,
제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인지 여부를 판단하는 단계;
상기 제 1 복호화 데이터 또는 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인 경우, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 QoS를 변경하거나, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나를 종료하거나, 또는 사용자 단말 및 서버 중 적어도 하나에게 트래픽 차단 메시지를 전송하는 단계; 및
상기 제 1 복호화 데이터 및 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터가 아닌 경우, 상기 제 1 통신 세션 및 상기 제 2 통신 세션을 유지할 것을 결정하는 단계;
를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
The step of the traffic control module performing the security control includes:
Determining whether the first decrypted data decrypting the first encrypted data or the second decrypted data decrypted the second encrypted data is data related to a predetermined application;
Change the QoS of at least one of the first communication session and the second communication session when the first decoded data or the second decoded data is data related to a predetermined application or change the QoS of at least one of the first communication session and the second communication session, Terminating at least one of the user terminal and the server, or transmitting a traffic blocking message to at least one of the user terminal and the server; And
Determining to maintain the first communication session and the second communication session when the first decrypted data and the second decrypted data are not data related to a predetermined application;
/ RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 5 항에 있어서,
상기 제 1 복호화 데이터 또는 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터인지 여부를 판단하는 단계는,
상기 어플리케이션의 이름과 상기 어플리케이션의 프로토콜 또는 페이로드의 시그니처를 매핑하여 매핑 테이블에 저장하는 단계;
상기 제 1 복호화 데이터 또는 제 2 복호화 데이터의 프로토콜 또는 페이로드의 시그니처를 분석하여 매핑 테이블에 저장된 프로토콜 또는 페이로드의 시그니처와 일치하는지 여부를 판단하는 단계; 및
일치하는 경우, 상기 제 1 복호화 데이터 또는 상기 제 2 복호화 데이터가 사전설정된 어플리케이션에 관련된 데이터로 판단하는 단계;
를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
6. The method of claim 5,
Wherein the step of determining whether the first decoded data or the second decoded data is data related to a predetermined application comprises:
Mapping a name of the application and a protocol of the application or a signature of a payload and storing the mapping in a mapping table;
Analyzing the protocol of the first decoded data or the second decoded data or the signature of the payload and determining whether the signature matches the signature of the protocol or the payload stored in the mapping table; And
Determining that the first decoded data or the second decoded data is data related to a predetermined application;
/ RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
트래픽 제어 모듈이 보안 제어를 수행하는 단계는,
제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 또는 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터가 사전설정된 사용자 정보, 사전설정된 사용자 그룹 정보, 사전 설정된 서버정보, 사전 설정된 서버 그룹 정보 및 사전설정된 시간 정보 중 적어도 하나에 관련된 데이터인지 여부를 판단하는 단계; 및
상기 판단 결과에 기초하여, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나의 QoS를 변경하거나, 상기 제 1 통신 세션 및 제 2 통신 세션 중 적어도 하나를 종료하거나, 또는 서버 및 사용자 단말 중 적어도 하나에게 트래픽 차단 메시지를 전송하는 단계;
를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
The step of the traffic control module performing the security control includes:
The first decrypted data obtained by decrypting the first encrypted data or the second decrypted data obtained by decrypting the second encrypted data may be pre-set user information, preset user group information, preset server information, preset server group information, Determining whether the data is related to at least one of the time information; And
Change at least one of the first communication session and the second communication session based on the determination result, or terminate at least one of the first communication session and the second communication session, or at least one of the server and the user terminal Transmitting a traffic blocking message to one;
/ RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
트래픽 제어 모듈이 보안 제어를 수행하는 단계는,
트래픽 제어 모듈이 사전설정된 보안장비가 제 1 암호화된 데이터를 복호화한 제 1 복호화 데이터 및 제 2 암호화된 데이터를 복호화한 제 2 복호화 데이터 중 적어도 하나에 대한 보안 동작을 수행하도록 하기 위하여 상기 제 1 복호화 데이터 및 상기 제 2 복호화 데이터 중 적어도 하나를 상기 사전설정된 보안장비에 포워딩(forwarding)하는 단계;
를 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
The step of the traffic control module performing the security control includes:
The traffic control module may perform a security operation on at least one of the first decrypted data decrypting the first encrypted data and the second decrypted data decrypting the second decrypted data, Forwarding at least one of the data and the second decryption data to the predetermined security equipment;
/ RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 8 항에 있어서,
상기 사전설정된 보안장비로부터 보안 차단 신호를 수신하는 경우, 상기 제 1 통신 세션 및 상기 제 2 통신세션 중 적어도 하나를 차단하는 단계;
를 더 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
9. The method of claim 8,
Blocking at least one of the first communication session and the second communication session when receiving a security shutdown signal from the predetermined security device;
≪ / RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
제 1 항에 있어서,
상기 복호화된 데이터를 분석하여, 상기 제 1 및 제 2 통신 세션의 트래픽 분석을 수행하는 단계;
를 더 포함하는,
트래픽 감시장치에서 수행되는 암호화 트래픽 감시방법.
The method according to claim 1,
Analyzing the decrypted data to perform traffic analysis of the first and second communication sessions;
≪ / RTI >
A method for monitoring encrypted traffic performed by a traffic monitoring device.
암호화 트래픽을 감시하는 트래픽 감시장치로서,
사용자 단말과 서버 사이의 통신 세션 정보를 획득하는 세션 정보 관리 모듈;
사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하는 트래픽 분석 모듈;
상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하는 통신 세션 제어 모듈;
상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하는 암호화 처리 모듈;
상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하는 암복호화 모듈; 및
복호화된 데이터에 대하여 보안 제어를 수행하는 트래픽 제어 모듈;
을 포함하는,
암호화 트래픽을 감시하는 트래픽 감시장치.
A traffic monitoring apparatus for monitoring encrypted traffic,
A session information management module for acquiring communication session information between the user terminal and the server;
A traffic analysis module for monitoring a communication session between the user terminal and the server and determining whether to intervene in a communication session between the user terminal and the server;
A communication session control module for separating the communication session into a first communication session between the server and the traffic monitoring device and a second communication session between the user terminal and the traffic monitoring device when intervening in the communication session between the user terminal and the server;
An encryption processing module that performs encryption handshaking with the server in the first communication session and performs encryption handshaking with the user terminal in the second communication session;
An encryption decryption module for decrypting the first encrypted data received through the first communication session and the second encrypted data received through the second communication session; And
A traffic control module for performing security control on the decrypted data;
/ RTI >
A traffic monitoring device that monitors encrypted traffic.
하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
세션 정보 관리 모듈에서 사용자 단말과 서버 사이의 통신 세션 정보를 획득하도록 하기 위한 명령;
트래픽 분석 모듈에서 사용자 단말과 서버 사이의 통신 세션을 모니터링하여, 상기 사용자 단말과 서버 사이의 통신 세션에 개입 여부를 결정하도록 하기 위한 명령;
상기 사용자 단말과 서버 사이의 통신 세션에 개입하는 경우, 통신 세션 제어 모듈이 상기 통신 세션을 서버와 트래픽 감시장치 사이의 제 1 통신 세션 및 사용자 단말과 트래픽 감시장치 사이의 제 2 통신 세션으로 분리하도록 하기 위한 명령;
암호화 처리 모듈이 상기 제 1 통신 세션에서 서버와 암호화 핸드쉐이킹을 수행하고, 상기 제 2 통신 세션에서 사용자 단말과 암호화 핸드쉐이킹을 수행하도록 하기 위한 명령;
상기 제 1 통신 세션을 통해 수신된 제 1 암호화된 데이터 및 상기 제 2 통신 세션을 통해 수신된 제 2 암호화된 데이터를 복호화하기 위한 명령; 및
트래픽 제어 모듈이 복호화된 데이터에 대하여 보안 제어를 수행하도록 하기 위한 명령;
를 포함하는,
컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램.
21. A computer program stored in a computer-readable medium comprising a plurality of instructions executed by one or more processors,
The computer program comprising:
Instructions for causing the session information management module to obtain communication session information between the user terminal and the server;
Monitoring a communication session between the user terminal and the server in the traffic analysis module to determine whether to intervene in a communication session between the user terminal and the server;
Wherein the communication session control module separates the communication session into a first communication session between the server and the traffic monitoring device and a second communication session between the user terminal and the traffic monitoring device when intervening in a communication session between the user terminal and the server ≪ / RTI >
Instructions for an encryption processing module to perform encryption handshaking with the server in the first communication session and to perform encryption handshaking with the user terminal in the second communication session;
Instructions for decrypting the first encrypted data received over the first communication session and the second encrypted data received over the second communication session; And
Instructions for causing the traffic control module to perform security control on the decrypted data;
/ RTI >
A computer program stored on a computer-readable medium.
KR1020160030106A 2016-03-14 2016-03-14 Method and apprapatus for watching encrypted traffic Active KR101847636B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160030106A KR101847636B1 (en) 2016-03-14 2016-03-14 Method and apprapatus for watching encrypted traffic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160030106A KR101847636B1 (en) 2016-03-14 2016-03-14 Method and apprapatus for watching encrypted traffic

Publications (2)

Publication Number Publication Date
KR20170106694A true KR20170106694A (en) 2017-09-22
KR101847636B1 KR101847636B1 (en) 2018-04-10

Family

ID=60035038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160030106A Active KR101847636B1 (en) 2016-03-14 2016-03-14 Method and apprapatus for watching encrypted traffic

Country Status (1)

Country Link
KR (1) KR101847636B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200123536A (en) * 2019-04-22 2020-10-30 주식회사 엑스게이트 Commnunication packet processing method and ssl visibility apparatus processing commnunication packet
KR20210045545A (en) * 2019-10-16 2021-04-27 (주)소만사 System and method forwarding for end point traffic
CN114265744A (en) * 2021-12-20 2022-04-01 奇安信科技集团股份有限公司 Monitoring method and device, storage medium and terminal for enterprise digital assets
KR102723057B1 (en) * 2024-02-08 2024-10-29 (주)시큐에버 System and server for maintaining communication

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102300369B1 (en) * 2019-11-11 2021-09-08 한전케이디엔주식회사 Distributive automation system and method for communicating securely using the thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700892B2 (en) * 2010-03-19 2014-04-15 F5 Networks, Inc. Proxy SSL authentication in split SSL for client-side proxy agent resources with content insertion
KR101275709B1 (en) * 2011-12-22 2013-07-30 (주)소만사 Packet processing system for network based data loss prevention capable of distributed processing depending on application protocol and method thereof

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200123536A (en) * 2019-04-22 2020-10-30 주식회사 엑스게이트 Commnunication packet processing method and ssl visibility apparatus processing commnunication packet
KR20210045545A (en) * 2019-10-16 2021-04-27 (주)소만사 System and method forwarding for end point traffic
CN114265744A (en) * 2021-12-20 2022-04-01 奇安信科技集团股份有限公司 Monitoring method and device, storage medium and terminal for enterprise digital assets
KR102723057B1 (en) * 2024-02-08 2024-10-29 (주)시큐에버 System and server for maintaining communication

Also Published As

Publication number Publication date
KR101847636B1 (en) 2018-04-10

Similar Documents

Publication Publication Date Title
CN110996318B (en) A security communication access system for intelligent inspection robots in substations
US10742611B2 (en) Method, a system and computer program products for securely enabling in-network functionality over encrypted data sessions
US9749292B2 (en) Selectively performing man in the middle decryption
US10091170B2 (en) Method and apparatus for distributing encryption and decryption processes between network devices
US9219709B2 (en) Multi-wrapped virtual private network
EP2769509B1 (en) System and method for redirected firewall discovery in a network environment
US9602498B2 (en) Inline inspection of security protocols
US20130332724A1 (en) User-Space Enabled Virtual Private Network
US9210128B2 (en) Filtering of applications for access to an enterprise network
US9444807B2 (en) Secure non-geospatially derived device presence information
US20180375644A1 (en) Introducing middleboxes into secure communications between a client and a server
KR101847636B1 (en) Method and apprapatus for watching encrypted traffic
CN111726366A (en) Device communication method, device, system, medium and electronic device
US20160182471A1 (en) Network security broker
Touil et al. Secure and guarantee QoS in a video sequence: a new approach based on TLS protocol to secure data and RTP to ensure real-time exchanges
US20150249639A1 (en) Method and devices for registering a client to a server
KR101979157B1 (en) Non-address network equipment and communication security system using it
US10277562B1 (en) Controlling encrypted traffic flows using out-of-path analysis devices
CN105591748A (en) Authentication method and device
CN105812338A (en) Data access management and control method and network management equipment
US20080059788A1 (en) Secure electronic communications pathway
KR20170060596A (en) Communication security method and system using a non-address network equipment
CN108809888B (en) Safety network construction method and system based on safety module
JP2005065004A (en) ENCRYPTED COMMUNICATION DATA INSPECTION METHOD, ENCRYPTED COMMUNICATION DATA INSPECTION DEVICE, AND ENCRYPTED COMMUNICATION DATA INSPECTION PROGRAM
CN110995564B (en) Message transmission method, device and secure network system

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160314

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: 20170703

Patent event code: PE09021S01D

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20170713

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20180119

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180404

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180404

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20210319

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20220404

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20230322

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20240320

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20250312

Start annual number: 8

End annual number: 8