Chaves públicas Vs. chaves privadas
Criptografia simétrica e assimétrica. O problema da distribuição de chaves. O que são chaves privadas? Porque devemos manter a chave privada em segurança?
O que são chaves criptográficas?
Uma chave criptográfica é uma cadeia de dados usada para criptografar dados (para manter os dados em segredo), descriptografar dados (para executar a operação inversa), assinar dados (para garantir que os dados sejam autênticos) ou para verificar uma assinatura.
As chaves de criptografia vêm em duas formas: simétrica ou assimétrica.
Formas de criptografia
Em um algoritmo simétrico, a chave para criptografar e descriptografar é a mesma.
Em um algoritmo assimétrico, as chaves são diferentes, com a chave de criptografia sendo chamada de chave pública e a chave de descriptografia sendo chamada de chave privada.
Criptografia simétrica Vs. Criptografia assimétrica
A criptografia simétrica usa uma única chave que precisa ser compartilhada entre as pessoas que precisam receber a mensagem, enquanto a criptografia assimétrica usa um par de chaves públicas e uma chave privada para criptografar e descriptografar mensagens durante a comunicação.
A criptografia simétrica é uma técnica antiga, enquanto a criptografia assimétrica é relativamente nova.
A criptografia assimétrica foi introduzida na década de 70 para complementar o problema inerente à necessidade de compartilhar a chave no modelo de criptografia simétrica, eliminando a necessidade de compartilhar a chave ao usar um par de chaves públicas e privadas.
A criptografia assimétrica leva relativamente mais tempo do que a criptografia simétrica.
Autenticação de dados
Geralmente, pensamos em um algoritmo assimétrico de assinatura e verificação para autenticar dados. Como nada melhor que um exemplo para compreender algo…
Imagine que Ana deseja enviar uma mensagem secreta para Beto. Ao usar criptografia simétrica, Ana gerará uma cifra [X] - ou chave - para criptografar esses dados, antes de enviar-los para Beto.
Quando Beto receber a mensagem criptografada, e poderá descriptografá-la utilizando a chave X. É neste momento que surge um problema…
O problema da distribuição de chaves
Como Beto obtém acesso a chave [X] para descriptografar a mensagem, sem comprometer a segurança?
É claro que a chave [X] não pode ser enviada abertamente. É por isso que Bob precisa de uma técnica diferente para obter acesso a essa chave secreta [X]. Isso é conhecido como o problema da distribuição de chaves.
Esse problema esse problema foi resolvido na década de 70 com a invenção da forma assimétrica de criptografia - já mencionada - , que geralmente é chamada de criptografia de chave pública.
Criptografia de chave pública ou assimétrica
A criptografia de chave pública, também conhecida como criptografia assimétrica, é qualquer sistema criptográfico que usa pares de chaves. As chaves públicas são aquelas que podem ser amplamente divulgadas, e as chaves privadas são conhecidas apenas por seus proprietários.
Usando a criptografia de chave pública, no caso de Ana e Beto, Ana envia sua mensagem para Beto e a criptografa usando a chave pública dele. Qualquer pessoa pode interceptar a mensagem, mas somente Beto pode descriptografá-la usando sua chave privada.
Com esse par de chaves, ocorrem duas funções: autenticação e criptografia.
Na autenticação, a chave pública verifica se o detentor da chave privada emparelhada pode descriptografar a mensagem criptografada com a chave pública;
Já na criptografia, somente o detentor da chave privada emparelhada pode descriptografar a mensagem criptografada com a chave pública.
Os dois usuários [Ana e Beto] só trocam suas chaves para acessar e revisar essas informações, e a parte pode revogar esse acesso a qualquer momento.
O que é então uma chave privada?
Chave privada: o que você precisa saber?
Uma chave privada, também conhecida como chave secreta, é uma variável na criptografia usada com um algoritmo para criptografar e descriptografar dados.
As chaves secretas [chaves privadas] só devem ser compartilhadas com o gerador da chave ou com as partes autorizadas a descriptografar os dados.
As chaves privadas desempenham um papel importante na criptografia simétrica, na criptografia assimétrica e nas criptomoedas.
Uma chave privada geralmente é uma longa sequência de bits, gerada de forma aleatória ou pseudoaleatória, que não pode ser advinhada facilmente. A complexidade e o comprimento da chave privada determinam a facilidade com que um invasor pode executar um ataque de força bruta, no qual ele experimenta diferentes chaves até encontrar a correta.
Benefícios associados ao uso de chaves privadas
Segurança. As chaves privadas mais longas e com maior entropia, ou aleatoriedade, são mais seguras contra ataques de força bruta ou de dicionário.
Rapidez. A criptografia de chave simétrica é mais rápida do ponto de vista computacional do que a criptografia assimétrica com seus pares de chaves público-privadas.
Melhor para criptografia. A maioria dos processos criptográficos usa chave privada para criptografar transmissões de dados.
Funciona para cifras de fluxo e de bloco. As cifras de chave privada [o algoritmo para criptografar e descriptografar dados] geralmente se enquadram em uma de duas categorias: cifras de fluxo ou cifras de bloco. Uma cifra de bloco aplica uma chave privada e um algoritmo a um bloco de dados simultaneamente, enquanto uma cifra de fluxo aplica a chave e o algoritmo um bit por vez.
Desafios do gerenciamento de chaves públicas
A segurança das chaves de criptografia depende da escolha de um algoritmo de criptografia forte e da manutenção de altos níveis de segurança operacional. O gerenciamento de chaves criptográficas é necessário para qualquer organização que use criptografia para proteger seus dados - seja a criptografia simétrica, seja a assimétrica.
Embora a criptografia de chave privada possa garantir um alto nível de segurança, os seguintes desafios de gerenciamento de chaves devem ser considerados:
Gerenciamento. O gerenciamento diligente de chaves privadas é necessário para protege-las contra perda, corrupção ou acesso não autorizado.
Atualização contínua. As chaves privadas usadas para criptografar dados confidenciais devem ser alteradas regularmente para minimizar a exposição em caso de vazamento, perda, corrupção ou acesso não autorizado.
Recuperação e perda. Se uma chave de criptografia se tornar inacessível, os dados criptografados com essa chave serão irrecuperáveis e perdidos. É por isso que recentemente, a Ledger lançou seu programa Recover - veja a análise dos riscos e possíveis impactos do Ledger Recover, aqui.
Chaves privadas vs. chaves públicas
Como vimos anteriormente, a criptografia assimétrica - também conhecida como criptografia de chave pública - usa pares de chaves públicas e privadas. Essas duas chaves diferentes, mas matematicamente ligadas, são usadas para transformar um texto simples em texto cifrado criptografado ou texto criptografado de volta em texto simples.
Quando a chave pública é usada para criptografar o texto cifrado, esse texto só pode ser descriptografado usando a chave privada. Essa abordagem permite que qualquer pessoa com acesso à chave pública criptografe uma mensagem, e somente o detentor da chave privada poderá descriptografá-la.
Quando a chave privada é usada para criptografar o texto cifrado, esse texto pode ser descriptografado usando a chave pública. Esse texto cifrado pode ser um componente de uma assinatura digital e ser usado para autenticar a assinatura. Somente o detentor da chave privada poderá ter criptografado o texto cifrado, portanto, se a chave pública relacionada conseguir descriptografá-lo, a assinatura digital será verificada.
A chave pública é disponibilizada para todos que precisam dela em um repositório acessível ao público. A chave privada é confidencial e só deve ser acessada pelo proprietário do par de chaves públicas. Nesse método, tudo o que for criptografado com a chave pública requer a chave privada relacionada para a descriptografia e vice-versa. A criptografia de chave pública é normalmente usada para proteger canais de comunicação, como e-mail.
Aplicação de chaves públicas e chaves privadas em criptomoedas
Em criptomoeda, as chaves públicas são atribuídas a carteiras digitais [wallets], e uma chave pública é válida se houver alguma criptomoeda na carteira.
Aproveitando o exemplo do início deste artigo, para que Ana envie bitcoin (BTC) para Beto, ela simplesmente assina uma transação com a chave privada associada à carteira da qual está gastando o dinheiro [A] .
A transação diz que o bitcoin [BTC] associado a carteira de Ana [A] deve ser atribuído à carteira com a chave pública de Bob [B]. Os mineradores que validam a transação precisam verificar se a carteira de Alice [A] tem bitcoin suficiente e se a assinatura está correta. Eles não precisam saber quem é de fato a Ana ou o Beto.
Pensamentos finais
À medida que o uso da Internet pública continua a se expandir para comunicações comerciais, governamentais e pessoais, também aumenta a necessidade de usar a criptografia com segurança para proteger transações e negócios.
Bem por isso, é muito importante manter a privacidade das chaves privadas que, usadas para proteger dados confidenciais, passa a ser a base da manutenção da segurança em todos os tipos de comunicação.