TruerWords Logo
Google
 
Web www.truerwords.net

Search TruerWords

Welcome
Sign Up  Log On

Topic: Simple Cross-Network Scripting (SCNS)

Messages: (12) 1


Author: Seth Dillingham

Date:2/8/2002

Permalink Icon

# 1641

Simple Cross-Network Scripting (SCNS)

Simple Cross-Network Scripting (SCNS)

UserLand released a new beta of Frontier and Radio. Both support Simple Cross-Network Scripting.

SCNS was promised years ago, but since then a number of us had almost given up on it. Some things, though, are worth waiting for.

The basic idea is that I can run a command in a scripting environment on another machine as simply as I can on my own. (That assumes that the other machine supports it, of course, and that I have permission.)

For example, if I want to know the email addresses of everybody on the TruerWords mailing list, I can go to the server and run a short script which will prouduce that information for me. I could then make that script available for calling over the network, via xml-rpc. The next time I wanted that list, I wouldn't have to go to the server to get it, I could request it from my workstation.

Still, calling it from my workstation involved a multi-line script to build the paramters table, pass the params in the right format, etc., etc. Now it's as simple as running it on the server. Let's compare. Here's the call I'd make if I was standing at the server:

	email.getSubscribers( "truerwords", "truerwords" )

(Since that example assumes that I'm standing at the server, I don't need to include my own username and password.)

Here's what the same call could look like, now, from my workstation:

	["xmlrpc://www.truerwords.net/RPC2"].email.getSubscribers( "truerwords", 

"truerwords", "seth@macrobyte.net", "my password" )

This doesn't make anything possible that was previously impossible, but it does wonders for simplifying network-based code. I'm glad they finally shipped it.

[Top]


Author: Clark Venable

Date:2/8/2002

Permalink Icon

# 1642

Re: Simple Cross-Network Scripting

Seth,

Thanks for that explanation. Now I know a little more about why people are
excited about it.

A couple of questions:

Is there a way to keep the xmlrpc call (which includes a password) from
prying eyes? Can it be tunneled somehow?

Clark




[Top]


Author: Seth Dillingham

Date:2/8/2002

Permalink Icon

# 1643

RE: Simple Cross-Network Scripting

On 2/8/02, Clark Venable said:

>Is there a way to keep the xmlrpc call (which includes a password)
>from prying eyes?  Can it be tunneled somehow?

Well, I'm not sure who would see the call.

In radio, this is a script that would be sitting on your machine, and would be run before the page is uplaoded to the "cloud" or wherever your site lives. The result of the script would be in the web page, not the script itself: in other words, nobody sees your password.

In fact, the only time I think anybody would see the password is when you're intentionally sharing copies of your script. In that case, you have to be careful to remove your password before sharing the script with anyone... but that's true whenever you share a script.

It's possible that I don't understand the specific situation you're thinking about. :-)

Seth

[Top]


Author: Clark Venable

Date:2/8/2002

Permalink Icon

# 1644

Re: Simple Cross-Network Scripting

On 2/8/02 6:39 PM, "Seth Dillingham" <seth@macrobyte.net> is rumored to have
written:

