Español

Herramientas de desarrollo · Calculadora de hash SHA

Pegar secretos en herramientas hash en línea: por qué el resumen debería ser local

· Por qué es importante

sha-256 seguridad privacidad APIS del navegador

El panel de red de DevTools muestra cero solicitudes mientras se aplica hash a una clave API localmente
Ilustración de vector original de ToolAcre

Si una herramienta hash envía su información a su servidor, el secreto que estaba procesando ya salió de su máquina. Esta publicación explica el riesgo, cómo Web Crypto hace que un servidor sea innecesario y cómo verificar que una herramienta sea local.

La clave API que has utilizado para compararla con un archivo de configuración y adónde fue

Un desarrollador necesita codificar una clave API para compararla con un valor almacenado en la configuración, de modo que busque la herramienta hash en línea más cercana. Pegan la clave, hacen clic en el botón y obtienen el resumen. El hash coincide, por lo que la prueba pasa. Lo que probablemente no se dan cuenta es que la clave API ya salió de su máquina. Cualquier herramienta hash que se ejecute en un servidor recibe la entrada de texto sin formato antes de calcular cualquier resumen. El servidor puede registrarlo, almacenarlo, venderlo o reenviarlo a la competencia.

El engaño es sutil porque una herramienta hash realmente puede producir una salida correcta y aún así enviar la entrada a un servidor. La operación matemática del hash es independiente de la ubicación, por lo que un hash del lado del servidor es criptográficamente correcto aunque la arquitectura sea insegura. Un atacante no necesita corromper el cálculo hash para ganar; solo necesitan la entrada de texto sin formato. Un desarrollador que asume que una herramienta hash es local porque el resultado es correcto está confiando en la propiedad incorrecta.

Lo que recibe una herramienta hash del lado del servidor: la entrada de texto sin formato completo, por definición, antes de que se calcule cualquier resumen

Una herramienta hash del lado del servidor requiere la entrada de texto sin formato como entrada, por definición. El servidor lo recibe a través de HTTPS, lo que lo protege en tránsito, pero solo hasta que se alcanza el servidor. Luego, el servidor registra el texto sin formato, lo almacena en la memoria durante el hash, potencialmente lo escribe en el disco y lo incluye en cualquier copia de seguridad o seguimiento de monitoreo que mantenga el servidor. La empresa que ejecuta el servidor puede leer los registros y ver todos los secretos que se hayan codificado allí.

La alternativa es utilizar Web Crypto, que es la implementación criptográfica propia del navegador. En un origen seguro, es decir, HTTPS o localhost, el navegador expone crypto.subtle.digest, una función que calcula los resúmenes SHA-1, SHA-256, SHA-384 y SHA-512 completamente dentro del proceso del navegador. La entrada nunca sale del dispositivo y no interviene ningún servidor. La implementación del navegador es auditada por los proveedores de navegadores, parcheada por los proveedores de navegadores y se ejecuta como código nativo optimizado en lugar de JavaScript incluido.

Por qué el servidor es innecesario: el Web Crypto del navegador calcula cada SHA-2 resumen localmente

Verificar que una herramienta hash es local solo requiere abrir el panel de red de DevTools y observar lo que envía la herramienta a través de la red. En la mayoría de los navegadores, DevTools se abre con F12 o Cmd+Opción+I y la pestaña Red es el lugar para observar el tráfico de la red. Con la pestaña de red abierta y la herramienta hash visible, pegue el texto sin formato, haga clic en el botón hash y observe lo que sucede. Si se utiliza una herramienta local, el panel de red no muestra nuevas solicitudes.

Este método de verificación funciona porque los navegadores implementan una restricción del mismo origen. La página puede realizar solicitudes a su propio origen sin provocar problemas de CORS, por lo que una herramienta local podría realizar solicitudes a un servidor en el mismo dominio si así lo desea. Cuando aparece una solicitud de red en el panel de DevTools, demuestra que la herramienta está enviando datos a alguna parte. Un desarrollador que comprueba esto y no ve tráfico de red tiene una gran seguridad de que la entrada no sale del navegador. La calculadora de hash ToolAcre SHA produce un panel de red que permanece vacío durante el hash.

Verificación con el panel de red: pegar, aplicar hash y observar si no hay solicitudes

Una política de seguridad de contenido estricta puede brindar garantía adicional más allá de la verificación del panel de red. La política de seguridad de contenido es un encabezado HTTP que envía el servidor, que declara qué dominios debe permitir el navegador cargar scripts y realizar solicitudes. Una política que no permite todos los scripts externos, todas las hojas de estilo externas y todos los envíos de formularios a orígenes externos limita lo que una página comprometida puede hacer. Un atacante no puede enviar código malicioso que envíe la entrada a un servidor externo si la política prohíbe las solicitudes externas.

Los encabezados de la Política de seguridad de contenido se envían con la respuesta HTTP y se pueden inspeccionar en la sección Encabezados de respuesta de la pestaña Red de DevTools. Una línea como Content-Security-Policy: default-src 'self'; script-src 'self' declara que los scripts sólo pueden provenir del mismo origen. Una política más estricta que incluye antecesores de marcos 'ninguno' evita que la página se incruste en un iframe, lo que bloquea un vector de ataque si un iframe malicioso intenta robar el foco. Estos detalles son útiles para comprender las defensas, pero la verificación del panel de red sigue siendo la verificación principal.

CSP es defensa en profundidad; las fuentes del repositorio leídas aquí no establecen el encabezado implementado

Un ejemplo resuelto: pegar una clave API de AWS o Azure en la calculadora de hash SHA de ToolAcre para verificarla con una huella digital almacenada. Abra DevTools, seleccione la pestaña Red y asegúrese de que esté grabando. Pegue la clave API en la herramienta hash, seleccione SHA-256 y haga clic en hash. El resumen aparece en la herramienta y el panel de red no muestra nuevas solicitudes. El vector de prueba está disponible en la documentación de la herramienta para verificar la corrección del hash si es necesario. El punto clave es que la clave API nunca salió del navegador y el resumen ahora se puede comparar con un valor almacenado sin exponer el secreto.

Lo que este flujo de trabajo no cubre es si una extensión del navegador se ha visto comprometida o si el propio navegador se ha visto comprometido. Una extensión maliciosa con amplios permisos puede ver todo el tráfico, interceptar el contenido del portapapeles y observar lo que escribe el usuario. Un navegador comprometido, ya sea a través de una vulnerabilidad de día cero o mediante una instalación maliciosa, puede verse obligado a enviar la entrada a cualquier lugar. Para estas amenazas, ninguna herramienta web puede brindar protección. La defensa adecuada es confiar en la instalación del navegador, mantenerlo actualizado y revisar las extensiones instaladas.

Ejemplo resuelto: use un marcador inofensivo e inspeccione las solicitudes en lugar de pegar una clave API activa

El consejo para cualquiera que pegue secretos en herramientas es verificar que la herramienta sea local antes de pegar. Este es un paso simple que elimina el mayor riesgo: el operador del servidor, sus empleados, sus copias de seguridad y sus registros ven el texto sin formato. Utilice el panel de red de DevTools, esté atento a cero solicitudes y luego confíe el secreto a la herramienta. La calculadora de hash ToolAcre SHA está diseñada para usarse de esta manera. No almacena nada, no carga nada y el panel Red permanece vacío.

Para los desarrolladores que ya han pegado secretos en las herramientas del lado del servidor, el siguiente paso es rotar esos secretos. Se debe suponer que una clave API que se envió a un servidor desconocido está comprometida. Debería revocarse y emitirse uno nuevo. Las contraseñas deben cambiarse. Las claves SSH deben reemplazarse. Para secretos estáticos, como claves API de infraestructura, esta es una operación única. Para los tokens de sesión o las credenciales temporales, la rotación se produce automáticamente cuando los tokens caducan.

Lo que esto no cubre: extensiones de navegador y máquinas comprometidas, contra las cuales ninguna herramienta web puede defenderse.

Generar confianza en las herramientas en línea comienza con comprender dónde ocurre el cálculo y verificar esa comprensión con las herramientas de desarrollo del navegador. El panel de red es una señal clara: si los datos salen del navegador, aparecerán allí. Si ninguna solicitud contiene la entrada de prueba distintiva, esa sesión proporciona evidencia de una ruta de conversión local. No es una garantía sobre extensiones, código de navegador comprometido o implementaciones futuras. Combinar esta verificación con la revisión del código fuente, si está disponible, proporciona confianza.

Para las organizaciones que evalúan herramientas criptográficas para su uso con datos confidenciales, el principio sigue siendo el mismo: verificar que el cálculo se realice donde usted lo controle. Para las personas que utilizan hash de una clave API o verifican un archivo, utilice primero la verificación del panel de red. Para sistemas de producción, utilice HMAC o firmas en lugar de hashes simples para la autenticación. La calculadora de hash ToolAcre SHA es una herramienta para el aprendizaje y el cálculo del resumen local. No es apropiado para la autenticación de producción.

Conclusión: verifique, luego confíe: la calculadora de hash SHA de ToolAcre se ejecuta en su navegador, no carga nada y no almacena nada entre visitas

El principio de transparencia es fundamental para el enfoque de ToolAcre: cada herramienta documenta lo que hace, lo que proporciona el navegador y lo que debe hacer el desarrollador. La calculadora de hash SHA documenta que utiliza la implementación Web Crypto del navegador para SHA-256, SHA-384 y SHA-512, y que no implementa HMAC ni derivación de claves. Para el hash, la herramienta es exacta. Para la autenticación, los desarrolladores deben buscar en otra parte. Esta claridad evita la confusión que surge cuando una sola herramienta intenta hacer demasiado.

Cuando un desarrollador ve que el panel de red está vacío y el código fuente está abierto, la relación de confianza tiene una base sólida. La herramienta hace lo que dice: calcular hashes localmente utilizando la propia implementación del navegador. Luego, el desarrollador puede tomar una decisión informada sobre si la herramienta se ajusta a su caso de uso. Para verificar una clave API, encaja perfectamente. Para la autenticación de producción, se necesita HMAC. Para el almacenamiento de contraseñas, se necesita una función de derivación de claves como Argon2id. Conocer estos límites es el primer paso hacia la construcción de sistemas seguros.