<前の日記(2010年02月21日) 次の日記(2010年02月27日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 2271   昨日: 1295

2010年02月23日

はてブiPhoneアプリでログインしてはいけない

昨日、iPhone OS用の、はてなブックマークアプリがリリースされたのだが、

これは、下の図のように、最初のトップ画面(左)は専用アプリが表示しているものの、どれかをタップして画面を進めると、それはアプリに埋め込まれた「内蔵ブラウザ」(Safari部品)によって表示されるようになっている(中央、右)。

画面キャプチャ 画面キャプチャ 画面キャプチャ
図1: はてなブックマークiPhone OSアプリ

ブクマされた記事をタップすると、はてなの外に出ることになるが、このときも「内蔵ブラウザ」で表示され、下の図のようになる。しかし、このアプリは、アドレスバーがない。ここがどこなのか、わからない。

画面キャプチャ
図2: はてなの外に出たときの様子
(出典: http://designblog.ecstudio.jp/htmlcss/zen-coding-aptana.html)*1

あちこちタップしていると(てきとうなタイミングで)、下の図のように、はてなのログイン画面(のような画面)が出ることがある。

画面キャプチャ 画面キャプチャ
図3: はてなのログイン画面(のような画面)が出た様子

これが専用アプリならよい(アクセス先が固定だろうから)のだが、これはWebブラウザなのだから、どのアドレス(URL)にアクセスしているのかは定かでない。つまり、これは、どこかの偽サイトが出している画面かもしれないのだが、アドレスを確認する方法がない。

下の図のように、下に引っ張り下げてみても、上に何かあるわけでない。

画面キャプチャ
図4: 下に引っ張ってみた様子

画面上のアプリの固定領域にあるボタンを押してみても、下の図のように、アドレスを確認する機能は用意されていない*2。検索欄をタップすると単にキーボードが出るだけだ。

画面キャプチャ 画面キャプチャ
図5: アドレスを確認する機能が用意されていない様子

ヘルプを見ると、下の図のように、「内蔵ブラウザで閲覧」(左)してページからタップして「ログイン操作を進めて」(中央)と言っている。偽サイトが現れる可能性に想像が及んでいない。現状での自衛策としては、設定画面(右)で「必ずSafariで開く」をオンに変更することしかない。

画面キャプチャ 画面キャプチャ 画面キャプチャ
図6: ヘルプと設定画面

以前にも類似のことがあったが、どうしてこう、基礎がわからないのか。

また、今回のアプリは、ログイン画面は https:// になっている*3ようだけども、画面が図3のままでは、https:// を使っても無意味である。

なぜなら、WebブラウザにおけるSSLの使用は、利用者が入力する際に今見ている画面が https:// になっていることを確認して利用しない限り、暗号化の意味をなさないからだ。

  • 安全なWebサイト利用の鉄則 / よくある質問と答え

    Q1: アドレスの確認を入力の直前にするのはなぜですか?(利用者)

    リンクを辿ってページを移動している間に、どこのサイトにいるかが怪しくなる場合があります。特に、SSLによる通信の暗号化が必要な場面ではこのことは重要です。たとえば、利用するサービスのトップページでアドレスを確認し、本物サイトであることを確認したとしましょう。そこからリンクを辿ってログイン画面に辿り着いたとします。そのページは本物サイトでしょうか? そうとは限りません。なぜなら、リンクを辿っている途中のページに https:// ではない http:// のページが1つでもあったなら、そのページが通信路上で改竄されていた可能性を否定できません。いつのまにか違うサイトへジャンプさせられている可能性があります。

    ページを移動するたびに見ている画面が https:// であることを確認するというのは、利用者にとって煩雑すぎる作業です。入力欄のあるページで利用者が重要な情報を入力をしようとしたそのときに、アドレスのドメイン名を確認し、https:// であることを確認するという手順が、シンプルかつ合理的です。

    Q2: 入力ページを https:// にしなければならないのはなぜですか?(サイト運営者)

    個人情報等をSSLで暗号化していると謳っているWebサイトで、重要な情報の入力欄が http:// のページになっていることがあります。そのとき、サイト運営者が、「入力したデータの送信先は https:// になっているから暗号化されます」と主張することがありますが、それは誤りです。

    入力欄のページが http:// であるなら、そのページは通信路上で改竄されている可能性を否定できません。サーバ側のHTMLファイルが https:// へ入力データを送信するよう書かれていても、利用者のブラウザに到着したHTMLでは http:// へ送信するよう改竄されている可能性があります。利用者がそのことに気づかずに情報を入力してしまうと、暗号化されずに送信され、盗聴されてしまいます。

    SSLは盗聴を防ぐだけでなく改竄も防止する技術です。入力欄を https:// ページとしておき、利用者が入力の直前にそのことを確認することによって、SSLは有効に働きます。

そもそも、専用アプリなのだから、はてなへのログイン(パスワードの入力と送信、認証)はWebブラウザを使わずに実現するのが普通だろう。

*1 アドレスバーが存在しないアプリは、出典を隠して著作物を表示しているとも言え、著作権侵害の面もあると思う。Webコンテンツの著者は、Webブラウザが当然にURLを示してくれることを前提として、著作物を提供しているのだから。

*2 このメニューにアドレス確認機能を追加するのは得策でないかもしれない。偽サイトがこれと同じ見た目の偽メニューを出す可能性を踏まえて、利用者が区別できるかを検討しないといけない。

*3 関連:公衆無線LANで使うと危ないiPod touchアプリに注意, 2008年12月6日の日記

本日のTrackBacks(全100件) [TrackBack URL: http://takagi-hiromitsu.jp/diary/tb.rb/20100223]
検索

<前の日記(2010年02月21日) 次の日記(2010年02月27日)> 最新 編集

最近のタイトル

2024年11月11日

2024年07月28日

2024年07月27日

2024年07月07日

2024年04月07日

2024年04月01日

2024年03月23日

2024年03月19日

2024年03月16日

2024年03月13日

2024年03月11日

2023年03月27日

2022年12月30日

2022年12月25日

2022年06月09日

2022年04月01日

2022年01月19日

2021年12月26日

2021年10月06日

2021年08月23日

2021年07月12日

2020年09月14日

2020年08月01日

2019年10月05日

2019年08月03日

2019年07月08日

2019年06月25日

2019年06月09日

2019年05月19日

2019年05月12日

2019年03月19日

2019年03月16日

2019年03月09日

2019年03月07日

2019年02月19日

2019年02月11日

2018年12月26日

2018年10月31日

2018年06月17日

2018年06月10日

2018年05月19日

2018年05月04日

2018年03月07日

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
2018|03|05|06|10|12|
2019|02|03|05|06|07|08|10|
2020|08|09|
2021|07|08|10|12|
2022|01|04|06|12|
2023|03|
2024|03|04|07|11|
<前の日記(2010年02月21日) 次の日記(2010年02月27日)> 最新 編集