1. WAS Forum Developers Day 2008
The Security of OpenIDThe Security of OpenID
Authentication 2.0Authentication 2.0
Toru YamaguchiToru Yamaguchi
id:ZIGOROuid:ZIGOROu <<zigorou@cpan.orgzigorou@cpan.org>>
3. AgendaAgenda -- 今日話すこと今日話すこと
OpenID Authentication ProtocolOpenID Authentication Protocol
OverviewOverview
Security of OpenIDSecurity of OpenID
4. OpenIDOpenID Authentication ProtocolAuthentication Protocol
TerminTerminologyology
InitiaInitiation & Discoverytion & Discovery
Authentication form for OpenIDAuthentication form for OpenID
The threeThe three discorverydiscorvery
Communication TypeCommunication Type
DirectDirect CommunicationCommunication
Indirect CommunicationIndirect Communication
ProtocolProtocol MessagesMessages
associateassociate
checkid_setupcheckid_setup,, checkid_immediatecheckid_immediate
check_authenticationcheck_authentication
VerificationVerification assertionassertion
13. YadisYadis discoverydiscovery
Yadis IDへ
GET or HEAD
Yadis IDへ
GET or HEAD
X-XRDS-
Locationをmeta
要素で持つ
X-XRDS-
Locationをmeta
要素で持つ
X-XRDS-Location
をレスポンスヘッ
ダで持つ
X-XRDS-Location
をレスポンスヘッ
ダで持つ
X-XRDS-Location
ヘッダを含む
Or / And
Content-Typeが
application/xrds+xml
X-XRDS-Location
ヘッダを含む
Or / And
Content-Typeが
application/xrds+xml
文書のmimetypeが
application/xrds+xml
文書のmimetypeが
application/xrds+xml
Yadis
Document
(XRDS
document)
Yadis
Document
(XRDS
document)
Resource
Descriptor URL
にGET
Resource
Descriptor URL
にGET
XX--XRDSXRDS--LocationLocationヘッダがあるヘッダがある
XX--XRDSXRDS--LocationLocationヘッダがないヘッダがない
HEADHEADの場合での場合でmetameta要素にあり、他が該当しな要素にあり、他が該当しな
い場合は改めてい場合は改めてGETGETを行うを行う
14. HTML based discoveryHTML based discovery
headhead 要素内に所定のフォーマットで要素内に所定のフォーマットで OPOP
Endpoint URL, OP Local IdentifierEndpoint URL, OP Local Identifier を指定を指定
しておくしておく
<head>
<link rel="openid2.provider openid.server"
href="http://openid.example.com/server" />
<link rel="openid2.local_id openid.delegate"
href="http://zigorou.example.com/" />
</head>