KR20190023857A - 미들박스 장치 및 이의 암호화된 패킷 처리 방법 - Google Patents

미들박스 장치 및 이의 암호화된 패킷 처리 방법 Download PDF

Info

Publication number
KR20190023857A
KR20190023857A KR1020170110207A KR20170110207A KR20190023857A KR 20190023857 A KR20190023857 A KR 20190023857A KR 1020170110207 A KR1020170110207 A KR 1020170110207A KR 20170110207 A KR20170110207 A KR 20170110207A KR 20190023857 A KR20190023857 A KR 20190023857A
Authority
KR
South Korea
Prior art keywords
middle box
channel
unit
processing unit
payload
Prior art date
Application number
KR1020170110207A
Other languages
English (en)
Other versions
KR102050797B1 (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 KR1020170110207A priority Critical patent/KR102050797B1/ko
Publication of KR20190023857A publication Critical patent/KR20190023857A/ko
Application granted granted Critical
Publication of KR102050797B1 publication Critical patent/KR102050797B1/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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/041Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 using an encryption or decryption engine integrated in transmitted data

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 실시예는 암호화된 패킷에 대한 보안성을 유지하면서도 그 가시성 정보를 획득 가능토록 함으로써 사용자로 하여금 미들박스 서비스를 보다 효율적으로 이용할 수 있도록 하는 미들박스 장치 및 이의 암호화된 패킷 처리 방법에 관한 것이다.

Description

미들박스 장치 및 이의 암호화된 패킷 처리 방법{Middle Box Apparatus and processing Encrypted Traffic Method Thereof}
본 실시예는 미들박스 장치 및 이의 암호화된 패킷 처리 방법에 관한 것이다. 보다 상세하게는, 암호화된 패킷의 보안성을 유지하면서도 그에 대한 가시성을 확보할 수 있도록 하는 미들박스 장치 및 이의 암호화된 패킷 처리 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
일반적으로 미들박스(Middle Box)란 특정 지능적 기능을 가진 네트워크의 중간자로서 서비스를 수행하는 장비를 의미한다. 현재 네트워크에서는 보안 유지, 성능 향상 등을 위해 다양한 형태의 미들박스가 개발되고 있으며, 최근 들어서는 소프트웨어 기반의 미들박스가 중점적으로 연구 개발되고 있다.
미들박스는 통신 사업자의 목적/정책에 맞추어 다양한 기능을 제공하고 있다. 미들박스를 이용하여 제공되는 기능으로서는 NAT나 Firewall, DPI, IDS, Proxy 등을 들 수 있다. 한편, 네트워크 환경이 점점 복잡해짐에 따라 일부 프로세서들은 하드웨어 공격자 및 소프트웨어 공격자로부터 민감한 데이터를 보호하기 위해 암호 메커니즘을 제공하고 있다. 이러한, 암호 메커니즘에 의하는 경우 민감한 데이터들이 암호화되어 전송됨에 따라 그 보안성이 확보될 수 있다는 장점이 존재한다.
다만, 이러한, 암호화된 데이터들의 경우 미들박스에 대한 해당 데이터의 접근 또한 차단한다는 단점이 존재한다. 이 경우, 미들박스는 미들박스로부터 제공되는 기능 중 일부 기능이 제한되며, 이는 곧, 새로운 보안 문제를 발생시킬 수 있다는 문제점이 존재한다.
이러한 문제점을 방지하기 위하여 미들박스로 하여금 암호화된 데이터에 대한 가시성을 확보토록 하는 다양한 방안들이 제안되었다. 하지만, 이러한, 종래의 방안의 경우 암호화된 데이터의 보안성 측면에서 심각한 문제를 발생시키거나 과도한 오버헤드를 발생시킨다는 한계가 존재한다. 따라서, 미들박스 내에서 암호화된 데이터에 대한 보안성을 유지하면서도 그 가시성을 확보할 수 있도록 하는 새로운 기술을 필요로 한다.
본 실시예는, 암호화된 패킷에 대한 보안성을 유지하면서도 그 가시성 정보를 획득 가능토록 함으로써 사용자로 하여금 미들박스 서비스를 보다 효율적으로 이용할 수 있도록 하는 미들박스 장치 및 이의 암호화된 패킷 처리 방법을 제공하는 데 그 목적이 있다.
본 실시예는, 컴퓨터 시스템의 메모리 영역 내 일반 영역에 적재되며, 클라이언트 단말기로부터 암호화된 패킷을 수신하고, 상기 암호화된 패킷의 페이로드들을 재조합하여 재조합 페이로드를 출력하는 전처리부; 및 상기 메모리 영역 내 내부 데이터에 대한 접근이 제한되는 보안 영역에 적재되며, 서버 장치와의 연동을 통해 상기 재조합 페이로드에 대한 검사를 수행하는 보안 처리부를 포함하는 것을 특징으로 하는 미들박스 장치를 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 컴퓨터 시스템의 메모리 영역 내 일반 영역에 적재되는 전처리부 및 상기 메모리 영역 내 보안 영역에 적재되는 보안 처리부를 포함하는 미들박스 장치가 암호화된 패킷의 가시성을 확보하기 위한 방법에 있어서, 상기 전처리부를 실행하여 클라이언트 단말기로부터 암호화된 패킷을 수신하고, 상기 암호화된 패킷의 페이로드들을 재조합하여 재조합 페이로드를 출력하는 단계; 상기 보안 처리부를 실행하여 서버 장치와의 사이에 통신 채널을 형성하고, 상기 통신 채널에 기초하여 상기 서버 장치로부터 상기 재조합 페이로드에 대응되는 세션 키를 제공받는 단계; 상기 세션 키를 이용하여 상기 재조합 페이로드에 대한 복호화를 수행하는 단계; 및 상기 재조합 페이로드에 대한 검사를 수행하는 단계를 포함하는 것을 특징으로 하는 암호화된 패킷의 가시성 확보방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 암호화된 패킷에 대한 보안성을 유지하면서도 그 가시성 정보를 획득 가능토록 함으로써 사용자로 하여금 미들박스 서비스를 보다 효율적으로 이용할 수 있도록 하는 효과가 있다.
또한, 본 실시예에 의하면, 암호화된 패킷의 처리 과정에서 발생하는 오버헤드를 최소화할 수 있는 효과가 있다.
또한, 본 실시예에 의하면, 하이 레벨 언어를 토대로 한 프로그래밍 환경을 제공함으로써 개발자로 하여금 별도의 전문 지식 없이도 손쉽게 미들박스의 서비스 기능을 설계 가능토록 하는 효과가 있다.
도 1은 본 실시예에 따른 미들박스 시스템을 개략적으로 나타낸 블록 구성도이다.
도 2는 본 실시예에 따른 미들박스 장치를 개략적으로 나타낸 블록 구성도이다.
도 3은 본 실시예에 따른 미들박스 장치의 암호화된 패킷 처리 방법을 설명하기 위한 순서도이다.
도 4a 내지 도 4c는 본 실시예에 따른 미들박스 장치의 보안 처리부의 기능을 설명하기 위한 예시도이다.
도 5 내지 도 6은 본 실시예에 따른 파일 생성부의 기능을 설명하기 위한 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 미들박스 시스템을 개략적으로 나타낸 블록 구성도이다.
도 1에 도시하듯이, 본 실시예에 따른 미들박스 시스템은 클라이언트 단말기(100), 미들박스 장치(110) 및 서버장치(120)를 포함한다. 여기서, 미들박스 시스템에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
클라이언트 단말기(100)는 통신 중개장치를 이용하여 임의의 네트워크망에 접속 가능한 무선 환경 내에 구현될 수 있다. 여기서, 네트워크망은 개방형 네트워크(예컨대, 인터넷)일 수도 있고, 특정 서비스 제공과 관련하여 구축된 소정의 사설망 또는 인트라넷일 수도 있다.
본 실시예에 따른 클라이언트 단말기(100)는 네트워크망을 통해 서버장치(120)로의 접속을 수행함으로써 특정 서비스 제공과 관련한 각종 데이터를 송수신할 수 있는 단말기를 말하는 것이며, 태블릿 PC(Tablet PC), 랩톱(Laptop), 개인용 컴퓨터(PC: Personal Computer), 스마트폰(Smart Phone), 개인휴대용 정보단말기(PDA: Personal Digital Assistant) 및 이동통신 단말기(Mobile Communication Terminal) 등 중 어느 하나일 수 있다. 즉, 클라이언트 단말기(100)는 네트워크망을 이용하여 음성 또는 데이터 통신을 수행하는 단말기이며, 네트워크망을 경유하여 외부 장치와 통신하기 위한 프로그램 또는 프로토콜을 저장하기 위한 메모리, 해당 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하고 있는 단말기를 의미한다.
미들박스 장치(110)는 클라이언트 단말기(100)와 서버 장치(120) 사이에 위치하며, 네트워크 중간자로서의 기능을 수행하는 장치를 의미한다. 바람직하게는, 본 실시예에 따른 미들박스 장치(110)는 컴퓨터 시스템 내 소프트웨어 기반의 장치로 구현될 수 있다. 한편, 컴퓨터 시스템 내에는 내부 캐시 메모리가 포함될 수 있으며, 해당 내부 캐시 메모리에는 운영 체제, 애플리케이션, 프로그램, 라이브러리 및 드라이버와 같이 미들박스 장치(110)의 구동과 관련한 다양한 데이터 및 소프트웨어들이 저장될 수 있다.
한편, 소프트웨어 기반의 미들장치는 특정 하드웨어의 종속성을 탈피하고, 다양한 여러 기능을 유연하게 제공할 수 있는 장점이 존재한다. 더욱이, 최근 멀티코어 및 매니코어 프로세서의 발전 및 큰 대역폭을 지원하는 네트워크 카드의 등장은 저렴한 범용 컴퓨팅 하드웨어 기반에서도 높은 성능의 미들박스 서비스를 소프트웨어만으로 쉽게 제공할 수 있는 가능성을 보여주고 있다.
본 실시예에 따른 미들박스 장치(110)는 신뢰된 실행 환경(TEE)를 토대로 향상된 보안 검사 기능을 제공할 수 있다. 예시적인 실시예에서, 미들박스 장치는 신뢰된 실행 환경의 일종인 SGX(Software Guard Extensions)의 기능을 활용 가능토록 구현될 수 있다. 보다 자세하게는, 미들박스 장치는 SGX 기능 중 메모리 보호 기능 및 원격 검사 기능을 활용 가능하도록 구현될 수 있다.
앞서 설명한 바와 같이, 종래의 미들박스 장치는 암호화된 패킷에 대한 가시성이 확보되지 않음에 따라 일부 기능이 제한될 수 있으며, 이는 곧, 네트워크 감시자로서의 미들박스 장치의 효율성이 떨어진다는 문제점이 발생하게 된다.
이러한 문제점을 해결하기 위해, 본 실시예에 따른 미들박스 장치(110)는 SGX 기능을 활용하여 암호화된 패킷을 포함한 모든 패킷에 대해 가시성이 확보될 수 있도록 동작한다. 더욱이, 암호화된 패킷의 가시성을 확보하는 과정에서 그 보안성 또한 유지될 수 있도록 동작한다.
한편, 본 실시예에 따른 미들박스 장치가 암호화된 패킷에 대한 가시성 정보를 획득하는 방법에 대해서는 도 2에서 보다 자세하게 설명하도록 한다.
서버 장치(120)는 특정 서비스의 제공과 관련한 전반적인 관리 기능을 수행하는 장치를 의미한다.
서버 장치(120)는 클라이언트 단말기(100)와 네트워크망을 통해 연결되며, 이를 통해, 클라이언트 단말기(100)와 특정 서비스 제공과 관련한 각종 데이터를 송수신한다. 이때, 서버 장치(120)와 클라이언트 단말기(100) 사이는 대역-내(In-Band) 채널이 형성될 수 있다.
본 실시예에 따른 서버 장치(120)는 미들박스 장치(110)와의 사이에 통신 채널을 형성하고, 이를 통해, 미들박스 장치(110)가 암호화된 패킷에 대한 가시성 정보를 획득하는 과정에서 필요한 필요 데이터를 송수신할 수 있다. 이때, 서버 장치(120)와 미들박스 장치(110) 사이에 형성되는 통신 채널을 상기의 대역-내 채널과 독립적으로 형성되는 대역-외(Out-Of-Band) 채널인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.
본 실시예에 따른, 서버 장치(120)는 미들박스 장치(110)와의 사이에 송수신되는 필요 데이터 중 중요 데이터(ex: 세션 키)에 대한 보안을 위해 미들박스 장치(110)와 신뢰된 관계를 수립할 수 있다. 예컨대, 서버 장치(120)는 미들박스 장치(110) 사이에 신뢰된 관계를 수립하기 위해 미들박스 장치(110)로부터 해시 정보를 수신하고, 이를 기반으로 미들박스 장치(110)의 무결성을 검증할 수 있다.
서버 장치(120)는 미들박스 장치(110)와이 사이에 신뢰된 관계가 수립되면, 보안 통신을 위한 암호화 터널을 설정하고, 설정된 암호화 터널을 이용하여 상기의 중요 데이터를 송수신한다.
한편, 본 실시예에 따른 서버 장치(120)가 미들박스 장치(110)와의 사이에 신뢰된 관계를 수립하는 방법에 대해서는 도 2에서 보다 자세하게 설명하도록 한다.
도 2는 본 실시예에 따른 미들박스 장치를 개략적으로 나타낸 블록 구성도이다.
도 2에 도시하듯이, 본 실시예에 따른 미들박스 장치(110)는 전처리부(200), 보안 처리부(210), 제어부(220) 및 파일 생성부(230)를 포함한다. 도 2에 도시된 미들박스 장치(110)의 기능 모듈들은 하나 이상의 메모리와 하나 이상의 프로세서(예컨대, CPU)를 구비한 컴퓨터 시스템에 의해 수행되는 프로그램의 기능들을 구분한 것으로 볼 수 있다. 즉, 컴퓨터 시스템은 미들박스 장치(110)의 구동을 위해 도 2에 도시된 기능 모듈들을 순차적 혹은 병렬적으로 불러와 이하에서 설명되는 기능들을 실현한다.
한편, 본 실시예에 있어서, 전처리부(200)는 컴퓨터 시스템의 메모리 영역 내 일반 영역에 적재되며, 보안 처리부(210)는 컴퓨터 시스템의 메모리 영역 내 보안 영역(Enclave)에 적재된다.
보안 영역은 내부 데이터에 대한 접근이 제한되는 하드웨어 기반의 안전 공간을 의미하며, 메모리 영역 내 일정 범위 예컨대, EPC(Enclave Page Cache) 상에 매핑되는 형태로 구현될 수 있다. 이러한, 보안 영역은 컴퓨터 시스템에 장착된 메모리 부호화 엔진(MEE: Memory Encryption Engine)을 통해서만 그 접근이 허용되도록 구현된다. 예컨대, 보안 영역 내 저장되는 내부 데이터들은 CPU에 내장된 프로세서 키를 통해 암호화된 형태로 저장될 수 있다. 이 경우, OS 및 하이퍼바이저를 통한 보안 영역으로의 접근이 사전에 차단될 수 있으며, 이는 곧 내부 데이터에 대한 비밀성이 보장될 수 있음을 의미한다.
전처리부(200)는 본 실시예에 따른 암호화된 패킷의 가시성 정보를 획득하기 위한 전처리 과정을 수행하는 장치를 의미한다.
전처리부(200)는 통신부(202) 및 패킷 처리부(204)를 포함한다.
통신부(202)는 네트워크 상의 적어도 하나의 패킷을 수신하는 네트워크 인터페이스 장치를 의미한다. 본 실시예에 따른 통신부(202)는 클라이언트 단말기(100)로부터 암호화된 패킷을 수신하고, 이를 패킷 처리부(204)로 제공한다.
패킷 처리부(204)는 통신부(202)로부터 제공받은 암호화된 패킷에 대해 실질적인 전처리 과정을 수행하는 장치를 의미한다. 패킷 처리부(204)는 출력부(206) 및 조합부(208)를 포함한다.
출력부(206)는 통신부(202)로부터 제공받은 암호화된 패킷의 출력을 제어하는 기능을 수행한다. 한편, 클라이언트 단말기(100)로부터 전송되는 데이터는 전송 패킷의 크기에 따라 일정 단위로 쪼개져서 전송될 수 있다. 출력부(206)는 일정 단위로 쪼개져서 전송되는 패킷들이 하나의 패킷으로 재조합될 수 있도록 하기 위해 그 출력을 제어한다.
조합부(208)는 출력부(206)로부터 제공되는 암호화된 패킷들의 페이로드를 추출하고, 추출한 페이로드들을 재조합하여 재조합 페이로드를 생성한다. 이때, 본 실시예에 따른 조합부(208)는 User Level TCP Stack을 제공하는 mOS 방식을 통해 암호화된 패킷들의 페이로드들을 재조합하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 본 실시예에서는 조합부(208)가 암호화된 패킷들의 페이로들을 재조합하는 방법에 대하여 특정 방법으로 한정하지는 않는다.
조합부(208)는 생성한 재조합 페이로드를 보안 처리부(210)로 전송하며, 이를 통해, 보안 처리부(210)로 하여금 재조합 페이로드를 이용하여 암호화된 패킷에 대한 가시성 정보를 획득 가능토록 한다.
보안 처리부(210)는 전처리부(200)로부터 출력되는 재조합 페이로드에 대한 검사를 수행한다. 한편, 앞서 설명하였듯이, 종래의 미들박스 장치는 암호화된 패킷에 대한 가시성이 확보되지 않음에 따라 미들박스 장치로부터 제공되는 기능 중 일부 기능이 제한되며, 이로 인해 보안 문제가 발생한다는 문제점이 존재한다.
이러한 문제점을 해결하기 위해, 본 실시예에 따른 보안 처리부(210)는 SGX 기능을 활용하여 암호화된 패킷에 대해 가시성이 확보될 수 있도록 동작한다.
한편, 본 실시예의 경우, 보안 처리부(210)는 컴퓨터 시스템의 메모리 영역 내 보안 영역에 적재된다. 이는 곧, 보안 처리부(210)가 재조합 페이로드의 가시성 정보가 획득되는 과정에서 야기되는 모든 중요 데이터들에 대하여 외부로부터의 접근이 제한됨을 의미한다. 결국, 본 실시예에 따른 보안 처리부(210)에 의하는 경우 암호화된 패킷에 대한 가시성 정보를 획득 가능하면서도 그 보안성은 유지될 수 있다는 효과가 있다.
보안 처리부(210)는 채널 설정부(212), 복호화부(214) 및 검사부(216)를 포함한다. 이하, 보안 처리부(210)의 각 구성요소의 동작을 설명하여, 본 실시예에 따른 재조합 페이로드의 가시성 정보 획득 방법에 대해 설명하도록 한다.
채널 설정부(212)는 서버 장치(120)와의 사이에 원격 검사(Remote Attestation) 기능을 수행하고, 이를 통해, 서버 장치(120)로부터 재조합 페이로드의 가시성 정보 획득을 위한 필요 정보를 수신한다.
본 실시예에 따른 채널 설정부(212)는 서버 장치(120)와의 통신 채널을 형성하고, 형성된 통신 채널에 기초하여 서버 장치(120)로부터 재조합 페이로드에 대응되는 세션 키를 제공받는다. 이때, 서버 장치(120)와 채널 설정부(212) 사이에 형성되는 통신 채널은 클라이언트 단말기(100)와 서버 장치(120) 사이에 암호화된 패킷의 송수신을 위해 기 형성된 대역-내 채널과 독립적으로 형성되는 대역-외 채널일 수 있다.
본 실시예에 따른 채널 설정부(212)는 서버 장치(120)와의 사이에 신뢰된 관계를 수립할 수 있다. 이를 위해, 채널 설정부(212)와 서버 장치(120) 사이에는 소정의 검증 절차가 이루어진다. 이러한, 검증 절차는 보안 영역에 대한 무결성을 검증하기 위한 과정으로서, 본 실시예의 경우 해당 검증 절차를 수행함에 따라 보안 영역 내 저장되는 중요 데이터에 대한 비밀성이 보다 확실하게 보장될 수 있도록 하는 효과가 있다.
채널 설정부(212)는 보안 영역에 대응되는 해시 정보를 통신 채널을 통해 서버 장치(120)로 전송한다. 채널 설정부(212)는 해시 정보에 기반하여 서버 장치(120)로부터 보안 영역에 대한 무결성이 검증된 경우에 한해 통신 채널을 보안 채널로서 설정한다.
채널 설정부(212)는 통신 채널이 보안 채널로서 설정된 경우 보안 채널을 이용하여 서버 장치(120)로부터 재조합 페이로드에 대응되는 세션 키를 제공받는다.
한편, 채널 설정부(212)는 서버 장치(120)와의 사이에 보안 채널이 최초 형성되는 경우 이를 지속적으로 유지하며, 이를 통해, 미들박스 장치(110)의 동작 과정에서 발생하는 오버헤드가 최소화될 수 있도록 한다.
복호화부(214)는 채널 설정부(212)로부터 수신한 세션 키를 이용하여 재조합 페이로드에 대한 복호화를 수행한다. 이러한, 복화화부(214)에 수행되는 동작은 재조합 페이로드에 대한 가시성 정보를 획득하는 것을 의미한다.
검사부(216)는 복화부(214)를 통해 복호화된 재조합 페이로드에 대한 검사를 수행한다. 예컨대, 검사부(214)에서 수행되는 검사는 재조합 페이로드에 대한 심층패킷분석(DPI: Deep Packet Inspection)일 수 있다.
검사부(216)는 재조합 페이로드에 대한 검사결과를 기반으로 암호화된 패킷에 대한 출력을 제어할 수 있다. 다른 실시예에서, 검사부(214)는 재조합 페이로드에 대한 검사결과를 외부의 다른 제어수단으로 전달하고, 이를 통해, 해당 제어수단을 통해 암호화된 패킷에 대한 출력이 제어되도록 할 수도 있다.
제어부(220)는 전처리부(200) 및 보안 처리부(210)의 동작을 제어하는 기능을 수행한다.
본 실시예에 따른 제어부(220)는 미들박스 실행파일을 실행시키며, 실행 과정에서 전처리부(200)에 대응되는 바이너리를 컴퓨터 시스템의 메모리 영역 내 일반 영역에 적재하고, 보안 처리부(210)에 대응되는 바이너리를 컴퓨터 시스템의 메모리 영역 내 보안 영역에 적재한다.
제어부(220)는 전처리부(200)를 로딩하여 상기에서 설명된 기능이 실현될 수 있도록 한다.
제어부(220)는 전처리부(200)의 처리 결과 보안 처리부(210)에 대한 접근이 필요한 경우 컴퓨터 시스템에 장착된 메모리 부호화 엔진을 이용하여 보안 처리부(210)에 접근한다. 이 경우, 보안 처리부(210)는 메모리 부호화 엔진을 통해 로딩되어 상기에서 설명된 기능을 실현한다.
파일 생성부(230)는 전처리부(200) 및 보안 처리부(210)를 포함하는 미들박스 실행파일을 생성하는 기능을 수행한다. 이를 위해, 파일 생성부(230)는 미들박스 실행파일 생성을 위한 사용자 인터페이스를 제공할 수 있다.
본 실시예에 따른 파일 생성부(230)는 하이 레벨 언어(High Level Language)를 이용하여 상기의 미들박스 실행파일을 생성할 수 있다. 이때, 하이 레벨 언어는 하이 레벨 APIs 또는 SB language인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. 한편, SB language는 미들박스 장치의 동작 예컨대, 전처리부(200)와 보안 처리부(210)의 동작을 사전에 미들박스 장치(110)에서 사용되는 언어나 메시지 형식으로 정의한 언어를 의미한다. 본 실시예에서 제공되는 SB language를 이용하여 미들박스 실행파일을 생성하는 경우 개발자로 하여금 프로그래밍에 대한 별도의 전문 지식 없이도 손쉽게 미들박스의 서비스 기능을 설계 가능토록 하는 효과가 있다.
파일 생성부(230)는 SB language를 이용하여 바로 미들박스 실행파일을 생성할 수 있으며, 하이 레벨 APIs를 생성하고, 이를 SB language로 변경하여 미들박스 실행파일을 생성할 수도 있다.
파일 생성부(230)는 SB language를 SB 컨버터를 이용하여 C/C++ 코드로 변환함으로써 최종적으로 미들박스 실행파일을 생성한다. 이후, 파일 생성부(230)는 생성된 미들박스 실행파일을 컴퓨터 시스템의 메모리 영역 내 적재한다.
도 3은 본 실시예에 따른 미들박스 장치의 암호화된 패킷 처리 방법을 설명하기 위한 순서도이다. 한편, 도 3은 본 실시예에 따른 미들박스 장치(110)의 기능 중 암호화된 패킷에 대한 가시성을 확보하는 방법에 대해 중점적으로 설명하도록 한다.
미들박스 장치(110)는 전처리부(200)를 실행하여 클라이언트 단말기(100)로부터 암호화된 패킷을 수신한다(S302).
미들박스 장치(110)는 단계 S302에서 수신한 암호화된 패킷의 페이로들을 재조합하여 재조합 페이로드를 출력한다(S304).
미들박스 장치(110)는 보안 처리부(210)를 실행하여 서버 장치(120)와의 사이에 통신 채널을 형성한다(S306). 단계 S306에서 미들박스 장치(110)는 컴퓨터 시스템에 장착된 메모리 부호화 엔진을 이용하여 보안 처리부(210)를 실행시킨다.
미들박스 장치(110)는 단계 S306에서 형성된 통신 채널에 기초하여 서버 장치(120)로부터 단계 S304의 재조합 페이로드에 대응되는 세션 키를 제공받는다(S308). 단계 S308에서 미들박스 장치(110)는 보안 영역에 대응되는 해시 정보를 통신 채널을 통해 서버 장치(120)로 전송하고, 해시 정보에 기반하여 서버 장치(120)로부터 보안 영역에 대한 무결성이 검증된 경우에 한해 통신 채널을 보안 채널로서 설정한다.
미들박스 장치(110)는 통신 채널이 보안 채널로서 설정된 경우 보안 채널을 이용하여 서버 장치(120)로부터 재조합 페이로드에 대응되는 세션 키를 제공받는다.
미들박스 장치(110)는 단계 S308에서 수신한 세션 키를 이용하여 단계 S304의 재조합 페이로드에 대한 복호화를 수행한다(S310).
미들박스 장치(110)는 단계 S310에서 수행된 복호화 결과를 이용하여 재조합 페이로드에 대한 검사를 수행한다(S312).
여기서, 단계 S302 내지 S312는 앞서 설명된 미들박스 장치(110)의 각 구성요소의 동작에 대응되므로 더 이상의 상세한 설명은 생략한다.
도 3에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 3에 기재된 과정을 변경하여 실행하거나 하나 이상의 과정을 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 3에 기재된 미들박스 장치(110)의 암호화된 패킷 처리 방법은 프로그램으로 구현되고 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 기록될 수 있다.
도 4a 내지 도 4c는 본 실시예에 따른 미들박스 장치의 보안 처리부의 기능을 설명하기 위한 예시도이다. 한편, 도 4a 내지 도 4c는 본 실시예에 따른 보안 처리부(210)가 서버 장치(120)와의 사이에 원격 검사 기능을 수행하고, 이를 통해, 서버 장치(120)로부터 재조합 페이로드의 가시성 정보 획득을 위한 세션 키 정보를 수신하는 방법에 대해 예시하였다.
도 4a를 참조하면, 보안 처리부(210)가 서버 장치(120)와의 사이에 통신 채널을 형성하고, 형성된 통신 채널을 통해 보안 영역의 무결성 검증을 위한 해시 정보를 송신하는 것을 확인할 수 있다.
도 4b를 참조하면, 보안 처리부(210)가 해시 정보를 기반으로 서버 장치(120)로부터 해시 정보를 기반으로 보안 영역에 대한 무결성 검증이 완료된 경우 통신 채널을 보안 채널로서 설정하는 것을 확인할 수 있다.
도 4c를 참조하면, 보안 처리부(210)가 통신 채널이 보안 채널로서 설정된 경우 보안 채널을 이용하여 서버 장치(120)로부터 재조합 페이로드에 대응되는 세션 키를 제공받는 것을 확인할 수 있다. 이후, 보안 처리부(210)는 생성된 보안 채널을 서버 장치(120)로부터 세션 키를 제공받기 위한 수단으로서 지속적으로 유지함으로써 미들박스 장치(110)의 동작 과정에서 발생하는 오버헤드가 감소될 수 있도록 한다.
도 5 내지 도 6은 본 실시예에 따른 파일 생성부의 기능을 설명하기 위한 예시도이다. 한편, 도 5는 본 실시예에 따른 파일 생성부(230)가 미들박스 실행파일을 생성하는 과정에 대하여 예시하였다. 도 6은 본 실시예에 따른 파일 생성부(230)가 미들박스 실행파일을 생성하는 과정에서 사용하는 하이 레벨 언어에 대하여 예시하였다.
도 5를 참조하면, 본 실시예에 따른 파일 생성부(230)가 하이 레벨 APIs 또는 SB language를 이용하여 미들박스 실행파일을 생성하는 것을 확인할 수 있다. 이때, 파일 생성부(230)는 SB language를 이용하여 바로 미들박스 실행파일을 생성할 수 있으며, 하이 레벨 APIs를 생성하고, 이를 SB language로 변경하여 미들박스 실행파일을 생성할 수도 있다.
파일 생성부(230)는 SB language를 SB 컨버터를 이용하여 C/C++ 코드로 변환함으로써 최종적으로 미들박스 실행파일을 생성하며, 생성된 미들박스 실행파일을 컴퓨터 시스템의 메모리영역 내 적재한다.
도 6을 참조하면, SB language가 미들박스 장치의 동작 예컨대, 전처리부(200)와 보안 처리부(210)의 동작을 사전에 미들박스 장치(110)에서 사용되는 언어나 메시지 형식으로 정의하여 제공하는 것을 확인할 수 있다. 이러한, SB language를 이용하여 미들박스 실행파일을 생성하는 경우 개발자로 하여금 프로그래밍에 대한 별도의 전문 지식 없이도 손쉽게 미들박스의 서비스 기능을 설계 가능토록 하는 효과가 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 클라이언트 단말기 110: 미들박스 장치
120: 서버 장치 200: 전처리부
202: 통신부 204: 패킷 처리부
210: 보안 처리부 212: 채널 설정부
214: 복호화부 216: 검사부
220: 제어부 230: 파일 생성부

Claims (12)

  1. 컴퓨터 시스템의 메모리 영역 내 일반 영역에 적재되며, 클라이언트 단말기로부터 암호화된 패킷을 수신하고, 상기 암호화된 패킷의 페이로드들을 재조합하여 재조합 페이로드를 출력하는 전처리부; 및
    상기 메모리 영역 내 내부 데이터에 대한 접근이 제한되는 보안 영역에 적재되며, 서버 장치와의 연동을 통해 상기 재조합 페이로드에 대한 검사를 수행하는 보안 처리부
    를 포함하는 것을 특징으로 하는 미들박스 장치.
  2. 제 1항에 있어서,
    상기 전처리부는,
    상기 서버 장치와의 사이에 통신 채널을 형성하고, 상기 통신 채널에 기초하여 상기 서버 장치로부터 상기 재조합 페이로드에 대응되는 세션 키를 제공받는 채널 설정부;
    상기 세션 키를 이용하여 상기 재조합 페이로드에 대한 복호화를 수행하는 복호화부; 및
    상기 재조합 페이로들에 대한 검사를 수행하는 검사부
    를 포함하는 것을 특징으로 하는 미들박스 장치.
  3. 제 2항에 있어서,
    상기 통신 채널은,
    상기 클라이언트 단말기와 상기 서버 장치 사이에 상기 암호화된 패킷의 송수신을 위해 기 형성된 대역-내(In-Band) 채널과 독립적으로 형성되는 대역-외(Out-Of-Band) 채널인 것을 특징으로 하는 미들박스 장치.
  4. 제 2항에 있어서,
    상기 채널 설정부는,
    상기 보안 영역에 대응되는 해시 정보를 상기 서버 장치로 전송하고, 상기 해시 정보에 기반하여 상기 보안 영역에 대한 무결성이 검증된 경우 상기 통신 채널을 보안 채널로서 설정하는 것을 특징으로 하는 미들박스 장치.
  5. 제 4항에 있어서,
    상기 채널 설정부는,
    상기 통신 채널이 상기 보안 채널로서 설정된 경우 상기 보안 채널을 이용하여 상기 서버 장치로부터 상기 세션 키를 제공받는 것을 특징으로 하는 미들박스 장치.
  6. 제 1항에 있어서,
    상기 전처리부를 상기 일반 영역에 적재하고, 상기 보안 처리부를 상기 보안 영역에 적재하는 제어부를 더 포함하는 것을 특징으로 하는 미들박스 장치.
  7. 제 6항에 있어서,
    상기 제어부는,
    상기 전처리부의 처리 결과 상기 보안 처리부에 접근이 필요한 경우 상기 컴퓨터 시스템에 장착된 메모리 부호화 엔진을 이용하여 상기 보안 처리부에 접근하는 것을 특징으로 하는 미들박스 장치.
  8. 제 1항에 있어서,
    상기 전처리부 및 상기 보안 처리부를 포함하는 미들박스 실행파일을 생성하는 파일 생성부를 더 포함하며,
    상기 파일 생성부는, 하이 레벨 언어(High Level Language)를 이용하여 상기 미들박스 실행파일을 생성하는 것을 특징으로 하는 미들박스 장치.
  9. 컴퓨터 시스템의 메모리 영역 내 일반 영역에 적재되는 전처리부 및 상기 메모리 영역 내 보안 영역에 적재되는 보안 처리부를 포함하는 미들박스 장치가 암호화된 패킷의 가시성을 확보하기 위한 방법에 있어서,
    상기 전처리부를 실행하여 클라이언트 단말기로부터 암호화된 패킷을 수신하고, 상기 암호화된 패킷의 페이로드들을 재조합하여 재조합 페이로드를 출력하는 단계;
    상기 보안 처리부를 실행하여 서버 장치와의 사이에 통신 채널을 형성하고, 상기 통신 채널에 기초하여 상기 서버 장치로부터 상기 재조합 페이로드에 대응되는 세션 키를 제공받는 단계;
    상기 세션 키를 이용하여 상기 재조합 페이로드에 대한 복호화를 수행하는 단계; 및
    상기 재조합 페이로드에 대한 검사를 수행하는 단계
    를 포함하는 것을 특징으로 하는 암호화된 패킷의 가시성 확보방법.
  10. 제 9항에 있어서,
    상기 통신 채널은,
    상기 클라이언트 단말기와 상기 서버 장치 사이에 상기 암호화된 패킷의 송수신을 위해 기 형성된 대역-내 채널과 독립적으로 형성되는 대역-외 채널인 것을 특징으로 하는 암호화된 패킷의 가시성 확보방법.
  11. 제 9항에 있어서,
    상기 세션 키를 제공받는 단계는,
    상기 보안 영역에 대응되는 해시 정보를 상기 서버 장치로 전송하고, 상기 해시 정보에 기반하여 상기 보안 영역에 대한 무결성이 검증된 경우 상기 통신 채널을 보안 채널로서 설정하는 것을 특징으로 하는 암호화된 패킷의 가시성 확보방법.
  12. 제 11항에 있어서,
    상기 세션 키를 제공받는 단계는,
    상기 통신 채널이 상기 보안 채널로서 설정된 경우 상기 보안 채널을 이용하여 상기 서버 장치로부터 상기 세션 키를 제공받는 것을 특징으로 하는 암호화된 패킷의 가시성 확보방법.











KR1020170110207A 2017-08-30 2017-08-30 미들박스 장치 및 이의 암호화된 패킷 처리 방법 KR102050797B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170110207A KR102050797B1 (ko) 2017-08-30 2017-08-30 미들박스 장치 및 이의 암호화된 패킷 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170110207A KR102050797B1 (ko) 2017-08-30 2017-08-30 미들박스 장치 및 이의 암호화된 패킷 처리 방법

Publications (2)

Publication Number Publication Date
KR20190023857A true KR20190023857A (ko) 2019-03-08
KR102050797B1 KR102050797B1 (ko) 2019-12-03

Family

ID=65800457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170110207A KR102050797B1 (ko) 2017-08-30 2017-08-30 미들박스 장치 및 이의 암호화된 패킷 처리 방법

Country Status (1)

Country Link
KR (1) KR102050797B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064029A (ko) * 2020-11-11 2022-05-18 한국과학기술원 다중 암호화된 트래픽을 처리하는 방법 및 미들박스 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130024388A (ko) * 2011-08-31 2013-03-08 (주)소만사 패킷 미러링 방식으로 암호화된 https 통신 데이터를 모니터링하여 개인정보유출을 방지하는 개인정보 유출 방지 시스템 및 방법
KR20140088414A (ko) * 2013-01-02 2014-07-10 삼성전자주식회사 보안 데이터의 저장 검증을 위한 메모리 장치, 보안 데이터 저장 검증 시스템 및 그 검증 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130024388A (ko) * 2011-08-31 2013-03-08 (주)소만사 패킷 미러링 방식으로 암호화된 https 통신 데이터를 모니터링하여 개인정보유출을 방지하는 개인정보 유출 방지 시스템 및 방법
KR20140088414A (ko) * 2013-01-02 2014-07-10 삼성전자주식회사 보안 데이터의 저장 검증을 위한 메모리 장치, 보안 데이터 저장 검증 시스템 및 그 검증 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064029A (ko) * 2020-11-11 2022-05-18 한국과학기술원 다중 암호화된 트래픽을 처리하는 방법 및 미들박스 시스템

Also Published As

Publication number Publication date
KR102050797B1 (ko) 2019-12-03

Similar Documents

Publication Publication Date Title
JP6545136B2 (ja) ウェブページの暗号化送信のためのシステム及び方法
US20190065406A1 (en) Technology For Establishing Trust During A Transport Layer Security Handshake
KR101201622B1 (ko) 보안 기능을 가진 시스템 온 칩 및 이를 이용한 디바이스 및 스캔 방법
CN109558739B (zh) 程序运行方法、装置、终端及可读介质
KR101436536B1 (ko) 파일 서버 및 그것을 이용한 프로그램 파일의 전송 방법, 그리고 프로그램 파일 변조 방지 시스템
WO2004042537A2 (en) System and method for securing digital messages
US9524394B2 (en) Method and apparatus for providing provably secure user input/output
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
US20210112040A1 (en) Encrypted server name indication inspection
US11856101B2 (en) Remote secured terminal
CN111756751A (zh) 报文传输方法、装置及电子设备
US9602476B2 (en) Method of selectively applying data encryption function
KR102050797B1 (ko) 미들박스 장치 및 이의 암호화된 패킷 처리 방법
Lagesse Challenges in securing the interface between the cloud and pervasive systems
CN115001744B (zh) 一种云平台数据完整性验证方法及系统
CN112995119A (zh) 一种数据监测方法及装置
CN114221784B (zh) 数据传输方法和计算机设备
WO2021164167A1 (zh) 一种密钥存取方法、装置、系统、设备和存储介质
KR101701625B1 (ko) 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
CN111460464B (zh) 数据加解密方法、装置、电子设备及计算机存储介质
CN111628972A (zh) 一种数据加解密装置、方法、系统及存储介质
CN111475844A (zh) 一种数据共享方法、装置、设备及计算机可读存储介质
CN115277259B (zh) 一种支持隐私计算持久化数据大规模跨平台迁徙的方法
CN111970281B (zh) 基于验证服务器的路由设备远程控制方法、系统及电子设备
CN113709100B (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