その他

セキュリティに強いSSH Keyの作り方を調べ直してみた

SSHキーの作り方と言えば、オプションがたくさんあって何が良いのか分からない...
という事で、ブログ執筆にあたり、セキュリティに強い方法を調べ直してみました。

これまで

これまでは、こちらのQiitaの記事を参考にしていました。
Githubが推奨しているやり方のようです。

ssh-keygen -t rsa -b 4096 -C "my_email@example.com"

調査結果

Ed25519鍵を使う

Ed25519鍵は OpenSSH 6.5 で追加されたそうです。
OpenSSH のバージョンは ssh -V で調べることができます。

ssh-keygen -t ed25519 -a 100 -C "my_email@example.com"

鍵のビット長は 256bit 固定で短いですが、楕円曲線暗号化(ECC)のおかげで、4096bit の RSA に似た複雑さを持っているとのこと。また、この-a 100オプションでは、100回のキー派生が指定されているため、キーのパスワードがブルートフォース(パスワード総当たり)攻撃されにくくなっているそうです。※ 2020年3月現在で最も強力

RSA鍵を使う

ssh-keygen -t rsa -b 4096 -o -a 100 -C "my_email@example.com"

Ed25519鍵が使えなかった場合は、こちらを使うと良いでしょう。ただ、この-oオプションについても、OpenSSH 6.5 以上が必要なようですので、、使えなかった場合には、冒頭で紹介した Github おすすめの方法が良いかと思います。

非推奨: ECDSA鍵

こちらは使わない方が良さそうです。。
※ しばしば、RSAよりも強力と紹介されている記事も見受けられましたが、米国政府がその開発に関与しているため、信頼性が問われているよう。

非推奨: DSA鍵

こちらも、セキュリティには強くなさそうです。

参考

以下の情報が大変参考になりました。ありがとうございました!

-その他
-

© 2020 teckmemo