Teia de confiança - Web of trust

Diagrama esquemático de uma rede de confiança

Em criptografia , uma rede de confiança é um conceito usado em PGP , GnuPG e outros sistemas compatíveis com OpenPGP para estabelecer a autenticidade da ligação entre uma chave pública e seu proprietário. Seu modelo de confiança descentralizado é uma alternativa ao modelo de confiança centralizado de uma infraestrutura de chave pública (PKI), que depende exclusivamente de uma autoridade de certificação (ou de uma hierarquia desta). Tal como acontece com as redes de computadores, existem muitas redes de confiança independentes e qualquer usuário (por meio de seu certificado de chave pública ) pode fazer parte e ser um link entre várias redes.

O conceito de rede de confiança foi apresentado pela primeira vez pelo criador do PGP Phil Zimmermann em 1992 no manual para PGP versão 2.0:

Com o passar do tempo, você acumulará chaves de outras pessoas que talvez queira designar como apresentadores confiáveis. Todos os outros escolherão seus próprios apresentadores de confiança. E todos irão gradualmente acumulando e distribuindo com sua chave uma coleção de assinaturas de certificação de outras pessoas, com a expectativa de que qualquer pessoa que a receba confie em pelo menos uma ou duas das assinaturas. Isso causará o surgimento de uma rede de confiança descentralizada e tolerante a falhas para todas as chaves públicas.

Operação de uma rede de confiança

Todas as implementações compatíveis com OpenPGP incluem um esquema de verificação de certificado para ajudar nisso; sua operação foi denominada rede de confiança. Os certificados OpenPGP (que incluem uma ou mais chaves públicas junto com informações do proprietário) podem ser assinados digitalmente por outros usuários que, por meio desse ato, endossam a associação dessa chave pública com a pessoa ou entidade listada no certificado. Isso geralmente é feito nas partes de assinatura de chaves .

As implementações compatíveis com OpenPGP também incluem um esquema de contagem de votos que pode ser usado para determinar em qual associação de chave pública - proprietário um usuário confiará ao usar PGP. Por exemplo, se três endossantes parcialmente confiáveis ​​garantiram um certificado (e assim sua chave pública incluída - vinculação do proprietário ), ou se um endossante totalmente confiável o fez, a associação entre o proprietário e a chave pública nesse certificado será considerada correto. Os parâmetros são ajustáveis ​​pelo usuário (por exemplo, nenhuma parcial ou talvez seis parciais) e podem ser completamente ignorados, se desejado.

O esquema é flexível, ao contrário da maioria dos designs de infraestrutura de chave pública, e deixa as decisões de confiança nas mãos de usuários individuais. Não é perfeito e requer cautela e supervisão inteligente por parte dos usuários. Essencialmente, todos os designs de PKI são menos flexíveis e exigem que os usuários sigam o endosso de confiança dos certificados assinados por autoridade de certificação (CA) gerados pela PKI.

Explicação simplificada

Existem duas chaves pertencentes a uma pessoa: uma chave pública que é compartilhada abertamente e uma chave privada que é retida pelo proprietário. A chave privada do proprietário irá descriptografar qualquer informação criptografada com sua chave pública. Na rede de confiança, cada usuário possui um anel com um grupo de chaves públicas de pessoas.

Os usuários criptografam suas informações com a chave pública do destinatário, e apenas a chave privada do destinatário irá descriptografá-la. Cada usuário, então, assina digitalmente as informações com sua chave privada, de modo que, quando o destinatário as verificar em relação à chave pública do próprio usuário, ele possa confirmar que é o usuário em questão. Isso garantirá que as informações vieram do usuário específico e não foram adulteradas, e apenas o destinatário pretendido pode ler as informações (porque somente ele conhece sua chave privada).

Contraste com PKI típica

Ao contrário do WOT, uma PKI X.509 típica permite que cada certificado seja assinado por uma única parte: uma autoridade de certificação (CA). O certificado da CA pode ser assinado por uma CA diferente, até um certificado raiz 'autoassinado' . Os certificados raiz devem estar disponíveis para aqueles que usam um certificado CA de nível inferior e, portanto, são geralmente amplamente distribuídos. Eles são, por exemplo, distribuídos com aplicativos como navegadores e clientes de e-mail. Desta forma, as páginas da Web protegidas por SSL / TLS , mensagens de e-mail, etc. podem ser autenticadas sem exigir que os usuários instalem manualmente os certificados raiz. Os aplicativos geralmente incluem mais de cem certificados raiz de dezenas de PKIs, portanto, por padrão, conferindo confiança em toda a hierarquia de certificados que levam de volta a eles.

WOT favorece a descentralização de âncoras de confiança para evitar que um único ponto de falha comprometa a hierarquia de CA. Um projeto notável que usa WOT contra PKI para fornecer uma estrutura para autenticação em outras áreas da Internet são os utilitários Monkeysphere.

Problemas

Perda de chaves privadas

A rede de confiança do OpenPGP essencialmente não é afetada por coisas como falhas de empresas e continua a funcionar com poucas mudanças. No entanto, um problema relacionado ocorre: os usuários, sejam indivíduos ou organizações, que perdem o controle de uma chave privada não podem mais descriptografar as mensagens enviadas a eles produzidas usando a chave pública correspondente encontrada em um certificado OpenPGP. Os primeiros certificados PGP não incluíam datas de validade e esses certificados tinham vida útil ilimitada. Os usuários tiveram que preparar um certificado de cancelamento assinado para o momento em que a chave privada correspondente foi perdida ou comprometida. Um criptógrafo muito proeminente ainda está recebendo mensagens criptografadas usando uma chave pública para a qual eles perderam há muito tempo a chave privada. Eles não podem fazer muito com essas mensagens, exceto descartá-las após notificar o remetente de que eram ilegíveis e solicitar o reenvio com uma chave pública para a qual ainda possuem a chave privada correspondente. PGP posterior e todos os certificados compatíveis com OpenPGP incluem datas de expiração que impedem automaticamente tais problemas (eventualmente) quando usados ​​de maneira sensata. Esse problema também pode ser facilmente evitado com o uso de "revogadores designados", que foram introduzidos no início da década de 1990. O proprietário da chave pode designar um terceiro que tenha permissão para revogar a chave do proprietário da chave (no caso de o proprietário da chave perder sua própria chave privada e, portanto, perder a capacidade de revogar sua própria chave pública).

Verificação de autenticidade de chave pública

Uma dificuldade social não técnica com uma Web de confiança como aquela construída em sistemas do tipo PGP / OpenPGP é que toda rede de confiança sem um controlador central (por exemplo, um CA ) depende de outros usuários para confiança. Aqueles com novos certificados (ou seja, produzidos no processo de geração de um novo par de chaves) provavelmente não serão confiados prontamente pelos sistemas de outros usuários, isto é, por aqueles que eles não conheceram pessoalmente, até que encontrem endossos suficientes para o novo certificado. Isso ocorre porque muitos outros usuários do Web of Trust terão seu conjunto de verificação de certificado para exigir um ou mais endossantes totalmente confiáveis ​​de um certificado desconhecido (ou talvez vários endossantes parciais) antes de usar a chave pública nesse certificado para preparar mensagens, acreditar em assinaturas, etc.

Apesar do amplo uso de sistemas compatíveis com OpenPGP e fácil disponibilidade de vários servidores de chaves on-line , é possível na prática ser incapaz de encontrar alguém (ou várias pessoas) para endossar um novo certificado (por exemplo, comparando a identificação física com a chave informações do proprietário e, em seguida, assinar digitalmente o novo certificado). Usuários em áreas remotas ou subdesenvolvidas, por exemplo, podem achar outros usuários escassos. E, se o certificado do outro também for novo (e com nenhum ou poucos endossos de outros), então sua assinatura em qualquer novo certificado pode oferecer apenas um benefício marginal para se tornar confiável por sistemas de outras partes e, assim, ser capaz de trocar mensagens com eles com segurança . As partes de assinatura de chave são um mecanismo relativamente popular para resolver o problema de encontrar outros usuários que possam instalar o certificado de alguém em redes de confiança existentes, endossando-o. Os sites também existem para facilitar a localização de outros usuários do OpenPGP para organizar as assinaturas de chaves. A Gossamer Spider Web of Trust também torna a verificação de chaves mais fácil ao vincular usuários OpenPGP por meio de uma rede de confiança de estilo hierárquico, onde os usuários finais podem se beneficiar por coincidência ou confiança determinada de alguém que é endossado como introdutor, ou por confiar explicitamente na chave de nível superior do GSWoT minimamente como um introdutor de nível 2 (a chave de nível superior endossa introdutores de nível 1).

