secure upgrade of hardware security modules
play

Secure upgrade of hardware security modules in bank networks - PowerPoint PPT Presentation

Secure upgrade of hardware security modules in bank networks Riccardo Focardi 1 Flaminia Luccio 1 1 Universit` a Ca Foscari di Venezia, Italy { focardi,luccio } @dsi.unive.it ARSPA-WITS10 Paphos, Cyprus March 27-28, 2010 Work


  1. Secure upgrade of hardware security modules in bank networks ∗ Riccardo Focardi 1 Flaminia Luccio 1 1 Universit` a Ca’ Foscari di Venezia, Italy { focardi,luccio } @dsi.unive.it ARSPA-WITS’10 Paphos, Cyprus March 27-28, 2010 ∗ Work partially supported by: Miur’07 Project SOFT: “ Security Oriented Formal Techniques ” ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 1 / 17

  2. PIN processing APIs Overview PIN processing infrastructure ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 2 / 17

  3. PIN processing APIs Overview PIN processing infrastructure PIN ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 2 / 17

  4. PIN processing APIs Overview PIN processing infrastructure Accept Refuse PIN PIN PIN PIN PIN ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 2 / 17

  5. PIN processing APIs Overview PIN processing infrastructure Accept Refuse { PIN } k 2 { PIN } k 4 PIN PIN { PIN } k 1 PIN PIN { PIN } k 3 PIN ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 2 / 17

  6. PIN processing APIs Overview PIN processing infrastructure Accept Refuse { PIN } k 2 { PIN } k 4 { PIN } k 1 PIN { PIN } k 3 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 2 / 17

  7. PIN processing APIs Overview Hardware Security Module (HSM) Tamper resistant Security API for Managing cryptographic keys Decrypting/re-encrypting the PIN Checking the validity of the PIN ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 3 / 17

  8. PIN processing APIs Overview Hardware Security Module (HSM) Tamper resistant Security API for Managing cryptographic keys Decrypting/re-encrypting the PIN Checking the validity of the PIN ... but still, attacks are possible ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 3 / 17

  9. PIN processing APIs Overview Hardware Security Module (HSM) Tamper resistant Security API for Managing cryptographic keys Decrypting/re-encrypting the PIN Checking the validity of the PIN ... but still, attacks are possible Our goal: propose ‘cheap’ HSM upgrading strategies 1 securing subnetworks while keeping service up 2 trade-off between hardware and manpower cost ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 3 / 17

  10. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  11. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  12. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  13. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  14. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  15. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  16. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  17. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ⊕ 4732 mod 10 = 4104 ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  18. PIN processing APIs An attack on PIN verification The PIN verification API Encrypted PIN Block : contains the PIN at the ATM PIN V( EPB , vdata,len,dectab,offset ) Data for computing the user PIN Returns the equality of the two PINs Example: PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ⊕ 4732 mod 10 = 4104 3 The two values coincide: PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 4 / 17

  19. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ⊕ 4732 mod 10 = 4104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  20. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,0123456789012345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ⊕ 4732 mod 10 = 4104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  21. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,1123456789112345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ⊕ 4732 mod 10 = 4104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  22. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,1123456789112345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 0472 ⊕ 4732 mod 10 = 4104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  23. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,1123456789112345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 1472 ⊕ 4732 mod 10 = 4104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  24. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,1123456789112345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 1472 ⊕ 4732 mod 10 = 4104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  25. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,1123456789112345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 1472 ⊕ 4732 mod 10 = 5104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

  26. PIN processing APIs An attack on PIN verification The ‘decimalization’ attack on PIN V [Bond, Zielinski ’03] PIN V( { 4104 , r } k ,vdata,4,1123456789112345,4732) dec k ( { 4104 , r } k ) = 4104 , r 1 4104 enc pdk (vdata) = A 47295 FDE 32 A 48 B 1 2 1472 ⊕ 4732 mod 10 = 5104 3 PIN V returns ‘true’ ARSPA-WITS’10 ()Secure upgrade of HSMs in bank networks 5 / 17

Recommend


More recommend