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.