セキュアにユーザ行動情報を取得するための取り組み #yjdsnight

>100 Views

December 05, 16

スライド概要

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

セキュアにユーザ行動情報 を取得するための取り組み 2016年12月5日 桑山 智耶

2.

自己紹介 氏名 桑山 智耶 最近のヒット PSVR(サマーレッスン) 業務 ビーコン・リダイレクトサーバの運用 2

3.

プロダクトの目的 データ取得 サービス向上 3 ユーザを知る

4.

プロダクトの目的 データ取得 サービス向上 4 ユーザを知る

5.

プロダクトの目的 データ取得 サービス向上 5 ユーザを知る

6.

プロダクトの目的 データ取得 サービス向上 6 ユーザを知る

7.

プロダクトの目的 データ取得 サービス向上 7 ユーザを知る

8.

プロダクトの目的 データ取得 データとサイエンスの力で より良いサービスを! サービス向上 8 ユーザを知る

9.

プロダクトの目的 ココの話 データ取得 サービス向上 9 ユーザを知る

10.

主要なプロダクト webビーコンサーバ リダイレクトサーバ • • ユーザの行動情報取得 ① httpリクエスト ユーザアクションの取得 A ページ X ページ Y ③ ページの表示開始 ② レスポンス Webログ 各サービスのWebサーバ B ④ ビーコンの発動 <img> or js Beaconログ ビーコンサーバ ログ Z リダイレクトサーバ 10 他のWebサーバ Webサーバ ⑤ httpリクエスト (⑥ レスポンス) ログ Y ログ X

11.

アジェンダ 1. セキュアにユーザ行動情報取得 2. ATS対応のための負荷検証 11

12.

アジェンダ 1. セキュアにユーザ行動情報取得 2. ATS対応のための負荷検証 12

13.

プロダクトの目的 データ取得 サービス向上 13 ユーザを知る

14.

AOSSL 常時SSL(Always On SSL) • 全サービスがHTTPS • 14 http://docs.yahoo.co.jp/info/aossl/

15.

AOSSL 常時SSL(Always On SSL) • 全サービスがHTTPS • 15 http://docs.yahoo.co.jp/info/aossl/ • Webビーコンサーバ • リダイレクトサーバ

16.

ATS ATS(App Transport Security) • • • 2016年末よりiOS9, iOS10.11から導入 App Storeで公開される全アプリが対象 HTTPS && PFSな暗号スイート https://developer.apple.com/videos/play/wwdc2016/705/ 16

17.

ATS • PFS(Perfect Forward Secrecy) • 前方秘匿性 • 将来、秘密鍵が漏洩したり解読されたりしても全ての 通信を解読させない 17

18.

これからは

19.

セキュアな通信へ AOSSL 19 ATS

20.

セキュアな通信へ 当たり前 AOSSL 20 バッチ 来い! ATS

21.

ところで…

22.

リダイレクタでは (10億 req/day) x (AOSSL) x (ATS) 22

23.

セキュアな通信へ • サーバ負荷が重くなる AOSSL • レイテンシが大きくなる 23 ATS

24.

リダイレクタでは (10億 req/day) x (AOSSL) x (ATS) = (ヤバ目???) 24

25.

そうだっ、 負荷検証しよう!

26.

アジェンダ 1. セキュアにユーザ行動情報取得 2. ATS対応のための負荷検証 26

27.

検証の目的 • • • 27 全リクエストがHTTPS化したときの負荷は? PFSの暗号スイートのリクエストの負荷は? レイテンシはどの程度になるのか?

28.

選択したツール vegeta • • • HTTPの負荷検証ツール Go言語実装のオープンソース ライブラリから呼んでシナリオも書ける https://github.com/tsenart/vegeta#usage-library 28

29.

選択したツール vegeta • • •  HTTPの負荷検証ツール Go言語実装のオープンソース ライブラリから呼んでシナリオも書ける 暗号スイート指定したシナリオを実装 https://github.com/tsenart/vegeta#usage-library 29

30.

例 cipherSuites := []uint16{ tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, } 30

31.

例 atsTestConfig := &tls.Config{ PreferServerCipherSuites: true, SessionTicketsDisabled: true, CipherSuites: cipherSuites, } // 暗号スイートを指定, KeepAliveを無効に attacker := vegeta.NewAttacker(vegeta.TLSConfig(atsTestConfig), vegeta.KeepAlive(false)) 31

32.

まとめ • • 33 AOSSL化・ATS対応したリクエストを受けた場合、サーバ 負荷とレイテンシは増加する 自分たちの要件に沿って負荷検証ツールを選択しないと いけない

33.

m(_ _)m ヤフーは安全な通信のためにAOSSLの準備 を着々と進めています。 34