<前の日記(2008年11月22日) 次の日記(2008年11月24日)> 最新 編集

高木浩光@自宅の日記

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

2008年11月23日

Googleカレンダーでやってはいけないこと

Googleカレンダーで公開前提ではないカレンダー(非公開を前提としたカレンダー)を作っている場合、以下の操作をしないよう注意する必要がある。

画面キャプチャ
図1: Googleカレンダーの設定画面

「設定」画面でカレンダーを選んだときに出てくる画面の「カレンダーの情報」タブのところの一番下に、「非公開URL:」という項目がある。そこには、「これはこのカレンダーの非公開 URL です。このカレンダーのすべての予定を他のユーザーに見せたい場合を除き、このアドレスを他のユーザーと共有しないでください。」という説明書きがあるが、何のことやらよくわからない。ここで、「XML」「ICAL」「HTML」と書かれた部分の「HTML」のところをクリックすると次の画面が出る。

画面キャプチャ
図2: 図1の「HTML」の部分をクリックしたときの様子

ここで、表示されているURLのリンクをクリックしてはいけない。

マップとカレンダーでちぐはぐな設計

これがいったい何なのかは、「ヘルプ」に書かれている。(「非公開URL」なのか「個人用URL」なのか名称すらちぐはぐだが、同じものを指していると思われる。)

"個人用 URL" について教えてください。

カレンダーのXMLかiCalフォーマットの"個人用 URL"では、Googleカレンダーにログインすることなく、他のアプリケーションを使って読み取り専用のカレンダーが表示できます。このURL を使用すると、フィードリーダー(例: Google Reader)やiCalフォーマットに対応した他の製品(例: iCal for Mac)から、カレンダーを簡単に表示できます。カレンダーのHTMLフォーマットの"個人用 URL"では、Googleカレンダーにログインすることなく、読み取り専用のカレンダーを表示できます。

(略)

注: 個人用URLはご自身のみがご利用になるアドレスですので、他のユーザーと共有しないでください。お使いのカレンダーを他のユーザーに公開する場合は、カレンダーの公開URL(または [カレンダー URL])を共有してください。誤って個人用URLを共有した場合には、[非公開 URL をリセット]リンクをクリックして個人用アドレスを再生成してください。

"個人用 URL" について教えてください。 - カレンダー ヘルプ センター, Google

この説明文では明確には書かれていないが、これは、非公開設定のカレンダーであってもこのURLさえあれば誰でも閲覧できるという意味である。「ログインすることなく他のアプリケーションを使って」表示できるとはそういう意味だ。何のために必要となる機能かは、フィードリーダの例がわかりやすい。非公開のカレンダーの更新状況を(認証機能を持たない)フィードリーダで確認したい場合にはこれを使うしかないというわけだ。*1

このURLの取り扱いに注意が必要であることは、去年の8月に話題になっていた。

  • 「非公開URL」によるアクセス・コントロールについて考える, 技術者視点のユーザビリティ考, 水野貴明, 日経ソフトウェア, 2007年8月22日

    今回この話題を取り上げたのは,「Googleカレンダー」に用意されている「非公開URL」という機能を見たからです。Googleカレンダーでは,標準ではカレンダーは「非公開」,つまり自分以外は内容を見られないように設定されます。しかし,この「非公開URL」にアクセスすると,特に認証が無くても,つまり誰でも,カレンダーの内容を閲覧できるようになっています。

    なぜこんなものが用意されているのでしょうか。

    理由の一つは,他のスケジュール管理ソフトや携帯電話やPDAなど(略)

    もう一つの理由は,知り合いにだけデータを見せたい,といった場合に便利だからでしょう。非公開URLさえ知らせれば,パスワードなどを知らせなくても見てもらうことが可能だからです。

  • Google Calendarの非公開URLは文字通り他人と共有するものじゃないどすえ〜, My Little Hip By MyPROFILE, 2007年8月24日

    Google Calendarの非公開URLは設定画面のヘルプの飛び先にも書いてある通り本当に自身が利用するためのURLで、他人との共有目的で使う前提で議論するのがそもそもおかしい。

ツッコミが入っている通り、Googleカレンダーの「非公開URL」(別名「個人用URL」)は、少人数であっても他人に知らせて使うものとして想定されていない。これは、Googleマイマップの「限定公開」(旧称「非公開」)設定のマイマップにおけるURLとは、設計趣旨が異なっている。

GoogleマイマップとGoogleカレンダーとでこのように設計が異なっていることが人々を混乱させるのか、実際には、Googleカレンダーのこの「非公開URL」(別名「個人用URL」)を他人に知らせて使っている人もいるようだ。Web検索で「pvttk」などで検索すると、そのような事例がたくさんヒットする。

