Cryptographic Filesystems. Background and Implementations for Linux and OpenBSD

Similar documents
The Linux CryptoAPI A User s Perspective

Open Source Encrypted Filesystems for Free Unix Systems

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

File System Encryption with Integrated User Management

Using Encrypted File Systems with Caché 5.0

BATTENING DOWN THE DISKS

Encryption Security Recommendations

Symmetric and Public-key Crypto Due April , 11:59PM

Password-based encryption in ZIP files

What users should know about Full Disk Encryption based on LUKS

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

File Systems Security Encryption File Systems

Secure Storage. Lost Laptops

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

How To Teach A Cyber Security Course

AN OFFLINE CAPTURE THE FLAG-STYLE VIRTUAL MACHINE FOR CYBER SECURITY EDUCATION

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

UM0586 User manual. STM32 Cryptographic Library. Introduction

IT Networks & Security CERT Luncheon Series: Cryptography

GROUP TEST. Encryption. On Test. You ll find lots of encryption software in your distribution s package repository

Accellion Secure File Transfer Cryptographic Module Security Policy Document Version 1.0. Accellion, Inc.

SecureDoc Disk Encryption Cryptographic Engine

On Disk Encryption with Red Hat Enterprise Linux

CS 416: Opera-ng Systems Design

Encrypt-FS: A Versatile Cryptographic File System for Linux

Dept. of Comp. Sc. & Engg., Shri Jagdishprasad Jhabarmal Tibrewala University (JJTU) Chudella, Jhunjhunu, Rajasthan, INDIA

X-Ways Capture. The program executes the following steps unless you specify a different procedure in the configuration file:

Dashlane Security Whitepaper

Encrypted File Systems. Don Porter CSE 506

Encrypted Root Filesystem HOWTO

Network Security. Chapter 3 Symmetric Cryptography. Symmetric Encryption. Modes of Encryption. Symmetric Block Ciphers - Modes of Encryption ECB (1)

Whitepaper Enhancing BitLocker Deployment and Management with SimplySecure. Addressing the Concerns of the IT Professional Rob Weber February 2015

Symantec Corporation Symantec Enterprise Vault Cryptographic Module Software Version:

Akshay Kumar Jain Department of CSE, Jaypee Institute of Engg. & Technology Guna (M.P.), India

Module 1: e- Learning

SENSE Security overview 2014

Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...

Secure Network Communications FIPS Non Proprietary Security Policy

Kaseya US Sales, LLC Virtual System Administrator Cryptographic Module Software Version: 1.0

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

PLATFORM ENCRYPTlON ARCHlTECTURE. How to protect sensitive data without locking up business functionality.

Evaluation of the RC4 Algorithm for Data Encryption

Computer forensic science

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

The Misuse of RC4 in Microsoft Word and Excel

USB 2.0 Flash Drive User Manual

Network Security. Modes of Operation. Steven M. Bellovin February 3,

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

SECURITY IN NETWORKS

Client Server Registration Protocol

Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A monnappa22@gmail.com

Linux Operating System Security

Northrop Grumman M5 Network Security SCS Linux Kernel Cryptographic Services. FIPS Security Policy Version

Encrypted PostgreSQL

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Network Security CS 5490/6490 Fall 2015 Lecture Notes 8/26/2015

Analyzing the Security Schemes of Various Cloud Storage Services

Project: Simulated Encrypted File System (SEFS)

Modes of Operation of Block Ciphers

A Comparative Study of Security Features in FreeBSD and OpenBSD

CIS433/533 - Computer and Network Security Cryptography

Authentication requirement Authentication function MAC Hash function Security of

MOTOROLA MESSAGING SERVER SERVER AND MOTOROLA MYMAIL DESKTOP PLUS MODULE OVERVIEW. Security Policy REV 1.3, 10/2002

System administration basics

Message Authentication Codes. Lecture Outline

CifrarFS Encrypted File System Using FUSE

GostCrypt User Guide. Laboratoire de Cryptologie et de Virologie Opérationnelles - France

Plutus: scalable secure file sharing on untrusted storage

Overview. SSL Cryptography Overview CHAPTER 1

FIPS Documentation: Security Policy 05/06/ :21 AM. Windows CE and Windows Mobile Operating System. Abstract

Pulse Secure, LLC. January 9, 2015

SiRiUS: Securing Remote Untrusted Storage

Cryptography and Network Security Chapter 12

SubmitedBy: Name Reg No Address. Mirza Kashif Abrar T079 kasmir07 (at) student.hh.se

Hushmail Express Password Encryption in Hushmail. Brian Smith Hush Communications

EXAM questions for the course TTM Information Security May Part 1

Comodo Disk Encryption

Message Authentication Codes

Ciphire Mail. Abstract

Computer Security: Principles and Practice

Computer Security CS 426. CS426 Fall 2010/Lecture 40 1

Cryptography and Network Security Chapter 11

Linux System Recovery Guide. Version 7.1

EXPLORING LINUX KERNEL: THE EASY WAY!

SSL Firewalls

Transparent Cryptographic File System for BSD. A primer. Luigi Catuogno [luicat@tcfs.unisa.it]

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

Performance Evaluation of Java File Security System (JFSS)

Waspmote Encryption Libraries. Programming guide

Planning for an Amanda Disaster Recovery System

Transcription:

Cryptographic Filesystems Background and Implementations for Linux and OpenBSD

Background Loop device primer Keys, cipher modes, salting, key hashing Journaling file systems and encrypted swap Offset, sizelimit, hard/soft block size paramters explained Issues with software suspend

Loopback Primer /dev/hda1 losetup /dev/loop0 myloop.dat /dev/loop0 /dev/hda2 losetup /dev/loop1 \ /dev/hda2 Filesystem with various files and directories /dev/loop1

Loopback Primer G76g(*gF *^tf0ob( 6g)%)f5( *&(*6bP( /dev/loop0 Dear Bob, this is the message The loopback device supports cryptographic transforms Knowing the key reveals a filesystem within a normal file (or block device)

Keys Encryption with user supplied key Encryption with hashed key rmd160, sha256, sha384, sha512,... Using multiple keys (typically 64) every sector (512b) uses different key

Basic block cipher modes Currently only ECB (Electronic Code Book) and CBC (Cipher Block Chaining) widely supported ECB directly encipher plaintext Same plaintext block always encrypts to same ciphertext. Is considered weak. CBC uses the previous block as IV Basically solves ECB's dictionary problem Only provides very limited integrity

Key iterations and salt Key can be hashed 1000 times significantly slows down brute force attack on password Salt is a string appended to the password slows down brute force attack on password poor man's two factor authentication

Journaling Fine on device backed loop device Avoid on file backed loop devices The VM can write pages in any order it likes and therefore breaks write order expectation of journaling filesystem Underlying FS must be journaled and guarantees data=ordered and data=journal

Encryped swap 1)System runs out of memory 2)Pages flushed into (encrypted) swap 3)This requires encryption 4)Encryption requires memory unless special care is taken (loop-jari) 5)System very busy with swapping the same pages in and out

Other issues Offsets and sizelimits can be used for compatibility or to make partition tables futile Software suspend writes your kernel RAM (keys!) to the disk CDROM/DVD: Filesystem soft sector size must be an integer multiple of device hard sector size.

Kernel: where it starts to be confusing loop-aes: CryptoAPI: Ciphers identified by numbers (1-20) Comes with it's own set of ciphers compiled as individual modules. Registers itself as cipher 18. Ciphers added to the kernel and can be included in the kernel or compiled as modules

Userland: What is the right variant of losetup? util-linux (losetup, mount) Jari Ruusu's patches (gpg, aespipe) Ben Slusky's patches (hashalot) Debian patches (hybrid?) busybox's losetup etc. All have different sets of functionality Default parameters change sometimes

Good news: In reality it's easy Creating and mounting a loopback device losetup e ${AGLO} /dev/loop0 /dev/hda1 mkfs.ext2 /dev/loop0 mount /dev/loop0 /usr umount d /dev/loop0 or #format the loopback device #mount like a normal device # d frees the loopback mount testfile.dat /mnt o loop,encryption=${algo} or put it into your fstab file

What the previous slide left out ${ALGO} can be something like twofish cbc 256 (kerneli) or AES192 (jari) Make sure you know how your variant of losetup hashes the password.

OpenBSD One clear interface though vnodes: vnconfig svnd0 k myfile.dat No choice of cipher (blowfish), hash,... Encryption of swap simply by setting: sysctl w vm.swapencrypt.enable=1

Installation of the international patch With 2.6.0 integrated into mainstream kernel Kernels <=2.4 need kernel patching patch-int-2.4.21.0.gz Apply one loop patch of your choice: patch-cryptoloop-hvr-2.4.22.0 patch-cryptoloop-jari-2.4.22.0

Installation of the international patch Plain util-linux-2.12 useless in most cases (no --pass-fd parameter) Debian util-linux does the job Or apply Ben Slusky's patch to utillinux Or have a look at the scatterlist cryptoapi (tm) inside backported 2.6.0 patches

Installation of loop-aes Very well documented Build loop-aes from sources (does not touch kernel) Patch util-linux-2.12 load modules and you are ready uses initrd to allow encrypted root FS Jari's initrd also works with CryptoAPI

Other implementations Deniable encryption http://www.rubberhose.org CFS http://www.crypt.com/papers/cfs.anounce Cryptfs (stackable vnode fs) http://www1.cs.columbia.edu/~ezk/resear ch/cryptfs/index.html

Future? Cryptography done in hardware OpenBSD's Crypto(9) API VIA Eden's AES engine Todays CPUs and caching minimise performance impact replace (broken) loop.c by device mapper

Conclusion Choose kerneli, jari or dm For a workstation performance is not an issue Integrity has to be established though other measures tripwire, integrit,... integrity aware block cipher modes

URLs International Kernel http://www.kerneli.org/ loop-aes http://loop-aes.sourceforge.net/ util-linux http://ftp.cwi.nl/aeb/util-linux/ Ben Slusky's patch to util-linux http://www.stwing.org/~sluskyb/util-linux/

URLs linux-2.6.0-test3 scatterlist backport http://www.kernel.org/pub/linux/kernel/people/hvr/testing/ patch-cryptoloop-jari-2.4.22.0 patch-cryptoloop-hvr-2.4.22.0