SlideShare a Scribd company logo
1 of 21
Download to read offline
DDS Security
[PrismTech Initial Submission for the OMG RFP mars/2010-12-37]




Angelo CORSARO, Ph.D.
Chief Technology Officer
OMG DDS Sig Co-Chair
PrismTech
angelo.corsaro@prismtech.com
Agenda
¨   Context




                          Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
¨   Security Model
¨   Transport Security
¨   Key Distribution
¨   Data Protection
¨   Next Steps
Context   The DDS Security specification
          focuses on three orthogonal
          aspects




                                               Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
          ¨   A definition of the DDS
               security model

          ¨   A set of API defining the
               interface for pluggable
               security plugins

          ¨   A set extensions to the DDSI/
               RTPS protocol to enable
               interoperable security
Submission Approach
¨   Address key requirements commonly raising in




                                                         Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
     systems and system of systems
¨   Allow both endpoint as well as perimeter security
     approaches
¨   Leverage existing standards when possible
¨   Preserve DDS scalability do not limit the use of
     multicast when available
Security Properties
This submission focuses on providing DDS with the following desirable properties:




                                                                                    Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
¨   Confidentiality of the data samples being exchanged
¨   Integrity of DDS messages, data and the overall system
¨   Authentication of DDS readers and writers
¨   Authorization of DDS Entities (e.g. DomainParticipants, DataReader,
     DataWriters)
¨   Non-repudiation of data being sent
¨   Availability
Security Model
What can I Access?
¨   The submission proposes to define the security policies in terms of




                                                                           Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
     operations that “Subjects” can perform on “Objects”
¨   This submission considers the following classification:
     ¨   Subjects
          ¨   DomainParticipants
     ¨   Objects
          ¨   Topics

¨   As a consequence a DomainParticipant might be provided with
     rights to Create, Read, Update or Dispose Topics or a specific set
     of Topics
What can we secure?
This submission provides two composable level of security




                                                                                     Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
¨   Topic-Level
     ¨   A topic can be secure as a whole thus making its access unavailable
          to un-authorized applications

¨   Attribute-Level
     ¨   An attribute can be “obfuscated” to further control its availability. In
          this case some DomainParticipants might have the right to see the
          Topic but not the specific attribute
Examples
Topic Security
                              enum BloodType {
                                  A, B, AB, O, An, Bn, ABn, On };
                              struct Person {
                                  string name;
                                  string surname;
                                  string ssn;
                                  string email;
                                  sequence<string> telephone;
                                  sequence<string> pathologies;




                                                                                          Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                                  BloodType bloodType;
¨   The entire topic             long   salary };
                                                        Payload

     content is secured                               encipherment
                                                         in Core

                                    DDS Application                     DDS Application

¨   Uniform access to                 xxxxx
                                       xxxxx
                                                         Data Sample
                                                                           xxxxx
                                                                           xxxxx


     topic attributes is
                                       xxxxx            Hash               xxxxx


                                       DDS Core                            DDS Core

     provided to authorized            Hash
                                       Hash                                Hash



     users                                             DDS Durability
                                                         Service
                                                          Hash
                                                         Hash
Field-Based Security                 enum BloodType {
                                         A, B, AB, O, An, Bn, ABn, On };
                                     struct Person {
¨   Sometimes, for a secured            string name;
                                         string surname;
     topic you need to provide           string ssn;




                                                                                                                   Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
                                         string email;
     non-uniform access to               sequence<string> telephone;
                                         @protected sequence<string> pathologies;
     some of its fields                  BloodType bloodType;
                                         @protected long   salary };
     ¨   example: Salary, Medical
          Records, etc.                                                             Field
                                                                               encipherment by
                                                                                 application

¨   Field-based security                                    DDS Application                     DDS Application


     provides a way to control
                                                                xxxxx                               xxxxx
                                                                                  Data Sample
                                                                xxxxx                               xxxxx
                                                                                   Hash

     access at a field level via
                                                                xxxxx                               xxxxx
                                                                                  xxxxx

                                                                DDS Core                            DDS Core
     security containers                                         Hash
                                                                                  xxxxx
                                                                                                     Hash
                                                                xxxxx                               xxxxx

¨   Field-based security can be                                xxxxx
                                                                                DDS Durability
                                                                                  Service           xxxxx
                                                                                    Hash
     overlaid over a secure topic
                                                                                   Hash
                                                                                   xxxxx
                                                                                  xxxxx

                                                                                    xxxxx
                                                                                   xxxxx
