WO2013172743A1 - Способ защищенного взаимодействия устройства клиента с сервером по сети интернет - Google Patents

Способ защищенного взаимодействия устройства клиента с сервером по сети интернет Download PDF

Info

Publication number
WO2013172743A1
WO2013172743A1 PCT/RU2013/000397 RU2013000397W WO2013172743A1 WO 2013172743 A1 WO2013172743 A1 WO 2013172743A1 RU 2013000397 W RU2013000397 W RU 2013000397W WO 2013172743 A1 WO2013172743 A1 WO 2013172743A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
address
client
addresses
terminal device
Prior art date
Application number
PCT/RU2013/000397
Other languages
English (en)
French (fr)
Inventor
Владимир Владимирович КРЫЛОВ
Дмитрий Максимович ПОНОМАРЕВ
Original Assignee
Krylov Vladimir Vladimirоvich
Ponomarev Dmitrij Maksimovich
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 Krylov Vladimir Vladimirоvich, Ponomarev Dmitrij Maksimovich filed Critical Krylov Vladimir Vladimirоvich
Publication of WO2013172743A1 publication Critical patent/WO2013172743A1/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Definitions

  • the invention relates to telecommunications and computer technology and can be used to organize the operation of public computer networks that provide the interaction of the terminal device from the client and server (client-server model) with increased resistance to network DDoS attacks.
  • a known method of client-server interaction uses a terminal device acting as a client 1, which is connected to the Internet 5 through a router 2.
  • server 3 is connected to the Internet 5 through a router 4.
  • An Internet domain name server (DNS) available on the Internet is also an integral part of the network for interaction between the terminal and the server, indicated by block 6, and with the system of servers 7 for providing secure connections (SSL), performing the functions of authorizing the client terminal and transmitting to it a key for connecting to the server.
  • DNS Internet domain name server
  • the functioning of the known secure client-server system is determined by the following main processes.
  • the terminal device 1 sends through its router 2 and then through the Internet 5 a sequence of IP packets addressed to the DNS server 6 defining a request for obtaining the IP address of the server 3.
  • DNS server 6 generates a sequence of IP packets to the address of the terminal device 1 containing information about the IP address server 3. This sequence of packets is delivered to terminal 1 via the Internet 5 and end router 2, to the output port of which terminal device 1 is connected.
  • Terminal device 1, having received the IP address server 3 sends to its address a sequence of IP packets defining a request for identification data in the form of a standardized certificate.
  • Server 3 sends device 1 a copy of the certificate containing the signature of the certification authority for verification certificate validity.
  • Terminal device 1 having received a copy of the certificate by the signature of the certifying center, determines the IP address of the server of the certifying center 7, and sends a sequence of packets determining the request for trust to the certificate received from server 3 to this address.
  • Server 7 sends a sequence of trust confirmation packets to a terminal device 1, which, having received a confirmation of trust from server 7, sends a sequence of packets to server 3 to establish a connection.
  • Server 3 sends to terminal device 1 a sequence of confirmation packets for the beginning of a secure session containing the electronic signature of server 3.
  • Terminal device 1 using a secret key, encrypts its data and transmits them as a sequence of packets to server 3.
  • server 3 encrypts its data with secret key before transmitting the sequence of packets to the terminal device 1.
  • server congestion 3 To combat server congestion, it is necessary to increase the performance of its hardware or organize the parallel operation of several sets of equipment with the same IP address.
  • the server overload phenomenon is used by cybercriminals on the Internet to disable selected servers. This method of disabling the server is called an attack on the server type of "denial of service" - DoS (DoS - Denial of Service).
  • DoS DoS - Denial of Service
  • the attack is called a "distributed attack” - DDoS (Distributed Denial of Service).
  • DDoS Distributed Denial of Service
  • the fight against DDoS attacks is a complex, difficult task. Whatever level of server performance is achieved, starting with a certain number of bots, the stream of requests created by them can exceed the allowable level for any server.
  • the process of the system includes the following main steps. First, the client terminal device sends the first request for access to the server resource. The server creates a request for proof of work, which is transmitted to the client. Next, this request is processed to generate a new URL (the text address of the request), the second request is sent to the generated URL, and the server generates a value based on the accuracy of the match of the received response and the request for proof of work.
  • the server creates a request for proof of work, which is transmitted to the client.
  • this request is processed to generate a new URL (the text address of the request)
  • the second request is sent to the generated URL
  • the server generates a value based on the accuracy of the match of the received response and the request for proof of work.
  • the priority level is assigned to the second client request, and the request is processed by the server.
  • the proposed solution is based on the use of a verification filter on the server side that controls the setting of priority for client requests depending on the level of load on the server by the time the request is received from the new client terminal device.
  • U.S. Patent Application No. 20100235632 "PROTECTING AGAINST DENIAL OF SERVICE ATTACKS USING TRUST, QUALITY OF SERVICE, PERSONALIZATION, AND HIDE PORT MESSAGE)) proposes the following solution.
  • the client terminal device gets access to the server only after receiving an assessment of the level of trust in this client using the additionally installed server for creating and updating cryptographically protected tokens.
  • the essence of the solution proposed in this patent consists in introducing access to the server using a firewall that checks the access level of each client using the procedure for transmitting a special JavaScript program script to the client, the execution of which generates a response to the server for deciding whether the client will be allowed to exchange data with server.
  • the process of executing the loaded JavaScript script depends on the client receiving confirmation of his level of trust from some external entity described in the patent, which identifies the client and gives him the current key for processing the above request from the server to execute the script.
  • these technical solutions also implement protection against DDoS attacks at the application protocol level and do not affect the level of transmission of IP packets.
  • US Patent Application 20110283367 SECURING A COMMUNICATION PROTOCOL AGAINST ATTACKS proposes to use the separation of the transmitted data stream between two systems connected via a packet network into two consecutive segments within the TCP protocol and comparing the keys of the current and subsequent segments in order to detect the presence of a “foreign” segment "Attacking source. When segments that do not belong to a legal source are detected, data reception is blocked, preventing the threat of attack.
  • the objective of the invention is to create a method and system for the interaction of the terminal device of the client and the data server via the Internet, providing increased resistance to network attacks (DDoS).
  • DDoS network attacks
  • the technical result consists in a significant reduction in the impact on the performance of the server packages arriving at the server from attacking bots.
  • the problem is solved in that, in the method of interaction of the client terminal device with the server via the Internet, including the formation of a request from the client terminal device via the Internet to obtain the server IP address, check the server certificate and client certificate and establish a secure connection with subsequent transmission of data packets , according to the invention, before establishing a secure connection, one or more tables of IP addresses are formed in the form of binary codes m choosing a pseudo-random sequence of IP addresses from the pool of free IP addresses allocated to the server, and transferring at least one generated table to the client terminal device after establishing a secure connection to the server, and transferring one or more data packets between the client terminal device and the server changing the IP address of the server, which is selected from the table of IP addresses.
  • a sequence is used in accordance with which the data is first transferred from the client to the server, and in the first packet sent by the client, the server initial address is replaced with the first address from the received table and transferring the data packet to the server, on the router of which, upon receipt of the packet from the client, the destination address is compared with the first address from the table and, if the addresses match, replacing the destination address to the real address of the server, and then receives and processes the packet server; then initiate the sending of a data packet from the server to the client, where the sender address indicates the true address of the server that arrives at the server router, in which the true sender address is replaced with the first address from the table, followed by the transfer of the packet to the client router, where the sender address is replaced to the server’s initial address; when sending the second and subsequent packets from the client to the server, the server initial address is replaced from the received table with the second and subsequent addresses, respectively, and the
  • the formation of one or more tables of IP addresses is carried out when loading the server from the address pool.
  • a time stamp is used.
  • Tables can be generated using a random number generator by randomly selecting IP addresses from the range of IP addresses allocated to the server, for example, using the Rand () function, and the table contains at least two IP addresses.
  • the selection of the working table is carried out depending on the corresponding specific parameter, for example, a given period of time, or a range of client addresses, or, another parameter.
  • a table code can be generated, for example, in the form of a set of binary numbers defining the shift of the IP address from the initial one, while the generated table is transferred from the data server to the client by sending the code to the authorized client via a secure connection that provides table generation on the client terminal device.
  • the formation of the table can be carried out at certain intervals or for each session. Changing the IP address of the data server to the IP address from the table can be done in time, while synchronization the client terminal device and the data server are implemented using a single time server.
  • the system for interaction of the client terminal device with the server via the Internet including at least one client terminal device, data server, domain name server, secure connection server, two routers, while the provision server a secure connection is configured to authorize the client terminal device and transmit to it a key for connecting to the data server, and the client terminal device is configured to connecting to the Internet via the first router, the data server is configured to connect to the Internet via the second router, according to the invention, is equipped with a unit that enables the formation of one or more tables of IP addresses in the form of binary codes by selecting a pseudo-random sequence of IP addresses from the free pool IP addresses allocated to the server, and changing the IP address according to the table assigned for each of the connections with an authorized client terminal device.
  • the block that provides the ability to change the server’s IP address contains an IP packet address control unit included between the first router and the client terminal device, an address multiplexer unit included in the connection between the second router and the data server and a separate control input connected to the additional addressable input of the router, and also a single time server configured to connect to the Internet.
  • the address management unit may include a terminal network interface unit connected to an external network interface via a key request generation unit and an IP address replacement unit in IP packets, as well as a confirmation reception unit connected via an address change sequence setting unit to an IP address replacement unit in IP packets .
  • the address multiplexer unit may include an external network interface connected to the server network interface through the routing unit and the address replacement unit, a control network interface connected to the routing unit and the IP address replacement unit through the IP address sequence storage unit and the current address setting unit, as well as a control unit connected to the control network interface and the storage unit sequence of IP addresses.
  • the server IP address is selected from the address pool configured for this server and is changed according to a special schedule in accordance with one of the pseudorandom sequences assigned for each connection with an authorized client, or assigned for a given period of time, or a combination of these two methods.
  • the server’s IP address is changed randomly according to an algorithm that allows the use of the entire pool of addresses allocated to the server, while encoded (in the form of keys) pseudorandom sequences of server IP addresses are transmitted to authorized clients. IP addresses from these sequences are used to communicate a client with a server at certain time intervals, and / or communication sessions.
  • FIG. 1 shows a system that provides one of the standard client-server interactions
  • figure 2 - presents a system that implements the interaction of the client-server according to the claimed method
  • FIG. 3 and 4 show an example implementation of blocks 8 and 9 of the system of FIG. 2
  • FIG. Figure 5 shows the address translation process along the path from client 1 to server 3 and vice versa
  • figure 6 is an algorithm for the interaction of system blocks
  • 7 is a diagram of the operation of the block of the address multiplexer when replacing the address of the arriving IP packet with the real server address.
  • the positions in the drawings indicate: 1 - terminal client device (client), 2 - router (or router) installed on the client side, 3 - server (or data server), 4 - router (or router) installed on the server side, 5 - the Internet, 6 - a system of domain name servers, for example, DNS, 7 - a server system for providing a secure connection, for example, SSL, 8 - an IP packet address control unit installed on the client side, 9 - an address multiplexer unit installed on the server side , 10 - server of uniform time.
  • the inventive method can be implemented using the system shown in figure 2, which contains standard units: the terminal device of the client 1, routers 2 and 4, installed on the client and server side, respectively, server 3, the Internet 5, the domain name server system 6, a server system for providing a secure connection 7, as well as new units: an IP packet address control unit 8, an address multiplexer unit 9, and a single time server 10.
  • Unit 8 is included in the disconnection of the terminal device of client 1 — router 2.
  • Lok 9 included in the gap compound router 4 - server 3 and a separate control input connected to an additional input of the addressed server router.
  • the system operation is based on the principle of mandatory authorization of client terminal devices and establishing a secure connection between the client terminal device and the server, which can be implemented according to the algorithm presented in the description of the analogue operation (Fig. 1). In accordance with this algorithm, customers must register and receive a digital signature (centralized certificate).
  • a distinctive feature of the operation of the claimed system is the presence of the operation of generating a table of IP addresses, which is carried out by block 9, which can be part of server 3, by selecting server 3 IP addresses from its pool of addresses.
  • the table of IP addresses is formed from a subset of IP addresses allocated by the server network or the provider's network. For server addressing, not one IP address is used, but a set of IP addresses from the table. In this case, the server IP address is changed according to a special schedule in accordance with one of the pseudo-random sequences assigned for each connection with an authorized client or in time. The formation of a table of IP addresses is carried out before the start of a secure connection, for example, at the time of loading of server 3.
  • the minimum size of the table must include at least two IP addresses, the maximum - limited by the size of the range of available addresses and the amount of memory allocated for storing the table at the client and on the server. At the same time, resistance to attacks will be proportional to the length of the table.
  • the formation of the table can be carried out, for example, in two stages. At the first stage, a number is assigned to each available free address from the address pool, at the second - using the random number generator (for example, using the random number generator function that is present in the standard environment), a number is determined by which the IP address is selected from the existing address pool.
  • the process of forming the table can be associated, for example, with parameters such as time - days of the week, time of day, etc., or other parameters, for example, be formed for each request or session.
  • the table After the stage of forming the table is completed, it is encoded in the form of a key, followed by transmission of this key to the client terminal device. Using this key, a table equivalent to the table that is stored in block 9 is generated on the client terminal device side.
  • the client terminal device receives the server’s initial address and table key, the client restores the server’s IP address table.
  • the key can be implemented as a sequence of numbers, each of which represents a shift of the subsequent IP address from the initial one.
  • the initial address is the IP address under which this server is known to the external system, and which the DNS server reports.
  • the time synchronization of the terminal device of the client and server is performed.
  • a time stamp (time stamp) is recorded in each IP packet to take into account the time shift during the passage of the packet through the network, by which this packet is checked for compliance with its address that was current at the time the packet was transmitted.
  • the sender of the packet for example, the client, takes the address from the table, receives information from the server of the single time, adding it as a time stamp to the sent packet.
  • the packet receiver for example, the server, analyzes the time and IP address in the received packet, as well as the time and IP address in the server address table.
  • the packet is transmitted for further processing by the server.
  • Each packet can be transmitted with a new IP address.
  • several different tables of IP addresses in the form of pseudo-random sequences can be built. At one point in time, different clients can work on different tables. Tables can be different for different time intervals (by day or by hour). Tables are generated on the server, for example, at boot time, providing a double level of protection. When the server is operating, first one of the tables is selected, then the address is selected from the selected table, which ensures greater system resistance to DDoS attacks.
  • an authorized client uses a single IP address (the initial server address) for connection, which is the only one in the tunnel. And in the case of network attacks on a given address, packets sent by the client to this address cannot be processed, i.e. denial of service occurs.
  • the inventive method significantly increases the resistance to DDoS attacks by introducing the original operation of forming a table of IP addresses and using changing addresses from this table when transmitting data packets after establishing a secure connection.
  • router 2 itself can act as a client terminal device
  • block 8 can be built into router 2 from the client side
  • block 9 to router 4 from the server side.
  • the operation algorithms of blocks 8 and 9 can be implemented in hardware and / or software.
  • the internal device of the IP address block of the packet control unit 8 includes a terminal network interface unit 11 and an external network interface 12, an IP address replacement unit in IP packets 13, a key request generation unit 16, an address change sequence setting unit 15, and confirmation receiving unit 14 (Fig. 3).
  • Block 9 has an internal composition, also including network interfaces 17 - an external network interface, 18 - a server network interface and
  • the IP address replacement unit 23 is connected to the current address setting unit 21 and the routing unit 22.
  • the storage unit the sequence of IP addresses 20, the output of which is connected to block 21, is controlled by commands from the control unit 24 and can change its contents from the network via the control network interface 19.
  • the control unit 24 also interacts with external devices through block 19 (Fig. 4).
  • An important feature of the proposed solution is the use of a security mechanism at the network level of protocols - i.e. lower than known methods.
  • the server address is changed according to a schedule (algorithm) known only to the authorized client.
  • the client during the data exchange session with the server changes according to this algorithm the server IP address on its side. Bots do not have reliable information about the schedule for changing the server IP address, cannot form a packet stream to the server address, and therefore, a significant load that disrupts its normal functioning.
  • the authorized client and server use a consistent and / or synchronous change of the server IP address, thereby ensuring a continuous process of information transfer, and only the authorized client knows about the schedule for changing the server IP address, for other unauthorized users this schedule is unknown.
  • Server 3 using block 9 forms one or more tables of IP addresses from the pool (range) of free addresses allocated to the server by the provider.
  • the table of IP addresses is formed by constructing a pseudo-random sequence from them — that is, a sequence when the addresses in the table are not presented sequentially from the used address pool, and free addresses from the pool are selected in a pseudo-random way.
  • IP address tables can be generated for use at different time intervals, and / or for different sessions and / or for different clients.
  • the server After creating the tables, the server prepares the appropriate keys for transmitting the table to the client for switching IP addresses (for example, as a sequence of binary numbers that represent the value of the shift of the address relative to the initial one) for further transmission to authorized clients (and decryption on the client side) via secure SSL compound.
  • Client 1 generates a request for receiving the address of server 3 in the form of transmitting a sequence of packets through block 8 and router 2 to the Internet 5 to the server of DNS 6.
  • Server 6 processes the request using the available data on the correspondence of the name of the requested server to its IP addresses.
  • the server’s IP address is the address recorded in the standard DNS record by the server owner.
  • the address returned by the DNS system is not the real address of server 3, but belongs to block 9 — the address multiplexer. This address is called the initial address of server 3.
  • the client Having received the IP address from the DNS system, the client generates a request to establish a connection with server 3 at the initial IP address received by him.
  • This request in the form of a sequence of IP packets, is transmitted through network 5 and router 4 to the address multiplexer block 9.
  • the request is sent to routing block 22, where a response to the client is generated containing the requirement to switch to the advanced secure SSL protocol and server security certificate.
  • This response is transmitted by a sequence of packets through 17 to network 5 and then to client 1 through router 2 and address management unit 8.
  • Client 1 having received this requirement, generates its own security certificate that is certified on the secure connection server 7 and sends an encrypted request to server 3.
  • An encrypted connection request via the extended secure protocol via network 5, router 4 enters block 9 to routing block 22.
  • Block 22 calculates the correctness of the request. If it is incorrect, the request is ignored and the process ends.
  • block 22 If correct, block 22 generates a signal to the control unit 24, which generates a request for receiving data from a single time stamp and sends it as a sequence of packets through a network interface 19 to a server with a single time 10.
  • the server of a single time having received a request for a single time stamp, returns data about the current time, which in the form of a sequence of packets arrive through the router 4 and the network interface 19 inside the block 9 to the control block 24.
  • time data is used together with the signal correctness at block 22 to produce a signal to select the sequence unit 20 IP address for the server 3 and assigning it the current address.
  • the IP address sequences of server 3 are stored as address tables in the memory of block 20.
  • Sequence selection It is determined by the data of the single time stamp and the generated encrypted key, calculated by the server certificate.
  • the server sends prepared IP address table keys in response via block 22 and network interface 19, sends a response via an extended secure protocol to client 1 and control unit 8 in the form of a sequence of IP packets through network interface 17 and router 4 to network 5 and then to router 2 and through block 8.
  • Block 8 receiving a response from 9, generates a request to server 10 to obtain data about a single time stamp. Having received a response from the server of the system of single time 10 through the network interface 12, block 8 performs the following actions.
  • the received response from block 9 and the data from the server 10 in the form of a sequence of packets pass through the network interface 12 to the control unit 14, in which the signal for setting the current request address to the server 3 is generated.
  • the signal is sent to block 13, which stores the decrypted from the received key from server table of IP addresses of the sequence of address changes.
  • a single time stamp is used that defines the address in this table.
  • a timestamp is written to each IP packet.
  • this timestamp is analyzed and a decision is made whether the received packet was relevant at the time of transmission, i.e. whether the IP address in the received packet corresponds to the IP address from the table at the point in time specified in the packet.
  • Client 1 sends the next request to server 3 using the server’s initial address.
  • the request passes through block 8 in the form of a sequence of IP packets and in each of them block 14 changes the IP address to another, determined by block 13 from the IP address table.
  • the client can use individual packets or groups of IP packets.
  • the initiative to navigate the table always belongs to the client - if the client does not send requests, the table is not scanned, addresses are not selected.
  • Packets go through the network interface 12 to router 2 and then to network 5. All addresses in the IP address sequence of server 3 belong to the address space of router 4 and therefore all packets directed to these addresses go through router 4 to block 9.
  • block 22 transfers it to block 23, in which the address in the IP packet is checked for coincidence with the current server address at a point in time defined by a single time stamp. If these addresses match, then in the packet replaces the IP address with the real IP address of server 3 and the packet enters the input of server 3 through the network interface 18.
  • the server protocol stack works as usual in accordance with the standard set of protocols.
  • Client 1 also works through the standard protocol stack during packet exchange.
  • the recipient's IP address is replaced with an address that is taken from the IP address table and the time stamp on the transmitted packet.
  • Such packets are transmitted through the network in accordance with the routing rules and are collected on router 4, which owns the entire address grid from the sequence used, then go to block 9, which analyzes (compares) the addresses in the received packets and replaces the address with the real server address on packets that contain the correct address that matches the current address for a specific timestamp.
  • Such packets form a stream of packets directed to server 3 and processed by its stack according to conventional algorithms.
  • FIG. 5 illustrates the process of translating addresses along the path from client 1 to server 3 and vice versa.
  • the terms “Series 1” and “Series 2” indicate two alternative tables of server IP addresses stored in blocks 13 and 20 and used depending on the contents of the received key, as (l), s (k) and s (n) are designated IP addresses that are used in received and transmitted packets.
  • FIG. 6 shows a diagram of the interaction of system blocks.
  • FIG. 7 discloses in more detail the functionality of the blocks 20, 21, 23 when replacing the address of the arriving IP packet with the real server address.
  • One of the options for filling the address table is to fill it with a pseudo-random sequence, i.e. so that at the addresses previously observed it was most difficult to predict the subsequent value of the address.
  • NAT Network Address Translation
  • This invention proposes the use of the following techniques: changing the server IP address according to a special schedule in accordance with one of the pseudorandom sequences assigned for each connection with an authorized (certified) client, converting IP addresses on the fly (NAT technology), encryption with public key (SSL technology).
  • NAT technology IP addresses on the fly
  • SSL technology encryption with public key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Изобретение относится к телекоммуникации и вычислительной технике и может быть использовано для организации работы публичных компьютерных сетей, обеспечивающих взаимодействие терминального устройства со стороны клиента и сервера (модель клиент-сервер) с повышенной устойчивостью к сетевым атакам DDoS. Способ и система взаимодействия терминального устройства клиента с сервером по сети Интернет включает формирование запроса от терминального устройства клиента через сеть Интернет на получение IP адреса сервера, проверку сертификата сервера и сертификата клиента и установление безопасного соединения с последующей передачей пакетов данных. Перед установлением безопасного соединения осуществляют формирование одной или нескольких таблиц IP адресов в виде двоичных кодов посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу. Передачу, по крайней мере, одной сформированной таблицы терминальному устройству клиента осуществляют после установления безопасного соединения с сервером, а передачу одного или нескольких пакетов данных между терминальным устройством клиента и сервером осуществляют с изменением IP адреса сервера, который выбирают из таблицы IP адресов.

