LGTM3

On Tuesday, January 14, 2025 at 10:00:18 AM UTC+1 Yoav Weiss wrote:

> 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/b7d274cf-9e84-41fc-9509-045a53a87a2en%40chromium.org.

Reply via email to