how does the browser know this domain - CA mapping?
Non è così. O almeno non lo sa solo da HSTS. HSTS si assicura solo che il sito di destinazione sia raggiunto da HTTPS anziché da HTTP. Non gli importa quale CA ha rilasciato il certificato.
La pin chiave pubblica invece si preoccupa che venga utilizzata una chiave pubblica specifica nei certificati dei siti o nel certificato dell'emittente. Esistono pinning predefiniti per alcuni siti come Facebook e vi è il blocco utilizzando l'intestazione HPKP (non HSTS).
I have come across scenarios where we introduce a proxy which does ssl decryption fails on HSTS sites...eg. facebook gmail etc.
In caso di installazione corretta dei proxy MITM come utilizzati all'interno di aziende o installati da alcuni prodotti AV, la CA proxy verrà installata come affidabile nei browser / sistema operativo. Ciò significa che i certificati emessi dal proxy MITM (utilizzando la CA proxy) non causeranno un errore / avviso su un emittente di certificati sconosciuto. Inoltre, i certificati emessi da questa CA non standardizzata di fiducia esplicita non verranno verificati rispetto alle restrizioni di blocco delle chiavi pubbliche nei browser correnti. Ciò significa che un certificato per il sito aggiunto sarà accettato senza avvisi anche se non corrisponde all'impronta digitale memorizzata, purché emessa da questa CA non standard ma attendibile.
Se ricevi ancora un avviso, il proxy non è configurato correttamente. Qualsiasi accesso a un nuovo sito HTTPS comporterà quindi un avviso di certificato che l'utente deve esplicitamente ignorare, ma si spera che non lo faccia. E la cosa bella del pinning delle chiavi pubbliche è che non consente agli utenti di ignorare tali avvisi per i siti protetti con pinning, ma semplicemente rifiuterà di accedere a tale sito. In questo modo proteggerà anche gli utenti contro gli attacchi MITM che sono addestrati a fare clic su eventuali avvisi.