Perché analizzare un certificato di marchio
Un certificato di marchio costa dai 1000 ai 1500 dollari all'anno. Riceverlo non dimostra nulla sul suo funzionamento.
Tra il file consegnato dall'autorità e il logo che compare in una casella di posta ci sono un record DNS, un indirizzo https, una politica DMARC e un dominio di invio che deve figurare nel certificato. Quando il logo non appare, la causa si nasconde in questa catena, e i decodificatori classici si limitano a mostrare un soggetto e due date.
Questo analizzatore decodifica il certificato, poi confronta ogni dato misurato con il profilo VMC, con l'RFC 3709 per il logotype e con l'RFC 5280 per il resto. Restituisce un verdetto a quattro stati e l'elenco dei rilievi che lo fondano, con la loro fonte. Il catalogo conta 44 codici; il numero di rilievi restituiti dipende dal certificato analizzato.
I momenti in cui serve:
- Alla ricezione del certificato, prima di pubblicare qualsiasi cosa nel DNS.
- Quando il logo resta invisibile nonostante una configurazione che sembra corretta.
- Prima di un rinnovo, per confrontare il vecchio e il nuovo file sui domini coperti.
Che cosa controlla l'analizzatore
Sette famiglie di controlli, 44 codici, tre gravità. La tabella indica la domanda che ogni famiglia risolve.
| Famiglia | Che cosa stabilisce |
|---|---|
| Natura del certificato | Se è un certificato di marchio, un'autorità di certificazione o altro |
| Estensione logotype | Se c'è un marchio, e se l'immagine incorporata è quella verificata |
| Validità temporale | Scaduto, non ancora valido, scadenza vicina, durata fuori profilo |
| Catena ed emittente | Autofirmato, catena incompleta, aggancio a un'autorità nota al sistema |
| Chiave, usi, firma | Dimensione della chiave, curva, algoritmo di firma, bit di uso della chiave |
| Soggetto e identità | Organizzazione, giurisdizione, numero di registrazione, domini certificati |
| Input | Numero di blocchi forniti, troncatura oltre il limite di servizio |
VMC o CMC, il rapporto nomina il profilo. Il programma BIMI rilascia due tipi di certificato di marchio: il VMC, fondato su un marchio registrato, e il CMC, rilasciato sulla prova di un uso anteriore del logo. Nessun identificatore di policy li separa, ed è misurato su 37 certificati reali: due certificati di profili diversi, emessi dalla stessa autorità, dichiarano esattamente le stesse policy. L'analizzatore legge quindi l'attributo del soggetto markType, quello che il programma definisce per questo scopo, e il rapporto ti dice quale dei due hai in mano. Un CMC resta un profilo legittimo: il rilievo è riportato come informazione, non peggiora il verdetto e ricorda soltanto che il supporto dei provider di posta è più ristretto.
La taratura delle gravità segue una regola unica: classificare come bloccante soltanto i casi in cui è certo che il torto sia del certificato. Un'estensione codificata male che il nostro decodificatore non è riuscito a leggere resta un avviso, perché il dubbio è dalla nostra parte. Questa disciplina ha un costo, ma anche un vantaggio: quando il verdetto scende a non conforme, la frase è forte e il lettore può crederci.
La verifica del logo incorporato
È il controllo che separa questo strumento da un decodificatore. Risponde a una domanda che nessun'altra pagina pone: l'immagine contenuta in questo certificato è quella che l'autorità ha validato?
Il meccanismo viene dall'RFC 3709 §4.1. L'estensione logotype 1.3.6.1.5.5.7.1.12 trasporta, per ogni immagine, una coppia formata da algoritmo e impronta. L'RFC 6170 precisa il resto: l'immagine è un SVG Tiny, compresso in gzip, codificato in un URI data:. L'analizzatore estrae quell'immagine, la decomprime, ne ricalcola l'impronta con l'algoritmo che il certificato stesso dichiara, e confronta.
Tre esiti, tre messaggi. Impronte uguali, il caso normale, riportato come informazione perché è la prova che sei venuto a cercare. Impronte divergenti, rilievo bloccante: il file è stato modificato dopo la verifica dell'autorità, e questo certificato non va pubblicato. Nessuna immagine incorporata, avviso: il logo è richiamato solo tramite URI, l'integrità non si verifica più offline e la visualizzazione dipende da un server di terze parti.
La decodifica evita diverse trappole che finora producevano false discordanze. Viene letto soltanto il subjectLogo, il ramo diretto: il logo dell'autorità e quelli di una comunità portano altre impronte e non hanno nulla a che fare con il confronto. Viene presa soltanto la prima immagine della sequenza, altrimenti l'impronta della seconda finirebbe confrontata con la prima.
In caso di discordanza accertata, l'azione non si discute: riprendi l'SVG che avevi fornito all'autorità al momento dell'ordine, oppure chiedi una riemissione. Ripubblicare un'immagine ritoccata dopo l'emissione spezza il legame, e il generatore di logo BIMI ricorda i vincoli di formato da rispettare.
Due falsi difetti, misurati su certificati reali
Un analizzatore che chiede di correggere ciò che DigiCert e GlobalSign emettono non analizza più nulla. Due rilievi sono stati ritarati dopo misure su sei certificati reali, presso le tre autorità del programma.
L'impronta del logo solo in SHA-1. Quattro certificati su sei dichiarano soltanto questo algoritmo, tutti emessi da DigiCert. Il ruolo di questa impronta è abbinare un'immagine e un certificato; il verificatore possiede già l'immagine e ne ricalcola il valore da sé, senza lasciare una seconda scelta a un avversario. Classificare questo caso come avviso produrrebbe un falso positivo di massa sulla principale autorità del programma. L'analizzatore lo riporta come informazione.
L'estensione keyUsage assente. Cinque certificati su sei non la portano, presso due autorità su tre, e mostrano il loro logo in produzione. L'RFC 5280 §4.2.1.3 impone keyUsage soltanto ai certificati la cui chiave valida le firme di altri certificati, cioè alle autorità. Su una foglia è facoltativa. Il rilievo resta visibile, come informazione, perché spiega il motivo per cui i controlli sull'uso della chiave non sono stati valutati.
Queste due righe valgono soprattutto come istruzioni per la lettura del rapporto. Un rilievo informativo non richiede alcuna azione: documenta. Non chiedere una riemissione da 1200 dollari per un fatto riportato.
I quattro verdetti, e che cosa richiedono
Quattro verdetti possibili, uno per analisi, ciascuno con l'azione che richiede.
| Verdetto | Che cosa significa | Che cosa fai |
|---|---|---|
| Conforme | Nessun rilievo bloccante, nessun avviso | Pubblica, poi verifica il record BIMI e DMARC |
| Con riserve | Nulla blocca il logo, alcuni punti meritano attenzione | Leggi gli avvisi, decidi, pubblica |
| Non conforme | Almeno un difetto bloccante | Correggi o fai riemettere prima di qualsiasi pubblicazione |
| Non è un certificato di marchio | L'oggetto analizzato non appartiene al profilo VMC | Riprendi il file giusto, o il blocco giusto del file |
Il quarto stato esiste perché il caso è frequente, e scrivere «il tuo certificato di marchio non è conforme» a proposito di un oggetto che non lo è sarebbe falso. Ci si arriva per due strade. Né politica di marchio né estensione logotype: è il certificato TLS del sito web, incollato per errore, e la presenza dell'uso serverAuth lo conferma. Oppure basicConstraints dichiara cA=TRUE, e l'oggetto è un'autorità di certificazione, quasi sempre l'intermedio consegnato nello stesso file PEM della foglia.
Questo secondo caso produceva in passato un rapporto interamente falso. All'intermedio venivano rivolti i rimproveri scritti per una foglia, in particolare un uso keyCertSign giudicato eccessivo quando invece un'autorità deve averlo, e una riga che lo definiva un Verified Mark Certificate. Ora viene riconosciuto e nominato, senza altro giudizio.
Il dominio atteso, campo facoltativo
Questo campo pilota esattamente due dei 44 rilievi. Lasciarlo vuoto ti costa quei due, e nient'altro.
Inserisci qui il dominio che pubblica il tuo record BIMI. L'analizzatore cerca allora una voce dNSName del certificato che lo copra, e restituisce coperto oppure una discordanza bloccante. La trappola abituale è il carattere wildcard: ai sensi dell'RFC 9525 §6.3 scende di un solo livello. *.esempio.it copre mail.esempio.it, ma non esempio.it né a.b.esempio.it.
Una discordanza qui non si ripara con una modifica DNS. Il certificato non copre quel dominio, va fatto riemettere. Meglio pensarci al momento dell'ordine, sottodomini transazionali compresi.
Che cosa questo analizzatore non dice
Tre limiti, dichiarati perché uno strumento che li tace lascia credere a garanzie che non offre.
La revoca non viene verificata. Nessuna interrogazione OCSP, nessuna lista di revoca. Un certificato revocato dalla sua autorità risulterà conforme se il suo contenuto lo è.
L'organizzazione emittente non viene giudicata. Nessun elenco di autorità autorizzate è scritto nel codice, ed è una scelta deliberata: un elenco del genere diventerebbe falso il giorno in cui il BIMI Group accredita un nuovo emittente, e lo diventerebbe in silenzio. Il giudizio passa dalla politica di certificazione dichiarata e dall'aggancio della catena, non da un nome.
La catena non risale fino a una radice di marchio. Le radici del programma, misurate sul corpus, sono assenti dai due archivi verificabili in locale: l'archivio di fiducia di Apple, 127 radici, e il pacchetto Mozilla distribuito da curl, 190 radici. Formano un archivio proprio del programma, che né un sistema operativo né un'immagine di container portano con sé. Conseguenza applicata nello strumento: un fallimento di verifica non diventa mai un rilievo bloccante, perché non dimostra nulla. Una catena che si verifica resta una buona notizia; una catena che non si verifica non dice nulla sul certificato.
Pubblicare il certificato, una volta validato
Il verdetto non fa comparire il logo. Quattro cose devono reggere insieme.
Prima DMARC: il dominio di invio deve essere in p=quarantine o p=reject, altrimenti nessun provider di posta guarderà il resto. Poi il file PEM, servito in https a un indirizzo stabile, quello indicato dal tag a= del tuo record _bimi. Il logo SVG, servito allo stesso modo, referenziato dal tag l=. Infine il dominio di invio, presente tra i domini certificati.
Servi sempre il file completo, foglia seguita dagli intermedi, così come l'autorità lo ha consegnato. Un certificato servito da solo provoca un avviso di catena incompleta, e alcuni verificatori si fermano lì.
Quanto al calendario, un certificato di marchio vive un anno. L'analizzatore passa ad avviso negli ultimi 30 giorni e segnala la scadenza già negli ultimi 60, ma un rapporto puntuale non sostituisce un monitoraggio. Annota la data, e leggi la nostra guida sui certificati VMC e CMC per scegliere tra i due profili al momento del rinnovo. Se il logo resta assente dopo la pubblicazione, cinque cause frequenti coprono la maggior parte dei casi.
Riservatezza
Due strade, due comportamenti, e lo strumento ti dice quale si applica prima che tu clicchi.
Un certificato incollato in formato PEM viene analizzato offline: decodifica in memoria, nessuna connessione in uscita, nessun file conservato. Un indirizzo https, invece, sarà scaricato dai nostri server con una sola richiesta limitata, come indica in tempo reale la nota sotto il pulsante. Un certificato non è comunque un segreto: porta una chiave pubblica e identificatori destinati a essere pubblicati.
Il campo dominio atteso viene usato soltanto per il controllo di copertura. Oltre i dieci blocchi CERTIFICATE in uno stesso invio, l'eccedenza viene ignorata e il rapporto lo segnala.
FAQ - Domande frequenti
D: Che cos'è un certificato VMC?
R: Un Verified Mark Certificate è un certificato X.509 che collega un logo a un'organizzazione i cui diritti di marchio sono stati verificati. Incorpora l'immagine in un'estensione logotype (RFC 3709) e dichiara una politica di certificazione propria del programma. Gmail, Yahoo Mail e Apple Mail se ne servono per mostrare il tuo logo, a condizione che DMARC sia in p=quarantine o p=reject. Lo emettono DigiCert, Entrust e GlobalSign, tra le altre autorità accreditate dal BIMI Group.
D: Perché il mio logo non compare anche se il certificato è valido?
R: Il certificato è solo uno degli anelli. Verifica nell'ordine: DMARC in p=quarantine o p=reject sul dominio di invio, il record _bimi pubblicato, il tag a= che punta a un indirizzo https che serve il PEM, e il dominio di invio presente tra i domini certificati. È quest'ultimo punto che il campo dominio atteso risolve qui. Le cache dei provider di posta aggiungono poi un ritardo di diverse ore.
D: L'analizzatore verifica che il logo incorporato sia quello validato dall'autorità?
R: Sì, ed è il controllo che distingue questo strumento. L'immagine SVG viene estratta dall'estensione logotype, decompressa, e la sua impronta viene ricalcolata con l'algoritmo che il certificato stesso dichiara. Se l'impronta ricalcolata differisce da quella dichiarata, il rilievo è bloccante: il file è cambiato dopo la verifica dell'autorità. Questo confronto non funzionava su nessun certificato reale prima della revisione dello strumento.
D: Il mio certificato dichiara l'impronta del logo in SHA-1, è un difetto?
R: No. Su sei certificati reali misurati presso tre autorità, quattro dichiarano l'impronta del logo solo in SHA-1: è ciò che DigiCert emette. Il ruolo di questa impronta è abbinare un'immagine e un certificato, non opporre una barriera anti-collisione, dato che il verificatore possiede già l'immagine e ne ricalcola il valore. L'analizzatore lo segnala come un fatto, senza degradare il verdetto.
D: L'estensione keyUsage è assente dal mio VMC, devo chiedere una riemissione?
R: No. L'estensione manca su cinque dei sei certificati misurati, presso due delle tre autorità del programma, e questi certificati mostrano il loro logo in produzione. L'RFC 5280 §4.2.1.3 impone keyUsage soltanto ai certificati di autorità; su una foglia resta facoltativa. Il rilievo è riportato come informazione, per spiegare perché i controlli sull'uso della chiave non sono stati valutati.
D: Che cosa significa il verdetto «non è un certificato di marchio»?
R: Che l'oggetto incollato non appartiene al profilo VMC, e ci si arriva per due strade. La prima: né politica di marchio né estensione logotype, cioè il certificato TLS del sito web, incollato al posto del VMC. La seconda: basicConstraints dichiara cA=TRUE, quindi si tratta di un'autorità di certificazione, spesso l'intermedio consegnato nello stesso file PEM. In quel caso la foglia è il primo blocco del file.
D: A che cosa serve il campo dominio atteso?
R: A verificare che il dominio che pubblica il tuo record BIMI figuri tra i domini certificati del certificato. Il campo è facoltativo e pilota esattamente due dei 44 rilievi: coperto, oppure in discordanza. Attenzione al carattere wildcard, che scende di un solo livello ai sensi dell'RFC 9525 §6.3: *.esempio.it copre mail.esempio.it, ma non esempio.it né a.b.esempio.it.
D: Quanto costa un certificato VMC e per quale durata?
R: Dai 1000 ai 1500 dollari all'anno presso DigiCert, Entrust o GlobalSign, prezzo che copre la verifica del marchio registrato presso un ufficio riconosciuto. La validità abituale è di un anno. Pianifica il rinnovo in anticipo: l'analizzatore segnala gli ultimi 30 giorni come avviso e gli ultimi 60 come informazione, e un certificato scaduto fa sparire il logo senza altro preavviso.
Strumenti complementari
| Strumento | Utilità |
|---|---|
| BIMI Checker | Controllare il record pubblicato, tag a= e l= compresi |
| BIMI Generator | Comporre il record una volta validato il certificato |
| DMARC Checker | Confermare il prerequisito p=quarantine o p=reject |
| Hosting BIMI | Servire il logo e il certificato a un indirizzo https stabile |
| BIMI SVG Converter | Produrre un SVG Tiny conforme al profilo atteso |
| SSL Certificate Checker | Giudicare il certificato TLS del sito, l'altro profilo della famiglia |
| Analizzatore di CSR | Controllare una richiesta di certificato prima di inviarla |
Risorse utili
- RFC 3709 - estensione logotype dei certificati (struttura
logotypeHash, impronta dichiarata del logo) - RFC 6170 - immagine in un certificato X.509 (SVG Tiny compresso, trasportato in URI
data:) - RFC 5280 - profilo dei certificati X.509 (validità,
basicConstraints,keyUsage, SAN) - RFC 9525 - verifica dell'identità di servizio (portata del carattere wildcard in un SAN)
- BIMI Group - certificati di marchio verificato (profilo VMC, autorità accreditate)
- Specifica BIMI (tag
a=el=, prerequisiti DMARC)