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

What's hot (20)

Introduction to RTI DDS
Introduction to RTI DDSIntroduction to RTI DDS
Introduction to RTI DDS
 
OMG DDS Tutorial - Part I
OMG DDS Tutorial - Part IOMG DDS Tutorial - Part I
OMG DDS Tutorial - Part I
 
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
Fast RTPS: Programming with the Default Middleware for Robotics Adopted in ROS2
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
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
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Deep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway SpecificationDeep Dive into the OPC UA / DDS Gateway Specification
Deep Dive into the OPC UA / DDS Gateway Specification
 
10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS10 Reasons for Choosing OpenSplice DDS
10 Reasons for Choosing OpenSplice DDS
 
DDS Secure Intro
DDS Secure IntroDDS Secure Intro
DDS Secure Intro
 
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
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 
Distributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLADistributed Simulations with DDS and HLA
Distributed Simulations with DDS and HLA
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
OMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time SystemsOMG DDS: The Data Distribution Service for Real-Time Systems
OMG DDS: The Data Distribution Service for Real-Time Systems
 
NEW LAUNCH! Amazon Neptune Overview and Customer Use Cases - DAT319 - re:Inve...
NEW LAUNCH! Amazon Neptune Overview and Customer Use Cases - DAT319 - re:Inve...NEW LAUNCH! Amazon Neptune Overview and Customer Use Cases - DAT319 - re:Inve...
NEW LAUNCH! Amazon Neptune Overview and Customer Use Cases - DAT319 - re:Inve...
 
OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009OMG Data-Distribution Service (DDS) Tutorial - 2009
OMG Data-Distribution Service (DDS) Tutorial - 2009
 
The DDS Tutorial - Part I
The DDS Tutorial - Part IThe DDS Tutorial - Part I
The DDS Tutorial - Part I
 
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
AnzoGraph DB: Driving AI and Machine Insights with Knowledge Graphs in a Conn...
 
Advanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part IAdvanced OpenSplice Programming - Part I
Advanced OpenSplice Programming - Part I
 

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 Scala
Angelo Corsaro
 

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

Open splicedds espercep-webinar
Open splicedds espercep-webinarOpen splicedds espercep-webinar
Open splicedds espercep-webinar
Tomasz Waszczyk
 
Cyber defense for soa & rest oracle
Cyber defense for soa & rest   oracleCyber defense for soa & rest   oracle
Cyber defense for soa & rest oracle
igsc
 
Presentation cyber defense for soa & rest
Presentation   cyber defense for soa & restPresentation   cyber defense for soa & rest
Presentation cyber defense for soa & rest
xKinAnx
 

Similar to DDS Security (13)

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
 
The DDS Tutorial Part II
The DDS Tutorial Part IIThe DDS Tutorial Part II
The DDS Tutorial Part II
 
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
 
Cyber defense for soa & rest oracle
Cyber defense for soa & rest   oracleCyber defense for soa & rest   oracle
Cyber defense for soa & rest oracle
 
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
 
Advanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part IIAdvanced OpenSplice Programming - Part II
Advanced OpenSplice Programming - Part II
 

More from Angelo 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

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

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