Field vs. Topic Security
¨   The current proposal makes Topic security completely transparent to




                                                                             Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
     the application
¨   The infrastructures takes care of transparently dealing with key
     distribution, encryption, decryption, etc.
¨   Field-based security is based on the concept of security container
¨   The infrastructure generates secure containers for “secured-fields”
     but will not automatically distribute keys
¨   The keys necessary to “open” the secured field are to be distributed
     by an application specific logic. Notice that a specific secure topic
     could be used for this purpose
Transport Security
TLS & DTLS
TLS and DTLS are commonly used cryptographic protocols in “client/server”




                                                                                       Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
applications. However for DDS they present some shortcomings
¨   TLS and DTLS use in-band, blocking key-negotiation, in the default setup, thus
     interrupting the data exchange for a non-predictable amount of time
¨   At anytime one of the two peers may initiate a key re-negotiation, causing
     interruption of the data-transfer until a new session-key has been negotiated.
¨   A major drawback is that both, TLS and D-TLS, can not deal with multicast
     communication. A TLS based transport security would degrade a DDS system
     to a client-server system. Both, TLS and DLTS, are not suited for DDS transport
     layer security protocols.
SRTP & DDS
¨   The Secure Real-time Transport Protocol (or SRTP) defines a




                                                                    Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
     profile of RTP (Real-time Transport Protocol), intended to
     provide encryption, message authentication and integrity,
     and replay protection to the RTP data in both unicast and
     multicast applications It was first published by the IETF in
     March 2004 as RFC 3711.
¨   This submission proposes the use of the SRTP approach for
     securing DDS transport while maintaining support for
     unicast and multicast!
Key Distribution
MIKEY & DDS
¨   The Multimedia Internet KEYing (MIKEY) is a key management protocol that is
     intended for use with real-time applications. It can specifically be used to set
     up encryption keys for multimedia sessions that are secured using SRTP. MIKEY




                                                                                                                Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
     is defined in RFC 3830.
¨   MIKEY supports five different methods to set up a Common Secret:
     ¨   Pre-Shared Key (PSK): This is the most efficient way to handle the transport of the Common Secret,
          since only symmetric encryption is used and only a small amount of data has to be exchanged.
     ¨   Public-Key: The Common Secret is exchanged with the help of public key encryption.
     ¨   Diffie-Hellman: A Diffie-Hellman key exchange is used to set up the Common Secret.
     ¨   DH-HMAC (HMAC-Authenticated Diffie-Hellman): This is a light-weight version of Diffie-Hellman MIKEY
     ¨   RSA-R (Reverse RSA): The Common Secret is exchanged with the help of public key encryption in a
          way that doesn't require any PKI

¨   The RSA-R method is the appropriate concept for DDS (see submission for
     details)
Data Protection
Payload Protection
¨   The header contains the relevant
     attributes to fetch the required secrets




                                                                                                      Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
     and keys from originator or key-
     archive
¨   The key-archive shall operate similar to
     a durability service, storing keys for
     late joiners
                                                                    Data Submessage
¨   The tail contains the digest, which        DATA
                                                header
                                                         Security Header   Payload    Security Tail
     allows to verify integrity of the
     payload
¨   The concept of header and tail allows
     re-fragmentation of the serialized data
Next Steps




                                                          Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
¨   Detail the use of SRTP and MIKEY in the context of
     the DDSI/RTPS wire-protocol
¨   Finalize the API for security plugin
¨   Vote for adoption
:: Connect with Us ::




                                                                                              Copyright	
  2010,	
  PrismTech	
  –	
  	
  All	
  Rights	
  Reserved.
  ¥ opensplice.com         ¥ forums.opensplice.org
                                                                      ¥ @acorsaro
  ¥ opensplice.org         ¥ opensplicedds@prismtech.com                 ¥ @prismtech




                                                                     ¥ crc@prismtech.com
                                                                     ¥ sales@prismtech.com
¥ youtube.com/opensplicetube     ¥ slideshare.net/angelo.corsaro

More Related Content

What's hot

The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part IIAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo Corsaro
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaAngelo Corsaro
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA ExplainedAngelo Corsaro
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDSRick Warren
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingJaime Martin Losa
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeAngelo Corsaro
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSeProsima
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & ToolseProsima
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsReal-Time Innovations (RTI)
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part IAngelo Corsaro
 
The Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingThe Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingAngelo Corsaro
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDSAngelo Corsaro
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 

What's hot (20)

Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
Best Practices Using RTI Connext DDS
Best Practices Using RTI Connext DDSBest Practices Using RTI Connext DDS
Best Practices Using RTI Connext DDS
 
UML Profile for DDS
UML Profile for DDSUML Profile for DDS
UML Profile for DDS
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
Getting Started in DDS with C++ and Java
Getting Started in DDS with C++ and JavaGetting Started in DDS with C++ and Java
Getting Started in DDS with C++ and Java
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 
Introduction to DDS
Introduction to DDSIntroduction to DDS
Introduction to DDS
 
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin MeetingDDS Advanced Tutorial - OMG June 2013 Berlin Meeting
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
 
Cyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT AgeCyclone DDS: Sharing Data in the IoT Age
Cyclone DDS: Sharing Data in the IoT Age
 
Micro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROSMicro XRCE-DDS and micro-ROS
Micro XRCE-DDS and micro-ROS
 
Fast DDS Features & Tools
Fast DDS Features & ToolsFast DDS Features & Tools
Fast DDS Features & Tools
 
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of ThingsComparison of MQTT and DDS as M2M Protocols for the Internet of Things
Comparison of MQTT and DDS as M2M Protocols for the Internet of Things
 
DDS Tutorial -- Part I
DDS Tutorial -- Part IDDS Tutorial -- Part I
DDS Tutorial -- Part I
 
DDS vs AMQP
DDS vs AMQPDDS vs AMQP
DDS vs AMQP
 
The Art and Science of DDS Data Modelling
The Art and Science of DDS Data ModellingThe Art and Science of DDS Data Modelling
The Art and Science of DDS Data Modelling
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 

Viewers also liked

Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaAngelo Corsaro
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...Angelo Corsaro
 
Building IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitBuilding IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitAngelo Corsaro
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
OpenSplice Security Module
OpenSplice Security ModuleOpenSplice Security Module
OpenSplice Security ModuleAngelo Corsaro
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?Angelo Corsaro
 
OMG DDS Security Specification - 4th revised submission document
OMG DDS Security Specification - 4th revised submission documentOMG DDS Security Specification - 4th revised submission document
OMG DDS Security Specification - 4th revised submission documentGerardo Pardo-Castellote
 
DDS Security for the Industrial Internet - London Connext DDS Conference
DDS Security for the Industrial Internet - London Connext DDS ConferenceDDS Security for the Industrial Internet - London Connext DDS Conference
DDS Security for the Industrial Internet - London Connext DDS ConferenceGerardo Pardo-Castellote
 
Hello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQHello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQSander Mertens
 
"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTT"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTTSander Mertens
 
Open splice dds security
Open splice dds securityOpen splice dds security
Open splice dds securityRamzi Karoui
 
Practical Security with MQTT and Mosquitto
Practical Security with MQTT and MosquittoPractical Security with MQTT and Mosquitto
Practical Security with MQTT and Mosquittonbarendt
 
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...Real-Time Innovations (RTI)
 
FACE-ing Reality: Maintaining our Military Edge in the Modern World
FACE-ing Reality: Maintaining our Military Edge in the Modern WorldFACE-ing Reality: Maintaining our Military Edge in the Modern World
FACE-ing Reality: Maintaining our Military Edge in the Modern WorldReal-Time Innovations (RTI)
 

Viewers also liked (20)

DDS Security
DDS SecurityDDS Security
DDS Security
 
Getting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and ScalaGetting Started with DDS in C++, Java and Scala
Getting Started with DDS in C++, Java and Scala
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
 
Building IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter KitBuilding IoT Applications with Vortex and the Intel Edison Starter Kit
Building IoT Applications with Vortex and the Intel Edison Starter Kit
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
OpenSplice Security Module
OpenSplice Security ModuleOpenSplice Security Module
OpenSplice Security Module
 
OpenSplice DDS v6
OpenSplice DDS v6OpenSplice DDS v6
OpenSplice DDS v6
 
What's the Right Messaging Standard for the IoT?
What's the Right Messaging  Standard for the IoT?What's the Right Messaging  Standard for the IoT?
What's the Right Messaging Standard for the IoT?
 
