Certificats digitals

L’objectiu d’aquesta publicació és definir i explicar l’ús dels certificats digitals.

A causa de l’avanç de les tecnologies per a l’accés a la informació les empreses, les administracions i, fins i tot, els particulars es decideixin a fer servir Internet com a via de comunicació pel fet que permet distribuir productes i serveis de forma ràpida i econòmica.

La necessitat d’assegurar la identitat i confidencialitat d’aquesta informació que viatja per Internet necessita algun sistema que ens permeti protegir-la.

Segons la definició oficial, un certificat digital és un fitxer informàtic signat electrònicament per un prestador de serveis de certificació considerat per altres entitats com una autoritat per a aquest tipus de contingut.

Aquest certificat vincula unes dades de verificació de signatura a un signant de manera que confirmi la seva identitat i només pugui signar ell.

El tràfic de dades a Internet

Hem de ser conscients que quan obtenim o enviem informació a Internet no és una comunicació directa entre el nostre dispositiu (ordinador, mòbil, tauleta, etc.) i el servidor. Totes les dades passen per una gran quantitat de dispositius que són els encarregats de posar en contacte els dos punts.

Els dispositius intermedis poden ser ruters, servidors intermedis i altres. Aquests permeten desviar aquesta informació cap a un punt on poder espiar-la.

D’altra banda, amb l’ús de sistemes de comunicació sense fils (wifi, bluetooth, etc.) ja no cal connectar res a cap lloc per poder capturar el tràfic de les xarxes a causa de que la informació viatja per l’aire i només cal tenir un dispositiu capaç de capturar-la.

És important estar segurs que ens estem comunicant amb el servidor amb el que volem comunicar-nos. També, cal que quan ens identifiquem en alguna entitat o enviem informació sensible, el destinatari estigui, totalment, segur que som nosaltres qui estem enviant la informació

El xifrat

cifrado
Xifrat

És inevitable que la informació que viatja per Internet pugui ser capturada i espiada en qualsevol dels punts pels quals ha de passar. Per tant, l’única manera que tenim per posar-hi remei és establint algun sistema de xifrat de la informació, de tal manera, que el que intenti espiar les nostres dades es trobi amb un conjunt d’informació sense cap significat. Cal que les dades es xifren abans de sortir i es pugui desxifrar, únicament, en la destinació.

Breu història de la Criptografia

L’ús més antic conegut de la Criptografia es troba en jeroglífics no estàndards tallats en monuments de l’Antic Egipte (fa més de 4500 anys).

Si volguéssim introduir-nos en la història de la Criptografia trobaríem exemples i l’evolució d’aquesta des de l’Edat Mitjana fins als nostres temps.

Cal destacar que, en la Segona Guerra Mundial, les màquines de xifrat mecàniques i electromecàniques van començar a utilitzar-se per substituir els sistemes manuals.

Actualment, parlem de Criptografia matemàtica a partir de la publicació de l’article de Claude Shannon titulat Communication Theory of Secrecy Systems (1949).

Xifrat asimètric

Fins aquest moment, tots els sistemes de xifrat es basen en algoritmes de xifrat simètric. Aquest sistema consisteix en que les parts que van a comunicar-se deuen, prèviament, intercanviar les claus o, com també es diu, compartir un secret.

Dit d’una altra manera, les parts han de posar-se d’acord en quines seran les claus i compartir-les. Per tant, es necessita un intercanvi previ, a través d’un canal segur, com, per exemple, un missatger de confiança, o un contacte en persona per passar-se les claus de viva veu.

El 1976 es va publicar l’article New Directions in Cryptography de Whitfield Diffie i Martin Hellman. Aquest article va canviar la manera de funcionar dels criptosistemes. Va introduir un mètode radicalment nou per a resoldre un dels problemes fonamentals de la criptografia: la distribució de claus.

Aquest sistema s’ha anomenat Intercanvi de claus Diffie-Hellman.

Aquest nou mètode està basat en un algoritme asimètric de dues claus. El que es xifra amb la primera clau s’ha de desxifrar amb la segona i al revés. No cal compartir i exposar la primera clau (la clau privada) només la segona (la clau pública). Les claus de xifrat s’emmagatzemen en arxius i aquests són els anomenats certificats digitals.

