Database Key Management

Slides:



Advertisements
Similar presentations
Securing the Worlds Information Secure Dynamic Credit and Debit Cards Stop Credit Card and Identity Theft Andre Brisson Stephen Boren Co founders/ Co.
Advertisements

CSCI 6962: Server-side Design and Programming Input Validation and Error Handling.
1 Lecture 17: SSL/TLS history, architecture basic handshake session initiation/resumption key computation negotiating cipher suites application: SET.
Principles of Information Security, 2nd edition1 Cryptography.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 9: Planning and Managing Certificate Services.
Apr 30, 2002Mårten Trolin1 Previous lecture – passwords Passwords for authentication –Storing hashed passwords –Use of salt Passwords for key generation.
1 Digital Signatures CSSE 490 Computer Security Mark Ardis, Rose-Hulman Institute April 12, 2004.
Securing Data Storage Protecting Data at Rest Advanced Systems Group Dell Computer Asia Ltd.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Lecture 2.2: Private Key Cryptography II CS 436/636/736 Spring 2012 Nitesh Saxena.
Database Key Management CSCI 5857: Encoding and Encryption.
CSCI 6962: Server-side Design and Programming
History and Background Part 1: Basic Concepts and Monoalphabetic Substitution CSCI 5857: Encoding and Encryption.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Jim McLeod MyDBA  SQL Server Performance Tuning Consultant with MyDBA  Microsoft Certified Trainer with SQLskills Australia 
Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Storage & Revoking.
Security.  is one of the most widely used and regarded network services  currently message contents are not secure may be inspected either.
Public Key Encryption and the RSA Public Key Algorithm CSCI 5857: Encoding and Encryption.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
David Evans CS200: Computer Science University of Virginia Computer Science Class 36: Public-Key Cryptography If you want.
Types of Electronic Infection
Key Management. Given a computer network with n hosts, for each host to be able to communicate with any other host would seem to require as many as n*(n-1)
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
Pretty Good Privacy (PGP) Security for Electronic .
Authentication Issues and Solutions CSCI 5857: Encoding and Encryption.
Information Integrity and Message Digests CSCI 5857: Encoding and Encryption.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
K. Salah1 Cryptography Module I. K. Salah2 Cryptographic Protocols  Messages should be transmitted to destination  Only the recipient should see it.
INFORMATION SECURITY MANAGEMENT P ROTECTION M ECHANISMS - C RYPTOGRAPHY.
Electronic Mail Security Prepared by Dr. Lamiaa Elshenawy
Implementing Secure IRC App with Elgamal By Hyungki Choi ID : Date :
Cipher Transmission and Storage Modes Part 2: Stream Cipher Modes CSCI 5857: Encoding and Encryption.
Lecture 5 Page 1 Advanced Network Security Review of Cryptography: Cryptographic Keys Advanced Network Security Peter Reiher August, 2014.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
INFORMATION SECURITY MANAGEMENT P ROTECTION M ECHANISMS - C RYPTOGRAPHY.
SSL: Secure Socket Layer By: Mike Weissert. Overview Definition History & Background SSL Assurances SSL Session Problems Attacks & Defenses.
Lecture 8 (Chapter 18) Electronic Mail Security Prepared by Dr. Lamiaa M. Elshenawy 1.
Security Handshake Pitfalls. Client Server Hello (K)
Technische Universität München WISTP 2007 Mobile Phones as Secure Gateways for Message-Based Ubiquitous Communication 10 th May 2007 W. Bamberger, O. Welter.
Key management issues in PGP
Web Applications Security Cryptography 1
Outline The basic authentication problem
Session
Attacks on Public Key Encryption Algorithms
Cracking Encrypted Systems
Outline Properties of keys Key management Key servers Certificates.
Cryptography and Network Security
Security of Message Digests
Secure Sockets Layer (SSL)
Authentication.
Radius, LDAP, Radius used in Authenticating Users
Uses Uses of cryptography Lab today on RSA
Tutorial on Creating Certificates SSH Kerberos
Simplified IDEA Cryptography and Network Security.
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
Lecture 2.2: Private Key Cryptography II
Lecture 3: Symmetric Key Encryption
Uses Of Encryption Algorithms
Public-Key Cryptography
Cryptography and Network Security
Security at the Application Layer: PGP and S/MIME
Network Security – Kerberos
Assignment #4 – Solutions
csci5233 computer security & integrity (Chap. 4)
Lecture 4 - Cryptography
ONLINE SECURE DATA SERVICE
International Data Encryption Algorithm
Erica Burch Jesse Forrest
Cryptography and Network Security
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Presentation transcript:

Database Key Management CSCI 5857: Encoding and Encryption

Outline Applications and secure databases Dedicated encryption server Record-based encryption and encryption receipts Key vault security and master keys Key migration Key backup

Database Keys: Bad Ideas Encrypting entire database with a key Accessing single record requires encrypting/decrypting entire database Far too time consuming for large database Exposes entire database to potential observation

Record-based Encryption Databases encrypted one record field at a time Different fields in database encrypted with different keys Allows different levels of security for different information Name Phone Credit Card Fred Flintstone 555-123-4567 1111222233334444 Barney Rubble 555-123-9876 5555666677778888 … Low security: No encryption Moderate security: 192-bit 3DES key Changed every month High security: 256-bit AES key Changed every week

Applications and Encrypted Databases Most secure databases accessed by other applications as part of large-scale information system Applications must be able to rapidly access plaintext version of information in database Keys should not be accessible to unauthorized users

Database Keys: Bad Ideas Embedding keys in applications that access database Easy for adversary to extract key from application or hardware running application Changing key requires changing all applications that access database

Overall Encryption Architecture All encryption/decryption done by single cryptographic application on dedicated machine All keys stored securely in “key vault” on that dedicated machine (and never leave that machine!)

Database Record Encryption Bob enters new field value into application Application submits value + fieldname to cryptosystem Cryptosystem retrieves appropriate key for that field from key vault and encrypts value Cryptosystem returns encrypted value + receipt Application stores encrypted value + receipt in database

Encryption Receipts Might have many different keys used for encryption Receipt contains ID of key used to encrypt that value Not actual key! Can also contain other useful data, such as key expiration date Stored in database with encrypted value Used to determine which key to use for later decryption Name Phone Phone Receipt Credit Card Credit Card Receipt Fred Flintstone skdf0234rnef2 p32 045/sdfgm29 c845 Barney Rubble 8h5rqw;ernq3 Nc9343f3r,38 c844 …

Database Record Decryption Bob enters request for field value into application Application retrieves encrypted value + receipt from database Cryptosystem retrieves key with matching ID from key vault and decrypts value Cryptosystem returns decrypted value to application

Key Vault Security Keys encrypted in any non-volatile storage Even if steal machine, cannot get to keys Key ID Encrypted Key Value Field … p32 Up204thf2-05h phone c845 Kdfg3[045taqrogn[39-45tsd creditcard c846 Vmp405h82[-35ut1-49uf12 “I can’t read these”

Master Keys Used to decrypt keys for use by cryptosystem Neither master key nor decrypted key values in non-volatile memory Stored on separate secure system(s) Often broken into two parts for maximum security Generate random “mask” Kmask XOR with actual master key Kmaster to create stored key Kstored Keys Kmask and Kstored stored separately Combined as Kmaster = Kstored  Kmask when needed

Key Migration Database keys should have limited lifespan Longer use  more data for known/chosen plaintext attacks Rapid changes = less damage if key compromised Usual components: Start: Date at which key can be used for encryption/decryption Decommission: Date at which migration from this key begins Only used for decryption, not for encryption Expiration: Date at which key no longer used Key ID … Start Decommission Expiration p32 3/10/2015 4/10/2015 4/24/2015 c845 4/2/2015 4/9/2015 4/12/2015 c846 4/7/2015 4/15/2015

Key Migration Process Migration: Re-encrypting data encrypted with older keys using newer keys As records accessed and run through cryptosystem, records decrypted with decommissioned key automatically re-encrypted with a different active key Can force migration of records not accessed For all fields with receipt containing expired key Decrypt/re-encrypt with cryptosystem

Backing Up Database Keys Easy to replace lost key in network transmission Lose symmetric session key: Just resend with another Lose private key in public key encryption: Just generate another and post a new certificate Database keys must be stored over long time Lifetime of key(s) = lifetime of database If lose keys, lose information in database!

Key Backup Must back up key vault regularly At a minimum, each time new key is added to vault Should keep multiple backups, paper and electronic Backups must only contain encrypted version of keys Otherwise, keys vulnerable to observation Must back up master keys separately Can encrypt backup version with different keys stored separately

What’s Next Let me know if you have any questions Continue on to the next lectures on Applications of Encryption