KR101124634B1 - integrated management system of network based on embedded operating gateway - Google Patents

integrated management system of network based on embedded operating gateway Download PDF

Info

Publication number
KR101124634B1
KR101124634B1 KR1020090115306A KR20090115306A KR101124634B1 KR 101124634 B1 KR101124634 B1 KR 101124634B1 KR 1020090115306 A KR1020090115306 A KR 1020090115306A KR 20090115306 A KR20090115306 A KR 20090115306A KR 101124634 B1 KR101124634 B1 KR 101124634B1
Authority
KR
South Korea
Prior art keywords
content
module
network
terminal
web
Prior art date
Application number
KR1020090115306A
Other languages
Korean (ko)
Other versions
KR20100059738A (en
Inventor
김대우
유상협
허종민
부도영
하상화
Original Assignee
(주)대성정보기술
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)대성정보기술 filed Critical (주)대성정보기술
Publication of KR20100059738A publication Critical patent/KR20100059738A/en
Application granted granted Critical
Publication of KR101124634B1 publication Critical patent/KR101124634B1/en

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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Abstract

본 발명은 임베디드 운영 체제에 기반하여 통합적으로 네트워크를 관리하여 네트워크의 보안 및 성능 향상을 수행하는 게이트웨이에 관한 것이다.The present invention relates to a gateway that manages a network integrated based on an embedded operating system to perform security and performance improvement of the network.

임베디드 운영 체제에 기반한 네트워크 통합 관리 게이트웨이는 상기 게이트웨이를 통과하는 패킷에 대하여 아이피테이블에 의하여 규칙을 이용하여 필터링을 수행하는 방화벽(firewall) 모듈, 로컬 호스트 및 원격 호스트 사이에 설정된 인증키 및 IP(internet protocol) 주소 인증을 이용하여 가상 사설망(VPN, virtual private network)을 제공하는 가상 사설망 제공 모듈, 상기 네트워크 통합 관리 게이트웨이에 연결된 네트워크 상의 제 1 단말이 임의의 웹 서버로부터 요청한 컨텐츠를 저장하고, 상기 네트워크 상의 제 2 단말의 상기 웹 서버로부터 상기 컨텐츠를 요청한 경우, 상기 요청에 응답하여 상기 저장된 컨텐츠를 상기 제 2 단말에 제공하는 웹 캐싱 모듈 및 운영 체제(OS, operating system) 커널(kernel) 및 상기 방화벽 모듈, 상기 가상 사설망 제공 모듈 및 상기 웹 캐싱 모듈의 제어를 위한 어플리케이션 소스를 포함하는 임베디드 운영 제체 모듈을 포함한다.A network integrated management gateway based on an embedded operating system includes a firewall module that performs filtering on a packet passing through the gateway by using an IP table, an authentication key and an IP (internet) set between a local host and a remote host. protocol) A virtual private network providing module for providing a virtual private network (VPN) using address authentication, storing contents requested by an arbitrary web server by a first terminal on a network connected to the network integrated management gateway, and storing the network. When the content is requested from the web server of the second terminal on the web, a web caching module and an operating system (OS) kernel and the firewall that provide the stored content to the second terminal in response to the request. Module, the virtual private network providing module, and the web Including an embedded operating system level module that contains the application source for the control of the module Singh.

게이트웨이, 네트워크 관리 Gateway, network management

Description

임베디드 운영 체제에 기반한 네트워크 통합 관리 게이트웨이{integrated management system of network based on embedded operating gateway}Integrated management system of network based on embedded operating gateway

본 발명은 임베디드 운영 체제에 기반한 네트워크 통합 관리 게이트웨이에 관한 것으로서, 보다 상세하게는, 임베디드 운영 체제에 기반하여 통합적으로 네트워크를 관리하여 네트워크의 보안 및 성능 향상을 수행하는 게이트웨이에 관한 것이다.The present invention relates to a network integrated management gateway based on an embedded operating system, and more particularly, to a gateway that performs network security and performance enhancement by integrated network management based on an embedded operating system.

최근 인터넷의 사용이 급증하고 기업에서의 네트워크 사용이 일반화되면서, 네트워크의 보안성 문제가 대두되고 있다. 특히 개인뿐만 아니라 기업에 대한 기밀 정보가 유출되는 사례가 급증하고 있으며, 개인 및 기업에서 사용하는 단말, 예를 들어 데스크탑 등의 PC가 제 3의 단말을 공격하기 위한 경유지로 악용되는 사례도 발생하고 있는 등 네트워크 사용에 있어 보안의 필요성은 점차 증가하고 있다.Recently, with the rapid increase of the use of the Internet and the general use of the network in the enterprise, network security problems are emerging. In particular, there has been a rapid increase in the leakage of confidential information about not only individuals but also companies, and there are cases where personal and corporate terminals, such as desktops, are used as waypoints to attack third parties. There is a growing need for security in network usage.

보안 위협 중 하나는 금전적인 이득을 노리고 특정한 대상을 목표로 한 공격이다. 기존의 바이러스나 스파이웨어 등은 불특정다수를 대상으로 배포하고 확산시 키며, 네트워크의 트래픽을 증가시켜서 업무를 방해하는 형태였으나, 최근 문제시되는 보안 위협은 특정 기업의 정보를 노리는 해킹 시도, 금융거래나 온라인게임의 이용에 필요한 개인정보, 인증서, 계정정보 등의 유출을 목적으로 하는 해킹 등 피해가 구체적으로 드러나는 방향으로 발전하고 있다.One of the security threats is an attack that targets a specific target for financial gain. Existing viruses and spyware have been distributed and spread to unspecified number of people, and it has been a form of disruption by increasing traffic on the network. Recently, the security threats that have been questioned are hacking attempts for financial information, financial transactions, It is evolving in a way that damages such as hacking aimed at leaking personal information, certificates, and account information necessary for the use of online games are revealed.

특히, 취약한 보안 문제로 인하여 유출된 개인 정보를 이용하여 금융기관을 사칭하는 피싱, 스푸핑 등에 의한 피해가 발생했으며, 메모리를 해킹하여 정보를 변조하거나 아이템거래 사이트를 대상으로 디도스(DDoS) 공격을 감행하는 일이 발생했다.In particular, due to vulnerable security problems, damages were caused by phishing and spoofing, using the leaked personal information, to impersonate financial institutions, hacking memory, tampering with information, or conducting DDoS attacks on item trading sites. There was something going on.

이러한 문제로 인하여, 점차 외부에서 내부로 들어오는 공격을 모니터링하고 차단하기 위한 게이트웨이 레벨의 보안 이슈 또는 엔드포인트 솔루션인 개인 단말과 서버, 그리고 이들의 운영체제가 가지고 있는 취약점들을 공격하는 애플리케이션 레벨에서의 보안 이슈 등 보안에 관련한 이슈가 점차 다변화하고 있다.Due to these problems, security issues at the application level that attack gateway-level security issues or endpoint solutions, such as individual terminals and servers, and their operating systems, to gradually monitor and block attacks from outside. Security issues are gradually diversifying.

또한, 인터넷 사용의 급증으로 보안 상의 문제뿐만 아니라, 네트워크 상에서 트래픽 증가에 따른 문제가 대두되고 있다. 즉, 인터넷의 사용이 증가하고, 인터넷에서 제공하는 컨텐츠의 용량이 증가함에 따라 점차 증가하는 트래픽으로 인해 네트워크의 성능이 악화되는 문제가 발생하고 있다.In addition, due to the surge in the use of the Internet, not only security problems, but also problems caused by increased traffic on the network are emerging. In other words, as the use of the Internet increases and the capacity of the content provided by the Internet increases, the performance of the network is deteriorated due to the gradually increasing traffic.

