RFC 3570

Content Internetworking (CDI) Scenarios

πŸ“… published July 2003, from ietf

Content Internetworking (CDI) Scenarios πŸ’–

Network Working Group Β· RFC 3570 Β· Category: Informational Β· July 2003

Authors: P. Rzewski (Media Publisher, Inc.), M. Day (Cisco), and D. Gilletti (no affiliation listed) πŸŽ€

The title block doesn't list any RFCs this one obsoletes or updates, so it stands on its own πŸ¦‹


Status of This Memo ✨

This memo provides information for the Internet community πŸ“– It is NOT a standard of any kind, so nobody is required to follow it. Distribution is unlimited, so share it with everyone 🌸

Copyright (C) The Internet Society (2003). All Rights Reserved. πŸ’œ

Abstract 🫢

Okay so when content internetworking is pitched as something for real production networks, it helps a ton to show what actually happens when two content networks decide to link up πŸ”₯ This doc gives some concrete examples of what content internetworking is, and it also gives you a basis for judging content internetworking proposals. Super useful!

Table of Contents 🧚

   1.  Introduction...................................................2
       1.1.  Terminology..............................................3
   2.  Special Cases of Content Networks..............................3
       2.1.  Publishing Content Network...............................3
       2.2.  Brokering Content Network................................3
       2.3.  Local Request-Routing Content Network....................4
   3.  Content Internetworking Arrangements...........................5
   4.  Content Internetworking Scenarios..............................5
       4.1.  General Content Internetworking..........................6
       4.2.  BCN providing ACCOUNTING INTERNETWORKING and
             REQUEST-ROUTING INTERNETWORKING..........................9
       4.3.  BCN providing ACCOUNTING INTERNETWORKING................11
       4.4.  PCN ENLISTS multiple CNs................................12
       4.5.  Multiple CNs ENLIST LCN.................................13
   5.  Security Considerations.......................................15
       5.1.  Threats to Content Internetworking......................15
           5.1.1.  Threats to the CLIENT.............................15
           5.1.2.  Threats to the PUBLISHER..........................17
           5.1.3.  Threats to a CN...................................17
   6.  Acknowledgements..............................................18
   7.  References....................................................18
   8.  Authors' Addresses............................................19
   9.  Full Copyright Statement......................................20

1. Introduction 🌈

Okay so [1] is where the whole idea of a "content network" comes from 🧠 It explains the general types of content networks and why they'd want to hook up with each other, which is called "content internetworking" πŸ’…

Like I said above, content internetworking is meant for production networks, so examples of what happens when two content networks link up are really useful ✨ Different kinds of content networks get built for different business reasons, so tons of combinations are likely πŸ“

Here's the plan πŸ¦‹ First, Section 2 gives detailed examples of special cases of content networks that are built to take part in content internetworking. Next, Section 3 walks through the steps for "bringing up" or "tearing down" a content internetworking arrangement. Then Section 4 shows detailed examples of how content networks (like the ones in Section 2) could connect. Finally, Section 5 covers the security considerations that come up specifically from these examples πŸ”

The scenarios here serve two needs:

  1. Showing concrete examples of what content internetworking is, and
  2. Giving you a basis for evaluating content internetworking proposals.

Lowkey, a bunch of content internetworking systems have been built, but very few have been written up publicly. One write-up is [2] πŸ“š

1.1. Terminology πŸŽ€

Terms in ALL CAPS are defined in [1], except for PCN, BCN, and LCN, which get defined in this document. The term SLA is also used here as shorthand for Service Level Agreement πŸ’œ

2. Special Cases of Content Networks πŸ‘‘

A CN can have REQUEST-ROUTING, DISTRIBUTION, and ACCOUNTING interfaces. But some participating networks gravitate toward particular subsets of the CONTENT INTERNETWORKING interfaces, and others look at their CLIENT bases differently. This section describes these refined cases of the general CN so they're easier to reference later on. The three special cases are the Publishing Content Network, the Brokering Content Network, and the Local Request-Routing Content Network πŸ”₯

2.1. Publishing Content Network πŸ“£

