Secure File Storage Nathanael Paul CRyptography Applications Bistro March 25, 2004.

Slides:



Advertisements
Similar presentations
The Diffie-Hellman Algorithm
Advertisements

SUNDR: Secure Untrusted Data Repository
Chapter 4 : File Systems What is a file system?
Russell Martin August 9th, Contents Introduction to CPABE Bilinear Pairings Group Selection Key Management Key Insulated CPABE Conclusion & Future.
E NHANCING F ILE D ATA S ECURITY IN L INUX O PERATING S YSTEM BY I NTEGRATING S ECURE F ILE S YSTEM PTD By, Ravikumar Madam Rajesh Kumar Pal, Indranil.
Distributed Storage March 12, Distributed Storage What is Distributed Storage?  Simple answer: Storage that can be shared throughout a network.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
MSN 2004 Network Memory Servers: An idea whose time has come Glenford Mapp David Silcott Dhawal Thakker.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
File Management Systems
Windows XP File System Management Group D. 3 Layers of Drivers Filter Drivers Filter Drivers –Virus protection, compression, encryption File System Drivers.
Encrypted File System (EFS) Sankara Narayanan. CSE 785 Computer Security, Syracuse University, NY Spring 2003 – 2004.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 7: Advanced File System Management.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Group Management, Permissions, and Revocation in OceanStore Barbara Engelhardt George Porter Naveen Sastry UC Berkeley January 2002.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Wide-area cooperative storage with CFS
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 7: Advanced File System Management.
Metadata Issues in a Cryptographic File System David Bindel IRAM/ISTORE/OceanStore Retreat.
TrustPort Public Key Infrastructure. Keep It Secure Table of contents  Security of electronic communications  Using asymmetric cryptography.
File Systems. Main Points File layout Directory layout.
Secure File Sharing Presented by Vishal Kher February 13, 2004.
File Systems (2). Readings r Silbershatz et al: 11.8.
DESIGN AND IMPLEMENTATION OF THE SUN NETWORK FILESYSTEM R. Sandberg, D. Goldberg S. Kleinman, D. Walsh, R. Lyon Sun Microsystems.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
SSH Secure Login Connections over the Internet
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Computer Security Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
Course 6425A Module 9: Implementing an Active Directory Domain Services Maintenance Plan Presentation: 55 minutes Lab: 75 minutes This module helps students.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 7: Advanced File System Management.
-Term Project Final Presentation Sang-Ho Lee Dae-Jin Jung.
1 Chapter 12 File Management Systems. 2 Systems Architecture Chapter 12.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 7: Advanced File System Management.
Authentication Key HMAC(MK, “auth”) Server Encryption Key HMAC(MK, “server_enc”) User Password Master Key (MK) Client Encryption Key HMAC(MK, “client_enc”)
Certificate-Based Operations. Module Objectives By the end of this module participants will be able to: Define how cryptography is used to secure information.
1 Securing Data and Communication. 2 Module - Securing Data and Communication ♦ Overview Data and communication over public networks like Internet can.
Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Strong Security for Distributed File Systems Group A3 Ka Hou Wong Jahanzeb Faizan Jonathan Sippel.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
Module 15 Managing Windows Server® 2008 Backup and Restore.
Middleware for Secure Environments Presented by Kemal Altıntaş Hümeyra Topcu-Altıntaş Osman Şen.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
14.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 14 Entity Authentication.
File Systems Security File Systems Implementation.
A A E E D D C C B B # Symmetric Keys = n*(n-1)/2 F F
CS 346 – Chapter 11 File system –Files –Access –Directories –Mounting –Sharing –Protection.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
Security fundamentals Topic 4 Encryption. Agenda Using encryption Cryptography Symmetric encryption Hash functions Public key encryption Applying cryptography.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Lecture 18 Windows – NT File System (NTFS)
Windows 2000 Security Yingzi Jin. Introduction n Active Directory n Group Policy n Encrypting File System.
Chapter 10: File-System Interface Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 File-System Interface.
1 Objectives Discuss File Services in Windows Server 2008 Install the Distributed File System in Windows Server 2008 Discuss and create shared file resources.
Distributed Systems: Distributed File Systems Ghada Ahmed, PhD. Assistant Prof., Computer Science Dept. Web:
IDS And Tripwire Rayhan Mir COSC 356. What is IDS IDS - Intrusion detection system Primary function – To monitor network or host resources to detect intrusions.
@Yuan Xue Case Study (Mid-term question) Bob sells BatLab Software License Alice buys BatLab Credit card information Number of.
Cryptography and Network Security Chapter 13
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 7: Advanced File System Management.
Tutorial on Creating Certificates SSH Kerberos
File System Implementation
Tutorial on Creating Certificates SSH Kerberos
Providing Secure Storage on the Internet
Introduction to Operating Systems
Files Management – The interfacing
CSE 451 Fall 2003 Section 11/20/2003.
Chapter 15: File System Internals
File System Management
Federated, Available, and Reliable Storage for an Incompletely Trusted Environment Atul Adya, William J. Bolosky, Miguel Castro, Gerald Cermak, Ronnie.
Presentation transcript:

