Integrità e l'autenticità
-
21-09-2019 - |
Domanda
Ci dispiace continuare a chiedere tante domande, ma voi ragazzi sempre sembrano essere così gentile e disponibile ...
Ho bisogno di fare un po 'di applicazione che le importazioni dati da un file. Per esempio, l'utente seleziona un file e l'applicazione importa alcuni dati nel database.
Ma ci ho pensato, e questo tipo di applicazione porta ad un problema di integrità e l'autenticità dei file. Se un utente modifica il file l'applicazione non è autorizzato a utilizzare tali informazioni. E se un file non è da una fonte ben nota, l'applicazione non può utilizzare quel file.
Come faccio a fare questo genere di cose?
P.S .: Sto usando C # .NET
Soluzione
L'autenticazione e l'integrità sono forniti da firme digitali.
Segui il consiglio driis' se controlli il formato del file.
In alternativa, se il file è XML, utilizzare un XML Signature .
.con C # / NET:
Altri suggerimenti
Se è possibile controllare il formato del file di origine, è possibile incorporare una firma digitale. Se si basa la firma su un hash del contenuto del file, allora si può essere sicuri che il file proviene da una fonte attendibile, e che è non è stato manomesso.
Dipende da quanto forte si vuole questa protezione.
Ad esempio, è possibile avere un file xml (per migliorare la leggibilità umana), che ha un nodo hash da qualche parte che contiene l'hash del file originale (+ sale). Questo può essere aggiornato dal programma, ma l'utente può avere più difficoltà a capire che cosa significa chiave. Quando il programma si apre il file, calcola l'hash e controlla se è lo stesso di quello scritto nel file.
Si può anche fare un passo avanti e utilizzare le firme digitali, ma questo è molto più complicato.