Come viene verificato un timestamp Authenticode?

5

Perché un file firmato Authenticode sia verificabile da Windows dopo la scadenza del certificato di firma originale (in genere 1-3 anni dopo il rilascio), il file deve anche avere un timestamp con firma crittografica che Windows può verificare.

Esistono numerosi servizi di timestamp di Authenticode che firmeranno il tuo file binario per te gratis (se sono online e funzionano in quel momento).

Non è sufficiente che il certificato associato alla firma di data / ora ritorni semplicemente a una delle CA radice attendibili nell'archivio certificati di Windows, altrimenti è possibile utilizzare la propria chiave Authenticode per firmare il timestamp, rendendo l'intero esercizio inutile (puoi creare una firma usando un certificato scaduto, quindi falsificare un timestamp del passato).

C'è un attributo timestamp X.509 che Windows controlla nel certificato prima di accettare la firma? In tal caso, come si può ottenere tale certificato?

O esiste una gerarchia di trust con timestamp separata di Authenticode?

    
posta Michael 18.12.2013 - 22:03
fonte

1 risposta

7

Un certificato per un'Autorità di timestamp è accettato come tale solo se contiene un'estensione per l'uso di chiavi estese che pubblicizza lo specifico identificatore di oggetto id-kp-timeStamping (ovvero 1.3.6.1.5.5.7.3.8). Sebbene i timestamp Authenticode non seguano il formato RFC 3161 , le regole sul certificato TSA sono sempre le stesse (vedi sezione 2.3 ).

Vi sono alcune informazioni sui timestamp di Authenticode . Come i timestamp standard (RFC 3161), si basano su PKCS # 7 (noto anche come "CMS") ma il formato esatto dell'elemento di dati firmato dalla TSA è diverso.

Questo post del blog pubblicizza una sorta di "tuo TSA "(che non ho mai provato in alcun modo) che supporti Authenticode; ciò significherebbe indirettamente rendere fattibile il tuo certificato TSA e averlo accettato da Windows come valido per i timestamp Authenticode.

Qualsiasi CA può emettere un certificato con l'identificatore dell'oggetto "TSA" al suo interno (non vi sono difficoltà concettuali), ma la CA più consolidata non lo farà, principalmente per mancanza di richiesta. Si noti che l'esecuzione di un appropriato TSA implica il mantenimento di un clock abbastanza preciso, resiliente a tentativi esterni di cambiare la nozione di tempo (attenzione all'NTP!), E non è facile. In realtà è molto difficile da fare se si tenta di ottenere una precisione inferiore al secondo (ad esempio, è necessario elaborare i secondi bisestili, non è possibile ignorarli).

    
risposta data 18.12.2013 - 23:00
fonte