KR102421722B1 - 네트워크 정보 보호 방법 및 장치 - Google Patents

네트워크 정보 보호 방법 및 장치 Download PDF

Info

Publication number
KR102421722B1
KR102421722B1 KR1020200125588A KR20200125588A KR102421722B1 KR 102421722 B1 KR102421722 B1 KR 102421722B1 KR 1020200125588 A KR1020200125588 A KR 1020200125588A KR 20200125588 A KR20200125588 A KR 20200125588A KR 102421722 B1 KR102421722 B1 KR 102421722B1
Authority
KR
South Korea
Prior art keywords
network
hash value
information packet
packet frame
malicious
Prior art date
Application number
KR1020200125588A
Other languages
English (en)
Other versions
KR20220042593A (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 KR1020200125588A priority Critical patent/KR102421722B1/ko
Publication of KR20220042593A publication Critical patent/KR20220042593A/ko
Application granted granted Critical
Publication of KR102421722B1 publication Critical patent/KR102421722B1/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 네트워크 정보 보호 방법 및 장치에 관한 것이다.
본 발명의 일 실시 예에 따른 네트워크 보호 방법은, 트러스트 노드와 복수의 클라이언트 노드를 포함하는 연결망이 트러스트 노드와 복수의 클라이언트 노드 사이에서 분산 인증을 수행하는 단계와, 연결망이, 분산 인증의 수행에 따라, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성한 정보 패킷 프레임을 망스위치로 전송하는 단계와, 망스위치가, 연결망으로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과 및 악성 해시리스트와의 비교에 따른 악성 검증 결과에 따라, 연결망으로부터 수신한 정보 패킷 프레임에 대한 분리망으로의 전송 여부를 결정하는 단계와, 분리망이, 망스위치로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과와, 악성 해시리스트와의 비교에 따른 악성 검증 결과와, 정보 패킷 프레임 내의 해시값 비교를 통해 망스위치로부터 수신한 정보 패킷 프레임의 이용 여부를 결정하는 단계를 포함할 수 있다.

Description

네트워크 정보 보호 방법 및 장치{NETWORK INFORMATION SECURITY METHOD AND APPARATUS}
본 발명은 네트워크 인증, 데이터 무결성 검증 및 악성 데이터 검출을 통하여 네트워크의 성능, 보안성 및 효율성을 향상시킬 수 있는 네트워크 정보 보호 방법 및 장치에 관한 것이다.
네트워크 보안성 증진을 위해 사용자에 대한 다단계 인증을 수행하는데, 종래의 중앙집중형 인증 방식은 인증 요청/응답을 위한 관리 프레임과 데이터 전송 과정에서 오버헤드가 발생하여 전체 스루풋을 떨어뜨리는 문제점이 있다.
또한, 네트워크의 데이터 송수신 과정에서 데이터가 위변조되거나 악성 데이터가 포함될 수 있는데, 종래의 종단간 암호화가 이루어진 상태에서는 무결성 검증을 위해 암호화된 데이터를 복호화하는 과정이 필요했고, 이 과정에서 보안 공백이 존재하는 문제점이 있다. 또한 악성 데이터가 포함된 경우 데이터 송수신 과정에서 이를 확인할 방법이 없는 문제점이 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
미국 공개특허공보 제2016-0359698호(2016.12.08 공개)
본 발명의 일 과제는, 인접한 노드 간의 분산 인증을 통해 종래의 중앙집중형 인증방식에서 인증 요청/응답을 위한 관리 프레임과 데이터 전송 과정에서 발생하는 전송시간 및 오버헤드를 줄이는데 있다.
본 발명의 일 과제는, 네트워크에서 종단 간 암호화 상태를 유지하면서 전송중인 데이터의 무결성을 효과적으로 검사하고 전송 지연시간을 줄이는데 있다.
본 발명의 일 과제는, 데이터 송수신 과정에서 데이터의 악성코드 포함여부를 사전에 탐지하여 악성 행위를 방지하는데 있다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시 예에 따른 네트워크 보호 방법은, 연결망(connected network), 분리망(separated network) 및 이들을 연결하는 망스위치(network switch)를 포함하는 네트워크 정보 보호 장치에 의한 네트워크 정보 보호 방법으로서, 트러스트 노드와 복수의 클라이언트 노드를 포함하는 연결망이 트러스트 노드와 복수의 클라이언트 노드 사이에서 분산 인증을 수행하는 단계와, 연결망이, 분산 인증의 수행에 따라, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성한 정보 패킷 프레임을 망스위치로 전송하는 단계와, 망스위치가, 연결망으로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과 및 악성 해시리스트와의 비교에 따른 악성 검증 결과에 따라, 연결망으로부터 수신한 정보 패킷 프레임에 대한 분리망으로의 전송 여부를 결정하는 단계와, 분리망이, 망스위치로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과와, 악성 해시리스트와의 비교에 따른 악성 검증 결과와, 정보 패킷 프레임 내의 해시값 비교를 통해 망스위치로부터 수신한 정보 패킷 프레임의 이용 여부를 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따른 네트워크 보호 장치는, 트러스트 노드와 복수의 클라이언트 노드를 포함하는 노드들 사이에서 분산 인증을 수행하는 연결망(connected network)과, 분리망(separated network)과, 연결망 및 분리망을 연결하는 망스위치(network switch)를 포함하는 네트워크 정보 보호 장치로서, 연결망은, 트러스트 노드와 복수의 클라이언트 노드 사이에서 분산 인증을 수행하고, 분산 인증의 수행에 따라, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성한 정보 패킷 프레임을 망스위치로 전송하도록 구성되고, 망스위치는, 연결망으로부터 수신한 정보 패킷 프레임에 대하여, 오류 검사코드를 기반으로 한 무결성 검사 결과 및 악성 해시리스트와의 비교에 따른 악성 검증 결과에 따라, 연결망으로부터 수신한 정보 패킷 프레임에 대한 분리망으로의 전송 여부를 결정하도록 구성되고, 분리망은, 망스위치로부터 수신한 정보 패킷 프레임에 대하여, 오류 검사코드를 기반으로 한 무결성 검사 결과와, 악성 해시리스트와의 비교에 따른 악성 검증 결과와, 정보 패킷 프레임 내의 해시값 비교를 통해 망스위치로부터 수신한 정보 패킷 프레임의 이용 여부를 결정하도록 구성될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 장점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 네트워크 보안 접속을 위한 다단계 인증과 프레임 전송 레이턴시를 효율적으로 줄일 수 있으며, 보안성을 더욱 향상시킬 수 있다.
또한, 네트워크에서 전송 중인 데이터는 위변조 및 악성 행위의 가능성이 존재하는데, 페이로드의 특성을 나타내는 필드의 해시를 이용하여 종단간 암호화 상태를 유지하면서 전송중인 데이터의 무결성을 효과적으로 검사하고 전송 지연시간을 줄일 수 있다.
또한, 데이터 송수신 과정에서 데이터의 악성코드 포함여부를 사전에 탐지하여 악성 행위를 방지할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 실시 예에 따른 네트워크 정보 보호 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 네트워크 정보 보호 장치를 위한 도면이다.
도 3 내지 도 7은 도 2의 네트워크 정보 보호 장치 중 안전한 망연계를 위한 분산 인증을 설명하기 위해 도시한 도면이다.
도 8은 본 발명의 다른 실시 예에 따른 네트워크 정보 보호 장치를 위한 도면이다.
도 9 내지 도 11은 도 8의 네트워크 정보 보호 장치 중 종단간 암호화를 위한 고속 패킷 검사를 설명하기 위해 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 실시 예에 따른 네트워크 정보 보호 방법을 설명하기 위한 흐름도이다. 도 1에 도시된 네트워크 정보 보호 방법 중 일부는 도 2에 도시된 연결망(100), 망스위치(200) 및 분리망(300)을 포함하는 일 실시 예에 따른 네트워크 보호 장치에서 수행될 수 있고, 도 1에 도시된 네트워크 정보 보호 방법 중 나머지는 도 8에 도시되면서 도 2에 종속가능한 송신노드(110), 중계노드(210) 및 수신노드(310)를 포함하는 다른 실시 예에 따른 네트워크 보호 장치에서 수행될 수 있다.
도 1을 참조하면, S110단계에서, 연결망(100)은 트러스트 노드(예를 들어, 도 4의 A)와 복수의 클라이언트 노드(예를 들어, 도 4의 B~G) 사이에서 분산 인증을 수행한다.
연결망(100)은 어느 한 클라이언트 노드가 인접한 주변의 트러스트 노드 또는 인증된 클라이언트 노드들을 통해 인증받고, 인증받은 클라이언트 노드는 인접한 다른 클라이언트 노드들을 인증할 수 있다.
S120단계에서, 연결망(100)은 분산 인증의 수행에 따라, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성한 정보 패킷 프레임을 망스위치(200)로 전송한다.
여기서, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 레벨은 통신을 위해, 기본 헤더(basic header) 영역, 확장 헤더(extension header) 영역 및 바디(body) 영역을 포함하는 FPI(fast packet inspection) 패킷 프레임을 생성할 수 있다. FPI 패킷 프레임 중 기본헤더 또는 헤더 영역은 확장 헤더 유무를 확인할 수 있는 필드를 포함할 수 있다. FPI 패킷 프레임 중 확장 헤더 영역은 데이터 페이로드의 평문(P)을 해시한 제1 해시값(HP)이 추가된 제1 확장필드와, 암호화된 데이터 페이로드(E)를 해시한 제2 해시값(HE)이 추가된 제2 확장필드와, 평문 데이터 페이로드(P) 중 특정 컴포넌트(C1~Cn)의 해시값으로서의 제3 해시값(Hbm)이 비트맵으로 추가된 제3 확장필드와, 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나의 유효성 체크를 통해 무결성을 검증하는 오류 검사 코드가 추가된 제4 확장필드를 포함할 수 있다. FPI 패킷 프레임 중 바디 영역은 암호화된 데이터 페이로드를 포함할 수 있다.
S130단계에서, 망스위치(200)는 연결망(100)으로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과 및 악성 해시리스트와의 비교에 따른 악성 검증 결과에 따라, 연결망(100)으로부터 수신한 정보 패킷 프레임에 대한 분리망(300)으로의 전송 여부를 결정한다.
연결망(100)으로부터 수신한 정보 패킷 프레임에 대한 분리망(300)으로의 전송 여부를 결정하기 위해, 망스위치(200)는 연결망(100)으로부터 수신한 정보 패킷 프레임 내에 포함된 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나를 이용하여 제2 오류 검사 코드를 생성할 수 있다. 망스위치(200)는 연결망(100)으로부터 수신한 정보 패킷 프레임 내에 포함된 오류 검사 코드와 제2 오류 검사 코드를 비교할 수 있다. 망스위치(200)는 비교 결과 오류 검사 코드와 제2 오류 검사 코드가 다른 경우 연결망(100)으로부터 수신한 정보 패킷 프레임을 폐기(discard) 하는 제1 무결성 검사 결과를 생성하고, 동일한 경우 연결망(100)으로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인된 제2 무결성 검사 결과를 생성할 수 있다. 망스위치(200)는 연결망(100)으로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인되면, 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나를 악성 해시리스트와 비교할 수 있다. 망스위치(200)는 비교 결과 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나가 악성 해시리스트와 동일한 경우 연결망(100)으로부터 수신한 정보 패킷 프레임을 폐기(discard) 하는 제1 악성 검증 결과를 생성하고, 다른 경우 연결망(100)으로부터 수신한 정보 패킷 프레임을 분리망(300)으로 전송할 수 있다.
S140단계에서, 분리망(300)은 망스위치(200)로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과와, 악성 해시리스트와의 비교에 따른 악성 검증 결과와, 정보 패킷 프레임 내의 해시값 비교를 통해 망스위치(200)로부터 수신한 정보 패킷 프레임의 이용 여부를 결정한다.
망스위치(200)로부터 수신한 정보 패킷 프레임의 이용 여부를 결정하기 위해, 분리망(300)은 망스위치(200)으로부터 수신한 정보 패킷 프레임 내에 포함된 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나를 이용하여 제3 오류 검사 코드를 생성할 수 있다. 분리망(300)은 망스위치(200)로부터 수신한 정보 패킷 프레임 내에 포함된 오류 검사 코드와 제3 오류 검사 코드를 비교할 수 있다. 분리망(300)은 비교 결과 오류 검사 코드와 제3 오류 검사 코드가 다른 경우 망스위치(200)로부터 수신한 정보 패킷 프레임을 폐기(discard) 하는 제1 무결성 검사 결과를 생성하고, 동일한 경우 망스위치(200)로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인된 제2 무결성 검사 결과를 생성할 수 있다. 분리망(300)은 망스위치(200)로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인되면, 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나를 악성 해시리스트와 비교할 수 있다. 분리망(300)은 비교 결과 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나가 악성 해시리스트와 동일한 경우 망스위치(200)로부터 수신한 정보 패킷 프레임을 폐기(discard) 하는 제1 악성 검증 결과를 생성하고, 다른 경우 망스위치(200)로부터 수신한 정보 패킷 프레임 내의 확장 헤더 영역 및 바디 영역의 해시값을 비교할 수 있다. 분리망(300)은 망스위치(200)로부터 수신한 정보 패킷 프레임 내의 확장 헤더 영역 및 바디 영역의 해시값이 동일한 경우 망스위치(200)로부터 수신한 정보 패킷 프레임을 이용할 수 있다.
본 실시 예에서, S110단계는 도 2에 도시된 연결망(100), 망스위치(200) 및 분리망(300)을 포함하는 일 실시 예에 따른 네트워크 보호 장치에서 수행될 수 있다. 여기서 일 실시 예에 따른 네트워크 보호 장치는 도 2 내지 도 7을 기반으로 하여 안전한 망연계를 위한 분산 인증을 수행하는 장치일 수 있다.
또한, 본 실시 예에서, S120단계 내지 S140단계는 도 8에 도시된 송신노드(110), 중계노드(210) 및 수신노드(310)를 포함하는 다른 실시 예에 따른 네트워크 보호 장치는 도 8 내지 도 11을 기반으로 하여 종단간 암호화를 위한 고속 패킷 검사를 수행하는 장치일 수 있다. 또한 도 8에 도시된 송신노드(110), 중계노드(210) 및 수신노드(310) 각각은 도 2에 도시된 연결망(100), 망스위치(200) 및 분리망(300)에 포함될 수 있다.
먼저, 도 2 내지 도 7을 참조하여 안전한 망연계를 위한 분산 인증을 수행하는 일 실시 예에 따른 네트워크 보호 장치를 설명하기로 한다.
최근 사이버 침해 사고의 피해 규모와 심각성이 증대됨에 따라, 지능화되고 있는 외부 보안 위협에 대응해 중요 정보를 보호하기 위한 정보 보호체계의 필요성이 제기되었다. 이러한 요구에 따라 정부는 기업 및 공공기관을 보호하기 위해 국가 정보 보안 기본 지침을 통해 망 분리 대상을 선정하였으며, 망 분리 도입을 의무화하였다.
망 분리란 외부 인터넷 연결망과 업무망을 논리적·물리적으로 분리한 망으로서 인터넷 연결망과의 원천적인 차단을 통해 외부 공격을 차단하고자 고안되었다. 그러나 분리된 망의 자료를 사용자 간, 혹은 다른 망으로 전달하기 위해 이동식 저장 매체를 사용하는 방식은 보안 사용성 저하 및 시스템의 보안 취약점의 발생으로 이어졌고, 이러한 한계점을 극복하기 위해 망 연계 기술이 요구되었다.
현재의 망 연계 개념은 논리적·물리적 망 분리·망 연계 방식이어서 사용성(편의성, 성능)과 보안성 중 어느 하나를 강화하면 다른 하나가 약화되는 한계점을 보여주고 있다. 이러한 한계점은 네트워크 사용자가 많아지고 분리망 접속 빈도가 잦을수록 서비스 품질과 보안성 열화로 이어질 가능성이 커진다. 따라서 종래 기술의 한계를 극복하기 위해 망을 분리된 상태와 동일한 수준의 보안성을 유지하면서 사용성을 향상시킬 수 있는 망 연계 솔루션의 필요성이 대두되고 있다.
본 실시 예에서는 분산 네트워크 환경에서 높은 보안성과 사용성을 보장하는 SNC(secure network connectivity) 기술을 제안한다. 분산 노드 간 주기적인 인증을 기반으로 한 분리 망과의 통신을 수행함으로써 종래 중앙집중방식 망 연계 솔루션의 사용성, 보안성 간 비효율성을 개선한다. 연결망 내 분산 노드들이 신뢰 노드 및 주변 노드 간의 주기적인 인증을 시도함으로써 성공 횟수, 거리(hop 수)에 따라 인증 수준을 차등 부여함으로써 보안성 또한 향상시킬 수 있다.
망 분리 시스템은 2012년 8월 개정된"정보통신망 이용 촉진 및 정보보호 등에 관한 법률"에서 망분리 의무화에 의해 본격적으로 시행되었다. 그러나 분리된 망의 보안 패치 및 서비스를 위해 네트워크 연결이 필수 불가결하게 이루어져야 했으며, 망간 자료 교환을 위해 USB 등의 하드웨어적 매체를 이용하게 되면서 업무의 효율성 및 보안성이 낮아지게 되었다.
망 연계 시스템은 이러한 문제를 해결하기 위해 고안되었고, 망 분리 시스템 간 자료를 전송하고 서비스 연계를 위해 망간 자료 전송 시스템이 도입되었다. 분리된 망을 연결하기 위해 망의 종단에 설치되는 전송통제 서버를 어떤 방식으로 구성하는지에 따라 테이블1과 같이 중계시스템 기반, 시리얼 연계 방식, 공유스토리지 연계방식으로 구분되고 있다.
그러나 망간 자료 전송 시스템에서도 분리된 영역과 연결된 영역 간 데이터 전송이 이루어져야 하고, 보안성은 분리된 환경과 동일한 수준으로 유지되어야 한다. 최근 안전한 망간 데이터 전송 기법들에 대한 연구가 활발히 진행되고 있으나, 보안 사용성과 보안성을 모두 만족시킬 수 있는 솔루션이 부재한 상황이다. 네트워크의 규모와 집적도가 커질수록 종래의 중앙집중 방식의 인증 및 망연계 기술의 구조적 한계로 인한 보안성과 사용성이 열화가 심해지므로 앞으로 다가오는 사물인터넷 기반의 고밀집 네트워크 시대를 위한 안전하고 효율적인 인증과 망 연계 기술이 요구되고 있다.
중앙 처리 네트워크 환경인 클라이언트-서버 모델은 클라이언트 노드에서 서비스의 요청을 보내고 서버는 그 요청에 따라 서비스를 클라이언트에게 보내는 방식이다.
그러나 서비스의 요구 형태나 필요량이 증가하게 되면서 클라이언트-서버 모델은 여러 가지 문제점을 초래했다. 첫째로, 클라이언트-서버 간 네트워크 트래픽과 클라이언트 수가 많아질 경우 시스템 성능 저하 및 병목현상이 발생한다. 둘째로, 클라이언트-서버 모델의 경우 중앙 집중적인 구조이므로 중앙 서버에 문제가 생기거나 중앙 서버 계정을 탈취하는 경우, 네트워크에 속한 전체 클라이언트에 영향을 주게 된다.
중앙 집중형 네트워크의 이러한 문제점을 해결하기 위해 분산 네트워크 기술이 연구되고 있다. 분산 네트워크는 중앙 집중식 네트워크 제어 방식에서 벗어나 분산 노드들의 협력과 경쟁 방식으로 통신하는 네트워크 방식이다. 분산 네트워크는 확장성과 유연성 면에서 중앙 제어형 네트워크보다 성능이 뛰어나므로 대규모 통신 시나리오에 효과적인 접근 방식이다.
2개 이상의 인증 기술을 이용하는 방식을 다중 인증 방식이라고 한다. 기존의 단일 인증 방식은 단순한 개인정보 유출이나 악의적인 해킹에 의한 보안 위협이 존재한다. 반면에 다중 인증 방식을 사용하면 인증 과정을 반복하여 거치게 되면서 보안성을 향상시킬 수 있다. 그러나 n번의 다중 인증 방식에서 n번의 인증을 수행해야만 서비스 이용이 가능하다는 의미이므로 n이 증가할수록 인증 횟수도 늘어난다. 따라서 보안성은 향상되나 이용자의 편의성은 낮아지는 trade-off 관계 문제가 발생한다.
데이터의 처리 효율을 높이기 위해서, Aggregation 기법을 도입하여 사용할 수 있다. Aggregation 기법은 패킷 혹은 프레임 레벨에서 수행될 수 있는 기술로서, 전송을 위해 여러 패킷 혹은 프레임을 하나의 큰 묶음으로 결합하는 기능이다. Aggregation 기법이 IP 계층 및 애플리케이션 계층에서 수행될 경우, Packet Aggregation, 하위 레벨 레이어, 즉, PHY, MAC 레이어에서 수행될 경우 Frame Aggregation으로 분류한다.
Frame Aggregation이 동작하는 구성도는 도 3과 같다. Aggregation이 적용되지 않은 통신 방식은 Request 패킷을 수신하면 응답에 맞는 Response 패킷을 즉각적으로 송신하면서 통신하는 구조이다. 그러나 Frame Aggregation 기법을 적용할 경우, 여러 Request 패킷을 하나의 큰 묶음으로 결합하여 한 번에 전송함으로써, 하나의 Response 패킷으로도 응답할 수 있다. 따라서 Aggregation 되지 않았을 때의 통신 Latency보다 훨씬 개선된 Latency로 통신할 수 있다.
또한, Frame Aggregation 기법은 프레임을 하나의 큰 프레임으로 결합함으로써 전송 프레임에 대해 더 많은 제어가 가능하고 효율적인 부분 재전송을 보장한다. 그러므로 차세대 무선 네트워크에서 제안된 기술이며, 전송시간 및 오버헤드를 줄일 수 있다는 장점이 있다.
기존 망 연계 시스템은 보안성보다 성능과 편의성 중심의 구조 설계로 인해 솔루션의 구성 및 관리가 복잡하고 어려워 망 분리 효과를 저하시키게 된다. 따라서 이러한 망 연계 시스템의 취약성으로 인한 보안 사고 방지를 위해 사용성과 보안성을 동시에 제공하는 망 연계 시스템의 필요성이 대두되고 있다. 본 실시 예에서는 분산 네트워크 환경에서 높은 보안성과 사용성을 보장하는 SNC 메커니즘과 SNC를 위한 프레임 포맷, 동작 방법을 설명한다.
SNC는 분산 네트워크 환경에서 안전한 망 연계를 보장하기 위한 기술로, 연결망의 분산 노드 간 인증을 통하여 분리망과의 통신을 수행함으로써 종래의 중앙 제어 방식의 망 연계 솔루션의 비효율성을 개선한다. 본 실시 예에서 구성한 SNC 구성은 도 2와 같다.
도 2는 본 발명의 일 실시 예에 따른 네트워크 정보 보호 장치를 위한 도면으로서, 내·외부망이 분리된 분산 네트워크 환경에서, 보안성을 향상시키기 위해 각 노드가 신분 증명 및 인증을 수행하는 시스템에 대한 구조도이다. 도 2를 참조하면 SNC에는 연결망(100), 망스위치(200), 분리망(300)을 포함할 수 있으며, 망스위치(200)는 망 사이의 스위치를 통해 악성 트래픽을 탐지하여 검출되는 경우 분리망으로의 연결을 차단한다. 분리망(300)은 물리적으로 구성된 망을 논리적으로 분리함으로써 위협으로서 망을 안전하게 보호한다. 분리망(300)의 구조는 fabric으로 내부 공간이 분리되어 트러스트 레벨(trust level)이 높을수록 접근이 어려운 구조를 갖는다. read와 write가 모두 가능한 분리망(300)과 달리 write만 가능한 백업 DB(400)와 별도 저장되는 해시맵 Hm을 활용하여 무결성을 유지할 수 있다.
도 4는 분산 노드로 구성된 연결망 구성도이다. 연결망의 분산 네트워크는 트러스트 노드(A)와 일반 클라이언트 노드(B,C,D,F,G)로 구성된다. 클라이언트 노드는 주기적으로 트러스트 노드 및 주변 노드들에 신분을 증명하여 트러스트 레벨을 높이거나 유지한다. 이러한 주기적인 신분 증명을 통해 멀티 팩터 인증의 효과를 얻을 수 있다.
분산 노드들은 주변 노드에 대해 주기적으로 신분을 증명하고 단위 시간 동안 업데이트된 트러스트 레벨을 저장한다. 예를 들어, 도 3에서 클라이언트 노드 F는 트러스트 노드인 A와, 트러스트 노드 A로부터 인증받은 클라이언트 노드 E와 클라이언트 노드 G를 통해 인증함으로써 인증 레벨을 높인다. 인증 레벨은 트러스트 레벨 값 “T”로 표현한다. 트러스트 노드 A로부터 직접 인증 받는 경우에는 1T 레벨을 획득하게 되고, 트러스트 노드 A로부터 인증받은 클라이언트 노드로부터 인증을 받는 경우에는 트러스트 노드와의 홉(hop) 수(h)에 반비례하는 T/(w·h)로 인증 레벨을 획득하게 된다. 여기서 w는 가중치로서 분산 노드가 인접한 노드를 통해 인증에 성공했을 때 트러스트 노드 A와의 거리가 멀어질수록 인정받아 증가되는 트러스트 레벨의 비율을 결정한다. 본 실시 예에서는 평가 모델의 단순화를 위해 w는 1로 설정하여 모델링하고 시뮬레이션을 수행하였다.
예를 들어, 클라이언트 노드 D는 트러스트 노드 A로부터 3홉의 거리에서 클라이언트 노드 G로부터 인증을 받게 되므로 T/3의 인증 레벨을 획득한다. 그리고 분산 네트워크 환경에서 인접한 주변 노드들로부터 다중 인증을 획득하는 경우 다중 인증 결과의 합으로 인증 레벨이 결정된다. 예를 들어, 도 4에서 트러스트 레벨이 1T인 클라이언트 노드 E, G가 있을 때 클라이언트 노드 F는 트러스트 노드인 A로부터 T의 인증 레벨을 받고, 주변 노드인 클라이언트 노드 E, G로부터 T/2만큼의 인증 레벨을 받아 총 2T(=1T+T/2+T/2)만큼의 인증 레벨을 가지게 된다.
각 인증 레벨을 기반으로 노드들의 통신이 필요한 경우, 망 연계 시스템은 통신하고자 하는 각 노드의 암호화 데이터, 해시값, 트러스트 레벨을 하나의 aggregated frame으로 구성하여 분리망(300)에 전달한다. 전달되는 프레임의 구조는 도 5와 같다.
프레임은 헤더(header) 영역, 바디(body) 영역, 트레일러(trailer) 영역으로 구성된다. 헤더 영역은 해시맵 Hm을 포함하며, 각 블록에 대한 해시값이 저장되어 있다. 바디 영역은 각 노드의 암호화 데이터 n개에 각 데이터에 대한 트러스트 맵의 값 Tn이 결합된 형태로 구성된다. 트러스트 맵은 인증 성공 시 획득한 인증 결과값으로서 HMAC 알고리즘으로 무결성을 검증한다. HMAC 알고리즘은 특수한 유형의 MAC 기능으로, 송·수신단에 공유되는 비밀키를 사용하는 해시함수를 통해 입력 메시지를 처리할 수 있는 대표적인 암호 알고리즘 중 하나이다. 사전에 공유된 비밀키를 통해 각 값을 계산하고, 전송된 HMAC 값과 비교함으로써 데이터 위·변조를 확인하고 무결성을 보장할 수 있다. 각 노드의 데이터들을 하나의 프레임으로 그룹화하여 전달하게 되므로 종래 중앙집중 방식의 망 연계 솔루션 환경에서의 개별 인증 시스템에 비해 짧은 수행 시간을 기대할 수 있다. 또한 트레일러 영역에는 FCS(frame check sequence)를 삽입하여 에러 검출에 사용한다.
본 실시 예에서는 제안한 SNC 모델과 종래의 중앙집중 방식의 망 연계 기술 모델을 시뮬레이션으로 구현하고, 그 결과를 통해 종래 기술 대비 제안하는 SNC 모델의 효과를 검증한다.
시뮬레이션은 Window 10 운영 체제에서 실행하였고, PC 환경은 Intel(R) Core(TM) i7-8700 CPU, 3.20GHz, 8GB RAM 환경에서 실시하였다.
실험은 인증 방식에 차이를 두고, 제안하는 방식과 기존의 방식을 비교하였다. 두 방식을 실험하기 위한 시뮬레이터는 모두 Python 3으로 구현하였고, 시뮬레이션 환경은 도 6과 같이 동작한다.
도 6a는 제안하는 SNC 방식에 대한 시뮬레이션 구현 pseudo code이고, 도 6b는 종래 중앙 집중형 인증 방식에 대한 시뮬레이션 구현 pseudo code이다.
SNC 모델에서는 노드 간 분산 인증을 통해 trust level을 쌓아 목표 security level에 도달할 수 있다. 본 실시 예에서는 목표 security level을 무작위로 설정하였다. security level은 총 3가지로 정하였고, 각각 level 1~3에 도달하기 위해선 2, 5, 10 factor authentication이 필요한 것으로 가정하였다. SNC 모델에서 인증은 연결망(100)에서 수행되며, 분산 노드가 인접한 주변의 트러스트 노드 혹은 인증된 노드를 통해 인증받고 인증받은 분산 노드는 동시에 인접한 노들들을 분산 인증하는 방식으로 동작한다. 본 실시 예에서는 인증을 해주는 노드 수는 전체 노드 수의 20%, 인증을 받은 노드 수는 전체 노드 수의 10%로 설정하였다. 모든 노드가 순차적으로 인정하는 종래의 중앙집중 방식과는 달리 일정 시간 동안 반복 루프 내에서 각 노드에 대한 인증이 수행된다. 인증을 받는 노드들은 인증을 해주는 노드들마다 홉(hop) 수에 따라 T/h의 관계식으로 트러스트 레벨이 결정되며, 일정 시간 동안 인접한 노드들로부터 인증 받은 트러스트 레벨의 합으로 최종 트러스트 레벨이 결정된다. 목표 security level에 도달한 노드는 망스위치(200)로 프레임을 전송하고, 전송된 프레임은 망스위치(200)에 일정 시간 동안 버퍼링된 프레임을 Aggregation하여 한 번에 분리망(300)으로 전송하는 방식으로 동작한다. 노드 수에 따른 Latency를 비교하기 위해 전체 실험은 도 6a 및 도 6b와 같이 노드 수를 일정한 스텝으로 증가시키며 실시하였다.
종래 중앙집중형 모델인 도 6b에서, SNC 시뮬레이터와 동일하게 노드 개수를 증가시키면서 반복하고, 보안 레벨은 SNC 모델에서 설정된 레벨과 동일하게 설정한다. 이후, 트러스트 레벨은 홉 수에 따라 계산하지 않고, 연계 스위치로부터 n차 다중 인증을 위해 n회의 인증을 수행하여 목표 security level에 도달하면 데이터를 전송하게 된다.
동일 실험 환경에서 제안하는 SNC와 종래의 방식의 성능을 비교하기 위해 연결망(100) 내에 있는 노드의 개수를 100개~1000개까지 100개 단위로 증가시키며 Latency를 측정했다.
두 모델의 시뮬레이션을 통해 각 모델의 요구되는 보안 레벨에 대한 소요시간을 분석할 수 있으며, SNC 모델의 평가 지표로 사용할 수 있다. 각 노드가 멀티 팩터 인증을 수행하였을 때, 각 노드의 보안성은 인증 횟수에 비례하여 증가하므로 동일한 인증 횟수를 거쳤을 때 각 노드의 전송시간을 구할 수 있다.
각 모델의 Latency는 전체 시뮬레이션이 시작되고 종료되기까지의 시간으로 정하였고, 그 시간은 가장 첫 노드가 인증을 시작한 시간부터 마지막 노드가 인증을 받아 데이터 전송을 완료한 시간과 동일하다. 또한, security level 별 Latency를 분석하여 모델 각 security level에 따른 Latency의 증감 차이를 분석한다. 본 실시 예에서는 상술한 환경에서 1000번씩 수행하고, 각 값의 평균을 취하여 최종 결과를 도출 분석한다.
크기가 100개 단위일 때마다 전체 Latency와 security level 별 Latency를 측정하여 출력하는 과정을 총 1000회 반복한 후 평균을 계산하여 그래프로 표현하였다.
연결망(100) 내의 노드 수를 100개에서 1000개까지 100개씩 증가시키며 Latency를 비교하였고, SNC 모델과 기존 방식의 Latency 비교 결과는 도 7a와 같다. 실험 결과에 따르면 제안하는 방식(SNC)과 기존 방식(CON) 모두 노드 수가 증가함에 따라 Latency 또한 증가한 것을 확인할 수 있었다. 그러나 증가 폭을 살펴보면, 증가 폭은 제안하는 방식이 훨씬 좁은 폭으로 상승하는 것을 확인할 수 있었다.
노드가 100개, 200개일 때 SNC 모델은 평균적으로 2.28초, 4.78초가 측정되었다. 기존 방식의 경우 100개일 때 3.28초, 200개일 때 8.39초로 두 모델 간 1~4초 정도의 차이를 보였다. 그러나 노드가 1000개로 늘어난 경우 기존 방식은 평균 120.01초 정도 소요된 반면, 제안하는 SNC 방식은 평균 30.09초가 소요되어 약 90초 가량의 차이를 보였다.
노드 개수가 증가할수록 차이의 폭이 커졌으며, 노드 개수가 1000개인 경우에는 제안하는 SNC 방식이 기존 방식 대비 75%의 Latency가 감소하였다. Latency의 차이는 목표하는 security level 별로도 차이를 확인할 수 있다. 도 7b는 종래 중앙집중형 모델의 레벨 별 Latency 변화 그래프이고, 도 7c는 제안하는 SNC 모델의 레벨 별 Latency 변화 그래프이다.
도 7b 및 도 7c에서 CON 모델과 SNC 모델에서 목표하는 security level을 TAL(target authentication level) 1~3으로 표현하였으며, TAL 1은 2 factor authentication, TAL 2는 5 factor authentication, TAL 3은 10 factor authentication이 필요한 것으로 가정했다.
security level에 따른 Latency 또한 종래 중앙집중형 방식(CON)에서는 노드 개수가 1000개일 때 평균적으로 각각 58.67초, 81.58초, 116.53초로 측정되었다. 그러나 제안하는 SNC 방식에서는 각각 28.24초, 28.31초, 28.41초로 측정되어 훨씬 적은 Latency가 소요됨을 확인할 수 있으며, security level이 3일 때 종래 CON 방식 대비 SNC 방식이 약 88초가 량 적은 Latency가 소요되는 것을 확인할 수 있다.
또한, 도 7b와 같이 종래 방식에서는 목표 security level이 증가할 경우, 즉 더 높은 멀티 팩터 인증이 요구될수록 인증 횟수가 증가하기 때문에 security level에 비례하게 Latency가 증가하는 것을 알 수 있다. 그러나 도 7c와 같이, 제안하는 SNC 방식에서는 security level에 영향 받지 않고 level 별 Latency가 모두 비슷한 수준으로 변화하고 있음을 확인할 수 있었다.
네트워크에 존재하는 많은 수의 노드가 스위치에 데이터 처리(read/write)를 요청할 경우 각 노드는 인증을 위해 request마다 대응되는 response를 받게 되고, 이때 request, response와 같은 관리 프레임은 링크에서 오버헤드로 작용하여 전체 스루풋을 떨어뜨리는 효과를 가져온다. 하지만 분산 네트워크 환경에서 제안하는 SNC 방식을 이용한 연계망 내의 노드 간 분산 인증을 통해 인증 레벨을 높인 경우, 관리 프레임은 마지막 데이터를 전송하는 경우에만 받고 인증을 수행하는 경우에는 받지 않는다. 따라서 줄어든 관리 프레임 수만큼 오버헤드가 감소하게 되고, 프레임 어그리게이션을 통한 스루풋의 증가 효과를 얻을 수 있다. Latency와 스루풋은 통상적으로 트레이드-오프 관계에 있는데, 분산 환경에서 멀티 팩터 인증을 할 때 제안하는 방식을 이용한다면 레이턴시와 스루풋을 둘 다 향상하는 효과를 기대할 수 있다.
본 실시 예에서는 종래 중앙집중형 망 연계 방식의 한계점을 살펴보고, 이를 보완한 모델인 SNC 모델을 제안하였다. 지속적인 사이버 공격의 발생에 따라 외부 보안 위협에 대한 대책의 필요성이 대두되었고, 외부 위협을 차단하고자 망 분리 기술이 고안되었다. 그러나 망 분리 기술은 업무 처리의 비효율성 문제가 있었고, 이를 해결하고자 나온 망 연계 모델은 효율성을 우선시하므로 보안성 측면이 부족한 문제가 있었다.
SNC는 연결망 내 노드들이 분산 인증을 병렬적으로 수행하고, 프레임 어그리게이션 프로토콜을 이용해 분리망 데이터베이스에 접근함으로써 종래 중앙집중 방식의 망 연계 모델의 비효율성을 개선하는 모델이다. SNC 분산 인증 방식은 신뢰 전파에 의한 다중 인증 효과를 가지며, 분산 네트워크 환경에서 안전한 인증이 가능하다. 또한, 인증 수준에 따른 데이터 관리가 가능하며 해시맵 배치를 통해 악성코드 및 트래픽, 정보 위변조 탐지가 가능하며 암호화 저장단계를 포함함으로써 종래 중앙 집중형 망 연계 모델 대비 보안성이 향상된 네트워크 환경을 제공할 수 있다.
다음에 도 8 내지 도 11을 참조하여 하여 종단간 암호화를 위한 고속 패킷 검사를 수행하는 다른 실시 예에 따른 네트워크 보호 장치를 설명하기로 한다.
최근 각종 스마트 기기가 상용화 되면서 개인 정보와 금융 정보를 수집, 처리, 가공, 전송하는 애플리케이션과 서비스가 지속적으로 확산되어 보편화되고 있다. 특히, 스마트 기기 한 대 당 SNS(social networking service)와 채팅 애플리케이션을 최소 1개 이상 이용하고 있을 정도로 활용도가 높은 것으로 조사되었다. 이러한 추세는 COVID 19로 인해 비대면 활동이 늘어날 수밖에 없는 환경에서 지속해서 성장하여 앞으로 스마트 워크, 원격 회의, 원격 수업 등 네트워크를 통한 정보 교류가 폭발적으로 증가할 것으로 예측된다. 하지만 네트워크를 통한 데이터 전송 과정에서 감청, 개인 정보 유출, 프라이버시 침해, 악성 코드와 같은 보안 이슈가 끊임없이 발생하고 있다. 최근에는 이러한 보안 위협에 대응하기 위해 종단간 암호화 기능이 웹·네트워크 애플리케이션의 필수 요소가 되고 있다.
종단간 암호화(E2EE: end to end encryption)란, 통신 시 사용하는 암호화키를 서버에 저장하지 않고, 개인 단말기에 저장하여 서버와 공격자의 감청을 불가능하게 하여 통신 보안을 보장하는 방법이다. 암호화된 종단간 링크 환경은 서버로부터 송수신 메시지의 기밀성을 보장하는 큰 이점이 있으나 중간에 데이터가 변조되는 경우 사용자가 확인하기 어렵다는 문제가 존재한다. 그리고 중간 경유지의 패킷 검증 단계에서 트래픽(traffic)의 악성 유무를 탐지하기 어렵기 때문에 공격자의 악성 행위를 숨길 수 있는 공격 수단이 되기도 한다. 그러나 종단간 암호화 네트워크 환경에서 암호화된 패킷의 악성 행위를 효과적으로 검사하는 방안에 관한 연구는 아직까지 미진한 실정이다.
네트워크 패킷의 악성 여부를 검사하는 방법 중 하나인 심층 패킷 분석(DPI: deep packet inspection) 기법은 패킷의 헤더뿐만 아니라 데이터를 담고 있는 페이로드 부분까지 확인하는 기술을 말한다. DPI는 대규모의 동적 네트워크 환경에서 다양한 애플리케이션을 정확하게 식별할 수 있으나 검사 과정 중 프라이버시 침해 가능성이 있고 불필요한 검증으로 인한 처리 속도 효율 저하를 발생시킬 수 있다. 또한, DPI는 전송 과정 중 복호화 과정이 없는 종단간 암호화 환경에서 활용이 어렵다. 이를 개선하기 위한 방법으로 제안된 암호화된 트래픽에 대한 블라인드 박스(blind box) DPI 기법은 네트워크 보안과 DPI 미들 박스 기능 간의 텐션(tension)을 해결하는 시스템으로 암호화된 미들 박스를 지원하지만, HTTP 애플리케이션 계층에서의 공격 규칙만 지원한다는 한계가 있다.
이러한 기술의 문제점을 개선하기 위한 본 발명의 일 실시 예에서는 종단간 암호화 상태에서 빠른 패킷 검증을 통해 데이터의 무결성을 보장하고, 알려진 악성 코드를 검출할 수 있는 패킷 프레임의 구조와 전송 메커니즘인 고속 패킷 검사(FPI: fast packet inspection) 방법을 제안한다.
FPI는 평문 데이터 페이로드의 해시 값(HP)과 암호화된 데이터 페이로드의 해시 값(HE)을 이용하여 무결성 검증을 위한 오류 검사코드로서의 CRC(cyclic redundancy check) 유효성 검사를 진행하고, 악성 코드 검출을 위한 악성 해시리스트 비교 연산을 수행한다. 주요 컴포넌트들의 해시 값으로 형성된 비트맵(Hbm)을 이용한 비교 단계 수행을 통해 복호화 과정의 효율성을 높인다. FPI를 이용하면 종단간 암호화 상태에서 암·복호화 및 전송 과정에서 발생할 수 있는 데이터 변조와 알려진 악성 코드를 빠르게 탐지할 수 있다.
본 실시 예의 성능 평가 결과에 따르면 동일한 네트워크 환경에서 FPI가 DPI 대비 페이로드 길이 160바이트 기준 최소 6배, 페이로드 길이 960바이트 기준 최대 18.9배까지 패킷 속도가 향상됨을 보여준다.
종단간 암호화는 중간에 거쳐 가는 릴레이 서버나 중계기에서 복호화 되지 않고, 수신지에 도착한 후 송수신자가 공유하는 키에 의해 복호화된다. 대표적인 기술로는 이메일 종단간 암호화 프로토콜인 PGP(pretty good privacy)와 메신저 암호화 프로토콜인 OTR(off-the-record)이 사용되고 있으며, 송수신지 간의 안전한 키 교환을 위해 공개키 방식과 비밀키 방식이 결합되어 사용된다. 최근 카카오톡(kakaotalk) 감청 사건 발생 이후, 메신저 프로그램 보안 강화의 관심과 필요성이 대두되었고, 기밀성과 프라이버시 강화를 위해 종단간 암호화 기능이 필수적으로 내장되고 있다. 그 대표적인 예로는 카카오톡의 1대1 비밀 채팅방과 텔레그램(telegram)의 1대1 채팅방이 있다. 또한 최근 비대면 온라인 서비스 수요의 증가와 함께 글로벌 기업으로 성장한 화상 회의 서비스 기업인 줌(zoom)은 보안 취약점을 보완하기 위해 종단간 암호화 도입을 가속화 중이다.
모바일 서비스 환경에서뿐만 아니라 사물 인터넷 환경에서도 개인 정보와 민감 정보의 수집을 필요로 하므로, 향후 사물 인터넷 장치들에게도 종단간 암호화가 필수적으로 사용될 것으로 예측된다. 사물 인터넷 종단간 암호화 프로토콜을 제안한 연구는 종단간 암호화 기능과 서명 기능을 이용한 인증 기능을 제공한다.
종단간 암호화 환경에서 무결성을 보장하기 위해 중간에 발생하는 위조·변조 및 악성 코드를 탐지하고자 하는 연구는 기존의 종단간 암호화 환경에 전자 서명과 검증을 추가하였다. 송신자가 데이터 및 파일을 전송하면 암호화 되고, 그 결과 값은 다시 해시된 후 전자 서명된다. 암호화된 데이터와 전자 서명 값은 중계 서버를 거쳐 투명하게 수신자에게 전달되어, 수신된 암호화된 데이터를 복호화 후 해시 값을 추출하여 전송받은 값과 비교를 수행한다. 두 개의 값이 동일하지 않다면 통신 중간에 메시지가 변조된 것으로 판단하여 통신을 중단한다. 이는 검증 단계 이전에 수신 측에서 데이터를 복호화 하는 과정을 거치므로, 복호화 과정 중 위협에 노출될 가능성이 존재한다.
DPI는 라우터와 스위치들이 네트워크에서 전송되는 패킷의 헤더뿐만 아니라 데이터의 콘텐츠가 들어 있는 페이로드까지 분석하는 기술이다. OSI(open system interconnection) 7계층 전체가 분석 대상에 해당되며 정확한 트래픽 분석이 가능하여 바이러스, 멀웨어 차단, 트래픽 관리, 유해 콘텐츠 차단, 맞춤 광고 등 다양한 목적을 위해 사용될 수 있다. 페이로드를 조사하는 가장 기본적인 과정은 특정 패턴을 페이로드에서 신속하게 탐지하는 것으로, 페이로드에 패턴이 존재하는 경우 그 패턴을 검출한다. 그러나 탐지를 위한 패턴을 생성하기 위해 별도의 학습 시간을 필요로 하며, 패턴을 비교하기 이전에 페이로드를 복호화하여 전체 데이터를 분석하는 과정에서 데이터 처리 속도가 지연되거나 보안 취약점이 발생한다. 이러한 성능 열화와 보안 취약점은 감청, 데이터 유출, 위변조, DoS(denial of service), 자원소모 공격 등의 보안 피해로 이어지고 있다. 실제로 우리나라의 경우 국정원에서 감청 목적으로 통신 제한 조치 허가서를 발부받아 DPI를 이용해 감청을 한 사례가 있다.
DPI는 패킷 페이로드 필터링 과정에서 많은 메모리와 CPU 자원을 소비하기 때문에 이 과정을 향상시키기 위한 연구가 활발히 진행되고 있다. 최근에는 Bloom Filter(BF), Quotient Filter(QF), Cuckoo Filter(CF)의 대안으로 QF와 CF의 병합 프로세스인 Quotient-based Cuckoo Filter(QCF)를 DPI에 적용하는 방안이 제안되었다. 이 방식은 2개의 해시 함수를 사용하여, CF에 비해 최대 77%, BF와 QF에 비해 최대 98%까지 시간을 단축시켜 계산 오버헤드를 최소화 할 수 있다. 하지만, 종단간 암호화 적용 시 패킷 처리 과정에서 복호화 및 암호화 과정이 추가되어 지연 시간이 발생하는 한계를 가지고 있다.
그리고 검증 이전에 트래픽 분류의 정확도를 높이기 위해 DPI 기법을 활용하기도 한다. 여기서는 통계 기반의 특징 선택(feature selection) 기법을 이용하여 트래픽을 식별할 수 있는 특징을 추출한 후 머신러닝 알고리즘을 적용해 빠르고 정확한 분류를 하는 방법을 제안함과 동시에 도출된 특징에 해당하지 않는 패킷에 대해 DPI를 적용하는 방법을 제안하였다. 그러나 이 방법은 미리 정의한 특징에 대한 분류에만 의존하기 때문에 알 수 없는 패킷에 대한 검증 처리가 어렵다는 한계가 존재한다.
또한, 고속의 네트워크 프로세스를 바탕으로 DPI 기술을 활용하여 방화벽, IPS/IDS(intrusion prevention system/intrusion detection system) 기능, NAC(network admission control) 기능을 통합한 개념의 SDN(software define network) 기반 통합형 보안 스위치를 제안한 선행 기술이 존재하나 소프트웨어 및 하드웨어의 실현 가능성 및 설계 검증이 미흡하다는 한계가 있다.
본 실시 예는 종단간 암호화 환경에서 효율적으로 패킷을 검사할 수 있는 FPI 메커니즘과 차세대 네트워크 프레임 구조를 제안한다.
도 8은 본 발명의 다른 실시 예에 따른 네트워크 정보 보호 장치를 위한 도면으로서, 종단간 암호화 FPI 시스템 구조를 보여준다. FPI는 송신(sender)노드(110), 중계(RS/ISS: relay server including information security system)노드(210), 수신(receiver)노드(310)를 포함할 수 있다. 본 실시 예에서 송신노드(110)는 도 2의 연결망(100)에 포함될 수 있고, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드일 수 있다. 또한 본 실시 예에서 중계노드(210)는 도 2의 망스위치(200)에 포함될 수 있고, 수신노드(310)는 도 2의 분리망(300)에 포함될 수 있다. End 노드로서의 송신노드(110) 및 수신노드(310) 각각은 하나의 장치에서 데이터 전송과 수신이 가능한 트랜시버(transceiver)이며, 도 8은 시스템 구조를 단순화하여 제안하는 방식의 구조와 메커니즘을 명확히 설명하고자 송신노드(110)와 수신노드(310)로 나누어 표현하였다. 여기서 송신노드(110)는 데이터를 전송하는 노드를 의미하고, 수신노드(310)는 데이터를 수신하는 노드를 의미하며 통신 장치 간에 서로 송신 모드와 수신 모드가 전환되며 통신하는 상황을 가정한다.
송신노드(110)는 패킷을 생성하여 전송하고, 중계노드(210)는 CRC 유효성을 확인한 뒤, 악성 해시 리스트를 비교한 후 릴레이하며, 수신노드(310)는 데이터 수신 과정을 통해 유효성과 비교 검증을 수행한다.
송신노드(110)는 데이터 페이로드의 평문(P)을 해시한 제1 해시값(HP), 암호화된 데이터 페이로드(E)를 해시한 제2 해시값(HE), 페이로드 중 특정 컴포넌트 C를 해시 비트맵 형태로 추가한 제3 해시값(Hbm)을 생성하고, 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나를 이용하여 CRC 코드를 산출할 수 있다.
중계노드(210)는 CRC를 이용한 무결성 검사를 수행하고, 송신노드(110)로부터 제1 해시값, 상기 제2 해시값 또는 제3 해시값 중 적어도 하나와 악성 해시 리스트를 비교하여 악성 유무를 판단하는 악성 검증을 수행할 수 있다.
수신노드(310)는 중계노드(210)와 동일하게 무결성 검사와 악성 검증을 수행하고, 복호화를 수행하여 평문에 대한 검증을 수행할 수 있다.
도 8의 종단간 암호화 FPI 시스템은 Hbm, HP, HE, CRC 정보 필드를 이용해 패킷의 신뢰성과 보안성을 검사하여 사전에 등록된 악성 패킷을 차단할 수 있다. 이와 같이 FPI는 직접 패킷의 페이로드를 확인하지 않고, 헤더에 삽입된 비가역적인 해시 정보로 패킷을 분석하기 때문에 종래 기술 대비 사용자의 프라이버시를 보호할 수 있으며, 안정적인 전송 속도와 보안성을 보장할 수 있다.
송신노드(110)에서 생성하는 FPI의 프레임 구조는 도 9와 같이 구성된다. 도 9를 참조하면, FPI는 기존 패킷과 호환 가능한 확장된 패킷 구조로 기존의 패킷 프레임 헤더를 그대로 사용하며, 확장된 새로운 헤더에 주요 컴포넌트의 해시 값과 오류 검사 코드를 삽입하여 악성 행위를 탐지할 수 있다. FPI는 기존의 프레임 헤더인 기본 헤더(basic header) 영역에 새로운 프레임 포맷인지를 확인하기 위한 FPI 필드가 추가된다. 기본 헤더 영역은 기존의 장치와 호환성을 유지하기 위한 헤더이고, FPI 필드는 Reserved 필드를 활용한다. FPI 필드를 통해 새로운 확장 헤더(extension header)의 유무를 확인 가능하며, 확장 헤더(extension header) 영역에는 Hbm, HP, HE, CRC의 4가지 필드가 추가된다. 각 필드에 대한 자세한 설명은 다음과 같다.
제1 필드로서의 HP 필드에는 평문 데이터 페이로드를 해싱한 값 HP가 추가되고, 제2 필드로서의 HE 필드에는 암호화된 데이터 페이로드를 해싱한 값 HE가 추가된다. HP, HE 필드를 통해 데이터 페이로드의 무결성을 검증할 수 있다.
제3 필드로서의 Hbm 필드에는 페이로드에서 선정된 컴포넌트 C1~Cn의 해시 값이 비트맵(Hbm)으로 추가된다. 본 실시 예에서는 네트워크 계층의 IP 프로토콜을 위한 Identification, Fragmentation Offset과 애플리케이션 계층의 HTTP 프로토콜을 위한 URL과 Referer를 주요 컴포넌트로 선정하였으나, Source 주소 등 악성 트래픽 패턴으로 활용될 수 있는 정보들을 추가로 정의하여 활용할 수 있다.
IP 프로토콜에서 Identification 필드는 데이터그램이 단편화되어 전송된 후 재조립 시 이용되며, Fragmentation Offset은 단편화되기 전 데이터 시작점으로부터의 차이로 전체 데이터그램에서 단편에 포함된 데이터의 시작 위치를 나타낸다. 첫 번째 조각이 너무 작아서 전체 전송 헤더를 포함할 수 없는 경우, 방화벽이나 수신기를 혼동시키는 DoS 공격인 경우가 존재하며 이는 Identification, Fragmentation Offset을 이용하여 탐지가 가능하다.
HTTP 프로토콜에서 Referer 헤더 필드는 클라이언트가 서버로 요청을 전송할 때 해당 요청이 어떠한 소스 URL에서 참조되었는지를 알려주는 기능을 제공한다. HTTP Referer 필드는 악성 웹사이트를 은폐하는 과정에서 사용되기 때문에, Referer 헤더 필드의 도메인이 악성 사이트 블랙리스트에 존재하는지를 확인하여, 악성 사이트를 탐지할 수 있다.
제4 필드로서의 CRC 필드에는 HP와 HE 그리고 Hbm의 유효성 체크를 통해 무결성 검증을 하는 CRC 값이 삽입된다. CRC는 주로 통신에서 메시지 전송 중 노이즈에 의한 데이터의 에러 발생 여부를 탐지하기 위한 기법으로, 전송 데이터 뒤에 32비트로 생성된 순환 중복 검사 비트를 붙여 전송한다. 송수신지에 의해 합의된 디바이더를 이용하여 송신지는 연산을 통해 CRC 비트를 생성하고 데이터에 붙여 전송을 수행한다. 데이터가 수신되면 수신측은 디바이더를 통해 동일한 연산을 수행하고, 결과 값에 의해 오류 발생 여부를 판단할 수 있다.
본 실시 예에서 FPI의 패킷 전송 단계는 다음과 같다.
송신노드(110)는 데이터 페이로드 중 미리 정해진 주요 검사 컴포넌트의 해시 값을 구해 해시맵(Hbm)을 만들고 데이터 페이로드를 암호화하기 전과 후의 해시값(HP와 HE)을 생성한다. 그리고 CRC를 생성한 다음 헤더의 해당 필드에 삽입하여 패킷을 생성한다. 이후 패킷을 중계노드(210)로 전송한다.
중계노드(210)는 송신노드(110)로부터 받은 패킷의 HP와 HE 그리고 Hbm을 이용하여 제2 CRC 값을 다시 생성하고, 송신노드(110)로부터 받은 패킷의 CRC 값과 비교한다. 다시 생성된 제2 CRC 값과 송신노드(110)로부터 받은 CRC 값이 일치하지 않으면, 바로 차단한다. 다시 생성된 제2 CRC 값과 송신노드(110)로부터 받은 CRC 값이 일치하여 CRC의 유효성이 확인되면, HP, HE 및 Hbm 중 적어도 하나를 악성 해시리스트와 비교하며, 악성 해시리스트와 동일한 경우 차단하고, 동일하지 않은 경우 수신노드(310)로 전송한다.
수신노드(310)는 중계노드(210)로부터 받은 패킷의 HP와 HE 그리고 Hbm을 이용하여 제3 CRC 값을 생성하고, 중계노드(210)로부터 받은 CRC 값과 비교한다. 다시 생성된 제3 CRC 값과 중계노드(210)로부터 받은 CRC 값이 일치하지 않으면, 바로 차단하고, 일치하는 경우에는 HP와 HE 그리고 Hbm을 악성 해시리스트와 비교를 수행한다. 동일한 경우 차단하고, 동일하지 않은 경우 확장 헤더 영역 및 바디 영역의 해시값을 비교한다. 수신노드(310)는 암호화된 데이터 페이로드의 해시 값과, 중계노드(210)로부터 받은 HE의 일치 여부를 확인한다. 일치하는 경우 데이터 페이로드를 복원하여 해시 값을 구하고, 중계노드(210)로부터 받은 HP의 일치 여부를 확인한다. 이후 복호화된 페이로드에서 주요 컴포넌트 C값과 전달받은 Hbm의 요소가 동일한지를 확인한 뒤 동일한 경우에는 데이터 페이로드를 이용할 수 있다.
제안하는 FPI와 종래의 방식인 DPI의 패킷 검사 속도를 비교 평가하기 위해 패킷 검증 시뮬레이션을 수행하였다. Python을 기반으로 종단간 암호화 네트워크 환경에서 FPI와 DPI를 모델링하여 패킷 전송 시뮬레이션을 통해 패킷 검증 속도를 비교하였다. 본 실험의 가정 조건은 다음과 같다.
제안 모델 FPI와 비교 모델 DPI는 모두 사전에 키 교환이 이루어진 상태로 가정하여 이후 패킷 전송 및 검증 단계를 구현하였다. FPI의 경우 Hbm, HP, HE, CRC 값을 확장 헤더 영역에 추가하는 방식으로 동작하고, 비교 모델 DPI의 경우에는 중계노드에서 암호화된 페이로드 데이터를 복호화 하여 페이로드를 분석한 뒤 다시 암호화 과정을 거쳐 수신 단에 전송하는 방식으로 동작한다. 또한, DPI의 경우 두 노드 간 네트워크 통신 과정에서 거치는 모든 라우터에서 작동하지 않고, 수신 단의 최근접 라우터에서만 검증 작업을 진행하는 것으로 가정하였다. 이때, 제안 모델과 비교 모델의 데이터 페이로드 암·복호화 과정은 128비트의 CBC(cipher block chaining) 모드 AES(advanced encryption standard) 암호화 알고리즘으로 가정하였다.
FPI와 DPI 실험 노드는 송신노드, 중계노드, 수신노드로 구성된다. FPI의 패킷 전송 및 검증 단계는 다음과 같다. 송신노드(110)에서 정해진 길이의 랜덤한 데이터 페이로드를 생성한 다음 페이로드의 데이터 중 특정 컴포넌트 값을 설정하여 SHA(secure hash algorithm) 256으로 해싱하여 Hbm에 삽입한다. 특정 컴포넌트는 페이로드를 10바이트씩 분할하여 사용하였다. 예를 들어 첫 번째 컴포넌트는 페이로드의 1번째 바이트로부터 10번째 바이트, 두 번째 컴포넌트는 11번째 바이트로부터 20번째 바이트로 가정한다. 생성한 데이터 페이로드는 AES 암호화하여 데이터 페이로드 필드에 추가한다. HP는 데이터 페이로드를 SHA 256으로 해싱하고, HE는 해당 데이터 페이로드를 암호화한 값을 SHA 256으로 해싱하여 해당 필드에 삽입한다. HP와 HE 그리고 Hbm으로부터 CRC 값을 생성하여 CRC 필드에 삽입한 다음 패킷을 중계노드(210)로 전송한다.
중계노드(210)는 CRC 유효성을 확인하고 악성 해시 리스트와 비교, 검증하여 패킷을 필터링 하도록 한다. 이때 악성 해시 리스트와 값이 같거나 CRC 값이 유효하지 않는 경우에는 필터에서 차단한다. 악성 해시 리스트는 정해진 길이의 데이터를 10개씩 생성하여, 악성 해시로 지정해 비교하였다.
수신노드(310)는 CRC 유효성을 확인하고 악성 해시 리스트와 비교, 검증한 후, 페이로드 내 중계노드(210)로부터 받은 HE와 특정 컴포넌트의 해시 값에 대한 Hbm 그리고 AES 암호화된 데이터 페이로드 해시 값의 일치 여부를 확인한다. 만약 3가지 필드의 해시 값이 일치하면 데이터 페이로드를 이용하도록 구현하였다.
DPI의 패킷 전송 및 검증 단계는 다음과 같다. 송신노드에서 정해진 길이의 랜덤한 데이터 페이로드를 생성한 뒤, AES 암호화한 값을 데이터 페이로드 필드에 지정하고 패킷을 중계노드로 전송한다.
중계노드에서는 수신한 패킷을 AES 복호화 하여 악성 리스트와 패킷의 데이터 페이로드를 비교한다. 일치할 경우 차단하며, 일치하지 않는 경우 다시 암호화 과정을 거쳐 패킷을 수신노드로 전송한다.
수신노드 역시 수신한 패킷을 복호화 하여 악성 리스트와 중계노드로부터 받은 패킷의 데이터 페이로드를 비교한다. 동일한 경우에 차단하고, 동일하지 않은 경우에 데이터 페이로드를 이용하도록 구현하였다.
FPI와 DPI의 전송 속도는 송신노드가 패킷을 생성하고 전송하여 패킷 검증을 거친 후, 수신노드가 페이로드를 사용하기까지의 패킷 전송 및 검증 단계에서 소요되는 시간을 비교하여 평가하였다.
도 10a는 제안 모델인 FPI와 비교 모델인 DPI의 페이로드 크기에 따른 패킷 전송 시간을 비교한 그래프이다. 그래프의 X축은 송신노드가 전송한 패킷 페이로드의 길이이며, Y축은 전송 시간의 평균을 의미한다. 한 라운드는 송신노드에서 페이로드를 160바이트로부터 960바이트까지 160바이트 단위로 전송하여 수신노드가 페이로드를 평문으로 복호화 하여 최종 검증을 마칠 때까지를 의미하며, 페이로드의 크기별로 10,000라운드씩 진행하여 전송 시간의 평균값을 산출하였다.
실험 결과, DPI 대비 FPI의 전송 속도가 전반적으로 빠르게 측정되었다. 페이로드의 크기가 160바이트 일 때, FPI는 약 0.661ms, DPI는 약 4ms로 DPI의 패킷 전송 및 검증 과정에서 FPI의 6배에 달하는 지연이 있음을 확인하였고, 페이로드의 크기가 960바이트일 때, FPI는 약 1.271ms, DPI는 약 24.052ms로 DPI의 패킷 전송 및 검증 과정에서 FPI의 18.9배에 해당하는 지연이 있음을 확인하였다. 따라서 FPI는 DPI보다 패킷 전송 속도가 빠르며, 페이로드의 크기가 커질수록 전송 속도의 차이가 선형적으로 증가하는 것을 확인할 수 있다. 시뮬레이션 결과를 통해 FPI는 패킷을 암호화된 상태에서 검증하여 보안성을 유지하는 동시에 중계노드에서 암/복호화 과정을 거쳐 데이터 페이로드를 직접 비교하는 DPI 방식보다 안정적이고 속도 측면에서 효율적인 메커니즘임을 보여준다.
도 10b는 제안 모델 FPI의 컴포넌트 개수에 따른 전송 시간을 비교한 그래프이다. 그래프의 X축은 송신노드가 보낸 패킷 페이로드의 길이이며, Y축은 페이로드 크기에 따른 전송 시간의 평균을 의미한다. 한 라운드는 송신노드에서 페이로드를 160바이트부터 960바이트까지 160바이트 단위로 전송하여 수신노드가 페이로드를 평문으로 복호화 하여 최종 검증을 마칠 때까지를 의미하며, 페이로드의 크기 별로 10,000라운드씩 진행하여 전송 시간의 평균값을 산출하였다.
FPI1은 HP와 HE가 추가된 패킷, FPI2는 HP, HE와 Hbm 요소가 1개 추가된 패킷, FPI3은 HP, HE와 Hbm 요소가 2개 추가된 패킷을 의미한다. HP는 페이로드, HE는 암호화된 페이로드를 SHA256으로 해시한 값으로 크기는 32바이트이다. Hbm의 컴포넌트는 페이로드를 10바이트로 분할한 조각으로 가정하였다. 따라서 FPI1은 64바이트, FPI2는 96바이트, FPI3에는 128바이트를 Extension Header에 추가하여 시뮬레이션을 진행하였다.
실험 결과, Hbm 요소의 개수가 추가됨에 따라 비례적으로 전송 시간이 지연되는 것을 확인할 수 있다. 하지만 그 차이는 최대 0.064ms, 최소 0.018ms로 매우 근소하게 측정되었다. 또한 그림6과 비교하였을 때, 800바이트 페이로드를 기준으로 Extension Header에 290개의 Hbm 요소를 추가하여도 DPI에서 같은 길이의 패킷을 검증한 것보다 짧은 시간이 소요되는 것을 확인할 수 있다. 시뮬레이션 결과, Hbm 요소를 추가하는 것은 보안성을 향상시키는 것으로 볼 수 있기 때문에 FPI는 전송 지연 대비 높은 보안성을 제공할 수 있는 메커니즘 임을 확인했다. 향후 Extension Header를 확장하여 다양한 요소를 빠른 시간 안에 검사할 수 있을 것으로 기대한다.
도 11은 4가지 평가 기준으로 바탕으로 FPI와 DPI를 비교하여 정리한 표이다. 검사 커버리지는 전체 페이로드 중 검사에 사용되는 컴포넌트의 비중을 말한다. 페이로드의 길이가 640바이트인 경우를 기준으로 검사 커버리지와 전송 속도를 평가하였다. FPI의 컴포넌트가 1개일 경우 검사 커버리지는 10%이며, 컴포넌트가 2개일 경우 20%, 전체 페이로드를 검사할 경우에는 100%에 해당한다. 검사 커버리지에 따라 전송 속도를 비교하면, 검사 커버리지가 10%인 경우 DPI 대비 약 15.4배의 차이를 보였으며, 20%인 경우 약 14.4배, 100%인 경우 약 5.3배의 차이를 보였다. 검사 커버리지가 커질수록 전송 속도는 지연되지만 전체 페이로드를 검사하는 경우에도 DPI보다 빠른 속도임을 알 수 있다. 이를 통해 FPI의 메커니즘이 DPI 메커니즘보다 전송 속도 측면에서 더 효율적임을 확인하였다.
FPI는 암호화된 페이로드를 복호화하지 않고 비가역적인 해시 값과 해시맵(HP, HE, Hbm)을 Extension Header에 정보 필드를 실어 전송함으로써 종단간 암호화를 유지한 채 악성 행위를 탐지하고 차단한다. 하지만 DPI의 경우, 페이로드를 복호화 후 악성 행위를 탐지하기 때문에 종단간 암호화가 유지되지 않는다는 문제점이 발생한다. DPI는 페이로드를 평문으로 복호화 하기 때문에 보안 취약점이 존재하는 중계노드에서 DPI가 실행된다면, 페이로드의 데이터가 노출될 수 있다.
그리고 환경 구축 복잡도 측면에서 비교하면, DPI는 패킷 페이로드 기반 분석 방법으로 실제 데이터를 중심으로 검증하기 때문에 정보 추출 과정이 어렵고, 페이로드를 저장하는 과정에서 드는 유지 및 관리 비용이 많이 들며 많은 프로세싱 자원을 필요로 하므로 제한적으로 사용된다. 또한, 어떠한 하드웨어 플랫폼 및 매칭 알고리즘을 선택하느냐에 따라 DPI 엔진의 처리량과 그 비용의 차이가 크며, 패턴 매칭 유닛 구조에 따라 확정성과 유연성 등의 요소가 고려된다. 반면, FPI는 기존의 네트워크 장비를 프로토콜 및 기능에 따라 변경할 필요 없이 본래의 패킷 프레임 구조에서 헤더 부분만 확장하여 사용하고, 연산 과정 역시 해시 값으로 간소화되었기 때문에 장비 교체 및 데이터 유지, 관리에 대한 비용이 크지 않다. 따라서 FPI가 전반적인 환경 구축에 대해 비용 효율적임을 확인할 수 있다.
결론적으로 종단간 암호화에서 주로 사용되는 AES를 암호화 알고리즘으로 사용한 시뮬레이터에서 FPI가 DPI보다 전반적으로 빠른 전송 속도를 보였다. 이는 DPI가 중계노드에서 복호화, 검증, 재 암호화, 전송 과정을 거치는 것보다 FPI가 더 효율적으로 작동함을 의미한다. 또한 FPI의 보안성을 의미하는 Hbm 요소를 충분히 추가할 수 있어 전송 속도와 보안성 측면에서 FPI는 DPI보다 효과적인 패킷 검증 기술임을 확인할 수 있다.
본 실시 예는 종단간 암호화 상태에서 데이터 무결성과 알려진 악성코드 검출을 지원하는 패킷 프레임 구조 및 전송 메커니즘인 FPI를 제안한다. 제안한 FPI 방법과 종래의 DPI 방법을 검사 속도와 검증 커버리지를 비교 평가하기 위해 모델링하여 패킷 검증 시뮬레이션을 수행하였다. 중계노드에서 발생하는 암호화, 검증, 복호화, 재 암호화, 전송 과정으로 인해 FPI가 DPI와 비교하여 종단간 암호화를 유지하면서 빠른 검사 속도를 보였다. 그리고 네트워크 환경과 요구조건에 따라 검사 대상 컴포넌트의 범위를 조정하여 민첩한(agile) 환경 적응이 가능하다. 결과적으로 본 실시 예에서 제안하는 FPI는 보안성, 속도 성능, 유연한 확장성 요구 조건을 동시에 만족되어야 하는 네트워크 환경에 적합한 패킷 검사 방식이라고 할 수 있으며, 향후 차세대 네트워크 보안 기술로 활용될 수 있을 것이다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 연결망
200: 망스위치
300: 분리망
110: 송신노드
210: 중계노드
310: 수신노드

Claims (10)

  1. 연결망(connected network), 분리망(separated network) 및 이들을 연결하는 망스위치(network switch)를 포함하는 네트워크 정보 보호 장치에 의한 네트워크 정보 보호 방법으로서,
    트러스트 노드와 복수의 클라이언트 노드를 포함하는 상기 연결망이 상기 트러스트 노드와 상기 복수의 클라이언트 노드 사이에서 분산 인증을 수행하는 단계;
    상기 연결망이, 상기 분산 인증의 수행에 따라, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성한 정보 패킷 프레임을 상기 망스위치로 전송하는 단계;
    상기 망스위치가, 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과 및 악성 해시리스트와의 비교에 따른 악성 검증 결과에 따라, 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 상기 분리망으로의 전송 여부를 결정하는 단계; 및
    상기 분리망이, 상기 망스위치로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과와, 악성 해시리스트와의 비교에 따른 악성 검증 결과와, 상기 정보 패킷 프레임 내의 해시값 비교를 통해 상기 망스위치로부터 수신한 정보 패킷 프레임의 이용 여부를 결정하는 단계를 포함하고,
    상기 망스위치로 전송하는 단계에서,
    상기 클라이언트 노드가 생성하는 정보 패킷 프레임은,
    확장 헤더 유무를 확인할 수 있는 필드를 포함하는 헤더 영역과,
    평문 데이터 페이로드(P)를 해시한 제1 해시값(HP)이 추가된 제1 확장필드와, 암호화된 데이터 페이로드(E)를 해시한 제2 해시값(HE)이 추가된 제2 확장필드와, 상기 평문 데이터 페이로드(P) 중 특정 컴포넌트(C1~Cn)의 해시값으로서의 제3 해시값(Hbm)이 비트맵으로 추가된 제3 확장필드와, 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나의 유효성 체크를 통해 무결성을 검증하는 오류 검사 코드가 추가된 제4 확장필드를 포함하는 확장 헤더 영역과,
    암호화된 데이터 페이로드를 포함하는 바디 영역을 포함하는,
    네트워크 정보 보호 방법.
  2. 제 1 항에 있어서,
    상기 분산 인증을 수행하는 단계는,
    어느 한 클라이언트 노드가 인접한 주변의 트러스트 노드 또는 인증된 클라이언트 노드들을 통해 인증받고, 인증받은 클라이언트 노드는 인접한 다른 클라이언트 노드들을 인증하는 단계를 포함하는,
    네트워크 정보 보호 방법.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 분리망으로의 전송 여부를 결정하는 단계는,
    상기 연결망으로부터 수신한 정보 패킷 프레임 내에 포함된 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 이용하여 제2 오류 검사 코드를 생성하는 단계;
    상기 연결망으로부터 수신한 정보 패킷 프레임 내에 포함된 오류 검사 코드와, 상기 제2 오류 검사 코드의 비교에 따라, 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 무결성 검사 결과를 생성하는 단계;
    상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인되면, 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 악성 해시리스트와 비교하여 악성 검증 결과를 생성하는 단계; 및
    상기 악성 검증 결과에 따라 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 상기 분리망으로의 전송 여부를 결정하는 단계를 포함하는,
    네트워크 정보 보호 방법.
  5. 제 4 항에 있어서,
    상기 정보 패킷 프레임의 이용 여부를 결정하는 단계는,
    상기 망스위치로부터 수신한 정보 패킷 프레임 내에 포함된 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 이용하여 제3 오류 검사 코드를 생성하는 단계;
    상기 망스위치로부터 수신한 정보 패킷 프레임 내에 포함된 오류 검사 코드와, 상기 제3 오류 검사 코드의 비교에 따라, 상기 망스위치로부터 수신한 정보 패킷 프레임에 대한 무결성의 검사 결과를 생성하는 단계;
    상기 망스위치로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인되면, 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 악성 해시리스트와 비교하여 악성 검증 결과를 생성하는 단계; 및
    상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 악성 해시리스트와 다른 상기 악성 검증 결과에 따라, 상기 망스위치로부터 수신한 정보 패킷 프레임 내의 상기 확장 헤더 영역 및 상기 바디 영역의 해시값을 비교하여 동일한 경우 상기 망스위치로부터 수신한 정보 패킷 프레임을 이용하는 단계를 포함하는,
    네트워크 정보 보호 방법.
  6. 트러스트 노드와 복수의 클라이언트 노드를 포함하는 노드들 사이에서 분산 인증을 수행하는 연결망(connected network);
    분리망(separated network); 및
    상기 연결망 및 상기 분리망을 연결하는 망스위치(network switch)를 포함하는 네트워크 정보 보호 장치로서,
    상기 연결망은,
    상기 트러스트 노드와 상기 복수의 클라이언트 노드 사이에서 분산 인증을 수행하고,
    상기 분산 인증의 수행에 따라, 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성한 정보 패킷 프레임을 상기 망스위치로 전송하도록 구성되고,
    상기 망스위치는,
    상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과 및 악성 해시리스트와의 비교에 따른 악성 검증 결과에 따라, 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 상기 분리망으로의 전송 여부를 결정하도록 구성되고,
    상기 분리망은,
    상기 망스위치로부터 수신한 정보 패킷 프레임에 대한 오류 검사코드를 기반으로 한 무결성 검사 결과와, 악성 해시리스트와의 비교에 따른 악성 검증 결과와, 상기 정보 패킷 프레임 내의 해시값 비교를 통해 상기 망스위치로부터 수신한 정보 패킷 프레임의 이용 여부를 결정하도록 구성되고,
    상기 연결망에서,
    상기 인증 레벨이 기설정된 레벨에 도달한 클라이언트 노드가 생성하는 정보 패킷 프레임은,
    확장 헤더 유무를 확인할 수 있는 필드를 포함하는 헤더 영역과,
    평문 데이터 페이로드(P)를 해시한 제1 해시값(HP)이 추가된 제1 확장필드와, 암호화된 데이터 페이로드(E)를 해시한 제2 해시값(HE)이 추가된 제2 확장필드와, 상기 평문 데이터 페이로드(P) 중 특정 컴포넌트(C1~Cn)의 해시값으로서의 제3 해시값(Hbm)이 비트맵으로 추가된 제3 확장필드와, 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나의 유효성 체크를 통해 무결성을 검증하는 오류 검사 코드가 추가된 제4 확장필드를 포함하는 확장 헤더 영역과,
    암호화된 데이터 페이로드를 포함하는 바디 영역을 포함하는, 네트워크 정보 보호 장치.
  7. 제 6 항에 있어서,
    상기 연결망은,
    어느 한 클라이언트 노드가 인접한 주변의 트러스트 노드 또는 인증된 클라이언트 노드들을 통해 인증받고, 인증받은 클라이언트 노드는 인접한 다른 클라이언트 노드들을 인증하도록 구성되는,
    네트워크 정보 보호 장치.
  8. 삭제
  9. 제 6 항에 있어서,
    상기 망스위치는,
    상기 연결망으로부터 수신한 정보 패킷 프레임 내에 포함된 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 이용하여 제2 오류 검사 코드를 생성하고,
    상기 연결망으로부터 수신한 정보 패킷 프레임 내에 포함된 오류 검사 코드와, 상기 제2 오류 검사 코드의 비교에 따라, 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 무결성 검사 결과를 생성하고,
    상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인되면, 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 악성 해시리스트와 비교하여 악성 검증 결과를 생성하며,
    상기 악성 검증 결과에 따라 상기 연결망으로부터 수신한 정보 패킷 프레임에 대한 상기 분리망으로의 전송 여부를 결정하도록 구성되는,
    네트워크 정보 보호 장치.
  10. 제 9 항에 있어서,
    상기 분리망은,
    상기 망스위치로부터 수신한 정보 패킷 프레임 내에 포함된 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 이용하여 제3 오류 검사 코드를 생성하고,
    상기 망스위치로부터 수신한 정보 패킷 프레임 내에 포함된 오류 검사 코드와, 상기 제3 오류 검사 코드의 비교에 따라, 상기 망스위치로부터 수신한 정보 패킷 프레임에 대한 무결성의 검사 결과를 생성하고,
    상기 망스위치로부터 수신한 정보 패킷 프레임에 대한 무결성이 확인되면, 상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 악성 해시리스트와 비교하여 악성 검증 결과를 생성하며,
    상기 제1 해시값, 상기 제2 해시값 또는 상기 제3 해시값 중 적어도 하나를 악성 해시리스트와 다른 상기 악성 검증 결과에 따라, 상기 망스위치로부터 수신한 정보 패킷 프레임 내의 상기 확장 헤더 영역 및 상기 바디 영역의 해시값을 비교하여 동일한 경우 상기 망스위치로부터 수신한 정보 패킷 프레임을 이용하도록 구성되는,
    네트워크 정보 보호 장치.
KR1020200125588A 2020-09-28 2020-09-28 네트워크 정보 보호 방법 및 장치 KR102421722B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200125588A KR102421722B1 (ko) 2020-09-28 2020-09-28 네트워크 정보 보호 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200125588A KR102421722B1 (ko) 2020-09-28 2020-09-28 네트워크 정보 보호 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220042593A KR20220042593A (ko) 2022-04-05
KR102421722B1 true KR102421722B1 (ko) 2022-07-15

Family

ID=81181699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200125588A KR102421722B1 (ko) 2020-09-28 2020-09-28 네트워크 정보 보호 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102421722B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019008130A1 (en) * 2017-07-07 2019-01-10 Gurulogic Microsystems Oy SYSTEM AND METHOD FOR DATA COMMUNICATION

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019008130A1 (en) * 2017-07-07 2019-01-10 Gurulogic Microsystems Oy SYSTEM AND METHOD FOR DATA COMMUNICATION

Also Published As

Publication number Publication date
KR20220042593A (ko) 2022-04-05

Similar Documents

Publication Publication Date Title
Shi et al. Dynamic distributed honeypot based on blockchain
Malekzadeh et al. A new security model to prevent denial‐of‐service attacks and violation of availability in wireless networks
Guerber et al. Machine Learning and Software Defined Network to secure communications in a swarm of drones
US7139679B1 (en) Method and apparatus for cryptographic protection from denial of service attacks
US8671451B1 (en) Method and apparatus for preventing misuse of a group key in a wireless network
Bello et al. On sustained zero trust conceptualization security for mobile core networks in 5g and beyond
Thankappan et al. Multi-Channel Man-in-the-Middle attacks against protected Wi-Fi networks: A state of the art review
Ravilla et al. Implementation of HMAC-SHA256 algorithm for hybrid routing protocols in MANETs
Rahman et al. Security attacks on wireless networks and their detection techniques
Park et al. Session management for security systems in 5g standalone network
CN115051836A (zh) 基于sdn的apt攻击动态防御方法及系统
CN115348118B (zh) 一种基于密码技术的网络地址和端口号隐藏方法
Joshi Network security: know it all
KR102421722B1 (ko) 네트워크 정보 보호 방법 및 장치
Periyanayagi et al. Swarm-based defense technique for tampering and cheating attack in WSN using CPHS
Manale et al. Security of communication 5G-V2X: A proposed approach based on securing 5G-V2X based on Blockchain
Oberoi et al. ADRCN: A framework to detect and mitigate malicious Insider Attacks in Cloud-Based environment on IaaS
RU183015U1 (ru) Средство обнаружения вторжений
Kumar et al. Security protocols in MANETs
Ahmad et al. Analysis of network security threats and vulnerabilities by development & implementation of a security network monitoring solution
Bojjagani et al. Early DDoS Detection and Prevention with Traced-Back Blocking in SDN Environment.
Kazemi et al. Tunneling protocols identification using light packet inspection
Kalangi et al. A Hybrid IP Trace Back Mechanism to Pinpoint the Attacker
Malekzadeh et al. Protected control packets to prevent denial of services attacks in IEEE 802.11 wireless networks
Cai et al. OrthCredential: A new network capability design for high-performance access control

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant