0

O que está por trás do Telegram?

O Telegram tem ganhado destaque nos últimos acontecimentos nacionais. Mas você conhece a tecnologia envolvida no aplicativo?

Desde a sua criação, em 2013, o Telegram usa de criptografia em suas mensagens, ou seja, transforma todas em um arquivo com códigos. Além disso, diferentemente do WhatsApp, as mensagens ficam salvas em nuvens, em servidores em vários pontos do mundo, assim é possível manter mais de um canal de conversa independente do aparelho celular, sendo este fator marcante para a popularização do aplicativo. Os aplicativos com sistemas de armazenamento em nuvem dialogam com a tendência de mobilidade, característica fundamental para o público jovem, conforme estudo da Universidade Federal do Rio Grande do Norte, que ainda salienta que alguns escândalos sobre vazamentos de dados podem desestimular o uso da tecnologia.

A empresa garante sigilo absoluto dos dados e ainda convoca um desafio: 300 mil dólares para quem conseguir quebrar a barreira de segurança da empresa!  Seus dados estão realmente bem seguros, pois diferente do concorrente, o Telegram não possui inteligência artificial que lê suas conversas para oferecer serviços (sabe quando você conversa com um amigo sobre uma próxima viagem e quando entra no Facebook estão oferecendo um hotel naquela cidade?). O objetivo de seus fundadores foi construir cuidadosamente um aplicativo para descentralizar a comunicação digital, permitindo integrações com bots e compartilhamento de vídeos ou imagens de qualquer tamanho, aspecto que só é viável pelo uso da tecnologia em nuvem.

Há diferentes tipos de implementação de um serviço em nuvem: privada, pública, comunidade e compartilhada. No caso de aplicações como o Telegram, o serviço é privado, ou seja, a infraestrutura de nuvem é utilizada exclusivamente por uma organização, sendo esta nuvem local ou remota e administrada pela própria empresa ou por terceiros. Para garantir a segurança das informações armazenadas, ocorre o processo de criptografia. A criptografia é um meio assertivo de proteção de dados. As mensagens a serem criptografadas são transformadas por uma função parametrizada por uma chave (“string”) que pode ser modificada quando necessário. Em seguida, passa por um processo de criptografia, transformando-se em texto cifrado.

A distribuição dos servidores em nuvem ao redor do mundo possibilita as aplicações individuais de exercerem um controle local sobre os dados, ou seja, torna ainda mais confiável, pois garante multiplicidade e autonomia em suas partes, podendo armazenar os dados de maneira distribuída. A vulnerabilidade acontece nos aparelhos móveis em redes sem fio, a troca de mensagens é passível de captura por alguém não autorizado, já que as ondas de rádio circulam abertas pela atmosfera, podendo ser violadas e utilizadas. 

Para proteger seu aparelho móvel, as dicas são: coloque senhas mais complexas na tela de desbloqueio, instale apenas aplicativos confiáveis, não clique em links ou correntes enviadas por terceiro, evite o acesso de wi-fi pública e formate seu aparelho antes de vendê-lo ou doá-lo.

 

Referência

 Gerenciamento de Dados em Nuvens: Conceitos, Sistemas e Desafios.

Banco de Dados Móveis: uma análise de soluções propostas para gerenciamento de dados.

Imagem

Anúncios
0

Tópicos quentes de pesquisa na área de Internet – Parte III: Cloud Computing

Daremos continuidade a série de postagens sobre os tópicos quentes de pesquisa na área de Internet, na qual já foi falada sobre CDNs e Internet das coisas. Falaremos sobre Cloud Computing ou Computação em Nuvem.

A computação em nuvem é hoje uma realidade e muitos usuários já a usam mesmo sem saber. Por exemplo, quando um usuário coloca um arquivo em um serviço do tipo Dropbox ou Google Drive, ele está fazendo uso de uma infraestrutura de computação em nuvem. Quando usa um serviço de formulários online, como SurveyMonkey ou Typeform para suas pesquisas, também está.

Apesar disso, para muitas pessoas o conceito de nuvem é um tanto quanto etéreo e abstrato. Afinal, se um usuário coloca um arquivo em um serviço em nuvem para onde isso vai? Para entender melhor é preciso voltar um pouquinho na história da computação. No início apenas grandes empresas tinham a possibilidade de possuir os mainframes, que nada mais são que computadores de grande porte com a capacidade de oferecer serviços de processamento a milhares de usuários conectados através de milhares de terminais. Nessa época, os terminais em si não tinham praticamente nenhum poder de processamento, sendo que os mainframes centralizavam todas as operações.

Com o advento dos PCs muitas das tarefas que antes eram executadas em um mainframe passaram a ser possíveis de ser realizadas localmente e assim o poder de processamento se tornou um pouco mais distribuído. Nesse contexto, o modelo cliente-servidor, que ainda hoje é o mais utilizado, tornou-se predominante. O servidor roda um ou mais serviços ou programas que compartilham recursos com os clientes. Já um cliente (que normalmente é uma máquina de usuário) inicia uma comunicação através de uma rede de computadores, solicitando conteúdo ou serviços de um servidor. Há vários exemplos de aplicações que seguem esse paradigma como o e-mail, a Web e as impressoras em rede. Inicialmente nesse modelo o servidor possuía um endereço lógico conhecido, além de se conhecer sua localização física (muitas vezes, no data center da própria empresa).

Pode-se pensar na computação em nuvem como uma evolução desse modelo no sentido de que o servidor não tem necessariamente uma localização conhecida. Além disso, os serviços prestados pelo servidor são geralmente terceirizados e executados de forma distribuída. Um usuário não é capaz de saber se apenas um servidor é responsável por toda a execução de um processamento ou se há vários envolvidos. Há a possibilidade de coordenação entre vários servidores em diferentes localidades para a “entrega” do serviço solicitado pelo cliente. Por isso, a ideia de nuvem aparece.

A computação em nuvem se baseia na virtualização de servidores, que nada mais é do que emular um servidor de forma virtual, configurando em um software de virtualização quanto de memória RAM, espaço de armazenamento, processador e sistema operacional aquela máquina vai ter. O interessante é que numa máquina real é possível ter quantas máquinas virtuais forem desejadas, com diferentes configurações que atendam o que for necessário. Basicamente esses servidores virtuais compartilham o mesmo hardware e podem rodar simultaneamente de forma otimizada. Para ajudar na compreensão analisemos um exemplo: imagine um servidor real com um processador Intel i7, 10GB de memória RAM e 1TB de espaço de armazenamento (HD). Nele foi instalado um software de virtualização e com isso foram configuradas 2 máquinas virtuais, sendo que uma roda Windows e tem disponível 8GB de RAM e 500MB de HD, enquanto a outra roda um Linux e tem disponível 4GB de RAM e 800MB de HD. Somando as capacidades das máquinas virtuais notamos que o valor é maior do que o existente na máquina real. Mas isso não é um problema porque os valores configurados são os máximos a serem atingidos no caso da outra máquina virtual estar ociosa ou superdimensionada. Quando uma máquina virtual não for mais necessária, ela pode ser simplesmente apagada da memória da máquina real.

Há várias vantagens em se usar a computação em nuvem, sendo que dentre as principais estão a alta disponibilidade dos serviços, a alta capacidade de processamento, os custos reduzidos em comparação a uma solução interna e a grande flexibilidade para ampliar ou diminuir a capacidade de processamento ou de armazenamento (o que se conhece como elasticidade). Por outro lado, há desvantagens que devem ser consideradas na hora de se adotar a nuvem como a redução de desempenho, o esforço de portabilidade de aplicações já existentes internamente para a nuvem, o atendimento a regulamentação de países específicos e os riscos de segurança, especialmente em relação ao vazamento de informações e violação à privacidade.

Hoje existem 3 categorias de serviços de computação em nuvem. O mais conhecido é o SaaS (Software as a Service) em que o provedor de serviços fornece um programa que fica em um servidor remoto e as aplicações são acessíveis por meio de dispositivos do cliente, com uso de interfaces simples, como a Web. O usuário não gerencia ou controla nenhum item da infraestrutura que hospeda o software, sendo somente possível ajustar configurações específicas a nível de usuário. Exemplos desse tipo de serviço são o Google Drive, Dropbox, SurveyMonkey e Typeform.

Ainda existem as categorias conhecidas como PaaS (Platform as a Service) e IaaS (Infrastructure as a Service) que no geral são mais voltadas para equipes de desenvolvimento de software. Uma das empresas mais conhecida que fornece esses tipos de serviço é a Amazon Web Services (AWS).

Apesar da computação em nuvem já ser uma realidade e estar sendo comercializada, ainda há muitos desafios a serem superados, os quais são tópicos relevantes de pesquisa na área da Internet e de redes de computadores. Um dos mais relevante concerne às questões de segurança, em como minimizar o vazamento de informações. Isso porque há a possibilidade de explorar vulnerabilidades em relação ao incorreto isolamento entre os servidores virtuais.

No próximo post continuaremos falando sobre tópicos quentes de pesquisa na área de Internet. Até lá!