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: _____________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________ ___________________________________________________________________