From owner-freebsd-current@FreeBSD.ORG Mon Oct 7 16:30:34 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 776DC278; Mon, 7 Oct 2013 16:30:34 +0000 (UTC) (envelope-from gleb.kurtsou@gmail.com) Received: from mail-pd0-x230.google.com (mail-pd0-x230.google.com [IPv6:2607:f8b0:400e:c02::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4B5D62F60; Mon, 7 Oct 2013 16:30:34 +0000 (UTC) Received: by mail-pd0-f176.google.com with SMTP id q10so7344927pdj.35 for ; Mon, 07 Oct 2013 09:30:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; bh=6YTiqRUdh8tjnoygijfbDyM0qcyPWtStbckY38DfQQo=; b=nXumBb0ziWEqzhwbpxMx403kYr6MgGxoqSlXXnoxn4EnuC3iQ0xmULErZyoGvmcZnp 2QUDmFkHwoG1RN9Xxwsxn2khNDYfk0jNwkW+VdUV0uJcOQG/SmRAH75A7bIfd2FTSm1J 1dh601Bbv4x1B96HoB7+jFWr3YhqKrMS9F6e+IjvAXIHQkPuIyvRemquWh29l8ziDquN SR15ERGHUIDwQ6As3CGbzizPZsiRK5lM0Q5jC1uzxHdc+yb06JPTc7o9DaQOz36Pi01Z iK7ha1mMshGR/dbROnNF4EXiufQ9xstIcg6F+D7dqa0rmHMVqORQufuMbUGZj9gPzows ntFA== X-Received: by 10.66.250.47 with SMTP id yz15mr4196712pac.154.1381163433814; Mon, 07 Oct 2013 09:30:33 -0700 (PDT) Received: from localhost (c-76-21-78-151.hsd1.ca.comcast.net. [76.21.78.151]) by mx.google.com with ESMTPSA id bt1sm34353868pbb.2.1969.12.31.16.00.00 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 07 Oct 2013 09:30:33 -0700 (PDT) Sender: Gleb Kurtsou Date: Mon, 7 Oct 2013 09:31:11 -0700 From: Gleb Kurtsou To: freebsd-current@freebsd.org Subject: Committing PEFS to CURRENT Message-ID: <20131007163111.GB1590@reks.swifttest.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Cc: delphij@freebsd.org, Kris Moore X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Oct 2013 16:30:34 -0000 Hello, I would like to ask everybody's opinion regarding committing PEFS to CURRENT. PEFS is a stacked cryptographic file system for FreeBSD. Development started as Google Summer of Code project in 2009. It has been in ports since Sept 2011. I maintain the project. Conceptually PEFS is similar to nullfs adding encryption layer on top of it. But it differs technically by not using vop_bypass. Another popular stacked cryptographic file systems include eCryptfs (linux) and encfs (fuse). There is also pam_pefs pam module to allow user authentication with their PEFS-encrypted home directory password. For those interested in high level introduction I would highly recommend article by Kris Moore in the BSD Magazine Issue 09/2013(50) - http://bsdmag.org/magazine/1848-day-to-day-bsd-administration We are very close to branching 10-STABLE now, but patch is non-intrusive, it only adds new functionality, enabling PEFS for i386 and amd64 (platforms it's known to work on). Patch passes make universe. Patch is available here: https://github.com/glk/freebsd-head/commit/b4d2c4a5f42f88fdd07cb75feba3467e4d4c043c.patch Pros/cons: - Having PEFS in base would be a huge maintenance help for PCBSD/TrueOS who are already committed to use PEFS in next product releases, e.g. PCBSD provides encrypted home directories. - There is steady interest in the project from users (emails, etc). Many of them note that file system is not well known yet. Moving PEFS to base would greatly increase its exposure. - Committing PEFS to base would also simplify maintenance by keeping it in sync with other subsystems, e.g. it will be updated on large scale changes like VM locking. - There are no bugs known at the moment. I've been using it to encrypt home directory since day one. pho@ ran stress test suite on it a while back, number of bugs was fixed. - PEFS is known to work on amd64 and i386 only. Big endian system and systems with page size larger than 4k are not tested. - NOTE! There has been no cryptography review. I'd like to suggest to add warning about file system and crypto used is experimental and hasn't undergone professional review. Similar to one we had in tmpfs. BSD Magazine article: http://bsdmag.org/magazine/1848-day-to-day-bsd-administration Port: http://www.freshports.org/sysutils/pefs-kmod/ Source code repository: https://github.com/glk/pefs FreeBSD DevSummit'2011 - pefs presentation slides: https://pefs.googlecode.com/files/pefs-devsummit.pdf FreeBSD wiki page: https://wiki.freebsd.org/PEFS I would really appreciate any comments or suggestions. Thank you, Gleb.