Re: NSS 3.14 release

2012-10-26 Thread Wolfgang Rosenauer
Hi,

I'm trying to provide that version as an RPM package and also run the
testsuite within the build process.

With that version the testsuite fails:

[ 1202s] chains.sh: #2294: Test that OCSP server is reachable - FAILED
[ 1202s] chains.sh: #4023: Test that OCSP server is reachable - FAILED
[ 1202s] chains.sh: #6393: Test that OCSP server is reachable - FAILED

Is it trying to reach an external server here? That wouldn't work in
that build environment. Is there a way to change that?

I already have
export BUILD_OPT=1
export HOST=localhost
export DOMSUF= 
export USE_IP=TRUE
export IP_ADDRESS=127.0.0.1
in my environment.


Thanks,
 Wolfgang
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-26 Thread Brian Smith
julien.pie...@oracle.com wrote:
 Oracle still ships NSS with many products even though we are no
 longer actively involved with its development.

It is important to have somebody at least monitoring the bugs filed/fixed in 
the NSS component in bugzilla. See 
https://bugzilla.mozilla.org/userprefs.cgi?tab=component_watch for how you can 
subscribe to a feed of all NSS bug discussions.

Chris Newman wrote:
 --On October 24, 2012 22:19:40 -0700 Julien Pierre
 julien.pie...@oracle.com wrote:
  Oracle still ships NSS with many products even though we are no
  longer actively involved with its development. We do pick up new
  releases from time to time. We picked up 3.13.x last year and I'm
  looking into picking up 3.14 .
  2)
  - The NSS license has changed to MPL 2.0. Previous releases were
  released under a MPL 1.1/GPL 2.0/LGPL  2.1 tri-license. For more
  information about MPL 2.0, please see
  http://www.mozilla.org/MPL/2.0/FAQ.html. For an additional
  explantation
  on GPL/LGPL compatibility, see security/nss/COPYING in the source
  code.
 
  This may be a serious problem also, but IANAL, so that is not for
  me to decide.
 
 Will vulnerability fixes can be provided on the NSS 3.13.x patch
 train? And if so, is there a date when vulnerability fixes will no
 longer be provided for that version?

First, I think pretty much everybody agrees that, concerns about backward 
compatibility aside, the changes that were made were all positive. And, so, we 
have to balance backward compatibility with old versions of NSS with 
compatibility with websites on the internet and compatibility with web 
browsers. Now, there are no people actively contributing to NSS that are 
arguing in favor of absolute backward compatibility.

AFAICT, there is no plan to work on 3.13.x any more. IMO, it is better to 
continue to focus development on the trunk.

Even if somebody were to backport fixes to 3.13.x, then that work would also be 
under the MPL 2.0, for various reasons that, at this point, I think we cannot 
do anything about. For example, all the fixes in the new version are assumed to 
have been contributed under MPL 2.0. See the MPL 2.0 FAQ that contains the 
email address to send licensing questions to: 
http://www.mozilla.org/MPL/2.0/FAQ.html

Also, I thought the goal was/is to remove the bypass mode code soon. Perhaps 
that decision will partly be based on how much it gets in the way of the TLS 
1.2 implementation? I would be surprised if we required the TLS 1.2 
implementation to support the bypass mode.

By the way, I think it would be very useful to know what causes the difference 
in performance between the bypass mode and the non-bypass mode, to see if we 
can optimize the non-bypass mode so that everybody (including users of NSS 
outside of libssl) can get the performance improvements.

Cheers,
Brian
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-26 Thread Brian Smith
Julien Pierre wrote:
 I know what code changes are necessary. I'm only a developer on a
 couple of NSS applications at this point, not an NSS maintainer.
 If this was only about those couple of apps, it wouldn't be an issue.
 But there are other apps in Oracle that could be affected.
 I can safely say that tracking and modifying every single app that
 this binary compatibility change may affect is not going to happen at
 Oracle at this point. Many other apps may not have the same kind of
 tests we have for ciphers and won't even catch the issue. As NSS gets
 distributed as patches to many existing application, binary
 compatibility is a requirement.

Generally everybody is trying to maintain binary compatibility by default. But, 
there are other concerns too, such as compatibility with other implementations, 
and/or cost of maintenance issues, that may sometimes outweigh any binary 
compatibility requirement. 

Regarding the cipher suite changes, I think that overall, more applications 
will benefit than will be hurt. In fact, although it is probably the case that 
some Oracle products are affected, it isn't clear from your message whether 
the effect is negative or positive.

 I agree that they should be, but the decision of the defaults was
 always up to the application until now.

When an application does not explicitly set the set of enabled cipher suites, 
and/or it doesn't set a particular SSL option, then IMO it is saying Let the 
NSS library decide what is best for me. If that isn't a good policy for an 
application, then it should set the options explicitly.

 Unless the DES ciphers were broken, I don't see the rationale
 for this change.

These were the not the 3DES ciphers; they were the original, weak, DES ciphers. 
In 2012 it is not worth analyzing whether DES ciphers are strong enough to keep 
enabled, because it is clear that they are obsolete, and everybody recommends 
against their use. But, also, see:
http://en.wikipedia.org/wiki/Data_Encryption_Standard#Security_and_cryptanalysis

In 2008 their COPACOBANA RIVYERA reduced the time to break DES to less than 
one day, using 128 Spartan-3 5000's.

Cheers,
Brian
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-26 Thread Chris Newman

--On October 26, 2012 11:52:47 -0700 Brian Smith bsm...@mozilla.com wrote:

julien.pie...@oracle.com wrote:

Oracle still ships NSS with many products even though we are no
longer actively involved with its development.


It is important to have somebody at least monitoring the bugs filed/fixed
in the NSS component in bugzilla. See
https://bugzilla.mozilla.org/userprefs.cgi?tab=component_watch for how
you can subscribe to a feed of all NSS bug discussions.


Thanks, I subscribed.


Chris Newman wrote:

Will vulnerability fixes can be provided on the NSS 3.13.x patch
train? And if so, is there a date when vulnerability fixes will no
longer be provided for that version?


First, I think pretty much everybody agrees that, concerns about backward
compatibility aside, the changes that were made were all positive.


I consider the license change a big negative at a minimum because it will 
cause several engineers to waste time interacting with lawyers. I consider 
the technical changes positive to the degree I understand them, including 
the compatibility changes (I don't share Julien's concerns on that point).


And, so, we have to balance backward compatibility with old versions of 

NSS

with compatibility with websites on the internet and compatibility with
web browsers. Now, there are no people actively contributing to NSS that
are arguing in favor of absolute backward compatibility.

AFAICT, there is no plan to work on 3.13.x any more. IMO, it is better to
continue to focus development on the trunk.

Even if somebody were to backport fixes to 3.13.x, then that work would
also be under the MPL 2.0, for various reasons that, at this point, I
think we cannot do anything about. For example, all the fixes in the new
version are assumed to have been contributed under MPL 2.0. See the MPL
2.0 FAQ that contains the email address to send licensing questions to:
http://www.mozilla.org/MPL/2.0/FAQ.html


I can't provide any MPL 2.0 code to customers with problems unless/until my 
employer's legal department approves doing so.


- Chris

--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-25 Thread Kai Engert
On Thu, 2012-10-25 at 15:36 +0200, Wolfgang Rosenauer wrote:

 With that version the testsuite fails:
 
 [ 1202s] chains.sh: #2294: Test that OCSP server is reachable - FAILED
 [ 1202s] chains.sh: #4023: Test that OCSP server is reachable - FAILED
 [ 1202s] chains.sh: #6393: Test that OCSP server is reachable - FAILED
 
 Is it trying to reach an external server here? 

Yes. Because NSS doesn't contain OCSP server code yet, the test suite
currently depends on contacting an external server (running on host
kuix.de).

 That wouldn't work in
 that build environment. Is there a way to change that?

Not right now. You'll have to disable the test, or ignore those failures
in your restricted environment.

Removing that dependency will require contributions to
https://bugzilla.mozilla.org/show_bug.cgi?id=663733

Regards
Kai



smime.p7s
Description: S/MIME cryptographic signature
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Re: NSS 3.14 release

