Autenticação + Algoritmo / Criptografia + HTTPS

  • Conceitos básicos (método de autenticação, criptografia / descriptografia, HTTPS)
  • Como funciona o JWT
  • JWT integrado com Node.js
    Insira a descrição da imagem aqui
    Insira a descrição da imagem aqui

Método de autenticação:


  • Vantagens do JWT : fácil de expandir, suporte para dispositivos móveis, chamadas entre aplicativos, segurança e rico em transporte de informações.
    Desvantagens: processamento de atualização e expiração, carga útil (carga útil) não é fácil de ser muito grande, man-in-the - ataque médio

  • Vantagens da sessão / cookie : Mais fácil de expandir, simples
    Desvantagens: Baixa segurança, baixo desempenho, armazenamento de servidor, difícil de sincronizar sessões com vários servidores (requer serviços como redis) e difícil de plataforma cruzada.
  • oAuth 2.0 (login de terceiros, como WeChat, github scan QR code login)
    Vantagens: permissões abertas, seguras, simples e específicas
    Desvantagens: necessidade de aumentar o servidor de autorização e aumentar as solicitações de rede

O que é JWT

O nome completo do JWT é JSON Web Token. Um JWT consiste em três partes: Cabeçalho, Carga útil, Assinatura.

  • O cabeçalho
    especifica principalmente o método de criptografia usado pelo token e o tipo do token.
    {
    	"alg":"HS256",
    	"typ":"JWT"
    }
    
  • A carga útil consiste
    principalmente em algumas informações do usuário contidas no token, como: nome do usuário, prazo de validade, etc.
    {
    	"sub":"2021-01-01",
    	"name":"zyy",
    	"admin":true
    }
    
  • A assinatura
    é o valor base64 do cabeçalho + o valor base64 da carga útil + a string gerada pelo segredo
    e , em seguida, execute a criptografia especificada neste e, finalmente, obtenha a assinatura
    HMACSHA256( base64UrlEncode(header) + "."+ base64UrlEncode(payload), secret )

Recursos JWT

  • Anti-CSRF (principalmente solicitações forjadas, com cookies)
  • Adequado para aplicativos móveis (refere-se principalmente ao aplicativo, porque os cookies precisam ser armazenados no navegador)
  • Dados sem estado, codificados

verificação online jwt: https://jwt.io/

Insira a descrição da imagem aqui

Algoritmo / Criptografia

Algoritmo:
A instrução no algoritmo descreve um cálculo, quando executado, pode partir de um estado inicial e uma entrada inicial (pode estar vazio), após uma série de 有限而清晰定义的状态saída final e parar em um estado final. (Semelhante à função)
Criptografia:
O processo básico de criptografia de dados é processar o arquivo de texto simples original ou os dados de acordo com um determinado algoritmo para torná-lo um pedaço de código ilegível, geralmente chamado de "texto cifrado". Através desta abordagem, o objetivo de proteger os dados de serem roubados e lidos por pessoas não autorizadas é alcançado.
Insira a descrição da imagem aqui

HTTPS

O protocolo de transferência segura HTTPS
HTTPS (HyperText Transfer Protocol Secure) é freqüentemente referido como HTTP sobre TLS, HTTP sobre SSL ou HTTP Seguro. É um protocolo de transmissão para comunicação segura por meio de uma rede de computadores.

Design de segurança API

  • Criptografia do canal de comunicação: use HTTPS
  • Criptografia de dados de comunicação: texto cifrado + dados de chave criptografada
  • Estratégia de segurança de comunicação: camada intermediária de autorização, número de tentativas, estratégia de expiração. . .

Acho que você gosta

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