Crypto Hardware Part 2
Transcription
Crypto Hardware Part 2
© Crypto Hardware on z Systems - Part 2 Greg Boyd [email protected] www.mainframecrypto.com zExchange – Crypto Hardware Part 2 May 2015 © Agenda • Crypto Hardware - Part 1 • • • • A refresher A little bit of history Some hardware terminology CPACF • Crypto Hardware – Part 2 • A couple of refresher slides • Crypto Express Cards • HMC Slides May 2015 zExchange – Crypto Hardware Part 2 Page 2 © Crypto Functions • Data Confidentiality • Symmetric – DES/TDES, AES • Asymmetric – RSA,Diffie-Hellman, ECC • Data Integrity • Modification Detection • Message Authentication • Non-repudiation • Financial Functions • Key Security & Integrity May 2015 zExchange – Crypto Hardware Part 2 Page 3 © Clear Key / Secure Key / Protected Key • Clear Key – key may be in the clear, at least briefly, somewhere in the environment • Secure Key – key value does not exist in the clear outside of the HSM (secure, tamper-resistant boundary of the card) • Protected Key – key value does not exist outside of physical hardware, although the hardware may not be tamper-resistant May 2015 zExchange – Crypto Hardware Part 2 Page 4 © CPACF Machines (z890/z990 & later) • CP Assist for Cryptographic Function (CPACF) • Peripheral Component Interconnect (PCI Cards) I/O Cage or I/O Drawer PCIXCC CEC Cage Memory STI MBA CP CPACF CP CPACF CP CP Crypto Expressn Crypto Expressn1P CPACF CPACF FICON May 2015 zExchange – Crypto Hardware Part 2 Page 5 © PCI Cards • 4758 – PCICC, PCICA • DES/TDES, RSA, RNG • 4764 – PCIXCC, Crypto Express2 • DES/TDES, AES, RSA, SHA-1, RSA, DSA, RNG • 4765 – Crypto Express3, Crypto Express4S • DES/TDES, AES, RSA, SHA-1, SHA-224, SHA-512, RSA, DSA, ECC, HMAC, RNG • 4767 – Crypto Express5S • Not formally announced yet • FPE May 2015 zExchange – Crypto Hardware Part 2 Page 6 © 4765 Coprocessor Integrated/Duplicate Processors 2 boards Reliably runs Common Crypto Arch (CCA) CPU FLASH SP SP CPU CPU DRAM CPU Tamper Detection Otello +AES Core Functions DRAM Otello +RSA RTC BBRAM I/F Logic Secure Boundary Core +SHA USB New Interface Serial May 2015 PCI express PCI x I/F x4 zExchange – Crypto Hardware Part 2 Interface change to PCI-e Page 7 © Two-engine cards vs Single engine cards 47?? 47?? 47?? PCIXCC, Crypto Expressn Crypto Expressn-1P 4765 Crypto Express4s May 2015 zExchange – Crypto Hardware Part 2 Page 8 © Hardware Security Module (HSM) • Tamper Detection • • • • Removal Temperature Probe Penetration Power Sequencing • Tamper Response • Zeroization of all keys • Permanently inoperable FIPS 140-2 Level 4 May 2015 zExchange – Crypto Hardware Part 2 Page 9 © Crypto Express • • • • • • • • • Coprocessor or Accelerator or PKCS #11 Secure Key DES/TDES Secure Key AES Financial (PIN) Functions Key Generate/Key Management Random Number Generate, Generate Long, Prime Number Generate Protected Key Support (CEX3) RSA & ECC Operations, including SSL Handshakes (CEX3) Secure Key PKCS #11 (CEX4S) Format Preserving Encryption (CEX5S) TechDoc WP100810 – A Synopsis of System z Crypto Hardware May 2015 zExchange – Crypto Hardware Part 2 Page 10 © Crypto Card Modes • Coprocessor • Full CCA Function • Requires master key to be loaded • Supports User Defined Extension (UDX) • Accelerator • Only supports SSL Handshakes (Public Key Encrypt, Public Key Decrypt, Digital Signature Verify) • EP11 (Enterprise PKCS #11) • Only supports PKCS #11 May 2015 zExchange – Crypto Hardware Part 2 Page 11 © Enterprise PKCS #11 (aka OpenCryptoki) or EP11 Mode System SSL IPsec/ IKE PKI SW CPACF Java RACF EF DB2 SW CPACF SW CCA Services CCA Device Driver CPACF PKCS #11 Services CPACF SW Crypto PKCS #11 Device Driver CKDS ICSF TKE PKDS CCA PKCS11 TKDS Request routing Request routing CCA Verbs PKCS #11 Verbs Crypto Device Drivers Crypto Device Drivers CryptoExpress4S (CEX4C) CryptoExpress4S (CEX4P) Secure Key Material Clear Key Material EP11 enables Secure Key PKCS #11 May 2015 zExchange – Crypto Hardware Part 2 Page 12 12 © Cryptographic Feature Identification Cryptographic Feature Prefix for releases prior to HCR77B0 Prefix for HCR77B0 and later releases Crypto Express2 coprocessor E 2C Crypto Express2 accelerator F 2A Crypto Express3 coprocessor G 3C Crypto Express3 accelerator H 3A Crypto Express4 CCA coprocessor SC 4C Crypto Express4 EP11 coprocessor SP 4P Crypto Express4 accelerator SA 4A Crypto Express5 CCA coprocessor N/A 5C Crypto Express5 EP11 coprocessor N/A 5P Crypto Express5 accelerator N/A 5A March 2015 zExchange – IBM z13 and Crypto Page 13 © Master Keys •Stored within the secure hardware boundary of the cryptographic coprocessor •ICSF uses five master keys to protect operational keys • DES Master Key (DES-MK aka SYM-MK) – 16 (or 24) byte key • Protects DES/TDES (symmetric) application keys • AES Master Key (AES-MK) - 256 bit key • Protects AES (symmetric) application keys • Asymmetric-keys master key (RSA-MK aka ASYM-MK) - 192 bit key • Protects RSA (asymmetric) private keys • Elliptic Curve Master Key (ECC-MK) - 256 bit key • Protects ECC (asymmetric) private keys • Enterprise PKCS #11 Master Key (P11-MK) - 256 bit key • Protects PKCS #11 keys May 2015 zExchange – Crypto Hardware Part 2 Page 14 © Nonvolatile Arrays for storing Master Keys • Current – where the master key resides • New – staging area for building a new master key • Old – provides one-back support Current New CKDS DES-MK DES-MK PKDS TKDS May 2015 Old DES-MK Current AES-MK New AES-MK Old AES-MK Current RSA-MK New RSA-MK Current ECC-MK New ECC-MK Old RSA-MK Old ECC-MK Current P11-MK New P11-MK zExchange – Crypto Hardware Part 2 Page 15 © Usage Domains – storage of master keys LPAR & Domain LP1 UD1 LP2 UD2 DES Master Key RSA Master Key ABC XYZ (MKVP=E957) (Hash=DD20) LP2KEY PKAMST (MKVP=AB51) (Hash=5D01) AES MK ECC MK P11 MK … … … CKDS1 &24 PKDS1 &24 MKVP E957 Hash DD20 CKDS 2 PKDS 2 … … … … … … MKVP AB51 Hash 5D01 LP3 LP24 UD24 ABC XYZ (MKVP=E957) (Hash=DD20) JKL LP5 May 2015 DD20 (VP= 47CC) … LP85 UD85 TKDS5 VP LP16KY AKEY (MKVP=15D7) (MKVP=93A2) … zExchange – Crypto Hardware Part 2 … … CKDS 85 PKDS 85 MKVP 15D7 Hash 93A2 Page 16 © User Defined eXtension • Extends the functionality of IBM’s CCA (Common Cryptographic Architecture) application program • Customized cryptographic verb controls per customer • UDX interfaces using HW control blocks and ICSF control blocks, therefore if hardware platform changes or ISCF level changes or both, then the UDX must be updated for the new control blocks • On System z, IBM will develop the UDX to your specs • Must be integrated in and work with ICSF May 2015 zExchange – Crypto Hardware Part 2 Page 17 © Assigning Crypto to the LPAR May 2015 zExchange – Crypto Hardware Part 2 Page 18 © View LPAR Crypto Controls May 2015 zExchange – Crypto Hardware Part 2 Page 19 © Cryptographic Management May 2015 zExchange – Crypto Hardware Part 2 Page 20 © Crypto Configuration May 2015 zExchange – Crypto Hardware Part 2 Page 21 © View Details May 2015 zExchange – Crypto Hardware Part 2 Page 22 © Crypto Reconfig May 2015 zExchange – Crypto Hardware Part 2 Page 23 © APIs and Hardware HCR77B0 APIs (from ICSF Application Programmer's Guide SC14-7508-03) CPACF 19 11 PCI 30 ICSF Only (No Hardware) 94 April 2015 zExchange – Crypto Hardware Part 1 PKCS #11 Page 24 © IBM Resources (on the web) • Redbooks – www.redbooks.ibm.com (search on ‘crypto’) • SG24-8260 IBM z13 Configuration Setup • SG24-8251 IBM z13 Technical Guide • SG24-8250 IBM z13 Technical Introduction • ATS TechDocs Website – www.ibm.com/support/techdocs (search on ‘crypto’) • WP100810 – A Synopsis of System z Crypto Hardware • IBM Manuals • z/Architecture Principles of Operations, SA22-7832 • ICSF Application Programmer’s Guide, SC14-7508 April 2015 zExchange – Crypto Hardware Part 1 Page 25 © Secure Key Crypto – Information & Download • Crypto Card – CryptoExpress3/ CryptoExpress4S • ibm.com/security/cryptocards/pciecc/overview.shtml • Programmer’s Guide ibm.com/security/cryptocards/pciecc/library.shtml • CCA Basic Services Reference and Guide for the IBM 4765 PCIe and IBM 4764 PCI-X Cryptographic Coprocessors ibm.com/security/cryptocards/pciecc/pdf/bs_latest_edition.pdf May 2015 zExchange – Crypto Hardware Part 2 Page 26 © A Couple of other things • FIPS 140-2 • Security Requirements for Cryptographic Modules (http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf) • Module Validation List (http://csrc.nist.gov/groups/STM/cmvp/validation.html) • AES • FIPS 197 Announcing the AES (http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf) • DES • FIPS 46-3 Data Encryption Standard - Withdrawn (http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf) • SP800-67 Recommendation for the Triple DEA Block Cipher (http://csrc.nist.gov/publications/nistpubs/800-67-Rev1/SP-800-67Rev1.pdf) May 2015 zExchange – Crypto Hardware Part 2 Page 27 © Questions? May 2015 zExchange – Crypto Hardware Part 2 Page 28