C'è un modo per condividere i dati crittografati e consentire solo la decrittografia e prevenire la re-crittografia?

1

Il caso è che ho bisogno di condividere i dati crittografati con i clienti che consentono loro di decrittografarli solo.

L'idea è a un livello basso non siamo autorizzati a conservare una copia di questi dati condivisi mentre il cliente deve fare.

Quindi abbiamo bisogno che in qualsiasi momento o in caso di controversia torniamo ai dati originali crittografati salvati e il lato cliente ne garantisce l'integrità.

Aggiungeremo un segno di file, ma di nuovo abbiamo bisogno anche dei dati originali condivisi.

    
posta Guest 11.06.2018 - 10:12
fonte

3 risposte

2

La risposta alla domanda letterale relativa alla possibilità di impedire la re-crittografia sarebbe no.

Presumibilmente il tuo obiettivo è impedire al cliente di manomettere i dati , cioè alterarlo e travisarlo come originale. Vuoi anche evitare di mantenere una copia decifrabile dei dati.

Poiché è necessario solo crittografare e decodificare il cliente, la soluzione più semplice è crittografia a chiave pubblica e autenticazione . Il cliente ti invierà la sua chiave pubblica, che useresti per crittografare i dati. Dovresti anche firmare i dati con la tua chiave privata di firma e condividere la tua chiave di verifica pubblica per provare che l'hai firmata.

Il cliente può quindi decrittografare i dati con la loro chiave privata, che non hai. Ma mentre possono crittografare un altro dato, non possono firmarlo, in quanto non dispongono delle tue chiavi di firma private.

Con questa soluzione, puoi effettivamente eliminare sia il testo in chiaro che il testo cifrato. La tua chiave di verifica pubblica sarà sufficiente per dimostrare in modo definitivo se un determinato messaggio ha o non è stato firmato da te.

    
risposta data 11.06.2018 - 11:07
fonte
1

Puoi criptare qualsiasi dato. Puoi ri-crittografare tutti i dati che hai. È possibile re-crittografare i dati crittografati. Sono tutti solo dati per il software di crittografia. Sembra che tu stia cercando un modo per confermare l'integrità, quindi potrebbe essere in grado di mantenere un hash dei dati originali, che potrebbero essere ricalcolati in un secondo momento per mostrare se il cliente ha modificato i dati.

In questo caso, si memorizzerebbe l'hash (o meglio ancora, più hash) dei dati, che non possono essere ripristinati nei dati originali. Il cliente avrebbe archiviato i dati originali, in qualunque modo volessero. Se è necessario verificare che non sia stato modificato, il cliente o un auditor di terze parti appropriato può calcolare l'hash dei dati e controllare che corrisponda a quello che hai memorizzato. L'uso di più hash di tipi diversi assicura che anche se si trova un metodo per trovare una stringa che ha hash per un determinato valore per un determinato algoritmo (un attacco preimage), anche gli altri hash verranno modificati, mostrando che qualcosa non è giusto.

Nota che in questo caso puoi dire che qualcosa non è giusto, ma non esattamente ciò che è stato cambiato.

    
risposta data 11.06.2018 - 11:05
fonte
0

Hai hai di eliminare il documento originale ed è condiviso con il cliente come file crittografato che devono conservare?

Come Matteo ha già spiegato nei commenti (e nella risposta), nulla impedisce a nessuno di crittografare o decifrare (almeno provare) tutto ciò che vogliono (anche io non vedo come questo influenzi la tua situazione in generale).

La tua applicazione sembra che potresti usare l'hashing. Potresti fare quanto segue:

  • crea un hash crittografico del documento originale (ad esempio utilizzando SHA256 o SHA512, ma NON una funzione hash debole!)
  • crittografare (e firmare?) il documento e inviarlo al cliente per garantire la riservatezza (e l'autenticità)
  • elimina il documento dalla tua parte come richiesto dalla legge

In questo modo, hai cancellato i dati originali, il cliente riceve la copia crittografata, può fare tutto ciò che desidera (probabilmente memorizzarlo in un luogo sicuro) e puoi verificare qualsiasi reclamo del cliente basato su tale documento.

Scenario: un cliente rivendica un servizio / denaro / qualsiasi cosa in base a un documento che ha ricevuto da te. Non avendo più l'originale, non è possibile verificarlo all'inizio. Tuttavia memorizzi l'hash del documento originale , in modo che tu possa chiedere al cliente il file originale (assicurati di informarlo che è NECESSARIO che questo file originale richieda reclami, poiché i documenti stampati non possono essere sottoposti a hash) , cancellalo e controlla l'hash usando quello memorizzato.

    
risposta data 11.06.2018 - 11:06
fonte

Leggi altre domande sui tag