Você já deve ter reparado no cadeado que aparece próximo à barra de endereços, quando acessa alguns sites #Web, certo? E talvez, se for um pouco mais observador (ou entender como isso funciona), tenha percebido que quando esse cadeado está presente, o endereço da página começa com https em vez de apenas http.

Embora seja um pouco óbvio que o cadeado remete a #segurança, você talvez tenha ficado pensando o que isso significa na prática.

Pois bem, pense o seguinte: quando você compra um cadeado (um cadeado físico mesmo), o que você pretende fazer? Garantir que só você, enquanto portador da chave do cadeado tenha acesso ao que quer que ele esteja trancando, não é isso? Pois é, da mesma forma, esse cadeado que aparece ao lado do endereço Web significa que o serviço que você está acessando entregou pra você um cadeado, cuja chave pertence a ele, e portanto só o controlador do serviço tem acesso ao que você "trancar" com esse cadeado.

E o que você poderia supostamente querer trancar? Pra início de conversa, muitos sites Web requerem informações sigilosas como senhas de acesso ou mesmo dados pessoais. Pense numa instituição bancária, por exemplo. Uma coisa é ceder esses dados a um serviço no qual você confia. Mas outra bem diferente é tornar isso público. E saiba de antemão que na Web, toda informação que você não protege está sujeita a se tornar pública.

Só que além desses dados mais sigilosos, você tipicamente fornece também algumas outras informações, como horário do acesso, navegador que está utilizando e também os famosos cookies (mas isso rende outra conversa). Talvez não pareça nada demais, e isoladamente não é. Mas em conjunto com outros dados de análise de tráfego na Web, tudo isso pode ser usado para te identificar e até mesmo para traçar o seu perfil. Novamente, isso é conversa “para outro chopp”, mas por hora apenas saiba que isso é possível.

Então, a presença do cadeado significa que todos esses dados que você envia para o serviço (estando ciente deles ou não) estarão protegidos e, ao menos em tese, somente o provedor do serviço terá acesso a eles. Mas aí caímos em outro problema: como saber que o provedor do serviço é legítimo, e não um impostor se passando por ele? Como saber, por exemplo, que o site do seu banco não é uma fraude criada para capturar seus dados?

Pois bem, um detalhe que eu não havia dito sobre esse cadeado é que ele significa mais do que uma forma de você proteger os dados que envia. Ele é também uma forma de atestar a autenticidade do serviço. Esse cadeado é uma forma que o provedor tem de dizer “eu sou legítimo e confiável”. E por que você deveria acreditar? Bem, porque alguém em quem você já confia atesta pela veracidade dessa afirmação. Quem é esse alguém? Uma autoridade certificadora, da qual você talvez nunca tenha ouvido falar. Mas você confia nela, porque o seu navegador confia nela.

Isso mesmo, navegadores Web (como o Firefox, Chrome, Edge, Safari e muitos, muitos outros) já vem “de fábrica” com mecanismos (que não vou detalhar nesse texto) que permitem atestar a veracidade desses cadeados que você vê no navegador. Esses mecanismos são certificados que pertencem a autoridades certificadoras. Te parece estranho que o motivo para você confiar em um serviço é uma instituição terceira sobre a qual nunca ouviu falar? Que bom, porque deveria estranhar mesmo.

Mas a questão não acaba por aí. Essas autoridades certificadoras, embora passem por critérios muito rígidos de segurança para serem consideradas como tal, precisam ser globalmente aceitas como tal, o que pode fazer com que os navegadores passem a distribuir os seus certificados. Se o seu navegador distribui um certificado de uma autoridade, então na prática você passou a confiar nessa autoridade.

Para que elas passem a ser globalmente aceitas, uma coisa que pode ajudar muito é que uma outra autoridade, que já tenha uma reputação mais consolidada ateste a sua credibilidade. Assim, o que temos é uma hierarquia de autoridades certificadoras. Ou seja, se você confia em uma autoridade superior, confia também em todas as suas autoridades subalternas, como se fosse um esquema de suserania e vassalagem cibernética.

       A        <-  você confia em
     /   \
    B     C     <- logo confia também em
  / | \   |\
D  E  F  G H   <- e portanto também em



Agora vem a bomba: se você confia em uma autoridade porque uma outra autoridade superior fala por ela, então para confiar nessa autoridade superior, precisa confiar também em outra ainda superior a ela... parece que tem algo errado nessa história, não? Fatalmente você chegará em uma autoridade que não está subalterna a nenhuma outra. Como confiar nela? E aí é que está: você simplesmente confia e pronto. É assim que funciona.

Esteja você ciente dessas regras ou não, elas regem a maneira como você interage com serviços pela Web. A letra “s”, em https remente a “secure” (seguro), o que deveria transmitir confiança aos usuários da Web. No entanto, quando você começa a explorar as entranhas desse mecanismo, fatalmente passará a ter algumas dúvidas. Vejamos algumas possibilidades:

• Se qualquer uma dessas autoridades certificadoras for comprometida ou cometer erros (e já houve casos conhecidos, como da DigiNotar e da Trustwave), todos os serviços vinculados a elas (que são seus clientes), e todos os usuários desses serviços (clientes dos clientes) poderão ter problemas. Vale lembrar que um caso não precisa ser conhecido pra ter ocorrido.
• Se o seu navegador tiver sido adulterado, ele poderá incluir um conjunto de certificados diferente do esperado, certificados que não pertençam a autoridades certificadoras. Na condição de usuário leigo, você dificilmente perceberia.
• Se um site fraudulento te induz a instalar um certificado desconhecido no navegador, esse certificado poderá servir pra atestar pela “veracidade” de serviços fraudulentos.
• Dada a complexidade desse tipo de verificação de autenticidade, os programas responsáveis por essa verificação tem uma certa propensão a conter bugs, que podem comprometer até mesmo as interações não fraudulentas. (Já ouviu falar no bug heartbleed?)

Não te parece que todo esse sistema é um pouco frágil? Várias coisas precisam dar certo, e basta que uma delas dê errado para colocar tudo a perder. É como uma corrente com vários elos fracos.

E tudo isso que estou dizendo não vale apenas para os navegadores Web em desktops ou notebooks. Vale igualmente para os dispositivos móveis. A única diferença é que esses dispositivos tendem a ocultar ainda mais os mecanismos envolvidos. Talvez alguns desenvolvedores de aplicativos para dispositivos móveis pensem que o usuário está ocupado demais para se preocupar com a própria segurança cibernética.

Se você pensa que estou dizendo tudo isso para que você desista da Web, ou pense que não há segurança nenhuma, tenha calma. Não é essa a mensagem que quero passar. Embora existam vários riscos envolvidos, existem sim maneiras de se proteger. Mas o que quero deixar claro é que sem informação, sem se importar com segurança, você estará mais vulnerável.

Não acredite em tecnologias mágicas, em que tudo é lindo e maravilhoso. Antes de utilizar (e principalmente, antes de depender de) qualquer nova tecnologia, saiba onde está pisando. Saiba quais são os riscos, e até que ponto você pode confiar na tecnologia em questão.
Seguir

@hrcerq certeiro: "Não acredite em tecnologias mágicas, em que tudo é lindo e maravilhoso. Antes de utilizar (e principalmente, antes de depender de) qualquer nova tecnologia, saiba onde está pisando".

Inicie a sessão para participar na conversa
Mastodon (PT)

Masto.pt é uma instância de Mastodon para pessoas que falam Português.