Pensamentos ociosos de uma pessoa ociosa sobre criptografia e proteção de dados

Pensamentos ociosos de uma pessoa ociosa sobre criptografia e proteção de dados

Por que falar sobre criptografia? Eu mesmo tenho um conhecimento bastante superficial sobre o assunto. Sim, li a obra clássica de Bruce Schneier, mas foi há muito tempo; sim, eu entendo a diferença entre criptografia simétrica e assimétrica, entendo o que são curvas elípticas, mas só isso. Além disso, as bibliotecas criptográficas existentes, com seu costume de incluir o nome completo do algoritmo no nome de cada função e uma quantidade de inicializadores expostos, me causam um tipo de frustração como programador.Pensamentos ociosos de uma pessoa ociosa sobre criptografia e proteção de dados
Então, por que isso? Provavelmente porque, ao ler a atual avalanche de publicações sobre proteção de dados, informações confidenciais etc., tenho a sensação de que estamos cavando em lugares errados, ou mais especificamente, tentando resolver problemas essencialmente sociais com meios técnicos (criptografia). Vamos conversar sobre isso, não prometo descobertas épicas, nem sugestões concretas; são apenas pensamentos ociosos.

Um pouco de história, só um pouquinho.

Em 1976, nos Estados Unidos, foi adotado um padrão federal para algoritmos de criptografia simétrica — DES. Este foi o primeiro algoritmo criptográfico público e padronizado, criado em resposta à crescente demanda das empresas por proteção de dados.

Uma curiosidade antiga

O algoritmo foi publicado por engano. Ele foi otimizado para implementação em hardware e considerado muito complexo e ineficiente para software. No entanto, a Lei de Moore rapidamente colocou tudo nos trilhos.

À primeira vista — fim da história, tome, criptografe, descriptografe, e, se necessário, aumente o comprimento da chave. Você provavelmente sabe com certeza que os americanos deixaram armadilhas nele, então existe um análogo russo — GOST 28147-89, ao qual, porém, você provavelmente confia ainda menos. Então use ambos, um sobre o outro. Se você acredita que o FBI e o FSB se uniram e trocaram suas armadilhas por sua causa, tenho boas notícias para você — você não é paranoico, você tem uma simples mania de grandeza.
Como funciona a criptografia simétrica? Ambas as partes conhecem a mesma chave, que também é a senha; o que é criptografado pode ser descriptografado com a mesma chave. Esse esquema funciona bem para espiões, mas não é adequado para a internet moderna, uma vez que essa chave precisa ser transmitida antecipadamente para cada interlocutor. Por um tempo, enquanto suas informações eram protegidas por um número relativamente pequeno de empresas em comunicações com parceiros previamente conhecidos, o problema era resolvido por meio de mensageiros e correio seguro, mas depois a internet se tornou massiva e entrou em cena

criptografia assimétrica

