Por Alex Masip, Head of Data em Labelium

Entre as alterações que os principais navegadores como o Safari e o Firefox estão a fazer na gestão de cookies de terceiros, a Chrome planeia também grandes alterações na sua versão 80, prevista para Fevereiro de 2020.

Neste post explicamos o contexto, as alterações que o Chrome introduz, e as implicações dessas alterações. Veremos também como testar se o nosso site está pronto para geri-los corretamente.

Cookies de primeira y de terceira parte

Em geral, entendemos como dados de primeira ordem os dados que nos pertencem diretamente, sem a intervenção de terceiros. No contexto dos cookies, os cookies de primeira parte são aqueles que são geridos diretamente a partir do domínio principal do site. Ou seja, todos os cookies em que o domínio principal é o mesmo que o site em que nos encontramos.

Por outro lado, os cookies de terceira parte são aqueles que pertencem a outros domínios principais do site em que nos encontramos.

Cambios en la ley de cookies en Chrome

Os cookies de terceiros são úteis para manter a coerência global na navegação do utilizador. Por exemplo, se colocarmos um vídeo do Youtube no nosso site, o facto de o utilizador estar ligado ao Youtube, já ter visto o vídeo antes ou tê-lo marcado para visualização posterior, é tratado com um cookie de terceiros. Sem este cookie o utilizador tem de sair do nosso site e ir ao Youtube para fazer o login novamente.

O problema é que existem muitas utilizações não tão benignas deste tipo de cookies. O mais conhecido é a sua utilização para tracking do utilizador na sua navegação para efeitos de profiling e publicidade online. Mas há também abusos de segurança potencialmente muito mais graves.

A gestão das cookies de terceiros nos principais navegadores

Alterações legislativas como a GDPR e a sensibilização do público para a gestão da privacidade online levaram a grandes alterações na forma como os principais navegadores, como o Safari ou o Firefox, lidam com estes cookies de terceiros.

O Safari iniciou esta cruzada contra o rastreio online em 2017 com o seu ITP (Intelligent Tracking Prevention), que já impedia a utilização de cookies de terceiros. O ITP evoluiu e estamos agora no 2.3, com o qual a Apple também se protege contra a utilização de cookies de primeira ordem e a utilização de outras táticas, como o local storage.

O Firefox optou por uma táctica semelhante, mas menos agressiva. Em vez de bloquear todos os cookies por defeito, utiliza um método de blacklisting. Verifica se o cookie pertence a um domínio identificado na lista de domínios que fazem publicidade e tracking (lista disconnect.me).

Até agora, o Chrome tem optado por táticas muito menos agressivas. Não bloqueia por defeito os cookies de primeira ou terceira parte, embora ofereça essa opção aos seus utilizadores através da sua gestão de privacidade.

A grande alteração que vem com o Chrome versão 80 é que as alterações estão ativas por defeito, sem que o utilizador tenha de as ativar explicitamente.

Gestão de cookies no Chrome 80

Chrome, a partir da sua versão 80, vai começar a forçar a utilização segura do atributo SameSite para aplicações de terceiros.

O atributo SameSite não é novo, mas não estava a ser utilizado com regularidade. O atributo SameSite oferece três opções de valor:

SameSite=Strict.- Uso puramente de primeira ordem. 

SameSite=Lax.- Ponto intermédio que permite certos usos em contexto de terceira ordem. A utilização do cookie é permitida em domínios externos quando provêm de uma ligação direta, por exemplo, para manter um utilizador ligado à Internet. Mas não permite a utilização do cookie por outros métodos, tais como o POST. 

SameSite=None.- Uso de terceiros standard.

 

A grande diferença nesta atualização do Chrome é que obriga o SameSite=None a ser declarado como seguro. Isto significa que serão rejeitados os seguintes aspetos:

 Set-Cookie: promo=abc123; SameSite=None

 

Deverá utilizar-se o seguinte:

 Set-Cookie: promo=abc123; SameSite=None; Secure 

No primeiro caso o Chrome rejeitará a cookie e se não se declara SameSite gere a cookie como se fosse SameSite=Lax, bloqueando consequentemente o seu uso por terceiros.

Como me afeta esta mudança

Não precisa de preocupar-se com a gestão de cookies do Google, mas se tivermos funcionalidades cross-site com outros cookies é importante garantir que cumprem o padrão. Caso contrário, encontraremos elementos que deixarão de ser funcionais.

Dificuldades a ter em conta:

  • Nem todas as linguagens e bibliotecas permitem o “None “. Nesses casos, deve ser declarado diretamente no cookie header. Para mais informações, pode consultar o seguinte repositório Github.
  • Alguns navegadores antigos são incapazes de gerir o elemento None adequadamente. Lista de navegadores incompatíveis.

Como testar o efeito no meu site

É altamente recomendável verificar o mais rapidamente possível se esta alteração terá um efeito significativo nas nossas propriedades online.

Para testar em versões de Chrome 76+:

  1. Ir a chrome://flags e ativar #same-site-by-default-cookies e #cookies-without-same-site-must-be-secure. Reiniciar o navegador.
  2. Iniciar os testes. Especialmente importante verificar tudo relativamente aos fluxos de navegação que devam manter um login, mudanças entre domínios e conteúdos cross-site. Importante também ter em conta que pela limitação de 2 minutos de “Lax+POST” é recomendável testar qualquer fluxo associado a POST e que apresente atrasos menores e maiores a dois minutos.
  3. Se o site deixa de funcionar como deveria:
    • a. Começar por desativar #cookies-without-same-site-must-be-secure. Se isto soluciona o problema é porque temos cookies SameSite=None que não são seguras.
    • b. Desativar ambas flags. Se isto soluciona o problema é necessário identificar as cookies às quais se acede em cross-site e aplicar-lhes SameSite e Secure.  

Fontes e informação adicional:

Contate-nos