OK, so this doesn't solve the potential privacy issue, but pushes an
alternative mechanism that would enable us to resolve it in the future. Got
it!

On Mon, Jan 13, 2025 at 9:18 PM Caleb Raitto <carai...@chromium.org> wrote:

> To clarify, the browser doesn’t actively send the auction nonce.  The
> browser provides an API, navigator.createAuctionNonce(), where sellers
> can request the auction nonce.
>
> This proposal introduces a new mechanism where sellers provide nonces, but
> does not deprecate the old behavior.  We could consider deprecating the old
> behavior once this new behavior is adopted.
>
> -Caleb
> On Thursday, January 9, 2025 at 4:53:25 AM UTC-5 Yoav Weiss wrote:
>
>> What happens if sellers don't provide nonces of their own? Do we continue
>> to send the auction nonces that can be used as an id? If so, are there
>> plans to deprecate it? If we don't, what's the compat risk?
>>
>> On Wed, Jan 8, 2025, 20:37 Mike Taylor <miketa...@chromium.org> wrote:
>>
>>> LGTM2
>>> On 1/8/25 11:05 AM, Chris Harrelson wrote:
>>>
>>> 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
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw88gzSNtR_JJ15xU%2B1S45R5jEw8DQJ8SN%2BuE88zvk-0%3DQ%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/e7e3c769-85be-4984-9618-0e92b4b7ada1%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/e7e3c769-85be-4984-9618-0e92b4b7ada1%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/CAOmohSKifFM1gqjyMGeJ3Cgrk1y7F9OyWtCKPCRzgiGU56H-ww%40mail.gmail.com.

Reply via email to