A Publishing Content Network (PCN) is maintained by a PUBLISHER. It contains an ORIGIN and has a NEGOTIATED RELATIONSHIP with two or more CNs. A PCN may hold SURROGATES to serve some CONTENT REQUESTS locally, but it does NOT plan to let those SURROGATES serve CONTENT on behalf of other PUBLISHERS πŸ™…β€β™€οΈ

Knowing a CN is a PCN tells you a few things πŸ’– First, the PCN holds the AUTHORITATIVE REQUEST-ROUTING SYSTEM for the PUBLISHER's CONTENT. That lets the PUBLISHER decide how CONTENT REQUESTS get spread across ENLISTED CNs. Second, the PCN only needs to take part in a subset of CONTENT INTERNETWORKING. For example, its DISTRIBUTION INTERNETWORKING SYSTEM only needs to receive DISTRIBUTION ADVERTISEMENTS, not send them. Similarly, its REQUEST-ROUTING INTERNETWORKING SYSTEM has no reason to send AREA ADVERTISEMENTS. And its ACCOUNTING INTERNETWORKING SYSTEM only needs to receive ACCOUNTING data, not send it 🫢

2.2. Brokering Content Network 🧚

A Brokering Content Network (BCN) doesn't run its own SURROGATES. Instead, it runs only CIGs as a service on behalf of other CNs. So you can think of a BCN as a "clearinghouse" for CONTENT INTERNETWORKING information πŸ¦‹

A BCN might join DISTRIBUTION INTERNETWORKING and/or REQUEST-ROUTING INTERNETWORKING to combine ADVERTISEMENTS from one set of CNs into a single update stream for other CNs. Here's a specific example: a BCN could take CONTENT SIGNALS from CNs that represent PUBLISHERS and merge them into one update stream for the CNs that hold SURROGATES πŸ“ A BCN could also join ACCOUNTING INTERNETWORKING to combine utilization data from several CNs into one report for the CNs that represent PUBLISHERS πŸ“Š

Basically, a BCN's CIGs would send and/or receive any mix of ADVERTISEMENTS and ACCOUNTING data needed to give other CONTENT NETWORKS the services they want. For instance, if a BCN only cares about aggregating ACCOUNTING data for other CNs, it only needs an ACCOUNTING INTERNETWORKING interface on its CIGs πŸ’…

2.3. Local Request-Routing Content Network 🏠

The Local Request-Routing CONTENT NETWORK (LCN) is another type of CN πŸ’œ An LCN is a network where CLIENTS' CONTENT REQUESTS are always handled by some local SERVER (like a caching proxy [1]). Here, "local" means both the CLIENT and the SERVER sit inside the same administrative domain, and there's an administrative reason to force that local mapping. This is super common in enterprises, where every CONTENT REQUEST has to go through a local SERVER for access control πŸ”

As the name hints, the LCN is an exception to the rule that there's a single AUTHORITATIVE REQUEST-ROUTING SYSTEM for any item of CONTENT πŸ™ˆ Because CONTENT REQUESTS go through the local SERVER, CONTENT RESPONSES can go to CLIENTS without first checking with the AUTHORITATIVE REQUEST-ROUTING SYSTEM. Knowing that, other CNs might want a NEGOTIATED RELATIONSHIP with an LCN so they can DISTRIBUTE into the LCN and receive ACCOUNTING data from it. Heads up: once SERVERS take part in DISTRIBUTION INTERNETWORKING and ACCOUNTING INTERNETWORKING, they effectively become SURROGATES. But an LCN would NOT plan to let its SURROGATES be accessed by non-local CLIENTS 🚫

With those assumptions, the LCN's CONTENT INTERNETWORKING relationships look like this. Its DISTRIBUTION INTERNETWORKING SYSTEM only needs to send DISTRIBUTION ADVERTISEMENTS, not receive them. Its ACCOUNTING INTERNETWORKING SYSTEM only needs to send ACCOUNTING data, not receive it. And since its REQUEST-ROUTING is defined locally, the LCN does NOT take part in REQUEST-ROUTING INTERNETWORKING 🌸


⏩ Part 1 is done, and Section 3 (the bring-up and tear-down steps) is next! πŸ“

4. Content Internetworking Scenarios ✨

okay so this section is where we get to see CONTENT INTERNETWORKING in action 🎬 it lays out a bunch of scenarios that can pop up when CNs actually implement this stuff, bestie πŸ’–

Real talk, we literally can't cover every single permutation 😭 so keep these in mind:

  • Any one of the interconnected CNs may have other CONTENT INTERNETWORKING arrangements that may or may not be transitive to the relationships being described in the diagram. πŸ¦‹
  • The graphical figures do not illustrate the CONTENT REQUEST paths. It is assumed that a REQUEST-ROUTING SYSTEM eventually returns to the CLIENT the IP address of the SURROGATE deemed appropriate to honor the CLIENT's CONTENT REQUEST. 🧚

The scenarios cover a general case, two cases where BCNs provide limited interfaces, a case where a PCN enlists the services of multiple CNs, and a case where multiple CNs enlist the services of an LCN. It's giving full buffet πŸ“πŸ’…

4.1. General Content Internetworking

this one is the general case where two or more existing CNs want to set up a CONTENT INTERNETWORKING relationship so they can get more scale and reach for their existing customers 🌸 the assumption is that all of these CNs already do REQUEST-ROUTING, DISTRIBUTION, and ACCOUNTING, and they'll keep doing all of that for current customers while also offering it to other CNs. main character energy πŸ‘‘

so in this setup, the CNs hook up with each other through a CIG that gives them a REQUEST-ROUTING INTERNETWORKING SYSTEM, a DISTRIBUTION INTERNETWORKING SYSTEM, and an ACCOUNTING INTERNETWORKING SYSTEM. the net result is that a bigger pool of SURROGATES is available to the CLIENTS πŸ”₯

Figure 1 shows three CNs that have interconnected to give their existing customers more scale and reach. they're all in DISTRIBUTION INTERNETWORKING, REQUEST-ROUTING INTERNETWORKING, and ACCOUNTING INTERNETWORKING together 🫢

so based on the NEGOTIATED RELATIONSHIPS, it's assumed that:

  1. CONTENT that has been INJECTED into any one of these ORIGINATING CNs may be distributed into any other ENLISTED CN. 🌈
  2. Commands affecting the DISTRIBUTION of CONTENT may be issued within the ORIGINATING CN, or may also be issued within the ENLISTED CN. the latter case lets local decisions be made about DISTRIBUTION within the ENLISTED CN, but such commands would not control DISTRIBUTION within the ORIGINATING CN. πŸ’œ
  3. ACCOUNTING information regarding CLIENT access and/or DISTRIBUTION actions will be made available to the ORIGINATING CN by the ENLISTED CN. πŸ“Š
  4. The ORIGINATING CN would provide this ACCOUNTING information to the PUBLISHER based on existing Service Level Agreements (SLAs). πŸ“
  5. CONTENT REQUESTS by CLIENTS may be directed to SURROGATES within any of the ENLISTED CNs. ✨

the decision of where to send an individual CONTENT REQUEST may depend on the DISTRIBUTION and REQUEST-ROUTING policies attached to the CONTENT being requested, plus the specific algorithms and methods used to direct those requests. for example, a REQUEST-ROUTING policy for a piece of CONTENT might say multiple versions exist based on the spoken language of a CLIENT. so the REQUEST-ROUTING SYSTEM of an ENLISTED CN would likely send a CONTENT REQUEST to a SURROGATE known to be holding a version of CONTENT in the language that matches the CLIENT πŸŒπŸ’–

