I think there are two separate things here.

[1] The use of HTTPS allows the client to authenticate the API and
interactive URLs the same way a browser would be confident it's
talking to amazon.com, for example.

I think in this sense, the text is correct.

[2] There is, however, no way to know whether
bobshouseofportals.example.com is the authoritative captive portal
service for the MyCoffeeShop ESSID.

We should have this explicitly stated somewhere.  I couldn't quickly
find such a section, but perhaps I should add some text about this to
the 7710bis Security Considerations or thereabouts.

On Sat, Jun 6, 2020 at 1:02 PM Rifaat Shekh-Yusef
<rifaat.s.i...@gmail.com> wrote:
>
> Hi Tommy,
>
> You will probably need to do more than just dropping this specific sentence, 
> because the text just before this sentence talks about the client 
> authenticating the server and allowing the user to be confident of the server 
> and its identity.
>
> Regards,
>  Rifaat
>
>
> On Tue, Jun 2, 2020 at 1:33 AM Tommy Pauly <tpa...@apple.com> wrote:
>>
>> Hi Rifaat,
>>
>> Your comments make it clear that the recommendation to make the API server 
>> name visible isn’t necessarily clear. I think it’s not a harmful thing to 
>> show, as a way to give troubleshooting information and transparency to the 
>> user, but it is not a security-critical point.
>>
>> It seems appropriate to either explain the rationale more in depth, or 
>> remove that sentence entirely to avoid the misinterpretation.
>>
>> Do others in the CAPPORT group have thoughts on this sentence, and any 
>> background on why we decided to go that way? Would there be any objections 
>> to removing the sentence?
>>
>> Thanks,
>> Tommy
>>
>> On Jun 1, 2020, at 6:05 PM, Rifaat Shekh-Yusef <rifaat.s.i...@gmail.com> 
>> wrote:
>>
>> 
>>
>>
>> On Sun, May 31, 2020 at 2:07 AM Erik Kline <ek.i...@gmail.com> wrote:
>>>
>>> On Wed, May 20, 2020 at 4:37 AM Rifaat Shekh-Yusef
>>> <rifaat.s.i...@gmail.com> wrote:
>>> >
>>> > Adding SecDir back to this thread.
>>> >
>>> >
>>> > >Martin Thomson <m...@lowentropy.net> Tue, 19 May 2020 01:02 UTCShow 
>>> > >header
>>> > >
>>> > >On Tue, May 19, 2020, at 07:08, Rifaat Shekh-Yusef wrote:
>>> > >>    it provides the client of the API
>>> > >>    an opportunity to authenticate the server that is hosting the API.
>>> > >>    This authentication is aimed at *allowing a user to be reasonably
>>> > >>    confident that the entity providing the Captive Portal API has a
>>> > >>    valid certificate for the hostname in the URI*
>>> > >[...]
>>> > >> An end user should be able to validate that the name is example.com and
>>> > >> not any other form of the URI.
>>> > >> It would be much more difficult for the end user to make sense and
>>> > >> validate an IP address.
>>> > >
>>> > >I think that you missed the point of my comments.  This validation, 
>>> > >performed by
>>> > >a user, has no meaningful security value.  The text you cite says that 
>>> > >the server
>>> > >has a certificate for the name it chooses, which is not the same as "has 
>>> > >a certificate
>>> > >for a name the client expects".  The difference is important.
>>> > >
>>> >
>>> > This is not the way I read these statements from section 4.1 titled 
>>> > Server Authentication.
>>> >
>>> > Here is the use case I have in mind when I read this section:
>>> > If I walk into an airport and I see an ad for a paid Internet service 
>>> > from example.com, then as an
>>> > end user it is reasonable to expect that I would have some ability to 
>>> > make sense of the name
>>> > presented to me and make sure it is from example.com if I choose to get 
>>> > such a service.
>>> >
>>> > If this is not the case, then yo might want to make it clear that this is 
>>> > not about Server Authentication
>>> > as the title of the section and the text inside that section is 
>>> > suggesting.
>>>
>>> If we changed the API document's section 4.1 title from "Server
>>> Authentication" to "API Server Authentication", would that be more
>>> clear?
>>>
>>> I reality, users should never see the API URL.
>>
>>
>> The following is a quote from section 4.1 of the API document, which implies 
>> otherwise:
>> "The hostname of the API SHOULD be displayed to the user in order to 
>> indicate the entity which is providing the API service."
>>
>> Regards,
>>  Rifaat
>>
>>
>>
>>>
>>> They'll just be
>>> connecting to "Cool Cafe" or "Awesome Bookshop" ESSIDs.  If anything
>>> will only be one or both of the "user-portal-url" or "venue-info-url"
>>> URLs that might be visible in the browser that's opened for the user's
>>> interaction.
>>>
>>> -ek
>>>
>>> > Regards,
>>> >  Rifaat
>>> >
>>> >
>>> >
>>> > >In a typical web scenario, a person types a string in and (ignore the 
>>> > >case where there
>>> > >is an extra hop via a search engine) that string determines what is 
>>> > >acceptable as a
>>> > >server identity.  The exposure to confusables is limited (under a set of 
>>> > >other assumptions,
>>> > >HSTS, etc...).  Here, the network has free reign to do as they choose 
>>> > >with homoglyphs and
>>> > >other such nonsense.  Any expectation you might have about this really 
>>> > >being a trustworthy
>>> > >entity is meaningless in this context.
>>> > >
>>> > >There are protections against this, but they all lie firmly in the 
>>> > >anti-phishing domain.
>>> > >Most of those rely on having a certificate though, so the requirement 
>>> > >for HTTPS is in
>>> > >service of that, not in terms of ensuring that an untrained human can 
>>> > >make a security
>>> > >critical decision based on poisoned information.
>>> >
>>> > On Mon, May 18, 2020 at 5:08 PM Rifaat Shekh-Yusef 
>>> > <rifaat.s.i...@gmail.com> wrote:
>>> >>
>>> >> Adding Ben.
>>> >>
>>> >>
>>> >> On Sun, May 17, 2020 at 9:26 PM Martin Thomson <m...@lowentropy.net> 
>>> >> wrote:
>>> >>>
>>> >>> Adding more lists..
>>> >>>
>>> >>> On Sun, May 17, 2020, at 02:50, Rifaat Shekh-Yusef wrote:
>>> >>> > > Here is a quote form the API document:
>>> >>> > > "The hostname of the API SHOULD be displayed to the user in order 
>>> >>> > > to indicate the entity which is providing the API service."
>>> >>> > >
>>> >>> > > This seems to suggest that the user is expected to inspect the 
>>> >>> > > displayed name and make sure it is make sense in the context of 
>>> >>> > > whoever is providing that service.
>>> >>>
>>> >>> I don't think that is the case.  If this were a security mechanism, 
>>> >>> then it would use "MUST".  This is likely for the purpose of enabling 
>>> >>> some sort of accountability.  In other words, this is to offer maximal 
>>> >>> information about what is going on.
>>> >>>
>>> >> Here is the sentence just before the above quote from the API document:
>>> >>
>>> >>    it provides the client of the API
>>> >>    an opportunity to authenticate the server that is hosting the API.
>>> >>    This authentication is aimed at allowing a user to be reasonably
>>> >>    confident that the entity providing the Captive Portal API has a
>>> >>    valid certificate for the hostname in the URI
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>>
>>> >>> > > Since this would be an easier attack compared to the interception 
>>> >>> > > attack, and IP address is still permitted, then an attacker might 
>>> >>> > > force the use of IP address to make it harder for the user to make 
>>> >>> > > sense of the displayed name.
>>> >>>
>>> >>> I don't think that is materially different than getting a name with 
>>> >>> confusable characters (or using the prefix hack, 
>>> >>> example.com.<some-guid>.example, in an attempt to confuse).
>>> >>
>>> >>
>>> >> An end user should be able to validate that the name is example.com and 
>>> >> not any other form of the URI.
>>> >> It would be much more difficult for the end user to make sense and 
>>> >> validate an IP address.
>>> >>
>>> >> Regards,
>>> >>  Rifaat
>>> >>
>>> > _______________________________________________
>>> > Captive-portals mailing list
>>> > Captive-portals@ietf.org
>>> > https://www.ietf.org/mailman/listinfo/captive-portals

_______________________________________________
Captive-portals mailing list
Captive-portals@ietf.org
https://www.ietf.org/mailman/listinfo/captive-portals

Reply via email to