C S P , C a s p e r a n d S e c u r i t y V e - - PowerPoint PPT Presentation

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
SMART_READER_LITE
LIVE PREVIEW

C S P , C a s p e r a n d S e c u r i t y V e - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

고려대학교 정형기법 연구실

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

  • n

김 일 곤 2 3 . 8 . 2

slide-2
SLIDE 2

S e c u r i t y

S

e c u r i t y : C

  • 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

  • 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

  • n

t r

  • l

M

  • d

e l , I n f

  • r

ma t i

  • n

F l

  • w

M

  • d

e l

2

. S e c u r i t y P r

  • t
  • c
  • l

S S H , K e r b e r

  • s

, R A D I U S a n d e t c

slide-3
SLIDE 3

F

  • r

ma l A p p r

  • a

c h

T

h e

  • r

e m P r

  • v

i n g

  • B

A N , G N Y , S V O l

  • g

i c

M

  • 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

  • r

y

  • P

C C ( P r

  • f

C a r r y i n g C

  • d

e )

G

l

  • b

a l C

  • mp

u t i n g

  • s

p i c a l c u l u s

slide-4
SLIDE 4

P r

  • c

e s s A l g e b r a a n d C S P

P

r

  • c

e s s A l g e b r a

a

f

  • r

ma l d e s c r i p t i

  • n

t e c h n i q u e t

  • c
  • mp

l e x c

  • mp

u t e r s y s t e ms , e s p e c i a l l y t h

  • s

e i n v

  • l

v i n g c

  • mmu

n i c a t i

  • n

, c

  • n

c u r r e n t l y e x e c u t i n g c

  • mp
  • n

e n t s

C

S P ( C

  • mmu

n i c a t i n g S e q u e n t i a l P r

  • c

e s s e s )

I

t i s a p r

  • c

e s s s p e c i f i c a t i

  • n

l a n g u a g e d e s i g n e d b y C . A . R . H

  • a

r e , a t t h e U n i v e r s i t y

  • f

O x f

  • r

d d u r i n g t h e 1 9 8 s

A

f

  • r

ma l n

  • t

a t i

  • n

i n w h i c h t h e c

  • mp

u t a t i

  • n

s

  • f

c

  • n

c u r r e n t p r

  • c

e s s e s c

  • mmu

n i c a t i n g b y c h a n n e l c a n b e c

  • 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 .

slide-5
SLIDE 5

C a s p e r

  • C

a s p e r ( A C

  • mp

i l e r f

  • r

t h e A n a l y s i s

  • f

S e c u r i t y P r

  • t
  • c
  • l

s )

  • C

S P d e s c r i p t i

  • n
  • f

t h e s y s t e m i s

1 . v

e r y t i me

  • c
  • n

s u mi n g

2 . o

n l y p

  • s

s i b l e f

  • r

p e

  • p

l e w e l l p r a c t i c e d i n C S P

2 . e

v e n t h e e x p e r t s w i l l

  • f

t e n ma k e mi s t a k e s t h a t p r

  • v

e h a r d t

  • s

p

  • t

※ C a s p e r s i mp l i f i e s t h i s p r

  • c

e s s .

slide-6
SLIDE 6

C a s p e r a n d C S P / F D R

Casper

CSP Modeling

FDR Verification

S e c u r i t y P r

  • t
  • c
  • l

S p e c

  • f

S e c u r i t y P r

  • t
  • c
  • l

S p e c

  • f

I n t r u d e r

I n t r u d e r

slide-7
SLIDE 7

C S P Mo d e l i n g

Intiator Responder Server Intruder

take.Alice.y fake.x.Bob send receive learn say receive receive send send

Initiator | | | Responder | | | Server | | | Intruder

leak

slide-8
SLIDE 8

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

  • 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

slide-9
SLIDE 9

R e f i n e me n t C h e c k i n g

Specification Implementation trace (Implementation) trace (Specification) refinement

slide-10
SLIDE 10

T r a c e s

  • f

a P r

  • c

e s s

A

t r a c e

  • f

a p r

  • c

e s s i s a f i n i t e s e q u e n c e

  • 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

  • u

r

  • f

t h e p r

  • c

e s s u p t

  • a

c e r t a i n p

  • 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

  • i

n

  • >

S T O P ) = { < > , < c

  • 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

slide-11
SLIDE 11

S e c r e c y a n d A u t h e n t i c a t i

  • n

T

h e y a r e b

  • t

h s a f e t y p r

  • 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

  • u

l d n

  • t

h a p p e n

S

e c r e c y : I n f

  • r

ma t i

  • n

m h a s n

  • t

b e c

  • me

k n

  • w

n t

  • t

h e i n t r u d e r

  • A

u t h e n t i c a t i

  • n

: T h e ma t c h i n g

  • f

t h e s e t w

  • 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

  • f

Aa n d B

slide-12
SLIDE 12

A u t h e n t i c a t i

  • n

P r

  • p

e r t y

B

I nt r

A

Commit wit h B Run wit h A

slide-13
SLIDE 13

E x a mp l e : T h e Y a h a l

  • m

P r

  • t
  • c
  • l

T

h e p r

  • t
  • c
  • 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

a

. n

b

}

S e r v e r K e y ( b )

M e s s a g e 3 s

  • >

a : { b . k

a b

. n

a

. n

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

a b

}

S e r v e r K e y ( b )

. { n

b

}

k a b

slide-14
SLIDE 14

Y a h a l

  • m P

r

  • t
  • c
  • l

S A B a.na b.{ a.na.nb} ServerKey(b) { b.kab.na.nb} ServerKey(a). { a.kab} ServerKey(b) { a.kab} ServerKey(b).{nb} kab

slide-15
SLIDE 15

# 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

  • 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

  • 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 )

slide-16
SLIDE 16

# P r

  • c

e s s e s

I N I T I A T O R ( A , n a ) k n

  • w

s S K e y ( A ) R E S P O N D E R ( B , S , n b ) k n

  • w

sS K e y ( B ) S E R V E R ( S , k a b ) k n

  • w

s S K e y

slide-17
SLIDE 17

# P r

  • t
  • c
  • l

d e s c r i p t i

  • n

.

  • >

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 }

slide-18
SLIDE 18

# S p e c i f i c a t i

  • 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 ] )

slide-19
SLIDE 19

# A c t u a l v a r i a b l e s

A l i c e , B

  • b

, M a l l

  • r

y : A g e n t S a m : S e r v e r N a , N b: N

  • n

c e K a b: S e s s i

  • n

K e y I n v e r s e K e y s= ( K a b , K a b )

slide-20
SLIDE 20

# I n l i n e f u n c t i

  • n

s

s

y mb

  • l

i cS K e y

slide-21
SLIDE 21

# 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

  • b

, S a m, N b ) S E R V E R ( S a m, K a b )

slide-22
SLIDE 22

A u t h e n t i c a t i

  • n

T

h e C S P a p p r

  • a

c h i s b a s e d

  • 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

  • t
  • c
  • l

)

  • A

g e n t ai s e x e c u t i n g a p r

  • t
  • c
  • l

r u n a p p a r e n t l y w i t h b

C

  • mmi

t . b . a ( i n b ’sp r

  • t
  • c
  • l

)

  • A

g e n t bh a s c

  • mp

l e t e d a p r

  • t
  • c
  • 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

  • n

i s a c h i e v e di f R u n n i n g . a . ba l w a y s p r e c e d e s C

  • mmi

t . b . ai n t h e t r a c e s

  • f

t h e s y s t e m

We

a k e r

  • r

s t r

  • n

g e r f

  • r

ms

  • f

a u t h e n t i c a t i

  • n

c a n b e a c h i e v e d b y v a r i a t i

  • n

s

  • f

t h e p a r a me t e r s

  • f

t h e s e s i g n a l s a n d t h e c

  • n

s t r a i n t s

  • n

t h e m

slide-23
SLIDE 23

A u t h e n t i c a t i

  • n

i n t h e Y a h a l

  • m

P r

  • t
  • c
  • l

T

h e Y a h a l

  • m P

r

  • t
  • c
  • l

a i ms a t p r

  • v

i d i n g a u t h e n t i c a t i

  • n
  • f

b

  • t

h p a r t i e s : a u t h e n t i c a t i

  • n
  • f

t h e i n i t i a t

  • r

t

  • t

h e r e s p

  • n

d e r , a n d v i c e v e r s a

We

w i l l a n a l y z e t h e t w

  • a

u t h e n t i c a t i

  • n

p r

  • p

e r t i e s s e p a r a t e l y

T

h i s r e q u i r e s t w

  • s

e p a r a t e e n h a n c e me n t s

  • f

t h e p r

  • t
  • c
  • l
slide-24
SLIDE 24

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

i n i t i a t

  • r

C

S P d e s c r i p t i

  • n
  • f

t h e t w

  • p

a r t i e s

  • E

n h a n c e d

I n i t i a t

  • r

’( a , n

a)

=

e n v ? b : A g e n t s e n d . a . b . a . n

a

[ ]( r e c e i v e . J . a { b . k

a b

. n

a

. n

b

}

S e r v e r K e y ( a )

. m

k a bε K e y

s i g n a l . R u n n i n g _ I n i t i a t

  • r

. a . b . n

a .

n

b .

k

a b n bε N

  • n

c e

s e n d . a . b . m. { n

b

}

k a b m ε T

S e s s i

  • n

( a , b , k

a b

, n

a

, n

b

) )

R e s p

  • n

d e r ’( b , n

b)

=

[ ]( r e c e i v e . a . b . a . n

a s

e n d . b . J . b . { a . n

a

. n

b

}

S e r v e r K e y ( b ) k a bε K e y

r e c e i v e . a . b . { a . k

a b

}

S e r v e r K e y ( b )

. { n

b

}

k a b n bε N

  • n

c e

s i g n a l . C

  • mmi

t _ R e s p

  • n

d e r . b . a . n

a .

n

b .

k

a b m ε T

S e s s i

  • n

( b , a , k

a b

, n

a

, n

b

) )

slide-25
SLIDE 25

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

i n i t i a t

  • r

Initiatora Responderb Server

a.na b.{a.na.nb}ServerKey(b) {b.kab.na.nb}ServerKey(a) {a.kab}ServerKey(b) {a.kab}ServerKey(b) .{nb}kab Com_Resp.b.a.na.nb.kab Run_I nit .a.b.na.nb.kab

slide-26
SLIDE 26

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

i n i t i a t

  • r

T

h e p r

  • p

e r t y t

  • b

e v e r i f i e d :

s i g n a l . R u n n i n g _ I n i t i a t

  • r

. a . b . n

a .

n

b .

k

a b

p r e c e d e s s i g n a l . C

  • mmi

t _ R e s p

  • n

d e r . b . a . n

a .

n

b .

k

a b

i n a l l t h e T r a c e s ( S y s t e m)

A

g a i n , t h i s p r

  • p

e r t y c a n b e v e r i f i e d a u t

  • ma

t i c a l l y b y c h e c k i n g t h e t r a c e s

slide-27
SLIDE 27

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

i n i t i a t

  • r

S p e c i f i c a t i

  • n

A u t h e n t i c a t e I N I T I A T O R T

  • R

E S P O N D E R A g r e e me n t

_ n a ( A ) = s i g n a l . R u n n i n g 2 . I N I T I A T O R _ r

  • l

e . A ? B ? n a- > s i g n a l . C

  • mmi

t 2 . R E S P O N D E R _ r

  • l

e . B . A . n a- > S T O P

S y s t e m

S Y S T E M _ = ( A G E N T _ A l i c e [ | i n t e r ( A l p h a _ A l i c e , u n i

  • n

( A l p h a _ B

  • b

, A l p h a _ S a m) ) | ] ( A G E N T _ B

  • b

[ | i n t e r ( A l p h a _ B

  • b

, A l p h a _ S a m) | ] A G E N T _ S a m) ) S Y S T E M = S Y S T E M _ [ | { | c

  • mm

, f a k e , i n t e r c e p t | } | ] I N T R U D E R

V e r i f i c a t i

  • n

A s s e r t S p e c i f i c a t i

  • n

[ T = S y s t e m

slide-28
SLIDE 28

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

r e s p

  • n

d e r

C

S P d e s c r i p t i

  • n
  • f

t h e t w

  • p

a r t i e s

  • E

n h a n c e d

I n i t i a t

  • r

’( a , n

a)

=

e n v ? b : A g e n t s e n d . a . b . a . n

a

[ ]( r e c e i v e . J . a { b . k

a b

. n

a

. n

b

}

S e r v e r K e y ( a )

. m

k a bε K e y

s e n d . a . b . m. { n

b

}

k a b n bε N

  • n

c e

  • s

i g n a l . C

  • mmi

t _ I n i t i a t

  • r

. a . b . n

a .

n

b .

k

a b m ε T

S e s s i

  • n

( a , b , k

a b

, n

a

, n

b

) )

R e s p

  • n

d e r ’( b , n

b)

=

[ ]( r e c e i v e . a . b . a . n

a s

e n d . b . J . b . { a . n

a

. n

b

}

S e r v e r K e y ( b ) k a bε K e y

s i g n a l . R u n n i n g _ R e s p

  • n

d e r . b . a . n

a .

n

b n bε N

  • n

c e

r e c e i v e . a . b . { a . k

a b

}

S e r v e r K e y ( b )

. { n

b

}

k a b m ε T

S e s s i

  • n

( b , a , k

a b

, n

a

, n

b

) )

slide-29
SLIDE 29

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

r e s p

  • n

d e r

Initiatora Responderb Server

a.na b.{a.na.nb}ServerKey(b) {b.kab.na.nb}ServerKey(a) {a.kab}ServerKey(b) {a.kab}ServerKey(b) .{nb}kab Run_Resp.b.a.na.nb. Run_I nit .a.b.na.nb.kab

slide-30
SLIDE 30

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

r e s p

  • n

d e r

T

h e p r

  • p

e r t y t

  • b

e v e r i f i e d :

s i g n a l . R u n n i n g _ R e s p

  • n

d e r . b . a . n

a .

n

b

p r e c e d e s s i g n a l . C

  • mmi

t _ I n i t i a t

  • r

. a . b . n

a .

n

b .

k

a b

i n a l l t h e T r a c e s ( S y s t e m)

A

g a i n , t h i s p r

  • p

e r t y c a n b e v e r i f i e d a u t

  • ma

t i c a l l y b y c h e c k i n g t h e t r a c e s

slide-31
SLIDE 31

Y a h a l

  • m:

a u t h e n t i c a t i

  • n
  • f

r e s p

  • n

d e r

S p e c i f i c a t i

  • n

A u t h e n t i c a t e R E S P O N D E R T

  • I

N I T I A T O R A g r e e me n t _ n a ( B ) =

s i g n a l . R u n n i n g 1 . R E S P O N D E R _ r

  • l

e . B ? A ? n a- > s i g n a l . C

  • mmi

t 1 . I N I T I A T O R _ r

  • l

e . A . B . n a- > S T O P

S y s t e m

S Y S T E M _ = ( A G E N T _ A l i c e [ | i n t e r ( A l p h a _ A l i c e , u n i

  • n

( A l p h a _ B

  • b

, A l p h a _ S a m) ) | ] ( A G E N T _ B

  • b

[ | i n t e r ( A l p h a _ B

  • b

, A l p h a _ S a m) | ] A G E N T _ S a m) ) S Y S T E M = S Y S T E M _ [ | { | c

  • mm

, f a k e , i n t e r c e p t | } | ] I N T R U D E R

V e r i f i c a t i

  • n

A s s e r t S p e c i f i c a t i

  • n

[ T = S y s t e m