From owner-soc-status@FreeBSD.ORG Mon May 28 19:23:50 2012 Return-Path: Delivered-To: soc-status@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8F55106566C for ; Mon, 28 May 2012 19:23:50 +0000 (UTC) (envelope-from gpf.kira@gmail.com) Received: from mail-qa0-f47.google.com (mail-qa0-f47.google.com [209.85.216.47]) by mx1.freebsd.org (Postfix) with ESMTP id 8556B8FC12 for ; Mon, 28 May 2012 19:23:50 +0000 (UTC) Received: by qabg1 with SMTP id g1so994995qab.13 for ; Mon, 28 May 2012 12:23:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=Bx2O0Jlo6a9nfhkUiexa2FEOFr9gVmhG4+xzRk4F1P8=; b=j0ajNly3M1KarXRcL3fAyMt93N4tlFQpYhK3tGB2LUwkrlKP9b9ES+wTZyBgrlqeee jiTpyXnsUbHS/nOjbVtRgWJJA1QLCkl9f4z426M2AiVEw7vObCaQEO/pWTO6QlgASmoe kpzaLC4+2RqbmzGhQN7PQechVGyRZZTgWdYw1DP1N5FOxb8kbxrQxVTKnqWo0o8BYgn8 U0+KBSKRcLPrD7ngDSAYdHgXnk0PyIHqQesGqS9btbsjjp+GulbRYKeajVvIgN04q7pX tJztb/MsSdi5WrwvAroTKHHWdz8uv2Svt/+IPwqaAzyKz31Wi/bJ2CPnJVpSoLSPX54F jg1g== MIME-Version: 1.0 Received: by 10.224.105.202 with SMTP id u10mr9438588qao.54.1338233029124; Mon, 28 May 2012 12:23:49 -0700 (PDT) Received: by 10.229.217.74 with HTTP; Mon, 28 May 2012 12:23:49 -0700 (PDT) Date: Mon, 28 May 2012 22:23:49 +0300 Message-ID: From: Efstratios Karatzas To: soc-status@freebsd.org Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Kernel Level File Integrity Checker report #1 X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2012 19:23:51 -0000 The design of the integrity checker changed during community bonding period. The old design from my proposal may be found in the project's wiki page [1]. Major changes: Simple hashes will be used but at the same time, we will require an already encrypted filesystem so that two identical plaintext messages do not produce identical hashes. I still wish to provide an integrity-only mode for pefs with HMACs & different key for integrity; however, this functionality won't be added during this summer. pefs filename MACs will be used as unique file identifiers instead of inode numbers. The gain is that when user dump/restores the filesystem, he won't have to reconstruct the checksum file as filenames will not have changed. Towards the end of GSoC, where design will be more crystal, I will write developer's documentation for the project and upload it at the project's wiki page. Until then, descriptions of svn commits serve as a great guide of what is going on with the codebase. During week #1: * added command 'addchecksum' to sbin/pefs which generates .pefs.checksum file. This file has the form of an indirect map which the kernel driver will be able to use directly without having to reconstruct lookup tree during filesystem mount. For longer descriptions of the command and the internal structure of the checksum file, please refer to the comment headers found in sbin/pefs_ctl.c and sbin/pefs_checksum.c. [1] http://wiki.freebsd.org/SummerOfCode2012/EfstratiosKaratzas -- Efstratios "GPF" Karatzas