Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Masashi Shinbara
PDF, PPTX
1,915 views
日本語消えたスライド
Osaka フォントは ok。 ヒラギノフォントが ng っぽい。
Technology
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 31
2
/ 31
3
/ 31
4
/ 31
5
/ 31
6
/ 31
7
/ 31
8
/ 31
9
/ 31
10
/ 31
11
/ 31
12
/ 31
13
/ 31
14
/ 31
15
/ 31
16
/ 31
17
/ 31
18
/ 31
19
/ 31
20
/ 31
21
/ 31
22
/ 31
23
/ 31
24
/ 31
25
/ 31
26
/ 31
27
/ 31
28
/ 31
29
/ 31
30
/ 31
31
/ 31
More Related Content
PDF
Twilio API を PHP で触ってみよう
by
Masashi Shinbara
PDF
リッチなプッシュ通知の実践的運用ノウハウ
by
pLucky
PDF
20130927 MA9 東京ハッカソン発表資料
by
Joohoun Song
PDF
Twilio入門 -Web アプリ編-
by
Masashi Shinbara
PDF
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
by
Masashi Shinbara
PDF
わかってるフレームワーク Laravel
by
Masashi Shinbara
PDF
IPメッセージングはこうやって実装するのだ!
by
Sakae Saito
PDF
Twilioビジネスセミナー20140624
by
twilioforkwc
Twilio API を PHP で触ってみよう
by
Masashi Shinbara
リッチなプッシュ通知の実践的運用ノウハウ
by
pLucky
20130927 MA9 東京ハッカソン発表資料
by
Joohoun Song
Twilio入門 -Web アプリ編-
by
Masashi Shinbara
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
by
Masashi Shinbara
わかってるフレームワーク Laravel
by
Masashi Shinbara
IPメッセージングはこうやって実装するのだ!
by
Sakae Saito
Twilioビジネスセミナー20140624
by
twilioforkwc
Similar to 日本語消えたスライド
PDF
【Twilio client】twiliox azureハンズオン
by
twilioforkwc
PDF
Kintone hands on
by
twilioforkwc
PDF
Twilio serveless architecture
by
Kiminari Homma
PPTX
Twilio API 勉強会 Vol.4
by
Joohoun Song
PDF
【B-1】kintoneでお手軽コールセンター!
by
Sakae Saito
PDF
WebRTC Conference Japan 2016 登壇資料
by
Noriyuki Koide
PDF
Twilio api-jaws
by
Joohoun Song
PDF
Twilio TBS - 20140301
by
Joohoun Song
PDF
phpcon2013 PHP x twilio
by
ichikaway
PDF
Twilio client for android
by
Hiasyoshi Suehiro
PDF
AWSアイデアソン20150509
by
Noriyuki Koide
PDF
第0回 Twilio勉強会 with JAWS UG in 福岡
by
Youhei Iwasaki
PDF
fukuokaphp7 PHP x twilio
by
ichikaway
PDF
Twilio API 勉強会 Vol.12 - アイデアを元にTwilioの機能を試してみる会
by
Joohoun Song
【Twilio client】twiliox azureハンズオン
by
twilioforkwc
Kintone hands on
by
twilioforkwc
Twilio serveless architecture
by
Kiminari Homma
Twilio API 勉強会 Vol.4
by
Joohoun Song
【B-1】kintoneでお手軽コールセンター!
by
Sakae Saito
WebRTC Conference Japan 2016 登壇資料
by
Noriyuki Koide
Twilio api-jaws
by
Joohoun Song
Twilio TBS - 20140301
by
Joohoun Song
phpcon2013 PHP x twilio
by
ichikaway
Twilio client for android
by
Hiasyoshi Suehiro
AWSアイデアソン20150509
by
Noriyuki Koide
第0回 Twilio勉強会 with JAWS UG in 福岡
by
Youhei Iwasaki
fukuokaphp7 PHP x twilio
by
ichikaway
Twilio API 勉強会 Vol.12 - アイデアを元にTwilioの機能を試してみる会
by
Joohoun Song
More from Masashi Shinbara
PDF
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
by
Masashi Shinbara
PDF
ビルドサーバで使うDocker
by
Masashi Shinbara
PDF
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
by
Masashi Shinbara
PDF
いまどきのPHP
by
Masashi Shinbara
PDF
開発現場で活用するVagrant
by
Masashi Shinbara
PDF
Laravel ユーザなら知っておくべきAuthオートログイン
by
Masashi Shinbara
PDF
How to learn Laravel5 application from Authentication
by
Masashi Shinbara
PDF
Azure Websites で作るスケーラブルな PHP アプリケーション
by
Masashi Shinbara
PDF
Heroku で作る スケーラブルな PHP アプリケーション
by
Masashi Shinbara
PDF
認証機能で学ぶ Laravel 5 アプリケーション
by
Masashi Shinbara
PDF
いまどきのPHP開発現場 -2015年秋-
by
Masashi Shinbara
PDF
Vagrant で作る PHP 開発環境 [実践編]
by
Masashi Shinbara
PDF
Ansible ではじめるサーバ作業の自動化
by
Masashi Shinbara
PDF
Vagrant体験入門
by
Masashi Shinbara
PDF
VagrantユーザのためのDocker入門
by
Masashi Shinbara
PDF
Composer 再入門
by
Masashi Shinbara
PDF
先取り!PHP 7 と WordPress
by
Masashi Shinbara
PDF
Vagrant で PHP 開発環境を作る ハンズオン
by
Masashi Shinbara
PDF
PHPコードではなく PHPコードの「書き方」を知る
by
Masashi Shinbara
PDF
キャラ立ちしたエンジニアになる!
by
Masashi Shinbara
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
by
Masashi Shinbara
ビルドサーバで使うDocker
by
Masashi Shinbara
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
by
Masashi Shinbara
いまどきのPHP
by
Masashi Shinbara
開発現場で活用するVagrant
by
Masashi Shinbara
Laravel ユーザなら知っておくべきAuthオートログイン
by
Masashi Shinbara
How to learn Laravel5 application from Authentication
by
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
by
Masashi Shinbara
Heroku で作る スケーラブルな PHP アプリケーション
by
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
by
Masashi Shinbara
いまどきのPHP開発現場 -2015年秋-
by
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
by
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
by
Masashi Shinbara
Vagrant体験入門
by
Masashi Shinbara
VagrantユーザのためのDocker入門
by
Masashi Shinbara
Composer 再入門
by
Masashi Shinbara
先取り!PHP 7 と WordPress
by
Masashi Shinbara
Vagrant で PHP 開発環境を作る ハンズオン
by
Masashi Shinbara
PHPコードではなく PHPコードの「書き方」を知る
by
Masashi Shinbara
キャラ立ちしたエンジニアになる!
by
Masashi Shinbara
日本語消えたスライド
1.
@shin1x1 2016/02/27 TwilioJP-UG大阪&AWScean合同勉強会 Twilio と
Web アプリ 連携におけるセキュリティ
2.
https://github.com/shin1x1/twilio-api-security-demo
3.
TwilioとWebアプリの連携
4.
サンプルアプリケーション (c) 2016 Masashi
Shinbara @shin1x1 • 会員向けポイント管理システム • 電話をかけると現在のポイントが聞ける • 電話番号で認証
5.
(c) 2016 Masashi
Shinbara @shin1x1 電話をかける 図図 - twilio 図図 - twilio Twilio Webサーバ会員 090-xxxx-xxxx
6.
(c) 2016 Masashi
Shinbara @shin1x1 電話番号が送られる 図図 - twilio 図図 - twilio HTTPリクエスト From: 090-xxxx-xxxx (発信元電話番号)
7.
(c) 2016 Masashi
Shinbara @shin1x1 会員認証 図図 - twilio 図図 - twilio 090-xxx-xxx で DB を参照して 会員を特定する
8.
(c) 2016 Masashi
Shinbara @shin1x1 情報をXMLで返す 図図 - twilio 図図 - twilio TwiML(XML)を返す
9.
(c) 2016 Masashi
Shinbara @shin1x1 情報をTwiMLで返す 図図 - twilio 図図 - twilio TwiML(XML)を返す <?xml version="1.0" encoding="UTF-8"?> <Response> <Say voice="woman" language="ja-JP"> 鈴木さんのポイントは 50 ポイントです。 </Say> </Response>
10.
(c) 2016 Masashi
Shinbara @shin1x1 音声を流す 図図 - twilio 図図 - twilio 音声再生
11.
(c) 2016 Masashi
Shinbara @shin1x1 デモ
12.
(c) 2016 Masashi
Shinbara @shin1x1 起こりうる問題
13.
(c) 2016 Masashi
Shinbara @shin1x1 HTTPの世界 図図 - twilio 図図 - twilio Twilio Webサーバ会員
14.
(c) 2016 Masashi
Shinbara @shin1x1 偽装リクエスト 図図 - twilio 図図 - twilio 電話番号を POST
15.
(c) 2016 Masashi
Shinbara @shin1x1 偽装リクエスト 図図 - twilio 図図 - twilio TwiMLを 取得
16.
(c) 2016 Masashi
Shinbara @shin1x1 偽装リクエスト 図図 - twilio 図図 - twilio Twilio Webサーバ会員 $ curl -d "From=%2B819012345678" https://example.com/api/calling <?xml version="1.0" encoding="UTF-8"?> <Response> <Say voice="woman" language="ja-JP"> 田中さんのポイントは 100 ポイントです。 </Say> </Response>
17.
(c) 2016 Masashi
Shinbara @shin1x1 Twilio を偽ったリクエスト •偽装したリクエストをWebアプリに送信 •情報取得、操作などの不正利用の可能性
18.
(c) 2016 Masashi
Shinbara @shin1x1 対策
19.
偽装リクエスト対策 (c) 2016 Masashi
Shinbara @shin1x1 1. 通信経路の暗号化 2. 通信元を制限 3. リクエストを検証
20.
(c) 2016 Masashi
Shinbara @shin1x1 1. 通信経路の暗号化 • HTTPS を利用する • 自己署名の証明書は NG • TLS を利用(SSLv3 は、廃止予定)
21.
(c) 2016 Masashi
Shinbara @shin1x1 Webアプリケーションのエンドポイント https:// にする
22.
(c) 2016 Masashi
Shinbara @shin1x1 2. 通信元を制限 • HTTP Basic認証 / Digest認証 • ユーザ、パスワードを URL に含める • https://user:pass@example.com/
23.
(c) 2016 Masashi
Shinbara @shin1x1 IPアドレスによる制限は? https://www.twilio.com/help/faq/twilio-basics/which-ip-addresses-will-twilios-requests-come- from • Twilio の送信元 IP アドレスは非公開 • 代わりにリクエストの検証を行う • どうしても必要なら相談
24.
(c) 2016 Masashi
Shinbara @shin1x1 3. リクエストの検証 ・Twilio からのリクエストであることを確認 • 妥当であれば処理を実行 • そうでなければ処理を中断(エラー)
25.
(c) 2016 Masashi
Shinbara @shin1x1 HMAC-SHA1署名による検証 ・ X-Twilio-Signatureヘッダ • 所定のアルゴリズムで署名を算出 • 上記、2つを比較して合致すれば ok
26.
X-Twilio-Signatureヘッダ X-Twilio-Signature: +sndfa0paQ+m2P0PZ4U/2lnLkHw=
27.
署名算出 ・URL - https://example.com/calling ・POSTパラメータ(キーでソート) Key2=value2 Key1=value1 From=+819012345678 https://example.com/calling From+819012345678Key1value1Key2value2
28.
署名算出 ・AuthTokenをキーにして、HMAC-SHA1署名 ・base64でエンコード +sndfa0paQ+m2P0PZ4U/2lnLkHw= https://example.com/calling Key1value1Key2value2From+819012345678
29.
署名が一致するか 生成した署名 +sndfa0paQ+m2P0PZ4U/2lnLkHw= X-Twilio-Signature: +sndfa0paQ+m2P0PZ4U/2lnLkHw= 合致するので、Twilioからのリクエストとみなす
30.
twilio/sdk による検証 $validator =
new Services_Twilio_RequestValidator($authToken); // ヘッダから署名取得 $signature = $request->header('X-Twilio-Signature'); // URL 取得 Request::setTrustedProxies([$request->getClientIp()]); $url = $request->getUri(); // POST パラメータ取得 $postParameters = $request->input(); // 署名検証 if (!$validator->validate($signature, $url, $postParameters)) { // OK } else { // NG }
31.
まとめ (c) 2016 Masashi
Shinbara @shin1x1 •Twilio と Web アプリケーションは HTTP(S) で連携 •偽装リクエストが送信されることを意識 •Twilio 公式ドキュメントを参考に https://jp.twilio.com/docs/api/security
Download