Is it possible to keep the trial alive for 2 more milestones, but disable new registrations?
On Thu, May 19, 2022 at 1:21 AM Martin Kreichgauer <marti...@google.com> wrote: > Greetings blink-dev, > > I would like to request a second extension of the U2FSecurityKeyAPI > deprecation trial. We are continuously gathering direct user feedback about > this deprecation, and virtually all trial participants we have been in > contact with have either migrated off of U2F already or are expecting to do > so ahead of the current July 26 deadline. However, one enterprise user with > a very sizable security key deployment across its workforce has told us > that they might not be able to fully migrate a number of stragglers by that > time, and asked whether we could extend the deadline by 8 weeks in order to > minimize disruptions for them. > > We're therefore asking to push back removal of the U2F API by two > milestones (M106 instead M104), and extend the deprecation trial until > September 20, 2022. We would still like to close new trial registrations on > July 26, and grant renewals beyond July 26 only to existing participants > that contact us directly. > > Since the upcoming removal of extensions manifest V2 from Chrome presents > a hard technical deadline for removing Cryptotoken, further extensions of > this trial would be extremely unlikely. > > Cheers, > Martin > > On Thursday, September 23, 2021 at 11:50:12 AM UTC-7 yoav...@chromium.org > wrote: > >> Thanks for clarifying! >> >> On Thu, Sep 23, 2021 at 7:45 PM Martin Kreichgauer <mart...@google.com> >> wrote: >> >>> Thanks! Just to be clear, the deprecation trial is beginning with M95, >>> but it would only be *required* by M98 when we disable the U2F API by >>> default. M104 is where we plan to delete the API, so M103 would be the last >>> release where the deprecation trial is functional. >>> >>> On Thu, Sep 23, 2021 at 5:18 AM Yoav Weiss <yoav...@chromium.org> wrote: >>> >>>> So IIUC, the deprecation trial would run from M98-M104. That seems like >>>> a reasonable time period to give to folks and enable them to adjust. >>>> Still LGTM. >>>> >>>> On Wed, Sep 22, 2021 at 10:32 PM 'Martin Kreichgauer' via blink-dev < >>>> blin...@chromium.org> wrote: >>>> >>>>> Dear blink-dev, >>>>> >>>>> I wanted to provide an update on our progress with the U2F API >>>>> deprecation effort and request a short extension for removal of the API >>>>> and >>>>> the end date of the Reverse Origin Trial. >>>>> >>>>> First, the changes originally announced for Chrome 94 are now >>>>> scheduled to ship instead with Chrome 95. These changes include gating of >>>>> U2F API requests behind a permission prompt, deprecation warnings logged >>>>> to >>>>> the developer console, and a Reverse Origin Trial >>>>> <https://developer.chrome.com/origintrials/#/view_trial/-6366963973195038719> >>>>> . >>>>> >>>>> We still plan to disable the U2F API by default with Chrome 98. >>>>> >>>>> We also have been in close contact about this deprecation with >>>>> partners who still rely on the U2F API. In some of these conversations, >>>>> partners asked us to allow a little more time for them to migrate their >>>>> websites to the WebAuthn. We therefore would like to push back removal of >>>>> the U2F API to Chrome 104, and to extend the Reverse Origin Trial to the >>>>> same time period. >>>>> >>>>> Thanks, >>>>> Martin >>>>> >>>>> >>>>> On Friday, June 11, 2021 at 11:34:24 AM UTC-7 Martin Kreichgauer wrote: >>>>> >>>>>> Primary eng (and PM) emails >>>>>> >>>>>> mart...@google.com, a...@chromium.org >>>>>> >>>>>> Summary >>>>>> >>>>>> We want to deprecate and remove the legacy U2F API for interacting >>>>>> with security keys. (But not U2F security keys themselves, which will >>>>>> continue to work.) >>>>>> >>>>>> Affected sites should migrate to the Web Authentication API >>>>>> (WebAuthn). Credentials that were originally registered via the U2F API >>>>>> can >>>>>> be challenged via WebAuthn. USB security keys that are supported by the >>>>>> U2F >>>>>> API are also supported by the WebAuthn API. >>>>>> >>>>>> Motivation >>>>>> >>>>>> U2F is Chrome’s original security key API. It allows sites to >>>>>> register public key credentials on USB security keys and challenge them >>>>>> for >>>>>> building phishing-resistant two-factor authentication systems. U2F never >>>>>> became an Open Web standard and was subsumed by WebAuthn (launched >>>>>> in M67 <https://www.chromestatus.com/feature/5669923372138496>). >>>>>> Chrome never directly supported the FIDO U2F JavaScript API in Blink, but >>>>>> rather shipped a component extension called cryptotoken, which exposes an >>>>>> equivalent chrome.runtime.sendMessage API. U2F and Cryptotoken are firmly >>>>>> in maintenance mode and we encouraged sites to migrate to WebAuthn >>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/SdceviqfKJo/m/zIMMWWoLBgAJ> >>>>>> two years ago. >>>>>> >>>>>> U2F’s continued existence presents several issues: >>>>>> >>>>>> - >>>>>> >>>>>> Cryptotoken requests don’t trigger a permission prompt or any UI >>>>>> indicating that the website is interacting with a special type of USB >>>>>> device. Instead we rely on the website to handle UI for the requested >>>>>> security key interaction. We believe this isn’t ideal from a secure UX >>>>>> perspective. WebAuthn presents either a tab-modal dialog or UI >>>>>> provided by >>>>>> the operating system for every request. >>>>>> - >>>>>> >>>>>> Sites can unconditionally query U2F credentials when embedded in >>>>>> cross-origin iframes. WebAuthn guards this behavior behind a feature >>>>>> policy. >>>>>> >>>>>> >>>>>> - >>>>>> >>>>>> Because Cryptotoken is a component extension and externally >>>>>> connectable from any URL, it effectively exposes the chrome.runtime >>>>>> APIs >>>>>> unconditionally to the entire web. Removing cryptotoken will allow us >>>>>> to >>>>>> make these APIs unavailable to websites that are not explicitly >>>>>> listed as >>>>>> connectable by an extension. >>>>>> - >>>>>> >>>>>> WebAuthn has subsumed U2F and we don’t want to encourage new use >>>>>> of an old API. >>>>>> >>>>>> >>>>>> googleLegacyAppIdSupport extension >>>>>> >>>>>> The factory image on some Android devices predates WebAuthn’s >>>>>> existence and therefore only supports the U2F API. Because credentials >>>>>> registered via WebAuthn cannot be challenged via U2F, Google continues to >>>>>> require a mechanism for registering U2F-compatible security key >>>>>> credentials >>>>>> even after the U2F API has been removed from Chrome, or else users that >>>>>> register a security key on their desktop would be unable to sign into >>>>>> their >>>>>> affected Android devices with that security key. We would like to >>>>>> implement >>>>>> support for the goolgeLegacyAppId WebAuthn request extension >>>>>> <https://docs.google.com/document/d/1Di6ec7B3t2EVPa0iFzrj6kWPvzI71IzBQo4g8JHeb50/edit> >>>>>> in Chromium to allow Google’s accounts system to do this. The extension >>>>>> would allow *.google.com origins to create WebAuthn credentials that >>>>>> can be challenged via WebAuthn and U2F, so that it will be possible >>>>>> for Android’s burned-in user account adding system to exercise them. >>>>>> While >>>>>> the googleLegacyAppIdSupport extension has not been formally >>>>>> standardized, Safari >>>>>> has already shipped it >>>>>> <https://bugs.webkit.org/show_bug.cgi?id=202427>. >>>>>> >>>>>> The ability to use WebAuthn in Chrome on these Android devices is not >>>>>> affected. Chrome supports WebAuthn on devices running Android N or >>>>>> newer. Other websites should therefore not encounter Google’s particular >>>>>> problem in their own WebAuthn migrations. >>>>>> >>>>>> Deprecation and Removal Timeline >>>>>> >>>>>> We propose the following timeline for deprecation and removal: >>>>>> >>>>>> Milestone >>>>>> >>>>>> Approximate stable date >>>>>> >>>>>> Actions >>>>>> >>>>>> M93 >>>>>> >>>>>> August 2021 >>>>>> >>>>>> Support googleLegacyAppIdSupport extension >>>>>> >>>>>> M94 >>>>>> >>>>>> September 2021 >>>>>> >>>>>> - >>>>>> >>>>>> Gate U2F API requests behind a user permission prompt >>>>>> - >>>>>> >>>>>> Log a deprecation notice in Developer Console for every request >>>>>> - >>>>>> >>>>>> Start a Deprecation Trial; keep the U2F API enabled by default >>>>>> >>>>>> M98 >>>>>> >>>>>> February 2022 >>>>>> >>>>>> Disable the U2F API by default; but keep it available to sites on the >>>>>> Deprecation Trial >>>>>> >>>>>> M100 >>>>>> >>>>>> March 2022 >>>>>> >>>>>> Fully remove the U2F API >>>>>> >>>>>> >>>>>> Interoperability and Compatibility Risk >>>>>> >>>>>> We believe there exist only a handful of sites that still use the U2F >>>>>> API. Nevertheless, we want to be careful to avoid surprising developers >>>>>> by >>>>>> the removal and possibly affect users’ ability to log into websites. We >>>>>> will run a Reverse Origin Trial starting with M97 to get an accurate >>>>>> picture of which sites are left on U2F at that point and allow them time >>>>>> to >>>>>> migrate. >>>>>> >>>>>> Removing U2F and encouraging sites to switch to WebAuthn should be >>>>>> positive for compatibility and interoperability in the long run. >>>>>> >>>>>> Edge: Supported, no signals on removal >>>>>> >>>>>> Firefox: Supported, no signals on removal >>>>>> >>>>>> Safari: Not supported >>>>>> >>>>>> Somewhat confusingly, U2F is the name for both the web-facing API and >>>>>> a USB security key wire protocol. The WebAuthn API supports security keys >>>>>> speaking either the U2F (CTAP1) or FIDO2 (CTAP2) wire protocol. The >>>>>> proposal here is only to remove the U2F API. Users can continue to use >>>>>> their U2F security keys via the WebAuthn API. >>>>>> >>>>>> Alternative implementation suggestion for web developers >>>>>> >>>>>> Developers should migrate to using the Web Authentication API >>>>>> <https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API> >>>>>> (WebAuthn). To challenge an existing security key credential that was >>>>>> originally registered via the U2F API, developers can use the appid >>>>>> extension: >>>>>> >>>>>> navigator.credentials.sign({ >>>>>> >>>>>> publicKey: { >>>>>> >>>>>> allowCredentials: [{ >>>>>> >>>>>> id: new Uint8Array([…]).buffer,, >>>>>> >>>>>> type: 'public-key' >>>>>> >>>>>> }], >>>>>> >>>>>> challenge: new Uint8Array([…]).buffer, >>>>>> >>>>>> extensions: { >>>>>> >>>>>> appid: ‘https://example.com’, >>>>>> >>>>>> }, >>>>>> >>>>>> }, >>>>>> >>>>>> }; >>>>>> >>>>>> (Where example.com is replaced with the appID that was used for >>>>>> registering the U2F credential.) >>>>>> >>>>>> Credentials created via WebAuthn cannot be asserted via the U2F API. >>>>>> Sites therefore may want to first migrate their sign-in flows and then, >>>>>> once that is settled, migrate their security key enrollment. >>>>>> >>>>>> Usage information from UseCounter >>>>>> >>>>>> U2F usage is measured in the U2FCryptotokenRegister >>>>>> <https://www.chromestatus.com/metrics/feature/timeline/popularity/2812> >>>>>> and U2FCryptotokenSign >>>>>> <https://www.chromestatus.com/metrics/feature/timeline/popularity/2813> >>>>>> UKM metrics. However, the number of total requests isn’t as relevant as >>>>>> the >>>>>> number of sites on the web that support U2F for signing in. Based on UKM >>>>>> data, we believe the latter to be quite low, but we would like to give >>>>>> these sites the chance to make the switch to WebAuthn rather than break >>>>>> them. >>>>>> >>>>>> Entry on the feature dashboard >>>>>> >>>>>> https://www.chromestatus.com/feature/5759004926017536 >>>>>> >>>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "blink-dev" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to blink-dev+...@chromium.org. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4bbbde2d-6122-4dc4-a177-76afb2c58f9bn%40chromium.org >>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4bbbde2d-6122-4dc4-a177-76afb2c58f9bn%40chromium.org?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWUwbsk2ggMRSb8DGFX83ssm44XdMP7cy%2B%2BomHq7m_6CA%40mail.gmail.com.