A ideia principal por trás da criptografia está em transformar uma informação original em outra não inteligível num processo que pode ser revertido, ou seja, a informação poderá voltar à sua forma inicial desde que combinada com sua chave. Sem a chave, a decodificação não é possível, o que significa restrição de acesso, característica muito interessante para sistemas de segurança de informação.
Para fazer a encriptação (ou desencriptação) de informações, utiliza-se um algoritmo. Um algoritmo é um conjunto de procedimentos pré-definidos que fará a manipulação dos dados. Esses algoritmos existem aos milhares. Os mais simples são aqueles que tentam camuflar a informação substituindo letras ou palavras, rotacionando bits, ou ainda, embaralhando trechos de mensagens. Já os mais complexos, e também mais seguros, usarão esses e outros métodos combinados várias e várias vezes.
Os algoritmos recebem como parâmetro, além dos dados a serem escondidos, a chave, definida no momento da codificação, e que, como já mencionado, será de uso obrigatório na decodificação. Em um algoritmo bem projetado, a cifragem de uma mesma mensagem com uma chave diferente deverá produzir uma mensagem cifrada diferente.
Não há uma fórmula matemática que diga se um determinado algoritmo criptográfico é seguro ou não. O primeiro passo para que ele possa ser considerado seguro é que ele seja público. Embora isso possa parecer contraditório a princípio, o fato do algoritmo não ser sigiloso implica que sua segurança poderá ser colocada à prova por qualquer um e, resistindo às tentativas de decodificação, ele comprava sua solidez.
Repare que o algoritmo em si não é importante mas sim o modo como ele usa a chave. Isto é, mesmo que se tenha em mãos o algoritmo completo e um texto cifrado, não será possível fazer a decodificação, porque nessa operação ainda estará faltando um parâmetro, que é a chave. No entanto, se, mesmo sem a chave, alguém conseguir decifrar o texto, diz-se que o algoritmo foi solucionado ou quebrado e, a partir desse momento, ele não é mais considerado seguro.
Na teoria, todo algoritmo pode ser quebrado; na prática, essa é uma tarefa que pode durar, na melhor das hipóteses, vários anos, mesmo com o auxílio de um supercomputador.
Ainda com relação à segurança oferecida pelo sistema criptográfico, há outras questões relevantes. Por exemplo, ele deve ser capaz de impedir que um intruso faça a repetição de mensagens válidas já enviadas, ou seja, uma mensagem deve poder ser confirmada como de envio recente. Além disso, o sistema criptográfico deve impedir a transmissão de mensagens inválidas (textos criados aleatoriamente, lixo) que possam ser consideradas válidas, o que pode ser feito por meio da inclusão de alguma redundância na mensagem criptografada.
O tamanho das chaves é outro fator preponderante. A explicação é simples: maior número de caracteres usados, maior a quantidade possível de chaves e mais trabalho para quem tenta violar uma mensagem cifrada.
Só por curiosidade, um sistema de segurança dito perfeito seria aquele em que a chave tivesse mais caracteres do que o texto legível e, além disso, todas as chaves pudessem ocorrer com a mesma probabilidade. Assim, ao se tentar todas as combinações possíveis de chave para um texto cifrado, obteríamos não só o texto decifrado, mas também todos os outros textos possíveis daquele tamanho, e isso torna impossível saber qual é a informação correta. Isso é bom na teoria, mas ruim na prática, pois o tamanho da mensagem ficaria limitado ao tamanho da chave, que provavelmente nem ao menos poderia ser memorizada.
De uma forma ou de outra, a criptografia é um dos mais poderosos aliados da segurança da informação, desde que acompanhada de uma política de uso e também de um gerenciamento de chaves adequado, até para evitar sua utilização incorreta ou inapropriada.
Também é importante fazer um levantamento do impacto da sua utilização em conjunto com controles responsáveis pela inspeção de conteúdos, como é o caso dos antivírus. E, por fim, deve-se escolher um sistema de criptografia que esteja de acordo com o nível de segurança que a organização exige e que seja comprovadamente seguro.
TIPOS DE CRIPTOGRAFIA
Quando se utiliza a mesma chave para cifrar e decifrar uma informação diz-se que a criptografia é simétrica mas, se é utilizado um par de chaves, então a criptografia é assimétrica. Nessa última, uma das chaves é sempre pública e a outra privada. E esse sistema de chaves públicas e privadas é a base do funcionamento das assinaturas e certificados digitais.
Com a chave pública, pode-se cifrar dados, que só poderão ser lidos pelo possuidor da chave privada. A chave pública recebe esse nome por ser de livre distribuição e, portanto, dispensa um canal de transmissão seguro.
Com a chave privada, pode-se cifrar dados, que poderão ser decifrados com o uso da chave pública, e, assim, não há dúvidas sobre a origem dos dados, uma vez que a chave privada, pelo menos em teoria, pertence a um único indivíduo.
Enquanto a criptografia simétrica tem a vantagem de exigir menos esforço computacional, a assimétrica garante maior segurança na transmissão de dados.
GERENCIAMENTO DE CHAVES CRIPTOGRÁFICAS
De nada adianta uma organização utilizar criptografia em seus processos de segurança se as chaves criptográficas estiverem ao alcance de qualquer um, isto é, não estiverem sendo adequadamente protegidas.
Por isso, os equipamentos responsáveis pela geração, armazenamento, distribuição, ativação, recuperação, alteração, desativação e destruição das chaves devem possuir uma proteção física apropriada. Já a proteção lógica, pode ser feita inclusive com o uso de criptografia.
Ao que se refere somente a chaves públicas, sempre existe o risco de alguém tentar forjar uma assinatura digital pela substituição da chave pública do usuário. Esse tipo de transtorno pode ser evitado por meio de certificados de chaves públicas, que são emitidos por uma autoridade certificadora. Logo, os sistemas de informação responsáveis pela obtenção desses certificados também devem estar devidamente protegidos.
MACHADO, Marcel Jacques. Segurança da Informação: uma Visão Geral sobre as Soluções Adotadas em Ambientes Organizacionais. Curitiba: UFPR, 2012. Trabalho de Graduação – Bacharelado em Ciência da Computação, Universidade Federal do Paraná, Curitiba, 2012.