Re: The OpenSSL API
- From: David Schwartz <davids@xxxxxxxxxxxxx>
- Date: Thu, 16 Aug 2007 11:49:07 -0700
On Aug 16, 3:27 am, Harold Weissman <Harold...@xxxxxxxxxxx> wrote:
Can anybody in this forum explain why the API exposed by OpenSSL
is so complicated?
The short answer is that security is complicated.
I am thinking from the point of view of an application
A that wishes to exchange data securely with some remote application B
using SSL. I would naively thought that an API with four calls would be
enough: One for establishing the secure channel, another for sending
data, another for receiving data, and one for terminating the secure
channel.
Perhaps a niche solution that supported only a single application and
security model could be made that simple.
In my view, the application developer only wants to use security
afforded by the protocol, without having to know anything much (or at
all) about the protocol itself - after all, when doing sockets
programming, one does not have know much about TCP/IP, right? However,
the OpenSSL API forces application developers to do many of the protocol
chores by hand, so to speak.
I'm afraid that painful experience has proven that it is impossible to
produce a secure application without being an expert in computer
security. Even using a library like OpenSSL that tries as hard as it
can to make it easy, there are still so many ways that you can screw
it up. You need someone who has already made all those mistakes.
Since the designers of the OpenSSL are clearly not stupid, I must
be missing something important here. What is it?
What you are missing is that computer security is so hard that secure
applications require a computer security expert to at least review
their design and guide their implementation.
I could give you a list of examples, but one should be enough. Diebold
screwed up RSA signatures in their voting machines by comparing only
160-bits of the signature since they used a 160-bit hash. (See section
3.5)
http://election.dos.state.fl.us/pdf/SAITbrowningLetter.pdf
DS
.
- Follow-Ups:
- Re: The OpenSSL API
- From: Harold Weissman
- Re: The OpenSSL API
- References:
- The OpenSSL API
- From: Harold Weissman
- The OpenSSL API
- Prev by Date: Re: Apache server problem in redhat 9
- Next by Date: Re: Considering a Transition from Windows to Linux
- Previous by thread: The OpenSSL API
- Next by thread: Re: The OpenSSL API
- Index(es):
Relevant Pages
|