Sto progettando un framework di notifica basato sul web (ad esempio, un utente può sottoscrivere aggiornamenti da un servizio o da un altro utente) in cui la comunicazione tra utenti è crittografata.
La comunicazione da utente a utente sul web richiede che un server funga da relay - la svolta è che sono in esecuzione supponendo che il server stesso sia compromesso (sebbene i client siano ancora al sicuro).
Credo di aver progettato un set-up che significa che il peggio che un server può fare è analizzare le dimensioni dei messaggi e gli indirizzi IP, oppure cancellare le notifiche. Cioè, anche un server malevolo non può leggere il contenuto effettivo della notifica.
In bundle con il sistema di notifica è un modo per fornire segreti per l'utilizzo con le API esistenti. Quindi potresti presentare un profilo di base sul web (come API) e "iscriverti" al tuo profilo (firmato con la mia chiave pubblica, ecc.) E uno dei primi messaggi che ricevo attraverso il mio stream di notifica è un insieme di segreti che ho hash / firmare le mie richieste alla tua API con la speranza di ottenere contenuti extra.
Quindi la mia domanda è: esistono tecniche (o anche standard!) esistenti per questo tipo di cose, preferibilmente basate su JSON? Prima di provare a ottenere feedback sul mio piano selvaggio, vorrei sapere se esiste una configurazione esistente che posso utilizzare o imitare.