본 발명의 일 실시예는 방화벽 기능을 포함하여 해킹 시도 등 외부로부터의 불필요한 침입을 차단하고, 가상 사설망 기능을 포함하여 인터넷에 접속되어 있는 네트워크 상의 단말에 가상 사설망 기능을 제공하며, 웹 캐싱 기능을 포함하여 네트워크의 성능을 향상시킬 수 있는 네트워크 통합 관리 게이트웨이를 제공하고자 한다.An embodiment of the present invention includes a firewall function to block unnecessary intrusion from the outside, such as a hacking attempt, and provide a virtual private network function to a terminal on a network connected to the Internet, including a virtual private network function, and provides a web caching function. To provide a network integrated management gateway that can improve the performance of the network, including.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 상기 게이트웨이를 통과하는 패킷에 대하여 아이피테이블에 의하여 규칙을 이용하여 필터링을 수행하는 방화벽(firewall) 모듈, 로컬 호스트 및 원격 호스트 사이에 설정된 인증키 및 IP(internet protocol) 주소 인증을 이용하여 가상 사설망(VPN, virtual private network)을 제공하는 가상 사설망 제공 모듈, 상기 네트워크 통합 관리 게이트웨이에 연결된 네트워크 상의 제 1 단말이 임의의 웹 서버로부터 요청한 컨텐츠를 저장하고, 상기 네트워크 상의 제 2 단말의 상기 웹 서버로부터 상기 컨텐츠를 요청한 경우, 상기 요청에 응답하여 상기 저장된 컨텐츠를 상기 제 2 단말에 제공하는 웹 캐싱 모듈 및 운영 체제(OS, operating system) 커널(kernel) 및 상기 방화벽 모듈, 상기 가상 사설망 제공 모듈 및 상기 웹 캐싱 모듈의 제어를 위한 어플리케이션 소스를 포함하는 임베디드 운영 제체 모듈을 포함 하는 임베디드 운영 체제에 기반한 네트워크 통합 관리 게이트웨이를 제공할 수 있다.As a technical means for achieving the above-described technical problem, a first aspect of the present invention is a firewall module, local host and remote host to perform filtering using a rule by an IP table on a packet passing through the gateway. A virtual private network providing module for providing a virtual private network (VPN) using an authentication key set in between and an IP (internet protocol) address authentication, wherein a first terminal on a network connected to the network integrated management gateway is connected to an arbitrary web server. A web caching module and operating system for storing the content requested from the web server and providing the stored content to the second terminal in response to the request when the content is requested from the web server of the second terminal on the network. kernel) and the firewall module and the virtual private network providing module A network integrated management gateway based on an embedded operating system including an embedded operating system module including a module and an application source for controlling the web caching module may be provided.

전술한 본 발명의 과제 해결 수단에 의하면, 해킹 시도 등 외부로부터의 불필요한 침입을 차단하고, 네트워크 상의 단말에 가상 사설망 서비스를 제공하여 보다 안전한 네트워크 이용을 가능하게 할 수 있다. 또한, 웹 접속 시 캐싱 기능을 제공하여 사용자가 요구하는 정보를 보다 신속하게 제공하고 인터넷 트래픽을 감소시켜 네트워크 사용 속도를 증가시킬 수 있다.According to the above-described problem solving means of the present invention, it is possible to block unnecessary intrusion from the outside, such as hacking attempt, and to provide a virtual private network service to the terminal on the network to enable more secure network use. In addition, by providing caching functions when connecting to the Web, the information required by the user can be provided more quickly, and the network traffic can be reduced by reducing Internet traffic.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 " 포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, this means that it may further include other components, except to exclude other components unless otherwise stated.

도 1은 본 발명의 일 실시예에 따른 임베디드 운영체제에 기반한 네트워크 통합 관리 시스템의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of a network integrated management system based on an embedded operating system according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 네트워크 통합 관리 게이트웨이(100)은 임베디드 운영 체제(OS, operating system) 모듈(110), 방화벽 모듈(120), 가상 사설망(VPN, virtual private network) 제공 모듈(130) 및 웹 캐싱(caching) 모듈(140)을 포함한다.The network integrated management gateway 100 according to an embodiment of the present invention may include an embedded operating system (OS) module 110, a firewall module 120, and a virtual private network (VPN) providing module 130. And web caching module 140.

임베디드 OS(110) 모듈은 OS 커널(kernel) 및 각 모듈의 제어 및 관리를 위한 어플리케이션 소스를 포함한다. 본 발명의 일 실시예에 따른 임베디드 OS(110)는 오픈 소스에 기반하여 구성될 수 있다.The embedded OS 110 module includes an OS kernel and an application source for controlling and managing each module. Embedded OS 110 according to an embodiment of the present invention may be configured based on open source.

방화벽(firewall) 모듈(120)은 혼합형 방화벽을 제공한다. 즉, 방화벽 모듈(120)은 패킷 필터링 방식과 애플리케이션 방식이 혼합된 방화벽(firewall)을 제공한다.The firewall module 120 provides a hybrid firewall. That is, the firewall module 120 provides a firewall in which a packet filtering method and an application method are mixed.

VPN 제공 모듈(130)은 가상 사설망(VPN)의 사용을 제공한다. 가상 사설망(VPN)은, 예를 들어 인터넷 등의 공중망(public network)을 이용하여 전용선으로 구축된 사설망(private network)처럼 이용할 수 있는 네트워크 방식이다.The VPN provision module 130 provides for the use of a virtual private network (VPN). A virtual private network (VPN) is a network method that can be used like a private network constructed by using a public line, for example, using a public network such as the Internet.

따라서, VPN 제공 모듈(130)은 네트워크 통합 관리 게이트웨이(100)을 통해 공중망인 인터넷에 연결된 네트워크의 단말로 공중망보다 연결성 및 보안성이 가상 사설망을 제공한다. Therefore, the VPN providing module 130 provides a virtual private network with connectivity and security more than a public network to a terminal of a network connected to the public network through the network integrated management gateway 100.

웹 캐싱 모듈(140)은 네트워크 통합 관리 게이트웨이(100)에 연결된 네트워크의 제 1 단말에서 접속한 사이트에 대해 제 2 단말이 다시 접속을 요청한 경우, 제 1 단말의 접속시에 저장한 컨텐츠 등의 데이터를 제 2 단말에 제공한다.The web caching module 140, when the second terminal requests access again for a site accessed from the first terminal of the network connected to the network integrated management gateway 100, data such as content stored when the first terminal is connected To the second terminal.

이처럼 웹 캐싱 모듈(140)은 네트워크의 단말이 웹 서버로 접속하는 횟수를 감소시키므로, 결과적으로 네트워크에서의 인터넷 트래픽을 감소시킬 수 있다.As such, the web caching module 140 reduces the number of times that a terminal of a network accesses a web server, and as a result, the Internet traffic in the network can be reduced.

이하에서, 본 발명의 일 실시예에 따른 임베디드 OS(110)에 대한 커널컴파일 수행에 대하여 설명한 후, 각각의 모듈에 대해 설명한다.Hereinafter, after the kernel compilation for the embedded OS 110 according to an embodiment of the present invention will be described, each module will be described.

본 발명의 일 실시예에 따른 임베디드 OS(110)에 대해 uClibc 컴파일러를 이용한 커널컴파일이 수행될 수 있다. 즉, 본 발명의 일 실시예에서, OS 커널 및 어플리케이션 소스는 플래시(Flash) DOM(Disk On Module)에 설치되며, uClibc 컴파일러를 이용한 커널컴파일이 수행되며, 커널컴파일 진행의 예시는 아래와 같다.Kernel compilation using the uClibc compiler may be performed on the embedded OS 110 according to an embodiment of the present invention. That is, in one embodiment of the present invention, the OS kernel and the application source is installed in a Flash (Disk On Module), a kernel compilation using the uClibc compiler is performed, an example of the kernel compilation progress is as follows.

cd /usr/src/linux
make menuconfig
make clean
# .config 파일 분석
make dep
cp /usr/src/makebz.sh /usr/src/linux/makebz.sh

######## makebz.sh 내용 시작########
nohup make bzImage >> /tmp/compile.log 2>&1
######## makebz.sh 내용 끝########

./makebz.sh
#make bzImage

# upx 를 이용하여 bzImage 압축
cd /usr/src
cd /usr/src/upx-1.90-linux/
./upx --best -f -o linux.upx /usr/src/linux/arch/i386/boot/bzImage

# Modules Make
cd /usr/src/linux
make modules
cd / usr / src / linux
make menuconfig
make clean
# .config file analysis
make dep
cp /usr/src/makebz.sh /usr/src/linux/makebz.sh

######## start makebz.sh content ########
nohup make bzImage >> /tmp/compile.log 2>& 1
######## makebz.sh End of content ########

./makebz.sh
#make bzImage

# Compress bzImage using upx
cd / usr / src
cd /usr/src/upx-1.90-linux/
./upx --best -f -o linux.upx / usr / src / linux / arch / i386 / boot / bzImage

# Modules Make
cd / usr / src / linux
make modules

위의 예시에서, 'make menuconfig' 명령이 수행된 후, 커널컴파일의 옵션이 설정된다.In the above example, after the 'make menuconfig' command is executed, the options for kernel compilation are set.

'make clean' 명령에 의해 커널컴파일을 실행하기 전에 기존에 설정된 값이 초기화되며, 'make dep' 명령에 의해 menuconfig에서 설정된 설정 값의 의존성 부분이 체크될 수 있다. 'make bzImag' 명령에 의해 실제 커널이 컴파일될 수 있다.Before the kernel compile is executed by the 'make clean' command, the previously set values are initialized and the dependencies of the configuration values set in the menuconfig can be checked by the 'make dep' command. The actual kernel can be compiled with the command 'make bzImag'.

'make menuconfig'에서 선택한 커널컴파일 옵션의 예시는 아래와 같다.An example of the kernel compilation options selected in 'make menuconfig' is shown below.

#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86=y
# CONFIG_SBUS is not set
CONFIG_UID16=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set

#
# Processor type and features
#
# CONFIG_M386 is not set
CONFIG_M486=y
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set



########## 중 략 ############

#
# Network Protections
#
CONFIG_GRKERNSEC_RANDNET=y
CONFIG_GRKERNSEC_RANDISN=y
CONFIG_GRKERNSEC_RANDID=y
CONFIG_GRKERNSEC_RANDSRC=y
CONFIG_GRKERNSEC_RANDRPC=y
# CONFIG_GRKERNSEC_SOCKET is not set

#
# Sysctl support
#
# CONFIG_GRKERNSEC_SYSCTL is not set

#
# Logging options
#
CONFIG_GRKERNSEC_FLOODTIME=10
CONFIG_GRKERNSEC_FLOODBURST=4
#
# Automatically generated by make menuconfig: don't edit
#
CONFIG_X86 = y
# CONFIG_SBUS is not set
CONFIG_UID16 = y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL = y

#
# Loadable module support
#
CONFIG_MODULES = y
# CONFIG_MODVERSIONS is not set
# CONFIG_KMOD is not set

#
# Processor type and features
#
# CONFIG_M386 is not set
CONFIG_M486 = y
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set



########## Omit ############

#
# Network Protections
#
CONFIG_GRKERNSEC_RANDNET = y
CONFIG_GRKERNSEC_RANDISN = y
CONFIG_GRKERNSEC_RANDID = y
CONFIG_GRKERNSEC_RANDSRC = y
CONFIG_GRKERNSEC_RANDRPC = y
# CONFIG_GRKERNSEC_SOCKET is not set

#
# Sysctl support
#
# CONFIG_GRKERNSEC_SYSCTL is not set

#
# Logging options
#
CONFIG_GRKERNSEC_FLOODTIME = 10
CONFIG_GRKERNSEC_FLOODBURST = 4

커널컴파일 옵션 설정은 커널컴파일에서 중요하며, 커널에 설정될 값들이 수정될 수 있다. 즉, 권고(recommend) 값 및 임베디드 OS(110)에서 필요한 부분을 설정하고, 필요하지 않은 부분을 커널에서 제외시켜 임베디드 OS(110)의 처리 속도 등이 개선될 수 있다.Kernel compilation option settings are important in kernel compilation, and the values that are set in the kernel can be modified. That is, the processing speed of the embedded OS 110 may be improved by setting a recommended value and a necessary part in the embedded OS 110 and excluding an unnecessary part from the kernel.

위의 예시에서, 'Y'는 커널에 해당 설정을 포함을 시키는 것을 나타내며, 'N'는 커널에서 해당 설정을 제외시키는 것을 나타낸다. 'M'은 해당 설정을 모듈(Module)화시키고, 이후에 필요한 경우 활성화하여 사용할 수 있는 상태로 설정하는 것을 나타낸다. 이처럼 모듈로 설정된 부분에 대한 컴파일은 커널컴파일이 수행된 후 별도로 "make module" 명령에 의해 수행될 수 있다.In the example above, 'Y' indicates the kernel includes the configuration, and 'N' indicates the kernel excludes the configuration. 'M' indicates that the setting is modularized and then activated and used if necessary. Thus, the compilation for the module set part can be executed by "make module" command after kernel compilation is executed.

도 2는 본 발명의 일 실시예에 따른 방화벽 모듈에서 패킷의 처리 방법의 흐름을 도시한 순서도이다.2 is a flow chart showing the flow of a packet processing method in a firewall module according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 방화벽 모듈은 오픈 소스인 넷필터(Netfilter)를 이용하여 방화벽 기능을 수행할 수 있으며, 특히 넷필터의 아이피테이블(iptable)을 활용하여 방화벽을 수행할 수 있다.The firewall module according to an embodiment of the present invention may perform a firewall function by using an open source netfilter, and in particular, may perform a firewall by using an iptable of the netfilter.

넷필터(Netfilter)에서 프로토콜은 후크(hook)를 정의하며, 후크(hook)는 패킷 프로토콜 스택에 있는 포인터이다. 포인터에서, 각각의 프로토콜은 패킷과 후크 넘버(hook number)를 이용하여 넷필터 프레임 워크를 호출한다.In Netfilter, a protocol defines a hook, which is a pointer in the packet protocol stack. At the pointer, each protocol invokes the netfilter framework using packets and hook numbers.

넷필터는 프로토콜 스택의 다양한 포인트에 존재하여 연속하는 후크의 집합이다. 본 발명의 일 실시예에서, 넷필터에 의한 IPv4 패킷 진행의 처리 방법은 아 래와 같다.A netfilter is a collection of contiguous hooks that exist at various points in the protocol stack. In one embodiment of the present invention, a method of processing IPv4 packet progress by a netfilter is as follows.

단계(S105)에서, 패킷에 포함된 데이터를 체크한다. 데이터 체크는 패킷에 포함된 데이터가 완전한 상태인지, 즉 일부가 손상되지 않았는지 등을 검사하여 수행될 수 있다.In step S105, the data contained in the packet is checked. The data check may be performed by checking whether the data included in the packet is in a complete state, that is, part is not damaged or the like.

단계(S110)에서, 데이터 체크가 수행된 패킷을 넷필터 프레임 워크의 NF_IP_PRE_ROUTING 후크로 전달하고, 단계(S115)에서, 패킷이 라우팅될 수 있는지 여부를 판단한다.In step S110, the packet on which the data check is performed is transferred to the NF_IP_PRE_ROUTING hook of the netfilter framework, and in step S115, it is determined whether the packet can be routed.

단계(S120)에서는, 단계(S115)에서 패킷이 라우팅될 수 없다고 판단된 경우, 해당 패킷을 제거하고, 단계(S125)에서는, 단계(S115)에서 패킷이 라우팅될 수 있다고 판단된 경우, 해당 패킷의 목적지가 로컬 프로세스인지 또는 다른 인터페이스인지 여부를 파악한다.In step S120, if it is determined that the packet cannot be routed in step S115, the packet is removed. In step S125, if it is determined that the packet can be routed in step S115, the packet is determined. Determines whether the destination of a local process or another interface.

단계(S130)에서, 해당 패킷의 목적지가 로컬 프로세스인 것으로 판단된 경우, 넷필터 프레임 워크는 NF_IP_LOCAL_IN 후크를 호출하고, 단계(S1350)에서, 해당 패킷을 목적지인 로컬 프로세스로 전송한다.If it is determined in step S130 that the destination of the packet is a local process, the netfilter framework calls the NF_IP_LOCAL_IN hook, and in step S1350, transmits the packet to the destination local process.