the diagram below is the general case. three CNs, a gateway in the middle, and CLIENTS hanging out at the bottom πŸ‘€
              Figure 1 - General CONTENT INTERNETWORKING

   +--------------+                               +--------------+
   |     CN A     |                               |     CN B     |
   |..............|   +---------+   +---------+   |..............+
   | REQ-ROUTING  |<=>|         |<=>|         |<=>| REQ-ROUTING  |
   |..............|   | CONTENT |   | CONTENT |   |..............|
   | DISTRIBUTION |<=>|INTWRKING|<=>|INTWRKING|<=>| DISTRIBUTION |
   |..............|   | GATEWAY |   | GATEWAY |   |..............|
   |  ACCOUNTING  |<=>|         |<=>|         |<=>|  ACCOUNTING  |
   +--------------+   +---------+   +---------+   +--------------+
         | ^           \^ \ \       ^/ ^/ ^/           | ^
         v |            \\ \\ \\     // // //            v |
   +--------------+      \\ \\ \\   // // //      +--------------+
   |  SURROGATES  |       \\ v\ v\ /v /v //       |  SURROGATES  |
   +--------------+        \\+---------+//        +--------------+
          ^ |               v|         |v                ^ |
          | |                | CONTENT |                 | |
          | |                |INTWRKING|                 | |
          | |                | GATEWAY |                 | |
          | |                |         |                 | |
          | |                +---------+                 | |
          | |                  ^| ^| ^|                  | |
          | |                  || || ||                  | |
          | |                  |v |v |v                  | |
          | |              +--------------+              | |
          | |              |     CN C     |              | |
          | |              |..............|              | |
          | |              | REQ-ROUTING  |              | |
          | |              |..............|              | |
          \ \              | DISTRIBUTION |             / /
           \ \             |..............|            / /
            \ \            |  ACCOUNTING  |           / /
             \ \           |--------------|          / /
              \ \                | ^                / /
               \ \               v |               / /
                \ \        +--------------+       / /
                 \ \       |  SURROGATES  |      / /
                  \ \      +--------------+     / /
                   \ \           | ^           / /
                    \ \          | |          / /
                     \ \         v |         / /
                      \ \    +---------+    / /
                       \ \-->| CLIENTS |---/ /
                        \----|         |<---/
                             +---------+

4.2. BCN providing ACCOUNTING INTERNETWORKING and REQUEST-ROUTING INTERNETWORKING

this scenario is about a single entity (BCN A) that handles ACCOUNTING INTERNETWORKING and REQUEST-ROUTING INTERNETWORKING, but doesn't have any DISTRIBUTION or DELIVERY capabilities of its own πŸŽ€ Figure 2 shows one way this could look πŸ¦‹

in the scenario from Figure 2, BCN A collects ACCOUNTING information from multiple CONTENT NETWORKS (CN A and CN B) so it can act as a clearinghouse/settlement function, and it also provides a REQUEST-ROUTING service for CN A and CN B πŸ’…

here, CONTENT is INJECTED into either CN A or CN B, and its DISTRIBUTION between these CNs is controlled through the DISTRIBUTION INTERNETWORKING SYSTEMS inside the CIGs. the REQUEST-ROUTING SYSTEM run by BCN A learns that it can serve a piece of CONTENT from a particular CONTENT NETWORK through the REQUEST-ROUTING SYSTEMS inside the interconnected CIGs 🧠

BCN A collects statistics and usage information through the ACCOUNTING INTERNETWORKING SYSTEM, and then shares that information with CN A and CN B as appropriate πŸ“Š

as Figure 2 shows, CN A and CN B each run their own separate REQUEST-ROUTING SYSTEMS. if the REQUEST-ROUTING SYSTEM provided by BCN A is the AUTHORITATIVE REQUEST-ROUTING SYSTEM for a given piece of CONTENT, that's totally fine πŸ™Œ but each individual CN might also be the AUTHORITATIVE REQUEST-ROUTING SYSTEM for some of its PUBLISHER customers. in that case, you've got to be careful that there is one and only one AUTHORITATIVE REQUEST-ROUTING SYSTEM identified for each given CONTENT object 🚨

          Figure 2 - BCN providing ACCOUNTING INTERNETWORKING and
                        REQUEST-ROUTING INTERNETWORKING

       +--------------+
       |    BCN A     |
       |..............|     +-----------+
       | REQ-ROUTING  |<===>|           |
       |..............|     |  CONTENT  |
       |  ACCOUNTING  |<===>| INTWRKING |
       +--------------+     |  GATEWAY  |
                            |           |
                            +-----------+
                             ^| ^| ^| ^|
   +--------------+         // //   \\ \\         +--------------+
   |     CN A     |        |v |v     |v |v        |     CN B     |
   |..............|   +---------+   +---------+   |..............|
   | REQ-ROUTING  |<=>|         |   |         |<=>| REQ-ROUTING  |
   |..............|   | CONTENT |   | CONTENT |   |..............|
   | DISTRIBUTION |<=>|INTWRKING|<=>|INTWRKING|<=>| DISTRIBUTION |
   |..............|   | GATEWAY |   | GATEWAY |   |..............|
   |  ACCOUNTING  |<=>|         |   |         |<=>|  ACCOUNTING  |
   +--------------+   +---------+   +---------+   +--------------+
         | ^                                             | ^
         v |                                             v |
   +--------------+                               +--------------+
   |  SURROGATES  |                               |  SURROGATES  |
   +--------------+                               +--------------+
                ^ \                               ^ /
                 \ \                             / /
                  \ \                           / /
                   \ \                         / /
                    \ \      +---------+      / /
                     \ \---->| CLIENTS |-----/ /
                      \------|         |<-----/
                             +---------+

