O que é uma chave criptográfica?

Uma chave é um grupo de caracteres aleatórios em uma ordem específica. Os protocolos de criptografia usam uma chave para alterar os dados de forma que sejam embaralhados e que ninguém sem a chave possa decodificar as informações.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Saber o que é uma "chave" em criptografia
  • Entender como uma chave é usada para cifrar dados na criptografia
  • Explicar como a troca de chaves públicas torna o HTTPS possível

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

Aumente a segurança e a confiança usando o SSL / TLS gratuito da Cloudflare

Chave criptográfica

O que é uma chave criptográfica?

Na criptografia, uma chave é uma sequência de caracteres usada em um algoritmo de criptografia para alterar os dados de forma que pareçam aleatórios. Como uma chave física, ele bloqueia (criptografa) os dados para que apenas alguém com a chave certa possa desbloqueá-los (descriptografá-los).

Chave criptográfica Hello

Os dados originais são conhecidos como texto não criptografado e os dados após a chave criptografá-los são conhecidos como texto criptografado.

A fórmula:

plaintext
+ key
= ciphertext

Chaves nas primeiras formas de criptografia

Antes do advento dos computadores, o texto criptografado costumava ser criado simplesmente substituindo uma letra por outra no texto não criptografado, um método conhecido como "cifra de substituição". Por exemplo, suponha que alguém envie uma mensagem dizendo "Hello" para outra pessoa e cada letra seja substituída pela letra seguinte no alfabeto: "Hello" torna-se "Ifmmp"

H e L L O
+1 +1 +1 +1 +1
I F M M P

"Ifmmp" parece uma sequência de letras sem sentido, mas se alguém souber a chave, pode substituí-la pelas letras adequadas e descriptografar a mensagem como "Hello". Para este exemplo, a chave é (letra) - 1, movendo cada letra um ponto abaixo no alfabeto para chegar à letra real.

I F M M P
-1 -1 -1 -1 -1
H e L L O

Essas cifras são relativamente fáceis de quebrar com uma análise estatística simples, uma vez que certas letras aparecerão com mais frequência do que outras em qualquer texto (por exemplo, E é a letra mais comum no idioma inglês). Para combater isso, os criptógrafos desenvolveram um sistema chamado one-time pad (cifra de chave única).

O one-time pad é uma chave de uso único que tem pelo menos tantos valores quanto o texto simples tem caracteres. Em outras palavras, cada letra será substituída por uma letra que é um número exclusivo de letras removidas dela no alfabeto.

Por exemplo, suponha que alguém precise criptografar a mensagem "Hello" e essa pessoa use um teclado único com os valores 7, 17, 24, 9, 11.

H e L L O
7 17 24 9 11

Enquanto antes simplesmente subíamos uma posição para cada letra (letra + 1), agora movemos um número diferente de lugares no alfabeto para cada letra. Adicionamos 7 à primeira letra, H; adicionamos 17 à segunda letra; e assim por diante. Para qualquer cálculo que nos leve além de Z, simplesmente voltamos ao início do alfabeto e continuamos adicionando.

H e L L O
7 17 24 9 11
O V J U Z

Partindo do texto simples "Hello", agora temos o texto cifrado "Ovjuz", usando a chave "7, 17, 24, 9, 11".

Para que a comunicação por meio de one-time pad funcione, os dois lados da conversa devem usar a mesma chave para cada mensagem individual (criptografia simétrica), embora uma chave diferente seja usada sempre que houver uma nova mensagem. Embora para terceiros "Ovjuz" pareça um absurdo aleatório, a pessoa que receber o texto cifrado "Ovjuz" saberá usar a chave "7, 17, 24, 9, 11" para decifrá-lo (subtraindo em vez de adicionar):

O V J U Z
7 17 24 9 11
H e L L O

Assim, uma mensagem simples pode ser alterada por uma sequência de dados aleatórios, uma chave, para ser criptografada ou descriptografada.

Chaves na criptografia moderna

Embora os exemplos acima de criptografia inicial ilustrem como funciona o uso de uma sequência aleatória de informações para transformar texto simples em texto cifrado, as chaves criptográficas hoje são muito mais complexas.

Por exemplo, a chave pública de um site pode ser algo parecido com:

04 CE D7 61 49 49 FD 4B 35 8B 1B 86 BC A3 C5 BC D8 20 6E 31 17 2D 92 8A B7 34 F4 DB 11 70 4E 49 16 61 FC AE FA 7F BA 6F 0C 05 53 74 C6 79 7F 81 12 8A F7 E2 5E 6C F5 FA 10 69 6B 67 D9 D5 96 51 B0 (Copiado do certificado SSL da cloudflare.com)

Isso é muito mais complexo do que a chave "7 17 24 9 11" que usamos acima para criptografar "Hello".

Em vez de simplesmente adicionar ou subtrair, a criptografia moderna usa fórmulas matemáticas complexas conhecidas como algoritmos. E, em vez de uma simples sequência de números aleatórios para uma chave, as chaves modernas são normalmente ainda mais aleatórias.

Isso ocorre por vários motivos:

  1. Os computadores são capazes de cálculos muito mais complicados em um período de tempo menor do que os criptógrafos humanos, tornando a criptografia mais complexa não apenas possível, mas necessária.
  2. Os computadores podem alterar as informações no nível binário, os 1s e 0s que constituem os dados, não apenas no nível de letras e números individuais.
  3. Se os dados criptografados não forem suficientemente aleatórios, um programa de computador será capaz de descriptografá-los. A verdadeira aleatoriedade é extremamente importante para a criptografia seja realmente segura.

Combinada com um algoritmo de criptografia, uma chave criptográfica irá embaralhar um texto além do reconhecimento humano.

Como as chaves são usadas na criptografia SSL (HTTPS)?

Existem dois tipos de criptografia: criptografia simétrica e criptografia assimétrica, também conhecida como criptografia de chave pública. Na criptografia simétrica, os dois lados de uma conversa usam a mesma chave para transformar texto não criptografado em texto criptografado e vice-versa.

Na criptografia assimétrica ou de chave pública, cada um dos dois lados da conversa usa uma chave diferente. Uma chave é chamada de chave pública e outra chave é chamada de chave privada – assim chamada porque uma das partes a mantém em segredo e nunca a compartilha com ninguém. Quando o texto não criptografado é criptografado com a chave pública, apenas a chave privada pode descriptografá-lo, não a chave pública.

SSL(ou TLS, como é chamado hoje), é um protocolo de criptografia usado para manter as comunicações da internet seguras e um site que é servido por HTTPS em vez disso de HTTP usa esse tipo de criptografia. Em TLS/SSL, um site ou aplicativo web terá uma chave pública e uma chave privada. A chave pública é compartilhada publicamente no certificado SSL do site para que todos possam ver. A chave privada é instalada no servidor de origem e nunca é compartilhada.

As sessões de comunicação TLS/SSL começam com um handshake TLS, durante o qual o site e o cliente usam a chave pública e a chave privada para gerar novas chaves, que são chamadas de chaves de sessão. Essas chaves de sessão são então usadas por ambos os lados para criptografar suas mensagens de um lado para outro.

Portanto, o TLS começa com a criptografia assimétrica (com duas chaves) e passa para a criptografia simétrica (com uma chave). Ambos os lados usam as mesmas chaves durante a sessão de comunicação, mas quando eles iniciam uma nova sessão, eles irão gerar novas chaves juntos.