`
`U8006502135B1
`
`(12)
`
`United States Patent
`
`Munger et al.
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,502,135 B1
`Dec. 31, 2002
`
`(54)
`
`(75)
`
`AGILE NETWORK PROTOCOL FOR
`SECURE COMMUNICATIONS WITH
`ASSURED SYSTEM AVAILABILITY
`
`Inventors: Edmund Colby Munger, Crownsville,
`MD (US); Douglas Charles Schmidt,
`Severna Park, MD (US); Robert
`Dunham Short, [11, Leesburg, VA
`(US); Victor Larson, Fairfax, VA (US);
`Michael Willlamson, South Riding, VA
`(US)
`
`D1:
`EP
`151’
`GB
`W0
`W0
`W0
`W0
`W0
`W0
`
`199 24 575
`2 317 792
`0 858 189
`0 814 589
`W0 98/27783
`W0 98 59470
`W0 99 38081
`W0 99 48303
`W0 00/711458
`W0 01 50688
`
`12/1999
`4/1998
`8/1998
`12/1997
`6/1998
`12/1998
`7/1999
`9/1999
`11/2000
`7/2001
`
`OTHER PUBLICATIONS
`
`(73)
`
`Assignee: Science Applications International
`Corporation, San Diego, CA (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`Fasbender, Kesdogan, and Kubitz: "Variable and Scalable
`Security: Protection of Location Information in Mobile IP",
`IEEE publication, 1996, pp. 963—967.
`
`(List continued on next page.)
`
`(21)
`
`Appl. N0.: 09/504,783
`
`(22)
`
`Filed:
`
`Feb. 15, 2000
`
`(63)
`
`(60)
`
`(51)
`(52)
`(58)
`
`(56)
`
`Related US. Application Data
`
`Continuation-impart of application No. 09/429,643, filed on
`Oct. 29, 1999
`Provisional application No. 60/106,261, filed on Oct. 30,
`1998, and provisional application No. 60/137,704, filed on
`Jun. 7, 1999.
`
`Int. Cl.7 .............................................. G06F 15/173
`US. Cl.
`........................ 709/225; 709/229; 709/245
`Field of Search ................................. 709/249, 223,
`709/225, 229, 245; 713/201
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4.933.846 A
`
`6/1990 Humphrey et al.
`
`(List continued on next page.)
`FOREIGN PATENT DOCUMENTS
`
`DE
`
`0 838 930
`
`12/1999
`
`Primary Erantiner—Krisna Lim
`(74) Attorney, Agent, or Firm—Banner & Witcolf, Ltd.
`
`(57)
`
`ABSTRACT
`
`A plurality of computer nodes communicate using seem-
`ingly random Internet Protocol source and destination
`addresses. Data packets matching criteria defined by a
`moving window of valid addresses are accepted for further
`processing, while those that do not meet the criteria are
`quickly rejected. Improvements to the basic design include
`(1) a load balancer that distributes packets across diflerent
`transmission paths according to transmission path quality;
`(2) a DNS proxy server that transparently creates a virtual
`private network in response to a domain name inquiry; (3)
`a large-to-small
`link bandwidth management feature that
`prevents denial-of—service attacks at system chokepoints; (4)
`a traffic limiter that regulates incoming packets by limiting
`the rate at which a transmitter can be synchronized with a
`receiver; and (5) a signaling synchronizer that allows a large
`number of nodes to communicate with a central node by
`partitioning the communication function between two sepa—
`rate entities.
`
`17 Claims, 35 Drawing Sheets
`
`
`
`
`
`
`
`
`
`110
`
`\\ _
`
`”0
`
`“ we
`1
`ERMN
`
`AL
`
`VIRNEIX EXHIBII 2029
`
`RPX V. VirnetX
`
`Trial IPR2014-00177
`
`Page 1 of 72
`
`
`
`US 6,502,135 B1
`Page 2
`
`Alan 0. Frier et al., "The SSL Protocol Version 3.0”, Nov.
`18, 1996, printed from http://www.netscape.com/eng/ssl3/
`draft302.txt on Feb. 4, 2002, 56 pages.
`Reiter, Michael K. and Rubin, Aviel D. (AT&T Labs—
`Researeh), “Crowds: Anonymity for Web Transactions”, pp.
`1—23.
`
`Dolev, Shlomi and Ostrovsky, Rafail, "Elficient Anonymous
`Multicast and Reception” (Extended Abstract), 16 pages.
`Rubin, Aviel D., Geer, Daniel, and Ranum, Marcus J. (Wiley
`Computer Publishing), “Web Security Sourcebook”, pp.
`82—94.
`Shree Murthy et al., “Congestion—Oriented Shortest Multi-
`path Routing”, 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.
`Search Report (dated Jun. 18, 2002), International Applica-
`tion No. PCI‘/US()l/13260.
`Search Report (dated Jun. 28, 2002), International Applica-
`tion No. PCT/USOI/‘l326l.
`Donald E. Eastlake, “Domain Name System Security Exten-
`sions”, DNS Security Working Group, Apr. 1998, 51 pages.
`D. B. Chapman et 31., “Building Internet Firewalls”, Nov.
`1995, pp. 278—297 and pp. 351—375.
`P. Srisuresh et al., “DNS extensions to Network Address
`'l‘ranslators”, Jul. 1998, 27 pages.
`Laurie Wells, “Security Icon", Oct. 19, 1998, 1 page.
`W. Stallings, “Cryptography And Network Security”, 2""
`Edition, (Thapter 13, 11’ Security, Jun. 8, 1998, pp. 399400.
`W. Stallings, "New Cryptography and Network Security
`Book”, Jun. 8, 1998, 3 pages.
`
`* cited by examiner
`
`US. PATENT DOCUMENTS
`
`709/243
`
`........... 709/225
`
`12/1006 Aziz
`5,588,060 A
`11/1997 Nguyen
`5,689,566 A
`8/1008 Eshensen
`5,706,042 A
`9/1998 Holloway et a1.
`5,805,801 A
`11/1008 Hughes el 31.
`5,842,040 A
`3/1999 Bachr ct a1.
`5,878,231 A “
`4/1000 Klaus
`5,892,003 A
`4/1999 Wesinger et al.
`5,898,830 A *
`5/1000 Holloway et 31.
`5,005,850 A
`12/1999 Adelrnan et al.
`6,006,259 A
`1/2000 Tomoike ..................... 370/338
`6,016,318 A *
`4/2000 Wesinger, Jr. et 211.
`6,052,788 A
`6/2000 Liu ............................ 713/201
`6,079,020 A "'
`9/2000 Alkhatib
`6,119,171 A
`.......... 713/168
`1/2001 Schneider et al.
`"'
`6,178,505 Bl
`5/2001 Arrow etal.
`............... 370/351
`6,226,751 Bl *
`6/2001 Sitaraman et al.
`6,243,749 Bl
`9/2001 Ramanalhan et a1.
`6,286,047 Bl *
`....... 345/733
`6,330,562 Bl
`"' 12/2001 Boden etal.
`............. 707/10
`
`6,332,158 B1 "' 12/2001 Rislcy ct al.
`709/219
`‘1'
`6,353,614 B1
`3/2002 Borella et a1.
`.............. 370/389
`0T1 IER PUBLICATIONS
`
`Linux FreeS/WAN Index File, printed from http://liberty-
`.freeswanorg/freeswan trees/freeswan—l.3/doc/ on Feb.
`21, 2002, 3 pages.
`1. Gilmore, “Swan: Securing the Internet against Wiretap-
`ping”, printed from http:l/liberty.freeswan.org/freeswan
`trees/freesswan—l.3/doc/rationale.html on Feb. 21, 2002, 4
`pages.
`Glossary for the Linux FreeS/WAN project, printed from
`http://liberty.freeswan/org/frecswan_trees/freeswan—1.3/
`doc/glossary.html on Feb. 21, 2002, 25 pages.
`
`Page 2 of 72
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 1 0f 35
`
`US 6,502,135 B1
`
`100
`
`ORIGINATING
`TERMINAL
`
`‘ 40
`IP PACKET
`
`23
`
`IP
`ROUTER
`
`22
`
`IP
`ROUTER
`
`ROUTER
`25
`INTERNET
`
`29
`
`IP
`ROUTER
`32
`
`
`
`28
`
`.P
`
`
`
`
`
`
`
`
`
`ROUTER
`
`ROUTER
`
`ROUTER
`
`27
`
`IP
`IP
`
`
`
`ROUTER
`ROUTER
`
`
`
`26
`
`h
`ENCRYPTION KEY
`
`110
`
`DESTINATION
`TERMINAL
`
`FIG. 1
`
`Page 3 of 72
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 2 0f 35
`
`US 6,502,135 B1
`
`100
`
`TERMINAL
`
`l 1
`
`40
`
`TARP PACKET
`
`145
`
`LINK KEY
`
`LINK KEY
`
`TARP
`
`ROUTER
`
`129
`
`IP
`
`ROUTER
`
`
` TARP
`128
`
`
`107
`
`131
`
`122
`
`ROUTER
`
`$11
`LINK KEY
`
`124
`
`ROUTER
`
`132
`
`ROUTER
`
`126
`
`IP
`ROUTER
`
`RgfiR
`
`143
`
`Ora-
`SESSION KEY
`
`TARP
`
`0m ROUTER
`LINK KEY
`
`
`
`’11
`
`110
`LINK KEY
`
`TARP PACKET
`TARP
`
`
`
`TERMINAL
`
`FIG. 2
`
`Page 4 of 72
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 3 0f 35
`
`US 6,502,135 Bl
`
`207a
`
`207b
`
`2070
`
`207d
`
`° ' °
`
`
`
`
`
`DATA STREAM 30)
`
`INTERLEAVED
`PAYLOAD DATA
`@
`
`
`
`SESSION-KEY-ENCRYPTED
`PAYLOAD DATA§3_Q
`
`TARP PACKET WITH
`ENCRYPTED PAYLOADS fl
`
`LINK-KEY-ENCRYPTED
`TARP PACKETS fl
`
`.
`
`.
`
`~
`
`IP PACKETS WI ENCRYPTED
`TARP PACKETSAS
`PAYLOADfl
`
`
`
`
`
`
`
`
`
`
`
`
`TARP
`ROUTER 1
`
`TARP
`ROUTER 2
`
`TARP
`ROUTER 7
`
`
`
`TARP
`ROUTER 3
`
`
`
`TARP
`
`ROUTER 5
`
`TARP
`ROUTER 4
`
`TARP
`
`ROUTER 6
`
`
`
`TARP
`DESTINATION
`
`FIG. 3A
`
`Page 5 of 72
`
`
`
`
`
`waxed'S'fl
`
`U 8
`
`8
`”to
`
`§ U
`
`3
`
`2'
`
`iG g
`
`:1
`CI)
`
`20m
`2073
`DATA STREAM 300
`’4‘...
`fli_fl_lfl__—- ‘ ‘
`
`207d
`
`-
`
`.
`
`-
`
`207a
`
`'
`
`.:-‘.‘:,_"-,-.::I-:'§E.':'.':'-:I;I'21'.3" 1'53;=fig'3:1;.':‘5:'-:?;§‘:.f-3‘5
`
`~
`--
`-~
`~-
`-
`
`‘33::‘55-33313-13'55". BLOCKENCRYPTEDLSESSDNKEY)
`‘
`PAYLOADSEQUENCEggQ
`
`DUMMY BLOCKS OR DATA
`MAYBEADDED
`
`-.
`
`r.
`:.;
`'l "
`
`5
`
`ENCRYPTED BLOCK DIVIDED
`INTO PAYLOADS 52_2
`
`
`
`ENCRYPTED BLOCK DIVIDED
`INTO PAYLOADS lNTERLEAVEDflIB
`
`.43;
`
`
`ENCRYPTED BLOCK DIVIDED
`INTO PAYLOADS INTERLEAVEDfl3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mama'S'fl
`
`U
`8
`p
`
`
`
`
`g S
`
`m g 3
`
`. Q
`
`
`
`
`
`
`
`
`
`c:
`CI)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` TARP TRANSCEIVER fig§
`
` NETWORK (IPI LAYER Am
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ONE ALTERNATIVE TO
`
`COMBINE
`TARP PROCESSING
`WITH OIS IP
`PROCESSOR
`
`
`
`
`OTHER ALTERNATIVE
`TC COMBINE TARP
`
`PROCESSING
`WITH D.L. PROCESSOR
`(E.G., BURN INTO BOARD
`PROM)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`‘
`
`\
`
`Page 7 of 72
`
`Page 7 of 72
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 6 0f 35
`
`US 6,502,135 Bl
`
`BACKGROUND LOOP-DECOY
`GENERATION
`
`AUTHENTICATETARP PACKET
`
`OUTER LAYER DECRYPTION OF
`TARP PACKET USING LINK KEY
`
`CHECK FOR DECOY AND
`
`INCREMENT PERISHABLE DECOY
`COUNTER AS APPROPRIATE
`
`86
`
`DUMP DECOY
`
`
`
`
`
`TRANSMIT DECOY?- 35
`
`NO
`
`YES
`
`DECREMENT
`TTL TTL > 0?
`
`YES
`
`
`
`$9
`
`DETERMINE DESTINATION TARP
`ADDRESS AND STORE LINK KEY
`AND IPADDRESS
`
`GENERATE NEXT-HOP TARP
`ADDRESS AND STORE LINK KEY
`AND IF ADDRESS
`
`GENERATE NEXT-HOP TARP
`ADDRESS AND STORE LINK KEY
`AND IF ADDRESS
`
`GENERATE IP HEADER
`AND TRANSMIT
`
`FIG. 5
`
`Page 8 of 72
`
`so
`
`32
`
`33
`
`S4
`
`ST
`
`38
`
`810
`
`511
`
`
`
`
`US. Patent
`
`
`
`Dec. 31, 2002
`
`
`
`
`Sheet 7 0f 35
`
`
`
`
`
`
`
`
`US 6,502,135 B1
`
`
`
`BACKGROUND LOOP-DECOY
`
`GENERATION
`
`
`
`
`
`320
`
`
`
`
`
`GROUP RECEIVED IP PACKETS
`
`
`
`INTO INTERLEAVE WINDOW
`
`
`$21
`
`MED!
`
`
`
`
`DETERMINE DESTINATION TARP
`
`
`
`
`ADDRESS, INITIALIZE TTlL, STORE
`
`
`
`IN TARP HEADER
`
`
`
`822
`
`
`
`
`
`
`RECORD WINDOW SEQ. NOS. AND
`
`
`
`
`
`INTERLEAVE SEQ. NOS IN TARP
`
`HEADERS
`
`
`
`323
`
`
`
`
`
`
`
`
`CHOOSE FIRST HOP TARP
`
`
`
`
`
`ROUTER, LOOK UP IP ADDRESS
`
`
`
`
`
`
`AND STORE IN CLEAR IP HEADER,
`
`
`
`
`OUTER LAYER ENCRYPT
`
`
`824
`
`
`
`
`
`INSTALL CLEAR IP HEADER
`
`
`AND TRANSMIT
`
`
`
`825
`
`
`FIG. 6
`
`
`
`Page 9 of 72
`
`Page 9 of 72
`
`Page 9 of 72
`
`
`
`
`US. Patent
`
`
`
`Dec. 31, 2002
`
`
`
`
`
`Sheet 8 0135
`
`
`
`
`
`
`US 6,502,135 B1
`
`
`
`
`
`
`S40
`
`
`
`BACKGROUND LOOP-DECOY
`
`GENERATION
`
` AUTHENTICATE TARP PACKET
`
`
`
`
`
`
`
`RECEIVED
`
`
`
`
`S42
`
`
`
`
`
`S43
`
`
`
`
`
`DECRYPT OUTER LAYER
`
`
`
`
`ENCRYPTION WITH LINK KEY
`
`
`
`
`
`
`
`INCREMENT PERISHABLE
`
`
`
`COUNTER IF DECOY
`
`
`
`
`
`
`DIVIDE BLOCK INTO PACKETS
`
`
`
`
`USING WINDOW SEQUENCE DATA,
`
`
`
`
`ADD CLEAR IP HEADERS
`
`
`
`
`GENERATED FROM TARP
`
`HEADERS
`
`
`S44 HAND COMPLETED IP PACKETS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`TO IP LAYER PROCESS
`
`
`
`
`S45
`
`
`
`
`
`
`
`
`THROW AWAY DECOY OR KEEP
`
`
`
`
`IN RESPONSE TO ALGORITHM
`
`
`
`S46
`
`
`
`
`
`CACHE TARP PACKETS UNTIL
`
`
`
`WINDOW IS ASSEMBLED
`
`
`S47
`
`
`
`
`DEINTERLEAVE PACKETS
`
`
`FORMING WINDOW
`
`
`
`S48
`
`
`
`
`DECRYPT BLOCK
`
`
`FIG. 7
`
`
`
`Page 10 of 72
`
`Page 10 of 72
`
`Page 10 of 72
`
`
`
`CLIENT TERMINAL
`8M
`
`3st PACKETm
`SSYN ACK PACKETQ2
`SSYN ACK ACK PACKET8_23
`SECURE SESSION INITIATION w
`
`SECURE SESSION INITIATION ACK Q5
`
`FIG. 8
`
`
`
`TARP
`
`w
`
`
`ROUTER
`
`
`
`
`
`1%ch'S'fl
`
`5
`i
`‘g
`
`9‘:106was
`
`18991‘209‘9Sfl
`
`
`
`CLIENT 1
`9g
`
`
`
`
`
` TARP
`
`ROUTER
`911
`
`TRANSMIT TABLE 9 1
`
`RECEIVE TABLE 92_4
`
`131.218.204.98
`
`131.218.204.221
`
`131.218.204.139
`
`,
`
`,
`
`,
`
`131.218.204.65
`
`131.218.204.97
`
`131.218.204.186
`
`131.218.204.12
`
`131.218.204.55
`
`131.218.204.98
`
`131.218.204.221
`
`131.218.204.139
`
`131.218.204.12
`
`,
`
`.
`
`,
`
`,
`
`131.218.204.65
`
`131.218.204.97
`
`131.218.204.186
`
`131.218.204.55
`
`RECEIVE TABLE E12
`
`TRANSMIT TABLE 923
`
`131.218.204.161
`
`131.218.204.66
`
`131.218.204.201
`
`131.218.204.119
`
`,
`
`,
`
`,
`
`,
`
`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
`
`,
`
`,
`
`,
`
`.
`
`131.218.204.89
`
`131.218.204.212
`
`131.218.204.127
`
`131.218.204.49
`
`
`
`
`
`3003‘11:090waged'S'f]
`
`9‘5.1001mus
`
`
`
`Ifl991‘205‘9Sfl
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 11 0f 35
`
`US 6,502,135 B1
`
`:2
`
`«2:
`
`22
`
`<n_m_
`
`mas.
`
`mmSOm
`
`mas.mm9
`
`$.53
`
`mad;0m9
`
`$.58
`
`58
`
`3:
`
`88
`
`or.0E
`
`._.zm_._o
`
`‘
`
`32
`
`Page 13 of 72
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1150\1
`
`
`
`
`
`
`
`
`
`
`1101A
`11013
`
`
`1102A
`11023
`11020
`
`
`
`
`
`
`1110
`
`
`ETHERNET FRAME
`
`HEADER
`
`
`SRC.HWADDRE—S:53
`
`
`
`
`_EST.H—.WADDRESS88
`
`IP PACKET
`HEADER
`SOURCE IPADDRESS10
`
`0,—EST—PADDRESS14
`
`
`DISCRIM—FIELD—77
`
`
`IP PACKET
`HEADER
`SOURCE lP ADDRESS 13
`1103
`”’2 DES_IPADDRESS: 15
`
`D_SCRIM_FIE—Dz13
`
`
`
`PAYLOAD #1
`
`1103A‘—
`11033
`mm
`
`1112
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`“04
`
`
`
`
`
`1105
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`we,
`
`S:
`y:
`
`F:
`E.
`g
`"
`g
`9;
`«3
`3
`
`m
`3;
`
`E:
`a
`
`%
`
`
`
`
`
`PAYLOAD #3
`
`
`
`
`
`
`1160\'
`
`
`
`
`ETHERNET FRAME
`
`
`
`
`HEADER
`’
`
`SRC.HWADDR—SS53
`1104A
`
`
`11043 D._ESTHWADDRESS_88
`
`
`
`I—PPACKET
`
`HEADER
`SOURCE IPADDRESS 71
`1105A
`
`11053
`
`DEST_PADDRESS:91
`
`
`11050 D__SCRIMFIELD:45
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1113
`
`
`
`
`
`Page 14 of 72
`
`Page 14 of 72
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1201
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1202
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`JHBJBJ'sn
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`APPLICATION
`
`USER
`
`1209x
`
`1208X
`
`IPHOPALGA
`(TX)
`D 03
`
`IPHOPALGB
`(RX)
`0 DS
`
`s
`
`
`
` 203
`
`
`
`12041205
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`HWHOPALGC
`
`
`
`(TX)
`
`
`
`
`
`
`
`
`
`12061207
`
`
`
`
`
`HW ETHERNET
`
`
`
`
`
`l-I'IiJ
`
`
`
`
`
`
`
`
`
`
`2110-x 1-211x
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`HWHOPALGD
`
`
`(RX)
`
`
`
`
`
`
`12151214
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1216
`
`1217
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`c
`;
`15
`m
`
`S
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`E
`5
`2.,
`31
`
`C1
`CI)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`w2
`
`Page 15 of 72
`
`Page 15 of 72
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MgDE
`EMBODIMENT
`
`1. PROMISCUOUS
`
`
`
`
`
`
`HARDWARE
`
`ADDRESSES
`
`SAME FORALLNODES
`
`OR COMPLETELY
`RANDOM
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IPADDRESSES
`
`
`
`
`
`CAN BE VARIED
`
`
`IN SYNC
`
`2. PROMISCUOUS
`PER VPN
`
`F'XED FOREACH VPN
`
`CAN BE VARIED
`IN SYNC
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DISCRIMINATOR FIELD
`
`
`VALUES
`
`
`CAN BE VARIED
`
`
`IN SYNC
`
`
`
`
`
`
`
`CAN BE VARIED
`IN SYNC
`
`3. HARDWARE
`HOPPING
`
`CAN BE VARIED
`IN SYNC
`
`CAN BE VARIED
`IN SYNC
`
`CAN BE VARIED
`IN SYNC
`
`FIG. 128
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`JHBJBJ'sn
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ZO0Z‘19'93(1
`
`SCJ0171133118
`
`13SSI‘z09‘9sn
`
`Page 16 of 72
`
`Page 16 of 72
`
`
`
`1301
`
`1304
`
`
`
`CLIENT B
`
`
`
`IP_OURCEADDRESS
`
`1P DEST.A—DDRESS
`
`SYNC_VALUE
`
`
`(PUBLICP_ORTION)
`S_YNCVALUE
`
`(PRIVATE PORTION)
`YES
`
`
`
`LINK-KEY
`
`ENCRYPTED
`
`
`PAYLOAD
`
`
`
`
`1311
`
`PROCESS
`PACKET
`
`
`
`Juamd'S'[1
`
`
`
`z00z‘19'99(1
`
`SEJ0SI139118
`
`13sst‘z09‘9sn
`
`Page 17 of 72
`
`Page 17 of 72
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IP PAIR 1
`
`IP PAIR 2
`
`‘ -> WINDOW
`
`E
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`JHBJBJ'sn
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`c é
`
`
`15
`3
`
`
`g
`a
`
`3 S
`
`i,
`3,
`
`%
`9
`
`
`
`
`
`
`
`
`
`
`
`
`
`WWW
`
`IP PAIR 1
`IP PAIR 2
`
`5
`lP PAIR W
`ckpt_o
`ckpt_n
`
`RECEIVER
`
`SENDER'S ISP
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`______
`
`wmmw
`“““““» ckpt_o
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`CURRENTIP PAIR
`ckpt_o
`
`
`
`
`
`TRANSMITTER
`
`
`
`RECIPIENT'S ISP
`
`KEPT IN SYNC FOR SENDER TO RECIPIENT SYNCHRONIZER
`
`< ------------------------ >
`
`Page 18 of 72
`
`Page 18 of 72
`
`
`
`@
`
`@ 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—R50
`
`II
`
`I
`
`* WHEN SYNC_REQ ARRIVES
`WITH INCOMING HEADER =
`RECEIVER'S ckpt_n:
`
`- UPDATE WINDOW
`
`- GENERATE NEW
`CHECKPOINT IP PAIR
`ckpt_n IN RECEIVER
`- GENERATE NEW
`CHECKPOINT IP PAIR
`ckpt_r IN TRANSMITTER
`- TRANSMIT SYNC_ACK
`USING NEW CHECKPOINT
`IP PAIR ckpt_r
`
`
`
`waxed'S'fl
`
`
`
`ZOOZ‘IC°3°(l
`
`SE10LIwas
`
`189917099Sfl
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 18 0f 35
`
`US 6,502,135 B1
`
`89.o89.o88o88o
`
`55%8&8:9E.25mzmmzm.
`
`ommoommo
`
`Page 20 of 72
`
`9.0E
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 19 of 35
`
`US 6,502,135 B1
`
`USED WINDOW_SIZE
`
`I INACTIVE
`% ACTIVE
`
`
`
`l/I/I/I/I/I/I/I/I/I/I/I/
`7/I/I/[l/[l/I/I/I/I/I/IA
`///////////////////////
`7/l/l/l/I/l/l/I/I/I/l/IA
`/////'////////////////%
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`’I/I/I/I/I/I/I/I/I/I/I/A
`WI/I/I/I/I/I/I/I/I/
`///////////////////////A
`/////////1/////////////
`
`
`
`
`
`FIG. 17
`
`000
`
`WINDOW_SIZE
`
`Page 21 of 72
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 20 0f 35
`
`US 6,502,135 B1
`
`— V
`
`l/I/I/I/I/I/I/I/I/I/I/A
`
`000
`
`
`I INACTIVE
`ACTIVE
`
`
`USED
`
`WINDOW_S|ZE
`
`WINDOW_S|ZE mm
`7//////////////'////////
`7/I/l/l/I/l/l/I/l/I/I/J
`
`WW
`
`I/I/I/I/I/I/I/I/I/I/I
`
`FIG. 18
`
`Page 22 of 72
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 21 0f 35
`
`US 6,502,135 B1
`
`
`
`
`VII/IIIIIl/IIIIIIIIIIIIA
`
`///'IIIIIIIIIII/I/II/'I/I
`III/III/IIIIIIIIIIII/II
`
`OoO VIII/IIIIII/I/IIIIII/III.
`
`
`
`
`
`
`
`WINDOW_S|ZE
`
`
`/////////////
`
`
`
`///////////////////////
`
`WINDOW_S|ZE
`
`
`
`
`III/IIIIIIIIIII/III/II
`IIII/I/II/IIIII'IIII/I/I
`
`'IIIIIIIIIIIIIIIIIIIIIIIA
`
`WI/IIII/IIIIIIIIIIIIIA
`
`IIIII/IIIIIIIIIIIIIIIII
`
`
`
`
`I INACTIVE
`
`
`000
`
`FIG. 19
`
`Page 23 of 72
`
`
`
`11mm'90
`
`
`
`zoo:‘IC990
`
`SC.1022”9'13
`
`COMPUTER
`# 2
`
`COMPUTER
`
`EDGE
`ROUTER
`
`IHss1‘z09‘9$0
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 23 0f 35
`
`US 6,502,135 B1
`
`
`
`
`2100/
`
`
`LINK DOWN
`
`
`
`
`
`
`
`
`2101
`
`2102
`
`2103
`
`2104
`
`2105
`
`2106
`
`2107
`
`2108
`
`2109
`
`AD TABLE
`
`|P1
`
`1P3
`
`|P2
`
`|P4
`
`TABLE
`
`AF TABLE
`
`BD TABLE
`
`BE TABLE
`
`V
`
`A
`
`CD TABLE
`
`CE TABLE
`
`CF TABLE
`
`FIG. 21
`
`Page 25 of 72
`
`
`
`US. Patent
`
`Dec. 31,2002
`
`Sheet 24 0f 35
`
`US 6,502,135 B1
`
`MEASURE
`QUALITY OF
`TRANSMISSION
`
`PATH X
`
`
`
`
`
`MORE
`
`
`
`
`
`
`THAN ONE
`
`TRANSMITTER
`
`TURNED
`
`ON?
`
`
`
`2209
`
`SET WEIGHT
`TO MIN. VALUE
`
`
`
`
`
`
`
`
`
`
`INCREASE WEIGHT
`FOR PATH X
`TOWARD STEADY
`STATE VALUE
`
`
`ADJUST WEIGHTS
`FOR REMAINING
`PATHS SO THAT
`
`WEIGHTS EQUAL ONE
`
`
`
`FIG. 22A
`
`Page 26 of 72
`
`
`
`
`PATH X
`QUALITY <
`THRESHOLD?
`
`
`
`
`
`
`PATH X
`WEIGHT LESS
`
`THAN STEADY
`
`STATE
`VALUE?
`
`
`DECREASE
`
`WEIGHT FOR
`
`PATH X
`
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 25 0f35
`
`US 6,502,135 B1
`
`2210
`
` (EVENT) TRANSMITTER
`
`
`
`FOR PATH x
`
`TURNS OFF
`
`
`
`2211
`
`
`
`
`AT LEAST
`DROP ALL PACKETS
`ONE TRANSMITTER
`UNTILA TRANSMITTER
`
`
`
`TURNED ON?
`TURNS ON
`
`
`
`
`
`
`2212
`
`SET WEIGHT
`
`
`
`TO ZERO
`
`ADJUST WEIGHTS
`
` 2213
`
`FOR REMAINING
`
`
`PATHS SO THAT
`
`WEIGHTS EQUAL ONE
`
` 2214
`
`FIG. 223
`
`Page 27 of 72
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`JHBJBJ'S'fl
`
`
`
`
`
`g
`2
`
`g
`N
`
`
`
`g
`£6.
`
`.3
`
`a,
`a
`
`% 9U
`
`PATH x4
`
`
`
`
`
`
`
`
`
`2301
`
`
`
`
`
`2305
`
`2305
`
`
`
`RECEIVE TABLE
`
`EEE_
`===
`-"""
`
`/‘
`
`w
`
`PACKET
`TRANSMITTER
`
`PACKET
`RECEIVER
`
`wa3) =00
`
`W(X4)=0.1
`
`2309
`
`WEIGHT
`LINKQUALITY
`ADJUSTMENT
`MEASUREMENT
`2304
`FUNCTION
`FUNCTION
`
`
`
`
`
`
`
`
`
`
`2303
`
`
`
`i
`i
`1
`
`W(X1) =02
`-wa2)=01
`
`
`
`
`
`
`
`
`
`
` PATH X2
`
`
`
`
`
`
`
`
`PATH X3
`5
`
`
`
`
`
`
`
`
`
`
`
`
`Page 28 of 72
`
`Page 28 of 72
`
`
`
`
`
`
`COMPUTER
`
`2403
`
`2404
`
`
`100 Mb/s MESS T: 32
`
`@—
`®
`
`75 Mb/s MESS T= 24
`
`
`25Mb—sMESS T: 8
`
`
`
`FIG. 24
`
`2402
`
`COMPUTER
`
`
`
`
`
`menu'90
`
`
`
`2002‘15'39(1
`
`SS.10LZ199IIS
`
`
`
`IE!991‘309‘9Sfl
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 28 0f 35
`
`US 6,502,135 B1
`
`83
`
`Gems.
`
`m._._mmm;mmmmmoi
`
`0mmmo<n_
`
`mm.GE
`
`Cm<mOEnc
`
`mm;
`
`mmmmmzo
`
`0mmmzo
`
`mmmgomm
`
`Page 30 of 72
`
`
`
`DNS
`
`SERVER
`
`2602
`
`mama
`
`WEB
`BROWSER
`
`
`GATE KEEPER
`
`
`2603
`
`'S'fl
`
`D 8 2
`
`'2
`s
`
`g Q a
`
`,
`3,
`
`(1
`Cl)
`
`2604
`
`HOPPING
`
`RULES
`
`
`
`
`
`
`
`
`SECURE TARGET SITE
`
`IPHOPPING
`2503
`
`
`
`US. Patent
`
`Dec. 31, 2002
`
`Sheet 30 0f 35
`
`US 6,502,135 B1
`
`2701
`
`RECEIVE DNS
`REQUEST FOR
`
`TARGET SITE
`
`2702
`
`2704
`
`
`
`
`ACCESS TO
`SECURE SITE
`REQUESTED?
`
`YES
`
`2703
`
`
`
`PASS THRU
`REQUEST To
`DNS SERVER
`
`2705
`
`
`
`
`
`RETURN
`'HOSTUNKNOWN"
`ERROR
`
`USER
`AUTHORIZED TO
`CONNECT?
`
`YES
`
`2706
`
`ESTABLISH
`VPN WITH
`
`TARGET SITE
`
`FIG. 27
`
`Page 32 of 72
`
`
`
`2801
`
`2803
`
`2802
`
`EDGE
`ROUTER
`
`HOST
`COMPUTER#1
`
`mm'90
`
`
`2805
`
`WGHBW
`
`2mm
`
`HOST
`
`COMPUTER#2
`
`
`
`ZOOZ‘IQ'930
`
`9‘5.1019was
`
`189917099Sfl
`
`
`
`5:
`.m
`
`w a g
`
`..
`
`g a
`
`:
`“N
`§
`
`g g
`
`a:
`3’.
`
`cm
`a
`
`HOST COMPUTER #1
`
`2904
`
`EDGE
`ROUTER
`
`
`
`2909
`
`LOW BW
`
`2900
`
`2905
`
`2906
`
`2907
`
`2900
`
`HIGH Bw
`
`2902
`
`HOST COMPUTER #2
`
`@0040"
`
`
`
`
`2912
`
`2913
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`mama'S'fl
`
`
`
`
`
`
`
`
`
`
`U
`
`8 a
`
`1;
`c
`N
`
`§
`i
`g
`a
`
`aC
`
`I)
`
`RECEIVER
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXCEEDS
`'
`W
`RATE R? . —R—SECONDS
`
`
`GENERATE
`CKPT_N
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`TRANSMITTER
`
`
`
`
`
`3011
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`GENERATE
`SYNC_REQ
`
`
`
`
`PROCESS
`CKPT_N
`
`TX TABLE
`(SYNQACK)
`
`
`W I--
`--
`——
`/‘
`
`
`
`
`
`
`
`3003
`
`Page 35 of 72
`
`Page 35 of 72
`
`
`
`3101
`
`3106
`
`
`
`TX/RX TX/RX TX/RX
`
`3‘02
`
`CLIENT #2
`
`3107
`
`Egg
`
`
`3208
`
`3209
`
`3210
`
`HACKER
`
`11mm'S'fl
`
`
`
`2002‘15'39(1
`
`SC.10179”WIS
`
`If!S91‘309‘9Sfl
`
`3104
`
`3105
`
`
`
`
`US. Patent
`
`
`
`Dec. 31, 2002
`
`
`
`
`
`
`
`
`Sheet 35 0f 35
`
`
`
`
`
`US 6,502,135 B1
`
`
`
`
`SERVER
`
`
`
`
`
`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 CKPT_N
`
`
`
`GENERATE NEW CKPT_R
`
`
`
`FOR TRANSMITTER SIDE
`
`
`
`TRANSMIT SYNC_ACK
`
`
`CONTAINING CKPT_O
`
`
`
`SYNC_REQ
`
`
`
`
`
`FIG. 32
`
`
`CLIENT
`
`
`
`
`
`
`SEND DATA PACKET
`
`
`
`USING CKPT_N
`
`
`
`CKPT_O=CKPT_N
`
`
`
`GENERATE NEW CKPT_N
`
`
`
`START TIMER, SHUT
`
`
`TRANSMITTER OFF
`
`
`
`
`
`IF CKPT_O IN SYNC_ACK
`
`
`MATCHES TRANSMITTER'S
`
`
`CKPT_O
`
`
`UPDATE RECEIVER'S
`
`
`CKPT_R
`
`
`
`KILL TIMER, TURN
`
`
`TRANSMITTER ON
`
`
`
`
`SEND DATA PACKET
`
`
`
`USING CKPT_N
`
`
`
`CKPT_O=CKPT_N
`
`
`
`GENERATE NEW CKPT_N
`
`
`
`START TIMER, SHUT
`
`
`TRANSMITTER OFF
`
`
`
`
`
`
`WHEN TIMER EXPIRES
`
`
`
`TRANSMIT SYNC_REQ
`
`
`USING TRANSMITTERS
`
`
`
`CKPT_O, START TIMER
`
`
`
`
`
`
`|F CKPT_O IN SYNC_ACK
`
`
`MATCHES TRANSMITTER'S
`
`
`CKPT_O
`
`
`UPDATE RECEIVER'S
`
`
`CKPT_R
`
`
`
`KILL TIMER, TURN
`
`
`TRANSMITTER ON
`
`Page 37 of 72
`
`Page 37 of 72
`
`Page 37 of 72
`
`
`
`
`
`US 6,502,135 B1
`
`
`
`
`1
`AGILE NETWORK PROTOCOL FOR
`
`
`
`
`SECURE COMMUNICATIONS WITH
`
`
`
`ASSURED SYSTEM AVAILABILITY
`
`
`
`CROSS-REFERENCE TO RELATED
`
`
`APPLICATION
`
`
`
`
`This application claims priority from and is a
`
`
`
`
`
`
`
`
`continuation-in-part of previously filed US. application Ser.
`
`
`
`
`
`
`
`No. 09/429,643, filed on Oct. 29, 1999. The subject matter
`
`
`
`
`
`
`
`
`
`
`of that application, which is bodily incorporated herein,
`
`
`
`
`
`
`
`
`derives from provisional US. application No. 60/106,261
`
`
`
`
`
`
`
`(filed Oct. 30, 1998) and No. 60/137,704 (filed Jun. 7, 1999).
`
`
`
`
`
`
`
`
`
`
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`Atremendous variety of methods have been proposed and
`
`
`
`
`
`
`
`
`implemented to provide security and anonymity for com-
`
`
`
`
`
`
`
`munications over the Internet. The variety stems, in part,
`
`
`
`
`
`
`
`
`
`from the different needs of different Internet users. A basic
`
`
`
`
`
`
`
`
`
`
`heuristic framework to aid in discussing these different
`
`
`
`
`
`
`
`
`security techniques is illustrated in FIG. 1. Two terminals, an
`
`
`
`
`
`
`
`
`
`
`originating terminal 100 and a destination terminal 110 are
`
`
`
`
`
`
`
`in communication over the Internet. It is desired for the
`
`
`
`
`
`
`
`
`
`
`communications to be secure, that is, immune to eavesdrop-
`
`
`
`
`
`
`
`
`ping. For example, terminal 100 may transmit secret infor-
`
`
`
`
`
`
`
`mation to terminal 110 over the Internet 107. Also, it may be
`
`
`
`
`
`
`
`
`
`
`
`desired to prevent an eavesdropper from discovering that
`
`
`
`
`
`
`
`
`terminal 100 is in communication with terminal 110. For
`
`
`
`
`
`
`
`
`
`example, if terminal 100 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 “visit-
`
`
`
`
`
`
`
`
`
`ing.” 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, respectively.
`
`
`
`
`Data security is usually tackled using some form of data
`
`
`
`
`
`
`
`
`
`
`encryption. An encryption key 48 is known at both the
`
`
`
`
`
`
`
`
`
`
`originating and terminating terminals 100 and 110. The keys
`
`
`
`
`
`
`
`
`
`may be private and public at the originating and destination
`
`
`
`
`
`
`
`
`
`
`terminals 100 and 110, respectively or they may be sym-
`
`
`
`
`
`
`
`
`
`metrical 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 traffic. Proxy
`
`
`
`
`
`
`
`
`
`servers prevent destination servers from determining the
`
`
`
`
`
`
`
`identities of the originating clients. This system employs an
`
`
`
`
`
`
`
`
`
`intermediate server interposed between client and destina-
`
`
`
`
`
`
`
`tion server. The destination server sees only the Internet
`
`
`
`
`
`
`
`
`
`Protocol
`(IP) address of the 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 con-
`
`
`
`
`
`
`
`
`
`
`cealed from the proxy, for example, if the 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`
`15
`
`
`
`20
`
`
`
`25
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`50
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`Page 38 of 72
`
`2
`
`
`
`
`
`
`
`
`
`
`
`
`originating 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 of the
`
`
`
`
`
`
`
`
`connected target servers, and the dummy messages confuse
`
`
`
`
`
`
`
`
`eavesdroppers’ efforts to detect communicating pairs by
`
`
`
`
`
`
`
`analyzing 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
`
`
`
`
`
`
`
`
`
`terminals may remain concealed. This strategy requires a
`
`
`
`
`
`
`
`
`number of alternative mixes so that the intermediate servers
`
`
`
`
`
`
`
`
`
`interposed 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
`
`
`
`
`
`
`
`
`
`
`
`destination 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 of proxies called crowds. The crowd
`
`
`
`
`
`
`
`
`proxies are interposed between originating and target termi-
`
`
`
`
`
`
`
`nals. Each proxy through which the message is sent
`is
`
`
`
`
`
`
`
`
`
`randomly chosen by an upstream 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 final server,
`traffic is decrypted with an
`
`
`
`
`
`
`
`
`
`
`
`untraceable IP address. The technique is called onion-
`
`
`
`
`
`
`
`routing. This method can be defeated using traffic analysis.
`
`
`
`
`
`
`
`
`
`For a simple example, bursts of packets from a user during
`
`
`
`
`
`
`
`
`
`
`
`low-duty periods can reveal the identities of sender and
`
`
`
`
`
`
`
`
`
`receiver.
`
`to protect LANs from unauthorized
`Firewalls attempt
`
`
`
`
`
`
`
`access and hostile exploitation or damage to computers
`
`
`
`
`
`
`
`
`connected to the LAN. Firewalls provide a server through
`
`
`
`
`
`
`
`
`
`which all access to the LAN must pass. Firewalls are
`
`
`
`
`
`
`
`
`
`
`centralized systems that require administrative overhead to
`
`
`
`
`
`
`
`maintain. They can be compromised by virtual-machine
`
`
`
`
`
`
`
`applications (“applets”). They instill a false sense of security
`
`
`
`
`
`
`
`
`
`that leads to security breaches for example by users sending
`
`
`
`
`
`
`
`
`
`
`sensitive information to servers outside the firewall or
`
`
`
`
`
`
`
`
`encouraging use of modems to sidestep the firewall security.
`
`
`
`
`
`
`
`
`
`Firewalls are not useful for distributed systems such as
`
`
`
`
`
`
`
`
`
`business travelers, extranets, small teams, etc.
`
`
`
`
`
`
`SUMMARY OF THE INVENTION
`
`
`
`
`A secure mechanism for communicating over the internet,
`
`
`
`
`
`
`
`
`including a protocol referred to as the Tunneled Agile
`
`
`
`
`
`
`
`
`
`
`
`
`Page 38 of 72
`
`Page 38 of 72
`
`
`
`
`
`US 6,502,135 B1
`
`
`
`
`Routing Protocol (TARP), uses a unique two-layer encryp-
`
`
`
`
`
`
`
`tion format and special TARP routers. TARP routers are
`
`
`
`
`
`
`
`
`
`similar in function to regular IP routers. Each TARP router
`
`
`
`
`
`
`
`
`
`
`has one or more IP addresses and uses normal IP protocol to
`
`
`
`
`
`
`
`
`
`
`
`
`send IP packet messages (“packets” or “datagrams”). The IP
`
`
`
`
`
`
`
`
`
`packets exchanged between TARP terminals via TARP rout-
`
`
`
`
`
`
`
`ers are actually encrypted packets whose true destination
`
`
`
`
`
`
`
`
`address is concealed except to TARP routers and servers.
`
`
`
`
`
`
`
`
`
`The normal or “clear” or “outside” IP header attached to
`
`
`
`
`
`
`
`
`
`
`TARP IP packets contains only the address of a next hop
`
`
`
`
`
`
`
`
`
`
`
`router or destination server. That is, instead of indicating a
`
`
`
`
`
`
`
`
`
`
`final destination in the destination field of the IP header, the
`
`
`
`
`
`
`
`
`
`
`
`TARP packet’s IP header always points to a next-hop in a
`
`
`
`
`
`
`
`
`
`
`
`series of TARP router hops, or to the final destination. This
`
`
`
`
`
`
`
`
`
`
`
`means there is no overt indication from an intercepted TARP
`
`
`
`
`
`
`
`
`
`
`packet of th