onde participam duas chaves: uma pública, que não é mantida em segredo e é compartilhada com qualquer pessoa interessada; e uma privada, que somente seu proprietário conhece. O que é criptografado com a chave pública, só pode ser descriptografado com a chave privada, e vice-versa. Assim, qualquer um pode conhecer a chave pública do destinatário e enviar-lhe uma mensagem, que somente o destinatário poderá ler. Pareceria que o problema está resolvido?
Mas o funcionamento da internet não é assim, e surge de forma proeminente o problema da autenticação , e, especialmente, da autenticação inicial, além de, em certo sentido, o problema oposto da anonimato. Para resumir, como posso ter certeza de que a pessoa com quem estou falando é realmente aquela com quem eu pretendia falar? E a chave pública que estou usando realmente pertence a quem eu pretendia falar? Especialmente se é a primeira vez que estou me comunicando com essa pessoa? E como convencer o parceiro a confiar em mim, mantendo ao mesmo tempo a anonimidade? Aqui, se olharmos de perto, podemos perceber uma contradição interna.
Vamos analisar, de maneira geral, quais esquemas de interação entre os participantes existem e são aplicados na prática:

  • servidor — servidor (ou empresa — empresa, neste contexto é a mesma coisa): este é o esquema clássico mais simples, para o qual a criptografia simétrica é mais do que suficiente; os participantes conhecem todos os detalhes um do outro, incluindo contatos fora da rede. No entanto, observe — aqui não se fala de anonimato, e também o número de participantes é estritamente limitado a dois. Ou seja, esse é um esquema quase ideal para um número extremamente limitado de comunicações e, de modo geral, é claramente pouco aplicável.
  • servidor — anônimo (ou negócios — cliente): aqui há uma certa assimetria, que é gerenciada com sucesso pela criptografia assimétrica. O ponto-chave aqui é a ausência de autenticação do cliente, o servidor não se importa com quem exatamente está trocando dados; se de repente isso for necessário, o servidor realiza autenticação secundária utilizando uma senha previamente acordada, e então tudo se resume ao caso anterior. Por outro lado, para o cliente, a autenticação do servidor é extremamente importante, ele quer ter certeza de que seus dados estão indo exatamente para a pessoa para quem ele os enviou, este aspecto é na prática baseado em um sistema de certificados. No geral, esse esquema é bastante conveniente e claramente coberto pelo protocolo https://, mas surgem alguns pontos interessantes na interseção entre criptografia e sociologia.
    1. confiança no servidor: mesmo que eu tenha enviado determinadas informações para o norte de maneira absolutamente segura, tecnicamente, pessoas de fora têm acesso a elas. Este problema está completamente fora da responsabilidade da criptografia, mas peço que guardem esse ponto, ele surgirá novamente mais tarde.
    2. confiança no certificado do servidor: a hierarquia de certificados é baseada no fato de que existe um certo certificado raiz, digno de confiança absoluta. Tecnicamente, um invasor suficientemente influente [, favor considerar a palavra invasor como um termo técnico, e não como calúnia ou ofensa ao poder existente] pode falsificar o certificado de qualquer nível inferior, porém, presume-se que o sistema de certificação é necessário para todos de maneira igual, ou seja, esse certificador será imediatamente ostracizado e todos os seus certificados revogados. Assim é, mas ainda assim, note que o sistema não se baseia em meios técnicos, mas em um certo contrato social. A propósito, sobre o quente No contexto do esperado apocalipse do encolhimento da Runet, alguém já analisou a possível transformação do certificado raiz russo e suas consequências? Se alguém leu/escreveu sobre isso, envie links, eu adicionarei, parece-me que o tema é interessante. Aliás, sobre o quenteNo contexto da esperada catástrofe do 'encapsulamento' da Runet, alguém analisou a possível encapsulação do certificado raiz russo e suas consequências? Se alguém leu/escreveu sobre esse assunto, envie links, eu colocarei, parece-me que o tema é interessante.
    3. A desanonimização indireta no servidor: é um assunto delicado, mesmo que o servidor não tenha um registro/autenticação formal, existem muitas maneiras de coletar informações sobre o cliente e, eventualmente, identificá-lo. Acredito que a raiz do problema está no protocolo http:// existente e em similares, que não poderiam prever tal distúrbio; e que seria totalmente possível criar um protocolo paralelo sem essas falhas. No entanto, isso vai contra todas as práticas existentes de monetização, e, portanto, é improvável. Ainda assim, fica a pergunta: alguém já tentou?
  • anônimo — anônimo: duas pessoas se encontram na rede, (opção — acabaram de se encontrar), (opção — não duas, mas duas mil), e querem conversar sobre suas coisas, mas de maneira que O Grande Irmão não ouça (opção — a mamãe não saiba, cada um com suas prioridades). Pode ser que você perceba ironia na minha voz, e isso porque é exatamente isso que é. Vamos aplicar à tarefa o postulado de Schneier (qualquer algoritmo pode ser quebrado se forem investidos recursos suficientes, ou seja, dinheiro e tempo). Sob essa perspectiva, infiltrar-se em tal grupo por métodos sociais não é nada difícil, sem mencionar o dinheiro, ou seja, a resistência criptográfica do algoritmo é nula mesmo com os métodos de criptografia mais sofisticados.
    No entanto, para essa situação temos um segundo bastião — a anonimidade, e é sobre isso que depositamos todas as nossas esperanças, que todos nos conheçam, mas que ninguém consiga nos encontrar. No entanto, com os métodos técnicos de proteção mais modernos, você realmente acredita que tem alguma chance? Lembro que estou falando apenas sobre anonimização, já parece que finalizamos de maneira convincente a proteção de dados. Para que fique claro, vamos concordar que se seu nome se tornar conhecido, ou endereço residencial ou endereço IP, a identificação foi completamente comprometida.
    A propósito sobre IP, aqui surge em toda a sua grandeza o mencionado anteriormente a confiança no servidor, com certeza ele conhece seu ip. E aqui o que joga contra você é tudo — desde a simples curiosidade humana e vaidade, até políticas corporativas e a própria monetização. Apenas lembre-se de que VPS e VPN também são servidores, para os teóricos da criptografia essas siglas não significam muito; e sim, a jurisdição do servidor, em caso de necessidade, não faz diferença. Isso também se aplica à criptografia de ponta a ponta — soa bonito e sólido, mas no final você precisa confiar no servidor.
    Qual é exatamente o papel do servidor em um mensageiro? Em primeiro lugar, é trivial como o carteiro: se o destinatário não está em casa, ele precisa voltar mais tarde. Mas, o que é muito mais significativo, é um ponto de encontro, você não pode enviar a mensagem diretamente ao destinatário, você a envia ao servidor para retransmissão. E o mais importante, o servidor realiza a autenticação necessária, certificando para todos que você é você, e para você — que seu interlocutor é realmente quem você precisa. E ele faz isso usando seu telefone.
    Você não acha que seu mensageiro sabe demais sobre você? Não, não, nós confiamos nele (e aliás, no nosso telefone também, hã), mas os criptógrafos garantem que é em vão, que não se pode confiar em ninguém.
    Não te convenceu? E existe ainda a engenharia social, se você tem cem interlocutores em um grupo, você deve pressupor que 50% deles são inimigos, 49% são ou vaidosos, ou tolos, ou simplesmente descuidados. E o restante um por cento, por mais eficiente que você seja em métodos de proteção da informação, com um bom psicólogo no chat você provavelmente não conseguirá resistir.
    A única estratégia de proteção que parece viável é se perder entre milhões de grupos semelhantes, mas isso não é sobre nós, é sobre espiões-terroristas, para quem nem a fama na rede, nem a monetização importam.

