Root Key: che cosa sono le chiavi pubbliche e private, e come si usano in crittografia

Argomenti:
Pubblicato il: 08-11-2021 12:05

Quando si parla di root key in informatica la confusione tra gli utenti non esperti aleggia sovrana, e non sono pochi casi in cui addirittura gli stessi informatici rischiano di fare confusione. In questo articolo cercheremo di capire meglio che cosa sono le chiavi pubbliche e private, e qual è il loro uso tipico nell’ambito della crittografia, cercando di spiegarlo senza orpelli tecnici e rinunciando ai soliti esempi vetusti che, in genere, non si capiscono.

Chiariamo da subito, quindi, che per root key in gergo informatico si intende la coppia di chiave pubblica + chiave privata associata ad un dispositivo, ad un’app e così via.

Cos’è una chiave pubblica

La chiave pubblica rappresenta un identificativo univoco per un utente sulla rete, utente che può essere considerato nell’accezione più generale un’entità pubblica governativa, associazionistica o di pubblica amministrazione. La chiave pubblica, pertanto, deve essere immaginata in qualche modo come una cassetta della posta, nel senso che tutti sanno dove si trova, ma non tutti possono vederne il contenuto (a parte i leggittimi proprietari).

SMSHosting Usa il codice PROMO per uno sconto sul primo acquisto: PRT96919

La chiave pubblica può, pertanto, essere divulgata liberamente per definizione, in quanto garantisce che io stia parlando davvero con il detentore di quella chiave.

Esempio di chiave pubblica (da non utilizzare, solo come esempio)

—–BEGIN PUBLIC KEY—–
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADABiQKBgQCLt41rnzEtF+J1lt6zGHjH2UGr
4sjhmMaildtgAV4LZMy3U+iC3vKS3nTKzC7bi4Hu56WGH3BS1JLy0UqQF+9daKRf
KB5lQkS4CpgCB/cTp4+mI8HQg+NvXuAZ86UEWc0Gztwih6+Y/plI1ra0YniSgHPI
ZY50geho39Mnoo3GuwIDAQAB
—–END PUBLIC KEY—–

Cos’è una chiave privata

L’uso della chiave privata si colloca nell’ambito della crittografia asimmetrica, e risolve un problema che sarebbe impossibile e poco consigliabile risolvere diversamente: se io devo mandare ad esempio un allegato riservato e voglio che solo il destinatario possa aprirlo, posso impostare una password per proteggerlo, ma sarò comunque costretto a condividere in chiaro la password con il destinatario minando così la sicurezza del sistema.

SMSHosting Usa il codice PROMO per uno sconto sul primo acquisto: PRT96919

Quello che si fa, pertanto, è fare in modo che ci siano mittente e destinatario ognuno con la propria coppia di chiavi pubbliche e private, di cui la privata è riservata e deve essere nota solo alla persona che può firmare digitalmente: in tal modo io vado a criptare l’allegato che devo inviare, ed il destinatario potrò decriptarlo una volta che il sistema di comunicazione si sia “messo d’accordo” sull’adozione delle root key.

La chiave privata NON deve, pertanto, essere divulgata liberamente, in quanto garantisce che io possa decriptare un contenuto e solo io possa farlo, soprattutto. In genere le chiavi private sono molto lunghe, vanno dai 512 bit a salire (più bit ci sono più sono sicure, più tempo ci vuole a elaborarle) e sono difficilissime da indovinare per tentativi, tanto che la crittografia era considerata una vera e propria “arma” dagli Stati Uniti, almeno fino a qualche tempo fa e prima dell’introduzione di PGP che l’ha in qualche modo “liberalizzata”.

Esempio di chiave privata a 1024 bit, con tecnologia RSA

