Mi sto solo chiedendo questo. Ha bisogno di un PKI per funzionare?
Una chiave HMAC è una chiave simmetrica , cioè un mucchio di byte. La "simmetria" si riferisce al seguente fatto importante: la stessa stessa chiave viene utilizzata sia per produrre un valore HMAC su alcuni messaggi, sia per verificare il valore HMAC sul messaggio. In questo senso, HMAC è non un algoritmo di firma digitale (ma alcune persone stanno comunque parlando di "firme" su HMAC, che è sia sbagliato che confuso).
La distribuzione di chiavi simmetriche è un'impresa complessa per due motivi:
Per semplificare le cose, è stata inventata crittografia a chiave pubblica . È anche noto come crittografia asimmetrica ; se utilizzato con le firme digitali, la chiave utilizzata per generare le firme è diversa dalla chiave utilizzata per verificare le firme; sono collegati matematicamente tra loro, ma non è possibile (o almeno così speriamo) ricalcolare la chiave di generazione della firma dalla chiave di verifica della firma. Quindi possiamo permetterci di rendere pubblico quest'ultimo, da cui il nome.
La crittografia a chiave pubblica rende il problema di distribuzione delle chiavi sostanzialmente più semplice:
Ora la crittografia a chiave pubblica rende la distribuzione delle chiavi più semplice , non facile . Devi ancora inventare qualcosa che permetta all'utente di assicurarsi che usino le giuste chiavi pubbliche. È qui che entra in gioco PKI : un PKI è un sistema per distribuire le chiavi pubbliche.
Quindi come andrebbero le cose in pratica? Considera SSL / TLS , spesso usato in combinazione con HTTP, fornendo HTTPS. Quando un browser Web si collega a un sito Web con tecnologia HTTPS:
L'immagine completa è che PKI viene utilizzata per distribuire le chiavi pubbliche e queste chiavi pubbliche vengono quindi utilizzate con crittografia asimmetrica per dinamicamente creano un segreto condiviso e tale segreto condiviso viene quindi utilizzato con algoritmi simmetrici come HMAC.
Quindi non distribuisci le chiavi HMAC direttamente con una PKI; c'è un livello intermedio.
Leggi altre domande sui tag cryptography encryption hmac