Building an IoT Platform with Matrix matthew@matrix.org - - PowerPoint PPT Presentation

building an iot platform with matrix
SMART_READER_LITE
LIVE PREVIEW

Building an IoT Platform with Matrix matthew@matrix.org - - PowerPoint PPT Presentation

Building an IoT Platform with Matrix matthew@matrix.org http://www.matrix.org What is Matrix? An open decentralised conversation store and message bus. Why? To create a global communication meta-network that bridges all the existing


slide-1
SLIDE 1

Building an IoT Platform with Matrix

matthew@matrix.org http://www.matrix.org

slide-2
SLIDE 2

What is Matrix?

slide-3
SLIDE 3

An open decentralised conversation store and message bus.

slide-4
SLIDE 4

Why?

slide-5
SLIDE 5

To create a global communication meta-network that bridges all the existing silos & liberates our communication to be controlled only by us.

slide-6
SLIDE 6

Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data

…and anything else which needs to pubsub persistent data to the world.

6

slide-7
SLIDE 7

Matrix Architecture

Clients Home Servers Identity Servers Application Servers

slide-8
SLIDE 8

The Matrix Ecosystem

The ¡Matrix ¡Specification ¡(Client/Server ¡API) client-­‑side server-­‑side

Other ¡Servers ¡and ¡ Services

Synapse (Reference ¡Matrix ¡ Server) Matrix ¡Application ¡ Services ¡and ¡Bridges

Other ¡Clients Matrix ¡ iOS Console MatrixKit (iOS) matrix-­‑ios-­‑sdk Matrix ¡ Web ¡ Console matrix-­‑ angular-­‑ sdk matrix-­‑js-­‑sdk Android ¡ Console matrix-­‑ android-­‑sdk matrix-­‑ react-­‑ sdk

slide-9
SLIDE 9

How does it work?

https://matrix.org/#about

9

slide-10
SLIDE 10

Internet of Things

  • Lots and lots of vendor silos.
  • Lots of data that can be liberated into Matrix

– both for control and telemetry.

  • Matrix provides a trivial standard

HTTP+JSON API for publishing or subscribing to data

  • Supports arbitrary alternative transports and

encodings too (CoAP+CBOR, MQTT, WebSockets etc)

10

slide-11
SLIDE 11

Let’s bust some silos!

11

slide-12
SLIDE 12

Matrix to IOT…

Janus WebRTC Gateway (from MeetEcho) Parrot Bebop Drone Web Matrix example client (Firefox) synapse (on laptop) synapse (on laptop)

slide-13
SLIDE 13

L L

13

slide-14
SLIDE 14

Janus Architecture

janus.c

janus_audiobridge.c janus_echotest.c janus_recordplay.c janus_sip.c janus_streaming.c janus_videocall.c janus_videoroom.c janus_voicemail.c janus_matrix.c

slide-15
SLIDE 15

Ryan Rix’s IoT exploits

  • Lightrix: https://youtu.be/4YG9Fk5aP24
  • http://rix.si/blog/2015/09/13/body-

computing-system-a-redux-and-a-dream

  • http://rix.si/blog/2015/11/22/body-

computing-system-continuations

15

slide-16
SLIDE 16

16

echo ¡'{"msgtype":"m.text", ¡ "body":"hello"}' ¡ | perl –MCBOR::XS ¡ –MJSON ¡–pe '$_=encode_cbor decode_json' ¡| coap-­‑client ¡–m ¡post ¡\ coaps://alice.com/_m/c/a/v1/r/ROOM_ID/s/m.room.message?a= ACCESS_TOKEN

is the same as…

curl ¡-­‑XPOST ¡-­‑d ¡'{"msgtype":"m.text", ¡ "body":"hello"}' ¡ "https://alice.com:8448/_matrix/client/api/v1/rooms/ROOM_ ID/send/m.room.message?access_token=ACCESS_TOKEN"

A random CoAP example

slide-17
SLIDE 17

End to End Encryption with Olm

  • Apache License C++11 implementation of an

Axolotl-style ratchet, exposing a C API.

  • Axolotl is Open Whisper System's better-

than-OTR cryptographic ratchet, as used by TextSecure, Pond, WhatsApp etc.

  • Supports encrypted asynchronous group

communication.

  • 130KB x86-64 .so, or 208KB of asm.js
  • https://matrix.org/git/olm

17

slide-18
SLIDE 18

18

The end goal:

IOT ¡ Vendor ¡2 IOT Vendor ¡1 New ¡ services! New ¡ platforms!

slide-19
SLIDE 19
  • Rolling out End-to-end Encryption
  • Building more bridges
  • Group ACLs
  • File tagging and management
  • Decentralised identity
  • Abuse mitigation

19

What’s left?

slide-20
SLIDE 20

We need help!!

20

slide-21
SLIDE 21
  • We need people to try running their own

servers and join the federation.

  • We need people to run gateways to their

existing services

  • We need feedback on the APIs.
  • Consider native Matrix support for new

apps

  • Follow @matrixdotorg and spread the

word!

21

slide-22
SLIDE 22

Thank you!

matthew@matrix.org http://matrix.org @matrixdotorg

22