Description

СПОСОБ ЗАЩИЩЕННОГО ВЗАИМОДЕЙСТВИЯ УСТРОЙСТВА КЛИЕНТА С СЕРВЕРОМ ПО СЕТИ ИНТЕРНЕТ
1. Область техники
Изобретение относится к телекоммуникации и вычислительной технике и может быть использовано для организации работы публичных компьютерных сетей, обеспечивающих взаимодействие терминального устройства со стороны клиента и сервера (модель клиент-сервер) с повышенной устойчивостью к сетевым атакам DDoS.
2. Предшествующий уровень техники
Известный способ взаимодействия клиент-сервер (В.Г. Олифер, Н.А. Олифер, Компьютерные сети. Принципы, технологии, протоколы. 4-е издание, 2010), схема реализации которого представлена на фиг.1, использует терминальное устройство, выступающее в качестве клиента 1, которое подключено к сети Интернет 5 через маршрутизатор 2. В свою очередь сервер 3 подключен к сети Интернет 5 через маршрутизатор 4. Неотъемлемой частью сети для взаимодействия терминала и сервера является также доступный в сети интернет сервер доменных имен (DNS), обозначенный блоком 6, и система серверов 7 обеспечения безопасного соединения (SSL), выполняющих функции авторизации клиентского терминала и передачи ему ключа для соединения с сервером.
Функционирование известной защищенной системы клиент-сервер определяется следующими основными процессами. Терминальное устройство 1 направляет через свой маршрутизатор 2 и далее через сеть Интернет 5 последовательность IP пакетов, адресованных серверу DNS 6, определяющих запрос на получение IP адреса сервера 3. DNS сервер 6 формирует последовательность IP пакетов в адрес терминального устройства 1, содержащих информацию об IP адресе сервера 3. Эта последовательность пакетов доставляется терминалу 1 через сеть Интернет 5 и конечный маршрутизатор 2, к выходному порту которого подключено терминальное устройство 1. Терминальное устройство 1, получив IP адрес сервера 3, направляет в его адрес последовательность IP пакетов, определяющих запрос на получение идентификационных данных в форме стандартизованного сертификата. Сервер 3 отправляет устройству 1 копию сертификата, содержащего подпись удостоверяющего центра для проверки правильности сертификата. Терминальное устройство 1, получив копию сертификата по подписи удостоверяющего центра, определяет IP адрес сервера удостоверяющего центра 7, и направляет в этот адрес последовательность пакетов, определяющих запрос на доверие полученному от сервера 3 сертификату. Сервер 7 отправляет последовательность пакетов подтверждения доверия сертификату терминальному устройству 1, которое, получив подтверждение доверия от сервера 7, посылает серверу 3 последовательность пакетов на установление соединения. Сервер 3 отправляет терминальному устройству 1 последовательность пакетов подтверждения начала защищенной сессии, содержащих электронную подпись сервера 3. Терминальное устройство 1, используя секретный ключ, шифрует свои данные и передает их в виде последовательности пакетов серверу 3. В свою очередь, сервер 3 шифрует свои данные своим секретным ключом перед передачей последовательности пакетов терминальному устройству 1. Так осуществляется безопасный обмен данными между терминальным устройством 1 и сервером 3, подключенными к сети Интернет.
Однако описанное функционирование системы клиент-сервер становится невозможным, если число терминальных устройств 1, посылающих последовательность пакетов на IP адрес сервера 3, становится настолько большим, что сервер 3 не успевает установить со всеми терминальными устройствами соединение для обмена данными. Это явление называется перегрузкой сервера 3. Для борьбы с перегрузкой сервера необходимо повышать производительность его аппаратуры или организовывать параллельную работу нескольких комплектов аппаратуры с одним и тем же IP адресом. Явление перегрузки сервера используется злоумышленниками в сети Интернет для выведения из строя избранных серверов. Такой способ выведения сервера из строя называется атакой на сервер типа «отказ в обслуживании» - DoS (DoS - Denial of Service). Обычно для увеличения потока запросов на сервер используют не один терминал, а большое число одновременно посылающих запросы терминалов. В этом случае атаку называют «распределенной атакой» - DDoS (Distributed Denial of Service). Поскольку увеличение потока запросов создается увеличением числа терминалов, называемых при использовании для атаки «ботами», то борьба с DDoS атаками представляет сложную, трудноразрешимую задачу. Какой бы уровень производительности сервера не был достигнут, начиная с некоторого числа ботов, создаваемый ими поток запросов может превысить допустимый уровень для любого сервера. Из уровня техники известны технические решения для решения задачи защиты сервера от DDoS атак.
Так, в заявке на патент США JV° 20100031315 «SYSTEMS AND METHODS FOR PROTECTING AGAINST DENIAL OF SERVICE ATTACKS)) представлено решение на уровне приложений. Согласно описанию изобретения, процесс работы системы включает следующие основные этапы. Сначала терминальное устройство клиента направляет первый запрос на доступ к серверному ресурсу. Сервером создается запрос доказательства работы, который передается клиенту. Далее этот запрос обрабатывается для выработки нового URL (текстового адреса запроса), направляется второй запрос по выработанному URL, при этом сервер вырабатывает значение, основанное на точности совпадения полученного ответа и сделанного запроса доказательства работы. При попадании выработанного значения в заданные пороговые значения нагрузки на сервер, присваивается уровень приоритета второму запросу клиента, и запрос обрабатывается сервером. Таким образом, предлагаемое решение основано на применении на стороне сервера верификационного фильтра, управляющего установкой приоритета для клиентских запросов в зависимости от уровня нагрузки на сервер к моменту получения запроса от нового терминального устройства клиента.
В заявке на патент США Л°20100235632 «PROTECTING AGAINST DENIAL OF SERVICE ATTACKS USING TRUST, QUALITY OF SERVICE, PERSONALIZATION, AND HIDE PORT MESSAGE)) предложено следующее решение. Терминальное устройство клиента получает доступ к серверу только после получения оценки уровня доверия данному клиенту с помощью дополнительно установленного сервера создания и обновления криптографически защищенных токенов. Таким образом, сущность предлагаемого в этом патенте решения состоит во введении доступа к серверу с помощью защитного экрана, проверяющего уровень доступа каждого клиента с помощью процедуры передачи клиенту специального программного скрипта JavaScript, выполнение которого порождает ответ серверу для принятия решения о допуске клиента к обмену данными с сервером. Сам процесс выполнения загруженного скрипта JavaScript зависит при этом от получения клиентом подтверждения своего уровня доверия от некоторой внешней сущности, описанной в патенте, которая идентифицирует клиента и выдает ему текущий ключ для обработки упомянутого выше запроса от сервера на выполнение скрипта. Однако данные технические решения также реализует защиту от DDoS атак на уровне прикладного протокола и не затрагивают уровень передачи IP пакетов.
В заявке на патент США 20110283367 «SECURING A COMMUNICATION PROTOCOL AGAINST ATTACKS» предложено использовать разделение потока передаваемых данных между двумя системами, соединенными через пакетную сеть на два последовательных сегмента в рамках TCP протокола и сравнение ключей текущего и последующего сегментов с целью детектирования наличия сегмента «чужого» атакующего источника. При обнаружении сегментов, не принадлежащих легальному источнику, прием данных блокируется, предотвращая угрозу атаки.
Известные решения применяют дополнительные средства, позволяющие отличать пакеты атакующих ботов от пакетов, идущих от клиентов на уровне приложений, и не обеспечивают устойчивость системы по отношению к атакам на IP адрес сервера «грубой силы» (т.е. с большой интенсивностью).
3. Раскрытие изобретения
Задачей изобретения является создание способа и системы взаимодействия терминального устройства клиента и сервера данных через сеть Интернет, обеспечивающих повышенную устойчивость к сетевым атакам (DDoS).
Технический результат заключается в существенном уменьшении влияния на работоспособность сервера пакетов, поступающих на сервер от атакующих ботов.
Поставленная задача решается тем, что, в способе взаимодействия терминального устройства клиента с сервером по сети Интернет, включающем формирование запроса от терминального устройства клиента через сеть Интернет на получение IP адреса сервера, проверку сертификата сервера и сертификата клиента и установление безопасного соединения с последующей передачей пакетов данных, согласно изобретению, перед установлением безопасного соединения осуществляют формирование одной или нескольких таблиц IP адресов в виде двоичных кодов посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и передачей, по крайней мере, одной сформированной таблицы терминальному устройству клиента после установления безопасного соединения с сервером, а передачу одного или нескольких пакетов данных между терминальным устройством клиента и сервером осуществляют с изменением IP адреса сервера, который выбирают из таблицы IP адресов. Для передачи пакета данных между терминальным устройством клиента и сервером с изменением IP адреса сервера используют последовательность, в соответствии с которой сначала инициируют передачу данных от клиента серверу, при этом в первом пакете, отправляемом клиентом, производят замену инициального адреса сервера на первый адрес из полученной таблицы и передачу пакета данных серверу, на роутере которого при получении пакета от клиента производят сравнение адреса назначения с первым адресом из таблицы и при совпадении адресов производят замену адреса назначения на истинный адрес сервера, после чего осуществляет прием и обработку пакета сервером; затем инициируют отправку пакета данных от сервера клиенту, где в адресе отправителя указывают истинный адрес сервера, который поступает в роутер сервера, в котором осуществляют замену истинного адреса отправителя на первый адрес из таблицы, с последующей передачей пакета на роутер клиента, где осуществляют замену адреса отправителя на инициальный адрес сервера; при отправке второго и последующих пакетов от клиента серверу производят замену инициального адреса сервера из полученной таблицы на второй и последующий адреса, соответственно, и передачу пакета данных серверу аналогично передаче первого пакета. Формирование одной или нескольких таблиц IP адресов осуществляют при загрузке сервера из пула адресов. При проверке совпадения адресов используют штамп времени. Таблицы могут быть сформированы с использованием генератора случайных чисел путем случайной выборки IP адресов из диапазона IP адресов, выделенных для сервера, например, с помощью функции Rand(), при этом таблица содержит не менее двух IP адресов. При формировании нескольких таблиц выбор рабочей таблицы осуществляют в зависимости от соответствующего ей определенного параметра, например, заданного промежутка времени, или диапазона адресов клиента, или, иного параметра. Для передачи таблицы IP адресов терминальному устройству клиента может формироваться код таблицы, например, в виде набора двоичных чисел, определяющих сдвиг IP адреса от инициального, при этом передачу сформированной таблицы от сервера данных клиенту осуществляют посредством пересылки авторизованному клиенту по безопасному соединению кода, обеспечивающего генерацию таблицы на терминальном устройстве клиента. Формирование таблицы может осуществляться через определенные промежутки времени или на каждую сессию. Изменение IP адреса сервера данных на IP адрес из таблицы может осуществляться по времени, при этом синхронизацию терминального устройства клиента и сервера данных осуществляют с помощью сервера единого времени.
Поставленная задача решается также тем, что, система для взаимодействия терминального устройства клиента с сервером по сети Интернет, включающая, по крайней мере, одно терминальное устройство клиента, сервер данных, сервер доменных имен, сервер обеспечения безопасного соединения, два маршрутизатора, при этом сервер обеспечения безопасного соединения выполнен с возможностью авторизации терминального устройства клиента и передачи ему ключа для соединения с сервером данных, а терминальное устройство клиента, выполнено с возможностью подключения к сети Интернет через первый маршрутизатор, сервер данных выполнен с возможностью подключения к сети Интернет через второй маршрутизатор, согласно изобретению, снабжена блоком, обеспечивающим возможность формирования одной или нескольких таблиц IP адресов в виде двоичных кодов, посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и смены IP адреса по таблице, назначаемой для каждого из соединений с авторизованным терминальным устройством клиента.
Блок, обеспечивающий реализацию возможности смены IP адреса сервера, содержит блок управления адресом IP пакетов, включенный между первым маршрутизатором и терминальным устройством клиента, блок адресного мультиплексора, включенный в между вторым маршрутизатором и сервером данных и отдельным управляющим входом подключенным к дополнительному адресуемому входу маршрутизатора, а также сервер единого времени, выполненный с возможностью подключения к сети Интернет. Блок управления адресом может включать блок терминального сетевого интерфейса соединенного с внешним сетевым интерфейсом через блок формирования запроса на получение ключа и блок замены IP адреса в IP пакетах, а также блок приема подтверждения соединенный через блок задания последовательности изменения адреса с блоком замены IP адреса в IP пакетах. Блок адресного мультиплексора может включать внешний сетевой интерфейс соединенный с серверным сетевым интерфейсом через блок маршрутизации и блок замены адреса, управляющий сетевой интерфейс, соединенный с блоком маршрутизации и с блоком замены IP адреса через блок хранения последовательности IP адресов и блок задания текущего адреса, а также управляющий блок, соединенный с управляющим сетевым интерфейсом и блоком хранения последовательности IP адресов.
Сущность изобретения заключается в том, что с целью защиты от DDoS атак, IP адрес сервера выбирается из вьщеленного для данного сервера пула адресов, и изменяется по специальному расписанию в соответствии с одной из псевдослучайных последовательностей, назначаемой для каждого из соединений с авторизованным клиентом, или назначаемой для заданного промежутка времени, или сочетание этих двух способов. IP адрес сервера меняется случайным образом по алгоритму, который позволяет использовать весь выделенный для сервера пул адресов, при этом авторизованным клиентам передаются для использования закодированные (в виде ключей) псевдослучайные последовательности IP адресов сервера. IP адреса из данных последовательностей применяются для связи клиента с сервером в определенные временные промежутки, и/или сессии связи.
4. Краткое описание чертежей
Изобретение поясняется чертежами, где на фиг.1 представлена система, обеспечивающая одно из стандартных взаимодействий клиент-сервер; на фиг.2 - представлена система, реализующая взаимодействие клиент-сервер по заявляемому способу; на фиг. 3 и 4 представлен пример реализации блоков 8 и 9 системы фиг.2; на фиг. 5 представлен процесс преобразования адресов по пути от клиента 1 к серверу 3 и обратно; на фиг.6 - алгоритм взаимодействия блоков системы; на фиг.7 - схема работы блока адресного мультиплексора при замене адреса прибывающего IP пакета на реальный адрес сервера.
Позициями на чертежах обозначены: 1 - терминальное уртройство клиента (клиент), 2 - маршрутизатор (или роутер), установленный со стороны клиента , 3 - сервер (или сервер данных), 4 - маршрутизатор (или роутер), установленный со стороны сервера, 5 - сеть Интернет, 6 - система серверов доменных имен, например, DNS, 7 - система серверов обеспечения безопасного соединения, например, SSL, 8 - блок управления адресом IP пакетов, установленный со стороны клиента, 9 - блок адресного мультиплексора, установленный со стороны сервера, 10 - сервер единого времени. Далее перечислены позиции элементов, составляющих блок 8, а именно: 11 - блок терминального сетевого интерфейса, 12 - блок внешнего сетевого интерфейса, 13 - блок замены IP адреса в IP пакетах, 14 - блок формирования запроса на получение ключа, 15 - блок задания последовательности изменения IP адреса , 16 - блок приема подтверждения. Далее перечислены позиции элементов, составляющих блок 9, а именно: 17 - блок внешнего сетевого интерфейса, 18 - блок серверного сетевого интерфейса, 19 - блок управляющего сетевого интерфейса, 20 - блок хранения последовательности IP адресов, 21 - блок задания текущего адреса, 22 - блок маршрутизации, 23 - блок замены IP адреса, 24 - управляющий блок.
5. Лучший вариант осуществления изобретения
Заявляемый способ может быть реализован с помощью системы, представленной на фиг.2, которая содержит стандартные блоки: терминальное устройство клиента 1, роутеры 2 и 4, установленные со стороны клиента и сервера, соответственно, сервер 3 , сеть Интернет 5, систему серверов доменных имен 6, систему серверов обеспечения безопасного соединения 7, а также новые блоки: блок управления адресом IP пакетов 8, блок адресного мультиплексора 9 и сервер единого времени 10. Блок 8 включен в разрыв соединения терминальное устройство клиента 1 — маршрутизатор 2. Блок 9 включен в разрыв соединения маршрутизатор 4 - сервер 3 и отдельным управляющим входом подключен к дополнительному адресуемому входу маршрутизатора сервера.
Работа системы построена на принципе обязательной авторизации терминальных устройств клиентов и установления безопасного соединения терминального устройства клиента с сервером, которое может быть реализовано по алгоритму, представленному при описании работы аналога (фиг.1). В соответствии с данным алгоритмом клиенты должны зарегистрироваться и получить цифровую подпись (централизованный сертификат).
Отличительной особенностью работы заявляемой системы является наличие операции формирования таблицы IP адресов, которую осуществляет блок 9, который может входить в состав сервера 3, посредством выбора сервером 3 IP адресов из принадлежащего ему пула адресов. Таким образом, таблица IP адресов формируется из подмножества IP адресов, выделенного сетью сервера или сетью провайдера. Для адресации сервера используется не один IP адрес, а набор IP адресов из таблицы. При этом IP адрес сервера изменяют по специальному расписанию в соответствии с одной из псевдослучайных последовательностей, назначаемой для каждого из соединений с авторизованным клиентом или по времени. Формирование таблицы IP адресов осуществляют до начала установления безопасного соединения, например, в момент загрузки сервера 3. Минимальный размер таблицы должен включать не менее двух IP адресов, максимальный - ограничен объемом вьщеленного диапазона доступных адресов и объемом памяти, отводимой для хранения таблицы у клиента и на сервере. При этом устойчивость к атакам будет пропорциональна длине таблицы. Формирование таблицы может осуществляться, например, в два этапа. На первом этапе присваивают номер каждому имеющемуся свободному адресу из пула адресов, на втором - с помощью генератора случайных чисел (например, используя функцию генератора случайных чисел, которая присутствует в стандартном окружении) определяют номер, по которому происходит выбор IP адреса из имеющегося пула адресов. Процесс формирования таблицы может быть связан, например, с такими параметрами как время - дни недели, время суток и т.д., или иными параметрами, например, формироваться на каждый запрос или сессию.
После окончания этапа формирования таблицы, осуществляют ее кодирование в виде ключа с последующей передачей данного ключа терминальному устройству клиента. С помощью этого ключа на стороне терминального устройства клиента генерируют таблицу, эквивалентную таблице, которая хранится в блоке 9. Таким образом, при получении терминальным устройством клиента инициального адреса сервера и ключа таблицы, клиент осуществляет восстановление таблицы IP адресов сервера. Ключ может быть реализован в виде последовательность чисел, каждое из которых представляет сдвиг последующего IP адреса от инициального. Инициальным адресом является тот IP адрес, под которым данный сервер известен внешней системе, и который сообщает DNS сервер.
В процессе реализации взаимодействия клиент-сервер осуществляют синхронизацию времени терминального устройства клиента и сервера. Кроме того, в каждый IP пакет записывают метку времени (штамп времени) для учета временного сдвига при прохождении пакета через сеть, по которой проверяют этот пакет на соответствие его адресу, актуальному на момент передачи пакета. Отправитель пакета, например, клиент, берет адрес из таблицы, получает информацию от сервера единого времени, добавляя ее в виде метки времени в отправляемый пакет. А получатель пакета, например, сервер, анализирует время и IP адрес в полученном пакете, а также время и IP адрес в таблице адресов сервера. В случае, если на указанное в полученном пакете время адреса из пакета и таблицы IP адресов совпадают, пакет передается для дальнейшей обработки сервером. Каждый пакет может передаваться с новым IP адресом. Из одного и того же пула IP адресов, выделенных для сервера, может быть построено несколько различных таблиц IP адресов в виде псевдослучайных последовательностей. В один момент времени различные клиенты могут работать по разным таблицам. Таблицы могут быть разными и для разных интервалов времени (по суткам или по часам). Таблицы генерируют на сервере, например, при загрузке, обеспечивая двойной уровень защиты. При работе сервера осуществляют сначала выбор одной из таблиц, затем выбор адреса из выбранной таблицы, что обеспечивает большую устойчивость системы к DDoS атакам.
Подключение к работе системы только авторизованных (т.е. имеющих цифровой сертификат) клиентов позволяет системе проводить разграничение между клиентами и ботами. При этом поведение сервера 3 отличается для авторизованного пользователя от поведения сервера по отношению к боту. В известных решениях авторизованный клиент использует для соединения один IP адрес (инициальный адрес сервера), который является единственным в туннеле. И в случае сетевых атак на данный адрес пакеты, отправляемые клиентом на этот адрес, не могут быть обработаны, т.е. происходит отказ в обслуживании. Заявляемый способ значительно повышает устойчивость к DDoS атакам посредством введения оригинальной операции по формированию таблицы IP адресов и использования меняющихся адресов из этой таблицы при передаче пакетов данных после установления безопасного соединения.
В одном из вариантов исполнения системы, реализующей заявляемый способ, в качестве терминального устройства клиента может выступать и сам роутер 2, блок 8 может быть встроен в роутер 2 со стороны клиента, а блок 9 - в роутер 4 со стороны сервера. Алгоритмы работы блоков 8 и 9 могут быть реализованы аппаратным и/или программным путем.
В частном варианте исполнения внутреннее устройство блока управления адресом IP пакета 8 включает в себя блок терминального сетевого интерфейса 11 и внешнего сетевого интерфейса 12, блока замены IP адреса в IP пакетах 13, блока формирования запроса на получение ключа 16, блока задания последовательности изменения адреса 15 и блока приема подтверждения 14 (фиг. 3).
Блок 9 имеет внутренний состав, также включающий в себя сетевые интерфейсы 17 - внешний сетевой интерфейс, 18 - серверный сетевой интерфейс и
19 - управляющий сетевой интерфейс. Блок замены IP адреса 23 подключен к блоку задания текущего адреса 21 и блоку маршрутизации 22. Блок хранения последовательности IP адресов 20, выход которого подключен к блоку 21, управляется командами от управляющего блока 24 и может изменять свое содержимое из сети через управляющий сетевой интерфейс 19. Управляющий блок 24 взаимодействует с внешними устройствами также через блок 19 (фиг. 4).
Важной особенностью заявляемого решения является использование механизма защиты на сетевом уровне протоколов - т.е. более низком, чем известные способы. Для обеспечения снижения нагрузки на сервер от производящих атаку «ботов» и получения всех сетевых пакетов от авторизованного клиента, используется смена адреса сервера по расписанию (алгоритму), известному только авторизованному клиенту. При этом клиент в течение сессии обмена данными с сервером меняет по этому алгоритму IP адрес сервера на своей стороне. Боты не имеют достоверной информации о расписании смены IP адреса сервера, не могут сформировать поток пакетов в адрес сервера, а следовательно, значительной нагрузки, нарушающей его нормальное функционирование.
Авторизованный клиент и сервер используют согласованную и/или синхронную смену IP адреса сервера, тем самым обеспечивая непрерывный процесс передачи информации, причем только авторизованный клиент знает о расписании изменения IP адреса сервера, для других неавторизованных пользователей это расписание неизвестно.
В частном случае, система, реализующая заявленный способ, работает следующим образом.
Сервер 3 с помощью блока 9 формирует одну или несколько таблиц IP адресов из пула (диапазона) свободных адресов, выделенных серверу провайдером. Формирование таблицы IP адресов происходит путем построения из них псевдослучайной последовательности - т.е такой последовательности, когда адреса в таблице представлены не последовательно из используемого пула адресов, а свободные адреса из пула выбираются псевдослучайным образом. Таблицы IP адресов могут формироваться для использования в различные промежутки времени, и/или для разных сессий и/или для разных клиентов. После формирования таблиц сервер готовит соответствующие ключи для передачи таблицы клиенту для переключения IP адресов (например, в виде последовательности двоичных чисел, которые представляют величину сдвига адреса по отношению к инициальному) для дальнейшей передачи их авторизованным клиентам (и расшифровки на стороне клиента) через защищенное SSL соединение. Клиент 1 формирует запрос на получение адреса сервера 3 в виде передачи последовательности пакетов через блок 8 и маршрутизатор 2 в сеть Интернет 5 к серверу системы DNS 6. Сервер 6 обрабатывает запрос, используя имеющиеся данные о соответствии имени запрашиваемого сервера его IP адресам. В качестве IP адреса сервера используется адрес, записанный в стандартную DNS запись владельцем сервера. Возвращаемый системой DNS адрес не является реальным адресом сервера 3, а принадлежит блоку 9 - адресному мультиплексору. Этот адрес называют инициальным адресом сервера 3.
Получив IP адрес от системы DNS, клиент формирует запрос на установление соединения с сервером 3 по полученному им инициальному IP адресу. Этот запрос в виде последовательности IP пакетов передается через сеть 5 и маршрутизатор 4 на блок адресного мультиплексора 9. Через сетевой интерфейс блока 17 запрос поступает в блок маршрутизации 22, где формируется ответ клиенту, содержащий требование перейти на расширенный защищенный протокол SSL и сертификат безопасности сервера. Этот ответ передается последовательностью пакетов через 17 в сеть 5 и далее к клиенту 1 через маршрутизатор 2 и блок управления адресом 8. Клиент 1, получив это требование, формирует собственный сертификат безопасности, удостоверенный на сервере обеспечения безопасного соединения 7 и отправляет зашифрованный запрос серверу 3. Зашифрованный запрос на соединение по расширенному безопасному протоколу через сеть 5, маршрутизатор 4 поступает в блок 9 на блок маршрутизации 22. Блок 22 вычисляет корректность запроса. В случае его некорректности запрсос игнорируется и процесс завершается.
В случае корректности блок 22 вырабатывает сигнал на управляющий блок 24, который формирует запрос получения данных штампа единого времени и направляет его в виде последовательности пакетов через сетевой интерфейс 19 к серверу единого времени 10. Сервер единого времени, получив запрос на штамп единого времени, возвращает данные о текущем времени, которые в виде последовательности пакетов поступают через маршрутизатор 4 и сетевой интерфейс 19 внутрь блока 9 на управляющий блок 24. В этом блоке данные о времени используются совместно с сигналом о корректности с блока 22 для выработки сигнала на блок 20 выбора последовательности IP адресов для сервера 3 и назначения его текущего адреса. Последовательности адресов IP сервера 3 хранятся в виде таблиц адресов в памяти блока 20. Выбор последовательности определяется данными штампа единого времени и выработанным шифрованным ключом, вычисляемым по сертификату сервера. Сервер отправляет в ответ подготовленные ключи таблицы IP адресов через блок 22 и сетевой интерфейс 19, отправляет ответ по расширенному безопасному протоколу клиенту 1 и блоку управления 8 в виде последовательности IP пакетов через сетевой интерфейс 17 и маршрутизатор 4 в сеть 5 и далее на маршрутизатор 2 и через блок 8. Блок 8, получив ответ от 9, формирует запрос на сервер 10 для получения данных о штампе единого времени. Получив ответ от сервера системы единого времени 10 через сетевой интерфейс 12 блок 8 производит следующие действия. Полученные ответ от блока 9 и данные от сервера 10 в виде последовательности пакетов проходят через сетевой интерфейс 12 на управляющий блок 14, в котором вырабатывается сигнал установки текущего адреса запроса к серверу 3. Сигнал поступает на блок 13, в котором хранится расшифрованная из полученного ключа от сервера таблица IP адресов последовательности смены адресов. Для выбора текущего IP адреса сервера используют штамп единого времени, определяющий адрес в этой таблице. В каждый IP пакет записывается метка времени. На стороне сервера при приеме IP пакета анализируется эта метка времени и принимается решение - был ли актуален полученный пакет в момент передачи, т.е. соответствует ли IP адрес в полученном пакете, IP адресу из таблицы на указанный в пакете момент времени.
Клиент 1 посылает следующий запрос к серверу 3, используя инициальный адрес сервера. Запрос проходит через блок 8 в виде последовательности IP пакетов и в каждом из них блок 14 изменяет IP адрес на другой, определяемый блоком 13 из таблицы IP адресов. Для обмена информацией с сервером, клиент может использовать отдельные пакеты или группы пакетов IP. При дальнейшем взаимодействии с сервером, для каждого отдельного IP пакета или для группы пакетов IP, инициатива перехода по таблице всегда принадлежит клиенту - если клиент не передает запросов - таблица не сканируется, адреса не выбираются.
Пакеты следуют через сетевой интерфейс 12 на маршрутизатор 2 и далее в сеть 5. Все адреса в последовательности IP адресов сервера 3 принадлежат пространству адресов маршрутизатора 4 и поэтому все пакеты, направленные на эти адреса поступают через маршрутизатор 4 на блок 9. Получив очередной пакет через сетевой интерфейс 17, блок 22 передает его блоку 23, в котором осуществляется проверка адреса в IP пакете на совпадение с текущим адресом сервера на момент времени, определенным штампом единого времени. Если эти адреса совпадают, то в пакете производится замена IP адреса на реальный IP адрес сервера 3 и пакет попадает на вход сервера 3 через сетевой интерфейс 18.
Таким образом, стек протоколов сервера работает как обычно в соответствии со стандартным набором протоколов. Клиент 1 в процессе обмена пакетами также работает через стандартный стек протоколов. Однако во всех передаваемых терминалом пакетах с помощью блока 8 производится замена IP адреса получателя на адрес, который берется из таблицы IP адресов и штампу времени на передаваемом пакете. Такие пакеты предаются через сеть в соответствии с правилами маршрутизации и собираются на маршрутизаторе 4, которому принадлежит вся сетка адресов из используемой последовательности, затем поступают в блок 9, который, анализирует (сравнивает) адреса в принимаемых пакетах и производит замену адреса на реальный адрес сервера на тех пакетах, которые содержат правильный адрес, совпадающий с текущим адресом для конкретной отметки времени. Такие пакеты образуют поток пакетов, направляемый на сервер 3, и обрабатываемый его стеком по обычным алгоритмам.
Фиг. 5 иллюстрирует процесс преобразования адресов по пути от клиента 1 к серверу 3 и обратно. При этом на фиг. 5 терминами «Серия 1» и «Серия 2» обозначены две альтернативные таблицы IP адресов сервера, хранящиеся в блоках 13 и 20 и используемые в зависимости от содержимого полученного ключа, a s(l), s(k) и s(n) - обозначены IP адреса, которые используются в принимаемых и передаваемых пакетах. Фиг. 6 показывает диаграмму взаимодействия блоков системы. Фиг. 7 более детально раскрывает функциональность работы блоков 20, 21, 23 при замене адреса прибывающего IP пакета на реальный адрес сервера.
Одним из вариантов заполнения таблицы адресов, является ее заполнение псевдослучайной последовательностью, т.е. таким образом, чтобы по наблюдаемым ранее адресам было максимально затруднено прогнозирование последующего значения адреса.
Следует отметить, что принцип замены адреса в принимаемых пакетах применяется в настоящее время в маршрутизаторах Интернет при использовании технологии называемой Network Address Translation (NAT). В отличие от предлагаемого способа эта замена осуществляется путем назначения соответствия переменного внешнего адреса устройства на период сессии из пула адресов внутреннему постоянному адресу. Этот механизм применяется для обеспечения коллективного использования внешних сетевых адресов большим числом устройств, не имеющих необходимости постоянного соединения через Интернет. Все пакеты, поступающие к устройству, должны иметь одинаковый IP адрес в течении всей сессии, поэтому такое использование преобразования адресов не решает поставленной в настоящем изобретении задачи.
В данном изобретении предлагается использование следующих технических приемов: изменение IP адреса сервера по специальному расписанию в соответствии с одной из псевдослучайных последовательностей, назначаемой для каждого из соединений с авторизованным (сертифицированным) клиентом, преобразование IP адресов «на лету» (технология NAT), шифрование с открытым ключом (технология SSL). Использование данных приемов позволяет решить актуальную задачу защиты сервера от DDoS атак, тем самым увеличить уровень надежности работы сервера и информационной безопасности в сети.

Claims

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ взаимодействия терминального устройства клиента с сервером по сети Интернет, включающий формирование запроса от терминального устройства клиента через сеть Интернет на получение IP адреса сервера, проверку сертификата сервера и сертификата клиента и установление безопасного соединения с последующей передачей пакетов данных, отличающийся тем, что перед установлением безопасного соединения осуществляют формирование одной или нескольких таблиц IP адресов в виде двоичных кодов посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, выделенных серверу, и передачей, по крайней мере, одной сформированной таблицы терминальному устройству клиента после установления безопасного соединения с сервером, а передачу одного или нескольких пакетов данных между терминальным устройством клиента и сервером осуществляют с изменением IP адреса сервера, который выбирают из таблицы IP адресов.
2. Способ по п.1, отличающийся тем, что для передачи пакета данных между терминальным устройством клиента и сервером с изменением IP адреса сервера используют последовательность, в соответствии с которой сначала инициируют передачу данных от клиента серверу, при этом в первом пакете, отправляемом клиентом, производят замену инициального адреса сервера на первый адрес из полученной таблицы и передачу пакета данных серверу, на роутере которого при получении пакета от клиента производят сравнение адреса назначения с первым адресом из таблицы и при совпадении адресов производят замену адреса назначения на истинный адрес сервера, после чего осуществляет прием и обработку пакета сервером; затем инициируют отправку пакета данных от сервера клиенту, где в адресе отправителя указывают истинный адрес сервера, который поступает в роутер сервера, в котором осуществляют замену истинного адреса отправителя на первый адрес из таблицы, с последующей передачей пакета на роутер клиента, где осуществляют замену адреса отправителя на инициальный адрес сервера; при отправке второго и последующих пакетов от клиента серверу производят замену инициального адреса сервера из полученной таблицы на второй и последующий адреса, соответственно, и передачу пакета данных серверу аналогично передаче первого пакета.
3. Способ по п.1, отличающийся тем, что формирование одной или нескольких таблиц IP адресов осуществляют при загрузке сервера из пула адресов.
4. Способ по п.2, отличающийся тем, что при проверке совпадения адресов используют штамп времени.
1 5. Способ по п.1, отличающийся тем, что таблицы формируют с использованием генератора случайных чисел путем случайной выборки IP адресов из диапазона IP адресов, вьщеленных для сервера, например, с помощью функции Rand(), при этом таблица содержит не менее двух IP адресов.
6. Способ по п.1, отличающийся тем, что формируют несколько таблиц, при этом выбор рабочей таблицы осуществляют в зависимости от соответствующего ей определенного параметра, например, заданного промежутка времени, или диапазона адресов клиента, или, иного параметра.
7. Способ по п.1, отличающийся тем, что для передачи таблицы IP адресов терминальному устройству клиента формируют код таблицы, например, в виде набора двоичных чисел, определяющих сдвиг IP адреса от инициального, при этом передачу сформированной таблицы от сервера данных клиенту осуществляют посредством пересылки авторизованному клиенту по безопасному соединению кода, обеспечивающего генерацию таблицы на терминальном устройстве клиента.
8. Способ по п.1 , отличающийся тем, что формирование таблицы осуществляют через определенные промежутки времени.
9. Способ по п.1, отличающийся тем, что формирование таблицы осуществляют на каждую сессию.
10. Способ по п.1, отличающийся тем, что изменение IP адреса сервера данных на IP адрес из таблицы осуществляют по времени, при этом синхронизацию терминального устройства клиента и сервера данных осуществляют с помощью сервера единого времени.
1 1. Система для взаимодействия терминального устройства клиента с сервером по сети Интернет, включающая, по крайней мере, одно терминальное устройство клиента, сервер данных, сервер доменных имен, сервер обеспечения безопасного соединения, два маршрутизатора, при этом сервер обеспечения безопасного соединения выполнен с возможностью авторизации терминального устройства клиента и передачи ему ключа для соединения с сервером данных, а терминальное устройство клиента, выполнено с возможностью подключения к сети
Интернет через первый маршрутизатор, сервер данных выполнен с возможностью подключения к сети Интернет через второй маршрутизатор, отличающаяся тем, что она снабжена блоком, обеспечивающим возможность формирования одной или нескольких таблиц IP адресов в виде двоичных кодов, посредством выбора псевдослучайной последовательности IP адресов из пула свободных IP адресов, вьщеленных серверу, и смены IP адреса по таблице, назначаемой для каждого из соединений с авторизованным терминальным устройством клиента.
12. Система по п.П, отличающаяся тем, что блок, обеспечивающий реализацию возможности смены IP адреса сервера, содержит блок управления адресом IP пакетов, включенный между первым маршрутизатором и терминальным устройством клиента, блок адресного мультиплексора, включенный в между вторым маршрутизатором и сервером данных и отдельным управляющим входом подключенным к дополнительному адресуемому входу маршрутизатора, а также сервер единого времени, выполненный с возможностью подключения к сети Интернет.
13. Система по п.12, отличающаяся тем, что блок управления адресом включает блок терминального сетевого интерфейса соединенного с внешним сетевым интерфейсом через блок формирования запроса на получение ключа и блок замены IP адреса в IP пакетах, а также блок приема подтверждения соединенный через блок задания последовательности изменения адреса с блоком замены IP адреса в IP пакетах.
14. Система по п.12, отличающаяся тем, что блок адресного мультиплексора включает внешний сетевой интерфейс, соединенный с серверным сетевым интерфейсом через блок маршрутизации и блок замены адреса, управляющий сетевой интерфейс, соединенный с блоком маршрутизации и с блоком замены IP адреса через блок хранения последовательности IP адресов и блок задания текущего адреса, а также управляющий блок, соединенный с управляющим сетевым интерфейсом и блоком хранения последовательности IP адресов.
PCT/RU2013/000397 2012-05-14 2013-05-13 Способ защищенного взаимодействия устройства клиента с сервером по сети интернет WO2013172743A1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2012119668 2012-05-14
RU2012119668/08A RU2496136C1 (ru) 2012-05-14 2012-05-14 Способ взаимодействия терминального устройства клиента с сервером по сети интернет с повышенным уровнем защиты от ddos атак и система для реализации способа

