Firefox web browser - Faster, more secure & customizable

Firefox 4開発版にHTTP Strict Transport Security (HSTS)の機能が実装された。HSTSはすでにChromeでは実装されていたセキュリティ機能。Firefox 4でデフォルトの機能として動作するようになる見通し。

HSTSが実際にどういったように機能するのかがFirefox 4: HTTP Strict Transport Security (force HTTPS) ✩ Mozilla Hacksでわかりやすく紹介されている。http://とhttps://の双方の通信を提供している場合、サイト運用者はより安全な通信を実現するために、http://へのアクセスはhttps://へ転送したいと考えるかもしれない。しかしこの挙動は中間者攻撃に利用される可能性があるため好ましくない。あくまでもブラウザ側がhttps://へ自主的にアクセスする必要がある。

HSTSはまさにそれを実現するための機能。https://通信を強制したいと考えるサイトは、HTTPSレスポンスにおいて次のようなHTTPヘッダを指定しておく。

  • Strict-Transport-Security: max-age=15768000

Strict-Transport-Securityに対応したブラウザは(この場合はFirefox 4だが)、Strict-Transport-Securityの指定があるため、将来のアクセスではhttp://が指定されたとしても自動的にhttps://を使うようになる。max-ageで指定しているのはどれだけの長さこの指定を覚えておくか。指定は秒でおこなう。

  • Strict-Transport-Security: max-age=15768000 ; includeSubDomains

Strict-Transport-Securityの指定にincludeSubDomainsが含められている場合は、サブドメインに対してもこの設定が適用される。この仕組みの肝はHTTPSレスポンスにおいてStrict-Transport-Security:指定が含められていることにある。自主的に一度もhttps://にアクセスしていない場合には、この指定を見ることはないので、ブラウザが自動的にhttps://を見にいくことはない。中間者攻撃を受けている場合そのヘッダは改ざんされたものである可能性もあるため、こうした仕組みになっている。