タグ

ブックマーク / asnokaze.hatenablog.com (20)

  • プライベート用途に使える .internal ドメイン - ASnoKaze blog

    2024年7月に、ICANNで .internal トップレベルドメイン(TLD) がプライベート用途として予約されたようです。 背景 長らくプライベート用途で利用できるトップレベルドメインについて議論されてきました。 現在、各組織が独自のTLDをプライベート用に利用しているケースがあります。しかし以下のような問題があります、 新gTLDが登録された際に、衝突する可能性がある Root DNSへ不要な問い合わせがある 実際、.home、.internal、.lan、.corp、.localdomain、.dlink、.zyxel-usg のような問い合わせがRoot DNSに来ていることが知られています。 そこで、.internal をプライベート用途として予約しようというのが、ICANNで議論されている『SAC113:SSAC私的利用TLDに関する勧告(SAC113)』です。 JPNIC

    プライベート用途に使える .internal ドメイン - ASnoKaze blog
  • HTTP/3コネクション上でSSHを実行するSSH3プロトコル - ASnoKaze blog

    IETFに『Secure shell over HTTP/3 connections』という提案仕様が提出されています。 これは、HTTP/3コネクション上でSSHを実行するプロトコルを定義しています。なお、"SSH3"という名称を仕様中で使用していますが、あくまで提案段階ですので今後変わる可能性もあります。 SSH3ではHTTP/3を使うことにより以下の特徴を持ちます QUICのメリットが享受できる(例えばIPアドレスが変わってもコネクションを維持できる) HTTPの認証方式をサポートする(Basic認証、OAuth 2.0、Signature HTTP Authentication Scheme) SSH通信の秘匿 (第三者からするとただのHTTP通信にみえる) エンドポイントの秘匿 (Signature HTTP Authentication Schemeを使うことで、そこでサービス

    HTTP/3コネクション上でSSHを実行するSSH3プロトコル - ASnoKaze blog
  • TLS 1.2への新機能追加を停止する議論 - ASnoKaze blog

    IETFに『TLS 1.2 is in Feature Freeze』という提案が出されています。 これは、標準化作業上、TLS1.2に新しい機能追加を停止しようという提案です(ただしセキュリティ対応は除く)。TLS1.2やTLS1.3にはエクステンションや、新しい暗号アルゴリズム、Supported Groupsなどを追加できるようになっていますが、それらの追加をTLS1.2では承認しないという話しです。 アプリケーションプロトコルがTLS1.2を利用することを禁止するものではありません。 議論 2023年 3月に行われた IETF 116 TLS WGのミーティングで『TLS 1.2 Deprecation (PDF)』という話しがありました。そこでは、標準化上 TLS 1.2をDeprecation する議論が行われました。 議論は、標準化上の話しと実利用の話しが色々議論されましたが

    TLS 1.2への新機能追加を停止する議論 - ASnoKaze blog
  • 逆向きに接続する Reverse HTTP Transport の仕様 - ASnoKaze blog

    『Reverse HTTP Transport』という提案仕様がIETFに提出されています。著者はMetaとNokiaの方々らです。また、HAProxyの方も同様の機能を検討しているそうです(参考URL)。 普通のProxyサーバでは、Proxyサーバからオリジンサーバにコネクション確立するのが一般的です。そのためにオリジンサーバが外部から接続を受けられるようにする必要があります。 Reverse HTTP Transportでは、逆にオリジンサーバからProxyサーバにコネクションを確立し、HTTPリクエストを受け付けるという構成になります。コネクションの確立/TLSハンドシェイクだけが逆向きで、コネクション確立された接続上で、ProxyからHTTPリクエストが送られます。 これによりオリジンサーバをインターネットに公開する必要がなくなります。 プロトコルについて この Reverse

    逆向きに接続する Reverse HTTP Transport の仕様 - ASnoKaze blog
  • 失効が不要なShort-lived証明書に関するmemo - ASnoKaze blog

    IETFやCAB Forumで有効期限の短い証明書(Short-lived Certificate)について議論があるようなので軽く眺めておく 詳しい人は補足いただけると嬉しいです 背景 Googleでは、Webをより安全にするためにWeb PKIのポリシーについて様々な取り組みを行っています。 www.chromium.org その取り組みのなかにはCAが証明書の発行ポリシーに関するものもあります。 有効期間の短い Short-lived証明書 の利用を促し、より自動化を促進するために、CA/Browser ForumのBaseline Requirementsに対して提案を行っています。 具体的なProposalでは、OCSPをOptinalにすることと、Short-lived Certificateで失効(Revocation)が不要であるとすることを提案しています。 github.

    失効が不要なShort-lived証明書に関するmemo - ASnoKaze blog
  • HTTPメッセージに署名をするSignatureヘッダの標準化 - ASnoKaze blog

    HTTPメッセージに署名をするSignatureヘッダを定義する「Signing HTTP Messages」という仕様が提案されています。 HTTPメッセージへの署名は、様々なところで行われていますが、それぞれ独自の方式で行われています。例えば、AWS APIを叩く際に利用する「Signature Version 4 Signing」や、OAuth2.0 DPoPなどでHTTPメッセージへの署名が行われています。 その他にも、WebPackagingで使用される「Signed HTTP Exchanges」といったところでも署名が行われています。 一方でTLSではだめなのかという話もありますが、TLSを用いることでHTTPメッセージの機密性および完全性は保護されますが、TLS終端プロキシなどを経由するとそれ移行の部分で通信の完全性は担保されません。クライアントとサーバ間でHTTPメッセー

    HTTPメッセージに署名をするSignatureヘッダの標準化 - ASnoKaze blog
  • 一般ユーザに払い出すと危険なサブドメインやメールアドレス - ASnoKaze blog

    ユーザに対して、そのユーザ名のサブドメインやメールアドレスを払い出すWebサービスがあります。 しかし、特定のサブドメインやメールアドレスは特別な用途で使われているものもあります。そのようなサブドメインやメールアドレスを一般ユーザに払い出してしまうと危険です。 現在、IETFでは仕様上利用用途が決められている、それらのラベルをとりまとめる「Dangerous Labels in DNS and E-mail」というdraftが提出されています。 今回はそれを眺めていきます。 (あくまでIETFの取り組みであり、仕様上定義されているものをとりまとめています。クラウドサービスや特定ベンダーで特別利用しているものは現在含まれていません。) サブドメイン ここでとりあげるサブドメインは、利用用途が決まってるため一般ユーザに払い出すべきではありません。(例: mta-sts.example.com)

    一般ユーザに払い出すと危険なサブドメインやメールアドレス - ASnoKaze blog
  • Webサイトのバグの報告先を示す contributing.txt - ASnoKaze blog

    Webサイトのバグを見つけたとしても、その報告先を知る統一的な方法は現状ありません。 たとえば、脆弱性についてはsecurity.txt があります。https://www.facebook.com/security.txt などで使われています。 asnokaze.hatenablog.com 同様の仕組みで、contributing.txt という形式でバグの報告先を示せるようにする仕組みが提案されています。提案仕様は「a simple way to provide informations for contributors」としてIETFに提出されています。 例 contributing.txtをWebページの最上位階層に配置します (例: https://example.com/contributing.txt ) そのファイルは次の情報を含めることが出来ます。 Admin: Va

    Webサイトのバグの報告先を示す contributing.txt - ASnoKaze blog
  • 40年越しにTCPの仕様(RFC793)が改訂される RFC9293 - ASnoKaze blog

    2022/08/09 追記 「RFC 9293 Transmission Control Protocol (TCP)」として正式なRFCが出ました TCPのコア部分の仕様は1981年に発行された「RFC793 TRANSMISSION CONTROL PROTOCOL」で標準化されています。 この、RFC793の改訂版となる「Transmission Control Protocol (TCP) Specification」は、2013年からIETFのTCPM WGで議論されてきましたが、4月4日にIESGによって承認されました(参考URL)。現在はRFC出版の準備に入っています(新しいRFC番号はこの後正式に決まります) www.ietf.org 改めてTCPの仕様を読みたい場合はこのドキュメントを読むのが良さそう。 概要 この改訂版の仕様(通称 rfc793bis)は、RFC793が

    40年越しにTCPの仕様(RFC793)が改訂される RFC9293 - ASnoKaze blog
  • ブラウザでTCPを直接送受信できるDirect Sockets APIについて - ASnoKaze blog

    ブラウザから直接TCP・UDPで送受信する「Direct Sockets API」という仕組みが議論されています。 実験段階ですが、Chromeでは起動時にオプションを付けることでこの機能を有効にできます。今回はTCPの方で簡単に動作を見てみます。 Direct Sockets API Direct Sockets APIは、TCP・UDPで直接送受信可能にするAPIです。既存のアプリケーションプロトコル(SSHやIRC)、P2Pのような機能を実現可能になります。 もちろんセキュリティ上の問題もあるので、Chromeでは現状デフォルトでは有効になっていない機能です。 セキュリティ面についてはだいぶGithubリポジトリで議論されておりますので目を通すと良いでしょう。ローカルネットワークへの通信やSame-Origin-Policy(CORS)回避の話が上がっていますが、今回は細かくは紹介し

    ブラウザでTCPを直接送受信できるDirect Sockets APIについて - ASnoKaze blog
  • 新しいHTTPメソッド、QUERYメソッドの仕様 - ASnoKaze blog

    新しいHTTPメソッドを定義する「The HTTP QUERY Method」という提案仕様が議論されています。 もともとは、SEARCHメソッドという呼び名が候補としてあげられていましたが、長い議論ののち、一旦QUERYと呼ぶ方向となっております。最終的なFixについては、この draft 02の公開とともに改めてコンセンサスを求めた後に行われます。 QUERYメソッド 「GETリクエストにボディを付けたいという」という質問は長らく有りました。しかし、GETやHEADリクエストでボディをつけることは非推奨となっています (参考URL)。 そのような要望のなかで、リクエストでボディを含められる冪等性の保証された新しいHTTPメソッドが検討されました。それがQUERYメソッドです。冪等性があるため、ブラウザやProxyは自動でリトライすることができます。(なお、POSTはセマンティクス上冪等

    新しいHTTPメソッド、QUERYメソッドの仕様 - ASnoKaze blog
  • 0.0.0.0/8のIPアドレスなどを利用可能にする提案仕様 - ASnoKaze blog

    IPv4アドレスの枯渇すると言われ続けております。 「The IPv4 unicast extensions project」では、予約されているIPアドレスなどをユニキャストアドレスとして利用可能にし、4億1900万ものIPアドレスを追加することを謳っています。 実際、IETFで予約済みアドレスをユニキャストアドレスとして使用できるようにする提案を提出しています。 240.0.0.0/4 を利用可能にする提案 (draft-schoen-intarea-unicast-240) 0.0.0.0/8を利用可能にする提案 (0.0.0.0は除く) (draft-schoen-intarea-unicast-0) 127.1.0.0 ~ 127.255.255.255を利用可能にする提案 (draft-schoen-intarea-unicast-127) IPアドレスホスト部が0のものを利

    0.0.0.0/8のIPアドレスなどを利用可能にする提案仕様 - ASnoKaze blog
  • 時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様 - ASnoKaze blog

    IETFに「New UUID Formats」という提案仕様が提出されています。 これは、時系列順にソート可能なUUID version 6, UUID version 7, UUID version 8を新しく定義するものです。 詳しい背景は提案仕様にゆずりますが、ULIDを始めとして、時系列順にソート可能な一意な識別子を利用したいというユースケースがあります。例えば、データベースのキーとして使えば、ソートせずとも順番に並びますし、書き込む際も順々に書き込めるのでデータアクセスが局所的になります。 今回は簡単に、それぞれのUUIDのフォーマットを眺めていきます。なお、フォーマットは異なりますが、バージョンを示す値は同じ位置にあります。 UUIDv6 UUIDv6は128bit長で、UUIDv1と似てるフォーマットを取ります。 1582年10月15日(グレゴリオ暦)からの100ナノ秒単位で

    時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様 - ASnoKaze blog
  • HTTPコネクションでIPパケットをProxyさせる、新しいCONNECT-IPメソッドの仕様 (RFC 9484) - ASnoKaze blog

    2022年7月追記: この記事は古くなっています。現在の最新仕様では、拡張CONNECTメソッドを使うことになってます asnokaze.hatenablog.com 確立したHTTP/3コネクションをVPNのように使う、MASQUEという仕組みがIETFで議論されています。 以前書いた記事では、UDPパケットをProxyさせるCONNECT-UDPという提案仕様を紹介しました。 asnokaze.hatenablog.com その後、同様に確立されたHTTP/3コネクション上で、IPパケットをトンネリング可能にする「The CONNECT-IP HTTP Method」という仕様が提案されています。 CONNECT-UDPと同様に経路上の第三者にはただのHTTP/3通信を行っているようにしか見えないため、検閲やブロッキングに対して耐性があると思われます。 それでは簡単に見ていきましょう。

    HTTPコネクションでIPパケットをProxyさせる、新しいCONNECT-IPメソッドの仕様 (RFC 9484) - ASnoKaze blog
  • RFC 8996でTLS1.0とTLS1.1が廃止に - ASnoKaze blog

    IETFで、TLS1.0とTLS1.1を正式に非推奨にする「RFC 8996 Deprecating TLS 1.0 and TLS 1.1」が公開されました。 新しいプロトコルへの移行期間は十分であるとし、TLS1.0, TLS1.1, DTLS1.0は廃止となり、TLS 1.2, TLS1.3, DTLS 1.2のみが使用できます。表現としても、MUST NOTで利用を禁止しています。 TLS 1.0 MUST NOT be used TLS 1.1 MUST NOT be used 2015年に公開された、TLS利用時の推奨事項を定めたRFC7525がありますが、今回の禁止内容も含めて改定作業が開始されています。詳細については以前書いたとおり asnokaze.hatenablog.com 更新されるRFC RFC 8996では、既存のRFCについても言及しており TLS1.2以上で

    RFC 8996でTLS1.0とTLS1.1が廃止に - ASnoKaze blog
  • 「RFC7525: TLSを安全に使うための推奨事項」の改定 - ASnoKaze blog

    様々な組織や団体がTLSを安全に利用するためのドキュメントを出してたりする。 IETFでも2015年にRFC7525 「Recommendations for Secure Use of TLS and DTLS」として、使用する上での推奨事項をまとめている。 それについての詳細は、urushima先生の記事を見ていただくと良いと思う。 blog.livedoor.jp 上記のRFC7525から5年が経ち、その間にRFC 8446 TLS1.3の発行などもありました。そのため、IETFではこのRFC7525の改定作業が開始されました RFC7525bis IETFのUTA (Using TLS in Applications) WGでは、RFC7525の改訂版として、次のドキュメントをすでにWG Itemとして扱っている draft-ietf-uta-rfc7525bis ここでは、簡単に

    「RFC7525: TLSを安全に使うための推奨事項」の改定 - ASnoKaze blog
  • ブラウザからTCP, UDPソケットを操作するDirect Sockets API - ASnoKaze blog

    2020/01/14: 実際に動くのを確認しました asnokaze.hatenablog.com (2020/09/17 注釈: Raw SocketsからDirect Socketsに名称が変更されました) ブラウザでTCP, DUPソケットを操作可能にする「Direct Sockets API」という仕様がW3CのWICGで議論されている。 また、blink-devでも「Intent to Prototype: Raw Sockets API」とプロトタイプの議論が行われている。 多くの方がセキュリティ上の懸念を抱くと思うが、ドキュメントでも慎重に検討すると書かれている。GithubでIssueを立てることも可能なので、思うことがある方は、まだまだ議論は始まったばかりでもあるので是非フィードバックされると良いと思う。(割と普通に聞いてもらえます) なお、Raw Socketsという名

    ブラウザからTCP, UDPソケットを操作するDirect Sockets API - ASnoKaze blog
  • TLS over HTTPの提案仕様 - ASnoKaze blog

    TLS over HTTPである。HTTP over TLSではない。 「Application-Layer TLS」という提案仕様がCiscoの方より提出されている。(仕様中ではATLSと記述される) HTTP上でTLSレコードを送受信する仕様である。 TLSレイヤの実装変更はなくレコードをHTTPのボディで送受信できるようにする。なお、httpとhttps両方で使用可能である。 また、TLS1.2とTLS1.3などすべてのTLSバージョンに対応する。 来週からはじまるIETF100でも議論されるようなので、かいつまんで読んで見る。 クライアント クライアントからの基的なメッセージは、POSTでJSONを送信する。 Content-Typeにはapplication/atls+jsonを指定する POST /atls Content-Type: application/atls+jso

    TLS over HTTPの提案仕様 - ASnoKaze blog
  • Webページを丸ごとパッケージングする Web Packagingとは - ASnoKaze blog

    20180824追記 Loading Signed Exchangesについて記事を書きました Loading Signed Exchangesの仕様 (WebPackaging) - ASnoKaze blog 20180208追記 Bundled HTTP Exchangesについて記事を書きました Bundled HTTP Exchanges とは (WebPackagingの議論より) - ASnoKaze blog 20180121追記 署名の仕組みとして Origin-Signed HTTP Exchanges を利用する方向のようです HTTP/2 クロスオリジン サーバプッシュを可能にする提案仕様 - ASnoKaze blog 20171001追記 IETF99にてユースケースについてまずまとめるべき気というフィードバックが有り、それをうけて「Use Cases and

    Webページを丸ごとパッケージングする Web Packagingとは - ASnoKaze blog
  • Chrome 56 のHTTPサイトへの日本語版警告 - ASnoKaze blog

    「Moving towards a more secure web」でアナウンスされているように、2017年1月にリリースされる予定のChrome 56でHTTPサイトへの警告が表示されるようになる。 日語のサイトでも取り上げられている Google、2017年からChromeでいくつかのHTTPサイトを「安全ではない」と警告 日語版表示 Chrome Canaryで、chrome://flagsより 下記設定を有効にすることで、日語版の警告表示が確認できる。 "保護されていない発行元に「保護されていない発行元」のマークを付ける" http://asnokaze.com https://asnokaze.com 日語だと、また印象が変わる。HTTPS対応できてないサイトへの影響は結構ありそうである。

    Chrome 56 のHTTPサイトへの日本語版警告 - ASnoKaze blog
  • 1