Phorm
Ian Batten
ukcrypto at chiark.greenend.org.uk
Tue, 18 Mar 2008 10:18:03 +0000
On 18 Mar 08, at 0936, Nicholas Bohm wrote:
>
> This will be a technically challenge, if not impossible to achieve.
> Also, if it is possible, we then enter the territory of Yossarian
> and Orr: you need to intercept and analyze each transmission in
> order to classify said transmission as a transmission that must not
> be intercepted and analyzed. Seemingly one cannot get around the
> fact that transmissions must not be intercepted without first
> gaining the consent of both parties.
I suspect they're simply going to mask off sites that use RFC2617
basic authorisation. For those that don't follow these things, HTTP
authentication works like this:
Client sends request to Server.
Server responds with a 401 `Not authorised' and informs the client
which authentication domain is involved in a WWW-Authenticate header
(plus potentially a nonce for Digest authentication, which few sites
use).
Client re-sends request with an Authorization header containing the
base64 encoding of the username and password.
The server then respond to valid credentials with the page in
question, together with an Authentication-Info header if necessary.
It's not necessary, usually: it provides the next nonce for the next
request for Digest authentication.
Subsequent requests by the client to the same server can speculatively
place the Authorization header in the initial request. It's possible
to have servers which have multiple authentication domains (I run one
myself) in which case crossing into another domain will simply get a
401.
It's worth pointing out that sending an Authorization header into a
site which doesn't use authorization is harmless, so one could simply
bosh a fake authorization string into every web request to bypass
Phorm if this is how they operate.
But of course sites use a zillion other authentication mechanisms.
There's the ``remember me'' cookie mechanism, used because a lot of
web browsers don't support saved passwords. There are sites that
request usernames and passwords as form entries and process it within
the cgi-bin (or whatever) rather than as basic auth, often because the
web server doesn't understand authentication (squirrel mail, for
example, just passes your username and password straight through to
the underlying IMAP server).
And, and, and...
ian