KR20030057263A - 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여저장하는 방법 - Google Patents
사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여저장하는 방법 Download PDFInfo
- Publication number
- KR20030057263A KR20030057263A KR1020020018900A KR20020018900A KR20030057263A KR 20030057263 A KR20030057263 A KR 20030057263A KR 1020020018900 A KR1020020018900 A KR 1020020018900A KR 20020018900 A KR20020018900 A KR 20020018900A KR 20030057263 A KR20030057263 A KR 20030057263A
- Authority
- KR
- South Korea
- Prior art keywords
- tree
- reuse
- container
- node
- root
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법에 관한 것이다.
본 발명은 공유 가능한 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법(S100)과; 사용자의 관점에서 공유되는 노드 없이 루티드(rooted) 트리 구조로 구성된 규칙 및 정책을 재사용 용기를 활용하여 방향성 무환 그래프(directed acyclic graph) 구조로 자동으로 변환하여 저장하는 방법(S200); 및 사용자 관점의 트리 삽입 요청과 사용자 관점의 트리 삭제 요청 및 사용자 관점의 객체 수정 요청에 따라서 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프 구조에 트리를 삽입하거나 삭제하는 한편, 특정한 객체를 수정하는 방법(S300,S400,S500)으로 이루어지며,
이에 따라서, 사용자 관점의 정책 구조와 물리적 저장 구조를 분리시키고 저장 공간을 절약할 수 있으며, 정책 편집을 편리하게 하고 정책 저장 구조를 용이하게 변경할 수 있다.
Description
본 발명은 정책 기반 네트워크 보안 관리에 관한 것이며, 보다 상세히는 NSPIM(Network Security Policy Information Model) 기반으로 표현된 보안 정책을 저장함에 있어서 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법에 관한 것이다.
최근 들어 각종 산업에 있어서 인터넷의 중요성이 더욱더 증가함에 따라 다양한 인터넷 서비스가 확대되고 인터넷 사용자 역시 폭발적으로 증가하고 있는 반면에, TCP/IP의 구조적인 취약성으로 인한 보안 허점의 노출과 보안 사고의 발생도 역시 기하급수적으로 늘어나고 있다.
이에 따라서, 네트워크 보안에 대한 연구 개발이 활성화되고 있으며, 공지의 침입 탐지 시스템(IDS: Intrusion Detection System)이나 방화벽 같은 네트워크 기반의 보안 시스템들이 각자의 전문성을 자부하며 시장에 선보이고 있다.
그러나 이러한 보안 시스템들은 서로 다른 동작 구조와 관리 방법을 가지므로 일반적으로 상호 동작하지 않는다. 이러한 비호환성은 여러 개의 보안 장비들을 포함하는 망을 통합적으로 관리해야 하는 관리자에게 큰 부담을 주게 되었다.
이러한 문제의 해결책으로서 여러 네트워크 기반 보안 장치들을 정책적으로 통합 관리하는 방안이 제시되었으며, 이 방안은 정책 기반 네트워크 보안 관리로서 IETF(Internet Engineering Task Force)의 PBNM(Policy Based Network Management)의 골격을 따라 PMT(Policy Management Tool), PR(Policy Repository), PDP(Policy Decision Point)와 PEP(Policy Enforcement Point)들로 구성된다. 또한 정책 기반 네트워크 보안 관리에서는 IETF(Internet Engineering Task Force)의 PCIM(Policy Core Information Model)을 확장한 NSPIM을 기반으로 PDP, PR, PMT의 구조를 설계한다.
상기 NSPIM은 보안 정책을 표현, 관리, 저장, 재사용하기 위한 정보 모델이며, NSPIM에서 정책은 규칙의 집합을 의미하고, 각 규칙은 트리 구조로 나타나며 이 트리 구조에서 각 노드 x의 자식 노드들은 그 노드 x가 나타내는 정보를 상세화하는 성격을 띈다.
예컨대, NSPIM에 있어서 "소스 주소가 134.250.17.00/24이고 목적지 포트가 80인 패킷을 차단하라"는 규칙은 도 1에 도시된 바와 같은 트리 구조로 나타난다. 도 1에 도시된 바와 같은 규칙(101)에 있어서, "소스 주소가 134.250.17.00/24이면"이란 조건은 3개의 객체로 구성된 트리를 형성하고 있다. 즉, 비교하는 조건을 나타내는 노드(103)를 루트로 하고 소스 주소를 나타내는 노드(105)와 "134.250.17.00/24"를 나타내는 노드(106)를 자식 노드로 하는 트리를 형성하고 있다. 또한, "목적지 포트가 80이면"이란 조건 역시 3 개의 객체로 구성된 트리를 형성하고 있다(104,107,108).
따라서, "소스 주소가 134.250.17.00/24이고 목적지 포트가 80이면"이란 전체 조건은 7개의 객체로 구성된 트리(102,103,105,106,104,107,108)를 형성하고 있으며, 어떤 노드 x의 자식 노드들은 모두 이 노드 x의 정보를 상세화하는 성격을 띄고 있음을 알 수 있다.
상기와 같은 NSPIM의 트리 구조의 또 다른 특징은 잎 노드로만 사용될 노드가 미리 알려져 있고, 특정한 객체가 나타내는 정보를 상세화할 더 이상의 클래스가 정의되어 있지 않는 클래스의 인스턴스는 항상 잎 노드가 된다는 것이다. 예컨대, 도 1에서 소스 주소를 나타내는 변수(105)와, 목적지 포트를 나타내는 변수(107), IPv4 주소를 나타내는 값(106), 정수를 나타내는 값(108)에 해당하는 노드들은 항상 잎 노드이다.
한편, 다수의 보안 정책 규칙들이 NSPIM 기반으로 표현될 때 각 규칙은 중복되는 부트리(sub-tree)들을 갖게 된다. 예컨대, "TCP 프로토콜을 사용하면"이나 "목적지 포트가 80이면"이라는 조건은 여러 네트워크 기반 침입 탐지 규칙에서 흔히 발견된다. 따라서, 이러한 조건을 나타내는 부트리들은 여러 규칙들에서 반복적으로 나타나게 된다.
또한, 상기와 같이 NSPIM 기반으로 표현되는 다수의 보안 정책 규칙들을 저장할 시에 중복되는 부분들을 한번만 저장할 수 있다면 메모리 공간의 절약, 메모리 관리의 효율성, 자료 변경의 용이성, 자료 검색의 용이성 등의 효과를 얻을 수 있으므로, 상기 PCIM에서도 재사용 객체(reusable instances)를 미리 지정해 놓을 수 있도록 재사용 용기(reusable container)라는 클래스를 정의하고 있다. 즉 운영자의 경험에 의해 자주 사용되는 객체를 미리 알 수 있다고 가정하고 그 객체들을 재사용 용기에 모아 놓기를 권장하는 것이다.
그러나, 상기와 같이 운영자가 미리 재사용 용기를 설정해 놓는다고 하더라도 사용자가 정책을 편집할 때마다 재사용 용기를 직접 관리한다는 것은 매우 번거로울 뿐 아니라 저장 공간의 활용도를 낮추게 될 가능성이 있다.
예컨대, 어떤 규칙을 하나 삽입하고자 할 때 그 규칙이 재사용 용기의 어떤 부분을 어떻게 활용할 것인지 결정하는 것은 매우 번거로운 일이다. 또한 어떤 객체를 변경하고 싶을 때 그 객체가 재사용 용기에 들어 있어 공유되고 있는지 확인하여 적절한 조치를 취하는 작업은 사용자 입장에서 번거로울 뿐 아니라 일관성 있는 정책 관리를 어렵게 한다.
다시 말해서, 사용자가 직접 재사용 용기를 관리하는 것은 시스템 사용의 어려움과 복잡성을 유발할 뿐 아니라 중복되는 객체들을 반복 저장하게 될 가능성을 유발하고 이로 인한 시스템 관리의 비효율성을 발생시킨다.
따라서, 본 발명은 상술한 종래의 문제점을 극복하기 위한 것으로서, 본 발명의 목적은 정책 기반 네트워크 보안 관리에서 NSPIM 기반으로 표현된 보안 정책을 저장함에 있어서 사용자가 정책을 삽입, 삭제, 수정할 시 미리 지정된 재사용 객체들로 구성된 재사용 용기의 개념을 모르더라도 재사용 용기를 활용하여 중복되는 객체들을 한번만 저장하게 해주는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법을 제공하는데 있다.
상기 본 발명의 목적을 달성하기 위한 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법은, 공유 가능한 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법과; 사용자의 관점에서 공유되는 노드 없이 루티드(rooted) 트리 구조로 구성된 규칙 및 정책을 상기 재사용 용기를 활용하여 방향성 무환 그래프(directed acyclic graph) 구조로 자동으로 변환하여 저장하는 방법; 사용자 관점의 트리 삽입 요청에 따라서 상기 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프 구조에 트리를 삽입하는 방법; 사용자 관점의 트리 삭제 요청에 따라서 상기 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프 구조에서 트리를 삭제하는 방법; 및 사용자 관점의 객체 수정 요청에 따라서 상기 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프에서 특정한 객체를 수정하는 방법으로 이루어진다.
도 1은 NSPIM 기반의 트리 구조 네트워크 보안 정책을 도시한 실시예,
도 2는 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법을 도시한 실시예,
도 3은 본 발명에 따른 트리 구조 정책 저장 방법에 의해 사용자 관점에서의 루티드 트리 구조를 방향성 무환 그래프 구조로 변환하여 저장한 상태를 도시한 실시예,
도 4는 도 2에 도시된 재사용 용기 내의 재사용 트리들을 정렬해 놓은 상태를 도시한 실시예,
도 5는 사용자 관점의 트리 삽입 요청에 따라서 특정한 객체 z의 부트리로서 트리 X를 삽입하는 과정을 도시한 흐름도,
도 6은 사용자 관점의 트리 삭제 요청에 따라서 특정한 객체 z의 부트리인 트리 X를 삭제하는 과정을 도시한 흐름도,
도 7은 사용자 관점의 객체 수정 요청에 따라서 특정한 객체 x를 수정하는 과정을 도시한 흐름도이다.
<도면의 주요부분에 대한 부호의 설명>
301,302: 노드 311,312,313: 재사용 루트
이하, 본 발명에 따른 실시예를 도면을 참조하여 상세히 설명하기로 한다.
도 2 내지 도 7을 참조하면, 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법에 의해 소정의 트리 구조 정책을 저장하기 위해서 운영자는 먼저, 공유 가능한 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하고(S100), 이 재사용 용기를 활용하여 도 3의 (a)에 도시된 바와 같은 사용자의 관점에서 공유되는 노드 없이 루티드 트리 구조로 구성된 규칙 및 정책을 도 3의 (b)에 도시된 바와 같은 방향성 무환 그래프 구조로 자동으로 변환하여 저장한다(S200).
이때, 상기 재사용 용기에 저장되는 재사용 트리의 루트는 재사용 루트라 하며, 모든 노드 중 재사용 루트만이 두 개 이상의 부모를 가질 수 있다. 예컨대, 도 3에 있어서 노드 g (311)는 두 개의 부모, 즉 노드 f와 노드 q를 가진다. 따라서, 어떤 노드의 조상 노드들 중 재사용 루트가 있다면 그 노드는 재사용 트리에 속할 뿐만 아니라 재사용 용기에 들어 있다. 도 3의 (b)에 도시된 재사용 용기에는 3개의 재사용 트리가 나타나 있는데 각각의 재사용 루트(311,312,313)는 회색으로 표시되어 있으며, 실제로 도 3의 (a)에 도시된 루티드 트리를 도 3의 (b)에 도시된 방향성 무환 그래프로 변환하여 저장할 때, 도 3의 (a)에 도시된 노드 g(301)를 루트로 하는 트리와 노드 a(302)를 루트로 하는 트리는 도 3의 (b)에 도시된 재사용 트리를 활용하여 저장되고 있다.
상기 루티드 트리나 방향성 무환 그래프에서 각 노드는 미리 정의된 타입이나 클래스의 인스턴스를 의미하고, 각 링크는 인스턴스 간의 방향성 연결 관계를나타내며, 상기 루티드 트리나 방향성 무환 그래프에서 어떤 노드의 자손이라 함은 그 노드에서 방향성 연결 관계를 따라 도달할 수 있는 노드를 의미하고, 상기 클래스의 속성은 클래스의 종류에 따라 미리 정의되어 있다.
또한, 상기 루티드 트리나 방향성 무환 그래프에서 두 개의 인스턴스의 클래스가 같고 클래스의 속성들이 모두 같으면 이 두 개의 인스턴스, 즉 두 개의 노드는 서로 동일하다고 보며, 노드간의 방향성 연결관계는 속성을 가지는 노드를 포함할 수도 있다.
참고로, 상기한 PCIM에서는 클래스의 인스턴스간의 연결관계도 속성들을 가지는 어소시에이션 클래스(association class)로 모델링된다. 또한 PCIM이 LDAP(Lightweight Directory Access Protocol) 스키마에 대응될 때 이러한 어소시에이션 클래스는 다른 객체와 합쳐진 형태로 대응되기도 하지만 독립된 객체로 대응되기도 한다.
한편, 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법에서는 상기 재사용 용기를 물리적으로 따로 분리하지 않으면서도 재사용 용기를 구현하기 위하여 재사용 트리의 루트만 재사용 루트로서 따로 구분할 수 있도록 관리한다. 따라서, 어떤 노드가 재사용 용기에 속하는지 감별하기 위해서 그 노드의 조상들 중 재사용 루트가 있는지 만을 확인하면 되고, 어떤 트리가 재사용 용기에 속하는지 감별하기 위해서 그 트리의 루트가 재사용 루트인지 만을 확인하면 된다.
또한, 상기 재사용 루트를 구분하기 위해서 각 노드에 부모의 개수를 나타내는 속성을 유지 및 관리하되 재사용 트리의 루트에 대하여 이 속성을 일정 상수 보다 항상 크게 하고, 이 속성이 0인 노드를 삭제하는 방법과 병용함으로써 부모 없는 트리를 자동으로 삭제하되 재사용 트리는 삭제되지 않게 할 수 있다.
상기와 같이 사용자의 관점에서 공유되는 노드 없이 루티드 트리 구조로 구성된 규칙 및 정책을 특정한 방향성 무환 그래프 구조로 자동으로 변환하여 저장한(S200) 상태에서, 사용자 관점의 트리 삽입 요청과 사용자 관점의 트리 삭제 요청에 따라서 상기 방향성 무환 그래프에 트리를 삽입하거나, 상기 방향성 무환 그래프에서 트리를 삭제하려면, 우선적으로 어떤 트리 X가 재사용 용기에 있는지 검색하는 작업이 선행되어야 하므로, 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법에서는 이와 같은 검색 작업을 빠르게 하기 위해서 다음과 같은 방법으로 재사용 트리들을 그룹핑하여 정렬한다.
첫째, 각 노드에 자신을 루트로 하는 부트리의 크기나 깊이를 속성으로 유지하고, 재사용 트리들을 재사용 루트의 상기 속성을 기준으로 그룹핑하여 정렬한다. 따라서, 어떤 트리 X를 재사용 용기에서 검색할 시 트리 X의 루트의 상기 속성을 먼저 비교함으로써 검색의 범위를 좁히거나 검색의 시간을 줄일 수 있다. 실제로, 도 3에 도시된 재사용 용기의 재사용 트리들을 재사용 루트의 상기 속성(예컨대, 부트리의 크기와 깊이)을 기준으로 정렬하면 도 4에 도시된 바와 같이 나타난다.
둘째, 각 노드에 자신을 생성한 클래스나 타입을 유지하고, 재사용 트리들을재사용 루트의 클래스나 타입을 기준으로 그룹핑하여 정렬한다. 따라서, 어떤 트리 X가 재사용 트리로 지정되어 있는지 검색할 시 트리 X의 루트의 클래스나 타입을 먼저 비교함으로써 검색의 범위를 좁히거나 검색의 시간을 줄일 수 있다.
한편, 본 발명에서 제시하는 트리의 삽입과 삭제 및 객체의 수정 방법을 사용하려면 상기 재사용 트리의 잎 노드는 사용자 관점에서도 항상 잎 노드라는 전제조건, 즉 사용자 관점에서 자식 노드를 가질 수 있는 노드들을 잎 노드로 가지는 트리는 재사용 트리로 설정될 수 없다는 전제 조건이 충족되어야 한다. 이러한 전제 조건은 NSPIM과 같이 각 노드의 자손이 모두 그 노드가 나타내는 정보를 상세화하는 기능을 가질 때 유용하다. 왜냐하면 규칙의 일부에 대한 자유로운 삽입, 삭제, 수정을 원하는 사용자의 요구 사항을 위배하지 않으면서도 삽입, 삭제, 수정 알고리즘을 단순화할 수 있기 때문이다.
도 5를 참조하면, 사용자 관점의 트리 삽입 요청에 따라서 상기 방향성 무환 그래프 구조에 특정한 객체 z의 부트리로서 트리 X를 삽입하는 방법(S300)은 다음과 같다.
방향성 무환 그래프 구조에 어떤 노드 z의 부트리로서 새로운 트리 X를 삽입하고자 할 때, 가장 먼저 상기 재사용 트리들을 가능한 한 최대로 활용하여 공유하기 위하여 재사용 용기에 트리 X와 동일한 트리 X'이 있는가를 검색한다(S301). 여기서, 두 개의 트리 X와 X'가 동일하다는 의미는 두 개의 트리가 모두 동일한 노드를 포함하고 있고 그들간의 연결관계도 역시 같음을 의미한다.
만약, 상기 재사용 용기에 트리 X와 동일한 트리 X'가 있는가를 검색한 결과, 상기 트리 X와 동일한 트리 X'이 재사용 트리에 없다고 판별되면, 우선 상기 트리 X의 루트 x를 새로 저장하고 상기 루트 x와 부모 노드 z간의 연결관계를 설정한(S302,S303) 다음, 상기 루트 x가 트리 X의 잎 노드인가를 판별한다(S304).
이때, 상기 루트 x가 잎 노드라고 판별되면 종료하고, 상기 루트 x가 잎 노드가 아니라고 판별되면 상기 루트 x의 모든 자식 노드(y)에 대해서 y를 루트로 하는 새로운 트리(Y)를 삽입한(S305) 후 종료한다.
또한, 상기 재사용 용기에 트리 X와 동일한 트리 X'가 있는가를 검색한 결과, 상기 트리 X와 동일한 트리 X'이 재사용 트리에 있다고 판별되면, 상기 재사용 용기에 있는 트리 X'이 공유되도록 상기 트리 X'과 부모 노드 z간의 연결관계를 설정한(S306) 후 종료한다.
도 6을 참조하면, 사용자 관점의 트리 삭제 요청에 따라서 상기 방향성 무환 그래프 구조에서 특정한 객체 z의 부트리인 트리 X를 삭제하는 방법(S400)은 다음과 같다.
방향성 무환 그래프 구조에서 어떤 노드 z의 부트리로서 어떤 트리 X를 삭제하고자 할 때, 가장 먼저 상기 재사용 용기에 트리 X가 있는가를 검색한다(S401).
만약, 상기 재사용 용기에 트리 X가 있는가를 검색한 결과, 상기 트리 X가 재사용 트리에 없다고 판별되면, 우선 상기 트리 X의 루트 x를 삭제하고 상기 루트x와 부모 노드 z간의 연결관계를 삭제한(S402,S403) 다음, 상기 루트 x가 트리 X의 잎 노드인가를 판별한다(S404).
이때, 상기 루트 x가 잎 노드라고 판별되면 종료하고, 상기 루트 x가 잎 노드가 아니라고 판별되면 상기 루트 x의 모든 자식 노드(y)에 대해서 y를 루트로 하는 트리(Y)를 삭제한(S405) 후 종료한다.
또한, 상기 재사용 용기에 트리 X가 있는가를 검색한 결과, 상기 트리 X가 재사용 트리에 있다고 판별되면, 상기 재사용 용기에 있는 트리 X와 부모 노드 z간의 연결관계를 삭제한(S406) 후 종료한다.
상기한 바와 같이 사용자 관점의 트리 삭제 요청에 따라서 상기 방향성 무환 그래프 구조에서 특정한 객체 z의 부트리인 트리 X를 삭제하고 나면, 상기 트리 X에 포함되는 트리들이 전부 혹은 일부가 재사용 트리일 경우 이러한 재사용 트리들에 대한 연결관계가 완전히 끊어진다.
도 7을 참조하면, 사용자 관점의 객체 수정 요청에 따라서 상기 방향성 무환 그래프 구조에서 특정한 객체 x를 수정하는 방법(S500)은 다음과 같다.
방향성 무환 그래프 구조에서 어떤 객체(또는 노드) x를 수정하여 변경하고자 할 때, 가장 먼저 상기 객체 x가 재사용 용기에 있는가, 즉 상기 객체 x가 속하는 트리가 재사용 용기에 있는가를 검색한다(S501).
만약, 상기 재사용 용기에 객체 x가 속하는 트리가 있는가를 검색한 결과, 상기 객체 x가 속하는 트리가 재사용 트리에 있다고 판별되면, 우선 객체 x를 포함하는 가장 작은 재사용 트리를 X라 하고, 상기 트리 X의 부모 노드 중 객체 x의 조상인 것을 z라 정한(S502) 다음, 상기 트리 X의 복사본 트리 X'을 만들어 z와 트리 X의 연결관계를 끊고 z와 상기 복사본 트리 X'의 연결관계를 설정한 후 트리 X'의 객체들 중에 x에 해당하는 객체를 수정한다(S503,S504). 객체 x의 수정 후 도 5를 참조하여 INSERT(z, X')를 수행함으로써 노드 z의 부트리로서 트리 X'을 새로이 삽입하는 과정을 수행한다. 이러한 과정 INSERT(x, X')은 새로운 트리 X',혹은 X'의 부트리가 재사용 트리일 경우 재사용 용기에 미리 존재하는 재사용 트리를 활용할 수 있게 한다.
반면에, 상기 재사용 용기에 객체 x가 속하는 트리가 있는가를 검색한 결과, 상기 객체 x가 속하는 트리가 재사용 트리에 없다고 판별되면, 상기 객체 x를 직접 수정한다(S506).
상술한 바와 같이 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법은 정책 기반 네트워크 보안 관리에서 NSPIM 기반으로 표현된 보안 정책을 저장함에 있어서 사용자가 정책을 삽입, 삭제, 수정할 시 미리 지정된 재사용 객체들로 구성된 재사용 용기의 개념을 모르더라도 재사용 용기를 활용하여 중복되는 객체들을 한번만 저장하게 해주기 때문에, 사용자 관점의 정책 구조와 물리적 저장 구조를 분리시켜 정책 편집을 편리하게 하고 정책 저장 구조를 용이하게 변경할 수 있을 뿐만 아니라, 저장공간을 절약할 수 있는 효과가있다.
실제로, 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법에 의해 사용자 관점의 정책 구조와 물리적 저장 구조를 분리시키면, 사용자 측면에서는 정책 편집을 편리하게 할 수 있고, 운영자 측면에서는 정책 저장 구조를 용이하게 변경할 수 있다.
즉, 사용자는 재사용 용기의 존재나 공유에 관해서 모르고도 정책을 삽입, 삭제, 수정할 수 있으므로 간편하게 정책을 편집할 수 있으며, 운영자는 사용자에게 아무런 통지 없이 재사용 용기의 내용을 변경할 수 있을 뿐만 아니라, 재사용 트리로 지정되지 않았으나 자주 반복 저장되고 있는 트리를 새로이 재사용 용기에 추가할 수도 있고, 재사용 용기에 들어 있으나 거의 사용되지 않는 트리를 재사용 용기에서 삭제할 수도 있다.
또한, 본 발명에 따른 재사용 용기를 활용하는 트리 구조 정책 저장 방법에 의해 중복되는 객체들을 한번만 저장하게 되면, 메모리 공간을 절약하여 적은 메모리 공간을 이용함으로써 메모리 관리의 효율성과 자료 검색의 용이성이라는 추가적 효과도 얻을 수 있을 뿐만 아니라, 사용자가 특정 조건을 만족하는 객체나 트리를 일괄 수정할 것을 요구할 시에 수정할 대상이 재사용 용기에 있다면 중복되는 대상을 일일이 찾아다닐 필요가 없이 일괄적으로 수정할 수 있다.
이상에서 설명한 것은 본 발명에 따른 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
Claims (15)
- 공유 가능한 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법과;사용자의 관점에서 공유되는 노드 없이 루티드(rooted) 트리 구조로 구성된 규칙 및 정책을 상기 재사용 용기를 활용하여 방향성 무환 그래프(directed acyclic graph) 구조로 자동으로 변환하여 저장하는 방법;사용자 관점의 트리 삽입 요청에 따라서 상기 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프 구조에 트리를 삽입하는 방법;사용자 관점의 트리 삭제 요청에 따라서 상기 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프 구조에서 트리를 삭제하는 방법; 및사용자 관점의 객체 수정 요청에 따라서 상기 재사용 용기를 활용하여 이미 저장되어 있는 방향성 무환 그래프에서 특정한 객체를 수정하는 방법으로 이루어진 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법은 각 노드에 자신을 루트로 하는 부트리의 크기나 깊이를 속성으로 유지하고 상기 재사용 트리들을 상기 속성을 기준으로 그룹핑하여 정렬하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법은 각 노드에 자신을 생성한 클래스를 유지하고 상기 재사용 트리들을 상기 클래스를 기준으로 그룹핑하여 정렬하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법은 각 노드에 자신의 타입을 유지하고 상기 재사용 트리들을 상기 타입을 기준으로 그룹핑하여 정렬하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 재사용 트리들을 미리 지정하여 재사용 용기에 따로 관리하는 방법은 재사용 트리의 루트를 재사용 루트로서 구분할 수 있도록 관리하고, 어떤 노드가 재사용 트리에 속하는지 감별하기 위해서 그 노드의 조상들 중 재사용 루트가 있는지 확인하며, 어떤 트리가 재사용 용기에 속하는지 감별하기 위해서 그트리의 루트가 재사용 루트인지 확인하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 5 항에 있어서, 재사용 트리의 루트를 재사용 루트로서 구분할 수 있도록 관리하는 방법은 각 노드에 부모의 개수를 나타내는 속성을 유지 및 관리하고, 재사용 트리의 루트에 대하여 상기 속성을 일정 상수 보다 항상 크게 설정하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 6 항에 있어서, 각 노드에 부모의 개수를 나타내는 속성을 유지 및 관리하는 방법은 재사용 트리의 루트에 대하여 이 속성을 일정 상수 보다 항상 크게 하며, 이 속성이 0인 노드를 삭제하는 방법과 병용하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 루티드 트리와 방향성 무환 그래프에서 각 노드는 미리 정의된 타입이나 클래스의 인스턴스를 의미하고, 각 링크는 인스턴스 간의 방향성 연결 관계를 나타내며, 특정 노드의 자손은 그 노드에서 방향성 연결 관계를따라 도달할 수 있는 노드를 의미하고, 상기 클래스의 속성은 클래스의 종류에 따라 미리 정의되는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 재사용 용기는 사용자 관점에서 자식 노드를 가질 수 있는 노드들을 잎 노드로 가지는 트리가 재사용 트리로 설정되지 않는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 방향성 무환 그래프 구조에 트리를 삽입하는 방법은 재사용 트리들을 가능한 한 최대로 활용하도록 된 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 방향성 무환 그래프 구조에서 트리를 삭제하는 방법은 삭제하고자 하는 트리의 전부 혹은 일부가 재사용 트리일 경우 이러한 재사용 트리들에 대한 연결관계를 끊도록 된 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 방향성 무환 그래프 구조에서 특정한 객체를 수정하는 방법은 수정하고자 하는 객체가 재사용 트리에 속할 경우 그 객체가 속하는 가장 작은 재사용 트리의 복사본을 변경하도록 된 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 방향성 무환 그래프 구조에 트리를 삽입하는 방법은방향성 무환 그래프 구조에 어떤 노드 z의 부트리로서 새로운 트리 X를 삽입하고자 할 때, 먼저 재사용 용기에 트리 X와 동일한 트리 X'이 있는가를 검색하는 단계(S301)와;상기 트리 X와 동일한 트리 X'이 재사용 트리에 없다고 판별되면, 우선 상기 트리 X의 루트 x를 새로 저장하고 상기 루트 x와 부모 노드 z간의 연결관계를 설정하는 단계(S302,S303);상기 루트 x와 부모 노드 z간의 연결관계를 설정한 후, 루트 x가 트리 X의 잎 노드인가를 판별하는 단계(S304);상기 루트 x가 잎 노드가 아니라고 판별되면 루트 x의 모든 자식 노드(y)에 대해서 y를 루트로 하는 새로운 트리(Y)를 삽입하는 단계(S305); 및상기 트리 X와 동일한 트리 X'이 재사용 트리에 있다고 판별되면, 재사용 용기에 있는 트리 X'이 공유되도록 상기 트리 X'과 부모 노드 z간의 연결관계를 설정하는 단계(S306)로 이루어지는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 방향성 무환 그래프 구조에서 트리를 삭제하는 방법은방향성 무환 그래프 구조에서 어떤 노드 z의 부트리로서 어떤 트리 X를 삭제하고자 할 때, 먼저 상기 재사용 용기에 트리 X가 있는가를 검색하는 단계와;상기 트리 X가 재사용 트리에 없다고 판별되면, 우선 상기 트리 X의 루트 x를 삭제하고 상기 루트 x와 부모 노드 z간의 연결관계를 삭제하는 단계(S402,S403);상기 루트 x와 부모 노드 z간의 연결관계 삭제 후, 루트 x가 트리 X의 잎 노드인가를 판별하는 단계(S404);상기 루트 x가 잎 노드가 아니라고 판별되면 루트 x의 모든 자식 노드(y)에 대해서 y를 루트로 하는 트리(Y)를 삭제하는 단계(S405); 및상기 트리 X가 재사용 트리에 있다고 판별되면, 재사용 용기에 있는 트리 X와 부모 노드 z간의 연결관계를 삭제하는 단계(S406)로 이루어지는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
- 제 1 항에 있어서, 상기 방향성 무환 그래프 구조에서 특정한 객체를 수정하는 방법은방향성 무환 그래프 구조에서 어떤 객체 x를 수정하여 변경하고자 할 때, 먼저 상기 객체 x가 재사용 용기에 있는가를 검색하는 단계(S501)와;상기 객체 x가 속하는 트리가 재사용 트리에 있다고 판별되면, 우선 객체 x를 포함하는 가장 작은 재사용 트리를 X라 하고, 상기 트리 X의 부모 노드 중 객체 x의 조상인 것을 z라 정한(S502) 다음, 상기 트리 X의 복사본 트리 X'을 만들어 z와 트리 X의 연결관계를 끊고 z와 상기 복사본 트리 X'의 연결관계를 설정한 후 트리 X'의 객체들 중에 x에 해당하는 객체를 수정하는 단계(S503,S504); 및상기 객체 x가 속하는 트리가 재사용 트리에 없다고 판별되면, 객체 x를 직접 수정하는 단계(S506)를 포함하는 것을 특징으로 하는 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여 저장하는 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20010086311 | 2001-12-27 | ||
KR1020010086311 | 2001-12-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030057263A true KR20030057263A (ko) | 2003-07-04 |
KR100492909B1 KR100492909B1 (ko) | 2005-06-03 |
Family
ID=32214368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0018900A KR100492909B1 (ko) | 2001-12-27 | 2002-04-08 | 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여저장하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100492909B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100462406B1 (ko) * | 2002-11-06 | 2004-12-17 | 한국전자통신연구원 | 인터넷 기반 오버레이 멀티캐스트 트리 구성 및 관리 방법 |
US12021900B1 (en) * | 2021-12-06 | 2024-06-25 | Rapid7, Inc. | Using cached summaries for efficient access analysis for cloud provider entities |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430870A (en) * | 1992-10-13 | 1995-07-04 | Sun Microsystems, Inc. | Saving and restoring traversal state attributes of a directed acyclic graph structure network for a parent structure when it invokes a child structure for traversal |
KR20030003593A (ko) * | 2001-07-03 | 2003-01-10 | (주) 해커스랩 | 제한조건 동안 특정 보안정책을 적용할 수 있는 네트워크보안장치 및 네트워크 보안방법 |
KR100401064B1 (ko) * | 2001-12-19 | 2003-10-10 | 한국전자통신연구원 | 네트워크 보안정책 관리도구에서 정책 편집시 충돌 확인방법 |
-
2002
- 2002-04-08 KR KR10-2002-0018900A patent/KR100492909B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100462406B1 (ko) * | 2002-11-06 | 2004-12-17 | 한국전자통신연구원 | 인터넷 기반 오버레이 멀티캐스트 트리 구성 및 관리 방법 |
US12021900B1 (en) * | 2021-12-06 | 2024-06-25 | Rapid7, Inc. | Using cached summaries for efficient access analysis for cloud provider entities |
Also Published As
Publication number | Publication date |
---|---|
KR100492909B1 (ko) | 2005-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1515501B1 (en) | Data structure for range-specified algorithms | |
CN103858386B (zh) | 用于通过优化的决策树执行包分类的方法和装置 | |
US6041053A (en) | Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards | |
CN105488431B (zh) | 区块链系统权限管理方法和装置 | |
US5995971A (en) | Apparatus and accompanying methods, using a trie-indexed hierarchy forest, for storing wildcard-based patterns and, given an input key, retrieving, from the forest, a stored pattern that is identical to or more general than the key | |
US11687594B2 (en) | Algorithmic TCAM based ternary lookup | |
Singh et al. | Packet classification using multidimensional cutting | |
US6772223B1 (en) | Configurable classification interface for networking devices supporting multiple action packet handling rules | |
US7394809B2 (en) | Method and apparatus for packet classification using a forest of hash tables data structure | |
US7774538B2 (en) | Method for ternary contents address memory table management | |
US9595003B1 (en) | Compiler with mask nodes | |
US20130232104A1 (en) | Duplication in decision trees | |
EP1418708A3 (en) | Method and apparatus for managing nodes in a network | |
JP2012507930A (ja) | データパケットを分類するための方法およびシステム | |
CN109845223A (zh) | 使用预分类来实施网络安全策略 | |
CN110557335B (zh) | 三态内容寻址存储器tcam表项处理方法及装置 | |
US8201144B2 (en) | Method and system for distributing software components | |
CN106487769B (zh) | 一种访问控制列表acl的实现方法及装置 | |
KR100439177B1 (ko) | 네트워크 보안 정책의 표현,저장 및 편집 방법 | |
US7633886B2 (en) | System and methods for packet filtering | |
KR100492909B1 (ko) | 사용자 관점의 트리 구조 정책을 재사용 용기를 활용하여저장하는 방법 | |
CN100417150C (zh) | 访问控制列表和安全策略数据库的方法 | |
Macián et al. | An evaluation of the key design criteria to achieve high update rates in packet classifiers | |
KR100401064B1 (ko) | 네트워크 보안정책 관리도구에서 정책 편집시 충돌 확인방법 | |
JP5682442B2 (ja) | パケット分類器、パケット分類方法、及びパケット分類プログラム |
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 | ||
FPAY | Annual fee payment |
Payment date: 20120509 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |