Domanda

Mi dispiace, non sono riuscito a trovare la migliore intestazione per questa domanda. Di seguito è il mio requisito.

I sto lavorando a un progetto che tratta quale grande quantità di transazioni di denaro su un conto diverso. Il sistema trasferisce automaticamente denaro sui conti di A, B, C ecc. Ecc., Ma prima che ciò avvenga Qualcuno di A, B o C dovrebbe approvare (elettronicamente) l'importo da trasferire.

Quale pensi sia il modo migliore per farlo? Voglio che il sistema invii un file (PDF di qualcosa) che sia firmato digitalmente (?) E che la persona autorizzata da A, B e C dovrebbe verificare e confermare che l'importo è corretto.

Dato che la quantità è alta, devo assicurarmi che il file inviato dal sistema non sia manomesso e allo stesso tempo voglio anche assicurarmi che il file (risposta) inviato da A, B o C non sia manomesso. Qual è il modo migliore per raggiungerlo? Qualche idea?

È stato utile?

Soluzione

Le firme digitali sono ciò che stai cercando. Adobe PDF (dal momento che hai menzionato pdf) ti consente di firmare il pdf nella versione gratuita di Adobe Reader e la verifica viene eseguita automaticamente, non appena apri il documento pdf.

La differenza tra i MAC DigSig e (H) pubblicati da Noldorin è che i MAC usano la crittografia simmetrica, dove è necessario un canale sicuro per scambiare la chiave, mentre in PKI ambiente in cui non è richiesto il canale protetto.

Dipende da come vuoi distribuire le tue chiavi.

Altri suggerimenti

Ti consigliamo di esaminare MACs (Codici di autenticazione dei messaggi). Esistono diverse librerie disponibili per vari linguaggi che implementano algoritmi comuni come HMAC .

EDIT: vedi anche DSA ( http://en.wikipedia.org/wiki/Digital_Signature_Algorithm), che è un algoritmo popolare per le firme digitali ed è completamente implementato nel framework .NET standard (spazio dei nomi System.Cryptography).

La mia prima reazione sarebbe la firma digitale - ma hanno un difetto fatale: sono dati digitali che potrebbero essere compromessi da un utente negligente.

Se questo è un problema, puoi seguire il processo utilizzato dalle banche sudafricane, una password una tantum. Questa password viene trasferita a loro tramite un mezzo che non è coinvolto nella transazione (in Sud Africa è tramite SMS, che consiglio vivamente). Digitiamo prima un nome utente e una password, quindi riceviamo l'OTP tramite SMS che dobbiamo quindi digitare per qualsiasi transazione che porti alla perdita di denaro dai nostri account.

Forti forme di sicurezza (in crescente efficacia) includono (non sono un esperto, ma ne conosco alcune):

  • Conoscenza (una password)
  • Possession (una scheda SIM per cellulare in grado di ricevere SMS o una chiavetta USB con certificato)
  • Posizione (un computer con un sistema di gestione dei certificati basato su hardware, CellID)
  • Tempo (OTP scade, la transazione deve avvenire in un momento specifico)
  • Identità (un lettore di impronte digitali - in effetti una password - ma follemente lungo)
  • Unicità (un cavo in fibra ottica codificato nella polarizzazione dei fotoni)

Da quello che so se ne hai tre, puoi stare tranquillo con la tua sicurezza. L'aggiunta di più aumenta esponenzialmente la sicurezza, ma aumenta anche il fattore di disagio. Le banche usano la conoscenza, il possesso e il tempo in Sudafrica - e il phishing in realtà non funziona contro le banche sudafricane.

Spero che questo ti abbia aiutato un po '.

Per firmare digitalmente un file, puoi utilizzare uno qualsiasi dei partner di Microsoft. Arx, ad esempio, ti fornisce uno strumento chiamato CoSign che puoi usare gratuitamente (o almeno la loro versione di prova). Ciò ti consentirà di aggiungere firme elettroniche alla maggior parte dei formati disponibili (word, pdf, xml etc ').

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top