チケット #36109

rsa-sha2-256, rsa-sha2-512公開鍵アルゴリズムのサポート

登録: 2016-03-06 20:22 最終更新: 2023-10-15 22:09

報告者:
(del#1144)
担当者:
チケットの種類:
状況:
オープン [担当者決定済み]
コンポーネント:
マイルストーン:
優先度:
9 - 最高
重要度:
9 - 最高
解決法:
受領
ファイル:
なし
投票
点数: 2
100.0% (2/2)
0.0% (0/2)

詳細

rsa-sha2-256, rsa-sha2-512 公開鍵アルゴリズムに対応する。

時系列

2015-11-01 draft-rsa-dsa-sha2-256-00 Use of RSA and DSA Keys with SHA-2 256 in Secure Shell (SSH)
2018-03-20 RFC 8332 Use of RSA Keys with SHA-256 and SHA-512 in the Secure Shell (SSH) Protocol
2020-02-14 OpenSSH 8.2 にて Future deprecation notice として ssh-rsa (RSA with SHA-1) が挙げられた為、実際に廃止されるまでに対応する必要有り。
2021-06-02 Tera Term 4.106(rsa-sha2 未対応)リリース
2021-09-26 OpenSSH 8.8 にて、ssh-rsa はデフォルトで無効にされた。
2022-04-18 Tera Term 5.0 alpha1(rsa-sha2 未対応)リリース
2022-04-21 Ubuntu 22.04 LTS リリース OpenSSH 8.8 採用 ssh-rsa はデフォルトで無効
2022-05-18 RHEL 9 リリース OpenSSH は 8.7p1だが ssh-rsaは暗号ポリシーで無効になっている模様
2022-07-18 trunk へ rsa-sha2 対応コミット
2023-02-28 Tera Term 5.0 beta1(rsa-sha2 対応済)リリース
2023-03-15 Amazon Linux 2023 リリース OpenSSH は 8.7p1だが ssh-rsa は無効になっている模様

対応範囲

  • サーバホスト鍵
  • 公開鍵認証
    • 公開鍵認証で使用する為には SSH2 拡張ネゴシエーション (#36111) に対応する必要あり

検討事項

  • 公開鍵認証での署名方式の優先度
    • 仮実装では rsa-sha2-512, rsa-sha2-256, ssh-rsa で固定
    • 設定可能にする?→した
      • 設定方法は設定ファイルのみ? Web-UIでの変更は必要?→設定ファイルのみとした
    • 現状では公開鍵方式に対応する署名方式が複数有るのはRSAのみ
      • 優先度指定はRSA専用でOK? 汎用的にすべき?→RSA専用とした
      • server-sig-algs で送られて来る情報はRSA以外も含まれている

関連

対応状況

Tera Term 5

Tera Term 4

残件

  • OpenSSH 7.4のバグへの対応
  • 対応する署名方式が無かった場合のエラー処理
  • 古いPageant使用時など、意図した署名が返ってこなかった場合の対応 (警告を表示する?)
  • ssh-rsa を無効化していてもサーバー側が server_sig_algs を送ってこないと ssh-rsa が使われる
  • server_sig_algsがNULLの場合のserver_proposal

Requests?

チケットの履歴 (95 件中 3 件表示)

2016-03-06 20:22 更新者: (del#1144)
  • 新しいチケット "rsa-sha2-256, rsa-sha2-512公開鍵アルゴリズムのサポート" が作成されました
2020-02-06 18:36 更新者: doda
  • 解決法なし から 受領 に更新されました
  • 担当者(未割り当て) から doda に更新されました
  • 詳細が更新されました
  • 優先度5 - 中 から 7 に更新されました
  • 重要度5 - 中 から 7 に更新されました
  • マイルストーン(未割り当て) から Tera Term 4.106 (完了済み) に更新されました
コメント

OpenSSH 8.2 にて Future deprecation notice として ssh-rsa (RSA with SHA-1) が挙げられたので優先度を上げる。

影響が大きいので 4.106 でも対応する。

2020-02-06 18:40 更新者: doda
  • 優先度7 から 9 - 最高 に更新されました
  • 重要度7 から 9 - 最高 に更新されました
2020-02-10 15:41 更新者: doda
  • 詳細が更新されました
2020-05-08 09:52 更新者: doda
  • 詳細が更新されました
2020-05-08 10:09 更新者: doda
  • 詳細が更新されました
2021-05-20 08:14 更新者: nmaya
2022-04-04 01:30 更新者: nmaya
  • 詳細が更新されました
2022-05-23 23:10 更新者: nmaya
  • 詳細が更新されました
2022-05-26 08:44 更新者: nmaya
  • 詳細が更新されました
2022-06-04 08:30 更新者: nmaya
  • 詳細が更新されました
2022-06-08 22:34 更新者: nmaya
  • 詳細が更新されました
2022-06-12 23:39 更新者: nmaya
  • 詳細が更新されました
2022-06-14 19:57 更新者: nmaya
  • 詳細が更新されました
2022-07-07 22:53 更新者: nmaya
  • 詳細が更新されました
2022-07-15 18:25 更新者: nmaya
  • 詳細が更新されました
2022-07-16 11:14 更新者: nmaya
  • 詳細が更新されました
2022-07-16 21:20 更新者: nmaya
  • 詳細が更新されました
2022-07-16 21:28 更新者: nmaya
  • 詳細が更新されました
2022-07-19 23:56 更新者: nmaya
  • 詳細が更新されました
2022-08-15 21:57 更新者: nmaya
  • 詳細が更新されました
2022-08-25 01:01 更新者: nmaya
  • 詳細が更新されました
2022-09-15 18:41 更新者: doda
  • 詳細が更新されました
2022-09-15 19:21 更新者: doda
コメント

対応状況

Tera Term 5

Tera Term 4

r10193 にて r10063 - r10075 をMFT

残件

  • 「About TTSSH」ダイアログでの表示
  • 優先度の指定
2022-09-21 08:06 更新者: nmaya
  • 詳細が更新されました
2022-10-04 21:08 更新者: nmaya
  • 詳細が更新されました
2022-10-27 06:57 更新者: nmaya
  • 詳細が更新されました
2022-11-19 11:42 更新者: nmaya
  • 詳細が更新されました
2022-12-07 12:59 更新者: nmaya
  • 詳細が更新されました
2022-12-13 21:40 更新者: nmaya
  • 詳細が更新されました
2022-12-15 08:06 更新者: nmaya
コメント
  • 4-stable
    • 優先度の設定 r10384, r10386
    • About ダイアログ r10387
    • setup/teraterm-ssh.html, setup/teraterm-ini.html TODO
  • trunk
    • 上がそろったらマージする
2022-12-17 23:02 更新者: nmaya
  • 詳細が更新されました
2022-12-20 01:45 更新者: nmaya
コメント

状況

  • 4-stable
  • trunk
    • チェック/修正後にマージする

チェック依頼

ttssh2-dev 486 でチェックをお願いしましたが、ドキュメントまでひととおりそろったと思いますので、再度チェック依頼をします。

  • 優先度の設定は RSA 専用にしましたが、いいでしょうか?
  • "ssh-rsa, rsa-sha2-256, rsa-sha2-512"

ドキュメントでは「(公開鍵認証の)署名アルゴリズム」としてあります。

設定項目名は「RSAPubkeySignAlgorithmOrder」としてあります。

問題ないでしょうか?

OpenSSH の Release Note では 署名アルゴリズム(signature algorithm), 署名スキーム(signature scheme)
OpenSSH の sshd_config では PubkeyAcceptedAlgorithms
RFC では 公開鍵アルゴリズム(Public Key Algorithm)
  • "SHA1, SHA-256, SHA-512"

ドキュメントでは「署名の生成に使われるハッシュアルゴリズム」としてありますが、間違っていないでしょうか?

2022-12-21 01:14 更新者: nmaya
  • 詳細が更新されました
2023-01-05 00:02 更新者: nmaya
  • 詳細が更新されました
2023-01-09 20:19 更新者: doda
コメント

nmaya への返信

残件として、

  • ユーザー認証中のSSH_MSG_EXT_INFOへの対応
  • OpenSSH 7.4のバグへの対応
  • 対応する署名方式が無かった場合のエラー処理
  • 古いPageant使用時など、意図した署名が返ってこなかった場合の対応 (警告を表示する?)

が有ります。

他に関連する残件として #36111 の残件が有りますが、致命的な問題ではないので後回しでもいいかもしれません。

== チェック依頼

挙げられた項目に関してはすべて問題ないと思います。

動作ですが、ssh-rsa を無効化していてもサーバー側が server_sig_algs を送ってこないと ssh-rsa が使われるのが妥当なのかが気にかかります。

server_sig_algsがNULLの場合は server_proposal として "ssh-rsa" を使うようにする方がいいかもしれません。(署名方式が見つからなかった場合のエラー処理必須)

ドキュメントでは以下が気になりました。

ttssh2-dev 486

既存の動きでこういうところがありますが、無理に分けたりしない
ほうがよさそうですか?
- ssh.h の Key 構造体のコメントに「ホストキー」とありますが、
pvar->auth_state.cur_cred.key_pair でユーザ認証鍵に使われている。
- 同じく hostkey.c にある ssh2_hostkey_... という関数や ssh2_host_key が
認証鍵に使われている。

用途が違うだけで機能自体は同じものなので、無理に分けない方がいいと思います。

2023-01-09 22:15 更新者: nmaya
  • 詳細が更新されました
コメント

ドキュメント

チェックありがとうございます。

RSAPubkeySignAlgorithmOrderのリンク先

設定例の値の前後に <>

修正したのですが、いまコミットできませんね。

teraterm-ssh.html#RSAPubkeySignAlgorithmOrder で、ホスト鍵の確認には使われない事を追記する。

これは https://osdn.net/projects/ttssh2/svn/view/branches/4-stable/doc/ja/html/setup/teraterm-ssh.html?annotate=10416&root=ttssh2#l196 と書いたのとは別のことでしょうか?

ホストキー

無理に分けない方がいいと思います。

わかりました。

残件

まだ少しあるんですね。チケット詳細の残件を更新します。

2023-01-10 08:17 更新者: nmaya
  • 詳細が更新されました
2023-01-10 12:46 更新者: nmaya
2023-01-18 08:17 更新者: nmaya
  • 詳細が更新されました
コメント

挙げられた項目に関してはすべて問題ないと思います。

チェックしていただいた部分を、r10509 で 4-stable から trunk にマージしました。

2023-02-06 22:17 更新者: nmaya
  • 詳細が更新されました
2023-02-06 22:40 更新者: nmaya
  • 詳細が更新されました
2023-02-14 21:14 更新者: nmaya
  • 詳細が更新されました
2023-02-21 01:32 更新者: nmaya
  • 詳細が更新されました
2023-03-16 17:39 更新者: nmaya
  • 詳細が更新されました
2023-03-24 08:07 更新者: nmaya
  • 詳細が更新されました
2023-03-24 08:08 更新者: nmaya
  • 詳細が更新されました
2023-04-01 22:46 更新者: nmaya
  • 詳細が更新されました
2023-04-07 19:36 更新者: nmaya
  • 詳細が更新されました
2023-04-18 08:35 更新者: nmaya
  • 詳細が更新されました
2023-05-07 19:58 更新者: nmaya
  • 詳細が更新されました
2023-05-10 00:21 更新者: nmaya
  • 詳細が更新されました
2023-05-13 13:12 更新者: nmaya
  • 詳細が更新されました
2023-05-19 17:35 更新者: nmaya
  • 詳細が更新されました
2023-05-23 08:21 更新者: nmaya
  • 詳細が更新されました
2023-05-23 19:31 更新者: nmaya
  • 詳細が更新されました
2023-05-23 19:46 更新者: doda
コメント

KEXまわりを変更した影響でRekeyが動かなくなっているので要対応。

2023-05-26 23:34 更新者: nmaya
  • 詳細が更新されました
2023-05-29 12:23 更新者: nmaya
  • 詳細が更新されました
2023-06-04 22:04 更新者: nmaya
  • 詳細が更新されました
2023-06-05 00:10 更新者: nmaya
  • 詳細が更新されました
2023-06-06 14:17 更新者: nmaya
  • 詳細が更新されました
2023-06-07 23:34 更新者: nmaya
  • 詳細が更新されました
2023-06-09 01:36 更新者: nmaya
  • 詳細が更新されました
2023-06-19 07:27 更新者: nmaya
  • 詳細が更新されました
2023-06-19 21:46 更新者: nmaya
  • 詳細が更新されました
2023-06-20 19:33 更新者: nmaya
  • 詳細が更新されました
2023-06-21 20:34 更新者: nmaya
  • 詳細が更新されました
2023-06-23 18:18 更新者: nmaya
  • 詳細が更新されました
2023-07-01 07:04 更新者: nmaya
  • 詳細が更新されました
2023-07-10 21:11 更新者: nmaya
  • 詳細が更新されました
2023-07-15 23:57 更新者: nmaya
  • 詳細が更新されました
2023-07-18 17:47 更新者: nmaya
  • 詳細が更新されました
2023-07-20 19:39 更新者: nmaya
  • 詳細が更新されました
2023-07-23 19:59 更新者: nmaya
  • 詳細が更新されました
2023-07-31 20:37 更新者: nmaya
  • 詳細が更新されました
2023-08-01 22:13 更新者: nmaya
  • 詳細が更新されました
2023-08-05 22:55 更新者: nmaya
  • 詳細が更新されました
2023-08-12 06:27 更新者: nmaya
  • 詳細が更新されました
2023-08-14 19:31 更新者: nmaya
  • 詳細が更新されました
2023-08-15 18:20 更新者: nmaya
  • 詳細が更新されました
2023-08-17 18:05 更新者: nmaya
  • 詳細が更新されました
2023-08-22 01:10 更新者: nmaya
  • 詳細が更新されました
2023-08-22 19:27 更新者: nmaya
  • 詳細が更新されました
2023-08-26 08:19 更新者: nmaya
  • 詳細が更新されました
2023-09-02 19:57 更新者: nmaya
  • 詳細が更新されました
2023-09-11 07:33 更新者: nmaya
  • 詳細が更新されました
2023-09-14 18:02 更新者: nmaya
  • 詳細が更新されました
2023-09-14 23:33 更新者: nmaya
  • 詳細が更新されました
2023-09-21 12:57 更新者: nmaya
  • 詳細が更新されました
2023-09-22 08:42 更新者: nmaya
  • 詳細が更新されました
2023-10-02 22:06 更新者: nmaya
  • 詳細が更新されました
2023-10-08 14:15 更新者: nmaya
  • 詳細が更新されました
2023-10-10 07:58 更新者: nmaya
  • 詳細が更新されました
2023-10-15 22:09 更新者: nmaya
  • 詳細が更新されました

添付ファイルリスト

添付ファイルはありません

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする