Thanks - so it seems the value of Sec-Private-State-Token-Crypto-Version will change, after the update to the latest privacypass spec happens.

Forgive another naive question - is there any utility for an issuer/redeemer to support multiple Sec-Private-State-Token-Crypto-Version versions, besides compat?

On 3/30/23 7:53 PM, Steven Valdez wrote:

The WIP registration document is at https://docs.google.com/document/d/1oB_YdRMvQWWAsqXsvxMr4FJCngcSBj2rLJzW15l8a_A/edit?usp=sharing.

We're planning on hosting it on a Github repo and using that as the source of truth for issuer registrations.

There's a couple of "versions" in the API, the field in the PrivateToken/TokenVersion refers to tokens as exposed to the web API (so if the semantics of how a website interacts with the tokens changes or if the API fields change meaning). We don't expect that either of those changes will be needed to update to the standardized privacypass token versions. Separately there's the cryptographic protocol version (referred to as cryptoProtocolVersion in the spec) which indicates the cryptographic tokens and is sent between the UA and individual issuers (not the websites using the API). That's the version we'd see updated to support the final privacypass spec.

-Steven

On Thu, Mar 30, 2023 at 9:54 PM Mike Taylor <[email protected]> wrote:

    Hi Steven,

    Is the issuer registration process documented somewhere (I don't
    see anything in the explainer or spec)?

    Also, just to make sure I understand - when the upgrade to the
    latest privacy pass draft happens, will that add a new value to
    the TokenVersion
    <https://wicg.github.io/trust-token-api/#enumdef-tokenversion>
    enum in the PrivateToken
    <https://wicg.github.io/trust-token-api/#dictdef-privatetoken>
    dict? So existing sites w/ fetch calls to issuers/redeemers can
    continue to use the older version "1", as long as it's supported
    by the issuers/redeemers?

    On 3/29/23 7:59 PM, 'Steven Valdez' via blink-dev wrote:
    The primary features are generally the same, with some internal
    format/wire format changes. Only the clients implementing the API
    and the issuers will need to make code changes to update to the
    new version, websites calling the fetch/JS APIs will not need to
    make any changes. We also believe that the upgrade/deprecation
    story should be easier as issuers will need to register to be
    issuers in Chrome and we'll have direct paths to communicate with
    the smaller set of issuers that will need to make changes.

    On Thu, Mar 30, 2023 at 1:27 AM Yoav Weiss
    <[email protected]> wrote:

        So, you're sticking to the current version (which is an older
        version of privacypass) and will switch to the latest version
        once it stabilizes?
        What's the forward compat story for this as well as future
        changes to the privacypass protocol?

        On Mon, Mar 20, 2023 at 3:54 PM 'Steven Valdez' via blink-dev
        <[email protected]> wrote:

            The larger differences between privacypass and PST
            include some of the token versions that we are currently
            using and that privacypass supports. Even once the core
            drafts get standardized (which may still be months out)
            we'll need to update drafts for the token types we're
            using in PST and get those standardized. We're hoping to
            get a list of the differences between the current draft
            of privacypass and PST out in the explainer repository,
            though that has been delayed a bit getting the spec
            document and other I2S requirements sorted out.



            On Mon, Mar 20, 2023 at 4:30 AM Mike West
            <[email protected]> wrote:

                Thanks.

                
https://github.com/WICG/trust-token-api/blob/main/PST_VS_PAT.md#privacypass-version
                suggests that the privacypass versioning concern that
                Apple raised in
                
https://github.com/WebKit/standards-positions/issues/72#issuecomment-1279177030
                will be mitigated through the protocol solidifying
                nowish, followed by y'all updating the private state
                tokens to match. Given
                https://datatracker.ietf.org/wg/privacypass/documents/,
                it looks like things are generally stable and
                proceeding to WG last call. Have y'all considered
                adopting the final version of the protocol prior to
                shipping? That would avoid the necessity of a future
                migration, and remove one avenue of objection others
                might have.

                Regarding Mozilla, they deferred judgement on both
                this API and privacypass
                (https://github.com/mozilla/standards-positions/issues/261)
                in 2020. Pinging those threads might be helpful in
                soliciting an opinion that takes the last 2+ years
                into account. :)

                -mike


                On Fri, Mar 17, 2023 at 8:29 PM Steven Valdez
                <[email protected]> wrote:

                    Folks from Mozilla have done some recent analysis
                    on the privacypass protocol and some supportive
                    of the general protocol, however we haven't
                    gotten any newer signals on whether the PST
                    system where some sites are issuers and other
                    sites redeem tokens is of interest to them. Apple
                    has been pursuing Private Access Tokens, which is
                    a version of privacypass with the device vendor
                    acting as the issuing party.

                    On Fri, Mar 17, 2023 at 12:46 PM 'Mike West' via
                    blink-dev <[email protected]> wrote:

                        I'm quite excited to see this ready to ship,
                        thanks for the work you've put into it over
                        the years.

                        Both Mozilla and Apple's positions seem
                        dependent upon analysis of the underlying
                        Privacy Pass protocol. Have you had
                        additional communication with them about how
                        things are going, since it's been a while
                        since the initial request in both cases?

                        -mike

                        On Friday, March 17, 2023 at 5:35:06 PM UTC+1
                        Steven Valdez wrote:


                                Contact emails

                            [email protected], [email protected],
                            [email protected]


                                    Explainer

                            https://github.com/WICG/trust-token-api
                            <https://github.com/WICG/trust-token-api>


                            NB: We'll rename the repository to
                            private-state-token-api when it's adopted
                            by the antifraud CG.


                                    Specification

                            https://wicg.github.io/trust-token-api
                            <https://wicg.github.io/trust-token-api>


                                    Design docs


                            
https://docs.google.com/document/d/1TNnya6B8pyomDK2F1R9CL3dY10OAmqWlnCxsWyOBDVQ/edit
                            
<https://docs.google.com/document/d/1TNnya6B8pyomDK2F1R9CL3dY10OAmqWlnCxsWyOBDVQ/edit>


                                    Summary

                            The Private State Token API is a new API
                            for propagating user signals across
                            sites, without using cross-site
                            persistent identifiers like third party
                            cookies for anti-fraud purposes.
                            Anti-fraud methods that rely on third
                            party cookies will not work once third
                            party cookies are deprecated. The
                            motivation of this API is to provide a
                            means to fight fraud in a world with no
                            third party cookies. The API prevents
                            cross-site identification by limiting the
                            amount of information stored in a token.
                            Blind signatures prevent the issuer from
                            linking a token redemption to the
                            identity of the user in the issuance context.


                            Private State Token API does not generate
                            or define anti-fraud signals. This is up
                            to the corresponding first party and the
                            token issuers. The API enforces limits on
                            the information transferred in these
                            signals for privacy concerns. Private
                            State Token API is based on the Privacy
                            Pass protocol from the IETF working group
                            
<https://datatracker.ietf.org/wg/privacypass/about/>.
                            It can be considered as a web-exposed
                            form of the Privacy Pass protocols.


                            The Private State Token API was formerly
                            known as the Trust Token API. It is
                            renamed to more accurately reflect its
                            functionality.


                                    Blink component

                            Internals>Network>TrustTokens


                            NB: As a part of the process of renaming
                            the Trust Token API to the Private State
                            Token API, the blink component will also
                            be renamed.



                                    TAG review

                            https://github.com/w3ctag/design-reviews/issues/414
                            
<https://github.com/w3ctag/design-reviews/issues/414>https://github.com/w3ctag/design-reviews/issues/780
                            
<https://github.com/w3ctag/design-reviews/issues/780>


                                    TAG review status

                            No concerns, aside from lack of clear
                            interest from other browsers


                                    Risks



                                    Interoperability and Compatibility

                            We intend to update the underlying
                            cryptographic and token issuance
                            protocols to align with the eventual
                            Privacy Pass standard. This will affect
                            compatibility with the small number of
                            token issuers. Private State Token API
                            fetch requests include a token type and
                            version field that enables backward
                            compatibility while allowing possible
                            extensions for future token types and
                            versions.While we will have a standard
                            deprecation path of supporting multiple
                            versions, we expect this to be easier
                            with this API as each issuer using this
                            API will need to register to become an
                            issuer and will provide contact
                            information as part of that process.



                            Gecko: Defer
                            
<https://mozilla.github.io/standards-positions/#trust-token>


                            WebKit: Pending
                            
(https://github.com/WebKit/standards-positions/issues/72
                            
<https://github.com/WebKit/standards-positions/issues/72>),
                            already shipping similar technology
                            https://developer.apple.com/news/?id=huqjyh7k
                            <https://developer.apple.com/news/?id=huqjyh7k>(see
                            PST vs. PAT
                            
<https://github.com/WICG/trust-token-api/blob/main/PST_VS_PAT.md>for
                            more information about the differences in
                            the technologies).


                            Web developers: Positive

                            A limited set of developers provided
                            feedback on Private State Tokens,
                            indicating that the tool was valuable for
                            anti-fraud capabilities while also
                            acknowledging some utility challenges
                            (1). Other developers also found that
                            Private State Tokens provided ability for
                            authentication purposes (as illustrated
                            by its use in the Privacy Sandbox
                            k-Anonymity Server) (2).

                            1:
                            
https://github.com/antifraudcg/meetings/blob/main/2022/yahoo-trust-token.pdf
                            
<https://github.com/antifraudcg/meetings/blob/main/2022/yahoo-trust-token.pdf>

                            2:
                            
https://github.com/WICG/turtledove/blob/main/FLEDGE_k_anonymity_server.md#abuse-and-invalid-traffic
                            
<https://github.com/WICG/turtledove/blob/main/FLEDGE_k_anonymity_server.md#abuse-and-invalid-traffic>



                            Other signals:


                                    Ergonomics

                            N/A



                                    Activation

                            Using this feature requires spinning up a
                            (or partner with an existing) Private
                            State Token issuer that can issue and
                            verify trust tokens, which is
                            non-trivial. Verifying properties of the
                            Signed Redemption Record or the client
                            signature requires additional
                            cryptographic operations. It would be
                            beneficial to have server-side libraries
                            that developers can use to help make
                            using this API easier. Sample code can be
                            found at
                            https://github.com/google/libtrusttoken.




                                    Security

                            N/A



                                    WebView application risks

                            Does this intent deprecate or change
                            behavior of existing APIs, such that it
                            has potentially high risk for Android
                            WebView-based applications?

                            As this feature does not deprecate or
                            change behavior of existing APIs, we
                            don't anticipate any risk to
                            WebView-based applications.



                                    Debuggability

                            This API is debuggable via the DevTools
                            Application Data panel and the operations
                            are exposed in the Network panel.


                                    Will this feature be supported on
                                    all six Blink platforms (Windows,
                                    Mac, Linux, Chrome OS, Android,
                                    and Android WebView)?

                            Yes


                                    Is this feature fully tested by
                                    web-platform-tests
                                    
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

                            Yes
                            
