[OpenAFS-devel] New Rx security model

Beck David dbeck@beckground.hu
Sat, 30 Aug 2008 23:46:01 +0200


This is a multi-part message in MIME format.
--------------060609000607050300050903
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

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.
>>
>> David says:
>> 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
>> challenge/response
>> 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
> do TCP?
>  
> 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.
>
> Sincerely,
> Jason
>
>   
Hello,

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 is preferred.


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.



--------------060609000607050300050903
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Jason Edgecombe wrote:
<blockquote cite="mid:48B97B5E.2000305@rampaginggeek.com" type="cite">
  <pre wrap="">Derrick Brashear wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">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.

David says:
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
challenge/response
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):   <a class="moz-txt-link-freetext" href="http://code.google.com/p/rt0d4/">http://code.google.com/p/rt0d4/</a>
  
    </pre>
  </blockquote>
  <pre wrap=""><!---->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
do TCP?
 
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.

Sincerely,
Jason

  </pre>
</blockquote>
Hello,<br>
<br>
Let me answer your questions. <br>
<br>
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.<br>
<br>
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.<br>
<br>
As for cmake and configure: I have very little experience with
autotools. I see many options to make it working together:<br>
<br>
<ul>
  <li>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.<br>
  </li>
  <li>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
is preferred.</li>
</ul>
<br>
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.)<br>
<br>
Best regards, David.<br>
<br>
<br>
</body>
</html>

--------------060609000607050300050903--