`
`(12) United States Patent
`(10) Patent No.:
`US 7,418,504 B2
`
`Larson et al.
`(45) Date of Patent:
`Aug. 26, 2008
`
`(54) AGILE NETWORK PROTOCOL FOR SECURE
`COMMUNICATIONS USING SECURE
`DOMAIN NAMES
`
`(58) Field of Classification Search ................. 709/226,
`709/221; 713/201
`See application file for complete search history.
`
`(75)
`
`Inventors: Victor Larson, Fairfax, VA (US);
`Robert Dunham Short, III, Leesburg,
`VA (US); Edmund Colby Munger,
`Crownsville, MD (US); Michael
`Williamson, South Riding, VA (US)
`
`(73) Assignee: VirnetX, Inc., Scotts Valley, CA (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 646 days.
`
`(21) Appl.No.: 10/714,849
`
`(22) Filed:
`
`Nov. 18, 2003
`
`(65)
`
`Prior Publication Data
`
`US 2004/0098485 A1
`
`May 20, 2004
`
`Related US. Application Data
`
`(63) Continuation of application No. 09/558,210, filed on
`Apr. 26, 2000, now abandoned, which is a continua—
`tion-in-part of application No. 09/504,783, filed on
`Feb. 15, 2000, now Pat. No. 6,502,135, which is a
`continuation-in-part of application No. 09/429,643,
`filed on Oct. 29, 1999, now Pat. No. 7,010,604.
`
`(60) Provisional application No. 60/137,704, filed on Jun.
`7, 1999, provisional application No. 60/106,261, filed
`on Oct. 30, 1998.
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 15/1 73
`(52) US. Cl.
`...................................................... 709/226
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4,933,846 A
`4,988,990 A
`5,164,988 A
`5,276,735 A
`5,311,593 A
`
`6/1990 Humphrey et al.
`1/1991 Warrior
`11/1992 Matyas et 31.
`1/1994 Boebert et 31.
`5/1994 Carmi
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`DE
`
`199 24 575
`
`12/1999
`
`(Continued)
`OTHER PUBLICATIONS
`
`Laurie Wells (Lancasterbibelmail MSN Com); “Subject: Security
`Icon” Usenet Newsgroup, Oct. 19, 1998, XP002200606.
`
`(Continued)
`
`Primary ExamineriKrisna Lim
`(74) Attorney, Agent, or FirmiMcDermott Will & Emery,
`LLP
`
`(57)
`
`ABSTRACT
`
`A secure domain name service for a computer network is
`disclosed that includes a portal connected to a computer net-
`work, such as the Internet, and a domain name database
`connected to the computer network through the portal. The
`portal authenticates a query for a secure computer network
`address, and the domain name database stores secure com-
`puter network addresses for the computer network. Each
`secure computer network address is based on a non-standard
`top-level domain name, such as .scom,
`.sorg,
`.snet,
`.snet,
`.sedu, .smil and .sint.
`
`60 Claims, 40 Drawing Sheets
`
`ORIGINATTNG
`TERMINAL
`
`
`fl
`
`
`IP PACKET
`
`
`
`1P ROUTER
`
`
`
`
`
`1F ROUTER
`IP ROUTER
`
`
`fl
`IP ROUTER
`IP ROUTER
`
`
`
`
`
`w ROUTER
`
`
`
`”lacuna
`A
`1P ROUTER
`|p ROUTER _
`
`
`g
`_2_9_
`25
`
`
`
`IP ROUTER
`
`IP ROUTER
`26
`fl
`48 ENCRYFTION KEY
`
`
`DESTINATION
`TERMINAL
`
`
`
`m
`
`MICROSOFT 1001
`
`1
`
`MICROSOFT 1001
`
`
`
`US 7,418,504 B2
`
`Page 2
`
`US. PATENT DOCUMENTS
`
`>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
`
`5,329,521
`5,341,426
`5,367,643
`5,559,883
`5,561,669
`5,588,060
`5,625,626
`5,654,695
`5,682,480
`5,689,566
`5,740,375
`5,774,660
`5,787,172
`5,790,548
`5,796,942
`5,805,801
`5,842,040
`5,845,091
`5,867,650
`5,870,610
`5,878,231
`5,892,903
`5,898,830
`5,905,859
`5,918,019
`5,996,016
`6,006,259
`6,006,272
`6,016,318
`6,016,512
`6,041,342
`6,052,788
`6,055,574
`6,061,736
`6,079,020
`6,092,200
`6,101,182
`6,119,171
`6,119,234
`6,147,976
`6,157,957
`6,158,011
`6,168,409
`6,175,867
`6,178,409
`6,178,505
`6,179,102
`6,222,842
`6,226,751
`6,233,618
`6,243,360
`6,243,749
`6,243,754
`6,256,671
`6,263,445
`6,286,047
`6,301,223
`6,308,274
`6,311,207
`6,324,161
`6,330,562
`6,332,158
`6,353,614
`6,425,003
`6,430,155
`6,430,610
`6,487,598
`6,502,135
`6,505,232
`6,510,154
`6,549,516
`
`7/1994
`8/1994
`11/1994
`9/1996
`10/1996
`12/1996
`4/1997
`8/1997
`10/1997
`11/1997
`4/1998
`6/1998
`7/1998
`8/1998
`8/1998
`9/1998
`11/1998
`12/1998
`2/1999
`2/1999
`3/1999
`4/1999
`4/1999
`5/1999
`6/1999
`11/1999
`12/1999
`12/1999
`1/2000
`1/2000
`3/2000
`4/2000
`4/2000
`5/2000
`6/2000
`7/2000
`8/2000
`9/2000
`9/2000
`11/2000
`12/2000
`12/2000
`1/2001
`1/2001
`1/2001
`1/2001
`1/2001
`4/2001
`5/2001
`5/2001
`6/2001
`6/2001
`6/2001
`7/2001
`7/2001
`9/2001
`10/2001
`10/2001
`10/2001
`11/2001
`12/2001
`12/2001
`3/2002
`7/2002
`8/2002
`8/2002
`11/2002
`12/2002
`1/2003
`1/2003
`4/2003
`
`Walsh ct al.
`Barney et a1.
`Chang et a1.
`Williams
`Lenney et al.
`Aziz
`Umekita
`Olnowich et a1.
`Nakagawa
`Nguyen
`Dunne et a1.
`Brendel et al.
`Arnold
`Sistanizadeh et a1.
`Esbensen
`Holloway et a1.
`Hughes et a1.
`Dunne et a1.
`Osterman
`Beyda et a1.
`Baehr et a1.
`Klaus
`Wesinger, Jr. et a1.
`Holloway et a1.
`Valencia
`Thalheimer et a1.
`Adelman et a1.
`Aravamudan et a1.
`Tomoike
`Huitema
`Yamaguchi
`Wesinger, Jr. et a1.
`Smorodinsky et a1.
`Rochberger et a1.
`Liu
`Muniyappa et a1.
`Sistanizadeh et a1.
`Alkhatib
`Aziz et a1.
`Shand et a1.
`Berthaud
`Chen et a1.
`Fare
`Taghadoss
`Weber et a1.
`Schneider et a1.
`Weber et a1.
`Sasyan et a1.
`Arrow et a1.
`Shannon
`Basilico
`Sitaraman et a1.
`Guerin et a1.
`Strentzsch et a1.
`Blumenau
`Ramanathan et a1.
`Hrastar et al.
`Swift
`Mighdoll et a1.
`Kirch
`Boden et a1.
`Risley et a1.
`Borella et al.
`Herzog et al.
`Davie et a1.
`Carter
`Valencia
`Munger et al.
`Mighdoll et a1.
`Mayes et a1.
`Albert et a1.
`
`6,557,037 B1
`6,571,296 B1
`6,571,338 B1
`6,581,166 B1
`6,606,708 B1
`6,618,761 B2
`6,671,702 B2
`6,687,551 B2
`6,714,970 B1
`6,717,949 B1
`6,751,738 B2
`6,760,766 B1
`6,826,616 B2
`6,839,759 B2
`7,010,604 B1
`7,133,930 B2
`7,188,180 B2
`7,197,563 B2
`2002/0004898 A1
`2003/0196122 A1
`2005/0055306 A1
`2006/0059337 A1
`
`)rovino ...................... 709/227
`4/2003
`)illon
`5/2003
`5/2003 Shaio et al.
`6/2003
`Iirst et a1.
`8/2003
`)evine et a1.
`9/2003 VIunger et a1.
`12/2003
`{ruglikov et a1.
`2/2004 Steindl
`3/2004
`:iveash et a1.
`4/2004 Soden et a1.
`6/2004 Wesinger, Jr. et a1.
`7/2004 Sahlqvist
`11/2004
`sarson et a1.
`1/2005
`sarson et a1.
`3/2006 VIunger et a1.
`11/2006 VIunger et a1.
`3/2007
`sarson et a1.
`3/2007 Sheymov et a1.
`1/2002
`)roge
`10/2003 Wesinger, Jr. et a1.
`3/2005 VIiller et a1.
`3/2006
`)olyhonen et a1.
`
`
`
`FOREIGN PATEI\T DOCUMENTS
`
`DE
`EP
`EP
`EP
`EP
`EP
`EP
`EP
`GB
`GB
`GB
`WO
`W0
`W0
`W0
`W0
`W0
`W0
`W0
`W0
`
`199 24 575 A1
`0 814 589
`0 814 589 A
`0 838 930
`0 838 930 A
`0 838 930 A2
`836306 A1
`0 858189
`2317 792
`2317792 A
`2 334181 A
`9827783 A
`WO 98/27783
`W0 98 55930
`W0 98 59470
`W0 99 38081
`W0 99 48303
`WO 00/17775
`WO 00/70458
`W0 01 50688
`
`12/1999
`12/1997
`12/1997
`4/1998
`4/1998
`4/1998
`4/1998
`8/1998
`4/1998
`4/1998
`8/1999
`6/1998
`6/1998
`12/1998
`12/1998
`7/1999
`9/1999
`3/2000
`11/2000
`7/2001
`
`OTHER PUBLICATIONS
`
`Davila J et a1, “Implementatin of Virtual Private Networks at the
`Transport Layer”, Information Security, Second International Work-
`shop, ISW’99. Proceedings (Lecture Springer-Verlag Berlin, Ger-
`many,
`[Online] 1999, pp. 85-102, XP002399276, ISBN 3-540-
`66695 -B, retrieved from the Internet: URL: http://wwwspringerlink.
`com/content/4uac0tb0heccma89/fulltext.pdf>(Abstract).
`Donald E. Eastlake, III, “Domain Name System Security Exten-
`sions”, Internet Draft, Apr. 1998.
`P. Srisuresh, et a1., “DNS Extensions to Network Address Transla-
`tors”, Internet Draft, Jul. 1998.
`DB. Chapman, et a1., “Building Internet Firewalls, chapters 8 and 10
`(parts)”, pp. 278-296 and pp. 351-375.
`Search Report (dated Jun. 18, 2002), International Application No.
`PCT/USOl/13260.
`Search Report (dated Jun. 28, 2002), International Application No.
`PCT/USOl/13261.
`Donald E. Eastlake, “Domain Name System Security Extensions”,
`DNS Security Working Group. Apr. 1998, 51 pages.
`D. B. Chapman et a1., “Building Internet Firewalls”, Nov. 1995, pp.
`278-297 and pp. 351-375.
`P. Srisuresh et a1., “DNS extensions to Network Address Translators”,
`Jul. 1998, 27 pages.
`Laurie Wells, “Security Icon”, Oct. 19, 1998, 1 page.
`W. Stallings, “Cryptography And Network Security”, 2nd Edition,
`Chapter 13, IP Security, Jun. 8, 1998, pp. 399-440.
`
`2
`
`
`
`US 7,418,504 B2
`
`Page 3
`
`W. Stallings, “New Cryptography and Network Security Book”, Jun.
`8, 1998, 3 pages.
`Fasbender,Kesdogan, and Kubitz: “Variable and Scalable Security:
`Protection of Location Information in Mobile IP”, IEEE publication,
`1996, pp. 963-967.
`Linux FreeS/WAN Index File, printed from http://liberty.freeswan.
`org/freeswan, trees/freeswan-1.3/doc/ on Feb. 21, 2002, 3 Pages.
`J. Gilmore, “Swan: Securing the Internet against Wiretapping”,
`printed from http://liberty.freeswan.org/freeswan, trees/freeswan-
`1.3/doc/rationale.html on Feb. 21, 2002, 4 pages.
`Glossary for the Linux FreeS/WAN project. printed from http://
`liberty.freeswan.org/freeswan,
`trees/freeswan-l .3/doc/glossary.
`htrnl on Feb. 21, 2002,25 pages.
`Alan 0. Frier et al., “The SSL Protocol Version 3.0”, Nov. 18, 1996,
`printed from http://www.netscape.com/eng/ssl3/draft302.b<t on Feb.
`4,2002, 56 pages.
`Search Report (dated Aug. 20, 2002), International Application No.
`PCT/US01/04340.
`Search Report (dated Aug. 23, 2002), International Application No.
`PCT/US01/13260.
`Shree Murthy et al., “Congestion-Oriented Shortest Multipath Rout-
`ing”, Proceedings of IEEE INFOCOM, 1996, pp. 1028-1036.
`Jim Jones et al., “Distributed Denial of Service Attacks: Defenses”,
`Global Integrity Corporation, 2000, pp. 1-14.
`James E. Bellaire, “New Statement of RulesiNaming Internet
`Domains”, Internet Newsgroup, Jul. 30, 1995, 1 page.
`D. Clark, “US Calls for Private Domain-Name System”, Computer,
`IEEE Computer Society, Aug. 1, 1998, pp. 22-25.
`August Bequai, “Balancing Legal Concerns Over Crime and Security
`in Cyberspace”, Computer & Security, vol. 17, No. 4, 1998, pp.
`293 -298.
`Rich Winkel, “CAQ: Networkinig With Spooks: The NET & The
`Control Of Information”, Internet Newsgroup, Jun. 21, 1997, 4
`pages.
`
`Search Report (dated Oct. 7, 2002), International Application No.
`PCT/US01/13261.
`
`F. Halsall, “Data Communications, Computer Networks And Open
`Systems”, Chapter 4, Protocol Basics, 1996, pp. 198-203.
`Reiter, Michael K. and Rubin, Aviel D. (AT&T LabsiResearch),
`“Crowds: Anonymity for Web Transmissoins”, pp. 1-23.
`Dolev, Shlomi and Ostrovsky, Rafil, “Efficient Anonymous Multicast
`and Reception”(Extended Abstract), 16 pages.
`Rubin, Aviel D., Greer, Daniel, and Ranum, Marcus J. (Wiley Com-
`puter Publishing), “Web Security Sourcebook”, pp. 82-94.
`Fasbender, Kesdogan, and Kubitz: “Variable and Scalable Security”
`Protection of Location Information in Mobile IP, IEEE publication,
`1996, pp. 963-967.
`Eastlake, D. E., “Domain Name System Security Extensions”,
`Internet Draft, Apr. 1998, XP002199931, Sections 1, 2.3 and 2.4.
`RFC 2401 (dated Nov. 1998) Security Architecture for the Internet
`Protocol (RTP).
`RFC 2543-SIP (dated Mar. 1999): Session Initiation Protocol (SIP or
`SIPS).
`Search Report, IPER (dataed Nov. 13, 2002), International Applica-
`tion No. PCT/USO 1/04340.
`
`Search Report, IPER (dated Feb. 6, 2002), International Application
`No. PCT/US01/13261.
`
`Search Report, IPER (dated Jan. 14, 2003), International Application
`No. PCT/US01/13260.
`
`Shankur, A.U. “A verified sliding window protocol with variable flow
`control”. Proceedings of ACM SIGCOMM conference on Commu-
`nications architectures & protocols. pp. 84-91, ACM Press, NY, NY
`1986.
`
`W. Stallings, “Crytography and Network Security”, 2nd, Edition,
`Chapter 13, IP Security, Jun. 8, 1998, pp. 399-440.
`
`3
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 1 0f 40
`
`US 7,418,504 B2
`
`
`
`ORIGINATING
`TERMINAL
`100
`
`
`
`
`
`IP PACKET
`IP ROUTER
`31
`
`IP ROUTER
`
`
`
`1;
`
`
`
`
`IP ROUTER
`E
`
`IP ROUTER
`
`fl
`
`'P ROUTER
`19—
`
`INTEIIIIET
`|p ROUTER —
`fi
`
`
`
`IP ROUTER
`21
`
`IPROUTER
`&
`
`|P ROUTER
`E
`
`IP ROUTER
`.32
`
`IP ROUTER
`
`&
`
`
`
`
`
`
`
`
`
`
`
` DESTINATION
`48 ENCRYPTION KEY
`TERMINAL
`
`m
`
`FIG. 1
`
`4
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 2 0f 40
`
`US 7,418,504 B2
`
` TARP
`
`TERMINAL
`
`
`m
`
`140
`
`
`TARP PACKET
`
`lP ROUTER
`m
`
`
`
`
`
`
`TARP
`
`
`146
`ROUTER
`
`
`t“m ARP
`LINK KEY
`L22
`
`
`
`
`
`
`
`
`TARP
`ROUTER
`'PR$3%TER
`
`
`fl
`ROUTER
`@
`
`
`INTE§7NET
`
`
`
`TARP
`IP ROUTER
`—
`
`m
`ROUTER
`
`
`
`ROUTER
`121
`
`
`
`
`TERMINAL
`
`m
`
`FIG. 2
`
`5
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 3 0f 40
`
`US 7,418,504 B2
`
`2073
`
`
`207b
`
`207c
`
`207d
`
`' ° '
`
`320
`AVE WINDOW
`.2-_. ".13 B IE". .':'.I \ 330 SESSION-KEY-ENCRYPTED
`PAYLOAD DATA
`
`
`
`
`
`
`\ 340 TARP PACKET WITH
`ENCRYPTED PAYLOADS
`
`\350 LINK-KEY-ENCRYPTED
`TARP PACKETS
`
`'3’"-
`
`‘\360 IP PACKETS WI
`ENCRYPTED TARP
`PACKETS AS PAYLOAD
`
`
`
`TARP
`DESTINATION
`
`6
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 4 0f 40
`
`US 7,418,504 B2
`
`207C
`
`207d
`
`0 o o
`
`/300 DATA STREAM
`
`207b
`207a
`A;
`fli—fl—Ifl_-_- ‘ ° '
`
`
`
`DUMMY
`
`
`
`BLOCKS
`OR DATA
`MAY BE
`
`
`ADDED
`
`- 3' \523 ENCRYPTED BLOCK
`DIVIDED INTO PAYLOADS
`INTERLEAVED
`
`517
`
` \523 ENCRYPTED BLOCK
`
`DIVIDED INTO PAYLOADS
`INTERLEAVED
`
` \340 TARP PACKETS WITH
`ENCRYPTED PAYLOADS
`
`
`
`‘
`
`\SZOBLOCK-ENCRYPTED
`(SESSION-KEY) PAYLOAD
`SEQUENCE
`33 \522 ENCRYPTED BLOCK
`DIVIDED INTO PAYLOADS
`
`r
`
` '
`
`7
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 5 0f 40
`
`US 7,418,504 B2
`
`TARP TRANSCEIVER
`
`fl NETWORK (IP) LAYER
`
`m
`
`III_
`
`ONE ALTERNATIVE TO
`CONNNE
`TARP PROCESSING
`WITH O/S |P
`PROCESSOR
`
`OTHERALTERNATIVE
`TO COMBINE
`TARP PROCESSING
`WITH D.L. PROCESSOR
`(e.g., BURN INTO BOARD
`PROM)
`
`TARP LAYER
`fl
`
`DATA LINK LAYER
`Q
`
`FIG. 4
`
`450
`DATALINK
`PROTOCOL WRAPPER
`
`8
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 6 0f 40
`
`US 7,418,504 B2
`
`SO
`
`S7.
`
`33
`
`S4
`
`
`BACKGROUND LOOP - DECOY
`GENERATION
`
`
`
`AUTHENTICATE TARP
`PACKET
`
`OUTER LAYER DECRYPTION
`0F TARP PACKET USING
`LINK KEY
`
`
`
`
`
`CHECK FOR DECOY AND
`INCREMENT PERISHABLE
`
`DECOY COUNTER AS
`
`APPROPRIATE
`
`DUMP DECOY
`
`
`
`
`
`
`TRANSMIT DECOY?
`
`YES
`
`35
`
`87
`
`NO
`
`DECREMENT
`TTL m > 0?
`
`39
`
`YES
`
`DETERMINE DESTINATION
`TARP ADDRESS AND STORE
`LINK KEY AND IF ADDRESS
`
`GENERATE NEXT-HOP TARP
`ADDRESS AND STORE LINK
`KEY AND IF ADDRESS
`
`38
`
`GENERATE NEXT-HOP TARP
`ADDRESS AND STORE LINK
`KEY AND IP ADDRESS
`
`GENERATE lP HEADER
`AND TRANSMIT
`
`FIG. 5
`
`310
`
`S11
`
`9
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 7 0f 40
`
`US 7,418,504 B2
`
`BACKGROUND LOOP - DECOY
`GENERATION
`
`820
`
`GROUP RECEIVED IP PACKETS
`INTO INTERLEAVE WINDOW
`
`821
`
`DETERMINE DESTINATION TARP
`ADDRESS, INITIALIZE TTL, STORE
`IN TARP HEADER
`
`322
`
`RECORD WINDOW SEQ. NOS. AND
`INTERLEAVE SEQ. NOS. IN TARP
`HEADERS
`
`823
`
`
`
`CHOOSE FIRST HOP TARP
`ROUTER, LOOK UP IPADDRESS
`AND STORE IN CLEAR IP HEADER,
`OUTER LAYER ENCRYPT
`
`$24
`
`INSTALL CLEAR IP HEADER AND
`TRANSMIT
`
`$25
`
`FIG. 6
`
`10
`
`10
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 8 0f 40
`
`US 7,418,504 B2
`
`BACKGROUND LOOP - DECOY
`GENERATION
`
`S40
`
`AUTHENTICATE TARP PACKET
`RECEIVED
`
`S42
`
`HEADERS '
`S44
`$50 THROW AWAY DECOY OR KEEP
`S45
`
`DIVIDE BLOCK INTO PACKETS
`USING WINDOW SEQUENCE
`DATA, ADD CLEAR IP HEADERS
`
`GENERATED FROM TARP
`
`S49
`
`HAND COMPLETED IP PACKETS
`TO IP LAYER PROCESS
`
`DECRYPT OUTER LAYER
`ENCRYPTION WITH LINK KEY
`
`843
`
`INCREMENT PERISHABLE
`COUNTER IF DECOY
`
`IN RESPONSE TO ALGORITHM
`
`CACHE TARP PACKETS UNTIL
`WINDOW IS ASSEMBLED
`
`S46
`
`S47
`
`DEINTERLEAVE PACKETS
`FORMING WINDOW
`
`DECRYPT BLOCK
`
`S48
`
`FIG. 7
`
`11
`
`11
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 9 0f 40
`
`US 7,418,504 B2
`
`SSYN
`
`SSYN ACK
`
`SSYN ACK
`
`TECEEIML
`PAgzfiE-r
`PACKET
`ACK PACKET
`801
`
`822
`
`823
`
`
` TARP
`
`ROUTER
`w.
`
`
`
`
`824
`825
`SECURE SESSION
`SECURE SESSION
`INITIATION
`INITIATION ACK
`
`FIG. 8
`
`12
`
`12
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 10 0f 40
`
`US 7,418,504 B2
`
`CLIENT 1 A TARP
`
`ROUTER
`
`TRANSMIT TABLE
`RECEIVE TABLE
`921
`924
`—\.____ ___\_—
`
`131.218.204.98
`131.218.204.221
`131.218.204.139
`131.218.204.12
`
`0
`-
`.
`0
`
`131.218.204.65
`131.218.204.97
`131.218.204.186
`131.218.204.55
`
`131.218.204.98
`131.218.204.221
`131.218.204.139
`131.218.204.12
`
`I
`-
`.
`.
`
`131.218.204.65
`131.218.204.97
`131.218.204.186
`131.218.204.55
`
`RECEIVE TABLE
`TRANSMIT TABLE
`922
`923
`____A__ #—
`
`131.218.204.161
`131.218.204.66
`131.218.204.201
`131.218.204.119
`
`-
`-
`0
`.
`
`131.218.204.89
`131.218.204.212
`131.218.204.127
`131.218.204.49
`
`131.218.204.161
`131.218.204.66
`131.218.204.201
`131.218.204.119
`
`0
`0
`0
`0
`
`131.218.204.89
`131.218.204.212
`131.218.204.127
`131.218.204.49
`
`13
`
`13
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 11 0140
`
`US 7,418,504 B2
`
`CUENT
`1001
`
`
`
` ISPA
`TARP
`
`ROUTER
`1021
`
`
`
`
`
`
` ISPB
`TARP
`
`ROUTER
`
`
`
`10H
`
`1012
`
` ISPC
`
`TARP
`
`ROUTER
`
`
`
`1013
`
`FIG. 10
`
`14
`
`14
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 12 0f 40
`
`US 7,418,504 B2
`
`8:
`
`8:
`
`”Gem:mzémEzmmzm
`
`$55:mzémEzmmzm
`
`2
`
`E95:555n__8”mmmmoe‘2,:9meS”mmmmoex
`>>_._0%
`
`2285a”mmmmanzn:9meE”mmmmoe‘n:6138
`3”ad:
`
`ono<o._><n_
`
`mg:mg:__g.gag:
`
`<3:<5:mm5%8”mmmmonz
`
`
`
`>>_._.95
`
`llllvmgfixméi
`
`
`
`NEEssa
`
`<8:2”Egg0:$58
`
`
`
`mmwn2new:2235g2“£02n:.53
`
`awn:«£92n:.53
`08:Mwmm$32285a
`so:2”8552n:mass
`
`
`
`$2”:555n:
`
`
`
`2:a:£292;
`
`15
`
`15
`
`
`
`
`
`U.S. Patent
`
`Aug
`
`. 26, 2008
`
`Sheet 13 of 40
`
`9US7
`
`418,504 B2
`
`SNF
`
`33
`
`Em:
`
`zo:<o_._&<
`
`5.vaXmmmfi
`
`:3
`
`meowEo0.2moI>>Io3:01;:<3<morn:m8:01;
`
`meow
`
`EEE5%?8om8amE x83x83
`
`<3.0_u_
`
`III
`
`HEEEEgg
`
`
`
`Inna.afifi
`
`mg83
`
`ES
`
`zo:<o:&<
`
`16
`
`16
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 14 0f 40
`
`US 7,418,504 B2
`
`MODE
`OR
`
`1. PROMISCUOUS
`
`
`
`
`
`
`2. PROMISCUOUS
`PER VPN
`
`
`
`3. HARDWARE
`HOPPING
`
`HARDWARE
`
`IF ADDRESSES
`
`DISCRIMINATOR FIELD
`
`SAME FOR ALL NODES
`OR wngJELY
`
`CAN BE VARIED
`IN SYNC
`
`CAN BE VARIED
`IN SYNC
`
`FIXED FOR EACH VPN
`
`
`
`CAN BE VARIED
`IN SYNC
`
`CAN BE VARIED
`IN SYNC
`
`CAN BE VARIED
`IN SYNC
`
`FIG. 128
`
`CAN BE VARIED
`IN SYNC
`
`CAN BE VARIED
`IN SYNC
`
`
`
`
`
`
`
`
`
`
`
`17
`
`17
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 15 of 40
`
`US 7,418,504 B2
`
`32‘
`
`mpzmjo
`
`momF
`
`N02
`
`52
`
`<Emso
`
`55%
`
`360%mm;
`
`:2
`
`920%
`
`BEE
`
`oz
`
`02%$2528
`
`.o..<02¢
`
`OE
`
`
`
`m_‘.OE
`
`HERE
`
`32
`
`
`
`mmmmog5128n:
`
`
`
`wmmmonz.53n:
`
`
`
`m3<>oz>m
`
`2958use:
`
`was,oz;
`
`2818ES:
`
`$52:
`
`QmEEozm
`
`o<o._><n_
`
`mom_‘
`
`18
`
`82
`
`18
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 16 0f 40
`
`US 7,418,504 B2
`
`CURRENT IP PAIR ‘x-
`
`ckpt_o ~¢
`ckpt_n ‘
`ckpt_r
`
`TRANSMITTER
`
`IP PAIR 1
`
`IP PAIR 2
`O
`0
`0
`
`WINDOW
`
`IP PAIR W
`ckpt_o
`ckpt_n
`ckpt_r <
`RECEIVER
`
`SENDER'S ISP
`
`IP PAIR 1
`
`IP PA|R2
`:
`
`CURRENT IP PAIR
`
`ckpt_
`ckpt_n
`
`TRANSMITTER
`
`RECIPIENT'S ISP
`
`
`
`KEPT IN SYNC FOR SENDER T0 RECIPIENT SYNCHRONIZER ‘ ----------------------- >
`
`KEPT IN SYNC FOR RECIPIENT TO SENDER SYNCHRONIZER <——>
`
`FIG. 14
`
`19
`
`19
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 17 of 40
`
`US 7,418,504 B2
`
`JW
`
`* WHEN SYNC_REQ ARRIVES
`WITH INCOMING HEADER =
`
`[w
`
`RECEIVER'S ckpt_n:
`°UPDATE WINDOW
`'GENERATE NEW
`CHECKPOINT IP PAIR
`ckan IN RECEIVER
`'GENERATE NEW
`CHECKPOINT IP PAIR
`ckpt_r IN TRANSMITTER
`°TRANSMIT SYNC_ACK
`USING NEW CHECKPOINT
`IP PAIR ckpt_r
`
`@
`
`@ WHEN SYNCHRONIZATION
`BEGINS TRANSMIT (RETRANSMIT
`PERIODICALLY UNTIL ACKed)
`SYNC_REQ USING NEW
`TRANSMITTER CHECKPOINT IP
`PAIR ckpt_n AND GENERATE
`NEW RECEIVER RESPONSE
`
`CHECKPOINT ckpt_r
`
`# WHEN SYNC_ACK
`ARRIVES WITH INCOMING
`HEADER = ckpt_r:
`GENERATE NEW
`CHECKPOINT IP PAIR
`ckpt_n IN TRANSMITTER
`
`SYNC_REQ
`
`FIG. 15
`
`20
`
`20
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 18 0f 40
`
`US 7,418,504 B2
`
`
`
`21
`
`21
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 19 0f 40
`
`US 7,418,504 B2
`
`000 —
`
`VIII/Illllll
`
`O
`
`I INACTIVE
`a ACTIVE
`
`E USED
`
`
`
`
`
`’IIIIIIIIIIIA
`VIII/IIIIIIA
`'Illlllllllll.
`
`
`VII/[IIIIIIA
`VII/IIIIIIIA
`
`
`O
`
`
`'llllllllll‘
`
`
`VIII/[Illllfl
`VIII/IIIIIIIA
`
`
`VlllllllllllA
`
`WINDOW_S|ZE
`
`WINDOW_S|ZE
`
`FIG. 17
`
`22
`
`22
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 20 0f 40
`
`US 7,418,504 B2
`
`000
`
`WINDOW_S|ZE
`
`WINDOW_S|ZE
`
`_ '
`
`IIIIIIIIIIA
`
`VIII/IIIIIIA
`’IIIIIIIIIIIA
`VIII/IIIIIIA
`VII/IIIIIIIA
`Will/[Ill]
`
`C
`
`23
`
`23
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 21 0f 40
`
`US 7,418,504 B2
`
`VIII/[IIIIIA
`C
`
`
`
`I |NACT|VE
`a ACTIVE
`fl USED
`
`OoO
`
`000
`
`WINDOW_S|ZE
`
`WINDOW_S|ZE
`
`
`
`VIII/”0m
`VIII/III,”
`VIII/III,”
`
`O
`
`VII/[IIIIIIA
`VII/IIIIIIIA
`WII'IIIIIIIA
`VII/llllllll.
`mill/”Ill
`
`
`
`VIII/1111114
`
`FIG. 19
`
`24
`
`24
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 22 0f 40
`
`US 7,418,504 B2
`
`%mmhamzoo
`
`$8
`
`$501
`
`EESEOQ
`
`moom
`
`E501
`
`25
`
`25
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 23 0f 40
`
`US 7,418,504 B2
`
`
`
`
`AD TABLE
`
`|P1
`|P3
`
`|P2
`an4
`
`
`
`
`AE TABLE
`
`AF TABLE
`
`BD TABLE
`
`BE TABLE
`
`BF TABLE
`
`LINK DOWN
`
`2101
`
`2102
`
`2103
`
`2104
`
`2105
`
`2106
`
`2107
`
`2108
`
`2109
`
`
`
`
`
`
`
`
`
`
`2100/
`
`CD TABLE
`
`CE TABLE
`
`CF TABLE
`
`FIG. 21
`
`26
`
`26
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 24 0f 40
`
`US 7,418,504 B2
`
`
`
`
`MEASURE
`QUALITY OF
`TRANSMISSION
`PATH X
`
`
`
`
`
`
`MORE THAN
`
`ONE TRANSMITTER
`TURNED ON?
`
`
`
`
`PATH X
`
`
`
`QUALITY < THRESHOLD?
`
`
`N0
`SET WEIGHT
`
`TO MIN. VALUE
`
`
`
`
`
`PATH X
` DECREASE WEIGHT
`
`WEIGHT LESS THAN
`FOR PATH X
`STEADY STATE
` 2208
`
`VALUE?
`
`
`
`
`
`INCREASE
`
`WEIGHT FOR PATH X
`
`TOWARD STEADY
`STATE VALUE
`
`
`
`ADJUST WEIGHTS
`FOR REMAINING
`PATHS SO THAT
`WEIGHTS EQUAL ONE
`
`FIG. 22A
`
`27
`
`27
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 25 0f 40
`
`US 7,418,504 B2
`
`(EVENT) TRANSMITTER
`FOR PATH x
`TURNS OFF
`
`
`
`
`2210
`
`
`
`AT LEAST
`ONE TRANSMITTER
`
`TURNED ON?
`
`
`
`DROP ALL PACKETS
`UNTIL ATRANSMITTER
`TURNS ON
`
`
`
`
`SET WEIGHT
`TO ZERO
`
`
`
`ADJUST WEIGHTS
`FOR REMAINING PATHS
`
`SO THAT WEIGHTS
`EQUAL ONE
`
`FIG. 22B
`
`28
`
`28
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 26 0f 40
`
`US 7,418,504 B2
`
`2302
`
`
`PACKET
`
`TRANSMITTER
`
`
`'w
`
`PATH X1
`
`PATH X2
`
`PATH X4
`
`
`
`2308
`\
`
`TRANSMIT TABLE
`
`PATH X3
`
`
`
`
`
`W(X1)=0.2
`PACKET
`
`RECEIVER
`W(X2)=0.1
`
`
`
`w (X3) = 0.6
`
`w (x4) = 0.1
`
`
`
`
`
`
`WEIGHT
`LINK QUALITY
`
`
`MEASUREMENT
`ADJUSTMENT
`
`FUNCTION
`FUNCTION
`
`
`
`
`
`
`2301
`
`FIG. 23
`
`29
`
`29
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 27 0f 40
`
`US 7,418,504 B2
`
`2403
`
`!
`
`2404
`
`
`100Mbls MESST=32 9
`
`
`
`
`COMPUTER
`
`
`
`
`COMPUTER
`
`9 25Mb/s MESST=8
`
`FIG. 24
`
`30
`
`30
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 28 0f 40
`
`US 7,418,504 B2
`
`2502
`
`2504
`
`, WEB
`BROWSER
`
`
`
`
`DNS REQ
`
`DNS RESP
`
`PAGE REQ
`
`
`
`TARGET
`
`WEB SITE PAGE RESP
`
`
`FIG. 25
`(PRIOR ART)
`
`31
`
`31
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 29 0f 40
`
`US 7,418,504 B2
`
`
` DNS
`SERVER
`
`2609
`
`
`
`
`
`
`WEB
`
`BROWSER
`
`
`GATEKEEPER
`
`HOPPING
`
`RULES
`
`2602
`
`2503
`
`HOPPING
`
`
`SECURE
`TARGET
`SHE
`
`
`
`
`
`
`UNSECURE
`TARGET
`flTE
`
`26“
`
`FIG. 26
`
`32
`
`32
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 30 0f 40
`
`US 7,418,504 B2
`
`
` RECEIVE
`
`DNS REQUEST
`FOR TARGET SITE
`
`2701
`
`
`
`PASS THRU
`ACCESS TO
`
`REQUEST TO
`SECURE SITE
`DNS SERVER
`REQUESTED?
`
`
`
`
`
`
`
`
`
`
`
`
`USER
`RETURN
`
`AUTHORIZED TO
`“HOST UNKNOWN"
`
`ERROR
`CONNECT?
`
`
`
`
`2705
`
`
`
`ESTABLISH
`VPN WITH
`TARGET SITE
`
`
`FIG. 27
`
`33
`
`33
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 31 0f 40
`
`US 7,418,504 B2
`
`2802
`
`2803
`
`2801
`
`HOST
`COMPUTER #1
`
`
`
`
`
`
`
`
`EDGE
`ROUTER
`
`2804
`
`HOST
`COMPUTER #2
`
`2805
`
`HIGH BW
`
`FIG. 28
`
`34
`
`34
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 32 0f 40
`
`US 7,418,504 B2
`
`2901
`
`HOST COMPUTER #1
`
`
`
`
`
`
`HIGH BW
`
`
`EDGE
`
`
`ROUTER
`
`
`RX
`TX
`
`
`
`IP TX
`100-200
`L.
`
`
`
`HOST COMPUTER #2
`
` TX
`
`2902
`
`RX
`
`
`
`
`2912
`2913
`4'
`
`
`
`HACKER
`COMPUTER
`
`
`FLOODIP
`TX100-200
`
`2903
`
`FIG. 29
`
`35
`
`35
`
`
`
`U.S. Patent
`
`uA
`
`20.5
`
`2
`
`40.mB
`
`US 7,418,504 132
`
`6,ESE
`
`
`
`m8%?mmfifiw52::
`
`mw3%
`m8208mm
`$382
`
`omGE
`
`5%Eémzmo
`
`mmEEmz<E
`
`m>momm
`
`0mm.uz>m
`
`39:.xx
`
`36
`
`36
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 34 0f 40
`
`US 7,418,504 B2
`
`3101
`
`3103
`
`
`CLIENT #1
`
`
`
`
`3106
`
`
`
`
`CLIENT #2
`
`TXlRX
`TX/RX
`TXlRX
`
`
`
`3102
`
`
`
` 3208
`3209
`
`3210
`
`3105
`
`HACKER
`
`FIG. 31
`
`37
`
`37
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 35 of 40
`
`US 7,418,504 B2
`
`SERVER
`\
`
`
`
`SYNC_REQ
`
`PASS DATA UP STACK
`ckpt_o=ckpt_n
`GENERATE NEW ckpt_n
`GENERATE NEW ckpt_r FOR
`TRANSMITTER SIDE
`TRANSMIT SYNC_ACK
`CONTAINING ckpt_o
`
`ckpt_o=ckpt_n
`GENERATE NEW ckan
`GENERATE NEW cka_r FOR
`TRANSMITTER SIDE
`
`TRANSMIT SYNC_ACK
`CONTAINING ckao
`
`CLIENT
`\
`
`SEND DATA PACKET
`
`USING cka_n
`CKPT_O=cka_n
`GENERATE NEW cka_n
`START TIMER, SHUT TRANSMITTER
`OFF
`
`IF CKPT_0 IN SYNC_ACK
`MATCHES TRANSMITTER‘S
`
`ckpt_o
`UPDATE RECEIVERS
`ckpt_r
`KILL TIMER, TURN
`TRANSMITTER ON
`
`SEND DATA PACKET
`USING ckpt_n
`ckpt_o=ckpt_n
`GENERATE NEW cka_n
`START TIMER, SHUT TRANSMITTER
`OFF
`
`WHEN TIMER EXPIRES
`TRANSMIT SYNC_REQ
`USING TRANSMITTERS
`
`cka_o, START TIMER
`
`IF ckpt_o IN SYNC_ACK
`MATCHES TRANSMITTER'S
`
`ckpt_o
`UPDATE RECEIVER'S
`
`cka_r
`KILL TIMER, TURN
`TRANSMITTER 0N
`
`FIG. 32
`
`38
`
`38
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 36 of 40
`
`US 7,418,504 B2
`
`:8
`
`$8$58
`
`..<zmm:z_
`
`88.258
`
`$585
`
`mcmmmg
`
`8mm
`
`mzoem
`
`$8
`
`Em”
`
`28
`
`
`
` %52%;;8mm
`
`208219
`
`.__<s_.m_ESEmmmmmxmEomzom
`
`28
`
`:8
`
`28:82%mm.0_H_3mm
`
`«N8
`
`’7528m./(i88
`
`xmmgomm
`
`manomwow
`
`z_.o:._n_
`
`38
`
`8mm
`
`8mm
`
`39
`
`39
`
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 37 0f 40
`
`US 7,418,504 B2
`
`3400
`
`3401
`
`
`
`
`DISPLAY WEB PAGE
`CONTAINING GO
`SECURE HYPERLINK
`
`3402E
`
`YES
`
`LAUNCH LINK TO
`.COM SITE
`
`3404
`
`DOWNLOAD AND
`INSTALL PLUG-IN
`
`3405
`
`CLOSE CONNECTION
`
`3406
`
`
`
`
`
`
`
`VPN
`PLUG-IN
`LOAODED
`
`
`
`
`
`AUTOMATIC REPLACEMENT OF TOP-LEVEL
`DOMAIN NAME WITH SECURE TOP-LEVEL
`DOMAIN NAME
`
`3407
`
`3412
`
`DISPLAY "SECURE" ICON
`
`ACCESS SECURE PORTALAND
`
`SECURE NETWORKANDSECUREDNS
`
`3403
`
`OBTAIN SECURE COMPUTER NETWORK
`ADDRESS FOR SECURE WEB SITE
`
`ACCESS GATE KEEPER AND RECEIVE
`PARAMETERS FOR ESTABLISHING VPN
`WITH SECURE WEBSITE
`
`3409
`
`3410
`
`
`
`N0
`
`
`TEPNIIII‘EE
`CONNECTION
`
`'
`YES
`REPLACE SECURE TOP_LEVEL
`DOMAIN NAME WITH NON-SECURE
`TOP-LEVEL DOMAIN NAME
`
`3413
`
`3414
`
`3415
`
`DISPLAY "GO SECURE" HYPERLINK
`
`CONNECTTOSECUREWEBSITE
`USINGVPN BASEDON PARAMETERS m
`ESTABLISHEDBYGATE KEEPER
`3411
`
`40
`
`40
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 38 of 40
`
`US 7,418,504 B2
`
`3500
`
`
`
`
`
`REQUESTOR ACCESSES WEBSITE
`AND LOGS INTO SECURE
`DOMAIN NAME REGISTRY SERVICE
`
`
`
`3501
`
`
`
`REQUESTER COMPLETES ONLINE
`REGISTRATION FORM
`
`
`
`
`QUERY STANDARD DOMAIN NAME
`SERVICE REGARDING OWNERSHIP
`OF EQUIVALENT NON-SECURE
`DOMAIN NAME
`
`RECEIVE REPLY FROM STANDARD
`DOMAIN NAME REGISTRY
`
`
`
`
`
`
`INFORM REQUESTOR
`OF CONFLICT
`
`3506
`
`
`
`VERIFY INFORMATION AND
`ENTER PAYMENT INFORMATION
`
`3507
`
`
`
`REGISTER SECURE DOMAIN NAME
`
`
`
`3508
`
`FIG. 35
`
`41
`
`41
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 39 0f 40
`
`US 7,418,504 B2
`
`WEB SERVER
`
`SERVER PROXY
`
`3600
`
`VPN GUARD
`
` 3611
`
` 3610
`
`
`
`
`
`
`COMPUTER NETWORK
`
`3602
`
`FIREWALL
`
`3601
`
`I BROWSER I PROXYAPPLICATION I
`
`3607
`
`3606
`
`3605
`
`CLIENT COMPUTER
`
`3604
`
`FIG. 36
`
`42
`
`42
`
`
`
`U.S. Patent
`
`Aug. 26, 2008
`
`Sheet 40 0f 40
`
`US 7,418,504 B2
`
`3700
`/
`
`GENERATE MESSAGE PACKETS
`
`3701
`
`MODIFY MESSAGE PACKETS WITH PRIVATE
`CONNECTION DATA AT AN APPLICATION LAYER
`
`3702
`
`SEND TO HOST COMPUTER
`THROUGH FIREWALL
`
`RECEIVE PACKETS AND AUTHENTICATE
`AT KERNEL LAYER OF HOST COMPUTER
`
`RESPOND TO RECEIVED MESSAGE
`PACKETS AND GENERATE REPLY
`MESSAGE PACKETS
`
`MODIFY REPLY MESSAGE PACKETS WITH
`PRIVATE CONNECTION DATA AT A
`KERNEL LAYER
`
`SEND PACKETS TO CLIENT COMPUTER
`THROUGH FIREWIRE
`
`RECEIVE PACKETS AT CLIENT
`COMPUTER AND AUTHENTICATE AT
`APPLICATION LAYER
`
`FIG. 37
`
`43
`
`3703
`
`3704
`
`3705
`
`3706
`
`3707
`
`3708
`
`43
`
`
`
`US 7,418,504 B2
`
`1
`AGILE NETWORK PROTOCOL FOR SECURE
`COMMUNICATIONS USING SECURE
`DOMAIN NAMES
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application claims priority from and is a continuation
`patent application of US. application Ser. No. 09/558,210,
`filed Apr. 26, 2000 now abandoneed, which is a continuation-
`in-part patent application ofpreviously-filed US. application
`Ser. No. 09/504,783, filed on Feb. 15, 2000, now US. Pat. No.
`6,502,135, issued Dec. 31, 2002, which claims priority from
`and is a continuation-in-part patent application ofpreviously-
`filed US. application Ser. No. 09/429,643, filed on Oct. 29,
`1999 now US. Pat. No. 7,010,604. The subject matter ofU.S.
`application Ser. No. 09/429,643, which is bodily incorporated
`herein, derives from provisional US. application Nos.
`60/106,261 (filed Oct. 30, 1998) and 60/137,704 (filed Jun. 7,
`1999). The present application is also related to US. appli-
`cation Ser. No. 09/558,209, filed Apr. 26, 2000, and which is
`incorporated by reference herein.
`
`GOVERNMENT CONTRACT RIGHTS
`
`This invention was made with Government support under
`Contract No. 360000-1999-000000-QC-000-000 awarded by
`the Central Intelligence Agency. The Government has certain
`rights in the invention.
`
`BACKGROUND OF THE INVENTION
`
`A tremendous variety of methods have been proposed and
`implemented to provide security and anonymity for commu-
`nications over the Internet. The variety stems, in part, from the
`different needs of different Intemet users. A basic heuristic
`
`framework to aid in discussing these different security tech-
`niques is illustrated in FIG. 1. Two terminals, an originating
`terminal 100 and a destination terminal 110 are in communi-
`cation over the Internet. It is desired for the communications
`
`to be secure, that is, immune to eavesdropping. For example,
`terminal 100 may transmit secret information to terminal 110
`over the Internet 107. Also, it may be desired to prevent an
`eavesdropper from discovering that terminal 100 is in com-
`munication with terminal 1 10. For example, ifterminal 1 00 is
`a user and terminal 110 hosts a web site, terminal 100’s user
`may not want anyone in the intervening networks to know
`what web sites he is “visiting.” Anonymity would thus be an
`issue, for example, for companies that want to keep their
`market research interests private and thus would prefer to
`prevent outsiders from knowing which web-sites or other
`Internet resources they are “visiting.” These two security
`issues may be called data security and anonymity, respec-
`tively.
`Data security is usually tackled using some form of data
`encryption. An encryption key 48 is known at both the origi-
`nating and terminating terminals 100 and 110. The keys may
`be private and public at the originating and destination termi-
`nals 100 and 110, respectively or they may be symmetrical
`keys (the same key is used by both parties to encrypt and
`decrypt). Many encryption methods are known and usable in
`this context.
`To hide traffic from a local administrator or ISP, a user can
`employ a local proxy server in communicating over an
`encrypted channel with an outside proxy such that the local
`administrator or ISP only sees the encrypted trafiic. Proxy
`servers prevent destination servers from determining the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`identities of the originating clients. This system employs an
`intermediate server interposed between client and destination
`server. The destination server sees only the Internet Protocol
`(IP) address ofthe proxy server and not the originating client.
`The target server only sees the address of the outside proxy.
`This scheme relies on a trusted outside proxy server. Also,
`proxy schemes are vulnerable to traffic analysis methods of
`determining identities of transmitters and receivers. Another
`important limitation of proxy servers is that the server knows
`the identities of both calling and called parties. In many
`instances, an originating terminal, such as terminal A, would
`prefer to keep its identity concealed from the proxy, for
`example, ifthe proxy server is provided by an Internet service
`provider (ISP).
`To defeat traffic analysis, a scheme called Chaum’s mixes
`employs a proxy server that transmits and receives fixed
`length messages, including dummy messages. Multiple origi-
`nating terminals are connected through a mix (a server) to
`multiple target servers. It is difficult to tell which of the
`originating terminals are communicating to which ofthe con-
`nected target servers, and the dummy messages confuse
`eavesdroppers’ efforts to detect communicating pairs by ana-
`lyzing traffic. A drawback is that there is a risk that the mix
`server could be compromised. One way to deal with this risk
`is to spread the trust among multiple mixes. If one mix is
`compromised, the identities of the originating and target ter-
`minals may remain concealed. This strategy requires a num-
`ber of alternative mixes so that the intermediate servers inter-
`
`posed between the originating and target terminals are not
`determinable except by compromising more than one mix.
`The strategy wraps the message with multiple layers of
`encrypted addresses. The first mix in a sequence can decrypt
`only the outer layer of the message to reveal the next desti-
`nation mix in sequence. The second mix can decrypt the
`message to reveal the next mix and so on. The target server
`receives the message and, optionally, a multi-layer encrypted
`payload containing return information to send data back in
`the same fashion. The only way to defeat such a mix scheme
`is to collude among mixes. If the packets are all fixed-length
`and intermixed with dummy packets, there is no way to do
`any kind of traffic analysis.
`Still another anonymity technique, called ‘crowds,’ pro-
`tects the identity of the originating terminal from the inter-
`mediate proxies by providing that originating terminals
`belong to groups ofproxies called crowds. The crowd proxies
`are interposed between originating and target terminals. Each
`proxy through which the message is sent is randomly chosen
`by an up stream proxy. Each intermediate proxy can send the
`message either to another randomly chosen proxy in the
`“crowd” or to the destination. Thus, even crowd members
`cannot determine if a preceding proxy is the originator of the
`message or if it was simply passed from another proxy.
`ZKS (Zero-Knowledge Systems) Anonymous IP Protocol
`allows users to select up to any of five different pseudonyms,
`while desktop software encrypts outgoing traffic and wraps it
`in User Datagram Protocol (UDP) packets. The first server in
`a 2+-hop system gets the UDP packets, strips off one layer of
`encryption to add another, then sends the traffic to the next
`server, which strips off yet another layer of encryption and
`adds a new one. The user is permitted to control the number of
`hops. At the fi