security
Martin Atkins
mart at degeneration.co.uk
Fri Oct 27 06:35:44 UTC 2006
Johannes Ernst wrote:
> On Oct 26, 2006, at 10:01, Martin Atkins wrote:
>> Hmm. When was it decided that a scheme-less URL should start of as HTTPS
>> and then be tried as HTTP. I was part of the camp arguing adamantly
>> against that when it was being discussed, but I don't recall a
>> conclusion to the debate.
>>
>> This attack was one of the very reasons I was against this spec-mandated
>> guesswork.
>
> I don't recall that such a thing was decided.
>
Indeed, not long after I posted this I was reviewing the spec for other
reasons and found this:
8.2 Normalization
-----------------
The End User's input MUST be normalized into an Identifier. If the End
User supplies input that does not include a scheme (http, https, or
xri), then the application needs to determine if the input is an XRI or
a URL missing the "http://". To do so, the application SHOULD examine
the first character of the input. If it is an XRI Global Context Symbol
(=, @, +, $, or ! see Section 2.2.1.2 of [XRI Syntax 2.0]), then the
input SHOULD be treated as an XRI. If it is not, then the input SHOULD
be treated as an http URL, and prefixed with the string "http://".
URL identifiers MUST be further normalized by applying the rules in
section 6 of RFC 3986, following redirects when retrieving their
content, and finally applying the rules in section 6 of RFC 3986
(Normalization and Comparison) to the final destination URL. This final
URL should be noted by the Relying Party as the Claimed Identifier and
used during authentication requests.
----------------
Note in particular the end of the first paragraph, which states simply
that one should prefix http://. HTTPS URLs must be spelled out as
https://, which is a bit of a shame (we're optimising for the insecure
case as far as users are concerned) but I can't think of any way to
securely support the short form of both http: and https: URLs.
More information about the general
mailing list