OMG DDS Security Specification - 4th revised submission document
OMG DDS Security Specification - 4th revised submission documentOMG DDS Security Specification - 4th revised submission document
OMG DDS Security Specification - 4th revised submission document
 
OMG Data-Distribution Service Security
OMG Data-Distribution Service SecurityOMG Data-Distribution Service Security
OMG Data-Distribution Service Security
 
DDS Security for the Industrial Internet - London Connext DDS Conference
DDS Security for the Industrial Internet - London Connext DDS ConferenceDDS Security for the Industrial Internet - London Connext DDS Conference
DDS Security for the Industrial Internet - London Connext DDS Conference
 
Hello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQHello World in OMG DDS and ZeroMQ
Hello World in OMG DDS and ZeroMQ
 
"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTT"Hello World" in OMG DDS and MQTT
"Hello World" in OMG DDS and MQTT
 
OMG DDS Security Standard
OMG DDS Security StandardOMG DDS Security Standard
OMG DDS Security Standard
 
Open splice dds security
Open splice dds securityOpen splice dds security
Open splice dds security
 
Practical Security with MQTT and Mosquitto
Practical Security with MQTT and MosquittoPractical Security with MQTT and Mosquitto
Practical Security with MQTT and Mosquitto
 
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
 
FACE-ing Reality: Maintaining our Military Edge in the Modern World
FACE-ing Reality: Maintaining our Military Edge in the Modern WorldFACE-ing Reality: Maintaining our Military Edge in the Modern World
FACE-ing Reality: Maintaining our Military Edge in the Modern World
 
RPC Over DDS
RPC Over DDSRPC Over DDS
RPC Over DDS
 
DDS Web Enabled
DDS Web EnabledDDS Web Enabled
DDS Web Enabled
 

Similar to DDS Security

Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEPAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
Open splicedds espercep-webinar
Open splicedds espercep-webinarOpen splicedds espercep-webinar
Open splicedds espercep-webinarTomasz Waszczyk
 
DDS-PSM-Cxx and simd-cxx
DDS-PSM-Cxx and simd-cxxDDS-PSM-Cxx and simd-cxx
DDS-PSM-Cxx and simd-cxxAngelo Corsaro
 
Dds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_enginesDds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_enginesGerardo Pardo-Castellote
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part IAngelo Corsaro
 
Presentation cyber defense for soa & rest
Presentation   cyber defense for soa & restPresentation   cyber defense for soa & rest
Presentation cyber defense for soa & restxKinAnx
 
Layer 7 & Oracle: Cyber Defense for SOA & REST
Layer 7 & Oracle: Cyber Defense for SOA & RESTLayer 7 & Oracle: Cyber Defense for SOA & REST
Layer 7 & Oracle: Cyber Defense for SOA & RESTCA API Management
 
Cyber defense for soa & rest oracle
Cyber defense for soa & rest   oracleCyber defense for soa & rest   oracle
Cyber defense for soa & rest oracleigsc
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAngelo Corsaro
 

Similar to DDS Security (12)

Stream Processing with DDS and CEP
Stream Processing with  DDS and CEPStream Processing with  DDS and CEP
Stream Processing with DDS and CEP
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
DDS ISO C++ PSM
DDS ISO C++ PSMDDS ISO C++ PSM
DDS ISO C++ PSM
 
Open splicedds espercep-webinar
Open splicedds espercep-webinarOpen splicedds espercep-webinar
Open splicedds espercep-webinar
 
DDS-PSM-Cxx and simd-cxx
DDS-PSM-Cxx and simd-cxxDDS-PSM-Cxx and simd-cxx
DDS-PSM-Cxx and simd-cxx
 
Dds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_enginesDds the ideal_bus_for_event_processing_engines
Dds the ideal_bus_for_event_processing_engines
 
PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1PrismTech Vortex Tutorial Part 1
PrismTech Vortex Tutorial Part 1
 
Vortex Tutorial -- Part I
Vortex Tutorial -- Part IVortex Tutorial -- Part I
Vortex Tutorial -- Part I
 
Presentation cyber defense for soa & rest
Presentation   cyber defense for soa & restPresentation   cyber defense for soa & rest
Presentation cyber defense for soa & rest
 
Layer 7 & Oracle: Cyber Defense for SOA & REST
Layer 7 & Oracle: Cyber Defense for SOA & RESTLayer 7 & Oracle: Cyber Defense for SOA & REST
Layer 7 & Oracle: Cyber Defense for SOA & REST
 
