ID一元管理を実現する - OpenIDの紹介 (OpenID Authentication1.1)

Slides:



Advertisements
Similar presentations
オリジンのはなし. NetAgent Shibuya.XSS Feb What is "Origin" ?  オリジン  Same-Origin Policy  クロスオリジンなんとか…  RFC6454 "The Web.
Advertisements

Nov Yosuke HASEGAWA #owaspjapan. OWASP Japan Local Chapter Meeting #8 #owaspjapan 自己紹介 はせがわようすけ  ネットエージェント株式会社  株式会社セキュアスカイ・テクノロジー 技術顧問  Microsoft.
Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
IIS 4.0で開発をするコツ Webアプリケーション構築.
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
ブロークンロジック:テストサイトの謬見 Broken Logic: The Test Site Fallacy
WWW のおはなし 神戸大学理学部地球惑星科学科 4 回生 佐伯 拓郎 (地球および惑星大気科学研究室) 藤田 哲也 (宇宙物理学研究室)
情報基礎A 情報科学研究科 徳山 豪.
スクリーンショットの取り方 コラボエンドポイントスクリーンショットの取得 シスコシステムズ合同会社 テクニカルソリューションズアーキテクト
経済学のための情報処理 はじめに.
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
Kyoto Tycoonのご紹介 FAL Labs
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
東京大学情報基盤センター 学術情報研究部門 助教 清田 陽司 (兼 株式会社リッテル 上席研究員)
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
JPAを利用した RESTful Webサービスの開発
富士ソフト株式会社 IT事業本部 テクニカルC&C部 小川直人
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
社内システム進捗 前回までの決定事項 →システムは「Scala PlayFramework2」で作成
Ibaraki Univ. Dept of Electrical & Electronic Eng.
<TITLE OF PRESENTATION>
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
Hot Pepper for iPod touch
インターネットの通信メカニズム 概要 WEBアプリ研究会 2回目.
EpWWWサーバ 北海道大学 理学院 宇宙理学専攻 M1 古田裕規.
学認申請システムとDS/uApprove.jpの 新しい関係 - IdPがSPを選べて、SPがIdPを選べる機能などなど -
CGI Programming and Web Security
ネットワーク構成法 スケール 第6回 11月19日.
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
無線LANセキュリティの救世主 IEEE802.1xについて
インターネット概論 第9回12月11日 Webって、どんなシステム?.
第4回 個人の動画配信補足のためのWeb構築
OpenID 勉強会 (OpenID Authentication1.1)
2005年11月17日 Webサービス II (第6回) 年11月17日.
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
Delphi Day ~Delphi 概要、および新バージョンのご紹介~
ID連携を実現するSAML 2.0 と ID管理の最新動向
Silverlight とは.
セッション管理 J2EE I 第9回 /
HTTPプロトコルとJSP (1) データベース論 第3回.
押さえておきたいIE8の セキュリティ新機能
HTTPプロトコル J2EE I 第7回 /
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
Cisco Meeting Server - API概要
Cisco dCloud dCloudのサポートについて シスコシステムズ合同会社 2016年7月.
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
XSL-FO + MathML MathML表示、PDF生成、SVG生成
ID連携を実現するSAML 2.0 と ID管理の最新動向
Javaによる Webアプリケーション入門 第9回
第8章 Web技術とセキュリティ   岡本 好未.
HTTPとHTML 技術領域専攻 3回 中川 晃.
卒業論文発表 「Web アクセスに伴う脅威の特徴分析」
SAML 2.0解説 その2 sstc-saml-tech-overview-2.0-draft-09を元に
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
.NET Framework 3.0 概要 (旧称 : WinFX)
ユビキタスシステムアーキテクチャ 第5回 ネットワークプログラミングの基礎
アップデート 株式会社アプライド・マーケティング 大越 章司
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
情報コミュニケーション入門e 第11回 Part2 Web入門(1)
Web - 01 IIS を インストールしよう.
端末およびサービス透過的な 情報共有支援システムの構築
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
サーバーのパスワード変更.
Twitterクライアントに学ぶASP.NETアプリ
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
アプリケーションゲートウェイ実験 2001.10.5 鬼塚 優.
ポートスキャン実習 2002年9月19日 修士1年 兼子 譲 牧之内研究室「インターネット実習」Webページ
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

ID一元管理を実現する - OpenIDの紹介 (OpenID Authentication1.1) 2007年12月07日 XMLコンソーシアムDay セキュリティ部会  林 正樹(富士通株式会社) 1

OpenID?? とは 現在の仕様:OpneID Authentication 1.1 ■ 2005年秋 Six apart社のBrad Fitzpatric氏によって提唱 ■ IDとしてURLを利用した一元管理する認証技術 ■ OpenIDの仕様は、The OpenID Foundationで策定 (http://openid.net)   現在の仕様:OpneID Authentication 1.1 2

A サイト B サイト 同一IDでログイン http://openid.example.com openid.example.com          http://openid.example.com End-User 3

How do I get an OpenID ? 4

5

米国の全国紙 USA Today に掲載 Technology cuts down on Web registrations (2007年3月15日) 6

The State of OpenID Scott Kveton氏(Board Member, OpenID Foundation)から ~120 million OpenID’s (including every AOL and LiveJournal user) 7

8

OpenID Authentication1.1 (Abstract) ■ OpenID Authenticationは、End Userが所有しているIdentity URLを証明する方法を提供。 ■ ConsumerやIdentity Providerになるため特別な認可は不要 ■ JavaScriptや特別なbrowsersを必要としない ・AJAX styleのsetupを使った認証方法が可能。 ■ profile情報の交換方法については、 拡張機能(Extentions)   として仕様策定が進められている。 9

Terminology ■ End User Consumerに対して、自分のIdentityを証明しようとするユーザ     (Serviceの利用者) ■ Identifier     Identifier=URL      OpenID Authentication protocolのすべてのフローはEnd Userが     所有しているURLを証明すること。 ■ Claimed Identifier     Consumerによって、立証されていないIdentifier ■ Verified Identifier     Consumerによって立証されたIdentifier (IDPと連携してClaimed IdentifierをConsumerが立証) 10

Terminology(続き) ■ Consumer Claimed Identifierの立証を必要としている Web Service   (OpneIDの認証に対応したWeb Serviceを提供) ■ Identity Provider OpenID認証サーバ. IDP、Serverと呼ばれている。     ConsumerがClaimed Identifierを立証してもらうために、問い合わ    せる相手。    End UserとIDPの認証方法については、仕様の範囲外 ■ User-Agent End Userのweb browser。 特別なPlug-insやJavaScriptは不要。 11

OpenID 認証の仕組み Transforming a HTML Document into an Identifier ■ ConsumerがIDPを知る方法 ■ Claimed Identifier(URL)が示すHTMLドキュメント にIDPの情報(タグ)を追加 ■ Claimed Identifier(URL)とIDPはhostが別でも構わない 12

Transforming a HTML Document into an Identifier End UserのID (Identifier:http://example.com) IDP http://openid.example.com Identity End UserのIDを証明 13

Transforming a HTML Documet into an Identifier End UserのID (Identifier:http://example.com) IDP http://openid.example.com Identity End UserのIDを証明 Claimed Identifier(http://example.com) のHTMLドキュメントに以下のタグを追加 <head> <link rel=“openid.server” href=http://openid.example.com/> ・・・ </head> 14

Delegating Authentication ■ IDとして、個人のブログなどのURLを利用することが可能 ■ Delegating Authenticationを使うメリット ■ OpenIDとして使う Server(IDP)が変わった場合でも  Delegateする相手を変えるだけで、変更を吸収することが  可能 ⇒OpenID Identityを何年も変わらず保持することが可能 15

Delegating Authentication 個人のブログなど IDとしたいURL(Identifier) IDP http://www.livejournal.com /openid/server.bml DelegateされたID http://exampleuser.livejournal.com http://www.example.com Identity DelegateされたIDを証明 Claimed Identifier(http://example.com) のHTMLドキュメントに以下のタグを追加 <head> <link rel="openid.server" ref="http://www.livejournal.com/openid/server.bml"> <link rel="openid.delegate" href="http://exampleuser.livejournal.com/"> ・・・ </head> 16

Smart Mode / Dumb Mode ConsumerとIDP間の認証手続きの方法 (the highly recommended mode) ■ ConsumerとIDP間で、最初に行われる認証手続 ■ 共通鍵の生成とセッション保持(state full) ■ IDPからの認証結果情報の確認処理に利用 ■ Dumb Mode(stateless) ■共通鍵とセッションを保持しない(stateless) ■ IDPからの認証結果情報後に、再度認証確認を行う  必要あり  ⇒check_authentication 17

シーケンス User-Agent Identifier consumer IDP ①サービスを利用:Identifier(URL)の入力 Identity ①サービスを利用:Identifier(URL)の入力 ②IDPのロケーションを確認 ③association/共通鍵の生成(optional) (smart mode) ④IDPへの認証要求 ⑤認証手続き(id /passwdの入力、Consumerとの認証手続きの確認 など) ⑥認証結果情報(署名情報など) ★if associated, validation(署名情報) Otherwise check_authentication(dumb mode など) Valid/invalid 18

トレース情報(at User-Agent) FireFox Identifier http://profile.livedoor.com/hayashi_masaki Identity IDP Consumer PlaceEngine http://www.placeengine.com/ http://auth.livedoor.com 19

①サービスを利用:Identifier(URL)の入力 (User Agent ⇒Consumer)(20) POST /auth/login HTTP/1.1 Host: www.placeengine.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ja; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.placeengine.com/auth/login Cookie: _pe_session_id=e851bf379c9a30b62295c64025eed95b Content-Type: application/x-www-form-urlencoded Content-Length: 80 openid_url=http%3A%2F%2Fprofile.livedoor.com%2Fhayashi_masaki&login=Login+%C2%BB 20

④IDPへの認証要求 (User Agent ← Consumer)(21) HTTP/1.1 302 Found Date: Sat, 06 Oct 2007 01:47:48 GMT Server: lighttpd/1.4.10 Content-Type: text/html; charset=utf-8 Set-Cookie: _pe_session_id=e851bf379c9a30b62295c64025eed95b; path=/ Cache-Control: no-cache location: http://auth.livedoor.com/openid/server?openid.mode=checkid_setup&openid.return_to=http%3A%2F%2Fwww.placeengine.com%2Fauth%2Fcomplete%3Fnonce%3DfLHNGcbd&openid.trust_root=http%3A%2F%2Fwww.placeengine.com%2F&openid.identity=http%3A%2F%2Fprofile.livedoor.com%2Fhayashi_masaki&openid.assoc_handle=1191600403%3AwjZT4Vi9ufygMfQza2oK%3Af2ef1522fb Connection: close Transfer-Encoding: chunked 21

④IDPへの認証要求(request) (User Agent ⇒IDP)(29) GET /openid/server?openid.mode=checkid_setup&openid.return_to=http%3A%2F%2Fwww.placeengine.com%2Fauth%2Fcomplete%3Fnonce%3DfLHNGcbd&openid.trust_root=http%3A%2F%2Fwww.placeengine.com%2F&openid.identity=http%3A%2F%2Fprofile.livedoor.com%2Fhayashi_masaki&openid.assoc_handle=1191600403%3AwjZT4Vi9ufygMfQza2oK%3Af2ef1522fb HTTP/1.1 Host: auth.livedoor.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ja; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://www.placeengine.com/auth/login Cookie: auth_sid=5df29c4847f0544e3a97108b3e18734a 22

トレース情報 ⑥認証手続 (User Agent ⇒IDP)(56) POST /login/index HTTP/1.1 Host: member.livedoor.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ja; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://member.livedoor.com/login/?.next=http%3A%2F%2Fauth.livedoor.com%2Fopenid%2Fapprove%3Freturn_to%3Dhttp%3A%2F%2Fwww.placeengine.com%2Fauth%2Fcomplete%253Fnonce%253DfLHNGcbd%26identity%3Dhttp%3A%2F%2Fprofile.livedoor.com%2Fhayashi_masaki%26assoc_handle%3D1191600403%3AwjZT4Vi9ufygMfQza2oK%3Af2ef1522fb%26trust_root%3Dhttp%3A%2F%2Fwww.placeengine.com%2F&.sv=auth Cookie: mem_sid=ab61ac9455df7e7fc778b9ca0ae1896f Content-Type: application/x-www-form-urlencoded Content-Length: 375 23

next=http%3A%2F%2Fauth. livedoor %2Fauth%2Fcomplete%253Fnonce%253DfLHNGcbd%26identity%3Dhttp%3A%2F%2Fprofile.livedoor.com%2F hayashi_masaki%26assoc_handle%3D1191600403%3AwjZT4Vi9ufygMfQza2oK%3Af2ef1522fb%26trust_root%3D http%3A%2F%2Fwww.placeengine.com%2F&.sv=auth&livedoor_id=hayashi_masaki&password=hayashi 24

⑦認証結果情報 (User Agent ←IDP)(73) HTTP/1.1 302 Found Date: Sat, 06 Oct 2007 01:48:15 GMT Server: Apache/1.3.37 (Unix) mod_perl/1.29 Location: http://www.placeengine.com/auth/complete?nonce=fLHNGcbd&openid.mode=id_res&openid.identity=http://profile.livedoor.com/hayashi_masaki&openid.return_to=http://www.placeengine.com/auth/complete%3Fnonce%3DfLHNGcbd&openid.assoc_handle=1191635295:STLS.8k6eIjbA52Yh6zquicCz:e29bfba967&openid.signed=mode,identity,return_to&openid.invalidate_handle=1191600403:wjZT4Vi9ufygMfQza2oK:f2ef1522fb&openid.sig=L8moFbSXcULy3U3aSmbicd8DBJk%3D Content-Type: text/plain Vary: Accept-Encoding,User-Agent Content-Encoding: gzip Content-Length: 20 25

⑦認証結果情報(response) (User Agent⇒Consumer)(77) GET /auth/complete?nonce=fLHNGcbd&openid.mode=id_res&openid.identity=http://profile.livedoor.com/hayashi_masaki&openid.return_to=http://www.placeengine.com/auth/complete%3Fnonce%3DfLHNGcbd&openid.assoc_handle=1191635295:STLS.8k6eIjbA52Yh6zquicCz:e29bfba967&openid.signed=mode,identity,return_to&openid.invalidate_handle=1191600403:wjZT4Vi9ufygMfQza2oK:f2ef1522fb&openid.sig=L8moFbSXcULy3U3aSmbicd8DBJk%3D HTTP/1.1 Host: www.placeengine.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ja; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: ja,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://auth.livedoor.com/openid/approve?return_to=http://www.placeengine.com/auth/complete%3Fnonce%3DfLHNGcbd&identity=http://profile.livedoor.com/hayashi_masaki&assoc_handle=1191600403:wjZT4Vi9ufygMfQza2oK:f2ef1522fb&trust_root=http://www.placeengine.com/ Cookie: _pe_session_id=e851bf379c9a30b62295c64025eed95b 26

最後に今後の動向 OpneID Authentication2.0(Draftxx)   ■Updated Initiation and Discovery  ■ Supports OP Identifiers   ■ XRI - XRDS のサポート ■ URL - Yadisプロトコルの使用 :XRDS ⇒HTML-Base discovery     multiple Ops for a single Identifier supported extensions ■セキュリティの強化   ■ replay attacksの強化     :nonce   ■ new association type :HMAC-SHA256 ■ new association session type:DH-SHA256 27