A little context: I'm working in designing a system to sign and verify data sent between modules of a bigger system. Currently the system has two parts, a central application and a SDK inside modules which is making all the key exchange and communication with the central server.
This are the relevant points so far:
- I generate a key pair for each module every day at a given time (lets say 12 am). This is done in a central application which has an HSM as the main key store
- I need to send the key pair to their owner along with the public keys of every other module in the system
I know that in cryptography is always better to use something existent than create your own approach so the questions are:
Is there any protocol, algorithm or standard for this centralized key exchange? How can I assure that all the modules had receive the public keys of the other modules?
Thank you, I hope I've been clear enough, English is not my native language