vai al contenuto



Home > Architettura > Log Sicuro Firmato - S3Log > Servizio S3Log

Servizio S3Log

S3Log è un prodotto software della suite Simple Signing System (S3) orientatato a gestire la firma digitale di stream, ovvero di sequenze di messaggi di log o di frame grafiche e/o sonore, in modalità non presidiata, mantenendo il pieno valore legale della firma apposta. Lo scenario tipico di S3Log prevede:

Il processo S3LogS mantiene, durante la sua vita attiva, le credenziali di firma dell'operatore in un'area di memoria protetta da uno schema proprietario (MutingBox), in base al quale il contenuto protetto varia con continuità la sua forma senza perdere le proprie informazioni. Questo approccio permette di garantire la validità della firma digitale apposta con continuità dal S3LogS ai file dello Stream Target senza la necessità di un continuo presidio dell'operatore.

S3LogS può limitare la propria azione alla generazione di file firmati in formato PKCS7, o estendere il processo di firma alla apposizione di una marca temporale auto-certificata, generando file SMIME contenenti sia i file PKCS7 firmati che la marca temporale di tali file.

A tal scopo è necessario che sul sistema su cui opera il servizio S3Log sia attivo un processo di mantenimento della data/ora di sistema in base al protocollo NTP, e che tale processo sia costantemente attivo e connesso tramite la rete Internet ai propri nodi NTP di primo livello (stratum-1) per garantire l'allineamento della data/ora di sistema.

Per ogni Stream Target da firmare può essere attivato un servizio S3Log dedicato, che risponde al proprio S3Log Client su una porta TCP riservata. Su un sistema possono operare più coppie S3LogS/S3LogL per la firma di differenti Stream Target: ogni istanza del servizio utilizza una porta TCP riservata per ricevere i comandi client, e una porta TCP riservata per ricevere i dati da accumulare nel file di log.

La comunicazione tra S3Log Client e S3LogS viene effettuata mediante una connessione SSL/TCP, con l'adozione di appositi certificati di navigazione. In fase di attivazione, S3Log Client trasmette a S3LogS, su questa connessione certificata, le credenziali di firma in formato PKCS12, opportunamente protette da una frase di passo che viene trasmessa in formato protetto. La frase di passo viene riassegnata automaticamente dal S3LogS. Le credenziali dell'operatore e la relativa frase di passo sono mantenute dal S3LogS nell'area di memoria mutante (MutantBox).

L'architettura S3Log è illustrata nella figura seguente.

Processi e File

Il servizio S3Log è implementato con il supporto di due processi:

I due processi operano con il supporto di due file:

I log sono raccolti in un file di log (LogFile) come sequenze di messaggi (testata + dati), inizialmente non ancora firmati. Periodicamente il servizio S3Log provvede a firmare l'ultima sequenza raccolta. Di conseguenza il LogFile è un insieme ordinato temporalmente di sequenze firmate ed eventualmente di una sequenza (l'ultima) non ancora firmata. Ogni sequenza è costituita da un insieme variabile di messaggi, in cui ogni messaggio viene marcato con l'Hash del messaggio precedente della sequenza (ad esclusione del primo che mantiene l'Hash della propria area dati).

La figura seguente illustra lo schema del servizio S3Log. Il processo S3LogS viene armato per la firma da un operatore, che trasmette su un canale sicuro (SSL) il certificato e la chiave segreta di firma, che sono poi mantenuti in una meroria interna protetta (stealth memory di tipo MutantBox).

Quando viene armato, il processo S3LogS crea il processo S3LogL, il quale opera su una porta TCP dedicata. I processi applicativi comunicano i messaggi di log al processo S3LogL, che li accumula nel LogFile nell'ultima sequenza non firmata (Building Sequence). Il processo S3LogS si attiva periodicamente, e firma l'ultimo messaggio della Building Sequence trasformandola in una Signed Sequence.

Validità della Firma di una Sequenza

La validità del meccanismo di firma su una Signed Sequence è dato dalla catena di Hash che ogni messaggio mantiene relativamente al messaggio precedente (ad eccezione del primo che mantiene l'Hash della propria area dati). La firma viene apposta sull'ultimo messaggio della sequenza. La figura seguente illustra il meccanismo di raccolta dei messaggi nella Building Sequence e l'azione di firma di quest'ultima che viene così trasformata in una Signed Sequence.

» Architettura del Servizio S3Log


Simple Signing System è un prodotto software di
Clizio Merli Consulente