Registro seguro en java

Tomando el segundo requisito primero, para proporcionar protección de integridad, debe firmar los mensajes de registro o generar un HMAC de los mensajes. Eso a su vez requiere que la aplicación tenga acceso a una clave privada para firmar o una clave simétrica para generar códigos de autenticación.

Eso , a su vez, significa que debe limitar el acceso a su aplicación para que no se pueda extraer la clave. Esto significa que ha pasado de confiar en el control de acceso en el archivo de registro a confiar en el control de acceso en su aplicación. El acceso comprometido a la aplicación aún permite que terceros modifiquen su archivo de registro de una manera 'compatible'.

Posiblemente, dependiendo de la estructura de su aplicación y de cómo se implemente, usar los Controles de acceso obligatorios en el archivo de registro para que solo se agregue a los usuarios de la aplicación, para mitigar la posibilidad de alterar o eliminar mensajes existentes . Además, puede realizar copias de seguridad periódicas del archivo de registro y comparar el contenido para asegurarse de que no se haya cambiado ni eliminado nada entre las copias de seguridad. Esto supone que el acceso a sus copias de seguridad también está controlado: un tercero que puede alterar sus copias de seguridad puede alterar sus archivos de registro de manera indetectable.

No mencionó si la aplicación está en un servidor, computadora de escritorio o teléfono inteligente, por lo que los detalles de dicho control de acceso no están dentro del alcance de esta respuesta.

En cuanto a garantizar que un mensaje se haya escrito con éxito antes de que la aplicación continúe, log4j de Apache contiene apéndices que admiten este MO (simplemente no los envuelva en AsyncAppender...)

Respuesta 1

He escrito dos programas. Ahora cada programa usa subprocesos para enviar y recibir paquetes al mismo tiempo. Cada vez que envío paquetes desde el servidor al cliente, el mensaje en el cliente termina ...

Aquí hay un código recortado de mi problema: Proceso proceso = Runtime.getRuntime (). Exec (comando); if (process.waitFor ()! = 0) arroja una nueva excepción ("error"); lector = nuevo ...

Estoy implementando un servicio web SOAP que recibe diferentes solicitudes. ¿Debería mi clase Manager transformar los objetos de esta Solicitud en una representación interna antes de delegarlos a la implementación ...

Quiero trazar 4 líneas en un conjunto de datos pero no puedo. ¿Podría alguien decirme qué libs necesita en jfree y cómo puedo implementarlas en 1 gráfico public void visualize () {// visualizar datos de la serie XYSeries ...