Normalment, en les comunicacions per Internet, s’envia al destinatari amb el que volem comunicar-nos de forma segura la clau pública o arxiu de certificat digital i mai es lliura l’arxiu de la clau privada. Aquest ha d’estar emmagatzemat a l’ordinador d’origen i protegit amb una contrasenya.

L’autoritat de certificació per a certificats digitals

sello
Sello

L’autoritat de certificació o certificadora és una entitat de confiança, responsable d’emetre i revocar els certificats digitals.

Els certificats emesos són signats digitalment per aquesta autoritat.

En aquest post expliquem, més avall, en què consisteix aquesta signatura digital.

Cal que els certificats utilitzats siguin emesos per aquestes entitats per garantir la identitat d’aquell que els utilitza.

Els certificats digitals, a grans trets, ens permeten:

  1. assegurar-nos que al accedir a una pàgina web hem connectat amb el servidor correcte.
  2. rebre un correu electrònic signat digitalment i estar segurs que la persona que l’envia és realment qui diu ser i que el missatge que ens arriba no ha estat modificat per ningú en el camí.

Hem d’estar segurs que el certificat que s’està utilitzant està avalat per l’autoritat de certificació i no està ni caducat ni revocat.

S’anomena Infraestructura de clau pública o PKI (acrònim en anglès) a tot el conjunt d’entitats i serveis com l’autoritat arrel de confiança, les autoritats intermèdies i els serveis de sol·licitud, renovació, revocació i consulta.

Al mercat hi ha una gran quantitat d’autoritats de certificats.

La diferència entre elles rau en el tipus o propòsit del certificat que ofereixin. També, en el prestigi de les autoritats o en els mecanismes que utilitzen per identificar el sol·licitant.

Per exemple, si necessitem un certificat digital per autenticar en un organisme públic o per signar digitalment documents, el més normal és que ho sol·licitem a la Fàbrica Nacional de Moneda i Timbre que és l’encarregada de facilitar aquest tipus de certificats.

La majoria d’aquestes entitats faciliten el seu certificat de clau pública instal·lat en els diferents sistemes operatius que solem fer servir (Windows, Linux, Android, IOS, …).

El fet que els fabricants d’aquests sistemes operatius dipositin la seva confiança en aquestes entitats fa que nosaltres ens fiem d’elles i, de la mateixa manera, confiem en els certificats que rebem signats per aquesta autoritat.

Ús de certificats digitals en servidors web

https
Https

Quan accedim a un servidor web per consultar alguna de les seves pàgines, utilitzem el protocol d’Internet http (Hyper text Transport Protocol). Aquest protocol permet que el nostre navegador interpreti el text que ens envia el servidor en llenguatge html (Hyper text Markup Language) i el representi al nostre ordinador. Aquest enviament que realitza el servidor és en text pla, igual que quan ens sol·licita informació, com per exemple, l’usuari i la contrasenya.

El text pla és susceptible de ser vist. Si ja és perillós que algú pugui espiar el que nosaltres estem consultant a la pàgina web, encara és més problemàtic que es pugui descobrir l’usuari i la contrasenya, per exemple, d’accés a la nostra entitat bancària.

Per això, avui dia, pràcticament totes les pàgines web a les que accedim utilitzen el protocol https en lloc de http. Podem veure-ho al navegador quan accedim a un lloc web com, per exemple, https://llogic.cat.

La ‘s’ que diferencia http de https és de secure (en anglès, segur). El que es fa és usar sistemes de xifrat SSL o TLS, mitjançant certificats digitals, que milloren la seguretat del protocol http.

Cal tenir en compte que, en informàtica, quan parlem d’interaccions amb un servidor parlem de la figura de servidor i de client, on aquest últim seria la persona que utilitza el navegador per accedir a servidor.

Procés HTTPS

