Come dimostrare l'identità dei miei utenti dai file JSON pubblici?

0

Nel sistema che sto costruendo, gli utenti creano i propri file JSON pubblici su Internet, disponibili a chiunque. Il mio sistema non memorizza questi file JSON e non ha nulla tranne la sola lettura dell'accesso a quei file.

Quando il mio software prende uno di questi file JSON e lo esamina, ho bisogno di sapere a quale dei miei utenti appartiene quel file.

Ho una vaga idea di una soluzione, ma vorrei un feedback:

Richiederò all'utente di includere un campo nel JSON contenente un po 'di informazioni firmate, forse il loro userid. Il mio software fornisce all'utente questa stringa di informazioni da includere nel proprio JSON.

Nel mio software, l'utente deve specificare l'URL a cui è possibile trovare il JSON. Questo mi consente di ignorare tutti i file JSON in cui l'utente non ha specificato l'URL.

Pensieri? ha senso? Qualche problema? grazie!

    
posta Duke Dougal 17.08.2016 - 04:20
fonte

3 risposte

1

No, temo che non abbia senso. Se si firmano solo parti di esso, chiunque può copiare quella parte di segno nel suo JSON.

Sarebbe meglio firmare l'intero JSON, calcolando un hash e quindi firmarlo. In questo modo nessuno può modificarlo senza doverlo firmare nuovamente.

    
risposta data 16.09.2016 - 09:07
fonte
0

Ha senso che un utente debba firmare l'intero file . Se c'è una parte firmata in cui tutti possono copiare, puoi semplicemente usare il nome utente in testo normale e fidarti che nessuno lo copierà!

    
risposta data 17.08.2016 - 08:04
fonte
0

La chiave nella firma dei dati è che qualsiasi modifica ai dati renderà la firma non valida e che solo il proprietario del segreto può firmare i dati.

Qui puoi utilizzare due modi:

  • firma il file json stesso in un file ausiliario. Pro: semplice da configurare - contro: modifiche non significative al json (aggiungi uno spazio esterno ad una stringa, ad esempio) richiedono ancora un nuovo file di firma e devi caricare il file ausiliario insieme a quello json
  • aggiungi un campo segno al json originale che conterrà la firma di una concatenazione di tutti i dati in un formato preciso. Vantaggi: solo un file e i dati effettivi sono firmati, non una particolare rappresentazione json. Contro: ogni client deve essere in grado di costruire la rappresentazione e firmarla.
risposta data 16.09.2016 - 10:49
fonte

Leggi altre domande sui tag