C S P , C a s p e r a n d S e c u r i t y V e r i f i c a t i o n 고려대학교 정형기법 연구실 김 일 곤 2 0 0 3 . 8 . 2 0
S e c u r i t y � S e c u r i t y : C o n f i d e n t i a l i t y , A u t h e n t i c a t i o n , I n t e g r i t y a n d A v a i l a b i l i t y � R e s e a r c h 1 . S e c u r i t y S y s t e m A c c e s s C o n t r o l M o d e l , I n f o r ma t i o n F l o w M o d e l � 2 . S e c u r i t y P r o t o c o l S S H , K e r b e r o s , R A D I U S a n d e t c
F o r ma l A p p r o a c h � T h e o r e m P r o v i n g -B A N , G N Y , S V O l o g i c � M o d e l C h e c k i n g -F D R ( C S P ) , S P I N , S M V , C A D P � T y p e T h e o r y -P C C ( P r o o f C a r r y i n g C o d e ) � G l o b a l C o mp u t i n g -s p i c a l c u l u s
P r o c e s s A l g e b r a a n d C S P � P r o c e s s A l g e b r a � a f o r ma l d e s c r i p t i o n t e c h n i q u e t o c o mp l e x c o mp u t e r s y s t e ms , e s p e c i a l l y t h o s e i n v o l v i n g c o mmu n i c a t i o n , c o n c u r r e n t l y e x e c u t i n g c o mp o n e n t s � C S P ( C o mmu n i c a t i n g S e q u e n t i a l P r o c e s s e s ) � I t i s a p r o c e s s s p e c i f i c a t i o n l a n g u a g e d e s i g n e d b y C . A . R . H o a r e , a t t h e U n i v e r s i t y o f O x f o r d d u r i n g t h e 1 9 8 0 s � A f o r ma l n o t a t i o n i n w h i c h t h e c o mp u t a t i o n s o f c o n c u r r e n t p r o c e s s e s c o mmu n i c a t i n g b y c h a n n e l c a n b e c o n c i s e l y d e s c r i b e d a n d mo d e l l e d .
C a s p e r C a s p e r A ( C o mp i l e r f o r t h e A n a l y s i s o f S e c u r i t y � P r o t o c o l s ) C S P d e s c r i p t i o n o f t h e s y s t e m i s � . v e r y t i me - c o n s u mi n g 1 . o n l y p o s s i b l e f o r p e o p l e w e l l p r a c t i c e d i n 2 C S P . e v e n t h e e x p e r t s w i l l o f t e n ma k e mi s t a k e s 2 t h a t p r o v e h a r d t o s p o t ※ C a s p e r s i mp l i f i e s t h i s p r o c e s s .
C a s p e r a n d C S P / F D R S e c u r i t y P r o t o c o l I n t r u d e r FDR Verification Casper CSP Modeling S p e c o f S p e c o f I n t r u d e r S e c u r i t y P r o t o c o l
C S P Mo d e l i n g Initiator | | | Responder | | | Server | | | Intruder receive send Server Intiator Responder receive send send receive fake.x.Bob take.Alice.y learn say Intruder leak
R e f i n e me n t C h e c k i n g � 1 . T r a c e R e f i n e me n t : S a f e t y � 2 . F a i l u r e s R e f i n e me n t : D e a d l o c k � 3 . F a i l u r e s - D i v e r g e n c e s R e f i n e me n t : L i v e n e s s
R e f i n e me n t C h e c k i n g Specification trace (Specification) trace refinement (Implementation) Implementation
T r a c e s o f a P r o c e s s � A t r a c e o f a p r o c e s s i s a f i n i t e s e q u e n c e o f e v e n t s , r e p r e s e n t i n g t h e b e h a v i o u r o f t h e p r o c e s s u p t o a c e r t a i n p o i n t i n t i me . T r a c e s e t i s w r i t t e n t r a c e s ( P ) t r a c e s ( c o i n - > S T O P ) = { < > , < c o i n > } C L O C K = t i c k - > C L O C K t r a c e s ( C L O C K ) = { < > , < t i c k > , < t i c k , t i c k > , < t i c k , t i c k , t i c k > , } … = { t i c k } * E x a mp l e s : a - > b - > S T O P a - > S T O P A - > b - > S T O P S T O P
S e c r e c y a n d A u t h e n t i c a t i o n � T h e y a r e b o t h s a f e t y p r o p e r t i e s : a c e r t a i n b a d t h i n g s h o u l d n o t h a p p e n � S e c r e c y : I n f o r ma t i o n m h a s n o t b e c o me k n o w n t o t h e i n t r u d e r A u t h e n t i c a t i o n : � T h e ma t c h i n g o f t h e s e t w o e v e n t s g u a r a n t e e s t h e i d e n t i t i e s o f Aa n d B
A u t h e n t i c a t i o n P r o p e r t y A B I nt r Run wit h A Commit wit h B
E x a mp l e : T h e Y a h a l o m P r o t o c o l � T h e p r o t o c o l M e s s a g e 1 a - > b : a . n a M e s s a g e 2 b - > s : b . { a . n . n } a b S e r v e r K e y ( b ) M e s s a g e 3 s - > a : { b . k . n . n } a b a b S e r v e r K e y ( a ) { a . k } a b S e r v e r K e y ( b ) M e s s a g e 4 a - > b : { a . k } . { n } a b S e r v e r K e y ( b ) b k a b
Y a h a l o m P r o t o c o l S { b.k ab .n a .n b } ServerKey(a). b.{ a.n a .n b } ServerKey(b) { a.k ab } ServerKey(b) a.n a A B { a.kab} ServerKey(b).{n b } k ab
# F r e e V a r i a b l e s A , B : A g e n t S : S e r v e r n a , n b: N o n c e S K e y : A g e n t - >S e r v e r K e y k a b: S e s s i o n K e y I n v e r s e K e y s= ( S K e y , S K e y ) , ( k a b , k a b )
# P r o c e s s e s I N I T I A T O R ( A , n a ) k n o w s S K e y ( A ) R E S P O N D E R ( B , S , n b ) k n o w sS K e y ( B ) S E R V E R ( S , k a b ) k n o w s S K e y
# P r o t o c o l d e s c r i p t i o n 0 . - > A : B 1 . A - > B : n a 2 . B - > S : { A , n a , n b } { S K e y ( B ) } 3 a . S - > A : { B , k a b , n a , n b } { S K e y ( A ) } 3 b . S - > A : { A , k a b } { S K e y ( B ) } % e n c 4 a . A - > B : e n c % { A , k a b } { S K e y ( B ) } 4 b . A - > B : { n b } { k a b }
# S p e c i f i c a t i o n A g r e e me n t ( B , A , [ n a ] ) A g r e e me n t ( A , B , [ n a ] )
# A c t u a l v a r i a b l e s A l i c e , B o b , M a l l o r y : A g e n t S a m : S e r v e r N a , N b: N o n c e K a b: S e s s i o n K e y I n v e r s e K e y s= ( K a b , K a b )
# I n l i n e f u n c t i o n s � s y mb o l i cS K e y
# S y s t e m I N I T I A T O R ( A l i c e , N a ) R E S P O N D E R ( B o b , S a m, N b ) S E R V E R ( S a m, K a b )
A u t h e n t i c a t i o n � T h e C S P a p p r o a c h i s b a s e d o n i n s e r t i n g s i g n a l s : � R u n n i n g . a . b ( i n a ’ s p r o t o c o l ) • A g e n t ai s e x e c u t i n g a p r o t o c o l r u n a p p a r e n t l y w i t h b � C o mmi t . b . a ( i n b ’ sp r o t o c o l ) • A g e n t bh a s c o mp l e t e d a p r o t o c o l r u n a p p a r e n t l y w i t h a � A u t h e n t i c a t i o n i s a c h i e v e di f R u n n i n g . a . b a l w a y s p r e c e d e s C o mmi t . b . a i n t h e t r a c e s o f t h e s y s t e m � We a k e r o r s t r o n g e r f o r ms o f a u t h e n t i c a t i o n c a n b e a c h i e v e d b y v a r i a t i o n s o f t h e p a r a me t e r s o f t h e s e s i g n a l s a n d t h e c o n s t r a i n t s o n t h e m
Recommend
More recommend