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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend