LGTM1

On Wed, Dec 18, 2024 at 9:19 AM Caleb Raitto <carai...@chromium.org> wrote:

> Responses inline
>
> On Tuesday, December 3, 2024 at 9:03:22 PM UTC-5 Vladimir Levin wrote:
>
> On Mon, Nov 25, 2024 at 9:15 AM 'Orr Bernstein' via blink-dev <
> blink-dev@chromium.org> wrote:
>
> Contact emails
>
> o...@google.com, pauljen...@chromium.org, carai...@chromium.org
>
>
> Explainer
>
> https://github.com/WICG/turtledove/pull/1322
>
>
> Specification
>
> https://github.com/WICG/turtledove/pull/1313
>
>
> Summary
>
> Additional bids are a feature of the Protected Audience auction that
> provide buyers with a way to include server-constructed contextual bids in
> the auction, which allows negative targeting of those bids. We've
> identified a potential privacy risk with the current implementation, as
> well as a potential solution that addresses that risk. Additional bids come
> from buyers, but are transported to the auction by the auction's seller. To
> prevent replay of additional bids, additional bids rely on an auction nonce
> — a unique number created by and used by the browser to uniquely identify
> that auction. However, this introduces a privacy risk, in that all buyers
> see the same auction nonce, and could use that auction nonce as a key to
> join distinct bid requests for an auction. This proposal allows sellers to
> introduce an additional nonce that gets combined with the browser-provided
> one so that buyers see different combined nonces across bid requests,
> preventing the joining of bid requests. The combined nonce is generated
> through a one-way hash (SHA-256) to prevent the construction of a combined
> nonce that matches a previous combined nonce, which could otherwise be used
> to facilitate the replay of an additional bid.
>
>
> According to the explainer, the auction nonce (generated by the browser,
> and given to the seller (?)) is combined with a seller generated nonce to
> generate a bid nonce that
>
>
> Correct - the seller does receive the auction nonce. When constructing the
> auction config, the seller creates an auction nonce using the existing
> navigator.createAuctionNonce() function. The seller can then send this
> auction nonce as part of the request to their contextual server.
>
>
> buyers see. That's to make sure that buyers can't use the auction nonce to
> figure out other bids that are happening for the same auction, right?
>
>
> Correct - with this change, the auction nonce is no longer given to
> bidders, so that it can not be used to join bid-requests together
> server-side.
>
>
> Then the bid nonce is returned back to the seller. I presume this is to
> identify which auction the bid is for?
>
>
> Right -- we want to avoid replay attacks, where a bid is entered into an
> auction for which it wasn’t intended. This is why the original auction
> nonce mechanism was created, and this new design should preserve this
> replay attack protection.
>
>
> What I don't understand is that the bid nonce is then returned to the
> browser, but the browser only knows the auction nonce so wouldn't it have
> no way to match that with an auction because it doesn't know seller
> generated nonce for this bid?
>
>
> The seller nonce is also returned to the browser, via the
> Ad-Auction-Additional-Bid response header
> <https://github.com/WICG/turtledove/blob/main/FLEDGE.md#63-http-response-headers:~:text=The%20structure%20of,signed%20additional%20bid%3E>.
> The browser can then calculate
> <https://github.com/WICG/turtledove/blob/main/FLEDGE.md#61-auction-and-bid-nonces:~:text=The%20seller%20must%20combine,as%20a%20base64%20string.>
> the bid nonce from the auction nonce and the seller nonce in the same way
> that the seller did to send the bid nonce to the buyer.
>
>
>
> Another unrelated question, does this have any separate implications for
> Trusted Execution Environments? Specifically, does this apply to both or
> only to "local" auctions?
>
>
> Currently, additional bids aren’t supported for auctions conducted on
> Bidding and Auction (B&A) services, although such support could be added in
> the future, under a different I2S.
>
>
>
> Thanks,
> Vlad
>
>
>
> Blink component
>
> Blink>InterestGroups
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EInterestGroups>
>
>
> TAG review
>
> For Protected Audience: https://github.com/w3ctag/
> design-reviews/issues/723
>
>
> TAG review status
>
> Completed for Protected Audience, resolved unsatisfied.
>
>
> Risks
>
>
> Interoperability and Compatibility
>
> Optional new functionality that does not break existing use.
>
>
> Gecko & WebKit: For Protected Audiences in general - Negative from Mozilla
> <https://github.com/mozilla/standards-positions/issues/770#issuecomment-2432124085>.
> No signal from Webkit
> <https://github.com/WebKit/standards-positions/issues/158#issuecomment-2432121278>
> .
>
>
> Edge: Edge is running an Origin Trial of the Ad Selection API
> <https://github.com/WICG/privacy-preserving-ads/blob/main/README.md>
> which shares a Web API and services protocol with Protected Audience.
>
>
> Web developers: Requested by ad tech in GitHub issue #1198
> <https://github.com/WICG/turtledove/issues/1198>.
>
>
> Debuggability
>
> Ad-Auction-Additional-Bid response headers are visible in the DevTools
> Network tab, and each can be trivially decoded into an auction nonce, a
> seller nonce, and a base-64 encoded signed additional bid. Errors
> encountered while decoding and parsing the signed additional bid are
> presented in the DevTools console. Additional bids are debuggable via
> DevTools debugging of Protected Audience scoring scripts.
>
>
> Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?
>
> It will be supported on all platforms that support Protected Audience, so
> all but WebView.
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> ?
>
> Yes <https://chromium-review.googlesource.com/c/chromium/src/+/5979020>
>
>
> Flag name on chrome://flags
>
> None
>
>
> Finch feature name
>
> FledgeSellerNonce
>
>
> Requires code in //chrome?
>
> False
>
>
> Estimated milestones
>
> Shipping on desktop and Android in M132.
>
>
> Anticipated spec changes
>
> None
>
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/5081571282124800
>
>
> 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 blink-dev+unsubscr...@chromium.org.
> To view this discussion visit https://groups.google.com/a/
> chromium.org/d/msgid/blink-dev/CANHsO6stZ5OtCo3xy127pz_
> 9w7V_NJjx2ZvfzP%2BnJowRC8cmzg%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CANHsO6stZ5OtCo3xy127pz_9w7V_NJjx2ZvfzP%2BnJowRC8cmzg%40mail.gmail.com?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 visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/75fe8dee-bd6f-4515-b77d-4ceccda28cban%40chromium.org
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/75fe8dee-bd6f-4515-b77d-4ceccda28cban%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 visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw88gzSNtR_JJ15xU%2B1S45R5jEw8DQJ8SN%2BuE88zvk-0%3DQ%40mail.gmail.com.

Reply via email to