Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
key-transparency-auditor — Obtiene continuamente y verifica criptográficamente las actualizaciones del registro de transparencia de claves, mantiene un prefijo condensado y una vista de árbol del registro, y devuelve cabezas de árbol firmadas cuando las actualizaciones son válidas. | Kitploit
Herramientas/GitHubGitHub/signalapp/key-transparency-auditor
Herramientas DefensivasCriptografíaAnálisis de Registros
GitHubsignalapp/key-transparency-auditor

key-transparency-auditor

Obtiene continuamente y verifica criptográficamente las actualizaciones del registro de transparencia de claves, mantiene un prefijo condensado y una vista de árbol del registro, y devuelve cabezas de árbol firmadas cuando las actualizaciones son válidas.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
8545hace 2 mesesAún no revisado
key-transparency-auditor
========================

Una implementación de referencia de un auditor de terceros para el servicio de transparencia de claves de Signal, basada en la especificación de [transparencia de claves](https://bren2010.github.io/draft-key-transparency/draft-mcmillion-key-transparency.html).

Descripción general
--------

Este servicio está escrito en Java utilizando el framework [Micronaut](https://docs.micronaut.io/4.4.10/guide/). Para compilar y ejecutar las pruebas unitarias, ejecuta

```shell
./mvnw clean test
```
en el directorio raíz.

La clase principal es [`Auditor`](https://github.com/signalapp/key-transparency-auditor/blob/main/src/main/java/org/signal/keytransparency/audit/Auditor.java), que ejecuta un trabajo programado que solicita un
flujo de actualizaciones al servicio de transparencia de claves. Mantiene una vista condensada del [árbol de prefijos](https://bren2010.github.io/draft-key-transparency/draft-mcmillion-key-transparency.html#name-prefix-tree)
y del [árbol de registro](https://bren2010.github.io/draft-key-transparency/draft-mcmillion-key-transparency.html#name-log-tree) del servicio de transparencia de claves,
almacenando únicamente la información suficiente para verificar y aceptar cada actualización de forma secuencial. Si el auditor ha procesado un cierto número de actualizaciones o ha transcurrido un cierto tiempo, el auditor envía de vuelta una 
[cabecera de árbol firmada](https://bren2010.github.io/draft-key-transparency/draft-mcmillion-key-transparency.html#name-tree-head-signature)
al servicio de transparencia de claves, lo que indica que su vista de los árboles de prefijos y de registro hasta la actualización dada coincide. 
Si la llamada remota tiene éxito, el auditor escribe sus datos de estado en un [`AuditorStateRepository`](https://github.com/signalapp/key-transparency-auditor/blob/main/src/main/java/org/signal/keytransparency/audit/storage/AuditorStateRepository.java),
que puede utilizar para reanudar desde su posición más reciente en el registro de transparencia de claves si el auditor se reinicia.

Si el auditor encuentra una inconsistencia al verificar una actualización, lanza una `InvalidProofException` y deja
de enviar cabeceras de árbol firmadas al servicio de transparencia de claves.

Configuración
-------------

El servicio necesita los beans `Auditor`, `KeyTransparencyServiceClient` y `AuditorStateRepository` para ejecutarse.
La tabla siguiente describe la [configuración](https://docs.micronaut.io/latest/guide/#configurationProperties) y las [propiedades](https://docs.micronaut.io/latest/guide/#valueAnnotation) necesarias para instanciar esos beans.


| Property                                              | Required?                                      | Description                                                                                                                                                                                                                                                                                 |
|-------------------------------------------------------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `auditor.private-key`                                 | sí                                            | Una clave privada Ed25519 con formato PKCS#8 codificada en base64 estándar y utilizada para firmar la cabecera de árbol enviada de vuelta al servicio de transparencia de claves. Puede generarse mediante `openssl genpkey -algorithm ed25519` y descartando la cabecera y el pie PEM.                                             |
| `auditor.public-key`                                  | sí                                            | Una clave pública Ed25519 con formato X509 codificada en base64 estándar que es la contraparte de `auditor.private-key`.                                                                                                                                                                            |
| `auditor.key-transparency-service-signing-public-key` | sí                                            | Una clave pública Ed25519 con formato PKCS#8 codificada en base64 estándar y utilizada por los clientes para verificar la firma del servicio de transparencia de claves sobre la cabecera de árbol.                                                                                                                                 |
| `auditor.key-transparency-service-vrf-public-key`     | sí                                            | Una clave pública Ed25519 con formato PKCS#8 codificada en base64 estándar y utilizada por los clientes para verificar que la entrada de una [función aleatoria verificable](https://www.rfc-editor.org/rfc/rfc9381.html) (clave de búsqueda solicitada) coincide con la salida (índice de compromiso utilizado para recorrer el árbol de prefijos). |
| `auditor.client-certificate`                          | sí                                            | Un certificado con formato PKCS#8 codificado en PEM utilizado para demostrar la identidad del cliente durante TLS mutuo.                                                                                                                                                                                           |
| `auditor.client-private-key`                          | sí                                            | Una clave privada con formato PKCS#8, codificada en PEM, utilizada para verificar la propiedad del certificado de cliente durante TLS mutuo.                                                                                                                                                                           |
| `auditor.batch-size`                                  | sí                                            | El número máximo de actualizaciones que el servicio de transparencia de claves debe devolver en una única respuesta. Este valor debe ser menor o igual que 1000.                                                                                                                                        |
| `auditor.interval`                                    | no                                             | El intervalo de tiempo con el que debe ejecutarse el trabajo del auditor para procesar las actualizaciones de transparencia de claves. El valor predeterminado es 1 minuto.                                                                                                                                                                            |
| `auditor.signature.interval`                          | no                                             | El intervalo con el que el auditor debe enviar una cabecera de árbol firmada al servicio de transparencia de claves, en duración. El valor predeterminado es 1 hora.                                                                                                                                                          |
| `auditor.signature.page-size`                         | no                                             | El intervalo con el que el auditor debe enviar una cabecera de árbol firmada al servicio de transparencia de claves, en número de actualizaciones. El valor predeterminado es 1.000.000.                                                                                                                                              |
| `auditor.key-transparency-host`                       | sí                                            | El nombre de host del servicio de transparencia de claves.                                                                                                                                                                                                                                               |
| `auditor.key-transparency-port`                       | sí                                            | El puerto al que conectarse para el servicio de transparencia de claves.                                                                                                                                                                                                                                    |
| `storage.dynamodb.region`                             | Debe especificarse exactamente un `storage.<type>` | La región de AWS de la tabla de DynamoDB utilizada para almacenar el estado del auditor.                                                                                                                                                                                                                           |
| `storage.dynamodb.table-name`                         | Debe especificarse exactamente un `storage.<type>` | El nombre de la tabla de DynamoDB utilizada para almacenar el estado del auditor.                                                                                                                                                                                                                                 |
| `storage.file.name`                                   | Debe especificarse exactamente un `storage.<type>` | El nombre del archivo utilizado para almacenar el estado del auditor.                                                                                                                                                                                                                                           |

Contribución de informes de errores
------------------------

Utilizamos [GitHub][github issues] para el seguimiento de errores. Los problemas de seguridad deben enviarse a <a href="mailto:[email protected]">[email protected]</a>.

Ayuda
----

No podemos proporcionar soporte técnico directo. Obtén ayuda para ejecutar este software en tu propio entorno en nuestro [foro comunitario no oficial][community forum].

Licencia
-------

Copyright 2025 Signal Messenger, LLC

Licenciado bajo la AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html


[github issues]: https://github.com/signalapp/key-transparency-auditor/issues
[community forum]: https://community.signalusers.org
Descargar herramienta