On Thu, Aug 10, 2023 at 9:40 PM George Fletcher <george.fletcher=
40capitalone....@dmarc.ietf.org> wrote:

> Hi Matthias,
>
> First, OAuth is about authorization and NOT authentication. If you are
> concerned with Authentication then this thread should move to the OpenID
> Connect working group mailing list :)
>

 Allow me to set the public record straight on this before it starts to
lead its own life: OpenID Connect does not deal with Authentication - at
all - and in fact has the very same relationship with Authentication as
OAuth 2.0 does: at some point user Authentication may happen, but it is
completely undefined and orthogonal to the OAuth/OIDC protocol. OpenID
Connect should rather be thought of as delegation of access to a user's
identity (thanks to Justin who - I believe - posed the latter definition).
I guess you actually meant to say "Identity" in the 2nd sentence above
instead of "Authentication",  and I agree that this discussion seems to be
about OIDC indeed.

Second, if I'm understanding the problem correctly, the issue is NOT with
> OAuth (the protocol) or the Authorization Server. The issue is with the
> "relying party" where the user originally signed up with an email address
> (e.g. f...@example.com). In the case described, the "relying party" took
> the email address provided by the authorization server and looked in its
> own identity store to see if there was a match. It found a match and
> automatically linked those "identities" (in an attempt to help ensure the
> user does not unintentionally create multiple identities when they didn't
> intend to). The RP could present a page to the user to ask if they want to
> link the identities and then if the user does want to link, verify the user
> is the correct owner of the original account before linking.
>

I agree that account linking really only happens when the user has an
authenticated session at the RP, possibly asking to re-authenticate once
more. In that case the user explicitly trusts the Provider, and whatever
the Provider can do afterwards is a result of that - as goes for any
trusted IDP - which addresses Matthias's 1st concern. This also means that
the 2nd concern - "unsolicited linking" - is not possible IRL and certainly
not in the Stackoverflow/Github example. It is true though that "explicit
(re)authenticated account linking" is not included in any RFC/BCP, then
again account linking in itself isn't since it is not (very)
protocol-related.

So for me, resolving this issue is out of scope for the OAuth protocol.
>

Agree, OOOOAuth for sure ;-)

Hans.

