Re: New Rx security model
Beck David <dbeck <at> beckground.hu>
2008-08-30 21:46:01 GMT
Jason Edgecombe wrote:
Derrick Brashear wrote:
A gentleman by the name of David Beck has given us a pointer to work
he has done on a new security model for Rx. I cannot vouch for it yet
as I have not completed a review of those code, however I will do so
and encourage other interested parties to do the same.
The rt0d4 (Random Thoughts On Distributed Algorithms) project is an
opensource development released under the BSD license. Everyone is
free to use that.
The short term goal of the project is to collect ideas, algorithms and
tools for the development of various distributed applications. RxRPC
would take part
in the communication. The long term goal of the project is to develop
some distributed applications.
The first 0.0.1 release of the project contains the new security model
and a few helpers. This new model is based on OpenSSL. The
part is implemented using Elliptic curve cryptography and the packet
encryption is using blowfish. The challenge and the response packet
can pass server and client
certificates as opaque data, that may be checked by callback functions
on both sides. This leaves place for x509 certificates. The response
packet can also contain
credential information (login+password) that may be verified by a
callback on the server side.
The project itself is mainly written in C++, but care was taken to
make it pluggable into C projects. The configuration and build system
is based on cmake.
I hope you or others will find this useful.
The project is registered at:
google code (Main site): http://code.google.com/p/rt0d4/
Well, I see that some parts like the encryption is pluggable, which is
good. Are all the encryption parts, like the digests, pluggable? Does it
How well does this fit with the planned upgrades to Rx? Rxkad? Rxgss? RxTCP?
Can cmake play well with Configure? I couldn't get the one cmake
project (Paraview) that I tried to compile from source.
Let me answer your questions.
Well, rt0d4/Rx does not provide TCP, UDP or other communication by
itself. It is called by Rx through a handful of callbacks to do
security related tasks. This includes the challenge generation and
processing, the response generation and processing, the packet
encryption but not the transmission.
I have not read the RxTCP code, but I guess if RxTCP uses the same
security interface and the underlying data structures and functions
that are actually used by rt0d4/Rx works the same way, then rt0d4/Rx
should work with RxTCP as well.
As for cmake and configure: I have very little experience with
autotools. I see many options to make it working together:
- I plan to create the install part for rt0d4, that does not exists
at the moment. So if rt0d4 is compiled and installed then the libraries
and the headers will be accessible in a well known location, so there
will be no need to integrate the two. This one is on my task list.
- I gladly accept and appreciate any contribution of the autotools
scripts and infrastructure for rt0d4. As the project is small at the
moment, I don't think it would be a great deal to someone experienced
in that. A solution that keep cmake and configure working independently
As for rxgk, rxgss, rxkad and other security models: this new security
model is just one more option to use. It does not change the others.
(I'm not sure I understood your question.)
Best regards, David.