KR101881278B1 - Method for selective inspection of the packet communications using the Secure Sockets Layer - Google Patents

Method for selective inspection of the packet communications using the Secure Sockets Layer Download PDF

Info

Publication number
KR101881278B1
KR101881278B1 KR1020160114579A KR20160114579A KR101881278B1 KR 101881278 B1 KR101881278 B1 KR 101881278B1 KR 1020160114579 A KR1020160114579 A KR 1020160114579A KR 20160114579 A KR20160114579 A KR 20160114579A KR 101881278 B1 KR101881278 B1 KR 101881278B1
Authority
KR
South Korea
Prior art keywords
packet
client terminal
security
decrypted
transmitted
Prior art date
Application number
KR1020160114579A
Other languages
Korean (ko)
Other versions
KR20180027235A (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 KR1020160114579A priority Critical patent/KR101881278B1/en
Publication of KR20180027235A publication Critical patent/KR20180027235A/en
Application granted granted Critical
Publication of KR101881278B1 publication Critical patent/KR101881278B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Abstract

본 발명은 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사할 수 있도록 하는 보안 중계 장치에 관한 것으로,
본 발명의 보안 중계 장치는 클라이언트 단말로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하면, 상기 웹 사이트의 인증서를 이용해서 상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺고, 상기 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺고, 상기 클라이언트 단말로부터 상기 웹 사이트로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하고, 상기 복호화된 패킷에 검사할 데이터가 존재하는지 확인하고, 확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하면, 상기 복호화된 패킷을 보안 장치로 전달하고, 상기 복호화된 패킷을 상기 보안 중계 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신한다.
The present invention relates to a security relay apparatus capable of selectively inspecting packets using secure socket layer communication,
When the security relay device detects a connection from a client terminal to a web site using secure socket layer communication, the secure relay device transmits a secure socket layer (SSL) between the security relay device and the web site using the certificate of the web site Layer session, establishes a secure socket layer session between the client terminal and the security relay device using a private certificate generated using the certificate of the website, and receives a packet transmitted from the client terminal to the web site Decrypts the packet using the session key of the client terminal, checks whether there is data to be checked in the decrypted packet, and if there is data to be checked in the decrypted packet, And transmits the decrypted packet to the security relay Encrypts it using the session key of the device, and transmits it to the website.

Figure R1020160114579
Figure R1020160114579

Description

보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법{Method for selective inspection of the packet communications using the Secure Sockets Layer}FIELD OF THE INVENTION [0001] The present invention relates to a method for selectively inspecting packets using secure socket layer communication,

이하의 일 실시 예들은 데이터 유출을 방지하기 위한 기술에 관한 것으로, 보안 소켓 계층 통신에서도 패킷에 포함된 데이터를 검사하는 방법에 관한 것이다.The following embodiments relate to a technique for preventing data leakage, and also relates to a method for inspecting data included in a packet even in secure socket layer communication.

기업과 같은 조직에서 많은 정보가 인터넷을 통해서 외부로 유출되고 있다,In organizations like businesses, a lot of information is being leaked to the outside world through the Internet,

데이터 유출을 방지하기 위해서 기업은 기업 내의 단말기에서 송신되는 패킷을 검사하여 유출되면 안 되는 정보가 존재하는 여부를 확인하여 승인 받고, 승인된 패킷을 인터넷을 통해 외부 서버로 송신할 수 있도록 하고 있다.In order to prevent data leakage, an enterprise inspects a packet transmitted from a terminal in an enterprise, confirms whether information that should not be leaked exists, and is approved and transmits an approved packet to an external server via the Internet.

하지만, 단말기가 접속하려는 웹 사이트가 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 경우, 패킷의 내용이 암호화 되어 전송되기 때문에 데이터 유출을 여부를 확인할 수 없는 문제를 가지고 있다.However, when a Web site to which a terminal accesses uses Secure Sockets Layer (SSL) communication, the contents of the packet are encrypted and transmitted, so that it is impossible to confirm whether data is leaked or not.

이를 해결하기 위해서 기존에는 기업은 SSL 통신을 이용하는 외부 사이트와의 통신을 차단하는 방법으로 보안을 유지하였다.In order to solve this problem, the company has maintained security by blocking communication with external sites using SSL communication.

하지만, SSL 통신을 이용하는 외부 사이트를 차단하는 것은 기업의 직원들의 업무 효율을 저해할 수 있으므로, 단순히 차단하는 것이 아닌 SSL 통신을 이용해서 송신되는 패킷도 검사할 수 있는 방법이 요구된다.However, blocking an external site using SSL communication may hinder the efficiency of the employees of the company, and therefore, there is a need for a method that can check packets transmitted using SSL communication instead of simply blocking.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method for selectively inspecting a packet using secure socket layer communication.

구체적으로, 본 발명은 클라이언트 단말과 웹 사이트의 서버 사이에서 SSL 통신을 중계하는 보안 중계 장치에 관한 것으로, 클라이언트 단말을 대신해서 보안 장치에서 클라이언트 단말이 접속하고자 하는 웹 사이트에 접속하고, 클라이언트 단말이 접속하고자 하는 웹 사이트의 인증서를 이용해서 웹 사이트에 대응하는 사설 인증서를 생성하고, 생성한 사설 인증서를 클라이언트 단말로 제공하여 클라이언트 단말과 웹 사이트의 서버 사이에서 송수신 되는 패킷을 복호화하고 암호화하여 패킷을 검사할 수 있는 방법을 제공하는 것을 목적으로 한다.More specifically, the present invention relates to a security relay apparatus for relaying SSL communication between a client terminal and a server of a web site, wherein a security apparatus connects to a web site to which the client terminal intends to access on behalf of the client terminal, Generates a private certificate corresponding to the web site using the certificate of the web site to be accessed and provides the generated private certificate to the client terminal to decrypt and encrypt the packet transmitted and received between the client terminal and the web site server, It is intended to provide a method of inspection.

또한, 본 발명은 클라이언트 단말과 웹 사이트의 서버 사이에서 송수신 되는 패킷을 복호화하고, 검사할 데이터를 포함하는 경우에만 복호화된 패킷을 보안 장치로 전송함으로써, 선택적으로 검사가 수행될 수 있는 방법을 제공하는 것을 목적으로 한다.In addition, the present invention provides a method by which a packet transmitted and received between a client terminal and a web site server is decrypted and the decrypted packet is transmitted to the security device only when the packet includes data to be checked, .

상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 보안 중계 장치에서 네트워크 장비에 연결된 클라이언트 단말로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하는 단계; 상기 웹 사이트의 인증서를 이용해서 상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는 단계; 상기 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계; 상기 클라이언트 단말로부터 상기 웹 사이트로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하는 단계; 상기 복호화된 패킷에 검사할 데이터가 존재하는지 확인하는 단계; 확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하면, 상기 복호화된 패킷을 보안 장치로 전달하는 단계; 및 상기 복호화된 패킷을 상기 보안 중계 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method of selectively inspecting a packet using secure socket layer communication in a security relay apparatus, the secure relay apparatus comprising: Detecting a connection to a web site using the communication; Establishing a Secure Sockets Layer (SSL) session between the security relay device and the web site using the certificate of the web site; Establishing a secure socket layer session between the client terminal and the security relay device using a private certificate generated using the certificate of the web site; Decrypting the packet using the session key of the client terminal when receiving the packet transmitted from the client terminal to the website; Checking whether there is data to be checked in the decoded packet; Transmitting the decrypted packet to the security device if there is data to be checked in the decrypted packet; And encrypting the decrypted packet using the session key of the security relay apparatus and transmitting the decrypted packet to the web site.

이때, 상기 복호화된 패킷을 보안 장치로 전달하는 단계는, 상기 클라이언트 단말로부터 수신한 패킷들 중에서 상기 보안 장치로 송신한 마지막 패킷의 시퀀스 넘버인 제1 최종 시퀀스 넘버를 확인하는 단계; 상기 복호화된 패킷의 시퀀스 넘버를 상기 제1 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 상기 복호화된 패킷을 상기 보안 장치로 송신하는 단계; 및 상기 제1 최종 시퀀스 넘버를 갱신하는 단계를 포함할 수 있다.The step of transmitting the decrypted packet to the security device may include: checking a first final sequence number, which is a sequence number of a last packet transmitted from the client terminal, to the security device; Changing the sequence number of the decrypted packet to a number obtained by adding 1 to the first final sequence number and transmitting the decrypted packet with the changed sequence number to the security device; And updating the first final sequence number.

이때, 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하지 않으면, 상기 복호화된 패킷을 상기 보안 장치로 송신하지 않고, 상기 복호화된 패킷을 상기 보안 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신하는 단계를 더 포함할 수 있다.The method for selectively inspecting a packet using the secure socket layer communication in the security relay device may include transmitting the decrypted packet to the security device if the data to be checked does not exist in the decrypted packet, Encrypting the decrypted packet using the session key of the security device, and transmitting the decrypted packet to the web site.

이때, 상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층 세션을 맺는 단계는, 상기 보안 중계 장치의 세션키를 생성하는 단계; 및 상기 보안 중계 장치의 세션키를 상기 웹 사이트의 인증서에 포함된 공개키를 이용해서 암호화하여 상기 웹 사이트의 서버로 송신하는 단계를 포함할 수 있다.At this time, establishing a secure socket layer session between the security relay apparatus and the web site includes: generating a session key of the security relay apparatus; And encrypting the session key of the security relay device using a public key included in the certificate of the web site and transmitting the encrypted session key to the server of the web site.

이때, 상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계는, 상기 클라이언트 단말로부터 상기 사설 인증서에 포함된 공개키로 암호화된 클라이언트 단말의 세션키를 수신하는 단계; 및 상기 사설 인증서에 대응하는 비밀키로 상기 암호화된 클라이언트 단말의 세션키를 복호화해서 상기 클라이언트 단말의 세션키를 획득하는 단계를 포함할 수 있다.The step of establishing a secure socket layer session between the client terminal and the security relay device comprises: receiving a session key of a client terminal encrypted with a public key included in the private certificate from the client terminal; And acquiring the session key of the client terminal by decrypting the encrypted session key of the client terminal with the secret key corresponding to the private certificate.

이때, 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 상기 웹 사이트로부터 상기 클라이언트 단말로 송신할 패킷을 수신하면, 상기 보안 중계 장치의 세션키를 이용해서 상기 클라이언트 단말로 송신할 패킷을 복호화하는 단계; 상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 확인하는 단계; 확인결과 상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하면, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하는 단계; 및 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 클라이언트 단말기의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계를 더 포함할 수 있다.A method for selectively inspecting a packet using secure socket layer communication in a security relay apparatus includes receiving a packet to be transmitted from the web site to the client terminal and transmitting the packet to the client terminal using the session key of the security relay apparatus Decoding a packet to be transmitted; Checking whether there is data to be checked in a packet to be transmitted to the decrypted client terminal; Transmitting a packet to be transmitted to the decrypted client terminal to the security device if data to be checked exists in a packet to be transmitted to the decrypted client terminal; And encrypting a packet to be transmitted to the decrypted client terminal using the session key of the client terminal and transmitting the encrypted packet to the client terminal.

이때, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하는 단계는, 상기 클라이언트 단말로 송신할 패킷들 중에서 상기 보안 장치로 송신한 마지막 패킷의 시퀀스 넘버인 제2 최종 시퀀스 넘버를 확인하는 단계; 상기 복호화된 클라이언트 단말로 송신할 패킷의 시퀀스 넘버를 상기 제2 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 송신하는 단계; 및 상기 제2 최종 시퀀스 넘버를 갱신하는 단계를 포함할 수 있다.The step of delivering a packet to be transmitted to the decrypted client terminal to the security device includes checking a second final sequence number which is a sequence number of a last packet transmitted to the security device from packets to be transmitted to the client terminal step; Changing a sequence number of a packet to be transmitted to the decrypted client terminal to a number obtained by adding 1 to the second final sequence number and transmitting a packet to be transmitted to the decrypted client terminal with a changed sequence number to the security device; And updating the second final sequence number.

이때, 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 확인결과 상기 복호화된 상기 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하지 않으면, 상기 복호화된 상기 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하지 않고, 상기 복호화된 상기 클라이언트 단말로 송신할 패킷을 상기 클라이언트 단말기의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계를 더 포함할 수 있다.The method of selectively inspecting a packet using the secure socket layer communication in the security relay apparatus includes the steps of: if there is no data to be checked in the packet to be transmitted to the decrypted client terminal, Encrypting the decrypted packet to be transmitted to the client terminal using the session key of the client terminal and transmitting the encrypted packet to the client terminal without transmitting the packet to the client terminal.

이때, 상기 클라이언트 단말과 상기 보안 중계 장치와의 보안 소켓 계층 통신을 연결하는 단계는, 상기 웹 사이트에 대응하는 상기 사설 인증서가 존재하지 않으면, 상기 웹 사이트의 인증서를 이용해서 상기 사설 인증서를 생성하는 단계를 포함할 수 있다.At this time, the step of connecting secure socket layer communication between the client terminal and the security relay device may include generating the private certificate using the certificate of the website if the private certificate corresponding to the website does not exist Step < / RTI >

이때, 상기 웹 사이트의 인증서를 이용해서 상기 사설 인증서를 생성하는 단계는, 상기 웹 사이트의 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 수집하는 단계; 상기 보안 중계 장치의 인증서로부터 발급자, 공개키 및 지문 알고리즘에 관한 정보를 수집하는 단계; 버전, 일련번호, 서명 알고리즘, 서명 해시 알고리즘 및 지문에 관한 정보를 생성하는 단계; 및 수집하고 생성된 정보를 포함하는 상기 사설 인증서를 생성하는 단계를 포함할 수 있다.At this time, the step of generating the private certificate using the certificate of the web site may include collecting information on validity period, subject, subject alternative name, extended key usage, and basic restriction from the certificate of the web site. Collecting information on issuer, public key and fingerprint algorithm from the certificate of the security relay device; Generating version, serial number, signature algorithm, signature hash algorithm and fingerprint information; And generating the private certificate including the collected and generated information.

본 발명의 다른 일 실시 예에 따른 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 보안 중계 장치에서 네트워크 장비에 연결된 클라이언트 단말로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하는 단계; 상기 웹 사이트의 인증서를 이용해서 상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는 단계; 상기 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계; 상기 클라이언트 단말로부터 상기 웹 사이트로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하는 단계; 상기 복호화된 패킷에 검사할 데이터가 존재하는지 확인하는 단계; 확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하면, 상기 복호화된 패킷을 보안 장치로 전달하는 단계; 및 상기 보안 장치로부터 상기 복호화된 패킷에 대한 송신허가 명령을 수신하면, 상기 복호화된 패킷을 상기 보안 중계 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신하는 단계를 포함한다.A method for selectively inspecting a packet using secure socket layer communication in a security relay apparatus according to another embodiment of the present invention is a method for inspecting a packet from a client terminal connected to a network equipment to a web site using secure socket layer communication ; Establishing a Secure Sockets Layer (SSL) session between the security relay device and the web site using the certificate of the web site; Establishing a secure socket layer session between the client terminal and the security relay device using a private certificate generated using the certificate of the web site; Decrypting the packet using the session key of the client terminal when receiving the packet transmitted from the client terminal to the website; Checking whether there is data to be checked in the decoded packet; Transmitting the decrypted packet to the security device if there is data to be checked in the decrypted packet; And transmitting the decrypted packet to the web site by encrypting the decrypted packet using the session key of the security relay device upon receiving the transmission permission command for the decrypted packet from the security device.

이때, 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 상기 보안 장치로부터 상기 복호화된 패킷에 대한 송신차단 명령을 수신하면, 상기 클라이언트 단말기 또는 네트워크 관리자에게 송신이 차단되었음을 알리는 메시지를 송신하는 단계를 더 포함할 수 있다.In this case, the method for selectively inspecting a packet using the secure socket layer communication in the security relay apparatus includes the steps of: when receiving a transmission blocking command for the decrypted packet from the security apparatus, And transmitting the message.

이때, 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 상기 웹 사이트로부터 상기 클라이언트 단말로 송신할 패킷을 수신하면, 상기 보안 중계 장치의 세션키를 이용해서 상기 클라이언트 단말로 송신할 패킷을 복호화하는 단계; 상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 확인하는 단계; 확인결과 상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하면, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하는 단계; 및 상기 보안 장치로부터 상기 복호화된 클라이언트 단말로 송신할 패킷에 대한 수신허가 명령을 수신하면, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 클라이언트 단말기의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계를 더 포함할 수 있다.A method for selectively inspecting a packet using secure socket layer communication in a security relay apparatus includes receiving a packet to be transmitted from the web site to the client terminal and transmitting the packet to the client terminal using the session key of the security relay apparatus Decoding a packet to be transmitted; Checking whether there is data to be checked in a packet to be transmitted to the decrypted client terminal; Transmitting a packet to be transmitted to the decrypted client terminal to the security device if data to be checked exists in a packet to be transmitted to the decrypted client terminal; And a receiving unit configured to encrypt a packet to be transmitted to the decrypted client terminal using the session key of the client terminal and transmit the encrypted packet to the client terminal when receiving a reception permission command for a packet to be transmitted from the security apparatus to the decrypted client terminal Step < / RTI >

이때, 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법은, 상기 보안 장치로부터 상기 복호화된 클라이언트 단말로 송신할 패킷에 대한 수신차단 명령을 수신하면, 상기 클라이언트 단말기 또는 네트워크 관리자에게 수신이 차단되었음을 알리는 메시지를 송신하는 단계를 더 포함할 수 있다.A method for selectively inspecting a packet using secure socket layer communication in a security relay apparatus includes receiving a blocking blocking command for a packet to be transmitted from the security device to the decrypted client terminal, And transmitting a message indicating that reception is blocked.

본 발명은 클라이언트 단말과 웹 사이트의 서버 사이에서 SSL 통신을 중계하는 보안 중계 장치에 관한 것으로, 클라이언트 단말을 대신해서 보안 중계 장치에서 클라이언트 단말이 접속하고자 하는 웹 사이트에 접속하고, 클라이언트 단말이 접속하고자 하는 웹 사이트의 인증서를 이용해서 웹 사이트에 대응하는 사설 인증서를 생성하고, 생성한 사설 인증서를 클라이언트 단말로 제공하여 클라이언트 단말과 웹 사이트의 서버 사이에서 송수신 되는 패킷을 복호화하고 암호화하여 패킷을 중계하고 검사가 필요한 패킷만을 선택적으로 보안 장치로 제공하여 검사를 받을 수 있다.The present invention relates to a security relay apparatus for relaying SSL communication between a client terminal and a server of a web site, in which a security relay apparatus connects to a web site to which a client terminal wants to access, Generates a private certificate corresponding to the web site using the certificate of the web site and provides the generated private certificate to the client terminal to decrypt and encrypt the packet transmitted and received between the client terminal and the web site server to relay the packet It is possible to provide only a packet requiring inspection to the security device to receive the inspection.

도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 선택적으로 패킷을 검사하는 수동 모드로 동작하는 보안 시스템의 계략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 선택적으로 패킷을 검사하는 능동 모드로 동작하는 보안 시스템의 계략적인 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 보안 중계 장치를 통해서 보안 소켓 계층 통신을 연결하는 메시지 흐름을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 보안 중계 장치에서 클라이언트 단말과 웹 사이트의 서버 사이에서 보안 소켓 계층 통신을 연결하는 과정을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 사설 인증서의 구성요소를 생성하는 예를 도시한 도면이다.
도 6은 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 웹 사이트의 서버로 전달되는 메시지 흐름을 도시한 도면이다.
도 7은 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 클라이언트 단말로 전달되는 메시지 흐름을 도시한 도면이다.
도 8은 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 중계 장치에서 클라이언트 단말에서 송신된 패킷을 웹 사이트의 서버로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.
도 9는 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 중계 장치에서 웹 사이트의 서버에서 송신된 패킷을 클라이언트 단말로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.
도 10은 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 웹 사이트의 서버로 전달되는 메시지 흐름을 도시한 도면이다.
도 11은 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 클라이언트 단말로 전달되는 메시지 흐름을 도시한 도면이다.
도 12는 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 중계 장치에서 클라이언트 단말에서 송신된 패킷을 웹 사이트의 서버로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.
도 13은 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 중계 장치에서 웹 사이트의 서버에서 송신된 패킷을 클라이언트 단말로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.
FIG. 1 is a schematic block diagram of a security system operating in a passive mode for selectively checking packets in secure socket layer communication according to an embodiment of the present invention. Referring to FIG.
FIG. 2 is a schematic block diagram of a security system operating in an active mode for selectively checking packets in secure socket layer communication according to an embodiment of the present invention. Referring to FIG.
3 is a diagram illustrating a message flow for connecting secure socket layer communication through a security relay apparatus according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a process of connecting secure socket layer communication between a client terminal and a server of a web site in a security relay apparatus according to an embodiment of the present invention.
5 is a diagram illustrating an example of generating a component of a private certificate according to an embodiment of the present invention.
6 is a diagram illustrating a message flow in which a packet is delivered to a server of a web site through a security relay apparatus in a security system operating in a passive mode according to an embodiment of the present invention.
7 is a diagram illustrating a message flow in which a packet is transmitted to a client terminal through a security relay device in a security system operating in a passive mode according to an embodiment of the present invention.
8 is a diagram illustrating a process of selectively checking a packet transmitted from a client terminal to a server of a web site in a security relay device operating in a passive mode according to an embodiment of the present invention.
9 is a diagram illustrating a process of selectively checking packets when a packet transmitted from a server of a web site is transmitted to a client terminal in a security relay device operating in a passive mode according to an embodiment of the present invention.
10 is a diagram illustrating a message flow in which a packet is transmitted to a server of a web site through a security relay device in a security system operating in an active mode according to an embodiment of the present invention.
11 is a diagram illustrating a message flow in which a packet is transmitted to a client terminal through a security relay device in a security system operating in an active mode according to an embodiment of the present invention.
FIG. 12 is a diagram illustrating a process of selectively checking a packet transmitted from a client terminal to a server of a web site in a security relay apparatus operating in an active mode according to an embodiment of the present invention.
13 is a diagram illustrating a process of selectively checking a packet when a packet transmitted from a server of a web site is transmitted to a client terminal in a security relay apparatus operating in an active mode according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are only for the purpose of illustrating embodiments of the inventive concept, But may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more other features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시 예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

이하에서는, 본 발명의 일 실시 예에 따른 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법을 첨부된 도 1 내지 도 13을 참조하여 상세히 설명한다.Hereinafter, a method for selectively inspecting packets using secure socket layer communication according to an embodiment of the present invention will be described in detail with reference to FIGS. 1 to 13.

도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 선택적으로 패킷을 검사하는 수동 모드로 동작하는 보안 시스템의 계략적인 구성을 도시한 도면이다.FIG. 1 is a schematic block diagram of a security system operating in a passive mode for selectively checking packets in secure socket layer communication according to an embodiment of the present invention. Referring to FIG.

도 1을 참조하면, 네트워크 환경에서 클라이언트 단말(110)로부터 인터넷(150)에 접속할 때, 클라이언트 단말(110)은 스위치(120)에 연결될 수 있다. 클라이언트 단말(110)은 스위치(120)에 연결됨으로써 네트워크 연결 및 데이터 전송이 가능할 수 있다. 이때, 클라이언트 단말(110)은 적어도 하나 이상의 클라이언트가 인터넷에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다. 1, when connecting to the Internet 150 from a client terminal 110 in a network environment, the client terminal 110 may be connected to the switch 120. The client terminal 110 may be connected to the switch 120 to enable network connection and data transmission. At this time, at least one client of the client terminal 110 can be connected to the Internet. For example, the client may be a terminal such as a PC or a smart phone.

보안 중계 장치(130)는 프락시(proxy) 서버 역할을 수행할 수 있는 일종의 게이트웨이 장치에 해당하며, 클라이언트 단말(110)의 웹 통신을 모니터링을 할 수 있다.The security relay device 130 corresponds to a kind of gateway device capable of acting as a proxy server and can monitor the web communication of the client terminal 110. [

보안 중계 장치(130)는 모니터링을 통해서 클라이언트 단말(110)에서 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 웹 사이트의 서버(160)로의 접속을 감지하면, 웹 사이트의 인증서를 이용해서 보안 중계 장치(130)와 웹 사이트의 서버(160) 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺고, 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 클라이언트 단말(110)과 보안 중계 장치(130) 간의 보안 소켓 계층 세션을 맺음으로써, 클라이언트 단말(110)과 웹 사이트의 서버(160) 사이에서 송수신 되는 패킷을 중계하는 역할을 할 수 있다.When the security relay device 130 detects a connection from the client terminal 110 to the server 160 of the web site using secure sockets layer (SSL) communication through monitoring, A Secure Sockets Layer (SSL) session is established between the relay apparatus 130 and the server 160 of the website, and a secure session is established between the client terminal 110 and the client terminal 110 using a private certificate The client terminal 110 and the server 160 of the web site 160 can establish a secure socket layer session between the devices 130 and relay the packets transmitted and received between the client terminal 110 and the web site server 160.

보안 중계 장치(130)는 송수신되는 패킷을 복호화하고 복호화된 패킷에 검사할 데이터가 존재하는 여부를 확인하고, 검사할 데이터가 존재하면 복호화된 패킷을 보안 장치(140)로 송신할 수 있다. 이때, 검사할 데이터는 네트워크 통신의 연결 또는 유지를 위한 정보 또는 기설정된 정보를 제외한 모든 정보로, 즉, 외부로 유출되어서 안되는 정보에 해당한다고 볼 수 있다.The security relay apparatus 130 decrypts the packet to be transmitted and received, checks whether there is data to be checked in the decrypted packet, and transmits the decrypted packet to the security apparatus 140 if there is data to be checked. At this time, the data to be examined corresponds to all the information except the information for connection or maintenance of the network communication or predetermined information, that is, information that should not be leaked to the outside.

보안 중계 장치(130)에서 보안 소켓 계층 통신을 연결을 중계하는 구체적인 동작은 이후 도 3에서 도 5를 통해 구체적을 후술한다.The concrete operation of relaying the connection of the secure socket layer communication in the security relay device 130 will be described in detail later with reference to FIG. 3 to FIG.

그리고, 보안 중계 장치(130)가 수동 모드로 동작하는 구체적인 내용은 이후 도 6에서 도 9를 통해서 보다 상세히 후술한다.The details of the operation of the security relay device 130 in the passive mode will be described later in more detail with reference to FIG. 6 through FIG.

한편, 보안 장치(140)는 보안 중계 장치(130)로부터 수신하는 복호화된 패킷을 저장하고, 복호화된 패킷들의 로그를 분석할 수 있다. 또한, 보안 장치(140)는 복호화된 패킷이 기설정된 조건을 만족하는지 여부를 검색하고, 기설정된 조건을 만족하지 않으면 복호화된 패킷을 네트워크 관리자에게 송신하여 기설정된 조건을 만족하지 않은 문제가 있는 패킷이 존재함을 알릴 수도 있다.Meanwhile, the security device 140 may store the decrypted packet received from the security relay device 130, and may analyze the log of the decrypted packets. In addition, the security device 140 searches whether the decoded packet meets a predetermined condition, and if the decoded packet is not satisfied, transmits the decoded packet to the network manager, May exist.

도 2는 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 선택적으로 패킷을 검사하는 능동 모드로 동작하는 보안 시스템의 계략적인 구성을 도시한 도면이다.FIG. 2 is a schematic block diagram of a security system operating in an active mode for selectively checking packets in secure socket layer communication according to an embodiment of the present invention. Referring to FIG.

도 2를 참조하면, 네트워크 환경에서 클라이언트 단말(210)로부터 인터넷(250)에 접속할 때, 클라이언트 단말(210)은 스위치(220)에 연결될 수 있다. 클라이언트 단말(210)은 스위치(220)에 연결됨으로써 네트워크 연결 및 데이터 전송이 가능할 수 있다. 이때, 클라이언트 단말(210)은 적어도 하나 이상의 클라이언트가 인터넷에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다. 2, when connecting from the client terminal 210 to the Internet 250 in a network environment, the client terminal 210 may be connected to the switch 220. [ The client terminal 210 may be connected to the switch 220 to enable network connection and data transmission. At this time, at least one client of the client terminal 210 can be connected to the Internet. For example, the client may be a terminal such as a PC or a smart phone.

보안 중계 장치(230)는 프락시(proxy) 서버 역할을 수행할 수 있는 일종의 게이트웨이 장치에 해당하며, 클라이언트 단말(210)의 웹 통신을 모니터링을 할 수 있다.The security relay device 230 corresponds to a kind of gateway device capable of acting as a proxy server and can monitor the web communication of the client terminal 210. [

보안 중계 장치(230)는 모니터링을 통해서 클라이언트 단말(210)에서 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 웹 사이트의 서버(260)로의 접속을 감지하면, 웹 사이트의 인증서를 이용해서 보안 중계 장치(230)와 웹 사이트의 서버(260) 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺고, 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 클라이언트 단말(210)과 보안 중계 장치(230) 간의 보안 소켓 계층 세션을 맺음으로써, 클라이언트 단말(210)과 웹 사이트의 서버(260) 사이에서 송수신 되는 패킷을 중계하는 역할을 할 수 있다.When the security relay device 230 detects a connection from the client terminal 210 to the server 260 of the web site using secure sockets layer (SSL) communication through monitoring, A Secure Sockets Layer (SSL) session is established between the relay apparatus 230 and the server 260 of the website, and a secure session is established between the client terminal 210 and the security relay server 210 using a private certificate The session between the client terminal 210 and the server 230 of the web site can be relayed by establishing a secure socket layer session between the client terminal 210 and the web site server 260.

보안 중계 장치(230)는 송수신되는 패킷을 복호화하고 복호화된 패킷에 검사할 데이터가 존재하는 여부를 확인하고, 검사할 데이터가 존재하면 복호화된 패킷을 보안 장치(240)로 송신하고, 이후 보안 장치(240)로부터 복호화된 패킷의 처리 명령을 수신하면, 처리 명령에 따라 복호화된 패킷을 처리 할 수 있다. 이때, 처리 명령에는 패킷의 송수신을 허가하는 명령 또는 패킷의 송수신을 차단하는 명령 및 관리자에게 보고하는 명령 등이 존재할 수 있다.The security relay device 230 decrypts the packet to be transmitted and received, checks whether there is data to be checked in the decoded packet, and transmits the decrypted packet to the security device 240 when data to be checked exists, Upon receiving the processing command of the decoded packet from the processing unit 240, can process the decoded packet according to the processing command. At this time, the processing command may include a command for permitting transmission / reception of a packet, a command for blocking transmission / reception of a packet, and an command for reporting to the manager.

보안 중계 장치(230)에서 보안 소켓 계층 통신을 연결을 중계하는 구체적인 동작은 이후 도 3에서 도 5를 통해 구체적을 후술한다.The concrete operation of relaying the connection of the secure socket layer communication in the security relay device 230 will be described in detail later with reference to FIG. 3 to FIG.

그리고, 보안 중계 장치(230)가 능동 모드로 동작하는 구체적인 내용은 이후 도 10에서 도 13을 통해서 보다 상세히 후술한다.The details of the operation of the security relay apparatus 230 in the active mode will be described later in more detail with reference to FIG. 10 through FIG.

한편, 보안 장치(240)는 보안 중계 장치(230)로부터 수신하면 복호화된 패킷이 기설정된 조건을 만족하는지 여부를 검색하고, 기설정된 조건을 만족하면 복호화된 패킷의 송수신을 허가하는 허가명령을 보안 중계 장치(230)로 송신할 수 있고, 기설정된 조건을 만족하지 않으면 복호화된 패킷의 송수신을 차단하는 차단명령을 보안 중계 장치(230)로 송신할 수 있다.On the other hand, when receiving from the security relay device 230, the security device 240 searches whether the decrypted packet meets a predetermined condition, and if the predetermined condition is satisfied, the security device 240 transmits a permission command for permitting transmission / And transmits a blocking command to the security relay device 230 to block transmission / reception of the decoded packet if the predetermined condition is not satisfied.

도 3은 본 발명의 일 실시 예에 따른 보안 중계 장치를 통해서 보안 소켓 계층 통신을 연결하는 메시지 흐름을 도시한 도면이다.3 is a diagram illustrating a message flow for connecting secure socket layer communication through a security relay apparatus according to an exemplary embodiment of the present invention.

도 3을 참조하면, 클라이언트 단말(110, 210)는 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 시도할 수 있다(310).Referring to FIG. 3, the client terminal 110, 210 may attempt to connect to a web site using secure socket layer communication (310).

보안 중계 장치(130, 230)는 클라이언트 단말(110, 210)로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하면(110), 클라이언트 단말(110, 210)을 대신해서 해당 웹 사이트로 접속을 시도한다(312).When the security relay apparatuses 130 and 230 detect a connection from the client terminals 110 and 210 to a web site using secure socket layer communication 110, the security relay apparatuses 130 and 230 access the web site on behalf of the client terminals 110 and 210 (312).

그리고, 보안 중계 장치(130, 230)는 웹 사이트의 인증서가 존재하지 않으면, 웹 사이트의 서버(160, 260)로 웹 사이트의 인증서를 요청하여 전달 받는다(314). 이때, 314단계에서 인증서를 요청하여 전달 받는 것은 Client Hello, Server Hello, Certificate 의 과정을 통해서 인증서를 전달 받을 수 있다.If there is no certificate of the web site, the security relay apparatuses 130 and 230 request the certificate of the web site to the servers 160 and 260 of the web site and receive the certificate (314). In this case, in step 314, when a certificate is requested and received, the certificate can be received through a process of Client Hello, Server Hello, and Certificate.

그리고, 보안 중계 장치(130, 230)에서 웹 사이트의 인증서를 인증하고, 보안 중계 장치(130, 230)와 웹 사이트의 서버(160, 260)는 웹 사이트의 인증서를 이용해서 보안 중계 장치(130, 230)와 웹 사이트의 서버(160, 260) 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는다(316).The security relay apparatuses 130 and 230 authenticate the certificate of the website and the security relay apparatuses 130 and 230 and the servers 160 and 260 of the web site authenticate the security relay apparatus 130 And establishes a Secure Sockets Layer (SSL) session between the server 230 and the servers 160 and 260 of the website.

그리고, 보안 중계 장치(130, 230)는 보안 중계 장치(130, 230)는 웹 사이트의 인증서와 보안 중계 장치(130, 230)의 인증서를 이용해서 웹 사이트에 대응하는 사설 인증서를 아래 도 7과 같은 방법으로 생성할 수 있다(318).The security relay devices 130 and 230 use the certificates of the website and the certificates of the security relay devices 130 and 230 to generate private certificates corresponding to the web sites, Can be generated in the same way (318).

도 5는 본 발명의 일 실시예에 따른 사설 인증서의 구성요소를 생성하는 예를 도시한 도면이다.5 is a diagram illustrating an example of generating a component of a private certificate according to an embodiment of the present invention.

도 5를 참조하면, 사설 인증서의 구성요소는 3가지 생성 방법에 의해서 생성된다.Referring to FIG. 5, components of a private certificate are generated by three generation methods.

3가지 생성 방법은 보안 중계 장치(130, 230)에서 생성하는 방법(510), 클라이언트 단말(260)이 접속하고자 하는 사이트의 실제 인증서로부터 가져오는 방법(520) 및 보안 중계 장치(130, 230)의 인증서로부터 가져오는 방법(530)이 있다.The three methods include a method 510 generated by the security relay devices 130 and 230, a method 520 of fetching from the actual certificate of the site to which the client terminal 260 intends to access, and the security relay devices 130 and 230, Lt; RTI ID = 0.0 > 530 < / RTI >

520방법은 클라이언트 단말(110, 210)이 접속하고자 하는 사이트의 실제 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 가져와서 사설 인증서의 구성요소를 생성한다.520 generates information on the validity period, the subject, the subject alternative name, the extended key usage, and the basic restriction from the actual certificate of the site to which the client terminal 110 or 210 wants to access, thereby generating a component of the private certificate.

530 방법은 보안 중계 장치(130, 230)의 인증서로부터 발급자, 공개키 및 지문 알고리즘에 관한 정보를 가져와서 사설 인증서의 구성요소를 생성한다.The method 530 takes information about the issuer, the public key, and the fingerprint algorithm from the certificates of the security intermediaries 130 and 230 to generate the components of the private certificate.

510 방법은 보안 중계 장치(130, 230)의 설정 기준에 따라서 버전, 일련번호, 서명 알고리즘, 서명 해시 알고리즘 및 지문에 관한 정보를 생성한다. 이때, 지문은 보안 중계 장치(130, 230)의 인증서로부터 가져온 지문 알고리즘을 이용해서 생성될 수 있다.510 method generates version, serial number, signature algorithm, signature hash algorithm, and fingerprint information according to the setting criteria of the security relay device 130, 230. At this time, the fingerprint can be generated using the fingerprint algorithm obtained from the certificate of the security relay device 130, 230.

다시 도 2의 설명으로 돌아와서, 보안 중계 장치(130, 230)는 사설 인증서를 클라이언트 단말(110, 210)로 제공한다(120).Referring back to FIG. 2, the security relay apparatuses 130 and 230 provide a private certificate to the client terminals 110 and 210 (120).

클라이언트 단말(110, 210)에서 사설 인증서를 인증하고, 클라이언트 단말(110, 210)과 보안 중계 장치(130, 230)는 사설 인증서를 이용해서 클라이언트 단말(110, 210)과 보안 중계 장치(130, 230) 간의 SSL 세션을 맺는다(122).The client terminals 110 and 210 and the security relays 130 and 230 authenticate the private certificates at the client terminals 110 and 210. The client terminals 110 and 210 and the security relays 130 and 230 use the private certificates, 230) with each other (122).

즉, 보안 중계 장치(130, 230)는 클라이언트 단말(110, 210)과 웹 사이트의 서버(160, 260) 사이에서 클라이언트 단말(110, 210)과 SSL 세션을 맺고, 웹 사이트의 서버(260)과 SSL 세션을 맺음으로써, 송수신 되는 패킷을 중계하는 역할을 할 수 있다.That is, the security relay apparatuses 130 and 230 establish an SSL session with the client terminals 110 and 210 between the client terminals 110 and 210 and the servers 160 and 260 of the website, And establishes an SSL session, thereby relaying packets transmitted and received.

도 4는 본 발명의 일 실시 예에 따른 보안 중계 장치에서 클라이언트 단말과 웹 사이트의 서버 사이에서 보안 소켓 계층 통신을 연결하는 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process of connecting secure socket layer communication between a client terminal and a server of a web site in a security relay apparatus according to an embodiment of the present invention.

도 4를 참조하면, 보안 중계 장치(130, 230)에서 클라이언트 단말(110, 210)로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하면(410), 보안 중계 장치(130, 230)에서 클라이언트 단말(110, 210)을 대신해서 해당 웹 사이트로 접속을 시도한다(412).Referring to FIG. 4, when the security relay apparatuses 130 and 230 detect a connection from the client terminals 110 and 210 to a web site using secure socket layer communication (410), the security relay apparatuses 130 and 230 And attempts to access the web site on behalf of the client terminal 110, 210 (412).

그리고, 보안 중계 장치(130, 230)는 웹 사이트의 인증서가 존재하는지 확인한다(414).Then, the security relay device 130 or 230 confirms whether a certificate of the web site exists (414).

414단계의 확인결과 웹 사이트의 인증서가 존재하지 않으면, 보안 중계 장치(130, 230)는 웹 사이트의 서버(160, 260)로 웹 사이트의 인증서를 요청하여 수신한다(416).If it is determined in step 414 that there is no certificate of the web site, the security relay device 130 or 230 requests the web site server 160 or 260 of the web site for a certificate of the web site and receives the certificate.

그리고, 보안 중계 장치(130, 230)는 웹 사이트의 인증서를 인증하고, 웹 사이트의 인증서를 이용해서 보안 중계 장치와 웹 사이트 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는다(418).Then, the security relay devices 130 and 230 authenticate the certificate of the web site, and establish a secure socket layer (SSL) session between the security relay device and the web site using the certificate of the web site (418).

418단계에서 보안 중계 장치(130, 230)와 웹 사이트의 서버(160, 260) 간의 SSL 세션을 맺을 때, 보안 중계 장치(130, 230)는 웹 사이트의 서버(160, 260)와의 SSL 통신을 위한 보안 중계 장치의 세션키를 생성하고, 보안 중계 장치의 세션키를 웹 사이트의 인증서에 포함된 공개키를 이용해서 암호화하여 웹 사이트의 서버(160, 260)로 송신할 수 있다. 암호화된 보안 중계 장치의 세션키를 수신한 웹 사이트의 서버(160, 260)는 웹 사이트의 인증서에 대응하는 비밀키를 이용해서 암호화된 보안 중계 장치의 세션키를 복호화하여 보안 중계 장치의 세션키를 획득할 수 있다. 이후, 보안 중계 장치(130, 230)와 웹 사이트의 서버(160, 260)는 보안 중계 장치의 세션키를 이용해서 암호화 통신을 수행할 수 있다.In step 418, when the SSL relay session is established between the security relay apparatuses 130 and 230 and the servers 160 and 260 of the website, the security relay apparatuses 130 and 230 perform SSL communication with the servers 160 and 260 of the website And may transmit the session key of the security relay device to the server 160, 260 of the web site by encrypting the session key using the public key included in the certificate of the web site. The servers 160 and 260 of the web site receiving the encrypted session key of the security relay apparatus decrypt the encrypted session key of the security relay apparatus using the secret key corresponding to the certificate of the web site, Can be obtained. Thereafter, the security relay apparatuses 130 and 230 and the servers 160 and 260 of the web site can perform encrypted communication using the session key of the security relay apparatus.

그리고, 보안 중계 장치(130, 230)는 웹 사이트에 대응하는 사설 인증서가 존재하는지 확인한다(420).Then, the security relay devices 130 and 230 check whether there is a private certificate corresponding to the website (420).

420단계의 확인결과 웹 사이트에 대응하는 사설 인증서가 존재하지 않으면, 보안 중계 장치(130, 230)는 웹 사이트의 인증서와 보안 중계 장치(130, 230)의 인증서를 이용해서 웹 사이트에 대응하는 사설 인증서를 생성한다(422). 이때, 보안 중계 장치(130, 230)는 웹 사이트의 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 수집하고, 보안 중계 장치(130, 230)의 인증서로부터 발급자, 공개키 및 지문 알고리즘에 관한 정보를 수집하고, 버전, 일련번호, 서명 알고리즘, 서명 해시 알고리즘 및 지문에 관한 정보를 생성하고 수집하고 생성된 정보를 구성 요소로 하는 사설 인증서를 생성할 수 있다.If it is determined in operation 420 that there is no private certificate corresponding to the web site, the security relay device 130 or 230 uses the certificate of the web site and the certificate of the security relay device 130 or 230, A certificate is generated (422). At this time, the security relay devices 130 and 230 collect information on the valid period, the subject, the subject alternative name, the extended key usage, and the basic restriction from the certificate of the web site, Collects information about the issuer, public key, and fingerprint algorithm, and generates a private certificate that generates and collects information about the version, serial number, signature algorithm, signature hash algorithm, and fingerprint, and uses the generated information as a component .

그리고, 보안 중계 장치(130, 230)는 생성 또는 검색된 사설 인증서를 클라이언트 단말(110, 210)로 제공한다(424).Then, the security relay devices 130 and 230 provide the generated or retrieved private certificate to the client terminals 110 and 210 (424).

그리고, 보안 중계 장치(130, 230)는 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 클라이언트 단말(110, 210)과 보안 중계 장치(130, 230) 간의 보안 소켓 계층 세션을 맺는다(426).The security relay devices 130 and 230 establish a secure socket layer session between the client terminals 110 and 210 and the security relay devices 130 and 230 using the private certificate generated using the certificate of the website ).

426단계에서 클라이언트 단말(110, 210)과 보안 중계 장치(130, 230) 간의 SSL 세션을 맺을 때, 보안 중계 장치(130, 230)는 클라이언트 단말(110, 210)로부터 사설 인증서에 포함된 공개키로 암호화된 클라이언트 단말의 세션키를 수신하면, 사설 인증서에 대응하는 비밀키로 암호화된 클라이언트 단말의 세션키를 복호화해서 클라이언트 단말의 세션키를 획득할 수 있다. 이후, 보안 중계 장치(130, 230)는 클라이언트 단말의 세션키를 이용해서 클라이언트 단말(110, 210)과 암호화 통신을 수행할 수 있다.In step 426, when the SSL session is established between the client terminals 110 and 210 and the security relay devices 130 and 230, the security relay devices 130 and 230 transmit the public key included in the private certificate from the client terminals 110 and 210 Upon receiving the encrypted session key of the client terminal, the session key of the client terminal can be obtained by decrypting the session key of the client terminal encrypted with the secret key corresponding to the private certificate. Then, the security relay apparatuses 130 and 230 can perform encrypted communication with the client terminals 110 and 210 using the session key of the client terminal.

도 6은 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 웹 사이트의 서버로 전달되는 메시지 흐름을 도시한 도면이다. 6 is a diagram illustrating a message flow in which a packet is delivered to a server of a web site through a security relay apparatus in a security system operating in a passive mode according to an embodiment of the present invention.

도 6을 참조하면, 보안 중계 장치(130)는 클라이언트 단말(110)로부터 웹 사이트로 송신하는 패킷을 수신하면(610), 패킷을 클라이언트 단말의 세션키를 이용해서 복호화한다(612).Referring to FIG. 6, when the security relay device 130 receives a packet transmitted from the client terminal 110 to the web site (610), it decrypts the packet using the session key of the client terminal (612).

그리고, 보안 중계 장치(130)는 복호화된 패킷에 검사할 데이터가 존재하는지 확인한다(614).Then, the security relay apparatus 130 confirms whether data to be checked exists in the decoded packet (614).

614단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(130)는 복호화된 패킷을 보안 장치(140)로 송신한다(616).If it is determined in step 614 that there is data to be checked, the security relay apparatus 130 transmits the decrypted packet to the security apparatus 140 (step 616).

복호화된 패킷을 수신한 보안 장치(140)는 복호화된 패킷을 저장한다(618).The secure device 140 receiving the decrypted packet stores the decrypted packet (618).

한편, 보안 중계 장치(130)는 복호화된 패킷에 검사할 데이터가 존재하는지 유무와 상관없이 복호화된 패킷을 보안 중계 장치의 세션키를 이용해서 암호화하고(620), 보안 중계 장치의 세션키로 암호화된 패킷을 웹 사이트로 송신한다(622).The security relay apparatus 130 encrypts the decrypted packet using the session key of the security relay apparatus regardless of whether there is data to be checked in the decrypted packet (620), and transmits the decrypted packet to the security relay apparatus And transmits the packet to the website (622).

도 7은 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 클라이언트 단말로 전달되는 메시지 흐름을 도시한 도면이다. 7 is a diagram illustrating a message flow in which a packet is transmitted to a client terminal through a security relay device in a security system operating in a passive mode according to an embodiment of the present invention.

도 7을 참조하면, 보안 중계 장치(130)는 웹 사이트의 서버(160)로부터 클라이언트 단말(110)로 송신하는 패킷을 수신하면(710), 패킷을 보안 중계 장치의 세션키를 이용해서 복호화한다(712).7, when the secure relay apparatus 130 receives the packet transmitted from the server 160 of the web site to the client terminal 110 (710), the secure relay apparatus 130 decrypts the packet using the session key of the security relay apparatus (712).

그리고, 보안 중계 장치(130)는 복호화된 패킷에 검사할 데이터가 존재하는지 확인한다(714).Then, the security relay apparatus 130 checks whether there is data to be checked in the decrypted packet (714).

714단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(130)는 복호화된 패킷을 보안 장치(140)로 송신한다(716).If it is determined in step 714 that there is data to be checked, the security relay device 130 transmits the decrypted packet to the security device 140 (step 716).

복호화된 패킷을 수신한 보안 장치(140)는 복호화된 패킷을 저장한다(618).The secure device 140 receiving the decrypted packet stores the decrypted packet (618).

한편, 보안 중계 장치(130)는 복호화된 패킷에 검사할 데이터가 존재하는지 유무와 상관없이 복호화된 패킷을 클라이언트 단말의 세션키를 이용해서 암호화하고(720), 클라이언트 단말의 세션키로 암호화된 패킷을 클라이언트 단말(110)로 송신한다(722).Meanwhile, the security relay apparatus 130 encrypts the decrypted packet using the session key of the client terminal regardless of whether there is data to be checked in the decrypted packet (720), and transmits the packet encrypted with the session key of the client terminal To the client terminal 110 (722).

도 8은 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 중계 장치에서 클라이언트 단말에서 송신된 패킷을 웹 사이트의 서버로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.8 is a diagram illustrating a process of selectively checking a packet transmitted from a client terminal to a server of a web site in a security relay device operating in a passive mode according to an embodiment of the present invention.

도 8을 참조하면, 보안 중계 장치(130)는 클라이언트 단말(110)로부터 웹 사이트로 송신하는 패킷을 수신하면(810), 패킷을 클라이언트 단말의 세션키를 이용해서 복호화한다(812).Referring to FIG. 8, when the security relay 130 receives a packet to be transmitted to the website from the client terminal 110 (810), the security relay 130 decrypts the packet using the session key of the client terminal (812).

그리고, 보안 중계 장치(130)는 복호화된 패킷에 검사할 데이터가 존재하는지 확인한다(814).Then, the security relay device 130 checks whether data to be checked exists in the decoded packet (814).

814단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(130)는 복호화된 패킷을 보안 장치(140)로 송신한다(816). 이때, 검사할 데이터는 네트워크 통신의 연결 또는 유지를 위한 정보 또는 기설정된 정보를 제외한 모든 정보로, 즉, 외부로 유출되어서 안되는 정보에 해당한다고 볼 수 있다.If it is determined in step 814 that there is data to be checked, the security relay device 130 transmits the decrypted packet to the security device 140 (step 816). At this time, the data to be examined corresponds to all the information except the information for connection or maintenance of the network communication or predetermined information, that is, information that should not be leaked to the outside.

이후, 보안 중계 장치(130)는 복호화된 패킷에 검사할 데이터가 존재하는지 유무와 상관없이 복호화된 패킷을 보안 중계 장치의 세션키를 이용해서 암호화하고(818), 보안 중계 장치의 세션키로 암호화된 패킷을 웹 사이트로 송신한다(820).Thereafter, the security relay apparatus 130 encrypts the decrypted packet using the session key of the security relay apparatus regardless of whether there is data to be checked in the decrypted packet (818), and transmits the decrypted packet encrypted with the session key of the security relay apparatus The packet is transmitted to the website (820).

한편, 보안 중계 장치(130)는 보안 장치(140)로 복호화된 패킷을 선택적으로 송신하기 때문에 복호화된 패킷에 포함된 시퀀스 넘버(sequence number)가 일관되게 순차적으로 증가하지 않을 수 있으며, 이로 인해서 보안 장치(140)에서 오류가 발생할 수 있다. 이를 해소하기 위해서 보안 중계 장치(130)는 복호화된 패킷을 보안 장치(140)로 송신할 때, 클라이언트 단말(110)로부터 수신한 패킷들 중에서 보안 장치(140)로 송신한 마지막 패킷의 시퀀스 넘버인 제1 최종 시퀀스 넘버를 확인하고, 복호화된 패킷의 시퀀스 넘버를 제1 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 복호화된 패킷을 보안 장치(140)로 송신하고, 제1 최종 시퀀스 넘버를 갱신할 수 있다.Meanwhile, since the security relay apparatus 130 selectively transmits the decrypted packet to the security device 140, the sequence number included in the decrypted packet may not consistently increase sequentially, An error may occur in the device 140. In order to solve this problem, when the decrypted packet is transmitted to the security device 140, the security relay device 130 transmits the decrypted packet to the security device 140, which is the sequence number of the last packet transmitted from the client terminal 110 to the secure device 140 Changes the sequence number of the decoded packet to a number obtained by adding 1 to the first final sequence number, transmits the decoded packet whose sequence number is changed to the secure device 140, The number can be updated.

보안 중계 장치(130)는 복호화된 패킷의 시퀀스 넘버를 변경할 때, 복호화된 패킷의 헤더에 포함된 5-tuple 값(소스 IP, 목적지 IP, 소스 port, destination port, 프로토콜(udp or tcp))은 그대로 유지한다.5-tuple value (source IP, destination IP, source port, destination port, protocol (udp or tcp)) included in the header of the decoded packet is changed when the security relay device 130 changes the sequence number of the decrypted packet .

도 9는 본 발명의 일 실시 예에 따라 수동 모드로 동작하는 보안 중계 장치에서 웹 사이트의 서버에서 송신된 패킷을 클라이언트 단말로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.9 is a diagram illustrating a process of selectively checking packets when a packet transmitted from a server of a web site is transmitted to a client terminal in a security relay device operating in a passive mode according to an embodiment of the present invention.

도 9를 참조하면, 보안 중계 장치(130)는 웹 사이트의 서버(160)로부터 클라이언트 단말로 송신할 패킷을 수신하면(910), 클라이언트 단말로 송신할 패킷을 보안 중계 장치의 세션키를 이용해서 복호화한다(912).9, when the security relay device 130 receives a packet to be transmitted from the server 160 of the web site to the client terminal (910), the security relay device 130 transmits the packet to be transmitted to the client terminal using the session key of the security relay device (912).

그리고, 보안 중계 장치(130)는 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 확인한다(914).Then, the security relay apparatus 130 checks whether there is data to be checked in the packet to be transmitted to the decrypted client terminal (914).

914단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(130)는 복호화된 클라이언트 단말로 송신할 패킷을 보안 장치(140)로 송신한다(916).If it is determined in step 914 that there is data to be checked, the security relay device 130 transmits a packet to be transmitted to the decrypted client terminal to the security device 140 (916).

이후, 보안 중계 장치(130)는 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 유무와 상관없이 복호화된 클라이언트 단말로 송신할 패킷을 클라이언트 단말의 세션키를 이용해서 암호화하고(918), 클라이언트 단말의 세션키로 암호화된 클라이언트 단말로 송신할 패킷을 클라이언트 단말(110)로 송신한다(920).Thereafter, the security relay 130 encrypts the packet to be transmitted to the decrypted client terminal using the session key of the client terminal regardless of whether there is data to be checked in the packet to be transmitted to the decrypted client terminal (step 918) , And transmits a packet to be transmitted to the client terminal 110 encrypted by the session key of the client terminal to the client terminal 110 (920).

한편, 보안 중계 장치(130)는 보안 장치(140)로 복호화된 패킷을 선택적으로 송신하기 때문에 복호화된 패킷에 포함된 시퀀스 넘버(sequence number)가 일관되게 순차적으로 증가하지 않을 수 있으며, 이로 인해서 보안 장치(140)에서 오류가 발생할 수 있다. 이를 해소하기 위해서 보안 중계 장치(130)는 복호화된 클라이언트 단말로 송신할 패킷을 보안 장치(140)로 송신할 때, 클라이언트 단말(110)로 송신할 패킷들 중에서 보안 장치(140)로 송신한 마지막 패킷의 시퀀스 넘버인 제2 최종 시퀀스 넘버를 확인하고, 복호화된 클라이언트 단말로 송신할 패킷의 시퀀스 넘버를 제2 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 복호화된 클라이언트 단말로 송신할 패킷을 보안 장치(140)로 송신하고, 제2 최종 시퀀스 넘버를 갱신할 수 있다.Meanwhile, since the security relay apparatus 130 selectively transmits the decrypted packet to the security device 140, the sequence number included in the decrypted packet may not consistently increase sequentially, An error may occur in the device 140. In order to solve this problem, when the security relay device 130 transmits a packet to be transmitted to the decrypted client terminal to the security device 140, the security relay device 130 transmits the packet to be transmitted to the security device 140, The sequence number of the packet to be transmitted to the decrypted client terminal is changed to the number obtained by adding 1 to the second final sequence number and is transmitted to the decrypted client terminal with the changed sequence number Send the packet to the secure device 140, and update the second final sequence number.

보안 중계 장치(130)는 복호화된 클라이언트 단말로 송신할 패킷의 시퀀스 넘버를 변경할 때, 복호화된 클라이언트 단말로 송신할 패킷의 헤더에 포함된 5-tuple 값(소스 IP, 목적지 IP, 소스 port, destination port, 프로토콜(udp or tcp))은 그대로 유지한다.When the sequence number of a packet to be transmitted to the decrypted client terminal is changed, the security relay apparatus 130 transmits a 5-tuple value (source IP, destination IP, source port, destination port, protocol (udp or tcp)).

도 10은 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 웹 사이트의 서버로 전달되는 메시지 흐름을 도시한 도면이다. 10 is a diagram illustrating a message flow in which a packet is transmitted to a server of a web site through a security relay device in a security system operating in an active mode according to an embodiment of the present invention.

도 10을 참조하면, 보안 중계 장치(230)는 클라이언트 단말(210)로부터 웹 사이트로 송신하는 패킷을 수신하면(1010), 패킷을 클라이언트 단말의 세션키를 이용해서 복호화한다(1012).Referring to FIG. 10, when the security relay 230 receives a packet transmitted from the client terminal 210 to the web site (1010), it decrypts the packet using the session key of the client terminal (1012).

그리고, 보안 중계 장치(230)는 복호화된 패킷에 검사할 데이터가 존재하는지 확인한다(1014).Then, the security relay apparatus 230 checks whether there is data to be checked in the decrypted packet (1014).

1014단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(230)는 복호화된 패킷을 보안 장치(240)로 송신한다(1016).If it is determined in step 1014 that there is data to be checked, the security relay apparatus 230 transmits the decrypted packet to the security apparatus 240 (1016).

보안 장치(240)는 복호화된 패킷에 포함된 검사할 데이터를 검사하고(1018), 검사결과 검사할 데이터가 정보 유출과 관련이 없으면, 송신허가 명령을 보안 중계 장치(230)로 송신한다(1020). 이때, 보안 장치(240)는 복호화된 패킷을 저장하여 관리할 수도 있다.The security device 240 checks the data to be checked included in the decoded packet (1018), and transmits the transmission permission command to the security relay device 230 if the data to be checked is not related to the information leakage (1020 ). At this time, the security device 240 may store and manage decrypted packets.

보안 중계 장치(230)는 복호화된 패킷에 검사할 데이터가 존재하지 않거나, 보안 장치(240)로부터 송신허가 명령을 수신하는 경우, 복호화된 패킷을 보안 중계 장치의 세션키를 이용해서 암호화하고(1022), 보안 중계 장치의 세션키로 암호화된 패킷을 웹 사이트로 송신한다(1024).When there is no data to be checked in the decrypted packet or the transmission permission command is received from the security device 240, the security relay device 230 encrypts the decrypted packet using the session key of the security relay device (1022 , And transmits the packet encrypted with the session key of the security relay device to the web site (1024).

1018단계에서 보안 장치(240)는 검사할 데이터를 검사하는 방법으로 검사할 데이터가 기설정된 조건을 만족하는지 여부를 검색하여 송신허가 또는 송신차단을 결정하거나 또는 복호화된 패킷을 네트워크 관리자에게 송신하고, 관리자로부터 송신허가 또는 송신차단을 응답 받아 결정할 수 있다.In step 1018, the security device 240 determines whether data to be checked satisfies a predetermined condition by determining whether data to be checked satisfies a predetermined condition, and determines whether transmission is allowed or blocked or transmits a decoded packet to a network manager. It is possible to determine the transmission permission or the transmission blocking from the manager by receiving the response.

도 11은 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 시스템에서 보안 중계 장치를 통해서 패킷이 클라이언트 단말로 전달되는 메시지 흐름을 도시한 도면이다. 11 is a diagram illustrating a message flow in which a packet is transmitted to a client terminal through a security relay device in a security system operating in an active mode according to an embodiment of the present invention.

도 11을 참조하면, 보안 중계 장치(230)는 웹 사이트의 서버(160)로부터 클라이언트 단말(110)로 송신하는 패킷을 수신하면(1110), 패킷을 보안 중계 장치의 세션키를 이용해서 복호화한다(1112).11, when the secure relay apparatus 230 receives a packet transmitted from the server 160 of the web site to the client terminal 110 (1110), it decrypts the packet using the session key of the security relay apparatus (1112).

그리고, 보안 중계 장치(230)는 복호화된 패킷에 검사할 데이터가 존재하는지 확인한다(1114).Then, the security relay apparatus 230 checks whether data to be checked exists in the decoded packet (1114).

1114단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(230)는 복호화된 패킷을 보안 장치(240)로 송신한다(1116).If it is determined in step 1114 that there is data to be checked, the security relay apparatus 230 transmits the decrypted packet to the secure apparatus 240 (step 1116).

보안 장치(240)는 복호화된 패킷에 포함된 검사할 데이터를 검사하고(1118), 검사결과 검사할 데이터가 수신 가능한 데이터이면(예를 들어, 유해 데이터가 아니면), 수신허가 명령을 보안 중계 장치(230)로 송신한다(1120). 이때, 보안 장치(240)는 복호화된 패킷을 저장하여 관리할 수도 있다.The security device 240 checks the data to be checked included in the decoded packet (1118). If the data to be checked is a receivable data (for example, it is not harmful data), the security device 240 transmits a reception permission command to the security relay device (Step 1120). At this time, the security device 240 may store and manage decrypted packets.

보안 중계 장치(230)는 복호화된 패킷에 검사할 데이터가 존재하지 않거나, 보안 장치(2240)로부터 수신허가 명령을 수신하는 경우, 복호화된 패킷을 클라이언트 단말의 세션키를 이용해서 암호화하고(1122), 클라이언트 단말의 세션키로 암호화된 패킷을 클라이언트 단말(110)로 송신한다(1124).When there is no data to be checked in the decrypted packet or the reception permission command is received from the security device 2240, the security relay device 230 encrypts the decrypted packet using the session key of the client terminal (1122) , And transmits the packet encrypted with the session key of the client terminal to the client terminal 110 (1124).

1118단계에서 보안 장치(240)는 검사할 데이터를 검사하는 방법으로 검사할 데이터가 기설정된 조건을 만족하는지 여부를 검색하여 수신허가 또는 수신차단을 결정하거나 또는 복호화된 패킷을 네트워크 관리자에게 송신하고, 관리자로부터 수신허가 또는 수신차단을 응답 받아 결정할 수 있다.In step 1118, the security device 240 determines whether the data to be checked satisfies predetermined conditions by determining whether the data to be checked satisfies a predetermined condition, or decides to block reception or block reception, or transmits the decoded packet to the network manager, It is possible to determine the reception permission or the reception blocking from the manager in response.

도 12는 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 중계 장치에서 클라이언트 단말에서 송신된 패킷을 웹 사이트의 서버로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.FIG. 12 is a diagram illustrating a process of selectively checking a packet transmitted from a client terminal to a server of a web site in a security relay apparatus operating in an active mode according to an embodiment of the present invention.

도 12를 참조하면, 보안 중계 장치(230)는 클라이언트 단말(210)로부터 웹 사이트로 송신하는 패킷을 수신하면(1210), 패킷을 클라이언트 단말의 세션키를 이용해서 복호화한다(1212).Referring to FIG. 12, when the security relay 230 receives a packet transmitted from the client terminal 210 to the web site (1210), it decrypts the packet using the session key of the client terminal (1212).

그리고, 보안 중계 장치(230)는 복호화된 패킷에 검사할 데이터가 존재하는지 확인한다(1214).Then, the security relay apparatus 230 checks whether data to be checked exists in the decrypted packet (1214).

1214단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(230)는 복호화된 패킷을 보안 장치(240)로 송신한다(1216). 이때, 검사할 데이터는 네트워크 통신의 연결 또는 유지를 위한 정보 또는 기설정된 정보를 제외한 모든 정보로, 즉, 외부로 유출되어서 안되는 정보에 해당한다고 볼 수 있다.If it is determined in step 1214 that there is data to be checked, the security relay device 230 transmits the decrypted packet to the security device 240 (1216). At this time, the data to be examined corresponds to all the information except the information for connection or maintenance of the network communication or predetermined information, that is, information that should not be leaked to the outside.

1214단계의 확인결과 검사할 데이터가 존재하지 않건, 보안 장치(240)로부터 송신허가 명령을 수신하면(1218), 보안 중계 장치(230)는 복호화된 패킷을 보안 중계 장치의 세션키를 이용해서 암호화하고(1222), 보안 중계 장치의 세션키로 암호화된 패킷을 웹 사이트로 송신한다(1224).If it is determined in step 1214 that there is no data to be checked and the transmission permission command is received from the security device 240 in step 1218, the security relay device 230 encrypts the decrypted packet using the session key of the security relay device (1222), and transmits the packet encrypted with the session key of the security relay device to the website (1224).

1216단계에서 보안 장치(240)로 복호화된 패킷을 송신한 후에 보안 장치(240)로부터 송신차단 명령을 수신하면(1220), 보안 중계 장치(230)는 클라이언트 단말기(210) 또는 네트워크 관리자에게 클라이언트 단말기(210)에서 송신되는 패킷이 차단되었음을 알리는 메시지를 송신한다(1226).In step 1220, the secure relay apparatus 230 transmits the decrypted packet to the secure device 240 in step 1216 and then receives a transmission blocking command from the secure device 240 in step 1220. The secure relay apparatus 230 transmits the decrypted packet to the client terminal 210, (1226) a message indicating that the packet transmitted from the mobile station 210 has been blocked.

한편, 보안 중계 장치(230)는 보안 장치(240)로 복호화된 패킷을 선택적으로 송신하기 때문에 복호화된 패킷에 포함된 시퀀스 넘버(sequence number)가 일관되게 순차적으로 증가하지 않을 수 있으며, 이로 인해서 보안 장치(240)에서 오류가 발생할 수 있다. 이를 해소하기 위해서 보안 중계 장치(230)는 복호화된 패킷을 보안 장치(240)로 송신할 때, 클라이언트 단말(210)로부터 수신한 패킷들 중에서 보안 장치(240)로 송신한 마지막 패킷의 시퀀스 넘버인 제1 최종 시퀀스 넘버를 확인하고, 복호화된 패킷의 시퀀스 넘버를 제1 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 복호화된 패킷을 보안 장치(240)로 송신하고, 제1 최종 시퀀스 넘버를 갱신할 수 있다.On the other hand, since the security relay device 230 selectively transmits the decrypted packet to the security device 240, the sequence number included in the decrypted packet may not consistently increase sequentially, An error may occur in the device 240. The security relay apparatus 230 transmits the decrypted packet to the secure apparatus 240. The secure relay apparatus 230 transmits the decrypted packet to the secure apparatus 240 by using the sequence number of the last packet transmitted from the secure terminal 240, Changes the sequence number of the decoded packet to a number obtained by adding 1 to the first final sequence number, transmits the decoded packet whose sequence number is changed to the secure device 240, The number can be updated.

보안 중계 장치(230)는 복호화된 패킷의 시퀀스 넘버를 변경할 때, 복호화된 패킷의 헤더에 포함된 5-tuple 값(소스 IP, 목적지 IP, 소스 port, destination port, 프로토콜(udp or tcp))은 그대로 유지한다.5-tuple value (source IP, destination IP, source port, destination port, protocol (udp or tcp)) included in the header of the decoded packet is changed when the security relay device 230 changes the sequence number of the decrypted packet .

도 13은 본 발명의 일 실시 예에 따라 능동 모드로 동작하는 보안 중계 장치에서 웹 사이트의 서버에서 송신된 패킷을 클라이언트 단말로 전달할 때 선택적으로 패킷을 검사하는 과정을 도시한 도면이다.13 is a diagram illustrating a process of selectively checking a packet when a packet transmitted from a server of a web site is transmitted to a client terminal in a security relay apparatus operating in an active mode according to an embodiment of the present invention.

도 13을 참조하면, 보안 중계 장치(230)는 웹 사이트의 서버(260)로부터 클라이언트 단말로 송신할 패킷을 수신하면(1310), 클라이언트 단말로 송신할 패킷을 보안 중계 장치의 세션키를 이용해서 복호화한다(1312).13, when the security relay device 230 receives a packet to be transmitted from the server 260 of the web site to the client terminal (1310), the security relay device 230 transmits the packet to be transmitted to the client terminal using the session key of the security relay device (1312).

그리고, 보안 중계 장치(230)는 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 확인한다(1314).Then, the security relay apparatus 230 checks whether there is data to be checked in the packet to be transmitted to the decrypted client terminal (1314).

1314단계의 확인결과 검사할 데이터가 존재하면, 보안 중계 장치(230)는 복호화된 클라이언트 단말로 송신할 패킷을 보안 장치(240)로 송신한다(1316).If it is determined in step 1314 that there is data to be checked, the security relay device 230 transmits a packet to be transmitted to the decrypted client terminal to the security device 240 (1316).

1314단계의 확인결과 검사할 데이터가 존재하지 않거나, 또는 보안 장치(240)로부터 수신허가 명령을 수신하면(1318), 보안 중계 장치(230)는 복호화된 클라이언트 단말로 송신할 패킷을 클라이언트 단말의 세션키를 이용해서 암호화하고(1322), 클라이언트 단말의 세션키로 암호화된 클라이언트 단말로 송신할 패킷을 클라이언트 단말(210)로 송신한다(1324).If it is determined in step 1314 that there is no data to be checked or a reception permission command is received from the security device 240 in step 1318, the security relay 230 transmits a packet to be transmitted to the decrypted client terminal, (1322), and transmits to the client terminal 210 a packet to be transmitted to the client terminal encrypted with the session key of the client terminal (1324).

1216단계에서 보안 장치(240)로 복호화된 클라이언트 단말로 송신할 패킷을 송신한 후에 보안 장치(240)로부터 수신차단 명령을 수신하면(1320), 보안 중계 장치(230)는 클라이언트 단말기(210) 또는 네트워크 관리자에게 클라이언트 단말기(210)로 송신되는 패킷이 차단되었음을 알리는 메시지를 송신한다(1326).The secure relay 230 transmits the packet to be transmitted to the client terminal decrypted by the secure device 240 in step 1216 and then receives the reception blocking command from the secure device 240 The network manager transmits a message indicating that the packet transmitted to the client terminal 210 is blocked (1326).

한편, 보안 중계 장치(230)는 보안 장치(240)로 복호화된 패킷을 선택적으로 송신하기 때문에 복호화된 패킷에 포함된 시퀀스 넘버(sequence number)가 일관되게 순차적으로 증가하지 않을 수 있으며, 이로 인해서 보안 장치(240)에서 오류가 발생할 수 있다. 이를 해소하기 위해서 보안 중계 장치(230)는 복호화된 클라이언트 단말로 송신할 패킷을 보안 장치(240)로 송신할 때, 클라이언트 단말(210)로 송신할 패킷들 중에서 보안 장치(240)로 송신한 마지막 패킷의 시퀀스 넘버인 제2 최종 시퀀스 넘버를 확인하고, 복호화된 클라이언트 단말로 송신할 패킷의 시퀀스 넘버를 제2 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 복호화된 클라이언트 단말로 송신할 패킷을 보안 장치(240)로 송신하고, 제2 최종 시퀀스 넘버를 갱신할 수 있다.On the other hand, since the security relay device 230 selectively transmits the decrypted packet to the security device 240, the sequence number included in the decrypted packet may not consistently increase sequentially, An error may occur in the device 240. In order to solve this problem, when the security relay device 230 transmits a packet to be transmitted to the decrypted client terminal to the security device 240, the security relay device 230 transmits the packet to be transmitted to the security device 240 among the packets to be transmitted to the client terminal 210 The sequence number of the packet to be transmitted to the decrypted client terminal is changed to the number obtained by adding 1 to the second final sequence number and is transmitted to the decrypted client terminal with the changed sequence number Send the packet to the secure device 240, and update the second final sequence number.

보안 중계 장치(230)는 복호화된 클라이언트 단말로 송신할 패킷의 시퀀스 넘버를 변경할 때, 복호화된 클라이언트 단말로 송신할 패킷의 헤더에 포함된 5-tuple 값(소스 IP, 목적지 IP, 소스 port, destination port, 프로토콜(udp or tcp))은 그대로 유지한다.When the sequence number of a packet to be transmitted to the decrypted client terminal is changed, the security relay apparatus 230 transmits the 5-tuple value (source IP, destination IP, source port, destination port, protocol (udp or tcp)).

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

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

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

이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

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

110; 클라이언트 단말
120; 스위치
130; 보안 중계 장치
140; 보안 장치
150; 인터넷
160; 웹 사이트의 서버
110; Client terminal
120; switch
130; Security relay device
140; Security device
150; Internet
160; Web site server

Claims (14)

보안 중계 장치에서 네트워크 장비에 연결된 클라이언트 단말로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하는 단계;
상기 웹 사이트의 인증서를 이용해서 상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는 단계;
상기 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계;
상기 클라이언트 단말로부터 상기 웹 사이트로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하는 단계;
상기 복호화된 패킷에 검사할 데이터가 존재하는지 확인하는 단계;
확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하면, 상기 복호화된 패킷을 보안 장치로 전달하는 단계; 및
상기 복호화된 패킷을 상기 보안 중계 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신하는 단계
를 포함하고,
상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계는,
상기 웹 사이트에 대응하는 상기 사설 인증서가 존재하지 않으면,
상기 웹 사이트의 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 수집하는 제1 수집 단계;
상기 보안 중계 장치의 인증서로부터 발급자, 공개키 및 지문 알고리즘에 관한 정보를 수집하는 제2 수집 단계;
버전, 일련번호, 서명 알고리즘, 서명 해시 알고리즘에 관한 정보를 생성하는 제1 생성 단계;
상기 제2 수집 단계에서 수집한 상기 지문 알고리즘으로 지문을 생성하는 제2 생성 단계; 및
상기 제1 수집 단계에서 수집된 정보, 상기 제2 수집 단계에서 수집된 정보, 상기 제1생성 단계에서 생성된 정보 및 상기 제2생성 단계에서 생성된 정보를 포함하는 상기 사설 인증서를 생성하는 생성 단계를 포함하는
보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
Detecting from a security relay device a connection from a client terminal connected to the network equipment to a website using secure socket layer communication;
Establishing a Secure Sockets Layer (SSL) session between the security relay device and the web site using the certificate of the web site;
Establishing a secure socket layer session between the client terminal and the security relay device using a private certificate generated using the certificate of the web site;
Decrypting the packet using the session key of the client terminal when receiving the packet transmitted from the client terminal to the website;
Checking whether there is data to be checked in the decoded packet;
Transmitting the decrypted packet to the security device if there is data to be checked in the decrypted packet; And
Encrypting the decrypted packet using the session key of the security relay apparatus and transmitting the decrypted packet to the website
Lt; / RTI >
Wherein establishing a secure socket layer session between the client terminal and the security gateway comprises:
If the private certificate corresponding to the website does not exist,
A first collection step of collecting information on validity period, subject, subject alternative name, extended key usage and basic restriction from the certificate of the website;
A second collection step of collecting information on the issuer, the public key and the fingerprint algorithm from the certificate of the security relay device;
A first generation step of generating information on a version, a serial number, a signature algorithm, and a signature hash algorithm;
A second generating step of generating a fingerprint using the fingerprint algorithm collected in the second collecting step; And
A generating step of generating the private certificate including information collected in the first collecting step, information collected in the second collecting step, information generated in the first generating step, and information generated in the second generating step Containing
A method for selectively inspecting a packet using secure socket layer communication in a security relay device.
제1항에 있어서,
상기 복호화된 패킷을 보안 장치로 전달하는 단계는,
상기 클라이언트 단말로부터 수신한 패킷들 중에서 상기 보안 장치로 송신한 마지막 패킷의 시퀀스 넘버인 제1 최종 시퀀스 넘버를 확인하는 단계;
상기 복호화된 패킷의 시퀀스 넘버를 상기 제1 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 상기 복호화된 패킷을 상기 보안 장치로 송신하는 단계; 및
상기 제1 최종 시퀀스 넘버를 갱신하는 단계
를 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 1,
Wherein the step of delivering the decrypted packet to the security device comprises:
Checking a first final sequence number which is a sequence number of a last packet transmitted from the client terminal to the security device;
Changing the sequence number of the decrypted packet to a number obtained by adding 1 to the first final sequence number and transmitting the decrypted packet with the changed sequence number to the security device; And
Updating the first final sequence number
The method comprising the steps of: receiving a packet from a secure relaying device;
제1항에 있어서,
확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하지 않으면, 상기 복호화된 패킷을 상기 보안 장치로 송신하지 않고, 상기 복호화된 패킷을 상기 보안 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신하는 단계
를 더 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 1,
If it is determined that there is no data to be checked in the decrypted packet, the decrypted packet is transmitted to the web site without encrypting the decrypted packet using the session key of the security device without transmitting the decrypted packet to the security device step
Further comprising the steps of: receiving a packet from the secure relay layer;
제1항에 있어서,
상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층 세션을 맺는 단계는,
상기 보안 중계 장치의 세션키를 생성하는 단계; 및
상기 보안 중계 장치의 세션키를 상기 웹 사이트의 인증서에 포함된 공개키를 이용해서 암호화하여 상기 웹 사이트의 서버로 송신하는 단계
를 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 1,
Wherein establishing a secure socket layer session between the security gateway and the web site comprises:
Generating a session key of the security relay device; And
Encrypting the session key of the security relay device using a public key included in the certificate of the website and transmitting the encrypted session key to the server of the website
The method comprising the steps of: receiving a packet from a secure relaying device;
제1항에 있어서,
상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계는,
상기 클라이언트 단말로부터 상기 사설 인증서에 포함된 공개키로 암호화된 클라이언트 단말의 세션키를 수신하는 단계; 및
상기 사설 인증서에 대응하는 비밀키로 상기 암호화된 클라이언트 단말의 세션키를 복호화해서 상기 클라이언트 단말의 세션키를 획득하는 단계
를 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 1,
Wherein establishing a secure socket layer session between the client terminal and the security gateway comprises:
Receiving a session key of a client terminal encrypted with a public key included in the private certificate from the client terminal; And
Acquiring a session key of the client terminal by decrypting the encrypted session key of the client terminal with a private key corresponding to the private certificate
The method comprising the steps of: receiving a packet from a secure relaying device;
제1항에 있어서,
상기 웹 사이트로부터 상기 클라이언트 단말로 송신할 패킷을 수신하면, 상기 보안 중계 장치의 세션키를 이용해서 상기 클라이언트 단말로 송신할 패킷을 복호화하는 단계;
상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 확인하는 단계;
확인결과 상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하면, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하는 단계; 및
상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 클라이언트 단말기의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계
를 더 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 1,
Decrypting a packet to be transmitted to the client terminal using a session key of the security relay apparatus upon receiving a packet to be transmitted from the website to the client terminal;
Checking whether there is data to be checked in a packet to be transmitted to the decrypted client terminal;
Transmitting a packet to be transmitted to the decrypted client terminal to the security device if data to be checked exists in a packet to be transmitted to the decrypted client terminal; And
Encrypting a packet to be transmitted to the decrypted client terminal using the session key of the client terminal and transmitting the encrypted packet to the client terminal
Further comprising the steps of: receiving a packet from the secure relay layer;
제6항에 있어서,
상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하는 단계는,
상기 클라이언트 단말로 송신할 패킷들 중에서 상기 보안 장치로 송신한 마지막 패킷의 시퀀스 넘버인 제2 최종 시퀀스 넘버를 확인하는 단계;
상기 복호화된 클라이언트 단말로 송신할 패킷의 시퀀스 넘버를 상기 제2 최종 시퀀스 넘버에 1을 더한 수로 변경하고, 시퀀스 넘버가 변경된 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 송신하는 단계; 및
상기 제2 최종 시퀀스 넘버를 갱신하는 단계
를 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 6,
Wherein the step of delivering a packet to be transmitted to the decrypted client terminal to the security device comprises:
Confirming a second final sequence number which is a sequence number of a last packet transmitted to the security device from packets to be transmitted to the client terminal;
Changing a sequence number of a packet to be transmitted to the decrypted client terminal to a number obtained by adding 1 to the second final sequence number and transmitting a packet to be transmitted to the decrypted client terminal with a changed sequence number to the security device; And
Updating the second final sequence number
The method comprising the steps of: receiving a packet from a secure relaying device;
제6항에 있어서,
확인결과 상기 복호화된 상기 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하지 않으면, 검사할 필요가 없음으로 판단하여 상기 복호화된 상기 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하지 않는 단계
를 더 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
The method according to claim 6,
If it is determined that there is no data to be checked in the packet to be transmitted to the decrypted client terminal, it is determined that it is not necessary to check and the packet is not transmitted to the security device
Further comprising the steps of: receiving a packet from the secure relay layer;
삭제delete 삭제delete 보안 중계 장치에서 네트워크 장비에 연결된 클라이언트 단말로부터 보안 소켓 계층 통신을 이용하는 웹 사이트로의 접속을 감지하는 단계;
상기 웹 사이트의 인증서를 이용해서 상기 보안 중계 장치와 상기 웹 사이트 간의 보안 소켓 계층(SSL; Secure Sockets Layer) 세션을 맺는 단계;
상기 웹 사이트의 인증서를 이용해서 생성된 사설 인증서를 이용해서 상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계;
상기 클라이언트 단말로부터 상기 웹 사이트로 송신하는 패킷을 수신하면, 상기 패킷을 상기 클라이언트 단말의 세션키를 이용해서 복호화하는 단계;
상기 복호화된 패킷에 검사할 데이터가 존재하는지 확인하는 단계;
확인결과 상기 복호화된 패킷에 검사할 데이터가 존재하면, 상기 복호화된 패킷을 보안 장치로 전달하는 단계; 및
상기 보안 장치로부터 상기 복호화된 패킷에 대한 송신허가 명령을 수신하면, 상기 복호화된 패킷을 상기 보안 중계 장치의 세션키를 이용해서 암호화하여 상기 웹 사이트로 송신하는 단계
를 포함하고,
상기 클라이언트 단말과 상기 보안 중계 장치 간의 보안 소켓 계층 세션을 맺는 단계는,
상기 웹 사이트에 대응하는 상기 사설 인증서가 존재하지 않으면,
상기 웹 사이트의 인증서로부터 유효기간, 주체, 주체 대체 이름, 확장된 키 사용 및 기본 제한에 관한 정보를 수집하는 제1 수집 단계;
상기 보안 중계 장치의 인증서로부터 발급자, 공개키 및 지문 알고리즘에 관한 정보를 수집하는 제2 수집 단계;
버전, 일련번호, 서명 알고리즘, 서명 해시 알고리즘에 관한 정보를 생성하는 제1 생성 단계;
상기 제2 수집 단계에서 수집한 상기 지문 알고리즘으로 지문을 생성하는 제2 생성 단계; 및
상기 제1 수집 단계에서 수집된 정보, 상기 제2 수집 단계에서 수집된 정보, 상기 제1생성 단계에서 생성된 정보 및 상기 제2생성 단계에서 생성된 정보를 포함하는 상기 사설 인증서를 생성하는 생성 단계를 포함하는
보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
Detecting from a security relay device a connection from a client terminal connected to the network equipment to a website using secure socket layer communication;
Establishing a Secure Sockets Layer (SSL) session between the security relay device and the web site using the certificate of the web site;
Establishing a secure socket layer session between the client terminal and the security relay device using a private certificate generated using the certificate of the web site;
Decrypting the packet using the session key of the client terminal when receiving the packet transmitted from the client terminal to the website;
Checking whether there is data to be checked in the decoded packet;
Transmitting the decrypted packet to the security device if there is data to be checked in the decrypted packet; And
Encrypting the decrypted packet using the session key of the security relay device and transmitting the decrypted packet to the web site upon receiving a transmission permission command for the decrypted packet from the security device
Lt; / RTI >
Wherein establishing a secure socket layer session between the client terminal and the security gateway comprises:
If the private certificate corresponding to the website does not exist,
A first collection step of collecting information on validity period, subject, subject alternative name, extended key usage and basic restriction from the certificate of the website;
A second collection step of collecting information on the issuer, the public key and the fingerprint algorithm from the certificate of the security relay device;
A first generation step of generating information on a version, a serial number, a signature algorithm, and a signature hash algorithm;
A second generating step of generating a fingerprint using the fingerprint algorithm collected in the second collecting step; And
A generating step of generating the private certificate including information collected in the first collecting step, information collected in the second collecting step, information generated in the first generating step, and information generated in the second generating step Containing
A method for selectively inspecting a packet using secure socket layer communication in a security relay device.
제11항에 있어서,
상기 보안 장치로부터 상기 복호화된 패킷에 대한 송신차단 명령을 수신하면, 상기 클라이언트 단말기 또는 네트워크 관리자에게 송신이 차단되었음을 알리는 메시지를 송신하는 단계
를 더 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
12. The method of claim 11,
When receiving a transmission blocking command for the decrypted packet from the security device, transmitting a message to the client terminal or the network manager indicating that the transmission is blocked
Further comprising the steps of: receiving a packet from the secure relay layer;
제12항에 있어서,
상기 웹 사이트로부터 상기 클라이언트 단말로 송신할 패킷을 수신하면, 상기 보안 중계 장치의 세션키를 이용해서 상기 클라이언트 단말로 송신할 패킷을 복호화하는 단계;
상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하는지 확인하는 단계;
확인결과 상기 복호화된 클라이언트 단말로 송신할 패킷에 검사할 데이터가 존재하면, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 보안 장치로 전달하는 단계; 및
상기 보안 장치로부터 상기 복호화된 클라이언트 단말로 송신할 패킷에 대한 수신허가 명령을 수신하면, 상기 복호화된 클라이언트 단말로 송신할 패킷을 상기 클라이언트 단말기의 세션키를 이용해서 암호화하여 상기 클라이언트 단말로 송신하는 단계
를 더 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
13. The method of claim 12,
Decrypting a packet to be transmitted to the client terminal using a session key of the security relay apparatus upon receiving a packet to be transmitted from the website to the client terminal;
Checking whether there is data to be checked in a packet to be transmitted to the decrypted client terminal;
Transmitting a packet to be transmitted to the decrypted client terminal to the security device if data to be checked exists in a packet to be transmitted to the decrypted client terminal; And
Encrypting a packet to be transmitted to the decrypted client terminal using the session key of the client terminal and transmitting the encrypted packet to the client terminal upon receiving a reception permission command for a packet to be transmitted from the security device to the decrypted client terminal;
Further comprising the steps of: receiving a packet from the secure relay layer;
제13항에 있어서,
상기 보안 장치로부터 상기 복호화된 클라이언트 단말로 송신할 패킷에 대한 수신차단 명령을 수신하면, 상기 클라이언트 단말기 또는 네트워크 관리자에게 수신이 차단되었음을 알리는 메시지를 송신하는 단계
를 더 포함하는 보안 중계 장치에서 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법.
14. The method of claim 13,
When receiving a reception blocking command for a packet to be transmitted from the security device to the decrypted client terminal, transmitting to the client terminal or the network manager a message informing that the reception is blocked
Further comprising the steps of: receiving a packet from the secure relay layer;
KR1020160114579A 2016-09-06 2016-09-06 Method for selective inspection of the packet communications using the Secure Sockets Layer KR101881278B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160114579A KR101881278B1 (en) 2016-09-06 2016-09-06 Method for selective inspection of the packet communications using the Secure Sockets Layer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160114579A KR101881278B1 (en) 2016-09-06 2016-09-06 Method for selective inspection of the packet communications using the Secure Sockets Layer

Publications (2)

Publication Number Publication Date
KR20180027235A KR20180027235A (en) 2018-03-14
KR101881278B1 true KR101881278B1 (en) 2018-07-26

Family

ID=61660665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160114579A KR101881278B1 (en) 2016-09-06 2016-09-06 Method for selective inspection of the packet communications using the Secure Sockets Layer

Country Status (1)

Country Link
KR (1) KR101881278B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101971995B1 (en) * 2017-08-29 2019-04-24 주식회사 수산아이앤티 Method for decryping secure sockets layer for security
KR102086739B1 (en) * 2018-06-27 2020-03-09 주식회사 수산아이앤티 Electronic re-signing method to support various digital signature algorithms in secure sockets layer decryption device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018891A1 (en) 2001-06-26 2003-01-23 Rick Hall Encrypted packet inspection
US7827399B1 (en) 2005-07-27 2010-11-02 Adobe Systems Incorporated Certificate processing
US20140195797A1 (en) * 2013-01-09 2014-07-10 Netronome Systems, Inc. Efficient forwarding of encrypted tcp retransmissions

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867130B1 (en) * 2007-02-23 2008-11-06 (주)코리아센터닷컴 System and method of transmitting/receiving security data
KR20090098542A (en) * 2008-03-14 2009-09-17 주식회사 엑스큐어넷 Encryption data communication system using proxy and method for encryption data communication thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018891A1 (en) 2001-06-26 2003-01-23 Rick Hall Encrypted packet inspection
US7827399B1 (en) 2005-07-27 2010-11-02 Adobe Systems Incorporated Certificate processing
US20140195797A1 (en) * 2013-01-09 2014-07-10 Netronome Systems, Inc. Efficient forwarding of encrypted tcp retransmissions

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Steve Piper,"Encrypted Traffic Management for Dummies" Blue Coat Special Edition, Uohn Wilesy & Sons (2015.03.30.)*

Also Published As

Publication number Publication date
KR20180027235A (en) 2018-03-14

Similar Documents

Publication Publication Date Title
US11818108B2 (en) System and method for a multi system trust chain
US9485228B2 (en) Selectively performing man in the middle decryption
KR101275708B1 (en) Network-based data loss prevention system using information of ssl/tls handshaking packet and https access selection block method thereof
CN110198297B (en) Flow data monitoring method and device, electronic equipment and computer readable medium
US9258278B2 (en) Unidirectional deep packet inspection
US11411924B2 (en) Method for performing TLS/SSL inspection based on verified subject name
EP3522473A1 (en) Data transmission method, apparatus and system
WO2018177385A1 (en) Data transmission method, apparatus and device
CN115603932A (en) Access control method, access control system and related equipment
US10819527B2 (en) Secure trust based distribution of digital certificates
US10158610B2 (en) Secure application communication system
KR101881278B1 (en) Method for selective inspection of the packet communications using the Secure Sockets Layer
US20110154469A1 (en) Methods, systems, and computer program products for access control services using source port filtering
CN102045310A (en) Industrial Internet intrusion detection as well as defense method and device
KR101881279B1 (en) Apparatus and method for inspecting the packet communications using the Secure Sockets Layer
US20170237716A1 (en) System and method for interlocking intrusion information
US11388146B2 (en) Secure low-latency trapdoor proxy
CN110892695A (en) Method, device and computer program product for checking connection parameters of a password-protected communication connection during the establishment of a connection
KR101971995B1 (en) Method for decryping secure sockets layer for security
KR102086489B1 (en) Method for decrypting a secure socket layer for securing packets transmitted from a predetermined operating system
KR20190014958A (en) Apparatus and method for access control
KR102086739B1 (en) Electronic re-signing method to support various digital signature algorithms in secure sockets layer decryption device
Aro et al. OPC UA Enables Secure Data Transfer and System Integrations in Private and Public Networks [J]
KR101394542B1 (en) System and method for collection and management of ssl/tls domain name
JP2017188763A (en) Network communication confirmation system and network communication confirmation method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right