Martin Witzel wrote:

Hi,

I wonder how OpenSSL users are handling the export regulations.
OpenSSL is made of libraries, therefore libssl needs to call libcrypto
to perform cryptographic operations with SSL keys which have been
derived in libssl. How should libcrypto know whether a 128-bit SSL key
contains reconstructable bits like in RC4-40, or whether it is a full-
strength RC4-128 key?
There are more things to observe than just this one if you want to ensure
that cryptographic capabilities are limited but this one is just used as
one of the more interesting examples.

The basic question amounts to: Is there an exportable version of OpenSSL?

U.S. Export home page for encryption can be found at

http://www.bxa.doc.gov/Encryption/Default.htm

Links from the above page will reference the actual
regulations covering all manner of exports which can
be found at

http://w3.access.gpo.gov/bis/ear/ear_data.html

And then the standard recommendation is to get qualified
counsel before exporting, or I expect you can submit the
BIS documentation and see if they will give you permission
to export. But in any case you will likely want to review
the BIS web pages and some of the regulations to get a feel
for what is required. The following is merely my take and
obviously BIS is the final authority.

From the Guidance link you will see a Source Code link
and that link page will cover the TSU exception procedures
that would be applied to OpenSSL.

You may also want to look at the ENC exception page at

http://www.bxa.doc.gov/Encryption/enc.htm

The basic useful classifications are:

Publicly available source code: if you post your source, e.g.,
on the web, whatever that source code may be, you can export
it without restriction (except that you may not intentionally
export to certain countries, such as Iraq). That is, if you
provide a general download page, as most download pages
are, then if someone from Iraq happens to download your
publicly available code, you should be OK.

Key bit length restricted code: 512 bits for asymmetric and
56 bits for symmetric (or less in each case) software that is not
open source. You should be able to export weak encryption
(with likely specific download controls to avoid exports to the
few noted countries).

All other routes require a fair amount of red tape, except
where you restrict exports to only a few noted countries,
England being one, an option that seems marginal.

But you will need to provide the proper notifications to BIS
in either of the above cases.

The result is that you should be able to export OpenSSL-only
code either source or compiled without restriction (TSU). The
problems arise when you either make any modifications to
the  SSL code or link it statically or dynamically with your
private code.

If your private code has encryption components, which is
frequently hard to avoid, then the easy export for OpenSSL
does not help you. Although I have not tried it, it seems as
though software without encryption components that linked
to OpenSSL might still obtain the easy export for OpenSSL
if some care was taken, but that route is not made clear at
the BIS pages.

I am currently statically linking to OpenSSL and hard
coding the specific weak encryption options and exporting
under the weak encryption option, and of course with proper
BIS notification.

You can email or phone BIS and speak directly to someone
at their federal offices.

http://www.bxa.doc.gov/Encryption/contacts.htm

Also, and this does not change any of the above legal
requirements, it seems to be well known that given the
easy access to strong encryption by anyone with only a
moderate coding ability, a PC, and Internet access, that
any person or government wanting to deploy unbreakable
encryption methods can easily do so, making encryption
export regulations of little practical use for their stated
national defense purposes.

Regards,

Neil Nelson


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

Reply via email to