Skip to search.
rest-discuss · REST Discussion Mailing List

Group Information

  • Members: 1401
  • Category: Protocols
  • Founded: Nov 13, 2001
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

Messages

  Messages Help
Advanced
a proposal for secure notifications   Message List  
Reply Message #360 of 18829 |
In the following proposal I suggest a secure mechanism for event notifications.
The purpose of this design is to maximize security. As with all my recent work,
e.g. the aREST design for application-level notification support, it is an
experiment to explore a particular aspect of the problem space.

Many solutions for implementing HTTP notifications use callbacks to a sink-side
HTTP server. However running a full featured HTTP server creates very serious
security problems. From a security perspective an ideal solution would be only
a little less secure than running an HTTP client, and running a full server
makes that impossible.

The sink must operate a protocol designed for extreme paranoia. I will call
this protocol "Paranoid Sink Protocol", or PSP. The goal of PSP is to make HTTP
event notifications secure. The name "PSP" is a placeholder -- it may or may
not be HTTP. PSP exists exclusively to notify HTTP clients that they should
initiate an HTTP request. All risky activities are performed via requests, thus
preserving the existing security levels of web clients.

DESIGN
=======

Here is a sample of a PSP transaction:
1) A client uses HTTP 1.0 or later to request notifications on a resource. The
client provides a PSP URI. The client and server construct a secure ticket to
identify valid PSP notifications. The ticket might, for example, be a public
key or a secret token. The server provides a URI for picking up events once
notification has been received.
2) Time passes.
3) The source node emits a PSP notification. The notification contains only
enough information to validate the ticket. It does not contain the callback
address. It is a fixed length to prevent buffer overflow attacks.
4) The sink validates the ticket and disconnects without a response of any kind.
5) The sink requests the event from the event pickup URI.

To prevent port scanning, PSP does not return either a TCP ACK or an HTTP
response. However there does exist an ACK in the form of the sink poll in #5
above. A source MUST assume that a #3 notification not followed by a #5 poll
has not been received.

To prevent buffer overflows and to make TCP unnecessary, PSP uses fixed length
messages. 512 bytes should be enough.

To protect the sink from malicious parties, notifications MUST be idempotent.
The sink need not store any information about the message after transmission.
All notifications and polls related to a specific ticket are identical. A
single poll picks up all stored messages.

IMPLEMENTATION
==============

For an implementation of PSP, HTTP 0.9 fits perfectly. It can legally ride over
UDP or IP, does not require any response at all, and only supports idempotent
operations. Its brutally trivial nature makes implementations orders of
magnitude easier to secure than HTTP 1.1 implementations.

The security of PSP is dependent on security of the (#1) event subscription and
ticket negotiation. Adequate security of #1 is a big what-if. Design of the
ticket negotiation is a challenge to be taken seriously.

To prevent packet sniffers from spoofing notifications, the ticket should be
renegotiated at each (#5) request. Since the request will not be observable
before the first notification is sent, and subsequent notifications (spoofs or
not) have no effect, sucessful spoofing will have no worse an effect than
sending random packets.

It is apparent that, due to the requirement that notifications must be followed
up with a request, PSP is not designed for performance. The only problem it
addresses is security.

See http://www.w3.org/Protocols/HTTP/AsImplemented.html for the HTTP 0.9
specification.

- Lucas





Sun Jan 27, 2002 7:32 pm

lucas_gonze
Offline Offline
Send Email Send Email

Message #360 of 18829 |
Expand Messages Author Sort by Date

In the following proposal I suggest a secure mechanism for event notifications. The purpose of this design is to maximize security. As with all my recent...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 27, 2002
7:33 pm

... Who says you need to run a "full server"? We can explicitly define a minimal profile of HTTP that a callback target must support. The security dudes are...
Paul Prescod
paul@... Send Email
Jan 27, 2002
7:54 pm

... You bet! That what PSP is! Now, it may take a little while to craft PSP fully, but that's exactly what it'll end up being. ... Sorry, no good. Security...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 27, 2002
8:35 pm

Sorry, I just can't get behind any solution to this problem that requires asymmetric protocols. This is damaging to the overall value proposition of the Web....
Jeff Bone
jbone@... Send Email
Jan 27, 2002
7:57 pm

One way to address security is to differentiate between "ordinary" callbacks and "secure" callbacks. Ordinary callbacks are like SMTP. No more or less secure....
Paul Prescod
paul@... Send Email
Jan 27, 2002
8:05 pm

I note that PSP is, in practice, unidirectional. :)...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 27, 2002
8:37 pm

... Non-secure callbacks via a full HTTP server would quickly lead to a parade of serious vulnerabilities. If you feel that it wouldn't have to be a full HTTP...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 28, 2002
4:25 am

... PSP is unidirectional in the wrong way. I presume that's the source of your smiley face. As strongly as you feel about this principle of the client not...
Paul Prescod
paul@... Send Email
Jan 27, 2002
8:42 pm

... It's not how I "feel", it's the bedrock of security design. Information leaks are the source of exploits, period. ... Uh, we might have a disagreement if...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 28, 2002
4:25 am

... I cannot stress to you strongly enough that any *other* approach --- such as getting administrators to explicitly configure a firewall to allow your new...
Jeff Bone
jbone@... Send Email
Jan 28, 2002
4:40 am

... I am not suggesting that approach. Far from it. I have said *nothing* of the kind. And I wish you would work through the implications correctly before ...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 28, 2002
4:59 am

And as a general point, I'd appreciate a more collegial atmosphere. It's not a shooting gallery. I'm not selling insurance. I spent a couple days analyzing...
Lucas Gonze
lucas_gonze Offline Send Email
Jan 28, 2002
5:07 am

... I have --- I'm not sure you've thought through the implications. ;-) What port is PSP going to run on? How is an event source going to communicate with ...
Jeff Bone
jbone@... Send Email
Jan 28, 2002
5:52 am

... I'm not sure. Think about it. ;-) ... Hey, man, we're on the same side. I'm just trying to let you know that the logical conclusion of the path you're...
Jeff Bone
jbone@... Send Email
Jan 28, 2002
6:00 am

... I dispute this for two reasons. First, there is no requirement for a full HTTP server. So even if your statement is literally true, I don't think it is...
Paul Prescod
paul@... Send Email
Jan 28, 2002
8:16 am

If we are talking about a protocol with no reply defined except OK, isn't that email/SMTP? In which case the obvious solution is just to define a notification...
S. Alexander Jacobson
alex@... Send Email
Jan 28, 2002
8:32 am

... Lucas wants no reply. Period. ... POP is pull. We're trying to do asynch notifications. Paul Prescod...
Paul Prescod
paul@... Send Email
Jan 28, 2002
5:05 pm

... Understood. Jeff's generbending spec and the solution I prosposed at the bottom of my prior email try to reach a compromise. The gist of the compromise is...
S. Alexander Jacobson
alex@... Send Email
Jan 28, 2002
5:24 pm

... As usual, I don't see what SMTP brings to the table. It doesn't satisfy Lucas' extreme requirements and it doesn't simplify anything. ... What does POP...
Paul Prescod
paul@... Send Email
Jan 28, 2002
5:30 pm

... People already maintain secured mail servers. Mail gets past the firewall. Mail looks a lot like Lucas' protocol. ... As I said, I like the persistent GET...
S. Alexander Jacobson
alex@... Send Email
Jan 28, 2002
5:36 pm

... One of my points to Lucas was that people also already maintain secured HTTP servers. ... HTTP traffic gets past the firewall (or at least to it). ... Not...
Paul Prescod
paul@... Send Email
Jan 28, 2002
5:46 pm

Paul, I think we are having a miscommunication. I am not advocating SMTP/POP here. I am suggesting HTTP replacements for the SMTP/POP architecture with which...
S. Alexander Jacobson
alex@... Send Email
Jan 28, 2002
8:24 pm

... Okay, I think that's what I'm suggesting too. End of miscommunication! Paul Prescod...
Paul Prescod
paul@... Send Email
Jan 28, 2002
8:54 pm
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help