Post on 30-Jun-2019
まだ間に合う!
Amazon CloudFront で ATS 対応
アマゾン ウェブ サービス ジャパン株式会社
事業開発部
三宅琢也
Agenda
背景: HTTPSの利用の加速
ATSとCloudFrontの対応状況
ATS対応におけるCloudFrontのメリット
まとめ
背景: HTTPSの利用の加速
HTTPSとは?
Hyper Text Transfer Protocol Secureの略称
• HTTPの通信を安全(Secure)に行うためのプロトコル
• SSL/TLSプロトコルでサーバの認証、通信の暗号化を行う
• サーバの認証には認証局(CA)が発行した証明書が必要
SSL証明書
• SSL認証局が発行(Verisign, Geotrust, Starfieldなど)
• URLで名乗っているサーバであることを証明
• サーバーの公開鍵をクライアントに配布
主な用途
• ネットの決済、個人情報の送信、プライベートコンテンツ
• HTTP/2など
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: HTTPSページの優先インデックス
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などの)セキュアなサービスに移行する
PCI DSS v3.2の関連項目
Paypal: TLS 1.2およびHTTP/1.1へのアップグレード
TLS 1.2およびHTTP/1.1へのアップグレード, PayPal
https://www.paypal-knowledge.com/infocenter/index?page=content&id=FAQ1914
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)必須化
まだ間に合います!
ATSとCloudFrontの対応状況
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.pdf
ATSの必須要件 (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
ATS対応におけるCloudFrontのメリット
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で証明書を無料で発行
• Amazon認証局の証明書が無料で発行・利用可能
メリット2:運用
AWS Certificate Manager
• 証明書の発行から利用まで数クリック・数分で可能
• 発行された証明書の更新を自動で実施
• CSRや暗号鍵のやり取りが無いためセキュアな運用
CloudFront/Origin間の通信でHTTP/HTTPSが選択可能
• Originの証明書取得、更新、維持が不要
• 緊急時にCloudFrontを被せるだけでATS対応が可能
オリジンサーバCloudFrontiOS App
HTTP/HTTPSHTTPS
ATS 対応
AWS CertificateManager
メリット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で証明書の取得・セットアップの時間を短縮
CDNの利用により最小限のシステム変更でHTTPSの道入が可能