Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756837Ab3IKSqA (ORCPT ); Wed, 11 Sep 2013 14:46:00 -0400 Received: from imap.thunk.org ([74.207.234.97]:58442 "EHLO imap.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755023Ab3IKSp7 (ORCPT ); Wed, 11 Sep 2013 14:45:59 -0400 Date: Wed, 11 Sep 2013 14:45:09 -0400 From: "Theodore Ts'o" To: Andy Lutomirski Cc: David Safford , "H. Peter Anvin" , Leonidas Da Silva Barbosa , Ashley Lai , Rajiv Andrade , Marcel Selhorst , Sirrix AG , Linux Kernel Mailing List , Jeff Garzik , Kent Yoder , David Safford , Mimi Zohar , "Johnston, DJ" Subject: Re: TPMs and random numbers Message-ID: <20130911184509.GB13397@thunk.org> Mail-Followup-To: Theodore Ts'o , Andy Lutomirski , David Safford , "H. Peter Anvin" , Leonidas Da Silva Barbosa , Ashley Lai , Rajiv Andrade , Marcel Selhorst , Sirrix AG , Linux Kernel Mailing List , Jeff Garzik , Kent Yoder , David Safford , Mimi Zohar , "Johnston, DJ" References: <1378920168.26698.64.camel@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: tytso@thunk.org X-SA-Exim-Scanned: No (on imap.thunk.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1275 Lines: 27 On Wed, Sep 11, 2013 at 10:49:59AM -0700, Andy Lutomirski wrote: > > A TPM that has an excellent internal entropy source and is FIPS 140-2 > compliant with no bugs whatsoever may still use Dual_EC_DRBG, which > looks increasingly likely to be actively malicious. To be fair, given the limited CPU found in most TPM's, using Dual_EC_DRBG would be rather unlikely. It's more likely that the TPM would be using a real hardware RNG --- and if the TPM was compromised by some evil spy agency, it would be doing using something like AES_ENCRYPT(i++, NSA_KEY), not using Dual_EC_DRBG. > I'd be *much* happier if my system read a few hundred random bytes > from the TPM at startup and fed those bytes into the kernel's entropy > pool. This should IMO happen at startup as early as possible. We should definitely do this. If the TPM driver could fetch some randomness and then call add_device_randomness() to feed this into the random driver's entropy pool when it initializes itself, that would be ***really*** cool. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/