Problema
Sto cercando di identificare se esistono standard (accettati dall'UE) per quanto riguarda il lato client che firma digitalmente i dati del modulo prima che sia inviato.
Quindi i vincoli sono:
- conosci lo standard
- accettato dall'UE
- lato client (abbiamo bisogno di prove dell'origine non a prova di manomissione)
- basato su javascript e / o basato su plugin per browser (qualsiasi lingua)
- può funzionare con contenuti correlati a forme web (k / v coppie di dati)
- l'output del processo dovrebbe essere leggibile dalla macchina (es .: form-urlenc, JSON, bson, msgpack)
- il formato di output non dovrebbe avere problemi di ambiguità (ovvero non sanguinoso XML *, forse non form-urlenc)
La mia lettura sull'argomento fino ad ora
XMLDSIG è cattivo dato che XML può essere canonizzato a diversi milioni di modi rendendo la firma non valida o peggio un XSD o XSLT (o anche CSS) collegato può alterare il rendering visibile (a seconda dello strumento di visualizzazione) del contenuto dei dati che significa che può alterare il suo significato esponendo gli utenti a possibili truffe.
PAdES è già in uso nella nostra pubblica amministrazione e il nostro ambito di progetto potrebbe coprire la necessità di creare file PDF con moduli incorporati e firma digitale.
PGP / GPG o S / MIME potrebbero essere un contendente valido per il ruolo ma idk se sono ufficialmente riconosciuti o standardizzati dalle leggi dell'UE. D'altra parte, entrambi portano le loro firme allegate ai dati.
Sfondo:
Sto facendo ricerche per un progetto governativo (in Romania) che sta tentando di implementare firme digitali su semplici forme web.
So che Estonia, Belgio, Francia e Germania dispongono già di sistemi simili per le carte di identità elettroniche e la firma digitale hardware dei documenti, nonché alcuni framework / strumenti che usano (es .: hwcrypto.js).
Ma mi piacerebbe capire il loro intero processo, per esempio firmano digitalmente interi documenti o solo alcuni dati grezzi in un formato leggibile dalla macchina (come descritto sopra).
Richiedono carte di identità elettroniche o possono essere utilizzate con un file di certificato sul disco.