A possibilidade de encontrar cadeias de certificados é freqüentemente justificada pelo " fenômeno do pequeno mundo ": dados dois indivíduos, muitas vezes é possível encontrar uma curta cadeia de pessoas entre eles, de modo que cada pessoa na cadeia conheça os elos anteriores e posteriores. No entanto, essa cadeia não é necessariamente útil: a pessoa que criptografa um e-mail ou verifica uma assinatura não só precisa encontrar uma cadeia de assinaturas de sua chave privada até a de seu correspondente, mas também confiar que cada pessoa da cadeia será honesta e competente sobre a assinatura de chaves (ou seja, eles devem julgar se essas pessoas provavelmente seguirão honestamente as diretrizes sobre a verificação da identidade das pessoas antes de assinar as chaves). Esta é uma restrição muito mais forte.

Outro obstáculo é o requisito de se encontrar fisicamente com alguém (por exemplo, em uma festa de assinatura de chave ) para verificar sua identidade e propriedade de uma chave pública e endereço de e-mail, o que pode envolver despesas de viagem e restrições de agendamento que afetam ambos os lados. Um usuário de software pode precisar verificar centenas de componentes de software produzidos por milhares de desenvolvedores localizados em todo o mundo. Como a população geral de usuários de software não pode se encontrar pessoalmente com todos os desenvolvedores de software para estabelecer confiança direta, eles devem, em vez disso, confiar na propagação comparativamente mais lenta da confiança indireta.

Obter a chave PGP / GPG de um autor (ou desenvolvedor, editor, etc.) de um servidor de chave pública também apresenta riscos, uma vez que o servidor de chave é um intermediário terceirizado , ele próprio vulnerável a abusos ou ataques. Para evitar esse risco, um autor pode optar por publicar sua chave pública em seu próprio servidor de chaves (ou seja, um servidor da web acessível por meio de um nome de domínio de sua propriedade e localizado com segurança em seu escritório particular ou em casa) e exigir o uso de Conexões criptografadas por HKPS para a transmissão de sua chave pública. Para obter detalhes, consulte WOT Assisting Solutions abaixo.

Conjunto forte

O conjunto forte se refere à maior coleção de chaves PGP fortemente conectadas . Isso forma a base para a rede global de confiança. Quaisquer duas chaves no conjunto forte têm um caminho entre elas; enquanto ilhas de conjuntos de chaves que apenas assinam umas às outras em um grupo desconectado podem e existem, apenas um membro desse grupo precisa trocar assinaturas com o conjunto forte para que esse grupo também se torne parte do conjunto forte. O conjunto forte tinha um tamanho de cerca de 55.000 chaves no início do ano de 2015.

Distância média mais curta

Imagem de explicação de confiança baseada em MSD
Explicação de confiança baseada em MSD

Na análise estatística da Web de confiança PGP / GnuPG / OpenPGP, a distância mínima média (MSD) é uma medida de quão "confiável" uma determinada chave PGP é dentro do conjunto fortemente conectado de chaves PGP que constituem a Web de confiança.

MSD se tornou uma métrica comum para análise de conjuntos de chaves PGP. Freqüentemente, você verá o MSD sendo calculado para um determinado subconjunto de chaves e comparado com o MSD global, que geralmente se refere à classificação das chaves em uma das maiores análises de chaves da Web de confiança global.

Soluções de assistência WOT

Reunir-se fisicamente com o desenvolvedor ou autor original é sempre a melhor maneira de obter e distribuir, verificar e confiar em Chaves PGP / GPG com o mais alto nível de confiança, e permanecerá como o melhor nível da melhor forma confiável. A publicação da chave completa GPG / PGP ou impressão digital da chave completa em / com livro amplamente conhecido (baseado em material físico / papel), pelo autor / desenvolvedor original, é a segunda melhor forma de compartilhar chaves confiáveis ​​com e para os usuários. Antes de encontrar um desenvolvedor ou autor, os usuários devem pesquisar por conta própria sobre o desenvolvedor ou autor na biblioteca de livros e via Internet, e estar cientes da foto do desenvolvedor ou do autor, trabalho, impressão digital da chave do pub, endereço de e-mail, etc.

No entanto, não é prático para milhões de usuários que desejam se comunicar ou enviar mensagens com segurança para se encontrarem fisicamente com os usuários de cada destinatário, e também não é prático para milhões de usuários de software que precisam se encontrar fisicamente com centenas de desenvolvedores ou autores de software, cujo software ou arquivo de assinatura de chave pública PGP / GPG que eles desejam verificar e confiar para, por fim, usar em seus computadores. Portanto, um ou mais tipos de entidade ou grupo de autoridade confiável de terceiros (TTPA) precisam estar disponíveis para os usuários e ser utilizáveis ​​pelos usuários, e tal entidade / grupo precisa ser capaz de fornecer serviços de verificação ou delegação de confiança para milhões de usuários em todo o mundo, a qualquer momento.

Praticamente, para verificar qualquer conteúdo baixado ou recebido ou dados ou e-mail ou autenticidade do arquivo , um usuário precisa verificar seu conteúdo principal baixado ou dados / e-mail principal ou código / arquivo de assinatura PGP / GPG do arquivo principal (ASC, SIG). Assim, os usuários precisariam usar a chave pública confiável e verificada do desenvolvedor original ou do autor original, ou os usuários precisariam usar a chave pública confiável de assinatura de arquivo pelo proprietário original dessa chave pública. E para realmente confiar em uma chave PGP / GPG específica, os usuários precisariam se encontrar fisicamente com cada autor ou desenvolvedor original específico, ou os usuários precisariam se encontrar fisicamente com o liberador original da chave de publicação de assinatura de arquivo, ou os usuários precisariam para encontrar outro usuário confiável alternativo, que está na cadeia de confiança do WOT (também conhecido como, outro usuário ou outro desenvolvedor ou outro autor, que é confiável por aquele autor ou desenvolvedor original muito específico) e, em seguida, se encontrar fisicamente com essa pessoa, para verificar seu ID real com sua chave PGP / GPG (e também forneça sua própria ID e chave para o outro usuário, para que ambos os lados possam assinar / certificar e confiar na chave PGP / GPG um do outro). Quer um software seja popular ou não, os usuários de software geralmente estão localizados ao redor do mundo em locais diferentes. Não é fisicamente possível para um autor ou desenvolvedor original ou liberador de arquivo fornecer chave pública ou confiança ou serviços de verificação de ID a milhões de usuários. Também não é prático para milhões de usuários de software se encontrarem fisicamente com cada software ou cada biblioteca de software ou cada parte do desenvolvedor ou autor ou liberador de código, que eles (usarão ou) precisarão usar em seus computadores. Mesmo com várias pessoas / pessoas confiáveis ​​(pelo autor original) na cadeia de confiança do WOT, ainda não é fisicamente ou praticamente possível para cada desenvolvedor ou autor se encontrar com todos os outros usuários, e também não é possível para todos os usuários com centenas de desenvolvedores cujo software eles usarão ou no qual trabalharão. Quando este modelo de cadeia de WoT baseado em hierarquia descentralizada se tornar popular e usado pela maioria dos usuários próximos, somente então a reunião física e a certificação de chave de publicação e o procedimento de assinatura do WoT serão mais fáceis.

Algumas soluções são: o autor / desenvolvedor original precisa primeiro definir um nível de confiança para assinar / certificar sua própria chave de assinatura de arquivo. Em seguida, as chaves públicas atualizadas e as chaves públicas de assinatura de arquivo atualizadas também devem ser publicadas e distribuídas (ou disponibilizadas) aos usuários, por meio de meios on-line seguros e criptografados, para que qualquer usuário de qualquer local do mundo possa obter o e chave pública confiável e não modificada. Para certificar-se de que cada usuário está obtendo as chaves públicas corretas e confiáveis ​​e o código / arquivo assinado, o dev / autor original ou o liberador original deve publicar suas chaves públicas atualizadas em seu próprio servidor de chaves e forçar o uso de conexão criptografada HKPS, ou publicar suas chaves públicas completas e atualizadas (e código / arquivo assinado) em sua própria página da web criptografada por HTTPS , em seu próprio servidor web, a partir de seu próprio site de domínio primário, (não de quaisquer subdomínios localizados em servidores, não de qualquer espelho, não de quaisquer servidores de site de sites externos / compartilhados / wiki etc., não de qualquer nuvem pública ou externa / compartilhada ou servidores de serviço de hospedagem), e devem estar localizados e mantidos com segurança dentro de seus próprios instalações: casa própria, escritório próprio ou escritório próprio. Dessa forma, esses pequenos pedaços de chaves / códigos originais viajarão intactos pela Internet e permanecerão inalterados durante o trânsito (por causa da conexão criptografada) e chegarão ao destino sem serem espionados ou modificados, pelo lado do usuário, e podem ser tratados como confiáveis chaves públicas devido à verificação baseada em TTPA de canal único ou multicanal. Quando uma chave pública é obtida (do próprio servidor web do desenvolvedor original) por meio de mais de uma conexão segura, verificada e criptografada baseada em TTPA (autoridade confiável de terceiros), ela é mais confiável.

