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.
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.
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/ECTS: 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.
- 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