Twitterアプリの認証形式について
某アプリの実験に対する批判や「OAuth認証はDMにアクセスできるから危険」などの噂が流れています。
冬たいが~もOAuth認証を使用しているのでちょっとまとめ。
※技術者向けの資料ではないです。概要的なもの。
Basic認証
ユーザーIDとパスワードをアプリに直接入力して認証します。
アプリはユーザーIDとパスワードを記録し、認証が必要なる都度、それらを使用します。
※Twitterでは2010年8月末でBasic認証の使用を終了します。
OAuth認証
ユーザーIDとパスワードはアプリに直接入力せず、Twitterサーバー上で認証を行ないます。
(認証時にブラウザが開き、Twitterの「許可する」「しない」のボタンが標示されます)
アプリはパスワードを知ることはなく、Twitterサーバーから発行されたトークン(許可証のようなもの)を使用して通信します。
OAuth認証ではアプリに対し使用する機能の制限ができます。
Twitterでは制限レベルとして「読み込みのみ許可」、「読み書き両方を許可」の2種類があります。
ユーザーがTwitterの設定画面で許可を取り消すことで、操作を禁止することができます。
xAuth認証
簡易版OAuth認証です。
ブラウザを使用せず、アプリにIDとパスワードを入力し、アプリがTwitterと通信、トークンを取得します。
認証以降の通信にはユーザーIDとパスワードを使用せず、トークンを使用します。
OAuth認証と同じく機能の制限ができます。
ユーザーがTwitterの設定画面で許可を取り消すことで、操作を禁止することができます。
まとめ
| パスワードの保護 | 機能の制限 | DMへのアクセス |
Basic認証 | × | × | ○ |
OAuth認証 | ○ | ○ | ○ |
xAuth認証 | △※1 | ○ | ○ |
※1 本来的にはアプリは入力されたパスワードを保存せず破棄します。
アプリの作りによってはパスワードを保存する可能性があります。
どの認証方式であろうとも
アプリはDMへアクセスすることができます。
もちろん冬たいが~もDMへアクセスできますし、します。
だってDMにアクセス出来ないとDM表示できないですから。
「DMにアクセスできるからOAuthが危険」なんてことは全く無く、むしろ危険度で行けばパスワード自体を
アプリに知らせる可能性のないOAuthが一番安全です。
問題になるのは「認証の種類」「DMへアクセスできるかどうか」ではなく、「アプリに悪意が有るか無いか」です。
この判断は難しいですが、利用者が判断するしかありません。
また、「漏れて困る情報をTwitterで(たとえDMやクローズでも)やりとりしない」ことも大切です。
漏れたら本当に困る情報はオフラインでやり取りするか、暗号化するなどの対処をしましょう。
冬たいが~について
冬たいが~はOAuth認証を使用し、「読み書き両方」の許可を求めます。
TLの情報やDMの内容を外部に流すことはありません。
冬たいが~から外部へのアクセス先は次のようなものになります。
1.Twitter
2.冬たいが~のサイト(バージョンチェック・読み取りのみ)
3.Twitpic(画像投稿)
4.Bit.ly(URL短縮)
コメント