<https://wpt.fyi/results/trust-tokens?label=experimental&label=master&aligned>*,
                            some of the tests are currently failing
                            as renaming/API changes in preparation
                            for shipping these feature haven't
                            propagated to those tests yet.
                            Additionally, due to the requirements of
                            having a server-side issuer (with bespoke
                            crypto) to fully test the API, a majority
                            of the testing is done in wpt_internal
                            with a bespoke python implementation of a
                            PST issuer.


                                    Flag name

                            TrustTokens (in the process of being
                            renamed to PrivateStateTokens)


                                    Requires code in //chrome?

                            False


                                    Non-OSS dependencies

                            Does the feature depend on any code or
                            APIs outside the Chromium open source
                            repository and its open-source
                            dependencies to function?

                            Yes. Token operations are dependent on
                            having the key commitment information
                            configured. Chrome (and Chromium
                            implementations that consume components
                            from component updater) supports this via
                            a component, other clients will need to
                            consume the component or come up with
                            their own method of shipping the key
                            commitment information to the client.


                                    Estimated milestones


                            Chrome for desktop:113

                            Chrome for Android:113

                            Android Webview:113


                                    Anticipated spec changes

                            Open questions about a feature may be a
                            source of future web compat or interop
                            issues. Please list open issues (e.g.
                            links to known github issues in the
                            project for the feature specification)
                            whose resolution may introduce web
                            compat/interop risk (e.g., changing to
                            naming or structure of the API in a
                            non-backward-compatible way).

                            The major feature changes we expect are
                            likely to be around the versions of
                            tokens we support, as other use cases may
                            need differing properties from those
                            provided with the initial API and other
                            format/API changes to align better with
                            standardization and interop (see the
                            Interoperability and Combatibilitysection
                            up above). Most potentially
                            web-observable changes in our open issues
                            (https://github.com/WICG/trust-token-api/issues
                            <https://github.com/WICG/trust-token-api/issues>)
                            are around ergonomics of using the APIs
                            and ways to use the API in more
                            locations/manners which should pose
                            minimal compatibility risk to existing
                            users of the API.


                                    Link to entry on the Chrome
                                    Platform Status

                            https://chromestatus.com/feature/5078049450098688
                            <https://chromestatus.com/feature/5078049450098688>


                                    Links to previous Intent discussions

                            Intent to prototype:
                            
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/X9sF2uLe9rA
                            
<https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/X9sF2uLe9rA>

                            Intent to experiment:

                            
https://groups.google.com/a/chromium.org/g/blink-dev/c/UIvia1WwIhk/m/stu7iXTWBwAJ
                            
<https://groups.google.com/a/chromium.org/g/blink-dev/c/UIvia1WwIhk/m/stu7iXTWBwAJ>

                            Intent to extend origin trial:

                            
https://groups.google.com/a/chromium.org/g/blink-dev/c/fpfbKgJF8Vc/m/aC8HJfGdDwAJ



                            This intent message was generated by
                            Chrome Platform Status
                            <https://chromestatus.com/>.

                                
                                
                                

-- 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
                        [email protected].
                        To view this discussion on the web visit
                        
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/633d35ef-2bd9-43c3-9799-8243ff24d764n%40chromium.org
                        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/633d35ef-2bd9-43c3-9799-8243ff24d764n%40chromium.org?utm_medium=email&utm_source=footer>.



--
                     Steven Valdez |     Chrome Privacy Sandbox |
                    [email protected] |         Cambridge, MA



--
             Steven Valdez |     Chrome Privacy Sandbox |
            [email protected] |         Cambridge, MA

-- 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 [email protected].
            To view this discussion on the web visit
            
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANduzxAdWEhA1BkPd7xVRStDqPNRXpsQKdVbtz3CHMiMGToQnw%40mail.gmail.com
            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANduzxAdWEhA1BkPd7xVRStDqPNRXpsQKdVbtz3CHMiMGToQnw%40mail.gmail.com?utm_medium=email&utm_source=footer>.



--
     Steven Valdez |     Chrome Privacy Sandbox |       [email protected] |
         Cambridge, MA

-- 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 [email protected].
    To view this discussion on the web visit
    
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANduzxAkvAi07owonKvrtUYLqfNYC2-WUaOoUKa0HjjoOe6wAA%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANduzxAkvAi07owonKvrtUYLqfNYC2-WUaOoUKa0HjjoOe6wAA%40mail.gmail.com?utm_medium=email&utm_source=footer>.



--

 Steven Valdez |  Chrome Privacy Sandbox | [email protected] |  Cambridge, MA


--
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d67bbc0b-237b-f5e0-9e29-e9191d4d38db%40chromium.org.

Reply via email to