Seguridad en los sistemas informáticos

25
Seguridad informática Evidencia. Prevención de riesgos en los SI Unidad 2. Mecanismos criptográficos en los sistemas informáticos Julio César Hernández Cruz al11503387 2015. Desarrollo de software UnADM Universidad Abierta y a Distancia de México

description

Seguridad en los sistemas informáticos

Transcript of Seguridad en los sistemas informáticos

  • Seguridad informtica

    Evidencia. Prevencin de riesgos en los SI

    Unidad 2. Mecanismos criptogrficos en los sistemas informticos

    Julio Csar Hernndez Cruz

    al11503387

    2015. Desarrollo de software

    UnADMUniversidad Abierta y a

    Distancia de Mxico

  • ndice de contenido

    1 Introduccin.............................................................................................................................................................. 4

    2 Prevencin de riesgos en los SI................................................................................................................................ 5

    2.1 Caso de estudio................................................................................................................................................ 5

    2.2 Algoritmos........................................................................................................................................................ 6

    2.2.1 SHA1......................................................................................................................................................... 6

    2.2.2 Advanced Encryption Standard, AES....................................................................................................... 6

    2.2.3 RSA........................................................................................................................................................... 6

    2.3 Formatos.......................................................................................................................................................... 7

    2.3.1 X509......................................................................................................................................................... 7

    2.4 Protocolos......................................................................................................................................................... 8

    2.4.1 Gestin de claves pblicas....................................................................................................................... 8

    2.4.2 Distribucin de claves privadas................................................................................................................ 8

    2.4.3 Protocolo de transporte de claves privadas............................................................................................ 8

    2.4.4 Protocolo de autenticacin...................................................................................................................... 9

    2.4.5 Protocolo SSL............................................................................................................................................ 9

    2.5 Errores y riesgos evitados.............................................................................................................................. 10

    2.6 Copias de seguridad....................................................................................................................................... 10

    2.7 Implementacin............................................................................................................................................. 11

    2.7.1 Autoridad de certificacin raz............................................................................................................... 12

    Modelo...................................................................................................................................................... 12

    Configuracin............................................................................................................................................ 14

    Estructura de directorios.......................................................................................................................... 16

    Generacin de la autoridad de certificacin raiz.....................................................................................16

    2.7.2 Revocacin de certificados.................................................................................................................... 17

    2.7.3 Generacin de llaves para el receptor................................................................................................... 18

    2.7.4 Generacin de llaves y solicitud de certificacin para el Emisor..........................................................19

    2.7.5 Firmado de la solicitud de certificado................................................................................................... 20

    2.7.6 Formato de documento para envo....................................................................................................... 21

    2.7.7 Firmado del mensaje............................................................................................................................. 22

    2.7.8 Verificacin de la autenticidad del mensaje.......................................................................................... 22

    2

  • 2.7.9 Encriptado del mensaje......................................................................................................................... 23

    2.7.10 Desencriptado del mensaje................................................................................................................. 23

    3 Conclusiones........................................................................................................................................................... 24

    4 Fuentes de consulta............................................................................................................................................... 25

    3

  • 1 Introduccin

    En el presente documento se plantea un caso de estudio, a partir del cual se realiza un anlisis de las opciones

    para implementacin de medidas de seguridad que permitan: confidencialidad, integridad y autenticidad.

    Para elevar el grado de confianza de la relacin de la llave pblica con la llave privada y la persona que emplea el

    mecanismo de cifrado se aade la participacin de una Autoridad de Certificacin (CA) quien se encarga de

    validar la confianza mediante certificados de llave pblica.

    Es necesario seleccionar las herramientas y algoritmos necesarios para la generacin de claves, as como los

    protocolos para el intercambio de llaves, cifrado de mensajes, envo y descifrado.

    Para el desarrollo de la actividad se implementas las herramientas OpenSSL y XSLTProc, algoritmos RSA, SHA1,

    AES y Base64.

    4

  • 2 Prevencin de riesgos en los SI

    2.1 Caso de estudio

    Elecciones 2015

    Se considera en el siguiente proceso de elecciones de 2015 enviar resultados preliminares va electrnica bajo las

    siguientes condiciones:

    El archivo con los resultados debe estar firmado digitalmente, con esto se garantiza la autenticidad.

    La firma digital emplea digestin de una cadena original, para validar la integridad de los datos del

    archivo.

    Las llaves privadas deben implementar un algoritmo de llave privada para resguardar su contenido.

    Por ltimo el mensaje ser cifrado con la llave pblica del centro de datos para evitar descifrado durante

    el transporte, con esto se cumple con el principio de confidencialidad.

    5

  • 2.2 Algoritmos

    Para el cumplimiento de los requerimientos se emplearn los siguientes algoritmos. En este apartado

    nicamente se describen (Vera Delgado et al, 2006).

    2.2.1 SHA1

    Se considera el mejor algoritmo de digestin y es el que se aplica en la mayora de las aplicaciones de firma

    electrnica. Por lo tanto es muy habitual aplicar SHA1 seguido de RSA para realizar una firma electrnica de un

    documento,o bien el algoritmo DSA especfico para firma electrnica que tambin utiliza SHA1 internamente.

    2.2.2 Advanced Encryption Standard, AES

    Es el estndar para cifrado simtrico del NIST desde el 26 de mayo de 2002 en sustitucin de DES.AES tambin es

    conocido por Rijndael, nombre original del algoritmo propuesto en 1999 [9] que cambi al ser selecciona- do por

    NIST y convertirse en el estndar. Fue desarrollado por dos criptgrafos Belgas, Joan Daemen y Vincent Rijmen,

    Es un algoritmo de cifrado por bloques con longitud de bloque y longitud de clave variables. Los valores

    adoptados para el estndar son bloques de 128 bits, y claves de longitud 128, 192 256 bits

    2.2.3 RSA

    La seguridad de este algoritmo reside en la dificultad que supone la factorizacin de un nmero com- puesto por

    factores primos muy grandes. Si un criptoanalista fuera capaz de encontrar los factores primos sera capaz

    tambin de determinar la clave privada y, por lo tanto, descifrar el mensaje. Sin embargo el problema de

    factorizacin se considera imposible de resolver en la prctica,y cuanto ms grande sean los nmeros utilizados,

    es decir las longitudes de las claves, mayor dificultad se alcanza.

    6

  • 2.3 Formatos

    2.3.1 X509

    Es el formato de certificado estndar, debe contener los siguientes elementos:

    Nmero de serie del certificado

    Nombre distinguido del sujeto o entidad a la que pertenece la clave pblica y, por tanto el certificado

    Identificador del algoritmo de firma digital (ej. RSA)

    Clave pblica del sujeto y sus parmetros

    Periodo de validez del certificado

    Nombre distinguido de la entidad emisora del certificado (autoridad de certificacin)

    Identificador del algoritmo empleado para la firma digital de la entidad emisora

    Clave pblica de la entidad emisora y sus parmetros

    Firma digital de la entidad emisora

    7

  • 2.4 Protocolos

    2.4.1 Gestin de claves pblicas

    Para la distribucin de claves pblicas se emplea Autoridad pblica:

    1. Cada usuario formula una peticin a la autoridad para conocer las llaves pblicas.

    2. Solo usuarios registrados y validados tendrn acceso a los archivos.

    3. Para poder ingresar el usuario se autentica con las credenciales asignadas.

    4. Los usuarios registrados cargan al sistema su llave pblica personal para verificacin de firma digital.

    2.4.2 Distribucin de claves privadas

    Las claves privadas(AES) para el resguardo de claves privadas(RSA, DSA) son de uso personal por parte de la

    autoridad y los usuarios, no es requerida la distribucin.

    2.4.3 Protocolo de transporte de claves privadas

    En el caso en que usuario requiera transferir su clave privada a otro usuario se empleara el siguiente protocolo:

    Utilizar RSA para cifrado con llave pblicas.

    Se generan clave temporales para el usuario receptor quien enva su clave pblica al emisor.

    El emisor encripta su llave privada con la llave pblica del receptor.

    El receptor desencripta el mensaje y resguarda su llave privada y cambia la contrasea AES.

    Se revocan las claves temporales.

    8

  • 2.4.4 Protocolo de autenticacin

    Para verificar la autenticidad de un mensaje este se firmar digitalmente:

    1. El Emisor obtiene una cadena original generada a partir del contenido del mensaje.

    2. La cadena se utiliza para firma el mensaje mediante DSA.

    3. El mensaje es enviado.

    4. El receptor verifica la validez de la firma mediante el uso de la clave pblica que se carg al sitio de la

    Autoridad.

    2.4.5 Protocolo SSL

    En el caso de implementacin del protocolo SSL se siguen los siguientes pasos:

    1. A B. El usuario A enva un valor aleatorio RA a B.

    2. B A. El usuario B enva a A: (RB ,CertB , DB(RB . RA)) .

    3. A B. El usuario A enva opcionalmente, a B: (Cert A , DA(RA , RB)) .

    4. B A. El usuario B escoge una clave de sesin K AB y enva a A (EA(K AB), R ' A) .

    5. A B. El usuario A descifra K AB y R 'A , y enva a B: EKAB (R ' A) .

    9

  • 2.5 Errores y riesgos evitados

    La implementacin de firma electrnica y cifrado con llave pblica trae consigo varias ventajas, las cuales se

    maximizan cuando se implementa un sistema en el que interviene una autoridad de certificacin:

    1. Integridad. Es posible verificar mediante chequeo de sumas y firmas digitales que un mensaje es ntegro.

    2. Confidencialidad. Mediante el cifrado se protege el contenido del mensaje contra usuarios no

    autorizados.

    3. No repudio. Es posible validar que el mensaje fue enviado por la persona poseedora de las claves.

    4. Confianza. La autoridad de certificacin valida que el certificado es realmente de la persona que los

    solicita.

    5. Privacidad. Los datos de los usuarios permanecen ocultos.

    6. Seguridad de la informacin. Se considera seguro debido al hecho de que es prcticamente

    inquebrantable con mtodos actuales.

    2.6 Copias de seguridad

    La estructura de directorios que ms adelante se muestra permite mantener una base de datos de los

    certificados generados, as como las claves de la autoridad de certificacin.

    Es comn que los usuario extraven su archivos, cada uno debe implementar un sistema de respaldos para poder

    recuperarlos en caso de ser necesario, es muy importante, ya que un requisito primordial (en el caso de firma

    digital) es que las claves empleadas se almacenen en forma segura bajo el control exclusivo del usuario

    propietario de la misma.

    Cuando las claves han sido vulneradas es posible recurrir a la revocacin de certificado, este tema se trata ms

    adelante.

    10

  • 2.7 Implementacin

    El siguiente diagrama muestra los pasos para el firmado y cifrado del mensaje.

    11

  • Para esta actividad se emplea la herramienta OpenSSL, a continuacin los pasos para la implementacin.

    2.7.1 Autoridad de certificacin raz

    La funcion de la autoridad de certificacin es dar confianza a los usuarios sobre la validez de los certificados

    asignados a los usuarios.

    Modelo

    El siguiente diagrama muestra la representacin jerrquica de las autoridades de certificacin.

    12

  • El siguiente diagrama de flujo muestra el proceso de validacin de certificados.

    13

  • Configuracin

    El primer paso para la creacin de los certificados raz es la creacin de un archivo de configuracin, este debe

    contener la informacin bsica de la autoridad de certificacin como el nombre y la URL as como los

    componentes del nombre distinguido de la autoridad.

    [default]name = root-cadomain_suffix = elecciones2015.comaia_url = http://$name.$domain_suffix/$name.crtcrl_url = http://$name.$domain_suffix/$name.crlocsp_url = http://ocsp.$name.$domain_suffix:9080default_ca = ca_defaultname_opt = utf-8,esc_ctrl,multiline,lname,align

    [ca_dn]countryName = "MX"organizationName = "Elecciones 2015"commonName = "Elecciones 2015 Root CA"

    Tambin sera necesario indicar los directorios en que se almacenarn los archivos generados y el periodo de

    validez, en este caso por omisin se consideran 3650 das que equivalen a 10 aos.

    [ca_default]home = .database = $home/db/indexserial = $home/db/serialcrlnumber = $home/db/crlnumbercertificate = $home/$name.crtprivate_key = $home/private/$name.keyRANDFILE = $home/private/randomnew_certs_dir = $home/certsunique_subject = nocopy_extensions = nonedefault_days = 3650default_crl_days = 365default_md = sha256policy = policy_c_o_match

    [policy_c_o_match]countryName = matchstateOrProvinceName = optionalorganizationName = matchorganizationUnitName = optionalcommonName = suppliedemailAddress = optional

    La tercer parte contiene informacin de configuracin para e comando req, utilizado para generar los certificados

    raz autofirmados.

    [req]default_bits = 4096encrypt_key = yes

    14

  • default_md = sha256utf8 = yesstring_mask = utf8onlyprompt = nodistinguished_name = ca_dnreq_extensions = ca_ext

    [ca_ext]basicConstraints = critical,CA:truekeyUsage = critical, keyCertSign, cRLSignsubject = hash

    La cuarta parte contiene informacin que puede ser utilizada durante la construccin de certificados generados

    por la autoridad.

    [sub_ca_ext]authorityInfoAccess = @issuer_infoauthorityKeyIdentifier = keyid:alwaysbasicConstraints = critical,CA:true,pathlen:0crlDistributionPoints = @crl_infoextendedKeyUsage = clientAuth,serverAuthkeyUsage = critical,keyCertSign,cRLSignnameConstraints = @name_constraintssubjectKeyIdentifier = hash

    [crl_info]URI.0 = $crl_url

    [issuer_info]caIssuers;URI.0 = $aia_urlOCSP;URI.0 = $ocsp_url

    [name_constraints]permitted;DNS.0=opendns.compermitted;DNS.1=opendns.comexcluded;IP.0=0.0.0.0/0.0.0.0excluded;IP.1=0:0:0:0:0:0:0:0/0:0:0:0:0:0:0:0

    Lo ltima parte especifica las extensiones que sern usadas con el certificado para firmado de respuesta OCSP

    (Online Certificate Status Protocol).

    [ocsp_ext]authorityKeyIdentifier = keyid:alwaysbasicConstraints = critical,CA:falseextendedKeyUsage = OCSPSigningkeyUsage = critical,digitalSignaturesubjectKeyIdentifier = hash

    15

  • Estructura de directorios

    Para generar la estructura de directorios se emplean los siguiente comandos.

    mkdir root-ca cd root* mkdir certs db private touch db/index echo 1000 > db/serial echo 1001 > db/crlnumber

    La representacin en rbol del directorio debe aparecer como a continuacin se muestra.

    root-ca EleccionesCA.conf certs # Almacenamiento de certificados db # Base de datos de certificados (index) y los archivos que indican el siguiente certificaso y serial CRL crlnumber index serial private # Directorio para almacenar las llaves privadas para CA y OCSP

    Generacin de la autoridad de certificacin raiz

    Ejecutando el siguiente comando se generan los archivos para la autoridad: la llave privada root-ca.key y una

    solicitud de certificado.

    openssl req -new -config eleccionesca.conf -out root-ca.csr -keyout private/root-ca.key

    Con el siguiente comando se autofirma el certificado.

    openssl ca -selfsign -config eleccionesca.conf -in root-ca.csr -out root-ca.crt -extensions ext_ca

    16

  • 2.7.2 Revocacin de certificados

    Para revocar un certificado se utiliza el switch del comando ca, es necesario contar con una copia del certificado

    que se requiere revocar. Como todos los certificados son almacenados en el directorio certs/, solo es necesario

    saber el nmero de serie. Si se cuenta con un nombre distinguido, se puede consultar el nmero de serie en la

    base de datos.

    Elegir la razn para el valor con el switch -crl_reason. El valor puede se uno de los siguientes: unspecified,

    keyComprise, CAComprise, affiliationChange, superseed, cessationOperation, certificateHold, and

    removeFromCRL.

    El comando a ejecutar es el siguiente:

    openssl ca -config eleccionesca.conf -revoke certs/emisor502.crt -crl_reason keyComprise

    17

  • 2.7.3 Generacin de llaves para el receptor

    Mediante el comando genrsa se genera la llave para el receptor, se emplea AES para el cifrado de la llave privada

    con una clave de 256 bit, el tamao de la llave RSA sera de 2048 bit.

    openssl genrsa -aes256 -out receptor.key 2048Generating RSA private key, 2048 bit long modulus.........................................................................................................................................................................................................+++.+++e is 65537 (0x10001)Enter pass phrase for receptor.key:Verifying - Enter pass phrase for receptor.key:

    Visualizacin del contenido de la llave cifrada, los encabezados indican el tipo de cifrado del contenido.

    cat receptor.key-----BEGIN RSA PRIVATE KEY-----Proc-Type: 4,ENCRYPTEDDEK-Info: AES-256-CBC,975CE944DABA3D29A3CF8D2079A46E38

    mE4Pnb9F6KzKwLDS/i9g2iNBxZwxn04Bh2Ob+CFtrMcJN4pAK3mGdYXh3wHhDVtB[] #Lneas ocultasojN4THl+j7f+jhNtK5vfFFZCx0TY/TJw0YwmRYE1mL6buClWwmu9fb8SzcEa+R2b-----END RSA PRIVATE KEY-----

    Visualizacin del contenido de la llave desencriptada, se puede observar que aparecen los nmeros primos

    utilizados, el mdulo y los exponentes pblico y privado.

    openssl rsa -text -in receptor.keyEnter pass phrase for receptor.key:Private-Key: (2048 bit)modulus: 00:b6:43:17:79:1e:a3:92:83:cc:04:59:31:0c:51: []publicExponent: 65537 (0x10001)privateExponent: 17:be:a1:de:3b:a9:9f:ba:df:e7:69:1f:44:b5:8a: [] prime1: 00:e0:1d:1c:cb:4e:d5:0f:f6:80:3b:ca:37:d2:4d: [] prime2: 00:d0:31:9e:36:34:45:91:ac:3c:bc:53:ae:85:5f: [] exponent1: 05:04:41:cf:bf:3c:ff:b5:79:db:5c:c4:71:1d:af: [] exponent2: 00:cc:c4:f0:b2:a9:88:ff:75:63:ab:6b:b7:0c:71: [] coefficient: 55:a3:ac:4c:fa:c0:b1:12:d3:63:d3:e7:53:71:91: [] writing RSA key

    18

  • -----BEGIN RSA PRIVATE KEY-----MIIEowIBAAKCAQEAtkMXeR6jkoPMBFkxDFFJfGPBwEcxd9ahgE+UIuHFlKDrOhCX[]-----END RSA PRIVATE KEY-----

    Exportar la llave pblica, nuevamente se emplea el comando rsa y la opcin -pubout para extraer solo la llave

    pblica para su distribucin.

    openssl rsa -in receptor.key -pubout -out receptor-publica.keyEnter pass phrase for receptor.key:writing RSA key

    cat receptor-publica.key-----BEGIN PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtkMXeR6jkoPMBFkxDFFJfGPBwEcxd9ahgE+UIuHFlKDrOhCXop8kiXXOCd59p20GZqybUBZG7AAOGaKImBd4sx/mbfwyQGoVDcZEQgGCN0EYXSzAK9g0JQn0wz/g3YiGhaVaSNj1FZ0QXiranqiVg0v/zN8uaNtC3jFQoyjX1JIIFmRYHZMYwlIArntWdo4Aixqdw2nRcHaVCw1lP/M8PUvs3V3TW6bqWQ0+jlC0A6ZBaC4Te3r7q/h4MDw2ll20/otyr9RfXIeAJ4rdEVQZpBNvlTCxlRIr4H2PaBwUKPOgSHMp4iM2jLPw8vw2S8RQZPGPdGU80+LjKOHOBXAVEQIDAQAB-----END PUBLIC KEY-----

    2.7.4 Generacin de llaves y solicitud de certificacin para el Emisor

    Se emplean los mismos pasos que para el receptor para generar la llave:

    openssl genrsa -aes256 -out emisor.key 2048Generating RSA private key, 2048 bit long modulus.....+++.................+++e is 65537 (0x10001)Enter pass phrase for emisor.key:Verifying - Enter pass phrase for emisor.key:

    A continuacin se genera una solicitud de certificacin para enviarlo a la Autoridad Pblica. La informacin

    solicitada se llenar de la siguiente forma:

    Nombre del pas: MX

    Estado: Nombre del estado

    Nombre de la localidad: El nombre del municipio

    Nombre de la organizacin: El nmero asignado a la ubicacin de las casillas

    Nombre comn: El nombre del representante de la ubicacin de las casillas

    19

  • Direccin de correo: La direccin de correo registrada del representante

    Seleccionar una contrasea de revocacin, ingresarla y guardarla.

    openssl req -new -key emisor.key -out emisor502.csrEnter pass phrase for emisor.key:You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [AU]:MXState or Province Name (full name) [Some-State]:HidalgoLocality Name (eg, city) []:PachucaOrganization Name (eg, company) [Internet Widgits Pty Ltd]:502Organizational Unit Name (eg, section) []:Common Name (eg, YOUR name) []:Julio CsarEmail Address []:[email protected]

    Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:abcdstring is too short, it needs to be at least 4 bytes longA challenge password []:abcdAn optional company name []:

    Se enva la solicitud a la Autoridad Pblica para su certificacin y firmado.

    2.7.5 Firmado de la solicitud de certificado

    Una vez recibida la solicitud, se procede a firmar y generar el certificado, la vigencia de estos ser de 20 das.

    openssl x509 -req -days 20 -in certs/emisor502.csr -signkey private/root-ca.key -outcerts/emisor502.crtSignature oksubject=/C=MX/ST=Hidalgo/L=Pachuca/O=502/CN=Julio C\xC3\xA9sar/[email protected] Private keyEnter pass phrase for receptor.key:

    El certificado es almacenado por la autoridad y enviado al emisor.

    20

  • 2.7.6 Formato de documento para envo

    El formato para le mensaje a enviar ser el que se especifica en el siguiente esquema:

    1 2 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

    Cada mensaje contiene 0..n conteos que corresponden al nmero de votos que cada partido obtuvo. El siguiente

    es un ejemplo de archivo generado, an no incluye firma.

    1 2 3 j4 u5

    A continuacin se extrae el contenido del archivo para el firmado mediante la siguiente hoja de estilo.

    1 2 3 4 5 6 ^,^ 7 8 9

    21

  • 2.7.7 Firmado del mensaje

    A continuacin los comandos necesarios para el firmado del mensaje: 1) se extra la cadena, 2) se aplica digestin

    sha1, 3) se firma con la llave privada del emisor.

    xsltproc cadena.xsl msj.xml

    ^abc,16^

    ^xyz,21^

    xsltproc cadena.xsl msj.xml | openssl sha1bb5f3b67a08853d15d195a08ba1b7a8f2eecf8d4

    xsltproc cadena.xsl msj.xml | openssl dgst -sha1 -sign emisor.key | openssl base64 -AEnter pass phrase for emisor.key:q0PDi/3qz1DiPurY3RnmyzUxQLg3rwy5JXXmw4mFpLK2lPh5Eby1xE3FyzB+PGHobo1vhIwqtBfG3MTDVY5mpBbuFLs7zT3V4otD4w8J22hCIJepJ61l5sx0fWi77X19vJuOyq+UDipUxV72p7r66a/J+VP6s9uByOZ5XE+idKb3UOHgBsXcZwHJHjkvlnTl7p08d0PGNwBm5bu2dM/GwEm2Deg8tPBz0KrNj3cjomyVRvh/B6GIpidITlIz+qJzFddxBSN3LRlt0p8m5to9B7AwNvrVgvgEALXMSKvfcU6hDoY7y7fxohPhL+iwWqy3YxGbQ0UaQ5+rEz/CyBAEWA==

    Una vez agregada la firma el mensaje, este quedar como a continuacin se muestra:

    1 2 3 j4 u5

    2.7.8 Verificacin de la autenticidad del mensaje

    En este paso se emplea ahora otra hoja de estilo para extraer la firma.

    1 2 3 4 5 6 7

    Se extra del mensaje la firma y se decodifica, el resultado se almacena en el archivo firma para su uso posterior.

    xsltproc firma.xsl msj.xml | openssl base64 -d -A -out firma

    22

  • Ahora se procede a verificar la cadena contra la firma del mensaje.

    xsltproc cadena.xsl msj.xml | openssl dgst -sha1 -verify emisor.pub.key -signature firmaVerified OK

    2.7.9 Encriptado del mensaje

    Para cifrar el mensaje se emplear el siguiente procedimiento y comandos. Debido a la limitante de rsa para

    encriptar archivos largos, principalmente por al tiempo que se empleara en los clculos matemticos, se utiliza

    una llave aleatoria de tamao pequea, esta sirve para cifrar el mensaje, posteriormente se encripta la llave con

    la llave pblica del receptor.

    openssl rand 32 > msj.key openssl enc -aes256 -in msj.xml -kfile msj.key -out msj.cifrado openssl rsautl -encrypt -in msj.key -pubin -inkey receptor.pub.key > msj.key.cifrado

    2.7.10 Desencriptado del mensaje

    Se realiza un proceso invertido, decifrando la clave de encriptado del mensaje con la llave privada del receptor

    openssl rsautl -decrypt -in msj.key.cifrado -inkey receptor.key > msj.key.descifrado openssl enc -aes256 -d -in msj.cifrado -kfile msj.key.descifrado -out msj.descifrado.xml

    Verificamos la autenticidad del mensaje validando la firma.

    xsltproc cadena.xsl msj.descifrado.xml | openssl dgst -sha1 -verify emisor.pub.key -signature firmaVerified OK

    23

  • 3 Conclusiones

    Garantizar la integridad, confidencialidad y autenticidad en la generacin e intercambio de mensajes requiere de

    la combinacin de herramientas, algoritmos y protocolos.

    La existencia de autoridades de certificacin permite dar confianza a los usuarios sobre el uso de certificados por

    parte de proveedores de un servicio. Los sistemas verifican con algunos pasos fechas, integridad, cadenas de

    confianza de la AC y usos permitidos.

    En el caso de estudio se pudo observar la aplicacin del algoritmo RSA para la generacin de claves privada y

    pblica para cifrado asimtrico en combinacin con SHA1 se firma digitalmente el mensaje con lo cual se

    garantiza la autenticidad e integridad. Base64 permite mostrar un mensaje en un formato legible.

    Por ltimo se pudo observar la aplicacin de los algoritmos RSA y AES para el cifrado y transmisin del mensaje,

    debido a la limitante de RSA para el cifrado de archivos grandes, se combinan, se cifra la con rsa la clave

    empleada en el cifrado AES. DE esta forma solo el receptor puede descifrar la clave para descifrar el mensaje.

    24

  • 4 Fuentes de consulta

    Ivan Risti (2015) OpenSSL CookBook. 2da. Edicin. Qualys, Feist Duck.

    Espaa Boquera, M.C. (2003). Servicios avanzados de telecomunicacin. Madrid: Daz de Santos. pp. 67-69, 72-

    76, 79-82.

    Vera Delgado, Rafael Palacios (2006). Introduccin a la Criptografa: tipos de algoritmos. Revista: Anales de

    mecnica y electricidad. Sevilla: Escuela Tcnica Superior de Ingeniera (ICAI). pp. 10-16.

    https://www.icai.es/contenidos/publicaciones/anales_get.php?id=1235

    25

    1 Introduccin2 Prevencin de riesgos en los SI2.1 Caso de estudio2.2 Algoritmos2.2.1 SHA12.2.2 Advanced Encryption Standard, AES2.2.3 RSA

    2.3 Formatos2.3.1 X509

    2.4 Protocolos2.4.1 Gestin de claves pblicas2.4.2 Distribucin de claves privadas2.4.3 Protocolo de transporte de claves privadas2.4.4 Protocolo de autenticacin2.4.5 Protocolo SSL

    2.5 Errores y riesgos evitados2.6 Copias de seguridad2.7 Implementacin2.7.1 Autoridad de certificacin razModeloConfiguracinEstructura de directoriosGeneracin de la autoridad de certificacin raiz

    2.7.2 Revocacin de certificados2.7.3 Generacin de llaves para el receptor2.7.4 Generacin de llaves y solicitud de certificacin para el Emisor2.7.5 Firmado de la solicitud de certificado2.7.6 Formato de documento para envo2.7.7 Firmado del mensaje2.7.8 Verificacin de la autenticidad del mensaje2.7.9 Encriptado del mensaje2.7.10 Desencriptado del mensaje

    3 Conclusiones4 Fuentes de consulta