4.3. BCN providing ACCOUNTING INTERNETWORKING πŸ’…

Okay so this scenario is giving one entity, BCN A πŸ¦‹, doing ACCOUNTING INTERNETWORKING and nothing else. It's basically the clearinghouse/settlement bestie of the group. BCN A signs NEGOTIATED RELATIONSHIPS with multiple CNs, and each of those CNs runs its own DISTRIBUTION INTERNETOWRKING and REQUEST-ROUTING INTERNETWORKING, as shown in Figure 3 ✨.

        Figure 3 - BCN providing ACCOUNTING INTERNETWORKING

       +--------------+
       |    BCN A     |
       |..............|     +-----------+
       |  ACCOUNTING  |<===>|           |
       +--------------+     |  CONTENT  |
                            | INTWRKING |
                            |  GATEWAY  |
                            |           |
                            +-----------+
                                ^| ^|
   +--------------+            //   \\            +--------------+
   |     CN A     |           |v     |v           |     CN B     |
   |..............|   +---------+   +---------+   |..............|
   | REQ-ROUTING  |<=>|         |<=>|         |<=>| REQ-ROUTING  |
   |..............|   | CONTENT |   | CONTENT |   |..............|
   | DISTRIBUTION |<=>|INTWRKING|<=>|INTWRKING|<=>| DISTRIBUTION |
   |..............|   | GATEWAY |   | GATEWAY |   |..............|
   |  ACCOUNTING  |<=>|         |   |         |<=>|  ACCOUNTING  |
   +--------------+   +---------+   +---------+   +--------------+
         | ^                                             | ^
         v |                                             v |
   +--------------+                               +--------------+
   |  SURROGATES  |                               |  SURROGATES  |
   +--------------+                               +--------------+
                ^ \                               ^ /
                 \ \                             / /
                  \ \                           / /
                   \ \                         / /
                    \ \      +---------+      / /
                     \ \---->| CLIENTS |-----/ /
                      \------|         |<-----/
                             +---------+

4.4. PCN ENLISTS multiple CNs 🌸

So in the earlier scenarios we never really talked about PUBLISHERS, and that's a little bit of a plot hole, ngl πŸ™ˆ. Most of the time it's assumed the PUBLISHERS let CNs act on their behalf. A PUBLISHER might name one CN as the AUTHORITATIVE REQUEST-ROUTING SYSTEM for its CONTENT. It could also rely on a particular CN to aggregate all its ACCOUNTING data, even though that data may come from SURROGATES in multiple distant CNs. And finally, a PUBLISHER may INJECT content into just a single CN and let that CN ENLIST other CNs to get scale and reach 🧚.

