Ho un servizio di backup (personale) esistente che sto riscrivendo da zero per essere sicuro.
Al momento, ho appena archiviato file (e diff) in AWS S3 senza crittografia. Funziona bene ma mi piacerebbe assicurarmi che i miei dati non possano essere trapelati.
Per il gusto di questa discussione, presumo che i dati S3 possano essere letti da qualcun altro. Voglio poter eseguire il backup senza dover fornire una chiave / password all'avvio.
Il mio piano attuale è il seguente:
Genera una coppia di chiavi pubblica / privata. Memorizza la chiave privata in un posto sicuro (senza scrivere sul disco locale). Archivia la chiave pubblica localmente.
In base al file (o parte di file):
- Generare in modo sicuro una chiave simmetrica
- Utilizza la chiave simmetrica per crittografare il file
- Cripta la chiave simmetrica usando la chiave pubblica
- Memorizza l'IV, la chiave simmetrica crittografata e i dati dei file crittografati in S3
Ho ragione nel ritenere che anche se tutti i dati dell'ultimo punto sopra possono potenzialmente essere letti da qualcun altro, il fatto che la chiave privata sia richiesta per recuperare la chiave simmetrica significa che questo è sicuro?
Mi manca qualcosa di ovvio?