web-dev-qa-db-ja.com

Centos / Fedora暗号スイート

Opensslコマンドを使用してFedoraCLIサーバーに自己署名証明書を作成しました

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

私の理解では、これがTLSの仕組みです。

  1. クライアントは暗号スイート設定をサーバーに送信します
  2. サーバーは暗号スイートを選択し、証明書と(rsa)公開鍵をクライアントに送信します
  3. クライアントはプリマスターキー(主にランダムビット)を生成します。指定された公開鍵で暗号化し、サーバーに送信します。
  4. クライアントとサーバーは両方とも独立してマスターキーを生成し、次にセッションキーを生成します。 「安全なチャネル」を提供する対称鍵であるセッション鍵。

質問1.セッションキーに使用されている対称暗号化アルゴリズムを見つけるにはどうすればよいですか?

質問2.このopensslコマンドはopenssl ciphersコマンドとどのような関係がありますか?

質問3.TLSは暗黙的にDiffieHellmanを使用しますか? Diffie Hellmanを使用していますか?

質問4.一部の暗号を無効にすることを推奨するインターネット投稿を見ました。これどうやってするの?

どんな助けでも大歓迎です、ありがとう

編集

質問5.したがって、アプリケーション(Apache HTTPサーバーなど)がTLSとそのx509証明書の両方を使用していて、クライアントがhttps要求を使用してそのサーバーに接続している場合、合意された暗号スイートは次のようになります。TLS_RSA_WITH_NULL_SHA ? (コマンドからこれらの要素を配置しました)

1
james b

X.509証明書とTLSと混同されていると思います。 TLSは、証明書の1つの(ただし最大の)アプリケーションです。

  1. セッションキーアルゴリズムは、アプリケーションによって異なります。たとえば、TLS用のApache Webサーバーで証明書を使用している場合、可能なアルゴリズムのリストはApacheの構成ファイルで構成されます。証明書と秘密鍵を使用するようにWebサーバーを構成したら、openssl s_clientnmapなどのさまざまなツールで使用されているアルゴリズムを確認したり、インターネットからサーバーにアクセスできるかどうかを確認したりできます。 SSL Labs などのWebサイト
  2. どちらもopensslで始まる場合を除いてなし。 OpenSSLは、いくつかの暗号化テクノロジを操作するためのツールキットです。上記のコマンドは、キーペアとX.509証明書を生成しました。 openssl ciphersコマンドは、Apacheなどのアプリを構成するときと同じ「cipherstring」ロジックを使用してSSL/TLS暗号スイートを一覧表示し、これらの設定をテストする便利な方法を提供します。 opensslプログラムは、ファイルの暗号化/復号化、メッセージダイジェストや乱数の計算などにも使用できます。
  3. TLSは、サーバーとクライアントが合意した多くのアルゴリズムを使用できます。 X.509証明書の作成にDiffie-Hellmanを使用していません。その証明書mayはTLSに使用でき、mayはプレーンのいずれかを使用します(整数)または楕円曲線形式のDiffie-Hellman。
  4. 暗号の有効化と無効化は、通常、証明書ではなくアプリケーション(Apacheなど)によって制御されますが、いくつかのコーナーケースがあります(たとえば、DSA証明書はRC4と互換性がありません)。
2
garethTheRed