Autenticación + Algoritmo / Encriptación + HTTPS

  • Conceptos básicos (método de autenticación, cifrado / descifrado, HTTPS)
  • Cómo funciona JWT
  • Node.js integrado JWT
    Inserte la descripción de la imagen aquí
    Inserte la descripción de la imagen aquí

Método de autentificación:


  • Ventajas de JWT : fácil de expandir, compatible con dispositivos móviles, llamadas entre aplicaciones, seguridad y gran cantidad de información.
    Desventajas: procesamiento de actualización y expiración, carga útil (payload) no es fácil ser demasiado grande, man-in-the -ataque medio

  • Ventajas de la sesión / cookie : Más fácil de expandir, simple
    Desventajas: Baja seguridad, bajo rendimiento, almacenamiento en el servidor, dificultad para sincronizar sesiones con múltiples servidores (requiere servicios como redis) y difícil de multiplataforma.
  • oAuth 2.0 (inicio de sesión de terceros, como WeChat, inicio de sesión con código QR de escaneo de github)
    Ventajas: permisos abiertos, seguros, simples y especificados
    Desventajas: necesidad de aumentar el servidor de autorización y aumentar las solicitudes de red

Que es JWT

El nombre completo de JWT es JSON Web Token. Un JWT consta de tres partes: Encabezado, Carga útil, Firma.

  • El encabezado
    especifica principalmente el método de cifrado utilizado por el token y el tipo de token.
    {
    	"alg":"HS256",
    	"typ":"JWT"
    }
    
  • La carga útil es
    principalmente información de usuario contenida en el token, como: nombre de usuario, tiempo de vencimiento, etc.
    {
    	"sub":"2021-01-01",
    	"name":"zyy",
    	"admin":true
    }
    
  • La firma
    es el valor base64 del encabezado + el valor base64 de la carga útil + la cadena generada por el secreto,
    y luego realice el cifrado especificado en esto, y finalmente obtenga la firma
    HMACSHA256( base64UrlEncode(header) + "."+ base64UrlEncode(payload), secret )

Funciones de JWT

  • Anti-CSRF (principalmente solicitudes falsificadas, con cookies)
  • Adecuado para aplicaciones móviles (se refiere principalmente a la aplicación, porque las cookies deben almacenarse en el navegador)
  • Datos codificados sin estado

Verificación en línea de jwt: https://jwt.io/

Inserte la descripción de la imagen aquí

Algoritmo / cifrado

Algoritmo:
La instrucción en el algoritmo describe un cálculo, cuando se ejecuta, puede comenzar desde un estado inicial y una entrada inicial (puede estar vacía), después de una serie de 有限而清晰定义的状态salida final y detenerse en un estado final. (Similar a la función)
Cifrado:
El proceso básico de cifrado de datos es procesar el archivo de texto plano o los datos originales de acuerdo con un cierto algoritmo para convertirlo en un fragmento de código ilegible, generalmente llamado "texto cifrado". Mediante este enfoque, se logra el propósito de proteger los datos para que no sean robados y leídos por personas no autorizadas.
Inserte la descripción de la imagen aquí

HTTPS

El protocolo de transferencia segura HTTPS
HTTPS (Protocolo de transferencia de hipertexto seguro) a menudo se denomina HTTP sobre TLS, HTTP sobre SSL o HTTP seguro. Es un protocolo de transmisión para una comunicación segura a través de una red informática.

Diseño de seguridad API

  • Cifrado del canal de comunicación: use HTTPS
  • Cifrado de datos de comunicación: texto cifrado + datos clave cifrados
  • Estrategia de seguridad de la comunicación: capa intermedia de autorización, número de intentos, estrategia de caducidad. . .

Supongo que te gusta

Origin blog.csdn.net/weixin_40693643/article/details/113810681
Recomendado
Clasificación