Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HSTSについて調べた
Search
Hiroto Sasagawa
July 10, 2023
Technology
0
390
HSTSについて調べた
Hiroto Sasagawa
July 10, 2023
Tweet
Share
More Decks by Hiroto Sasagawa
See All by Hiroto Sasagawa
IP Anycastとリバースプロキシ
nagutabby
0
420
第1回 AWS勉強会
nagutabby
0
520
第1回 GNU/Linux勉強会
nagutabby
0
510
第2回 GNU/Linux勉強会
nagutabby
0
440
第3回 GNU/Linux勉強会
nagutabby
0
500
DNSを標的とする攻撃
nagutabby
0
450
EC2とCloudWatchで始める高対話型ハニーポット運用
nagutabby
0
520
Other Decks in Technology
See All in Technology
リポジトリをまるっとAIに食わせるRepomixの話
yamadashy
0
210
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
7
990
TDSE_20250311_AIxIoTビジネス共創ラボ第2回勉強会_発表資料.pdf
iotcomjpadmin
0
240
プロダクトの一番の理解者を目指してQAが取り組んでいること 〜現場・マネジメント各視点のプラクティス〜
hacomono
PRO
1
140
技術を育てる組織・組織を育てる技術 / technology and organization
motemen
11
4.1k
Microsoft_20250311_できるつくれるAIAgent.pdf
iotcomjpadmin
0
250
OPENLOGI Company Profile for engineer
hr01
1
21k
いまから始めるAWS CDK 〜モダンなインフラ構築入門〜/iac-night-cdk-introduction
tomoki10
8
2.2k
Agent Mode とは?GitHub Copilot の新機能を探る
lescoggi
1
160
Amazon Bedrock GenUハンズオン座学資料 #1 GenU環境で生成AIを体験してみよう
tsukuboshi
0
220
組織に持ち込む脅威モデリング
nikinusu
2
640
LangGraphを使ったAIエージェント実装
iwakiyusaku
1
170
Featured
See All Featured
Docker and Python
trallard
44
3.3k
Testing 201, or: Great Expectations
jmmastey
42
7.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
GitHub's CSS Performance
jonrohan
1030
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Facilitating Awesome Meetings
lara
53
6.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
14
1k
Transcript
HSTSについて調べた 笹川 尋翔
HSTS(HTTP Strict Transport Security) • サーバとクライアント間の通信でHTTPSを使うことを強制 • レスポンスヘッダにStrict-Transport-Securityを付与
HTTPのリダイレクトじゃ駄⽬? • HTTPに届いたリクエストをHTTPSにリダイレクト NGINXでリダイレクトを設定する例
中間者攻撃のリスクがある • リダイレクトされる前の通信は平⽂で⾏われる • 悪意のあるサーバを経由させると通信を盗聴、改ざんできる
HSTSの利点 • 中間者攻撃(Man In The Middle Attack)を防⽌ • Cookieなどの通信データを暗号化
HSTSの⽋点 • 例1.) そのドメインに初めてアクセスする場合 • 例2.) Strict-Transport-Securityが期限切れの場合 最初のリスエストとレスポンスの通信を HTTPで⾏うことができる
ディレクティブ • max-age=<expire-time> • HTTPSだけで接続することをWebブラウザが記憶する秒数 • includeSubDomains • サイトの全てのサブドメインにもHSTSを適⽤ •
preload • 最初の通信からHSTSを適⽤ • 仕様書(RFC 6797)では定義されていない
Cookieの暗号化 • CookieにSecure属性を設定 • 暗号化を保証 • HTTPSを使うときだけCookieが作成 • HSTSを使う •
Cookieをほぼ確実に暗号化できるが暗号化は保証されない • “HSTSの⽋点”で説明したように、HTTPで通信される場合がある
中間者攻撃 • クライアントと正規サーバの通信を、悪意のあるサーバを 経由して実施させる • 通信の盗聴、改ざんをする • 例) HTTPで通信している場合 •
平⽂でデータが渡されるため、盗聴や改ざんが容易
中間者攻撃の例
HSTSの設定⽅法 • Webアプリケーションフレームワークのバックエンド • 例) Ruby on Rails • Webサーバ
• 例) NGINX • DNSサーバ • 例) Cloudflare DNS
まとめ • HSTSはHTTPSでの接続を強制する仕組み • 単独では通信の暗号化を保証しない • HSTS ≠ 安全 •
preloadディレクティブ、Cookieのsecure属性を設定することが推奨
参考 • https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Strict- Transport-Security • https://www.chromium.org/hsts/ • https://hstspreload.org/