複数のSSHキーを使用するのは妥当ですか?


44

ここまでで、ログインする必要のあるサーバーごとに個別のSSHキーを作成しました(より正確にするために、目的ごとに)。異なるサイトへの異なるパスワードのように、私はセキュリティの感覚からそれをしました。

複数のSSHキーを使用すると、実際にセキュリティが向上しますか?それらはすべて同じマシンから使用され、同じ〜/ .sshにあり、ほとんどが同じパスフレーズを持っています。

だから...システム全体をあきらめて、すべてに1つのSSHキーを使用する必要がありますか?

[UPDATE 2015-08-05] Githubは公開鍵を公開します。SSH クライアントは、構成応じてすべての公開鍵をすべてのサーバーに送信する場合があります。 、複数のSSHキー使用する必要がありますが、私の意見では妄想的です。


この質問は、情報セキュリティにより適しているかもしれません。
gerrit

回答:


25

SSHキーは公開キー暗号化を使用します。つまり、これらすべてのサーバーにインストールするのは公開鍵に過ぎず、世界中に知ってもらいたいということです。実際の秘密は、自分のマシンでロックダウンされた秘密鍵だけです。ええ、時間を無駄にしていると思います。


20
別のキーを持つ正当な理由があると思いますが、これは時間の無駄ではありません。侵害されたキーの場合、これによるリスクは軽減されます。パスワードはキーごとに異なる必要があります、私は同意します。
jfmessier

異なるマシン上で異なるキーペアを使用するのは合理的ですか?VirtualBox OSの異なるインスタンスが好きですか?
サントシュクマール

1
この答えは、「自分のマシンでロックダウンされている秘密鍵」に依存しているため、多層防御の概念を無視しています。たとえば、秘密鍵(の1つ)がssh-agentによって使用されている間にラップトップが盗まれた場合にどうなるかを考えてください。複数のキーがある場合、暗号化されたキーはすべて安全です。私はそれを時間の無駄とは呼びません。
ジョンベントレー

34

最終的にこれはあなた次第です。脅威モデルを評価する必要があります。キーの1つが侵害される可能性はどのくらいですか?1つのキーが侵害された場合、他のキーが侵害される可能性はどのくらいですか?キーが侵害された結果はどうなりますか?複数のキーを管理するコスト(時間を含む)はいくらですか?

これらのような要因を考慮することは、本当に個別のキーが必要かどうかを判断するのに役立ちます。ローカルネットワーク上の個人用マシンでは、通常、複数のキーを管理しようとして余分なオーバーヘッドが発生することはありません。ただし、ネットワークの外部では、それぞれ固有のパスフレーズを持つ異なるキーを使用します。しかし、それは私の個人的な意見です。


7
「脅威モデルの評価」に+1。これがポイントです。
sleske

21

いいえ、複数のキーを使用するのは時間の無駄ではありません。

多様性が大きい==リスクが少ない。

スピッフのその文は間違っています。

ポイントは、公開鍵が秘密鍵所有者へのアクセスを許可し、他の誰も許可しないことです。

ここで心配するリスクは認証です。不正サイトは、認証要求をエージェントタスクに転送します。1つのキーのみを使用する場合、エージェントに1つのキーしかロードされていなくても、すべてのサイトが不正に対して開かれます。

これはパスフレーズと関係ありません。同じパスフレーズを持つ複数のキーを使用しても、ここでは違いはありません。侵害されるのはパスフレーズではないからです。

悪党はチャレンジをエージェントに転送し、キーがロードされているすべてのサイトに接続できます さまざまなキーを使用して、1つのキーが読み込まれます-> 1つのサイトが危険にさらされます

私はあなたにいいと言います、あなたはあなた自身の怠overよりも他の人々のプライバシーを選びました。

PS物語の教訓は、エージェントの転送に注意することです


定期的にログインする3台のサーバーごとに1つずつ、3つのSSHキーを生成するとします。ある日、すでに3つすべてにログインした後(ssh-agentが3つすべてのキーのパスフレーズをキャッシュしたことを意味します)、その後、あなたの議論により、ssh-agentが危険にさらされると、3つのログインすべてが危険にさらされます。このような場合、複数のSSHキーを使用しても保護されません。あなたを正しく理解しましたか?
サンパブロクパー

9

複数の公開キーに適したユースケースが1つあると思います。それは、異なる信頼領域のコンピューターに秘密キーが保存されている場合です。そのため、通常、「自宅」のものの秘密キーが職場のコンピューターに保存されていないため、「職場」キーと「自宅」キーの1つのキーを保持しています。


素晴らしい答えです。異なるキーを持つ異なるマシンがあれば完璧です。1つの(または複数の)マシンがすべて同じキーを持っている場合、1つのキーを持っているだけでなく、余分なものから身を守ることはできません。侵害された場合、そのマシン上の残りすべても同様です。
外部参照

3

合理性は、セキュリティ利便性という 2つの異なる角度から考えることができると思います。

SSHキーペアを作成するとき、次のように、秘密キーを保護するためのレイヤーを追加するためのパスフレーズを提供するよう求められます。

$ ssh-keygen -t rsa -b 4096 -C 'With_OR_Without_Passwd'
Generating public/private rsa key pair.
Enter file in which to save the key (/Your/HomeDir/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

パスフレーズを要求する明示的なプロンプトがありますが、一部の(または多くの)人は、括弧内の情報にさらに焦点を当てています:(パスフレーズがない場合は空)、およびその提案に従います。

複数のSSHキーペアを使用するかどうかと、追加のpasswdを入力するかどうか組み合わせると、少なくとも4つの方法があります。そして、すべてのキーペアとconfigファイルがに保存されていると仮定しましょう~/.ssh/

最初にセキュリティを考慮しません。

次の表に、セキュリティに関する簡単なランクを示します(数字が大きいほど安全性が高くなります)。

Security     Ways to go
   1         One   SSH key-pair  (NO passwd)
   1         Multi SSH key-pairs (NO passwd)
   2         One   SSH key-pair  (WITH passwd)
   2         Multi SSH key-pairs (WITH passwd) (SAME passwd)
   3         Multi SSH key-pairs (WITH passwd) (DIFF passwds)

passwdを使用しないと、システムが誰かに侵入された場合、ブレーカーはすべての秘密鍵と設定、リモートサーバーの認証を取得できます。したがって、この状況では、1つのキーペアとマルチキーペアは同じです。最も安全な方法は、異なるsshキーペアに異なるパスワードを使用することです。

それでは利便性について考えないでください。

しかし、より多くのキーペアとより多くのパスワードは、私たちの生活をより便利にしません。次の表は、セキュリティに関する簡単なランクを示しています(数字が大きいほど安全です)。

Convenient  Security  Ways to go
   5           1      One   SSH key-pair  (NO passwd)
   4           2      One   SSH key-pair  (WITH passwd)
   3           1      Multi SSH key-pairs (NO passwd)
   2           2      Multi SSH key-pairs (WITH passwd) (SAME passwd)
   1           3      Multi SSH key-pairs (WITH passwd) (DIFF passwds)

したがって、一般的な状況では、セキュリティ利便性を同時にトレードオフする必要がある場合、2つのスコアを掛けることができます。1つのSSHキーペア(パスワード付き)を選択するのが適切な場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.