> Jeffrey Altman wrote:

 >> I think we need to take a very close look at the situations when
 >> it is safe to replace memset(buf,0,sizeof(buf)) with
 >> OPENSSL_cleanse(buf,sizeof(buf)).  It is clearly safe to make this

[snip]

 Ben> OPENSSL_cleanse() should be followed by a memset()? OTOH, if the
 Ben> result of memset() is used, then it can't be optimised away...

 Yoram> Same concerns are raised while trying to gain performance by
 Yoram> reusing the SSL structure, instead of reallocating it for new
 Yoram> connection establishment.  Using SSL_clear(SSL *s), as part of
 Yoram> the reuse flow, involves a call to OPENSSL_cleanse.

 Yoram> Following OPENSSL_cleanse with a call to memset() may result
 Yoram> with performance degradation. Are the OPENSSL_cleanse
 Yoram> replacements required in all cases ? Should we be able to
 Yoram> dynamically define which behavior is preferable ?

Configurable behaviour is certainly preferable for many embedded
applications.  Processes typically don't have the separation on
embedded apps that big iron boxes do.  I guess that there are many
instances where OpenSSL does things in order to prevent prying eyes on
the same box.

I can appreciate this on my Linux machine.  However, most people
wouldn't want this on a router.  Perhaps a macro like the NO_MD5, etc
could be used.  I know that the BIO's make this rather slick for the
ciphers.  Conditionalization of counter-measures against host
originating attacks might be much more difficult to implement.

fwiw,
Bill Pringlemeir.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to