단계(S140)에서, 해당 패킷의 목적지가 다른 인터페이스인 것으로 판단된 경우, 넷필터 프레임 워크는 NF_IP_FORWARD 후크를 호출하여, 단계(S145)에서 해당 필터를 패킷이 네트워크 라인으로 전송되기 전의 마지막 넷필터 후크인 NF_IP_POST_ROUTING 후크로 전달한 후, 단계(S150)에서 해당 패킷을 목적지인 다른 인터페이스로 전송한다.In step S140, if it is determined that the destination of the packet is another interface, the netfilter framework calls NF_IP_FORWARD hook, and in step S145, the last netfilter hook before the packet is transmitted to the network line. After passing to the NF_IP_POST_ROUTING hook, the packet is transmitted to another interface as a destination in step S150.

이처럼 본 발명의 일 실시예에서 패킷의 진행은 넷필터 프레임 워크가 호출 한 후크에 의해 수행되며, 후크가 호출되면 패킷 선택을 위하여 아이피테이블(iptable)이 호출되어 방화벽 모듈에 패킷 선택, 즉 패킷 필터링을 위한 규칙을 제공한다.As described above, the packet progression is performed by a hook called by the NetFilter framework. When the hook is called, an IPtable is called to select a packet. Provide rules for:

아이피 테이블(IP table)을 호출하는 패킷 선택 시스템은 넷필터 프레임워크를 기반으로 구성된다. 커널 모듈은 새로운 테이블을 등록할 수 있으며, 임의의 패킷이 주어진 테이블을 통과하도록 요청할 수 있다. 이러한 패킷 선택 방법은 패킷 필터링(즉 '필터' 테이블), 네트워크 주소 변환('nat' 테이블) 그리고 종합적인 프리 라우트(pre-route) 패킷 맹글링(mangling)('mangling' 테이블)에 사용된다.The packet selection system, which calls the IP table, is based on the netfilter framework. The kernel module can register a new table and request that any packet go through the given table. This packet selection method is used for packet filtering (ie 'filter' table), network address translation ('nat' table), and comprehensive pre-route packet mangling ('mangling' table).

아이피테이블(iptable)은 메모리 내에 있는 규칙의 명명된 배열 및 각각의 후크로부터 패킷이 전달되는 정보를 제공한다. 아이피테이블(iptable)은 어떠한 넷필터 후크에도 등록되지 않는다. 즉, 하나의 모듈은 넷필터 후크 및 아이피테이블(iptable)을 별도로 등록해야 하고, 후크의 호출에 응답하여 아이피테이블(iptable)이 호출된다.An IPtable provides a named array of rules in memory and the information that packets are delivered from each hook. The iptable is not registered with any netfilter hook. That is, one module must separately register a netfilter hook and an iptable, and an iptable is called in response to the hook call.

본 발명의 일 실시예에 따른 아이피테이블(iptable)은 편리성을 위하여 동일한 데이터 구조를 사용하여 사용자 공간에 의한 규칙 및 커널 내부의 규칙을 표현한다. 각각의 규칙은 'struct ipt_entry' 구조, 'struct ipt_entry_match' 구조 및 'struct ipt_entry_target' 구조를 포함할 수 있다.The iptable according to an embodiment of the present invention expresses rules by user space and rules within the kernel using the same data structure for convenience. Each rule may include a 'struct ipt_entry' structure, a 'struct ipt_entry_match' structure, and a 'struct ipt_entry_target' structure.

여기서 'struct ipt_entry'는 'struct ipt_ip', 'nf_cache', 'target_offset', 'next_offset', 'comefrom', 'struct ipt_counters'의 필드를 포함할 수 있다.Here, 'struct ipt_entry' may include fields of 'struct ipt_ip', 'nf_cache', 'target_offset', 'next_offset', 'comefrom', and 'struct ipt_counters'.

'struct ipt_ip' 필드는 아이피 헤더(IP header)에 대한 세부항목을 포함하고, 'nf_cache' 필드는 현재의 규칙을 검사해야 하는 패킷의 부분을 알려주며, 'target_offset' 필드는 ipt_entry_target 구조가 시작하는 현재 규칙의 시작점으로부터의 오프셋(offset)을 알려주고, 'next_offset' 필드는 현재 규칙의 최대 크기를 알려주는 필드이며, 'comefrom' 필드는 패킷의 경로를 추적하기 위해 커널이 사용하는 필드이고, 'struct ipt_counters' 필드는 현재 규칙에 일치하는 패킷에 대한 바이트 카운터와 패킷을 포함하는 필드이다.The 'struct ipt_ip' field contains details about the IP header, the 'nf_cache' field indicates which part of the packet should be examined for the current rule, and the 'target_offset' field indicates the current rule where the ipt_entry_target structure begins. 'Next_offset' field indicates the maximum size of the current rule, 'comefrom' field is used by the kernel to trace the path of the packet, and 'struct ipt_counters' Field is a field containing a byte counter and a packet for a packet matching the current rule.

도 3은 본 발명의 일 실시예에 따른 가상 사설망(VPN) 제공 모듈이 적용된 가상 사설망의 구성을 도시한 도면이다.3 is a diagram illustrating a configuration of a virtual private network to which a virtual private network (VPN) providing module according to an embodiment of the present invention is applied.

로컬 호스트(210)와 원격 호스트(220)는 본 발명의 일 실시예에 따른 네트워크 통합 관리 게이트웨이(100)를 통해 공중망(public network)인 인터넷을 통하여 연결되어 있으며, 네트워크 통합 관리 게이트웨이(100)에 포함된 가상사설망(VPN) 제공 모듈(130)에 의해 가상사설망(VPN) 통신을 제공받는다.The local host 210 and the remote host 220 are connected through a network integrated management gateway 100 according to an embodiment of the present invention through the Internet, which is a public network, to the network integrated management gateway 100. The virtual private network (VPN) providing module 130 receives the virtual private network (VPN) communication.

가상사설망(VPN)은 인터넷과 같은 공중망을 이용하여 사설 전용망의 효과를 얻는 기술이며, 가상사설망(VPN)의 수행을 위해, 키 교환 알고리즘 및 데이터 교환 알고리즘이 요구된다. 키 교환 알고리즘으로 ISAKMP(IPSec Key Exchange and Mangement Protrocols)이 있으며, 데이터 교환 알고리즘으로 인증 헤더(AH, Authentication Header)를 이용한 인증 알고리즘 및 보안 페이로드 캡슐화(ESP, Encapsulating Security Payload)를 이용한 암호화 알고리즘이 있다.Virtual private network (VPN) is a technology that obtains the effect of a private network using a public network, such as the Internet, and for performing the virtual private network (VPN), a key exchange algorithm and a data exchange algorithm are required. The key exchange algorithm is ISAKMP (IPSec Key Exchange and Mangement Protrocols), and the data exchange algorithm is an authentication algorithm using an authentication header (AH) and an encryption algorithm using an encapsulating security payload (ESP). .

ISAKMP(IPSec Key Exchange and Mangement Protrocols)는 보안협상(Security Association) 및 키 교환(Key Exchange) 관리 등을 병합하기 위한 프로토콜이다. IPSec이 이용되는 경우, 통신을 시도하는 피어(Peer) 사이에 보안 협상이 수행되며, 이 경우 SA을 서로 교환하고 결정하는 과정에서 ISAKMP 가 이용될 수 있다.IPSec Key Exchange and Management Protrocols (ISAKMP) is a protocol for merging security associations and key exchange management. When IPSec is used, security negotiation is performed between peers attempting communication. In this case, ISAKMP may be used in the process of exchanging and determining SAs.

ISAKMP에 의해 SA를 개설, 변경, 삭제하는 작업이 수행될 수 있으며, 각종 보안 알고리즘을 지원하여 원활한 상위계층 통신이 지원되고 보안 알고리즘 변경이 용이하게 수행될 수 있다. 현재 IPSec에서 키 교환(Key Exchange) 및 SA를 개설하는 경우 ISAKMP가 사용되며, 실제 프로토콜은 IKE을 이용하고 패킷 포맷은 ISAKMP의 패킷 포맷을 따른다.The operation of opening, changing, and deleting SAs may be performed by ISAKMP, and various security algorithms may be supported to support higher layer communication and to easily change security algorithms. Currently, ISAKMP is used to establish Key Exchange and SA in IPSec. The actual protocol uses IKE and the packet format follows the packet format of ISAKMP.

인증 헤더(AH)는 수신한 데이터의 근원지를 인증하며 데이터의 무결성을 보장한다. 이를 위해 MMAC-MD5. HMAC-SHA1과 같은 인증 알고리즘이 사용될 수 있다.The authentication header (AH) authenticates the source of the received data and ensures the integrity of the data. MMA-MD5. An authentication algorithm such as HMAC-SHA1 can be used.

인증 헤더(AH)는 IP 패킷 각각에 대한 무결성을 확인할 수 있으며, 인증 헤더(AH)에 일련번호가 부여되어 재전송공격(Replay Attack)이 방지될 수 있다.The authentication header (AH) can confirm the integrity of each IP packet, a serial number is assigned to the authentication header (AH) can be prevented from a replay attack (Replay Attack).

보안 페이로드 캡슐화(ESP)는 IP 네트워크에 대한 비밀성과 무결성을 제공한다. 즉, 보안 페이로드 캡슐화(ESP)는 IP 패킷을 암호화하여 데이터를 전송할 때 비밀성을 보장한다.Secure payload encapsulation (ESP) provides confidentiality and integrity for IP networks. That is, Secure Payload Encapsulation (ESP) encrypts IP packets to ensure confidentiality when transmitting data.

보안 페이로드 캡슐화(ESP)는 인증 헤더(AH)와 달리 패킷 자체를 DES(56bit) 암호화 또는 3DES(168bit) 암호화하는 방식을 통해 암호화하여, 데이터의 기밀성을 제공할 수 있다. 보안 페이로드 캡슐화(ESP)는 데이터의 근원지를 인증하고 재전송 공격(Replay attack)을 방지할 수 있다.Unlike the authentication header (AH), the secure payload encapsulation (ESP) encrypts the packet itself through DES (56 bit) encryption or 3DES (168 bit) encryption, thereby providing confidentiality of data. Secure payload encapsulation (ESP) can authenticate the source of data and prevent replay attacks.

본 발명의 일 실시예에 따른 VPN 제공 모듈(130)은 오픈 소스인 openswan 소 스를 이용하여 인증키의 생성, VPN 장치의 IP 설정, 인증 키 적용 등의 설정 작업이 수행될 수 있다.The VPN providing module 130 according to an embodiment of the present invention may perform a setting operation such as generating an authentication key, setting an IP of a VPN device, applying an authentication key, and the like using an open source openswan source.

openswan 소스를 이용한 설정 예시는 아래와 같다.An example configuration using openswan source is shown below.

ipsec showhostkey --left # Local VPN장비의 인증키 생성작업
# RSA 2048 bits xy.example.com Wed Aug 26 15:01:41 2009
leftrsasigkey=0sAQOnwiBPt...

ssh2 ab.example.com # Remote VPN장비로 ssh 접속

ipsec showhostkey --right # Remote VPN장비의 인증키 생성작업
# RSA 2192 bits ab.example.com Wed Aug 26 15:26:20 2009
rightrsasigkey=0sAQOqH55O...

vi /etc/ipsec.conf # Local VPN에서 설정값 적용
conn net-to-net
left=192.0.2.2 # Local VPN장비 ip
leftsubnet=192.0.2.128/29
leftid=@xy.example.com
leftrsasigkey=0sAQOnwiBPt... # 생성한 인증키값 적용
leftnexthop=%defaultroute
right=192.0.2.9 # Remote VPN장비 ip
rightsubnet=10.0.0.0/24
rightid=@ab.example.com
rightrsasigkey=0sAQOqH55O... # 생성한 인증키값 적용
rightnexthop=%defaultroute
auto=add

scp2 ipsec.conf root@ab.example.com:/etc/ipsec.conf #Local VPN에 설정한 환경파일을 Remote VPN 장비로 복사

ipsec auto --up net-to-net # LAN-to-LAN VPN 구동 및 테스트
ipsec showhostkey --left # Create authentication key of local VPN device
# RSA 2048 bits xy.example.com Wed Aug 26 15:01:41 2009
leftrsasigkey = 0sAQOnwiBPt ...

ssh2 ab.example.com # ssh to remote VPN device

ipsec showhostkey --right # Generate authentication key of remote VPN device
# RSA 2192 bits ab.example.com Wed Aug 26 15:26:20 2009
rightrsasigkey = 0sAQOqH55O ...

vi /etc/ipsec.conf # Apply Settings from Local VPN
conn net-to-net
left = 192.0.2.2 # Local VPN device ip
leftsubnet = 192.0.2.128 / 29
leftid=@xy.example.com
leftrsasigkey = 0sAQOnwiBPt ... # Apply generated authentication key value
leftnexthop =% defaultroute
right = 192.0.2.9 # Remote VPN Device ip
rightsubnet = 10.0.0.0 / 24
rightid=@ab.example.com
rightrsasigkey = 0sAQOqH55O ... # Apply created key value
rightnexthop =% defaultroute
auto = add

scp2 ipsec.conf root@ab.example.com: /etc/ipsec.conf #Copy the environment file set in Local VPN to Remote VPN device.

ipsec auto --up net-to-net # Run and test LAN-to-LAN VPN

도 4는 본 발명의 일 실시예에 따른 웹 캐싱(caching) 모듈의 웹 캐싱 제공 방법의 흐름을 도시한 도면이다.4 is a flowchart illustrating a method of providing web caching of a web caching module according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 웹 캐싱 모듈의 웹 캐싱 제공 방법은 도 5에 도시된 종래의 단말에서의 캐시 사용에 따른 프로세스와 비교될 수 있다. 즉, 종래의 단말에서의 캐시 사용 프로세스는 임의의 애플리케이션 등에서 저장 명령이 발생하면(S210), 저장 명령 처리를 위하여 캐시에 접근하고(S220), 운영 체제(OS)의 메모리 맵핑 테이블을 검색하여(S230) 맵핑 테이블에서 실제 메모리에 있는지 가상 메모리에 있는지 여부를 판단한다(S240). 판단 결과, 가상 메모리에 있으면 페이지 교환(page change) 즉, 실제 메모리에서 쓰지 않는 페이지를 폐기하고 히트(hit) 명령을 삽입한 후 캐시(cache)의 맵핑 테이블을 갱신하고, 실제 메모리에 있으면 캐시에 저장을 실행하여 저장 명령을 처리한다.Web caching providing method of the web caching module according to an embodiment of the present invention can be compared with the process according to the use of the cache in the conventional terminal shown in FIG. That is, in a conventional cache use process, when a storage command occurs in an application or the like (S210), the cache is accessed for processing the storage command (S220), and the memory mapping table of the operating system (OS) is searched ( In operation S240, the mapping table determines whether the memory exists in the real memory or the virtual memory. Judgment shows that if it is in virtual memory, page change, that is, discarding pages that are not being written to in physical memory, inserting a hit instruction, then updating the cache's mapping table, and if in physical memory, Run the save to process the save command.

이러한 종래의 캐시 사용 프로세스에서의 단말의 구성과 웹 캐싱을 수행하는 경우에 사용되는 구성은 아래의 표 1과 같이 비교될 수 있다.The configuration of the terminal in the conventional cache usage process and the configuration used when performing web caching can be compared as shown in Table 1 below.

대상object 대응 구성 요소Response component PC(단말)PC (terminal) CPUCPU 캐시(cache)Cache 메모리(RAM)Memory Web 클라이언트(PC)Client (PC) 웹 캐시 서버Web cache server 웹 사이트Website

<표 1>TABLE 1

위의 구성에서 웹 캐시 서버는 본 발명의 일 실시예에 따른 웹 캐싱 모듈이 될 수 있다.In the above configuration, the web cache server may be a web caching module according to an embodiment of the present invention.

이하에서 웹 캐싱(caching) 모듈에서 웹 캐싱이 제공되는 방법에 대하여 설명한다.Hereinafter, a method of providing web caching in a web caching module will be described.

단계(S205)에서, 웹 캐싱 모듈은 본 발명의 일 실시예에 따른 네트워크 통합 관리 게이트웨이에 연결된 네트워크 상의 단말로부터 컨텐츠 요청을 수신한다. 이 경우 웹 캐싱 모듈은 컨텐츠 요청과 함께 컨텐츠 정보를 수신할 수 있다. 컨텐츠 정보는 컨텐츠의 주소, 즉 컨텐츠를 제공하는 웹 서버의 주소 등을 포함할 수 있다.In step S205, the web caching module receives a content request from a terminal on a network connected to a network integrated management gateway according to an embodiment of the present invention. In this case, the web caching module may receive content information together with the content request. The content information may include an address of the content, that is, an address of a web server providing the content.

단계(S210)에서, 웹 캐시 모듈에 단계(S205)에서 요청된 컨텐츠가 존재하는지 여부를 판단한다. 전술한 바와 같이, 웹 캐싱에서 네트워크 상의 임의의 단말이 수신한 컨텐츠는 웹 캐시 서버, 즉 웹 캐싱 모듈에 저장된다.In step S210, it is determined whether the content requested in step S205 exists in the web cache module. As described above, in web caching, the content received by any terminal on the network is stored in a web cache server, that is, a web caching module.

따라서, 단계(S205)에서 요청된 컨텐츠가 이미 웹 캐시 모듈에 저장되었는지 여부를 단계(S205)에서 수신한 컨텐츠 정보를 이용하여 판단한다. 예를 들어 웹 캐싱 모듈은 저장된 컨텐츠 중에서 단말로부터 요청된 컨텐츠의 주소에 대응하는 컨텐츠를 검색하여 요청된 컨텐츠의 존재 여부를 판단할 수 있다.Therefore, it is determined using the content information received in step S205 whether the content requested in step S205 is already stored in the web cache module. For example, the web caching module may determine whether the requested content exists by searching for content corresponding to the address of the content requested from the terminal among the stored content.

단계(S215)에서는, 단계(S210)에서 요청된 컨텐츠가 웹 캐싱 모듈에 존재하지 않는 것으로 판단되는 경우, 웹 캐싱 모듈은 요청된 컨텐츠를 제공하는 웹 서버로부터 컨텐츠를 수신하고, 수신한 컨텐츠를 해당 단말로 전송한다.In step S215, if it is determined in step S210 that the requested content does not exist in the web caching module, the web caching module receives the content from the web server providing the requested content, and the received content corresponds to the received content. Send to the terminal.

단계(S220)에서, 단계(S210)에서 요청된 컨텐츠가 웹 캐싱 모듈에 존재하는 것으로 판단되는 경우, 웹 캐싱 모듈은 저장된 컨텐츠의 신선도를 판단한다. 웹 캐싱 모듈에 컨텐츠가 저장된 후 상당한 시간이 흐른 경우, 웹 캐싱 모듈에 저장된 컨텐츠는 현재 웹 서버에서 제공하는 컨텐츠와 주소는 동일할지라도 내용은 상이할 수 있다. 따라서, 웹 캐싱 모듈은 저장된 컨텐츠의 신선도, 즉 컨텐츠의 신뢰도를 판단하여야 한다.In step S220, when it is determined that the content requested in step S210 exists in the web caching module, the web caching module determines the freshness of the stored content. If a considerable time passes after the content is stored in the web caching module, the content stored in the web caching module may have different contents even though the address is the same as the content currently provided by the web server. Therefore, the web caching module must determine the freshness of the stored content, that is, the reliability of the content.

단계(S225)에서는, 단계(S220)에서 웹 캐싱 모듈에 저장된 컨텐츠의 신선도, 즉 신뢰도가 일정 수준 이상이라고 판단되는 경우, 웹 캐싱 모듈은 저장된 컨텐츠를 해당 단말로 전송한다.In step S225, when it is determined in step S220 that the freshness, that is, the reliability, of the content stored in the web caching module is greater than or equal to a certain level, the web caching module transmits the stored content to the terminal.

단계(S230)에서, 단계(S220)에서 웹 캐싱 모듈에 저장된 컨텐츠의 신선도, 즉 신뢰도가 일정 수준 미만이라고 판단되는 경우, 요청된 컨텐츠를 제공하는 웹 서버로 저장된 컨텐츠가 사용 가능하지 여부에 대한 판단을 요청한다. 즉, 웹 캐싱 모듈은 저장된 컨텐츠가 현재 웹 서버에 의해 제공되는 컨텐츠와 동일한지 여부의 확인을 웹 서버에 요청한다.In step S230, if it is determined in step S220 that the freshness, that is, the reliability, of the content stored in the web caching module is less than a certain level, the determination is made as to whether the content stored in the web server providing the requested content is available. Ask. That is, the web caching module requests the web server to confirm whether the stored content is the same as the content currently provided by the web server.

단계(S235)에서, 단계(S230)에서 요청한 판단 결과를 수신하고, 단계(S240)에서, 수신한 판단 결과를 기초로 웹 캐싱 모듈에 저장된 컨텐츠가 재사용 가능한지 여부를 판단한다.In step S235, the determination result requested in step S230 is received, and in step S240, it is determined whether the content stored in the web caching module is reusable based on the received determination result.

단계(S245)에서는, 단계(S240)에서 웹 캐싱 모듈에 저장된 컨텐츠가 재사용될 수 있는 것으로 판단된 경우, 웹 캐싱 모듈에 저장된 컨텐츠의 헤더 정보를 변경하여, 이 후에 해당 컨텐츠의 신선도를 판단하는 경우 이용될 수 있도록 한다.In step S245, when it is determined in step S240 that the content stored in the web caching module may be reused, the header information of the content stored in the web caching module is changed, and then the freshness of the corresponding content is determined later. To be used.

단계(S250)에서, 웹 캐싱 모듈은 저장된 컨텐츠를 해당 단말로 전송한다.In step S250, the web caching module transmits the stored content to the terminal.

단계(S255)에서는, 단계(S240)에서 웹 캐싱 모듈에 저장된 컨텐츠가 재사용될 수 없는 것으로 판단된 경우, 해당 컨텐츠를 웹 서버로부터 수신하여 웹 캐싱 모듈에 저장하여 업데이트한다.In step S255, if it is determined in step S240 that the content stored in the web caching module cannot be reused, the content is received from the web server and stored in the web caching module to be updated.

단계(S260)에서, 웹 캐싱 모듈은 새롭게 수신하여 저장한 컨텐츠를 해당 단말로 전송한다.In step S260, the web caching module transmits the newly received and stored content to the terminal.

도 6은 본 발명의 일 실시예에 따른 웹 캐싱 모듈의 구성을 도시한 도면이 다.6 is a diagram illustrating a configuration of a web caching module according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 웹 캐싱 모듈(140)은 컨텐츠 저장부(141), 신뢰성 판단부(142), 컨텐츠 요청부(143) 및 컨텐츠 전송부(144)를 포함한다.The web caching module 140 according to an embodiment of the present invention includes a content storage unit 141, a reliability determination unit 142, a content requesting unit 143, and a content transmission unit 144.

컨텐츠 저장부(141)는 웹 서버(도시 생략)로부터 수신한 컨텐츠를 저장한다. 웹 서버로부터 수신한 컨텐츠는 웹 서버에 의해 제공되는 웹 사이트에 포함되는 이미지, 텍스트, 동영상 등을 포함한다.The content storage unit 141 stores the content received from the web server (not shown). The content received from the web server includes an image, text, video, and the like included in the web site provided by the web server.

컨텐츠 저장부(142)는 이후에 네트워크 상의 임의의 단말로부터 동일한 컨텐츠의 요청을 수신한 경우, 예를 들어 동일한 웹 사이트에 대한 접속을 임의의 단말이 요청한 경우, 이전에 저장된 컨텐츠를 해당 단말로 제공할 수 있다.When the content storage unit 142 subsequently receives a request for the same content from any terminal on the network, for example, when any terminal requests access to the same web site, the content storage unit 142 provides previously stored content to the terminal. can do.

신뢰성 판단부(142)는 컨텐츠 저장부(141)에 저장된 컨텐츠의 신선도, 즉 신뢰성에 대한 판단을 수행한다. 전술한 바와 같이, 컨텐츠 저장부(141)에 저장된 컨텐츠의 저장 기간이 일정 수준 이상이 되는 경우, 컨텐츠 저장부(141)에 저장된 컨텐츠는 웹 서버에 의해 제공되는 컨텐츠와 상이할 수 있다.The reliability determination unit 142 determines the freshness of the content stored in the content storage unit 141, that is, the reliability. As described above, when the storage period of the content stored in the content storage unit 141 is more than a predetermined level, the content stored in the content storage unit 141 may be different from the content provided by the web server.

따라서, 신뢰성 판단부(142)는 저장된 컨텐츠의 저장 기간, 갱신 여부 등의 정보를 이용하여 저장된 컨텐츠의 신뢰성을 판단한다.Therefore, the reliability determination unit 142 determines the reliability of the stored content using information such as the storage period of the stored content and whether or not to update the stored content.

웹 서버 요청부(143)는 저장된 컨텐츠의 신뢰성이 일정 수준 미만인 경우 컨텐츠의 재사용 여부를 웹 서버에 요청하고, 저장된 컨텐츠가 재사용될 수 없는 경우 해당 컨텐츠의 전송을 웹 서버에 요청한다.The web server request unit 143 requests the web server to reuse the content when the reliability of the stored content is less than a predetermined level, and requests the web server to transmit the corresponding content if the stored content cannot be reused.

컨텐츠 관리부(144)는 웹 서버로부터 재사용 가능한 것으로 판단된 컨텐츠의 헤더 정보를 변경하고, 헤더 정보를 변경한 컨텐츠를 컨텐츠 저장부(142)에 저장한 다.The content manager 144 changes the header information of the content determined to be reusable from the web server, and stores the changed content in the content storage unit 142.

컨텐츠 전송부(145)는 컨텐츠 저장부(141)에 저장된 컨텐츠를 해당 단말로 전송한다.The content transmitter 145 transmits the content stored in the content storage unit 141 to the corresponding terminal.

이처럼 본 발명의 일 실시예에 따른 웹 캐싱 모듈(140)은 오픈 소스 기반의 스퀴드(Squid)에 의해 프로그래밍될 수 있으며, 표 2는 스퀴드의 로그 정보의 예시이다.As such, the web caching module 140 according to an embodiment of the present invention may be programmed by an open source-based squid, and Table 2 is an example of squid's log information.

타임스탬프Timestamp 서버가 시작된 1970/01/01부터의 시간경과(milliseconds)Milliseconds since 1970/01/01 when the server was started 경과시간Elapsed time 클라이언트 소켓이 열리고 닫히는데 걸린 시간(milliseconds)Time taken to open and close client sockets (milliseconds) 클라이언트IPClient IP 클라이언트의 IPIP of client 캐시결과/HTTP코드Cache Result / HTTP Code 요청한 컨텐츠에 대한 캐시결과와 HTTP상태코드Cache result and HTTP status code for the requested content 크기size 클라이언트에 전송된 바이트Bytes sent to client 요청 방법Request method 클라이언트의 요청 방법Client's Request Method URLURL 요청된 URLRequested URL 식별자Identifier RFC 931에 설명된 인증에 사용된 식별자Identifier used for authentication as described in RFC 931 계층데이터/호스트Hierarchical Data / Host 요청된 오브젝트를 어디서 가져왔는지를 표시Indicates where the requested object came from 컨텐츠 타입The content type 서버쪽에서 넘겨준 오브젝트의 타입Type of object passed by server

<표 2>TABLE 2

표 3은 본 발명의 일 실시예에 따른 웹 캐싱에 있어서, HTTP 코드와 이에 대응하는 캐시 결과의 예시이다.Table 3 shows an example of an HTTP code and a corresponding cache result in web caching according to an embodiment of the present invention.

HTTP 코드HTTP code 캐시결과Cache result TCP_HITTCP_HIT 요청한 컨텐츠가 캐시에 있어서 응답한 경우The requested content responds in the cache TCP_MISTCP_MIS 요청한 컨텐츠가 캐시에 없어서 실제 서버로 요청을 하여 응답한 경우The requested content is not in the cache and the response is made by making a request to the real server. TCP_IMS_HITTCP_IMS_HIT 클라이언트가 If-Modified-Since 필드를 요청 헤더에 보냈는데 HIT가 난 경우The client sent an If-Modified-Since field in the request header and HIT occurs. TCP_IMS_MISSTCP_IMS_MISS 요청헤더에 If-Modified-Since가 포함되어 있지만, 캐시가 신선하지 않다고 판단되어 실제 서버로 재요청을 한 경우If the request header contains If-Modified-Since, but the cache is not fresh and is re-requested to the real server. TCP_REFRESH_HITTCP_REFRESH_HIT 요청한 컨텐츠가 신선하지 않아 실제 서버로 요청했는데,'304 Not Modified'를 받아 캐시에서 클라이언트로 응답한 경우If the requested content is not fresh and requested to the real server, but received '304 Not Modified' and responded from the cache to the client. TCP_REFRESH_MISSTCP_REFRESH_MISS 요청한 컨텐츠가 신선하지 않아 실제 서버로 요청했는데, 서버에서 새로운 컨텐츠를 전송 받아 캐시에 저장하고 다시 클라이언트로 응답The requested content is not fresh and requested to the real server. The server receives the new content, stores it in the cache, and responds back to the client. TCP_CLIENT_REFRESHTCP_CLIENT_REFRESH 클라이언트 요청 헤더에 'no_cache'를 포함한 경우If you include 'no_cache' in the client request header TCP_CLIENT_REFRESH_MISSTCP_CLIENT_REFRESH_MISS 클라이언트 요청에 'no-cache'나 'no-store'같은 캐시를 제어하는 필드를 포함해서 캐시가 서버로부터 컨텐츠를 가져왔을 경우If the cache fetches content from the server, including the fields that control cache such as 'no-cache' or 'no-store' in the client request. TCP_DENIEDTCP_DENIED 클라이언트 요청이 캐시에 의해서 거절당했을 경우 (컨텐츠필터링과 연관)If the client request is rejected by the cache (associated with content filtering)

<표 3>TABLE 3

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전 달 매체를 포함한다. One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information transmission medium.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.While the methods and systems of the present invention have been described in connection with specific embodiments, some or all of those elements or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

도 1은 본 발명의 일 실시예에 따른 임베디드 운영체제에 기반한 네트워크 통합 관리 시스템의 구성을 도시한 도면,1 is a diagram showing the configuration of a network integrated management system based on an embedded operating system according to an embodiment of the present invention;

도 2는 본 발명의 일 실시예에 따른 방화벽 모듈에서 패킷의 처리 방법의 흐름을 도시한 순서도,2 is a flowchart illustrating a flow of a packet processing method in a firewall module according to an embodiment of the present invention;

도 3은 본 발명의 일 실시예에 따른 가상 사설망(VPN) 제공 모듈이 적용된 가상 사설망의 구성을 도시한 도면,3 is a diagram illustrating a configuration of a virtual private network to which a virtual private network (VPN) providing module according to an embodiment of the present invention is applied;

도 4는 본 발명의 일 실시예에 따른 웹 캐싱(caching) 모듈의 웹 캐싱 제공 방법의 흐름을 도시한 도면,4 is a flowchart illustrating a web caching providing method of a web caching module according to an embodiment of the present invention;

도 5는 종래의 단말에서의 캐시 사용에 따른 프로세스를 도시한 도면,5 is a diagram illustrating a process according to the use of a cache in a conventional terminal;

도 6은 본 발명의 일 실시예에 따른 웹 캐싱 모듈의 구성을 도시한 도면.6 is a diagram illustrating a configuration of a web caching module according to an embodiment of the present invention.

Claims (6)

임베디드 운영 체제에 기반한 네트워크 통합 관리 게이트웨이에 있어서,A network integrated management gateway based on an embedded operating system, 상기 게이트웨이를 통과하는 패킷에 대하여 아이피테이블에 의해 제공되는 규칙을 이용하여 필터링을 수행하는 방화벽(firewall) 모듈,A firewall module for filtering the packet passing through the gateway using a rule provided by an IP table, 로컬 호스트 및 원격 호스트 사이에 설정된 인증키 및 IP(internet protocol) 주소 인증을 이용하여 가상 사설망(VPN, virtual private network)을 제공하는 가상 사설망 제공 모듈,Virtual private network providing module that provides a virtual private network (VPN) using an authentication key and IP (internet protocol) address authentication set between a local host and a remote host, 상기 네트워크 통합 관리 게이트웨이에 연결된 네트워크 상의 제 1 단말이 임의의 웹 서버로부터 요청한 컨텐츠를 저장하고, 상기 네트워크 상의 제 2 단말의 상기 웹 서버로부터 상기 컨텐츠를 요청한 경우, 상기 요청에 응답하여 상기 저장된 컨텐츠를 상기 제 2 단말에 제공하는 웹 캐싱 모듈 및When the first terminal on the network connected to the network integrated management gateway stores the content requested from any web server and requests the content from the web server of the second terminal on the network, the stored content is stored in response to the request. A web caching module provided to the second terminal; 운영 체제(OS, operating system) 커널(kernel) 및 상기 방화벽 모듈, 상기 가상 사설망 제공 모듈 및 상기 웹 캐싱 모듈의 제어를 위한 어플리케이션 소스를 포함하는 임베디드 운영 체제 모듈An operating system module including an operating system (OS) kernel and an application source for controlling the firewall module, the virtual private network providing module, and the web caching module 을 포함하고,Including, 상기 웹 캐싱 모듈은The web caching module 상기 제 1 단말이 요청한 제 1 컨텐츠를 저장하는 컨텐츠 저장부,A content storage unit for storing the first content requested by the first terminal; 상기 제 2 단말에 의해 상기 제 1 컨텐츠의 주소와 동일한 주소의 제 2 컨텐츠가 요청된 경우, 상기 제 1 컨텐츠의 신뢰성을 판단하는 신뢰성 판단부,A reliability determination unit determining the reliability of the first content when the second content having the same address as the address of the first content is requested by the second terminal; 상기 제 1 컨텐츠의 신뢰성이 일정 수준 미만인 경우, 상기 제 1 컨텐츠의 재사용 여부를 상기 제 2 컨텐츠의 주소에 대응하는 웹 서버에 요청하는 웹 서버 요청부,If the reliability of the first content is less than a predetermined level, the web server request unit for requesting whether or not to reuse the first content to the web server corresponding to the address of the second content, 상기 웹 서버로부터 상기 제 1 컨텐츠의 재사용이 가능하다는 응답을 수신한 경우, 상기 제 1 컨텐츠의 헤더 정보를 변경하고 상기 헤더 정보가 변경된 제 1 컨텐츠를 상기 컨텐츠 저장부에 저장하는 컨텐츠 관리부 및A content manager configured to change the header information of the first content and store the first content whose header information is changed, in the content storage unit when receiving a response indicating that the first content can be reused from the web server; 상기 헤더 정보가 변경된 컨텐츠를 상기 제 2 단말로 전송하는 컨텐츠 전송부Content transmission unit for transmitting the content in which the header information is changed to the second terminal 를 포함하는 것인 네트워크 통합 관리 게이트웨이.Network integrated management gateway comprising a. 제 1 항에 있어서,The method of claim 1, 상기 아이피테이블은 패킷 프로토콜 스택에 있는 포인터인 후크(hook)의 호 출에 대응하여 호출되어 상기 규칙을 제공하는 것인 네트워크 통합 관리 게이트웨이.And the IP table is called in response to a call of a hook, which is a pointer in a packet protocol stack, to provide the rule. 제 1 항에 있어서,The method of claim 1, 상기 가상 사설망 제공 모듈은 ISAKMP(IPSec Key Exchange and Mangement Protrocols)을 이용하여 상기 로컬 호스트와 상기 원격 호스트 사이에 상기 인증키를 교환하고, 외부로부터 수신한 패킷에 대하여 인증 헤더(authentication header)를 이용하여 무결성을 확인하고, 보안 페이로드 캡슐화(ESP, Encapsulating Security Payload)를 이용하여 상기 로컬 호스트와 상기 원격 호스트 사이에 교환되는 패킷을 암호화하는 것인 네트워크 통합 관리 게이트웨이.The virtual private network providing module exchanges the authentication key between the local host and the remote host using IPSec Key Exchange and Management Protocols (ISAKMPs), and uses an authentication header for a packet received from the outside. Verify integrity and encrypt packets exchanged between the local host and the remote host using Encapsulating Security Payload (ESP). 제 1 항에 있어서,The method of claim 1, 상기 가상 사설망 제공 모듈에 설정된 인증키 및 IP 주소는 오픈스완(openswan) 소스를 통해 설정되는 것인 네트워크 통합 관리 게이트웨이.The authentication key and the IP address set in the virtual private network providing module is configured through an openswan source. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 신뢰성 판단부는 상기 제 1 컨텐츠의 저장 기간 및 헤더 정보 변경 여부를 기준으로 상기 제 1 컨텐츠의 신뢰성을 판단하는 것인 네트워크 통합 관리 게이트웨이.The reliability determination unit determines the reliability of the first content on the basis of the storage period of the first content and whether or not to change the header information.
KR1020090115306A 2008-11-26 2009-11-26 integrated management system of network based on embedded operating gateway KR101124634B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080117832 2008-11-26
KR1020080117832 2008-11-26

Publications (2)

Publication Number Publication Date
KR20100059738A KR20100059738A (en) 2010-06-04
KR101124634B1 true KR101124634B1 (en) 2012-03-19

Family

ID=42360950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090115306A KR101124634B1 (en) 2008-11-26 2009-11-26 integrated management system of network based on embedded operating gateway

Country Status (1)

Country Link
KR (1) KR101124634B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040046260A (en) * 2002-11-26 2004-06-05 한국전자통신연구원 Method for end-to-end private information transmition using IPSec in NAT-based private network and security service using its method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040046260A (en) * 2002-11-26 2004-06-05 한국전자통신연구원 Method for end-to-end private information transmition using IPSec in NAT-based private network and security service using its method

Also Published As

Publication number Publication date
KR20100059738A (en) 2010-06-04

Similar Documents

Publication Publication Date Title
US11652792B2 (en) Endpoint security domain name server agent
US10652210B2 (en) System and method for redirected firewall discovery in a network environment
US10419398B2 (en) Method and apparatus for resource locator identifier rewrite
US20130097692A1 (en) System and method for host-initiated firewall discovery in a network environment
US20090193503A1 (en) Network access control
US20050262357A1 (en) Network access using reverse proxy
US20050251856A1 (en) Network access using multiple authentication realms
US20050273849A1 (en) Network access using secure tunnel
US20080072304A1 (en) Obscuring authentication data of remote user
US11595385B2 (en) Secure controlled access to protected resources
US20060150243A1 (en) Management of network security domains
Nakatsuka et al. PDoT: private DNS-over-TLS with TEE support
Pinkerton et al. Direct Data Placement Protocol (DDP)/Remote Direct Memory Access Protocol (RDMAP) Security
Shiranzaei et al. IPv6 security issues—A systematic review
CN109905352B (en) Method, device and storage medium for auditing data based on encryption protocol
US11227032B1 (en) Dynamic posture assessment to mitigate reverse engineering
US11736516B2 (en) SSL/TLS spoofing using tags
CN113904826A (en) Data transmission method, device, equipment and storage medium
KR101124634B1 (en) integrated management system of network based on embedded operating gateway
CN113726917B (en) Domain name determination method and device and electronic equipment
Hsu et al. The design and implementation of a lightweight CoAP-based IoT framework with smart contract security guarantee
KR20110060859A (en) Unified security gateway device
US20200213322A1 (en) Monitoring and preventing outbound network connections in runtime applications
Sørensen et al. Automatic profile-based firewall for iot devices
Kalil Policy Creation and Bootstrapping System for Customer Edge Switching

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
LAPS Lapse due to unpaid annual fee