matobaの備忘録

和歌山と東京を往復しつつ活動するエンジニアの記録

SSH鍵の生成における暗号アルゴリズムの知識アップデート

お疲れ様です。今日は最近の作業の中で見つけた、知識のアップデートを共有したいと思います。 SSH鍵の生成における暗号アルゴリズムに関する知識です。

SSH鍵のペア生成時の暗号アルゴリズムについて

SSH鍵のペアを生成するとき、多くの方が ssh-keygen コマンドを使っていると思います。私も使っています。その際に暗号アルゴリズムを指定すると思うのですが、私は今まで RSA を指定していました。

以前、私が学んだ当時はRSAが標準的なセキュリティレベルという認識があり、私の知識はそこで止まっていました。特に危険という話も聞かなかったので、その状態で使い続けていました。

新しい環境の構築時に気づく

今回、新しいマシンの環境を構築する必要があり、色々あってゼロからセットアップすることになりました。そこで、環境構築手順書の作成をClaude Opus 4に手伝ってもらいました。構築手順書の叩き台を生成し、、その生成されたものを自分なりに読んで知らないことは、「これはこうなっているのね」と理解していきました。そこで、暗号アルゴリズムの知識が古くなっていることに気づきました。

Ed25519アルゴリズムの発見

その過程で Ed25519 というアルゴリズムが出てきました。調べてみると、以下のような特徴があることが分かりました。

  • RSAと同等のセキュリティレベルを提供
  • より安全
  • より高速に処理できる

Opus4は「現在のベストプラクティスでは、こちらを使うことが推奨されている」と出しているので、それの裏どりもしてみました。

出典はどこ?

まあ、裏どりしてみたと言ってもClaude Opus 4に「出典はどこ?」と聞いてリンクを探させてそれを読んだ感じではあります。

確かにGitLabが案内する手順で推奨しています。

docs.gitlab.com

GitHubのssh-agent設定の記事でもレガシーシステムでない場合は Ed25519を使う流れになっています。

docs.github.com

Stackexchangeにドンピシャのスレッドもありました。

security.stackexchange.com

終わり

以前は一人で黙々と作業をしていると、自分の知識がどんどん古くなっていることに気づく機会がなかなかありませんでした。そして、色んな人と一緒に働いたり、色んな現場を見ていくことで自分の知識が古いことに気づき、徐々にアップデートをしていきました。しかし今回は、自分一人で作業していたにも関わらず、AIの生成した結果を確認している中で自分の知識が古いことに気づきました。

私は学習やスキル習得の機会というのは、大きな流れや変化につながると考えていますが、この知識のアップデートは、新しい時代を改めて感じました。

終わりです。