BRPI0607516B1 - METHOD TO PREVENT DUPLICATE SOURCES IN A NETWORK PROTOCOL - Google Patents

METHOD TO PREVENT DUPLICATE SOURCES IN A NETWORK PROTOCOL Download PDF

Info

Publication number
BRPI0607516B1
BRPI0607516B1 BRPI0607516-9A BRPI0607516A BRPI0607516B1 BR PI0607516 B1 BRPI0607516 B1 BR PI0607516B1 BR PI0607516 A BRPI0607516 A BR PI0607516A BR PI0607516 B1 BRPI0607516 B1 BR PI0607516B1
Authority
BR
Brazil
Prior art keywords
source
port
packet
client
port number
Prior art date
Application number
BRPI0607516-9A
Other languages
Portuguese (pt)
Inventor
Patricia Jakubik
Joyce Anne Porter
David John Wierbowski
Linwood Hugh Overby
Linwood Hugh Overby Jr
Original Assignee
International Business Machines Corporation
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 International Business Machines Corporation filed Critical International Business Machines Corporation
Publication of BRPI0607516A2 publication Critical patent/BRPI0607516A2/en
Publication of BRPI0607516B1 publication Critical patent/BRPI0607516B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/663Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
    • H04L29/12377
    • H04L29/12924
    • H04L61/6063
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

Preventing duplicate sources in a network that uses network address port translation on an established connection. In response to receiving an inbound packet at a destination host, input values are obtained therefrom and used to consult a mapping. If no match is found, a translation is performed, whereby a determination is made as to whether or not a port number is available within a range of port numbers that comply with a security association governing the connection. If so, an available port number is assigned to the connection, thereby avoiding a possibility of a duplicate source. If a port number is not available, the packet is rejected.

Description

“MÉTODO PARA IMPEDIR FONTES DUPLICADAS EM UM PROTOCOLO DE REDE“METHOD TO PREVENT DUPLICATE SOURCES IN A NETWORK PROTOCOL

Campo técnicoTechnical field

[001] A invenção refere-se geralmente à rede da Internet e especificamente ao tratamento de conflitos causados pelo endereço de rede e pela tradução de portas.[001] The invention generally refers to the Internet network and specifically to the handling of conflicts caused by the network address and the translation of ports.

Antecedentes da InvençãoBackground of the Invention

[002] Os problemas e soluções aqui descritos são descritos em termos da Internet e dos protocolos TCP / IP que formam a base das comunicações na Internet. No entanto, as técnicas também podem se aplicar a outros protocolos de comunicação, dependendo das especificidades dos protocolos.[002] The problems and solutions described here are described in terms of the Internet and the TCP / IP protocols that form the basis of Internet communications. However, the techniques can also apply to other communication protocols, depending on the specifics of the protocols.

[003] A tradução de endereços de rede da Internet é usada por vários motivos. O principal motivo é economizar no uso de endereços públicos. O endereço IP (Protocolo de Internet) de um Tradutor de Endereço de Rede (NAT) geralmente é um endereço público. Ou seja, o endereço IP NAT é conhecido no mundo externo, enquanto todos os servidores ou clientes atrás do NAT são endereços privados, desconhecidos para o mundo externo. Nesse caso, o mundo externo se comunica com o NAT e o NAT controla as comunicações com os servidores e clientes apropriados por trás dele. Isso significa que os endereços IP dos dispositivos por trás do NAT só precisam ser exclusivos nessa família, mas podem ser duplicados de outros endereços IP no resto do mundo. Os NATs envolvem apenas a tradução de endereços IP. Há outro tipo de tradução conhecido como NAPT (Tradução de Porta de Endereço de Rede), no qual os endereços IP e os números de porta são traduzidos. Os padrões para conversão de endereço de rede (NAT) e[003] Internet network address translation is used for several reasons. The main reason is to save on the use of public addresses. The IP address (Internet Protocol) of a Network Address Translator (NAT) is usually a public address. In other words, the NAT IP address is known in the outside world, while all servers or clients behind NAT are private addresses, unknown to the outside world. In this case, the outside world communicates with NAT and NAT controls communications with the appropriate servers and clients behind it. This means that the IP addresses of the devices behind NAT need only be unique within this family, but can be duplicated from other IP addresses in the rest of the world. NATs only involve translating IP addresses. There is another type of translation known as NAPT (Network Address Port Translation), in which IP addresses and port numbers are translated. Standards for network address translation (NAT) and

Petição 870190106009, de 20/10/2019, pág. 9/28Petition 870190106009, of 10/20/2019, p. 9/28

2/19 conversão de porta de endereço de rede (NAPT) são estabelecidos na RFC 3022 da IETF (F), intitulada Tradução tradicional de endereço de rede IP.2/19 Network Address Port Translation (NAPT) are set out in IETF RFC 3022 (F), entitled Traditional IP Network Address Translation.

[004] A Internet original não foi projetada com segurança como fator primário. De fato, a Internet foi propositalmente tornada relativamente aberta como um auxílio à comunicação científica e educacional. No entanto, o advento da Web e seus usos comerciais aumentou a necessidade de comunicações seguras na Internet. O Protocolo de Segurança de Internet (Internet Security Protocol), conhecido como IPsec, foi definido para solucionar esses problemas. Por exemplo, o IPsec fornece a autenticação de dispositivos de rede e / ou a criptografia de dados transmitidos. Uma comunicação IPsec entre os endereços de origem e destino é administrada de acordo com uma associação de segurança (SA), que é uma ou mais regras que definem o processamento IPsec aplicado à comunicação. IPsec é definido no RFC 2401 e em outros RFCs. Se um pacote é negado, permitido sem processamento IPsec ou permitido com processamento IPsec é determinado pela correspondência dos atributos de um pacote com as regras de segurança em um banco de dados de diretiva de segurança (SPD). Para fazer essa determinação, a técnica conhecida pesquisa as regras estáticas e dinâmicas na ordem dos atributos mais específicos para os menos específicos para pacotes de saída e de entrada. Um conjunto de regras estáticas é essencialmente uma política de segurança. As regras estáticas são predefinidas e geralmente não mudam com muita frequência.[004] The original Internet was not safely designed as a primary factor. In fact, the Internet was purposely made relatively open as an aid to scientific and educational communication. However, the advent of the Web and its commercial uses has increased the need for secure communications on the Internet. The Internet Security Protocol, known as IPsec, has been defined to address these problems. For example, IPsec provides authentication for network devices and / or encryption of transmitted data. An IPsec communication between the source and destination addresses is managed according to a security association (SA), which is one or more rules that define the IPsec processing applied to the communication. IPsec is defined in RFC 2401 and other RFCs. Whether a packet is denied, allowed without IPsec processing or allowed with IPsec processing is determined by matching the attributes of a packet to the security rules in a security policy database ( SPD). To make this determination, the known technique searches for static and dynamic rules in order from the most specific attributes to the least specific attributes for outgoing and incoming packets. A set of static rules is essentially a security policy. Static rules are predefined and generally don't change very often.

[005] Regras dinâmicas são regras negociadas entre[005] Dynamic rules are rules negotiated between

Petição 870190106009, de 20/10/2019, pág. 10/28Petition 870190106009, of 10/20/2019, p. 10/28

3/19 nós durante o processamento IKE (Troca de Chave de Internet) e adicionadas ao banco de dados de políticas de segurança de maneira dinâmica, conforme necessário. A patente US 6.347.376 da International Business Machines descreve um método preferido para pesquisar as regras estáticas e dinâmicas de um SPD. Esta patente é aqui incorporada por referência na sua totalidade.3/19 nodes during IKE (Internet Key Exchange) processing and dynamically added to the security policy database as needed. US Patent 6,347,376 to International Business Machines describes a preferred method for researching the static and dynamic rules of an SPD. This patent is hereby incorporated by reference in its entirety.

[006] Existem incompatibilidades inerentes entre o endereço de rede ou a conversão de portas e o processamento IPsec. Essas incompatibilidades são uma barreira para a implantação do IPsec. A RFC 3715 reconhece e discute algumas dessas incompatibilidades, mas não oferece soluções gerais. Por exemplo, a Seção 4.1 da RFC 3715 refere-se a uma solução limitada proposta na RFC 3456, Protocolo de Configuração Dinâmica de Host (DHCPv4, Configuração do Modo de Túnel IPsec), mas afirma que é necessária uma solução mais geral. Além disso, a Seção 5 da RFC 3948, intitulada Encapsulamento UDP de pacotes IPsec ESP do grupo de trabalho IPsec da IETF, também aborda alguns dos problemas de incompatibilidade. Particularmente, a Seção 5.2 da RFC descreve brevemente um problema na determinação de quais associações de segurança IPsec devem ser usadas nas conexões com clientes atendidos por um NAT. Esta seção também descreve outro problema ao permitir uma conexão de texto não criptografado com um cliente atrás de um NAPT quando o NAPT também lida com o tráfego IPsec.[006] There are inherent incompatibilities between the network address or port translation and IPsec processing. These incompatibilities are a barrier to the deployment of IPsec. RFC 3715 recognizes and discusses some of these incompatibilities, but does not offer general solutions. For example, Section 4.1 of RFC 3715 refers to a limited solution proposed in RFC 3456, Dynamic Host Configuration Protocol (DHCPv4, IPsec Tunnel Mode Configuration), but states that a more general solution is needed. In addition, Section 5 of RFC 3948, entitled UDP Encapsulation of IPsec ESP Packets from the IETF IPsec Working Group, also addresses some of the incompatibility issues. In particular, Section 5.2 of the RFC briefly describes an issue in determining which IPsec security associations should be used when connecting to clients served by a NAT. This section also describes another problem with allowing a clear text connection to a client behind a NAPT when NAPT also handles IPsec traffic.

[007] Portanto, é necessário resolver o problema de evitar fontes duplicadas quando os clientes são atendidos por um NAPT. Nenhuma solução é fornecida para este problema[007] Therefore, it is necessary to solve the problem of avoiding duplicate sources when customers are served by a NAPT. No solution is provided for this problem

Petição 870190106009, de 20/10/2019, pág. 11/28Petition 870190106009, of 10/20/2019, p. 11/28

4/19 por nenhum dos documentos IFC da IETF relacionados. Para os fins desta especificação, fontes duplicadas são definidas como pacotes com o mesmo endereço de origem (por exemplo, um endereço IP de um NAPT atribuído a um pacote original encapsulado em IPsec), o mesmo protocolo de transporte e o mesmo número da porta de origem original (ou seja, um número da porta no cabeçalho de transporte do pacote encapsulado IPsec).4/19 for any of the related IETF IFC documents. For the purposes of this specification, duplicate fonts are defined as packets with the same source address (for example, an IP address of a NAPT assigned to an original packet encapsulated in IPsec), the same transport protocol and the same port number. original source (that is, a port number in the transport header of the IPsec encapsulated packet).

[008] Origens duplicadas resultam em conexões duplicadas que promovem a integridade da rede. Por exemplo, pacotes podem ser enviados para o destino errado.[008] Duplicate origins result in duplicate connections that promote network integrity. For example, packages can be sent to the wrong destination.

[009] RFC 3947, intitulado Negociação de NATTraversal no IKE descreve o que é necessário nas fases 1 e 2 do IKE (Troca de Chave de Internet) para o suporte à travessia de NAT. Isso inclui detectar se as duas extremidades em uma comunicação de pacote suportam a travessia de NAT e detectar se há um ou mais NATs no caminho de host para host. Ele também aborda como negociar o uso de pacotes IPsec encapsulados em protocolo UDP (Protocolo de Datagrama de Usuário) no IKE Quick Mode e descreve como transmitir um endereço IP de origem original para a outra extremidade, se necessário . O UDP é definido no RFC 768. O RFC 3948, Encapsulamento UDP de pacotes ESP IPsec, define métodos para encapsular e descapsular pacotes ESP (carga útil de encapsulamento de segurança) dentro de pacotes UDP para o propósito de atravessar NATs. O ESP é definido no RFC 2406. O ESP foi projetado para fornecer uma combinação de serviços de segurança em IPv4 e IPv6.[009] RFC 3947, entitled NATTraversal Negotiation in IKE describes what is required in phases 1 and 2 of IKE (Internet Key Exchange) to support NAT traversal. This includes detecting whether the two ends in a packet communication support NAT traversal and detecting whether there are one or more NATs in the path from host to host. It also discusses how to negotiate the use of IPsec packets encapsulated in User Datagram Protocol (UDP) protocol in IKE Quick Mode and describes how to transmit an original source IP address to the other end, if necessary. UDP is defined in RFC 768. RFC 3948, UDP Encapsulation of ESP IPsec packets, defines methods for encapsulating and decapsulating ESP (security encapsulation payload) packets within UDP packets for the purpose of traversing NATs. ESP is defined in RFC 2406. ESP is designed to provide a combination of security services over IPv4 and IPv6.

Sumario da invençãoSummary of the invention

Petição 870190106009, de 20/10/2019, pág. 12/28Petition 870190106009, of 10/20/2019, p. 12/28

5/195/19

[0010] A presente invenção fornece, portanto, a prevenção de fontes duplicadas de pacotes em conexões que usam endereços de origem, protocolos e números de porta de origem para identificar aplicativos de origem que são atendidos por um NAPT. Quando um pacote é recebido em um servidor, é determinado se o pacote é um pacote UDP que encapsula um pacote ESP cujo caminho de transmissão contém um NAPT (tradutor de porta de endereço de rede). Nesse caso, o pacote original é descapsulado para obter uma porta de origem original e um protocolo de transporte original. Uma tabela de mapeamento de porta de origem (SPMT) é pesquisada em busca de uma associação entre o endereço IP de origem NAPT, o número da porta de origem original e o protocolo de transporte original associado ao endereço IP de origem NAPT e ao número da porta de origem convertida. Se uma associação incorreta for encontrada, o pacote será rejeitado por representar uma fonte duplicada ilegal; isto é, um segundo pacote de um host diferente servido por um NAPT que tenha o mesmo endereço IP de origem, número da porta de origem e protocolo.[0010] The present invention therefore provides the prevention of duplicate sources of packets on connections that use source addresses, protocols and source port numbers to identify source applications that are served by a NAPT. When a packet is received on a server, it is determined whether the packet is a UDP packet that encapsulates an ESP packet whose transmission path contains a NAPT (network address port translator). In this case, the original packet is decapsulated to obtain an original source port and an original transport protocol. A source port mapping table (SPMT) is searched for an association between the NAPT source IP address, the original source port number and the original transport protocol associated with the NAPT source IP address and the converted source port. If an incorrect association is found, the package will be rejected for representing an illegal duplicate source; that is, a second packet from a different host served by a NAPT that has the same source IP address, source port number and protocol.

[0011] Na modalidade preferida, as entradas de host do Tradutor de Porta de Endereço de Rede (NAPT) no SPMT no servidor são construídas dinamicamente em resposta às mensagens IKE (Troca de Chave de Internet) dos hosts da Internet. Cada entrada do host NAPT contém o endereço IP de origem do NAPT e uma porta de origem atribuída pelo NAPT. As entradas da porta de origem no SPMT são construídas dinamicamente à medida que os pacotes criptografados chegam e são descriptografadas e as associações são estabelecidas[0011] In the preferred mode, the host entries of the Network Address Port Translator (NAPT) in SPMT on the server are dynamically constructed in response to IKE (Internet Key Exchange) messages from Internet hosts. Each NAPT host entry contains the NAPT source IP address and a source port assigned by NAPT. Source port entries in SPMT are built dynamically as encrypted packets arrive and are decrypted and associations are established

Petição 870190106009, de 20/10/2019, pág. 13/28Petition 870190106009, of 10/20/2019, p. 13/28

6/19 entre as entradas da porta de origem e as entradas do host NAPT do SPMT. Cada entrada da porta de origem contém um endereço IP de origem de um NAPT, um número de porta de origem original e um protocolo original.6/19 between the source port entries and the SPMT NAPT host entries. Each source port entry contains an NAPT source IP address, an original source port number, and an original protocol.

Breve descrição dos desenhosBrief description of the drawings

[0012] Uma modalidade preferida da presente invenção será agora descrita a título de exemplo apenas com referência aos seguintes desenhos nos quais:[0012] A preferred embodiment of the present invention will now be described by way of example only with reference to the following drawings in which:

A Fig. 1 mostra um pacote que progride de um cliente, através de um NAPT para um host de destino e as alterações nos cabeçalhos e no conteúdo do pacote à medida que o pacote progride;Fig. 1 shows a packet that progresses from a client, through a NAPT to a destination host and changes to the packet headers and contents as the packet progresses;

A Fig. 2 mostra um pacote de retorno responsivo ao pacote da Fig. 1;Fig. 2 shows a return package responsive to the package in Fig. 1;

A Fig. 3 mostra uma modalidade ilustrativa da Tabela de Mapeamento de Portas de Origem (SPMT);Fig. 3 shows an illustrative modality of the Source Port Mapping Table (SPMT);

A Fig. 4 mostra um pacote traduzido por NAPT que encapsula um pacote original criptografado;Fig. 4 shows a packet translated by NAPT that encapsulates an original encrypted packet;

A Fig. 5 mostra o pacote da figura 4 após descriptografia;Fig. 5 shows the package of figure 4 after decryption;

As Figs. 6 e 7 correspondem às Figs. 4 e 5, respectivamente, e mostram um segundo pacote no mesmo caminho que o pacote anterior que representa uma fonte duplicada ilegal causada pela inclusão de um NAPT no caminho de transmissão;Figs. 6 and 7 correspond to Figs. 4 and 5, respectively, and show a second packet on the same path as the previous packet that represents an illegal duplicate source caused by the inclusion of a NAPT in the transmission path;

A Fig. 8 é um fluxograma da criação de entradas do host NAPT no SPMT;Fig. 8 is a flowchart of creating NAPT host entries in SPMT;

A Fig. 9 é um fluxograma que mostra as opções disponíveis quando um pacote de entrada chega primeiroFig. 9 is a flow chart showing the options available when an incoming package arrives first