Secure File Storage Nathanael Paul CRyptography Applications Bistro March 25, 2004

Choosing an Encrypted File System (EFS) Require kernel patch? –root needed How much control is root given? –Swap space Key management Backups and recovery options Very few files need encryption or entire file system? Sharing options?

Multitude of solutions Linux Crypto API Windows EFS CFS –Early UNIX implementation SiRiUS Steganographic file systems –not ready for use ppdd –Encrypts root partition, and swap space?

CFS Early implementation by Matt Blaze –First free UNIX EFS –Client NFS server listening on localhost interface Key for each directory –Uses passphrases Implemented in user-level

Accessing files main() { … read(); … } VFS NFS Local FileSys Network

CFS (a.k.a. /crypt) VFS CFS Local FileSys … Mount points

CFS NFS Encrypt/ Decrypt VFS call (e.g., read()) call VFS again, but go to file on storage media

Accessing files main() { … read(); … } VFS CFS Encrypted Local FileSys …

CFS Advantages/Drawbacks Key for each directory –Usability? Implemented in user-level (slow) –Makes it simpler –RPC calls –But most EFSs are slow Not possible to have different files under different groups in same directory –IV is stored in group id field in inode

Stackable v-nodes: CryptFS

Linux CryptoAPI File system mounted on loopback device which is mounted on directory mount point Loopback device intercepts kernel commands

So why SiRiUS? Assumes file server untrusted –No change to file server Distinguishes read/write access –Sharing Only a few keys needed Like CFS, users run user-level daemon Good for sharing among small groups Timely revocation –Rollback attacks

main() { … read(); … } VFS SiRiUS Local FileSys Network

SiRiUS Overview Intercepts NFS requests –Process requests and send to NFS server Could mimic CFS –Process requests and send to VFS of local file system SiRiUS faster with NFS (compared to CFS), since requests go straight to NFS server and not through VFS to regular NFS client on machine

Files in SiRiUS Files stored in 2 parts –md-file: file metadata Access control –d-file: file itself Encrypted with unique symmetric File Encryption Key (FEK) Signed with a unique File Signature Key (FSK) –To read, user needs FEK –To write, user needs FSK

md-files Encrypted Key Block (Owner) Encrypted Key Block (User 1) Encrypted Key Block (User n) … FSK Metdata last modified timestamp filename Owner’s hash of metadata MSK used MEK

Encrypted Key Blocks Username (or keyID) FEK FSK public key Plaintext Encrypted with MEK of user read/write read Username (or keyID) FEK Plaintext Encrypted with MEK of user

Freshness Guarantees Prevent rollback attacks –Alice replaces new md-file with an older saved md-file mdf-file: metadata freshness file –One in each directory of user’s file system –Stamped with unique Master Signing Key (MSK) of user –Contains root of hash tree of all md-files in current directory and mdf-files in immediate subdirectories

Creating mdf-files 1.Apply SHA-1 hash on each md-file in current directory (verifying md-file signatures as you go) 2.Concatenate resulting hashes together with mdf- files of immediate subdirectories and apply SHA-1 hash to concatenation 3.Place final hash and directory name in mdf-file Note: Timestamp used before final hash of concatenated hashes on root mdf-file

Verifying a file Files are guaranteed up to timestamp on root mdf- file Verifying a file in root directory –Compute mdf-file hash and check timestamps Verifying a file not in the root directory –Apply first 2 steps of creation of mdf-file recursively up to root directory comparing each mdf-file in its subdirectories Requires checking many hashes –What happens if a file in a non-related subtree’s hash doesn’t match up?

File swapping attack Bob wants access to Alice’s /home/alice/secret.txt, but Bob only has read access to /home/alice/readme.txt Bob switches filenames with secret.txt and readme.txt Would work if filename not included in md-file Directory included in mdf-file to prevent directory swapping

Creating a file Generate random DSA signature FSK Generate random AES FEK Generate encrypted key block Owner’s hash of metadata Create md-file Encrypt file data –Use FEK –Apply SHA-1 to encrypted data and sign with private key of FSK. Append hash to data. Update root mdf-file

File Sharing, Reading, Writing Use IBE (or other PKI) –Will need public key of those that will have shared access to create their encrypted key blocks –Will need public key of owner to verify signature and freshness of md-file

User keys MSK, MEK –Can be used without SiRiUS Revocation –Read: change FEK, remove user’s key block, update other key blocks with new FEK, reencrypt and sign d-file, update md-file signature, update root mdf-file –Write: same as read except create new FSK, and sign with new key (write implies read access)

Performance (ms) TestFile SizeKernel NFSDumbFSSiRiUS File Creation File Deletion Sequential Read 8 kb Sequential Write 8 kb Sequential Read 1 Mb Sequential Write 1 Mb

Performance Caching and optimizations pay off on larger files If working on smaller files, it’s much slower Read/Write –Encrypt data (decrypt for read), verify 3 signatures (2 for file integrity, one for freshness), generate a signature (not for a read)

Conclusions Encrypted file systems throw normal performance out the window Read/write capabilities of SiRiUS are nice Single user with just a few critical files –Program to manually perform encryption is probably sufficient

How to really protect your data… Burn it at 3,000 degrees...