都内で働くSEの技術的なひとりごと

都内でサラリーマンやってます。マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。よろしくお願いします♪

BrowserID って何者ですか?

 土日連続で猛暑ですね。こう暑いとブログネタも中々思いつきません。来週もこの猛暑少しはましになるようですが、まだまだ猛暑日は続くようです。夏バテしないようにがんばりましょう。

 さて、今回は以前から興味を持っていた認証系のお話です。MS 系であれば、ADDS、ADFS 立ててオンプレミス、クラウド同一の ID でシングルサインオンするなんていうのが当たり前になってきています。このような動きは今後、一般の企業でも活発になっていくのだろうなと思います。

 最近、BrowserID という認証方式を目にしました。Mozilla Persona が Googlegmail ( BrowserID の Id Authority 機能を実装したということですね。) アドレスを利用できるようにしたと発表しました。Persona に対応した Web サイトでは、gmail のアドレスでサインインできるようになります。日本のサイトではまだ対応したサイトがないので、それほど有用ではないのが現状です。

 早速、試してみましょう。(ここをクリックしてください。) 右上のログインをクリックします。

f:id:koogucc11:20130811143415j:plain

 BrowserID はメールアドレスをユーザー ID とします。gmail のアドレスを入力して次へをクリックしてください。

f:id:koogucc11:20130811143705j:plain

 gmail.com にログインをクリックします。

f:id:koogucc11:20130811143855j:plain

 gmail の ID およびパスワードを入力し、ログインボタンをクリックし、承認することで処理は完了です。

f:id:koogucc11:20130811144028j:plain

 ここのサイトが、Persona に対応しています。MOZILLA PERSONA をクリックすることで MOZILLA PERSONA の認証画面が表示されます。

f:id:koogucc11:20130811152244j:plain

  ログインをクリックすることで、サイトにログインすることができます。

f:id:koogucc11:20130811152448j:plain

 

 BroweserID の認証方式は、下記のサイトに詳しく記載されています。

  • BrowserIDの紹介:より良いサインインの手段

    BrowserID の簡単な紹介です。

    Web 開発者にとって、新たなアプリケーションの開発は、ユーザーのサインインをどうすればよいかといった退屈なハードルが常に伴うものです。認証手順としてメールアドレスを用いるのは古典的な手法ですが、ユーザには余計な手順とまた一つパスワードを覚える手間をかけさせてしまいます。他の選択肢として FacebookTwitterGoogle といった大手の ID プロバイダにログインと認証の管理を任せることもできますが、これらのプロダクトは、ロックインや信頼性の問題、データのプライバシーの懸念も招くものでもあります。BrowserID では、より良いサインインの方法を提供します。BrowserID はユーザの操作を簡単にする「メールプロコトル認証」を実装しています。ユーザは確認メッセージも少なく、サイト別のパスワードを覚える必要もなく、簡単にメールアドレスの所有者であることを証明できます。

     ざっくりしかわからないですね。

  • 新しい認証方式 BrowserID を分かりやすく解説してみる

    細かい箇所まで非常にわかりやすく解説されています。OpenID, OAuth との 違いがよくわかります。

    BrowserIDがOpenIDと決定的に異なるのは、この紹介状(証明書)をWebブラウザに保存する仕組みを作ろうとしていること。 さっきのフローをよく見ると、ユーザを経由して認証情報を渡す矢印に違いがある。 OpenIDとOAuthでは矢印が繋がっているのに対して、BrowserIDとSSLクライアント認証ではId AuthorityやCAからユーザへの矢印と、ユーザからRP、サーバへの矢印が分かれている。ここが一番の違い。

    BrowserID (full support)

    BrowserID は、クライアントに証明書を保持するようです。Web Local Storage を使用して証明書を格納します。HTML と JavaScript での実装なので、IE などであれば IE8以上であれば動作します。ただ、セキュリティ面が多少不安です。色々批判もおおいようですが...

 

 SAML, OpenID, OAuth あと BrowserID と様々な認証方式が存在しますが、将来的にはどの方式に落ち着いていくんでしょうか。マイナンバー制度は2016年1月から運用開始予定のようですが、様々の機関とのやり取りはどのような認証方式が採用されるのでしょうか? 非常に興味が湧いてくる分野ですね。私は、まだまだ認証に関して初心者なので、動向を観察・勉強していきたいと思います。