KR102476672B1 - Network address mutation method performed by ethernet driver with unrecognized nic function in 5g massive network - Google Patents
Network address mutation method performed by ethernet driver with unrecognized nic function in 5g massive network Download PDFInfo
- Publication number
- KR102476672B1 KR102476672B1 KR1020220073438A KR20220073438A KR102476672B1 KR 102476672 B1 KR102476672 B1 KR 102476672B1 KR 1020220073438 A KR1020220073438 A KR 1020220073438A KR 20220073438 A KR20220073438 A KR 20220073438A KR 102476672 B1 KR102476672 B1 KR 102476672B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- port
- client
- address
- anonymous
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000035772 mutation Effects 0.000 title description 2
- 230000008859 change Effects 0.000 claims abstract description 10
- 238000001152 differential interference contrast microscopy Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 5
- 238000011426 transformation method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 1
- 230000009466 transformation Effects 0.000 claims 1
- 238000003860 storage Methods 0.000 description 25
- 230000004044 response Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 102100036080 GPI mannosyltransferase 3 Human genes 0.000 description 6
- 101000595504 Homo sapiens GPI mannosyltransferase 3 Proteins 0.000 description 6
- 101001122938 Homo sapiens Lysosomal protective protein Proteins 0.000 description 6
- 102100028524 Lysosomal protective protein Human genes 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2539—Hiding addresses; Keeping addresses anonymous
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2546—Arrangements for avoiding unnecessary translation
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 5G Massive망에서 비인식 NIC 기능을 갖는, 특히 물리적 이더넷 드라이버에서 수행되는 주소 변이 방법에 관한 것으로, 더욱 상세하게는 네트워크 상의 공격의 대상 회피를 위한 5G Massive망에서 비인식 NIC 기능을 갖는, 이더넷 드라이버에서 수행되는 주소 변이 방법에 관한 것이다.The present invention relates to an address variation method having an unaware NIC function in a 5G Massive network, particularly performed in a physical Ethernet driver, and more particularly, having an unaware NIC function in a 5G Massive network for avoiding a target of an attack on a network , It relates to the address transition method performed in the Ethernet driver.
이더넷(ethernet) 액세스를 위해서는 NIC가 필요하다. NIC는 제조시 할당된 고유의 MAC 어드레스를 이용하여 이더넷에 액세스한다. 한편, 호스트는 호스트네임에 해당하는 고유의 IP 어드레스가 할당되어 있다.A NIC is required for ethernet access. The NIC accesses Ethernet using a unique MAC address assigned at the time of manufacture. On the other hand, the host is assigned a unique IP address corresponding to the host name.
TCP/IP 프로토콜을 이용하여 이더넷에 액세스할 경우 IP 어드레스를 MAC어드레스로 변환할 필요가 있으며 이에 따라 실제 IP 어드레스와 실제 MAC 어드레스가 매핑 된다.When accessing Ethernet using the TCP/IP protocol, it is necessary to convert the IP address into a MAC address, and the real IP address and the real MAC address are mapped accordingly.
도 1은 종래의 어드레스 할당 방법을 이용하여 이더넷 액세스를 하는 호스트 장치의 구성을 보이는 블록도이다. 도 1에 있어서 굵은 실선의 상측은 호스트에 속한 부재들을 나타내고, 하측은 상대방 호스트에 속한 부재들을 나타낸다. FTP(File Transfer Protocol)처리기(102)는 호스트 네임(hostname)을 DNS(Domain Name System)을 이용해서 32비트의 IP 어드레스로 변환한다. FTP처리기(102)는 주어진 IP 어드레스로 TCP(Transmission Control Protocol) 처리기 (104)로 연결을 시도한다. TCP처리기(104)는 연결 요청 세그먼트(connection request segment)를 IP data gram으로 변환하여 IP 처리기(106)로 전달한다.1 is a block diagram showing the configuration of a host device that performs Ethernet access using a conventional address assignment method. In FIG. 1 , the upper side of the thick solid line represents members belonging to the host, and the lower side represents members belonging to the other host. FTP (File Transfer Protocol)
IP 레이어(layer)에서 상대방 호스트가 로컬 네트웍(local network)에 속한 것이면 IP datagram은 곧바로 호스트에게 보내진다. 한편, 상대방 호스트가 원격 네트웍이면 IP 라우팅 기능(routing function)을 통해 다음 라우터(router)로 전달된다.In the IP layer, if the other host belongs to the local network, the IP datagram is sent directly to the host. On the other hand, if the other host is a remote network, it is transferred to the next router through the IP routing function.
IP datagram은 IP 레이어에서 송수신되는 데이터 단위를 말하는 것으로서 이더넷의 패킷(packet)에 해당한다. 이더넷(ethernet)에서는 48비트 어드레스를 사용하므로 32비트의 IP 어드레스를 48비트로 변환하여야 하는데 이러한 기능을 ARP(Address Resolution Protocol)이라고 한다.IP datagram refers to a unit of data transmitted and received in the IP layer and corresponds to an Ethernet packet. Since Ethernet uses 48-bit addresses, 32-bit IP addresses must be converted to 48-bit addresses. This function is called ARP (Address Resolution Protocol).
ARP 처리기(108)는 32비트의 IP 어드레스를 48비트의 이더넷 어드레스로 변환하거나 그 역의 동작을 수행한다. 호스트(100)에서 어떤 상대방 호스트로 전송하고자 하는 경우 ARP 처리기(108)는 Arp Request Frame을 모든 호스트에 전달(broadcast)한다. 상대방 호스트의 ARP 처리기(118)에서는 ARP 처리기(108)에서 전달된 Arp Request Frame를 수신하고, 이에 응답하여 자신의 하드웨어 주소(이더넷 주소)를 담은 Arp Reply Frame을 ARP 처리기(108)로 전달한다. ARP 처리기(108)는 상대방 호스트의 ARP 처리기(118)에서 전송하는 Arp Reply Frame을 받으면 IP datagram을 보낼 준비를 한다. 이후 IP datagram은 상대방 호스트에게 전달된다.The
이더넷 드라이버(110)는 NIC에 해당하며 물리 계층의 데이터 전송을 담당한다. 여기서, 모든 NIC에는 고유한 48비트 이더넷 어드레스를 가지며 또한, 호스트는 32비트 IP 어드레스를 가지며, 실제 IP 어드레스와 실제 MAC 어드레스가 매핑 된다.The Ethernet
그러나, 종래의 IP 어드레스 할당 방법에 의하면 호스트에서 고정된 IP주소를 갖게 되어 외부로 노출되므로 외부 공격에 취약하다는 문제점이 있다. 또한 이에 따라 대한민국 특허 공개공보 제10-2020-0002599와 같이 IP주소를 주기적으로 변경하여 외부 공격의 난이도를 높이는 방법이 제안되고 있다. 상기 공개공보에서는 서버 장치와 클라이언트 장치 간에 공유되는 세션 키를 이용하여 익명 주소 정보를 생성하고 동기화하는 단계에 대하여 개시하고 있다. 또한 상기 익명 주소 정보를 이용하여 주기에 따라 지속적으로 외부 주소를 변경하여 외부의 공격자가 서버의 실제 IP를 찾기 어렵게 하여 공격을 방어하고 있다.However, according to the conventional IP address allocation method, since the host has a fixed IP address and is exposed to the outside, there is a problem in that it is vulnerable to external attacks. In addition, a method of increasing the difficulty of an external attack by periodically changing an IP address has been proposed, as disclosed in Korean Patent Publication No. 10-2020-0002599. The publication discloses a step of generating and synchronizing anonymous address information using a session key shared between a server device and a client device. In addition, by using the anonymous address information, the external address is continuously changed according to the cycle, so that it is difficult for an external attacker to find the real IP of the server, thereby defending against attacks.
다만 상기 종래기술에서는 특정 OS에서 구동되는 IP Tables 및 가상 인터페이스를 이용하여 주소 변이를 시도하고 있어 해당 OS 또는 해당 응용프로그램의 구동이 어려운 IOT 장비나 소형 임베디드 시스템에 적용하기 어렵다는 단점을 보유한다. 또한 상기 종래기술에서는 IP Tables를 사용함에 따라, 실제 IP 변조에 사용되지 않는 IP Tables의 INPUT/OUTPUT/PREROUTING/POSTROUTING 모든 블록을 모든 패킷이 거치게 되고, 가상 인터페이스 사용으로 인해 성능저하 및 지연이 발생할 수 있다. 또한 상기 종래기술에서는 IP가 변경될 때마다 ARP 절차가 필요하며 이로 인해 트래픽 송/수신 중 IP 가 변경될 경우, ARP Request/Response 절차 완료 전까지 트래픽 멈춤이 발생하고, 매번 ARP 테이블을 검색하며 네트워크 과부하 및 지연이 발생할 수 있다.However, in the prior art, address variation is attempted using IP Tables and virtual interfaces running in a specific OS, so it is difficult to apply to IOT equipment or small embedded systems that are difficult to drive the corresponding OS or application program. In addition, in the prior art, as IP Tables are used, all packets pass through all INPUT/OUTPUT/PREROUTING/POSTROUTING blocks of IP Tables that are not used for actual IP modulation, and performance degradation and delay may occur due to the use of virtual interfaces. have. In addition, in the prior art, an ARP procedure is required every time the IP is changed, and when the IP is changed during traffic transmission / reception, traffic stops until the ARP Request / Response procedure is completed, and the ARP table is searched each time to prevent network overload and delays may occur.
윈도우즈나 리눅스와 같은 고차원 OS를 탑재할 수 있는 서버나 PC의 경우, 상기 단점이 부각되지 않을 수 있다. 그러나 최근 대두되고 있는 5G Massive망과 같이, 다수의 소형기기들이 항상 연결되는, 초연결성을 특징으로 하는 네트워크에서는, 상기와 같은 종래의 전통적인 네트워크 환경을 가정하여 개발된 주소 변이 기술은 적용이 거의 불가능하다.In the case of a server or PC capable of mounting a high-level OS such as Windows or Linux, the above disadvantages may not be highlighted. However, in a network characterized by hyper-connectivity, in which a large number of small devices are always connected, such as the recently emerging 5G Massive network, the address shifting technology developed assuming the conventional network environment is hardly applicable. do.
본 발명은 상기와 같은 종래기술의 문제점과 과거로부터 요청되어온 기술적 과제를 해결하는 것을 목적으로 한다.An object of the present invention is to solve the problems of the prior art and the technical problems that have been requested from the past.
본 출원의 발명자들은 심도 있는 연구와 다양한 실험을 거듭한 끝에, 이후 설명하는 바와 같이, 공격자가 인식할 수 없는 비인식 NIC를 구현하여 네트워크 상에서 공격 대상의 IP 주소를 변경함으로써, 외부의 공격을 능동적으로 방지할 수 있는 5G Massive망에서 비인식 NIC 기능을 갖는, 특히 물리적 이더넷 드라이버에서 수행되는 주소 변이 방법을 제공하는 것을 목적으로 한다.The inventors of the present application, as will be described later, after in-depth research and various experiments, implement an unrecognized NIC that an attacker cannot recognize and change the IP address of an attack target on the network to actively prevent external attacks. Its purpose is to provide an address transformation method that has an unaware NIC function in a 5G Massive network that can be prevented by a physical Ethernet driver.
또한 본 발명은, IP Tables 및 가상 인터페이스를 요구하지 않고, 최소한의 리소스만을 사용하여 주소를 변이하고 서버와 클라이언트 간에 이를 동기화할 수 있는, 이더넷 드라이버에서 수행되는 주소 변이 방법을 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide an address shift method performed by an Ethernet driver, which can shift an address using only minimal resources and synchronize it between a server and a client without requiring IP Tables and virtual interfaces. .
본 발명의 어느 실시예의, 이더넷 드라이버에서 수행되는 주소 변이 방법은, 서로 간 통신하기 위한, 변조되기 전의 본래의 IP와 포트(port)를 가진, 서버와 클라이언트의 물리적 NIC에서 수행되기 위한 방법에 있어서, 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버 간 서로 공유되는 동일한 비밀 키로, 동일한 익명의 서버 IP와 동일한 익명의 서버 포트(port)와 동일한 익명의 클라이언트 포트(port)를 서버 NIC 드라이버와 클라이언트 NIC 드라이버에서 각각 생성하는 단계(익명 주소 생성 단계), 생성한 익명의 서버 IP로 서버의 IP를 변조하고, 생성한 익명의 서버 포트(port)로 서버의 포트(port)를 변조하고, 생성한 익명의 클라이언트 포트(port)로 클라이언트의 포트(port)를 변조하는 단계(주소 변조 단계), 주소 변조 단계에서 변조에 사용된 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port) 정보를 IP 또는 포트(port) 기반의 해쉬 구조인 제1 세션 테이블(table)에 저장하는 단계(송신측 세션 테이블 작성 단계), 변조된 서버 IP와, 변조된 서버 포트(port)와, 변조된 클라이언트 포트(port) 정보를 포함하는 패킷을 전송하는 단계(패킷 송출 단계), 전송받은 패킷에 담긴 서버 IP와, 서버 포트와, 클라이언트 포트 정보가 익명 주소 생성 단계에서 생성한 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port)와 일치하는지 판단하는 단계(패킷 판단 단계), 패킷 판단 단계에서 판단한 결과, 일치하는 것으로 판단한 경우, 해당 전송받은 패킷에 담긴 서버 IP와 서버 포트(port)와 클라이언트 포트(port) 정보를 IP 또는 포트(port) 기반의 해쉬 구조인 제2 세션 테이블(table)에 저장하는 단계(수신측 세션 테이블 작성 단계) 및 서버와 클라이언트의 운영체제(OS)에서 수행되는 단계로서, 서버와 클라이언트의 IP 주소를 물리적 주소인 MAC 주소로 대응시키기 위한 ARP 절차 수행 단계를 포함하고, ARP 절차 수행 단계에서, 서버와 클라이언트의 MAC 주소는 서버와 클라이언트의 물리적 NIC의 변조되기 전의 본래의 IP에 대응되는 것을 특징으로 한다.In an embodiment of the present invention, an address transformation method performed in an Ethernet driver is a method for performing in physical NICs of a server and a client, which have original IPs and ports before being modulated, for communication between each other. , with the same secret key shared between the NIC driver of the server and the NIC driver of the client, the same anonymous server IP, the same anonymous server port, and the same anonymous client port are shared between the server NIC driver and the client NIC driver. Each generation step (anonymous address generation step), the server IP is modulated with the created anonymous server IP, the server port is modulated with the created anonymous server port, and the created anonymous client Modifying the port of the client with a port (address modification step), information on the anonymous server IP, anonymous server port, and anonymous client port used for modification in the address modification step in a first session table, which is an IP or port-based hash structure (creating a sender-side session table), modulated server IP, modulated server port, and modulated client The step of transmitting a packet including port information (packet transmission step), the server IP, server port, and client port information included in the transmitted packet are the anonymous server IP created in the anonymous address generation step and the anonymous The step of determining whether the server port and the anonymous client port match (packet determination step). As a result of the determination in the packet determination step, if it is determined that they match, the server IP and server port contained in the transmitted packet ( port) and client port information in a second session table, which is a hash structure based on IP or port (reception side session table creation step) and in the operating system (OS) of the server and the client. A step performed, in which the IP address of the server and the client are mapped to the MAC address, which is the physical address. In the ARP procedure performing step, the MAC addresses of the server and the client correspond to the original IPs of the physical NICs of the server and the client before being tampered with.
또한 본 발명의 어느 실시예의, 이더넷 드라이버에서 수행되는 주소 변이 방법은, 익명 주소 생성 단계는 소정의 주기마다 반복 수행되는 것을 특징으로 한다.In addition, in an address transition method performed by an Ethernet driver according to an embodiment of the present invention, the step of generating an anonymous address is repeatedly performed at predetermined intervals.
또한 본 발명의 어느 실시예의, 이더넷 드라이버에서 수행되는 주소 변이 방법은, 패킷 판단 단계에서 판단한 결과, 일치하지 않는 것으로 판단한 경우, 해당 전송받은 패킷을 차단하는 단계(패킷 필터링 단계)를 추가로 포함하는 것을 특징으로 한다.In addition, in an embodiment of the present invention, the address variation method performed by the Ethernet driver further includes a step of blocking the transmitted packet (packet filtering step) when it is determined that they do not match as a result of the determination in the packet determination step characterized by
또한 본 발명의 어느 실시예의, 이더넷 드라이버에서 수행되는 주소 변이 방법은, 패킷 판단 단계에서 판단한 결과, 일치하는 것으로 판단한 경우, 전송받은 패킷에 담긴 서버 IP와 서버 포트(port)와 클라이언트 포트(port)를 변조되기 전의 본래의 서버 IP와 본래의 서버 포트(port)와 본래의 클라이언트 포트(port)로 복구하는 단계(주소 복구 단계)를 추가로 포함하는 것을 특징으로 한다.In addition, in the address variation method performed by the Ethernet driver according to an embodiment of the present invention, as a result of the determination in the packet determination step, if it is determined that they match, the server IP, server port, and client port included in the transmitted packet It is characterized in that it further comprises a step of restoring (address recovery step) to the original server IP, original server port and original client port before being tampered with.
또한 본 발명의 어느 실시예의, 이더넷 드라이버에서 수행되는 주소 변이 방법은, 송신측 세션 테이블 작성 단계와 수신측 세션 테이블 작성 단계에 있어서, 제1 세션 테이블과 제2 세션 테이블 중 클라이언트의 NIC 드라이버에 저장되는 세션 테이블은 서버의 변조된 포트 기반의 해쉬 구조이며, 서버의 NIC 드라이버에 저장되는 세션 테이블은 클라이언트의 본래의 IP 기반의 해쉬 구조이며, 연결된 서버와 클라이언트 간의 세션은 제1 세션 테이블(table)과 제2 세션 테이블(table)을 통하여 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버에 의해서 유지되는 것을 특징으로 한다.In addition, according to an embodiment of the present invention, in the address variation method performed by the Ethernet driver, in the sending-side session table creation step and the reception-side session table creation step, the first session table and the second session table are stored in the NIC driver of the client The session table is a hash structure based on the modified port of the server, the session table stored in the NIC driver of the server is the hash structure based on the original IP of the client, and the session between the connected server and the client is a first session table and maintained by the NIC driver of the server and the NIC driver of the client through the second session table.
이상 설명한 바와 같이, 본 발명에 따른 5G Massive망에서 비인식 NIC 기능을 갖는 이더넷 드라이버에서 수행되는 주소 변이 방법은 사용자 인식할 수 없는 비인식 NIC를 구현하여 네트워크 상에서 공격 대상의 IP 주소를 변경함으로써, 외부의 공격을 능동적으로 방지할 수 있는 효과를 제공할 수 있다.As described above, in the 5G Massive network according to the present invention, the address variation method performed by the Ethernet driver having the non-recognized NIC function implements the non-recognized NIC and changes the IP address of the attack target on the network, An effect capable of actively preventing an external attack may be provided.
또한 본 발명에 따르면, 물리적 NIC의 드라이버에서 주소를 변이시키므로, OS와 관계없이 주소 변이가 가능하고, IP Tables 및 가상 인터페이스를 사용하지 않아, 응용프로그램이나 많은 리소스를 요구하지 않으며, 이에 따라 소형 임베디드 시스템에 적용하기 유리하다.In addition, according to the present invention, since the driver of the physical NIC shifts the address, the address shift is possible regardless of the OS, and since IP Tables and virtual interfaces are not used, applications or many resources are not required, and thus small embedded It is advantageous to apply to the system.
또한 본 발명에 따르면, 클라이언트의 본래의 IP 또는 서버의 변조된 port(포트)를 이용하여 해시 구조의 세션 Table(테이블)을 빠르게 검색할 수 있어 성능저하 및 지연을 최소화할 수 있다.In addition, according to the present invention, a session table having a hash structure can be quickly searched using the original IP of a client or a modulated port of a server, thereby minimizing performance degradation and delay.
또한 본 발명에 따르면, 주기적으로 변조되는 모든 IP에 대해 ARP 절차를 수행하지 않고, 최종적으로 복원된 실제 IP에 대해서만 ARP 절차를 수행하여 트래픽 중단의 문제가 발생하지 않고, ARP Table(테이블)을 매번 검색하며 발생할 수 있는 네트워크 과부하 및 지연을 방지할 수 있다.In addition, according to the present invention, the ARP procedure is not performed for all IPs that are periodically modulated, but the ARP procedure is performed only for the finally restored real IP, so that traffic interruption does not occur and the ARP Table is checked every time. You can prevent network overload and delay that may occur while searching.
도 1은 종래의 어드레스 할당 방법을 이용하여 이더넷 액세스를 하는 호스트 장치의 구성을 보이는 블록도,
도 2는 본 발명의 주소 변이 방법을 수행하기 위한 기능 블록들을 도시한 블록도,
도 3은 본 발명의 주소 변이 방법을 수행하기 위한 기능 블록들의 작업 수행 방법을 도시한 순서도,
도 4는 본 발명의 일 실시예에 따른 주소 변이 방법을 설명하기 위한 순서도,
도 5는 본 발명의 일 실시예에 따른 주소 변이 방법의 세션 테이블(table) 생성 과정을 나타낸 데이터 흐름도,
도 6은 본 발명의 일 실시예에 따른 주소 변이 방법의 주소 변이를 이용한 데이터 교환 과정을 나타낸 데이터 흐름도,
도 7은 본 발명의 일 실시예에 따른 주소 변이 방법의 ARP 테이블(table) 작성 과정을 나타낸 데이터 흐름도이다.1 is a block diagram showing the configuration of a host device that performs Ethernet access using a conventional address assignment method;
2 is a block diagram showing functional blocks for performing the address variation method of the present invention;
3 is a flowchart illustrating a method of performing tasks of functional blocks for performing the address variation method of the present invention;
4 is a flowchart for explaining an address variation method according to an embodiment of the present invention;
5 is a data flow diagram illustrating a session table creation process of an address variation method according to an embodiment of the present invention;
6 is a data flow diagram illustrating a data exchange process using address variation in an address variation method according to an embodiment of the present invention;
7 is a data flow diagram illustrating a process of creating an ARP table in an address variation method according to an embodiment of the present invention.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세하게 설명한다. 다만, 실시예가 본 발명의 범위를 제한하는 것은 아니며, 이는 본 발명의 이해를 돕기 위한 것으로 해석되어야 할 것이다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily carry out the present invention. However, the examples are not intended to limit the scope of the present invention, which should be interpreted to aid understanding of the present invention.
실시 예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the embodiments are only used to describe specific embodiments, and are not intended to limit the embodiments. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.
한편, 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 실시 예를 적절히 표현하기 위해 사용된 용어들로써, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Meanwhile, in describing the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. In addition, the terminology used in this specification is a term used to appropriately express the embodiment of the present invention, which may vary according to the intention of a user or operator or customs in the field to which the present invention belongs. Therefore, definitions of these terms will have to be made based on the content throughout this specification.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, they should not be interpreted in an ideal or excessively formal meaning. don't
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시 예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the embodiment, the detailed description will be omitted.
먼저, 하기 NIC는 예를 들어 IEEE(Institute of Electrical and Electronics Engineers) 802.11 무선랜(Wireless LAN; WLAN) 표준에 기반한 것일 수 있다.First, the following NIC may be based on, for example, an Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless LAN (WLAN) standard.
도 2는 본 발명의 주소 변이 방법을 수행하기 위한 기능 블록들의 블록도를 도시한 것이다. 상기 기능 블록들은 논리적 요소로서, 서버측의 물리적 NIC(Network Interface Card)의 펌웨어 내지 드라이버에 존재할 수 있다. 또한 동일하게 클라이언트측의 물리적 NIC(Network Interface Card)의 펌웨어 내지 드라이버에 존재할 수 있다. 본 발명의 주소 변이 방법은 가상 인터페이스가 아닌, 서로 간 통신하기 위한 서버와 클라이언트의 물리적 NIC에서 수행된다. 서버측과 클라이언트측 양쪽에서 서로 패킷의 수신과 송신을 교번하며 대칭적으로 수행될 수 있으며 따라서 도 2의 기능 블록들은 서버측과 클라이언트측 양측에 각기 존재할 수 있다.2 is a block diagram of functional blocks for performing the address variation method of the present invention. The functional blocks are logical elements, and may exist in the firmware or driver of a physical NIC (Network Interface Card) on the server side. Also, the same may exist in the firmware or driver of a physical NIC (Network Interface Card) on the client side. The address shift method of the present invention is performed in physical NICs of servers and clients for mutual communication, not virtual interfaces. Reception and transmission of packets can be performed alternately and symmetrically on both the server side and the client side, and thus the functional blocks of FIG. 2 can exist on both the server side and the client side, respectively.
먼저, 랜덤 값 생성 블록(RVGB, 10)는 Key 저장소(1)에서 비밀 키(해쉬 key)를 로드하고 익명 IP/Port 생성을 위한 비밀 값을 생성한다. 익명 IP 생성 블록(PIGB, 20)은 상기 비밀 값을 이용하여 익명의 IP를 생성한다. 또한 동시에 익명 Port 생성 블록(PPGB, 30)은 상기 비밀 값을 이용하여 익명의 포트(port)를 생성한다. 이와 같은 과정으로, 상기 랜덤 값 생성 블록(RVGB, 10)과 익명 IP 생성 블록(PIGB, 20), 익명 Port 생성 블록(PPGB, 30)은 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port)를 생성한다. 또한 상기 익명 주소 생성 단계는 서버의 물리적 NIC와 클라이언트의 물리적 NIC에서 동시에 수행되며, 또한 양측에서 각각 동일한 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port)를 생성한다.First, the random value generation block (RVGB, 10) loads a secret key (hash key) from the key storage (1) and generates a secret value for generating an anonymous IP/Port. An anonymous IP generation block (PIGB, 20) generates an anonymous IP using the secret value. At the same time, the anonymous port generation block (PPGB, 30) creates an anonymous port using the secret value. In this process, the random value generation block (RVGB, 10), anonymous IP generation block (PIGB, 20), and anonymous port generation block (PPGB, 30) generate an anonymous server IP, an anonymous server port, and an anonymous server port. Creates a client port for In addition, the anonymous address generation step is simultaneously performed in the physical NIC of the server and the physical NIC of the client, and the same anonymous server IP, anonymous server port, and anonymous client port are created on both sides, respectively.
이렇게 랜덤 값 생성 블록(RVGB, 10)과 익명 IP 생성 블록(PIGB, 20), 익명 Port 생성 블록(PPGB, 30)이 동일한 익명 주소를 생성하기 위하여, 상기 서버측 NIC와 상기 클라이언트측 NIC는 동일한 Key 저장소(1)와 동일한 해쉬 함수를 보유할 수 있다. NIC의 제조 단계에서 이것이 고려되어 제조될 수 있다. 또는 NIC의 펌웨어 업데이트를 통하여 동일한 Key 저장소(1)와 해쉬 함수가 배포될 수 있다. 또는 중앙 인증 서버에서 서버의 NIC와 클라이언트의 NIC를 인증한 후 배포할 수 있다. 또는 NIC의 드라이버 배포를 통하여 동일한 Key 저장소(1)와 해쉬 함수가 배포될 수 있다.In order to generate the same anonymous address with the random value generation block (RVGB, 10), the anonymous IP generation block (PIGB, 20), and the anonymous port generation block (PPGB, 30), the server-side NIC and the client-side NIC are the same It can have the same hash function as the key storage (1). This can be taken into account and manufactured in the manufacturing stage of the NIC. Alternatively, the same
시간 동기화 블록(TSB, 40)은 주소 변이의 시작 시간 및 주기를 제어하는 블록이며, 예를 들어 시간 동기화를 위한 기준 값이나 주소 변이의 주기 값이 저장된 Policy 저장소(2)를 서버측 NIC와 클라이언트측 NIC가 상기 Key 저장소(1)와 마찬가지로 서로 공유하는 것으로, 상기의 주소 변이의 시작 시간 및 주기가 서버측 NIC와 클라이언트측 NIC 간에 동기화될 수 있다. 네트워크 설정 업데이트 블록(NCUB, 50)은 시간 동기화 블록(TSB, 40)의 동기화 신호에 맞추어 변조 IP/Port를 업데이트 한다. 패킷 처리부(PPB, 60)는 서버나 클라이언트의 OS(운영체제)로부터 또는 외부에서 서버나 클라이언트의 NIC으로 수신되는 패킷을 처리하여 목적지(OS 또는 NIC)로 송신하는 블록이다.Time Synchronization Block (TSB, 40) is a block that controls the start time and period of address variation. Since the side NICs share each other like the
Policy 저장소(2)의 자료 구조의 예시를 표 1로 나타냈다.Table 1 shows an example of the data structure of the policy repository (2).
변조 IP/Port 저장소(3)는 네트워크 설정 업데이트 블록(NCUB, 50)이 익명 IP 생성 블록(PIGB, 20)과 익명 Port 생성 블록(PPGB, 30)이 생성한 익명 주소를 이용하여 서버 및 클라이언트의 IP와 포트(port)를 변조한 경우, 상기 변조 IP와 포트(port) 정보를 저장하는 저장소이다. 전술한 대로, 서버측 NIC와 상기 클라이언트측 NIC는 동일한 비밀 값으로 서로 동일한 익명 주소를 생성하므로, 서버 NIC의 변조 IP/Port 저장소와 클라이언트 NIC의 변조 IP/Port 저장소에는 동일한 시간에 서로 동일한 변조 정보가 담기게 된다. 변조 IP/Port 저장소(3)의 자료 구조의 예시를 표 2로 나타냈다.The modulated IP/Port storage (3) uses the anonymous address generated by the network setting update block (NCUB, 50) to create an anonymous IP block (PIGB, 20) and anonymous port creation block (PPGB, 30) to store information about servers and clients. When IP and port are modulated, it is a storage for storing the modulated IP and port information. As described above, since the server-side NIC and the client-side NIC generate the same anonymous address with the same secret value, the same modulation information is stored in the modulation IP/Port storage of the server NIC and the modulation IP/Port storage of the client NIC at the same time. will be included Table 2 shows an example of the data structure of the modulation IP/Port storage (3).
세션 Table(테이블) 저장소(4)에는 전술한 변조 정보와 함께 현재 서버와 클라이언트 간에 수립된 세션 정보가 저장된다. 세션 Table(테이블) 저장소(4)의 자료 구조의 예시를 표 3으로 나타냈다. 본 발명에서 세션 Table(테이블)은, IP 또는 포트(port) 기반의 해쉬 구조로 상기 자료를 저장하며, 서버의 NIC와 클라이언트의 NIC에 각각 하나씩 생성될 수 있다.In the
도 3은 본 발명의 주소 변이 방법을 수행하기 위한 기능 블록들의 작업 수행 순서도를 도시한 것이다. 먼저, 랜덤 값 생성 블록(RVGB, 10)는 Key 저장소(1)에서 비밀 키(해쉬 key)를 로드(load)하고 익명 IP/Port 생성을 위한 비밀 값을 생성하고 이를 익명 IP 생성 블록(PIGB, 20)과 익명 Port 생성 블록(PPGB, 30)으로 전달한다. 익명 IP 생성 블록(PIGB, 20)은 전달받은 비밀 값을 이용하여, 서버의 IP를 변조하기 위해 사용할 익명의 IP를 생성하고, 또한 동시에 익명 Port 생성 블록(PPGB, 30)은 전달받은 비밀 값을 이용하여 익명의 포트(port)를 서버용 1개와 클라이언트용 1개로 각각 생성한다.3 is a flowchart illustrating a task execution of functional blocks for performing the address variation method of the present invention. First, the random value generation block (RVGB, 10) loads a secret key (hash key) from the key storage (1), creates a secret value for generating an anonymous IP/Port, and generates an anonymous IP generation block (PIGB, 20) and an anonymous port creation block (PPGB, 30). The anonymous IP generation block (PIGB, 20) uses the received secret value to generate an anonymous IP to be used to modify the server's IP, and at the same time, the anonymous port generation block (PPGB, 30) uses the received secret value to create one anonymous port for the server and one for the client.
생성된 익명 주소(익명 IP와 익명 포트)는 네트워크 설정 업데이트 블록(NCUB, 50)으로 전달되고, 시간 동기화 블록(TSB, 40)이 생성한 동기화 정보에 따라 네트워크 설정 업데이트 블록(NCUB, 50)은 전달받은 익명 주소를 바탕으로 변조 IP/Port 저장소(3)를 업데이트한다. 이러한 변조 IP/Port 저장소(3)의 업데이트는 시간 동기화 블록(TSB, 40)의 동기화 정보에 따라 주기적으로 반복될 수 있다. 패킷 처리부(PPB, 60)는 실제로 NIC 외부로 내보낼 패킷을 설계하는데, 특히 변조 IP/Port 저장소(3)에 접근하여 변조 IP와 변조 포트(port)를 전달받아 변조된 IP와 포트를 상기 패킷에 담아 실제 주소 변이를 시행한다. 또한 패킷 처리부(PPB, 60)는 패킷을 만들 때, 변조한 IP와 포트 정보를 세션 Table(테이블) 저장소(4)에 저장한다.The generated anonymous address (anonymous IP and anonymous port) is transmitted to the network setting update block (NCUB, 50), and according to the synchronization information generated by the time synchronization block (TSB, 40), the network setting update block (NCUB, 50) Modified IP/Port storage (3) is updated based on the received anonymous address. The update of the modulation IP/
도 4는 본 발명의 일 실시예에 따른 주소 변이 방법을 설명하기 위한 순서도이다. 이하에서 설명하는 주소 변이 방법은 기능 블록들의 구성과 기능과 관련하여 앞서 설명한 내용들로 뒷받침된다. 먼저 익명 주소 생성 단계(s110 단계)에서 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버 간 서로 공유되는 동일한 비밀 키로, 동일한 익명의 서버 IP와 동일한 익명의 서버 포트(port)와 동일한 익명의 클라이언트 포트(port)를 서버 NIC 드라이버와 클라이언트 NIC 드라이버에서 각각 생성한다. 전술한 대로, 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버는 동일한 비밀 키 및/또는 동일한 해쉬 함수 및/또는 동일한 시간 값을 공유하므로, 결국 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버가 각각 생성하는 익명의 IP 값과 익명의 포트 값은 서로 동일하다.4 is a flowchart illustrating an address variation method according to an embodiment of the present invention. The address variation method described below is supported by the contents described above in relation to the configuration and functions of functional blocks. First, in the anonymous address generation step (step s110), the same secret key shared between the NIC driver of the server and the NIC driver of the client, the same anonymous server IP, the same anonymous server port, and the same anonymous client port are created in the server NIC driver and the client NIC driver respectively. As mentioned above, the server's NIC driver and the client's NIC driver share the same secret key and/or the same hash function and/or the same time value, resulting in an anonymous IP that the server's NIC driver and the client's NIC driver respectively generate. The value and the anonymous port value are identical to each other.
다음으로 주소 변조 단계(s120 단계)가 수행될 수 있다. 주소 변조 단계(s120 단계)에서, 익명 주소 생성 단계(s110 단계)에서 생성한 익명의 서버 IP로 서버의 본래의 IP를 변조하여 송신할 패킷에 담고, 생성한 익명의 서버 포트(port)로 서버의 본래의 포트(port)를 변조하여 송신할 패킷에 담고, 생성한 익명의 클라이언트 포트(port)로 클라이언트의 본래의 포트(port)를 변조하여 송신할 패킷에 담는다. 즉 실제적인 주소 변이가 발생하는 단계이다.Next, an address modulation step (step s120) may be performed. In the address modulation step (step s120), the original IP of the server is modulated with the anonymous server IP generated in the anonymous address generation step (step s110), put in a packet to be transmitted, and the created anonymous server port. Modulates the original port of and puts it in the packet to be transmitted, and modulates the original port of the client with the created anonymous client port and puts it in the packet to be sent. That is, this is the step in which actual address variation occurs.
주소 변조 단계(s120 단계)의 직전, 또는 직후 또는 그와 동시에 송신측 세션 테이블 작성 단계(s130 단계)가 수행될 수 있다. 본 단계에서, 주소 변조 단계(s120 단계)에서 변조에 사용된, 또는 사용될 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port) 정보를 IP 또는 포트(port) 기반의 해쉬 구조인 제1 세션 테이블(table)에 저장한다. 상기 제1 세션 테이블(table)은 송신측의 NIC 드라이버가 보유하는 송신측 세션 테이블이 된다. 세션 테이블이 저장하는 저장 항목들은 전술한 세션 Table 저장소(4)의 설명과 예시를 참조할 수 있다. 송신측이 클라이언트인 경우, 제1 세션 테이블(table)은 수신측, 즉 서버의 변조된 포트(port)를 key 값으로 사용하는 해쉬 구조로 자료가 저장되며, 서로 연결되는 서버와 클라이언트 간의 세션 연결 유지를 위하여 지속적으로 사용될 수 있다.Before, immediately after, or at the same time as the address modulation step (step s120), the sender side session table creation step (step s130) may be performed. In this step, the IP or port-based hash of the anonymous server IP, anonymous server port, and anonymous client port information used or to be used for modulation in the address modulation step (step s120) It is stored in the structure of the first session table. The first session table becomes a sender-side session table held by the sender's NIC driver. The storage items stored in the session table may refer to the description and example of the
다음으로 패킷 송출 단계(s140 단계)에서는 변조된 서버 IP와, 변조된 서버 포트(port)와, 변조된 클라이언트 포트(port) 정보를 포함하는 패킷을 NIC의 외부로 전송한다.Next, in the packet transmission step (step s140), a packet including modulated server IP, modulated server port, and modulated client port information is transmitted to the outside of the NIC.
다음으로, 상기 주소 변이된 패킷을 수신하는 패킷 수신 및 패킷 판단 단계(s150 단계)가 수행될 수 있다. 클라이언트의 NIC가 상기 주소 변이된 패킷을 송신한 경우, 수신측은 서버 NIC가 되며, 반대로 서버 NIC가 상기 주소 변이된 패킷을 송신한 경우, 수신측은 클라이언트 NIC가 되는 것은 당연하다. 수신측의 NIC는 전송받은 패킷에 담긴 서버 IP와 서버 포트와 클라이언트 포트 정보를 수신측의 NIC가 익명 주소 생성 단계(s110 단계)에서 생성한 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port)와 일치하는지 판단한다. 상기 판단 결과가 일치하는 것으로 도출된 경우에는, 동일한 비밀 키로 생성된 변이 주소임이 확인된 것이므로 상기 전송받은 패킷을 정당한 송신자가 송신한 패킷으로 간주할 수 있다. 따라서 이때는 수신측 세션 테이블 작성 단계(s160 단계)와 주소 복구 단계(s170)가 수행될 수 있다.Next, a packet reception and packet determination step (step s150) for receiving the address-shifted packet may be performed. When the client's NIC transmits the address-shifted packet, the receiver becomes the server NIC. Conversely, when the server NIC transmits the address-shifted packet, the receiver becomes the client NIC. The receiving side's NIC converts the server IP, server port, and client port information contained in the transmitted packet into the anonymous server IP, anonymous server port, and anonymous server port created by the receiving side's NIC in the anonymous address generation step (step s110) Determines whether it matches the client port of . If the determination result is determined to be identical, it is confirmed that the variant address is generated with the same secret key, and thus the transmitted packet can be regarded as a packet transmitted by a legitimate sender. Accordingly, at this time, the reception side session table creation step (step s160) and address recovery step (s170) may be performed.
수신측 세션 테이블 작성 단계(s160 단계)에서는 해당 전송받은 패킷에 담긴 서버 IP와 서버 포트(port)와 클라이언트 포트(port) 정보, 즉 동일한 비밀 키로 생성된 변이 주소 정보를 IP 또는 포트(port) 기반의 해쉬 구조인 제2 세션 테이블(table)에 저장한다. 상기 제2 세션 테이블(table)은 수신측의 NIC 드라이버가 보유하는 수신측 세션 테이블이 된다. 수신측이 서버인 경우, 제2 세션 테이블(table)은 송신측, 즉 클라이언트의 본래의 IP를 key 값으로 사용하는 해쉬 구조로 자료가 저장되며, 서로 연결되는 서버와 클라이언트 간의 세션 연결 유지를 위하여, 제1 세션 테이블과 함께 지속적으로 사용될 수 있다.In the receiving-side session table creation step (step s160), the server IP, server port, and client port information contained in the received packet, that is, the variant address information generated with the same secret key, is stored on the IP or port basis. stored in the second session table, which is a hash structure of The second session table becomes a reception-side session table held by the reception-side NIC driver. When the receiving side is a server, data is stored in the second session table in a hash structure using the original IP of the sending side, that is, the client, as a key value, and to maintain session connection between the server and the client connected to each other. , can be continuously used with the first session table.
주소 복구 단계(s170)에서는 제2 세션 테이블에 저장된 정보를 이용하여, 전송받은 패킷에 담긴 서버 IP와 서버 포트(port)와 클라이언트 포트(port)를 변조되기 전의 본래의 서버 IP와 본래의 서버 포트(port)와 본래의 클라이언트 포트(port)로 복구한다. 이로써 본래의 주소 정보를 회복한 패킷은 OS와 어플리케이션으로 차례로 전달될 수 있다.In the address recovery step (s170), the server IP, server port, and client port contained in the received packet are changed to the original server IP and original server port before being altered by using the information stored in the second session table. (port) and the original client port (port). As a result, packets with original address information recovered can be sequentially delivered to the OS and applications.
패킷 수신 및 패킷 판단 단계(s150 단계)에서 판단한 결과, 변이 주소가 일치하지 않는 것으로 판단한 경우에는, 해당 패킷을 차단하는 패킷 필터링 단계(s180 단계)가 수행될 수 있다. 이 경우, 수신측의 NIC 드라이버가 생성한 익명 주소와, 전송받은 패킷에 담긴 주소 정보(변이 주소)가 일치하지 않는 것으로, 송신측의 정당성 여부를 확인할 수 없는 경우이므로 전송받은 패킷을 차단하여 혹시 모를 공격을 방어할 수 있다. 예를 들어, 수신한 TCP SYN 패킷을 TCP FIN 패킷으로 변조하여 수신측 상위 어플리케이션으로의 TCP 연결이 수립되지 않도록 할 수 있다.As a result of the determination in the packet reception and packet determination step (step s150), when it is determined that the variant addresses do not match, a packet filtering step (step s180) of blocking the corresponding packet may be performed. In this case, since the anonymous address generated by the NIC driver of the receiving side and the address information (variant address) included in the transmitted packet do not match, it is impossible to verify the legitimacy of the sending side, so the transmitted packet is blocked and You can defend against unknown attacks. For example, a received TCP SYN packet may be modulated into a TCP FIN packet to prevent establishment of a TCP connection to a higher-level application on the receiving side.
실시예에 따라, 본 발명의 주소 변이 방법은 서버 및/또는 클라이언트의 운영체제(OS)에서 수행되는 단계로서, 서버와 클라이언트의 IP 주소를 물리적 주소인 MAC 주소로 대응시키기 위한 ARP 절차 수행 단계를 포함할 수 있다. ARP 절차 수행 단계에서 서버와 클라이언트의 MAC 주소는 서버와 클라이언트의 물리적 NIC의 변조되기 전의 본래의 IP와 대응되는 것이 바람직하다. 즉, 서버와 클라이언트가 각각 저장하는 ARP 테이블(table)은, 주기적으로 매번 변경될 수 있는 변이 주소에 대하여 작성되는 것이 아닌, 서버와 클라이언트 각각의 본래의 IP에 대하여 작성된다. 이에 따라, 주기적으로 변경되는 변이 주소 전부에 대한 ARP 테이블을 작성할 필요가 없어 ARP 테이블이 단순해지고 검색 시간이 단축되며, 주소 변이가 일어날 때마다 변이 주소에 대응되는 MAC 주소를 찾기 위한 ARP 테이블 검색을 수행할 필요가 없어, ARP 테이블 검색에 따른 연결 지연이 발생하지 않는다. 예를 들어, 서버, 클라이언트 간 최초 연결 수립을 위해 교환되는 ARP Request 패킷과 ARP Response 패킷에는 변이 주소가 아닌, 서버 또는 클라이언트의 본래의 IP 주소를 담아 송수신하여, ARP 테이블을 작성하는 것으로 이를 달성할 수 있다. 또한 예를 들어, 연결이 이미 수립된 서버와 클라이언트 간에는 상기 주소 복구 단계(s170) 이후에 복구된 IP에 대하여 ARP 테이블 검색을 실시하는 것으로 이를 달성할 수 있다.According to an embodiment, the address variation method of the present invention is a step performed in an operating system (OS) of a server and/or a client, and includes performing an ARP procedure for matching IP addresses of servers and clients with MAC addresses, which are physical addresses. can do. In the ARP procedure execution step, it is desirable that the MAC addresses of the server and the client correspond to the original IPs of the physical NICs of the server and the client before being tampered with. That is, the ARP table stored by the server and the client, respectively, is created for the original IP of each server and client, not for a variable address that can be changed periodically. Accordingly, there is no need to create an ARP table for all of the variant addresses that change periodically, which simplifies the ARP table and shortens the search time. connection delay due to ARP table search does not occur. For example, ARP Request packets and ARP Response packets exchanged for the initial connection establishment between the server and the client contain the original IP address of the server or client, not the variant address, and create an ARP table to achieve this. can In addition, for example, this can be achieved by performing an ARP table search for the recovered IP after the address recovery step (s170) between the server and the client for which a connection has already been established.
도 5는 본 발명의 일 실시예에 따른 주소 변이 방법의 세션 테이블(table) 생성 과정을 나타낸 데이터 흐름도이다. 제1 세션 테이블(table)과 제2 세션 테이블(table)은 전술한 대로, 클라이언트 본래 IP 또는 서버의 변조 Port 주소 기반 해시 구조로 되어 있으며, 서로 간 통신하기 위한 서버와 클라이언트 간 TCP 세션 생성 과정의 TCP SYN, SYN/ACK 통해 생성된다. 또한 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버가 서로 공유하는 동일한 IP 값과 익명의 포트 값을 매개로 하여 서버와 클라이언트 간 동일한 값을 저장할 수 있게 된다. 세션 테이블(table) 생성 과정은 다음과 같다.5 is a data flow diagram illustrating a process of generating a session table in an address variation method according to an embodiment of the present invention. As described above, the first session table and the second session table have a hash structure based on the original IP of the client or the modulated Port address of the server, and the process of creating a TCP session between the server and the client for communication with each other. Generated through TCP SYN and SYN/ACK. In addition, the same IP value and anonymous port value shared by the NIC driver of the server and the NIC driver of the client can be used to store the same value between the server and the client. The session table creation process is as follows.
서버와 클라이언트의 어플리케이션(application) 간 TCP 연결을 위해, 클라이언트 어플리케이션에서 TCP SYN 패킷을 전송할 경우, OS(운영체제)를 거쳐 ①과 같은 TCP SYN 패킷이 클라이언트의 NIC 드라이버로 전달된다. TCP SYN 패킷 ①을 수신한 클라이언트의 NIC 드라이버의 NAT(②)는 도 4의 실시예의 익명 주소 생성 단계(s110 단계)에서 비밀 키로 생성한 현재 변조 IP/Port를, 서버의 변조 포트(port)를 기준으로 제1 세션 테이블에 등록하고(송신측 세션 테이블 작성 단계(s130 단계)), 현재 변조 IP/Port 저장소에 저장된 IP/Port를 이용하여 패킷의 SRC(소스) Port 및 DST(목적지) IP/Port를 변조한다. 다음으로 변조된 TCP SYN 패킷 ③을 네트워크로 송출하기 위해 NIC으로 전달한다. NIC은 수신된 TCP SYN 패킷 ③을 그대로 네트워크로 송출하며 패킷은 ④와 같다(패킷 송출 단계(s140 단계)).For the TCP connection between the server and the client application, when the client application transmits a TCP SYN packet, the TCP SYN packet as shown in ① is transmitted to the NIC driver of the client through the OS (Operating System). The NAT (②) of the NIC driver of the client receiving the
서버의 NIC이 수신한 TCP SYN 패킷 ④는 그대로 서버의 NIC 드라이버로 전달되며 패킷은 ⑤와 같다. 패킷 수신 및 패킷 판단 단계(s150 단계)에서 TCP SYN 패킷 ⑤을 수신한 서버의 NIC 드라이버의 NAT(⑥)는 SRC(소스) Port 및 DST(목적지) IP/Port 번호가 변조 IP/Port와 동일한지 판단하고, 만약 동일한 경우, 변조 IP/Port를 SRC(소스) IP를 기준으로 세션 테이블(table)에 등록하고(수신측 세션 테이블 작성 단계(s160 단계)), DST(목적지) IP/Port를 원래의 IP/Port로 복구한다. 다음으로, 복구된 TCP SYN 패킷 ⑦을 OS로 전달하여 서버 어플리케이션(application)으로 전달될 수 있게 한다. The
TCP SYN 패킷을 수신한 서버 어플리케이션(application)은 TCP SYN/ACK를 송출하며, OS를 거쳐 ⑧과 같은 TCP SYN/ACK 패킷이 서버의 NIC 드라이버로 전달된다. TCP SYN/ACK 패킷 ⑧을 수신한 NAT(⑨)는 DST(목적지) IP(클라이언트 IP)를 이용하여 세션 테이블(table)을 검색하고, 검색된 세션 테이블(table)의 IP/Port 정보를 이용하여 패킷의 SRC(소스) IP/Port를 변조한다. The server application receiving the TCP SYN packet transmits the TCP SYN/ACK, and the TCP SYN/ACK packet as in ⑧ is transmitted to the NIC driver of the server through the OS. Upon receiving the TCP SYN/ACK packet ⑧, the NAT(⑨) searches the session table using the DST (destination) IP (client IP), and uses the IP/Port information of the searched session table to retrieve the packet modulates the SRC (source) IP/Port of
이후, 변조된 패킷 ⑩을 네트워크로 송출하기 위해 서버측(송신측) NIC으로 전달한다. NIC은 수신된 패킷 ⑩을 그대로 네트워크로 송출하며, 패킷은 ⑪과 같다. ⑪ 패킷을 수신한 클라이언트측(수신측) NIC은 그대로 NIC 드라이버로 해당 패킷을 송출하며 패킷은 ⑫와 같다. TCP SYN/ACK 패킷 ⑫을 수신한 NAT(⑬)는 SRC(소스) Port(서버 Port)를 이용하여 세션 테이블(table)을 검색하고, 검색된 세션 테이블(table)의 IP/Port 정보를 이용하여 패킷의 SRC(소스) IP/Port 및 DST(목적지) Port를 원래의 SRC(소스)/DST(목적지) IP/Port로 복구한다.Then, the modulated
최종적으로, 복구된 TCP SYN/ACK 패킷 ⑭는 OS(eth0 포함)로 전달하여 클라이언트 어플리케이션(application)으로 전달된다.Finally, the recovered TCP SYN/
도 6은 본 발명의 일 실시예에 따른 주소 변이 방법의 주소 변이를 이용한 데이터 교환 과정을 나타낸 데이터 흐름도이다. 먼저, 클라이언트 어플리케이션(application)에서 서버 어플리케이션(application)으로 패킷을 전송할 경우, OS(운영체제)를 거쳐 ①과 같은 패킷이 클라이언트의 NIC 드라이버로 전달된다. ① 패킷을 수신한 NAT(②)는 패킷의 DST(목적지) Port, 즉 서버의 변조된 포트(port)를 이용하여 세션 테이블(table)을 검색하고, 세션 테이블(table)의 IP/Port를 이용하여 패킷의 SRC(소스) Port 및 DST(목적지) IP/Port를 변조한다. 다음으로 변조된 패킷 ③을 네트워크로 송출하기 위해 NIC으로 전달한다. NIC은 수신된 패킷 ③을 그대로 네트워크로 송출하며 패킷은 ④와 같다.6 is a data flow diagram illustrating a data exchange process using address variation in an address variation method according to an embodiment of the present invention. First, when a packet is transmitted from a client application to a server application, the packet as shown in ① is transferred to the NIC driver of the client through the OS (Operating System). ① The NAT (②) receiving the packet searches the session table using the DST (destination) port of the packet, that is, the modified port of the server, and uses the IP/Port of the session table. and modulates the SRC (source) Port and DST (destination) IP/Port of the packet. Next, the modulated
서버의 NIC이 수신한 패킷 ④는 그대로 서버의 NIC 드라이버로 전달되며 패킷은 ⑤와 같다. ⑤ 패킷을 수신한 서버의 NIC 드라이버의 NAT(⑥)는 SRC(소스) IP, 즉 클라이언트의 본래의 IP를 이용하여 세션 Table을 검색하고, 세션 테이블(table)의 IP/Port를 이용하여 패킷의 DST(목적지) IP/Port를 복구한다. 다음으로, 복구된 패킷 ⑦을 OS로 전달하여 서버 어플리케이션(application)으로 전달될 수 있게 한다.The
다음으로, 서버 어플리케이션(application)에서 클라이언트 어플리케이션(application)으로 패킷을 전송할 경우, OS를 거쳐 ⑧과 같은 패킷이 서버의 NIC 드라이버로 전달된다. ⑧ 패킷을 수신한 NAT(⑨)는 패킷의 DST(목적지) IP, 즉 클라이언트의 본래의 IP를 이용하여 세션 테이블(table)을 검색하고, 검색된 세션 테이블의 IP/Port 정보를 이용하여 패킷의 SRC(소스) IP/Port를 변조한다.Next, when a packet is transmitted from the server application to the client application, the packet ⑧ is transmitted to the NIC driver of the server through the OS. ⑧ The NAT (⑨) that received the packet searches the session table using the DST (destination) IP of the packet, that is, the original IP of the client, and uses the IP/Port information of the searched session table to search the SRC of the packet. (Source) Modulate IP/Port.
이후, 변조된 패킷 ⑩을 네트워크로 송출하기 위해 서버측(송신측) NIC으로 전달한다. NIC은 수신된 패킷 ⑩을 그대로 네트워크로 송출하며 패킷은 ⑪과 같다. ⑪ 패킷을 수신한 클라이언트측(수신측) NIC은 그대로 NIC 드라이버로 해당 패킷을 송출하며 패킷은 ⑫와 같다.Then, the modulated
⑫ 패킷을 수신한 서버의 NAT(⑬)는 SRC(소스) Port, 즉 서버의 변조된 포트(port)를 이용하여 세션 테이블(table)을 검색하고, 검색된 세션 테이블(table)의 IP/Port를 이용하여 패킷의 SRC(소스) IP/Port 및 DST(목적지) Port를 복구한다.⑫ The NAT (⑬) of the server that received the packet searches the session table using the SRC (source) port, that is, the modified port of the server, and returns the IP/Port of the searched session table. to restore the SRC (source) IP/Port and DST (destination) Port of the packet.
최종적으로, 복구된 패킷 ⑭를 OS로 전달하여 클라이언트 어플리케이션(application)으로 전달될 수 있게 한다.Finally, the recovered
도 7은 본 발명의 일 실시예에 따른 주소 변이 방법의 ARP 테이블(table) 작성 과정을 나타낸 데이터 흐름도이다. 최초에 클라이언트 어플리케이션에서 서버 어플리케이션으로 패킷을 전송할 경우, OS에서는 ARP 테이블(table)을 검색하여 목표인 서버의 NIC의 MAC 주소를 획득한다. 이 때, ARP 테이블 검색이 실패할 경우, 클라이언트는 ①과 같은 ARP Request 패킷을 송출한다.7 is a data flow diagram illustrating a process of creating an ARP table in an address variation method according to an embodiment of the present invention. When a packet is initially transmitted from the client application to the server application, the OS searches the ARP table to obtain the MAC address of the NIC of the target server. At this time, if the ARP table search fails, the client transmits an ARP Request packet as shown in ①.
① 패킷을 수신한 클라이언트의 NIC 드라이버의 NAT(②)는 도 4의 실시예의 익명 주소 생성 단계(s110 단계)에서 패킷의 TGT(Target) 주소, 즉 서버의 IP가 Policy 저장소(2)에 저장된 서버 IP와 동일한지 판단하고, 만약 동일한 경우, 변조 IP를 이용하여 TGT IP를 변조한다. 이후, 변조된 패킷 ③을 네트워크로 송출하기 위해 NIC으로 전달한다. NIC은 수신된 패킷 ③을 그대로 네트워크로 송출하며 패킷은 ④와 같다.① The NAT (②) of the NIC driver of the client receiving the packet is the server where the TGT (Target) address of the packet, that is, the IP of the server is stored in the policy storage (2) in the anonymous address generation step (step s110) of the embodiment of FIG. It is determined whether it is the same as the IP, and if it is the same, the TGT IP is modulated using the modulated IP. Then, the modulated
서버의 NIC이 수신한 패킷 ④는 그대로 서버의 NIC 드라이버로 전달되며 패킷은 ⑤와 같다.The
⑤ ARP Request 패킷을 수신한 서버의 NIC 드라이버의 NAT(⑥)는 TGT(Target) IP가 변조 IP와 동일한지 판단하고, 만약 동일한 경우, Policy 저장소(2)에 저장된 원래 서버 주소를 이용하여 TGT(Target) IP를 복구한다. 다음으로, 복구된 ARP Request 패킷 ⑦을 OS로 전달한다.⑤ The NAT (⑥) of the NIC driver of the server that received the ARP Request packet determines whether the TGT (Target) IP is the same as the modulated IP. Target) Recover IP. Next, the recovered ARP Request packet ⑦ is delivered to the OS.
OS는 수신한 ARP Request 패킷에 대한 응답으로 자신(서버)의 MAC 주소를 포함하는 ARP Response 패킷 ⑧을 서버의 NIC 드라이버로 전달한다. ⑧ 패킷을 수신한 NAT Table(⑨)은 SRC(Source) IP가 Policy 저장소(2)에 저장된 서버(서비스) IP와 동일한지 판단하고, 만약 동일한 경우, 변조 IP를 이용하여 SRC IP를 변조한다.As a response to the received ARP Request packet, the OS delivers the ARP Response packet ⑧ including its own (server's) MAC address to the server's NIC driver. ⑧ The NAT Table (⑨) that received the packet determines whether the SRC (Source) IP is the same as the server (service) IP stored in the policy storage (2), and if it is the same, modulates the SRC IP using the modulated IP.
이후, 변조된 ARP Response 패킷 ⑩을 네트워크로 송출하기 위해 서버측(송신측) NIC으로 전달한다. NIC은 수신된 ARP Response 패킷 ⑩을 그대로 네트워크로 송출하며 ARP Response 패킷은 ⑪과 같다. ARP Response ⑪ 패킷을 수신한 클라이언트측(수신측) NIC은 그대로 NIC 드라이버로 해당 패킷을 송출하며 패킷은 ⑫와 같다. ARP Response ⑫ 패킷을 수신한 NAT Table(⑬)은 SRC IP가 변조 IP와 동일한지 판단하고, 만약 동일한 경우, Policy 저장소(2)에 저장된 원래 서버 주소를 이용하여 SRC(Source) IP를 복구한다.Afterwards, the modulated
최종적으로 복구된 ARP Response 패킷 ⑭를 OS로 전달하고, 이를 수신한 OS는 ARP Table에 “1:1:1:1 to 11:22:33:44:55:66”을 등록한다.Finally, the recovered
서버에서 송출하는 ARP Request와 클라이언트에서 송출하는 ARP Response도 위와 동일한 방법으로 처리된다.The ARP Request sent by the server and the ARP Response sent by the client are also processed in the same way as above.
이상의 도 5와 도 6과 도 7의 패킷 교환 과정은 도 3의 기능 블록에 대한 설명과 도 4의 주소 변이 방법에 대한 설명을 뒷받침하는 것으로, 특히 본 발명의 주소 변이 방법에 있어서, 패킷의 송신 시에 작성한 송신측 세션 테이블과, 정당 변이 주소임이 확인되어 수신 시에 작성한 수신측 세션 테이블은, 서버와 클라이언트 간에 공유되는 동일한 익명 주소(IP/Port)를 매개로 서로 세션 연결을 위한 정보를 담게 된다. 특히 클라이언트의 NIC 드라이버에서 생성되는 클라이언트측 세션 테이블에서는 서버의 변조 Port를 키(key)로 사용하는 해시 검색을 통하여 빠르게 서버의 원래/변조 IP/Port 및 클라이언트의 원래/변조 Port를 획득할 수 있으며, 또한 서버의 NIC 드라이버에서 생성되는 서버측 세션 테이블에서는 클라이언트의 IP를 키(key)로 사용하는 해시 검색을 통하여 빠르게 서버의 원래 IP/Port 및 클라이언트의 원래/변조 Port를 획득할 수 있다. 이렇게 세션 테이블을 빠른 속도로 해시 검색하는 것으로 서버와 클라이언트 서로 간의 세션 연결이 유지될 수 있다. 또한 ARP 테이블의 작성과 검색을 변조되기 전의 본래의 IP를 기준으로 수행하므로, 주소 변이가 발생할 때마다 ARP 테이블의 작성과 검색을 반복할 필요가 없어 연결 지연을 방지할 수 있다.The above packet exchange process of FIGS. 5, 6, and 7 supports the description of the function block of FIG. 3 and the address variation method of FIG. 4. In particular, in the address variation method of the present invention, packet transmission The sending side session table created at the time of application and the receiving side session table created at the time of reception after confirming that it is a valid variant address contain information for session connection to each other via the same anonymous address (IP/Port) shared between the server and the client. do. In particular, in the client-side session table created by the client's NIC driver, the server's original/modified IP/Port and client's original/modified Port can be quickly obtained through hash search using the server's modified port as a key. In addition, in the server-side session table created by the server's NIC driver, the server's original IP/Port and the client's original/modified Port can be quickly obtained through hash search using the client's IP as a key. By performing hash search on the session table at high speed, the session connection between the server and the client can be maintained. In addition, since the ARP table creation and search are performed based on the original IP before alteration, it is not necessary to repeat the ARP table creation and search every time an address variation occurs, preventing connection delay.
이상 설명한 바와 같이, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형의 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.As described above, the present invention is not limited to the specific preferred embodiments described above, and anyone having ordinary knowledge in the technical field to which the present invention pertains can do various things without departing from the gist of the present invention claimed in the claims. Of course, variations are possible, and such variations are within the scope of the claims.
1: Key 저장소 2: Policy 저장소
3: 변조 IP/Port 저장소 4: 세션 Table 저장소
10: 랜덤 값 생성 블록 20: 익명 IP 생성 블록
30: 익명 Port 생성 블록 40: 시간 동기화 블록
50: 네트워크 설정 업데이트 블록 60: 패킷 처리부1: Key storage 2: Policy storage
3: Modified IP/Port Storage 4: Session Table Storage
10: random value generation block 20: anonymous IP generation block
30: Anonymous Port Creation Block 40: Time Synchronization Block
50: network setting update block 60: packet processing unit
Claims (5)
서버의 NIC 드라이버와 클라이언트의 NIC 드라이버 간 서로 공유되는 동일한 비밀 키로, 동일한 익명의 서버 IP와 동일한 익명의 서버 포트(port)와 동일한 익명의 클라이언트 포트(port)를 서버 NIC 드라이버와 클라이언트 NIC 드라이버에서 각각 생성하는 단계(익명 주소 생성 단계);
생성한 익명의 서버 IP로 서버의 IP를 변조하고, 생성한 익명의 서버 포트(port)로 서버의 포트(port)를 변조하고, 생성한 익명의 클라이언트 포트(port)로 클라이언트의 포트(port)를 변조하는 단계(주소 변조 단계);
주소 변조 단계에서 변조에 사용된 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port) 정보를 IP 또는 포트(port) 기반의 해쉬 구조인 제1 세션 테이블(table)에 저장하는 단계(송신측 세션 테이블 작성 단계);
변조된 서버 IP와, 변조된 서버 포트(port)와, 변조된 클라이언트 포트(port) 정보를 포함하는 패킷을 전송하는 단계(패킷 송출 단계);
전송받은 패킷에 담긴 서버 IP와, 서버 포트와, 클라이언트 포트 정보가 익명 주소 생성 단계에서 생성한 익명의 서버 IP와 익명의 서버 포트(port)와 익명의 클라이언트 포트(port)와 일치하는지 판단하는 단계(패킷 판단 단계);
패킷 판단 단계에서 판단한 결과, 일치하는 것으로 판단한 경우, 해당 전송받은 패킷에 담긴 서버 IP와 서버 포트(port)와 클라이언트 포트(port) 정보를 IP 또는 포트(port) 기반의 해쉬 구조인 제2 세션 테이블(table)에 저장하는 단계(수신측 세션 테이블 작성 단계); 및
서버와 클라이언트의 운영체제(OS)에서 수행되는 단계로서, 서버와 클라이언트의 IP 주소를 물리적 주소인 MAC 주소로 대응시키기 위한 ARP 절차 수행 단계;를 포함하고, ARP 절차 수행 단계에서, 서버와 클라이언트의 MAC 주소는 서버와 클라이언트의 물리적 NIC의 변조되기 전의 본래의 IP에 대응되고,
송신측 세션 테이블 작성 단계와 수신측 세션 테이블 작성 단계에 있어서, 제1 세션 테이블과 제2 세션 테이블 중 클라이언트의 NIC 드라이버에 저장되는 세션 테이블은 서버의 변조된 포트 기반의 해쉬 구조이며, 서버의 NIC 드라이버에 저장되는 세션 테이블은 클라이언트의 본래의 IP 기반의 해쉬 구조이며, 연결된 서버와 클라이언트 간의 세션은 제1 세션 테이블(table)과 제2 세션 테이블(table)을 통하여 서버의 NIC 드라이버와 클라이언트의 NIC 드라이버에 의해서 유지되는 것을 특징으로 하는 5G Massive망에서 비인식 NIC 기능을 갖는 이더넷 드라이버에서 수행되는 주소 변이 방법.A method to be performed on physical NICs of a server and a client, with original IPs and ports before being tampered with, for communication with each other,
With the same secret key shared between the NIC driver of the server and the NIC driver of the client, the same anonymous server IP, the same anonymous server port, and the same anonymous client port are assigned to the server NIC driver and the client NIC driver, respectively. generating step (anonymous address generating step);
Change the server IP with the created anonymous server IP, change the server port with the created anonymous server port, and change the client port to the created anonymous client port. modulating (address modulation step);
In the address modulation step, the anonymous server IP, anonymous server port, and anonymous client port information used for modulation are stored in the first session table, which is a hash structure based on IP or port. a step of creating a session table on the sender side;
Transmitting a packet including modulated server IP, modulated server port, and modulated client port information (packet transmission step);
Determining whether the server IP, server port, and client port information contained in the received packet match the anonymous server IP, anonymous server port, and anonymous client port created in the anonymous address creation step. (packet judgment step);
As a result of the determination in the packet determination step, if it is determined that they match, the server IP, server port, and client port information contained in the received packet are stored in the second session table, which is a hash structure based on IP or port. (table) (reception side session table creation step); and
As a step performed in the operating system (OS) of the server and the client, performing an ARP procedure for mapping the IP addresses of the server and the client to the MAC address, which is a physical address; including, in the ARP procedure performing step, the MAC of the server and the client The address corresponds to the original IP of the physical NIC of the server and the client before being tampered with,
In the sending-side session table creation step and the receiving-side session table creation step, the session table stored in the client's NIC driver among the first session table and the second session table is a hash structure based on the modulated port of the server, and the server's NIC The session table stored in the driver is the original IP-based hash structure of the client, and the session between the connected server and the client is connected to the server's NIC driver and the client's NIC through the first session table and the second session table. Address transformation method performed by an Ethernet driver having an unrecognized NIC function in a 5G Massive network, characterized in that maintained by the driver.
익명 주소 생성 단계는 소정의 주기마다 반복 수행되는 것을 특징으로 하는 5G Massive망에서 비인식 NIC 기능을 갖는 이더넷 드라이버에서 수행되는 주소 변이 방법.According to claim 1,
An address transformation method performed in an Ethernet driver having an unrecognized NIC function in a 5G Massive network, characterized in that the anonymous address generation step is repeatedly performed at predetermined intervals.
패킷 판단 단계에서 판단한 결과, 일치하지 않는 것으로 판단한 경우, 해당 전송받은 패킷을 차단하는 단계(패킷 필터링 단계);를 추가로 포함하는 것을 특징으로 하는 5G Massive망에서 비인식 NIC 기능을 갖는 이더넷 드라이버에서 수행되는 주소 변이 방법.According to claim 1,
As a result of the determination in the packet determination step, if it is determined that they do not match, blocking the received packet (packet filtering step); How the address transformation is performed.
패킷 판단 단계에서 판단한 결과, 일치하는 것으로 판단한 경우, 전송받은 패킷에 담긴 서버 IP와 서버 포트(port)와 클라이언트 포트(port)를 변조되기 전의 본래의 서버 IP와 본래의 서버 포트(port)와 본래의 클라이언트 포트(port)로 복구하는 단계(주소 복구 단계);를 추가로 포함하는 것을 특징으로 하는 5G Massive망에서 비인식 NIC 기능을 갖는 이더넷 드라이버에서 수행되는 주소 변이 방법.According to claim 1,
As a result of the judgment in the packet judgment step, if it is determined that they match, the server IP, server port, and client port included in the received packet are changed to the original server IP, original server port, and original server port before being tampered with. Recovering to a client port (port) of (address recovery step); address transformation method performed in an Ethernet driver having an unrecognized NIC function in a 5G Massive network, characterized in that it further comprises.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220073438A KR102476672B1 (en) | 2022-06-16 | 2022-06-16 | Network address mutation method performed by ethernet driver with unrecognized nic function in 5g massive network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220073438A KR102476672B1 (en) | 2022-06-16 | 2022-06-16 | Network address mutation method performed by ethernet driver with unrecognized nic function in 5g massive network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102476672B1 true KR102476672B1 (en) | 2022-12-12 |
Family
ID=84391659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220073438A KR102476672B1 (en) | 2022-06-16 | 2022-06-16 | Network address mutation method performed by ethernet driver with unrecognized nic function in 5g massive network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102476672B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101174304B1 (en) * | 2011-12-16 | 2012-08-16 | (주)넷맨 | Method for block and defense arp spoofing |
KR101896453B1 (en) * | 2018-04-06 | 2018-09-07 | 주식회사 넷앤드 | A gateway-based access control system for improving security and reducing constraint of remote access application |
KR20200002599A (en) * | 2018-06-29 | 2020-01-08 | 한국전자통신연구원 | Server apparatus, client apparatus and method for communicating based on network address mutation |
-
2022
- 2022-06-16 KR KR1020220073438A patent/KR102476672B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101174304B1 (en) * | 2011-12-16 | 2012-08-16 | (주)넷맨 | Method for block and defense arp spoofing |
KR101896453B1 (en) * | 2018-04-06 | 2018-09-07 | 주식회사 넷앤드 | A gateway-based access control system for improving security and reducing constraint of remote access application |
KR20200002599A (en) * | 2018-06-29 | 2020-01-08 | 한국전자통신연구원 | Server apparatus, client apparatus and method for communicating based on network address mutation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bruschi et al. | S-ARP: a secure address resolution protocol | |
US7058718B2 (en) | Blended SYN cookies | |
EP1714434B1 (en) | Addressing method and apparatus for establishing host identity protocol (hip) connections between legacy and hip nodes | |
EP1547344B1 (en) | Server, device, and communication system connected to the internet | |
CN101420423A (en) | Network system | |
JP2001313679A (en) | Local area network correspondence network address conversion gate way using local ip address and conversion impossible port address | |
CN101005355B (en) | Secure communication system and method of IPV4/IPV6 integrated network system | |
JP2004519117A (en) | Providing secure network access for short-range wireless computing devices | |
US9356952B2 (en) | Packet redirection in a communication network | |
JP4468453B2 (en) | Optimized round trip confirmation | |
CN112332901B (en) | Heaven and earth integrated mobile access authentication method and device | |
US20050135359A1 (en) | System and method for IPSEC-compliant network address port translation | |
JP3587633B2 (en) | Network communication method and apparatus | |
KR102136082B1 (en) | Server apparatus, client apparatus and method for communicating based on network address mutation | |
KR102476672B1 (en) | Network address mutation method performed by ethernet driver with unrecognized nic function in 5g massive network | |
Arkko et al. | Enhancing privacy with shared pseudo random sequences | |
KR102488501B1 (en) | Network address mutation method performed by ethernet driver of broadband router with unrecognized nic | |
US11171915B2 (en) | Server apparatus, client apparatus and method for communication based on network address mutation | |
KR20150060050A (en) | Network device and method of forming tunnel of network device | |
CN115426116B (en) | Dynamic key-based encrypted hash hopping method | |
JP2018157513A (en) | Communication control device, communication control system, communication control method, and communication control program | |
Cardwell | Interpreting Network Protocols | |
Sarma | Securing IPv6’s neighbour and router discovery using locally authentication process | |
Rafiee et al. | Challenges and Solutions for DNS Security in IPv6 | |
WO2023199189A1 (en) | Methods and systems for implementing secure communication channels between systems over a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |