Per garantire una comunicazione protetta, la crittografia tradizionale a chiave privata o simmetrica richiede un'unica chiave segreta condivisa da due o più parti. La chiave viene utilizzata per cifrare e decifrare i messaggi protetti che le parti si scambiano; prima di eseguire questa operazione, è necessario distribuire la chiave a ciascuna parte in modo protetto. Il problema di questo metodo è rappresentato dalla difficoltà di trasmettere e memorizzare la chiave in modo protetto.
La crittografia a chiave pubblica consente di risolvere questo problema ricorrendo a coppie di chiavi pubblica/privata e a un metodo protetto per la loro distribuzione. La chiave pubblica è a disposizione di tutti gli utenti e viene utilizzata per cifrare i messaggi che possono essere decifrati solo dal proprietario della corrispondente chiave privata. La chiave privata è memorizzata in modo protetto insieme alle altre credenziali in un contenitore cifrato, denominato wallet.
Gli algoritmi che si basano sulla chiave pubblica sono in grado di garantire la riservatezza di un messaggio, ma non necessariamente proteggono le comunicazioni, poiché non verificano le identità delle parti in comunicazione. Per garantire la protezione delle comunicazioni, è importante verificare che la chiave pubblica utilizzata per cifrare un messaggio appartenga effettivamente al destinatario dello stesso. In caso contrario, è possibile che una terza parte intercetti la comunicazione e le richieste a chiave pubblica, sostituendo la chiave valida con la propria (intercettazione di utente non autorizzato).
Per evitare tale inconveniente, è necessario verificare il proprietario della chiave pubblica mediante il processo di autenticazione. È possibile eseguire l'autenticazione attraverso un'autorità di certificazione (CA), vale a dire una terza identità considerata sicura da entrambe le parti in comunicazione.
L'autorità di certificazione emette certificati a chiave pubblica contenenti il nome della parte, la chiave pubblica e altre credenziali di sicurezza. Tali credenziali in genere includono il nome e la firma dell'autorità di certificazione, nonché le date di validità del certificato (dal... al...).
L'autorità di certificazione utilizza la propria chiave privata per cifrare un messaggio, mentre la chiave pubblica serve per decifrarlo e verificare che il messaggio sia stato effettivamente cifrato dall'autorità. La chiave pubblica dell'autorità di certificazione è nota e non deve essere autenticata ogni volta che vi si accede. Le chiavi pubbliche delle autorità di certificazione sono memorizzate in un wallet Oracle.