D a n i e l F e t t , P e d r a m H
- s
s e y n i , R a l f K ü s t e r s
2 1 9
- 3
- 2
F
- r
ma l S e c u r i t y A n a l y s i s
- f
t h e O p e n I D F i n a n c i a l
- g
r a d e A P I
T
- a
p p e a r a t I E E E S e c u r i t y a n d P r i v a c y 2 1 9
F o r ma l S e c u r i t y A n a l y s i s o f - - PowerPoint PPT Presentation
F o r ma l S e c u r i t y A n a l y s i s o f t h e O p e n I D F i n a n c i a l - g r a d e A P I D a n i e l F e t t , P e d r a m H o s s e y n i , R a l f K s
2 1 9
T
p p e a r a t I E E E S e c u r i t y a n d P r i v a c y 2 1 9
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 / 4 3
– P
– “
– “
– “
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 / 4 3
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 4 / 4 3
– I
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 7 / 4 3
► D
► A
► S
► I
► D
► P
► D
► F
► F
► F
► D
► P
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 8 / 4 3
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 9 / 4 3
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 1 / 4 3
– R
– R
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 2 / 4 3
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 7 . r e t r i e v e d a t a u s i n g
3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 3 / 4 3
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 7 . r e t r i e v e d a t a u s i n g
3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
1 . A u t h
i z a t i
R e q u e s t 4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 4 / 4 3
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 7 . r e t r i e v e d a t a u s i n g
3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
1 . A u t h
i z a t i
R e q u e s t A c c e s s T
e n
5 . s e n d
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
m i s c
fj g u r e d T
e n E n d p
n t
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 6 / 4 3
► T
► P
► S
► I
► S
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 7 / 4 3
► T
– O
– Mu
► G
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 1 8 / 4 3
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 7 . r e t r i e v e d a t a u s i n g
3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
R e m e m b e r P u b l i c K e y A c c e p t
l y a f t e r s u c c e s s f u l P
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 / 4 3
► R
– A
– A
► R
– T
– A
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 1 / 4 3
► R
– A
– A
► R
– T
– A
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 2 / 4 3
► R
– A
– A
► R
– T
– A
+ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ + | E n d D e v i c e ( e . g . , S m a r t p h
e ) | | | | +
+
| ( 6 ) A c c e s s T
e n +
| | L e g i t i m a t e | | M a l i c i
s | <
| | | O A u t h 2 . A p p | | A p p |
| | | +
+
| ( 5 ) A u t h
i z a t i
| | | | ^ ^ | G r a n t | | | | \ | | | | | | \ ( 4 ) | | | | | ( 1 ) | \ A u t h z | | | | | A u t h z | \ C
e | | | A u t h z | | R e q u e s t | \ | | | S e r v e r | | | \ | | | | | | \ | | | | | v \ | | | | | +
| | | | | | | ( 3 ) A u t h z C
e | | | | O p e r a t i n g S y s t e m / | <
| | | B r
s e r |
| | | | | | ( 2 ) A u t h z R e q u e s t | | | +
| +
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 3 / 4 3
► R
– A
– A
► R
– T
– A
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 4 / 4 3
► R
– A
– A
► R
– T
– A
allows the attacker to o b s e r v e r e q u e s t s ( i n a d d i t i
t
e s p
s e s ) to the authorization
This was caused by l e a k i n g h t t p l
i n f
m a t i
in the OS. T
i t i g a t e t h i s , "code_challenge_method" value must be set either to " S 2 5 6 "
defined by a cryptographically secure "code_challenge_method" extension.
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 5 / 4 3
► R
– A
– A
► R
– T
– A
8 . 3 . 2 C l i e n t c r e d e n t i a l a n d a u t h
i z a t i
c
e p h i s h i n g a t t
e n e n d p
n t I n t h i s a t t a c k , t h e c l i e n t d e v e l
e r i s s
i a l e n g i n e e r e d i n t
e l i e v i n g t h a t t h e t
e n e n d p
n t h a s c h a n g e d t
h e U R L t h a t i s c
t r
l e d b y t h e a t t a c k e r . A s t h e r e s u l t , t h e c l i e n t s e n d s t h e c
e a n d t h e c l i e n t s e c r e t t
h e a t t a c k e r , w h i c h w i l l b e r e p l a y e d s u b s e q u e n t l y . Wh e n t h e F A P I c l i e n t u s e s MT L S
O A U T B , t h e a u t h
i z a t i
c
e i s b
n d t
h e T L S c h a n n e l , a n y p h i s h e d c l i e n t c r e d e n t i a l s a n d a u t h
i z a t i
c
e s s u b m i t t e d t
h e t
e n e n d p
n t c a n n
b e u s e d s i n c e t h e a u t h
i z a t i
c
e i s b
n d t
p a r t i c u l a r T L S c h a n n e l .
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 6 / 4 3
► R
– A
– A
► R
– T
– A
8 . 3 . 5 A c c e s s t
e n p h i s h i n g Wh e n t h e F A P I c l i e n t u s e s MT L S
O A U T B , t h e a c c e s s t
e n i s b
n d t
h e T L S c h a n n e l , i t i s a c c e s s t
e n p h i s h i n g r e s i s t a n t a s t h e p h i s h e d a c c e s s t
e n s c a n n
b e u s e d .
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 8 / 4 3
a p p l i c a t i
p e c i fj c m
e l s e c u r i t y p r
e r t i e s
p r
s
WI M w e b i n f r a s t r u c t u r e m
e l
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 2 9 / 4 3
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 / 4 3
a p p l i c a t i
p e c i fj c m
e l s e c u r i t y p r
e r t i e s
p r
s
WI M w e b i n f r a s t r u c t u r e m
e l
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 2 / 4 3
► C
► A
► P
► A
a p p l i c a t i
p e c i fj c m
e l s e c u r i t y p r
e r t i e s
p r
s
WI M w e b i n f r a s t r u c t u r e m
e l
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 3 / 4 3
► C
► A
► P
► A
a p p l i c a t i
p e c i fj c m
e l s e c u r i t y p r
e r t i e s
p r
s
WI M w e b i n f r a s t r u c t u r e m
e l
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 4 / 4 3
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 7 . r e t r i e v e d a t a u s i n g
3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
A c c e s s T
e n
R e m e m b e r P u b l i c K e y A c c e p t
l y a f t e r s u c c e s s f u l P
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 5 / 4 3
7 . r e t r i e v e d a t a u s i n g 5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e 2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
i s b
n d t
l i e n t
R e a d
i t e P r
l e
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 6 / 4 3
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e 2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
I n c l u d e e x p e c t e d i s s u e r
A T Wr
g A S → S t
6 . s e n d A c c e s s T
e n
7 . r e t r i e v e d a t a u s i n g
R e a d
i t e P r
l e
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 7 / 4 3
► C
► A
► P
► A
a p p l i c a t i
p e c i fj c m
e l s e c u r i t y p r
e r t i e s
p r
s
WI M w e b i n f r a s t r u c t u r e m
e l
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 8 / 4 3
► R
– A
– A
► R
– T
– A
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 3 9 / 4 3
7 . r e t r i e v e d a t a u s i n g 5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e i s b
n d t
l i e n t
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
R e a d
i t e P r
l e
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 4 / 4 3
5 . s e n d
1 . A u t h
i z a t i
R e q u e s t 6 . s e n d A c c e s s T
e n
4 . R e d i r e c t A u t h
i z a t i
R e s p
s e
2 . R e d i r e c t A u t h
i z a t i
R e q u e s t + A u t h e n t i c a t e 3 . A u t h
i z a t i
R e s p
s e w i t h A u t h
i z a t i
C
e
R e a d
i t e P r
l e
A d d a t _ h a s h t
A R M- R e s p
s e O r : a d d a t _ h a s h t
e c
d I D T
e n Wr
g h a s h → S t
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 4 1 / 4 3
► C
► A
► P
► A
a p p l i c a t i
p e c i fj c m
e l s e c u r i t y p r
e r t i e s
p r
s
WI M w e b i n f r a s t r u c t u r e m
e l
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 4 2 / 4 3
– A
– A
– S
O n l y f
We b s e r v e r C l i e n t s u s i n g O A U T B
2 1 9
D a n i e l F e t t , P e d r a m H
s e y n i , R a l f K ü s t e r s 4 3 / 4 3
► F
► F
► S
► P