Jueves, 25/04/2024, 17:05:33
Universidad de Londres - Informática
 
Menú del sitio

Asignaturas

Recursos

Visitas

Estadística

Total en línea: 1
Invitados: 1
Usuarios: 0

Inicio » 2011 » Septiembre » 30 » SEGURIDAD EN JAVA
10:26:12
SEGURIDAD EN JAVA


Equipo: 3
Tlatelpa Peña Iván Daniel
Fuentes Lozano Omar Javier
Vick Albarrán Alonso Isaac
FUENTE: http://www.uv.es/sto/cursos/seguridad.java/html/sjava.html

SEGURIDAD EN JAVA
Herramientas de seguridad
Java 2 incluye una serie de herramientas de seguridad que simplifican la gestión de la misma por parte de los usuarios.
keytool
La herramienta keytool se emplea para gestionar un almacén de claves (keystore), entre otras cosas permite:
1. Crear pares de claves (pública y privada).
2. Emitir solicitudes de certificados (que se envían al CA apropiado).
3. Importar replicas de certificados (obtenidos del CA contactado).
4. Designar claves públicas de otros como de confianza.
El almacen de claves es una base de datos protegida que contienen claves y certificados para un usuario o grupo de usuarios. El acceso al mismo está protegido por un sistema de contraseñas y además, cada clave privada puede protegerse con una contraseña individual.
jar
La herramienta jar se emplea para crear archivos JAR.
El formato JAR permite reunir multiples ficheros (clases, imágenes, textos) en un único archivo. Cuando se desea firmar una aplicación o applet se usa el programa jar para empaquetarla y luego se firma el resultado usando el programa jarsigner.
jarsigner
La herramienta jarsigner se emplea para firmar y validar la firma de archivos JAR.
La herramienta jarsigner emplea el almacen de claves que crea y gestiona el programa keytool para buscar las claves privadas y certificados que necesita para firmar archivos JAR.
Como los accesos al almacen de claves y a las claves privadas están protegidos con contraseña, sólo los usuarios que los conozcan podrán acceder a las claves para firmar archivos JAR.
policytool
La herramienta policytool se emplea para crear y modificar los archivos de configuración de políticas. La herramienta tiene una interfaz gráfica cómoda para trabajar con estos ficheros, lo que la hace preferible a la edición manual.

El gestor de seguridad
Actualmente, todo el código del sistema del JDK invoca métodos del Gestor de seguridad para determinar la politica de seguridad activa y realizar verificaciones de control de acceso.
Por defecto, cuando se ejecutan applets siempre se carga una implementación del gestor de seguridad, pero cuando se lanzan aplicaciones esto no es así. Si el usuario desea que se instale uno debe invocar la máquina virtual definiendo la propieda java.security.manager:
java -Djava.security.manager NomApp
o la aplicación debe invocar el método setSecurityManager de la clase java.lang.System para instalar un gestor.
Si se le asigna valor a la propiedad java.security.manager se instalará el gestor de seguridad especificado:
java -Djava.security.manager=iti.GestorSeguridad NomApp
Un aspecto muy importante del gestor de seguridad es que una vez cargado no se puede reemplazar, de modo que ni las applets ni las aplicaciones pueden instalar el suyo cuando el usuario (applicaciones) o el sistema (applets) ya han cargado uno.
Por último hay que señalar que el gestor de seguridad está muy relacionado con la clase AccessControler: la clase SecurityManager representa el concepto de un punto central de control de acceso, mientras que la clase AccessControler implementa un algoritmo concreto de control de acceso con características especiales como el método doPrivileged().
En versiones del JDK anteriores a la 1.2, los programadores redefinian el gestor de seguridad cuando necesitaban métodos de control de acceso específicos, pero ahora el método adecuado para hacer esto es emplear el AccessController.

Mecanísmos de seguridad
Java fue diseñado para ofrecer las siguientes medidas de seguridad básicas:
• Uso de un lenguaje de programación seguro. El lenguaje de programación Java está diseñado para ser seguro, como hemos comentado en el apartado anterior.
• Integración de un sistema de control de permisos para los programas. Java define un mecanismo (denominado mecanismo del cajón de arena) que permite controlar que se le permite hacer a un programa y controlar como accede a los recursos.
• Encriptación y uso de certificados. Se definen mecanísmos para que los programadores puedan firmar el código, de manera que los usuarios puedan verificar quien es el propietario del código y que este no ha sido modificado despues de ser firmado.
La seguridad se basa en tres componentes fundamentales del entorno de ejecución:
1. El cargador de clases (Class Loader), que determina como y cuando pueden cargar código los programas y garantiza que los componentes del sistema no han sido reemplazados.
2. El verificador de archivos de clases (Class file verifier), que garantiza que el código tiene el formato correcto, que el bytecode no viola las restriciones de seguridad de tipos de la JVM, que las pilas internas no puedan desbordarse ni por arriba ni por abajo y que las instucciones en bytecode tengan parámetos de tipos correctos.
3. El gestor de seguridad (Security Manager), que controla el acceso a los recursos en tiempo de ejecución. Los recursos sobre los que tiene control son multiples: E/S de red y ficheros, creación de cargadores de clases, manipulación de hilos de ejecución, ejecución de programas externos (del SO), detener la JVM, cargar código nativo en la máquina virtual, realizar determinadas operaciones en el entorno de ventanas o cargar ciertos tipos de clases.
Categoría: Blog de resùmenes - Sistemas multiplataforma | Visiones: 929 | Ha añadido: pato | Ranking: 3.0/1
Total de comentarios: 6
6 pato  
0

5 oscar  
0
muy buena copia pero si esta completo 4 estrellas y media pero como no se puede la media se las debo

4 han  
0
QUE CHOWWWW GABY!! SE VE QUE NADAMAS ANDAS DE PENDEJO!

3 noealejandro  
0
Interesante aporte. Atiende la seguridad que ofrece Java desde una perspectiva muy amplia, aunque en lo particular me interesa más la última parte de la publicación. Ya quiero escucharlos en su explicación del tema biggrin

2 Carlos  
0
Buen aporte, esta completo y da ejemplos de cada concepto...
4 estrellas

1 gabriel  
0
se ve que nada mas copiaron y pegaron .l.

Solamente los usuarios registrados pueden añadir los comentarios.
[ Registrarse | Entrada ]
Buscar

Foro PE
  • Clase en línea - miércoles 9 (4)
  • Tarea 2 (6)
  • ¿Qué es obo? (2)

  • Foro DSM
  • TEMAS A DESARROLLAR POR EQUIPO (13)
  • Servicios Web XML o Web Services (1)
  • RMI (Java Remote Method Invocation) (0)

  • Compartir en

    Mini-chat
    200

    Copyright MyCorp © 2024Crear un sitio web gratis con uCoz