Quando as chaves públicas / códigos assinados originais são mostrados no próprio servidor da web ou servidor de chaves do desenvolvedor original ou do autor, por meio de uma conexão criptografada ou página da Web criptografada, quaisquer outros arquivos, dados ou conteúdo podem ser transferidos por qualquer tipo de conexão não criptografada, como: HTTP / FTP etc de qualquer servidor de subdomínio ou de qualquer espelho ou de qualquer nuvem / servidores de hospedagem compartilhados, porque, itens / dados / arquivos baixados com base em conexão não criptografada podem ser autenticados posteriormente, usando as chaves públicas originais / códigos assinados, que foram obtidos do próprio servidor do autor / desenvolvedor original por meio de conexões / canais protegidos, criptografados e confiáveis ​​(também conhecidos como verificados).

Usando a conexão criptografada para transferir chaves ou códigos / arquivos de assinatura / assinatura, permite que os usuários do software deleguem sua confiança com uma PKI TTPA (autoridade de terceiros confiável), como CA pública (Autoridade de Certificação), para ajudar a fornecer conexão confiável entre o original servidor da web do desenvolvedor / autor e milhões de computadores de usuários em todo o mundo, a qualquer momento.

Quando o nome de domínio e o servidor de nomes do autor / desenvolvedor original são assinados por DNSSEC , e quando usado, o certificado público SSL / TLS é declarado / mostrado no registro de recurso DNS TLSA / DANE DNSSec (e quando SSL / TLS atesta na confiança cadeia são fixados e usados ​​por meio da técnica HPKP por servidores da web), então a página da web ou os dados de um servidor da web também podem ser verificados por meio de outro PKI TTPA : DNSSEC e mantenedor do namespace DNS ICANN , diferente de um CA público. DNSSEC é outra forma de PGP / GPG WOT, mas para servidores de nomes; ele cria uma cadeia confiável para servidores de nomes primeiro (em vez de pessoas / pessoa) e, em seguida, as chaves PGP / GPG de pessoas / pessoas e as impressões digitais também podem ser adicionadas aos registros DNSSEC DNS de um servidor. Assim, qualquer usuário que queira se comunicar com segurança (ou qualquer usuário de software), pode efetivamente obter / receber seus dados / chave / código / página da web etc. verificados (também conhecidos como autenticados) por meio de dois (também conhecidos como dual / duplo) TTPAs / canais PKI confiáveis ao mesmo tempo: ICANN (DNSSEC) e CA ( certificado SSL / TLS ). Portanto, os dados (ou arquivo) de chave / código assinado PGP / GPG podem ser confiáveis, quando tais soluções e técnicas são usadas: HKPS, HKPS + DNSSEC + DANE, HTTPS, HTTPS + HPKP ou HTTPS + HPKP + DNSSEC + DANE.

Se um grande número de grupos de usuários criarem seu próprio registro DNSSEC baseado em DLV e se os usuários usarem essa nova chave raiz DLV (junto com ICANN-DNSSEC) em seu Resolvedor / Servidor DNSSEC local baseado em DNSSEC, e se proprietários de domínio também usá-lo para assinatura adicional de seus próprios nomes de domínio, então pode haver um novo terceiro TTPA. Nesse caso, qualquer dado de código assinado / chave PGP / GPG ou uma página da web ou dados da web podem ser verificados em três / três canais. O próprio DLV do ISC pode ser usado como um terceiro TTPA, pois ainda é amplamente usado e ativo, portanto, a disponibilidade de outro novo DLV se tornará o quarto TTPA.

Veja também

Referências

Leitura adicional

links externos