




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A chapter extract from the book 'database management systems' by ramakrishnan and gehrke. It discusses various aspects of database security, including the importance of secrecy, integrity, and availability, as well as access controls, discretionary access, mandatory access, and encryption. It also covers role-based authorization and internet-oriented security.
Typology: Slides
1 / 8
This page cannot be seen from the preview
Don't miss anything!





Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 1
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 2
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 4
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 5
SELECT: Can read all columns (including those added later via ALTER TABLE command). INSERT (col-name): Can insert tuples with non-null or non- default values in this column. INSERT means same right with respect to all columns. DELETE: Can delete tuples. REFERENCES (col-name): Can define foreign keys (in other tables) that refer to this column.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 10
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 11
When DB must be accessed from a secure location, password- based schemes are usually adequate.
If someone with Sam’s credit card wants to buy from you, how can you be sure it is not someone who stole his card? How can Sam be sure that the screen for entering his credit card information is indeed yours, and not some rogue site spoofing you (to steal such information)? How can he be sure that sensitive information is not “sniffed” while it is being sent over the network to you?
Encrypt(data, encryption key) = encrypted data Decrypt(encrypted data, decryption key) = original data Without decryption key, the encrypted data is meaningless gibberish
Encryption key = decryption key; all authorized users know decryption key (a weakness). DES, used since 1977, has 56-bit key; AES has 128-bit (optionally, 192-bit or 256-bit) key
User’s public encryption key: Known to all Decryption key: Known only to this user Used in RSA scheme (Turing Award!)
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 13
p, q are large, say 1024-bit, distinct prime numbers
Encrypted data S = I e^ mod L
d * e = 1 mod ((p-1) * (q-1)) We can then show that I = S d^ mod L
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 14
If Amazon distributes their public key, Sam’s browser will encrypt his order using it. So, only Amazon can decipher the order, since no one else has Amazon’s private key. But how can Sam (or his browser) know that the public key for Amazon is genuine? The SSL protocol covers this. Amazon contracts with, say, Verisign, to issue a certificate <Verisign, Amazon, amazon.com, public-key> This certificate is stored in encrypted form, encrypted with Verisign’s private key, known only to Verisign. Verisign’s public key is known to all browsers, which can therefore decrypt the certificate and obtain Amazon’s public key, and be confident that it is genuine. The browser then generates a temporary session key, encodes it using Amazon’s public key, and sends it to Amazon. All subsequent msgs between the browser and Amazon are encoded using symmetric encryption (e.g., DES), which is more efficient than public-key encryption. What if Sam doesn’t trust Amazon with his credit card information? Secure Electronic Transaction protocol: 3-way communication between Amazon, Sam, and a trusted server, e.g., Visa.
Done after SSL is used to establish a session key, so that the transmission of the password is secure! Amazon is still at risk if Sam’s card is stolen and his password is hacked. Business risk …
Sam encrypts the order using his private key, then encrypts the result using Amazon’s public key. Amazon decrypts the msg with their private key, and then decrypts the result using Sam’s public key, which yields the original order! Exploits interchangeability of public/private keys for encryption/decryption Now, no one can forge Sam’s order, and Sam cannot claim that someone else forged the order.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 19
Dick’s table, Horsie, has Dick’s clearance, C. Justin’s application has his clearance, S. So, the program cannot write into table Horsie.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 20
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke 22
Designs security policy, maintains an audit trail, or history of users’ accesses to DB.
Discretionary control based on notion of privileges. Mandatory control based on notion of security classes.