Cosa sono i certificati impliciti ed espliciti nella crittografia a chiave pubblica?

5

Una chiave pubblica è certificata da un'autorità di certificazione attendibile, per garantire l'integrità della chiave e l'autenticità dell'entità che dichiara di avere la chiave privata corrispondente.

In questo certificato di chiave pubblica, quali sono i certificati impliciti ed espliciti?

    
posta user0x0 06.05.2014 - 16:51
fonte

2 risposte

5

Un certificato stabilisce un collegamento tra un'identità e una chiave pubblica; il collegamento è "garantito" da un'autorità di certificazione con una sorta di firma digitale o un'altra associazione crittografica simile.

La pagina di Wikipedia su "certificati impliciti" (indicata da @Clayton) descrive un concetto in cui l'algoritmo della chiave pubblica è tale che la chiave pubblica, il nome del proprietario della chiave e la firma della CA sono in qualche modo confusi in un singolo elemento leggero. Questo concetto sembra essere emerso dall'algoritmo ECQV e "certificato implicito" è stato coniato come passo di vendita per tale algoritmo. Infatti, puoi trovare la descrizione (leggermente di marketing tonica) da Certicom . Sembra (eventualmente) soggetto a una serie di brevetti (ad es. questo ).

Sebbene il concetto sia generico, sono a conoscenza di una sola implementazione effettiva, che è ECQV. Non è standardizzato e distribuito yet .

In ECQV, i meccanismi dell'algoritmo escogitano per memorizzare in un singolo elemento sia la chiave pubblica che l'ordinamento della firma dalla CA, mentre l'elemento non è più grande della chiave pubblica solo. Un sistema che tenta di utilizzare il certificato implicito per un determinato utente ha bisogno di tre elementi:

  • la presunta identità del proprietario della chiave;
  • il certificato implicito per quel proprietario;
  • la chiave pubblica di CA;

e l'algoritmo ECQV accetta tutti e tre gli elementi per generare la chiave pubblica dell'utente. Questo è implicito in quanto non è ancora noto se il certificato esiste realmente; cioè dato un certificato implicito C e la chiave pubblica CA P , l'algoritmo ECQV dice: se il certificato C è di proprietà dell'utente U , quindi la chiave pubblica di U è K . Tutti gli "impliciti" risiedono nel "se".

Un concetto approssimativamente simile, ma più estremo, è crittografia basata sull'identità . Nella crittografia basata su ID, vengono generate più matematica al problema (abbinamenti su curve ellittiche ...) in modo da ottenere un risultato ancora migliore: rimozione del certificato. Il certificato è così implicito che non ha più bisogno di esistere. Con la crittografia basata su ID, l'identità dell'utente è la sua chiave pubblica. La crittografia basata su ID è "migliore" dei certificati impliciti perché consente di utilizzare l'utilizzo della chiave pubblica in modo non pertinente. Si consideri ad esempio il problema di inviare una e-mail crittografata a qualcuno (chiamiamolo Bob):

  • Con i certificati classici (diciamo "espliciti"), devi prima ottenere il certificato di Bob. Per esempio. Bob te lo invia (tradizionalmente con una email firmata) o il tuo software lo trova in qualche directory.
  • Con certificati impliciti, devi ancora ottenere il certificato di Bob. È più breve, quindi "più efficiente", ma ne hai bisogno.
  • Con la crittografia basata su ID, non è necessario il certificato di Bob. Ce l'hai già: è il nome di Bob, ad esempio "Bob". Questo è sufficiente per crittografare e inviare l'e-mail.

Mi sembra che il concetto di certificato implicito, ad esempio ECQV, abbia difficoltà a trovare una quota di mercato; è schiacciato tra certificati "normali", su cui ECQV offre solo un vantaggio prestazionale percepito (che, più spesso, non ha alcuna rilevanza) e crittografia basata su ID, che offre alcuni vantaggi veramente strutturali.

(È stato riferito che Certicom e altri proprietari di brevetti riescono ancora a spingere i loro algoritmi in alcuni comitati di standardizzazione attraverso intense attività di lobbying. Non ho assistito personalmente a queste cose, però.)

    
risposta data 23.06.2014 - 22:20
fonte
3

Certificati espliciti

La maggior parte dei sistemi PKI utilizza Certificati espliciti . Cioè,

Conventional explicit certificates are made up of three parts: identification data, a public key and a digital signature which binds the public key to the user’s identification data (ID). The digital certificate is created by a trusted third party and its signature can be independently verified by anyone in the network. The public key, ID and digital signature are distinct data elements which make the up the physical size of the certificate. "Implicit certificate", Wiki {emphasis mine}

Il certificato è esplicito perché contiene la firma digitale dell'autorità di certificazione (CA) che associa la chiave pubblica ai dati di identificazione ( ID) . Quando la firma su un certificato esplicito è convalidata, sappiamo che la persona descritta dall'ID conserverà la corrispondente chiave privata e che sarà l'unica persona a avere quella chiave privata.

Certificati impliciti

In PKI, i certificati impliciti sono un sistema variante che occupa molto meno spazio (e quindi è utile in ambienti vincolati). Sono ancora composti da 3 elementi / parti principali (ID, chiave pubblica, firma digitale). Tuttavia, queste parti sono compresse nello stesso spazio della sola chiave pubblica (Wiki usa la frase super imposto ). Questa traduzione / compressione matematica introduce alcune responsabilità e ha queste caratteristiche uniche:

  1. Non esiste una convalida esplicita della CA
  2. La chiave pubblica viene calcolata dal certificato implicito
  3. Non possiamo sapere immediatamente se la chiave pubblica è valida o anche se ha una chiave privata corrispondente
risposta data 24.05.2014 - 21:16
fonte

Leggi altre domande sui tag