a policy framework for a secure future...

99
A Policy Framework for a Secure Future Internet JadNaous(Stanford University) ArunSeehra(UT Austin) Michael Walfish(UT Austin) David Mazières(Stanford University) Antonio Nicolosi(Stevens Institute of Tech) Scott Shenker(UC Berkeley)

Upload: others

Post on 28-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

A Policy Framework for a Secure

Future InternetFuture 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)

Page 2: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

What do we want from the network?

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 3: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 4: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 5: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Middlebox

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 6: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 7: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Middlebox

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 8: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 9: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 10: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Network Policies

Conflicting requirements

from many stakeholders

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 11: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 12: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Prior proposals:

Large union, small intersection

x o o o o o

source routing

BGP

x o o - - -

- - - o o x

NIRAo - - - - x

TVA

NUTSS

Pathlets- - - - o x

[legend: x exerts control over o’s]

BGP- - - o x o

- - o x o o

- o x o o o

o x o o o o

o x o - - o

o - - o x o

NUTSS

- - o - - x

i3, DOA

- - - - o x

- - - o x o

- - o x o o

- o x o o o

o x o o o o

x o o o o o

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 13: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Prior Proposals

Incomplete or insufficient

IncompatibleIncompatible

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 14: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 15: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

“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

Page 16: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

“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

Page 17: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

“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

Page 18: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 19: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 20: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 21: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Control over what?

Policy requirements

⇒ Who handles packets they send/receive/transit and howsend/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

Page 22: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 23: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 24: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

ICING’s Policy Principle

x o o o o o o

o x o o o o o

o o x o o o o

o o o x o o o

o o o o x o o

ICING

o o o o x o o

o o o o o x o

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

Page 25: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 26: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

For flexibility and evolvability:

Allow arbitrary policies

For accuracy:

Provide sufficient information

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 27: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 28: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 29: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 30: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 31: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 32: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 33: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enabling arbitrary informed policies

Router

Data

plane

Control plane

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 34: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enabling arbitrary informed policies

ICING Consent

ServerMakes all policy decisions

ICING Forwarder

Data

plane

Enforces policy

decisions

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 35: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enforcing policy decisions at line-rate

1. Make sure that the path is legal

2. Make sure that the path is followed2. Make sure that the path is followed

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 36: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 37: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

s_1

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 38: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

s_2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 39: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

s_dst

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 40: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 41: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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-

of-consent

PoC_1 = MAC(s_1, Path)

R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 42: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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-

of-consent

PoC_2 = MAC(s_2, Path)

R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 43: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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-

of-consent

PoC_dst = MAC(s_dst, Path)

R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 44: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 45: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 46: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enforcing policy decisions at line-rate

1. Make sure that the path is legal

2. Make sure that the path is followed2. Make sure that the path is followed

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 47: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 48: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 49: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Name is a Public Key

(use elliptic curve crypto to make short)Jad Naous – DIMACS Woorkshop on Secure Routing

Page 50: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

1. Verify consent & provenance

2. Prove provenance

Path DataPoC_1PoC_1 PoC_2PoC_2 PoC_dPoC_d

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 51: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DataPoC_1PoC_1 PoC_2PoC_2 PoC_dPoC_d

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 52: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DataPoC_1PoC_1 V_2V_2 PoC_dPoC_d

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 53: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DataPoC_1PoC_1 V_2V_2 V_3V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 54: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

1. Verify consent & provenance

2. Prove provenance

Path DataPoC_1PoC_1 V_2V_2 V_3V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 55: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DataPoC_1PoC_1 V_2V_2 V_3V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 56: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DataPoC_1PoC_1 V_2V_2 V_3V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 57: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Challenge:

Enforcing policy decisions at line-rate

Step 2: Make sure the path is followed

1. Verify consent & provenance

2. Prove provenance

Path DataPoC_1PoC_1 V_2V_2 V_3V_3

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 58: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 59: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

ICING is feasible

Space overhead?

R0 R1 R2 R3 R4 D

24 bytes (ECC) 18 bytes

– Average ICING header: ~250 bytes

– Average packet size: ~1300 bytes [CAIDA]

– So, total overhead from ICING: ~20% more space

24 bytes (ECC) 18 bytes

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 60: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 61: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 62: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Control/Data Plane Interface1. 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

Page 63: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Control/Data Plane Interface1. Allow/Deny Decisions

PacketPacket

Is Proof-of-Consent (PoC)

for my realm correct?

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 64: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Control/Data Plane Interface 2. Allow/Deny Decision Delegation

Provider

(R1)

Customer

(R2)

Constrained

PoC-minting ability

over local handling

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 65: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 66: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Control Plane “Knobs”2. Allow/Deny Decision Delegation

Provider

Customer

Sender

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 67: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example:

BGP with Enforcement

Consent

Server D

Consent

Server 1

Consent

Server 1

Consent

Server 2

Data

plane

Data

plane

Data

plane

Sender DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 68: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 69: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example:

BGP with Enforcement

Consent

Server D

Consent

Server 1

Consent

Server 1

Consent

Server 2

BGP BGP

DelegationDelegation

Data

plane

Data

plane

Data

plane

Sender DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 70: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 71: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 72: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Consent

Server D

Consent

Server 1

Consent

Server 1

Consent

Server 2

Example:

BGP with Enforcement

Data

plane

Data

plane

Data

plane

Sender DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 73: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example:

TVA and default-off

Consent

Server D

Consent

Server 1

Consent

Server 1

Consent

Server 2

Data

plane

Data

plane

Data

plane

Sender DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 74: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 75: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 76: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 77: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 78: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 79: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Consent

Server D

Example:

TVA and default-off

Consent

Server 1

Consent

Server 1

Consent

Server 2

Data

plane

Data

plane

Data

plane

Sender DestinationR1 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

Page 80: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Consent

Server D

Example:

TVA and default-off

Consent

Server 1

Consent

Server 1

Consent

Server 2

Data

plane

Data

plane

Data

plane

Sender DestinationR1 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

Page 81: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 82: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example: choosing trustworthy

providers through sink routingConsent

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 dataJad Naous – DIMACS Woorkshop on Secure Routing

Page 83: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 84: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Yes, here’s a signed consent certificate

proving I approve of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 85: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Yes, here’s a signed consent certificate

proving I approve of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 86: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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 DestinationR1 R2

Yes, here’s a signed consent certificate

proving I approve of the path.

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 87: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 88: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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-

of-consent

PoC_1 = MAC(s_1, Path)

R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 89: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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-

of-consent

PoC_2 = MAC(s_2, Path)

R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 90: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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-

of-consent

PoC_dst = MAC(s_dst, Path)

R1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 91: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 92: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example use: preventing denial-of-service

Consent

Server D

Consent

Server 1

Consent

Server 1

Data Data

plane

Consent

Server 2

Data

planeplaneplane plane

Sender DestinationR1 R2

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 93: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example use: preventing denial-of-service

Consent

Server 1

Consent

Server 1

Data Data

plane

Consent

Server 2

Data

planeplaneplane plane

Sender DestinationR1 R2

Consent

Server D

Consent server can be moved to where bandwidth is plentiful

e.g. DoS prevention specialistJad Naous – DIMACS Woorkshop on Secure Routing

Page 94: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Example use: preventing denial-of-service

Consent

Server 1

Consent

Server 1

Data Data

plane

Consent

Server 2

Data

plane

Employee

planeplane plane

DestinationR1 R2

Consent

Server D

Sender

Employees can be given special keys to mint their own PoCs

and not have to access a consent serverJad Naous – DIMACS Woorkshop on Secure Routing

Page 95: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

planeplane plane

Sender DestinationR1 R2

Scrubbing

Service

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 96: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

Other uses

• Multipath

• QoS

• Billing support

• Access delegation• Access delegation

• …

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 97: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

Page 98: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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

overheads

• New business and economic models

Jad Naous – DIMACS Woorkshop on Secure Routing

Page 99: A Policy Framework for a Secure Future Internetdimacs.rutgers.edu/archive/Workshops/SecureRouting/... · A Policy Framework for a Secure Future Internet JadNaous(Stanford University)

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