[16942] 2021-06-23_基于free5gc+UERANSIM5G模拟环境的5G_AKA协议解析

文档创建者:s7ckTeam
浏览次数:5
最后更新:2025-01-18
2021-06-23_基于free5gc+UERANSIM5G模拟环境的5G_AKA协议解析 f r e e 5 g c + U E R A N S I M   5 G 5 G _ A K A   F r e e B u f   2 0 2 1 - 0 6 - 2 3 U E U E M A C X M A C U E   R E S X R E S 线 f r e e 5 g c + U E R A N S I M 5 G 5 G _ A K A 0 x 0 1   5 G   A K A T S 3 3 . 5 0 1 T S 3 3 . 1 0 2   5 G   A K A A V M A C R E S 0 x 0 1 1     A V F 1 - F 5 M i l e n a g e ( M A C ) M A C   =   F 1 K ( S Q N   | |   R A N D   | |   A M F ) ( X R E S ) X R E S   =   F 2 K   ( R A N D ) ( A U T N ) A U T N   =   ( S Q N A K   ) | |   A M F   | |   M A C A V A V = R A N D | | X R E S | | C K | | I K | | A U T N A V   U E 0 x 0 1 2   U E   A V ( S Q N ) : ( S Q N A K   ) A K X M A C F 1 K ( S Q N   | |   R A N D   | |   A M F ) U E M A C X M A C 0 x 0 1 3   U E   R E S 0 x 0 1   A V X R E S U E M A C R E S
U E   R E S X R E S 0 x 0 1 4   K 5 G   K D F K - > K a u s f   K a u s f - > K s e a f   T S   3 3 . 5 0 1   5 G     F i g u r e   6 . 2 . 2 - 1 5 G   U E   K P e r m a n e n t K e y 0 x 0 2   f r e e 5 g c + U E R A N S I M   使 a r p i f c o n f i g d o c k e r   i n s p e c t b r c t l   I P M a c U E R A N S I M + f r e e 5 g c u b u n t u   2 0 . 0 4   V M w a r e 5 g c d o c k e r 5 g c R A N   V M w a r e   D N ( ) U P F 0 x 0 3   5 G _ A K A   3 G P P   T S 3 3 . 5 0 1   5 G U E 5 G C :   5 G   A K A     E A P   A K A f r e e 5 g c 使 5 G   A K A
U E R A N S I M + f r e e 5 g c   0 x 0 3 1 . U D M : A V 0 x 0 3 1 1   s t e p   1 , s e t p   2 0 x 0 3 1 2   w i r e s h a r k     u d m   v e t h u d m a u s f   N u d m _ U E A u t h e n t i c a t i o n _ G e t   R e s p o n s e : U E 5 G _ A K A a u t h e n t i c a t i o n V e c t o r ( A V ) 0 x 0 3 1 3   5 G _ A K A l   A V A V = R A N D | | X R E S | | C K | | I K | | A U T N   0 x 0 1   0 x 0 3 1 4   A V   f r e e 5 g c   u d m   u d m p r o d u c e r g e n e r a t e _ a u t h _ d a t a . g o     G e n e r a t e A u t h D a t a P r o c e d u r e   A V / / U E s u i s u p i s u p i 5 G _ A K A         s u p i ,   e r r   : =   s u c i . T o S u p i ( s u p i O r S u c i ,   u d m _ c o n t e x t . U D M _ S e l f ( ) . G e t U d m P r o f i l e A H N P r i v a t e K e y ( ) ) / / s u p i a u t h S u b s   a u t h S u b s ,   r e s ,   e r r   : =   c l i e n t . A u t h e n t i c a t i o n D a t a D o c u m e n t A p i . Q u e r y A u t h S u b s D a t a ( c o n t e x t . B a c k g r o u n d ( ) ,   s u p i ,   n i l ) / / a u t h S u b s s q n s q n S t r   : =   s t r i c t H e x ( a u t h S u b s . S e q u e n c e N u m b e r ,   1 2 ) / / s q n . . . . . . / / R A N D   R A N D   : =   m a k e ( [ ] b y t e ,   1 6 ) _ ,   e r r   =   c r y p t o R a n d . R e a d ( R A N D ) / / A M F A M F ,   e r r   : =   h e x . D e c o d e S t r i n g ( " 8 0 0 0 " )
0 x 0 3 2   A U S F :   H X R E S 0 x 0 3 2 1   s t e p 3 , s t e p 4   , s t e p 5 0 x 0 3 2 1 1   w i r e s h a r k     a u s f   v e t h . . a u s f a m f   N a u s f _ U E A u t h e n t i c a t i o n _ A u t h e n t i c a t e   R e s p o n s e   : / / a u t h S u b s o p c , a u t h S u b s o p c S t r   =   a u t h S u b s . O p c . O p c V a l u e / / P e r m a n e n t K e y 5 G   U E P e r m a n e n t K e y P e r m a n e n t K e y k S t r   =   a u t h S u b s . P e r m a n e n t K e y . P e r m a n e n t K e y V a l u e k ,   e r r   =   h e x . D e c o d e S t r i n g ( k S t r ) / / U E e r r   =   m i l e n a g e . F 1 ( o p c ,   k ,   R A N D ,   s q n ,   A M F ,   m a c A ,   m a c S ) i f   e r r   ! =   n i l   {         l o g g e r . U e a u L o g . E r r o r l n ( " m i l e n a g e   F 1   e r r   " ,   e r r ) } / /     R E S ,   C K ,   I K ,   A K ,   A K s t a r / /   R E S   = =   X R E S   ( e x p e c t e d   R E S )   f o r   s e r v e r e r r   =   m i l e n a g e . F 2 3 4 5 ( o p c ,   k ,   R A N D ,   R E S ,   C K ,   I K ,   A K ,   A K s t a r ) i f   e r r   ! =   n i l   {         l o g g e r . U e a u L o g . E r r o r l n ( " m i l e n a g e   F 2 3 4 5   e r r   " ,   e r r ) } / / A U T H S Q N x o r A K   : =   m a k e ( [ ] b y t e ,   6 ) f o r   i   : =   0 ;   i   <   l e n ( s q n ) ;   i + +   {         S Q N x o r A K [ i ]   =   s q n [ i ]   ^   A K [ i ] } A U T N   : =   a p p e n d ( a p p e n d ( S Q N x o r A K ,   A M F . . . ) ,   m a c A . . . ) / / A V / /     X R E S * k e y   : =   a p p e n d ( C K ,   I K . . . ) F C   : =   U e a u C o m m o n . F C _ F O R _ R E S _ S T A R _ X R E S _ S T A R _ D E R I V A T I O N P 0   : =   [ ] b y t e ( a u t h I n f o R e q u e s t . S e r v i n g N e t w o r k N a m e ) P 1   : =   R A N D P 2   : =   R E S k d f V a l F o r X r e s S t a r   : =   U e a u C o m m o n . G e t K D F V a l u e ( k e y ,   F C ,   P 0 ,   U e a u C o m m o n . K D F L e n ( P 0 ) ,   P 1 ,   U e a u C o m m o n . K D F L e n ( P 1 ) ,   P 2 ,   U e a u C o m m o n . K D F L e n ( P 2 ) ) x r e s S t a r   : =   k d f V a l F o r X r e s S t a r [ l e n ( k d f V a l F o r X r e s S t a r ) / 2 : ] / /     K a u s f F C   =   U e a u C o m m o n . F C _ F O R _ K A U S F _ D E R I V A T I O N P 0   =   [ ] b y t e ( a u t h I n f o R e q u e s t . S e r v i n g N e t w o r k N a m e ) P 1   =   S Q N x o r A K k d f V a l F o r K a u s f   : =   U e a u C o m m o n . G e t K D F V a l u e ( k e y ,   F C ,   P 0 ,   U e a u C o m m o n . K D F L e n ( P 0 ) ,   P 1 ,   U e a u C o m m o n . K D F L e n ( P 1 ) ) / /   r a n d ,   x r e s S t a r ,   a u t n ,   k a u s f a v . R a n d   =   h e x . E n c o d e T o S t r i n g ( R A N D ) a v . X r e s S t a r   =   h e x . E n c o d e T o S t r i n g ( x r e s S t a r ) a v . A u t n   =   h e x . E n c o d e T o S t r i n g ( A U T N ) a v . K a u s f   =   h e x . E n c o d e T o S t r i n g ( k d f V a l F o r K a u s f )
a u s f   X R E S , U D M   A V , T S 3 3 . 5 0 1 A . 5 H X R E S . K a u s f K s e a f   A V ( R A N D , A U T N , H X R E S ) A M F / s e a f . 0 x 0 3 2 1 2   H X R E S u d m a u s f A V R A N D X R E S S H A - 2 5 6 h a s h . 0 x 0 3 2 1 3     f r e e 5 g c   a u s f   a u s f p r o d u c e r u e _ a u t h e n t i c a t i o n . g o   U e A u t h P o s t R e q u e s t P r o c e d u r e   / /   s u p i a u t h I n f o R e s u l t ( a u t h I n f o R e s u l t ) a u t h I n f o R e s u l t ,   r s p ,   e r r   : =   c l i e n t . G e n e r a t e A u t h D a t a A p i . G e n e r a t e A u t h D a t a ( c o n t e x t . B a c k g r o u n d ( ) ,   s u p i O r S u c i ,   a u t h I n f o R e q ) / /   X R E S   H X R E S ; u d m a u s f A V R A N D X R E S S H A 2 5 6 H X R E S c o n c a t   : =   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . R a n d   +   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . X r e s S t a r . . . . . . h x r e s S t a r A l l   : =   s h a 2 5 6 . S u m 2 5 6 ( h x r e s S t a r B y t e s ) h x r e s S t a r   : =   h e x . E n c o d e T o S t r i n g ( h x r e s S t a r A l l [ 1 6 : ] )   / /   l a s t   1 2 8   b i t s / /   K a u s f K s e a f , k u a s f , 0 x 6 c P 0 K s e a f / /   a u s f K s a u f X R E S R A N D K a u s f   : =   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . K a u s f . . . . . . K s e a f   : =   U e a u C o m m o n . G e t K D F V a l u e ( K a u s f D e c o d e ,   U e a u C o m m o n . F C _ F O R _ K S E A F _ D E R I V A T I O N ,   P 0 ,   U e a u C o m m o n . K D F L e n ( P 0 ) ) a u s f U e C o n t e x t . X r e s S t a r   =   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . X r e s S t a r a u s f U e C o n t e x t . K a u s f   =   K a u s f a u s f U e C o n t e x t . K s e a f   =   h e x . E n c o d e T o S t r i n g ( K s e a f ) a u s f U e C o n t e x t . R a n d   =   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . R a n d / / a u s f a m f A V     R A N D , A U T N , H X R E S X R E S H X R E S · v a r   a v 5 g A k a   m o d e l s . A v 5 g A k a a v 5 g A k a . R a n d   =   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . R a n d a v 5 g A k a . A u t n   =   a u t h I n f o R e s u l t . A u t h e n t i c a t i o n V e c t o r . A u t n a v 5 g A k a . H x r e s S t a r   =   h x r e s S t a r r e s p o n s e B o d y . V a r 5 g A u t h D a t a   =   a v 5 g A k a
0 x 0 3 3   S E A F : U E 0 x 0 3 3 1   s t e p 6 0 x 0 3 3 2   w i r e s h a r k   b r - . . a m f / s e a f   N G - A P N A S U E A u t h e n t i c a t i o n   R e q u e s t     s e a f / a m f   N A S   U E   A V , A V R A N D A U T N A B B A ( K a m f ) n g K S I K a m f 0 x 0 3 3 3   A B B A A B B A   S E A F ( A M F ) U E , U E A B B A K a m f 0 x 0 0 0 0 x 0 3 3 4   a m f g m m h a n d l e r . g o   A u t h e n t i c a t i o n P r o c e d u r e   a m f g m m m e s s a g e s e n d . g o   S e n d A u t h e n t i c a t i o n R e q u e s t   n a s M s g ,   e r r   : =   B u i l d A u t h e n t i c a t i o n R e q u e s t ( a m f U e ) a m f g m m m e s s a g e b u i l d . g o   B u i l d A u t h e n t i c a t i o n R e q u e s t   r e s p o n s e B o d y . V a r 5 g A u t h D a t a   =   a v 5 g A k a u e . A B B A   =   [ ] u i n t 8 { 0 x 0 0 ,   0 x 0 0 }   / /     0 x 0 0 0 0 g m m _ m e s s a g e . S e n d A u t h e n t i c a t i o n R e q u e s t ( u e . R a n U e [ a c c e s s T y p e ] ) a u t h e n t i c a t i o n R e q u e s t . S p a r e H a l f O c t e t A n d N g k s i   =   n a s C o n v e r t . S p a r e H a l f O c t e t A n d N g k s i T o N a s ( u e . N g K s i ) / /   A u t h e n t i c a t i o n P r o c e d u r e     [ ] u i n t 8 { 0 x 0 0 ,   0 x 0 0 } a u t h e n t i c a t i o n R e q u e s t . A B B A . S e t A B B A C o n t e n t s ( u e . A B B A )   . . . . . . r a n d ,   e r r   : =   h e x . D e c o d e S t r i n g ( a v 5 g A k a . R a n d ) / / R A N D a u s f a u t h e n t i c a t i o n R e q u e s t . A u t h e n t i c a t i o n P a r a m e t e r R A N D   = n a s T y p e . N e w A u t h e n t i c a t i o n P a r a m e t e r R A N D ( n a s M e s s a g e . A u t h e n t i c a t i o n R e q u e s t A u t h e n t i c a t i o n P a r a m e t e r R A N D T y p e ) c o p y ( t m p A r r a y [ : ] ,   r a n d [ 0 : 1 6 ] ) a u t h e n t i c a t i o n R e q u e s t . A u t h e n t i c a t i o n P a r a m e t e r R A N D . S e t R A N D V a l u e ( t m p A r r a y ) . . . . . . a u t n ,   e r r   : =   h e x . D e c o d e S t r i n g ( a v 5 g A k a . A u t n ) / / A U T N a u s f a u t h e n t i c a t i o n R e q u e s t . A u t h e n t i c a t i o n P a r a m e t e r A U T N   = n a s T y p e . N e w A u t h e n t i c a t i o n P a r a m e t e r A U T N ( n a s M e s s a g e . A u t h e n t i c a t i o n R e q u e s t A u t h e n t i c a t i o n P a r a m e t e r A U T N y p e ) a u t h e n t i c a t i o n R e q u e s t . A u t h e n t i c a t i o n P a r a m e t e r A U T N . S e t L e n ( u i n t 8 ( l e n ( a u t n ) ) ) c o p y ( t m p A r r a y [ : ] ,   a u t n [ 0 : 1 6 ] ) a u t h e n t i c a t i o n R e q u e s t . A u t h e n t i c a t i o n P a r a m e t e r A U T N . S e t A U T N ( t m p A r r a y )
0 x 0 3 4   U E : U E 0 x 0 3 4 1   s t e p 7 , 8 0 x 0 3 4 2   g N B U E U E R A M S I M w i r e s h a r k   b r - . . U E U E R E S A M F 0 x 0 3 4 3   U E A U T H M A C U E P e r m a n e n t K e y R A N D S Q N M i l e n a g e f 1 - f 5 ) X M A C M A C 0 x 0 2 0 x 0 3 4 4   U E U E R A N S I M s r c a u t h . c p p N a s M m : : r e c e i v e A u t h e n t i c a t i o n R e q u e s t 5 g A k a 0 x 0 3 5   S E A F :   H R E S   A U S F U E 0 x 0 3 5 1   s t e p 9 , s t e p 1 0 0 x 0 3 5 2   w i r e s h a r k     a u s f   v e t h . s e a f / a m f a u s f   N a u s f _ U E A u t h e n t i c a t i o n _ A u t h e n t i c a t e   R e q u e s t : / / r a n d   a u t n a u t o   & r a n d   =   m s g . a u t h P a r a m R A N D - > v a l u e ; a u t o   & a u t n   =   m s g . a u t h P a r a m A U T N - > v a l u e ; . . . . . . / / u s i m ( P e r m a n e n t K e y u s i m ) R A N D   m i l e n a g e a u t o   m i l e n a g e   =   c a l c u l a t e M i l e n a g e ( m _ u s i m - > m _ s q n ,   r a n d ) ; . . . . . . . / / m i l e n a g e A K X M A C r e s . . . . . m i l e n a g e   f 1 - f 5 m i l e n a g e a u t o   & r e s   =   m i l e n a g e . r e s ; a u t o   & m i l e n a g e A k   =   m i l e n a g e . a k ; a u t o   & m i l e n a g e M a c   =   m i l e n a g e . m a c _ a ; . . . . . . . . / / A K   ,   X M A C   a u t n   M A C , v a l i d a t e A u t n a u t o   a u t n C h e c k   =   v a l i d a t e A u t n ( m i l e n a g e A k ,   m i l e n a g e M a c ,   a u t n ) ;
S E A F U E H R E S A U S F U E , U E _ I D : s u p i O r s u c i 0 x 0 3 5 3   3 G P P   T S 3 3 . 5 0 1     A . 5     2 . 3 . 2 0 x 0 3 5 4     : U E   R E S a m f g m m h a n d l e r . g o     H a n d l e A u t h e n t i c a t i o n R e s p o n s e 0 x 0 3 6   A U S F : U E R E S   S E A F 0 x 0 3 6 1   s t e p 1 1 , s t e p 1 2 0 x 0 3 6 2   w i r e s h a r k     a u s f   v e t h . . s e a f / a m f a u s f   N a u s f _ U E A u t h e n t i c a t i o n _ A u t h e n t i c a t e   R e s p o n s e : A U S F U E 2 0 1   C r e a t e d ,   U E U R I   l o c a t i o n 0 x 0 3 6 3     3 G P P   T S 3 3 . 5 0 1   6 . 1 . 3 . 2 . 0 r e s S t a r   : =   a u t h e n t i c a t i o n R e s p o n s e . A u t h e n t i c a t i o n R e s p o n s e P a r a m e t e r . G e t R E S ( ) / /   C a l c u l a t e   H R E S *   ( T S   3 3 . 5 0 1   A n n e x   A . 5 ) / /   U E   R E S 使 s h a 2 5 6   H R E S   p 0 ,   e r r   : =   h e x . D e c o d e S t r i n g ( a v 5 g A k a . R a n d ) . . . . . . p 1   : =   r e s S t a r [ : ] c o n c a t   : =   a p p e n d ( p 0 ,   p 1 . . . ) h R e s S t a r B y t e s   : =   s h a 2 5 6 . S u m 2 5 6 ( c o n c a t ) h R e s S t a r   : =   h e x . E n c o d e T o S t r i n g ( h R e s S t a r B y t e s [ 1 6 : ] ) / / H R E S   A U S F H R E S , U E i f   h R e s S t a r   ! =   a v 5 g A k a . H x r e s S t a r   { u e . G m m L o g . E r r o r f ( " H R E S *   V a l i d a t i o n   F a i l u r e   ( r e c e i v e d :   % s ,   e x p e c t e d :   % s ) " ,   h R e s S t a r ,   a v 5 g A k a . H x r e s S t a r ) . . . . . . / / a u s f   U E U E R E S r e s p o n s e ,   p r o b l e m D e t a i l s ,   e r r   : =   c o n s u m e r . S e n d A u t h 5 g A k a C o n f i r m R e q u e s t ( u e ,   h e x . E n c o d e T o S t r i n g ( r e s S t a r [ : ] ) )
  U E R E S   X R E S ( 2 . 2 ) 0 x 0 3 6 4     f r e e 5 g c   a u s f   a u s f p r o d u c e r u e _ a u t h e n t i c a t i o n . g o   A u t h 5 g A k a C o m f i r m R e q u e s t P r o c e d u r e 0 x 0 4   f r e e 5 G C + U E R A N S I M 5 G 5 G _ A K A 5 G a u s f C u r r e n t C o n t e x t   : =   a u s f _ c o n t e x t . G e t A u s f U e C o n t e x t ( c u r r e n t S u p i ) s e r v i n g N e t w o r k N a m e   : =   a u s f C u r r e n t C o n t e x t . S e r v i n g N e t w o r k N a m e / /   C o m p a r e   t h e   r e c e i v e d   R E S *   w i t h   t h e   s t o r e d   X R E S * / / s e a f R E S , 线 X R E S , U E l o g g e r . A u t h 5 g A k a C o m f i r m L o g . I n f o f ( " r e s * :   % x n X r e s * :   % x n " ,   u p d a t e C o n f i r m a t i o n D a t a . R e s S t a r ,   a u s f C u r r e n t C o n t e x t . X r e s S t a r ) i f   s t r i n g s . C o m p a r e ( u p d a t e C o n f i r m a t i o n D a t a . R e s S t a r , a u s f C u r r e n t C o n t e x t . X r e s S t a r )   = =   0   {               / / 2 0 1   C r e a t e d         a u s f C u r r e n t C o n t e x t . A u t h S t a t u s   =   m o d e l s . A u t h R e s u l t _ S U C C E S S             r e s p o n s e B o d y . A u t h R e s u l t   =   m o d e l s . A u t h R e s u l t _ S U C C E S S         s u c c e s s   =   t r u e         l o g g e r . A u t h 5 g A k a C o m f i r m L o g . I n f o l n ( " 5 G   A K A   c o n f i r m a t i o n   s u c c e e d e d " )

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则