Introduction OpenID Authentication 2.0 Revival

Toru Yamaguchi
Toru YamaguchiArchitect at DeNA
OpenID Tech Night #5
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Identity Provider
          Identity Provider
   Identity Provider


                        
                                   
             identity

                                                                    IdP
              
                                    
                      



             Identity       
                    Identity       




               
                   OpenID
Introduction OpenID Authentication 2.0 Revival
                                  見
       
  一                    
                               
zigorou.myopenid.com




                                              
                     自                    
     入力                               
                        
                    
                
       
           
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
        
                   

                        

                                        
 
                                       
                                           
                               
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
User-Supplied
      Identifier 


  OP Identifier 
                       
           




Claimed Identifier 
               

                 
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
        
                                                    
                                                                                                                          
 Discovery
                                                                                                          


                                                 
                                                                                                                              
Association
                                                
                                                                    
                                                                                         
                                                                                  
                                                                                                                             
Authenticate                                                     
  Request
                                    
                                                                                             
Authenticate
 Response
                                                                
                                                                  
                                                            
Verification

                                                                                                              
Introduction OpenID Authentication 2.0 Revival
        
                                                    
                                                                                                                          
 Discovery
                                                                                                          


                                                 
                                                                                                                              
Association
                                                
                                                                    
                                                                                         
                                                                                  
                                                                                                                             
Authenticate                                                     
  Request
                                    
                                                                                             
Authenticate
 Response
                                                                
                                                                  
                                                            
Verification

                                                                                                              
Introduction OpenID Authentication 2.0 Revival
[zigorou ~] $ lwp-request -S -e -d http://zigorou.myopenid.com/ | grep XRDS
X-XRDS-Location: http://zigorou.myopenid.com/?xrds=1
[zigorou ~] $ lwp-request http://zigorou.myopenid.com/?xrds=1
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<xrds:XRDS
   xmlns:xrds=quot;xri://$xrdsquot;
   xmlns:openid=quot;http://openid.net/xmlns/1.0quot;
   xmlns=quot;xri://$xrd*($v*2.0)quot;>
  <XRD version=quot;2.0quot;>
   <Service priority=quot;0quot;>
    <Type>http://specs.openid.net/auth/2.0/signon</Type>
      <Type>http://openid.net/sreg/1.0</Type>
      <Type>http://openid.net/extensions/sreg/1.1</Type>
      <Type>http://schemas.openid.net/pape/policies/2007/06/phishing-resistant</Type>
      <Type>http://openid.net/srv/ax/1.0</Type>
    <URI>http://www.myopenid.com/server</URI>
    <LocalID>http://zigorou.myopenid.com/</LocalID>
   </Service>
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
        
                                                    
                                                                                                                              
 Discovery
                                                                                                              


                                                 
                                                                                                                                 
                                                
Association
                                                                                         
                                                                                  
                                                                                                                                 
Authenticate                                                     
  Request
                                    
                                                                                             
Authenticate
 Response
                                                                
                                                                  
                                                            
Verification

                                                                                                                  
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
#!/usr/bin/perl                                sub sig {
                                                 my %pairs = @_;
use strict;                                      my $keyval = format_keyval(%pairs);
use warnings;                                    hmac_sha256_hex($keyval,
                                               $hmac_key);
use Digest::SHA qw(hmac_sha256_hex);           }
use Perl6::Say;
                                               say sig( foo => quot;abcquot;, bar => quot;xyzquot; );
our $hmac_key = quot;common_secretquot;;
                                               89b7f51ec9b76e97d5a179f313af38e6cc8b5cb086
sub format_keyval {                            0e266caf6847ded05428ce
  my %pairs = @_;
  join quot;nquot; => map { $_ . ':' . $pairs{$_} }
keys %pairs;
}
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
        
                                                    
                                                                                                                              
 Discovery
                                                                                                              


                                                 
                                                                                                                                 
                                                
Association
                                                                                         
                                                                                  
                                                                                                                                 
Authenticate                                                     
  Request
                                    
                                                                                             
Authenticate
 Response
                                                                
                                                                  
                                                            
Verification

                                                                                                                  
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
        

                                                    
                                                                                                                              
 Discovery
                                                                                                              


                                                 
                                                                                                                                 
Association
                                    
                                                                                         
                                                                                  
                                                                                                                                 
Authenticate                                                     
  Request
                                    
Authenticate                                                                                 

 Response
                                                                          
                                                                  
                                                            
Verification

                                                                                                                  
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
Introduction OpenID Authentication 2.0 Revival
1 of 72

Recommended

Building Secure Open & Distributed Social Networks by
Building Secure Open & Distributed Social NetworksBuilding Secure Open & Distributed Social Networks
Building Secure Open & Distributed Social NetworksHenry Story
8.2K views45 slides
Badges 2.5 X 3.5 by
Badges 2.5 X 3.5Badges 2.5 X 3.5
Badges 2.5 X 3.5Ray Huff
149 views1 slide
紛亂市場中的投資大未來 by
紛亂市場中的投資大未來紛亂市場中的投資大未來
紛亂市場中的投資大未來guest8a5c29
292 views23 slides
Sim4Com Profile (Training Division) by
Sim4Com Profile (Training Division)Sim4Com Profile (Training Division)
Sim4Com Profile (Training Division)Sim4Com
275 views8 slides
Intro Allagile Software Dev by
Intro Allagile Software DevIntro Allagile Software Dev
Intro Allagile Software Devfedericobotti
282 views13 slides
Apresentacao Ubs 070307 by
Apresentacao Ubs 070307Apresentacao Ubs 070307
Apresentacao Ubs 070307Marcopolo
495 views38 slides

More Related Content

More from Toru Yamaguchi

Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015 by
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Toru Yamaguchi
3.8K views29 slides
革新的ブラウザゲームを支えるプラットフォーム技術 by
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術Toru Yamaguchi
4K views41 slides
技術選択とアーキテクトの役割 (要約版) by
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)Toru Yamaguchi
5K views16 slides
技術選択とアーキテクトの役割 by
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
42K views90 slides
How to bake delicious cookie (RESTful Meetup #03) by
How to bake delicious cookie (RESTful Meetup #03)How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)Toru Yamaguchi
7.8K views21 slides
JSON Based Web Services by
JSON Based Web ServicesJSON Based Web Services
JSON Based Web ServicesToru Yamaguchi
2.5K views39 slides

More from Toru Yamaguchi(20)

Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015 by Toru Yamaguchi
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Mobage Connect と Identity 関連技術への取り組み - OpenID Summit Tokyo 2015
Toru Yamaguchi3.8K views
革新的ブラウザゲームを支えるプラットフォーム技術 by Toru Yamaguchi
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
Toru Yamaguchi4K views
技術選択とアーキテクトの役割 (要約版) by Toru Yamaguchi
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
Toru Yamaguchi5K views
技術選択とアーキテクトの役割 by Toru Yamaguchi
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi42K views
How to bake delicious cookie (RESTful Meetup #03) by Toru Yamaguchi
How to bake delicious cookie (RESTful Meetup #03)How to bake delicious cookie (RESTful Meetup #03)
How to bake delicious cookie (RESTful Meetup #03)
Toru Yamaguchi7.8K views
ngCore engine for mobage platform by Toru Yamaguchi
ngCore engine for mobage platformngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi9.8K views
mbga Open Platform and Perl by Toru Yamaguchi
mbga Open Platform and Perlmbga Open Platform and Perl
mbga Open Platform and Perl
Toru Yamaguchi1.4K views
Inside mbga Open Platform API architecture by Toru Yamaguchi
Inside mbga Open Platform API architectureInside mbga Open Platform API architecture
Inside mbga Open Platform API architecture
Toru Yamaguchi1.6K views
Introduction OpenID Authentication 2.0 by Toru Yamaguchi
Introduction OpenID Authentication 2.0Introduction OpenID Authentication 2.0
Introduction OpenID Authentication 2.0
Toru Yamaguchi1.4K views
The Security of OpenID Authentication 2.0 by Toru Yamaguchi
The Security of OpenID Authentication 2.0The Security of OpenID Authentication 2.0
The Security of OpenID Authentication 2.0
Toru Yamaguchi2.7K views
Customization of DBIC::Schema::Loader by Toru Yamaguchi
Customization of DBIC::Schema::LoaderCustomization of DBIC::Schema::Loader
Customization of DBIC::Schema::Loader
Toru Yamaguchi987 views

Recently uploaded

Melek BEN MAHMOUD.pdf by
Melek BEN MAHMOUD.pdfMelek BEN MAHMOUD.pdf
Melek BEN MAHMOUD.pdfMelekBenMahmoud
14 views1 slide
6g - REPORT.pdf by
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdfLiveplex
10 views23 slides
HTTP headers that make your website go faster - devs.gent November 2023 by
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023Thijs Feryn
22 views151 slides
Future of AR - Facebook Presentation by
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentationssuserb54b561
14 views27 slides
Unit 1_Lecture 2_Physical Design of IoT.pdf by
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdfStephenTec
12 views36 slides
SUPPLIER SOURCING.pptx by
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
15 views1 slide

Recently uploaded(20)

6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
Future of AR - Facebook Presentation by ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56114 views
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab19 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Case Study Copenhagen Energy and Business Central.pdf by Aitana
Case Study Copenhagen Energy and Business Central.pdfCase Study Copenhagen Energy and Business Central.pdf
Case Study Copenhagen Energy and Business Central.pdf
Aitana16 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays11 views

Introduction OpenID Authentication 2.0 Revival

  • 6. Identity Provider Identity Provider Identity Provider identity IdP     Identity Identity OpenID
  • 8.            見     一           
  • 9. zigorou.myopenid.com            自      入力  
  • 10.                    
  • 11.          
  • 18.            
  • 19.                            
  • 23. User-Supplied Identifier OP Identifier     Claimed Identifier      
  • 27.               Discovery             Association                     Authenticate Request       Authenticate Response               Verification  
  • 29.               Discovery             Association                     Authenticate Request       Authenticate Response               Verification  
  • 31. [zigorou ~] $ lwp-request -S -e -d http://zigorou.myopenid.com/ | grep XRDS X-XRDS-Location: http://zigorou.myopenid.com/?xrds=1 [zigorou ~] $ lwp-request http://zigorou.myopenid.com/?xrds=1 <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <xrds:XRDS xmlns:xrds=quot;xri://$xrdsquot; xmlns:openid=quot;http://openid.net/xmlns/1.0quot; xmlns=quot;xri://$xrd*($v*2.0)quot;> <XRD version=quot;2.0quot;> <Service priority=quot;0quot;> <Type>http://specs.openid.net/auth/2.0/signon</Type> <Type>http://openid.net/sreg/1.0</Type> <Type>http://openid.net/extensions/sreg/1.1</Type> <Type>http://schemas.openid.net/pape/policies/2007/06/phishing-resistant</Type> <Type>http://openid.net/srv/ax/1.0</Type> <URI>http://www.myopenid.com/server</URI> <LocalID>http://zigorou.myopenid.com/</LocalID> </Service>
  • 45.               Discovery               Association                   Authenticate Request       Authenticate Response               Verification  
  • 49. #!/usr/bin/perl sub sig { my %pairs = @_; use strict; my $keyval = format_keyval(%pairs); use warnings; hmac_sha256_hex($keyval, $hmac_key); use Digest::SHA qw(hmac_sha256_hex); } use Perl6::Say; say sig( foo => quot;abcquot;, bar => quot;xyzquot; ); our $hmac_key = quot;common_secretquot;; 89b7f51ec9b76e97d5a179f313af38e6cc8b5cb086 sub format_keyval { 0e266caf6847ded05428ce my %pairs = @_; join quot;nquot; => map { $_ . ':' . $pairs{$_} } keys %pairs; }
  • 53.               Discovery               Association                   Authenticate Request       Authenticate Response               Verification  
  • 63.               Discovery             Association                     Authenticate Request   Authenticate     Response               Verification