Key Management System Library


In 2021, a European developer of safety-critical rail signaling solutions asked PSA for assistance in the cybersecurity domain. They own a product that allows rail system developers to seamlessly build applications, but it suffered from a poor cybersecurity component. Thus, PSA was asked to finalize the product to guarantee its comprehensive functionality.


Client Challenge

In a short time, release a product that covers the requirements for secure use by rail system developers, including secure rail communication, and complies with ERTMS/ETCS requirements.

Project Objective

Complete the Key Management System to fulfill 100% secure real-time communication between wayside and onboard equipment, while balancing changing requirements and scope of work.


To provide a security component, we created a Key Management System (KMS) communication library – that is, a sub-program that provides secure communication between the wayside and onboard equipment when connected. This required the realization of the protocol described in "ERTMS/ETCS: On-line Key Management FFFIS" UNISIG SUBSET-137

First, we analyzed the architecture and the code structure of the existing version of the KMS library and identified that secure communication was already partially performed. The system couldn’t confirm the identity of the communication members. To fix this, our team implemented the interaction with Certificate Authority (CA), and set up servers and communication protocols:

  • Develop CA scripts for Certificate creation, revocation, and build certificate chain

  • Implement advanced encryption through elliptic curves

  • Configure PKI platform

Our engineering group fixed bugs in the previous version of the library, and provided the following features within the new version: 

  • Checking data integrity for client applications

  • Secure authentication through X.509 standard

  • Obtaining and revocation of digital certificates

  • Link with Open SSL

To verify correct message structure generation for command and notification messages, we created and executed unit test cases that included test execution results, traceability matrix, bug reports, and coverage statistics. 

To verify the secure communication, we created a demo application that includes a KMC server application and a KMAC client application. Also, we provided initial versions of Software Architecture Specification (SAS) and Software User Manual (SUM) documents.

Thus, the client got their product completed for providing secure communication between the wayside and onboard equipment.

To explore more technical details click here.

Development Included

  • Requirements definition
  • Software architecture review
  • Software development
  • Unit test cases creation and execution
  • Documentation creation


  • The product was released to the market 2 weeks ahead of deadlines

  • Compliance with SIL4

Technology Breakdown

Project size
  • 1.5 people
  • May 2021 – March 2023

Let's Connect

Learn more about how we engage and what our specialists can do for you
This site includes photos from Pixabay licensed under CC0 Illustrations by Storyset images by Freepik.