LISTSERV mailing list manager LISTSERV 16.0

Help for ZNG Archives


ZNG Archives

ZNG Archives


[email protected]


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

ZNG Home

ZNG Home

ZNG  June 2002

ZNG June 2002

Subject:

Re: result set model for srw

From:

Janifer Gatenby <[log in to unmask]>

Reply-To:

Z39.50 Next-Generation Initiative

Date:

Fri, 14 Jun 2002 14:36:16 +0200

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (115 lines)

I support Rob in his argument for a session id.  In July last year, I
submitted the following to the list:

> We would also like the Search response to include a "server user id
substitute".  This can be returned in the ZNG:user
> field for subsequent requests and avoid the user id and password having to
be sent in multiple requests.  It can also
> serve to guarantee the "actual user" (there may be more than 1 user able
to use the same user ID/password) a time slot
> on the server, because the system has a finite number of concurrent users.
Pica also uses this for being able to
> return search history, i.e. a notion of session, but this is out of ZNG
scope.

At the time "session id" was a politically incorrect phrase.  In our
implementation of ZING/SRU we are adding session id into the actual request,
within the URL.  We need it in the request so that we can control channels;
it doesn't work if it is in a different layer.

It's not complicated; it's just an optional element.  Our server will send
it with the result set id and it expects it to be returned.

In July last year we also had a lot of discussion about deleting result
sets.  Ray's prose accurately reflects this discussion and I think it is
correct and reflects reality.  Our server (along with lots of others)
decides when it's time to do its own housekeeping with result sets unless
told otherwise, i.e. with the TTL.  It will even override the TTL if it has
to.

Janifer Gatenby
Consultant OCLC PICA ITC
Schipholweg 99, 2300 AW Leiden, The Netherlands
+ 31 71 524 65 00
+ 31 71 522 31 19 (fax)
[log in to unmask]

-----Original Message-----
From: Robert Sanderson [mailto:[log in to unmask]]
Sent: Friday, 14 June 2002 12:37
To: [log in to unmask]
Subject: Re: result set model for srw


Theo, paraphrased:
> You just need the request parameters.

No.  This would work if resultsets only last for one response/request.
However if I were to do a search, do a second search and then try to
combine the resultsets from those two searches, the first would have
already disappeared. You need a session id (or to return ALL of the
parameters from ALL of the requests to date made by the client, which
would quickly overflow most URL implementations in SRU.

> > I could send continuous (SOAP is HTTP/1.1 so includes
> > pipelining and gzipping, making this even more effective)
> > requests to trash random resultset names.

> Yes, but I could send continuous requests to trash random session ids or
> client ids too! Or even better sniff the wire for the session ids/client
> ids and use those. So introducing a session id in addition to a result
> set name just adds complexity without actually solving the problem.

Packet sniffing is much harder these days than it was, due to switching
networks.  It's still possible using ARP poisoning, but I digress.

Yes, introducing a session id doesn't make it impossible to do, but it
does make it exponentially more difficult.  Difficult enough that an
attack is unlikely to succeed, whereas without it it is very possible.

Compare basic authentication of username and password.  Guessing a
username and password combination is much harder than guessing one of the
two.  And for large robust servers (the reason we're using SOAP right?)
there will be a lot of users.  Unless the server is designed with this
sort of security in mind, the resultsets will probably just identified
with an incrementing scheme rather than a random set of characters, so
once a pattern has been found, the server is completely compromised.

User/password authentication has served for many years, and will likely
continue to do so for all but financially important traffic.

> A solution would be for the server to keep tracking of the source IP
> Addresses - using that to identify clients and using result set names as
> at present for maintaining state. Even that is foolproof since you can
> spoof ip addresses.
> If you really want more resilience against this attack than you should
> use SSL (HTTPS) with client certificates to identify the client.

Yes.  But then you drastically limit the number of potential clients to
those that support encrypted SOAP.  It also makes it more difficult to
just throw together a server, I wouldn't bother... Z39.50 is less complex
and more functional.

> In any case client identification (if required) is an Out of Band issue
> which can be resolved at other layers in the syste and needn't be
> included in the SRW spec.

Unless you have a web proxy, or specialised SRW proxy that multiple
clients send their requests through, not an uncommon event I would have
thought.

For example, if I were to set up a cgi script that interogated SRW
servers, I would want to map my local users to session ids. Except they're
all coming from the same IP address so the server will map them all to the
same client.  At this point you once again need some sort of session id.

Rob

--
      ,'/:.          Rob Sanderson ([log in to unmask])
    ,'-/::::.        http://www.o-r-g.org/~azaroth/
  ,'--/::(@)::.      Special Collections and Archives, extension 3142
,'---/::::::::::.    Twin Cathedrals:  telnet: liverpool.o-r-g.org 7777
____/:::::::::::::.              WWW:  http://liverpool.o-r-g.org:8000/
I L L U M I N A T I

Top of Message | Previous Page | Permalink

Advanced Options


Options

Log In

Log In

Get Password

Get Password


Search Archives

Search Archives


Subscribe or Unsubscribe

Subscribe or Unsubscribe


Archives

July 2017
October 2016
July 2016
August 2014
February 2014
December 2013
November 2013
October 2013
February 2013
January 2013
October 2012
August 2012
April 2012
January 2012
October 2011
May 2011
April 2011
November 2010
October 2010
September 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
October 2009
September 2009
August 2009
July 2009
May 2009
April 2009
March 2009
February 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
January 2007
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001

ATOM RSS1 RSS2



LISTSERV.LOC.GOV

CataList Email List Search Powered by the LISTSERV Email List Manager