Changeset 385f126 in libros


Ignore:
Timestamp:
Oct 16, 2014, 8:55:14 AM (10 years ago)
Author:
aaraujo <aaraujo@…>
Branches:
revisionfinal
Children:
8a02fde
Parents:
cbd37f3
git-author:
Dhionel Díaz <ddiaz@…> (12/10/14 21:39:48)
git-committer:
aaraujo <aaraujo@…> (16/10/14 08:55:14)
Message:

Correcciones capítulo 5.

Signed-off-by: Dhionel Díaz <ddiaz@…>
Signed-off-by: aaraujo <aaraujo@moe>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • maquetacion/capitulo5/capitulo5.tex

    r65b942d r385f126  
    2929
    3030%\begin{abstract}
    31 Una Autoridad de Certificación Raíz (AC Raíz) es un componente que tiene el rol de ser el
    32 punto más alto de confianza en una ICP. Una ICP genera certificados electrónicos
    33 de acuerdo al
     31Una Autoridad de Certificación Raíz (AC Raíz) es un componente que
     32tiene el rol de ser el
     33punto más alto de confianza en una ICP. Una ICP genera certificados
     34electrónicos de acuerdo al
    3435estándar X.509 proporcionando seguridad lógica, y vinculación
    3536legal a las transacciones que realiza el titular del certificado en
    3637la Internet. La confianza reside en la protección, a través de esquemas fuertes de
    37 seguridad física y lógica, de la clave privada que permite la generación de estos certificados.
     38seguridad física y lógica, de la clave privada que permite la
     39generación de estos certificados.
    3840
    3941Este trabajo muestra el proceso de desarrollo de una aplicación para gestionar
    40 una Autoridad de Certificación Raíz utilizando bibliotecas, herramientas, compiladores,
    41 sistemas operativos y licencias compatibles con los principios del software libre.
     42una Autoridad de Certificación Raíz utilizando bibliotecas, herramientas,
     43compiladores, sistemas operativos y licencias compatibles con
     44los principios del software libre.
    4245En primer lugar, se determinan los requisitos a ser satisfechos en función de una
    4346descripción general de las funciones y características de una Autoridad de
     
    4548requisitos, con el objetivo de producir una visión formal de los procesos a
    4649automatizar. Se dedica una sección a la implementación que consiste
    47 en la codificación en un lenguaje de programación de los procesos previstos en
    48 las
    49 etapas anteriores, como también, de la incorporación de mecanismos fuertes de
    50 validación de identidad de usuarios, registro de eventos, firma de acciones por parte
    51 de los administradores de la aplicación, y especificación de conexiones con hardware
    52 especializado, como tarjetas inteligentes. Finalmente, se describe el despliegue y
    53 configuración de la aplicación, que involucra la instalación en un ambiente seguro
    54 (bóveda o centro de datos) y el enlace de la AC Raíz con los demás componentes
    55 de la infraestructura. 
     50en la codificación en un lenguaje de programación
     51de los procesos previstos en las etapas anteriores, como
     52también, de la incorporación de mecanismos fuertes de
     53validación de identidad de usuarios, registro de eventos,
     54firma de acciones por parte de los administradores de la aplicación, y
     55especificación de conexiones con hardware especializado, como tarjetas
     56inteligentes. Finalmente, se describe el despliegue y
     57configuración de la aplicación, que involucra la instalación
     58en un ambiente seguro (bóveda o centro de datos) y el enlace de la AC Raíz con
     59los demás componentes de la infraestructura. 
    5660
    5761
     
    8791
    8892\label{sec:intro}La disponibilidad de Internet como medio digital %seguro permite
    89 permite que cualquier persona, empresa, institución, o administración realice transacciones
     93permite que cualquier persona, empresa, institución,
     94o administración realice transacciones
    9095gubernamentales, comerciales o personales en la mayoría de los casos, tal cual,
    9196como se realizarían en una oficina o espacio físico de forma presencial. Dado este
    9297hecho, al utilizar Internet para establecer relaciones humanas, se está de acuerdo
    93 que es necesario trasladar el concepto de ``identidad'' al medio digital\cite{NIC:03}.
     98que es necesario trasladar el concepto de ``identidad''
     99al medio digital\cite{NIC:03}.
    94100La criptografía provee algoritmos y mecanismos para construir este concepto
    95101en la red, ya que es posible utilizar herramientas que aporten elementos para
     
    97103la que se está familiarizado en el mundo real.
    98104
    99 En muchas ocasiones para realizar actividades cotidianas personales o de trabajo,
    100 se debe establecer contacto con un individuo u organización que no se conoce o del
    101 cuál no se tiene ninguna referencia. Mediante un contacto personal o directo, los
    102 sentidos humanos permiten percibir un gran número de detalles que le caracterizan, y
    103 cuya combinación muy probablemente le hace irrepetible. Esta combinación  permite
    104 identificar al individuo  de forma única y certera.  Dicho esto, la identidad se
    105 define como el reconocimiento que se hace de las credenciales físicas o informativas,
    106 que ese individuo ofrece para que se le acepte como poseedor de una determinada
    107 individualidad \cite{STAL:03}. Las credenciales físicas pueden ser documentos como
    108 la Cédula de Identidad, el Pasaporte, la Licencia de Conducir, entre otros. Todos los
    109 documentos citados  generalmente incluyen una fotografía que permite la comparación
    110 con la apariencia del interlocutor; también usualmente se agrega otra característica
    111 informativa que puede ser un nombre, una  firma manuscrita y posiblemente un número
    112 de referencia.
     105En muchas ocasiones para realizar actividades cotidianas personales
     106o de trabajo, se debe establecer contacto con un individuo u organización
     107que no se conoce o del cuál no se tiene ninguna referencia. Mediante un
     108contacto personal o directo, los sentidos humanos permiten percibir
     109un gran número de detalles que le caracterizan, y cuya combinación
     110muy probablemente le hace irrepetible. Esta combinación  permite
     111identificar al individuo  de forma única y certera. Dicho esto,
     112la identidad se define como el reconocimiento que se hace de las
     113credenciales físicas o informativas, que ese individuo ofrece para
     114que se le acepte como poseedor de una determinada individualidad
     115\cite{STAL:03}. Las credenciales físicas pueden ser documentos como
     116la Cédula de Identidad, el Pasaporte, la Licencia de Conducir,
     117entre otros. Todos los documentos citados  generalmente incluyen una
     118fotografía que permite la comparación con la apariencia del interlocutor;
     119también usualmente se agrega otra característica informativa que puede
     120ser un nombre, una  firma manuscrita y posiblemente un número de referencia.
    113121
    114122Cuando se traslada el concepto de identidad al medio informático, se habla de
    115123identidad digital, y se hace necesario contar con credenciales traducibles a
    116 información binaria. Por otro lado, la criptografía, por sí misma no proporciona este
    117 concepto: es el uso de una infraestructura computacional que utiliza algoritmos
    118 criptográficos para representar credenciales digitales, como por ejemplo el certificado
    119 electrónico, y que son otorgados por terceros de confianza, denominados Autoridades
    120 de Certificación (AC), y que se describen como Raíz cuando son el punto inicial de una
    121 jerarquía, las que proveen a usuarios y organizaciones de identidad digital, y que
     124información binaria. Por otro lado, la criptografía, por sí misma
     125no proporciona este concepto: es el uso de una infraestructura
     126computacional que utiliza algoritmos criptográficos para representar
     127credenciales digitales, como por ejemplo el certificado
     128electrónico, y que son otorgados por terceros de confianza,
     129denominados Autoridades de Certificación (AC), y que se describen
     130como Raíz cuando son el punto inicial de una jerarquía, las que
     131proveen a usuarios y organizaciones de identidad digital, y que
    122132cuenta con las mismas connotaciones que tiene este concepto en el ámbito personal
    123133y jurídico.
     
    129139La discusión de importantes aspectos que surgen en las diferentes etapas del
    130140proceso de desarrollo de la aplicación de gestión, y que están vinculados con
    131 los
    132 principios del software libre y los requisitos muy particulares del ambiente
     141los principios del software libre y los requisitos muy particulares del ambiente
    133142de despliegue, subrayan los objetivos propuestos de este trabajo.
    134143
     
    137146Con el objetivo de contextualizar los términos   ``identidad'', ``confianza'', o
    138147``transacción segura'' y``AC Raíz'' en el medio digital, y específicamente en
    139 relación con la Internet; es imprescindible en una primera aproximación,  discutir sobre
    140 determinados temas y conceptos vinculados con la seguridad informática. En los párrafos
    141 siguientes se abordan brevemente algunos de los puntos más importantes relacionados con el tema.
     148relación con la Internet; es imprescindible en una primera aproximación, 
     149discutir sobre
     150determinados temas y conceptos vinculados con la seguridad informática.
     151En los párrafos
     152siguientes se abordan brevemente algunos de los puntos más importantes
     153relacionados con el tema.
    142154 
    143155\subsection{Seguridad Informática}
    144156
    145 Se ha llegado a un consenso sobre lo que significa seguridad informática \cite{STAL:03}.
    146 En general, se dice que un activo de información, (información digital con un valor
    147 real para una empresa o persona) está asegurado si cumple con niveles  aceptables
     157Se ha llegado a un consenso sobre lo que significa seguridad
     158informática \cite{STAL:03}.
     159En general, se dice que un activo de información, (información
     160digital con un valor
     161real para una empresa o persona) está asegurado si cumple con
     162niveles  aceptables
    148163relativos a su valor potencial en los siguientes aspectos:
    149164\\ \\
     
    156171\\ \\
    157172\textbf{Confidencialidad:} es el aspecto de la seguridad que permite mantener en
    158 secreto la información y solo los usuarios autorizados pueden manipularla.
     173secreto la información y sólo los usuarios autorizados pueden manipularla.
    159174Igual que para la disponibilidad, los usuarios pueden ser personas, procesos o
    160 programas. Para evitar que nadie no autorizado pueda tener acceso a la información
    161 transferida y que recorre la red se utilizan técnicas de cifrado o codificación de
     175programas. Para evitar que ninguna persona no autorizada pueda tener acceso
     176a la información transferida y que recorre la red se utilizan técnicas de
     177cifrado o codificación de
    162178datos. Hay que mantener una cierta coherencia para determinar cuál es el grado de
    163 confidencialidad de la información que se está manejando, para así evitar un esfuerzo
     179confidencialidad de la información que se está manejando, para así evitar
     180un esfuerzo
    164181suplementario a la hora de decodificar una información previamente codificada.
    165182\\ \\
    166183\textbf{Integridad:} corresponde a garantizar que la información transmitida entre dos
    167 entidades autorizadas no sea modificada por un tercero no autorizado. Un mecanismo
     184entidades autorizadas no sea modificada por un tercero no autorizado.
     185Un mecanismo
    168186para lograrlo es la utilización de firmas electrónicas.
    169 Mediante una firma electrónica se codifican los mensajes a transferir, de forma que una
    170 función, denominada hash \cite{ACE:03}, calcula un resumen de dicho mensaje y se
    171 le añade. La validación de la integridad del mensaje se realiza aplicándole al original la
    172 misma función y comparando el resultado con el resumen que se añadió al final cuando
     187Mediante una firma electrónica se codifican los mensajes
     188a transferir, de forma que una
     189función, denominada hash \cite{ACE:03}, calcula un resumen de
     190dicho mensaje y se
     191le añade. La validación de la integridad del mensaje se realiza
     192aplicándole al original la
     193misma función y comparando el resultado con el resumen que se
     194añadió al final cuando
    173195se calculó por primera vez antes de enviarlo.
    174196Mantener la integridad es importante para verificar que en el tiempo de viaje por
     
    177199
    178200\subsection{Criptografía}
    179 La criptografía  es la ciencia o arte de ocultar información utilizando técnicas matemáticas
     201La criptografía  es la ciencia o arte de ocultar información
     202utilizando técnicas matemáticas
    180203que hagan posible el intercambio de mensajes de manera que sólo puedan ser leídos
    181204por las personas o usuarios autorizados \cite{STAL:03}. La criptografía ha tomado
    182205gran importancia en los últimos años, ya que es posible transformar las
    183 ``técnicas matemáticas'' en algoritmos que pueden ser comprendidos por una computadora. 
    184 Se puede clasificar la criptografía en dos tipos, según el tipo de clave que se utilice:
    185 
    186 \textbf{Criptografía Simétrica:} los sistemas de criptografía simétrica son aquellos
    187 que utilizan una única clave para cifrar y descifrar un texto claro. Este tipo de
     206``técnicas matemáticas'' en algoritmos que pueden ser
     207comprendidos por una computadora. 
     208Se puede clasificar la criptografía en dos tipos, según el tipo
     209de clave que se utilice:
     210
     211\textbf{Criptografía Simétrica:} los sistemas de criptografía
     212simétrica son aquellos
     213que utilizan una única clave para cifrar y descifrar un texto
     214claro. Este tipo de
    188215sistema conlleva una desventaja, que consiste en el conocimiento de las partes
    189216(emisor y receptor) de la  clave única que les permite intercambiar información
    190 por un canal seguro. Como respuesta a ello, se hace necesario formalizar un procedimiento
     217por un canal seguro. Como respuesta a ello, se hace necesario
     218formalizar un procedimiento
    191219que muestre a las partes autorizadas la información sobre la clave, sin que sea
    192220develada a un tercero no autorizado.
     
    194222\textbf{Criptografía Asimétrica:} también se conoce como  Sistema de Cifrado
    195223de Clave Pública \cite{STAL:03}. Usa dos claves diferentes, una de ellas es la
    196 Clave Pública que puede ser enviada a cualquier persona y otra, que se
    197 denomina Clave Privada que es secreta, y no debe ser revelada. A diferencia del
     224Clave Pública que puede ser enviada a cualquier persona y otra que se
     225denomina Clave Privada, que es secreta y no debe ser revelada. A diferencia del
    198226sistema de cifrado simétrico donde las partes deben concertar un procedimiento
    199227para conocer la clave única, en este tipo de sistema el remitente usa la clave
     
    204232\subsection{Certificados electrónicos}
    205233
    206 Un certificado electrónico es un documento de acreditación que permite a las partes
     234Un certificado electrónico es un documento de
     235acreditación que permite a las partes
    207236tener confianza en las transacciones que realicen en internet. Por tanto,
    208237garantiza la identidad de su poseedor mediante un sistema de claves administrado
    209238por una tercera parte de confianza. Para validar un certificado basta con conocer
    210 la clave pública de la tercera parte conocida como la Autoridad de Certificación (AC).
     239la clave pública de la tercera parte conocida
     240como la Autoridad de Certificación (AC).
    211241Para cuidarnos de que piratas informáticos cambien su clave pública por la de la
    212 autoridad de confianza, la AC debe crear un certificado con su propia información de
    213 identidad y a la vez su clave pública y firmar el certificado, este certificado se le
    214 conoce como certificado autofirmado.
     242autoridad de confianza, la AC debe crear un certificado
     243con su propia información de
     244identidad y a la vez su clave pública y firmar el certificado,
     245este certificado se le conoce como certificado autofirmado.
    215246Dado que los certificados son información pública y lo que se desea es que todos
    216 tengan acceso a ellos, pueden hacerse copias del certificado %de acuerdo sea necesario.
     247tengan acceso a ellos, pueden hacerse copias del
     248certificado %de acuerdo sea necesario.
    217249para su distribución.
    218 Los certificados electrónicos permiten varias cosas, entre ellas se pueden citar que los
     250Los certificados electrónicos permiten varias cosas, entre ellas
     251se pueden citar que los
    219252usuarios pueden añadir firmas electrónicas a los formularios en línea; que los
    220 destinatarios pueden comprobar la autenticidad del correo electrónico confidencial;
    221 que los compradores pueden estar seguros de que un sitio web es legítimo; y por último,
    222 controla el acceso a bancos y comercios en línea, así como las intranets y extranets.
     253destinatarios pueden comprobar la autenticidad del
     254correo electrónico confidencial;
     255que los compradores pueden estar seguros de que un sitio web
     256es legítimo; y por último,
     257controla el acceso a bancos y comercios en línea, así como
     258las intranets y extranets.
    223259
    224260\subsection{Estándar X.509}
    225261
    226262
    227 X.509 y X.500 fueron originalmente dise\~nados a mediados de los a\~nos 80, antes
    228 del enorme crecimiento de usuarios en la Internet. Es por esto que se
    229 dise\~naron para operar en un ambiente donde sólo los computadores se interconectaban
     263X.509 y X.500 fueron originalmente dise\~nados a
     264mediados de los a\~nos 80, antes
     265del enorme crecimiento de usuarios en la Internet.
     266Es por esto que se
     267dise\~naron para operar en un ambiente donde sólo los
     268computadores se interconectaban
    230269intermitentemente entre ellos. En las versiones  1 y 2 de X.509 se utiliza una
    231 lista estandarizada denominada lista de revocación de certificados (CRL por sus siglas en inglés)
     270lista estandarizada denominada lista de revocación de certificados
     271(CRL por sus siglas en inglés)
    232272que contiene la información referente a certificados que han sido revocados.
    233273
     
    241281Con la utilización de la tecnología de certificados electrónicos se provee a los
    242282clientes (personas o programas) de un nivel más alto en los procesos de
    243 autenticación y autorización, ya que se le otorga al cliente algo que puede poseer,
     283autenticación y autorización, ya que se le otorga al cliente
     284algo que puede poseer,
    244285incluso incluir dentro de un elemento físico, como una tarjeta inteligente.
    245286Los certificados en el formato X.509 v3 contienen datos del sujeto,
    246 como su nombre, dirección, correo electrónico, etc. La figura \ref{fig:estandarx509}
     287como su nombre, dirección, correo electrónico, etc.
     288La figura \ref{fig:estandarx509}
    247289muestra un bosquejo de la especificación del estándar X.509 versión 3.
    248290
     
    270312
    271313\begin{itemize}
    272  \item \textbf{Certificado de Servidor de Conexión Segura (SSL por sus siglas en inglés):}
     314 \item \textbf{Certificado de Servidor de Conexión Segura
     315(SSL por sus siglas en inglés):}
    273316 Permite incorporar el protocolo SSL a un servidor web con el objetivo que
    274317 toda la comunicación entre el cliente y el servidor permanezca segura,
    275  cifrando la información que envía cada parte. El certificado del servidor posibilita
     318 cifrando la información que envía cada parte. El certificado
     319 del servidor posibilita
    276320 la autenticación fuerte, es decir, que el servidor puede exigir certificados
    277321 personales de navegación a los usuarios para acceder a determinadas carpetas,
     
    279323 y contrase\~nas para la identificación de los usuarios.
    280324
    281  \item \textbf{Certificados personales (Correo electrónico y navegación):} Un certificado electrónico
    282  personal es la herramienta necesaria para navegar, comprar y enviar o recibir
    283 correo
    284  a través de la Internet, de una manera segura. Con el uso de este certificado
    285 se pueden
    286  firmar o cifrar los mensajes  de correo para tener la seguridad que el receptor será
    287  el único lector de nuestro mensaje. Se puede aumentar la seguridad y confianza entre el
    288  cliente y el servidor web, al autenticarse también al usuario, esto también va a permitir
    289  a las empresas la posibilidad de personalizar los contenidos a un usuario concreto,
    290  con la certeza que otros usuarios no podrán ver dicho contenido, tales como información
     325 \item \textbf{Certificados personales (Correo electrónico y
     326navegación):} Un certificado electrónico
     327 personal es la herramienta necesaria para navegar, comprar y
     328enviar o recibir correo  a través de la Internet, de una manera
     329segura. Con el uso de este certificado se pueden
     330 firmar o cifrar los mensajes  de correo para tener la seguridad
     331que el receptor será
     332 el único lector de nuestro mensaje. Se puede aumentar la
     333seguridad y confianza entre el
     334 cliente y el servidor web, al autenticarse también al usuario,
     335esto también va a permitir
     336 a las empresas la posibilidad de personalizar los contenidos
     337a un usuario concreto,
     338 con la certeza que otros usuarios no podrán ver dicho contenido,
     339tales como información
    291340 confidencial, ofertas especiales, entre otros.
    292341
    293342 \item \textbf{Certificado para firma de código:} El certificado para la firma de
    294343 código permite a un administrador, desarrollador o empresa de software firmar su
    295  software y macros, y distribuirlo de una forma segura. Esta solución de Seguridad es el
     344 software y macros, y distribuirlo de una forma segura.
     345 Esta solución de Seguridad es el
    296346 requisito mínimo que necesitan los clientes o lista de correo, para confiar y
    297  tener la seguridad de que el fichero que reciben o se descargan, proviene exclusivamente
     347 tener la seguridad de que el fichero que reciben o se descargan,
     348 proviene exclusivamente
    298349 de una empresa determinada. Con ello se evitan los problemas causados por la
    299350 suplantación de identidad y la distribución de objetos da\~ninos o perjudiciales
    300351 bajo esta supuesta identidad. Cualquier modificación (por ejemplo: inclusión de un
    301  troyano o infección de un virus) sobre el software original lo invalidará, con lo que el
    302  usuario tendrá la confirmación para rechazarlo al comprobar que la firma electrónica
     352 troyano o infección de un virus) sobre el software original
     353 lo invalidará, con lo que el
     354 usuario tendrá la confirmación para rechazarlo al comprobar
     355que la firma electrónica
    303356 no corresponde con la del software modificado.   
    304357\end{itemize}
     
    312365de símbolos y diagramas en donde se plasman las ideas de funcionalidad.
    313366El UML fue creado por Grady Booch, James Rumbaugh e Ivar Jacobson en el año
    314 1997\cite{SCHM:03},\cite{BOOC:99} y \cite{MULL:97}. Cada diagrama tiene fines distintos
     3671997\cite{SCHM:03},\cite{BOOC:99} y \cite{MULL:97}. Cada diagrama
     368tiene fines distintos
    315369dentro del proceso de desarrollo, su finalidad es presentar diversas perspectivas
    316 de un sistema. La clave está en organizar el proceso de diseño de tal forma que los analistas,
    317 clientes, desarrolladores y otras personas involucradas en el desarrollo del modelo
     370de un sistema. La clave está en organizar el proceso
     371de diseño de tal forma que los analistas,
     372clientes, desarrolladores y otras personas involucradas
     373en el desarrollo del modelo
    318374lo comprendan y convengan con él. Los diagramas que componen el lenguaje son:
    319375
     
    330386\end{itemize}
    331387
    332 En este trabajo se utilizaron esencialmente los diagramas de clases, los diagramas de
    333 casos de uso y los diagramas de actividades, que se describen brevemente a continuación:
    334 
    335 \textbf{Diagramas de clases:} son representaciones gráficas de las categorías en que
    336 pueden clasificarse los objetos del mundo real. En general, se hace una descripción
     388En este trabajo se utilizaron esencialmente los
     389diagramas de clases, los diagramas de
     390casos de uso y los diagramas de actividades, que se
     391describen brevemente a continuación:
     392
     393\textbf{Diagramas de clases:} son representaciones gráficas
     394de las categorías en que
     395pueden clasificarse los objetos del mundo real. En general,
     396se hace una descripción
    337397de las categorías que se utilizan en la aplicación a desarrollar. Las clases se
    338398dise\~nan en función de sus atributos y relaciones con otras clases.
    339399
    340400\textbf{Diagramas de casos de uso:} son descripciones de las acciones que debe
    341 realizar el usuario en el sistema \cite{SCHM:03}. Por ejemplo: Usuario que tiene la
     401realizar el usuario en el sistema \cite{SCHM:03}.
     402Por ejemplo: Usuario que tiene la
    342403necesidad de expedir un certificado electrónico a una AC de confianza.
    343404
     
    345406\textbf{Diagramas de actividades:}  muestran el flujo de actividades que ocurren
    346407dentro de un caso de uso o dentro de un comportamiento de un objeto\cite{SCHM:03}.
    347 Por ejemplo, las actividades que se realizan para expedir un certificado electrónico.
     408Por ejemplo, las actividades que se realizan
     409para expedir un certificado electrónico.
    348410
    349411\subsection{Software Libre}
     
    357419y por último 4) la Libertad de mejorar el programa y publicar las mejoras.
    358420
    359 Las libertades antes expuestas, proveen  muchos beneficios  a los usuarios finales.
    360 En particular, en el área de seguridad informática. Se pueden nombrar  entre los
    361 beneficios más importantes: la no dependencia  de un único fabricante, y la posibilidad
     421Las libertades antes expuestas, proveen  muchos beneficios
     422a los usuarios finales.
     423En particular, en el área de seguridad informática. Se pueden
     424nombrar  entre los
     425beneficios más importantes: la no dependencia  de un único
     426fabricante, y la posibilidad
    362427de realizar auditorías y pruebas exhaustivas por parte de terceros, que pueden
    363428ser personas, empresas o instituciones diferentes responsables del proyecto
     
    378443y la aplicación estricta de políticas para los procesos de registro, publicación,
    379444firma, renovación y revocación de certificados.
    380 El tercero de confianza se denomina Infraestructura de Clave Pública (ICP) \cite{NASH:02},
     445El tercero de confianza se denomina Infraestructura
     446de Clave Pública (ICP) \cite{NASH:02},
    381447y consiste en la combinación de hardware y software, políticas y procedimientos
    382448que permiten asegurar la identidad de los participantes en un intercambio de datos
    383 usando criptografía pública. Una ICP debe proporcionar los tres conceptos de
     449usando criptografía de clave pública. Una ICP debe proporcionar
     450los tres conceptos de
    384451seguridad mencionados anteriormente.
    385452
     
    418485Este modelo de establecimiento de relaciones de confianza, es necesario entre
    419486múltiples autoridades de certificación para garantizar que los usuarios
    420 (entidades finales) no tengan que depender y confiar en una sola AC, algo que haría
     487(entidades finales) no tengan que depender y confiar
     488en una sola AC, algo que haría
    421489imposible el manejo de estabilidad, administración y protección. El objetivo
    422490es que las entidades finales que utilizan identidades creadas por una AC puedan
    423491confiar en ellas, aunque dichas partes tengan una autoridad expedidora
    424 diferente.   
     492diferente.
    425493
    426494
     
    444512
    445513Se considera como punto importante en esta etapa, distinguir las diferencias entre
    446 una AC Raíz y una AC de un Proveedor de Servicios de Certificación (PSC). La diferencia
    447 principal entre estos dos tipos de AC, es la cantidad de certificados que deben gestionar
    448 (firmar, renovar, revocar, etc.) , en un determinado periodo cada uno de ellos.
     514una AC Raíz y una AC de un Proveedor de
     515Servicios de Certificación (PSC). La diferencia
     516principal entre estos dos tipos de AC, es la cantidad
     517de certificados que deben gestionar
     518(firmar, renovar, revocar, etc.) , en un determinado
     519periodo cada uno de ellos.
    449520Esto es, una
    450 AC Raíz solo gestiona un número mínimo de certificados,  los cuáles sirven para dar inicio a
    451 la jerarquía (certificados otorgados a los PSC), por el contrario, una AC de un PSC debe
    452 gestionar un número mucho mayor de certificados, ya que la función de este  nodo es
    453 entregar certificados  periódicamente a usuarios, también llamados entidades finales.
     521AC Raíz solo gestiona un número mínimo de certificados,
     522los cuáles sirven para dar inicio a
     523la jerarquía (certificados otorgados a los PSC), por el
     524contrario, una AC de un PSC debe
     525gestionar un número mucho mayor de certificados, ya que
     526la función de este  nodo es
     527entregar certificados  periódicamente a usuarios,
     528también llamados entidades finales.
    454529
    455530La diferencia de escala de los dos tipos de AC conlleva a que la AC Raíz tenga
    456 características particulares, que tienen que ver con los niveles y elementos de seguridad
     531características particulares, que tienen que ver con los niveles
     532y elementos de seguridad
    457533tanto físicos como lógicos que deben considerarse en la gestión del componente.
    458534Por ejemplo, la desconexión de red del equipo  donde se ejecuta la aplicación de
     
    462538
    463539
    464 La conexión de la aplicación con hardware especializado, como el Módulo de Seguridad en Hardware
    465 (HSM por sus siglas en inglés) que permite generar y almacenar claves o las tarjetas inteligentes,
    466 es un factor que debe considerarse en el momento de enumerar las funciones iniciales del software de gestión.   
    467 
    468 La selección del sistema operativo Linux \cite{SARW:03} para desplegar la aplicación,
    469 ya que cumple con los principios del software libre, y cuenta con gran número de
    470 herramientas en el área de programación \cite{KURT:01}, es un requisito no funcional
    471 que se establece en esta etapa.
    472 
    473 Considerando los aspectos nombrados anteriormente, en este punto se elabora una lista
    474 inicial de requisitos, con la cual debe cumplir la aplicación. Como técnicas utilizadas
    475 en esta etapa están la realización de entrevistas a clientes, a posibles
    476 administradores
    477 y operadores; así como la elaboración de tablas comparativas entre diferentes
    478 aplicaciones que
    479 existen en las bibliotecas o portales de software libre, con la finalidad de evaluar las
    480 herramientas a utilizar en la elaboración de la aplicación.
     540La conexión de la aplicación con hardware especializado,
     541como el Módulo de Seguridad en Hardware
     542(HSM por sus siglas en inglés) que permite generar y almacenar
     543claves o las tarjetas inteligentes,
     544es un factor que debe considerarse en el momento de
     545enumerar las funciones iniciales del software de gestión.   
     546
     547La selección del sistema operativo Linux \cite{SARW:03} para
     548desplegar la aplicación,
     549ya que cumple con los principios del software libre, y cuenta
     550con gran número de
     551herramientas en el área de programación \cite{KURT:01}, es
     552un requisito no funcional que se establece en esta etapa.
     553
     554Considerando los aspectos nombrados anteriormente,
     555 en este punto se elabora una lista
     556inicial de requisitos, con la cual debe cumplir
     557la aplicación. Como técnicas utilizadas
     558en esta etapa están la realización de entrevistas
     559a clientes, a posibles administradores
     560y operadores; así como la elaboración de tablas
     561comparativas entre diferentes aplicaciones que
     562existen en las bibliotecas o portales de software libre, con
     563la finalidad de evaluar las herramientas a utilizar en la
     564elaboración de la aplicación.
    481565
    482566
    483567\subsection{Dise\~no}
    484568
    485 La etapa de dise\~no consiste en elaborar diagramas formales que permitan en la etapa
    486 de implementación la representación de requisitos y procesos de la gestión del componente AC Raíz
    487 en un lenguaje de programación.  Para el dise\~no de requisitos se utilizan los diagramas
    488 de casos de uso del lenguaje UML, que muestran una primera aproximación de las operaciones
    489 que se deben realizar en relación con las entradas dadas por los usuarios. Los actores
    490 (usuarios) del caso de uso principal que se muestra en la figura \ref{fig:casodeusoprincipal}
    491 son: el Administrador del componente AC, el Administrador del Componente AR, el Administrador
    492 del componente PUB, y el actor PSC, quiénes son los que interactúan con la aplicación.
     569La etapa de dise\~no consiste en elaborar diagramas
     570formales que permitan en la etapa
     571de implementación la representación de requisitos y
     572procesos de la gestión del componente AC Raíz
     573en un lenguaje de programación.  Para el dise\~no de
     574requisitos se utilizan los diagramas
     575de casos de uso del lenguaje UML, que muestran una
     576primera aproximación de las operaciones
     577que se deben realizar en relación con las entradas dadas
     578por los usuarios. Los actores
     579(usuarios) del caso de uso principal que se muestra en la
     580figura \ref{fig:casodeusoprincipal}
     581son: el Administrador del componente AC, el Administrador
     582del Componente AR, el Administrador
     583del componente PUB, y el actor PSC, quiénes son los que
     584interactúan con la aplicación.
    493585
    494586\begin{figure}[htb]
     
    536628Para modelar la secuencia de acciones que se realizan para cada caso de uso se
    537629utilizan los diagramas de actividades. La figura \ref{fig:diagramaactividades}
    538 muestra el diagrama de actividades generaesl para el caso de uso  ``Emisión de
     630muestra el diagrama de actividades generales para el caso de uso  ``Emisión de
    539631certificados''' del actor Administrador del componente AC. Para este conjunto de
    540632actividades participan cuatro (4) actores: Administrador del PSC, quien entrega los
     
    562654de clases y actividades, generados en la etapa de  diseño. Se traduce  el
    563655diagrama de clases al que se hace referencia en la figura \ref{fig:diagramaactividades}
    564 en un modelo de datos relacional, y se genera un script SQL que genera el mapa de
     656en un modelo de datos relacional, y se genera un guión SQL que genera el mapa de
    565657tablas relacional, donde las tablas representan relaciones tales como usuarios,
    566658clientes, certificados, y las demás entidades que conforman el modelo de datos.
     
    625717Los tipos de tecnologías que deben seleccionarse son: bibliotecas para construir
    626718la interfaz hombre-máquina (HMI por sus siglas en inglés), motor criptográfico,  conexiones con hardware,
    627 interfaces con repositorio de datos y algoritmos de cálculo criptográfico más utilizados.
     719interfaces con repositorio de datos y algoritmos de cálculo
     720criptográfico más utilizados.
    628721
    629722
     
    738831En la etapa de diseño, los diagramas de casos de uso y actividades sirvieron
    739832para obtener una visión formal de los requisitos y de los procesos con los que
    740 la aplicación debe cumplir . Estos documentos de diseño  en el lenguaje UML,
     833la aplicación debe cumplir. Estos documentos de diseño  en el lenguaje UML,
    741834permitieron
    742835alcanzar de manera más rápida y certera los objetivos que son coincidentes con la
     
    769862
    770863
    771 \emph{AC}: Autoridad de Certificación; componente de la PKI encargada de guardar
     864\emph{AC}: Autoridad de Certificación; componente de la PKI encargada de guardar,
    772865de firmar, renovar, revocar las claves de los usuarios o entidades finales.
    773866
     
    784877
    785878\emph{PUB}: Publicador; componente de la PKI encargada de mantener accesibles
    786 los certificados digitales emitidos por la PKI en medios como portales Web o directorios.
     879los certificados digitales emitidos por la PKI en medios como
     880portales Web o directorios.
    787881 
    788882\emph{PKI}: Public Key Infrastructure, Infraestructura de clave pública; es el
    789 conjunto formado por software, hardware, y políticas que asegura en la internet la
     883conjunto formado por software, hardware, y políticas que asegura
     884en la internet la
    790885propiedad de la claves públicas de los usuarios.
    791886
Note: See TracChangeset for help on using the changeset viewer.