Ho esaminato il codice per varie app interne che gestiscono la trasmissione sicura di dati con sistemi esterni. Questi seguono il seguente processo:
- RSA crittografare i dati con la chiave pubblica di terze parti
- RSA cripta di nuovo usando la nostra chiave privata
- Trasmetti dati
- decrittografi di terze parti utilizzando la nostra chiave pubblica
- decrittografi di terze parti di nuovo utilizzando la propria chiave privata
In questo sistema generiamo nuove chiavi private / pubbliche per ogni terza parte e tutte le chiavi pubbliche sono distribuite in modo sicuro e quindi mantenute private.
Non capisco perché dovremmo crittografare i dati utilizzando la nostra chiave privata. Sospetto che l'intento del progettista fosse quello di consentire la verifica che i dati provenissero da noi e che la stessa persona non fosse a conoscenza della firma dei messaggi per implementarla. Sfortunatamente, quella persona non è più in giro per essere chiesta.
Sono felice che i nostri dati siano accettabilmente sicuri perché vengono crittografati con la chiave di terze parti, ma la crittografia della chiave privata sembra sufficientemente non standard da farmi sentire un po 'di disagio. C'è qualcosa di cui dovrei preoccuparmi?