そのような誤った使い方は、Googleマイマップで「限定公開」(旧称「非公開」)設定で秘密情報を登録するのと同じ理由で誤った行為である。

では、他人に知らせることなくこの「非公開URL」(別名「個人用URL」)機能を使うのは間違っていないのかというと、先に書いたように、図2のURLをクリックしてはいけない。

クリックしてはいけないのは、このURLがどこかに漏れて公開されたら終わりだからだ。漏れる原因としてよく言われるのは、ブラウザのReferer機能であるが、他にもいろいろがあり得る。URLは基本的に公開情報として捉えるべきで、Webの仕組みはそれを前提に設計されている。Webアプリケーション側はURLに秘密情報を含める設計を避けるべきである。

Pathtraqと共存しえない

特に、サイボウズラボの「Pathtraq(パストラック)」サービスを利用している場合は、ほぼ確実にURLが漏洩し、公開状態に持って行かれてしまうので、図2の画面でURLを絶対にクリックしないようにしなければならない。

「Pathtraq」とは、「あなたのブラウザのサイドバーからいつでも今人気のページを追跡OK! [今すぐ参加する]」と説明されたツールバーを導入すると、ブラウザがアクセスする各URLをそのままPathtraqサイトに送信するようになるもので、これを用いて、Pathtraqサイト側が送られてくる利用者のアクセス先URLを集計して、「注目」「人気」「定番」といったアクセスランキングを提供するサービスである。

当然、このようなツールバーを導入するとプライバシーが損なわれるわけで、万人が導入するものではないと思うが、サイボウズラボとしては、利用者の同意があればやってよいサービスだというスタンスなのだろう。*2

そして、このPathtraqツールバーを導入している人が、図2のリンクをクリックすると、そのURLがPathtraqサイトに掲載されてしまう。図3は、Pathtraqの「定番」検索で、GoogleカレンダーのURLを検索した際の様子である。

画面キャプチャ
図3: Pathraqで特定のURLを検索した様子

この検索結果を適当にクリックしてみたところ、URLに「pvttk=」を含むものがあった。特に、WIDE幹部の予定表がこれによって公開状態となっていたのには驚いた。WIDE幹部関係者でさえ、この程度のITリテラシーだということを意味する。

画面キャプチャ
図4: WIDE幹部の非公開設定カレンダーが公開状態になっていた様子

ここに「2 hits」とあるのは、2回しかクリックしていない(Pathtraqのツールバーを導入している人が図2のリンクを2回クリックした)という意味である。2回クリックしただけで、公開され、内容まで閲覧可能になってしまう。

こうなると、PathtraqのページがWebクローラに捕捉されてどこかの検索エンジンに登録されることも起こり得るわけで、通常のWeb検索でも見つかるようになってしまう。

これはまずいと思ったので、すぐにサイボウズラボに通報して、「pvttk=」を含むURLは検索に出ないようにして頂いた。11月17日以降は出なくなっている。この通報は、Pathtraqヘルプの次の記述に基づくものである。

URLとセキュリティについて

パストラックが取り扱うURLはhttp://で始まるもののみです。以下のようなサイトは、パストラックのログサーバに送信・保存され、パストラックサイトにて公開されることはありません。

  • HTTPS(SSL)プロトコルによって暗号化されたページ
  • ブラックリストに登録された認証トークンを含むページ
  • DNSで引く事の出来ないホストが提供するページ

このHTTP URLに認証目的のトークンが含まれる場合につきましては、パストラックのサーバ上にて、ブラックリストによる消去処理を行っています。

ブラックリストの詳細につきましては、こちらをご覧ください。

ヘルプ - [パストラック(Pathtraq)], サイボウズラボ

ブラックリストで除去しているというのだが、不完全なものとならざるを得ないことは容易に想像されるところである。この「ブラックリスト」とはいったいどういう仕組みなのか。ヘルプには「ブラックリストの詳細につきましては、こちらをご覧ください」とあるが、そのリンク先を見てもそれらしきことはどこにも書かれていない。

このような事態の大元の原因は、URL中に秘密情報を含めてしまうWebアプリケーションにあるわけだが、それをほぼ確実に公開状態に持って行くPathtraqツールバーがその危険を加速させていて、かつ、Pathtraqのブラックリストは不完全で、どういうものなのかも説明されていない。RefererはWebの標準機能だからしかたがないと言えるが、後から導入させるツールバーでこの状況というのはどうなのか。

Googleマイマップの「限定公開」は全く限定されていない

こうした事態は、Googleマイマップの「限定公開」(旧称「非公開」)設定でも同様に起きる。Pathtraqで「http://maps.google.co.jp/」で検索すると、ごく普通に「限定公開」設定のマイマップもぞろぞろと出てくる。

画面キャプチャ
図5: PathtraqでGoogleマイマップを検索した様子

これは、Googleマイマップの仕様であるから、Pathtraq側がブラックリストで排除するべきものとは言えない。また、URLで見分けがつかないため排除することもできない。

自分がPathtraqツールバーを導入していなくても、「限定公開」先として特定少数の誰かにURLを伝えたときに、その誰かの一人がPathtraqツールバーを利用していたら、このように公開されてしまう。

Googleマイマップを非公開用途に使えるかのように宣伝していたのはグーグル社員だった

このことからもわかるように、Googleマイマップは全く秘密に使うことのできないサービスである。にもかかわらず、マイマップが発表された当初、まるで非公開目的に使えるかのように宣伝されていた。

  • Google マップを使って地図が簡単に作れるようになりました。, Google Japan Blog, 2007年4月4日

    2007年4月4日
    Posted by 徳生 健太郎 ( プロダクトマネージャー )

    今日から Google マップで、お絵かきをする感覚で、自分だけの地図を作成し、公開することができるようになりました。「マイマップ」という機能です。(略)

    Google の社員が作った地図をいくつかご紹介。
    (略)
    待ち合わせ地図の例: 友達との待ち合わせなどに使ってみてください。初めての方でも、数分でこんな地図が作れます。

ここに紹介されている「待ち合わせ地図の例」では、作者が携帯電話の番号を書いており、あたかも、非公開用途で使えるかのように思わせている。

画面キャプチャ
図6: グーグル社員が推奨するマイマップ利用例で携帯電話番号が記載されいる様子

もちろん、Webで携帯電話番号が検索できるようになってもかまわないという主義の人もいるだろうが、そうでない人は、これに惑わされて誤解しないようにしなくてはならない。

Googleカレンダーを使い続けるなら

もし図2のリンクをクリックした覚えがあるなら、図1の「非公開URLをリセット」というリンクをクリックして、そのURLを新しいものに置き換える操作をした方がよい。これにより、古いURL(の「pvttk=」)は無効になり、流出してURLが公開状態にあるとしても、古いURLではアクセスできなくなる。

それにしても、たったこれだけの操作でカレンダーが公開状態になるのは、怖くて非公開用途で使う気がしない。たとえば、Googleにログインしたままの状態で席を離れた隙に、何者かにここをクリックされ(あるいはどこかに貼付けられ)たら、数日後にはWeb検索で見つかる状態になってしまう。

そもそもこの機能を存在しない状態にしたいわけだが、これは、Google Apps版のGoogleカレンダーでなら可能なようだ。

画面キャプチャ
図7: Google Appsの「サービスの設定」「カレンダーの設定」

管理者ユーザで「サービスの設定」から「カレンダー設定」の画面に行くと、図7のように「共有オプション」として、「ドメイン外部」(ドメイン関係者以外の)利用者からのアクセスに対するアクセス権限の最大値(一般ユーザが設定できるカレンダーの公開レベルの範囲)を設定できるようになっており、デフォルト設定では「空き状況のみ」となっている。

この設定の場合、ユーザが各カレンダーの設定画面に行っても、図8のように、「非公開URL」(別名「個人用URL」)を使うことができないようにされている。

画面キャプチャ
図8: Google Apps版のGoogleカレンダーのデフォルト設定では「非公開URL」機能が出てこない様子

Googleは「非公開URL」(別名「個人用URL」)にセキュリティ上の問題が存在することの認識はあるようだ。

*1 iCalでは認証機能を持つCalDAVに対応しているのでこの機能は無用である。本来は、参照する側のアプリケーションが認証機能に対応することで実現するべきことだろう。

*2 自発的にインストールするならよいが、もし何かにバンドルしてよくわからないままインストールさせるような行為を始めると、スパイウェアと認定される部類のものと思う。過去に類似のことをやっていたツールバーとして「Alexa」がよく知られているが、これはスパイウェアと認定されている

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

盛大に吹いたのでこのネタから。「嫁のメシがまずい」スレタイ一覧:ぁゃιぃ(゜ー゜

検索

<前の日記(2008年11月22日) 次の日記(2008年11月24日)> 最新 編集

最近のタイトル

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|
<前の日記(2008年11月22日) 次の日記(2008年11月24日)> 最新 編集