A chave privada do usuário é usada apenas para autenticação?

8

Eu tenho uma pergunta simples sobre o protocolo OpenVPN. Vamos supor que temos dois usuários diferentes, com chaves diferentes para o mesmo servidor e ambas as chaves 1024bits. Se esses dois usuários fizerem exatamente a mesma solicitação e alguém estiver farejando os dados no servidor, essa pessoa (o farejador) verá os mesmos dados para usuários ou dados diferentes? A questão é saber se a chave privada do usuário interfere na criptografia APÓS a autenticação ou se é usada apenas no tempo de autenticação. Obrigado.

user2864778
fonte
Com qualquer criptografia semanticamente segura, os dados criptografados serão diferentes, mesmo que a chave e os dados sejam idênticos. Portanto, sua pergunta pode ser atualizada mais precisamente como "O protocolo OpenVPN usa criptografia semanticamente segura?". Além disso, com alguns modos de criptografia, todos os dados transferidos influenciarão a criptografia dos dados enviados posteriormente. Portanto, mesmo que a chave seja usada apenas inicialmente, ela ainda influenciaria a aparência dos dados criptografados em toda a conexão.
precisa saber é o seguinte

Respostas:

10

Se esses dois usuários fizerem exatamente a mesma solicitação e alguém estiver farejando os dados no servidor, essa pessoa (o farejador) verá os mesmos dados para usuários ou dados diferentes?

Dados diferentes.

A questão é saber se a chave privada do usuário interfere na criptografia APÓS a autenticação ou se é usada apenas no tempo de autenticação.

As chaves públicas / privadas são usadas apenas durante a autenticação / negociação de chaves.


O OpenVPN pode operar em um dos dois modos , uma chave pré-compartilhada ou usando TLS com certificados. A chave pré-compartilhada é estática, constante, mas você está perguntando sobre o modo de certificado.

Não vou entrar em muitos detalhes e você mesmo pode procurar o TLS, mas basicamente o TLS usa os certificados (e chaves privadas) para autenticação e durante a fase de negociação de chaves. Ele gera uma chave de criptografia simétrica (por exemplo, BlowFish, AES etc.) e usa criptografia de chave pública para compartilhar essa chave com segurança.

As mensagens reais são então criptografadas com criptografia simétrica. Cada sessão tem sua própria chave de criptografia independente (por isso, se você desconectar e reconectar, na verdade, acabará com uma chave diferente). Da mesma forma, cada usuário terá sessões diferentes e, portanto, chaves diferentes.

Há duas razões para fazer isso. A criptografia simétrica é consideravelmente mais rápida que a criptografia assimétrica; portanto, é preferível para alto rendimento (a dificuldade é o compartilhamento de chaves, resolvido pela fase de negociação). Além disso, ao gerar uma nova chave toda vez, é mais difícil para as chaves comprometidas revelar os dados de outras sessões ( FS ).

Prumo
fonte
Ah, lá vamos nós - a resposta que eu estava escrevendo, apenas muito mais claramente expressa. +1 de mim.
21714 MadHatter
+1 e aceito como resposta. Sua resposta foi muito valiosa e esclareceu minhas perguntas. Obrigado
user2864778
1

Cada cliente criptografará seus dados com a chave negociada entre cliente e servidor, para que os dados recebidos no gateway VPN sejam diferentes para os dois usuários.

denisvm
fonte
2
A primeira parte não está correta. O OpenVPN usa TLS , que não usa criptografia de chave pública para criptografar mensagens.
22414 Bob