Encryption and Key Management
Arshad Noor, CTO
StrongAuth, Inc
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 1
I. Introduction
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 2
Who is StrongAuth?
Cupertino CA-based private company
Founded in 2001
Focused on Architecture, Design, Development &
Support of:
− Enterprise Key Management
Public Key Infrastructure (PKI)
Symmetric Key Management System (SKMS)
Customers in many sectors
− Finance, Pharmaceutical, Medical Devices, e-Commerce,
Entertainment, Retail, BPO Services, Manufacturing
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 3
Why bother listening to me?
30+ years of work-experience
− 6 years on the Business side
− 24+ in Information Technology
10+ in Cryptographic Key Management
Designer, lead-developer of StrongKey – the
industry's first, open-source, Symmetric Key
Management System (2006)
Designer, lead-developer of the StrongKey Lite
Encryption System – the industry's lowest cost
encryption & KM appliance (2010)
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 4
II. Some Definitions
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 5
Encryption
− A reversible cryptographic operation that transforms
meaningful “plaintext” to illegible “ciphertext”
Tokenization
− A reversible operation that substitutes meaningful
“plaintext” to meaningless “plaintext”
Hashing
− An irreversible cryptographic operation that transforms
meaningful “plaintext” to an illegible message-digest
(hash)
Key Management
− The life-cycle operations associated with the secure
creation, use, management, distribution and destruction of
cryptographic keys
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 6
Symmetric Encryption
The process of transforming plaintext to
ciphertext, and vice-versa, using the same
encryption/decryption key
You must be the change you
want to see in the world.
M.K. Gandhi
Encryption
+ eaf0f527e6b4cfe52e8
+ Decryption
50333904b5042a5c0e88a9b
74211b67ee3aabb91874440
5799b30d611010824e6c0fd
81faa34e245
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 7
Symmetric Encryption
Shared key for encryption and decryption
Faster
Unlimited size for plaintext
− Typically used to encrypt bulk data
Data Encryption Standard (DES) – 56-bit
Triple-Data Encryption Standard (3DES)
− 112 and 168-bit
Advanced Encryption System (AES)
− 128, 192 and 256-bit
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 8
Asymmetric Encryption
The process of transforming plaintext to
ciphertext, and vice-versa, using two
different keys
You must be the change you
want to see in the world.
M.K. Gandhi
Encryption
+ xu5wdjau08gs eaf6b4cfe52e8
+ Decryption
50333904b5042a5c0e88a9b
74211b67ee3aabb91874440
5799b30d611010824e6c0fd
81faa34e245ksydx98dddkyl
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 9
Asymmetric Encryption
Different keys for encryption & decryption
Slower
Limited size for plaintext
− Less than the size of the key
− Used to encrypt symmetric keys & hashes
Rivest-Shamir-Adelman (RSA)
− 512 to 8192-bits
− 2048-bits recommended for 2010 deployments
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 10
Message Digest (Hash)
The object created by the process of
transforming data to a fixed-size cryptographic
value using a one-way transformation process
You must be the change you
want to see in the world.
M.K. Gandhi
Hashing
50333904b5042a5c0e88a9b
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 11
Message Digest (Hash)
No key is involved – just an algorithm
Unlimited size data
Typically used to verify the integrity of a file
Message Digest 5 (MD5) – Broken!!
− 128-bit fixed size
Secure Hashing Algorithm – (SHA)
− SHA1: 160-bit (Avoid, if possible)
− SHA-256, SHA-384 and SHA-512
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 12
Tokenization
The process of substituting a like-value for
plaintext without the use of cryptography
1234 5678 9012 3456
9999 0000 0000 5678
123-45-6789
800-00-0123
123456789 98765432
100000000 00001234
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 13
III. Cryptography Pitfalls
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 14
Cryptography pitfalls-1
Storing symmetric key in a file, registry-entry,
database record – somewhere on the system
Encrypting symmetric key with public key, but
storing private key in a file
Using Password-Based-Encryption (PBE), but
storing the password in a file
Compiling symmetric key into the program
Encrypting symmetric key with another
symmetric key
Backing up the key with the ciphertext
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 15
Cryptography pitfalls-2
Using a single key to encrypt all data
Not verifying the integrity of decrypted data
Not thinking through key-rotation issues
− Single rotation per year
− Rotating DEK-ciphertext - not data-ciphertext
Not thinking through split-key knowledge issues
Not planning for rapid changes in cryptography
Encrypting at the wrong layer of the stack
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 16
Real-world analogy
Precious cargo
Is protected all
the time!
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 17
Real-world analogy
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 18
Cryptography pitfalls-3
Encrypting at the wrong layer of the stack
SKLES Application
Network
Web Server
Vulnerable Application Server
JDBC/ODBC
Database
Others Operating System
Hard Disk Drive
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 19
The right way
SKLES Application
Network
Web Server
Application Server
Irrelevant JDBC/ODBC
Database
Operating System
Hard Disk Drive
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 20
IV. Solution
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 21
So, what do you do?
Reduce the exposure of sensitive data
Abstract cryptography out of the application
Use a cryptographic hardware module as a
back-stop
Use specialized solutions rather than “home-
brewed” encryption
Follow NIST guidelines for algorithms, key-sizes
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 22
Reduce the exposure - 1
System-1 System-2
Sensitive Sensitive
Data Data
System-3
Sensitive
Data
System-4 System-5
Sensitive Sensitive
Data Data
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 23
Reduce the exposure -2
System-1 System-2
Sensitive Sensitive
Data Data
System-3
Sensitive
Data
System-4 System-5
Sensitive Sensitive
Data Data
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 24
Reduce the exposure - 3
System-4
Sensitive
System-1 Data
Sensitive
Data
System-2 SKLES
Sensitive
Data
System-3
Sensitive
Data System-5
Sensitive
Data
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 25
Abstract cryptography out
C/C++ LDAP Server
1
Application
Application
Server
2 3
1 7
Java Network
Application 6
4 5
PHP/Ruby
Application Crypto-Module Internal DB
1
Applications Encryption and
Key
Management
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 26
Use cryptographic hardware
Trusted Platform Module
− CC EAL4+ certified
− RSA 2048-bit keys that never
TPM leave the TPM
− Embedded on computer
motherboards
Hardware Security Module
− FIPS 140-2 certified
− RSA and Suite-B algorithms
− Erases on-board cryptographic
HSM material when stolen
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 27
Use specialized solutions
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 28
NIST Guidelines
Triple-DES (112- or 168-bits) symmetric keys
AES (128-, 192- or 256-bits) symmetric keys
RSA (2048-bits or greater) asymmetric keys
SHA-256, SHA-384 or SHA-512 for message-
digests
FIPS 140-2 certified cryptographic hardware
modules
Common Criteria EAL certified cryptographic
hardware modules
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 29
Summary
Cryptography has always been complex, but is
getting increasingly so:
– Attackers are knowledgable and using crypto
– Crypto-hardware is becoming ubiquitous
– Growing number of crypto forums and standards
– State laws are referencing PCI-DSS or crypto directly
• Massachusetts, Minnesota, Nevada, Washington
Education and a long-term strategy is key to
preventing crypto-chaos
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 30
Thank You
Questions?
Contact Information:
− Arshad Noor
− [Link]@[Link]
− (408) 331-2001 Direct
− (408) 515-8557 Mobile
− [Link]
Copyright © StrongAuth, Inc 2001- 2010
Version 1.1 31