web-dev-qa-db-ja.com

「Let's Encrypt」はどの程度安全ですか?

Let's Encryptから無料のSSL証明書を構成してインストールしました。それは素晴らしく、設定も非常に簡単です。

しかし、このスノーデン後の時代、私はこれが本当に安全なのかと思っていました。たとえば、この手順では秘密鍵の作成を求められることはなく、魔法のように秘密鍵が作成されます。それは素晴らしいことですが、これが本当に安全であるかを誰かが見たことがありますか?

注: this のような関連する質問を見てきました。ただし、それは「ハッキング」に対する「プロセス」の安全性に関するものであり、証明書自体が安全であると想定しています。証明書のセキュリティとその結果の暗号化について、私はもっと心配しています。

19
geert3

「acme-tiny」を試してください

「acme-tiny」と呼ばれる代替の「暗号化しよう」クライアントプロジェクトがあります。

自動化は少ないですが、サイズは小さくなります。 自分の言葉で

これは、Let's Encrypt証明書を発行および更新するためにサーバーに投入できる小さな監査可能なスクリプトです。サーバー上で実行し、秘密のLet's Encryptアカウントキーにアクセスできる必要があるため、できるだけ小さく(現在は200行未満)しようとしました。必要条件はpythonおよびopensslのみです。

また、手動モードの通常のクライアント。

一般的なletsencryptクライアントを信頼しているが、CSRを手動で作成したいだけの場合は、次の手順に従ってください。

そして、このアイデアの中心は次の行です。

letsencrypt certonly \
    --authenticator manual \
    --server https://acme-v01.api.letsencrypt.org/directory --text \
    --email [email protected] \
    --csr signreq.der
12
StackzOfZtuff

たとえば、この手順では秘密鍵の作成を求められることはなく、魔法のように秘密鍵が作成されます。

私は暗号化が魔法であることを知っていますが、この場合も安全です... :-)

Let's Encryptクライアントを使用する場合、キーペアはサーバー上でローカルに生成され、notLet's Encryptサーバーに送信されます*-他のいくつかの商用CAとは対照的です、独自のサーバーでキーペアを生成しました/しませんでした。疑わしい場合は、使用しているクライアントのソースを確認する必要があります。

証明書のセキュリティとその結果の暗号化について、私はもっと心配しています。

「結果として生じる暗号化」は、証明書とssl/tls構成に完全に依存し、使用するCA(= Let's Encrypt)には依存しません。公式のLEクライアントが2048ビットの証明書を作成するので、これらは安全であると言えます。それ以外はすべて config に依存します。

*例外もありますが、非常にまれです。ブラウザーで秘密鍵を生成するWebブラウザークライアントがいくつかありますが、これは簡単に回避できます。実際の(オフライン)クライアントを使用するか、 https://gethttpsforfree.com/ を使用して手動で行います。

4
rugk