throbber

`
`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-00176
`
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket