Archive for the ‘tecnologias sem fio’ Category

Panorama de tecnologias sem fio

14 de agosto de 2010

Hilton Garcia Fernandes

O choque de padrões é algo natural em tecnologia. Mas aparentemente, em tecnologias sem fio isto chega às raias da intriga palaciana. Ou pelo menos assim é comentado – oficialmente inclusive [1].

Alguns conflitos históricos entre padrões

Quando se fala em conflito de padrões de tecnologia, não pode ser esquecido um dos mais famosos: o conflito entre padrões VoIP [2] ; o SIP [3] da IETF [4] versus o H.323 [5] da ITU-T [6]. Como em muita coisa de telefonia (aparentemente por questões de compatibilidade), o H.323 é extremamente complexo. Durante seu período áureo, era comum que as implementações fossem parciais.

Então surgiu o SIP, a princípio, um derivado do HTML, com sua filosofia de comandos de controle em modo texto, facilmente analisáveis, inclusive com maior tolerância a falhas que os formatos binários usados pelo H.323.

A ascensão do SIP foi prevista por muitos evangelistas técnicos [7] alinhados ao SIP. Contudo, como é comum para estes profissionais, a troca de preferência seria muito rápida: basicamente em um ano. Infelizmente, tomou mais do que 5 ou 6.

Hoje, sem dúvida o SIP é o padrão prevalecente de VoIP. Mesmo que o Asterisk [8] tenha um padrão nativo para sinalização VoIP [9], é fora de dúvida que ele é principalmente usado como PBX [10] SIP.

Outro embate interessante foi aquele entre SNMP [11] da IETF e TMN [12] da ITU-T. Uma vez mais mais, a simplicidade típica do IETF (versus a complexidade do ITU-T) prevaleceu e hoje TMN é raramente usado em redes IP, mesmo que ainda tenha seu papel em redes de telefonia, inclusive em 3G [13].

Porém, com o 3G, o resultado de um conflito de um padrão ITU-T com outro padrão foi diferente do usual. Como vai ser comentado a seguir.

O estado de coisas em tecnologias sem fio

Quando o padrão IEEE 802.16 [14], vulgo WiMAX, foi lançado, foi apresentado como “matador do 3G”, ou 3G killer [15]. Parecia mesmo bom senso. Como se sabe, o WiMAX tem custos de implantação e operação menores [16]. Mas talvez a campanha de marketing tenha sido muito acelerada: era comum fabricantes informarem que as campanhas dos evangelistas técnicos estavam muito mais aceleradas do que sua capacidade de fabricar e homologar equipamentos — o que frustrava técnicos e planejadores.

Como se sabe, um equipamento WiMAX precisar ser homologado em um forum para que seja considerado WiMAX de fato [17]: o padrão é IEEE 802.16, mas a entidade que garante a interoperabilidade é o WiMAX Forum. Por simplicidade usa-se o mesmo termo WiMAX para os dois significados.

A estratégia do WiMAX foi ainda mais confusa quando o padrão WiMAX móvel, ou 802.16e [18] foi projetado para ser incompatível com o WiMAX fixo anterior. Isto com certeza não ajudou a aumentar a popularidade do WiMAX e menos ainda a colocá-lo entre as tecnologias consideradas para expansão de redes.

Hoje, WiMAX conta apenas com uma promessa para o grande público, que seria ainda a rede da Sprint [19] nos EUA, chamada Clearwire [20]. No restante do mundo (inclusive no Brasil), há muitas redes WiMAX sendo implementadas para backhaul [21] de companhias de telecomunicação.

Mas neste caso, nem mesmo há necessidade de que o padrão seja de fato WiMAX. Afinal, é a rede interna de uma mesma companhia, que pode usar equipamentos inclusive do tipo pré WiMAX [22].

Também tem havido implementações de WiMAX em regiões da Ásia [23]. Mas neste caso, as informações são muito limitadas. Muitas vezes, não é possível, por exemplo, saber se as implementações são de fato WiMAX ou pré-WiMAX. Ou ainda se se trata de implementações de WiMAX fixo ou móvel.

De qualquer modo, são redes relativamente pequenas, que não têm volume para mudar o panorama no qual o 3G prevalece.

In a galaxy far far away

A trajetória do 3G é tão diferente daquela do WiMAX parece estar em outra galáxia. Em primeiro lugar, houve a migração do 2,5G [24] do GPRS [25], depois a 2,75G [24] do EDGE [25]. Hoje os protocolos da família HSPA [26] são o que se esperava que o 3G fosse, na expressão satisfeita de uma tele britânica [27].

Como a batalha entre 3G e WiMAX foi definitivamente ganha pelo primeiro, resta a batalha pelo 4G [28]. Mas nesta também a posição do WiMAX não é das melhores. Mesmo tendo entrado oficialmente no padrão 4G, o WiMAX já tem forte concorrência dos padrões da família HSPA. Um deles, chamado HSDPA [29], já em uso, é considerado 3,5G — muito próximo do 4G da família GSM [30], que será chamado LTE [31].

Colocando em contexto

As redes do tipo WiMAX são em geral chamadas MAN [32], ou redes de área metropolitana — redes na escala de bairros ou cidades pequenas. Várias redes WiMAX podem ser conectadas para gerar uma rede WAN [33], ou rede de longa distância.

Devido a questões de custos, raramente redes do tipo 3G são implementadas em escala menor do que a WAN.

Enquanto isso, nas redes locais…

Se em redes de escalas maiores a situação de predomínio parece incerta, em redes locais sem fio ou LAN [34], há um predomínio integral do padrão IEEE 802.11 [35], vulgo Wi-Fi [36]. Outros padrões são hoje apenas notícia histórica. Conforme comentado em [1], há quem considere que empresas interessadas em tecnologias para redes mais amplas, impediram que o padrão 802.11s [37] fosse levado adiante — afinal, ele permitiria que várias redes locais se conectassem, para cobrir, por exemplo, uma pequena cidade. Apesar de iniciado há relativamente bastante tempo e de estar praticamente pronto em grandes traços, o padrão 802.11s tem tido sua oficialização adiada há muito.

Mas isto não tem impedido as redes sem fio do tipo Wi-Fi de se expandirem em vários sentidos. Tanto em uso, sendo cada vez mais usadas em casas, empresas e mesmo cidades — como é o caso das cidades digitais [38]. Como também em velocidade: o padrão 802.11n [39], capaz de multiplicar por 10 vezes a velocidade antes disponível para redes Wi-Fi.

Também dá segurança a quem planeja redes a curto e médio prazo saber que para redes sem fio do tipo Wi-Fi, a atividade de lançamento de novos padrões mostra que a tecnologia tem evoluído muito. No caso do IEEE, órgão a princípio responsável pelo estabelecimento de padrões, todo o alfabeto já foi usado. Normalmente sub-padrões do 802.11 recebem uma letra minúscula: 802.11a, 802.11b etc. Devido a todas terem sido usadas, padrões em desenvolvimento tem usado duas letras: de 802.11aa até 802.11af [36] !

Os novos protocolos abordam muitos tópicos anteriormente deixados de lado das redes Wi-Fi. Entre eles o QoS [40].

Uma novidade tem sido o fato de que o consórcio Wi-Fi está desenvolvendo um padrão, chamado Wi-Fi Direct [41], para conexão de equipamentos sem configuração prévia. Parece ser uma modernização do acesso ad-hoc [42], voltada principalmente para segurança.

Principalmente relacionado com segurança, outro padrão lançado pela Wi-Fi Alliance é o Wi-Fi Protected Setup [43], que pretende simplificar a configuração de segurança de redes sem fio em ambiente doméstico.

Redes de área menor

Redes de área pessoal [44] — com raio de cerca de 10 m — têm tido sua evolução técnica e de mercado sensivelmente mais lenta do que se esperaria, diante da profusão de estudos e padrões lançados.

Mas este tópico demanda todo um novo artigo.

Referências

[1] Competing in wireless LAN: Q&A with Ralink EVP Rick Jeng
http://web.ralinktech.com/ralink/data/Ralink.pdf
Visitado em 09/08/2010

[2] VoIP
https://secure.wikimedia.org/wikipedia/pt/wiki/VoIP
Visitado em 12/08/2010

[3] SIP
https://secure.wikimedia.org/wikipedia/pt/wiki/SIP
Visitado em 12/08/2010

[4] IETF
https://secure.wikimedia.org/wikipedia/en/wiki/Internet_Engineering_Task_Force
Visitado em 12/08/2010

[5] H.323
https://secure.wikimedia.org/wikipedia/pt/wiki/H.323
Visitado em 12/08/2010

[6] ITU-T
https://secure.wikimedia.org/wikipedia/pt/wiki/ITU-T
Visitado em 12/08/2010

[7] Technology evangelist
https://secure.wikimedia.org/wikipedia/en/wiki/Technology_evangelist
Visitado em 12/08/2010

[8] Asterisk
https://secure.wikimedia.org/wikipedia/en/wiki/Asterisk_%28PBX%29
Visitado em 12/08/2010

[9] iAx2
https://secure.wikimedia.org/wikipedia/en/wiki/IAX2
Visitado em 12/08/2010

[10] IP PBX
https://secure.wikimedia.org/wikipedia/en/wiki/IP_PBX
Visitado em 12/08/2010

[11] SNMP
https://secure.wikimedia.org/wikipedia/en/wiki/SNMP
Visitado em 12/08/2010

[12] Telecommunications Management Network
https://secure.wikimedia.org/wikipedia/en/wiki/Telecommunications_Management_Network
Visitado em 12/08/2010

[13] 3G
https://secure.wikimedia.org/wikipedia/en/wiki/3G
Visitado em 12/08/2010

[14] IEEE_802.16
https://secure.wikimedia.org/wikipedia/en/wiki/IEEE_802.16
Visitado em 12/08/2010

[15] IRG Technology, Media and Telecommunications
and Life Sciences Weekly Market Review
http://www.irstreet.com/top/am/amfiles/e20040926_1002.pdf
Visitado em 13/08/2010

[16] Sanity check: Will WiMAX be a 3G killer, or is it vice versa?
http://blogs.techrepublic.com.com/hiner/?p=556
Visitado em 13/08/2010

[17] Certification overview
http://www.wimaxforum.org/certification/certification-overview
Visitado em 13/08/2010

[18] What is IEEE 802.16e?
http://www.wimax.com/wimax-technologies-standards/what-is-ieee-80216e
Visitado em 13/08/2010

[19] Sprint
https://secure.wikimedia.org/wikipedia/en/wiki/Sprint_Nextel
Visitado em 13/08/2010

[20] Clearwire
https://secure.wikimedia.org/wikipedia/en/wiki/Clearwire
Visitado em 13/08/2010

[21] Plano Nacional de Banda Larga: primeiras ideias
https://tecnologiassemfio.wordpress.com/2010/02/19/plano-nacional-de-banda-larga-primeiras-ideias/
Visitado em 13/08/2010

[22] WiMAX
https://secure.wikimedia.org/wikipedia/en/wiki/WiMAX
Visitado em 13/08/2010

[23] List of deployed WiMAX networks
https://secure.wikimedia.org/wikipedia/en/wiki/List_of_deployed_WiMAX_networks
Visitado em 13/08/2010

[24] 2G
https://secure.wikimedia.org/wikipedia/en/wiki/2G
Visitado em 13/08/2010

[25] GPRS
https://secure.wikimedia.org/wikipedia/en/wiki/Gprs
Visitado em 13/08/2010

[26] EDGE
https://secure.wikimedia.org/wikipedia/en/wiki/EDGE
Visitado em 13/08/2010

[27] EDGE, WiMax, HSDPA, IMS: Can you pick the winners from the losers?
http://www.silicon.com/technology/networks/2005/01/27/edge-wimax-hsdpa-ims-can-you-pick-the-winners-from-the-losers-39127420/
Visitado em 13/08/2010

[28] 4G
https://secure.wikimedia.org/wikipedia/en/wiki/4G
Visitado em 13/08/2010

[29] HSDPA
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA
Visitado em 13/08/2010
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA

[30] GSM
https://secure.wikimedia.org/wikipedia/en/wiki/Gsm
Visitado em 13/08/2010

[31] LTE
https://secure.wikimedia.org/wikipedia/en/wiki/3GPP_Long_Term_Evolution
Visitado em 13/08/2010
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA

[32] MAN
https://secure.wikimedia.org/wikipedia/en/wiki/Metropolitan_area_network
Visitado em 13/08/2010
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA

[33] WAN
https://secure.wikimedia.org/wikipedia/en/wiki/Wide_area_network
Visitado em 13/08/2010
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA

[34] LAN
https://secure.wikimedia.org/wikipedia/en/wiki/Local_area_network
Visitado em 13/08/2010
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA

[35] IEEE 802.11
https://secure.wikimedia.org/wikipedia/en/wiki/802.11
Visitado em 13/08/2010
https://secure.wikimedia.org/wikipedia/en/wiki/HSDPA

[36] Wi-Fi
https://secure.wikimedia.org/wikipedia/en/wiki/Wi-Fi
Visitado em 13/08/2010

[37] IEEE 802.11s
https://secure.wikimedia.org/wikipedia/en/wiki/802.11s
Visitado em 13/08/2010

[38] Cidades digitais — tentativa de definição
https://tecnologiassemfio.wordpress.com/2010/05/22/cidades-digitais-tentativa-de-definicao/
Visitado em 13/08/2010

[39] IEEE 802.11n
https://secure.wikimedia.org/wikipedia/en/wiki/802.11n
Visitado em 13/08/2010

[40] O que é Traffic shaping, afinal?
https://tecnologiassemfio.wordpress.com/2010/02/26/o-que-e-traffic-shaping-afinal/
Visitado em 13/08/2010

[41] Wi-Fi Direct
https://secure.wikimedia.org/wikipedia/en/wiki/Wi-Fi_Direct
Visitado em 13/08/2010

[42] Wireless ad hoc network
https://secure.wikimedia.org/wikipedia/en/wiki/Wireless_ad_hoc_network
Visitado em 13/08/2010

[43] Wi-Fi Protected Setup
https://secure.wikimedia.org/wikipedia/en/wiki/Wi-Fi_Protected_Setup
Visitado em 13/08/2010

[44] Wi-Fi Protected Setup
https://secure.wikimedia.org/wikipedia/en/wiki/Personal_Area_Network
Visitado em 13/08/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

De onde vem a latência da rede ?

21 de julho de 2010

Hilton Garcia Fernandes

No texto Latência e largura de banda [1], neste blog Tecnologias sem Fio [2], foi discutido o modelo linear

no qual a latência α é um custo constante em tempo da transmissão de n bytes. O fator β multiplicado pelo número de bytes, é associado à máxima banda disponível na rede. Isto é: 1/β é a banda máxima disponível.

Entendidos os conceitos no modelo linear, falta tentar entender o que causa os custos.

A latência pode ser associada a vários fatores

  • em uma rede cabeada do tipo Ethernet [3], é necessário evitar colisões [4]. Ou seja: dois pacotes serem enviados ao mesmo tempo na mesma rede. Há um algoritmo chamado CSMA/CD [5], que permite detectar colisões.
    Seu custo é aproximadamente fixo para um único pacote;
  • em uma rede sem fio do tipo Wi-Fi [6], há um problema semelhante. Neste caso, devido a características do meio físico das ondas eletromagnéticas, o algoritmo é chamado de CSMA/CA [7], e busca evitar colisões (ou collision avoidance), em vez de detectá-las.
    Aqui, o custo também é relativamente fixo para um único pacote;
  • outro problema, a cada dia mais relevante no mundo de internets [8], ou redes interconectadas — e da Internet [9], ou grande rede mundial — é a transferência entre redes, ou roteamento [10]. Neste caso, os pacotes de informação são reescritos, para levar em conta a entrada em outras rede. E isto tem um custo, de novo a cada pacote;
  • ainda há um outro componente dos custos fixos: o chamado encapsulamento e desencapsulamento de pacotes de dados — tanto do ponto de vista teórico da arquitetura OSI [11], ou daquele em geral implementado, a arquitetura TCP/IP [12].
    Em um caso ou outro, a rede é dividida em diversos níveis (ou camadas), o que permite, por exemplo, a independência de tecnologias — redes usando diferentes suportes físicos conseguem comunicar entre si: computadores ligados em redes 3G [13] podem se falar com outros em redes DSL [14]
    O custo de de transferir pacotes entre diferentes camadas da rede também ocorre pacote a pacote.
  • fragmentação de pacotes [15]: pacotes muito grandes podem ter que ser quebrados em pedaços menores, se forem maiores que o tamanho máximo de pacotes naquele segmento de rede, o MTU [16].

Todos estes custos ocorrem pacote a pacote. Sendo assim, se uma mensagem for suficientemente longa para ser quebrada em vários pacotes na rede, sofrerá várias vezes as mesmas negociações de colisão, de roteamento etc. ?

De fato, isto ocorrerá. Mas há efeitos que minoram este poder multiplicativo:

  • aquisição do meio: quando um computador começa a transmitir pela rede, mantém durante algum tempo o direito de transmitir. Isto está incorporado aos algoritmos de tratamento de colisões justamente para minimizar os custos de seguidas negociações;
  • pipelining [17], ou efeito “linha de montagem”: em uma linha de montagem [18], o fato de haver várias unidades trabalhando em paralelo em diferentes partes de um bem a ser montado garante que o intervalo entre o término de diferentes produtos seja menor do que o tempo total de produção de um produto.
    Um velho professor explicava pipelines dizendo que o tempo total para produzir um Volkswagen Sedan (o popular fusca) era de 48 horas. Contudo, o tempo entre um Sedan e outro era de apenas 40 minutos.
    No caso de uma transmissão de rede, há pelo menos dois níveis de paralelismo: a CPU, que processa o encapsulamento dos pacotes e a placa de rede, que faz as negociações de nível mais baixo, necessárias para encaminhar a mensagem pela rede, fazendo negociações CSMA/CA, por exemplo.

Em próximas postagens em Tecnologias sem Fio serão apresentados mais detalhes da estimativa dos importantes parâmetros latência e largura de banda, bem como parâmetros complementares — que podem melhorar a compreensão das redes.

Referências

[1] Latência e largura de banda
https://tecnologiassemfio.wordpress.com/2010/07/07/latencia-e-largura-de-banda/
Visitado em 16/07/2010

[2] Tecnologias sem Fio
https://tecnologiassemfio.wordpress.com/
Visitado em 16/07/2010

[3] Ethernet
https://secure.wikimedia.org/wikipedia/pt/wiki/Ethernet
Visitado em 16/07/2010

[4] Colision domain
https://secure.wikimedia.org/wikipedia/en/wiki/Collision_domain
Visitado em 16/07/2010

[5] CSMA/CD
https://secure.wikimedia.org/wikipedia/en/wiki/CSMA/CD
Visitado em 16/07/2010

[6] Wi-Fi
https://secure.wikimedia.org/wikipedia/pt/wiki/Wi-fi
Visitado em 16/07/2010

[7] CSMA/CA
https://secure.wikimedia.org/wikipedia/en/wiki/CSMA/CA
Visitado em 16/07/2010

[8] Internetworking
https://secure.wikimedia.org/wikipedia/en/wiki/Internetworking
Visitado em 16/07/2010

[9] Internet
https://secure.wikimedia.org/wikipedia/en/wiki/Internet
Visitado em 16/07/2010

[10] Roteamento
https://secure.wikimedia.org/wikipedia/pt/wiki/Roteamento
Visitado em 16/07/2010

[11] OSI model
https://secure.wikimedia.org/wikipedia/en/wiki/OSI_model

Visitado em 16/07/2010

[12] TCP/IP model
https://secure.wikimedia.org/wikipedia/en/wiki/TCP/IP_model
Visitado em 16/07/2010

[13] 3G
https://secure.wikimedia.org/wikipedia/pt/wiki/3G
Visitado em 16/07/2010

[14] DSL
https://secure.wikimedia.org/wikipedia/pt/wiki/
Visitado em 16/07/2010

[15] IP fragmentation
https://secure.wikimedia.org/wikipedia/en/wiki/IP_fragmentation
Visitado em 16/07/2010

[16] Maximum transfer unit
https://secure.wikimedia.org/wikipedia/en/wiki/Maximum_transmission_unit
Visitado em 16/07/2010

[17] Pipelining
https://secure.wikimedia.org/wikipedia/en/wiki/Pipelining
Visitado em 16/07/2010

[18] Assembly line
https://secure.wikimedia.org/wikipedia/en/wiki/Assembly_line
Visitado em 16/07/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Modem 3G Sony Ericsson MD300 USB no Linux

17 de abril de 2010

Marcio Barbado Junior
(BDS Labs)

Este é um tutorial prático para instalar no GNU/Linux o modem 3G, modelo MD300, fabricado pela Sony Ericsson para operar em sistemas operacionais proprietários.

Pode-se em certa medida, aproveitar este conteúdo para qualquer combinação entre uma distro e um modem 3G USB, fazendo-se pequenas adaptações nos passos descritos, que são especificamente focados no modem MD300 e em distribuições baseadas em Fedora/Red Hat e Debian.

É possível o utilizar com HSDPA, UMTS, EDGE e GPRS mas o equipamento não oferece suporte para chamadas de voz GSM. Também pode enviar e receber mensagens SMS. Tudo isso é fácil, considerando-se Windows e Mac OS.

Essas situações contudo causam “dores de cabeça” a usuários Linux, e muitos acabam deixando de utilizar o pinguim por não terem seu hardware devidamente reconhecido. Problema recorrente.

O caso é que usuários PJ (ou pessoa jurídica, empresariais) são grandes disseminadores de paradigmas tecnológicos, e o dispositivo da Sony Ericsson representa uma grande barreira à adoção do Linux na medida em que a operadora Claro vem sugerindo a seus clientes “corporativos” a utilização do modem em questão, o que inclusive constitui uma especie de venda casada, já que ao aceitarem a “sugestão”, os clientes se vêem obrigados a possuir/adquirir uma licença paga de modo que possam usufruir do equipamento.

A questão toda se resume à constatação de uma estrategia velada, adotada por grandes players do mercado, que acaba por minar a confiabilidade do Linux.

Assim, as presentes linhas objetivam aliviar o incômodo e o desrespeito causado aos usuários do pinguim, e principalmente perseverar na batalha em prol da transparência de códigos E nessa missão, discorrem principalmente sobre udev e wvdial.

1 Introdução

Utilizou-se para redação destas linhas um sistema Fedora 10 de 64 bits, kernel “2.6.27.5”. As adaptações para Debian são citadas sempre que preciso, e com pequenas alterações, o roteiro poderá resolver problemas de outras distribuições Linux que estiverem utilizando outros modems 3G USB.

Apesar do que afirmam alguns especialistas, versões de kernel posteriores à “2.6.19” podem encontrar dificuldades para entender um modem 3G USB [1].

No Brasil, o MD300 é utilizado principalmente em sistemas operacionais Windows, e nesses, é gerenciado por um software proprietário chamado “Wireless Manager”, que se instala automaticamente, “espetando-se” o modem.

Bem, a historia é diferente no Linux. O pinguim exigirá que se escreva uma regra de udev, e que se configure o wvdial para então aceitar e entender o equipamento.

A regra de udev elimina o problema da detecção automática da memória flash presente no equipamento, e ativa o dispositivo /dev/ACM0 ou seja, o udev permitirá que o MD300 seja devidamente reconhecido pelo sistema. O wvdial é um discador dial-up inteligente que será utilizado para fazer o modem funcionar com PPP (daemon pppd) após ser reconhecido.

É dito “inteligente” pois utiliza algoritmos heurísticos para obter a conexão Algumas vezes, tais algoritmos mais atrapalham do que ajudam.
São mostrados com simplicidade e detalhes, todos os passos necessários para suplantar as barreiras impostas pela Sony Ericsson aos usuários Linux. Tais dificuldades serão combatidas, e a rede da Claro será utilizada sem a necessidade de se conhecer o PIN e/ou o PUK do equipamento. Todavia, faz-se preciso o conhecimento de algumas informações elementares da operadora como o APN e o “número” para o qual ligar por exemplo.

1.1- Medidas preliminares

Caso se esteja utilizando o SELinux — recomenda-se que sim — coloque-o provisoriamente em modo permissivo até que o modem esteja funcionando corretamente. Isso é feito no arquivo /etc/sysconfig/selinux com a linha:

SELINUX=permissive

Outro ponto a se verificar diz respeito às presenças do kppp, gnome-ppp, wvdial e minicom, ferramentas que poderão ser usadas:

$ rpm -q kppp gnome-ppp wvdial minicom

ou:

$ which kppp gnome-ppp wvdial minicom

Caso não estejam presentes, deve-se ao menos realizar a instalação do wvdial embora os comandos abaixo instalem as três, que é a recomendação deste tutorial:

# yum install kppp gnome-ppp wvdial minicom

ou:

# apt-get -y install kppp gnome-ppp wvdial minicom

Uma medida a se tomar após as instalações diz respeito à permissão de escrita que os usuários devem possuir em:

/etc/ppp/pap-secrets

e:

/etc/ppp/chap-secrets

que são arquivos utilizados pelo wvdial.
O próximo passo é permitir que contas de usuário utilizem o wvdial pois o mesmo só pode ser executado pela conta root. Isso pode ser feito com o sudo, lembrando que o wvdial fica costumeiramente em /usr/bin/wvdial.

2- udev rules! [2]

Constitui um percalço comum em distribuições Fedora / Red Hat e RHEL, a situação em que o sistema não consegue disponibilizar o modem automaticamente. Isso pode estar relacionado à memória flash contida no dispositivo, que provavelmente estará sendo detectada e montada automaticamente como uma mídia USB genérica no diretório /media/ (ou /mnt/ para distribuições baseadas em Debian).

O problema existindo, irá interferir na correta detecção do MD300. Pode-se detectar essa falha rapidamente se o sistema utilizar um ambiente gráfico, constatando-se o ícone MD300 no Desktop. E nesses casos basta dizer ao sistema operacional para não detectar a memória flash do modem como uma mídia USB.

Todavia, essa correção NÂO deve ser feita através do gerenciador gráfico de dispositivos USB ou editando-se o arquivo /etc/fstab. A questão é resolvida com o udev!

Sucessor do devfs, o versátil udev é um componente escrito em C, que opera dinamicamente sobre o diretório /dev/, local em que cria arquivos de dispositivos. É comum para dispositivos seriais, a utilização de arquivos do tipo tty*, exemplo:

/dev/ttyS3

ou:

/dev/ttyUSB0

O equipamento Sony Ericsson possui várias funções, capazes de ativar dispositivos no diretório /dev/, exemplo:

FUNÇÃO DISPOSITIVO EXEMPLO
rede /dev/eth[N] /dev/eth2
memória flash /dev/sdb[N] /dev/sdb1
modem /dev/ttyS[N] /dev/ttyS1

A função “memória flash”, quando detectada, impede o correto uncionamento do MD300 mas o mesmo NÃO pode ser dito sobre a função de rede — em geral dispositivo /dev/eth2.
Cabe destacar a existência de uma correspondência aproximada entre os padrões para portas seriais em UNIX e MS-DOS.
Enquanto o padrão de Redmond é COMn, com n iniciado em 1 — por exemplo: COM1 –, o padrão UNIX é ttySn, com n iniciado em 0. No exemplo dado, /dev/ttyS0.
A tabela abaixo apresenta essa correspondência de forma mais detalhada:

/dev/ttys0 (COM1) porta 0x3f8 IRQ 4
/dev/ttys2 (COM3) porta 0x3e8 IRQ 4
/dev/ttys3 (COM4) porta 0x2e8 IRQ 3

Qual (ou quais) dos ttySn corresponde (ou correspondem) ao MD300?

Pois é: nenhum deles. A regra a ser escrita irá inibir o reconhecimento da memória flash e mostrar que para o MD300, o sistema operacional utiliza /dev/ttyACM0.

Faz-se a regra do udev através da criação de um arquivo de texto com sufixo .rules no diretório /etc/udev/rules.d/:

# vim /etc/udev/rules.d/50-md300modem.rules

Copia-se o conteúdo a seguir neste arquivo. Cuidado com as aspas simples e duplas ao copiar e colar. Confira se elas foram transportadas corretamente depois de colar:

ACTION!="add", GOTO="3G_End"
BUS=="usb", SYSFS{idProduct}=="d0cf", SYSFS{idVendor}=="0fce", 
PROGRAM="/bin/sh -c 'echo 3 > /sys/%p/bConfigurationValue'"
LABEL="3G_End"

Os valores de SYSFS{idProduct} e SYSFS{idVendor} devem ser obtidas através do dmesg:

$ dmesg | grep usb

que apresentará em sua saída, tais informações:

usb 3-2: New USB device found, idVendor=0fce, idProduct=d0cf
usb 3-2: Product: Sony Ericsson MD300
usb 3-2: Manufacturer: Sony Ericsson

Criado o arquivo, reinicia-se o sistema operacional.

3- wvdial [3] [4]

Grosso modo, o wvdial (ou Weave Dial) é um discador escrito em C++ por Dave Coombs e Avery Pennarun, e licenciado sob a LGPL, que não é “viral” como a GPL, infelizmente.

O programa, que utiliza o protocolo PPP através do daemon pppd, deve ser utilizado pela conta root a princípio, e automatiza diversas tarefas, tornando desnecessário o conhecimento de PIN e PUK para a conexão.

Utilizado em linha de comando, caso não possua opções, o discador irá ler seu arquivo de configurações globais:

/etc/wvdial.conf

e em seguida, um dos arquivos das contas de usuário, que são:
~/.wvdial.conf

ou:

~/.wvdialrc

eventualmente presentes no diretório home do usuário
Os arquivos de configuração seguem o padrão .ini do Windows. Os nomes das seções estão entre colchetes e seus conteúdos são sequências de linhas no modelo:

variável = valor

Linhas comentadas são iniciadas pelo caractere “ponto e virgula”, ou “;“. Antes mesmo de se usar o wvdial pela primeira vez, é preciso executar como root o programa wvdialconf, que possivelmente identificará a porta serial do modem:

# wvdialconf /etc/wvdial.conf

Caso a ferramenta tenha êxito, o dispositivo referente ao MD300 será detectado e algumas informações básicas de configuração serão carregadas no arquivo global /etc/wvdial.conf, que em seguida deve ser editado com informações especificas:

# vim /etc/wvdial.conf

Utiliza-se o seguinte conteúdo no arquivo — algumas linhas já terão sido preenchidas pelo wvdialconf:

[Dialer Defaults]
Modem = /dev/ttyACM0
Modem Type = USB Modem
Baud = 460800
Init = ATZ
Init2 = AT+CFUN=1
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init4 = AT+CGDCONT=1,"IP","bandalarga.claro.com.br"
Init5 =
Init6 =
Init7 =
Init8 =
Init9 =
Phone = *99***1#
Dial Command = ATM1L3DT
Username = claro
Password = claro
Stupid Mode = 1
Auto DNS = on
Check DNS = on
Check Def Route = on
Remote Name = *
Carrier Check = on
Auto Reconnect = on
Abort on No Dialtone = on
Dial Attempts = 3
ISDN = 0

Atenção com as aspas.

O exemplo é especifico para o MD300 e para a Claro. Valores à direita de = e algumas variáveis poderão mudar em acordo com o modem e a operadora utilizada. O comando:

$ man wvdial.conf

fornece mais informações sobre o devido preenchimento do arquivo /etc/wvdial.conf, procedimento este que após ser concluído, deve ser seguido de uma reinicialização do sistema operacional com o modem espetado, e então a conexão pode ser gerenciada pelo kppp e/ou pelo gnome-ppp; e/ou diretamente pelo wvdial:

$ sudo wvdial

e para se desconectar, caso tenha usado o wvdial, pressione Ctrl + c.

4- Soluções de problemas

Caso a conexão fique instável, é possível como root, verificar o que ocorre no sistema em tempo real com o tail, utilizando-se a opção -f (de follow) para seguir os últimos registros:

# tail -f /var/log/audit/audit.log

ou:

# tail -f /var/log/messages

Os registros do arquivo /var/log/audit/audit.log serão úteis caso o SELinux esteja ativado.

As seções a seguir cobrem os problemas mais comuns que podem aparecer com os procedimentos aqui descritos.

4.1- Arquivos de configurações do wvdial [4]

Talvez o leitor tenha optado por editar arquivos do usuário, que são o:

~/.wvdial.conf

e/ou o:

~/.wvdialrc

e o wvdial não o(s) esteja utilizando.

Isso se resolve colando todas as configurações supracitadas no arquivo global, chamado /etc/wvdial.conf.

4.2- Conecta mas o web browser não carrega conteúdo

Cabe salientar que em alguns casos a saída que o wvdial apresenta no terminal leva a crer que os servidores de nomes (DNS) foram devidamente obtidos, exemplo:

--> pppd: =
--> primary DNS address 200.169.119.221
--> pppd: =
--> secondary DNS address 200.169.119.222
--> pppd: =

O sintoma é o navegador reclamando de um endereço qualquer como http://www.google.com ou http://www.bdslabs.com.br. O conteúdo simplesmente não é exibido.
E, ao contrário do que possa parecer, talvez esteja ocorrendo um erro relacionado a DNS.

Isso pode ser verificado da seguinte forma. Caso seja possível pingar um IP (por exemplo, 200.169.119.221) mas não seja possível pingar um nome (por exemplo, http://www.google.com), então o problema é de fato a obtenção dos servidores de nomes, e a solução é adicionar as seguintes linhas no final do arquivo /etc/resolv.conf:

domain bandalarga.claro.com.br
nameserver 200.169.119.221
nameserver 200.169.119.222

Este procedimento corresponde à copia do conteúdo presente em /etc/ppp/resolv.conf no arquivo /etc/resolv.conf.
O arquivo /etc/ppp/resolv.conf possuirá os IPs mostrados na saída do wvdial.

4.3- Não é possível se descobrir a porta serial do modem

Uma opção para essa situação é utilizar o programa minicom [5].

Nativo em muitas distros, ele só pode ser configurado e testado em uma porta serial de cada vez. A configuração começa através do comando:

# minicom -s

que leva ao menu configuration no qual se escolhe a opção Serial port setup. Uma vez lá, modifique Serial Device e retorne ao menu. Escolha então Save setup as dfl e em seguida, Exit from Minicom. Execute o programa novamente:

# minicom

e digite:

AT

é esperada uma resposta OK; caso não se obtenha tal resposta, digite:

ATQ0 V1 EI

novamente, espera-se uma resposta OK. Caso ela não venha mesmo assim, refaça a configuração do minicom utilizando outro dispositivo e repita os testes.

Um programa que pode ajudar o minicom se chama setserial. Este, pode obter e modificar informações das portas seriais. O seguinte comando é um exemplo que obtem informações básicas sobre algumas delas:

# setserial -g -a /dev/ttyS0 /dev/ttyS1 /dev/ttyS2 /dev/ttyS3

Uma saída típica do setserial pode ser:

/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS1, Line 1, UART: unknown, Port: 0x02f8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS2, Line 2, UART: unknown, Port: 0x03e8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS3, Line 3, UART: unknown, Port: 0x02e8, IRQ: 3
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal auto_irq

5- Conclusões

Frequentemente se verifica a fabricação de equipamentos USB que funcionam apenas em sistemas proprietários Esta é uma das razões que prejudica a disseminação do Linux.

Particularmente, alguns fabricantes de equipamentos 3G como a Huawei, preocupam-se com sistemas operacionais livres. A Sony Ericsson infelizmente não faz parte desse grupo.

É possível contudo, combater esse desrespeito a usuários Linux através da devida modificação do sistema. E na maioria dos casos, isso se resume a escrever uma regra udev, configurar e utilizar devidamente o wvdial.

Contato

Marcio Barbado Jr. é empresário e ativista do Software Livre, sendo um dos proprietários da BDS Labs, em
http://www.bdslabs.com.br

Marcio possui larga experiência em programação, projeto e integração de sistemas.

E-mail para contato: contato@bdslabs.com.br

6- Referências

[1] LINUX MAGAZINE #63 (FEVEREIRO de 2010) – Pergunte ao Klaus
http://www.linuxmagazine.com.br/article/pergunte_ao_klaus_lm63
Visitado em 16/04/2010

[2] Entendendo o udev – Carlos E. Morimoto
http://www.guiadohardware.net/tutoriais/acessando-dispositivos-usb-escrevendo-regras/entendendo-udev.html
Visitado em 16/04/2010

[3] WvDial | freshmeat.net
http://freshmeat.net/projects/wvdial/
Visitado em 16/04/2010

[4] páginas man (manuais de utilização) wvdial e wvdial.conf

[5] Modem-HOWTO — 18. Troubleshooting
http://tldp.org/HOWTO/Modem-HOWTO-18.html
Visitado em 16/04/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Confiabilidade do projeto SAWiM (parte 1 de 2)

9 de abril de 2010

Fábio Damião Barbosa Ricci

Redes Mesh sem fio possuem grandes vantagens comparadas às redes cabeadas, destacando-se principalmente pelo baixo custo, implementação gradual e tolerância a falhas [1]. Elas podem ser tão confiáveis quanto redes cabeadas através do uso adequado de protocolos de comunicação, encriptação, modulação de sinal, uso adequado de antenas, topologia de rede etc. Tais ferramentas foram desenvolvidas e aperfeiçoadas justamente para garantir à comunicação sem-fio as características já inerentes de uma comunicação cabeada.

Baseada nestas premissas o projeto SAWiM [2] busca conciliar esta confiabilidade de comunicação com o desenvolvimento de um novo tipo de controlador semafórico.

Em visita realizada ao estande de empresas fabricantes de controladores semafóricos na feira de infraestrutura de transportes TranspoQuip [3] em 2009, houve certa resistência a um novo conceito de controlador semafórico, já que este é um produto desenvolvido há muito tempo e com muito cuidado para garantir confiabilidade de operação. Com isso, sua tecnologia pouco evoluiu no decorrer de décadas. Devido a esta lenta evolução, pôde-se perceber grande interesse por parte de engenheiros da empresa sobre a nova tecnologia de Rede Mesh, que poderia ser utilizada na interligação dos controladores de tráfego com a central de controle e, com isso, além de garantir a tão consagrada confiabilidade dos controladores eletrônicos de tráfego, garantir também sua controlabilidade a partir de um centro de gerência.

O desenvolvimento do projeto SAWiM deve gerar um produto capaz  de se adequar às especificações das companhias de engenharia de tráfego metropolitanas, que estabelecem as mínimas condições técnicas e funcionais. Tais exigências especificam características técnicas básicas, características funcionais, modos de operação, características gerais de projeto e construção, documentação técnica, ensaios, inspeção e aceitação.

Apesar dos semáforos aparentarem para o usuário serem apenas dispositivos simples que acionam lâmpadas, todas as suas especificações são complexas com parâmetros técnicos e funcionais detalhados, como por exemplo os que especificam sequência de cores, períodos de entreverdes e tempos de segurança, tipos de estágios quanto ao tempo de duração (fixa ou variável) e quanto a ocorrência dentro do ciclo de duração (dispensáveis ou indispensáveis).

Esta e outras normas devem ser seguidas por se tratar de um dispositivo que deve lidar com a vida humana. Sua padronização elétrica e funcional garante a homogeneidade e confiabilidade do sistema semafórico como um todo.

O projeto do controlador SAWiM é composto por 2 módulos interligados por um cabo: um módulo Mesh que possui um sistema Linux embarcado responsável pela programação e comunicação,  e um módulo Atuador. Sua principal diferença com um controlador convencional é o fato de haver um controlador por semáforo e sua comunicação adjacente e programação de ações são feitas pelo software rodando em Linux no módulo Mesh, permitindo, com isso, uma grande maleabilidade de ações e processamento devido à grande flexibilidade operacional de um sistema Linux.  O módulo Atuador se responsabiliza pela realização das ações, medições e sensoriamento, comunicando-se intermitentemente com o módulo Mesh.

A comunicação em Rede Mesh é feita com  semáforos intra-grupo quando é necessária a alteração de sinalização em apenas um grupo semafórico e também pode ser feita inter-grupos,  quando é necessária uma sincronização entre grupos semafóricos, de cruzamentos diferentes.

A ilustração abaixo descreve um exemplo simplificado de comunicação:

Exemplo de comunicação entre controladores SAWiM.

Neste exemplo, temos a comunicação intra-grupo entre o controlador mestre, seu adjacente e seu opositor.  Também há comunicação inter-grupos entre 2 controladores SAWiM mestres. Neste exemplo de comunicação inter-grupos, o controlador mestre A envia uma mensagem de comando ao controlador mestre B para alterar sua sinalização após um período de t segundos, realizando, com isso, a  sincronização sequencial de tempos de verde (onda verde [4]).

Por tudo isso, o projeto SAWiM tem como objetivo quebrar paradigmas de sistemas de controladores semafóricos, desenvolvendo uma nova tecnologia passível de grande confiabilidade, maleabilidade funcional e baixo custo. Apesar disso, por se tratar de um novo produto em desenvolvimento, ainda é impossível compararmos sua confiabilidade com os consagrados controladores atuais.

Referências

[1] Redes mesh e grafos.
https://tecnologiassemfio.wordpress.com/2010/01/22/redes-mesh-e-grafos/

Visitado em 08/04/2010

[2] Trânsito e Redes Mesh
https://tecnologiassemfio.wordpress.com/2010/02/12/transito-e-redes-mesh/

Visitado em 09/04/2010

[3] TranspoQuip.
http://www.transpoquip.com.br/br/index.html

Visitado em 09/04/2010

[4] Onda verde – Instituto Trânsito Brasil.
http://www.transitobrasil.org/anexos/artigos/145.pdf

Visitado em 09/04/2010

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Uso Não-Comercial – Obras Derivadas Proibidas 3.0 Não Adaptada

Redes mesh e grafos

22 de janeiro de 2010

Hilton Garcia Fernandes

As redes sem fio do tipo mesh (a expressão em português “redes sem fio em malha” não tem sido usada no Brasil) [1] conectam entre si pontos de acesso (AP) [2] diretamente por rádio, evitando assim a necessidade de conexões cabeadas e ampliando a cobertura da rede sem fio para não apenas um AP, mas vários.

O conceito é muito amplo, mas normalmente é aplicado apenas a redes sem fio locais, as chamadas WLAN, principalmente do tipo Wi-Fi [3].

Os computadores clientes de um AP sem conexão direta à Internet podem obter essa conexão através de um outro AP que a possua, pelo processo chamado de hopping, ou pulo: o AP sem conexão com a Internet repassa os pacotes de informação para aquele que a possui. Depois, o AP conectado repassa os pacotes da resposta da Internet para aquele AP que sem conexão direta, que por sua vez, repassa ao cliente que solicitou a conexão.

As redes sem fio em malha podem ser estudadas de várias formas. Uma das mais interessantes, com certeza é a via dos grafos [4].

A teoria dos grafos é baseada em conceitos simples e poderosos. Um grafo pode ser simplesmente descrito como um conjunto de objetos que se conecta em pares. Os objetos são chamados vértices (ou nós) e as conexões entre eles são chamadas arestas.

Em termos das redes mesh, cada AP seria um nó e cada conexão entre eles seria uma aresta. Grafos que modelam redes mesh podem ser considerados não dirigidos, pois se há conexão de um primeiro AP para um segundo, com certeza há do segundo para o primeiro.

Grafos podem ser conexos, quando de um nó é possível chegar a qualquer outro, mesmo que seja necessário passar por mais de uma aresta. Grafos com o mínimo de arestas necessário para serem conexos são chamados árvores [5]. Em termos matemáticos, se n é o número de nós de uma árvore, o número de arestas dela será n – 1.

Ora, redes mesh têm como propriedade interessante a tolerância a falhas. Em outras palavras, isto significa que há vários caminhos entre um AP e outro. Por exemplo, entre um AP sem conexão com a Internet e outro conectado. Se um dos caminhos não for mais possível, haverá outra alternativa, eventualmente menos rápida, mas ainda assim capaz de permitir o acesso à Internet.

Por isso, uma rede mesh tem que ter mais do que o mínimo de conexões possível, para que haja redundância em pelo menos uma conexão. Ou seja: nestes termos, a rede mesh do grafo mencionado teria que ter pelo menos n arestas. Uma rede totalmente conectada [6] é uma rede com
n*(n – 1)/2
conexões, o que não é viável para redes maiores.

Outro ponto que favorece a qualidade de uma rede mesh é que a quantidade de conexões seja o melhor distribuída possível, sem que um único nó contenha todas conexões redundantes — pois este nó será um ponto de falha da rede; se ele cair, cairá parte importante da rede. O número de conexões de um dado nó é chamado grau desse nó.

O programa descstat.g [7] calcula estatísticas básicas dos nós de um dado grafo — uma das mais importantes é chamada coeficiente de variação [8], e mede a disparidade dos graus dos vértices de um grafo. Idealmente, o coeficiente de variação seria zero para uma rede onde todos nós tivessem o mesmo número de conexões.

O programa connect.g [9] avalia se um dado grafo é ou não conexo. No caso de redes mesh, identifica se todos pontos da rede se vêem ou não.

Tanto descstat.g [7] quanto connect.g [9] foram escritos usando-se o ambiente de programação gvpr, desenvolvido por Emden R. Gansner, disponível no pacote graphviz [10], um Software Livre poderoso, flexível e muito usado para visualização de grafos.

Referências

[1] Wireless mesh network

[2] Wireless access point

[3] Wi-Fi

[4] Teoria dos grafos

[5] Árvore (teoria dos grafos)

[6] Fully-connected network

[7] descstat.g

[8] Coeficiente de variação

[9] connect.g

[10] graphviz

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Por que usar VPNs seguras?

15 de janeiro de 2010

Rodrigo Filipe Silva Carramate


VPN segura é uma rede virtual, que tem seu tráfego criptografado a fim de permitir a passagem deste através de redes inseguras sem que haja perda do sigilo das informações. A segurança dos dados se dá através de um processo de tunelamento criptografado, no qual se forma um túnel virtual entre cliente e servidor, onde temos os pacotes codificados em uma borda, sendo apenas descriptografados na outra borda. Com essa estrutura, mesmo que os pacotes sejam interceptados por usuários mal-intencionados, dificilmente a segurança dos dados será comprometida[1].

Dentre os usos para uma VPN segura podem ser citados três principais[2]:

  • Acesso remoto via internet: permite que um usuário acesse sua rede doméstica ou corporativa sem estar presente fisicamente na mesma, usando a Internet como intermediadora;
  • Conexão de LANs via internet: possibilita a junção de duas ou mais LANs através da internet, compondo uma WAN sem necessidade de um link dedicado;
  • Conexão de computadores numa intranet: cria dentro de uma rede corporativa uma outra rede, invisível a todos os usuários que não estiverem conectados ao servidor de VPN, permitindo a transmissão de conteúdo confidencial através da rede corporativa.

No contexto das VPNs existe um software muito interessante chamado OpenVPN[3]: trata-se de uma ferramenta multiplataforma de código aberto, muito completa, madura e robusta. O fato de possuir código aberto, além de dar ao OpenVPN portabilidade, faz com que existam versões para os principais sistemas operativos existentes, também atrai uma comunidade bastante ativa e solícita, onde sempre ocorrem discussões sobre o desenvolvimento do programa e se fornece ajuda aos que possuem dúvidas.

Após devidamente configurado, o programa cria uma interface virtual, que é responsável por estabelecer o túnel que efetua a conexão entre cliente e servidor. O OpenVPN implementa a criptografia dos pacotes através do renomado OpenSSL, o que garante a segurança do tráfego na rede virtual.

No nosso projeto de cidades digitais temos no OpenVPN a base da segurança da rede mesh[4]. Neste tipo de rede devemos tomar um cuidado muito especial devido à ausência de criptografia nativa nas redes ad hoc. Desta forma, para garantir a proteção dos dados dos usuários recorremos ao OpenVPN, que provou ser uma solução extremamente dinâmica, acompanhando eventuais modificações nas topologias de rede, sempre se adequando a necessidades específicas das diferentes localidades.

Saiba mais

HowStuffWorks – Como funciona uma VPN

HOWTO (OpenVPN)

Linux: VPN em Linux com OpenVPN [Artigo]

Referências

[1] Virtual Private Network – Wikipédia, a enciclopédia livre

[2] Rede Privada Virtual – VPN

[3] Community Software Overview

[4] HowStuffWorks “How Wireless Mesh Networks Work”

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.

Encriptação do GSM foi quebrada ?

11 de janeiro de 2010

Hilton G. Fernandes

Um tema polêmico, que talvez agite durante este ano as listas de discussões sobre redes sem fio, é a possível quebra da encriptação do GSM [1], aberta ao público no final do ano passado, depois de apresentada em conferência técnica em abril/2009. A entidade que zela pela segurança do GSM, a GSM Association, garante que não houve quebra [2]. O pesquisador que relata a quebra garante que a GSMA está sendo omissa e dando explicações descabidas [3], que mais tentam ameaçar juridicamente os pesquisadores do que realmente responder aos problemas técnicos da quebra.

Trata-se de um problema complexo e polêmico, que não pode ser resumido em poucas palavras. Contudo, vale procurar um panorama do problema e apontar referências relevantes para entendê-lo.

O GSM usa um algoritmo de criptografia chamado A5/1 [4], inicialmente mantido em segredo, mas descoberto por engenharia reversa. Teoricamente, seria possível mapear as transformações do algoritmo em uma tabela, mas ela teria 128 petabytes, ou cerca de 128 milhões de gigabytes ! Felizmente, técnicas de compressão reduzem a tabela a apenas 2 terabytes [5], ou 2.000 gigabytes, o que é próximo do tamanho de um HD para PC de mais baixo custo oferecido atualmente.

O que os autores do texto, Chris Paget e Karsten Nohl, dizem ter conseguido foi usar estas técnicas em hardware de custo relativamente baixo (US$ 14.000) e cometer todo tipo de ataque a uma rede GSM [6]: desencriptação, Man-in-the-middle [7] etc.

Infelizmente, uma demonstração pública da quebra de uma comunicação GSM seria ilegal. Contudo, os autores se comprometeram durante a apresentação [5] a quebrar toda comunicação GSM que alguém tivesse obtido por escuta de rádio, transformada em bytes.

Os autores são reincidentes neste tipo de trabalho: já quebraram a criptografia dos telefones sem fio digitais, preparados para segurança [8]. Mas neste caso contaram com a colaboração da associação dos fabricantes desse tipo de telefone, diferentemente da GSMA.

Os autores não têm pretensão à originalidade. Ao contrário, garantem que a encriptação do GSM vem sendo cotidianamente quebrada por agências do governo e criminosos. O que eles se propõem a fazer é alertar o público sobre o problema, forçando as entidades de padronização, os fabricantes de celulares e as operadoras de telecomunicações a melhorarem a encriptação [5].

Referências

[1] Cellphone Encryption Code Is Divulged

[2] GSMA Statement on Media Reports Relating to the Breaking of GSM Encryption

[3] Experts Break Mobile Phone Security

[4] A5/1

[5] Cracking GSM encription

[6] GSM: SRSLY?

[7] Man-in-the-middle attack

[8] Experts Break Mobile Phone Security

Licença Creative Commons
Esta obra foi licenciada com uma Licença Creative Commons – Atribuição – Partilha nos Mesmos Termos 3.0 Não Adaptada.