Plutus: scalable secure file sharing on untrusted storage



Similar documents
Plutus: Scalable secure file sharing on untrusted storage

SiRiUS: Securing Remote Untrusted Storage

Security in Storage Networks A Current Perspective

CS252 Project An Encrypted File System using TPM

We mean.network File System

Strong Security for Distributed File Systems

Protocols for Secure Cloud Computing

Sharing Of Multi Owner Data in Dynamic Groups Securely In Cloud Environment

Network Attached Storage. Jinfeng Yang Oct/19/2015

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

TABLE OF CONTENTS NETWORK SECURITY 2...1

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Encrypted File Systems. Don Porter CSE 506

Secure Storage. Lost Laptops

File Systems Security Encryption File Systems

RAID Storage, Network File Systems, and DropBox

Authentication Applications

Security Protocols/Standards

An Efficient Security Based Multi Owner Data Sharing for Un-Trusted Groups Using Broadcast Encryption Techniques in Cloud

AIX NFS Client Performance Improvements for Databases on NAS

Encrypt-FS: A Versatile Cryptographic File System for Linux

SQL Server Encryption Overview. September 2, 2015

SBClient SSL. Ehab AbuShmais

WHITE PAPER

Storage in Database Systems. CMPSCI 445 Fall 2010

Communication Security for Applications

RSA Digital Certificate Solution

Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

