Changeset 385f126 in libros
- Timestamp:
- Oct 16, 2014, 8:55:14 AM (10 years ago)
- 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)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
maquetacion/capitulo5/capitulo5.tex
r65b942d r385f126 29 29 30 30 %\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 31 Una Autoridad de Certificación Raíz (AC Raíz) es un componente que 32 tiene el rol de ser el 33 punto más alto de confianza en una ICP. Una ICP genera certificados 34 electrónicos de acuerdo al 34 35 estándar X.509 proporcionando seguridad lógica, y vinculación 35 36 legal a las transacciones que realiza el titular del certificado en 36 37 la 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. 38 seguridad física y lógica, de la clave privada que permite la 39 generación de estos certificados. 38 40 39 41 Este 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. 42 una Autoridad de Certificación Raíz utilizando bibliotecas, herramientas, 43 compiladores, sistemas operativos y licencias compatibles con 44 los principios del software libre. 42 45 En primer lugar, se determinan los requisitos a ser satisfechos en función de una 43 46 descripción general de las funciones y características de una Autoridad de … … 45 48 requisitos, con el objetivo de producir una visión formal de los procesos a 46 49 automatizar. 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. 50 en la codificación en un lenguaje de programación 51 de los procesos previstos en las etapas anteriores, como 52 también, de la incorporación de mecanismos fuertes de 53 validación de identidad de usuarios, registro de eventos, 54 firma de acciones por parte de los administradores de la aplicación, y 55 especificación de conexiones con hardware especializado, como tarjetas 56 inteligentes. Finalmente, se describe el despliegue y 57 configuración de la aplicación, que involucra la instalación 58 en un ambiente seguro (bóveda o centro de datos) y el enlace de la AC Raíz con 59 los demás componentes de la infraestructura. 56 60 57 61 … … 87 91 88 92 \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 93 permite que cualquier persona, empresa, institución, 94 o administración realice transacciones 90 95 gubernamentales, comerciales o personales en la mayoría de los casos, tal cual, 91 96 como se realizarían en una oficina o espacio físico de forma presencial. Dado este 92 97 hecho, 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}. 98 que es necesario trasladar el concepto de ``identidad'' 99 al medio digital\cite{NIC:03}. 94 100 La criptografía provee algoritmos y mecanismos para construir este concepto 95 101 en la red, ya que es posible utilizar herramientas que aporten elementos para … … 97 103 la que se está familiarizado en el mundo real. 98 104 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. 105 En muchas ocasiones para realizar actividades cotidianas personales 106 o de trabajo, se debe establecer contacto con un individuo u organización 107 que no se conoce o del cuál no se tiene ninguna referencia. Mediante un 108 contacto personal o directo, los sentidos humanos permiten percibir 109 un gran número de detalles que le caracterizan, y cuya combinación 110 muy probablemente le hace irrepetible. Esta combinación permite 111 identificar al individuo de forma única y certera. Dicho esto, 112 la identidad se define como el reconocimiento que se hace de las 113 credenciales físicas o informativas, que ese individuo ofrece para 114 que se le acepte como poseedor de una determinada individualidad 115 \cite{STAL:03}. Las credenciales físicas pueden ser documentos como 116 la Cédula de Identidad, el Pasaporte, la Licencia de Conducir, 117 entre otros. Todos los documentos citados generalmente incluyen una 118 fotografía que permite la comparación con la apariencia del interlocutor; 119 también usualmente se agrega otra característica informativa que puede 120 ser un nombre, una firma manuscrita y posiblemente un número de referencia. 113 121 114 122 Cuando se traslada el concepto de identidad al medio informático, se habla de 115 123 identidad 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 124 información binaria. Por otro lado, la criptografía, por sí misma 125 no proporciona este concepto: es el uso de una infraestructura 126 computacional que utiliza algoritmos criptográficos para representar 127 credenciales digitales, como por ejemplo el certificado 128 electrónico, y que son otorgados por terceros de confianza, 129 denominados Autoridades de Certificación (AC), y que se describen 130 como Raíz cuando son el punto inicial de una jerarquía, las que 131 proveen a usuarios y organizaciones de identidad digital, y que 122 132 cuenta con las mismas connotaciones que tiene este concepto en el ámbito personal 123 133 y jurídico. … … 129 139 La discusión de importantes aspectos que surgen en las diferentes etapas del 130 140 proceso 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 141 los principios del software libre y los requisitos muy particulares del ambiente 133 142 de despliegue, subrayan los objetivos propuestos de este trabajo. 134 143 … … 137 146 Con el objetivo de contextualizar los términos ``identidad'', ``confianza'', o 138 147 ``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. 148 relación con la Internet; es imprescindible en una primera aproximación, 149 discutir sobre 150 determinados temas y conceptos vinculados con la seguridad informática. 151 En los párrafos 152 siguientes se abordan brevemente algunos de los puntos más importantes 153 relacionados con el tema. 142 154 143 155 \subsection{Seguridad Informática} 144 156 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 157 Se ha llegado a un consenso sobre lo que significa seguridad 158 informática \cite{STAL:03}. 159 En general, se dice que un activo de información, (información 160 digital con un valor 161 real para una empresa o persona) está asegurado si cumple con 162 niveles aceptables 148 163 relativos a su valor potencial en los siguientes aspectos: 149 164 \\ \\ … … 156 171 \\ \\ 157 172 \textbf{Confidencialidad:} es el aspecto de la seguridad que permite mantener en 158 secreto la información y s olo los usuarios autorizados pueden manipularla.173 secreto la información y sólo los usuarios autorizados pueden manipularla. 159 174 Igual 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 175 programas. Para evitar que ninguna persona no autorizada pueda tener acceso 176 a la información transferida y que recorre la red se utilizan técnicas de 177 cifrado o codificación de 162 178 datos. 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 179 confidencialidad de la información que se está manejando, para así evitar 180 un esfuerzo 164 181 suplementario a la hora de decodificar una información previamente codificada. 165 182 \\ \\ 166 183 \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 184 entidades autorizadas no sea modificada por un tercero no autorizado. 185 Un mecanismo 168 186 para 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 187 Mediante una firma electrónica se codifican los mensajes 188 a transferir, de forma que una 189 función, denominada hash \cite{ACE:03}, calcula un resumen de 190 dicho mensaje y se 191 le añade. La validación de la integridad del mensaje se realiza 192 aplicándole al original la 193 misma función y comparando el resultado con el resumen que se 194 añadió al final cuando 173 195 se calculó por primera vez antes de enviarlo. 174 196 Mantener la integridad es importante para verificar que en el tiempo de viaje por … … 177 199 178 200 \subsection{Criptografía} 179 La criptografía es la ciencia o arte de ocultar información utilizando técnicas matemáticas 201 La criptografía es la ciencia o arte de ocultar información 202 utilizando técnicas matemáticas 180 203 que hagan posible el intercambio de mensajes de manera que sólo puedan ser leídos 181 204 por las personas o usuarios autorizados \cite{STAL:03}. La criptografía ha tomado 182 205 gran 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 207 comprendidos por una computadora. 208 Se puede clasificar la criptografía en dos tipos, según el tipo 209 de clave que se utilice: 210 211 \textbf{Criptografía Simétrica:} los sistemas de criptografía 212 simétrica son aquellos 213 que utilizan una única clave para cifrar y descifrar un texto 214 claro. Este tipo de 188 215 sistema conlleva una desventaja, que consiste en el conocimiento de las partes 189 216 (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 217 por un canal seguro. Como respuesta a ello, se hace necesario 218 formalizar un procedimiento 191 219 que muestre a las partes autorizadas la información sobre la clave, sin que sea 192 220 develada a un tercero no autorizado. … … 194 222 \textbf{Criptografía Asimétrica:} también se conoce como Sistema de Cifrado 195 223 de 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 se197 denomina Clave Privada que es secreta,y no debe ser revelada. A diferencia del224 Clave Pública que puede ser enviada a cualquier persona y otra que se 225 denomina Clave Privada, que es secreta y no debe ser revelada. A diferencia del 198 226 sistema de cifrado simétrico donde las partes deben concertar un procedimiento 199 227 para conocer la clave única, en este tipo de sistema el remitente usa la clave … … 204 232 \subsection{Certificados electrónicos} 205 233 206 Un certificado electrónico es un documento de acreditación que permite a las partes 234 Un certificado electrónico es un documento de 235 acreditación que permite a las partes 207 236 tener confianza en las transacciones que realicen en internet. Por tanto, 208 237 garantiza la identidad de su poseedor mediante un sistema de claves administrado 209 238 por 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). 239 la clave pública de la tercera parte conocida 240 como la Autoridad de Certificación (AC). 211 241 Para 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. 242 autoridad de confianza, la AC debe crear un certificado 243 con su propia información de 244 identidad y a la vez su clave pública y firmar el certificado, 245 este certificado se le conoce como certificado autofirmado. 215 246 Dado 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. 247 tengan acceso a ellos, pueden hacerse copias del 248 certificado %de acuerdo sea necesario. 217 249 para su distribución. 218 Los certificados electrónicos permiten varias cosas, entre ellas se pueden citar que los 250 Los certificados electrónicos permiten varias cosas, entre ellas 251 se pueden citar que los 219 252 usuarios 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. 253 destinatarios pueden comprobar la autenticidad del 254 correo electrónico confidencial; 255 que los compradores pueden estar seguros de que un sitio web 256 es legítimo; y por último, 257 controla el acceso a bancos y comercios en línea, así como 258 las intranets y extranets. 223 259 224 260 \subsection{Estándar X.509} 225 261 226 262 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 263 X.509 y X.500 fueron originalmente dise\~nados a 264 mediados de los a\~nos 80, antes 265 del enorme crecimiento de usuarios en la Internet. 266 Es por esto que se 267 dise\~naron para operar en un ambiente donde sólo los 268 computadores se interconectaban 230 269 intermitentemente 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) 270 lista estandarizada denominada lista de revocación de certificados 271 (CRL por sus siglas en inglés) 232 272 que contiene la información referente a certificados que han sido revocados. 233 273 … … 241 281 Con la utilización de la tecnología de certificados electrónicos se provee a los 242 282 clientes (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, 283 autenticación y autorización, ya que se le otorga al cliente 284 algo que puede poseer, 244 285 incluso incluir dentro de un elemento físico, como una tarjeta inteligente. 245 286 Los 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} 287 como su nombre, dirección, correo electrónico, etc. 288 La figura \ref{fig:estandarx509} 247 289 muestra un bosquejo de la especificación del estándar X.509 versión 3. 248 290 … … 270 312 271 313 \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):} 273 316 Permite incorporar el protocolo SSL a un servidor web con el objetivo que 274 317 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 276 320 la autenticación fuerte, es decir, que el servidor puede exigir certificados 277 321 personales de navegación a los usuarios para acceder a determinadas carpetas, … … 279 323 y contrase\~nas para la identificación de los usuarios. 280 324 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 326 navegación):} Un certificado electrónico 327 personal es la herramienta necesaria para navegar, comprar y 328 enviar o recibir correo a través de la Internet, de una manera 329 segura. Con el uso de este certificado se pueden 330 firmar o cifrar los mensajes de correo para tener la seguridad 331 que el receptor será 332 el único lector de nuestro mensaje. Se puede aumentar la 333 seguridad y confianza entre el 334 cliente y el servidor web, al autenticarse también al usuario, 335 esto también va a permitir 336 a las empresas la posibilidad de personalizar los contenidos 337 a un usuario concreto, 338 con la certeza que otros usuarios no podrán ver dicho contenido, 339 tales como información 291 340 confidencial, ofertas especiales, entre otros. 292 341 293 342 \item \textbf{Certificado para firma de código:} El certificado para la firma de 294 343 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 296 346 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 298 349 de una empresa determinada. Con ello se evitan los problemas causados por la 299 350 suplantación de identidad y la distribución de objetos da\~ninos o perjudiciales 300 351 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 355 que la firma electrónica 303 356 no corresponde con la del software modificado. 304 357 \end{itemize} … … 312 365 de símbolos y diagramas en donde se plasman las ideas de funcionalidad. 313 366 El 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 367 1997\cite{SCHM:03},\cite{BOOC:99} y \cite{MULL:97}. Cada diagrama 368 tiene fines distintos 315 369 dentro 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 370 de un sistema. La clave está en organizar el proceso 371 de diseño de tal forma que los analistas, 372 clientes, desarrolladores y otras personas involucradas 373 en el desarrollo del modelo 318 374 lo comprendan y convengan con él. Los diagramas que componen el lenguaje son: 319 375 … … 330 386 \end{itemize} 331 387 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 388 En este trabajo se utilizaron esencialmente los 389 diagramas de clases, los diagramas de 390 casos de uso y los diagramas de actividades, que se 391 describen brevemente a continuación: 392 393 \textbf{Diagramas de clases:} son representaciones gráficas 394 de las categorías en que 395 pueden clasificarse los objetos del mundo real. En general, 396 se hace una descripción 337 397 de las categorías que se utilizan en la aplicación a desarrollar. Las clases se 338 398 dise\~nan en función de sus atributos y relaciones con otras clases. 339 399 340 400 \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 401 realizar el usuario en el sistema \cite{SCHM:03}. 402 Por ejemplo: Usuario que tiene la 342 403 necesidad de expedir un certificado electrónico a una AC de confianza. 343 404 … … 345 406 \textbf{Diagramas de actividades:} muestran el flujo de actividades que ocurren 346 407 dentro 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. 408 Por ejemplo, las actividades que se realizan 409 para expedir un certificado electrónico. 348 410 349 411 \subsection{Software Libre} … … 357 419 y por último 4) la Libertad de mejorar el programa y publicar las mejoras. 358 420 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 421 Las libertades antes expuestas, proveen muchos beneficios 422 a los usuarios finales. 423 En particular, en el área de seguridad informática. Se pueden 424 nombrar entre los 425 beneficios más importantes: la no dependencia de un único 426 fabricante, y la posibilidad 362 427 de realizar auditorías y pruebas exhaustivas por parte de terceros, que pueden 363 428 ser personas, empresas o instituciones diferentes responsables del proyecto … … 378 443 y la aplicación estricta de políticas para los procesos de registro, publicación, 379 444 firma, renovación y revocación de certificados. 380 El tercero de confianza se denomina Infraestructura de Clave Pública (ICP) \cite{NASH:02}, 445 El tercero de confianza se denomina Infraestructura 446 de Clave Pública (ICP) \cite{NASH:02}, 381 447 y consiste en la combinación de hardware y software, políticas y procedimientos 382 448 que 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 449 usando criptografía de clave pública. Una ICP debe proporcionar 450 los tres conceptos de 384 451 seguridad mencionados anteriormente. 385 452 … … 418 485 Este modelo de establecimiento de relaciones de confianza, es necesario entre 419 486 mú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 488 en una sola AC, algo que haría 421 489 imposible el manejo de estabilidad, administración y protección. El objetivo 422 490 es que las entidades finales que utilizan identidades creadas por una AC puedan 423 491 confiar en ellas, aunque dichas partes tengan una autoridad expedidora 424 diferente. 492 diferente. 425 493 426 494 … … 444 512 445 513 Se 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. 514 una AC Raíz y una AC de un Proveedor de 515 Servicios de Certificación (PSC). La diferencia 516 principal entre estos dos tipos de AC, es la cantidad 517 de certificados que deben gestionar 518 (firmar, renovar, revocar, etc.) , en un determinado 519 periodo cada uno de ellos. 449 520 Esto 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. 521 AC Raíz solo gestiona un número mínimo de certificados, 522 los cuáles sirven para dar inicio a 523 la jerarquía (certificados otorgados a los PSC), por el 524 contrario, una AC de un PSC debe 525 gestionar un número mucho mayor de certificados, ya que 526 la función de este nodo es 527 entregar certificados periódicamente a usuarios, 528 también llamados entidades finales. 454 529 455 530 La 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 531 características particulares, que tienen que ver con los niveles 532 y elementos de seguridad 457 533 tanto físicos como lógicos que deben considerarse en la gestión del componente. 458 534 Por ejemplo, la desconexión de red del equipo donde se ejecuta la aplicación de … … 462 538 463 539 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. 540 La conexión de la aplicación con hardware especializado, 541 como el Módulo de Seguridad en Hardware 542 (HSM por sus siglas en inglés) que permite generar y almacenar 543 claves o las tarjetas inteligentes, 544 es un factor que debe considerarse en el momento de 545 enumerar las funciones iniciales del software de gestión. 546 547 La selección del sistema operativo Linux \cite{SARW:03} para 548 desplegar la aplicación, 549 ya que cumple con los principios del software libre, y cuenta 550 con gran número de 551 herramientas en el área de programación \cite{KURT:01}, es 552 un requisito no funcional que se establece en esta etapa. 553 554 Considerando los aspectos nombrados anteriormente, 555 en este punto se elabora una lista 556 inicial de requisitos, con la cual debe cumplir 557 la aplicación. Como técnicas utilizadas 558 en esta etapa están la realización de entrevistas 559 a clientes, a posibles administradores 560 y operadores; así como la elaboración de tablas 561 comparativas entre diferentes aplicaciones que 562 existen en las bibliotecas o portales de software libre, con 563 la finalidad de evaluar las herramientas a utilizar en la 564 elaboración de la aplicación. 481 565 482 566 483 567 \subsection{Dise\~no} 484 568 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. 569 La etapa de dise\~no consiste en elaborar diagramas 570 formales que permitan en la etapa 571 de implementación la representación de requisitos y 572 procesos de la gestión del componente AC Raíz 573 en un lenguaje de programación. Para el dise\~no de 574 requisitos se utilizan los diagramas 575 de casos de uso del lenguaje UML, que muestran una 576 primera aproximación de las operaciones 577 que se deben realizar en relación con las entradas dadas 578 por los usuarios. Los actores 579 (usuarios) del caso de uso principal que se muestra en la 580 figura \ref{fig:casodeusoprincipal} 581 son: el Administrador del componente AC, el Administrador 582 del Componente AR, el Administrador 583 del componente PUB, y el actor PSC, quiénes son los que 584 interactúan con la aplicación. 493 585 494 586 \begin{figure}[htb] … … 536 628 Para modelar la secuencia de acciones que se realizan para cada caso de uso se 537 629 utilizan los diagramas de actividades. La figura \ref{fig:diagramaactividades} 538 muestra el diagrama de actividades genera eslpara el caso de uso ``Emisión de630 muestra el diagrama de actividades generales para el caso de uso ``Emisión de 539 631 certificados''' del actor Administrador del componente AC. Para este conjunto de 540 632 actividades participan cuatro (4) actores: Administrador del PSC, quien entrega los … … 562 654 de clases y actividades, generados en la etapa de diseño. Se traduce el 563 655 diagrama de clases al que se hace referencia en la figura \ref{fig:diagramaactividades} 564 en un modelo de datos relacional, y se genera un scriptSQL que genera el mapa de656 en un modelo de datos relacional, y se genera un guión SQL que genera el mapa de 565 657 tablas relacional, donde las tablas representan relaciones tales como usuarios, 566 658 clientes, certificados, y las demás entidades que conforman el modelo de datos. … … 625 717 Los tipos de tecnologías que deben seleccionarse son: bibliotecas para construir 626 718 la 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. 719 interfaces con repositorio de datos y algoritmos de cálculo 720 criptográfico más utilizados. 628 721 629 722 … … 738 831 En la etapa de diseño, los diagramas de casos de uso y actividades sirvieron 739 832 para obtener una visión formal de los requisitos y de los procesos con los que 740 la aplicación debe cumplir 833 la aplicación debe cumplir. Estos documentos de diseño en el lenguaje UML, 741 834 permitieron 742 835 alcanzar de manera más rápida y certera los objetivos que son coincidentes con la … … 769 862 770 863 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, 772 865 de firmar, renovar, revocar las claves de los usuarios o entidades finales. 773 866 … … 784 877 785 878 \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. 879 los certificados digitales emitidos por la PKI en medios como 880 portales Web o directorios. 787 881 788 882 \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 883 conjunto formado por software, hardware, y políticas que asegura 884 en la internet la 790 885 propiedad de la claves públicas de los usuarios. 791 886
Note: See TracChangeset
for help on using the changeset viewer.