[I am new to security so, I apologize if I am asking something obvious]
I am working on making an existing UWP Application to have encrypted local communication over Ethernet (TCP) with an local embedded device. Here's step 1:
Step 1
Step 1 is to have same EC keys securely stored for the UWP application to consume. These keys shall be used to sign the session keys in the further steps.
As you must've guessed by now, these keys should not be available even if someone de-compiles the application and sniff around for them. Almost all the implementation examples I saw recommends using DataProtectionProvider Class to protect these keys at rest. I can't use that class because the private keys needs to be hard-coaded into the application which isn't very good.
Can you please tell me the following:
- How can I get the ECDSA keys for loading into the application? I know I can use OPENSSL to generate a keypair but my computer may not have TRNG.
- How can I load the private key into the UWP application in a way that I am not hard-coding the private component into the application itself?
- After loading the key, what should I do to isolate it from being read by other malicious applications?
Is there any cloud offering from Azure/likes to do this for us?
Thanks in advance!