IP Library › Granted Patent US 12,316,599
Granted Patent B2
US 12,316,599 · App. 18/620,619 · Granted May 27, 2025

Anonymizing server-side addresses

Inventors: Pascal Thubert (Roquefort les Pins, FR); Pradeep Kumar Kathail (Los Altos, CA); Eric Levy-Abegnoli (Roquefort les Pins, FR); David A. Maluf (Mountain View, CA)
Assignee: Cisco Technology, Inc.
H04L61/2503H04L61/4511
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,316,599
App. No.
18/620,619
Granted
May 27, 2025
Kind
B2
Abstract

Techniques for using Network Address Translation (NAT), Mobile Internet Protocol (MIP), and/or other techniques in conjunction with Domain Name System (DNS) to anonymize server-side addresses in data communications. Rather than having DNS provide a client device with an IP address of an endpoint device, such as a server, the DNS instead returns a virtual IP (VIP) address that is mapped to the client device and the endpoint device. In this way, IP addresses of servers are obfuscated by a virtual network of VIP addresses. The client device may then communicate data packets to the server using the VIP address as the destination address, and a virtual network service that works in conjunction with DNS can convert the VIP address to the actual IP address of the server using NAT and forward the data packet onto the server.

Claims (92)

1. A system that anonymizes actual Internet Protocol (IP) addresses of destination endpoints, the system comprising:

one or more processors; and

one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

mapping an actual IP address of a destination endpoint to a randomized IP address;

receiving a request to provide the actual IP address to a source device that is requesting to be a source of traffic that is communicated with the destination endpoint; and

providing the randomized IP address for use by the source device to populate headers of packets in the traffic that are generated at the source device and sent to the destination endpoint, wherein the source device is not provided with the actual IP address of the destination endpoint.

2. The system of claim 1 , wherein the randomized IP address is a first randomized IP address, the operations further comprising:

mapping the first randomized IP address to a first client identifier (ID) associated with the source device;

receiving another request to provide the actual IP address to another source device;

identifying a second randomized IP address to provide to the other source device;

providing the second randomized IP address for use by the other source device to contact the destination endpoint; and

mapping the second randomized IP address to a second client ID associated with the other source device.

3. The system of claim 1 , the operations further comprising:

receiving a packet having a destination address that is the randomized IP address;

determining that a source address of the packet is a source IP address of the source device sent the packet;

performing Network Address Translation (NAT) by changing the destination address of the packet from the randomized IP address to the actual IP address of the destination endpoint; and

sending the packet to a next hop associated with the actual IP address of the destination endpoint.

4. The system of claim 3 , the operations further comprising:

performing NAT by changing the source address of the packet from the source IP address to a particular system address associated with the system; and

mapping the particular system address to the source IP address of the source device.

5. The system of claim 4 , the operations further comprising:

receiving a return packet from the endpoint;

determining that a destination address of the return packet is the particular system address;

based at least in part on the mapping of the particular system address to the source IP address, performing NAT by changing the destination address of the return packet from the particular system IP address to the source IP address; and

sending the return packet to the source device.

6. The system of claim 1 , the operations further comprising:

receiving a packet from a source device;

determining that a destination address of the packet is the randomized IP address;

determining that the source device is not the source device to which the randomized IP address was provided; and

dropping the packet.

7. The system of claim 1 , the operations further comprising:

receiving a packet from a source device;

determining that a destination address of the packet is the randomized IP address;

determining that the source device is the source device to which the randomized IP address was provided; and

forwarding the packet to a next hop associated with the endpoint.

8. The system of claim 1 , wherein the system includes a Network Address Translation (NAT) service and a Domain Name Service (DNS).

9. A method for anonymizing actual Internet Protocol (IP) addresses of destination endpoints, the method comprising:

mapping an actual IP address of a destination endpoint to a randomized IP address;

receiving a request to provide the actual IP address to a source device that is requesting to be a source of traffic that is communicated with the destination endpoint; and

providing the randomized IP address for use by the source device to populate headers of packets in the traffic that are generated at the source device and sent to the destination endpoint, wherein the source device is not provided with the actual IP address of the destination endpoint.

10. The method of claim 9 , wherein the randomized IP address is a first randomized IP address, further comprising:

mapping the first randomized IP address to a first client identifier (ID) associated with the source device;

receiving another request to provide the actual IP address to another source device;

identifying a second randomized IP address to provide to the other source device;

providing the second randomized IP address for use by the other source device to contact the destination endpoint; and

mapping the second randomized IP address to a second client ID associated with the other source device.

11. The method of claim 9 , further comprising:

receiving a packet having a destination address that is the randomized IP address;

determining that a source address of the packet is a source IP address of the source device sent the packet;

performing Network Address Translation (NAT) by changing the destination address of the packet from the randomized IP address to the actual IP address of the destination endpoint; and

sending the packet to a next hop associated with the actual IP address of the destination endpoint.

12. The method of claim 11 , further comprising:

performing NAT by changing the source address of the packet from the source IP address to a particular system address associated with a system; and

mapping the particular system address to the source IP address of the source device.

13. The method of claim 12 , further comprising:

receiving a return packet from the endpoint;

determining that a destination address of the return packet is the particular system address;

based at least in part on the mapping of the particular system address to the source IP address, performing NAT by changing the destination address of the return packet from the particular system IP address to the source IP address; and

sending the return packet to the source device.

14. The method of claim 9 , further comprising:

receiving a packet from a source device;

determining that a destination address of the packet is the randomized IP address;

determining that the source device is not the source device to which the randomized IP address was provided; and

dropping the packet.

15. The method of claim 9 , further comprising:

receiving a packet from a source device;

determining that a destination address of the packet is the randomized IP address;

determining that the source device is the source device to which the randomized IP address was provided; and

forwarding the packet to a next hop associated with the endpoint.

16. One or more non-transitory computer-readable media storing computer executable instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

mapping an actual Internet Protocol (IP) address of a destination endpoint to a randomized IP address;

receiving a request to provide the actual IP address to a source device that is requesting to be a source of traffic that is communicated with the destination endpoint; and

providing the randomized IP address for use by the source device to populate headers of packets in the traffic that are generated at the source device and sent to the destination endpoint, wherein the source device is not provided with the actual IP address of the destination endpoint.

17. The one or more non-transitory computer-readable media of claim 16 wherein the randomized IP address is a first randomized IP address, the operations further comprising:

mapping the first randomized IP address to a first client identifier (ID) associated with the source device;

receiving another request to provide the actual IP address to another source device;

identifying a second randomized IP address to provide to the other source device;

providing the second randomized IP address for use by the other source device to contact the destination endpoint; and

mapping the second randomized IP address to a second client ID associated with the other source device.

18. The one or more non-transitory computer-readable media of claim 16 , the operations further comprising:

receiving a packet having a destination address that is the randomized IP address;

determining that a source address of the packet is a source IP address of the source device sent the packet;

performing Network Address Translation (NAT) by changing the destination address of the packet from the randomized IP address to the actual IP address of the destination endpoint; and

sending the packet to a next hop associated with the actual IP address of the destination endpoint.

19. The one or more non-transitory computer-readable media of claim 18 , the operations further comprising:

performing NAT by changing the source address of the packet from the source IP address to a particular system address associated with a system; and

mapping the particular system address to the source IP address of the source device.

20. The one or more non-transitory computer-readable media of claim 19 , the operations further comprising:

receiving a return packet from the endpoint;

determining that a destination address of the return packet is the particular system address;

based at least in part on the mapping of the particular system address to the source IP address, performing NAT by changing the destination address of the return packet from the particular system IP address to the source IP address; and

sending the return packet to the source device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2024
From: THUBERT, PASCAL; KATHAIL, PRADEEP KUMAR; LEVY-ABEGNOLI, ERIC; MALUF, DAVID A.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 066939/0953 →
Continuity (3)
Continuation 18195136 · May 9, 2023
Continuation 17530244 · Nov 18, 2021
Related Publication 20240244028A1 · Jul 18, 2024
References Cited (123)
US 6434627B1 · Millet · 2002 [cited by examiner]
US 7072657B2 · Watanabe · 2006 [cited by examiner]
US 7162529B2 · Morishige · 2007 [cited by examiner]
US 7313631B1 · Sesmun · 2007 [cited by examiner]
US 7453852B2 · Buddhikot · 2008 [cited by examiner]
US 7539159B2 · Devarapalli · 2009 [cited by examiner]
US 7564825B2 · Olivereau · 2009 [cited by examiner]
US 7660296B2 · Fletcher · 2010 [cited by examiner]
US 7680123B2 · Veerepalli · 2010 [cited by examiner]
US 7725600B2 · Zheng · 2010 [cited by examiner]
US 7848757B2 · Duggi · 2010 [cited by examiner]
US 7949785B2 · Alkhatib · 2011 [cited by examiner]
US 8170017B2 · Fletcher · 2012 [cited by examiner]
US 8175056B2 · Suh · 2012 [cited by examiner]
US 8254311B2 · Morimoto · 2012 [cited by examiner]
US 8385300B2 · Andreasen · 2013 [cited by examiner]
US 8464334B1 · Singhal · 2013 [cited by examiner]
US 8477685B2 · Yan · 2013 [cited by examiner]
US 8489670B1 · Fletcher · 2013 [cited by examiner]
US 8588233B1 · Lohner · 2013 [cited by examiner]
US 8665873B2 · Sarikaya · 2014 [cited by examiner]
US 8730966B2 · Awano · 2014 [cited by examiner]
US 8843657B2 · Thubert · 2014 [cited by examiner]
US 8849983B2 · Williams · 2014 [cited by examiner]
US 8891522B2 · Fletcher · 2014 [cited by examiner]
US 8914445B2 · Sarikaya · 2014 [cited by examiner]
US 9015318B1 · Batz · 2015 [cited by examiner]
US 9137196B2 · Lohner · 2015 [cited by examiner]
US 9137339B2 · Fletcher · 2015 [cited by examiner]
US 9154900B1 · Addepalli · 2015 [cited by examiner]
US 9531667B2 · Lohner · 2016 [cited by examiner]
US 9642077B2 · Mathai · 2017 [cited by examiner]
US 9736278B1 · Hammam · 2017 [cited by examiner]
US 9813343B2 · Williams · 2017 [cited by examiner]
US 9876760B2 · Lohner · 2018 [cited by examiner]
US 10079803B2 · Lohner · 2018 [cited by examiner]
US 10084756B2 · Tatlicioglu · 2018 [cited by examiner]
US 10135915B2 · Tang · 2018 [cited by examiner]
US 10244084B2 · Fletcher · 2019 [cited by examiner]
US 10257157B2 · Martini · 2019 [cited by examiner]
US 10270809B2 · Williams · 2019 [cited by examiner]
US 10541925B2 · Arora · 2020 [cited by examiner]
US 10542057B2 · Gero · 2020 [cited by examiner]
US 10630489B2 · Hughes · 2020 [cited by examiner]
US 10728932B2 · Ohta · 2020 [cited by examiner]
US 10778637B2 · Jeong · 2020 [cited by examiner]
US 10903998B2 · Nicol · 2021 [cited by examiner]
US 10951672B2 · Gero · 2021 [cited by examiner]
US 10986027B1 · Sears · 2021 [cited by examiner]
US 11025477B2 · Ruel · 2021 [cited by examiner]
US 11032257B1 · Rankin · 2021 [cited by examiner]
US 11055166B2 · Rankin · 2021 [cited by examiner]
US 11070473B2 · Williams · 2021 [cited by examiner]
US 11082334B2 · Parasmal · 2021 [cited by examiner]
US 11128608B2 · Gudur · 2021 [cited by examiner]
US 11290429B1 · Ashley · 2022 [cited by examiner]
US 11290765B2 · Williams · 2022 [cited by examiner]
US 11411996B2 · Williams · 2022 [cited by examiner]
US 11418352B2 · Williams · 2022 [cited by examiner]
US 11432346B2 · Ohta · 2022 [cited by examiner]
US 11481514B1 · Li · 2022 [cited by examiner]
US 11558430B2 · Hashida · 2023 [cited by examiner]
US 11658818B2 · Nicol · 2023 [cited by examiner]
US 11683286B2 · Thubert · 2023 [cited by examiner]
US 11690092B2 · Ohta · 2023 [cited by examiner]
US 11700233B2 · St. Pierre · 2023 [cited by examiner]
US 11716368B2 · Gero · 2023 [cited by examiner]
US 11729184B2 · Rankin · 2023 [cited by examiner]
US 11737128B2 · Ohta · 2023 [cited by examiner]
US 11792155B2 · Rao · 2023 [cited by examiner]
US 11799824B2 · Rao · 2023 [cited by examiner]
US 11805061B2 · Sears · 2023 [cited by examiner]
US 11818279B2 · Williams · 2023 [cited by examiner]
US 11861025B1 · Rankin · 2024 [cited by examiner]
US 11916876B2 · St. Pierre · 2024 [cited by examiner]
US 11979366B2 · Thubert · 2024 [cited by examiner]
US 12034707B2 · Maluf · 2024 [cited by examiner]
US 20030037235A1 · Aziz · 2003 [cited by examiner]
US 20030061170A1 · Uzo · 2003 [cited by applicant]
US 20030233452A1 · Maufer et al. · 2003 [cited by applicant]
US 20040139227A1 · Takeda · 2004 [cited by applicant]
US 20040249973A1 · Alkhatib · 2004 [cited by examiner]
US 20070081530A1 · Nomura · 2007 [cited by examiner]
US 20070183363A1 · Liden · 2007 [cited by examiner]
US 20080059596A1 · Ogawa · 2008 [cited by applicant]
US 20080320119A1 · Achan et al. · 2008 [cited by applicant]
US 20090031042A1 · Phatak · 2009 [cited by applicant]
US 20130212240A1 · Thornewell et al. · 2013 [cited by applicant]
US 20140007238A1 · Magee et al. · 2014 [cited by applicant]
US 20140092899A1 · Krishna et al. · 2014 [cited by applicant]
US 20160226815A1 · Wan · 2016 [cited by examiner]
US 20170032147A1 · Denner et al. · 2017 [cited by applicant]
US 20170111389A1 · Kasman et al. · 2017 [cited by applicant]
US 20170155678A1 · Ara Jo et al. · 2017 [cited by applicant]
US 20170195237A1 · Parasmal · 2017 [cited by examiner]
US 20170374034A1 · Zuniga et al. · 2017 [cited by applicant]
US 20170374088A1 · Pappu et al. · 2017 [cited by applicant]
US 20180035440A1 · Ohta · 2018 [cited by examiner]
US 20190199637A1 · Paramasivam · 2019 [cited by applicant]
US 20190386969A1 · Verzun et al. · 2019 [cited by applicant]
US 20200028819A1 · Hugot · 2020 [cited by applicant]
US 20210014939A1 · Verzun et al. · 2021 [cited by applicant]
US 20210352045A1 · Kodavanty · 2021 [cited by examiner]
US 20220060894A1 · Pazhyannur et al. · 2022 [cited by applicant]
US 20220103525A1 · Shribman et al. · 2022 [cited by applicant]
US 20220171359A1 · Nagata · 2022 [cited by examiner]
US 20220394063A1 · Pauly · 2022 [cited by examiner]
US 20230024475A1 · Mandeyam · 2023 [cited by examiner]
US 20230025679A1 · Mandeyam · 2023 [cited by examiner]
US 20230155978A1 · Thubert · 2023 [cited by examiner]
US 20230179579A1 · Maluf · 2023 [cited by examiner]
US 20230275868A1 · Thubert et al. · 2023 [cited by applicant]
US 20240015133A1 · Rao · 2024 [cited by examiner]
US 20240039897A1 · Gundavelli · 2024 [cited by examiner]
US 20240297868A1 · Maluf · 2024 [cited by examiner]
CN 106713528A · 2017 [cited by applicant]
EP 3972218A1 · 2022 [cited by applicant]
WO 2021014204A1 · 2021 [cited by applicant]
WO 2023091574A1 · 2023 [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2022/050254, mailed Jan. 25, 2023, 13 Pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2023/19387, mailed Jun. 14, 2023, 11 Pages. [cited by applicant]
Michalski J.T., “Network Security Mechanisms Utilising Network Address Translation,” Researchgate, International Journal of Critical Infrastructures, Jan. 2006, vol. 2, No. 1, 40 Pages. [cited by applicant]
Patel P., et al., Ananta: Cloud Scale Load Balancing Computer Communication Review, vol. 43, No. 4, XP055440057, US ISSN: 0146-4833, DOI: 10.1145/2534169.2486026 paragraphs [02.11, (3.2.1], [3.2.2], Aug. 27, 2013, pp. 2… [cited by applicant]