チケット #35203

DHの最小ビット数を指定できるようにする

登録: 2015-05-28 22:34 最終更新: 2015-09-01 09:23

報告者:
(del#1144)
担当者:
チケットの種類:
状況:
完了
コンポーネント:
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
受領
ファイル:
なし
投票
点数: 0
No votes
0.0% (0/0)
0.0% (0/0)

詳細

https://twitter.com/ttdoda/status/603009285451157504

https://twitter.com/ttdoda/status/603357818582732800


DH-GEX では使用するグループのサイズの条件として、クライアントが 最小(min) / 希望(req) / 最大(max) の値を通知する。

サーバはこの要求に合ったグループ(p)を返す。p のサイズとしてはクライアントの要求値の他に、プロトコルとして 1024 <= sizeof(p) <= 8192 という条件もある。

現状ではサーバが返してきた p のサイズが要求した条件に合っているか確認していないが、これをチェックするように変更する。

pのサイズで条件分けを考えると、

  1. sizeof(p) < 1024
  2. 1024 <= sizeof(p) < min
  3. min <= sizeof(p) < req
  4. req <= sizeof(p) <= max
  5. max < sizeof(p) <= 8192
  6. 8192 < sizeof(p)

の 6 パターンが考えられる。

  • 1,6 はエラー通知して切ってもOKか?
  • 2 はエラー通知して切るか、警告メッセージとして処理を続行するか選べるようにするか
  • 3 は警告&続行確認を行うか、なにも行わないか
  • 4 は問題なし
  • 5 は現状では max が8192固定である為、実際には発生しない。max を指定できるようにした場合は検討が必要。ただし max の指定に意味が有るか?

別案として、min の指定の他に、受け取った p の値が一定値(設定変更可)より小さかったら警告&続行確認をするというのも考えられる。

  • sizeof(p) < min で切断
  • sizeof(p) < warn で警告&続行確認
  • warn < min で警告&続行確認が無効
  • min < 1024 で強制切断無効

こちらの方がユーザが動作を制御しやすいか?

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

2015-05-28 22:34 更新者: (del#1144)
  • 新しいチケット "DHの最小ビット数を指定できるようにする" が作成されました
2015-06-02 15:46 更新者: doda
  • 解決法なし から 受領 に更新されました
2015-06-23 12:55 更新者: doda
コメント

DH-GEXの min の指定は r5900で実装済。

サーバから受け取った p が要求と合っているかのチェックについては仕様検討中。

2015-06-23 13:25 更新者: doda
  • 詳細が更新されました
2015-09-01 09:01 更新者: None
2015-09-01 09:23 更新者: doda
コメント

古いサーバではmoduliに含まれるグループが4096(OpenSSH 3.9p1)/6144(OpenSSH 4.7p1)までしか含まれず、また共通暗号方式でAES256-CTRを使うと8192を要求する為、sizeof(p)<reqが普通に起きる。

最終的に、以下のとおりとした。

  1. 切断
  2. 続行確認
  3. 警告無し
  4. 警告無し
  5. 続行確認
  6. 切断
2015-09-01 09:23 更新者: doda
  • チケット完了時刻2015-09-01 09:23 に更新されました
  • 状況オープン から 完了 に更新されました

添付ファイルリスト

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

編集

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