Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp6926524ybi; Thu, 1 Aug 2019 00:28:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqyk7QgFK/+L3zOpzQjTVRfn6nRKq/JBQ87uvzuXoFueg20Sv11KvdIJU6dZ+QlIxV2GRl0d X-Received: by 2002:a63:c03:: with SMTP id b3mr54184308pgl.23.1564644513658; Thu, 01 Aug 2019 00:28:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1564644513; cv=none; d=google.com; s=arc-20160816; b=BRIAOisuzBt24RvdVpmWmdje/SuZ36r1K8L4HsimOh8LiMZwz4Xix0OWdOoRJYaMFv n4UHncw0lBP+D7V4kekld/pgcLQhuG/GejlXsn6FkWiMg7q59nglc50qhDx/0P2RlFEK DF0XCqqMrZQFHlfEQFQEgw8SBUM1RvlinCFEsDn3zdfh4izcCRaKSa3ZGSxGFDYIRbpA UnVRDCLeX9tUrlAZJOWneJC0/DmlTduJ9LZ8q1KdDjVtks7/mPoZAvP/ivax4XCIA+WF VKapwfkWjdJ70RUGHwGNoHkZBMC1yRE7HpYBQh05S10/9ePfnUkzKT4PQpG1GwZOLuC0 otyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=1vSZqJMnvEYK79BuKh6WUgr+O0wW6TMjJ9YpHKa1USU=; b=ShcU5mTUOnKmE55IULgaKWxHYmieYD0jvCU/cLXzyAGrnhJL+XBz9Nea5jfYu/vRiQ EbYEqwV4OIPjBFNLDBdNHqMPmSaDQvZhcS2e0hOczitKRMt5nrFH+WvEv7w20ED0wLs5 vcK7FHZGmyAZPsKR/zzhb56LvnuAP7KaRX22uxAyWmFdmOQoQeqJP0RVbRM167Sz459T YMZ9dFm6mcSQqTMAUoLmGvTfzwCf4kyirlFo3LXTpXsuAUK6T2HS5AaEGqWlgD/HNvRl LlJ2wVx5fwV5Jax7O3JVlik+f/DF/Fe+iXycmJOEOw8WWJM6cgrdxkY+u0021fKYWBdW hBJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Arm8SbO3; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w9si3222253pjv.67.2019.08.01.00.28.18; Thu, 01 Aug 2019 00:28:33 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Arm8SbO3; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729922AbfHAGVy (ORCPT + 99 others); Thu, 1 Aug 2019 02:21:54 -0400 Received: from mail-lf1-f68.google.com ([209.85.167.68]:39843 "EHLO mail-lf1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728884AbfHAGVy (ORCPT ); Thu, 1 Aug 2019 02:21:54 -0400 Received: by mail-lf1-f68.google.com with SMTP id v85so49273523lfa.6; Wed, 31 Jul 2019 23:21:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=1vSZqJMnvEYK79BuKh6WUgr+O0wW6TMjJ9YpHKa1USU=; b=Arm8SbO3zGrCc5avNA7dsMeg85DbeTjU5zzCj7quGtHPNxa8/SQT6F5BxoH/oW9lU+ rxTr+oQxxUsihwCoaxsTIyiDxgny9BvFH1L8WxV3tlw2KRSZPI+I16EN+PzHL0wEaHUC +wk5CNLeGxCaTXsaXuQW46Zml1KG+s2Q/hXX165ScX10Rhvf74bOIcX4NlnjS54S8AHI xxbUlheuiKF7RwuNv+h83UPOZrSFZ33E+Xxk7rMCrOZA2taAypqDXjNgZlx09PmqGlUu hhWb44TjnRf0xQuebHwAMIC2EBjamD7JbUM+fNSQmxuS4VBghCU1+21vEVInMcUZd824 MIiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=1vSZqJMnvEYK79BuKh6WUgr+O0wW6TMjJ9YpHKa1USU=; b=mbrCGxUODrxQXCwo2X2gWQS2vKP4+VyXUKTwc9WJEt7HFuu4Uhd2GYdX+LgUrUoHk0 17u1HT54TVSXox3DW3o1dOkgzwpc6IJIXDabA8pXCDG6KFZw7ia6GxCC2PDZom29tGBC dWaTuFSxXH0E6VLrkqwHADahw2rFpXfB2WytsciYKdgJNWMvS7YKVTnweXX6ErccqzzY 1ZuX2R8G3piYFqapH4UAbmqTNdhItcAjqfrtK4h+nR9Fws8xfBfqPXndt8m5Sx/Hjdn0 i+uhgMynLT633kvHzy/WZbWN5XPWiAKgPcxN9EG+m21zu7GHJ+R2Uy4DbN5HvV948kVX oRcg== X-Gm-Message-State: APjAAAWkKO1OChjVwrawXHg7oEB9/4FMlw93cFNPKNo9V0tZ3VWZbtvL K3YYvxC3bqQArpfQ8bfKj4nGtXTt3RTO++UldCI= X-Received: by 2002:a19:641a:: with SMTP id y26mr58261160lfb.29.1564640511451; Wed, 31 Jul 2019 23:21:51 -0700 (PDT) MIME-Version: 1.0 References: <1564489420-677-1-git-send-email-sumit.garg@linaro.org> In-Reply-To: From: Janne Karhunen Date: Thu, 1 Aug 2019 09:21:39 +0300 Message-ID: Subject: Re: [RFC v2 0/6] Introduce TEE based Trusted Keys support To: Sumit Garg Cc: keyrings@vger.kernel.org, linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, Jens Wiklander , Jonathan Corbet , dhowells@redhat.com, jejb@linux.ibm.com, Jarkko Sakkinen , Mimi Zohar , James Morris , "Serge E. Hallyn" , Casey Schaufler , Ard Biesheuvel , Daniel Thompson , Linux Doc Mailing List , Linux Kernel Mailing List , linux-arm-kernel , "tee-dev @ lists . linaro . org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 31, 2019 at 4:58 PM Sumit Garg wrote: > > To clarify a bit further - my thought was to support any type of trust > > source. > > That could be very well accomplished via Trusted Keys abstraction > framework [1]. A trust source just need to implement following APIs: > > struct trusted_key_ops ts_trusted_key_ops = { > .migratable = 0, /* non-migratable */ > .init = init_ts_trusted, > .seal = ts_key_seal, > .unseal = ts_key_unseal, > .get_random = ts_get_random, > .cleanup = cleanup_ts_trusted, > }; Which is basically the same as implementing a new keytype in the kernel; abstraction is not raised in any considerable manner this way? I chose the userspace plugin due to this, you can use userspace aids to provide any type of service. Use the crypto library you desire to do the magic you want. > > With the > > user mode helper in between anyone can easily add their own thing in > > there. > > Isn't actual purpose to have trusted keys is to protect user-space > from access to kernel keys in plain format? Doesn't user mode helper > defeat that purpose in one way or another? Not really. CPU is in the user mode while running the code, but the code or the secure keydata being is not available to the 'normal' userspace. It's like microkernel service/driver this way. The usermode driver is part of the kernel image and it runs on top of a invisible rootfs. -- Janne