Publications (1)

Publication Number Publication Date
WO2013172743A1 true WO2013172743A1 (ru) 2013-11-21

Family

ID=49357284

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2013/000397 WO2013172743A1 (ru) 2012-05-14 2013-05-13 Способ защищенного взаимодействия устройства клиента с сервером по сети интернет

Country Status (2)

Country Link
RU (1) RU2496136C1 (ru)
WO (1) WO2013172743A1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087427A (zh) * 2020-08-03 2020-12-15 飞诺门阵(北京)科技有限公司 通信验证方法、电子设备及存储介质
CN113784354A (zh) * 2021-09-17 2021-12-10 城云科技(中国)有限公司 基于网关的请求转换方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2576488C1 (ru) * 2015-02-17 2016-03-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Нижегородский государственный технический университет им. Р.Е. Алексеева" (НГТУ) СПОСОБ ПОСТРОЕНИЯ СЕТЕЙ ПЕРЕДАЧИ ДАННЫХ С ПОВЫШЕННЫМ УРОВНЕМ ЗАЩИТЫ ОТ DDоS-АТАК
CN106302318A (zh) * 2015-05-15 2017-01-04 阿里巴巴集团控股有限公司 一种网站攻击防御方法及装置
RU2656692C2 (ru) * 2016-11-08 2018-06-06 ООО "Элида" Устройство и способ администрирования сервера
RU2656735C1 (ru) * 2017-05-17 2018-06-06 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ организации взаимодействия клиента с сервером приложений с использованием сервис-браузера
RU2684575C1 (ru) * 2018-05-14 2019-04-09 Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации Способ управления потоками данных распределенной информационной системы при ddos атаках
CN113726917B (zh) * 2020-05-26 2024-04-12 奇安信网神信息技术(北京)股份有限公司 域名确定方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040059944A1 (en) * 2002-09-25 2004-03-25 Rainer Stademann System and method for repelling attack data streams on network nodes in a communications network
JP2005229254A (ja) * 2004-02-12 2005-08-25 Ntt Data Corp 通信システム
US20080060055A1 (en) * 2006-08-29 2008-03-06 Netli, Inc. System and method for client-side authenticaton for secure internet communications

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380272B2 (en) * 2000-05-17 2008-05-27 Deep Nines Incorporated System and method for detecting and eliminating IP spoofing in a data transmission network
US7827272B2 (en) * 2002-11-04 2010-11-02 Riverbed Technology, Inc. Connection table for intrusion detection
RU2261472C1 (ru) * 2004-03-29 2005-09-27 Военный университет связи Способ мониторинга безопасности автоматизированных систем
KR100900491B1 (ko) * 2008-12-02 2009-06-03 (주)씨디네트웍스 분산 서비스 거부 공격의 차단 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040059944A1 (en) * 2002-09-25 2004-03-25 Rainer Stademann System and method for repelling attack data streams on network nodes in a communications network
JP2005229254A (ja) * 2004-02-12 2005-08-25 Ntt Data Corp 通信システム
US20080060055A1 (en) * 2006-08-29 2008-03-06 Netli, Inc. System and method for client-side authenticaton for secure internet communications

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087427A (zh) * 2020-08-03 2020-12-15 飞诺门阵(北京)科技有限公司 通信验证方法、电子设备及存储介质
CN112087427B (zh) * 2020-08-03 2022-09-30 飞诺门阵(北京)科技有限公司 通信验证方法、电子设备及存储介质
CN113784354A (zh) * 2021-09-17 2021-12-10 城云科技(中国)有限公司 基于网关的请求转换方法和装置
CN113784354B (zh) * 2021-09-17 2024-04-09 城云科技(中国)有限公司 基于网关的请求转换方法和装置

Also Published As

Publication number Publication date
RU2496136C1 (ru) 2013-10-20

Similar Documents

Publication Publication Date Title
RU2496136C1 (ru) Способ взаимодействия терминального устройства клиента с сервером по сети интернет с повышенным уровнем защиты от ddos атак и система для реализации способа
KR100811419B1 (ko) 공개키 암호화를 이용하는 인증 프로토콜에서의서비스거부공격에 대한 방어 방법
CN101682656B (zh) 用于保护数据分组的路由选择的方法和设备
CA2422334C (en) Authentication of network users
US7600255B1 (en) Preventing network denial of service attacks using an accumulated proof-of-work approach
CN106789997B (zh) 一种防重放攻击的加密方法
CN101867473B (zh) 抗阻塞攻击的共享媒体终端连接建立方法和接入认证系统
EP3442195B1 (en) Reliable and secure parsing of packets
Rothenberg et al. Self-routing denial-of-service resistant capabilities using in-packet Bloom filters
Annessi et al. It's about time: Securing broadcast time synchronization with data origin authentication
CN100512108C (zh) 入网终端物理唯一性识别方法和终端接入认证系统
Alston et al. Neutralizing interest flooding attacks in named data networks using cryptographic route tokens
Wang Yet another log-in authentication using n-dimensional construction based on circle property
RU2306599C1 (ru) Способ (варианты) и устройство (варианты) защиты канала связи вычислительной сети
Alzahrani et al. Key management in information centric networking
RU2684575C1 (ru) Способ управления потоками данных распределенной информационной системы при ddos атаках
RU2586840C1 (ru) Способ обработки дейтаграмм сетевого трафика для скрытия корреспондирующих пар абонентов информационно-телекоммуникационных систем
CN101827079A (zh) 抗阻塞攻击的终端连接建立方法和终端访问认证系统
Halgamuge Latency estimation of blockchain-based distributed access control for cyber infrastructure in the iot environment
Dinu et al. DHCPAuth—a DHCP message authentication module
KR20140004703A (ko) 제어된 보안 도메인
CN105681364A (zh) 一种基于增强绑定的IPv6移动终端抗攻击方法
KR100381710B1 (ko) 회원제 운용 인터넷 서버의 보안 방법 및 그에 관한 서버시스템
EP4252389B1 (en) Method and apparatus for preventing malicious network traffic
CN117081758B (zh) 一种基于区块链的元宇宙通话方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13791327

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13791327

Country of ref document: EP

Kind code of ref document: A1