Upload
eliakim-feliciano-morais
View
213
Download
0
Embed Size (px)
Citation preview
7/25/2019 Rfc4028 Session Timer
1/25
1
RFC4028Session Timer in the
Session Initiation Protocol
SpeakerYing Shun Lin
!"iser #uinc$ %u
7/25/2019 Rfc4028 Session Timer
2/25
2
&utline Intro!uction Session'()pires *ea!er +el! ,e+nition
-in'S( *ea!er +el! ,e+nition 422'Response Co!e ,e+nition .C / Pro)$ / .S eha"ior
Securit$ Consi!erations ()ample call Flo
7/25/2019 Rfc4028 Session Timer
3/25
3
Intro!uction 1/3 SIP !oes not !e+ne a keepali"e
mechanism 5or the sessions it esta6lishes
UACUAC
I7IT(
100 Tr$ing
Y(
call state5ul pro)$ ill retain state 5or the c
7/25/2019 Rfc4028 Session Timer
4/25
4
Intro!uction 2/3 This e)tension !e+nes a keepali"e mechanism 5or SIP
sessions9 .s sen! perio!ic re'I7IT(or.P,T(
re:uests re5erre! to as session re5resh re:uests to
keep the session ali"e 9
I5 a session re5resh re:uest is not recei"e! 6e5ore the
inter"al passes the session is consi!ere!
terminate!9oth .s are suppose! to sen! aY( an! call
state5ul pro)ies can remo"e an$ state 5or the call9
http://www.voip-telephony.org/rfc/siphttp://www.voip-telephony.org/rfc/sip7/25/2019 Rfc4028 Session Timer
5/25
5
Intro!uction 3/3 To ne hea!er +el!s Session'()pires an!
-in'S( an! a ne response co!e 422 are!e+ne!
' Session'()pires con"e$s the !uration o5 the session
' -in'S( con"e$s the minimum alloe! "alue5or the
session e)piration9' 422 response in!icates that the session timer
!uration
as too small9
7/25/2019 Rfc4028 Session Timer
6/25
6
,e+ne some terms Session Inter"al Session ()piration Session Re5resh Re:uest Initial Session Re5resh Re:uest Su6se:uent Session Re5resh Re:uest
Re5resh
7/25/2019 Rfc4028 Session Timer
7/25
7
Session'()pires *ea!er Fiel!
,e+nition place! onl$ in re:uests I7IT( or .P,T(; as ell as
in an$ 2)) response to re:uest9
-.ST 6e prepare! to han!le Session'()pireshea!er +el! "alues o5 an$ !uration greater thanre5resher?uac
7/25/2019 Rfc4028 Session Timer
8/25
8
-in'S( *ea!er Fiel! ,e+nition use! in an re:uest I7IT( or .P,T( it
in!icates the smallest "alue o5 the sessioninter"al that can 6e use! 5or that session 9
-.ST 7&T 6e less than
7/25/2019 Rfc4028 Session Timer
9/25
9
422 Response Co!e ,e+nition
Session Inter"al Too Small
' generate! 6$ a .S or pro)$ hen a re:uest
contains a Session'()pires hea!er +el! ith a
!uration 6elo the minimum timer 5or theser"er 9
-.ST contain a -in'S( hea!er +el! ith theminimum timer 5or that ser"er9
7/25/2019 Rfc4028 Session Timer
10/25
10
Session'()pire @ -in'S( *ea!er
Fiel!s
7/25/2019 Rfc4028 Session Timer
11/25
11
.C eha"ior Aenerating an Initial Session
Re5resh Re:uest Processing a 2)) Response Processing a 422 Response Aenerating Su6se:uent Session
Re5resh Re:uests
7/25/2019 Rfc4028 Session Timer
12/25
12
.C /Pro)$ eha"ior
UACUAC
pro)$
I7IT(Supporte! =timerSession ()pires= BB > re5resher ?uacD-in'S(=BB
Re:uire= timerSupporte!= timer
Session'()pires = > re5resher?
422
200
Session Inter"al TooSmall
-in'S( =
7/25/2019 Rfc4028 Session Timer
13/25
13
.C eha"ior
UACUAC
I7IT(
pro)$
EI5 a .C knos that its peer supports the .P,T( metho!R(C&--(7,(, that .P,T( 6e use! instea! o5 a re'I7IT(
Supporte! =timerSession ()pires= BB > re5resher ?uac/uas-in'S(=BB
422Min-SE
=))
7/25/2019 Rfc4028 Session Timer
14/25
14
Pro)$ eha"ior The pro)$ processing rules re:uire the
pro)$
to remem6er in5ormation 6eteen there:uest an! response; ruling out stateless
pro)ies9
' Processing o5 Re:uests
' Processing o5 Responses
' Session ()piration
7/25/2019 Rfc4028 Session Timer
15/25
15
Pro)$ eha"ior Re:uest
call 5ailure
Supporte! =timer
Session ()pires=
small
I7IT(
Session ()pires= BB-in'S(=BB
Session ()pires=BB-in'S(=BBI7IT(
Pro)$ 1
Pro)$ 2
7/25/2019 Rfc4028 Session Timer
16/25
16
.S !i! notsupport the
session timer
Pro)$ eha"ior Response
UASUAS
pro)$ remem6ers .C !i! notsupport
There is no session e)piration 5or thissession
pro)$ remem6ers that the .C !i! support the sessiontimer
Session'()pires 5rom the 5orar!e! re:uest
re5resher =DuacD
Session ()pires
7/25/2019 Rfc4028 Session Timer
17/25
17
.S eha"ior
UASUAS
Supporte!=timerSession ()pires=-in'S(=
I7IT(
422 -in'S(=
pro)$
200 ok Session()pires=
-in'S(=
7/25/2019 Rfc4028 Session Timer
18/25
18
.S eha"ior
.C supportsG Re5resherparameter
in re:uest
re5resherparameter
in response7 none uas
7 uac 7
7 uas 7
Y none uas or uac
Y uac uac
Y uas uas
7/25/2019 Rfc4028 Session Timer
19/25
19
Securit$Consi!erations1/3
Insi!e ttacksCase 1=
a rogue .C that ishes to 5orce a .S to generate
re5reshes at a rapi! rate
' The .S or an$ pro)$ that o6Hects to this lotimer
ill reHect the re:uest ith a 422; there6$
pre"enting the attack9
7/25/2019 Rfc4028 Session Timer
20/25
20
Securit$Consi!erations2/3
Case2=
rogue .S that ishes to 5orce a .C to generate
re5reshes at a rapi! rate 9
' .C cop$ the current session inter"al into the
Session'()pires hea!er +el! in the re:uest9
The pro)ies ill reHect this re:uest an! pro"i!e a
-in'S( ith a higher minimum; hich the .C ill
then use9
7/25/2019 Rfc4028 Session Timer
21/25
21
Securit$Consi!erations3/3
&utsi!e ttacks' n element that can o6ser"e an! mo!i5$ a re:uest
or response in transit can 5orce rapi! session
re5reshes 9
'pro)ies that recor!'route an! re:uest session timerS*&.L, recor!'route ith a SIPS .RI 9
. that inserts a Session'()pires hea!er into a
re:uest or response S*&.L, inclu!e a Contact .RIthat is a SIPS .RI9
1
7/25/2019 Rfc4028 Session Timer
22/25
22
()ample Call Flo
lice
Pro)$ P1 Pro)$ P2
o61I7IT(
S(=6ranch?tag?1tag?tag?1tag?1
7/25/2019 Rfc4028 Session Timer
23/25
23
()ample Call Flo
lice
Pro)$ P1 Pro)$ P2
o6I7IT(S(=300-S(=300
422-S(=4000
MCJ8422-S(=4000
6ranch?
7/25/2019 Rfc4028 Session Timer
24/25
24
()ample Call Flo
lice
Pro)$ P1 Pro)$ P2
o611I7IT(S(=4000-S(=4000
12I7IT(S(=4000-S(=4000
13200&J
S(=400014200&JS(=4000
1200&JS(=4000
1CJ
1MCJ
1 SIP/290 200 &J ia= SIP/290/TLS pc339atlanta9e)ample9com>6ranch?recei"e!?1re5resher?uac To= o6 Nsips=6o6K6ilo)i9e)ample9comO>tag?tag?1
7/25/2019 Rfc4028 Session Timer
25/25
25
()ample Call Flo
lice
Pro)$ P1 Pro)$ P2
o6
18.P,T(S(=4000 1tag?tag?1