CursodeCertificadosDigitales-Nov2011

105
Javier Neira Vilalba [email protected] Curso de Certificados Digitales Seidor 2011 Breve Introducción La firma y cifrado ¿Qué es y para qué nos sirve? ¿Cómo funciona? Ejemplo de firma Ejemplo de cifrado Creación de Certificados personales OpenSSL Manejo de ficheros PEM, DER, PFX... Configurar Outlook Express Certificados en Mozilla Firefox DNI electrónico Firma digital en un documento Estructura interna del DNIE Sobre Smartcards Las zonas del DNIE La zona pública La zona privada Análisis de la captura Resultados Firma de un documento con el DNI electrónico Verificar que funciona 1 / 105

Transcript of CursodeCertificadosDigitales-Nov2011

  • [email protected]

    CursodeCertificadosDigitalesSeidor2011

    BreveIntroduccinLafirmaycifrado

    Quesyparaqunossirve?Cmofunciona?EjemplodefirmaEjemplodecifrado

    CreacindeCertificadospersonalesOpenSSLManejodeficherosPEM,DER,PFX...ConfigurarOutlookExpressCertificadosenMozillaFirefoxDNIelectrnico

    FirmadigitalenundocumentoEstructurainternadelDNIE

    SobreSmartcardsLaszonasdelDNIELazonapblicaLazonaprivada

    AnlisisdelacapturaResultados

    FirmadeundocumentoconelDNIelectrnicoVerificarquefunciona

    1/105

  • [email protected]

    BreveIntroduccinhttp://k3x.es/z84/publicaciones/receta_thunderbird_seguro/receta_thunderbird_seguro.html

    A pesar de que las firmas digitales son algo comn, conseguir una firma digital no es fcil, los certificados los emiten empresas poderosas que solicitan dinero para la emisin de los mismos, o bien, solicitan demasiada documentacin para verificar la entidad del solicitante. Muchas veces solo requerimos la firma o certificado para uso interno dentro de un grupo cerrado y que puede estar sujeto a cambios segn nuestras necesidades, lo cual, nos lleva a la cuestin de como obtener certificados digitalesgratuitosrpidamente.

    Para obtener certificados gratuitos por nosotros mismos vamos a recurrir a una aplicacin gratuita llamada Openssl, que permite la creacin de certificados siendo nosotros mismos la autoridad de certificacinCA.

    Antesdenadavamosadescribirciertosconceptosextradosdelawikipedia:

    Autoridad de certificacin o autoridad certificante (AC) es una entidad que emite certificados digitales para suusoporterceros.

    En el sistema X.509, una autoridad certificadora (AC) emite un certificado asociando una clave pblica a un nombre particular o a un Nombre alternativo tal como una direccin de correo electrnico o una entradadeDNS.Extensionesdearchivodecertificados.

    LasextensionesdearchivodecertificadosX.509son:*.CERCertificadocodificadoenCER,algunasvecesesunasecuenciadecertificados*.DERCertificadocodificadoenDER*.PEMCertificadocodificadoenBase64,encerradoentre"BEGINCERTIFICATE"y

    "ENDCERTIFICATE"*.P7BVer.p7c*.P7CEstructuraPKCS#7SignedDatasindatos,solocertificado(s)oCRL(s)*.PFXVer.p12*.P12PKCS#12,puedecontenercertificado(s)(pblico)yclavesprivadas(protegidoconclave)

    PKCS #7 es un estndar para firmar o cifrar datos (ellos lo llaman "sobreado"). Dado que el certificado es necesario para verificar datos firmados, es posible incluirlos en la estructura SignedData. Un archivo .P7C essimplementeunaestructuraSignedData,sindatosparafirmar.

    PKCS #12 evolucion del estndar PFX (Personal inFormation eXchange) y se usa para intercambiar objetospblicosyprivadosdentrodeunarchivo.

    Un archivo .PEM puede contener certificados o claves privadas, encerrados entre las lneas BEGIN/END apropiadas.Cualquier individuo o institucin puede generar un certificado digital, pero si ste emisor no es reconocido

    2/105

  • [email protected]

    por quienes interacten con el propietario del certificado, el valor del mismo es prcticamente nulo. Por ello los emisores deben acreditarse: as se denomina al proceso por el cul entidades reconocidas, generalmente pblicas, otorgan validez a la institucin certificadora, de forma que sufirma pueda ser reconocidacomofiable,transmitiendoesafiabilidadaloscertificadosemitidosporlacitadainstitucin.La gran mayora de los emisores tiene fines comerciales, y otros, gracias al sistema de anillo de confianzapuedenotorgargratuitamentecertificadosentodoelmundo.Ya veremos en este articulo como importar manualmente los certificados de confianza CA a partir de un certificado x509 que nosotros mismos hemos creado, al realizar la importacin manual en ese mismo momentopodemosdarconfianzaalcertificado.Bien despus de esta introduccin ya podemos realizar el 1 paso de crear nuestros certificados digitales:

    Lafirmaycifradohttps://www.mozillahispano.org/documentacion/Firma_y_cifrado_de_correos_electr%C3%B3nicos

    Quesyparaqunossirve? Firma:nospermitequenuestrodestinatariocompruebequeelmensajenofuemodificadoen

    elcaminoyqueloqueleeesexactamenteloqueredactamos. Cifrado:nospermiteocultarelcontenidodelmensajeparaquesloeldestinatariofinal

    puedaleerlo.Nosonexcluyentes,sepuedenusarparacrearunmensajedecorreofirmadoycifrado.

    Cmofunciona?Laexplicacindelprocesoeslapartemscomplicada,perovamosaintentarverlodeformaprcticaymuygrfica.Paraquetodoelprocesofuncionecadausuariodebedisponerdeunpardeclaves,similaratenerdosllaves,unaquedaremosalagente(clavepblica)yotraquenodaremosanadie(claveprivada).

    Clavepblica:selaenviaremosatodoelmundoquelaquiera,lasubiremosaunservidor,oanuestraweb...Estaclavepermitiralagenteverificarnuestrafirmaycrearmensajescifradosparanosotros.

    Claveprivada:noseladaremosanadie,yaquenospermitirfirmarydescifrarcorreo.EsimportantedarsecuentadequeestasclavessondosarchivosquesegenerarnennuestroPCyqueestnntimamenteligadas,peronosepuedeaveriguarunaatravsdelaotra.

    3/105

  • [email protected]

    EjemplodefirmaSupongamosquequeremosmandarunmensajefirmadoanuestroamigoPepe.Paraello,antesdenada,debemosrecordarquePepedebetenernuestraclavepblica.

    Graciasanuestraclaveprivadageneraremosuncorreofirmado. Peperecibirnuestrocorreofirmado. Pepeusarnuestraclavepblicaparacomprobarlavalidezdelafirma.

    4/105

  • [email protected]

    EjemplodecifradoAhorasupondremosquequeremosmandaraPepeunmensajecifradoparaqueslolpuedaverelcontenido.Paraello,previamente,dispondremosdelaclavepblicadePepe.

    ConlaclavepblicadePepecifraremoselmensaje. Peperecibirunmensajecifrado. Pepeusarsuclaveprivadaparaverelcontenidodelmismo.

    5/105

  • [email protected]

    CreacindeCertificadospersonalesCuentadecorreo:[email protected]:pop3.grupodata.comsmtp:smtp.grupodata.compassword:123

    Crearcuentaen:https://www.cacert.org/[email protected]

    6/105

  • [email protected]

    Validarelcorreo:

    NosdescargamoselcertificadodeRootCAyposteriormenteelintermedio.

    Podemosinstalarloodescargarloeinstalarlomstarde:

    7/105

  • [email protected]

    Noslosdescargamos:

    Tenemosvariosformatos:PEM,DER,Text....yelegimosuno.NosdecargamoselPEMyvemoslapropiedades:

    8/105

  • [email protected]

    9/105

  • [email protected]

    10/105

  • [email protected]

    InstalamoselcertificadoRaiz,paraquetodosloscertificadosquegeneremosapartirdeaquconlarazcertCAseanautorizados.

    Pulsamossiguienteentodoylisto:

    Nosdescargamosahoraelcertificadointermedio:

    11/105

  • [email protected]

    Descargareinstalar:

    Instalamostambinesteltimo:

    12/105

  • [email protected]

    13/105

  • [email protected]

    Ahoraqueyaestinstaladovemoselrepositoriodewindows.VemoslaconflagracindeloscertificadosenInternetExplorer:

    14/105

  • [email protected]

    Paracomprobarqueestinstaladopodemosverlahuelladelquetenemosenelescritorio:

    Ycompararloconelqueestinstalado:

    15/105

  • [email protected]

    Comovemoslahuelladigitalcoincideysonelmismo,hemosinstaladocorrectamenteelcertificadodigitaldelaentidadcertificadoraCAcert.

    Ahoravemoselintermedioquetambindebeestarcorrectamenteinstalado:

    Estaeslahuelladelcertificadointermedio:

    Ahoracomprobamosqueestcorrectamenteinstaladoenlapestaadecertificadosintermedios:

    16/105

  • [email protected]

    EselmismoporlotantoestacorrectamenteinstaladoenInternetexplorer.

    Ahoravamosacrearuncertificadopersonal.comoyatenemoselcertificadoraizdecertCAnonosdarproblemasenreconocerlavalidez.

    Logarse:

    Crearunnuevocertificado:

    17/105

  • [email protected]

    Elegimoslafortalizadelaclave:

    18/105

  • [email protected]

    19/105

  • [email protected]

    Clave 1234 (password de la clave privada de mi certificado para p8#grupodata.com generado porcertCAcomoentidademisoradecertificados).

    Esperamos....esperamos.

    20/105

  • [email protected]

    BEGINCERTIFICATE

    MIIEqjCCApKgAwIBAgIDCwW9MA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTExMTEyOTExNDYwNloXDTEyMDUyNzExNDYwNlowOzEYMBYGA1UEAxMPQ0FjZXJ0IFdvVCBVc2VyMR8wHQYJKoZIhvcNAQkBFhBwOEBncnVwb2RhdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrQDM6rL/BMdG7sOQKGfX42FEGKPAfZmJvbCKpqkjvMfLhos5Fmm5FB6j9N21Ub1kc93XFnQlcML5clBU7pvR8eg1H2yMQI6oLrQfFbfEwA7zJ4U9oc09lG06baCsAozwGTAqrwzTxmFTRdv2VRGkjRbnypX+ZZM5Zy1rTbxxeEQIDAQABo4H8MIH5MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFkIG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMEAGA1UdJQQ5MDcGCCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAbBgNVHREEFDASgRBwOEBncnVwb2RhdGEuY29tMA0GCSqGSIb3DQEBBQUAA4ICAQAF0nAWXakkZf8wPQBAwKqCCEabYVG6RgwQOBISca9j4A1pxPqctcdrCv9ZEEF7QpP3dTKGpQlV9WREXwjvR0xOYhXCahLRZOitmZZ6I09m5je3r+Jzg8qA8vS8INYscDW+zZzCaDX80Yg8cpbcF0GavumJM6gxUFmRRwhMtkfss7NfJV4wo69cIq32G6cVwT756+SWcnaF2RTqFcKzfDcsVXuysZclBHLqBluGgfmCPgYTWIJ0Aju1/Pt+PqVxXT0WAFhbpt0QiimIYku2DJCLfMtq6jlrOcjSW3fApUVhV0HCapHS01Y3IaHAndWAQEO+99LyLce46nqkYcrF/+9d5WYgdQWHJpqgPiMr0PtFlB0uGudDMybYFzqa66K0W1djvVy1r+s2uveW9iAY37k5cKpdW96ANUOxbzY7fXJkPPPYyU5oi2a5x3gcRz08Oi6ktlNcHsQz0XFwhZsk9kKHdHueFFQEPioQiyqCz/S1gMjADxgRC8nFQ5R4ocyJ7stR7qZ+lp8OHXJhDn+n/PFeyNsmV9GSUEBBgVb98H+PK5d9uxODINCrPK0qGOet0A1PNzlm5QwflYu7Z0URGlqnP5aLwpbZRPeLPf6m+QN/XWDzwFsSX2LhAqx27r0y4i40NEY6wWRNXGRmd/XYPSDoQnRWx2ZCAxgkxZYDx6jjcA==ENDCERTIFICATE

    Internet explorer ha generado una clave publica y otra privada se la ha dado a CAcert y este ha proporcionadouncertficadodigital.

    Enelcorreonosapareceesto:

    21/105

  • [email protected]

    Ahorapodemosinstalarlo:

    Comprobamosquesehainstaladoennuestracarpetapersonal:

    22/105

  • [email protected]

    Vemoslosdetallesdelcertificado:

    [email protected]

    23/105

  • [email protected]

    Vemos el rbol de certificados donde est el mio y encima la entidad certificadora que est correctayaquelahemosaadidoalprincipio.

    Si no hubiera aadido cacert me pondra que CAcert Wot User no se puede validar ya que no reconoce su entidad emisora que es CA Cert Signing Authority , pero al haberlo aadido como entidademisoradecertificadosdeconfianzayareconocemicertificado.

    Podemos exportar la clave pblica y/o la clave privada, ahora vamos a exportar la clave privada, como copia de seguridad, ademas vamos a exportrar no solo mi certificado (pub y priv) sino vamosaexportarlaRootCaylaIntermedia.

    24/105

  • [email protected]

    Tenemso que hacerlo en otro formato que no sea DER ni X509 ya que no permite exportar clave privada.

    Aqu nos pregunta la clave que queremos poner en nuestro certificado (clave privada) voy a ponerlamismadeantes:1234

    25/105

  • [email protected]

    Ahora nos pide la clave del certificado 1234 para acceder al certificado y poder descargarse la la clave.

    Ahora podemos borrar el certificado personal que tenemos en internet explorer y restauralo del ficheroquehemoscreado,comosifueseunpcnuevo.

    Vanosaborrarelcertificadopersonaleinstalareste:

    26/105

  • [email protected]

    Ponemos la clave 1234 y marcamos las 2 opcioens, la primera es para que siempre que se

    27/105

  • [email protected]

    utilizze este certificado nos pida clave y la segunda es para poder hacer lo que dice, copias de seguridaddesdeestecertificadoimportado.

    Como antes se ha marcado que exporte, las cacert y el intermedia, si no existen la aade y as nuesrocertificadoestotalmentevlido.

    Pulsamossiguienteyalfinalvolvemosarepetirtodoslosdatos:

    28/105

  • [email protected]

    Ya que el software de internet explorer no tiene nada que ver con la criptoAPI , por eso debemos rellenarlootravez.

    Ponemosnivelalto.

    Y la misma password esto es para que cada vez que se utilize nos pida esta clave, ese reptir el pasodeantes.

    29/105

  • [email protected]

    OpenSSLInstalamoselopensslyelsoftwaredeVisualC++siguiente:

    Unavezintalado:

    CreounficheroPEMconelnotepadbasadoenlaclavepblicageneradaantes:

    30/105

  • [email protected]

    Vamos a ver el contenido de la clave publica con openssl, esto sirve solo para las pblicas no paralasprivadas.

    Vamosaejecutaresto:

    31/105

  • [email protected]

    Conestovemoslomismoquesiaccedemosalosdetallesdesdewindows.

    32/105

  • [email protected]

    33/105

  • [email protected]

    Conlautilidadopensslpodemosconvertirunformatoenotro.

    LospfxcontienelaclavepublicaylaprivadayelPEMsololaclavepblica.

    Ahoravamosapasardeunformatopfxapem.

    Ejecutamosesto:

    Enunaterminalcmd:

    Si ponemos nodes aadimos al pem tamben los certificados intermedios, siempre y cuando

    34/105

  • [email protected]

    loshayamosexportadolaprimeravez.

    Aquponemossiempre1234

    Aunquewindowsnoloveabiensehadescargadocorrectamente.

    Vamosaverloconelnotepad++

    Estoesloquesehagenerado:

    BagAttributeslocalKeyID:01000000MicrosoftCSPName:MicrosoftEnhancedCryptographicProviderv1.0friendlyName:e270118251dc595dcee09bb1d3351024_63007e3c0be64de39a36a0dfe9ed83f9KeyAttributesX509v3KeyUsage:10BEGINPRIVATEKEYMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAKtAMzqsv8Ex0buw5AoZ9fjYUQYo8B9mYm9sIqmqSO8x8uGizkWabkUHqP03bVRvWRz3dcWdCVwwvlyUFTum9Hx6DUfbIxAjqgutB8Vt8TADvMnhT2hzT2UbTptoKwCjPAZMCqvDNPGYVNF2/ZVEaSNFufKlf5lkzlnLWtNvHF4RAgMBAAECgYEAqJ8/kk/VRJMclDZ6ZGPpqky9g1Y+En0LAfG1M+EDjdtd78USXMDSQVBommTAV3qIgZg8tAeL1uX8G0aIncMoSedBBiupmw1jF3osAOTZcuxUBX3EPY7aLWO1oWPeS5/v5Orz6Tef+J2NfMbLpJvuSFCrN4Q7wQ2Zs5XNyK4GnlECQQDkBtM4HTW0GaENy/Y8QLHvUjGABisv0ywHrRvDRQ67xkLSZAUiZnpFPMb5ppM6ynbPOu6U3pqP/3oYOYc9SSmFAkEAwEJUQz4QZGRqA5VHXZqMJ+YijOzTI8X+cZA8x+i0PiiatcTU8RZxp06KHBC1qDFN2yOV8d753fcRTl5cbsMiHQJBAJUcgXLoZv3m5JKJFfRAuhqtvQDjB8q2ZMyAPu9qcUAJXhkGnvTn3nz4SYVnkE+ZpifNecaP6rLPdZ/xvqYs+aECQE9TDrEvylOhmpwf23IjcfCEY30BuZvo9TKl8G4K9VMwLaURsUpHmF0PaqxpuInMzfK8nAFPnoiWh+1twXVxzYECQQCFlAmNO5W38JO6XVcTBL25IydeBTmMXSlTifFb1SqkrayGsYCxazu/FEtnHjAlEvLhPJk//4uqImpSB+iFIeEzENDPRIVATEKEYBagAttributeslocalKeyID:01000000subject=/CN=CAcertWoTUser/[email protected]=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.orgBEGINCERTIFICATEMIIEqjCCApKgAwIBAgIDCwW9MA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ

    35/105

  • [email protected]

    Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTExMTEyOTExNDYwNloXDTEyMDUyNzExNDYwNlowOzEYMBYGA1UEAxMPQ0FjZXJ0IFdvVCBVc2VyMR8wHQYJKoZIhvcNAQkBFhBwOEBncnVwb2RhdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrQDM6rL/BMdG7sOQKGfX42FEGKPAfZmJvbCKpqkjvMfLhos5Fmm5FB6j9N21Ub1kc93XFnQlcML5clBU7pvR8eg1H2yMQI6oLrQfFbfEwA7zJ4U9oc09lG06baCsAozwGTAqrwzTxmFTRdv2VRGkjRbnypX+ZZM5Zy1rTbxxeEQIDAQABo4H8MIH5MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFkIG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMEAGA1UdJQQ5MDcGCCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAbBgNVHREEFDASgRBwOEBncnVwb2RhdGEuY29tMA0GCSqGSIb3DQEBBQUAA4ICAQAF0nAWXakkZf8wPQBAwKqCCEabYVG6RgwQOBISca9j4A1pxPqctcdrCv9ZEEF7QpP3dTKGpQlV9WREXwjvR0xOYhXCahLRZOitmZZ6I09m5je3r+Jzg8qA8vS8INYscDW+zZzCaDX80Yg8cpbcF0GavumJM6gxUFmRRwhMtkfss7NfJV4wo69cIq32G6cVwT756+SWcnaF2RTqFcKzfDcsVXuysZclBHLqBluGgfmCPgYTWIJ0Aju1/Pt+PqVxXT0WAFhbpt0QiimIYku2DJCLfMtq6jlrOcjSW3fApUVhV0HCapHS01Y3IaHAndWAQEO+99LyLce46nqkYcrF/+9d5WYgdQWHJpqgPiMr0PtFlB0uGudDMybYFzqa66K0W1djvVy1r+s2uveW9iAY37k5cKpdW96ANUOxbzY7fXJkPPPYyU5oi2a5x3gcRz08Oi6ktlNcHsQz0XFwhZsk9kKHdHueFFQEPioQiyqCz/S1gMjADxgRC8nFQ5R4ocyJ7stR7qZ+lp8OHXJhDn+n/PFeyNsmV9GSUEBBgVb98H+PK5d9uxODINCrPK0qGOet0A1PNzlm5QwflYu7Z0URGlqnP5aLwpbZRPeLPf6m+QN/XWDzwFsSX2LhAqx27r0y4i40NEY6wWRNXGRmd/XYPSDoQnRWx2ZCAxgkxZYDx6jjcA==ENDCERTIFICATEBagAttributes:subject=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/[email protected]=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.orgBEGINCERTIFICATEMIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42yfk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jcG8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4kepKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43qlaegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQQUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivUfslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4wggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGYgBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRwczovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYlaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhCAQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg

    36/105

  • [email protected]

    b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIBACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCcnWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/cgr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBlJzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvYsONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+TSCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYFCpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwumGCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzkzk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmWomTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVDENDCERTIFICATE

    Sirealizamosesto:

    Noscrealosmisoperoconlaclaveprivadacifradacon1234alnoponernodes

    BagAttributeslocalKeyID:01000000MicrosoftCSPName:MicrosoftEnhancedCryptographicProviderv1.0friendlyName:e270118251dc595dcee09bb1d3351024_63007e3c0be64de39a36a0dfe9ed83f9KeyAttributesX509v3KeyUsage:10BEGINENCRYPTEDPRIVATEKEYMIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI1Tc6pISxCqICAggAMBQGCCqGSIb3DQMHBAj8FA+gvbZguASCAoCFdFZLV7KZE7VNKBiILoBRAIgc8HhdKu5nRoqlMxgKoqp70z7JZWmCI31mfQASjsm++SztBoYIpbz8x7pKxpCc+Dnki7vKj/iegKhjhaOEEmX+HT9+XyIHh4hk/6etVYyI/C2uLeZOEuWHQTwZ0CO0BFqPa/rfTYkvCuFgkzQxRApDVyf5TG9r3nCPkLGLNK3RL4g4IwSA8rjmC2hxsN4Zr+lO1gZYz2mIO2fcJZWLhuip24753MMfBVBjr6FIXOkRvBx+yKz6qShWG2Rg67cO2q4I5J7pkrjGJ9t5WM5r91erjoApu9/tdAyA43An5g3jOesQR02otrndhx7vNKRk+lI5zQUDupnlJD8HnbeyAQUCibqkuCAGI4DB0RLM2vrO110eqSDVs/CPyAMNy+sL5zoKk5hzFuUalDhZBKcBWFsK+Jhrz0AG1nfI/oplLLLP7xLTfXgluRJBdJfr1etDolqm/cma85+sZK54cXbJyjHFmtg5oJrHiM4vaaIzz4j63Tuq9izPyq1TkLOjsbKC4Qn5cFOCOpr54fULq5d6vp3c5lFDS71JhrB/EkBYbGwkYf2k3Zy2gwB+awGKdWZMj4kQtxxs4NX2/byk+GHexAqDyOdVqOTgx3HKEAeE9FeA6SXpv2mCqWMOq7s3ubqhGgc/2Bo8f1PHM+zpTJEb11W5ikn5Ftsz3/vdsN8e+auJ3k/k5tGmMr0L9+339u9Dji+5dOUMj18I3pM3R4hWRiY8dJrxnbhQh0FUgL+L18yeirQS8pZ2r6ozbMsajXLyQcsOonHrGdGSm06e5mgtujE82RX5pu3972wKt4hoqwc4SCDNclThTa+afbGEzkc5ENDENCRYPTEDPRIVATEKEYBagAttributeslocalKeyID:01000000subject=/CN=CAcertWoTUser/[email protected]=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/[email protected]

    37/105

  • [email protected]

    BEGINCERTIFICATEMIIEqjCCApKgAwIBAgIDCwW9MA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTExMTEyOTExNDYwNloXDTEyMDUyNzExNDYwNlowOzEYMBYGA1UEAxMPQ0FjZXJ0IFdvVCBVc2VyMR8wHQYJKoZIhvcNAQkBFhBwOEBncnVwb2RhdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrQDM6rL/BMdG7sOQKGfX42FEGKPAfZmJvbCKpqkjvMfLhos5Fmm5FB6j9N21Ub1kc93XFnQlcML5clBU7pvR8eg1H2yMQI6oLrQfFbfEwA7zJ4U9oc09lG06baCsAozwGTAqrwzTxmFTRdv2VRGkjRbnypX+ZZM5Zy1rTbxxeEQIDAQABo4H8MIH5MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFkIG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMEAGA1UdJQQ5MDcGCCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAbBgNVHREEFDASgRBwOEBncnVwb2RhdGEuY29tMA0GCSqGSIb3DQEBBQUAA4ICAQAF0nAWXakkZf8wPQBAwKqCCEabYVG6RgwQOBISca9j4A1pxPqctcdrCv9ZEEF7QpP3dTKGpQlV9WREXwjvR0xOYhXCahLRZOitmZZ6I09m5je3r+Jzg8qA8vS8INYscDW+zZzCaDX80Yg8cpbcF0GavumJM6gxUFmRRwhMtkfss7NfJV4wo69cIq32G6cVwT756+SWcnaF2RTqFcKzfDcsVXuysZclBHLqBluGgfmCPgYTWIJ0Aju1/Pt+PqVxXT0WAFhbpt0QiimIYku2DJCLfMtq6jlrOcjSW3fApUVhV0HCapHS01Y3IaHAndWAQEO+99LyLce46nqkYcrF/+9d5WYgdQWHJpqgPiMr0PtFlB0uGudDMybYFzqa66K0W1djvVy1r+s2uveW9iAY37k5cKpdW96ANUOxbzY7fXJkPPPYyU5oi2a5x3gcRz08Oi6ktlNcHsQz0XFwhZsk9kKHdHueFFQEPioQiyqCz/S1gMjADxgRC8nFQ5R4ocyJ7stR7qZ+lp8OHXJhDn+n/PFeyNsmV9GSUEBBgVb98H+PK5d9uxODINCrPK0qGOet0A1PNzlm5QwflYu7Z0URGlqnP5aLwpbZRPeLPf6m+QN/XWDzwFsSX2LhAqx27r0y4i40NEY6wWRNXGRmd/XYPSDoQnRWx2ZCAxgkxZYDx6jjcA==ENDCERTIFICATEBagAttributes:subject=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/[email protected]=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.orgBEGINCERTIFICATEMIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42yfk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jcG8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4kepKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43qlaegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQQUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivUfslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4wggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGYgBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRwczovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0

    38/105

  • [email protected]

    dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYlaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhCAQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQgb3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIBACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCcnWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/cgr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBlJzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvYsONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+TSCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYFCpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwumGCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzkzk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmWomTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVDENDCERTIFICATE

    39/105

  • [email protected]

    ManejodeficherosPEM,DER,PFX...Vamos a convertir nuestra clave pblica PEM en formato DER (fichero .cer) con el que si trabajowindows.

    Yalotengoenformatoqueentiendewindows.

    Ahoravamosaexportarnuestrocertificadodeinternetexplorperosololaprivada.

    40/105

  • [email protected]

    LacontraseavaaserSeidor2011

    Con esto estamos cambiando la password de la clave privada, ahora nos pide nuestra clave paraaccederallaclaveprivada.

    Aqulaclavees1234laoriginal.

    Sehacreadoelfichero.pfxquecontienelaclavepblicayprivada.

    41/105

  • [email protected]

    Vamosaintercambiartodoslosficherosparapracticar:

    Necesitamos5ficheros:

    [email protected]@grupodata.com.pub.cerpublicap8@grupodata.com.pfxpublicayprivadap8@grupodata.com.pempublicayprivadap8@grupodata.com.cerpublicayprivada

    [email protected]

    Estologuardamosenunfichero.pemcomosifiuerauntxt.

    [email protected]

    42/105

  • [email protected]

    Lecambiamoselnombreyponemosp8grupodata.com.pub.cer

    [email protected]

    Esteficherolocreamosexportandocomoantesconelintenetexplorer.

    [email protected]

    Paracrearesteficherolosgeneramosapartirdelpfxyelcerlogeneraremosapartirdelpem.

    Su contenido es contiene la clave privada (cifrada) la publica y el intermedio. He tenido que poner 2 veces la clave, la primera para acceder a la clave privada y la segunda para cifrar la claveprivadaenelnuevofichero.

    Si no pusiese la segunda clave para cifrar la clave privada, la clave privada NO SE EXPORTARA.

    BagAttributeslocalKeyID:01000000friendlyName:{0F2D73442F144C6C8B11038287DF5B08}MicrosoftCSPName:MicrosoftEnhancedCryptographicProviderv1.0KeyAttributesX509v3KeyUsage:10BEGINENCRYPTEDPRIVATEKEYMIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIZ+OYmMUzWMACAggAMBQGCCqGSIb3DQMHBAj9gjcjjLPoAgSCAoCei2stQYKA9T2OcPx5QxnrIktzfJpYg2ICch6e+mm75xJ2spVlpU7vTHLIJ8ZdmrEp4+FhvUutFyCwjb6Mzn+JfSF9VXU1bE2BBHBREDsa8Bl+qhtY3IFd5zg9RpdahYvE3QQQshVwIl8bwGsmjKn5ccPyPHVgcGQ222j+HuxXdqDCtvIUYWKWrcBEvjHaHm5uc4jKkn2Ik8D6QZ3f6n9+v0fgzbXWaAqCpPEv5/jGRMW48Q9HbkSfreEx3RkOQNlRhFM9TSVBnJfTLwMr8Qk2PGG3AeOWAT0YT+3H1Q1SrKQSiVIKYQ/WdFcduZn3MCeOA83Q1jShqCHa4Vm0SR4xntvxw1OLIfbva0J5loOdNR0NvF7UIZw0TXgyDFe7bjuU+3oO6uRklrD4zjuHYL0iooIxekXaatW0w9JmJ0MgtMaqE2edHAhD4rBY9jgSy3N6UiDoEqTVKRBk+0MPfVfFSmpsX0+gtyiesHTH/zLzt/0d+J79JluFlc3iaVUbwgfYRcVOlo5IwoiMNWPgwoIyaGQHQaImu5/zwawBJBIU1f85t/2guYrO9b6wW67TmHa6x7C6iivf5tcx9G6ifbrL3NO/pKK4+8BdKXnpsa9V3mIU0nCOsu/+Pc/a0sZVglqNbAkz1M7ZkOFkecPsmDtVvz/ZhpWtbN41TN7Vqhq0XYuqJ1CoceE1RdjeOYH1pynXi49E2a4Al9QsqBZ/imJlABhaRVw84svGI/ofKB3G9cemphbrLXbZqhxuTBPLSJVQxHJt09CUPXg3SCa06Fgabx3dXFeM2rOSZc+jEjiesACvH3LGvsm8FeJUyTxZcl8QPLvS6/41W7LK3MJzIOmwENDENCRYPTEDPRIVATEKEYBagAttributeslocalKeyID:01000000subject=/CN=CAcertWoTUser/[email protected]

    43/105

  • [email protected]

    issuer=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.orgBEGINCERTIFICATEMIIEqjCCApKgAwIBAgIDCwW9MA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTExMTEyOTExNDYwNloXDTEyMDUyNzExNDYwNlowOzEYMBYGA1UEAxMPQ0FjZXJ0IFdvVCBVc2VyMR8wHQYJKoZIhvcNAQkBFhBwOEBncnVwb2RhdGEuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrQDM6rL/BMdG7sOQKGfX42FEGKPAfZmJvbCKpqkjvMfLhos5Fmm5FB6j9N21Ub1kc93XFnQlcML5clBU7pvR8eg1H2yMQI6oLrQfFbfEwA7zJ4U9oc09lG06baCsAozwGTAqrwzTxmFTRdv2VRGkjRbnypX+ZZM5Zy1rTbxxeEQIDAQABo4H8MIH5MAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4QgENBEkWR1RvIGdldCB5b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFkIG92ZXIgdG8gaHR0cDovL3d3dy5DQWNlcnQub3JnMEAGA1UdJQQ5MDcGCCsGAQUFBwMEBggrBgEFBQcDAgYKKwYBBAGCNwoDBAYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZXJ0Lm9yZzAbBgNVHREEFDASgRBwOEBncnVwb2RhdGEuY29tMA0GCSqGSIb3DQEBBQUAA4ICAQAF0nAWXakkZf8wPQBAwKqCCEabYVG6RgwQOBISca9j4A1pxPqctcdrCv9ZEEF7QpP3dTKGpQlV9WREXwjvR0xOYhXCahLRZOitmZZ6I09m5je3r+Jzg8qA8vS8INYscDW+zZzCaDX80Yg8cpbcF0GavumJM6gxUFmRRwhMtkfss7NfJV4wo69cIq32G6cVwT756+SWcnaF2RTqFcKzfDcsVXuysZclBHLqBluGgfmCPgYTWIJ0Aju1/Pt+PqVxXT0WAFhbpt0QiimIYku2DJCLfMtq6jlrOcjSW3fApUVhV0HCapHS01Y3IaHAndWAQEO+99LyLce46nqkYcrF/+9d5WYgdQWHJpqgPiMr0PtFlB0uGudDMybYFzqa66K0W1djvVy1r+s2uveW9iAY37k5cKpdW96ANUOxbzY7fXJkPPPYyU5oi2a5x3gcRz08Oi6ktlNcHsQz0XFwhZsk9kKHdHueFFQEPioQiyqCz/S1gMjADxgRC8nFQ5R4ocyJ7stR7qZ+lp8OHXJhDn+n/PFeyNsmV9GSUEBBgVb98H+PK5d9uxODINCrPK0qGOet0A1PNzlm5QwflYu7Z0URGlqnP5aLwpbZRPeLPf6m+QN/XWDzwFsSX2LhAqx27r0y4i40NEY6wWRNXGRmd/XYPSDoQnRWx2ZCAxgkxZYDx6jjcA==ENDCERTIFICATEBagAttributes:subject=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/[email protected]=/O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.orgBEGINCERTIFICATEMIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNBIENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRAY2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42yfk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jcG8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4kepKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43qlaegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQQUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivUfslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4wggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGYgBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy

    44/105

  • [email protected]

    dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRwczovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYlaHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhCAQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQgb3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIBACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCcnWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/cgr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBlJzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvYsONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+TSCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYFCpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwumGCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzkzk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmWomTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVDENDCERTIFICATE

    [email protected]

    Esteficherologeneramosapartirdel.pemanteriorquecontienelaclaveprivadaypblica.

    Cereselformatoqueentiendewindows.

    Ahoratenemos5ficheros:

    [email protected] que es el original del principio solo tiene nuestra clave pblica (originalcertificado_personal_publica.pem)[email protected] que contiene el formato PEM pero de forma que lo entienda [email protected], el que acabamos de exportar ahora mismo y tiene la clave pblica y privadaascomoloscertificadosintermediosyeldelCAcert.p8@grupodata.com.pem, este fichero lo hemos creado a partir del pfx. Contiene la clave [email protected], este fichero lo hemos generado a partir del .pem y contiene la clave

    45/105

  • [email protected]

    privadaypblica.

    [email protected]

    46/105

  • [email protected]

    [email protected]

    Nohetenidotiempodemirarcomosehace.

    47/105

  • [email protected]

    [email protected]

    Este fichero tiene clave privada, primero me pide Seidor2011, porque fue la clave con el que lo export antes y despues me pide otra clave, si no pongo nada solo me exporta la clave pblica dep8ylaclavepblicadelintermedio.

    48/105

  • [email protected]

    En este caso no he puesto clave la segunda vez por lo que solo veo las pblicas, voy a probar a ponerclavelasegundavez.

    [email protected]

    49/105

  • [email protected]

    50/105

  • [email protected]

    [email protected]

    [email protected]

    Nohetenidotiempodemirarcomosehace.

    51/105

  • [email protected]

    ConfigurarOutlookExpress

    52/105

  • [email protected]

    53/105

  • [email protected]

    Vemosquetieneestecertificadounaclaveprivada.

    54/105

  • [email protected]

    PuertosSeguros:

    465pop3995smtp(o567)

    55/105

  • [email protected]

    56/105

  • [email protected]

    Pruebadecorreo,solopuedofirmarynocifraryaquenotengolaclavepblicadep1....ap10.

    Si intentase cifrar me avisara de que no tiene el identificador de los usuarios de quien no tiene clave pblca y por tanto no puede cifrar. Para poder cifrar se necesita la clave pblica de otro usuarioyparafirmarsefirmaconmiclaveprivada.

    57/105

  • [email protected]

    Alenviarelcorreoporejemploagmailnosllegaesto:

    [email protected].

    Comoverelcertificado?enInicio>Ejecutar:DigitaMMC

    Utilice Microsoft Management Console (MMC) para crear, guardar y abrirherramientas administrativas, denominadas consolas, que administran el hardware, software y componentes de red de su sistema operativo Microsoft Windows. MMC se ejecuta en todos los sistemas de operativosdeclientequesoncompatiblesactualmente.

    Estando en la consola vamos a Archivo > Agregar o quitar complemento > En la pestaa independiente > Agregar > del listado escogemos certificado > Agregar > Finalizar > Cerrar >Aceptar>Archivo>Salir>Guardar.

    Ahora si puedes descargar el archivo s/mime.p7s, al picar sobre el nos abrira nuevamente la consolavisualizandoelarchivodeseguridadocertificadocontodassuscaracteristicas.

    58/105

  • [email protected]

    59/105

  • [email protected]

    CertificadosenMozillaFirefoxNoslodescargamoseinstalamos.

    60/105

  • [email protected]

    Vamos a importar nuestro certificado, cualquiera que tenga la clave publica y privada en la pestaadeSUSCERTIFICADOS.

    61/105

  • [email protected]

    Vemoslosdetallesdelcertificado:

    Al instalar nuestro certificado como venan el certCA y el intermedio ya se ha aadido este a la listadeautoridades.

    Peropodemosaadirlaamano.

    Al importar el rootCA.cer nos dice que ya est en la lista de autoridades ya que se ha aadido automticamentealimportarnuestrocertificado.

    62/105

  • [email protected]

    Ahoraimportamoselcertficadointermedio:(class3.cer).

    63/105

  • [email protected]

    Vamosaaadirafirefoxlalistaderevocacinadadehoy.

    Esto importar la lista, pero antes nos avisa de que cacert no est en nuestra lista de confianza de SERVIDORES no de AUTORIDADES, ahora debemos aadir este certificado en la lista de servidores.

    64/105

  • [email protected]

    Voyaaadirelcertificadodecacerenlalistadeservidores.

    Perodeboaadirunaexcepcin.

    65/105

  • [email protected]

    66/105

  • [email protected]

    Yalohemosaadidoyvolvemosarepetirlaaccindeconseguirlalistaderevocacin.

    Esteprocesopuedetardar.

    67/105

  • [email protected]

    Pulsamosaceptaryhemosterminado,veremosquenohahechonada,pero

    Cerramosestecuadrodedialogoyvolvemosamostarlalistaderevocacin.

    68/105

  • [email protected]

    Ahoramostramoslaconfiguracindelavalidacindecertificados:

    69/105

  • [email protected]

    DNIelectrnicohttp://www.dnielectronico.es/seccion_integradores/espec_uno.htmlicas de la tarjeta

    El Documento Nacional de Identidad acredita fsica y electrnicamente la identidad de su titular y losdatospersonalesqueenlseconsignan.El propsito general de la parte electrnica del DNI es dotar al documento de las capacidades criptogrficas necesarias para permitir acreditar esa identidad electrnica que se asocia al titular del DNI. Una vez establecida esa identidad y asociada a los elementos criptogrficos del DNIpodremosdemostrarelectrnicamentequesomosquienesdecimosser.Nuestra identidad electrnica avalar todas aquellas actuaciones y actividades que se puedan asociaralamisma. CaractersticasdelChip:

    ModelodelChip:st19wl34yICCST19wl34 Sistemaoperativo:DNIev1.1 Capacidad:34KbytesEeprom.

    Contenido:La informacin en el chip est distribuida en tres zonas con diferentes niveles y condiciones de acceso:

    ZONAPBLICA:Accesibleenlecturasinrestricciones,contenido: CertificadoCAintermediaemisora. ClavesDiffieHellman. Certificadox509decomponente.

    ZONAPRIVADA:Accesibleenlecturaporelciudadano,mediantelautilizacindelaClavePersonaldeAccesooPIN,conteniendo:

    CertificadodeFirma(NoRepudio). CertificadodeAutenticacin(DigitalSignature).

    ZONADESEGURIDAD:Accesibleenlecturaporelciudadano,enlosPuntosdeActualizacindelDNIe.

    70/105

  • [email protected]

    Datosdefiliacindelciudadano(losmismosqueestnenelsoportefsico). Imagendelafotografa. Imagendelafirmamanuscrita.

    DATOSCRIPTOGRFICOS:Clavesdeciudadano ClaveRSApblicadeautenticacin(DigitalSignature). ClaveRSApblicadenorepudio(ContentCommitment). ClaveRSAprivadadeautenticacin(DigitalSignature). ClaveRSAprivadadefirma(ContentCommitment). Patrndeimpresindactilar. ClavePblicaderootCAparacertificadoscardverificables. ClavesDiffieHellman.

    DATOSDEGESTIN: Trazadefabricacin. Nmerodeseriedelsoporte.

    Elchipdelatarjetaalmacenalossiguientescertificadoselectrnicos: CertificadodeComponente.SupropsitoeslaautenticacindelatarjetadelDNIe

    medianteelprotocolodeautenticacinmutuadefinidoenCWA14890. Permiteelestablecimientodeuncanalcifradoyautenticadoentrelatarjetaylos

    Drivers. Estecertificadonoestaraccesibledirectamenteporlosinterfacesestndar

    (PKCS#11oCSP). CertificadodeAutenticacin.Estecertificadoeselqueutilizaremosparael

    establecimientodelCanalSeguroconautenticacindeClienteyServidor.Es un certificado X509v3 estndar, que tiene activo en el Key Usage el bit de Digital Signature (Firma Digital) y que esta asociado a un par de claves pblica y privada, generadas en el interior delCHIPdelDNI.

    Certificadodefirma.EstecertificadoeselqueutilizaparalafirmadedocumentosgarantizandolaintegridaddelDocumentoyelNorepudiodeorigen.

    Es un certificado X509v3 estndar, que tiene activo en el Key Usage el bit de ContentCommitment (No Repudio) y que esta asociado a un par de claves pblica y privada, generadasenelinteriordelCHIPdelDNI.Es este Certificado expedido como certificado reconocido y creado en un Dispositivo Seguro de Creacin de Firma, el que convierte la firma electrnica avanzada en firma electrnica reconocida, permitiendo su equiparacin legal con la Firma Manuscrita (Ley 59/2003 y Directiva 1999/93/CE).

    71/105

  • [email protected]

    Firmadigitalenundocumento

    ElDNIelectrnicoSOLOPUEDEFIRMARnopuedeCIFRAR.

    Asifuncionalafirmaelectrnica:

    Firma digital de un documento, primero debemos generar el hash del documento, esto lo hace elsoftwareautomticamente.

    El hash identifica univocamente el documento siempre que no haya colisiones, Ahora ciframos elhashconnuestraclaveprivada.

    Yatenemos:

    DocumentoHashdeldocumentoHashdeldocumentocifradoqueiranexadaaldocumento.

    Ahorasepuedefirmareldocumento,yvemosloquehasucedido.

    72/105

  • [email protected]

    1. Creoundocumento2. Generoelhash3. Cifroelhashconmiclaveprivada4. Firmoeldocumento5. Loenvioeldocumentoqueconstadedoc+hashcifrado

    Eldesstinatariorecibeeldocumento:1. Separaeldocdelhashcifrado2. Descifraelhashlaclavepblicadelremitente3. Creaelhashdeldocumentorecibidoylocomparaconeldescibrado4. Siescorrectoeldocumentonohasidomodificadoylohaenviadoquiendice.

    73/105

  • [email protected]

    http://pathy2102.blogspot.com/2011/08/firmadigital.html

    74/105

  • [email protected]

    EstructurainternadelDNIEArquitecturaPKIdeldnielectrnico:

    http://www.dnielectronico.es/PDFs/politicas_de_certificacion.pdf

    AquvemospordentroelDNIelectrnico:

    http://blog.48bits.com/2010/03/16/analisisdelaestructurainternadeldnie/

    Hace unos das fu a renovar mi DNI. Me dieron uno electrnico y me ofrecieron un lector para operar en internet a cambio de recibir una charla. No dej de sorprenderme lo mucho que insista la chica de la charla en que el DNI, internamente, solamente contena los mismos datos que se pueden leer en el soporte fsico, ms dos claves pblicas, la de autenticacin y la de firmado. Insisti tanto que hasta resultaba sospechoso. Su insistencia apoyada por mi paranoia me impuls a ponerme a enredar un poco con el DNI y el lector, a ver se poda sacar, y fruto de ello este artculo en el que comparto con vosotros lo que he podido ver y en el que resumo lo queheaprendidoleyendosobreestetema.EllectoresdelamarcaGEMALTO,modeloPCTWIN.

    Junto con el lector se distribuye un cd con los drivers, documentacin, certificados, software, apisparadesarrolloeinclusocdigofuente.El modelo del chip de la smartcard puede ser st19wl34 y ICC ST19wl34, y ejecuta un sistema operativopropio:DNIev1.1.Para las pruebas vamos a usar el sniffer de usb, usbsnoob: http://sourceforge.net/projects/usbsnoop/En el cd de instalacin se distribuye una libreria CTAPI para manejar el lector y poder comunicarse con la tarjeta, y algo de cdigo de ejemplo que usaremos como base para nuestraspruebas.

    75/105

  • [email protected]

    SobreSmartcardsPara enredar con el DNIE recomiendo leer lo que se pueda del standard ISO 7816 (hay partes quehayquesoltarpastaparaconseguirlas)yelstandardCWA14890(sobreseguridad).El protocolo de comunicacin con las tarjetas no es muy complicado, funciona mediante el intercambio de tramas (APDUs) comando respuesta. Las APDUs comando tienen el formato CLA | INS | P1 | P2 | Lc | Data | Le (ya depende del comando que sea que haya datos, el formato de estos, etc..). Las APDUs respuesta tienen el formato SW1 | SW2 | Data (segn la respuesta habrdatosono).La tarjeta implementa un sistema de archivos en el que hay DFs (dedicated files, equivalente a directorios) y EFs (elementary files, equivalente a ficheros). El directorio raiz es el MF (master file). Los archivos (tanto DFs como EFs) pueden ser identificados por nombre o por id (tambin por un path, que slo es la concatenacin de los ids de los DFs padre de la ruta hasta el DF o EF en cuestin). Puede ser que un archivo no tenga nombre, pero siempre tiene un id que lo identifica. Los ids van de 0 a 65535. El acceso a los ficheros puede ser restringido en funcin de variaspolticas,entreellasqueelusuarioestonoidentificadomediantesupin.

    LaszonasdelDNIESegn la web http://www.dnielectronico.es/ la informacin en el dni electrnico est distribuida entreszonas:ZONAPBLICA:Accesibleenlecturasinrestricciones,contenido:CertificadoCAintermediaemisora.ClavesDiffieHellman.Certificadox509decomponente.ZONA PRIVADA: Accesible en lectura por el ciudadano, mediante la utilizacin de la Clave PersonaldeAccesooPIN,conteniendo:CertificadodeFirma(NoRepudio).CertificadodeAutenticacin(DigitalSignature).ZONA DE SEGURIDAD: Accesible en lectura por el ciudadano, en los Puntos de Actualizacin delDNIe.Datosdefiliacindelciudadano(losmismosqueestnenelsoportefsico).Imagendelafotografa.Imagendelafirmamanuscrita.

    LazonapblicaPartiendo del software de ejemplo distribuido en el cd del lector vamos a implementar una funcin que recorra todos los ids de 0 a 65535 sin habernos identificado mediante el pin, guardndonos los ids que han sido seleccionables (es decir, no nos ha devuelto la respuesta no encontrado), los datos ledos en caso de haber podido leerlos y el FCI (File control

    76/105

  • [email protected]

    information. Cuando seleccionamos un fichero podemos enviar a la tarjeta un comando GET_RESPONSEystanosdevolveralgunainformacinadicionalsobreelfichero).Para seleccionar un fichero por id usamos la instruccin A4. La respuesta 6A 82 significa que nosehaencontradoelficheroconeseid.Losidsencontradosson:815,1280,1536,4415,4608,5439,5456,8032,8288,8448,12640,24928,33120,41312,43104Sabiendo que ids son seleccionables vamos a pedir el GET_RESPONSE de cada uno y a intentarhacerunREAD_BINARYdelosqueseanEFsysepuedanacceder.Cuandoseseleccionaunficherolarespuestaesdeltipo:61XXXXeselnmerodebytesquenosdevolverGET_RESPONSE.ElcomandoGET_RESPONSEes00C00000XX.ElcomandoREAD_BINARYes00B0SSSSNN:NNnmerodebytesaleer.SSSSoffsetdelficheroenelqueleer.De todos los ids los siguientes son EFs que han sido encontrados pero que no hemos podidoleerelcontenidoporpolticadeseguridad:Fileid=1280GET_RESPONSE:0x6f0x0c0850x0a001000005000 0320800xff0xff0xff0xff090000?o???????2??????Fileid=4608GET_RESPONSE:0x6f0x0d0850x0b015000012000 0210xff0xff0xff0xff0xff002090?o???????!??????Fileid=8448 GET_RESPONSE:0x6f0x0c0850x0a025000021002 0580xb10xff0800xd10xff090000?o???%?!?X??????Fileid=41312GET_RESPONSE:0x6f0x0c0850x0a0010600xa1000 0200800800xff0xff0xff090000?o????`????????LossiguientessonDFsencontrados:Fileid=4415GET_RESPONSE:0x6f0180840x0a0490430430x2e 043 072 079 070 074 0x6f 085 0x0a ?o???ICC.Crypto? 038 0x3f 0110000x0a0xff0xff0xff0xff0xff090000to??8???????Fileid=5439GET_RESPONSE:0x6f0140840060490430430x2e 049 044 085 0x0a 038 0x3f 015 000 ?o???ICC.ID??8??006 0xff 0xff0xff0xff0xff090000ID??8???Fileid=5456GET_RESPONSE:0x6f0x1a0840x0c0xa0000000000 063 050 0x4b 043 053 0x2d 031 035 ?o???????cPKCS1 085 0x0a 038 050 015 000 0x0c 0xff 0xff 0xff 0xff 0xff 090 000 15??8P????????Fileid=12640GET_RESPONSE:0x6f0180840x0a0440x4e049065 0x2e 041 064 0x6d 069 0x6e 085 0x0a ?o???DNIe.Admin? 038 060 0310000x0a0xff0xff0xff0xff0xff090000in??8`1?????File id = 24928 GET_RESPONSE: 0x6f 016 084 008 044 0x4e 049

    065 0x2e 050 075 062 085 0x0a 038 060 ?o???DNIe.Pub??8 061 0000080xe00xff0xff0xff0xff090000ub??8`a???Fileid=33120GET_RESPONSE:0x6f0170840090440x4e049065 0x2e 050 072 069 076 085 0x0a 038 ?o???DNIe.Priv?? 060 081

    77/105

  • [email protected]

    0000090xe00xff0xff0xff0xff090000iv??8`?????TodosestosDFstienenestosnombres:4415,ICC.Crypto5439,ICC.ID5456,cPKCS11512640,DNIe.Admin24928,DNIe.Pub33120,DNIe.PrivTodoscuelgandelMaster.File,quesiempretieneid0x3f:Filename=Master.File GET_RESPONSE: 0x6f0190840x0b0x4d061 073 074 065 072 0x2e 046 069 0x6c 065 085 ?o???Master.File 0x0a 038 0x3f 000 000 0x0b 0xff 0xff 0xff 0xff 0xff 090 000 le??8????????A continuacin estn los EFs que s hemos podido leer (se muestran conlarespuestaalcomandoGET_RESPONSEyREAD_BINARY):File id = 815 GET_RESPONSE: 0x6f 0x0c 085 0x0a 0010x2f003000 0280000800xff0xff0xff090000?o????/??(??????READ_BINARY: 0440x4e0490650200300310x2e031033020041031031 020 048 ?DNIe 01.13 A11 020 034 043 033 034 020 045 058 050 020 031 0x2d 028 028 034 0x2e H 4C34 EXP 1((4032 0x2d 0350290290000000000900001((4.25)Fileid=1536GET_RESPONSE:0x6f0x0c0850x0a001000006000 019 000 0xff 0xff 0xff0xff090000?o??????????????READ_BINARY: ElIDESP.VaraentrecadaDNI.Fileid=8032GET_RESPONSE:0x6f0x0c0850x0a0010600x1f003 025 000 0xff 0xff 0xff0xff090000?o????`??%??????READ_BINARY: Certificado.VaraentrecadaDNI.Fileid=8288GET_RESPONSE:0x6f0x0c0850x0a001060020004 0x2c0000xff0xff0xff0xff090000?o????`?,??????READ_BINARY:(Convertidoconopenssl)Certificate:Data:Version:3(02)SerialNumber:1a:ed:35:7a:7b:a8:c8:7b:43:fa:df:3f:a9:77:56:80SignatureAlgorithm:sha1WithRSAEncryptionIssuer: C=ES, O=DIRECCION GENERALDELAPOLICIA,OU=DNIE,OU=ACRAIZ COMPONENTES,CN=000000006573524449600006ValidityNotBefore:Feb2109:37:032006GMTNotAfter:Feb2017:13:152031GMTSubject: C=ES, O=DIRECCION GENERAL DE LA POLICIA, OU=DNIE, OU=FNMT, CN=CCOMPONENTES001SubjectPublicKeyInfo:

    78/105

  • [email protected]

    PublicKeyAlgorithm:rsaEncryptionRSAPublicKey:(1024bit)Exponent:65537(010001)X509v3extensions:X509v3BasicConstraints:criticalCA:TRUE,pathlen:0X509v3SubjectKeyIdentifier:3F:32:0E:97:94:B8:F9:56:6E:A3:D7:21:A6:17:54:FA:92:3A:12:B1X509v3AuthorityKeyIdentifier:keyid:45:D7:64:65:F2:25:04:D8:04:5E:66:27:41:9D:76:50:05:A2:D1:8X509v3KeyUsage:criticalCertificateSign,CRLSignX509v3CertificatePolicies:Policy:X509v3AnyPolicyCPS:http://www.dnie.es/dpcX509v3CRLDistributionPoints:URI:http://crls.dnie.es/crls/ARLCOM.crlURI:ldap://ldap.dnie.es/CN=CRL,CN=000000006573524449600006,OU=A%20RAIZ%20COMPONENTES,OU=DNIE,O=DIRECCION%20GENERAL%20DE%20LA%20POLICIA,C=ES?auhorityRevocationList?baseobjectclass=cRLDistributionPointFileid=43104GET_RESPONSE:0x6f0x0c0850x0a0010600xa8000 0xb50000xff0xff0xff0xff090000?o????`?????????READ_BINARY: Otrosdatos(sininterpretar).VaranentrecadaDNI.El fichero con ID 815 contiene la versin del DNIE. Estos datos varan con cada DNIE si cambia la versin deste(Enlalecturade arriba:DNIe01.13A11H4C34EXP1((4.25).EnotroDNIE:DNIe01.13 B11H4C34EXP1(3.53)).El fichero con ID 1536 contiene el IDESP del DNIE. Este dato se

    puedeverenlacartuladelDNIEtambin.El fichero con ID 8032 contiene un certificado (certificado de componente) que es ledo y usado por la interfaz cuando se va a establecer el canal seguro con la tarjeta. Este certificado vara entrecadaDNIE.El fichero con ID 8288 tambin contiene un certificado (certificado razCAdecomponente),quenovaraentreDNIE.El fichero con ID 43104 contiene 0xB0 bytes de datos (cuyo

    significadodesconozco)quetambinvaranentrecadaDNIE.Datospblicosaccesibles:

    79/105

  • [email protected]

    LazonaprivadaPara acceder a la zona privada es necesario introducir el pin de usuario a la tarjeta con el comando VERIFY. El comando VERIFY tiene un formato sencillo: 00 20 00 00 Lc Data. En data ira el PIN. Sin embargo el DNIE restringe el uso de algunos comandos si estos no se envan sobre un canal seguro (usando Secure Messaging). Para quien tenga curiosidad en el artculo originalseexplicatodoelprocedimientoparaestablecerencanalseguro.Implementar el establecimiento del canal seguro y cifrado para Secure Messaging es bastante lio. As que finalmente me decanto por empezar a desensamblar la dll que se carga con internet explorer (c:\windows\system32\UsrDNIeCertStore.dll) y que se encarga de logearse en la tarjeta y leer los datos privados cuando hace falta identificarse en alguna web que soporte

    80/105

  • [email protected]

    identificacinporDNIe.Encontramosenelbinariovariascadenasllamativas:

    Ladllestcompiladaconlalibreracryptopp(http://www.cryptopp.com).Vamos al fuente des.cpp de cryptopp (http://www.trolocsis.com/crypto++/des_8cppsource.html). En seguida encontramos la parte enensambladorequivalentealfuente:

    81/105

  • [email protected]

    Localizamos el resto de las funciones. La que ms nos interesa es la que cifra y descifra los bloques:

    82/105

  • [email protected]

    Tambin vamos a localizar la parte donde envia y recibe ComandosRespuestas a la tarjeta parapoderseguirellogquevamosahacerdespus:

    83/105

  • [email protected]

    Yatenemoslocalizadastodaslaspartesquenosinteresan.Con el script para ida en python que viene a continuacin pondremos breakpoints en cada parte interesante (en la entrada de la funcin de cifrado / descifrado para capturar los datos antes de pasar por el algoritmo en la salida de la misma funcin para capturar los datos trs ser aplicado el algoritmo y antes y despes de llamar a SCardTransmit para capturar los datos enviados a la tarjeta y la respuesta recibida), y en el hook de breakpoints leeremos la zona de memoria donde estn los datos enviados a / recibidos desde la tarjeta, y los datos cifrados y su correspondiente descifrado. El script tambin se guardar una lista de pares de datos cifrados y su correspondiente descifrado para luego aplicarlo a los datos capturados en SCardTransmit y poderverbienloqueladllestleyendodelatarjeta.

    84/105

  • [email protected]

    Elscriptparahookearenlasfuncionesdecifrado:

    fromidaapiimport*importctypesimportstructdefwritelogitem(f,e):f.write("\n\n")f.write(e[0]+"\n")e=e[1]i=0foreeine:

    f.write(("%02X"%ee))i+=1

    ifi%16==0:f.write("\n")

    f.write("\n")i=0foreeine:try:ifee>=020andee

  • [email protected]

    print"processattach"returnself.dbg_process_start(pid,tid,ea,name,base,size)defdbg_process_exit(self,pid,tid,ea,code):globallogsgloballogstypesglobalProcessAndXorBlockInputOutput

    duplogs=[]foreinlogs:

    dupe=[]foreeine[1]:

    dupe.append(ee)tmparr=[]tmparr.append(e[0])tmparr.append(dupe)duplogs.append(tmparr)

    foreinProcessAndXorBlockInputOutput:tempe=""

    foreeine[0]:ifee>=020andee

  • [email protected]

    return0defdbg_process_detach(self,pid,tid,ea):returnself.dbg_process_exit(pid,tid,ea,0)defdbg_library_load(self,pid,tid,ea,name,base,size):print"loaded:"+namereturn0defdbg_bpt(self,tid,ea):globallogsgloballogstypesglobalLastProcessAndXorBlockInputglobalProcessAndXorBlockInputOutputglobalLastRecvLenPtrglobalLastRecvBuffer

    arr=[]ifea==0x1A7F4BD:

    LastRecvLenPtr=GetRegValue("ECX")ifea==0x1A7F4C9:

    LastRecvBuffer=GetRegValue("EDX")ifea==0x1A5DF95:#ea==0x1A5E285or

    arr.append("\\\\\\\\\\\\ProcessAndXorBlock\\\\\\\\\\\\")r=GetRegValue("EAX")LastProcessAndXorBlockInput=readmem(r,8)arr.append(LastProcessAndXorBlockInput)logs.append(arr)

    ifea==0x1A5E02Eorea==0x1A5E03E:#ea==0x1A5E306orea==0x1A5E2F6orarr.append("//////ProcessAndXorBlock//////")r=GetRegValue("ECX")temp=[]temp.append(LastProcessAndXorBlockInput)temp.append(readmem(r,8))ProcessAndXorBlockInputOutput.append(temp)arr.append(temp[1])logs.append(arr)

    ifea==0x1A7F4CF:arr.append(">>>COMMAND>>>")r1=GetRegValue("EDI")r2=GetRegValue("EBP")arr.append(readmem(r1,r2))logs.append(arr)

    ifea==0x1A7F4D7:arr.append("

  • [email protected]

    pass#Installthedebughookdebughook=MyDbgHook()debughook.hook()debughook.steps=0logstypes=[]logs=[]LastRecvLenPtr=NoneLastRecvBuffer=NoneLastProcessAndXorBlockInput=NoneProcessAndXorBlockInputOutput=[]processHandle=None#SCardTransmitadd_bpt(0x1A7F4CF,0,BPT_SOFT)enable_bpt(0x1A7F4CF,True)#CryptoPP_DES_Base_ProcessAndXorBlock(entrando)add_bpt(0x1A5E285,0,BPT_SOFT)enable_bpt(0x1A5E285,True)#CryptoPP_DES_Base_ProcessAndXorBlock(saliendo)add_bpt(0x1A5E306,0,BPT_SOFT)enable_bpt(0x1A5E306,True)#CryptoPP_DES_Base_ProcessAndXorBlock(saliendo)add_bpt(0x1A5E2F6,0,BPT_SOFT)enable_bpt(0x1A5E2F6,True)#CryptoPP_DES_EDE2_Base_ProcessAndXorBlock(entrando)add_bpt(0x1A5DF95,0,BPT_SOFT)enable_bpt(0x1A5DF95,True)#CryptoPP_DES_EDE2_Base_ProcessAndXorBlock(saliendo)add_bpt(0x1A5E02E,0,BPT_SOFT)enable_bpt(0x1A5E02E,True)#CryptoPP_DES_EDE2_Base_ProcessAndXorBlock(saliendo)add_bpt(0x1A5E03E,0,BPT_SOFT)enable_bpt(0x1A5E03E,True)#Keeplastrecvlenptradd_bpt(0x1A7F4BD,0,BPT_SOFT)enable_bpt(0x1A7F4BD,True)#Keeplastrecvbufferadd_bpt(0x1A7F4C9,0,BPT_SOFT)enable_bpt(0x1A7F4C9,True)#Keepresponseadd_bpt(0x1A7F4D7,0,BPT_SOFT)enable_bpt(0x1A7F4D7,True)#Startdebuggingrun_requests()

    AnlisisdelacapturaCon todo listo nos ponemos a depurar la dll (con internet explorer como host) conectando a la pgina de la dgt para consultar los puntos usando el DNIe (https://aplcr.dgt.es/WEB_COPACI/certificado/verSaldoPuntosCert.faces):

    88/105

  • [email protected]

    89/105

  • [email protected]

    90/105

  • [email protected]

    AquestnlosEFsyDFsaccedidosenlatarjetaenestaprueba:FicheroMaster.File>cPKCS15>0160:.i.0KprivAutenticacion.0123456789A123456789A123456789.. > ID claveautenticacin.0.0.0?..2Ci.0KprivFirmaDigital.0123456789A123456789A12345678A > ID clave [email protected]?.cPKCS15>0460:Untrozo:..0CertAutenticacion.0.>TrozocertificadoX.509autenticacin..123456789A123456789A1234567890..0`.p..0w1.0U.ES1.0U.11111111K1.0U.APELLID1.0U.*..PERICO110/..U(APELLID APELLID, PERICO (AUTENTICACI..N).^0\1.0U.ES1(0&..U.DIRECCION GENERAL DELA POLICIA1.0U.DNIE1.0U.ACDNIE003..D./..Otrotrozo:..0CertFirmaDigital.0..>TrozocertificadoX.509firmado.123456789A123456789A12345678A0..0`.p..0n1.0U.ES1.0U.11111111K1.0U.APELLID1.0U.*..PERICO1(0&..U.APELLID APELLID,PERICO(FIRMA).^0\1.0U.ES1(0&..U.DIRECCION GENERAL DE LA POLICI.u.a.A1.0..).U.DNIE1.0U.ACDNIE003..DUTrozocertificadoX.509CAIntermedia0S0637C11A780B31201001181105070..0`ap..0\1.0U.ES1(0&..U.DIRECCION GENERAL DE LA POLICIA1.0U.DNIE1.0U.AC DNIE 003._0]1.0U.ES1(0&..U.DIRECCION GENERAL DE LA POLICIA1.0U.DNIY..a..).U.ACRAIZDNIE..|I..pD..n..H+l.t..FicheroMaster.File>DNIe.Priv>0470:

    FicheroMaster.File>DNIe.Priv>0570:

    FicheroMaster.File>DNIe.Pub>0670:

    Los ficheros 0470, 0570 que cuelgan de DNIe.Priv, y el fichero 0670, que cuelga de DNIe.Pub, creo que contienen el resto de los datos para los certificados de autenticacin, de firmadoyeldelaCAintermedia,respectivamente.

    ResultadosAquestntodaslaspartesdelDNIEquehemospodidoverelcontenido:

    91/105

  • [email protected]

    A parte de lo anterior cuando hicimos el recorrido de ficheros sin habernos validado, encontramos cuatro ids que la tarjeta nos respondi que existan 1280, 4608, 8448 y 41312, peroquenopudimosleerelcontenido.En las pruebas que hemos hecho hemos visto que no es muy complicado hookear en las funciones principales de cifrado y descifrado DES en la dll que se carga con los navegadores. Cualquier troyano podra facilmente inyectarse en Internet Explorer, buscar las funciones de cifrado DES y hookear en ellas para pillar todos los datos intercambiados descifrados (entre ellos, datos que podran ser comprometidos como claves pblicas de autenticacin y firmado, nombre y nmero de dni, idesp, etc) sin necesidad de conocer el pin ni realizar ninguna implementacin de cdigo complicada. El pin tambin sera sencillo de capturar en texto plano para un troyano con estos hooks, esperando el comando VERIFY (0C 20 ) y mirando los ltimoscifrados:

    92/105

  • [email protected]

    Loquesequedaeneltintero:Hemos podido explorar una parte de la estructura interna del DNI electrnico, aunque todava se nos han quedado zonas pendientes para las cuales hara falta implementar el recorrido postvalidacindelpindetodoslosficherosporid(065535).SegnlawebdelDNIEexisteotrazona,llamadazonadeseguridad:

    ZONA DE SEGURIDAD: Accesible en lectura por el ciudadano, en losPuntosdeActualizacindelDNIe.Datos de filiacin del ciudadano (los mismos que estn en el soportefsico).Imagendelafotografa.Imagendelafirmamanuscrita.

    Estara bien comprobar si realmente los ids donde se almacenan estos datos son solamente accesibles desde los Puntos de Actualizacin en las comisarias, o simplemente es que el software que distribuyen no permite recuperar esta informacin (pero s que est accesible, una vez validados). Como hemos visto en los logs, alguna de la informacin que aparece en el soporte fsico (nombre y apellidos, nmero de DNI, IDESP) puede deducirse de los datos accesibles.Respecto a fuzzing contra la tarjeta creo que sera bastante complicado sacar fallos en el

    93/105

  • [email protected]

    software que se ejecuta en la smartcard y ms explotarlo, al menos con los medios y la informacin a la que tenemos acceso (al menos yo). Otra cosa sera buscar fallos en el software lector (por ejemplo la dll que decamos antes, UsrDNIeCertStore.dll. Mientras depuraba he visto que haca bastantes guarradas como usar el contenido de variables sin inicializar en la primera vuelta de un bucle y cosas parecidas, as que no me extraara que sonara la flauta). Hay tarjetas intermedias que aceptan una smartcard como entrada y a la vez guardan la interfaz de las smartcard por el otro, haciendo de puente, donde se podra implementar un fuzzer sencillo cambiando bytes aleatorios de las APDUs intercambiadas. O hookear en el driver o la dllymodificarlasAPDUsah.Y hasta aqu el artculo. Sorry si es un poco ladrillo, espero que no haya sido mucho tostn Para quien todava se haya quedado con ganas de mirar ms, aqu he dejado una versin en pdf un poco ms extendida en la que se explica todo ms en detalle: http://blog.48bits.com/wpcontent/uploads/2010/03/articulo.pdf. Si alguien tiene el lector y quiere el cdigo de la aplicacin que he usado para pruebas, que me lo pida. Y respecto a documentacin adicional sobre smartcards y concretamente sobre el DNIE, os recomiendo estoslinks:http://www.dnielectronico.es/seccion_integradores/index.htmlhttp://www.dnielectronico.es/seccion_integradores/cwa14890022004May.pdfhttp://www.cardwerk.com/smartcards/smartcard_standard_ISO78164.aspxUnsaludo.

    Por:JavierVicent

    94/105

  • [email protected]

    FirmadeundocumentoconelDNIelectrnicoEstemanualestunaprimeraayudaquenosofreceelMinisteriodeDefensa.

    http://www.dnielectronico.es/descargas/Instalacion_CSP_Windows.pdf

    RecordemosqueelDNIelectrniconocifrasoloAUTENTICAYFIRMA.

    Vamos a la direcin del dni electrnico y nos descargamos todos los certificados de que dispone:

    Nosdescargamosestedriveryreiniciarmos:

    95/105

  • [email protected]

    Ahoravamosaestarutaynosdescargamostodosloscertificaodos:

    Todos los certfiicados estn en estos enlaces, comprimidos, los descomprimimos e instalamos enfirefoxeinternetexplorer,algunossonCAyotrosno.

    96/105

  • [email protected]

    Ademshayqueinstalarelcambiodepinperoanteselsoftwaredejava.

    Una vez que hemos reiniciado me han aparecido pantallas para instalar certificados y la siguientepantalladefirefox:

    97/105

  • [email protected]

    ElmduloOKCS11sehainstaladocorrectmanteperomefaltauncertificadoraiz:

    98/105

  • [email protected]

    Paraprobarquedotavabien,insertamoselDNIynosvamosalawebdelDNI.

    99/105

  • [email protected]

    VerificarquefuncionaEl proceso de comprobacin de un certificado implica en primer lugar la obtencin de los datos del certificado y en segundo lugar la consulta a un servicio denominado Autoridad de Validacin (AV). El navegador presentar su certificado al servidor y ste lanzar una consulta a la AV. El resultado de esta consulta es el estado actual del certificado: activo o revocado. Simultaneamente se mostrarn los datos incorporados al certificado (nombre y apellidos del titular,nmerodeDNIe,...).Antesdeintentarestapruebadeber:

    Instalar en su equipo el software adecuado en funcin del sistema operativo que est usando. Encontrarestesoftwareenelreadedescargas.

    InstalarensunavegadorelCertificadoRazdelaFNMTclase2CA

    Nota: este paso es especialmente importante en el navegador Mozilla Firefox ya que no lo incorporapordefectoenelalmacndeAutoridades.

    Posiblesresultadosdelacomprobacin:Si obtiene una pantalla similar a sta es que su DNIe funciona correctamente y que su equipo dispone del software y del hardware necesarios para hacer uso de los servicios disponibles onlinequeadmitenautenticacinconelDNIe.

    100/105

  • [email protected]

    Si su navegador le muestra una ventana como sta es que no ha podido acceder a los certificados contenidos en su DNIe. Las causas pueden ser mltiples desde una incorrecta instalacin del driver DNIe hasta una anomala en el chip, pasando por una insercin incompleta de la tarjeta en la unidad lectora o una introduccin incorrecta del PIN. Le sugerimos que repase el documento con recomendaciones de instalacin para plataformas Windows o su equivalente paraplataformasGNU/LinuxMacOSSolaris.

    101/105

  • [email protected]

    Si su navegador muestra el error genrico de "No se puede mostrar la pgina" o "No se puede encontrar el servidor", las causas pueden ser tambin mltiples, pero casi siempre estn relacionadas con las expuestas en el apartado anterior, es decir, incorrecta instalacin del driver, no insercin del DNIe en la unidad lectora,... Esta circunstancia suele ser sntoma de que el navegador est configurado para presentar un certificado de forma automtica y por eso no aparece la imagen anterior de seleccin de certificados. Las recomendaciones en este caso son las mismas que en el apartado anterior. Adems, si es usuario del navegador Mozilla Firefox, debido a las peculiaridades de dicho producto en la gestin de los certificados, le recomendamos que active la opcin que obliga al navegador a preguntar antes de presentar un certificado.

    Enestarutapodemoscomprobarquenosaceptaelcertificadocorrecto:

    https://avdnie.cert.fnmt.es/compruebacert/compruebacert

    102/105

  • [email protected]

    Nos pide la password del DNI, y como el certificado del DNI esta caducado (solo dura 30 meses)nopodemoshacernadaynosmuestraesteerror.

    Nota: si introducido el PIN no puede ver sus certificado siga los pasos descritos en: http://www.dnielectronico.es/como_utilizar_el_dnie/ComprobacionBloqueoPIN.pdf

    Si est instalado correctamente el mdulo CSP del DNIE (Proveedor de Servicios de Certificacin)y tiene correctamente instalados los drivers del lector de tarjetas criptogrficas e introducidosteenelcitadolector,lepedirelPINdelDNIe.

    103/105

  • [email protected]

    Unavezlointroduzcapodrverlossiguientescertificados: LoscertificadosdelDNIeenlapestaaPersonal:

    uncertificadoconpropsitodeAutenticacin yotrocertificadoconpropsitodeFirma.

    En la pestaa Entidades emisoras raz de confianza podr visualizar el certificado raz ACRAIZDNIE.

    104/105

  • [email protected]

    105/105