OpenID 勉強会 (OpenID Authentication1.1)

Slides:



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

情報の交換・共有・蓄積を目的とした GIS リモートコミュニケーションシステム の実装 Sho Otake Graduate Department of Computer and Information Systems The University of Aizu 1 Hirohide Demura,
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 松沼 正浩.
EPnetFaN (2014/02/28) EPWWW サーバ 2013 北海道大学大学院 理学院宇宙理学専攻 修士 1 年 渡辺 健介.
IIS 4.0で開発をするコツ Webアプリケーション構築.
メール暗号化:秘密鍵・公開鍵の作成  作業手順 Windows メール(Vista).
サイバーセキュリティ演習 ― Webセキュリティ基礎&実践―
ブロークンロジック:テストサイトの謬見 Broken Logic: The Test Site Fallacy
WWW のおはなし 神戸大学理学部地球惑星科学科 4 回生 佐伯 拓郎 (地球および惑星大気科学研究室) 藤田 哲也 (宇宙物理学研究室)
神戸大学理学部地球惑星科学科 4回生 柏本 光司
情報基礎A 情報科学研究科 徳山 豪.
スクリーンショットの取り方 コラボエンドポイントスクリーンショットの取得 シスコシステムズ合同会社 テクニカルソリューションズアーキテクト
経済学のための情報処理 はじめに.
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
Kyoto Tycoonのご紹介 FAL Labs
東京大学情報基盤センター 学術情報研究部門 助教 清田 陽司 (兼 株式会社リッテル 上席研究員)
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
富士ソフト株式会社 IT事業本部 テクニカルC&C部 小川直人
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
授業の概要と実習環境説明 担当 岡村耕二 月曜日 2限 平成20年度 情報科学III (理系コア科目・2年生)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
UNIX Life KMSF M2 saburo.
<TITLE OF PRESENTATION>
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
HTMLの記述と WWWにおける情報公開 遠藤
Hot Pepper for iPod touch
インターネットの通信メカニズム 概要 WEBアプリ研究会 2回目.
EpWWWサーバ 北海道大学 理学院 宇宙理学専攻 M1 古田裕規.
CGI Programming and Web Security
ネットワーク構成法 スケール 第6回 11月19日.
「コンピュータと情報システム」 07章 インターネットとセキュリティ
無線LANセキュリティの救世主 IEEE802.1xについて
インターネット概論 第9回12月11日 Webって、どんなシステム?.
第4回 個人の動画配信補足のためのWeb構築
「まめだくん Ver.1.0」 特徴と利用方法.
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
ID連携を実現するSAML 2.0 と ID管理の最新動向
セッション管理 J2EE I 第9回 /
HTTPプロトコルとJSP (1) データベース論 第3回.
押さえておきたいIE8の セキュリティ新機能
HTTPプロトコル J2EE I 第7回 /
ID一元管理を実現する - OpenIDの紹介 (OpenID Authentication1.1)
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
Cisco Meeting Server - API概要
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
XSL-FO + MathML MathML表示、PDF生成、SVG生成
データベース設計 第9回 Webインタフェースの作成(1)
ID連携を実現するSAML 2.0 と ID管理の最新動向
Javaによる Webアプリケーション入門 第9回
第8章 Web技術とセキュリティ   岡本 好未.
HTTPとHTML 技術領域専攻 3回 中川 晃.
情報コミュニケーション入門b 第10回 Web入門(1)
情報コミュニケーション入門b 第10回 Web入門(1)
卒業論文発表 「Web アクセスに伴う脅威の特徴分析」
SAML 2.0解説 その2 sstc-saml-tech-overview-2.0-draft-09を元に
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
情報コミュニケーション入門e 第11回 Part2 Web入門(1)
認証実用化実験協議会 平成10年度 第1回 定例研究会
端末およびサービス透過的な 情報共有支援システムの構築
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
サーバーのパスワード変更.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
アプリケーションゲートウェイ実験 2001.10.5 鬼塚 優.
Webプロキシ HTTP1.1 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
ポートスキャン実習 2002年9月19日 修士1年 兼子 譲 牧之内研究室「インターネット実習」Webページ
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

OpenID 勉強会 (OpenID Authentication1.1) 2007年10月22日 富士通エフサス)林 正樹

OpenIDとは ・2005年秋 Six apart社のBrad Fitzpatric氏によって提唱 ・IDとしてURLを利用した、Single sign-on を実現する  認証技術 ・OpenIDの仕様は、openid.net(http://openid.net)で策定  OpneID Authentication1.1

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

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

OpenID Authentication1.1 (Abstract) ・OpenID Authenticationは、End Userが所有しているIdentity URLを証明する方法を提供。 ・誰でもConsumerやIdentity Providerになることが可能  decentralized sign-on system ・JavaScriptや特別なbrowsersを必要としない ・“AJAX”-styleのsetupを使った認証方法が可能。  Consumerのページにアクセスしたまま認証手順が可能 ・profile情報の交換方法については、 拡張機能(Extentions)として仕様策定が進められている。

Terminology ・End User: Consumerに対して、自分のIdentityを証明しようとするユーザ     (Serviceを使うエンドユーザ) ・Identifier:     Identitifier=URL      OpenID Authentication protocolのすべてのフローはEnd Userで、所有してい      るURLを証明することである。 ・Claimed Identigfier:     Consumerによって、未だ確認されていないIdentifier(End UserのURL) ・Vertified Identifier:     End UserがConsumerに証明できたIdentifier (End UserのURL) (IDPと連携してClaimed IdentifierをConsumerが確認したIdentifier) ・Consumer:     End UserがClaimed Identifierを所有しているという証明を必要としているWeb      Serviceである。 (OpneIDの認証に対応したWeb Serviceを提供)

Terminology(続き) ・Identity Provider: OpenID認証サーバで、IDP、およびServerと呼ばれている。     Consumerは、End UserがClaimed Identifierを所有しているという暗号化さ れた証明に対して、コンタクトする相手。     End UserとIDPの認証方法については、 OpenID Authenticaitonの範囲外 ・User-Agent: End Userのweb browser。 特別なPlug-insやJavaScriptは不要。

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

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

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>

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

Delegating Authentication 個人のブログなど IDとしたいURL(Identifier) DelegateされたID http://exampleuser.livejournal.com IDP http://www.example.com http://www.livejournal.com /openid/server.bml 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>

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

シーケンス 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

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

①サービスを利用: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

④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

④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

トレース情報 ⑥認証手続 (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

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

⑦認証結果情報 (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

⑦認証結果情報(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

最後に今後の動向 ・Yadis service protocolを使ったOpneID Authentication2.0の仕様策定が進められている ・現在Draft12 ・IDとして、URLに加えてXRIをサポート ・セキュリティの強化 ・