BUT, a PUBLISHER may want more control and do the ENLISTING itself, which makes it a PCN (Section 2.1) πŸ‘‘. This scenario, Figure 4, is about a PCN directly entering NEGOTIATED RELATIONSHIPS with multiple CNs. The PCN would run its own CIG and set up DISTRIBUTION INTERNETWORKING, ACCOUNTING INTERNETWORKING, and REQUEST-ROUTING INTERNETWORKING relationships with two or more CNs.

                    Figure 4 - PCN ENLISTS multiple CNs

   +--------------+
   |     PCN      |
   |..............|   +-----------+
   | REQ-ROUTING  |<=>|           |<---\
   |..............|   |  CONTENT  |----\\
   | DISTRIBUTION |<=>| INTWRKING |     \\
   |..............|   |  GATEWAY  |--\   \\
   |  ACCOUNTING  |<=>|           |<-\\   \\
   +--------------+   +-----------+   \\   \\
                        ^| ^| ^|  ^|   \\   ||
   +--------------+     || || ||   \\   ||  ||    +--------------+
   |     CN A     |     |v |v |v    \v  |v  |v    |     CN B     |
   |..............|   +---------+   +---------+   |..............|
   | REQ-ROUTING  |<=>|         |   |         |<=>| REQ-ROUTING  |
   |..............|   | CONTENT |   | CONTENT |   |..............|
   | DISTRIBUTION |<=>|INTWRKING|   |INTWRKING|<=>| DISTRIBUTION |
   |..............|   | GATEWAY |   | GATEWAY |   |..............|
   |  ACCOUNTING  |<=>|         |   |         |<=>|  ACCOUNTING  |
   +--------------+   +---------+   +---------+   +--------------+
         | ^                                             | ^
         v |                                             v |
   +--------------+                               +--------------+
   |  SURROGATES  |                               |  SURROGATES  |
   +--------------+                               +--------------+
                ^ \                               ^ /
                 \ \                             / /
                  \ \                           / /
                   \ \                         / /
                    \ \      +---------+      / /
                     \ \---->| CLIENTS |-----/ /
                      \------|         |<-----/
                             +---------+

4.5. Multiple CNs ENLIST LCN 🏠

Quick reminder: a type of CN from Section 2.3 is the LCN 🏑. In this scenario, picture a tightly run CN (think inside an enterprise) that has decided every CONTENT REQUEST from CLIENTS has to be served locally. Since the LCN has a huge CLIENT base, several CNs want to do DISTRIBUTION INTERNETWORKING with it, so they can keep control over CONTENT objects sitting in the LCN's SURROGATES. They'd also like ACCOUNTING INTERNETWORKING with the LCN, so they can get ACCOUNTING data about how that content gets used in the local SURROGATES πŸ“Š.

This is shown in Figure 5. Heads up: the diagram shows a DISTRIBUTION INTERNETWORKING connection between CN A and CN B, but that link is optional and NOT a requirement in this scenario. Totally up to them πŸ’–.

                    Figure 5 - Multiple CNs ENLIST LCN

   +--------------+                               +--------------+
   |     CN A     |                               |     CN B     |
   +..............|   +---------+   +---------+   |..............+
   | REQ-ROUTING  |<=>|         |<=>|         |<=>| REQ-ROUTING  |
   |..............|   | CONTENT |   | CONTENT |   |..............|
   | DISTRIBUTION |<=>|INTWRKING|<=>|INTWRKING|<=>| DISTRIBUTION |
   |..............|   | GATEWAY |   | GATEWAY |   |..............|
   |  ACCOUNTING  |<=>|         |<=>|         |<=>|  ACCOUNTING  |
   +--------------+   +---------+   +---------+   +--------------+
         | ^              \^ \^       ^/ ^/              | ^
         v |               \\ \\     // //               v |
   +--------------+         \\ \\   // //         +--------------+
   |  SURROGATES  |          v\ v\ /v /v          |  SURROGATES  |
   +--------------+          +---------+          +--------------+
                             |         |
                             | CONTENT |
                             |INTWRKING|
                             | GATEWAY |
                             |         |
                             +---------+
                                ^| ^|
                                || ||
                                |v |v
                           +--------------+
                           |    LCN A     |
                           |..............|
                           | DISTRIBUTION |
                           |..............|
                           |  ACCOUNTING  |
                           |--------------|
                                 | ^
                                 v |
                           +--------------+
                           |  SURROGATES  |
                           +--------------+
                                 | ^
                                 | |
                                 v |
                             +---------+
                             | CLIENTS |
                             |         |
                             +---------+

5. Security Considerations πŸ”

Okay, this part is serious, bestie 🚨. Security concerns for Content Internetworking can be sorted into two big buckets: trust within the system, and protecting the system from threats. The trust model is mostly built on transitive trust between the ORIGIN, REQUEST-ROUTING INTERNETWORKING SYSTEM, DISTRIBUTION INTERNETWORKING SYSTEM, ACCOUNTING INTERNETWING SYSTEM, and SURROGATES. Network elements inside the Content Internetworking system are treated as "insiders," and that means they're trusted. Trust is the whole vibe here, so be careful who gets in the circle 🫢.

5.1. Threats to Content Internetworking 😭

The following sections cover the key threats to CLIENTs, PUBLISHERs, and CNs. Each threat is filed under the party it hits most directly, but honestly, a threat to any one party is a threat to everybody πŸ’€. (For example, a stolen credit card number may mostly affect a CLIENT. But the drama and publicity that follow will almost certainly hurt the PUBLISHER and the CN too, even if the only damage is to their reputations πŸ“°.)

5.1.1. Threats to the CLIENT πŸŽ€

5.1.1.1. Defeat of CLIENT's Security Settings πŸ™…β€β™€οΈ

Here's the tea: the SURROGATE's location may be different from the ORIGIN's, so using a SURROGATE can accidentally, or on purpose, break any location-based security settings the CLIENT is relying on. And since the SURROGATE's location is usually invisible to the CLIENT, the CLIENT might not even realize its protections are gone 😱. For example, a CN could move CONTENT from an Internet Explorer user's "Internet Web Content Zone" into that same user's "Local Intranet Web Content Zone". If the browser can see that relocation but the user can't, the browser might be running with weaker security than the user expects for that CONTENT. (Note that this threat is different from the substitution of security parameters threat below, at least in degree, because Web Content Zones can control things like whether the browser runs unsigned active content or not 🧐.)

5.1.1.2. Delivery of Bad Accounting Information πŸ’Έ

When CONTENT has value, CLIENTs could get charged for viewing content they never actually accessed successfully 😀. Flip it around, and some PUBLISHERs reward CLIENTs for viewing certain CONTENT (for example, programs that "pay" users to surf the Web) πŸ€‘. If a CN fails to deliver the right accounting information, the CLIENT may not get proper credit for viewing the required CONTENT. Not okay πŸ™ƒ.

5.1.1.3. Delivery of Bad CONTENT 🚫

A CN that doesn't deliver the right CONTENT can give the user misleading information, whether on purpose or by accident πŸ€₯. This can show up as a failure of the DISTRIBUTION SYSTEM (inappropriate content delivered to appropriate SURROGATEs), a failure of the REQUEST-ROUTING SYSTEM (requests routed to inappropriate SURROGATEs, even though those SURROGATEs may have the right CONTENT), or both. A REQUEST-ROUTING SYSTEM can also mess up by forwarding a CLIENT request when no forwarding is appropriate, or by failing to forward a CLIENT request when forwarding IS appropriate 🫠.

5.1.1.4. Denial of Service β›”

A CN that doesn't forward the CLIENT appropriately may deny the CLIENT access to CONTENT. Main character energy turned villain arc πŸ₯€.

5.1.1.5. Exposure of Private Information πŸ™ˆ

CNs may accidentally, or maliciously, expose private information (passwords, buying patterns, page views, credit card numbers) as it travels from SURROGATEs to ORIGINs and/or PUBLISHERs. Private stuff should stay private, periodt πŸ”’πŸ’œ.

5.1.1.6. Substitution of Security Parameters πŸ”

Okay so, if a SURROGATE doesn't fully copy the security stuff the ORIGIN has (like encryption algorithms, key lengths, and certificate authorities), then the CONTENT delivered through that SURROGATE may be less secure than the CLIENT expects. Not ideal! 😬

5.1.1.7. Substitution of Security Policies πŸ™ˆ

Another vibe check: if a SURROGATE doesn't use the same security policies and procedures as the ORIGIN, the CLIENT's private info may get treated with less care than the CLIENT expects. For example, the operator of a SURROGATE might not protect the CLIENT's password as rigorously as the operator of the ORIGIN server does. This one can also show up if the legal jurisdiction of the SURROGATE is different from the ORIGIN's, should, for example, legal differences between the jurisdictions require or permit different treatment of the CLIENT's private information. It's giving "read the fine print" energy πŸ“œ

5.1.2. Threats to the PUBLISHER πŸ“£

5.1.2.1. Delivery of Bad Accounting Information πŸ’Έ

Bestie, if a CN doesn't deliver accurate accounting information, the PUBLISHER might not be able to charge CLIENTs for accessing CONTENT, or it might reward CLIENTs inappropriately. Inaccurate accounting information can also make a PUBLISHER pay for services (e.g., content distribution) that were never actually rendered. Invalid accounting info can also effect PUBLISHERs indirectly by, for example, undercounting site visitors (and, thus, shrinking the PUBLISHER's advertising revenue). Not the vibe πŸ’€

5.1.2.2. Denial of Service 🚫

A CN that doesn't distribute CONTENT appropriately may block CLIENTs from accessing CONTENT. Main character energy gone wrong 😭

5.1.2.3. Substitution of Security Parameters πŸ”‘

If a SURROGATE doesn't fully duplicate the security services of the ORIGIN (e.g., encryption algorithms, key lengths, certificate authorities, client authentication), then CONTENT stored on the SURROGATE may be less secure than the PUBLISHER prefers. Iykyk πŸ₯Ί

5.1.2.4. Substitution of Security Policies 🧾

If a SURROGATE doesn't use the same security policies and procedures as the ORIGIN, the CONTENT may be treated with less care than the PUBLISHER expects. This threat can also show up if the legal jurisdiction of the SURROGATE differs from the ORIGIN's, should, for example, legal differences between the jurisdictions require or permit different treatment of the CONTENT. Jurisdictions being messy again 🌍

5.1.3. Threats to a CN πŸ›°οΈ

5.1.3.1. Bad Accounting Information πŸ“‰

Okay, if a CN can't collect or receive accurate accounting information, it might not be able to collect compensation for its services from PUBLISHERs. Rough, ngl 😩

5.1.3.2. Denial of Service 🧨

Misuse of a CN can make its facilities unavailable, or available only at reduced functionality, to legitimate customers or to the CN provider itself. Denial of service attacks can be targeted at a CN's ACCOUNTING SYSTEM, DISTRIBUTION SYSTEM, or REQUEST-ROUTING SYSTEM. This is the part where everyone panics 🚨

5.1.3.3. Transitive Threats πŸ”

To the extent that a CN acts as either a CLIENT or a PUBLISHER (such as, for example, in transitive implementations), that CN may be exposed to any or all of the threats described above for both roles. So it's basically double the drama πŸ’…βœ¨


6. Acknowledgements 🫢

The authors gave a huge shoutout to everyone who contributed and commented: Fred Douglis (AT&T), Raj Nair (Cisco), Gary Tomlinson (CacheFlow), John Scharber (CacheFlow), Nalin Mistry (Nortel), Steve Rudkin (BT), Christian Hoertnagl (IBM), Christian Langkamp (Oxford University), and Don Estberg (Activate). Absolute legends πŸ‘‘

7. References πŸ“š

   [1]  Day, M., Cain, B., Tomlinson, G. and P. Rzewski, "A Model for
        Content Internetworking (CDI)", RFC 3466, February 2003.

   [2]  Biliris, A., Cranor, C., Douglis, F., Rabinovich, M., Sibal, S.,
        Spatscheck, O. and W. Sturm, "CDN Brokering", Proceedings of the
        6th International Workshop on Web Caching and Content
        Distribution, Boston, MA, June 2001.

8. Authors' Addresses πŸ–‹οΈ

   Mark S. Day
   Cisco Systems
   1414 Massachusetts Avenue
   Boxborough, MA 01719
   US

   Phone: +1 978 936 1089
   EMail: mday@alum.mit.edu


   Don Gilletti
   21 22nd Ave.
   San Mateo, CA 94403
   US

   Phone +1 408 569 6813
   EMail: dgilletti@yahoo.com


   Phil Rzewski
   30 Jennifer Place
   San Francisco, CA  94107
   US

   Phone: +1 650 303 3790
   EMail: philrz@yahoo.com

Copyright (C) The Internet Society (2003). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement πŸ’–

Funding for the RFC Editor function is currently provided by the Internet Society. 🌸

πŸ“¦ where this page comes from