KR102090138B1 - 세션 관리 방법 및 이를 이용한 보안중계장치 - Google Patents

세션 관리 방법 및 이를 이용한 보안중계장치 Download PDF

Info

Publication number
KR102090138B1
KR102090138B1 KR1020180167848A KR20180167848A KR102090138B1 KR 102090138 B1 KR102090138 B1 KR 102090138B1 KR 1020180167848 A KR1020180167848 A KR 1020180167848A KR 20180167848 A KR20180167848 A KR 20180167848A KR 102090138 B1 KR102090138 B1 KR 102090138B1
Authority
KR
South Korea
Prior art keywords
session
received packet
packet
nat
session table
Prior art date
Application number
KR1020180167848A
Other languages
English (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 KR1020180167848A priority Critical patent/KR102090138B1/ko
Application granted granted Critical
Publication of KR102090138B1 publication Critical patent/KR102090138B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2571NAT traversal for identification, e.g. for authentication or billing 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2589NAT traversal over a relay server, e.g. traversal using relay for network address translation [TURN]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

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

Abstract

본 발명은 세션 관리 방법 및 이를 이용한 보안중계장치에 관한 것이다. 본 발명에 따른 방법은 수신 패킷이 SYN 패킷이면, NAT 기반 보안장치 경유 여부를 확인하는 단계, 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이 아니면, 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제1 세션 정보를 세션 테이블에 등록하는 단계, 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이면, 수신 패킷의 트래픽 방향에 따라 선택되는 수신 패킷의 목적지 주소 또는 출발지 주소, TCP 시퀀스 번호, IP 헤더 식별자가 일치하고, 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인 조건을 만족하는 제1 세션 정보가 세션 테이블에 있는지 조회하는 단계, 그리고 조건을 만족하는 세션 정보가 세션 테이블에서 조회되면, 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 세션 테이블에 등록하는 단계를 포함한다.

Description

세션 관리 방법 및 이를 이용한 보안중계장치{Session Management Method and Secure Intermediary Apparatus Using Thereof}
본 발명은 세션 관리 방법 및 이를 이용한 보안중계장치에 관한 것이다.
일반적으로 웹 서비스는 대부분 html 기반의 텍스트로 구성되어 있고 HTTP 프로토콜을 이용하여 서비스가 된다. 하지만 다양한 보안 위협과 취약점 등이 증가 하고 중요 정보 등의 유출 사례 등의 피해가 발생함으로 인해 주요 웹 사이트에서도 HTTP가 아니라 HTTPS를 사용하는 경우가 일반적이다.
SSL(Secure Sockets Layer)이나 TLS(Transport Layer Security) 등으로 암호화된 패킷을 복호화하기 위해선 인증서와 개인키가 필요하다. 또 이러한 전송구간 암호화 프로토콜을 이용하여 암호화 통신을 하는 프로토콜은 HTTPS(HTTP Secure), FTPS(FTP Secure), SMTPS(Simple Mail Transfer Protocol Secure), LDAPS(LDAP over SSL) 등 다양하게 존재한다.
암호화된 패킷에 대한 보안기능 수행을 위해선 복호화에 필요한 인증서와 개인키에 대한 관리가 필요하다. 더불어 암호화된 패킷과 암호화 되지 않은 일반 평문 패킷들이 혼용되는 환경에서는 정상적인 서비스를 위해선 복호화 전과 후에 대한 세션 관리가 필수적이다. 특히 클라이언트와 서버 사이에서 중계기로서의 대리 통신을 수행하는 프록시 형태로 동작하며 복호화된 패킷을 다른 보안 장비로 전달하고, 결과를 다시 암호화하는 보안중계장치에서는 해당 세션 관리가 보안 기능 수행 및 정상적인 서비스 연결을 위해 매우 중요하다.
통상적으로 세션 관리를 위해선 네트워크 환경에 따라 변하지 않는 요소를 기반으로 한 관리가 필요하며, 일반적으로 대상보안 장비를 기준으로 최초 접속 사용자의 IP(SRC IP) 와 Port(SRC Port), 목적지 IP(DST IP)와 Port(DST Port)를 기반으로 클라이언트 세션과 서버 세션을 각각 구분 하여 관리한다.
하지만 NAT(Network Address Translation) 환경에선 해당 NAT 기반 보안장치의 특성에 따라 출발지 IP와 Port가 변경될 수 있다. 이 경우 중간에서(보안중계장치) 암호화된 패킷을 복호화하고, IP와 Port를 기반으로 세션 관리를 할 경우 복호화 전과 후의 패킷이 NAT 기반 보안장치를 기준으로 전혀 다른 세션으로 인지하게 되어 정상적인 서비스가 이뤄질 수 없다. 특히 단일 장비(NAT 기반 보안장치)에서의 복호화가 아닌 암/복호화 중계 장치에서 복호화된 패킷이 NAT 환경을 경유하는 경우에는 단순히 IP와 Port 기반의 세션 관리 방식으로는 정상적인 서비스가 불가능하다.
따라서 본 발명이 해결하고자 하는 기술적 과제는 SSL이나 TLS로 암호화된 패킷을 복호화한 후에 보안중계장치를 통해 NAT 환경을 경유하는 경우 NAT 처리 전후의 암복호화된 패킷에 대한 세션을 유지관리하는 방법 및 이를 이용하는 장치를 제공하는 것이다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 보안중계장치의 세션 관리 방법은 수신 패킷이 SYN 패킷이면, NAT(Network Address Translation) 기반 보안장치 경유 여부를 확인하는 단계, 상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이 아니면, 상기 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호(sequence number), IP 헤더 식별자(identification) 및 세션 테이블 등록 시간을 포함하는 제1 세션 정보를 세션 테이블에 등록하는 단계, 상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이면, 상기 수신 패킷의 트래픽 방향에 따라 선택되는 상기 수신 패킷의 목적지 주소 또는 출발지 주소, TCP 시퀀스 번호, IP 헤더 식별자가 일치하고, 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인 조건을 만족하는 상기 제1 세션 정보가 상기 세션 테이블에 있는지 조회하는 단계, 그리고 상기 조건을 만족하는 세션 정보가 상기 세션 테이블에서 조회되면, 상기 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 상기 세션 테이블에 등록하는 단계를 포함한다.
상기 조건을 만족하는 세션 정보가 상기 세션 테이블에 있는지 조회하는 단계에서, 상기 수신 패킷의 트래픽 방향이 아웃바운드이면 상기 수신 패킷의 목적지 주소가 선택되고, 상기 수신 패킷의 트래픽 방향이 인바운드이면 상기 수신 패킷의 출발지 주소가 선택될 수 있다.
상기 방법은 상기 조건을 만족하는 제1 세션 정보가 상기 세션 테이블에서 조회되지 않으면, 상기 수신 패킷을 바이패스하는 단계를 더 포함할 수 있다.
상기 제1 세션 정보는 NAT 처리 전의 주소로 등록되고, 상기 제2 세션 정보는 NAT 처리 후의 주소로 등록될 수 있다.
상기 제1 세션 정보는, 상기 수신된 SYN 패킷의 세션이 암복호화 처리 대상 세션인 경우, 상기 세션 테이블에 등록될 수 있다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 보안중계장치는, 수신 패킷이 SYN 패킷이면 NAT(Network Address Translation) 기반 보안장치 경유 여부를 확인하고, 상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이 아니면 상기 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호(sequence number), IP 헤더 식별자(identification) 및 세션 테이블 등록 시간을 포함하는 제1 세션 정보를 세션 테이블에 등록하며, 상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이면, 상기 수신 패킷의 트래픽 방향에 따라 선택되는 상기 수신 패킷의 목적지 주소 또는 출발지 주소, TCP 시퀀스 번호, IP 헤더 식별자가 일치하고, 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인 조건을 만족하는 상기 제1 세션 정보가 상기 세션 테이블에 있는지 조회하고, 상기 조건을 만족하는 세션 정보가 상기 세션 테이블에서 조회되면 상기 수신 패킷의 출발지 주소 및 포트, 목적지 주소 및 포트, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 상기 세션 테이블에 등록할 수 있다.
상기 보안중계장치는, 상기 수신 패킷이 SYN 패킷으로 상기 NAT 기반 보안장치를 경유한 패킷이 아니면 복호화를 하고, 상기 수신 패킷이 상기 NAT 기반 보안장치를 경유한 SYN 패킷으로 상기 조건을 만족하는 제1 세션 정보가 상기 세션 테이블에서 조회되면 암호화를 하며, 상기 수신 패킷이 SYN 패킷이 아니고 상기 세션 테이블에 상기 수신 패킷의 출발지 주소와 목적지 주소가 일치하는 세션 정보가 조회되면 복호화를 할 수 있다.
상기한 기술적 과제를 해결하기 위한 본 발명에 따른 세션 관리 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체를 포함할 수 있다.
본 발명에 의하면 사용자 인터넷 접속 경로 상에 보안중계장치를 통해 암복호화된 패킷이 NAT 기반 보안장치를 경유하더라도, NAT 처리 전후의 암복호화된 패킷에 대한 세션을 유지 관리할 수 있다.
도 1은 본 발명에 따른 세션 관리 기능을 가지는 보안중계장치를 통한 사용자 인터넷 접속 관계를 나타낸 도면이다.
도 2는 본 발명에 따른 보안중계장치의 동작을 설명하기 위한 흐름도이다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 발명에 따른 세션 관리 기능을 가지는 보안중계장치를 통한 사용자 인터넷 접속 관계를 나타낸 도면이다.
도 1을 참고하면, 보안중계장치(100)는 SSL이나 TLS로 암호화된 패킷을 클라이언트(10)와 서버(20) 사이에서 중계한다. 보안중계장치(100)는 클라이언트(10)나 서버(20)로부터 SSL이나 TLS로 암호화되어 전달되는 패킷을 복호화한 다음 NAT 기반 보안장치(200)로 전달할 수 있다. 그리고 보안중계장치(100)로 전달되는 패킷을 암호화하여 클라이언트(10)나 서버(20)로 전달할 수 있다.
NAT 기반 보안장치(200)에서 패킷에 대한 NAT(Network Address Translation) 처리를 하는 경우, NAT 처리 전과 후에 출발지 주소(IP와 Port)와 목적지 주소(IP와 Port)가 달라질 수 있다.
따라서 패킷이 NAT 기반 보안장치(200)를 경유하여 IP나 Port가 바뀌는 경우, NAT 기반 보안장치(200)의 경유 전후(복호화 전후)의 세션이 전혀 다르게 관리될 수 있다.
그런데 일반적인 NAT 환경에서 클라이언트 IP나 Port는 변하지만, IP 헤더의 식별자(identification)나 TCP 헤더의 시퀀스 번호(sequence number)는 변하지 않는다. 따라서 최초의 SYN 패킷을 기준으로 미리 정해진 시간 내의 IP 헤더의 식별자나 TCP 헤더의 시퀀스 번호가 동일하면 동일한 세션으로 간주하여, 복호화 전과 후의 세션을 동일 세션으로 처리할 수 있다.
그러면 도 2를 참조하여 본 발명에 따른 보안중계장치의 동작을 보다 자세하게 설명한다.
도 2는 본 발명에 따른 보안중계장치의 동작을 설명하기 위한 흐름도이다.
도 2를 참고하면, 먼저 보안중계장치(100)는 패킷이 수신되면(S2100), 해당 수신 패킷이 SYN 패킷인지 확인한다(S2110).
다음으로 보안중계장치(100)는 수신 패킷이 SYN 패킷이면(S2110-Y), NAT 기반 보안장치(200)를 경유하였는지 확인한다(S2120). 도 1을 참고하면, 보안중계장치(100)는 포트(eht2)나 포트(eht4)로 해당 패킷이 수신되었으면 NAT 기반 보안장치(200)를 경유한 것으로 판단할 수 있다. 그리고 보안중계장치(100)는 포트(eht1)나 포트(eht3)로 해당 패킷이 수신되었으면 NAT 기반 보안장치(200)를 경유하지 않은 것으로 판단할 수 있다. 포트(eht1)로 수신된 경우는 NAT 이전 인바운드 방향 트래픽의 패킷이고, 포트(eht3)로 수신된 경우는 NAT 이전 아웃바운드 방향 트래픽의 패킷으로 판단할 수 있다.
수신된 SYN 패킷이 NAT 기반 보안장치(200)를 경유하지 않은 경우(S2120-N), 보안중계장치(100)에서 볼 때 해당 세션의 최초 유입되는 패킷이므로 세션 테이블에 세션 정보를 신규 등록한다(S2130). 세션 테이블이 암복호화 처리 대상 세션을 등록하는 것이면, 단계(S2130) 또는 단계(S2130) 이전에 수신된 SYN 패킷의 세션이 암복호화 처리 대상인지 확인해야 한다. 암복화 처리 대상에 대한 확인은 SYN 패킷의 목적지 주소에 해당하는 서버가 암복호화 대상으로 등록되었는지 확인하는 것에 의해 이루어질 수 있다. 이를 위해 보안중계장치(100)는 암복화 처리 대상 서버에 대한 정보, 예컨대 해당 서버의 IP 주소, 포트 번호 등을 저장하는 리스트를 별도로 가지고 있을 수 있다. 이하에서는 세션 테이블이 암복화 처리 대상 세션 정보를 저장하는 것으로 가정하고 설명한다. 따라서 수신된 SYN 패킷의 세션이 암복호화 처리 대상 세션에 해당하지 않으면, 수신된 SYN 패킷의 세션 정보를 세션 테이블에 등록하지 않고, 해당 SYN 패킷을 암복호화 처리없이 바로 NAT 기반 보안장치(200)로 전달하거나, 서버(20)로 전달할 수 있다.
단계(S2130)에서 수신된 SYN 패킷의 1) 출발지 주소(IP 및 Port) 와 목적지 주소(IP 및 Port), 2) TCP 헤더의 시퀀스 번호, 3) IP 헤더의 식별자, 및 4) 세션 테이블 등록 시간을 포함하는 세션 정보를 세션 테이블에 등록한다. 여기서 세션 테이블 등록 시간은 단계(S2130)가 수행되는 현재 기준 시간일 수 있다. 그리고 출발지 주소와 목적지 주소는 NAT 처리 전의 주소이다.
다음으로 단계(S2130) 이후에 수신된 SYN 패킷에 대한 복호화를 수행한다(S2140).
한편 수신된 SYN 패킷이 NAT 기반 보안장치(200)를 경유한 경우(S2120-Y), 보안중계장치(100)는 세션 테이블을 조회하여(S2150), 수신된 SYN 패킷이 단계(S2160)에서 정해지는 세션 테이블 매칭 조건을 만족하는지 판단한다(S2160).
먼저 수신된 SYN 패킷이 아웃바운드 트래픽 방향인지 인바운드 트래픽 방향인지 확인한다(S2161).
수신된 SYN 패킷이 아웃바운드 트래픽 방향이면(S2161-Y), 보안중계장치(100)는 세션 테이블에 SYN 패킷의 목적지 주소가 일치하고(S2163-Y), SYN 패킷의 TCP 헤더 시퀀스 번호, IP 헤더 식별자, 및 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하(S2167)인 세션 테이블 매칭 조건을 모두 만족하는지 판단한다. 단계(S2167)에서 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인지 판단하는 이유는 다음과 같다. 일반적으로 NAT 장비를 경유하기 이전의 SYN 패킷과, NAT 장비를 경유하여 온 SYN 패킷의 시간차는 시스템 입장에서는 최대 0.004초(1/250초)로 측정된다. 따라서 현재시간과 세션 테이블 등록 시간의 차이가 0.004초(미리 정해진 기준) 이하이면, 동일한 SYN 패킷으로 판단할 수 있다. 여기서 0.004초(1/250초)는 리눅스 커널의 HZ 설정값인 CONFIG_HZ=250인 것을 기준으로 한 것으로 실시예에 따라 다르게 설정될 수 있다.
반대로 수신된 SYN 패킷이 인바운드 트래픽 방향이면(S2161-N), 보안중계장치(100)는 세션 테이블에 SYN 패킷의 출발지 주소가 일치하고(S2165-Y), SYN 패킷의 TCP 헤더 시퀀스 번호, IP 헤더 식별자, 및 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하(S2167-Y)인 세션 테이블 매칭 조건을 모두 만족하는지 판단한다.
세션 테이블 매칭 조건을 모두 만족하는 세션 정보가 세션 테이블에서 조회되면(S2160-Y), 보안중계장치(100)는 단계(S2100)에서 수신된 SYN 패킷의 NAT 처리 후의 현재 기준의 출발지 주소와 목적지 주소, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 세션 테이블에 추가로 등록한다(S2170). 그리고 단계(S2100)에서 수신된 SYN 패킷의 암호화를 수행한다(S2180).
한편 수신 패킷이 SYN 패킷이 아니면(S2110-N), 보안중계장치(100)는 세션 테이블을 조회하여(S2200), 출발지 주소와 목적지 주소가 일치하는 세션 정보가 있는지 확인한다(S2210).
출발지 주소와 목적지 주소가 일치하는 세션 정보가 세션 테이블에 있으면(S2210-Y), 보안중계장치(100)는 수신된 패킷을 복호화하여 NAT 기반 보안장치(200)로 전달한다(S2220).
한편 수신 패킷이 SYN 패킷이 아니고(S2110-N), 세션 테이블에 출발지 주소와 목적지 주소가 일치하는 세션 정보가 없으면(S2210-N), 보안중계장치(100)는 수신된 패킷을 바이패스하여 복호화 없이 NAT 기반 보안장치(200)로 전달한다(S2190).
한편 수신된 SYN 패킷이 NAT 기반 보안장치(200)를 경유하였으나(S2120-Y), 세션 테이블 매칭 조건을 모두 만족하는 세션 정보가 세션 테이블에서 조회되지 않은 경우에도(S2160-N), 보안중계장치(100)는 수신된 패킷을 바이패스하여 복호화 없이 클라이언트(10)나 서버(20)로 전달한다(S2190).
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
10: 클라이언트
20: 서버
100: 보안중계장치

Claims (12)

  1. 수신 패킷이 SYN 패킷이면, NAT(Network Address Translation) 기반 보안장치 경유 여부를 확인하는 단계,
    상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이 아니면, 상기 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호(sequence number), IP 헤더 식별자(identification) 및 세션 테이블 등록 시간을 포함하는 제1 세션 정보를 세션 테이블에 등록하는 단계,
    상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이면, 상기 수신 패킷의 트래픽 방향에 따라 선택되는 상기 수신 패킷의 목적지 주소 또는 출발지 주소, TCP 시퀀스 번호, IP 헤더 식별자가 일치하고, 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인 조건을 만족하는 상기 제1 세션 정보가 상기 세션 테이블에 있는지 조회하는 단계, 그리고
    상기 조건을 만족하는 세션 정보가 상기 세션 테이블에서 조회되면, 상기 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 상기 세션 테이블에 등록하는 단계
    를 포함하는 보안중계장치의 세션 관리 방법.
  2. 제 1 항에서,
    상기 조건을 만족하는 세션 정보가 상기 세션 테이블에 있는지 조회하는 단계에서, 상기 수신 패킷의 트래픽 방향이 아웃바운드이면 상기 수신 패킷의 목적지 주소가 선택되고, 상기 수신 패킷의 트래픽 방향이 인바운드이면 상기 수신 패킷의 출발지 주소가 선택되는 보안중계장치의 세션 관리 방법.
  3. 제 2 항에서,
    상기 조건을 만족하는 제1 세션 정보가 상기 세션 테이블에서 조회되지 않으면, 상기 수신 패킷을 바이패스하는 단계
    를 더 포함하는 보안중계장치의 세션 관리 방법.
  4. 제 3 항에서,
    상기 제1 세션 정보는 NAT 처리 전의 주소로 등록되고, 상기 제2 세션 정보는 NAT 처리 후의 주소로 등록되는 보안중계장치의 세션 관리 방법.
  5. 제 1 항에서,
    상기 제1 세션 정보는, 상기 수신된 SYN 패킷의 세션이 암복호화 처리 대상 세션인 경우, 상기 세션 테이블에 등록되는 보안중계장치의 세션 관리 방법.
  6. 수신 패킷이 SYN 패킷이면 NAT(Network Address Translation) 기반 보안장치 경유 여부를 확인하고, 상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이 아니면 상기 수신 패킷의 출발지 주소, 목적지 주소, TCP 시퀀스 번호(sequence number), IP 헤더 식별자(identification) 및 세션 테이블 등록 시간을 포함하는 제1 세션 정보를 세션 테이블에 등록하며, 상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이면, 상기 수신 패킷의 트래픽 방향에 따라 선택되는 상기 수신 패킷의 목적지 주소 또는 출발지 주소, TCP 시퀀스 번호, IP 헤더 식별자가 일치하고, 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인 조건을 만족하는 상기 제1 세션 정보가 상기 세션 테이블에 있는지 조회하고, 상기 조건을 만족하는 세션 정보가 상기 세션 테이블에서 조회되면 상기 수신 패킷의 출발지 주소 및 포트, 목적지 주소 및 포트, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 상기 세션 테이블에 등록하는 보안중계장치.
  7. 제 6 항에서,
    상기 조건을 만족하는 제1 세션 정보가 상기 세션 테이블에 있는지 조회할 때, 상기 수신 패킷의 트래픽 방향이 아웃바운드이면 상기 수신 패킷의 목적지 주소가 선택되고, 상기 수신 패킷의 트래픽 방향이 인바운드이면 상기 수신 패킷의 출발지 주소가 선택되는 보안중계장치.
  8. 제 7 항에서,
    상기 수신 패킷이 SYN 패킷으로 상기 NAT 기반 보안장치를 경유한 패킷이 아니면 복호화를 하고, 상기 수신 패킷이 상기 NAT 기반 보안장치를 경유한 SYN 패킷으로 상기 조건을 만족하는 제1 세션 정보가 상기 세션 테이블에서 조회되면 암호화를 하며, 상기 수신 패킷이 SYN 패킷이 아니고 상기 세션 테이블에 상기 수신 패킷의 출발지 주소와 목적지 주소가 일치하는 세션 정보가 조회되면 복호화를 하는 보안중계장치.
  9. 제 7 항에서,
    상기 수신 패킷이 상기 NAT 기반 보안장치를 경유한 SYN 패킷으로 상기 조건을 만족하는 제1 세션 정보가 상기 세션 테이블에서 조회되지 않거나,
    상기 수신 패킷이 SYN 패킷이 아니고 상기 세션 테이블에 상기 수신 패킷의 출발지 주소와 목적지 주소가 일치하는 세션 정보가 조회되지 않으면,
    상기 수신 패킷을 바이패스하는 보안중계장치.
  10. 제 7 항에서,
    상기 제1 세션 정보는 NAT 처리 전의 주소로 등록되고, 상기 제2 세션 정보는 NAT 처리 후의 주소로 등록되는 보안중계장치.
  11. 제 6 항에서,
    상기 제1 세션 정보는, 상기 수신된 SYN 패킷의 세션이 암복호화 처리 대상 세션인 경우, 상기 세션 테이블에 등록되는 보안중계장치.
  12. 보안중계장치의 세션 관리를 수행하는 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 프로그램은,
    수신 패킷이 SYN 패킷이면, NAT(Network Address Translation) 장비 경유 여부를 확인하는 단계,
    상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이 아니면, 상기 수신 패킷의 출발지 주소 및 포트, 목적지 주소 및 포트, TCP 시퀀스 번호(sequence number), IP 헤더 식별자(identification) 및 세션 테이블 등록 시간을 포함하는 제1 세션 정보를 세션 테이블에 등록하는 단계,
    상기 수신 패킷이 NAT 기반 보안장치를 경유한 패킷이면, 상기 수신 패킷의 트래픽 방향에 따라 선택되는 상기 수신 패킷의 목적지 주소 또는 출발지 주소, TCP 시퀀스 번호, IP 헤더 식별자가 일치하고, 현재시간과 세션 테이블 등록 시간의 차이가 미리 정해진 기준보다 이하인 조건을 만족하는 상기 제1 세션 정보가 상기 세션 테이블에 있는지 조회하는 단계, 그리고
    상기 조건을 만족하는 세션 정보가 상기 세션 테이블에서 조회되면, 상기 수신 패킷의 출발지 주소 및 포트, 목적지 주소 및 포트, TCP 시퀀스 번호, IP 헤더 식별자 및 세션 테이블 등록 시간을 포함하는 제2 세션 정보를 상기 세션 테이블에 등록하는 단계
    를 포함하는 컴퓨터 판독 가능한 기록 매체.
