A Policy Framework for a Secure Future Internet Future Internet - - PowerPoint PPT Presentation

a policy framework for a secure future internet future
SMART_READER_LITE
LIVE PREVIEW

A Policy Framework for a Secure Future Internet Future Internet - - PowerPoint PPT Presentation

A Policy Framework for a Secure Future Internet Future Internet Jad Naous (Stanford University) Arun Seehra (UT Austin) Michael Walfish (UT Austin) David Mazires (Stanford University) Antonio Nicolosi (Stevens Institute of Tech) Scott


slide-1
SLIDE 1

A Policy Framework for a Secure Future Internet Future Internet

Jad Naous (Stanford University) Arun Seehra (UT Austin) Michael Walfish (UT Austin) David Mazières (Stanford University) Antonio Nicolosi (Stevens Institute of Tech) Scott Shenker (UC Berkeley)

slide-2
SLIDE 2

What do we want from the network?

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-3
SLIDE 3

Network Policies

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-4
SLIDE 4

Network Policies

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-5
SLIDE 5

Network Policies

Conflicting requirements from many stakeholders

Middlebox

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-6
SLIDE 6

Network Policies

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-7
SLIDE 7

Network Policies

Conflicting requirements from many stakeholders

Middlebox

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-8
SLIDE 8

Network Policies

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-9
SLIDE 9

Network Policies

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-10
SLIDE 10

Network Policies

Conflicting requirements from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-11
SLIDE 11

Network Policies

There are many stakeholders: senders, receivers, enterprises that are both senders and receivers (e.g. data centers), service providers, security middlemen (à la service providers, security middlemen (à la Prolexic), governments, data owners, … Each has many valid policy goals, and they might conflict.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-12
SLIDE 12

Prior proposals: Large union, small intersection

x o o o o o

  • x o o - - -
  • - - o o x
  • - - - - x
  • - - - o x

[legend: x exerts control over o’s]

  • - - o x o
  • - o x o o
  • o x o o o
  • x o o o o
  • x o - - o
  • - - o x o
  • - o - - x
  • - - - o x
  • - - o x o
  • - o x o o
  • o x o o o
  • x o o o o

x o o o o o

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-13
SLIDE 13

Prior Proposals

Incomplete or insufficient Incompatible Incompatible

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-14
SLIDE 14

What Types of Policies for the Future Internet?

Three choices:

  • 1. Embrace the status quo: Do nothing.

Unsatisfactory.

  • 2. Make a hard choice: Select the “right” subset.

A high-stakes gamble.

  • 3. Choose “all of the above”: Take union of controls.

Preserve all options; no picking winners/losers.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-15
SLIDE 15

“All of the above” brings challenges:

  • 1. How do we enable all these different policies?
  • 1. How do we enable all these different policies?
  • 2. How do we enforce all of them efficiently?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-16
SLIDE 16

“Pluggable” Control Plane

The ICING Policy Framework

Pathlets Policy Engine BGP Policy Engine SR Policy Engine . . .

General Efficient Secure Data Plane

?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-17
SLIDE 17

“Pluggable” Control Plane

The ICING Policy Framework

Pathlets Policy Engine BGP Policy Engine SR Policy Engine . . .

General Efficient Secure Data Plane

?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-18
SLIDE 18

Outline

  • How general is general?

(What is the control? Who gets control? How can it be used?)

  • How do we enforce policy decisions in the data

plane?

  • What is the control/data plane interface and how

can it be used?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-19
SLIDE 19

Outline

  • How general is general?

(What is the control? Who gets control? How can it be used?)

  • How do we enforce policy decisions in the data

plane?

  • What is the control/data plane interface and how

can it be used?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-20
SLIDE 20

Control over what?

Policy requirements Who handles the packets and how

The path or parts of it The path or parts of it (interdomain-level)

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-21
SLIDE 21

Control over what?

Policy requirements Who handles packets they send/receive/transit and how send/receive/transit and how The path or parts of it (interdomain-level)

For most flexibility: Give control over full path

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-22
SLIDE 22

Who gets control?

Three principles:

  • 1. Entities whose network resources are consumed.
  • 2. Entities that are consuming network resources.
  • 3. Entities should be within a single layer – the

network layer.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-23
SLIDE 23

Who gets control?

The three principles

  • Give control to all entities on the path.

Other stakeholders use other layers or external power of authority (e.g. laws).

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-24
SLIDE 24

ICING’s Policy Principle

x o o o o o o

  • x o o o o o
  • o x o o o o
  • o o x o o o
  • o o o x o o
  • o o o o x o
  • o o o o o x

A path is legal if and only if all participants on the path approve of the path. Architecture enforces that only legal paths are used.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-25
SLIDE 25

How general are policies?

  • Provider: Allow use of high speed links from 5pm

to 8am only

  • Internet2: Only carry traffic between universities
  • Internet2: Only carry traffic between universities
  • Sender: Only use paths that my neighbor is using.

=> Policies can be arbitrary.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-26
SLIDE 26

For flexibility and evolvability:

Allow arbitrary policies

For accuracy:

Provide sufficient information

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-27
SLIDE 27

What are policy decisions based on?

  • 1. The path
  • 2. Consumed resources:

– Long/short haul, high/low speed, – Long/short haul, high/low speed, transit/delivery, …

  • 3. Arbitrary external information:

– Billing status, costs, time of day – Does everyone else consent?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-28
SLIDE 28

Checkpoint Summary

  • There are many stakeholders in a

communication, and we give control to all network-level participants.

  • For most flexibility and to satisfy the largest

For most flexibility and to satisfy the largest number of requirements we need to give them control over the full path.

  • For evolvability and flexibility, allow arbitrary

policies and provide sufficient information

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-29
SLIDE 29

Outline

  • How general is general?

(What is the control? Who gets control? How can it be used?)

  • How do we enforce policy decisions in the data

plane?

  • What is the control/data plane interface and how

can it be used?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-30
SLIDE 30

Secure Routing Insufficient

Data packets today do not necessarily follow BGP-given routes i.e. Data plane does not necessarily conform to the control plane.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-31
SLIDE 31

Challenges

Many challenges:

  • Enabling arbitrary informed policies
  • Enforcing policy decisions at line-rate

Handling errors and network failures in a

  • Handling errors and network failures in a

locked-down Internet

  • Delegating access
  • Bootstrapping

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-32
SLIDE 32

Challenges

Many challenges:

  • Enabling arbitrary informed policies
  • Enforcing policy decisions at line-rate

Handling errors and network failures in a

  • Handling errors and network failures in a

locked-down Internet

  • Delegating access
  • Bootstrapping

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-33
SLIDE 33

Challenge: Enabling arbitrary informed policies

Router Data plane Control plane

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-34
SLIDE 34

Challenge: Enabling arbitrary informed policies

ICING Consent Server Makes all policy decisions ICING Forwarder Data plane Enforces policy decisions

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-35
SLIDE 35

Challenge: Enforcing policy decisions at line-rate

  • 1. Make sure that the path is legal
  • 2. Make sure that the path is followed
  • 2. Make sure that the path is followed

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-36
SLIDE 36

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-37
SLIDE 37

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Share Secret Key = s_1 Data plane Data plane Data plane Sender Destination R1 R2 s_1

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-38
SLIDE 38

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Share Secret Key = s_2 Data plane Data plane Data plane Sender Destination R1 R2 s_2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-39
SLIDE 39

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Share Secret Key = s_dst Data plane Data plane Data plane Sender Destination R1 R2 s_dst

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-40
SLIDE 40

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Data plane Data plane Data plane Sender Destination Is path P = <Sndr R1 R2 Dest> allowed? R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-41
SLIDE 41

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Data plane Data plane Data plane Sender Destination Yes, here’s my cryptographic proof-

  • f-consent

PoC_1 = MAC(s_1, Path) R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-42
SLIDE 42

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Data plane Data plane Data plane Sender Destination Yes, here’s my cryptographic proof-

  • f-consent

PoC_2 = MAC(s_2, Path) R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-43
SLIDE 43

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Data plane Data plane Data plane Sender Destination Yes, here’s my cryptographic proof-

  • f-consent

PoC_dst = MAC(s_dst, Path) R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-44
SLIDE 44

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 1: Make sure the path is legal

Share Secret Key = s_1 Data plane Data plane Data plane Sender Destination Packet = <Path, PoC_1, PoC_2, PoC_dst, data> PoCs verifiable by data plane using Shared secret keys s_1, s_2, s_dst R1 R2 s_1

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-45
SLIDE 45

Challenge: Enforcing policy decisions at line-rate

Notes:

  • 1. Policy decisions made off the critical path

– Once per path (not per-packet, not even per flow) (not per-packet, not even per flow) – Before packet flow

  • 2. Decision is encoded in cryptographic proof of

consent using shared symmetric key.

  • 3. Forwarders can verify that the consent server

had approved of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-46
SLIDE 46

Challenge: Enforcing policy decisions at line-rate

  • 1. Make sure that the path is legal
  • 2. Make sure that the path is followed
  • 2. Make sure that the path is followed

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-47
SLIDE 47

Challenge: Enforcing policy decisions at line-rate

  • Problems:

– Backbone speeds preclude digital signatures or public key crypto on the fast path. Step 2: Make sure the path is followed public key crypto on the fast path. – Federated nature of the Internet precludes central root of trust, pre-configured shared secrets, etc…

  • ICING overcomes these hurdles with new

packet authentication techniques.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-48
SLIDE 48

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 2: Make sure the path is followed

Data plane Data plane Data plane Sender Destination Packet = <Path, PoC_1, PoC_2, PoC_dst, V_1, V_2, V_dst, data> V_i proves to Realm i that everyone before it has seen the packet. R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-49
SLIDE 49

Consent Server D

Challenge: Enforcing policy decisions at line-rate

Consent Server 1 Consent Server 1 Consent Server 2

Step 2: Make sure the path is followed

Data plane Data plane Data plane Sender Destination R1 R2 Name is a Public Key (use elliptic curve crypto to make short)

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-50
SLIDE 50

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance

Path Data PoC_1 PoC_1 PoC_2 PoC_2 PoC_d PoC_d

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-51
SLIDE 51

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance
  • 1. Check PoC_1 = MAC(s_1, Path)

Path Data PoC_1 PoC_1 PoC_2 PoC_2 PoC_d PoC_d

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-52
SLIDE 52

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance
  • 1. If not in cache, calculate k1,2 = DH-Key-Exch(R1, R2)
  • 2. V_2 = PoC_2 ^ MAC(k1,2, 0 || Hash(Path || Data))

Path Data PoC_1 PoC_1 V_2 V_2 PoC_d PoC_d

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-53
SLIDE 53

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance
  • 1. If not in cache, calculate k1,3 = DH-Key-Exch(R1, R3)
  • 2. V_3 = PoC_3 ^ MAC(k1,3, 0 || Hash(Path || Data))

Path Data PoC_1 PoC_1 V_2 V_2 V_3 V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-54
SLIDE 54

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance

Path Data PoC_1 PoC_1 V_2 V_2 V_3 V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-55
SLIDE 55

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance
  • 1. Calculate PoC_2 = MAC(s_2, Path)
  • 2. If not in cache, calculate k1,2 = DH-Key-Exch(R1, R2)
  • 3. Verify that V_2 = PoC_2 ^ MAC(k1,2, 0 || Hash(Path || Data))

Path Data PoC_1 PoC_1 V_2 V_2 V_3 V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-56
SLIDE 56

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance
  • 1. If not in cache, calculate k2,3 = DH-Key-Exch(R1, R2)
  • 2. Set V_3 = V_3 ^ MAC(k2,3, 1 || Hash(Path || Data))

Path Data PoC_1 PoC_1 V_2 V_2 V_3 V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-57
SLIDE 57

Challenge: Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

  • 1. Verify consent & provenance
  • 2. Prove provenance

Path Data PoC_1 PoC_1 V_2 V_2 V_3 V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-58
SLIDE 58

ICING’s data plane in a nutshell

  • Binds a packet to its path

– Packet carries path (list of public keys), verifiers – Realms use ki,j to transform verifiers – Ri verifies provenance through upstream realms Rj using kj,i R proves provenance to downstream realms R using k – Ri proves provenance to downstream realms Rj using ki,j

  • No key distribution: Ri derives ki,j from Rj’s name
  • Resists attack: forgery, injection, short-circuiting, …
  • Feasibility: is required space, computation tolerable?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-59
SLIDE 59

ICING is feasible

Space overhead?

! "

  • !"#$%&'

(#$

– Average ICING header: ~250 bytes – Average packet size: ~1300 bytes [CAIDA] – So, total overhead from ICING: ~20% more space

!"#$%&' (#$

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-60
SLIDE 60

ICING is feasible

  • What is the hardware cost?

– NetFPGA gate counts: ICING is 13.4 M, IP is 8.7 M – NetFPGA forwarding speed: ICING is ~80% of IP ICING vs. simple IP in gates/(Gbits/sec): ~2x – ICING vs. simple IP in gates/(Gbits/sec): ~2x

  • Bandwidth and computation increasing faster than

crypto costs

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-61
SLIDE 61

Outline

  • How general is general?

(What is the control? Who gets control? How can it be used?)

  • How do we enforce policy decisions in the data

plane?

  • What is the control/data plane interface and how

can it be used?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-62
SLIDE 62

Control/Data Plane Interface

  • 1. Allow/Deny Decisions

Consent Server

Path

Proof of consent

Server

(Policy engine)

Local Handling Arbitrary ext. Info

Proof of consent (PoC)

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-63
SLIDE 63

Control/Data Plane Interface

  • 1. Allow/Deny Decisions

Packet Packet Is Proof-of-Consent (PoC) for my realm correct?

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-64
SLIDE 64

Control/Data Plane Interface

  • 2. Allow/Deny Decision Delegation

Provider (R1) Customer (R2)

Constrained PoC-minting ability

  • ver local handling

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-65
SLIDE 65

Control/Data Plane Interface

  • 2. Allow/Deny Decision Delegation

Provider (R1) Customer (R2)

Sender Proofs-of-Consent for R1 and R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-66
SLIDE 66

Control Plane “Knobs”

  • 2. Allow/Deny Decision Delegation

Provider Customer

Sender

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-67
SLIDE 67

Example: BGP with Enforcement

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-68
SLIDE 68

Example: BGP with Enforcement

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2 BGP BGP Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-69
SLIDE 69

Example: BGP with Enforcement

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2 BGP BGP Delegation Delegation Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-70
SLIDE 70

Consent Server D

Example: BGP with Enforcement

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination I need a path to Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-71
SLIDE 71

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: BGP with Enforcement

Data plane Data plane Data plane Sender Destination You can use path P = <Sndr R1 R2 Dest> Here are <PoC_1 PoC_2 PoC_dst> R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-72
SLIDE 72

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: BGP with Enforcement

Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-73
SLIDE 73

Example: TVA and default-off

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-74
SLIDE 74

Example: TVA and default-off

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2 BGP BGP Data plane Data plane Data plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-75
SLIDE 75

Consent Server D

Example: BGP with Enforcement

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination I need a path to Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-76
SLIDE 76

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: TVA and default-off

Data plane Data plane Data plane Sender Destination You can use path P = <Sndr R1 R2 Dest> R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-77
SLIDE 77

Consent Server D

Example: TVA and default-off

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination Is path P = <Sndr R1 R2 Dest> allowed? R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-78
SLIDE 78

Consent Server D

Example: TVA and default-off

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination I allow path P = <Sndr R1 R2 Dest>. Here’s a consent cert proving it and PoC_dst. R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-79
SLIDE 79

Consent Server D

Example: TVA and default-off

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination R1 R2 Destination allows path P = <Sndr R1 R2 Dest>. Here’s a consent cert proving it and <PoC_2, PoC_dst>.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-80
SLIDE 80

Consent Server D

Example: TVA and default-off

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination R1 R2 Destination allows path P = <Sndr R1 R2 Dest>. Here’s a set of PoCs <PoC_1, PoC_2, PoC_dst>.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-81
SLIDE 81

Others

Can emulate other proposals: NIRA, Pathlets, Source Routing, LSRR, … New policy engines with more features. New policy engines with more features.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-82
SLIDE 82

Example: choosing trustworthy providers through sink routing

Consent Server D

  • This is analog of well-known source routing
  • Sender requests consent; gives its own id (S)
  • Receiver specifies path toward itself

– Useful for organizations handling sensitive data

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-83
SLIDE 83

Consent Server D

Example: Early blocking of illegal packets

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination Is path P = <Sndr R1 R2 Dest> allowed? R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-84
SLIDE 84

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: Early blocking of illegal packets

Data plane Data plane Data plane Sender Destination R1 R2 Yes, here’s a signed consent certificate proving I approve of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-85
SLIDE 85

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: Early blocking of illegal packets

Data plane Data plane Data plane Sender Destination R1 R2 Yes, here’s a signed consent certificate proving I approve of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-86
SLIDE 86

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: Early blocking of illegal packets

Data plane Data plane Data plane Sender Destination R1 R2 Yes, here’s a signed consent certificate proving I approve of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-87
SLIDE 87

Consent Server D

Example: Early blocking of illegal packets

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination I want a PoC for path P = <Sndr R1 R2 Dest> Here’s a set of signed consent certificates proving everyone else approves R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-88
SLIDE 88

Consent Server D

Example: Early blocking of illegal packets

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination OK, here’s my cryptographic proof-

  • f-consent

PoC_1 = MAC(s_1, Path) R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-89
SLIDE 89

Consent Server D

Example: Early blocking of illegal packets

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination OK, here’s my cryptographic proof-

  • f-consent

PoC_2 = MAC(s_2, Path) R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-90
SLIDE 90

Consent Server D

Example: Early blocking of illegal packets

Consent Server 1 Consent Server 1 Consent Server 2 Data plane Data plane Data plane Sender Destination OK, here’s my cryptographic proof-

  • f-consent

PoC_dst = MAC(s_dst, Path) R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-91
SLIDE 91

Consent Server D Consent Server 1 Consent Server 1 Consent Server 2

Example: Early blocking of illegal packets

Data plane Data plane Data plane Sender Destination Packet = <Path, PoC_1, PoC_2, PoC_dst, data> PoCs verifiable by data plane using Shared secret keys s_1, s_2, s_dst R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-92
SLIDE 92

Example use: preventing denial-of-service

Consent Server D Consent Server 1 Consent Server 1 Data Data plane Consent Server 2 Data plane plane plane plane Sender Destination R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-93
SLIDE 93

Example use: preventing denial-of-service

Consent Server 1 Consent Server 1 Data Data plane Consent Server 2 Data plane plane plane plane Sender Destination R1 R2 Consent Server D Consent server can be moved to where bandwidth is plentiful e.g. DoS prevention specialist

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-94
SLIDE 94

Example use: preventing denial-of-service

Consent Server 1 Consent Server 1 Data Data plane Consent Server 2 Data plane Employee plane plane plane Destination R1 R2 Consent Server D Sender Employees can be given special keys to mint their own PoCs and not have to access a consent server

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-95
SLIDE 95

Example use: Off-site scrubbing service

Consent Server D Consent Server 1 Consent Server 1 Data Data plane Consent Server 2 Data plane

  • Consent is only granted if path goes through middlebox
  • First honest realm drops the packet if middlebox not actually passed

plane plane plane Sender Destination R1 R2

Scrubbing Service

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-96
SLIDE 96

Other uses

  • Multipath
  • QoS
  • Billing support

Access delegation

  • Access delegation

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-97
SLIDE 97

Beyond this talk

  • More data plane issues:

– Bootstrapping (consent to get consent) – Key management/expiry/compromises – Network failures – Crypto details – Crypto details

  • Pluggable control plane

– Finding legal paths (routing) – Control delegation details

  • Other issues:

– Incremental deployment/benefit

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-98
SLIDE 98

Further Work

  • More general and powerful policy engines
  • Replay attacks
  • Corner case attacks:

Putting legal full path in packet but only using – Putting legal full path in packet but only using prefix of the path.

  • Route dissemination and other control plane
  • verheads
  • New business and economic models

Jad Naous – DIMACS Woorkshop on Secure Routing

slide-99
SLIDE 99

Summary

  • Policy framework for future Internet
  • Principle of consent: Give all entities along a

path control over path. path control over path.

  • ICING enables pluggable policy engines
  • ICING is flexible, evolvable, and general

Jad Naous – DIMACS Woorkshop on Secure Routing