Quan accedim a una pàgina web a través del protocol https, abans que pugui arribar-nos cap informació, es desenvolupen les següents accions:

  • S’inicia el procés de negociació. En aquest procés el client envia la versió SSL o TLS que té instal·lada, els algoritmes d’autenticació que utilitza, així com els sistemes de xifrat que té disponibles.
  • El servidor envia un missatge al client informant del protocol, els algoritmes i els sistemes de xifrat que utilitzarà. El normal és que esculli el màxim comú denominador, és a dir, aquells sistemes més actualitzats i que ofereixin més seguretat. Pot passar que el nostre sistema no estigui al dia i que el servidor consideri que no és possible seguir amb el protocol per considerar-ho insegur (ens mostra una pàgina d’error) o, a l’inrevés, si el servidor està molt desactualitzat pot ser que el nostre navegador ens avisi que no és segur seguir navegant en aquesta pàgina.
  • Passada aquesta primera fase de la negociació, el servidor envia el seu certificat de clau pública.
  • El client verifica si el certificat enviat és correcte:
    • Verifica si el nom de la pàgina coincideix amb el nom al què s’ha emès el certificat.
    • Comprova que el certificat no estigui caducat ni revocat.
    • Verifica que el certificat està signat per una autoritat de certificats de confiança.
    • Si totes les comprovacions són reeixides se segueix endavant, si no el navegador ens mostrarà una pàgina d’error o ens avisarà que el lloc no és segur.
  • El client genera una clau o secret que s’utilitzarà a partir d’ara per autenticar i xifrar tota la comunicació.
  • El client envia al servidor el secret de forma xifrada amb la clau pública que ell va enviar al tercer pas. Recordem que, com vam dir al principi, el xifrat amb la clau pública, únicament, es podrà desxifrar amb la privada que està en possessió de servidor.
  • El servidor rep la clau o secret, la desxifra amb la seva clau privada i, a partir d’aquest moment, pot continuar la comunicació de forma segura.

Autenticació mitjançant certificats digitals

pergamino
Pergamí

Un dels propòsits importants en l’ús dels certificats és l’autenticació.

Consisteix a demostrar a la persona o entitat amb la qual ens posem en contacte, a través d’Internet, que som qui diem que som.

Qui necessita un certificat per autenticar-se ha de sol·licitar-ho a una entitat emissora.

De vegades, cal presentar-se físicament a l’entitat per sol·licitar determinats certificats.

Un cop emès el certificat digital, es lliura en un fitxer informàtic protegit amb una contrasenya. Normalment, aquest certificat s’instal·la a l’ordinador i, a partir d’aquest moment, estarà disponible per a ser usat pel navegador d’Internet quan accedim a una pàgina que ens sol·liciti autenticació.

Signatura amb certificat digital

Firma digital
Signatura digital

Una altra utilitat d’aquests certificats és el seu ús per a la signatura digital.

La signatura digital s’utilitza per signar documents com factures, correus electrònics, software, etc.

Aquesta firma té dos propòsits:

  • Autenticar la validesa del document. Assegura que el document ha estat confeccionat pel signant.
  • Garantir que el document no ha sofert cap canvi durant el trajecte a través d’Internet i que conserva la seva integritat.

El procediment de signatura és el següent:

  • S’utilitza un algoritme anomenat hash que extreu un resum de tot el contingut del document. Aquest resum és una cadena alfanumèrica de longitud, normalment, fixa.
  • El hash o resum obtingut es xifra amb la clau privada de l’emissor.
  • El document inicial s’emmagatzema o s’envia juntament amb el hash xifrat i el certificat de clau pública.

Quan el receptor obté al document signat digitalment pot comprovar la seva autenticitat de la següent manera:

  • S’extreu un resum de tot el contingut, de la mateixa manera que es va fer durant el procés de signatura.
  • Utilitzant la clau pública enviada juntament amb el document es desxifra el hash que, també, s’ha adjuntat.
    • Cal recordar, com hem anat dient al llarg d’aquest escrit, que tot el que s’ha xifrat amb la clau privada només es pot desxifrar amb la clau pública i el xifrat amb la pública es desxifra amb la privada.
  • Es compara el hash desxifrat amb l’obtingut en el primer punt. Si els dos coincideixen significa que el document ha estat signat per la persona o entitat que diu ser i ningú ha pogut modificar la integritat del document.

CONCLUSIÓ

Per tant, l’ús cada vegada més arrelat d’Internet en les comunicacions i en la tramitació de documents entre persones, empreses i entitats públiques fa que sigui necessari l’ús d’aquests sistemes de seguretat.

El que hem explicat en aquesta publicació és tot transparent o, el que és el mateix, imperceptible per a l’usuari final, però conèixer una mica el seu funcionament és útil perquè puguem usar millor els certificats i aquestes tecnologies.

Feu un comentari