Para analizar el desarrollo paso a paso de cómo funciona la aplicación para la seguridad de la información que se transmite en redes de TCP/IP utilizando TI, se dividirá su estudio en bloques. Los bloques deben ser observados como un flujo de la información que va desde una computadora conectada a un punto de una red TCP/IP a otro extremo con otro sistema de cómputo conectado. Véase la figura 3.14.
Fig. 3.14: Etapas que describen el proceso de la aplicación desarrollada
Etapa 1
En esta etapa, se parte del hecho de que se cuenta con un archivo plano, es decir un archivo tal y como fue creado sin haberle aplicado algún procedimiento de encriptamiento. Este archivo plano se tiene almacenado en una unidad lógica de una PC y que para fines prácticos se considera que el archivo se encuentra almacenado en el disco duro de la PC. Antes de enviarlo a otro punto de la red entiéndase como otro punto, otra computadora conectada a la red, se aplicarán dos algoritmos de encriptamiento de la siguiente forma.
Etapa 1.1
Como ya se explicó en capítulos anteriores se cuenta con un lector de TI conectado al puerto serial de la PC origen, el cual se conecta con DLL previamente diseñadas y que cuyo control se encuentra dentro del módulo principal programado. En dicho lector hay que introducir la TI al momento que la aplicación ha iniciado el proceso y lo solicita a través de la interfaz gráfica construida con ventanas de Windows. La pantalla que se muestra en la figura. 3.15 corresponde a la solicitud de inserción de la TI en el lector.
Fig. 3.15: Pantalla de inserción de TI en el lector Encriptamiento del archivo plano Transmisión del archivo ya encriptado Recepción del archivo encriptado Proceso de desencriptamiento Archivo original de forma segura Archivo plano
En caso de que no se inserte la tarjeta el programa mandará un mensaje de error donde se niega el acceso, aparecerá este mensaje de igual forma si se comete un error al teclear el PIN de acceso. En la figura 3.16, se muestra la pantalla de la aplicación que indica cuando hubo un error en el tecleo del NIP o en la inserción de la TI.
Fig. 3.16: Acceso Negado por error en NIP o por no detectar una TI
Como ya se ha mencionado antes, las DLL de TI permiten desarrollar aplicaciones utilizando códigos que contienen los parámetros para las funciones requeridas. Donde hay que poner énfasis es en el manejo de la memoria interna de la tarjeta con la finalidad de evitar fallos generales del sistema por un mal uso de las librerías.
Recientemente las librerías de los distintos fabricantes de tarjetas están siendo diseñadas para trabajar en ambientes de C++ orientados a objetos a diferencia de los primeros desarrollos que sólo eran programados en C.
En las interfaces de software de tarjetas para trabajar en Windows es necesario considerar problemas de compatibilidad entre Visual C++ y Borland C++ Builder. Véase la sección para la conversión de una DLL de Visual C++ a Borland C++.
Al momento de teclear el PIN en el teclado de la PC se ejecuta una rutina que permite identificar si se tiene el acceso a la aplicación o no. Hasta este momento se ha explicado como se utiliza la tarjeta para poder entrar a la aplicación. La pantalla que se muestra en la figura 3.17 solicita que se teclee el número de 4 dígitos que permite la entrada a la aplicación.
Cuando se solicita el acceso a la aplicación se tiene que insertar la TI y teclear el código de seguridad de 4 dígitos y en caso de que no se inserte la tarjeta o se teclee mal el PIN se ejecuta el siguiente código que muestra al usuario que el acceso ha sido negado. Véase el Anexo C.
Etapa 1.2
En esta etapa ya se tiene el acceso a la interfaz gráfica para poder aplicar los algoritmos de encriptamiento y por lo tanto, ya se garantizó la autenticidad de la persona que va a utilizar la aplicación.
Etapa 1.3
En esta etapa 1.3 el primer paso es seleccionar el archivo a encriptar a través de los menús de la aplicación, es decir es el momento en donde se selecciona el archivo plano dentro de la PC para posteriormente aplicarle el procedimiento de encriptamiento. La figura 3.18 muestra la pantalla de la aplicación donde se selecciona el archivo a ser encriptado.
Una vez que se seleccionó el archivo a encriptar se debe de presionar el botón de ´Encriptar´. Cuando se activa el botón ´Encriptar´ del menú principal se realizan los procesos de encriptamiento y se despliega la pantalla que a continuación se muestra en la figura 3.19.
Fig. 3.19: Pantalla del proceso de encriptamiento
El primer proceso consiste en tomar la llave privada de sesión (S1) generada por la TI y encriptar el archivo seleccionado con DES el resultado es el archivo (AE), después se genera la llave de sesión (S2) para aplicar DES-1 al archivo (AE) y el resultado es (AE2), por último se utiliza la llave de sesión (S1), para aplicar el DES a (AE2) y el resultado es el 3DES aplicado al archivo que resulta ser (AE2) y éste se envía por la red. Posteriormente se encriptan las llaves de sesión (S1) y (S2) con la llave pública correspondiente al algoritmo RSA y se envían por la red al destinatario.
Etapa 1.4
El encriptar el número 1 que se encuentra dentro de un archivo de WinWord con la combinación de ambas llaves (S1, S2), nos dará como resultado aproximadamente un archivo de 542 líneas de caracteres irreconocibles, si los visualizáramos en cualquier analizador de archivos o procesador de palabras se vería un fragmento como se muestra en la figura 3.20.
C756194618175C5C92034C134D42090999EB6C9A0FECB68DA9942D36FB2BE57A8185B8558A75F46F7E6F57246A43726EA6BA 22AD871CDCAFE86527628C85A93D1F636EECEC427711F9C0E2513EBB5797EF4F71CC640D380F9A325D85692288D1EC79B48 8870EEC316FAA16CEDC6EB1982FE43492861560BDCC2F10A95E50F7D765BB35D384CE2BC9A5593E7C23F710BD
FILENAME 1.DOC/GENDATE 09|12|02-10:06:05/INTEGRITY
27B8487356DDFDC5AC619F193667B4BE4FAC1D5571227456/SOFTVERSION 2.3.1/CARDVERSION 1001/CARDMANUFCODE 0711/MOREINFO FILEORDATE=09|12|2002-10:05:38 FILEORSIZE=19456
_L__®B?@‰–jøt ¼'P'H_0³îÓl‚¥> Šm¶:6æ´®º’Gen>ä½Q…_ÄMÔ_è{”_/å¨-P¾-(_-ÕÕF! _, „†>µË{uºP_Âm_šü0˜ å¨ðLƒ_ wÚþòænï ûC _²ŒA"•-ƒ¯åÿÇ”¥înÒ%"¼ŠS^DÛ«_xwÑ[â/œÊö»¶ÆÔb’/[x__q0tÒÖ3Éîktó-
è__usxpkSWü÷ïGI ±ZišR_ø êqÑTÜÄ %_òíìèíÀÍÈ›_¤ŠS_áØkq)‡ - šø¸ _¼>×9fȨIÙó_ ¾qŒk Y5ô.ü½^_wZBE'™h™ 8˜ ëÒ?uXÍ-!«x
÷( ä£)˜__O«þ_ýé øå^ …–—´íÓ;»_T] f_¤__|ïµ ‡ {íUþ_ê±_`)bn°°Šš\ZTB·^±˜_ÀÖGµ#?ƒ|-ì첯¥W'æ½Èµ³’SA³i__²Ñ:lp_á•›} ci_
xC}ˆ8_1Y__°u‰,´ ª¨xœ‘8 ÇÆ_ ø–lh *ãË åÍ Ñò‹_Ð_[ÄŸæ__$’ïÏIÀ;o_MxSüHÎÀwÀj !T ú/X ) ¢>Ç_W _äS|¹:_$hAò¯¾·__vlë‰Ò‹_x}_' ú_5YüªËA¸¬(,j}rk“ãoùÝI«tCS¼×H_’k —¤“4âÏ}þ좗 6_ú šßM_ »_ƒ_Æ+¢qõ...
La 3.21, muestra dos ventanas que corresponden a la edición y lectura del archivo a encriptar en un procesador de palabras. La pantalla de la izquierda muestra el archivo con el archivo plano que dice "Éste es un archivo plano de prueba, el cual será encriptado" y la pantalla de la derecha nos muestra el Archivo después de haberle aplicado el encriptamiento con 3DES que a su vez tiene encriptada la llave con el algoritmo de RSA. Como se puede observar, si alguien intenta abrir el archivo utilizando un procesador de palabras éste sería completamente ilegible.
Fig. 3.21: Se observa archivo plano a la izquierda y archivo encriptado a la derecha