criptografia: aprendizagem da criptografia no âmbito - Dev

Transcrição

criptografia: aprendizagem da criptografia no âmbito - Dev
UNIVERSIDADE NOVE DE JULHO
SIRALBERTO SOUZA LEITÃO DE ALMEIDA
BRUNO MICHEL DA CONCEIÇÃO OLIVEIRA
CRIPTOGRAFIA: APRENDIZAGEM DA CRIPTOGRAFIA NO
ÂMBITO EMPRESARIAL
SÃO PAULO – 2013
SIRALBERTO SOUZA LEITÃO DE ALMEIDA
BRUNO MICHEL DA CONCEIÇÃO OLIVEIRA
CRIPTOGRAFIA: APRENDIZAGEM DA CRIPTOGRAFIA NO
ÂMBITO EMPRESARIAL
Trabalho de conclusão de Curso apresentado
como exigência parcial, para a obtenção do
Grau de Bacharel em Ciência da Computação,
do Centro Universitário Nove de Julho –
UNINOVE
Orientador: Prof. Me. Luciano Gavinho
UNIVERSIDADE NOVE DE JULHO – UNINOVE
SÂO PAULO 2013
RESUMO
Para a maioria das informações corporativas que trocamos em nosso dia-a-dia de
trabalho, há a necessidade de um cuidado absolutamente especial com esse valioso
bem, as informações movimentam o cenário da empresa e fornecem diretrizes para
o crescimento do negócio. O computador e suas tecnologias são os principais
responsáveis por garantir o bom funcionamento do fluxo destas informações desde
uma simples troca de e-mail a uma transação bancária milionária, contudo um
computador desprotegido e sem segurança de acesso colocam em risco a razão da
existência do negócio, pois as informações ali contidas estarão expostas a qualquer
atacante mal intencionado. A necessidade da criptografia de dados torna-se
imprescindível a partir deste momento, em que um computador que guarda todo o
valor de mercado do negócio da empresa, pode estar sendo acessado por pessoas
e programas mal intencionados, uma vez que essas informações são uma fonte de
riquezas. Entre os principais alvos de ataques, estão as empresas de pequeno e
médio porte, que não dispõem de recursos necessários para um investimento maior
na segurança da informação ou que não adotam uma política sólida de segurança.
Este estudo é destinado a empresas que não utilizam criptografia e até mesmo para
aquelas empresas utilizam técnicas ultrapassadas e com maior vulnerabilidade.
Palavras-chave: Segurança da Informação. Algoritmos Criptográficos. Symantec.
Encriptação. Chaves Criptográficas. Chave Simétrica. Chave Assimétrica.
ABSTRACT
For most corporate information that we exchange in our daily work, there is a
necessity of an absolutely special care with this valuable asset, information move the
stage of the company and provide guidelines for business growth. The computer and
its technologies are primarily responsible for ensuring the proper functioning of the
flow of this information from a simple exchange of e-mail to a millionaire banking
transaction, however an unprotected computer without access security put at risk the
reason for the existence of the business because the information contained therein
will be exposed to any malicious attacker. The necessity for data encryption becomes
essential from now on where a computer that holds all the market value of the
company's business, can be accessed by intruders and malicious programs, since
such information is a source of wealth. The small and medium-sized companies are
among the main targets of attacks because they do not have enough resources for a
greater investment in information security or do not adopt a solid and strong political
security. This study is intended for companies that do not use encryption or even for
those companies that use outdated techniques and with greater vulnerability.
Keywords: Information Security. Cryptographic algorithms. Symantec. Encryption.
Cryptographic Keys. Symmetric Key. Asymmetric key.
LISTA DE ILUSTRAÇÔES
Figura 1 - Método de Cifragem Hebraico. ................................................................. 11
Fonte: http://imasters.com.br/artigo/6360/seguranca/criptografia-de-dados-parte-01origem-e-evolucao..................................................................................................... 11
Figura 2 - Cifra de César com deslocamento de três posições. ................................ 12
Figura 3 - Exemplo de troca de chaves assimétrica .................................................. 16
Fonte: http://tigger.uic.edu/depts/accc/newsletter/adn26/figure2.html ....................... 16
Figura 4 - Processo de funcionamento da TripleDES Fonte: Criptografia e
Segurança: O Guia Oficial RSA ................................................................................ 22
Figura 5 - Tempo de quebra das chaves por força bruta .......................................... 24
Figura 6 - Protocolo SSL e suas trocas de sessões cliente-Servidor Fonte:
Criptografia e Segurança de Redes: Princípios e práticas ........................................ 36
Figura 7 - Netbeans: Início da criação do projeto em JAVA ...................................... 43
Figura 8 - Tela inicial da Aplicação de Aprendizagem ............................................... 45
Figura 9 - Tela demonstrando a abertura de um arquivo para criptografar ............... 46
Figura 10 - Tela demonstrando o arquivo com o diretório ......................................... 46
Figura 11 - Tela demonstrando o arquivo que será salvo e para criptografar ........... 47
Figura 12 - Tela demonstrando diretórios para processo de criptografar .................. 47
Figura 13 - Tela demonstrando o processo realizado de criptografia ........................ 48
Figura 14 - Tela demonstrando a abertura de um arquivo para descriptografar ....... 49
Figura 15 - Tela demonstrando a abertura de um arquivo para descriptografar ....... 49
Figura 16 - Tela demonstrando o arquivo com o diretório em descriptografar .......... 50
Figura 17 - Tela demonstrando o arquivo que será salvo e para descriptografar ..... 51
Figura 18 - Tela demonstrando diretórios para processo de descriptografar ............ 51
Figura 19 - Tela demonstrando o processo realizado de descriptografia .................. 52
Figura 20 – Tela de digitação de dados em criptografia AES em texto ..................... 53
Figura 21 - Tela de criptografia AES em texto que foi digitado ................................ 53
LISTA DE TABELAS
Tabela 1 - Funcionamento do algoritmo de troca de chaves ..................................... 17
Tabela 2 - Exemplo de criptografia aplicada em JAVA ............................................. 20
Tabela 3 - A chave AES e suas combinações........................................................... 25
Tabela 4 - Comparação de ameaças na Web. .......................................................... 40
LISTA DE ABREVIATURAS E SIGLAS
ENIAC
Eletronic Numerical Integrator And Computer
IBM
International Business Machines
DES
Data/Digital Encryption Standard
MD5
Message-Digest algorithm 5
TDES
Triple Data/Digital Encryption Standard
AES
Advanced Encryption Standard
SHA
Security Hash Algorithm
IPSEC
Internet Protocol Security
SSL
Secure Socket Layer
TLS
Transport Layer Services
TCP/IP
Transmission Control Protocol / Internet Protocol
SEC
Security Electronic Transaction
SQL
Structured Query Language
API
Aplication Programming Interface
NSA
National Security Agency
NIST
National Institute of Standards and Technology
FIPS
Federal Information Processing Standards
CIDAL
Confidencialidade, Integridade, Disponibilidade, Autenticidade e
Legalidade
SUMÁRIO
1
INTRODUÇÂO ........................................................................................... 10
1.1
A ORIGEM DA CRIPTOGRAFIA ................................................................ 10
1.2
A CRIPTOGRAFIA MODERNA .................................................................. 13
1.3
A CRIPTOGRAFIA NA ERA DIGITAL ........................................................ 14
1.3.1
EXEMPLOS DE CHAVES SIMÉTRICAS E DEFINIÇÃO. .......................... 15
1.3.2
EXEMPLOS DE CHAVES ASSIMÉTRICAS............................................... 15
1.3.3
A TÉCNICA DO HASH ............................................................................... 17
1.3.4
COMO CRIAR UMA CRIPTOGRAFIA ?..................................................... 18
1.3.5
A IBM e a proposta da DES........................................................................ 20
1.3.6
O SECURITY HASH ALGORITM - SHA..................................................... 26
2
A SEGURANÇA NAS CORPORAÇÔES .................................................... 28
2.1
ESTUDO DE CASOS ................................................................................. 28
2.2
APRENDIZADOS EM SEGURANÇA DA INFORMAÇÂO .......................... 30
2.3
PRIMÓRDIOS DA SEGURANÇA DA INFORMAÇÂO ................................ 31
2.4
O C.I.D.A.L., PILARES IMPORTANTES DA SEGURANÇA ....................... 31
2.5
SISTEMAS INSEGUROS ........................................................................... 32
2.6
CRIPTOGRAFIA E SEGURANÇA PARA A WEB ...................................... 33
2.6.1
PRINCIPAIS TÉCNICAS DE SEGURANÇA PARA A WEB ....................... 34
2.6.2
TÉCNICAS RECOMENDADAS DE SEGURANÇA PARA WEB ................ 36
3
ATAQUES A SEGURANÇA E A ENGENHARIA SOCIAL .......................... 37
3.1
ATAQUES DIRETOS ................................................................................. 38
3.2
ATAQUES INDIRETOS .............................................................................. 38
3.3
SOLUÇÔES E HIPÓTESES ....................................................................... 41
4
DESENVOLVIMENTO DA APLICAÇÃO DE APRENDIZAGEM ................. 42
4.1
APLICANDO A FERRAMENTA NETBEANS IDE - LINGUAGEM JAVA .... 42
4.2
FLEXIPROVIDER – ARQUITETURA DA CRIPTOGRAFIA JAVA.............. 44
4.3
DESCRIÇÕES DA APLICAÇÃO DESENVOLVIDA .................................... 44
5
CONCLUSÂO ............................................................................................. 54
REFERÊNCIAS BIBLIOGRÀFICAS .......................................................................... 55
FOLHA DE APROVAÇÃO DO TCC .......................................................................... 59
10
1 INTRODUÇÂO
Na medida em que novas mentes e personalidades surgem em nosso meio para
contribuir com grandes inovações,
ideias, pesquisas e estudos, crescem
significativamente a necessidade de proteção dos mesmos, seja um produto ou
serviço. As empresas objetivam exatamente isso, entretanto, visando o lucro ou a
recompensa do sucesso de tal projeto, criando se assim uma grande base de dados
não só no fim de um projeto, mas também em todo o seu planejamento e execução
que, nos dias atuais, são tratados de forma diferenciada por guardarem informações
tão valiosas.
Com os grandes avanços na tecnologia da informação, conseguimos inserir em um
sistema computacional aquilo que antes só havia no nosso meio físico: a proteção
das informações. Sabemos que há uma grande intenção em interceptar esses
dados, surgindo assim uma necessidade indispensável de aprimoramento da
segurança em nossos sistemas de informação desde os mais simples até os mais
complexos. As informações trocadas em todo o âmbito empresarial precisam ser
protegidas uma vez que estamos nos referindo a informações que podem conter um
valor inestimável para a corporação ou negócio e desta forma devem ser mantidos
em total sigilo pelo custodiante desta informação. Com o intuito de ajudar esses
profissionais da segurança da informação, demonstraremos neste trabalho de
pesquisa uma aplicação computacional que encripta e decifra o arquivo que contém
a informação desejada através de algoritmos criptográficos preparando o mesmo
para envio seguro seja através de correio eletrônico e Cloud Computing ou
dispositivo de armazenamento.
1.1
A origem da criptografia
Surge como a arte ou a ciência de esconder, ocultar ou com o intuito de proteger a
informação por escrito, a criptografia (do Grego: kriptos (oculto) e grapho (escrita) é
11
um método de troca de mensagens onde somente o destinatário conhece a forma de
decifrá-las e posteriormente efetuar a leitura do seu conteúdo, ou seja, mesmo que a
mensagem seja interceptada em algum lugar no caminho até o destinatário, o
atacante não será capaz de compreendê-la. Quando o destinatário conhece a forma
de decifrar e processar o seu conteúdo então dizemos que o mesmo possui a “chave
criptográfica”, desta forma somente as pessoas envolvidas na troca das informações
são capazes de conhecer o conteúdo “escondido” através de vários métodos de
cifragem.
Há 2000 anos a. C. os egípcios criaram os primeiros conceitos de criptografia em
seus hieróglifos para transmitirem mensagens onde somente faraós dotados de
conhecimentos daqueles símbolos conseguiam compreende-los. Alguns anos mais
tarde os antigos Hebraicos criaram um tipo de criptografia utilizando duas
sequencias de alfabetos, a sequencia de cima fica como conhecemos (de A à Z)
mas a de baixo fica disposta de forma invertida (de Z à A) e então a mensagem fica
encriptada de acordo com sua letra correspondente do alfabeto de A à Z acima, Veja
a figura abaixo :
Figura 1 - Método de Cifragem Hebraico.
Fonte: http://imasters.com.br/artigo/6360/seguranca/criptografia-de-dados-parte-01-origem-e-evolucao
Por exemplo, se quisermos encriptar a palavra “criptografia” utilizando o método
Hebraico, ficaria desta forma: “XIRKGLTIZURZ”. Este método de cifragem ficou
conhecido como “Atbash” e baseia-se numa forma de substituição simples de
caracteres, porém nos dias atuais é absolutamente inseguro e considerado um
método de segurança baixíssimo se aplicar nas nossas atividades, uma vez que é
perfeitamente reversível, pois se utilizarmos o mesmo método no texto cifrado podese obter o texto original. Foi importante apenas nos tempos antigos da civilização
onde as pessoas desconheciam completamente tais técnicas para esconder textos.
12
Também próximo àquela época, outro método de cifra marcante na história foi o
método criado por Julio César, um antigo líder Romano que usava uma técnica
específica e desconhecida até então pelas civilizações de sua época, trata-se de um
método similar ao Hebraico, contudo há uma pequena diferença na maneira em que
eram cifrados os textos na sequência alfabética, deslocando para a direita ou para a
esquerda três posições sobre o alfabeto original que foi implementado, inclusive em
objetos em que era possível manipular as posições dos caracteres em uma espécie
de “roleta” na qual poderia girá-las e deslocar quantas posições forem necessárias
para combinar os caracteres com o seu significado na forma codificada, conforme
mostrado na figura abaixo:
Figura 2 - Cifra de César com deslocamento de três posições.
Fonte: http://www.jornallivre.com.br/13847/o-que-e-a-cifra-de-cesar-ou-cifra-de-troca.html
O surgimento da criptografia nos tempos antigos certamente foi um marco no início
da segurança da informação, sinal de que desde o início de nossa história tivemos
uma grande preocupação em proteger nossas informações, as primeiras noções de
técnicas para proteção dos dados embora muito simples era na verdade uma grande
novidade para a sociedade da época pois não tinham noção de cifragem
e
decifragem, desta forma a criptografia era extremamente eficiente para aqueles que
dominavam essa importante técnica usada como base até os dias atuais.
É necessário distinguir criptografia, criptoanálise e criptologia. Criptografia é um
ramo da criptologia preocupada em lidar com uma projeção de um sistema para
encriptação e decriptação segura com o objetivo de assegurar confidencialidade,
13
integridade e autenticidade da mensagem. Criptoanálise é o ramo da criptologia em
lidar com a tentativa de explorar as vulnerabilidades de um algoritmo criptográfico de
um sistema de criptografia para recuperar a mensagem original. Criptografia é o
estudo de técnicas para assegurar o sigilo e/ou autenticidade da informação.
1.2
A criptografia moderna
Avançando alguns anos na história, a criptografia, acompanhando a evolução
humana, continuava a ter sua importância na sociedade, todavia mais focada na
troca de informações secretas em meio a guerra e conflitos étnicos para impedir que
as informações não fossem interceptadas pelo inimigo, utilização muito semelhante
ainda à dos tempos antigos de Julio César.
No século XX foi criada pela marinha alemã uma máquina que era capaz de criar
diferentes combinações e chaves criptográficas ao pressionar alguns botões
funcionando de forma semiautomática, a máquina “Enigma" como ficou conhecida
foi inventada por Arthur Scherbius e era considerada uma inovação tecnológica por
apresentar o conceito de automação e eficiência devido a necessidade de um
estudo muito aprofundado para conhecer seu funcionamento uma vez que devido
as inúmeras possibilidades de combinações era praticamente impossível decifrar
suas mensagens ou tentar todas as possibilidades, que na segurança da
informação, é conhecido como força bruta. Algum tempo após o sucesso da Enigma
frente a Marinha alemã, seu uso estendeu-se também para o exército alemão.
Contudo, com o auxílio de uma máquina em especial, seu funcionamento foi
desvendado após ter sido roubada um exemplar da máquina por terceiros, logo após
algum tempo estudando essa máquina descobriu-se que a enigma era na verdade
um sistema de criptografia recíproca por ser facilmente reinicializada, uma vez que
para decifrar a mensagem, era apenas necessário digitar o texto cifrado no teclado e
o texto puro era mostrado no visor. Posteriormente a invenção da Enigma, outras
máquinas baseadas em seu funcionamento foram inventadas, porém com
mecanismo mais aprimorado e uma segurança maior.
14
1.3
A criptografia na era digital
A invenção do primeiro computador, o “ENIAC” (Eletrical Numerical Integrator and
Calculator) impulsionou a criação de computadores de alta performance uma vez
que sentia-se cada vez mais a necessidade de otimizar as tarefas devido ao
crescimento pós segunda guerra em que era imprescindível o avanço tecnológico,
principalmente no que diz respeito a computadores.
Com o desenvolvimento tecnológico dos computadores, cresceu proporcionalmente
o uso da criptografia, deixava-se para trás as máquinas constituídas de rotores e
funções manuais para entrar no mundo computacional, muito atrativo por
proporcionar uma cifragem muito mais complexa se comparado àquelas existentes
até então. O surgimento dos circuitos integrados impulsionado pelo crescimento
considerável da exploração das capacidades do silício proporcionou o maior avanço
na historia da computação, proporcionando a criação de chips cada vez menores,
como o desenvolvimento do microprocessador que elevou a capacidade de cálculo e
desempenho geral dos computadores. Nesta nova era de possibilidades de
segurança, os computadores permitiram a encriptação de praticamente qualquer tipo
de informação, representável no formato binário, ao contrário da criptografia clássica
que era encriptada somente por meio de textos escritos e a mecânica com a
utilização de máquinas específicas. O uso do computador dominou a linguística da
criptografia, tanto para o desenvolvimento de cifras cada vez mais seguras quanto
para a criptoanálise (análise de algoritmos criptográficos com a finalidade de tentar
encontrar uma solução para a decifragem da informação), diversas cifras de
computador podem ser caracterizadas pelo seu funcionamento com base em sua
sequencia binária, contudo a cifragem moderna ficou à frente da criptoanálise
mostrando que o uso de uma cifra de qualidade faz com que seja muito mais
eficiente e difícil de ser decifrada sendo necessário em alguns casos um hardware
bem mais robusto com um processamento acima da média para que a cifra em
questão revele a informação após uma sequencia muito grande de tentativas,
conhecida como força bruta. O principal objetivo é levar o atacante a desistir da
criptoanálise, fazendo com que a mesma se torne impraticável e ineficiente. Estando
15
ciente do desenvolvimento da criptografia e dos algoritmos criptográficos os
designers de sistema devem considerar os melhores métodos existentes para prover
a maior segurança possível ao seu negócio, deve-se levar em consideração, o
desenvolvimento do poder de processamento que está em contínua evolução, sendo
necessária uma previsão consequente dos ataques de força bruta para poder
encontrar a melhor forma de encriptação dos dados uma vez que a tecnologia e a
capacidade de processamento também beneficia a criação de algoritmos e chaves
de encriptação muito mais eficientes.
A troca de chaves é extremamente importante para uma comunicação segura entre
duas partes, os métodos computacionais para encriptação podem ter duas
características simples: o método simétrico e o assimétrico em que se usam trocas
de chaves diferentes.
1.3.1 EXEMPLOS DE CHAVES SIMÉTRICAS E DEFINIÇÃO.
A chave simétrica é uma das técnicas na qual utilizam se somente uma chave, ou
seja, a chave que cifra é a mesma que decifra a informação, obtendo contrastes,
pois pela utilização de uma chave para as duas funções, o processamento se torna
mais rápido e eficiente, todavia, se um intruso descobrir esta chave particular, obtém
uma brecha para uma possível invasão e consequentemente uma falta de
confidencialidade e integridade de dados, sendo acessível para
qualquer
manipulação indevida. Com a análise dessa vulnerabilidade, foi criado a 3DES
conhecido também como triple DES, que detalharemos mais a seguir. O uso da
3DES permitiu criar duas ou três chaves simétricas sucessíveis, ou seja, para
acessar a informação é preciso decifrar uma chave, em seguida, a segunda e até
mesmo uma terceira se houver, para então obter acesso à informação original.
1.3.2 EXEMPLOS DE CHAVES ASSIMÉTRICAS.
A chave assimétrica é uma das técnicas utilizada sobre um relacionamento de duas
chaves, sendo que uma cifra (chave pública) e a outra decripta (chave privada), mais
usada pela dificuldade de acesso da chave privada, onde descobrindo o valor da
16
chave pública, não cede a decifragem da informação original. Geralmente o método
de encriptação assimétrico é mais seguro justamente pela utilização de um par de
chaves.
Figura 3 - Exemplo de troca de chaves assimétrica
Fonte: http://tigger.uic.edu/depts/accc/newsletter/adn26/figure2.html
De acordo com a figura acima, podemos observar que para a comunicação entre
membros da comunidade, todos devem ter seus pares de chaves, onde para obter a
leitura de mensagem, o usuário A entrega sua chave pública para usuário B ou viceversa, possibilitando o envio de mensagens, assim, podemos analisar cada envio de
encriptação da mensagem pública do usuário, que, poderá ser acessado pela chave
privada do usuário.
Matematicamente falando, são usadas nas expressões, a aritmética modular e
números primos, como no exemplo abaixo:
17
ENTIDADE A
ENTIDADE B
ENTIDADE A escolhe um número A
(por exemplo, 3).
ENTIDADE B escolhe um número B
(por exemplo, 6).
ENTIDADE A coloca o número escolhido
numa
Função de caminho único
(neste caso, 7A (mod11)): 73 = 343(mod
11) = 2.
ENTIDADE B coloca o número escolhido
numa
Função de caminho único
(neste caso, 76 = 117649(mod 11) = 4.
A ENTIDADE A calcula JÁ=64(mod 11) = A ENTIDADE B calcula HB = 26 = 64 (mod
9
11) = 9.
9
9
Tabela 1 - Funcionamento do algoritmo de troca de chaves
Como citado sobre as entidades no cálculo, obtemos um número primo como
identificador de potência sobre uma base número de um mesmo número primo,
como resultado aplica-se o “mod”, onde obtemos o resto da divisão, aplicando na
Entidade A e B, no final conclui-se que cada entidade tem sua chave pública,
posteriormente, para acesso, utiliza-se a chave privada com algoritmo de conversão
da fórmula de expressão modular e números primos.
1.3.3 A técnica do Hash
Uma função hash registra um grupo caracteres, que funcionarão como uma chave, e
os mapeia para um valor com um determinado tamanho, sendo chamado de “valor
de hash”. Esse valor representa a sequencia original dos caracteres, contudo
normalmente é menor do que o original. O hash foi desenvolvido para indexar e
localizar itens em bancos de dados porque é mais fácil encontrar o valor de hash
mais curto do que a sequencia original. A partir do algoritmo conhecido como MD5,
torna-se útil a utilização do Hash para a encriptação de mensagens e principalmente
de senhas uma vez que os sistemas computacionais e de acesso não armazenam o
texto original e sim aquele gerado pela função hash, para isso o sistema faz uma
verificação básica, transforma a senha em um hash único que é determinado pela
18
senha que foi digitada, e compara com aquele hash que está armazenado no banco
de dados, caso o hash seja igual, o acesso a um programa ou sistema é liberado,
caso contrário o sistema irá informar ao usuário que a senha digitada é invalida.
Podemos perceber que neste método não há uma comparação direta da senha
pessoal do usuário e sim do hash único correspondente à senha cadastrada pelo
usuário, sendo assim não é possível visualizar diretamente a senha num banco de
dados, somente seu hash que está codificado pelo algoritmo MD5, para tanto seria
necessário o conhecimento do algoritmo para descobrir a senha equivalente.
1.3.4 Como criar uma criptografia?
Existem varias técnicas de se criar uma criptografia, cada uma com suas
características e diferenças como, por exemplo: a criptografia de chave única, MD5
e criptografia de chave pública e chave privada. A criptografia de chave única utiliza
a mesma chave tanto para codificar quanto para decodificar mensagens. Apesar de
este método ser bastante eficiente em relação ao tempo de processamento, ou seja,
o tempo gasto para codificar e decodificar mensagens tem como principal
desvantagem a necessidade de utilização de um meio seguro para que a chave
possa ser compartilhada entre pessoas ou entidades que desejem trocar
informações criptografadas.
A MD5 é uma técnica de criptografia unidirecional, um hash MD5 não pode ser
transformado novamente no texto que lhe deu origem, normalmente essa
criptografia é utilizada para guardar senhas. Para efetuar a comparação entre as
senhas é efetuada uma comparação entre o novo hash MD5 da senha informada
com o Hash MD5 salvo. A criptografia de chave publica utiliza duas chaves distintas,
uma para codificar e outra para decodificar a mensagem. A chave publica pode ser
divulgada livremente e a privada é mantida em segredo com seu proprietário.
Segundo Burnett (2002), existe algum passo básico a ser seguido quando se quer
encriptar alguma informação:
19

Utilizar um padrão de algoritmo criptográfico (descritos mais adiante), e
também um gerador de números aleatórios. O seu algoritmo desenvolvido
deve estar otimizado para que não seja alvo fácil para métodos de força
bruta, usando uma chave de tamanho grandes ou suficiente para suportar
esses ataques, recomenda-se utilizar criptografia em bloco (3DES, por
exemplo) se utilizar uma mesma chave mais de uma vez no processo. Caso
seu algoritmo tenha que ser utilizado em vários sistemas diferentes, escolha o
método AES, que garante maior eficiência quando portado. Se precisar de um
algoritmo que tenha mais desempenho (rapidez) prefira cifragem de fluxo.

O gerador de números aleatórios deve ser utilizado aqui, e gerado de
diferentes formas por segurança, devendo ser também eficiente contra força
bruta.

Escolha o tamanho da sua chave, lembrando que normalmente o tamanho da
chave de no mínimo 128 bits é recomendável e mais utilizado, gere essa
chave no algoritmo gerador de aleatórios.

Utilizar o algoritmo simétrico escolhido que funcione com a sua chave para
que a informação seja encriptada.

Armazene sua chave de forma segura.
Para recuperar os dados basta utilizar sua chave e aplique o algoritmo simétrico,
desta forma seu texto será decriptado.
Exemplo de criptografia em JAVA:
Algoritmo
Função
String alfabeto
“=<abcdefghijklmnopqrstuvwxyzçéáíúóãõ
ABCDEFGHIJKLMNOPQRSTUVWXYZÇÁÉÓÍÚÃ
Õ1234567890.;:?,º]}§[{ª!@#$%&*()_+-=\\/|\'\">";
char[] t = texto.toCharArray();
Declarando variáveis
20
String palavra="";
Criando um método de
Criptografia
for (int i = 0; i < t.length; i++) { int posicao =
alfabeto.indexOf(t[i]) + 5; if (alfabeto.length() <= posicao)
{ posicao = posicao - alfabeto.length(); }
palavra = palavra + alfabeto.charAt(posicao);
}
Retorna um texto cifrado
return palavra;
}
Tabela 2 - Exemplo de criptografia aplicada em JAVA
1.3.5 A IBM e a proposta da DES
Durante a década de 70, iniciavam-se as primeiras pesquisas no que diz respeito a
métodos de cifragem de dados, segundo Burnett (2002) o surgimento da DES
(Digital Encryption Standard) proporcionou uma cifragem muito mais complexa e
eficiente para aquela época uma vez que considerava se que a mesma não tinha
nenhuma vulnerabilidade.
A DES provocou uma grande aceitação pelos profissionais responsáveis pela
segurança da informação uma vez que os métodos através do uso de máquinas
específicas para criptografar dados se tornavam cada vez mais ultrapassados, tendo
em vista que,
“O advento dos computadores tornou possível descartar as antigas regras
sobre a criptografia e criar um novo paradigma. Pesquisadores na IBM
decidiram desenvolver um novo algoritmo para a era dos computadores e
criaram um esquema chamado de Lucifer, um algoritmo inventado pelo
criptógrafo Horst Feistel. Eles também tiveram a ajuda da National Security
Agency (NSA), a agência responsável por proteger os dados secretos do
governo dos Estados Unidos, um dever que incluía a criptografia. O fruto
desse trabalho em grupo foi o DES. (BURNETT; PAINE, 2002, p. 39)”
21
Desde então, a criptografia se tornou uma ferramenta amplamente usada em
comunicações, redes de computadores, e para a segurança geral, sendo o DES
adotado como um padrão a se seguir. Homologada pela FIPS (Federal Information
Processing Standards), a DES é uma cifra em blocos que se aplica em uma
sequência simples de texto e cria um texto cifrado de mesmo comprimento, usando
o método simétrico, ou seja, a mesma chave que encripta a informação é a que
decifra. O tamanho do bloco e também a chave usados são de 64 bits, contudo 8
bits da chave são usados por paridade (para detectar erros), por isso efetivamente o
tamanho da chave na DES é de 56 bits. Uma chave deste tamanho nos dias de hoje
é considerada fraca devido ao incessante avanço no poder de processamento
computacional. Com um hardware apropriado: por exemplo, um ataque de força
bruta pode sistematicamente tentar todas as 256 chaves eficientemente, que
possuem 72 quadrilhões de diferentes chaves possíveis. Um exemplo de hardware
que conseguiu essa façanha a um tempo atrás foi Cost-Optimized parallel Code
Breaker, conhecido como “Copacabana” foi construído por universitários alemães
que investiram um alto valor nessa máquina, que pode quebrar uma chave DES de
56 bits em uma média de nove dias. O termo Data Encryption Algoritm (DEA) é
usado algumas vezes fazendo referência ao DES (algoritmo atual), neste contexto,
TDEA é um acrônimo usado para a Triple DES. Segundo Burnett (2002) a DES
precisava de melhorias uma vez que aproximava cada vez mais a possibilidade de
quebra de suas chaves e algoritmos pois os pesquisadores descobriram suas
vulnerabilidades e já almejavam uma possível decifragem ou quebra gerando uma
desconfiança e incômodo em torno da técnica da IBM.
A necessidade gerou melhoria, em conformidade e aprovado pela FIPS, a 3DES
também conhecida como TripleDES ou TDES, teve seu algoritmo de encriptação
homologado e com uso seguro previsto até o ano de 2030, quando será substituído
pela nova AES. A TDES usa, como o próprio nome sugere, três chaves
criptográficas em sequência, realizando três vezes o algoritmo DES tendo as três
chaves um tamanho de 56 bits cada uma totalizando 168 bits fazendo com que
ataques de força bruta contra a TDES não se tornem tão práticos, todavia prolongam
a tentativa do atacante. Esta implementação da FIPS, a TDES, usa três ciclos de
aplicação: “encriptação – decriptação – encriptação (novamente)”. Pode parecer
confuso já que no segundo ciclo não há exatamente uma decriptação uma vez que é
22
decifrado com uma chave diferente, que, simplesmente embaralha ainda mais o
texto já cifrado anteriormente (BURNETT; PAINE, 2002, p.73).
Figura 4 - Processo de funcionamento da TripleDES
Fonte: Criptografia e Segurança: O Guia Oficial RSA
Com esse método não há possibilidade de descobrir as chaves de forma sequencial
pois enquanto não obtiver o resultado correto da primeira chave não será possível
descobrir a segunda nem mesmo a última. Segundo Burnett (2002), supondo que as
três chaves são chamadas de A, B e C e cada possível valor da chave é numerado
de 0 a 72 quatrilhões e que a combinação correta das chaves seja A = 1, B = 33.717
e C = 1.419.222. Um invasor ou hacker poderia tentar um valor de 0 para as chave
A, B e C. Isso não levaria à resposta cabível para a decriptação total, então ele tenta
23
A = 1, B = 0 e C = 0 e assim sucessivamente. De acordo com essa ideia, levaria
muito tempo para tentar todas as combinações de A, B e C até encontrar o resultado
correto. Mesmo a primeira chave sendo correto, o valor completo das chaves B e C
não está correta, não gerando desta forma o texto puro. Apesar da eficiência, a
3DES apresenta alguns problemas como o tempo de execução, sendo lenta no
processo de encriptação e decriptação dos dados, de forma lógica, é três vezes
mais lenta que a DES original. Outro problema é que criptógrafos conseguiram
simplificar o algoritmo original que usa chaves de 168 bits (56x3), fazendo com que
na prática computacional seja equivalente a 108 bits para um ataque de força bruta.
Em geral, esses problemas resultaram mais uma vez na necessidade de troca do
algoritmo, apesar dele ainda ser seguro utilizado nos dias de hoje em algumas
aplicações. Com intuito de substituir com maior segurança o padrão DES, o NIST
(National Institute of Standards and Technology) organização governamental dos
Estados Unidos responsável por padronizar métodos para a tecnologia, convocou a
qualquer pessoa ou organização que criassem um novo algoritmo de criptografia
que fosse suficientemente seguro para os dias atuais, podendo substituir os
algoritmos da DES. Nomeado como AES (Advanced Encryption Standard), os
desenvolvedores não deveriam ter direitos de propriedades sobre o algoritmo ou
quaisquer técnicas utilizadas para poder participar da seleção do melhor método de
cifragem no NIST, resultando em comum acordo entre o instituto e os
desenvolvedores (BURNETT, 2002, p. 43). Muitos requisitos para o novo algoritmo
foram exigidos, tais como segurança, desempenho (não deveria causar lentidão no
sistema sendo utilizado) e em relação a memória, a mesma deveria ser otimizada e
ocupar pouco espaço. O algoritmo escolhido para o novo padrão foi nomeado como
Rijndael, e foi desenvolvido pelos Belgas Vincent Rijmen e Joan Daemen que
propuseram o melhor algoritmo segundo o NIST. A AES possui código aberto e
qualquer indivíduo ou organização pode utilizar modificar e melhorar o algoritmo de
acordo com suas preferências, tornando-se amplamente utilizada após sua invenção
em 1999 pelos pesquisadores belgas já citados, desta forma segundo Burnett
(2002), é muito provável que a AES seja usada pela maioria dos desenvolvedores
que utilizam e desenvolvem criptografia, tornando-se padrão em todo o mundo.
Embora os termos e AES Rijndael sejam usados alternadamente, existem algumas
diferenças entre os dois. AES tem um tamanho de bloco fixo de 128 bits e um
tamanho de chave de 128, 192 ou 256 bits, enquanto o Rijndael pode ser
24
especificado com os tamanhos de chave e bloco em um múltiplo de 32 bits, com um
mínimo de 128 bits e um máximo de 256 bits, levando os sistemas a terem que
trabalhar durante muito tempo para tentar todas as chaves possíveis no caso de
ataques de força bruta. Veja uma comparação na figura abaixo:
Figura 5 - Tempo de quebra das chaves por força bruta
A AES possui algumas vantagens como:

A Advanced Encryption Standard não só garante a segurança, mas também
melhora o desempenho em uma variedade de configurações, tais como
cartões inteligentes, implementações de hardware, etc.

A AES é reconhecida como uma norma federal no processamento de
informações e não há atualmente nenhum ataque direto de força bruta que
não seja conhecido contra a AES.

A AES é forte o suficiente para ser certificada para uso do governo dos EUA
(e outros países) para informações secretas.
As cifras que são usadas alternativamente, a Advanced Encryption Standard são
SSL e TLS. Criptografia RC4 possui um funcionamento semelhante à AES. RC4 é
de 128 - os bits RC4 é uma cifra de alto desempenho, contudo está sempre sujeita a
vários tipos de ataques. Essa é a razão de criptografia sem fio WEP ser ineficiente.
Assim AES é usada de forma prioritária com relação a outras normas. Possui um
25
número de combinações muito grande, sendo inviável, na maioria dos casos,
ataques de força bruta:
Tamanho da chave
Possíveis combinações
1-bit
2
2-bit
4
4-bit
16
8-bit
256
16-bit
65536
32-bit
4.2*109
56-bit (DES)
7.2*1016
64-bit
1.8*1019
128-bit (AES)
3.4*1038
192-bit (AES)
6.2*1057
256-bit (AES)
1.1*1077
Tabela 3 - A chave AES e suas combinações
26
1.3.6 O Security Hash Algoritm - SHA
As funções de SHA são provenientes de cinco técnicas criptográficas desenvolvidas
pela NSA. Se tornou desde então um padrão de processamento e encriptação de
dados publicado inicialmente nos Estados Unidos e depois utilizado por várias
organizações e pessoas no mundo. Algoritmos de hash são capazes de calcular a
representação de um comprimento fixo, mais comumente conhecido como um
resumo da mensagem, de qualquer tamanho. Os cinco algoritmos incluem: SHA-1,
SHA-224, SHA-256, SHA-384 e SHA-512. Os últimos quatro, são variações muitas
vezes referidas coletivamente como SHA-2. SHA-1 cria um resumo de mensagem
de 160 bits, o comprimento de bits criado pelos outros quatro algoritmos é indicado
pelos seus nomes - 224, 256, 384, e 512. A SHA-1 é amplamente utilizado em
muitos programas de segurança e protocolos como SSL, TLS, SSH, PGP, S / MIME
e IPsec. Há muitas funções de hash diferentes, um exemplo é a SHA-1:
Utilizando
a
SHA-1,
a
palavra
'teste'
=
“a94a8fe5ccb19ba61c4c0873d391e987982fbbd3” certamente só a palavra 'teste' irá
resultar em a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 como valor de output
(saída). Além disso, cada vez que qualquer pessoa em qualquer lugar executar a
palavra
"teste"
através
da
função
SHA-1
terá
sempre
o
resultado:
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3, ou seja, o mesmo. Desta forma, se
fornecermos este hash ‘a94a8fe5ccb19ba61c4c0873d391e987982fbbd3' e dizer-lhe
que veio do SHA-1, você provavelmente não conhecerá nenhuma forma de
descobrir o que foi colocado na função para criar isso. Quase todas as senhas do
computador são armazenadas desta forma. Quando você cria uma senha no
computador e a executa através de uma função de hash, armazena apenas o
resultado. Como a função é "sentido único", mesmo se alguém tivesse acesso ao
arquivo que armazena essa saída, não seria capaz de descobrir sua senha. Quando
o computador solicita que você digite sua senha de login, ele irá buscar o hash que o
corresponde uma vez que a função sempre gera a mesma coisa para o mesmo
input, ele simplesmente verifica para certificar-se que a saída do que você acabou
de entrar corresponde a saída que tem armazenado. Justamente porque as senhas
devem ser redefinidas. O computador não armazena sua senha em texto simples e
27
sim apenas uma impressão digital do mesmo, não há nenhuma maneira de
conhecer sua senha.
Exemplo de aplicação HASH em JAVA:
package cifras;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256 {
public static String getHash(String password) throws NoSuchAlgorithmException,
UnsupportedEncodingException
{
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] input = digest.digest(password.getBytes());
return Base64.encode(input);
}
28
2 A Segurança nas corporações
Foi relatado em um artigo do site Pplware sobre a a quebra da chave que deu a
possibilidade de se inicializar a utilização da assinatura digital e inovação de chave
pública com o sistema Plataforma Linux Sparc, onde foi descoberta uma falha grave
na execução no final conseguiram atacar a biblioteca Openssl e realizado extração
de bits da chave privada, a quebra é gerada em 100 horas. Visando a necessidade
da segurança, a ICP-Brasil orientou as empresas que cedem produtos com essas
tecnologias, realizar até 31 de Dezembro de 2013, a troca da chave criptográfica de
1024 bits e que comece a utilizar no mínimo a chave de 2048 bits.
O problema maior é que não só certificados digitais obtêm esse tamanho de chave
como outros sistemas de segurança, como aplicações que usam autenticação, como
os sistemas operacionais da Microsoft, onde a mesma, no dia 14 de agosto de 2012,
lançou atualização para bloquear as chaves abaixo de 1024 bits como sinal de
alerta.
Se tratando de segurança, vimos que a confidencialidade foi e a integridade da
informação que o certificado digital obtinha, se perderam por uma descoberta de
vulnerabilidade, tendo que usar outro tipo de tecnologia para suprir a falha e as
empresas que aplicam técnicas de segurança, indicado que mais que a metade das
empresas brasileiras, investia pouco na segurança da informação Gerando um
resultado gigantesco de prejuízos, como empresas que serão citadas no capítulo a
seguir, já na atualidade, como os acontecidos estão mostrando de forma global, uma
grande porcentagem está aderindo ou mesmo se atualizando.
2.1
Estudo de casos
Na notícia do dia 15/11/2012, a empresa Adobe cita sobre uma investigação, a
respeito de uma coleta de 230 nomes, endereços de e-mails e senhas criptográficas
29
aplicadas uma técnica de criptografia muito praticada, a chamada MD5, mas por ser
boa, não podemos dizer também que ela é perfeita para a segurança, pois ela é
facilmente quebrada como outros tipos de criptografias, que por aplicativos criados
com intuito de quebrar códigos, se obtêm o almejado. Como dica de criação de
senhas e possibilidades de não ter perca de dados futuros, como prevenção, sempre
é bom criar senhas com caractere especial, letras maiúsculas e/ou números, sendo
assim, o tempo de quebra levará mais tempo.
Dia 26/04/2012 às 18h14, mais uma empresa foi vítima de uma falha de segurança
(Nissan), onde admitiram que houve roubo de dados em sua rede de computadores
e identificado dia 13/04/2012, a empresa japonesa de carros, cita que houve invasão
e manifestação de um vírus que transmitiu informações de funcionários como senha
de identificação, após detecção dessa invasão, tomou medidas de segurança, para
que não houvesse manipulação pelos dados de autenticação adquiridos ilegalmente,
outra empresa que utilizava funções hash, mas não citada qual técnica dessa
função.Com base a esses dois exemplos acontecidos recentemente, a importância
da evolução da criptografia no Brasil e no mundo fica muito em evidência, empresas
buscando técnicas e reforços para melhoria na segurança da informação. Os
Hackers, de acordo com os fatos, preferem invadir microempresas que possuem
uma estrutura de segurança menor, ocasionando a falência, com fraudes, multas
adquiridas, roubo de informações confidenciais, entre outras ações prejudiciais.
Só em 2011, o Brasil recebeu um número estimado de 1,8 bilhões de reais,
analisado em uma noticia dia 12/03/2012 no site www.invasão.com.br, que cita o
Brasil, despreparado para utilizar uma ferramenta inovadora chamada Cloud
Computing (Computação em nuvem), onde nesse sistema, se permite acessar os
dados de servidores em qualquer lugar, com essa noticia ruim, piora com a
informação que o Brasil está entre os últimos para essa adoção, uma explicação
mais convincente, é analisando que o Brasil não possui leis que garantem
privacidade da transferência de informações nesse sistema e somente possui
legislação contra invasão aderida recentemente.
30
2.2
Aprendizados em Segurança da Informação
Em primeira vista, os usuários pensam que a Segurança da Informação (SI) garante
totalmente, ou seja, estamos garantidos cem por cento em relação ao CID
(Confidencialidade, Integridade e Disponibilidade), mas na verdade, os fatos
mostram que o pensamento correto é mitigar as possibilidades de que comprometa.
A informação que é um ativo que em cada dado tem seu peso ponderado deve ser
analisada na questão de Segurança Lógica (orientação com base ao ativo citado),
Segurança Física (local físico que a informação é armazenada) e a Segurança
Técnica (normas).
A criptografia é focada na confidencialidade entre os atores do processo, tendo em
mente que, pelo meio de ocultar dados e deixando-o integro e disponível, gera um
processo de certo modo seguro, aplicado na WEB, aplicações que possuem
principalmente comunicação externa, senhas, entre outras aplicações, podemos dar
grandes exemplos como: controle remoto, transferência entre bancos, banco online,
email seguro, analisamos a criptografia como não só mais usado pelos militares,
agentes e diplomatas, agora é considerada como moderna e uma ciência se
pensando em características da matemática.
Na Segurança da Informação existe uma análise muito utilizada nas empresas de
grande porte, a segurança da parte física, ou seja, utilização de perímetros de
proteção de invasão de privacidade de um pen-drive, HD externo, entre outros
equipamentos que podem possuir informações confidenciais, pode utilizar a técnica
chamada criptografia.
Tratando-se da parte lógica (conscientização), quanto à parte técnica, cada empresa
aplica seus métodos, onde cada um cabe escolher a proteção desejada, onde um
gestor de segurança da informação deve exercer sua função de controlar os
processos e cedendo proteção aos ativos da empresa, mas o cenário mostra que na
maioria das situações, ocorre àquela situação de uma empresa ter medo de
mudanças, tratar os processos pelo modo reativo, deixando o planejamento e
análise necessária de lado, esquecendo que a tecnologia evolui beneficamente
como também acompanhando com elementos negativos e o motivo de acontecer
31
isso, está por conta de não dar valor ao custo sobre a segurança, não tendo em
mente que a falta dela pode trazer até a falência.Avaliação do que vale mais, aceitar
riscos e repor por um custo financeiro menor comparado ao mitigar a ameaça são
pensamentos que podemos começar a mudança e diminuir o cenário.
2.3
Primórdios da Segurança da Informação
Na Segurança da Informação, existe uma análise muito utilizada nas empresas de
grande porte, a segurança da parte física, ou seja, utilização de perímetros de
proteção de invasão de privacidade de um pen-drive, HD Externo, entre outras
ferramentas usadas para roubo de informações confidenciais, utilizando a técnica
chamada criptografia, tratando-se da parte lógica, quanto à parte técnica (políticas
de segurança VER) e a parte lógica (conscientização), cada empresa aplicam seus
métodos, onde cabe à empresa escolher a proteção desejada, normalmente ocorre
àquela situação de uma empresa ter medo de mudanças, ter custos sobre a
segurança e avaliação do que vale mais, aceitar riscos e repor por um custo
financeiro menor comparado ao mitigar a ameaça.
2.4
O C.I.D.A.L. e os pilares importantes da Segurança
Confidencialidade: (Proteção contra exposição para pessoas não autorizadas);
As organizações que possuem informações que são importantes, ou seja, patrimônio
maior hoje em dia é a informação da empresa como: marketing, tecnologia da
informação, financeiro, administrativo.
Pensando nisso, podemos citar o uso de confidencialidade, onde tem o ato de tornar
a informação confidencial.
32
Integridade: (Proteção contra alteração ou dano);
Nos dias de hoje, temos ameaças pela internet que ocorrem situações de alterações
na informação, assim podemos lembrar-nos da Integridade, ou seja, uma informação
integra, é uma informação que tem uma segurança contra possível alteração ou até
corrupção.
Disponibilidade: (Proteção contra interferência com os meios de acesso aos
recursos).
A importância da disponibilidade é evidente no dia a dia, onde se uma aplicação ou
site fica fora do ar, a metodologia de criptografar requer requisitos para ficar
disponível, por exemplo, se tivermos a data e hora incorreta por desconfiguração,
alguma espécie de bloqueio, podemos interferir na disponibilidade da informação.
2.5
Sistemas inseguros
Os Sistemas de modo geral, usam protocolos para comunicação, transportando
assim a informação com certo nível de segurança, acompanhando o processo,
assim aplicações que varrem pacotes e com tentativas de interceptar, tendo então a
utilização de chaves criptográficas na transmissão da informação. Temos no
cotidiano, boatos de espionagens, principalmente dos EUA que não exaltam a
privacidade que o Brasil tanto maneja obter, tendo que criar suas próprias
aplicações. Situações que convencem esta análise, podemos citar sobre o voto
eleitoral que usa um sistema de armazenamento de votos registrados, onde
especialistas defendem o voto impresso e dizendo que o sistema atual é inseguro,
citação dita em uma matéria no site www.noticias.terra.com.br no dia 15 de outubro,
criticando o Brasil ser o único país sem a confirmação impressa individual do voto e
defenderam a ideia da existência de um mecanismo que confirme em um papel a
escolha do eleitor no momento da votação, prática já ocorrida na Alemanha, onde foi
considerando inconstitucional e pela impressão, a realização da recontagem dos
33
votos. Outra abordagem muito interessante vem de um professor de ciências da
computação da UnB que garantiu que o software do TSE é comprovado a sua
insegurança, contudo, traz a necessidade de uma confirmação física dos votos,
assim lembramos-nos dos fatores de segura, o que sabemos (registro do voto) e o
que temos (voto impresso) e por último, o que somos, representando pelo título de
eleitor.
Outro elemento que tem um grande peso é o Smartphone, por sua vez, ganhou o
gosto do público pela sua capacidade de ter variedades de aplicações que auxiliam
no nosso cotidiano, como descobrir onde está o seu ônibus, auxiliar de dieta,
tradutor, a cada dia tem novidades e quase sempre, nos surpreende.
A empresa Google com seu sistema operacional mais usado no mercado sofre
algumas críticas em questão de segurança, pois existem celulares que não sofrem
atualizações, tendo que malwares estão sendo desenvolvidos e descobertas de
falhas ficam sendo uma ameaça, por outro lado as empresas que aderem ao
sistema para um smartphone, vendem celulares com melhor capacidade e seu
software de última linha, esquecendo-se dos outros aparelhos que ficaram
ultrapassados, pontos negativos que a FBI e pelo Departamento Nacional de
Segurança norte-americano reconhecem e consideram o Android o sistema mais
inseguros de todos, ao contrário do Windows Phone e a pioneira BlackBerry, são
considerados os mais seguros. Analisando também, que o android é um sistema
open source, ou seja, código aberto.
2.6
Criptografia e Segurança para a Web
Nos dias atuais e que dependemos diretamente do uso da World Wide Web para
nossos negócios e outras necessidades, como as aplicações desktop, a web precisa
de uma segurança ainda mais aprimorada, devido ao alto tráfego de importantes
dados que correm por ali, se tornam um atrativo para maliciosos/hackers
interceptarem algum tipo de informação de valor direta ou indiretamente. Para isso
34
foram criados alguns protocolos de segurança que garantem a autenticidade dos
dados de ambos os comunicadores.
“Praticamente todas as empresas, a maioria dos órgãos do governo e
muitos indivíduos agora possuem sites Web gráficos. Como resultado, as
empresas demonstram grande interesse em utilizar a Web para o comércio
eletrônico. Mas a realidade é que a internet e a Web são extremamente
vulneráveis a riscos de vários tipos. À medida que as empresas percebem
essa realidade, a demanda por serviços Web segura aumenta. (Stallings;
2008, p. 379)”
Segundo Stallings (2008), os servidores da web onde são guardadas as
informações, são os principais alvos de ataques na internet, se os mesmos forem
subvertidos e acessados indevidamente, pois as informações corporativas e
transações comerciais que ali contém, serão gravemente ameaçadas e podem
ocasionar perda de reputação e recursos financeiros para a empresa. Um servidor
Web pode apresentar falhas de segurança em potencial devido a seu software ser
muito complexo e podem estar vulneráveis a uma série de ataques de segurança.
Uma preocupação a mais nesse quesito é o fato de que os usuários dos sistemas
não estão totalmente preparados para lidar e perceber essas falhas apesar de estar
ciente dos riscos que existem. Quando um servidor Web é contaminado, um
atacante pode ser capaz de obter acesso a dados e sistemas que não fazem parte
da web, mas que estão em máquinas conectadas localmente ao servidor
(STALLINGS; 2008, p. 379).
2.6.1 Principais técnicas de segurança para a web
Existem diversas técnicas que podem oferecer segurança na web, citaremos
algumas das melhores como o IPSEC (Internet Protocol Security), pois o mesmo é
transparente para o usuário final e aplicações que oferece uma solução de uso geral
e ainda possui suporte a controle de tráfego de dados passando por uma filtragem
para então ser processado. O protocolo SSL (Secure Socket Layer) dá suporte ao
TCP/IP nas aplicações envolvidas na troca de informações. Existe uma extensão
chamada TLS (Transport Layer Services) que é a versão padrão da internet onde
contém os métodos criptográficos que asseguram a troca segura da informação.
35
Utilizando a criptografia simétrica o SSL/TLS oferece uma maior integridade através
de códigos de autenticação de mensagens e inclui as condições necessárias para
que os usuários envolvidos determinem as formas de criptografia e métodos de
segurança que serão usados.
Um exemplo é o (SET) Security Eletronic Transaction, é o melhor método de
segurança utilizando criptografia para atuar em transações de cartões de crédito.
36
Figura 6 - Protocolo SSL e suas trocas de sessões cliente-Servidor
Fonte: Criptografia e Segurança de Redes: Princípios e práticas
2.6.2 Técnicas recomendadas de segurança para Web
Segundo Stallings (2008) para especificação de cifra, são usados os algoritmos de
criptografia de dados em massa com base no padrão AES, e algoritmo de HASH,
pode ser MD5 ou SHA-1. Assim assegura se uma cifragem segura para trabalhar
com o SSL, que na comunicação estabelece várias sessões entre cliente e servidor,
37
sendo assim como um método necessário, o uso da chave assimétrica, no caso a
AES, além de não prejudicar muito o desempenho das negociações das trocas de
chaves por se tratar de um método de encriptação eficiente e que oferece melhor
desempenho em sistemas.
3 Ataques a Segurança e a Engenharia Social
De acordo com o Livro: Segurança e Espionagem Digital – 2ª Edição, invasões de
celulares, E-mails relacionando roubos, interceptação de mensagens, pescaria de
senhas, grampo de telefonia, ocorrem no cotidiano e todos nós estamos sujeitos por
atos maliciosos. Então podemos já logo pensar em uma urgência de orientações de
segurança. Podemos mitigar a probabilidade de ocorrer a falta de confidencialidade
e às vezes até de disponibilidade da informação, existem ataques como Cavalo de
Tróia, Phising, Backdoor, Hijack, recebidos em spams baixados, downloads em sites
inseguros, em resumo, o meio adquirido é a navegação inadequada. A arte do
ataque se recebe, ao pensar em como iludir o usuário por propagandas como
spams, por exemplo, onde geralmente recebemos um e-mail com anúncios, boletos,
formulário de ativação, várias situações que comprometem e para não ocorrer um
problema grave, podemos exercitar a segurança lógica, que por sua vez, cede seus
métodos de segurança em meio de orientações. Para que não sejamos mais uma
vítima desses hackers que persistem persuadir usuários, devemos entender e
mitigar possíveis situações, assim para ficar mais fácil, pode citar sobre o famoso
hacker chamado Kevin Mitnick, onde foi uma pessoa que usava todas as técnicas de
persuasão para conseguir passar por perímetros de segurança, usando ataques
diretos e ataques indiretos, (falaremos no próximo capítulo), onde se explorava seu
alvo, ganhando confiança e conhecimento do estabelecimento para conseguir o
almejado, ferramentas mais usadas para detetives que exploram para conseguir a
verdade. Uma frase posta resume seu pensamento:
"O Sistema pode ser impenetrável, 100% seguro, porém existem pessoas por trás
desses sistemas, e o fator humano é o elo mais fraco da segurança." Kevin Mitnick.
38
3.1
Ataques diretos
Ataques diretos são aqueles ataques que são focados em um contato pessoal, tendo
uso de telefones, fax ou até pessoalmente, táticas são exploradas sobre perímetros
existentes, pensando sempre em agir com persuasão com as pessoas, sendo assim,
o almejado será conquistado.
Métodos utilizados:
Disfarce: o disfarce é composto por uso de outro nome, troca de aparência, focando
na sua missão que é ocultar sua identidade.
Redes de contato: um engenheiro citado se aproveita de pessoas que tem relação
ao processo, com intuito de extrair grandes informações.
Apelo sentimental: uso de emoção como um ator, convencendo com uma história
para vítima, tende obter êxito no processo.
3.2
Ataques Indiretos
Os hackers estudam vulnerabilidades de sistema de aplicação em busca de algo, o
que leva uma pessoa ter um pensamento de invasão é pelo que o outro usuário
possua interesse próprio da informação, como copiar o jeito criado, fazer melhor,
entre outros pensamentos.
O termo hacker está cada vez se formalizando no seu termo correto, porque as
pessoas conheciam um hacker como aquele que faz algo malicioso, como roubar
informações, invadir sites, fraudar corporações, mas na realidade, o hacker estuda
vulnerabilidades e gostam de conhecer técnicas e programações pró a instituição, já
quando falamos de algo malicioso, o elemento é chamado de invasor, onde o
39
mesmo infiltra em sistemas, causando prejuízos e tendo total acesso a máquina da
vítima, usando também quebras de chaves criptográficas, chamados ckackers.
Os grupos hackers procuram senhas, acesso ao sistema para auto se beneficiar,
formado por alguns curiosos do mundo da segurança digital, chamados script
kiddies (meninos scripts), criam processos que tem como foco, iludir o usuário,
enviando coisas ridículas que ainda mesmo assim tem êxito. Qualquer computador
que esteja com compartilhamento administrativo é alvo fácil para invasão,
geralmente usado no sistema Linux uma aplicação que tem objetivo acessar o micro
que tenha essa vulnerabilidade, já quebras de senhas de roteadores com uso da
criptografia wpa2, são quebráveis pelo Linux Black..., pensando nessas ameaças
digitais, nada melhor que um planejamento de segurança, como troca mensal da
senha de rede, backups para disponibilidade da informação, criptografia das
informações sigilosas.
Ameaças
Consequências
Contramedidas
- Modificação de dados
do usuário.
- Navegador Cavalo de
Integridade
Tróia
- Modificação de
memória
-modificação de
- Perda de informações
- Comprometimento da máquina
- Vulnerabilidade a todas as outras
ameaças de Somas de verificação
- Somas de verificação
(checksums) criptográficas
(checksums) criptográficas
memória em trânsito
- Registro não
autorizado de tráfego
na rede
- Roubo de
informações do
servidor
Confidencialidade
- Roubo de dados do
cliente
- Informações sobre
configurações de rede
- Informação sobre qual
cliente fala com o
servidor
- Perda de informações
- Criptografia, PROXY’ para
- Perda de privacidade
WEB
40
- Encerramento de
threads do usuário
- Inundação da
máquina com
Negação de
Serviço
solicitações falsas
- Preenchimento da
capacidade total do
disco ou da memória
- Interrupção
- Incômodo
- Impede que o usuário realize o
- Difícil de impedir
trabalho
- Isolamento da
máquina por ataques
de DNS
- Simulação de
Autenticação
usuários legítimos
- Falsificação de dados
- Falsificação da identidade do
usuário
- Crença de que as informações são
- Técnicas Criptográficas
válidas
Tabela 4 - Comparação de ameaças na Web.
Dada á quantidade de informações sensíveis e financeiras que são transmitidas
através da Internet a cada segundo, torna-se uma escolha óbvia para os criminosos
virtuais realizarem suas atividades ilegais. No entanto, o alto tráfego e a proliferação
de aplicações web inseguras tornam ataques de hackers baseados na web ainda
mais atraente, e ainda mais rentável. A tentativa de infiltração em sistemas e
computadores com intenções maliciosas não é nenhuma novidade. Desde o início
da história da computação desde os anos 80, entusiastas da computação que eram
qualificados para essa finalidade e usam seus conhecimentos para invadir sistemas
sem intenção de roubo ou apropriação da informação alheia, entretanto a
descoberta de maneiras de burlar esses sistemas aliado despertou a atenção de
personalidades maliciosas, dando início ao surgimento dos Hackers. No entanto,
com o advento de aplicativos baseados na web, a sofisticação dos ataques de
hackers aumentou drasticamente, enquanto a quantidade de habilidade necessária
para suportar e defender se destes ataques tem diminuído proporcionalmente. Os
Hackers hoje em dia podem fazer uso de uma série de ferramentas que ajudam a
automatizar seu ataque. Usando ferramentas de verificação, assim o atacante é
capaz de realizar a primeira etapa de seu ataque, uma espécie de enumeração.
Nesta fase a informação é recolhida sobre o alvo pretendido. Com ferramentas
específicas, o atacante pode utilizar algumas delas que permitem “escanear” vários
computadores, roteadores, servidores e sites de uma só vez à procura de
informações específicas que irão ajudá-los facilmente atacar a máquina. Adicione a
isso a capacidade de o atacante conduzir o processo de enumeração com um
41
exército de computadores zumbis (Computadores com identificação mascarada).
Uma vez identificados os alvos, o atacante continua a analisar e procurar as
vulnerabilidades conhecidas. Dependendo do objetivo geral do atacante, eles
poderiam estar procurando por um número qualquer, uma combinação, ou uma série
de vulnerabilidades possíveis que estejam disponíveis. Podem incluir: “Cross-site
scripting”, Injeção de SQL ou “SQL injection”, Repúdio de serviços ou informações,
Execução de arquivos remotos e muitos outros. Uma vez que as vulnerabilidades
são identificadas, o atacante pode passar para a última fase de seu ataque,
explorando os computadores. Usando as informações encontradas na análise de
vulnerabilidades, o atacante em seguida, tenta explorar os computadores de destino.
Novamente, esse processo pode ser automatizado como os outros, e quando
lançado de um grande exército “botnet” (aplicações que se auto-replicam quando é
instalado no host para cumprir seu objetivo, geralmente são funções maliciosas) o
atacante pode explorar milhares de vítimas com o mínimo esforço da sua parte).
3.3
Soluções e Hipóteses
A necessidade das empresas sobre Segurança da Informação fica escassa e
principalmente nas microempresas, o Brasil em 2012, mais que a metade das
empresas se comprometeu a aumentar o investimento na segurança de dados com
a criptografia e camadas de proteção.
Uma análise interessante de se fazer é que enquanto o Brasil se preocupa com a
infraestrutura de segurança, países desenvolvidos em Tecnologia da informação, se
preocupam com funcionários e ex-funcionários, ou seja, o alvo do Brasil, ainda não
está no detalhe do agente insatisfeito ser uma ameaça e sim no planejamento de
como proteger de maneira que consiga mitigar o problema.
Como solução, propomos a utilização de uma criptografia adequada que é uma das
técnicas de segurança, com foco nas boas práticas, incentivando as empresas a
pensar sobre as quebras de segurança em modo indireto ou direto.
42
4 Desenvolvimento da aplicação de aprendizagem
O desenvolvimento da aplicação foi baseado no ensinamento de como a criptografia
age, como é gerada e importâncias dela.
A aplicação recebe atribuição de funcionalidades da criptografia AES, usando 128
bits na chave criptográfica em arquivos e texto, onde podemos atribuir à chave que o
próprio sistema reconhece ou conseguimos também, criar chaves que serão
validadas pelo usuário, como exemplo, softwares que instalamos em nosso
computador, um Sistema Operacional, sendo mais preciso, no processo solicita uma
chave que possui letras e números a serem digitados, quando digitado
incorretamente, informa que a chave é inválida, senão obtemos acesso, contudo, é
obtido confidencialidade, ou seja, só o dono que possui a chave tem acesso e
legalidade, onde acessar algo com chave de ativação é considerado crackeamento.
Analisamos que o software necessitava de componentes na programação que
formalizaria um produto para determinada aplicação, contendo layout, campos de
texto e de escolhas para realização do objetivo.
No processo, tivemos o uso de uma ferramenta de desenvolvimento Java Netbeans
e a API (Application Programming Interface) chamada Flexiprovider, ambas serão
abordadas nos títulos seguintes.
4.1
Aplicando a ferramenta Netbeans IDE - Linguagem Java
A ferramenta desejada para desenvolvimento foi o Netbeans que possui tecnologias
como Java, HTML5, PHP, C / C++ com possibilidades de criar aplicações desktop,
43
móvel e web com Java, de distribuição gratuita e com uma funcionalidade diferencial
que é gerar código, cedendo uso de geração rápida.
O desenvolvimento pode ser realizado com muita facilidade, onde a ferramenta
possui uma semântica que aponta erros, quando obtido a compilação, podemos
resolver, analisando a mensagem em inglês, fazendo a necessária leitura ou
pesquisa sobre aquela eventualidade de erro. Assim, podemos obter um
desenvolvimento prático e fácil, fornecendo também sua grande funcionalidade de
gerar desenvolvimento de Frame, entre outras partes gráficas para utilização.
O projeto foi criado com pacote de desenvolvimento Java SE (Standart Edition),
versão padrão voltada para criação de Applets do browser e também aplicações
direcionados para usuário desktop, podendo ser executado em Windows , Mac OS,
Linux, Solaris, etc.
Figura 7 - Netbeans: Início da criação do projeto em JAVA
44
A aplicação recebeu elementos como: JTextField, Jbuttom, JProgressBar, JLabel,
JPanel,.., cada uma atribuída uma variável especifica, sendo ajustadas de acordo
com o layout, em seguida, trabalhamos em cima das instruções necessárias para o
programa receber, a partir daí, começamos a analisar os testes e adequações de
código.
4.2
Flexiprovider – Arquitetura da Criptografia Java
Flexiprovider é uma ferramenta criada com foco em criptografia muito bem
explicativas, com algoritmos fáceis para utilização, cedendo a praticidade e até
facilitando para quem não conhece bem o que a criptografia pode nos fornecer essa
poderosa ferramenta foi desenvolvida pelo grupo pesquisa da universidade
technische darmstadt, localizada em darmstadt, na alemanha.
no próprio site, existem exemplos de algoritmos de criptografia que auxiliaram muito
no projeto, contém algoritmos de chave pública como exemplo a cifra rsa – chave
assimétrica (desenvolvido por ron rivest, adi shamir e len adleman), aes - chave
simétrica, curva elíptica (ecies) e também hash’s como md5, por último, assinaturas
digitais.
4.3
Descrições da aplicação desenvolvida
A Aplicação de Aprendizagem em Criptografia, ela foi desenvolvida para demonstrar
a utilização da criptografia, como ela age na informação, onde também, o layout foi
criado com intuito de fornecer praticidade no uso.
Os processos são bem simples, encriptar, decriptar e obter texto cifrado, segue
abaixo, os processos que a aplicação pode fornecer para o aprendizado de
criptografia.
45
4.4
Processo de encriptar
O processo de encriptar nos fornece um procedimento bem simples, onde o foco é
ocultar a informação, por meio de criptografia AES, onde obtemos a geração de
chave que faz ocultação de dados e nos fornece confidencialidade para algum
processo, sendo que apenas o programa reconhece a chave para acesso, sendo
também, que é possível obtermos o processo de gerarmos uma chave (senha) e
tentarmos acesso no processo de decriptar.
Figura 8 - Tela inicial da Aplicação de Aprendizagem
Logo abaixo, temos a janela que cede a abertura do arquivo testes.txt, após ter
clicado em arquivo no painel Encriptar:
46
Figura 9 - Tela demonstrando a abertura de um arquivo para criptografar
Logo abaixo, temos a janela informa o arquivo e seu diretório:
Figura 10 - Tela demonstrando o arquivo com o diretório
Logo abaixo, temos a janela que cede salvamento do arquivo “ArquivoCifrado.txt”:
47
Figura 11 - Tela demonstrando o arquivo que será salvo e para criptografar
Logo abaixo, temos a janela que informa o arquivo com seu diretório:
Figura 12 - Tela demonstrando diretórios para processo de criptografar
48
Logo abaixo temos a janela que confirma o processo de criptografia AES:
Figura 13 - Tela demonstrando o processo realizado de criptografia
Após obter o processo de criptografia, podemos localizar o arquivo e tentando obter
a leitura, contém dados incompreensíveis, ou seja, a informação foi ocultada.
4.5
Processo de decriptar
Depois de obtermos um arquivo salvo com a informação ocultada, podemos fazer o
processo de torná-la original pelo processo de decriptar. Para isso, podemos usar o
painel Decriptar, segue abaixo:
49
Janela Inicial Da Aplicação
Figura 14 - Tela demonstrando a abertura de um arquivo para descriptografar
Logo abaixo, temos a janela que cede a abertura do arquivo ArquivoCifrado.txt, após
ter clicado em arquivo no painel Decriptar:
Figura 15 - Tela demonstrando a abertura de um arquivo para descriptografar
50
Logo abaixo, temos a janela informa o arquivo e seu diretório:
Figura 16 - Tela demonstrando o arquivo com o diretório em descriptografar
51
Logo abaixo, temos a janela que cede salvamento do arquivo “ArquivoOriginal.txt”:
Figura 17 - Tela demonstrando o arquivo que será salvo e para descriptografar
Logo abaixo, temos a janela informa os arquivos e seus diretórios:
Figura 18 - Tela demonstrando diretórios para processo de descriptografar
52
Logo abaixo temos a janela que confirma o processo de descriptografia:
Figura 19 - Tela demonstrando o processo realizado de descriptografia
4.6
Processo de criptografia em texto
Depois de entendermos o processo gerado pela encriptação, temos outro painel na
aplicação chamada Criptografia AES em Texto, onde podemos digitar uma
informação na caixa de texto e clicarmos em aplicar, segue abaixo na ilustração:
53
Figura 20 – Tela de digitação de dados em criptografia AES em texto
Resultado após ter clicado em aplicar:
Figura 21 - Tela de criptografia AES em texto que foi digitado
54
5 Conclusão
No cotidiano, é demonstrada que cada vez mais está em evidência a necessidade
de investimentos em segurança da informação, principalmente nas pequenas
empresas, a disciplina Segurança da Informação pode ser exercida e compreendida
por pesquisas na WEB e podemos sempre nos manter atualizados, pesquisando
noticias, sobre novas ameaças, obter segurança para si e levarmos para a vida,
como também, podemos compartilhar nosso conhecimento em pró a nossa
empresa, onde empresas como demonstramos no projeto, estão muito das vezes,
expostas por novas ameaças ou até totalmente exposta, por isso podemos criar
novas mentes protetoras, incentivando alunos, incentivando empresas que a
Segurança é essencial, se assegurando que terá surpresas nos processos
corporativos.
O Brasil, enfim, está se protagonizando nessa busca de segurança, após situações
de espionagens
, onde países foram relacionados, citadas até de espionar a
décadas, quebrando os pilares da Segurança (mais afetadas são confidencialidade e
integridade).
A criptografia antigamente foi uma das únicas tecnologias para proteger a
informação e hoje ela não pode ser ignorada, principalmente em questão WEB, onde
será tendência pela tecnologia Cloud Computer, enfatizando a concluirmos que a
segurança não é um produto e sim um processo rotineiro que devemos incentivar
cada vez mais as empresas.
55
REFERÊNCIAS BIBLIOGRÀFICAS
Adobe Systems. (15 de Novembro de 2012). Acesso em 15 de Novembro de 2012,
disponível em Adobe: http://www.portogente.com.br/texto.php?cod=73844
ALVES, C. B. (s.d.). Segurança da informação vs. Engenharia Social - Como se
proteger para não ser mais uma vítima. Acesso em: 30 de Novembro de 2013,
disponível em: Monografias Brasil Escola:
http://monografias.brasilescola.com/computacao/seguranca-informacao-vsengenharia-social-como-se-proteger.htm
BURNETT, S., & PAINE, S. (2002). Criptografia e Segurança O guia Oficial RSA. Rio
de Janeiro, RJ, Brasil: Elsevier Ltda.
CARMONA, T. (2007). Segurança e Espionagem Digital (2ª ed.). São Paulo: Digerati
Books.
Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil CERT.BR. (03 de Junho de 2012). Cartilha de Segurança para internet. Acesso em:
15 de Novembro de 2013, disponível em: CERT - Criptografia:
http://cartilha.cert.br/criptografia/
DODT, C. (27 de Novembroi de 2013). Segurança da Informação: PerspSegurança
da Informação: Da Utopia a criação de uma cultura de proteção aos dados
corporativos. Acesso em: 21 de Novembro de 2013, disponível em: GRC Governança, Riscos e Conformidade: http://claudiododt.com/2012/06/26/segurancada-informacao-da-utopia-a-criacao-de-uma-cultura-de-protecao-aos-dadoscorporativos
Eletronic Bus. (s.d.). Advanced Encryption Standard – AES Encryption Algorithm.
Acesso em: 17 de Setembro de 2013, disponível em: Eletronicbus.com:
http://electronicsbus.com/advanced-encryption-standard-aes-encryption-algorithm/
56
FILIPE. (10 de Junho de 2008). O que é a cifra de césar ou cifra de troca? Acesso
em: 21 de Agosto de 2013, disponível em: Jornal Livre:
http://www.jornallivre.com.br/13847/o-que-e-a-cifra-de-cesar-ou-cifra-de-troca.html
FlexiProvider. (26 de Junho de 2012). TECHNISCHIE UNIVERSITÄT DARMSTADT.
Acesso em: 15 de Novembro de 2013, disponível em: FlexiProvider:
http://translate.google.com.br/translate?sl=en&tl=pt&js=n&prev=_t&hl=ptBR&ie=UTF-8&u=http%3A%2F%2Fwww.flexiprovider.de%2F
Global Information Assurance Certification - GIAC, Eric Conrad. (s.d.). Data
Encryption Standard - DES. Acesso em: 25 de Agosto de 2013, disponível em:
Documento do GIAC: http://www.giac.org/cissp-papers/62.pdf
Globo. (02 de Abril de 2013). Lei que torna crime invadir celulares, tablets e
computadores entra em vigor - Lei Carolina Dieckmann. Acesso em: 22 de 11 de
2013, disponível em: Globo - G1: http://g1.globo.com/jornalnacional/noticia/2013/04/lei-que-torna-crime-invadir-celulares-tablets-ecomputadores-entra-em-vigor.html
Globo Jornalismo. (26 de Abril de 2012). Nissan. Acesso em: 2012 de Abril de 2012,
disponível em: Globo - g1: http://g1.globo.com/tecnologia/noticia/2012/04/nissanadmite-invasao-e-roubo-de-dados-em-sua-rede-computadores.html
Janeiro, T. C.-U. (s.d.). Assinatura Digital. Acesso em: 02 de Agosto de 2013,
disponível em: GTA.UFRJ: http://www.gta.ufrj.br/grad/07_1/ass-dig/Bibliografia.html
LAZOTI, R. (03 de Outubro de 2008). Como Utilizar Criptografia em Java. (R. Lazoti,
Editor) Acesso em: 20 de Novembro de 2013, disponível em:
http://rodrigolazoti.com.br/2008/10/03/como-utilizar-criptografia-em-java
midianews.com. (09 de Março de 2012). Brasil/Tecnologia - Prejuízo de 1,8 Bilhões.
Acesso em: 01 de Outubro de 2013, disponível em: Midia News - Credibilidade em
tempo real: http://www.invasao.com.br/2012/03/12/ataques-de-hackers-causaramprejuizo-de-us-1-bilhao-ao-brasil-em-2011
57
Notícias Terra.com. (15 de Outubro de 2013). Especialistas defendem voto impresso
e dizem que sistema atual é inseguro. Acesso em: 18 de Novembro de 2013,
disponível em: Terra - Política: http://noticias.terra.com.br/brasil/politica/especialistasdefendem-voto-impresso-e-dizem-que-sistema-atual-einseguro,13569348118b1410VgnCLD2000000dc6eb0aRCRD.html
OLIVEIRA, R. R. (2012). Artigo, revista, segurança digital. Acesso em: 20 de
Novembro de 2013, disponível em: Ronielton.eti.br:
http://www.ronielton.eti.br/publicacoes/artigorevistasegurancadigital2012.pdf
PRL - Software. (s.d.). Data Encryption Standard. Acesso em: 02 de Setembro de
2013, disponível em: Prlsoftware.com: http://www.prlsoftware.com/desencryption.aspx
FERNANDO, R. - Imasters.com. (05 de Junho de 2007). Criptografia de Dados –
Parte 1 (Origem e evolução). Acesso em: 05 de Agosto de 2013, disponível em:
iMasters.com: http://imasters.com.br/artigo/6360/seguranca/criptografia-de-dadosparte-01-origem-e-evolucao/
SANTOS, R. (03 de Outubro de 2011). Electronware. Acesso em: 20 de Novembro
de 2013, disponível em: Electronware - Criptografia:
http://electronware.blogspot.com.br/2011/10/criptografia.html
STALLINGS, W. (2008). Criptografia e Segurança de Redes - Princípios e práticas.
São Paulo, SP, Brasil: Pearson Prentice Hall.
Tek.sapo.com. (28 de Agosto de 2013). Android considerado o sistema operativo
mais inseguro pelo FBI. Acesso em: 15 de Outubro de 2013, disponível em: Tek
Mobile - Android:
http://tek.sapo.pt/tek_mobile/android/android_considerado_o_sistema_operativo_mai
s_1334790.html
Ti inside Redação. (11 de Novembro de 2011). Investimentos em segurança da
informação devem crescer em 2012. Acesso em: 25 de 11 de 2013, disponível em:
TI Inside Online Segurança: www.tiinside.com.br/30/11/2011/investimentos-em-
58
seguranca-da-informacao-devem-crescer-em-2012-indicapesquisa/sg/252033/news.aspx
University of Illinois at Chicago. (s.d.). Assimetric or Public Key Encription. Acesso
em: 04 de Agosto de 2013, disponível em: Academic Computing and
Communications Center: http://www.gta.ufrj.br/grad/07_1/ass-dig/Bibliografia.html
YOSHIDA, E. Y. (2001). Segurança, Criptografia, Privacidade e Anonimato - Fase 2.
Acesso em: 20 de Novembro de 2013, disponível em: Instituto de Matemática e
Estatística: http://www.ime.usp.br/~is/ddt/mac339/projetos/2001/demais/elias
59
FOLHA DE APROVAÇÃO DO TCC
SIRALBERTO DE SOUZA LEITÂO DE ALMEIDA
BRUNO MICHEL DA CONCEIÇÂO OLIVEIRA
CRIPTOGRAFIA: APRENDIZAGEM DA CRIPTOGRAFIA NO ÂMBITO
EMPRESARIAL
Trabalho de Conclusão de Curso, apresentado a Universidade Nove de Julho como
requisito parcial para obtenção do grau de Bacharel em Ciência da Computação, sob
a orientação do Prof. Me Luciano Gavinho.
Data: ____/____/____
____________________________________________
Assinatura do professor orientador
OBSERVAÇÕES: _____________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________
___________________________________________________________________