opensplice security module

18
OpenSplice DDS OpenSplice Security Module Angelo CORSARO, Ph.D. Chief Technology Officer OMG DDS Sig Co-Chair PrismTech [email protected]

Upload: angelo-corsaro

Post on 15-Jan-2015

1.277 views

Category:

Technology


1 download

DESCRIPTION

This presentation provide an overview of the mechanism provided by the OpenSplice Security Model to support secure DDS communication.

TRANSCRIPT

Page 1: OpenSplice Security Module

Ope

nSpl

ice

DD

S

OpenSplice Security Module

Angelo CORSARO, Ph.D.Chief Technology Officer OMG DDS Sig Co-Chair

[email protected]

Page 2: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

OpenSplice Security in BriefThe OpenSplice Security module provides transport security enjoying the following properties:

☐ Confidentiality and Data Integrity (Availability is built-in DDS)

☐ Separation between the area in which information is processed in unencrypted-form (RED) and the area in which critical information is not permitted to flow in unencrypted-form (BLACK)

☐ Authenticity via Mandatory Access Control

Page 3: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

Separation of Information Flows☐ OpenSplice DDS binds a level of security to a node

(or OS partition on a separation kernel)

☐ All applications running on the same node will share the same level of security (same user)

☐ The reliable separation of different level of security (clearance) is provided for applications deployed on different nodes (or OS partitions)

Page 4: OpenSplice Security Module

Ope

nSpl

ice

DD

S Data Confidentiality and Integrity

Page 5: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

DDS Partitions☐ The Partition QoS Policy can

be used as subjects organizing the flow of data

☐ The Partition QoS Policy is used to connect Publishers/Subscribers to a Partitions’ List which might also contain wildcards, e.g. tracks.*

☐ Topics are published and subscribed across one or more Partitions

Domain

Subscriber

Subscriber

Subscriber

"tracks.kfo" "tracks.ufo"

Publisher

Publisher

Publisher

Partition

Page 6: OpenSplice Security Module

Ope

nSpl

ice

DD

S

"airspace.kfo.aircrafts"

"airspace.kfo.flyingcars"

"airspace.tfo"

TracksPublisher

Publisher

Publisher

Subscriber

Subscriber

Subscriber

DataWriter<TrakedObject>

DataWriter<FlightPlan>

DataReader<TrakedObject>

DataWriter<FlightPlan>

DataWriter<TrakedObject>

DataWriter<FlightPlan>

DataReader<TrakedObject>

DataReader<Tracks>

Subscriber DataReader<FlightPlan>

DataReader<TrackedObject>

DataReader<FlightPlan>

Global Data Space (GDS)Partition

Topic

FlightPlanAirCraft

FlightPlanFlyingCar

Page 7: OpenSplice Security Module

Ope

nSpl

ice

DD

S

"airspace.kfo.aircrafts"

"airspace.kfo.flyingcars"

"airspace.tfo"

TracksPublisher

Publisher

Publisher

Subscriber

Subscriber

Subscriber

DataWriter<TrakedObject>

DataWriter<FlightPlan>

DataReader<TrakedObject>

DataWriter<FlightPlan>

DataWriter<TrakedObject>

DataWriter<FlightPlan>

DataReader<TrakedObject>

DataReader<Tracks>

Subscriber DataReader<FlightPlan>

DataReader<TrackedObject>

DataReader<FlightPlan>

Global Data Space (GDS)Partition

Topic

FlightPlanAirCraft

FlightPlanFlyingCar

“airspace.*”

Page 8: OpenSplice Security Module

Ope

nSpl

ice

DD

S

"airspace.kfo.aircrafts"

"airspace.kfo.flyingcars"

"airspace.tfo"

TracksPublisher

Publisher

Publisher

Subscriber

Subscriber

Subscriber

DataWriter<TrakedObject>

DataWriter<FlightPlan>

DataReader<TrakedObject>

DataWriter<FlightPlan>

DataWriter<TrakedObject>

DataWriter<FlightPlan>

DataReader<TrakedObject>

DataReader<Tracks>

Subscriber DataReader<FlightPlan>

DataReader<TrackedObject>

DataReader<FlightPlan>

Global Data Space (GDS)Partition

Topic

FlightPlanAirCraft

FlightPlanFlyingCar

“airspace.kfo.*”

Page 9: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

OpenSplice Network Partitions

☐ OpenSplice DDS maps DDS Partitions onto Network Partitions

Subscriber

Subscriber

Subscriber

"tracks.kfo" "tracks.ufo"

Publisher

Publisher

Publisher

"NetPartOne" "NetPartTwo"

"NetPartThree"239.1.1.19

239.1.1.18

239.1.1.18,192.1.1.7

Page 10: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

{C+I} in OpenSplice DDS☐ Security profile can be

associated with Network Partitions

☐ Each Security Profile specifies:☐ Cipher (AES, BLOWFISH, N/A)☐ Key

☐ All data sent over the given partition is then encrypted with the provided cipher/key

Subscriber

Subscriber

Subscriber

"tracks.kfo" "tracks.ufo"

Publisher

Publisher

Publisher

"NetPartOne" "NetPartTwo"

"NetPartThree"239.1.1.19

239.1.1.18

239.1.1.18,192.1.1.7

Page 11: OpenSplice Security Module

Ope

nSpl

ice

DD

S Access Control

Page 12: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

Access Control☐ Access Control is implemented via an optional and

pluggable module

☐ This allows to plug-in modules implementing Mandatory Access Control (MAC) based on Bell-LaPadula/Biba model, Role-Based Access Control, or others

☐ The current implementation only provides support for Mandatory Access Control (MAC)

Page 13: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

Access Control in OpenSplice☐ OpenSplice implements two access control

enforcement points:☐ Inbound traffic. When reading data from the network, the

following checks are carried out:☐ is the reader allowed to receive the data?☐ was the data published by a trusted node? (in other words, was the

sender allowed to send the data)

☐ Outbound Traffic. When writing data to the network, the following check is carried out:☐ is the user allowed to write data to the network?

Page 14: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

MAC in OpenSplice☐ Mandatory Access Control (MAC) in Open Splice combines

the Bell-LaPadula and Biba models to ensure confidentiality and data integrity.

☐ Each resource (object) has a classification made by (1) secrecy level, (2) integrity level and (3) a set of compartments that this resource is intended for

☐ Each user (subject) has a clearance made by (1) secrecy level, (2) an integrity level and (3) a set of compartments this user has a ‘need-to-know’ for

Page 15: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

MAC in OpenSplice

☐ To determine if a user is authorized to access a resource, e.g. publish a certain topic or subscribe to a topic, the clearance of the user is compared to the classification of the resource

Page 16: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

Secrecy Level

☐ Subscribing is permitted if the resource’s secrecy level is identical or lower than the user’s secrecy level

☐ Publishing is permitted if the resource’s secrecy level is identical or higher than the user’s secrecy level

Page 17: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

Integrity Level

☐ Subscribing is permitted if the resource’s integrity level is identical or higher

☐ Publishing is permitted if the resource’s integrity level is identical or lower

Page 18: OpenSplice Security Module

Copyrig

ht  2011,  PrismTech  –    A

ll  Rights  Reserved.

Ope

nSpl

ice

DD

S

Need to Know

☐ Publish/Subscribe is permitted if the user’s set of compartments is a subset of the resource’s set of compartments