在mobile app上較OAuth/OIDC安全的authentication protocol design

前言 在上篇 OAuth/OIDC在mobile app生態上是防不勝防的security漏洞 提及到,OAuth/OIDC那種做法的flow是近乎不可能保障mobile app usage的生態安全。 其實關鍵問題在於,整個authentication過程中,是需要使用login username/password,從而無可避免被惡意agent capture credential。 Redesign? 那要根本地解決,就可能需要重新設計一個針對mobile app的authentication flow,而當中避免在login過程中需要到login credentail。其中一個可行做法,就是web-pre-authentication。 Web-pre-authentication + mobile app device one time registration 我所謂的web-pre-authentication的意思是,把authentication先在web application上安全地做好。 繼而在mobile app install的時候,就只需要做一次one time device […]

OAuth/OIDC在mobile app生態上是防不勝防的security漏洞

前言 我平時都有留意開做Single Sign On既方法,而之前有看過OAuth2同OpenID Connect(OIDC),我亦都寫過幾個post去討論。 web application上應用OAuth2/OIDC是基本上沒太大安全問題的,但在mobile app上的應用其實就可能對生態構成security漏洞。   昨天突然想通了一些東西。 mobie app與web application的分別其實在於agent。 mobie app與web application分別在於agent web application的use case,agent就是browser(e.g: firefox/chrome)。 而mobile app的use case,agent就是mobile app本身,相對地是不可靠的。   打個比喻,如果是web application的use case,而現在你使用一個極可疑的malicious browser去進行OAuth/OIDC flow。 […]

[IT狗][single sign on]OAuth2/OIDC安全考慮

Single sign on (SSO)坊間可能是用OAuth/OIDC。 但其實無論OAuth還是OIDC,其實都很易因為phishing website而出事。 唔係你個Mobile App用果時出事,而係當Malicious mobile app砌一個扮browser UI來模仿OAuth/OIDC flow中的authentication step的login page,就可能會出問題。 security問題: (1) UI可以扮假既address bar,user唔可能用有冇address bar同個url黎分到係真定假。 (2) 由於agent(browser)係假扮,所以用PKCE code verifier (https://tools.ietf.org/html/draft-ietf-oauth-spop-15#section-1.1)呢種防止中間interception既方法係防唔到。因為佢從頭到尾都係假,而唔係interception。 我望過某d vendor網站,例如pingidentity (https://developer.pingidentity.com/en/resources/napps-native-app-sso.html) 佢都只係講用上面PKCE果種方法去防,其實真係唔夠,好易出事。 大約咁諗過,安全既做法,可能要好似blizzard battle.net […]