> http://www.truerwords.net/1643
> --------------------------------------------------
>
> On 2/8/02, Clark Venable said:
>
>> Is there a way to keep the xmlrpc call (which includes a password)
>> from prying eyes? Can it be tunneled somehow?
>
> Well, I'm not sure who would see the call.
>
> In radio, this is a script that would be sitting on your machine, and
> would be run before the page is uplaoded to the "cloud" or wherever your
> site lives. The result of the script would be in the web page, not the
> script itself: in other words, nobody sees your password.
But before your workstation can render the page with the included script
result (not the script), doesn't the workstation have to communicate with
the server to get the result, and isn't that password sent in the clear?
>
> In fact, the only time I think anybody would see the password is when
> you're intentionally sharing copies of your script. In that case,
> you have to be careful to remove your password before sharing the script
> with anyone... but that's true whenever you share a script.
>
> It's possible that I don't understand the specific situation you're
> thinking about. :-)
What I'm thinking of is that in health care, privacy regulations are coming
online soon that are very specific with regards to encryptions of patient
information (that's the extent of my understanding).

>
> Seth
>
>

[Top]


Author: Seth Dillingham

Date:2/8/2002

Permalink Icon

# 1645

RE: Simple Cross-Network Scripting

On 2/8/02, Clark Venable said:


>>In radio, this is a script that would be sitting on your machine, and
>>would be run before the page is uplaoded to the "cloud" or wherever
>>your site lives. The result of the script would be in the web page,
>>not the script itself: in other words, nobody sees your password.
>
>But before your workstation can render the page with the included
>script result (not the script), doesn't the workstation have to
>communicate with the server to get the result, and isn't that password
>sent in the clear?

Yes, but I didn't realize you were talking about that sort of thing.

There are solutions to that, including use of https instead of http (ssl, the same technology used for secure web pages), and there are probably other things I'm not thinking about right now.

Nothing that's currently built into Frontier.

Just keep in mind that this problem isn't specific to "Simple Cross-Network Scripting". It's the same for most everything else you do on the net, including ftp files to an unsecure server, or manage your radio blog in the cloud.


>>In fact, the only time I think anybody would see the password is when
>>you're intentionally sharing copies of your script. In that case, you
>>have to be careful to remove your password before sharing the script
>>with anyone... but that's true whenever you share a script.
>>
>>It's possible that I don't understand the specific situation you're
>>thinking about. :-)
>
>What I'm thinking of is that in health care, privacy regulations are
>coming online soon that are very specific with regards to encryptions
>of patient information (that's the extent of my understanding).

Actually, because of one of Macrobyte's customers, I'm very familiar with those new requirements.

SSL (or https) is the answer to that problem. You need encrypted communications. Frontier doesn't support it natively, but I know about a DLL that's been written which makes it possible, and this would also make it possible to do an encrypted form of xmlrpc.

That DLL isn't currently available for public consumption, but it proves that it can be done.

Seth

[Top]


Author: Clark Venable

Date:2/8/2002

Permalink Icon

# 1647

Re: Simple Cross-Network Scripting

On 2/8/02 8:47 PM, "Seth Dillingham" <seth@macrobyte.net> is rumored to have
written:

> Just keep in mind that this problem isn't specific to "Simple
> Cross-Network Scripting". It's the same for most everything else you do
> on the net, including ftp files to an unsecure server, or manage your
> radio blog in the cloud.

Understood. I learned how to use ssh this week. Next maybe I'll look into
secure ftp...then ssl. I know how to generate a self-signed certificate...

Clark

[Top]


Author: Brian Andresen

Date:2/8/2002

Permalink Icon

# 1646

RE: Simple Cross-Network Scripting

On 2/8/2002 3:39 PM, Seth Dillingham <seth@macrobyte.net> wrote:

>>Is there a way to keep the xmlrpc call (which includes a password)
>>from prying eyes? Can it be tunneled somehow?
>
>Well, I'm not sure who would see the call.
>
>In radio, this is a script that would be sitting on your machine, and
>would be run before the page is uplaoded to the "cloud" or wherever your
>site lives. The result of the script would be in the web page, not the
>script itself: in other words, nobody sees your password.
>
>In fact, the only time I think anybody would see the password is when
>you're intentionally sharing copies of your script. In that case,
>you have to be careful to remove your password before sharing the script
>with anyone... but that's true whenever you share a script.
>
>It's possible that I don't understand the specific situation you're
>thinking about. :-)

Ah, it's clear that you haven't spent much time using a packet sniffer.
:-) Now that you've got yourself a Unix-based OS, go get ethereal
(http://www.ethereal.com/) and look at what's traveling on your network.
And on every network connecting you to the server on the other end.
Obviously this isn't as much of an issue if you're doing local RPC,
between machines on your own LAN. But in the general case, you'll have
cleartext passwords heading out through the net.

It's not XML-RPC's job -- at least not the way Dave has cast it so far --
to handle this aspect of authentication and security. I think that could
be a good thing, because it leaves room for standards like TLS (Transport
Layer Security, formerly known as SSL -- see
http://www.ietf.org/html.charters/tls-charter.html). If only Frontier
supported it...

-Brian

[Top]


Author: Seth Dillingham

Date:2/8/2002

Permalink Icon

# 1648

RE: Simple Cross-Network Scripting

On 2/8/02, Brian Andresen said:

>Ah, it's clear that you haven't spent much time using a packet
>sniffer. :-)  

True. Like, none.

I didn't realize he was talking about end-to-end password security until his second message.

>Now that you've got yourself a Unix-based OS, go get ethereal and look
>at what's traveling on your network. And on every network connecting
>you to the server on the other end.

Get the behind me, Brian. I don't have time for any more cool toys right now.

Oh, man, too late... the tempter wins again.

>Obviously this isn't as much of an issue if you're doing local RPC,
>between machines on your own LAN.  But in the general case, you'll
>have cleartext passwords heading out through the net.

I knew that, of course, but I thought he was talking about people seeing the password in his source. He asked about keeping the xmlrpc call from prying eyes... that could refer to the call as it's written in the source, or it could refer to the call over the network.

>It's not XML-RPC's job -- at least not the way Dave has cast it so far
>-- to handle this aspect of authentication and security.  I think that
>could be a good thing, because it leaves room for standards like TLS
>(Transport Layer Security, formerly known as SSL -- see
>http://www.ietf.org/html.charters/tls-charter.html).  If only Frontier
>supported it...

XML-RPC itself can be used in any number of transport protocols. I know it's been run over SMTP.

You can run it over https (TLS, or SSL, whatever) now, if you shut off Frontier's server and put it behind IIS or SSL. Then you'd just need that DLL in your client copy of Frontier to have end-to-end encryption.

Seth

[Top]


Author: Clark Venable

Date:2/8/2002

Permalink Icon

# 1649

Re: Simple Cross-Network Scripting

On 2/8/02 10:02 PM, "Seth Dillingham" <seth@macrobyte.net> is rumored to
have written:

> I didn't realize he was talking about end-to-end password security until
> his second message.

Seth, you've known me long enough to know that you have to answer the
question I *mean*, no the question I actually *ask*.

Oh, and I also just learned that SSL is now going to be TLS. Can't wait to
throw that around at work.

Clark

[Top]


Author: Jim Roepcke

Date:2/8/2002

Permalink Icon

# 1651

Re: Simple Cross-Network Scripting

On Friday, February 8, 2002, at 07:02 PM, Seth Dillingham wrote:

> XML-RPC itself can be used in any number of transport protocols. I know
> it's been run over SMTP.

Actually, XML-RPC can only be used over HTTP. If it's not over HTTP,
it's not XML-RPC. (according to the XML-RPC trademark holder)

This is why "XML-RPC over Jabber" is called Jabber-RPC, even though it's
the same payload.

Personally, I think it's a silly limitation, but that's the way it is.

> You can run it over https (TLS, or SSL, whatever) now, if you shut off
> Frontier's server and put it behind IIS or SSL. Then you'd just need
> that DLL in your client copy of Frontier to have end-to-end
> encryption.

Or you could use some crypto algorithm like blowfish to encrypt the
passwords and any other sensitive information. This requires having the
same key on both sides, so it only works in certain situations, but it
works. I think there's a new encryption DLL for Frontier/Radio (by
André?).

Jim

[Top]


Author: Greg Pierce

Date:2/8/2002

Permalink Icon

# 1652

RE: Simple Cross-Network Scripting

On Fri, 08 Feb 2002 23:05:59 -0500, Jim Roepcke wrote:
>Or you could use some crypto algorithm like blowfish to encrypt the
>passwords and any other sensitive information....

I think security should be a function of the transport. It's better in SSL -- or, in some cases, VPNs and the like.

g.

[Top]


Author: Andre Radke

Date:2/9/2002

Permalink Icon

# 1653

Re: Simple Cross-Network Scripting

I think there's a new encryption DLL for Frontier/Radio (by André?).

Yes, my crypto extension does symmetric RC4 encryption. It's not really new though because the functionality has been available previously in a UCMD by Leonard Rosenthol.

Note that by simply encrypting the password, you don't really gain anything in security. Somebody listening in on the connection could just grab the encrypted password and put it in his own requests without decrypting it. If secure authentication is your only concern, take a look at HTTP digest authentication (rfc2617). It's implemented in Frontier (see mainResponder.security.httpAuthentication) but not in Radio, AFAIK.

I agree with Greg that security should be a function of the transport. After publishing the crypto extension, I actually got several requests for an SLL extension for Frontier.

[Top]



<- Previous Thread:
Another Baby!?

Next Thread: ->
Rambling on Life, Frogs, Knitting, and New Babies

Until August 31
My Amazon sales
benefit the PMC

Homepage Links

Apr 1 - Aug 31
Ad revenue
benefits the PMC


TruerWords
is Seth Dillingham's
personal web site.
From now on, ending a sentence with a preposition is something up with which I will not put. - WC