Mi piacerebbe sviluppare un servizio su cui i clienti possano connettersi e recuperare informazioni. Queste informazioni potrebbero anche essere condivise con altri.
È molto semplice, ma vorrei criptare i dati in quanto solo il cliente avrebbe accesso a tutte le sue informazioni e gli altri solo a ciò che il cliente ha concesso.
In uno schema:
+----------------+ +----------------+ | SHARED DATA | |Client 1 Shared | | | ============ | Data | |----------------| |----------------| | UNSHARED DATA | | UNSHARED DATA | +----------------+ +----------------+ || || || || || || || || || || +--------+ +--------+ | Client1| | Client2| +--------+ +--------+
Stavo pensando alla crittografia asimmetrica, ma dato che non ho familiarità con questo, volevo sapere, come potevo memorizzare le chiavi per questo (il cliente è un bulbo oculare, ha solo una password, non può essere caricamento / recupero chiavi).
Problemi / domande multipli in arrivo: Se criptico le chiavi con la sua password. Perde tutte le sue informazioni ...
Dovrei usare una chiave privata per crittografare i dati che saranno condivisi, (se qualcuno ottiene una chiave pubblica, sarebbe in grado di accedere, forse una stretta di mano o qualcosa potrebbe contrastarlo)? O una chiave pubblica data dal secondo servizio? In tal caso, il servizio n ° 1 deve essere in grado di leggere i dati per crittografarlo ...
Se crittografo i dati ogni volta che qualcosa deve essere condiviso, perderò l'efficienza, no?
Non so davvero come procedere. Il mio obiettivo è proteggere la maggior parte dei dati dell'utente. Che cosa suggerisci?
Grazie in anticipo.