Skip to the main content.

Did you know?

 

RTI is the world’s largest DDS supplier and Connext is the most trusted real-time data streaming platform for intelligent physical systems.

Success-Plan-Services-DSSuccess-Plan Services

Our Professional Services and Customer Success teams bring extensive experience to train, problem-solve, mentor, and accelerate customer success.

Learn more

Developers

From downloads to Hello World, we've got you covered. Find all of the tutorials, documentation, peer conversations and inspiration you need to get started using Connext today.

Resources

RTI provides a broad range of technical and high-level resources designed to assist in understanding industry applications, the RTI Connext product line and its underlying data-centric technology.

The monthly RTI Newsletter lets you in on what’s happening across all the industries that matter to RTI customers.

Subscribe

Company

RTI is the real-time data streaming company for autonomy. RTI Connext supplies the reliability, security and performance essential for intelligent physical systems.

Contact Us

News & Events
Cooperation

2 min read

Bringing Your Own Crypto Library to Connext Micro Pre-Shared Key Security: The Design

Bringing Your Own Crypto Library to Connext Micro Pre-Shared Key Security: The Design

OpenSSL is not an option on every embedded target. The constraints vary. Some systems have strict memory and storage limits. Others must meet licensing, platform-support, or certification requirements. One project may already use mbedTLS or wolfSSL, while another may need to use a hardware cryptographic engine through a vendor-provided C driver.

Tying middleware security to a single cryptographic library would exclude many of the embedded systems that Connext Micro is designed to support.

Connext Micro avoids that dependency through its Platform Support Library (PSL). In this post, we examine where the PSL fits within the security architecture, the two levels of its interface contract, and how this design keeps DDS-Security independent of the underlying cryptographic provider.

Where the Crypto Boundary Sits

The central design choice is straightforward: the DDS-Security layer does not call a crypto library directly. Instead, calls pass through a common layer that manages object lifetimes, validates parameters, dispatches operations, and propagates errors. The actual cryptographic work is handed to a backend. That backend can use any provider that satisfies the PSL contract.

This approach keeps the integration surface small. Adding a backend does not require changes to the Connext security code or to the application. The new implementation only has to fulfill the contract exposed by the PSL.

There are two levels to that contract.

Two interfaces, with Different Jobs

The first level is the generic transform interface. Connext Micro implements the general security-transformation model. This interface covers mechanics: creating and deleting transform objects, managing bitstreams, passing parameters, starting operations, and collecting results.

Crypto-Library-Blog-Diagram

 

It defines three kinds of bitstream:

  • Digesters consume data for operations such as hashing.
  • Emitters produce data, such as random bytes.
  • Manipulators transform data, as required for authenticated encryption and decryption.

The generic interface deliberately does not name AES, HMAC, HKDF, or any other algorithm. Its job is to keep the DDS-Security implementation independent of a particular crypto library.

The second level is specific to Pre-Shared Key security. A generic transform contract alone cannot say which algorithms PSK needs or how those operations should be exposed.

It is a table of function pointers used by the common layer to dispatch crypto calls. The table contains three broad groups:

  • memory – allocation, deallocation, and constant-time comparison
  • library – crypto-library initialization, cleanup, and error reporting
  • algorithm – sha256, hmacsha256, hkdfsha256, rand, aes128gcm, and aes256gcm

The call path is therefore easy to follow: Connext calls the common layer, the common layer dispatches and calls the backend. Connext never needs to know which crypto provider is underneath it.

A Narrow Boundary for Different Targets

The PSK PSL provides a clean boundary between the Connext Micro’s DDS-Security implementation and the crypto provider underneath it. To add a provider, simply implement the backend PSL interface, and add it to the build. The Connext stack does not need to change.

That is the practical value of the design. Teams can use the crypto library that fits their target – software or hardware-backed – without rebuilding the security feature around it.

In Part 2, we will show a successful application of this model: using the PSL SDK to add an mbedTLS backend, map the required operations to PSA Crypto, and verify the implementation with published test vectors and cross-backend interoperability tests.

 

 

 

About the author:

Arul author photoArul Moondra is a Staff Software Engineer at RTI specializing in security for embedded and real-time systems. With 10+ years of experience, he develops secure, high-performance middleware (RTI Connext Micro) focusing on systems where security, predictability, and reliability are critical.