BrowserID:ユーザーIDとしての住所

Mozillaは、HTML5、公開鍵暗号、デジタル署名を使用する単一の分散認証システムであるBrowserIDの開発を完了しました。 それはVerified Email Protocolの簡略化された解釈に基づいています。



今でも、実装の最初の段階では、システムはユーザーにとって非常にシンプルです:彼は一度メール確認する必要があり、その後、パスワードを入力せずにマウスを2回クリックするだけで、任意のサイトで安全に認証する機会を得ます。 将来、BrowserIDサポートがブラウザーに展開され、メールプロバイダーが第1レベルの認証センターになると、承認がさらに簡素化されます。





これは、GmailがBrowserIDをサポートする場合のシステムの動作です。 この場合、WebサイトBrowserid.orgで電子メールアドレスを確認する必要はありません。Browserid.orgは、現在、最初のレベルの唯一の識別センターです。



パスワードの欠如に加えて、BrowserIDの主な利点はプライバシー保護です。OpenIDや類似のすべてのシステムとは異なり、BrowserIDのIDプロバイダーは、ユーザーがログインしているサイトに関するデータを受け取りません



BrowserIDをサポートするには、ページタイトルに次の行を追加してinclude.jsライブラリを含めるだけです。



<script src="https://browserid.org/include.js" type="text/javascript"></script>
      
      





カスタムボタンの代わりに、BrowserIDに提供される標準のボタンのいずれかを配置できます。







ボタンを押すと、電子メールアドレスの検証機能が呼び出されます。



 navigator.id.getVerifiedEmail(function(assertion) { if (assertion) { // This code will be invoked once the user has successfully // selected an email address they control to sign in with. } else { // something went wrong! the user isn't logged in. } });
      
      





電子メールアドレスを正常にチェックした後、APIはユーザーの電子メールを確認する署名付きassertion



文字列を返します。



2番目の段階では、 assertion



を検証し、ユーザーの電子メールを取得する必要があります。 これは、2つのPOST



パラメーター( assertion



audience



)を使用したhttps://browserid.org/verifyへの要求によって行われます-要求は既に署名によって署名されています。 検証者は、 assertion



の有効性をチェックします。



 $ curl -d "assertion=<ASSERTION>&audience=https://mysite.com" "https://browserid.org/verify" { "status": "okay", "email": "lloyd@example.com", "audience": "https://mysite.com", "expires": 1308859352261, "issuer": "browserid.org" }
      
      





アサーション検証は、独自のサーバーで実行することもできます。 検証者の 仕様ソースコードを参照してください。 この場合、絶対的な情報保護が提供されます-IDプロバイダーは、ユーザーがログオンしたサイトに関するデータを受信しません。



BrowserIDデモ(2011年9月のMozilla All Handsカンファレンスから)




All Articles