KR102086489B1 - 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법 - Google Patents

기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법 Download PDF

Info

Publication number
KR102086489B1
KR102086489B1 KR1020180028267A KR20180028267A KR102086489B1 KR 102086489 B1 KR102086489 B1 KR 102086489B1 KR 1020180028267 A KR1020180028267 A KR 1020180028267A KR 20180028267 A KR20180028267 A KR 20180028267A KR 102086489 B1 KR102086489 B1 KR 102086489B1
Authority
KR
South Korea
Prior art keywords
ssl
packet
client
server
virtual
Prior art date
Application number
KR1020180028267A
Other languages
English (en)
Other versions
KR20190106581A (ko
Inventor
양우석
양철웅
이용환
Original Assignee
주식회사 수산아이앤티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 수산아이앤티 filed Critical 주식회사 수산아이앤티
Priority to KR1020180028267A priority Critical patent/KR102086489B1/ko
Priority to US16/975,520 priority patent/US11601405B2/en
Priority to PCT/KR2019/002629 priority patent/WO2019172663A1/ko
Publication of KR20190106581A publication Critical patent/KR20190106581A/ko
Application granted granted Critical
Publication of KR102086489B1 publication Critical patent/KR102086489B1/ko

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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/286Time to live
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • H04L63/0464Network 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 using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

본 발명은 보안 소켓 계층 복호화 방법에 관한 것으로 SSL 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션이 설정된 후에 상기 클라이언트와 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하고, 상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하고, 상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하고, 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 기술에 관한 것 이다.

Description

기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법{METHOD FOR DECRYPTING A SECURE SOCKET LAYER FOR SECURING PACKETS TRANSMITTED FROM A PREDETERMINED OPERATING SYSTEM}
본 발명은 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법에 관한 기술이다.
기업과 같은 조직에서 많은 정보가 인터넷을 통해서 외부로 유출되고, 또한 외부 네트워크로부터 수많은 공격을 받고 있다.
데이터 유출을 방지와 외부로부터의 공격에 대응하기 위해서 기업은 기업 내의 단말기에서 송신되는 패킷과 외부에서 수신되는 패킷을 검사해서 문제가 있는 연결을 차단하고 있다.
하지만, 단말기가 접속하려는 웹 사이트가 보안 소켓 계층(SSL; Secure Sockets Layer) 통신을 이용하는 경우, 송/수신되는 패킷의 내용이 암호화 되어 전송되기 때문에 데이터 유출 또는 공격 여부를 확인할 수 없는 문제를 가지고 있다.
이를 해결하기 위해서 기존에는 기업은 SSL 통신을 이용하는 외부 사이트와의 통신을 차단하는 방법으로 보안을 유지하였다.
하지만, SSL 통신을 이용하는 외부 사이트를 차단하는 것은 기업의 직원들의 업무 효율을 저해할 수 있으므로, 단순히 차단하는 것이 아닌 SSL 통신을 이용해서 송신되는 패킷도 보안 장치에서도 검사할 수 있는 방법이 요구된다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하고자 도출된 것으로서, 기존의 보안 장치에서도 검사할 수 있도록 복호화해서 제공하는 SSL 복호화 장치에서 SSL 패킷을 복호화해서 보안 장치로 제공하는 방법을 제공하는 것을 목적으로 한다.
구체적으로, 클라이언트가 기설정된 운영체제로 동작하는 경우에 SSL 복호화 장치에서 가상의 클라이언트와 가상의 서버 간의 TCP 세션을 설정하고, 가상의 클라이언트와 가상의 서버 간의 TCP 세션을 설정하는데 송수신되는 패킷을 보안 장치로 송신하고, 클라이언트와 서버 사이에서 송수신되는 SSL 패킷을 중간에서 가로채고 복호화해서 가상의 클라이언트와 가상의 서버 간의 TCP 패킷으로 변경하여 보안 장치로 전달함으로써, SSL 패킷을 처리할 수 없었던 기존의 보안 장치에서도 전달된 TCP 패킷을 검사하는 것만으로도 별다른 수정 없이 암호화 통신을 검사할 수 있도록 하는 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 방법은, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션이 설정된 후에 상기 클라이언트와 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계; 상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계; 상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계; 상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계; 및 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계를 포함한다.
이때, 상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는, 상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치를 배제하고 상기 클라이언트와 상기 서버 간의 SSL을 설정하도록 상기 SSL 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및 상기 클라이언트와 상기 서버 간의 송수신되는 SSL 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계를 더 포함할 수 있다.
이때, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계는, 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 상기 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화하는 단계; 상기 가상의 클라이언트에서 상기 가상의 서버로 전달되는 상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성하는 단계; 상기 제1 TCP 패킷을 상기 보안 장치로 송신하는 단계; 상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성하는 단계; 및 상기 제2 SSL 패킷을 상기 서버로 송신하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 서버로부터 상기 SSL 복호화 장치로 전달되는 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계는, 상기 서버로부터 상기 SSL 복호화 장치로 전달되는 상기 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화하는 단계; 상기 가상의 서버에서 상기 가상의 클라이언트로 전달되는 상기 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성하는 단계; 상기 제2 TCP 패킷을 상기 보안 장치로 송신하는 단계; 상기 복호화된 제3 SSL 패킷의 페이로드를 포함하는 제4 SSL 패킷을 생성하는 단계; 및 상기 제4 SSL 패킷을 상기 클라이언트로 송신하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 SSL 복호화 장치에서 상기 클라이언트와 상기 서버 사이에 TCP 세션이 종료됨을 감지하면, 상기 가상의 클라이언트와 상기 가상의 서버 간에 TCP 세션을 종료하고, TCP 세션을 종료할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계를 더 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달을 요청받으면, 상기 메시지를 포함하는 제5 SSL 패킷을 생성해서 상기 클라이언트로 송신하는 단계를 더 포함할 수 있다.
이때, 상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청은, 상기 보안 장치로부터 상기 클라이언트로 송신하는 상기 메시지를 포함하는 FIN 패킷을 수신하고, 상기 보안 장치로부터 상기 서버로 송신하는 RST 패킷을 수신하는 경우에 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청으로 판단할 수 있다.
이때, 상기 클라이언트에 대응하는 상기 가상의 클라이언트와 상기 서버에 대응하는 상기 가상의 서버 간의 상기 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계는, 상기 클라이언트의 5튜플(tuple)에 대응하는 상기 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 상기 서버의 5튜플에 대응하는 상기 가상의 서버의 5튜플을 매칭하여 저장하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따른 보안 소켓 계층 복호화 방법은, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션의 설정을 위한 TCP 핸드쉐이크에 관한 패킷을 감지하는 단계; 상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계; 상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 서버 간의 TCP 세션이 설정된 후에 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계; 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계; 상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계; 및 상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계를 포함한다.
이때, 상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는, 상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계를 포함할 수 있다.
이때, 보안 소켓 계층 복호화 방법은, 상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치에서 상기 TCP 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및 상기 클라이언트와 상기 서버 간의 송수신되는 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계를 더 포함할 수 있다.
본 발명은 클라이언트와 서버 사이에서 SSL 통신을 중계하고, SSL 통신을 복호화해서 보안 장치로 전달하는 방법에 관한 것으로, 별다른 조치 없이도 기존의 보안 장치로도 복호화된 SSL 패킷을 수신하여 보안 문제를 확인할 수 있다. 또한, 기설정된 운영체제로 동작하는 클라이언트만을 대상으로 SSL 통신을 복호화 할 수 있도록 함으로써, 검사가 클라이언트를 제외할 수 있다.
도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 패킷을 검사할 수 있는 보안 시스템의 계략적인 구성을 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정된 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 보안시스템의 SSL 복호화 장치에서 클라이언트 또는 서버와 SSL 핸드쉐이크 과정을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정되지 않은 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 일 예를 도시한 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 클라이언트가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 7은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 서버가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 8은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 다른 예를 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
이하의 일 실시 예들은 암호화 트래픽을 기존의 보안 장치에서도 검사할 수 있도록 복호화해서 제공하는 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 SSL 패킷을 복호화해서 보안 장치로 제공하는 방법에 관한 것이다.
이하에서는, 본 발명의 일 실시 예에 따른 보안 시스템에서 보안을 위한 보안 소켓 계층 복호화 방법을 첨부된 도 1 내지 도 8을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따라 보안 소켓 계층 통신에서 패킷을 검사할 수 있는 보안 시스템의 계략적인 구성을 도시한 도면이다.
도 1을 참조하면, 보안 시스템은 SSL 복호화 장치와 보안 장치를 포함할 수 있다.
클라이언트(110)는 적어도 하나 이상의 클라이언트가 네트워크에 접속될 수 있다. 예를 들면, 클라이언트는 PC, 스마트 폰과 같은 단말이 될 수 있다.
보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치(120)는 클라이언트(110)과 서버(150) 사이에서 TCP 통신 및 SSL 통신을 중계하고, TCP 패킷은 미러링하여 보안 장치(160)로 전달하고, SSL 패킷은 복호화해서 TCP 패킷으로 변경하여 보안 장치(160)로 전달한다.
이때, SSL 복호화 장치(120)는 기존의 보안 장치(160)에서도 복호화하여 변경된 TCP 패킷을 종래와 같은 방식으로 처리할 수 있도록, 사전에 가상의 클라이언트와 가상의 서버 간의 TCP 세션을 설정하고, 가상의 TCP 세션을 설정할 때 송수신되는 핸드쉐이크 패킷을 보안 장치(160)로 전달할 수 있다.
SSL 복호화 장치(120)의 보다 구체적인 내용은 이후 도 2에서 도 8을 통해서 보다 상세히 후술한다.
보안 장치(160)는 종래의 보안 장치(160)의 동작과 같이 수신되는 패킷에 포함된 데이터를 검사하여, 유출이 금지된 내용이 포함되어 있는지, 또는 바이러스가 포함되어 있는지 등을 검사하고, 클라이언트(110)로 메시지를 전달하거나, 클라이언트(110)과 서버(150) 간의 TCP 세션을 종료시키는 세션 제어 메시지를 송신할 수도 있다.
한편, 네트워크 환경에서 클라이언트(110)로부터 인터넷(140)을 통해서 서버(150)로 패킷이 전달될 때, 방화벽(130)을 통해서 전달될 수 있다.
이하, 상기와 같이 구성된 본 발명에 따른 보안 시스템에서 보안을 위한 보안 소켓 계층 복호화 방법을 아래에서 도면을 참조하여 설명한다.
도 2는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정된 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 2를 참조하면, 클라이언트(110)는 서버(150)와 통신을 하기 위해서 TCP 세션을 설정한다(210). TCP 세션의 설정은 클라이언트(110)는 서버(150) 사이의 핸드쉐이크(3-way handshake)를 통해서 설정될 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 위치하며, 송수신하는 패킷을 통하여 TCP 세션이 설정되었는지 감지할 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정된 후에 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되면, SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하고, 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, SSL 핸드쉐이크에 관한 패킷을 서버(150)로 전달하지 않고, SSL 복호화 장치(120)는 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고(212), SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(214).
이때, SSL 설정은 클라이언트(110)와 SSL 복호화 장치(120) 또는 SSL 복호화 장치(120)와 서버(150) 사이의 SSL 핸드쉐이크(SSL handshake)를 통해서 설정될 수 있다.
도 2를 통해서 SSL 핸드쉐이크를 설명하고 있으나, 위의 SSL 핸드쉐이크 과정에서 일부 과정은 선택적인 과정으로 생략될 수도 있으며, 위의 SSL 핸드쉐이크 과정은 하나의 실시 예로 본 발명의 SSL 핸드쉐이크는 도2의 내용으로 한정되지는 않는다.
도 3은 본 발명의 일 실시 예에 따른 보안시스템의 SSL 복호화 장치에서 클라이언트 또는 서버와 SSL 핸드쉐이크 과정을 도시한 도면이다.
도 3을 참조하면, 본원발명의 SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 위치하여 클라이언트(110)가 서버(150)와 SSL 설정을 수행하려고 하면, 중간에서 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL 설정을 수행한다.
즉, SSL 복호화 장치(120)는 클라이언트(110)와 SSL 설정을 수행할 때는 서버로서 SSL 설정을 수행하고, 서버(150)와 SSL 설정을 수행할 때는 클라이언트로서 SSL 설정을 수행한다.
도 3을 참조하면, Client Hello(310)는 자신이 사용할 SSL의 버전정보, Cipher suite list, 클라이언트 난수를 포함한다. 이때, Cipher suite는 대칭키 암호화 시스템, 공개키 암호화시스템, 해쉬함수를 포함할 수 있다.
Sever Hello(302)는 암호화 방법을 선택화고 서버난수를 포함한다.
Server Certificate(303)는 서버 측의 인증서이다.
Server Key Exchange(304)는 인증서가 없거나 인증서가 서명요으로만 사용되어질 때 송신되는 메시지이다.
Certificate Request(305)는 클라이언트에게 인증서를 요구하는 메시지이다.
Server Hello Done(306)는 서버가 클라이언트로 보낼 미시지가 모두 보내졌음을 알리는 메시지이다.
Client Certificate(307)는 클라이언트 측의 인증서이다.
Client Key Exchange(308)는 PMS 대칭 암호화 키, 메시지 인증코드 생성에 사용되는 46바이트 난수, 서버의 공개키로 만든 암호 등이 포함된다.
Certificate Verify(309)는 클라이언트의 인증서를 서버에서 쉽게확인할 수 있도록 전자서명하여 송신하는 메시지이다. 해당 메시지를 통해서 서버 측에서는 클라이언트의 인증서의 공개키가 유효한지 확인한 수 클라이언트 인증을 종료할 수 있다.
Change Cipher Spec(310)는 클라이언트에서 이후 전송되느 모든 메시지는 서버와 협상된 알고리즘에 의해서 암호화 하겠다는 메시지이다.
Finished(311)는 클라이언트에서 SSL 핸드쉐이크가 완료되었음을 알리는 메시지이다.
Change Cipher Spec(312)는 서버에서 이후 전송되느 모든 메시지는 서버와 협상된 알고리즘에 의해서 암호화 하겠다는 메시지이다.
Finished(313)는 서버에서 SSL 핸드쉐이크가 완료되었음을 알리는 메시지이다.
다시 도 2의 설명으로 돌아와서 SSL 복호화 장치(120)는 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 여부를 확인하기 위해서 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, SSL 핸드쉐이크에 관한 패킷 송신한 클라이언트(110)가 기설정된 운영체제에서 동작하고 있다고 판단한다.
예를 들어 운영체제가 윈도우(windows)인 경우 TTL은 128부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다.
반면 안드로이드(android)나 리눅스(linux)의 경우 TTL은 256또는 64부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다.
기설정된 운영체제가 윈도우인 경우 SSL 복호화 장치(120)는 수신하는 패킷의 IP 헤더에 포함된 TTL이 65에서 128사이의 값(또는 106~127, 112~127 등의 값을 설정할 수 있다.)을 가지면 윈도우라고 판단하고 상술한 바와 같이 SSL 패킷을 복호화할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)에 대응하는 가상의 클라이언트와 서버(150)에 대응하는 가상의 서버 간의 가상의 TCP 세션을 설정하고(216), 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 설정을 위해 송수신하는 패킷을 보안 장치(160)로 송신한다(218).
이때, SSL 복호화 장치(120)는 클라이언트(110)의 5튜플(tuple)에 대응하는 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 서버(150)의 5튜플에 대응하는 가상의 서버의 5튜플을 매칭하여 저장함으로써, 이후 대응하는 장치를 검색할 수 있다. 5튜플은 소스 IP, 소스 포트, 목적지 IP, 목적지 포트, TCP 시퀀스 넘버 및 TCP/UDP 프로토콜 중에서 적어도 하나를 포함할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 SSL 복호화 장치(120)로 전달되는 제1 SSL 패킷을 수신하면(220), 제1 SSL 패킷을 복호화 하고, 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성하여 제2 SSL 패킷을 서버(150)로 송신한다(222).
그리고, SSL 복호화 장치(120)는 가상의 클라이언트에서 가상의 서버로 전달되는 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성하여 보안 장치(160)로 송신한다(224).
그리고, SSL 복호화 장치(120)는 서버(150)로부터 SSL 복호화 장치(120)로 전달되는 제3 SSL 패킷을 수신하면(226), 제3 SSL 패킷을 복호화 하고, 복호화된 제3 SSL 패킷의 페이로드가 포함된 제4 SSL 패킷을 생성하여 제4 SSL 패킷을 클라이언트(110)로 송신한다(228).
그리고, SSL 복호화 장치(120)는 가상의 서버에서 가상의 클라이언트로 전달되는 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성하여 보안 장치(160)로 송신한다(230).
이후, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료(232)가 감지되면, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료하고, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료할 때 송수신하는 패킷을 보안 장치(160)로 송신한다(234). 이때, TCP 세션의 종료는 클라이언트(110)와 서버(150) 사이에서 핸드쉐이크(3-way handshake)를 통해서 종료될 수 있다.
도 4는 본 발명의 일 실시 예에 따른 보안 시스템의 SSL 복호화 장치에서 기설정되지 않은 운영체제로부터 수신된SSL 패킷을 처리하는 과정을 도시한 도면이다.
도 4를 참조하면, 클라이언트(110)는 서버(150)와 통신을 하기 위해서 TCP 세션을 설정한다(410). TCP 세션의 설정은 클라이언트(110)는 서버(150) 사이의 핸드쉐이크(3-way handshake)를 통해서 설정될 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 위치하며, 송수신하는 패킷을 통하여 TCP 세션이 설정되었는지 감지할 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정된 후에 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되면, SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하고, 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이 아니면, 도 2 또는 도 3과 같은 SSL 패킷을 복호화하기 위한 동작을 수행하지 않고, 수신한 패킷을 서버(150)로 바이패스하여 클라이언트(110)와 서버(150) 간의 SSL을 설정할 수 있도록 한다(420). 이때, SSL 설정은 클라이언트(110)와 서버(150) 사이의 SSL 핸드쉐이크(SSL handshake)를 통해서 설정될 수 있다. 이때, SSL 핸드쉐이크는 도 3의 예와 같은 방법을 통해서 SSL이 설정될 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 서버(150)로 전송되는 SSL 패킷을 감지하면 복호화하지 않고, 서버(150)로 바이패스한다(430).
그리고, SSL 복호화 장치(120)는 서버(150)로부터 클라이언트(110)로 전송되는 제2 SSL 패킷을 감지하면 복호화하지 않고, 클라이언트(110)로 바이패스한다(440).
이후, 클라이언트(110) 또는 서버(150)는 클라이언트(110)와 서버(150)간의 통신이 완료되면 TCP 세션을 종료할 수 있다(450). 이때, TCP 세션의 종료는 클라이언트(110)와 서버(150) 사이에서 핸드쉐이크(3-way handshake)를 통해서 종료될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 일 예를 도시한 흐름도이다.
도 5를 참조하면, 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치는 클라이언트(110)와 서버(150) 사이에서 TCP 세션이 설정을 위한 핸드쉐이크(3-way handshake) 과정을 감지함으로써, 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정되었는지 감지한다(510).
그리고, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 TCP 세션이 설정이 후에 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되는지 확인한다(512).
512단계의 확인결과 SSL 핸드쉐이크에 관한 패킷이 감지되면, SSL 복호화 장치(120)는 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인한다(514).
이때, SSL 복호화 장치(120)는 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 여부를 확인하기 위해서 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, SSL 핸드쉐이크에 관한 패킷 송신한 클라이언트(110)가 기설정된 운영체제에서 동작하고 있다고 판단한다. 예를 들어 운영체제가 윈도우(windows)인 경우 TTL은 128부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 반면 안드로이드(android)나 리눅스(linux)의 경우 TTL은 256또는 64부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 기설정된 운영체제가 윈도우인 경우 SSL 복호화 장치(120)는 수신하는 패킷의 IP 헤더에 포함된 TTL이 65에서 128사이의 값(또는 106~127, 112~127 등의 값을 설정할 수 있다.)을 가지면 윈도우라고 판단하고 상술한 바와 같이 SSL 패킷을 복호화할 수 있다.
514단계의 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(516). 이때, SSL 핸드쉐이크는 도 3의 예와 같은 방법을 통해서 SSL이 설정될 수 있다.
SSL 복호화 장치(120)는 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(516).
그리고, SSL 복호화 장치(120)는 클라이언트(110)에 대응하는 가상의 클라이언트와 서버(150)에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 설정을 위해 송수신하는 패킷을 보안 장치(160)로 송신한다(518).
이때, SSL 복호화 장치(120)는 클라이언트(110)의 5튜플(tuple)에 대응하는 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 서버(150)의 5튜플에 대응하는 가상의 서버의 5튜플을 매칭하여 저장함으로써, 이후 대응하는 장치를 검색할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 SSL 복호화 장치(120)로 전달되는 제1 SSL 패킷을 수신하는지 확인한다(520).
520단계의 확인 결과 제1 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 제1 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제1 SSL 패킷을 다시 암호화해서 서버(150)로 송신한다(522). 이후, SSL 복호화 장치(120)는 524단계로 진행한다.
520단계의 확인결과 제1 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 서버(150)로부터 SSL 복호화 장치(120)로 전달되는 제3 SSL 패킷을 수신하는지 확인한다(524).
524단계의 확인 결과 제3 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 3 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제3 SSL 패킷을 다시 암호화해서 클라이언트(110)로 송신한다(526). 이후, SSL 복호화 장치(120)는 528단계로 진행한다.
524단계의 확인결과 제3 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받는지 확인한다(528).
528단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받으면, SSL 복호화 장치(120)는 메시지를 포함하는 제5 SSL 패킷을 생성해서 클라이언트(110)로 송신한다(530). 이후, SSL 복호화 장치(120)는 536단계로 진행한다.
528단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받지 않으면, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지됨을 확인한다(536).
536단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되지 않으면, SSL 복호화 장치(120)는 520단계로 돌아가서 이후 과정을 반복 수행한다.
536단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되면, SSL 복호화 장치(120)는 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료하고, 종료할 때 송수신하는 패킷을 보안 장치(160)로 송신한다(538).
한편, 514단계의 확인결과SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이 아니면, SSL 복호화 장치(120)는 클라이언트(110)로부터 수신되는 SSL 패킷을 바이패스(bypass)해서 서버(150)로 전달되도록 한다(540).
도 6은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 클라이언트가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 6을 참조하면, 도 6의 과정은 도 5의 522단계를 보다 구체적으로 도시한 것으로, SSL 복호화 장치(120)는 제1 SSL 패킷을 복호화 한다(610).
그리고, SSL 복호화 장치(120)는 가상의 클라이언트에서 가상의 서버로 전달되는 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성한다(612).
그리고, SSL 복호화 장치(120)는 제1 TCP 패킷을 보안 장치(160)로 송신한다(614).
그리고, SSL 복호화 장치(120)는 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성한다(616).
그리고, SSL 복호화 장치(120)는 제2 SSL 패킷을 서버(150)로 송신한다(618).
도 7은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 서버가 송신한 SSL 패킷을 처리하는 과정을 보다 상세하게 도시한 흐름도이다.
도 7을 참조하면, 도 7의 과정은 도 7의 526단계를 보다 구체적으로 도시한 것으로, SSL 복호화 장치(120)는 제3 SSL 패킷을 복호화 한다(710).
그리고, SSL 복호화 장치(120)는 가상의 서버에서 가상의 클라이언트로 전달되는 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성한다(712).
그리고, SSL 복호화 장치(120)는 제2 TCP 패킷을 보안 장치(160)로 송신한다(714).
그리고, SSL 복호화 장치(120)는 복호화된 제3 SSL 패킷의 페이로드를 포함하는 제4 SSL 패킷을 생성한다(716).
그리고, SSL 복호화 장치(120)는 제4 SSL 패킷을 클라이언트(110)로 송신한다(718).
도 8은 본 발명의 일 실시 예에 따른 SSL 복호화 장치에서 SSL 패킷을 처리하는 과정의 다른 예를 도시한 흐름도이다.
도 8을 참조하면, SSL 복호화 장치(120)는 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션의 설정을 위한 TCP 핸드쉐이크에 관한 패킷을 감지하면(810), TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인한다(811).
이때, SSL 복호화 장치(120)는 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 여부를 확인하기 위해서 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, SSL 핸드쉐이크에 관한 패킷 송신한 클라이언트(110)가 기설정된 운영체제에서 동작하고 있다고 판단한다. 예를 들어 운영체제가 윈도우(windows)인 경우 TTL은 128부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 반면 안드로이드(android)나 리눅스(linux)의 경우 TTL은 256또는 64부터 시작해서 홉(hop)을 거칠 때 마다 1씩 감소하는 특징을 가지고 있습니다. 기설정된 운영체제가 윈도우인 경우 SSL 복호화 장치(120)는 수신하는 패킷의 IP 헤더에 포함된 TTL이 65에서 128사이의 값(또는 106~127, 112~127 등의 값을 설정할 수 있다.)을 가지면 윈도우라고 판단할 수 있다.
811단계의 확인결과, TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에서 TCP 세션이 설정되도록 한다(812).
그리고, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷(예를 들어, SSL Hello 패킷)이 감지되는지 확인한다(814).
814단계의 확인결과 SSL 핸드쉐이크에 관한 패킷이 감지되면, SSL 복호화 장치(120)는 클라이언트(110)와 SSL 복호화 장치(120) 간의 SSL을 설정하고, SSL 복호화 장치(120)와 서버(150) 간의 SSL을 설정한다(816). 이때, SSL 핸드쉐이크는 도 3의 예와 같은 방법을 통해서 SSL이 설정될 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)에 대응하는 가상의 클라이언트와 서버(150)에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 설정을 위해 송수신하는 패킷을 보안 장치(160)로 송신한다(818).
이때, SSL 복호화 장치(120)는 클라이언트(110)의 5튜플(tuple)에 대응하는 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 서버(150)의 5튜플에 대응하는 가상의 서버의 5튜플을 매칭하여 저장함으로써, 이후 대응하는 장치를 검색할 수 있다.
그리고, SSL 복호화 장치(120)는 클라이언트(110)로부터 SSL 복호화 장치(120)로 전달되는 제1 SSL 패킷을 수신하는지 확인한다(820).
820단계의 확인 결과 제1 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 제1 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제1 SSL 패킷을 다시 암호화해서 서버(150)로 송신한다(822). 이후, SSL 복호화 장치(120)는 824단계로 진행한다.
820단계의 확인결과 제1 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 서버(150)로부터 SSL 복호화 장치(120)로 전달되는 제3 SSL 패킷을 수신하는지 확인한다(824).
824단계의 확인 결과 제3 SSL 패킷을 수신하면, SSL 복호화 장치(120)는 3 SSL 패킷을 복호화해서 보안 장치(160)로 송신하고, 복호화된 제3 SSL 패킷을 다시 암호화해서 클라이언트(110)로 송신한다(826). 이후, SSL 복호화 장치(120)는 828단계로 진행한다.
824단계의 확인결과 제3 SSL 패킷이 수신되지 않으면, SSL 복호화 장치(120)는 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받는지 확인한다(828).
828단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받으면, SSL 복호화 장치(120)는 메시지를 포함하는 제5 SSL 패킷을 생성해서 클라이언트(110)로 송신한다(830). 이후, SSL 복호화 장치(120)는 836단계로 진행한다.
828단계의 확인결과 보안 장치(160)로부터 클라이언트(110)로의 메시지의 전달을 요청 받지 않으면, SSL 복호화 장치(120)는 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지됨을 확인한다(836).
836단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되지 않으면, SSL 복호화 장치(120)는 520단계로 돌아가서 이후 과정을 반복 수행한다.
836단계의 확인결과 클라이언트(110)와 서버(150) 사이에 TCP 세션의 종료가 감지되면, SSL 복호화 장치(120)는 가상의 클라이언트와 가상의 서버 간에 TCP 세션을 종료하고, 종료할 때 송수신하는 패킷을 보안 장치(160)로 송신한다(838).
한편, 811단계의 확인결과TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이 아니면, SSL 복호화 장치(120)는 클라이언트(110)로부터 수신되는 패킷을 바이패스(bypass)해서 서버(150)로 전달되도록 한다(840).
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (14)

  1. 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션이 설정된 후에 상기 클라이언트와 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계;
    상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계;
    상기 SSL 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계;
    상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계;
    상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계;
    상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치를 배제하고 상기 클라이언트와 상기 서버 간의 SSL을 설정하도록 상기 SSL 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및
    상기 클라이언트와 상기 서버 간의 송수신되는 SSL 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  2. 제1항에 있어서,
    상기 SSL 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는,
    상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계는,
    상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 상기 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화하는 단계;
    상기 가상의 클라이언트에서 상기 가상의 서버로 전달되는 상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제1 TCP 패킷을 생성하는 단계;
    상기 제1 TCP 패킷을 상기 보안 장치로 송신하는 단계;
    상기 복호화된 제1 SSL 패킷의 페이로드가 포함된 제2 SSL 패킷을 생성하는 단계; 및
    상기 제2 SSL 패킷을 상기 서버로 송신하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  5. 제1항에 있어서,
    상기 서버로부터 상기 SSL 복호화 장치로 전달되는 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  6. 제5항에 있어서,
    상기 제3 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제3 SSL 패킷을 다시 암호화해서 상기 클라이언트로 송신하는 단계는,
    상기 서버로부터 상기 SSL 복호화 장치로 전달되는 상기 제3 SSL 패킷을 수신하면, 상기 제3 SSL 패킷을 복호화하는 단계;
    상기 가상의 서버에서 상기 가상의 클라이언트로 전달되는 상기 복호화된 제3 SSL 패킷의 페이로드가 포함된 제2 TCP 패킷을 생성하는 단계;
    상기 제2 TCP 패킷을 상기 보안 장치로 송신하는 단계;
    상기 복호화된 제3 SSL 패킷의 페이로드를 포함하는 제4 SSL 패킷을 생성하는 단계; 및
    상기 제4 SSL 패킷을 상기 클라이언트로 송신하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  7. 제1항에 있어서,
    상기 SSL 복호화 장치에서 상기 클라이언트와 상기 서버 사이에 TCP 세션이 종료됨을 감지하면, 상기 가상의 클라이언트와 상기 가상의 서버 간에 TCP 세션을 종료하고, TCP 세션을 종료할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  8. 제1항에 있어서,
    상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달을 요청받으면, 상기 메시지를 포함하는 제5 SSL 패킷을 생성해서 상기 클라이언트로 송신하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  9. 제8항에 있어서,
    상기 SSL 복호화 장치에서 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청은,
    상기 보안 장치로부터 상기 클라이언트로 송신하는 상기 메시지를 포함하는 FIN 패킷을 수신하고, 상기 보안 장치로부터 상기 서버로 송신하는 RST 패킷을 수신하는 경우에 상기 보안 장치로부터 상기 클라이언트로의 메시지의 전달 요청으로 판단하는
    보안 소켓 계층 복호화 방법.
  10. 제1항에 있어서,
    상기 클라이언트에 대응하는 상기 가상의 클라이언트와 상기 서버에 대응하는 상기 가상의 서버 간의 상기 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 상기 보안 장치로 송신하는 단계는,
    상기 클라이언트의 5튜플(tuple)에 대응하는 상기 가상의 클라이언트의 5튜플을 매칭하여 저장하고, 상기 서버의 5튜플에 대응하는 상기 가상의 서버의 5튜플을 매칭하여 저장하는 단계
    를 더 포함하는 보안 소켓 계층 복호화 방법.
  11. 보안 소켓 계층(SSL; Secure Sockets Layer) 복호화 장치에서 클라이언트와 서버 간의 TCP(Transmission Control Protocol) 세션의 설정을 위한 TCP 핸드쉐이크에 관한 패킷을 감지하는 단계;
    상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계;
    상기 TCP 핸드쉐이크에 관한 패킷이 기설정된 운영체제에서 송신된 패킷이면, 상기 클라이언트와 상기 서버 간의 TCP 세션이 설정된 후에 상기 서버 간의 SSL을 연결하기 위한 SSL 핸드쉐이크에 관한 패킷을 감지하는 단계;
    상기 클라이언트와 상기 SSL 복호화 장치 간의 SSL을 설정하고, 상기 SSL 복호화 장치와 상기 서버 간의 SSL을 설정하는 단계;
    상기 클라이언트에 대응하는 가상의 클라이언트와 상기 서버에 대응하는 가상의 서버 간의 TCP 세션을 설정하고, 상기 TCP 세션을 설정할 때 상기 가상의 클라이언트와 상기 가상의 서버 간에 송수신하는 패킷을 보안 장치로 송신하는 단계;
    상기 클라이언트로부터 상기 SSL 복호화 장치로 전달되는 제1 SSL 패킷을 수신하면, 상기 제1 SSL 패킷을 복호화해서 상기 보안 장치로 송신하고, 상기 복호화된 제1 SSL 패킷을 다시 암호화해서 상기 서버로 송신하는 단계;
    상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷이 아니면, 상기 SSL 복호화 장치에서 상기 TCP 핸드쉐이크에 관한 패킷이 상기 서버로 전달되도록 바이패스(bypass)하는 단계; 및
    상기 클라이언트와 상기 서버 간의 송수신되는 패킷을 상기 SSL 복호화 장치에서 바이패스하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  12. 제11항에 있어서,
    상기 TCP 핸드쉐이크에 관한 패킷이 상기 기설정된 운영체제에서 송신된 패킷인지 확인하는 단계는,
    상기 패킷의 IP 헤더에 포함된 폐기잔여시간(TTL; Time To Live) 정보를 확인하고, 상기 폐기잔여시간의 값이 기설정된 범위에 포함되어 있으면, 상기 패킷을 송신한 운영체제가 상기 기설정된 운영체제라고 확인하는 단계
    를 포함하는 보안 소켓 계층 복호화 방법.
  13. 삭제
  14. 제1항, 제2항 및 제4항 내지 제12항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020180028267A 2018-03-09 2018-03-09 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법 KR102086489B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180028267A KR102086489B1 (ko) 2018-03-09 2018-03-09 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법
US16/975,520 US11601405B2 (en) 2018-03-09 2019-03-07 Method for decoding secure socket layer for security of packet transmitted in preset operating system
PCT/KR2019/002629 WO2019172663A1 (ko) 2018-03-09 2019-03-07 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028267A KR102086489B1 (ko) 2018-03-09 2018-03-09 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법

Publications (2)

Publication Number Publication Date
KR20190106581A KR20190106581A (ko) 2019-09-18
KR102086489B1 true KR102086489B1 (ko) 2020-03-09

Family

ID=67845774

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028267A KR102086489B1 (ko) 2018-03-09 2018-03-09 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법

Country Status (3)

Country Link
US (1) US11601405B2 (ko)
KR (1) KR102086489B1 (ko)
WO (1) WO2019172663A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170093824A1 (en) * 2015-09-30 2017-03-30 Imperva, Inc. Virtual encryption patching using multiple transport layer security implementations

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496662B1 (en) * 2003-05-12 2009-02-24 Sourcefire, Inc. Systems and methods for determining characteristics of a network and assessing confidence
KR20090098542A (ko) 2008-03-14 2009-09-17 주식회사 엑스큐어넷 프록시를 이용한 암호화 데이터 통신시스템 및 암호화데이터 통신방법
KR101294280B1 (ko) * 2011-08-31 2013-08-23 (주)소만사 패킷 미러링 방식으로 암호화된 https 통신 데이터를 모니터링하여 개인정보유출을 방지하는 개인정보 유출 방지 시스템 및 방법
US10367785B2 (en) * 2013-10-01 2019-07-30 Perfecta Federal Llc Software defined traffic modification system
US9602498B2 (en) 2013-10-17 2017-03-21 Fortinet, Inc. Inline inspection of security protocols
US10708233B2 (en) * 2017-03-30 2020-07-07 Zscaler, Inc. Identification of certificate pinned mobile applications in cloud based security systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170093824A1 (en) * 2015-09-30 2017-03-30 Imperva, Inc. Virtual encryption patching using multiple transport layer security implementations

Also Published As

Publication number Publication date
US11601405B2 (en) 2023-03-07
US20210014202A1 (en) 2021-01-14
KR20190106581A (ko) 2019-09-18
WO2019172663A1 (ko) 2019-09-12

Similar Documents

Publication Publication Date Title
US11818108B2 (en) System and method for a multi system trust chain
EP3142327B1 (en) Intermediate network entity
CN109413060B (zh) 报文处理方法、装置、设备及存储介质
US7584505B2 (en) Inspected secure communication protocol
US8886934B2 (en) Authorizing physical access-links for secure network connections
TW564624B (en) Non-invasive SSL payload processing for IP packet using streaming SSL parsing
US8418242B2 (en) Method, system, and device for negotiating SA on IPv6 network
WO2017067160A1 (zh) 基于mptcp的主流连接建立方法及装置
US20190068762A1 (en) Packet Parsing Method and Device
CN113904809B (zh) 一种通信方法、装置、电子设备及存储介质
KR100948604B1 (ko) 서버 기반 이동 인터넷 프로토콜 시스템에 있어서 보안방법
US20170127280A1 (en) Secure handling of secure socket layer ("ssl") traffic
WO2009082950A1 (fr) Procédé, dispositif et système de distribution de clés
CN112839062B (zh) 夹杂鉴权信号的端口隐藏方法和装置、设备
CN110049024B (zh) 一种数据传输方法、中转服务器及接入网点服务器
KR20190024581A (ko) 보안을 위한 보안 소켓 계층 복호화 방법
KR102086489B1 (ko) 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법
JP2004194196A (ja) パケット通信認証システム、通信制御装置及び通信端末
KR101881278B1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법
Sangster et al. A posture transport protocol over TLS (PT-TLS)
JP2008199420A (ja) ゲートウェイ装置および認証処理方法
CN113950802A (zh) 用于执行站点到站点通信的网关设备和方法
KR101448711B1 (ko) 통신 암호화를 통한 보안시스템 및 보안방법
KR20190014958A (ko) 접속 제어 장치 및 방법
WO2017024588A1 (zh) 业务处理方法及装置

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
GRNT Written decision to grant