Petição 870190106009, de 20/10/2019, pág. 14/28Petition 870190106009, of 10/20/2019, p. 14/28

7/19 a um host de destino;7/19 to a destination host;

A Fig. 10 é um fluxograma que mostra o processamento de um pacote de entrada que encapsula um pacote original criptografado e passou por um NAPT; eFig. 10 is a flowchart showing the processing of an incoming packet that encapsulates an original encrypted packet and has passed through a NAPT; and

As Figs. 11 e 12 são fluxogramas que mostram maneiras alternativas de processar pacotes de entrada que não atendem às condições de encapsulamento e de passagem por um NAPT.Figs. 11 and 12 are flowcharts that show alternative ways of processing incoming packets that do not meet the conditions of encapsulation and passing through a NAPT.

Descrição detalhadaDetailed Description

[0013] Embora os problemas abordados pelas modalidades da presente invenção aqui descritas existam para o modo de transporte e o modo de túnel nas transmissões da Internet, a modalidade divulgada é direcionada ao modo de transporte. Uma pequena variação a ser descrita adapta a divulgação do modo de transporte para operação no modo de túnel.[0013] Although the problems addressed by the modalities of the present invention described here exist for the mode of transport and the mode of tunnel in Internet transmissions, the mode disclosed is directed to the mode of transport. A small variation to be described adapts the disclosure of the mode of transport for operation in tunnel mode.

[0014] Modalidades da presente invenção podem ser implementadas em software ou hardware ou em uma combinação de software e hardware. Além disso, as modalidades podem assumir a forma de um produto de programa de computador em um meio de armazenamento utilizável ou legível por computador, com meios de código de programa incorporados no meio para uso por ou em conexão com um computador ou qualquer sistema de execução de instruções. No contexto deste documento, um meio utilizável ou legível por computador pode ser qualquer meio que possa conter, armazenar, comunicar, propagar ou transportar o programa para uso por ou em conexão com o sistema, aparelho ou dispositivo de execução de instruções. .[0014] Modalities of the present invention can be implemented in software or hardware or in a combination of software and hardware. In addition, the modalities may take the form of a computer program product on a usable or computer-readable storage medium, with program code means incorporated into the medium for use by or in connection with a computer or any execution system. instructions. In the context of this document, a usable or computer-readable medium may be any medium that may contain, store, communicate, propagate or transport the program for use by or in connection with the system, apparatus or device for carrying out instructions. .

Petição 870190106009, de 20/10/2019, pág. 15/28Petition 870190106009, of 10/20/2019, p. 15/28

8/198/19

[0015] O meio pode ser, por exemplo, mas não se limita a um sistema, aparelho ou dispositivo eletrônico, magnético, óptico, eletromagnético, infravermelho ou meio de propagação. Exemplos mais específicos (uma lista incompleta) do meio legível por computador incluiriam uma conexão elétrica com um ou mais fios, um disquete removível, uma memória de acesso aleatório (RAM), uma memória somente leitura (ROM), uma memória programável apagável memória somente leitura (EPROM ou memória Flash), uma fibra óptica e uma memória somente leitura portátil de CD (CD-ROM). Observe que a mídia utilizável por computador ou legível por computador pode até ser papel ou outra mídia adequada sobre a qual o programa é impresso, pois o programa pode ser capturado eletronicamente, por exemplo, através da digitalização óptica do papel ou outra mídia e compilada , interpretado ou processado de outra maneira de maneira adequada, se necessário, e armazenado na memória do computador.[0015] The medium can be, for example, but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or propagation system, device or device. More specific examples (an incomplete list) of the computer-readable medium would include an electrical connection with one or more wires, a removable floppy disk, a random access memory (RAM), a read-only memory (ROM), a programmable erasable memory (EPROM or Flash memory), an optical fiber and a portable read-only CD memory (CD-ROM). Please note that the computer-usable or computer-readable media may even be paper or other suitable media that the program is printed on, as the program can be captured electronically, for example, through optical scanning of paper or other media and compiled, properly interpreted or otherwise processed, if necessary, and stored in the computer's memory.

[0016] Neste relatório, números iguais se referem a elementos iguais.[0016] In this report, equal numbers refer to equal elements.

[0017] O processamento IPsec pode ser usado para autenticar ou criptografar o conteúdo de pacotes por motivos de segurança. Autenticação e criptografia podem ser aplicadas a um pacote ou podem ser aplicadas separadamente. Para simplificar esta apresentação, a descrição do processamento IPsec discute o encapsulamento e descapsulação dos pacotes em termos de criptografia e descriptografia. O processamento descrito é igualmente válido se a autenticação está sendo aplicada sozinha ou em conjunto com a[0017] IPsec processing can be used to authenticate or encrypt packet content for security reasons. Authentication and encryption can be applied to a package or can be applied separately. To simplify this presentation, the description of IPsec processing discusses the encapsulation and decapsulation of packets in terms of encryption and decryption. The described processing is equally valid if the authentication is being applied alone or together with the

Petição 870190106009, de 20/10/2019, pág. 16/28Petition 870190106009, of 10/20/2019, p. 16/28

9/19 criptografia.9/19 encryption.

[0018] Quando o processamento IPsec é aplicado aos pacotes de saída de um cliente de origem, o processamento criptografa as portas de origem e destino originais e o campo do protocolo e encapsula esse material criptografado em um pacote UDP. O endereço IP de origem do cliente original é mantido no pacote UDP, mas o número da porta de origem é definido como 4500, conforme prescrito pelo RFC 3948 Encapsulamento UDP de pacotes ESP IPsec. Se o pacote UDP passar por um NAPT, o NAPT executará outras transformações. Estas transformações são descritas em detalhes abaixo em relação às Figs. 1 e 2. Especificamente, o NAPT substitui seu próprio endereço IP pelo endereço IP de origem do cliente, atribui um novo número de porta exclusivo ao cabeçalho UDP e acompanha essas traduções para que os pacotes de retorno possam ser mapeados para a fonte original. A RFC 3948 descreve um esquema no qual o número da porta de origem original em um pacote TCP ou UDP não é alterado pelo dispositivo NAPT, pois faz parte do cabeçalho de transporte original que agora é criptografado como parte da carga útil do IPsec ESP. O número da porta no cabeçalho UDP adicionado ao encapsulamento UDP é alterado em vez disso, conforme mencionado acima. Quando um pacote IPsec desse tipo é recebido por um servidor e descriptografado, as portas de origem e destino originais do pacote são reveladas. Para pacotes que não são processados através do IPsec, o dispositivo NAPT converte o endereço IP de origem e a porta de origem originais. Para pacotes não criptografados, os NAPTs garantem que não haja conexões duplicadas (fontes[0018] When IPsec processing is applied to outgoing packets from a source client, the processing encrypts the original source and destination ports and the protocol field and encapsulates this encrypted material in a UDP packet. The source IP address of the original client is maintained in the UDP packet, but the source port number is set to 4500, as prescribed by RFC 3948 UDP Encapsulation of ESP IPsec packets. If the UDP packet passes through a NAPT, NAPT will perform other transformations. These transformations are described in detail below in relation to Figs. 1 and 2. Specifically, NAPT replaces its own IP address with the client's source IP address, assigns a new unique port number to the UDP header, and tracks these translations so that return packets can be mapped to the original source. RFC 3948 describes a scheme in which the original source port number in a TCP or UDP packet is not changed by the NAPT device, as it is part of the original transport header which is now encrypted as part of the IPsec ESP payload. The port number in the UDP header added to the UDP encapsulation is changed instead, as mentioned above. When such an IPsec packet is received by a server and decrypted, the original source and destination ports of the packet are revealed. For packets that are not processed through IPsec, the NAPT device converts the original source IP address and source port. For unencrypted packets, NAPTs ensure that there are no duplicate connections (sources

Petição 870190106009, de 20/10/2019, pág. 17/28Petition 870190106009, of 10/20/2019, p. 17/28

10/19 duplicadas).10/19 duplicates).

[0019] A Fig. 1 mostra um pacote que progride de um cliente 10.1.1.1, através de um NAPT 210.1.1.1 e um NAT[0019] Fig. 1 shows a package that progresses from a 10.1.1.1 client, through a NAPT 210.1.1.1 and a NAT

211.1.1.1 para um host de destino 11.1.1.1 e as alterações nos cabeçalhos e no conteúdo do pacote à medida que o pacote avança.211.1.1.1 for a target host 11.1.1.1 and changes to the packet headers and content as the packet progresses.

[0020] A figura 2 ilustra o progresso do pacote de retorno na direção inversa, do servidor para o cliente. Com referência à Fig. 1, o cliente no endereço IP 10.1.1.1 envia um pacote criptografado destinado ao servidor no endereço IP[0020] Figure 2 illustrates the progress of the return package in the reverse direction, from the server to the client. With reference to Fig. 1, the client at IP address 10.1.1.1 sends an encrypted packet destined for the server at IP address

