-
Notifications
You must be signed in to change notification settings - Fork 738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPv6 Support #1332
Comments
This is a great start. I have some follow-up questions:
|
The question comes down to whether we should trust what's passed in. Let's discuss in committee. Spoofing the value in the request is easier than spoofing the XFF. Unclear there's a "right" answer here.
The Rubicon security team has stronger guidelines. First, the rightmost 64 bits is all MAC address and should be completely dropped all the time in our environment. Second, the leftmost 64-bits is the network -- we want to mask off the last 8 bits there. (64-56=8)
The Rubicon exchange does this today, which is why we want our PBS to do the same. The idea is that the MAC address isn't useful for targeting. This setting is proposed as a configuration so other host companies can be more lenient. |
Sounds good to me.
Gotcha. Is there a use case for removing bits from the network and leaving the mac address component in place? I'm wondering if a single network bit mask option would keep configs a bit more straightforward. If we really want to provide the option though and agree it's of potential use, I'm personally fine with it. We can discuss this in the committee as well.
Cool. Looks like Google and others do this as well. I'll get guidance from Xandr for the committee discussion. Thinking a bit more about OpenRTB request validation. I'm not worried about an ipv6 field really having an ipv4, but I wonder if we should support an ipv4 having an ipv6 and gracefully promote it to the ipv6 appropriate field. |
We discussed in committee. Updates made above. |
Apparently 2001:db8::/32 is seen in the wild -- some host companies may want to consider it a private network. |
This has been released in PBS-Java. |
IPv6 is becoming more common, and Prebid Server needs some updates to handle it in a privacy-appropriate way. Note that IPv6 addressing is quite different than IPv4 - there are a number of good resources on the net to understand them.
Config
We should support the following host configuration options:
Proposed Algorithm
Anonymize IPv6:
Anonymize IPv4:
Examples
If we need to privacy mask address 1111:2222:3333:4444:5555:6666:7777:8888
the default result would be a 56 bit netmask -- 1111:2222:3333:44::
if anon-left-mask-bits was 48, the result would be 1111:2222:3333::
Even if we didn't need to mask address 1111:2222:3333:4444:5555:6666:7777:8888, if always-mask-right is 64, the result is 1111:2222:3333:4444::
Since there multiple ways to validate and manipulate IPv6 addresses, we ought to research validation libraries for Go and Java.
The text was updated successfully, but these errors were encountered: