30
Access-Controlled In-Network Processing of Named Data Claudio Marxer <[email protected]> Christopher Scherb <[email protected]> Christian Tschudin <[email protected]> Computer Networks Group · University of Basel · Switzerland ACM ICN ’16, Kyoto · September 27, 2016

Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Access-Controlled In-Network Processing of Named Data

Claudio Marxer<[email protected]>

Christopher Scherb<[email protected]>

Christian Tschudin<[email protected]>

Computer Networks Group · University of Basel · Switzerland

ACM ICN ’16, Kyoto · September 27, 2016

Page 2: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

First Try

data consumer data owner

I want to compute the length of your last hike.Can you send me the time-location track?

2

Page 3: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

First Try

data consumer data owner

No, I don’t want you to see the raw data!And I have no time to compute the result...

2

Page 4: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

Another Try

data consumer data owner

I have time to compute the result...

trusted intermediary

2

Page 5: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

Another Try

data consumer data ownertrusted intermediary

@intermediary: Can you compute the result?

@owner: I need the raw data.

2

Page 6: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

Another Try

data consumer data ownertrusted intermediary

2

Page 7: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

Another Try

data consumer data ownertrusted intermediary

2

Page 8: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Problem Statement & Vision of an Ideal World

Another Try

data consumer data ownertrusted intermediary

Generally useful for in-network… - Conversion (down-scaling, reformatting..) - Data Fusion (anonymization, statistics..)

2

Page 9: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

In This Paper: Steps Towards a Solution

– Use Named Function Networking (NFN) to produce results

– Use content-based security for data protection

– Encryption of results during production→ How to synthesize keys in a location-independent manner?

– Introduction of accompanying access control lists (ACLs)→ How to merge new ACLs for results?

3

Page 10: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Outline

– Vision and Problem Statement

– Named Function Networking and In-Network Computations

– Solutions: Content Accompanying ACLs, Key Synthesis, ACL Merging

– Comprehensive Example

– Conclusion

4

Page 11: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

NFN on Two Slides: Clients View

Information Centric Networking: Distribution of named content (published)

lookup: /alice/NYmarathon/track

INTEREST[/alice/NYmarathon/track]

Named Function Networking (NFN): 1 Generation of named content (on-demand)

lookup: ︸ ︷︷ ︸named function

/get/duration( ︸ ︷︷ ︸named content

/alice/NYmarathon/track )

INTEREST[/get/duration/@x call 2 x |alice|NYmarathon|track/NFN]

INTEREST[/alice/NYmarathon/track/@x call 2 |get|duration x/NFN]

1Sifalakis, M., Kohler, B., Scherb C., Tschudin C. An information centric network for computing the distribution of computations. ACM ICN ’14.5

Page 12: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

NFN on Two Slides: Clients View

Information Centric Networking: Distribution of named content (published)

lookup: /alice/NYmarathon/track

INTEREST[/alice/NYmarathon/track]

Named Function Networking (NFN): 1 Generation of named content (on-demand)

lookup: ︸ ︷︷ ︸named function

/get/duration( ︸ ︷︷ ︸named content

/alice/NYmarathon/track )

INTEREST[/get/duration/@x call 2 x |alice|NYmarathon|track/NFN]

INTEREST[/alice/NYmarathon/track/@x call 2 |get|duration x/NFN]

1Sifalakis, M., Kohler, B., Scherb C., Tschudin C. An information centric network for computing the distribution of computations. ACM ICN ’14.5

Page 13: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

NFN on Two Slides: Clients View

Information Centric Networking: Distribution of named content (published)

lookup: /alice/NYmarathon/track

INTEREST[/alice/NYmarathon/track]

Named Function Networking (NFN): 1 Generation of named content (on-demand)

lookup: ︸ ︷︷ ︸named function

/get/duration( ︸ ︷︷ ︸named content

/alice/NYmarathon/track )

INTEREST[/get/duration/@x call 2 x |alice|NYmarathon|track/NFN]

INTEREST[/alice/NYmarathon/track/@x call 2 |get|duration x/NFN]

1Sifalakis, M., Kohler, B., Scherb C., Tschudin C. An information centric network for computing the distribution of computations. ACM ICN ’14.5

Page 14: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

NFN on Two Slides: Network View

/userN/NYmarathon/track

clientNFN

capable

dataprovider

