Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread Dave Del Torto

At 6:19 pm -0500 2000-01-26, Tom McCune wrote:
Just in case anyone else is interested in my findings on whether I could
use the Intel RNG with my Celeron machine:
I needed help to find the driver installation file at the Dell site
- I had searched for Intel RNG, but it can be found by searching for
Intel Security Driver.  It can be used by Celeron machines, but not
mine::-(

Tom,

If you're right, this could be a *feature* of your Celeron, not a bug.

Persons who shall remain nameless shared some info with me (under
privacy lock: I'm not prepared to discuss the details they provided
in public without permission) about the Intel RNG and how it was
presented for review by various software vendors. Coupled with my
experience in my former corporate security job where we "reviewed"
limited aspects of similar Intel technology, I'm now just about on
the same wavelength as Bill Geiger at this point (though our styles
differ significantly, I respect Bill's learnéd opinion).
This is to say that:

(A) I'm not sanguine about it being a "default" in any version of
  PGP, knowing what I do and having been told more by others,
(B) I strongly encourage the PGP engineering group to include and
  explicit checkbook preference/option for disabling PGP's use
  of the Intel RNG completely into v7.0,
(C) I'm troubled that Intel has not yet --even at this late date--
  provided comprehensive technical data on how the RNG works
  for public review and,
(D) I'm extremely glad there doesn't appear to be one in my Mac or
  SparcStation, and my hand-built PC's have AMD K2/3's in 'em. ;)

I'm definitely NOT out to scare anyone or start any silly rumors, so
if anyone on this list is unclear about why this COULD BE a very
serious security threat situation, FIRST, I recommend that you not
comment on the situation off of this list (i.e. starting uninformed
rumors on Usenet or elsewhere) unless you're a mathematician or
security professional who knows something about random number
generation and SECOND that you be aware of the following: ALL of the
strength of your cryptographic security is based primarily on RNGs
(Random Number Generators) and their ability to generate
cryptographically-random seed values for everything from public
keypair generation (your identity and security) to session key
generation (each message's cryptographic randomness).

Left on it's own, PGP's software PseudoRNG has been studied
extensively, and while it's not *perfect* the community knows it's
flaws, considers them manageable, and has compensated for them
adequately to date.

Also, I'm NOT saying that the following is the status quo, but a
cautious person's analysis of hypothetical situations where the
unknown Intel RNG could be a security threat might go something like
this:

IF 1+2+3+4=TRUE, where:

(1) a large security software vendor were pressured at the executive
  level and unknown to the engineering staff,
(2) (directly or indirectly) by government officials in charge of
  message interception,
(3) to incorporate a piece of hardware, designed in secret and kept
  proprietary, that generated flawed randomness and thus provides
  traction for cryptanalytic attacks
(4) even on large keysizes now allowed for export under current
  regulations and thought (mistakenly?) by the security community
  to be reasonably secure...

THEN:
A product from that vendor using that hardware RNG cannot truly be
considered secure against the most sophisticated attacker.

The solution would be for Intel to fully divulge precisely how it's
RNG works, not only to vendors like the hypothetical one above, but
to the entire Internet community. If it turns out that it's a really
great RNG, then we can all rest more easily. If it turns out that it
produces non-random strings that compromise keys and messages (and
adds processor-unique id strings and timestamps ;), then all PGP
users have the right to know about it immediately and eschew use of
Intel products that incorporate that RNG.

Several good questions remain unanswered: why has Intel not revealed
how this RNG works to the world? Why has Intel not at least
completely divulged the internal functions to the PGP engineering
team (who I'd trust a lot more than Intel, since they have good
engineers on staff who still *have* a reputation for integrity to
protect). What exactly are they protecting themselves from, or what
pressures are they under from external entities to provide an
intentionally-flawed security product to benefit the spy agencies,
a la the infamous Walsh Report?
(c.f. http://www.efa.org.au/Issues/Crypto/Walsh/index.htm.)

Keep in mind that the vendors themselves may be unwitting victims of
Intel's (forced?) collaboration with unknown agencies.

Note also that OpenPGP would *never* incorporate RNG input from a
proprietary device as a "MUST" in any draft or RFC. NAI's PGP is not
currently fully OpenPGP-compliant in this regard, though it's
functionally 

Companies Ignore China's Encryption Regulations (was Re:NewsScan Daily, 1 February 2000 (Above The Fold))

2000-02-02 Thread R. A. Hettinga

At 9:48 AM -0700 on 2/1/00, NewsScan wrote:


 COMPANIES IGNORE CHINA'S ENCRYPTION REGULATIONS
 If everyone covered by China's new regulations on encryption registration
 had complied, about nine million Internet users would have shown up in one
 tiny government office to hand-deliver a form specifying what kind of
 encryption they used on their computers. Instead, only a handful of people
 showed up. Chinese officials have said there will be no extension of the
 deadline, but apparently have not yet decided what to do about the companies
 that missed it -- a group that includes virtually every Chinese and foreign
 company doing business in China.  (Reuters/New York Times 1 Feb 2000)
 http://www.nytimes.com/library/tech/00/02/biztech/articles/01china-encryptio
 n.html

-
R. A. Hettinga mailto: [EMAIL PROTECTED]
The Internet Bearer Underwriting Corporation http://www.ibuc.com/
44 Farquhar Street, Boston, MA 02131 USA
"... however it may deserve respect for its usefulness and antiquity,
[predicting the end of the world] has not been found agreeable to
experience." -- Edward Gibbon, 'Decline and Fall of the Roman Empire'



Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread lcs Mixmaster Remailer

It may not have been mentioned here, but Intel has
released the programmer interface specs to their RNG, at
http://developer.intel.com/design/chipsets/manuals/298029.pdf.
Nothing prevents the device from being used in Linux /dev/random now.

As for the concerns about back doors, the best reference on
the design of the RNG remains cryptography.com's analysis at
http://www.cryptography.com/intelRNG.pdf.  Paul Kocher and his team
concluded that the chip was well designed and that the random numbers were
of good quality.  (Note, BTW that the RNG is extremely small, crammed
into the margins of the device.  An RNG which produced undetectably
backdoored random date would probably be an order of magnitude larger.)

Even if Intel wanted to put in a back door, it would be very difficult
to exploit it successfully.  There is no way for the chip to predict how
any given random bit will be used: it may go into a session key directly,
it may be hashed through some kind of mixing function along with other
sources of randomness, it may seed a PRNG which is then used to find
RSA primes.  There are a multitude of different possibilities and it
would be hard in general to design an effective backdoor without knowing
how the output will be used.

And as pointed out before, this level of paranoia is ultimately self
defeating, as Intel could just as easily put back doors into its CPU.
Unless or until you are willing to use a self-designed and self-fabbed
CPU, you are fundamentally at the mercy of the hardware manufacturer.



Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread Martin Minow

lcs Mixmaster Remailer wrote:

 As for the concerns about back doors, the best reference on
 the design of the RNG remains cryptography.com's analysis at
 http://www.cryptography.com/intelRNG.pdf.

The one problem I have with the RNG, based on my reading of the
analysis, is that programmers cannot access the "raw" bitstream,
only the stream after the "digital post-processing" that converts
the bitstream into a stream of balanced 1 and 0 bits.
 
 And as pointed out before, this level of paranoia is ultimately self
 defeating, as Intel could just as easily put back doors into its CPU.

Also, there are much better places to leak information, including
keyboard and monitor designs that radiate detectable signals (the
"Tempest" problem).

Martin Minow
[EMAIL PROTECTED]



Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread Arnold G. Reinhold

At 9:00 PM + 2/2/2000, lcs Mixmaster Remailer wrote:
It may not have been mentioned here, but Intel has
released the programmer interface specs to their RNG, at
http://developer.intel.com/design/chipsets/manuals/298029.pdf.
Nothing prevents the device from being used in Linux /dev/random now.

As for the concerns about back doors, the best reference on
the design of the RNG remains cryptography.com's analysis at
http://www.cryptography.com/intelRNG.pdf.  Paul Kocher and his team
concluded that the chip was well designed and that the random numbers were
of good quality.  (Note, BTW that the RNG is extremely small, crammed
into the margins of the device.  An RNG which produced undetectably
backdoored random date would probably be an order of magnitude larger.)

I respect Paul, but there is a matter of principle here. Crypto is 
hard enough without having to rely on trusted experts to verify what 
should simply be made public. The business case for Intel's RNG 
secrecy is weak at best. I want to make it weaker. As for the RNG 
being crammed in, who knows what will happen in future chips?


Even if Intel wanted to put in a back door, it would be very difficult
to exploit it successfully.  There is no way for the chip to predict how
any given random bit will be used: it may go into a session key directly,
it may be hashed through some kind of mixing function along with other
sources of randomness, it may seed a PRNG which is then used to find
RSA primes.  There are a multitude of different possibilities and it
would be hard in general to design an effective backdoor without knowing
how the output will be used.

I don't agree. All that is needed is for the backdoored RNG to 
produce an output stream that is determined by some state with a 
relatively small number of bits. Then an otherwise infeasible search 
strategy would become feasible. An attacker would still have to know 
how the program-under-attack used the RNG output, but we do not rely 
on software obscurity. (Of course if the RNG output is first mixed 
with another source of high entropy randomness then there is no added 
vulnerability. I am positing that, over time, vendors who use the 
Intel RNG will neglect this step.)


And as pointed out before, this level of paranoia is ultimately self
defeating, as Intel could just as easily put back doors into its CPU.
Unless or until you are willing to use a self-designed and self-fabbed
CPU, you are fundamentally at the mercy of the hardware manufacturer.


CPU back doors are a different risk and are more subject to your 
first criticism than the RNG. Weak random number generation is  a 
vulnerability common to almost all crypto systems. We should not 
lower standards in one area because there are risks in other areas. 
To paraphrase the Strategic Air command, "paranoia is our profession."

Arnold Reinhold





RE: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread Jeff Gilchrist

-Original Message-
From: Arnold G. Reinhold [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, February 02, 2000 5:14 PM
To: lcs Mixmaster Remailer; [EMAIL PROTECTED]
Subject: Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

 I respect Paul, but there is a matter of principle here. Crypto
 is hard enough without having to rely on trusted experts to
 verify what should simply be made public. The business case for
 Intel's RNG secrecy is weak at best. I want to make it weaker.
 As for the RNG being crammed in, who knows what will happen in
 future chips?

One thing that is probably worth pointing out is that the Intel RNG isn't
actually built into the CPU itself.  The RNG is in the motherboard chipset,
currently available on the Intel 810/820/840 chipsets.  If you have a
motherboard that does not contain the Intel 8x0 chipset then no matter what
CPU you are running, you will not have access to the Intel RNG.

Not that this changes anything about whether Intel should publish all the
specs or not, it just seems that the posts so far have not been clear and
some people may be confused.

Regards,
Jeff Gilchrist





Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread bram

On Wed, 2 Feb 2000, Martin Minow wrote:

  http://www.cryptography.com/intelRNG.pdf.
 
 The one problem I have with the RNG, based on my reading of the
 analysis, is that programmers cannot access the "raw" bitstream,
 only the stream after the "digital post-processing" that converts
 the bitstream into a stream of balanced 1 and 0 bits.

It not only does that, it hashes the thing using sha-1. For all we know,
the thing might be producing unacceptably small amounts of entropy for
crypto purposes but large enough amounts that it hardly ever repeats.

The work on the studying the output of Intel's RNG has only had accessed
to the post-processed output, plus I believe a file directly from Intel
which was claimed to be unprocessed output. Yeah ... right.

If Intel wants people to trust them, they should quit acting like they're
coving for bad engineering.

-Bram




Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread Eric Murray

On Tue, Feb 01, 2000 at 09:00:33PM -0800, Dave Del Torto wrote:
 At 6:19 pm -0500 2000-01-26, Tom McCune wrote:
 Just in case anyone else is interested in my findings on whether I could
 use the Intel RNG with my Celeron machine:
 I needed help to find the driver installation file at the Dell site
 - I had searched for Intel RNG, but it can be found by searching for
 Intel Security Driver.  It can be used by Celeron machines, but not
 mine::-(
 
 Tom,
 
 If you're right, this could be a *feature* of your Celeron, not a bug.
 
 Persons who shall remain nameless shared some info with me (under
 privacy lock: I'm not prepared to discuss the details they provided
 in public without permission) about the Intel RNG and how it was
 presented for review by various software vendors. Coupled with my
 experience in my former corporate security job where we "reviewed"
 limited aspects of similar Intel technology, I'm now just about on
 the same wavelength as Bill Geiger at this point (though our styles
 differ significantly, I respect Bill's learnéd opinion).
 This is to say that:
 
 (A) I'm not sanguine about it being a "default" in any version of
   PGP, knowing what I do and having been told more by others,
 (B) I strongly encourage the PGP engineering group to include and
   explicit checkbook preference/option for disabling PGP's use
   of the Intel RNG completely into v7.0,
 (C) I'm troubled that Intel has not yet --even at this late date--
   provided comprehensive technical data on how the RNG works
   for public review and,
 (D) I'm extremely glad there doesn't appear to be one in my Mac or
   SparcStation, and my hand-built PC's have AMD K2/3's in 'em. ;)

[..]


I've also received Intel security info under NDA (and nothing in
this post will violate same).  I do not think that your point D is
fair- even if the Intel RNG is totally and utterly compromised, it's
not a threat to your security just by being there on the chip.
Something has to call it and use it's output in a protocol.
I do agree with point B however.

Until Intel releases the design for the RNG, I would treat it the same
as any suspect source of entropy- assume that it can contain no
entropy.  That means that you whiten its output before mixing it
together with your other entropy sources (some of which you beleive do
provide real entropy) to provide random numbers.  If your entropy pool
mechanisim would still provide good random numbers if it got a constant
stream of zeros from the Intel RNG, then there's no harm that a
compromised Intel RNG could do to your protocol.
Don't use the Intel RNGs results directly in your protocols!
Heck, I don't even do that for h/w RNGs I _do_ know the design of.

Intel's refusal to publish info on their RNG could be because it's
compromised, or because their security people (some of whom are ex-
government) think that there is value to secrecy, or from some misguided
"trade secret" intellectual property reason (RNGs being patentable and
worth some money).  Unfortunately none of those reasons are all that
great.



-- 
 Eric Murray www.lne.com/~ericm  ericm at the site lne.com  PGP keyid:E03F65E5



Re: [PGP]: PGP 6.5.2 Random Number Generator (RNG) support

2000-02-02 Thread Arnold G. Reinhold

At 9:15 AM -0800 2/2/2000, Eric Murray wrote:
On Tue, Feb 01, 2000 at 09:00:33PM -0800, Dave Del Torto wrote:
  At 6:19 pm -0500 2000-01-26, Tom McCune wrote:
...
 
 (A) I'm not sanguine about it being a "default" in any version of
   PGP, knowing what I do and having been told more by others,
 (B) I strongly encourage the PGP engineering group to include and
   explicit checkbook preference/option for disabling PGP's use
   of the Intel RNG completely into v7.0,
 (C) I'm troubled that Intel has not yet --even at this late date--
   provided comprehensive technical data on how the RNG works
   for public review and,
 (D) I'm extremely glad there doesn't appear to be one in my Mac or
   SparcStation, and my hand-built PC's have AMD K2/3's in 'em. ;)

[..]


I've also received Intel security info under NDA (and nothing in
this post will violate same).  I do not think that your point D is
fair- even if the Intel RNG is totally and utterly compromised, it's
not a threat to your security just by being there on the chip.
Something has to call it and use it's output in a protocol.
I do agree with point B however.

The threat to my security from Intel's RNG "just by being there on 
the chip" is that more and more encryption products will come to rely 
on the Intel RNG alone, or combined with some inadequate source of 
entropy like the system clock.  Worse, more and more software vendors 
will adopt Intel's "trust us" attitude, and refuse to divulge details 
of their randomness generation. Some may even attempt to block 
reverse engineering that would expose their weaknesses, a la CSS.

Intel's marketing department would love to have a long list of 
products that "take advantage" of their proprietary RNG scheme. The 
open cryptographic community should endeavor to keep that list as 
short as possible, at least until Intel repents and opens its design 
to public inspection and verification.

Arnold Reinhold