Infraestructura de clau pública
Una infraestructura de clau pública (PKI) és un conjunt de rols, polítiques, maquinari, programari i procediments necessaris per crear, gestionar, distribuir, utilitzar, emmagatzemar i revocar certificats digitals i gestionar el xifratge de clau pública. L'objectiu d'una PKI és facilitar la transferència electrònica segura d'informació per a una sèrie d'activitats de xarxa com ara el comerç electrònic, la banca per Internet i el correu electrònic confidencial. Es requereix per a activitats en què les contrasenyes simples són un mètode d'autenticació inadequat i es requereix una prova més rigorosa per confirmar la identitat de les parts implicades en la comunicació i per validar la informació que es transfereix.
En criptografia, una PKI és un arranjament que uneix claus públiques amb identitats respectives d'entitats (com persones i organitzacions).[1] La vinculació s'estableix mitjançant un procés de registre i emissió de certificats a i per una autoritat de certificació (CA). Depenent del nivell de garantia de l'enquadernació, això es pot dur a terme mitjançant un procés automatitzat o sota supervisió humana. Quan es fa a través d'una xarxa, això requereix utilitzar un protocol segur de registre de certificats o de gestió de certificats, com ara CMP. La funció PKI que pot delegar una CA per assegurar un registre vàlid i correcte s'anomena autoritat de registre (RA). Bàsicament, una RA s'encarrega d'acceptar les sol·licituds de certificats digitals i d'autenticar l'entitat que fa la sol·licitud.[2] El RFC 3647 de l'Internet Engineering Task Force defineix una RA com "Una entitat que és responsable d'una o més de les funcions següents: la identificació i autenticació dels sol·licitants de certificats, l'aprovació o el rebuig de les sol·licituds de certificats, l'inici de revocacions o suspensions de certificats en virtut de determinades circumstàncies, processant les sol·licituds dels subscriptors per revocar o suspendre els seus certificats i aprovar o rebutjar les sol·licituds dels subscriptors per renovar o tornar a clau. d'una CA)." [3] Tot i que Microsoft pot haver-se referit a una CA subordinada com a RA,[4] això és incorrecte segons els estàndards X.509 PKI. Les RA no tenen l'autoritat de signatura d'una CA i només gestionen la verificació i el subministrament de certificats. Per tant, en el cas de Microsoft PKI, la funcionalitat RA la proporciona el lloc web de Microsoft Certificate Services o mitjançant Active Directory Certificate Services, que fa complir la CA de Microsoft Enterprise i la política de certificats mitjançant plantilles de certificat i gestiona la inscripció de certificats (inscripció manual o automàtica). En el cas de les CA autònomes de Microsoft, la funció de RA no existeix, ja que tots els procediments que controlen la CA es basen en el procediment d'administració i accés associat amb el sistema que allotja la CA i la pròpia CA en lloc d'Active Directory. La majoria de les solucions PKI comercials que no són de Microsoft ofereixen un component RA autònom.
An entity must be uniquely identifiable within each CA domain on the basis of information about that entity. A third-party validation authority (VA) can provide this entity information on behalf of the CA.
L'estàndard X.509 defineix el format més utilitzat per als certificats de clau pública.[5]
Capacitats
[modifica]PKI ofereix "serveis de confiança", en termes senzills, confiant en les accions o sortides de les entitats, ja siguin persones o ordinadors. Els objectius del servei de confiança respecten una o més de les capacitats següents: Confidencialitat, Integritat i Autenticitat (CIA). Confidencialitat: garantia que cap entitat pot visualitzar una càrrega útil de manera malintencionada o sense voler en text clar. Les dades es xifren per fer-les secretes, de manera que, fins i tot si s'hagin llegit, sembli un galimat. Potser l'ús més comú de PKI amb finalitats de confidencialitat és en el context de la seguretat de la capa de transport (TLS). TLS és una capacitat que sustenta la seguretat de les dades en trànsit, és a dir, durant la transmissió. Un exemple clàssic de TLS per a la confidencialitat és quan s'utilitza un navegador d'Internet per iniciar sessió en un servei allotjat en un lloc web basat en Internet introduint una contrasenya. Integritat: assegurança que si una entitat canviés (manipulava) les dades transmeses de la més mínima manera, seria obvi que va passar, ja que la seva integritat s'hauria vist compromesa. Sovint no és de la màxima importància evitar que la integritat es vegi compromesa (a prova de manipulació), però, és de màxima importància que si la integritat es veu compromesa hi hagi una evidència clara que ho ha fet (evident manipulació). Autenticitat: garantia que cada entitat té certesa a què s'està connectant o pot demostrar la seva legitimitat quan es connecta a un servei protegit. La primera s'anomena autenticació del costat del servidor; normalment s'utilitza quan s'autentica en un servidor web mitjançant una contrasenya. Aquesta última s'anomena autenticació del costat del client, de vegades s'utilitza quan s'autentica amb una targeta intel·ligent (que allotja un certificat digital i una clau privada).
Disseny
[modifica]La criptografia de clau pública és una tècnica criptogràfica que permet a les entitats comunicar-se de manera segura en una xarxa pública insegura i verificar de manera fiable la identitat d'una entitat mitjançant signatures digitals.[6]
Una infraestructura de clau pública (PKI) és un sistema per a la creació, emmagatzematge i distribució de certificats digitals que s'utilitzen per verificar que una clau pública particular pertany a una determinada entitat. La PKI crea certificats digitals que mapegen les claus públiques a les entitats, emmagatzema aquests certificats de manera segura en un dipòsit central i els revoca si cal.[7][8][9]
- Una autoritat de certificació (CA) que emmagatzema, emet i signa els certificats digitals;
- Una autoritat de registre (RA) que verifica la identitat de les entitats que demanen que els seus certificats digitals s'emmagatzemen a l'AC;
- Un directori central, és a dir, una ubicació segura on s'emmagatzemen i s'indexen les claus;
- Un sistema de gestió de certificats que gestiona coses com l'accés als certificats emmagatzemats o el lliurament dels certificats a emetre;
- Una política de certificats que indica els requisits de la PKI pel que fa als seus procediments. El seu propòsit és permetre a persones externes analitzar la fiabilitat de la PKI.
Mètodes de certificació
[modifica]En termes generals, tradicionalment hi ha hagut tres enfocaments per obtenir aquesta confiança: autoritats de certificació (CA), web de confiança (WoT) i infraestructura de clau pública simple (SPKI).
Història
[modifica]Els desenvolupaments en PKI es van produir a principis dels anys setanta a l'agència d'intel·ligència britànica GCHQ, on James Ellis, Clifford Cocks i altres van fer descobriments importants relacionats amb els algorismes de xifratge i la distribució de claus.[12] Com que els desenvolupaments a GCHQ estan molt classificats, els resultats d'aquest treball es van mantenir en secret i no es van reconèixer públicament fins a mitjans dels anys noranta.
La divulgació pública tant d'intercanvi de claus segurs com d'algoritmes de claus asimètriques el 1976 per part de Diffie, Hellman, Rivest, Shamir i Adleman va canviar completament les comunicacions segures. Amb el desenvolupament de les comunicacions electròniques digitals d'alta velocitat (Internet i els seus predecessors), es va fer evident la necessitat de maneres en què els usuaris poguessin comunicar-se de manera segura entre ells, i com a conseqüència més d'això, de maneres en què els usuaris poguessin ser segur amb qui estaven interactuant realment.
Usos
[modifica]Les PKI d'un tipus o altre, i de qualsevol dels diversos proveïdors, tenen molts usos, com ara proporcionar claus públiques i enllaços a les identitats d'usuari que s'utilitzen per:
- Xifratge i/o autenticació del remitent dels missatges de correu electrònic (p. ex., utilitzant OpenPGP o S/MIME);
- Xifratge i/o autenticació de documents (per exemple, els estàndards XML Signature o XML Encryption si els documents estan codificats com a XML);
- Autenticació d'usuaris a aplicacions (p. ex., inici de sessió amb targeta intel·ligent, autenticació de client amb SSL/TLS). Hi ha un ús experimental per a l'autenticació HTTP signada digitalment als projectes Enigform i mod_openpgp ;
- Inici de protocols de comunicació segurs, com ara l'intercanvi de claus d'Internet (IKE) i SSL/TLS. En tots dos, la configuració inicial d'un canal segur (una " associació de seguretat ") utilitza mètodes de clau asimètrica, és a dir, clau pública, mentre que la comunicació real utilitza mètodes de clau simètrica més ràpida, és a dir, clau secreta;
- Les signatures mòbils són signatures electròniques que es creen mitjançant un dispositiu mòbil i es basen en serveis de signatura o certificació en un entorn de telecomunicacions independent de la ubicació;
Internet de les coses requereix una comunicació segura entre dispositius de confiança mútuament. Una infraestructura de clau pública permet als dispositius obtenir i renovar certificats X.509 que s'utilitzen per establir confiança entre dispositius i xifrar les comunicacions mitjançant TLS.
Implementacions de codi obert
[modifica]- OpenSSL és la forma més senzilla de CA i l'eina per a PKI. És un conjunt d'eines, desenvolupat en C, que s'inclou a totes les distribucions principals de Linux i que es pot utilitzar tant per crear la vostra pròpia CA (simple) com per a aplicacions habilitades per PKI. (Llicència Apache)
- EJBCA és una implementació de CA amb totes les funcions, de grau empresarial, desenvolupada en Java. Es pot utilitzar per configurar una CA tant per a ús intern com com a servei. (Llicència LGPL)
- XiPKI, responent CA i OCSP. Amb suport SHA-3, implementat a Java. (Llicència Apache)
- XCA és una interfície gràfica i una base de dades. XCA utilitza OpenSSL per a les operacions PKI subjacents.
- DogTag és una CA amb totes les funcions desenvolupada i mantinguda com a part del projecte Fedora.
- CFSSL conjunt d'eines de codi obert desenvolupat per CloudFlare per signar, verificar i agrupar certificats TLS. (Llicència de 2 clàusules BSD)
- Eina Vault per a la gestió segura de secrets (certificats TLS inclosos) desenvolupada per HashiCorp. (Llicència pública de Mozilla 2.0 amb llicència)
- Boulder, una CA basada en ACME escrita en Go. Boulder és el programari que executa Let's Encrypt.
Referències
[modifica]- ↑ Chien, Hung-Yu (en anglès) Electronics, 10, 16, 19-08-2021, pàg. 2009. DOI: 10.3390/electronics10162009. ISSN: 2079-9292 [Consulta: free].
- ↑ Fruhlinger, Josh. «What is PKI? And how it secures just about everything online» (en anglès). CSOOnline, 29-05-2020. [Consulta: 26 agost 2021].
- ↑ «Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework» (en anglès). IETF. [Consulta: 26 agost 2020].
- ↑ «Public Key Infrastructure» (en anglès). MSDN. [Consulta: 26 març 2015].
- ↑ «Using Client-Certificate based authentication with NGINX on Ubuntu - SSLTrust» (en anglès). SSLTrust. [Consulta: 13 juny 2019].
- ↑ Adams, Carlisle. Understanding PKI: concepts, standards, and deployment considerations (en anglès). Addison-Wesley Professional, 2003, p. 11–15. ISBN 978-0-672-32391-1.
- ↑ Trček, Denis. Managing information systems security and privacy (en anglès). Birkhauser, 2006, p. 69. ISBN 978-3-540-28103-0.
- ↑ Vacca, Jhn R.. Public key infrastructure: building trusted applications and Web services (en anglès). CRC Press, 2004, p. 8. ISBN 978-0-8493-0822-2.
- ↑ Viega, John. Network Security with OpenSSL (en anglès). O'Reilly Media, 2002, p. 61–62. ISBN 978-0-596-00270-1.
- ↑ Vacca, Jhn R.. Public key infrastructure: building trusted applications and Web services (en anglès). CRC Press, 2004, p. 8. ISBN 978-0-8493-0822-2.
- ↑ Al-Janabi, Sufyan T. Faraj. «Combining Mediated and Identity-Based Cryptography for Securing Email». A: Ariwa, Ezendu. Digital Enterprise and Information Systems: International Conference, Deis, [...] Proceedings (en anglès). Springer, 2012, p. 2–3. ISBN 9783642226021.
- ↑ Ellis, James H. «The Possibility of Secure Non-Secret Digital Encryption», 01-01-1970. Arxivat de l'original el 2014-10-30.