[SMO-SFO-ICO-PE-046-GU-

Rights Management Services

Security Overview for Windows Vista. Bob McCoy, MCSE, CISSP/ISSAP Technical Account Manager Microsoft Corporation

Secure Network Communications FIPS Non Proprietary Security Policy

2007 Microsoft Office System Document Encryption

Lecture 11. RFS A Network File System for Mobile Devices and the Cloud

Recipe for Mobile Data Security: TPM, Bitlocker, Windows Vista and Active Directory

Ciphire Mail. Abstract

IT Networks & Security CERT Luncheon Series: Cryptography

Authentication. Computer Security. Authentication of People. High Quality Key. process of reliably verifying identity verification techniques

FIPS Non- Proprietary Security Policy. McAfee SIEM Cryptographic Module, Version 1.0

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

AFS Usage and Backups using TiBS at Fermilab. Presented by Kevin Hill

Chapter 11: File System Implementation. Operating System Concepts with Java 8 th Edition

SAS Data Set Encryption Options

How To Use Attix5 Pro For A Fraction Of The Cost Of A Backup

Privacy Preservation and Secure Data Sharing in Cloud Storage

Polish National Data Storage. Norbert Meyer, Maciej Brzeźniak, Maciej Stroiński PSNC

Considerations when Choosing a Backup System for AFS

Using etoken for SSL Web Authentication. SSL V3.0 Overview

An Efficient and Secure Data Sharing Framework using Homomorphic Encryption in the Cloud

RSA SecurID Ready Implementation Guide

CIS 551 / TCOM 401 Computer and Network Security. Spring 2005 Lecture 4

Secure web transactions system

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

How To Use Kerberos

Secure cloud access system using JAR ABSTRACT:

Using HP StoreOnce D2D systems for Microsoft SQL Server backups

How To Secure My Data

Windows 7, Enterprise Desktop Support Technician

A Novel Framework for Cloud Environment Using CPDP for Data Integrity and Security

Network File System (NFS)

Windows 7, Enterprise Desktop Support Technician Course 50331: 5 days; Instructor-led

Cryptographic Filesystems. Background and Implementations for Linux and OpenBSD

Client Server Registration Protocol

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

SSL Handshake Analysis

eid Security Frank Cornelis Architect eid fedict All rights reserved

BrightStor ARCserve Backup for Windows

CS 758: Cryptography / Network Security

Lightweight Security using Identity-Based Encryption Guido Appenzeller

Distributed File Systems

CHAPTER 17: File Management

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 12

Technical Brief: Virtualization

Key Management Interoperability Protocol (KMIP)

File System Encryption with Integrated User Management

AIX 5L NFS Client Performance Improvements for Databases on NAS

Firewalls. Outlines: By: Arash Habibi Lashkari July Network Security 06

CS 393 Network Security. Nasir Memon Polytechnic University Module 11 Secure

"Charting the Course to Your Success!" MOC D Windows 7 Enterprise Desktop Support Technician Course Summary

Asymmetric cryptosystems fundamental problem: authentication of public keys

CS 392/681 - Computer Security

Quick Start - NetApp File Archiver

How To Create A Secure Global File System

CS 416: Opera-ng Systems Design

Considerations when Choosing a Backup System for AFS

Disk encryption... (not only) in Linux. Milan Brož

BlackBerry Enterprise Solution

Transcription:

Plutus: scalable secure file sharing on untrusted storage Mahesh Kallahalla HP Labs Joint work with Erik Riedel (Seagate Research), Ram Swaminathan (HP Labs), Qian Wang (Penn State), Kevin Fu (MIT) March 31 2003

Why care about storage security? How secure is your storage? Laptop Network Disk Tape Trust galore: laptop / hard-disks can be stolen network is shared storage is outsourced Securing the network alone is not enough How much do you trust your administrator / ssp?

What s out there? Network security doesn t have storage semantics Encrypt-on-wire layered system typically trusts server NASD, iscsi w/ IPSec, NFS w/ secure RPC Encrypt-on-disk encrypt before it leaves clients stored encrypted, typically used only for local storage sharing problem not yet addressed CFS, CryptFS, Truffles, Cepheus, Win EFS

Where are we going? Introduction Plutus Handling Revocations Implementation Summary

Our mantra The fundamental design principles Decentralize key management and distribution clients all the key related work better scalability better security flexibility in policy Minimize server trust requirement server can be broken into anyway assuming untrusted network

Translation Encrypt-on-disk system Data on disk encrypted files and (optionally) directory entries Data on network integrity protected no need to re-encrypt bulk data Client-centric system Client does most of the work crypto, key management and distribution Server: store and retrieve bits from disk validate writes

Plutus techniques summary Store all data encrypted asymmetric read/write keys Owners distribute keys to share data Protect network integrity Server verified writes File-groups Lazy revocation key rotation

Plutus techniques summary Store all data encrypted asymmetric read/write keys Owners distribute keys to share data Protect network integrity Server verified writes File-groups Lazy revocation key rotation

Plutus Store all data encrypted say we use something like DES Owners distribute keys to share data Protect network integrity Server verified writes Attack: Reader and server collude to update data a data modify attack

Preventing readers from writing: asymmetric encryption Observations Readers and writers need to be given different keys Readers need to see what writers have written Try converting into data destroy attack should only be able to detect it Solution: asymmetric keys Encrypt file with file block key Protect integrity with file-sign / file-verify keys

Differentiating read/write access file sign key writer Bob can write valid data encrypt with file block key Alice file verify key reader Charlie cannot write valid data

Overhead: Too many keys! Problem Key distribution overhead Clients not always online Key generation overhead Observation: use same key on multiple files Solution: file-groups Use same key for files with similar sharing Translating to unix file-group = files with same owner, group, mode bits study: appx 30 keys per user

You re outa here! revocation How to revoke a user s access to a file Change keys and hand them out again re-encryption effort key re-distribution effort

You re yawn outa zzz here lazy revocation Observations might be ok to leave unchanged data open Solution: lazy re-encryption On revocation change keys mark files for re-encryption Only re-encrypt when written next

Complication: lazy revocation + file-groups File-groups same key multiple files On write following revocation key for re-encrypted file different! Don t want explosion in keys due to revocations

Recursive keys Keys for a file-group rotate file lockbox key only owner can generate next in sequence given current key, readers generate previous keys On revocation owner generates new keys Writers get latest file-sign key Readers are given latest file lockbox key rotate back to get older keys on seeing older files derive file-verify keys from corresponding lockbox key

Key-rotation owner K 1 =E Pr [K 0 ] K 2 =E Pr [K 1 ] K 0 K 1 K 2 K 0 =E Pu [K 1 ] K 1 =E Pu [K 2 ] reader initial key first revocation second revocation

Key-rotation: the math Owner (and reader) generate random prime e greater than sqrt(n) use file lockbox key as seed Owner generate corresponding d (file-sign key) Writer given d Note Reader cannot get file-sign key Writer cannot get file-verify key

Design summary Store all data encrypted asymmetric read/write keys Owners distribute keys to share data Protect network integrity Server verified writes File-groups Lazy revocation key rotation

Where are we going? Introduction Plutus Handling Revocations Implementation Summary

AFS incarnation Client (mostly kernel) Kernel module revocation key xchg secure rpc secure rpc vnode interface ioctl interface key cache Server (user level) write verification secure rpc xtnd vnode files Implmented in Linux, OpenAFS Crypto: SHA1, RSA1024, 3DES

Key summary the file side file header file data

How long does it take RSA key generation 2500 ms paid by owner on every filegroup creation File read/write per 4KB block: 0.7 ms of crypto per file: 28.5 ms by writer, 8.5 ms by reader write verification: 0.01ms per file 1.26GHz P3 with 512MB ram: SHA1, RSA1024, 3DES

Data structures overhead 3 2.5 Plutus (no crypto) OpenAFS (no crypto) Time (ms) 2 1.5 1 0.5 0 Seq read Rand read Seq write Rand write Accessing a remote 40 MB file Hash tree structure doesn t take much time

Encrypt-on-disk vs. wire-encryption 6 5 Plutus (DES) OpenAFS (fcrypt) Time (ms) 4 3 2 1 0 Seq read Rand read Seq write Rand write Accessing a remote 40 MB file Comparable performance

Plutus performance (overall) Time (ms) 9 8 7 6 5 4 3 2 1 0 Seq read Rand read Seq write Rand write Plutus (3DES) OpenAFS (fcrypt) SFS Accessing a remote 40 MB file OpenAFS s fcrypt comparable to DES SFS sarc4 14X faster than 3DES Plutus compares favorably with SFS

The key takeaways 1. Use keys to pass access rights + don t need to maintain lists complicates revocation 2. File groups: use same keys for similarly shared objects + simpler key management 3. Key rotation: keys can be related but secure + useful for evolving keys 4. Lazy re-encryption don t do the crypto till absolutely necessary