1

dataprovider

N

/user1/NYmarathon/track

functionprovider

/get/ranking(..)

...

Special NFN-capable nodes dissect the interest’s NFN name, compute the result andreturn it.

6

Page 15: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

NFN on Two Slides: Network View

/userN/NYmarathon/track

clientNFN

capable

dataprovider

1

dataprovider

N

/user1/NYmarathon/track

functionprovider

/get/ranking(..)

...

Special NFN-capable nodes dissect the interest’s NFN name, compute the result andreturn it.

6

Page 16: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Ingredients for a Solution

1. Content-Based Security: “Protection and trust [should] travel with the contentitself rather than being a property of the connection over which it travels.” 2

/alice/NYmarathon/track/data

ÊSymEnck(<time-location track data>)

/alice/NYmarathon/track/key/<clientPubKey>

ËAsymEncclientPubKey(k)

2. Content Attendant ACLs: Accompany each secured content object with anencrypted ACL.

/alice/NYmarathon/track/acl

ÌSymEnck-acl(<access control list>)

/alice/NYmarathon/track/aclkey/<clientPubKey>

ÍAsymEncclientPubKey(k-acl)

2Smetters, D. K. and Jacobson, V. Securing Network Content. Tech. Report, PARC, October 2009.7

Page 17: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Key Synthesis: Encryption Key for Derived Data

Goal: Symmetric encryption keys must be reproducible by any trusted intermediary atany time (and only these).

Solution: Key generator determined by all keys of all touched content objects.

Example:kuser1 (symmetric key for /user1/NYmarathon/track)kuser2 (symmetric key for /user2/NYmarathon/track)

kranking ← sha256(concat(kuser1,kuser2))

8

Page 18: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

ACL Merging: ACL for Derived Data

Goal: Compute new ACL compliant with all ACLs of all touched data.

Solution: Keep exactly these authorizations which show up in all input ACLs(Intersection).

Example:/user1/marathon/track<pubKeyKaty><pubKeyLeo>

/user2/marathon/track<pubKeyLeo><pubKeyMaria>

→/get/ranking(..)<pubKeyLeo>

9

Page 19: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

How all this Works together: Content and ACL ChannelsConsumer Intermediary1 Owner 1 Owner N...

/ranking/data(/owner1/track, …, /ownerN/track)/owner1/track/data

SymEnck-track1(<track1>)

/owner1/track/key/<pubKey-I> AsymEncpubKey-I(<k-track1>)

/ownerN/track/dataSymEnck-trackN(<trackN>)

/ownerN/track/key/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

... ...

10

Page 20: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

How all this Works together: Content and ACL ChannelsConsumer Intermediary1 Owner 1 Owner N...

/ranking/data(/owner1/track, …, /ownerN/track)

SymEnck-result(<result>)

/owner1/track/dataSymEnck-track1(<track1>)

/owner1/track/key/<pubKey-I> AsymEncpubKey-I(<k-track1>)

1

/ownerN/track/dataSymEnck-trackN(<trackN>)

/ownerN/track/key/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

Content Production & Key Synthesis

... ...

10

Page 21: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

How all this Works together: Content and ACL ChannelsConsumer Intermediary1 Owner 1 Owner N...

/ranking/data(/owner1/track, …, /ownerN/track)

SymEnck-result(<result>)

/ranking/key(/owner1/track, …, <pubKey-C>)

/owner1/track/dataSymEnck-track1(<track1>)

/owner1/track/key/<pubKey-I> AsymEncpubKey-I(<k-track1>)

1

/ownerN/track/dataSymEnck-trackN(<trackN>)

/ownerN/track/key/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

Content Production & Key Synthesis

/owner1/track/aclSymEnck-tacl1(<acl1>)

/owner1/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-track1>)

/ownerN/track/aclSymEnck-taclN(<aclN>)

/ownerN/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

... ...

10

Page 22: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

How all this Works together: Content and ACL ChannelsConsumer Intermediary1 Owner 1 Owner N...

/ranking/data(/owner1/track, …, /ownerN/track)

SymEnck-result(<result>)

/ranking/key(/owner1/track, …, <pubKey-C>)

AsymEncpubKey-C(<k-result>)

/owner1/track/dataSymEnck-track1(<track1>)

/owner1/track/key/<pubKey-I> AsymEncpubKey-I(<k-track1>)

1

/ownerN/track/dataSymEnck-trackN(<trackN>)

/ownerN/track/key/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

Content Production & Key Synthesis

/owner1/track/aclSymEnck-tacl1(<acl1>)

/owner1/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-track1>)

/ownerN/track/aclSymEnck-taclN(<aclN>)

/ownerN/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

... ...

2 ACL Merging

10

Page 23: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

How all this Works together: Content and ACL ChannelsConsumer Intermediary1 Owner 1 Owner N...

/ranking/data(/owner1/track, …, /ownerN/track)

SymEnck-result(<result>)

/ranking/key(/owner1/track, …, <pubKey-C>)

AsymEncpubKey-C(<k-result>)

/owner1/track/dataSymEnck-track1(<track1>)

/owner1/track/key/<pubKey-I> AsymEncpubKey-I(<k-track1>)

1

/ownerN/track/dataSymEnck-trackN(<trackN>)

/ownerN/track/key/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

Content Production & Key Synthesis

/owner1/track/aclSymEnck-tacl1(<acl1>)

/owner1/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-track1>)

/ownerN/track/aclSymEnck-taclN(<aclN>)

/ownerN/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

... ...

2 ACL Merging

10

Page 24: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

How all this Works together: Content and ACL ChannelsConsumer Intermediary1 Owner 1 Owner N...

/ranking/data(/owner1/track, …, /ownerN/track)

SymEnck-result(<result>)

/ranking/key(/owner1/track, …, <pubKey-C>)

AsymEncpubKey-C(<k-result>)

/owner1/track/dataSymEnck-track1(<track1>)

/owner1/track/key/<pubKey-I> AsymEncpubKey-I(<k-track1>)

1

/ownerN/track/dataSymEnck-trackN(<trackN>)

/ownerN/track/key/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

Content Production & Key Synthesis

/owner1/track/aclSymEnck-tacl1(<acl1>)

/owner1/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-track1>)

/ownerN/track/aclSymEnck-taclN(<aclN>)

/ownerN/track/aclkey/<pubKey-I> AsymEncpubKey-I(<k-trackN>)

... ...

2 ACL Merging

(Further propagation of merged ACL, if consumer acts as another intermediary)

Content Channel

ACL Channel

Key Channel

10

Page 25: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Conclusion

– Content-Attendant ACLs enable to perform consumer-driven distributedcomputation chaining for access controlled named data.

– Intermediaries run a “consume-produce-publish loop”→ Distributed: No central entity which is responsible for an entire computation chain.→ Data-centric rather than location-oriented.

– Balance of data owners privacy demands and consumers needs:A consumer is able shift any computation into the network while the privacy of theowner is always fully respected.

11

Page 26: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Q & A

Page 27: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Additional Slides

Page 28: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Who Trusts Who?

Trust Relationships:

– Owner → Intermediates- Give read access to authorized parties only- Deliver correct results

– Consumer → Intermediates- Deliver correct results

– Consumer → Function Provider- Functions produce results as documented

14

Page 29: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Access Control ModelPaper: A consumer can outsource all computations to the network (but not more).

Vision: For some applications it is reasonable to say: A client should be allowed toread a certain computation result (e.g. statistical evaluation or anonymization) but notthe primary data itself (slide 2).

Solution: Attribute-Based Access Control?

- ACLs state not just “read?” but also attributes such as “absoluteCoordinates?” or“absoluteTimestamps?”

- Functions state attributes of their result and implement according key sync.- Example: OriginFilter(..) shifts starting point of time-location track to the

origin of the coordinate system. Thus, output hides original coordinates(absoluteCoordinates=false) which means that the result might be read bymore consumers than the unfiltered track.

15

Page 30: Access-Controlled In-Network Processing of Named Dataconferences2.sigcomm.org/acm-icn/2016/slides/ShortPaper... · 2016-09-27 · Access-Controlled In-Network Processing of Named

Performance Considerations

+ Re-usage of (intermediate) results due to caching. On cache hit:+ Less computation effort+ Faster response times

+ Reduced network load: Execution can take place close to the storage location.Transferred result might be significantly smaller than input data.

+ Network-wide reusability of code (named functions)

- Meta-data and key synchronization: At most four-fold increase in the number ofinterests.

- Additional computation effort (ACL merging, key synthesis)

16