SlideShare a Scribd company logo
1 of 48
Download to read offline
ガラケー×SSL
 開発Tips
    Tips
2011/10/27 高倉利明
今日の内容

いまさらガラケー?

→現実的に案件はまだまだあるよね。
今日の内容

なぜSSLに特化した話?
  SSL

→PCサイト構築中心にやってた人は
 甘く見がちだが、特にはまりやすい
 のがSSL関連。
今日の内容

目次

• テストサイトでも証明書買え!
• リダイレクトとSSL
• SSL下でのセッション維持
その1
テストサイトでも
証明書買え!
PC
PCの場合
→自己認証証明書でとりあ
えず確認できる。
ガラケー実機の場合



  \(^o^)/
自己認証証明書では
ガラケー実機でSSLの確
認できない!
まとめ:テストサイトでも証明書買え!
•ガラケーサイトでは必ず認証局認証済みの
証明書を準備する必要がある
※特にauは勝手証明書アクセス全滅

•どこの証明書買えばいいの?
→迷ったらVeriSign
その2
リダイレクトとSSL
・リダイレクト回数
・au×SSLリダイレクト時
 のLocation指定
リダイレクト回数

キャリア(&機種)毎にリダイレ
クト可能な回数がある

※エミュレータでは起きないの
で気づきにくい。
一般的には
DoCoMo: 最大4回
(超えた場合は「無効なデータを受信しました」)

Softbank: 最大4回
(超えた場合は「このページは表示できません」)

au: 最大6回
(超えた場合は「このページへのアクセスは拒否されました」)

※非公式調査なので注意
で、リダイレクト回数が
SSLと関係あるの?

→大あり
SSLなしの場合
http://hoge.jp
→ http://hoge.jp/
→ http://hoge.jp/m/
→ http://hoge.jp/m/mypage

リダイレクト3回→セーフ
SSLだと
https://hoge.jp
→ https://hoge.jp/
→ http://hoge.jp/
→ http://hoge.jp/m/
→ http://hoge.jp/m/mypage
→ https://hoge.jp/m/mypage

リダイレクト5回→アウト
au×SSLリダイレクト時の
Location指定

au × SSL環境下の場合、リダイレクトの
Locationに相対パスで指定する必要があ
る。

※これもエミュレータでは起きないので気
づきにくい。
例:PHPの場合

