Re: Requesting comments on draft-cheney-safe-02.txt

"Peter J. Holzer" <hjp-ietf-smtp@hjp.at> Fri, 31 July 2009 21:15 UTC

Received: from balder-227.proper.com (localhost [127.0.0.1]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id n6VLF3NE010530 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 31 Jul 2009 14:15:03 -0700 (MST) (envelope-from owner-ietf-smtp@mail.imc.org)
Received: (from majordom@localhost) by balder-227.proper.com (8.14.2/8.13.5/Submit) id n6VLF3Wk010529; Fri, 31 Jul 2009 14:15:03 -0700 (MST) (envelope-from owner-ietf-smtp@mail.imc.org)
X-Authentication-Warning: balder-227.proper.com: majordom set sender to owner-ietf-smtp@mail.imc.org using -f
Received: from zeno.hjp.at (zeno.hjp.at [81.223.91.228]) by balder-227.proper.com (8.14.2/8.14.2) with ESMTP id n6VLF1CZ010523 for <ietf-smtp@imc.org>; Fri, 31 Jul 2009 14:15:02 -0700 (MST) (envelope-from hjp-ietf-smtp@hjp.at)
Received: by zeno.hjp.at (Postfix, from userid 1000) id 4CDB7250CB; Fri, 31 Jul 2009 23:15:00 +0200 (CEST)
Date: Fri, 31 Jul 2009 23:15:00 +0200
From: "Peter J. Holzer" <hjp-ietf-smtp@hjp.at>
To: ietf-smtp@imc.org
Subject: Re: Requesting comments on draft-cheney-safe-02.txt
Message-ID: <20090731211500.GA18426@hjp.at>
Mail-Followup-To: ietf-smtp@imc.org
References: <f6fecbd18af7.4a721c99@us.army.mil> <4A720D35.1000306@cybernothing.org> <f6e091e580a6.4a7258af@us.army.mil>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="WIyZ46R2i8wDzkSu"
Content-Disposition: inline
In-Reply-To: <f6e091e580a6.4a7258af@us.army.mil>
User-Agent: Mutt/1.5.18 (2008-05-17)
Sender: owner-ietf-smtp@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-smtp/mail-archive/>
List-ID: <ietf-smtp.imc.org>
List-Unsubscribe: <mailto:ietf-smtp-request@imc.org?body=unsubscribe>

[can you get your MUA to wrap lines at approximately 70 characters?
Single lines of 750+ characters are a bit unwieldy]

On 2009-07-31 02:36:31 +0400, Cheney, Edward A SSG RES USAR USARC wrote:
> The idea is that security vulnerabilities on the internet occur most
> significantly as a result of client-side scripting from documents
> transmitted across HTTP.  By most significant I mean as measured by
> quantity and not severity.  In addition to frequent immediate
> vulernabilities client-side scripting can also operate as an execution
> point for other additional vulernabilities not directly associated
> with client-side scripting.  It is my opinion that the only way to
> solve this security problem is to either break HTTP or eliminate
> client-side scripting.  I find there is no reason to break HTTP since
> it is working perfectly well and is not to blame for this problem.

I think you mix up HTTP and client-side scripting. HTTP is only a
protocol to send and request data. Some clients interpret some data
received by HTTP as code, but that has nothing to do with the HTTP
protocol itself. The same data received via FTP, or SMTP could be
interpreted just the same.

Therefore I don't think you gain anything by using SMTP instead of HTTP
as the transport protocol.


> Client-side scripting cannot be removed unless an alternative
> convention is proposed.
[...]
> As an alerternative method of allowing interactivity from client-side
> scripting I wrote this document to migrate the concept of client-side
> scripting to the email architecture.  The idea is that interactivity
> from client-side scripting can be replaced by transaction
> interactivity.  Since mail servers are intermediate agents in the
> transmission, opposed to an end point like an HTTP server, they can
> make processing or scripting decisions upon data without that
> scripting having to exist on a client system.

What is gained by adding intermediate systems? I see only added
complexity and a potential for additional security holes here.

The idea to run the scripts on the server and let them only manipulate
the DOM of a document on the client via a well-defined protocol has some
merit. But it probably makes a lot more sense to base this protocol on
HTTP or XMPP than on SMTP. (most importantly, because HTTP and XMPP allow
communication in both directions, while SMTP is unidirectional (except
for status codes))


> In other words, it is basically an inverted form of AJAX that does not
> execute on the client-side.  The idea is easily possible using SMTP,
> but is not possible over HTTP since HTTP does not have intermediate
> agents between the client and server.

I don't see what purpose the intermediate servers serve in your model.
Why are they necessary?

As a sample use case, consider a typical "autofill" search form:

The browser has just loaded an HTML (or other markup language, if you
prefer) page with a search form.

With AJAX, the HTML file contains s script which will intercept each
character the user types into the input field, send (via HTTP) a search
request to the server, and then manipulate the dom to display the search
results in a dropdown menu.

With your model, how would this be handled?

	hp

-- 
   _  | Peter J. Holzer    | Openmoko has already embedded
|_|_) | Sysadmin WSR       | voting system.
| |   | hjp@hjp.at         | Named "If you want it -- write it"
__/   | http://www.hjp.at/ |  -- Ilja O. on community@lists.openmoko.org