On Thu, Aug 10, 2023 at 4:25 AM Warren Parad <wparad=
> 40rhosys...@dmarc.ietf.org> wrote:
>
>> You've lost me at this:
>>
>> Some site, which I'm registered in is trusting some oauth provider I'm
>>> not even knowing about. I'm not registered at this provider. If this
>>> provider is (independent how or from whom) is used in a malicious way, they
>>> can access my account, without my knowledge by sending a valid token
>>> including my email.
>>
>>
>> Nothing stops a site you are using, registered with your email address,
>> from just selling your data to a third party, or blanket publishing it
>> publicly. There is nothing we can do to stop this unless the data we care
>> about is encrypted on the client side. OAuth doesn't really have anything
>> to do with it.
>>
>> Because it has nothing to do with OAuth, the suggested solution of course
>> must have a hole with it. And indeed it does. What if the site offers the
>> token strategy, but then decides to outsource the whole authentication
>> process to a different third party? We are back at the same problem again.
>> However it sounds like what you are saying is that there should be a
>> standardized mechanism for handling the site <=> user token verification.
>> If we use OAuth terminology that would be: We should allow *step-up
>> authentication* to occur solely between the *resource server (RS)* and
>> the *user agent* without involving the *authorization server (AS)*. But
>> then who generates the new JWTs? If the AS generates the new one then, we
>> didn't stop anything. And if the RS generates the new one then actually the
>> AS isn't needed to do anything.
>>
>> And that latter case is actually the reality if we consider these tokens
>> to be a 2FA mechanism that is managed by the site/resource server. So I
>> read this as, we should standardize *WebAuthn *communication between a *user
>> agent* and the *resource server. *That already exists though, doesn't it?
>>
>> On Thu, Aug 10, 2023 at 12:59 AM Matthias Fulz <mf...@olznet.de> wrote:
>>
>>> I'm trying to explain my concern more deeply, please try to follow my
>>> thinking.
>>>
>>> First: Everything you've written is correct and I fully agree.
>>>
>>> But: The difference is: I'm deciding, that I'm using email from xy, I'm
>>> deciding, that I'm using this email to register at some site or anything.
>>>
>>> Anything of these services could be hacked of course, and then they can
>>> use my mail to reset password, use the accounts, etc.
>>>
>>> Now think from the other side:
>>>
>>> Some site, which I'm registered in is trusting some oauth provider I'm
>>> not even knowing about. I'm not registered at this provider. If this
>>> provider is (independent how or from whom) is used in a malicious way, they
>>> can access my account, without my knowledge by sending a valid token
>>> including my email.
>>>
>>>
>>> I'm not sure how to explain the main concern about this in more detail
>>> and of course I can avoid services providing these type of logins without
>>> my permission, but as said what about the future?
>>> On 8/10/23 00:40, Warren Parad wrote:
>>>
>>> Let me try that differently, is OAuth more vulnerable than email usage?
>>> If you hacked any email provider that's arguably a bigger goldmine than
>>> just ones protected by oauth. As long as sites are protected by email,
>>> oauth gives a more secure strategy. Most providers that accept email as
>>> authentication allow you to reset your password via email.
>>>
>>> Going further, "email is insecure" because providers that send email can
>>> impersonate you. How about telecom companies, they can pretend to send SMS
>>> from you. Or the government, they could issue a new password in your name
>>> and pretend to be you. The horror.
>>>
>>> In all seriousness, it's about your threat modal more than anything.
>>> Concerned about your email, then that's your weak point, concern about
>>> oauth, we'll first be concerned about your email, and then you can be
>>> concerned about oauth.
>>>
>>> If we assume that everything was on oauth, then there's the question of
>>> why don't providers just implement a FIDO2 compliant strategy. Wouldn't
>>> that solve everything?
>>>
>>> Don't get me wrong: I'm not telling everything is on oauth as far (I'm
>>> not so deep into the protocol) it's acting only as authorization not as
>>> authentication, than it is anyway the wrong point to address this issue.
>>>
>>> But if it would be possible to eliminate this specific issue inside the
>>> protocol directly, it would be the best solution to not even run into this
>>> situation at any later point of time.
>>>
>>>
>>> As total naive approach I could about something like:
>>>
>>> Client is trusting Provider for user authentication/authorization
>>>
>>> Client must set some random verification token (normally requested / set
>>> by the user)
>>>
>>> User is registering this token under the provider
>>>
>>> Only if this token is valid the token is accepted by the client
>>>
>>>
>>> If something like this would be included in the protocol itself, it
>>> would be working in all situations like companies because they can control
>>> both sides and generate such tokens automatically
>>>
>>> And yes if the site is working together with the provider than it's
>>> over, but that's exactly the point: Than the target itself must be included
>>> not only the single provider, where the user might not even have an
>>> relationship with.
>>>
>>>
>>> Further I could think of extended security, by using signed tokens with
>>> user provided public key, so it's technically secured to just fake tokens.
>>>
>>>
>>> On Thu, Aug 10, 2023 at 12:27 AM Matthias Fulz <mf...@olznet.de> wrote:
>>>
>>>> Thank you for the responses so far.
>>>> On 8/9/23 22:20, Warren Parad wrote:
>>>>
>>>> I can tell you I definitely read it. I actually read it multiple times.
>>>> But I don't know what to tell you. The problem you've identified exists,
>>>> but that doesn't necessarily mean it is a problem. In a way it is a bit
>>>> like, You create a bank account at a bank and you give them all your money.
>>>> They then decide to never give it back.
>>>>
>>>> Yep I know, but the difference is, that I've full control over my
>>>> decision to give my money to this bank or not.
>>>>
>>>>
>>>> While banks are regulated in most countries and things like GitHub are
>>>> not, in essence this interaction is based on trust. Of course solutions
>>>> like WebAuthn via FIDO2 used as a first party authentication can solve
>>>> this, and arguably this is the remit of the entire web3.0 domain.
>>>>
>>>> I don't think anyone would suggest this isn't a problem, just that it
>>>> isn't that big of a problem. I think realistically, in order for this
>>>> problem to have a closed form solution, it would need to start with a
>>>> suggestion on how to solve it, rather than a bunch of us agreeing that it
>>>> is. Because right now there doesn't seem to be any fundamental solution
>>>> available for this. And honestly, the bigger problem is the digital assets
>>>> at risk at the third parties is not due to impersonation, but just general
>>>> negligence. GitHub isn't trying to malicious log into my StackOverflow
>>>> account, and Google isn't trying to log into my bank. That's because these
>>>> organizations have supposedly bound themselves to not grant this ability to
>>>> their internal engineers to abuse. And they are spending tons of resources
>>>> attempting to stop external attackers.
>>>>
>>>> That being said, it's hard to know if this problem hasn't already
>>>> transgressed in the wild. While it is certainly possible, it seems internal
>>>> users are more likely to act maliciously on behalf of the user via their
>>>> owned data in their own company, rather than attempt to impersonate their
>>>> users at third party sites.
>>>>
>>>> These points are totally correct, but I think also about something like
>>>> official Authorities (ae. Patriot Act, etc.) that would definitely be
>>>> interested in such things (ok not on me personally), but this is another
>>>> topic.
>>>>
>>>> For me to be more safe, I'm using now a unique mail for Github, etc.,
>>>> which is sufficient for now, but if you think into the future and
>>>> especially about oauth with more than a handful widely used trusted
>>>> Providers and that they could be hacked, infiltrated forced to grant
>>>> malicious access, etc. Than this could become to a huge problem in no time.
>>>>
>>>> As example: Think about one widely used trusted provider that's hacked,
>>>> or similar. You could access so many accounts on multiple sites, even if
>>>> the users are never used this oauth for these sites.
>>>>
>>>>
>>>> Sorry to insist here, but just because it is not an issue now, I can't
>>>> agree that this not a big deal in general.
>>>>
>>>> I mean in the above scenario even a unique mail wouldn't help because
>>>> that could send any mail, they want to these sites. Think about such
>>>> provider acting malicious and you would not even HAVE an account at any of
>>>> them: every site, that trusts them could be accessed under your account
>>>> just by knowing the user identifier, which is in 99% time the mail.
>>>>
>>>>
>>>> - Matthias
>>>>
>>>>
>>>> - Warren
>>>>
>>>> On Wed, Aug 9, 2023 at 10:06 PM mfulz <mf...@olznet.de> wrote:
>>>>
>>>>> Anyone read this topic or could tell if there is a better place to
>>>>> adress this?
>>>>>
>>>>> Sent from Nine
>>>>> <https://urldefense.com/v3/__http://www.9folders.com/__;!!FrPt2g6CO4Wadw!MlSwGmLXZv9Fk8bOm3ICOR_rDeHxyrRd0u6TNWJeCKePl7SeuwJOm6LBE9fN4f7RxPkn036feigrU9JJeQDQOW6sAkk9jzet0lBo9Ww$>
>>>>> ------------------------------
>>>>> *Von:* mfulz
>>>>> *Gesendet:* Sonntag, 16. Juli 2023 03:38
>>>>> *An:* oauth@ietf.org
>>>>> *Betreff:* [OAUTH-WG] OAuth Trust model
>>>>>
>>>>>
>>>>>
>>>>> Hi Together,
>>>>>
>>>>> I was thinking about some (at least I see it in that way) problem in
>>>>> the whole oauth/openid design:
>>>>>
>>>>> The problem is the following:
>>>>>
>>>>> The user has no control about what providers are accepted by the
>>>>> clients (websites, etc.) and this opens access to these providers without
>>>>> any way to protect against that.
>>>>>
>>>>> Example:
>>>>>
>>>>> I've created an account with email/password login at stackoverflow
>>>>>
>>>>> I've created an account with the same email at github
>>>>>
>>>>> -> logged out from stackoverflow
>>>>>
>>>>> -> logged in via github oauth -> working and connected to the email/pw
>>>>> account from stackoverflow
>>>>>
>>>>>
>>>>> Stackoverflow has the possibility to remove the github login now, but
>>>>> the main problem is, that I would be out of control, that some of these
>>>>> oauth providers
>>>>>
>>>>> (please don't go into the discussion WHY they or anyone should do it)
>>>>> could access my accounts, when such site would allow them as provider.
>>>>>
>>>>>
>>>>> In my opionion it would be good to avoid such issues, by including
>>>>> something in the standard, that the user MUST allow the connection on both
>>>>> sides on the client
>>>>>
>>>>> and on the provider.
>>>>>
>>>>>
>>>>> Yes for sso without any existing account that's some kind of an issue,
>>>>> but still it could be added some verification process like sending
>>>>> confirmation link
>>>>>
>>>>> That the user is accepting the oauth provider on the Client side.
>>>>>
>>>>> Then the oauth provider would also need access to my emails to access
>>>>> my account.
>>>>>
>>>>>
>>>>> Not sure if I'm wrong here but I think my description is correct.
>>>>>
>>>>>
>>>>> BR,
>>>>>
>>>>> Matthias
>>>>> _______________________________________________
>>>>> OAuth mailing list
>>>>> OAuth@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>> <https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/oauth__;!!FrPt2g6CO4Wadw!MlSwGmLXZv9Fk8bOm3ICOR_rDeHxyrRd0u6TNWJeCKePl7SeuwJOm6LBE9fN4f7RxPkn036feigrU9JJeQDQOW6sAkk9jzeti_9Nmxo$>
>>>>>
>>>> _______________________________________________
>>>> OAuth mailing list
>>>> OAuth@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/oauth
>>>> <https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/oauth__;!!FrPt2g6CO4Wadw!MlSwGmLXZv9Fk8bOm3ICOR_rDeHxyrRd0u6TNWJeCKePl7SeuwJOm6LBE9fN4f7RxPkn036feigrU9JJeQDQOW6sAkk9jzeti_9Nmxo$>
>>>>
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>> <https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/oauth__;!!FrPt2g6CO4Wadw!MlSwGmLXZv9Fk8bOm3ICOR_rDeHxyrRd0u6TNWJeCKePl7SeuwJOm6LBE9fN4f7RxPkn036feigrU9JJeQDQOW6sAkk9jzeti_9Nmxo$>
>>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>>
>> https://urldefense.com/v3/__https://www.ietf.org/mailman/listinfo/oauth__;!!FrPt2g6CO4Wadw!MlSwGmLXZv9Fk8bOm3ICOR_rDeHxyrRd0u6TNWJeCKePl7SeuwJOm6LBE9fN4f7RxPkn036feigrU9JJeQDQOW6sAkk9jzeti_9Nmxo$
>>
> ------------------------------
>
> The information contained in this e-mail is confidential and/or
> proprietary to Capital One and/or its affiliates and may only be used
> solely in performance of work or services for Capital One. The information
> transmitted herewith is intended only for use by the individual or entity
> to which it is addressed. If the reader of this message is not the intended
> recipient, you are hereby notified that any review, retransmission,
> dissemination, distribution, copying or other use of, or taking of any
> action in reliance upon this information is strictly prohibited. If you
> have received this communication in error, please contact the sender and
> delete the material from your computer.
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to