11.1.1.1. O conteúdo original do pacote antes do processamento pelo IPsec é mostrado em 100. A coluna da esquerda de 100 descreve um tipo de campo do pacote, enquanto a coluna da direita mostra o conteúdo do campo. Observe que o endereço IP de destino em 100 é 211.1.1.1, que é o endereço público do NAT na frente do servidor de destino real11.1.1.1. The original content of the packet before processing by IPsec is shown in 100. The left column of 100 describes a type of field in the packet, while the right column shows the content of the field. Note that the destination IP address at 100 is 211.1.1.1, which is the public NAT address in front of the actual destination server

11.1.1.1. É responsabilidade do NAT 211.1.1.1 mapear pacotes para seus servidores de back-end, como 11.1.1.1. Em 100, as portas de origem e destino são ilustrativamente definidas para 4096 e 21, respectivamente. O conteúdo do pacote após o processamento do IPsec é mostrado em 102. A parte ligeiramente sombreada na parte inferior do pacote 102 ilustra a parte criptografada pelo IPsec. As partes sombreadas mais pesadas de 102 (e o conteúdo do pacote em outros pontos do caminho de transmissão) ilustram campos que foram alterados ou foram adicionados nesse ponto na transmissão. Em 102, as portas de origem e destino reais são valores criptografados de 4096 e 21 por IPsec e não podem ser lidos neste momento. O processamento IPsec adicionou um11.1.1.1. It is the responsibility of NAT 211.1.1.1 to map packages to its back-end servers, such as 11.1.1.1. In 100, the source and destination ports are illustratively set to 4096 and 21, respectively. The contents of the packet after IPsec processing is shown in 102. The slightly shaded part at the bottom of packet 102 illustrates the part encrypted by IPsec. The heavier shaded parts of 102 (and the package contents at other points in the transmission path) illustrate fields that have been changed or added at that point in the transmission. In 102, the actual source and destination ports are encrypted values of 4096 and 21 per IPsec and cannot be read at this time. IPsec processing added a

Petição 870190106009, de 20/10/2019, pág. 18/28Petition 870190106009, of 10/20/2019, p. 18/28

11/19 cabeçalho UDP para indicar que este é um pacote IPsec que11/19 UDP header to indicate that this is an IPsec packet that

[0021] encapsula as portas e o protocolo do pacote original do cliente. As portas de origem e destino no cabeçalho UDP de texto não criptografado adicionado pelo IPsec são definidas como 4500, conforme especificado na RFC 3948. Um campo SPI (Índice de Parâmetro de Segurança) é ilustrativamente definido como 256. O campo SPI, juntamente com um protocolo de segurança e um endereço de destino, aponta para uma associação de segurança entre o cliente[0021] encapsulates the ports and the protocol of the client's original packet. The source and destination ports in the clear text UDP header added by IPsec are set to 4500, as specified in RFC 3948. A SPI (Security Parameter Index) field is illustratively set to 256. The SPI field, along with a security protocol and a destination address, points to a security association between the client

10.1.1.1 e o servidor 11.1.1.1 que governa o algoritmo de criptografia e outros parâmetros de segurança entre essas entidades.10.1.1.1 and the server 11.1.1.1 that governs the encryption algorithm and other security parameters between these entities.

[0022] O pacote em 102 é traduzido pelo NAPT no endereço IP 210.1.1.1 e resulta no pacote mostrado em 104. Nesse ponto, o NAPT 210.1.1.1 alterou o endereço IP de origem para refletir seu próprio endereço 210.1.1.1. O NAPT também define um novo número de porta de origem exclusivo. Na Fig. 1, o número da porta de origem selecionada é ilustrativamente alterado de 4500 para 4501. O NAPT 210.1.1.1 controla essa conversão para pacotes de retorno do servidor 11.1.1.1 e para futuros pacotes de saída do IP do cliente 10.1.1.1 e porta de origem 4500.[0022] The packet at 102 is translated by NAPT at IP address 210.1.1.1 and results in the packet shown at 104. At that point, NAPT 210.1.1.1 changed the source IP address to reflect its own 210.1.1.1 address. NAPT also defines a new unique source port number. In Fig. 1, the selected source port number is illustratively changed from 4500 to 4501. NAPT 210.1.1.1 controls this conversion for packets returned from the server 11.1.1.1 and for future outgoing packets from the client's IP 10.1.1.1 and original port 4500.

[0023] O pacote em 104 é retraduzido pelo NAT[0023] The package at 104 is back-translated by NAT

211.1.1.1 no pacote de entrada do servidor 11.1.1.1. Este pacote de entrada é mostrado em 106. Essencialmente, o endereço IP de destino do pacote é mapeado pelo NAT 211.1.1.1 no endereço de destino real 11.1.1.1 do servidor de destino. O processamento IPsec do pacote remove o cabeçalho UDP adicionado pelo processamento IPsec na origem 10.1.1.1 e211.1.1.1 in the server's incoming packet 11.1.1.1. This incoming packet is shown in 106. Essentially, the packet's destination IP address is mapped by NAT 211.1.1.1 to the actual destination address 11.1.1.1 of the destination server. IPsec processing of the packet removes the UDP header added by IPsec processing at source 10.1.1.1 and

Petição 870190106009, de 20/10/2019, pág. 19/28Petition 870190106009, of 10/20/2019, p. 19/28

12/19 restaura os números reais das portas de origem e de destino. O pacote restaurado, como mostrado em 108, é entregue à porta de destino (21 neste exemplo) para processamento do aplicativo.12/19 restores the source and destination port numbers. The restored package, as shown in 108, is delivered to the destination port (21 in this example) for processing the application.

[0024] Para completar, a Fig. 2 mostra um fluxo de pacotes de retorno do servidor 211.1.1.1 para o cliente original 10.1.1.1. Não há necessidade de discutir esse fluxo de pacotes com nenhum detalhe, porque o problema de origem duplicada abordado pelas modalidades da presente invenção não pode ocorrer para pacotes de retorno.[0024] To complete, Fig. 2 shows a flow of return packets from the server 211.1.1.1 to the original client 10.1.1.1. There is no need to discuss this packet flow in any detail, because the problem of duplicated origin addressed by the modalities of the present invention cannot occur for return packets.

[0025] Com referência novamente à Fig. 1, o pacote em 108 contém como endereço de origem o endereço do NAPT[0025] Referring again to Fig. 1, the packet at 108 contains the NAPT address as the source address

210.1.1.1 e um número da porta de origem 4096. No entanto, é possível que outro cliente, digamos 10.1.1.2, seja o NAPT210.1.1.1 and a source port number 4096. However, it is possible that another client, say 10.1.1.2, is the NAPT

210.1. 1.1 também está enviando pacotes para o host 11.1.1.1 da porta de origem 4096. Portanto, devido à presença de um NAPT no caminho entre o cliente 10.1.1.1 e o host 11.1.1.1, existe a possibilidade de uma fonte duplicada ilegal que resulta em um conflito.210.1. 1.1 is also sending packets to host 11.1.1.1 on source port 4096. Therefore, due to the presence of a NAPT in the path between client 10.1.1.1 and host 11.1.1.1, there is the possibility of an illegal duplicate source that results in a conflict.

[0026] Uma tabela de mapeamento de porta de origem (SPMT) é usada para detectar fontes duplicadas nas quais os pacotes são recebidos de clientes ou servidores atendidos por um NAPT. Um SPMT ilustrativo é mostrado na Figura 3 em 300. Esta tabela é criada dinamicamente quando os pacotes IKE (Troca de Chave de Internet) são recebidos em um servidor quando uma associação de segurança IPsec é estabelecida. Com referência à Fig. 3, quando o IKE negocia uma associação de segurança IPsec que atravessa um NAPT, a pilha TCP / IP é notificada para criar uma entrada de host NAPT como 302 para[0026] A source port mapping table (SPMT) is used to detect duplicate sources in which packets are received from clients or servers served by a NAPT. An illustrative SPMT is shown in Figure 3 at 300. This table is created dynamically when Internet Key Exchange (IKE) packets are received on a server when an IPsec security association is established. Referring to Fig. 3, when IKE negotiates an IPsec security association that traverses a NAPT, the TCP / IP stack is notified to create a NAPT host entry such as 302 for

Petição 870190106009, de 20/10/2019, pág. 20/28Petition 870190106009, of 10/20/2019, p. 20/28

13/19 representar o cliente remoto, representado pelo NAPT. Esta entrada contém o endereço IP de origem do NAPT (210.1.1.1 neste exemplo) e a porta de origem atribuída a este cliente pelo NAPT (4501 neste exemplo). A Fig. 3 mostra um segundo cliente NAPT ilustrativo 304 com o mesmo endereço de origem IP NAPT 210.1.1.1 e uma porta de origem diferente 4502 atribuída pelo NAPT. No lado direito do SPMT 300 estão as entradas da porta de origem. Essas entradas são criadas quando pacotes codificados por IPsec chegam para os quais não há entrada existente. O processo de adição de entradas da porta de origem ocorre após a descriptografia do IPsec. As associações 306 que mapeiam as entradas da porta de origem para as entradas do host NAPT são criadas conforme as entradas da porta de origem são criadas. Uma entrada de host NAPT é removida quando a última associação de segurança é excluída que pertence à entrada. Quando um pacote chega e é descriptografado, o endereço NAPT de origem, a porta de origem do pacote original e o protocolo do pacote original estão disponíveis. As entradas da porta de origem do SPMT são pesquisadas por uma correspondência nesses atributos. Se uma correspondência for encontrada, a entrada do host NAPT associada será verificada quanto à correspondência no endereço de origem NAPT e na porta de origem atribuída pelo NAPT. Se esses últimos atributos não corresponderem, isso significa que dois clientes atrás do NAPT de origem estão tentando usar os mesmos números de porta de origem. Isso representa uma fonte duplicada e o segundo pacote é rejeitado. Se esses últimos atributos corresponderem, o pacote será permitido.13/19 represent the remote client, represented by NAPT. This entry contains the NAPT source IP address (210.1.1.1 in this example) and the source port assigned to this client by NAPT (4501 in this example). Fig. 3 shows a second illustrative NAPT client 304 with the same source IP address NAPT 210.1.1.1 and a different source port 4502 assigned by NAPT. On the right side of the SPMT 300 are the original port entries. These entries are created when IPsec-encoded packets arrive for which there is no existing entry. The process of adding source port entries occurs after IPsec decryption. The 306 associations that map the source port entries to the NAPT host entries are created as the source port entries are created. A NAPT host entry is removed when the last security association is deleted that belongs to the entry. When a packet arrives and is decrypted, the source NAPT address, the source port of the original packet and the protocol of the original packet are available. The SPMT source port entries are searched for a match on these attributes. If a match is found, the associated NAPT host entry is checked for a match at the NAPT source address and the NAPT-assigned source port. If these last attributes do not match, it means that two clients behind the source NAPT are trying to use the same source port numbers. This represents a duplicate source and the second package is rejected. If these last attributes match, the package is allowed.

Petição 870190106009, de 20/10/2019, pág. 21/28Petition 870190106009, of 10/20/2019, p. 21/28

14/1914/19

[0027] As Figs. 4 a 7 ajudam a ilustrar a discussão acima. A Fig. 4 mostra um pacote proveniente de uma fonte NAPT. O endereço e a porta do cliente são assumidos como[0027] Figs. 4-7 help to illustrate the above discussion. Fig. 4 shows a packet from a NAPT source. The customer's address and port are assumed to be

10.1.1.1 e 4096, respectivamente, para ilustração. 400 é o cabeçalho IP atualizado pelo NAPT. Ele contém o endereço NAPT 210.1.1.1 e um endereço de host de destino 11.1.1.1. 402 é o cabeçalho UDP de encapsulamento adicionado pelo processamento IPsec e atualizado pelo NAPT. A porta de origem10.1.1.1 and 4096, respectively, for illustration. 400 is the IP header updated by NAPT. It contains the NAPT address 210.1.1.1 and a destination host address 11.1.1.1. 402 is the tunnel UDP header added by IPsec processing and updated by NAPT. The source port

4500 foi alterada para 4501 pelo NAPT. 404 contém o cabeçalho ESP (Encapsulated Security Protocol) adicionado pelo processamento IPsec. O cabeçalho de transporte TCP 406 contém as portas de origem e destino do cliente original, 4096 e 21. 408 contém os dados de carga útil seguidos pelo trailer ESP. O cabeçalho de transporte 406 e a carga útil 408 são criptografados de acordo com o processamento IPsec. A Fig. 5 representa o pacote da Fig. 4 após descriptografia no host de destino. Observe agora que o endereço NAPT de origem4500 was changed to 4501 by the NAPT. 404 contains the ESP (Encapsulated Security Protocol) header added by IPsec processing. The TCP transport header 406 contains the source and destination ports of the original client, 4096 and 21. 408 contains the payload data followed by the ESP trailer. Transport header 406 and payload 408 are encrypted according to IPsec processing. Fig. 5 represents the package in Fig. 4 after decryption on the destination host. Notice now that the source NAPT address

210.1.1.1 (do campo de pacote 500) e a porta de origem do cliente 4096 e o protocolo (TCP) agora estão disponíveis no campo 506. As entradas da porta de origem do SPMT 300 são pesquisadas usando esses atributos. Neste exemplo, uma correspondência é encontrada em 308. A associação correspondente 306 aponta para a entrada 302 do host NAPT. O endereço NAPT de origem 210.1.1.1 e a porta de origem NAPT210.1.1.1 (from packet field 500) and client source port 4096 and protocol (TCP) are now available in field 506. SPMT 300 source port entries are searched using these attributes. In this example, a match is found at 308. The matching association 306 points to entry 302 of the NAPT host. The source NAPT address 210.1.1.1 and the source NAPT port

4501 correspondem a este pacote (a porta de origem NAPT 4501 está disponível no campo 402 do pacote recebido). Portanto, este pacote está associado a uma conexão correta e é aceito.4501 correspond to this packet (the original port NAPT 4501 is available in field 402 of the received packet). Therefore, this package is associated with a correct connection and is accepted.

[0028] As Figs. 6 e 7 representam um segundo pacote de origem duplicado que será rejeitado. Isso ocorre porque[0028] Figs. 6 and 7 represent a second duplicate source packet that will be rejected. This is because

Petição 870190106009, de 20/10/2019, pág. 22/28Petition 870190106009, of 10/20/2019, p. 22/28

15/19 o endereço de origem NAPT 210.1.1.1 do campo 700, o protocolo do campo 706 e a porta 4096 do cliente de origem correspondem a 308 das entradas da porta de origem do SPMT 300, mas a entrada NAPT associada 302 não corresponde ao número da porta atribuída ao NAPT de 4502 do campo 602 do pacote recebido.15/19 the NAPT source address 210.1.1.1 of field 700, the protocol of field 706 and port 4096 of the originating client correspond to 308 of the SPMT 300 source port entries, but the associated NAPT entry 302 does not correspond to the port number assigned to NAPT 4502 from field 602 of received packet.

[0029] Agora, esse processo é explicado com mais detalhes abaixo em associação com fluxogramas apropriados.[0029] Now, this process is explained in more detail below in association with appropriate flowcharts.

[0030] A Fig. 8 ilustra a inicialização das entradas do host NAPT do SPMT 300 durante as negociações de IKE. A negociação IKE é representada na etapa 802. Após a negociação, a etapa 804 envia uma notificação para a pilha TCP / IP para criar uma entrada de host NAPT associada no SPMT 300. Essa notificação contém o endereço de origem NAPT e o número da porta recuperados dos fluxos IKE .[0030] Fig. 8 illustrates the initialization of the SPMT 300 NAPT host entries during IKE negotiations. IKE negotiation is represented in step 802. After negotiation, step 804 sends a notification to the TCP / IP stack to create an associated NAPT host entry on the SPMT 300. This notification contains the NAPT source address and port number. retrieved from IKE streams.

[0031] A Fig. 9 inicia o processo de detecção de uma fonte duplicada quando um pacote de dados chega ao host de destino. A etapa 902 determina se o pacote recebido contém um pacote ESP encapsulado em um cabeçalho UDP e a porta de origem no cabeçalho UDP não é a porta de encapsulamento UDP predefinida 4500. Se o exposto acima for verdadeiro, o pacote estará usando IPsec, seja para criptografia ou autenticação, e um NAPT está envolvido no caminho de transmissão. Se um pacote estiver usando um protocolo UDP com uma porta de destino de 4500 e os quatro primeiros bytes contiverem dados diferentes de zero, o pacote será identificado como um pacote ESP encapsulado em UDP. Se a resposta na etapa 902 for negativa, existem duas opções alternativas de processamento, a opção 1 em 904 e a opção 2 em 906. As duas são discutidas abaixo. Supondo que a resposta em 902 seja sim, então 908[0031] Fig. 9 starts the process of detecting a duplicate source when a data packet arrives at the destination host. Step 902 determines whether the received packet contains an ESP packet encapsulated in a UDP header and the source port in the UDP header is not the default UDP tunnel port 4500. If the above is true, the packet will be using IPsec, either for encryption or authentication, and a NAPT is involved in the transmission path. If a packet is using a UDP protocol with a destination port of 4500 and the first four bytes contain non-zero data, the packet will be identified as a UDP-encapsulated ESP packet. If the answer in step 902 is negative, there are two alternative processing options, option 1 in 904 and option 2 in 906. Both are discussed below. Assuming the answer in 902 is yes, then 908

Petição 870190106009, de 20/10/2019, pág. 23/28Petition 870190106009, of 10/20/2019, p. 23/28

