criptografía básica-principiantes

Upload: usuario99

Post on 11-Oct-2015

24 views

Category:

Documents


0 download

TRANSCRIPT

  • Criptografa para principiantes

    1Jose de Jess ngel ngel

    Criptografa Para Principiantes(Versin 1.0)

    Jos de Jess Angel [email protected]

    Objetivo: Este artculo tiene como propsito explicar algunasherramientas de seguridad informtica, tratando de enfatizar laimportancia de la criptografa; se busca dar una explicacin lo mssencilla posible. Para un estudio ms completo se recomienda ver labibliografa.

  • Criptografa para principiantes

    2Jose de Jess ngel ngel

    ndice0 Prefacio....................................................................... 31 Introduccin................................................................ 82 Criptografa simtrica.................................................. 12

    DES....................................................................... 13TDES .................................................................... 13AES........................................................................ 15Funiones de Flujo................................................. 15Funiones Hash...................................................... 15

    3 Criptografa asimtrica................................................. 21RSA....................................................................... 22Esquema de cifrado............................................... 24Esquema de firma digital....................................... 24Aspectos importantes............................................ 26CCE....................................................................... 27

    4 Otras herramientas criptogrficas................................ 31A) Comparticin de Secretos................................ 31B) Criptografa Visual............................................ 32C) Dinero Electrnico............................................ 35

    5 Certificados Digitales................................................... 376 Infraestructura de claves pblicas............................... 397 Comercio Electrnico................................................... 438 Protocolos de seguridad.............................................. 45

    SSL........................................................................ 46SET........................................................................ 47

    9 Vocabulario sobre criptografa..................................... 5010 Vocabulario matemtico usado frecuentemente en criptografa.................................. 5211 Bibliografa................................................................. 55

    Seguridad en cmputo........................................... 55Criptografa y Teora de los Nmeros................... 55Protocolos (SSL, SET)........................................... 58Infraestructura de claves pblicas y certificados

    digitales.................................................................. 58Criptografa Visual................................................. 59Comparticin de Secretos................................. 59

  • Criptografa para principiantes

    3Jose de Jess ngel ngel

    0 Prefacio

    El uso de tcnicas criptogrficas tiene como propsito prevenir algunas faltas deseguridad en un sistema computarizado. La seguridad en general debe de serconsiderada como un aspecto de gran importancia en cualquier corporacin quetrabaje con sistemas computarizado. El hecho que gran parte de actividadeshumanas sea cada vez ms dependiente de los sistemas computarizados haceque la seguridad juegue un papel importante [6].Quiz antes sea importante mencionar algunos datos relacionados con laseguridad antes de comenzar con el desarrollo del tema

    En el reporte Computer Crime Survey del FBI, proporcionado por Secure SiteE-News del 22 de mayo de 1999, de la compaa VeriSign, se dieron lossiguientes datos:

    Se estudiaron 521 compaas de varias ramas de la industria y de diferentestamaos. Estas estn actualmente trabajando para que su sistema computarizadosea seguro.

    El 61% de estas compaas ha tenido experiencias de perdida debido al uso deno autorizado de su sistema computarizado.El 32 % de estas organizaciones estn usando ahora mtodos de identificacinsegura en su sitio de Internet.El promedio de perdida de robo o perdida de informacin esta sobre $1.2 M dedlares.El promedio de perdida por sabotaje esta sobre $1.1 M dlares.El 50% de todas las compaas reportaron abuso de del uso de la redEl 94% de las organizaciones tiene actualmente un sitio en la web.

  • Criptografa para principiantes

    4Jose de Jess ngel ngel

    A la pregunta qu tipo de tecnologa de seguridad usa? Se contesto con losiguiente:

    Se cuenta con un control en el acceso 89%.Cuenta con archivos cifrados 59%.Cuanta con sistema de passwords 59%.Usa Firewalls 88%.Una sistema de log-in cifrados 44%.Usa smart-cards 37%.Detencin de intrusos 40%.Certificados digitales para la autenticacin 32%.

    A la pregunta Cul es ms frecuente origen de un ataque?

    Un hacker independiente 74%.Un competidor 53%.Un empleado disgustado 86%.

    Su organizacin provee servicio de comercio electrnico?

    S, el 29%.

    Su web-site ha tenido un acceso no autorizado en los ltimos 12 meses?

    S 18%.No 44%.No sabe 38%.

    Enseguida presentamos un reporte dado a conocer, en unos cursos de criptografaindustrial en Blgica, en junio de 1997, en donde se mide la frecuencia deincidentes de seguridad de la informacin relacionada con sus causas [7][8].

    Frecuencia Razn50-60% Errores debido a la inexperiencia, reacciones de pnico, mal

    uso,15-20% Empleados disgustados, accidentes de mantenimiento,10-15% Desastres naturales como inundaciones, incendios,3-5% Causas externas: hackers

  • Criptografa para principiantes

    5Jose de Jess ngel ngel

    Otro aspecto importante a considerar es el crecimiento enorme que ha tenido lared Internet, algunos datos importantes son los proporcionados por Paul VanOorschot de Entrust Technologies en una conferencia del ciclo The Mathematicsof Public Key Cryptography en junio de 1999:! Se duplica l trafico de Internet cada 100 das.! En enero de 1999 hubo 150 millones de personas en lnea, 75 de ellas en

    USA.! El comercio sobre Internet se duplica cada ao.! Podra llegar a $1 trilln de dlares lo comercializado en Internet en el ao

    2002.! A la radio le tomo 40 aos, a la televisin 10 aos para alcanzar 50 millones de

    usuarios a la red le ha tomado menos de 5.

    Estos datos slo son algunos de los que frecuentemente son dados a conocer poralgn medio, y aunque algunos obedecen a intereses comerciales, lo que s escierto es el enorme cambio que han tenido gran cantidad de actividades a raz deluso de Internet que incluso se ha considerado como el invento ms importante defin de siglo y de ah lo primordial de todo lo relacionado con su seguridad.

    Siempre podremos encontrar razones para reafirmar la trascendencia que tiene laseguridad en los sistemas computarizados, enseguida nos dedicamos a dar unaintroduccin de cmo podemos atacar este problema.

    El disear una estrategia de seguridad depende en general de la actividad que sedesarrolle, sin embargo, se pueden considerar los siguientes tres pasos generales:el primero crear una poltica global de seguridad, el segundo realizar un anlisisde riesgos y el tercero aplicar las medidas correspondientes [3][9][10].

    Poltica global de seguridad: aqu se establece el estatus de la informacin parala empresa o la organizacin, debe de contener un objetivo general, la importanciade la tecnologa de la informacin para la empresa, el periodo de tiempo devalidez de la poltica, los recursos con que se cuenta, objetivos especficos de laempresa.

    Debe de establecerse la calidad de la informacin que se maneja segn suobjetivo, esto quiere decir que se determine cundo o para quin la informacindebe ser confidencial, cundo debe verificarse su integridad y cundo debe deverificarse la autenticidad tanto de la informacin como de los usuarios.

    Anlisis de riesgos: consiste en listar todo tipo de riesgos a los cuales estaexpuesta la informacin y cules son las consecuencias, los posibles atacantesentre persona, empresas y dependencias de inteligencia, las posibles amenazasetc., enumerar todo tipo de posible prdida, desde prdidas directas como dinero,clientes, tiempo etc., as como indirectas, crditos no obtenidos, prdida deimagen, implicacin en un litigio, prdida de imagen, prdida de confianzaetctera.

  • Criptografa para principiantes

    6Jose de Jess ngel ngel

    El riesgo se puede calcular por la formula riesgo = probabilidad prdida, porejemplo el riesgo de perder un contrato por robo de informacin confidencial esigual a la probabilidad de que ocurra el robo multiplicado por la prdida total enpesos de no hacer el contrato. El riesgo de fraude en transacciones financieras esigual a la probabilidad de que ocurra el fraude por la prdida en pesos de quellegara ocurrir ese fraude. Si la probabilidad es muy pequea el riesgo es menor,pero si la probabilidad es casi uno, el riesgo puede ser casi igual a la perdida total.Si por otro lado la prdida es menor aunque la probabilidad de que ocurra elevento sea muy grande tenemos un riesgo menor. Por ejemplo la prdida de unatransaccin de 300 pesos con una probabilidad muy grande de que ocurra al usarcriptografa dbil, el riesgo llega a ser menor por lo que depende de la poltica deseguridad para que este riesgo se asuma.

    Medidas de seguridad: esta parte la podemos plantear como la terminacin de latoda la estructura de seguridad de la informacin. Una vez planteada una polticade seguridad, o sea decir cuanto vale la informacin (en un anlisis de riesgo),decir que tanto pierdo si le ocurre algo a mi informacin o que tanto se gana siest protegida, debemos de establecer las medidas para que cumpliendo con lapoltica de seguridad las prdidas sean las menores posibles y que esto setransforme en ganancias, ya sean materiales o de imagen.

    Las posibles medidas que se pueden establecer se pueden dividir segn lasiguiente tabla:

    PF: guardias a la entrada del edificio, control en el acceso de entrada, proteccin al hardware,respaldo de datos, DF: monitor de vigilancia, detector de metales, detector de movimiento, CF: respaldo de fuente de poder, PT: firewalls, criptografa, bitcora, DT: control de acceso lgico, sesin de autenticacin, CT: programa antivirus, PO: cursos de actualizacin, organizacin de las claves, DO: monitoreo de auditoria, CO: respaldos automticos, plan de incidentes (sanciones),

    Tipos ProteccinFsica

    MedidasTcnicas

    Medidas deOrganizacin

    Preventivas PF PT PODetectivas DF DT DOCorrectiva CF CT CO

  • Criptografa para principiantes

    7Jose de Jess ngel ngel

    En resumen debemos de mencionar que no existe un sistema computarizado quegarantice al 100% la seguridad de la informacin debido a la inmensa cantidad dediferentes formas con que se puede romper la seguridad de un sistema [2]. Sinembargo, una buena planeacin de la estrategia para dar seguridad a lainformacin puede resultar desde la salvacin de una empresa hasta la obtencinde grandes ganancias directas en dinero efectivo, o como ganancias indirectasmejorando la imagen y la seguridad de la empresa. Uno de los objetivosprincipales de establecer una poltica de seguridad es el de reducir al mnimo losriegos posibles, implementando adecuadamente las diferentes medidas deseguridad [1][4][5].

    Enseguida repasamos algunas de las tcnicas de seguridad que pertenecen a lacriptografa, tratando de exponerlas de una forma sencilla de comprender. Paraun estudio ms profundo se puede recurrir a la amplia bibliografa.

  • Criptografa para principiantes

    8Jose de Jess ngel ngel

    1 IntroduccinLa palabra criptografa proviene del griego kryptos, que significa esconder ygrphein, escribir, es decir, escritura escondida. La criptografa ha sido usada atravs de los aos para mandar mensajes confidenciales cuyo propsito es queslo las personas autorizadas puedan entender el mensaje.Alguien que quiere mandar informacin confidencial aplica tcnicas criptogrficaspara poder esconder el mensaje (lo llamaremos cifrar o encriptar), manda elmensaje por una lnea de comunicacin que se supone insegura y despus solo elreceptor autorizado pueda leer el mensaje escondido (lo llamamos descifrar odescencriptar)

    Desde sus inicios la criptografa lleg a ser una herramienta muy usada en elambiente militar, por ejemplo en la segunda gran guerra tuvo un papeldeterminante, una de las mquinas de cifrado que tuvo gran popularidad se llamENIGMA. Al terminar la guerra las agencias de seguridad de las grandespotencias invirtieron muchos recursos para su investigacin. La criptografa comola conocemos hoy, surgi con la invencin de la computadora.

  • Criptografa para principiantes

    9Jose de Jess ngel ngel

    Una buena referencia sobre la historia de la criptografa desde sus inicios hasta la2 gran guerra es el libro The Codebreakers de D. Kahn, y en MachineCryptography and Modern Cryptanalysis (C.A. Deavours, L. Kruh) se puedeencontrar algo de la historia de la posguerra. Tambin es recomendableconsultar a W. Friedman y a G.J. Simmons.

    La criptografa actual se inicia en la segunda mitad de la dcada de los aos 70.No es hasta la invencin del sistema conocido como DES (Data EncryptionStandard) en 1976 que se da a conocer mas ampliamente, principalmente en elmundo industrial y comercial. Posteriormente con el sistema RSA (Rivest, Shamir,Adleman) en 1978, se abre el comienzo de la criptografa en un gran rango deaplicaciones: en transmisiones militares, en transacciones financieras, encomunicacin de satlite, en redes de computadoras, en lneas telefnicas, entransmisiones de televisin etctera.

    La criptografa se divide en dos grandes ramas, la criptografa de clave privada osimtrica y la criptografa de clave pblica o asimtrica, DES pertenece al primergrupo y RSA al segundo. (Las referencias ms conocidas sobre criptografa decarcter general son [29][38][43][67][68][70][72][73][76])Para poder entender un poco de la criptografa, es tiempo de plantear que tipo deproblemas resuelve sta. Los principales problemas de seguridad que resuelve lacriptografa son: la privacidad, la integridad, la autenticacin y el no rechazo.

    La privacidad, se refiere a que la informacin slo pueda ser leda por personasautorizadas.

    Ejemplos: en la comunicacin por telfono, que alguien intercepte la comunicaciny escuche la conversacin quiere decir que no existe privacidad. Si mandamosuna carta y por alguna razn alguien rompe el sobre para leer la carta, ha violadola privacidad.

    En la comunicacin por Internet es muy difcil estar seguros de la privacidad de lacomunicacin, ya que no se tiene control de la lnea de comunicacin. Por lo tantoal cifrar (esconder) la informacin cualquier intercepcin no autorizada no podrdesvelar la informacin. Esto es posible si se usan tcnicas criptogrficas, enparticular la privacidad se logra si se cifra el mensaje con un mtodo simtrico.La integridad, se refiere a que la informacin no pueda ser alterada en eltranscurso de ser enviada.

    Ejemplos: cuando compramos un boleto de avin y los datos del vuelo soncambiados, puede afectar los planes del viajero. Una vez hecho un deposito en elbanco, si no es capturada la cantidad correcta causar problemas. La integridades muy importante en las transmisiones militares ya que un cambio de informacinpuede causar graves problemas.

  • Criptografa para principiantes

    10Jose de Jess ngel ngel

    En Internet las compras se puede hacer desde dos ciudades muy distantes, lainformacin tiene necesariamente que viajar por una lnea de transmisin de lacual no se tiene control, si no existe integridad podran cambiarse por ejemplo elnmero de una tarjeta de crdito, los datos del pedido, en fin, informacin quecausara problemas a cualquier comercio y cliente.

    La integridad tambin se puede solucionar con tcnicas criptogrficasparticularmente con procesos simtricos o asimtricos.

    La autenticidad, se refiere a que se pueda confirmar que el mensaje recibidohaya sido mandado por quien dice lo mando o que el mensaje recibido es el quese esperaba.

    Ejemplo: cuando se quiere cobrar un cheque a nombre de alguien, quien lo cobradebe de someterse a un proceso de verificacin de identidad para comprobar queen efecto es la persona quien dice ser, esto en general se lleva a cabo con unacredencial que anteriormente fue certificada y acredita la identidad de la personaque la porta. La verificacin se lleva a cabo comparando la persona con una fotoo con la comparacin de una firma convencional.

    Por Internet es muy fcil engaar a una persona con quien se tiene comunicacinrespecto a la identidad, resolver este problema es por lo tanto muy importantepara efectuar comunicacin confiable.

    Las tcnicas necesarias para poder verificar la autenticidad tanto de personascomo de mensajes usan quiz la ms conocida aplicacin de la criptografaasimtrica que es la firma digital, de algn modo sta reemplaza a la firmaautgrafa que se usa comnmente. Para autenticar mensajes se usa criptografasimtrica.

    El no rechazo, se refiere a que no se pueda negar la autora de un mensajeenviado.

  • Criptografa para principiantes

    11Jose de Jess ngel ngel

    Cuando se disea un sistema de seguridad, una gran cantidad de problemaspueden ser evitados si se puede comprobar la autenticidad, garantizar privacidad,asegurar integridad y el no-rechazo de un mensaje.La criptografa simtrica y asimtrica conjuntamente con otras tcnicas, como elbuen manejo de las claves y la legislacin adecuada resuelven satisfactoriamentelos anteriormente problemas planteados, como lo veremos en los captulosposteriores.

  • Criptografa para principiantes

    12Jose de Jess ngel ngel

    2 Criptografa Simtrica

    La criptografa simtrica se refiere al conjunto de mtodos que permiten tenercomunicacin segura entre las partes siempre y cuando anteriormente se hayanintercambiado la clave correspondiente que llamaremos clave simtrica. Lasimetra se refiere a que las partes tienen la misma llave tanto para cifrar comopara descifrar.

    Este tipo de criptografa se conoce tambin como criptografa de clave privada ocriptografa de llave privada.

    Existe una clasificacin de este tipo de criptografa en tres familias, la criptografasimtrica de bloques (block cipher), la criptografa simtrica de lluvia (streamcipher) y la criptografa simtrica de resumen (hash functions). Aunque con ligerasmodificaciones un sistema de criptografa simtrica de bloques puede modificarsepara convertirse en alguna de las otras dos formas, sin embargo es importanteverlas por separado dado que se usan en diferentes aplicaciones.

    La criptografa simtrica ha sido la ms usada en toda la historia, sta a podido serimplementada en diferente dispositivos, manuales, mecnicos, elctricos, hastalos algoritmos actuales que son programables en cualquier computadora. La ideageneral es aplicar diferentes funciones al mensaje que se quiere cifrar de tal modoque solo conociendo una clave pueda aplicarse de forma inversa para poder asdescifrar.

    Aunque no existe un tipo de diseo estndar, quiz el ms popular es el deFiestel, que consiste esencialmente en aplicar un nmero finito de interaccionesde cierta forma, que finalmente da como resultado el mensaje cifrado. Este es elcaso del sistema criptogrfico simtrico ms conocido, DES.

  • Criptografa para principiantes

    13Jose de Jess ngel ngel

    DES

    DES es un sistema criptogrfico (ver referencias en:[47][29][52]), que toma comoentrada un bloque de 64 bits del mensaje y este se somete a 16 interacciones, unaclave de 56 bits, en la prctica el bloque de la clave tiene 64 bits, ya que a cadaconjunto de 7 bits se le agrega un bit que puede ser usada como de paridad.Dependiendo de la naturaleza de la aplicacin DES tiene 4 modos de operacin(ver referencias en: [48][54][56]) para poder implementarse: ECB (ElectronicCodebook Mode) para mensajes cortos, de menos de 64 bits, CBC (Cipher BlockChaining Mode) para mensajes largos, CFB (Cipher Block Feedback) para cifrarbit por bit byte por byte y el OFB (Output Feedback Mode) el mismo uso peroevitando propagacin de error.

    En la actualidad no se ha podido romper el sistema DES desde la perspectiva depoder deducir la clave simtrica a partir de la informacin interceptada, sinembargo con un mtodo a fuerza bruta, es decir probando alrededor de 256posibles claves, se pudo romper DES en Enero de 1999. Lo anterior quiere decirque, es posible obtener la clave del sistema DES en un tiempo relativamentecorto, por lo que lo hace inseguro para propsitos de alta seguridad. La opcin quese ha tomado para poder suplantar a DES ha sido usar lo que se conoce comocifrado mltiple, es decir aplicar varias veces el mismo algoritmo para fortalecer lalongitud de la clave, esto a tomado la forma de un nuevo sistema de cifrado que seconoce actualmente como triple-DES o TDES.

    TDESTDES El funcionamiento de TDES [53] consiste en aplicar 3 veces DES de lasiguiente manera: la primera vez se usa una clave K1(azul) junto con el bloqueB0, de forma ordinaria E (de Encription), obteniendo el bloque B1. La segunda vesse toma a B1 con la clave K2 (roja), diferente a K1 de forma inversa, llamada D(de Descencription) y la tercera vez a B2 con una clave K3 (verde) diferente a K1y K2, de forma ordinaria E (de Encription), es decir, aplica de la interaccin 1 a la16 a B0 con la clave K1, despus aplica de la 16 a la 1, a B1 con la clave K2,finalmente aplica una vez mas de la 1 a la 16 a B2 usando la clave K3, obteniendofinalmente a B3. En cada una de estas tres veces aplica el modo de operacinms adecuado.

  • Criptografa para principiantes

    14Jose de Jess ngel ngel

    El proceso del cifrado con TDES se puede apreciar en las siguientes figuras:

    Este sistema TDES usa entonces una clave de 168 bits, aunque se ha podidomostrar que los ataques actualmente pueden romper a TDES con unacomplejidad de 2112, es decir efectuar al menos 2112 operaciones para obtener laclave a fuerza bruta, adems de la memoria requerida [44].

    Se opt por TDES ya que es muy fcil Inter-operar con DES y proporcionaseguridad a mediano plazo.

    En los ltimos 20 aos se han diseado una gran cantidad de sistemascriptogrficos simtricos, entre algunos de ellos estn: RC-5 [37], IDEA [25], FEAL[40], LOKI91 [16], DESX [33], Blowfish [39], CAST [11], GOST [18], etctera.Sin embargo no han tenido el alcance de DES, a pesar de que algunos de ellostienen mejores propiedades.Podemos afirmar que el estado actual de la criptografa simtrica es la bsquedade un nuevo sistema que pueda reemplazar a DES en la mayor parte deaplicaciones. Es as como se ha optado por convocar a un concurso de sistemascriptogrficos simtricos y que este decida quien ser el nuevo estndar al menospara los prximos 20 aos.

  • Criptografa para principiantes

    15Jose de Jess ngel ngel

    AES

    El NIST (National Institute of Standards Technology) [74] convoc a un concursopara poder tener un sistema simtrico que sea seguro y pueda usarse al menos enlos prximos 20 aos como estndar. En la mitad del ao de 1998 se aceptaron 15candidatos, estos se han sometido a pruebas pblicas y por parte del NIST.Actualmente se cuentan con 5 finalistas que son: MARS, RC6, Rijndael, Serpent,y Twofish, se espera que el candidato elegido se tenga a mediados del ao 2000. Las principales caractersticas que se pide a AES son que al menos sea tanseguro y rpido como TDES, es decir, que al menos evite los ataques conocidos.Adems de que pueda ser implementado en una gran parte de aplicaciones. Unavez designado AES este podr ser usado tanto como cifrador de bloques (blockcipher), como cifrador de lluvia (stream cipher), como funcin resumen (hashfunction), y como generador de nmeros seudoaleatorios.

    Funciones de FlujoLos cifradores de flujo o stream ciphers, son usados donde se cuente con unancho de banda restringido (el nmero de bits que se transmiten a la vez), ademsde que se requiere independencia en los bloques transmitidos, entonces la mejoropcin es cifrar bit por bit o byte por byte, este tipo de cifradores tiene lacaracterstica adems de ser muy rpido. Los algoritmos ms conocidos de estetipo estn RC-4, SEAL [66] y WAKE.Entre los ataques ms potentes a la criptografa simtrica estn el criptoanlisisdiferencial [12] y lineal [28], sin embargo no han podido ser muy eficientes en laprctica por lo tanto, por el momento despus de que un sistema criptogrfico espublicado y se muestra inmune a estos dos tipos de ataques (y algunos otrosms) la mayor preocupacin es la longitud de las claves [26].

    Funciones Hash

    Una herramienta fundamental en la criptografa, son las funciones hash [60]. Sonusadas principalmente para resolver el problema de la integridad de los mensajes,as como la autenticidad de mensajes y de su origen.Una funcin hash es tambin ampliamente usada para la firma digital, ya que losdocumentos a firmar son en general demasiado grandes, la funcin hash lesasocia una cadena de longitud 160 bits que los hace ms manejables para elpropsito de firma digital.

  • Criptografa para principiantes

    16Jose de Jess ngel ngel

    De forma grfica la funcin hash efecta lo siguiente:

    Esto es, un mensaje de longitud arbitraria lo transforma de forma nica a unmensaje de longitud constante.Cmo hace esto?

    La idea general es la siguiente:

    La funcin hash toma como entrada una cadena de longitud arbitraria, digamos5259 bits,luego divide ste mensaje en partes iguales, digamos de 160bits; como en estecaso y en general el mensaje original no ser un mltiplo de 160, entonces paracompletar un nmero entero de partes de 160 bits al ltimo se le agrega unrelleno, digamos de puros ceros. En nuestro caso en 5259 caben 32 partes de 160bits y sobran 139, entonces se agregarn 21 ceros ms.

  • Criptografa para principiantes

    17Jose de Jess ngel ngel

    Entonces el mensaje toma la forma X = X1, X2, X3,,Xt donde cada Xi tieneigual longitud (160bits por ejemplo).

    Posteriormente se asocia un valor constante a un vector inicial IV y

    H0=IV

    Ahora se obtiene H1 que es el resultado de combinar H0 con X1 usando unafuncin de compresin f

    H1 = f(H0,X1)Posteriormente se obtiene H2, combinando H1 y X2 con f

    H2 = f(H1,X2)Se hace lo mismo para obtener H3

    H3 = f(H2,X3)Hasta llegar a Ht

    Ht = f(Ht-1, Xt)Entonces el valor hash ser h(M) = Ht

  • Criptografa para principiantes

    18Jose de Jess ngel ngel

    De alguna forma lo que se hace es tomar el mensaje partirlo en pedazos delongitud constante y combinar de alguna forma pedazo por pedazo hasta obtenerun solo mensaje de longitud fija como muestra la figura siguiente:

    Las funciones hash (o primitivas hash) pueden operar como: MDC (ModificationDetection Codes) MAC (Massage Authentication Codes) [57][64].Los MDC sirven para resolver el problema de la integridad de la informacin, almensaje se le aplica un MDC (una funcin hash) y se manda junto con el propiomensaje, al recibirlo el receptor aplica la funcin hash al mensaje y compruebaque sea igual al hash que se envi antes.

    Es decir, se aplica un hash al mensaje M y se enva con el mensaje (M, h(M)),cuando se recibe se le aplica una vez ms el hash (ya que M fue enviado)obteniendo h(M), si h(M)=h(M), entonces se acepta que el mensaje se atransmitido sin alteracin.

  • Criptografa para principiantes

    19Jose de Jess ngel ngel

    Los MAC sirven para autenticar el origen de los mensaje as como tambin suintegridad, para hacer esto se combina el mensaje M con una clave privada K y seles aplica un hash h(M,K). Se enva esto y al llegar a su destino si se compruebala integridad de la clave privada K, entonces se demuestra que el nico origen delmensaje es el que tiene la parte propietaria de la otra clave K.De forma simple se muestra en la siguiente figura el funcionamiento de un MAC.

    Las propiedades que deben de tener las primitivas hash son:

    1) Resistencia a la preimagen: significa que dada cualquier imagen, escomputacionalmente imposible encontrar un mensaje x tal que h(x)=y. Otraforma como se conoce esta propiedad es que h sea de un solo sentido.

    2) Resistencia a una 2 preimagen: significa que dado x, escomputacionalmente imposible encontrar una x tal que h(x)=h(x). Otra formade conocer esta propiedad es que h sea resistente a una colisin suave.

    3) Resistencia a colisin: significa que es computacionalmente imposibleencontrar dos diferentes mensajes x, x tal que h(x)=h(x). Esta propiedadtambin se conoce como resistencia a colisin fuerte.

    Para ilustrar la necesidad de estas propiedades veamos los siguientes ejemplos:Consideremos un esquema de firma digital con apndice, entonces la firma seaplica a h(x), en este caso h debe ser un MDC con resistencia a una 2preimagen, ya que de lo contrario un atacante C que conozca la firma sobre h(x),puede encontrar otro mensaje x tal que h(x) = h(x) y reclamar que la firma es deldocumento x.

    Si el atacante C puede hacer que el usuario firme un mensaje, entonces elatacante puede encontrar una colisin (x, x) (en lugar de lo ms difcil que esencontrar una segunda preimagen de x) y hacer firmar al usuario a x diciendo quefirmo x. En este caso es necesaria la propiedad de resistencia a colisin.

  • Criptografa para principiantes

    20Jose de Jess ngel ngel

    Por ltimo si (e,n) es la clave pblica RSA de A, C puede elegir aleatoriamente uny y calcular z = ye mod n, y reclamar que y es la firma de z, si C puede encontraruna preimagen x tal que z = h(x), donde x es importante para A. Esto es evitable sih es resistente a preimagen.

    Las funciones hash ms conocidas son las que se crean a partir de un blockcipher como: DES [29], MD5 [62], SHA-1, y RIPEMD 160 [65].

    Actualmente se ha podido encontrar debilidades en las funciones hash que tienencomo salida una cadena de 128 bits, por lo que se ha recomendado usar salidasde 160bits. As mismo se han encontrado ataques a MD5 y SHA-0 (antecesora deSHA-1), esto ha dado lugar a que se dirija la atencin sobre la funcin hasRIPEMD-160.

    El ataque ms conocido (de fuerza bruta) a una funcin hash es conocido comobirthday attack y se basa en la siguiente paradoja, si hay 23 personas en un localexiste una probabilidad de al menos 1/2, de que existan dos personas con elmismo cumpleaos. Aunque parezca muy difcil esa posibilidad se puedemostrar que en general al recorrer la raz cuadrada del nmero de un conjunto dedatos, se tiene la probabilidad de al menos de encontrar dos iguales.

    Al aplicar esto a una funcin hash, es necesario recorrer entonces la raz cuadradade 2160 mensajes para poder encontrar dos con el mismo hash, o sea encontraruna colisin. Por lo tanto una funcin hash son salida 2160 tiene una complejidadde 280, y una funcin de 128 bits (38 dgitos) de salida tiene una complejidad de264, por lo que es recomendable usar actualmente salida de 160 bits (48 dgitos).

  • Criptografa para principiantes

    21Jose de Jess ngel ngel

    3 Criptografa Asimtrica

    La criptografa asimtrica es por definicin aquella que utiliza dos claves diferentespara cada usuario, una para cifrar que se le llama clave pblica y otra paradescifrar que es la clave privada. El nacimiento de la criptografa asimtrica se dioal estar buscando un modo ms prctico de intercambiar las llaves simtricas.Diffie y Hellman [20], proponen una forma para hacer esto, sin embargo no fuehasta que el popular mtodo de Rivest Shamir y Adleman RSA publicado en 1978[36], cuando toma forma la criptografa asimtrica, su funcionamiento esta basadoen la imposibilidad computacional de factorizar nmeros enteros grandes.

    Actualmente la Criptografa asimtrica [32] es muy usada; sus dos principalesaplicaciones son el intercambio de claves privadas [50] y la firma digital. Una firmadigital se puede definir como una cadena de caracteres que se agrega a unarchivo digital que hace el mismo papel que la firma convencional que se escribeen un documento de papel ordinario. Los fundamentos de la criptografa asimtricapertenecen a la teora de nmeros, algo de esto lo podemos ver en los textos Acourse in Number Theory and Cryptography y Algebraic Aspects of Cryptographyde N. Koblitz, as como en Elementary Number Theory and Its Applications de K.H.Rosen.

    En la actualidad la criptografa asimtrica o de clave pblica se divide en tresfamilias segn el problema matemtico en el cual basan su seguridad. La primerafamilia es la que basa su seguridad en el Problema de Factorizacin Entera PFE[15], los sistemas que pertenecen a esta familia son, el sistema RSA, y el deRabin Williams RW [46]. La segunda familia es la que basa su seguridad en elProblema del Logaritmo Discreto PLD, a esta familia pertenece el sistema de DiffieHellman DH de intercambio de claves y el sistema DSA [55] de firma digital. Latercera familia es la que basa su seguridad en el Problema del Logaritmo DiscretoElptico PLDE, en este caso hay varios esquemas tanto de intercambio de clavescomo de firma digital que existen como el DHE (Diffie Hellman Elptico), DSAE,(Nyberg-Rueppel) NRE, (Menezes, Qu, Vanstone) MQV [30], etctera.

  • Criptografa para principiantes

    22Jose de Jess ngel ngel

    Aunque a las familias anteriores pertenecen los sistemas asimtricos msconocidos, existen otro tipo de sistemas que basan su seguridad en problemasdiferentes como por ejemplo, en el Problema del Logaritmo Discreto Hiperelptico,sobre problemas de retculas y sobre subconjuntos de clases de camposnumricos reales y complejos.

    RSARSA, en el caso de RSA [17] el problema matemtico es el de la factorizacin deun nmero entero n grande (1024 bits, que equivale a un nmero de 308 dgitos),este nmero entero se sabe es producto de dos nmeros primos p,q de la mismalongitud, entonces la clave pblica es el nmero n y la privada es p,q. Elrazonamiento del funcionamiento de RSA es el siguiente:

    a) a cada usuario se le asigna un nmero entero n, que funciona como su clavepblica

    b) solo el usuario respectivo conoce la factorizacin de n (o sea p,q), quemantiene en secreto y es la clave privada

    c) existe un directorio de claves pblicas

    d) si alguien quiere mandar un mensaje m a algn usuario entonces elige su clavepblica n y con informacin adicional tambin pblica puede mandar elmensaje cifrado c, que solo podr descifrar el usuario correspondiente, elmensaje m convertido a nmero (codificacin) se somete a la siguienteoperacin (donde e es constante y pblico)

    c m ne= mod

  • Criptografa para principiantes

    23Jose de Jess ngel ngel

    e) Entonces el mensaje c puede viajar sin problema por cualquier canal inseguro

    f) cuando la informacin cifrada llega a su destino el receptor procede a descifrarel mensaje con la siguiente frmula

    g) Se puede mostrar que estas formulas son inversas y por lo tanto dan elresultado deseado, (n,e) son la clave pblica, la clave privada es la pareja (p,q)o equivalentemente el nmero d. La relacin que existe entre d y e es que unoes el inverso multiplicativo del otro mdulo (n) donde (n) es el mnimo comnmltiplo de p-1 y q-1, o tambin puede usarse (n)=(p-1)(q-1) esto significa quela clave privada o el la pareja p,q o es el nmero d.

    En trminos muy generales es as como funciona el sistema RSA. Sin embargo enla realidad existen dos formas que son las ms comunes, estas formas dependede la aplicacin y se llaman el esquema de firma y el esquema de cifrado, cadauna de estas dos diferentes aplicaciones consiste en una serie de pasos que acontinuacin se describen

    Esquema de Cifrado

    Uso: este esquema se usa principalmente para cifrar claves de sistemassimtricos (claves de 128 bits aprox.)1) Se toma el mensaje M (por ejemplo una clave simtrica de 128 bits (38

    dgitos), como en la practica actual es recomendable usar arreglos de longitudde 1024 bits (308 dgitos), los complementa esos 128 bits con una serie detcnicas para obtener un arreglo de 1024 bits, despus se aplica un proceso decodificacin para que la computadora entienda al mensaje como un nmeroentero m.

    2) Se le aplica la formula de cifrado de RSA al entero m3) Se enva el nmero entero c

    68a9bc498ff034e0572fd5d267193f2ae12b7fa8d735cd927a7166bc3f4e5b82a6bc937ade8ba4073e25ca9e7f48b26f

    m c nd= mod

  • Criptografa para principiantes

    24Jose de Jess ngel ngel

    4) Al recibir este nmero se aplica la formula de descifrado al entero c paraobtener el entero m

    5) Se decodifica m para obtener el mensaje MEjemplo simpleGeneracin de parmetros

    1) p = 3, q = 5 (se eligen don nmeros primos como clave privada)2) n = 15 ( se calcula el producto, es la clave pblica)3) (n)=(3-1)(5-1)=84) Sea e=3, entonces d=3, ya que e*d = 3*3 =9 mod 8 =1 (como este caso

    solo es para mostrar el funcionamiento no importa que d sea igual a e, sinembargo en la prctica e es pequeo y d es muy grande)

    5) Si el mensaje es m=2 Proceso de cifrado

    6) El mensaje cifrado es c= me mod n, es decir, c=23 mod 15, o sea c=8 Proceso de descifrado

    7) Para descifrar el mensaje m=83 mod 15, es decir, m=512 mod 15, asi m=2(ya que 512/15=2 mod 15 = m)

    Por lo tanto es correcto el funcionamiento.

    Esquema de Firma Digital

    Existen dos tipos de esquemas sobre firma digital, el que se denomina esquemade firma digital con apndice [46][61] y el esquema de firma digital con mensajerecuperable. Tambin cualquier esquema de firma cuenta con dos partes laprimera parte se denomina proceso de firma (similar al cifrado) y la segunda parteproceso de verificacin de la firma (similar al descifrado). Otros esquemas de firnadigital se encuentran en [42].El esquema ms usado y conocido es el esquema de firma con apndice yconsiste en los siguientes puntos:

    Proceso de Firma

    1) El mensaje a firmar es M, se le aplica una funcin hash que reduce su longitudde forma nica a un mensaje H(M) de longitud de 128 o 160 bits, lo quepermite ver cualquier mensaje de cualquier longitud como una cadena decaracteres de longitud constante.

  • Criptografa para principiantes

    25Jose de Jess ngel ngel

    2) H(M) se somete tambin a un proceso de codificacin, por lo tanto se obtieneun nmero h(M), al que se le aplica la formula con la potencia d,equivalentemente con la clave privada del firmante para obtener

    3) Se enva entonces el mensaje firmado s Proceso de Verificacin

    1) El que recibe s, se supone conoce el mensaje M, aplica la funcin deverificacin que depende de la clave pblica de quien se dice propietario delmensaje

    2) Ahora se aplica la funcin hash al mensaje M y si h(M)=h entonces acepta lafirma

    En un esquema con mensaje recuperable no es necesario saber el mensaje,despus de que la firma es aceptada el mensaje puede recuperarse a partir de lafirma.

    Ejemplo simple:Tomemos los mismos parmetros del ejemplo en el esquema de cifrado, p=3, q=5,m=2, =8, e=3, d=3

    Proceso de Firma

    1) La firma del documento m es: s= md mod n = 23 mod 15 =82) El mensaje firmado es entonces (m,s) = (2,8)

    Proceso de verificacin

    3) Aplicando la funcin de verificacin se mod n = 83 mod 15 = 24) Como 2 (el obtenido de la anterior frmula) = 2 (el mensaje enviado)5) Entonces la firma es vlida

    nMhs d mod)(=

    nsh e mod'=

  • Criptografa para principiantes

    26Jose de Jess ngel ngel

    Aspectos Importantes1) La longitud de las clavesExiste una gran discusin [26], sobre este aspecto pero sin duda en la actualidadse acepta que es recomendable usar claves de longitud 768 (231 dgitos) paraactividades personales,1024 bits (308 dgitos) para corporaciones y 2048 (616dgitos) para actividades de alto riesgo. La longitud de las claves tiene que vercon la seguridad del sistema si el nmero n pudiese ser factorizado entonces sinmucha dificultad puede calcular a d a partir de e, p, y q por lo tanto descifrarcualquier mensaje. El ltimo rcord conocido sobre factorizacin de nmerosenteros producto de dos primos de la misma longitud es de 512 bits (155 dgitos)dgitos alcanzado en Jul de 1999.

    2) La aleatoriedad de las clavesLa generacin de las claves RSA es muy importante, muchos ataques sonevitados si las claves son elegidas de forma aleatoria [63], esto incrementara laseguridad del sistema.

    3) mtodo de codificacinEl mtodo que actualmente es usado para aplicaciones en el esquema de cifradoes el OAEP, este resiste a los ataques que actualmente se conocen y el estndarms conocido sobre RSA es el PKCS#1 v.2 de la RSA Data Security.En el caso de Esquemas de firma digital el mtodo de codificacin recomendablees PSS que esta descrito en PKCS#1 v 2.1

    4) Eleccin de parmetrosLa eleccin adecuada de los parmetros que se usan aumenta la seguridad delsistema as como su fcil y rpida implementacin. Como elegir a e=65537 = (0100 01)16, para poder efectuar la operacin exponente eficientemente. Adems deelegir d la clave privada de longitud grande para evitar el ataque de Wiener [45].Los nmeros primos p,q adems de ser generados aleatoriamente deben de tenerla misma longitud y no estar cerca.

  • Criptografa para principiantes

    27Jose de Jess ngel ngel

    CCECCE otro tipo de criptografa de clave pblica es el que usa curvas elpticasdefinidas en un campo finito. La diferencia que existe entre este sistema y RSA esel problema matemtico en el cual basan su seguridad. RSA razona de lasiguiente manera: te doy el nmero 15 y te reta a encontrar los factores primos. Elproblema en el cual estn basados los sistemas que usan curvas elpticas quedenotaremos como CCE es el del logaritmo discreto elptico, en este caso surazonamiento con nmeros sera algo como: te doy el nmero 15 y el 3 y te reta aencontrar cuantas veces tienes que sumar el mismo 3 para obtener 15.

    En lo que sigue nos dedicaremos a explicar un poco lo ms importante de los CCE

    1) Entenderemos como una curva elptica a una ecuacin de la forma siguiente:

    Donde las constantes a,b,c,d y e pertenecen a cierto conjunto llamado campo F,que para propsitos de la criptografa o es un campo primo (Zp) o un campo decaracterstica 2, o sea donde los elementos son n-adas de ceros y unos (F2n)2) A un punto que satisface la ecuacin anterior se le llama punto racional. Si el

    campo es finito, entonces el conjunto de puntos (x,y) que satisfacen laecuacin es finito y es llamado conjunto de puntos racionales de la curva Esobre el campo F. Al conjunto de puntos racionales lo podemos representarcomo

    E representa la ecuacin y O es un punto que no tiene coordenadas y hace elpapel de cero (llamado punto al infinito) ya que en este conjunto los puntospuede sumarse y tiene las mismas propiedades que la suma de los nmerosenteros, es decir lo que se conoce como un grupo abeliano.

    Ejemplo: veamos una curva elptica simple, si la ecuacin es y2=x3+4x+3 y elcampo Z5, es decir el conjunto {0,1,2,3,4}, entonces las parejas que satisfacenla ecuacin son {(2,2), (2,3}, por lo tanto la curva elptica es E: {O, (2,2),(2.3)}. En este caso E tiene 3 puntos racionales.

    3) La suma de estos puntos tiene una explicacin geomtrica muy simple, si lagrfica representa a todos los puntos que satisfacen la ecuacin de la curvaelptica, y queremos sumar a P y Q, trazamos una lnea recta que pase por P yQ, la ecuacin de la curva es de grado 3 y la lnea de grado 1, entoncesexisten siempre tres soluciones, en este caso la tercera solucin esta dibujadacomo el punto -P-Q, enseguida se procede a dibujar una lnea recta paralela al

    y axy by x cx dx e2 3 2+ + = + + +

    E O P P P Pn: , , , ,...,1 2 3

  • Criptografa para principiantes

    28Jose de Jess ngel ngel

    eje Y que pase por -P-Q, esta lnea vertical tambin intercepta tres veces a larecta, todas las lneas verticales interceptan al punto especial llamado infinito yque geomtricamente esta en el horizonte del plano, el tercer punto es pordefinicin P+Q, como se muestra en la figura

    4) No es difcil obtener frmulas para calcular las coordenadas del punto P+Q apartir de las coordenadas del punto P y del punto Q. Por ejemplo si el campode definicin de la curva es un campo primo Zp, entonces las frmulas de sumason las siguientes

    5) La anterior forma de sumar puntos de una curva elptica es un poco extraasin embargo, es esta extraeza lo que permita que sea un poco ms difcilromper los CCE. En el rea de las matemticas conocida como teora degrupos se sabe que estos grupos son muy simples llamados grupo abelianosfinitos lo que permite tambin que los CCE sean fcil de implementar,llamaremos al nmero de puntos racionales de la curva como el orden de lacurva. En nuestro ejemplo P0=O, P1=(2,2), P2=(2,3), donde 2P1=P2.

    ( )

    =

    +

    =

    =

    =

    QPy

    ax

    QPxx

    yyyxxy

    xxx

    ,

    23

    ,

    1

    21

    12

    12

    1313

    212

    3

  • Criptografa para principiantes

    29Jose de Jess ngel ngel

    6) Los CCE basan su seguridad en el Problema del Logaritmo Discreto Elptico(PLDE), esto quiere decir que dados P,Q puntos de la curva hay que encontrarun nmero entero x tal que xP = Q (xP = P+P++P, x veces). Obsrvese quea diferencia del PFE (Problema de Factorizacin Entera) el PLDE no manejacompletamente nmeros, lo que hace ms complicado su solucin.

    7) La creacin de un protocolo con criptografa de curvas elpticas requierefundamentalmente una alta seguridad y una buena implementacin, para elprimer punto se requiere que la eleccin de la curva sea adecuada,principalmente que sea no-supersingular y que el orden del grupo de puntosracionales tenga un factor primo de al menos 163 bits, adems de que esteorden no divida al orden de un nmero adecuado de extensiones del campofinito [13][27], para que no pueda ser sumergido en l, si el campo es ZP, sepide que la curva no sea anmala o sea que no tenga p puntos racionales.Todo esto con el fin de evitar los ataques conocidos.Para el caso de la implementacin hay que contar con buenos programas querealicen la aritmtica del campo finito, adems de buenos algoritmos quesumen puntos racionales, tanto en el caso de Zp como F2n, en este ltimo setoma una base polinomial que tenga el mnimo de trminos por ejemplo untrinomio para generar los elementos del campo finito esto si la implementacines en software, y se toma una base normal si es en hardware. Adems decontemplar que las operaciones de puntos racionales pueden hacerse en elespacio proyectivo, esto elimina el hacer divisiones, ahorrando tiempo.

    8) Lo anterior se ve reflejado en las ventajas que ofrecen los CCE encomparacin con RSA, la principal es la longitud de la clave secreta. Se puedemostrar que mientras en RSA se tiene que usar una clave de 1024 para ofreceruna considerable seguridad, los CCE solo usan 163 bits para ofrecer la mismaseguridad, as tambin las claves RSA de 2048 son equivalentes en seguridada 210 de CCE. Esto se debe a que para resolver el PLDE el nico algoritmoconocido toma tiempo de ejecucin totalmente exponencial, mientras que elalgoritmo que resuelve PFE incluso tambin el PLD en Zp toman un tiemposubexponencial.

    9) Otra buena noticia sobre CCE es que los elementos de los puntos racionalespueden ser elementos de un campo finito de caracterstica 2, es decir puedenser arreglos de ceros y unos de longitud finita (01001101110010010111), eneste caso es posible construir una aritmtica que optimice la rapidez yconstruir un circuito especial para esa aritmtica, a esto se le conoce comoBase Normal Optima.

    10) Lo anterior permite con mucho que los CCE sean idneos para serimplementados en donde el poder de cmputo y el espacio del circuito seareducido, donde sea requerida una alta velocidad de procesamiento o grandesvolmenes de transacciones, donde el espacio de almacenamiento, la memoria

  • Criptografa para principiantes

    30Jose de Jess ngel ngel

    o el ancho de banda sea limitado. Lo que permite su uso en Smart Cards,Telfonos celulares, Fax, Organizadores de Palma, PCs, etctera.

    11) En la actualidad existen varios estndares que permiten el uso adecuado yptimo de los CCE, entre los cuales se encuentran: IEEE P1363 [75] (Instituteof Electrical and Electronics Engineers), el ANSI X9.62, ANSI X9.63, ANSI TG-17, ANSI X12 (American National Standards Institute), UN/EDIFACT, ISO/IEC14888, ISO/IEC 9796-4, ISO/IEC 14946 (International Standards Organization),ATM Forum (Asynchronous Transport Mode), WAP (Wireless ApplicationProtocol). En comercio electrnico: FSTC (Financial Services TechnologyConsortion), OTP 0.9 (Open Trading Protocol), SET (Secure ElectronicTransactions). En internet IETF (The Internet Engineering Task Force), IPSec(Internet Protocol Security Protocol)

    12) Los CCE son el mejor candidato para reemplazar a las aplicaciones quetienen implementado RSA, estas definen tambin esquemas de firma digital,Intercambio de claves simtricas y otros. Los CCE se pueden estudiar en[14][31][35][69][71].

  • Criptografa para principiantes

    31Jose de Jess ngel ngel

    4 Otras Herramientas criptogrficas

    En esta seccin me dedicare principalmente a enumerar otro tipo de herramientaso tcnicas que son usadas en criptografa, cada una de ellas tiene una granaplicacin y tienen un propsito muy especifico dentro del mbito de lacriptografa, sin embargo su descripcin completa no es el propsito para un lectornovato as que solo se mencionarn, para un mayor estudio puede consultarse labibliografa.

    A) Comparticin de SecretosLa comparticin de secretos [99][100], como su nombre lo dice es una tcnicacriptogrfica que se dedica a partir un secreto, que puede ser una clave secreta,en la responsabilidad de varias personas y que solo con el nmero mnimo depersonas se podr reconstruir el secreto compartido. Por ejemplo si el secreto esel nmero 100 y este debe ser compartido por tres personas A1, A2 y A3 unaforma de poder hacerlo es generar un nmero aleatorio menor a 100, digamos el33 posteriormente se genera otro nmero aleatorio menor a 100-33, digamos el27, y finalmente la tercera parte ser 100-(27+33)=46. As el secreto 100 estacompartido por A1(33), A2(27) y A3(46), cada quin con su parte correspondiente.Como ninguno de ellos sabe las otras partes, solo los tres juntos podrnreconstruir el mensaje sumando sus partes. Claro esta este es solo un ejemplopara explicar el concepto.

    La comparicin de secretos puede ser usada para compartir digamos lacombinacin de una caja fuerte, la clave de lanzamiento de algn proyectil, laclave secreta de una autoridad certificadora, la clave de activacin de algndispositivo de alto riesgo, etc.,

  • Criptografa para principiantes

    32Jose de Jess ngel ngel

    Uno de los mejores mtodos de comparicin de secretos y mas conocido es elesquema (n,k) lmite de Shamir. Este mtodo consiste en partir una clave K en npartes, y se tiene como mnimo (lmite) el nmero k de partes para reconstruir laclave, es decir cualquiera k de los n custodios pueden reconstruir la clave K, peroningn subgrupo de k-1 custodios podr hacerlo.

    Un ejemplo simple de esquema de Shamir se basa en lo siguiente:1) Se define el nmero de custodios t, digamos t=22) Se generan aleatoriamente los coeficientes necesarios para construir un

    polinomio de t-1 grado, en nuestro caso

    donde el coeficiente es aleatorio y 2 el secreto a compartir

    3) Las partes sern f(1)=2+3*1=5 y f(2)=2+3*2=8

    El mtodo para recuperar el secreto s, es reconstruir el polinomio f(x) a partir delas partes cualquiera, esto se hace por medio de la interpolacin de Lagrange [99].En nuestro caso el secreto se puede reconstruir de la siguiente formula:

    donde y1 ,y2 son las partes (5 y el 8) y c1=2, c2= -1. El secreto es entonces 2(5)-(8)=2.

    B) Criptografa VisualUna idea ingeniosa de usar un mtodo de comparicin de secretos con unesquemas lmite (n,k) es la criptografa visual [94][95][96][97][98], esto consiste enlo siguiente: una imagen es partida en n partes, y si se sobreponen al menos k deestas partes se puede reconstruir la imagen.

    xxf 32)( +=

    2211 ycycs +=

  • Criptografa para principiantes

    33Jose de Jess ngel ngel

    Veamos en ejemplo de un esquema (2,2), esto trabaja considerando que si laimagen es de banco y negro, entonces la imagen podr ser un conjunto decuadros completamente negros y completamente negros, por ejemplo la siguienteimagen

    Ahora cada cuadro de la imagen podr ser considerado como blanco o negro,equivalentemente con valores 0 y 1. Para partir esta imagen en dos partes n=2 yconsiderando el lmite con k=2, se procede como sigue:

    Cada cuadro que es completamente negro podr ser partido en dos partes de lasiguiente forma:

    Y un cuadro completamente blando podr ser partido en dos de la forma siguiente:

    Que significa suma mdulo 2, es decir 1+0=1, 0+1=1, 0+0=0 pero tambin1+1=0, de este modo se pueden tomar cualquiera de las dos particiones de loscuadros de color blanco.

  • Criptografa para principiantes

    34Jose de Jess ngel ngel

    Para formar las dos partes de la figura en un acetato se elige aleatoriamente unade las combinaciones anteriores segn se parta un cuadro blanco o uno negro

    En el caso de nuestra figura una ves elegidas las partes, la figura partida en unesquema limite (2,2) queda as:

    Parte 1

    Parte 2

    De esta forma se tiene partida la figura en dos partes y se recuperara solosobreponiendo una sobre la otra.Al sobreponer las dos partes se recupera la figura, de la siguiente forma:

  • Criptografa para principiantes

    35Jose de Jess ngel ngel

    En el caso general se parte los cuadros blancos y negros en n pedazos y hasta notener k pedazos negros el cuadro reconstruido ser siendo blanco, a partir de kpedazos negros hasta n el cuadro reconstruido ser negro. En nuestro caso, uncuadro con solo la mitad negra ser considerado blanco, es necesario que tengados mitades negras para que el cuadro reconstruido se considere negro, que es elcaso del esquema (2,2).

    C) Dinero ElectrnicoUna aplicacin ms, que puede ser realidad gracias a la criptografa de clavepblica es conocida como dinero electrnico [78], en trminos sencillos el dineroelectrnico es otra representacin de lo que conocemos como dinero o valor, porejemplo tenemos dinero en billetes emitidos por algn pas, podemos tenercheques pagaderos en un banco, bonos, pagares pagaderos en algn plazo, enfin. El dinero electrnico es fsicamente un nmero que se genera aleatoriamente,se le asigna un valor, se cifra y firma y se enva al banco, ah el banco valida elnmero y certifica el valor, y lo regresa al usuario firmado por el banco, entoncesel usuario puede efectuar alguna transaccin con ese billete electrnico.

    Las principales propiedades del dinero electrnico son las siguientes:

    1) Independencia: la seguridad del dinero digital no debe depender de la el lugarfsico donde se encuentre, por ejemplo en el disco duro de una PC

    2) Seguridad: el dinero digital (el nmero) no debe de ser usado en dosdiferentes transacciones

    3) Privacidad: el dinero electrnico debe de proteger la privacidad de su usuario,de esta forma cuando se haga una transaccin debe de poder cambiarse elnmero a otro usuario sin que el banco sepa que dueos tuvo antes.

    4) Pagos fuera de lnea: el dinero electrnico no debe de depender de laconexin de la red, as un usuario puede transferir dinero electrnico que tengaen una smart card a una computadora, el dinero digital debe serindependiente al medio de transporte que use.

  • Criptografa para principiantes

    36Jose de Jess ngel ngel

    5) Transferibilidad: el dinero electrnico debe de ser transferible, cuando unusuario transfiere dinero electrnico a otro usuario debe de borrarse laidentidad del primero.

    6) Divisibilidad: el dinero electrnico debe de poder dividirse en valoresfraccionarios segn sea el uso que se da, por ejemplo en valor de 100, 50 y 25

    La serie de pasos que puede seguir una transaccin que se realiza con dineroelectrnico en un escenario simple es la siguiente:

    Supngase que el usuario A quiere mandar un cheque a B, usando ahora dineroelectrnico.

    1) A genera un nmero aleatorio grande N de digamos 100 dgitos y le da unvalor digamos 1000 pesos

    2) A cifra este nmero junto a su valor con su clave secreta asimtrica.3) A firma este nmero y lo transmite a su banco.4) El banco de A usa, la clave pblica de A para descifrar el nmero y verificar la

    firma, as recibe la orden y sabe que es de A. El banco borra la firma de A deldocumento electrnico.

    5) El banco revisa que A tenga en sus cuentas la cantidad pedida 1000 pesos y ladebita de alguna de sus cuentas.

    6) El banco firma el nmero que mando A, con el valor asignado de 1000 pesos7) El banco regresa el nmero que ya es dinero a, A8) A enva este dinero a B9) B verifica la firma del banco de A, que esta en N10) B enva N a su banco11) EL banco de B re-verifica la firma del banco de A en N12) El banco de B verifica que N no este en la lista de nmeros ya usados13) El banco de B acredita la cantidad de 1000 pesos a la cuenta de B14) El banco de B pone a N en la lista de nmeros ya usados15) Finalmente el banco de B enva un recibo firmado donde establece que tiene

    1000 pesos ms en su cuenta

    En el mundo comercial existen varias empresas privadas que proveen el serviciode dinero electrnico en diferentes modalidades entre ellas estn: CheckFree,CyberCash, DigiCash, First Virtual, Open Market, NetBill y Netscape.

    En http://www.ecashtechnologies.com/ pueden encontrarse algunos ejemplosinteractivos de cmo trabaja el dinero electrnico en la prctica

  • Criptografa para principiantes

    37Jose de Jess ngel ngel

    5 Certificados digitalesLos certificados digitales [84][85], tienen una similitud con las licencias deconducir, las primeras permiten viajar por las carreteras, los certificados digitalespermiten navegar por la red Internet, la principal caracterstica es que da identidadal usuario y puede navegar con seguridad. De igual forma que la sola licencia deconducir o un pasaporte sirve para dar identidad a quien la porta en ciertos casos,el certificado digital da identidad a una clave pblica y se comporta como unapersona en el espacio ciberntico.

    El nacimiento del certificado digital fue a raz de resolver el problema deadministrar las claves pblicas y que la identidad del dueo no pueda serfalsificada. La idea es que una tercera entidad intervenga en la administracin delas claves pblicas y asegure que las claves pblicas tengan asociado un usuarioclaramente identificado. Esto fue inicialmente planteado por Kohnfelder del MIT ensu tesis de licenciatura [86].

    Las tres partes ms importantes de un certificado digital son:

    1) Una clave pblica2) La identidad del implicado: nombre y datos generales,3) La firma privada de una tercera entidad llamada autoridad certificadora que

    todos reconocen como tal y que vlida la asociacin de la clave pblica encuestin con el tipo que dice ser.

    En la actualidad casi todas las aplicaciones de comercio electrnico ytransacciones seguras requieren un certificado digital, se ha propagado tanto suuso que se tiene ya un formato estndar de certificado digital, este es conocidocomo X509 v. 3 [90]

  • Criptografa para principiantes

    38Jose de Jess ngel ngel

    Algunos de los datos ms importantes de este formato son los siguientes:

    Un certificado digital entonces se reduce a un archivo de uno o dos k de tamao,que autentica a un usuario de la red.

    En una aplicacin un certificado digital se puede ver como la siguiente pantalla:

    Versin: 1,2 o 3Nmero de Serie: 0000000000000000Emisor del Certificado: VeriMexIdentificador del Algoritmo usado en la firma: RSA, DSA o CEPeriodo de Validez: De Enero 2000 a Dic 2000Sujeto: Jess AngelInformacin de la clave pblica del sujeto: la clave, longitud, y demsparmetrosAlgunos datos opcionales, extensiones que permite la v3Firma de la Autoridad Certificadora

  • Criptografa para principiantes

    39Jose de Jess ngel ngel

    6 Infraestructura de claves pblicas

    Teniendo ya un certificado digital que es generado con la ayuda de un algoritmode clave pblica ahora el problema es como administracin todos estos[51][58][59], la estructura ms bsica es la siguiente:

    El papel de la Autoridad certificadora (AC) es de firmar los certificados digitales delos usuarios, generar los certificados, mantener el status correcto de loscertificados, esto cumple el siguiente ciclo:

    1) La generacin del certificado se hace primero por una solicitud de un usuario,el usuario genera sus claves pblica y privada y manda junto con losrequerimientos de la solicitud su clave pblica para que esta sea certificada porla AC.

  • Criptografa para principiantes

    40Jose de Jess ngel ngel

    2) Una vez que la AR (es la AC regional) verifica la autenticidad del usuario, laAC va la AR firma el certificado digital y es mandado al usuario

    3) El status del usuario puede estar en: activo, inactivo o revocado. Si es activo elusuario puede hacer uso del certificado digital durante todo su periodo vlido

    4) Cuando termina el perodo de activacin del certificado el usuario puedesolicitar su renovacin.

    Requerimiento de Certificacin

    Entre las operaciones que pudiera realizar una AC estn:

    Generar certificadosRevocar certificadosSuspender certificadosRenovar certificadosMantener un respaldo de certificados..

  • Criptografa para principiantes

    41Jose de Jess ngel ngel

    Entre las que pudiera realizar una AR estn:

    Recibir las solicitudes de certificacinProceso de la autenticacin de usuariosGenerar las clavesRespaldo de las clavesProceso de Recobrar las clavesReportar las revocaciones.

    Y las actividades de los usuarios:

    Solicitar el certificadoSolicitar la revocacin del certificadoSolicitar la renovacin del certificado.

    Una vez que algn usuario tiene un certificado digital este puede usarlo parapoder navegar por la red con nombre y apellido en forma de bits, esto permiteentrar al mundo del comercio electrnico, al mundo de las finanzas electrnicas yen general a la vida ciberntica con personalidad certificada. El usuario dueo deun certificado digital tiene la potencialidad de poder autentificarse con cualquierotra entidad usuaria, tambin puede intercambiar informacin de formaconfidencial y estar seguro de que esta es integra, as estar seguro que contactosva el certificado digital no sern rechazados. Los primeros usuarios decertificados digitales fueron los servidores, actualmente son quienes ms los usan,sin embargo tambin se ha incrementado el nmero de personas que los usan.

    Si suponemos que algn tipo de aplicacin funciona ya con certificados digitales,esta tendr una AC y las correspondientes AR, sin embargo es comn que hayamas autoridades certificadoras y que sus usuarios puedan interoperar con susrespectivos certificados, a esto se le conoce como certificacin cruzada y opera dela siguiente forma:

    1) Las diferentes AC pueden estar certificadas envindose una a otra susrespectivos certificados que ellas mismas generan

  • Criptografa para principiantes

    42Jose de Jess ngel ngel

    2) Entonces la AC X tendr el certificado de la AC Y y viceversa, pudiendogenerar un certificado para Y que genera X y otro para X que genera Y

    3) Ahora como un usuario A de la AC X puede comunicarse con un usuario B dela AC Y

    4) El usuario B enva a A el certificado de B que genera Y ( Cert y B) junto con elcertificado de Y que el mismo se genera (Cert y Y)

    5) Ahora A puede validar a B ( Cert y B) usando el certificado de Y que genera X

    En la prctica se ha demostrado que el estatus de un certificado cambia con granfrecuencia, entonces la cantidad de certificados digitales revocados crececonsiderablemente, el problema esta en que cada vez que se piensa realizar unacomunicacin y es necesario validar un certificado se debe de comprobar que esteno esta revocado. La solucin que se ha venido usando es la de crear una lista decertificados revocados LCR y as verificar que el certificado no esta en esa lista,para poder iniciar la comunicacin. El manejo de las listas de certificadosrevocados ha llegado a tener un gran costo que sin embargo an no se hareemplazar por otra tcnica a pesar que se han propuesto ya salidas al problema.

    Las operaciones de la administracin de los certificados digitales puede cambiarde acuerdo a las leyes particulares de cada pas o entidad. Ms informacin sobrela infraestructura de certificados digitales se puede encontrar en las referenciasbibliogrficas sealadas con los nmeros: [87][89][90][91][92][93].

  • Criptografa para principiantes

    43Jose de Jess ngel ngel

    7 Comercio electrnicoHoy en da, gran parte de la actividad comercial ha podido transformarse gracias aredes de conexin por computadoras como Internet, esta transformacin facilitahacer transacciones en cualquier momento, de cualquier lugar del mundo.Todo loque esta alrededor de esta nueva forma de hacer negocios es lo que se hallamado comercio electrnico, sin duda la gran variedad de actividades quegiraban alrededor del quehacer comercial se ha tenido que juntar con las nuevastcnicas cibernticas. As hoy tanto un comerciante, un banquero, un abogado ouna matemtico puede hablar de comercio electrnico enfocndose a la parte quele corresponde.

    Existen diferentes niveles de hacer comercio electrnico, y su clasificacin anesta por formarse, sin embargo, la parte ms visible es la que cualquier usuario enuna computadora personal puede ver, esto es hacer comercio electrnico seconvierte a comprar o vender usando una conexin por Internet en lugar de ir a latienda. La forma de hacer esto es muy similar a lo que tradicionalmente se hace,por ejemplo: en la tienda uno entra al establecimiento, de forma electrnica seprende la computadora y una vez conectado a Internet entra a la pgina delnegocio; enseguida un comprador revisa los productos que posiblemente comprey los coloca en una carrito, de la misma forma en la computadora se navega por lapgina del negocio y con el browser se revisa los productos que ste vende, alescoger stos se colocan en un carrito virtual, que no es nada mas que un archivodel usuario. Una vez elegido los productos de compra se pasa a la caja, donde seespecifica un sistema de pago y se facturan los productos al comprador. De formasimilar en la computadora se pueden borrar productos que no se quieren comprar

  • Criptografa para principiantes

    44Jose de Jess ngel ngel

    o aadir nuevos, una vez elegidos stos se procede a una parte de la pagina quetoma los datos y solicita el mtodo de pago, generalmente se lleva a cabo contarjeta de crdito.En la parte tradicional de comprar al pagar en la caja termina el proceso, en laparte por computadora an tiene que esperarse que sean enviados los productos.A pesar de esto las ventajas que ofrece el comercio electrnico son magnficas, yaque es posible comprar en un relativo corto tiempo una gran cantidad de productossin necesidad de moverse de lugar, es decir al mismo tiempo se puede compraruna computadora, un libro, un regalo, una pizza, hacer una transaccin bancariaetc., de la forma tradicional se llevara al menos un da completo y eso si losnegocios esta en la misma ciudad, si no, el ahorro de tiempo que representacomprar por Internet es incalculable.

    Al efectuar una operacin comercial por Internet se presentan nuevos problemas,por ejemplo cmo saber que la tienda virtual existe verdaderamente, una vezhecho el pedido cmo saber que no se cambia la informacin, cuando se enva elnmero de tarjeta de crdito cmo saber si este permanecer privado, en fin, parael comerciante tambin se presentan problemas similares, cmo saber que elcliente es honesto y no enva informacin falsa, etc. Todos estos problemaspueden ser resueltos de manera satisfactoria si se implementan protocolos decomunicacin segura usando criptografa. En la siguiente seccin nos dedicamosa describir como es que estos protocolos resuelven los problemas planteados.

  • Criptografa para principiantes

    45Jose de Jess ngel ngel

    8 Protocolos de seguridadUn protocolo de seguridad es la parte visible de una aplicacin, es el conjunto deprogramas y actividades programadas que cumplen con un objetivo especifico yque usan esquemas de seguridad criptogrfica.

    El ejemplo ms comn es SSL (Secure Sockets Layer) que vemos integrado en elBrowser de Netscape y hace su aparicin cuando el candado de la barra deherramientas se cierra y tambin s la direccin de Internet cambia de http a https,otro ejemplo es PGP que es un protocolo libre ampliamente usado de intercambiode correo electrnico seguro, uno ms es el conocido y muy publicitado SET quees un protocolo que permite dar seguridad en las transacciones por Internetusando tarjeta de crdito, IPsec que proporciona seguridad en la conexin deInternet a un nivel ms bajo.Estos y cualquier protocolo de seguridad procura resolver algunos de losproblemas de la seguridad como la integridad, la confidencialidad, la autenticaciny el no rechazo, mediante sus diferentes caractersticas

    Las caractersticas de los protocolos se derivan de las mltiples posibilidades conque se puede romper un sistema, es decir, robar informacin, cambiarinformacin, leer informacin no autorizada, y todo lo que se considere noautorizado por los usuarios de una comunicacin por red.

    Enseguida vemos un escenario donde puede ocurrir algo de esto:

    Por ejemplo sobre la seguridad por Internet se deben de considerar las siguientestres partes: seguridad en el browser (Netscape o Explorer), la seguridad en el Webserver (el servidor al cual nos conectamos) y la seguridad de la conexin.Un ejemplo de protocolo es SET, objetivo efectuar transacciones seguras contarjeta de crdito, usa certificados digitales, criptografa de clave pblica ycriptografa clave privada.

  • Criptografa para principiantes

    46Jose de Jess ngel ngel

    SSLSSL es el protocolo de comunicacin segura ms conocido y usado actualmente,SSL [81][82] acta en la capa de comunicacin y es como un tnel que protege atoda la informacin enviada y recibida. SSL es usado en gran cantidad deaplicaciones que requieren proteger la comunicacin.

    Con SSL se pueden usar diferentes algoritmos para las diferentes aplicaciones,por ejemplo usa DES, TDES, RC2, RC4, MD5, SHA-1, DH y RSA, cuando unacomunicacin esta bajo SSL la informacin que es cifrada es:El URL del documento requeridoEl contenido del documento requeridoEl contenido de cualquier forma requeridaLos cookies enviados del browser al servidorLos cookies enviados del servidor al browserEl contenido de las cabeceras de los http

    El procedimiento que se lleva acabo para establecer una comunicacin segura conSSL es el siguiente:

    1) EL cliente (browser) enva un mensaje de saludo al Server ClientHello2) El servidor responde con un mensaje ServerHello3) El servidor enva su certificado4) El servidor solicita el certificado del cliente5) El cliente enva su certificado: si es vlido continua la comunicacin si no para

    o sigue la comunicacin sin certificado del cliente6) El cliente enva un mensaje ClientKeyExchange solicitando un intercambio

    de claves simtricas si es el caso7) El cliente enva un mensaje CertificateVerify si se ha verificado el certificado

    del servidor, en caso de que el cliente este en estado de autenticado8) Ambos cliente y servidor envan un mensaje ChangeCipherSpec que significa

    el comienzo de la comunicacin segura.9) Al trmino de la comunicacin ambos envan el mensaje finished con lo que

    termina la comunicacin segura, este mensaje consiste en un intercambio delhash de toda la conversacin, de manera que ambos estn seguros que losmensajes fueron recibidos intactos (ntegros).

    La versin ms actual de SSL es la v3, existen otro protocolo parecido a SSL soloque es desarrollado por IETF que se denomina TLS (Transport Layer SecurityProtocol) y difiere en que usa un conjunto un poco ms amplio de algoritmoscriptogrficos. Por otra parte existe tambin SSL plus, un protocolo que extiendelas capacidades de SSL y tiene por mayor caracterstica que es interoperable conRSA, DSA/DH y CE (Criptografa Elptica).

  • Criptografa para principiantes

    47Jose de Jess ngel ngel

    El protocolo SSL

    SETEste protocolo esta especialmente diseado para asegurar las transacciones porInternet que se pagan con tarjeta de crdito. Esto es debido a que una grancantidad de transacciones de compra por Internet son efectuadas con tarjeta decrdito, por otro lado SSL deja descubierto alguna informacin sensible cuando seusa para lo mismo. La principal caracterstica de SET [77][79][80][83], es quecubre estos huecos en la seguridad que deja SSL.Por ejemplo con SSL solo protege el nmero de tarjeta cuando se enva delcliente al comerciante, sin embargo no hace nada para la validacin del nmero detarjeta, para chequear s el cliente esta autorizado a usar ese nmero de tarjeta,para ver la autorizacin de la transaccin del banco del comerciante etc., Ademsque el comerciante puede fcilmente guardar el nmero de tarjeta del cliente. Enfin, todas estas debilidades son cubiertas por SET, ste permite dar seguridadtanto al cliente, al comerciante como al banco emisor de la tarjeta y al banco delcomerciante.

  • Criptografa para principiantes

    48Jose de Jess ngel ngel

    El proceso de SET es mas o menos el siguiente:

    1) El cliente inicializa la compra: consiste en que el cliente usa el browser paraseleccionar los productos a comprar y llena la forma de orden correspondiente.SET comienza cuando el cliente hace clic en pagar y se enva un mensaje deiniciar SET.

    2) El cliente usando SET enva la orden y la informacin de pago alcomerciante: el software SET del cliente crea dos mensajes uno conteniendola informacin de la orden de compra, el total de la compra y el nmero deorden. El segundo mensaje contiene la informacin de pago, es decir, elnmero de la tarjeta de crdito del cliente y la informacin del banco emisor dela tarjeta. El primer mensaje es cifrado usando un sistema simtrico y esempaquetada en un sobre digital que se cifra usando la clave pblica delcomerciante. El segundo mensaje tambin es cifrado pero usando la clavepblica del banco (esto previene que el comerciante tenga acceso a losnmeros de tarjetas de los clientes). Finalmente el cliente firma ambosmensajes.

    3) El comerciante pasa la informacin de pago al banco: el software SET delcomerciante genera un requerimiento de autorizacin, ste es comprimido (conun hash) y firmado por el comerciante para probar su identidad al banco delcomerciante, adems de ser cifrado con un sistema simtrico y guardado en unsobre digital que es cifrado con la clave pblica del banco.

    4) El banco verifica la validez del requerimiento: el banco descifra el sobredigital y verifica la identidad del comerciante, en el caso de aceptarla descifra lainformacin de pago del cliente y verifica su identidad. En tal caso genera unarequerimiento de autorizacin lo firma y enva al banco que genero la tarjetadel cliente.

    5) El emisor de la tarjeta autoriza la transaccin: el banco del cliente (emisorde la tarjeta) confirma la identidad del cliente, descifra la informacin recibida yverifica la cuenta del cliente en caso de que no haya problemas, aprueba elrequerimiento de autorizacin, lo firma y lo regresa al banco del comerciante.

    6) El banco del comerciante autoriza la transaccin: una ves recibida laautorizacin del banco emisor, el banco del comerciante autoriza la transaccinla firma y la enva al servidor del comerciante.

    7) El servidor del comerciante complementa la transaccin: el servidor delcomerciante da a conocer que la transaccin que la tarjeta fue aprobada ymuestra al cliente la conformidad de pago, y procesa la orden que pide elcliente terminado la compra cuando se le son enviados los bienes que comprel cliente.

    8) El comerciante captura la transaccin: en la fase final de SET elcomerciante enva un mensaje de captura a su banco, esto confirma lacompra y genera el cargo a la cuenta del cliente, as como acreditar el monto ala cuenta del comerciante.

    9) El generador de la tarjeta enva el aviso de crdito al cliente: el cargo deSET aparece en estado de cuenta del cliente que se le enva mensualmente.

  • Criptografa para principiantes

    49Jose de Jess ngel ngel

    Protocolo SET

    SET requiere un certificado digital en cada paso de autenticacin y usa dos paresde claves, una para el cifrado del sobre digital y otra para la firma, (SSL solo usaun par de claves), actualmente SET usa la funcin hash SHA-1, DES y RSA de1024 bits, estos parmetros fueron tomados para ser compatible con loscertificados existentes, aunque el piloto de SET us el sistema asimtrico decifrado con curvas elpticas y se piensa que soporte tambin curvas elpticas en laprxima versin de SET.

  • Criptografa para principiantes

    50Jose de Jess ngel ngel

    9 Vocabulario sobre criptografaAutenticidad: se refiere a estar seguros de la identidad de una entidad ya seamensaje, persona, servidor etc.Autoridad certificadora: es una entidad (compaa) que es reconocida parapoder certificar la asociacin de una clave pblica a una persona o servidor.Certificado digital: fsicamente es un archivo de hasta 2K de tamao quecontiene principalmente, los datos de una entidad una persona o un servidor, laclave pblica de esa entidad, y la firma de una autoridad certificadora que esreconocida con la capacidad de poder comprobar la identidad de la persona (oservidor) y vlida la clave pblica que es asociada a la entidad.Cifrador de Bloque: es un sistema criptogrfico que cifra de bloques en bloque,usualmente cada bloque es de 128 bits. Algunos sistemas conocido son, TDES,RC5, AES.Cifrador de Flujo: es un sistema criptogrfico de cifra de bit en bit, los msconocidos son, RC4, SEAL, WAKE.Cifrar : es la accin que produce un texto cifrado (Ilegible) a partir de un textooriginalClave privada: es la clave secreta que se usa en la criptografa asimtricaClave pblica: es la clave pblicamente conocida, que se usa en la criptografaasimtricaClave simtrica: es la clave secreta que tienen ambos lados de una comunicacinen la criptografa simtrica.Comercio electrnico: es todo lo relacionado con realizar comercioprincipalmente por Internet.Comparticin de secretos: es un esquema criptogrfico que tiene como entradaun secreto (por ejemplo una clave criptogrfica) y como salida un numero n departes del secreto y todas o algunas de stas n partes sirven para reconstruir elsecreto.Criptografa asimtrica: es el conjunto de mtodos que permite establecercomunicacin cifrada, donde una de las claves es pblica y la otra clave esprivada (secreta). Cada usuario tiene un par de claves una pblica y otra privada.Criptografa simtrica: es el conjunto de mtodos que permite establecercomunicacin cifrada, con la propiedad de que ambos lados de la comunicacintienen la misma clave, y sta es secreta.Criptografa Visual: es un esquema de comparticin de secretos donde elsecreto es una imagen y las partes son tambin varias imgenes. La ventaja de

  • Criptografa para principiantes

    51Jose de Jess ngel ngel

    este tipo de criptografa es que no es necesaria una computadora para lareconstruccin del secreto.Criptografa: es el conjunto de tcnicas (entre algoritmos y mtodos matemticos)que resuelven los problemas de autenticidad, privacidad, integridad y no rechazoen la transmisin de la informacin.Descifrar: es la accin inversa de cifrar, es decir, convierte un texto cifrado a otrolegible (texto original)Dinero electrnico: es un nmero (de alrededor de 100 dgitos) al que se leasocia cierto valor y pude ser usado como cualquier otro tipo de dinero. Estenmero va acompaado de la firma del dueo o de un banco.Esquema criptogrfico: es un conjunto de primitivas que componen unaaplicacin criptogrfica ms completa, como el esquema de firma digital(compuesta de la primitiva de firma y la de verificacin), el esquema de cifrado(compuesta con la primitiva de cifrado y la de descifrado) etc.Familia criptogrfica: es el conjunto de sistemas criptogrficos que basan suseguridad en el mismo problema matemtico, actualmente las familiascriptogrficas ms conocidas son las que basan su seguridad en el Problema deFactorizacin Entera (RSA, RW), los que la basan en el problema del logaritmodiscreto (DH, DSA), y los que la basan en el problema del logaritmo discretoelptico (DHE, DSAE, MQV)Firma digital con apndice: mtodo de firma digital que requiere al mensajecomo entrada en el proceso de verificacin.Firma digital con mensaje recuperable: mtodo de firma digital que no requiereal mensaje como entrada en el proceso de verificacin. El mensaje se recuperadespus de que se ha verificado la firma.Firma digital: es un mtodo que usa criptografa asimtrica y permite autenticaruna entidad (persona o servidor), tiene una funcin igual que la firmaconvencional. Consiste en dos procesos, uno de firma y otro de verificacin de lafirma. Fsicamente es una cadena de caracteres que se adjunta al documento.Funcin hash: es una funcin de un solo sentido, resistente a colisiones queasocia una archivo o documento de longitud arbitraria a una cadena de longitudconstante (se usa actualmente 160b de salida), las funciones hash ms conocidasson: MD5, SHA1, RIPMED 160.Generador de nmeros seudoaleatorios: es una funcin que tiene como entradauna cadena (conjunto de bits) llamada semilla y como salida otra cadena de bitsque al aplicarle ciertas pruebas de aleatoriedad pasan con un porcentajeaceptable (alrededor de un 95%)Integridad: se refiere a que la informacin no sea modificadaLongitud de la clave: es el nmero de bits (ceros y unos) que tienen las claves yes solo uno de los parmetros de los que depende la seguridad de un sistemacriptogrfico. Actualmente se usan 128 para las claves simtricas, 1024 para elsistema asimtrico RSA, 163 para los sistemas asimtricos que usan curvaselpticas.No-rechazo: se refiere a no poder negar la autora de un mensaje o de unatransaccin.Par de claves: se refiere al par de claves una privada y otra pblica usadas en lacriptografa asimtrica.

  • Criptografa para principiantes

    52Jose de Jess ngel ngel

    Primitiva criptogrfica: es la funcin ms bsica que compone un sistemacriptogrfico, existen la primitiva de cifrado, la primitiva de descifrado, la primitivade firma, la primitiva de verificacin de firma etc.Privacidad: se refiere a tener control en el acceso de la informacin y solopermitirlo a personas autorizadasProtocolo (criptogrfico): es la parte ms visible de la aplicacin y estacompuesto de esquemas criptogrficos conjuntamente con otras operaciones quepermiten proporcionar seguridad a una aplicacin mas especifica, por ejemplo elprotocolo SSL, SET, SMIME, IPsec etc.Texto cifrado: es un documento que ha sido cifradoTexto original: es un documento antes de ser cifrado

    10 Vocabulario matemtico usadofrecuentemente en criptografa

    Aritmtica modular: son las operaciones de suma o producto que se llevan acabo sobre los nmeros enteros mdulo algn entero n. Es decir el resultado deuna suma o un producto es el residuo de la divisin entre n.Campo de caracterstica 2 (F2n): este tipo de campos son conjuntos de n-adas(conjuntos de ceros y uno de longitud n) a los que se les define operaciones desuma y multiplicacin y tienen tambin las propiedades de lo nmeros Racionaleso Reales. Este tipo de campos son usados tambin en criptografa principalmenteporque es fcil fabricar un chip (circuito) que efecta eficientemente lasoperaciones de suma y producto.Campo numrico real: es un conjunto del tipo a+(d1/2) b, donde a,b son nmerosreales y que tienen propiedades que permiten ser usados en criptografa. Tambinexisten sistemas comerciales que lo usan.Campo primo (Zp): cuando en Zn, n es nmero primo n=p, entonces todos loselementos tienes inverso multiplicativo. Esto es tanto la suma como el productocumplen las mismas propiedades que los nmeros Racionales o los nmerosReales. En criptografa es ampliamente usado este tipo de campos.Curva anmala: es una curva elptica que tiene tantos puntos racionales comoelementos tiene el campo finito (en uso), para este tipo de curvas existe unmtodo que calcular logaritmos discretos, por que se recomienda evitarlas.Curva elptica: una curva elptica en el caso de la criptografia se considera comouna ecuacin de dos variables de grado 3, es decir la mxima potencia de lasvariables debe ser 3. Por ejemplo y2=x3+2x+3 es una curva elptica. Adems de nocontener puntos malos en criptografa llamados singulares.Curva hiperelptica: es una curva que generaliza a una curva elptica y quetambin han sido propuestas para ser usadas en criptografa.Curva no supersingular: son curvas elpticas que son inmunes (en la prctica) alMOV adems de ser muchas curvas y son las ms recomendables para el uso encriptografa por los estndares actuales.

  • Criptografa para principiantes

    53Jose de Jess ngel ngel

    Curva supersingular: son curvas elpticas que por un lado tienen la propiedad deser muy fcil calcular el nmero de puntos racionales pero por el otro existe unmtodo llamado MOV (de Menezes, Okamoto, Vanstone) que permite calcularlogaritmos discretos y as no son recomendables para su uso en criptografa.Divisores: el papel de puntos racional de una curva elptica lo toman los divisores.Funcin de Carmichael (lamda ): esta funcin tiene como estrada un nmeroentero y da como salida (para el caso n=pq) al mnimo comn mltiplo de (p-1)(q-1). En el sistema RSA es usado para realizar el cifrado y descifrado mseficientemente, se asume esta funcin en el PKCS #1 v 2.Funcin de Euler (phi, ): esta funcin tiene como entrada un nmero entero yda como resultado el nmero de primos relativos a n que son menores a n. Parael caso de RSA es usado phi(n) con n la clave pblica, en este caso phi(n)=(p-1)(q-1)Funcin exponencial modular: es la operacin que se usa para cifrar u descifraren varios sistemas criptogrficos (RSA, RW, DH, DSA) y consiste en multiplicarmodularmente muchas veces un mismo nmero.Generador probabilstico de nmeros primos: es un proceso que tiene comoentrada un nmero entero y como salida un probable nmero primo con grangrado de aceptacin. El mtodo ms aceptado para generar primos es el de MillerRabin.Inverso multiplicativo modular: dado un nmero su inverso multiplicativo es elnmero que al multiplicarlo el resultado ser uno (1). Por ejemplo en Z3 el inversomultiplicativo de 2 es 2 ya que 2*2 = 4 mod 3= 1. En los nmeros enteros mdulootro nmero entero, no todos los nmeros tienen inverso multiplicativo. Encriptografa la clave privada d (del sistema RSA) es precisamente el inversomultiplicativo de la parte de la clave pblica e. O sea d = e-1 mod n.Mtodo para resolver el Problema del Logaritmo Discreto Elptico:actualmente el mejor algoritmo para calcular logaritmos discretos es el que seaplica a grupos en general llamado mtodo de la raz de Pollar.Mtodos de Factorizacin: es un mtodo que tiene como entrada un nmerocompuesto (no primo) y como salida uno de sus factores no triviales (diferentes a1 y a el mismo). Actualmente el mtodo ms adecuado para factorizar nmerosarbitrarios y que es usado para factorizar los nmeros productos de dos primos esla criba de campos numricos.Mtodos para calcular Logaritmos Discretos: hasta la fecha el mtodo msadecuado para calcular logaritmos discretos es el mtodo del Indice. Este mtodopermite calcular logaritmos del mismo orden que las claves del sistema RSA, estoquiere decir que las claves de sistemas que usen logaritmos discretos deben detener el mismo orden que las claves RSA.Nmero de puntos racionales: en un sistema criptogrfico con curvas elpticases muy importante el nmero de puntos racionales (llamado el orden de la curva)ya que este nmero debe contener como factor a un nmero primo de al menos163 bits para considerar que la curva sea segura en criptografa.Nmero primo: es un nmero entero que no tiene divisores diferentes a 1 y asmismo, ejemplo 2,3,5,7,11,

  • Criptografa para principiantes

    54Jose de Jess ngel ngel

    Nmeros Grandes: se considera que un nmero es grande si tiene longitud almenos de 512 bits (155 dgitos), a causa de que los procesadores actualesmanejan solo nmeros de 32 bits, se tienen que disearse programas para poderefectuar las operaciones sobre este tipo de nmeros.Nmeros de Fermat: los nmeros de Fermat son de la forma (2^(2^n)+1), elnmero 1 de Fermat es (2^(2^1)+1)=5, el nmero 2 de Fermat es (2^(2^2)+1)=17,el siguiente es (2^(2^3)+1)=257, y el 4 es (2^(2^4)+1)=65537. Fermat habaafirmado que todos estos nmeros eran primos aunque esto no es cierto. Elnmero 4 de Fermat se usa como exponente pblico (e) en el sistema RSA, comosu representacin hexadecimal es 01 00 01 es ptimo para ser usado comoexponente.Primo industrial: es un nmero primo generado probabilsticamente que tiene a loms 1/(2^100) de probabilidad de error (de no ser nmero primo).Problema