Re: The ability to automatically upgrade a reference to HTTPS from HTTP

If i read the proposal correctly sameAs is only one way;  https can be sameAs the http representation, but one cannot say http is sameAs https regardless of the server since a man-in-middle attack could change the content. (maybe i misunderstood)

It seems to me that securing the entire web with https could lead to unintended consequences. might be interesting to enumerate possibilities, beyond breakage of links and caching (two mentioned in thread so far). Another is that now there is a collection of parties who can read the content, but not public so it is not obvious to everyone , and not always known (e.g government agencies, endpoint provider etc). Another factor is that CAs may be nowhere as reliable, secure or ubiquitous as assumed (universal revocation checks might have a performance impact)

I’m not sure i understand *why* https should be required everywhere, since risk management should take into account the value of what is at risk versus the costs but that is a different discussion.

regards, Frederick

Frederick Hirsch, Nokia

On Aug 25, 2014, at 10:00 AM, ext Reto Gmür <<>> wrote:

On Sat, Aug 23, 2014 at 10:13 PM, Hugh Glaser <<>> wrote:
Of course I can’t comment on TAG issues, but you did cc this to SemWeb, so I maybe I dare to comment.
(Although I have always found indicating the security in the URI rather a strange thing, but I am sure there were/are good reasons for it.)

There seems to be some confusion here between the URI and what it serves, something well know to SemWeb people :-)
Or at least some stuff that might usefully be picked apart.
And I think I detect it in your initial email.

On 22 Aug 2014, at 18:00, Tim Berners-Lee <<>> wrote:

> There is a massive and reasonable push to get everything from HTTP space into HTTPS.
> While this is laudable, the effect on the web as a hypertext system could be
> very severe, in that links into http: space will basically break all over the place.
> Basically every link in the HTTP web we are used to breaks.
> Here is a proposal, that we need this convention:
>        If two URIs differ only in the 's' of 'https:', then they may never be used for different things.
This, to me, implies the URIs identify the same “thing” (NIR?).
<> owl:sameAs <>
for all foo, bar and baz…
That sounds like a pretty sound suggestion to me.
Especially in the SemWeb/Linked Data world.

Then you go on to talk about GET and the documents that come back in a similar vein.
When we consider what gets served from a GET (or whatever we do), the owl:sameAs doesn’t mean that the documents served have the same content.
As you say, for html, there might be a message saying to use the  other one - and of course that might actually be true of the RDF.
I am well used to getting different information about NIRs from a variety of resources - after all, no-one enforces that the ttl, n3 and rdf documents have exactly the same stuff in them, and sometimes they don’t. And if html is also served, it certainly is very different from the RDF.

As you say later, switching from one to the other should not give misleading information.
Simply by considering the two URIs owl:sameAs, that should essentially make that happen, even if the server chooses to provide different RDF on the two URIs.
They are just two (possibly) different documents about the same NIR.

If we allow the sameAs meaning, then we can go on to discuss whether the documents actually can be assumed to be the same...

If the resource A and B are owl:sameAs we can conclude that if X is an appropriate representation of A it is also an appropriate representation of B. So while A and B might happen to dereference to different representations each of there representation is a representation of the single resource identified by both A and B.

You can also see the problem when you try to express your redirect message in RDF. You cannot just send back the triple

<> <eg:redirectsTo> <> .

As if <> <owl:sameAs> <>,

the following triple can infered: <> <eg:redirectsTo> <> - the opposite of what was intended.

If you wanted to reference to a specific resource name in RDF you would have to use literals, but this would make things significantly more complex. Think of an HTML redirect page with RDFa, the value of the href attribute is considered to name a resource by IRI, so by owl-inference it would be exchangeable with the other one.

So I think the original owl:sameAs suggestion ("If two URIs differ only in the 's' of 'https:', then they may never be used for different things") should be relaxed to allow to describe a distinction between the two such as needed to express a redirect.


Hope that helps a bit :-)


I might fix<> to automatically give the other URI for any requests - would that be a good idea?
Anyway want to tell me it would help them?
> That's sounds like a double negative way of putting it, but avoids saying things we don't want to mean.
> I don't mean you must always serve up https or always serve up http.
> Basically we are saying the 's' isn't a part of the identity of the resource, it is just a tip.
> So if I have successfully retrieved https:x  (for some value of x) and I have a link to http:x then I can satisfy following the link, by presenting what I got from https:x.
> I know that whatever I get if I do do the GET on the http:x, it can't be different from what I have.
> The opposite however is NOT true, as a page which links to https:x requires the transaction to be made securely.  Even if I have already looked up http:x < i can't assume that I can use it for htts:x.  But for reasons of security alone -- it would still be against the principle if the server did deliberately serve something different.
> This means that if you have built two completely separate web sites in HTTPS and HTTP space, and you may have used the same path (module the 's') for different things, then you are in trouble. But who would do that?   I assume the large search engines know who.
> I suppose an exception for human readable pages may be that the http: version has a warning on it that the user should accessing the https: one.
> With linked data pages, where a huge amount of the Linked Open Data cloud is in http: space last time I looked, systems using URIs for identifiers need to be able to canonicalize them so tht anything said about http:x applies equally to https:x.
> What this means is that a client given an http:  URL in a reference is always free to try out the HTTPS, just adding an S, and use result if the   is successful.
> Sometimes, if bowser security prevents a https-origin web page from loading any http resources as Firefox proudly does, [1], is you are writing a general purpose web app which has to read arbitrary web resources with XHR, ironically, you have to serve it over HTTP!     In the mean time, many client libraries will I assume need to just try HTTPS as that is all they are allowed.
> Or do we have to only build serious internet applications as browser extensions or native apps?
> For this any many related reasons, we need to first get a very high level principle that if a client switches from http to http of its own accord, then it can't be given misleading data as a result.
> I suspect has been discussed in many fora -- apologies if the issue is already noted and resolved, and do point to where it has
> TimBL
> [1]
> In order for this switch to be made, transitions

Hugh Glaser
   20 Portchester Rise
   SO50 4QS
Mobile: +44 75 9533 4155<tel:%2B44%2075%209533%204155>, Home: +44 23 8061 5652<tel:%2B44%2023%208061%205652>

Received on Tuesday, 26 August 2014 14:30:02 UTC