1

コンピューターをGit用にセットアップすると、SSHの秘密鍵と公開鍵が生成されます。次に、GitHubに公開鍵が何であるかを知らせます。私の理解では、公開鍵はメッセージを暗号化でき、秘密鍵はメッセージを復号化します。これで、githubがSSH経由で暗号化されたメッセージを送信する方法を理解できます。

ただし、私の質問は、GitHubにプッシュするときに、プッシュを実行しているのが私であることをどのようにして知るのかということです。他の誰かが私の名前とメールアドレスを使用して独自のSSHキーを作成し、GitHubリポジトリにプッシュすることはできませんか?

これが当てはまるとは思えないので、このために実施されているセキュリティ対策は何ですか?ありがとう!

4

1 に答える 1

5

GitHubには公開鍵のコピーがあり、名前や電子メールアドレスだけでなく、より多くの情報が含まれています。偽造された公開鍵を生成することによって再現できない独自の指紋があります(少なくとも、大規模なブルートフォース攻撃や予期しない数学的突破口がなければ)。

sshプロトコルが機能する方法で、GitHubは公開鍵に対して認証するssh接続を確認します。このような接続は、秘密鍵のコピーを持っている人だけが作成できます。

GitHubには秘密鍵のコピーがありませんが、持っていることを確認できます。(これが公開鍵暗号のすべてです。)

于 2012-05-16T19:43:36.393 に答える