—–BEGIN RSA PRIVATE KEY—–
MIICWwIBAAKBgQCLt41rnzEtF+J1lt6zGHjH2UGr4sjhmMaildtgAV4LZMy3U+iC
3vKS3nTKzC7bi4Hu56WGH3BS1JLy0UqQF+9daKRfKB5lQkS4CpgCB/cTp4+mI8HQ
g+NvXuAZ86UEWc0Gztwih6+Y/plI1ra0YniSgHPIZY50geho39Mnoo3GuwIDAQAB
AoGAY/a+PmQ14ReXtZ5uVCGMOSEedcbbB14xsJ4byYLw8KH8PqbQUuKFGEQFuBuC
4x3bpz0iFuZjjT/+q7DG8nXNki7mKVxHsqOYpmLxMNQXkm1f2YnkfnAFyyu8eIvp
PuBN48iNZJwTinNHoLhtNRAo1gTaw/2TLCyu9sVRojUYTUECQQC/3u2aDN1kC0Kq
e6gkZsM5UY7pt++g45CvBKImbGzEgRhApQbFY+n/oiqfwjI2N+IvwqkEayHw5fDw
S8nOxQnLAkEAumouAazGRmWxMWEF5w5Aygnb/doYKCCkiLP+XhClPtszq+XoOS7J
3934nqIPg5tLiG4TAZP0hTi9YUsd+plY0QJAHSybejoMi8K+j0egKHDLrHJ/RYBn
WlJf1Izizu7blwF+G448OlVX5jvVOVeA5QeYR+TUaEyV65g7C36qn9sMAwJAPhf8
Nyab7PsWqMIOu0YuIp5iHw60mTk2VSrPgfm9cVCGx62PSuzg5acEl6KX1Fi4Mjuo
LRBhlLavrmbdF4pY4QJALsPvyLf/4p5pLOVhBEmy8GicQ8YjCqkyeqbE4bZLHViM
N0Ql4KcfYb6dPXyO8UTMpoYZ0AulPaz8JIRpLjXiXA==
—–END RSA PRIVATE KEY—–

Con questa coppia di chiavi posso criptare il messaggio “Trovalost.it è un bel sito” e recapitarlo criptato in questa forma:

p4Z6PIHSH1V/ei9tJ+nkEX51x1braJB1hRG1MGgA9WwX2BWh1u+uz8tVj57Zwob4YN9imFjtxnURY2XN/pbPJkp+Dpyvo0AvQQjaY4SEX1cgf8wmVN2EvCRpbYkAR2iJR/9ThQrG9UsWPSjyX82xgGlAtv+NHzGx4Naj5HKaXr8=

così facendo, solo chi possiede la chiave privata corretta potrà decifrarlo. Il meccanismo di crittografia viene implementato all’interno di software specifici, che spesso sono integrati nei sistemi mentre in altri casi sono utilizzabili mediante software open source come PGP (Pretty Good Privacy).

Cosa cambia tra password e chiave

La password è in qualche modo simile ad una chiave, soprattutto perchè ne ricorda la forma ma è un concetto differente: la password è pensata per essere digitata a memoria o salvata in un password manager, la chiave in genere va inserita con modalità differenti (via file certificato ad esempio).

Esempio pratico in crittografia

La crittografia entra in gioco con le sue root keys nel momento in cui ho bisogno di generare certificati digitali, nel senso che mi serve generare un contenuto digitale che sia difficilmente falsificabile e che sia “dimostrabile” appartenere ad una persona o rappresentarne un’istanza. Se vengono scoperte le root keys, chiaramente, cosa che può avvenire per vari motivi (bug, il più delle volte) è chiaro che il sistema non si regge più e bisognerà ricorrere alla rotation delle chiavi (vedi oltre).

La tecnologia alla base del discusso green pass, ad esempio, si basa proprio su chiavi pubbliche usate globalmente e chiavi private detenute dai singoli stati che concedono la possibilità di emetterli agli enti.

SMSHosting Usa il codice PROMO per uno sconto sul primo acquisto: PRT96919

Sicurezza delle chiavi: rotation

Key rotation o in italiano rotazione della key si verifica qualora si ritira una chiave di crittografia, e si sostituisce quella vecchia (invalidandola) e generandone una nuova. In genere si considera buona norma ruotare regolarmente le root key, proprio per limitare la possibilità di attacchi informatici di vario tipo, e presso el aziende sono tipiche in caso di turnover del personale, rilevamento di falle informatiche o, in alcuni casi, anche bug nei software.

La regola generale è che se un sistemista sospetta che una root key sia stata compromessa, dovrebbe disabilitarla il prima possibile seguendo apposite procedure. Le chiavi di root possono, inoltre, essere ruotate manualmente o in base a una pianificazione impostata dal proprietario. L’opzione che si scegliere dipende sempre da un mix di valutazioni, preferenze e risorse a disposizione. Alcuni sistemi cloud della IBM, ad esempio, prevedono la possibilità di impostare la rotation ogni 30, 60 o 90 giorni, una volta o due all’anno. Per ruotare una chiave inizialmente importata nel servizio, è necessario rigenerare tutto da zero e riconfigurare il sistema all’uso delle chiavi. Le chiavi root importate devono in genere essere ruotate manualmente.

Foto di xresch da Pixabay

5/5 (1)

Che te ne pare?

Grazie per aver letto Root Key: che cosa sono le chiavi pubbliche e private, e come si usano in crittografia di Salvatore Capolupo su Trovalost.it
Root Key: che cosa sono le chiavi pubbliche e private, e come si usano in crittografia (Guide, Assistenza Tecnica)

Articoli più letti su questi argomenti:

Seguici su Telegram: @trovalost