Paul Rubin wrote:

Hmm, you also want a random blob in each packet (including the session
start) included in the authentication of the next packet, so the
attacker can't cut and paste messages from old sessions into the
current ones.  You know, by the time you're through designing this you
may be better off just using SSL and getting it over with.  It's very
easy to make mistakes designing these types of protocols.  There are
some reasonable examples in "Applied Cryptography", but maybe you
don't want to deal with this stuff.

Heh, indeed I rather don't. I know a bit about this stuff, but not nearly enough to come up with a water tight design by myself, so it's much easier and safer to rely on trusted work by others.


I label things like SOAP and XML-RPC much different than RMI or Pyro,
because they (SOAP) are much more "distant" from the actual
programming language and environment beneath them. I don't know if
this is good thinking or not but the fact that RMI and Pyro expose
language features directly, and SOAP not, makes that I reason about them
differently.


Hmm, I sort of understand this, but not completely.  Does DCOM or .NET
expose language features directly?

.NET: no idea DCOM: as it is based on DCE/RPC, I would say: no. There's this MIDL thing sitting in between and stuff like that. There's no such thing as a specific class id and/or method name and/or parameter list that directly maps onto an object.method in the programming environment.

I must confess, this stuff is getting all rather messy and probably not
worth to try to make such a distinction between all the RPC protocols :-)

I've been meaning to look at Pyro and will certainly let you know if I
spot any problems, but of course there might be some that I don't find.

I would appreciate it.


Furthermore there are practical issues such as having to
open a buch of new ports in your firewall. In my experience
this is very hard to get done, sadly, in contrast to just
exposing a "web-service" (in whatever form) on port 80 HTTP.


Yes, though RMI requires the same.

Precisely. There is this tunneling thing, but I never got it to work. In the end, using a SSH tunnel may prove to be even easier :-D (just let sshd listen on port 80 and you're set)


--Irmen

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to