Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IETFにおけるNTPv5の標準化とossification.pdf

flano_yuki
April 07, 2023
420

 IETFにおけるNTPv5の標準化とossification.pdf

flano_yuki

April 07, 2023
Tweet

Transcript

  1. 自己紹介 - 後藤 ゆき (@flano_yuki) - 趣味でプロトコルの標準化に参加 - HTTP/QUIC -

    時刻同期関連 - NTPv5 - Roughtime - NTS (over QUIC?) - NTP Chronos, NTP Over PTP 3
  2. NTPv5について Network Time Protocol Version 5 - 2020年より、IETF NTP WGで議論が進められている

    - 著者はRedHad の Miroslav Lichvar氏 (chrony実装者) - PoC実装が公開されている (実装者募集中) 標準化タイムライン
  3. NTPv4(RFC5905)との主な違い (2/3) • NTP のera 番号はプロトコルで交換され、クライアントの明 確な間隔が 136 年から約 35000

    年に延長されます • NTPv5 はインターリーブ モードを追加して より正確な送信タイムスタンプを提供 (* NTPv4の拡張仕様でもある) • NTPv5 は、Reference IDのセットに対してブルームフィル タで複数ホストのループを検出 7
  4. (割愛) 定義されている拡張 - Draft Identification Extension Field - Padding Extension

    Field - MAC Extension Field - Reference IDs Request and Response Extension Fields - Server Information Extension Field - Correction Extension Field - Reference Timestamp Extension Field - Monotonic Receive Timestamp Extension Field - Secondary Receive Timestamp Extension Field
  5. その他 NTPv5にかかる議論トピック • 暗号化 ◦ RFC 8915 NTP for NTSには基本対応

    ◦ デフォルトで暗号化したいという意見もある ▪ QUIC使いたい話しも (by Salz, Rich) • ダウングレード攻撃対策 / DDoS対策 • より高解像度な時間の取り扱い • タイムゾーン情報の付与
  6. Q クイズ A. - ◯ 応答なし(タイムアウト) - △ NTPv4のパケットが返ってくる -

    😭バージョンに5が指定されたNTPv4 パケットが返ってくる
  7. NTPにおけるossificationの例 - 実装上の問題 - バージョン番号を適切に扱われない - 対応してないはずのバージョンで応答してくる - v5のパケットが途中でドロップする -

    NTPv4で拡張フィールドが適切に扱われない - 未知(未対応)の拡張が来たときの振る舞いが不適切 - タイムアウトしたり、なぜかそのまま送り返してくる - 一部のタイムアウトはファイアフォールの影響 ?? - サーバがNTPv5対応してるっていうのに、通らない...!?
  8. NTPv5におけるossificationの対策 - バージョン番号を適切に扱われない - クライアントが、サーバからの応答が本当にNTPv5か確認できる - Cookie をサーバから正しくお繰り返して来ることを確認する - NTPv4で拡張フィールドが適切に扱われない

    - NTPv4で、クライアントがNTPv5を対応していることを表明できる - Reference Timestampに0x4E5450354E545035 ("NTP5NTP5" の ASCII値)を入れる NTPv5ではココらへんのハンドリングを 仕様上明文化