Guía de autenticación con GPG
GPG (GNU Privacy Guard) es una implementación de código abierto del estándar OpenPGP. Permite autenticarse en OwnBlock mediante criptografía asimétrica — sin correo electrónico, sin contraseña, sin datos personales.
1. ¿Qué es GPG?
GPG utiliza criptografía de clave pública. Cada usuario posee un par de claves: una clave privada que solo tú conoces y una clave pública que puedes compartir libremente. La clave privada firma mensajes; cualquier persona puede verificar esa firma usando la clave pública correspondiente.
Cada clave tiene un fingerprint — un hash hexadecimal de 40 caracteres que la identifica de forma única. En OwnBlock, tu fingerprint es tu identidad. No está vinculado a ningún dato personal salvo lo que tú mismo incluyeras al generar la clave.
2. Por qué usar GPG para iniciar sesión
- Sin correo electrónico: no necesitas revelar ningún identificador personal.
- Identidad soberana: tu clave GPG existe en tu máquina, no en ningún servidor.
- Prueba criptográfica: cada inicio de sesión es una firma única sobre un desafío de un solo uso — no puede ser reutilizada ni falsificada sin tu clave privada.
- Compatible con hardware: funciona con YubiKey, Nitrokey y otras tarjetas OpenPGP. La clave privada nunca sale del dispositivo.
- Auditable: el protocolo es completamente transparente.
Implicación de privacidad: si generas una clave específica para OwnBlock con un nombre o correo ficticio, no existe ninguna vinculación a tu identidad real. Si reutilizas una clave existente registrada en servidores de claves públicas con tu nombre real, esa asociación es pública.
3. Instalación
Linux (Debian / Ubuntu):
sudo apt install gnupg
Linux (Fedora / RHEL):
sudo dnf install gnupg2
macOS — opción A (Homebrew):
brew install gnupg
macOS — opción B: GPG Suite (interfaz gráfica incluida)
Windows: Gpg4win — instala GnuPG, Kleopatra (GUI) y los plugins necesarios.
Verifica la instalación:
gpg --version
4. Generar tu par de claves
Ejecuta:
gpg --full-generate-key
- Tipo de clave: selecciona
ECC (sign and encrypt)→Curve 25519(Ed25519). Alternativa: RSA con 4096 bits. - Expiración: se recomienda 1-2 años (
1yo2y). Puedes extender la validez antes de que expire. Una clave sin expiración nunca puede invalidarse si pierdes el control sobre ella. - Nombre y correo: puedes usar un seudónimo y omitir el correo electrónico. Si el anonimato es prioritario, no uses datos reales.
- Contraseña (passphrase): obligatoria. Protege la clave privada en disco. Usa una frase larga y aleatoria. Sin ella, cualquier persona con acceso al archivo puede usar tu clave.
5. Obtener tu fingerprint y clave pública
Lista tus claves:
gpg --list-keys --keyid-format LONG
El fingerprint aparece bajo la línea pub como una cadena de 40 caracteres hexadecimales (puede estar separada en grupos de 4). El Key-ID corto (últimos 8 chars) se usa como referencia rápida.
Exporta tu clave pública (esto es lo que pegas en OwnBlock):
gpg --armor --export YOUR_FINGERPRINT
Reemplaza YOUR_FINGERPRINT con tu fingerprint completo sin espacios (40 chars) o con los últimos 8 caracteres del Key-ID.
6. Iniciar sesión en OwnBlock con GPG
- Ve a /login y selecciona la pestaña Clave GPG.
- Introduce tu alias y (si es registro) tu clave pública. Haz clic en Obtener desafío.
- Guarda el payload del desafío en un archivo y fírmalo con el comando de abajo.
- Pega la firma armored (contenido de challenge.json.asc) en el campo de firma.
- Haz clic en Verificar e iniciar sesión.
Firma básica (usa la clave predeterminada):
echo -n 'CHALLENGE_PAYLOAD' > challenge.json gpg --armor --detach-sign challenge.json cat challenge.json.asc
Firma con una clave específica:
echo -n 'CHALLENGE_PAYLOAD' > challenge.json gpg --armor --detach-sign --default-key YOUR_FINGERPRINT challenge.json cat challenge.json.asc
La salida será un bloque -----BEGIN PGP SIGNATURE-----. Copia y pega todo el bloque, incluyendo los encabezados y el pie de firma.
7. Seguridad y copias de respaldo
Genera un certificado de revocación inmediatamente después de crear la clave:
gpg --gen-revoke YOUR_FINGERPRINT > revoke.asc
Guarda revoke.asc en un lugar seguro y offline. Este archivo te permite invalidar la clave si la pierdes o si se ve comprometida.
Respalda tu clave privada:
gpg --armor --export-secret-keys YOUR_FINGERPRINT > private-key-backup.asc
Guarda private-key-backup.asc en un medio offline cifrado (USB encriptado, papel laminado en lugar seguro). NUNCA compartas este archivo.
Sin copia de respaldo de la clave privada Y sin códigos de recuperación, la pérdida de acceso es permanente e irrecuperable. No existe mecanismo de recuperación adicional. Esto es intencional.
Los códigos de recuperación son una segunda capa de respaldo independiente de la clave privada. Si pierdes el acceso a tu clave GPG pero conservas tus códigos de recuperación, aún puedes acceder a tu cuenta. Consulta la sección "Códigos de recuperación" más abajo.
8. Claves hardware (nivel avanzado)
Dispositivos como YubiKey (serie 5 o superior) y Nitrokey implementan la especificación OpenPGP Card. La clave privada se genera dentro del chip y nunca puede exportarse. GPG interactúa con el dispositivo automáticamente mediante el gpg-agent.
El comando de firma es idéntico:
echo -n 'CHALLENGE_PAYLOAD' > challenge.json gpg --armor --detach-sign challenge.json cat challenge.json.asc
El dispositivo solicitará una confirmación táctil (touch) y la firma se produce en hardware. La clave privada nunca está expuesta en memoria.
Para configurar GPG con YubiKey: Documentación oficial de Yubico.
9. Códigos de recuperación
Al crear una cuenta con GPG, OwnBlock genera automáticamente 5 códigos de recuperación. Estos códigos se muestran una única vez en el momento del registro y no pueden recuperarse después.
Cada código tiene el formato: AAAAAAAA-BBBBBBBB-CCCCCCCC-DDDDDDDD (4 grupos de 8 caracteres).
Caso de uso: si pierdes tu clave GPG o el dispositivo donde está almacenada, los códigos de recuperación son la única forma de volver a acceder a tu cuenta.
Después de usar un código de recuperación, ve a Ajustes y genera un nuevo conjunto de 5 códigos.
Sin clave GPG Y sin códigos de recuperación, la cuenta es permanentemente e irrecuperablemente inaccesible. Guarda los códigos de recuperación en un lugar seguro y offline en el momento de la creación de la cuenta.
10. Ciclo de vida de la cuenta
Las cuentas de OwnBlock se eliminan automáticamente tras 7 días de inactividad. El contador de 7 días se reinicia con cada inicio de sesión exitoso — solo afecta a quienes no acceden durante 7 días consecutivos.
Por qué existe esta política: las cuentas de OwnBlock existen exclusivamente para (1) crear órdenes de alquiler de hashrate, (2) gestionar preferencias de notificaciones de Telegram y (3) acceder al servicio de tickets de soporte. No hay perfil social, no hay método de pago guardado, no hay historial más allá de las órdenes activas. Una cuenta inactiva significa que el usuario simplemente no está usando ninguno de estos servicios — mantenerla solo consumiría recursos sin propósito.
Implicación práctica: si vuelves a la plataforma después de más de 7 días sin iniciar sesión, deberás crear una cuenta nueva. Puedes usar la misma clave GPG — solo necesitarás elegir un nuevo alias.