[Linux-ha-dev] Using transis/spread
Guochun Shi
gshi at ncsa.uiuc.edu
Tue Sep 14 15:21:25 MDT 2004
At 11:44 PM 8/23/2004 +0200, you wrote:
>On 2004-08-23T14:57:44,
> Guochun Shi <gshi at ncsa.uiuc.edu> said:
>
>> >> We can also add the authentication to a message before giving it to
>> >> transis and compute the auth string after we get a messge from
>> >> transis. I don't see that a problem.
>> >
>> >That's not the same. That's authenticating the message payload, but
>> >not the message itself, and might still allow an intruder to cause
>> >havoc to the message ordering.
>> >
>> >Really, the low-level messages transis sends on the network must be
>> >authenticated and/or encrypted.
>>
>> I admit I am confused :). What authentication is used for the whole
>> message for the current bcast/mcast/ucast besides the payload
>> authentication?
>
>The whole message basically (including all metadata) is currently
>protected by the authentication scheme, and discarded if the
>authentication fails.
>
>If we just hand a signed message to transis for delivery, this still
>would mean that transis itself (the acks, naks, numbering etc) would
>remain unprotected on the network, and an attacker could mess this up.
Transis daemon will definitely need heartbeat's authentication and/or multicast.
For implementation we need modify transis code and let heartbeat master
process fork transis daemon process.
(recall: in method (e), you proposed transis daemon use heartbeat's muticast)
In this method, an ordered message will have to go through processes
client-> heartbeat master process -> transis daemon
->heartbeat master process -> media write process
->media read process -> heartbeat master process
-> transis daemon -> heartbeat client process -> client
If transis daemons communicate with each other directly then we save lots of overheads.
client-> heartbeat master process -> transis daemon
-> transis daemon -> heartbeat client process -> client
But a transis daemon will have to compute authentication itself. It does not fit into the
current architecture -- right now all authentication are computed in heartbeat master process.
I agree it is unclean design :(
-Guochun
More information about the Linux-HA-Dev
mailing list