Secured Authentication Method for Managing Consumer-Generated Information in Web-Services

50 %
50 %
Information about Secured Authentication Method for Managing Consumer-Generated...

Published on January 24, 2008

Author: machu

Source: slideshare.net

利⽤者が発信する情報を扱う Webサービスにおける 認証⽅式の実装 2008/1/24 1

1. はじめに 2008/1/24 2

背景 ►インターネットを取り巻く環境の変化 ネットワークの普及と利⽤者の増⼤ オープンソースの発展によるコスト低下 ►Webの利⽤形態の変化、 いわゆる「Web2.0」 利⽤者発信情報 (ブログ, SNS) Webサービス, WebAPI化 2008/1/24 3

利⽤者発信情報とは? ►情報取得から情報発信へ 従来: 情報を「⾒る」 近年: 情報を「発信」(利⽤者発信情報) 写真 ⽂書 Webアプリ 利⽤者発信情報 2008/1/24 4

Webサービスとは? ► Webアプリ同⼠が情報を交換 SOAP, REST マッシュアップ WebアプリA (Provider) 利⽤者 (Webブラウザ) XML Webサービス HTML WebアプリB (Consumer) 加⼯ 2008/1/24 5

利⽤者発信情報とWebサービス ► 利⽤者発信情報をWebサービスで登録 第三者のWebアプリを経由 Provider 利⽤者 (ブログ) Webサービス 写真 写真 Consumer (写真共有サイト) 写真 2008/1/24 6

現状の問題点 ►利⽤者のパスワードを使って認証 パスワードを悪⽤される危険性 Provider ID パスワード 利⽤者 ID, パスワード ID, パスワード Consumer 2008/1/24 7

モチベーション ►対象 利⽤者発信情報を扱うWebサービス ►⽬的 第三者経由での利⽤者発信情報の操作 利⽤者のパスワードを第三者に渡さない 2008/1/24 8

トークンを⽤いた認証⽅式 ► Webサービスの認証にトークンを⽤いる Webサービスのサーバは利⽤者をパスワードで認証 ► 普及しているとは⾔いがたい サービスごとに個々に実装されている (1) ID, パスワード Provider 利⽤者 (3) トークン [Webサービス] トークン (2) Consumer 2008/1/24 9

2. 提案⽅式 2008/1/24 10

コンセプト ► 従来の問題点 パスワード⽅式: 秘密情報が第三者へ トークン⽅式: サービス個々に実装 ► 実装コストが普及の妨げではないか ► 提案⽅式 (CSS2007で発表) 安全性の向上と実装規模の削減 SSOを拡張してトークン発⾏を実現 ► 実装: OpenIDを採⽤ 2008/1/24 11

OpenIDの概要 (1) ►OpenID Auth 2.0 (2007.12) インターネットでのシングルサインオン URLがID (複数ドメインでの利⽤) ►多数のプレイヤー AOL, livedoor, はてな, Sun Microsystems Yahoo!, Yahoo Japan! (2008.2~) 2008/1/24 12

OpenIDの概要 (2) ド) ワ ー Provider Provider ス (パ u est ) (OpenID Provider) (OpenID Provider) 認証 Re q 者 の nI D n se) e o 利⽤ Op e sp (5) ( R 要求 e nI D (2) Discovery 利⽤者 認証 ( Op (4) 応答 (3) 鍵共有 認証 (6) (7) 認証応答の検証 (1) ID Consumer Consumer (URL) の提⽰ (Relying Party) (Relying Party) 2008/1/24 OpenID Authentication 2.0, Chapter 3. Protocol Overview 13 http://openid.net/specs/openid-authentication-2_0.html

OpenID拡張を⽤いたトークン発⾏ ►OpenID拡張領域 Provider Provider トークン要求 OpenIDレスポンス + トークン応答 トークン応答 ►メッセージ⽣成 利用者 利用者 はOpenIDに依存 OpenIDリクエスト + トークン要求 Consumer Consumer 2008/1/24 14

トークンの要求 (Consumer) ►OpenIDリクエストの拡張領域 ►要求するトークンの種類を指定 operation 操作種別 Provider Provider 「⽣成」「取得」 OpenIDレスポンス 「更新」「削除」 + トークン応答 times 操作回数 利用者 利用者 「n回」「無制限」 OpenIDリクエスト + トークン要求 Consumer Consumer 2008/1/24 15

トークンの発⾏ (Provider) ►利⽤者へトークンの発⾏可否を確認 ►⽣成したトークンをDBへ保存 token 予測不可能性を持つ Provider Provider 乱数 user_id 利⽤者のID OpenIDレスポンス + トークン応答 realm ConsumerのURL 利用者 利用者 operation 操作種別 OpenIDリクエスト times 操作回数 + トークン要求 expire 有効期限 Consumer Consumer 2008/1/24 16

トークンの応答 (Provider) ►OpenIDレスポンスの拡張領域に付与 ►⽣成したトークンの値を返す token ⽣成した乱数 Provider Provider OpenIDレスポンス + トークン応答 ►メッセージの改竄防⽌ 利用者 利用者 HMACとnonceを付与 OpenIDリクエスト + トークン要求 ※ OpenIDの仕様 Consumer Consumer 2008/1/24 17

利⽤者発信情報の操作 (Consumer) ►Webサービスで利⽤者発信情報を操作 具体的なプロトコルは実装依存 ►リクエストにトークンを付加する token 取得した乱数 nonce 要求ごとにインクリメントする値 signature token+nonceへのHMAC値 2008/1/24 18

3. 実装 2008/1/24 19

ソフトウェア構成 ► OpenIDライブラリ (ruby-openid) を拡張 ► Ruby on Railsのコントローラから利⽤ コントローラ Provider (Consumer/Provider) コントローラ Ruby on Rails トークン拡張 OpenIDトークン拡張 use OpenIDライブラリ ruby-openid 2.0.0 Consumer コントローラ Ruby on Rails 2.0.1 Ruby on Rails Ruby 1.8.5 OS (Ubuntu) 2008/1/24 20

OpenIDトークン拡張 ►ruby-openidのExtensionクラスを継承 ►トークン要求/応答のメッセージを定義 OpenIDライブラリ OpenID::Extension OpenID::Token::Message OpenID::Token::Request OpenID::Token::Response 2008/1/24 21

コントローラ (Consumer/Provider) ►OpenIDライブラリを使う ►Consumer, Provider双⽅に実装 Consumerコントローラ Providerコントローラ begin トークン要求を index トークン⽣成可否 ⽣成する を利⽤者に確認 complete トークン応答を decision トークン応答を⽣ 受信する 成する 2008/1/24 22

4. 評価 2008/1/24 23

評価の観点 ► 実装規模がどれくらい削減できるか 【提案⽅式】SSOを拡張する場合 すべて個別に実装する場合 トークン拡張 実装規模 既存のOpenID の差 ??? ライブラリ SSOを拡張 個別に実装 2008/1/24 24

⽐較対象 (OAuth) ►トークン発⾏の実装の1つ ►2007年12⽉にリリース ►認証⽅式に依存しない仕様 提案⽅式 OAuth (SSOを拡張) (個別に実装) 認証 OpenID 依存しない トークン発⾏ OpenIDの拡張領域 独⾃に定めた仕様 を使⽤する 2008/1/24 25

機能の⽐較 ►トークン発⾏と取得はどちらも可能 提案⽅式 OAuth (SSOを拡張) (個別に実装) トークンの ○ ○ 発⾏と取得 メッセージの ○ ○ 改ざん防⽌ (MAC, nonce) (MAC, nonce) ⽤途に応じた 仕様を拡張する トークン発⾏ ○ ことで実現可 (操作種別、回数) 2008/1/24 26

実装規模 (LOC) での⽐較 ►トークン発⾏の実装規模はおよそ1:13 メッセージやMAC⽣成に既存機能を利⽤ 800 700 600 500 トークン発⾏ 400 Consumer 300 Provider 200 100 0 2008/1/24 SSOを拡張(提案⽅式) 個別に実装(OAuth) 27

5. 考察 2008/1/24 28

まとめ ►従来の問題点 パスワード⽅式: 秘密情報が第三者へ トークン⽅式: サービス個々に実装 ►提案⽅式 OpenIDを拡張してトークンを発⾏ Ruby上で実装 独⾃実装との⽐較で1/10以下の規模 2008/1/24 29

ご清聴ありがとうございました 2008/1/24 30

利⽤例 2008/1/24 31

ToDoリストの取得 ►Consumerはトークンを使って Provider上のToDoリストを取得する ToDo管理サービス ToDo管理サービス (Provider) (Provider) ン ク 利⽤者 ト ー トークン ToDoリスト ToDo取得サービス ToDo取得サービス (Consumer) (Consumer) 2008/1/24 32

サンプル (Consumer) 2008/1/24 33

2008/1/24 34

2008/1/24 35

Add a comment

Comments

衝撃価格 | 06/06/15
私はわからない理由を正確にが、この私のために遅いウェブサイト ロードしています。他の誰がこの問題を有するされているか、である|私の最後の問題問題? 後で、後で、問題がまだ存在するかどうか私は戻って確認します。 [url=http://www.mistikbebe.com]衝撃価格[/url]
好評につ | 07/06/15
種類の記事やブログウェの記事 エリア。 Yahooの私に探る最後にこのウェブサイトにつまずきました。に表明伝えるその私が持っている 読書勉強だから私は 信じられないほど 良い だけ私は必要なものに出くわしました。 I このようなたくさん 間違いなく?| ドントンに必ず一定 オミットこのウェブサイト や提供​​ 一目 容赦ない基礎。 [url=http://www.seleksimport.com]好評につき、新色追加&再入荷[/url]
新入荷·&# | 08/06/15
いくつかのいずれか場合は望んエキスパート·ビューについて 私はお勧め ウェブサイト サイトクイック訪問この良いです 仕事。 [url=http://awctradeframes.co.uk]新入荷·数量限定[/url]
信用第一 | 09/06/15
こんにちはあり。 MSN | ウェブログあなた| 私が発見した私が見つかりました。 つまりこれは 非常に よく書かれた記事。 私はよ ことを確認してくださいブックマークにそれと戻ってくるの学ぶ 余分あなた役に立つの情報。ポスト| おかげで、ありがとうございました。 リターン | 確かに間違いなく | 私は意志私がよ。 [url=http://www.gucluhanozen.com]信用第一そして低価格[/url]
超激安 | 10/06/15
こんにちは ブログWebサイトこの迅速な訪問を支払うすべてのボディに、それは私の最初のです。このウェブページ 素晴らしいと実際 ファイン 訪問者の読者 の賛成で データ材料。 [url=http://www.taksimdenelinicek.org]超激安[/url]
プレゼン | 10/06/15
紛れもなく あなたがすることを考えています。お気に入りの正当化 | 最も簡単を意識する事で、であるように思われたがようでした。人々は考えるながら| イライライライラする | いないについて知っている、彼らはただはっきりことを心配取得|私は確かに間違いなく、あなたに言います。 できたことができます信号を取る人々は、あなたがトップ時に釘を打つことをどうにかとせずに全部外に定義副作用副作用が。 そうになります多くを得るために戻って。感謝 [url=http://cameronmontgomery.com.au]プレゼント満足100%[/url]
SALE価 | 11/06/15
興味深い、あなたがしている 非常 プロブロガー| 本当に | つまりこれはあります。に|を求めて| のRSSフィードフィードとのために起きてあなたの参加を探して| |シークの検索で 私がした私が持っています幻想的なポストのための狩り。 さらに、私の社会的ネットワークに私がした あなたのウェブサイト共有しました [url=http://www.kuryecan.com]SALE価格で大放出 [/url]

Related pages

Web Service Authentication

Building Applications Using the Web Service and the .NET Framework Web Service Authentication. ... Secure Web Service Methods. ... authentication ...
Read more

HTTP Security and ASP.NET Web Services

Microsoft® Internet Information ... the best way to keep your Web services secure. ... Authentication Methods dialog box allows you to ...
Read more

Setting Up Standard Authentication Methods for Outlook Web ...

Standard authentication methods can help secure ... Setting Up Standard Authentication Methods ... information about Digest authentication, ...
Read more

Web Authentication - Information Security, Digital ...

The strength of an organization’s Web authentication method should match the ... Managing Access with Web Authentication. ... secure connections ...
Read more

Build Secure Web Services With SOAP Headers and Extensions ...

... unless the Web services are secure. ... method for exposing Web services over the Internet in ... passes authentication information out ...
Read more

Authentication for Web Services (using SOAP headers ...

However a recent project forced me to look into different authentication methods. ... is secure, right? Thanks. Good ... Authentication for Web Services ...
Read more

Using secured Web services and tokens - Esri

ArcGIS Server Web services may be secured to permit ... on authentication methods for Web services, ... with Internet Information ...
Read more

Managing Outlook Web App Security: Exchange 2010 Help

... authentication methods for Outlook Web ... authentication methods, Internet Information ... help secure Outlook Web App. These methods ...
Read more

Java Authentication and Authorization Service - Wikipedia ...

... is the Java implementation of the standard Pluggable Authentication Module (PAM) information ... and secure credential ... authentication method is ...
Read more