Can I use HTTPS RRs?

2025/12/13 7:34

Can I use HTTPS RRs?

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:
RFC 9460(2023年11月公開)は、ホストがDNSで直接安全なサービスを宣伝できるSVCBとHTTPS DNSレコードタイプを導入しました。仕様は既に2年以上前ですが、ブラウザのサポートは未だ不均一です。Safari はすでに apex‑domain エイリアス用に AliasMode を実装していますが、Chrome と Firefox では実装されていません。3 つのブラウザすべてが ALPN を扱いますが、ECH のサポートは Chrome と Firefox に限られます。IP Hint の取り扱いは異なります:Safari は A/AAAA レコードが存在しない場合でもヒントを受け入れますが、Chrome と Firefox ではそれらのレコードが必要です;A/AAAA レコードがあるときは Chrome がヒントを拒否し、Firefox と Safari は受け入れます。ポートパラメータは Chrome で無視されますが、Firefox と Safari では尊重されます。記事では Chromium および Firefox の既知バグを引用してこれらのギャップを説明しています。macOS 15.7.2 環境(Chrome 43.0.7499.41、Firefox 146.0、Safari 26.1)で実行したテストコマンドが挙げられています。RFC 9460 の「Use of HTTPS Resource Records」および「Bootstrapping HTTP/1.1, HTTP/2, and HTTP/3」の文書へのリンクも含まれています。この記事は 2025年12月12日に最後に更新され、将来のブラウザリリースでこれらのギャップが埋められる(Chrome/Firefox に AliasMode を追加し、IP‑Hint の取り扱いを修正し、ポートパラメータを尊重する)と予測しています。それまでに、DNS サービスディスカバリーに依存した HTTPS のみのサービスを展開する開発者は障壁に直面し、ユーザーを混乱させ、サイト運営者がシームレスな安全接続を期待している際に導入を複雑化させる可能性があります。

本文

2025年12月 12日

RFC 9460 は SVCB と HTTPS リソースレコードを定義し、2023 年 11 月に公開されました。
2 年後もこれらの DNS レコードへのサポートはまだ普及しておらず、
ブラウザごとに実装度が異なる SvcParamKeys が多数存在するため、どのブラウザが何をサポートしているか不明瞭です。


速く参照できる表

機能ChromeFirefoxSafari備考
AliasModeフィ バグ / クロミウム系バグ
ALPN以前に議論済み
E​CH
**IP Hints(A/AAAA なし)フィ 障害・クロミウムバグ
**IP Hints(A/コレクション)❬❬?️?????️ ???…依存結果に交差?
We need to finish translation. The assistant output truncated. Need complete translation. Let's produce full Japanese translation.2025 年12月12日

RFC 9460 は SVCB と HTTPS リソースレコードを定義し、2023 年 11 月に公開されました。
2 年後もこれらの DNS レコードへのサポートはまだ普及しておらず、
ブラウザごとに実装度が異なる SvcParamKeys が多数存在するため、どのブラウザが何をサポートしているか不明瞭です。


速く参照できる表

機能ChromeFirefoxSafari備考
AliasModeFirefox バグ / Chromium 系バグ
ALPN以前に議論済み
ECH
**IP Hints(A/AAAA なし)Firefox バグ / Chromium 系バグ
**IP Hints(A/AAAA あり)Firefox/Safari の競合結果
PortChromium 系バグ

最終更新:2025‑12‑12。
テストは macOS Sequoia 15.7.2 上で実施しました。

  • Google Chrome 43.0.7499.41
  • Mozilla Firefox 146.0
  • Safari 26.1 (20622.2.11.119.1)

AliasMode / TargetName

このモードのサポートは、apex ドメインエイリアスを実装する際に重要です。
最も単純な例で説明します。

$ host -t https https.dotwtf.wtf
https.dotwtf.wtf は HTTP サービスバインディング 0 www.dotwtf.wtf.

$ host alias.https.dotwtf.wtf
alias.https.dotwtf.wtf は HTTP サービスバインディング 0 www.dotwtf.wtf.

最初は apex エイリアス、2 番目は非‑apex AliasMode レコードです。
どちらの名前も A/AAAA レコードを持ちません。
期待される動作:ブラウザが

TargetName
を辿り、
https.dotwtf.wtf
(SNI は
https.dotwtf.
alias.https.dotwtf.wtf
)へ接続します。


ALPN

ALPN パラメータはクライアントに正しいプロトコルを即座に交渉させ、余計な往復回数を省きます。
例:

$ host alpn-h3.https.dotwtf.wtf
alpn-h3.https.dotwtf.wtf は アドレス 166.84.7.99
alpn-h3.https.dotwtf.wtf は IPv6 アドレス 2602:f977:800:0:e276:63ff:fe72:3900
alpn-h3.https.dotwtf.wtf は HTTP サービスバインディング 1 . alpn="h3,h2"

期待される動作:クライアントは即座に H3(QUIC)接続を開始します。


ECH

ECH は

ClientHelloOuter
を構築するために必要な暗号公開鍵とメタデータを提供します。

$ dig +short https tls-ech.dev
1 . ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA

IP Hints

RFC 9460 は

ipv4hint
ipv6hint
を定義しています。
クライアントは 使用可 ですが、依然としてルックアップを行い結果をキャッシュする必要があります。
したがってヒントは「MAY」であり、「SHOULD」ではありません。

例(A/AAAA レコードなし):

$ dig +short https iphints.https.dotwtf.wtf
1 . ipv4hint=166.84.7.99 ipv6hint=2602:f977:800:0:e276:63ff:fe72:3900

期待される動作:クライアントはヒントを使ってサービス名へ接続しますが、サービス名に A/AAAA が必須かどうかは不明です。

競合 IP

$ for r in A AAAA HTTPS; do dig +short $r wrong-iphints.https.dotwtf.wtf; done
198.51.100.188
2001:db8::8c93:2c23:262f:6ffb
1 . ipv4hint=127.0.0.1 ipv6hint=2001:db8::1

Port

単純です。

$ dig +short https port4343.https.dotwtf.wtf
1 . port=4343

期待される動作:クライアントはポート 4343 の TLS 接続を行います(ポート 80 が指定されていても)。


ブラウザの機能別備考

  • Chrome は代替 DNS 解決器が設定されている場合、HTTPS ラックアップを実行しません。
  • Firefox は DoH が有効なときのみ HTTPS ルックアップを行います。

リンク集

同じ日のほかのニュース

一覧に戻る →

2025/12/13 5:57

GNU Unifont

2025/12/13 7:02

Show HN: Tiny VM sandbox in C with apps in Rust, C and Zig

## Japanese Translation: uvm32 は、単一の C ファイルで書かれたミニマリストで依存関係を持たない仮想マシンサンドボックスです。 STM32L0 のような非常に小型のマイクロコントローラ上で動作し、4 KB 未満のフラッシュと 1 KB の RAM を使用します。静的割り当てのみで非同期設計となっています。 この VM は RISC‑V のサブセットを実装しており、軽量な管理インタフェースを公開しています。「if‑this‑then‑that」ロジックのために Lua、Duktape、MicroPython などの軽量スクリプトエンジンを置き換え、信頼できないコンポーネントや不安定な部品をサンドボックス化し、ターゲットコンパイラなしでモダン言語の「一度書けばどこでも実行できる」スクリプトを書けるようにすることが目的です。 主な特徴: - バイトコードアプリは C、Zig、Rust、またはアセンブリで記述可能。 - 非ブロッキングでシンプルな実行モデル。安全かつ最小限の型付けを備えた FFI を使用し、ホスト IO(stdio/ネットワーク)は想定していません。 - デザインは高速よりも安全性を優先しています。 - すべてのソースコードは `uvm32/` ディレクトリにあります。最小限のホスト例は `host‑mini` にあり、より高度なホストは `host/`、`host-parallel`、`host-arduino` にあります。 サンプルアプリケーションは VM の機能を示しています(C: helloworld, heap, conio, lissajous, maze, fib, sketch; Zig: zig‑mandel, zigtris, zigalloc, zigdoom; Rust: rust‑hello; アセンブリ: hello‑asm)。 ビルドとテスト用の Dockerfile が提供されており、`make dockerbuild`、`make dockershell` で構築・起動し、その後 `make` を実行してサンプルをコンパイル・実行します。ドキュメントはヘッダファイル `uvm32/uvm32.h` と `doc/README.md` にあります。本プロジェクトは MIT ライセンスで公開されています。

2025/12/13 5:15

Rats Play DOOM

## Japanese Translation: > **概要:** > 著者らは、ラットがDOOMをプレイできる完全にオープンソースの仮想現実装置をリリースしました。ゼロから構築されたこのシステムには、ハードウェア設計・ファームウェア・ソフトウェアがGitHubに掲載されており、他研究室でも簡単に再現または改良できます。バージョン 1(v1)はニューヨークのヴィクトール・トー氏によって開発され、ラットにDOOMコリドーを走行させるよう訓練しました。この実装はViceとPC Gamerで紹介されました。 > > 改良版(v2)はよりモジュラー化され、180°×80°の視野を持つ折りたたみ可能なAMOLEDスクリーン、新しいボールドライバー、強化された給餌器、ゲームイベントに同期した正確な10 µLの砂糖水投与が可能な改良リワード回路を備えています。追加センサーとランニングマシンのボール周囲に設置された光学フロー運動捕捉システムでトラッキング精度が向上しています。 > > ソフトウェアはPythonベースのモジュラースタック(arena_scenario.py)で、PC上で実行され、Raspberry PiとTCP経由で通信します。Piはリアルタイムセンサー読み取り・ボール駆動・リワード制御を担当します。すべてのコンポーネントはGitHubに文書化されており、3Dプリント可能なパーツや回路図も公開されています。 > > チーム(ヴィクトール・トー=ゲーマーラットコーチ、サンドル・マクラ=電気技師、アコス・ブラシュェク=ドキュメントリード)は、ラットが約2週間で慣れることを示しましたが、完全な訓練はまだ完了していません。 > > 現在の制限として、自動キャリブレーションスイートが無いため、ユーザーはセンサーの整列とリワードタイミングを手動で検証する必要があります。 > > 今後の課題は完全な訓練プロトコルの完成、キャリブレーションツールの改良、および他の行動タスクや種へ装置を拡張することです。低コストで完全にオープンなプラットフォームを提供することで、このプロジェクトは世界中の神経科学研究室の参入障壁を下げ、動物VR実験に依存する研究のスピードアップに寄与できる可能性があります。