まだ間に合う!
Amazon CloudFront で ATS 対応
アマゾン ウェブ サービス ジャパン株式会社事業開発部 三宅 琢也
Agenda
背景: HTTPSの利用の加速
ATSとCloudFrontの対応状況
ATS対応におけるCloudFrontのメリット
HTTPSとは?
Hyper Text Transfer Protocol Secureの略称
• HTTPの通信を安全(Secure)に行うためのプロトコル
• SSL/TLSプロトコルでサーバの認証、通信の暗号化を行う
• サーバの認証には認証局(CA)が発行した証明書が必要
SSL証明書
• SSL認証局が発行(Verisign, Geotrust, Starfieldなど)
• URLで名乗っているサーバであることを証明
• サーバーの公開鍵をクライアントに配布
主な用途
• ネットの決済、個人情報の送信、プライベートコンテンツ
SSL2.0 SSL3.0 TLS1.0 TLS1.1 TLS1.2 攻撃方法に対す る耐性 ダウングレード攻撃 (最弱暗号アルゴリズムを強制) 脆弱 安全 安全 安全 安全 バージョンロールバック攻撃 (SSL2.0を強制) 脆弱 安全 安全 安全 安全 CBCモード時の脆弱性攻撃 (BEAST/POODLE攻撃など) 脆弱 脆弱 要パッチ 安全 安全 利用可能な暗号 アルゴリズム 128ビットブロック暗号(AES, Camellia) 不可 不可 可 可 可 認証月暗号利用モード(GCM, CCM) 不可 不可 不可 不可 可 楕円曲線暗号 不可 不可 可 可 可 SHA02ハッシュ関数(SHA-256, SHA-384) 不可 不可 不可 不可 可 SSL/TLS暗号設定ガイドライン v1.1, IPA http://www.ipa.go.jp/files/000045645.pdf
SSL/TLSのバージョン
HTTPSの普及(利用率)
21% 22% 23% 23% 24% 24% 25% 27% 27% 26% 27% 29% 30% 31% 34% 0% 5% 10% 15% 20% 25% 30% 35% 40% 2015年8月 2015年9月 2015年10月 2015年11月 2015年12月 2016年1月 2016年2月 2016年3月 2016年4月 2016年5月 2016年6月 2016年7月 2016年8月 2016年9月 2016年10月 AlexaのTop 1,000,000サイトのHTTPSリクエストの割合 HTTP Archive Trends http://httparchive.org/trends.php#perHttps項目 効用 ビジネス効果 SEO対策 Googleの検索順位優遇 マーケティング効果向上 リファラー(参照元)の取得 サイトのアクセス解析 ユーザー動向分析 サイト開発・管理 コンテンツやリンク、構成ファ イルの管理・保守 開発・運用コスト低下 脆弱なアクセスポイントか らの傍受 中間者攻撃・なりすまし盗聴 などの阻止 ユーザー被害の防止 HTTP/2プロトコル利用 ウェブページ表示高速化 ユーザーエクスペリエンス向上
サイトの常時SSL化のメリット
HTTPS化の目的がセキュリティ+ビジネス価値向上へシフト
Google ウェブマスター向け公式ブログ (2015年12月18日)
http://googlewebmastercentral-ja.blogspot.jp/2015/12/indexing-https-pages-by-default.html
Google: HTTP Strict Transport Security(HSTS)を
google.com に実装しHTTPS強制
Google's HSTS rollout: Forced HTTPS for google.com aims to help block attacks (August 1, 2016)
http://www.zdnet.com/article/googles-hsts-rollout-forced-https-for-google-com-aims-to-help-block-attacks/
* Gmail, Inbox, Google Play, Hangouts, Docsなど
2016年
まで
PCI DSS Requirements and Security Assessment Procedures Version 3.2 (April 2016) https://www.pcisecuritystandards.org/documents/PCI_DSS_v3-2.pdf
全てのサービスプロバイダは(TLS1.2などの)
セキュアなサービスを
開始
する
2018年
6
まで
既存実装は(TLS1.2などの)セキュアな
サービスに
移行
する
Paypal: TLS 1.2およびHTTP/1.1へのアップグレード
TLS 1.2およびHTTP/1.1へのアップグレード, PayPal
Apple will require HTTPS connections for iOS apps by the end of 2016 (June 14, 2016)
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/324759/
2016年末までに
App Transport Security(ATS)必須化
iOS9 ATSの概要と現状
App Transport Securityの略称 AppleがiOS9から導入
iOSアプリのサーバ接続をHTTPSに強制する仕組み
• TLS1.2
• サーバ証明書: 2048bit RSA鍵、SHA2以上のハッシュで署名 • Cipher Suiteは、Perfect Forward Secrecyを提供
アプリ開発者が、接続先サーバをセキュア接続に対応させる必要がある
(エンドユーザ側のアクションは不要)
iOS ATSの今後の展望
WWDC 2016でATS必須化が発表 2017年1月1日からAppStoreの申請で必須になる予定 以下のケースを除きアプリの通信はすべてHTTPS化が必須 • Webページ(ブラウザー) • DRMなどバルクで暗号化された動画ストリーミング アプリ開発側で今後必要なアクション • 接続先サーバをセキュア接続に対応 • 既にセキュア接続対応な場合もTLS1.2、SHA2などの要件を確認 • ATS対応にアプリを改修 http://devstreaming.apple.com/videos/wwdc/2016/705s57mrvm8so193i8c/705/705_how_ios_security_really_works.pdfATSの必須要件 (2016/10/18 現在)
TLS/SSLのバージョンは、TLS 1.2
TLSのCipher Suiteは、 以下のPerfect Forward Secrecy(PFS)付き
SSL証明書は以下の暗号鍵で署名
– Rivest-Shamir-Adleman (RSA) 、2048 bits以上 – Elliptic-Curve Cryptography (ECC) 、 256 bits以上
ECDSA Certificates RSA Certificates
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
CloudFrontの必須要件の対応状況
CloudFrontは、TLS 1.2に対応
以下のCipher SuiteとPerfect Forward Secrecyに対応
以下の暗号鍵で署名された証明書に対応
• Rivest-Shamir-Adleman (RSA)、 2048 bit以上
RSA Certificates TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
CloudFront HTTPSの特長
HTTP/HTTPSは同じサーバ群から配信 HTTP/HTTPSのインターネットデータ転送料は同じ* 利用可能な証明書 • CloudFrontドメイン証明書 (*.cloudfront.net) • 独自ドメイン証明書 (SNI/専用IP) • CloudFrontドメイン、SNI証明書は固定費無料 AWS Certificate Manager
• CloudFront、ELBの証明書管理ツール • 無料の証明書の発行が数クリックで可能 • 発行された証明書の自動更新が可能
メリット1:コスト
以下の証明書は月額固定費無料で利用可能
• CloudFrontドメイン証明書 (*.cloudfront.net) • SNI 独自ドメイン証明書
SNI 独自ドメイン証明書
• Server Name Indicationの略称
• 3rdパーティベンダー、Amazon認証局の証明書が利用可能 • iOS4以降でサポート (http://caniuse.com/#search=sni)
AWS Certificate Managerで証明書を無料で発行
メリット2:運用
AWS Certificate Manager
• 証明書の発行から利用まで数クリック・数分で可能 • 発行された証明書の更新を自動で実施 • CSRや暗号鍵のやり取りが無いためセキュアな運用 CloudFront/Origin間の通信でHTTP/HTTPSが選択可能 • Originの証明書取得、更新、維持が不要 • 緊急時にCloudFrontを被せるだけでATS対応が可能 オリジンサーバ CloudFront iOS App HTTP/HTTPS HTTPS ATS 対応 AWS Certificate Manager
メリット3:パフォーマンス
HTTP/HTTPSは、同じサーバ群を利用 • 利用できるサーバ台数はHTTPと変わらない • キャパシティ、パフォーマンスの大幅な見直しは不要 • 様々な配信用途、内容に利用可能 AWSオリジンの高速化 • CFのエッジロケーションとAWSリージョンはバックボーンで接続 • 通信にはTCPのチューニングやルートの最適化が適用 • 事例: APIなどキャッシュできないHTTPS通信の高速化(Slack社) http://www.slideshare.net/AmazonWebServices/secured-api-acceleration-with-engineers-from-amazon-cloudfront-and-slackまとめ
WebのHTTPからHTTPSへの移行が加速している サイトの一部から全サイトへ 通信の暗号化によるユーザ被害の保護 パフォーマンス(HTTP/2) ブランドイメージ・マーケティング Apple iOSを始め、業界・ベンダー・プラットホームによるHTTPS の強制が始まっている CloudFrontを利用したHTTPS移行のメリット 無料の証明書とSNIの利用で低価格で実現可能 AWS Certificate Managerで証明書の取得・セットアップの時間を短縮