Cyber defense for soa & rest oracle
Cyber defense for soa & rest   oracleCyber defense for soa & rest   oracle
Cyber defense for soa & rest oracle
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 

More from Angelo Corsaro

zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data FabricAngelo Corsaro
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT ArchitecturesAngelo Corsaro
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIAngelo Corsaro
 

More from Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
zenoh: The Edge Data Fabric
zenoh: The Edge Data Fabriczenoh: The Edge Data Fabric
zenoh: The Edge Data Fabric
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
zenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocolzenoh -- the ZEro Network OverHead protocol
zenoh -- the ZEro Network OverHead protocol
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
 
Microservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part IIMicroservices Architecture with Vortex — Part II
Microservices Architecture with Vortex — Part II
 

Recently uploaded

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 

Recently uploaded (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 

DDS Security

  • 1. DDS Security [PrismTech Initial Submission for the OMG RFP mars/2010-12-37] Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech angelo.corsaro@prismtech.com
  • 2. Agenda ¨ Context Copyright  2010,  PrismTech  –    All  Rights  Reserved. ¨ Security Model ¨ Transport Security ¨ Key Distribution ¨ Data Protection ¨ Next Steps
  • 3. Context The DDS Security specification focuses on three orthogonal aspects Copyright  2010,  PrismTech  –    All  Rights  Reserved. ¨ A definition of the DDS security model ¨ A set of API defining the interface for pluggable security plugins ¨ A set extensions to the DDSI/ RTPS protocol to enable interoperable security
  • 4. Submission Approach ¨ Address key requirements commonly raising in Copyright  2010,  PrismTech  –    All  Rights  Reserved. systems and system of systems ¨ Allow both endpoint as well as perimeter security approaches ¨ Leverage existing standards when possible ¨ Preserve DDS scalability do not limit the use of multicast when available
  • 5. Security Properties This submission focuses on providing DDS with the following desirable properties: Copyright  2010,  PrismTech  –    All  Rights  Reserved. ¨ Confidentiality of the data samples being exchanged ¨ Integrity of DDS messages, data and the overall system ¨ Authentication of DDS readers and writers ¨ Authorization of DDS Entities (e.g. DomainParticipants, DataReader, DataWriters) ¨ Non-repudiation of data being sent ¨ Availability
  • 7. What can I Access? ¨ The submission proposes to define the security policies in terms of Copyright  2010,  PrismTech  –    All  Rights  Reserved. operations that “Subjects” can perform on “Objects” ¨ This submission considers the following classification: ¨ Subjects ¨ DomainParticipants ¨ Objects ¨ Topics ¨ As a consequence a DomainParticipant might be provided with rights to Create, Read, Update or Dispose Topics or a specific set of Topics
  • 8. What can we secure? This submission provides two composable level of security Copyright  2010,  PrismTech  –    All  Rights  Reserved. ¨ Topic-Level ¨ A topic can be secure as a whole thus making its access unavailable to un-authorized applications ¨ Attribute-Level ¨ An attribute can be “obfuscated” to further control its availability. In this case some DomainParticipants might have the right to see the Topic but not the specific attribute
  • 10. Topic Security enum BloodType { A, B, AB, O, An, Bn, ABn, On }; struct Person { string name; string surname; string ssn; string email; sequence<string> telephone; sequence<string> pathologies; Copyright  2010,  PrismTech  –    All  Rights  Reserved. BloodType bloodType; ¨ The entire topic long salary }; Payload content is secured encipherment in Core DDS Application DDS Application ¨ Uniform access to xxxxx xxxxx Data Sample xxxxx xxxxx topic attributes is xxxxx Hash xxxxx DDS Core DDS Core provided to authorized Hash Hash Hash users DDS Durability Service Hash Hash
  • 11. Field-Based Security enum BloodType { A, B, AB, O, An, Bn, ABn, On }; struct Person { ¨ Sometimes, for a secured string name; string surname; topic you need to provide string ssn; Copyright  2010,  PrismTech  –    All  Rights  Reserved. string email; non-uniform access to sequence<string> telephone; @protected sequence<string> pathologies; some of its fields BloodType bloodType; @protected long salary }; ¨ example: Salary, Medical Records, etc. Field encipherment by application ¨ Field-based security DDS Application DDS Application provides a way to control xxxxx xxxxx Data Sample xxxxx xxxxx Hash access at a field level via xxxxx xxxxx xxxxx DDS Core DDS Core security containers Hash xxxxx Hash xxxxx xxxxx ¨ Field-based security can be xxxxx DDS Durability Service xxxxx Hash overlaid over a secure topic Hash xxxxx xxxxx xxxxx xxxxx
  • 12. Field vs. Topic Security ¨ The current proposal makes Topic security completely transparent to Copyright  2010,  PrismTech  –    All  Rights  Reserved. the application ¨ The infrastructures takes care of transparently dealing with key distribution, encryption, decryption, etc. ¨ Field-based security is based on the concept of security container ¨ The infrastructure generates secure containers for “secured-fields” but will not automatically distribute keys ¨ The keys necessary to “open” the secured field are to be distributed by an application specific logic. Notice that a specific secure topic could be used for this purpose
  • 14. TLS & DTLS TLS and DTLS are commonly used cryptographic protocols in “client/server” Copyright  2010,  PrismTech  –    All  Rights  Reserved. applications. However for DDS they present some shortcomings ¨ TLS and DTLS use in-band, blocking key-negotiation, in the default setup, thus interrupting the data exchange for a non-predictable amount of time ¨ At anytime one of the two peers may initiate a key re-negotiation, causing interruption of the data-transfer until a new session-key has been negotiated. ¨ A major drawback is that both, TLS and D-TLS, can not deal with multicast communication. A TLS based transport security would degrade a DDS system to a client-server system. Both, TLS and DLTS, are not suited for DDS transport layer security protocols.
  • 15. SRTP & DDS ¨ The Secure Real-time Transport Protocol (or SRTP) defines a Copyright  2010,  PrismTech  –    All  Rights  Reserved. profile of RTP (Real-time Transport Protocol), intended to provide encryption, message authentication and integrity, and replay protection to the RTP data in both unicast and multicast applications It was first published by the IETF in March 2004 as RFC 3711. ¨ This submission proposes the use of the SRTP approach for securing DDS transport while maintaining support for unicast and multicast!
  • 17. MIKEY & DDS ¨ The Multimedia Internet KEYing (MIKEY) is a key management protocol that is intended for use with real-time applications. It can specifically be used to set up encryption keys for multimedia sessions that are secured using SRTP. MIKEY Copyright  2010,  PrismTech  –    All  Rights  Reserved. is defined in RFC 3830. ¨ MIKEY supports five different methods to set up a Common Secret: ¨ Pre-Shared Key (PSK): This is the most efficient way to handle the transport of the Common Secret, since only symmetric encryption is used and only a small amount of data has to be exchanged. ¨ Public-Key: The Common Secret is exchanged with the help of public key encryption. ¨ Diffie-Hellman: A Diffie-Hellman key exchange is used to set up the Common Secret. ¨ DH-HMAC (HMAC-Authenticated Diffie-Hellman): This is a light-weight version of Diffie-Hellman MIKEY ¨ RSA-R (Reverse RSA): The Common Secret is exchanged with the help of public key encryption in a way that doesn't require any PKI ¨ The RSA-R method is the appropriate concept for DDS (see submission for details)
  • 19. Payload Protection ¨ The header contains the relevant attributes to fetch the required secrets Copyright  2010,  PrismTech  –    All  Rights  Reserved. and keys from originator or key- archive ¨ The key-archive shall operate similar to a durability service, storing keys for late joiners Data Submessage ¨ The tail contains the digest, which DATA header Security Header Payload Security Tail allows to verify integrity of the payload ¨ The concept of header and tail allows re-fragmentation of the serialized data
  • 20. Next Steps Copyright  2010,  PrismTech  –    All  Rights  Reserved. ¨ Detail the use of SRTP and MIKEY in the context of the DDSI/RTPS wire-protocol ¨ Finalize the API for security plugin ¨ Vote for adoption
  • 21. :: Connect with Us :: Copyright  2010,  PrismTech  –    All  Rights  Reserved. ¥ opensplice.com ¥ forums.opensplice.org ¥ @acorsaro ¥ opensplice.org ¥ opensplicedds@prismtech.com ¥ @prismtech ¥ crc@prismtech.com ¥ sales@prismtech.com ¥ youtube.com/opensplicetube ¥ slideshare.net/angelo.corsaro