Centos / conjuntos de cifras Fedora [fechados]

1

Eu criei um certificado autoassinado no meu servidor CLI do Fedora usando o comando openssl

openssl req -x509 -sha256 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 100

Pelo que entendi, é assim que o TLS funciona:

  1. O cliente envia as preferências do conjunto de criptografia para o servidor
  2. O servidor escolhe o pacote de criptografia e também envia certificado e (rsa) chave pública para o cliente
  3. o cliente gera uma chave Premaster (principalmente bits aleatórios). Criptografa-a com a chave pública fornecida e a envia para o servidor.
  4. O cliente e o servidor geram independentemente a chave mestra e, em seguida, a chave da sessão. A chave de sessão é a chave simétrica que fornece um "canal seguro".

Pergunta 1. Como descubro o algoritmo de criptografia simétrica usado para a chave de sessão?

Pergunta 2. Que relação este comando openssl tem com o comando openssl ciphers ?

Pergunta 3. O TLS implicitamente usa Diffie Hellman? Estou usando o Diffie Hellman?

Pergunta 4. Eu vi uma publicação na internet que recomendava a desativação de algumas cifras. Como posso fazer isso?

Qualquer ajuda seria muito apreciada, obrigado

EDITAR

Pergunta 5. Então, se meu aplicativo (digamos, Apache HTTP Server) estiver usando o TLS e esse certificado x509, e o cliente estiver usando solicitações https para se conectar a esse servidor, então o conjunto de criptografia acordado será algo como isso: TLS_RSA_WITH_NULL_SHA? (Acabei de colocar esses elementos no meu comando)

    
por james b 21.11.2016 / 12:43

1 resposta

2

Acho que você está ficando confuso com certificados X.509 e TLS. O TLS é apenas uma (mas a maior) aplicação de certificados.

  1. O algoritmo da chave de sessão depende do aplicativo. Se, por exemplo, você estiver usando o certificado com o servidor da web Apache para TLS, a lista de possíveis algoritmos será configurada no arquivo de configuração do Apache. Depois de configurar um servidor da Web para usar seu certificado e sua chave privada, você poderá verificar quais algoritmos são usados com várias ferramentas, como openssl s_client ou nmap ou se o servidor está acessível pela Internet usando um site como SSL Labs
  2. Nenhum, exceto que ambos começam com openssl . O OpenSSL é um kit de ferramentas para trabalhar com várias tecnologias criptográficas. Seu comando acima gerou um par de chaves e um certificado X.509; o comando openssl ciphers lista os ciphersuites SSL / TLS usando a mesma lógica 'cipherstring' que ao configurar aplicativos como o Apache, oferecendo uma maneira conveniente de testar essas configurações. O programa openssl também pode ser usado para criptografar / descriptografar arquivos, computar resumos de mensagens e números aleatórios, entre outras coisas.
  3. O TLS pode usar muitos algoritmos conforme acordado pelo seu servidor e cliente. Você não está usando o Diffie-Hellman para criar o certificado X.509. Esse certificado pode ser usado para o TLS, que pode usar o formato simples (inteiro) ou Curva Elíptica do Diffie-Hellman.
  4. A ativação e a desativação de códigos geralmente são controladas pelo aplicativo (como o Apache) e não pelo certificado, embora haja alguns casos de canto (por exemplo, o certificado do DSA é incompatível com o RC4).
por 21.11.2016 / 13:12