Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5708587imm; Mon, 23 Jul 2018 04:51:19 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcpkxiP5omuRcmt69zjXeAyCo8O09UCebrkdlRNHLs5U12vWxkw9xNaTSIoiQd3tGBbSPM1 X-Received: by 2002:a62:4255:: with SMTP id p82-v6mr13018075pfa.238.1532346679772; Mon, 23 Jul 2018 04:51:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532346679; cv=none; d=google.com; s=arc-20160816; b=G896iFL8hdhJuuVJREQndRiiBHKDHItTxtPw6T62K+X0UUl3vVSOJqjFG/SeQSHsNX 7s5d0QNOBG3v7G70N6M3VRxmY86f9APqGR9XAxx5lEbPRCKQ4Hz+OdjVLlDq8CTXfT5t Gj47quwNAOFGqjq3xa9tyuT7De31hjrDAtyO9PbnLiJNxKwpcn4I5EU2mLyW5iZsixm+ zxPWuysyPbh1E1MQbHJIkC6nEsacImoOQYzX4anQpnWaECsoD5NtPQiefoFSbMFvLJeA iQus45yC1AimYaQooh2CFo57WZPObIijzPl48t+ueC4BcHBTnJMEs6Q1kRa9HPE/kOIj 286g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :arc-authentication-results; bh=WwaomdsPzY5Zu0q1vNzDb47/uZyJutHglF+SU1+CZUY=; b=eR6mNMkKZVlyz6VjQo+9gyWiclNxxuAZlWgkoiZrYlnkFeS/8xEdQYbOaTx1Uwk8x9 svBqzVTq4Y2waeqg71Q2nCpbP7BunA6JqzNuxWc+5dh6XnVyaSW7KE6nKNUvJ30ahVYT 0R6Rxhy2G7TzaYuFmIuW6nLygqbpssr3qDHXenr5VLkL2u2fV/hf0cZ+3NF3MhyFYT6f N8S5QKfAueQTvg/fPJ2F7iIdnQV/yCHlVAQylAITLgoSrY/SzK+YZq+AZg1o29mG3Px6 UfSyIR0pipC5SghCKgdQ9Aq1eSAi/ShRkEg9UQ7jlZAjRE+OXQeuoEg79HvoAj2dDsU1 VgRQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q145-v6si8873044pfq.315.2018.07.23.04.51.04; Mon, 23 Jul 2018 04:51:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388104AbeGWMvG (ORCPT + 99 others); Mon, 23 Jul 2018 08:51:06 -0400 Received: from mx2.suse.de ([195.135.220.15]:35902 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2387842AbeGWMvG (ORCPT ); Mon, 23 Jul 2018 08:51:06 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id C211FAFC8; Mon, 23 Jul 2018 11:50:13 +0000 (UTC) Message-ID: <1532346156.3057.11.camel@suse.com> Subject: Re: [PATCH 0/4][RFC v2] Introduce the in-kernel hibernation encryption From: Oliver Neukum To: Pavel Machek , Yu Chen Cc: "Rafael J . Wysocki" , Eric Biggers , "Lee, Chun-Yi" , Theodore Ts o , Stephan Mueller , Denis Kenzior , linux-pm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, "Gu, Kookoo" , "Zhang, Rui" Date: Mon, 23 Jul 2018 13:42:36 +0200 In-Reply-To: <20180720102532.GA20284@amd> References: <20180718202235.GA4132@amd> <20180718235851.GA22170@sandybridge-desktop> <20180719110149.GA4679@amd> <20180719132003.GA30981@sandybridge-desktop> <20180720102532.GA20284@amd> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.26.6 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fr, 2018-07-20 at 12:25 +0200, Pavel Machek wrote: > Hi! Hello, > > Let me paste the log here: > > > > 1. (This is not to compare with uswsusp but other > > tools) One advantage is: Users do not have to > > encrypt the whole swap partition as other tools. > > Well.. encrypting the partition seems like good idea anyway. Yes, but it is a policy decision the kernel should not force. STD needs to work anyway. > > 2. Ideally kernel memory should be encrypted by the > > kernel itself. We have uswsusp to support user > > space hibernation, however doing the encryption > > in kernel space has more advantages: > > 2.1 Not having to transfer plain text kernel memory to > > user space. Per Lee, Chun-Yi, uswsusp is disabled > > when the kernel is locked down: > > https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/ > > linux-fs.git/commit/?h=lockdown-20180410& > > id=8732c1663d7c0305ae01ba5a1ee4d2299b7b4612 > > due to: > > "There have some functions be locked-down because > > there have no appropriate mechanisms to check the > > integrity of writing data." > > https://patchwork.kernel.org/patch/10476751/ > > So your goal is to make hibernation compatible with kernel > lockdown? Do your patches provide sufficient security that hibernation > can be enabled with kernel lockdown? OK, maybe I am dense, but if the key comes from user space, will that be enough? > > 2.2 Not having to copy each page to user space > > one by one not in parallel, which might introduce > > significant amount of copy_to_user() and it might > > not be efficient on servers having large amount of DRAM. > > So how big speedup can be attributed by not doing copy_to_user? That would be an argument for compression in kernel space. Not encrpting would always be faster. > > 2.3 Distribution has requirement to do snapshot > > signature for verification, which can be built > > by leveraging this patch set. > > Signatures can be done by uswsusp, too, right? Not if you want to keep the chain of trust intact. User space is not signed. > > 2.4 The encryption is in the kernel, so it doesn't > > have to worry too much about bugs in user space > > utilities and similar, for example. > > Answer to bugs in userspace is _not_ to move code from userspace to kernel. Indeed. > > Joey Lee and I had a discussion on his previous work at > > https://patchwork.kernel.org/patch/10476751 > > We collaborate on this task and his snapshot signature > > feature can be based on this patch set. > > Well, his work can also work without your patchset, right? Yes. But you are objecting to encryption in kernel space at all, aren't you? Regards Oliver