2012-10-25 Thread Wan-Teh Chang
On Wed, Oct 24, 2012 at 10:19 PM, Julien Pierre
julien.pie...@oracle.com wrote:

 The following changes may be problematic :

 1) * New default cipher suites

 ( https://bugzilla.mozilla.org/show_bug.cgi?id=792681 )

 The default cipher suites in NSS 3.14 have been changed to better
 reflect the current security landscape. The defaults now better match
 the set that most major Web browsers enable by default.

 This doesn't just affect browsers. There are other client apps that were
 written with the existing defaults in mind.

Any client apps that care about the exact cipher suites enabled need
to enable and disable each cipher suite explicitly. This Chromium code
in this file can be used as code example:

http://src.chromium.org/viewvc/chrome/trunk/src/net/socket/nss_ssl_util.cc?revision=151846view=markup

Search for Explicitly enable exactly those ciphers with keys of at
least 80 bits in that page. You can use different criteria
appropriate for the client app.

 I could understand if this change was only about removing cipher suites that
 have had vulnerabilities removed from the default list. But this not the
 case, and some ciphers were also added.
 It would appear to be a binary compatibility problem. Some applications may
 not behave as intended without both a source change and recompilation, ie.
 some ciphers will be enabled when they are not expected to be.
 This change will break one of the test suites we have with our web server
 and traffic director applications, in particular.

 If this change was done in order to save a few lines of code in the browser
 at the cost of breaking existing applications, it doesn't seem like a good
 tradeoff.
 In the past, binary compatibility was always maintained for minor NSS
 releases. Was it the deliberate intent of NSS 3.14 to break binary
 compatibility ?

You need to change your tests to explicitly enable the desired cipher
suites and disable the undesired cipher suites, and not depend on the
defaults. Sorry about the inconvenience.

In year 2012, AES cipher suites, rather than (single) DES cipher
suites, should be enabled by default. We decided to break this
compatibility to improve security. This is also why we disabled SSL
2.0 by default in NSS 3.13
(https://bugzilla.mozilla.org/show_bug.cgi?id=593080). Note that we
waited another two years to change the cipher suite defaults. I think
this is already very conservative.

 3)* Support for TLS 1.1 (RFC 4346) has been added

 ( https://bugzilla.mozilla.org/show_bug.cgi?id=565047 )

 To better support TLS 1.1 and future versions of TLS, a new version
 range API was introduced to allow applications to specify the desired
 minimum and maximum versions. These functions are intended to replace
 the now-deprecated use of the SSL_ENABLE_SSL3 and SSL_ENABLE_TLS socket
 options.

 Q: will unmodified applications that use the deprecated interfaces still
 continue to work identically ? This appears to be the case from reading the
 above bug, but I want to make sure that is correct.

Yes, I confirm that.

 4) SSL PKCS#11 bypass is now conditionally built.
 https://bugzilla.mozilla.org/show_bug.cgi?id=745281

 ...
 I would like to know if the bypass feature got tested when the patch was
 created, and whether it will still be getting tested at all going forward
 other than at Oracle.

Yes. The default NSS build still compiles the SSL PKCS#11 bypass code.

Wan-Teh
-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-25 Thread Chris Newman
--On October 24, 2012 22:19:40 -0700 Julien Pierre 
julien.pie...@oracle.com wrote:

2)
- The NSS license has changed to MPL 2.0. Previous releases were
released under a MPL 1.1/GPL 2.0/LGPL  2.1 tri-license. For more
information about MPL 2.0, please see
http://www.mozilla.org/MPL/2.0/FAQ.html. For an additional explantation
on GPL/LGPL compatibility, see security/nss/COPYING in the source code.


This may be a serious problem also, but IANAL, so that is not for me to
decide.


Will vulnerability fixes can be provided on the NSS 3.13.x patch train? And 
if so, is there a date when vulnerability fixes will no longer be provided 
for that version?


- Chris

--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-25 Thread Julien Pierre

Wan-Teh,

Thanks for your response, comments inline.

On 10/25/2012 11:17, Wan-Teh Chang wrote:


Any client apps that care about the exact cipher suites enabled need
to enable and disable each cipher suite explicitly. This Chromium code
in this file can be used as code example:

http://src.chromium.org/viewvc/chrome/trunk/src/net/socket/nss_ssl_util.cc?revision=151846view=markup
I know what code changes are necessary. I'm only a developer on a couple 
of NSS applications at this point, not an NSS maintainer.
If this was only about those couple of apps, it wouldn't be an issue. 
But there are other apps in Oracle that could be affected.
I can safely say that tracking and modifying every single app that this 
binary compatibility change may affect is not going to happen at Oracle 
at this point.
Many other apps may not have the same kind of tests we have for ciphers 
and won't even catch the issue.
As NSS gets distributed as patches to many existing application, binary 
compatibility is a requirement.
In year 2012, AES cipher suites, rather than (single) DES cipher 
suites, should be enabled by default. We decided to break this 
compatibility to improve security. 
I agree that they should be, but the decision of the defaults was always 
up to the application until now.


This is also why we disabled SSL 2.0 by default in NSS 3.13 
(https://bugzilla.mozilla.org/show_bug.cgi?id=593080). 
SSL 2.0 has been broken for some time, and nobody can argue with 
changing that default, certainly not me.
But adding new ciphers to the default list is a different kind of 
change. Unless the DES ciphers were broken, I don't see the rationale 
for this change.



Q: will unmodified applications that use the deprecated interfaces still
continue to work identically ? This appears to be the case from reading the
above bug, but I want to make sure that is correct.
Yes, I confirm that.

Thanks !



4) SSL PKCS#11 bypass is now conditionally built.
https://bugzilla.mozilla.org/show_bug.cgi?id=745281

...
I would like to know if the bypass feature got tested when the patch was
created, and whether it will still be getting tested at all going forward
other than at Oracle.

Yes. The default NSS build still compiles the SSL PKCS#11 bypass code.

Great !
--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto


Re: NSS 3.14 release

2012-10-24 Thread Julien Pierre
Oracle still ships NSS with many products even though we are no longer 
actively involved with its development. We do pick up new releases from 
time to time. We picked up 3.13.x last year and I'm looking into picking 
up 3.14 .


The following changes may be problematic :

1) * New default cipher suites
( https://bugzilla.mozilla.org/show_bug.cgi?id=792681 )

The default cipher suites in NSS 3.14 have been changed to better
reflect the current security landscape. The defaults now better match
the set that most major Web browsers enable by default.


This doesn't just affect browsers. There are other client apps that were 
written with the existing defaults in mind.


I could understand if this change was only about removing cipher suites 
that have had vulnerabilities removed from the default list. But this 
not the case, and some ciphers were also added.
It would appear to be a binary compatibility problem. Some applications 
may not behave as intended without both a source change and 
recompilation, ie. some ciphers will be enabled when they are not 
expected to be.
This change will break one of the test suites we have with our web 
server and traffic director applications, in particular.


If this change was done in order to save a few lines of code in the 
browser at the cost of breaking existing applications, it doesn't seem 
like a good tradeoff.
In the past, binary compatibility was always maintained for minor NSS 
releases. Was it the deliberate intent of NSS 3.14 to break binary 
compatibility ?


2)
- The NSS license has changed to MPL 2.0. Previous releases were
released under a MPL 1.1/GPL 2.0/LGPL  2.1 tri-license. For more
information about MPL 2.0, please see
http://www.mozilla.org/MPL/2.0/FAQ.html. For an additional explantation
on GPL/LGPL compatibility, see security/nss/COPYING in the source code.


This may be a serious problem also, but IANAL, so that is not for me to 
decide.


3)* Support for TLS 1.1 (RFC 4346) has been added
( https://bugzilla.mozilla.org/show_bug.cgi?id=565047 )

To better support TLS 1.1 and future versions of TLS, a new version
range API was introduced to allow applications to specify the desired
minimum and maximum versions. These functions are intended to replace
the now-deprecated use of the SSL_ENABLE_SSL3 and SSL_ENABLE_TLS socket
options.

Q: will unmodified applications that use the deprecated interfaces still 
continue to work identically ? This appears to be the case from reading the 
above bug, but I want to make sure that is correct.

4) SSL PKCS#11 bypass is now conditionally built.
https://bugzilla.mozilla.org/show_bug.cgi?id=745281

I understand that nobody but Oracle is using bypass at this time. I 
appreciate the efforts not to delete the code altogether.
I would like to know if the bypass feature got tested when the patch was 
created, and whether it will still be getting tested at all going 
forward other than at Oracle.



--
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto