< Return to Video

Everything you always wanted to know about Certificate Transparency (33c3)

  • 0:00 - 0:13
    [Translated by Gianluca Consiglio (KYBS2004 course assignment at JYU.FI)]
  • 0:13 - 0:20
    Herald: Sono emozionato di essere qui, immagino
    anche voi. Inizieremo con il nostro
  • 0:20 - 0:27
    primo relatore della giornata. È un ricercatore
    di sicurezza presso SBA Research, ed è anche
  • 0:27 - 0:33
    un membro del CCC Vienna. Il talk che sentiremo
    oggi è "Tutto quello che avresti sempre
  • 0:33 - 0:37
    voluto sapere sulla Certificate
    Transparency" e con questo, passo
  • 0:37 - 0:42
    il palco, per favore date un caloroso benvenuto
    a Martin Schmiedecker!
  • 0:42 - 0:46
    applausi
  • 0:49 - 0:54
    Martin: Grazie mille per queste gentili
    parole e questa bellissima introduzione.
  • 0:54 - 0:59
    Come appena detto, sono membro del CCC Vienna,
    sono anche su twitter, quindi se avete un
  • 0:59 - 1:03
    commento dopo, o volete pingarmi, se
    trovate un errore nelle diapositive, o
  • 1:03 - 1:05
    qualunque cosa, pingatemi su twitter.
  • 1:05 - 1:09
    Quindi, di cosa parla questo talk? Di cosa parleremo?
  • 1:09 - 1:13
    Certificate Transparency è una novità nell'ecosistema TLS
  • 1:13 - 1:20
    quindi non molte persone hanno familiarità
    con la sua esistenza. Quindi presenterò una
  • 1:20 - 1:25
    panoramica, cos'è CT e cosa fa e
    guarderemo anche sotto il cofano per vedere cosa
  • 1:25 - 1:32
    fa effettivamente, come funziona e come
    puoi giocarci. Quindi una delle cose
  • 1:32 - 1:38
    che devo dire su di me: sono un grande fan
    dei meme di Internet. Quindi anche se queste
  • 1:38 - 1:45
    sono immagini esilaranti. Personalmente trovo
    immagini esilaranti che metto online. Tieni
  • 1:45 - 1:49
    a mente che HTTPS è un argomento serio.
    Che tu faccia net banking, che tu stia
  • 1:49 - 1:54
    googlando, o qualunque cosa tu faccia online, HTTPS
    è lì per proteggere la tua privacy e per
  • 1:54 - 2:00
    proteggere la tua sicurezza. E in alcuni stati,
    questo è stato dimostrato dalla storia, questo non
  • 2:00 - 2:05
    è un caso, quindi ci sono dispositivi di
    introspezione a livello nazionale che aprono
  • 2:05 - 2:11
    la crittografia TLS e guardano il contenuto.
    E le persone riceveranno una visita dalla polizia
  • 2:11 - 2:16
    segreta o altro e busseranno alla loro
    porta e li arresteranno. Proprio come questa
  • 2:16 - 2:22
    settimana è successo in Turchia, dove le persone sono state
    arrestate per aver postato cose su Facebook.
  • 2:22 - 2:26
    Quindi, anche se ci sono alcune immagini
    divertenti, tieni presente che questo
  • 2:26 - 2:34
    è solo un mezzo per un fine per la mia
    presentazione. Personalmente trovo che HTTPS sia un
  • 2:34 - 2:39
    argomento molto importante. Spero di poterti
    convincere anche voi. E CT in particolare è
  • 2:39 - 2:47
    affascinante. Perché esiste qualcosa come
    Certificate Transparency? Il nome dice tutto:
  • 2:47 - 2:53
    se sei un'autorità di certificazione,
    vuoi rendere pubblici i certificati
  • 2:53 - 3:00
    che vendi o che emetti. Come per molte buone
    storie e molti buoni strumenti, tutto è iniziato
  • 3:00 - 3:06
    con un hack. Nel 2011 c'era questa
    autorità di certificazione olandese chiamata
  • 3:06 - 3:11
    DigiNotar, e sono stati compromessi. Sono stati
    davvero, davvero malamente fregati.
  • 3:11 - 3:12
    risate
  • 3:12 - 3:18
    Hanno perso tutto. Hanno perso tutti i loro
    gioielli della corona. E come parte di questo hack,
  • 3:18 - 3:24
    sono stati emessi 500 e qualcosa certificati
    fraudolenti.E non solo
  • 3:24 - 3:27
    certificati, non solo come Let's Encrypt,
    dove puoi ottenere un certificato gratuito, e
  • 3:27 - 3:32
    poi usarlo per i tuoi sistemi interni,
    o per il tuo sito web, o altro. No,
  • 3:32 - 3:39
    davvero, davvero domini di alto valore e alto
    valore dei certificati. Come google.com, molto
  • 3:39 - 3:43
    invasivo per la privacy, se riesci a leggere cosa
    le persone stanno googlando, o cosa stanno
  • 3:43 - 3:48
    inviando nelle loro e-mail.
    windowsupdate.com, che è come la porta
  • 3:48 - 3:56
    sul retro di una parte del mondo windows.
    mozilla.com, l'attaccante potrebbe manipolare
  • 3:56 - 4:03
    il download di Firefox, firmarlo con il
    certificato e spedirlo tramite un
  • 4:03 - 4:11
    sito web dall'aspetto sicuro. torproject, e così
    via. Questo era nel 2011 e questo non era
  • 4:11 - 4:19
    solo un piccolo incidente, non è stata una
    piccola CA, ma era una CA regolare con attività regolari.
  • 4:19 - 4:25
    C'è altro su questo hack: questi certificati sono stati
  • 4:25 - 4:30
    poi utilizzati per intercettare la comunicazione dei
    clienti. Persone che navigano sul web, che leggono
  • 4:30 - 4:35
    la loro email. L'azienda che
    ha indagato sulla violazione in seguito ha scoperto
  • 4:35 - 4:42
    che almeno 300.000 indirizzi IP
    si stavano connettendo a google.com e stavano
  • 4:42 - 4:50
    vedendo questo certificato fraudolento. Il 99% dei quali
    provenivano dall'Iran. Quindi era una specie di
  • 4:50 - 4:57
    attacco di uno stato-nazione contro i clienti
    basati su ISP o basati su gateway di confine
  • 4:57 - 5:04
    dove le persone pensavano di navigare in modo
    sicuro tramite HTTPS, ma in realtà non lo
  • 5:04 - 5:12
    erano. Questo è un fotogramma meraviglioso
    dal video. I ragazzi di Fox IT che hanno
  • 5:12 - 5:20
    indagato su questa violazione hanno usato le
    richieste OCSP. Ogni volta che ottieni un
  • 5:20 - 5:23
    certificato, il tuo browser deve in qualche
    modo capire se questo certificato è ancora
  • 5:23 - 5:31
    valido. Se è stato revocato, sarebbe bello
    non usarlo più. E uno degli approcci che
  • 5:31 - 5:38
    vengono utilizzati è il cosiddetto OCSP,
    quindi il client chiede all'autorità di
  • 5:38 - 5:46
    certificazione: "Ehi, è ancora valido?". E
    questo è stato registrato. Ognuna di queste
  • 5:46 - 5:53
    richieste è uno dei client che vede questo
    certificato fraudolento e chiede a
  • 5:53 - 6:00
    DigiNotar: "Ehi, questo certificato è ancora
    valido?". E come puoi vedere, la maggior
  • 6:00 - 6:04
    parte delle connessioni - in realtà è un
    film, quindi puoi vedere le luci che
  • 6:04 - 6:09
    lampeggiano e si accendono e si spengono
    mentre le persone vanno a dormire e si
    svegliano di nuovo. E la maggior parte delle
  • 6:09 - 6:16
    persone proveniva dall'Iran. Quindi come ha
    fatto DigiNotar a essere violato? Sono stati
    davvero,
  • 6:16 - 6:21
    davvero, gravemente violati perché avevano vulnerabilità ovunque. Avevano un
  • 6:21 - 6:27
    sistema in esecuzione che era incomprensibilmente
    insicuro per un'autorità di certificazione.
  • 6:27 - 6:32
    La gente pensa che se gestisci un'autorità
    di certificazione, costruisci le basi per
  • 6:32 - 6:37
    una comunicazione sicura online. Sei tu
    quello che protegge la comunicazione su
  • 6:37 - 6:43
    Internet. E se gestisci un'entità del
    genere, la gente pensa che tu sappia di
    sicurezza.
  • 6:43 - 6:44
    In realtà,
  • 6:44 - 6:46
    risate
  • 6:46 - 6:52
    in realtà, DigiNotar non lo sapeva. Avevano
    software non aggiornato, che era aperto a Internet
  • 6:52 - 6:56
    Potrebbe succedere. Non avevano
    antivirus sulle macchine che emettevano i
  • 6:56 - 7:02
    certificati. Non avevano una password
    sicura per il loro account admin. Quindi
  • 7:02 - 7:05
    tipo "password" o "admin". In realtà, puoi
    leggere il rapporto online e le
  • 7:05 - 7:12
    raccomandazioni di ENISA, l'organismo
    europeo per la sicurezza, hanno elencato
  • 7:12 - 7:19
    tutte le cose che sono state trovate e
    identificate. Inoltre, tutti i server di
  • 7:19 - 7:27
    emissione dei certificati erano in un unico
    dominio Windows. Anche una cosa negativa da
    DigiNotar: hanno mantenuto
  • 7:27 - 7:32
    segreto l'incidente. Ovviamente, non volevano
    diffondere su Internet "ehi, siamo stati
  • 7:32 - 7:38
    violati e abbiamo avuto una brutta sicurezza".
    Hanno tenuto nascosto questo incidente
  • 7:38 - 7:40
    per più di 2 mesi.
  • 7:40 - 7:45
    Dopo 2 mesi, quando è diventato
    pubblico e quando Internet l'ha scoperto,
  • 7:45 - 7:50
    che in realtà era successo qualcosa di
    davvero, davvero brutto, l'hanno scoperto e
  • 7:50 - 8:00
    DigiNotar è poi fallita. Questo è il triste
    epilogo della storia. Ma questo non è uno
  • 8:00 - 8:06
    dei problemi che le autorità di
    certificazione affrontano. Se gestisci
  • 8:06 - 8:11
    un'autorità di certificazione, emetti
    certificati in base all'identità dei tuoi
  • 8:11 - 8:17
    clienti. Puoi creare CA secondarie, quindi
    puoi dire Ehi, Martin, sembra un bravo
  • 8:17 - 8:23
    ragazzo, sembra che sappia di sicurezza,
    facciamolo diventare una CA e facciamogli
  • 8:23 - 8:32
    verificare le identità. Probabilmente non è
    una buona idea, ma questo è il modello di business
  • 8:32 - 8:37
    di HTTPS e delle autorità di
    certificazione. Rilasciano certificati e concedono anche
  • 8:37 - 8:45
    il permesso di rilasciare
    certificati. E l'intero obiettivo di queste
  • 8:45 - 8:51
    aziende è entrare nei trust store. Ogni
    browser, ogni sistema operativo, ogni cosa
  • 8:51 - 8:57
    che si connette tramite TLS ha qualcosa
    chiamato trust store, dove memorizza le
  • 8:57 - 9:02
    entità che hanno il diritto di emettere
    certificati. E il problema è che queste CA
  • 9:02 - 9:07
    non vengono rigorosamente controllate. Hanno
    i loro requisiti che devono soddisfare.
  • 9:07 - 9:13
    Devono dimostrare di avere una sorta di
    sicurezza. Ma in seguito, una volta
  • 9:13 - 9:18
    certificati e una volta nei trust store, non
    c'è un forte incentivo a controllarli,
  • 9:18 - 9:23
    perché sono già nei trust store e hanno
    avuto i loro
  • 9:23 - 9:31
    controlli e così via.
    Questo può portare a molti problemi.
  • 9:31 - 9:39
    Un'altra CA,Trustwave, nel 2011, ha emesso certificati
    sub-CA. Chiunque abbia un sub-CA
  • 9:39 - 9:46
    può emettere un certificato TLS per
    qualsiasi dominio. Lo hanno usato per il
    traffico
  • 9:46 - 9:50
    d'introspezione. Quindi vendevano, non so, a
    un'azienda, che stava
  • 9:50 - 9:56
    costruendo apparecchi che possono
    aprire le connessioni di rete per le banche,
  • 9:56 - 10:05
    aziende o interi ISP. Possono guardare
    nel traffico dei suoi utenti. Inoltre,
  • 10:05 - 10:12
    c'era Lenovo SuperFish, idea meravigliosa.
    SuperFish era un CA locale
  • 10:12 - 10:17
    man-in-the-middle, e l'obiettivo del
    SuperFish CA era quello di aprire il traffico
  • 10:17 - 10:21
    HTTPS, in modo che potessero inserire
    annunci.
  • 10:21 - 10:22
    risate
  • 10:22 - 10:27
    Anche se stai usando gmail e hai questa
    bella interfaccia elegante senza
  • 10:27 - 10:34
    annunci evidenti, SuperFish avrebbe
    aperto questa connessione, sarebbe stata
  • 10:34 - 10:44
    affidata dal browser e avrebbe avuto
    enormi annunci sovrapposti. Lenovo ha smesso
  • 10:44 - 10:52
    di collaborare con SuperFish. Questo era
    preinstallato sui notebook Lenovo.
  • 10:52 - 10:58
    Avevano un CA locale installato sul
    sistema in modo da poter ispezionare il
  • 10:58 - 11:03
    traffico e mostrare annunci agli utenti.
    Ciò che è ancora più interessante è che
  • 11:03 - 11:13
    tutti questi CA avevano la stessa chiave e
    la chiave privata era nella RAM. Quindi chiunque poteva
  • 11:13 - 11:20
    estrarre la chiave privata del CA,
    usarla per firmare certificati per qualsiasi cosa e avere un
    ulteriore livello di iniezione HTTPS, dove
  • 11:20 - 11:27
    non solo potevi mostrare annunci, ma anche
    leggere le e-mail o fare quello che vuoi.
    Molto male.
  • 11:27 - 11:35
    Non lo stanno più facendo presumibilmente.
    Poi c'era, in Cina, il CNNIC, che ha emesso
    un sub-CA per
  • 11:35 - 11:39
    un'azienda di introspezione. Di nuovo
    l'azienda voleva vendere apparecchi dove
  • 11:39 - 11:46
    potevano aprire le connessioni HTTPS e
    guardare nel traffico degli utenti. E c'è
  • 11:46 - 11:51
    stato un altro incidente proprio quest'anno:
    Symantec stava emettendo certificati di
    "test"
  • 11:51 - 11:57
    a un'azienda o altro, tra cui
    google.com, opera.com, cose che
  • 11:57 - 12:04
    probabilmente non vorresti testare, e sono
    stati scoperti. E la cosa bella di questo
  • 12:04 - 12:09
    incidente è: avevano già installato la
    Trasparenza dei Certificati. E torneremo
  • 12:09 - 12:15
    su questo incidente tra un minuto.
    L'introspezione del traffico è una cosa
  • 12:15 - 12:22
    valida. Se hai una flotta di aerei e sono
    collegati tramite costose connessioni
  • 12:22 - 12:27
    satellitari e paghi davvero molto per la
    larghezza di banda, vorresti bloccare, ad
  • 12:27 - 12:33
    esempio, Netflix, o qualsiasi cosa che
    causi molto traffico. Uno degli approcci
  • 12:33 - 12:40
    che è stato adottato da Gogo, avevano
    dispositivi di introspezione del traffico
    nei loro aerei
  • 12:40 - 12:49
    e hanno emesso certificati non affidabili
    per ispezionare il traffico.
    Male per loro:
  • 12:49 - 12:55
    Adrienne Porter Felt che lavora per Google
    se ne è accorta e Gogo non lo fa più.
  • 12:55 - 13:02
    E anche se l'introspezione del traffico
    sembra una cosa davvero cattiva,
  • 13:02 - 13:08
    posso pensare a casi d'uso in cui
    questo è legittimo. Se gestisci un'azienda,
  • 13:08 - 13:15
    se gestisci una banca e vuoi impedire alle
    persone di divulgare dati, questo può
    andare bene.
  • 13:15 - 13:18
    Ma deve essere trasparente,
    le persone devono sapere che questo sta
    accadendo, che stanno
  • 13:18 - 13:23
    ispezionando tutto. E comunque non impedirà alle
    persone di portare con sé l'unità USB
  • 13:23 - 13:30
    dati. Quindi questo è il quadro generale
    del perché abbiamo bisogno della
  • 13:30 - 13:35
    Trasparenza dei Certificati. Vorremmo vedere
    quali certificati sono stati emessi da un
  • 13:35 - 13:43
    CA specifico. Alcuni problemi minori, non
    proprio minori, che entrano in gioco sono
  • 13:43 - 13:49
    che TLS ha i suoi problemi, indipendentemente
    dal fatto che questi certificati siano
  • 13:49 - 13:55
    emessi o meno. Uno di questi è che la
    revoca dei certificati è complicata. Non
  • 13:55 - 14:01
    è facile come dire "questo certificato non
    è più valido".
  • 14:01 - 14:08
    Una volta emesso un certificato, è valido
    fino alla data indicata nel certificato,
  • 14:08 - 14:12
    che può essere di tre anni. Succede che, se
    il primo giorno di utilizzo di questo
  • 14:12 - 14:18
    certificato, le persone notano, "uh,
    dovremmo revocarlo", i client che non
  • 14:18 - 14:28
    ricevono questo aggiornamento potranno
    utilizzare questo certificato per due o più
  • 14:28 - 14:35
    anni. Inoltre, un'altra limitazione è che
    tutti i CA possono emettere certificati per
  • 14:35 - 14:42
    tutti i siti web. Ognuno di quei 1.800 CA e
    sub-CA che erano nei trust store nel 2013
  • 14:42 - 14:47
    possono tutti emettere un certificato per
    google.com o facebook.com. Questo non è
    impedito da alcun mezzo, se non da strumenti
  • 14:47 - 14:55
    sociali e contratti, che stabiliscono che devono verificare la
    legittimità della richiesta. Questo era
  • 14:55 - 15:03
    publicato in un paper del 2013. Esistono
    più di 1.800 CA in grado di firmare
  • 15:03 - 15:10
    certificati per qualsiasi dominio su dispositivi utente
    normali. Un altro documento nel 2014 ha scoperto
  • 15:10 - 15:16
    che un terzo di loro, un terzo di
    quelle 1.800 autorità di certificazione,
  • 15:16 - 15:21
    non hanno mai emesso un singolo certificato HTTPS.
    Questo ti fa chiedere: perché sono allora
  • 15:21 - 15:27
    nei trust store e così via. Puoi
    affermare che una certa percentuale di loro
  • 15:27 - 15:34
    vengono utilizzati per l'emissione di certificati privati
    all'interno delle reti. Tuttavia, un terzo di loro
  • 15:34 - 15:44
    non ha mai emesso un certificato HTTPS pubblicamente ottenibile.
    Poi, naturalmente, ci sono i
  • 15:44 - 15:49
    problemi di implementazione. TLS ha una lunga
    storia di difetti di implementazione. Non solo
  • 15:49 - 15:54
    crittografici, ci sono logjam, freak,
    poodle, qualunque cosa. Sono un
  • 15:54 - 16:02
    problema completamente separato. Ma l'implementazione
    i problemi stanno turbando la sicurezza dei dispositivi
  • 16:02 - 16:07
    a un ritmo costante. Un esempio famoso è:
    "goto fail;" da iOS, dove avevano un
  • 16:07 - 16:13
    parentesi mancante "goto fail" aggiuntiva e
    la validità del certificato non è stata controllata.
  • 16:13 - 16:20
    Inoltre, abbiamo molti dispositivi embedded.
    Una volta accesi, vengono utilizzati per
  • 16:20 - 16:25
    generare la loro chiave privata e non hanno
    accesso a una buona entropia. L'entropia su
  • 16:25 - 16:33
    i dispositivi embedded sono sorprendentemente difficili. Quindi
    molti di loro generano le stesse chiavi. E
  • 16:33 - 16:37
    come già detto, abbiamo diversi
    trust store per browser, per sistema operativo.
  • 16:37 - 16:42
    Ognuno ha una base di fiducia diversa.
    Anche, ovviamente, ogni CA cerca di
  • 16:42 - 16:47
    accedere a tutti i trust store,
    essere spediti con gli aggiornamenti di sistema per essere
  • 16:47 - 16:55
    affidabili, e abbiamo una diversità che non è
    naturale. Potrebbe essere molto più facile se
  • 16:55 - 17:01
    le persone avessero la stessa base di fiducia su
    tutti i loro dispositivi. E ci sono molti
  • 17:01 - 17:08
    problemi di implementazione. SSLv2: tutti pensano
    che sia morto, ma a quanto pare non lo è.
  • 17:08 - 17:12
    Sebastian Schinzel farà una splendida
    presentazione tra due ore sull'DROWN attack.
  • 17:12 - 17:19
    L'attacco DROWN utilizza SSLv2
    debolezze nel trasporto e-mail. Semplicemente
  • 17:19 - 17:27
    perché è attivato e utilizza il
    stessa chiave, puoi attaccare la
    crittografia TLS 1.2 di prim'ordine
  • 17:27 - 17:33
    perché questo è ancora qui.
    C'è l'intero shmafoo dei certificati SHA1.
  • 17:33 - 17:38
    Le autorità di certificazione non
    dovrebbero più emettere certificati SHA1.
  • 17:38 - 17:42
    Alcuni lo fanno, alcuni vengono
    catturati, perché hanno retrodatato i loro
  • 17:42 - 17:47
    certificati e così via. È un casino.
    Poi ci sono le cypher suite. Ce ne sono più di
  • 17:47 - 17:55
    500 cypher suite disponibili per il
    diverse versioni di TLS. Ogni amministratore
  • 17:55 - 18:00
    vorrebbe essere il più sicuro possibile
    ma quale dovrebbe scegliere. Non appena
  • 18:00 - 18:05
    ci sono soldi in gioco, come Amazon, devono
    essere compatibili con Internet
  • 18:05 - 18:16
    Explorer 6 e così via. È davvero un
    casino. E, naturalmente, email STARTTLS: Email
  • 18:16 - 18:22
    non ha mai avuto il design per incorporare
    sicurezza e autenticazione, quindi come sempre,
  • 18:22 - 18:28
    l'hanno appena aggiunto sopra, e questo è
    STARTTLS. Il problema con STARTTLS è che
  • 18:28 - 18:33
    può essere soppresso e le persone
    torneranno al testo in chiaro se non riescono a raggiungere il
  • 18:33 - 18:40
    servizio con STARTTLS. Perfect forward
    segretezza e così via, l'implementazione è un'altra
  • 18:40 - 18:47
    argomento che può essere un discorso. E lì
    c'è questo sviluppo problematico che il
  • 18:47 - 18:52
    CA, vengono acquistati e venduti
    costantemente. Proprio quest'anno, Symantec
  • 18:52 - 19:00
    ha acquistato la società BlueCoat. Symantec è
    una delle CA più grandi. Gestiscono l'intero
  • 19:00 - 19:07
    - non l'intero, ma gestiscono gran parte
    delle certificazioni osservabili.
  • 19:07 - 19:13
    BlueCoat è diventato popolare nella primavera araba,
    perché hanno trovato proxy BlueCoat che
  • 19:13 - 19:19
    sono in grado di utilizzare attacchi man-in-the-middle
    per condurre l'introspezione del traffico,
  • 19:19 - 19:23
    sono stati utilizzati presso un ISP, penso in Siria
    o Egitto. Li hanno trovati e hanno
  • 19:23 - 19:29
    sono stati implementati a livello nazionale. Quindi, se ci pensi
    che Symantec, una delle più grandi
  • 19:29 - 19:35
    CA, sta acquistando BlueCoat, una delle più grandi
    aziende di introspezione del traffico, le cose
  • 19:35 - 19:39
    possono sembrare davvero sospette o spaventose.
  • 19:40 - 19:44
    Certo, hanno promesso che
    non avrebbero mai usato Symantec
  • 19:44 - 19:47
    risate
  • 19:47 - 19:53
    Questo è lo stato in cui ci troviamo. Va bene,
    ma non lo è. Ma le persone pensano ancora
  • 19:53 - 20:00
    che HTTPS sia sicuro. E in realtà
    ci è voluto un decennio per insegnare alle persone che
  • 20:00 - 20:05
    devono cercare l'icona del lucchetto. Ma se
    non capiscono - in realtà non sanno
  • 20:05 - 20:12
    come appare l'icona del lucchetto. Ma
    l'intera icona del lucchetto è una farsa se si scava
  • 20:12 - 20:21
    nei dettagli. Siamo tutti seduti in una
    stanza piena di fiamme, per così dire. Quindi,
  • 20:21 - 20:27
    è qui che entra in gioco la trasparenza dei certificati.
    La trasparenza dei certificati ha
  • 20:27 - 20:38
    l'obiettivo di identificare le autorità di certificazione fraudolente.
    In un mondo perfetto, qualsiasi
  • 20:38 - 20:43
    autorità di certificazione pubblicherebbe tutti
    i suoi log, pubblicherebbe tutti i
  • 20:43 - 20:49
    certificati che emette. Quindi, non appena ottengo
    un certificato per schmiedecker.net,
  • 20:49 - 20:54
    l'autorità di certificazione - questo fa parte
    della chiave pubblica/privata, può essere
  • 20:54 - 21:00
    pubblica - quindi non sarebbe bello se la CA
    pubblicasse che ha appena emesso un
  • 21:00 - 21:06
    certificato per schmiedecker.net?
    Fondamentalmente: sì. Naturalmente, la certificazione
  • 21:06 - 21:11
    le autorità non vogliono che ciò accada, in
    particolare se vendono a stati strani o
  • 21:11 - 21:18
    aziende strane che guadagnano
    i loro soldi con l'introspezione del traffico e
  • 21:18 - 21:24
    così via. Quindi il mondo perfetto sarebbe
    la chiave pubblica di ogni certificato sarebbe
  • 21:24 - 21:28
    pubblicata. L'autorità di certificazione
    potrebbe dire "Ehi, ho appena emesso questo
  • 21:28 - 21:31
    certificato" e tutti potrebbero vederlo,
    potrebbero verificarlo
  • 21:31 - 21:35
    e sarebbe, beh, un mondo migliore.
  • 21:38 - 21:43
    Questo aiuterebbe a rilevare
    i problemi molto presto. Quindi, se un piccolo olandese
  • 21:43 - 21:47
    l'autorità di certificazione emettesse un
    certificato per google.com o
  • 21:47 - 21:52
    torproject.com, questo sarebbe evidente.
    Voglio dire, questa è una piccola CA, sarebbero
  • 21:52 - 21:57
    davvero - dovrebbero essere davvero sorpresi
    se google.com decidesse di emettere un
  • 21:57 - 22:05
    certificato per il loro servizio. Questo
    ridurrebbe la finestra di opportunità per un
  • 22:05 - 22:13
    attaccante. Inoltre, l'idea è di avere una
    forma di punizione per le CA che si comportano male. Quindi
  • 22:13 - 22:18
    al momento, in questo momento, se a
    l'autorità di certificazione fa casino, e
  • 22:18 - 22:24
    Google è interessato, impongono che debbano
    avere passaggi aggiuntivi per essere
  • 22:24 - 22:33
    reintrodotti nei trust store. Questo
    è quello che ha fatto Google. Hanno fatto il Power
  • 22:33 - 22:42
    Ranger muove, e hanno deciso che vogliono
    rendere Internet più sicuro. Perché Google?
  • 22:42 - 22:47
    Beh, Google è posizionata in modo univoco in un
    modo che controllano i client con
  • 22:47 - 22:54
    i loro browser con il sistema Android,
    e controllano anche una vasta porzione di
  • 22:54 - 22:58
    i server. Tutti usano Google, tranne
    per quelli che usano Bing.
  • 22:58 - 23:01
    risate
  • 23:01 - 23:08
    Stavo scherzando. Quello che ha fatto Google è, una volta che
    l'hack di DigiNotar è diventato pubblico, hanno bloccato
  • 23:08 - 23:14
    i loro certificati. Poiché Chrome ha un
    ciclo di aggiornamento decente, possono spedire il
  • 23:14 - 23:19
    certificati che si aspettano di vedere con
    un aggiornamento del browser. Quindi, non appena
  • 23:19 - 23:28
    il browser si aggiorna in background, può
    applicare il certificato specifico che esso
  • 23:28 - 23:35
    si aspetta di vedere per google.com,
    youtube.com e qualsiasi altra cosa. Inoltre, ha un
  • 23:35 - 23:40
    quota di mercato davvero enorme. 50% e più,
    a seconda di come si conta. Chrome e
  • 23:40 - 23:46
    Chromium sono piuttosto popolari. E, infine,
    sono un obiettivo comune. Quindi, se alcuni
  • 23:46 - 23:54
    il dittatore decide di ispezionare il client
    e-mail, e-mail utente, di solito prendono di mira
  • 23:54 - 24:00
    gmail.com, perché hanno una discreta
    sicurezza, non hanno altri
  • 24:00 - 24:10
    vulnerabilità o backdoor per consentire
    l'accesso ai loro contenuti. Il che rende
  • 24:10 - 24:16
    l'attacco a Gmail un attacco molto drastico.
    Con le modifiche che Google ha introdotto
  • 24:16 - 24:21
    in Chrome con il blocco dei certificati,
    ora possono rilevare questi attacchi.
  • 24:21 - 24:30
    Ma questo era già nel 2011. Da allora, per esempio, il
    Tweet di Porter Felt che ti ho mostrato, se Chrome andasse su un
  • 24:30 - 24:38
    sito web google.com o youtube.com, e
    avesse un certificato fraudolento, avvertirebbe l'utente
  • 24:38 - 24:44
    E quello che Google ha fatto allora
    è stato proporre uno standard, per fare un
  • 24:44 - 24:53
    RFC, come pubblicare in modo trasparente i log
    per i certificati che sono stati emessi.
  • 24:53 - 25:01
    L'idea dell'RFC è che ogni
    certificato emesso è pubblico. Questo è
  • 25:01 - 25:11
    implementato in un log pubblico, solo aggiuntivo.
    Quindi hanno un log, hanno API aperte,
  • 25:11 - 25:17
    e accettano ogni certificato. Poi,
    crittograficamente assicurato, il client come
  • 25:17 - 25:22
    il browser può verificare che questo sia un
    certificato registrato pubblicamente. E il
  • 25:22 - 25:28
    l'intero sistema è aperto a tutti. Quindi puoi
  • 25:28 - 25:30
    andare sul sito, puoi ottenere
    il codice sorgente,
  • 25:30 - 25:36
    puoi eseguire il tuo log per RFC 6962.
  • 25:36 - 25:41
    E tutti sono felici.
  • 25:41 - 25:46
    Gli obiettivi erano rilevare i CA che si
    comportano male. Come ho detto,
  • 25:46 - 25:52
    hanno i loro audit, hanno le loro
    regolamentazioni di conformità, e così via, ma
  • 25:52 - 25:55
    non a livello di certificato. Con la
    trasparenza dei certificati, diventano
  • 25:55 - 26:01
    udibili dal pubblico, dai browser.
    Tutti possono interrogare i log e vedere
  • 26:01 - 26:05
    se questa particolare autorità di
    certificazione ha emesso un
  • 26:05 - 26:07
    certificato per google.com.
  • 26:10 - 26:15
    Va bene! Dopo aver letto l'RFC,
    ci sono tre entità
  • 26:15 - 26:20
    che fanno parte della certificazione
    trasparenza. Ci sono, per uno,
  • 26:20 - 26:28
    i log, che sono come giganteschi aspirapolvere.
    Ingeriscono tutti i certificati
  • 26:28 - 26:34
    che vengono loro inviati, e poi
    li firmano crittograficamente ed emettono la
  • 26:34 - 26:41
    garanzia che questo specifico certificato
    è stato registrato. E questo è stato emesso
  • 26:41 - 26:46
    e non è stato manomesso, e così
    via. Poi ci sono i monitor. Essi
  • 26:46 - 26:50
    identificano i certificati sospetti. Di solito,
    queste sono le autorità di certificazione
  • 26:50 - 26:56
    stesse che eseguono quei monitor. E
    poi ci sono gli auditor. Gli auditor
  • 26:56 - 27:03
    di solito sono implementati nel browser.
    E verificano che i certificati emessi
  • 27:03 - 27:10
    siano effettivamente registrati. Guardando
    loro in dettaglio: il ruolo del monitor
  • 27:10 - 27:14
    e l'auditor è in qualche modo
    intercambiabile, quindi un monitor può essere un
  • 27:14 - 27:21
    auditor, avanti e indietro. Quello che fa il monitor,
    preleva tutti i certificati.
  • 27:21 - 27:28
    Quindi hai questo gigantesco pool di certificati.
    Sono crittograficamente assicurati che
  • 27:28 - 27:33
    vedremo presto. E il monitor li preleva tutti.
    E hanno una qualche forma di
  • 27:33 - 27:40
    controllo semantico. Possono vedere, c'è
    stato un certificato per il mio dominio,
  • 27:40 - 27:47
    è stato creato un sub-CA, che
    è in grado di emettere certificati per il traffico
  • 27:47 - 27:54
    introspezione, e così via. Inoltre, cosa
    possono fare, con questi dati, possono
  • 27:54 - 28:00
    identificare gli operatori di log che si comportano male.
    Ho detto, i log, sono solo giganteschi
  • 28:00 - 28:05
    aspirapolveri, che raccolgono tutti i
    certificati, e hanno bisogno anche di audit,
  • 28:05 - 28:09
    ovviamente. Hanno bisogno - hanno una
    posizione di potere, perché sono
  • 28:09 - 28:18
    gestendo questo enorme pool di certificati.
    E bisogna sfidare il log per
  • 28:18 - 28:24
    identificare il comportamento scorretto. Questo può essere fatto da
    i monitor, possono anche essere fatti da
  • 28:24 - 28:32
    gli auditor. Ogni client - in questo momento, è
    implementato in Chrome. Chrome controlla per
  • 28:32 - 28:43
    questi certificati di trasparenza
    blob firmati crittograficamente. E il
  • 28:43 - 28:47
    browser e tutto, possono verificare
    anche l'integrità del log. Quindi nel
  • 28:47 - 28:57
    backend, il log, crea un albero hash.
    Questo albero hash è firmato. Ci arriveremo
  • 28:57 - 29:06
    in un secondo. Mi sono perso qui. Quindi entrambi
    monitor e auditor, interrogano che il
  • 29:06 - 29:11
    l'entità del log funziona correttamente.
    Non sarebbe una buona cosa se la Cina potesse andare
  • 29:11 - 29:17
    a Google e dire loro "Ehi, vorremmo
    far rimuovere questo certificato". Google
  • 29:17 - 29:23
    potrebbe quindi conformarsi o non conformarsi ma
    se rimuovono il certificato questo
  • 29:23 - 29:28
    sarebbe verificabile e questo sarebbe
    osservabile al pubblico. Quindi la cosa buona
  • 29:28 - 29:34
    è che chiunque esegua qualsiasi software, chiunque
    di voi in questa stanza può eseguire un'entità di log.
  • 29:34 - 29:38
    Hai bisogno di una sorta di accesso ad alcuni
    certificati, quindi se sei un
  • 29:38 - 29:45
    autorità di certificazione, puoi semplicemente eseguire
    un log pubblico, e tutti possono spingere il loro
  • 29:45 - 29:54
    certificati al tuo servizio. In questo momento,
    questo non è il caso. Di solito, i CA eseguono
  • 29:54 - 30:00
    i monitor e gestiscono i log, ma
    questo non è per progettazione, chiunque può eseguire
  • 30:00 - 30:06
    qualsiasi cosa. Uno dei problemi è
    disponibilità. Quindi anche se posso impostare
  • 30:06 - 30:15
    un log per i certificati, ho il problema
    che il mio log deve essere online 24/7. Il mio
  • 30:15 - 30:23
    L'ISP non è contento se gli chiedo di garantire
    questo per me, se non pago molto di più
  • 30:23 - 30:31
    Quindi, come funziona? Attualmente, se
    si ottiene un certificato, si va al
  • 30:31 - 30:36
    autorità di certificazione, dici, "ehi,
    Sono questo meraviglioso dominio, per favore potrei
  • 30:36 - 30:43
    prendi un certificato?" E poi ottieni il
    certificato. Cosa succede in più
  • 30:43 - 30:50
    con la trasparenza della certificazione è che la
    CA, quando emette il certificato - può
  • 30:50 - 30:56
    essere qualsiasi CA, può essere Let's Encrypt, può
    essere Thawte, Symantec, come vuoi -
  • 30:56 - 31:02
    quello che fanno è inviare il certificato
    una volta emesso, inviano il
  • 31:02 - 31:14
    certificato a uno dei log. Il log
    poi firma la ricezione positiva del
  • 31:14 - 31:18
    certificato e invia immediatamente
    qualcosa indietro. Questo blob si chiama
  • 31:18 - 31:24
    SCT, il timestamp del certificato firmato, e
    questo può poi essere incluso nel
  • 31:24 - 31:33
    certificato o con altri metodi. Punto chiave
    qui è che una volta che il server installa il
  • 31:33 - 31:43
    certificato, installa anche questo SCT, in modo
    che i browser possano vederlo e analizzarlo.
  • 31:43 - 31:50
    Alcune persone potrei averle perse qui.
    Tuttavia, tutto è più facile in
  • 31:50 - 31:54
    immagini. In questo momento, attualmente - e queste
    sono le immagini dal sito web di certificazione
  • 31:54 - 31:59
    trasparenza, grazie per averle fatte - le mie
    abilità con le immagini non sono davvero così
  • 31:59 - 32:04
    buone, quindi non sarei mai stato in grado di
    fare grafici così belli. Quindi attualmente,
  • 32:04 - 32:10
    c'è l'autorità di certificazione. Essa
    rilascia un certificato e il sito web poi
  • 32:10 - 32:17
    lo installa nella directory corretta. I
    client lo controllano e la crittografia può
  • 32:17 - 32:23
    accadere. Il passo aggiuntivo, e questa è
    la cosa bella, può accadere senza alcun
  • 32:23 - 32:29
    passo aggiuntivo sul lato server e
    sul lato client, è solo che il
  • 32:29 - 32:34
    l'autorità di certificazione deve fare un
    passo aggiuntivo. Quindi invece di solo
  • 32:34 - 32:40
    rilasciare il certificato, inviano il
    certificato ai log, il log
  • 32:40 - 32:46
    invia immediatamente indietro il cosiddetto SCT,
    il timestamp del certificato firmato, e questo
  • 32:46 - 32:52
    viene poi incluso nel certificato, che
    viene spedito al client. E poi il
  • 32:52 - 32:58
    client, se lo supporta, può chiedere al
    server se questo particolare
  • 32:58 - 33:06
    certificato è incluso o meno. Le cose
    che tornano dal log sono
  • 33:06 - 33:11
    firmate, hanno un ID e hanno un
    timestamp. Queste sono le cose importanti.
  • 33:11 - 33:18
    Devono essere inclusi in quegli SCT.
    Inoltre, ciò che sarà interessante in
  • 33:18 - 33:27
    futuro, è che il certificato può avere
    più voci di log. Quindi l'SCT è come una
  • 33:27 - 33:36
    promessa. L'operatore del log promette di
    includere questo certificato nei suoi log. E
  • 33:36 - 33:40
    tutti possono controllare in seguito se
    questo log ha davvero registrato pubblicamente, o se
  • 33:40 - 33:45
    l'autorità ha omesso di registrarlo. In
    futuro sarà il caso che molti
  • 33:45 - 33:53
    SCT possono essere all'interno di un certificato. Se sono un
    autorità di certificazione posso andare a qualsiasi
  • 33:53 - 34:00
    operatore di log, inviare loro ogni certificato
    che ho e poi includere molti, molti SCT.
  • 34:00 - 34:04
    E l'SCT non è privato. Questo è solo
    un ID, è un timestamp ed è una
  • 34:04 - 34:13
    firma. Questo è probabilmente troppo.
    Ci sono diversi modi per il client di
  • 34:13 - 34:21
    verificare che questo certificato abbia un SCT.
    Quindi uno dei metodi, ad esempio, è l'OCSP
  • 34:21 - 34:26
    stapling. In questo momento, se hai un
    certificato, invece di andare alla CA,
  • 34:26 - 34:34
    il server può applicare la richiesta OCSP
    firmata dalla CA. E all'interno di questo OCSP
  • 34:34 - 34:44
    stapling può anche essere incluso l'SCT.
    Come funziona sul lato log?
  • 34:44 - 34:48
    Tutto ciò che c'è è un albero hash di Merkle.
    Un albero hash di Merkle è un
  • 34:48 - 34:53
    meravigliosa struttura dati. Non è niente
    di nuovo, non è niente di speciale e non è la
  • 34:53 - 34:54
    blockchain.
  • 34:54 - 34:56
    risate
  • 34:56 - 35:05
    L'albero hash di Merkle, sembra, è un
    albero binario. Ogni nodo ha due figli,
  • 35:05 - 35:11
    e il valore hash di un nodo interno
    dipende dai due figli. Quindi di solito
  • 35:11 - 35:15
    è la concatenazione dei valori di
    i due figli. Viene nuovamente sottoposto a hash, fino a
  • 35:15 - 35:20
    la radice. Lo rende molto efficiente in termini di spazio
    perché se voglio verificare l'integrità
  • 35:20 - 35:28
    di un intero albero, tutto ciò che devo controllare è
    il valore hash della radice. Poi, ovviamente
  • 35:28 - 35:36
    ,posso ottenere tutti gli hash rilevanti
    valori, e poi posso ricostruirlo. CT
  • 35:36 - 35:45
    usa l'albero di Merkle SHA256 e, come ho detto,
    tutto ciò che si trova sotto un certo nodo è
  • 35:45 - 35:52
    responsabile del valore hash. Quindi se tu
    rimuovi un nodo, se aggiungi un nodo o se
  • 35:52 - 36:02
    sposti un nodo, i valori hash di
    tutti i nodi superiori vengono modificati. Ognuno di
  • 36:02 - 36:07
    gli operatori di log, oltre alla
    promessa di includere ogni
  • 36:07 - 36:12
    certificato che ricevono, fanno anche
    una promessa sul massimo ritardo di
  • 36:12 - 36:19
    fusione. L'SCT, la promessa di includere
    questa catena di certificati nel log,
  • 36:19 - 36:26
    può terminare immediatamente perché è una
    promessa di includerla nel log. E il
  • 36:26 - 36:32
    massimo ritardo di fusione è il tempo in
    cui l'operatore di log promette di
  • 36:32 - 36:41
    includerlo nel grande, grande albero di
    hash di Merkle. La cosa buona dell'albero
  • 36:41 - 36:46
    è che, nonostante siamolto efficiente in
    termini di spazio, calcolo, non ci sia molto
    sovraccarico di dati e così via,
  • 36:46 - 36:51
    non è possibile retrodatare gli elementi. Questo
    era interessante per una delle autorità di
  • 36:51 - 36:55
    certificazione che ha emesso certificati
    firmati SHA1,
  • 36:55 - 37:00
    anche se i browser e tutti hanno concordato
    che questo non dovrebbe più accadere.
  • 37:00 - 37:05
    Quindi non è nemmeno possibile rimuovere
    elementi che sono stati inseriti. Quindi
  • 37:05 - 37:10
    se Symantec decidesse di rimuovere il
    certificato google.com, che era un "test",
  • 37:10 - 37:14
    questo sarebbe notabile, perché se si
    rimuove una delle foglie, i valori di hash
  • 37:14 - 37:21
    fino alla radice, cambiano tutti. E non è
    nemmeno possibile aggiungere elementi. Se
  • 37:21 - 37:27
    si volesse aggiungere un elemento in modo
    impercettibile, non è possibile farlo,
  • 37:27 - 37:34
    perché i valori di hash di tutti i nodi
    superiori cambierebbero. Quindi come
  • 37:34 - 37:40
    funzionano i log? Quello che di solito
    fanno è che ogni ora ricevono i certificati
  • 37:40 - 37:48
    e ogni ora li includono nel loro albero di
    hash di Merkle.
  • 37:48 - 37:52
    Probabilmente già troppi dettagli.
    Costruiscono un albero separato e poi lo
  • 37:52 - 38:01
    includono e ricalcolano il valore di hash
    della radice, che viene poi firmato e
  • 38:01 - 38:08
    spedito. E la cosa bella dell'albero di
    Merkle è che ci sono diversi modi per
  • 38:08 - 38:18
    dimostrare le cose. Una delle cose che si
    possono dimostrare è se questo operatore di
  • 38:18 - 38:22
    log è onesto. Se un operatore di log
    rimuove uno dei certificati, questo diventa
  • 38:22 - 38:32
    visibile cambiando tutti i nodi rilevanti.
    Inoltre, è molto efficiente. Anche una
  • 38:32 - 38:39
    figura dal sito web del progetto. Sul lato
    sinistro, c'è un albero di Merkle con
  • 38:39 - 38:47
    alcuni certificati aggiunti, certificati
    aggiunti. E se un monitor o un revisore
  • 38:47 - 38:54
    decide di sfidare l'operatore di log, in
    un secondo momento, se questi certificati
  • 38:54 - 39:01
    D6 e D7 sono stati aggiunti correttamente,
    tutto ciò che l'operatore di log deve
  • 39:01 - 39:07
    inviare sono quei nodi evidenziati. Questa
    è la radice, questa è la cosa che viene
  • 39:07 - 39:13
    firmata, ad esempio, ogni ora. Questo è
    pubblico. I certificati sono pubblici
  • 39:13 - 39:21
    perché, sono certificati. Se ora qualcuno
    vuole verificare che non solo questi siano
  • 39:21 - 39:26
    stati inclusi, questo è molto facile,
    perché basta calcolare fino in cima,
  • 39:26 - 39:30
    ma anche verificare che tutti gli altri
    certificati siano ancora lì, quindi nessuno
  • 39:30 - 39:37
    dei vecchi certificati è stato rimosso,
    devono essere trasmessi solo tre valori di
  • 39:37 - 39:42
    hash. E poi lo sfidante può ricalcolare
    tutto. Quindi, non appena lo sfidante
  • 39:42 - 39:47
    conosce quei valori di hash, può
    concatenare tutto di nuovo insieme e alla
  • 39:47 - 39:57
    fine, dovrebbe avere lo stesso valore di
    hash della radice. Un'altra prova che è
  • 39:57 - 40:03
    possibile è se un certificato specifico è
    ancora nel log. Quindi non è solo
  • 40:03 - 40:07
    possibile sfidare la coerenza dell'intero
    log per quanto riguarda i vecchi dati, ma
  • 40:07 - 40:14
    anche verificare che un certificato
    specifico sia ancora nei log, o sia stato
  • 40:14 - 40:21
    inserito nei log. Ricorda, l'SCT, la cosa
    che è terminata immediatamente, è solo una
  • 40:21 - 40:27
    promessa di includerla nei log e, in un
    secondo momento, chiunque, qualsiasi revisore
  • 40:27 - 40:36
    può sfidare l'operatore di log se il
    certificato è davvero nel log. Quindi,
  • 40:36 - 40:46
    di nuovo, se voglio verificare che un
    certificato specifico sia nel log, ho il
  • 40:46 - 40:51
    certificato che vorrei sfidare, quindi ho
    solo bisogno, in questo esempio, di quei
  • 40:51 - 40:57
    tre nodi e tutto il resto, il nodo j può
    essere calcolato perché ho il certificato.
  • 40:57 - 41:02
    Quindi ho l'hash del certificato. Ho bisogno
    di questo hash, quindi posso calcolare
  • 41:02 - 41:12
    questo valore e così via, fino a quando
    non sono alla radice. Questo è quanto basta
  • 41:12 - 41:17
    per la parte tecnica. Gli alberi di hash di Merkle sono
    scomparsi. Uno dei problemi di questi log
  • 41:17 - 41:23
    è che sono in continua crescita. Potresti aver
    notato che non abbiamo parlato di
  • 41:23 - 41:32
    cancellare i certificati, per validi motivi,
    sono in continua crescita. Ovviamente, niente
  • 41:32 - 41:39
    è per sempre, quindi quello che fanno gli operatori di log è
    che ruotano i log. Quindi a un
  • 41:39 - 41:46
    spunto specifico nel tempo, il log viene
    congelato, l'albero è quindi statico, e c'è
  • 41:46 - 41:52
    un'altra entità di log, che viene
    messa online e utilizzata per includere i nuovi
  • 41:52 - 41:58
    certificati. Molto recentemente, aviator di
    Google è stato congelato.
  • 41:58 - 42:01
    Contiene 46 milioni di certificati.
  • 42:01 - 42:09
    Piccolo inconveniente del congelamento di un
    log: finché un certificato in questo
  • 42:09 - 42:16
    log, in questo albero è ancora valido, questo
    log deve essere raggiungibile. Non appena tutti
  • 42:16 - 42:23
    i certificati sono scaduti, può
    essere scaricato. Ma fino ad allora deve essere
  • 42:23 - 42:26
    disponibile per le prove.
  • 42:28 - 42:35
    Uno dei problemi è che in questo momento
    ci sono solo pochi operatori di log.
  • 42:35 - 42:39
    In futuro, ce ne dovrebbero
    essere molti di più. Non centinaia di migliaia di
  • 42:39 - 42:47
    loro, ma forse centinaia di loro. E loro
    hanno bisogno di scambiare informazioni. Una forma di
  • 42:47 - 42:53
    chiacchiericcio di log dovrebbe apparire. Il log
    gli operatori chiacchierano con i clienti per
  • 42:53 - 43:01
    verificare che tutti vedano lo stesso stato di
    alberi di Merkle. E questo è stato
  • 43:01 - 43:09
    pubblicato in un articolo l'anno scorso. In questo momento,
    l'idea non è ancora a un livello in cui
  • 43:09 - 43:14
    hanno bisogno di chiacchierare, cosa che vedremo presto.
    Questo accade quando crei meme sul
  • 43:14 - 43:20
    treno. Di solito, sono meme molto brutti.
    Questo è apparentemente Gossip Girl, non l'ho mai
  • 43:20 - 43:25
    visto, ma se cerchi gossip e
    meme, ta-da!
  • 43:25 - 43:27
    risate
  • 43:29 - 43:33
    Chi gestisce ora i log? Chi sono i
    entità che stanno eseguendo attivamente i log. Di
  • 43:33 - 43:38
    certo, Google gestisce la maggior parte di
    loro. Hanno proposto l'intera cosa, hanno
  • 43:38 - 43:44
    scritto il codice per eseguire queste cose, e
    gestiscono i grandi, aperti a tutti
  • 43:44 - 43:50
    log dei certificati. Tre di loro sono
    attualmente aperti a tutti. Un altro è per
  • 43:50 - 43:55
    Certificati di Let's Encrypt, e un altro
    uno è per certificati non Let's Encrypt.
  • 43:55 - 44:00
    Ovviamente, Let's Encrypt emette molti
    certificati., per fortuna. Quindi loro
  • 44:00 - 44:05
    hanno separato quello, a quanto pare. Se leggi
    la mailing list, promettono che questi
  • 44:05 - 44:12
    i log aperti a tutti gratuiti sono separati
    geograficamente e amministrativamente. Il
  • 44:12 - 44:21
    sono gestiti da entità diverse, ma loro
    hanno tutti lo stesso capo, e sarebbe
  • 44:21 - 44:30
    meglio se ci fossero più log aperti.
    Symantec ne ha uno, Wosign, CNNIC. Ogni volta
  • 44:30 - 44:34
    Google rileva che un fraudolento
    certificato per google.com è stato
  • 44:34 - 44:44
    emesso, quelle autorità di certificazione
    sono obbligate a eseguire CT. Che è una buona
  • 44:44 - 44:50
    cosa, voglio dire, pubblico e tutto.
    Google ha decine di milioni di
  • 44:50 - 44:54
    certificati. Hanno davvero un
    log aperto a tutti, quindi tutti possono spingere
  • 44:54 - 45:01
    certificati lì dentro. DigiCert, Symantec
    è una specie di grande, ma tutti gli altri nodi
  • 45:01 - 45:06
    che sono elencati sul sito web, hanno
    un centinaio di migliaia di certificati, che
  • 45:06 - 45:14
    non è poi molto rispetto a 50 milioni o
    60 milioni. In questo momento, Google già
  • 45:14 - 45:22
    impone la trasparenza dei certificati per
    certificati a convalida estesa, quindi se tu
  • 45:22 - 45:28
    non solo vedi il testo verde nell'angolo in alto a sinistra
    angolo del tuo browser, ma anche qualche
  • 45:28 - 45:36
    nome elegante e grande, grande verde qualunque cosa,
    questo è un certificato EV. E Google impone
  • 45:36 - 45:44
    per i certificati EV di avere due SCT. Firefox è
    in procinto di includerlo, credo.
  • 45:44 - 45:53
    Inoltre, a quanto pare, la trasparenza dei certificati
    funziona. Perché, quando Symantec ha emesso questo
  • 45:53 - 46:00
    certificato per google.com hanno rilasciato un
    rapporto che afferma di aver trovato 23 "test"
  • 46:00 - 46:07
    certificati. Symantec ha detto di aver emesso
    23 certificati di prova. Ma i log sono
  • 46:07 - 46:13
    pubblici, chiunque può interrogarli. E in
    secondi, puoi vedere che Symantec ha emesso
  • 46:13 - 46:21
    altri 164 certificati per altri
    domini, e anche 2.500 certificati per
  • 46:21 - 46:29
    domini non esistenti. Solo per quanto riguarda
    questo problema. Devo fare in fretta, il tempo è
  • 46:29 - 46:35
    sta per scadere. Alcuni degli svantaggi di
    trasparenza dei certificati. Certo:
  • 46:35 - 46:41
    privacy. Le persone possono apprendere i tuoi interni
    host, quindi se hai NAS per esempio, e
  • 46:41 - 46:46
    questo NAS è raggiungibile solo all'interno del tuo
    LAN, e vuoi sbarazzarti del
  • 46:46 - 46:51
    Avviso del browser ogni volta che accedi
    all'interfaccia del tuo NAS, puoi ottenere un
  • 46:51 - 46:57
    certificato Let's Encrypt, ma poiché non solo il
    certificato viene pubblicato, ma anche viene
  • 46:57 - 47:04
    registrato, le persone possono vedere nel file di
    log pubblico che c'è, per il tuo dominio, un
  • 47:04 - 47:10
    NAS. Inoltre, le voci di registro devono contenere
    l'intera catena fino a un certificato root
  • 47:10 - 47:15
    attendibile, che esclude tutto ciò che è
    auto-firmato e tutto ciò che è DANE. DANE serve
  • 47:15 - 47:24
    per verificare i certificati TLS utilizzando
    DNSsec. E poiché questi due non hanno una root
  • 47:24 - 47:30
    attendibile, attualmente non funzionano per la
    trasparenza dei certificati.
  • 47:30 - 47:36
    Ora, ovviamente, vuoi vedere i dati.
    Giocherai con questo.
  • 47:36 - 47:43
    Fondamentalmente, cosa puoi interrogare, tutto è
    JSON. Quindi, se conosci JSON, puoi
  • 47:43 - 47:53
    lavorare con la trasparenza dei certificati.
    L'URL di base è questo. L'URL è qualsiasi log
  • 47:53 - 48:01
    server, risponde con la root corrente e
    la sua firma, usando questo URL. Più
  • 48:01 - 48:05
    interessante, ti dà anche il
    numero di certificati e il timestamp.
  • 48:05 - 48:12
    Poi assomiglia a questo. JSON, quindi hai, questo
    è il log aviator di Google,
  • 48:12 - 48:19
    che ora è congelato. Ha 46 milioni di
    certificati, il valore hash di
  • 48:19 - 48:28
    l'albero di Merkle e la firma. Inoltre, puoi
    sfidare i registri di certificazione con
  • 48:28 - 48:35
    prove di coerenza, dove hai due stati del loro
    albero e il log deve
  • 48:35 - 48:41
    dimostrare che non ha modificato nulla
    tra di loro. E, naturalmente, puoi
  • 48:41 - 48:50
    verificare che un certificato specifico sia
    nell'albero con il secondo URL. E puoi semplicemente
  • 48:50 - 48:55
    inserire i certificati lì con una richiesta
    POST. Quindi lo inserisci, rimandano
  • 48:55 - 49:01
    l'SCT, se sei l'operatore del log, allora
    lo includeresti. Qualsiasi sito Web che
  • 49:01 - 49:11
    al momento non utilizza SCT, tutto ciò che serve
    è una richiesta POST. Niente di più. Alcune schermate
  • 49:11 - 49:19
    dagli interni. Questo è per google.com
    nella visualizzazione degli interni della rete. Cosa
  • 49:19 - 49:28
    puoi vedere è che il timestamp del certificato
    firmato, l'SCT, è ricevuto. È valido. E
  • 49:28 - 49:33
    la conformità è verificata. Quindi questo era per
    google.com. E tutto ha funzionato.
  • 49:33 - 49:40
    Ultimo ma non meno importante, solo per menzionarlo,
    Comodo gestisce un ampio motore di ricerca,
  • 49:40 - 49:50
    crt.sh. Lì puoi interrogare i log pubblici.
    Inoltre, Facebook ha recentemente aggiunto un monitor
  • 49:50 - 49:58
    per i certificati. Quindi, se possiedi un nome di
    dominio e utilizzi un'entità che - no se
  • 49:58 - 50:05
    possiedi un dominio, puoi ottenere aggiornamenti se
    il certificato cambia. Monitorano anche
  • 50:05 - 50:11
    i log pubblici e non appena, ad esempio,
    facebook.com utilizza un nuovo
  • 50:11 - 50:20
    certificato che viene registrato in CT, puoi
    ricevere una notifica per questo. Questo è quello che
  • 50:20 - 50:24
    sembra. Ricorda, Facebook può anche
    inviare e-mail crittografate PGP, quindi niente
  • 50:24 - 50:32
    trapela a nessuno. Questo screenshot è stato
    preso in prestito da Scott Helme. Allora, cosa
  • 50:32 - 50:42
    succede? Solo pochi - Un mese fa, Google
    ha annunciato che richiederà la trasparenza dei
  • 50:42 - 50:50
    certificati da ottobre 2017 in poi. Quindi, se
    gestisci un sito Web protetto da TLS
  • 50:50 - 50:54
    potresti voler verificare prima di quella data
    se la tua autorità di certificazione
  • 50:54 - 50:59
    sta utilizzando la trasparenza dei certificati.
    Mi aspetterei di avere più
  • 50:59 - 51:07
    log e più certificati inclusi nei
    log. In un futuro lontano, fondamentalmente, il
  • 51:07 - 51:13
    l'idea di trasparenza e questo albero di Merkle
    è aperto a qualsiasi cosa. Potresti metterci la chiave
  • 51:13 - 51:18
    mdi gestione delle release dei software, qualsiasi cosa
    lì. Il team di Google, ha anche
  • 51:18 - 51:25
    costruito un prototipo per questo, chiamato
    Trillian, e descritto nel documento
  • 51:25 - 51:27
    "Verifiable Data Structures".
  • 51:27 - 51:29
    Prima di arrivare alla fine e alle domande,
  • 51:31 - 51:31
    risate
  • 51:32 - 51:33
    applausi
  • 51:38 - 51:42
    C'è una distinzione. Certo, tu
    potresti risolvere questo problema anche con la blockchain.
  • 51:42 - 51:50
    Ma un albero hash di Merkle è molto
    più efficiente, molto più elegante. Quando io
  • 51:50 - 51:54
    ho parlato con un collega sul treno qui,
    ha detto, certo, puoi semplicemente inserire il
  • 51:54 - 51:58
    log nella blockchain.
    Sì, non è la stessa cosa.
  • 51:58 - 52:00
    Grazie!
  • 52:00 - 52:01
    applausi
  • 52:11 - 52:14
    Herald: Grazie Martin per questa
    interessante chiacchierata! Abbiamo ancora
  • 52:14 - 52:18
    qualche minuto per le domande, quindi se
    avete una domanda, mettetevi in fila
  • 52:18 - 52:24
    accanto ai microfoni e ponete la vostra
    domanda. Ricordate: una domanda ha un punto
  • 52:24 - 52:30
    interrogativo alla fine. Inoltre, se state
    uscendo, fatelo silenziosamente e dalla porta
  • 52:30 - 52:35
    principale, grazie. Penso che ci sia una
    domanda laggiù:
  • 52:43 - 52:56
    D: Puoi consigliare alcune librerie o software
    dove posso effettuare l'handshake TLS
  • 52:56 - 53:02
    dal lato client, in modo da ottenere l'SCT,
    tramite estensione TLS, tramite estensione
  • 53:02 - 53:07
    OCSP, tramite l'SCT del pre-certificato
    ereditato?
  • 53:07 - 53:15
    M: Non a memoria. Voglio dire, se fa parte
    del certificato TLS, qualsiasi cosa andrà bene, OpenSSL,
  • 53:15 - 53:22
    qualsiasi cosa, è solo un campo. Lo stesso per
    OCSP, quindi qualsiasi cosa che faccia OCSP lo
  • 53:22 - 53:25
    includerà, è solo che i client che non
    conoscono l'estensione semplicemente non -
  • 53:25 - 53:32
    la ignoreranno. Ma qualsiasi cosa che faccia
    OCSP o handshake SSL funzionerà.
  • 53:35 - 53:37
    H: Grazie. Domanda da questo microfono.
  • 53:37 - 53:42
    D: Ciao, grazie mille per la bella
    chiacchierata. Sai quanto spazio serve
  • 53:42 - 53:45
    per memorizzare tutti i log attualmente?
  • 53:45 - 53:54
    M: Avevo la stessa domanda, ma
    sfortunatamente no. Quello che memorizzano è
  • 53:54 - 54:02
    l'albero, e memorizzano l'intera catena,
    escludendo i certificati radice. Quindi,
  • 54:02 - 54:10
    probabilmente due, tre, quattro certificati per
    voce, che è come - penso che si possa comprare
  • 54:10 - 54:18
    nei normali mercati elettronici un disco rigido
    in grado di contenere molte di quelle voci.
  • 54:20 - 54:22
    H: Prossima domanda da quel microfono.
  • 54:22 - 54:28
    D: Sì, grazie per la chiacchierata. Perché
    hai bisogno di due SCT per la convalida estesa?
  • 54:28 - 54:36
    M: Perché una singola entità potrebbe imbrogliare.
    Quindi è come - anche se puoi rilevarlo,
  • 54:36 - 54:41
    c'è ancora un lasso di tempo. E se hai due
    SCT, che sono gestiti
  • 54:41 - 54:46
    indipendentemente, l'idea è che non è così
    probabile che i due collaborino
  • 54:46 - 54:48
    per far sparire un certificato.
  • 54:48 - 54:50
    D: Grazie!
  • 54:50 - 54:51
    H: Quel microfono, sì.
  • 54:51 - 54:55
    D: In realtà sono un po' sorpreso, perché
    Google ha spinto per rendere il
  • 54:55 - 55:00
    server HELLO il più piccolo possibile e,
    naturalmente, questo sta aumentando il server
  • 55:00 - 55:07
    HELLO con, in questo caso, un SCT, e,
    naturalmente, stanno anche facendo l'OCSP stapling,
  • 55:07 - 55:11
    quindi questo lo rende ancora più grande. E
    questo è come un SHA256, quindi stiamo parlando di 256 bit
  • 55:11 - 55:16
    lì, più un altro che hai detto che, sai,
    uno non è sufficiente. In realtà non ho
  • 55:16 - 55:19
    mai visto che ne ha più di un SCT.
    Ne hai visti?
  • 55:23 - 55:24
    M: No.
  • 55:24 - 55:24
    risate
  • 55:24 - 55:25
    Non ancora.
  • 55:25 - 55:27
    D: Ho cercato in giro, ma niente.
  • 55:27 - 55:28
    M: Sì.
  • 55:28 - 55:32
    D: In realtà sta aumentando le dimensioni. E
    mi chiedo, dove sta andando.
  • 55:32 - 55:39
    Stiamo per mangiare i costi di avere tutti
    questi SCT e OCSP stapling? Siamo
  • 55:39 - 55:40
    pronti a pagare quel costo?
  • 55:40 - 55:47
    M: Penso che il costo sia piccolo rispetto
    al guadagno che ottieni con HTTP2. Quindi se
  • 55:47 - 55:52
    canalizzi qualcosa in una singola connessione.
    Penso che non sia più un cattivo costo. Ma
  • 55:52 - 55:57
    ovviamente, questa è una questione di politica.
    Richiedere una certa quantità di SCT, per
  • 55:57 - 56:02
    prevenire CA fraudolente.
  • 56:02 - 56:08
    D: L'idea è che questo sostituirà
    qualcosa come l'osservatorio SSL, dove
  • 56:08 - 56:14
    i browser inviano i certificati che vedono,
    e poi - hai annuito, quindi presumo di sì. E poi
  • 56:14 - 56:19
    anche, come funziona per le persone che
    non possono rendere pubblici i loro certificati?
  • 56:19 - 56:21
    Per le persone che emettono
    cose per le reti interne?
  • 56:21 - 56:27
    M: Se non puoi rendere pubblico il certificato,
    probabilmente il modo migliore in questo momento
  • 56:27 - 56:34
    è avere un'autorità di certificazione che
    non usa CT. In futuro, rende
  • 56:34 - 56:40
    molto più costoso gestire la propria
    CA, incorporarla negli archivi fiduciari.
  • 56:40 - 56:44
    Ma ovviamente, questo è costoso. Devi
    firmare il certificato e tutto il resto.
  • 56:44 - 56:52
    D: Ma se, come nell'ottobre 2017, quando
    Chrome rifiuta tutti i certificati che non hanno
  • 56:52 - 56:54
    timestamp firmati, cosa faccio?
  • 56:57 - 56:58
    M: Usa Edge.
  • 56:58 - 57:00
    risate
  • 57:02 - 57:07
    Sono sicuro che puoi disabilitarlo in qualche modo,
    ma è blerg.
  • 57:08 - 57:16
    D: E se qualcuno prova SCT con
    DHT o altri sistemi.
  • 57:16 - 57:18
    Non blockchain, ovviamente!
  • 57:18 - 57:21
    È possibile farlo senza
    autorità centrali?
  • 57:21 - 57:24
    M: Scusa, ripeti?
  • 57:24 - 57:32
    D: Il mio inglese è molto cattivo, mi dispiace. Ho
    detto, è possibile farlo senza
  • 57:32 - 57:37
    qualche autorità centrale, come Google
    o tramite SCT, ma
  • 57:37 - 57:41
    con una tabella hash distribuita,
    come le tecnologie DHT
  • 57:41 - 57:43
    M: Sì, sì, certo.
  • 57:43 - 57:47
    D: E ci sono implementazioni esistenti?
  • 57:47 - 57:53
    M: Per la cosa centralizzata, sì. Non per
    la cosa distribuita. Ma penso che sia
  • 57:53 - 58:00
    solo aggiungere un livello di DHT sopra.
    Quindi sono sicuro che puoi pensare a un'estensione
  • 58:00 - 58:06
    del browser che usa il DHT per ottenere
    SCT. Ma in questo momento è puramente
  • 58:06 - 58:08
    centralizzato. Ma il codice sorgente è aperto.
  • 58:08 - 58:09
    D: OK, grazie.
  • 58:11 - 58:15
    D: Ero solo curioso di come funziona se hai
    un certificato che viene revocato, nel
  • 58:15 - 58:20
    contesto dell'albero. Soprattutto se l'albero
    è congelato. Quindi come funziona?
  • 58:20 - 58:25
    Come si revoca un certificato con un
    albero, e poi come funziona se è
  • 58:25 - 58:27
    già congelato.
  • 58:27 - 58:37
    M: Ottima domanda! L'obiettivo di CT non è
    - non riguarda la revoca. Quindi se
  • 58:37 - 58:44
    il percorso di revoca viene preso regolarmente. Quindi
    chiedi OCSP. È indipendente dalla
  • 58:44 - 58:48
    revoca. Dice pubblicamente
    che questo certificato è stato
  • 58:48 - 58:57
    rilasciato. Quindi rimuovere un certificato dall'
    albero, che è stato rimosso - revocato, è
  • 58:57 - 59:01
    non fa parte della specifica. Questo non è
    il caso d'uso. È solo la registrazione dei
  • 59:01 - 59:03
    certificati che sono stati rilasciati.
  • 59:03 - 59:08
    D: Ma se controlli tutti i registri e vuoi
    sapere se qualcosa sta, come sta andando
  • 59:08 - 59:11
    che non dovrebbe andare, non vorresti
    sapere se il certificato
  • 59:11 - 59:13
    è stato revocato ad un certo punto?
  • 59:13 - 59:20
    M: Sì, ma non nei registri. I registri sono
    solo per dimostrare che la CA ha rilasciato questo
  • 59:20 - 59:27
    certificato e per dimostrare che il registro ha
    registrato correttamente. La revoca è
  • 59:27 - 59:33
    diverso. Di solito, l'OCSP stapling con la
    CA, ma questo è un canale diverso. Quindi
  • 59:33 - 59:35
    questo non è per la trasparenza dei certificati.
  • 59:35 - 59:37
    D: Grazie!
  • 59:37 - 59:39
    H: È tutto il tempo che abbiamo per le domande e risposte.
  • 59:39 - 59:41
    Un grande applauso ancora per
    Martin per un ottimo discorso!
  • 59:41 - 59:43
    applausi
  • 59:43 - 59:46
    musica postroll
  • 59:46 - 60:08
    [Translated by Gianluca Consiglio (KYBS2004 course assignment at JYU.FI)]
Title:
Everything you always wanted to know about Certificate Transparency (33c3)
Description:

more » « less
Video Language:
English
Duration:
01:00:08

Italian subtitles

Revisions Compare revisions