Quali sono le convenzioni di denominazione accettate per i termini "chiavi pubbliche / private" e "certificati"?

7

Esiste una convenzione di denominazione accettata per fare riferimento alle risorse utente PKI?

Sembra esserci molta confusione con la denominazione degli artefatti. Ad esempio, sembra che alcune persone si riferiscano a:

  • chiavi pubbliche come certificati
  • chiavi pubbliche come chiavi pubbliche
  • certificati come chiavi pubbliche
  • certificati come certificati
  • chiavi private come coppie di chiavi
  • chiavi private come chiavi private
  • ecc.

C'è un riferimento autorevole o un glossario a cui posso fare riferimento?

    
posta Chris Snow 23.09.2013 - 17:06
fonte

3 risposte

12

I seguenti sono i "nomi accettati", cioè i termini che I accetta:

Una chiave pubblica è un oggetto matematico; è la metà della coppia di chiavi crittografiche. Per RSA, una chiave pubblica è una coppia di grandi numeri interi (modulo ed esponente), niente di più.

Una chiave privata è un oggetto matematico; è l'altra metà della coppia di chiavi. Per RSA, una chiave privata è un gruppo di grandi numeri interi (ovvero n , e , d , p , q , d mod p-1 , d mod q-1 e < em> q -1 mod p , dove n e e sono copie dei due corrispondenti valori dalla chiave pubblica).

Una coppia di chiavi è una chiave pubblica con la chiave privata corrispondente.

Un certificato è un oggetto firmato che contiene alcuni elementi e li unisce. Questo è ciò che è X.509 . La maggior parte dei certificati contiene una chiave pubblica (non la chiave privata) e una identità (un "nome") che designa il proprietario di quella chiave (cioè l'entità che controlla il corrispondente privato chiave).

Detto questo, molte persone usano una terminologia scadente e si può incontrare un sacco di abusi di gergo. Per esempio:.

  • Per i soliti algoritmi (tutti usano RSA), la chiave pubblica viene facilmente ricalcolata dalla chiave privata (con RSA, la chiave pubblica è un sottoinsieme della chiave privata, quindi questo ricalcolo è banale). Questo porta alcune persone a parlare di "coppia di chiavi" quando significano "chiave privata" o viceversa.

  • Alcune persone (in particolare una parte sostanziale della documentazione di Microsoft) parlano di "certificato" quando significano "il certificato e la chiave privata corrispondente alla chiave pubblica che è nel certificato ". I file di archivio PKCS # 12 (noti anche come "PFX") sono soliti contenitori per un certificato e la sua chiave privata.

  • Molte persone non capiscono la differenza tra un certificato e una chiave pubblica e usano i due termini in modo apparentemente casuale.

  • La confusione viene ulteriormente migliorata quando si parla di "certificati pubblici" o "certificati privati". Parte del problema è che i giochi con coppie di chiavi e algoritmi simili a RSA sono chiamati crittografia a chiave pubblica in contrapposizione alla crittografia "normale", cioè algoritmi simmetrici come AES. Nella crittografia simmetrica, le chiavi sono secret e nessuna chiave può essere resa pubblica. Quindi c'è un'espressione: chiave segreta . Questo termine indica normalmente una chiave per un algoritmo simmetrico, che è un mucchio di bit. Ma alcune persone dicono "chiave segreta" quando significano "chiave privata", o viceversa.

  • Ho anche incontrato "identità digitale", "identità privata" o "credenziali digitali", ovvero un certificato, una chiave privata, entrambi o qualcos'altro. A seconda di chi parla.

  • Esiste anche una nozione di certificato di chiave segreta che è qualcuno che considera "segreto" e "privato" come intercambiabile, o il caso specifico di un certificato usato in alcuni avanzati schemi di "firma cieca". Questo è un lavoro a livello di ricerca, nulla di standardizzato.

La linea di fondo è che se vuoi essere compreso in modo affidabile, allora devi fare attenzione a definire correttamente la terminologia. Allo stesso modo, sii preparato, quando leggi i documenti di altre persone, a incontrare qualsiasi cosa. Gli standard decenti iniziano con un glossario che definisce in modo inequivocabile il significato dei termini all'interno dello standard.

    
risposta data 23.09.2013 - 17:43
fonte
4

Tutti e tre sono concetti completamente distinti.

Una chiave pubblica, in riferimento a qualsiasi criptosistema asimmetrico, è la chiave che può essere resa disponibile alle parti che desiderano essere coinvolte con te. Una chiave privata, al contrario, è la corrispondente parte privata della coppia di chiavi asimmetrica che si mantiene segreta.

Un certificato è un formato standardizzato per rappresentare l'identità. L'identità può contenere materiale chiave, oppure può essere semplicemente una dichiarazione di identità firmata da una chiave secondaria. Nel tradizionale HTTPS, il certificato contiene la chiave pubblica del server web e il certificato è solitamente firmato da una terza parte attendibile.

    
risposta data 23.09.2013 - 17:16
fonte
2

Gli esempi che hai dato sembrano giusti tranne quando hai indicato le chiavi private come coppie di chiavi.

Quando vengono generate chiavi asimmetriche, vengono generate come coppia di chiavi I.e. Chiavi pubbliche e private. La chiave privata non deve essere indicata come coppia di chiavi.

Informazioni sui certificati: se ho il tuo certificato x.509 posso sempre dire che ho la tua chiave pubblica in quanto la chiave pubblica è una parte del certificato x.509.

L'unica cosa che ho notato è che alcune persone si confondono tra i termini "privato" e "segreto". La chiave privata dovrebbe essere mantenuta come un segreto, ma in genere viene utilizzata una chiave segreta per fare riferimento al segreto condiviso negli algoritmi a chiave simmetrica.

    
risposta data 23.09.2013 - 17:44
fonte

Leggi altre domande sui tag