16/19 continua em A na Fig. 10. Na Fig. 10, a etapa 1002 executa o processamento IPsec necessário para descriptografar o pacote. Como resultado, o endereço de origem NAPT, o número da porta de origem do cliente original e o protocolo são obtidos de forma clara, conforme explicado acima. A etapa 1004 pesquisa as entradas da porta de origem do SPMT 300 nesses atributos. Em 1006, se uma correspondência não for encontrada, uma entrada de porta de origem é criada na etapa 1008 e o processamento de entrada do pacote continua normalmente. Se uma correspondência for encontrada na etapa 1006, a etapa 1010 utilizará a associação 306 correspondente para comparar o endereço de origem e o número da porta atribuídos ao NAPT da entrada do host NAPT correspondente aos mesmos atributos do pacote descriptografado. Se essa comparação falhar, o pacote será rejeitado em 1011. Se uma correspondência for obtida, o processamento do pacote continuará normalmente em 1012.16/19 continues in A in Fig. 10. In Fig. 10, step 1002 performs the IPsec processing required to decrypt the packet. As a result, the NAPT source address, the original customer's source port number and the protocol are obtained clearly, as explained above. Step 1004 searches for the SPMT 300 source port entries in these attributes. At 1006, if a match is not found, a source port entry is created in step 1008 and packet inbound processing continues normally. If a match is found in step 1006, step 1010 uses the corresponding 306 association to compare the source address and port number assigned to the NAPT from the NAPT host entry corresponding to the same attributes as the decrypted packet. If this comparison fails, the packet will be rejected in 1011. If a match is obtained, processing of the packet will normally continue in 1012.

[0032] As opções 1 e 2 da Fig. 9 representam situações nas quais os pacotes são enviados em claro (sem processamento IPsec) ou não há tradução de endereço (NAPT) no caminho. No entanto, fontes duplicadas ainda são possíveis. As opções alternativas 1 e 2 detectam esses pacotes duplicados. O processamento da opção 1 começa em B da Figura 11. Esta opção processa todos os pacotes de dados através da tabela SPMT 300. Isso é feito adicionando outra entrada de host NAPT única designada como NO IPSEC / NAPT. Quando um pacote chega, as entradas da porta de origem do SMPT 300 são pesquisadas conforme explicado acima. Se nenhuma correspondência for encontrada, uma entrada da porta de[0032] Options 1 and 2 in Fig. 9 represent situations in which packets are sent in the clear (without IPsec processing) or there is no address translation (NAPT) in the path. However, duplicate fonts are still possible. Alternative options 1 and 2 detect these duplicate packages. Processing of option 1 starts at B in Figure 11. This option processes all data packets through the SPMT 300 table. This is done by adding another single NAPT host entry designated as NO IPSEC / NAPT. When a packet arrives, the SMPT 300 source port entries are searched as explained above. If no match is found, a door entry

Petição 870190106009, de 20/10/2019, pág. 24/28Petition 870190106009, of 10/20/2019, p. 24/28

17/19 origem será criada em 1106 e associada à entrada do host NAPT NO IPSEC / NAPT. Se uma entrada de porta de origem correspondente for encontrada em 1104, a etapa 1110 determinará se a associação 306 correspondente apontará para a entrada do host NAPT NO IPSEC / NAPT. Nesse caso, o pacote é permitido na etapa 1108. Caso contrário, é rejeitado na 1112. A vantagem desta opção 1 é a simplicidade. Sua desvantagem é que todo o tráfego de dados é processado através da tabela 300 do SPMT.17/19 origin will be created in 1106 and associated with the NAPT NO IPSEC / NAPT host entry. If a corresponding source port entry is found in 1104, step 1110 will determine whether the corresponding 306 association will point to the NAPT NO IPSEC / NAPT host entry. In this case, the package is allowed in step 1108. Otherwise, it is rejected in step 1112. The advantage of this option 1 is simplicity. Its disadvantage is that all data traffic is processed through SPMT table 300.

[0033] A opção 2 usa a filtragem de pacotes IPsec de entrada para rejeitar pacotes de origem duplicados. Depois que o IPsec está em um host, todos os pacotes são processados pela tabela de regras IPsec (o SPD), independentemente de algum pacote ser criptografado ou não. Isso é para verificar se os pacotes não criptografados em uma determinada conexão são de fato permitidos pela regra IPsec que governa a conexão. O processo da opção 2 começa em C da Fig. 12. O pacote recebido é processado através da tabela de regras IPsec (não mostrada) na etapa 1202. Um exemplo de como isso é feito em uma modalidade preferida pode ser determinado a partir da referida patente US 6.347.376 . Esta patente é aqui incorporada por referência na sua totalidade. Se o pacote estiver criptografado (etapa 1204), a etapa 1206 determinará se a regra IPsec de controle exige criptografia. Supondo que esse seja o caso, o pacote é permitido em 1208. Caso contrário, ele será rejeitado em 1210. Se o pacote não for criptografado na etapa 1204, será feita uma determinação em 1212 se a regra IPsec de governo permitir pacotes não criptografados e o pacote for permitido ou rejeitado em[0033] Option 2 uses incoming IPsec packet filtering to reject duplicate source packets. After IPsec is on a host, all packets are processed by the IPsec rules table (the SPD), regardless of whether any packets are encrypted or not. This is to verify that unencrypted packets on a given connection are indeed permitted by the IPsec rule that governs the connection. The option 2 process starts at C in Fig. 12. The received packet is processed through the IPsec rules table (not shown) in step 1202. An example of how this is done in a preferred mode can be determined from that US patent 6,347,376. This patent is hereby incorporated by reference in its entirety. If the packet is encrypted (step 1204), step 1206 will determine whether the IPsec control rule requires encryption. Assuming this is the case, the packet is allowed in 1208. Otherwise, it will be rejected in 1210. If the packet is not encrypted in step 1204, a determination will be made in 1212 if the government IPsec rule allows unencrypted packets and the package is allowed or rejected in

Petição 870190106009, de 20/10/2019, pág. 25/28Petition 870190106009, of 10/20/2019, p. 25/28

18/19 conformidade.18/19 compliance.

[0034] No modo de encapsulamento, o IPsec SA não é necessariamente de ponta a ponta. Por exemplo, um SA pode ser ne entre um host e um gateway que atende a vários clientes ou servidores. No modo de encapsulamento, um único endereço NAPT (que é o endereço IP de origem no cabeçalho de encapsulamento UDP) pode representar potencialmente vários hosts. No modo de encapsulamento, a parte criptografada e encapsulada de um pacote contém o endereço IP original da fonte e um cabeçalho de transporte. Para os fins desta especificação, o endereço IP original da fonte no modo de túnel é chamado de endereço IP da fonte interna. Como o endereço IP de origem interno não é globalmente exclusivo, não é utilizável para roteamento de pacotes ou para representar a origem de uma conexão. A porta de origem original, como contida nas entradas da porta de origem do SPMT 300, e o endereço IP de origem do encapsulamento apenas com a porta UDP, conforme descrito acima para o modo de transporte, podem não ser exclusivos. Para resolver isso, um campo adicional que contém o endereço IP de origem interno é adicionado às entradas da porta de origem (por exemplo, 308) do SPMT 300 na Fig. 3. O endereço IP de origem interno (não disponível no modo de transporte) quando combinado com os outros valores das entradas da porta de origem produzem um identificador exclusivo para hosts protegidos por uma IPsec SA no modo de encapsulamento. O endereço IP de origem interno é adicionado à entrada da porta de origem como parte da etapa 1008. Quando um pacote no modo de encapsulamento chega, as entradas da porta de origem do SPMT são pesquisadas[0034] In encapsulation mode, IPsec SA is not necessarily end-to-end. For example, an SA can be between a host and a gateway that serves multiple clients or servers. In tunnel mode, a single NAPT address (which is the source IP address in the UDP tunnel header) can potentially represent multiple hosts. In encapsulation mode, the encrypted and encapsulated part of a packet contains the original IP address of the source and a transport header. For the purposes of this specification, the original IP address of the source in tunnel mode is called the IP address of the internal source. Since the internal source IP address is not globally unique, it is not usable for packet routing or to represent the source of a connection. The original source port, as contained in the SPMT 300 source port entries, and the encapsulation source IP address with only the UDP port, as described above for the mode of transport, may not be unique. To resolve this, an additional field that contains the internal source IP address is added to the SPMT 300 source port entries (for example, 308) in Fig. 3. The internal source IP address (not available in transport mode) ) when combined with the other values of the source port entries produce a unique identifier for hosts protected by an IPsec SA in encapsulation mode. The internal source IP address is added to the source port entry as part of step 1008. When a packet in tunnel mode arrives, the SPMT source port entries are searched

Petição 870190106009, de 20/10/2019, pág. 26/28Petition 870190106009, of 10/20/2019, p. 26/28

19/19 conforme descrito na etapa 1004 para encontrar uma associação a uma entrada do host NAPT e etapa 1010, além do que já foi descrito, verifica se o endereço IP do cliente interno de origem obtido a partir do pacote descriptografado é o mesmo que o endereço IP do cliente na entrada da porta de origem. Se essa verificação falhar, o pacote será rejeitado19/19 as described in step 1004 to find an association with a NAPT host entry and step 1010, in addition to what has already been described, it checks whether the IP address of the internal source client obtained from the decrypted packet is the same as the client IP address at the source port entry. If this check fails, the packet will be rejected

[0035] Será evidente para os versados na técnica que as modalidades preferidas podem ter muitas variações menores. Por exemplo, o protocolo ICMP não usa números de porta; em vez disso, eles usam identificadores de consulta. No que diz respeito à invenção, conforme divulgado e reivindicado, os identificadores de consulta são equivalentes aos números de porta.[0035] It will be evident to those skilled in the art that the preferred modalities can have many minor variations. For example, the ICMP protocol does not use port numbers; instead, they use query identifiers. With regard to the invention, as disclosed and claimed, query identifiers are equivalent to port numbers.

