Hello Dominick and everyone,

I contributed to the latest drafts. I do share some concerns about the
organization of the document, which can be improved. OTOH, some care has
been put in the latest drafts about consistency (naming patterns and parts
of systems in a similar way through all parts of the documents), and
documenting security considerations per architectural pattern, including
some pros and cons.

I do think that further documenting attacks, vulnerable architectures and
their mitigations, would indeed help.

Another opportunity for improvement could be to extract some reusable
patterns, and adding some kind of overview, i.e. with a combination matrix.
For example, off the top of my head, we have some aspects that could be
mixed-and-matched into different architectural patterns:
- client: A.backend/B.service worker/C.dom js
- token storage/calling resource server: 1.backend 2.service worker 3.dom
js (multiple subcases, e.g. local/session storage, web worker, closure)
- refresh (token & flow): I. backend II. service worker III. no refresh
token, prompt=none iframe at navigation
A1I = BFF proxy
A3I = Token Mediating Backend
B2II or B2III = Service Worker client
C3III = JS client
none = single-domain app without oauth

Each aspect brings its bunch of PROs and CONS which could be documented
there (e.g. backends will typically open some CSS attack vector while
local/session storage will open some token exfiltration in case of XSS).

There are some other weird combinations, and they should also be explored
(at least to document why they aren't recommended).

I do think that whatever we do, this kind of document is difficult to read
for someone with less experience in oauth. We can partly solve it, but we
could also add some learning materials (cookbooks, security matrixes, ...).

Do you have some examples of "jumping straight to conclusions without
giving a good pro/con breakdown" which we could improve?

Best regards,

Yannick

Le mar. 20 sept. 2022, 19:15, Dominick Baier <dba...@leastprivilege.com> a
écrit :

> Hi Aaron et al,
>
> I re-read the latest version of the web app BCP. For me it has become
> increasingly hard to follow, and so I’m concerned that it’s even harder for
> the target audience this document is intended for.
>
> It seems that over time more and more content got accumulated which IMO
> jumps straight to conclusions without giving a good pro/con breakdown. I
> worry that it will be hard for someone with less experience to make the
> right choices (or easy to do the wrong ones).
>
> Given we both (and others here on that list) attended Philippe de Rycks
> presentations at the OSW, I wonder if it wouldn’t make sense to start this
> document with the browser attacker model. This would make it very clear
> what an attacker is potentially able to do in the browser.
>
> From there this would lead to various risks/attacks like
>
> • Session hijacking
> • Access token exfiltration
> • Refresh token exfiltration
> • …
>
> ..and based on that there are different implementation/architecture
> choices to make. Each implementation style helps in mitigating one or more
> of the above attacks. None of them will solve them all of course.
>
> I think this approach would make this document more useful and maybe you
> can consider such a re-design.
>
> Thanks
> Dominick
> _______________________________________________
> 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