KR1020180167848A 2018-12-21 2018-12-21 세션 관리 방법 및 이를 이용한 보안중계장치 KR102090138B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180167848A KR102090138B1 (ko) 2018-12-21 2018-12-21 세션 관리 방법 및 이를 이용한 보안중계장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180167848A KR102090138B1 (ko) 2018-12-21 2018-12-21 세션 관리 방법 및 이를 이용한 보안중계장치

Publications (1)

Publication Number Publication Date
KR102090138B1 true KR102090138B1 (ko) 2020-03-17

Family

ID=70004102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180167848A KR102090138B1 (ko) 2018-12-21 2018-12-21 세션 관리 방법 및 이를 이용한 보안중계장치

Country Status (1)

Country Link
KR (1) KR102090138B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2790636C1 (ru) * 2022-06-06 2023-02-28 Акционерное общество "Научно-производственное предприятие " Цифровые решения" Способ определения дублирующихся пакетов в потоке сетевого трафика

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072480A (ja) * 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> Nat装置、tcp通信方法、通信プログラムおよび記録媒体
US20080133774A1 (en) * 2001-06-22 2008-06-05 Rhee Jai-Hyoung Method for implementing transparent gateway or proxy in a network
KR100994076B1 (ko) * 2010-04-12 2010-11-12 주식회사 나우콤 엔에이티 망용 웹서비스 정상사용자차단방지시스템 및 그의 제어방법
US20160359812A1 (en) * 2005-06-03 2016-12-08 Asavie R&D Limited Secure network communication system and method
WO2018113909A1 (en) * 2016-12-20 2018-06-28 Huawei Technologies Co., Ltd. Systems and methods for passing pseudo-tunnel information during session initialization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133774A1 (en) * 2001-06-22 2008-06-05 Rhee Jai-Hyoung Method for implementing transparent gateway or proxy in a network
JP2004072480A (ja) * 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> Nat装置、tcp通信方法、通信プログラムおよび記録媒体
US20160359812A1 (en) * 2005-06-03 2016-12-08 Asavie R&D Limited Secure network communication system and method
KR100994076B1 (ko) * 2010-04-12 2010-11-12 주식회사 나우콤 엔에이티 망용 웹서비스 정상사용자차단방지시스템 및 그의 제어방법
JP2011221993A (ja) * 2010-04-12 2011-11-04 Wins Technet Co Ltd Nat網用ウェブサービスへの正常ユーザーの遮断を防止するためのシステム及びその制御方法
WO2018113909A1 (en) * 2016-12-20 2018-06-28 Huawei Technologies Co., Ltd. Systems and methods for passing pseudo-tunnel information during session initialization

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2790636C1 (ru) * 2022-06-06 2023-02-28 Акционерное общество "Научно-производственное предприятие " Цифровые решения" Способ определения дублирующихся пакетов в потоке сетевого трафика

Similar Documents

Publication Publication Date Title
US11411996B2 (en) Virtual private network (VPN)-as-a-service with delivery optimizations while maintaining end-to-end data security
US11070473B2 (en) Virtual private network (VPN)-as-a-service with load-balanced tunnel endpoints
US8799641B1 (en) Secure proxying using network intermediaries
US11848961B2 (en) HTTPS request enrichment
US10931797B2 (en) Correlating packets in communications networks
US11818279B2 (en) Certificate authority (CA) security model in an overlay network supporting a branch appliance
US11924491B2 (en) Securing an overlay network against attack
CN115348060A (zh) 选择性地解密ssl/tls通信的方法和装置
RU2018132840A (ru) Система и способы для дешифрования сетевого трафика в виртуализированной среде
US20170339130A1 (en) Network security system to validate a server certificate
Bradatsch et al. Secure service function chaining in the context of zero trust security
US10277562B1 (en) Controlling encrypted traffic flows using out-of-path analysis devices
KR102090138B1 (ko) 세션 관리 방법 및 이를 이용한 보안중계장치
KR101971995B1 (ko) 보안을 위한 보안 소켓 계층 복호화 방법
US20160112488A1 (en) Providing Information of Data Streams
KR101881278B1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 선택적으로 검사하는 방법
US8590031B2 (en) Methods, systems, and computer program products for access control services using a transparent firewall in conjunction with an authentication server
KR102086489B1 (ko) 기설정된 운영체제에서 송신되는 패킷의 보안을 위해서 보안 소켓 계층을 복호화하는 방법
US11019044B2 (en) Correlating network flows through a proxy device
JP6243861B2 (ja) 制御処理対象フロー絞り込み方法および装置
Mostafa et al. Specification, implementation and performance evaluation of the QoS‐friendly encapsulating security payload (Q‐ESP) protocol
Bocovich et al. The road not taken: Secure asymmetry and deployability for decoy routing systems

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant