Deduction with XOR Constraints in Security API Modelling Graham - - PowerPoint PPT Presentation

▶
deduction with xor constraints in security api modelling
SMART_READER_LITE
LIVE PREVIEW

Deduction with XOR Constraints in Security API Modelling Graham - - PowerPoint PPT Presentation

Deduction with XOR Constraints in Security API Modelling Graham Steel V I N E U R S E I H T Y T O H F G R E U D B I N 1 Automated Teller Machines ATM Maestro UK Hansabank HSBC Graham Steel XOR and Security APIs


slide-1
SLIDE 1

Deduction with XOR Constraints in Security API Modelling

Graham Steel

T H E U N I V E R S I T Y O F E D I N B U R G H

slide-2
SLIDE 2

1

Automated Teller Machines

ATM Maestro UK Hansabank HSBC

Graham Steel XOR and Security APIs July 19, 2005

slide-3
SLIDE 3

2

Hardware Security Modules

Graham Steel XOR and Security APIs July 19, 2005

slide-4
SLIDE 4

3

IBM 4758 - Control Vectors

Mechanism to support many types of key: ‘role based access’ Keys stored outside box encrypted under master key XOR control vector E.g. data keys

✁

d1

✂ ✁

km

✄

data

Encrypt Data: Host

☎

HSM :

✁

d1

✂ ✁

km

✄

data, message

HSM

☎

Host :

✁

message

✂ ✁

d1

Graham Steel XOR and Security APIs July 19, 2005

slide-5
SLIDE 5

4

Importing Key Parts

‘Separation of duty’ Typically used to import a ‘key encrypting key’ (kek) Key kek = k1

  • k2

Host

☎

HSM : k1, TYPE HSM

☎

Host :

✁

k1

✂ ✁

km

✄

kp

✄

TYPE

Host

☎

HSM :

✁

k1

✂ ✁

km

✄

kp

✄

TYPE, k2, TYPE

HSM

☎

Host :

✁

k1

  • k2
✂ ✁

km

✄

TYPE

Graham Steel XOR and Security APIs July 19, 2005

slide-6
SLIDE 6

5

Importing Encrypted Keys

Exported from another 4758 under KEK

  • TYPE

First import KEK, obtaining

✁

KEK

✂ ✁

km

✄

imp

Host

☎

HSM :

✁

KEY1

✂ ✁

KEK

✄

TYPE, TYPE,

✁

KEK

✂ ✁

km

✄

imp

HSM

☎

Host :

✁

KEY1

✂ ✁

km

✄

TYPE

Graham Steel XOR and Security APIs July 19, 2005

slide-7
SLIDE 7

6

Attack (Bond, 2001)

PIN derivation key:

✁

pdk

✂ ✁

kek

✄

pin

Have key part

✁

kek

  • k3
✂ ✁

km

✄

imp

✄

kp for known k3

Host

☎

HSM :

✁

kek

  • k3
✂ ✁

km

✄

kp

✄

imp, k3

  • pin
  • data, imp

HSM

☎

Host :

✁

kek

  • pin
  • data
✂ ✁

km

✄

imp

Graham Steel XOR and Security APIs July 19, 2005

slide-8
SLIDE 8

7

Attack (Bond, 2001) (part 2)

Key Import Host

☎

HSM :

✁

pdk

✂ ✁

kek

✄

pin, data,

✁

kek

  • pin
  • data
✂ ✁

km

✄

imp

HSM

☎

Host :

✁

pdk

✂ ✁

km

✄

data

Encrypt data Host

☎

HSM :

✁

pdk

✂ ✁

km

✄

data, pan

HSM

☎

Host :

✁

pan

✂ ✁

pdk (= PIN!)

Graham Steel XOR and Security APIs July 19, 2005

slide-9
SLIDE 9

8

Formal Modelling

HSMs are ‘stateless’

P

  • x
✁

if x is ‘public’ - i.e. outside HSM One clause for each command Host

☎

HSM :

✁

d1

✂ ✁

km

✄

data, message

HSM

☎

Host :

✁

message

✂ ✁

d1

P

  • Msg
✁ ✂

P

  • crypt
  • km
  • data
✄

D1

✁ ✁ ☎

P

  • crypt
  • D1
✄

Msg

✁ ✁

Graham Steel XOR and Security APIs July 19, 2005

slide-10
SLIDE 10

9

The Problem with XOR P

  • x
✁ ✂

P

  • y
✁ ☎

P

  • x
  • y
✁

Associativity and Commutativity Self-Inverse (a

  • b
  • a
  • b)

Graham Steel XOR and Security APIs July 19, 2005

slide-11
SLIDE 11

10

XOR constraints

Host

☎

HSM :

✁

KEY1

✂ ✁

KEK

✄

TYPE, TYPE,

✁

KEK

✂ ✁

km

✄

imp

HSM

☎

Host :

✁

KEY1

✂ ✁

km

✄

TYPE

P

  • crypt
  • X
✄

Key

✁ ✁ ✂

P

  • Type
✁ ✂

P

  • crypt
  • km
  • imp
✄

Kek

✁ ✁ ☎

P

  • crypt
  • km
  • Type
✄

decrypt

  • Kek
  • Type
✄

crypt

  • X
✄

Key

✁ ✁ ✁ ✁✁ ☎

decrypt

  • K
✄

crypt

  • K
✄

X

✁ ✁ ✂

X

  • P
  • crypt
  • X
✄

Key

✁ ✁ ✂

P

  • Type
✁ ✂

P

  • crypt
  • km
  • imp
✄

Kek

✁ ✁ ☎

P

  • crypt
  • km
  • Type
✄

Key

✁ ✁

IF Kek

  • Type
✂

xor X

  • Graham Steel

XOR and Security APIs July 19, 2005

slide-12
SLIDE 12

11

Checking Solubility

Permit only inferences which leave soluble constraints Check: If there are any variables at XOR positions, it is soluble Otherwise count up all terms. If there are an even number of each term, it is soluble. If not, insoluble. Store in normal form

x1

  • xn
✂

t1

  • tn

Graham Steel XOR and Security APIs July 19, 2005

slide-13
SLIDE 13

12

Subsumption Checking

If C1 subsumes C2 without consideration of XOR constraints, then it is a valid subsumer iff:

  • 1. C1 has no XOR constraint
  • r
  • 2. C1 and C2 have the same XOR constraints after substitutions applied

Graham Steel XOR and Security APIs July 19, 2005

slide-14
SLIDE 14

13

Results

Implemented in da T ac, [Vigneron, 1994] Bond’s attack shown above Import/Export Attack (also due to Bond) IBM’s own attack Attack on NSPKL variant - Jacquemard et al. model

Graham Steel XOR and Security APIs July 19, 2005

slide-15
SLIDE 15

14

4758 Attack 1

Graham Steel XOR and Security APIs July 19, 2005

slide-16
SLIDE 16

15

Related Work

Security APIs: Longley & Rigby, 1992 - Key management scheme without XOR Ganapathy et al, 2005 - Model checking for fragment of first attack Bond & Clulow - Work in progress on first-order model Protocols with XOR: Chevalier et al. , Comon-Shmatikov, 2003 - Insecurity shown decidable (bounded runs, NP). Basin, M¨

  • dersheim, Vigan`
  • , 2005 - General framework for OFMC

(unimplemented)

Graham Steel XOR and Security APIs July 19, 2005

slide-17
SLIDE 17

16

Further Work

Improve solving of final XOR constraint Look at new APIs for novel attacks Comparison to (special purpose) model checking PIN Block format analysis

Graham Steel XOR and Security APIs July 19, 2005

slide-18
SLIDE 18

17

Conclusions

XOR constraints considerably improve reasoning capabilities of a FOTP when dealing with bitwise XOR Allow implicit encryption model to be used Allow forward, backward and mixed strategies Reduce explicit construction of terms by XOR http://dream.inf.ed.ac.uk/projects/aascs/

Graham Steel XOR and Security APIs July 19, 2005