Claims (6)

1. Método para impedir conflitos de fonte duplicada em um protocolo de rede que usa endereços de rede, protocolos e os números de porta para identificar conexões caracterizado pelo fato de que compreende:1. Method for preventing duplicate source conflicts in a network protocol that uses network addresses, protocols and port numbers to identify connections characterized by the fact that it comprises: receber um pacote inbound em uma conexão em um host de destino a partir de um cliente de fonte remota;receive an inbound packet on a connection to a destination host from a remote source client; em resposta a uma determinação de que o pacote foi traduzido por um tradutor de endereço de rede e que o pacote foi recebido de acordo com uma associação de segurança definindo como os pacotes são submetidos a uma ou mais criptografias e autenticação para comunicação entre o host e o cliente fonte, determinar se o número de porta está disponível dentro de um intervalo de números de porta para associação de segurança (1112) e, onde um numero de porta está disponível, atribuir o número de porta disponível para a conexão; e em resposta a determinação de que nenhum número de porta está disponível dentro de um intervalo de números de porta, rejeitar o pacote como uma fonte duplicada (1114).in response to a determination that the packet was translated by a network address translator and that the packet was received according to a security association defining how the packets are subjected to one or more encryptions and authentication for communication between the host and the source client, determine whether the port number is available within a range of security association port numbers (1112) and, where a port number is available, assign the available port number for the connection; and in response to the determination that no port number is available within a range of port numbers, reject the packet as a duplicate source (1114). 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda a manutenção de uma lista de números de portas atribuíveis para cada cliente de fonte remota e os estados atribuído e não atribuído de cada número de porta na lista.2. Method, according to claim 1, characterized by the fact that it also comprises the maintenance of a list of port numbers attributable to each remote source client and the assigned and unassigned states of each port number in the list. 3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que cada lista de números de portas atribuíveis é um vetor de bits em que as posições de bits identificam números de porta e os estados de bit 3. Method according to claim 2, characterized by the fact that each list of assignable port numbers is a vector of bits in which the bit positions identify port numbers and the bit states Petição 870180154978, de 26/11/2018, pág. 33/35Petition 870180154978, of 11/26/2018, p. 33/35 2/3 descrevem os estados atribuído e não atribuído dos números de porta.2/3 describe the assigned and unassigned states of the port numbers. 4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda a manutenção de uma Tabela de Tradução da Porta fonte que associa cada conexão do lado do cliente com um número de porta traduzido.4. Method, according to claim 1, characterized by the fact that it also includes the maintenance of a Source Port Translation Table that associates each client-side connection with a translated port number. 5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que a Tabela de Tradução da Porta fonte contém as entradas de porta fonte e entradas de porta fonte traduzidas, em que cada entrada de porta fonte é unicamente associada a uma entrada de porta fonte traduzida e cada entrada de porta fonte contém um endereço fonte da Internet, um número de porta fonte do UDP atribuído por um NAPT, um número de porta fonte do cliente e um identificador de protocolo do cliente e cada entrada de porta fonte traduzida contém um endereço fonte da Internet, um número de porta fonte do cliente traduzido e um identificador de protocolo do cliente, em que as entradas de porta fonte traduzidas são buscadas em pacotes de entrada para identificar um número de porta previamente atribuído a uma conexão de cliente remoto e as entradas de porta fonte traduzidas são buscadas em pacotes de saída para identificar um número de porta de cliente de um número de porta traduzido previamente atribuído.5. Method, according to claim 4, characterized by the fact that the Source Port Translation Table contains the source port entries and translated source port entries, in which each source port entry is uniquely associated with an input port. translated source port and each source port entry contains an Internet source address, a UDP source port number assigned by a NAPT, a client source port number and a client protocol identifier, and each translated source port entry contains an Internet source address, a translated client source port number and a client protocol identifier, where translated source port entries are fetched from incoming packets to identify a port number previously assigned to a remote client connection and the translated source port entries are fetched from outgoing packets to identify a client port number from a previously assigned translated port number. 6. Aparelho para impedir conflitos de fonte duplicada em um protocolo de rede que usa endereços de rede, protocolos e números de porta para identificar conexões, caracterizado por compreender:6. Apparatus to prevent duplicate source conflicts in a network protocol that uses network addresses, protocols and port numbers to identify connections, characterized by comprising: Petição 870180154978, de 26/11/2018, pág. 34/35Petition 870180154978, of 11/26/2018, p. 34/35 3/3 meios para receber um pacote de entrada em uma conexão em um host de destino de um cliente fonte remoto;3/3 means for receiving an incoming packet over a connection on a destination host from a remote source client; meio responsivo a uma determinação de que o pacote foi traduzido por um tradutor de porta de endereço de rede e que o pacote é recebido de acordo com uma associação de segurança definindo como os pacotes estão sujeitos a uma ou mais criptografia e autenticação para comunicação entre o host e o cliente fonte, para determinar se um número de porta está disponível dentro de um intervalo de números de porta para a associação de segurança (1112) e, onde um número de porta está disponível, atribuindo o número de porta disponível à conexão; e meio responsivo a uma determinação de que nenhum número de porta está disponível dentro do intervalo de números de porta para rejeitar o pacote como uma fonte duplicada (1114) .means responsive to a determination that the packet has been translated by a network address port translator and that the packet is received according to a security association defining how the packets are subject to one or more encryption and authentication for communication between the host and the source client, to determine if a port number is available within a range of port numbers for the security association (1112) and, where a port number is available, by assigning the available port number to the connection; and means responsive to a determination that no port number is available within the range of port numbers to reject the packet as a duplicate source (1114).
BRPI0607516-9A 2005-04-11 2006-04-07 METHOD TO PREVENT DUPLICATE SOURCES IN A NETWORK PROTOCOL BRPI0607516B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/907,659 US8787393B2 (en) 2005-04-11 2005-04-11 Preventing duplicate sources from clients served by a network address port translator
US10/907,659 2005-04-11
PCT/EP2006/061443 WO2006108808A1 (en) 2005-04-11 2006-04-07 Preventing duplicate sources from clients served by a network address port translator

Publications (2)

Publication Number Publication Date
BRPI0607516A2 BRPI0607516A2 (en) 2012-01-17
BRPI0607516B1 true BRPI0607516B1 (en) 2020-06-02

Family

ID=36645677

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0607516-9A BRPI0607516B1 (en) 2005-04-11 2006-04-07 METHOD TO PREVENT DUPLICATE SOURCES IN A NETWORK PROTOCOL

Country Status (10)

