InformaCom Setembro 2014 - Escola de Comunicações

Propaganda
O algoritmo permite, ainda, algumas flexibilidades:
- especificação de variantes, com o comprimento do bloco e da chave, variando de 32 em 32 bits, no
intervalo de 128 até 256 bits; e
- embora o número das rodadas seja fixo por especificação, é possível a modificação deste parâmetro,
caso haja problemas de segurança.
Desvantagens
As limitações ficam por conta da inversa (quando a ordem das transformações é invertida). A inversa é
menos recomendável de ser implementada num SmartCard, pois precisa de mais código e exige mais
processamento. Mesmo assim, se comparado a outros algoritmos, ela é bem rápida.
O algoritmo apresenta as seguintes restrições:
- em software, a encriptação e sua inversa empregam códigos diferentes e/ou tabelas; e
- em hardware, a inversa pode usar apenas uma parte do circuito usado no processo de encriptação.
Comparação entre AES e outros algoritmos conhecidos
Os modernos equipamentos de Comunicações do Exército Brasileiro utilizam o algoritmo de criptografia
AES, tanto em software quanto em hardware. A utilização dessa criptografia garante a segurança, quer no
envio de dados, quer nas comunicações por voz, utilizando um algoritmo de 128 ou 256 bits.
Algoritmo Tamanho da Chave N º de Rodadas
Operações Matemáticas
AES
128, 192 ou 256 bits
10, 12, 14
XOR, S-Boxes fixas
DES
56 bits
16
XOR, S-Boxes fixas
3DES
112 ou 168 bits
48
XOR, S-Boxes fixas
IDEA
128 bits
8
XOR, adição, multiplicação
Blowfish
Variável ate 448 bits
16
XOR, S-Boxes variáveis, adição
RC5
Variável ate 2048 bits Variável ate 255
Adição, Subtração, XOR, rotação
CAST-128
40 ate 128 bits
16
Adição, subtração, XOR, rotação, S-Boxes fixas
INFORMATIVO TÉCNICO - CIENTÍFICO DA ESCOLA DE COMUNICAÇÕES
ANO 3 - Nº 3
BRASÍLIA
SETEMBRO DE 2014
EDITORIAL
É com muita honra e
grande satisfação que
apresentamos o terceiro
exemplar do nosso
INFORMACOM do ano
de 2014. Neste número,
abordamos o Sistema de
Armazenamento em
Nuvem e suas inúmeras
possibilidades. Destacamos, também, a Plataforma de Prototipagem Eletrônica (Arduino). Por fim,
apresentamos o software
de Algoritmo de Criptografia Simétrica AES (Advanced Encryption Standard –
Padrão Avançado de
Criptografia).
Este número do
INFORMACOM, assim
como os demais, serão
disponibilizados no sítio
da EsCom na Internet
(www.escom.ensino.eb.br)
de forma trimestral. Esta é
a nossa Escola de
Comunicações: “Nova
Sede, Mesmas Tradições”.
Boa Leitura !!!
Acesse o INFORMACOM no sítio:
http://escom.ensino.eb.br
EXPEDIENTE:
Supervisão
Cel José Fernando Chagas Madeira
Coordenação
Maj Paulo Henrique Lima Brito
Elaboração
Cap Fernando da Silva Dutra
1º Sgt Ageu Luz de Souza
APOIO
ARMAZENAMENTO EM NUVEM
Principais serviços gratuitos de armazenamento
Muita gente já é adepta dos serviços de armazenamento na nuvem oferecidos
por algumas empresas. Atualmente é muito fácil e prático compartilhar e guardar
seus arquivos, fotos e vídeos em um disco virtual. Praticamente todos os serviços
na nuvem têm oferta gratuita. Com pacotes de, em média, 5 GB de memória, é
possível criar uma pasta online para guardar e acessar seus documentos onde
quer que esteja.
A mais recente plataforma a chegar no Brasil foi o Cloud Drive, da Amazon. O
serviço oferece 5 GB de espaço gratuito e, para quem precisar de mais espaço, o
Cloud Drive oferece 20 GB, por 10 dólares ao ano, ou até 1 TB, por 500 dólares.
Também disponível para todas as plataformas, mas com uma oferta um
pouco mais agressiva, o Google Drive oferece 15 GB grátis para seus usuários.
Pagando 2 dólares mensais (cerca de 5 reais), é possível aumentar a capacidade
de armazenamento para 100 GB. E, se precisar de muito espaço, o preço ainda é
interessante: 10 dólares (pouco mais de 20 reais), por 1 TB de memória.
Disponível desde 2007, o Dropbox ainda é um dos serviços de armazenamento na nuvem mais utilizados. Apesar da oferta gratuita ser de apenas 2 GB, é
possível aumentar essa capacidade a cada amigo que se convida para entrar na
rede; assim, é possível atingir 18 GB, sem gastar um centavo. O pacote de 100
GB sai por 10 dólares ao mês.
Também no ar desde 2007, o serviço de armazenamento virtual da Microsoft
mudou de nome recentemente: o antigo SkyDrive virou OneDrive. A oferta
gratuita é de 7 GB. Para aumentar esse espaço, é preciso pagar uma mensalidade. Mas, além do pacote grátis, é possível ganhar 3 GB, ao ativar a função de
backup de fotos, e mais 500 MB, para cada amigo que convidar – com limite para
dez amigos. Desta forma, é possível chegar aos 15 GB sem gastar nada. Caso
seja necessário mais espaço, os pacotes de 50, 100 e 200 GB custam, respectivamente, 12,19 e 56 reais, ao mês.
Um pouco diferente dos seus concorrentes, o iCloud é o serviço de armazenamento na nuvem da Apple. Apesar de ter menos recursos que os outros, a total
integração com os produtos da Apple é a principal característica. O iCloud
oferece 5 GB de espaço gratuito, além de uma integração com a App Store e a iTunes Store, em que o conteúdo
comprado por intermédio dessas lojas não ocupa parte desses 5 GB, uma vez que já está armazenado nos
servidores da empresa. Assim como outros produtos e serviços da Apple, o armazenamento também é um pouco
mais caro. Para se adquirir um HD virtual de 50 GB será preciso pagar mais de 200 reais ao ano.
Estes são os principais serviços de hospedagem de dados na nuvem; mas, claro, há outros serviços de
armazenamento alternativos. Animou-se? Já utiliza algum deles? Se ainda não escolheu, use essas dicas para
definir a melhor plataforma para seu perfil .
PLATAFORMA DE PROTOTIPAGEM ELETRÔNICA (ARDUINO)
Arduino é uma plataforma de prototipagem eletrônica criada para permitir o desenvolvimento de controle de
sistemas interativos, de baixo custo, acessível a todos. Além disso, todo material (software, bibliotecas e hardware)
é opensource, ou seja, pode ser reproduzido e usado por todos sem a necessidade de pagamento de direitos
autorais. Sua plataforma é composta, essencialmente, por duas partes: o hardware e o software. O hardware do
Arduino é muito simples, porém muito eficiente. Por exemplo, o hardware do modelo UNO é composto pelos blocos
apresentados na figura abaixo.
O núcleo de processamento de uma placa Arduino é um microcontrolador, isto é, um computador completo com
memória de trabalho (RAM), memória de programa (ROM), unidade de processamento de aritmética e dispositivos
de entrada e saída. Tudo isso em um só chip . E é esse chip que possui todos os hardwares necessários para se
obter dados externos, realizar processamentos e devolver informações para o ambiente externo.
acordo com um limite, que é geralmente 180 graus. Por ser pequeno e compacto, além de permitir um posicionamento preciso de seu eixo, o servomotor é largamente utilizado em robótica e modelismo. O IDE do Arduino já
possui uma biblioteca, “de fábrica”, para controle de servomotores.
A principal finalidade do emprego do Arduino é facilitar a prototipagem, implementação ou emulação do
controle de sistemas interativos, a nível doméstico e comercial. Com ele é possível enviar ou receber informações
de qualquer sistema eletrônico, para, por exemplo, identificar a aproximação de uma pessoa e variar a intensidade
da luz ambiente, conforme a sua chegada. Ou, ainda, abrir as janelas de um escritório, de acordo com a intensidade da luz do sol e a temperatura ambiente. Os campos de atuação para o controle de sistemas são imensos,
podendo acolher aplicações na área de impressão 3D,
robótica, engenharia de transportes, engenharia
agronômica e musical. Achou interessante? Que tal
iniciar o desenvolvimento de um protótipo?
ALGORITMO DE CRIPTOGRAFIA SIMÉTRICA AES
(Advanced Encryption Standard – Padrão Avançado de Criptografia)
Os desenvolvedores do Arduino optaram por usar a linha de microcontroladores da empresa ATMEL. A linha
utilizada é a ATMega. Existem placas Arduino oficiais com diversos modelos desta linha, porém os mais comuns
são as placas com os chips ATMega8, ATMega162 e ATMega328p. Esses modelos diferem, basicamente, na
quantidade de memória de programa (ROM) e na configuração dos módulos de entrada e saída disponíveis.
Quando tratamos de software na plataforma Arduino, podemos separar o ambiente de desenvolvimento
integrado do Arduino e o software desenvolvido para programar a placa. O ambiente de desenvolvimento do
Arduino é um compilador GCC (C e C++), que usa uma interface gráfica construída em Java. Basicamente,
constitui um programa IDE (Integrated Development Enviroment) muito simples de se utilizar e de estender com
bibliotecas, que podem ser facilmente encontradas. As funções do IDE do Arduino são basicamente duas: permitir
o desenvolvimento de um software e enviá-lo à placa para execução.
O Arduino possui o que chamamos de Shields, que são simples “plaquinhas” que se acoplam à placa original,
agregando diversas outras funcionalidades. Existem diversos Shields, com diversas funções. Alguns servem
como entrada, como saída e outros, como entrada e saída. Com eles conseguimos, por exemplo, fazer com que o
Arduino se comunique por meio de uma rede Ethernet, ou via USB, com um celular, com sistema operacional
Android.
Alguns Shields possuem circuitos integrados prontos para o controle de motores sem que seja necessário
preocupar-se com os acoplamentos eletrônicos envolvidos, como é o caso do Motor Shield, que possui uma ponte
H, que auxilia no controle de motores.
Há diversos Shields que atuam como sensores. O Shield Ultrassom emite um sinal na faixa de frequência de
30kHz. Este sinal se propaga pelo ar até encontrar um obstáculo.
Ao colidir com o obstáculo, uma parte do sinal é refletida e captada
pelo sensor. Portanto, um único sensor de Shild Ultrassom, possui
um receptor e um emissor.
O servomotor é um dispositivo eletromecânico que, a partir de
um sinal elétrico em sua entrada, pode ter seu eixo posicionado em
uma determinada posição angular. Ou seja, ele não foi concebido
para girar livremente, mas, para ir até uma posição escolhida, de
O padrão de criptografia mais utilizado atualmente nos Estados Unidos da América (EUA) nasceu de um
concurso lançado em 1997, pelo NIST (National Institute of Standards and Technology – Instituto Nacional
de Padrões e Tecnologia). Naquele momento havia a necessidade de se escolher um algoritmo mais seguro
e eficiente para substituir o DES (Data Encryption Standard – Padrão de Encriptação de Dados), tendo em
vista a descoberta de fragilidades e vulnerabilidades. Este novo algoritmo deveria apresentar alguns prérequisitos essenciais:
– ser divulgado publicamente;
– não possuir patentes;
– cifrar em blocos de 128 bits, usando chaves de
128, 192 e 256 bits;
– ser implementado tanto em software quanto em
hardware; e
– ser mais rápido em relação ao 3DES, (uma
variação recursiva do antigo padrão DES).
Em agosto de 1998, na Primeira Conferência dos
Candidatos ao AES, apresentaram-se 15 candidatos
e, cerca de um ano depois, em 1999, foram
selecionados 5 candidatos (MARS, RC6, Rijndael,
Serpent e Twofish). Após ampla análise da
comunidade criptográfica internacional, três anos e
meio após o início do concurso, o NIST escolheu o
vencedor: Rijndael. O nome é uma fusão de Vincent
Rijmen e Joan Daemen, os dois belgas criadores do algoritmo. Segundo o NIST, o padrão vencedor
combina as características de segurança, desempenho, facilidade de implementação e flexibilidade. O
Rijndael apresenta, ainda, alta resistência a ataques, como "power attack" e "timing attack", e exige pouca
memória, o que o torna adequado para operar em ambientes restritos como "smart cards", PDAs e telefones
celulares.
Vantagens
O algoritmo pode rodar bem rapidamente em relação a outros similares, podendo ser implementado em
um SmartCard usando pouco código e memória. Além disso, algumas funções podem ser feitas em
paralelo, tornando o processo mais rápido. A encriptação não emprega operações aritméticas, exigindo
menos processamento.
O projeto do algoritmo é bastante simples. Não baseia sua segurança, ou parte dela, em interações
obscuras, não permitindo, assim, espaço para esconder um trap-door.
Download