openrtb / OpenRTB

Documentation and issue tracking for the OpenRTB Project
BSD 2-Clause "Simplified" License
854 stars 143 forks source link

HTTPS transport #17

Closed opinali closed 4 years ago

opinali commented 9 years ago

The OpenRTB spec still "recommends" against use of HTTPS (2.2 Security). DoubleClick Ad Exchange is moving fast to requiring HTTPS for all RTB, I guess other exchanges should also be working on that, and this part of the spec is feeling obsolete. If and when we move to support OpenRTB natively, this will have to be HTTPS-only. The part "These are server-to-server calls, which can be protected in other ways" doesn't look very good anymore, now with more people deploying bidders on public cloud platforms.

Can we change this in the next release? Suggestion for something simple:

I feel that the spec could go a little further, in particular recommending to take advantage of improvements in HTTP 2.0 which makes TLS more secure and lower overhead. Not my area of expertise, I don't know if it's too early to expect everybody's serving platforms to already implement HTTP2 well, etc., just a suggestion.

Additionally, the DoubleClick protocol always had some fields that are encrypted because they carry sensitive information. The OpenRTB doesn't have any encrypted field; it has some hashed fields, e.g. for device IDs, and while these are useful, they are not as good as an encrypted ADID that can be fully decrypted by the bidder. Using encryption at the transport level would allow the protocol to carry sensitive fields without the complication of encrypting individual fields.

drjbutler commented 9 years ago

We haven't seen anyone really pushing SSL in RTB besides Google. That said, I wouldn't object to simply removing the non-SSL recommendation and let the spec focus on content rather than infrastructure.

:JB

On Fri, May 8, 2015 at 12:40 PM, Osvaldo Pinali Doederlein < notifications@github.com> wrote:

The OpenRTB spec still "recommends" against use of HTTPS (2.2 Security). DoubleClick Ad Exchange is moving fast to requiring HTTPS for all RTB, I guess other exchanges should also be working on that, and this part of the spec is feeling obsolete. If and when we move to support OpenRTB natively, this will have to be HTTPS-only. The part "These are server-to-server calls, which can be protected in other ways" doesn't look very good anymore, now with more people deploying bidders on public cloud platforms.

Can we change this in the next release? Suggestion for something simple:

  • TLS (Transport Layer Security) is not required for compliance, but recommended for RTB traffic that's routed through the public internet (i.e, bidders not hosted inside the exchange's network, or equivalent arrangement).

I feel that the spec could go a little further, in particular recommending to take advantage of improvements in HTTP 2.0 which makes TLS more secure and lower overhead. Not my area of expertise, I don't know if it's too early to expect everybody's serving platforms to already implement HTTP2 well, etc., just a suggestion.

Additionally, the DoubleClick protocol always had some fields that are encrypted because they carry sensitive information. The OpenRTB doesn't have any encrypted field; it has some hashed fields, e.g. for device IDs, and while these are useful, they are not as good as an encrypted ADID that can be fully decrypted by the bidder. Using encryption at the transport level would allow the protocol to carry sensitive fields without the complication of encrypting individual fields.

— Reply to this email directly or view it on GitHub https://github.com/openrtb/OpenRTB/issues/17.

James M. Butler, Ph.D.* | SVP Technology *millennial media Mobile: 617.834.2125 Email: jbutler@millennialmedia.com Web: www.millennialmedia.com Twitter: @millennialmedia Facebook: Facebook/millennialmedia

darobin commented 6 years ago

I would like to revisit this issue and strongly suggest that SSL be not only recommended but mandated. There are several reasons to support this choice.

The first is SSL performance. The idea that SSL is inherently slow has been extensively debunked in the Web tech world, and I'm surprised to see it still alive here. A naïve SSL configuration could be a little bit slow but anything professionally configured for performance would not be. HTTP 2, cert validity caching, session caching, ECC, etc.: there are tons of options for high performance with SSL. That part of the spec certainly feels like it's just repeated unverified rumours.

The second is compliance with the GDPR. Bid payloads contain personal data. Failing to secure personal data is a failure to comply. I would expect anyone working on compliance to phase out working with partners that do not take reasonable steps towards data protection.

Finally, the lack of secure transport opens ad markup to MITM attacks in which the payload would be replaced with malicious content. That is a non-negligible threat.

lpgauth commented 6 years ago

I agree with @darobin. And let's be honest, the SSL impact is nothing compared to encoding/decoding huge JSON blobs.

manigandham commented 6 years ago

+1 on requiring TLS. Encryption functions are already embedded in CPU instruction sets so there's no performance impact compared to the rest of the bid processing. HTTP/2 would also make it much more efficient with multiplexed binary streams compared to the overhead of HTTP/1.

opinali commented 6 years ago

+1, at this point allowing a plaintext protocol only serves to create bad incentives.

On Thu, Feb 8, 2018 at 3:40 PM Mani Gandham notifications@github.com wrote:

+1 on requiring TLS. Encryption functions are already embedded in CPU instruction sets so there's no performance impact compared to the rest of the bid processing. HTTP/2 would also make it much more efficient with multiplexed binary streams compared to the overhead of HTTP/1.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/openrtb/OpenRTB/issues/17#issuecomment-364241538, or mute the thread https://github.com/notifications/unsubscribe-auth/AC4MMAHs-YYe96sLLhdJDv_Na_AcLtGaks5tS1vRgaJpZM4ET9HJ .

-- Osvaldo Doederlein | Software Engineer, DoubleClick Ad Exchange | opinali@google.com

samtingleff commented 4 years ago

This has been addressed in ORTB 3. Closing (finally)!