署名されたSSHキーペアなどはありますか?


9

アプリケーションのリモートサーバーにファイルを転送しています。必要な認証方法は、SSHキーを使用することです。

そのため、ssh-keygenを使用してキーペアを作成し、リモートホストのauthorized_keysファイルに挿入するために公開鍵を送信しました。しかし、これは、ITセキュリティーによって拒否されました。ITセキュリティは、彼らが私のために鍵ペアを生成し、私に秘密鍵を送信すると述べた。理由:「SSH鍵はITセキュリティチームによって署名される必要があります。これは、追跡と説明責任を確実にリードするためです。」

明らかに、これには問題があります。誰かが秘密鍵を生成するということは、知らないうちにその人になりすましてもらうことができるということです。私はこの議論を否定する方法を見つけようとしています。

私がグーグルできる限り、サインオンした人を追跡するのに役立つようなキーにサインする方法は知られていないようです。公開鍵を送信したという事実は、私がその鍵を所有しており、その鍵を使用してリモートサーバーにサインオンした人は、デフォルトで自分自身として識別されることを意味します。署名はどのように役立ちますか?そして、どうやって彼らはとにかく署名しますか?

私が間違っている場合、誰かが私に手掛かりをしてください、ありがとう!


さて、SSHキーに署名する方法はないと判断したので、実際にログインしている人を追跡する方法をITセキュリティに示す必要があります(建設的なものでなければならない、多分、強引ではありません) )。私のサーバーでは、sshdのLogLevelをDEBUGに設定しました。したがって、ログインすると、次のスニペットが表示されます。

Found matching DSA key: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

これはハッシュ値のようです。これを、authorized_keysファイルのどの公開鍵が使用されたかに関連付けるにはどうすればよいですか?私は言う別の行があることを知っています:

debug1: matching key found: file /home/bofh/.ssh/authorized_keys2, line 1

ただし、ファイルの先頭にキーを挿入して元のキーを押し下げると、行番号を簡単に変更できるので、これはあまり役に立ちません。

ありがとう!


2
たぶん彼らは鍵を印刷し、それを(紙に)署名し、それからそれをファイルしますか?
innaM 2009

得られるハッシュ値は、おそらくキーのいわゆるフィンガープリントです。これらのフィンガープリントを一覧表示する方法については、opensshのマニュアルを確認することをお勧めします。
Niels Basjes、2009

このポリシーが設定されている最も可能性の高い理由は、必要に応じて実際にあなたになりすますことができるようにしたいということです。署名の論拠は、初心者にとってもっともらしく聞こえるようにするための単なるBSです。公開鍵に署名する必要があったとしても、自分で生成する必要はありません。
b0fh

回答:


13

あなたがあなたの質問をして以来、宇宙は変わりました。

openssh5.4は、まさに求めていた種類の証明書のサポートを追加しました。詳細については、http://www.openssh.org/txt/release-5.4(およびmanページ)のリリースノートを参照してください。または、本当に狂気になりたい場合は、PROTOCOL.certkeysで詳細を確認してください。


非常に長い時間の後にこれを見ただけです...合法のようです:)試してみます、ありがとう!
feicipet 2013年

8

あなたの質問を読んだときの私の第一印象は、IT担当者がSSHとSSLを混ぜ合わせており(私たちが署名する必要があります)、SSL署名が実際にどのように機能するか理解していないということです。

とにかく、(私が知っている)SSHキーに署名できる方法はありません。


+1 PGPまたはSSL証明書に署名できるのと同じ方法でssh鍵に署名することはできません。彼らからの説明を求めたい。
David Pashley、

4

このリクエストは正しくありません。

署名されたファイルをサーバーに配信する場合、これは
最低限の処理で済むと思います。

  1. 自分用のキーペアを作成します(これをマイキーと呼びます)
    • 何かを送りたい時
    • あなたは最初にそれを暗号化します my-key-private
    • 次に、この暗号化されたファイルをサーバーにアップロードします
    • サーバーの誰かがこのようなプロセスを逆にしなければなりません、
    • 彼らはあなたmy-key-pubを使ってファイルを復号化します
    • ファイルを送信した場合、復号化してファイルを復元します
    • それ以外の場合、使用可能なファイルは取得されません
    • 事実上、秘密鍵でファイルに署名した
    • 彼らはあなたの公開鍵で署名を検証しました
    • 説明責任は、あなたがファイルを送信したことを確認することによって影響を受けます

そのようなことを行う他の方法がありますが
、誰かが生成したキーペアを取得することは、認証スキームとしては役に立ちません
それはあなたがあなた自身を信頼するのと同じくらい彼らを信頼するという強い含意を持っています。


これらは、ITに質問できる最初の質問です。説明責任が ITの懸念事項である
場合、

  1. 彼らはあなたが彼らからあなたに与えられたキーペアを共有/紛失しないことをどのように確認しますか?そして、
    • この鍵ペアからITへの概念は、ITから提供されたパスワードとどのように異なりますか。
      その場合、なぜ鍵ペアに悩む必要があるのでしょうか。

あなたはファイルを暗号化するためのPGP / GnuPGを考えています。この場合、鍵署名は正常です。元の質問はSSHキーに関するものです。彼らがPGPで署名/暗号化されたSSH鍵を要求した場合(お互いのPGP鍵を確認して署名した後)は理にかなっています。
PGS

@pgs、私はここでIT担当者がターゲットにしているものを確認しようとしています。
nik 09/07/22

私はセキュリティ担当者が混乱していると確信していますが、彼は私の同僚ではなく、クライアントの会社のITセキュリティ担当者なので、もう少し機知に富んでいて、彼を笑って、彼は物事を持っていると言って建設的にプッシュする必要があります。混同。はい、それは間違いなくSSHであり、PGPではありません。
feicipet 2009

@feicipet、タクティカルになることは私の最後のポイントがあなたを助ける場所です。
nik

@feicipet、あなたの目標は、最終的に彼らが彼らの意図を正しく達成するために彼らがしなければならないであろう最小限を実現することです。
nik 09/07/22

2

ベアキーの代わりにSSH認証にX.509証明書を使用できなかった理由はありません。実際、OpenSSHがこのように機能した場合、私はそれをはるかに好みます!しかし、OpenSSHのストックバージョンはそうではなく、最近では主流の実装になっています。

私はOpenSSHのパッチを当てたバージョンがいくつか浮かんでいるのを見てきました。商用のSSH.com実装もX.509認証をサポートしているようです。したがって、組織がこれらのいずれかを使用している場合、中央機関による鍵の署名を要求することは十分に理にかなっています。

とはいえ、秘密キーをサードパーティが生成することを要求する言い訳はありません!SSLに使用される他のX.509証明書と同じように、X.509ルートを使用する場合は、キーペアと証明書署名リクエストを生成する必要があります。

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