Bem, parece que eu de alguma forma justifiquei (não, não provei, apenas justifiquei) meus pensamentos severos sobre a proteção de dados no modelo atual da sociedade. As conclusões são simples, mas tristes — não devemos esperar ajuda da criptografia além do que já temos, a criptografia fez tudo o que pôde e fez isso bem, mas nosso modelo de internet contraria totalmente nosso desejo por privacidade e anula todos os nossos esforços. Na verdade, nunca fui pessimista e realmente gostaria de dizer algo otimista agora, mas simplesmente não sei o que.
Tente olhar para a próxima seção, mas aviso — lá há apenas fantasias não científicas, embora possa confortar algumas pessoas e divertir outras.

E é possível fazer algo a respeito?

Bem, por exemplo, pensar sobre isso, de preferência liberando a mente e descartando preconceitos. Por exemplo, vamos temporariamente completamente sacrificar a anonimidade, por mais horrível que isso pareça. Que tal cada um receber, ao nascer, uma chave pública única e pessoal, e, claro, sua chave privada correspondente. Não me gritem e não batam os pés, pois num mundo ideal isso é extremamente prático — aqui temos passaporte, CPF e até número de telefone em um único lugar. Mais ainda, se adicionarmos um certificado individual, teremos um autenticador/login universal; e ainda — um notário portátil capaz de autenticar qualquer documento. É possível criar um sistema em múltiplos níveis — apenas a chave pública e o certificado estariam disponíveis publicamente, para amigos (cuja lista de chaves é fornecida aqui) poderíamos disponibilizar o telefone e o que mais se confia a amigos, podendo haver níveis ainda mais profundos, mas isso já pressupõe uma confiança desnecessária no servidor.
Com este sistema, a privacidade das informações enviadas é alcançada automaticamente (embora, por outro lado, por que, em um mundo ideal?), Alice escreve algo para Bob, mas ninguém nunca lerá isso além do próprio Bob. Todos os mensageiros têm criptografia de ponta a ponta automaticamente, sua função se limita a caixas de correio e não há reclamações sobre o conteúdo em princípio. Além disso, os próprios servidores tornam-se intercambiáveis, pode-se enviar através de um, pode-se através de outro, ou até mesmo através de uma cadeia de servidores, como um e-mail. Você também pode enviar diretamente ao destinatário, se souber seu IP, sem depender de intermediários. Não é incrível? É uma pena que não viveremos neste belo período — nem eu, nem você© Ah, sim, lá vou eu de novo falar sobre coisas tristes.
Além disso, onde armazenar tudo isso? Bem, rapidamente, poderia-se criar um sistema hierárquico aberto, algo como o atual DNS, mas mais poderoso e ramificado. Para não sobrecarregar os administradores dos DNS raiz com adições e modificações, poderia haver um registro livre, a única verificação necessária seria a unicidade. Tipo >> " Olá, somos cinco pessoas, a família Ivanov. Aqui estão nossos nomes/nicks, aqui estão as chaves públicas. Quem perguntar — por favor, envie para nós. E aqui está, uma lista de quinhentas avós da nossa região com suas chaves, se perguntarem, também envie para nós.«
Só precisamos tornar a instalação e configuração de tal servidor doméstico extremamente simples e conveniente, para que qualquer um possa entender, novamente, ninguém irá sobrecarregar os servidores estatais com frequência desnecessária.
Pare!, e qual é o papel do estado aqui então?

