A Social Messaging System for GNUnet Gabor Toth July 3, 2013 1/18 - - PowerPoint PPT Presentation

a social messaging system for gnunet
SMART_READER_LITE
LIVE PREVIEW

A Social Messaging System for GNUnet Gabor Toth July 3, 2013 1/18 - - PowerPoint PPT Presentation

Introduction Social Multicast Summary A Social Messaging System for GNUnet Gabor Toth July 3, 2013 1/18 Introduction Social Multicast Summary Design goals A social messaging system, which is scalable extensible end-to-end


slide-1
SLIDE 1

Introduction Social Multicast Summary

A Social Messaging System for GNUnet

Gabor Toth July 3, 2013

1/18

slide-2
SLIDE 2

Introduction Social Multicast Summary

Design goals

A social messaging system, which is

  • scalable
  • extensible
  • end-to-end encrypted

2/18

slide-3
SLIDE 3

Introduction Social Multicast Summary

Federated systems

  • e.g. XMPP, OStatus
  • they only provide link-level encryption
  • servers see all communication
  • large providers see much of the traffic

3/18

slide-4
SLIDE 4

Introduction Social Multicast Summary

GNUnet

  • GNU’s Framework for Secure Peer-to-Peer Networking
  • encrypted communication between peers
  • GADS: GNU’s Alternative Domain System, offers PKI

4/18

slide-5
SLIDE 5

Introduction Social Multicast Summary

Social network model

  • Users can have multiple pseudonyms
  • Each hosting multiple places, where guests can enter

5/18

slide-6
SLIDE 6

Introduction Social Multicast Summary 6/18

slide-7
SLIDE 7

Introduction Social Multicast Summary

Identities

  • Pseudonyms and places are identified by an ECC key pair
  • GADS zone for each pseudonym
  • the zone is published in the DHT under H(Nympub)
  • the zone is signed by the pseudonym
  • PLACE record type for pointing to places
  • empty label (+) points to a place for initial contact

+ PLACE H(PlaceApub) tech PLACE H(PlaceBpub) music PLACE H(PlaceCpub)

7/18

slide-8
SLIDE 8

Introduction Social Multicast Summary

Place

  • one-to-many messaging model
  • host sends messages to guests
  • guest can send requests to host
  • hosts decorate their homes
  • history stored locally
  • applications handle method calls
  • messages use the PSYC syntax

8/18

slide-9
SLIDE 9

Introduction Social Multicast Summary

PSYC syntax

  • extensible syntax and semantics
  • method is mandatory, state ops and body are optional

:_volume 100 _message_public_shout Hello , world! =_location_city Amsterdam =_location_country Netherlands _notice_profile_location

9/18

slide-10
SLIDE 10

Introduction Social Multicast Summary

Multicast service

  • a place is modelled as a multicast group
  • origin: multicast messages originate from

here

  • group members are peers, no pseudonyms

at this level

  • messages are signed with the place’s key

10/18

slide-11
SLIDE 11

Introduction Social Multicast Summary

Joining a multicast group

  • place to origin mapping: H(PLACEpub) → H(PEERpub),

signed with PLACEpriv

  • look up peer of origin and send a join request there
  • join request answered by application layer
  • if admitted, the peer receives a list of other group

members to connect, and starts receiving messages

11/18

slide-12
SLIDE 12

Introduction Social Multicast Summary

Replay

12/18

slide-13
SLIDE 13

Introduction Social Multicast Summary

Confidentiality

  • replay only those messages, which the requester could

have seen

  • store join/leave events
  • group generation: incremented when a member leaves
  • members are trusted that they only forward messages to

the intended recipients

13/18

slide-14
SLIDE 14

Introduction Social Multicast Summary

Group generation

14/18

slide-15
SLIDE 15

Introduction Social Multicast Summary

Components of the system

  • Applications
  • Social: social network model, try-and-slice
  • PSYC: parse PSYC syntax and perform state operations
  • PSYCstore: message history, state, membership
  • Multicast: messaging and replay in multicast groups

15/18

slide-16
SLIDE 16

Introduction Social Multicast Summary 16/18

slide-17
SLIDE 17

Introduction Social Multicast Summary

Summary

  • scalability through multicast message delivery
  • availability: local storage of messages
  • extensibility provided by the PSYC syntax
  • ECC keys for nyms & places
  • GADS for naming

17/18

slide-18
SLIDE 18

Introduction Social Multicast Summary

Questions?

18/18