いまさらですけど「OAuthなら安心」という誤解について

Twitter の BASIC 認証が廃止され
OAuth が標準の認証方法になりましたね。

BASIC 認証と OAuth

ものすごく簡単に言うと、
BASIC 認証というのは毎回 ID とパスワードを使う認証方法なので
外部のサービスを利用するには
その運営者に ID とパスワードを預けることになる。

それに対して OAuth というのは
Twitter から専用のアクセストークンというものが提供され
アプリケーションはそのトークンを使って Twitter にアクセスするので
外部サービス運営者にパスワードを渡す必要がない。

そのサービスの利用をやめたい場合も
サービス側に申請する必要はなく、
Twitter のサイト上で「許可を取り消す」というボタンを押すだけ。

これは安心。

安心じゃない

確かに、ID とパスワードを渡すということは
相手がその気になれば何でもできるということ。
アカウントを乗っとられる危険もありますね。
そういう意味では BASIC 認証こわい。

このため、
「OAuth ならパスワードを渡さないから安心」
と誤解されることがあるようなので一応。
今さら感がありますが、まあ一応。

確かに、パスワードを持っていないと
アカウントの削除やパスワードの書き換え、
登録メールアドレスの変更なんかはできませんね。

けど、そういうアカウントの根本に関わること以外なら全部できます。
例えば

  • 勝手に宣伝ツイートをする
  • 過去のツイートを削除する
  • DM を盗み見る
  • 友人に DM を送りつける
  • 自分がフォローしている Protect ユーザーの発言を抜き出す

など。
最後のやつなんて、自己責任の範囲外ですね。

全部書いたらきりがないので、
認証を受けたサービスがやろうと思えばできることはこのへんで。

OAuth による許可内容には
“Read & Write” と “Read-only” というのがあって
読んで字のごとく前者は読み書き可能、
後者は読み取りだけなんだけど
多くのアプリケーションは “Read & Write” になってるんじゃないかな。

どうすればいいのか

信頼するしかないです。

実際、登録した瞬間に
そのサービスの宣伝みたいなのを強制的にツイートさせるサービスも多い。
でもアクセス許可を与えるということはそういうことです。

あとできることといえば、

  • いったんテスト用の別アカウントで登録してみる
  • すでに使ってる人の様子を見てみる
  • サービス提供者のサイトや Twitter を見て、雰囲気をつかむ

あたりでしょうか。

サービスを提供する側は

サービス提供者としては、
「勝手なことはしませんよ」と宣言しておくだけでも
ユーザーからの信頼感が変わってくるんじゃないかな。

さっき目にしたサービスではここまで書かれてた。

First Five Followers

This site does nothing more than find out who your first five followers were. It will not send an auto-tweet. It will not do any other harm. Promised. I hate that as much as you do. It is up to you to tweet.

このサイトがやるのは、最初の5人のフォロワーを見つけることだけです。他の悪さはしません。約束します。私だって勝手なことをされるのは嫌いです。ツイートするかどうかを決めるのはあなたですもんね。

これは参考にしたい。

さらに、これを Twitter が実装してくれたら
お互いかなり楽になると思うのでぜひともお願いしたいと思ってます。

結論

えーと @msng が提供する Twitter 関連サービスでは
ユーザーの許可なくツイートしたり DM を盗み見たり
そういうことは絶対にやりませんのでどうか信頼してください。

関連エントリ

  • このエントリーをはてなブックマークに追加