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パラメーター( assertionaudience )を使用した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カンファレンスから)

Source: https://habr.com/ru/post/J134762/


All Articles