Country Link
US (2) US8787393B2 (en)
EP (1) EP1872562B1 (en)
JP (1) JP4482601B2 (en)
CN (1) CN101133625B (en)
AT (1) ATE460039T1 (en)
BR (1) BRPI0607516B1 (en)
CA (1) CA2602789C (en)
DE (1) DE602006012644D1 (en)
TW (1) TWI380650B (en)
WO (1) WO2006108808A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852961B2 (en) * 2004-05-20 2010-12-14 Samsung Electronics Co., Ltd. Digital broadcasting transmission/reception devices capable of improving a receiving performance and signal processing method thereof
US8787393B2 (en) 2005-04-11 2014-07-22 International Business Machines Corporation Preventing duplicate sources from clients served by a network address port translator
US7962652B2 (en) 2006-02-14 2011-06-14 International Business Machines Corporation Detecting network topology when negotiating IPsec security associations that involve network address translation
JP2009111437A (en) * 2007-10-26 2009-05-21 Hitachi Ltd Network system
US8108514B2 (en) 2008-04-02 2012-01-31 International Business Machines Corporation High availability of internet protocol addresses within a cluster
CN101674606A (en) * 2009-09-25 2010-03-17 华为技术有限公司 Data transmission method and device
GB2474843B (en) * 2009-10-27 2012-04-25 Motorola Solutions Inc Method for providing security associations for encrypted packet data
US8806033B1 (en) * 2011-06-30 2014-08-12 Juniper Networks, Inc. Effective network identity pairing
US8775614B2 (en) 2011-09-12 2014-07-08 Microsoft Corporation Monitoring remote access to an enterprise network
CN103139189B (en) * 2011-12-05 2017-03-22 京信通信系统(中国)有限公司 Internet protocol security (IPSec) tunnel sharing method, IPSec tunnel sharing system and IPSec tunnel sharing equipment
US9467326B2 (en) * 2012-12-03 2016-10-11 Hewlett-Packard Development Company, L.P. Rate limiting mechanism based on device load/capacity or traffic content
CN105515990A (en) * 2014-09-23 2016-04-20 中国电信股份有限公司 Two-dimensional-information-based way finding method and access gateway
CN106899474B (en) * 2016-12-07 2020-06-09 新华三技术有限公司 Message forwarding method and device
FR3072233B1 (en) * 2017-10-10 2020-11-27 Bull Sas PROCESS FOR GENERATING REQUESTS FOR THE SEGMENTATION OF THE SURVEILLANCE OF AN INTERCONNECTION NETWORK AND ASSOCIATED EQUIPMENT
US11381665B2 (en) 2019-02-18 2022-07-05 International Business Machines Corporation Tracking client sessions in publish and subscribe systems using a shared repository
US11526499B2 (en) 2019-02-18 2022-12-13 International Business Machines Corporation Adaptively updating databases of publish and subscribe systems using optimistic updates
CN112242943B (en) * 2020-11-26 2022-08-16 迈普通信技术股份有限公司 IPSec tunnel establishment method and device, branch equipment and center-end equipment
US11778071B2 (en) * 2021-01-26 2023-10-03 Avago Technologies International Sales Pte. Limited Systems and methods for converting between a lossy communication protocol and a lossless communication protocol

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758084A (en) * 1995-02-27 1998-05-26 Hewlett-Packard Company Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections
US5996019A (en) * 1995-07-19 1999-11-30 Fujitsu Network Communications, Inc. Network link access scheduling using a plurality of prioritized lists containing queue identifiers
US6560220B2 (en) * 1997-06-20 2003-05-06 Telefonaktiebolaget L M Ericsson (Publ) Network access device and telecommunications signaling
US6138144A (en) * 1997-06-24 2000-10-24 At&T Corp. Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network
US6615357B1 (en) * 1999-01-29 2003-09-02 International Business Machines Corporation System and method for network address translation integration with IP security
US6347376B1 (en) 1999-08-12 2002-02-12 International Business Machines Corp. Security rule database searching in a network security environment
DE60018723T2 (en) * 2000-06-26 2006-05-11 Alcatel Address scheme for an IP-based radio access network
US7120697B2 (en) * 2001-05-22 2006-10-10 International Business Machines Corporation Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
JP2002232450A (en) * 2001-01-31 2002-08-16 Furukawa Electric Co Ltd:The Network repeater, data communication system, data communication method and program making computer perform the method
JP2004528774A (en) * 2001-02-20 2004-09-16 イノメディア プライベート. リミテッド. System and method for establishing a channel for a real-time streaming media communication system
EP1368952A1 (en) * 2001-03-16 2003-12-10 Matsushita Electric Industrial Co., Ltd. Method and apparatus for setting up a firewall
US20020144024A1 (en) * 2001-03-30 2002-10-03 Kumpf David A. Method and system for assigning peripheral devices to logical ports of a network peripheral server
DE60223451T2 (en) * 2001-06-14 2008-11-27 Hitachi, Ltd. System for acknowledging data packets
US7684317B2 (en) * 2001-06-14 2010-03-23 Nortel Networks Limited Protecting a network from unauthorized access
US6898652B2 (en) * 2001-08-22 2005-05-24 General Atomics Wireless device attachment and detachment system, apparatus and method
US7747758B2 (en) * 2001-10-29 2010-06-29 International Business Machines Corporation Dynamic port assignment
US20030140089A1 (en) * 2001-11-01 2003-07-24 Hines Kenneth J. Inter-applet communication using an applet agent
US20030154306A1 (en) * 2002-02-11 2003-08-14 Perry Stephen Hastings System and method to proxy inbound connections to privately addressed hosts
JP3819804B2 (en) * 2002-05-09 2006-09-13 日本電信電話株式会社 Communication system using network interface having IP network connection function and apparatus thereof
US7143137B2 (en) * 2002-06-13 2006-11-28 Nvidia Corporation Method and apparatus for security protocol and address translation integration
US7339889B2 (en) * 2002-06-20 2008-03-04 Nortel Networks Limited Control plane architecture for automatically switched optical network
KR100479261B1 (en) * 2002-10-12 2005-03-31 한국전자통신연구원 Data transmitting method on network address translation and apparatus therefor
US7346770B2 (en) 2002-10-31 2008-03-18 Microsoft Corporation Method and apparatus for traversing a translation device with a security protocol
US7386881B2 (en) * 2003-01-21 2008-06-10 Swander Brian D Method for mapping security associations to clients operating behind a network address translation device
US20040193677A1 (en) * 2003-03-24 2004-09-30 Shaul Dar Network service architecture
JP4352748B2 (en) * 2003-04-21 2009-10-28 パナソニック株式会社 Relay device
US7633948B2 (en) * 2003-07-07 2009-12-15 Panasonic Corporation Relay device and server, and port forward setting method
US7283517B2 (en) * 2003-07-22 2007-10-16 Innomedia Pte Stand alone multi-media terminal adapter with network address translation and port partitioning
US7287077B2 (en) * 2003-08-07 2007-10-23 International Business Machines Corporation Reservation of TCP/UDP ports using UID, GID or process name
CN1317874C (en) * 2003-09-27 2007-05-23 财团法人资讯工业策进会 Network address port conversion gateway and method for providing virtual host service fast inquiry replacement
US7424025B2 (en) * 2003-10-01 2008-09-09 Santera Systems, Inc. Methods and systems for per-session dynamic management of media gateway resources
JP3762402B2 (en) * 2003-10-07 2006-04-05 キヤノン株式会社 Data processing apparatus and method
US20050166206A1 (en) * 2004-01-26 2005-07-28 Parson Dale E. Resource management in a processor-based system using hardware queues
JP4555592B2 (en) * 2004-03-31 2010-10-06 富士通株式会社 Packet processing system
US20050265252A1 (en) * 2004-05-27 2005-12-01 International Business Machines Corporation Enhancing ephemeral port allocation
US7366182B2 (en) * 2004-08-13 2008-04-29 Qualcomm Incorporated Methods and apparatus for efficient VPN server interface, address allocation, and signaling with a local addressing domain
US7656795B2 (en) * 2005-04-11 2010-02-02 International Business Machines Corporation Preventing duplicate sources from clients served by a network address port translator
US8787393B2 (en) 2005-04-11 2014-07-22 International Business Machines Corporation Preventing duplicate sources from clients served by a network address port translator

Also Published As

Publication number Publication date
CA2602789C (en) 2015-10-06
US8787393B2 (en) 2014-07-22
TW200709629A (en) 2007-03-01
EP1872562B1 (en) 2010-03-03
DE602006012644D1 (en) 2010-04-15
JP4482601B2 (en) 2010-06-16
BRPI0607516A2 (en) 2012-01-17
CA2602789A1 (en) 2006-10-19
CN101133625B (en) 2011-10-12
WO2006108808A1 (en) 2006-10-19
TWI380650B (en) 2012-12-21
US9253146B2 (en) 2016-02-02
ATE460039T1 (en) 2010-03-15
EP1872562A1 (en) 2008-01-02
US20060227770A1 (en) 2006-10-12
CN101133625A (en) 2008-02-27
JP2008536418A (en) 2008-09-04
US20140244862A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
BRPI0607516B1 (en) METHOD TO PREVENT DUPLICATE SOURCES IN A NETWORK PROTOCOL
BRPI0607515B1 (en) method for preventing duplicate fonts in a network protocol
JP3793083B2 (en) Method and apparatus for providing security by network address translation using tunneling and compensation
US9641434B1 (en) Private network address obfuscation and verification
JP3457645B2 (en) How to authenticate packets when network address translation and protocol translation are present
US20150304427A1 (en) Efficient internet protocol security and network address translation
CA2841166C (en) Dynamic vpn address allocation
Srisuresh et al. RFC2663: IP Network Address Translator (NAT) Terminology and Considerations
JP2009111437A (en) Network system
KR100479261B1 (en) Data transmitting method on network address translation and apparatus therefor
Tuexen et al. UDP encapsulation of Stream Control Transmission Protocol (SCTP) packets for end-host to end-host communication
US20060268863A1 (en) Transparent address translation methods
Ahmad et al. IPSec over heterogeneous IPv4 and IPv6 networks: issues and implementation
Penno et al. Updates to Network Address Translation (NAT) Behavioral Requirements
JP4769877B2 (en) Network topology detection when negotiating IPSEC security associations
Penno et al. RFC 7857: Updates to Network Address Translation (NAT) Behavioral Requirements
Tuexen et al. RFC 6951: UDP Encapsulation of Stream Control Transmission Protocol (SCTP) Packets for End-Host to End-Host Communication
Demerjian et al. Network Security using E-DHCP over NAT/IPSEC.
Ollikainen NAT traversal for IPsec
JP2010278638A (en) Tunnel communication device and method
Demerjian et al. A secure way to combine IPsec, NAT & DHCP
Kim et al. New mechanisms for end-to-end security using IPSec in NAT-based private networks

Legal Events

Date Code Title Description
B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: APRESENTE O DEPOSITANTE DESENHO DO PEDIDO ADAPTADO AO AN NO 127/98, JA QUE CONSTA NA PUBLICACAO WO 2006/108808 A1 DE 19/10/2006.

B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: EM ADITAMENTO A EXIGENCIA PUBLICADA NA REVISTA 1973 DE 28/10/2008, APRESENTE O DEPOSITANTE A TRADUCAO DOS DESENHOS QUE CONSTAM NO PEDIDO.

B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B04C Request for examination: application reinstated [chapter 4.3 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 02/06/2020, OBSERVADAS AS CONDICOES LEGAIS.