https://www.sample.com/aaa/ で~
<?php
header(locaiont”https://www.sample.com/aaa/bbb.php”);
?>
→502エラー
<?php
header(location:”bbb.php”);
?>
→正常にリダイレクト
まとめ:リダイレクトとSSL
•キャリア毎にリダイレクト回数制限がある&
SSLかけるとリダイレクト回数増加

•au × SSLの場合、リダイレクトのLocationに
相対パスで指定する必要あり。

•エミュレータでは起きないのでテストフェーズ
まで気づかないことが多い
→回避するには大幅なプログラム修正要
→開発の早い段階で実機確認を行うべし。
その3
SSL下での
セッション維持
前提
PCでのセッション維持
→Cookie一択
前提
ガラケーでのセッション維持
→いろいろ
(1)セッションID
(2)UID
(3)Cookie
(1)セッションID
古くからある方法。
リンクパラメータでIDを引き回す。
http://hoge.jp/?sid=0011AABBCC....

問題点
リンクが分かればセッション乗っ取れる。
→「認証前にセッションを有効にしない」、
「Refererでの漏洩を防ぐ」「セッションIDの一
定期間での振り替え」などを考慮。
(2)UID (個体識別情報)
キャリア毎に用意されている回線契約や
端末に紐づくID。これを使用してセッショ
ン維持する。

注. 今回は説明割愛します。
※UIDに種類がいろいろあり説明が複雑にな
るのと、セキュリティ的に今後非推奨になって
いくと思われるので。
(3)Cookie
PCと同じように使う。Web標準。

問題点
以下の理由によりガラケーでは最近まであま
り使われていなかった。

•DoCoMoのiモードブラウザ1.0では使えな
い! ※2009/6 以前発売端末
•SSL絡みの挙動 ※後述
ということで・・・
•Cookie使える端末
 →Cookie
•Cookie使えない端末
 →セッションID

T木先生もT丸先生も推薦。
セキュリティもばっちり! b(^-^)o
よし、SSLで
テスト!
( ゚д゚)
au端末でセッショ
ン切れる・・・
HTTPで発行したCookieの
HTTPSとの共有
・DoCoMo できる
・Softbank できる
・au       できない

※注.2011/10末 現在
DoCoMoの場合。。。

HTTP
HTTPで発行したCookieのHTTPS間
         Cookie HTTPS
との共有ができる。

→しかしiモードブラウザ1.0端末
ではCookie使えない。。。
Softbankの場合。。。

HTTP
HTTPで発行したCookieのHTTPS間
         Cookie HTTPS
との共有ができる。

※余談:旧仕様 2011/6/30で廃止
・HTTP接続:
 http://hoge.jp/
・ HTTPS接続:
 https://secure.softbank.ne.jp/hoge.jp/
→ドメインが違うので、Cookieを引き継げない。
auの場合。。。

HTTPで発行したCookieのHTTPS間との共
有はできない。
→理由
・HTTPS接続:端末にCookie保存
・HTTP接続:GWサーバにCookie保存

→普通に実装すると、 HTTP⇔HTTPSの遷
移でCookieが変わる
(=セッションが引き継がれない)
auの場合。。。
設定時の条件           HTTPでの参照
                 HTTPでの参照
                     での         HTTPSでの
                                HTTPSでの参照
                                     での参照

HTTPで設定      ○              × (本来○であるべき)

HTTPSで設定
             ○              ○
(セキュア属性なし)

HTTPSで設定
             ×              ○
(セキュア属性付き)


→このためセッション維持のためHTTPとHTTPS両方か
ら参照できるCookieを設定するためには、HTTPS側で
Cookieを設定する必要がある。
=プログラム側で大幅な改造が必要。
余談:2011年秋冬モデル以降は、こ
の縛りはなくなるものと思われる。
au/KDDIの「KDDI au: そのほかの技術情報 > Cookie」
→Cookieはブラウザ側に全て保存される予定。
上記により以下のケースでセッション
維持方針がかわってくる。

(1)サイト全てをHTTPSページとする
場合 ※問題点あり
(2)サイトでHTTP、 HTTPSページを
使い分ける場合
※(1)の問題点
画面遷移やリダイレクト毎にいちいち「SSLで接続します」等のダイアログが出
てしまうので、UI的に非常にイケていない。
まとめ:SSL下でのセッション維持

(1)サイト全てをHTTPSページとする
場合

•Cookie使える端末の場合
 →Cookie
•Cookie使えない端末の場合
 →セッションID(等)
まとめ:SSL下でのセッション維持

(2)サイトでHTTP、 HTTPSページを
使い分ける場合

(i) au以外
•Cookie使える端末の場合
  →Cookie
•Cookie使えない端末の場合
  →セッションID(等)
まとめ:SSL下でのセッション維持

(2)サイトでHTTP、 HTTPSページを
使い分ける場合

(ii) au
セッションID(等)を使用 or
セッション維持用のCookieはHTTPSでセット・
変更する
まとめ:SSL下でのセッション維持

補足:
Cookie使えない場合に「セッションID
(等)」としたのは、実案件ではUIDを併用
したセッション維持を行わざるを得ない
ケースも多いため。

※かんたんログイン etc
おさらい
まとめ:テストサイトでも証明書買え!
•ガラケーサイトでは必ず認証局認証済みの
証明書を準備する必要がある
※特にauは勝手証明書アクセス全滅

•どこの証明書買えばいいの?
•→迷ったらVerisign
まとめ:リダイレクトとSSL
•キャリア毎にリダイレクト回数制限がある&
SSLかけるとリダイレクト回数増加

•au × SSLの場合、リダイレクトのLocationに
相対パスで指定する必要あり。

•エミュレータでは起きないのでテストフェーズ
まで気づかないことが多い
→回避するには大幅なプログラム修正要
→開発の早い段階で実機確認を行うべし。
まとめ:SSL下でのセッション維持

(1)サイト全てをHTTPSページとする
場合

•Cookie使える端末の場合
 →Cookie
•Cookie使えない端末の場合
 →セッションID(等)
まとめ:SSL下でのセッション維持

(2)サイトでHTTP、 HTTPSページを
使い分ける場合

(i) au以外
•Cookie使える端末の場合
  →Cookie
•Cookie使えない端末の場合
  →セッションID(等)
まとめ:SSL下でのセッション維持

(2)サイトでHTTP、 HTTPSページを
使い分ける場合

(ii) au
セッションID(等)を使用 or
セッション維持用のCookieはHTTPSでセット・
変更する
まとめ:SSL下でのセッション維持

補足:
Cookie使えない場合に「セッションID
(等)」としたのは、実案件ではUIDを併用
したセッション維持を行わざるを得ない
ケースも多いため。

※かんたんログイン etc
質疑応答
ご静聴
 ありがとう
ございました。

More Related Content

Viewers also liked

Napoleon bonaparte
Napoleon bonaparteNapoleon bonaparte
Napoleon bonaparteham97
 
Introduction to ancient rome
Introduction to ancient romeIntroduction to ancient rome
Introduction to ancient romeham97
 
Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009
Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009
Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009guest67eb5d9
 
Servizio Pubblico di Santoro: analisi delle opinioni on line
Servizio Pubblico di Santoro: analisi delle opinioni on lineServizio Pubblico di Santoro: analisi delle opinioni on line
Servizio Pubblico di Santoro: analisi delle opinioni on lineReputation Manager
 
The reformation, part 2
The reformation, part 2The reformation, part 2
The reformation, part 2ham97
 
The reformation, part 2
The reformation, part 2The reformation, part 2
The reformation, part 2ham97
 
eco 1º temas 4,5, 1bach
eco 1º temas 4,5, 1bacheco 1º temas 4,5, 1bach
eco 1º temas 4,5, 1bachEstrella
 
Business School: la Rete ti vede così
Business School: la Rete ti vede cosìBusiness School: la Rete ti vede così
Business School: la Rete ti vede cosìReputation Manager
 
Finnish Russian Chamber Of Commerce Changes In Law Eng
Finnish Russian Chamber Of Commerce Changes In Law EngFinnish Russian Chamber Of Commerce Changes In Law Eng
Finnish Russian Chamber Of Commerce Changes In Law EngAndrey Zelenin
 
005 unidade iii - pp.190-204 unidade iv - pp.205-239
005   unidade iii - pp.190-204  unidade iv - pp.205-239005   unidade iii - pp.190-204  unidade iv - pp.205-239
005 unidade iii - pp.190-204 unidade iv - pp.205-239Giovani Comerlatto
 
La Reputazione Online dello spread
La Reputazione Online dello spreadLa Reputazione Online dello spread
La Reputazione Online dello spreadReputation Manager
 
The harding presidency
The harding presidencyThe harding presidency
The harding presidencyham97
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことTrinityT _
 
Avvocati sui Social Media: analisi di scenario in Italia
Avvocati sui Social Media: analisi di scenario in ItaliaAvvocati sui Social Media: analisi di scenario in Italia
Avvocati sui Social Media: analisi di scenario in ItaliaReputation Manager
 
ID Presentation
ID PresentationID Presentation
ID Presentationjjagelka
 
Elezioni Milano 2011: Moratti vs Pisapia sul Web
Elezioni Milano 2011: Moratti vs Pisapia sul WebElezioni Milano 2011: Moratti vs Pisapia sul Web
Elezioni Milano 2011: Moratti vs Pisapia sul WebReputation Manager
 

Viewers also liked (20)

007 unidade iv - pp.284-final
007   unidade iv - pp.284-final007   unidade iv - pp.284-final
007 unidade iv - pp.284-final
 
Napoleon bonaparte
Napoleon bonaparteNapoleon bonaparte
Napoleon bonaparte
 
Introduction to ancient rome
Introduction to ancient romeIntroduction to ancient rome
Introduction to ancient rome
 
Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009
Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009
Verkorte Titelpresentatie Margriet Nieuwe Stijl 2009
 
Servizio Pubblico di Santoro: analisi delle opinioni on line
Servizio Pubblico di Santoro: analisi delle opinioni on lineServizio Pubblico di Santoro: analisi delle opinioni on line
Servizio Pubblico di Santoro: analisi delle opinioni on line
 
The reformation, part 2
The reformation, part 2The reformation, part 2
The reformation, part 2
 
The reformation, part 2
The reformation, part 2The reformation, part 2
The reformation, part 2
 
eco 1º temas 4,5, 1bach
eco 1º temas 4,5, 1bacheco 1º temas 4,5, 1bach
eco 1º temas 4,5, 1bach
 
Business School: la Rete ti vede così
Business School: la Rete ti vede cosìBusiness School: la Rete ti vede così
Business School: la Rete ti vede così
 
Finnish Russian Chamber Of Commerce Changes In Law Eng
Finnish Russian Chamber Of Commerce Changes In Law EngFinnish Russian Chamber Of Commerce Changes In Law Eng
Finnish Russian Chamber Of Commerce Changes In Law Eng
 
005 unidade iii - pp.190-204 unidade iv - pp.205-239
005   unidade iii - pp.190-204  unidade iv - pp.205-239005   unidade iii - pp.190-204  unidade iv - pp.205-239
005 unidade iii - pp.190-204 unidade iv - pp.205-239
 
La Reputazione Online dello spread
La Reputazione Online dello spreadLa Reputazione Online dello spread
La Reputazione Online dello spread
 
Obama, la Rete ti vede così
Obama, la Rete ti vede cosìObama, la Rete ti vede così
Obama, la Rete ti vede così
 
Giroidea - Our method
Giroidea - Our methodGiroidea - Our method
Giroidea - Our method
 
Giovani, lavoro e Web
Giovani, lavoro e WebGiovani, lavoro e Web
Giovani, lavoro e Web
 
The harding presidency
The harding presidencyThe harding presidency
The harding presidency
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
 
Avvocati sui Social Media: analisi di scenario in Italia
Avvocati sui Social Media: analisi di scenario in ItaliaAvvocati sui Social Media: analisi di scenario in Italia
Avvocati sui Social Media: analisi di scenario in Italia
 
ID Presentation
ID PresentationID Presentation
ID Presentation
 
Elezioni Milano 2011: Moratti vs Pisapia sul Web
Elezioni Milano 2011: Moratti vs Pisapia sul WebElezioni Milano 2011: Moratti vs Pisapia sul Web
Elezioni Milano 2011: Moratti vs Pisapia sul Web
 

Similar to ガラケー×SSL 開発Tips

GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウドHasegawa Yusuke
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化Shin Takeuchi
 
クラウドで変わったサポート
クラウドで変わったサポートクラウドで変わったサポート
クラウドで変わったサポートtas-hiro
 
ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!IIJ
 
Jazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうJazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうTadahiro Ishisaka
 
セキュリティの基本とWordPress
セキュリティの基本とWordPressセキュリティの基本とWordPress
セキュリティの基本とWordPressEndoh Shingo
 
配布用Cacti running with cherokee
配布用Cacti running with cherokee配布用Cacti running with cherokee
配布用Cacti running with cherokeeyut148atgmaildotcom
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方CData Software Japan
 
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LTIgarashi Toru
 
64ヶ月オンプレ運用したシステムを aws移行した話
64ヶ月オンプレ運用したシステムを aws移行した話64ヶ月オンプレ運用したシステムを aws移行した話
64ヶ月オンプレ運用したシステムを aws移行した話Ryota Kuroki
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料Shinichiro Isago
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料guest628c07
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたNaruto TAKAHASHI
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよNaruto TAKAHASHI
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!Hirotaka Sato
 
あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~
あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~
あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~Masahiko Ebisuda
 
パブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよパブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよYukio Saito
 
AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界Tomo Watanabe
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 

Similar to ガラケー×SSL 開発Tips (20)

GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウド
 
マルチデバイス時代の高速化
マルチデバイス時代の高速化マルチデバイス時代の高速化
マルチデバイス時代の高速化
 
クラウドで変わったサポート
クラウドで変わったサポートクラウドで変わったサポート
クラウドで変わったサポート
 
ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!ただしくHTTPSを設定しよう!
ただしくHTTPSを設定しよう!
 
Jazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょうJazug3周年lt deployブランチを追加してみましょう
Jazug3周年lt deployブランチを追加してみましょう
 
セキュリティの基本とWordPress
セキュリティの基本とWordPressセキュリティの基本とWordPress
セキュリティの基本とWordPress
 
配布用Cacti running with cherokee
配布用Cacti running with cherokee配布用Cacti running with cherokee
配布用Cacti running with cherokee
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT[2019 01-19] AzureDevOps LT
[2019 01-19] AzureDevOps LT
 
64ヶ月オンプレ運用したシステムを aws移行した話
64ヶ月オンプレ運用したシステムを aws移行した話64ヶ月オンプレ運用したシステムを aws移行した話
64ヶ月オンプレ運用したシステムを aws移行した話
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
 
Tizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えたTizen web app を FireFox OS へ移植する方法を考えた
Tizen web app を FireFox OS へ移植する方法を考えた
 
Tizen web app について調べたよ
Tizen web app について調べたよTizen web app について調べたよ
Tizen web app について調べたよ
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
 
あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~
あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~
あなたも「違いが分かる人」になりましょう! ~ Azure, AzureStack, AzureStack HCI ~
 
パブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよパブリック・クラウド基盤でVirtual on virtual ってどうよ
パブリック・クラウド基盤でVirtual on virtual ってどうよ
 
Build secure io t gateway
Build secure io t gatewayBuild secure io t gateway
Build secure io t gateway
 
AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界AndroidとHTML5で変わる組込みの世界
AndroidとHTML5で変わる組込みの世界
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 

ガラケー×SSL 開発Tips