Agora é possível restaurar a anonimidade de forma cautelosa. Se qualquer um pode gerar uma chave pessoal, confirmar com um certificado individual e instalar um servidor CA de nível inferior, ou pedir ao vizinho, ou usar um servidor público, qual é toda essa formalidade? E realmente não há necessidade de se vincular a um personagem real, há total privacidade, segurança e anonimidade. Basta que no início da hierarquia haja alguém digno de confiança; acreditamos na TM ou Let’s Encrypt, e os conhecidos DNS públicos ainda não mandaram ninguém para longe. Do lado do governo, não há razão para reclamações, ou seja, elas certamente existirão, mas a que propósito exatamente?
Talvez, um dia, esse sistema ou algo semelhante será criado. E, claro, não podemos contar com ninguém além de nós mesmos, nenhum dos estados conhecidos que eu saiba vai construir tal sistema. Felizmente, Telegram, i2p, Tor e, seguramente, outros que esqueci, mostram que nada é impossível em princípio. Esta é nossa rede, e devemos organizá-la se não estamos satisfeitos com a situação atual.
Brrr, acabei caindo em uma nota pomposa. Na verdade, eu não gosto disso; o sarcasmo me agrada mais.

PS: tudo isso, é claro, são devaneios e sonhos adolescentes.
PPS: mas se alguém decidir tentar — reserve um nick para mim. degs por favor, já me acostumei com ele.
PPPS: e a implementação parece bem simples, por sinal.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster