Coder Social home page Coder Social logo

garageguy / tinygroupdtls Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nikirill/tinygroupdtls

0.0 1.0 0.0 267 KB

Lightweight DTLS implementation with group communication extension

License: MIT License

Makefile 2.09% C 95.51% M4 0.37% C++ 0.50% Perl 1.54%

tinygroupdtls's Introduction

tinygroupdtls

Lightweigh DTLS implementation with an extension for secure group communication

This is an extension to TinyDTLS library by Olaf Bergmann shipped with Contiki OS. The version corresponds to the Instant Contiki 2.7 image.

The purpose of the extension is to make it possible to secure multicast messages and unicast responses to these multicast messages. Full description of how the protection mechanism works can be found in document [1].

Protection of multicast messages is implemented according to the idea presented by DICE Working group of IETF [2]. A mechanism for protection of unicast responses to multicast requests is intially porposed by M.Tiloca in [3] and improved during the work.

  1. Protection of multicast messages can be turned by defining it in a config file of an application as

    "#define WITH_MUTLICAST 1"

which makes code related to multicast protection of tinygroupdtls being executed. If there are response messages from multicast listeners in this mode, the responses can be protected using established end-to-end dtls sessions with the multicast client. 'example-mcast-secure-communication' uses this scenario.

  1. Additional functionality for protection of unicast responses to a mutlicast request using group security material can be turned on by defining additionally

    "#define WITH_GROUP_RESPONSE 1"

Also, NOTE that compilation command needs to include this flag. In Contiki, a compilation command for cc2538dk platform would look like

make TARGET=cc2538dk WITH_GROUP_RESPONSE=1

'example-full-secure-group-communication' uses this scenario.

In the both aforementioned examples, a multicast client sends a 'hello' request as a multicast message protected using group security material. Servers answer with a string "Hello World!" protected using either unicast security material in the first scenario or group security in the second scenario. The examples are to be used in Contiki OS.

[1] http://kth.diva-portal.org/smash/get/diva2:847246/FULLTEXT01.pdf [2] https://datatracker.ietf.org/doc/draft-keoh-dice-multicast-security/ [3] http://soda.swedish-ict.se/5709/1/Tiloca_SIN2014.pdf

tinygroupdtls's People

Contributors

nikirill avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.